diff --git a/.github/workflows/format.yml b/.github/workflows/format.yml index 40cb0bea..7b71d207 100644 --- a/.github/workflows/format.yml +++ b/.github/workflows/format.yml @@ -8,7 +8,7 @@ jobs: steps: - uses: actions/checkout@v2 - - uses: DoozyX/clang-format-lint-action@v0.12 + - uses: DoozyX/clang-format-lint-action@v0.18.2 with: source: "./src" exclude: "./src/libs" diff --git a/README.md b/README.md index 131f05bc..c0cd98fa 100644 --- a/README.md +++ b/README.md @@ -26,6 +26,9 @@ There are many examples in the library that you demonstrate how to use any of th Find Inkplate documentation [here](https://inkplate.readthedocs.io/en/latest/arduino.html). +### Soldered Image Converter + +In order to display an Image on Inkplate, you can use the Soldered Image Converter to convert from .png, .jpg, .bmp to .h files which can be easily added to your project. Download the latest release [here](https://github.com/SolderedElectronics/Soldered-Image-Converter/releases). ### Using Inkplate with another microcontroller - Peripheral mode diff --git a/examples/Inkplate10/Advanced/DeepSleep/Inkplate10_Simple_Deep_Sleep/Inkplate10_Simple_Deep_Sleep.ino b/examples/Inkplate10/Advanced/DeepSleep/Inkplate10_Simple_Deep_Sleep/Inkplate10_Simple_Deep_Sleep.ino index 4c59992d..00cfdccd 100644 --- a/examples/Inkplate10/Advanced/DeepSleep/Inkplate10_Simple_Deep_Sleep/Inkplate10_Simple_Deep_Sleep.ino +++ b/examples/Inkplate10/Advanced/DeepSleep/Inkplate10_Simple_Deep_Sleep/Inkplate10_Simple_Deep_Sleep.ino @@ -15,6 +15,10 @@ Want to learn more about Inkplate? Visit www.inkplate.io Looking to get support? Write on our forums: https://forum.soldered.com/ 11 February 2021 by Soldered + + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases */ // Next 3 lines are a precaution, you can ignore those, and the example would also work without them diff --git a/examples/Inkplate10/Advanced/Other/Inkplate10_Read_Battery_Voltage/Inkplate10_Read_Battery_Voltage.ino b/examples/Inkplate10/Advanced/Other/Inkplate10_Read_Battery_Voltage/Inkplate10_Read_Battery_Voltage.ino index de272870..40beb7bc 100644 --- a/examples/Inkplate10/Advanced/Other/Inkplate10_Read_Battery_Voltage/Inkplate10_Read_Battery_Voltage.ino +++ b/examples/Inkplate10/Advanced/Other/Inkplate10_Read_Battery_Voltage/Inkplate10_Read_Battery_Voltage.ino @@ -10,6 +10,10 @@ Want to learn more about Inkplate? Visit www.inkplate.io Looking to get support? Write on our forums: https://forum.soldered.com/ 23 January 2023 by Soldered + + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases */ // Next 3 lines are a precaution, you can ignore those, and the example would also work without them diff --git a/examples/Inkplate10/Advanced/Other/Inkplate10_Read_Temperature/Inkplate10_Read_Temperature.ino b/examples/Inkplate10/Advanced/Other/Inkplate10_Read_Temperature/Inkplate10_Read_Temperature.ino index fd004622..1c327640 100644 --- a/examples/Inkplate10/Advanced/Other/Inkplate10_Read_Temperature/Inkplate10_Read_Temperature.ino +++ b/examples/Inkplate10/Advanced/Other/Inkplate10_Read_Temperature/Inkplate10_Read_Temperature.ino @@ -11,6 +11,10 @@ Want to learn more about Inkplate? Visit www.inkplate.io Looking to get support? Write on our forums: https://forum.soldered.com/ 23 January 2023 by Soldered + + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases */ // Next 3 lines are a precaution, you can ignore those, and the example would also work without them diff --git a/examples/Inkplate10/Basic/Inkplate10_Black_And_White/Inkplate10_Black_And_White.ino b/examples/Inkplate10/Basic/Inkplate10_Black_And_White/Inkplate10_Black_And_White.ino index 1928bf85..f9f2b50d 100644 --- a/examples/Inkplate10/Basic/Inkplate10_Black_And_White/Inkplate10_Black_And_White.ino +++ b/examples/Inkplate10/Basic/Inkplate10_Black_And_White/Inkplate10_Black_And_White.ino @@ -12,6 +12,10 @@ Want to learn more about Inkplate? Visit www.inkplate.io Looking to get support? Write on our forums: https://forum.soldered.com/ 1 December 2022 by Soldered + + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases */ // Next 3 lines are a precaution, you can ignore those, and the example would also work without them @@ -28,230 +32,9 @@ Inkplate display(INKPLATE_1BIT); // Create object on Inkplate library and set li // recommended // Want to refresh faster? Use partial update! Find example in "3-Inkplate-basic_partial_update" -// Array that holds data for bitmap image of 1100x221 pixels. You can convert your own image using Inkplate Image Converter. -const uint8_t logo[] PROGMEM = { -0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0, -0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0, -0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0, -0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0, -0x1,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0, -0x1,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0, -0x1,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0, -0x1,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0, -0x1,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0, -0x1,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0, -0x1,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0, -0x1,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0, -0x1,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x1,0xc0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0, -0x1,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x3,0xf0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0, -0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0xf,0xfc,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0, -0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x1f,0xfe,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0, -0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x3f,0xff,0x80,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0, -0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xe0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0, -0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0, -0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x1,0xff,0xff,0xfc,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0, -0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0, -0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x3,0xff,0xff,0xff,0xc0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0, -0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x7,0xff,0xff,0xff,0xe0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0, -0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0, -0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0xf,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x3f,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0x80,0xf,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x81,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0, -0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0xff,0xff,0xfe,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xe0,0x0, -0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0xf,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x1f,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0x80,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xf0,0x0, -0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x3,0xff,0xf8,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xf0,0x0, -0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x7f,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0xff,0xf0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0x0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xf8,0x0, -0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x3f,0xf0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0x80,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xf8,0x0, -0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x1f,0xe0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0x80,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xfc,0x0, -0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x7,0xc0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0x80,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xe0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xfc,0x0, -0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x1,0x80,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xc0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xe0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xfe,0x0, -0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xc0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xe0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xfe,0x0, -0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xe0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xe0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xfe,0x0, -0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xe0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xf8,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xe0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0x0, -0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xe0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xf8,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xe0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0x0, -0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xf0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xfc,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xe0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0x0, -0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xf0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xfc,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xe0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x80, -0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xf0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xfc,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xe0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x80, -0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xf0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xfc,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xe0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0x80, -0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf8,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xfe,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xe0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xc0, -0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf8,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xfe,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xe0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xc0, -0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf8,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xfe,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xe0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xc0, -0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xf8,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfe,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xe0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xc0, -0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xfc,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfe,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xe0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xc0, -0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xfc,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xe0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xe0, -0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xfc,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xe0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xe0, -0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xfc,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xe0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xe0, -0x1,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xfc,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xe0, -0x1,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xfc,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xe0, -0x1,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xfc,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xe0, -0x1,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xfe,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xe0, -0x1,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xfe,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0x80,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0, -0x1,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfe,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0x80,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0x80,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0, -0x1,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfe,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0x80,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0x80,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0, -0x1,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfe,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0x80,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0x80,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0, -0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfe,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0x80,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0, -0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfe,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0x80,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0, -0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfe,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0x80,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0, -0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfe,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0x80,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0, -0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfe,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0x80,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0, -0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfe,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0x80,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0, -0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfe,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0x80,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0, -0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfe,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0x80,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0, -0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfe,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0x80,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0, -0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfe,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0x80,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0, -0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfe,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0x80,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0, -0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfe,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0x80,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0, -0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfe,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0x80,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0, -0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfe,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0x80,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0, -0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfe,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0x80,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0, -0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfe,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0x80,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0, -0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfe,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0x80,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0, -0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xfe,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0x80,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xe0, -0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xfc,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xe0, -0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xfc,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xe0, -0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xfc,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xe0, -0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xfc,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xe0, -0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xfc,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xe0, -0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xfc,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xe0, -0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xfc,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xc0, -0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xf0,0x0,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xf8,0x0,0x7,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfe,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xc0, -0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xf0,0x0,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf8,0x0,0x7,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xfe,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xc0, -0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xf0,0x0,0x7f,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf8,0x0,0x7,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xfe,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xc0, -0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xf8,0x0,0x7f,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf8,0x0,0x7,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xfe,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xc0, -0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xf8,0x0,0x7f,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xf8,0x0,0x7,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xfc,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0x80, -0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xf8,0x0,0x7f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xf0,0x0,0x7,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xfc,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0x80, -0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf8,0x0,0x3f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xf0,0x0,0x7,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xfc,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x80, -0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf8,0x0,0x3f,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xf0,0x0,0x7,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xfc,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x7f,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x80, -0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xf8,0x0,0x3f,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xe0,0x0,0x7,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xf8,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x7f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xf8,0x0,0x1f,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xe0,0x0,0x7,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xf8,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x3f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xf8,0x0,0x1f,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xe0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xf8,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x3f,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x70,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xf8,0x0,0x1f,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xc0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x1f,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xfe,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf8,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xf8,0x0,0xf,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xc0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0xf,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xfe,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xfe,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xf8,0x0,0xf,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xc0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0xf,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xfc,0x0, -0x0,0x0,0x7f,0xf8,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0x80,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x7,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xfc,0x0, -0x0,0x3,0xff,0xff,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xc0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x7,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xfc,0x0, -0x0,0xf,0xff,0xff,0xc0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xf0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x7,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xf8,0x0, -0x0,0x3f,0xff,0xff,0xe0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xfc,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xf0,0x0,0x3,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xf8,0x0, -0x0,0x7f,0xff,0xff,0xf8,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xf0,0x0,0x3,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xf0,0x0, -0x0,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xc0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xe0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xe0,0x0,0x1,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xe0,0x0, -0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0x80,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xfc,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xe0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0xf,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x3,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xe0,0x0, -0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0x80,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x7f,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0x80,0xf,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0, -0x7,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xf0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0, -0xf,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0xff,0xff,0xff,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xf0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0, -0x1f,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x3f,0xff,0xfe,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xf8,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0, -0x1f,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0xf,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xf8,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0, -0x3f,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x7,0xff,0xf8,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xfc,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0, -0x3f,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x1,0xff,0xf0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xfc,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0, -0x7f,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x7f,0xe0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xfe,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0, -0x7f,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x3f,0x80,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0, -0x7f,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0xe,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0, -0x7f,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0x80,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0, -0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x80,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0, -0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0, -0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0, -0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xe0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0, -0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xe0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0, -0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xf0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0, -0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xf8,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0, -0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xf8,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0, -0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xfc,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0, -0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xfc,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0, -0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xfe,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0, -0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xfe,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0, -0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0, -0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0, -0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0, -0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -}; + +#include "logo.h" + int logo_w = 1100; int logo_h = 221; diff --git a/examples/Inkplate10/Basic/Inkplate10_Black_And_White/logo.h b/examples/Inkplate10/Basic/Inkplate10_Black_And_White/logo.h new file mode 100644 index 00000000..00bc0286 --- /dev/null +++ b/examples/Inkplate10/Basic/Inkplate10_Black_And_White/logo.h @@ -0,0 +1,229 @@ +/* + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases +*/ + +const uint8_t logo[] PROGMEM = { +0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0, +0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0, +0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0, +0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0, +0x1,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0, +0x1,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0, +0x1,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0, +0x1,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0, +0x1,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0, +0x1,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0, +0x1,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0, +0x1,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0, +0x1,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x1,0xc0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0, +0x1,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x3,0xf0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0, +0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0xf,0xfc,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0, +0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x1f,0xfe,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0, +0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x3f,0xff,0x80,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0, +0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xe0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0, +0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0, +0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x1,0xff,0xff,0xfc,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0, +0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0, +0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x3,0xff,0xff,0xff,0xc0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0, +0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x7,0xff,0xff,0xff,0xe0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0, +0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0, +0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0xf,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x3f,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0x80,0xf,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x81,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0, +0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0xff,0xff,0xfe,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xe0,0x0, +0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0xf,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x1f,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0x80,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xf0,0x0, +0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x3,0xff,0xf8,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xf0,0x0, +0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x7f,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0xff,0xf0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0x0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xf8,0x0, +0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x3f,0xf0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0x80,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xf8,0x0, +0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x1f,0xe0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0x80,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xfc,0x0, +0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x7,0xc0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0x80,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xe0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xfc,0x0, +0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x1,0x80,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xc0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xe0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xfe,0x0, +0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xc0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xe0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xfe,0x0, +0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xe0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xe0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xfe,0x0, +0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xe0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xf8,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xe0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0x0, +0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xe0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xf8,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xe0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0x0, +0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xf0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xfc,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xe0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0x0, +0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xf0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xfc,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xe0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x80, +0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xf0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xfc,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xe0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x80, +0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xf0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xfc,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xe0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0x80, +0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf8,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xfe,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xe0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xc0, +0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf8,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xfe,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xe0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xc0, +0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf8,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xfe,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xe0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xc0, +0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xf8,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfe,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xe0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xc0, +0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xfc,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfe,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xe0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xc0, +0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xfc,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xe0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xe0, +0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xfc,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xe0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xe0, +0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xfc,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xe0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xe0, +0x1,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xfc,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xe0, +0x1,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xfc,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xe0, +0x1,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xfc,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xe0, +0x1,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xfe,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xe0, +0x1,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xfe,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0x80,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0, +0x1,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfe,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0x80,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0x80,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0, +0x1,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfe,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0x80,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0x80,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0, +0x1,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfe,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0x80,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0x80,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0, +0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfe,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0x80,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0, +0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfe,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0x80,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0, +0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfe,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0x80,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0, +0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfe,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0x80,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0, +0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfe,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0x80,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0, +0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfe,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0x80,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0, +0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfe,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0x80,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0, +0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfe,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0x80,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0, +0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfe,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0x80,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0, +0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfe,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0x80,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0, +0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfe,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0x80,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0, +0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfe,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0x80,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0, +0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfe,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0x80,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0, +0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfe,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0x80,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0, +0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfe,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0x80,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0, +0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfe,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0x80,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0, +0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfe,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0x80,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0, +0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xfe,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0x80,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xe0, +0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xfc,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xe0, +0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xfc,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xe0, +0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xfc,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xe0, +0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xfc,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xe0, +0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xfc,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xe0, +0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xfc,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xe0, +0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xfc,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xc0, +0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xf0,0x0,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xf8,0x0,0x7,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfe,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xc0, +0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xf0,0x0,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf8,0x0,0x7,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xfe,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xc0, +0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xf0,0x0,0x7f,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf8,0x0,0x7,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xfe,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xc0, +0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xf8,0x0,0x7f,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf8,0x0,0x7,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xfe,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xc0, +0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xf8,0x0,0x7f,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xf8,0x0,0x7,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xfc,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0x80, +0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xf8,0x0,0x7f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xf0,0x0,0x7,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xfc,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0x80, +0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf8,0x0,0x3f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xf0,0x0,0x7,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xfc,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x80, +0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf8,0x0,0x3f,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xf0,0x0,0x7,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xfc,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x7f,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x80, +0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xf8,0x0,0x3f,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xe0,0x0,0x7,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xf8,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x7f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xf8,0x0,0x1f,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xe0,0x0,0x7,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xf8,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x3f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xf8,0x0,0x1f,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xe0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xf8,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x3f,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x70,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xf8,0x0,0x1f,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xc0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x1f,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xfe,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf8,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xf8,0x0,0xf,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xc0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0xf,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xfe,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xfe,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xf8,0x0,0xf,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xc0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0xf,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xfc,0x0, +0x0,0x0,0x7f,0xf8,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0x80,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x7,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xfc,0x0, +0x0,0x3,0xff,0xff,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xc0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x7,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xfc,0x0, +0x0,0xf,0xff,0xff,0xc0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xf0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x7,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xf8,0x0, +0x0,0x3f,0xff,0xff,0xe0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xfc,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xf0,0x0,0x3,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xf8,0x0, +0x0,0x7f,0xff,0xff,0xf8,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xf0,0x0,0x3,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xf0,0x0, +0x0,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xc0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xe0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xe0,0x0,0x1,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xe0,0x0, +0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0x80,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xfc,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xe0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0xf,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x3,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xe0,0x0, +0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0x80,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x7f,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0x80,0xf,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0, +0x7,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xf0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0, +0xf,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0xff,0xff,0xff,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xf0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0, +0x1f,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x3f,0xff,0xfe,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xf8,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0, +0x1f,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0xf,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xf8,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0, +0x3f,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x7,0xff,0xf8,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xfc,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0, +0x3f,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x1,0xff,0xf0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xfc,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0, +0x7f,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x7f,0xe0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xfe,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0, +0x7f,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x3f,0x80,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0, +0x7f,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0xe,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0, +0x7f,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0x80,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0, +0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x80,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0, +0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0, +0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0, +0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xe0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0, +0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xe0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0, +0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xf0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0, +0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xf8,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0, +0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xf8,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0, +0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xfc,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0, +0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xfc,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0, +0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xfe,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0, +0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xfe,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0, +0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0, +0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0, +0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0, +0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +}; \ No newline at end of file diff --git a/examples/Inkplate10/Basic/Inkplate10_Grayscale/image.h b/examples/Inkplate10/Basic/Inkplate10_Grayscale/image.h index 9b74fb13..0895394a 100644 --- a/examples/Inkplate10/Basic/Inkplate10_Grayscale/image.h +++ b/examples/Inkplate10/Basic/Inkplate10_Grayscale/image.h @@ -1,5 +1,8 @@ -//Array that holds data for grayscale image of 500x332 pixels. You can convert your own image using Inkplate Image Converter. -//Image source: https://www.peakpx.com/583083/grayscale-photo-of-lighthouse +/* + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases +*/ const uint8_t picture1[] = { 0x88, 0x88, 0x99, 0x99, 0x99, 0x99, 0x99, 0x98, 0x88, 0x88, 0x88, 0x99, 0x99, 0x99, 0x99, 0x98, 0x88, 0x88, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xab, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xab, 0xbb, 0xbb, 0xbb, 0xbb, 0xbc, 0xcb, 0xbc, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xbb, 0xba, 0xaa, 0xaa, 0x99, 0x99, 0x89, 0x88, 0x88, 0x88, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x66, 0x66, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x78, 0x88, 0x87, 0x88, 0x88, 0x88, 0x88, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0xa9, 0x99, 0x99, 0xaa, 0xab, 0xba, 0xaa, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xbb, 0xbb, 0xbc, 0xcc, 0xcc, 0xcb, 0xbb, 0xbb, 0xbb, 0xaa, 0xaa, 0x9a, 0xaa, 0xaa, 0xaa, 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, 0x99, 0x99, 0x98, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x88, 0x89, 0x88, 0x88, 0x88, 0x88, 0x88, 0x99, 0x88, 0x88, 0x88, 0x89, 0x99, 0x99, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xab, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xab, 0xba, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xa9, 0x9a, 0xaa, 0xaa, 0xba, 0xaa, 0xba, 0x9a, 0xba, 0xaa, 0xa9, 0x98, 0x88, 0x87, 0x77, 0x88, 0x88, 0x77, 0x88, 0x88, 0x88, 0x87, 0x88, 0x88, 0x78, 0x88, 0x87, 0x77, 0x77, 0x88, 0x88, 0x99, 0x99, 0x99, 0x99, 0x99, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x99, 0x99, 0x99, 0x88, 0x88, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x9a, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xab, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xab, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcb, 0xbb, 0xaa, 0xaa, 0x99, 0x99, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x66, 0x67, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x67, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x9a, 0x99, 0x9a, 0xa9, 0xaa, 0xaa, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xba, 0xbb, 0xba, 0xab, 0xbb, 0xbb, 0xbb, 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xab, 0xbb, 0xbb, 0xbc, 0xcc, 0xcc, 0xcc, 0xcb, 0xbb, 0xba, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x9a, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x99, 0x99, 0x88, 0x88, 0x88, 0x99, 0x99, 0x99, 0x99, 0x88, 0x89, 0x98, 0x88, 0x88, 0x88, 0x88, 0x88, 0x99, 0x99, 0x99, 0x99, 0x99, 0x9a, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xab, 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, 0x9a, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xba, 0xaa, 0xaa, 0xaa, 0xaa, 0x99, 0xa9, 0x99, 0xaa, 0x99, 0x99, 0x9a, 0xa9, 0xaa, 0xa9, 0x88, 0x88, 0x77, 0x77, 0x87, 0x77, 0x77, 0x77, 0x77, 0x77, 0x76, 0x67, 0x77, 0x88, 0x77, 0x77, 0x66, 0x66, diff --git a/examples/Inkplate10/Projects/Inkplate10_Crypto_Currency_Tracker/Inkplate10_Crypto_Currency_Tracker.ino b/examples/Inkplate10/Projects/Inkplate10_Crypto_Currency_Tracker/Inkplate10_Crypto_Currency_Tracker.ino index e432acb9..e3ade6eb 100644 --- a/examples/Inkplate10/Projects/Inkplate10_Crypto_Currency_Tracker/Inkplate10_Crypto_Currency_Tracker.ino +++ b/examples/Inkplate10/Projects/Inkplate10_Crypto_Currency_Tracker/Inkplate10_Crypto_Currency_Tracker.ino @@ -36,6 +36,7 @@ char pass[] = ""; // Delay between refreshed calls in miliseconds #define DELAY_MS 3 * 60 * 1000 +#define DELAY_WIFI_RETRY_SECONDS 10 // OPTIONAL: // change to a different currency @@ -113,6 +114,7 @@ textElement elements[] = { }; // Our functions declared below setup and loop +void getTime(); void drawGraph(); void drawAll(); @@ -126,9 +128,32 @@ void setup() display.setTextWrap(false); display.setTextColor(0, 7); - // Our begin function - network.begin(); + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(ssid, pass, WIFI_TIMEOUT, true)) + { + // Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(3); + // Set the cursor positions and print the text. + display.setCursor((display.width() / 2) - 200, display.height() / 2); + display.print(F("Unable to connect to ")); + display.println(F(ssid)); + display.setCursor((display.width() / 2) - 200, (display.height() / 2) + 30); + display.println(F("Please check ssid and pass!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(1000L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } + // After connecting to WiFi we need to get internet time from NTP server + setTime(); + + // After setting the correct time, we can start pulling data about BTC prices. Serial.print("Retrying retriving data "); while (!network.getData(data)) { @@ -153,6 +178,26 @@ void loop() // Never here } +// Function for getting time from NTP server +void setTime() +{ + // Structure used to hold time information + struct tm timeInfo; + time_t nowSec; + // Fetch current time in epoch format and store it + display.getNTPEpoch(&nowSec); + // This loop ensures that the NTP time fetched is valid and beyond a certain threshold + while (nowSec < 8 * 3600 * 2) + { + delay(500); + yield(); + display.getNTPEpoch(&nowSec); + } + gmtime_r(&nowSec, &timeInfo); + Serial.print(F("Current time: ")); + Serial.print(asctime(&timeInfo)); +} + // Function to draw our graph void drawGraph() { diff --git a/examples/Inkplate10/Projects/Inkplate10_Crypto_Currency_Tracker/Network.cpp b/examples/Inkplate10/Projects/Inkplate10_Crypto_Currency_Tracker/Network.cpp index 17807707..70f3f432 100644 --- a/examples/Inkplate10/Projects/Inkplate10_Crypto_Currency_Tracker/Network.cpp +++ b/examples/Inkplate10/Projects/Inkplate10_Crypto_Currency_Tracker/Network.cpp @@ -58,9 +58,6 @@ void Network::begin() } } Serial.println(F(" connected")); - - // Find internet time - setTime(); } // Gets time from ntp server @@ -189,29 +186,3 @@ bool Network::getData(double *data) return !f; } - -// Function for initial time setting ovet the ntp server -void Network::setTime() -{ - // Used for setting correct time - configTime(0, 0, "pool.ntp.org", "time.nist.gov"); - - Serial.print(F("Waiting for NTP time sync: ")); - time_t nowSecs = time(nullptr); - while (nowSecs < 8 * 3600 * 2) - { - delay(500); - Serial.print(F(".")); - yield(); - nowSecs = time(nullptr); - } - - Serial.println(); - - // Used to store time info - struct tm timeinfo; - gmtime_r(&nowSecs, &timeinfo); - - Serial.print(F("Current time: ")); - Serial.print(asctime(&timeinfo)); -} diff --git a/examples/Inkplate10/Projects/Inkplate10_Daily_Weather_Station/Inkplate10_Daily_Weather_Station.ino b/examples/Inkplate10/Projects/Inkplate10_Daily_Weather_Station/Inkplate10_Daily_Weather_Station.ino index dca28ccc..8f4c0d83 100644 --- a/examples/Inkplate10/Projects/Inkplate10_Daily_Weather_Station/Inkplate10_Daily_Weather_Station.ino +++ b/examples/Inkplate10/Projects/Inkplate10_Daily_Weather_Station/Inkplate10_Daily_Weather_Station.ino @@ -15,6 +15,10 @@ Want to learn more about Inkplate? Visit www.inkplate.io Looking to get support? Write on our forums: https://forum.soldered.com/ 11 February 2021 by Soldered + + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases */ // Next 3 lines are a precaution, you can ignore those, and the example would also work without them @@ -57,6 +61,7 @@ char apiKey[] = ""; // Delay between API calls, about 1000 per month, which is the free tier limit #define DELAY_MS 267800L +#define DELAY_WIFI_RETRY_SECONDS 10 // Inkplate object Inkplate display(INKPLATE_1BIT); @@ -92,7 +97,7 @@ RTC_DATA_ATTR char temps[4][8] = { "-", }; -// Variables for storing hour strings +// Variables for storing hour stringsF RTC_DATA_ATTR uint8_t hours = 0; // Variables for storing current time and weather info @@ -115,6 +120,7 @@ void drawCurrent(); void drawTemps(); void drawCity(); void drawTime(); +void setTime(); void setup() { @@ -122,8 +128,29 @@ void setup() Serial.begin(115200); display.begin(); - // Calling our begin from network.h file - network.begin(ssid, pass); + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(ssid, pass, WIFI_TIMEOUT, true)) + { + //Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(3); + // Set the cursor positions and print the text. + display.setCursor((display.width() / 2) - 200, display.height() / 2); + display.print(F("Unable to connect to ")); + display.println(F(ssid)); + display.setCursor((display.width() / 2) - 200, (display.height() / 2) + 30); + display.println(F("Please check ssid and pass!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(100L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } + + setTime(); // Get all relevant data, see Network.cpp for info if (refreshes % fullRefresh == 0) @@ -163,6 +190,27 @@ void loop() // nothing here } +// Function for getting time from NTP server +void setTime() +{ + // Structure used to hold time information + struct tm timeInfo; + display.getNTPDateTime(&timeInfo); + time_t nowSec; + // Fetch current time in epoch format and store it + display.getNTPEpoch(&nowSec); + // This loop ensures that the NTP time fetched is valid and beyond a certain threshold + while (nowSec < 8 * 3600 * 2) + { + delay(500); + yield(); + display.getNTPEpoch(&nowSec); + } + gmtime_r(&nowSec, &timeInfo); + Serial.print(F("Current time: ")); + Serial.print(asctime(&timeInfo)); +} + // Function for drawing weather info void drawWeather() { diff --git a/examples/Inkplate10/Projects/Inkplate10_Daily_Weather_Station/Network.cpp b/examples/Inkplate10/Projects/Inkplate10_Daily_Weather_Station/Network.cpp index 3075b000..be765ed6 100644 --- a/examples/Inkplate10/Projects/Inkplate10_Daily_Weather_Station/Network.cpp +++ b/examples/Inkplate10/Projects/Inkplate10_Daily_Weather_Station/Network.cpp @@ -43,9 +43,6 @@ void Network::begin(char *ssid, char *pass) } } Serial.println(F(" connected")); - - // Find internet time - setTime(); } // Gets time from ntp server @@ -227,32 +224,6 @@ bool Network::getData(char *lat, char *lon, char *apiKey, char *city, char *temp return 1; } -void Network::setTime() -{ - // Used for setting correct time - configTime(0, 0, "pool.ntp.org", "time.nist.gov"); - - Serial.print(F("Waiting for NTP time sync: ")); - time_t nowSecs = time(nullptr); - while (nowSecs < 8 * 3600 * 2) - { - // Print a dot every half a second while time is not set - delay(500); - Serial.print(F(".")); - yield(); - nowSecs = time(nullptr); - } - - Serial.println(); - - // Used to store time info - struct tm timeinfo; - gmtime_r(&nowSecs, &timeinfo); - - Serial.print(F("Current time: ")); - Serial.print(asctime(&timeinfo)); -} - void Network::getDays(char *day, char *day1, char *day2, char *day3) { // Seconds since 1.1.1970. diff --git a/examples/Inkplate10/Projects/Inkplate10_Google_Calendar/Inkplate10_Google_Calendar.ino b/examples/Inkplate10/Projects/Inkplate10_Google_Calendar/Inkplate10_Google_Calendar.ino index 59f5c562..9d946d2b 100644 --- a/examples/Inkplate10/Projects/Inkplate10_Google_Calendar/Inkplate10_Google_Calendar.ino +++ b/examples/Inkplate10/Projects/Inkplate10_Google_Calendar/Inkplate10_Google_Calendar.ino @@ -55,6 +55,7 @@ int timeZone = 2; // Delay between API calls #define DELAY_MS 1 * 60000 +#define DELAY_WIFI_RETRY_SECONDS 10 // Variables to keep count of when to get new data, and when to just update time RTC_DATA_ATTR unsigned int refreshes = 0; @@ -107,7 +108,29 @@ void setup() display.setTextColor(0, 7); // Connect Inkplate to the WiFi network - network.begin(ssid, pass); + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(ssid, pass, WIFI_TIMEOUT, true)) + { + //Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(3); + // Set the cursor positions and print the text. + display.setCursor((display.width() / 2) - 200, display.height() / 2); + display.print(F("Unable to connect to ")); + display.println(F(ssid)); + display.setCursor((display.width() / 2) - 200, (display.height() / 2) + 30); + display.println(F("Please check SSID and PASS!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(1000L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } + + setTime(); // Get the data from Google Calendar // Repeat attempts until data is fully downloaded @@ -142,6 +165,26 @@ void loop() // Never here } +void setTime() +{ + // Structure used to hold time information + struct tm timeInfo; + // Fetch current time from an NTP server and store it + time_t nowSec; + // Fetch current time in epoch format and store it + display.getNTPEpoch(&nowSec); + // This loop ensures that the NTP time fetched is valid and beyond a certain threshold + while(nowSec < 8 * 3600 * 2) + { + delay(500); + yield(); + display.getNTPEpoch(&nowSec); + } + gmtime_r(&nowSec, &timeInfo); + Serial.print(F("Current time: ")); + Serial.print(asctime(&timeInfo)); +} + // Function for drawing calendar info void drawInfo() { @@ -458,8 +501,11 @@ void drawData() &entries[entriesNum].timeStamp); } ++entriesNum; + if(entriesNum == 128) + { + break; + } } - // Sort entries by time qsort(entries, entriesNum, sizeof(entry), cmp); @@ -468,9 +514,10 @@ void drawData() bool clogged[3] = {0}; int cloggedCount[3] = {0}; + //Serial.println("Displaying events one by one. There is " + String(entriesNum) + " events to display."); // Displaying events one by one for (int i = 0; i < entriesNum; ++i) - { + { // If column overflowed just add event to not shown if (entries[i].day != -1 && clogged[entries[i].day]) ++cloggedCount[entries[i].day]; @@ -480,15 +527,16 @@ void drawData() // We store how much height did one event take up int shift = 0; bool s = drawEvent(&entries[i], entries[i].day, columns[entries[i].day] + 64, 1200 - 4, &shift); - columns[entries[i].day] += shift; // If it overflowed, set column to clogged and add one event as not shown if (!s) { + //Serial.println("Event " + String(i) + " has overflowed."); ++cloggedCount[entries[i].day]; clogged[entries[i].day] = 1; } + delay(100); } // Display not shown events info diff --git a/examples/Inkplate10/Projects/Inkplate10_Google_Calendar/Network.cpp b/examples/Inkplate10/Projects/Inkplate10_Google_Calendar/Network.cpp index 35bf72fe..d951750c 100644 --- a/examples/Inkplate10/Projects/Inkplate10_Google_Calendar/Network.cpp +++ b/examples/Inkplate10/Projects/Inkplate10_Google_Calendar/Network.cpp @@ -44,7 +44,7 @@ void Network::begin(char *ssid, char *pass) Serial.println(F(" connected")); // Find and print internet time, the timezone will be added later - setTime(); + //setTime(); } // Gets time from ntp server diff --git a/examples/Inkplate10/Projects/Inkplate10_Hourly_Weather_Station/Inkplate10_Hourly_Weather_Station.ino b/examples/Inkplate10/Projects/Inkplate10_Hourly_Weather_Station/Inkplate10_Hourly_Weather_Station.ino index 140b0309..d3c3e1fb 100644 --- a/examples/Inkplate10/Projects/Inkplate10_Hourly_Weather_Station/Inkplate10_Hourly_Weather_Station.ino +++ b/examples/Inkplate10/Projects/Inkplate10_Hourly_Weather_Station/Inkplate10_Hourly_Weather_Station.ino @@ -15,6 +15,10 @@ Want to learn more about Inkplate? Visit www.inkplate.io Looking to get support? Write on our forums: https://forum.soldered.com/ 11 February 2021 by Soldered + + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases */ // Next 3 lines are a precaution, you can ignore those, and the example would also work without them @@ -44,6 +48,8 @@ char pass[] = ""; // Change to your api key, if you don't have one, head over to: // https://openweathermap.org/guide , register and copy the key provided char apiKey[] = ""; +// Also, declare the function to check if the API key is valid +bool checkIfAPIKeyIsValid(char *APIKEY); //---------------------------------- @@ -63,6 +69,8 @@ char apiKey[] = ""; // Delay between API calls, about 1000 per month, which is the free tier limit #define DELAY_MS 267800L +#define DELAY_WIFI_RETRY_SECONDS 10 +#define DELAY_API_RETRY_SECONDS 10 // Inkplate object Inkplate display(INKPLATE_1BIT); @@ -120,11 +128,13 @@ RTC_DATA_ATTR char abbr3[16]; RTC_DATA_ATTR char abbr4[16]; // functions defined below +void formatTime(); void drawWeather(); void drawCurrent(); void drawTemps(); void drawCity(); void drawTime(); +void setTime(); void setup() { @@ -135,11 +145,52 @@ void setup() // Initial cleaning of buffer and physical screen display.clearDisplay(); - // Calling our begin from network.h file - network.begin(city); - // Get all relevant data, see Network.cpp for info - network.getTime(currentTime); + // Connect Inkplate to the WiFi network + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(ssid, pass, WIFI_TIMEOUT, true)) + { + //Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(3); + // Set the cursor positions and print the text. + display.setCursor((display.width() / 2) - 200, display.height() / 2); + display.print(F("Unable to connect to ")); + display.println(F(ssid)); + display.setCursor((display.width() / 2) - 200, (display.height() / 2) + 30); + display.println(F("Please check SSID and PASS!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(1000L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } + + // Check if we have a valid API key: + Serial.println("Checking if API key is valid..."); + if (!checkIfAPIKeyIsValid(apiKey)) + { + // If we don't, notify the user + Serial.println("API key is invalid!"); + display.clearDisplay(); + display.setCursor(0, 0); + display.setTextSize(2); + display.println("Can't get data from OpenWeatherMaps! Check your API key!"); + display.println("Only older API keys for OneCall 2.5 work in free tier."); + display.println("See the code comments the example for more info."); + display.display(); + // After displaying the error message go to deep sleep + esp_sleep_enable_timer_wakeup(1000L * DELAY_API_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } + Serial.println("API key is valid!"); + + // A function called to format time into a nice string. + formatTime(); + if (refreshes % fullRefresh == 0) { while (!network.getData(city, temps[0], temps[1], temps[2], temps[3], currentTemp, currentWind, currentTime, @@ -174,6 +225,136 @@ void loop() { } +// Function for getting time from NTP server +void setTime() +{ + // Structure used to hold time information + struct tm timeInfo; + time_t nowSec; + // Fetch current time in epoch format and store it + display.getNTPEpoch(&nowSec); + // This loop ensures that the NTP time fetched is valid and beyond a certain threshold + while (nowSec < 8 * 3600 * 2) + { + delay(500); + yield(); + display.getNTPEpoch(&nowSec); + } + gmtime_r(&nowSec, &timeInfo); + Serial.print(F("Current time: ")); + Serial.print(asctime(&timeInfo)); +} + + +/** + * Make a test API call to see if we have a valid API key + * + * Older keys made for OpenWeather 2.5 OneCall API work, while newer ones won't work, due to the service becoming + * deprecated. + */ +bool checkIfAPIKeyIsValid(char *APIKEY) +{ + bool failed = false; + + // Create the buffer for holding the API response, make it large enough just in case + char *data; + data = (char *)ps_malloc(50000LL); + + // Http object used to make GET request + HTTPClient http; + http.getStream().setTimeout(10); + http.getStream().flush(); + http.getStream().setNoDelay(true); + + // Combine the base URL and the API key to do a test call + char *baseURL = "https://api.openweathermap.org/data/2.5/onecall?lat=45.560001&lon=18.675880&units=metric&appid="; + char apiTestURL[200]; + sprintf(apiTestURL, "%s%s", baseURL, APIKEY); + + // Begin http by passing url to it + http.begin(apiTestURL); + + delay(300); + + // Download data until it's a verified complete download + // Actually do request + int httpCode = http.GET(); + + if (httpCode == 200) + { + long n = 0; + + long now = millis(); + + while (millis() - now < 1000) + { + while (http.getStream().available()) + { + data[n++] = http.getStream().read(); + now = millis(); + } + } + + data[n++] = 0; + + // If the reply constains this string - it's invalid + if (strstr(data, "Invalid API key.") != NULL) + failed = true; + } + else + { + // In case there was another HTTP code, it failed + Serial.print("Error! HTTP Code: "); + Serial.println(httpCode); + failed = true; + } + + // End http + http.end(); + + // Free the memory + free(data); + + return !failed; +} + +void formatTime() +{ + struct tm timeInfo; + display.getNTPDateTime(&timeInfo); + time_t nowSec; + display.getNTPEpoch(&nowSec); + while(nowSec < 8 * 3600 * 2) + { + delay(500); + yield(); + display.getNTPEpoch(&nowSec); + } + gmtime_r(&nowSec, &timeInfo); + Serial.print(F("Current time: ")); + Serial.print(asctime(&timeInfo)); + + // Get seconds since 1.1.1970. + time_t nowSecs = time(nullptr); + + // Used to store time + struct tm timeinfo; + gmtime_r(&nowSecs, &timeinfo); + + // Copies time string into timeStr + strncpy(currentTime, asctime(&timeinfo) + 11, 5); + + // Setting time string timezone + int hr = 10 * (currentTime[0] - '0') + (currentTime[1] - '0') + timeZone; + + // Better defined modulo, in case timezone makes hours to go below 0 + hr = (hr % 24 + 24) % 24; + + // Adding time to '0' char makes it into whatever time char, for both digits + currentTime[0] = hr / 10 + '0'; + currentTime[1] = hr % 10 + '0'; +} + // Function for drawing weather info void drawWeather() { diff --git a/examples/Inkplate10/Projects/Inkplate10_Hourly_Weather_Station/Network.cpp b/examples/Inkplate10/Projects/Inkplate10_Hourly_Weather_Station/Network.cpp index ea65d7dd..87772472 100644 --- a/examples/Inkplate10/Projects/Inkplate10_Hourly_Weather_Station/Network.cpp +++ b/examples/Inkplate10/Projects/Inkplate10_Hourly_Weather_Station/Network.cpp @@ -53,9 +53,6 @@ void Network::begin(char *city) } Serial.println(F(" connected")); - // Find internet time - setTime(); - // reduce power by making WiFi module sleep WiFi.setSleep(1); } @@ -227,31 +224,6 @@ bool Network::getData(char *city, char *temp1, char *temp2, char *temp3, char *t return !f; } -void Network::setTime() -{ - // Used for setting correct time - configTime(0, 0, "pool.ntp.org", "time.nist.gov"); - - Serial.print(F("Waiting for NTP time sync: ")); - time_t nowSecs = time(nullptr); - while (nowSecs < 8 * 3600 * 2) - { - // Print a dot every half a second while time is not set - delay(500); - Serial.print(F(".")); - yield(); - nowSecs = time(nullptr); - } - - Serial.println(); - - // Used to store time info - struct tm timeinfo; - gmtime_r(&nowSecs, &timeinfo); - - Serial.print(F("Current time: ")); - Serial.print(asctime(&timeinfo)); -} void Network::getHours(char *hour1, char *hour2, char *hour3, char *hour4) { diff --git a/examples/Inkplate10/Projects/Inkplate10_News_API/Inkplate10_News_API.ino b/examples/Inkplate10/Projects/Inkplate10_News_API/Inkplate10_News_API.ino index e1ba4cda..71efb32e 100644 --- a/examples/Inkplate10/Projects/Inkplate10_News_API/Inkplate10_News_API.ino +++ b/examples/Inkplate10/Projects/Inkplate10_News_API/Inkplate10_News_API.ino @@ -33,6 +33,8 @@ int timeZone = 2; char ssid[] = ""; char pass[] = ""; char api_key_news[] = ""; //You can obtain one here: https://newsapi.org/ +// Also, declare the function to check if the API key is valid +bool checkIfAPIKeyIsValid(char *APIKEY); //---------------------------------- @@ -53,6 +55,8 @@ Inkplate display(INKPLATE_1BIT); // Delay between API calls in miliseconds (first 60 represents minutes so you can change to your need) #define DELAY_MS (uint32_t)60 * 60 * 1000 +#define DELAY_WIFI_RETRY_SECONDS 10 +#define DELAY_API_RETRY_SECONDS 10 // Variable for counting partial refreshes RTC_DATA_ATTR unsigned refreshes = 0; @@ -68,8 +72,43 @@ void setup() display.begin(); display.setTextWrap(false); - // Our begin function - network.begin(); + // Connect Inkplate to the WiFi network + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(ssid, pass, WIFI_TIMEOUT, true)) + { + //Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(3); + // Set the cursor positions and print the text. + display.setCursor((display.width() / 2) - 200, display.height() / 2); + display.print(F("Unable to connect to ")); + display.println(F(ssid)); + display.setCursor((display.width() / 2) - 200, (display.height() / 2) + 30); + display.println(F("Please check SSID and PASS!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(1000L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } + + if(!checkIfAPIKeyIsValid(api_key_news)) + { + display.clearDisplay(); + display.setTextSize(3); + display.setCursor((display.width() / 2) - 200, display.height() / 2); + display.print(F("Your API key is invalid or incorrect.")); + display.setCursor((display.width() / 2) - 200, (display.height() / 2) + 30); + display.println(F("Please check your API key.")); + display.display(); + esp_sleep_enable_timer_wakeup(1000L * DELAY_API_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } + + setTime(); struct news *entities; @@ -150,6 +189,64 @@ void drawNews(struct news *entities) } +// Function for getting time from NTP server +void setTime() +{ + // Structure used to hold time information + struct tm timeInfo; + time_t nowSec; + // Fetch current time in epoch format and store it + display.getNTPEpoch(&nowSec); + // This loop ensures that the NTP time fetched is valid and beyond a certain threshold + while (nowSec < 8 * 3600 * 2) + { + delay(500); + yield(); + nowSec = time(nullptr); + } + gmtime_r(&nowSec, &timeInfo); + Serial.print(F("Current time: ")); + Serial.print(asctime(&timeInfo)); +} + +bool checkIfAPIKeyIsValid(char *APIKEY) +{ + bool failed = false; + // Create the buffer for holding the API response, make it large enough just in case + char *data; + data = (char *)ps_malloc(50000LL); + + // Http object used to make GET request + HTTPClient http; + http.getStream().setTimeout(10); + http.getStream().flush(); + http.getStream().setNoDelay(true); + + // Combine the base URL and the API key to do a test call + char *baseURL = "https://newsapi.org/v2/top-headlines?country=us&apiKey="; + char apiTestURL[200]; + sprintf(apiTestURL, "%s%s", baseURL, APIKEY); + + http.begin(apiTestURL); + delay(300); + + int httpCode = http.GET(); + + if(httpCode != 200) + { + Serial.println("Your API key is invalid or incorrect."); + failed = true; + } + else + { + Serial.println("API key OK."); + } + http.end(); + free(data); + + return !failed; +} + void loop() { // Never here diff --git a/examples/Inkplate10/Projects/Inkplate10_News_API/Network.cpp b/examples/Inkplate10/Projects/Inkplate10_News_API/Network.cpp index a1e810dc..3e322180 100644 --- a/examples/Inkplate10/Projects/Inkplate10_News_API/Network.cpp +++ b/examples/Inkplate10/Projects/Inkplate10_News_API/Network.cpp @@ -61,8 +61,6 @@ void Network::begin() } Serial.println(F(" connected")); - // Find internet time - setTime(); } // Gets time from ntp server @@ -212,28 +210,4 @@ struct news* Network::getData() return ent; } -// Function for initial time setting ovet the ntp server -void Network::setTime() -{ - // Used for setting correct time - configTime(0, 0, "pool.ntp.org", "time.nist.gov"); - - Serial.print(F("Waiting for NTP time sync: ")); - time_t nowSecs = time(nullptr); - while (nowSecs < 8 * 3600 * 2) - { - delay(500); - Serial.print(F(".")); - yield(); - nowSecs = time(nullptr); - } - Serial.println(); - - // Used to store time info - struct tm timeinfo; - gmtime_r(&nowSecs, &timeinfo); - - Serial.print(F("Current time: ")); - Serial.print(asctime(&timeinfo)); -} diff --git a/examples/Inkplate10/Projects/Inkplate10_News_API/Network.h b/examples/Inkplate10/Projects/Inkplate10_News_API/Network.h index c6fcba3b..0f950033 100644 --- a/examples/Inkplate10/Projects/Inkplate10_News_API/Network.h +++ b/examples/Inkplate10/Projects/Inkplate10_News_API/Network.h @@ -52,8 +52,7 @@ class Network struct news* getData(); private: - // Functions called from within our class - void setTime(); + }; #endif diff --git a/examples/Inkplate10/Projects/Inkplate10_OpenWeather_Station/Inkplate10_OpenWeather_Station.ino b/examples/Inkplate10/Projects/Inkplate10_OpenWeather_Station/Inkplate10_OpenWeather_Station.ino index 24e8349f..dece7e78 100644 --- a/examples/Inkplate10/Projects/Inkplate10_OpenWeather_Station/Inkplate10_OpenWeather_Station.ino +++ b/examples/Inkplate10/Projects/Inkplate10_OpenWeather_Station/Inkplate10_OpenWeather_Station.ino @@ -17,6 +17,10 @@ 11 February 2021 by Soldered Code for Moonphase and moon fonts taken from here: https://learn.adafruit.com/epaper-weather-station/arduino-setup + + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases */ // Next 3 lines are a precaution, you can ignore those, and the example would also work without them @@ -77,7 +81,8 @@ bool metric = true; //<------------------------------TRUE is METRIC, FALSE is IM // Delay between API calls #define DELAY_MS 59000 - +#define DELAY_WIFI_RETRY_SECONDS 10 +#define DELAY_API_RETRY_SECONDS 10 // Inkplate object Inkplate display(INKPLATE_1BIT); @@ -124,41 +129,12 @@ char Output[200] = {0}; OpenWeatherOneCall OWOC; // Invoke OpenWeather Library time_t t = now(); -void connectWifi() -{ - - int ConnectCount = 20; - - if (WiFi.status() != WL_CONNECTED) - { - while (WiFi.status() != WL_CONNECTED) - { - if (ConnectCount++ == 20) - { - Serial.println("Connect WiFi"); - WiFi.begin(SSID, PASS); - Serial.print("Connecting."); - ConnectCount = 0; - } - Serial.print("."); - delay(1000); - } - Serial.print("\nConnected to: "); - Serial.println(SSID); - Serial.println("IP address: "); - Serial.println(WiFi.localIP()); - Serial.println("Connected WiFi"); - } -} //======================== END WIFI CONNECT ======================= - void GetCurrentWeather() { //================================= // Get the Weather Forecast //================================= - connectWifi(); - Serial.println("Getting weather"); OWOC.parseWeather(APIKEY, NULL, myLatitude, myLongitude, metric, NULL); setTime(OWOC.current.dt); @@ -252,6 +228,7 @@ void setup() } Serial.println("Serial Monitor Initialized"); + // display.begin(); // Initial cleaning of buffer and physical screen @@ -266,7 +243,27 @@ void setup() Serial.println("Welcome to Wol Inkplate 10 weather example!"); display.display(); - connectWifi(); + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(SSID, PASS, WIFI_TIMEOUT, true)) + { + //Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(3); + // Set the cursor positions and print the text. + display.setCursor((display.width() / 2) - 200, display.height() / 2); + display.print(F("Unable to connect to ")); + display.println(F(SSID)); + display.setCursor((display.width() / 2) - 200, (display.height() / 2) + 30); + display.println(F("Please check SSID and PASS!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(1000L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } // Check if we have a valid API key: Serial.println("Checking if API key is valid..."); @@ -281,16 +278,13 @@ void setup() display.println("Only older API keys for OneCall 2.5 work in free tier."); display.println("See the code comments the example for more info."); display.display(); - while (1) - { - delay(100); - } + esp_sleep_enable_timer_wakeup(1000L * DELAY_API_RETRY_SECONDS); + (void)esp_deep_sleep_start(); } Serial.println("API key is valid!"); // Clear display t = now(); - if ((minute(t) % 30) == 0) // Also returns 0 when time isn't set { GetCurrentWeather(); diff --git a/examples/Inkplate10/Projects/Inkplate10_Quotables/Inkplate10_Quotables.ino b/examples/Inkplate10/Projects/Inkplate10_Quotables/Inkplate10_Quotables.ino index 37e16688..ab878ee5 100644 --- a/examples/Inkplate10/Projects/Inkplate10_Quotables/Inkplate10_Quotables.ino +++ b/examples/Inkplate10/Projects/Inkplate10_Quotables/Inkplate10_Quotables.ino @@ -30,8 +30,8 @@ //---------- CHANGE HERE -------------: // Put in your ssid and password -char ssid[] = ""; -char pass[] = ""; +char ssid[] = "Soldered"; +char pass[] = "dasduino"; //---------------------------------- @@ -52,7 +52,7 @@ Inkplate display(INKPLATE_1BIT); // Delay between API calls in seconds, 300 seconds is 5 minutes #define DELAY_S 300 - +#define DELAY_WIFI_RETRY_SECONDS 10 // Our functions declared below setup and loop void drawAll(); @@ -70,8 +70,28 @@ void setup() display.setTextColor(BLACK); display.setTextSize(3); - // Our begin function - network.begin(); + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(ssid, pass, WIFI_TIMEOUT, true)) + { + //Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(3); + // Set the cursor positions and print the text. + display.setCursor((display.width() / 2) - 200, display.height() / 2); + display.print(F("Unable to connect to ")); + display.println(F(ssid)); + display.setCursor((display.width() / 2) - 200, (display.height() / 2) + 30); + display.println(F("Please check SSID and PASS!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(1000L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } + while (!network.getData(quote, author)) { Serial.print('.'); diff --git a/examples/Inkplate10/Projects/Inkplate10_Quotables/Network.cpp b/examples/Inkplate10/Projects/Inkplate10_Quotables/Network.cpp index 9277a2d0..3364f1c8 100644 --- a/examples/Inkplate10/Projects/Inkplate10_Quotables/Network.cpp +++ b/examples/Inkplate10/Projects/Inkplate10_Quotables/Network.cpp @@ -99,7 +99,7 @@ bool Network::getData(char* text, char* auth) http.getStream().flush(); // Initiate http - char link[] = "https://api.quotable.io/random"; + char link[] = "https://favqs.com/api/qotd"; http.begin(link); // Actually do request @@ -125,7 +125,7 @@ bool Network::getData(char* text, char* auth) Serial.println("Success"); - const char *buff1 = doc["content"]; + const char *buff1 = doc["body"]; strcpy(text, buff1); diff --git a/examples/Inkplate10/Projects/Inkplate10_Youtube_Subscriber_Counter/Inkplate10_Youtube_Subscriber_Counter.ino b/examples/Inkplate10/Projects/Inkplate10_Youtube_Subscriber_Counter/Inkplate10_Youtube_Subscriber_Counter.ino index 2bf7c50e..ca3d0db5 100644 --- a/examples/Inkplate10/Projects/Inkplate10_Youtube_Subscriber_Counter/Inkplate10_Youtube_Subscriber_Counter.ino +++ b/examples/Inkplate10/Projects/Inkplate10_Youtube_Subscriber_Counter/Inkplate10_Youtube_Subscriber_Counter.ino @@ -1,4 +1,4 @@ -/* + /* Inkplate10_Youtube_Subscriber_Counter example for Soldered Inkplate 10 For this example you will need only USB cable and Inkplate 10. Select "e-radionica Inkplate10" or "Soldered Inkplate10" from Tools -> Board menu. @@ -19,6 +19,10 @@ Want to learn more about Inkplate? Visit www.inkplate.io Looking to get support? Write on our forums: https://forum.soldered.com/ 16 Aug 2023 by Soldered + + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases */ // Next 3 lines are a precaution, you can ignore those, and the example would also work without them @@ -42,7 +46,7 @@ // Delay between API calls in miliseconds (10 minutes) #define DELAY_MS 10 * 60 * 1000 - +#define DELAY_WIFI_RETRY_SECONDS 10 // Create object with all networking functions Network network; @@ -125,7 +129,27 @@ void setup() } // Our begin function - network.begin(ssid, pass); + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(ssid, pass, WIFI_TIMEOUT, true)) + { + //Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(3); + // Set the cursor positions and print the text. + display.setCursor((display.width() / 2) - 200, display.height() / 2); + display.print(F("Unable to connect to ")); + display.println(F(ssid)); + display.setCursor((display.width() / 2) - 200, (display.height() / 2) + 30); + display.println(F("Please check SSID and PASS!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(1000L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } while (!network.getData(&channel, channel_id, api_key, &display)) { diff --git a/examples/Inkplate10/Projects/Inkplate10_Youtube_Subscriber_Counter/Network.cpp b/examples/Inkplate10/Projects/Inkplate10_Youtube_Subscriber_Counter/Network.cpp index dbe91fe8..e6b6834f 100644 --- a/examples/Inkplate10/Projects/Inkplate10_Youtube_Subscriber_Counter/Network.cpp +++ b/examples/Inkplate10/Projects/Inkplate10_Youtube_Subscriber_Counter/Network.cpp @@ -40,12 +40,13 @@ void Network::begin(char *ssid, char *pass) } Serial.println(F(" connected")); - // Create JSON document - doc = new DynamicJsonDocument(20000); } bool Network::getData(channelInfo *channel, char *channel_id, char *api_key, Inkplate *display) { + // Create JSON document + doc = new DynamicJsonDocument(20000); + bool f = 0; // If not connected to wifi reconnect wifi diff --git a/examples/Inkplate2/Advanced/DeepSleep/Inkplate2_Simple_Deep_Sleep/Inkplate2_Simple_Deep_Sleep.ino b/examples/Inkplate2/Advanced/DeepSleep/Inkplate2_Simple_Deep_Sleep/Inkplate2_Simple_Deep_Sleep.ino index b7fc9bf3..72bed30a 100644 --- a/examples/Inkplate2/Advanced/DeepSleep/Inkplate2_Simple_Deep_Sleep/Inkplate2_Simple_Deep_Sleep.ino +++ b/examples/Inkplate2/Advanced/DeepSleep/Inkplate2_Simple_Deep_Sleep/Inkplate2_Simple_Deep_Sleep.ino @@ -14,6 +14,10 @@ Want to learn more about Inkplate? Visit www.inkplate.io Looking to get support? Write on our forums: https://forum.soldered.com/ 29 March 2022 by Soldered + + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases */ // Next 3 lines are a precaution, you can ignore those, and the example would also work without them diff --git a/examples/Inkplate2/Advanced/Other/Inkplate2_Picture_From_RAM/Inkplate2_Picture_From_RAM.ino b/examples/Inkplate2/Advanced/Other/Inkplate2_Picture_From_RAM/Inkplate2_Picture_From_RAM.ino index a1ee1fc4..a2d787a3 100644 --- a/examples/Inkplate2/Advanced/Other/Inkplate2_Picture_From_RAM/Inkplate2_Picture_From_RAM.ino +++ b/examples/Inkplate2/Advanced/Other/Inkplate2_Picture_From_RAM/Inkplate2_Picture_From_RAM.ino @@ -9,6 +9,10 @@ Inkplate will change content on the screen every 10 seconds and go into deep sleep mode after showing three images. + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases + Want to learn more about Inkplate? Visit www.inkplate.io Looking to get support? Write on our forums: https://forum.soldered.com/ 24 November 2022 by soldered.com @@ -24,9 +28,11 @@ #include "picture1.h" // Include .h files of 3 pictures. All three pictures were converted using Inkplate Image Converter and have resolution of 212x104 picels #include "picture2.h" #include "picture3.h" // This are headers in which are saved pictures that needs to be stored in RAM for showing. - // Any picture (in any format) can be converted in this type of header on this link: - // https://solderedelectronics.github.io/Inkplate-image-converter/ just choose settings for your Inkplate - // and additional settings like dither and bit mode. + /* + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases + */ Inkplate display; // Create display object diff --git a/examples/Inkplate2/Projects/Inkplate2_Clock/Inkplate2_Clock.ino b/examples/Inkplate2/Projects/Inkplate2_Clock/Inkplate2_Clock.ino index b4bea5d4..35210021 100644 --- a/examples/Inkplate2/Projects/Inkplate2_Clock/Inkplate2_Clock.ino +++ b/examples/Inkplate2/Projects/Inkplate2_Clock/Inkplate2_Clock.ino @@ -42,7 +42,7 @@ int timeZone = 2; // Put in your ssid and password char ssid[] = ""; char pass[] = ""; - +#define DELAY_WIFI_RETRY_SECONDS 10 //---------------------------------- // Bitmaps for 7 segment display. Converted using Inkplate Image Converter https://inkplate.io/home/image-converter/ @@ -63,6 +63,8 @@ char pass[] = ""; // Array for digital display 7 segment numbers bitmaps const uint8_t *numbers[] = {zero, one, two, three, four, five, six, seven, eight, nine}; +time_t timeEpoch; // Variable to store epoch + struct tm t; // Structure that contains time info void setup() @@ -76,8 +78,29 @@ void setup() display.setTextColor(INKPLATE2_BLACK, INKPLATE2_WHITE); // Our begin function - network.begin(ssid, pass); + if (!display.connectWiFi(ssid, pass, WIFI_TIMEOUT, true)) + { + //Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(1); + // Set the cursor positions and print the text. + display.setCursor(0, 0); + display.print(F("Unable to connect to ")); + display.println(F(ssid)); + display.println(F("Please check SSID and PASS!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(1000L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } + // Get the correct epoch from NTP server + Serial.println("Getting time..."); + display.getNTPEpoch(&timeEpoch, timeZone); + Serial.println(gmtime_r(&timeEpoch, &t)); + drawTime(); // Call function drawTime display.display(); // Display content from buffer on Inkplate diff --git a/examples/Inkplate2/Projects/Inkplate2_Crypto_Currency_Tracker/Inkplate2_Crypto_Currency_Tracker.ino b/examples/Inkplate2/Projects/Inkplate2_Crypto_Currency_Tracker/Inkplate2_Crypto_Currency_Tracker.ino index fb8e6c85..efdc8cf3 100644 --- a/examples/Inkplate2/Projects/Inkplate2_Crypto_Currency_Tracker/Inkplate2_Crypto_Currency_Tracker.ino +++ b/examples/Inkplate2/Projects/Inkplate2_Crypto_Currency_Tracker/Inkplate2_Crypto_Currency_Tracker.ino @@ -37,6 +37,7 @@ // Delay between API calls in miliseconds #define DELAY_MS 3 * 60 * 1000 // Every 3 minutes, minute has 60 seconds and second has 1000 miliseconds +#define DELAY_WIFI_RETRY_SECONDS 10 Network network; // Create object with all networking functions @@ -113,10 +114,37 @@ void setup() display.setCursor(10, 10); // Set cursor, custom font uses different method for setting cursor // You can find more about that here https://learn.adafruit.com/adafruit-gfx-graphics-library/using-fonts - display.setTextSize(2); // Set size of font in comparison to original 5x7 font + display.setTextSize(1); // Set size of font in comparison to original 5x7 font - // Our begin function - network.begin(ssid, pass); + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(ssid, pass, WIFI_TIMEOUT, true)) + { + // Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(1); + // Set the cursor positions and print the text. + display.setCursor(0, 0); + display.print(F("Unable to connect to ")); + display.println(F(ssid)); + display.println(F("Please check ssid and pass!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(1000L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } + + // After connecting to WiFi we need to get internet time from NTP server + time_t nowSec; + struct tm timeInfo; + // Fetch current time in epoch format and store it + display.getNTPEpoch(&nowSec); + gmtime_r(&nowSec, &timeInfo); + Serial.print(F("Current time: ")); + Serial.print(asctime(&timeInfo)); while (!network.getData(data, currency)) // Get data and check if data is successfully fetched { diff --git a/examples/Inkplate2/Projects/Inkplate2_Crypto_Currency_Tracker/Network.cpp b/examples/Inkplate2/Projects/Inkplate2_Crypto_Currency_Tracker/Network.cpp index d75be0ff..4de97afe 100644 --- a/examples/Inkplate2/Projects/Inkplate2_Crypto_Currency_Tracker/Network.cpp +++ b/examples/Inkplate2/Projects/Inkplate2_Crypto_Currency_Tracker/Network.cpp @@ -47,9 +47,6 @@ void Network::begin(char *ssid, char *pass) } } Serial.println(F(" connected")); - - // Find internet time - setTime(); } // Gets time from ntp server @@ -179,29 +176,3 @@ bool Network::getData(double *data, char *currency) return !f; } - -// Function for initial time setting ovet the ntp server -void Network::setTime() -{ - // Used for setting correct time - configTime(0, 0, "pool.ntp.org", "time.nist.gov"); - - Serial.print(F("Waiting for NTP time sync: ")); - time_t nowSecs = time(nullptr); - while (nowSecs < 8 * 3600 * 2) - { - delay(500); - Serial.print(F(".")); - yield(); - nowSecs = time(nullptr); - } - - Serial.println(); - - // Used to store time info - struct tm timeinfo; - gmtime_r(&nowSecs, &timeinfo); - - Serial.print(F("Current time: ")); - Serial.print(asctime(&timeinfo)); -} diff --git a/examples/Inkplate2/Projects/Inkplate2_Crypto_Currency_Tracker/Network.h b/examples/Inkplate2/Projects/Inkplate2_Crypto_Currency_Tracker/Network.h index d6967dde..6e91845f 100644 --- a/examples/Inkplate2/Projects/Inkplate2_Crypto_Currency_Tracker/Network.h +++ b/examples/Inkplate2/Projects/Inkplate2_Crypto_Currency_Tracker/Network.h @@ -34,8 +34,6 @@ class Network bool getData(double *data, char *currency); private: - // Functions called from within our class - void setTime(); }; #endif diff --git a/examples/Inkplate2/Projects/Inkplate2_Daily_Weather_Station/Inkplate2_Daily_Weather_Station.ino b/examples/Inkplate2/Projects/Inkplate2_Daily_Weather_Station/Inkplate2_Daily_Weather_Station.ino index 05462521..5d289e87 100644 --- a/examples/Inkplate2/Projects/Inkplate2_Daily_Weather_Station/Inkplate2_Daily_Weather_Station.ino +++ b/examples/Inkplate2/Projects/Inkplate2_Daily_Weather_Station/Inkplate2_Daily_Weather_Station.ino @@ -17,6 +17,10 @@ Want to learn more about Inkplate? Visit www.inkplate.io Looking to get support? Write on our forums: https://forum.soldered.com/ 2 January 2023 by Soldered + + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases */ // Next 3 lines are a precaution, you can ignore those, and the example would also work without them @@ -40,6 +44,7 @@ String lon = "18.5947808"; String apiKey = ""; #define WAKEUP 30 * 60 * 1000 // The time that ESP will be in deep sleep - refresh weather every 30 minutes +#define DELAY_WIFI_RETRY_SECONDS 10 Inkplate display; Network network; @@ -72,14 +77,39 @@ void setup() // Start serial communication Serial.begin(115200); - // Connect Inkplate to the WiFi - network.begin(ssid, password); + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(ssid, password, WIFI_TIMEOUT, true)) + { + //Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(1); + // Set the cursor positions and print the text. + display.setCursor(0, 0); + display.print(F("Unable to connect to ")); + display.println(F(ssid)); + display.println(F("Please check ssid and pass!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(100L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } + + // After connecting to WiFi we need to get internet time from NTP server + time_t nowSec; + struct tm timeInfo; + // Fetch current time in epoch format and store it + display.getNTPEpoch(&nowSec); + gmtime_r(&nowSec, &timeInfo); + Serial.print(F("Current time: ")); + Serial.print(asctime(&timeInfo)); // Get data from API cnt = network.getData(fw, lat, lon, apiKey, &timezone); - // Get the current time and store it to the variables declared on the top - network.setTime(timezone, &timeinfo); // Get the first day to display day1 = getFirstDay(); diff --git a/examples/Inkplate2/Projects/Inkplate2_Daily_Weather_Station/Network.cpp b/examples/Inkplate2/Projects/Inkplate2_Daily_Weather_Station/Network.cpp index 05446bd7..e04d1071 100644 --- a/examples/Inkplate2/Projects/Inkplate2_Daily_Weather_Station/Network.cpp +++ b/examples/Inkplate2/Projects/Inkplate2_Daily_Weather_Station/Network.cpp @@ -100,29 +100,4 @@ int Network::getData(struct forecastWeather *fw, String lat, String lon, String free(buf); doc.clear(); return cnt; -} - -void Network::setTime(int timezone, struct tm *timeinfo) -{ - // Used for setting correct time - configTime(0, 0, "pool.ntp.org", "time.nist.gov"); - - Serial.print(F("Waiting for NTP time sync: ")); - time_t nowSecs = time(nullptr); - while (nowSecs < 8 * 3600 * 2) - { - delay(500); - Serial.print(F(".")); - yield(); - nowSecs = time(nullptr); - } - - Serial.println(); - - // Used to store time info - nowSecs += timezone; - gmtime_r(&nowSecs, timeinfo); - - Serial.print(F("Current time: ")); - Serial.print(asctime(timeinfo)); -} +} \ No newline at end of file diff --git a/examples/Inkplate2/Projects/Inkplate2_Daily_Weather_Station/Network.h b/examples/Inkplate2/Projects/Inkplate2_Daily_Weather_Station/Network.h index 365e141a..cdca982a 100644 --- a/examples/Inkplate2/Projects/Inkplate2_Daily_Weather_Station/Network.h +++ b/examples/Inkplate2/Projects/Inkplate2_Daily_Weather_Station/Network.h @@ -37,7 +37,6 @@ class Network // Functions we can access in main file void begin(char *ssid, char *pass); int getData(struct forecastWeather *fw, String lat, String lon, String apiKey, int *timezone); - void setTime(int timezone, struct tm *timeinfo); }; #endif diff --git a/examples/Inkplate2/Projects/Inkplate2_Google_Calendar/Inkplate2_Google_Calendar.ino b/examples/Inkplate2/Projects/Inkplate2_Google_Calendar/Inkplate2_Google_Calendar.ino index 8db15f1b..da9e4cf3 100644 --- a/examples/Inkplate2/Projects/Inkplate2_Google_Calendar/Inkplate2_Google_Calendar.ino +++ b/examples/Inkplate2/Projects/Inkplate2_Google_Calendar/Inkplate2_Google_Calendar.ino @@ -41,6 +41,7 @@ // Delay between API calls #define DELAY_MS 4 * 60000 // 4 minutes times 60000 miliseconds in minute +#define DELAY_WIFI_RETRY_SECONDS 10 Inkplate display; // Initiate out Inkplate object @@ -107,7 +108,36 @@ void setup() display.setTextWrap(false); display.setTextColor(INKPLATE2_BLACK, INKPLATE2_WHITE); - network.begin(ssid, pass); // Connect to wifi and get data + // Connect Inkplate to the WiFi network + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(ssid, pass, WIFI_TIMEOUT, true)) + { + //Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(1); + // Set the cursor positions and print the text. + display.setCursor(0, 0); + display.print(F("Unable to connect to ")); + display.println(F(ssid)); + display.println(F("Please check SSID and PASS!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(1000L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } + + // After connecting to WiFi we need to get internet time from NTP server + time_t nowSec; + struct tm timeInfo; + // Fetch current time in epoch format and store it + display.getNTPEpoch(&nowSec); + gmtime_r(&nowSec, &timeInfo); + Serial.print(F("Current time: ")); + Serial.print(asctime(&timeInfo)); // Get the data from Google Calendar // Repeat attempts until data is fully downloaded @@ -362,6 +392,10 @@ void getEvents() &entries[entriesNum].timeStampEnd, &entries[entriesNum].timeStampStart); } ++entriesNum; + if(entriesNum == 128) + { + break; + } } // Sort entries by time diff --git a/examples/Inkplate2/Projects/Inkplate2_Google_Calendar/Network.cpp b/examples/Inkplate2/Projects/Inkplate2_Google_Calendar/Network.cpp index 01d3731b..16154338 100644 --- a/examples/Inkplate2/Projects/Inkplate2_Google_Calendar/Network.cpp +++ b/examples/Inkplate2/Projects/Inkplate2_Google_Calendar/Network.cpp @@ -56,9 +56,6 @@ void Network::begin(char *ssid, char *pass) } } Serial.println(F(" connected")); - - // Find internet time - setTime(); } /** @@ -183,36 +180,6 @@ bool Network::getData(char *calendarURL, char *data) } -/** - * @brief Set the current time from NTP - * - * @return None - */ -void Network::setTime() -{ - // Used for setting correct time - configTime(0, 0, "pool.ntp.org", "time.nist.gov"); - - Serial.print(F("Waiting for NTP time sync: ")); - time_t nowSecs = time(nullptr); - while (nowSecs < 8 * 3600 * 2) - { - delay(500); - Serial.print(F(".")); - yield(); - nowSecs = time(nullptr); - } - - Serial.println(); - - // Used to store time info - struct tm timeinfo; - gmtime_r(&nowSecs, &timeinfo); - - Serial.print(F("Current time: ")); - Serial.print(asctime(&timeinfo)); -} - /** * @brief Get the current epoch * diff --git a/examples/Inkplate2/Projects/Inkplate2_Google_Calendar/Network.h b/examples/Inkplate2/Projects/Inkplate2_Google_Calendar/Network.h index 34a6c792..18d5b57f 100644 --- a/examples/Inkplate2/Projects/Inkplate2_Google_Calendar/Network.h +++ b/examples/Inkplate2/Projects/Inkplate2_Google_Calendar/Network.h @@ -37,8 +37,6 @@ class Network time_t getEpoch(); private: - // Functions called from within our class - void setTime(); bool getRequest(WiFiClientSecure * client, char * _api_root_url, char * _api_call_url); }; diff --git a/examples/Inkplate2/Projects/Inkplate2_Hourly_Weather_Station/Inkplate2_Hourly_Weather_Station.ino b/examples/Inkplate2/Projects/Inkplate2_Hourly_Weather_Station/Inkplate2_Hourly_Weather_Station.ino index 2df37b4f..b58680a0 100644 --- a/examples/Inkplate2/Projects/Inkplate2_Hourly_Weather_Station/Inkplate2_Hourly_Weather_Station.ino +++ b/examples/Inkplate2/Projects/Inkplate2_Hourly_Weather_Station/Inkplate2_Hourly_Weather_Station.ino @@ -15,6 +15,10 @@ Want to learn more about Inkplate? Visit www.inkplate.io Looking to get support? Write on our forums: https://forum.soldered.com/ 5 April 2022 by e-radionica.com + + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases */ // Next 3 lines are a precaution, you can ignore those, and the example would also work without them @@ -34,6 +38,7 @@ // Delay between API calls, about 1000000 per month, which is the free tier limit #define DELAY_MS 267800L +#define DELAY_WIFI_RETRY_SECONDS 10 // Inkplate object Inkplate display; @@ -97,8 +102,36 @@ void setup() // Initial cleaning of buffer and physical screen display.clearDisplay(); - // Calling our begin from network.h file - network.begin(ssid, pass); + // Connect Inkplate to the WiFi network + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(ssid, pass, WIFI_TIMEOUT, true)) + { + //Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(1); + // Set the cursor positions and print the text. + display.setCursor(0, 0); + display.print(F("Unable to connect to ")); + display.println(F(ssid)); + display.println(F("Please check SSID and PASS!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(1000L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } + + // After connecting to WiFi we need to get internet time from NTP server + time_t nowSec; + struct tm timeInfo; + // Fetch current time in epoch format and store it + display.getNTPEpoch(&nowSec); + gmtime_r(&nowSec, &timeInfo); + Serial.print(F("Current time: ")); + Serial.print(asctime(&timeInfo)); // Clear display display.clearDisplay(); diff --git a/examples/Inkplate2/Projects/Inkplate2_Hourly_Weather_Station/Network.cpp b/examples/Inkplate2/Projects/Inkplate2_Hourly_Weather_Station/Network.cpp index cf60d9cf..3dce9d00 100644 --- a/examples/Inkplate2/Projects/Inkplate2_Hourly_Weather_Station/Network.cpp +++ b/examples/Inkplate2/Projects/Inkplate2_Hourly_Weather_Station/Network.cpp @@ -48,9 +48,6 @@ void Network::begin(char *ssid, char *pass) } Serial.println(F(" connected")); - // Find internet time - setTime(); - // reduce power by making WiFi module sleep WiFi.setSleep(1); } @@ -202,32 +199,6 @@ bool Network::getData(char *lon, char *lat, char *apiKey, char *temp1, char *tem return !f; } -void Network::setTime() -{ - // Used for setting correct time - configTime(0, 0, "pool.ntp.org", "time.nist.gov"); - - Serial.print(F("Waiting for NTP time sync: ")); - time_t nowSecs = time(nullptr); - while (nowSecs < 8 * 3600 * 2) - { - // Print a dot every half a second while time is not set - delay(500); - Serial.print(F(".")); - yield(); - nowSecs = time(nullptr); - } - - Serial.println(); - - // Used to store time info - struct tm timeinfo; - gmtime_r(&nowSecs, &timeinfo); - - Serial.print(F("Current time: ")); - Serial.print(asctime(&timeinfo)); -} - void Network::getHours(char *hour1, char *hour2, char *hour3) { // Format hours info diff --git a/examples/Inkplate2/Projects/Inkplate2_Hourly_Weather_Station/Network.h b/examples/Inkplate2/Projects/Inkplate2_Hourly_Weather_Station/Network.h index 524b30fb..dcf6476b 100644 --- a/examples/Inkplate2/Projects/Inkplate2_Hourly_Weather_Station/Network.h +++ b/examples/Inkplate2/Projects/Inkplate2_Hourly_Weather_Station/Network.h @@ -39,8 +39,6 @@ class Network time_t dataEpoch = 0; private: - // Functions called from within our class - void setTime(); int timeZone; }; diff --git a/examples/Inkplate2/Projects/Inkplate2_Kickstarter_Campaign_Tracker/Inkplate2_Kickstarter_Campaign_Tracker.ino b/examples/Inkplate2/Projects/Inkplate2_Kickstarter_Campaign_Tracker/Inkplate2_Kickstarter_Campaign_Tracker.ino index 1ce72aaf..1561a96b 100644 --- a/examples/Inkplate2/Projects/Inkplate2_Kickstarter_Campaign_Tracker/Inkplate2_Kickstarter_Campaign_Tracker.ino +++ b/examples/Inkplate2/Projects/Inkplate2_Kickstarter_Campaign_Tracker/Inkplate2_Kickstarter_Campaign_Tracker.ino @@ -26,6 +26,7 @@ Inkplate display; Network network; #define DELAY_MS 300000 // Delay in milliseconds between deep sleep and the next wake up -> 5 minutes +#define DELAY_WIFI_RETRY_SECONDS 10 char *ssid = ""; // your network SSID (name of wifi network) char *password = ""; // your network password @@ -47,11 +48,31 @@ void setup() // Initialize Inkplate display.begin(); - // Connect inkplate to wifi - network.begin(ssid, password); + // Connect Inkplate to the WiFi network + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(ssid, password, WIFI_TIMEOUT, true)) + { + //Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(3); + // Set the cursor positions and print the text. + display.setCursor((display.width() / 2) - 200, display.height() / 2); + display.print(F("Unable to connect to ")); + display.println(F(ssid)); + display.setCursor((display.width() / 2) - 200, (display.height() / 2) + 30); + display.println(F("Please check SSID and PASS!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(1000L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } + + setTime(); - // Set the current time - network.setTime(&timeinfo, timeZone); // Get data from the API Serial.println("Getting data from API"); @@ -74,6 +95,27 @@ void loop() // time. loop() must be empty! } +// Function for getting time from NTP server +void setTime() +{ + // Structure used to hold time information + struct tm timeInfo; + // Fetch current time from an NTP server and store it + time_t nowSec; + // Fetch current time in epoch format and store it + display.getNTPEpoch(&nowSec); + // This loop ensures that the NTP time fetched is valid and beyond a certain threshold + while(nowSec < 8 * 3600 * 2) + { + delay(500); + yield(); + display.getNTPEpoch(&nowSec); + } + gmtime_r(&nowSec, &timeInfo); + Serial.print(F("Current time: ")); + Serial.print(asctime(&timeInfo)); +} + void drawData(int backers, int pledged, struct tm *timeinfo) { // Print data in the frame buffer the Inkplate diff --git a/examples/Inkplate2/Projects/Inkplate2_Quotables/Inkplate2_Quotables.ino b/examples/Inkplate2/Projects/Inkplate2_Quotables/Inkplate2_Quotables.ino index 1a5e43c9..dd61bdb1 100644 --- a/examples/Inkplate2/Projects/Inkplate2_Quotables/Inkplate2_Quotables.ino +++ b/examples/Inkplate2/Projects/Inkplate2_Quotables/Inkplate2_Quotables.ino @@ -35,6 +35,7 @@ // Delay between API calls in seconds, 300 seconds is 5 minutes #define DELAY_S 300 +#define DELAY_WIFI_RETRY_SECONDS 10 // create object with all networking functions Network network; @@ -61,8 +62,26 @@ void setup() display.setTextWrap(true); // Set text wrapping to true display.setTextColor(INKPLATE2_BLACK, INKPLATE2_WHITE); - // Our begin function - network.begin(ssid, pass); + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(ssid, pass, WIFI_TIMEOUT, true)) + { + //Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(1); + // Set the cursor positions and print the text. + display.setCursor(0, 0); + display.print(F("Unable to connect to ")); + display.println(F(ssid)); + display.println(F("Please check SSID and PASS!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(1000L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } // Try to get the new random quote from the Internet. while (!network.getData(quote, author, &len, &display)) diff --git a/examples/Inkplate2/Projects/Inkplate2_World_Clock/Inkplate2_World_Clock.ino b/examples/Inkplate2/Projects/Inkplate2_World_Clock/Inkplate2_World_Clock.ino index 84826e50..fe9f0e0a 100644 --- a/examples/Inkplate2/Projects/Inkplate2_World_Clock/Inkplate2_World_Clock.ino +++ b/examples/Inkplate2/Projects/Inkplate2_World_Clock/Inkplate2_World_Clock.ino @@ -34,6 +34,7 @@ #define uS_TO_S_FACTOR 1000000 // Conversion factor for micro seconds to seconds #define TIME_TO_SLEEP 300 // How long ESP32 will be in deep sleep (in seconds) +#define DELAY_WIFI_RETRY_SECONDS 10 // Create object with all networking functions Network network; @@ -66,8 +67,35 @@ void setup() // Init display display.begin(); - // Network begin function - network.begin(ssid, pass); + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(ssid, pass, WIFI_TIMEOUT, true)) + { + //Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(1); + // Set the cursor positions and print the text. + display.setCursor(0, 0); + display.print(F("Unable to connect to ")); + display.println(F(ssid)); + display.println(F("Please check SSID and PASS!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(1000L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } + + // After connecting to WiFi we need to get internet time from NTP server + time_t nowSec; + struct tm timeInfo; + // Fetch current time in epoch format and store it + display.getNTPEpoch(&nowSec); + gmtime_r(&nowSec, &timeInfo); + Serial.print(F("Current time: ")); + Serial.print(asctime(&timeInfo)); // Get all the available timezones network.getAllCities(); diff --git a/examples/Inkplate2/Projects/Inkplate2_Youtube_Subscriber_Counter/Inkplate2_Youtube_Subscriber_Counter.ino b/examples/Inkplate2/Projects/Inkplate2_Youtube_Subscriber_Counter/Inkplate2_Youtube_Subscriber_Counter.ino index 7c1e9929..6509d978 100644 --- a/examples/Inkplate2/Projects/Inkplate2_Youtube_Subscriber_Counter/Inkplate2_Youtube_Subscriber_Counter.ino +++ b/examples/Inkplate2/Projects/Inkplate2_Youtube_Subscriber_Counter/Inkplate2_Youtube_Subscriber_Counter.ino @@ -19,6 +19,10 @@ Want to learn more about Inkplate? Visit www.inkplate.io Looking to get support? Write on our forums: https://forum.soldered.com/ 7 April 2022 by Soldered + + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases */ // Next 3 lines are a precaution, you can ignore those, and the example would also work without them @@ -40,6 +44,7 @@ // Delay between API calls in miliseconds (10 minutes) #define DELAY_MS 10 * 60 * 1000 +#define DELAY_WIFI_RETRY_SECONDS 10 // Create object with all networking functions Network network; @@ -122,8 +127,26 @@ void setup() delay(1000); } - // Our begin function - network.begin(ssid, pass); + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(ssid, pass, WIFI_TIMEOUT, true)) + { + //Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(1); + // Set the cursor positions and print the text. + display.setCursor(0, 0); + display.print(F("Unable to connect to ")); + display.println(F(ssid)); + display.println(F("Please check SSID and PASS!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(1000L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } while (!network.getData(&channel, channel_id, api_key, &display)) { diff --git a/examples/Inkplate4/Advanced/DeepSleep/Inkplate4_Simple_Deep_Sleep/Inkplate4_Simple_Deep_Sleep.ino b/examples/Inkplate4/Advanced/DeepSleep/Inkplate4_Simple_Deep_Sleep/Inkplate4_Simple_Deep_Sleep.ino index beceb410..b1925f2c 100644 --- a/examples/Inkplate4/Advanced/DeepSleep/Inkplate4_Simple_Deep_Sleep/Inkplate4_Simple_Deep_Sleep.ino +++ b/examples/Inkplate4/Advanced/DeepSleep/Inkplate4_Simple_Deep_Sleep/Inkplate4_Simple_Deep_Sleep.ino @@ -16,6 +16,10 @@ Want to learn more about Inkplate? Visit www.inkplate.io Looking to get support? Write on our forums: https://forum.soldered.com/ 5 April 2023 by Soldered + + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases */ // Next 3 lines are a precaution, you can ignore those, and the example would also work without them diff --git a/examples/Inkplate4/Advanced/Other/Inkplate4_Read_Battery_Voltage/Inkplate4_Read_Battery_Voltage.ino b/examples/Inkplate4/Advanced/Other/Inkplate4_Read_Battery_Voltage/Inkplate4_Read_Battery_Voltage.ino index 9c3b2d2f..d0f7a426 100644 --- a/examples/Inkplate4/Advanced/Other/Inkplate4_Read_Battery_Voltage/Inkplate4_Read_Battery_Voltage.ino +++ b/examples/Inkplate4/Advanced/Other/Inkplate4_Read_Battery_Voltage/Inkplate4_Read_Battery_Voltage.ino @@ -10,6 +10,10 @@ Want to learn more about Inkplate? Visit www.inkplate.io Looking to get support? Write on our forums: https://forum.soldered.com/ 4 April 2023 by Soldered + + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases */ // Next 3 lines are a precaution, you can ignore those, and the example would also work without them diff --git a/examples/Inkplate4/Projects/Inkplate4_Crypto_Currency_Tracker/Inkplate4_Crypto_Currency_Tracker.ino b/examples/Inkplate4/Projects/Inkplate4_Crypto_Currency_Tracker/Inkplate4_Crypto_Currency_Tracker.ino index 7b07b546..823b12ba 100644 --- a/examples/Inkplate4/Projects/Inkplate4_Crypto_Currency_Tracker/Inkplate4_Crypto_Currency_Tracker.ino +++ b/examples/Inkplate4/Projects/Inkplate4_Crypto_Currency_Tracker/Inkplate4_Crypto_Currency_Tracker.ino @@ -37,7 +37,7 @@ char pass[] = ""; // Delay between API calls in miliseconds (first 60 represents minutes so you can change to your need) #define DELAY_MS 3 * 60 * 1000 - +#define DELAY_WIFI_RETRY_SECONDS 10 // OPTIONAL: // Change to a different currency // Use lowercase letters @@ -129,8 +129,36 @@ void setup() display.setTextWrap(false); display.setTextColor(INKPLATE4_BLACK); - // Our begin function - network.begin(ssid, pass); + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(ssid, pass, WIFI_TIMEOUT, true)) + { + // Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(3); + // Set the cursor positions and print the text. + display.setCursor((display.width() / 2) - 200, display.height() / 2); + display.print(F("Unable to connect to ")); + display.println(F(ssid)); + display.setCursor((display.width() / 2) - 200, (display.height() / 2) + 30); + display.println(F("Please check ssid and pass!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(1000L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } + + // After connecting to WiFi we need to get internet time from NTP server + time_t nowSec; + struct tm timeInfo; + // Fetch current time in epoch format and store it + display.getNTPEpoch(&nowSec); + gmtime_r(&nowSec, &timeInfo); + Serial.print(F("Current time: ")); + Serial.print(asctime(&timeInfo)); Serial.println("Retrying retriving data"); while (!network.getData(data, currency)) diff --git a/examples/Inkplate4/Projects/Inkplate4_Crypto_Currency_Tracker/Network.cpp b/examples/Inkplate4/Projects/Inkplate4_Crypto_Currency_Tracker/Network.cpp index f11503ad..097ee918 100644 --- a/examples/Inkplate4/Projects/Inkplate4_Crypto_Currency_Tracker/Network.cpp +++ b/examples/Inkplate4/Projects/Inkplate4_Crypto_Currency_Tracker/Network.cpp @@ -60,9 +60,6 @@ void Network::begin(char * ssid, char * pass) } } Serial.println(F(" connected")); - - // Find internet time - setTime(); } /** @@ -181,34 +178,4 @@ bool Network::getData(double *data, char * currency) WiFi.setSleep(sleep); return !f; -} - -/** - * @brief Set the internal time with data from NTP server - * - * @returns None -*/ -void Network::setTime() -{ - // Used for setting correct time - configTime(0, 0, "pool.ntp.org", "time.nist.gov"); - - Serial.print(F("Waiting for NTP time sync: ")); - time_t nowSecs = time(nullptr); - while (nowSecs < 8 * 3600 * 2) - { - delay(500); - Serial.print(F(".")); - yield(); - nowSecs = time(nullptr); - } - - Serial.println(); - - // Used to store time info - struct tm timeinfo; - gmtime_r(&nowSecs, &timeinfo); - - Serial.print(F("Current time: ")); - Serial.print(asctime(&timeinfo)); -} +} \ No newline at end of file diff --git a/examples/Inkplate4/Projects/Inkplate4_Crypto_Currency_Tracker/Network.h b/examples/Inkplate4/Projects/Inkplate4_Crypto_Currency_Tracker/Network.h index 39ad2e22..c40005a1 100644 --- a/examples/Inkplate4/Projects/Inkplate4_Crypto_Currency_Tracker/Network.h +++ b/examples/Inkplate4/Projects/Inkplate4_Crypto_Currency_Tracker/Network.h @@ -36,8 +36,6 @@ class Network bool getData(double *data, char * currency); private: - // Functions called from within our class - void setTime(); }; #endif diff --git a/examples/Inkplate4/Projects/Inkplate4_Daily_Weather_Station/Inkplate4_Daily_Weather_Station.ino b/examples/Inkplate4/Projects/Inkplate4_Daily_Weather_Station/Inkplate4_Daily_Weather_Station.ino index 76804766..55c8dbee 100644 --- a/examples/Inkplate4/Projects/Inkplate4_Daily_Weather_Station/Inkplate4_Daily_Weather_Station.ino +++ b/examples/Inkplate4/Projects/Inkplate4_Daily_Weather_Station/Inkplate4_Daily_Weather_Station.ino @@ -20,6 +20,10 @@ Want to learn more about Inkplate? Visit www.inkplate.io Looking to get support? Write on our forums: https://forum.soldered.com/ 11 April 2023 by Soldered + + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases */ // Next 3 lines are a precaution, you can ignore those, and the example would also work without them @@ -62,6 +66,7 @@ char apiKey[] = ""; // Delay between API calls #define DELAY_MS (uint32_t)10 * 60 * 1000 // 10 minute time +#define DELAY_WIFI_RETRY_SECONDS 10 // Inkplate object Inkplate display; @@ -114,8 +119,36 @@ void setup() Serial.begin(115200); display.begin(); - // Calling our begin from network.h file - network.begin(ssid, pass); + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(ssid, pass, WIFI_TIMEOUT, true)) + { + //Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(3); + // Set the cursor positions and print the text. + display.setCursor((display.width() / 2) - 200, display.height() / 2); + display.print(F("Unable to connect to ")); + display.println(F(ssid)); + display.setCursor((display.width() / 2) - 200, (display.height() / 2) + 30); + display.println(F("Please check ssid and pass!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(1000L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } + + // After connecting to WiFi we need to get internet time from NTP server + time_t nowSec; + struct tm timeInfo; + // Fetch current time in epoch format and store it + display.getNTPEpoch(&nowSec); + gmtime_r(&nowSec, &timeInfo); + Serial.print(F("Current time: ")); + Serial.print(asctime(&timeInfo)); // Get all relevant data, see Network.cpp for info Serial.print("Fetching data"); diff --git a/examples/Inkplate4/Projects/Inkplate4_Daily_Weather_Station/Network.cpp b/examples/Inkplate4/Projects/Inkplate4_Daily_Weather_Station/Network.cpp index b87ee821..b96f1b2c 100644 --- a/examples/Inkplate4/Projects/Inkplate4_Daily_Weather_Station/Network.cpp +++ b/examples/Inkplate4/Projects/Inkplate4_Daily_Weather_Station/Network.cpp @@ -40,9 +40,6 @@ void Network::begin(char *ssid, char *pass) } } Serial.println(F(" connected")); - - // Find internet time - setTime(); } // Gets time from ntp server @@ -222,30 +219,4 @@ bool Network::getData(char *lat, char *lon, char *apiKey, char *city, char *temp WiFi.setSleep(sleep); return 1; -} - -void Network::setTime() -{ - // Used for setting correct time - configTime(0, 0, "pool.ntp.org", "time.nist.gov"); - - Serial.print(F("Waiting for NTP time sync: ")); - time_t nowSecs = time(nullptr); - while (nowSecs < 8 * 3600 * 2) - { - // Print a dot every half a second while time is not set - delay(500); - Serial.print(F(".")); - yield(); - nowSecs = time(nullptr); - } - - Serial.println(); - - // Used to store time info - struct tm timeinfo; - gmtime_r(&nowSecs, &timeinfo); - - Serial.print(F("Current time: ")); - Serial.print(asctime(&timeinfo)); -} +} \ No newline at end of file diff --git a/examples/Inkplate4/Projects/Inkplate4_Daily_Weather_Station/Network.h b/examples/Inkplate4/Projects/Inkplate4_Daily_Weather_Station/Network.h index 03a0c8f0..d28b8384 100644 --- a/examples/Inkplate4/Projects/Inkplate4_Daily_Weather_Station/Network.h +++ b/examples/Inkplate4/Projects/Inkplate4_Daily_Weather_Station/Network.h @@ -43,8 +43,6 @@ class Network char *currentWeatherAbbr, char *abbr1, char *abbr2, char *abbr3, char *abbr4, uint8_t *hours); private: - // Functions called from within our class - void setTime(); int timeZone = 0; }; diff --git a/examples/Inkplate4/Projects/Inkplate4_Google_Calendar/Inkplate4_Google_Calendar.ino b/examples/Inkplate4/Projects/Inkplate4_Google_Calendar/Inkplate4_Google_Calendar.ino index 6c9363a4..b48dab71 100644 --- a/examples/Inkplate4/Projects/Inkplate4_Google_Calendar/Inkplate4_Google_Calendar.ino +++ b/examples/Inkplate4/Projects/Inkplate4_Google_Calendar/Inkplate4_Google_Calendar.ino @@ -57,6 +57,7 @@ int timeZone = 2; // 2 means UTC+2 // Delay between API calls in seconds #define DELAY_SECS 4 * 60 // Every 4 minutes +#define DELAY_WIFI_RETRY_SECONDS 10 //---------------------------------------------- @@ -106,7 +107,36 @@ void setup() display.setTextColor(INKPLATE4_BLACK, INKPLATE4_WHITE); // Connect Inkplate to the WiFi network - network.begin(ssid, pass); + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(ssid, pass, WIFI_TIMEOUT, true)) + { + //Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(3); + // Set the cursor positions and print the text. + display.setCursor((display.width() / 2) - 200, display.height() / 2); + display.print(F("Unable to connect to ")); + display.println(F(ssid)); + display.setCursor((display.width() / 2) - 200, (display.height() / 2) + 30); + display.println(F("Please check SSID and PASS!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(1000L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } + + // After connecting to WiFi we need to get internet time from NTP server + time_t nowSec; + struct tm timeInfo; + // Fetch current time in epoch format and store it + display.getNTPEpoch(&nowSec); + gmtime_r(&nowSec, &timeInfo); + Serial.print(F("Current time: ")); + Serial.print(asctime(&timeInfo)); // Get the data from Google Calendar // Repeat attempts until data is fully downloaded @@ -456,6 +486,10 @@ void drawData() &entries[entriesNum].timeStamp); } ++entriesNum; + if(entriesNum == 128) + { + break; + } } // Sort entries by time diff --git a/examples/Inkplate4/Projects/Inkplate4_Google_Calendar/Network.cpp b/examples/Inkplate4/Projects/Inkplate4_Google_Calendar/Network.cpp index f219f983..1cc72f49 100644 --- a/examples/Inkplate4/Projects/Inkplate4_Google_Calendar/Network.cpp +++ b/examples/Inkplate4/Projects/Inkplate4_Google_Calendar/Network.cpp @@ -42,9 +42,6 @@ void Network::begin(char *ssid, char *pass) } } Serial.println(F(" connected")); - - // Find and print internet time, the timezone will be added later - setTime(); } // Gets time from ntp server @@ -142,29 +139,3 @@ bool Network::getData(char *calendarURL, char *data) return !f; } - -// Find internet time -void Network::setTime() -{ - // Used for setting correct time - configTime(0, 0, "pool.ntp.org", "time.nist.gov"); - - Serial.print(F("Waiting for NTP time sync: ")); - time_t nowSecs = time(nullptr); - while (nowSecs < 8 * 3600 * 2) - { - delay(500); - Serial.print(F(".")); - yield(); - nowSecs = time(nullptr); - } - Serial.println(); - - // Used to store time info - struct tm timeinfo; - gmtime_r(&nowSecs, &timeinfo); - - // Print the current time without adding a timezone - Serial.print(F("Current time: ")); - Serial.print(asctime(&timeinfo)); -} diff --git a/examples/Inkplate4/Projects/Inkplate4_Google_Calendar/Network.h b/examples/Inkplate4/Projects/Inkplate4_Google_Calendar/Network.h index 38df6957..1da10c0f 100644 --- a/examples/Inkplate4/Projects/Inkplate4_Google_Calendar/Network.h +++ b/examples/Inkplate4/Projects/Inkplate4_Google_Calendar/Network.h @@ -35,8 +35,6 @@ class Network bool getData(char *calendarURL, char *data); private: - // Functions called from within our class - void setTime(); }; #endif diff --git a/examples/Inkplate4/Projects/Inkplate4_Hourly_Weather_Station/Inkplate4_Hourly_Weather_Station.ino b/examples/Inkplate4/Projects/Inkplate4_Hourly_Weather_Station/Inkplate4_Hourly_Weather_Station.ino index 138d50c9..62c0a021 100644 --- a/examples/Inkplate4/Projects/Inkplate4_Hourly_Weather_Station/Inkplate4_Hourly_Weather_Station.ino +++ b/examples/Inkplate4/Projects/Inkplate4_Hourly_Weather_Station/Inkplate4_Hourly_Weather_Station.ino @@ -22,6 +22,10 @@ Want to learn more about Inkplate? Visit www.inkplate.io Looking to get support? Write on our forums: https://forum.soldered.com/ 11 April 2023 by Soldered + + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases */ // Next 3 lines are a precaution, you can ignore those, and the example would also work without them @@ -67,6 +71,7 @@ char apiKey[] = ""; // Delay between API calls, about 1000 per month, which is the free tier limit #define DELAY_MS 267800L +#define DELAY_WIFI_RETRY_SECONDS 10 // Inkplate object Inkplate display; @@ -133,8 +138,37 @@ void setup() Serial.begin(115200); display.begin(); - // Calling our begin from network.h file - network.begin(ssid, pass); + // Connect Inkplate to the WiFi network + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(ssid, pass, WIFI_TIMEOUT, true)) + { + //Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(3); + // Set the cursor positions and print the text. + display.setCursor((display.width() / 2) - 200, display.height() / 2); + display.print(F("Unable to connect to ")); + display.println(F(ssid)); + display.setCursor((display.width() / 2) - 200, (display.height() / 2) + 30); + display.println(F("Please check SSID and PASS!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(1000L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } + + // After connecting to WiFi we need to get internet time from NTP server + time_t nowSec; + struct tm timeInfo; + // Fetch current time in epoch format and store it + display.getNTPEpoch(&nowSec); + gmtime_r(&nowSec, &timeInfo); + Serial.print(F("Current time: ")); + Serial.print(asctime(&timeInfo)); // Get all relevant data, see Network.cpp for info Serial.print("Fetching data"); diff --git a/examples/Inkplate4/Projects/Inkplate4_Hourly_Weather_Station/Network.cpp b/examples/Inkplate4/Projects/Inkplate4_Hourly_Weather_Station/Network.cpp index 7d7b41ae..5781e045 100644 --- a/examples/Inkplate4/Projects/Inkplate4_Hourly_Weather_Station/Network.cpp +++ b/examples/Inkplate4/Projects/Inkplate4_Hourly_Weather_Station/Network.cpp @@ -44,9 +44,6 @@ void Network::begin(char *ssid, char *pass) } Serial.println(F(" connected")); - // Find internet time - setTime(); - // Reduce power by making WiFi module sleep WiFi.setSleep(1); } @@ -208,31 +205,6 @@ bool Network::getData(char *lat, char *lon, char *apiKey, char *temp1, char *tem return !f; } -void Network::setTime() -{ - // Used for setting correct time - configTime(0, 0, "pool.ntp.org", "time.nist.gov"); - - Serial.print(F("Waiting for NTP time sync: ")); - time_t nowSecs = time(nullptr); - while (nowSecs < 8 * 3600 * 2) - { - // Print a dot every half a second while time is not set - delay(500); - Serial.print(F(".")); - yield(); - nowSecs = time(nullptr); - } - Serial.println(); - - // Used to store time info - struct tm timeinfo; - gmtime_r(&nowSecs, &timeinfo); - - Serial.print(F("Current time: ")); - Serial.print(asctime(&timeinfo)); -} - void Network::getHours(char *hour1, char *hour2, char *hour3, char *hour4, int timeZone) { // Format hours info diff --git a/examples/Inkplate4/Projects/Inkplate4_Hourly_Weather_Station/Network.h b/examples/Inkplate4/Projects/Inkplate4_Hourly_Weather_Station/Network.h index 2bb9d4a2..cc0bb98f 100644 --- a/examples/Inkplate4/Projects/Inkplate4_Hourly_Weather_Station/Network.h +++ b/examples/Inkplate4/Projects/Inkplate4_Hourly_Weather_Station/Network.h @@ -38,8 +38,6 @@ class Network void getHours(char *hour1, char *hour2, char *hour3, char *hour4, int timeZone); private: - // Functions called from within our class - void setTime(); // Used for storing retrieved data timestamp time_t dataEpoch = 0; diff --git a/examples/Inkplate4/Projects/Inkplate4_News_API/Inkplate4_News_API.ino b/examples/Inkplate4/Projects/Inkplate4_News_API/Inkplate4_News_API.ino index 963494ec..0a261cc2 100644 --- a/examples/Inkplate4/Projects/Inkplate4_News_API/Inkplate4_News_API.ino +++ b/examples/Inkplate4/Projects/Inkplate4_News_API/Inkplate4_News_API.ino @@ -36,7 +36,7 @@ char apiKey[] = ""; // You can obtain one here: https://newsapi.org/ // Here is set to 1 call per hour, but if you want to change it, have in mind that in the free plan there are only 100 // free API calls #define DELAY_MS 60 * 60 * 1000 - +#define DELAY_WIFI_RETRY_SECONDS 5 //------------------------------------- // Include Inkplate library to the sketch @@ -74,8 +74,28 @@ void setup() display.begin(); // Init Inkplate library (you should call this function ONLY ONCE) display.setTextWrap(false); - // Our begin function - network.begin(ssid, pass); + // Connect Inkplate to the WiFi network + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(ssid, pass, WIFI_TIMEOUT, true)) + { + //Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(3); + // Set the cursor positions and print the text. + display.setCursor((display.width() / 2) - 200, display.height() / 2); + display.print(F("Unable to connect to ")); + display.println(F(ssid)); + display.setCursor((display.width() / 2) - 200, (display.height() / 2) + 30); + display.println(F("Please check SSID and PASS!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(1000L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } // Pointer to the struct that will hold all news data struct news *entities = NULL; diff --git a/examples/Inkplate4/Projects/Inkplate4_OpenWeather_Station/Inkplate4_OpenWeather_Station.ino b/examples/Inkplate4/Projects/Inkplate4_OpenWeather_Station/Inkplate4_OpenWeather_Station.ino index 438157e8..dc900310 100644 --- a/examples/Inkplate4/Projects/Inkplate4_OpenWeather_Station/Inkplate4_OpenWeather_Station.ino +++ b/examples/Inkplate4/Projects/Inkplate4_OpenWeather_Station/Inkplate4_OpenWeather_Station.ino @@ -23,6 +23,10 @@ 4 April 2023 by Soldered Code for Moonphase and moon fonts taken from here: https://learn.adafruit.com/epaper-weather-station/arduino-setup + + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases */ // Next 3 lines are a precaution, you can ignore those, and the example would also work without them @@ -43,6 +47,8 @@ // Change to your wifi ssid and password #define SSID "" #define PASS "" +// Variable to store WiFi connection timeout +int timeoutSeconds = 100; // Openweather API key /** @@ -65,6 +71,8 @@ bool metric = true; // <--- true is METRIC, false is IMPERIAL // Delay between API calls #define DELAY_MS 59000 +#define DELAY_WIFI_RETRY_SECONDS 5 +#define DELAY_API_RETRY_SECONDS 5 // --------------------------------------- @@ -113,36 +121,6 @@ char Output[200] = {0}; OpenWeatherOneCall OWOC; // Invoke OpenWeather Library time_t t = now(); -void connectWifi() -{ - if (WiFi.status() == WL_CONNECTED) - return; - - // Initiating wifi, like in BasicHttpClient example - WiFi.mode(WIFI_STA); - WiFi.begin(SSID, PASS); - - int cnt = 0; - Serial.print("Waiting for WiFi to connect "); - while ((WiFi.status() != WL_CONNECTED)) - { - Serial.print("."); - delay(1000); - ++cnt; - - if (cnt == 20) - { - Serial.println("Can't connect to WIFI, restarting"); - delay(100); - ESP.restart(); - } - } - Serial.print("\nConnected to "); - Serial.println(SSID); - Serial.print("IP address: "); - Serial.println(WiFi.localIP()); -} //======================== END WIFI CONNECT ======================= - void GetCurrentWeather() { //================================= @@ -204,7 +182,27 @@ void setup() // Init Inkplate library (you should call this function ONLY ONCE) display.begin(); - connectWifi(); + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(SSID, PASS, timeoutSeconds, true)) + { + //Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(3); + // Set the cursor positions and print the text. + display.setCursor((display.width() / 2) - 200, display.height() / 2); + display.print(F("Unable to connect to ")); + display.println(F(SSID)); + display.setCursor((display.width() / 2) - 200, (display.height() / 2) + 30); + display.println(F("Please check SSID and PASS!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(1000L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } // Check if we have a valid API key: Serial.println("Checking if API key is valid..."); @@ -218,11 +216,10 @@ void setup() display.println("Can't get data from OpenWeatherMaps! Check your API key!"); display.println("Only older API keys for OneCall 2.5 work in free tier."); display.println("See the code comments the example for more info."); + // Display the error message on the Inkplate and go to deep sleep display.display(); - while(1) - { - delay(100); - } + esp_sleep_enable_timer_wakeup(1000L * DELAY_API_RETRY_SECONDS); + (void)esp_deep_sleep_start(); } Serial.println("API key is valid!"); @@ -590,4 +587,3 @@ bool checkIfAPIKeyIsValid(char *APIKEY) return !failed; } - diff --git a/examples/Inkplate4/Projects/Inkplate4_Quotables/Inkplate4_Quotables.ino b/examples/Inkplate4/Projects/Inkplate4_Quotables/Inkplate4_Quotables.ino index 0fcb2b7c..7f8f9e66 100644 --- a/examples/Inkplate4/Projects/Inkplate4_Quotables/Inkplate4_Quotables.ino +++ b/examples/Inkplate4/Projects/Inkplate4_Quotables/Inkplate4_Quotables.ino @@ -35,6 +35,7 @@ // Delay between API calls in seconds, 300 seconds is 5 minutes #define DELAY_S 300 +#define DELAY_WIFI_RETRY_SECONDS 5 // create object with all networking functions Network network; @@ -61,8 +62,27 @@ void setup() display.setTextWrap(true); // Set text wrapping to true display.setTextColor(INKPLATE4_BLACK, INKPLATE4_WHITE); - // Our begin function - network.begin(ssid, pass); + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(ssid, pass, WIFI_TIMEOUT, true)) + { + //Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(3); + // Set the cursor positions and print the text. + display.setCursor((display.width() / 2) - 200, display.height() / 2); + display.print(F("Unable to connect to ")); + display.println(F(ssid)); + display.setCursor((display.width() / 2) - 200, (display.height() / 2) + 30); + display.println(F("Please check SSID and PASS!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(1000L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } // Try to get the new random quote from the Internet. while (!network.getData(quote, author, &len, &display)) diff --git a/examples/Inkplate4/Projects/Inkplate4_Youtube_Subscriber_Counter/Inkplate4_Youtube_Subscriber_Counter.ino b/examples/Inkplate4/Projects/Inkplate4_Youtube_Subscriber_Counter/Inkplate4_Youtube_Subscriber_Counter.ino index 8adeaa68..b9da89f4 100644 --- a/examples/Inkplate4/Projects/Inkplate4_Youtube_Subscriber_Counter/Inkplate4_Youtube_Subscriber_Counter.ino +++ b/examples/Inkplate4/Projects/Inkplate4_Youtube_Subscriber_Counter/Inkplate4_Youtube_Subscriber_Counter.ino @@ -19,6 +19,10 @@ Want to learn more about Inkplate? Visit www.inkplate.io Looking to get support? Write on our forums: https://forum.soldered.com/ 31 July 2023 by Soldered + + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases */ // Next 3 lines are a precaution, you can ignore those, and the example would also work without them @@ -41,6 +45,7 @@ // Delay between API calls in miliseconds (10 minutes) #define DELAY_MS 10 * 60 * 1000 +#define DELAY_WIFI_RETRY_SECONDS 5 // Create object with all networking functions Network network; @@ -123,8 +128,27 @@ void setup() delay(1000); } - // Our begin function - network.begin(ssid, pass); + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(ssid, pass, WIFI_TIMEOUT, true)) + { + //Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(3); + // Set the cursor positions and print the text. + display.setCursor((display.width() / 2) - 200, display.height() / 2); + display.print(F("Unable to connect to ")); + display.println(F(ssid)); + display.setCursor((display.width() / 2) - 200, (display.height() / 2) + 30); + display.println(F("Please check SSID and PASS!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(1000L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } while (!network.getData(&channel, channel_id, api_key, &display)) { diff --git a/examples/Inkplate4TEMPERA/Advanced/DeepSleep/Inkplate4TEMPERA_Simple_Deep_Sleep/Inkplate4TEMPERA_Simple_Deep_Sleep.ino b/examples/Inkplate4TEMPERA/Advanced/DeepSleep/Inkplate4TEMPERA_Simple_Deep_Sleep/Inkplate4TEMPERA_Simple_Deep_Sleep.ino index af32457f..ecfa3742 100644 --- a/examples/Inkplate4TEMPERA/Advanced/DeepSleep/Inkplate4TEMPERA_Simple_Deep_Sleep/Inkplate4TEMPERA_Simple_Deep_Sleep.ino +++ b/examples/Inkplate4TEMPERA/Advanced/DeepSleep/Inkplate4TEMPERA_Simple_Deep_Sleep/Inkplate4TEMPERA_Simple_Deep_Sleep.ino @@ -15,6 +15,10 @@ Want to learn more about Inkplate? Visit www.inkplate.io Looking to get support? Write on our forums: https://forum.soldered.com/ 16 July 2023 by Soldered + + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases */ // Next 3 lines are a precaution, you can ignore those, and the example would also work without them diff --git a/examples/Inkplate4TEMPERA/Advanced/SD/Inkplate4TEMPERA_SD_Pictures/Inkplate4TEMPERA_SD_Pictures.ino b/examples/Inkplate4TEMPERA/Advanced/SD/Inkplate4TEMPERA_SD_Pictures/Inkplate4TEMPERA_SD_Pictures.ino index c4f68a63..43535ff4 100644 --- a/examples/Inkplate4TEMPERA/Advanced/SD/Inkplate4TEMPERA_SD_Pictures/Inkplate4TEMPERA_SD_Pictures.ino +++ b/examples/Inkplate4TEMPERA/Advanced/SD/Inkplate4TEMPERA_SD_Pictures/Inkplate4TEMPERA_SD_Pictures.ino @@ -14,6 +14,7 @@ Want to learn more about Inkplate? Visit www.inkplate.io Looking to get support? Write on our forums: https://forum.soldered.com/ + 24 July 2023 by Soldered */ diff --git a/examples/Inkplate4TEMPERA/Advanced/Sensors/Inkplate4TEMPERA_APDS9960/background.h b/examples/Inkplate4TEMPERA/Advanced/Sensors/Inkplate4TEMPERA_APDS9960/background.h index 7856c5b5..6e527802 100644 --- a/examples/Inkplate4TEMPERA/Advanced/Sensors/Inkplate4TEMPERA_APDS9960/background.h +++ b/examples/Inkplate4TEMPERA/Advanced/Sensors/Inkplate4TEMPERA_APDS9960/background.h @@ -1,3 +1,5 @@ + + const uint8_t background[] PROGMEM = { 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, diff --git a/examples/Inkplate4TEMPERA/Basic/Inkplate4TEMPERA_Black_And_White/Inkplate4TEMPERA_Black_And_White.ino b/examples/Inkplate4TEMPERA/Basic/Inkplate4TEMPERA_Black_And_White/Inkplate4TEMPERA_Black_And_White.ino index 26cea72f..7be14cc0 100644 --- a/examples/Inkplate4TEMPERA/Basic/Inkplate4TEMPERA_Black_And_White/Inkplate4TEMPERA_Black_And_White.ino +++ b/examples/Inkplate4TEMPERA/Basic/Inkplate4TEMPERA_Black_And_White/Inkplate4TEMPERA_Black_And_White.ino @@ -29,367 +29,7 @@ Inkplate display(INKPLATE_1BIT); // Create object on Inkplate library and set li // Want to refresh faster? Use partial update! Find example in "Inkplate4TEMPERA_Partial_Update" // Array that holds data for bitmap image of 513x105 pixels. You can convert your own image using LCD image Converter. -const uint8_t logo[] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x0f, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf8, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 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, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0x80, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x1f, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, - 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 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, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, - 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xff, 0xff, 0xff, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xf0, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, - 0xff, 0xc0, 0x0f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, - 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0x00, 0x07, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, - 0x1f, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xc0, 0x00, 0x00, 0x0f, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x1f, - 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x3f, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, - 0x3f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x7f, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xfc, 0x00, 0x01, - 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xf0, 0x00, - 0x00, 0x0f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, - 0x80, 0x3f, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xf0, 0x00, - 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, - 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x0f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, - 0x80, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x7f, 0xff, 0xff, - 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x1f, 0xff, 0xff, - 0xfc, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0x00, 0x00, 0x0f, 0xff, - 0xe0, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x3f, 0xff, - 0xff, 0xff, 0xff, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x0f, - 0xff, 0xff, 0x80, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, - 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x0f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, - 0x3f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x3f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x00, - 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x0f, 0xff, 0xff, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xfc, 0x00, 0x00, - 0x00, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x0f, 0xff, 0xe0, 0x00, 0x00, - 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x3f, 0xff, 0xff, 0xff, 0xff, - 0xe0, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x0f, 0xff, 0xfc, 0x00, - 0x00, 0x00, 0x00, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x03, 0xff, 0xff, 0xff, - 0xff, 0xf0, 0x00, 0x0f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x3f, 0xff, 0xff, - 0xff, 0xff, 0x80, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, - 0xff, 0xfe, 0x00, 0x00, 0x0f, 0xff, 0xf0, 0x00, 0x07, 0x00, 0x00, 0x7f, 0xff, 0xfc, 0x00, 0x00, 0x00, 0xff, 0xff, - 0xff, 0xff, 0xfc, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x0f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x3f, 0xff, - 0xff, 0xff, 0xff, 0xc0, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x7f, - 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x0f, 0xff, 0xf0, 0x00, 0x1f, 0x80, 0x00, - 0x3f, 0xff, 0xf8, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, - 0x0f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0x80, - 0x3f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, - 0x00, 0x0f, 0xff, 0xf0, 0x00, 0x3f, 0xe0, 0x00, 0x3f, 0xff, 0xf8, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xf8, - 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x0f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, - 0xf0, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x7f, 0xff, 0xff, 0xff, - 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x0f, 0xff, 0xf0, 0x00, 0x3f, 0xf8, 0x00, 0x1f, 0xff, 0xf0, - 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x0f, 0xff, 0xe0, - 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x3f, 0xff, 0xff, - 0xff, 0xff, 0xfe, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x0f, 0xff, - 0xf0, 0x00, 0x7f, 0xfe, 0x00, 0x0f, 0xff, 0xe0, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x3f, 0xff, - 0xff, 0xff, 0xff, 0xff, 0x00, 0x0f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x3f, - 0xff, 0xff, 0xff, 0xff, 0x80, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x0f, 0xff, 0xf0, 0x00, 0x7f, 0xff, 0x00, 0x07, 0xff, 0xc0, 0x00, 0x00, 0x07, - 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x7f, 0xff, 0xff, 0x3f, 0xff, 0xff, 0x80, 0x0f, 0xff, 0xe0, 0x00, 0x00, 0x00, - 0x3f, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x3f, 0xff, 0x80, 0x7f, 0xff, 0xfe, - 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x0f, 0xff, 0xf0, 0x00, 0xff, - 0xff, 0xc0, 0x03, 0xff, 0x80, 0x00, 0x00, 0x07, 0xff, 0xfc, 0x00, 0xff, 0xc0, 0x00, 0x7f, 0xff, 0xf0, 0x03, 0xff, - 0xff, 0x80, 0x0f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x7f, 0xff, 0xfe, 0x00, 0x3f, 0xff, 0x80, 0x00, - 0x00, 0x00, 0x3f, 0xff, 0x80, 0x03, 0xff, 0xff, 0x00, 0x7f, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0x00, 0xff, - 0xff, 0xf8, 0x00, 0x0f, 0xff, 0xf0, 0x00, 0xff, 0xff, 0xf0, 0x00, 0x7e, 0x00, 0x00, 0x00, 0x07, 0xff, 0xf8, 0x00, - 0x3f, 0x80, 0x00, 0xff, 0xff, 0xc0, 0x00, 0xff, 0xff, 0xc0, 0x0f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, - 0x0f, 0xff, 0xff, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x01, 0xff, 0xff, 0x00, 0x7f, 0xff, - 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0x00, 0x3f, 0xff, 0xfc, 0x00, 0x0f, 0xff, 0xf0, 0x00, 0xff, 0xff, 0xfc, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xf0, 0x00, 0x0f, 0x00, 0x00, 0xff, 0xff, 0x80, 0x00, 0x7f, 0xff, 0xc0, 0x0f, - 0xff, 0xe0, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x03, 0xff, 0xff, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x00, 0x00, 0x3f, - 0xff, 0x80, 0x00, 0xff, 0xff, 0x00, 0x7f, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0x00, 0x0f, 0xff, 0xfc, 0x00, - 0x0f, 0xff, 0xf0, 0x00, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xf0, 0x00, 0x02, 0x00, 0x00, - 0xff, 0xff, 0x00, 0x00, 0x3f, 0xff, 0xe0, 0x0f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x01, 0xff, 0xff, - 0x00, 0x3f, 0xff, 0x80, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x7f, 0xff, 0x00, 0x7f, 0xff, 0x00, 0x00, 0x00, - 0x00, 0xff, 0xfe, 0x00, 0x07, 0xff, 0xfe, 0x00, 0x0f, 0xff, 0xf0, 0x00, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, - 0x00, 0x0f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0x00, 0x00, 0x1f, 0xff, 0xe0, 0x0f, 0xff, 0xe0, 0x00, - 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0xff, 0xff, 0x80, 0x3f, 0xff, 0x80, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, - 0x7f, 0xff, 0x00, 0x7f, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0x00, 0x03, 0xff, 0xfe, 0x00, 0x0f, 0xff, 0xf0, - 0x00, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x01, 0xff, 0xfe, 0x00, - 0x00, 0x1f, 0xff, 0xe0, 0x0f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x7f, 0xff, 0x80, 0x3f, 0xff, - 0x80, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x7f, 0xff, 0x00, 0x7f, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, - 0x00, 0x01, 0xff, 0xfe, 0x00, 0x0f, 0xff, 0xf0, 0x00, 0x7f, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, - 0xf0, 0x00, 0x00, 0x00, 0x01, 0xff, 0xfe, 0x00, 0x00, 0x0f, 0xff, 0xf0, 0x0f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x3f, - 0xff, 0x80, 0x00, 0x7f, 0xff, 0x80, 0x3f, 0xff, 0x80, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x7f, 0xff, 0x00, - 0x7f, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0x00, 0x01, 0xff, 0xff, 0x00, 0x0f, 0xff, 0xf0, 0x00, 0x7f, 0xff, - 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x03, 0xff, 0xfc, 0x00, 0x00, 0x0f, 0xff, - 0xf0, 0x0f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x3f, 0xff, 0xc0, 0x3f, 0xff, 0x80, 0x00, 0x00, - 0x00, 0x3f, 0xff, 0x80, 0x00, 0x7f, 0xff, 0x00, 0x7f, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0x00, 0x00, 0xff, - 0xff, 0x00, 0x0f, 0xff, 0xf0, 0x00, 0x3f, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xfe, 0x00, 0x00, - 0x00, 0x03, 0xff, 0xfc, 0x00, 0x00, 0x0f, 0xff, 0xf0, 0x0f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, - 0x3f, 0xff, 0xc0, 0x3f, 0xff, 0x80, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x7f, 0xff, 0x00, 0x7f, 0xff, 0x00, - 0x00, 0x00, 0x00, 0xff, 0xfe, 0x00, 0x00, 0xff, 0xff, 0x00, 0x0f, 0xff, 0xf0, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xc0, - 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0x80, 0x00, 0x00, 0x03, 0xff, 0xf8, 0x00, 0x00, 0x07, 0xff, 0xf0, 0x0f, 0xff, - 0xe0, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x3f, 0xff, 0xc0, 0x3f, 0xff, 0x80, 0x00, 0x00, 0x00, 0x3f, 0xff, - 0x80, 0x00, 0x7f, 0xff, 0x00, 0x7f, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0x00, 0x00, 0x7f, 0xff, 0x00, 0x0f, - 0xff, 0xf0, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x03, 0xff, - 0xf8, 0x00, 0x00, 0x07, 0xff, 0xf0, 0x0f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x1f, 0xff, 0xc0, - 0x3f, 0xff, 0x80, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x7f, 0xff, 0x00, 0x7f, 0xff, 0x00, 0x00, 0x00, 0x00, - 0xff, 0xfe, 0x00, 0x00, 0x7f, 0xff, 0x80, 0x0f, 0xff, 0xf8, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, - 0x03, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x07, 0xff, 0xf8, 0x00, 0x00, 0x07, 0xff, 0xf8, 0x0f, 0xff, 0xe0, 0x00, 0x00, - 0x00, 0x3f, 0xff, 0x80, 0x00, 0x1f, 0xff, 0xe0, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x3f, 0xff, 0x80, 0x00, 0xff, - 0xff, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0xff, 0xfe, 0x00, 0x00, 0x7f, 0xff, 0x80, 0x0f, 0xff, 0xfe, 0x00, - 0x03, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0x00, 0x00, 0x07, 0xff, 0xf8, 0x00, 0x00, - 0x07, 0xff, 0xf8, 0x0f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x1f, 0xff, 0xe0, 0x3f, 0xff, 0xff, - 0xff, 0xf8, 0x00, 0x3f, 0xff, 0x80, 0x00, 0xff, 0xff, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0xff, 0xfe, 0x00, - 0x00, 0x7f, 0xff, 0x80, 0x0f, 0xff, 0xff, 0x80, 0x00, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x01, 0xff, 0xff, - 0xff, 0xe0, 0x00, 0x07, 0xff, 0xf8, 0x00, 0x00, 0x07, 0xff, 0xf8, 0x0f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x3f, 0xff, - 0x80, 0x00, 0x1f, 0xff, 0xe0, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x3f, 0xff, 0x80, 0x01, 0xff, 0xfe, 0x00, 0x7f, - 0xff, 0xff, 0xff, 0xf8, 0x00, 0xff, 0xfe, 0x00, 0x00, 0x7f, 0xff, 0x80, 0x0f, 0xff, 0xff, 0xe0, 0x00, 0x3f, 0xff, - 0xff, 0xff, 0xc0, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x07, 0xff, 0xf8, 0x00, 0x00, 0x03, 0xff, 0xf8, - 0x0f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x1f, 0xff, 0xe0, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x00, - 0x3f, 0xff, 0x80, 0x07, 0xff, 0xfe, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0xff, 0xfe, 0x00, 0x00, 0x3f, 0xff, - 0x80, 0x0f, 0xff, 0xff, 0xf8, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xfe, 0x00, - 0x07, 0xff, 0xf8, 0x00, 0x00, 0x03, 0xff, 0xf8, 0x0f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x1f, - 0xff, 0xe0, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x7f, 0xff, 0xff, 0xff, - 0xf8, 0x00, 0xff, 0xfe, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x0f, 0xff, 0xff, 0xfe, 0x00, 0x07, 0xff, 0xff, 0xff, 0xe0, - 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0x80, 0x07, 0xff, 0xf8, 0x00, 0x00, 0x03, 0xff, 0xf8, 0x0f, 0xff, 0xe0, - 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x1f, 0xff, 0xe0, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x3f, 0xff, 0xff, - 0xff, 0xff, 0xfc, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0xff, 0xfe, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x0f, 0xff, - 0xff, 0xff, 0x00, 0x01, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xc0, 0x07, 0xff, 0xf8, - 0x00, 0x00, 0x03, 0xff, 0xf8, 0x0f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x1f, 0xff, 0xe0, 0x3f, - 0xff, 0xff, 0xff, 0xf8, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0xff, - 0xfe, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x0f, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x7f, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, - 0x1f, 0xff, 0xff, 0xff, 0xe0, 0x07, 0xff, 0xf8, 0x00, 0x00, 0x03, 0xff, 0xf8, 0x0f, 0xff, 0xe0, 0x00, 0x00, 0x00, - 0x3f, 0xff, 0x80, 0x00, 0x1f, 0xff, 0xe0, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xf8, - 0x00, 0x7f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0xff, 0xfe, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x0f, 0xff, 0xff, 0xff, 0xf0, - 0x00, 0x1f, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xf0, 0x07, 0xff, 0xf8, 0x00, 0x00, 0x03, - 0xff, 0xf8, 0x0f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x1f, 0xff, 0xe0, 0x3f, 0xff, 0xff, 0xff, - 0xf8, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0xff, 0xfe, 0x00, 0x00, - 0x3f, 0xff, 0x80, 0x07, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x07, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, - 0xff, 0xf8, 0x07, 0xff, 0xf8, 0x00, 0x00, 0x03, 0xff, 0xf8, 0x0f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, - 0x00, 0x1f, 0xff, 0xe0, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x7f, 0xff, - 0xff, 0xff, 0xf8, 0x00, 0xff, 0xfe, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x01, 0xff, 0xff, 0xff, 0xff, 0x00, 0x01, 0xff, - 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xfc, 0x07, 0xff, 0xf8, 0x00, 0x00, 0x03, 0xff, 0xf8, 0x0f, - 0xff, 0xe0, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x1f, 0xff, 0xe0, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x3f, - 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0xff, 0xfe, 0x00, 0x00, 0x7f, 0xff, 0x80, - 0x00, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfc, 0x07, - 0xff, 0xf8, 0x00, 0x00, 0x07, 0xff, 0xf8, 0x0f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x1f, 0xff, - 0xe0, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xf8, - 0x00, 0xff, 0xfe, 0x00, 0x00, 0x7f, 0xff, 0x80, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x3f, 0xff, 0xe0, 0x00, - 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xfe, 0x07, 0xff, 0xf8, 0x00, 0x00, 0x07, 0xff, 0xf8, 0x0f, 0xff, 0xe0, 0x00, - 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x1f, 0xff, 0xe0, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x3f, 0xff, 0xff, 0xff, - 0xff, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xf0, 0x00, 0xff, 0xfe, 0x00, 0x00, 0x7f, 0xff, 0x80, 0x00, 0x0f, 0xff, - 0xff, 0xff, 0xf0, 0x00, 0x1f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xfe, 0x03, 0xff, 0xf8, 0x00, - 0x00, 0x07, 0xff, 0xf8, 0x0f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x1f, 0xff, 0xe0, 0x3f, 0xff, - 0x80, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x7f, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, - 0x00, 0x00, 0x7f, 0xff, 0x80, 0x00, 0x03, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x1f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x3f, 0xff, 0xfe, 0x03, 0xff, 0xf8, 0x00, 0x00, 0x07, 0xff, 0xf0, 0x0f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x3f, - 0xff, 0x80, 0x00, 0x1f, 0xff, 0xc0, 0x3f, 0xff, 0x80, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, - 0x7f, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0x00, 0x00, 0x7f, 0xff, 0x80, 0x00, 0x01, 0xff, 0xff, 0xff, 0xfc, - 0x00, 0x1f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0x03, 0xff, 0xfc, 0x00, 0x00, 0x07, 0xff, - 0xf0, 0x0f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x3f, 0xff, 0xc0, 0x3f, 0xff, 0x80, 0x00, 0x00, - 0x00, 0x3f, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x7f, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0x00, 0x00, 0x7f, - 0xff, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfc, 0x00, 0x1f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, - 0xff, 0x03, 0xff, 0xfc, 0x00, 0x00, 0x0f, 0xff, 0xf0, 0x0f, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, - 0x3f, 0xff, 0xc0, 0x3f, 0xff, 0x80, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x81, 0xff, 0xff, 0x00, 0x00, 0x7f, 0xff, 0x00, - 0x00, 0x00, 0x00, 0xff, 0xfe, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xfc, 0x00, 0x1f, 0xff, - 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x03, 0xff, 0xfc, 0x00, 0x00, 0x0f, 0xff, 0xf0, 0x0f, 0xff, - 0xf8, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x3f, 0xff, 0xc0, 0x3f, 0xff, 0x80, 0x00, 0x00, 0x00, 0x3f, 0xff, - 0x80, 0xff, 0xff, 0x00, 0x00, 0x7f, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, - 0x00, 0x0f, 0xff, 0xff, 0xfe, 0x00, 0x1f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0x01, 0xff, - 0xfe, 0x00, 0x00, 0x0f, 0xff, 0xf0, 0x0f, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x7f, 0xff, 0x80, - 0x3f, 0xff, 0x80, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x7f, 0xff, 0x80, 0x00, 0x7f, 0xff, 0x00, 0x00, 0x00, 0x00, - 0xff, 0xfe, 0x00, 0x01, 0xff, 0xff, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xfe, 0x00, 0x1f, 0xff, 0xe0, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0x01, 0xff, 0xfe, 0x00, 0x00, 0x1f, 0xff, 0xe0, 0x0f, 0xff, 0xfe, 0x00, 0x00, - 0x00, 0x3f, 0xff, 0x80, 0x00, 0x7f, 0xff, 0x80, 0x3f, 0xff, 0x80, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x7f, 0xff, - 0x80, 0x00, 0x7f, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0x00, 0x01, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0xff, - 0xff, 0xfe, 0x00, 0x1f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0x01, 0xff, 0xff, 0x00, 0x00, - 0x3f, 0xff, 0xe0, 0x0f, 0xff, 0xff, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0xff, 0xff, 0x80, 0x3f, 0xff, 0x80, - 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x3f, 0xff, 0xc0, 0x00, 0x7f, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0x00, - 0x03, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xfe, 0x00, 0x1f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x70, 0x00, - 0x00, 0x7f, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x3f, 0xff, 0xe0, 0x0f, 0xff, 0xff, 0x80, 0x00, 0x00, 0x3f, 0xff, - 0x80, 0x01, 0xff, 0xff, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x3f, 0xff, 0xe0, 0x00, 0x7f, - 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0x00, 0x07, 0xff, 0xfe, 0x00, 0x01, 0xfe, 0x00, 0x1f, 0xff, 0xfe, 0x00, - 0x1f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x7f, 0xff, 0x00, 0xff, 0xff, 0x80, 0x00, 0x7f, 0xff, 0xc0, - 0x0f, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x03, 0xff, 0xff, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x00, 0x00, - 0x3f, 0xff, 0x80, 0x1f, 0xff, 0xe0, 0x00, 0x7f, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0x00, 0x0f, 0xff, 0xfc, - 0x00, 0x07, 0xff, 0x80, 0x07, 0xff, 0xfe, 0x00, 0x1f, 0xff, 0xe0, 0x00, 0x00, 0x01, 0xfe, 0x00, 0x00, 0xff, 0xff, - 0x00, 0xff, 0xff, 0xc0, 0x00, 0xff, 0xff, 0xc0, 0x07, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x3f, 0xff, 0x80, 0x0f, 0xff, - 0xfe, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x1f, 0xff, 0xf0, 0x00, 0x7f, 0xff, 0x00, 0x00, - 0x00, 0x00, 0xff, 0xfe, 0x00, 0x1f, 0xff, 0xfc, 0x00, 0x0f, 0xff, 0xe0, 0x01, 0xff, 0xfc, 0x00, 0x1f, 0xff, 0xe0, - 0x00, 0x00, 0x03, 0xff, 0xc0, 0x01, 0xff, 0xff, 0x00, 0x7f, 0xff, 0xf0, 0x03, 0xff, 0xff, 0x80, 0x03, 0xff, 0xff, - 0xff, 0xff, 0xe0, 0x3f, 0xff, 0x80, 0x3f, 0xff, 0xfe, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, - 0x0f, 0xff, 0xf0, 0x00, 0x7f, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0x00, 0xff, 0xff, 0xf8, 0x00, 0x1f, 0xff, - 0xe0, 0x00, 0x7f, 0xfc, 0x00, 0x1f, 0xff, 0xe0, 0x00, 0x00, 0x03, 0xff, 0xfc, 0x07, 0xff, 0xfe, 0x00, 0x7f, 0xff, - 0xfc, 0x0f, 0xff, 0xff, 0x80, 0x01, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x3f, 0xff, 0x83, 0xff, 0xff, 0xfc, 0x00, 0x3f, - 0xff, 0xff, 0xff, 0xff, 0xc0, 0x3f, 0xff, 0x80, 0x0f, 0xff, 0xf8, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x80, 0xff, - 0xff, 0x0f, 0xff, 0xff, 0xf8, 0x00, 0x3f, 0xff, 0xf0, 0x00, 0x3f, 0xf8, 0x00, 0x1f, 0xff, 0xe0, 0x00, 0x00, 0x07, - 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xe0, - 0x3f, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x3f, 0xff, 0x80, 0x07, 0xff, 0xf8, - 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x80, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x3f, 0xff, 0xf8, 0x00, 0x0f, - 0xf0, 0x00, 0x1f, 0xff, 0xe0, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, - 0xff, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xe0, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x3f, 0xff, 0xff, 0xff, - 0xff, 0xc0, 0x3f, 0xff, 0x80, 0x07, 0xff, 0xfc, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x80, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xe0, 0x00, 0x7f, 0xff, 0xfc, 0x00, 0x03, 0xe0, 0x00, 0x1f, 0xff, 0xe0, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, - 0xff, 0xfc, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xe0, 0x3f, 0xff, 0xff, - 0xff, 0xff, 0xf0, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x3f, 0xff, 0x80, 0x03, 0xff, 0xfc, 0x00, 0x7f, 0xff, - 0xff, 0xff, 0xff, 0x80, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x7f, 0xff, 0xfe, 0x00, 0x01, 0xc0, 0x00, 0x3f, - 0xff, 0xe0, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, - 0x1f, 0xff, 0xff, 0xff, 0xe0, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x3f, - 0xff, 0x80, 0x03, 0xff, 0xfe, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x80, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, - 0x7f, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, - 0x07, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xe0, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xc0, - 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x3f, 0xff, 0x80, 0x01, 0xff, 0xff, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, - 0x80, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x01, 0xff, 0xff, 0xe0, 0x00, - 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xff, 0xff, - 0xff, 0xe0, 0x3f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x3f, 0xff, 0x80, 0x01, - 0xff, 0xff, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x80, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x7f, 0xff, 0xff, - 0xe0, 0x00, 0x00, 0x07, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x01, 0xff, 0xff, - 0xff, 0xff, 0xe0, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xe0, 0x3f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x3f, 0xff, - 0xff, 0xff, 0xff, 0xc0, 0x3f, 0xff, 0x80, 0x00, 0xff, 0xff, 0x80, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x80, 0xff, 0xff, - 0xff, 0xff, 0xfc, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x01, 0xff, - 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xe0, 0x3f, - 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x3f, 0xff, 0x80, 0x00, 0xff, 0xff, 0x80, - 0x7f, 0xff, 0xff, 0xff, 0xff, 0x80, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfc, 0x00, 0x00, - 0x3f, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0x80, - 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xe0, 0x3f, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, - 0xc0, 0x3f, 0xff, 0x80, 0x00, 0x7f, 0xff, 0xc0, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x80, 0xff, 0xff, 0xff, 0xff, 0xe0, - 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfe, - 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xe0, 0x3f, 0xff, 0xff, 0xff, - 0xc0, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x3f, 0xff, 0x80, 0x00, 0x7f, 0xff, 0xc0, 0x7f, 0xff, 0xff, - 0xff, 0xff, 0x80, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xc0, 0x03, 0xff, 0xff, 0xff, - 0xe0, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, - 0x3f, 0xff, 0xff, 0xe0, 0x3f, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x3f, 0xff, - 0x80, 0x00, 0x3f, 0xff, 0xe0, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x80, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x3f, - 0xff, 0xff, 0xff, 0xf0, 0x0f, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, - 0x00, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, - 0x3f, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x3f, 0xff, 0x00, 0x00, 0x1f, 0xff, 0xe0, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x80, - 0x7f, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xf8, 0x1f, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, - 0x00, 0x00, 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, - 0xfe, 0x7f, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, - 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 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, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x80, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x07, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 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, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xf8, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00}; +#include "logo.h" void setup() { diff --git a/examples/Inkplate4TEMPERA/Basic/Inkplate4TEMPERA_Black_And_White/logo.h b/examples/Inkplate4TEMPERA/Basic/Inkplate4TEMPERA_Black_And_White/logo.h new file mode 100644 index 00000000..6d1456a2 --- /dev/null +++ b/examples/Inkplate4TEMPERA/Basic/Inkplate4TEMPERA_Black_And_White/logo.h @@ -0,0 +1,366 @@ +/* + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases +*/ +const uint8_t logo[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf8, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 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, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x1f, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 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, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, + 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xff, 0xff, 0xff, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xf0, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, + 0xff, 0xc0, 0x0f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, + 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0x00, 0x07, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, + 0x1f, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xc0, 0x00, 0x00, 0x0f, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x1f, + 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x3f, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, + 0x3f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x7f, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xfc, 0x00, 0x01, + 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x0f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, + 0x80, 0x3f, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x0f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, + 0x80, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x7f, 0xff, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x1f, 0xff, 0xff, + 0xfc, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0x00, 0x00, 0x0f, 0xff, + 0xe0, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x3f, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x0f, + 0xff, 0xff, 0x80, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x0f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, + 0x3f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x3f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x0f, 0xff, 0xff, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xfc, 0x00, 0x00, + 0x00, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x0f, 0xff, 0xe0, 0x00, 0x00, + 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x3f, 0xff, 0xff, 0xff, 0xff, + 0xe0, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x0f, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x03, 0xff, 0xff, 0xff, + 0xff, 0xf0, 0x00, 0x0f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x3f, 0xff, 0xff, + 0xff, 0xff, 0x80, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, + 0xff, 0xfe, 0x00, 0x00, 0x0f, 0xff, 0xf0, 0x00, 0x07, 0x00, 0x00, 0x7f, 0xff, 0xfc, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0xfc, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x0f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x3f, 0xff, + 0xff, 0xff, 0xff, 0xc0, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x7f, + 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x0f, 0xff, 0xf0, 0x00, 0x1f, 0x80, 0x00, + 0x3f, 0xff, 0xf8, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x0f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0x80, + 0x3f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, + 0x00, 0x0f, 0xff, 0xf0, 0x00, 0x3f, 0xe0, 0x00, 0x3f, 0xff, 0xf8, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xf8, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x0f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, + 0xf0, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x7f, 0xff, 0xff, 0xff, + 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x0f, 0xff, 0xf0, 0x00, 0x3f, 0xf8, 0x00, 0x1f, 0xff, 0xf0, + 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x0f, 0xff, 0xe0, + 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x3f, 0xff, 0xff, + 0xff, 0xff, 0xfe, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x0f, 0xff, + 0xf0, 0x00, 0x7f, 0xfe, 0x00, 0x0f, 0xff, 0xe0, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x3f, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x0f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x3f, + 0xff, 0xff, 0xff, 0xff, 0x80, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x0f, 0xff, 0xf0, 0x00, 0x7f, 0xff, 0x00, 0x07, 0xff, 0xc0, 0x00, 0x00, 0x07, + 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x7f, 0xff, 0xff, 0x3f, 0xff, 0xff, 0x80, 0x0f, 0xff, 0xe0, 0x00, 0x00, 0x00, + 0x3f, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x3f, 0xff, 0x80, 0x7f, 0xff, 0xfe, + 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x0f, 0xff, 0xf0, 0x00, 0xff, + 0xff, 0xc0, 0x03, 0xff, 0x80, 0x00, 0x00, 0x07, 0xff, 0xfc, 0x00, 0xff, 0xc0, 0x00, 0x7f, 0xff, 0xf0, 0x03, 0xff, + 0xff, 0x80, 0x0f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x7f, 0xff, 0xfe, 0x00, 0x3f, 0xff, 0x80, 0x00, + 0x00, 0x00, 0x3f, 0xff, 0x80, 0x03, 0xff, 0xff, 0x00, 0x7f, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0x00, 0xff, + 0xff, 0xf8, 0x00, 0x0f, 0xff, 0xf0, 0x00, 0xff, 0xff, 0xf0, 0x00, 0x7e, 0x00, 0x00, 0x00, 0x07, 0xff, 0xf8, 0x00, + 0x3f, 0x80, 0x00, 0xff, 0xff, 0xc0, 0x00, 0xff, 0xff, 0xc0, 0x0f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, + 0x0f, 0xff, 0xff, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x01, 0xff, 0xff, 0x00, 0x7f, 0xff, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0x00, 0x3f, 0xff, 0xfc, 0x00, 0x0f, 0xff, 0xf0, 0x00, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xf0, 0x00, 0x0f, 0x00, 0x00, 0xff, 0xff, 0x80, 0x00, 0x7f, 0xff, 0xc0, 0x0f, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x03, 0xff, 0xff, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x00, 0x00, 0x3f, + 0xff, 0x80, 0x00, 0xff, 0xff, 0x00, 0x7f, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0x00, 0x0f, 0xff, 0xfc, 0x00, + 0x0f, 0xff, 0xf0, 0x00, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xf0, 0x00, 0x02, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x00, 0x3f, 0xff, 0xe0, 0x0f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x01, 0xff, 0xff, + 0x00, 0x3f, 0xff, 0x80, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x7f, 0xff, 0x00, 0x7f, 0xff, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xfe, 0x00, 0x07, 0xff, 0xfe, 0x00, 0x0f, 0xff, 0xf0, 0x00, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0x00, 0x00, 0x1f, 0xff, 0xe0, 0x0f, 0xff, 0xe0, 0x00, + 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0xff, 0xff, 0x80, 0x3f, 0xff, 0x80, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, + 0x7f, 0xff, 0x00, 0x7f, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0x00, 0x03, 0xff, 0xfe, 0x00, 0x0f, 0xff, 0xf0, + 0x00, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x01, 0xff, 0xfe, 0x00, + 0x00, 0x1f, 0xff, 0xe0, 0x0f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x7f, 0xff, 0x80, 0x3f, 0xff, + 0x80, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x7f, 0xff, 0x00, 0x7f, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, + 0x00, 0x01, 0xff, 0xfe, 0x00, 0x0f, 0xff, 0xf0, 0x00, 0x7f, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, + 0xf0, 0x00, 0x00, 0x00, 0x01, 0xff, 0xfe, 0x00, 0x00, 0x0f, 0xff, 0xf0, 0x0f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x3f, + 0xff, 0x80, 0x00, 0x7f, 0xff, 0x80, 0x3f, 0xff, 0x80, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x7f, 0xff, 0x00, + 0x7f, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0x00, 0x01, 0xff, 0xff, 0x00, 0x0f, 0xff, 0xf0, 0x00, 0x7f, 0xff, + 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x03, 0xff, 0xfc, 0x00, 0x00, 0x0f, 0xff, + 0xf0, 0x0f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x3f, 0xff, 0xc0, 0x3f, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x3f, 0xff, 0x80, 0x00, 0x7f, 0xff, 0x00, 0x7f, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x0f, 0xff, 0xf0, 0x00, 0x3f, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xfe, 0x00, 0x00, + 0x00, 0x03, 0xff, 0xfc, 0x00, 0x00, 0x0f, 0xff, 0xf0, 0x0f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, + 0x3f, 0xff, 0xc0, 0x3f, 0xff, 0x80, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x7f, 0xff, 0x00, 0x7f, 0xff, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xfe, 0x00, 0x00, 0xff, 0xff, 0x00, 0x0f, 0xff, 0xf0, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xc0, + 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0x80, 0x00, 0x00, 0x03, 0xff, 0xf8, 0x00, 0x00, 0x07, 0xff, 0xf0, 0x0f, 0xff, + 0xe0, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x3f, 0xff, 0xc0, 0x3f, 0xff, 0x80, 0x00, 0x00, 0x00, 0x3f, 0xff, + 0x80, 0x00, 0x7f, 0xff, 0x00, 0x7f, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0x00, 0x00, 0x7f, 0xff, 0x00, 0x0f, + 0xff, 0xf0, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x03, 0xff, + 0xf8, 0x00, 0x00, 0x07, 0xff, 0xf0, 0x0f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x1f, 0xff, 0xc0, + 0x3f, 0xff, 0x80, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x7f, 0xff, 0x00, 0x7f, 0xff, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xfe, 0x00, 0x00, 0x7f, 0xff, 0x80, 0x0f, 0xff, 0xf8, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, + 0x03, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x07, 0xff, 0xf8, 0x00, 0x00, 0x07, 0xff, 0xf8, 0x0f, 0xff, 0xe0, 0x00, 0x00, + 0x00, 0x3f, 0xff, 0x80, 0x00, 0x1f, 0xff, 0xe0, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x3f, 0xff, 0x80, 0x00, 0xff, + 0xff, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0xff, 0xfe, 0x00, 0x00, 0x7f, 0xff, 0x80, 0x0f, 0xff, 0xfe, 0x00, + 0x03, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0x00, 0x00, 0x07, 0xff, 0xf8, 0x00, 0x00, + 0x07, 0xff, 0xf8, 0x0f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x1f, 0xff, 0xe0, 0x3f, 0xff, 0xff, + 0xff, 0xf8, 0x00, 0x3f, 0xff, 0x80, 0x00, 0xff, 0xff, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0xff, 0xfe, 0x00, + 0x00, 0x7f, 0xff, 0x80, 0x0f, 0xff, 0xff, 0x80, 0x00, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x01, 0xff, 0xff, + 0xff, 0xe0, 0x00, 0x07, 0xff, 0xf8, 0x00, 0x00, 0x07, 0xff, 0xf8, 0x0f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x3f, 0xff, + 0x80, 0x00, 0x1f, 0xff, 0xe0, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x3f, 0xff, 0x80, 0x01, 0xff, 0xfe, 0x00, 0x7f, + 0xff, 0xff, 0xff, 0xf8, 0x00, 0xff, 0xfe, 0x00, 0x00, 0x7f, 0xff, 0x80, 0x0f, 0xff, 0xff, 0xe0, 0x00, 0x3f, 0xff, + 0xff, 0xff, 0xc0, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x07, 0xff, 0xf8, 0x00, 0x00, 0x03, 0xff, 0xf8, + 0x0f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x1f, 0xff, 0xe0, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x00, + 0x3f, 0xff, 0x80, 0x07, 0xff, 0xfe, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0xff, 0xfe, 0x00, 0x00, 0x3f, 0xff, + 0x80, 0x0f, 0xff, 0xff, 0xf8, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xfe, 0x00, + 0x07, 0xff, 0xf8, 0x00, 0x00, 0x03, 0xff, 0xf8, 0x0f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x1f, + 0xff, 0xe0, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x7f, 0xff, 0xff, 0xff, + 0xf8, 0x00, 0xff, 0xfe, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x0f, 0xff, 0xff, 0xfe, 0x00, 0x07, 0xff, 0xff, 0xff, 0xe0, + 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0x80, 0x07, 0xff, 0xf8, 0x00, 0x00, 0x03, 0xff, 0xf8, 0x0f, 0xff, 0xe0, + 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x1f, 0xff, 0xe0, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x3f, 0xff, 0xff, + 0xff, 0xff, 0xfc, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0xff, 0xfe, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x0f, 0xff, + 0xff, 0xff, 0x00, 0x01, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xc0, 0x07, 0xff, 0xf8, + 0x00, 0x00, 0x03, 0xff, 0xf8, 0x0f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x1f, 0xff, 0xe0, 0x3f, + 0xff, 0xff, 0xff, 0xf8, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0xff, + 0xfe, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x0f, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x7f, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, + 0x1f, 0xff, 0xff, 0xff, 0xe0, 0x07, 0xff, 0xf8, 0x00, 0x00, 0x03, 0xff, 0xf8, 0x0f, 0xff, 0xe0, 0x00, 0x00, 0x00, + 0x3f, 0xff, 0x80, 0x00, 0x1f, 0xff, 0xe0, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xf8, + 0x00, 0x7f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0xff, 0xfe, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x0f, 0xff, 0xff, 0xff, 0xf0, + 0x00, 0x1f, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xf0, 0x07, 0xff, 0xf8, 0x00, 0x00, 0x03, + 0xff, 0xf8, 0x0f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x1f, 0xff, 0xe0, 0x3f, 0xff, 0xff, 0xff, + 0xf8, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0xff, 0xfe, 0x00, 0x00, + 0x3f, 0xff, 0x80, 0x07, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x07, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, + 0xff, 0xf8, 0x07, 0xff, 0xf8, 0x00, 0x00, 0x03, 0xff, 0xf8, 0x0f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, + 0x00, 0x1f, 0xff, 0xe0, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x7f, 0xff, + 0xff, 0xff, 0xf8, 0x00, 0xff, 0xfe, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x01, 0xff, 0xff, 0xff, 0xff, 0x00, 0x01, 0xff, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xfc, 0x07, 0xff, 0xf8, 0x00, 0x00, 0x03, 0xff, 0xf8, 0x0f, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x1f, 0xff, 0xe0, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x3f, + 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0xff, 0xfe, 0x00, 0x00, 0x7f, 0xff, 0x80, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfc, 0x07, + 0xff, 0xf8, 0x00, 0x00, 0x07, 0xff, 0xf8, 0x0f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x1f, 0xff, + 0xe0, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xf8, + 0x00, 0xff, 0xfe, 0x00, 0x00, 0x7f, 0xff, 0x80, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x3f, 0xff, 0xe0, 0x00, + 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xfe, 0x07, 0xff, 0xf8, 0x00, 0x00, 0x07, 0xff, 0xf8, 0x0f, 0xff, 0xe0, 0x00, + 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x1f, 0xff, 0xe0, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x3f, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xf0, 0x00, 0xff, 0xfe, 0x00, 0x00, 0x7f, 0xff, 0x80, 0x00, 0x0f, 0xff, + 0xff, 0xff, 0xf0, 0x00, 0x1f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xfe, 0x03, 0xff, 0xf8, 0x00, + 0x00, 0x07, 0xff, 0xf8, 0x0f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x1f, 0xff, 0xe0, 0x3f, 0xff, + 0x80, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x7f, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, + 0x00, 0x00, 0x7f, 0xff, 0x80, 0x00, 0x03, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x1f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x3f, 0xff, 0xfe, 0x03, 0xff, 0xf8, 0x00, 0x00, 0x07, 0xff, 0xf0, 0x0f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x3f, + 0xff, 0x80, 0x00, 0x1f, 0xff, 0xc0, 0x3f, 0xff, 0x80, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, + 0x7f, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0x00, 0x00, 0x7f, 0xff, 0x80, 0x00, 0x01, 0xff, 0xff, 0xff, 0xfc, + 0x00, 0x1f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0x03, 0xff, 0xfc, 0x00, 0x00, 0x07, 0xff, + 0xf0, 0x0f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x3f, 0xff, 0xc0, 0x3f, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x3f, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x7f, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0x00, 0x00, 0x7f, + 0xff, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfc, 0x00, 0x1f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, + 0xff, 0x03, 0xff, 0xfc, 0x00, 0x00, 0x0f, 0xff, 0xf0, 0x0f, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, + 0x3f, 0xff, 0xc0, 0x3f, 0xff, 0x80, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x81, 0xff, 0xff, 0x00, 0x00, 0x7f, 0xff, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xfe, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xfc, 0x00, 0x1f, 0xff, + 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x03, 0xff, 0xfc, 0x00, 0x00, 0x0f, 0xff, 0xf0, 0x0f, 0xff, + 0xf8, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x3f, 0xff, 0xc0, 0x3f, 0xff, 0x80, 0x00, 0x00, 0x00, 0x3f, 0xff, + 0x80, 0xff, 0xff, 0x00, 0x00, 0x7f, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xfe, 0x00, 0x1f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0x01, 0xff, + 0xfe, 0x00, 0x00, 0x0f, 0xff, 0xf0, 0x0f, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x7f, 0xff, 0x80, + 0x3f, 0xff, 0x80, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x7f, 0xff, 0x80, 0x00, 0x7f, 0xff, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xfe, 0x00, 0x01, 0xff, 0xff, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xfe, 0x00, 0x1f, 0xff, 0xe0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0x01, 0xff, 0xfe, 0x00, 0x00, 0x1f, 0xff, 0xe0, 0x0f, 0xff, 0xfe, 0x00, 0x00, + 0x00, 0x3f, 0xff, 0x80, 0x00, 0x7f, 0xff, 0x80, 0x3f, 0xff, 0x80, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x7f, 0xff, + 0x80, 0x00, 0x7f, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0x00, 0x01, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xfe, 0x00, 0x1f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0x01, 0xff, 0xff, 0x00, 0x00, + 0x3f, 0xff, 0xe0, 0x0f, 0xff, 0xff, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0xff, 0xff, 0x80, 0x3f, 0xff, 0x80, + 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x3f, 0xff, 0xc0, 0x00, 0x7f, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0x00, + 0x03, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xfe, 0x00, 0x1f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x70, 0x00, + 0x00, 0x7f, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x3f, 0xff, 0xe0, 0x0f, 0xff, 0xff, 0x80, 0x00, 0x00, 0x3f, 0xff, + 0x80, 0x01, 0xff, 0xff, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x3f, 0xff, 0xe0, 0x00, 0x7f, + 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0x00, 0x07, 0xff, 0xfe, 0x00, 0x01, 0xfe, 0x00, 0x1f, 0xff, 0xfe, 0x00, + 0x1f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x7f, 0xff, 0x00, 0xff, 0xff, 0x80, 0x00, 0x7f, 0xff, 0xc0, + 0x0f, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x03, 0xff, 0xff, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x00, 0x00, + 0x3f, 0xff, 0x80, 0x1f, 0xff, 0xe0, 0x00, 0x7f, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0x00, 0x0f, 0xff, 0xfc, + 0x00, 0x07, 0xff, 0x80, 0x07, 0xff, 0xfe, 0x00, 0x1f, 0xff, 0xe0, 0x00, 0x00, 0x01, 0xfe, 0x00, 0x00, 0xff, 0xff, + 0x00, 0xff, 0xff, 0xc0, 0x00, 0xff, 0xff, 0xc0, 0x07, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x3f, 0xff, 0x80, 0x0f, 0xff, + 0xfe, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x1f, 0xff, 0xf0, 0x00, 0x7f, 0xff, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xfe, 0x00, 0x1f, 0xff, 0xfc, 0x00, 0x0f, 0xff, 0xe0, 0x01, 0xff, 0xfc, 0x00, 0x1f, 0xff, 0xe0, + 0x00, 0x00, 0x03, 0xff, 0xc0, 0x01, 0xff, 0xff, 0x00, 0x7f, 0xff, 0xf0, 0x03, 0xff, 0xff, 0x80, 0x03, 0xff, 0xff, + 0xff, 0xff, 0xe0, 0x3f, 0xff, 0x80, 0x3f, 0xff, 0xfe, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, + 0x0f, 0xff, 0xf0, 0x00, 0x7f, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0x00, 0xff, 0xff, 0xf8, 0x00, 0x1f, 0xff, + 0xe0, 0x00, 0x7f, 0xfc, 0x00, 0x1f, 0xff, 0xe0, 0x00, 0x00, 0x03, 0xff, 0xfc, 0x07, 0xff, 0xfe, 0x00, 0x7f, 0xff, + 0xfc, 0x0f, 0xff, 0xff, 0x80, 0x01, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x3f, 0xff, 0x83, 0xff, 0xff, 0xfc, 0x00, 0x3f, + 0xff, 0xff, 0xff, 0xff, 0xc0, 0x3f, 0xff, 0x80, 0x0f, 0xff, 0xf8, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x80, 0xff, + 0xff, 0x0f, 0xff, 0xff, 0xf8, 0x00, 0x3f, 0xff, 0xf0, 0x00, 0x3f, 0xf8, 0x00, 0x1f, 0xff, 0xe0, 0x00, 0x00, 0x07, + 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xe0, + 0x3f, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x3f, 0xff, 0x80, 0x07, 0xff, 0xf8, + 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x80, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x3f, 0xff, 0xf8, 0x00, 0x0f, + 0xf0, 0x00, 0x1f, 0xff, 0xe0, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xe0, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x3f, 0xff, 0xff, 0xff, + 0xff, 0xc0, 0x3f, 0xff, 0x80, 0x07, 0xff, 0xfc, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x80, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xe0, 0x00, 0x7f, 0xff, 0xfc, 0x00, 0x03, 0xe0, 0x00, 0x1f, 0xff, 0xe0, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, + 0xff, 0xfc, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xe0, 0x3f, 0xff, 0xff, + 0xff, 0xff, 0xf0, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x3f, 0xff, 0x80, 0x03, 0xff, 0xfc, 0x00, 0x7f, 0xff, + 0xff, 0xff, 0xff, 0x80, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x7f, 0xff, 0xfe, 0x00, 0x01, 0xc0, 0x00, 0x3f, + 0xff, 0xe0, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, + 0x1f, 0xff, 0xff, 0xff, 0xe0, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x3f, + 0xff, 0x80, 0x03, 0xff, 0xfe, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x80, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, + 0x7f, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, + 0x07, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xe0, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xc0, + 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x3f, 0xff, 0x80, 0x01, 0xff, 0xff, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, + 0x80, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x01, 0xff, 0xff, 0xe0, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xff, 0xff, + 0xff, 0xe0, 0x3f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x3f, 0xff, 0x80, 0x01, + 0xff, 0xff, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x80, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x7f, 0xff, 0xff, + 0xe0, 0x00, 0x00, 0x07, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x01, 0xff, 0xff, + 0xff, 0xff, 0xe0, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xe0, 0x3f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x3f, 0xff, + 0xff, 0xff, 0xff, 0xc0, 0x3f, 0xff, 0x80, 0x00, 0xff, 0xff, 0x80, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x80, 0xff, 0xff, + 0xff, 0xff, 0xfc, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x01, 0xff, + 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xe0, 0x3f, + 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x3f, 0xff, 0x80, 0x00, 0xff, 0xff, 0x80, + 0x7f, 0xff, 0xff, 0xff, 0xff, 0x80, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfc, 0x00, 0x00, + 0x3f, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0x80, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xe0, 0x3f, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, + 0xc0, 0x3f, 0xff, 0x80, 0x00, 0x7f, 0xff, 0xc0, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x80, 0xff, 0xff, 0xff, 0xff, 0xe0, + 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfe, + 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xe0, 0x3f, 0xff, 0xff, 0xff, + 0xc0, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x3f, 0xff, 0x80, 0x00, 0x7f, 0xff, 0xc0, 0x7f, 0xff, 0xff, + 0xff, 0xff, 0x80, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xc0, 0x03, 0xff, 0xff, 0xff, + 0xe0, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, + 0x3f, 0xff, 0xff, 0xe0, 0x3f, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x3f, 0xff, + 0x80, 0x00, 0x3f, 0xff, 0xe0, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x80, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x3f, + 0xff, 0xff, 0xff, 0xf0, 0x0f, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x3f, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x3f, 0xff, 0x00, 0x00, 0x1f, 0xff, 0xe0, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x80, + 0x7f, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xf8, 0x1f, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, + 0xfe, 0x7f, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, + 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 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, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x07, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 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, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xf8, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00}; \ No newline at end of file diff --git a/examples/Inkplate4TEMPERA/Basic/Inkplate4TEMPERA_Grayscale/image.h b/examples/Inkplate4TEMPERA/Basic/Inkplate4TEMPERA_Grayscale/image.h index 9b74fb13..171c166d 100644 --- a/examples/Inkplate4TEMPERA/Basic/Inkplate4TEMPERA_Grayscale/image.h +++ b/examples/Inkplate4TEMPERA/Basic/Inkplate4TEMPERA_Grayscale/image.h @@ -1,5 +1,8 @@ -//Array that holds data for grayscale image of 500x332 pixels. You can convert your own image using Inkplate Image Converter. -//Image source: https://www.peakpx.com/583083/grayscale-photo-of-lighthouse +/* + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases +*/ const uint8_t picture1[] = { 0x88, 0x88, 0x99, 0x99, 0x99, 0x99, 0x99, 0x98, 0x88, 0x88, 0x88, 0x99, 0x99, 0x99, 0x99, 0x98, 0x88, 0x88, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xab, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xab, 0xbb, 0xbb, 0xbb, 0xbb, 0xbc, 0xcb, 0xbc, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xbb, 0xba, 0xaa, 0xaa, 0x99, 0x99, 0x89, 0x88, 0x88, 0x88, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x66, 0x66, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x78, 0x88, 0x87, 0x88, 0x88, 0x88, 0x88, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0xa9, 0x99, 0x99, 0xaa, 0xab, 0xba, 0xaa, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xbb, 0xbb, 0xbc, 0xcc, 0xcc, 0xcb, 0xbb, 0xbb, 0xbb, 0xaa, 0xaa, 0x9a, 0xaa, 0xaa, 0xaa, 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, 0x99, 0x99, 0x98, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x88, 0x89, 0x88, 0x88, 0x88, 0x88, 0x88, 0x99, 0x88, 0x88, 0x88, 0x89, 0x99, 0x99, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xab, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xab, 0xba, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xa9, 0x9a, 0xaa, 0xaa, 0xba, 0xaa, 0xba, 0x9a, 0xba, 0xaa, 0xa9, 0x98, 0x88, 0x87, 0x77, 0x88, 0x88, 0x77, 0x88, 0x88, 0x88, 0x87, 0x88, 0x88, 0x78, 0x88, 0x87, 0x77, 0x77, 0x88, 0x88, 0x99, 0x99, 0x99, 0x99, 0x99, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x99, 0x99, 0x99, 0x88, 0x88, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x9a, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xab, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xab, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcb, 0xbb, 0xaa, 0xaa, 0x99, 0x99, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x66, 0x67, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x67, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x9a, 0x99, 0x9a, 0xa9, 0xaa, 0xaa, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xba, 0xbb, 0xba, 0xab, 0xbb, 0xbb, 0xbb, 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xab, 0xbb, 0xbb, 0xbc, 0xcc, 0xcc, 0xcc, 0xcb, 0xbb, 0xba, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x9a, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x99, 0x99, 0x88, 0x88, 0x88, 0x99, 0x99, 0x99, 0x99, 0x88, 0x89, 0x98, 0x88, 0x88, 0x88, 0x88, 0x88, 0x99, 0x99, 0x99, 0x99, 0x99, 0x9a, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xab, 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, 0x9a, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xba, 0xaa, 0xaa, 0xaa, 0xaa, 0x99, 0xa9, 0x99, 0xaa, 0x99, 0x99, 0x9a, 0xa9, 0xaa, 0xa9, 0x88, 0x88, 0x77, 0x77, 0x87, 0x77, 0x77, 0x77, 0x77, 0x77, 0x76, 0x67, 0x77, 0x88, 0x77, 0x77, 0x66, 0x66, diff --git a/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_Crypto_Currency_Checker/Inkplate4TEMPERA_Crypto_Currency_Checker.ino b/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_Crypto_Currency_Checker/Inkplate4TEMPERA_Crypto_Currency_Checker.ino index 555bfe68..9f3ea3d7 100644 --- a/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_Crypto_Currency_Checker/Inkplate4TEMPERA_Crypto_Currency_Checker.ino +++ b/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_Crypto_Currency_Checker/Inkplate4TEMPERA_Crypto_Currency_Checker.ino @@ -16,6 +16,10 @@ Want to learn more about Inkplate? Visit www.inkplate.io Looking to get support? Write on our forums: https://forum.soldered.com/ 20 July 2023 by Soldered + + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases */ // Next 3 lines are a precaution, you can ignore those, and the example would also work without them @@ -58,6 +62,8 @@ int timeZone = 2; char ssid[] = ""; char pass[] = ""; +#define DELAY_WIFI_RETRY_SECONDS 5 + // OPTIONAL: // change to a different currency char currency[32] = "bitcoin"; @@ -91,8 +97,37 @@ void setup() Serial.println("Touchscreen init failed!"); } - // Get the data from the API - network.begin(); + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(ssid, pass, WIFI_TIMEOUT, true)) + { + // Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(3); + // Set the cursor positions and print the text. + display.setCursor((display.width() / 2) - 200, display.height() / 2); + display.print(F("Unable to connect to ")); + display.println(F(ssid)); + display.setCursor((display.width() / 2) - 200, (display.height() / 2) + 30); + display.println(F("Please check ssid and pass!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(1000L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } + + // After connecting to WiFi we need to get internet time from NTP server + time_t nowSec; + struct tm timeInfo; + // Fetch current time in epoch format and store it + display.getNTPEpoch(&nowSec); + gmtime_r(&nowSec, &timeInfo); + Serial.print(F("Current time: ")); + Serial.print(asctime(&timeInfo)); + getCoinPrices(); // Draw the coin price data which changes diff --git a/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_Crypto_Currency_Checker/Network.cpp b/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_Crypto_Currency_Checker/Network.cpp index 411d1064..77c44425 100644 --- a/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_Crypto_Currency_Checker/Network.cpp +++ b/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_Crypto_Currency_Checker/Network.cpp @@ -58,9 +58,6 @@ void Network::begin() } } Serial.println(F(" connected")); - - // Find internet time - setTime(); } // Gets time from ntp server @@ -185,29 +182,3 @@ bool Network::getData(double *data) return !f; } - -// Function for initial time setting ovet the ntp server -void Network::setTime() -{ - // Used for setting correct time - configTime(0, 0, "pool.ntp.org", "time.nist.gov"); - - Serial.print(F("Waiting for NTP time sync: ")); - time_t nowSecs = time(nullptr); - while (nowSecs < 8 * 3600 * 2) - { - delay(500); - Serial.print(F(".")); - yield(); - nowSecs = time(nullptr); - } - - Serial.println(); - - // Used to store time info - struct tm timeinfo; - gmtime_r(&nowSecs, &timeinfo); - - Serial.print(F("Current time: ")); - Serial.print(asctime(&timeinfo)); -} diff --git a/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_Crypto_Currency_Checker/Network.h b/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_Crypto_Currency_Checker/Network.h index 976c27ce..543adc82 100644 --- a/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_Crypto_Currency_Checker/Network.h +++ b/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_Crypto_Currency_Checker/Network.h @@ -41,8 +41,6 @@ class Network bool getData(double *data); private: - // Functions called from within our class - void setTime(); }; #endif diff --git a/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_Crypto_Currency_Tracker/Inkplate4TEMPERA_Crypto_Currency_Tracker.ino b/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_Crypto_Currency_Tracker/Inkplate4TEMPERA_Crypto_Currency_Tracker.ino index 483c7309..00de3c87 100644 --- a/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_Crypto_Currency_Tracker/Inkplate4TEMPERA_Crypto_Currency_Tracker.ino +++ b/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_Crypto_Currency_Tracker/Inkplate4TEMPERA_Crypto_Currency_Tracker.ino @@ -35,7 +35,7 @@ char pass[] = ""; // Delay between API calls in miliseconds #define DELAY_MS 3 * 60 * 1000 - +#define DELAY_WIFI_RETRY_SECONDS 5 // OPTIONAL: // change to a different currency char currency[] = "bitcoin"; @@ -116,7 +116,6 @@ textElement elements[] = { // Our functions declared below setup and loop void drawGraph(); void drawAll(); - void setup() { // Begin serial communication, sed for debugging @@ -133,8 +132,36 @@ void setup() display.setTextWrap(false); display.setTextColor(0, 7); - // Our begin function - network.begin(); + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(ssid, pass, WIFI_TIMEOUT, true)) + { + // Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(3); + // Set the cursor positions and print the text. + display.setCursor((display.width() / 2) - 200, display.height() / 2); + display.print(F("Unable to connect to ")); + display.println(F(ssid)); + display.setCursor((display.width() / 2) - 200, (display.height() / 2) + 30); + display.println(F("Please check ssid and pass!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(1000L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } + + // After connecting to WiFi we need to get internet time from NTP server + time_t nowSec; + struct tm timeInfo; + // Fetch current time in epoch format and store it + display.getNTPEpoch(&nowSec); + gmtime_r(&nowSec, &timeInfo); + Serial.print(F("Current time: ")); + Serial.print(asctime(&timeInfo)); // Do a new network request Serial.print("Retrying retriving data "); diff --git a/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_Crypto_Currency_Tracker/Network.cpp b/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_Crypto_Currency_Tracker/Network.cpp index e409b929..b7eef617 100644 --- a/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_Crypto_Currency_Tracker/Network.cpp +++ b/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_Crypto_Currency_Tracker/Network.cpp @@ -194,28 +194,3 @@ bool Network::getData(double *data) return !f; } -// Function for initial time setting ovet the ntp server -void Network::setTime() -{ - // Used for setting correct time - configTime(0, 0, "pool.ntp.org", "time.nist.gov"); - - Serial.print(F("Waiting for NTP time sync: ")); - time_t nowSecs = time(nullptr); - while (nowSecs < 8 * 3600 * 2) - { - delay(500); - Serial.print(F(".")); - yield(); - nowSecs = time(nullptr); - } - - Serial.println(); - - // Used to store time info - struct tm timeinfo; - gmtime_r(&nowSecs, &timeinfo); - - Serial.print(F("Current time: ")); - Serial.print(asctime(&timeinfo)); -} diff --git a/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_Crypto_Currency_Tracker/Network.h b/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_Crypto_Currency_Tracker/Network.h index 976c27ce..543adc82 100644 --- a/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_Crypto_Currency_Tracker/Network.h +++ b/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_Crypto_Currency_Tracker/Network.h @@ -41,8 +41,6 @@ class Network bool getData(double *data); private: - // Functions called from within our class - void setTime(); }; #endif diff --git a/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_Daily_Weather_Station/Inkplate4TEMPERA_Daily_Weather_Station.ino b/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_Daily_Weather_Station/Inkplate4TEMPERA_Daily_Weather_Station.ino index feb7a500..a70bda45 100644 --- a/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_Daily_Weather_Station/Inkplate4TEMPERA_Daily_Weather_Station.ino +++ b/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_Daily_Weather_Station/Inkplate4TEMPERA_Daily_Weather_Station.ino @@ -15,6 +15,10 @@ Want to learn more about Inkplate? Visit www.inkplate.io Looking to get support? Write on our forums: https://forum.soldered.com/ 25 July 2023 by Soldered + + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases */ // Next 3 lines are a precaution, you can ignore those, and the example would also work without them @@ -63,6 +67,7 @@ char apiKey[] = ""; // Delay between API calls, about 1000 per month, which is the free tier limit #define DELAY_MS 267800L +#define DELAY_WIFI_RETRY_SECONDS 5 // Inkplate object Inkplate display(INKPLATE_1BIT); @@ -127,8 +132,36 @@ void setup() Serial.begin(115200); display.begin(); - // Calling our begin from network.h file - network.begin(ssid, pass); + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(ssid, pass, WIFI_TIMEOUT, true)) + { + //Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(3); + // Set the cursor positions and print the text. + display.setCursor((display.width() / 2) - 200, display.height() / 2); + display.print(F("Unable to connect to ")); + display.println(F(ssid)); + display.setCursor((display.width() / 2) - 200, (display.height() / 2) + 30); + display.println(F("Please check ssid and pass!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(100L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } + + // After connecting to WiFi we need to get internet time from NTP server + time_t nowSec; + struct tm timeInfo; + // Fetch current time in epoch format and store it + display.getNTPEpoch(&nowSec); + gmtime_r(&nowSec, &timeInfo); + Serial.print(F("Current time: ")); + Serial.print(asctime(&timeInfo)); // Get all relevant data, see Network.cpp for info if (refreshes % fullRefresh == 0) diff --git a/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_Daily_Weather_Station/Network.cpp b/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_Daily_Weather_Station/Network.cpp index cf8759db..e7aea3d9 100644 --- a/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_Daily_Weather_Station/Network.cpp +++ b/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_Daily_Weather_Station/Network.cpp @@ -43,9 +43,6 @@ void Network::begin(char *ssid, char *pass) } } Serial.println(F(" connected")); - - // Find internet time - setTime(); } // Gets time from ntp server @@ -227,32 +224,6 @@ bool Network::getData(char *lat, char *lon, char *apiKey, char *city, char *temp return 1; } -void Network::setTime() -{ - // Used for setting correct time - configTime(0, 0, "pool.ntp.org", "time.nist.gov"); - - Serial.print(F("Waiting for NTP time sync: ")); - time_t nowSecs = time(nullptr); - while (nowSecs < 8 * 3600 * 2) - { - // Print a dot every half a second while time is not set - delay(500); - Serial.print(F(".")); - yield(); - nowSecs = time(nullptr); - } - - Serial.println(); - - // Used to store time info - struct tm timeinfo; - gmtime_r(&nowSecs, &timeinfo); - - Serial.print(F("Current time: ")); - Serial.print(asctime(&timeinfo)); -} - void Network::getDays(char *day, char *day1, char *day2, char *day3) { // Seconds since 1.1.1970. diff --git a/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_Daily_Weather_Station/Network.h b/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_Daily_Weather_Station/Network.h index df05ca18..e9c17ae6 100644 --- a/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_Daily_Weather_Station/Network.h +++ b/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_Daily_Weather_Station/Network.h @@ -49,8 +49,6 @@ class Network int location = -1; private: - // Functions called from within our class - void setTime(); int timeZone = 0; }; diff --git a/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_Google_Calendar/Inkplate4TEMPERA_Google_Calendar.ino b/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_Google_Calendar/Inkplate4TEMPERA_Google_Calendar.ino index 1b3b71b4..7c2fcf71 100644 --- a/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_Google_Calendar/Inkplate4TEMPERA_Google_Calendar.ino +++ b/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_Google_Calendar/Inkplate4TEMPERA_Google_Calendar.ino @@ -55,7 +55,7 @@ int timeZone = 2; // Delay between API calls #define DELAY_MS 4 * 60000 - +#define DELAY_WIFI_RETRY_SECONDS 5 // Variables to keep count of when to get new data, and when to just update time RTC_DATA_ATTR unsigned int refreshes = 0; const int refreshesToGet = 10; @@ -92,6 +92,7 @@ void getToFrom(char *dst, char *from, char *to, int *day, int *timeStamp); bool drawEvent(entry *event, int day, int beginY, int maxHeigth, int *heigthNeeded); int cmp(const void *a, const void *b); void drawData(); +void setTime(); void setup() { @@ -105,7 +106,30 @@ void setup() display.setTextColor(0, 7); delay(5000); - network.begin(ssid, pass); + // Connect Inkplate to the WiFi network + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(ssid, pass, WIFI_TIMEOUT, true)) + { + //Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(3); + // Set the cursor positions and print the text. + display.setCursor((display.width() / 2) - 200, display.height() / 2); + display.print(F("Unable to connect to ")); + display.println(F(ssid)); + display.setCursor((display.width() / 2) - 200, (display.height() / 2) + 30); + display.println(F("Please check SSID and PASS!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(1000L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } + + setTime(); // Keep trying to get data if it fails the first time Serial.println("Getting data... "); @@ -139,6 +163,27 @@ void loop() // Never here } +// Function for getting time from NTP server +void setTime() +{ + // Structure used to hold time information + struct tm timeInfo; + // Fetch current time from an NTP server and store it + time_t nowSec; + // Fetch current time in epoch format and store it + display.getNTPEpoch(&nowSec); + // This loop ensures that the NTP time fetched is valid and beyond a certain threshold + while(nowSec < 8 * 3600 * 2) + { + delay(500); + yield(); + display.getNTPEpoch(&nowSec); + } + gmtime_r(&nowSec, &timeInfo); + Serial.print(F("Current time: ")); + Serial.print(asctime(&timeInfo)); +} + // Function for drawing calendar info void drawInfo() { @@ -455,6 +500,10 @@ void drawData() &entries[entriesNum].timeStamp); } ++entriesNum; + if(entriesNum == 128) + { + break; + } } // Sort entries by time diff --git a/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_Google_Calendar/Network.cpp b/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_Google_Calendar/Network.cpp index f219f983..6dcf423c 100644 --- a/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_Google_Calendar/Network.cpp +++ b/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_Google_Calendar/Network.cpp @@ -43,8 +43,6 @@ void Network::begin(char *ssid, char *pass) } Serial.println(F(" connected")); - // Find and print internet time, the timezone will be added later - setTime(); } // Gets time from ntp server @@ -142,29 +140,3 @@ bool Network::getData(char *calendarURL, char *data) return !f; } - -// Find internet time -void Network::setTime() -{ - // Used for setting correct time - configTime(0, 0, "pool.ntp.org", "time.nist.gov"); - - Serial.print(F("Waiting for NTP time sync: ")); - time_t nowSecs = time(nullptr); - while (nowSecs < 8 * 3600 * 2) - { - delay(500); - Serial.print(F(".")); - yield(); - nowSecs = time(nullptr); - } - Serial.println(); - - // Used to store time info - struct tm timeinfo; - gmtime_r(&nowSecs, &timeinfo); - - // Print the current time without adding a timezone - Serial.print(F("Current time: ")); - Serial.print(asctime(&timeinfo)); -} diff --git a/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_Google_Calendar/Network.h b/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_Google_Calendar/Network.h index 38df6957..1da10c0f 100644 --- a/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_Google_Calendar/Network.h +++ b/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_Google_Calendar/Network.h @@ -35,8 +35,6 @@ class Network bool getData(char *calendarURL, char *data); private: - // Functions called from within our class - void setTime(); }; #endif diff --git a/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_Hourly_Weather_Station/Inkplate4TEMPERA_Hourly_Weather_Station.ino b/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_Hourly_Weather_Station/Inkplate4TEMPERA_Hourly_Weather_Station.ino index 3c157ded..a8cc004c 100644 --- a/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_Hourly_Weather_Station/Inkplate4TEMPERA_Hourly_Weather_Station.ino +++ b/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_Hourly_Weather_Station/Inkplate4TEMPERA_Hourly_Weather_Station.ino @@ -22,6 +22,10 @@ Want to learn more about Inkplate? Visit www.inkplate.io Looking to get support? Write on our forums: https://forum.soldered.com/ 24 July 2023 by Soldered + + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases */ // Next 3 lines are a precaution, you can ignore those, and the example would also work without them @@ -67,7 +71,7 @@ char apiKey[] = ""; // Delay between API calls, about 1000 per month, which is the free tier limit #define DELAY_MS 267800L - +#define DELAY_WIFI_RETRY_SECONDS 5 // Inkplate object Inkplate display(INKPLATE_1BIT); @@ -133,8 +137,37 @@ void setup() Serial.begin(115200); display.begin(); - // Calling our begin from network.h file - network.begin(ssid, pass); + // Connect Inkplate to the WiFi network + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(ssid, pass, WIFI_TIMEOUT, true)) + { + //Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(3); + // Set the cursor positions and print the text. + display.setCursor((display.width() / 2) - 200, display.height() / 2); + display.print(F("Unable to connect to ")); + display.println(F(ssid)); + display.setCursor((display.width() / 2) - 200, (display.height() / 2) + 30); + display.println(F("Please check SSID and PASS!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(1000L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } + + // After connecting to WiFi we need to get internet time from NTP server + time_t nowSec; + struct tm timeInfo; + // Fetch current time in epoch format and store it + display.getNTPEpoch(&nowSec); + gmtime_r(&nowSec, &timeInfo); + Serial.print(F("Current time: ")); + Serial.print(asctime(&timeInfo)); // Get all relevant data, see Network.cpp for info Serial.print("Fetching data"); diff --git a/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_Hourly_Weather_Station/Network.cpp b/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_Hourly_Weather_Station/Network.cpp index 7d7b41ae..5781e045 100644 --- a/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_Hourly_Weather_Station/Network.cpp +++ b/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_Hourly_Weather_Station/Network.cpp @@ -44,9 +44,6 @@ void Network::begin(char *ssid, char *pass) } Serial.println(F(" connected")); - // Find internet time - setTime(); - // Reduce power by making WiFi module sleep WiFi.setSleep(1); } @@ -208,31 +205,6 @@ bool Network::getData(char *lat, char *lon, char *apiKey, char *temp1, char *tem return !f; } -void Network::setTime() -{ - // Used for setting correct time - configTime(0, 0, "pool.ntp.org", "time.nist.gov"); - - Serial.print(F("Waiting for NTP time sync: ")); - time_t nowSecs = time(nullptr); - while (nowSecs < 8 * 3600 * 2) - { - // Print a dot every half a second while time is not set - delay(500); - Serial.print(F(".")); - yield(); - nowSecs = time(nullptr); - } - Serial.println(); - - // Used to store time info - struct tm timeinfo; - gmtime_r(&nowSecs, &timeinfo); - - Serial.print(F("Current time: ")); - Serial.print(asctime(&timeinfo)); -} - void Network::getHours(char *hour1, char *hour2, char *hour3, char *hour4, int timeZone) { // Format hours info diff --git a/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_Hourly_Weather_Station/Network.h b/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_Hourly_Weather_Station/Network.h index 2bb9d4a2..cc0bb98f 100644 --- a/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_Hourly_Weather_Station/Network.h +++ b/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_Hourly_Weather_Station/Network.h @@ -38,8 +38,6 @@ class Network void getHours(char *hour1, char *hour2, char *hour3, char *hour4, int timeZone); private: - // Functions called from within our class - void setTime(); // Used for storing retrieved data timestamp time_t dataEpoch = 0; diff --git a/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_News_API/Inkplate4TEMPERA_News_API.ino b/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_News_API/Inkplate4TEMPERA_News_API.ino index 81374363..0a993aef 100644 --- a/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_News_API/Inkplate4TEMPERA_News_API.ino +++ b/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_News_API/Inkplate4TEMPERA_News_API.ino @@ -53,13 +53,15 @@ Inkplate display(INKPLATE_1BIT); // Delay between API calls in miliseconds (first 60 represents minutes so you can change to your need) #define DELAY_MS (uint32_t)60 * 60 * 1000 - +#define DELAY_WIFI_RETRY_SECONDS 5 // Variable for counting partial refreshes RTC_DATA_ATTR unsigned refreshes = 0; // Constant to determine when to full update const int fullRefresh = 20; +void setTime(); + void setup() { // Begin serial communitcation, sed for debugging @@ -68,8 +70,29 @@ void setup() display.begin(); display.setTextWrap(false); - // Our begin function - network.begin(); + // Connect Inkplate to the WiFi network + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(ssid, pass, WIFI_TIMEOUT, true)) + { + //Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(3); + // Set the cursor positions and print the text. + display.setCursor((display.width() / 2) - 200, display.height() / 2); + display.print(F("Unable to connect to ")); + display.println(F(ssid)); + display.setCursor((display.width() / 2) - 200, (display.height() / 2) + 30); + display.println(F("Please check SSID and PASS!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(1000L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } + struct news *entities; @@ -153,6 +176,26 @@ void drawNews(struct news *entities) } +// Function for getting time from NTP server +void setTime() +{ + // Structure used to hold time information + struct tm timeInfo; + time_t nowSec; + // Fetch current time in epoch format and store it + display.getNTPEpoch(&nowSec); + // This loop ensures that the NTP time fetched is valid and beyond a certain threshold + while (nowSec < 8 * 3600 * 2) + { + delay(500); + yield(); + nowSec = time(nullptr); + } + gmtime_r(&nowSec, &timeInfo); + Serial.print(F("Current time: ")); + Serial.print(asctime(&timeInfo)); +} + void loop() { // Never here diff --git a/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_News_API/Network.cpp b/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_News_API/Network.cpp index c92997d4..f7d304ba 100644 --- a/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_News_API/Network.cpp +++ b/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_News_API/Network.cpp @@ -60,9 +60,6 @@ void Network::begin() } } Serial.println(F(" connected")); - - // Find internet time - setTime(); } // Gets time from ntp server @@ -210,32 +207,4 @@ struct news* Network::getData() WiFi.setSleep(sleep); return ent; -} - -// Function for initial time setting ovet the ntp server -void Network::setTime() -{ - // Used for setting correct time - configTime(0, 0, "pool.ntp.org", "time.nist.gov"); - - Serial.print(F("Waiting for NTP time sync: ")); - time_t nowSecs = time(nullptr); - delay(3000); - while (nowSecs < 8 * 3600 * 2) - { - delay(500); - Serial.print(F(".")); - yield(); - nowSecs = time(nullptr); - break; - } - - Serial.println(); - - // Used to store time info - struct tm timeinfo; - gmtime_r(&nowSecs, &timeinfo); - - Serial.print(F("Current time: ")); - Serial.print(asctime(&timeinfo)); -} +} \ No newline at end of file diff --git a/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_News_API/Network.h b/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_News_API/Network.h index c6fcba3b..990c855b 100644 --- a/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_News_API/Network.h +++ b/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_News_API/Network.h @@ -52,8 +52,6 @@ class Network struct news* getData(); private: - // Functions called from within our class - void setTime(); }; #endif diff --git a/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_OpenWeather_Station/Inkplate4TEMPERA_OpenWeather_Station.ino b/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_OpenWeather_Station/Inkplate4TEMPERA_OpenWeather_Station.ino index b0fe026f..c1a16460 100644 --- a/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_OpenWeather_Station/Inkplate4TEMPERA_OpenWeather_Station.ino +++ b/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_OpenWeather_Station/Inkplate4TEMPERA_OpenWeather_Station.ino @@ -23,6 +23,10 @@ 26 July 2023 by Soldered Code for Moonphase and moon fonts taken from here: https://learn.adafruit.com/epaper-weather-station/arduino-setup + + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases */ // Next 3 lines are a precaution, you can ignore those, and the example would also work without them @@ -43,6 +47,8 @@ // Change to your wifi ssid and password #define SSID "" #define PASS "" +// Variable to store WiFi connection timeout +int timeoutSeconds = 100; // Openweather API key /** @@ -65,7 +71,8 @@ bool metric = true; // <--- true is METRIC, false is IMPERIAL // Delay between API calls #define DELAY_MS 59000 - +#define DELAY_WIFI_RETRY_SECONDS 5 +#define DELAY_API_RETRY_SECONDS 5 // --------------------------------------- // Including fonts used @@ -113,36 +120,6 @@ char Output[200] = {0}; OpenWeatherOneCall OWOC; // Invoke OpenWeather Library time_t t = now(); -void connectWifi() -{ - if (WiFi.status() == WL_CONNECTED) - return; - - // Initiating wifi, like in BasicHttpClient example - WiFi.mode(WIFI_STA); - WiFi.begin(SSID, PASS); - - int cnt = 0; - Serial.print("Waiting for WiFi to connect "); - while ((WiFi.status() != WL_CONNECTED)) - { - Serial.print("."); - delay(1000); - ++cnt; - - if (cnt == 20) - { - Serial.println("Can't connect to WIFI, restarting"); - delay(100); - ESP.restart(); - } - } - Serial.print("\nConnected to "); - Serial.println(SSID); - Serial.print("IP address: "); - Serial.println(WiFi.localIP()); -} //======================== END WIFI CONNECT ======================= - void GetCurrentWeather() { //================================= @@ -204,7 +181,27 @@ void setup() // Init Inkplate library (you should call this function ONLY ONCE) display.begin(); - connectWifi(); + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(SSID, PASS, timeoutSeconds, true)) + { + //Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(3); + // Set the cursor positions and print the text. + display.setCursor((display.width() / 2) - 200, display.height() / 2); + display.print(F("Unable to connect to ")); + display.println(F(SSID)); + display.setCursor((display.width() / 2) - 200, (display.height() / 2) + 30); + display.println(F("Please check SSID and PASS!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(1000L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } // Check if we have a valid API key: Serial.println("Checking if API key is valid..."); @@ -218,11 +215,10 @@ void setup() display.println("Can't get data from OpenWeatherMaps! Check your API key!"); display.println("Only older API keys for OneCall 2.5 work in free tier."); display.println("See the code comments the example for more info."); + // Display the error message on the Inkplate and go to deep sleep display.display(); - while(1) - { - delay(100); - } + esp_sleep_enable_timer_wakeup(1000L * DELAY_API_RETRY_SECONDS); + (void)esp_deep_sleep_start(); } Serial.println("API key is valid!"); @@ -590,4 +586,3 @@ bool checkIfAPIKeyIsValid(char *APIKEY) return !failed; } - diff --git a/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_Quotables/Inkplate4TEMPERA_Quotables.ino b/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_Quotables/Inkplate4TEMPERA_Quotables.ino index 0b574ebe..0cb96073 100644 --- a/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_Quotables/Inkplate4TEMPERA_Quotables.ino +++ b/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_Quotables/Inkplate4TEMPERA_Quotables.ino @@ -35,6 +35,7 @@ // Delay between API calls in seconds, 300 seconds is 5 minutes #define DELAY_S 300 +#define DELAY_WIFI_RETRY_SECONDS 5 // create object with all networking functions Network network; @@ -43,8 +44,8 @@ Network network; Inkplate display(INKPLATE_1BIT); // Put in your ssid and password -char ssid[] = "Soldered"; -char pass[] = "dasduino"; +char ssid[] = ""; +char pass[] = ""; // Buffers to store quote, author name and quote length char quote[256]; @@ -60,8 +61,27 @@ void setup() display.begin(); display.setTextWrap(true); // Set text wrapping to true - // Our begin function - network.begin(ssid, pass); + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(ssid, pass, WIFI_TIMEOUT, true)) + { + //Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(3); + // Set the cursor positions and print the text. + display.setCursor((display.width() / 2) - 200, display.height() / 2); + display.print(F("Unable to connect to ")); + display.println(F(ssid)); + display.setCursor((display.width() / 2) - 200, (display.height() / 2) + 30); + display.println(F("Please check SSID and PASS!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(1000L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } // Try to get the new random quote from the Internet. while (!network.getData(quote, author, &len, &display)) diff --git a/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_Youtube_Subscriber_Counter/Inkplate4TEMPERA_Youtube_Subscriber_Counter.ino b/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_Youtube_Subscriber_Counter/Inkplate4TEMPERA_Youtube_Subscriber_Counter.ino index 7488927a..ac58d973 100644 --- a/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_Youtube_Subscriber_Counter/Inkplate4TEMPERA_Youtube_Subscriber_Counter.ino +++ b/examples/Inkplate4TEMPERA/Projects/Inkplate4TEMPERA_Youtube_Subscriber_Counter/Inkplate4TEMPERA_Youtube_Subscriber_Counter.ino @@ -19,6 +19,10 @@ Want to learn more about Inkplate? Visit www.inkplate.io Looking to get support? Write on our forums: https://forum.soldered.com/ 13 July 2023 by Soldered + + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases */ // Next 3 lines are a precaution, you can ignore those, and the example would also work without them @@ -42,7 +46,7 @@ // Delay between API calls in miliseconds (10 minutes) #define DELAY_MS 10 * 60 * 1000 - +#define DELAY_WIFI_RETRY_SECONDS 5 // Create object with all networking functions Network network; @@ -124,8 +128,27 @@ void setup() delay(1000); } - // Our begin function - network.begin(ssid, pass); + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(ssid, pass, WIFI_TIMEOUT, true)) + { + //Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(3); + // Set the cursor positions and print the text. + display.setCursor((display.width() / 2) - 200, display.height() / 2); + display.print(F("Unable to connect to ")); + display.println(F(ssid)); + display.setCursor((display.width() / 2) - 200, (display.height() / 2) + 30); + display.println(F("Please check SSID and PASS!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(1000L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } while (!network.getData(&channel, channel_id, api_key, &display)) { diff --git a/examples/Inkplate5/Advanced/DeepSleep/Inkplate5_Simple_Deep_Sleep/Inkplate5_Simple_Deep_Sleep.ino b/examples/Inkplate5/Advanced/DeepSleep/Inkplate5_Simple_Deep_Sleep/Inkplate5_Simple_Deep_Sleep.ino index 5c313dd5..278b875f 100644 --- a/examples/Inkplate5/Advanced/DeepSleep/Inkplate5_Simple_Deep_Sleep/Inkplate5_Simple_Deep_Sleep.ino +++ b/examples/Inkplate5/Advanced/DeepSleep/Inkplate5_Simple_Deep_Sleep/Inkplate5_Simple_Deep_Sleep.ino @@ -15,6 +15,10 @@ Want to learn more about Inkplate? Visit www.inkplate.io Looking to get support? Write on our forums: https://forum.soldered.com/ 21 March 2023 by Soldered + + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases */ // Next 3 lines are a precaution, you can ignore those, and the example would also work without them diff --git a/examples/Inkplate5/Advanced/Other/Inkplate5_Read_Battery_Voltage/Inkplate5_Read_Battery_Voltage.ino b/examples/Inkplate5/Advanced/Other/Inkplate5_Read_Battery_Voltage/Inkplate5_Read_Battery_Voltage.ino index 7928b4f8..0adbf6ac 100644 --- a/examples/Inkplate5/Advanced/Other/Inkplate5_Read_Battery_Voltage/Inkplate5_Read_Battery_Voltage.ino +++ b/examples/Inkplate5/Advanced/Other/Inkplate5_Read_Battery_Voltage/Inkplate5_Read_Battery_Voltage.ino @@ -10,6 +10,10 @@ Want to learn more about Inkplate? Visit www.inkplate.io Looking to get support? Write on our forums: https://forum.soldered.com/ 21 March 2023 by Soldered + + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases */ // Next 3 lines are a precaution, you can ignore those, and the example would also work without them diff --git a/examples/Inkplate5/Advanced/Other/Inkplate5_Read_Temperature/Inkplate5_Read_Temperature.ino b/examples/Inkplate5/Advanced/Other/Inkplate5_Read_Temperature/Inkplate5_Read_Temperature.ino index aad2d8b5..f23bc2c0 100644 --- a/examples/Inkplate5/Advanced/Other/Inkplate5_Read_Temperature/Inkplate5_Read_Temperature.ino +++ b/examples/Inkplate5/Advanced/Other/Inkplate5_Read_Temperature/Inkplate5_Read_Temperature.ino @@ -11,6 +11,10 @@ Want to learn more about Inkplate? Visit www.inkplate.io Looking to get support? Write on our forums: https://forum.soldered.com/ 23 January 2023 by Soldered + + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases */ // Next 3 lines are a precaution, you can ignore those, and the example would also work without them diff --git a/examples/Inkplate5/Basic/Inkplate5_Black_And_White/logo.h b/examples/Inkplate5/Basic/Inkplate5_Black_And_White/logo.h index a13fbbc3..9bb7f50a 100644 --- a/examples/Inkplate5/Basic/Inkplate5_Black_And_White/logo.h +++ b/examples/Inkplate5/Basic/Inkplate5_Black_And_White/logo.h @@ -1,4 +1,8 @@ -// Array that holds data for bitmap image of 800x160 pixels. You can convert your own image using Inkplate Image Converter. +/* + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases +*/ const uint8_t logo[] PROGMEM = { 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7c,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, diff --git a/examples/Inkplate5/Basic/Inkplate5_Grayscale/image.h b/examples/Inkplate5/Basic/Inkplate5_Grayscale/image.h index 9b74fb13..171c166d 100644 --- a/examples/Inkplate5/Basic/Inkplate5_Grayscale/image.h +++ b/examples/Inkplate5/Basic/Inkplate5_Grayscale/image.h @@ -1,5 +1,8 @@ -//Array that holds data for grayscale image of 500x332 pixels. You can convert your own image using Inkplate Image Converter. -//Image source: https://www.peakpx.com/583083/grayscale-photo-of-lighthouse +/* + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases +*/ const uint8_t picture1[] = { 0x88, 0x88, 0x99, 0x99, 0x99, 0x99, 0x99, 0x98, 0x88, 0x88, 0x88, 0x99, 0x99, 0x99, 0x99, 0x98, 0x88, 0x88, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xab, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xab, 0xbb, 0xbb, 0xbb, 0xbb, 0xbc, 0xcb, 0xbc, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xbb, 0xba, 0xaa, 0xaa, 0x99, 0x99, 0x89, 0x88, 0x88, 0x88, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x66, 0x66, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x78, 0x88, 0x87, 0x88, 0x88, 0x88, 0x88, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0xa9, 0x99, 0x99, 0xaa, 0xab, 0xba, 0xaa, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xbb, 0xbb, 0xbc, 0xcc, 0xcc, 0xcb, 0xbb, 0xbb, 0xbb, 0xaa, 0xaa, 0x9a, 0xaa, 0xaa, 0xaa, 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, 0x99, 0x99, 0x98, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x88, 0x89, 0x88, 0x88, 0x88, 0x88, 0x88, 0x99, 0x88, 0x88, 0x88, 0x89, 0x99, 0x99, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xab, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xab, 0xba, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xa9, 0x9a, 0xaa, 0xaa, 0xba, 0xaa, 0xba, 0x9a, 0xba, 0xaa, 0xa9, 0x98, 0x88, 0x87, 0x77, 0x88, 0x88, 0x77, 0x88, 0x88, 0x88, 0x87, 0x88, 0x88, 0x78, 0x88, 0x87, 0x77, 0x77, 0x88, 0x88, 0x99, 0x99, 0x99, 0x99, 0x99, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x99, 0x99, 0x99, 0x88, 0x88, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x9a, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xab, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xab, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcb, 0xbb, 0xaa, 0xaa, 0x99, 0x99, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x66, 0x67, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x67, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x9a, 0x99, 0x9a, 0xa9, 0xaa, 0xaa, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xba, 0xbb, 0xba, 0xab, 0xbb, 0xbb, 0xbb, 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xab, 0xbb, 0xbb, 0xbc, 0xcc, 0xcc, 0xcc, 0xcb, 0xbb, 0xba, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x9a, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x99, 0x99, 0x88, 0x88, 0x88, 0x99, 0x99, 0x99, 0x99, 0x88, 0x89, 0x98, 0x88, 0x88, 0x88, 0x88, 0x88, 0x99, 0x99, 0x99, 0x99, 0x99, 0x9a, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xab, 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, 0x9a, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xba, 0xaa, 0xaa, 0xaa, 0xaa, 0x99, 0xa9, 0x99, 0xaa, 0x99, 0x99, 0x9a, 0xa9, 0xaa, 0xa9, 0x88, 0x88, 0x77, 0x77, 0x87, 0x77, 0x77, 0x77, 0x77, 0x77, 0x76, 0x67, 0x77, 0x88, 0x77, 0x77, 0x66, 0x66, diff --git a/examples/Inkplate5/Projects/Inkplate5_Crypto_Currency_Tracker/Inkplate5_Crypto_Currency_Tracker.ino b/examples/Inkplate5/Projects/Inkplate5_Crypto_Currency_Tracker/Inkplate5_Crypto_Currency_Tracker.ino index 5c632ee7..9789b0de 100644 --- a/examples/Inkplate5/Projects/Inkplate5_Crypto_Currency_Tracker/Inkplate5_Crypto_Currency_Tracker.ino +++ b/examples/Inkplate5/Projects/Inkplate5_Crypto_Currency_Tracker/Inkplate5_Crypto_Currency_Tracker.ino @@ -37,6 +37,7 @@ char pass[] = ""; // Delay between API calls in miliseconds (first 60 represents minutes so you can change to your need) #define DELAY_MS 3 * 60 * 1000 +#define DELAY_WIFI_RETRY_SECONDS 5 // OPTIONAL: // Change to a different currency @@ -128,8 +129,36 @@ void setup() display.setTextWrap(false); display.setTextColor(0, 7); - // Our begin function - network.begin(ssid, pass); + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(ssid, pass, WIFI_TIMEOUT, true)) + { + // Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(3); + // Set the cursor positions and print the text. + display.setCursor((display.width() / 2) - 200, display.height() / 2); + display.print(F("Unable to connect to ")); + display.println(F(ssid)); + display.setCursor((display.width() / 2) - 200, (display.height() / 2) + 30); + display.println(F("Please check ssid and pass!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(1000L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } + + // After connecting to WiFi we need to get internet time from NTP server + time_t nowSec; + struct tm timeInfo; + // Fetch current time in epoch format and store it + display.getNTPEpoch(&nowSec); + gmtime_r(&nowSec, &timeInfo); + Serial.print(F("Current time: ")); + Serial.print(asctime(&timeInfo)); Serial.println("Retrying retriving data"); while (!network.getData(data, currency)) diff --git a/examples/Inkplate5/Projects/Inkplate5_Crypto_Currency_Tracker/Network.cpp b/examples/Inkplate5/Projects/Inkplate5_Crypto_Currency_Tracker/Network.cpp index 546f287c..f90e8173 100644 --- a/examples/Inkplate5/Projects/Inkplate5_Crypto_Currency_Tracker/Network.cpp +++ b/examples/Inkplate5/Projects/Inkplate5_Crypto_Currency_Tracker/Network.cpp @@ -60,9 +60,6 @@ void Network::begin(char * ssid, char * pass) } } Serial.println(F(" connected")); - - // Find internet time - setTime(); } /** @@ -182,33 +179,3 @@ bool Network::getData(double *data, char * currency) return !f; } - -/** - * @brief Set the internal time with data from NTP server - * - * @returns None -*/ -void Network::setTime() -{ - // Used for setting correct time - configTime(0, 0, "pool.ntp.org", "time.nist.gov"); - - Serial.print(F("Waiting for NTP time sync: ")); - time_t nowSecs = time(nullptr); - while (nowSecs < 8 * 3600 * 2) - { - delay(500); - Serial.print(F(".")); - yield(); - nowSecs = time(nullptr); - } - - Serial.println(); - - // Used to store time info - struct tm timeinfo; - gmtime_r(&nowSecs, &timeinfo); - - Serial.print(F("Current time: ")); - Serial.print(asctime(&timeinfo)); -} diff --git a/examples/Inkplate5/Projects/Inkplate5_Crypto_Currency_Tracker/Network.h b/examples/Inkplate5/Projects/Inkplate5_Crypto_Currency_Tracker/Network.h index 87aa49b2..0746b716 100644 --- a/examples/Inkplate5/Projects/Inkplate5_Crypto_Currency_Tracker/Network.h +++ b/examples/Inkplate5/Projects/Inkplate5_Crypto_Currency_Tracker/Network.h @@ -36,8 +36,6 @@ class Network bool getData(double *data, char * currency); private: - // Functions called from within our class - void setTime(); }; #endif diff --git a/examples/Inkplate5/Projects/Inkplate5_Daily_Weather_Station/Inkplate5_Daily_Weather_Station.ino b/examples/Inkplate5/Projects/Inkplate5_Daily_Weather_Station/Inkplate5_Daily_Weather_Station.ino index 1562d1bc..319855f1 100644 --- a/examples/Inkplate5/Projects/Inkplate5_Daily_Weather_Station/Inkplate5_Daily_Weather_Station.ino +++ b/examples/Inkplate5/Projects/Inkplate5_Daily_Weather_Station/Inkplate5_Daily_Weather_Station.ino @@ -23,6 +23,10 @@ Want to learn more about Inkplate? Visit www.inkplate.io Looking to get support? Write on our forums: https://forum.soldered.com/ 27 March 2023 by Soldered + + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases */ // Next 3 lines are a precaution, you can ignore those, and the example would also work without them @@ -65,6 +69,7 @@ char apiKey[] = ""; // Delay between API calls, about 1000 per month, which is the free tier limit #define DELAY_MS 267800L +#define DELAY_WIFI_RETRY_SECONDS 5 // Inkplate object Inkplate display(INKPLATE_1BIT); @@ -132,8 +137,36 @@ void setup() Serial.begin(115200); display.begin(); - // Calling our begin from network.h file - network.begin(ssid, pass); + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(ssid, pass, WIFI_TIMEOUT, true)) + { + //Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(3); + // Set the cursor positions and print the text. + display.setCursor((display.width() / 2) - 200, display.height() / 2); + display.print(F("Unable to connect to ")); + display.println(F(ssid)); + display.setCursor((display.width() / 2) - 200, (display.height() / 2) + 30); + display.println(F("Please check ssid and pass!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(100L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } + + // After connecting to WiFi we need to get internet time from NTP server + time_t nowSec; + struct tm timeInfo; + // Fetch current time in epoch format and store it + display.getNTPEpoch(&nowSec); + gmtime_r(&nowSec, &timeInfo); + Serial.print(F("Current time: ")); + Serial.print(asctime(&timeInfo)); // Get all relevant data, see Network.cpp for info if (refreshes % fullRefresh == 0) diff --git a/examples/Inkplate5/Projects/Inkplate5_Daily_Weather_Station/Network.cpp b/examples/Inkplate5/Projects/Inkplate5_Daily_Weather_Station/Network.cpp index 52421210..2268848b 100644 --- a/examples/Inkplate5/Projects/Inkplate5_Daily_Weather_Station/Network.cpp +++ b/examples/Inkplate5/Projects/Inkplate5_Daily_Weather_Station/Network.cpp @@ -39,9 +39,6 @@ void Network::begin(char *ssid, char *pass) } } Serial.println(F(" connected")); - - // Find internet time - setTime(); } // Gets time from ntp server @@ -187,30 +184,4 @@ bool Network::getData(char *lat, char *lon, char *apiKey, char *city, char *temp http.end(); return 1; -} - -void Network::setTime() -{ - // Used for setting correct time - configTime(0, 0, "pool.ntp.org", "time.nist.gov"); - - Serial.print(F("Waiting for NTP time sync: ")); - time_t nowSecs = time(nullptr); - while (nowSecs < 8 * 3600 * 2) - { - // Print a dot every half a second while time is not set - delay(500); - Serial.print(F(".")); - yield(); - nowSecs = time(nullptr); - } - - Serial.println(); - - // Used to store time info - struct tm timeinfo; - gmtime_r(&nowSecs, &timeinfo); - - Serial.print(F("Current time: ")); - Serial.print(asctime(&timeinfo)); -} +} \ No newline at end of file diff --git a/examples/Inkplate5/Projects/Inkplate5_Daily_Weather_Station/Network.h b/examples/Inkplate5/Projects/Inkplate5_Daily_Weather_Station/Network.h index a3219fda..5cc77f65 100644 --- a/examples/Inkplate5/Projects/Inkplate5_Daily_Weather_Station/Network.h +++ b/examples/Inkplate5/Projects/Inkplate5_Daily_Weather_Station/Network.h @@ -42,8 +42,6 @@ class Network char *currentWeatherAbbr, char *abbr1, char *abbr2, char *abbr3, char *abbr4, uint8_t *hours, int *timezone); private: - // Functions called from within our class - void setTime(); }; #endif diff --git a/examples/Inkplate5/Projects/Inkplate5_Google_Calendar/Inkplate5_Google_Calendar.ino b/examples/Inkplate5/Projects/Inkplate5_Google_Calendar/Inkplate5_Google_Calendar.ino index 313d66a1..1e1c3fc6 100644 --- a/examples/Inkplate5/Projects/Inkplate5_Google_Calendar/Inkplate5_Google_Calendar.ino +++ b/examples/Inkplate5/Projects/Inkplate5_Google_Calendar/Inkplate5_Google_Calendar.ino @@ -56,6 +56,7 @@ int timeZone = 2; // 2 means UTC+2 // Delay between API calls in seconds #define DELAY_SECS 4 * 60 // Every 4 minutes +#define DELAY_WIFI_RETRY_SECONDS 5 //---------------------------------------------- @@ -104,7 +105,36 @@ void setup() display.setTextColor(BLACK); // Connect Inkplate to the WiFi network - network.begin(ssid, pass); + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(ssid, pass, WIFI_TIMEOUT, true)) + { + //Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(3); + // Set the cursor positions and print the text. + display.setCursor((display.width() / 2) - 200, display.height() / 2); + display.print(F("Unable to connect to ")); + display.println(F(ssid)); + display.setCursor((display.width() / 2) - 200, (display.height() / 2) + 30); + display.println(F("Please check SSID and PASS!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(1000L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } + + // After connecting to WiFi we need to get internet time from NTP server + time_t nowSec; + struct tm timeInfo; + // Fetch current time in epoch format and store it + display.getNTPEpoch(&nowSec); + gmtime_r(&nowSec, &timeInfo); + Serial.print(F("Current time: ")); + Serial.print(asctime(&timeInfo)); // Get the data from Google Calendar // Repeat attempts until data is fully downloaded @@ -455,6 +485,10 @@ void drawData() &entries[entriesNum].timeStamp); } ++entriesNum; + if(entriesNum == 128) + { + break; + } } // Sort entries by time diff --git a/examples/Inkplate5/Projects/Inkplate5_Google_Calendar/Network.cpp b/examples/Inkplate5/Projects/Inkplate5_Google_Calendar/Network.cpp index d9250450..2c2aee49 100644 --- a/examples/Inkplate5/Projects/Inkplate5_Google_Calendar/Network.cpp +++ b/examples/Inkplate5/Projects/Inkplate5_Google_Calendar/Network.cpp @@ -42,9 +42,6 @@ void Network::begin(char *ssid, char *pass) } } Serial.println(F(" connected")); - - // Find and print internet time, the timezone will be added later - setTime(); } // Gets time from ntp server @@ -142,29 +139,3 @@ bool Network::getData(char *calendarURL, char *data) return !f; } - -// Find internet time -void Network::setTime() -{ - // Used for setting correct time - configTime(0, 0, "pool.ntp.org", "time.nist.gov"); - - Serial.print(F("Waiting for NTP time sync: ")); - time_t nowSecs = time(nullptr); - while (nowSecs < 8 * 3600 * 2) - { - delay(500); - Serial.print(F(".")); - yield(); - nowSecs = time(nullptr); - } - Serial.println(); - - // Used to store time info - struct tm timeinfo; - gmtime_r(&nowSecs, &timeinfo); - - // Print the current time without adding a timezone - Serial.print(F("Current time: ")); - Serial.print(asctime(&timeinfo)); -} diff --git a/examples/Inkplate5/Projects/Inkplate5_Google_Calendar/Network.h b/examples/Inkplate5/Projects/Inkplate5_Google_Calendar/Network.h index 38df6957..1da10c0f 100644 --- a/examples/Inkplate5/Projects/Inkplate5_Google_Calendar/Network.h +++ b/examples/Inkplate5/Projects/Inkplate5_Google_Calendar/Network.h @@ -35,8 +35,6 @@ class Network bool getData(char *calendarURL, char *data); private: - // Functions called from within our class - void setTime(); }; #endif diff --git a/examples/Inkplate5/Projects/Inkplate5_Hourly_Weather_Station/Inkplate5_Hourly_Weather_Station.ino b/examples/Inkplate5/Projects/Inkplate5_Hourly_Weather_Station/Inkplate5_Hourly_Weather_Station.ino index 96d23354..db55c02e 100644 --- a/examples/Inkplate5/Projects/Inkplate5_Hourly_Weather_Station/Inkplate5_Hourly_Weather_Station.ino +++ b/examples/Inkplate5/Projects/Inkplate5_Hourly_Weather_Station/Inkplate5_Hourly_Weather_Station.ino @@ -22,6 +22,10 @@ Want to learn more about Inkplate? Visit www.inkplate.io Looking to get support? Write on our forums: https://forum.soldered.com/ 27 March 2023 by Soldered + + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases */ // Next 3 lines are a precaution, you can ignore those, and the example would also work without them @@ -67,6 +71,7 @@ char apiKey[] = ""; // Delay between API calls, about 1000 per month, which is the free tier limit #define DELAY_MS 267800L +#define DELAY_WIFI_RETRY_SECONDS 5 // Inkplate object Inkplate display(INKPLATE_1BIT); @@ -139,8 +144,37 @@ void setup() Serial.begin(115200); display.begin(); - // Calling our begin from network.h file - network.begin(ssid, pass); + // Connect Inkplate to the WiFi network + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(ssid, pass, WIFI_TIMEOUT, true)) + { + //Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(3); + // Set the cursor positions and print the text. + display.setCursor((display.width() / 2) - 200, display.height() / 2); + display.print(F("Unable to connect to ")); + display.println(F(ssid)); + display.setCursor((display.width() / 2) - 200, (display.height() / 2) + 30); + display.println(F("Please check SSID and PASS!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(1000L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } + + // After connecting to WiFi we need to get internet time from NTP server + time_t nowSec; + struct tm timeInfo; + // Fetch current time in epoch format and store it + display.getNTPEpoch(&nowSec); + gmtime_r(&nowSec, &timeInfo); + Serial.print(F("Current time: ")); + Serial.print(asctime(&timeInfo)); // Get all relevant data, see Network.cpp for info if (refreshes % fullRefresh == 0) diff --git a/examples/Inkplate5/Projects/Inkplate5_Hourly_Weather_Station/Network.cpp b/examples/Inkplate5/Projects/Inkplate5_Hourly_Weather_Station/Network.cpp index b77e0aef..240a15fd 100644 --- a/examples/Inkplate5/Projects/Inkplate5_Hourly_Weather_Station/Network.cpp +++ b/examples/Inkplate5/Projects/Inkplate5_Hourly_Weather_Station/Network.cpp @@ -44,9 +44,6 @@ void Network::begin(char *ssid, char *pass) } Serial.println(F(" connected")); - // Find internet time - setTime(); - // Reduce power by making WiFi module sleep WiFi.setSleep(1); } @@ -209,32 +206,6 @@ bool Network::getData(char *lat, char *lon, char *apiKey, char *temp1, char *tem return !f; } -void Network::setTime() -{ - // Used for setting correct time - configTime(0, 0, "pool.ntp.org", "time.nist.gov"); - - Serial.print(F("Waiting for NTP time sync: ")); - time_t nowSecs = time(nullptr); - while (nowSecs < 8 * 3600 * 2) - { - // Print a dot every half a second while time is not set - delay(500); - Serial.print(F(".")); - yield(); - nowSecs = time(nullptr); - } - - Serial.println(); - - // Used to store time info - struct tm timeinfo; - gmtime_r(&nowSecs, &timeinfo); - - Serial.print(F("Current time: ")); - Serial.print(asctime(&timeinfo)); -} - void Network::getHours(char *hour1, char *hour2, char *hour3, char *hour4, int timeZone) { // Format hours info diff --git a/examples/Inkplate5/Projects/Inkplate5_Hourly_Weather_Station/Network.h b/examples/Inkplate5/Projects/Inkplate5_Hourly_Weather_Station/Network.h index 2a499aed..6a493eed 100644 --- a/examples/Inkplate5/Projects/Inkplate5_Hourly_Weather_Station/Network.h +++ b/examples/Inkplate5/Projects/Inkplate5_Hourly_Weather_Station/Network.h @@ -38,8 +38,6 @@ class Network void getHours(char *hour1, char *hour2, char *hour3, char *hour4, int timeZone); private: - // Functions called from within our class - void setTime(); // Used for storing retrieved data timestamp time_t dataEpoch = 0; diff --git a/examples/Inkplate5/Projects/Inkplate5_News_API/Inkplate5_News_API.ino b/examples/Inkplate5/Projects/Inkplate5_News_API/Inkplate5_News_API.ino index d0636ce4..7351130d 100644 --- a/examples/Inkplate5/Projects/Inkplate5_News_API/Inkplate5_News_API.ino +++ b/examples/Inkplate5/Projects/Inkplate5_News_API/Inkplate5_News_API.ino @@ -36,6 +36,7 @@ char apiKey[] = ""; // You can obtain one here: https://newsapi.org/ // Here is set to 1 call per hour, but if you want to change it, have in mind that in the free plan there are only 100 // free API calls #define DELAY_MS 60 * 60 * 1000 +#define DELAY_WIFI_RETRY_SECONDS 5 //------------------------------------- @@ -64,8 +65,29 @@ void setup() display.begin(); // Init Inkplate library (you should call this function ONLY ONCE) display.setTextWrap(false); - // Our begin function - network.begin(ssid, pass); + // Connect Inkplate to the WiFi network + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(ssid, pass, WIFI_TIMEOUT, true)) + { + //Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(3); + // Set the cursor positions and print the text. + display.setCursor((display.width() / 2) - 200, display.height() / 2); + display.print(F("Unable to connect to ")); + display.println(F(ssid)); + display.setCursor((display.width() / 2) - 200, (display.height() / 2) + 30); + display.println(F("Please check SSID and PASS!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(1000L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } + // Pointer to the struct that will hold all news data struct news *entities = NULL; diff --git a/examples/Inkplate5/Projects/Inkplate5_OpenWeather_Station/Inkplate5_OpenWeather_Station.ino b/examples/Inkplate5/Projects/Inkplate5_OpenWeather_Station/Inkplate5_OpenWeather_Station.ino index 4ba70a08..208cb8fe 100644 --- a/examples/Inkplate5/Projects/Inkplate5_OpenWeather_Station/Inkplate5_OpenWeather_Station.ino +++ b/examples/Inkplate5/Projects/Inkplate5_OpenWeather_Station/Inkplate5_OpenWeather_Station.ino @@ -23,6 +23,10 @@ 28 July 2020 by Soldered Code for Moonphase and moon fonts taken from here: https://learn.adafruit.com/epaper-weather-station/arduino-setup + + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases */ // Next 3 lines are a precaution, you can ignore those, and the example would also work without them @@ -44,6 +48,8 @@ // Change to your wifi ssid and password #define SSID "" #define PASS "" +// Variable to store WiFi connection timeout +int timeoutSeconds = 100; // Openweather API key /** @@ -66,7 +72,8 @@ bool metric = true; // <--- true is METRIC, false is IMPERIAL // Delay between API calls #define DELAY_MS 59000 - +#define DELAY_WIFI_RETRY_SECONDS 5 +#define DELAY_API_RETRY_SECONDS 5 // --------------------------------------- // Including fonts used @@ -119,36 +126,6 @@ char Output[200] = {0}; OpenWeatherOneCall OWOC; // Invoke OpenWeather Library time_t t = now(); -void connectWifi() -{ - if (WiFi.status() == WL_CONNECTED) - return; - - // Initiating wifi, like in BasicHttpClient example - WiFi.mode(WIFI_STA); - WiFi.begin(SSID, PASS); - - int cnt = 0; - Serial.print("Waiting for WiFi to connect "); - while ((WiFi.status() != WL_CONNECTED)) - { - Serial.print("."); - delay(1000); - ++cnt; - - if (cnt == 20) - { - Serial.println("Can't connect to WIFI, restarting"); - delay(100); - ESP.restart(); - } - } - Serial.print("\nConnected to "); - Serial.println(SSID); - Serial.print("IP address: "); - Serial.println(WiFi.localIP()); -} //======================== END WIFI CONNECT ======================= - void GetCurrentWeather() { //================================= @@ -206,75 +183,80 @@ void setup() { ; } + Serial.println("Serial Monitor Initialized"); - // Init Inkplate library (you should call this function ONLY ONCE) + // display.begin(); - connectWifi(); + // Initial cleaning of buffer and physical screen + display.clearDisplay(); + display.display(); + + // Welcome screen + display.setCursor(215, 400); + display.setTextSize(3); + display.print(F("Welcome to Wol Inkplate 5 weather example!")); + display.display(); + Serial.println("Welcome to Wol Inkplate 5 weather example!"); + display.display(); + + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(SSID, PASS, timeoutSeconds, true)) + { + //Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(3); + // Set the cursor positions and print the text. + display.setCursor((display.width() / 2) - 200, display.height() / 2); + display.print(F("Unable to connect to ")); + display.println(F(SSID)); + display.setCursor((display.width() / 2) - 200, (display.height() / 2) + 30); + display.println(F("Please check SSID and PASS!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(1000L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } // Check if we have a valid API key: Serial.println("Checking if API key is valid..."); - if(!checkIfAPIKeyIsValid(APIKEY)) + if (!checkIfAPIKeyIsValid(APIKEY)) { // If we don't, notify the user Serial.println("API key is invalid!"); display.clearDisplay(); - display.setCursor(0,0); + display.setCursor(0, 0); display.setTextSize(2); display.println("Can't get data from OpenWeatherMaps! Check your API key!"); display.println("Only older API keys for OneCall 2.5 work in free tier."); display.println("See the code comments the example for more info."); display.display(); - while(1) - { - delay(100); - } + esp_sleep_enable_timer_wakeup(1000L * DELAY_API_RETRY_SECONDS); + (void)esp_deep_sleep_start(); } Serial.println("API key is valid!"); - // Set the temp. unit - tempUnit = (metric == 1 ? 'C' : 'F'); -} - -void loop() -{ // Clear display t = now(); - if ((minute(t) % 30) == 0) // Also returns 0 when time isn't set { GetCurrentWeather(); - Serial.println("got weather data"); display.clearDisplay(); - drawCurrent(); - Serial.println("draw current"); drawForecast(); - Serial.println("draw forecast"); + drawCurrent(); drawHourly(); - Serial.println("draw hourly"); drawTime(); - Serial.println("draw time"); drawMoon(); - Serial.println("draw moon"); display.display(); } else { drawTime(); - - // Do a refresh - if (refreshes >= fullRefresh) - { - // Full refresh - display.display(); - refreshes = 0; - } - else - { - // Partial refresh (only content that was changed) - display.partialUpdate(); - ++refreshes; - } + display.partialUpdate(); } // wait for the turn of the minute before sleeping @@ -283,8 +265,13 @@ void loop() } // Go to sleep before checking again + ++refreshes; esp_sleep_enable_timer_wakeup(1000L * DELAY_MS); - (void)esp_light_sleep_start(); + (void)esp_deep_sleep_start(); +} + +void loop() +{ } // Function for drawing weather info diff --git a/examples/Inkplate5/Projects/Inkplate5_Quotables/Inkplate5_Quotables.ino b/examples/Inkplate5/Projects/Inkplate5_Quotables/Inkplate5_Quotables.ino index dc930e93..eb0f3893 100644 --- a/examples/Inkplate5/Projects/Inkplate5_Quotables/Inkplate5_Quotables.ino +++ b/examples/Inkplate5/Projects/Inkplate5_Quotables/Inkplate5_Quotables.ino @@ -35,6 +35,7 @@ char pass[] = ""; // Delay between API calls in seconds, 300 seconds is 5 minutes #define DELAY_S 300 +#define DELAY_WIFI_RETRY_SECONDS 5 //------------------------------------- @@ -71,8 +72,27 @@ void setup() display.begin(); display.setTextWrap(false); // Set text wrapping to true - // Our begin function - network.begin(ssid, pass); + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(ssid, pass, WIFI_TIMEOUT, true)) + { + //Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(3); + // Set the cursor positions and print the text. + display.setCursor((display.width() / 2) - 200, display.height() / 2); + display.print(F("Unable to connect to ")); + display.println(F(ssid)); + display.setCursor((display.width() / 2) - 200, (display.height() / 2) + 30); + display.println(F("Please check SSID and PASS!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(1000L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } Serial.print("Retrying retriving data"); int n = 0; // For counting tries diff --git a/examples/Inkplate5/Projects/Inkplate5_Youtube_Subscriber_Counter/Inkplate5_Youtube_Subscriber_Counter.ino b/examples/Inkplate5/Projects/Inkplate5_Youtube_Subscriber_Counter/Inkplate5_Youtube_Subscriber_Counter.ino index 7d7c8bc9..2140ef4a 100644 --- a/examples/Inkplate5/Projects/Inkplate5_Youtube_Subscriber_Counter/Inkplate5_Youtube_Subscriber_Counter.ino +++ b/examples/Inkplate5/Projects/Inkplate5_Youtube_Subscriber_Counter/Inkplate5_Youtube_Subscriber_Counter.ino @@ -19,6 +19,10 @@ Want to learn more about Inkplate? Visit www.inkplate.io Looking to get support? Write on our forums: https://forum.soldered.com/ 8 July 2023 by Soldered + + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases */ // Next 3 lines are a precaution, you can ignore those, and the example would also work without them @@ -42,7 +46,7 @@ // Delay between API calls in miliseconds (10 minutes) #define DELAY_MS 10 * 60 * 1000 - +#define DELAY_WIFI_RETRY_SECONDS 5 // Create object with all networking functions Network network; @@ -124,8 +128,27 @@ void setup() delay(1000); } - // Our begin function - network.begin(ssid, pass); + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(ssid, pass, WIFI_TIMEOUT, true)) + { + //Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(3); + // Set the cursor positions and print the text. + display.setCursor((display.width() / 2) - 200, display.height() / 2); + display.print(F("Unable to connect to ")); + display.println(F(ssid)); + display.setCursor((display.width() / 2) - 200, (display.height() / 2) + 30); + display.println(F("Please check SSID and PASS!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(1000L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } while (!network.getData(&channel, channel_id, api_key, &display)) { diff --git a/examples/Inkplate5V2/Advanced/DeepSleep/Inkplate5V2_Simple_Deep_Sleep/Inkplate5V2_Simple_Deep_Sleep.ino b/examples/Inkplate5V2/Advanced/DeepSleep/Inkplate5V2_Simple_Deep_Sleep/Inkplate5V2_Simple_Deep_Sleep.ino index ce0b1f81..df047ae3 100644 --- a/examples/Inkplate5V2/Advanced/DeepSleep/Inkplate5V2_Simple_Deep_Sleep/Inkplate5V2_Simple_Deep_Sleep.ino +++ b/examples/Inkplate5V2/Advanced/DeepSleep/Inkplate5V2_Simple_Deep_Sleep/Inkplate5V2_Simple_Deep_Sleep.ino @@ -15,6 +15,10 @@ Want to learn more about Inkplate? Visit www.inkplate.io Looking to get support? Write on our forums: https://forum.soldered.com/ 15 April 2024 by Soldered + + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases */ // Next 3 lines are a precaution, you can ignore those, and the example would also work without them diff --git a/examples/Inkplate5V2/Advanced/Other/Inkplate5V2_Read_Battery_Voltage/Inkplate5V2_Read_Battery_Voltage.ino b/examples/Inkplate5V2/Advanced/Other/Inkplate5V2_Read_Battery_Voltage/Inkplate5V2_Read_Battery_Voltage.ino index d2ae4cad..94809c1c 100644 --- a/examples/Inkplate5V2/Advanced/Other/Inkplate5V2_Read_Battery_Voltage/Inkplate5V2_Read_Battery_Voltage.ino +++ b/examples/Inkplate5V2/Advanced/Other/Inkplate5V2_Read_Battery_Voltage/Inkplate5V2_Read_Battery_Voltage.ino @@ -10,6 +10,10 @@ Want to learn more about Inkplate? Visit www.inkplate.io Looking to get support? Write on our forums: https://forum.soldered.com/ 15 April 2024 by Soldered + + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases */ // Next 3 lines are a precaution, you can ignore those, and the example would also work without them diff --git a/examples/Inkplate5V2/Advanced/Other/Inkplate5V2_Read_Temperature/Inkplate5V2_Read_Temperature.ino b/examples/Inkplate5V2/Advanced/Other/Inkplate5V2_Read_Temperature/Inkplate5V2_Read_Temperature.ino index dac3e212..95341b92 100644 --- a/examples/Inkplate5V2/Advanced/Other/Inkplate5V2_Read_Temperature/Inkplate5V2_Read_Temperature.ino +++ b/examples/Inkplate5V2/Advanced/Other/Inkplate5V2_Read_Temperature/Inkplate5V2_Read_Temperature.ino @@ -11,6 +11,10 @@ Want to learn more about Inkplate? Visit www.inkplate.io Looking to get support? Write on our forums: https://forum.soldered.com/ 15 April 2024 by Soldered + + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases */ // Next 3 lines are a precaution, you can ignore those, and the example would also work without them diff --git a/examples/Inkplate5V2/Basic/Inkplate5V2_Black_And_White/logo.h b/examples/Inkplate5V2/Basic/Inkplate5V2_Black_And_White/logo.h index a13fbbc3..c06f56d8 100644 --- a/examples/Inkplate5V2/Basic/Inkplate5V2_Black_And_White/logo.h +++ b/examples/Inkplate5V2/Basic/Inkplate5V2_Black_And_White/logo.h @@ -1,3 +1,8 @@ +/* + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases +*/ // Array that holds data for bitmap image of 800x160 pixels. You can convert your own image using Inkplate Image Converter. const uint8_t logo[] PROGMEM = { 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, diff --git a/examples/Inkplate5V2/Basic/Inkplate5V2_Grayscale/image.h b/examples/Inkplate5V2/Basic/Inkplate5V2_Grayscale/image.h index 9b74fb13..171c166d 100644 --- a/examples/Inkplate5V2/Basic/Inkplate5V2_Grayscale/image.h +++ b/examples/Inkplate5V2/Basic/Inkplate5V2_Grayscale/image.h @@ -1,5 +1,8 @@ -//Array that holds data for grayscale image of 500x332 pixels. You can convert your own image using Inkplate Image Converter. -//Image source: https://www.peakpx.com/583083/grayscale-photo-of-lighthouse +/* + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases +*/ const uint8_t picture1[] = { 0x88, 0x88, 0x99, 0x99, 0x99, 0x99, 0x99, 0x98, 0x88, 0x88, 0x88, 0x99, 0x99, 0x99, 0x99, 0x98, 0x88, 0x88, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xab, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xab, 0xbb, 0xbb, 0xbb, 0xbb, 0xbc, 0xcb, 0xbc, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xbb, 0xba, 0xaa, 0xaa, 0x99, 0x99, 0x89, 0x88, 0x88, 0x88, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x66, 0x66, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x78, 0x88, 0x87, 0x88, 0x88, 0x88, 0x88, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0xa9, 0x99, 0x99, 0xaa, 0xab, 0xba, 0xaa, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xbb, 0xbb, 0xbc, 0xcc, 0xcc, 0xcb, 0xbb, 0xbb, 0xbb, 0xaa, 0xaa, 0x9a, 0xaa, 0xaa, 0xaa, 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, 0x99, 0x99, 0x98, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x88, 0x89, 0x88, 0x88, 0x88, 0x88, 0x88, 0x99, 0x88, 0x88, 0x88, 0x89, 0x99, 0x99, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xab, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xab, 0xba, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xa9, 0x9a, 0xaa, 0xaa, 0xba, 0xaa, 0xba, 0x9a, 0xba, 0xaa, 0xa9, 0x98, 0x88, 0x87, 0x77, 0x88, 0x88, 0x77, 0x88, 0x88, 0x88, 0x87, 0x88, 0x88, 0x78, 0x88, 0x87, 0x77, 0x77, 0x88, 0x88, 0x99, 0x99, 0x99, 0x99, 0x99, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x99, 0x99, 0x99, 0x88, 0x88, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x9a, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xab, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xab, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcb, 0xbb, 0xaa, 0xaa, 0x99, 0x99, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x66, 0x67, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x67, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x9a, 0x99, 0x9a, 0xa9, 0xaa, 0xaa, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xba, 0xbb, 0xba, 0xab, 0xbb, 0xbb, 0xbb, 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xab, 0xbb, 0xbb, 0xbc, 0xcc, 0xcc, 0xcc, 0xcb, 0xbb, 0xba, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x9a, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x99, 0x99, 0x88, 0x88, 0x88, 0x99, 0x99, 0x99, 0x99, 0x88, 0x89, 0x98, 0x88, 0x88, 0x88, 0x88, 0x88, 0x99, 0x99, 0x99, 0x99, 0x99, 0x9a, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xab, 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, 0x9a, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xba, 0xaa, 0xaa, 0xaa, 0xaa, 0x99, 0xa9, 0x99, 0xaa, 0x99, 0x99, 0x9a, 0xa9, 0xaa, 0xa9, 0x88, 0x88, 0x77, 0x77, 0x87, 0x77, 0x77, 0x77, 0x77, 0x77, 0x76, 0x67, 0x77, 0x88, 0x77, 0x77, 0x66, 0x66, diff --git a/examples/Inkplate5V2/Projects/Inkplate5V2_Crypto_Currency_Tracker/Inkplate5V2_Crypto_Currency_Tracker.ino b/examples/Inkplate5V2/Projects/Inkplate5V2_Crypto_Currency_Tracker/Inkplate5V2_Crypto_Currency_Tracker.ino index aeae106c..c2e4fd8c 100644 --- a/examples/Inkplate5V2/Projects/Inkplate5V2_Crypto_Currency_Tracker/Inkplate5V2_Crypto_Currency_Tracker.ino +++ b/examples/Inkplate5V2/Projects/Inkplate5V2_Crypto_Currency_Tracker/Inkplate5V2_Crypto_Currency_Tracker.ino @@ -37,6 +37,7 @@ char pass[] = ""; // Delay between API calls in miliseconds (first 60 represents minutes so you can change to your need) #define DELAY_MS 3 * 60 * 1000 +#define DELAY_WIFI_RETRY_SECONDS 5 // OPTIONAL: // Change to a different currency @@ -117,6 +118,7 @@ textElement elements[] = { // Our functions declared below setup and loop void drawGraph(); void drawAll(); +void setTime(); void setup() { @@ -128,8 +130,30 @@ void setup() display.setTextWrap(false); display.setTextColor(0, 7); - // Our begin function - network.begin(ssid, pass); + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(ssid, pass, WIFI_TIMEOUT, true)) + { + // Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(3); + // Set the cursor positions and print the text. + display.setCursor((display.width() / 2) - 200, display.height() / 2); + display.print(F("Unable to connect to ")); + display.println(F(ssid)); + display.setCursor((display.width() / 2) - 200, (display.height() / 2) + 30); + display.println(F("Please check ssid and pass!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(1000L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } + + // After connecting to WiFi we need to get internet time from NTP server + setTime(); Serial.println("Retrying retriving data"); while (!network.getData(data, currency)) @@ -155,6 +179,26 @@ void loop() // Never here } +// Function for getting time from NTP server +void setTime() +{ + // Structure used to hold time information + struct tm timeInfo; + time_t nowSec; + // Fetch current time in epoch format and store it + display.getNTPEpoch(&nowSec); + // This loop ensures that the NTP time fetched is valid and beyond a certain threshold + while (nowSec < 8 * 3600 * 2) + { + delay(500); + yield(); + display.getNTPEpoch(&nowSec); + } + gmtime_r(&nowSec, &timeInfo); + Serial.print(F("Current time: ")); + Serial.print(asctime(&timeInfo)); +} + // Function to draw our graph void drawGraph() { diff --git a/examples/Inkplate5V2/Projects/Inkplate5V2_Crypto_Currency_Tracker/Network.cpp b/examples/Inkplate5V2/Projects/Inkplate5V2_Crypto_Currency_Tracker/Network.cpp index 546f287c..94dd4de0 100644 --- a/examples/Inkplate5V2/Projects/Inkplate5V2_Crypto_Currency_Tracker/Network.cpp +++ b/examples/Inkplate5V2/Projects/Inkplate5V2_Crypto_Currency_Tracker/Network.cpp @@ -61,8 +61,6 @@ void Network::begin(char * ssid, char * pass) } Serial.println(F(" connected")); - // Find internet time - setTime(); } /** @@ -181,34 +179,4 @@ bool Network::getData(double *data, char * currency) WiFi.setSleep(sleep); return !f; -} - -/** - * @brief Set the internal time with data from NTP server - * - * @returns None -*/ -void Network::setTime() -{ - // Used for setting correct time - configTime(0, 0, "pool.ntp.org", "time.nist.gov"); - - Serial.print(F("Waiting for NTP time sync: ")); - time_t nowSecs = time(nullptr); - while (nowSecs < 8 * 3600 * 2) - { - delay(500); - Serial.print(F(".")); - yield(); - nowSecs = time(nullptr); - } - - Serial.println(); - - // Used to store time info - struct tm timeinfo; - gmtime_r(&nowSecs, &timeinfo); - - Serial.print(F("Current time: ")); - Serial.print(asctime(&timeinfo)); -} +} \ No newline at end of file diff --git a/examples/Inkplate5V2/Projects/Inkplate5V2_Crypto_Currency_Tracker/Network.h b/examples/Inkplate5V2/Projects/Inkplate5V2_Crypto_Currency_Tracker/Network.h index 87aa49b2..0746b716 100644 --- a/examples/Inkplate5V2/Projects/Inkplate5V2_Crypto_Currency_Tracker/Network.h +++ b/examples/Inkplate5V2/Projects/Inkplate5V2_Crypto_Currency_Tracker/Network.h @@ -36,8 +36,6 @@ class Network bool getData(double *data, char * currency); private: - // Functions called from within our class - void setTime(); }; #endif diff --git a/examples/Inkplate5V2/Projects/Inkplate5V2_Daily_Weather_Station/Inkplate5V2_Daily_Weather_Station.ino b/examples/Inkplate5V2/Projects/Inkplate5V2_Daily_Weather_Station/Inkplate5V2_Daily_Weather_Station.ino index db3a496e..97126978 100644 --- a/examples/Inkplate5V2/Projects/Inkplate5V2_Daily_Weather_Station/Inkplate5V2_Daily_Weather_Station.ino +++ b/examples/Inkplate5V2/Projects/Inkplate5V2_Daily_Weather_Station/Inkplate5V2_Daily_Weather_Station.ino @@ -22,6 +22,11 @@ Want to learn more about Inkplate? Visit www.inkplate.io Looking to get support? Write on our forums: https://forum.soldered.com/ + + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases + 15 April 2024 by Soldered */ @@ -65,6 +70,7 @@ char apiKey[] = ""; // Delay between API calls, about 1000 per month, which is the free tier limit #define DELAY_MS 267800L +#define DELAY_WIFI_RETRY_SECONDS 5 // Inkplate object Inkplate display(INKPLATE_1BIT); @@ -125,6 +131,7 @@ void drawCurrent(); void drawTemps(); void drawCity(); void drawTime(); +void setTime(); void setup() { @@ -132,8 +139,29 @@ void setup() Serial.begin(115200); display.begin(); - // Calling our begin from network.h file - network.begin(ssid, pass); + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(ssid, pass, WIFI_TIMEOUT, true)) + { + //Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(3); + // Set the cursor positions and print the text. + display.setCursor((display.width() / 2) - 200, display.height() / 2); + display.print(F("Unable to connect to ")); + display.println(F(ssid)); + display.setCursor((display.width() / 2) - 200, (display.height() / 2) + 30); + display.println(F("Please check ssid and pass!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(100L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } + + setTime(); // Get all relevant data, see Network.cpp for info if (refreshes % fullRefresh == 0) @@ -173,6 +201,27 @@ void loop() // time. loop() must be empty! } +// Function for getting time from NTP server +void setTime() +{ + // Structure used to hold time information + struct tm timeInfo; + display.getNTPDateTime(&timeInfo); + time_t nowSec; + // Fetch current time in epoch format and store it + display.getNTPEpoch(&nowSec); + // This loop ensures that the NTP time fetched is valid and beyond a certain threshold + while (nowSec < 8 * 3600 * 2) + { + delay(500); + yield(); + display.getNTPEpoch(&nowSec); + } + gmtime_r(&nowSec, &timeInfo); + Serial.print(F("Current time: ")); + Serial.print(asctime(&timeInfo)); +} + // Function for drawing weather info void drawWeather() { diff --git a/examples/Inkplate5V2/Projects/Inkplate5V2_Daily_Weather_Station/Network.cpp b/examples/Inkplate5V2/Projects/Inkplate5V2_Daily_Weather_Station/Network.cpp index 52421210..d0b94d04 100644 --- a/examples/Inkplate5V2/Projects/Inkplate5V2_Daily_Weather_Station/Network.cpp +++ b/examples/Inkplate5V2/Projects/Inkplate5V2_Daily_Weather_Station/Network.cpp @@ -39,9 +39,6 @@ void Network::begin(char *ssid, char *pass) } } Serial.println(F(" connected")); - - // Find internet time - setTime(); } // Gets time from ntp server @@ -188,29 +185,3 @@ bool Network::getData(char *lat, char *lon, char *apiKey, char *city, char *temp return 1; } - -void Network::setTime() -{ - // Used for setting correct time - configTime(0, 0, "pool.ntp.org", "time.nist.gov"); - - Serial.print(F("Waiting for NTP time sync: ")); - time_t nowSecs = time(nullptr); - while (nowSecs < 8 * 3600 * 2) - { - // Print a dot every half a second while time is not set - delay(500); - Serial.print(F(".")); - yield(); - nowSecs = time(nullptr); - } - - Serial.println(); - - // Used to store time info - struct tm timeinfo; - gmtime_r(&nowSecs, &timeinfo); - - Serial.print(F("Current time: ")); - Serial.print(asctime(&timeinfo)); -} diff --git a/examples/Inkplate5V2/Projects/Inkplate5V2_Daily_Weather_Station/Network.h b/examples/Inkplate5V2/Projects/Inkplate5V2_Daily_Weather_Station/Network.h index a3219fda..5cc77f65 100644 --- a/examples/Inkplate5V2/Projects/Inkplate5V2_Daily_Weather_Station/Network.h +++ b/examples/Inkplate5V2/Projects/Inkplate5V2_Daily_Weather_Station/Network.h @@ -42,8 +42,6 @@ class Network char *currentWeatherAbbr, char *abbr1, char *abbr2, char *abbr3, char *abbr4, uint8_t *hours, int *timezone); private: - // Functions called from within our class - void setTime(); }; #endif diff --git a/examples/Inkplate5V2/Projects/Inkplate5V2_Google_Calendar/Inkplate5V2_Google_Calendar.ino b/examples/Inkplate5V2/Projects/Inkplate5V2_Google_Calendar/Inkplate5V2_Google_Calendar.ino index 237d063e..f276fa39 100644 --- a/examples/Inkplate5V2/Projects/Inkplate5V2_Google_Calendar/Inkplate5V2_Google_Calendar.ino +++ b/examples/Inkplate5V2/Projects/Inkplate5V2_Google_Calendar/Inkplate5V2_Google_Calendar.ino @@ -56,6 +56,7 @@ int timeZone = 2; // 2 means UTC+2 // Delay between API calls in seconds #define DELAY_SECS 4 * 60 // Every 4 minutes +#define DELAY_WIFI_RETRY_SECONDS 5 //---------------------------------------------- @@ -83,6 +84,8 @@ struct entry int entriesNum = 0; entry entries[128]; +void setTime(); + void setup() { // Init serial communication @@ -104,7 +107,29 @@ void setup() display.setTextColor(BLACK); // Connect Inkplate to the WiFi network - network.begin(ssid, pass); + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(ssid, pass, WIFI_TIMEOUT, true)) + { + //Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(3); + // Set the cursor positions and print the text. + display.setCursor((display.width() / 2) - 200, display.height() / 2); + display.print(F("Unable to connect to ")); + display.println(F(ssid)); + display.setCursor((display.width() / 2) - 200, (display.height() / 2) + 30); + display.println(F("Please check SSID and PASS!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(1000L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } + + setTime(); // Get the data from Google Calendar // Repeat attempts until data is fully downloaded @@ -137,6 +162,27 @@ void loop() // time. loop() must be empty! } +// Function for getting time from NTP server +void setTime() +{ + // Structure used to hold time information + struct tm timeInfo; + // Fetch current time from an NTP server and store it + time_t nowSec; + // Fetch current time in epoch format and store it + display.getNTPEpoch(&nowSec); + // This loop ensures that the NTP time fetched is valid and beyond a certain threshold + while(nowSec < 8 * 3600 * 2) + { + delay(500); + yield(); + display.getNTPEpoch(&nowSec); + } + gmtime_r(&nowSec, &timeInfo); + Serial.print(F("Current time: ")); + Serial.print(asctime(&timeInfo)); +} + // Function for drawing calendar info void drawInfo() { @@ -455,6 +501,10 @@ void drawData() &entries[entriesNum].timeStamp); } ++entriesNum; + if(entriesNum == 128) + { + break; + } } // Sort entries by time diff --git a/examples/Inkplate5V2/Projects/Inkplate5V2_Google_Calendar/Network.cpp b/examples/Inkplate5V2/Projects/Inkplate5V2_Google_Calendar/Network.cpp index d9250450..b4201d79 100644 --- a/examples/Inkplate5V2/Projects/Inkplate5V2_Google_Calendar/Network.cpp +++ b/examples/Inkplate5V2/Projects/Inkplate5V2_Google_Calendar/Network.cpp @@ -43,8 +43,6 @@ void Network::begin(char *ssid, char *pass) } Serial.println(F(" connected")); - // Find and print internet time, the timezone will be added later - setTime(); } // Gets time from ntp server @@ -141,30 +139,4 @@ bool Network::getData(char *calendarURL, char *data) http.end(); return !f; -} - -// Find internet time -void Network::setTime() -{ - // Used for setting correct time - configTime(0, 0, "pool.ntp.org", "time.nist.gov"); - - Serial.print(F("Waiting for NTP time sync: ")); - time_t nowSecs = time(nullptr); - while (nowSecs < 8 * 3600 * 2) - { - delay(500); - Serial.print(F(".")); - yield(); - nowSecs = time(nullptr); - } - Serial.println(); - - // Used to store time info - struct tm timeinfo; - gmtime_r(&nowSecs, &timeinfo); - - // Print the current time without adding a timezone - Serial.print(F("Current time: ")); - Serial.print(asctime(&timeinfo)); -} +} \ No newline at end of file diff --git a/examples/Inkplate5V2/Projects/Inkplate5V2_Google_Calendar/Network.h b/examples/Inkplate5V2/Projects/Inkplate5V2_Google_Calendar/Network.h index 38df6957..1da10c0f 100644 --- a/examples/Inkplate5V2/Projects/Inkplate5V2_Google_Calendar/Network.h +++ b/examples/Inkplate5V2/Projects/Inkplate5V2_Google_Calendar/Network.h @@ -35,8 +35,6 @@ class Network bool getData(char *calendarURL, char *data); private: - // Functions called from within our class - void setTime(); }; #endif diff --git a/examples/Inkplate5V2/Projects/Inkplate5V2_Hourly_Weather_Station/Inkplate5V2_Hourly_Weather_Station.ino b/examples/Inkplate5V2/Projects/Inkplate5V2_Hourly_Weather_Station/Inkplate5V2_Hourly_Weather_Station.ino index e3ba8f9e..21c7d646 100644 --- a/examples/Inkplate5V2/Projects/Inkplate5V2_Hourly_Weather_Station/Inkplate5V2_Hourly_Weather_Station.ino +++ b/examples/Inkplate5V2/Projects/Inkplate5V2_Hourly_Weather_Station/Inkplate5V2_Hourly_Weather_Station.ino @@ -21,6 +21,11 @@ Want to learn more about Inkplate? Visit www.inkplate.io Looking to get support? Write on our forums: https://forum.soldered.com/ + + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases + 15 April 2024 by Soldered */ @@ -67,6 +72,7 @@ char apiKey[] = ""; // Delay between API calls, about 1000 per month, which is the free tier limit #define DELAY_MS 267800L +#define DELAY_WIFI_RETRY_SECONDS 5 // Inkplate object Inkplate display(INKPLATE_1BIT); @@ -132,6 +138,7 @@ void drawCurrent(); void drawTemps(); void drawCity(); void drawTime(); +void setTime(); void setup() { @@ -139,8 +146,30 @@ void setup() Serial.begin(115200); display.begin(); - // Calling our begin from network.h file - network.begin(ssid, pass); + // Connect Inkplate to the WiFi network + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(ssid, pass, WIFI_TIMEOUT, true)) + { + //Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(3); + // Set the cursor positions and print the text. + display.setCursor((display.width() / 2) - 200, display.height() / 2); + display.print(F("Unable to connect to ")); + display.println(F(ssid)); + display.setCursor((display.width() / 2) - 200, (display.height() / 2) + 30); + display.println(F("Please check SSID and PASS!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(1000L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } + + setTime(); // Get all relevant data, see Network.cpp for info if (refreshes % fullRefresh == 0) @@ -183,6 +212,26 @@ void loop() // time. loop() must be empty! } +// Function for getting time from NTP server +void setTime() +{ + // Structure used to hold time information + struct tm timeInfo; + time_t nowSec; + // Fetch current time in epoch format and store it + display.getNTPEpoch(&nowSec); + // This loop ensures that the NTP time fetched is valid and beyond a certain threshold + while (nowSec < 8 * 3600 * 2) + { + delay(500); + yield(); + display.getNTPEpoch(&nowSec); + } + gmtime_r(&nowSec, &timeInfo); + Serial.print(F("Current time: ")); + Serial.print(asctime(&timeInfo)); +} + // Function for drawing weather info void drawWeather() { diff --git a/examples/Inkplate5V2/Projects/Inkplate5V2_Hourly_Weather_Station/Network.cpp b/examples/Inkplate5V2/Projects/Inkplate5V2_Hourly_Weather_Station/Network.cpp index b77e0aef..240a15fd 100644 --- a/examples/Inkplate5V2/Projects/Inkplate5V2_Hourly_Weather_Station/Network.cpp +++ b/examples/Inkplate5V2/Projects/Inkplate5V2_Hourly_Weather_Station/Network.cpp @@ -44,9 +44,6 @@ void Network::begin(char *ssid, char *pass) } Serial.println(F(" connected")); - // Find internet time - setTime(); - // Reduce power by making WiFi module sleep WiFi.setSleep(1); } @@ -209,32 +206,6 @@ bool Network::getData(char *lat, char *lon, char *apiKey, char *temp1, char *tem return !f; } -void Network::setTime() -{ - // Used for setting correct time - configTime(0, 0, "pool.ntp.org", "time.nist.gov"); - - Serial.print(F("Waiting for NTP time sync: ")); - time_t nowSecs = time(nullptr); - while (nowSecs < 8 * 3600 * 2) - { - // Print a dot every half a second while time is not set - delay(500); - Serial.print(F(".")); - yield(); - nowSecs = time(nullptr); - } - - Serial.println(); - - // Used to store time info - struct tm timeinfo; - gmtime_r(&nowSecs, &timeinfo); - - Serial.print(F("Current time: ")); - Serial.print(asctime(&timeinfo)); -} - void Network::getHours(char *hour1, char *hour2, char *hour3, char *hour4, int timeZone) { // Format hours info diff --git a/examples/Inkplate5V2/Projects/Inkplate5V2_Hourly_Weather_Station/Network.h b/examples/Inkplate5V2/Projects/Inkplate5V2_Hourly_Weather_Station/Network.h index 2a499aed..374c94f1 100644 --- a/examples/Inkplate5V2/Projects/Inkplate5V2_Hourly_Weather_Station/Network.h +++ b/examples/Inkplate5V2/Projects/Inkplate5V2_Hourly_Weather_Station/Network.h @@ -38,9 +38,6 @@ class Network void getHours(char *hour1, char *hour2, char *hour3, char *hour4, int timeZone); private: - // Functions called from within our class - void setTime(); - // Used for storing retrieved data timestamp time_t dataEpoch = 0; }; diff --git a/examples/Inkplate5V2/Projects/Inkplate5V2_News_API/Inkplate5V2_News_API.ino b/examples/Inkplate5V2/Projects/Inkplate5V2_News_API/Inkplate5V2_News_API.ino index 4ded79dc..aba56296 100644 --- a/examples/Inkplate5V2/Projects/Inkplate5V2_News_API/Inkplate5V2_News_API.ino +++ b/examples/Inkplate5V2/Projects/Inkplate5V2_News_API/Inkplate5V2_News_API.ino @@ -36,6 +36,7 @@ char apiKey[] = ""; // You can obtain one here: https://newsapi.org/ // Here is set to 1 call per hour, but if you want to change it, have in mind that in the free plan there are only 100 // free API calls #define DELAY_MS 60 * 60 * 1000 +#define DELAY_WIFI_RETRY_SECONDS 5 //------------------------------------- @@ -64,8 +65,28 @@ void setup() display.begin(); // Init Inkplate library (you should call this function ONLY ONCE) display.setTextWrap(false); - // Our begin function - network.begin(ssid, pass); + // Connect Inkplate to the WiFi network + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(ssid, pass, WIFI_TIMEOUT, true)) + { + //Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(3); + // Set the cursor positions and print the text. + display.setCursor((display.width() / 2) - 200, display.height() / 2); + display.print(F("Unable to connect to ")); + display.println(F(ssid)); + display.setCursor((display.width() / 2) - 200, (display.height() / 2) + 30); + display.println(F("Please check SSID and PASS!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(1000L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } // Pointer to the struct that will hold all news data struct news *entities = NULL; diff --git a/examples/Inkplate5V2/Projects/Inkplate5V2_OpenWeather_Station/Inkplate5V2_OpenWeather_Station.ino b/examples/Inkplate5V2/Projects/Inkplate5V2_OpenWeather_Station/Inkplate5V2_OpenWeather_Station.ino index b771f4ba..221af98e 100644 --- a/examples/Inkplate5V2/Projects/Inkplate5V2_OpenWeather_Station/Inkplate5V2_OpenWeather_Station.ino +++ b/examples/Inkplate5V2/Projects/Inkplate5V2_OpenWeather_Station/Inkplate5V2_OpenWeather_Station.ino @@ -23,6 +23,10 @@ 15 April 2024 by Soldered Code for Moonphase and moon fonts taken from here: https://learn.adafruit.com/epaper-weather-station/arduino-setup + + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases */ // Next 3 lines are a precaution, you can ignore those, and the example would also work without them @@ -44,6 +48,8 @@ // Change to your wifi ssid and password #define SSID "" #define PASS "" +// Variable to store WiFi connection timeout +int timeoutSeconds = 100; // Openweather API key /** @@ -66,6 +72,8 @@ bool metric = true; // <--- true is METRIC, false is IMPERIAL // Delay between API calls #define DELAY_MS 59000 +#define DELAY_WIFI_RETRY_SECONDS 5 +#define DELAY_API_RETRY_SECONDS 5 // --------------------------------------- @@ -206,75 +214,80 @@ void setup() { ; } + Serial.println("Serial Monitor Initialized"); - // Init Inkplate library (you should call this function ONLY ONCE) + // display.begin(); - connectWifi(); + // Initial cleaning of buffer and physical screen + display.clearDisplay(); + display.display(); + + // Welcome screen + display.setCursor(215, 400); + display.setTextSize(3); + display.print(F("Welcome to Wol Inkplate 5V2 weather example!")); + display.display(); + Serial.println("Welcome to Wol Inkplate 5V2 weather example!"); + display.display(); + + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(SSID, PASS, timeoutSeconds, true)) + { + //Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(3); + // Set the cursor positions and print the text. + display.setCursor((display.width() / 2) - 200, display.height() / 2); + display.print(F("Unable to connect to ")); + display.println(F(SSID)); + display.setCursor((display.width() / 2) - 200, (display.height() / 2) + 30); + display.println(F("Please check SSID and PASS!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(1000L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } // Check if we have a valid API key: Serial.println("Checking if API key is valid..."); - if(!checkIfAPIKeyIsValid(APIKEY)) + if (!checkIfAPIKeyIsValid(APIKEY)) { // If we don't, notify the user Serial.println("API key is invalid!"); display.clearDisplay(); - display.setCursor(0,0); + display.setCursor(0, 0); display.setTextSize(2); display.println("Can't get data from OpenWeatherMaps! Check your API key!"); display.println("Only older API keys for OneCall 2.5 work in free tier."); display.println("See the code comments the example for more info."); display.display(); - while(1) - { - delay(100); - } + esp_sleep_enable_timer_wakeup(1000L * DELAY_API_RETRY_SECONDS); + (void)esp_deep_sleep_start(); } Serial.println("API key is valid!"); - // Set the temp. unit - tempUnit = (metric == 1 ? 'C' : 'F'); -} - -void loop() -{ // Clear display t = now(); - if ((minute(t) % 30) == 0) // Also returns 0 when time isn't set { GetCurrentWeather(); - Serial.println("got weather data"); display.clearDisplay(); - drawCurrent(); - Serial.println("draw current"); drawForecast(); - Serial.println("draw forecast"); + drawCurrent(); drawHourly(); - Serial.println("draw hourly"); drawTime(); - Serial.println("draw time"); drawMoon(); - Serial.println("draw moon"); display.display(); } else { drawTime(); - - // Do a refresh - if (refreshes >= fullRefresh) - { - // Full refresh - display.display(); - refreshes = 0; - } - else - { - // Partial refresh (only content that was changed) - display.partialUpdate(); - ++refreshes; - } + display.partialUpdate(); } // wait for the turn of the minute before sleeping @@ -283,10 +296,16 @@ void loop() } // Go to sleep before checking again + ++refreshes; esp_sleep_enable_timer_wakeup(1000L * DELAY_MS); - (void)esp_light_sleep_start(); + (void)esp_deep_sleep_start(); +} + +void loop() +{ } + // Function for drawing weather info void alignText(const char align, const char *text, int16_t x, int16_t y) { diff --git a/examples/Inkplate5V2/Projects/Inkplate5V2_Quotables/Inkplate5V2_Quotables.ino b/examples/Inkplate5V2/Projects/Inkplate5V2_Quotables/Inkplate5V2_Quotables.ino index 05b5cbab..1a938941 100644 --- a/examples/Inkplate5V2/Projects/Inkplate5V2_Quotables/Inkplate5V2_Quotables.ino +++ b/examples/Inkplate5V2/Projects/Inkplate5V2_Quotables/Inkplate5V2_Quotables.ino @@ -55,6 +55,7 @@ Inkplate display(INKPLATE_1BIT); // Define the size of the buffer for storing quotes #define BUFFER_SIZE 256 +#define DELAY_WIFI_RETRY_SECONDS 5 // Our functions declared below setup and loop void drawAll(); @@ -71,8 +72,27 @@ void setup() display.begin(); display.setTextWrap(false); // Set text wrapping to true - // Our begin function - network.begin(ssid, pass); + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(ssid, pass, WIFI_TIMEOUT, true)) + { + //Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(3); + // Set the cursor positions and print the text. + display.setCursor((display.width() / 2) - 200, display.height() / 2); + display.print(F("Unable to connect to ")); + display.println(F(ssid)); + display.setCursor((display.width() / 2) - 200, (display.height() / 2) + 30); + display.println(F("Please check SSID and PASS!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(1000L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } Serial.print("Retrying retriving data"); int n = 0; // For counting tries diff --git a/examples/Inkplate5V2/Projects/Inkplate5V2_Youtube_Subscriber_Counter/Inkplate5V2_Youtube_Subscriber_Counter.ino b/examples/Inkplate5V2/Projects/Inkplate5V2_Youtube_Subscriber_Counter/Inkplate5V2_Youtube_Subscriber_Counter.ino index fb9e95bf..e9fc9ebd 100644 --- a/examples/Inkplate5V2/Projects/Inkplate5V2_Youtube_Subscriber_Counter/Inkplate5V2_Youtube_Subscriber_Counter.ino +++ b/examples/Inkplate5V2/Projects/Inkplate5V2_Youtube_Subscriber_Counter/Inkplate5V2_Youtube_Subscriber_Counter.ino @@ -19,6 +19,10 @@ Want to learn more about Inkplate? Visit www.inkplate.io Looking to get support? Write on our forums: https://forum.soldered.com/ 15 April 2024 by Soldered + + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases */ // Next 3 lines are a precaution, you can ignore those, and the example would also work without them @@ -42,6 +46,7 @@ // Delay between API calls in miliseconds (10 minutes) #define DELAY_MS 10 * 60 * 1000 +#define DELAY_WIFI_RETRY_SECONDS 5 // Create object with all networking functions Network network; @@ -124,8 +129,27 @@ void setup() delay(1000); } - // Our begin function - network.begin(ssid, pass); + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(ssid, pass, WIFI_TIMEOUT, true)) + { + //Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(3); + // Set the cursor positions and print the text. + display.setCursor((display.width() / 2) - 200, display.height() / 2); + display.print(F("Unable to connect to ")); + display.println(F(ssid)); + display.setCursor((display.width() / 2) - 200, (display.height() / 2) + 30); + display.println(F("Please check SSID and PASS!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(1000L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } while (!network.getData(&channel, channel_id, api_key, &display)) { diff --git a/examples/Inkplate6/Advanced/DeepSleep/Inkplate6_Simple_Deep_Sleep/Inkplate6_Simple_Deep_Sleep.ino b/examples/Inkplate6/Advanced/DeepSleep/Inkplate6_Simple_Deep_Sleep/Inkplate6_Simple_Deep_Sleep.ino index 297dac2d..0c12c7da 100644 --- a/examples/Inkplate6/Advanced/DeepSleep/Inkplate6_Simple_Deep_Sleep/Inkplate6_Simple_Deep_Sleep.ino +++ b/examples/Inkplate6/Advanced/DeepSleep/Inkplate6_Simple_Deep_Sleep/Inkplate6_Simple_Deep_Sleep.ino @@ -15,6 +15,10 @@ Want to learn more about Inkplate? Visit www.inkplate.io Looking to get support? Write on our forums: https://forum.soldered.com/ 15 July 2020 by Soldered + + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases */ // Next 3 lines are a precaution, you can ignore those, and the example would also work without them diff --git a/examples/Inkplate6/Advanced/Other/Inkplate6_Read_Battery_Voltage/Inkplate6_Read_Battery_Voltage.ino b/examples/Inkplate6/Advanced/Other/Inkplate6_Read_Battery_Voltage/Inkplate6_Read_Battery_Voltage.ino index b7e95fd6..d9f3c5bf 100644 --- a/examples/Inkplate6/Advanced/Other/Inkplate6_Read_Battery_Voltage/Inkplate6_Read_Battery_Voltage.ino +++ b/examples/Inkplate6/Advanced/Other/Inkplate6_Read_Battery_Voltage/Inkplate6_Read_Battery_Voltage.ino @@ -10,6 +10,10 @@ Want to learn more about Inkplate? Visit www.inkplate.io Looking to get support? Write on our forums: https://forum.soldered.com/ 23 January 2023 by Soldered + + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases */ // Next 3 lines are a precaution, you can ignore those, and the example would also work without them diff --git a/examples/Inkplate6/Advanced/Other/Inkplate6_Read_Temperature/Inkplate6_Read_Temperature.ino b/examples/Inkplate6/Advanced/Other/Inkplate6_Read_Temperature/Inkplate6_Read_Temperature.ino index 736ecccb..06fbaea0 100644 --- a/examples/Inkplate6/Advanced/Other/Inkplate6_Read_Temperature/Inkplate6_Read_Temperature.ino +++ b/examples/Inkplate6/Advanced/Other/Inkplate6_Read_Temperature/Inkplate6_Read_Temperature.ino @@ -11,6 +11,10 @@ Want to learn more about Inkplate? Visit www.inkplate.io Looking to get support? Write on our forums: https://forum.soldered.com/ 23 January 2023 by Soldered + + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases */ // Next 3 lines are a precaution, you can ignore those, and the example would also work without them diff --git a/examples/Inkplate6/Basic/Inkplate6_Black_And_White/Inkplate6_Black_And_White.ino b/examples/Inkplate6/Basic/Inkplate6_Black_And_White/Inkplate6_Black_And_White.ino index 0ad772aa..47e9ca87 100644 --- a/examples/Inkplate6/Basic/Inkplate6_Black_And_White/Inkplate6_Black_And_White.ino +++ b/examples/Inkplate6/Basic/Inkplate6_Black_And_White/Inkplate6_Black_And_White.ino @@ -29,148 +29,7 @@ Inkplate display(INKPLATE_1BIT); // Create object on Inkplate library and set li // Want to refresh faster? Use partial update! Find example in "Inkplate6_Partial_Update" // Array that holds data for bitmap image of 700x140 pixels. You can convert your own image using Inkplate Image Converter. -const uint8_t logo[] PROGMEM = { -0x0,0x0,0x0,0x0,0x0,0x0,0x8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0xff,0xff,0xff,0xff,0xff,0xc3,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x3,0xff,0xff,0xff,0xff,0xff,0x0,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0xf,0xff,0xff,0xff,0xff,0xfc,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0xf,0xff,0xff,0xff,0xff,0xf8,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0xf,0xff,0xff,0xff,0xff,0xe0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0xf,0xff,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x7,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x7f,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0, -0xf,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x7,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x7f,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0, -0xf,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x7,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x7f,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0, -0xf,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x7f,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0, -0xf,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0, -0xf,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0, -0xf,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0, -0xf,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0, -0xf,0xff,0xff,0xe0,0x0,0x0,0x30,0x0,0x0,0xf,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0, -0xf,0xff,0xff,0xc0,0x0,0x0,0xfc,0x0,0x0,0x7,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0, -0xf,0xff,0xff,0xc0,0x0,0x1,0xff,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0, -0xf,0xff,0xff,0xc0,0x0,0x3,0xff,0xc0,0x0,0x1,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0, -0xf,0xff,0xff,0xc0,0x0,0x7,0xff,0xf0,0x0,0x1,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0, -0xf,0xff,0xff,0xc0,0x0,0x7,0xff,0xf8,0x0,0x0,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0, -0xf,0xff,0xff,0xc0,0x0,0xf,0xff,0xfe,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0, -0xf,0xff,0xff,0xc0,0x0,0xf,0xff,0xff,0x80,0x0,0x3f,0xff,0xf8,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0, -0xf,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xc0,0x0,0x1f,0xff,0xf0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0x80,0x7,0xff,0xf0,0x0,0x0,0xff,0xff,0xff,0xf0,0x3,0xff,0xff,0xff,0xc0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x7,0xff,0xff,0xff,0xf8,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x7,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xe0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x7f,0xff,0xfc,0x1,0xff,0xff,0xff,0xfc,0x0, -0xf,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xf0,0x0,0x7,0xff,0xc0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0x0,0x0,0xff,0xe0,0x0,0x0,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xe0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0xff,0xff,0xff,0xf8,0x0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xc0,0x0,0xf,0xff,0xff,0xf0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x3f,0xff,0xff,0xfe,0x0, -0xf,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xfc,0x0,0x1,0xff,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xfe,0x0,0x0,0x3f,0xc0,0x0,0x1,0xff,0xff,0xff,0x0,0x0,0x3f,0xff,0xff,0xe0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xf0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x7,0xff,0xff,0xff,0x0, -0xf,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0xf,0x80,0x0,0x1,0xff,0xff,0xfe,0x0,0x0,0x1f,0xff,0xff,0xf0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x7,0xff,0xff,0xfc,0x0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xc0,0x0,0x1,0xff,0xff,0xf0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x1,0xff,0xff,0xff,0x0, -0xf,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xf8,0x0,0x0,0x3,0x80,0x0,0x3,0xff,0xff,0xfc,0x0,0x0,0xf,0xff,0xff,0xf0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x3,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xc0,0x0,0x0,0xff,0xff,0xf8,0x0,0x7f,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0xff,0xff,0xff,0x0, -0xf,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xf8,0x0,0x0,0x7,0xff,0xff,0xf0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x1,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xc0,0x0,0x0,0xff,0xff,0xf8,0x0,0x7f,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x7f,0xff,0xff,0x80, -0xf,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xf0,0x0,0x0,0x3,0xff,0xff,0xf8,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xc0,0x0,0x0,0xff,0xff,0xf8,0x0,0x7f,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x3f,0xff,0xff,0x80, -0xf,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xe0,0x0,0x0,0x1,0xff,0xff,0xf8,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0x7f,0xff,0xff,0x0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xc0,0x0,0x0,0xff,0xff,0xf8,0x0,0x7f,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x1f,0xff,0xff,0x80, -0xf,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xe0,0x0,0x0,0x1,0xff,0xff,0xf8,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0x0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xc0,0x0,0x0,0x7f,0xff,0xf8,0x0,0x7f,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0xf,0xff,0xff,0xc0, -0xf,0xff,0xff,0xc0,0x0,0xf,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xe0,0x0,0x0,0x0,0xff,0xff,0xfc,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0x0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xc0,0x0,0x0,0x7f,0xff,0xf8,0x0,0x7f,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0xf,0xff,0xff,0xc0, -0xf,0xff,0xff,0xc0,0x0,0xf,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xc0,0x0,0x0,0x0,0xff,0xff,0xfc,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0x1f,0xff,0xff,0x80,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xc0,0x0,0x0,0x7f,0xff,0xf8,0x0,0x7f,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x7,0xff,0xff,0xc0, -0xf,0xff,0xff,0xc0,0x0,0x7,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xc0,0x0,0x0,0x0,0xff,0xff,0xfc,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0x1f,0xff,0xff,0x80,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xc0,0x0,0x0,0x7f,0xff,0xf8,0x0,0x7f,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x7,0xff,0xff,0xe0, -0xf,0xff,0xff,0xc0,0x0,0x7,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0xf,0xff,0xff,0x80,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xc0,0x0,0x0,0xff,0xff,0xf8,0x0,0x7f,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x3,0xff,0xff,0xe0, -0xf,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0xf,0xff,0xff,0x80,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xc0,0x0,0x0,0xff,0xff,0xf8,0x0,0x7f,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x3,0xff,0xff,0xe0, -0xf,0xff,0xff,0xc0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0xf,0xff,0xff,0x80,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xc0,0x0,0x0,0xff,0xff,0xf8,0x0,0x7f,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x3,0xff,0xff,0xe0, -0xf,0xff,0xff,0xe0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x1f,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xfe,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0xf,0xff,0xff,0xc0,0x1f,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x7,0xff,0xff,0xc0,0x0,0x0,0xff,0xff,0xf8,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xfc,0x0,0x0,0x3,0xff,0xff,0xe0, -0xf,0xff,0xff,0xf8,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x3f,0xff,0xfe,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0x7,0xff,0xff,0xc0,0x1f,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x7,0xff,0xff,0xc0,0x0,0x1,0xff,0xff,0xf0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xfc,0x0,0x0,0x3,0xff,0xff,0xe0, -0xf,0xff,0xff,0xfe,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x3f,0xff,0xfe,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0x7,0xff,0xff,0xc0,0x1f,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x7,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xf0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xfc,0x0,0x0,0x1,0xff,0xff,0xf0, -0xf,0xff,0xff,0xff,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x3f,0xff,0xfe,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0x7,0xff,0xff,0xc0,0x1f,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x7,0xff,0xff,0xc0,0x0,0x7,0xff,0xff,0xf0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xfc,0x0,0x0,0x1,0xff,0xff,0xf0, -0xf,0xff,0xff,0xff,0xc0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x3f,0xff,0xfe,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0x7,0xff,0xff,0xc0,0x1f,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x7,0xff,0xff,0xc0,0x0,0xf,0xff,0xff,0xe0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xfc,0x0,0x0,0x1,0xff,0xff,0xf0, -0xf,0xff,0xff,0xff,0xf0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x3f,0xff,0xfe,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0x7,0xff,0xff,0xc0,0x1f,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x7,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xe0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xfc,0x0,0x0,0x1,0xff,0xff,0xf0, -0xf,0xff,0xff,0xff,0xfc,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x3f,0xff,0xfe,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0x7,0xff,0xff,0xc0,0x1f,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x7,0xff,0xff,0xc0,0x7,0xff,0xff,0xff,0xe0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xfc,0x0,0x0,0x1,0xff,0xff,0xf0, -0xf,0xff,0xff,0xff,0xff,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x3f,0xff,0xfe,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0x7,0xff,0xff,0xc0,0x1f,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xfc,0x0,0x0,0x1,0xff,0xff,0xf0, -0xf,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0x7,0xff,0xff,0xc0,0x1f,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xfc,0x0,0x0,0x1,0xff,0xff,0xf0, -0xf,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0x7,0xff,0xff,0xc0,0x1f,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xfc,0x0,0x0,0x1,0xff,0xff,0xf0, -0xf,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x3f,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xfc,0x0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0x7,0xff,0xff,0xc0,0x1f,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xfc,0x0,0x0,0x1,0xff,0xff,0xf0, -0xf,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0xf,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0x7,0xff,0xff,0xc0,0x1f,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xfc,0x0,0x0,0x1,0xff,0xff,0xf0, -0x7,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x3,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0x0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x3f,0xff,0xfe,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0x7,0xff,0xff,0xc0,0x1f,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xfc,0x0,0x0,0x1,0xff,0xff,0xf0, -0x3,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x1,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0x0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x3f,0xff,0xfe,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0x7,0xff,0xff,0xc0,0x1f,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xfc,0x0,0x0,0x1,0xff,0xff,0xf0, -0x0,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x3f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0x80,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x3f,0xff,0xfe,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0x7,0xff,0xff,0xc0,0x1f,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xfc,0x0,0x0,0x1,0xff,0xff,0xf0, -0x0,0x3f,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xc0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x3f,0xff,0xfe,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0x7,0xff,0xff,0xc0,0x1f,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xfc,0x0,0x0,0x1,0xff,0xff,0xf0, -0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xc0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x3f,0xff,0xfe,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0x7,0xff,0xff,0xc0,0x1f,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xfc,0x0,0x0,0x1,0xff,0xff,0xf0, -0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x1,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xe0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x3f,0xff,0xfe,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0x7,0xff,0xff,0xc0,0x1f,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xfc,0x0,0x0,0x3,0xff,0xff,0xe0, -0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xe0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x3f,0xff,0xfe,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0x7,0xff,0xff,0xc0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x3,0xff,0xff,0xe0, -0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xf0,0x1f,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xfe,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0xf,0xff,0xff,0x80,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x3,0xff,0xff,0xe0, -0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xf0,0xf,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0xf,0xff,0xff,0x80,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x3,0xff,0xff,0xe0, -0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0,0xf,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0xf,0xff,0xff,0x80,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x3,0xff,0xff,0xe0, -0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xf0,0xf,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0xf,0xff,0xff,0x80,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x7,0xff,0xff,0xe0, -0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xf0,0xf,0xff,0xff,0xc0,0x0,0x0,0x0,0xff,0xff,0xfc,0x0,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0x1f,0xff,0xff,0x80,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xc0,0xf,0xff,0xff,0x80,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x7,0xff,0xff,0xe0, -0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xfe,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xf0,0xf,0xff,0xff,0xc0,0x0,0x0,0x0,0xff,0xff,0xfc,0x0,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0x1f,0xff,0xff,0x80,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xc0,0xf,0xff,0xff,0xc0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0xf,0xff,0xff,0xc0, -0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xfe,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xf8,0x7,0xff,0xff,0xe0,0x0,0x0,0x1,0xff,0xff,0xfc,0x0,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0x0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xc0,0x7,0xff,0xff,0xc0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0xf,0xff,0xff,0xc0, -0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xfe,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xf8,0x7,0xff,0xff,0xe0,0x0,0x0,0x1,0xff,0xff,0xf8,0x0,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0x0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xc0,0x7,0xff,0xff,0xe0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x1f,0xff,0xff,0xc0, -0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf8,0x7,0xff,0xff,0xe0,0x0,0x0,0x1,0xff,0xff,0xf8,0x0,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0x7f,0xff,0xfe,0x0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xc0,0x3,0xff,0xff,0xf0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x1f,0xff,0xff,0x80, -0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xfe,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x1,0x80,0x0,0x0,0x0,0xff,0xff,0xf8,0x3,0xff,0xff,0xf0,0x0,0x0,0x3,0xff,0xff,0xf0,0x0,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xc0,0x3,0xff,0xff,0xf0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x3f,0xff,0xff,0x80, -0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xfe,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x1,0xc0,0x0,0x0,0x0,0xff,0xff,0xf0,0x3,0xff,0xff,0xf8,0x0,0x0,0x7,0xff,0xff,0xf0,0x0,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x1,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xc0,0x1,0xff,0xff,0xf8,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x7f,0xff,0xff,0x80, -0x0,0x1f,0xc0,0x0,0xf,0xff,0xff,0xfe,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x3,0xf0,0x0,0x0,0x1,0xff,0xff,0xf0,0x3,0xff,0xff,0xfc,0x0,0x0,0xf,0xff,0xff,0xf0,0x0,0x7f,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x3,0xff,0xff,0xfc,0x0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xc0,0x1,0xff,0xff,0xf8,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0xff,0xff,0xff,0x0, -0x0,0xff,0xf8,0x0,0x3,0xff,0xff,0xfe,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x7,0xf8,0x0,0x0,0x1,0xff,0xff,0xf0,0x1,0xff,0xff,0xfe,0x0,0x0,0x1f,0xff,0xff,0xe0,0x0,0x3f,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x7,0xff,0xff,0xfc,0x0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xc0,0x0,0xff,0xff,0xfc,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x1,0xff,0xff,0xff,0x0, -0x3,0xff,0xfe,0x0,0x1,0xff,0xff,0xfe,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0xf,0xfe,0x0,0x0,0x3,0xff,0xff,0xf0,0x1,0xff,0xff,0xff,0x0,0x0,0x3f,0xff,0xff,0xe0,0x0,0x1f,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xc0,0x0,0xff,0xff,0xfc,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x7,0xff,0xff,0xfe,0x0, -0x7,0xff,0xff,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x1f,0xff,0xc0,0x0,0x7,0xff,0xff,0xf0,0x0,0xff,0xff,0xff,0xc0,0x0,0x7f,0xff,0xff,0xc0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0xff,0xff,0xf0,0x0,0x7f,0xff,0xff,0xf8,0x0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xc0,0x0,0x7f,0xff,0xfe,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x3f,0xff,0xff,0xfe,0x0, -0xf,0xff,0xff,0x80,0x0,0x1f,0xff,0xfc,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x1f,0xff,0xf8,0x0,0xf,0xff,0xff,0xe0,0x0,0xff,0xff,0xff,0xe0,0x1,0xff,0xff,0xff,0xc0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0xff,0xff,0xf0,0x3,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xc0,0x0,0x7f,0xff,0xff,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0xff,0xff,0xff,0xfc,0x0, -0x1f,0xff,0xff,0xc0,0x0,0x7,0xff,0xf8,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x7,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0, -0x3f,0xff,0xff,0xe0,0x0,0x3,0xff,0xf8,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x7,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0, -0x3f,0xff,0xff,0xe0,0x0,0x0,0xff,0xf0,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x7,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0, -0x7f,0xff,0xff,0xf0,0x0,0x0,0x3f,0xe0,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xfc,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x7,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xc0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0, -0x7f,0xff,0xff,0xf8,0x0,0x0,0xf,0xc0,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xfc,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x7,0xff,0xff,0xc0,0x0,0xf,0xff,0xff,0xc0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0, -0x7f,0xff,0xff,0xfc,0x0,0x0,0x7,0x0,0x0,0x1,0xff,0xff,0xf8,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xfc,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x7,0xff,0xff,0xc0,0x0,0xf,0xff,0xff,0xe0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0, -0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xf8,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xfc,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x7,0xff,0xff,0xc0,0x0,0x7,0xff,0xff,0xe0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0, -0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xfc,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x7,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xf0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0, -0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xfc,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x7,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xf8,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0, -0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xfc,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x7,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xf8,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0, -0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xfc,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x7,0xff,0xff,0xc0,0x0,0x1,0xff,0xff,0xfc,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0, -0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xfc,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x7,0xff,0xff,0xc0,0x0,0x0,0xff,0xff,0xfc,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0, -0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xfc,0x0,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x7,0xff,0xff,0xc0,0x0,0x0,0xff,0xff,0xfe,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x7f,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0, -0x7f,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x7f,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xfc,0x0,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x7,0xff,0xff,0xc0,0x0,0x0,0x7f,0xff,0xfe,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x7f,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0, -0x7f,0xff,0xff,0xff,0xff,0xf8,0x0,0x1,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xfc,0x0,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x7,0xff,0xff,0xc0,0x0,0x0,0x7f,0xff,0xff,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x7f,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0, -0x7f,0xff,0xff,0xff,0xff,0xfc,0x0,0x7,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xfc,0x0,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x7,0xff,0xff,0xc0,0x0,0x0,0x3f,0xff,0xff,0x80,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x7f,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0, -0x3f,0xff,0xff,0xff,0xff,0xff,0x0,0xf,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x7,0xff,0xff,0x80,0x0,0x0,0x3f,0xff,0xff,0x80,0x7f,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x3f,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0, -0x1f,0xff,0xff,0xff,0xff,0xff,0xc0,0x3f,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x1f,0xff,0xff,0xff,0xff,0xff,0xe0,0x7f,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0xf,0xff,0xff,0xff,0xff,0xff,0xf9,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x6,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -}; +#include "logo.h" int logo_w = 700; int logo_h = 140; diff --git a/examples/Inkplate6/Basic/Inkplate6_Black_And_White/logo.h b/examples/Inkplate6/Basic/Inkplate6_Black_And_White/logo.h new file mode 100644 index 00000000..f70c8116 --- /dev/null +++ b/examples/Inkplate6/Basic/Inkplate6_Black_And_White/logo.h @@ -0,0 +1,147 @@ +/* + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases +*/ +const uint8_t logo[] PROGMEM = { +0x0,0x0,0x0,0x0,0x0,0x0,0x8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0xff,0xff,0xff,0xff,0xff,0xc3,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x3,0xff,0xff,0xff,0xff,0xff,0x0,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0xf,0xff,0xff,0xff,0xff,0xfc,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0xf,0xff,0xff,0xff,0xff,0xf8,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0xf,0xff,0xff,0xff,0xff,0xe0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0xf,0xff,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x7,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x7f,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0, +0xf,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x7,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x7f,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0, +0xf,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x7,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x7f,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0, +0xf,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x7f,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0, +0xf,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0, +0xf,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0, +0xf,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0, +0xf,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0, +0xf,0xff,0xff,0xe0,0x0,0x0,0x30,0x0,0x0,0xf,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0, +0xf,0xff,0xff,0xc0,0x0,0x0,0xfc,0x0,0x0,0x7,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0, +0xf,0xff,0xff,0xc0,0x0,0x1,0xff,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0, +0xf,0xff,0xff,0xc0,0x0,0x3,0xff,0xc0,0x0,0x1,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0, +0xf,0xff,0xff,0xc0,0x0,0x7,0xff,0xf0,0x0,0x1,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0, +0xf,0xff,0xff,0xc0,0x0,0x7,0xff,0xf8,0x0,0x0,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0, +0xf,0xff,0xff,0xc0,0x0,0xf,0xff,0xfe,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0, +0xf,0xff,0xff,0xc0,0x0,0xf,0xff,0xff,0x80,0x0,0x3f,0xff,0xf8,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0, +0xf,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xc0,0x0,0x1f,0xff,0xf0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0x80,0x7,0xff,0xf0,0x0,0x0,0xff,0xff,0xff,0xf0,0x3,0xff,0xff,0xff,0xc0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x7,0xff,0xff,0xff,0xf8,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x7,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xe0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x7f,0xff,0xfc,0x1,0xff,0xff,0xff,0xfc,0x0, +0xf,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xf0,0x0,0x7,0xff,0xc0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0x0,0x0,0xff,0xe0,0x0,0x0,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xe0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0xff,0xff,0xff,0xf8,0x0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xc0,0x0,0xf,0xff,0xff,0xf0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x3f,0xff,0xff,0xfe,0x0, +0xf,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xfc,0x0,0x1,0xff,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xfe,0x0,0x0,0x3f,0xc0,0x0,0x1,0xff,0xff,0xff,0x0,0x0,0x3f,0xff,0xff,0xe0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xf0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x7,0xff,0xff,0xff,0x0, +0xf,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0xf,0x80,0x0,0x1,0xff,0xff,0xfe,0x0,0x0,0x1f,0xff,0xff,0xf0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x7,0xff,0xff,0xfc,0x0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xc0,0x0,0x1,0xff,0xff,0xf0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x1,0xff,0xff,0xff,0x0, +0xf,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xf8,0x0,0x0,0x3,0x80,0x0,0x3,0xff,0xff,0xfc,0x0,0x0,0xf,0xff,0xff,0xf0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x3,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xc0,0x0,0x0,0xff,0xff,0xf8,0x0,0x7f,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0xff,0xff,0xff,0x0, +0xf,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xf8,0x0,0x0,0x7,0xff,0xff,0xf0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x1,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xc0,0x0,0x0,0xff,0xff,0xf8,0x0,0x7f,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x7f,0xff,0xff,0x80, +0xf,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xf0,0x0,0x0,0x3,0xff,0xff,0xf8,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xc0,0x0,0x0,0xff,0xff,0xf8,0x0,0x7f,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x3f,0xff,0xff,0x80, +0xf,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xe0,0x0,0x0,0x1,0xff,0xff,0xf8,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0x7f,0xff,0xff,0x0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xc0,0x0,0x0,0xff,0xff,0xf8,0x0,0x7f,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x1f,0xff,0xff,0x80, +0xf,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xe0,0x0,0x0,0x1,0xff,0xff,0xf8,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0x0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xc0,0x0,0x0,0x7f,0xff,0xf8,0x0,0x7f,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0xf,0xff,0xff,0xc0, +0xf,0xff,0xff,0xc0,0x0,0xf,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xe0,0x0,0x0,0x0,0xff,0xff,0xfc,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0x0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xc0,0x0,0x0,0x7f,0xff,0xf8,0x0,0x7f,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0xf,0xff,0xff,0xc0, +0xf,0xff,0xff,0xc0,0x0,0xf,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xc0,0x0,0x0,0x0,0xff,0xff,0xfc,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0x1f,0xff,0xff,0x80,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xc0,0x0,0x0,0x7f,0xff,0xf8,0x0,0x7f,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x7,0xff,0xff,0xc0, +0xf,0xff,0xff,0xc0,0x0,0x7,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xc0,0x0,0x0,0x0,0xff,0xff,0xfc,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0x1f,0xff,0xff,0x80,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xc0,0x0,0x0,0x7f,0xff,0xf8,0x0,0x7f,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x7,0xff,0xff,0xe0, +0xf,0xff,0xff,0xc0,0x0,0x7,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0xf,0xff,0xff,0x80,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xc0,0x0,0x0,0xff,0xff,0xf8,0x0,0x7f,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x3,0xff,0xff,0xe0, +0xf,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0xf,0xff,0xff,0x80,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xc0,0x0,0x0,0xff,0xff,0xf8,0x0,0x7f,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x3,0xff,0xff,0xe0, +0xf,0xff,0xff,0xc0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0xf,0xff,0xff,0x80,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xc0,0x0,0x0,0xff,0xff,0xf8,0x0,0x7f,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x3,0xff,0xff,0xe0, +0xf,0xff,0xff,0xe0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x1f,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xfe,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0xf,0xff,0xff,0xc0,0x1f,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x7,0xff,0xff,0xc0,0x0,0x0,0xff,0xff,0xf8,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xfc,0x0,0x0,0x3,0xff,0xff,0xe0, +0xf,0xff,0xff,0xf8,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x3f,0xff,0xfe,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0x7,0xff,0xff,0xc0,0x1f,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x7,0xff,0xff,0xc0,0x0,0x1,0xff,0xff,0xf0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xfc,0x0,0x0,0x3,0xff,0xff,0xe0, +0xf,0xff,0xff,0xfe,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x3f,0xff,0xfe,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0x7,0xff,0xff,0xc0,0x1f,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x7,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xf0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xfc,0x0,0x0,0x1,0xff,0xff,0xf0, +0xf,0xff,0xff,0xff,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x3f,0xff,0xfe,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0x7,0xff,0xff,0xc0,0x1f,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x7,0xff,0xff,0xc0,0x0,0x7,0xff,0xff,0xf0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xfc,0x0,0x0,0x1,0xff,0xff,0xf0, +0xf,0xff,0xff,0xff,0xc0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x3f,0xff,0xfe,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0x7,0xff,0xff,0xc0,0x1f,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x7,0xff,0xff,0xc0,0x0,0xf,0xff,0xff,0xe0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xfc,0x0,0x0,0x1,0xff,0xff,0xf0, +0xf,0xff,0xff,0xff,0xf0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x3f,0xff,0xfe,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0x7,0xff,0xff,0xc0,0x1f,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x7,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xe0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xfc,0x0,0x0,0x1,0xff,0xff,0xf0, +0xf,0xff,0xff,0xff,0xfc,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x3f,0xff,0xfe,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0x7,0xff,0xff,0xc0,0x1f,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x7,0xff,0xff,0xc0,0x7,0xff,0xff,0xff,0xe0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xfc,0x0,0x0,0x1,0xff,0xff,0xf0, +0xf,0xff,0xff,0xff,0xff,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x3f,0xff,0xfe,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0x7,0xff,0xff,0xc0,0x1f,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xfc,0x0,0x0,0x1,0xff,0xff,0xf0, +0xf,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0x7,0xff,0xff,0xc0,0x1f,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xfc,0x0,0x0,0x1,0xff,0xff,0xf0, +0xf,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0x7,0xff,0xff,0xc0,0x1f,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xfc,0x0,0x0,0x1,0xff,0xff,0xf0, +0xf,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x3f,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xfc,0x0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0x7,0xff,0xff,0xc0,0x1f,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xfc,0x0,0x0,0x1,0xff,0xff,0xf0, +0xf,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0xf,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0x7,0xff,0xff,0xc0,0x1f,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xfc,0x0,0x0,0x1,0xff,0xff,0xf0, +0x7,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x3,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0x0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x3f,0xff,0xfe,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0x7,0xff,0xff,0xc0,0x1f,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xfc,0x0,0x0,0x1,0xff,0xff,0xf0, +0x3,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x1,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0x0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x3f,0xff,0xfe,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0x7,0xff,0xff,0xc0,0x1f,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xfc,0x0,0x0,0x1,0xff,0xff,0xf0, +0x0,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x3f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0x80,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x3f,0xff,0xfe,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0x7,0xff,0xff,0xc0,0x1f,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xfc,0x0,0x0,0x1,0xff,0xff,0xf0, +0x0,0x3f,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xc0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x3f,0xff,0xfe,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0x7,0xff,0xff,0xc0,0x1f,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xfc,0x0,0x0,0x1,0xff,0xff,0xf0, +0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xc0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x3f,0xff,0xfe,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0x7,0xff,0xff,0xc0,0x1f,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xfc,0x0,0x0,0x1,0xff,0xff,0xf0, +0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x1,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xe0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x3f,0xff,0xfe,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0x7,0xff,0xff,0xc0,0x1f,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xfc,0x0,0x0,0x3,0xff,0xff,0xe0, +0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xe0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x3f,0xff,0xfe,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0x7,0xff,0xff,0xc0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x3,0xff,0xff,0xe0, +0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xf0,0x1f,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xfe,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0xf,0xff,0xff,0x80,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x3,0xff,0xff,0xe0, +0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xf0,0xf,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0xf,0xff,0xff,0x80,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x3,0xff,0xff,0xe0, +0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0,0xf,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0xf,0xff,0xff,0x80,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x3,0xff,0xff,0xe0, +0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xf0,0xf,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0xf,0xff,0xff,0x80,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x7,0xff,0xff,0xe0, +0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xf0,0xf,0xff,0xff,0xc0,0x0,0x0,0x0,0xff,0xff,0xfc,0x0,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0x1f,0xff,0xff,0x80,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xc0,0xf,0xff,0xff,0x80,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x7,0xff,0xff,0xe0, +0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xfe,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xf0,0xf,0xff,0xff,0xc0,0x0,0x0,0x0,0xff,0xff,0xfc,0x0,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0x1f,0xff,0xff,0x80,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xc0,0xf,0xff,0xff,0xc0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0xf,0xff,0xff,0xc0, +0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xfe,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xf8,0x7,0xff,0xff,0xe0,0x0,0x0,0x1,0xff,0xff,0xfc,0x0,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0x0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xc0,0x7,0xff,0xff,0xc0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0xf,0xff,0xff,0xc0, +0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xfe,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xf8,0x7,0xff,0xff,0xe0,0x0,0x0,0x1,0xff,0xff,0xf8,0x0,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0x0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xc0,0x7,0xff,0xff,0xe0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x1f,0xff,0xff,0xc0, +0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfe,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xf8,0x7,0xff,0xff,0xe0,0x0,0x0,0x1,0xff,0xff,0xf8,0x0,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0x7f,0xff,0xfe,0x0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xc0,0x3,0xff,0xff,0xf0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x1f,0xff,0xff,0x80, +0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xfe,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x1,0x80,0x0,0x0,0x0,0xff,0xff,0xf8,0x3,0xff,0xff,0xf0,0x0,0x0,0x3,0xff,0xff,0xf0,0x0,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x0,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xc0,0x3,0xff,0xff,0xf0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x3f,0xff,0xff,0x80, +0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xfe,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x1,0xc0,0x0,0x0,0x0,0xff,0xff,0xf0,0x3,0xff,0xff,0xf8,0x0,0x0,0x7,0xff,0xff,0xf0,0x0,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x1,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xc0,0x1,0xff,0xff,0xf8,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x7f,0xff,0xff,0x80, +0x0,0x1f,0xc0,0x0,0xf,0xff,0xff,0xfe,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x3,0xf0,0x0,0x0,0x1,0xff,0xff,0xf0,0x3,0xff,0xff,0xfc,0x0,0x0,0xf,0xff,0xff,0xf0,0x0,0x7f,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x3,0xff,0xff,0xfc,0x0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xc0,0x1,0xff,0xff,0xf8,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0xff,0xff,0xff,0x0, +0x0,0xff,0xf8,0x0,0x3,0xff,0xff,0xfe,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x7,0xf8,0x0,0x0,0x1,0xff,0xff,0xf0,0x1,0xff,0xff,0xfe,0x0,0x0,0x1f,0xff,0xff,0xe0,0x0,0x3f,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x7,0xff,0xff,0xfc,0x0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xc0,0x0,0xff,0xff,0xfc,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x1,0xff,0xff,0xff,0x0, +0x3,0xff,0xfe,0x0,0x1,0xff,0xff,0xfe,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0xf,0xfe,0x0,0x0,0x3,0xff,0xff,0xf0,0x1,0xff,0xff,0xff,0x0,0x0,0x3f,0xff,0xff,0xe0,0x0,0x1f,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xc0,0x0,0xff,0xff,0xfc,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x7,0xff,0xff,0xfe,0x0, +0x7,0xff,0xff,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x1f,0xff,0xc0,0x0,0x7,0xff,0xff,0xf0,0x0,0xff,0xff,0xff,0xc0,0x0,0x7f,0xff,0xff,0xc0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0xff,0xff,0xf0,0x0,0x7f,0xff,0xff,0xf8,0x0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xc0,0x0,0x7f,0xff,0xfe,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0x3f,0xff,0xff,0xfe,0x0, +0xf,0xff,0xff,0x80,0x0,0x1f,0xff,0xfc,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x1f,0xff,0xf8,0x0,0xf,0xff,0xff,0xe0,0x0,0xff,0xff,0xff,0xe0,0x1,0xff,0xff,0xff,0xc0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0xff,0xff,0xf0,0x3,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xc0,0x0,0x7f,0xff,0xff,0x0,0x0,0x7f,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xfc,0x0,0xff,0xff,0xff,0xfc,0x0, +0x1f,0xff,0xff,0xc0,0x0,0x7,0xff,0xf8,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x7,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0, +0x3f,0xff,0xff,0xe0,0x0,0x3,0xff,0xf8,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x7,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0, +0x3f,0xff,0xff,0xe0,0x0,0x0,0xff,0xf0,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x7,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0, +0x7f,0xff,0xff,0xf0,0x0,0x0,0x3f,0xe0,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xfc,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x7,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xc0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0, +0x7f,0xff,0xff,0xf8,0x0,0x0,0xf,0xc0,0x0,0x0,0xff,0xff,0xf8,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xfc,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x7,0xff,0xff,0xc0,0x0,0xf,0xff,0xff,0xc0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0, +0x7f,0xff,0xff,0xfc,0x0,0x0,0x7,0x0,0x0,0x1,0xff,0xff,0xf8,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xfc,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x7,0xff,0xff,0xc0,0x0,0xf,0xff,0xff,0xe0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0, +0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xf8,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xfc,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x7,0xff,0xff,0xc0,0x0,0x7,0xff,0xff,0xe0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0, +0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xfc,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x7,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xf0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0, +0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xfc,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x7,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xf8,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0, +0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xfc,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x7,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xf8,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0, +0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xfc,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x7,0xff,0xff,0xc0,0x0,0x1,0xff,0xff,0xfc,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0, +0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xfc,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x7,0xff,0xff,0xc0,0x0,0x0,0xff,0xff,0xfc,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0, +0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xfc,0x0,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x7,0xff,0xff,0xc0,0x0,0x0,0xff,0xff,0xfe,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x7f,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0, +0x7f,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x7f,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xfc,0x0,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x7,0xff,0xff,0xc0,0x0,0x0,0x7f,0xff,0xfe,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x7f,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0, +0x7f,0xff,0xff,0xff,0xff,0xf8,0x0,0x1,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xfc,0x0,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x7,0xff,0xff,0xc0,0x0,0x0,0x7f,0xff,0xff,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x7f,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0, +0x7f,0xff,0xff,0xff,0xff,0xfc,0x0,0x7,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xfc,0x0,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x7,0xff,0xff,0xc0,0x0,0x0,0x3f,0xff,0xff,0x80,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x7f,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0, +0x3f,0xff,0xff,0xff,0xff,0xff,0x0,0xf,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x7,0xff,0xff,0x80,0x0,0x0,0x3f,0xff,0xff,0x80,0x7f,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x3f,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0, +0x1f,0xff,0xff,0xff,0xff,0xff,0xc0,0x3f,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x1f,0xff,0xff,0xff,0xff,0xff,0xe0,0x7f,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0xf,0xff,0xff,0xff,0xff,0xff,0xf9,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x6,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +}; \ No newline at end of file diff --git a/examples/Inkplate6/Basic/Inkplate6_Grayscale/image.h b/examples/Inkplate6/Basic/Inkplate6_Grayscale/image.h index 9b74fb13..171c166d 100644 --- a/examples/Inkplate6/Basic/Inkplate6_Grayscale/image.h +++ b/examples/Inkplate6/Basic/Inkplate6_Grayscale/image.h @@ -1,5 +1,8 @@ -//Array that holds data for grayscale image of 500x332 pixels. You can convert your own image using Inkplate Image Converter. -//Image source: https://www.peakpx.com/583083/grayscale-photo-of-lighthouse +/* + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases +*/ const uint8_t picture1[] = { 0x88, 0x88, 0x99, 0x99, 0x99, 0x99, 0x99, 0x98, 0x88, 0x88, 0x88, 0x99, 0x99, 0x99, 0x99, 0x98, 0x88, 0x88, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xab, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xab, 0xbb, 0xbb, 0xbb, 0xbb, 0xbc, 0xcb, 0xbc, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xbb, 0xba, 0xaa, 0xaa, 0x99, 0x99, 0x89, 0x88, 0x88, 0x88, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x66, 0x66, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x78, 0x88, 0x87, 0x88, 0x88, 0x88, 0x88, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0xa9, 0x99, 0x99, 0xaa, 0xab, 0xba, 0xaa, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xbb, 0xbb, 0xbc, 0xcc, 0xcc, 0xcb, 0xbb, 0xbb, 0xbb, 0xaa, 0xaa, 0x9a, 0xaa, 0xaa, 0xaa, 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, 0x99, 0x99, 0x98, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x88, 0x89, 0x88, 0x88, 0x88, 0x88, 0x88, 0x99, 0x88, 0x88, 0x88, 0x89, 0x99, 0x99, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xab, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xab, 0xba, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xa9, 0x9a, 0xaa, 0xaa, 0xba, 0xaa, 0xba, 0x9a, 0xba, 0xaa, 0xa9, 0x98, 0x88, 0x87, 0x77, 0x88, 0x88, 0x77, 0x88, 0x88, 0x88, 0x87, 0x88, 0x88, 0x78, 0x88, 0x87, 0x77, 0x77, 0x88, 0x88, 0x99, 0x99, 0x99, 0x99, 0x99, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x99, 0x99, 0x99, 0x88, 0x88, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x9a, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xab, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xab, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcb, 0xbb, 0xaa, 0xaa, 0x99, 0x99, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x66, 0x67, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x67, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x9a, 0x99, 0x9a, 0xa9, 0xaa, 0xaa, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xba, 0xbb, 0xba, 0xab, 0xbb, 0xbb, 0xbb, 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xab, 0xbb, 0xbb, 0xbc, 0xcc, 0xcc, 0xcc, 0xcb, 0xbb, 0xba, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x9a, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x99, 0x99, 0x88, 0x88, 0x88, 0x99, 0x99, 0x99, 0x99, 0x88, 0x89, 0x98, 0x88, 0x88, 0x88, 0x88, 0x88, 0x99, 0x99, 0x99, 0x99, 0x99, 0x9a, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xab, 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, 0x9a, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xba, 0xaa, 0xaa, 0xaa, 0xaa, 0x99, 0xa9, 0x99, 0xaa, 0x99, 0x99, 0x9a, 0xa9, 0xaa, 0xa9, 0x88, 0x88, 0x77, 0x77, 0x87, 0x77, 0x77, 0x77, 0x77, 0x77, 0x76, 0x67, 0x77, 0x88, 0x77, 0x77, 0x66, 0x66, diff --git a/examples/Inkplate6/Projects/Inkplate6_Crypto_Currency_Tracker/Inkplate6_Crypto_Currency_Tracker.ino b/examples/Inkplate6/Projects/Inkplate6_Crypto_Currency_Tracker/Inkplate6_Crypto_Currency_Tracker.ino index 82699ebe..c40007b0 100644 --- a/examples/Inkplate6/Projects/Inkplate6_Crypto_Currency_Tracker/Inkplate6_Crypto_Currency_Tracker.ino +++ b/examples/Inkplate6/Projects/Inkplate6_Crypto_Currency_Tracker/Inkplate6_Crypto_Currency_Tracker.ino @@ -1,4 +1,4 @@ -/* + /* Inkplate6_Crypto_Currency_Tracker example for Soldered Inkplate 6 For this example you will need only USB cable and Inkplate 6. Select "e-radionica Inkplate6" or "Soldered Inkplate6" from Tools -> Board menu. @@ -37,6 +37,7 @@ char pass[] = ""; // Delay between API calls in miliseconds (first 60 represents minutes so you can change to your need) #define DELAY_MS 3 * 60 * 1000 +#define DELAY_WIFI_RETRY_SECONDS 5 // OPTIONAL: // change to a different currency @@ -116,6 +117,7 @@ textElement elements[] = { // Our functions declared below setup and loop void drawGraph(); void drawAll(); +void setTime(); void setup() { @@ -127,8 +129,30 @@ void setup() display.setTextWrap(false); display.setTextColor(0, 7); - // Our begin function - network.begin(); + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(ssid, pass, WIFI_TIMEOUT, true)) + { + // Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(3); + // Set the cursor positions and print the text. + display.setCursor((display.width() / 2) - 200, display.height() / 2); + display.print(F("Unable to connect to ")); + display.println(F(ssid)); + display.setCursor((display.width() / 2) - 200, (display.height() / 2) + 30); + display.println(F("Please check ssid and pass!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(1000L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } + + // After connecting to WiFi we need to get internet time from NTP server + setTime(); Serial.print("Retrying retriving data"); while (!network.getData(data)) @@ -154,6 +178,26 @@ void loop() // Never here } +// Function for getting time from NTP server +void setTime() +{ + // Structure used to hold time information + struct tm timeInfo; + time_t nowSec; + // Fetch current time in epoch format and store it + display.getNTPEpoch(&nowSec); + // This loop ensures that the NTP time fetched is valid and beyond a certain threshold + while (nowSec < 8 * 3600 * 2) + { + delay(500); + yield(); + display.getNTPEpoch(&nowSec); + } + gmtime_r(&nowSec, &timeInfo); + Serial.print(F("Current time: ")); + Serial.print(asctime(&timeInfo)); +} + // Function to draw our graph void drawGraph() { diff --git a/examples/Inkplate6/Projects/Inkplate6_Crypto_Currency_Tracker/Network.cpp b/examples/Inkplate6/Projects/Inkplate6_Crypto_Currency_Tracker/Network.cpp index 17807707..f45d7298 100644 --- a/examples/Inkplate6/Projects/Inkplate6_Crypto_Currency_Tracker/Network.cpp +++ b/examples/Inkplate6/Projects/Inkplate6_Crypto_Currency_Tracker/Network.cpp @@ -59,8 +59,6 @@ void Network::begin() } Serial.println(F(" connected")); - // Find internet time - setTime(); } // Gets time from ntp server @@ -189,29 +187,3 @@ bool Network::getData(double *data) return !f; } - -// Function for initial time setting ovet the ntp server -void Network::setTime() -{ - // Used for setting correct time - configTime(0, 0, "pool.ntp.org", "time.nist.gov"); - - Serial.print(F("Waiting for NTP time sync: ")); - time_t nowSecs = time(nullptr); - while (nowSecs < 8 * 3600 * 2) - { - delay(500); - Serial.print(F(".")); - yield(); - nowSecs = time(nullptr); - } - - Serial.println(); - - // Used to store time info - struct tm timeinfo; - gmtime_r(&nowSecs, &timeinfo); - - Serial.print(F("Current time: ")); - Serial.print(asctime(&timeinfo)); -} diff --git a/examples/Inkplate6/Projects/Inkplate6_Crypto_Currency_Tracker/Network.h b/examples/Inkplate6/Projects/Inkplate6_Crypto_Currency_Tracker/Network.h index 976c27ce..543adc82 100644 --- a/examples/Inkplate6/Projects/Inkplate6_Crypto_Currency_Tracker/Network.h +++ b/examples/Inkplate6/Projects/Inkplate6_Crypto_Currency_Tracker/Network.h @@ -41,8 +41,6 @@ class Network bool getData(double *data); private: - // Functions called from within our class - void setTime(); }; #endif diff --git a/examples/Inkplate6/Projects/Inkplate6_Daily_Weather_Station/Inkplate6_Daily_Weather_Station.ino b/examples/Inkplate6/Projects/Inkplate6_Daily_Weather_Station/Inkplate6_Daily_Weather_Station.ino index e3e4063b..b740df5d 100644 --- a/examples/Inkplate6/Projects/Inkplate6_Daily_Weather_Station/Inkplate6_Daily_Weather_Station.ino +++ b/examples/Inkplate6/Projects/Inkplate6_Daily_Weather_Station/Inkplate6_Daily_Weather_Station.ino @@ -15,6 +15,10 @@ Want to learn more about Inkplate? Visit www.inkplate.io Looking to get support? Write on our forums: https://forum.soldered.com/ 28 July 2020 by Soldered + + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases */ // Next 3 lines are a precaution, you can ignore those, and the example would also work without them @@ -64,6 +68,7 @@ char apiKey[] = ""; // Delay between API calls, about 1000 per month, which is the free tier limit #define DELAY_MS 267800L +#define DELAY_WIFI_RETRY_SECONDS 5 // Inkplate object Inkplate display(INKPLATE_1BIT); @@ -121,6 +126,7 @@ void drawCurrent(); void drawTemps(); void drawCity(); void drawTime(); +void setTime(); void setup() { @@ -129,7 +135,29 @@ void setup() display.begin(); // Calling our begin from network.h file - network.begin(ssid, pass); + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(ssid, pass, WIFI_TIMEOUT, true)) + { + //Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(3); + // Set the cursor positions and print the text. + display.setCursor((display.width() / 2) - 200, display.height() / 2); + display.print(F("Unable to connect to ")); + display.println(F(ssid)); + display.setCursor((display.width() / 2) - 200, (display.height() / 2) + 30); + display.println(F("Please check ssid and pass!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(100L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } + + setTime(); // Get all relevant data, see Network.cpp for info if (refreshes % fullRefresh == 0) @@ -166,6 +194,27 @@ void loop() // nothing here } +// Function for getting time from NTP server +void setTime() +{ + // Structure used to hold time information + struct tm timeInfo; + display.getNTPDateTime(&timeInfo); + time_t nowSec; + // Fetch current time in epoch format and store it + display.getNTPEpoch(&nowSec); + // This loop ensures that the NTP time fetched is valid and beyond a certain threshold + while (nowSec < 8 * 3600 * 2) + { + delay(500); + yield(); + display.getNTPEpoch(&nowSec); + } + gmtime_r(&nowSec, &timeInfo); + Serial.print(F("Current time: ")); + Serial.print(asctime(&timeInfo)); +} + // Function for drawing weather info void drawWeather() { diff --git a/examples/Inkplate6/Projects/Inkplate6_Daily_Weather_Station/Network.cpp b/examples/Inkplate6/Projects/Inkplate6_Daily_Weather_Station/Network.cpp index fc0e840c..2180328a 100644 --- a/examples/Inkplate6/Projects/Inkplate6_Daily_Weather_Station/Network.cpp +++ b/examples/Inkplate6/Projects/Inkplate6_Daily_Weather_Station/Network.cpp @@ -44,8 +44,6 @@ void Network::begin(char *ssid, char *pass) } Serial.println(F(" connected")); - // Find internet time - setTime(); } // Gets time from ntp server @@ -227,31 +225,7 @@ bool Network::getData(char *lat, char *lon, char *apiKey, char *city, char *temp return 1; } -void Network::setTime() -{ - // Used for setting correct time - configTime(0, 0, "pool.ntp.org", "time.nist.gov"); - - Serial.print(F("Waiting for NTP time sync: ")); - time_t nowSecs = time(nullptr); - while (nowSecs < 8 * 3600 * 2) - { - // Print a dot every half a second while time is not set - delay(500); - Serial.print(F(".")); - yield(); - nowSecs = time(nullptr); - } - Serial.println(); - - // Used to store time info - struct tm timeinfo; - gmtime_r(&nowSecs, &timeinfo); - - Serial.print(F("Current time: ")); - Serial.print(asctime(&timeinfo)); -} void Network::getDays(char *day, char *day1, char *day2, char *day3) { diff --git a/examples/Inkplate6/Projects/Inkplate6_Daily_Weather_Station/Network.h b/examples/Inkplate6/Projects/Inkplate6_Daily_Weather_Station/Network.h index df05ca18..e9c17ae6 100644 --- a/examples/Inkplate6/Projects/Inkplate6_Daily_Weather_Station/Network.h +++ b/examples/Inkplate6/Projects/Inkplate6_Daily_Weather_Station/Network.h @@ -49,8 +49,6 @@ class Network int location = -1; private: - // Functions called from within our class - void setTime(); int timeZone = 0; }; diff --git a/examples/Inkplate6/Projects/Inkplate6_Google_Calendar/Inkplate6_Google_Calendar.ino b/examples/Inkplate6/Projects/Inkplate6_Google_Calendar/Inkplate6_Google_Calendar.ino index 8307b1c1..a6ad8630 100644 --- a/examples/Inkplate6/Projects/Inkplate6_Google_Calendar/Inkplate6_Google_Calendar.ino +++ b/examples/Inkplate6/Projects/Inkplate6_Google_Calendar/Inkplate6_Google_Calendar.ino @@ -55,6 +55,7 @@ int timeZone = 2; // Delay between API calls #define DELAY_MS 4 * 60000 +#define DELAY_WIFI_RETRY_SECONDS 5 // Variables to keep count of when to get new data, and when to just update time RTC_DATA_ATTR unsigned int refreshes = 0; @@ -92,6 +93,7 @@ void getToFrom(char *dst, char *from, char *to, int *day, int *timeStamp); bool drawEvent(entry *event, int day, int beginY, int maxHeigth, int *heigthNeeded); int cmp(const void *a, const void *b); void drawData(); +void setTime(); void setup() { @@ -106,8 +108,30 @@ void setup() display.setTextWrap(false); display.setTextColor(0, 7); - delay(5000); - network.begin(ssid, pass); + // Connect Inkplate to the WiFi network + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(ssid, pass, WIFI_TIMEOUT, true)) + { + //Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(3); + // Set the cursor positions and print the text. + display.setCursor((display.width() / 2) - 200, display.height() / 2); + display.print(F("Unable to connect to ")); + display.println(F(ssid)); + display.setCursor((display.width() / 2) - 200, (display.height() / 2) + 30); + display.println(F("Please check SSID and PASS!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(1000L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } + + setTime(); // Keep trying to get data if it fails the first time Serial.println("Getting data... "); @@ -141,6 +165,26 @@ void loop() // Never here } +void setTime() +{ + // Structure used to hold time information + struct tm timeInfo; + // Fetch current time from an NTP server and store it + time_t nowSec; + // Fetch current time in epoch format and store it + display.getNTPEpoch(&nowSec); + // This loop ensures that the NTP time fetched is valid and beyond a certain threshold + while(nowSec < 8 * 3600 * 2) + { + delay(500); + yield(); + display.getNTPEpoch(&nowSec); + } + gmtime_r(&nowSec, &timeInfo); + Serial.print(F("Current time: ")); + Serial.print(asctime(&timeInfo)); +} + // Function for drawing calendar info void drawInfo() { @@ -457,6 +501,10 @@ void drawData() &entries[entriesNum].timeStamp); } ++entriesNum; + if(entriesNum == 128) + { + break; + } } // Sort entries by time diff --git a/examples/Inkplate6/Projects/Inkplate6_Google_Calendar/Network.cpp b/examples/Inkplate6/Projects/Inkplate6_Google_Calendar/Network.cpp index 87a66fa1..66b16791 100644 --- a/examples/Inkplate6/Projects/Inkplate6_Google_Calendar/Network.cpp +++ b/examples/Inkplate6/Projects/Inkplate6_Google_Calendar/Network.cpp @@ -43,8 +43,6 @@ void Network::begin(char *ssid, char *pass) } Serial.println(F(" connected")); - // Find and print internet time, the timezone will be added later - setTime(); } // Gets time from ntp server @@ -141,29 +139,3 @@ bool Network::getData(char *calendarURL, char *data) return !f; } - -// Find internet time -void Network::setTime() -{ - // Used for setting correct time - configTime(0, 0, "pool.ntp.org", "time.nist.gov"); - - Serial.print(F("Waiting for NTP time sync: ")); - time_t nowSecs = time(nullptr); - while (nowSecs < 8 * 3600 * 2) - { - delay(500); - Serial.print(F(".")); - yield(); - nowSecs = time(nullptr); - } - Serial.println(); - - // Used to store time info - struct tm timeinfo; - gmtime_r(&nowSecs, &timeinfo); - - // Print the current time without adding a timezone - Serial.print(F("Current time: ")); - Serial.print(asctime(&timeinfo)); -} diff --git a/examples/Inkplate6/Projects/Inkplate6_Google_Calendar/Network.h b/examples/Inkplate6/Projects/Inkplate6_Google_Calendar/Network.h index 5449b75f..ffadefcb 100644 --- a/examples/Inkplate6/Projects/Inkplate6_Google_Calendar/Network.h +++ b/examples/Inkplate6/Projects/Inkplate6_Google_Calendar/Network.h @@ -35,8 +35,6 @@ class Network bool getData(char *calendarURL, char *data); private: - // Functions called from within our class - void setTime(); }; #endif diff --git a/examples/Inkplate6/Projects/Inkplate6_Hourly_Weather_Station/Inkplate6_Hourly_Weather_Station.ino b/examples/Inkplate6/Projects/Inkplate6_Hourly_Weather_Station/Inkplate6_Hourly_Weather_Station.ino index a7662869..435ac01d 100644 --- a/examples/Inkplate6/Projects/Inkplate6_Hourly_Weather_Station/Inkplate6_Hourly_Weather_Station.ino +++ b/examples/Inkplate6/Projects/Inkplate6_Hourly_Weather_Station/Inkplate6_Hourly_Weather_Station.ino @@ -15,6 +15,10 @@ Want to learn more about Inkplate? Visit www.inkplate.io Looking to get support? Write on our forums: https://forum.soldered.com/ 28 July 2020 by Soldered + + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases */ // Next 3 lines are a precaution, you can ignore those, and the example would also work without them @@ -63,6 +67,7 @@ char apiKey[] = ""; // Delay between API calls, about 1000 per month, which is the free tier limit #define DELAY_MS 267800L +#define DELAY_WIFI_RETRY_SECONDS 5 // Inkplate object Inkplate display(INKPLATE_1BIT); @@ -125,6 +130,7 @@ void drawCurrent(); void drawTemps(); void drawCity(); void drawTime(); +void setTime(); void setup() { @@ -132,8 +138,30 @@ void setup() Serial.begin(115200); display.begin(); - // Calling our begin from network.h file - network.begin(city); + // Connect Inkplate to the WiFi network + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(ssid, pass, WIFI_TIMEOUT, true)) + { + //Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(3); + // Set the cursor positions and print the text. + display.setCursor((display.width() / 2) - 200, display.height() / 2); + display.print(F("Unable to connect to ")); + display.println(F(ssid)); + display.setCursor((display.width() / 2) - 200, (display.height() / 2) + 30); + display.println(F("Please check SSID and PASS!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(1000L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } + + setTime(); // Get all relevant data, see Network.cpp for info network.getTime(currentTime); @@ -174,6 +202,26 @@ void loop() // nothing here } +// Function for getting time from NTP server +void setTime() +{ + // Structure used to hold time information + struct tm timeInfo; + time_t nowSec; + // Fetch current time in epoch format and store it + display.getNTPEpoch(&nowSec); + // This loop ensures that the NTP time fetched is valid and beyond a certain threshold + while (nowSec < 8 * 3600 * 2) + { + delay(500); + yield(); + display.getNTPEpoch(&nowSec); + } + gmtime_r(&nowSec, &timeInfo); + Serial.print(F("Current time: ")); + Serial.print(asctime(&timeInfo)); +} + // Function for drawing weather info void drawWeather() { diff --git a/examples/Inkplate6/Projects/Inkplate6_Hourly_Weather_Station/Network.cpp b/examples/Inkplate6/Projects/Inkplate6_Hourly_Weather_Station/Network.cpp index b77bb0f8..b3a7f43a 100644 --- a/examples/Inkplate6/Projects/Inkplate6_Hourly_Weather_Station/Network.cpp +++ b/examples/Inkplate6/Projects/Inkplate6_Hourly_Weather_Station/Network.cpp @@ -53,9 +53,6 @@ void Network::begin(char *city) } Serial.println(F(" connected")); - // Find internet time - setTime(); - // reduce power by making WiFi module sleep WiFi.setSleep(1); } @@ -227,32 +224,6 @@ bool Network::getData(char *city, char *temp1, char *temp2, char *temp3, char *t return !f; } -void Network::setTime() -{ - // Used for setting correct time - configTime(0, 0, "pool.ntp.org", "time.nist.gov"); - - Serial.print(F("Waiting for NTP time sync: ")); - time_t nowSecs = time(nullptr); - while (nowSecs < 8 * 3600 * 2) - { - // Print a dot every half a second while time is not set - delay(500); - Serial.print(F(".")); - yield(); - nowSecs = time(nullptr); - } - - Serial.println(); - - // Used to store time info - struct tm timeinfo; - gmtime_r(&nowSecs, &timeinfo); - - Serial.print(F("Current time: ")); - Serial.print(asctime(&timeinfo)); -} - void Network::getHours(char *hour1, char *hour2, char *hour3, char *hour4) { // Format hours info diff --git a/examples/Inkplate6/Projects/Inkplate6_Hourly_Weather_Station/Network.h b/examples/Inkplate6/Projects/Inkplate6_Hourly_Weather_Station/Network.h index 09ec7b79..ac0c179f 100644 --- a/examples/Inkplate6/Projects/Inkplate6_Hourly_Weather_Station/Network.h +++ b/examples/Inkplate6/Projects/Inkplate6_Hourly_Weather_Station/Network.h @@ -57,8 +57,6 @@ class Network time_t dataEpoch = 0; private: - // Functions called from within our class - void setTime(); }; #endif diff --git a/examples/Inkplate6/Projects/Inkplate6_News_API/Inkplate6_News_API.ino b/examples/Inkplate6/Projects/Inkplate6_News_API/Inkplate6_News_API.ino index 1fd93dce..78cea491 100644 --- a/examples/Inkplate6/Projects/Inkplate6_News_API/Inkplate6_News_API.ino +++ b/examples/Inkplate6/Projects/Inkplate6_News_API/Inkplate6_News_API.ino @@ -53,6 +53,7 @@ Inkplate display(INKPLATE_1BIT); // Delay between API calls in miliseconds (first 60 represents minutes so you can change to your need) #define DELAY_MS (uint32_t)60 * 60 * 1000 +#define DELAY_WIFI_RETRY_SECONDS 5 // Variable for counting partial refreshes RTC_DATA_ATTR unsigned refreshes = 0; @@ -60,6 +61,8 @@ RTC_DATA_ATTR unsigned refreshes = 0; // Constant to determine when to full update const int fullRefresh = 20; +void setTime(); + void setup() { // Begin serial communitcation, sed for debugging @@ -68,8 +71,30 @@ void setup() display.begin(); display.setTextWrap(false); - // Our begin function - network.begin(); + // Connect Inkplate to the WiFi network + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(ssid, pass, WIFI_TIMEOUT, true)) + { + //Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(3); + // Set the cursor positions and print the text. + display.setCursor((display.width() / 2) - 200, display.height() / 2); + display.print(F("Unable to connect to ")); + display.println(F(ssid)); + display.setCursor((display.width() / 2) - 200, (display.height() / 2) + 30); + display.println(F("Please check SSID and PASS!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(1000L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } + + setTime(); struct news *entities; @@ -150,6 +175,26 @@ void drawNews(struct news *entities) } +// Function for getting time from NTP server +void setTime() +{ + // Structure used to hold time information + struct tm timeInfo; + time_t nowSec; + // Fetch current time in epoch format and store it + display.getNTPEpoch(&nowSec); + // This loop ensures that the NTP time fetched is valid and beyond a certain threshold + while (nowSec < 8 * 3600 * 2) + { + delay(500); + yield(); + nowSec = time(nullptr); + } + gmtime_r(&nowSec, &timeInfo); + Serial.print(F("Current time: ")); + Serial.print(asctime(&timeInfo)); +} + void loop() { // Never here diff --git a/examples/Inkplate6/Projects/Inkplate6_News_API/Network.cpp b/examples/Inkplate6/Projects/Inkplate6_News_API/Network.cpp index a1e810dc..9d15dc46 100644 --- a/examples/Inkplate6/Projects/Inkplate6_News_API/Network.cpp +++ b/examples/Inkplate6/Projects/Inkplate6_News_API/Network.cpp @@ -61,8 +61,6 @@ void Network::begin() } Serial.println(F(" connected")); - // Find internet time - setTime(); } // Gets time from ntp server @@ -212,28 +210,3 @@ struct news* Network::getData() return ent; } -// Function for initial time setting ovet the ntp server -void Network::setTime() -{ - // Used for setting correct time - configTime(0, 0, "pool.ntp.org", "time.nist.gov"); - - Serial.print(F("Waiting for NTP time sync: ")); - time_t nowSecs = time(nullptr); - while (nowSecs < 8 * 3600 * 2) - { - delay(500); - Serial.print(F(".")); - yield(); - nowSecs = time(nullptr); - } - - Serial.println(); - - // Used to store time info - struct tm timeinfo; - gmtime_r(&nowSecs, &timeinfo); - - Serial.print(F("Current time: ")); - Serial.print(asctime(&timeinfo)); -} diff --git a/examples/Inkplate6/Projects/Inkplate6_News_API/Network.h b/examples/Inkplate6/Projects/Inkplate6_News_API/Network.h index c6fcba3b..e269e15d 100644 --- a/examples/Inkplate6/Projects/Inkplate6_News_API/Network.h +++ b/examples/Inkplate6/Projects/Inkplate6_News_API/Network.h @@ -51,9 +51,6 @@ class Network void getTime(char *timeStr); struct news* getData(); - private: - // Functions called from within our class - void setTime(); }; #endif diff --git a/examples/Inkplate6/Projects/Inkplate6_OpenWeather_Station/Inkplate6_OpenWeather_Station.ino b/examples/Inkplate6/Projects/Inkplate6_OpenWeather_Station/Inkplate6_OpenWeather_Station.ino index 94dfff72..a423ee8d 100644 --- a/examples/Inkplate6/Projects/Inkplate6_OpenWeather_Station/Inkplate6_OpenWeather_Station.ino +++ b/examples/Inkplate6/Projects/Inkplate6_OpenWeather_Station/Inkplate6_OpenWeather_Station.ino @@ -40,6 +40,9 @@ #include "OpenWeatherOneCall.h" #define SSID "" #define PASS "" +#define DELAY_WIFI_RETRY_SECONDS 5 +// Variable to store WiFi connection timeout +int timeoutSeconds = 100; // Openweather API key /** @@ -52,9 +55,9 @@ * */ char *APIKEY = ""; +#define DELAY_API_RETRY_SECONDS 5 // Also, declare the function to check if the API key is valid bool checkIfAPIKeyIsValid(char *APIKEY); - float myLatitude = 45.560001; // I got this from Wikipedia float myLongitude = 18.675880; @@ -124,41 +127,12 @@ char Output[200] = {0}; OpenWeatherOneCall OWOC; // Invoke OpenWeather Library time_t t = now(); -void connectWifi() -{ - - int ConnectCount = 20; - - if (WiFi.status() != WL_CONNECTED) - { - while (WiFi.status() != WL_CONNECTED) - { - if (ConnectCount++ == 20) - { - Serial.println("Connect WiFi"); - WiFi.begin(SSID, PASS); - Serial.print("Connecting."); - ConnectCount = 0; - } - Serial.print("."); - delay(1000); - } - Serial.print("\nConnected to: "); - Serial.println(SSID); - Serial.println("IP address: "); - Serial.println(WiFi.localIP()); - Serial.println("Connected WiFi"); - } -} //======================== END WIFI CONNECT ======================= - void GetCurrentWeather() { //================================= // Get the Weather Forecast //================================= - connectWifi(); - Serial.println("Getting weather"); OWOC.parseWeather(APIKEY, NULL, myLatitude, myLongitude, metric, NULL); setTime(OWOC.current.dt); @@ -252,51 +226,72 @@ void setup() } Serial.println("Serial Monitor Initialized"); + // display.begin(); - connectWifi(); + // Initial cleaning of buffer and physical screen + display.clearDisplay(); + display.display(); + + // Welcome screen + display.setCursor(215, 400); + display.setTextSize(3); + display.print(F("Welcome to Wol Inkplate 6 weather example!")); + display.display(); + Serial.println("Welcome to Wol Inkplate 6 weather example!"); + display.display(); + + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error messddage. + if (!display.connectWiFi(SSID, PASS, timeoutSeconds, true)) + { + //Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(3); + // Set the cursor positions and print the text. + display.setCursor((display.width() / 2) - 200, display.height() / 2); + display.print(F("Unable to connect to ")); + display.println(F(SSID)); + display.setCursor((display.width() / 2) - 200, (display.height() / 2) + 30); + display.println(F("Please check SSID and PASS!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(1000L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } // Check if we have a valid API key: Serial.println("Checking if API key is valid..."); - if(!checkIfAPIKeyIsValid(APIKEY)) + if (!checkIfAPIKeyIsValid(APIKEY)) { // If we don't, notify the user Serial.println("API key is invalid!"); display.clearDisplay(); - display.setCursor(0,0); + display.setCursor(0, 0); display.setTextSize(2); display.println("Can't get data from OpenWeatherMaps! Check your API key!"); display.println("Only older API keys for OneCall 2.5 work in free tier."); display.println("See the code comments the example for more info."); display.display(); - while(1) - { - delay(100); - } + esp_sleep_enable_timer_wakeup(1000L * DELAY_API_RETRY_SECONDS); + (void)esp_deep_sleep_start(); } Serial.println("API key is valid!"); -} -void loop() -{ // Clear display t = now(); - if ((minute(t) % 30) == 0) // Also returns 0 when time isn't set { GetCurrentWeather(); - Serial.println("got weather data"); display.clearDisplay(); drawForecast(); - Serial.println("draw forecast"); drawCurrent(); - Serial.println("draw current"); drawHourly(); - Serial.println("draw hourly"); drawTime(); - Serial.println("draw time"); drawMoon(); - Serial.println("draw moon"); display.display(); } else @@ -311,9 +306,13 @@ void loop() } // Go to sleep before checking again - esp_sleep_enable_timer_wakeup(1000L * DELAY_MS); - (void)esp_light_sleep_start(); ++refreshes; + esp_sleep_enable_timer_wakeup(1000L * DELAY_MS); + (void)esp_deep_sleep_start(); +} + +void loop() +{ } // Function for drawing weather info diff --git a/examples/Inkplate6/Projects/Inkplate6_Quotables/Inkplate6_Quotables.ino b/examples/Inkplate6/Projects/Inkplate6_Quotables/Inkplate6_Quotables.ino index 2e05011d..1069315f 100644 --- a/examples/Inkplate6/Projects/Inkplate6_Quotables/Inkplate6_Quotables.ino +++ b/examples/Inkplate6/Projects/Inkplate6_Quotables/Inkplate6_Quotables.ino @@ -54,7 +54,7 @@ Inkplate display(INKPLATE_1BIT); // Delay between API calls in seconds, 300 seconds is 5 minutes #define DELAY_S 300 - +#define DELAY_WIFI_RETRY_SECONDS 5 // Our functions declared below setup and loop void drawAll(); @@ -75,8 +75,27 @@ void setup() display.clearDisplay(); display.display(); - // Our begin function - network.begin(); + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(ssid, pass, WIFI_TIMEOUT, true)) + { + //Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(3); + // Set the cursor positions and print the text. + display.setCursor((display.width() / 2) - 200, display.height() / 2); + display.print(F("Unable to connect to ")); + display.println(F(ssid)); + display.setCursor((display.width() / 2) - 200, (display.height() / 2) + 30); + display.println(F("Please check SSID and PASS!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(1000L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } Serial.print("Retrying retriving data"); while (!network.getData(quote, author)) diff --git a/examples/Inkplate6/Projects/Inkplate6_Youtube_Subscriber_Counter/Inkplate6_Youtube_Subscriber_Counter.ino b/examples/Inkplate6/Projects/Inkplate6_Youtube_Subscriber_Counter/Inkplate6_Youtube_Subscriber_Counter.ino index 6ba510da..cb6fcc87 100644 --- a/examples/Inkplate6/Projects/Inkplate6_Youtube_Subscriber_Counter/Inkplate6_Youtube_Subscriber_Counter.ino +++ b/examples/Inkplate6/Projects/Inkplate6_Youtube_Subscriber_Counter/Inkplate6_Youtube_Subscriber_Counter.ino @@ -19,6 +19,10 @@ Want to learn more about Inkplate? Visit www.inkplate.io Looking to get support? Write on our forums: https://forum.soldered.com/ 8 July 2023 by Soldered + + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases */ // Next 3 lines are a precaution, you can ignore those, and the example would also work without them @@ -42,6 +46,7 @@ // Delay between API calls in miliseconds (10 minutes) #define DELAY_MS 10 * 60 * 1000 +#define DELAY_WIFI_RETRY_SECONDS 5 // Create object with all networking functions Network network; @@ -124,8 +129,27 @@ void setup() delay(1000); } - // Our begin function - network.begin(ssid, pass); + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(ssid, pass, WIFI_TIMEOUT, true)) + { + //Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(3); + // Set the cursor positions and print the text. + display.setCursor((display.width() / 2) - 200, display.height() / 2); + display.print(F("Unable to connect to ")); + display.println(F(ssid)); + display.setCursor((display.width() / 2) - 200, (display.height() / 2) + 30); + display.println(F("Please check SSID and PASS!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(1000L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } while (!network.getData(&channel, channel_id, api_key, &display)) { diff --git a/examples/Inkplate6COLOR/Advanced/DeepSleep/Inkplate6COLOR_Simple_Deep_Sleep/Inkplate6COLOR_Simple_Deep_Sleep.ino b/examples/Inkplate6COLOR/Advanced/DeepSleep/Inkplate6COLOR_Simple_Deep_Sleep/Inkplate6COLOR_Simple_Deep_Sleep.ino index 91e1e745..2f7c7b98 100644 --- a/examples/Inkplate6COLOR/Advanced/DeepSleep/Inkplate6COLOR_Simple_Deep_Sleep/Inkplate6COLOR_Simple_Deep_Sleep.ino +++ b/examples/Inkplate6COLOR/Advanced/DeepSleep/Inkplate6COLOR_Simple_Deep_Sleep/Inkplate6COLOR_Simple_Deep_Sleep.ino @@ -15,6 +15,10 @@ Want to learn more about Inkplate? Visit www.inkplate.io Looking to get support? Write on our forums: https://forum.soldered.com/ 15 July 2020 by Soldered + + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases */ // Next 3 lines are a precaution, you can ignore those, and the example would also work without them diff --git a/examples/Inkplate6COLOR/Advanced/Other/Inkplate6COLOR_Read_Battery_Voltage/Inkplate6COLOR_Read_Battery_Voltage.ino b/examples/Inkplate6COLOR/Advanced/Other/Inkplate6COLOR_Read_Battery_Voltage/Inkplate6COLOR_Read_Battery_Voltage.ino index 8d0d74a9..983ae628 100644 --- a/examples/Inkplate6COLOR/Advanced/Other/Inkplate6COLOR_Read_Battery_Voltage/Inkplate6COLOR_Read_Battery_Voltage.ino +++ b/examples/Inkplate6COLOR/Advanced/Other/Inkplate6COLOR_Read_Battery_Voltage/Inkplate6COLOR_Read_Battery_Voltage.ino @@ -10,6 +10,10 @@ Want to learn more about Inkplate? Visit www.inkplate.io Looking to get support? Write on our forums: https://forum.soldered.com/ 23 January 2023 by Soldered + + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases */ // Next 3 lines are a precaution, you can ignore those, and the example would also work without them diff --git a/examples/Inkplate6COLOR/Basic/Inkplate6COLOR_Simple/logoImg.h b/examples/Inkplate6COLOR/Basic/Inkplate6COLOR_Simple/logoImg.h index 0547d218..6c9283de 100644 --- a/examples/Inkplate6COLOR/Basic/Inkplate6COLOR_Simple/logoImg.h +++ b/examples/Inkplate6COLOR/Basic/Inkplate6COLOR_Simple/logoImg.h @@ -1,3 +1,8 @@ +/* + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases +*/ const uint8_t logo[] PROGMEM = { 0x0,0x0,0x0,0x0,0x20,0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,0xf8,0x0,0x0,0x0,0x0, diff --git a/examples/Inkplate6COLOR/Projects/Inkplate6COLOR_Crypto_Currency_Tracker/Inkplate6COLOR_Crypto_Currency_Tracker.ino b/examples/Inkplate6COLOR/Projects/Inkplate6COLOR_Crypto_Currency_Tracker/Inkplate6COLOR_Crypto_Currency_Tracker.ino index 6b3d98ca..d46cedb0 100644 --- a/examples/Inkplate6COLOR/Projects/Inkplate6COLOR_Crypto_Currency_Tracker/Inkplate6COLOR_Crypto_Currency_Tracker.ino +++ b/examples/Inkplate6COLOR/Projects/Inkplate6COLOR_Crypto_Currency_Tracker/Inkplate6COLOR_Crypto_Currency_Tracker.ino @@ -35,7 +35,7 @@ char pass[] = ""; // Delay between API calls in miliseconds #define DELAY_MS 3 * 60 * 1000 - +#define DELAY_WIFI_RETRY_SECONDS 5 // OPTIONAL: // change to a different currency char currency[] = "bitcoin"; @@ -113,6 +113,7 @@ textElement elements[] = { // Our functions declared below setup and loop void drawGraph(); void drawAll(); +void setTime(); void setup() { @@ -125,8 +126,30 @@ void setup() display.setTextWrap(false); display.setTextColor(0, 7); - // Our begin function - network.begin(); + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(ssid, pass, WIFI_TIMEOUT, true)) + { + // Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(3); + // Set the cursor positions and print the text. + display.setCursor((display.width() / 2) - 200, display.height() / 2); + display.print(F("Unable to connect to ")); + display.println(F(ssid)); + display.setCursor((display.width() / 2) - 200, (display.height() / 2) + 30); + display.println(F("Please check ssid and pass!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(1000L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } + + // After connecting to WiFi we need to get internet time from NTP server + setTime(); } void loop() @@ -149,6 +172,26 @@ void loop() esp_deep_sleep_start(); } +// Function for getting time from NTP server +void setTime() +{ + // Structure used to hold time information + struct tm timeInfo; + time_t nowSec; + // Fetch current time in epoch format and store it + display.getNTPEpoch(&nowSec); + // This loop ensures that the NTP time fetched is valid and beyond a certain threshold + while (nowSec < 8 * 3600 * 2) + { + delay(500); + yield(); + display.getNTPEpoch(&nowSec); + } + gmtime_r(&nowSec, &timeInfo); + Serial.print(F("Current time: ")); + Serial.print(asctime(&timeInfo)); +} + // Function to draw our graph void drawGraph() { diff --git a/examples/Inkplate6COLOR/Projects/Inkplate6COLOR_Crypto_Currency_Tracker/Network.cpp b/examples/Inkplate6COLOR/Projects/Inkplate6COLOR_Crypto_Currency_Tracker/Network.cpp index dbad45e6..91ea19f5 100644 --- a/examples/Inkplate6COLOR/Projects/Inkplate6COLOR_Crypto_Currency_Tracker/Network.cpp +++ b/examples/Inkplate6COLOR/Projects/Inkplate6COLOR_Crypto_Currency_Tracker/Network.cpp @@ -58,9 +58,6 @@ void Network::begin() } } Serial.println(F(" connected")); - - // Find internet time - setTime(); } // Gets time from ntp server @@ -189,29 +186,3 @@ bool Network::getData(double *data) return !f; } - -// Function for initial time setting ovet the ntp server -void Network::setTime() -{ - // Used for setting correct time - configTime(0, 0, "pool.ntp.org", "time.nist.gov"); - - Serial.print(F("Waiting for NTP time sync: ")); - time_t nowSecs = time(nullptr); - while (nowSecs < 8 * 3600 * 2) - { - delay(500); - Serial.print(F(".")); - yield(); - nowSecs = time(nullptr); - } - - Serial.println(); - - // Used to store time info - struct tm timeinfo; - gmtime_r(&nowSecs, &timeinfo); - - Serial.print(F("Current time: ")); - Serial.print(asctime(&timeinfo)); -} diff --git a/examples/Inkplate6COLOR/Projects/Inkplate6COLOR_Crypto_Currency_Tracker/Network.h b/examples/Inkplate6COLOR/Projects/Inkplate6COLOR_Crypto_Currency_Tracker/Network.h index fd71a7ee..23acee48 100644 --- a/examples/Inkplate6COLOR/Projects/Inkplate6COLOR_Crypto_Currency_Tracker/Network.h +++ b/examples/Inkplate6COLOR/Projects/Inkplate6COLOR_Crypto_Currency_Tracker/Network.h @@ -41,8 +41,6 @@ class Network bool getData(double *data); private: - // Functions called from within our class - void setTime(); }; #endif diff --git a/examples/Inkplate6COLOR/Projects/Inkplate6COLOR_Daily_Weather_Station/Inkplate6COLOR_Daily_Weather_Station.ino b/examples/Inkplate6COLOR/Projects/Inkplate6COLOR_Daily_Weather_Station/Inkplate6COLOR_Daily_Weather_Station.ino index 51fdc6a9..54d566a5 100644 --- a/examples/Inkplate6COLOR/Projects/Inkplate6COLOR_Daily_Weather_Station/Inkplate6COLOR_Daily_Weather_Station.ino +++ b/examples/Inkplate6COLOR/Projects/Inkplate6COLOR_Daily_Weather_Station/Inkplate6COLOR_Daily_Weather_Station.ino @@ -14,6 +14,10 @@ Want to learn more about Inkplate? Visit www.inkplate.io Looking to get support? Write on our forums: https://forum.soldered.com/ 28 July 2020 by Soldered + + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases */ // Next 3 lines are a precaution, you can ignore those, and the example would also work without them @@ -57,6 +61,7 @@ char apiKey[] = ""; // Delay between API calls #define DELAY_MS (uint32_t)10 * 60 * 1000 // 10 minute time +#define DELAY_WIFI_RETRY_SECONDS 5 // Inkplate object Inkplate display; @@ -107,6 +112,7 @@ void drawCurrent(); void drawTemps(); void drawCity(); void drawTime(); +void setTime(); void setup() { @@ -114,8 +120,29 @@ void setup() Serial.begin(115200); display.begin(); - // Calling our begin from network.h file - network.begin(ssid, pass); + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(ssid, pass, WIFI_TIMEOUT, true)) + { + //Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(3); + // Set the cursor positions and print the text. + display.setCursor((display.width() / 2) - 200, display.height() / 2); + display.print(F("Unable to connect to ")); + display.println(F(ssid)); + display.setCursor((display.width() / 2) - 200, (display.height() / 2) + 30); + display.println(F("Please check ssid and pass!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(100L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } + + setTime(); // Get all relevant data, see Network.cpp for info Serial.print("Retrying fetching data"); @@ -150,6 +177,27 @@ void loop() // time. loop() must be empty! } +// Function for getting time from NTP server +void setTime() +{ + // Structure used to hold time information + struct tm timeInfo; + display.getNTPDateTime(&timeInfo); + time_t nowSec; + // Fetch current time in epoch format and store it + display.getNTPEpoch(&nowSec); + // This loop ensures that the NTP time fetched is valid and beyond a certain threshold + while (nowSec < 8 * 3600 * 2) + { + delay(500); + yield(); + display.getNTPEpoch(&nowSec); + } + gmtime_r(&nowSec, &timeInfo); + Serial.print(F("Current time: ")); + Serial.print(asctime(&timeInfo)); +} + // Function for drawing weather info void drawWeather() { diff --git a/examples/Inkplate6COLOR/Projects/Inkplate6COLOR_Daily_Weather_Station/Network.cpp b/examples/Inkplate6COLOR/Projects/Inkplate6COLOR_Daily_Weather_Station/Network.cpp index fc0e840c..76ee3ed5 100644 --- a/examples/Inkplate6COLOR/Projects/Inkplate6COLOR_Daily_Weather_Station/Network.cpp +++ b/examples/Inkplate6COLOR/Projects/Inkplate6COLOR_Daily_Weather_Station/Network.cpp @@ -43,9 +43,6 @@ void Network::begin(char *ssid, char *pass) } } Serial.println(F(" connected")); - - // Find internet time - setTime(); } // Gets time from ntp server @@ -227,32 +224,6 @@ bool Network::getData(char *lat, char *lon, char *apiKey, char *city, char *temp return 1; } -void Network::setTime() -{ - // Used for setting correct time - configTime(0, 0, "pool.ntp.org", "time.nist.gov"); - - Serial.print(F("Waiting for NTP time sync: ")); - time_t nowSecs = time(nullptr); - while (nowSecs < 8 * 3600 * 2) - { - // Print a dot every half a second while time is not set - delay(500); - Serial.print(F(".")); - yield(); - nowSecs = time(nullptr); - } - - Serial.println(); - - // Used to store time info - struct tm timeinfo; - gmtime_r(&nowSecs, &timeinfo); - - Serial.print(F("Current time: ")); - Serial.print(asctime(&timeinfo)); -} - void Network::getDays(char *day, char *day1, char *day2, char *day3) { // Seconds since 1.1.1970. diff --git a/examples/Inkplate6COLOR/Projects/Inkplate6COLOR_Daily_Weather_Station/Network.h b/examples/Inkplate6COLOR/Projects/Inkplate6COLOR_Daily_Weather_Station/Network.h index 7a8de194..4d2ab4e2 100644 --- a/examples/Inkplate6COLOR/Projects/Inkplate6COLOR_Daily_Weather_Station/Network.h +++ b/examples/Inkplate6COLOR/Projects/Inkplate6COLOR_Daily_Weather_Station/Network.h @@ -46,8 +46,6 @@ class Network int location = -1; private: - // Functions called from within our class - void setTime(); int timeZone = 0; }; diff --git a/examples/Inkplate6COLOR/Projects/Inkplate6COLOR_Google_Calendar/Inkplate6COLOR_Google_Calendar.ino b/examples/Inkplate6COLOR/Projects/Inkplate6COLOR_Google_Calendar/Inkplate6COLOR_Google_Calendar.ino index 926e8dc8..4d1f1f49 100644 --- a/examples/Inkplate6COLOR/Projects/Inkplate6COLOR_Google_Calendar/Inkplate6COLOR_Google_Calendar.ino +++ b/examples/Inkplate6COLOR/Projects/Inkplate6COLOR_Google_Calendar/Inkplate6COLOR_Google_Calendar.ino @@ -56,6 +56,7 @@ int timeZone = 2; // Delay between API calls #define DELAY_MS 15 * 60 * 1000 +#define DELAY_WIFI_RETRY_SECONDS 5 // Initiate out Inkplate object Inkplate display; @@ -91,6 +92,7 @@ void getToFrom(char *dst, char *from, char *to, int *day, int *timeStamp); bool drawEvent(entry *event, int day, int beginY, int maxHeigth, int *heigthNeeded); int cmp(const void *a, const void *b); void drawData(); +void setTime(); void setup() { @@ -107,7 +109,29 @@ void setup() display.setTextColor(0, 7); // Connect Inkplate to the WiFi network - network.begin(ssid, pass); + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(ssid, pass, WIFI_TIMEOUT, true)) + { + //Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(3); + // Set the cursor positions and print the text. + display.setCursor((display.width() / 2) - 200, display.height() / 2); + display.print(F("Unable to connect to ")); + display.println(F(ssid)); + display.setCursor((display.width() / 2) - 200, (display.height() / 2) + 30); + display.println(F("Please check SSID and PASS!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(1000L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } + + setTime(); // Get the data from Google Calendar // Repeat attempts until data is fully downloaded @@ -141,6 +165,27 @@ void loop() // time. loop() must be empty! } +// Function to set time from NTP server +void setTime() +{ + // Structure used to hold time information + struct tm timeInfo; + // Fetch current time from an NTP server and store it + time_t nowSec; + // Fetch current time in epoch format and store it + display.getNTPEpoch(&nowSec); + // This loop ensures that the NTP time fetched is valid and beyond a certain threshold + while(nowSec < 8 * 3600 * 2) + { + delay(500); + yield(); + display.getNTPEpoch(&nowSec); + } + gmtime_r(&nowSec, &timeInfo); + Serial.print(F("Current time: ")); + Serial.print(asctime(&timeInfo)); +} + // Function for drawing calendar info void drawInfo() { @@ -547,6 +592,10 @@ void drawData() &entries[entriesNum].timeStamp); } ++entriesNum; + if(entriesNum == 128) + { + break; + } } // Sort entries by time diff --git a/examples/Inkplate6COLOR/Projects/Inkplate6COLOR_Google_Calendar/Network.cpp b/examples/Inkplate6COLOR/Projects/Inkplate6COLOR_Google_Calendar/Network.cpp index 36bb2c2d..43ad90eb 100644 --- a/examples/Inkplate6COLOR/Projects/Inkplate6COLOR_Google_Calendar/Network.cpp +++ b/examples/Inkplate6COLOR/Projects/Inkplate6COLOR_Google_Calendar/Network.cpp @@ -43,8 +43,6 @@ void Network::begin(char *ssid, char *pass) } Serial.println(F(" connected")); - // Find and print internet time, the timezone will be added later - setTime(); } // Gets time from ntp server @@ -142,29 +140,3 @@ bool Network::getData(char *calendarURL, char *data) return !f; } - -// Find internet time -void Network::setTime() -{ - // Used for setting correct time - configTime(0, 0, "pool.ntp.org", "time.nist.gov"); - - Serial.print(F("Waiting for NTP time sync: ")); - time_t nowSecs = time(nullptr); - while (nowSecs < 8 * 3600 * 2) - { - delay(500); - Serial.print(F(".")); - yield(); - nowSecs = time(nullptr); - } - Serial.println(); - - // Used to store time info - struct tm timeinfo; - gmtime_r(&nowSecs, &timeinfo); - - // Print the current time without adding a timezone - Serial.print(F("Current time: ")); - Serial.print(asctime(&timeinfo)); -} diff --git a/examples/Inkplate6COLOR/Projects/Inkplate6COLOR_Google_Calendar/Network.h b/examples/Inkplate6COLOR/Projects/Inkplate6COLOR_Google_Calendar/Network.h index 90ca03a2..ff149e16 100644 --- a/examples/Inkplate6COLOR/Projects/Inkplate6COLOR_Google_Calendar/Network.h +++ b/examples/Inkplate6COLOR/Projects/Inkplate6COLOR_Google_Calendar/Network.h @@ -35,8 +35,6 @@ class Network bool getData(char *calendarURL, char *data); private: - // Functions called from within our class - void setTime(); }; #endif diff --git a/examples/Inkplate6COLOR/Projects/Inkplate6COLOR_Hourly_Weather_Station/Inkplate6COLOR_Hourly_Weather_Station.ino b/examples/Inkplate6COLOR/Projects/Inkplate6COLOR_Hourly_Weather_Station/Inkplate6COLOR_Hourly_Weather_Station.ino index 9f0a51dc..d4b2a103 100644 --- a/examples/Inkplate6COLOR/Projects/Inkplate6COLOR_Hourly_Weather_Station/Inkplate6COLOR_Hourly_Weather_Station.ino +++ b/examples/Inkplate6COLOR/Projects/Inkplate6COLOR_Hourly_Weather_Station/Inkplate6COLOR_Hourly_Weather_Station.ino @@ -15,6 +15,10 @@ Want to learn more about Inkplate? Visit www.inkplate.io Looking to get support? Write on our forums: https://forum.soldered.com/ 28 July 2020 by Soldered + + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases */ // Next 3 lines are a precaution, you can ignore those, and the example would also work without them @@ -64,6 +68,7 @@ char apiKey[] = ""; // Delay between API calls #define DELAY_MS 15 * 60 * 1000 +#define DELAY_WIFI_RETRY_SECONDS 5 // Inkplate object Inkplate display; @@ -120,6 +125,7 @@ void drawCurrent(); void drawTemps(); void drawCity(); void drawTime(); +void setTime(); void setup() { @@ -127,8 +133,30 @@ void setup() Serial.begin(115200); display.begin(); - // Calling our begin from network.h file - network.begin(city); + // Connect Inkplate to the WiFi network + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(ssid, pass, WIFI_TIMEOUT, true)) + { + //Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(3); + // Set the cursor positions and print the text. + display.setCursor((display.width() / 2) - 200, display.height() / 2); + display.print(F("Unable to connect to ")); + display.println(F(ssid)); + display.setCursor((display.width() / 2) - 200, (display.height() / 2) + 30); + display.println(F("Please check SSID and PASS!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(1000L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } + + setTime(); // Wait a bit before proceeding delay(5000); @@ -167,6 +195,26 @@ void loop() esp_deep_sleep_start(); } +// Function for getting time from NTP server +void setTime() +{ + // Structure used to hold time information + struct tm timeInfo; + time_t nowSec; + // Fetch current time in epoch format and store it + display.getNTPEpoch(&nowSec); + // This loop ensures that the NTP time fetched is valid and beyond a certain threshold + while (nowSec < 8 * 3600 * 2) + { + delay(500); + yield(); + display.getNTPEpoch(&nowSec); + } + gmtime_r(&nowSec, &timeInfo); + Serial.print(F("Current time: ")); + Serial.print(asctime(&timeInfo)); +} + // Function for drawing weather info void drawWeather() { diff --git a/examples/Inkplate6COLOR/Projects/Inkplate6COLOR_Hourly_Weather_Station/Network.cpp b/examples/Inkplate6COLOR/Projects/Inkplate6COLOR_Hourly_Weather_Station/Network.cpp index ac8836f7..aa52e3ba 100644 --- a/examples/Inkplate6COLOR/Projects/Inkplate6COLOR_Hourly_Weather_Station/Network.cpp +++ b/examples/Inkplate6COLOR/Projects/Inkplate6COLOR_Hourly_Weather_Station/Network.cpp @@ -53,9 +53,6 @@ void Network::begin(char *city) } Serial.println(F(" connected")); - // Find internet time - setTime(); - // reduce power by making WiFi module sleep WiFi.setSleep(1); } @@ -227,32 +224,6 @@ bool Network::getData(char *city, char *temp1, char *temp2, char *temp3, char *t return !f; } -void Network::setTime() -{ - // Used for setting correct time - configTime(0, 0, "pool.ntp.org", "time.nist.gov"); - - Serial.print(F("Waiting for NTP time sync: ")); - time_t nowSecs = time(nullptr); - while (nowSecs < 8 * 3600 * 2) - { - // Print a dot every half a second while time is not set - delay(500); - Serial.print(F(".")); - yield(); - nowSecs = time(nullptr); - } - - Serial.println(); - - // Used to store time info - struct tm timeinfo; - gmtime_r(&nowSecs, &timeinfo); - - Serial.print(F("Current time: ")); - Serial.print(asctime(&timeinfo)); -} - void Network::getHours(char *hour1, char *hour2, char *hour3, char *hour4) { // Format hours info diff --git a/examples/Inkplate6COLOR/Projects/Inkplate6COLOR_Hourly_Weather_Station/Network.h b/examples/Inkplate6COLOR/Projects/Inkplate6COLOR_Hourly_Weather_Station/Network.h index 7d4f916b..f5b5e52b 100644 --- a/examples/Inkplate6COLOR/Projects/Inkplate6COLOR_Hourly_Weather_Station/Network.h +++ b/examples/Inkplate6COLOR/Projects/Inkplate6COLOR_Hourly_Weather_Station/Network.h @@ -57,8 +57,6 @@ class Network time_t dataEpoch = 0; private: - // Functions called from within our class - void setTime(); }; #endif diff --git a/examples/Inkplate6COLOR/Projects/Inkplate6COLOR_News_API/Inkplate6COLOR_News_API.ino b/examples/Inkplate6COLOR/Projects/Inkplate6COLOR_News_API/Inkplate6COLOR_News_API.ino index 10d2032d..fe252b23 100644 --- a/examples/Inkplate6COLOR/Projects/Inkplate6COLOR_News_API/Inkplate6COLOR_News_API.ino +++ b/examples/Inkplate6COLOR/Projects/Inkplate6COLOR_News_API/Inkplate6COLOR_News_API.ino @@ -53,6 +53,7 @@ Inkplate display; // Delay between API calls in miliseconds (first 60 represents minutes so you can change to your need) #define DELAY_MS (uint32_t)60 * 60 * 1000 +#define DELAY_WIFI_RETRY_SECONDS 5 // Variable for counting partial refreshes RTC_DATA_ATTR unsigned refreshes = 0; @@ -60,6 +61,8 @@ RTC_DATA_ATTR unsigned refreshes = 0; // Constant to determine when to full update const int fullRefresh = 20; +void setTime(); + void setup() { // Begin serial communitcation, sed for debugging @@ -68,8 +71,30 @@ void setup() display.begin(); display.setTextWrap(false); - // Our begin function - network.begin(); + // Connect Inkplate to the WiFi network + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(ssid, pass, WIFI_TIMEOUT, true)) + { + //Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(3); + // Set the cursor positions and print the text. + display.setCursor((display.width() / 2) - 200, display.height() / 2); + display.print(F("Unable to connect to ")); + display.println(F(ssid)); + display.setCursor((display.width() / 2) - 200, (display.height() / 2) + 30); + display.println(F("Please check SSID and PASS!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(1000L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } + + setTime(); struct news *entities; @@ -153,6 +178,26 @@ void drawNews(struct news *entities) } +// Function for getting time from NTP server +void setTime() +{ + // Structure used to hold time information + struct tm timeInfo; + time_t nowSec; + // Fetch current time in epoch format and store it + display.getNTPEpoch(&nowSec); + // This loop ensures that the NTP time fetched is valid and beyond a certain threshold + while (nowSec < 8 * 3600 * 2) + { + delay(500); + yield(); + nowSec = time(nullptr); + } + gmtime_r(&nowSec, &timeInfo); + Serial.print(F("Current time: ")); + Serial.print(asctime(&timeInfo)); +} + void loop() { // Never here! If you are using deep sleep, the whole program should be in setup() because the board restarts each diff --git a/examples/Inkplate6COLOR/Projects/Inkplate6COLOR_News_API/Network.cpp b/examples/Inkplate6COLOR/Projects/Inkplate6COLOR_News_API/Network.cpp index a1e810dc..db478231 100644 --- a/examples/Inkplate6COLOR/Projects/Inkplate6COLOR_News_API/Network.cpp +++ b/examples/Inkplate6COLOR/Projects/Inkplate6COLOR_News_API/Network.cpp @@ -61,8 +61,7 @@ void Network::begin() } Serial.println(F(" connected")); - // Find internet time - setTime(); + } // Gets time from ntp server @@ -211,29 +210,3 @@ struct news* Network::getData() return ent; } - -// Function for initial time setting ovet the ntp server -void Network::setTime() -{ - // Used for setting correct time - configTime(0, 0, "pool.ntp.org", "time.nist.gov"); - - Serial.print(F("Waiting for NTP time sync: ")); - time_t nowSecs = time(nullptr); - while (nowSecs < 8 * 3600 * 2) - { - delay(500); - Serial.print(F(".")); - yield(); - nowSecs = time(nullptr); - } - - Serial.println(); - - // Used to store time info - struct tm timeinfo; - gmtime_r(&nowSecs, &timeinfo); - - Serial.print(F("Current time: ")); - Serial.print(asctime(&timeinfo)); -} diff --git a/examples/Inkplate6COLOR/Projects/Inkplate6COLOR_News_API/Network.h b/examples/Inkplate6COLOR/Projects/Inkplate6COLOR_News_API/Network.h index c6fcba3b..990c855b 100644 --- a/examples/Inkplate6COLOR/Projects/Inkplate6COLOR_News_API/Network.h +++ b/examples/Inkplate6COLOR/Projects/Inkplate6COLOR_News_API/Network.h @@ -52,8 +52,6 @@ class Network struct news* getData(); private: - // Functions called from within our class - void setTime(); }; #endif diff --git a/examples/Inkplate6COLOR/Projects/Inkplate6COLOR_Quotables/Inkplate6COLOR_Quotables.ino b/examples/Inkplate6COLOR/Projects/Inkplate6COLOR_Quotables/Inkplate6COLOR_Quotables.ino index 6ea6f2a0..f9b43c7d 100644 --- a/examples/Inkplate6COLOR/Projects/Inkplate6COLOR_Quotables/Inkplate6COLOR_Quotables.ino +++ b/examples/Inkplate6COLOR/Projects/Inkplate6COLOR_Quotables/Inkplate6COLOR_Quotables.ino @@ -52,7 +52,7 @@ Inkplate display; // Delay between API calls in seconds, 300 seconds is 5 minutes #define DELAY_S 300 - +#define DELAY_WIFI_RETRY_SECONDS 5 // Our functions declared below setup and loop void drawAll(); @@ -69,8 +69,27 @@ void setup() display.setTextWrap(true); // Set text wrapping to true display.setTextColor(BLACK); - // Our begin function - network.begin(); + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(ssid, pass, WIFI_TIMEOUT, true)) + { + //Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(3); + // Set the cursor positions and print the text. + display.setCursor((display.width() / 2) - 200, display.height() / 2); + display.print(F("Unable to connect to ")); + display.println(F(ssid)); + display.setCursor((display.width() / 2) - 200, (display.height() / 2) + 30); + display.println(F("Please check SSID and PASS!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(1000L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } while (!network.getData(quote, author)) { diff --git a/examples/Inkplate6FLICK/Advanced/DeepSleep/Inkplate6FLICK_Simple_Deep_Sleep/Inkplate6FLICK_Simple_Deep_Sleep.ino b/examples/Inkplate6FLICK/Advanced/DeepSleep/Inkplate6FLICK_Simple_Deep_Sleep/Inkplate6FLICK_Simple_Deep_Sleep.ino index 55547633..347dc45a 100644 --- a/examples/Inkplate6FLICK/Advanced/DeepSleep/Inkplate6FLICK_Simple_Deep_Sleep/Inkplate6FLICK_Simple_Deep_Sleep.ino +++ b/examples/Inkplate6FLICK/Advanced/DeepSleep/Inkplate6FLICK_Simple_Deep_Sleep/Inkplate6FLICK_Simple_Deep_Sleep.ino @@ -14,6 +14,10 @@ Want to learn more about Inkplate? Visit www.inkplate.io Looking to get support? Write on our forums: https://forum.soldered.com/ 15 March by Soldered + + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases */ // Next 3 lines are a precaution, you can ignore those, and the example would also work without them diff --git a/examples/Inkplate6FLICK/Advanced/Other/Inkplate6FLICK_Read_Battery_Voltage/Inkplate6FLICK_Read_Battery_Voltage.ino b/examples/Inkplate6FLICK/Advanced/Other/Inkplate6FLICK_Read_Battery_Voltage/Inkplate6FLICK_Read_Battery_Voltage.ino index 7db09402..d3e0d631 100644 --- a/examples/Inkplate6FLICK/Advanced/Other/Inkplate6FLICK_Read_Battery_Voltage/Inkplate6FLICK_Read_Battery_Voltage.ino +++ b/examples/Inkplate6FLICK/Advanced/Other/Inkplate6FLICK_Read_Battery_Voltage/Inkplate6FLICK_Read_Battery_Voltage.ino @@ -10,6 +10,10 @@ Want to learn more about Inkplate? Visit www.inkplate.io Looking to get support? Write on our forums: https://forum.soldered.com/ 15 March 2024 by Soldered + + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases */ // Next 3 lines are a precaution, you can ignore those, and the example would also work without them diff --git a/examples/Inkplate6FLICK/Advanced/Other/Inkplate6FLICK_Read_Temperature/Inkplate6FLICK_Read_Temperature.ino b/examples/Inkplate6FLICK/Advanced/Other/Inkplate6FLICK_Read_Temperature/Inkplate6FLICK_Read_Temperature.ino index b6d5442d..45144432 100644 --- a/examples/Inkplate6FLICK/Advanced/Other/Inkplate6FLICK_Read_Temperature/Inkplate6FLICK_Read_Temperature.ino +++ b/examples/Inkplate6FLICK/Advanced/Other/Inkplate6FLICK_Read_Temperature/Inkplate6FLICK_Read_Temperature.ino @@ -11,6 +11,10 @@ Want to learn more about Inkplate? Visit www.inkplate.io Looking to get support? Write on our forums: https://forum.soldered.com/ 15 March 2024 by Soldered + + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases */ // Next 3 lines are a precaution, you can ignore those, and the example would also work without them diff --git a/examples/Inkplate6FLICK/Basic/Inkplate6FLICK_Black_And_White/Inkplate6FLICK_Black_And_White.ino b/examples/Inkplate6FLICK/Basic/Inkplate6FLICK_Black_And_White/Inkplate6FLICK_Black_And_White.ino index 2e98675f..f26a88bf 100644 --- a/examples/Inkplate6FLICK/Basic/Inkplate6FLICK_Black_And_White/Inkplate6FLICK_Black_And_White.ino +++ b/examples/Inkplate6FLICK/Basic/Inkplate6FLICK_Black_And_White/Inkplate6FLICK_Black_And_White.ino @@ -29,189 +29,8 @@ Inkplate display(INKPLATE_1BIT); // Create object on Inkplate library and set li // Want to refresh faster? Use partial update! Find example in "Inkplate6FLICK_Partial_Update" // Array that holds data for bitmap image of 900x181 pixels. You can convert your own image using Inkplate Image Converter. -const uint8_t logo[] PROGMEM = { -0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x78,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xdf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0x87,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xfe,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x3,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x3,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x1,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0, -0x3,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0, -0x3,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0, -0x3,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0, -0x3,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0, -0x3,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0, -0x3,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0, -0x3,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0, -0x3,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0, -0x3,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0, -0x3,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0, -0x3,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x60,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0, -0x3,0xff,0xff,0xff,0xc0,0x0,0x0,0x1,0xf8,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0, -0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x3,0xfc,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0, -0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x7,0xff,0x80,0x0,0x0,0xf,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0, -0x3,0xff,0xff,0xff,0x80,0x0,0x0,0xf,0xff,0xc0,0x0,0x0,0x7,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0, -0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xf0,0x0,0x0,0x3,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0, -0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x3f,0xff,0xf8,0x0,0x0,0x3,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0, -0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x7f,0xff,0xfe,0x0,0x0,0x1,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0, -0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x7f,0xff,0xff,0x80,0x0,0x0,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0, -0x3,0xff,0xff,0xff,0x80,0x0,0x0,0xff,0xff,0xff,0xe0,0x0,0x0,0x7f,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0, -0x3,0xff,0xff,0xff,0x80,0x0,0x0,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xc0,0x1f,0xff,0xff,0xc0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xc0,0x3f,0xff,0xff,0xff,0xff,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0xf,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x7,0xff,0xff,0xff,0xff,0xc0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0x83,0xff,0xff,0xff,0xff,0xff,0xf0,0x0, -0x3,0xff,0xff,0xff,0x80,0x0,0x0,0xff,0xff,0xff,0xfc,0x0,0x0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xfe,0x0,0x1,0xff,0xff,0x80,0x0,0x0,0xf,0xff,0xff,0xff,0xfc,0x0,0x7,0xff,0xff,0xff,0xff,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x1f,0xff,0xff,0xff,0xff,0xe0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x7f,0xff,0xff,0xff,0xc0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0x80,0x7,0xff,0xff,0xff,0xff,0xf8,0x0, -0x3,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0x3,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xf8,0x0,0x0,0x1f,0xff,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0xff,0xff,0xff,0xff,0x80,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x1,0xff,0xff,0xff,0xff,0xe0,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x7,0xff,0xff,0xff,0xe0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x3f,0xff,0xff,0xff,0xf8,0x0, -0x3,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xf0,0x0,0x0,0x7,0xfe,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xc0,0x0,0x0,0x3f,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x3f,0xff,0xff,0xff,0xf0,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x3,0xff,0xff,0xff,0xe0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0xf,0xff,0xff,0xff,0xfc,0x0, -0x3,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xe0,0x0,0x0,0x1,0xfe,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xe0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x3,0xff,0xff,0xff,0xfc,0x0, -0x3,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0xfc,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xe0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x7,0xff,0xff,0xff,0xf0,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0xff,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xfe,0x0, -0x3,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x38,0x0,0x0,0x0,0x7f,0xff,0xff,0xfe,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xe0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x3,0xff,0xff,0xff,0xf8,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0xff,0xff,0xff,0xfe,0x0, -0x3,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xe0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x1,0xff,0xff,0xff,0xf8,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x7f,0xff,0xff,0xff,0x0, -0x3,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xe0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0xff,0xff,0xff,0xfc,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x3f,0xff,0xff,0xff,0x0, -0x3,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x7f,0xff,0xff,0xfc,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xff,0xff,0x80, -0x3,0xff,0xff,0xff,0x80,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x7f,0xff,0xff,0xfe,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0xf,0xff,0xff,0xff,0x80, -0x3,0xff,0xff,0xff,0x80,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x3f,0xff,0xff,0xfe,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x7,0xff,0xff,0xff,0x80, -0x3,0xff,0xff,0xff,0x80,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xf8,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x1f,0xff,0xff,0xfe,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x7,0xff,0xff,0xff,0xc0, -0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xf8,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x3,0xff,0xff,0xff,0xc0, -0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xf8,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x3,0xff,0xff,0xff,0xc0, -0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xfc,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x1,0xff,0xff,0xff,0xc0, -0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xfc,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x1,0xff,0xff,0xff,0xc0, -0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xfc,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x1,0xff,0xff,0xff,0xe0, -0x3,0xff,0xff,0xff,0x80,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xfc,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x1,0xff,0xff,0xff,0xe0, -0x3,0xff,0xff,0xff,0x80,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xfc,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0xff,0xff,0xff,0xe0, -0x3,0xff,0xff,0xff,0xe0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0xff,0xff,0xff,0xe0, -0x3,0xff,0xff,0xff,0xf8,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0xff,0xff,0xff,0xe0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0xff,0xff,0xff,0xe0, -0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xe0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0xff,0xff,0xff,0xe0, -0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xe0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xe0, -0x3,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x3,0xff,0xff,0xff,0xe0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0, -0x3,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0xf,0xff,0xff,0xff,0xc0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0, -0x3,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x7,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xff,0xc0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0, -0x3,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x7,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0xff,0xff,0xff,0xff,0x80,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0, -0x3,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0xf,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xf8,0x0,0x3f,0xff,0xff,0xff,0xff,0x80,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0, -0x3,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0, -0x3,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0xf,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0, -0x3,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0xf,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0, -0x3,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0xf,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0, -0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0, -0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0xf,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0, -0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0xf,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0, -0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0, -0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x7,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0, -0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x7,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0, -0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x7,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0, -0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x7,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0, -0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0xf,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xc0,0x7,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xe0, -0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x3,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xe0,0x7,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0xff,0xff,0xff,0xe0, -0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xe0,0x7,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0xff,0xff,0xff,0xe0, -0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xe0,0x7,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0xff,0xff,0xff,0xe0, -0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xe0,0x7,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xfc,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0xff,0xff,0xff,0xe0, -0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xf0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xfc,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x1,0xff,0xff,0xff,0xe0, -0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xf0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xfc,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x1,0xff,0xff,0xff,0xe0, -0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x3,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xfc,0x0,0x1f,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x1,0xff,0xff,0xff,0xc0, -0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xf0,0x3,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xfc,0x0,0x1f,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x7f,0xff,0xff,0xf8,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x1,0xff,0xff,0xff,0xc0, -0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xf0,0x1,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xf8,0x0,0x1f,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x7f,0xff,0xff,0xf8,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x3,0xff,0xff,0xff,0xc0, -0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xf0,0x1,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xf8,0x0,0x1f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xfc,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x3,0xff,0xff,0xff,0xc0, -0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xf8,0x1,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xf8,0x0,0x1f,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x1f,0xff,0xff,0xfe,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xfc,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x7,0xff,0xff,0xff,0xc0, -0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xf8,0x0,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x3f,0xff,0xff,0xfe,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xfe,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x7,0xff,0xff,0xff,0x80, -0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xf8,0x0,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x3f,0xff,0xff,0xfe,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xfe,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0xf,0xff,0xff,0xff,0x80, -0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf8,0x0,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x7f,0xff,0xff,0xfc,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xff,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xff,0xff,0x80, -0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf8,0x0,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xe0,0x0,0x1f,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0xff,0xff,0xff,0xfc,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xff,0x80,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xff,0xff,0x0, -0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0xe0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x7f,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xe0,0x0,0x1f,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x1,0xff,0xff,0xff,0xf8,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x7,0xff,0xff,0xff,0x80,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x3f,0xff,0xff,0xff,0x0, -0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x1,0xf8,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x7f,0xff,0xff,0xfe,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xe0,0x0,0x1f,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x3,0xff,0xff,0xff,0xf8,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x7,0xff,0xff,0xff,0xc0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x7f,0xff,0xff,0xfe,0x0, -0x0,0x7,0xff,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x3,0xfc,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0,0x0,0x7f,0xff,0xff,0xff,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xe0,0x0,0x1f,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x3,0xff,0xff,0xff,0xc0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0xff,0xff,0xff,0xfe,0x0, -0x0,0x1f,0xff,0xc0,0x0,0x0,0xff,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xff,0xff,0xc0,0x0,0xf,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0xf,0xff,0xff,0xff,0xf0,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x3,0xff,0xff,0xff,0xe0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xfc,0x0, -0x0,0x7f,0xff,0xf8,0x0,0x0,0x3f,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xc0,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xff,0xc0,0x0,0x0,0x3f,0xff,0xff,0xff,0xc0,0x0,0x7,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x3f,0xff,0xff,0xff,0xf0,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x1,0xff,0xff,0xff,0xe0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x7,0xff,0xff,0xff,0xfc,0x0, -0x1,0xff,0xff,0xfc,0x0,0x0,0xf,0xff,0xff,0xff,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xf0,0x0,0x0,0x0,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xff,0xe0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0xff,0xff,0xff,0xff,0xe0,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0xff,0xff,0xff,0xf0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x1f,0xff,0xff,0xff,0xf8,0x0, -0x3,0xff,0xff,0xfe,0x0,0x0,0x7,0xff,0xff,0xff,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xfe,0x0,0x0,0x1,0xff,0xff,0xff,0xe0,0x0,0x1f,0xff,0xff,0xff,0xf8,0x0,0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xfc,0x0,0x3,0xff,0xff,0xff,0xff,0xe0,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0xff,0xff,0xff,0xf0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0xf8,0x0, -0x7,0xff,0xff,0xff,0x0,0x0,0x1,0xff,0xff,0xfe,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xc0,0x0,0x7,0xff,0xff,0xff,0xe0,0x0,0xf,0xff,0xff,0xff,0xfc,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xfc,0x0,0x1f,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x7f,0xff,0xff,0xf8,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xf0,0x0, -0xf,0xff,0xff,0xff,0x80,0x0,0x0,0x7f,0xff,0xfe,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x81,0xff,0xff,0xff,0xff,0xe0,0x0,0xf,0xff,0xff,0xff,0xff,0xf0,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x7f,0xff,0xff,0xfc,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0, -0x1f,0xff,0xff,0xff,0xc0,0x0,0x0,0x1f,0xff,0xfc,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xfc,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0, -0x1f,0xff,0xff,0xff,0xc0,0x0,0x0,0xf,0xff,0xfc,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xfe,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0, -0x3f,0xff,0xff,0xff,0xe0,0x0,0x0,0x3,0xff,0xf8,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x1f,0xff,0xff,0xfe,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0, -0x3f,0xff,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x1f,0xff,0xff,0xff,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0, -0x7f,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x3f,0xe0,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0xf,0xff,0xff,0xff,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0, -0x7f,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x1f,0x80,0x0,0x0,0x3,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0xf,0xff,0xff,0xff,0x80,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0, -0x7f,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x6,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x7,0xff,0xff,0xff,0x80,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0, -0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x7,0xff,0xff,0xff,0xc0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0, -0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x3,0xff,0xff,0xff,0xe0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0, -0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x3,0xff,0xff,0xff,0xe0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0, -0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0, -0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xf8,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0, -0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0xff,0xff,0xff,0xf8,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0, -0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0xff,0xff,0xff,0xf8,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0, -0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x7f,0xff,0xff,0xfc,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0, -0x7f,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x3f,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0, -0x7f,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x3f,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0, -0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0, -0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0, -0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0x80,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0, -0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0x80,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x1,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0, -0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x7f,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -}; +#include "logo.h" + int logo_w = 900; int logo_h = 181; diff --git a/examples/Inkplate6FLICK/Basic/Inkplate6FLICK_Black_And_White/logo.h b/examples/Inkplate6FLICK/Basic/Inkplate6FLICK_Black_And_White/logo.h new file mode 100644 index 00000000..89f6b5c9 --- /dev/null +++ b/examples/Inkplate6FLICK/Basic/Inkplate6FLICK_Black_And_White/logo.h @@ -0,0 +1,188 @@ +/* + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases +*/ +const uint8_t logo[] PROGMEM = { +0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x78,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xdf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0x87,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xfe,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x3,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x3,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x1,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0, +0x3,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0, +0x3,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0, +0x3,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0, +0x3,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0, +0x3,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0, +0x3,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0, +0x3,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0, +0x3,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0, +0x3,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0, +0x3,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0, +0x3,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x60,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0, +0x3,0xff,0xff,0xff,0xc0,0x0,0x0,0x1,0xf8,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0, +0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x3,0xfc,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0, +0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x7,0xff,0x80,0x0,0x0,0xf,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0, +0x3,0xff,0xff,0xff,0x80,0x0,0x0,0xf,0xff,0xc0,0x0,0x0,0x7,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0, +0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xf0,0x0,0x0,0x3,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0, +0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x3f,0xff,0xf8,0x0,0x0,0x3,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0, +0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x7f,0xff,0xfe,0x0,0x0,0x1,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0, +0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x7f,0xff,0xff,0x80,0x0,0x0,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0, +0x3,0xff,0xff,0xff,0x80,0x0,0x0,0xff,0xff,0xff,0xe0,0x0,0x0,0x7f,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0, +0x3,0xff,0xff,0xff,0x80,0x0,0x0,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xc0,0x1f,0xff,0xff,0xc0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xc0,0x3f,0xff,0xff,0xff,0xff,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0xf,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x7,0xff,0xff,0xff,0xff,0xc0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0x83,0xff,0xff,0xff,0xff,0xff,0xf0,0x0, +0x3,0xff,0xff,0xff,0x80,0x0,0x0,0xff,0xff,0xff,0xfc,0x0,0x0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xfe,0x0,0x1,0xff,0xff,0x80,0x0,0x0,0xf,0xff,0xff,0xff,0xfc,0x0,0x7,0xff,0xff,0xff,0xff,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x1f,0xff,0xff,0xff,0xff,0xe0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x7f,0xff,0xff,0xff,0xc0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0x80,0x7,0xff,0xff,0xff,0xff,0xf8,0x0, +0x3,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0x3,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xf8,0x0,0x0,0x1f,0xff,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0xff,0xff,0xff,0xff,0x80,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x1,0xff,0xff,0xff,0xff,0xe0,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x7,0xff,0xff,0xff,0xe0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x3f,0xff,0xff,0xff,0xf8,0x0, +0x3,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xf0,0x0,0x0,0x7,0xfe,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xc0,0x0,0x0,0x3f,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x3f,0xff,0xff,0xff,0xf0,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x3,0xff,0xff,0xff,0xe0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0xf,0xff,0xff,0xff,0xfc,0x0, +0x3,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xe0,0x0,0x0,0x1,0xfe,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xe0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x3,0xff,0xff,0xff,0xfc,0x0, +0x3,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0xfc,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xe0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x7,0xff,0xff,0xff,0xf0,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0xff,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xfe,0x0, +0x3,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x38,0x0,0x0,0x0,0x7f,0xff,0xff,0xfe,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xe0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x3,0xff,0xff,0xff,0xf8,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0xff,0xff,0xff,0xfe,0x0, +0x3,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xe0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x1,0xff,0xff,0xff,0xf8,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x7f,0xff,0xff,0xff,0x0, +0x3,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xe0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0xff,0xff,0xff,0xfc,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x3f,0xff,0xff,0xff,0x0, +0x3,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x7f,0xff,0xff,0xfc,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xff,0xff,0x80, +0x3,0xff,0xff,0xff,0x80,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x7f,0xff,0xff,0xfe,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0xf,0xff,0xff,0xff,0x80, +0x3,0xff,0xff,0xff,0x80,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x3f,0xff,0xff,0xfe,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x7,0xff,0xff,0xff,0x80, +0x3,0xff,0xff,0xff,0x80,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xf8,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x1f,0xff,0xff,0xfe,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x7,0xff,0xff,0xff,0xc0, +0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xf8,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x3,0xff,0xff,0xff,0xc0, +0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xf8,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x3,0xff,0xff,0xff,0xc0, +0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xfc,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x1,0xff,0xff,0xff,0xc0, +0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xfc,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x1,0xff,0xff,0xff,0xc0, +0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xfc,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x1,0xff,0xff,0xff,0xe0, +0x3,0xff,0xff,0xff,0x80,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xfc,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x1,0xff,0xff,0xff,0xe0, +0x3,0xff,0xff,0xff,0x80,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xfc,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0xff,0xff,0xff,0xe0, +0x3,0xff,0xff,0xff,0xe0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0xff,0xff,0xff,0xe0, +0x3,0xff,0xff,0xff,0xf8,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0xff,0xff,0xff,0xe0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0xff,0xff,0xff,0xe0, +0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xe0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0xff,0xff,0xff,0xe0, +0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xe0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xe0, +0x3,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x3,0xff,0xff,0xff,0xe0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0, +0x3,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0xf,0xff,0xff,0xff,0xc0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0, +0x3,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x7,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xff,0xc0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0, +0x3,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x7,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0xff,0xff,0xff,0xff,0x80,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0, +0x3,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0xf,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xf8,0x0,0x3f,0xff,0xff,0xff,0xff,0x80,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0, +0x3,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0, +0x3,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0xf,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0, +0x3,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0xf,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0, +0x3,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0xf,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0, +0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0, +0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0xf,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0, +0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0xf,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0, +0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0, +0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x7,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0, +0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x7,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0, +0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x7,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0, +0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x7,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0, +0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0xf,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xc0,0x7,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xe0, +0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x3,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xe0,0x7,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0xff,0xff,0xff,0xe0, +0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xe0,0x7,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0xff,0xff,0xff,0xe0, +0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xe0,0x7,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0xff,0xff,0xff,0xe0, +0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xe0,0x7,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xfc,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0xff,0xff,0xff,0xe0, +0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xf0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xfc,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x1,0xff,0xff,0xff,0xe0, +0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xf0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xfc,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x1,0xff,0xff,0xff,0xe0, +0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x3,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xfc,0x0,0x1f,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x1,0xff,0xff,0xff,0xc0, +0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xf0,0x3,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xfc,0x0,0x1f,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x7f,0xff,0xff,0xf8,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x1,0xff,0xff,0xff,0xc0, +0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xf0,0x1,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xf8,0x0,0x1f,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x7f,0xff,0xff,0xf8,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x3,0xff,0xff,0xff,0xc0, +0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xf0,0x1,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xf8,0x0,0x1f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xfc,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x3,0xff,0xff,0xff,0xc0, +0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xf8,0x1,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xf8,0x0,0x1f,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x1f,0xff,0xff,0xfe,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xfc,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x7,0xff,0xff,0xff,0xc0, +0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xf8,0x0,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x3f,0xff,0xff,0xfe,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xfe,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x7,0xff,0xff,0xff,0x80, +0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xf8,0x0,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x3f,0xff,0xff,0xfe,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xfe,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0xf,0xff,0xff,0xff,0x80, +0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf8,0x0,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x7f,0xff,0xff,0xfc,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xff,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xff,0xff,0x80, +0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf8,0x0,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xe0,0x0,0x1f,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0xff,0xff,0xff,0xfc,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xff,0x80,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xff,0xff,0x0, +0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0xe0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x7f,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xe0,0x0,0x1f,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x1,0xff,0xff,0xff,0xf8,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x7,0xff,0xff,0xff,0x80,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x3f,0xff,0xff,0xff,0x0, +0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x1,0xf8,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x7f,0xff,0xff,0xfe,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xe0,0x0,0x1f,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x3,0xff,0xff,0xff,0xf8,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x7,0xff,0xff,0xff,0xc0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x7f,0xff,0xff,0xfe,0x0, +0x0,0x7,0xff,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x3,0xfc,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0,0x0,0x7f,0xff,0xff,0xff,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xe0,0x0,0x1f,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x3,0xff,0xff,0xff,0xc0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0xff,0xff,0xff,0xfe,0x0, +0x0,0x1f,0xff,0xc0,0x0,0x0,0xff,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xff,0xff,0xc0,0x0,0xf,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0xf,0xff,0xff,0xff,0xf0,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x3,0xff,0xff,0xff,0xe0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xfc,0x0, +0x0,0x7f,0xff,0xf8,0x0,0x0,0x3f,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xc0,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xff,0xc0,0x0,0x0,0x3f,0xff,0xff,0xff,0xc0,0x0,0x7,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x3f,0xff,0xff,0xff,0xf0,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x1,0xff,0xff,0xff,0xe0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x7,0xff,0xff,0xff,0xfc,0x0, +0x1,0xff,0xff,0xfc,0x0,0x0,0xf,0xff,0xff,0xff,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xf0,0x0,0x0,0x0,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xff,0xe0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0xff,0xff,0xff,0xff,0xe0,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0xff,0xff,0xff,0xf0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x1f,0xff,0xff,0xff,0xf8,0x0, +0x3,0xff,0xff,0xfe,0x0,0x0,0x7,0xff,0xff,0xff,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xfe,0x0,0x0,0x1,0xff,0xff,0xff,0xe0,0x0,0x1f,0xff,0xff,0xff,0xf8,0x0,0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xfc,0x0,0x3,0xff,0xff,0xff,0xff,0xe0,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0xff,0xff,0xff,0xf0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0xf8,0x0, +0x7,0xff,0xff,0xff,0x0,0x0,0x1,0xff,0xff,0xfe,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xc0,0x0,0x7,0xff,0xff,0xff,0xe0,0x0,0xf,0xff,0xff,0xff,0xfc,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xfc,0x0,0x1f,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x7f,0xff,0xff,0xf8,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xf0,0x0, +0xf,0xff,0xff,0xff,0x80,0x0,0x0,0x7f,0xff,0xfe,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x81,0xff,0xff,0xff,0xff,0xe0,0x0,0xf,0xff,0xff,0xff,0xff,0xf0,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x7f,0xff,0xff,0xfc,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0, +0x1f,0xff,0xff,0xff,0xc0,0x0,0x0,0x1f,0xff,0xfc,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xfc,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0, +0x1f,0xff,0xff,0xff,0xc0,0x0,0x0,0xf,0xff,0xfc,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xfe,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0, +0x3f,0xff,0xff,0xff,0xe0,0x0,0x0,0x3,0xff,0xf8,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x1f,0xff,0xff,0xfe,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0, +0x3f,0xff,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x1f,0xff,0xff,0xff,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0, +0x7f,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x3f,0xe0,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0xf,0xff,0xff,0xff,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0, +0x7f,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x1f,0x80,0x0,0x0,0x3,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0xf,0xff,0xff,0xff,0x80,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0, +0x7f,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x6,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x7,0xff,0xff,0xff,0x80,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0, +0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x7,0xff,0xff,0xff,0xc0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0, +0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x3,0xff,0xff,0xff,0xe0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0, +0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x3,0xff,0xff,0xff,0xe0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0, +0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0, +0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xf8,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0, +0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0xff,0xff,0xff,0xf8,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0, +0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0xff,0xff,0xff,0xf8,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0, +0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x7f,0xff,0xff,0xfc,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0, +0x7f,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x3f,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0, +0x7f,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x3f,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0, +0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0, +0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0, +0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0x80,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0, +0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0x80,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x1,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0, +0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x7f,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +}; \ No newline at end of file diff --git a/examples/Inkplate6FLICK/Basic/Inkplate6FLICK_Grayscale/image.h b/examples/Inkplate6FLICK/Basic/Inkplate6FLICK_Grayscale/image.h index 9b74fb13..0895394a 100644 --- a/examples/Inkplate6FLICK/Basic/Inkplate6FLICK_Grayscale/image.h +++ b/examples/Inkplate6FLICK/Basic/Inkplate6FLICK_Grayscale/image.h @@ -1,5 +1,8 @@ -//Array that holds data for grayscale image of 500x332 pixels. You can convert your own image using Inkplate Image Converter. -//Image source: https://www.peakpx.com/583083/grayscale-photo-of-lighthouse +/* + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases +*/ const uint8_t picture1[] = { 0x88, 0x88, 0x99, 0x99, 0x99, 0x99, 0x99, 0x98, 0x88, 0x88, 0x88, 0x99, 0x99, 0x99, 0x99, 0x98, 0x88, 0x88, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xab, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xab, 0xbb, 0xbb, 0xbb, 0xbb, 0xbc, 0xcb, 0xbc, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xbb, 0xba, 0xaa, 0xaa, 0x99, 0x99, 0x89, 0x88, 0x88, 0x88, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x66, 0x66, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x78, 0x88, 0x87, 0x88, 0x88, 0x88, 0x88, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0xa9, 0x99, 0x99, 0xaa, 0xab, 0xba, 0xaa, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xbb, 0xbb, 0xbc, 0xcc, 0xcc, 0xcb, 0xbb, 0xbb, 0xbb, 0xaa, 0xaa, 0x9a, 0xaa, 0xaa, 0xaa, 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, 0x99, 0x99, 0x98, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x88, 0x89, 0x88, 0x88, 0x88, 0x88, 0x88, 0x99, 0x88, 0x88, 0x88, 0x89, 0x99, 0x99, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xab, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xab, 0xba, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xa9, 0x9a, 0xaa, 0xaa, 0xba, 0xaa, 0xba, 0x9a, 0xba, 0xaa, 0xa9, 0x98, 0x88, 0x87, 0x77, 0x88, 0x88, 0x77, 0x88, 0x88, 0x88, 0x87, 0x88, 0x88, 0x78, 0x88, 0x87, 0x77, 0x77, 0x88, 0x88, 0x99, 0x99, 0x99, 0x99, 0x99, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x99, 0x99, 0x99, 0x88, 0x88, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x9a, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xab, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xab, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcb, 0xbb, 0xaa, 0xaa, 0x99, 0x99, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x66, 0x67, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x67, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x9a, 0x99, 0x9a, 0xa9, 0xaa, 0xaa, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xba, 0xbb, 0xba, 0xab, 0xbb, 0xbb, 0xbb, 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xab, 0xbb, 0xbb, 0xbc, 0xcc, 0xcc, 0xcc, 0xcb, 0xbb, 0xba, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x9a, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x99, 0x99, 0x88, 0x88, 0x88, 0x99, 0x99, 0x99, 0x99, 0x88, 0x89, 0x98, 0x88, 0x88, 0x88, 0x88, 0x88, 0x99, 0x99, 0x99, 0x99, 0x99, 0x9a, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xab, 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, 0x9a, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xba, 0xaa, 0xaa, 0xaa, 0xaa, 0x99, 0xa9, 0x99, 0xaa, 0x99, 0x99, 0x9a, 0xa9, 0xaa, 0xa9, 0x88, 0x88, 0x77, 0x77, 0x87, 0x77, 0x77, 0x77, 0x77, 0x77, 0x76, 0x67, 0x77, 0x88, 0x77, 0x77, 0x66, 0x66, diff --git a/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_Crypto_Currency_Checker/Inkplate6FLICK_Crypto_Currency_Checker.ino b/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_Crypto_Currency_Checker/Inkplate6FLICK_Crypto_Currency_Checker.ino index 7a90a9da..c08944d6 100644 --- a/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_Crypto_Currency_Checker/Inkplate6FLICK_Crypto_Currency_Checker.ino +++ b/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_Crypto_Currency_Checker/Inkplate6FLICK_Crypto_Currency_Checker.ino @@ -15,6 +15,10 @@ Want to learn more about Inkplate? Visit www.inkplate.io Looking to get support? Write on our forums: https://forum.soldered.com/ 15 March 2024 by Soldered + + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases */ // Next 3 lines are a precaution, you can ignore those, and the example would also work without them @@ -52,7 +56,7 @@ int timeZone = 2; // Put in your ssid and password char ssid[] = ""; char pass[] = ""; - +#define DELAY_WIFI_RETRY_SECONDS 5 // OPTIONAL: // change to a different currency char currency[32] = "bitcoin"; @@ -64,6 +68,8 @@ double data[3]; // Variables for storing all displayed data as char arrays char date[64]; +void setTime(); + void setup() { Serial.begin(115200); @@ -81,7 +87,30 @@ void setup() Serial.println("Touchscreen init failed!"); } - network.begin(); + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(ssid, pass, WIFI_TIMEOUT, true)) + { + // Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(3); + // Set the cursor positions and print the text. + display.setCursor((display.width() / 2) - 200, display.height() / 2); + display.print(F("Unable to connect to ")); + display.println(F(ssid)); + display.setCursor((display.width() / 2) - 200, (display.height() / 2) + 30); + display.println(F("Please check ssid and pass!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(1000L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } + + // After connecting to WiFi we need to get internet time from NTP server + setTime(); getCoinPrices(); @@ -93,6 +122,26 @@ void loop() keysEvents(); } +// Function for getting time from NTP server +void setTime() +{ + // Structure used to hold time information + struct tm timeInfo; + time_t nowSec; + // Fetch current time in epoch format and store it + display.getNTPEpoch(&nowSec); + // This loop ensures that the NTP time fetched is valid and beyond a certain threshold + while (nowSec < 8 * 3600 * 2) + { + delay(500); + yield(); + display.getNTPEpoch(&nowSec); + } + gmtime_r(&nowSec, &timeInfo); + Serial.print(F("Current time: ")); + Serial.print(asctime(&timeInfo)); +} + void keysEvents() { if (display.touchInArea(30, 610, 400, 80)) // Refresh Screen diff --git a/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_Crypto_Currency_Checker/Network.cpp b/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_Crypto_Currency_Checker/Network.cpp index 411d1064..676e8254 100644 --- a/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_Crypto_Currency_Checker/Network.cpp +++ b/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_Crypto_Currency_Checker/Network.cpp @@ -59,8 +59,6 @@ void Network::begin() } Serial.println(F(" connected")); - // Find internet time - setTime(); } // Gets time from ntp server @@ -186,28 +184,3 @@ bool Network::getData(double *data) return !f; } -// Function for initial time setting ovet the ntp server -void Network::setTime() -{ - // Used for setting correct time - configTime(0, 0, "pool.ntp.org", "time.nist.gov"); - - Serial.print(F("Waiting for NTP time sync: ")); - time_t nowSecs = time(nullptr); - while (nowSecs < 8 * 3600 * 2) - { - delay(500); - Serial.print(F(".")); - yield(); - nowSecs = time(nullptr); - } - - Serial.println(); - - // Used to store time info - struct tm timeinfo; - gmtime_r(&nowSecs, &timeinfo); - - Serial.print(F("Current time: ")); - Serial.print(asctime(&timeinfo)); -} diff --git a/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_Crypto_Currency_Checker/Network.h b/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_Crypto_Currency_Checker/Network.h index 976c27ce..543adc82 100644 --- a/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_Crypto_Currency_Checker/Network.h +++ b/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_Crypto_Currency_Checker/Network.h @@ -41,8 +41,6 @@ class Network bool getData(double *data); private: - // Functions called from within our class - void setTime(); }; #endif diff --git a/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_Crypto_Currency_Tracker/Inkplate6FLICK_Crypto_Currency_Tracker.ino b/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_Crypto_Currency_Tracker/Inkplate6FLICK_Crypto_Currency_Tracker.ino index 2ff83dc6..ded72188 100644 --- a/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_Crypto_Currency_Tracker/Inkplate6FLICK_Crypto_Currency_Tracker.ino +++ b/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_Crypto_Currency_Tracker/Inkplate6FLICK_Crypto_Currency_Tracker.ino @@ -35,7 +35,7 @@ char pass[] = ""; // Delay between API calls in miliseconds #define DELAY_MS 3 * 60 * 1000 - +#define DELAY_WIFI_RETRY_SECONDS 5 // OPTIONAL: // change to a different currency char currency[] = "bitcoin"; @@ -114,6 +114,7 @@ textElement elements[] = { // Our functions declared below setup and loop void drawGraph(); void drawAll(); +void setTime(); void setup() { @@ -132,25 +133,48 @@ void setup() display.setTextWrap(false); display.setTextColor(0, 7); - // Our begin function - network.begin(); - - // Do a new network request - Serial.print("Retrying retriving data "); - while (!network.getData(data)) - { - Serial.print('.'); - delay(1000); - } - - // Our main drawing function - drawAll(); - - // Time drawing function - drawTime(); - - // Full refresh + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(ssid, pass, WIFI_TIMEOUT, true)) + { + // Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(3); + // Set the cursor positions and print the text. + display.setCursor((display.width() / 2) - 200, display.height() / 2); + display.print(F("Unable to connect to ")); + display.println(F(ssid)); + display.setCursor((display.width() / 2) - 200, (display.height() / 2) + 30); + display.println(F("Please check ssid and pass!")); + // Display the error message on the Inkplate and go to deep sleep display.display(); + esp_sleep_enable_timer_wakeup(1000L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } + + // After connecting to WiFi we need to get internet time from NTP server + setTime(); + + + // Do a new network request + Serial.print("Retrying retriving data "); + while (!network.getData(data)) + { + Serial.print('.'); + delay(1000); + } + + // Our main drawing function + drawAll(); + + // Time drawing function + drawTime(); + + // Full refresh + display.display(); goToSleep(); @@ -162,6 +186,26 @@ void loop() // Nothing here as we're using deep sleep } +// Function for getting time from NTP server +void setTime() +{ + // Structure used to hold time information + struct tm timeInfo; + time_t nowSec; + // Fetch current time in epoch format and store it + display.getNTPEpoch(&nowSec); + // This loop ensures that the NTP time fetched is valid and beyond a certain threshold + while (nowSec < 8 * 3600 * 2) + { + delay(500); + yield(); + display.getNTPEpoch(&nowSec); + } + gmtime_r(&nowSec, &timeInfo); + Serial.print(F("Current time: ")); + Serial.print(asctime(&timeInfo)); +} + void goToSleep() { Serial.println("Going to sleep..."); diff --git a/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_Crypto_Currency_Tracker/Network.cpp b/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_Crypto_Currency_Tracker/Network.cpp index e409b929..31e8c7c8 100644 --- a/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_Crypto_Currency_Tracker/Network.cpp +++ b/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_Crypto_Currency_Tracker/Network.cpp @@ -58,9 +58,6 @@ void Network::begin() } } Serial.println(F(" connected")); - - // Find internet time - setTime(); } // Gets time from ntp server @@ -192,30 +189,4 @@ bool Network::getData(double *data) WiFi.setSleep(sleep); return !f; -} - -// Function for initial time setting ovet the ntp server -void Network::setTime() -{ - // Used for setting correct time - configTime(0, 0, "pool.ntp.org", "time.nist.gov"); - - Serial.print(F("Waiting for NTP time sync: ")); - time_t nowSecs = time(nullptr); - while (nowSecs < 8 * 3600 * 2) - { - delay(500); - Serial.print(F(".")); - yield(); - nowSecs = time(nullptr); - } - - Serial.println(); - - // Used to store time info - struct tm timeinfo; - gmtime_r(&nowSecs, &timeinfo); - - Serial.print(F("Current time: ")); - Serial.print(asctime(&timeinfo)); -} +} \ No newline at end of file diff --git a/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_Crypto_Currency_Tracker/Network.h b/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_Crypto_Currency_Tracker/Network.h index 976c27ce..543adc82 100644 --- a/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_Crypto_Currency_Tracker/Network.h +++ b/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_Crypto_Currency_Tracker/Network.h @@ -41,8 +41,6 @@ class Network bool getData(double *data); private: - // Functions called from within our class - void setTime(); }; #endif diff --git a/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_Daily_Weather_Station/Inkplate6FLICK_Daily_Weather_Station.ino b/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_Daily_Weather_Station/Inkplate6FLICK_Daily_Weather_Station.ino index 38f4cc21..70f1a33d 100644 --- a/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_Daily_Weather_Station/Inkplate6FLICK_Daily_Weather_Station.ino +++ b/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_Daily_Weather_Station/Inkplate6FLICK_Daily_Weather_Station.ino @@ -15,6 +15,10 @@ Want to learn more about Inkplate? Visit www.inkplate.io Looking to get support? Write on our forums: https://forum.soldered.com/ 15 March 2024 by Soldered + + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases */ // Next 3 lines are a precaution, you can ignore those, and the example would also work without them @@ -57,6 +61,7 @@ char apiKey[] = ""; // Delay between API calls, about 1000 per month, which is the free tier limit #define DELAY_MS 267800L +#define DELAY_WIFI_RETRY_SECONDS 5 // Inkplate object Inkplate display(INKPLATE_1BIT); @@ -115,6 +120,7 @@ void drawTime(); void drawCurrent(); void drawCity(); void drawTemps(); +void setTime(); void setup() { @@ -123,7 +129,29 @@ void setup() display.begin(); - network.begin(ssid, pass); + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(ssid, pass, WIFI_TIMEOUT, true)) + { + //Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(3); + // Set the cursor positions and print the text. + display.setCursor((display.width() / 2) - 200, display.height() / 2); + display.print(F("Unable to connect to ")); + display.println(F(ssid)); + display.setCursor((display.width() / 2) - 200, (display.height() / 2) + 30); + display.println(F("Please check ssid and pass!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(100L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } + + setTime(); // Get all relevant data, see Network.cpp for info network.getData(lat, lon, apiKey, city, temps[0], temps[1], temps[2], temps[3], currentTemp, currentWind, currentTime, @@ -151,6 +179,27 @@ void loop() // Never here } +// Function for getting time from NTP server +void setTime() +{ + // Structure used to hold time information + struct tm timeInfo; + display.getNTPDateTime(&timeInfo); + time_t nowSec; + // Fetch current time in epoch format and store it + display.getNTPEpoch(&nowSec); + // This loop ensures that the NTP time fetched is valid and beyond a certain threshold + while (nowSec < 8 * 3600 * 2) + { + delay(500); + yield(); + display.getNTPEpoch(&nowSec); + } + gmtime_r(&nowSec, &timeInfo); + Serial.print(F("Current time: ")); + Serial.print(asctime(&timeInfo)); +} + // Function for drawing weather info void drawWeather() { diff --git a/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_Daily_Weather_Station/Network.cpp b/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_Daily_Weather_Station/Network.cpp index fc0e840c..76ee3ed5 100644 --- a/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_Daily_Weather_Station/Network.cpp +++ b/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_Daily_Weather_Station/Network.cpp @@ -43,9 +43,6 @@ void Network::begin(char *ssid, char *pass) } } Serial.println(F(" connected")); - - // Find internet time - setTime(); } // Gets time from ntp server @@ -227,32 +224,6 @@ bool Network::getData(char *lat, char *lon, char *apiKey, char *city, char *temp return 1; } -void Network::setTime() -{ - // Used for setting correct time - configTime(0, 0, "pool.ntp.org", "time.nist.gov"); - - Serial.print(F("Waiting for NTP time sync: ")); - time_t nowSecs = time(nullptr); - while (nowSecs < 8 * 3600 * 2) - { - // Print a dot every half a second while time is not set - delay(500); - Serial.print(F(".")); - yield(); - nowSecs = time(nullptr); - } - - Serial.println(); - - // Used to store time info - struct tm timeinfo; - gmtime_r(&nowSecs, &timeinfo); - - Serial.print(F("Current time: ")); - Serial.print(asctime(&timeinfo)); -} - void Network::getDays(char *day, char *day1, char *day2, char *day3) { // Seconds since 1.1.1970. diff --git a/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_Daily_Weather_Station/Network.h b/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_Daily_Weather_Station/Network.h index 7a8de194..4d2ab4e2 100644 --- a/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_Daily_Weather_Station/Network.h +++ b/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_Daily_Weather_Station/Network.h @@ -46,8 +46,6 @@ class Network int location = -1; private: - // Functions called from within our class - void setTime(); int timeZone = 0; }; diff --git a/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_Google_Calendar/Inkplate6FLICK_Google_Calendar.ino b/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_Google_Calendar/Inkplate6FLICK_Google_Calendar.ino index 38a62b58..0efa9069 100644 --- a/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_Google_Calendar/Inkplate6FLICK_Google_Calendar.ino +++ b/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_Google_Calendar/Inkplate6FLICK_Google_Calendar.ino @@ -55,6 +55,7 @@ int timeZone = 2; // Delay between API calls #define DELAY_MS 4 * 60000 +#define DELAY_WIFI_RETRY_SECONDS 5 // Variables to keep count of when to get new data, and when to just update time RTC_DATA_ATTR unsigned int refreshes = 0; @@ -92,6 +93,7 @@ void getToFrom(char *dst, char *from, char *to, int *day, int *timeStamp); bool drawEvent(entry *event, int day, int beginY, int maxHeigth, int *heigthNeeded); int cmp(const void *a, const void *b); void drawData(); +void setTime(); void setup() { @@ -108,7 +110,29 @@ void setup() display.setTextColor(0, 7); // Connect Inkplate to the WiFi network - network.begin(ssid, pass); + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(ssid, pass, WIFI_TIMEOUT, true)) + { + //Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(3); + // Set the cursor positions and print the text. + display.setCursor((display.width() / 2) - 200, display.height() / 2); + display.print(F("Unable to connect to ")); + display.println(F(ssid)); + display.setCursor((display.width() / 2) - 200, (display.height() / 2) + 30); + display.println(F("Please check SSID and PASS!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(1000L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } + + setTime(); // Get the data from Google Calendar // Repeat attempts until data is fully downloaded @@ -143,6 +167,27 @@ void loop() // Never here } +// Function to get time from NPT server +void setTime() +{ + // Structure used to hold time information + struct tm timeInfo; + // Fetch current time from an NTP server and store it + time_t nowSec; + // Fetch current time in epoch format and store it + display.getNTPEpoch(&nowSec); + // This loop ensures that the NTP time fetched is valid and beyond a certain threshold + while(nowSec < 8 * 3600 * 2) + { + delay(500); + yield(); + display.getNTPEpoch(&nowSec); + } + gmtime_r(&nowSec, &timeInfo); + Serial.print(F("Current time: ")); + Serial.print(asctime(&timeInfo)); +} + // Function for drawing calendar info void drawInfo() { @@ -459,6 +504,10 @@ void drawData() &entries[entriesNum].timeStamp); } ++entriesNum; + if(entriesNum == 128) + { + break; + } } // Sort entries by time diff --git a/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_Google_Calendar/Network.cpp b/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_Google_Calendar/Network.cpp index 87a66fa1..66b16791 100644 --- a/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_Google_Calendar/Network.cpp +++ b/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_Google_Calendar/Network.cpp @@ -43,8 +43,6 @@ void Network::begin(char *ssid, char *pass) } Serial.println(F(" connected")); - // Find and print internet time, the timezone will be added later - setTime(); } // Gets time from ntp server @@ -141,29 +139,3 @@ bool Network::getData(char *calendarURL, char *data) return !f; } - -// Find internet time -void Network::setTime() -{ - // Used for setting correct time - configTime(0, 0, "pool.ntp.org", "time.nist.gov"); - - Serial.print(F("Waiting for NTP time sync: ")); - time_t nowSecs = time(nullptr); - while (nowSecs < 8 * 3600 * 2) - { - delay(500); - Serial.print(F(".")); - yield(); - nowSecs = time(nullptr); - } - Serial.println(); - - // Used to store time info - struct tm timeinfo; - gmtime_r(&nowSecs, &timeinfo); - - // Print the current time without adding a timezone - Serial.print(F("Current time: ")); - Serial.print(asctime(&timeinfo)); -} diff --git a/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_Google_Calendar/Network.h b/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_Google_Calendar/Network.h index 5449b75f..ffadefcb 100644 --- a/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_Google_Calendar/Network.h +++ b/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_Google_Calendar/Network.h @@ -35,8 +35,6 @@ class Network bool getData(char *calendarURL, char *data); private: - // Functions called from within our class - void setTime(); }; #endif diff --git a/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_Hourly_Weather_Station/Inkplate6FLICK_Hourly_Weather_Station.ino b/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_Hourly_Weather_Station/Inkplate6FLICK_Hourly_Weather_Station.ino index 28b50c10..0e03209d 100644 --- a/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_Hourly_Weather_Station/Inkplate6FLICK_Hourly_Weather_Station.ino +++ b/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_Hourly_Weather_Station/Inkplate6FLICK_Hourly_Weather_Station.ino @@ -15,6 +15,10 @@ Want to learn more about Inkplate? Visit www.inkplate.io Looking to get support? Write on our forums: https://forum.soldered.com/ 15 March 2024 by Soldered + + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases */ // Next 3 lines are a precaution, you can ignore those, and the example would also work without them @@ -63,7 +67,7 @@ char apiKey[] = ""; // Delay between API calls, about 1000 per month, which is the free tier limit #define DELAY_MS 267800L - +#define DELAY_WIFI_RETRY_SECONDS 5 // Inkplate object Inkplate display(INKPLATE_1BIT); @@ -125,6 +129,7 @@ void drawCurrent(); void drawTemps(); void drawCity(); void drawTime(); +void setTime(); void setup() { @@ -133,8 +138,30 @@ void setup() display.begin(); - // Calling our begin from network.h file - network.begin(city); + // Connect Inkplate to the WiFi network + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(ssid, pass, WIFI_TIMEOUT, true)) + { + //Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(3); + // Set the cursor positions and print the text. + display.setCursor((display.width() / 2) - 200, display.height() / 2); + display.print(F("Unable to connect to ")); + display.println(F(ssid)); + display.setCursor((display.width() / 2) - 200, (display.height() / 2) + 30); + display.println(F("Please check SSID and PASS!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(1000L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } + + setTime(); // Get all relevant data, see Network.cpp for info network.getTime(currentTime); @@ -175,6 +202,26 @@ void loop() // nothing here } +// Function for getting time from NTP server +void setTime() +{ + // Structure used to hold time information + struct tm timeInfo; + time_t nowSec; + // Fetch current time in epoch format and store it + display.getNTPEpoch(&nowSec); + // This loop ensures that the NTP time fetched is valid and beyond a certain threshold + while (nowSec < 8 * 3600 * 2) + { + delay(500); + yield(); + display.getNTPEpoch(&nowSec); + } + gmtime_r(&nowSec, &timeInfo); + Serial.print(F("Current time: ")); + Serial.print(asctime(&timeInfo)); +} + // Function for drawing weather info void drawWeather() { diff --git a/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_Hourly_Weather_Station/Network.cpp b/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_Hourly_Weather_Station/Network.cpp index b77bb0f8..b3a7f43a 100644 --- a/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_Hourly_Weather_Station/Network.cpp +++ b/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_Hourly_Weather_Station/Network.cpp @@ -53,9 +53,6 @@ void Network::begin(char *city) } Serial.println(F(" connected")); - // Find internet time - setTime(); - // reduce power by making WiFi module sleep WiFi.setSleep(1); } @@ -227,32 +224,6 @@ bool Network::getData(char *city, char *temp1, char *temp2, char *temp3, char *t return !f; } -void Network::setTime() -{ - // Used for setting correct time - configTime(0, 0, "pool.ntp.org", "time.nist.gov"); - - Serial.print(F("Waiting for NTP time sync: ")); - time_t nowSecs = time(nullptr); - while (nowSecs < 8 * 3600 * 2) - { - // Print a dot every half a second while time is not set - delay(500); - Serial.print(F(".")); - yield(); - nowSecs = time(nullptr); - } - - Serial.println(); - - // Used to store time info - struct tm timeinfo; - gmtime_r(&nowSecs, &timeinfo); - - Serial.print(F("Current time: ")); - Serial.print(asctime(&timeinfo)); -} - void Network::getHours(char *hour1, char *hour2, char *hour3, char *hour4) { // Format hours info diff --git a/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_Hourly_Weather_Station/Network.h b/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_Hourly_Weather_Station/Network.h index 09ec7b79..ac0c179f 100644 --- a/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_Hourly_Weather_Station/Network.h +++ b/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_Hourly_Weather_Station/Network.h @@ -57,8 +57,6 @@ class Network time_t dataEpoch = 0; private: - // Functions called from within our class - void setTime(); }; #endif diff --git a/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_News_API/Inkplate6FLICK_News_API.ino b/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_News_API/Inkplate6FLICK_News_API.ino index 8228bfb0..6bfaea52 100644 --- a/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_News_API/Inkplate6FLICK_News_API.ino +++ b/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_News_API/Inkplate6FLICK_News_API.ino @@ -53,6 +53,7 @@ Inkplate display(INKPLATE_1BIT); // Delay between API calls in miliseconds (first 60 represents minutes so you can change to your need) #define DELAY_MS (uint32_t)60 * 60 * 1000 +#define DELAY_WIFI_RETRY_SECONDS 5 // Variable for counting partial refreshes RTC_DATA_ATTR unsigned refreshes = 0; @@ -60,6 +61,8 @@ RTC_DATA_ATTR unsigned refreshes = 0; // Constant to determine when to full update const int fullRefresh = 20; +void setTime(); + void setup() { // Begin serial communitcation, sed for debugging @@ -69,8 +72,30 @@ void setup() display.begin(); display.setTextWrap(false); - // Our begin function - network.begin(); + // Connect Inkplate to the WiFi network + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(ssid, pass, WIFI_TIMEOUT, true)) + { + //Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(3); + // Set the cursor positions and print the text. + display.setCursor((display.width() / 2) - 200, display.height() / 2); + display.print(F("Unable to connect to ")); + display.println(F(ssid)); + display.setCursor((display.width() / 2) - 200, (display.height() / 2) + 30); + display.println(F("Please check SSID and PASS!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(1000L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } + + setTime(); struct news *entities; @@ -151,6 +176,25 @@ void drawNews(struct news *entities) } +// Function for getting time from NTP server +void setTime() +{ + // Structure used to hold time information + struct tm timeInfo; + time_t nowSec; + // Fetch current time in epoch format and store it + display.getNTPEpoch(&nowSec); + // This loop ensures that the NTP time fetched is valid and beyond a certain threshold + while (nowSec < 8 * 3600 * 2) + { + delay(500); + yield(); + nowSec = time(nullptr); + } + gmtime_r(&nowSec, &timeInfo); + Serial.print(F("Current time: ")); + Serial.print(asctime(&timeInfo)); +} void loop() { // Never here diff --git a/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_News_API/Network.cpp b/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_News_API/Network.cpp index a1e810dc..71e8a03b 100644 --- a/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_News_API/Network.cpp +++ b/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_News_API/Network.cpp @@ -60,9 +60,6 @@ void Network::begin() } } Serial.println(F(" connected")); - - // Find internet time - setTime(); } // Gets time from ntp server @@ -211,29 +208,3 @@ struct news* Network::getData() return ent; } - -// Function for initial time setting ovet the ntp server -void Network::setTime() -{ - // Used for setting correct time - configTime(0, 0, "pool.ntp.org", "time.nist.gov"); - - Serial.print(F("Waiting for NTP time sync: ")); - time_t nowSecs = time(nullptr); - while (nowSecs < 8 * 3600 * 2) - { - delay(500); - Serial.print(F(".")); - yield(); - nowSecs = time(nullptr); - } - - Serial.println(); - - // Used to store time info - struct tm timeinfo; - gmtime_r(&nowSecs, &timeinfo); - - Serial.print(F("Current time: ")); - Serial.print(asctime(&timeinfo)); -} diff --git a/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_News_API/Network.h b/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_News_API/Network.h index c6fcba3b..990c855b 100644 --- a/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_News_API/Network.h +++ b/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_News_API/Network.h @@ -52,8 +52,6 @@ class Network struct news* getData(); private: - // Functions called from within our class - void setTime(); }; #endif diff --git a/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_OpenWeather_Station/Inkplate6FLICK_OpenWeather_Station.ino b/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_OpenWeather_Station/Inkplate6FLICK_OpenWeather_Station.ino index a00d4e0c..3bd7a1f6 100644 --- a/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_OpenWeather_Station/Inkplate6FLICK_OpenWeather_Station.ino +++ b/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_OpenWeather_Station/Inkplate6FLICK_OpenWeather_Station.ino @@ -17,6 +17,10 @@ Want to learn more about Inkplate? Visit www.inkplate.io Looking to get support? Write on our forums: https://forum.soldered.com/ + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases + 15 March 2024 by Soldered */ @@ -77,6 +81,8 @@ bool metric = true; //<------------------------------TRUE is METRIC, FALSE is IM // Delay between API calls #define DELAY_MS 59000 +#define DELAY_WIFI_RETRY_SECONDS 5 +#define DELAY_API_RETRY_SECONDS 5 // Inkplate object Inkplate display(INKPLATE_1BIT); @@ -126,28 +132,26 @@ time_t t = now(); void connectWifi() { - - int ConnectCount = 20; - - if (WiFi.status() != WL_CONNECTED) + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(SSID, PASS, WIFI_TIMEOUT, true)) { - while (WiFi.status() != WL_CONNECTED) - { - if (ConnectCount++ == 20) - { - Serial.println("Connect WiFi"); - WiFi.begin(SSID, PASS); - Serial.print("Connecting."); - ConnectCount = 0; - } - Serial.print("."); - delay(1260); - } - Serial.print("\nConnected to: "); - Serial.println(SSID); - Serial.println("IP address: "); - Serial.println(WiFi.localIP()); - Serial.println("Connected WiFi"); + //Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(3); + // Set the cursor positions and print the text. + display.setCursor((display.width() / 2) - 200, display.height() / 2); + display.print(F("Unable to connect to ")); + display.println(F(SSID)); + display.setCursor((display.width() / 2) - 200, (display.height() / 2) + 30); + display.println(F("Please check SSID and PASS!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(1000L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); } } //======================== END WIFI CONNECT ======================= @@ -268,10 +272,8 @@ void setup() display.println("Only older API keys for OneCall 2.5 work in free tier."); display.println("See the code comments the example for more info."); display.display(); - while (1) - { - delay(100); - } + esp_sleep_enable_timer_wakeup(1000L * DELAY_API_RETRY_SECONDS); + (void)esp_deep_sleep_start(); } Serial.println("API key is valid!"); diff --git a/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_Quotables/Inkplate6FLICK_Quotables.ino b/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_Quotables/Inkplate6FLICK_Quotables.ino index ce46030c..df219663 100644 --- a/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_Quotables/Inkplate6FLICK_Quotables.ino +++ b/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_Quotables/Inkplate6FLICK_Quotables.ino @@ -54,6 +54,7 @@ Inkplate display(INKPLATE_1BIT); // Delay between API calls in seconds, 300 seconds is 5 minutes #define DELAY_S 300 +#define DELAY_WIFI_RETRY_SECONDS 5 // Our functions declared below setup and loop void drawAll(); @@ -73,8 +74,27 @@ void setup() display.setTextColor(BLACK); display.setTextSize(3); - // Our begin function - network.begin(); + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(ssid, pass, WIFI_TIMEOUT, true)) + { + //Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(3); + // Set the cursor positions and print the text. + display.setCursor((display.width() / 2) - 200, display.height() / 2); + display.print(F("Unable to connect to ")); + display.println(F(ssid)); + display.setCursor((display.width() / 2) - 200, (display.height() / 2) + 30); + display.println(F("Please check SSID and PASS!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(1000L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } while (!network.getData(quote, author)) { diff --git a/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_Youtube_Subscriber_Counter/Inkplate6FLICK_Youtube_Subscriber_Counter.ino b/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_Youtube_Subscriber_Counter/Inkplate6FLICK_Youtube_Subscriber_Counter.ino index 671051fc..68bd004f 100644 --- a/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_Youtube_Subscriber_Counter/Inkplate6FLICK_Youtube_Subscriber_Counter.ino +++ b/examples/Inkplate6FLICK/Projects/Inkplate6FLICK_Youtube_Subscriber_Counter/Inkplate6FLICK_Youtube_Subscriber_Counter.ino @@ -19,6 +19,10 @@ Want to learn more about Inkplate? Visit www.inkplate.io Looking to get support? Write on our forums: https://forum.soldered.com/ 15 March 2024 by Soldered + + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases */ // Next 3 lines are a precaution, you can ignore those, and the example would also work without them @@ -42,6 +46,7 @@ // Delay between API calls in miliseconds (10 minutes) #define DELAY_MS 10 * 60 * 1000 +#define DELAY_WIFI_RETRY_SECONDS 5 // Create object with all networking functions Network network; @@ -125,8 +130,27 @@ void setup() delay(1000); } - // Our begin function - network.begin(ssid, pass); + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(ssid, pass, WIFI_TIMEOUT, true)) + { + //Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(3); + // Set the cursor positions and print the text. + display.setCursor((display.width() / 2) - 200, display.height() / 2); + display.print(F("Unable to connect to ")); + display.println(F(ssid)); + display.setCursor((display.width() / 2) - 200, (display.height() / 2) + 30); + display.println(F("Please check SSID and PASS!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(1000L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } while (!network.getData(&channel, channel_id, api_key, &display)) { diff --git a/examples/Inkplate6PLUS/Advanced/DeepSleep/Inkplate6PLUS_Simple_Deep_Sleep/Inkplate6PLUS_Simple_Deep_Sleep.ino b/examples/Inkplate6PLUS/Advanced/DeepSleep/Inkplate6PLUS_Simple_Deep_Sleep/Inkplate6PLUS_Simple_Deep_Sleep.ino index 69f31c86..713e315e 100644 --- a/examples/Inkplate6PLUS/Advanced/DeepSleep/Inkplate6PLUS_Simple_Deep_Sleep/Inkplate6PLUS_Simple_Deep_Sleep.ino +++ b/examples/Inkplate6PLUS/Advanced/DeepSleep/Inkplate6PLUS_Simple_Deep_Sleep/Inkplate6PLUS_Simple_Deep_Sleep.ino @@ -15,6 +15,10 @@ Want to learn more about Inkplate? Visit www.inkplate.io Looking to get support? Write on our forums: https://forum.soldered.com/ 11 February 2021 by Soldered + + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases */ // Next 3 lines are a precaution, you can ignore those, and the example would also work without them diff --git a/examples/Inkplate6PLUS/Advanced/Other/Inkplate6PLUS_Read_Battery_Voltage/Inkplate6PLUS_Read_Battery_Voltage.ino b/examples/Inkplate6PLUS/Advanced/Other/Inkplate6PLUS_Read_Battery_Voltage/Inkplate6PLUS_Read_Battery_Voltage.ino index 42998ef9..264bdce2 100644 --- a/examples/Inkplate6PLUS/Advanced/Other/Inkplate6PLUS_Read_Battery_Voltage/Inkplate6PLUS_Read_Battery_Voltage.ino +++ b/examples/Inkplate6PLUS/Advanced/Other/Inkplate6PLUS_Read_Battery_Voltage/Inkplate6PLUS_Read_Battery_Voltage.ino @@ -10,6 +10,10 @@ Want to learn more about Inkplate? Visit www.inkplate.io Looking to get support? Write on our forums: https://forum.soldered.com/ 23 January 2023 by Soldered + + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases */ // Next 3 lines are a precaution, you can ignore those, and the example would also work without them diff --git a/examples/Inkplate6PLUS/Advanced/Other/Inkplate6PLUS_Read_Temperature/Inkplate6PLUS_Read_Temperature.ino b/examples/Inkplate6PLUS/Advanced/Other/Inkplate6PLUS_Read_Temperature/Inkplate6PLUS_Read_Temperature.ino index 42d28173..422018b2 100644 --- a/examples/Inkplate6PLUS/Advanced/Other/Inkplate6PLUS_Read_Temperature/Inkplate6PLUS_Read_Temperature.ino +++ b/examples/Inkplate6PLUS/Advanced/Other/Inkplate6PLUS_Read_Temperature/Inkplate6PLUS_Read_Temperature.ino @@ -11,6 +11,10 @@ Want to learn more about Inkplate? Visit www.inkplate.io Looking to get support? Write on our forums: https://forum.soldered.com/ 23 January 2023 by Soldered + + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases */ // Next 3 lines are a precaution, you can ignore those, and the example would also work without them diff --git a/examples/Inkplate6PLUS/Advanced/WEB_WiFi/Inkplate6PLUS_Show_Pictures_From_Web/Inkplate6PLUS_Show_Pictures_From_Web.ino b/examples/Inkplate6PLUS/Advanced/WEB_WiFi/Inkplate6PLUS_Show_Pictures_From_Web/Inkplate6PLUS_Show_Pictures_From_Web.ino index a78700c4..545ada36 100644 --- a/examples/Inkplate6PLUS/Advanced/WEB_WiFi/Inkplate6PLUS_Show_Pictures_From_Web/Inkplate6PLUS_Show_Pictures_From_Web.ino +++ b/examples/Inkplate6PLUS/Advanced/WEB_WiFi/Inkplate6PLUS_Show_Pictures_From_Web/Inkplate6PLUS_Show_Pictures_From_Web.ino @@ -14,6 +14,10 @@ Want to learn more about Inkplate? Visit www.inkplate.io Looking to get support? Write on our forums: https://forum.soldered.com/ 11 February 2021 by Soldered + + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases */ // Next 3 lines are a precaution, you can ignore those, and the example would also work without them diff --git a/examples/Inkplate6PLUS/Basic/Inkplate6PLUS_Black_And_White/Inkplate6PLUS_Black_And_White.ino b/examples/Inkplate6PLUS/Basic/Inkplate6PLUS_Black_And_White/Inkplate6PLUS_Black_And_White.ino index 79a05a8b..98c15cb1 100644 --- a/examples/Inkplate6PLUS/Basic/Inkplate6PLUS_Black_And_White/Inkplate6PLUS_Black_And_White.ino +++ b/examples/Inkplate6PLUS/Basic/Inkplate6PLUS_Black_And_White/Inkplate6PLUS_Black_And_White.ino @@ -29,189 +29,7 @@ Inkplate display(INKPLATE_1BIT); // Create object on Inkplate library and set li // Want to refresh faster? Use partial update! Find example in "Inkplate6PLUS_Partial_Update" // Array that holds data for bitmap image of 900x181 pixels. You can convert your own image using Inkplate Image Converter. -const uint8_t logo[] PROGMEM = { -0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x78,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xdf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0x87,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xfe,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x3,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x3,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x1,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0, -0x3,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0, -0x3,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0, -0x3,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0, -0x3,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0, -0x3,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0, -0x3,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0, -0x3,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0, -0x3,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0, -0x3,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0, -0x3,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0, -0x3,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x60,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0, -0x3,0xff,0xff,0xff,0xc0,0x0,0x0,0x1,0xf8,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0, -0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x3,0xfc,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0, -0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x7,0xff,0x80,0x0,0x0,0xf,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0, -0x3,0xff,0xff,0xff,0x80,0x0,0x0,0xf,0xff,0xc0,0x0,0x0,0x7,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0, -0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xf0,0x0,0x0,0x3,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0, -0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x3f,0xff,0xf8,0x0,0x0,0x3,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0, -0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x7f,0xff,0xfe,0x0,0x0,0x1,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0, -0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x7f,0xff,0xff,0x80,0x0,0x0,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0, -0x3,0xff,0xff,0xff,0x80,0x0,0x0,0xff,0xff,0xff,0xe0,0x0,0x0,0x7f,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0, -0x3,0xff,0xff,0xff,0x80,0x0,0x0,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xc0,0x1f,0xff,0xff,0xc0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xc0,0x3f,0xff,0xff,0xff,0xff,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0xf,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x7,0xff,0xff,0xff,0xff,0xc0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0x83,0xff,0xff,0xff,0xff,0xff,0xf0,0x0, -0x3,0xff,0xff,0xff,0x80,0x0,0x0,0xff,0xff,0xff,0xfc,0x0,0x0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xfe,0x0,0x1,0xff,0xff,0x80,0x0,0x0,0xf,0xff,0xff,0xff,0xfc,0x0,0x7,0xff,0xff,0xff,0xff,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x1f,0xff,0xff,0xff,0xff,0xe0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x7f,0xff,0xff,0xff,0xc0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0x80,0x7,0xff,0xff,0xff,0xff,0xf8,0x0, -0x3,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0x3,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xf8,0x0,0x0,0x1f,0xff,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0xff,0xff,0xff,0xff,0x80,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x1,0xff,0xff,0xff,0xff,0xe0,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x7,0xff,0xff,0xff,0xe0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x3f,0xff,0xff,0xff,0xf8,0x0, -0x3,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xf0,0x0,0x0,0x7,0xfe,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xc0,0x0,0x0,0x3f,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x3f,0xff,0xff,0xff,0xf0,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x3,0xff,0xff,0xff,0xe0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0xf,0xff,0xff,0xff,0xfc,0x0, -0x3,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xe0,0x0,0x0,0x1,0xfe,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xe0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x3,0xff,0xff,0xff,0xfc,0x0, -0x3,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0xfc,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xe0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x7,0xff,0xff,0xff,0xf0,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0xff,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xfe,0x0, -0x3,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x38,0x0,0x0,0x0,0x7f,0xff,0xff,0xfe,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xe0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x3,0xff,0xff,0xff,0xf8,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0xff,0xff,0xff,0xfe,0x0, -0x3,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xe0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x1,0xff,0xff,0xff,0xf8,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x7f,0xff,0xff,0xff,0x0, -0x3,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xe0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0xff,0xff,0xff,0xfc,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x3f,0xff,0xff,0xff,0x0, -0x3,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x7f,0xff,0xff,0xfc,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xff,0xff,0x80, -0x3,0xff,0xff,0xff,0x80,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x7f,0xff,0xff,0xfe,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0xf,0xff,0xff,0xff,0x80, -0x3,0xff,0xff,0xff,0x80,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x3f,0xff,0xff,0xfe,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x7,0xff,0xff,0xff,0x80, -0x3,0xff,0xff,0xff,0x80,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xf8,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x1f,0xff,0xff,0xfe,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x7,0xff,0xff,0xff,0xc0, -0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xf8,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x3,0xff,0xff,0xff,0xc0, -0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xf8,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x3,0xff,0xff,0xff,0xc0, -0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xfc,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x1,0xff,0xff,0xff,0xc0, -0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xfc,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x1,0xff,0xff,0xff,0xc0, -0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xfc,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x1,0xff,0xff,0xff,0xe0, -0x3,0xff,0xff,0xff,0x80,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xfc,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x1,0xff,0xff,0xff,0xe0, -0x3,0xff,0xff,0xff,0x80,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xfc,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0xff,0xff,0xff,0xe0, -0x3,0xff,0xff,0xff,0xe0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0xff,0xff,0xff,0xe0, -0x3,0xff,0xff,0xff,0xf8,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0xff,0xff,0xff,0xe0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0xff,0xff,0xff,0xe0, -0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xe0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0xff,0xff,0xff,0xe0, -0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xe0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xe0, -0x3,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x3,0xff,0xff,0xff,0xe0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0, -0x3,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0xf,0xff,0xff,0xff,0xc0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0, -0x3,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x7,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xff,0xc0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0, -0x3,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x7,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0xff,0xff,0xff,0xff,0x80,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0, -0x3,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0xf,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xf8,0x0,0x3f,0xff,0xff,0xff,0xff,0x80,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0, -0x3,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0, -0x3,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0xf,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0, -0x3,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0xf,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0, -0x3,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0xf,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0, -0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0, -0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0xf,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0, -0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0xf,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0, -0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0, -0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x7,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0, -0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x7,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0, -0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x7,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0, -0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x7,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0, -0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0xf,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xc0,0x7,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xe0, -0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x3,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xe0,0x7,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0xff,0xff,0xff,0xe0, -0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xe0,0x7,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0xff,0xff,0xff,0xe0, -0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xe0,0x7,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0xff,0xff,0xff,0xe0, -0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xe0,0x7,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xfc,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0xff,0xff,0xff,0xe0, -0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xf0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xfc,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x1,0xff,0xff,0xff,0xe0, -0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xf0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xfc,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x1,0xff,0xff,0xff,0xe0, -0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x3,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xfc,0x0,0x1f,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x1,0xff,0xff,0xff,0xc0, -0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xf0,0x3,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xfc,0x0,0x1f,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x7f,0xff,0xff,0xf8,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x1,0xff,0xff,0xff,0xc0, -0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xf0,0x1,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xf8,0x0,0x1f,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x7f,0xff,0xff,0xf8,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x3,0xff,0xff,0xff,0xc0, -0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xf0,0x1,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xf8,0x0,0x1f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xfc,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x3,0xff,0xff,0xff,0xc0, -0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xf8,0x1,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xf8,0x0,0x1f,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x1f,0xff,0xff,0xfe,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xfc,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x7,0xff,0xff,0xff,0xc0, -0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xf8,0x0,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x3f,0xff,0xff,0xfe,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xfe,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x7,0xff,0xff,0xff,0x80, -0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xf8,0x0,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x3f,0xff,0xff,0xfe,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xfe,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0xf,0xff,0xff,0xff,0x80, -0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf8,0x0,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x7f,0xff,0xff,0xfc,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xff,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xff,0xff,0x80, -0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf8,0x0,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xe0,0x0,0x1f,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0xff,0xff,0xff,0xfc,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xff,0x80,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xff,0xff,0x0, -0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0xe0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x7f,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xe0,0x0,0x1f,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x1,0xff,0xff,0xff,0xf8,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x7,0xff,0xff,0xff,0x80,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x3f,0xff,0xff,0xff,0x0, -0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x1,0xf8,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x7f,0xff,0xff,0xfe,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xe0,0x0,0x1f,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x3,0xff,0xff,0xff,0xf8,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x7,0xff,0xff,0xff,0xc0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x7f,0xff,0xff,0xfe,0x0, -0x0,0x7,0xff,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x3,0xfc,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0,0x0,0x7f,0xff,0xff,0xff,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xe0,0x0,0x1f,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x3,0xff,0xff,0xff,0xc0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0xff,0xff,0xff,0xfe,0x0, -0x0,0x1f,0xff,0xc0,0x0,0x0,0xff,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xff,0xff,0xc0,0x0,0xf,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0xf,0xff,0xff,0xff,0xf0,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x3,0xff,0xff,0xff,0xe0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xfc,0x0, -0x0,0x7f,0xff,0xf8,0x0,0x0,0x3f,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xc0,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xff,0xc0,0x0,0x0,0x3f,0xff,0xff,0xff,0xc0,0x0,0x7,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x3f,0xff,0xff,0xff,0xf0,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x1,0xff,0xff,0xff,0xe0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x7,0xff,0xff,0xff,0xfc,0x0, -0x1,0xff,0xff,0xfc,0x0,0x0,0xf,0xff,0xff,0xff,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xf0,0x0,0x0,0x0,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xff,0xe0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0xff,0xff,0xff,0xff,0xe0,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0xff,0xff,0xff,0xf0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x1f,0xff,0xff,0xff,0xf8,0x0, -0x3,0xff,0xff,0xfe,0x0,0x0,0x7,0xff,0xff,0xff,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xfe,0x0,0x0,0x1,0xff,0xff,0xff,0xe0,0x0,0x1f,0xff,0xff,0xff,0xf8,0x0,0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xfc,0x0,0x3,0xff,0xff,0xff,0xff,0xe0,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0xff,0xff,0xff,0xf0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0xf8,0x0, -0x7,0xff,0xff,0xff,0x0,0x0,0x1,0xff,0xff,0xfe,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xc0,0x0,0x7,0xff,0xff,0xff,0xe0,0x0,0xf,0xff,0xff,0xff,0xfc,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xfc,0x0,0x1f,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x7f,0xff,0xff,0xf8,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xf0,0x0, -0xf,0xff,0xff,0xff,0x80,0x0,0x0,0x7f,0xff,0xfe,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x81,0xff,0xff,0xff,0xff,0xe0,0x0,0xf,0xff,0xff,0xff,0xff,0xf0,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x7f,0xff,0xff,0xfc,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0, -0x1f,0xff,0xff,0xff,0xc0,0x0,0x0,0x1f,0xff,0xfc,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xfc,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0, -0x1f,0xff,0xff,0xff,0xc0,0x0,0x0,0xf,0xff,0xfc,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xfe,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0, -0x3f,0xff,0xff,0xff,0xe0,0x0,0x0,0x3,0xff,0xf8,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x1f,0xff,0xff,0xfe,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0, -0x3f,0xff,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x1f,0xff,0xff,0xff,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0, -0x7f,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x3f,0xe0,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0xf,0xff,0xff,0xff,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0, -0x7f,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x1f,0x80,0x0,0x0,0x3,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0xf,0xff,0xff,0xff,0x80,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0, -0x7f,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x6,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x7,0xff,0xff,0xff,0x80,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0, -0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x7,0xff,0xff,0xff,0xc0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0, -0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x3,0xff,0xff,0xff,0xe0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0, -0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x3,0xff,0xff,0xff,0xe0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0, -0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0, -0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xf8,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0, -0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0xff,0xff,0xff,0xf8,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0, -0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0xff,0xff,0xff,0xf8,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0, -0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x7f,0xff,0xff,0xfc,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0, -0x7f,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x3f,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0, -0x7f,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x3f,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0, -0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0, -0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0, -0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0x80,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0, -0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0x80,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x1,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0, -0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x7f,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -}; +#include "logo.h" int logo_w = 900; int logo_h = 181; diff --git a/examples/Inkplate6PLUS/Basic/Inkplate6PLUS_Black_And_White/logo.h b/examples/Inkplate6PLUS/Basic/Inkplate6PLUS_Black_And_White/logo.h new file mode 100644 index 00000000..89f6b5c9 --- /dev/null +++ b/examples/Inkplate6PLUS/Basic/Inkplate6PLUS_Black_And_White/logo.h @@ -0,0 +1,188 @@ +/* + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases +*/ +const uint8_t logo[] PROGMEM = { +0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x78,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xdf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0x87,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xfe,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x3,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x3,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x1,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0, +0x3,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0, +0x3,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0, +0x3,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0, +0x3,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0, +0x3,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0, +0x3,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0, +0x3,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0, +0x3,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0, +0x3,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0, +0x3,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0, +0x3,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x60,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0, +0x3,0xff,0xff,0xff,0xc0,0x0,0x0,0x1,0xf8,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0, +0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x3,0xfc,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0, +0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x7,0xff,0x80,0x0,0x0,0xf,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0, +0x3,0xff,0xff,0xff,0x80,0x0,0x0,0xf,0xff,0xc0,0x0,0x0,0x7,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0, +0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xf0,0x0,0x0,0x3,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0, +0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x3f,0xff,0xf8,0x0,0x0,0x3,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0, +0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x7f,0xff,0xfe,0x0,0x0,0x1,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0, +0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x7f,0xff,0xff,0x80,0x0,0x0,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0, +0x3,0xff,0xff,0xff,0x80,0x0,0x0,0xff,0xff,0xff,0xe0,0x0,0x0,0x7f,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0, +0x3,0xff,0xff,0xff,0x80,0x0,0x0,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xc0,0x1f,0xff,0xff,0xc0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xc0,0x3f,0xff,0xff,0xff,0xff,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0xf,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x7,0xff,0xff,0xff,0xff,0xc0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0x83,0xff,0xff,0xff,0xff,0xff,0xf0,0x0, +0x3,0xff,0xff,0xff,0x80,0x0,0x0,0xff,0xff,0xff,0xfc,0x0,0x0,0x1f,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xfe,0x0,0x1,0xff,0xff,0x80,0x0,0x0,0xf,0xff,0xff,0xff,0xfc,0x0,0x7,0xff,0xff,0xff,0xff,0x0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x1f,0xff,0xff,0xff,0xff,0xe0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x7f,0xff,0xff,0xff,0xc0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0x80,0x7,0xff,0xff,0xff,0xff,0xf8,0x0, +0x3,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xff,0x0,0x0,0x3,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xf8,0x0,0x0,0x1f,0xff,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0xff,0xff,0xff,0xff,0x80,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x1,0xff,0xff,0xff,0xff,0xe0,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x7,0xff,0xff,0xff,0xe0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x3f,0xff,0xff,0xff,0xf8,0x0, +0x3,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xf0,0x0,0x0,0x7,0xfe,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xc0,0x0,0x0,0x3f,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x3f,0xff,0xff,0xff,0xf0,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x3,0xff,0xff,0xff,0xe0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0xf,0xff,0xff,0xff,0xfc,0x0, +0x3,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xe0,0x0,0x0,0x1,0xfe,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xff,0xff,0xc0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xe0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x3,0xff,0xff,0xff,0xfc,0x0, +0x3,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0xfc,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xe0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x7,0xff,0xff,0xff,0xf0,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0xff,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xfe,0x0, +0x3,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x38,0x0,0x0,0x0,0x7f,0xff,0xff,0xfe,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xe0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x3,0xff,0xff,0xff,0xf8,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0xff,0xff,0xff,0xfe,0x0, +0x3,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xe0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x1,0xff,0xff,0xff,0xf8,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x7f,0xff,0xff,0xff,0x0, +0x3,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xe0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0xff,0xff,0xff,0xfc,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x3f,0xff,0xff,0xff,0x0, +0x3,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x7f,0xff,0xff,0xfc,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xff,0xff,0x80, +0x3,0xff,0xff,0xff,0x80,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x7f,0xff,0xff,0xfe,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0xf,0xff,0xff,0xff,0x80, +0x3,0xff,0xff,0xff,0x80,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x3f,0xff,0xff,0xfe,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x7,0xff,0xff,0xff,0x80, +0x3,0xff,0xff,0xff,0x80,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xf8,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x1f,0xff,0xff,0xfe,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x7,0xff,0xff,0xff,0xc0, +0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xf8,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x3,0xff,0xff,0xff,0xc0, +0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xf8,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x3,0xff,0xff,0xff,0xc0, +0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xfc,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x1,0xff,0xff,0xff,0xc0, +0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xfc,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x1,0xff,0xff,0xff,0xc0, +0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xfc,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x1,0xff,0xff,0xff,0xe0, +0x3,0xff,0xff,0xff,0x80,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xfc,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x1,0xff,0xff,0xff,0xe0, +0x3,0xff,0xff,0xff,0x80,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xfc,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0xff,0xff,0xff,0xe0, +0x3,0xff,0xff,0xff,0xe0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0xff,0xff,0xff,0xe0, +0x3,0xff,0xff,0xff,0xf8,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0xff,0xff,0xff,0xe0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0xff,0xff,0xff,0xe0, +0x3,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xe0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0xff,0xff,0xff,0xe0, +0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xe0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xe0, +0x3,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x3,0xff,0xff,0xff,0xe0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0, +0x3,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0xf,0xff,0xff,0xff,0xc0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0, +0x3,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x7,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xff,0xc0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0, +0x3,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x7,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0xff,0xff,0xff,0xff,0x80,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0, +0x3,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0xf,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xf8,0x0,0x3f,0xff,0xff,0xff,0xff,0x80,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0, +0x3,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0, +0x3,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0xf,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0, +0x3,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0xf,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0, +0x3,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0xf,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0, +0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0, +0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0xf,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0, +0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0xf,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0, +0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0, +0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x7,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0, +0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x7,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0, +0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x7,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0, +0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x7,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0, +0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0xf,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xc0,0x7,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x7f,0xff,0xff,0xe0, +0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x3,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xe0,0x7,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0xff,0xff,0xff,0xe0, +0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xe0,0x7,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0xff,0xff,0xff,0xe0, +0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xe0,0x7,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0xff,0xff,0xff,0xe0, +0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xe0,0x7,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xfc,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0xff,0xff,0xff,0xe0, +0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xf0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xfc,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x1,0xff,0xff,0xff,0xe0, +0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xf0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xfc,0x0,0x1f,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x1,0xff,0xff,0xff,0xe0, +0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x3,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xfc,0x0,0x1f,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x1,0xff,0xff,0xff,0xc0, +0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xf0,0x3,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xfc,0x0,0x1f,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x7f,0xff,0xff,0xf8,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x1,0xff,0xff,0xff,0xc0, +0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xf0,0x1,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xf8,0x0,0x1f,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x7f,0xff,0xff,0xf8,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x3,0xff,0xff,0xff,0xc0, +0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xf0,0x1,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xf8,0x0,0x1f,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xfc,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x3,0xff,0xff,0xff,0xc0, +0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xf8,0x1,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xf8,0x0,0x1f,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x1f,0xff,0xff,0xfe,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xfc,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x7,0xff,0xff,0xff,0xc0, +0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xf8,0x0,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x3f,0xff,0xff,0xfe,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xfe,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x7,0xff,0xff,0xff,0x80, +0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xf8,0x0,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x3f,0xff,0xff,0xfe,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xfe,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0xf,0xff,0xff,0xff,0x80, +0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf8,0x0,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x7f,0xff,0xff,0xfc,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xff,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xff,0xff,0x80, +0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf8,0x0,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xe0,0x0,0x1f,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0xff,0xff,0xff,0xfc,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xff,0x80,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xff,0xff,0x0, +0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0xe0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x7f,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xe0,0x0,0x1f,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x1,0xff,0xff,0xff,0xf8,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x7,0xff,0xff,0xff,0x80,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x3f,0xff,0xff,0xff,0x0, +0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x1,0xf8,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x7f,0xff,0xff,0xfe,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xe0,0x0,0x1f,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x3,0xff,0xff,0xff,0xf8,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x7,0xff,0xff,0xff,0xc0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0x7f,0xff,0xff,0xfe,0x0, +0x0,0x7,0xff,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x3,0xfc,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0,0x0,0x7f,0xff,0xff,0xff,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xe0,0x0,0x1f,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x7,0xff,0xff,0xff,0xf8,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x3,0xff,0xff,0xff,0xc0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x0,0xff,0xff,0xff,0xfe,0x0, +0x0,0x1f,0xff,0xc0,0x0,0x0,0xff,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xff,0x80,0x0,0x0,0x1f,0xff,0xff,0xff,0xc0,0x0,0xf,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0xf,0xff,0xff,0xff,0xf0,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x3,0xff,0xff,0xff,0xe0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xfc,0x0, +0x0,0x7f,0xff,0xf8,0x0,0x0,0x3f,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xc0,0x0,0x0,0x0,0x7f,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xff,0xc0,0x0,0x0,0x3f,0xff,0xff,0xff,0xc0,0x0,0x7,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x3f,0xff,0xff,0xff,0xf0,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x1,0xff,0xff,0xff,0xe0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x7,0xff,0xff,0xff,0xfc,0x0, +0x1,0xff,0xff,0xfc,0x0,0x0,0xf,0xff,0xff,0xff,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xf0,0x0,0x0,0x0,0xff,0xff,0xff,0xf0,0x0,0x1f,0xff,0xff,0xff,0xe0,0x0,0x0,0x7f,0xff,0xff,0xff,0x80,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0xff,0xff,0xff,0xff,0xe0,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0xff,0xff,0xff,0xf0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x1f,0xff,0xff,0xff,0xf8,0x0, +0x3,0xff,0xff,0xfe,0x0,0x0,0x7,0xff,0xff,0xff,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xfe,0x0,0x0,0x1,0xff,0xff,0xff,0xe0,0x0,0x1f,0xff,0xff,0xff,0xf8,0x0,0x1,0xff,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xfc,0x0,0x3,0xff,0xff,0xff,0xff,0xe0,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0xff,0xff,0xff,0xf0,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x0,0x7f,0xff,0xff,0xff,0xf8,0x0, +0x7,0xff,0xff,0xff,0x0,0x0,0x1,0xff,0xff,0xfe,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xc0,0x0,0x7,0xff,0xff,0xff,0xe0,0x0,0xf,0xff,0xff,0xff,0xfc,0x0,0x3,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xfc,0x0,0x1f,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x7f,0xff,0xff,0xf8,0x0,0x0,0xf,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0x80,0x3,0xff,0xff,0xff,0xff,0xf0,0x0, +0xf,0xff,0xff,0xff,0x80,0x0,0x0,0x7f,0xff,0xfe,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0x81,0xff,0xff,0xff,0xff,0xe0,0x0,0xf,0xff,0xff,0xff,0xff,0xf0,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x7f,0xff,0xff,0xfc,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0, +0x1f,0xff,0xff,0xff,0xc0,0x0,0x0,0x1f,0xff,0xfc,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xfc,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0, +0x1f,0xff,0xff,0xff,0xc0,0x0,0x0,0xf,0xff,0xfc,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x3f,0xff,0xff,0xfe,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0, +0x3f,0xff,0xff,0xff,0xe0,0x0,0x0,0x3,0xff,0xf8,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x1f,0xff,0xff,0xfe,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0, +0x3f,0xff,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x1f,0xff,0xff,0xff,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0, +0x7f,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x3f,0xe0,0x0,0x0,0x1,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0xf,0xff,0xff,0xff,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0, +0x7f,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x1f,0x80,0x0,0x0,0x3,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0xf,0xff,0xff,0xff,0x80,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0, +0x7f,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x6,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x7,0xff,0xff,0xff,0x80,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0, +0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x7,0xff,0xff,0xff,0xc0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0, +0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x3,0xff,0xff,0xff,0xe0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0, +0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x3,0xff,0xff,0xff,0xe0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0, +0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xf0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0, +0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x1,0xff,0xff,0xff,0xf8,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0, +0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0xff,0xff,0xff,0xf8,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0, +0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0xff,0xff,0xff,0xf8,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0, +0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x7f,0xff,0xff,0xfc,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0, +0x7f,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x3f,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0, +0x7f,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x3f,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0, +0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0, +0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0, +0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xfe,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0x80,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x3,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0, +0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x3f,0xff,0xff,0xf0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0x80,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x1,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0, +0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x7f,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xff,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xff,0xff,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +}; \ No newline at end of file diff --git a/examples/Inkplate6PLUS/Basic/Inkplate6PLUS_Grayscale/image.h b/examples/Inkplate6PLUS/Basic/Inkplate6PLUS_Grayscale/image.h index 9b74fb13..0895394a 100644 --- a/examples/Inkplate6PLUS/Basic/Inkplate6PLUS_Grayscale/image.h +++ b/examples/Inkplate6PLUS/Basic/Inkplate6PLUS_Grayscale/image.h @@ -1,5 +1,8 @@ -//Array that holds data for grayscale image of 500x332 pixels. You can convert your own image using Inkplate Image Converter. -//Image source: https://www.peakpx.com/583083/grayscale-photo-of-lighthouse +/* + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases +*/ const uint8_t picture1[] = { 0x88, 0x88, 0x99, 0x99, 0x99, 0x99, 0x99, 0x98, 0x88, 0x88, 0x88, 0x99, 0x99, 0x99, 0x99, 0x98, 0x88, 0x88, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xab, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xab, 0xbb, 0xbb, 0xbb, 0xbb, 0xbc, 0xcb, 0xbc, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xbb, 0xba, 0xaa, 0xaa, 0x99, 0x99, 0x89, 0x88, 0x88, 0x88, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x66, 0x66, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x78, 0x88, 0x87, 0x88, 0x88, 0x88, 0x88, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0xa9, 0x99, 0x99, 0xaa, 0xab, 0xba, 0xaa, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xbb, 0xbb, 0xbc, 0xcc, 0xcc, 0xcb, 0xbb, 0xbb, 0xbb, 0xaa, 0xaa, 0x9a, 0xaa, 0xaa, 0xaa, 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, 0x99, 0x99, 0x98, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x88, 0x89, 0x88, 0x88, 0x88, 0x88, 0x88, 0x99, 0x88, 0x88, 0x88, 0x89, 0x99, 0x99, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xab, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xab, 0xba, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xa9, 0x9a, 0xaa, 0xaa, 0xba, 0xaa, 0xba, 0x9a, 0xba, 0xaa, 0xa9, 0x98, 0x88, 0x87, 0x77, 0x88, 0x88, 0x77, 0x88, 0x88, 0x88, 0x87, 0x88, 0x88, 0x78, 0x88, 0x87, 0x77, 0x77, 0x88, 0x88, 0x99, 0x99, 0x99, 0x99, 0x99, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x99, 0x99, 0x99, 0x88, 0x88, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x9a, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xab, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xab, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcb, 0xbb, 0xaa, 0xaa, 0x99, 0x99, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x66, 0x67, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x67, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x9a, 0x99, 0x9a, 0xa9, 0xaa, 0xaa, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xba, 0xbb, 0xba, 0xab, 0xbb, 0xbb, 0xbb, 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xab, 0xbb, 0xbb, 0xbc, 0xcc, 0xcc, 0xcc, 0xcb, 0xbb, 0xba, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x9a, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x99, 0x99, 0x88, 0x88, 0x88, 0x99, 0x99, 0x99, 0x99, 0x88, 0x89, 0x98, 0x88, 0x88, 0x88, 0x88, 0x88, 0x99, 0x99, 0x99, 0x99, 0x99, 0x9a, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xab, 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, 0x9a, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xba, 0xaa, 0xaa, 0xaa, 0xaa, 0x99, 0xa9, 0x99, 0xaa, 0x99, 0x99, 0x9a, 0xa9, 0xaa, 0xa9, 0x88, 0x88, 0x77, 0x77, 0x87, 0x77, 0x77, 0x77, 0x77, 0x77, 0x76, 0x67, 0x77, 0x88, 0x77, 0x77, 0x66, 0x66, diff --git a/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_Crypto_Currency_Checker/Inkplate6PLUS_Crypto_Currency_Checker.ino b/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_Crypto_Currency_Checker/Inkplate6PLUS_Crypto_Currency_Checker.ino index fb865bf2..bd503116 100644 --- a/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_Crypto_Currency_Checker/Inkplate6PLUS_Crypto_Currency_Checker.ino +++ b/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_Crypto_Currency_Checker/Inkplate6PLUS_Crypto_Currency_Checker.ino @@ -3,6 +3,11 @@ #error "Wrong board selection for this example, please select e-radionica Inkplate 6PLUS or Soldered Inkplate 6PLUS in the boards menu." #endif +/* + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases + */ #include "Crypto_UI.h" #include "Icons/bnc.h" #include "Icons/btc.h" @@ -33,7 +38,7 @@ int timeZone = 2; // Put in your ssid and password char ssid[] = ""; char pass[] = ""; - +#define DELAY_WIFI_RETRY_SECONDS 5 // OPTIONAL: // change to a different currency char currency[32] = "bitcoin"; @@ -45,6 +50,8 @@ double data[3]; // Variables for storing all displayed data as char arrays char date[64]; +void setTime(); + void setup() { Serial.begin(115200); @@ -64,7 +71,30 @@ void setup() Serial.println("Touchscreen init failed!"); } - network.begin(); + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(ssid, pass, WIFI_TIMEOUT, true)) + { + // Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(3); + // Set the cursor positions and print the text. + display.setCursor((display.width() / 2) - 200, display.height() / 2); + display.print(F("Unable to connect to ")); + display.println(F(ssid)); + display.setCursor((display.width() / 2) - 200, (display.height() / 2) + 30); + display.println(F("Please check ssid and pass!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(1000L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } + + // After connecting to WiFi we need to get internet time from NTP server + setTime(); getCoinPrices(); @@ -76,6 +106,26 @@ void loop() keysEvents(); } +// Function for getting time from NTP server +void setTime() +{ + // Structure used to hold time information + struct tm timeInfo; + time_t nowSec; + // Fetch current time in epoch format and store it + display.getNTPEpoch(&nowSec); + // This loop ensures that the NTP time fetched is valid and beyond a certain threshold + while (nowSec < 8 * 3600 * 2) + { + delay(500); + yield(); + display.getNTPEpoch(&nowSec); + } + gmtime_r(&nowSec, &timeInfo); + Serial.print(F("Current time: ")); + Serial.print(asctime(&timeInfo)); +} + void keysEvents() { if (display.touchInArea(30, 610, 400, 80)) // Refresh Screen diff --git a/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_Crypto_Currency_Checker/Network.cpp b/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_Crypto_Currency_Checker/Network.cpp index 411d1064..77c44425 100644 --- a/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_Crypto_Currency_Checker/Network.cpp +++ b/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_Crypto_Currency_Checker/Network.cpp @@ -58,9 +58,6 @@ void Network::begin() } } Serial.println(F(" connected")); - - // Find internet time - setTime(); } // Gets time from ntp server @@ -185,29 +182,3 @@ bool Network::getData(double *data) return !f; } - -// Function for initial time setting ovet the ntp server -void Network::setTime() -{ - // Used for setting correct time - configTime(0, 0, "pool.ntp.org", "time.nist.gov"); - - Serial.print(F("Waiting for NTP time sync: ")); - time_t nowSecs = time(nullptr); - while (nowSecs < 8 * 3600 * 2) - { - delay(500); - Serial.print(F(".")); - yield(); - nowSecs = time(nullptr); - } - - Serial.println(); - - // Used to store time info - struct tm timeinfo; - gmtime_r(&nowSecs, &timeinfo); - - Serial.print(F("Current time: ")); - Serial.print(asctime(&timeinfo)); -} diff --git a/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_Crypto_Currency_Checker/Network.h b/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_Crypto_Currency_Checker/Network.h index 976c27ce..543adc82 100644 --- a/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_Crypto_Currency_Checker/Network.h +++ b/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_Crypto_Currency_Checker/Network.h @@ -41,8 +41,6 @@ class Network bool getData(double *data); private: - // Functions called from within our class - void setTime(); }; #endif diff --git a/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_Crypto_Currency_Tracker/Inkplate6PLUS_Crypto_Currency_Tracker.ino b/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_Crypto_Currency_Tracker/Inkplate6PLUS_Crypto_Currency_Tracker.ino index 188ab466..f592d415 100644 --- a/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_Crypto_Currency_Tracker/Inkplate6PLUS_Crypto_Currency_Tracker.ino +++ b/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_Crypto_Currency_Tracker/Inkplate6PLUS_Crypto_Currency_Tracker.ino @@ -35,6 +35,7 @@ char pass[] = ""; // Delay between API calls in miliseconds #define DELAY_MS 3 * 60 * 1000 +#define DELAY_WIFI_RETRY_SECONDS 5 // OPTIONAL: // change to a different currency @@ -114,6 +115,7 @@ textElement elements[] = { // Our functions declared below setup and loop void drawGraph(); void drawAll(); +void setTime(); void setup() { @@ -134,25 +136,45 @@ void setup() display.setTextWrap(false); display.setTextColor(0, 7); - // Our begin function - network.begin(); - - // Do a new network request - Serial.print("Retrying retriving data "); - while (!network.getData(data)) - { - Serial.print('.'); - delay(1000); - } - - // Our main drawing function - drawAll(); - - // Time drawing function - drawTime(); - - // Full refresh + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(ssid, pass, WIFI_TIMEOUT, true)) + { + // Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(3); + // Set the cursor positions and print the text. + display.setCursor((display.width() / 2) - 200, display.height() / 2); + display.print(F("Unable to connect to ")); + display.println(F(ssid)); + display.setCursor((display.width() / 2) - 200, (display.height() / 2) + 30); + display.println(F("Please check ssid and pass!")); + // Display the error message on the Inkplate and go to deep sleep display.display(); + esp_sleep_enable_timer_wakeup(1000L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } + + setTime(); + // Do a new network request + Serial.print("Retrying retriving data "); + while (!network.getData(data)) + { + Serial.print('.'); + delay(1000); + } + + // Our main drawing function + drawAll(); + + // Time drawing function + drawTime(); + + // Full refresh + display.display(); goToSleep(); @@ -164,6 +186,26 @@ void loop() // Nothing here as we're using deep sleep } +// Function for getting time from NTP server +void setTime() +{ + // Structure used to hold time information + struct tm timeInfo; + time_t nowSec; + // Fetch current time in epoch format and store it + display.getNTPEpoch(&nowSec); + // This loop ensures that the NTP time fetched is valid and beyond a certain threshold + while (nowSec < 8 * 3600 * 2) + { + delay(500); + yield(); + display.getNTPEpoch(&nowSec); + } + gmtime_r(&nowSec, &timeInfo); + Serial.print(F("Current time: ")); + Serial.print(asctime(&timeInfo)); +} + void goToSleep() { Serial.println("Going to sleep..."); diff --git a/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_Daily_Weather_Station/Inkplate6PLUS_Daily_Weather_Station.ino b/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_Daily_Weather_Station/Inkplate6PLUS_Daily_Weather_Station.ino index 3c3ca2fd..9b515d4f 100644 --- a/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_Daily_Weather_Station/Inkplate6PLUS_Daily_Weather_Station.ino +++ b/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_Daily_Weather_Station/Inkplate6PLUS_Daily_Weather_Station.ino @@ -15,6 +15,10 @@ Want to learn more about Inkplate? Visit www.inkplate.io Looking to get support? Write on our forums: https://forum.soldered.com/ 11 February 2021 by Soldered + + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases */ // Next 3 lines are a precaution, you can ignore those, and the example would also work without them @@ -57,6 +61,7 @@ char apiKey[] = ""; // Delay between API calls, about 1000 per month, which is the free tier limit #define DELAY_MS 267800L +#define DELAY_WIFI_RETRY_SECONDS 5 // Inkplate object Inkplate display(INKPLATE_1BIT); @@ -115,6 +120,7 @@ void drawTime(); void drawCurrent(); void drawCity(); void drawTemps(); +void setTime(); void setup() { @@ -125,7 +131,29 @@ void setup() //display.setInkplatePowerMode(INKPLATE_USB_PWR_ONLY); display.begin(); - network.begin(ssid, pass); + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(ssid, pass, WIFI_TIMEOUT, true)) + { + //Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(3); + // Set the cursor positions and print the text. + display.setCursor((display.width() / 2) - 200, display.height() / 2); + display.print(F("Unable to connect to ")); + display.println(F(ssid)); + display.setCursor((display.width() / 2) - 200, (display.height() / 2) + 30); + display.println(F("Please check ssid and pass!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(100L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } + + setTime(); // Get all relevant data, see Network.cpp for info network.getData(lat, lon, apiKey, city, temps[0], temps[1], temps[2], temps[3], currentTemp, currentWind, currentTime, @@ -153,6 +181,28 @@ void loop() // Never here } +// Function for getting time from NTP server +void setTime() +{ + // Structure used to hold time information + struct tm timeInfo; + display.getNTPDateTime(&timeInfo); + time_t nowSec; + // Fetch current time in epoch format and store it + display.getNTPEpoch(&nowSec); + // This loop ensures that the NTP time fetched is valid and beyond a certain threshold + while (nowSec < 8 * 3600 * 2) + { + delay(500); + yield(); + display.getNTPEpoch(&nowSec); + } + gmtime_r(&nowSec, &timeInfo); + Serial.print(F("Current time: ")); + Serial.print(asctime(&timeInfo)); +} + + // Function for drawing weather info void drawWeather() { diff --git a/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_Daily_Weather_Station/Network.cpp b/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_Daily_Weather_Station/Network.cpp index fc0e840c..76ee3ed5 100644 --- a/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_Daily_Weather_Station/Network.cpp +++ b/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_Daily_Weather_Station/Network.cpp @@ -43,9 +43,6 @@ void Network::begin(char *ssid, char *pass) } } Serial.println(F(" connected")); - - // Find internet time - setTime(); } // Gets time from ntp server @@ -227,32 +224,6 @@ bool Network::getData(char *lat, char *lon, char *apiKey, char *city, char *temp return 1; } -void Network::setTime() -{ - // Used for setting correct time - configTime(0, 0, "pool.ntp.org", "time.nist.gov"); - - Serial.print(F("Waiting for NTP time sync: ")); - time_t nowSecs = time(nullptr); - while (nowSecs < 8 * 3600 * 2) - { - // Print a dot every half a second while time is not set - delay(500); - Serial.print(F(".")); - yield(); - nowSecs = time(nullptr); - } - - Serial.println(); - - // Used to store time info - struct tm timeinfo; - gmtime_r(&nowSecs, &timeinfo); - - Serial.print(F("Current time: ")); - Serial.print(asctime(&timeinfo)); -} - void Network::getDays(char *day, char *day1, char *day2, char *day3) { // Seconds since 1.1.1970. diff --git a/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_Daily_Weather_Station/Network.h b/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_Daily_Weather_Station/Network.h index 7a8de194..4d2ab4e2 100644 --- a/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_Daily_Weather_Station/Network.h +++ b/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_Daily_Weather_Station/Network.h @@ -46,8 +46,6 @@ class Network int location = -1; private: - // Functions called from within our class - void setTime(); int timeZone = 0; }; diff --git a/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_Google_Calendar/Inkplate6PLUS_Google_Calendar.ino b/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_Google_Calendar/Inkplate6PLUS_Google_Calendar.ino index a66ad1bf..315ed0a3 100644 --- a/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_Google_Calendar/Inkplate6PLUS_Google_Calendar.ino +++ b/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_Google_Calendar/Inkplate6PLUS_Google_Calendar.ino @@ -55,6 +55,7 @@ int timeZone = 2; // Delay between API calls #define DELAY_MS 4 * 60000 +#define DELAY_WIFI_RETRY_SECONDS 5 // Variables to keep count of when to get new data, and when to just update time RTC_DATA_ATTR unsigned int refreshes = 0; @@ -110,7 +111,29 @@ void setup() display.setTextColor(0, 7); // Connect Inkplate to the WiFi network - network.begin(ssid, pass); + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(ssid, pass, WIFI_TIMEOUT, true)) + { + //Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(3); + // Set the cursor positions and print the text. + display.setCursor((display.width() / 2) - 200, display.height() / 2); + display.print(F("Unable to connect to ")); + display.println(F(ssid)); + display.setCursor((display.width() / 2) - 200, (display.height() / 2) + 30); + display.println(F("Please check SSID and PASS!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(1000L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } + + setTime(); // Get the data from Google Calendar // Repeat attempts until data is fully downloaded @@ -145,6 +168,27 @@ void loop() // Never here } +// Function to get the time from NTP server +void setTime() +{ + // Structure used to hold time information + struct tm timeInfo; + // Fetch current time from an NTP server and store it + time_t nowSec; + // Fetch current time in epoch format and store it + display.getNTPEpoch(&nowSec); + // This loop ensures that the NTP time fetched is valid and beyond a certain threshold + while(nowSec < 8 * 3600 * 2) + { + delay(500); + yield(); + display.getNTPEpoch(&nowSec); + } + gmtime_r(&nowSec, &timeInfo); + Serial.print(F("Current time: ")); + Serial.print(asctime(&timeInfo)); +} + // Function for drawing calendar info void drawInfo() { @@ -461,6 +505,10 @@ void drawData() &entries[entriesNum].timeStamp); } ++entriesNum; + if(entriesNum == 128) + { + break; + } } // Sort entries by time diff --git a/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_Google_Calendar/Network.cpp b/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_Google_Calendar/Network.cpp index 87a66fa1..66b16791 100644 --- a/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_Google_Calendar/Network.cpp +++ b/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_Google_Calendar/Network.cpp @@ -43,8 +43,6 @@ void Network::begin(char *ssid, char *pass) } Serial.println(F(" connected")); - // Find and print internet time, the timezone will be added later - setTime(); } // Gets time from ntp server @@ -141,29 +139,3 @@ bool Network::getData(char *calendarURL, char *data) return !f; } - -// Find internet time -void Network::setTime() -{ - // Used for setting correct time - configTime(0, 0, "pool.ntp.org", "time.nist.gov"); - - Serial.print(F("Waiting for NTP time sync: ")); - time_t nowSecs = time(nullptr); - while (nowSecs < 8 * 3600 * 2) - { - delay(500); - Serial.print(F(".")); - yield(); - nowSecs = time(nullptr); - } - Serial.println(); - - // Used to store time info - struct tm timeinfo; - gmtime_r(&nowSecs, &timeinfo); - - // Print the current time without adding a timezone - Serial.print(F("Current time: ")); - Serial.print(asctime(&timeinfo)); -} diff --git a/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_Google_Calendar/Network.h b/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_Google_Calendar/Network.h index 5449b75f..ffadefcb 100644 --- a/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_Google_Calendar/Network.h +++ b/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_Google_Calendar/Network.h @@ -35,8 +35,6 @@ class Network bool getData(char *calendarURL, char *data); private: - // Functions called from within our class - void setTime(); }; #endif diff --git a/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_Hourly_Weather_Station/Inkplate6PLUS_Hourly_Weather_Station.ino b/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_Hourly_Weather_Station/Inkplate6PLUS_Hourly_Weather_Station.ino index 97204df1..fda676bd 100644 --- a/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_Hourly_Weather_Station/Inkplate6PLUS_Hourly_Weather_Station.ino +++ b/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_Hourly_Weather_Station/Inkplate6PLUS_Hourly_Weather_Station.ino @@ -15,6 +15,10 @@ Want to learn more about Inkplate? Visit www.inkplate.io Looking to get support? Write on our forums: https://forum.soldered.com/ 11 February 2021 by Soldered + + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases */ // Next 3 lines are a precaution, you can ignore those, and the example would also work without them @@ -63,6 +67,7 @@ char apiKey[] = ""; // Delay between API calls, about 1000 per month, which is the free tier limit #define DELAY_MS 267800L +#define DELAY_WIFI_RETRY_SECONDS 5 // Inkplate object Inkplate display(INKPLATE_1BIT); @@ -125,6 +130,7 @@ void drawCurrent(); void drawTemps(); void drawCity(); void drawTime(); +void setTime(); void setup() { @@ -135,8 +141,30 @@ void setup() //display.setInkplatePowerMode(INKPLATE_USB_PWR_ONLY); display.begin(); - // Calling our begin from network.h file - network.begin(city); + // Connect Inkplate to the WiFi network + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(ssid, pass, WIFI_TIMEOUT, true)) + { + //Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(3); + // Set the cursor positions and print the text. + display.setCursor((display.width() / 2) - 200, display.height() / 2); + display.print(F("Unable to connect to ")); + display.println(F(ssid)); + display.setCursor((display.width() / 2) - 200, (display.height() / 2) + 30); + display.println(F("Please check SSID and PASS!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(1000L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } + + setTime(); // Get all relevant data, see Network.cpp for info network.getTime(currentTime); @@ -177,6 +205,27 @@ void loop() // nothing here } + +// Function for getting time from NTP server +void setTime() +{ + // Structure used to hold time information + struct tm timeInfo; + time_t nowSec; + // Fetch current time in epoch format and store it + display.getNTPEpoch(&nowSec); + // This loop ensures that the NTP time fetched is valid and beyond a certain threshold + while (nowSec < 8 * 3600 * 2) + { + delay(500); + yield(); + display.getNTPEpoch(&nowSec); + } + gmtime_r(&nowSec, &timeInfo); + Serial.print(F("Current time: ")); + Serial.print(asctime(&timeInfo)); +} + // Function for drawing weather info void drawWeather() { diff --git a/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_Hourly_Weather_Station/Network.cpp b/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_Hourly_Weather_Station/Network.cpp index b77bb0f8..b3a7f43a 100644 --- a/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_Hourly_Weather_Station/Network.cpp +++ b/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_Hourly_Weather_Station/Network.cpp @@ -53,9 +53,6 @@ void Network::begin(char *city) } Serial.println(F(" connected")); - // Find internet time - setTime(); - // reduce power by making WiFi module sleep WiFi.setSleep(1); } @@ -227,32 +224,6 @@ bool Network::getData(char *city, char *temp1, char *temp2, char *temp3, char *t return !f; } -void Network::setTime() -{ - // Used for setting correct time - configTime(0, 0, "pool.ntp.org", "time.nist.gov"); - - Serial.print(F("Waiting for NTP time sync: ")); - time_t nowSecs = time(nullptr); - while (nowSecs < 8 * 3600 * 2) - { - // Print a dot every half a second while time is not set - delay(500); - Serial.print(F(".")); - yield(); - nowSecs = time(nullptr); - } - - Serial.println(); - - // Used to store time info - struct tm timeinfo; - gmtime_r(&nowSecs, &timeinfo); - - Serial.print(F("Current time: ")); - Serial.print(asctime(&timeinfo)); -} - void Network::getHours(char *hour1, char *hour2, char *hour3, char *hour4) { // Format hours info diff --git a/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_Hourly_Weather_Station/Network.h b/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_Hourly_Weather_Station/Network.h index 09ec7b79..ac0c179f 100644 --- a/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_Hourly_Weather_Station/Network.h +++ b/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_Hourly_Weather_Station/Network.h @@ -57,8 +57,6 @@ class Network time_t dataEpoch = 0; private: - // Functions called from within our class - void setTime(); }; #endif diff --git a/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_News_API/Inkplate6PLUS_News_API.ino b/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_News_API/Inkplate6PLUS_News_API.ino index 3c3053e5..9cfc4d43 100644 --- a/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_News_API/Inkplate6PLUS_News_API.ino +++ b/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_News_API/Inkplate6PLUS_News_API.ino @@ -53,6 +53,7 @@ Inkplate display(INKPLATE_1BIT); // Delay between API calls in miliseconds (first 60 represents minutes so you can change to your need) #define DELAY_MS (uint32_t)60 * 60 * 1000 +#define DELAY_WIFI_RETRY_SECONDS 5 // Variable for counting partial refreshes RTC_DATA_ATTR unsigned refreshes = 0; @@ -60,6 +61,8 @@ RTC_DATA_ATTR unsigned refreshes = 0; // Constant to determine when to full update const int fullRefresh = 20; +void setTime(); + void setup() { // Begin serial communitcation, sed for debugging @@ -71,8 +74,30 @@ void setup() display.begin(); display.setTextWrap(false); - // Our begin function - network.begin(); + // Connect Inkplate to the WiFi network + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(ssid, pass, WIFI_TIMEOUT, true)) + { + //Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(3); + // Set the cursor positions and print the text. + display.setCursor((display.width() / 2) - 200, display.height() / 2); + display.print(F("Unable to connect to ")); + display.println(F(ssid)); + display.setCursor((display.width() / 2) - 200, (display.height() / 2) + 30); + display.println(F("Please check SSID and PASS!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(1000L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } + + setTime(); struct news *entities; @@ -153,6 +178,26 @@ void drawNews(struct news *entities) } +// Function for getting time from NTP server +void setTime() +{ + // Structure used to hold time information + struct tm timeInfo; + time_t nowSec; + // Fetch current time in epoch format and store it + display.getNTPEpoch(&nowSec); + // This loop ensures that the NTP time fetched is valid and beyond a certain threshold + while (nowSec < 8 * 3600 * 2) + { + delay(500); + yield(); + nowSec = time(nullptr); + } + gmtime_r(&nowSec, &timeInfo); + Serial.print(F("Current time: ")); + Serial.print(asctime(&timeInfo)); +} + void loop() { // Never here diff --git a/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_News_API/Network.cpp b/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_News_API/Network.cpp index a1e810dc..71e8a03b 100644 --- a/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_News_API/Network.cpp +++ b/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_News_API/Network.cpp @@ -60,9 +60,6 @@ void Network::begin() } } Serial.println(F(" connected")); - - // Find internet time - setTime(); } // Gets time from ntp server @@ -211,29 +208,3 @@ struct news* Network::getData() return ent; } - -// Function for initial time setting ovet the ntp server -void Network::setTime() -{ - // Used for setting correct time - configTime(0, 0, "pool.ntp.org", "time.nist.gov"); - - Serial.print(F("Waiting for NTP time sync: ")); - time_t nowSecs = time(nullptr); - while (nowSecs < 8 * 3600 * 2) - { - delay(500); - Serial.print(F(".")); - yield(); - nowSecs = time(nullptr); - } - - Serial.println(); - - // Used to store time info - struct tm timeinfo; - gmtime_r(&nowSecs, &timeinfo); - - Serial.print(F("Current time: ")); - Serial.print(asctime(&timeinfo)); -} diff --git a/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_News_API/Network.h b/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_News_API/Network.h index c6fcba3b..990c855b 100644 --- a/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_News_API/Network.h +++ b/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_News_API/Network.h @@ -52,8 +52,6 @@ class Network struct news* getData(); private: - // Functions called from within our class - void setTime(); }; #endif diff --git a/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_OpenWeather_Station/Inkplate6PLUS_OpenWeather_Station.ino b/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_OpenWeather_Station/Inkplate6PLUS_OpenWeather_Station.ino index 3f96860c..10041887 100644 --- a/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_OpenWeather_Station/Inkplate6PLUS_OpenWeather_Station.ino +++ b/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_OpenWeather_Station/Inkplate6PLUS_OpenWeather_Station.ino @@ -17,6 +17,10 @@ 11 February 2021 by Soldered Code for Moonphase and moon fonts taken from here: https://learn.adafruit.com/epaper-weather-station/arduino-setup + + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases */ // Next 3 lines are a precaution, you can ignore those, and the example would also work without them @@ -40,6 +44,8 @@ #include "OpenWeatherOneCall.h" #define SSID "" #define PASS "" +// Variable to store WiFi connection timeout +int timeoutSeconds = 100; // Openweather API key /** @@ -77,6 +83,8 @@ bool metric = true; //<------------------------------TRUE is METRIC, FALSE is IM // Delay between API calls #define DELAY_MS 59000 +#define DELAY_WIFI_RETRY_SECONDS 5 +#define DELAY_API_RETRY_SECONDS 5 // Inkplate object Inkplate display(INKPLATE_1BIT); @@ -124,33 +132,6 @@ char Output[200] = {0}; OpenWeatherOneCall OWOC; // Invoke OpenWeather Library time_t t = now(); -void connectWifi() -{ - - int ConnectCount = 20; - - if (WiFi.status() != WL_CONNECTED) - { - while (WiFi.status() != WL_CONNECTED) - { - if (ConnectCount++ == 20) - { - Serial.println("Connect WiFi"); - WiFi.begin(SSID, PASS); - Serial.print("Connecting."); - ConnectCount = 0; - } - Serial.print("."); - delay(1260); - } - Serial.print("\nConnected to: "); - Serial.println(SSID); - Serial.println("IP address: "); - Serial.println(WiFi.localIP()); - Serial.println("Connected WiFi"); - } -} //======================== END WIFI CONNECT ======================= - void GetCurrentWeather() { //================================= @@ -250,36 +231,64 @@ void setup() } Serial.println("Serial Monitor Initialized"); - // Uncomment this line if you have a USB Power Only Inkplate6PLUS - // Must be called before display.begin()! - //display.setInkplatePowerMode(INKPLATE_USB_PWR_ONLY); + // display.begin(); - connectWifi(); + // Initial cleaning of buffer and physical screen + display.clearDisplay(); + display.display(); + + // Welcome screen + display.setCursor(215, 400); + display.setTextSize(3); + display.print(F("Welcome to Wol Inkplate 6PLUS weather example!")); + display.display(); + Serial.println("Welcome to Wol Inkplate 6PLUS weather example!"); + display.display(); + + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(SSID, PASS, timeoutSeconds, true)) + { + // Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(3); + // Set the cursor positions and print the text. + display.setCursor((display.width() / 2) - 200, display.height() / 2); + display.print(F("Unable to connect to ")); + display.println(F(SSID)); + display.setCursor((display.width() / 2) - 200, (display.height() / 2) + 30); + display.println(F("Please check SSID and PASS!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(1260L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } // Check if we have a valid API key: Serial.println("Checking if API key is valid..."); - if(!checkIfAPIKeyIsValid(APIKEY)) + if (!checkIfAPIKeyIsValid(APIKEY)) { // If we don't, notify the user Serial.println("API key is invalid!"); display.clearDisplay(); - display.setCursor(0,0); + display.setCursor(0, 0); display.setTextSize(2); display.println("Can't get data from OpenWeatherMaps! Check your API key!"); display.println("Only older API keys for OneCall 2.5 work in free tier."); display.println("See the code comments the example for more info."); + // Display the error message on the Inkplate and go to deep sleep display.display(); - while(1) - { - delay(100); - } + esp_sleep_enable_timer_wakeup(1260L * DELAY_API_RETRY_SECONDS); + (void)esp_deep_sleep_start(); } Serial.println("API key is valid!"); // Clear display t = now(); - if ((minute(t) % 30) == 0) // Also returns 0 when time isn't set { GetCurrentWeather(); @@ -302,11 +311,10 @@ void setup() { } - ++refreshes; - // Go to sleep before checking again + ++refreshes; esp_sleep_enable_timer_wakeup(1260L * DELAY_MS); - (void)esp_light_sleep_start(); + (void)esp_deep_sleep_start(); } void loop() @@ -583,7 +591,7 @@ bool checkIfAPIKeyIsValid(char *APIKEY) bool failed = false; // Create the buffer for holding the API response, make it large enough just in case - char * data; + char *data; data = (char *)ps_malloc(50000LL); // Http object used to make GET request @@ -593,7 +601,7 @@ bool checkIfAPIKeyIsValid(char *APIKEY) http.getStream().setNoDelay(true); // Combine the base URL and the API key to do a test call - char * baseURL = "https://api.openweathermap.org/data/2.5/onecall?lat=45.560001&lon=18.675880&units=metric&appid="; + char *baseURL = "https://api.openweathermap.org/data/2.5/onecall?lat=45.560001&lon=18.675880&units=metric&appid="; char apiTestURL[200]; sprintf(apiTestURL, "%s%s", baseURL, APIKEY); @@ -601,7 +609,7 @@ bool checkIfAPIKeyIsValid(char *APIKEY) http.begin(apiTestURL); delay(300); - + // Download data until it's a verified complete download // Actually do request int httpCode = http.GET(); @@ -624,7 +632,8 @@ bool checkIfAPIKeyIsValid(char *APIKEY) data[n++] = 0; // If the reply constains this string - it's invalid - if(strstr(data, "Invalid API key.") != NULL) failed = true; + if (strstr(data, "Invalid API key.") != NULL) + failed = true; } else { diff --git a/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_Quotables/Inkplate6PLUS_Quotables.ino b/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_Quotables/Inkplate6PLUS_Quotables.ino index bdbb4a3e..a3b1bff7 100644 --- a/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_Quotables/Inkplate6PLUS_Quotables.ino +++ b/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_Quotables/Inkplate6PLUS_Quotables.ino @@ -55,6 +55,7 @@ Inkplate display(INKPLATE_1BIT); // Delay between API calls in seconds, 300 seconds is 5 minutes #define DELAY_S 300 +#define DELAY_WIFI_RETRY_SECONDS 5 // Our functions declared below setup and loop void drawAll(); @@ -77,7 +78,27 @@ void setup() display.setTextSize(3); // Our begin function - network.begin(); + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(ssid, pass, WIFI_TIMEOUT, true)) + { + //Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(3); + // Set the cursor positions and print the text. + display.setCursor((display.width() / 2) - 200, display.height() / 2); + display.print(F("Unable to connect to ")); + display.println(F(ssid)); + display.setCursor((display.width() / 2) - 200, (display.height() / 2) + 30); + display.println(F("Please check SSID and PASS!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(1000L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } while (!network.getData(quote, author)) { diff --git a/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_Youtube_Subscriber_Counter/Inkplate6PLUS_Youtube_Subscriber_Counter.ino b/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_Youtube_Subscriber_Counter/Inkplate6PLUS_Youtube_Subscriber_Counter.ino index 813d923e..e9deef11 100644 --- a/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_Youtube_Subscriber_Counter/Inkplate6PLUS_Youtube_Subscriber_Counter.ino +++ b/examples/Inkplate6PLUS/Projects/Inkplate6PLUS_Youtube_Subscriber_Counter/Inkplate6PLUS_Youtube_Subscriber_Counter.ino @@ -38,10 +38,16 @@ #include "Network.h" // Include header files +/* + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases +*/ #include "youtube_icon.h" // Delay between API calls in miliseconds (10 minutes) #define DELAY_MS 10 * 60 * 1000 +#define DELAY_WIFI_RETRY_SECONDS 5 // Create object with all networking functions Network network; @@ -127,8 +133,27 @@ void setup() delay(1000); } - // Our begin function - network.begin(ssid, pass); + // Try connecting to a WiFi network. + // Parameters are network SSID, password, timeout in seconds and whether to print to serial. + // If the Inkplate isn't able to connect to a network stop further code execution and print an error message. + if (!display.connectWiFi(ssid, pass, WIFI_TIMEOUT, true)) + { + //Can't connect to netowrk + // Clear display for the error message + display.clearDisplay(); + // Set the font size; + display.setTextSize(3); + // Set the cursor positions and print the text. + display.setCursor((display.width() / 2) - 200, display.height() / 2); + display.print(F("Unable to connect to ")); + display.println(F(ssid)); + display.setCursor((display.width() / 2) - 200, (display.height() / 2) + 30); + display.println(F("Please check SSID and PASS!")); + // Display the error message on the Inkplate and go to deep sleep + display.display(); + esp_sleep_enable_timer_wakeup(1000L * DELAY_WIFI_RETRY_SECONDS); + (void)esp_deep_sleep_start(); + } while (!network.getData(&channel, channel_id, api_key, &display)) { diff --git a/examples/Inkplate7/Advanced/DeepSleep/Inkplate7_Simple_Deep_Sleep/Inkplate7_Simple_Deep_Sleep.ino b/examples/Inkplate7/Advanced/DeepSleep/Inkplate7_Simple_Deep_Sleep/Inkplate7_Simple_Deep_Sleep.ino index e4b9854b..01865ed8 100644 --- a/examples/Inkplate7/Advanced/DeepSleep/Inkplate7_Simple_Deep_Sleep/Inkplate7_Simple_Deep_Sleep.ino +++ b/examples/Inkplate7/Advanced/DeepSleep/Inkplate7_Simple_Deep_Sleep/Inkplate7_Simple_Deep_Sleep.ino @@ -16,6 +16,10 @@ Want to learn more about Inkplate? Visit www.inkplate.io Looking to get support? Write on our forums: https://forum.soldered.com/ 25 April 2023 by Soldered + + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases */ // Next 3 lines are a precaution, you can ignore those, and the example would also work without them diff --git a/examples/Inkplate7/Advanced/Other/Inkplate7_Read_Battery_Voltage/Inkplate7_Read_Battery_Voltage.ino b/examples/Inkplate7/Advanced/Other/Inkplate7_Read_Battery_Voltage/Inkplate7_Read_Battery_Voltage.ino index 22772d53..d5fb49e9 100644 --- a/examples/Inkplate7/Advanced/Other/Inkplate7_Read_Battery_Voltage/Inkplate7_Read_Battery_Voltage.ino +++ b/examples/Inkplate7/Advanced/Other/Inkplate7_Read_Battery_Voltage/Inkplate7_Read_Battery_Voltage.ino @@ -10,6 +10,10 @@ Want to learn more about Inkplate? Visit www.inkplate.io Looking to get support? Write on our forums: https://forum.soldered.com/ 26 April 2023 by Soldered + + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases */ // Next 3 lines are a precaution, you can ignore those, and the example would also work without them diff --git a/examples/Inkplate7/Projects/Inkplate7_Daily_Weather_Station/Inkplate7_Daily_Weather_Station.ino b/examples/Inkplate7/Projects/Inkplate7_Daily_Weather_Station/Inkplate7_Daily_Weather_Station.ino index b2016b97..d4cbc9ca 100644 --- a/examples/Inkplate7/Projects/Inkplate7_Daily_Weather_Station/Inkplate7_Daily_Weather_Station.ino +++ b/examples/Inkplate7/Projects/Inkplate7_Daily_Weather_Station/Inkplate7_Daily_Weather_Station.ino @@ -20,6 +20,10 @@ Want to learn more about Inkplate? Visit www.inkplate.io Looking to get support? Write on our forums: https://forum.soldered.com/ 11 April 2023 by Soldered + + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases */ // Next 3 lines are a precaution, you can ignore those, and the example would also work without them diff --git a/examples/Inkplate7/Projects/Inkplate7_Hourly_Weather_Station/Inkplate7_Hourly_Weather_Station.ino b/examples/Inkplate7/Projects/Inkplate7_Hourly_Weather_Station/Inkplate7_Hourly_Weather_Station.ino index 036250a3..b9ae2feb 100644 --- a/examples/Inkplate7/Projects/Inkplate7_Hourly_Weather_Station/Inkplate7_Hourly_Weather_Station.ino +++ b/examples/Inkplate7/Projects/Inkplate7_Hourly_Weather_Station/Inkplate7_Hourly_Weather_Station.ino @@ -22,6 +22,10 @@ Want to learn more about Inkplate? Visit www.inkplate.io Looking to get support? Write on our forums: https://forum.soldered.com/ 3 Jul 2023 by Soldered + + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases */ // Next 3 lines are a precaution, you can ignore those, and the example would also work without them diff --git a/examples/Inkplate7/Projects/Inkplate7_OpenWeather_Station/Inkplate7_OpenWeather_Station.ino b/examples/Inkplate7/Projects/Inkplate7_OpenWeather_Station/Inkplate7_OpenWeather_Station.ino index 1553bfa5..245a303b 100644 --- a/examples/Inkplate7/Projects/Inkplate7_OpenWeather_Station/Inkplate7_OpenWeather_Station.ino +++ b/examples/Inkplate7/Projects/Inkplate7_OpenWeather_Station/Inkplate7_OpenWeather_Station.ino @@ -23,6 +23,10 @@ 3 Jul 2023 by Soldered Code for Moonphase and moon fonts taken from here: https://learn.adafruit.com/epaper-weather-station/arduino-setup + + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases */ // Next 3 lines are a precaution, you can ignore those, and the example would also work without them diff --git a/examples/Inkplate7/Projects/Inkplate7_Youtube_Subscriber_Counter/Inkplate7_Youtube_Subscriber_Counter.ino b/examples/Inkplate7/Projects/Inkplate7_Youtube_Subscriber_Counter/Inkplate7_Youtube_Subscriber_Counter.ino index 2cadb593..0a2fc509 100644 --- a/examples/Inkplate7/Projects/Inkplate7_Youtube_Subscriber_Counter/Inkplate7_Youtube_Subscriber_Counter.ino +++ b/examples/Inkplate7/Projects/Inkplate7_Youtube_Subscriber_Counter/Inkplate7_Youtube_Subscriber_Counter.ino @@ -19,6 +19,10 @@ Want to learn more about Inkplate? Visit www.inkplate.io Looking to get support? Write on our forums: https://forum.soldered.com/ 7 July 2023 by Soldered + + In order to convert your images into a format compatible with Inkplate + use the Soldered Image Converter available at: + https://github.com/SolderedElectronics/Soldered-Image-Converter/releases */ // Next 3 lines are a precaution, you can ignore those, and the example would also work without them diff --git a/src/include/ImageBMP.cpp b/src/include/ImageBMP.cpp index 9053685e..e2df5261 100644 --- a/src/include/ImageBMP.cpp +++ b/src/include/ImageBMP.cpp @@ -222,6 +222,11 @@ bool Image::drawBitmapFromWeb(const char *url, int x, int y, bool dither, bool i buf = downloadFileHTTPS(url, &defaultLen); } + // Image sometimes doesn't download, so + // check if buffer is empty to avoid trying to draw an empty image + if (!buf) + return 0; + ret = drawBitmapFromBuffer(buf, x, y, dither, invert); free(buf); @@ -251,6 +256,11 @@ bool Image::drawBitmapFromWeb(WiFiClient *s, int x, int y, int32_t len, bool dit bool ret = 0; uint8_t *buf = downloadFile(s, len); + // Image sometimes doesn't download, so + // check if buffer is empty to avoid trying to draw an empty image + if (!buf) + return 0; + ret = drawBitmapFromBuffer(buf, x, y, dither, invert); free(buf); @@ -513,6 +523,11 @@ bool Image::drawBmpFromWebAtPosition(const char *url, const Position &position, int32_t defaultLen = E_INK_WIDTH * E_INK_HEIGHT * 4 + 150; uint8_t *buf = downloadFileHTTPS(url, &defaultLen); + // Image sometimes doesn't download, so + // check if buffer is empty to avoid trying to draw an empty image + if (!buf) + return 0; + bitmapHeader bmpHeader; readBmpHeader(buf, &bmpHeader); diff --git a/src/include/ImageJPEG.cpp b/src/include/ImageJPEG.cpp index e7402cb6..9fa508aa 100644 --- a/src/include/ImageJPEG.cpp +++ b/src/include/ImageJPEG.cpp @@ -134,6 +134,11 @@ bool Image::drawJpegFromWeb(const char *url, int x, int y, bool dither, bool inv buf = downloadFileHTTPS(url, &defaultLen); } + // Image sometimes doesn't download, so + // check if buffer is empty to avoid trying to draw an empty image + if (!buf) + return 0; + ret = drawJpegFromBuffer(buf, defaultLen, x, y, dither, invert); free(buf); @@ -172,6 +177,11 @@ bool Image::drawJpegFromWebAtPosition(const char *url, const Position &position, buff = downloadFileHTTPS(url, &defaultLen); } + // Image sometimes doesn't download, so + // check if buffer is empty to avoid trying to draw an empty image + if (!buff) + return 0; + uint16_t w = 0; uint16_t h = 0; TJpgDec.setJpgScale(1); @@ -288,6 +298,12 @@ bool Image::drawJpegFromWeb(WiFiClient *s, int x, int y, int32_t len, bool dithe { bool ret = 0; uint8_t *buff = downloadFile(s, len); + + // Image sometimes doesn't download, so + // check if buffer is empty to avoid trying to draw an empty image + if (!buff) + return 0; + ret = drawJpegFromBuffer(buff, len, x, y, dither, invert); free(buff); diff --git a/src/include/ImagePNG.cpp b/src/include/ImagePNG.cpp index 4a96faea..1ddbd23f 100644 --- a/src/include/ImagePNG.cpp +++ b/src/include/ImagePNG.cpp @@ -233,6 +233,8 @@ bool Image::drawPngFromWeb(const char *url, int x, int y, bool dither, bool inve buf = downloadFileHTTPS(url, &defaultLen); } + // Image sometimes doesn't download, so + // check if buffer is empty to avoid trying to draw an empty image if (!buf) return 0; @@ -280,6 +282,8 @@ bool Image::drawPngFromWeb(WiFiClient *s, int x, int y, int32_t len, bool dither uint8_t *buff = downloadFile(s, len); + // Image sometimes doesn't download, so + // check if buffer is empty to avoid trying to draw an empty image if (!buff) return 0; @@ -325,6 +329,8 @@ bool Image::drawPngFromWebAtPosition(const char *url, const Position &position, int32_t defaultLen = E_INK_WIDTH * E_INK_HEIGHT * 4 + 100; uint8_t *buff = downloadFile(url, &defaultLen); + // Image sometimes doesn't download, so + // check if buffer is empty to avoid trying to draw an empty image if (!buff) return 0;