From ab38d30f5783e39ae7e7be9f5f4ec337370eddce Mon Sep 17 00:00:00 2001 From: 4D Systems Date: Tue, 15 Nov 2022 09:53:58 +1300 Subject: [PATCH] RAM Usage reduction + GPIO Speed Major reduction on RAM use and removal of Maximum widgets limit. Complete re-write of GRAM functions for slightly faster GPIO switching and future compatibility. More demos added. --- keywords.txt | 20 +- library.properties | 2 +- src/Examples/IoD16kSpectrumEmulator/Basic.h | 427 ++++ .../IoD16kSpectrumEmulator/Emulator.h | 382 +++ .../EMuKEYbapp.ico.deploy | Bin 0 -> 4286 bytes .../Emulator Keyboard App.application | 21 + .../Emulator Keyboard App.exe.config.deploy | 6 + .../Emulator Keyboard App.exe.deploy | Bin 0 -> 339936 bytes .../Emulator Keyboard App.exe.manifest | 75 + .../Emulator Keyboard App.application | 21 + .../Extra/EmulatorKeyboardApp/setup.exe | Bin 0 -> 553952 bytes .../IoD16kSpectrumEmulator/Extra/ReadMe.txt | 25 + .../IoD16kSpectrumEmulator.ino | 1452 ++++++++++++ .../IoD16kSpectrumEmulator/ReadMe.txt | 25 + src/Examples/IoD16kSpectrumEmulator/ZX6and7.h | 1126 +++++++++ src/Examples/IoD16kSpectrumEmulator/ZXenter.h | 598 +++++ .../IoD16kSpectrumEmulator/ZXrainbow.h | 496 ++++ src/Examples/IoD16kSpectrumEmulator/ZXx.h | 407 ++++ src/Examples/IoD16kSpectrumEmulator/codes.h | 387 +++ src/Examples/IoD16kSpectrumEmulator/codesCB.h | 204 ++ src/Examples/IoD16kSpectrumEmulator/codesED.h | 304 +++ .../IoD16kSpectrumEmulator/codesXCB.h | 64 + src/Examples/IoD16kSpectrumEmulator/codesXX.h | 396 ++++ src/Examples/IoD16kSpectrumEmulator/tables.h | 447 ++++ src/GFX4d.cpp | 2066 ++++++++--------- src/GFX4d.h | 1101 ++++----- src/keywords.txt | 20 +- 27 files changed, 8451 insertions(+), 1621 deletions(-) create mode 100644 src/Examples/IoD16kSpectrumEmulator/Basic.h create mode 100644 src/Examples/IoD16kSpectrumEmulator/Emulator.h create mode 100644 src/Examples/IoD16kSpectrumEmulator/Extra/EmulatorKeyboardApp/Application Files/Emulator Keyboard App_1_0_0_6/EMuKEYbapp.ico.deploy create mode 100644 src/Examples/IoD16kSpectrumEmulator/Extra/EmulatorKeyboardApp/Application Files/Emulator Keyboard App_1_0_0_6/Emulator Keyboard App.application create mode 100644 src/Examples/IoD16kSpectrumEmulator/Extra/EmulatorKeyboardApp/Application Files/Emulator Keyboard App_1_0_0_6/Emulator Keyboard App.exe.config.deploy create mode 100644 src/Examples/IoD16kSpectrumEmulator/Extra/EmulatorKeyboardApp/Application Files/Emulator Keyboard App_1_0_0_6/Emulator Keyboard App.exe.deploy create mode 100644 src/Examples/IoD16kSpectrumEmulator/Extra/EmulatorKeyboardApp/Application Files/Emulator Keyboard App_1_0_0_6/Emulator Keyboard App.exe.manifest create mode 100644 src/Examples/IoD16kSpectrumEmulator/Extra/EmulatorKeyboardApp/Emulator Keyboard App.application create mode 100644 src/Examples/IoD16kSpectrumEmulator/Extra/EmulatorKeyboardApp/setup.exe create mode 100644 src/Examples/IoD16kSpectrumEmulator/Extra/ReadMe.txt create mode 100644 src/Examples/IoD16kSpectrumEmulator/IoD16kSpectrumEmulator.ino create mode 100644 src/Examples/IoD16kSpectrumEmulator/ReadMe.txt create mode 100644 src/Examples/IoD16kSpectrumEmulator/ZX6and7.h create mode 100644 src/Examples/IoD16kSpectrumEmulator/ZXenter.h create mode 100644 src/Examples/IoD16kSpectrumEmulator/ZXrainbow.h create mode 100644 src/Examples/IoD16kSpectrumEmulator/ZXx.h create mode 100644 src/Examples/IoD16kSpectrumEmulator/codes.h create mode 100644 src/Examples/IoD16kSpectrumEmulator/codesCB.h create mode 100644 src/Examples/IoD16kSpectrumEmulator/codesED.h create mode 100644 src/Examples/IoD16kSpectrumEmulator/codesXCB.h create mode 100644 src/Examples/IoD16kSpectrumEmulator/codesXX.h create mode 100644 src/Examples/IoD16kSpectrumEmulator/tables.h diff --git a/keywords.txt b/keywords.txt index 557e01d..93669aa 100644 --- a/keywords.txt +++ b/keywords.txt @@ -10,23 +10,27 @@ # Methods and Functions (KEYWORD2) ####################################### -GFX4d KEYWORD1 +GFX4d KEYWORD1 +strWidth KEYWORD2 +charWidth KEYWORD2 +charHeight KEYWORD2 +imageGetWord KEYWORD2 GradientShape KEYWORD2 ButtonXstyle KEYWORD2 GetSliderValue KEYWORD2 DecodeKeypad KEYWORD2 -ResetKeypad KEYWORD2 +ResetKeypad KEYWORD2 KeypadStatus KEYWORD2 SpriteEnable KEYWORD2 SpriteSetPalette KEYWORD2 SpriteGetPalette KEYWORD2 SpriteTouched KEYWORD2 -SpriteInit KEYWORD2 -SpriteAdd KEYWORD2 +SpriteInit KEYWORD2 +SpriteAdd KEYWORD2 SpriteAreaSet KEYWORD2 GetSpriteImageNum KEYWORD2 -SetSprite KEYWORD2 -GetSprite KEYWORD2 +SetSprite KEYWORD2 +GetSprite KEYWORD2 GetSpritesAt KEYWORD2 SpriteGetPixel KEYWORD2 UpdateSprites KEYWORD2 @@ -151,6 +155,10 @@ getFontData KEYWORD2 # Constants (LITERAL1) ####################################### +IMAGE_XPOS LITERAL1 +IMAGE_YPOS LITERAL1 +IMAGE_WIDTH LITERAL1 +IMAGE_HEIGHT LITERAL1 GFX4d_RED LITERAL1 GFX4d_GREEN LITERAL1 GFX4d_BLUE LITERAL1 diff --git a/library.properties b/library.properties index 9f0e947..520aa93 100644 --- a/library.properties +++ b/library.properties @@ -1,5 +1,5 @@ name=GFX4d -version=1.0.7 +version=1.0.8 author=4D Systems Pty Ltd maintainer=4D Systems Pty Ltd sentence=Graphics Library for the gen4-IoD by 4D Systems diff --git a/src/Examples/IoD16kSpectrumEmulator/Basic.h b/src/Examples/IoD16kSpectrumEmulator/Basic.h new file mode 100644 index 0000000..81510d9 --- /dev/null +++ b/src/Examples/IoD16kSpectrumEmulator/Basic.h @@ -0,0 +1,427 @@ +/* + ld HL, 0 + ld bc,1 +inizio: + nop + nop + nop + ld (16384), HL + add hl,bc + jp inizio + + 0x21,0x00,0x00,0x01,0x01,0x00,0x00,0x00,0x00,0x22,0x00,0x58,0x09,0xc3,0x06,0x00, +*/ + +/*original zx spectrum rom*/ + + + 0xF3, 0xAF, 0x11, 0xFF, 0xFF, 0xC3, 0xCB, 0x11, 0x2A, 0x5D, 0x5C, 0x22, 0x5F, 0x5C, 0x18, 0x43, 0xC3, 0xF2, 0x15, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x2A, 0x5D, 0x5C, 0x7E, 0xCD, 0x7D, 0x00, 0xD0, 0xCD, 0x74, 0x00, 0x18, 0xF7, 0xFF, 0xFF, 0xFF, + 0xC3, 0x5B, 0x33, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x2A, 0x61, 0x5C, 0xE5, 0xC3, 0x9E, 0x16, 0xF5, 0xE5, 0x2A, 0x78, 0x5C, 0x23, 0x22, 0x78, 0x5C, 0x7C, 0xB5, 0x20, 0x03, 0xFD, 0x34, 0x40, 0xC5, 0xD5, 0xCD, 0xBF, 0x02, 0xD1, 0xC1, 0xE1, + 0xF1, 0xFB, 0xC9, 0xE1, 0x6E, 0xFD, 0x75, 0x00, 0xED, 0x7B, 0x3D, 0x5C, 0xC3, 0xC5, 0x16, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF5, 0xE5, 0x2A, 0xB0, 0x5C, 0x7C, 0xB5, 0x20, 0x01, 0xE9, 0xE1, 0xF1, 0xED, 0x45, 0x2A, 0x5D, 0x5C, 0x23, + 0x22, 0x5D, 0x5C, 0x7E, 0xC9, 0xFE, 0x21, 0xD0, 0xFE, 0x0D, 0xC8, 0xFE, 0x10, 0xD8, 0xFE, 0x18, 0x3F, 0xD8, 0x23, 0xFE, 0x16, 0x38, 0x01, 0x23, 0x37, 0x22, 0x5D, 0x5C, 0xC9, 0xBF, 0x52, 0x4E, 0xC4, 0x49, 0x4E, 0x4B, 0x45, 0x59, 0xA4, 0x50, + 0xC9, 0x46, 0xCE, 0x50, 0x4F, 0x49, 0x4E, 0xD4, 0x53, 0x43, 0x52, 0x45, 0x45, 0x4E, 0xA4, 0x41, 0x54, 0x54, 0xD2, 0x41, 0xD4, 0x54, 0x41, 0xC2, 0x56, 0x41, 0x4C, 0xA4, 0x43, 0x4F, 0x44, 0xC5, 0x56, 0x41, 0xCC, 0x4C, 0x45, 0xCE, 0x53, 0x49, + 0xCE, 0x43, 0x4F, 0xD3, 0x54, 0x41, 0xCE, 0x41, 0x53, 0xCE, 0x41, 0x43, 0xD3, 0x41, 0x54, 0xCE, 0x4C, 0xCE, 0x45, 0x58, 0xD0, 0x49, 0x4E, 0xD4, 0x53, 0x51, 0xD2, 0x53, 0x47, 0xCE, 0x41, 0x42, 0xD3, 0x50, 0x45, 0x45, 0xCB, 0x49, 0xCE, 0x55, + 0x53, 0xD2, 0x53, 0x54, 0x52, 0xA4, 0x43, 0x48, 0x52, 0xA4, 0x4E, 0x4F, 0xD4, 0x42, 0x49, 0xCE, 0x4F, 0xD2, 0x41, 0x4E, 0xC4, 0x3C, 0xBD, 0x3E, 0xBD, 0x3C, 0xBE, 0x4C, 0x49, 0x4E, 0xC5, 0x54, 0x48, 0x45, 0xCE, 0x54, 0xCF, 0x53, 0x54, 0x45, + 0xD0, 0x44, 0x45, 0x46, 0x20, 0x46, 0xCE, 0x43, 0x41, 0xD4, 0x46, 0x4F, 0x52, 0x4D, 0x41, 0xD4, 0x4D, 0x4F, 0x56, 0xC5, 0x45, 0x52, 0x41, 0x53, 0xC5, 0x4F, 0x50, 0x45, 0x4E, 0x20, 0xA3, 0x43, 0x4C, 0x4F, 0x53, 0x45, 0x20, 0xA3, 0x4D, 0x45, + 0x52, 0x47, 0xC5, 0x56, 0x45, 0x52, 0x49, 0x46, 0xD9, 0x42, 0x45, 0x45, 0xD0, 0x43, 0x49, 0x52, 0x43, 0x4C, 0xC5, 0x49, 0x4E, 0xCB, 0x50, 0x41, 0x50, 0x45, 0xD2, 0x46, 0x4C, 0x41, 0x53, 0xC8, 0x42, 0x52, 0x49, 0x47, 0x48, 0xD4, 0x49, 0x4E, + 0x56, 0x45, 0x52, 0x53, 0xC5, 0x4F, 0x56, 0x45, 0xD2, 0x4F, 0x55, 0xD4, 0x4C, 0x50, 0x52, 0x49, 0x4E, 0xD4, 0x4C, 0x4C, 0x49, 0x53, 0xD4, 0x53, 0x54, 0x4F, 0xD0, 0x52, 0x45, 0x41, 0xC4, 0x44, 0x41, 0x54, 0xC1, 0x52, 0x45, 0x53, 0x54, 0x4F, + 0x52, 0xC5, 0x4E, 0x45, 0xD7, 0x42, 0x4F, 0x52, 0x44, 0x45, 0xD2, 0x43, 0x4F, 0x4E, 0x54, 0x49, 0x4E, 0x55, 0xC5, 0x44, 0x49, 0xCD, 0x52, 0x45, 0xCD, 0x46, 0x4F, 0xD2, 0x47, 0x4F, 0x20, 0x54, 0xCF, 0x47, 0x4F, 0x20, 0x53, 0x55, 0xC2, 0x49, + 0x4E, 0x50, 0x55, 0xD4, 0x4C, 0x4F, 0x41, 0xC4, 0x4C, 0x49, 0x53, 0xD4, 0x4C, 0x45, 0xD4, 0x50, 0x41, 0x55, 0x53, 0xC5, 0x4E, 0x45, 0x58, 0xD4, 0x50, 0x4F, 0x4B, 0xC5, 0x50, 0x52, 0x49, 0x4E, 0xD4, 0x50, 0x4C, 0x4F, 0xD4, 0x52, 0x55, 0xCE, + 0x53, 0x41, 0x56, 0xC5, 0x52, 0x41, 0x4E, 0x44, 0x4F, 0x4D, 0x49, 0x5A, 0xC5, 0x49, 0xC6, 0x43, 0x4C, 0xD3, 0x44, 0x52, 0x41, 0xD7, 0x43, 0x4C, 0x45, 0x41, 0xD2, 0x52, 0x45, 0x54, 0x55, 0x52, 0xCE, 0x43, 0x4F, 0x50, 0xD9, 0x42, 0x48, 0x59, + 0x36, 0x35, 0x54, 0x47, 0x56, 0x4E, 0x4A, 0x55, 0x37, 0x34, 0x52, 0x46, 0x43, 0x4D, 0x4B, 0x49, 0x38, 0x33, 0x45, 0x44, 0x58, 0x0E, 0x4C, 0x4F, 0x39, 0x32, 0x57, 0x53, 0x5A, 0x20, 0x0D, 0x50, 0x30, 0x31, 0x51, 0x41, 0xE3, 0xC4, 0xE0, 0xE4, + 0xB4, 0xBC, 0xBD, 0xBB, 0xAF, 0xB0, 0xB1, 0xC0, 0xA7, 0xA6, 0xBE, 0xAD, 0xB2, 0xBA, 0xE5, 0xA5, 0xC2, 0xE1, 0xB3, 0xB9, 0xC1, 0xB8, 0x7E, 0xDC, 0xDA, 0x5C, 0xB7, 0x7B, 0x7D, 0xD8, 0xBF, 0xAE, 0xAA, 0xAB, 0xDD, 0xDE, 0xDF, 0x7F, 0xB5, 0xD6, + 0x7C, 0xD5, 0x5D, 0xDB, 0xB6, 0xD9, 0x5B, 0xD7, 0x0C, 0x07, 0x06, 0x04, 0x05, 0x08, 0x0A, 0x0B, 0x09, 0x0F, 0xE2, 0x2A, 0x3F, 0xCD, 0xC8, 0xCC, 0xCB, 0x5E, 0xAC, 0x2D, 0x2B, 0x3D, 0x2E, 0x2C, 0x3B, 0x22, 0xC7, 0x3C, 0xC3, 0x3E, 0xC5, 0x2F, + 0xC9, 0x60, 0xC6, 0x3A, 0xD0, 0xCE, 0xA8, 0xCA, 0xD3, 0xD4, 0xD1, 0xD2, 0xA9, 0xCF, 0x2E, 0x2F, 0x11, 0xFF, 0xFF, 0x01, 0xFE, 0xFE, 0xED, 0x78, 0x2F, 0xE6, 0x1F, 0x28, 0x0E, 0x67, 0x7D, 0x14, 0xC0, 0xD6, 0x08, 0xCB, 0x3C, 0x30, 0xFA, 0x53, + 0x5F, 0x20, 0xF4, 0x2D, 0xCB, 0x00, 0x38, 0xE6, 0x7A, 0x3C, 0xC8, 0xFE, 0x28, 0xC8, 0xFE, 0x19, 0xC8, 0x7B, 0x5A, 0x57, 0xFE, 0x18, 0xC9, 0xCD, 0x8E, 0x02, 0xC0, 0x21, 0x00, 0x5C, 0xCB, 0x7E, 0x20, 0x07, 0x23, 0x35, 0x2B, 0x20, 0x02, 0x36, + 0xFF, 0x7D, 0x21, 0x04, 0x5C, 0xBD, 0x20, 0xEE, 0xCD, 0x1E, 0x03, 0xD0, 0x21, 0x00, 0x5C, 0xBE, 0x28, 0x2E, 0xEB, 0x21, 0x04, 0x5C, 0xBE, 0x28, 0x27, 0xCB, 0x7E, 0x20, 0x04, 0xEB, 0xCB, 0x7E, 0xC8, 0x5F, 0x77, 0x23, 0x36, 0x05, 0x23, 0x3A, + 0x09, 0x5C, 0x77, 0x23, 0xFD, 0x4E, 0x07, 0xFD, 0x56, 0x01, 0xE5, 0xCD, 0x33, 0x03, 0xE1, 0x77, 0x32, 0x08, 0x5C, 0xFD, 0xCB, 0x01, 0xEE, 0xC9, 0x23, 0x36, 0x05, 0x23, 0x35, 0xC0, 0x3A, 0x0A, 0x5C, 0x77, 0x23, 0x7E, 0x18, 0xEA, 0x42, 0x16, + 0x00, 0x7B, 0xFE, 0x27, 0xD0, 0xFE, 0x18, 0x20, 0x03, 0xCB, 0x78, 0xC0, 0x21, 0x05, 0x02, 0x19, 0x7E, 0x37, 0xC9, 0x7B, 0xFE, 0x3A, 0x38, 0x2F, 0x0D, 0xFA, 0x4F, 0x03, 0x28, 0x03, 0xC6, 0x4F, 0xC9, 0x21, 0xEB, 0x01, 0x04, 0x28, 0x03, 0x21, + 0x05, 0x02, 0x16, 0x00, 0x19, 0x7E, 0xC9, 0x21, 0x29, 0x02, 0xCB, 0x40, 0x28, 0xF4, 0xCB, 0x5A, 0x28, 0x0A, 0xFD, 0xCB, 0x30, 0x5E, 0xC0, 0x04, 0xC0, 0xC6, 0x20, 0xC9, 0xC6, 0xA5, 0xC9, 0xFE, 0x30, 0xD8, 0x0D, 0xFA, 0x9D, 0x03, 0x20, 0x19, + 0x21, 0x54, 0x02, 0xCB, 0x68, 0x28, 0xD3, 0xFE, 0x38, 0x30, 0x07, 0xD6, 0x20, 0x04, 0xC8, 0xC6, 0x08, 0xC9, 0xD6, 0x36, 0x04, 0xC8, 0xC6, 0xFE, 0xC9, 0x21, 0x30, 0x02, 0xFE, 0x39, 0x28, 0xBA, 0xFE, 0x30, 0x28, 0xB6, 0xE6, 0x07, 0xC6, 0x80, + 0x04, 0xC8, 0xEE, 0x0F, 0xC9, 0x04, 0xC8, 0xCB, 0x68, 0x21, 0x30, 0x02, 0x20, 0xA4, 0xD6, 0x10, 0xFE, 0x22, 0x28, 0x06, 0xFE, 0x20, 0xC0, 0x3E, 0x5F, 0xC9, 0x3E, 0x40, 0xC9, 0xF3, 0x7D, 0xCB, 0x3D, 0xCB, 0x3D, 0x2F, 0xE6, 0x03, 0x4F, 0x06, + 0x00, 0xDD, 0x21, 0xD1, 0x03, 0xDD, 0x09, 0x3A, 0x48, 0x5C, 0xE6, 0x38, 0x0F, 0x0F, 0x0F, 0xF6, 0x08, 0x00, 0x00, 0x00, 0x04, 0x0C, 0x0D, 0x20, 0xFD, 0x0E, 0x3F, 0x05, 0xC2, 0xD6, 0x03, 0xEE, 0x10, 0xD3, 0xFE, 0x44, 0x4F, 0xCB, 0x67, 0x20, + 0x09, 0x7A, 0xB3, 0x28, 0x09, 0x79, 0x4D, 0x1B, 0xDD, 0xE9, 0x4D, 0x0C, 0xDD, 0xE9, 0xFB, 0xC9, 0xEF, 0x31, 0x27, 0xC0, 0x03, 0x34, 0xEC, 0x6C, 0x98, 0x1F, 0xF5, 0x04, 0xA1, 0x0F, 0x38, 0x21, 0x92, 0x5C, 0x7E, 0xA7, 0x20, 0x5E, 0x23, 0x4E, + 0x23, 0x46, 0x78, 0x17, 0x9F, 0xB9, 0x20, 0x54, 0x23, 0xBE, 0x20, 0x50, 0x78, 0xC6, 0x3C, 0xF2, 0x25, 0x04, 0xE2, 0x6C, 0x04, 0x06, 0xFA, 0x04, 0xD6, 0x0C, 0x30, 0xFB, 0xC6, 0x0C, 0xC5, 0x21, 0x6E, 0x04, 0xCD, 0x06, 0x34, 0xCD, 0xB4, 0x33, + 0xEF, 0x04, 0x38, 0xF1, 0x86, 0x77, 0xEF, 0xC0, 0x02, 0x31, 0x38, 0xCD, 0x94, 0x1E, 0xFE, 0x0B, 0x30, 0x22, 0xEF, 0xE0, 0x04, 0xE0, 0x34, 0x80, 0x43, 0x55, 0x9F, 0x80, 0x01, 0x05, 0x34, 0x35, 0x71, 0x03, 0x38, 0xCD, 0x99, 0x1E, 0xC5, 0xCD, + 0x99, 0x1E, 0xE1, 0x50, 0x59, 0x7A, 0xB3, 0xC8, 0x1B, 0xC3, 0xB5, 0x03, 0xCF, 0x0A, 0x89, 0x02, 0xD0, 0x12, 0x86, 0x89, 0x0A, 0x97, 0x60, 0x75, 0x89, 0x12, 0xD5, 0x17, 0x1F, 0x89, 0x1B, 0x90, 0x41, 0x02, 0x89, 0x24, 0xD0, 0x53, 0xCA, 0x89, + 0x2E, 0x9D, 0x36, 0xB1, 0x89, 0x38, 0xFF, 0x49, 0x3E, 0x89, 0x43, 0xFF, 0x6A, 0x73, 0x89, 0x4F, 0xA7, 0x00, 0x54, 0x89, 0x5C, 0x00, 0x00, 0x00, 0x89, 0x69, 0x14, 0xF6, 0x24, 0x89, 0x76, 0xF1, 0x10, 0x05, 0xCD, 0xFB, 0x24, 0x3A, 0x3B, 0x5C, + 0x87, 0xFA, 0x8A, 0x1C, 0xE1, 0xD0, 0xE5, 0xCD, 0xF1, 0x2B, 0x62, 0x6B, 0x0D, 0xF8, 0x09, 0xCB, 0xFE, 0xC9, 0x21, 0x3F, 0x05, 0xE5, 0x21, 0x80, 0x1F, 0xCB, 0x7F, 0x28, 0x03, 0x21, 0x98, 0x0C, 0x08, 0x13, 0xDD, 0x2B, 0xF3, 0x3E, 0x02, 0x47, + 0x10, 0xFE, 0xD3, 0xFE, 0xEE, 0x0F, 0x06, 0xA4, 0x2D, 0x20, 0xF5, 0x05, 0x25, 0xF2, 0xD8, 0x04, 0x06, 0x2F, 0x10, 0xFE, 0xD3, 0xFE, 0x3E, 0x0D, 0x06, 0x37, 0x10, 0xFE, 0xD3, 0xFE, 0x01, 0x0E, 0x3B, 0x08, 0x6F, 0xC3, 0x07, 0x05, 0x7A, 0xB3, + 0x28, 0x0C, 0xDD, 0x6E, 0x00, 0x7C, 0xAD, 0x67, 0x3E, 0x01, 0x37, 0xC3, 0x25, 0x05, 0x6C, 0x18, 0xF4, 0x79, 0xCB, 0x78, 0x10, 0xFE, 0x30, 0x04, 0x06, 0x42, 0x10, 0xFE, 0xD3, 0xFE, 0x06, 0x3E, 0x20, 0xEF, 0x05, 0xAF, 0x3C, 0xCB, 0x15, 0xC2, + 0x14, 0x05, 0x1B, 0xDD, 0x23, 0x06, 0x31, 0x3E, 0x7F, 0xDB, 0xFE, 0x1F, 0xD0, 0x7A, 0x3C, 0xC2, 0xFE, 0x04, 0x06, 0x3B, 0x10, 0xFE, 0xC9, 0xF5, 0x3A, 0x48, 0x5C, 0xE6, 0x38, 0x0F, 0x0F, 0x0F, 0xD3, 0xFE, 0x3E, 0x7F, 0xDB, 0xFE, 0x1F, 0xFB, + 0x38, 0x02, 0xCF, 0x0C, 0xF1, 0xC9, 0x14, 0x08, 0x15, 0xF3, 0x3E, 0x0F, 0xD3, 0xFE, 0x21, 0x3F, 0x05, 0xE5, 0xDB, 0xFE, 0x1F, 0xE6, 0x20, 0xF6, 0x02, 0x4F, 0xBF, 0xC0, 0xCD, 0xE7, 0x05, 0x30, 0xFA, 0x21, 0x15, 0x04, 0x10, 0xFE, 0x2B, 0x7C, + 0xB5, 0x20, 0xF9, 0xCD, 0xE3, 0x05, 0x30, 0xEB, 0x06, 0x9C, 0xCD, 0xE3, 0x05, 0x30, 0xE4, 0x3E, 0xC6, 0xB8, 0x30, 0xE0, 0x24, 0x20, 0xF1, 0x06, 0xC9, 0xCD, 0xE7, 0x05, 0x30, 0xD5, 0x78, 0xFE, 0xD4, 0x30, 0xF4, 0xCD, 0xE7, 0x05, 0xD0, 0x79, + 0xEE, 0x03, 0x4F, 0x26, 0x00, 0x06, 0xB0, 0x18, 0x1F, 0x08, 0x20, 0x07, 0x30, 0x0F, 0xDD, 0x75, 0x00, 0x18, 0x0F, 0xCB, 0x11, 0xAD, 0xC0, 0x79, 0x1F, 0x4F, 0x13, 0x18, 0x07, 0xDD, 0x7E, 0x00, 0xAD, 0xC0, 0xDD, 0x23, 0x1B, 0x08, 0x06, 0xB2, + 0x2E, 0x01, 0xCD, 0xE3, 0x05, 0xD0, 0x3E, 0xCB, 0xB8, 0xCB, 0x15, 0x06, 0xB0, 0xD2, 0xCA, 0x05, 0x7C, 0xAD, 0x67, 0x7A, 0xB3, 0x20, 0xCA, 0x7C, 0xFE, 0x01, 0xC9, 0xCD, 0xE7, 0x05, 0xD0, 0x3E, 0x16, 0x3D, 0x20, 0xFD, 0xA7, 0x04, 0xC8, 0x3E, + 0x7F, 0xDB, 0xFE, 0x1F, 0xD0, 0xA9, 0xE6, 0x20, 0x28, 0xF3, 0x79, 0x2F, 0x4F, 0xE6, 0x07, 0xF6, 0x08, 0xD3, 0xFE, 0x37, 0xC9, 0xF1, 0x3A, 0x74, 0x5C, 0xD6, 0xE0, 0x32, 0x74, 0x5C, 0xCD, 0x8C, 0x1C, 0xCD, 0x30, 0x25, 0x28, 0x3C, 0x01, 0x11, + 0x00, 0x3A, 0x74, 0x5C, 0xA7, 0x28, 0x02, 0x0E, 0x22, 0xF7, 0xD5, 0xDD, 0xE1, 0x06, 0x0B, 0x3E, 0x20, 0x12, 0x13, 0x10, 0xFC, 0xDD, 0x36, 0x01, 0xFF, 0xCD, 0xF1, 0x2B, 0x21, 0xF6, 0xFF, 0x0B, 0x09, 0x03, 0x30, 0x0F, 0x3A, 0x74, 0x5C, 0xA7, + 0x20, 0x02, 0xCF, 0x0E, 0x78, 0xB1, 0x28, 0x0A, 0x01, 0x0A, 0x00, 0xDD, 0xE5, 0xE1, 0x23, 0xEB, 0xED, 0xB0, 0xDF, 0xFE, 0xE4, 0x20, 0x49, 0x3A, 0x74, 0x5C, 0xFE, 0x03, 0xCA, 0x8A, 0x1C, 0xE7, 0xCD, 0xB2, 0x28, 0xCB, 0xF9, 0x30, 0x0B, 0x21, + 0x00, 0x00, 0x3A, 0x74, 0x5C, 0x3D, 0x28, 0x15, 0xCF, 0x01, 0xC2, 0x8A, 0x1C, 0xCD, 0x30, 0x25, 0x28, 0x18, 0x23, 0x7E, 0xDD, 0x77, 0x0B, 0x23, 0x7E, 0xDD, 0x77, 0x0C, 0x23, 0xDD, 0x71, 0x0E, 0x3E, 0x01, 0xCB, 0x71, 0x28, 0x01, 0x3C, 0xDD, + 0x77, 0x00, 0xEB, 0xE7, 0xFE, 0x29, 0x20, 0xDA, 0xE7, 0xCD, 0xEE, 0x1B, 0xEB, 0xC3, 0x5A, 0x07, 0xFE, 0xAA, 0x20, 0x1F, 0x3A, 0x74, 0x5C, 0xFE, 0x03, 0xCA, 0x8A, 0x1C, 0xE7, 0xCD, 0xEE, 0x1B, 0xDD, 0x36, 0x0B, 0x00, 0xDD, 0x36, 0x0C, 0x1B, + 0x21, 0x00, 0x40, 0xDD, 0x75, 0x0D, 0xDD, 0x74, 0x0E, 0x18, 0x4D, 0xFE, 0xAF, 0x20, 0x4F, 0x3A, 0x74, 0x5C, 0xFE, 0x03, 0xCA, 0x8A, 0x1C, 0xE7, 0xCD, 0x48, 0x20, 0x20, 0x0C, 0x3A, 0x74, 0x5C, 0xA7, 0xCA, 0x8A, 0x1C, 0xCD, 0xE6, 0x1C, 0x18, + 0x0F, 0xCD, 0x82, 0x1C, 0xDF, 0xFE, 0x2C, 0x28, 0x0C, 0x3A, 0x74, 0x5C, 0xA7, 0xCA, 0x8A, 0x1C, 0xCD, 0xE6, 0x1C, 0x18, 0x04, 0xE7, 0xCD, 0x82, 0x1C, 0xCD, 0xEE, 0x1B, 0xCD, 0x99, 0x1E, 0xDD, 0x71, 0x0B, 0xDD, 0x70, 0x0C, 0xCD, 0x99, 0x1E, + 0xDD, 0x71, 0x0D, 0xDD, 0x70, 0x0E, 0x60, 0x69, 0xDD, 0x36, 0x00, 0x03, 0x18, 0x44, 0xFE, 0xCA, 0x28, 0x09, 0xCD, 0xEE, 0x1B, 0xDD, 0x36, 0x0E, 0x80, 0x18, 0x17, 0x3A, 0x74, 0x5C, 0xA7, 0xC2, 0x8A, 0x1C, 0xE7, 0xCD, 0x82, 0x1C, 0xCD, 0xEE, + 0x1B, 0xCD, 0x99, 0x1E, 0xDD, 0x71, 0x0D, 0xDD, 0x70, 0x0E, 0xDD, 0x36, 0x00, 0x00, 0x2A, 0x59, 0x5C, 0xED, 0x5B, 0x53, 0x5C, 0x37, 0xED, 0x52, 0xDD, 0x75, 0x0B, 0xDD, 0x74, 0x0C, 0x2A, 0x4B, 0x5C, 0xED, 0x52, 0xDD, 0x75, 0x0F, 0xDD, 0x74, + 0x10, 0xEB, 0x3A, 0x74, 0x5C, 0xA7, 0xCA, 0x70, 0x09, 0xE5, 0x01, 0x11, 0x00, 0xDD, 0x09, 0xDD, 0xE5, 0x11, 0x11, 0x00, 0xAF, 0x37, 0xCD, 0x56, 0x05, 0xDD, 0xE1, 0x30, 0xF2, 0x3E, 0xFE, 0xCD, 0x01, 0x16, 0xFD, 0x36, 0x52, 0x03, 0x0E, 0x80, + 0xDD, 0x7E, 0x00, 0xDD, 0xBE, 0xEF, 0x20, 0x02, 0x0E, 0xF6, 0xFE, 0x04, 0x30, 0xD9, 0x11, 0xC0, 0x09, 0xC5, 0xCD, 0x0A, 0x0C, 0xC1, 0xDD, 0xE5, 0xD1, 0x21, 0xF0, 0xFF, 0x19, 0x06, 0x0A, 0x7E, 0x3C, 0x20, 0x03, 0x79, 0x80, 0x4F, 0x13, 0x1A, + 0xBE, 0x23, 0x20, 0x01, 0x0C, 0xD7, 0x10, 0xF6, 0xCB, 0x79, 0x20, 0xB3, 0x3E, 0x0D, 0xD7, 0xE1, 0xDD, 0x7E, 0x00, 0xFE, 0x03, 0x28, 0x0C, 0x3A, 0x74, 0x5C, 0x3D, 0xCA, 0x08, 0x08, 0xFE, 0x02, 0xCA, 0xB6, 0x08, 0xE5, 0xDD, 0x6E, 0xFA, 0xDD, + 0x66, 0xFB, 0xDD, 0x5E, 0x0B, 0xDD, 0x56, 0x0C, 0x7C, 0xB5, 0x28, 0x0D, 0xED, 0x52, 0x38, 0x26, 0x28, 0x07, 0xDD, 0x7E, 0x00, 0xFE, 0x03, 0x20, 0x1D, 0xE1, 0x7C, 0xB5, 0x20, 0x06, 0xDD, 0x6E, 0x0D, 0xDD, 0x66, 0x0E, 0xE5, 0xDD, 0xE1, 0x3A, + 0x74, 0x5C, 0xFE, 0x02, 0x37, 0x20, 0x01, 0xA7, 0x3E, 0xFF, 0xCD, 0x56, 0x05, 0xD8, 0xCF, 0x1A, 0xDD, 0x5E, 0x0B, 0xDD, 0x56, 0x0C, 0xE5, 0x7C, 0xB5, 0x20, 0x06, 0x13, 0x13, 0x13, 0xEB, 0x18, 0x0C, 0xDD, 0x6E, 0xFA, 0xDD, 0x66, 0xFB, 0xEB, + 0x37, 0xED, 0x52, 0x38, 0x09, 0x11, 0x05, 0x00, 0x19, 0x44, 0x4D, 0xCD, 0x05, 0x1F, 0xE1, 0xDD, 0x7E, 0x00, 0xA7, 0x28, 0x3E, 0x7C, 0xB5, 0x28, 0x13, 0x2B, 0x46, 0x2B, 0x4E, 0x2B, 0x03, 0x03, 0x03, 0xDD, 0x22, 0x5F, 0x5C, 0xCD, 0xE8, 0x19, + 0xDD, 0x2A, 0x5F, 0x5C, 0x2A, 0x59, 0x5C, 0x2B, 0xDD, 0x4E, 0x0B, 0xDD, 0x46, 0x0C, 0xC5, 0x03, 0x03, 0x03, 0xDD, 0x7E, 0xFD, 0xF5, 0xCD, 0x55, 0x16, 0x23, 0xF1, 0x77, 0xD1, 0x23, 0x73, 0x23, 0x72, 0x23, 0xE5, 0xDD, 0xE1, 0x37, 0x3E, 0xFF, + 0xC3, 0x02, 0x08, 0xEB, 0x2A, 0x59, 0x5C, 0x2B, 0xDD, 0x22, 0x5F, 0x5C, 0xDD, 0x4E, 0x0B, 0xDD, 0x46, 0x0C, 0xC5, 0xCD, 0xE5, 0x19, 0xC1, 0xE5, 0xC5, 0xCD, 0x55, 0x16, 0xDD, 0x2A, 0x5F, 0x5C, 0x23, 0xDD, 0x4E, 0x0F, 0xDD, 0x46, 0x10, 0x09, + 0x22, 0x4B, 0x5C, 0xDD, 0x66, 0x0E, 0x7C, 0xE6, 0xC0, 0x20, 0x0A, 0xDD, 0x6E, 0x0D, 0x22, 0x42, 0x5C, 0xFD, 0x36, 0x0A, 0x00, 0xD1, 0xDD, 0xE1, 0x37, 0x3E, 0xFF, 0xC3, 0x02, 0x08, 0xDD, 0x4E, 0x0B, 0xDD, 0x46, 0x0C, 0xC5, 0x03, 0xF7, 0x36, + 0x80, 0xEB, 0xD1, 0xE5, 0xE5, 0xDD, 0xE1, 0x37, 0x3E, 0xFF, 0xCD, 0x02, 0x08, 0xE1, 0xED, 0x5B, 0x53, 0x5C, 0x7E, 0xE6, 0xC0, 0x20, 0x19, 0x1A, 0x13, 0xBE, 0x23, 0x20, 0x02, 0x1A, 0xBE, 0x1B, 0x2B, 0x30, 0x08, 0xE5, 0xEB, 0xCD, 0xB8, 0x19, + 0xE1, 0x18, 0xEC, 0xCD, 0x2C, 0x09, 0x18, 0xE2, 0x7E, 0x4F, 0xFE, 0x80, 0xC8, 0xE5, 0x2A, 0x4B, 0x5C, 0x7E, 0xFE, 0x80, 0x28, 0x25, 0xB9, 0x28, 0x08, 0xC5, 0xCD, 0xB8, 0x19, 0xC1, 0xEB, 0x18, 0xF0, 0xE6, 0xE0, 0xFE, 0xA0, 0x20, 0x12, 0xD1, + 0xD5, 0xE5, 0x23, 0x13, 0x1A, 0xBE, 0x20, 0x06, 0x17, 0x30, 0xF7, 0xE1, 0x18, 0x03, 0xE1, 0x18, 0xE0, 0x3E, 0xFF, 0xD1, 0xEB, 0x3C, 0x37, 0xCD, 0x2C, 0x09, 0x18, 0xC4, 0x20, 0x10, 0x08, 0x22, 0x5F, 0x5C, 0xEB, 0xCD, 0xB8, 0x19, 0xCD, 0xE8, + 0x19, 0xEB, 0x2A, 0x5F, 0x5C, 0x08, 0x08, 0xD5, 0xCD, 0xB8, 0x19, 0x22, 0x5F, 0x5C, 0x2A, 0x53, 0x5C, 0xE3, 0xC5, 0x08, 0x38, 0x07, 0x2B, 0xCD, 0x55, 0x16, 0x23, 0x18, 0x03, 0xCD, 0x55, 0x16, 0x23, 0xC1, 0xD1, 0xED, 0x53, 0x53, 0x5C, 0xED, + 0x5B, 0x5F, 0x5C, 0xC5, 0xD5, 0xEB, 0xED, 0xB0, 0xE1, 0xC1, 0xD5, 0xCD, 0xE8, 0x19, 0xD1, 0xC9, 0xE5, 0x3E, 0xFD, 0xCD, 0x01, 0x16, 0xAF, 0x11, 0xA1, 0x09, 0xCD, 0x0A, 0x0C, 0xFD, 0xCB, 0x02, 0xEE, 0xCD, 0xD4, 0x15, 0xDD, 0xE5, 0x11, 0x11, + 0x00, 0xAF, 0xCD, 0xC2, 0x04, 0xDD, 0xE1, 0x06, 0x32, 0x76, 0x10, 0xFD, 0xDD, 0x5E, 0x0B, 0xDD, 0x56, 0x0C, 0x3E, 0xFF, 0xDD, 0xE1, 0xC3, 0xC2, 0x04, 0x80, 0x53, 0x74, 0x61, 0x72, 0x74, 0x20, 0x74, 0x61, 0x70, 0x65, 0x2C, 0x20, 0x74, 0x68, + 0x65, 0x6E, 0x20, 0x70, 0x72, 0x65, 0x73, 0x73, 0x20, 0x61, 0x6E, 0x79, 0x20, 0x6B, 0x65, 0x79, 0xAE, 0x0D, 0x50, 0x72, 0x6F, 0x67, 0x72, 0x61, 0x6D, 0x3A, 0xA0, 0x0D, 0x4E, 0x75, 0x6D, 0x62, 0x65, 0x72, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, + 0x3A, 0xA0, 0x0D, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x3A, 0xA0, 0x0D, 0x42, 0x79, 0x74, 0x65, 0x73, 0x3A, 0xA0, 0xCD, 0x03, 0x0B, 0xFE, 0x20, 0xD2, 0xD9, 0x0A, 0xFE, 0x06, 0x38, 0x69, + 0xFE, 0x18, 0x30, 0x65, 0x21, 0x0B, 0x0A, 0x5F, 0x16, 0x00, 0x19, 0x5E, 0x19, 0xE5, 0xC3, 0x03, 0x0B, 0x4E, 0x57, 0x10, 0x29, 0x54, 0x53, 0x52, 0x37, 0x50, 0x4F, 0x5F, 0x5E, 0x5D, 0x5C, 0x5B, 0x5A, 0x54, 0x53, 0x0C, 0x3E, 0x22, 0xB9, 0x20, + 0x11, 0xFD, 0xCB, 0x01, 0x4E, 0x20, 0x09, 0x04, 0x0E, 0x02, 0x3E, 0x18, 0xB8, 0x20, 0x03, 0x05, 0x0E, 0x21, 0xC3, 0xD9, 0x0D, 0x3A, 0x91, 0x5C, 0xF5, 0xFD, 0x36, 0x57, 0x01, 0x3E, 0x20, 0xCD, 0x65, 0x0B, 0xF1, 0x32, 0x91, 0x5C, 0xC9, 0xFD, + 0xCB, 0x01, 0x4E, 0xC2, 0xCD, 0x0E, 0x0E, 0x21, 0xCD, 0x55, 0x0C, 0x05, 0xC3, 0xD9, 0x0D, 0xCD, 0x03, 0x0B, 0x79, 0x3D, 0x3D, 0xE6, 0x10, 0x18, 0x5A, 0x3E, 0x3F, 0x18, 0x6C, 0x11, 0x87, 0x0A, 0x32, 0x0F, 0x5C, 0x18, 0x0B, 0x11, 0x6D, 0x0A, + 0x18, 0x03, 0x11, 0x87, 0x0A, 0x32, 0x0E, 0x5C, 0x2A, 0x51, 0x5C, 0x73, 0x23, 0x72, 0xC9, 0x11, 0xF4, 0x09, 0xCD, 0x80, 0x0A, 0x2A, 0x0E, 0x5C, 0x57, 0x7D, 0xFE, 0x16, 0xDA, 0x11, 0x22, 0x20, 0x29, 0x44, 0x4A, 0x3E, 0x1F, 0x91, 0x38, 0x0C, + 0xC6, 0x02, 0x4F, 0xFD, 0xCB, 0x01, 0x4E, 0x20, 0x16, 0x3E, 0x16, 0x90, 0xDA, 0x9F, 0x1E, 0x3C, 0x47, 0x04, 0xFD, 0xCB, 0x02, 0x46, 0xC2, 0x55, 0x0C, 0xFD, 0xBE, 0x31, 0xDA, 0x86, 0x0C, 0xC3, 0xD9, 0x0D, 0x7C, 0xCD, 0x03, 0x0B, 0x81, 0x3D, + 0xE6, 0x1F, 0xC8, 0x57, 0xFD, 0xCB, 0x01, 0xC6, 0x3E, 0x20, 0xCD, 0x3B, 0x0C, 0x15, 0x20, 0xF8, 0xC9, 0xCD, 0x24, 0x0B, 0xFD, 0xCB, 0x01, 0x4E, 0x20, 0x1A, 0xFD, 0xCB, 0x02, 0x46, 0x20, 0x08, 0xED, 0x43, 0x88, 0x5C, 0x22, 0x84, 0x5C, 0xC9, + 0xED, 0x43, 0x8A, 0x5C, 0xED, 0x43, 0x82, 0x5C, 0x22, 0x86, 0x5C, 0xC9, 0xFD, 0x71, 0x45, 0x22, 0x80, 0x5C, 0xC9, 0xFD, 0xCB, 0x01, 0x4E, 0x20, 0x14, 0xED, 0x4B, 0x88, 0x5C, 0x2A, 0x84, 0x5C, 0xFD, 0xCB, 0x02, 0x46, 0xC8, 0xED, 0x4B, 0x8A, + 0x5C, 0x2A, 0x86, 0x5C, 0xC9, 0xFD, 0x4E, 0x45, 0x2A, 0x80, 0x5C, 0xC9, 0xFE, 0x80, 0x38, 0x3D, 0xFE, 0x90, 0x30, 0x26, 0x47, 0xCD, 0x38, 0x0B, 0xCD, 0x03, 0x0B, 0x11, 0x92, 0x5C, 0x18, 0x47, 0x21, 0x92, 0x5C, 0xCD, 0x3E, 0x0B, 0xCB, 0x18, + 0x9F, 0xE6, 0x0F, 0x4F, 0xCB, 0x18, 0x9F, 0xE6, 0xF0, 0xB1, 0x0E, 0x04, 0x77, 0x23, 0x0D, 0x20, 0xFB, 0xC9, 0xD6, 0xA5, 0x30, 0x09, 0xC6, 0x15, 0xC5, 0xED, 0x4B, 0x7B, 0x5C, 0x18, 0x0B, 0xCD, 0x10, 0x0C, 0xC3, 0x03, 0x0B, 0xC5, 0xED, 0x4B, + 0x36, 0x5C, 0xEB, 0x21, 0x3B, 0x5C, 0xCB, 0x86, 0xFE, 0x20, 0x20, 0x02, 0xCB, 0xC6, 0x26, 0x00, 0x6F, 0x29, 0x29, 0x29, 0x09, 0xC1, 0xEB, 0x79, 0x3D, 0x3E, 0x21, 0x20, 0x0E, 0x05, 0x4F, 0xFD, 0xCB, 0x01, 0x4E, 0x28, 0x06, 0xD5, 0xCD, 0xCD, + 0x0E, 0xD1, 0x79, 0xB9, 0xD5, 0xCC, 0x55, 0x0C, 0xD1, 0xC5, 0xE5, 0x3A, 0x91, 0x5C, 0x06, 0xFF, 0x1F, 0x38, 0x01, 0x04, 0x1F, 0x1F, 0x9F, 0x4F, 0x3E, 0x08, 0xA7, 0xFD, 0xCB, 0x01, 0x4E, 0x28, 0x05, 0xFD, 0xCB, 0x30, 0xCE, 0x37, 0xEB, 0x08, + 0x1A, 0xA0, 0xAE, 0xA9, 0x12, 0x08, 0x38, 0x13, 0x14, 0x23, 0x3D, 0x20, 0xF2, 0xEB, 0x25, 0xFD, 0xCB, 0x01, 0x4E, 0xCC, 0xDB, 0x0B, 0xE1, 0xC1, 0x0D, 0x23, 0xC9, 0x08, 0x3E, 0x20, 0x83, 0x5F, 0x08, 0x18, 0xE6, 0x7C, 0x0F, 0x0F, 0x0F, 0xE6, + 0x03, 0xF6, 0x58, 0x67, 0xED, 0x5B, 0x8F, 0x5C, 0x7E, 0xAB, 0xA2, 0xAB, 0xFD, 0xCB, 0x57, 0x76, 0x28, 0x08, 0xE6, 0xC7, 0xCB, 0x57, 0x20, 0x02, 0xEE, 0x38, 0xFD, 0xCB, 0x57, 0x66, 0x28, 0x08, 0xE6, 0xF8, 0xCB, 0x6F, 0x20, 0x02, 0xEE, 0x07, + 0x77, 0xC9, 0xE5, 0x26, 0x00, 0xE3, 0x18, 0x04, 0x11, 0x95, 0x00, 0xF5, 0xCD, 0x41, 0x0C, 0x38, 0x09, 0x3E, 0x20, 0xFD, 0xCB, 0x01, 0x46, 0xCC, 0x3B, 0x0C, 0x1A, 0xE6, 0x7F, 0xCD, 0x3B, 0x0C, 0x1A, 0x13, 0x87, 0x30, 0xF5, 0xD1, 0xFE, 0x48, + 0x28, 0x03, 0xFE, 0x82, 0xD8, 0x7A, 0xFE, 0x03, 0xD8, 0x3E, 0x20, 0xD5, 0xD9, 0xD7, 0xD9, 0xD1, 0xC9, 0xF5, 0xEB, 0x3C, 0xCB, 0x7E, 0x23, 0x28, 0xFB, 0x3D, 0x20, 0xF8, 0xEB, 0xF1, 0xFE, 0x20, 0xD8, 0x1A, 0xD6, 0x41, 0xC9, 0xFD, 0xCB, 0x01, + 0x4E, 0xC0, 0x11, 0xD9, 0x0D, 0xD5, 0x78, 0xFD, 0xCB, 0x02, 0x46, 0xC2, 0x02, 0x0D, 0xFD, 0xBE, 0x31, 0x38, 0x1B, 0xC0, 0xFD, 0xCB, 0x02, 0x66, 0x28, 0x16, 0xFD, 0x5E, 0x2D, 0x1D, 0x28, 0x5A, 0x3E, 0x00, 0xCD, 0x01, 0x16, 0xED, 0x7B, 0x3F, + 0x5C, 0xFD, 0xCB, 0x02, 0xA6, 0xC9, 0xCF, 0x04, 0xFD, 0x35, 0x52, 0x20, 0x45, 0x3E, 0x18, 0x90, 0x32, 0x8C, 0x5C, 0x2A, 0x8F, 0x5C, 0xE5, 0x3A, 0x91, 0x5C, 0xF5, 0x3E, 0xFD, 0xCD, 0x01, 0x16, 0xAF, 0x11, 0xF8, 0x0C, 0xCD, 0x0A, 0x0C, 0xFD, + 0xCB, 0x02, 0xEE, 0x21, 0x3B, 0x5C, 0xCB, 0xDE, 0xCB, 0xAE, 0xD9, 0xCD, 0xD4, 0x15, 0xD9, 0xFE, 0x20, 0x28, 0x45, 0xFE, 0xE2, 0x28, 0x41, 0xF6, 0x20, 0xFE, 0x6E, 0x28, 0x3B, 0x3E, 0xFE, 0xCD, 0x01, 0x16, 0xF1, 0x32, 0x91, 0x5C, 0xE1, 0x22, + 0x8F, 0x5C, 0xCD, 0xFE, 0x0D, 0xFD, 0x46, 0x31, 0x04, 0x0E, 0x21, 0xC5, 0xCD, 0x9B, 0x0E, 0x7C, 0x0F, 0x0F, 0x0F, 0xE6, 0x03, 0xF6, 0x58, 0x67, 0x11, 0xE0, 0x5A, 0x1A, 0x4E, 0x06, 0x20, 0xEB, 0x12, 0x71, 0x13, 0x23, 0x10, 0xFA, 0xC1, 0xC9, + 0x80, 0x73, 0x63, 0x72, 0x6F, 0x6C, 0x6C, 0xBF, 0xCF, 0x0C, 0xFE, 0x02, 0x38, 0x80, 0xFD, 0x86, 0x31, 0xD6, 0x19, 0xD0, 0xED, 0x44, 0xC5, 0x47, 0x2A, 0x8F, 0x5C, 0xE5, 0x2A, 0x91, 0x5C, 0xE5, 0xCD, 0x4D, 0x0D, 0x78, 0xF5, 0x21, 0x6B, 0x5C, + 0x46, 0x78, 0x3C, 0x77, 0x21, 0x89, 0x5C, 0xBE, 0x38, 0x03, 0x34, 0x06, 0x18, 0xCD, 0x00, 0x0E, 0xF1, 0x3D, 0x20, 0xE8, 0xE1, 0xFD, 0x75, 0x57, 0xE1, 0x22, 0x8F, 0x5C, 0xED, 0x4B, 0x88, 0x5C, 0xFD, 0xCB, 0x02, 0x86, 0xCD, 0xD9, 0x0D, 0xFD, + 0xCB, 0x02, 0xC6, 0xC1, 0xC9, 0xAF, 0x2A, 0x8D, 0x5C, 0xFD, 0xCB, 0x02, 0x46, 0x28, 0x04, 0x67, 0xFD, 0x6E, 0x0E, 0x22, 0x8F, 0x5C, 0x21, 0x91, 0x5C, 0x20, 0x02, 0x7E, 0x0F, 0xAE, 0xE6, 0x55, 0xAE, 0x77, 0xC9, 0xCD, 0xAF, 0x0D, 0x21, 0x3C, + 0x5C, 0xCB, 0xAE, 0xCB, 0xC6, 0xCD, 0x4D, 0x0D, 0xFD, 0x46, 0x31, 0xCD, 0x44, 0x0E, 0x21, 0xC0, 0x5A, 0x3A, 0x8D, 0x5C, 0x05, 0x18, 0x07, 0x0E, 0x20, 0x2B, 0x77, 0x0D, 0x20, 0xFB, 0x10, 0xF7, 0xFD, 0x36, 0x31, 0x02, 0x3E, 0xFD, 0xCD, 0x01, + 0x16, 0x2A, 0x51, 0x5C, 0x11, 0xF4, 0x09, 0xA7, 0x73, 0x23, 0x72, 0x23, 0x11, 0xA8, 0x10, 0x3F, 0x38, 0xF6, 0x01, 0x21, 0x17, 0x18, 0x2A, 0x21, 0x00, 0x00, 0x22, 0x7D, 0x5C, 0xFD, 0xCB, 0x30, 0x86, 0xCD, 0x94, 0x0D, 0x3E, 0xFE, 0xCD, 0x01, + 0x16, 0xCD, 0x4D, 0x0D, 0x06, 0x18, 0xCD, 0x44, 0x0E, 0x2A, 0x51, 0x5C, 0x11, 0xF4, 0x09, 0x73, 0x23, 0x72, 0xFD, 0x36, 0x52, 0x01, 0x01, 0x21, 0x18, 0x21, 0x00, 0x5B, 0xFD, 0xCB, 0x01, 0x4E, 0x20, 0x12, 0x78, 0xFD, 0xCB, 0x02, 0x46, 0x28, + 0x05, 0xFD, 0x86, 0x31, 0xD6, 0x18, 0xC5, 0x47, 0xCD, 0x9B, 0x0E, 0xC1, 0x3E, 0x21, 0x91, 0x5F, 0x16, 0x00, 0x19, 0xC3, 0xDC, 0x0A, 0x06, 0x17, 0xCD, 0x9B, 0x0E, 0x0E, 0x08, 0xC5, 0xE5, 0x78, 0xE6, 0x07, 0x78, 0x20, 0x0C, 0xEB, 0x21, 0xE0, + 0xF8, 0x19, 0xEB, 0x01, 0x20, 0x00, 0x3D, 0xED, 0xB0, 0xEB, 0x21, 0xE0, 0xFF, 0x19, 0xEB, 0x47, 0xE6, 0x07, 0x0F, 0x0F, 0x0F, 0x4F, 0x78, 0x06, 0x00, 0xED, 0xB0, 0x06, 0x07, 0x09, 0xE6, 0xF8, 0x20, 0xDB, 0xE1, 0x24, 0xC1, 0x0D, 0x20, 0xCD, + 0xCD, 0x88, 0x0E, 0x21, 0xE0, 0xFF, 0x19, 0xEB, 0xED, 0xB0, 0x06, 0x01, 0xC5, 0xCD, 0x9B, 0x0E, 0x0E, 0x08, 0xC5, 0xE5, 0x78, 0xE6, 0x07, 0x0F, 0x0F, 0x0F, 0x4F, 0x78, 0x06, 0x00, 0x0D, 0x54, 0x5D, 0x36, 0x00, 0x13, 0xED, 0xB0, 0x11, 0x01, + 0x07, 0x19, 0x3D, 0xE6, 0xF8, 0x47, 0x20, 0xE5, 0xE1, 0x24, 0xC1, 0x0D, 0x20, 0xDC, 0xCD, 0x88, 0x0E, 0x62, 0x6B, 0x13, 0x3A, 0x8D, 0x5C, 0xFD, 0xCB, 0x02, 0x46, 0x28, 0x03, 0x3A, 0x48, 0x5C, 0x77, 0x0B, 0xED, 0xB0, 0xC1, 0x0E, 0x21, 0xC9, + 0x7C, 0x0F, 0x0F, 0x0F, 0x3D, 0xF6, 0x50, 0x67, 0xEB, 0x61, 0x68, 0x29, 0x29, 0x29, 0x29, 0x29, 0x44, 0x4D, 0xC9, 0x3E, 0x18, 0x90, 0x57, 0x0F, 0x0F, 0x0F, 0xE6, 0xE0, 0x6F, 0x7A, 0xE6, 0x18, 0xF6, 0x40, 0x67, 0xC9, 0xF3, 0x06, 0xB0, 0x21, + 0x00, 0x40, 0xE5, 0xC5, 0xCD, 0xF4, 0x0E, 0xC1, 0xE1, 0x24, 0x7C, 0xE6, 0x07, 0x20, 0x0A, 0x7D, 0xC6, 0x20, 0x6F, 0x3F, 0x9F, 0xE6, 0xF8, 0x84, 0x67, 0x10, 0xE7, 0x18, 0x0D, 0xF3, 0x21, 0x00, 0x5B, 0x06, 0x08, 0xC5, 0xCD, 0xF4, 0x0E, 0xC1, + 0x10, 0xF9, 0x3E, 0x04, 0xD3, 0xFB, 0xFB, 0x21, 0x00, 0x5B, 0xFD, 0x75, 0x46, 0xAF, 0x47, 0x77, 0x23, 0x10, 0xFC, 0xFD, 0xCB, 0x30, 0x8E, 0x0E, 0x21, 0xC3, 0xD9, 0x0D, 0x78, 0xFE, 0x03, 0x9F, 0xE6, 0x02, 0xD3, 0xFB, 0x57, 0xCD, 0x54, 0x1F, + 0x38, 0x0A, 0x3E, 0x04, 0xD3, 0xFB, 0xFB, 0xCD, 0xDF, 0x0E, 0xCF, 0x0C, 0xDB, 0xFB, 0x87, 0xF8, 0x30, 0xEB, 0x0E, 0x20, 0x5E, 0x23, 0x06, 0x08, 0xCB, 0x12, 0xCB, 0x13, 0xCB, 0x1A, 0xDB, 0xFB, 0x1F, 0x30, 0xFB, 0x7A, 0xD3, 0xFB, 0x10, 0xF0, + 0x0D, 0x20, 0xE9, 0xC9, 0x2A, 0x3D, 0x5C, 0xE5, 0x21, 0x7F, 0x10, 0xE5, 0xED, 0x73, 0x3D, 0x5C, 0xCD, 0xD4, 0x15, 0xF5, 0x16, 0x00, 0xFD, 0x5E, 0xFF, 0x21, 0xC8, 0x00, 0xCD, 0xB5, 0x03, 0xF1, 0x21, 0x38, 0x0F, 0xE5, 0xFE, 0x18, 0x30, 0x31, + 0xFE, 0x07, 0x38, 0x2D, 0xFE, 0x10, 0x38, 0x3A, 0x01, 0x02, 0x00, 0x57, 0xFE, 0x16, 0x38, 0x0C, 0x03, 0xFD, 0xCB, 0x37, 0x7E, 0xCA, 0x1E, 0x10, 0xCD, 0xD4, 0x15, 0x5F, 0xCD, 0xD4, 0x15, 0xD5, 0x2A, 0x5B, 0x5C, 0xFD, 0xCB, 0x07, 0x86, 0xCD, + 0x55, 0x16, 0xC1, 0x23, 0x70, 0x23, 0x71, 0x18, 0x0A, 0xFD, 0xCB, 0x07, 0x86, 0x2A, 0x5B, 0x5C, 0xCD, 0x52, 0x16, 0x12, 0x13, 0xED, 0x53, 0x5B, 0x5C, 0xC9, 0x5F, 0x16, 0x00, 0x21, 0x99, 0x0F, 0x19, 0x5E, 0x19, 0xE5, 0x2A, 0x5B, 0x5C, 0xC9, + 0x09, 0x66, 0x6A, 0x50, 0xB5, 0x70, 0x7E, 0xCF, 0xD4, 0x2A, 0x49, 0x5C, 0xFD, 0xCB, 0x37, 0x6E, 0xC2, 0x97, 0x10, 0xCD, 0x6E, 0x19, 0xCD, 0x95, 0x16, 0x7A, 0xB3, 0xCA, 0x97, 0x10, 0xE5, 0x23, 0x4E, 0x23, 0x46, 0x21, 0x0A, 0x00, 0x09, 0x44, + 0x4D, 0xCD, 0x05, 0x1F, 0xCD, 0x97, 0x10, 0x2A, 0x51, 0x5C, 0xE3, 0xE5, 0x3E, 0xFF, 0xCD, 0x01, 0x16, 0xE1, 0x2B, 0xFD, 0x35, 0x0F, 0xCD, 0x55, 0x18, 0xFD, 0x34, 0x0F, 0x2A, 0x59, 0x5C, 0x23, 0x23, 0x23, 0x23, 0x22, 0x5B, 0x5C, 0xE1, 0xCD, + 0x15, 0x16, 0xC9, 0xFD, 0xCB, 0x37, 0x6E, 0x20, 0x08, 0x21, 0x49, 0x5C, 0xCD, 0x0F, 0x19, 0x18, 0x6D, 0xFD, 0x36, 0x00, 0x10, 0x18, 0x1D, 0xCD, 0x31, 0x10, 0x18, 0x05, 0x7E, 0xFE, 0x0D, 0xC8, 0x23, 0x22, 0x5B, 0x5C, 0xC9, 0xCD, 0x31, 0x10, + 0x01, 0x01, 0x00, 0xC3, 0xE8, 0x19, 0xCD, 0xD4, 0x15, 0xCD, 0xD4, 0x15, 0xE1, 0xE1, 0xE1, 0x22, 0x3D, 0x5C, 0xFD, 0xCB, 0x00, 0x7E, 0xC0, 0xF9, 0xC9, 0x37, 0xCD, 0x95, 0x11, 0xED, 0x52, 0x19, 0x23, 0xC1, 0xD8, 0xC5, 0x44, 0x4D, 0x62, 0x6B, + 0x23, 0x1A, 0xE6, 0xF0, 0xFE, 0x10, 0x20, 0x09, 0x23, 0x1A, 0xD6, 0x17, 0xCE, 0x00, 0x20, 0x01, 0x23, 0xA7, 0xED, 0x42, 0x09, 0xEB, 0x38, 0xE6, 0xC9, 0xFD, 0xCB, 0x37, 0x6E, 0xC0, 0x2A, 0x49, 0x5C, 0xCD, 0x6E, 0x19, 0xEB, 0xCD, 0x95, 0x16, + 0x21, 0x4A, 0x5C, 0xCD, 0x1C, 0x19, 0xCD, 0x95, 0x17, 0x3E, 0x00, 0xC3, 0x01, 0x16, 0xFD, 0xCB, 0x37, 0x7E, 0x28, 0xA8, 0xC3, 0x81, 0x0F, 0xFD, 0xCB, 0x30, 0x66, 0x28, 0xA1, 0xFD, 0x36, 0x00, 0xFF, 0x16, 0x00, 0xFD, 0x5E, 0xFE, 0x21, 0x90, + 0x1A, 0xCD, 0xB5, 0x03, 0xC3, 0x30, 0x0F, 0xE5, 0xCD, 0x90, 0x11, 0x2B, 0xCD, 0xE5, 0x19, 0x22, 0x5B, 0x5C, 0xFD, 0x36, 0x07, 0x00, 0xE1, 0xC9, 0xFD, 0xCB, 0x02, 0x5E, 0xC4, 0x1D, 0x11, 0xA7, 0xFD, 0xCB, 0x01, 0x6E, 0xC8, 0x3A, 0x08, 0x5C, + 0xFD, 0xCB, 0x01, 0xAE, 0xF5, 0xFD, 0xCB, 0x02, 0x6E, 0xC4, 0x6E, 0x0D, 0xF1, 0xFE, 0x20, 0x30, 0x52, 0xFE, 0x10, 0x30, 0x2D, 0xFE, 0x06, 0x30, 0x0A, 0x47, 0xE6, 0x01, 0x4F, 0x78, 0x1F, 0xC6, 0x12, 0x18, 0x2A, 0x20, 0x09, 0x21, 0x6A, 0x5C, + 0x3E, 0x08, 0xAE, 0x77, 0x18, 0x0E, 0xFE, 0x0E, 0xD8, 0xD6, 0x0D, 0x21, 0x41, 0x5C, 0xBE, 0x77, 0x20, 0x02, 0x36, 0x00, 0xFD, 0xCB, 0x02, 0xDE, 0xBF, 0xC9, 0x47, 0xE6, 0x07, 0x4F, 0x3E, 0x10, 0xCB, 0x58, 0x20, 0x01, 0x3C, 0xFD, 0x71, 0xD3, + 0x11, 0x0D, 0x11, 0x18, 0x06, 0x3A, 0x0D, 0x5C, 0x11, 0xA8, 0x10, 0x2A, 0x4F, 0x5C, 0x23, 0x23, 0x73, 0x23, 0x72, 0x37, 0xC9, 0xCD, 0x4D, 0x0D, 0xFD, 0xCB, 0x02, 0x9E, 0xFD, 0xCB, 0x02, 0xAE, 0x2A, 0x8A, 0x5C, 0xE5, 0x2A, 0x3D, 0x5C, 0xE5, + 0x21, 0x67, 0x11, 0xE5, 0xED, 0x73, 0x3D, 0x5C, 0x2A, 0x82, 0x5C, 0xE5, 0x37, 0xCD, 0x95, 0x11, 0xEB, 0xCD, 0x7D, 0x18, 0xEB, 0xCD, 0xE1, 0x18, 0x2A, 0x8A, 0x5C, 0xE3, 0xEB, 0xCD, 0x4D, 0x0D, 0x3A, 0x8B, 0x5C, 0x92, 0x38, 0x26, 0x20, 0x06, + 0x7B, 0xFD, 0x96, 0x50, 0x30, 0x1E, 0x3E, 0x20, 0xD5, 0xCD, 0xF4, 0x09, 0xD1, 0x18, 0xE9, 0x16, 0x00, 0xFD, 0x5E, 0xFE, 0x21, 0x90, 0x1A, 0xCD, 0xB5, 0x03, 0xFD, 0x36, 0x00, 0xFF, 0xED, 0x5B, 0x8A, 0x5C, 0x18, 0x02, 0xD1, 0xE1, 0xE1, 0x22, + 0x3D, 0x5C, 0xC1, 0xD5, 0xCD, 0xD9, 0x0D, 0xE1, 0x22, 0x82, 0x5C, 0xFD, 0x36, 0x26, 0x00, 0xC9, 0x2A, 0x61, 0x5C, 0x2B, 0xA7, 0xED, 0x5B, 0x59, 0x5C, 0xFD, 0xCB, 0x37, 0x6E, 0xC8, 0xED, 0x5B, 0x61, 0x5C, 0xD8, 0x2A, 0x63, 0x5C, 0xC9, 0x7E, + 0xFE, 0x0E, 0x01, 0x06, 0x00, 0xCC, 0xE8, 0x19, 0x7E, 0x23, 0xFE, 0x0D, 0x20, 0xF1, 0xC9, 0xF3, 0x3E, 0xFF, 0xED, 0x5B, 0xB2, 0x5C, 0xD9, 0xED, 0x4B, 0xB4, 0x5C, 0xED, 0x5B, 0x38, 0x5C, 0x2A, 0x7B, 0x5C, 0xD9, 0x47, 0x3E, 0x07, 0xD3, 0xFE, + 0x3E, 0x3F, 0xED, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x62, 0x6B, 0x36, 0x02, 0x2B, 0xBC, 0x20, 0xFA, 0xA7, 0xED, 0x52, 0x19, 0x23, 0x30, 0x06, 0x35, 0x28, 0x03, 0x35, 0x28, 0xF3, 0x2B, 0xD9, 0xED, 0x43, 0xB4, 0x5C, 0xED, 0x53, 0x38, + 0x5C, 0x22, 0x7B, 0x5C, 0xD9, 0x04, 0x28, 0x19, 0x22, 0xB4, 0x5C, 0x11, 0xAF, 0x3E, 0x01, 0xA8, 0x00, 0xEB, 0xED, 0xB8, 0xEB, 0x23, 0x22, 0x7B, 0x5C, 0x2B, 0x01, 0x40, 0x00, 0xED, 0x43, 0x38, 0x5C, 0x22, 0xB2, 0x5C, 0x21, 0x00, 0x3C, 0x22, + 0x36, 0x5C, 0x2A, 0xB2, 0x5C, 0x36, 0x3E, 0x2B, 0xF9, 0x2B, 0x2B, 0x22, 0x3D, 0x5C, 0xED, 0x56, 0xFD, 0x21, 0x3A, 0x5C, 0xFB, 0x21, 0xB6, 0x5C, 0x22, 0x4F, 0x5C, 0x11, 0xAF, 0x15, 0x01, 0x15, 0x00, 0xEB, 0xED, 0xB0, 0xEB, 0x2B, 0x22, 0x57, + 0x5C, 0x23, 0x22, 0x53, 0x5C, 0x22, 0x4B, 0x5C, 0x36, 0x80, 0x23, 0x22, 0x59, 0x5C, 0x36, 0x0D, 0x23, 0x36, 0x80, 0x23, 0x22, 0x61, 0x5C, 0x22, 0x63, 0x5C, 0x22, 0x65, 0x5C, 0x3E, 0x38, 0x32, 0x8D, 0x5C, 0x32, 0x8F, 0x5C, 0x32, 0x48, 0x5C, + 0x21, 0x23, 0x05, 0x22, 0x09, 0x5C, 0xFD, 0x35, 0xC6, 0xFD, 0x35, 0xCA, 0x21, 0xC6, 0x15, 0x11, 0x10, 0x5C, 0x01, 0x0E, 0x00, 0xED, 0xB0, 0xFD, 0xCB, 0x01, 0xCE, 0xCD, 0xDF, 0x0E, 0xFD, 0x36, 0x31, 0x02, 0xCD, 0x6B, 0x0D, 0xAF, 0x11, 0x38, + 0x15, 0xCD, 0x0A, 0x0C, 0xFD, 0xCB, 0x02, 0xEE, 0x18, 0x07, 0xFD, 0x36, 0x31, 0x02, 0xCD, 0x95, 0x17, 0xCD, 0xB0, 0x16, 0x3E, 0x00, 0xCD, 0x01, 0x16, 0xCD, 0x2C, 0x0F, 0xCD, 0x17, 0x1B, 0xFD, 0xCB, 0x00, 0x7E, 0x20, 0x12, 0xFD, 0xCB, 0x30, + 0x66, 0x28, 0x40, 0x2A, 0x59, 0x5C, 0xCD, 0xA7, 0x11, 0xFD, 0x36, 0x00, 0xFF, 0x18, 0xDD, 0x2A, 0x59, 0x5C, 0x22, 0x5D, 0x5C, 0xCD, 0xFB, 0x19, 0x78, 0xB1, 0xC2, 0x5D, 0x15, 0xDF, 0xFE, 0x0D, 0x28, 0xC0, 0xFD, 0xCB, 0x30, 0x46, 0xC4, 0xAF, + 0x0D, 0xCD, 0x6E, 0x0D, 0x3E, 0x19, 0xFD, 0x96, 0x4F, 0x32, 0x8C, 0x5C, 0xFD, 0xCB, 0x01, 0xFE, 0xFD, 0x36, 0x00, 0xFF, 0xFD, 0x36, 0x0A, 0x01, 0xCD, 0x8A, 0x1B, 0x76, 0xFD, 0xCB, 0x01, 0xAE, 0xFD, 0xCB, 0x30, 0x4E, 0xC4, 0xCD, 0x0E, 0x3A, + 0x3A, 0x5C, 0x3C, 0xF5, 0x21, 0x00, 0x00, 0xFD, 0x74, 0x37, 0xFD, 0x74, 0x26, 0x22, 0x0B, 0x5C, 0x21, 0x01, 0x00, 0x22, 0x16, 0x5C, 0xCD, 0xB0, 0x16, 0xFD, 0xCB, 0x37, 0xAE, 0xCD, 0x6E, 0x0D, 0xFD, 0xCB, 0x02, 0xEE, 0xF1, 0x47, 0xFE, 0x0A, + 0x38, 0x02, 0xC6, 0x07, 0xCD, 0xEF, 0x15, 0x3E, 0x20, 0xD7, 0x78, 0x11, 0x91, 0x13, 0xCD, 0x0A, 0x0C, 0xAF, 0x11, 0x36, 0x15, 0xCD, 0x0A, 0x0C, 0xED, 0x4B, 0x45, 0x5C, 0xCD, 0x1B, 0x1A, 0x3E, 0x3A, 0xD7, 0xFD, 0x4E, 0x0D, 0x06, 0x00, 0xCD, + 0x1B, 0x1A, 0xCD, 0x97, 0x10, 0x3A, 0x3A, 0x5C, 0x3C, 0x28, 0x1B, 0xFE, 0x09, 0x28, 0x04, 0xFE, 0x15, 0x20, 0x03, 0xFD, 0x34, 0x0D, 0x01, 0x03, 0x00, 0x11, 0x70, 0x5C, 0x21, 0x44, 0x5C, 0xCB, 0x7E, 0x28, 0x01, 0x09, 0xED, 0xB8, 0xFD, 0x36, + 0x0A, 0xFF, 0xFD, 0xCB, 0x01, 0x9E, 0xC3, 0xAC, 0x12, 0x80, 0x4F, 0xCB, 0x4E, 0x45, 0x58, 0x54, 0x20, 0x77, 0x69, 0x74, 0x68, 0x6F, 0x75, 0x74, 0x20, 0x46, 0x4F, 0xD2, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6C, 0x65, 0x20, 0x6E, 0x6F, 0x74, + 0x20, 0x66, 0x6F, 0x75, 0x6E, 0xE4, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x20, 0x77, 0x72, 0x6F, 0x6E, 0xE7, 0x4F, 0x75, 0x74, 0x20, 0x6F, 0x66, 0x20, 0x6D, 0x65, 0x6D, 0x6F, 0x72, 0xF9, 0x4F, 0x75, 0x74, 0x20, 0x6F, 0x66, + 0x20, 0x73, 0x63, 0x72, 0x65, 0x65, 0xEE, 0x4E, 0x75, 0x6D, 0x62, 0x65, 0x72, 0x20, 0x74, 0x6F, 0x6F, 0x20, 0x62, 0x69, 0xE7, 0x52, 0x45, 0x54, 0x55, 0x52, 0x4E, 0x20, 0x77, 0x69, 0x74, 0x68, 0x6F, 0x75, 0x74, 0x20, 0x47, 0x4F, 0x53, 0x55, + 0xC2, 0x45, 0x6E, 0x64, 0x20, 0x6F, 0x66, 0x20, 0x66, 0x69, 0x6C, 0xE5, 0x53, 0x54, 0x4F, 0x50, 0x20, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6D, 0x65, 0x6E, 0xF4, 0x49, 0x6E, 0x76, 0x61, 0x6C, 0x69, 0x64, 0x20, 0x61, 0x72, 0x67, 0x75, 0x6D, 0x65, + 0x6E, 0xF4, 0x49, 0x6E, 0x74, 0x65, 0x67, 0x65, 0x72, 0x20, 0x6F, 0x75, 0x74, 0x20, 0x6F, 0x66, 0x20, 0x72, 0x61, 0x6E, 0x67, 0xE5, 0x4E, 0x6F, 0x6E, 0x73, 0x65, 0x6E, 0x73, 0x65, 0x20, 0x69, 0x6E, 0x20, 0x42, 0x41, 0x53, 0x49, 0xC3, 0x42, + 0x52, 0x45, 0x41, 0x4B, 0x20, 0x2D, 0x20, 0x43, 0x4F, 0x4E, 0x54, 0x20, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0xF3, 0x4F, 0x75, 0x74, 0x20, 0x6F, 0x66, 0x20, 0x44, 0x41, 0x54, 0xC1, 0x49, 0x6E, 0x76, 0x61, 0x6C, 0x69, 0x64, 0x20, 0x66, 0x69, + 0x6C, 0x65, 0x20, 0x6E, 0x61, 0x6D, 0xE5, 0x4E, 0x6F, 0x20, 0x72, 0x6F, 0x6F, 0x6D, 0x20, 0x66, 0x6F, 0x72, 0x20, 0x6C, 0x69, 0x6E, 0xE5, 0x53, 0x54, 0x4F, 0x50, 0x20, 0x69, 0x6E, 0x20, 0x49, 0x4E, 0x50, 0x55, 0xD4, 0x46, 0x4F, 0x52, 0x20, + 0x77, 0x69, 0x74, 0x68, 0x6F, 0x75, 0x74, 0x20, 0x4E, 0x45, 0x58, 0xD4, 0x49, 0x6E, 0x76, 0x61, 0x6C, 0x69, 0x64, 0x20, 0x49, 0x2F, 0x4F, 0x20, 0x64, 0x65, 0x76, 0x69, 0x63, 0xE5, 0x49, 0x6E, 0x76, 0x61, 0x6C, 0x69, 0x64, 0x20, 0x63, 0x6F, + 0x6C, 0x6F, 0x75, 0xF2, 0x42, 0x52, 0x45, 0x41, 0x4B, 0x20, 0x69, 0x6E, 0x74, 0x6F, 0x20, 0x70, 0x72, 0x6F, 0x67, 0x72, 0x61, 0xED, 0x52, 0x41, 0x4D, 0x54, 0x4F, 0x50, 0x20, 0x6E, 0x6F, 0x20, 0x67, 0x6F, 0x6F, 0xE4, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x6D, 0x65, 0x6E, 0x74, 0x20, 0x6C, 0x6F, 0x73, 0xF4, 0x49, 0x6E, 0x76, 0x61, 0x6C, 0x69, 0x64, 0x20, 0x73, 0x74, 0x72, 0x65, 0x61, 0xED, 0x46, 0x4E, 0x20, 0x77, 0x69, 0x74, 0x68, 0x6F, 0x75, 0x74, 0x20, 0x44, 0x45, 0xC6, 0x50, 0x61, + 0x72, 0x61, 0x6D, 0x65, 0x74, 0x65, 0x72, 0x20, 0x65, 0x72, 0x72, 0x6F, 0xF2, 0x54, 0x61, 0x70, 0x65, 0x20, 0x6C, 0x6F, 0x61, 0x64, 0x69, 0x6E, 0x67, 0x20, 0x65, 0x72, 0x72, 0x6F, 0xF2, 0x2C, 0xA0, 0x7F, 0x20, 0x31, 0x39, 0x38, 0x32, 0x20, + 0x53, 0x69, 0x6E, 0x63, 0x6C, 0x61, 0x69, 0x72, 0x20, 0x52, 0x65, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x20, 0x4C, 0x74, 0xE4, 0x3E, 0x10, 0x01, 0x00, 0x00, 0xC3, 0x13, 0x13, 0xED, 0x43, 0x49, 0x5C, 0x2A, 0x5D, 0x5C, 0xEB, 0x21, 0x55, 0x15, + 0xE5, 0x2A, 0x61, 0x5C, 0x37, 0xED, 0x52, 0xE5, 0x60, 0x69, 0xCD, 0x6E, 0x19, 0x20, 0x06, 0xCD, 0xB8, 0x19, 0xCD, 0xE8, 0x19, 0xC1, 0x79, 0x3D, 0xB0, 0x28, 0x28, 0xC5, 0x03, 0x03, 0x03, 0x03, 0x2B, 0xED, 0x5B, 0x53, 0x5C, 0xD5, 0xCD, 0x55, + 0x16, 0xE1, 0x22, 0x53, 0x5C, 0xC1, 0xC5, 0x13, 0x2A, 0x61, 0x5C, 0x2B, 0x2B, 0xED, 0xB8, 0x2A, 0x49, 0x5C, 0xEB, 0xC1, 0x70, 0x2B, 0x71, 0x2B, 0x73, 0x2B, 0x72, 0xF1, 0xC3, 0xA2, 0x12, 0xF4, 0x09, 0xA8, 0x10, 0x4B, 0xF4, 0x09, 0xC4, 0x15, + 0x53, 0x81, 0x0F, 0xC4, 0x15, 0x52, 0xF4, 0x09, 0xC4, 0x15, 0x50, 0x80, 0xCF, 0x12, 0x01, 0x00, 0x06, 0x00, 0x0B, 0x00, 0x01, 0x00, 0x01, 0x00, 0x06, 0x00, 0x10, 0x00, 0xFD, 0xCB, 0x02, 0x6E, 0x20, 0x04, 0xFD, 0xCB, 0x02, 0xDE, 0xCD, 0xE6, + 0x15, 0xD8, 0x28, 0xFA, 0xCF, 0x07, 0xD9, 0xE5, 0x2A, 0x51, 0x5C, 0x23, 0x23, 0x18, 0x08, 0x1E, 0x30, 0x83, 0xD9, 0xE5, 0x2A, 0x51, 0x5C, 0x5E, 0x23, 0x56, 0xEB, 0xCD, 0x2C, 0x16, 0xE1, 0xD9, 0xC9, 0x87, 0xC6, 0x16, 0x6F, 0x26, 0x5C, 0x5E, + 0x23, 0x56, 0x7A, 0xB3, 0x20, 0x02, 0xCF, 0x17, 0x1B, 0x2A, 0x4F, 0x5C, 0x19, 0x22, 0x51, 0x5C, 0xFD, 0xCB, 0x30, 0xA6, 0x23, 0x23, 0x23, 0x23, 0x4E, 0x21, 0x2D, 0x16, 0xCD, 0xDC, 0x16, 0xD0, 0x16, 0x00, 0x5E, 0x19, 0xE9, 0x4B, 0x06, 0x53, + 0x12, 0x50, 0x1B, 0x00, 0xFD, 0xCB, 0x02, 0xC6, 0xFD, 0xCB, 0x01, 0xAE, 0xFD, 0xCB, 0x30, 0xE6, 0x18, 0x04, 0xFD, 0xCB, 0x02, 0x86, 0xFD, 0xCB, 0x01, 0x8E, 0xC3, 0x4D, 0x0D, 0xFD, 0xCB, 0x01, 0xCE, 0xC9, 0x01, 0x01, 0x00, 0xE5, 0xCD, 0x05, + 0x1F, 0xE1, 0xCD, 0x64, 0x16, 0x2A, 0x65, 0x5C, 0xEB, 0xED, 0xB8, 0xC9, 0xF5, 0xE5, 0x21, 0x4B, 0x5C, 0x3E, 0x0E, 0x5E, 0x23, 0x56, 0xE3, 0xA7, 0xED, 0x52, 0x19, 0xE3, 0x30, 0x09, 0xD5, 0xEB, 0x09, 0xEB, 0x72, 0x2B, 0x73, 0x23, 0xD1, 0x23, + 0x3D, 0x20, 0xE8, 0xEB, 0xD1, 0xF1, 0xA7, 0xED, 0x52, 0x44, 0x4D, 0x03, 0x19, 0xEB, 0xC9, 0x00, 0x00, 0xEB, 0x11, 0x8F, 0x16, 0x7E, 0xE6, 0xC0, 0x20, 0xF7, 0x56, 0x23, 0x5E, 0xC9, 0x2A, 0x63, 0x5C, 0x2B, 0xCD, 0x55, 0x16, 0x23, 0x23, 0xC1, + 0xED, 0x43, 0x61, 0x5C, 0xC1, 0xEB, 0x23, 0xC9, 0x2A, 0x59, 0x5C, 0x36, 0x0D, 0x22, 0x5B, 0x5C, 0x23, 0x36, 0x80, 0x23, 0x22, 0x61, 0x5C, 0x2A, 0x61, 0x5C, 0x22, 0x63, 0x5C, 0x2A, 0x63, 0x5C, 0x22, 0x65, 0x5C, 0xE5, 0x21, 0x92, 0x5C, 0x22, + 0x68, 0x5C, 0xE1, 0xC9, 0xED, 0x5B, 0x59, 0x5C, 0xC3, 0xE5, 0x19, 0x23, 0x7E, 0xA7, 0xC8, 0xB9, 0x23, 0x20, 0xF8, 0x37, 0xC9, 0xCD, 0x1E, 0x17, 0xCD, 0x01, 0x17, 0x01, 0x00, 0x00, 0x11, 0xE2, 0xA3, 0xEB, 0x19, 0x38, 0x07, 0x01, 0xD4, 0x15, + 0x09, 0x4E, 0x23, 0x46, 0xEB, 0x71, 0x23, 0x70, 0xC9, 0xE5, 0x2A, 0x4F, 0x5C, 0x09, 0x23, 0x23, 0x23, 0x4E, 0xEB, 0x21, 0x16, 0x17, 0xCD, 0xDC, 0x16, 0x4E, 0x06, 0x00, 0x09, 0xE9, 0x4B, 0x05, 0x53, 0x03, 0x50, 0x01, 0xE1, 0xC9, 0xCD, 0x94, + 0x1E, 0xFE, 0x10, 0x38, 0x02, 0xCF, 0x17, 0xC6, 0x03, 0x07, 0x21, 0x10, 0x5C, 0x4F, 0x06, 0x00, 0x09, 0x4E, 0x23, 0x46, 0x2B, 0xC9, 0xEF, 0x01, 0x38, 0xCD, 0x1E, 0x17, 0x78, 0xB1, 0x28, 0x16, 0xEB, 0x2A, 0x4F, 0x5C, 0x09, 0x23, 0x23, 0x23, + 0x7E, 0xEB, 0xFE, 0x4B, 0x28, 0x08, 0xFE, 0x53, 0x28, 0x04, 0xFE, 0x50, 0x20, 0xCF, 0xCD, 0x5D, 0x17, 0x73, 0x23, 0x72, 0xC9, 0xE5, 0xCD, 0xF1, 0x2B, 0x78, 0xB1, 0x20, 0x02, 0xCF, 0x0E, 0xC5, 0x1A, 0xE6, 0xDF, 0x4F, 0x21, 0x7A, 0x17, 0xCD, + 0xDC, 0x16, 0x30, 0xF1, 0x4E, 0x06, 0x00, 0x09, 0xC1, 0xE9, 0x4B, 0x06, 0x53, 0x08, 0x50, 0x0A, 0x00, 0x1E, 0x01, 0x18, 0x06, 0x1E, 0x06, 0x18, 0x02, 0x1E, 0x10, 0x0B, 0x78, 0xB1, 0x20, 0xD5, 0x57, 0xE1, 0xC9, 0x18, 0x90, 0xED, 0x73, 0x3F, + 0x5C, 0xFD, 0x36, 0x02, 0x10, 0xCD, 0xAF, 0x0D, 0xFD, 0xCB, 0x02, 0xC6, 0xFD, 0x46, 0x31, 0xCD, 0x44, 0x0E, 0xFD, 0xCB, 0x02, 0x86, 0xFD, 0xCB, 0x30, 0xC6, 0x2A, 0x49, 0x5C, 0xED, 0x5B, 0x6C, 0x5C, 0xA7, 0xED, 0x52, 0x19, 0x38, 0x22, 0xD5, + 0xCD, 0x6E, 0x19, 0x11, 0xC0, 0x02, 0xEB, 0xED, 0x52, 0xE3, 0xCD, 0x6E, 0x19, 0xC1, 0xC5, 0xCD, 0xB8, 0x19, 0xC1, 0x09, 0x38, 0x0E, 0xEB, 0x56, 0x23, 0x5E, 0x2B, 0xED, 0x53, 0x6C, 0x5C, 0x18, 0xED, 0x22, 0x6C, 0x5C, 0x2A, 0x6C, 0x5C, 0xCD, + 0x6E, 0x19, 0x28, 0x01, 0xEB, 0xCD, 0x33, 0x18, 0xFD, 0xCB, 0x02, 0xA6, 0xC9, 0x3E, 0x03, 0x18, 0x02, 0x3E, 0x02, 0xFD, 0x36, 0x02, 0x00, 0xCD, 0x30, 0x25, 0xC4, 0x01, 0x16, 0xDF, 0xCD, 0x70, 0x20, 0x38, 0x14, 0xDF, 0xFE, 0x3B, 0x28, 0x04, + 0xFE, 0x2C, 0x20, 0x06, 0xE7, 0xCD, 0x82, 0x1C, 0x18, 0x08, 0xCD, 0xE6, 0x1C, 0x18, 0x03, 0xCD, 0xDE, 0x1C, 0xCD, 0xEE, 0x1B, 0xCD, 0x99, 0x1E, 0x78, 0xE6, 0x3F, 0x67, 0x69, 0x22, 0x49, 0x5C, 0xCD, 0x6E, 0x19, 0x1E, 0x01, 0xCD, 0x55, 0x18, + 0xD7, 0xFD, 0xCB, 0x02, 0x66, 0x28, 0xF6, 0x3A, 0x6B, 0x5C, 0xFD, 0x96, 0x4F, 0x20, 0xEE, 0xAB, 0xC8, 0xE5, 0xD5, 0x21, 0x6C, 0x5C, 0xCD, 0x0F, 0x19, 0xD1, 0xE1, 0x18, 0xE0, 0xED, 0x4B, 0x49, 0x5C, 0xCD, 0x80, 0x19, 0x16, 0x3E, 0x28, 0x05, + 0x11, 0x00, 0x00, 0xCB, 0x13, 0xFD, 0x73, 0x2D, 0x7E, 0xFE, 0x40, 0xC1, 0xD0, 0xC5, 0xCD, 0x28, 0x1A, 0x23, 0x23, 0x23, 0xFD, 0xCB, 0x01, 0x86, 0x7A, 0xA7, 0x28, 0x05, 0xD7, 0xFD, 0xCB, 0x01, 0xC6, 0xD5, 0xEB, 0xFD, 0xCB, 0x30, 0x96, 0x21, + 0x3B, 0x5C, 0xCB, 0x96, 0xFD, 0xCB, 0x37, 0x6E, 0x28, 0x02, 0xCB, 0xD6, 0x2A, 0x5F, 0x5C, 0xA7, 0xED, 0x52, 0x20, 0x05, 0x3E, 0x3F, 0xCD, 0xC1, 0x18, 0xCD, 0xE1, 0x18, 0xEB, 0x7E, 0xCD, 0xB6, 0x18, 0x23, 0xFE, 0x0D, 0x28, 0x06, 0xEB, 0xCD, + 0x37, 0x19, 0x18, 0xE0, 0xD1, 0xC9, 0xFE, 0x0E, 0xC0, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x7E, 0xC9, 0xD9, 0x2A, 0x8F, 0x5C, 0xE5, 0xCB, 0xBC, 0xCB, 0xFD, 0x22, 0x8F, 0x5C, 0x21, 0x91, 0x5C, 0x56, 0xD5, 0x36, 0x00, 0xCD, 0xF4, 0x09, 0xE1, + 0xFD, 0x74, 0x57, 0xE1, 0x22, 0x8F, 0x5C, 0xD9, 0xC9, 0x2A, 0x5B, 0x5C, 0xA7, 0xED, 0x52, 0xC0, 0x3A, 0x41, 0x5C, 0xCB, 0x07, 0x28, 0x04, 0xC6, 0x43, 0x18, 0x16, 0x21, 0x3B, 0x5C, 0xCB, 0x9E, 0x3E, 0x4B, 0xCB, 0x56, 0x28, 0x0B, 0xCB, 0xDE, + 0x3C, 0xFD, 0xCB, 0x30, 0x5E, 0x28, 0x02, 0x3E, 0x43, 0xD5, 0xCD, 0xC1, 0x18, 0xD1, 0xC9, 0x5E, 0x23, 0x56, 0xE5, 0xEB, 0x23, 0xCD, 0x6E, 0x19, 0xCD, 0x95, 0x16, 0xE1, 0xFD, 0xCB, 0x37, 0x6E, 0xC0, 0x72, 0x2B, 0x73, 0xC9, 0x7B, 0xA7, 0xF8, + 0x18, 0x0D, 0xAF, 0x09, 0x3C, 0x38, 0xFC, 0xED, 0x42, 0x3D, 0x28, 0xF1, 0xC3, 0xEF, 0x15, 0xCD, 0x1B, 0x2D, 0x30, 0x30, 0xFE, 0x21, 0x38, 0x2C, 0xFD, 0xCB, 0x01, 0x96, 0xFE, 0xCB, 0x28, 0x24, 0xFE, 0x3A, 0x20, 0x0E, 0xFD, 0xCB, 0x37, 0x6E, + 0x20, 0x16, 0xFD, 0xCB, 0x30, 0x56, 0x28, 0x14, 0x18, 0x0E, 0xFE, 0x22, 0x20, 0x0A, 0xF5, 0x3A, 0x6A, 0x5C, 0xEE, 0x04, 0x32, 0x6A, 0x5C, 0xF1, 0xFD, 0xCB, 0x01, 0xD6, 0xD7, 0xC9, 0xE5, 0x2A, 0x53, 0x5C, 0x54, 0x5D, 0xC1, 0xCD, 0x80, 0x19, + 0xD0, 0xC5, 0xCD, 0xB8, 0x19, 0xEB, 0x18, 0xF4, 0x7E, 0xB8, 0xC0, 0x23, 0x7E, 0x2B, 0xB9, 0xC9, 0x23, 0x23, 0x23, 0x22, 0x5D, 0x5C, 0x0E, 0x00, 0x15, 0xC8, 0xE7, 0xBB, 0x20, 0x04, 0xA7, 0xC9, 0x23, 0x7E, 0xCD, 0xB6, 0x18, 0x22, 0x5D, 0x5C, + 0xFE, 0x22, 0x20, 0x01, 0x0D, 0xFE, 0x3A, 0x28, 0x04, 0xFE, 0xCB, 0x20, 0x04, 0xCB, 0x41, 0x28, 0xDF, 0xFE, 0x0D, 0x20, 0xE3, 0x15, 0x37, 0xC9, 0xE5, 0x7E, 0xFE, 0x40, 0x38, 0x17, 0xCB, 0x6F, 0x28, 0x14, 0x87, 0xFA, 0xC7, 0x19, 0x3F, 0x01, + 0x05, 0x00, 0x30, 0x02, 0x0E, 0x12, 0x17, 0x23, 0x7E, 0x30, 0xFB, 0x18, 0x06, 0x23, 0x23, 0x4E, 0x23, 0x46, 0x23, 0x09, 0xD1, 0xA7, 0xED, 0x52, 0x44, 0x4D, 0x19, 0xEB, 0xC9, 0xCD, 0xDD, 0x19, 0xC5, 0x78, 0x2F, 0x47, 0x79, 0x2F, 0x4F, 0x03, + 0xCD, 0x64, 0x16, 0xEB, 0xE1, 0x19, 0xD5, 0xED, 0xB0, 0xE1, 0xC9, 0x2A, 0x59, 0x5C, 0x2B, 0x22, 0x5D, 0x5C, 0xE7, 0x21, 0x92, 0x5C, 0x22, 0x65, 0x5C, 0xCD, 0x3B, 0x2D, 0xCD, 0xA2, 0x2D, 0x38, 0x04, 0x21, 0xF0, 0xD8, 0x09, 0xDA, 0x8A, 0x1C, + 0xC3, 0xC5, 0x16, 0xD5, 0xE5, 0xAF, 0xCB, 0x78, 0x20, 0x20, 0x60, 0x69, 0x1E, 0xFF, 0x18, 0x08, 0xD5, 0x56, 0x23, 0x5E, 0xE5, 0xEB, 0x1E, 0x20, 0x01, 0x18, 0xFC, 0xCD, 0x2A, 0x19, 0x01, 0x9C, 0xFF, 0xCD, 0x2A, 0x19, 0x0E, 0xF6, 0xCD, 0x2A, + 0x19, 0x7D, 0xCD, 0xEF, 0x15, 0xE1, 0xD1, 0xC9, 0xB1, 0xCB, 0xBC, 0xBF, 0xC4, 0xAF, 0xB4, 0x93, 0x91, 0x92, 0x95, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x7F, 0x81, 0x2E, 0x6C, 0x6E, 0x70, 0x48, 0x94, 0x56, 0x3F, 0x41, 0x2B, 0x17, 0x1F, + 0x37, 0x77, 0x44, 0x0F, 0x59, 0x2B, 0x43, 0x2D, 0x51, 0x3A, 0x6D, 0x42, 0x0D, 0x49, 0x5C, 0x44, 0x15, 0x5D, 0x01, 0x3D, 0x02, 0x06, 0x00, 0x67, 0x1E, 0x06, 0xCB, 0x05, 0xF0, 0x1C, 0x06, 0x00, 0xED, 0x1E, 0x00, 0xEE, 0x1C, 0x00, 0x23, 0x1F, + 0x04, 0x3D, 0x06, 0xCC, 0x06, 0x05, 0x03, 0x1D, 0x04, 0x00, 0xAB, 0x1D, 0x05, 0xCD, 0x1F, 0x05, 0x89, 0x20, 0x05, 0x02, 0x2C, 0x05, 0xB2, 0x1B, 0x00, 0xB7, 0x11, 0x03, 0xA1, 0x1E, 0x05, 0xF9, 0x17, 0x08, 0x00, 0x80, 0x1E, 0x03, 0x4F, 0x1E, + 0x00, 0x5F, 0x1E, 0x03, 0xAC, 0x1E, 0x00, 0x6B, 0x0D, 0x09, 0x00, 0xDC, 0x22, 0x06, 0x00, 0x3A, 0x1F, 0x05, 0xED, 0x1D, 0x05, 0x27, 0x1E, 0x03, 0x42, 0x1E, 0x09, 0x05, 0x82, 0x23, 0x00, 0xAC, 0x0E, 0x05, 0xC9, 0x1F, 0x05, 0xF5, 0x17, 0x0B, + 0x0B, 0x0B, 0x0B, 0x08, 0x00, 0xF8, 0x03, 0x09, 0x05, 0x20, 0x23, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x08, 0x00, 0x7A, 0x1E, 0x06, 0x00, 0x94, 0x22, 0x05, 0x60, 0x1F, 0x06, 0x2C, 0x0A, 0x00, 0x36, 0x17, 0x06, 0x00, 0xE5, 0x16, 0x0A, 0x00, + 0x93, 0x17, 0x0A, 0x2C, 0x0A, 0x00, 0x93, 0x17, 0x0A, 0x00, 0x93, 0x17, 0x00, 0x93, 0x17, 0xFD, 0xCB, 0x01, 0xBE, 0xCD, 0xFB, 0x19, 0xAF, 0x32, 0x47, 0x5C, 0x3D, 0x32, 0x3A, 0x5C, 0x18, 0x01, 0xE7, 0xCD, 0xBF, 0x16, 0xFD, 0x34, 0x0D, 0xFA, + 0x8A, 0x1C, 0xDF, 0x06, 0x00, 0xFE, 0x0D, 0x28, 0x7A, 0xFE, 0x3A, 0x28, 0xEB, 0x21, 0x76, 0x1B, 0xE5, 0x4F, 0xE7, 0x79, 0xD6, 0xCE, 0xDA, 0x8A, 0x1C, 0x4F, 0x21, 0x48, 0x1A, 0x09, 0x4E, 0x09, 0x18, 0x03, 0x2A, 0x74, 0x5C, 0x7E, 0x23, 0x22, + 0x74, 0x5C, 0x01, 0x52, 0x1B, 0xC5, 0x4F, 0xFE, 0x20, 0x30, 0x0C, 0x21, 0x01, 0x1C, 0x06, 0x00, 0x09, 0x4E, 0x09, 0xE5, 0xDF, 0x05, 0xC9, 0xDF, 0xB9, 0xC2, 0x8A, 0x1C, 0xE7, 0xC9, 0xCD, 0x54, 0x1F, 0x38, 0x02, 0xCF, 0x14, 0xFD, 0xCB, 0x0A, + 0x7E, 0x20, 0x71, 0x2A, 0x42, 0x5C, 0xCB, 0x7C, 0x28, 0x14, 0x21, 0xFE, 0xFF, 0x22, 0x45, 0x5C, 0x2A, 0x61, 0x5C, 0x2B, 0xED, 0x5B, 0x59, 0x5C, 0x1B, 0x3A, 0x44, 0x5C, 0x18, 0x33, 0xCD, 0x6E, 0x19, 0x3A, 0x44, 0x5C, 0x28, 0x19, 0xA7, 0x20, + 0x43, 0x47, 0x7E, 0xE6, 0xC0, 0x78, 0x28, 0x0F, 0xCF, 0xFF, 0xC1, 0xCD, 0x30, 0x25, 0xC8, 0x2A, 0x55, 0x5C, 0x3E, 0xC0, 0xA6, 0xC0, 0xAF, 0xFE, 0x01, 0xCE, 0x00, 0x56, 0x23, 0x5E, 0xED, 0x53, 0x45, 0x5C, 0x23, 0x5E, 0x23, 0x56, 0xEB, 0x19, + 0x23, 0x22, 0x55, 0x5C, 0xEB, 0x22, 0x5D, 0x5C, 0x57, 0x1E, 0x00, 0xFD, 0x36, 0x0A, 0xFF, 0x15, 0xFD, 0x72, 0x0D, 0xCA, 0x28, 0x1B, 0x14, 0xCD, 0x8B, 0x19, 0x28, 0x08, 0xCF, 0x16, 0xCD, 0x30, 0x25, 0xC0, 0xC1, 0xC1, 0xDF, 0xFE, 0x0D, 0x28, + 0xBA, 0xFE, 0x3A, 0xCA, 0x28, 0x1B, 0xC3, 0x8A, 0x1C, 0x0F, 0x1D, 0x4B, 0x09, 0x67, 0x0B, 0x7B, 0x8E, 0x71, 0xB4, 0x81, 0xCF, 0xCD, 0xDE, 0x1C, 0xBF, 0xC1, 0xCC, 0xEE, 0x1B, 0xEB, 0x2A, 0x74, 0x5C, 0x4E, 0x23, 0x46, 0xEB, 0xC5, 0xC9, 0xCD, + 0xB2, 0x28, 0xFD, 0x36, 0x37, 0x00, 0x30, 0x08, 0xFD, 0xCB, 0x37, 0xCE, 0x20, 0x18, 0xCF, 0x01, 0xCC, 0x96, 0x29, 0xFD, 0xCB, 0x01, 0x76, 0x20, 0x0D, 0xAF, 0xCD, 0x30, 0x25, 0xC4, 0xF1, 0x2B, 0x21, 0x71, 0x5C, 0xB6, 0x77, 0xEB, 0xED, 0x43, + 0x72, 0x5C, 0x22, 0x4D, 0x5C, 0xC9, 0xC1, 0xCD, 0x56, 0x1C, 0xCD, 0xEE, 0x1B, 0xC9, 0x3A, 0x3B, 0x5C, 0xF5, 0xCD, 0xFB, 0x24, 0xF1, 0xFD, 0x56, 0x01, 0xAA, 0xE6, 0x40, 0x20, 0x24, 0xCB, 0x7A, 0xC2, 0xFF, 0x2A, 0xC9, 0xCD, 0xB2, 0x28, 0xF5, + 0x79, 0xF6, 0x9F, 0x3C, 0x20, 0x14, 0xF1, 0x18, 0xA9, 0xE7, 0xCD, 0x82, 0x1C, 0xFE, 0x2C, 0x20, 0x09, 0xE7, 0xCD, 0xFB, 0x24, 0xFD, 0xCB, 0x01, 0x76, 0xC0, 0xCF, 0x0B, 0xCD, 0xFB, 0x24, 0xFD, 0xCB, 0x01, 0x76, 0xC8, 0x18, 0xF4, 0xFD, 0xCB, + 0x01, 0x7E, 0xFD, 0xCB, 0x02, 0x86, 0xC4, 0x4D, 0x0D, 0xF1, 0x3A, 0x74, 0x5C, 0xD6, 0x13, 0xCD, 0xFC, 0x21, 0xCD, 0xEE, 0x1B, 0x2A, 0x8F, 0x5C, 0x22, 0x8D, 0x5C, 0x21, 0x91, 0x5C, 0x7E, 0x07, 0xAE, 0xE6, 0xAA, 0xAE, 0x77, 0xC9, 0xCD, 0x30, + 0x25, 0x28, 0x13, 0xFD, 0xCB, 0x02, 0x86, 0xCD, 0x4D, 0x0D, 0x21, 0x90, 0x5C, 0x7E, 0xF6, 0xF8, 0x77, 0xFD, 0xCB, 0x57, 0xB6, 0xDF, 0xCD, 0xE2, 0x21, 0x18, 0x9F, 0xC3, 0x05, 0x06, 0xFE, 0x0D, 0x28, 0x04, 0xFE, 0x3A, 0x20, 0x9C, 0xCD, 0x30, + 0x25, 0xC8, 0xEF, 0xA0, 0x38, 0xC9, 0xCF, 0x08, 0xC1, 0xCD, 0x30, 0x25, 0x28, 0x0A, 0xEF, 0x02, 0x38, 0xEB, 0xCD, 0xE9, 0x34, 0xDA, 0xB3, 0x1B, 0xC3, 0x29, 0x1B, 0xFE, 0xCD, 0x20, 0x09, 0xE7, 0xCD, 0x82, 0x1C, 0xCD, 0xEE, 0x1B, 0x18, 0x06, + 0xCD, 0xEE, 0x1B, 0xEF, 0xA1, 0x38, 0xEF, 0xC0, 0x02, 0x01, 0xE0, 0x01, 0x38, 0xCD, 0xFF, 0x2A, 0x22, 0x68, 0x5C, 0x2B, 0x7E, 0xCB, 0xFE, 0x01, 0x06, 0x00, 0x09, 0x07, 0x38, 0x06, 0x0E, 0x0D, 0xCD, 0x55, 0x16, 0x23, 0xE5, 0xEF, 0x02, 0x02, + 0x38, 0xE1, 0xEB, 0x0E, 0x0A, 0xED, 0xB0, 0x2A, 0x45, 0x5C, 0xEB, 0x73, 0x23, 0x72, 0xFD, 0x56, 0x0D, 0x14, 0x23, 0x72, 0xCD, 0xDA, 0x1D, 0xD0, 0xFD, 0x46, 0x38, 0x2A, 0x45, 0x5C, 0x22, 0x42, 0x5C, 0x3A, 0x47, 0x5C, 0xED, 0x44, 0x57, 0x2A, + 0x5D, 0x5C, 0x1E, 0xF3, 0xC5, 0xED, 0x4B, 0x55, 0x5C, 0xCD, 0x86, 0x1D, 0xED, 0x43, 0x55, 0x5C, 0xC1, 0x38, 0x11, 0xE7, 0xF6, 0x20, 0xB8, 0x28, 0x03, 0xE7, 0x18, 0xE8, 0xE7, 0x3E, 0x01, 0x92, 0x32, 0x44, 0x5C, 0xC9, 0xCF, 0x11, 0x7E, 0xFE, + 0x3A, 0x28, 0x18, 0x23, 0x7E, 0xE6, 0xC0, 0x37, 0xC0, 0x46, 0x23, 0x4E, 0xED, 0x43, 0x42, 0x5C, 0x23, 0x4E, 0x23, 0x46, 0xE5, 0x09, 0x44, 0x4D, 0xE1, 0x16, 0x00, 0xC5, 0xCD, 0x8B, 0x19, 0xC1, 0xD0, 0x18, 0xE0, 0xFD, 0xCB, 0x37, 0x4E, 0xC2, + 0x2E, 0x1C, 0x2A, 0x4D, 0x5C, 0xCB, 0x7E, 0x28, 0x1F, 0x23, 0x22, 0x68, 0x5C, 0xEF, 0xE0, 0xE2, 0x0F, 0xC0, 0x02, 0x38, 0xCD, 0xDA, 0x1D, 0xD8, 0x2A, 0x68, 0x5C, 0x11, 0x0F, 0x00, 0x19, 0x5E, 0x23, 0x56, 0x23, 0x66, 0xEB, 0xC3, 0x73, 0x1E, + 0xCF, 0x00, 0xEF, 0xE1, 0xE0, 0xE2, 0x36, 0x00, 0x02, 0x01, 0x03, 0x37, 0x00, 0x04, 0x38, 0xA7, 0xC9, 0x38, 0x37, 0xC9, 0xE7, 0xCD, 0x1F, 0x1C, 0xCD, 0x30, 0x25, 0x28, 0x29, 0xDF, 0x22, 0x5F, 0x5C, 0x2A, 0x57, 0x5C, 0x7E, 0xFE, 0x2C, 0x28, + 0x09, 0x1E, 0xE4, 0xCD, 0x86, 0x1D, 0x30, 0x02, 0xCF, 0x0D, 0xCD, 0x77, 0x00, 0xCD, 0x56, 0x1C, 0xDF, 0x22, 0x57, 0x5C, 0x2A, 0x5F, 0x5C, 0xFD, 0x36, 0x26, 0x00, 0xCD, 0x78, 0x00, 0xDF, 0xFE, 0x2C, 0x28, 0xC9, 0xCD, 0xEE, 0x1B, 0xC9, 0xCD, + 0x30, 0x25, 0x20, 0x0B, 0xCD, 0xFB, 0x24, 0xFE, 0x2C, 0xC4, 0xEE, 0x1B, 0xE7, 0x18, 0xF5, 0x3E, 0xE4, 0x47, 0xED, 0xB9, 0x11, 0x00, 0x02, 0xC3, 0x8B, 0x19, 0xCD, 0x99, 0x1E, 0x60, 0x69, 0xCD, 0x6E, 0x19, 0x2B, 0x22, 0x57, 0x5C, 0xC9, 0xCD, + 0x99, 0x1E, 0x78, 0xB1, 0x20, 0x04, 0xED, 0x4B, 0x78, 0x5C, 0xED, 0x43, 0x76, 0x5C, 0xC9, 0x2A, 0x6E, 0x5C, 0xFD, 0x56, 0x36, 0x18, 0x0C, 0xCD, 0x99, 0x1E, 0x60, 0x69, 0x16, 0x00, 0x7C, 0xFE, 0xF0, 0x30, 0x2C, 0x22, 0x42, 0x5C, 0xFD, 0x72, + 0x0A, 0xC9, 0xCD, 0x85, 0x1E, 0xED, 0x79, 0xC9, 0xCD, 0x85, 0x1E, 0x02, 0xC9, 0xCD, 0xD5, 0x2D, 0x38, 0x15, 0x28, 0x02, 0xED, 0x44, 0xF5, 0xCD, 0x99, 0x1E, 0xF1, 0xC9, 0xCD, 0xD5, 0x2D, 0x18, 0x03, 0xCD, 0xA2, 0x2D, 0x38, 0x01, 0xC8, 0xCF, + 0x0A, 0xCD, 0x67, 0x1E, 0x01, 0x00, 0x00, 0xCD, 0x45, 0x1E, 0x18, 0x03, 0xCD, 0x99, 0x1E, 0x78, 0xB1, 0x20, 0x04, 0xED, 0x4B, 0xB2, 0x5C, 0xC5, 0xED, 0x5B, 0x4B, 0x5C, 0x2A, 0x59, 0x5C, 0x2B, 0xCD, 0xE5, 0x19, 0xCD, 0x6B, 0x0D, 0x2A, 0x65, + 0x5C, 0x11, 0x32, 0x00, 0x19, 0xD1, 0xED, 0x52, 0x30, 0x08, 0x2A, 0xB4, 0x5C, 0xA7, 0xED, 0x52, 0x30, 0x02, 0xCF, 0x15, 0xEB, 0x22, 0xB2, 0x5C, 0xD1, 0xC1, 0x36, 0x3E, 0x2B, 0xF9, 0xC5, 0xED, 0x73, 0x3D, 0x5C, 0xEB, 0xE9, 0xD1, 0xFD, 0x66, + 0x0D, 0x24, 0xE3, 0x33, 0xED, 0x4B, 0x45, 0x5C, 0xC5, 0xE5, 0xED, 0x73, 0x3D, 0x5C, 0xD5, 0xCD, 0x67, 0x1E, 0x01, 0x14, 0x00, 0x2A, 0x65, 0x5C, 0x09, 0x38, 0x0A, 0xEB, 0x21, 0x50, 0x00, 0x19, 0x38, 0x03, 0xED, 0x72, 0xD8, 0x2E, 0x03, 0xC3, + 0x55, 0x00, 0x01, 0x00, 0x00, 0xCD, 0x05, 0x1F, 0x44, 0x4D, 0xC9, 0xC1, 0xE1, 0xD1, 0x7A, 0xFE, 0x3E, 0x28, 0x0B, 0x3B, 0xE3, 0xEB, 0xED, 0x73, 0x3D, 0x5C, 0xC5, 0xC3, 0x73, 0x1E, 0xD5, 0xE5, 0xCF, 0x06, 0xCD, 0x99, 0x1E, 0x76, 0x0B, 0x78, + 0xB1, 0x28, 0x0C, 0x78, 0xA1, 0x3C, 0x20, 0x01, 0x03, 0xFD, 0xCB, 0x01, 0x6E, 0x28, 0xEE, 0xFD, 0xCB, 0x01, 0xAE, 0xC9, 0x3E, 0x7F, 0xDB, 0xFE, 0x1F, 0xD8, 0x3E, 0xFE, 0xDB, 0xFE, 0x1F, 0xC9, 0xCD, 0x30, 0x25, 0x28, 0x05, 0x3E, 0xCE, 0xC3, + 0x39, 0x1E, 0xFD, 0xCB, 0x01, 0xF6, 0xCD, 0x8D, 0x2C, 0x30, 0x16, 0xE7, 0xFE, 0x24, 0x20, 0x05, 0xFD, 0xCB, 0x01, 0xB6, 0xE7, 0xFE, 0x28, 0x20, 0x3C, 0xE7, 0xFE, 0x29, 0x28, 0x20, 0xCD, 0x8D, 0x2C, 0xD2, 0x8A, 0x1C, 0xEB, 0xE7, 0xFE, 0x24, + 0x20, 0x02, 0xEB, 0xE7, 0xEB, 0x01, 0x06, 0x00, 0xCD, 0x55, 0x16, 0x23, 0x23, 0x36, 0x0E, 0xFE, 0x2C, 0x20, 0x03, 0xE7, 0x18, 0xE0, 0xFE, 0x29, 0x20, 0x13, 0xE7, 0xFE, 0x3D, 0x20, 0x0E, 0xE7, 0x3A, 0x3B, 0x5C, 0xF5, 0xCD, 0xFB, 0x24, 0xF1, + 0xFD, 0xAE, 0x01, 0xE6, 0x40, 0xC2, 0x8A, 0x1C, 0xCD, 0xEE, 0x1B, 0xCD, 0x30, 0x25, 0xE1, 0xC8, 0xE9, 0x3E, 0x03, 0x18, 0x02, 0x3E, 0x02, 0xCD, 0x30, 0x25, 0xC4, 0x01, 0x16, 0xCD, 0x4D, 0x0D, 0xCD, 0xDF, 0x1F, 0xCD, 0xEE, 0x1B, 0xC9, 0xDF, + 0xCD, 0x45, 0x20, 0x28, 0x0D, 0xCD, 0x4E, 0x20, 0x28, 0xFB, 0xCD, 0xFC, 0x1F, 0xCD, 0x4E, 0x20, 0x28, 0xF3, 0xFE, 0x29, 0xC8, 0xCD, 0xC3, 0x1F, 0x3E, 0x0D, 0xD7, 0xC9, 0xDF, 0xFE, 0xAC, 0x20, 0x0D, 0xCD, 0x79, 0x1C, 0xCD, 0xC3, 0x1F, 0xCD, + 0x07, 0x23, 0x3E, 0x16, 0x18, 0x10, 0xFE, 0xAD, 0x20, 0x12, 0xE7, 0xCD, 0x82, 0x1C, 0xCD, 0xC3, 0x1F, 0xCD, 0x99, 0x1E, 0x3E, 0x17, 0xD7, 0x79, 0xD7, 0x78, 0xD7, 0xC9, 0xCD, 0xF2, 0x21, 0xD0, 0xCD, 0x70, 0x20, 0xD0, 0xCD, 0xFB, 0x24, 0xCD, + 0xC3, 0x1F, 0xFD, 0xCB, 0x01, 0x76, 0xCC, 0xF1, 0x2B, 0xC2, 0xE3, 0x2D, 0x78, 0xB1, 0x0B, 0xC8, 0x1A, 0x13, 0xD7, 0x18, 0xF7, 0xFE, 0x29, 0xC8, 0xFE, 0x0D, 0xC8, 0xFE, 0x3A, 0xC9, 0xDF, 0xFE, 0x3B, 0x28, 0x14, 0xFE, 0x2C, 0x20, 0x0A, 0xCD, + 0x30, 0x25, 0x28, 0x0B, 0x3E, 0x06, 0xD7, 0x18, 0x06, 0xFE, 0x27, 0xC0, 0xCD, 0xF5, 0x1F, 0xE7, 0xCD, 0x45, 0x20, 0x20, 0x01, 0xC1, 0xBF, 0xC9, 0xFE, 0x23, 0x37, 0xC0, 0xE7, 0xCD, 0x82, 0x1C, 0xA7, 0xCD, 0xC3, 0x1F, 0xCD, 0x94, 0x1E, 0xFE, + 0x10, 0xD2, 0x0E, 0x16, 0xCD, 0x01, 0x16, 0xA7, 0xC9, 0xCD, 0x30, 0x25, 0x28, 0x08, 0x3E, 0x01, 0xCD, 0x01, 0x16, 0xCD, 0x6E, 0x0D, 0xFD, 0x36, 0x02, 0x01, 0xCD, 0xC1, 0x20, 0xCD, 0xEE, 0x1B, 0xED, 0x4B, 0x88, 0x5C, 0x3A, 0x6B, 0x5C, 0xB8, + 0x38, 0x03, 0x0E, 0x21, 0x47, 0xED, 0x43, 0x88, 0x5C, 0x3E, 0x19, 0x90, 0x32, 0x8C, 0x5C, 0xFD, 0xCB, 0x02, 0x86, 0xCD, 0xD9, 0x0D, 0xC3, 0x6E, 0x0D, 0xCD, 0x4E, 0x20, 0x28, 0xFB, 0xFE, 0x28, 0x20, 0x0E, 0xE7, 0xCD, 0xDF, 0x1F, 0xDF, 0xFE, + 0x29, 0xC2, 0x8A, 0x1C, 0xE7, 0xC3, 0xB2, 0x21, 0xFE, 0xCA, 0x20, 0x11, 0xE7, 0xCD, 0x1F, 0x1C, 0xFD, 0xCB, 0x37, 0xFE, 0xFD, 0xCB, 0x01, 0x76, 0xC2, 0x8A, 0x1C, 0x18, 0x0D, 0xCD, 0x8D, 0x2C, 0xD2, 0xAF, 0x21, 0xCD, 0x1F, 0x1C, 0xFD, 0xCB, + 0x37, 0xBE, 0xCD, 0x30, 0x25, 0xCA, 0xB2, 0x21, 0xCD, 0xBF, 0x16, 0x21, 0x71, 0x5C, 0xCB, 0xB6, 0xCB, 0xEE, 0x01, 0x01, 0x00, 0xCB, 0x7E, 0x20, 0x0B, 0x3A, 0x3B, 0x5C, 0xE6, 0x40, 0x20, 0x02, 0x0E, 0x03, 0xB6, 0x77, 0xF7, 0x36, 0x0D, 0x79, + 0x0F, 0x0F, 0x30, 0x05, 0x3E, 0x22, 0x12, 0x2B, 0x77, 0x22, 0x5B, 0x5C, 0xFD, 0xCB, 0x37, 0x7E, 0x20, 0x2C, 0x2A, 0x5D, 0x5C, 0xE5, 0x2A, 0x3D, 0x5C, 0xE5, 0x21, 0x3A, 0x21, 0xE5, 0xFD, 0xCB, 0x30, 0x66, 0x28, 0x04, 0xED, 0x73, 0x3D, 0x5C, + 0x2A, 0x61, 0x5C, 0xCD, 0xA7, 0x11, 0xFD, 0x36, 0x00, 0xFF, 0xCD, 0x2C, 0x0F, 0xFD, 0xCB, 0x01, 0xBE, 0xCD, 0xB9, 0x21, 0x18, 0x03, 0xCD, 0x2C, 0x0F, 0xFD, 0x36, 0x22, 0x00, 0xCD, 0xD6, 0x21, 0x20, 0x0A, 0xCD, 0x1D, 0x11, 0xED, 0x4B, 0x82, + 0x5C, 0xCD, 0xD9, 0x0D, 0x21, 0x71, 0x5C, 0xCB, 0xAE, 0xCB, 0x7E, 0xCB, 0xBE, 0x20, 0x1C, 0xE1, 0xE1, 0x22, 0x3D, 0x5C, 0xE1, 0x22, 0x5F, 0x5C, 0xFD, 0xCB, 0x01, 0xFE, 0xCD, 0xB9, 0x21, 0x2A, 0x5F, 0x5C, 0xFD, 0x36, 0x26, 0x00, 0x22, 0x5D, + 0x5C, 0x18, 0x17, 0x2A, 0x63, 0x5C, 0xED, 0x5B, 0x61, 0x5C, 0x37, 0xED, 0x52, 0x44, 0x4D, 0xCD, 0xB2, 0x2A, 0xCD, 0xFF, 0x2A, 0x18, 0x03, 0xCD, 0xFC, 0x1F, 0xCD, 0x4E, 0x20, 0xCA, 0xC1, 0x20, 0xC9, 0x2A, 0x61, 0x5C, 0x22, 0x5D, 0x5C, 0xDF, + 0xFE, 0xE2, 0x28, 0x0C, 0x3A, 0x71, 0x5C, 0xCD, 0x59, 0x1C, 0xDF, 0xFE, 0x0D, 0xC8, 0xCF, 0x0B, 0xCD, 0x30, 0x25, 0xC8, 0xCF, 0x10, 0x2A, 0x51, 0x5C, 0x23, 0x23, 0x23, 0x23, 0x7E, 0xFE, 0x4B, 0xC9, 0xE7, 0xCD, 0xF2, 0x21, 0xD8, 0xDF, 0xFE, + 0x2C, 0x28, 0xF6, 0xFE, 0x3B, 0x28, 0xF2, 0xC3, 0x8A, 0x1C, 0xFE, 0xD9, 0xD8, 0xFE, 0xDF, 0x3F, 0xD8, 0xF5, 0xE7, 0xF1, 0xD6, 0xC9, 0xF5, 0xCD, 0x82, 0x1C, 0xF1, 0xA7, 0xCD, 0xC3, 0x1F, 0xF5, 0xCD, 0x94, 0x1E, 0x57, 0xF1, 0xD7, 0x7A, 0xD7, + 0xC9, 0xD6, 0x11, 0xCE, 0x00, 0x28, 0x1D, 0xD6, 0x02, 0xCE, 0x00, 0x28, 0x56, 0xFE, 0x01, 0x7A, 0x06, 0x01, 0x20, 0x04, 0x07, 0x07, 0x06, 0x04, 0x4F, 0x7A, 0xFE, 0x02, 0x30, 0x16, 0x79, 0x21, 0x91, 0x5C, 0x18, 0x38, 0x7A, 0x06, 0x07, 0x38, + 0x05, 0x07, 0x07, 0x07, 0x06, 0x38, 0x4F, 0x7A, 0xFE, 0x0A, 0x38, 0x02, 0xCF, 0x13, 0x21, 0x8F, 0x5C, 0xFE, 0x08, 0x38, 0x0B, 0x7E, 0x28, 0x07, 0xB0, 0x2F, 0xE6, 0x24, 0x28, 0x01, 0x78, 0x4F, 0x79, 0xCD, 0x6C, 0x22, 0x3E, 0x07, 0xBA, 0x9F, + 0xCD, 0x6C, 0x22, 0x07, 0x07, 0xE6, 0x50, 0x47, 0x3E, 0x08, 0xBA, 0x9F, 0xAE, 0xA0, 0xAE, 0x77, 0x23, 0x78, 0xC9, 0x9F, 0x7A, 0x0F, 0x06, 0x80, 0x20, 0x03, 0x0F, 0x06, 0x40, 0x4F, 0x7A, 0xFE, 0x08, 0x28, 0x04, 0xFE, 0x02, 0x30, 0xBD, 0x79, + 0x21, 0x8F, 0x5C, 0xCD, 0x6C, 0x22, 0x79, 0x0F, 0x0F, 0x0F, 0x18, 0xD8, 0xCD, 0x94, 0x1E, 0xFE, 0x08, 0x30, 0xA9, 0xD3, 0xFE, 0x07, 0x07, 0x07, 0xCB, 0x6F, 0x20, 0x02, 0xEE, 0x07, 0x32, 0x48, 0x5C, 0xC9, 0x3E, 0xAF, 0x90, 0xDA, 0xF9, 0x24, + 0x47, 0xA7, 0x1F, 0x37, 0x1F, 0xA7, 0x1F, 0xA8, 0xE6, 0xF8, 0xA8, 0x67, 0x79, 0x07, 0x07, 0x07, 0xA8, 0xE6, 0xC7, 0xA8, 0x07, 0x07, 0x6F, 0x79, 0xE6, 0x07, 0xC9, 0xCD, 0x07, 0x23, 0xCD, 0xAA, 0x22, 0x47, 0x04, 0x7E, 0x07, 0x10, 0xFD, 0xE6, + 0x01, 0xC3, 0x28, 0x2D, 0xCD, 0x07, 0x23, 0xCD, 0xE5, 0x22, 0xC3, 0x4D, 0x0D, 0xED, 0x43, 0x7D, 0x5C, 0xCD, 0xAA, 0x22, 0x47, 0x04, 0x3E, 0xFE, 0x0F, 0x10, 0xFD, 0x47, 0x7E, 0xFD, 0x4E, 0x57, 0xCB, 0x41, 0x20, 0x01, 0xA0, 0xCB, 0x51, 0x20, + 0x02, 0xA8, 0x2F, 0x77, 0xC3, 0xDB, 0x0B, 0xCD, 0x14, 0x23, 0x47, 0xC5, 0xCD, 0x14, 0x23, 0x59, 0xC1, 0x51, 0x4F, 0xC9, 0xCD, 0xD5, 0x2D, 0xDA, 0xF9, 0x24, 0x0E, 0x01, 0xC8, 0x0E, 0xFF, 0xC9, 0xDF, 0xFE, 0x2C, 0xC2, 0x8A, 0x1C, 0xE7, 0xCD, + 0x82, 0x1C, 0xCD, 0xEE, 0x1B, 0xEF, 0x2A, 0x3D, 0x38, 0x7E, 0xFE, 0x81, 0x30, 0x05, 0xEF, 0x02, 0x38, 0x18, 0xA1, 0xEF, 0xA3, 0x38, 0x36, 0x83, 0xEF, 0xC5, 0x02, 0x38, 0xCD, 0x7D, 0x24, 0xC5, 0xEF, 0x31, 0xE1, 0x04, 0x38, 0x7E, 0xFE, 0x80, + 0x30, 0x08, 0xEF, 0x02, 0x02, 0x38, 0xC1, 0xC3, 0xDC, 0x22, 0xEF, 0xC2, 0x01, 0xC0, 0x02, 0x03, 0x01, 0xE0, 0x0F, 0xC0, 0x01, 0x31, 0xE0, 0x01, 0x31, 0xE0, 0xA0, 0xC1, 0x02, 0x38, 0xFD, 0x34, 0x62, 0xCD, 0x94, 0x1E, 0x6F, 0xE5, 0xCD, 0x94, + 0x1E, 0xE1, 0x67, 0x22, 0x7D, 0x5C, 0xC1, 0xC3, 0x20, 0x24, 0xDF, 0xFE, 0x2C, 0x28, 0x06, 0xCD, 0xEE, 0x1B, 0xC3, 0x77, 0x24, 0xE7, 0xCD, 0x82, 0x1C, 0xCD, 0xEE, 0x1B, 0xEF, 0xC5, 0xA2, 0x04, 0x1F, 0x31, 0x30, 0x30, 0x00, 0x06, 0x02, 0x38, + 0xC3, 0x77, 0x24, 0xC0, 0x02, 0xC1, 0x02, 0x31, 0x2A, 0xE1, 0x01, 0xE1, 0x2A, 0x0F, 0xE0, 0x05, 0x2A, 0xE0, 0x01, 0x3D, 0x38, 0x7E, 0xFE, 0x81, 0x30, 0x07, 0xEF, 0x02, 0x02, 0x38, 0xC3, 0x77, 0x24, 0xCD, 0x7D, 0x24, 0xC5, 0xEF, 0x02, 0xE1, + 0x01, 0x05, 0xC1, 0x02, 0x01, 0x31, 0xE1, 0x04, 0xC2, 0x02, 0x01, 0x31, 0xE1, 0x04, 0xE2, 0xE5, 0xE0, 0x03, 0xA2, 0x04, 0x31, 0x1F, 0xC5, 0x02, 0x20, 0xC0, 0x02, 0xC2, 0x02, 0xC1, 0xE5, 0x04, 0xE0, 0xE2, 0x04, 0x0F, 0xE1, 0x01, 0xC1, 0x02, + 0xE0, 0x04, 0xE2, 0xE5, 0x04, 0x03, 0xC2, 0x2A, 0xE1, 0x2A, 0x0F, 0x02, 0x38, 0x1A, 0xFE, 0x81, 0xC1, 0xDA, 0x77, 0x24, 0xC5, 0xEF, 0x01, 0x38, 0x3A, 0x7D, 0x5C, 0xCD, 0x28, 0x2D, 0xEF, 0xC0, 0x0F, 0x01, 0x38, 0x3A, 0x7E, 0x5C, 0xCD, 0x28, + 0x2D, 0xEF, 0xC5, 0x0F, 0xE0, 0xE5, 0x38, 0xC1, 0x05, 0x28, 0x3C, 0x18, 0x14, 0xEF, 0xE1, 0x31, 0xE3, 0x04, 0xE2, 0xE4, 0x04, 0x03, 0xC1, 0x02, 0xE4, 0x04, 0xE2, 0xE3, 0x04, 0x0F, 0xC2, 0x02, 0x38, 0xC5, 0xEF, 0xC0, 0x02, 0xE1, 0x0F, 0x31, + 0x38, 0x3A, 0x7D, 0x5C, 0xCD, 0x28, 0x2D, 0xEF, 0x03, 0xE0, 0xE2, 0x0F, 0xC0, 0x01, 0xE0, 0x38, 0x3A, 0x7E, 0x5C, 0xCD, 0x28, 0x2D, 0xEF, 0x03, 0x38, 0xCD, 0xB7, 0x24, 0xC1, 0x10, 0xC6, 0xEF, 0x02, 0x02, 0x01, 0x38, 0x3A, 0x7D, 0x5C, 0xCD, + 0x28, 0x2D, 0xEF, 0x03, 0x01, 0x38, 0x3A, 0x7E, 0x5C, 0xCD, 0x28, 0x2D, 0xEF, 0x03, 0x38, 0xCD, 0xB7, 0x24, 0xC3, 0x4D, 0x0D, 0xEF, 0x31, 0x28, 0x34, 0x32, 0x00, 0x01, 0x05, 0xE5, 0x01, 0x05, 0x2A, 0x38, 0xCD, 0xD5, 0x2D, 0x38, 0x06, 0xE6, + 0xFC, 0xC6, 0x04, 0x30, 0x02, 0x3E, 0xFC, 0xF5, 0xCD, 0x28, 0x2D, 0xEF, 0xE5, 0x01, 0x05, 0x31, 0x1F, 0xC4, 0x02, 0x31, 0xA2, 0x04, 0x1F, 0xC1, 0x01, 0xC0, 0x02, 0x31, 0x04, 0x31, 0x0F, 0xA1, 0x03, 0x1B, 0xC3, 0x02, 0x38, 0xC1, 0xC9, 0xCD, + 0x07, 0x23, 0x79, 0xB8, 0x30, 0x06, 0x69, 0xD5, 0xAF, 0x5F, 0x18, 0x07, 0xB1, 0xC8, 0x68, 0x41, 0xD5, 0x16, 0x00, 0x60, 0x78, 0x1F, 0x85, 0x38, 0x03, 0xBC, 0x38, 0x07, 0x94, 0x4F, 0xD9, 0xC1, 0xC5, 0x18, 0x04, 0x4F, 0xD5, 0xD9, 0xC1, 0x2A, + 0x7D, 0x5C, 0x78, 0x84, 0x47, 0x79, 0x3C, 0x85, 0x38, 0x0D, 0x28, 0x0D, 0x3D, 0x4F, 0xCD, 0xE5, 0x22, 0xD9, 0x79, 0x10, 0xD9, 0xD1, 0xC9, 0x28, 0xF3, 0xCF, 0x0A, 0xDF, 0x06, 0x00, 0xC5, 0x4F, 0x21, 0x96, 0x25, 0xCD, 0xDC, 0x16, 0x79, 0xD2, + 0x84, 0x26, 0x06, 0x00, 0x4E, 0x09, 0xE9, 0xCD, 0x74, 0x00, 0x03, 0xFE, 0x0D, 0xCA, 0x8A, 0x1C, 0xFE, 0x22, 0x20, 0xF3, 0xCD, 0x74, 0x00, 0xFE, 0x22, 0xC9, 0xE7, 0xFE, 0x28, 0x20, 0x06, 0xCD, 0x79, 0x1C, 0xDF, 0xFE, 0x29, 0xC2, 0x8A, 0x1C, + 0xFD, 0xCB, 0x01, 0x7E, 0xC9, 0xCD, 0x07, 0x23, 0x2A, 0x36, 0x5C, 0x11, 0x00, 0x01, 0x19, 0x79, 0x0F, 0x0F, 0x0F, 0xE6, 0xE0, 0xA8, 0x5F, 0x79, 0xE6, 0x18, 0xEE, 0x40, 0x57, 0x06, 0x60, 0xC5, 0xD5, 0xE5, 0x1A, 0xAE, 0x28, 0x04, 0x3C, 0x20, + 0x1A, 0x3D, 0x4F, 0x06, 0x07, 0x14, 0x23, 0x1A, 0xAE, 0xA9, 0x20, 0x0F, 0x10, 0xF7, 0xC1, 0xC1, 0xC1, 0x3E, 0x80, 0x90, 0x01, 0x01, 0x00, 0xF7, 0x12, 0x18, 0x0A, 0xE1, 0x11, 0x08, 0x00, 0x19, 0xD1, 0xC1, 0x10, 0xD3, 0x48, 0xC3, 0xB2, 0x2A, + 0xCD, 0x07, 0x23, 0x79, 0x0F, 0x0F, 0x0F, 0x4F, 0xE6, 0xE0, 0xA8, 0x6F, 0x79, 0xE6, 0x03, 0xEE, 0x58, 0x67, 0x7E, 0xC3, 0x28, 0x2D, 0x22, 0x1C, 0x28, 0x4F, 0x2E, 0xF2, 0x2B, 0x12, 0xA8, 0x56, 0xA5, 0x57, 0xA7, 0x84, 0xA6, 0x8F, 0xC4, 0xE6, + 0xAA, 0xBF, 0xAB, 0xC7, 0xA9, 0xCE, 0x00, 0xE7, 0xC3, 0xFF, 0x24, 0xDF, 0x23, 0xE5, 0x01, 0x00, 0x00, 0xCD, 0x0F, 0x25, 0x20, 0x1B, 0xCD, 0x0F, 0x25, 0x28, 0xFB, 0xCD, 0x30, 0x25, 0x28, 0x11, 0xF7, 0xE1, 0xD5, 0x7E, 0x23, 0x12, 0x13, 0xFE, + 0x22, 0x20, 0xF8, 0x7E, 0x23, 0xFE, 0x22, 0x28, 0xF2, 0x0B, 0xD1, 0x21, 0x3B, 0x5C, 0xCB, 0xB6, 0xCB, 0x7E, 0xC4, 0xB2, 0x2A, 0xC3, 0x12, 0x27, 0xE7, 0xCD, 0xFB, 0x24, 0xFE, 0x29, 0xC2, 0x8A, 0x1C, 0xE7, 0xC3, 0x12, 0x27, 0xC3, 0xBD, 0x27, + 0xCD, 0x30, 0x25, 0x28, 0x28, 0xED, 0x4B, 0x76, 0x5C, 0xCD, 0x2B, 0x2D, 0xEF, 0xA1, 0x0F, 0x34, 0x37, 0x16, 0x04, 0x34, 0x80, 0x41, 0x00, 0x00, 0x80, 0x32, 0x02, 0xA1, 0x03, 0x31, 0x38, 0xCD, 0xA2, 0x2D, 0xED, 0x43, 0x76, 0x5C, 0x7E, 0xA7, + 0x28, 0x03, 0xD6, 0x10, 0x77, 0x18, 0x09, 0xCD, 0x30, 0x25, 0x28, 0x04, 0xEF, 0xA3, 0x38, 0x34, 0xE7, 0xC3, 0xC3, 0x26, 0x01, 0x5A, 0x10, 0xE7, 0xFE, 0x23, 0xCA, 0x0D, 0x27, 0x21, 0x3B, 0x5C, 0xCB, 0xB6, 0xCB, 0x7E, 0x28, 0x1F, 0xCD, 0x8E, + 0x02, 0x0E, 0x00, 0x20, 0x13, 0xCD, 0x1E, 0x03, 0x30, 0x0E, 0x15, 0x5F, 0xCD, 0x33, 0x03, 0xF5, 0x01, 0x01, 0x00, 0xF7, 0xF1, 0x12, 0x0E, 0x01, 0x06, 0x00, 0xCD, 0xB2, 0x2A, 0xC3, 0x12, 0x27, 0xCD, 0x22, 0x25, 0xC4, 0x35, 0x25, 0xE7, 0xC3, + 0xDB, 0x25, 0xCD, 0x22, 0x25, 0xC4, 0x80, 0x25, 0xE7, 0x18, 0x48, 0xCD, 0x22, 0x25, 0xC4, 0xCB, 0x22, 0xE7, 0x18, 0x3F, 0xCD, 0x88, 0x2C, 0x30, 0x56, 0xFE, 0x41, 0x30, 0x3C, 0xCD, 0x30, 0x25, 0x20, 0x23, 0xCD, 0x9B, 0x2C, 0xDF, 0x01, 0x06, + 0x00, 0xCD, 0x55, 0x16, 0x23, 0x36, 0x0E, 0x23, 0xEB, 0x2A, 0x65, 0x5C, 0x0E, 0x05, 0xA7, 0xED, 0x42, 0x22, 0x65, 0x5C, 0xED, 0xB0, 0xEB, 0x2B, 0xCD, 0x77, 0x00, 0x18, 0x0E, 0xDF, 0x23, 0x7E, 0xFE, 0x0E, 0x20, 0xFA, 0x23, 0xCD, 0xB4, 0x33, + 0x22, 0x5D, 0x5C, 0xFD, 0xCB, 0x01, 0xF6, 0x18, 0x14, 0xCD, 0xB2, 0x28, 0xDA, 0x2E, 0x1C, 0xCC, 0x96, 0x29, 0x3A, 0x3B, 0x5C, 0xFE, 0xC0, 0x38, 0x04, 0x23, 0xCD, 0xB4, 0x33, 0x18, 0x33, 0x01, 0xDB, 0x09, 0xFE, 0x2D, 0x28, 0x27, 0x01, 0x18, + 0x10, 0xFE, 0xAE, 0x28, 0x20, 0xD6, 0xAF, 0xDA, 0x8A, 0x1C, 0x01, 0xF0, 0x04, 0xFE, 0x14, 0x28, 0x14, 0xD2, 0x8A, 0x1C, 0x06, 0x10, 0xC6, 0xDC, 0x4F, 0xFE, 0xDF, 0x30, 0x02, 0xCB, 0xB1, 0xFE, 0xEE, 0x38, 0x02, 0xCB, 0xB9, 0xC5, 0xE7, 0xC3, + 0xFF, 0x24, 0xDF, 0xFE, 0x28, 0x20, 0x0C, 0xFD, 0xCB, 0x01, 0x76, 0x20, 0x17, 0xCD, 0x52, 0x2A, 0xE7, 0x18, 0xF0, 0x06, 0x00, 0x4F, 0x21, 0x95, 0x27, 0xCD, 0xDC, 0x16, 0x30, 0x06, 0x4E, 0x21, 0xED, 0x26, 0x09, 0x46, 0xD1, 0x7A, 0xB8, 0x38, + 0x3A, 0xA7, 0xCA, 0x18, 0x00, 0xC5, 0x21, 0x3B, 0x5C, 0x7B, 0xFE, 0xED, 0x20, 0x06, 0xCB, 0x76, 0x20, 0x02, 0x1E, 0x99, 0xD5, 0xCD, 0x30, 0x25, 0x28, 0x09, 0x7B, 0xE6, 0x3F, 0x47, 0xEF, 0x3B, 0x38, 0x18, 0x09, 0x7B, 0xFD, 0xAE, 0x01, 0xE6, + 0x40, 0xC2, 0x8A, 0x1C, 0xD1, 0x21, 0x3B, 0x5C, 0xCB, 0xF6, 0xCB, 0x7B, 0x20, 0x02, 0xCB, 0xB6, 0xC1, 0x18, 0xC1, 0xD5, 0x79, 0xFD, 0xCB, 0x01, 0x76, 0x20, 0x15, 0xE6, 0x3F, 0xC6, 0x08, 0x4F, 0xFE, 0x10, 0x20, 0x04, 0xCB, 0xF1, 0x18, 0x08, + 0x38, 0xD7, 0xFE, 0x17, 0x28, 0x02, 0xCB, 0xF9, 0xC5, 0xE7, 0xC3, 0xFF, 0x24, 0x2B, 0xCF, 0x2D, 0xC3, 0x2A, 0xC4, 0x2F, 0xC5, 0x5E, 0xC6, 0x3D, 0xCE, 0x3E, 0xCC, 0x3C, 0xCD, 0xC7, 0xC9, 0xC8, 0xCA, 0xC9, 0xCB, 0xC5, 0xC7, 0xC6, 0xC8, 0x00, + 0x06, 0x08, 0x08, 0x0A, 0x02, 0x03, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x06, 0xCD, 0x30, 0x25, 0x20, 0x35, 0xE7, 0xCD, 0x8D, 0x2C, 0xD2, 0x8A, 0x1C, 0xE7, 0xFE, 0x24, 0xF5, 0x20, 0x01, 0xE7, 0xFE, 0x28, 0x20, 0x12, 0xE7, 0xFE, 0x29, 0x28, + 0x10, 0xCD, 0xFB, 0x24, 0xDF, 0xFE, 0x2C, 0x20, 0x03, 0xE7, 0x18, 0xF5, 0xFE, 0x29, 0xC2, 0x8A, 0x1C, 0xE7, 0x21, 0x3B, 0x5C, 0xCB, 0xB6, 0xF1, 0x28, 0x02, 0xCB, 0xF6, 0xC3, 0x12, 0x27, 0xE7, 0xE6, 0xDF, 0x47, 0xE7, 0xD6, 0x24, 0x4F, 0x20, + 0x01, 0xE7, 0xE7, 0xE5, 0x2A, 0x53, 0x5C, 0x2B, 0x11, 0xCE, 0x00, 0xC5, 0xCD, 0x86, 0x1D, 0xC1, 0x30, 0x02, 0xCF, 0x18, 0xE5, 0xCD, 0xAB, 0x28, 0xE6, 0xDF, 0xB8, 0x20, 0x08, 0xCD, 0xAB, 0x28, 0xD6, 0x24, 0xB9, 0x28, 0x0C, 0xE1, 0x2B, 0x11, + 0x00, 0x02, 0xC5, 0xCD, 0x8B, 0x19, 0xC1, 0x18, 0xD7, 0xA7, 0xCC, 0xAB, 0x28, 0xD1, 0xD1, 0xED, 0x53, 0x5D, 0x5C, 0xCD, 0xAB, 0x28, 0xE5, 0xFE, 0x29, 0x28, 0x42, 0x23, 0x7E, 0xFE, 0x0E, 0x16, 0x40, 0x28, 0x07, 0x2B, 0xCD, 0xAB, 0x28, 0x23, + 0x16, 0x00, 0x23, 0xE5, 0xD5, 0xCD, 0xFB, 0x24, 0xF1, 0xFD, 0xAE, 0x01, 0xE6, 0x40, 0x20, 0x2B, 0xE1, 0xEB, 0x2A, 0x65, 0x5C, 0x01, 0x05, 0x00, 0xED, 0x42, 0x22, 0x65, 0x5C, 0xED, 0xB0, 0xEB, 0x2B, 0xCD, 0xAB, 0x28, 0xFE, 0x29, 0x28, 0x0D, + 0xE5, 0xDF, 0xFE, 0x2C, 0x20, 0x0D, 0xE7, 0xE1, 0xCD, 0xAB, 0x28, 0x18, 0xBE, 0xE5, 0xDF, 0xFE, 0x29, 0x28, 0x02, 0xCF, 0x19, 0xD1, 0xEB, 0x22, 0x5D, 0x5C, 0x2A, 0x0B, 0x5C, 0xE3, 0x22, 0x0B, 0x5C, 0xD5, 0xE7, 0xE7, 0xCD, 0xFB, 0x24, 0xE1, + 0x22, 0x5D, 0x5C, 0xE1, 0x22, 0x0B, 0x5C, 0xE7, 0xC3, 0x12, 0x27, 0x23, 0x7E, 0xFE, 0x21, 0x38, 0xFA, 0xC9, 0xFD, 0xCB, 0x01, 0xF6, 0xDF, 0xCD, 0x8D, 0x2C, 0xD2, 0x8A, 0x1C, 0xE5, 0xE6, 0x1F, 0x4F, 0xE7, 0xE5, 0xFE, 0x28, 0x28, 0x28, 0xCB, + 0xF1, 0xFE, 0x24, 0x28, 0x11, 0xCB, 0xE9, 0xCD, 0x88, 0x2C, 0x30, 0x0F, 0xCD, 0x88, 0x2C, 0x30, 0x16, 0xCB, 0xB1, 0xE7, 0x18, 0xF6, 0xE7, 0xFD, 0xCB, 0x01, 0xB6, 0x3A, 0x0C, 0x5C, 0xA7, 0x28, 0x06, 0xCD, 0x30, 0x25, 0xC2, 0x51, 0x29, 0x41, + 0xCD, 0x30, 0x25, 0x20, 0x08, 0x79, 0xE6, 0xE0, 0xCB, 0xFF, 0x4F, 0x18, 0x37, 0x2A, 0x4B, 0x5C, 0x7E, 0xE6, 0x7F, 0x28, 0x2D, 0xB9, 0x20, 0x22, 0x17, 0x87, 0xF2, 0x3F, 0x29, 0x38, 0x30, 0xD1, 0xD5, 0xE5, 0x23, 0x1A, 0x13, 0xFE, 0x20, 0x28, + 0xFA, 0xF6, 0x20, 0xBE, 0x28, 0xF4, 0xF6, 0x80, 0xBE, 0x20, 0x06, 0x1A, 0xCD, 0x88, 0x2C, 0x30, 0x15, 0xE1, 0xC5, 0xCD, 0xB8, 0x19, 0xEB, 0xC1, 0x18, 0xCE, 0xCB, 0xF8, 0xD1, 0xDF, 0xFE, 0x28, 0x28, 0x09, 0xCB, 0xE8, 0x18, 0x0D, 0xD1, 0xD1, + 0xD1, 0xE5, 0xDF, 0xCD, 0x88, 0x2C, 0x30, 0x03, 0xE7, 0x18, 0xF8, 0xE1, 0xCB, 0x10, 0xCB, 0x70, 0xC9, 0x2A, 0x0B, 0x5C, 0x7E, 0xFE, 0x29, 0xCA, 0xEF, 0x28, 0x7E, 0xF6, 0x60, 0x47, 0x23, 0x7E, 0xFE, 0x0E, 0x28, 0x07, 0x2B, 0xCD, 0xAB, 0x28, + 0x23, 0xCB, 0xA8, 0x78, 0xB9, 0x28, 0x12, 0x23, 0x23, 0x23, 0x23, 0x23, 0xCD, 0xAB, 0x28, 0xFE, 0x29, 0xCA, 0xEF, 0x28, 0xCD, 0xAB, 0x28, 0x18, 0xD9, 0xCB, 0x69, 0x20, 0x0C, 0x23, 0xED, 0x5B, 0x65, 0x5C, 0xCD, 0xC0, 0x33, 0xEB, 0x22, 0x65, + 0x5C, 0xD1, 0xD1, 0xAF, 0x3C, 0xC9, 0xAF, 0x47, 0xCB, 0x79, 0x20, 0x4B, 0xCB, 0x7E, 0x20, 0x0E, 0x3C, 0x23, 0x4E, 0x23, 0x46, 0x23, 0xEB, 0xCD, 0xB2, 0x2A, 0xDF, 0xC3, 0x49, 0x2A, 0x23, 0x23, 0x23, 0x46, 0xCB, 0x71, 0x28, 0x0A, 0x05, 0x28, + 0xE8, 0xEB, 0xDF, 0xFE, 0x28, 0x20, 0x61, 0xEB, 0xEB, 0x18, 0x24, 0xE5, 0xDF, 0xE1, 0xFE, 0x2C, 0x28, 0x20, 0xCB, 0x79, 0x28, 0x52, 0xCB, 0x71, 0x20, 0x06, 0xFE, 0x29, 0x20, 0x3C, 0xE7, 0xC9, 0xFE, 0x29, 0x28, 0x6C, 0xFE, 0xCC, 0x20, 0x32, + 0xDF, 0x2B, 0x22, 0x5D, 0x5C, 0x18, 0x5E, 0x21, 0x00, 0x00, 0xE5, 0xE7, 0xE1, 0x79, 0xFE, 0xC0, 0x20, 0x09, 0xDF, 0xFE, 0x29, 0x28, 0x51, 0xFE, 0xCC, 0x28, 0xE5, 0xC5, 0xE5, 0xCD, 0xEE, 0x2A, 0xE3, 0xEB, 0xCD, 0xCC, 0x2A, 0x38, 0x19, 0x0B, + 0xCD, 0xF4, 0x2A, 0x09, 0xD1, 0xC1, 0x10, 0xB3, 0xCB, 0x79, 0x20, 0x66, 0xE5, 0xCB, 0x71, 0x20, 0x13, 0x42, 0x4B, 0xDF, 0xFE, 0x29, 0x28, 0x02, 0xCF, 0x02, 0xE7, 0xE1, 0x11, 0x05, 0x00, 0xCD, 0xF4, 0x2A, 0x09, 0xC9, 0xCD, 0xEE, 0x2A, 0xE3, + 0xCD, 0xF4, 0x2A, 0xC1, 0x09, 0x23, 0x42, 0x4B, 0xEB, 0xCD, 0xB1, 0x2A, 0xDF, 0xFE, 0x29, 0x28, 0x07, 0xFE, 0x2C, 0x20, 0xDB, 0xCD, 0x52, 0x2A, 0xE7, 0xFE, 0x28, 0x28, 0xF8, 0xFD, 0xCB, 0x01, 0xB6, 0xC9, 0xCD, 0x30, 0x25, 0xC4, 0xF1, 0x2B, + 0xE7, 0xFE, 0x29, 0x28, 0x50, 0xD5, 0xAF, 0xF5, 0xC5, 0x11, 0x01, 0x00, 0xDF, 0xE1, 0xFE, 0xCC, 0x28, 0x17, 0xF1, 0xCD, 0xCD, 0x2A, 0xF5, 0x50, 0x59, 0xE5, 0xDF, 0xE1, 0xFE, 0xCC, 0x28, 0x09, 0xFE, 0x29, 0xC2, 0x8A, 0x1C, 0x62, 0x6B, 0x18, + 0x13, 0xE5, 0xE7, 0xE1, 0xFE, 0x29, 0x28, 0x0C, 0xF1, 0xCD, 0xCD, 0x2A, 0xF5, 0xDF, 0x60, 0x69, 0xFE, 0x29, 0x20, 0xE6, 0xF1, 0xE3, 0x19, 0x2B, 0xE3, 0xA7, 0xED, 0x52, 0x01, 0x00, 0x00, 0x38, 0x07, 0x23, 0xA7, 0xFA, 0x20, 0x2A, 0x44, 0x4D, + 0xD1, 0xFD, 0xCB, 0x01, 0xB6, 0xCD, 0x30, 0x25, 0xC8, 0xAF, 0xFD, 0xCB, 0x01, 0xB6, 0xC5, 0xCD, 0xA9, 0x33, 0xC1, 0x2A, 0x65, 0x5C, 0x77, 0x23, 0x73, 0x23, 0x72, 0x23, 0x71, 0x23, 0x70, 0x23, 0x22, 0x65, 0x5C, 0xC9, 0xAF, 0xD5, 0xE5, 0xF5, + 0xCD, 0x82, 0x1C, 0xF1, 0xCD, 0x30, 0x25, 0x28, 0x12, 0xF5, 0xCD, 0x99, 0x1E, 0xD1, 0x78, 0xB1, 0x37, 0x28, 0x05, 0xE1, 0xE5, 0xA7, 0xED, 0x42, 0x7A, 0xDE, 0x00, 0xE1, 0xD1, 0xC9, 0xEB, 0x23, 0x5E, 0x23, 0x56, 0xC9, 0xCD, 0x30, 0x25, 0xC8, + 0xCD, 0xA9, 0x30, 0xDA, 0x15, 0x1F, 0xC9, 0x2A, 0x4D, 0x5C, 0xFD, 0xCB, 0x37, 0x4E, 0x28, 0x5E, 0x01, 0x05, 0x00, 0x03, 0x23, 0x7E, 0xFE, 0x20, 0x28, 0xFA, 0x30, 0x0B, 0xFE, 0x10, 0x38, 0x11, 0xFE, 0x16, 0x30, 0x0D, 0x23, 0x18, 0xED, 0xCD, + 0x88, 0x2C, 0x38, 0xE7, 0xFE, 0x24, 0xCA, 0xC0, 0x2B, 0x79, 0x2A, 0x59, 0x5C, 0x2B, 0xCD, 0x55, 0x16, 0x23, 0x23, 0xEB, 0xD5, 0x2A, 0x4D, 0x5C, 0x1B, 0xD6, 0x06, 0x47, 0x28, 0x11, 0x23, 0x7E, 0xFE, 0x21, 0x38, 0xFA, 0xF6, 0x20, 0x13, 0x12, + 0x10, 0xF4, 0xF6, 0x80, 0x12, 0x3E, 0xC0, 0x2A, 0x4D, 0x5C, 0xAE, 0xF6, 0x20, 0xE1, 0xCD, 0xEA, 0x2B, 0xE5, 0xEF, 0x02, 0x38, 0xE1, 0x01, 0x05, 0x00, 0xA7, 0xED, 0x42, 0x18, 0x40, 0xFD, 0xCB, 0x01, 0x76, 0x28, 0x06, 0x11, 0x06, 0x00, 0x19, + 0x18, 0xE7, 0x2A, 0x4D, 0x5C, 0xED, 0x4B, 0x72, 0x5C, 0xFD, 0xCB, 0x37, 0x46, 0x20, 0x30, 0x78, 0xB1, 0xC8, 0xE5, 0xF7, 0xD5, 0xC5, 0x54, 0x5D, 0x23, 0x36, 0x20, 0xED, 0xB8, 0xE5, 0xCD, 0xF1, 0x2B, 0xE1, 0xE3, 0xA7, 0xED, 0x42, 0x09, 0x30, + 0x02, 0x44, 0x4D, 0xE3, 0xEB, 0x78, 0xB1, 0x28, 0x02, 0xED, 0xB0, 0xC1, 0xD1, 0xE1, 0xEB, 0x78, 0xB1, 0xC8, 0xD5, 0xED, 0xB0, 0xE1, 0xC9, 0x2B, 0x2B, 0x2B, 0x7E, 0xE5, 0xC5, 0xCD, 0xC6, 0x2B, 0xC1, 0xE1, 0x03, 0x03, 0x03, 0xC3, 0xE8, 0x19, + 0x3E, 0xDF, 0x2A, 0x4D, 0x5C, 0xA6, 0xF5, 0xCD, 0xF1, 0x2B, 0xEB, 0x09, 0xC5, 0x2B, 0x22, 0x4D, 0x5C, 0x03, 0x03, 0x03, 0x2A, 0x59, 0x5C, 0x2B, 0xCD, 0x55, 0x16, 0x2A, 0x4D, 0x5C, 0xC1, 0xC5, 0x03, 0xED, 0xB8, 0xEB, 0x23, 0xC1, 0x70, 0x2B, + 0x71, 0xF1, 0x2B, 0x77, 0x2A, 0x59, 0x5C, 0x2B, 0xC9, 0x2A, 0x65, 0x5C, 0x2B, 0x46, 0x2B, 0x4E, 0x2B, 0x56, 0x2B, 0x5E, 0x2B, 0x7E, 0x22, 0x65, 0x5C, 0xC9, 0xCD, 0xB2, 0x28, 0xC2, 0x8A, 0x1C, 0xCD, 0x30, 0x25, 0x20, 0x08, 0xCB, 0xB1, 0xCD, + 0x96, 0x29, 0xCD, 0xEE, 0x1B, 0x38, 0x08, 0xC5, 0xCD, 0xB8, 0x19, 0xCD, 0xE8, 0x19, 0xC1, 0xCB, 0xF9, 0x06, 0x00, 0xC5, 0x21, 0x01, 0x00, 0xCB, 0x71, 0x20, 0x02, 0x2E, 0x05, 0xEB, 0xE7, 0x26, 0xFF, 0xCD, 0xCC, 0x2A, 0xDA, 0x20, 0x2A, 0xE1, + 0xC5, 0x24, 0xE5, 0x60, 0x69, 0xCD, 0xF4, 0x2A, 0xEB, 0xDF, 0xFE, 0x2C, 0x28, 0xE8, 0xFE, 0x29, 0x20, 0xBB, 0xE7, 0xC1, 0x79, 0x68, 0x26, 0x00, 0x23, 0x23, 0x29, 0x19, 0xDA, 0x15, 0x1F, 0xD5, 0xC5, 0xE5, 0x44, 0x4D, 0x2A, 0x59, 0x5C, 0x2B, + 0xCD, 0x55, 0x16, 0x23, 0x77, 0xC1, 0x0B, 0x0B, 0x0B, 0x23, 0x71, 0x23, 0x70, 0xC1, 0x78, 0x23, 0x77, 0x62, 0x6B, 0x1B, 0x36, 0x00, 0xCB, 0x71, 0x28, 0x02, 0x36, 0x20, 0xC1, 0xED, 0xB8, 0xC1, 0x70, 0x2B, 0x71, 0x2B, 0x3D, 0x20, 0xF8, 0xC9, + 0xCD, 0x1B, 0x2D, 0x3F, 0xD8, 0xFE, 0x41, 0x3F, 0xD0, 0xFE, 0x5B, 0xD8, 0xFE, 0x61, 0x3F, 0xD0, 0xFE, 0x7B, 0xC9, 0xFE, 0xC4, 0x20, 0x19, 0x11, 0x00, 0x00, 0xE7, 0xD6, 0x31, 0xCE, 0x00, 0x20, 0x0A, 0xEB, 0x3F, 0xED, 0x6A, 0xDA, 0xAD, 0x31, + 0xEB, 0x18, 0xEF, 0x42, 0x4B, 0xC3, 0x2B, 0x2D, 0xFE, 0x2E, 0x28, 0x0F, 0xCD, 0x3B, 0x2D, 0xFE, 0x2E, 0x20, 0x28, 0xE7, 0xCD, 0x1B, 0x2D, 0x38, 0x22, 0x18, 0x0A, 0xE7, 0xCD, 0x1B, 0x2D, 0xDA, 0x8A, 0x1C, 0xEF, 0xA0, 0x38, 0xEF, 0xA1, 0xC0, + 0x02, 0x38, 0xDF, 0xCD, 0x22, 0x2D, 0x38, 0x0B, 0xEF, 0xE0, 0xA4, 0x05, 0xC0, 0x04, 0x0F, 0x38, 0xE7, 0x18, 0xEF, 0xFE, 0x45, 0x28, 0x03, 0xFE, 0x65, 0xC0, 0x06, 0xFF, 0xE7, 0xFE, 0x2B, 0x28, 0x05, 0xFE, 0x2D, 0x20, 0x02, 0x04, 0xE7, 0xCD, + 0x1B, 0x2D, 0x38, 0xCB, 0xC5, 0xCD, 0x3B, 0x2D, 0xCD, 0xD5, 0x2D, 0xC1, 0xDA, 0xAD, 0x31, 0xA7, 0xFA, 0xAD, 0x31, 0x04, 0x28, 0x02, 0xED, 0x44, 0xC3, 0x4F, 0x2D, 0xFE, 0x30, 0xD8, 0xFE, 0x3A, 0x3F, 0xC9, 0xCD, 0x1B, 0x2D, 0xD8, 0xD6, 0x30, + 0x4F, 0x06, 0x00, 0xFD, 0x21, 0x3A, 0x5C, 0xAF, 0x5F, 0x51, 0x48, 0x47, 0xCD, 0xB6, 0x2A, 0xEF, 0x38, 0xA7, 0xC9, 0xF5, 0xEF, 0xA0, 0x38, 0xF1, 0xCD, 0x22, 0x2D, 0xD8, 0xEF, 0x01, 0xA4, 0x04, 0x0F, 0x38, 0xCD, 0x74, 0x00, 0x18, 0xF1, 0x07, + 0x0F, 0x30, 0x02, 0x2F, 0x3C, 0xF5, 0x21, 0x92, 0x5C, 0xCD, 0x0B, 0x35, 0xEF, 0xA4, 0x38, 0xF1, 0xCB, 0x3F, 0x30, 0x0D, 0xF5, 0xEF, 0xC1, 0xE0, 0x00, 0x04, 0x04, 0x33, 0x02, 0x05, 0xE1, 0x38, 0xF1, 0x28, 0x08, 0xF5, 0xEF, 0x31, 0x04, 0x38, + 0xF1, 0x18, 0xE5, 0xEF, 0x02, 0x38, 0xC9, 0x23, 0x4E, 0x23, 0x7E, 0xA9, 0x91, 0x5F, 0x23, 0x7E, 0x89, 0xA9, 0x57, 0xC9, 0x0E, 0x00, 0xE5, 0x36, 0x00, 0x23, 0x71, 0x23, 0x7B, 0xA9, 0x91, 0x77, 0x23, 0x7A, 0x89, 0xA9, 0x77, 0x23, 0x36, 0x00, + 0xE1, 0xC9, 0xEF, 0x38, 0x7E, 0xA7, 0x28, 0x05, 0xEF, 0xA2, 0x0F, 0x27, 0x38, 0xEF, 0x02, 0x38, 0xE5, 0xD5, 0xEB, 0x46, 0xCD, 0x7F, 0x2D, 0xAF, 0x90, 0xCB, 0x79, 0x42, 0x4B, 0x7B, 0xD1, 0xE1, 0xC9, 0x57, 0x17, 0x9F, 0x5F, 0x4F, 0xAF, 0x47, + 0xCD, 0xB6, 0x2A, 0xEF, 0x34, 0xEF, 0x1A, 0x20, 0x9A, 0x85, 0x04, 0x27, 0x38, 0xCD, 0xA2, 0x2D, 0xD8, 0xF5, 0x05, 0x04, 0x28, 0x03, 0xF1, 0x37, 0xC9, 0xF1, 0xC9, 0xEF, 0x31, 0x36, 0x00, 0x0B, 0x31, 0x37, 0x00, 0x0D, 0x02, 0x38, 0x3E, 0x30, + 0xD7, 0xC9, 0x2A, 0x38, 0x3E, 0x2D, 0xD7, 0xEF, 0xA0, 0xC3, 0xC4, 0xC5, 0x02, 0x38, 0xD9, 0xE5, 0xD9, 0xEF, 0x31, 0x27, 0xC2, 0x03, 0xE2, 0x01, 0xC2, 0x02, 0x38, 0x7E, 0xA7, 0x20, 0x47, 0xCD, 0x7F, 0x2D, 0x06, 0x10, 0x7A, 0xA7, 0x20, 0x06, + 0xB3, 0x28, 0x09, 0x53, 0x06, 0x08, 0xD5, 0xD9, 0xD1, 0xD9, 0x18, 0x57, 0xEF, 0xE2, 0x38, 0x7E, 0xD6, 0x7E, 0xCD, 0xC1, 0x2D, 0x57, 0x3A, 0xAC, 0x5C, 0x92, 0x32, 0xAC, 0x5C, 0x7A, 0xCD, 0x4F, 0x2D, 0xEF, 0x31, 0x27, 0xC1, 0x03, 0xE1, 0x38, + 0xCD, 0xD5, 0x2D, 0xE5, 0x32, 0xA1, 0x5C, 0x3D, 0x17, 0x9F, 0x3C, 0x21, 0xAB, 0x5C, 0x77, 0x23, 0x86, 0x77, 0xE1, 0xC3, 0xCF, 0x2E, 0xD6, 0x80, 0xFE, 0x1C, 0x38, 0x13, 0xCD, 0xC1, 0x2D, 0xD6, 0x07, 0x47, 0x21, 0xAC, 0x5C, 0x86, 0x77, 0x78, + 0xED, 0x44, 0xCD, 0x4F, 0x2D, 0x18, 0x92, 0xEB, 0xCD, 0xBA, 0x2F, 0xD9, 0xCB, 0xFA, 0x7D, 0xD9, 0xD6, 0x80, 0x47, 0xCB, 0x23, 0xCB, 0x12, 0xD9, 0xCB, 0x13, 0xCB, 0x12, 0xD9, 0x21, 0xAA, 0x5C, 0x0E, 0x05, 0x7E, 0x8F, 0x27, 0x77, 0x2B, 0x0D, + 0x20, 0xF8, 0x10, 0xE7, 0xAF, 0x21, 0xA6, 0x5C, 0x11, 0xA1, 0x5C, 0x06, 0x09, 0xED, 0x6F, 0x0E, 0xFF, 0xED, 0x6F, 0x20, 0x04, 0x0D, 0x0C, 0x20, 0x0A, 0x12, 0x13, 0xFD, 0x34, 0x71, 0xFD, 0x34, 0x72, 0x0E, 0x00, 0xCB, 0x40, 0x28, 0x01, 0x23, + 0x10, 0xE7, 0x3A, 0xAB, 0x5C, 0xD6, 0x09, 0x38, 0x0A, 0xFD, 0x35, 0x71, 0x3E, 0x04, 0xFD, 0xBE, 0x6F, 0x18, 0x41, 0xEF, 0x02, 0xE2, 0x38, 0xEB, 0xCD, 0xBA, 0x2F, 0xD9, 0x3E, 0x80, 0x95, 0x2E, 0x00, 0xCB, 0xFA, 0xD9, 0xCD, 0xDD, 0x2F, 0xFD, + 0x7E, 0x71, 0xFE, 0x08, 0x38, 0x06, 0xD9, 0xCB, 0x12, 0xD9, 0x18, 0x20, 0x01, 0x00, 0x02, 0x7B, 0xCD, 0x8B, 0x2F, 0x5F, 0x7A, 0xCD, 0x8B, 0x2F, 0x57, 0xC5, 0xD9, 0xC1, 0x10, 0xF1, 0x21, 0xA1, 0x5C, 0x79, 0xFD, 0x4E, 0x71, 0x09, 0x77, 0xFD, + 0x34, 0x71, 0x18, 0xD3, 0xF5, 0x21, 0xA1, 0x5C, 0xFD, 0x4E, 0x71, 0x06, 0x00, 0x09, 0x41, 0xF1, 0x2B, 0x7E, 0xCE, 0x00, 0x77, 0xA7, 0x28, 0x05, 0xFE, 0x0A, 0x3F, 0x30, 0x08, 0x10, 0xF1, 0x36, 0x01, 0x04, 0xFD, 0x34, 0x72, 0xFD, 0x70, 0x71, + 0xEF, 0x02, 0x38, 0xD9, 0xE1, 0xD9, 0xED, 0x4B, 0xAB, 0x5C, 0x21, 0xA1, 0x5C, 0x78, 0xFE, 0x09, 0x38, 0x04, 0xFE, 0xFC, 0x38, 0x26, 0xA7, 0xCC, 0xEF, 0x15, 0xAF, 0x90, 0xFA, 0x52, 0x2F, 0x47, 0x18, 0x0C, 0x79, 0xA7, 0x28, 0x03, 0x7E, 0x23, + 0x0D, 0xCD, 0xEF, 0x15, 0x10, 0xF4, 0x79, 0xA7, 0xC8, 0x04, 0x3E, 0x2E, 0xD7, 0x3E, 0x30, 0x10, 0xFB, 0x41, 0x18, 0xE6, 0x50, 0x15, 0x06, 0x01, 0xCD, 0x4A, 0x2F, 0x3E, 0x45, 0xD7, 0x4A, 0x79, 0xA7, 0xF2, 0x83, 0x2F, 0xED, 0x44, 0x4F, 0x3E, + 0x2D, 0x18, 0x02, 0x3E, 0x2B, 0xD7, 0x06, 0x00, 0xC3, 0x1B, 0x1A, 0xD5, 0x6F, 0x26, 0x00, 0x5D, 0x54, 0x29, 0x29, 0x19, 0x29, 0x59, 0x19, 0x4C, 0x7D, 0xD1, 0xC9, 0x7E, 0x36, 0x00, 0xA7, 0xC8, 0x23, 0xCB, 0x7E, 0xCB, 0xFE, 0x2B, 0xC8, 0xC5, + 0x01, 0x05, 0x00, 0x09, 0x41, 0x4F, 0x37, 0x2B, 0x7E, 0x2F, 0xCE, 0x00, 0x77, 0x10, 0xF8, 0x79, 0xC1, 0xC9, 0xE5, 0xF5, 0x4E, 0x23, 0x46, 0x77, 0x23, 0x79, 0x4E, 0xC5, 0x23, 0x4E, 0x23, 0x46, 0xEB, 0x57, 0x5E, 0xD5, 0x23, 0x56, 0x23, 0x5E, + 0xD5, 0xD9, 0xD1, 0xE1, 0xC1, 0xD9, 0x23, 0x56, 0x23, 0x5E, 0xF1, 0xE1, 0xC9, 0xA7, 0xC8, 0xFE, 0x21, 0x30, 0x16, 0xC5, 0x47, 0xD9, 0xCB, 0x2D, 0xCB, 0x1A, 0xCB, 0x1B, 0xD9, 0xCB, 0x1A, 0xCB, 0x1B, 0x10, 0xF2, 0xC1, 0xD0, 0xCD, 0x04, 0x30, + 0xC0, 0xD9, 0xAF, 0x2E, 0x00, 0x57, 0x5D, 0xD9, 0x11, 0x00, 0x00, 0xC9, 0x1C, 0xC0, 0x14, 0xC0, 0xD9, 0x1C, 0x20, 0x01, 0x14, 0xD9, 0xC9, 0xEB, 0xCD, 0x6E, 0x34, 0xEB, 0x1A, 0xB6, 0x20, 0x26, 0xD5, 0x23, 0xE5, 0x23, 0x5E, 0x23, 0x56, 0x23, + 0x23, 0x23, 0x7E, 0x23, 0x4E, 0x23, 0x46, 0xE1, 0xEB, 0x09, 0xEB, 0x8E, 0x0F, 0xCE, 0x00, 0x20, 0x0B, 0x9F, 0x77, 0x23, 0x73, 0x23, 0x72, 0x2B, 0x2B, 0x2B, 0xD1, 0xC9, 0x2B, 0xD1, 0xCD, 0x93, 0x32, 0xD9, 0xE5, 0xD9, 0xD5, 0xE5, 0xCD, 0x9B, + 0x2F, 0x47, 0xEB, 0xCD, 0x9B, 0x2F, 0x4F, 0xB8, 0x30, 0x03, 0x78, 0x41, 0xEB, 0xF5, 0x90, 0xCD, 0xBA, 0x2F, 0xCD, 0xDD, 0x2F, 0xF1, 0xE1, 0x77, 0xE5, 0x68, 0x61, 0x19, 0xD9, 0xEB, 0xED, 0x4A, 0xEB, 0x7C, 0x8D, 0x6F, 0x1F, 0xAD, 0xD9, 0xEB, + 0xE1, 0x1F, 0x30, 0x08, 0x3E, 0x01, 0xCD, 0xDD, 0x2F, 0x34, 0x28, 0x23, 0xD9, 0x7D, 0xE6, 0x80, 0xD9, 0x23, 0x77, 0x2B, 0x28, 0x1F, 0x7B, 0xED, 0x44, 0x3F, 0x5F, 0x7A, 0x2F, 0xCE, 0x00, 0x57, 0xD9, 0x7B, 0x2F, 0xCE, 0x00, 0x5F, 0x7A, 0x2F, + 0xCE, 0x00, 0x30, 0x07, 0x1F, 0xD9, 0x34, 0xCA, 0xAD, 0x31, 0xD9, 0x57, 0xD9, 0xAF, 0xC3, 0x55, 0x31, 0xC5, 0x06, 0x10, 0x7C, 0x4D, 0x21, 0x00, 0x00, 0x29, 0x38, 0x0A, 0xCB, 0x11, 0x17, 0x30, 0x03, 0x19, 0x38, 0x02, 0x10, 0xF3, 0xC1, 0xC9, + 0xCD, 0xE9, 0x34, 0xD8, 0x23, 0xAE, 0xCB, 0xFE, 0x2B, 0xC9, 0x1A, 0xB6, 0x20, 0x22, 0xD5, 0xE5, 0xD5, 0xCD, 0x7F, 0x2D, 0xEB, 0xE3, 0x41, 0xCD, 0x7F, 0x2D, 0x78, 0xA9, 0x4F, 0xE1, 0xCD, 0xA9, 0x30, 0xEB, 0xE1, 0x38, 0x0A, 0x7A, 0xB3, 0x20, + 0x01, 0x4F, 0xCD, 0x8E, 0x2D, 0xD1, 0xC9, 0xD1, 0xCD, 0x93, 0x32, 0xAF, 0xCD, 0xC0, 0x30, 0xD8, 0xD9, 0xE5, 0xD9, 0xD5, 0xEB, 0xCD, 0xC0, 0x30, 0xEB, 0x38, 0x5A, 0xE5, 0xCD, 0xBA, 0x2F, 0x78, 0xA7, 0xED, 0x62, 0xD9, 0xE5, 0xED, 0x62, 0xD9, + 0x06, 0x21, 0x18, 0x11, 0x30, 0x05, 0x19, 0xD9, 0xED, 0x5A, 0xD9, 0xD9, 0xCB, 0x1C, 0xCB, 0x1D, 0xD9, 0xCB, 0x1C, 0xCB, 0x1D, 0xD9, 0xCB, 0x18, 0xCB, 0x19, 0xD9, 0xCB, 0x19, 0x1F, 0x10, 0xE4, 0xEB, 0xD9, 0xEB, 0xD9, 0xC1, 0xE1, 0x78, 0x81, + 0x20, 0x01, 0xA7, 0x3D, 0x3F, 0x17, 0x3F, 0x1F, 0xF2, 0x46, 0x31, 0x30, 0x68, 0xA7, 0x3C, 0x20, 0x08, 0x38, 0x06, 0xD9, 0xCB, 0x7A, 0xD9, 0x20, 0x5C, 0x77, 0xD9, 0x78, 0xD9, 0x30, 0x15, 0x7E, 0xA7, 0x3E, 0x80, 0x28, 0x01, 0xAF, 0xD9, 0xA2, + 0xCD, 0xFB, 0x2F, 0x07, 0x77, 0x38, 0x2E, 0x23, 0x77, 0x2B, 0x18, 0x29, 0x06, 0x20, 0xD9, 0xCB, 0x7A, 0xD9, 0x20, 0x12, 0x07, 0xCB, 0x13, 0xCB, 0x12, 0xD9, 0xCB, 0x13, 0xCB, 0x12, 0xD9, 0x35, 0x28, 0xD7, 0x10, 0xEA, 0x18, 0xD7, 0x17, 0x30, + 0x0C, 0xCD, 0x04, 0x30, 0x20, 0x07, 0xD9, 0x16, 0x80, 0xD9, 0x34, 0x28, 0x18, 0xE5, 0x23, 0xD9, 0xD5, 0xD9, 0xC1, 0x78, 0x17, 0xCB, 0x16, 0x1F, 0x77, 0x23, 0x71, 0x23, 0x72, 0x23, 0x73, 0xE1, 0xD1, 0xD9, 0xE1, 0xD9, 0xC9, 0xCF, 0x05, 0xCD, + 0x93, 0x32, 0xEB, 0xAF, 0xCD, 0xC0, 0x30, 0x38, 0xF4, 0xEB, 0xCD, 0xC0, 0x30, 0xD8, 0xD9, 0xE5, 0xD9, 0xD5, 0xE5, 0xCD, 0xBA, 0x2F, 0xD9, 0xE5, 0x60, 0x69, 0xD9, 0x61, 0x68, 0xAF, 0x06, 0xDF, 0x18, 0x10, 0x17, 0xCB, 0x11, 0xD9, 0xCB, 0x11, + 0xCB, 0x10, 0xD9, 0x29, 0xD9, 0xED, 0x6A, 0xD9, 0x38, 0x10, 0xED, 0x52, 0xD9, 0xED, 0x52, 0xD9, 0x30, 0x0F, 0x19, 0xD9, 0xED, 0x5A, 0xD9, 0xA7, 0x18, 0x08, 0xA7, 0xED, 0x52, 0xD9, 0xED, 0x52, 0xD9, 0x37, 0x04, 0xFA, 0xD2, 0x31, 0xF5, 0x28, + 0xE1, 0x5F, 0x51, 0xD9, 0x59, 0x50, 0xF1, 0xCB, 0x18, 0xF1, 0xCB, 0x18, 0xD9, 0xC1, 0xE1, 0x78, 0x91, 0xC3, 0x3D, 0x31, 0x7E, 0xA7, 0xC8, 0xFE, 0x81, 0x30, 0x06, 0x36, 0x00, 0x3E, 0x20, 0x18, 0x51, 0xFE, 0x91, 0x20, 0x1A, 0x23, 0x23, 0x23, + 0x3E, 0x80, 0xA6, 0x2B, 0xB6, 0x2B, 0x20, 0x03, 0x3E, 0x80, 0xAE, 0x2B, 0x20, 0x36, 0x77, 0x23, 0x36, 0xFF, 0x2B, 0x3E, 0x18, 0x18, 0x33, 0x30, 0x2C, 0xD5, 0x2F, 0xC6, 0x91, 0x23, 0x56, 0x23, 0x5E, 0x2B, 0x2B, 0x0E, 0x00, 0xCB, 0x7A, 0x28, + 0x01, 0x0D, 0xCB, 0xFA, 0x06, 0x08, 0x90, 0x80, 0x38, 0x04, 0x5A, 0x16, 0x00, 0x90, 0x28, 0x07, 0x47, 0xCB, 0x3A, 0xCB, 0x1B, 0x10, 0xFA, 0xCD, 0x8E, 0x2D, 0xD1, 0xC9, 0x7E, 0xD6, 0xA0, 0xF0, 0xED, 0x44, 0xD5, 0xEB, 0x2B, 0x47, 0xCB, 0x38, + 0xCB, 0x38, 0xCB, 0x38, 0x28, 0x05, 0x36, 0x00, 0x2B, 0x10, 0xFB, 0xE6, 0x07, 0x28, 0x09, 0x47, 0x3E, 0xFF, 0xCB, 0x27, 0x10, 0xFC, 0xA6, 0x77, 0xEB, 0xD1, 0xC9, 0xCD, 0x96, 0x32, 0xEB, 0x7E, 0xA7, 0xC0, 0xD5, 0xCD, 0x7F, 0x2D, 0xAF, 0x23, + 0x77, 0x2B, 0x77, 0x06, 0x91, 0x7A, 0xA7, 0x20, 0x08, 0xB3, 0x42, 0x28, 0x10, 0x53, 0x58, 0x06, 0x89, 0xEB, 0x05, 0x29, 0x30, 0xFC, 0xCB, 0x09, 0xCB, 0x1C, 0xCB, 0x1D, 0xEB, 0x2B, 0x73, 0x2B, 0x72, 0x2B, 0x70, 0xD1, 0xC9, 0x00, 0xB0, 0x00, + 0x40, 0xB0, 0x00, 0x01, 0x30, 0x00, 0xF1, 0x49, 0x0F, 0xDA, 0xA2, 0x40, 0xB0, 0x00, 0x0A, 0x8F, 0x36, 0x3C, 0x34, 0xA1, 0x33, 0x0F, 0x30, 0xCA, 0x30, 0xAF, 0x31, 0x51, 0x38, 0x1B, 0x35, 0x24, 0x35, 0x3B, 0x35, 0x3B, 0x35, 0x3B, 0x35, 0x3B, + 0x35, 0x3B, 0x35, 0x3B, 0x35, 0x14, 0x30, 0x2D, 0x35, 0x3B, 0x35, 0x3B, 0x35, 0x3B, 0x35, 0x3B, 0x35, 0x3B, 0x35, 0x3B, 0x35, 0x9C, 0x35, 0xDE, 0x35, 0xBC, 0x34, 0x45, 0x36, 0x6E, 0x34, 0x69, 0x36, 0xDE, 0x35, 0x74, 0x36, 0xB5, 0x37, 0xAA, + 0x37, 0xDA, 0x37, 0x33, 0x38, 0x43, 0x38, 0xE2, 0x37, 0x13, 0x37, 0xC4, 0x36, 0xAF, 0x36, 0x4A, 0x38, 0x92, 0x34, 0x6A, 0x34, 0xAC, 0x34, 0xA5, 0x34, 0xB3, 0x34, 0x1F, 0x36, 0xC9, 0x35, 0x01, 0x35, 0xC0, 0x33, 0xA0, 0x36, 0x86, 0x36, 0xC6, + 0x33, 0x7A, 0x36, 0x06, 0x35, 0xF9, 0x34, 0x9B, 0x36, 0x83, 0x37, 0x14, 0x32, 0xA2, 0x33, 0x4F, 0x2D, 0x97, 0x32, 0x49, 0x34, 0x1B, 0x34, 0x2D, 0x34, 0x0F, 0x34, 0xCD, 0xBF, 0x35, 0x78, 0x32, 0x67, 0x5C, 0xD9, 0xE3, 0xD9, 0xED, 0x53, 0x65, + 0x5C, 0xD9, 0x7E, 0x23, 0xE5, 0xA7, 0xF2, 0x80, 0x33, 0x57, 0xE6, 0x60, 0x0F, 0x0F, 0x0F, 0x0F, 0xC6, 0x7C, 0x6F, 0x7A, 0xE6, 0x1F, 0x18, 0x0E, 0xFE, 0x18, 0x30, 0x08, 0xD9, 0x01, 0xFB, 0xFF, 0x54, 0x5D, 0x09, 0xD9, 0x07, 0x6F, 0x11, 0xD7, + 0x32, 0x26, 0x00, 0x19, 0x5E, 0x23, 0x56, 0x21, 0x65, 0x33, 0xE3, 0xD5, 0xD9, 0xED, 0x4B, 0x66, 0x5C, 0xC9, 0xF1, 0x3A, 0x67, 0x5C, 0xD9, 0x18, 0xC3, 0xD5, 0xE5, 0x01, 0x05, 0x00, 0xCD, 0x05, 0x1F, 0xE1, 0xD1, 0xC9, 0xED, 0x5B, 0x65, 0x5C, + 0xCD, 0xC0, 0x33, 0xED, 0x53, 0x65, 0x5C, 0xC9, 0xCD, 0xA9, 0x33, 0xED, 0xB0, 0xC9, 0x62, 0x6B, 0xCD, 0xA9, 0x33, 0xD9, 0xE5, 0xD9, 0xE3, 0xC5, 0x7E, 0xE6, 0xC0, 0x07, 0x07, 0x4F, 0x0C, 0x7E, 0xE6, 0x3F, 0x20, 0x02, 0x23, 0x7E, 0xC6, 0x50, + 0x12, 0x3E, 0x05, 0x91, 0x23, 0x13, 0x06, 0x00, 0xED, 0xB0, 0xC1, 0xE3, 0xD9, 0xE1, 0xD9, 0x47, 0xAF, 0x05, 0xC8, 0x12, 0x13, 0x18, 0xFA, 0xA7, 0xC8, 0xF5, 0xD5, 0x11, 0x00, 0x00, 0xCD, 0xC8, 0x33, 0xD1, 0xF1, 0x3D, 0x18, 0xF2, 0x4F, 0x07, + 0x07, 0x81, 0x4F, 0x06, 0x00, 0x09, 0xC9, 0xD5, 0x2A, 0x68, 0x5C, 0xCD, 0x06, 0x34, 0xCD, 0xC0, 0x33, 0xE1, 0xC9, 0x62, 0x6B, 0xD9, 0xE5, 0x21, 0xC5, 0x32, 0xD9, 0xCD, 0xF7, 0x33, 0xCD, 0xC8, 0x33, 0xD9, 0xE1, 0xD9, 0xC9, 0xE5, 0xEB, 0x2A, + 0x68, 0x5C, 0xCD, 0x06, 0x34, 0xEB, 0xCD, 0xC0, 0x33, 0xEB, 0xE1, 0xC9, 0x06, 0x05, 0x1A, 0x4E, 0xEB, 0x12, 0x71, 0x23, 0x13, 0x10, 0xF7, 0xEB, 0xC9, 0x47, 0xCD, 0x5E, 0x33, 0x31, 0x0F, 0xC0, 0x02, 0xA0, 0xC2, 0x31, 0xE0, 0x04, 0xE2, 0xC1, + 0x03, 0x38, 0xCD, 0xC6, 0x33, 0xCD, 0x62, 0x33, 0x0F, 0x01, 0xC2, 0x02, 0x35, 0xEE, 0xE1, 0x03, 0x38, 0xC9, 0x06, 0xFF, 0x18, 0x06, 0xCD, 0xE9, 0x34, 0xD8, 0x06, 0x00, 0x7E, 0xA7, 0x28, 0x0B, 0x23, 0x78, 0xE6, 0x80, 0xB6, 0x17, 0x3F, 0x1F, + 0x77, 0x2B, 0xC9, 0xD5, 0xE5, 0xCD, 0x7F, 0x2D, 0xE1, 0x78, 0xB1, 0x2F, 0x4F, 0xCD, 0x8E, 0x2D, 0xD1, 0xC9, 0xCD, 0xE9, 0x34, 0xD8, 0xD5, 0x11, 0x01, 0x00, 0x23, 0xCB, 0x16, 0x2B, 0x9F, 0x4F, 0xCD, 0x8E, 0x2D, 0xD1, 0xC9, 0xCD, 0x99, 0x1E, + 0xED, 0x78, 0x18, 0x04, 0xCD, 0x99, 0x1E, 0x0A, 0xC3, 0x28, 0x2D, 0xCD, 0x99, 0x1E, 0x21, 0x2B, 0x2D, 0xE5, 0xC5, 0xC9, 0xCD, 0xF1, 0x2B, 0x0B, 0x78, 0xB1, 0x20, 0x23, 0x1A, 0xCD, 0x8D, 0x2C, 0x38, 0x09, 0xD6, 0x90, 0x38, 0x19, 0xFE, 0x15, + 0x30, 0x15, 0x3C, 0x3D, 0x87, 0x87, 0x87, 0xFE, 0xA8, 0x30, 0x0C, 0xED, 0x4B, 0x7B, 0x5C, 0x81, 0x4F, 0x30, 0x01, 0x04, 0xC3, 0x2B, 0x2D, 0xCF, 0x09, 0xE5, 0xC5, 0x47, 0x7E, 0x23, 0xB6, 0x23, 0xB6, 0x23, 0xB6, 0x78, 0xC1, 0xE1, 0xC0, 0x37, + 0xC9, 0xCD, 0xE9, 0x34, 0xD8, 0x3E, 0xFF, 0x18, 0x06, 0xCD, 0xE9, 0x34, 0x18, 0x05, 0xAF, 0x23, 0xAE, 0x2B, 0x07, 0xE5, 0x3E, 0x00, 0x77, 0x23, 0x77, 0x23, 0x17, 0x77, 0x1F, 0x23, 0x77, 0x23, 0x77, 0xE1, 0xC9, 0xEB, 0xCD, 0xE9, 0x34, 0xEB, + 0xD8, 0x37, 0x18, 0xE7, 0xEB, 0xCD, 0xE9, 0x34, 0xEB, 0xD0, 0xA7, 0x18, 0xDE, 0xEB, 0xCD, 0xE9, 0x34, 0xEB, 0xD0, 0xD5, 0x1B, 0xAF, 0x12, 0x1B, 0x12, 0xD1, 0xC9, 0x78, 0xD6, 0x08, 0xCB, 0x57, 0x20, 0x01, 0x3D, 0x0F, 0x30, 0x08, 0xF5, 0xE5, + 0xCD, 0x3C, 0x34, 0xD1, 0xEB, 0xF1, 0xCB, 0x57, 0x20, 0x07, 0x0F, 0xF5, 0xCD, 0x0F, 0x30, 0x18, 0x33, 0x0F, 0xF5, 0xCD, 0xF1, 0x2B, 0xD5, 0xC5, 0xCD, 0xF1, 0x2B, 0xE1, 0x7C, 0xB5, 0xE3, 0x78, 0x20, 0x0B, 0xB1, 0xC1, 0x28, 0x04, 0xF1, 0x3F, + 0x18, 0x16, 0xF1, 0x18, 0x13, 0xB1, 0x28, 0x0D, 0x1A, 0x96, 0x38, 0x09, 0x20, 0xED, 0x0B, 0x13, 0x23, 0xE3, 0x2B, 0x18, 0xDF, 0xC1, 0xF1, 0xA7, 0xF5, 0xEF, 0xA0, 0x38, 0xF1, 0xF5, 0xDC, 0x01, 0x35, 0xF1, 0xF5, 0xD4, 0xF9, 0x34, 0xF1, 0x0F, + 0xD4, 0x01, 0x35, 0xC9, 0xCD, 0xF1, 0x2B, 0xD5, 0xC5, 0xCD, 0xF1, 0x2B, 0xE1, 0xE5, 0xD5, 0xC5, 0x09, 0x44, 0x4D, 0xF7, 0xCD, 0xB2, 0x2A, 0xC1, 0xE1, 0x78, 0xB1, 0x28, 0x02, 0xED, 0xB0, 0xC1, 0xE1, 0x78, 0xB1, 0x28, 0x02, 0xED, 0xB0, 0x2A, + 0x65, 0x5C, 0x11, 0xFB, 0xFF, 0xE5, 0x19, 0xD1, 0xC9, 0xCD, 0xD5, 0x2D, 0x38, 0x0E, 0x20, 0x0C, 0xF5, 0x01, 0x01, 0x00, 0xF7, 0xF1, 0x12, 0xCD, 0xB2, 0x2A, 0xEB, 0xC9, 0xCF, 0x0A, 0x2A, 0x5D, 0x5C, 0xE5, 0x78, 0xC6, 0xE3, 0x9F, 0xF5, 0xCD, + 0xF1, 0x2B, 0xD5, 0x03, 0xF7, 0xE1, 0xED, 0x53, 0x5D, 0x5C, 0xD5, 0xED, 0xB0, 0xEB, 0x2B, 0x36, 0x0D, 0xFD, 0xCB, 0x01, 0xBE, 0xCD, 0xFB, 0x24, 0xDF, 0xFE, 0x0D, 0x20, 0x07, 0xE1, 0xF1, 0xFD, 0xAE, 0x01, 0xE6, 0x40, 0xC2, 0x8A, 0x1C, 0x22, + 0x5D, 0x5C, 0xFD, 0xCB, 0x01, 0xFE, 0xCD, 0xFB, 0x24, 0xE1, 0x22, 0x5D, 0x5C, 0x18, 0xA0, 0x01, 0x01, 0x00, 0xF7, 0x22, 0x5B, 0x5C, 0xE5, 0x2A, 0x51, 0x5C, 0xE5, 0x3E, 0xFF, 0xCD, 0x01, 0x16, 0xCD, 0xE3, 0x2D, 0xE1, 0xCD, 0x15, 0x16, 0xD1, + 0x2A, 0x5B, 0x5C, 0xA7, 0xED, 0x52, 0x44, 0x4D, 0xCD, 0xB2, 0x2A, 0xEB, 0xC9, 0xCD, 0x94, 0x1E, 0xFE, 0x10, 0xD2, 0x9F, 0x1E, 0x2A, 0x51, 0x5C, 0xE5, 0xCD, 0x01, 0x16, 0xCD, 0xE6, 0x15, 0x01, 0x00, 0x00, 0x30, 0x03, 0x0C, 0xF7, 0x12, 0xCD, + 0xB2, 0x2A, 0xE1, 0xCD, 0x15, 0x16, 0xC3, 0xBF, 0x35, 0xCD, 0xF1, 0x2B, 0x78, 0xB1, 0x28, 0x01, 0x1A, 0xC3, 0x28, 0x2D, 0xCD, 0xF1, 0x2B, 0xC3, 0x2B, 0x2D, 0xD9, 0xE5, 0x21, 0x67, 0x5C, 0x35, 0xE1, 0x20, 0x04, 0x23, 0xD9, 0xC9, 0xD9, 0x5E, + 0x7B, 0x17, 0x9F, 0x57, 0x19, 0xD9, 0xC9, 0x13, 0x13, 0x1A, 0x1B, 0x1B, 0xA7, 0x20, 0xEF, 0xD9, 0x23, 0xD9, 0xC9, 0xF1, 0xD9, 0xE3, 0xD9, 0xC9, 0xEF, 0xC0, 0x02, 0x31, 0xE0, 0x05, 0x27, 0xE0, 0x01, 0xC0, 0x04, 0x03, 0xE0, 0x38, 0xC9, 0xEF, + 0x31, 0x36, 0x00, 0x04, 0x3A, 0x38, 0xC9, 0x31, 0x3A, 0xC0, 0x03, 0xE0, 0x01, 0x30, 0x00, 0x03, 0xA1, 0x03, 0x38, 0xC9, 0xEF, 0x3D, 0x34, 0xF1, 0x38, 0xAA, 0x3B, 0x29, 0x04, 0x31, 0x27, 0xC3, 0x03, 0x31, 0x0F, 0xA1, 0x03, 0x88, 0x13, 0x36, + 0x58, 0x65, 0x66, 0x9D, 0x78, 0x65, 0x40, 0xA2, 0x60, 0x32, 0xC9, 0xE7, 0x21, 0xF7, 0xAF, 0x24, 0xEB, 0x2F, 0xB0, 0xB0, 0x14, 0xEE, 0x7E, 0xBB, 0x94, 0x58, 0xF1, 0x3A, 0x7E, 0xF8, 0xCF, 0xE3, 0x38, 0xCD, 0xD5, 0x2D, 0x20, 0x07, 0x38, 0x03, + 0x86, 0x30, 0x09, 0xCF, 0x05, 0x38, 0x07, 0x96, 0x30, 0x04, 0xED, 0x44, 0x77, 0xC9, 0xEF, 0x02, 0xA0, 0x38, 0xC9, 0xEF, 0x3D, 0x31, 0x37, 0x00, 0x04, 0x38, 0xCF, 0x09, 0xA0, 0x02, 0x38, 0x7E, 0x36, 0x80, 0xCD, 0x28, 0x2D, 0xEF, 0x34, 0x38, + 0x00, 0x03, 0x01, 0x31, 0x34, 0xF0, 0x4C, 0xCC, 0xCC, 0xCD, 0x03, 0x37, 0x00, 0x08, 0x01, 0xA1, 0x03, 0x01, 0x38, 0x34, 0xEF, 0x01, 0x34, 0xF0, 0x31, 0x72, 0x17, 0xF8, 0x04, 0x01, 0xA2, 0x03, 0xA2, 0x03, 0x31, 0x34, 0x32, 0x20, 0x04, 0xA2, + 0x03, 0x8C, 0x11, 0xAC, 0x14, 0x09, 0x56, 0xDA, 0xA5, 0x59, 0x30, 0xC5, 0x5C, 0x90, 0xAA, 0x9E, 0x70, 0x6F, 0x61, 0xA1, 0xCB, 0xDA, 0x96, 0xA4, 0x31, 0x9F, 0xB4, 0xE7, 0xA0, 0xFE, 0x5C, 0xFC, 0xEA, 0x1B, 0x43, 0xCA, 0x36, 0xED, 0xA7, 0x9C, + 0x7E, 0x5E, 0xF0, 0x6E, 0x23, 0x80, 0x93, 0x04, 0x0F, 0x38, 0xC9, 0xEF, 0x3D, 0x34, 0xEE, 0x22, 0xF9, 0x83, 0x6E, 0x04, 0x31, 0xA2, 0x0F, 0x27, 0x03, 0x31, 0x0F, 0x31, 0x0F, 0x31, 0x2A, 0xA1, 0x03, 0x31, 0x37, 0xC0, 0x00, 0x04, 0x02, 0x38, + 0xC9, 0xA1, 0x03, 0x01, 0x36, 0x00, 0x02, 0x1B, 0x38, 0xC9, 0xEF, 0x39, 0x2A, 0xA1, 0x03, 0xE0, 0x00, 0x06, 0x1B, 0x33, 0x03, 0xEF, 0x39, 0x31, 0x31, 0x04, 0x31, 0x0F, 0xA1, 0x03, 0x86, 0x14, 0xE6, 0x5C, 0x1F, 0x0B, 0xA3, 0x8F, 0x38, 0xEE, + 0xE9, 0x15, 0x63, 0xBB, 0x23, 0xEE, 0x92, 0x0D, 0xCD, 0xED, 0xF1, 0x23, 0x5D, 0x1B, 0xEA, 0x04, 0x38, 0xC9, 0xEF, 0x31, 0x1F, 0x01, 0x20, 0x05, 0x38, 0xC9, 0xCD, 0x97, 0x32, 0x7E, 0xFE, 0x81, 0x38, 0x0E, 0xEF, 0xA1, 0x1B, 0x01, 0x05, 0x31, + 0x36, 0xA3, 0x01, 0x00, 0x06, 0x1B, 0x33, 0x03, 0xEF, 0xA0, 0x01, 0x31, 0x31, 0x04, 0x31, 0x0F, 0xA1, 0x03, 0x8C, 0x10, 0xB2, 0x13, 0x0E, 0x55, 0xE4, 0x8D, 0x58, 0x39, 0xBC, 0x5B, 0x98, 0xFD, 0x9E, 0x00, 0x36, 0x75, 0xA0, 0xDB, 0xE8, 0xB4, + 0x63, 0x42, 0xC4, 0xE6, 0xB5, 0x09, 0x36, 0xBE, 0xE9, 0x36, 0x73, 0x1B, 0x5D, 0xEC, 0xD8, 0xDE, 0x63, 0xBE, 0xF0, 0x61, 0xA1, 0xB3, 0x0C, 0x04, 0x0F, 0x38, 0xC9, 0xEF, 0x31, 0x31, 0x04, 0xA1, 0x03, 0x1B, 0x28, 0xA1, 0x0F, 0x05, 0x24, 0x31, + 0x0F, 0x38, 0xC9, 0xEF, 0x22, 0xA3, 0x03, 0x1B, 0x38, 0xC9, 0xEF, 0x31, 0x30, 0x00, 0x1E, 0xA2, 0x38, 0xEF, 0x01, 0x31, 0x30, 0x00, 0x07, 0x25, 0x04, 0x38, 0xC3, 0xC4, 0x36, 0x02, 0x31, 0x30, 0x00, 0x09, 0xA0, 0x01, 0x37, 0x00, 0x06, 0xA1, + 0x01, 0x05, 0x02, 0xA1, 0x38, 0xC9, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x10, 0x10, 0x00, 0x10, 0x00, 0x00, 0x24, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x24, 0x7E, 0x24, 0x24, 0x7E, 0x24, 0x00, 0x00, 0x08, 0x3E, 0x28, 0x3E, 0x0A, 0x3E, 0x08, 0x00, 0x62, 0x64, 0x08, 0x10, 0x26, 0x46, 0x00, 0x00, 0x10, 0x28, 0x10, 0x2A, 0x44, 0x3A, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x04, 0x08, 0x08, 0x08, 0x08, 0x04, 0x00, 0x00, 0x20, 0x10, 0x10, 0x10, 0x10, 0x20, 0x00, 0x00, 0x00, 0x14, 0x08, 0x3E, 0x08, 0x14, 0x00, 0x00, 0x00, 0x08, 0x08, 0x3E, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x10, + 0x00, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x02, 0x04, 0x08, 0x10, 0x20, 0x00, 0x00, 0x3C, 0x46, 0x4A, 0x52, 0x62, 0x3C, 0x00, 0x00, 0x18, 0x28, 0x08, 0x08, 0x08, 0x3E, 0x00, + 0x00, 0x3C, 0x42, 0x02, 0x3C, 0x40, 0x7E, 0x00, 0x00, 0x3C, 0x42, 0x0C, 0x02, 0x42, 0x3C, 0x00, 0x00, 0x08, 0x18, 0x28, 0x48, 0x7E, 0x08, 0x00, 0x00, 0x7E, 0x40, 0x7C, 0x02, 0x42, 0x3C, 0x00, 0x00, 0x3C, 0x40, 0x7C, 0x42, 0x42, 0x3C, 0x00, + 0x00, 0x7E, 0x02, 0x04, 0x08, 0x10, 0x10, 0x00, 0x00, 0x3C, 0x42, 0x3C, 0x42, 0x42, 0x3C, 0x00, 0x00, 0x3C, 0x42, 0x42, 0x3E, 0x02, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x10, 0x20, + 0x00, 0x00, 0x04, 0x08, 0x10, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x10, 0x08, 0x04, 0x08, 0x10, 0x00, 0x00, 0x3C, 0x42, 0x04, 0x08, 0x00, 0x08, 0x00, 0x00, 0x3C, 0x4A, 0x56, 0x5E, 0x40, 0x3C, 0x00, + 0x00, 0x3C, 0x42, 0x42, 0x7E, 0x42, 0x42, 0x00, 0x00, 0x7C, 0x42, 0x7C, 0x42, 0x42, 0x7C, 0x00, 0x00, 0x3C, 0x42, 0x40, 0x40, 0x42, 0x3C, 0x00, 0x00, 0x78, 0x44, 0x42, 0x42, 0x44, 0x78, 0x00, 0x00, 0x7E, 0x40, 0x7C, 0x40, 0x40, 0x7E, 0x00, + 0x00, 0x7E, 0x40, 0x7C, 0x40, 0x40, 0x40, 0x00, 0x00, 0x3C, 0x42, 0x40, 0x4E, 0x42, 0x3C, 0x00, 0x00, 0x42, 0x42, 0x7E, 0x42, 0x42, 0x42, 0x00, 0x00, 0x3E, 0x08, 0x08, 0x08, 0x08, 0x3E, 0x00, 0x00, 0x02, 0x02, 0x02, 0x42, 0x42, 0x3C, 0x00, + 0x00, 0x44, 0x48, 0x70, 0x48, 0x44, 0x42, 0x00, 0x00, 0x40, 0x40, 0x40, 0x40, 0x40, 0x7E, 0x00, 0x00, 0x42, 0x66, 0x5A, 0x42, 0x42, 0x42, 0x00, 0x00, 0x42, 0x62, 0x52, 0x4A, 0x46, 0x42, 0x00, 0x00, 0x3C, 0x42, 0x42, 0x42, 0x42, 0x3C, 0x00, + 0x00, 0x7C, 0x42, 0x42, 0x7C, 0x40, 0x40, 0x00, 0x00, 0x3C, 0x42, 0x42, 0x52, 0x4A, 0x3C, 0x00, 0x00, 0x7C, 0x42, 0x42, 0x7C, 0x44, 0x42, 0x00, 0x00, 0x3C, 0x40, 0x3C, 0x02, 0x42, 0x3C, 0x00, 0x00, 0xFE, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, + 0x00, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3C, 0x00, 0x00, 0x42, 0x42, 0x42, 0x42, 0x24, 0x18, 0x00, 0x00, 0x42, 0x42, 0x42, 0x42, 0x5A, 0x24, 0x00, 0x00, 0x42, 0x24, 0x18, 0x18, 0x24, 0x42, 0x00, 0x00, 0x82, 0x44, 0x28, 0x10, 0x10, 0x10, 0x00, + 0x00, 0x7E, 0x04, 0x08, 0x10, 0x20, 0x7E, 0x00, 0x00, 0x0E, 0x08, 0x08, 0x08, 0x08, 0x0E, 0x00, 0x00, 0x00, 0x40, 0x20, 0x10, 0x08, 0x04, 0x00, 0x00, 0x70, 0x10, 0x10, 0x10, 0x10, 0x70, 0x00, 0x00, 0x10, 0x38, 0x54, 0x10, 0x10, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x1C, 0x22, 0x78, 0x20, 0x20, 0x7E, 0x00, 0x00, 0x00, 0x38, 0x04, 0x3C, 0x44, 0x3C, 0x00, 0x00, 0x20, 0x20, 0x3C, 0x22, 0x22, 0x3C, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x20, 0x20, 0x1C, 0x00, + 0x00, 0x04, 0x04, 0x3C, 0x44, 0x44, 0x3C, 0x00, 0x00, 0x00, 0x38, 0x44, 0x78, 0x40, 0x3C, 0x00, 0x00, 0x0C, 0x10, 0x18, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x3C, 0x44, 0x44, 0x3C, 0x04, 0x38, 0x00, 0x40, 0x40, 0x78, 0x44, 0x44, 0x44, 0x00, + 0x00, 0x10, 0x00, 0x30, 0x10, 0x10, 0x38, 0x00, 0x00, 0x04, 0x00, 0x04, 0x04, 0x04, 0x24, 0x18, 0x00, 0x20, 0x28, 0x30, 0x30, 0x28, 0x24, 0x00, 0x00, 0x10, 0x10, 0x10, 0x10, 0x10, 0x0C, 0x00, 0x00, 0x00, 0x68, 0x54, 0x54, 0x54, 0x54, 0x00, + 0x00, 0x00, 0x78, 0x44, 0x44, 0x44, 0x44, 0x00, 0x00, 0x00, 0x38, 0x44, 0x44, 0x44, 0x38, 0x00, 0x00, 0x00, 0x78, 0x44, 0x44, 0x78, 0x40, 0x40, 0x00, 0x00, 0x3C, 0x44, 0x44, 0x3C, 0x04, 0x06, 0x00, 0x00, 0x1C, 0x20, 0x20, 0x20, 0x20, 0x00, + 0x00, 0x00, 0x38, 0x40, 0x38, 0x04, 0x78, 0x00, 0x00, 0x10, 0x38, 0x10, 0x10, 0x10, 0x0C, 0x00, 0x00, 0x00, 0x44, 0x44, 0x44, 0x44, 0x38, 0x00, 0x00, 0x00, 0x44, 0x44, 0x28, 0x28, 0x10, 0x00, 0x00, 0x00, 0x44, 0x54, 0x54, 0x54, 0x28, 0x00, + 0x00, 0x00, 0x44, 0x28, 0x10, 0x28, 0x44, 0x00, 0x00, 0x00, 0x44, 0x44, 0x44, 0x3C, 0x04, 0x38, 0x00, 0x00, 0x7C, 0x08, 0x10, 0x20, 0x7C, 0x00, 0x00, 0x0E, 0x08, 0x30, 0x08, 0x08, 0x0E, 0x00, 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, + 0x00, 0x70, 0x10, 0x0C, 0x10, 0x10, 0x70, 0x00, 0x00, 0x14, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42, 0x99, 0xA1, 0xA1, 0x99, 0x42, 0x3C diff --git a/src/Examples/IoD16kSpectrumEmulator/Emulator.h b/src/Examples/IoD16kSpectrumEmulator/Emulator.h new file mode 100644 index 0000000..de57b9a --- /dev/null +++ b/src/Examples/IoD16kSpectrumEmulator/Emulator.h @@ -0,0 +1,382 @@ +#define ROMSIZE 16384 //49152 +#define RAMSIZE 16384 + +#define EXECZ80 +#define LSB_FIRST + +#define AQUARIUS 0 +#define ZX81 1 +#define ZXSPECTRUM 2 + +#define INT_RST00 0x00C7 /* RST 00h */ +#define INT_RST08 0x00CF /* RST 08h */ +#define INT_RST10 0x00D7 /* RST 10h */ +#define INT_RST18 0x00DF /* RST 18h */ +#define INT_RST20 0x00E7 /* RST 20h */ +#define INT_RST28 0x00EF /* RST 28h */ +#define INT_RST30 0x00F7 /* RST 30h */ +#define INT_RST38 0x00FF /* RST 38h */ +#define INT_IRQ INT_RST38 /* Default IRQ opcode is FFh */ +#define INT_NMI 0xFFFD /* Non-maskable interrupt */ +#define INT_NONE 0xFFFF /* No interrupt required */ +#define INT_QUIT 0xFFFE /* Exit the emulation */ + +/* Bits in Z80 F register: */ +#define S_FLAG 0x80 /* 1: Result negative */ +#define Z_FLAG 0x40 /* 1: Result is zero */ +#define H_FLAG 0x10 /* 1: Halfcarry/Halfborrow */ +#define P_FLAG 0x04 /* 1: Result is even */ +#define V_FLAG 0x04 /* 1: Overflow occured */ +#define N_FLAG 0x02 /* 1: Subtraction occured */ +#define C_FLAG 0x01 /* 1: Carry/Borrow occured */ + +/* Bits in IFF flip-flops: */ +#define IFF_1 0x01 /* IFF1 flip-flop */ +#define IFF_IM1 0x02 /* 1: IM1 mode */ +#define IFF_IM2 0x04 /* 1: IM2 mode */ +#define IFF_2 0x08 /* IFF2 flip-flop */ +#define IFF_EI 0x20 /* 1: EI pending */ +#define IFF_HALT 0x80 /* 1: CPU HALTed */ + +/** Simple Datatypes *****************************************/ +/** NOTICE: sizeof(byte)=1 and sizeof(word16)=2 **/ +/*************************************************************/ +#ifndef BYTE_TYPE_DEFINED +#define BYTE_TYPE_DEFINED +typedef uint8_t byte; +#endif +#ifndef WORD_TYPE_DEFINED +#define WORD_TYPE_DEFINED +typedef uint16_t word16; +#endif +typedef int8_t offset; + +/** Structured Datatypes *************************************/ +/** NOTICE: #define LSB_FIRST for machines where least **/ +/** signifcant byte goes first. **/ +/*************************************************************/ +typedef union +{ +#ifdef LSB_FIRST + struct { + byte l, h; + } B; +#else + struct { + byte h, l; + } B; +#endif + word16 W; +} pair; + +typedef struct +{ + pair AF, BC, DE, HL, IX, IY, PC, SP; /* Main registers */ + pair AF1, BC1, DE1, HL1; /* Shadow registers */ + byte IFF, I; /* Interrupt registers */ + byte R; /* Refresh register */ + + int IPeriod, ICount; /* Set IPeriod to number of CPU cycles */ + /* between calls to LoopZ80() */ + int IBackup; /* Private, don't touch */ + word16 IRequest; /* Set to address of pending IRQ */ + byte IAutoReset; /* Set to 1 to autom. reset IRequest */ + byte TrapBadOps; /* Set to 1 to warn of illegal opcodes */ + word16 Trap; /* Set Trap to address to trace from */ + byte Trace; /* Set Trace=1 to start tracing */ + void *User; /* Arbitrary user data (ID,RAM*,etc.) */ + + +} Z80; + + +word16 test2; +word16 SStemp; + +#ifndef JUMPZ80 +#define JumpZ80(PC) +#else +void JumpZ80(word16 PC); +#endif +#include "Tables.h" + +#ifdef __C99__ +#define INLINE static inline +#else +#define INLINE static __inline +#endif + +#define RdZ80 RDZ80 +#define WrZ80 WRZ80 + +#ifndef FAST_RDOP +#define OpZ80(A) RdZ80(A) +#endif + +#define S(Fl) R->AF.B.l|=Fl +#define R(Fl) R->AF.B.l&=~(Fl) +#define FLAGS(Rg,Fl) R->AF.B.l=Fl|ZSTable[Rg] + +#ifdef REAL_REG_R +#define INCR(N) R->R=((R->R+(N))&0x7F)|(R->R&0x80) +#else +#define INCR(N) +#endif + +#define M_RLC(Rg) \ + R->AF.B.l=Rg>>7;Rg=(Rg<<1)|R->AF.B.l;R->AF.B.l|=PZSTable[Rg] +#define M_RRC(Rg) \ + R->AF.B.l=Rg&0x01;Rg=(Rg>>1)|(R->AF.B.l<<7);R->AF.B.l|=PZSTable[Rg] +#define M_RL(Rg) \ + if(Rg&0x80) \ + { \ + Rg=(Rg<<1)|(R->AF.B.l&C_FLAG); \ + R->AF.B.l=PZSTable[Rg]|C_FLAG; \ + } \ + else \ + { \ + Rg=(Rg<<1)|(R->AF.B.l&C_FLAG); \ + R->AF.B.l=PZSTable[Rg]; \ + } +#define M_RR(Rg) \ + if(Rg&0x01) \ + { \ + Rg=(Rg>>1)|(R->AF.B.l<<7); \ + R->AF.B.l=PZSTable[Rg]|C_FLAG; \ + } \ + else \ + { \ + Rg=(Rg>>1)|(R->AF.B.l<<7); \ + R->AF.B.l=PZSTable[Rg]; \ + } + +#define M_SLA(Rg) \ + R->AF.B.l=Rg>>7;Rg<<=1;R->AF.B.l|=PZSTable[Rg] +#define M_SRA(Rg) \ + R->AF.B.l=Rg&C_FLAG;Rg=(Rg>>1)|(Rg&0x80);R->AF.B.l|=PZSTable[Rg] + +#define M_SLL(Rg) \ + R->AF.B.l=Rg>>7;Rg=(Rg<<1)|0x01;R->AF.B.l|=PZSTable[Rg] +#define M_SRL(Rg) \ + R->AF.B.l=Rg&0x01;Rg>>=1;R->AF.B.l|=PZSTable[Rg] + +#define M_BIT(Bit,Rg) \ + R->AF.B.l=(R->AF.B.l&C_FLAG)|H_FLAG|PZSTable[Rg&(1<Rg.B.l=OpZ80(R->SP.W++);R->Rg.B.h=OpZ80(R->SP.W++) +#define M_PUSH(Rg) \ + WrZ80(--R->SP.W,R->Rg.B.h);WrZ80(--R->SP.W,R->Rg.B.l) + +#define M_CALL \ + J.B.l=OpZ80(R->PC.W++);J.B.h=OpZ80(R->PC.W++); \ + WrZ80(--R->SP.W,R->PC.B.h);WrZ80(--R->SP.W,R->PC.B.l); \ + R->PC.W=J.W; \ + JumpZ80(J.W) + +#define M_JP J.B.l=OpZ80(R->PC.W++);J.B.h=OpZ80(R->PC.W);R->PC.W=J.W;JumpZ80(J.W) +#define M_JR R->PC.W+=(offset)OpZ80(R->PC.W)+1;JumpZ80(R->PC.W) +#define M_RET R->PC.B.l=OpZ80(R->SP.W++);R->PC.B.h=OpZ80(R->SP.W++);JumpZ80(R->PC.W) + +#define M_RST(Ad) \ + WrZ80(--R->SP.W,R->PC.B.h);WrZ80(--R->SP.W,R->PC.B.l);R->PC.W=Ad;JumpZ80(Ad) + +#define M_LDWORD(Rg) \ + R->Rg.B.l=OpZ80(R->PC.W++);R->Rg.B.h=OpZ80(R->PC.W++) + +#define M_ADD(Rg) \ + J.W=R->AF.B.h+Rg; \ + R->AF.B.l= \ + (~(R->AF.B.h^Rg)&(Rg^J.B.l)&0x80? V_FLAG:0)| \ + J.B.h|ZSTable[J.B.l]| \ + ((R->AF.B.h^Rg^J.B.l)&H_FLAG); \ + R->AF.B.h=J.B.l + +#define M_SUB(Rg) \ + J.W=R->AF.B.h-Rg; \ + R->AF.B.l= \ + ((R->AF.B.h^Rg)&(R->AF.B.h^J.B.l)&0x80? V_FLAG:0)| \ + N_FLAG|-J.B.h|ZSTable[J.B.l]| \ + ((R->AF.B.h^Rg^J.B.l)&H_FLAG); \ + R->AF.B.h=J.B.l + +#define M_ADC(Rg) \ + J.W=R->AF.B.h+Rg+(R->AF.B.l&C_FLAG); \ + R->AF.B.l= \ + (~(R->AF.B.h^Rg)&(Rg^J.B.l)&0x80? V_FLAG:0)| \ + J.B.h|ZSTable[J.B.l]| \ + ((R->AF.B.h^Rg^J.B.l)&H_FLAG); \ + R->AF.B.h=J.B.l + +#define M_SBC(Rg) \ + J.W=R->AF.B.h-Rg-(R->AF.B.l&C_FLAG); \ + R->AF.B.l= \ + ((R->AF.B.h^Rg)&(R->AF.B.h^J.B.l)&0x80? V_FLAG:0)| \ + N_FLAG|-J.B.h|ZSTable[J.B.l]| \ + ((R->AF.B.h^Rg^J.B.l)&H_FLAG); \ + R->AF.B.h=J.B.l + +#define M_CP(Rg) \ + J.W=R->AF.B.h-Rg; \ + R->AF.B.l= \ + ((R->AF.B.h^Rg)&(R->AF.B.h^J.B.l)&0x80? V_FLAG:0)| \ + N_FLAG|-J.B.h|ZSTable[J.B.l]| \ + ((R->AF.B.h^Rg^J.B.l)&H_FLAG) + +#define M_AND(Rg) R->AF.B.h&=Rg;R->AF.B.l=H_FLAG|PZSTable[R->AF.B.h] +#define M_OR(Rg) R->AF.B.h|=Rg;R->AF.B.l=PZSTable[R->AF.B.h] +#define M_XOR(Rg) R->AF.B.h^=Rg;R->AF.B.l=PZSTable[R->AF.B.h] + +#define M_IN(Rg) \ + Rg=InZ80(R->BC.W); \ + R->AF.B.l=PZSTable[Rg]|(R->AF.B.l&C_FLAG) + +#define M_INC(Rg) \ + Rg++; \ + R->AF.B.l= \ + (R->AF.B.l&C_FLAG)|ZSTable[Rg]| \ + (Rg==0x80? V_FLAG:0)|(Rg&0x0F? 0:H_FLAG) + +#define M_DEC(Rg) \ + Rg--; \ + R->AF.B.l= \ + N_FLAG|(R->AF.B.l&C_FLAG)|ZSTable[Rg]| \ + (Rg==0x7F? V_FLAG:0)|((Rg&0x0F)==0x0F? H_FLAG:0) + +#define M_ADDW(Rg1,Rg2) \ + J.W=(R->Rg1.W+R->Rg2.W)&0xFFFF; \ + R->AF.B.l= \ + (R->AF.B.l&~(H_FLAG|N_FLAG|C_FLAG))| \ + ((R->Rg1.W^R->Rg2.W^J.W)&0x1000? H_FLAG:0)| \ + (((long)R->Rg1.W+(long)R->Rg2.W)&0x10000? C_FLAG:0); \ + R->Rg1.W=J.W + +#define M_ADCW(Rg) \ + I=R->AF.B.l&C_FLAG;J.W=(R->HL.W+R->Rg.W+I)&0xFFFF; \ + R->AF.B.l= \ + (((long)R->HL.W+(long)R->Rg.W+(long)I)&0x10000? C_FLAG:0)| \ + (~(R->HL.W^R->Rg.W)&(R->Rg.W^J.W)&0x8000? V_FLAG:0)| \ + ((R->HL.W^R->Rg.W^J.W)&0x1000? H_FLAG:0)| \ + (J.W? 0:Z_FLAG)|(J.B.h&S_FLAG); \ + R->HL.W=J.W + +#define M_SBCW(Rg) \ + I=R->AF.B.l&C_FLAG;J.W=(R->HL.W-R->Rg.W-I)&0xFFFF; \ + R->AF.B.l= \ + N_FLAG| \ + (((long)R->HL.W-(long)R->Rg.W-(long)I)&0x10000? C_FLAG:0)| \ + ((R->HL.W^R->Rg.W)&(R->HL.W^J.W)&0x8000? V_FLAG:0)| \ + ((R->HL.W^R->Rg.W^J.W)&0x1000? H_FLAG:0)| \ + (J.W? 0:Z_FLAG)|(J.B.h&S_FLAG); \ + R->HL.W=J.W + +enum Codes +{ + NOP, LD_BC_WORD, LD_xBC_A, INC_BC, INC_B, DEC_B, LD_B_BYTE, RLCA, + EX_AF_AF, ADD_HL_BC, LD_A_xBC, DEC_BC, INC_C, DEC_C, LD_C_BYTE, RRCA, + DJNZ, LD_DE_WORD, LD_xDE_A, INC_DE, INC_D, DEC_D, LD_D_BYTE, RLA, + JR, ADD_HL_DE, LD_A_xDE, DEC_DE, INC_E, DEC_E, LD_E_BYTE, RRA, + JR_NZ, LD_HL_WORD, LD_xWORD_HL, INC_HL, INC_H, DEC_H, LD_H_BYTE, DAA, + JR_Z, ADD_HL_HL, LD_HL_xWORD, DEC_HL, INC_L, DEC_L, LD_L_BYTE, CPL, + JR_NC, LD_SP_WORD, LD_xWORD_A, INC_SP, INC_xHL, DEC_xHL, LD_xHL_BYTE, SCF, + JR_C, ADD_HL_SP, LD_A_xWORD, DEC_SP, INC_A, DEC_A, LD_A_BYTE, CCF, + LD_B_B, LD_B_C, LD_B_D, LD_B_E, LD_B_H, LD_B_L, LD_B_xHL, LD_B_A, + LD_C_B, LD_C_C, LD_C_D, LD_C_E, LD_C_H, LD_C_L, LD_C_xHL, LD_C_A, + LD_D_B, LD_D_C, LD_D_D, LD_D_E, LD_D_H, LD_D_L, LD_D_xHL, LD_D_A, + LD_E_B, LD_E_C, LD_E_D, LD_E_E, LD_E_H, LD_E_L, LD_E_xHL, LD_E_A, + LD_H_B, LD_H_C, LD_H_D, LD_H_E, LD_H_H, LD_H_L, LD_H_xHL, LD_H_A, + LD_L_B, LD_L_C, LD_L_D, LD_L_E, LD_L_H, LD_L_L, LD_L_xHL, LD_L_A, + LD_xHL_B, LD_xHL_C, LD_xHL_D, LD_xHL_E, LD_xHL_H, LD_xHL_L, HALT, LD_xHL_A, + LD_A_B, LD_A_C, LD_A_D, LD_A_E, LD_A_H, LD_A_L, LD_A_xHL, LD_A_A, + ADD_B, ADD_C, ADD_D, ADD_E, ADD_H, ADD_L, ADD_xHL, ADD_A, + ADC_B, ADC_C, ADC_D, ADC_E, ADC_H, ADC_L, ADC_xHL, ADC_A, + SUB_B, SUB_C, SUB_D, SUB_E, SUB_H, SUB_L, SUB_xHL, SUB_A, + SBC_B, SBC_C, SBC_D, SBC_E, SBC_H, SBC_L, SBC_xHL, SBC_A, + AND_B, AND_C, AND_D, AND_E, AND_H, AND_L, AND_xHL, AND_A, + XOR_B, XOR_C, XOR_D, XOR_E, XOR_H, XOR_L, XOR_xHL, XOR_A, + OR_B, OR_C, OR_D, OR_E, OR_H, OR_L, OR_xHL, OR_A, + CP_B, CP_C, CP_D, CP_E, CP_H, CP_L, CP_xHL, CP_A, + RET_NZ, POP_BC, JP_NZ, JP, CALL_NZ, PUSH_BC, ADD_BYTE, RST00, + RET_Z, RET, JP_Z, PFX_CB, CALL_Z, CALL, ADC_BYTE, RST08, + RET_NC, POP_DE, JP_NC, OUTA, CALL_NC, PUSH_DE, SUB_BYTE, RST10, + RET_C, EXX, JP_C, INA, CALL_C, PFX_DD, SBC_BYTE, RST18, + RET_PO, POP_HL, JP_PO, EX_HL_xSP, CALL_PO, PUSH_HL, AND_BYTE, RST20, + RET_PE, LD_PC_HL, JP_PE, EX_DE_HL, CALL_PE, PFX_ED, XOR_BYTE, RST28, + RET_P, POP_AF, JP_P, DI, CALL_P, PUSH_AF, OR_BYTE, RST30, + RET_M, LD_SP_HL, JP_M, EI, CALL_M, PFX_FD, CP_BYTE, RST38 +}; + +enum CodesCB +{ + RLC_B, RLC_C, RLC_D, RLC_E, RLC_H, RLC_L, RLC_xHL, RLC_A, + RRC_B, RRC_C, RRC_D, RRC_E, RRC_H, RRC_L, RRC_xHL, RRC_A, + RL_B, RL_C, RL_D, RL_E, RL_H, RL_L, RL_xHL, RL_A, + RR_B, RR_C, RR_D, RR_E, RR_H, RR_L, RR_xHL, RR_A, + SLA_B, SLA_C, SLA_D, SLA_E, SLA_H, SLA_L, SLA_xHL, SLA_A, + SRA_B, SRA_C, SRA_D, SRA_E, SRA_H, SRA_L, SRA_xHL, SRA_A, + SLL_B, SLL_C, SLL_D, SLL_E, SLL_H, SLL_L, SLL_xHL, SLL_A, + SRL_B, SRL_C, SRL_D, SRL_E, SRL_H, SRL_L, SRL_xHL, SRL_A, + BIT0_B, BIT0_C, BIT0_D, BIT0_E, BIT0_H, BIT0_L, BIT0_xHL, BIT0_A, + BIT1_B, BIT1_C, BIT1_D, BIT1_E, BIT1_H, BIT1_L, BIT1_xHL, BIT1_A, + BIT2_B, BIT2_C, BIT2_D, BIT2_E, BIT2_H, BIT2_L, BIT2_xHL, BIT2_A, + BIT3_B, BIT3_C, BIT3_D, BIT3_E, BIT3_H, BIT3_L, BIT3_xHL, BIT3_A, + BIT4_B, BIT4_C, BIT4_D, BIT4_E, BIT4_H, BIT4_L, BIT4_xHL, BIT4_A, + BIT5_B, BIT5_C, BIT5_D, BIT5_E, BIT5_H, BIT5_L, BIT5_xHL, BIT5_A, + BIT6_B, BIT6_C, BIT6_D, BIT6_E, BIT6_H, BIT6_L, BIT6_xHL, BIT6_A, + BIT7_B, BIT7_C, BIT7_D, BIT7_E, BIT7_H, BIT7_L, BIT7_xHL, BIT7_A, + RES0_B, RES0_C, RES0_D, RES0_E, RES0_H, RES0_L, RES0_xHL, RES0_A, + RES1_B, RES1_C, RES1_D, RES1_E, RES1_H, RES1_L, RES1_xHL, RES1_A, + RES2_B, RES2_C, RES2_D, RES2_E, RES2_H, RES2_L, RES2_xHL, RES2_A, + RES3_B, RES3_C, RES3_D, RES3_E, RES3_H, RES3_L, RES3_xHL, RES3_A, + RES4_B, RES4_C, RES4_D, RES4_E, RES4_H, RES4_L, RES4_xHL, RES4_A, + RES5_B, RES5_C, RES5_D, RES5_E, RES5_H, RES5_L, RES5_xHL, RES5_A, + RES6_B, RES6_C, RES6_D, RES6_E, RES6_H, RES6_L, RES6_xHL, RES6_A, + RES7_B, RES7_C, RES7_D, RES7_E, RES7_H, RES7_L, RES7_xHL, RES7_A, + SET0_B, SET0_C, SET0_D, SET0_E, SET0_H, SET0_L, SET0_xHL, SET0_A, + SET1_B, SET1_C, SET1_D, SET1_E, SET1_H, SET1_L, SET1_xHL, SET1_A, + SET2_B, SET2_C, SET2_D, SET2_E, SET2_H, SET2_L, SET2_xHL, SET2_A, + SET3_B, SET3_C, SET3_D, SET3_E, SET3_H, SET3_L, SET3_xHL, SET3_A, + SET4_B, SET4_C, SET4_D, SET4_E, SET4_H, SET4_L, SET4_xHL, SET4_A, + SET5_B, SET5_C, SET5_D, SET5_E, SET5_H, SET5_L, SET5_xHL, SET5_A, + SET6_B, SET6_C, SET6_D, SET6_E, SET6_H, SET6_L, SET6_xHL, SET6_A, + SET7_B, SET7_C, SET7_D, SET7_E, SET7_H, SET7_L, SET7_xHL, SET7_A +}; + +enum CodesED +{ + DB_00, DB_01, DB_02, DB_03, DB_04, DB_05, DB_06, DB_07, + DB_08, DB_09, DB_0A, DB_0B, DB_0C, DB_0D, DB_0E, DB_0F, + DB_10, DB_11, DB_12, DB_13, DB_14, DB_15, DB_16, DB_17, + DB_18, DB_19, DB_1A, DB_1B, DB_1C, DB_1D, DB_1E, DB_1F, + DB_20, DB_21, DB_22, DB_23, DB_24, DB_25, DB_26, DB_27, + DB_28, DB_29, DB_2A, DB_2B, DB_2C, DB_2D, DB_2E, DB_2F, + DB_30, DB_31, DB_32, DB_33, DB_34, DB_35, DB_36, DB_37, + DB_38, DB_39, DB_3A, DB_3B, DB_3C, DB_3D, DB_3E, DB_3F, + IN_B_xC, OUT_xC_B, SBC_HL_BC, LD_xWORDe_BC, NEG, RETN, IM_0, LD_I_A, + IN_C_xC, OUT_xC_C, ADC_HL_BC, LD_BC_xWORDe, DB_4C, RETI, DB_, LD_R_A, + IN_D_xC, OUT_xC_D, SBC_HL_DE, LD_xWORDe_DE, DB_54, DB_55, IM_1, LD_A_I, + IN_E_xC, OUT_xC_E, ADC_HL_DE, LD_DE_xWORDe, DB_5C, DB_5D, IM_2, LD_A_R, + IN_H_xC, OUT_xC_H, SBC_HL_HL, LD_xWORDe_HL, DB_64, DB_65, DB_66, RRD, + IN_L_xC, OUT_xC_L, ADC_HL_HL, LD_HL_xWORDe, DB_6C, DB_6D, DB_6E, RLD, + IN_F_xC, DB_71, SBC_HL_SP, LD_xWORDe_SP, DB_74, DB_75, DB_76, DB_77, + IN_A_xC, OUT_xC_A, ADC_HL_SP, LD_SP_xWORDe, DB_7C, DB_7D, DB_7E, DB_7F, + DB_80, DB_81, DB_82, DB_83, DB_84, DB_85, DB_86, DB_87, + DB_88, DB_89, DB_8A, DB_8B, DB_8C, DB_8D, DB_8E, DB_8F, + DB_90, DB_91, DB_92, DB_93, DB_94, DB_95, DB_96, DB_97, + DB_98, DB_99, DB_9A, DB_9B, DB_9C, DB_9D, DB_9E, DB_9F, + LDI, CPI, INI, OUTI, DB_A4, DB_A5, DB_A6, DB_A7, + LDD, CPD, IND, OUTD, DB_AC, DB_AD, DB_AE, DB_AF, + LDIR, CPIR, INIR, OTIR, DB_B4, DB_B5, DB_B6, DB_B7, + LDDR, CPDR, INDR, OTDR, DB_BC, DB_BD, DB_BE, DB_BF, + DB_C0, DB_C1, DB_C2, DB_C3, DB_C4, DB_C5, DB_C6, DB_C7, + DB_C8, DB_C9, DB_CA, DB_CB, DB_CC, DB_CD, DB_CE, DB_CF, + DB_D0, DB_D1, DB_D2, DB_D3, DB_D4, DB_D5, DB_D6, DB_D7, + DB_D8, DB_D9, DB_DA, DB_DB, DB_DC, DB_DD, DB_DE, DB_DF, + DB_E0, DB_E1, DB_E2, DB_E3, DB_E4, DB_E5, DB_E6, DB_E7, + DB_E8, DB_E9, DB_EA, DB_EB, DB_EC, DB_ED, DB_EE, DB_EF, + DB_F0, DB_F1, DB_F2, DB_F3, DB_F4, DB_F5, DB_F6, DB_F7, + DB_F8, DB_F9, DB_FA, DB_FB, DB_FC, DB_FD, DB_FE, DB_FF +}; diff --git a/src/Examples/IoD16kSpectrumEmulator/Extra/EmulatorKeyboardApp/Application Files/Emulator Keyboard App_1_0_0_6/EMuKEYbapp.ico.deploy b/src/Examples/IoD16kSpectrumEmulator/Extra/EmulatorKeyboardApp/Application Files/Emulator Keyboard App_1_0_0_6/EMuKEYbapp.ico.deploy new file mode 100644 index 0000000000000000000000000000000000000000..4f004efb17a345809f55c2303fc2707df0fe70e7 GIT binary patch literal 4286 zcmc(i`CF6O6~`ef2_b|e1lbe?A%sN{kX;ZI0f`}ih(H7sWmVjeO=Pq#?1~Dm)o~d& z#OZXI#TjSpv`?R>zqEhSr{_&NwD#%GZFt_~aPNKZx%a;3bH3*d3JR9LgoGgFJLr`q zD98~M6y%gknu5yYQri6=>HCv8a0MFt-^lm>?6PgBq<;1Si5t}a)n~BUfHowG;9wOR zO{iQZ|2U00RNAAZU4vF@7JD5*${4*Jt=^s;*`ZG@Y{*tp3>N>U1DlM!d~R#KeXF^8Gi7-u6sI)ZRh2+pKT8ZXYV*OP=^tC95u zGuTnfxp}1^U`OjP*A0{^>PZ zJUf{j>EY{Fi+JU}<*7kd?oU!%mdEOg1+g!&w_IOJjX}cs5IYMG>=CPVv>f3HFs2@@{3BcT3|`7v*yI@-$b5hS^_L%y%!Rcq98? zy+0<;a3jJF`zi~VJljT>uZAsYNsP&vw(Kh>KPQ#(K_8xqLduJ?m>lY$qBxtqyYo0d z*hXP?8qM_;jPbDKydLo?>sPrnrA`NmG{o})8gb}?) zSO~(l(M;reGit4x5E(Dz2j>3|zU>=!GDsk*IZ{s5N>tx(FE`jM~rgI$2LRT8$Bv{IAR(8j(rmMHW}O*j#Kfc!7nj7Q#1xrB$NKnWypwZOxntM-2g|w!+xGDM{(0)% zWlZ#WS$TSy>Wb~m4t{3%KcGFiIV!Q7=D$_vu@VtI)9YbU8J-Nv&A6P!DFi2BN0 zp4>b|cc+IAZ!s&6#^`LVVdR*bXSdH#v!{Uhv37~SQI2<}e&Th$+Ce(q~&=PW8=OYyMTD zbtENzW+4nHJE!q)qW`h>ye~?VFR2is7T8N8Z&*sD! z?DkFMp80&u|AD=QtUQ~%=W(!`tc>^#tyT;wv6A4)}HQer2B9KAB5FoqG2-^2l(d6Wp-}QBC&LG z&3{{44Ikbv)74zZ(Ai_WU%Af#ce(8CB)@yKAR1M~=c1>-e{fa&47lYMNvF6`s2@%~3#H-mJ zf}(v&99u-|bi$MpyGFZco-nA^sIYEObWSDAs6_WfUqUp(h8kN^xM-0|Skq#cc9o0` za|pxHfqKuh&KQ_a<~D^T`@t_ay;d|TFix#jbWGt(^iR<-sVx=mlzyF3ZwhA` zU6|wn(PYtXou5s+^sA-aB5PFiPHbUWVOp)$3a`Sf@T=@a*_%e{Se?!wbz(kANg0^U zRuVTkiHo)gV-a%BS;Rz%ZCyu3S^?`Kt=McaWQy&OIy6=|O?Tz^+1$83oitZI5oTd9 zF-vNTRGH6AN}`Jd(aA`wjm(S^;n{^s_N4e%>Vr6kl{*)^rA8ZIw{Z3O^l8SA_p(Ro zomYz^O!T%&F3sWf%@I!cytK>nTe*E+>d{J09ID~v;&~dR_8aeOVD;9J)PC74j31VH z&QMj7&HXC_+?Kl1TU8+QonusTuulK4JeUv@$&0(^{am?s=JM^+DV8ps6Adcj*sNm->ml*Fp$l#F%ep^YO(ssqu<stNwRbB|UE%m$jd1apK<6Y?Wf!I>cAR#)EmAhm7=9SdsQXhXOn*UPn@ru6w^m>{b zR|aWw7xA|r9!jm*BWF-6Yq?Huhev9J1N`;dWjYR2aeb_dAK%X6tuEr}^|So_!wXqU zDPKxG`gZX&t=@7zzP!rf#IaBOTP+{W|Qdcs;5u*%+E<@ zQ0jKC)HZ6V;{wlLYB8gMqP#4O20futQbiyF;8HBjPQrxWgEzb + + + + + + + + + + + + + + + + Btpiv6Oa8fzq4gfbz3+ccKYVo9KCvqZ+s+Zp5SWJIv8= + + + +U7E3X0twtW9w9VlQCWw75wz1X3UCdsmunlgh0onfA04=VtoPExl3Zlsckn0UAo6iXZVE3XxLmRz8o7NUdrvk9FNAC5KGB7M0YmiFT3oOUrOruJD4zOK1jmK6MjbW0HJVwiCMEg/roKW/+zkRBbRP6Hplmkyyaq8yvBkSyMFg54tRgCyz+pFOt7vuTNsqWke4j3uFc0gR+QQ/6qH0wexqDfA=0cI8A+JaD6NLMH68en3xvuprWBXlM0fnkSvxAkNjlyOu9DvJnE/r9SgB2pL7NgZ70WqevWH0a3LODKd2xgc0/co33sOrhhqMO7PSgA2onhMpMUs7DB2le1OJRwea+YYfAhyklSBhNrBYNOL/6dKKKmcS2MdwmugF0u0t2G+hyoE=AQABCN=DESKTOP-1ILBHQ1\paulcxMO4YEqMzvOUXHSkFfB0U3suGVzRwKjvpb2wAcV9r1s=KC05S8m7mOCxA95KxMQhSpZ/NllpQEJrJQG+OmiuOrIGR40p8MbrmWRVdChsSRRkcBgjdBz30P/6vTGf5RD7nNzHZJo8g77iZEe//yoLLFRs5zKmFtUk0RoKxmqiiefcWCH3YcXVg6trPxQejLeYCRW795CZ55XjD1G6gizMOJs=0cI8A+JaD6NLMH68en3xvuprWBXlM0fnkSvxAkNjlyOu9DvJnE/r9SgB2pL7NgZ70WqevWH0a3LODKd2xgc0/co33sOrhhqMO7PSgA2onhMpMUs7DB2le1OJRwea+YYfAhyklSBhNrBYNOL/6dKKKmcS2MdwmugF0u0t2G+hyoE=AQABMIIB7TCCAVagAwIBAgIQS9EMABG5651CQd6tNyBubTANBgkqhkiG9w0BAQsFADA1MTMwMQYDVQQDHioARABFAFMASwBUAE8AUAAtADEASQBMAEIASABRADEAXABwAGEAdQBsAGMwHhcNMjIxMDI0MTU0NDI0WhcNMjMxMDI0MjE0NDI0WjA1MTMwMQYDVQQDHioARABFAFMASwBUAE8AUAAtADEASQBMAEIASABRADEAXABwAGEAdQBsAGMwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANHCPAPiWg+jSzB+vHp98b7qa1gV5TNH55Er8QJDY5cjrvQ7yZxP6/UoAdqS+zYGe9Fqnr1h9GtyzgyndsYHNP3KN97Dq4YajDuz0oANqJ4TKTFLOwwdpXtTiUcHmvmGHwIcpJUgYTawWDTi/+nSiipnEtjHcJroBdLtLdhvocqBAgMBAAEwDQYJKoZIhvcNAQELBQADgYEAYIqZuZlJCnp5/NC8vgGibZC8MpvsGn8hf1+lo+JG8fnNnKtPcyEpGjJnBcvZlS1UVg+whaPz/TFJ1hKrYyAsKN0bBZnkIX0ber1YwrKD+FIdzrCBNnBG5TaxUoxlg4mZwH37F/haVxQBy9LDdakEnU4D2UYyX1v4XcrGsV8LopY= \ No newline at end of file diff --git a/src/Examples/IoD16kSpectrumEmulator/Extra/EmulatorKeyboardApp/Application Files/Emulator Keyboard App_1_0_0_6/Emulator Keyboard App.exe.config.deploy b/src/Examples/IoD16kSpectrumEmulator/Extra/EmulatorKeyboardApp/Application Files/Emulator Keyboard App_1_0_0_6/Emulator Keyboard App.exe.config.deploy new file mode 100644 index 0000000..ffaf540 --- /dev/null +++ b/src/Examples/IoD16kSpectrumEmulator/Extra/EmulatorKeyboardApp/Application Files/Emulator Keyboard App_1_0_0_6/Emulator Keyboard App.exe.config.deploy @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/Examples/IoD16kSpectrumEmulator/Extra/EmulatorKeyboardApp/Application Files/Emulator Keyboard App_1_0_0_6/Emulator Keyboard App.exe.deploy b/src/Examples/IoD16kSpectrumEmulator/Extra/EmulatorKeyboardApp/Application Files/Emulator Keyboard App_1_0_0_6/Emulator Keyboard App.exe.deploy new file mode 100644 index 0000000000000000000000000000000000000000..b43f1d872d1f340126641f57cf0c8539908385f4 GIT binary patch literal 339936 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%0AbQ2qfysye%}tW_aL;zl93b_@v$yCkuOga_Y9 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

5hs1sSRprOMCm2u1cm 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Agn+2hrxs0pbgkTrV1ONOQKkZUFdnpZDa67Kj5mlMBA= + + + + + + + + + + nF32vbxnIHKf+UV/oqPTFW22q09Hbf9ZmtQxp2twP04= + + + + + + + + + VDy5/VrQni+RSOb/6uEMWMc6bGQEaa2e2UdeWG+KK1I= + + +SJN7weslGUsGYnv2i9jfqVtiCmxFKkKrcdKhIfLx+Us=QNrW3JhvARiwd0R6hz2rHbvbG64XGhsgk6QsVX+qlTmGCB9Q94cP4kOqlxYbHWW/+UdYVv5zzfUzKF6Z032cCgeyc+yVPsxCb8OZsEUNDuco73zbwtW5jpTUtYisni0F7GYTqCm/KtMjwd7Qd3ctqg0NzzyIRgINP50LozPEBl4=0cI8A+JaD6NLMH68en3xvuprWBXlM0fnkSvxAkNjlyOu9DvJnE/r9SgB2pL7NgZ70WqevWH0a3LODKd2xgc0/co33sOrhhqMO7PSgA2onhMpMUs7DB2le1OJRwea+YYfAhyklSBhNrBYNOL/6dKKKmcS2MdwmugF0u0t2G+hyoE=AQABCN=DESKTOP-1ILBHQ1\paulcu2r1QBTYSFrGl3GxKZnG7QUgK8gfk4cGJQP6U8RrQWo=S80n2LEQlvT2q5To6J2B7XmUvoRJVc41poGWB5hHVps6sFsf3k4/YCf1MSpKzM5IKuqx0QpBFg6hZv3R0iCIYek93/0rDVddBQZ97+TmxtaQfeZmEYZ8bwx8A/QHa03PjlvaDP9PQvHgHGTb5ByA50LY3trQeGIBIVLkn+0q18M=0cI8A+JaD6NLMH68en3xvuprWBXlM0fnkSvxAkNjlyOu9DvJnE/r9SgB2pL7NgZ70WqevWH0a3LODKd2xgc0/co33sOrhhqMO7PSgA2onhMpMUs7DB2le1OJRwea+YYfAhyklSBhNrBYNOL/6dKKKmcS2MdwmugF0u0t2G+hyoE=AQABMIIB7TCCAVagAwIBAgIQS9EMABG5651CQd6tNyBubTANBgkqhkiG9w0BAQsFADA1MTMwMQYDVQQDHioARABFAFMASwBUAE8AUAAtADEASQBMAEIASABRADEAXABwAGEAdQBsAGMwHhcNMjIxMDI0MTU0NDI0WhcNMjMxMDI0MjE0NDI0WjA1MTMwMQYDVQQDHioARABFAFMASwBUAE8AUAAtADEASQBMAEIASABRADEAXABwAGEAdQBsAGMwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANHCPAPiWg+jSzB+vHp98b7qa1gV5TNH55Er8QJDY5cjrvQ7yZxP6/UoAdqS+zYGe9Fqnr1h9GtyzgyndsYHNP3KN97Dq4YajDuz0oANqJ4TKTFLOwwdpXtTiUcHmvmGHwIcpJUgYTawWDTi/+nSiipnEtjHcJroBdLtLdhvocqBAgMBAAEwDQYJKoZIhvcNAQELBQADgYEAYIqZuZlJCnp5/NC8vgGibZC8MpvsGn8hf1+lo+JG8fnNnKtPcyEpGjJnBcvZlS1UVg+whaPz/TFJ1hKrYyAsKN0bBZnkIX0ber1YwrKD+FIdzrCBNnBG5TaxUoxlg4mZwH37F/haVxQBy9LDdakEnU4D2UYyX1v4XcrGsV8LopY= \ No newline at end of file diff --git a/src/Examples/IoD16kSpectrumEmulator/Extra/EmulatorKeyboardApp/Emulator Keyboard App.application b/src/Examples/IoD16kSpectrumEmulator/Extra/EmulatorKeyboardApp/Emulator Keyboard App.application new file mode 100644 index 0000000..02079fa --- /dev/null +++ b/src/Examples/IoD16kSpectrumEmulator/Extra/EmulatorKeyboardApp/Emulator Keyboard App.application @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + Btpiv6Oa8fzq4gfbz3+ccKYVo9KCvqZ+s+Zp5SWJIv8= + + + +U7E3X0twtW9w9VlQCWw75wz1X3UCdsmunlgh0onfA04=VtoPExl3Zlsckn0UAo6iXZVE3XxLmRz8o7NUdrvk9FNAC5KGB7M0YmiFT3oOUrOruJD4zOK1jmK6MjbW0HJVwiCMEg/roKW/+zkRBbRP6Hplmkyyaq8yvBkSyMFg54tRgCyz+pFOt7vuTNsqWke4j3uFc0gR+QQ/6qH0wexqDfA=0cI8A+JaD6NLMH68en3xvuprWBXlM0fnkSvxAkNjlyOu9DvJnE/r9SgB2pL7NgZ70WqevWH0a3LODKd2xgc0/co33sOrhhqMO7PSgA2onhMpMUs7DB2le1OJRwea+YYfAhyklSBhNrBYNOL/6dKKKmcS2MdwmugF0u0t2G+hyoE=AQABCN=DESKTOP-1ILBHQ1\paulcxMO4YEqMzvOUXHSkFfB0U3suGVzRwKjvpb2wAcV9r1s=KC05S8m7mOCxA95KxMQhSpZ/NllpQEJrJQG+OmiuOrIGR40p8MbrmWRVdChsSRRkcBgjdBz30P/6vTGf5RD7nNzHZJo8g77iZEe//yoLLFRs5zKmFtUk0RoKxmqiiefcWCH3YcXVg6trPxQejLeYCRW795CZ55XjD1G6gizMOJs=0cI8A+JaD6NLMH68en3xvuprWBXlM0fnkSvxAkNjlyOu9DvJnE/r9SgB2pL7NgZ70WqevWH0a3LODKd2xgc0/co33sOrhhqMO7PSgA2onhMpMUs7DB2le1OJRwea+YYfAhyklSBhNrBYNOL/6dKKKmcS2MdwmugF0u0t2G+hyoE=AQABMIIB7TCCAVagAwIBAgIQS9EMABG5651CQd6tNyBubTANBgkqhkiG9w0BAQsFADA1MTMwMQYDVQQDHioARABFAFMASwBUAE8AUAAtADEASQBMAEIASABRADEAXABwAGEAdQBsAGMwHhcNMjIxMDI0MTU0NDI0WhcNMjMxMDI0MjE0NDI0WjA1MTMwMQYDVQQDHioARABFAFMASwBUAE8AUAAtADEASQBMAEIASABRADEAXABwAGEAdQBsAGMwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANHCPAPiWg+jSzB+vHp98b7qa1gV5TNH55Er8QJDY5cjrvQ7yZxP6/UoAdqS+zYGe9Fqnr1h9GtyzgyndsYHNP3KN97Dq4YajDuz0oANqJ4TKTFLOwwdpXtTiUcHmvmGHwIcpJUgYTawWDTi/+nSiipnEtjHcJroBdLtLdhvocqBAgMBAAEwDQYJKoZIhvcNAQELBQADgYEAYIqZuZlJCnp5/NC8vgGibZC8MpvsGn8hf1+lo+JG8fnNnKtPcyEpGjJnBcvZlS1UVg+whaPz/TFJ1hKrYyAsKN0bBZnkIX0ber1YwrKD+FIdzrCBNnBG5TaxUoxlg4mZwH37F/haVxQBy9LDdakEnU4D2UYyX1v4XcrGsV8LopY= \ No newline at end of file diff --git a/src/Examples/IoD16kSpectrumEmulator/Extra/EmulatorKeyboardApp/setup.exe b/src/Examples/IoD16kSpectrumEmulator/Extra/EmulatorKeyboardApp/setup.exe new file mode 100644 index 0000000000000000000000000000000000000000..b0923561ba4fb9415daba23d48377574375b6516 GIT binary patch literal 553952 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

-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%0Ao0-IXZEYkwJ=Fd9n?W>8Xw_Qsn6o}<~ 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%0AhNs<FF9=8k24M*Rb7#F|m$ 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

D% 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

#nM$rLPvRdnc( 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 Q?|V7>rP=N4PT^?(AL$qR82|tP literal 0 HcmV?d00001 diff --git a/src/Examples/IoD16kSpectrumEmulator/Extra/ReadMe.txt b/src/Examples/IoD16kSpectrumEmulator/Extra/ReadMe.txt new file mode 100644 index 0000000..673b138 --- /dev/null +++ b/src/Examples/IoD16kSpectrumEmulator/Extra/ReadMe.txt @@ -0,0 +1,25 @@ +16k ZX Spectrum Emulator for IoD. + +A simple emulator for the the gen4-IoD range of displays using GFX4d. The IoD remains connected to the PC and uses the PC keyboard to input using the supplied app. + +Cartridge ROMs can be added into flash by following the commented out method at the top of the sketch. HXD is a good tool to create a .h file from a binary. + +.TAP files can be simply copied to the uSD card. + +In the Extra folder there is a utility to give keyboard control from a PC which communicates keyboard matrix commands to the IoD via the UPA. Simply double click Setup to install the Emulator Keyboard App. + +F1 key launches the ROM menu, F2 launches the .TAP menu. Use the Comms tab to set up the Port of the IoD and then click on Connect. + +The .TAP menu can also be launched by typing LOAD "" into the emulator followed by ENTER. + +Select the .TAP file with the on-screen UP & DOWN buttons on the IoD display or on the PC keyboard 6 & 7 or cursor keys followed by Enter and the .TAP file will start to load. + +Only .TAP files for the 16k Spectrum will function correctly. JETPAC and PHEENIX play very well on the emulator. + +Saving to .TAP is also supported. + +Beep tones are sent to GPIO16 of the IoD and a small amplifier / speaker is all that is needed if sound is required. + +The IoD will make a good basis for a handheld ZX Spectrum project or other emulated machines + + \ No newline at end of file diff --git a/src/Examples/IoD16kSpectrumEmulator/IoD16kSpectrumEmulator.ino b/src/Examples/IoD16kSpectrumEmulator/IoD16kSpectrumEmulator.ino new file mode 100644 index 0000000..8a3ef9e --- /dev/null +++ b/src/Examples/IoD16kSpectrumEmulator/IoD16kSpectrumEmulator.ino @@ -0,0 +1,1452 @@ + +#include "GFX4d.h" +#include +#include "Emulator.h" + +#define ZX_EMU_TAPE 0 +#define ZX_EMU_ROM 1 + +#define ZX_LOAD_ANIM 0 // 0 - off, 8 - slow, 16 - medium, 32 - fast etc ... + +byte chkKeyb; + +uint8_t * RAM; + +uint8_t SCREENCACHE[6145]; +uint16_t screenline[256]; +unsigned char CACHE[1024]; + +uint8_t CACHETEST[32] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0 + }; + +uint8_t linepos[192] = {0, 8, 16, 24, 32, 40, 48, 56, + 1, 9, 17, 25, 33, 41, 49, 57, + 2, 10, 18, 26, 34, 42, 50, 58, + 3, 11, 19, 27, 35, 43, 51, 59, + 4, 12, 20, 28, 36, 44, 52, 60, + 5, 13, 21, 29, 37, 45, 53, 61, + 6, 14, 22, 30, 38, 46, 54, 62, + 7, 15, 23, 31, 39, 47, 55, 63, + 64, 72, 80, 88, 96, 104, 112, 120, + 65, 73, 81, 89, 97, 105, 113, 121, + 66, 74, 82, 90, 98, 106, 114, 122, + 67, 75, 83, 91, 99, 107, 115, 123, + 68, 76, 84, 92, 100, 108, 116, 124, + 69, 77, 85, 93, 101, 109, 117, 125, + 70, 78, 86, 94, 102, 110, 118, 126, + 71, 79, 87, 95, 103, 111, 119, 127, + 128, 136, 144, 152, 160, 168, 176, 184, + 129, 137, 145, 153, 161, 169, 177, 185, + 130, 138, 146, 154, 162, 170, 178, 186, + 131, 139, 147, 155, 163, 171, 179, 187, + 132, 140, 148, 156, 164, 172, 180, 188, + 133, 141, 149, 157, 165, 173, 181, 189, + 134, 142, 150, 158, 166, 174, 182, 190, + 135, 143, 151, 159, 167, 175, 183, 191 + }; + +const char ROMcartridges[200] PROGMEM = {'1', '6', 'k', '/', '4', '8', 'k', ' ', 'B', 'a', 's', 'i', 'c', ' ', 'R', 'O', 'M', 0, + // 'P', 'l', 'a', 'n', 'e', 't', 'o', 'i', 'd', 's', 0, + // 'S', 'p', 'a', 'c', 'e', ' ', 'R', 'a', 'i', 'd', 'e', 'r', 's', 0, + // 'H', 'o', 'r', 'a', 'c', 'e', ' ', 'a', 'n', 'd', ' ', 't', 'h', 'e', ' ', 'S', 'p', 'i', 'd', 'e', 'r', 's', 0, + // 'H', 'o', 'r', 'a', 'c', 'e', 0, + // 'P', 'i', 'n', 'b', 'a', 'l', 'l', 0, + // 'D', 'e', 'a', 'h', 'c', 'h', 'a', 's', 'e', 0, + // 'D', 'i', 'a', 'g', 'n', 'o', 's', 't', 'i', 'c', 's', 0, + // 'H', 'i', 'g', 'h', 'w', 'a', 'y', ' ', 'E', 'n', 'c', 'o', 'u', 'n', 't', 'e', 'r', 0, + // 'V', 'e', 'c', 't', 'o', 'r', ' ', 'B', 'a', 'l', 'l', 0, + // 'S', 't', 'a', 'r', ' ', 'W', 'a', 'r', 's', 0, + // 'Q', 'B', 'e', 'r', 't', 0, + // 'G', 'y', 'r', 'u', 's', 's', 0, + // 'F', 'l', 'i', 'g', 'h', 't', ' ', 'S', 'i', 'm', 'u', 'l', 'a', 't', 'i', 'o', 'n', 0, + 255 // 255 is end marker + }; +byte romnum = 1; // total ROMs in flash including BASIC +// Example roms added. Roms must be added the same way as the Basic.h and named GAME1, GAME2 .... +// Also need to modify the switch/case routine in the RdZ80(word16 A) function +// ROMs +const unsigned char ROM[16384] PROGMEM = { +#include "Basic.h" //ZX Spectrum rom +}; +/* +const unsigned char GAME1[16384] PROGMEM = { +#include "Planetoid.h" //ZX Spectrum rom +}; +const unsigned char GAME2[16384] PROGMEM = { +#include "SpaceRaiders.h" +}; +const unsigned char GAME3[16384] PROGMEM = { +#include "HoraceAndTheSpiders.h" +}; +const unsigned char GAME4[16384] PROGMEM = { +#include "Horace.h" +}; +const unsigned char GAME5[16384] PROGMEM = { +#include "Pinball.h" +}; +const unsigned char GAME6[16384] PROGMEM = { +#include "DeathChase.h" +}; +const unsigned char GAME7[16384] PROGMEM = { +#include "Diagnostic.h" +}; +const unsigned char GAME8[16384] PROGMEM = { +#include "HighwayEncounter.h" +}; +const unsigned char GAME9[16384] PROGMEM = { +#include "VectorBall.h" +}; +const unsigned char GAME10[16384] PROGMEM = { +#include "StarWars.h" +}; +const unsigned char GAME11[16384] PROGMEM = { +#include "QBert.h" +}; +const unsigned char GAME12[16384] PROGMEM = { +#include "Gyruss.h" +}; +const unsigned char GAME13[16384] PROGMEM = { +#include "FlightSimulation.h" +}; +*/ + +// Graphics for ROM/TAPE menus +const unsigned char ZXrainbow[] PROGMEM = { +#include "ZXrainbow.h" +}; +const unsigned char ZXenter[] PROGMEM = { +#include "ZXenter.h" +}; +const unsigned char ZXx[] PROGMEM = { +#include "ZXx.h" +}; +const unsigned char ZX6and7[] PROGMEM = { +#include "ZX6and7.h" +}; + +Z80 state; +GFX4d gfx = GFX4d(); + +uint16_t pal1[] = {0x0000, 0xC003, 0x05E0, 0xCDC1, 0x0036, 0xB81A, 0x0634, 0xFFFF, + 0xBDF7, 0x4532, 0x8152, 0x006D, 0xBD8A, 0x3CC5, 0x78C5, 0x0000 + }; +uint16_t pal2[] = {0x0000, 0x006D, 0x78C5, 0x8152, 0x3CC5, 0x4532, 0xBD8A, 0xBDF7, + 0x0000, 0x0036, 0xC003, 0xB81A, 0x05E0, 0x0634, 0xCDC1, 0xFFFF + }; + +String kbfile = "####################"; +#ifdef ESP32 +String files[256]; +#else +String files[128]; +#endif +String tfile; + +char rdname[7] = {'0', '0', '.', 'r', 'd', 'b', 0}; +char tempchar[32]; + +File specfile; +File rdisk; +File cfg; + +uint16_t tempcol; +uint16_t tfval2[64]; +uint16_t bccol; +uint16_t tccol; +uint16_t col; +uint16_t fnSTpos; +uint16_t colbyteaddr; +uint16_t coly; + +uint8_t tfval1[128]; + +int keyrepeat; +int BasicStart; +int LineNum; +int yieldc; +int keydown; +int rowcalc; +int len; +int xpos; +int xcount; +int chr; +int cassSel; +int oldcassSel; +int romSel; +int oldromSel; +int x; +int y; +int pos; +int rpos; +int n; +int chstart; +int chlen; +int xr; +int lastc; +int sposf; +int strtl; +int endl; + +int32_t rCycles = 70000; + +uint32_t tnow; + +boolean Theader; + +byte flash; +byte rom; +byte flashCount; +byte bordcol; +byte oldbordcol; +byte keyval; +byte UpdateS; +byte filnum; +byte ActiveScreen = 0; +byte initial = 0; +byte initialR = 0; +byte sel = 1; +byte oldsel; +byte rect; +byte ret_byte; +byte enInt; +byte NMItog; +byte colbyte; +byte c; +byte flsh; +byte fl; +byte bright; +byte bAnim[6]; +byte fr; +byte udate; +byte trow; +byte fnEntered; +byte breakOut; +byte ButtonTouched; +byte lastButtonTouched; +uint16_t rSector; +uint16_t lastrSector; +byte ReadOrWrite; +byte rdFirst; +byte lastkeydown; +byte exitload; +byte loadSDdirInitial = 1; +byte prevSel; + +char kUpdate[12]; + +void setup() { + // put your setup code here, to run once: +#ifdef ESP8266 + pinMode(16, OUTPUT); + RAM = (uint8_t *)malloc(0x4000); +#else + RAM = (uint8_t *)malloc(0xC000); +#endif + gfx.begin(); + gfx.BacklightOn(true); + gfx.Orientation(LANDSCAPE); + gfx.TextColor(BLACK, WHITE); gfx.Font(1); gfx.TextSize(1); +#ifndef ESP32 + gfx.touch_Set(TOUCH_ENABLE); +#endif + Serial.begin(115200); + gfx.Cls(pal2[7]); + for (int s = 0; s < 12; s++) { + kUpdate[s] = 0xff; + } + kbfile = ""; + initEMU(ZXSPECTRUM); +#ifdef USE_RAM_DISK + RAMdiskInit(8192); +#endif +} + +void loop() { + // put your main code here, to run repeatedly: + flashCount ++; + if (flashCount > 20) { + flashCount = 0; + UpdateS = 1; + if (flash == 1) { + flash = 0; + } else { + flash = 1; + } + } + if (ActiveScreen == 0) { + tnow = millis(); + ExecZ80(&state, rCycles); + if (enInt) IntZ80(&state, INT_IRQ); + pos = 0; + if (UpdateS) { + updateSpectrumScreen(); + UpdateS = 0; + } + if ((millis() - tnow) < 14) delay(14 - (millis() - tnow)); + } + if (ActiveScreen == 2) { + cassScreen(); + if (Serial.available() > 0) checkKeyboard(); + } + if (ActiveScreen == 1) { + romScreen(); + if (Serial.available() > 0) checkKeyboard(); + } + if (kUpdate[11] == 0xc1) { + kUpdate[11] = 0xc3; + initial = 1; + ActiveScreen = 2; +#ifdef ESP8266 + flushTouch(); +#endif + } + if (kUpdate[11] == 0xc2) { + kUpdate[11] = 0xc3; + initialR = 1; + ActiveScreen = 1; +#ifdef ESP8266 + flushTouch(); +#endif + } + yieldc ++; + if (yieldc > 50) { +#ifdef ESP8266 + yield(); +#endif + yieldc = 0; + } +} + +#ifdef ESP8266 +byte getButtonTouched() { + if (gfx.touch_Update()) { + ButtonTouched = 0; + int x, y; + x = gfx.touch_GetX(); + y = gfx.touch_GetY(); + if (y > 190 && y < 232) { + if (x > 100 & x < 154) ButtonTouched = 1; + if (x > 170 & x < 225) ButtonTouched = 2; + if (x > 18 & x < 74) ButtonTouched = 3; + if (x > 248 & x < 304) ButtonTouched = 4; + } + } + return ButtonTouched; +} +#endif + +void drawa64Char2(int16_t x, int16_t y, unsigned char c, uint16_t color, uint16_t bg, uint8_t size) { + if ((x >= 320) || (y >= 240) || (x < 0) || (y < 0)) { + return; + } + if (c == 32) { + gfx.RectangleFilled(x, y, x + 7, y + 7, bg); + return; + } + uint8_t stp; + gfx.setGRAM(x, y, x + 7, y + 7); + uint8_t trow = 0x80; + uint8_t chb; + byte tcount = 0; + uint32_t tfval; + c -= 32; + uint16_t c2pos = c * 8; + for (uint8_t j = 0; j < 8; j++ ) { + chb = pgm_read_byte_near(ROM + 0x3d00 + c2pos + j); + for (uint8_t i = 0; i < 4; i++) { + if (chb & trow) { + tfval1[tcount] = color >> 8; + tcount ++; + tfval1[tcount] = color & 0xff; + tcount ++; + } else { + tfval1[tcount] = bg >> 8; + tcount ++; + tfval1[tcount] = bg & 0xff; + tcount ++; + } + chb <<= 1; + if (chb & trow) { + tfval1[tcount] = color >> 8; + tcount ++; + tfval1[tcount] = color & 0xff; + tcount ++; + } else { + tfval1[tcount] = bg >> 8; + tcount ++; + tfval1[tcount] = bg & 0xff; + tcount ++; + } + chb <<= 1; + trow = 0x80; + } + } + gfx.WriteBytes(tfval1, 128); +} + +byte RdZ80(word16 A) { + ret_byte = 0xff; + if (A >= 0x04c2 && A <= 0x099e && romSel == 0) { + if (A == 0x0556) { + if (!(specfile)) { + ActiveScreen = 2; + lastkeydown = 0; + initial = 1; + breakOut = 1; + exitload = 1; + } + } + if (A == 0x0557) { + while (specfile.read() != 0x13); + specfile.read(); + } + if (A == 0x05ca) return 0x2e; + if (A == 0x05cb) { + fr = specfile.read(); + if (ZX_LOAD_ANIM) borderAnim(fr); + return fr; + } + + if (A == 0x0650) { + fnSTpos = getDE(&state); + fnEntered = 1; + } + if (A == 0x0767) { + if (!(gfx.CheckSD())) { + tapeError(); + return 0; + } + int nl; + kbfile = ""; + for (nl = 0; nl < 10; nl++) { + kbfile = kbfile + (char)RAM[(fnSTpos - 0x4000) + nl]; + } + kbfile.trim(); + if (fnEntered) { +#ifdef ESP32 + kbfile = "/" + kbfile + ".tap"; +#else + kbfile = kbfile + ".tap"; +#endif + if (specfile) { + if ((specfile.position() + 10) > specfile.size()) { + if (RAM[0x5C74 - 0x4000] > 0) specfile.close(); + } + } + if (!(specfile)) { + if (SD.exists(kbfile)) { + if (RAM[0x5C74 - 0x4000] > 0) specfile = SD.open(kbfile, FILE_READ); + } else { + + } + } + + } else { + + } + fnEntered = 0; + } + if (A > 0x05cb && A < 0x05db) return 0x00; + if (A > 0x056a && A < 0x059f) return 0x00; + if (A == 0x098a) { + Theader = true; + specfile.close(); + int nl; + kbfile = ""; + for (nl = 0; nl < 10; nl++) { + kbfile = kbfile + (char)RAM[(fnSTpos - 0x4000) + nl]; + } + kbfile.trim(); + if (kbfile != "") { +#ifdef ESP32 + kbfile = "/" + kbfile + ".tap"; +#else + kbfile = kbfile + ".tap"; +#endif + if (RAM[0x5C74 - 0x4000] < 1) { + if (SD.exists(kbfile)) { + SD.remove(kbfile); + } + loadSDdirInitial = 1; + specfile = SD.open(kbfile, FILE_WRITE); + specfile.write(0x13); specfile.write(0x00); + } + } + } + if (A == 0x099e) { + Theader = false; + } + if (A >= 0x04c2 && A <= 0x053e) { + if (A == 0x0505) { + specfile.write(getL(&state)); + if (ZX_LOAD_ANIM) borderAnim(getL(&state)); + } + if (A == 0x04fb) { + specfile.write(getL(&state)); + if (ZX_LOAD_ANIM) borderAnim(getL(&state)); + } + if (A == 0x04c2) { + if (Theader == false) { + uint16_t tempSDE; + tempSDE = getDE(&state) + 2; + specfile.write(tempSDE & 0xff); + specfile.write(tempSDE >> 8); + } + } + if ((A == 0x053e && Theader == false)) { + specfile.close(); + border(bordcol); + } + if (A == 0x04d8 || A == 0x04db) return 0x00; + if (A == 0x04ea || A == 0x04ed) return 0x00; + if (A == 0x04f2 || A == 0x04f5) return 0x00; + if (A == 0x051c || A == 0x051d) return 0x00; + } + if (A == 0x0802) { + uint16_t DEtemp, IXtemp, Ltemp, bl; + DEtemp = getDE(&state); + Ltemp = (specfile.read() + (specfile.read() << 8)) - 2; + specfile.read(); + IXtemp = getIX(&state); + for (bl = 0; bl < Ltemp; bl++) { + fr = specfile.read(); + if (ZX_LOAD_ANIM) { + if (!(bl % ZX_LOAD_ANIM)) { + borderAnim(fr); + updateSpectrumScreen(); + } + } + if ((IXtemp + bl) >= 0x5800 && (IXtemp + bl) < 0x5b00) { + CACHE[(IXtemp + bl) - 0x5800] = 8; + } + WrZ80(IXtemp + bl, fr); + //RAM[(IXtemp - 0x4000) + bl] = fr; + } + specfile.read(); + setDE(&state, 0); + setIX(&state, IXtemp + DEtemp); +#ifdef ESP8266 + yield(); +#endif + border(bordcol); + return 0xc9; + } + } +#ifdef ESP32 + if (A >= 0x4000 && A <= 0xffff) return RAM[A - 0x4000]; +#else + if (A >= 0x4000 && A <= 0x7fff) return RAM[A - 0x4000]; +#ifdef USE_RAM_DISK + if (A >= 0x8000 && A <= 0xff00) return RAMdisk(RAMDISK_READ, A - 0x8000, 0);//ramDiskRead(A - 0x8000); + if (A >= 0xff00 && A <= 0xffff) return topRam[A - 0xff00]; +#endif +#endif + if (A < 0x4000) { + switch (romSel) { + case 0: + ret_byte = pgm_read_byte(ROM + A); + break; + /* + case 1: + ret_byte = pgm_read_byte(GAME1 + A); + break; + case 2: + ret_byte = pgm_read_byte(GAME2 + A); + break; + case 3: + ret_byte = pgm_read_byte(GAME3 + A); + break; + case 4: + ret_byte = pgm_read_byte(GAME4 + A); + break; + case 5: + ret_byte = pgm_read_byte(GAME5 + A); + break; + case 6: + ret_byte = pgm_read_byte(GAME6 + A); + break; + case 7: + ret_byte = pgm_read_byte(GAME7 + A); + break; + case 8: + ret_byte = pgm_read_byte(GAME8 + A); + break; + case 9: + ret_byte = pgm_read_byte(GAME9 + A); + break; + case 10: + ret_byte = pgm_read_byte(GAME10 + A); + break; + case 11: + ret_byte = pgm_read_byte(GAME11 + A); + break; + case 12: + ret_byte = pgm_read_byte(GAME12 + A); + break; + case 13: + ret_byte = pgm_read_byte(GAME13 + A); + break; + */ + } + } + return ret_byte; +} + +void WrZ80(word16 A, byte V) { +#ifdef ESP32 + if (A >= 0x4000 && A <= 0xffff) { +#else +#ifdef USE_RAM_DISK + if (A >= 0x8000 && A <= 0xff00) RAMdisk(RAMDISK_WRITE, A - 0x8000, V); //ramDiskWrite(A - 0x8000, V); + if (A >= 0xff00 && A <= 0xffff) topRam[A - 0xff00] = V; +#endif + if (A >= 0x4000 && A <= 0x7fff) { +#endif + if (A >= 0x5800 && A < 0x5b00) { + if (RAM[A - 0x4000] != V) CACHE[A - 0x5800] = 8; + } + RAM[A - 0x4000] = V; + if (A >= 0x4000 && A <= 0x5aff) { + UpdateS = 1; + } + } +} + +void OutZ80(register word16 Port, register byte Value) +{ + if ((Port & 0xFF) == 0xFE) { + if ((Value & 0x07) != bordcol) { + border(Value & 0x07); + } else { + if ((Value & 0x10) == 0x10) { +#ifdef ESP32 + dacWrite(25, 10); +#else + digitalWrite(16, 1); +#endif + } + if ( (Value & 0x10) == 0x00) { +#ifdef ESP32 + dacWrite(25, 0); +#else + digitalWrite(16, 0); +#endif + } + } + } +} + +byte InZ80(register word16 Port) +{ + byte ret_wert; + ret_wert = 0xff; + byte kDown; + if ((Port & 0xFF) == 0xFE) { + if (Serial.available() > 0) checkKeyboard(); + chkKeyb = 1; + ret_wert = 0x00; + kDown = ~(Port >> 8); + if (kDown & 0x01) { + ret_wert |= ~(kUpdate[2] & 0x1f); + } + if (kDown & 0x02) { + ret_wert |= ~(kUpdate[3] & 0x1f); + } + if (kDown & 0x04) { + ret_wert |= ~(kUpdate[4] & 0x1f); + } + if (kDown & 0x08) { + ret_wert |= ~(kUpdate[5] & 0x1f); + } + if (kDown & 0x10) { + ret_wert |= ~(kUpdate[6] & 0x1f); + } + if (kDown & 0x20) { + ret_wert |= ~(kUpdate[7] & 0x1f); + } + if (kDown & 0x40) { + ret_wert |= ~(kUpdate[8] & 0x1f); + } + if (kDown & 0x80) { + ret_wert |= ~(kUpdate[9] & 0x1f); + } + ret_wert = 0xE0 | (~(ret_wert)); + } + if (ret_wert != 0xff) lastkeydown = ret_wert; + return (ret_wert); +} + +static void CodesCB(register Z80 * R) +{ + register byte I; + + I = OpZ80(R->PC.W++); + R->ICount -= CyclesCB[I]; + switch (I) + { +#include "CodesCB.h" + } +} + +static void CodesDDCB(register Z80 * R) +{ + register pair J; + register byte I; + +#define XX IX + J.W = R->XX.W + (offset)OpZ80(R->PC.W++); + I = OpZ80(R->PC.W++); + R->ICount -= CyclesXXCB[I]; + switch (I) + { +#include "CodesXCB.h" + } +#undef XX +} + +static void CodesFDCB(register Z80 * R) +{ + register pair J; + register byte I; + +#define XX IY + J.W = R->XX.W + (offset)OpZ80(R->PC.W++); + I = OpZ80(R->PC.W++); + R->ICount -= CyclesXXCB[I]; + switch (I) + { +#include "CodesXCB.h" + } +#undef XX +} + +static void CodesED(register Z80 * R) +{ + register byte I; + register pair J; + + I = OpZ80(R->PC.W++); + R->ICount -= CyclesED[I]; + switch (I) + { +#include "CodesED.h" + case PFX_ED: + R->PC.W--; break; + } +} + +static void CodesDD(register Z80 * R) +{ + register byte I; + register pair J; + +#define XX IX + I = OpZ80(R->PC.W++); + R->ICount -= CyclesXX[I]; + switch (I) + { +#include "CodesXX.h" + case PFX_FD: + case PFX_DD: + R->PC.W--; break; + case PFX_CB: + CodesDDCB(R); break; + } +#undef XX +} + +static void CodesFD(register Z80 * R) +{ + register byte I; + register pair J; + +#define XX IY + I = OpZ80(R->PC.W++); + R->ICount -= CyclesXX[I]; + switch (I) + { +#include "CodesXX.h" + case PFX_FD: + case PFX_DD: + R->PC.W--; break; + case PFX_CB: + CodesFDCB(R); break; + } +#undef XX +} + +void ResetZ80(Z80 * R) +{ + R->PC.W = 0x0000; + R->SP.W = 0xF000; + R->AF.W = 0x0000; + R->BC.W = 0x0000; + R->DE.W = 0x0000; + R->HL.W = 0x0000; + R->AF1.W = 0x0000; + R->BC1.W = 0x0000; + R->DE1.W = 0x0000; + R->HL1.W = 0x0000; + R->IX.W = 0x0000; + R->IY.W = 0x0000; + R->I = 0x00; + R->R = 0x00; + R->IFF = 0x00; + R->ICount = R->IPeriod; + R->IRequest = INT_NONE; + R->IBackup = 0; + + JumpZ80(R->PC.W); +} + +byte getL(Z80 * R) { + return R->HL.B.l; +} + +byte GetB(Z80 * R) { + return R->AF.W >> 8; +} + +uint16_t getHL(register Z80 * R) { + return R->HL.W; +} + +void setCFlag(register Z80 * R) { + R->AF.B.l |= C_FLAG; +} + +void setDE(register Z80 * R, uint16_t v) { + R->DE.W = v; +} + +void setIX(register Z80 * R, uint16_t v) { + R->IX.W = v; +} + +uint16_t getDE(register Z80 * R) { + return R->DE.W; +} + +uint16_t getIX(register Z80 * R) { + return R->IX.W; +} + +void setPC(register Z80 * R, uint16_t addr) { + R->PC.W = addr; +} + +int ExecZ80(register Z80 * R, register int RunCycles) +{ + register byte I; + register pair J; + for (R->ICount = RunCycles;;) + { + while (R->ICount > 0) + { + if (breakOut) { + breakOut = 0; + return (R->ICount); + } + I = OpZ80(R->PC.W++); + R->ICount -= Cycles[I]; + INCR(1); + switch (I) + { +#include "Codes.h" + case PFX_CB: CodesCB(R); break; + case PFX_ED: CodesED(R); break; + case PFX_FD: CodesFD(R); break; + case PFX_DD: CodesDD(R); break; + } + } + if (!(R->IFF & IFF_EI)) return (R->ICount); + else + { + R->IFF = (R->IFF & ~IFF_EI) | IFF_1; + R->ICount += R->IBackup - 1; + if ((R->IRequest != INT_NONE) && (R->IRequest != INT_QUIT)) IntZ80(R, R->IRequest); + } + } +} + +void IntZ80(Z80 * R, word Vector) +{ + if (R->IFF & IFF_HALT) { + R->PC.W++; + R->IFF &= ~IFF_HALT; + } + + if ((R->IFF & IFF_1) || (Vector == INT_NMI)) + { + M_PUSH(PC); + if (R->IAutoReset && (Vector == R->IRequest)) R->IRequest = INT_NONE; + if (Vector == INT_NMI) + { + R->IFF &= ~(IFF_1 | IFF_EI); + R->PC.W = 0x0066; + JumpZ80(0x0066); + return; + } + R->IFF &= ~(IFF_1 | IFF_2 | IFF_EI); + enInt = 0; + if (R->IFF & IFF_IM2) + { + Vector = (Vector & 0xFF) | ((word)(R->I) << 8); + R->PC.B.l = RdZ80(Vector++); + R->PC.B.h = RdZ80(Vector); + JumpZ80(R->PC.W); + return; + } + if (R->IFF & IFF_IM1) { + R->PC.W = 0x0038; + JumpZ80(0x0038); + return; + } + switch (Vector) + { + case INT_RST00: R->PC.W = 0x0000; JumpZ80(0x0000); break; + case INT_RST08: R->PC.W = 0x0008; JumpZ80(0x0008); break; + case INT_RST10: R->PC.W = 0x0010; JumpZ80(0x0010); break; + case INT_RST18: R->PC.W = 0x0018; JumpZ80(0x0018); break; + case INT_RST20: R->PC.W = 0x0020; JumpZ80(0x0020); break; + case INT_RST28: R->PC.W = 0x0028; JumpZ80(0x0028); break; + case INT_RST30: R->PC.W = 0x0030; JumpZ80(0x0030); break; + case INT_RST38: R->PC.W = 0x0038; JumpZ80(0x0038); break; + } + } +} + +void checkKeyboard() { + + if (Serial.available() > 11) { + byte bc; + bc = 0; + Serial.read(kUpdate, 12); + if (kUpdate[0] != 1 && (kUpdate[1] != 2 || kUpdate[1] != 3)) { // out odf sync + for (int q = 0; q < 12; q++) { + if (kUpdate[q] == 1) { + bc = 1; + for (int r = 0; r < 12; r++) { + if (r < q) { + kUpdate[r] = kUpdate[r + q]; + } else { + kUpdate[r] = Serial.read(); + } + } + break; + } + if (bc) break; + } + } + } +} + +void initEMU(byte EMU) { + rCycles = 70000; + bordcol = 0xff; + ResetZ80(&state); + ActiveScreen = 0; +} + +void borderAnim(byte b1) { + byte n, o, i, io, ty; + for (n = 0; n < 5; n++) { + i = 1; + for (o = 0; o < 8; o++) { + if (bAnim[n] & i) { + io = 6; + } else { + io = 1; + } + ty = (48 * n) + (o * 6); + if (ty < 24 || ty >= 216) { + gfx.RectangleFilled(0, ty, 319, ty + 5, pal2[io]); + } else { + gfx.RectangleFilled(0, ty, 31, ty + 5, pal2[io]); + gfx.RectangleFilled(288, ty, 319, ty + 5, pal2[io]); + } + i <<= 1; + } + } + for (n = 0; n < 4; n ++) { + bAnim[n] = bAnim[n + 1]; + } + bAnim[4] = b1; +#ifdef ESP8266 + yield(); +#endif +} + +void border(int v) { + gfx.RectangleFilled(0, 0, 320, 23, pal2[v]); + gfx.RectangleFilled(0, 0, 31, 239, pal2[v]); + gfx.RectangleFilled(288, 0, 319, 239, pal2[v]); + gfx.RectangleFilled(0, 216, 319, 239, pal2[v]); + bordcol = v & 0x07; +} + +void updateSpectrumScreen() { + pos = 0; + for (y = 0; y < 192; y++) { + rect = 0; + len = 0; + xpos = -1; + xcount = 0; + rowcalc = y << 5; + coly = 6144 + ((linepos[y] >> 3) << 5); + fl = 0; + for (n = 0; n < 32; n++) { + if (RAM[coly + n] & 0x80) fl = 1; + } + if (fl == 0 && memcmp(RAM + rowcalc, SCREENCACHE + rowcalc, 32) == 0 && (memcmp(/*RAM + coly*/CACHE + coly - 6144, /*CACHE + coly - 5376*/CACHETEST, 32) == 0)) { + pos += 32; + + } else { + rpos = 0; + chstart = -1; chlen = 0; + for (x = 0; x < 32; x++) { + colbyteaddr = coly + x; + colbyte = RAM[colbyteaddr]; + bright = (colbyte >> 3) & 0x08; + tccol = pal2[(colbyte & 0x07) + bright]; + bccol = pal2[((colbyte >> 3) & 0x07) + bright]; + flsh = colbyte >> 7; + c = RAM[pos + x]; + trow = 0x80; + for (n = 0; n < 8; n++) { + if (c & trow) { + if (flsh) { + if (flash) { + screenline[rpos] = bccol; + } else { + screenline[rpos] = tccol; + } + } else { + screenline[rpos] = tccol; + } + } else { + if (flsh) { + if (flash) { + screenline[rpos] = tccol; + } else { + screenline[rpos] = bccol; + } + } else { + screenline[rpos] = bccol; + } + } + c <<= 1; + rpos ++; + } + if ((SCREENCACHE[rowcalc + x] != RAM[rowcalc + x]) || CACHE[colbyteaddr - 6144] != 0 || flsh) { + if (CACHE[colbyteaddr - 6144] != 0) CACHE[colbyteaddr - 6144] --; + if (chstart == -1) { + chstart = x; + chlen = 1; + } else { + chlen ++; + } + } else { + if (chstart != -1) { + gfx.setGRAM(32 + (chstart << 3), linepos[y] + 24, 32 + (chstart << 3) + (chlen << 3) - 1, linepos[y] + 24); +#ifndef ESP32 + gfx.WrGRAMs16232(screenline + (chstart << 3), chlen << 3); +#else + gfx.WritePixels(screenline + (chstart << 3), chlen << 4); +#endif + chstart = -1; + chlen = 0; + } + } + SCREENCACHE[rowcalc + x] = RAM[rowcalc + x]; + } + if (chstart != -1) { + gfx.setGRAM(32 + (chstart << 3), linepos[y] + 24, 32 + (chstart << 3) + (chlen << 3) - 1, linepos[y] + 24); +#ifndef ESP32 + gfx.WrGRAMs16232(screenline + (chstart << 3), chlen << 3); +#else + gfx.WritePixels(screenline + (chstart << 3), chlen << 4); +#endif + } + pos += 32; + } + } +} + +void tapeError() { + setPC(&state, 0x0644); +} + +void flushTouch() { + for (byte o = 0; o < 10; o++) { + gfx.touch_Update(); + } +} + +void updateCFG() { +#ifdef ESP32 + if (SD.exists("/ZXIOD.cfg")) SD.remove("/ZXIOD.cfg"); + cfg = SD.open("/ZXIOD.cfg", FILE_WRITE); + cfg.write(cassSel); + cfg.close(); +#else + if (SD.exists("ZXIOD.cfg"))SD.remove("ZXIOD.cfg"); + cfg = SD.open("ZXIOD.cfg", FILE_WRITE); + cfg.write(cassSel); + cfg.close(); +#endif +} + +void getCFG() { +#ifdef ESP32 + if (SD.exists("/ZXIOD.cfg")) { + cfg = SD.open("/ZXIOD.cfg", FILE_READ); + cassSel = cfg.read(); + cfg.close(); + } +#else + if (SD.exists("ZXIOD.cfg")) { + cfg = SD.open("ZXIOD.cfg", FILE_READ); + cassSel = cfg.read(); + cfg.close(); + } +#endif +} + +void drawFrame() { + int n, nl; + uint32_t pix2; + int16_t pix1; + gfx.Cls(BLACK); + gfx.setGRAM(287, 105, 319, 194); + nl = 0; + gfx.WrGRAMstart(); + for (n = 0; n < 1484; n++) { + pix2 = pgm_read_byte_near(ZXrainbow + nl++) << 24; + pix2 += (pgm_read_byte_near(ZXrainbow + nl++) << 16); + pix2 += (pgm_read_byte_near(ZXrainbow + nl++) << 8); + pix2 += pgm_read_byte_near(ZXrainbow + nl++); + DISP_SPI_WRITE32(pix2); + } + pix1 += (pgm_read_byte_near(ZXrainbow + nl++) << 8); + pix1 += pgm_read_byte_near(ZXrainbow + nl++); + DISP_SPI_WRITE16(pix1); + gfx.WrGRAMend(); + gfx.setGRAM(247, 191, 319, 239); + nl = 0; + gfx.WrGRAMstart(); + for (n = 0; n < 1788; n++) { + pix2 = pgm_read_byte_near(ZXenter + nl++) << 24; + pix2 += (pgm_read_byte_near(ZXenter + nl++) << 16); + pix2 += (pgm_read_byte_near(ZXenter + nl++) << 8); + pix2 += pgm_read_byte_near(ZXenter + nl++); + DISP_SPI_WRITE32(pix2); + } + pix1 += (pgm_read_byte_near(ZXenter + nl++) << 8); + pix1 += pgm_read_byte_near(ZXenter + nl++); + DISP_SPI_WRITE16(pix1); + gfx.WrGRAMend(); + gfx.setGRAM(16, 190, 73, 231); + nl = 0; + gfx.WrGRAMstart(); + for (n = 0; n < 1218; n++) { + pix2 = pgm_read_byte_near(ZXx + nl++) << 24; + pix2 += (pgm_read_byte_near(ZXx + nl++) << 16); + pix2 += (pgm_read_byte_near(ZXx + nl++) << 8); + pix2 += pgm_read_byte_near(ZXx + nl++); + DISP_SPI_WRITE32(pix2); + } + gfx.WrGRAMend(); + gfx.setGRAM(100, 179, 224, 232); + nl = 0; + gfx.WrGRAMstart(); + for (n = 0; n < 3375; n++) { + pix2 = pgm_read_byte_near(ZX6and7 + nl++) << 24; + pix2 += (pgm_read_byte_near(ZX6and7 + nl++) << 16); + pix2 += (pgm_read_byte_near(ZX6and7 + nl++) << 8); + pix2 += pgm_read_byte_near(ZX6and7 + nl++); + DISP_SPI_WRITE32(pix2); + } + gfx.WrGRAMend(); +} + +void romScreen() { + if (initialR) { + drawFrame(); + printString(2, 0, " ROM Select - list of ROM files ", 6, 0, 0); + kUpdate[8] = 255; + if (prevSel != romSel) romSel = prevSel; + if (romnum < 21) { + strtl = 0; + } else { + strtl = romSel; + } + printFileName(romSel, 1, ZX_EMU_ROM); + kbfile = ""; + } +#ifdef ESP8266 + ButtonTouched = getButtonTouched(); +#endif + if (kUpdate[6] == 215 || (ButtonTouched == 2 && ButtonTouched != lastButtonTouched)) { + romSel --; + kUpdate[6] = 255; + if (romSel < 0) romSel = 0; + if (romSel != oldromSel) { + printFileName(romSel, 1, ZX_EMU_ROM); + oldromSel = romSel; + } + } else if (kUpdate[6] == 207 || (ButtonTouched == 1 && ButtonTouched != lastButtonTouched)) { + romSel ++; + kUpdate[6] = 255; + if (romSel > romnum - 1) romSel = romnum - 1; + if (romSel != oldromSel) { + printFileName(romSel, 1, ZX_EMU_ROM); + oldromSel = romSel; + } + } else { + if (ButtonTouched == 2 || ButtonTouched == 1) { + keyrepeat ++; + } else { + keyrepeat = 0; + } + } + if (kUpdate[2] == 219 || (ButtonTouched == 3 && ButtonTouched != lastButtonTouched)) { + kUpdate[2] = 255; + yield(); + resetScreen(); + ActiveScreen = 0; + prevSel = romSel; + romSel = 0; + if (ButtonTouched == 3) flushTouch(); + } + if (kUpdate[8] == 222 || (ButtonTouched == 4 && ButtonTouched != lastButtonTouched)) { + kUpdate[2] = 255; kUpdate[3] = 255; kUpdate[4] = 255; kUpdate[5] = 255; kUpdate[6] = 255; kUpdate[7] = 255; kUpdate[8] = 255; kUpdate[9] = 255; + //lastkeydown = 222; + ActiveScreen = 0; + resetScreen(); + ResetZ80(&state); + specfile.close(); + if (romnum > 0) { + } + kbfile = ""; + breakOut = 1; + } + initialR = 0; + lastButtonTouched = ButtonTouched; +} + +void cassScreen() { + if (initial) { + drawFrame(); + printString(2, 0, " TAPE Select - list of *.tap files ", 6, 0, 0); + kUpdate[8] = 255; +#ifdef ESP32 + if (loadSDdirInitial) { + File root = SD.open("/"); + File file = root.openNextFile(); + filnum = 0; + while (file) { + tfile = file.name(); + if (tfile.indexOf(".TAP") > -1 || tfile.indexOf(".tap") > -1) { + files[filnum] = tfile; + filnum ++; + } + file = root.openNextFile(); + } + root.close(); + file.close(); + getCFG(); + loadSDdirInitial = 0; + if (cassSel < 0) cassSel = 0; + if (cassSel > filnum) cassSel = filnum; + } +#else + if (loadSDdirInitial) { + pinMode(16, INPUT); + yield(); + File dir = SD.open("/"); + File Entry; + filnum = 0; + while (true) { + Entry = dir.openNextFile(); + if (!(Entry)) { + break; + } + tfile = Entry.name(); + if (tfile.indexOf(".TAP") > -1 || tfile.indexOf(".tap") > -1) { + files[filnum] = tfile; + filnum ++; + } + Entry.close(); + yield(); + } + dir.close(); + pinMode(16, OUTPUT); + getCFG(); + if (cassSel < 0) cassSel = 0; + if (cassSel > filnum) cassSel = filnum; + loadSDdirInitial = 0; + } +#endif + yield(); + if (filnum < 21) { + strtl = 0; + } else { + strtl = cassSel; + } + printFileName(cassSel, 1, ZX_EMU_TAPE); + kbfile = ""; + } +#ifdef ESP8266 + ButtonTouched = getButtonTouched(); +#endif + if (kUpdate[6] == 215 || (ButtonTouched == 2 && ButtonTouched != lastButtonTouched)) { + cassSel --; + kUpdate[6] = 255; + if (cassSel < 0) cassSel = 0; + if (cassSel != oldcassSel) { + printFileName(cassSel, 1, ZX_EMU_TAPE); + oldcassSel = cassSel; + } + } else if (kUpdate[6] == 207 || (ButtonTouched == 1 && ButtonTouched != lastButtonTouched)) { + cassSel ++; + kUpdate[6] = 255; + if (cassSel > filnum - 1) cassSel = filnum - 1; + if (cassSel != oldcassSel) { + printFileName(cassSel, 1, ZX_EMU_TAPE); + oldcassSel = cassSel; + } + } else { + if (ButtonTouched == 2 || ButtonTouched == 1) { + keyrepeat ++; + } else { + keyrepeat = 0; + } + } + if (kUpdate[2] == 219 || (ButtonTouched == 3 && ButtonTouched != lastButtonTouched)) { + kUpdate[2] = 255; + yield(); + if (ButtonTouched == 3) flushTouch(); + updateCFG(); + resetScreen(); + ActiveScreen = 0; + ButtonTouched = 0; + if (exitload == 1) { + ResetZ80(&state); + gfx.Cls(pal2[7]); + } + exitload = 0; + } + if (kUpdate[8] == 222 || (ButtonTouched == 4 && ButtonTouched != lastButtonTouched)) { + kUpdate[2] = 255; kUpdate[3] = 255; kUpdate[4] = 255; kUpdate[5] = 255; kUpdate[6] = 255; kUpdate[7] = 255; kUpdate[8] = 255; kUpdate[9] = 255; + ActiveScreen = 0; + resetScreen(); + specfile.close(); + if (filnum > 0) { + updateCFG(); +#ifdef ESP8266 + kbfile = files[cassSel]; +#else + kbfile = "/" + files[cassSel]; +#endif + if (SD.exists(kbfile)) specfile = SD.open(kbfile, FILE_READ); + } + kbfile = ""; + breakOut = 1; + } + initial = 0; + lastButtonTouched = ButtonTouched; +} + +void printFileName(byte sel, byte sd, byte ftype) { + int n, c, fcount, tlength, filcount, rname, rnpos; + char getchr, endrom; + if (ftype == ZX_EMU_TAPE) { + filcount = filnum; + } else { + filcount = romnum; + rname = 0; + endrom = 0; + } + c = sel; + if (filcount > 20) fcount = 20; + sposf = c; + if (sposf > (strtl + 19)) strtl++; + if (sposf < strtl) strtl--; + endl = strtl + 20; + if (endl > filcount) { + endl = filcount; + } + for (n = 0; n < fcount; n ++) { + if (ftype == ZX_EMU_TAPE) { + tfile = files[strtl + n]; + tlength = tfile.length(); + if (tlength > 32) { + byte strs; + tfile = ""; + for (strs = 0; strs < 32; strs ++) { + tfile = tfile + files[strtl + n].charAt(strs); + } + tlength = 32; + } + } else { + tfile = ""; + tlength = 0; + if (endrom == 0) { + while (1) { + getchr = pgm_read_byte_near(ROMcartridges + rname); + rname++; + tlength ++; + if (getchr != 0) tfile = tfile + (char)getchr; + if (getchr == 0) { + tlength -= 1; + break; + } + } + if (pgm_read_byte_near(ROMcartridges + rname + 1) == 255) { + endrom = 1; + tfile = ""; + tlength = 0; + } + } + } + if (tlength < 32) gfx.RectangleFilled((tlength + 4) << 3 , (2 + n) << 3, 289, ((2 + n) << 3) + 7, BLACK); + if (strtl + n < filcount) { + if (c == (strtl + n)) { + tfile = ">" + tfile + "<"; + printString(2, 2 + n, tfile, 7, 0, 0); + } else { + tfile = " " + tfile + " "; + printString(2, 2 + n, tfile, 6, 0, 0); + } + } + } + lastc = c; +} + +void resetScreen() { + int n; + border(bordcol); + for (n = 0; n < 6144; n++) { + SCREENCACHE[n] = ~(SCREENCACHE[n]); + } + //ActiveScreen = 0; + border(bordcol); +} + +void printString(int x, int y, String cstr, int fcol, int bcol, byte slcted) { + int s; + for (s = 0; s < cstr.length(); s++) { + if (slcted) { + drawa64Char2(((x + s) << 3), (y << 3), cstr.charAt(s), pal1[bcol], pal1[fcol], 1); + } else { + drawa64Char2(((x + s) << 3), (y << 3), cstr.charAt(s), pal1[fcol], pal1[bcol], 1); + } + } +#ifdef ESP8266 + yield(); +#endif +} diff --git a/src/Examples/IoD16kSpectrumEmulator/ReadMe.txt b/src/Examples/IoD16kSpectrumEmulator/ReadMe.txt new file mode 100644 index 0000000..673b138 --- /dev/null +++ b/src/Examples/IoD16kSpectrumEmulator/ReadMe.txt @@ -0,0 +1,25 @@ +16k ZX Spectrum Emulator for IoD. + +A simple emulator for the the gen4-IoD range of displays using GFX4d. The IoD remains connected to the PC and uses the PC keyboard to input using the supplied app. + +Cartridge ROMs can be added into flash by following the commented out method at the top of the sketch. HXD is a good tool to create a .h file from a binary. + +.TAP files can be simply copied to the uSD card. + +In the Extra folder there is a utility to give keyboard control from a PC which communicates keyboard matrix commands to the IoD via the UPA. Simply double click Setup to install the Emulator Keyboard App. + +F1 key launches the ROM menu, F2 launches the .TAP menu. Use the Comms tab to set up the Port of the IoD and then click on Connect. + +The .TAP menu can also be launched by typing LOAD "" into the emulator followed by ENTER. + +Select the .TAP file with the on-screen UP & DOWN buttons on the IoD display or on the PC keyboard 6 & 7 or cursor keys followed by Enter and the .TAP file will start to load. + +Only .TAP files for the 16k Spectrum will function correctly. JETPAC and PHEENIX play very well on the emulator. + +Saving to .TAP is also supported. + +Beep tones are sent to GPIO16 of the IoD and a small amplifier / speaker is all that is needed if sound is required. + +The IoD will make a good basis for a handheld ZX Spectrum project or other emulated machines + + \ No newline at end of file diff --git a/src/Examples/IoD16kSpectrumEmulator/ZX6and7.h b/src/Examples/IoD16kSpectrumEmulator/ZX6and7.h new file mode 100644 index 0000000..5712345 --- /dev/null +++ b/src/Examples/IoD16kSpectrumEmulator/ZX6and7.h @@ -0,0 +1,1126 @@ + + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x08, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, + 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x6B, 0x4D, + 0x9C, 0xD3, 0x94, 0x92, 0x94, 0xB2, 0x94, 0x92, 0x94, 0xB2, 0x8C, 0x71, + 0x29, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0xAD, 0x55, 0xC6, 0x18, + 0x18, 0xC3, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x41, 0xD6, 0x9A, 0xE7, 0x1C, + 0xAD, 0x55, 0xB5, 0xB6, 0xB5, 0x96, 0xB5, 0xB6, 0xFF, 0xFF, 0x5A, 0xCB, + 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, + 0x00, 0x00, 0x21, 0x24, 0xD6, 0xBA, 0xCE, 0x79, 0xB5, 0xB6, 0xFF, 0xDF, + 0x4A, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x08, 0x41, 0xCE, 0x59, 0x5A, 0xEB, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDE, 0xDB, 0x5A, 0xCB, 0x00, 0x00, + 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x63, 0x0C, + 0xFF, 0xFF, 0xA5, 0x34, 0x00, 0x20, 0x00, 0x00, 0x84, 0x10, 0xFF, 0xFF, + 0x84, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xCE, 0x59, 0x73, 0x8E, 0x00, 0x00, 0x00, 0x20, + 0x00, 0x00, 0x08, 0x61, 0xE7, 0x1C, 0x52, 0x8A, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8C, 0x51, 0xEF, 0x5D, 0x63, 0x0C, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x39, 0xC7, 0xDE, 0xFB, + 0xB5, 0xB6, 0x10, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x04, 0x29, 0x65, 0x18, 0xE3, + 0x21, 0x24, 0xD6, 0xBA, 0x6B, 0x6D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x08, 0x61, 0xE7, 0x1C, 0x73, 0x8E, 0x10, 0x82, 0x21, 0x24, 0x29, 0x65, + 0x08, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x31, 0x86, 0xC6, 0x38, 0xFF, 0xFF, 0xB5, 0x96, 0x39, 0xC7, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, 0x45, 0x94, 0x92, 0xFF, 0xFF, + 0xE7, 0x1C, 0x42, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x39, 0xE7, 0xD6, 0xBA, 0xEF, 0x7D, 0xDE, 0xDB, + 0xFF, 0xDF, 0x63, 0x2C, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x08, 0x61, + 0xD6, 0xBA, 0xEF, 0x5D, 0xE7, 0x1C, 0xF7, 0x9E, 0x94, 0x92, 0x00, 0x20, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xC3, 0xA5, 0x14, + 0xC6, 0x38, 0xAD, 0x55, 0xEF, 0x7D, 0xCE, 0x59, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x9C, 0xD3, 0xFF, 0xDF, 0xAD, 0x55, 0xBD, 0xF7, + 0xB5, 0xB6, 0x29, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x21, 0x24, 0xCE, 0x59, 0xFF, 0xFF, 0x63, 0x2C, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x21, 0x04, + 0xC6, 0x18, 0xFF, 0xFF, 0x6B, 0x6D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x41, 0x08, 0x61, 0x00, 0x20, + 0x00, 0x00, 0x84, 0x10, 0xC6, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x94, 0xB2, 0xA5, 0x14, 0x00, 0x00, 0x00, 0x20, 0x08, 0x41, + 0x08, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x94, 0xB2, 0xEF, 0x7D, 0x5A, 0xEB, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xC3, 0xBD, 0xF7, 0xE7, 0x3C, + 0x39, 0xC7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, + 0x84, 0x10, 0xC6, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x9C, 0xD3, 0xA5, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xEB, 0xFF, 0xDF, 0xA5, 0x34, + 0x00, 0x20, 0x42, 0x28, 0xEF, 0x5D, 0xBD, 0xF7, 0x10, 0xA2, 0x00, 0x00, + 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x84, 0x10, + 0xC6, 0x18, 0x00, 0x00, 0x08, 0x61, 0x08, 0x61, 0x00, 0x00, 0x94, 0xB2, + 0xA5, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x31, 0x86, 0xE7, 0x1C, 0xE7, 0x1C, + 0xF7, 0xBE, 0x84, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x7B, 0xCF, 0xFF, 0xFF, + 0xEF, 0x5D, 0xEF, 0x7D, 0xEF, 0x7D, 0xE7, 0x3C, 0xFF, 0xFF, 0xA5, 0x34, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x08, 0x41, 0x9C, 0xF3, 0x5A, 0xCB, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x04, 0x52, 0x8A, 0x52, 0x8A, + 0x52, 0x8A, 0x52, 0x8A, 0x52, 0x8A, 0x52, 0x8A, 0x29, 0x65, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x20, + 0x00, 0x20, 0x08, 0x20, 0x08, 0x20, 0x08, 0x20, 0x00, 0x20, 0x00, 0x20, + 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, + 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, + 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, + 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, + 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, + 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x08, 0x20, 0x08, 0x40, 0x08, 0x40, 0x08, 0x40, 0x08, 0x40, + 0x08, 0x40, 0x08, 0x40, 0x08, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, + 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, + 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, + 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, + 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, + 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, + 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x10, 0x82, 0x52, 0x8A, 0x6B, 0x6E, 0x6B, 0x8E, 0x6B, 0x8E, 0x6B, 0x8E, + 0x6B, 0x8E, 0x6B, 0x8E, 0x6B, 0x8E, 0x6B, 0x8E, 0x6B, 0x8E, 0x6B, 0x8E, + 0x6B, 0x8E, 0x6B, 0x8E, 0x6B, 0x8E, 0x6B, 0x8E, 0x6B, 0x8E, 0x6B, 0x8E, + 0x6B, 0x8E, 0x6B, 0x8E, 0x6B, 0x8E, 0x6B, 0x8E, 0x6B, 0x8E, 0x6B, 0x8E, + 0x6B, 0x8E, 0x6B, 0x8E, 0x6B, 0x8E, 0x6B, 0x8E, 0x6B, 0x8E, 0x6B, 0x8E, + 0x6B, 0x8E, 0x6B, 0x8E, 0x6B, 0x8E, 0x6B, 0x8E, 0x6B, 0x8E, 0x6B, 0x8E, + 0x6B, 0x8E, 0x6B, 0x8E, 0x6B, 0x8E, 0x6B, 0x8E, 0x6B, 0x8E, 0x6B, 0x8E, + 0x6B, 0x8E, 0x6B, 0x8E, 0x6B, 0x8E, 0x6B, 0x8E, 0x73, 0x8E, 0x6B, 0x6D, + 0x52, 0x8A, 0x10, 0xA2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x41, 0x4A, 0x49, 0x6B, 0x6E, + 0x6B, 0x8E, 0x6B, 0x8E, 0x6B, 0x8E, 0x6B, 0x8E, 0x6B, 0x8E, 0x6B, 0x8E, + 0x6B, 0x8E, 0x6B, 0x8E, 0x6B, 0x8E, 0x6B, 0x8E, 0x6B, 0x8E, 0x6B, 0x8E, + 0x6B, 0x8E, 0x6B, 0x8E, 0x6B, 0x8E, 0x6B, 0x8E, 0x6B, 0x8E, 0x6B, 0x8E, + 0x6B, 0x8E, 0x6B, 0x8E, 0x6B, 0x8E, 0x6B, 0x8E, 0x6B, 0x8E, 0x6B, 0x8E, + 0x6B, 0x8E, 0x6B, 0x8E, 0x6B, 0x8E, 0x6B, 0x8E, 0x6B, 0x8E, 0x6B, 0x8E, + 0x6B, 0x8E, 0x6B, 0x8E, 0x6B, 0x8E, 0x6B, 0x8E, 0x6B, 0x8E, 0x6B, 0x8E, + 0x6B, 0x8E, 0x6B, 0x8E, 0x6B, 0x8E, 0x6B, 0x8E, 0x6B, 0x8E, 0x6B, 0x8E, + 0x6B, 0x8E, 0x73, 0x8E, 0x6B, 0x6E, 0x5A, 0xAB, 0x20, 0xE3, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x61, 0x6B, 0x4D, + 0x9D, 0x97, 0x9D, 0xF9, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, + 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, + 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, + 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, + 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, + 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, + 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, + 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x8D, 0x36, 0x74, 0x52, + 0x6B, 0x6D, 0x10, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x20, 0x62, 0xEB, 0x95, 0x56, 0x9E, 0x19, 0x95, 0xB8, + 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, + 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, + 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, + 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, + 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, + 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, + 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, + 0x95, 0xB8, 0x8D, 0x57, 0x74, 0x52, 0x73, 0xAF, 0x20, 0xE3, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0xC7, 0x84, 0x93, 0x8D, 0x77, + 0x9D, 0xF9, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, + 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, + 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, + 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, + 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, + 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, + 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, + 0x95, 0xB8, 0x95, 0xB7, 0x95, 0xB8, 0x85, 0x36, 0x5B, 0xF1, 0x6B, 0xD0, + 0x4A, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x31, 0x65, 0x7C, 0x52, 0x8D, 0x57, 0x9D, 0xF9, 0x95, 0xB8, 0x95, 0xB8, + 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, + 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, + 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, + 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, + 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, + 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, + 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB8, 0x95, 0xB7, 0x95, 0xB8, + 0x8D, 0x56, 0x64, 0x11, 0x63, 0xD0, 0x52, 0x8A, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x52, 0x69, 0x74, 0x52, 0x74, 0x73, 0x84, 0xF5, + 0x7C, 0xF5, 0x7C, 0xF5, 0x7C, 0xF5, 0x7C, 0xF5, 0x7C, 0xF5, 0x7C, 0xF5, + 0x7C, 0xF5, 0x7C, 0xF5, 0x7C, 0xF5, 0x7C, 0xF5, 0x7C, 0xF5, 0x7C, 0xF5, + 0x7C, 0xF5, 0x7C, 0xF5, 0x7C, 0xF5, 0x7C, 0xF5, 0x7C, 0xF5, 0x7C, 0xF5, + 0x7C, 0xF5, 0x7C, 0xF5, 0x7C, 0xF5, 0x7C, 0xF5, 0x7C, 0xF5, 0x7C, 0xF5, + 0x7C, 0xF5, 0x7C, 0xF5, 0x7C, 0xF5, 0x7C, 0xF5, 0x7C, 0xF5, 0x7C, 0xF5, + 0x7C, 0xF5, 0x84, 0xF5, 0x7C, 0xF5, 0x7C, 0xF5, 0x7C, 0xF5, 0x84, 0xF5, + 0x7C, 0xF5, 0x7C, 0xF5, 0x7C, 0xF5, 0x7C, 0xF5, 0x7C, 0xF5, 0x7C, 0xF5, + 0x7C, 0xF5, 0x7C, 0xF5, 0x7C, 0xB4, 0x5B, 0xB0, 0x5B, 0x6E, 0x52, 0x8A, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x07, + 0x74, 0x32, 0x74, 0x73, 0x84, 0xF5, 0x7C, 0xF5, 0x7C, 0xF5, 0x7C, 0xF5, + 0x7C, 0xF5, 0x7C, 0xF5, 0x7C, 0xF5, 0x7C, 0xF5, 0x7C, 0xF5, 0x7C, 0xF5, + 0x7C, 0xF5, 0x7C, 0xF5, 0x7C, 0xF5, 0x7C, 0xF5, 0x7C, 0xF5, 0x7C, 0xF5, + 0x7C, 0xF5, 0x7C, 0xF5, 0x7C, 0xF5, 0x7C, 0xF5, 0x7C, 0xF5, 0x7C, 0xF5, + 0x7C, 0xF5, 0x7C, 0xF5, 0x7C, 0xF5, 0x7C, 0xF5, 0x7C, 0xF5, 0x7C, 0xF5, + 0x7C, 0xF5, 0x7C, 0xF5, 0x7C, 0xF5, 0x7C, 0xF5, 0x7C, 0xF5, 0x7C, 0xF5, + 0x7C, 0xF5, 0x7C, 0xF5, 0x84, 0xF5, 0x7C, 0xF5, 0x7C, 0xF5, 0x7C, 0xF5, + 0x7C, 0xF5, 0x7C, 0xF5, 0x7C, 0xF5, 0x7C, 0xF5, 0x7C, 0xF5, 0x7C, 0xD4, + 0x63, 0xF0, 0x53, 0x6E, 0x62, 0xEC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x52, 0x8A, 0x74, 0x52, 0x6C, 0x73, 0x7C, 0xB4, 0x74, 0x94, + 0x74, 0x94, 0x74, 0x94, 0x74, 0x94, 0x74, 0x94, 0x74, 0x94, 0x74, 0x94, + 0x74, 0x94, 0x74, 0x94, 0x74, 0x94, 0x74, 0x94, 0x74, 0x94, 0x74, 0x94, + 0x74, 0x94, 0x74, 0x94, 0x74, 0x94, 0x74, 0x94, 0x74, 0x94, 0x74, 0x94, + 0x74, 0x94, 0x74, 0x94, 0x74, 0x94, 0x74, 0x94, 0x74, 0x94, 0x74, 0x94, + 0x6C, 0x53, 0x6C, 0x53, 0x6C, 0x53, 0x6C, 0x53, 0x6C, 0x53, 0x6C, 0x53, + 0x6C, 0x53, 0x6C, 0x53, 0x6C, 0x53, 0x6C, 0x53, 0x6C, 0x53, 0x6C, 0x73, + 0x74, 0x94, 0x74, 0x94, 0x74, 0x94, 0x74, 0x94, 0x74, 0x94, 0x74, 0x94, + 0x74, 0x94, 0x74, 0x93, 0x5B, 0xB0, 0x5B, 0x6E, 0x52, 0x8A, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x08, 0x74, 0x31, + 0x6C, 0x53, 0x7C, 0xB4, 0x74, 0x94, 0x74, 0x94, 0x74, 0x94, 0x74, 0x94, + 0x74, 0x94, 0x74, 0x94, 0x74, 0x94, 0x74, 0x94, 0x74, 0x94, 0x74, 0x94, + 0x74, 0x94, 0x74, 0x94, 0x74, 0x94, 0x74, 0x94, 0x74, 0x94, 0x74, 0x94, + 0x74, 0x94, 0x74, 0x94, 0x74, 0x94, 0x74, 0x94, 0x74, 0x94, 0x74, 0x94, + 0x74, 0x94, 0x74, 0x94, 0x74, 0x94, 0x6C, 0x73, 0x6C, 0x53, 0x6C, 0x53, + 0x6C, 0x53, 0x6C, 0x53, 0x6C, 0x53, 0x6C, 0x53, 0x6C, 0x53, 0x6C, 0x53, + 0x6C, 0x53, 0x6C, 0x53, 0x6C, 0x73, 0x74, 0x94, 0x74, 0x94, 0x74, 0x94, + 0x74, 0x94, 0x74, 0x94, 0x74, 0x94, 0x74, 0x94, 0x74, 0x93, 0x63, 0xD0, + 0x53, 0x4E, 0x63, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x52, 0x8A, 0x74, 0x52, 0x6C, 0x73, 0x7C, 0xD4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0xB4, 0x74, 0x94, 0x7C, 0xD4, 0xAE, 0x19, + 0xBE, 0x7A, 0xBE, 0x7A, 0xBE, 0x7A, 0xBE, 0x7A, 0xBE, 0x59, 0xB6, 0x19, + 0xB6, 0x39, 0xB6, 0x19, 0xB6, 0x19, 0xB6, 0x39, 0xA5, 0xB8, 0x74, 0x94, + 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0xB4, + 0x74, 0x93, 0x5B, 0xB0, 0x5B, 0x6E, 0x52, 0x8A, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x08, 0x74, 0x31, 0x6C, 0x53, + 0x7C, 0xD4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x7C, 0xB4, 0xAD, 0xF8, 0xBE, 0x5A, 0xBE, 0x7A, 0xBE, 0x7A, + 0xBE, 0x7A, 0xBE, 0x7A, 0xBE, 0x7A, 0xBE, 0x7A, 0xBE, 0x7A, 0xBE, 0x7A, + 0xBE, 0x59, 0xAD, 0xF8, 0x7C, 0xB4, 0x74, 0xB4, 0x7C, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0xB4, 0x74, 0x94, 0x63, 0xD0, 0x53, 0x4E, + 0x63, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x8A, + 0x74, 0x52, 0x6C, 0x73, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x7C, 0xB4, 0x74, 0x93, 0x84, 0xF5, 0xFF, 0xDF, 0xC6, 0xBB, + 0xB6, 0x39, 0xBE, 0x7A, 0xB6, 0x39, 0xE7, 0x5D, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x3C, 0x74, 0x93, 0x7C, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x93, + 0x5B, 0xB0, 0x5B, 0x6E, 0x52, 0x8A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x42, 0x08, 0x74, 0x31, 0x6C, 0x52, 0x7C, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0xF7, 0xDF, 0xD6, 0xFC, 0xB6, 0x39, 0xBE, 0x5A, 0xB6, 0x5A, + 0xB6, 0x5A, 0xB6, 0x5A, 0xB6, 0x5A, 0xB6, 0x5A, 0xB6, 0x39, 0xF7, 0xBE, + 0xFF, 0xDF, 0x74, 0x94, 0x74, 0x94, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x94, 0x63, 0xD0, 0x53, 0x4E, 0x63, 0x0C, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x8A, 0x74, 0x52, + 0x6C, 0x73, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x7C, 0xB4, 0x74, 0x93, 0x84, 0xF5, 0xEF, 0x9E, 0x8D, 0x76, 0x74, 0xB4, + 0x7C, 0xF5, 0x6C, 0x94, 0xBE, 0x7A, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0xFC, 0x74, 0x93, 0x7C, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x93, 0x5B, 0xB0, + 0x5B, 0x6E, 0x52, 0x8A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x42, 0x08, 0x74, 0x31, 0x6C, 0x52, 0x7C, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x94, + 0xF7, 0xBE, 0xA5, 0xD8, 0x6C, 0x94, 0x7C, 0xF5, 0x74, 0xD5, 0x74, 0xD5, + 0x74, 0xD5, 0x74, 0xD5, 0x7C, 0xF5, 0x6C, 0xB4, 0xD7, 0x1C, 0xF7, 0xBE, + 0x74, 0x94, 0x74, 0x94, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0x94, 0x63, 0xD0, 0x53, 0x4E, 0x63, 0x0C, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x8A, 0x74, 0x52, 0x6C, 0x73, + 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0xB4, + 0x74, 0x93, 0x84, 0xF5, 0xEF, 0x9E, 0x9D, 0xB8, 0x85, 0x15, 0x8D, 0x56, + 0x7D, 0x15, 0xC6, 0xBB, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xD6, 0xFC, 0x74, 0x93, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x93, 0x5B, 0xB0, 0x5B, 0x6E, + 0x52, 0x8A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x42, 0x08, 0x74, 0x31, 0x6C, 0x52, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x94, 0xF7, 0xBE, + 0xAE, 0x39, 0x7D, 0x15, 0x8D, 0x56, 0x85, 0x36, 0x85, 0x36, 0x85, 0x36, + 0x85, 0x36, 0x85, 0x36, 0x7C, 0xF5, 0xDF, 0x3D, 0xF7, 0xBE, 0x74, 0x94, + 0x74, 0x94, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0x94, 0x63, 0xD0, 0x53, 0x4E, 0x63, 0x0C, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x52, 0x8A, 0x74, 0x52, 0x6C, 0x73, 0x7C, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x7C, 0xB4, 0x7C, 0xB4, 0x7C, 0xB4, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0xB4, 0x74, 0x93, + 0x84, 0xF5, 0xEF, 0x9E, 0x95, 0x97, 0x7C, 0xF5, 0x85, 0x36, 0x74, 0xD5, + 0xC6, 0xBB, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xD6, 0xFC, 0x74, 0x93, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x93, 0x5B, 0xB0, 0x5B, 0x6E, 0x52, 0x8A, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x08, + 0x74, 0x31, 0x6C, 0x52, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0xB4, + 0x7C, 0xB4, 0x7C, 0xB4, 0x7C, 0xB4, 0x7C, 0xB4, 0x7C, 0xB4, 0x7C, 0xB4, + 0x7C, 0xB4, 0x7C, 0xB4, 0x7C, 0xB4, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x94, 0xF7, 0xBE, 0xAE, 0x19, + 0x74, 0xD5, 0x85, 0x36, 0x85, 0x15, 0x85, 0x15, 0x85, 0x36, 0x85, 0x36, + 0x85, 0x36, 0x7C, 0xF5, 0xDF, 0x3D, 0xF7, 0xBE, 0x74, 0x94, 0x74, 0x94, + 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x94, + 0x63, 0xD0, 0x53, 0x4E, 0x63, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x52, 0x8A, 0x74, 0x52, 0x6C, 0x73, 0x7C, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0xB4, 0x7C, 0xB4, 0x74, 0x94, + 0x74, 0x73, 0x74, 0x73, 0x74, 0x94, 0x7C, 0xB4, 0x7C, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0xB4, 0x74, 0x93, 0x84, 0xF5, + 0xEF, 0x9E, 0x9D, 0xB8, 0x85, 0x36, 0x8D, 0x56, 0x85, 0x16, 0xC6, 0x9B, + 0xDF, 0x1C, 0xD6, 0xFC, 0xD7, 0x1C, 0xD6, 0xFC, 0xFF, 0xFF, 0xD7, 0x1C, + 0x74, 0x73, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0x93, 0x5B, 0xB0, 0x5B, 0x6E, 0x52, 0x8A, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x08, 0x74, 0x31, + 0x6C, 0x52, 0x7C, 0xB4, 0x74, 0xB4, 0x7C, 0xB4, 0x74, 0x94, 0x74, 0x73, + 0x74, 0x73, 0x74, 0x73, 0x74, 0x73, 0x74, 0x73, 0x74, 0x73, 0x74, 0x73, + 0x74, 0x73, 0x74, 0x73, 0x74, 0x93, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x94, 0xF7, 0xBE, 0xB6, 0x39, 0x85, 0x15, + 0x8D, 0x56, 0x8D, 0x56, 0x8D, 0x56, 0x85, 0x36, 0x85, 0x36, 0x85, 0x36, + 0x7C, 0xF5, 0xDF, 0x3D, 0xF7, 0xBE, 0x74, 0x94, 0x74, 0x94, 0x7C, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x94, 0x63, 0xD0, + 0x53, 0x4E, 0x63, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x52, 0x8A, 0x74, 0x52, 0x6C, 0x73, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x7C, 0xB4, 0x74, 0x94, 0x6C, 0x73, 0x84, 0xF5, 0x95, 0x56, + 0x95, 0x56, 0x84, 0xF5, 0x74, 0x73, 0x74, 0x94, 0x7C, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0xB4, 0x74, 0x93, 0x84, 0xF5, 0xF7, 0xBE, + 0xF7, 0xBE, 0xEF, 0x9E, 0xEF, 0x9E, 0xF7, 0xBE, 0xE7, 0x5D, 0x7C, 0xF5, + 0x7C, 0xF5, 0x7C, 0xF5, 0x74, 0xD5, 0xEF, 0x9E, 0xDF, 0x1C, 0x74, 0x73, + 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0x93, 0x5B, 0xB0, 0x5B, 0x6E, 0x52, 0x8A, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x08, 0x74, 0x31, 0x6C, 0x52, + 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0x94, 0x7C, 0xD4, 0x95, 0x56, 0x95, 0x56, + 0x95, 0x56, 0x95, 0x56, 0x95, 0x56, 0x95, 0x56, 0x95, 0x56, 0x95, 0x56, + 0x95, 0x56, 0x8D, 0x15, 0x74, 0x94, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x7C, 0xB4, 0xEF, 0x7E, 0xF7, 0xDF, 0xEF, 0x9E, 0xEF, 0x9E, + 0xEF, 0x9E, 0xE7, 0x7D, 0x8D, 0x56, 0x85, 0x15, 0x85, 0x36, 0x7C, 0xF5, + 0xDF, 0x3D, 0xF7, 0xBE, 0x74, 0x94, 0x74, 0x94, 0x7C, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x94, 0x63, 0xD0, 0x53, 0x4E, + 0x63, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x8A, + 0x74, 0x52, 0x6C, 0x73, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0xB4, + 0x74, 0x94, 0x7C, 0xB4, 0xC6, 0x7A, 0xF7, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xF7, 0xDF, 0xC6, 0x9A, 0x7C, 0xB4, 0x74, 0x94, 0x7C, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x7C, 0xB4, 0x74, 0x93, 0x84, 0xF5, 0xF7, 0xBE, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x9E, 0x85, 0x36, 0x85, 0x36, + 0x85, 0x36, 0x85, 0x15, 0xEF, 0x9E, 0xDF, 0x1C, 0x74, 0x73, 0x7C, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x93, + 0x5B, 0xB0, 0x5B, 0x6E, 0x52, 0x8A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x42, 0x08, 0x74, 0x31, 0x6C, 0x52, 0x7C, 0xB4, + 0x7C, 0xB4, 0x6C, 0x73, 0x9D, 0xB7, 0xFF, 0xFF, 0xFF, 0xDF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xD6, 0xFC, 0x74, 0x93, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x7C, 0xB4, 0xEF, 0x7D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xF7, 0xDF, 0x8D, 0x56, 0x85, 0x16, 0x85, 0x36, 0x7C, 0xF5, 0xDF, 0x3D, + 0xF7, 0xBE, 0x74, 0x94, 0x74, 0x94, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x94, 0x63, 0xD0, 0x53, 0x4E, 0x63, 0x0C, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x8A, 0x74, 0x52, + 0x6C, 0x73, 0x7C, 0xB4, 0x74, 0xB4, 0x7C, 0xB4, 0x74, 0x94, 0x7C, 0xB4, + 0xDF, 0x1C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xC6, 0x9A, 0x74, 0x73, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x7C, 0xB4, 0x74, 0x93, 0x84, 0xF5, 0xF7, 0xBE, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x7E, 0x7D, 0x15, 0x85, 0x15, 0x85, 0x15, + 0x7C, 0xF5, 0xEF, 0x9E, 0xDF, 0x1C, 0x74, 0x73, 0x7C, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x93, 0x5B, 0xB0, + 0x5B, 0x6E, 0x52, 0x8A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x42, 0x08, 0x74, 0x31, 0x6C, 0x52, 0x7C, 0xB4, 0x7C, 0xB4, + 0x6C, 0x73, 0xA5, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0xFC, + 0x74, 0x93, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0xB4, + 0xEF, 0x7D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0xBE, + 0x8D, 0x56, 0x85, 0x16, 0x85, 0x36, 0x7C, 0xF5, 0xDF, 0x3D, 0xF7, 0xBE, + 0x74, 0x94, 0x74, 0x94, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0x94, 0x63, 0xD0, 0x53, 0x4E, 0x63, 0x0C, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x8A, 0x74, 0x52, 0x6C, 0x73, + 0x7C, 0xB4, 0x74, 0xB4, 0x7C, 0xB4, 0x6C, 0x73, 0xBE, 0x5A, 0xFF, 0xFF, + 0xFF, 0xFF, 0xE7, 0x5D, 0x9D, 0x97, 0xA5, 0xD8, 0xFF, 0xDF, 0xFF, 0xFF, + 0xFF, 0xFF, 0x95, 0x56, 0x74, 0x73, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0xB4, + 0x74, 0x93, 0x84, 0xF5, 0xF7, 0xBE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xEF, 0x9E, 0x8D, 0x56, 0x8D, 0x77, 0x8D, 0x77, 0x8D, 0x56, + 0xEF, 0x9E, 0xDF, 0x1C, 0x74, 0x73, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x93, 0x5B, 0xB0, 0x5B, 0x6E, + 0x52, 0x8A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x42, 0x08, 0x74, 0x31, 0x6C, 0x52, 0x7C, 0xB4, 0x7C, 0xB4, 0x74, 0x93, + 0x8D, 0x36, 0xC6, 0x9B, 0xC6, 0x9A, 0xC6, 0x9A, 0xC6, 0x9A, 0xC6, 0x7A, + 0xC6, 0x9A, 0xF7, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0xD8, 0x74, 0x73, + 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0xB4, 0xEF, 0x7E, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0xBE, 0x85, 0x36, + 0x7C, 0xF5, 0x7D, 0x15, 0x74, 0xB4, 0xDF, 0x1C, 0xF7, 0xBE, 0x74, 0x94, + 0x74, 0x94, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0x94, 0x63, 0xD0, 0x53, 0x4E, 0x63, 0x0C, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x52, 0x8A, 0x74, 0x52, 0x6C, 0x73, 0x7C, 0xB4, + 0x74, 0xB4, 0x74, 0x94, 0x7C, 0xD4, 0xEF, 0x9E, 0xFF, 0xFF, 0xFF, 0xDF, + 0x95, 0x56, 0x64, 0x32, 0x6C, 0x53, 0xB6, 0x19, 0xDF, 0x1C, 0xCE, 0xDB, + 0x95, 0x56, 0x74, 0x93, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0xB4, 0x74, 0x93, + 0x84, 0xF5, 0xF7, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xFF, 0xFF, + 0xDF, 0x1C, 0x74, 0x93, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x93, 0x5B, 0xB0, 0x5B, 0x6E, 0x52, 0x8A, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x08, + 0x74, 0x31, 0x6C, 0x52, 0x7C, 0xB4, 0x74, 0xB4, 0x7C, 0xB4, 0x74, 0x94, + 0x6C, 0x53, 0x6C, 0x73, 0x6C, 0x73, 0x6C, 0x73, 0x64, 0x32, 0xA5, 0xD8, + 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0x7A, 0x6C, 0x53, 0x7C, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0xB4, 0xEF, 0x7E, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x1C, 0xD6, 0xFC, + 0xD7, 0x1C, 0xD6, 0xFC, 0xF7, 0xDF, 0xEF, 0x9E, 0x74, 0xB4, 0x74, 0x94, + 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x94, + 0x63, 0xD0, 0x53, 0x4E, 0x63, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x52, 0x8A, 0x74, 0x52, 0x6C, 0x73, 0x7C, 0xB4, 0x7C, 0xB4, + 0x74, 0x73, 0x95, 0x56, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x3D, 0x74, 0x73, + 0x84, 0xF5, 0x8D, 0x15, 0x7C, 0xB4, 0x6C, 0x53, 0x6C, 0x73, 0x74, 0x94, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x94, 0x7C, 0xB4, + 0x8D, 0x36, 0x8D, 0x36, 0x8D, 0x36, 0x8D, 0x36, 0x8D, 0x36, 0x8D, 0x36, + 0x95, 0x36, 0x95, 0x36, 0x95, 0x36, 0x95, 0x36, 0x95, 0x36, 0x8D, 0x15, + 0x74, 0x94, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0x93, 0x5B, 0xB0, 0x5B, 0x6E, 0x52, 0x8A, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x08, 0x74, 0x31, + 0x6C, 0x52, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0xB4, 0x7C, 0xB4, + 0x7C, 0xB4, 0x7C, 0xD4, 0x74, 0x94, 0x8D, 0x36, 0xFF, 0xDF, 0xFF, 0xFF, + 0xE7, 0x3D, 0x74, 0x94, 0x74, 0xB4, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x8D, 0x36, 0x8D, 0x36, 0x8D, 0x36, + 0x8D, 0x36, 0x8D, 0x36, 0x8D, 0x36, 0x95, 0x76, 0x95, 0x77, 0x95, 0x77, + 0x9D, 0x77, 0x95, 0x56, 0x8D, 0x15, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x94, 0x63, 0xD0, + 0x53, 0x4E, 0x63, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x52, 0x8A, 0x74, 0x52, 0x6C, 0x73, 0x7C, 0xB4, 0x7C, 0xB4, 0x6C, 0x73, + 0xA5, 0xD8, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x1C, 0xBE, 0x7A, 0xFF, 0xDF, + 0xFF, 0xDF, 0xEF, 0x9E, 0xB6, 0x39, 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x93, + 0x74, 0x73, 0x74, 0x73, 0x74, 0x73, 0x74, 0x73, 0x74, 0x73, 0x74, 0x73, + 0x74, 0x73, 0x74, 0x73, 0x74, 0x73, 0x74, 0x73, 0x74, 0x93, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0x93, 0x5B, 0xB0, 0x5B, 0x6E, 0x52, 0x8A, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x08, 0x74, 0x31, 0x6C, 0x52, + 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x7C, 0xB4, 0x74, 0x73, 0xCE, 0xBB, 0xFF, 0xFF, 0xFF, 0xFF, 0x9D, 0x77, + 0x6C, 0x73, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x93, 0x74, 0x73, 0x74, 0x93, 0x74, 0x73, + 0x74, 0x73, 0x74, 0x73, 0x6C, 0x73, 0x6C, 0x73, 0x6C, 0x73, 0x6C, 0x73, + 0x74, 0x73, 0x74, 0x93, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x94, 0x63, 0xD0, 0x53, 0x4E, + 0x63, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x8A, + 0x74, 0x52, 0x6C, 0x73, 0x7C, 0xB4, 0x7C, 0xB4, 0x6C, 0x73, 0xAD, 0xD8, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x9A, 0x74, 0x93, 0x7C, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0xB4, 0x7C, 0xB4, + 0x7C, 0xB4, 0x7C, 0xB4, 0x7C, 0xB4, 0x7C, 0xB4, 0x7C, 0xB4, 0x7C, 0xB4, + 0x7C, 0xB4, 0x7C, 0xB4, 0x7C, 0xB4, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x93, + 0x5B, 0xB0, 0x5B, 0x6E, 0x52, 0x8A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x42, 0x08, 0x74, 0x31, 0x6C, 0x52, 0x7C, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0xB4, 0x74, 0x73, + 0x95, 0x56, 0xFF, 0xDF, 0xFF, 0xFF, 0xD6, 0xDC, 0x74, 0x73, 0x7C, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x7C, 0xB4, 0x7C, 0xB4, 0x7C, 0xB4, 0x7C, 0xB4, 0x7C, 0xB4, + 0x7C, 0xB4, 0x7C, 0xB4, 0x7C, 0xB4, 0x7C, 0xB4, 0x7C, 0xB4, 0x7C, 0xB4, + 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x94, 0x63, 0xD0, 0x53, 0x4E, 0x63, 0x0C, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x8A, 0x74, 0x52, + 0x6C, 0x73, 0x7C, 0xB4, 0x7C, 0xB4, 0x6C, 0x73, 0xAD, 0xD8, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x5D, 0xA5, 0xB8, 0xBE, 0x39, 0xFF, 0xDF, + 0xFF, 0xFF, 0xFF, 0xFF, 0x9D, 0x77, 0x74, 0x73, 0x7C, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x93, 0x5B, 0xB0, + 0x5B, 0x6E, 0x52, 0x8A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x42, 0x08, 0x74, 0x31, 0x6C, 0x52, 0x7C, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0xB4, 0x6C, 0x73, 0xC6, 0x9B, + 0xFF, 0xFF, 0xFF, 0xFF, 0x9D, 0x77, 0x6C, 0x73, 0x7C, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0x94, 0x63, 0xD0, 0x53, 0x4E, 0x63, 0x0C, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x8A, 0x74, 0x52, 0x6C, 0x73, + 0x7C, 0xB4, 0x7C, 0xB4, 0x6C, 0x73, 0xAD, 0xD8, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xDF, 0x8D, 0x36, 0x6C, 0x53, 0x6C, 0x53, 0xB6, 0x39, 0xFF, 0xFF, + 0xFF, 0xFF, 0xC6, 0x9B, 0x6C, 0x73, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x94, 0x7C, 0x94, + 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0x94, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x93, 0x5B, 0xB0, 0x5B, 0x6E, + 0x52, 0x8A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x42, 0x08, 0x74, 0x31, 0x6C, 0x52, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x7C, 0xB4, 0x74, 0x94, 0x84, 0xF5, 0xF7, 0xBE, 0xFF, 0xFF, + 0xE7, 0x5D, 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0x94, 0x63, 0xD0, 0x53, 0x4E, 0x63, 0x0C, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x52, 0x8A, 0x74, 0x52, 0x6C, 0x73, 0x7C, 0xB4, + 0x7C, 0xB4, 0x6C, 0x73, 0xA5, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x7D, + 0x7C, 0xB4, 0x7C, 0xB4, 0x74, 0x93, 0x9D, 0x77, 0xFF, 0xFF, 0xFF, 0xFF, + 0xD6, 0xDC, 0x74, 0x73, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0x93, + 0x7C, 0x94, 0x74, 0xD4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x93, 0x5B, 0xB0, 0x5B, 0x6E, 0x52, 0x8A, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x08, + 0x74, 0x31, 0x6C, 0x52, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x7C, 0xB4, 0x6C, 0x73, 0xA5, 0xD8, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0x5A, + 0x6C, 0x73, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x7C, 0x94, 0x7C, 0x93, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x94, + 0x63, 0xD0, 0x53, 0x4E, 0x63, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x52, 0x8A, 0x74, 0x52, 0x6C, 0x73, 0x7C, 0xB4, 0x7C, 0xB4, + 0x74, 0x93, 0x8D, 0x36, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x9E, 0x7C, 0xD4, + 0x74, 0x94, 0x74, 0x73, 0x9D, 0x77, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0xDB, + 0x74, 0x73, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0x93, 0xAA, 0xEB, 0xC1, 0xC6, 0xC1, 0xE7, + 0x9B, 0x6E, 0x74, 0xB4, 0x7C, 0x94, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0x93, 0x5B, 0xB0, 0x5B, 0x6E, 0x52, 0x8A, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x08, 0x74, 0x31, + 0x6C, 0x52, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0xB4, + 0x6C, 0x73, 0xCE, 0xBB, 0xFF, 0xFF, 0xFF, 0xFF, 0x95, 0x77, 0x74, 0x73, + 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0xC1, 0xE7, + 0xAA, 0xEB, 0x74, 0xD5, 0x7C, 0x94, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x94, 0x63, 0xD0, + 0x53, 0x4E, 0x63, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x52, 0x8A, 0x74, 0x52, 0x6C, 0x73, 0x7C, 0xD4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0x94, 0xE7, 0x5D, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x39, 0x6C, 0x73, + 0x6C, 0x73, 0xC6, 0x9A, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x39, 0x6C, 0x73, + 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0x94, + 0x74, 0xD5, 0x9B, 0x6E, 0xD1, 0x44, 0x9B, 0x6E, 0xA3, 0x2D, 0xD1, 0x85, + 0x84, 0x32, 0x74, 0xD4, 0x7C, 0x94, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0x93, 0x5B, 0xB0, 0x5B, 0x6E, 0x52, 0x8A, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x08, 0x74, 0x31, 0x6C, 0x52, + 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0xB4, 0x74, 0x94, 0x74, 0xB4, + 0xE7, 0x5D, 0xFF, 0xFF, 0xF7, 0x9E, 0x84, 0xF5, 0x74, 0x94, 0x7C, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xD4, 0xAA, 0xAA, 0xB2, 0xAA, + 0x74, 0xD5, 0x7C, 0x94, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x94, 0x63, 0xD0, 0x53, 0x4E, + 0x63, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x8A, + 0x74, 0x52, 0x6C, 0x73, 0x7C, 0xD4, 0x74, 0xB4, 0x7C, 0xB4, 0x6C, 0x73, + 0xA5, 0xD8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0xDB, 0xD6, 0xFC, + 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0xBE, 0x84, 0xF5, 0x74, 0x94, 0x7C, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0x94, 0x74, 0xD5, + 0x8B, 0xD0, 0xC9, 0x85, 0x9B, 0x4D, 0xA3, 0x0C, 0xC9, 0xA5, 0x84, 0x52, + 0x74, 0xB4, 0x7C, 0x94, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x93, + 0x5B, 0xB0, 0x5B, 0x6E, 0x52, 0x8A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x42, 0x08, 0x74, 0x31, 0x6C, 0x52, 0x7C, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0xB4, 0x74, 0x93, 0x84, 0xF5, 0xEF, 0x9E, + 0xFF, 0xFF, 0xDF, 0x1C, 0x74, 0x94, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x7C, 0x94, 0x74, 0xB4, 0xAA, 0xCB, 0xA3, 0x2D, 0x74, 0xD5, + 0x7C, 0x94, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x94, 0x63, 0xD0, 0x53, 0x4E, 0x63, 0x0C, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x8A, 0x74, 0x52, + 0x6C, 0x73, 0x7C, 0xD4, 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0xB4, 0x74, 0x93, + 0xBE, 0x5A, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xF7, 0xDF, 0x9D, 0x97, 0x74, 0x73, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0x94, 0x74, 0xB4, 0x7C, 0x94, + 0xBA, 0x28, 0xD1, 0x64, 0xC9, 0xC6, 0x8B, 0xD0, 0x6C, 0xF5, 0x74, 0xB4, + 0x74, 0x94, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x93, 0x5B, 0xB0, + 0x5B, 0x6E, 0x52, 0x8A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x42, 0x08, 0x74, 0x31, 0x6C, 0x52, 0x7C, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x7C, 0xB4, 0x74, 0x73, 0x95, 0x77, 0xFF, 0xFF, 0xFF, 0xFF, + 0xD6, 0xFC, 0x74, 0x93, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x7C, 0x93, 0x9B, 0x6E, 0x7C, 0x73, 0x74, 0xB4, 0x74, 0x94, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0x94, 0x63, 0xD0, 0x53, 0x4E, 0x63, 0x0C, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x8A, 0x74, 0x52, 0x6C, 0x73, + 0x7C, 0xD4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x73, + 0x9D, 0x97, 0xD6, 0xDB, 0xDF, 0x1C, 0xDF, 0x1C, 0xC6, 0x7A, 0x8D, 0x15, + 0x74, 0x73, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0x94, 0xB2, 0x89, 0xC1, 0xC6, + 0xBA, 0x28, 0xC9, 0xA6, 0x8B, 0xF0, 0x9B, 0x4E, 0x8B, 0xD0, 0x74, 0xD4, + 0x7C, 0x94, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x93, 0x5B, 0xB0, 0x5B, 0x6E, + 0x52, 0x8A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x42, 0x08, 0x74, 0x31, 0x6C, 0x52, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x7C, 0xB4, 0x74, 0x93, 0x8D, 0x36, 0xDF, 0x1C, 0xE7, 0x5D, 0xBE, 0x5A, + 0x74, 0x93, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xD5, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0x94, 0x63, 0xD0, 0x53, 0x4E, 0x63, 0x0C, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x52, 0x8A, 0x74, 0x52, 0x6C, 0x73, 0x7C, 0xD4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0xB4, 0x74, 0x73, + 0x6C, 0x73, 0x74, 0x93, 0x74, 0x73, 0x6C, 0x73, 0x74, 0x93, 0x7C, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x7C, 0x94, 0x74, 0xD5, 0x93, 0xAF, 0xD1, 0x64, 0x93, 0xAF, 0x7C, 0x93, + 0xC2, 0x07, 0xC9, 0xC6, 0xC9, 0x85, 0x93, 0x8F, 0x74, 0xD5, 0x7C, 0x94, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x93, 0x5B, 0xB0, 0x5B, 0x6E, 0x52, 0x8A, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x08, + 0x74, 0x31, 0x6C, 0x52, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0x94, 0x74, 0x73, 0x74, 0x73, 0x74, 0x93, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x7C, 0x94, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x94, + 0x63, 0xD0, 0x53, 0x4E, 0x63, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x52, 0x8A, 0x74, 0x52, 0x6C, 0x73, 0x7C, 0xD4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0xB4, 0x7C, 0xB4, + 0x7C, 0xB4, 0x7C, 0xB4, 0x7C, 0xB4, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0x94, + 0x74, 0xD5, 0x93, 0xAF, 0xD1, 0x64, 0x9B, 0x6E, 0x6C, 0xF5, 0x9B, 0x4D, + 0xD1, 0x64, 0xC9, 0xC6, 0x8B, 0xD0, 0x74, 0xB4, 0x7C, 0x94, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0x93, 0x5B, 0xB0, 0x5B, 0x6E, 0x52, 0x8A, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x08, 0x74, 0x31, + 0x6C, 0x52, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x7C, 0xB4, 0x7C, 0xB4, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x94, 0x63, 0xD0, + 0x53, 0x4E, 0x63, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x52, 0x8A, 0x74, 0x52, 0x6C, 0x73, 0x7C, 0xD4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x7C, 0x94, 0xAA, 0xAA, 0xC9, 0xA5, 0xC1, 0xE7, 0xC9, 0xA6, 0xB2, 0x89, + 0xC2, 0x07, 0xBA, 0x28, 0x7C, 0x93, 0x74, 0xB4, 0x7C, 0x94, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0x93, 0x5B, 0xB0, 0x5B, 0x6E, 0x52, 0x8A, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x08, 0x74, 0x31, 0x6C, 0x52, + 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x94, 0x63, 0xD0, 0x53, 0x4E, + 0x63, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x8A, + 0x74, 0x52, 0x6C, 0x73, 0x7C, 0xD4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x94, 0x74, 0xB4, + 0x74, 0xB4, 0x8B, 0xF0, 0x93, 0xAF, 0x8B, 0xF0, 0x74, 0xB4, 0x7C, 0x73, + 0x84, 0x52, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x93, + 0x5B, 0xB0, 0x5B, 0x6E, 0x52, 0x8A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x42, 0x08, 0x74, 0x31, 0x6C, 0x52, 0x7C, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x94, 0x63, 0xD0, 0x53, 0x4E, 0x63, 0x0C, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x8A, 0x74, 0x52, + 0x6C, 0x73, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x94, 0x74, 0xB4, + 0x74, 0xD5, 0x74, 0xD5, 0x74, 0xD5, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x7C, 0x94, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x93, 0x5B, 0xB0, + 0x5B, 0x6E, 0x52, 0x8A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x42, 0x08, 0x74, 0x31, 0x6C, 0x52, 0x7C, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0x94, 0x63, 0xD0, 0x53, 0x4E, 0x63, 0x0C, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x8A, 0x74, 0x52, 0x6C, 0x73, + 0x7C, 0xD4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0x94, + 0x7C, 0x94, 0x7C, 0x94, 0x74, 0xB4, 0x7C, 0x94, 0x7C, 0x94, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x93, 0x5B, 0xB0, 0x5B, 0x6E, + 0x52, 0x8A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x42, 0x08, 0x74, 0x31, 0x6C, 0x52, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0x94, 0x63, 0xD0, 0x53, 0x4E, 0x63, 0x0C, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x52, 0x8A, 0x74, 0x52, 0x6C, 0x73, 0x7C, 0xD4, + 0x74, 0x94, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0x94, 0x74, 0xB4, 0x74, 0x93, 0x5B, 0xB0, 0x5B, 0x6E, 0x52, 0xAA, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4A, 0x08, + 0x74, 0x32, 0x6C, 0x53, 0x7C, 0xD4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x94, + 0x63, 0xD0, 0x53, 0x4E, 0x63, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x4A, 0x49, 0x6C, 0x11, 0x63, 0xF1, 0x6C, 0x52, 0x74, 0x72, + 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, + 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, + 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, + 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, + 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, + 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, + 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, + 0x74, 0x72, 0x6C, 0x52, 0x53, 0x6E, 0x5B, 0x4E, 0x52, 0x69, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0xC7, 0x73, 0xF0, + 0x5B, 0xD0, 0x6C, 0x52, 0x74, 0x72, 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, + 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, + 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, + 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, + 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, + 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, + 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, + 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, 0x74, 0x72, 0x74, 0x52, 0x5B, 0x8F, + 0x53, 0x2D, 0x5A, 0xCB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x21, 0x24, 0x73, 0xCF, 0x53, 0x6E, 0x5B, 0xAF, 0x63, 0xF0, 0x63, 0xD0, + 0x63, 0xF0, 0x63, 0xF0, 0x63, 0xF0, 0x63, 0xF0, 0x63, 0xF0, 0x63, 0xF0, + 0x63, 0xF0, 0x63, 0xF0, 0x63, 0xF0, 0x63, 0xF0, 0x63, 0xF0, 0x63, 0xF0, + 0x63, 0xF0, 0x63, 0xF0, 0x63, 0xF0, 0x63, 0xF0, 0x63, 0xF0, 0x63, 0xF0, + 0x63, 0xF0, 0x63, 0xF0, 0x63, 0xF0, 0x63, 0xF0, 0x63, 0xF0, 0x63, 0xF0, + 0x63, 0xF0, 0x63, 0xF0, 0x63, 0xF0, 0x63, 0xF0, 0x63, 0xF0, 0x63, 0xF0, + 0x63, 0xF0, 0x63, 0xF0, 0x63, 0xF0, 0x63, 0xF0, 0x63, 0xF0, 0x63, 0xF0, + 0x63, 0xF0, 0x63, 0xF0, 0x63, 0xF0, 0x63, 0xF0, 0x63, 0xF0, 0x63, 0xF0, + 0x63, 0xF0, 0x5B, 0x6E, 0x6B, 0x8E, 0x29, 0x24, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xA2, 0x73, 0x8E, 0x5B, 0x6F, + 0x5B, 0x8F, 0x63, 0xF0, 0x63, 0xF0, 0x63, 0xF0, 0x63, 0xF0, 0x63, 0xF0, + 0x63, 0xF0, 0x63, 0xF0, 0x63, 0xF0, 0x63, 0xF0, 0x63, 0xF0, 0x63, 0xF0, + 0x63, 0xF0, 0x63, 0xF0, 0x63, 0xF0, 0x63, 0xF0, 0x63, 0xF0, 0x63, 0xF0, + 0x63, 0xF0, 0x63, 0xF0, 0x63, 0xF0, 0x63, 0xF0, 0x63, 0xF0, 0x63, 0xF0, + 0x63, 0xF0, 0x63, 0xF0, 0x63, 0xF0, 0x63, 0xF0, 0x63, 0xF0, 0x63, 0xF0, + 0x63, 0xF0, 0x63, 0xF0, 0x63, 0xF0, 0x63, 0xF0, 0x63, 0xF0, 0x63, 0xF0, + 0x63, 0xF0, 0x63, 0xF0, 0x63, 0xF0, 0x63, 0xF0, 0x63, 0xF0, 0x63, 0xF0, + 0x63, 0xF0, 0x63, 0xF0, 0x63, 0xF0, 0x6B, 0xF0, 0x5B, 0x6E, 0x6B, 0x8E, + 0x31, 0xA6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x39, 0xE7, 0x6B, 0x6E, 0x6B, 0xAF, 0x73, 0xCF, 0x73, 0xCF, 0x73, 0xCF, + 0x73, 0xCF, 0x73, 0xCF, 0x73, 0xCF, 0x73, 0xCF, 0x73, 0xCF, 0x73, 0xCF, + 0x73, 0xCF, 0x73, 0xCF, 0x73, 0xCF, 0x73, 0xCF, 0x73, 0xCF, 0x73, 0xCF, + 0x73, 0xCF, 0x73, 0xCF, 0x73, 0xCF, 0x73, 0xCF, 0x73, 0xCF, 0x73, 0xCF, + 0x73, 0xCF, 0x73, 0xCF, 0x73, 0xCF, 0x73, 0xCF, 0x73, 0xCF, 0x73, 0xCF, + 0x73, 0xCF, 0x73, 0xCF, 0x73, 0xCF, 0x73, 0xCF, 0x73, 0xCF, 0x73, 0xCF, + 0x73, 0xCF, 0x73, 0xCF, 0x73, 0xCF, 0x73, 0xCF, 0x73, 0xCF, 0x73, 0xCF, + 0x73, 0xCF, 0x73, 0xCF, 0x73, 0xCF, 0x73, 0xCF, 0x73, 0xCF, 0x73, 0xCF, + 0x73, 0x8E, 0x39, 0xC6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x31, 0x85, 0x6B, 0x6D, 0x6B, 0xAF, + 0x73, 0xCF, 0x73, 0xCF, 0x73, 0xCF, 0x73, 0xCF, 0x73, 0xCF, 0x73, 0xCF, + 0x73, 0xCF, 0x73, 0xCF, 0x73, 0xCF, 0x73, 0xCF, 0x73, 0xCF, 0x73, 0xCF, + 0x73, 0xCF, 0x73, 0xCF, 0x73, 0xCF, 0x73, 0xCF, 0x73, 0xCF, 0x73, 0xCF, + 0x73, 0xCF, 0x73, 0xCF, 0x73, 0xCF, 0x73, 0xCF, 0x73, 0xCF, 0x73, 0xCF, + 0x73, 0xCF, 0x73, 0xCF, 0x73, 0xCF, 0x73, 0xCF, 0x73, 0xCF, 0x73, 0xCF, + 0x73, 0xCF, 0x73, 0xCF, 0x73, 0xCF, 0x73, 0xCF, 0x73, 0xCF, 0x73, 0xCF, + 0x73, 0xCF, 0x73, 0xCF, 0x73, 0xCF, 0x73, 0xCF, 0x73, 0xCF, 0x73, 0xCF, + 0x73, 0xCF, 0x73, 0xCF, 0x73, 0xCF, 0x73, 0xAE, 0x4A, 0x28, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x10, 0xA2, 0x29, 0x45, 0x29, 0x65, 0x29, 0x45, 0x29, 0x45, 0x29, 0x45, + 0x29, 0x45, 0x29, 0x45, 0x29, 0x45, 0x29, 0x45, 0x29, 0x45, 0x29, 0x45, + 0x29, 0x45, 0x29, 0x45, 0x29, 0x45, 0x29, 0x45, 0x29, 0x45, 0x29, 0x45, + 0x29, 0x45, 0x29, 0x45, 0x29, 0x45, 0x29, 0x45, 0x29, 0x45, 0x29, 0x45, + 0x29, 0x45, 0x29, 0x45, 0x29, 0x45, 0x29, 0x45, 0x29, 0x45, 0x29, 0x45, + 0x29, 0x45, 0x29, 0x45, 0x29, 0x45, 0x29, 0x45, 0x29, 0x45, 0x29, 0x45, + 0x29, 0x45, 0x29, 0x45, 0x29, 0x45, 0x29, 0x45, 0x29, 0x45, 0x29, 0x45, + 0x29, 0x45, 0x29, 0x45, 0x29, 0x45, 0x29, 0x45, 0x29, 0x45, 0x18, 0xA2, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x82, 0x29, 0x24, 0x29, 0x45, + 0x29, 0x45, 0x29, 0x45, 0x29, 0x45, 0x29, 0x45, 0x29, 0x45, 0x29, 0x45, + 0x29, 0x45, 0x29, 0x45, 0x29, 0x45, 0x29, 0x45, 0x29, 0x45, 0x29, 0x45, + 0x29, 0x45, 0x29, 0x45, 0x29, 0x45, 0x29, 0x45, 0x29, 0x45, 0x29, 0x45, + 0x29, 0x45, 0x29, 0x45, 0x29, 0x45, 0x29, 0x45, 0x29, 0x45, 0x29, 0x45, + 0x29, 0x45, 0x29, 0x45, 0x29, 0x45, 0x29, 0x45, 0x29, 0x45, 0x29, 0x45, + 0x29, 0x45, 0x29, 0x45, 0x29, 0x45, 0x29, 0x45, 0x29, 0x45, 0x29, 0x45, + 0x29, 0x45, 0x29, 0x45, 0x29, 0x45, 0x29, 0x45, 0x29, 0x45, 0x29, 0x45, + 0x29, 0x45, 0x29, 0x45, 0x18, 0xC3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 diff --git a/src/Examples/IoD16kSpectrumEmulator/ZXenter.h b/src/Examples/IoD16kSpectrumEmulator/ZXenter.h new file mode 100644 index 0000000..60f07ee --- /dev/null +++ b/src/Examples/IoD16kSpectrumEmulator/ZXenter.h @@ -0,0 +1,598 @@ + + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x18, 0x40, 0xC9, 0xA5, 0xD1, 0xC5, 0xC9, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, + 0xD1, 0xC5, 0xD1, 0xC5, 0xC9, 0x65, 0xD3, 0x65, 0xDD, 0xA5, 0xDD, 0x65, + 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xE5, 0x65, + 0xCD, 0x65, 0x5D, 0x25, 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, + 0x55, 0x25, 0x55, 0x26, 0x5D, 0x44, 0x34, 0xAE, 0x04, 0x1A, 0x04, 0x38, + 0x04, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x50, 0xC2, 0xD9, 0xE6, 0xC9, 0xC5, 0xC9, 0xC5, 0xC9, 0xC5, + 0xC9, 0xC5, 0xC9, 0xC5, 0xC9, 0xC5, 0xC9, 0xA5, 0xD4, 0xA5, 0xDD, 0x85, + 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, + 0xE5, 0x65, 0xA5, 0x45, 0x4D, 0x25, 0x5D, 0x25, 0x55, 0x25, 0x55, 0x25, + 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, 0x14, 0x74, 0x04, 0x19, + 0x04, 0x38, 0x04, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xA1, 0x23, 0xE1, 0xC5, 0xD1, 0xA5, 0xD9, 0xA5, + 0xD9, 0xA5, 0xD9, 0xA5, 0xD9, 0xA5, 0xD1, 0x65, 0xDA, 0x85, 0xE5, 0xA5, + 0xE5, 0xA5, 0xE5, 0x85, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, + 0xDD, 0x65, 0xDD, 0x65, 0x75, 0x25, 0x55, 0x25, 0x5D, 0x25, 0x55, 0x25, + 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, 0x5D, 0x24, 0x44, 0xE9, 0x04, 0x38, + 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x04, 0x31, 0x45, 0x31, 0x65, + 0x31, 0x65, 0x31, 0x65, 0x31, 0x65, 0x31, 0x65, 0x31, 0x65, 0x31, 0x65, + 0x31, 0x65, 0x31, 0x65, 0x31, 0x65, 0x31, 0x65, 0x31, 0x65, 0x31, 0x65, + 0x31, 0x65, 0x31, 0x65, 0x31, 0x65, 0x31, 0x65, 0x31, 0x65, 0x31, 0x65, + 0x31, 0x65, 0x31, 0x65, 0x31, 0x65, 0x31, 0x65, 0x31, 0x65, 0x31, 0x65, + 0x31, 0x65, 0x31, 0x65, 0x31, 0x65, 0x31, 0x65, 0x31, 0x65, 0x31, 0x65, + 0x31, 0x65, 0x29, 0x65, 0x39, 0x65, 0xA2, 0x48, 0xAA, 0x68, 0xAA, 0x48, + 0xAA, 0x48, 0xAA, 0x48, 0xAA, 0x48, 0xAA, 0x68, 0xAA, 0x28, 0xAB, 0x48, + 0xB4, 0xA8, 0xB4, 0x88, 0xCD, 0x07, 0xE5, 0x85, 0xDD, 0x65, 0xDD, 0x65, + 0xDD, 0x65, 0xE5, 0x65, 0xC5, 0x65, 0x5D, 0x25, 0x55, 0x25, 0x5D, 0x25, + 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, 0x5D, 0x24, 0x2C, 0xAF, + 0x04, 0x1A, 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x08, 0x41, 0x5A, 0xCB, 0x8C, 0xB3, 0x8C, 0xF4, + 0x8C, 0xF4, 0x8C, 0xF4, 0x8C, 0xF4, 0x8C, 0xF4, 0x8C, 0xF4, 0x8C, 0xF4, + 0x8C, 0xF4, 0x8C, 0xF4, 0x8C, 0xF4, 0x8C, 0xF4, 0x8C, 0xF4, 0x8C, 0xF4, + 0x8C, 0xF4, 0x8C, 0xF4, 0x8C, 0xF4, 0x8C, 0xF4, 0x8C, 0xF4, 0x8C, 0xF4, + 0x8C, 0xF4, 0x8C, 0xF4, 0x8C, 0xF4, 0x8C, 0xF4, 0x8C, 0xF4, 0x8C, 0xF4, + 0x8C, 0xF4, 0x8C, 0xF4, 0x8C, 0xF4, 0x8C, 0xF4, 0x8C, 0xF4, 0x8C, 0xF4, + 0x8C, 0xF4, 0x8C, 0xF4, 0x8C, 0xF4, 0x8C, 0xF4, 0x7C, 0xD4, 0x7C, 0xD4, + 0x7C, 0xD4, 0x7C, 0xD4, 0x7C, 0xD4, 0x7C, 0xD4, 0x7C, 0xD4, 0x7C, 0xD4, + 0x7C, 0xB4, 0x7C, 0x94, 0x74, 0x53, 0x73, 0xAF, 0xA4, 0x6A, 0xE5, 0x85, + 0xDD, 0x65, 0xDD, 0x65, 0xE5, 0x65, 0x9D, 0x45, 0x4D, 0x25, 0x5D, 0x25, + 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, + 0x14, 0x55, 0x04, 0x39, 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4A, 0x49, 0x8C, 0xF4, 0xA6, 0x3A, + 0x9D, 0xF9, 0x95, 0xD8, 0x95, 0xD8, 0x95, 0xD8, 0x95, 0xD8, 0x95, 0xD8, + 0x95, 0xD8, 0x95, 0xD8, 0x95, 0xD8, 0x95, 0xD8, 0x95, 0xD8, 0x95, 0xD8, + 0x95, 0xD8, 0x95, 0xD8, 0x95, 0xD8, 0x95, 0xD8, 0x95, 0xD8, 0x95, 0xD8, + 0x95, 0xD8, 0x95, 0xD8, 0x95, 0xD8, 0x95, 0xD8, 0x95, 0xD8, 0x95, 0xD8, + 0x95, 0xD8, 0x95, 0xD8, 0x95, 0xD8, 0x95, 0xD8, 0x95, 0xD8, 0x95, 0xD8, + 0x95, 0xD8, 0x95, 0xD8, 0x95, 0xD8, 0x95, 0xD8, 0x95, 0xD8, 0x9D, 0xD8, + 0x9D, 0xD8, 0x9D, 0xD8, 0x9D, 0xD8, 0x9D, 0xD8, 0x9D, 0xD8, 0x9D, 0xD8, + 0x9D, 0xD8, 0x9D, 0xD8, 0x9D, 0xF9, 0x8D, 0x56, 0x64, 0x12, 0x63, 0x6F, + 0xBC, 0xC8, 0xE5, 0x85, 0xDD, 0x65, 0xDD, 0x65, 0x75, 0x25, 0x55, 0x25, + 0x5D, 0x25, 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, 0x5D, 0x24, + 0x44, 0xEA, 0x04, 0x39, 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x61, 0x6B, 0x6E, 0x74, 0xB4, + 0x8D, 0x36, 0x8D, 0x77, 0x8D, 0x56, 0x8D, 0x76, 0x8D, 0x56, 0x8D, 0x56, + 0x8D, 0x56, 0x8D, 0x56, 0x8D, 0x56, 0x8D, 0x56, 0x8D, 0x56, 0x8D, 0x56, + 0x8D, 0x56, 0x8D, 0x56, 0x8D, 0x56, 0x8D, 0x56, 0x8D, 0x56, 0x8D, 0x56, + 0x8D, 0x56, 0x8D, 0x56, 0x8D, 0x56, 0x8D, 0x56, 0x8D, 0x56, 0x8D, 0x56, + 0x8D, 0x56, 0x8D, 0x56, 0x8D, 0x56, 0x8D, 0x56, 0x8D, 0x56, 0x8D, 0x56, + 0x8D, 0x56, 0x8D, 0x56, 0x8D, 0x56, 0x8D, 0x56, 0x8D, 0x56, 0x8D, 0x56, + 0x8D, 0x56, 0x8D, 0x56, 0x8D, 0x56, 0x8D, 0x56, 0x8D, 0x56, 0x8D, 0x56, + 0x8D, 0x56, 0x8D, 0x56, 0x8D, 0x56, 0x8D, 0x76, 0x84, 0xF5, 0x63, 0xF0, + 0x53, 0x4F, 0x94, 0x0B, 0xE5, 0x85, 0xE5, 0x65, 0xC5, 0x65, 0x55, 0x25, + 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, 0x55, 0x26, + 0x5D, 0x24, 0x2C, 0x90, 0x04, 0x1A, 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, + 0x04, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xA2, 0x6B, 0xAE, + 0x6C, 0x32, 0x74, 0x93, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x93, + 0x5B, 0xB0, 0x4B, 0x0E, 0x8C, 0x0B, 0xDD, 0x85, 0xE5, 0x65, 0x95, 0x45, + 0x4D, 0x25, 0x5D, 0x25, 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, + 0x5D, 0x25, 0x55, 0x26, 0x0C, 0x56, 0x04, 0x39, 0x04, 0x38, 0x04, 0x38, + 0x04, 0x38, 0x04, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xA2, + 0x6B, 0xAE, 0x6C, 0x52, 0x74, 0x94, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0x93, 0x5B, 0xB0, 0x4B, 0x0E, 0x8C, 0x0B, 0xE5, 0x85, 0xDD, 0x65, + 0x6D, 0x25, 0x55, 0x25, 0x5D, 0x25, 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, + 0x55, 0x26, 0x5D, 0x24, 0x3C, 0xCB, 0x04, 0x39, 0x04, 0x38, 0x04, 0x38, + 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x18, 0xA2, 0x6B, 0xAE, 0x6C, 0x52, 0x74, 0x94, 0x7C, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0x93, 0x5B, 0xB0, 0x4B, 0x0E, 0x8C, 0x0B, 0xED, 0x85, + 0xBD, 0x45, 0x55, 0x25, 0x5D, 0x25, 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, + 0x55, 0x25, 0x55, 0x25, 0x5D, 0x24, 0x24, 0x91, 0x04, 0x1A, 0x04, 0x38, + 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x18, 0xA2, 0x73, 0xAE, 0x6C, 0x52, 0x74, 0x94, 0x7C, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x93, 0x5B, 0xB0, 0x4B, 0x0E, 0x8C, 0x0B, + 0xED, 0x85, 0x8D, 0x45, 0x4D, 0x25, 0x5D, 0x25, 0x55, 0x25, 0x55, 0x25, + 0x55, 0x25, 0x55, 0x25, 0x5D, 0x25, 0x55, 0x06, 0x0C, 0x57, 0x04, 0x39, + 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, 0x04, 0x18, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x18, 0xA2, 0x73, 0xAE, 0x6C, 0x52, 0x74, 0x94, + 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x93, 0x5B, 0xB0, 0x4B, 0x0E, + 0x94, 0x0B, 0xDD, 0x85, 0x65, 0x25, 0x55, 0x25, 0x5D, 0x25, 0x55, 0x25, + 0x55, 0x25, 0x55, 0x25, 0x55, 0x26, 0x5D, 0x24, 0x3C, 0xCC, 0x04, 0x19, + 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xA2, 0x73, 0xAE, 0x6C, 0x52, + 0x74, 0x94, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x93, 0x63, 0xB0, + 0x4B, 0x0E, 0x94, 0x0B, 0xBD, 0x65, 0x55, 0x25, 0x5D, 0x25, 0x55, 0x25, + 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, 0x5D, 0x24, 0x24, 0x92, + 0x04, 0x1A, 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, 0x04, 0x18, + 0x04, 0x59, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xA2, 0x73, 0xAE, + 0x6C, 0x52, 0x74, 0x94, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x93, + 0x63, 0xB0, 0x4B, 0x0E, 0x9C, 0x0B, 0x8D, 0x65, 0x4D, 0x25, 0x5D, 0x25, + 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, 0x5D, 0x25, 0x4D, 0x07, + 0x0C, 0x37, 0x04, 0x39, 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, + 0x04, 0x18, 0x04, 0x7A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xA2, + 0x73, 0xAE, 0x6C, 0x52, 0x74, 0x94, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0x93, 0x5B, 0xB0, 0x53, 0x0E, 0x84, 0x0B, 0x6D, 0x45, 0x55, 0x25, + 0x5D, 0x25, 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, 0x55, 0x26, 0x5D, 0x24, + 0x34, 0xCD, 0x04, 0x19, 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, + 0x04, 0x38, 0x04, 0x38, 0x04, 0x59, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x18, 0xA2, 0x73, 0xAE, 0x6C, 0x52, 0x74, 0x94, 0x7C, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0x93, 0x5B, 0xB0, 0x53, 0x2E, 0x6B, 0xEB, 0x55, 0x45, + 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, + 0x5D, 0x25, 0x1C, 0x73, 0x04, 0x19, 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, + 0x04, 0x38, 0x04, 0x38, 0x04, 0x59, 0x03, 0x74, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x18, 0xA2, 0x73, 0xAE, 0x6C, 0x52, 0x74, 0x94, 0x7C, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0xB4, + 0x7C, 0xB4, 0x7C, 0xB4, 0x7C, 0xB4, 0x7C, 0xB4, 0x7C, 0xB4, 0x74, 0xB4, + 0x7C, 0xB4, 0x7C, 0xB4, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0xB4, + 0x7C, 0xB4, 0x74, 0xB4, 0x7C, 0xB4, 0x7C, 0xB4, 0x7C, 0xB4, 0x7C, 0xB4, + 0x7C, 0xB4, 0x7C, 0xB4, 0x7C, 0xB4, 0x7C, 0xB4, 0x7C, 0xB4, 0x7C, 0xB4, + 0x7C, 0xB4, 0x7C, 0xB4, 0x7C, 0xB4, 0x74, 0xB4, 0x7C, 0xB4, 0x7C, 0xB4, + 0x7C, 0xB4, 0x7C, 0xB4, 0x7C, 0xB4, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x93, 0x5B, 0xB0, 0x53, 0x2E, 0x6B, 0xEB, + 0x55, 0x45, 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, + 0x5D, 0x25, 0x4D, 0x08, 0x04, 0x38, 0x04, 0x39, 0x04, 0x38, 0x04, 0x38, + 0x04, 0x38, 0x04, 0x38, 0x04, 0x18, 0x04, 0x7A, 0x02, 0x2D, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x18, 0xA2, 0x73, 0xAE, 0x6C, 0x52, 0x74, 0x94, + 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x94, + 0x6C, 0x73, 0x6C, 0x53, 0x6C, 0x53, 0x6C, 0x53, 0x6C, 0x53, 0x6C, 0x73, + 0x74, 0xB4, 0x74, 0x73, 0x6C, 0x53, 0x74, 0x94, 0x7C, 0xB4, 0x74, 0xB4, + 0x6C, 0x73, 0x6C, 0x73, 0x74, 0xB4, 0x6C, 0x73, 0x6C, 0x53, 0x6C, 0x53, + 0x6C, 0x73, 0x6C, 0x53, 0x6C, 0x53, 0x74, 0x73, 0x6C, 0x73, 0x6C, 0x53, + 0x6C, 0x53, 0x6C, 0x53, 0x6C, 0x53, 0x6C, 0x73, 0x74, 0x94, 0x6C, 0x73, + 0x6C, 0x53, 0x6C, 0x53, 0x6C, 0x53, 0x6C, 0x53, 0x6C, 0x73, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x93, 0x5B, 0xB0, 0x53, 0x2E, + 0x6B, 0xEB, 0x55, 0x45, 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, + 0x55, 0x26, 0x5D, 0x24, 0x34, 0xAE, 0x04, 0x1A, 0x04, 0x38, 0x04, 0x38, + 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, 0x00, 0xC5, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xA2, 0x73, 0xAE, 0x6C, 0x52, + 0x74, 0x94, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0xB4, 0x74, 0x94, + 0x7C, 0xD4, 0xB6, 0x19, 0xB6, 0x39, 0xB6, 0x39, 0xB6, 0x39, 0xB6, 0x39, + 0xB6, 0x19, 0x7C, 0xB4, 0xA5, 0xD8, 0xB6, 0x39, 0x7C, 0xD4, 0x74, 0x94, + 0x7C, 0xB4, 0xB6, 0x19, 0xA5, 0xB8, 0x74, 0x94, 0xAE, 0x19, 0xB6, 0x39, + 0xB6, 0x39, 0xB6, 0x39, 0xB6, 0x39, 0xB6, 0x39, 0x9D, 0x77, 0xAD, 0xF8, + 0xB6, 0x39, 0xB6, 0x39, 0xB6, 0x39, 0xB6, 0x39, 0xAE, 0x19, 0x7C, 0xD4, + 0xA5, 0xD8, 0xBE, 0x39, 0xB6, 0x39, 0xB6, 0x39, 0xB6, 0x39, 0x9D, 0xB7, + 0x74, 0x94, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x93, 0x5B, 0xB0, + 0x53, 0x2E, 0x6B, 0xEB, 0x55, 0x45, 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, + 0x55, 0x25, 0x55, 0x25, 0x5D, 0x25, 0x1C, 0x74, 0x04, 0x19, 0x04, 0x38, + 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, 0x04, 0x18, 0x04, 0x7A, 0x03, 0x53, + 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xA2, 0x73, 0xAE, + 0x6C, 0x52, 0x74, 0x94, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0xB4, + 0x74, 0x93, 0x84, 0xF5, 0xF7, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xF7, 0xDF, 0x84, 0xF5, 0xDF, 0x1C, 0xFF, 0xFF, 0xBE, 0x7A, + 0x6C, 0x53, 0x7C, 0xB4, 0xF7, 0xBF, 0xDF, 0x3D, 0x74, 0x93, 0xF7, 0xBE, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x7A, + 0xF7, 0xBE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0xBE, + 0x84, 0xF5, 0xDF, 0x3D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xAD, 0xF9, 0x6C, 0x73, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0x93, + 0x5B, 0xB0, 0x53, 0x2E, 0x6B, 0xEB, 0x55, 0x45, 0x55, 0x25, 0x55, 0x25, + 0x55, 0x25, 0x55, 0x25, 0x5D, 0x24, 0x4D, 0x09, 0x04, 0x38, 0x04, 0x38, + 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, 0x04, 0x18, 0x04, 0x7A, + 0x01, 0xEB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xA2, + 0x73, 0xAE, 0x6C, 0x52, 0x74, 0x94, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x7C, 0xB4, 0x74, 0x93, 0x84, 0xF5, 0xF7, 0xBE, 0xD6, 0xFC, 0x7C, 0xB4, + 0x7C, 0xD5, 0x7C, 0xD4, 0x7C, 0xD4, 0x74, 0xB4, 0xDF, 0x1C, 0xFF, 0xFF, + 0xFF, 0xFF, 0x95, 0x56, 0x74, 0x73, 0xEF, 0x9E, 0xD6, 0xFC, 0x6C, 0x73, + 0x8D, 0x15, 0x84, 0xF5, 0xCE, 0xBB, 0xFF, 0xDF, 0x95, 0x76, 0x84, 0xF5, + 0x85, 0x15, 0xFF, 0xFF, 0xD6, 0xFC, 0x7C, 0xB4, 0x7C, 0xD5, 0x7C, 0xD4, + 0x84, 0xD5, 0x74, 0x94, 0xDF, 0x1C, 0xEF, 0x9E, 0x84, 0xF5, 0x7C, 0xB4, + 0x95, 0x56, 0xFF, 0xDF, 0xDF, 0x3D, 0x74, 0x94, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0x93, 0x5B, 0xB0, 0x53, 0x2E, 0x6B, 0xEB, 0x55, 0x45, 0x55, 0x25, + 0x55, 0x25, 0x55, 0x25, 0x55, 0x26, 0x5D, 0x24, 0x2C, 0xAF, 0x04, 0x1A, + 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, 0x04, 0x39, + 0x04, 0x18, 0x00, 0xC4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x18, 0xA2, 0x73, 0xAE, 0x6C, 0x52, 0x74, 0x94, 0x7C, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x7C, 0xB4, 0x74, 0x93, 0x84, 0xF5, 0xF7, 0xBF, 0xDF, 0x3D, + 0x9D, 0x77, 0x9D, 0x97, 0xA5, 0xB7, 0x95, 0x56, 0x74, 0x93, 0xDF, 0x3D, + 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x3C, 0x74, 0x94, 0xEF, 0x9E, 0xDF, 0x1C, + 0x6C, 0x53, 0x74, 0xB4, 0x6C, 0x53, 0xC6, 0x7A, 0xFF, 0xDF, 0x84, 0xF5, + 0x6C, 0x53, 0x84, 0xD5, 0xFF, 0xFF, 0xE7, 0x3D, 0x9D, 0x77, 0x9D, 0x97, + 0xA5, 0xB7, 0x95, 0x56, 0x74, 0x93, 0xDF, 0x3D, 0xF7, 0xBE, 0xA5, 0xB7, + 0x9D, 0x77, 0xB6, 0x19, 0xFF, 0xFF, 0xD6, 0xDC, 0x74, 0x73, 0x7C, 0xB4, + 0x74, 0xB4, 0x74, 0x93, 0x5B, 0xB0, 0x53, 0x2E, 0x6B, 0xEB, 0x55, 0x45, + 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, 0x14, 0x55, + 0x04, 0x39, 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, 0x04, 0x18, + 0x04, 0x7A, 0x03, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x18, 0xA2, 0x73, 0xAE, 0x6C, 0x52, 0x74, 0x94, 0x7C, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0xB4, 0x74, 0x93, 0x84, 0xF5, 0xF7, 0x9E, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x3D, 0x6C, 0x73, + 0xE7, 0x5D, 0xEF, 0x7E, 0xB6, 0x39, 0xFF, 0xFF, 0xAD, 0xF8, 0xE7, 0x5D, + 0xDF, 0x1C, 0x6C, 0x73, 0x7C, 0xD4, 0x74, 0x73, 0xC6, 0x9A, 0xFF, 0xDF, + 0x8D, 0x15, 0x74, 0x73, 0x84, 0xF5, 0xF7, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x5D, 0x6C, 0x73, 0xDF, 0x3C, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x1C, 0x8D, 0x36, 0x74, 0x93, + 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0x93, 0x5B, 0xB0, 0x53, 0x2E, 0x6B, 0xEB, + 0x55, 0x45, 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, 0x5D, 0x24, 0x44, 0xE9, + 0x04, 0x39, 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, + 0x04, 0x18, 0x04, 0x7A, 0x01, 0xCA, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x18, 0xA2, 0x73, 0xAE, 0x6C, 0x52, 0x74, 0x94, + 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0xB4, 0x74, 0x93, 0x84, 0xF5, + 0xF7, 0xBF, 0xDF, 0x1C, 0x8D, 0x15, 0x8D, 0x36, 0x8D, 0x36, 0x84, 0xF5, + 0x74, 0x93, 0xE7, 0x5D, 0xF7, 0xBE, 0x74, 0x94, 0xE7, 0x5D, 0xFF, 0xDF, + 0xFF, 0xFF, 0xD6, 0xFC, 0x6C, 0x73, 0x7C, 0xB4, 0x6C, 0x73, 0xC6, 0x7A, + 0xFF, 0xDF, 0x8D, 0x15, 0x6C, 0x73, 0x84, 0xF5, 0xFF, 0xFF, 0xDF, 0x1C, + 0x8D, 0x15, 0x8D, 0x36, 0x8D, 0x36, 0x85, 0x15, 0x74, 0x93, 0xDF, 0x3D, + 0xF7, 0x9E, 0x95, 0x77, 0xD6, 0xFC, 0xFF, 0xFF, 0xAD, 0xD8, 0x6C, 0x53, + 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x93, 0x5B, 0xB0, 0x53, 0x2E, + 0x6B, 0xEB, 0x55, 0x45, 0x55, 0x25, 0x55, 0x25, 0x55, 0x26, 0x5D, 0x44, + 0x2C, 0xAF, 0x04, 0x1A, 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, + 0x04, 0x38, 0x04, 0x39, 0x03, 0xF7, 0x00, 0x83, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xA2, 0x73, 0xAE, 0x6C, 0x52, + 0x74, 0x94, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0xB4, 0x74, 0x93, + 0x84, 0xF5, 0xF7, 0xBE, 0xD6, 0xFC, 0x84, 0xF5, 0x8D, 0x15, 0x8D, 0x15, + 0x8D, 0x15, 0x7C, 0xB4, 0xDF, 0x3D, 0xF7, 0xBF, 0x74, 0x93, 0x95, 0x56, + 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0xDC, 0x6C, 0x73, 0x7C, 0xB4, 0x6C, 0x73, + 0xC6, 0x7A, 0xF7, 0xDF, 0x85, 0x15, 0x6C, 0x73, 0x84, 0xF5, 0xFF, 0xFF, + 0xD6, 0xFC, 0x84, 0xF5, 0x8D, 0x15, 0x8D, 0x15, 0x8D, 0x15, 0x7C, 0xB4, + 0xDF, 0x1C, 0xEF, 0x7E, 0x6C, 0x73, 0x74, 0xB4, 0xE7, 0x7D, 0xFF, 0xFF, + 0x95, 0x56, 0x6C, 0x73, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0x93, 0x5B, 0xB0, + 0x53, 0x2E, 0x6B, 0xEB, 0x55, 0x45, 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, + 0x55, 0x26, 0x14, 0x55, 0x04, 0x39, 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, + 0x04, 0x38, 0x04, 0x18, 0x04, 0x7A, 0x02, 0xF1, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xA2, 0x73, 0xAE, + 0x6C, 0x52, 0x74, 0x94, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0xB4, + 0x74, 0x93, 0x84, 0xF5, 0xFF, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0x8D, 0x15, 0xDF, 0x3D, 0xFF, 0xDF, 0x7C, 0xB4, + 0x6C, 0x73, 0xC6, 0x7A, 0xFF, 0xFF, 0xDF, 0x1C, 0x6C, 0x73, 0x7C, 0xB4, + 0x6C, 0x73, 0xCE, 0xBB, 0xFF, 0xFF, 0x8D, 0x15, 0x6C, 0x73, 0x84, 0xF5, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0x8D, 0x36, 0xDF, 0x3D, 0xF7, 0xBF, 0x7C, 0xD4, 0x6C, 0x73, 0x95, 0x56, + 0xFF, 0xFF, 0xEF, 0x9E, 0x7C, 0xD5, 0x74, 0x94, 0x7C, 0xB4, 0x74, 0x93, + 0x5B, 0xB0, 0x53, 0x2E, 0x6B, 0xEB, 0x55, 0x45, 0x55, 0x25, 0x55, 0x26, + 0x5D, 0x24, 0x44, 0xEA, 0x04, 0x39, 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, + 0x04, 0x38, 0x04, 0x38, 0x04, 0x18, 0x04, 0x7A, 0x01, 0x89, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xA2, + 0x73, 0xAE, 0x6C, 0x52, 0x74, 0x94, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0x94, 0x7C, 0xB4, 0xAD, 0xD8, 0xAD, 0xF8, 0xAD, 0xF8, + 0xAD, 0xF8, 0xAD, 0xF8, 0xAD, 0xF8, 0x7C, 0xD4, 0x9D, 0x97, 0xAD, 0xD8, + 0x7C, 0xB4, 0x74, 0x94, 0x7C, 0xD5, 0xB6, 0x19, 0x9D, 0x97, 0x74, 0x93, + 0x7C, 0xB4, 0x74, 0x93, 0x95, 0x76, 0xAD, 0xF8, 0x7C, 0xD4, 0x74, 0x94, + 0x7C, 0xD4, 0xAD, 0xF8, 0xAD, 0xF8, 0xAD, 0xF8, 0xAD, 0xF8, 0xAD, 0xF8, + 0xAD, 0xF8, 0x7C, 0xD4, 0x9D, 0x97, 0xAD, 0xD8, 0x74, 0x94, 0x7C, 0xB4, + 0x74, 0x94, 0x9D, 0x97, 0xB6, 0x39, 0x8D, 0x15, 0x74, 0x94, 0x7C, 0xB4, + 0x74, 0x93, 0x5B, 0xB0, 0x53, 0x2E, 0x6B, 0xEB, 0x55, 0x45, 0x55, 0x25, + 0x55, 0x25, 0x5D, 0x24, 0x24, 0x90, 0x04, 0x1A, 0x04, 0x38, 0x04, 0x38, + 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, 0x04, 0x59, 0x03, 0xD6, 0x00, 0x83, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x18, 0xA2, 0x73, 0xAE, 0x6C, 0x52, 0x74, 0x94, 0x7C, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x94, 0x6C, 0x73, 0x6C, 0x53, + 0x6C, 0x53, 0x6C, 0x53, 0x6C, 0x53, 0x6C, 0x53, 0x74, 0x94, 0x6C, 0x73, + 0x6C, 0x73, 0x74, 0xB4, 0x7C, 0xB4, 0x74, 0x94, 0x6C, 0x53, 0x74, 0x73, + 0x7C, 0xB4, 0x74, 0xB4, 0x7C, 0xB4, 0x74, 0x73, 0x6C, 0x73, 0x74, 0x94, + 0x7C, 0xB4, 0x74, 0x94, 0x6C, 0x73, 0x6C, 0x53, 0x6C, 0x53, 0x6C, 0x53, + 0x6C, 0x53, 0x6C, 0x73, 0x74, 0x94, 0x6C, 0x73, 0x6C, 0x73, 0x74, 0xB4, + 0x74, 0xB4, 0x7C, 0xB4, 0x6C, 0x73, 0x6C, 0x53, 0x74, 0x94, 0x7C, 0xB4, + 0x74, 0xB4, 0x74, 0x93, 0x5B, 0xB0, 0x53, 0x2E, 0x6B, 0xEB, 0x55, 0x45, + 0x55, 0x25, 0x5D, 0x25, 0x55, 0x26, 0x0C, 0x56, 0x04, 0x39, 0x04, 0x38, + 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, 0x04, 0x18, 0x04, 0x7A, 0x02, 0xB0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x18, 0xA2, 0x73, 0xAE, 0x6C, 0x52, 0x74, 0x94, 0x7C, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0xB4, + 0x7C, 0xB4, 0x7C, 0xB4, 0x7C, 0xB4, 0x7C, 0xB4, 0x7C, 0xB4, 0x74, 0xB4, + 0x7C, 0xB4, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0xB4, 0x7C, 0xB4, + 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0xB4, 0x7C, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0xB4, 0x7C, 0xB4, 0x7C, 0xB4, + 0x7C, 0xB4, 0x7C, 0xB4, 0x7C, 0xB4, 0x74, 0xB4, 0x7C, 0xB4, 0x7C, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0xB4, 0x7C, 0xB4, 0x7C, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x93, 0x5B, 0xB0, 0x53, 0x2E, 0x6B, 0xEB, + 0x55, 0x45, 0x55, 0x26, 0x5D, 0x24, 0x3C, 0xCB, 0x04, 0x39, 0x04, 0x38, + 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, 0x04, 0x59, + 0x01, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x18, 0xA2, 0x73, 0xAE, 0x6C, 0x52, 0x74, 0x94, + 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x93, 0x5B, 0xB0, 0x53, 0x2E, + 0x6B, 0xEB, 0x55, 0x45, 0x55, 0x25, 0x5D, 0x24, 0x24, 0x91, 0x04, 0x1A, + 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, 0x04, 0x59, + 0x03, 0xB6, 0x00, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xA2, 0x73, 0xAE, 0x6C, 0x52, + 0x74, 0x94, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x93, 0x5B, 0xB0, + 0x53, 0x2E, 0x6B, 0xEB, 0x55, 0x45, 0x5D, 0x25, 0x55, 0x07, 0x0C, 0x57, + 0x04, 0x39, 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, 0x04, 0x18, + 0x04, 0x7A, 0x02, 0x8F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xA2, 0x73, 0xAE, + 0x6C, 0x52, 0x74, 0x94, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x93, + 0x5B, 0xB0, 0x53, 0x2E, 0x6B, 0xEB, 0x55, 0x25, 0x5D, 0x24, 0x3C, 0xCC, + 0x04, 0x19, 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, + 0x04, 0x38, 0x04, 0x59, 0x01, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xA2, + 0x73, 0xAE, 0x6C, 0x52, 0x74, 0x94, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0x93, 0x5B, 0xB0, 0x53, 0x2E, 0x6B, 0xEB, 0x55, 0x45, 0x5D, 0x24, + 0x1C, 0x72, 0x04, 0x19, 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, + 0x04, 0x18, 0x04, 0x59, 0x03, 0x95, 0x00, 0x41, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x18, 0xA2, 0x73, 0xAE, 0x6C, 0x52, 0x74, 0x94, 0x7C, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0x93, 0x5B, 0xB0, 0x53, 0x2E, 0x6B, 0xEC, 0x5D, 0x44, + 0x4D, 0x07, 0x0C, 0x37, 0x04, 0x39, 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, + 0x04, 0x38, 0x04, 0x18, 0x04, 0x7A, 0x02, 0x4E, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x18, 0xA2, 0x73, 0xAE, 0x6C, 0x52, 0x74, 0x94, 0x7C, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x93, 0x5B, 0xB0, 0x53, 0x2E, 0x6B, 0xEC, + 0x5D, 0x43, 0x34, 0xCD, 0x04, 0x1A, 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, + 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, 0x04, 0x39, 0x01, 0x06, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x18, 0xA2, 0x6B, 0xAE, 0x6C, 0x32, 0x74, 0x93, + 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x93, 0x5B, 0xB0, 0x53, 0x2E, + 0x6B, 0xEB, 0x5D, 0x44, 0x1C, 0x73, 0x04, 0x19, 0x04, 0x38, 0x04, 0x38, + 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, 0x04, 0x59, 0x03, 0x74, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xA2, 0x73, 0xAE, 0x6C, 0x52, + 0x74, 0x94, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x93, 0x5B, 0xB0, + 0x53, 0x2E, 0x6B, 0xEB, 0x4D, 0x08, 0x04, 0x38, 0x04, 0x39, 0x04, 0x38, + 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, 0x04, 0x18, 0x04, 0x7A, 0x02, 0x2C, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xA2, 0x6B, 0x8E, + 0x6C, 0x32, 0x74, 0x73, 0x74, 0x94, 0x74, 0x93, 0x74, 0x93, 0x74, 0x93, + 0x74, 0x93, 0x74, 0x93, 0x74, 0x93, 0x74, 0x93, 0x74, 0x93, 0x74, 0x93, + 0x74, 0x93, 0x74, 0x93, 0x74, 0x93, 0x74, 0x93, 0x74, 0x93, 0x74, 0x93, + 0x74, 0x93, 0x74, 0x93, 0x74, 0x93, 0x74, 0x93, 0x74, 0x93, 0x74, 0x93, + 0x74, 0x93, 0x74, 0x93, 0x74, 0x93, 0x74, 0x93, 0x74, 0x93, 0x74, 0x93, + 0x74, 0x93, 0x74, 0x93, 0x74, 0x93, 0x74, 0x93, 0x74, 0x93, 0x74, 0x93, + 0x74, 0x93, 0x74, 0x93, 0x74, 0x93, 0x74, 0x93, 0x74, 0x93, 0x74, 0x93, + 0x74, 0x93, 0x74, 0x93, 0x74, 0x93, 0x74, 0x93, 0x74, 0x93, 0x74, 0x73, + 0x5B, 0xAF, 0x53, 0x0E, 0x74, 0x0A, 0x34, 0xCD, 0x04, 0x1A, 0x04, 0x38, + 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, + 0x00, 0xC4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x40, + 0x63, 0x2C, 0x63, 0xD0, 0x5B, 0xAF, 0x6C, 0x11, 0x6C, 0x31, 0x6C, 0x31, + 0x6C, 0x31, 0x6C, 0x31, 0x6C, 0x31, 0x6C, 0x31, 0x6C, 0x31, 0x6C, 0x31, + 0x6C, 0x31, 0x6C, 0x31, 0x6C, 0x31, 0x6C, 0x31, 0x6C, 0x31, 0x6C, 0x31, + 0x6C, 0x31, 0x6C, 0x31, 0x6C, 0x31, 0x6C, 0x31, 0x6C, 0x31, 0x6C, 0x31, + 0x6C, 0x31, 0x6C, 0x31, 0x6C, 0x31, 0x6C, 0x31, 0x6C, 0x31, 0x6C, 0x31, + 0x6C, 0x31, 0x6C, 0x31, 0x6C, 0x31, 0x6C, 0x31, 0x6C, 0x31, 0x6C, 0x31, + 0x6C, 0x31, 0x6C, 0x31, 0x6C, 0x31, 0x6C, 0x31, 0x6C, 0x31, 0x6C, 0x31, + 0x6C, 0x31, 0x6C, 0x31, 0x6C, 0x31, 0x6C, 0x31, 0x6C, 0x31, 0x6C, 0x31, + 0x6C, 0x31, 0x53, 0x6E, 0x5A, 0xEE, 0x6C, 0x4A, 0x14, 0x74, 0x04, 0x19, + 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, 0x04, 0x18, 0x04, 0x7A, + 0x03, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x31, 0x86, 0x73, 0xAF, 0x5B, 0x8F, 0x63, 0xD0, 0x6B, 0xD0, + 0x6B, 0xD0, 0x6B, 0xD0, 0x6B, 0xD0, 0x6B, 0xD0, 0x6B, 0xD0, 0x6B, 0xD0, + 0x6B, 0xD0, 0x6B, 0xD0, 0x6B, 0xD0, 0x6B, 0xD0, 0x6B, 0xD0, 0x6B, 0xD0, + 0x6B, 0xD0, 0x6B, 0xD0, 0x6B, 0xD0, 0x6B, 0xD0, 0x6B, 0xD0, 0x6B, 0xD0, + 0x6B, 0xD0, 0x6B, 0xD0, 0x63, 0xD0, 0x63, 0xD0, 0x63, 0xD0, 0x63, 0xD0, + 0x63, 0xD0, 0x63, 0xD0, 0x63, 0xD0, 0x63, 0xD0, 0x63, 0xB0, 0x63, 0xB0, + 0x63, 0xB0, 0x63, 0xB0, 0x63, 0xB0, 0x63, 0xB0, 0x63, 0xB0, 0x63, 0xB0, + 0x63, 0xB0, 0x63, 0xB0, 0x63, 0xB0, 0x63, 0xB0, 0x63, 0xB0, 0x63, 0xB0, + 0x63, 0xB0, 0x6B, 0xD0, 0x63, 0x4F, 0x73, 0x8C, 0x4C, 0xCA, 0x04, 0x38, + 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, 0x04, 0x18, + 0x04, 0x7A, 0x01, 0xEB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, 0x45, 0x5A, 0xAB, 0x63, 0x0C, + 0x63, 0x0C, 0x63, 0x0C, 0x63, 0x0C, 0x63, 0x0C, 0x63, 0x0C, 0x63, 0x0C, + 0x63, 0x0C, 0x63, 0x0C, 0x63, 0x0C, 0x63, 0x0C, 0x63, 0x0C, 0x63, 0x0C, + 0x63, 0x0C, 0x63, 0x0C, 0x63, 0x0C, 0x63, 0x0C, 0x63, 0x0C, 0x63, 0x0C, + 0x63, 0x0C, 0x63, 0x0C, 0x6B, 0x2C, 0x7B, 0x4D, 0x7B, 0x4D, 0x7B, 0x4D, + 0x7B, 0x4D, 0x7B, 0x4D, 0x7B, 0x4D, 0x7B, 0x4D, 0x7B, 0x4D, 0x7B, 0x8D, + 0x7B, 0xAD, 0x7B, 0xAD, 0x7B, 0xAD, 0x7B, 0xAD, 0x7B, 0xAD, 0x7B, 0xAD, + 0x7B, 0xAD, 0x7B, 0xAD, 0x7B, 0xAD, 0x6B, 0xAD, 0x6B, 0xAD, 0x6B, 0xAD, + 0x6B, 0xAD, 0x6B, 0xAD, 0x6B, 0xAD, 0x6C, 0x0B, 0x65, 0x05, 0x2C, 0xAE, + 0x04, 0x1A, 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, + 0x04, 0x39, 0x04, 0x18, 0x00, 0xC4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x08, 0x41, 0x08, 0x41, 0x08, 0x41, 0x08, 0x41, 0x08, 0x41, 0x08, 0x41, + 0x08, 0x41, 0x08, 0x41, 0x08, 0x41, 0x08, 0x41, 0x08, 0x41, 0x08, 0x41, + 0x08, 0x41, 0x08, 0x41, 0x08, 0x41, 0x08, 0x41, 0x08, 0x41, 0x08, 0x41, + 0x08, 0x41, 0x08, 0x41, 0x00, 0x41, 0x60, 0xE2, 0xD9, 0xE6, 0xC9, 0xC5, + 0xC9, 0xC5, 0xC9, 0xC5, 0xC9, 0xC5, 0xC9, 0xC5, 0xC9, 0xC5, 0xC9, 0xC5, + 0xDC, 0xA5, 0xDD, 0x85, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, + 0xDD, 0x65, 0xDD, 0x65, 0xE5, 0x65, 0xA5, 0x45, 0x55, 0x25, 0x5D, 0x25, + 0x5D, 0x25, 0x5D, 0x25, 0x5D, 0x25, 0x5D, 0x26, 0x55, 0x45, 0x55, 0x25, + 0x14, 0x55, 0x04, 0x19, 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, + 0x04, 0x18, 0x04, 0x7A, 0x03, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA1, 0x44, 0xD9, 0xC5, + 0xC9, 0xA5, 0xD1, 0xA5, 0xD1, 0xA5, 0xD1, 0xA5, 0xD1, 0xC5, 0xD1, 0x85, + 0xD2, 0x85, 0xDD, 0x85, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, + 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0x75, 0x25, 0x4D, 0x25, + 0x5D, 0x25, 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, 0x5D, 0x24, + 0x44, 0xEA, 0x04, 0x39, 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, + 0x04, 0x38, 0x04, 0x18, 0x04, 0x7A, 0x01, 0xAA, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x61, 0xD1, 0xC5, + 0xD1, 0xC5, 0xC9, 0xC5, 0xC9, 0xC5, 0xC9, 0xC5, 0xC9, 0xC5, 0xD1, 0xC5, + 0xC9, 0x85, 0xD3, 0xC5, 0xDD, 0xA5, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, + 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xE5, 0x65, 0xC5, 0x65, 0x55, 0x25, + 0x55, 0x25, 0x5D, 0x25, 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, 0x55, 0x26, + 0x5D, 0x24, 0x2C, 0xB0, 0x04, 0x1A, 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, + 0x04, 0x38, 0x04, 0x38, 0x04, 0x39, 0x03, 0xF7, 0x00, 0x62, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0xE2, + 0xD9, 0xE6, 0xC9, 0xA5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, + 0xD1, 0xA5, 0xD1, 0xC5, 0xDC, 0xE5, 0xDD, 0x85, 0xDD, 0x65, 0xDD, 0x65, + 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xE5, 0x65, 0x9D, 0x45, + 0x4D, 0x25, 0x5D, 0x25, 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, + 0x5D, 0x25, 0x55, 0x26, 0x14, 0x56, 0x04, 0x39, 0x04, 0x38, 0x04, 0x38, + 0x04, 0x38, 0x04, 0x38, 0x04, 0x18, 0x04, 0x7A, 0x02, 0xD1, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, + 0xA9, 0x64, 0xD9, 0xC5, 0xC9, 0xA5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, + 0xD1, 0xC5, 0xC9, 0x85, 0xD2, 0xA5, 0xDD, 0x85, 0xDD, 0x65, 0xDD, 0x65, + 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, + 0x6D, 0x25, 0x55, 0x25, 0x5D, 0x25, 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, + 0x55, 0x26, 0x5D, 0x24, 0x44, 0xEA, 0x04, 0x39, 0x04, 0x38, 0x04, 0x38, + 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, 0x04, 0x7A, 0x01, 0x88, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x30, 0x61, 0xD1, 0xC5, 0xD1, 0xC5, 0xC9, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, + 0xD1, 0xC5, 0xD1, 0xC5, 0xC9, 0x85, 0xD3, 0xE5, 0xDD, 0xA5, 0xDD, 0x65, + 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xE5, 0x65, + 0xBD, 0x65, 0x55, 0x25, 0x5D, 0x25, 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, + 0x55, 0x25, 0x55, 0x25, 0x5D, 0x24, 0x24, 0x91, 0x04, 0x1A, 0x04, 0x38, + 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, 0x04, 0x59, 0x03, 0xD6, + 0x00, 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x70, 0xE3, 0xD9, 0xE6, 0xC9, 0xA5, 0xD1, 0xC5, 0xD1, 0xC5, + 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xA5, 0xD1, 0xE5, 0xDD, 0x05, 0xDD, 0x85, + 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, + 0xE5, 0x65, 0x95, 0x45, 0x4D, 0x25, 0x5D, 0x25, 0x55, 0x25, 0x55, 0x25, + 0x55, 0x25, 0x55, 0x25, 0x5D, 0x25, 0x55, 0x06, 0x0C, 0x56, 0x04, 0x39, + 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, 0x04, 0x18, 0x04, 0x7A, + 0x02, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x08, 0x00, 0xB1, 0x84, 0xD1, 0xC5, 0xC9, 0xA5, 0xD1, 0xC5, + 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xC9, 0x85, 0xD2, 0xE5, 0xDD, 0x85, + 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, + 0xDD, 0x65, 0xDD, 0x65, 0x6D, 0x25, 0x55, 0x25, 0x5D, 0x25, 0x55, 0x25, + 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, 0x5D, 0x24, 0x3C, 0xCB, 0x04, 0x19, + 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, + 0x04, 0x59, 0x01, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 diff --git a/src/Examples/IoD16kSpectrumEmulator/ZXrainbow.h b/src/Examples/IoD16kSpectrumEmulator/ZXrainbow.h new file mode 100644 index 0000000..63b30d2 --- /dev/null +++ b/src/Examples/IoD16kSpectrumEmulator/ZXrainbow.h @@ -0,0 +1,496 @@ + + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x81, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x81, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x20, 0xB9, 0x85, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x40, 0x82, 0xD9, 0xC5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0x23, 0xD9, 0xE6, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x10, 0x20, 0xC1, 0xA5, 0xD1, 0xC5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0xA2, 0xD9, 0xC5, 0xC9, 0xA5, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x91, 0x44, 0xD9, 0xC6, 0xC9, 0xA5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x18, 0x40, 0xC1, 0xA5, 0xD1, 0xC5, 0xC9, 0xC5, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0xC2, + 0xD9, 0xE6, 0xC9, 0xA5, 0xD1, 0xC5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x99, 0x44, 0xD9, 0xC6, 0xC9, 0xA5, 0xD1, 0xC5, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x41, 0xC9, 0xA5, + 0xD1, 0xC5, 0xC9, 0xC5, 0xD1, 0xC5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x60, 0xC2, 0xD9, 0xE6, 0xC9, 0xA5, 0xD1, 0xC5, 0xD1, 0xC5, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA1, 0x64, 0xD9, 0xC5, + 0xC9, 0xA5, 0xD1, 0xC5, 0xD1, 0xC5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x28, 0x61, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0xE3, 0xD9, 0xE6, 0xC9, 0xA5, + 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, + 0xA9, 0x64, 0xD9, 0xC5, 0xC9, 0xA5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x38, 0x61, 0xD1, 0xC5, 0xD1, 0xC5, 0xC9, 0xC5, + 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x71, 0x03, + 0xD9, 0xE6, 0xC9, 0xA5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x08, 0x00, 0xB1, 0x84, 0xD1, 0xC5, 0xC9, 0xA5, 0xD1, 0xC5, + 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x81, 0xD9, 0xC5, + 0xC9, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x81, 0x03, 0xD9, 0xE6, 0xC9, 0xA5, 0xD1, 0xC5, 0xD1, 0xC5, + 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xA5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x20, 0xB9, 0x85, 0xD1, 0xC5, + 0xC9, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xC9, 0x85, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x48, 0xA2, 0xD9, 0xC5, 0xC9, 0xA5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, + 0xD1, 0xC5, 0xD1, 0xC5, 0xC9, 0x85, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x89, 0x23, 0xD9, 0xE6, 0xC9, 0xA5, + 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xA5, 0xD2, 0x25, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x20, + 0xC1, 0xA5, 0xD1, 0xC5, 0xC9, 0xA5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, + 0xD1, 0xC5, 0xC9, 0x85, 0xD3, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x50, 0xA2, 0xD9, 0xC6, 0xC9, 0xA5, 0xD1, 0xC5, + 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xA5, 0xDC, 0x85, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x91, 0x44, + 0xD9, 0xC5, 0xC9, 0xA5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, + 0xC9, 0x85, 0xD2, 0x65, 0xDD, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x18, 0x40, 0xC9, 0xA5, 0xD1, 0xC5, 0xC9, 0xC5, 0xD1, 0xC5, + 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xC9, 0x65, 0xD3, 0x85, 0xDD, 0xA5, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0xC2, 0xD9, 0xC6, + 0xC9, 0xA5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, + 0xD1, 0xA5, 0xDC, 0xA5, 0xDD, 0xA5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x99, 0x44, 0xD9, 0xC6, 0xC9, 0xA5, 0xD1, 0xC5, 0xD1, 0xC5, + 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0x85, 0xD2, 0x85, 0xDD, 0x65, 0xDD, 0x65, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x41, 0xC9, 0xA5, 0xD1, 0xC5, + 0xC9, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xC9, 0x85, + 0xD3, 0xA5, 0xDD, 0xA5, 0xDD, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x60, 0xC2, 0xD9, 0xE6, 0xC9, 0xA5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, + 0xD1, 0xC5, 0xD1, 0xA5, 0xD1, 0xC5, 0xDC, 0xC5, 0xDD, 0x85, 0xDD, 0x65, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA9, 0x64, 0xD9, 0xC5, 0xC9, 0xA5, + 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xC9, 0x85, 0xD2, 0xA5, + 0xDD, 0x85, 0xDD, 0x65, 0xDD, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x61, + 0xD1, 0xC5, 0xC9, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, + 0xD1, 0xC5, 0xC9, 0x85, 0xD3, 0xE5, 0xDD, 0xA5, 0xDD, 0x65, 0xDD, 0x65, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x70, 0xE3, 0xD9, 0xC6, 0xC9, 0xA5, 0xD1, 0xC5, + 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xA5, 0xD1, 0xE5, 0xDC, 0xE5, + 0xDD, 0x85, 0xDD, 0x65, 0xDD, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0xA9, 0x64, + 0xD9, 0xC5, 0xC9, 0xA5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, + 0xC9, 0x85, 0xD2, 0xC5, 0xDD, 0x85, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x30, 0x61, 0xD1, 0xC5, 0xD1, 0xC5, 0xC9, 0xC5, 0xD1, 0xC5, + 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xC9, 0x85, 0xDC, 0x05, 0xDD, 0xA5, + 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, 0x03, 0xD9, 0xE6, + 0xC9, 0xA5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xA5, + 0xD2, 0x05, 0xDD, 0x25, 0xDD, 0x85, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x08, 0x20, 0xB1, 0x85, 0xD1, 0xC5, 0xC9, 0xA5, 0xD1, 0xC5, 0xD1, 0xC5, + 0xD1, 0xC5, 0xD1, 0xC5, 0xC9, 0x85, 0xD3, 0x05, 0xDD, 0xA5, 0xDD, 0x65, + 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x81, 0xD9, 0xC5, 0xC9, 0xC5, + 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0x85, + 0xDC, 0x45, 0xDD, 0xA5, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x81, 0x23, 0xD9, 0xC6, 0xC9, 0xA5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, + 0xD1, 0xC5, 0xC9, 0xA5, 0xD2, 0x25, 0xDD, 0x25, 0xDD, 0x85, 0xDD, 0x65, + 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x10, 0x20, 0xB9, 0x85, 0xD1, 0xC5, 0xC9, 0xC5, + 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xC9, 0x85, 0xD3, 0x25, + 0xDD, 0xA5, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0xA2, + 0xD9, 0xC5, 0xC9, 0xA5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, + 0xD1, 0xC5, 0xC9, 0xA5, 0xDC, 0x65, 0xDD, 0xA5, 0xDD, 0x65, 0xDD, 0x65, + 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x89, 0x23, 0xD9, 0xC6, 0xC9, 0xA5, 0xD1, 0xC5, + 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xA5, 0xD2, 0x45, 0xDD, 0x45, + 0xDD, 0x85, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x20, 0xC1, 0xA5, + 0xD1, 0xC5, 0xC9, 0xA5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, + 0xC9, 0x85, 0xD3, 0x65, 0xDD, 0xA5, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, + 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x50, 0xA2, 0xD9, 0xE6, 0xC9, 0xA5, 0xD1, 0xC5, 0xD1, 0xC5, + 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xA5, 0xDC, 0x85, 0xDD, 0xA5, + 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x99, 0x44, 0xD9, 0xC6, + 0xC9, 0xA5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xC9, 0x85, + 0xD2, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, + 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x20, 0x41, 0xC9, 0xA5, 0xD1, 0xC5, 0xC9, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, + 0xD1, 0xC5, 0xD1, 0xC5, 0xC9, 0x85, 0xD3, 0x85, 0xDD, 0xA5, 0xDD, 0x65, + 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xE5, 0x65, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0xC2, 0xD9, 0xC6, 0xC9, 0xA5, + 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, + 0xDC, 0xA5, 0xDD, 0xA5, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, + 0xDD, 0x65, 0xDD, 0x65, 0xE5, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x99, 0x44, 0xD9, 0xC5, 0xC9, 0xA5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, + 0xD1, 0xC5, 0xC9, 0x85, 0xD2, 0x85, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, + 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x28, 0x41, 0xC9, 0xA5, 0xD1, 0xC5, 0xC9, 0xC5, + 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xC9, 0x85, 0xD3, 0xC5, + 0xDD, 0xA5, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, + 0xDD, 0x65, 0xE5, 0x65, 0xC5, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xC2, + 0xD9, 0xE6, 0xC9, 0xA5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, + 0xD1, 0xA5, 0xD1, 0xC5, 0xDC, 0xE5, 0xDD, 0x85, 0xDD, 0x65, 0xDD, 0x65, + 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xE5, 0x65, 0x9D, 0x45, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xA9, 0x64, 0xD9, 0xC5, 0xC9, 0xA5, 0xD1, 0xC5, + 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xC9, 0x85, 0xD2, 0xA5, 0xDD, 0x85, + 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, + 0xDD, 0x65, 0xDD, 0x65, 0x6D, 0x25, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x61, 0xD1, 0xC5, + 0xC9, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, + 0xC9, 0x85, 0xD3, 0xE5, 0xDD, 0xA5, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, + 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xE5, 0x65, 0xBD, 0x65, 0x55, 0x25, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x70, 0xE3, 0xD9, 0xE6, 0xC9, 0xA5, 0xD1, 0xC5, 0xD1, 0xC5, + 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xA5, 0xD1, 0xE5, 0xDD, 0x05, 0xDD, 0x85, + 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, + 0xE5, 0x65, 0x95, 0x45, 0x4D, 0x25, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0xB1, 0x64, 0xD9, 0xC5, + 0xC9, 0xA5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xC9, 0x85, + 0xD2, 0xE5, 0xDD, 0x85, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, + 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0x6D, 0x25, 0x55, 0x25, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x38, 0x81, 0xD1, 0xC5, 0xC9, 0xC5, 0xC9, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, + 0xD1, 0xC5, 0xD1, 0xC5, 0xC9, 0x85, 0xDC, 0x05, 0xDD, 0xA5, 0xDD, 0x65, + 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xE5, 0x65, + 0xBD, 0x45, 0x55, 0x25, 0x5D, 0x25, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, 0x03, 0xD9, 0xE6, 0xC9, 0xA5, + 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xA5, 0xD2, 0x05, + 0xDD, 0x25, 0xDD, 0x85, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, + 0xDD, 0x65, 0xDD, 0x65, 0xE5, 0x65, 0x8D, 0x45, 0x4D, 0x25, 0x5D, 0x25, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, + 0xB9, 0x85, 0xD1, 0xC5, 0xC9, 0xA5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, + 0xD1, 0xC5, 0xC9, 0x85, 0xD3, 0x05, 0xDD, 0xA5, 0xDD, 0x65, 0xDD, 0x65, + 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xD5, 0x65, + 0x65, 0x25, 0x55, 0x25, 0x5D, 0x25, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x40, 0x81, 0xD9, 0xC5, 0xC9, 0xA5, 0xD1, 0xC5, + 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0x85, 0xDC, 0x45, + 0xDD, 0xA5, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, + 0xDD, 0x65, 0xE5, 0x65, 0xB5, 0x45, 0x55, 0x25, 0x5D, 0x25, 0x55, 0x25, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x89, 0x23, + 0xD9, 0xE6, 0xC9, 0xA5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, + 0xD1, 0xA5, 0xD2, 0x25, 0xDD, 0x45, 0xDD, 0x85, 0xDD, 0x65, 0xDD, 0x65, + 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xE5, 0x65, 0x85, 0x45, + 0x4D, 0x25, 0x5D, 0x25, 0x55, 0x25, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x10, 0x20, 0xB9, 0x85, 0xD1, 0xC5, 0xC9, 0xC5, 0xD1, 0xC5, + 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xC9, 0x85, 0xD3, 0x45, 0xDD, 0xA5, + 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, + 0xDD, 0x65, 0xD5, 0x65, 0x65, 0x25, 0x55, 0x25, 0x5D, 0x25, 0x55, 0x25, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0xA2, 0xD9, 0xC6, + 0xC9, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, + 0xC9, 0xA5, 0xDC, 0x65, 0xDD, 0xA5, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, + 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xE5, 0x65, 0xAD, 0x45, 0x4D, 0x25, + 0x5D, 0x25, 0x55, 0x25, 0x55, 0x25, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x89, 0x23, 0xD9, 0xE6, 0xC9, 0xA5, 0xD1, 0xC5, 0xD1, 0xC5, + 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xA5, 0xD2, 0x45, 0xDD, 0x45, 0xDD, 0x65, + 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, + 0xE5, 0x65, 0x7D, 0x45, 0x4D, 0x25, 0x5D, 0x25, 0x55, 0x25, 0x55, 0x25, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x20, 0xC1, 0xA5, 0xD1, 0xC5, + 0xC9, 0xA5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xC9, 0x65, + 0xD3, 0x65, 0xDD, 0xA5, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, + 0xDD, 0x65, 0xDD, 0x65, 0xE5, 0x65, 0xCD, 0x65, 0x5D, 0x25, 0x55, 0x25, + 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x50, 0xA2, 0xD9, 0xE6, 0xC9, 0xA5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, + 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xA5, 0xDC, 0xA5, 0xDD, 0xA5, 0xDD, 0x65, + 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xE5, 0x65, + 0xA5, 0x45, 0x4D, 0x25, 0x5D, 0x25, 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x99, 0x44, 0xD9, 0xC5, 0xC9, 0xA5, + 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xC9, 0x85, 0xD2, 0x65, + 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, + 0xDD, 0x65, 0xDD, 0x65, 0xE5, 0x65, 0x7D, 0x45, 0x55, 0x25, 0x5D, 0x25, + 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x41, + 0xC9, 0xA5, 0xD1, 0xC5, 0xC9, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, + 0xD1, 0xC5, 0xC9, 0x85, 0xD3, 0xA5, 0xDD, 0xA5, 0xDD, 0x65, 0xDD, 0x65, + 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xE5, 0x65, 0xC5, 0x65, + 0x5D, 0x25, 0x55, 0x25, 0x5D, 0x25, 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x60, 0xC2, 0xD9, 0xE6, 0xC9, 0xA5, 0xD1, 0xC5, + 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xA5, 0xD1, 0xC5, 0xDC, 0xC5, + 0xDD, 0x85, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, + 0xDD, 0x65, 0xE5, 0x65, 0x9D, 0x45, 0x4D, 0x25, 0x5D, 0x25, 0x55, 0x25, + 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA1, 0x64, + 0xD9, 0xC5, 0xC9, 0xA5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, + 0xC9, 0x85, 0xD2, 0x85, 0xDD, 0x85, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, + 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0x75, 0x25, + 0x55, 0x25, 0x5D, 0x25, 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x28, 0x61, 0xC9, 0xC5, 0xD1, 0xC5, 0xC9, 0xC5, 0xD1, 0xC5, + 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xC9, 0x85, 0xD3, 0xC5, 0xDD, 0xA5, + 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, + 0xE5, 0x65, 0xC5, 0x65, 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, + 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0xE2, 0xD9, 0xE6, + 0xC9, 0xA5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xA5, + 0xD1, 0xC5, 0xDC, 0xE5, 0xDD, 0x85, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, + 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xE5, 0x65, 0x95, 0x45, 0x4D, 0x25, + 0x5D, 0x25, 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, 0x5D, 0x25, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xA9, 0x64, 0xD9, 0xC5, 0xC9, 0xA5, 0xD1, 0xC5, 0xD1, 0xC5, + 0xD1, 0xC5, 0xD1, 0xC5, 0xC9, 0x85, 0xD2, 0xC5, 0xDD, 0x85, 0xDD, 0x65, + 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, + 0xDD, 0x65, 0x6D, 0x25, 0x55, 0x25, 0x5D, 0x25, 0x55, 0x25, 0x55, 0x25, + 0x55, 0x25, 0x55, 0x25, 0x5D, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x61, 0xD1, 0xC5, 0xC9, 0xC5, + 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xC9, 0x85, + 0xD4, 0x05, 0xDD, 0xA5, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, + 0xDD, 0x65, 0xDD, 0x65, 0xE5, 0x65, 0xBD, 0x65, 0x55, 0x25, 0x55, 0x25, + 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, 0x5D, 0x24, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x71, 0x03, 0xD9, 0xE6, 0xC9, 0xA5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, + 0xD1, 0xC5, 0xD1, 0xA5, 0xD1, 0xE5, 0xDD, 0x05, 0xDD, 0x85, 0xDD, 0x65, + 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xE5, 0x65, + 0x95, 0x45, 0x4D, 0x25, 0x5D, 0x25, 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, + 0x55, 0x25, 0x5D, 0x25, 0x55, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x08, 0x20, 0xB1, 0x84, 0xD9, 0xC5, 0xC9, 0xA5, + 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xC9, 0x85, 0xD2, 0xE5, + 0xDD, 0x85, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, + 0xDD, 0x65, 0xDD, 0x65, 0xD5, 0x65, 0x6D, 0x25, 0x55, 0x25, 0x5D, 0x25, + 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, 0x55, 0x26, 0x5D, 0x24, 0x3C, 0xCB, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x81, + 0xD1, 0xC5, 0xC9, 0xC5, 0xC9, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, + 0xD1, 0xC5, 0xC9, 0x85, 0xDC, 0x25, 0xDD, 0xA5, 0xDD, 0x65, 0xDD, 0x65, + 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xE5, 0x65, 0xB5, 0x45, + 0x55, 0x25, 0x5D, 0x25, 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, + 0x55, 0x25, 0x5D, 0x24, 0x24, 0x92, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x79, 0x03, 0xD9, 0xE6, 0xC9, 0xA5, 0xD1, 0xC5, + 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xA5, 0xD2, 0x05, 0xDD, 0x25, + 0xDD, 0x85, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, + 0xDD, 0x65, 0xE5, 0x65, 0x8D, 0x45, 0x4D, 0x25, 0x5D, 0x25, 0x55, 0x25, + 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, 0x5D, 0x25, 0x4D, 0x07, 0x0C, 0x37, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x20, 0xB9, 0x85, + 0xD1, 0xC5, 0xC9, 0xA5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, + 0xC9, 0x85, 0xD3, 0x05, 0xDD, 0xA5, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, + 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xD5, 0x65, 0x65, 0x25, + 0x55, 0x25, 0x5D, 0x25, 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, 0x55, 0x26, + 0x5D, 0x24, 0x3C, 0xCC, 0x04, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x40, 0x81, 0xD9, 0xC5, 0xC9, 0xA5, 0xD1, 0xC5, 0xD1, 0xC5, + 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0x85, 0xDC, 0x45, 0xDD, 0xA5, + 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, + 0xE5, 0x65, 0xB5, 0x45, 0x55, 0x25, 0x5D, 0x25, 0x55, 0x25, 0x55, 0x25, + 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, 0x5D, 0x24, 0x1C, 0x73, 0x04, 0x19, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x89, 0x23, 0xD9, 0xE5, + 0xC9, 0xA5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xA5, + 0xD2, 0x25, 0xDD, 0x45, 0xDD, 0x85, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, + 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xE5, 0x65, 0x85, 0x45, 0x4D, 0x25, + 0x5D, 0x25, 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, 0x5D, 0x25, + 0x4D, 0x08, 0x0C, 0x38, 0x04, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x18, 0x20, 0xC1, 0xA5, 0xD1, 0xC5, 0xC9, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, + 0xD1, 0xC5, 0xD1, 0xC5, 0xC9, 0x85, 0xD3, 0x45, 0xDD, 0xA5, 0xDD, 0x65, + 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xE5, 0x65, + 0xD5, 0x65, 0x65, 0x25, 0x55, 0x25, 0x5D, 0x25, 0x55, 0x25, 0x55, 0x25, + 0x55, 0x25, 0x55, 0x26, 0x5D, 0x44, 0x34, 0xAD, 0x04, 0x1A, 0x04, 0x38, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0xA2, 0xD9, 0xC5, 0xC9, 0xA5, + 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xA5, + 0xDC, 0x85, 0xDD, 0xA5, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, + 0xDD, 0x65, 0xDD, 0x65, 0xE5, 0x65, 0xAD, 0x45, 0x4D, 0x25, 0x5D, 0x25, + 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, 0x5D, 0x25, + 0x1C, 0x74, 0x04, 0x19, 0x04, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x91, 0x24, 0xD9, 0xC6, 0xC9, 0xA5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, + 0xD1, 0xC5, 0xD1, 0xA5, 0xD2, 0x45, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, + 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xE5, 0x65, + 0x7D, 0x45, 0x4D, 0x25, 0x5D, 0x25, 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, + 0x55, 0x25, 0x5D, 0x24, 0x4D, 0x08, 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, + 0x00, 0x00, 0x00, 0x00, 0x18, 0x40, 0xC9, 0xA5, 0xD1, 0xC5, 0xC9, 0xC5, + 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xD1, 0xC5, 0xC9, 0x65, 0xD3, 0x65, + 0xDD, 0xA5, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, + 0xDD, 0x65, 0xE5, 0x65, 0xCD, 0x65, 0x5D, 0x25, 0x55, 0x25, 0x55, 0x25, + 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, 0x55, 0x26, 0x5D, 0x44, 0x34, 0xAE, + 0x04, 0x1A, 0x04, 0x38, 0x04, 0x38, 0x00, 0x00, 0x00, 0x00, 0x50, 0xC2, + 0xD9, 0xE6, 0xC9, 0xC5, 0xC9, 0xC5, 0xC9, 0xC5, 0xC9, 0xC5, 0xC9, 0xC5, + 0xC9, 0xC5, 0xC9, 0xA5, 0xD4, 0xA5, 0xDD, 0x85, 0xDD, 0x65, 0xDD, 0x65, + 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xE5, 0x65, 0xA5, 0x45, + 0x4D, 0x25, 0x5D, 0x25, 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, + 0x55, 0x25, 0x55, 0x25, 0x14, 0x74, 0x04, 0x19, 0x04, 0x38, 0x04, 0x38, + 0x00, 0x00, 0x00, 0x00, 0xA1, 0x23, 0xE1, 0xC5, 0xD1, 0xA5, 0xD9, 0xA5, + 0xD9, 0xA5, 0xD9, 0xA5, 0xD9, 0xA5, 0xD1, 0x65, 0xDA, 0x85, 0xE5, 0xA5, + 0xE5, 0xA5, 0xE5, 0x85, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, + 0xDD, 0x65, 0xDD, 0x65, 0x75, 0x25, 0x55, 0x25, 0x5D, 0x25, 0x55, 0x25, + 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, 0x5D, 0x24, 0x44, 0xE9, 0x04, 0x38, + 0x04, 0x38, 0x04, 0x38, 0x04, 0x38, 0x29, 0x65, 0x39, 0x65, 0xA2, 0x48, + 0xAA, 0x68, 0xAA, 0x48, 0xAA, 0x48, 0xAA, 0x48, 0xAA, 0x48, 0xAA, 0x68, + 0xAA, 0x28, 0xAB, 0x48, 0xB4, 0xA8, 0xB4, 0x88, 0xCD, 0x07, 0xE5, 0x85, + 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xE5, 0x65, 0xC5, 0x65, 0x5D, 0x25, + 0x55, 0x25, 0x5D, 0x25, 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, 0x55, 0x25, + 0x5D, 0x24, 0x2C, 0xAF, 0x04, 0x1A, 0x04, 0x38, 0x04, 0x38, 0x04, 0x38 diff --git a/src/Examples/IoD16kSpectrumEmulator/ZXx.h b/src/Examples/IoD16kSpectrumEmulator/ZXx.h new file mode 100644 index 0000000..69dda5a --- /dev/null +++ b/src/Examples/IoD16kSpectrumEmulator/ZXx.h @@ -0,0 +1,407 @@ + + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x08, 0x80, 0x08, 0x80, 0x08, 0x80, + 0x08, 0x80, 0x00, 0x40, 0x00, 0x60, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x08, 0x60, 0x00, 0x20, 0x00, 0x40, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x08, 0x41, 0x29, 0x24, 0x31, 0x65, 0x31, 0x65, 0x31, 0x65, 0x31, 0x65, + 0x31, 0x65, 0x31, 0x65, 0x31, 0x65, 0x31, 0x65, 0x31, 0x65, 0x31, 0x65, + 0x31, 0x65, 0x31, 0x65, 0x31, 0x65, 0x31, 0x65, 0x31, 0x65, 0x31, 0x65, + 0x31, 0x65, 0x31, 0x65, 0x31, 0x65, 0x31, 0x65, 0x31, 0x65, 0x31, 0x65, + 0x31, 0x65, 0x31, 0x65, 0x31, 0x65, 0x31, 0x65, 0x31, 0x65, 0x31, 0x65, + 0x31, 0x65, 0x31, 0x65, 0x31, 0x65, 0x31, 0x65, 0x31, 0x65, 0x31, 0x65, + 0x31, 0x65, 0x31, 0x65, 0x31, 0x65, 0x31, 0x65, 0x31, 0x65, 0x31, 0x65, + 0x31, 0x65, 0x31, 0x65, 0x31, 0x65, 0x31, 0x65, 0x31, 0x65, 0x29, 0x45, + 0x10, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xC3, 0x6B, 0x4D, 0x8C, 0xF4, + 0x8C, 0xF4, 0x8C, 0xF4, 0x8C, 0xF4, 0x8C, 0xF4, 0x8C, 0xF4, 0x8C, 0xF4, + 0x8C, 0xF4, 0x8C, 0xF4, 0x8C, 0xF4, 0x8C, 0xF4, 0x8C, 0xF4, 0x8C, 0xF4, + 0x8C, 0xF4, 0x8C, 0xF4, 0x8C, 0xF4, 0x8C, 0xF4, 0x8C, 0xF4, 0x8C, 0xF4, + 0x8C, 0xF4, 0x8C, 0xF4, 0x8C, 0xF4, 0x8C, 0xF4, 0x8C, 0xF4, 0x8C, 0xF4, + 0x8C, 0xF4, 0x8C, 0xF4, 0x8C, 0xF4, 0x8C, 0xF4, 0x8C, 0xF4, 0x8C, 0xF4, + 0x8C, 0xF4, 0x8C, 0xF4, 0x8C, 0xF4, 0x8C, 0xF4, 0x8C, 0xF4, 0x8C, 0xF4, + 0x8C, 0xF4, 0x8C, 0xF4, 0x8C, 0xF4, 0x8C, 0xF4, 0x8C, 0xF4, 0x8C, 0xF4, + 0x8C, 0xF4, 0x8C, 0xF4, 0x8C, 0xF4, 0x84, 0x72, 0x73, 0x8E, 0x29, 0x45, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x08, 0x20, 0x63, 0x0C, 0x95, 0x56, 0xA6, 0x3A, 0x9D, 0xD9, 0x95, 0xD8, + 0x95, 0xD8, 0x95, 0xD8, 0x95, 0xD8, 0x95, 0xD8, 0x95, 0xD8, 0x95, 0xD8, + 0x95, 0xD8, 0x95, 0xD8, 0x95, 0xD8, 0x95, 0xD8, 0x95, 0xD8, 0x95, 0xD8, + 0x95, 0xD8, 0x95, 0xD8, 0x95, 0xD8, 0x95, 0xD8, 0x95, 0xD8, 0x95, 0xD8, + 0x95, 0xD8, 0x95, 0xD8, 0x95, 0xD8, 0x95, 0xD8, 0x95, 0xD8, 0x95, 0xD8, + 0x95, 0xD8, 0x95, 0xD8, 0x95, 0xD8, 0x95, 0xD8, 0x95, 0xD8, 0x95, 0xD8, + 0x95, 0xD8, 0x95, 0xD8, 0x95, 0xD8, 0x95, 0xD8, 0x95, 0xD8, 0x95, 0xD8, + 0x95, 0xD8, 0x95, 0xD8, 0x95, 0xD8, 0x95, 0xD8, 0x95, 0xD8, 0x95, 0xD8, + 0x95, 0xD8, 0x7C, 0xF5, 0x6C, 0x11, 0x73, 0x8E, 0x18, 0xA2, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xC3, 0x73, 0xF0, + 0x74, 0xB4, 0x8D, 0x57, 0x8D, 0x77, 0x8D, 0x56, 0x8D, 0x56, 0x8D, 0x56, + 0x8D, 0x56, 0x8D, 0x56, 0x8D, 0x56, 0x8D, 0x56, 0x8D, 0x56, 0x8D, 0x56, + 0x8D, 0x56, 0x8D, 0x56, 0x8D, 0x56, 0x8D, 0x56, 0x8D, 0x56, 0x8D, 0x56, + 0x8D, 0x56, 0x8D, 0x56, 0x8D, 0x56, 0x8D, 0x56, 0x8D, 0x56, 0x8D, 0x56, + 0x8D, 0x56, 0x8D, 0x56, 0x8D, 0x56, 0x8D, 0x56, 0x8D, 0x56, 0x8D, 0x56, + 0x8D, 0x56, 0x8D, 0x56, 0x8D, 0x56, 0x8D, 0x56, 0x8D, 0x56, 0x8D, 0x56, + 0x8D, 0x56, 0x8D, 0x56, 0x8D, 0x56, 0x8D, 0x56, 0x8D, 0x56, 0x8D, 0x56, + 0x8D, 0x56, 0x8D, 0x56, 0x8D, 0x56, 0x8D, 0x56, 0x8D, 0x76, 0x7C, 0xB4, + 0x5B, 0xAF, 0x6B, 0xAF, 0x39, 0xA6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x21, 0x04, 0x74, 0x10, 0x6C, 0x32, 0x7C, 0xB4, + 0x7C, 0xB4, 0x7C, 0xB4, 0x7C, 0xB4, 0x7C, 0xB4, 0x7C, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0xB4, 0x7C, 0xB4, + 0x7C, 0xB4, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x73, 0x53, 0x6F, 0x63, 0x8E, + 0x41, 0xE7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x21, 0x04, 0x74, 0x10, 0x6C, 0x52, 0x7C, 0xB4, 0x7C, 0xB4, 0x74, 0x73, + 0x74, 0x73, 0x74, 0x73, 0x74, 0x93, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x7C, 0xB4, 0x74, 0x93, 0x74, 0x73, 0x74, 0x73, 0x74, 0x93, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0x73, 0x53, 0x6F, 0x63, 0x8E, 0x41, 0xE7, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x04, 0x74, 0x10, + 0x6C, 0x52, 0x7C, 0xB4, 0x7C, 0xB4, 0x8D, 0x36, 0x8D, 0x36, 0x95, 0x36, + 0x84, 0xF5, 0x74, 0x94, 0x7C, 0xB4, 0x74, 0xB4, 0x7C, 0xB4, 0x74, 0x94, + 0x8D, 0x15, 0x8D, 0x36, 0x8D, 0x36, 0x8D, 0x36, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0x94, 0x7C, 0x94, 0x7C, 0x94, 0x7C, 0x94, + 0x7C, 0x94, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x73, + 0x53, 0x6F, 0x63, 0x8E, 0x41, 0xE7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x21, 0x04, 0x74, 0x10, 0x6C, 0x32, 0x7C, 0xB4, + 0x74, 0x93, 0xCE, 0xDB, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0xBE, 0x84, 0xF5, + 0x74, 0x93, 0x7C, 0xB4, 0x74, 0x73, 0x8D, 0x36, 0xF7, 0xDF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xBE, 0x7A, 0x6C, 0x73, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0x94, + 0x74, 0xB4, 0x74, 0xF5, 0x6C, 0xF5, 0x74, 0xF5, 0x74, 0xB4, 0x7C, 0x94, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x73, 0x53, 0x6F, 0x63, 0x8E, + 0x41, 0xE7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x21, 0x04, 0x74, 0x10, 0x6C, 0x32, 0x7C, 0xB4, 0x74, 0x94, 0x84, 0xF5, + 0xEF, 0x9E, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0xDB, 0x74, 0x73, 0x7C, 0xB4, + 0x74, 0x94, 0xDF, 0x1C, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x5D, 0x74, 0xB4, + 0x74, 0x94, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0x94, 0x74, 0xD4, 0x84, 0x52, 0xA3, 0x0C, + 0xAA, 0xAB, 0xA3, 0x2D, 0x7C, 0x73, 0x74, 0xD4, 0x7C, 0x94, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0x73, 0x53, 0x6F, 0x63, 0x8E, 0x41, 0xE7, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x04, 0x74, 0x10, + 0x6C, 0x32, 0x7C, 0xB4, 0x7C, 0xB4, 0x6C, 0x73, 0xA5, 0xD8, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xAD, 0xD8, 0x64, 0x32, 0xB6, 0x19, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0x95, 0x56, 0x6C, 0x73, 0x7C, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0x94, + 0x74, 0xB4, 0x84, 0x11, 0xC1, 0xC6, 0xBA, 0x28, 0xA3, 0x0C, 0xC2, 0x07, + 0xC1, 0xE7, 0x84, 0x52, 0x74, 0xB4, 0x7C, 0x94, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x73, + 0x53, 0x6F, 0x63, 0x8E, 0x41, 0xE7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x21, 0x04, 0x74, 0x10, 0x6C, 0x32, 0x7C, 0xB4, + 0x7C, 0xB4, 0x7C, 0xB4, 0x74, 0x73, 0xD6, 0xDB, 0xFF, 0xFF, 0xFF, 0xFF, + 0xEF, 0x7E, 0x9D, 0x77, 0xF7, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0x7A, + 0x6C, 0x73, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0x94, 0x74, 0xD5, 0xB2, 0x8A, + 0xC2, 0x07, 0x74, 0xD4, 0x6C, 0xF6, 0x7C, 0x94, 0xC1, 0xE6, 0xA3, 0x2D, + 0x74, 0xF5, 0x7C, 0x94, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x73, 0x53, 0x6F, 0x63, 0x8E, + 0x41, 0xE7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x21, 0x04, 0x74, 0x10, 0x6C, 0x32, 0x7C, 0xB4, 0x7C, 0xB4, 0x7C, 0xB4, + 0x74, 0x93, 0x84, 0xF5, 0xF7, 0xBE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x7D, 0x7C, 0xB4, 0x74, 0x94, 0x7C, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x7C, 0x94, 0x74, 0xD5, 0xB2, 0x49, 0xB2, 0x8A, 0x74, 0xF5, + 0x7C, 0x93, 0x74, 0xB4, 0x84, 0x52, 0x7C, 0x73, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0x73, 0x53, 0x6F, 0x63, 0x8E, 0x41, 0xE7, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x04, 0x74, 0x10, + 0x6C, 0x32, 0x7C, 0xB4, 0x7C, 0xB4, 0x74, 0xB4, 0x7C, 0xB4, 0x6C, 0x73, + 0xAD, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0x9D, 0x77, 0x6C, 0x73, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0x94, + 0x74, 0xF5, 0xAA, 0xCB, 0xC2, 0x07, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x73, + 0x53, 0x6F, 0x63, 0x8E, 0x41, 0xE7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x21, 0x04, 0x74, 0x10, 0x6C, 0x32, 0x7C, 0xB4, + 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0xB4, 0x74, 0x93, 0xD6, 0xFC, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x7A, 0x6C, 0x73, 0x7C, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0x94, 0x74, 0xD5, 0x9B, 0x6E, 0xC9, 0xA6, + 0xC9, 0xC6, 0xBA, 0x28, 0xC2, 0x07, 0x84, 0x11, 0x74, 0xB4, 0x7C, 0x94, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x73, 0x53, 0x6F, 0x63, 0x8E, + 0x41, 0xE7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x21, 0x04, 0x74, 0x10, 0x6C, 0x32, 0x7C, 0xB4, 0x7C, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x7C, 0xB4, 0x74, 0x93, 0xD6, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xC6, 0x7A, 0x6C, 0x73, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x7C, 0x94, 0x74, 0xB4, 0x84, 0x52, 0x93, 0x8E, 0xC9, 0xC6, 0xAA, 0xEB, + 0x8B, 0xF0, 0x7C, 0x73, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0x73, 0x53, 0x6F, 0x63, 0x8E, 0x41, 0xE7, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x04, 0x74, 0x10, + 0x6C, 0x32, 0x7C, 0xB4, 0x7C, 0xB4, 0x74, 0xB4, 0x7C, 0xB4, 0x6C, 0x73, + 0xAD, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0x9D, 0x97, 0x6C, 0x73, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0x94, + 0x74, 0xD5, 0x7C, 0x94, 0xC9, 0xA6, 0x93, 0xAF, 0x6D, 0x16, 0x7C, 0x94, + 0x7C, 0x94, 0x7C, 0x94, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x73, + 0x53, 0x6F, 0x63, 0x8E, 0x41, 0xE7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x21, 0x04, 0x74, 0x10, 0x6C, 0x32, 0x7C, 0xB4, + 0x7C, 0xB4, 0x7C, 0xB4, 0x74, 0x93, 0x85, 0x15, 0xF7, 0xBF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x7E, 0x7C, 0xD4, + 0x74, 0x94, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0x94, 0x6C, 0xF5, 0x93, 0x8F, + 0xBA, 0x28, 0x74, 0xD4, 0x74, 0xD5, 0x74, 0xD5, 0x74, 0xD5, 0x74, 0xD5, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x73, 0x53, 0x6F, 0x63, 0x8E, + 0x41, 0xE7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x21, 0x04, 0x74, 0x10, 0x6C, 0x32, 0x7C, 0xB4, 0x7C, 0xB4, 0x7C, 0xB4, + 0x74, 0x73, 0xD6, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x7E, 0x9D, 0x97, + 0xF7, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x7A, 0x6C, 0x73, 0x7C, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x7C, 0x94, 0x74, 0xD4, 0x8B, 0xF0, 0xC9, 0xA6, 0xBA, 0x48, 0xA3, 0x0C, + 0x9B, 0x4D, 0x8B, 0xF0, 0x8B, 0xD0, 0x93, 0xAF, 0x74, 0xB4, 0x7C, 0x94, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0x73, 0x53, 0x6F, 0x63, 0x8E, 0x41, 0xE7, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x04, 0x74, 0x10, + 0x6C, 0x32, 0x7C, 0xB4, 0x7C, 0xD4, 0x6C, 0x73, 0xAD, 0xD8, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0xD8, 0x64, 0x32, 0xBE, 0x5A, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0x9D, 0x77, 0x6C, 0x73, 0x7C, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0x94, 0x74, 0xD5, + 0x9B, 0x6E, 0xBA, 0x28, 0xAA, 0xEB, 0xAA, 0xAB, 0xBA, 0x49, 0xC1, 0xE7, + 0xC9, 0xA6, 0xAA, 0xCB, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x73, + 0x53, 0x6F, 0x63, 0x8E, 0x41, 0xE7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x21, 0x04, 0x74, 0x10, 0x6C, 0x32, 0x7C, 0xB4, + 0x74, 0x93, 0x84, 0xF5, 0xF7, 0xBE, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0xDB, + 0x74, 0x73, 0x7C, 0xB4, 0x74, 0xB4, 0xE7, 0x3D, 0xFF, 0xFF, 0xFF, 0xFF, + 0xE7, 0x5D, 0x7C, 0xB4, 0x74, 0x94, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xD5, 0x6C, 0xF5, 0x74, 0xB4, 0x7C, 0x73, 0x7C, 0x73, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x73, 0x53, 0x6F, 0x63, 0x8E, + 0x41, 0xE7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x21, 0x04, 0x74, 0x10, 0x6C, 0x52, 0x7C, 0xB4, 0x74, 0xB4, 0xDF, 0x1C, + 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0xBF, 0x84, 0xF5, 0x74, 0x93, 0x7C, 0xB4, + 0x6C, 0x73, 0x95, 0x56, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x9A, + 0x74, 0x93, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0x94, 0x7C, 0x94, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0x73, 0x53, 0x6F, 0x63, 0x8E, 0x41, 0xE7, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x04, 0x74, 0x10, + 0x6C, 0x52, 0x74, 0x93, 0x9D, 0x77, 0xE7, 0x5D, 0xD7, 0x1C, 0xE7, 0x3D, + 0xA5, 0xB8, 0x6C, 0x73, 0x7C, 0xB4, 0x74, 0x94, 0x7C, 0xB4, 0x74, 0x73, + 0xB6, 0x19, 0xDF, 0x3D, 0xDF, 0x1C, 0xDF, 0x1C, 0x8D, 0x15, 0x74, 0x93, + 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x7C, 0x94, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0x94, + 0x7C, 0x94, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x73, + 0x53, 0x6F, 0x63, 0x8E, 0x41, 0xE7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x21, 0x04, 0x74, 0x10, 0x6C, 0x52, 0x7C, 0xB4, + 0x7C, 0xB4, 0x74, 0x93, 0x74, 0x94, 0x74, 0x93, 0x74, 0x93, 0x7C, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0xB4, 0x74, 0x93, 0x74, 0x94, + 0x74, 0x94, 0x74, 0x94, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0xB4, + 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x7C, 0xB4, 0x7C, 0xB4, 0x7C, 0xB4, 0x7C, 0xB4, 0x7C, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0xB4, 0x7C, 0xB4, 0x7C, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0xB4, 0x7C, 0xB4, 0x7C, 0xB4, 0x7C, 0xB4, + 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x73, 0x53, 0x6F, 0x63, 0x8E, + 0x41, 0xE7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x21, 0x04, 0x74, 0x10, 0x6C, 0x52, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x7C, 0xB4, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0xB4, 0x74, 0x94, 0x74, 0x94, 0x74, 0x93, + 0x74, 0xB4, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0x94, 0x74, 0x94, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x94, 0x74, 0x93, 0x74, 0x94, + 0x74, 0x94, 0x74, 0x94, 0x74, 0x93, 0x74, 0x94, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0x94, 0x74, 0x93, 0x74, 0x94, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0x94, 0x74, 0x94, 0x74, 0x94, 0x74, 0x94, 0x74, 0x93, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0x73, 0x53, 0x6F, 0x63, 0x8E, 0x41, 0xE7, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x04, 0x74, 0x10, + 0x6C, 0x32, 0x7C, 0xB4, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0xB4, + 0x74, 0x73, 0x7C, 0xB4, 0x84, 0xF5, 0x84, 0xF5, 0x74, 0x94, 0x74, 0x94, + 0x74, 0xB4, 0x84, 0xF5, 0x84, 0xF5, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0x94, 0x7C, 0xD4, 0x84, 0xF5, 0x84, 0xF5, 0x84, 0xF5, 0x84, 0xF5, + 0x84, 0xF5, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0x94, 0x7C, 0xD4, 0x85, 0x15, + 0x7C, 0xD4, 0x74, 0x94, 0x74, 0xB4, 0x74, 0xB4, 0x84, 0xF5, 0x84, 0xF5, + 0x84, 0xF5, 0x84, 0xF5, 0x84, 0xF5, 0x74, 0x94, 0x74, 0x94, 0x74, 0x73, + 0x53, 0x6F, 0x63, 0x8E, 0x41, 0xE7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x21, 0x04, 0x74, 0x10, 0x6C, 0x32, 0x7C, 0xB4, + 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0xB4, 0x74, 0x93, 0x9D, 0x97, 0xEF, 0x7D, + 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0xFC, 0x84, 0xF5, 0x6C, 0x73, 0xDF, 0x3D, + 0xE7, 0x5D, 0x7C, 0xB4, 0x74, 0x94, 0x7C, 0xB4, 0x6C, 0x73, 0xAD, 0xF8, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0xB7, + 0x6C, 0x73, 0x74, 0x93, 0xC6, 0x9B, 0xFF, 0xFF, 0xCE, 0xDB, 0x74, 0x93, + 0x74, 0xB4, 0x7C, 0xB4, 0xE7, 0x3D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xCE, 0xDB, 0x7C, 0xB4, 0x6C, 0x73, 0x53, 0x6F, 0x63, 0x8E, + 0x41, 0xE7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x21, 0x04, 0x74, 0x10, 0x6C, 0x32, 0x7C, 0xB4, 0x7C, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0xB4, + 0x74, 0x93, 0x8D, 0x36, 0xFF, 0xFF, 0xFF, 0xDF, 0xBE, 0x5A, 0xD6, 0xDB, + 0xFF, 0xFF, 0xD6, 0xFC, 0x6C, 0x73, 0xE7, 0x3D, 0xE7, 0x7D, 0x7C, 0xB4, + 0x74, 0x94, 0x7C, 0xB4, 0x6C, 0x73, 0xAD, 0xF8, 0xFF, 0xFF, 0xCE, 0xBB, + 0xB6, 0x39, 0xBE, 0x5A, 0xBE, 0x5A, 0x8D, 0x36, 0x6C, 0x73, 0x84, 0xF5, + 0xEF, 0x9E, 0xFF, 0xFF, 0xF7, 0xDF, 0x8D, 0x15, 0x74, 0x93, 0x7C, 0xB4, + 0xE7, 0x5D, 0xF7, 0x9E, 0xBE, 0x39, 0xB6, 0x39, 0xD6, 0xFC, 0xFF, 0xFF, + 0xAD, 0xF8, 0x64, 0x32, 0x5B, 0x6F, 0x63, 0x8E, 0x41, 0xE7, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x04, 0x74, 0x10, + 0x6C, 0x32, 0x7C, 0xB4, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0xB4, 0x6C, 0x73, 0xC6, 0x9A, + 0xFF, 0xFF, 0x95, 0x77, 0x64, 0x32, 0x74, 0x73, 0xBE, 0x5A, 0xBE, 0x59, + 0x74, 0x73, 0xDF, 0x3D, 0xE7, 0x5D, 0x7C, 0xB4, 0x74, 0x94, 0x7C, 0xB4, + 0x6C, 0x73, 0xAD, 0xF8, 0xFF, 0xFF, 0x95, 0x56, 0x64, 0x32, 0x74, 0x73, + 0x6C, 0x73, 0x74, 0x94, 0x6C, 0x73, 0xA5, 0xD8, 0xFF, 0xFF, 0xBE, 0x39, + 0xFF, 0xFF, 0xB6, 0x19, 0x6C, 0x73, 0x7C, 0xB4, 0xE7, 0x7D, 0xDF, 0x1C, + 0x6C, 0x53, 0x6C, 0x53, 0xA5, 0xD8, 0xFF, 0xFF, 0xB6, 0x39, 0x64, 0x32, + 0x5B, 0x8F, 0x63, 0x8E, 0x41, 0xE7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x21, 0x04, 0x74, 0x10, 0x6C, 0x32, 0x7C, 0xB4, + 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x7C, 0xB4, 0x6C, 0x73, 0xDF, 0x1C, 0xF7, 0xBE, 0x84, 0xD5, + 0x74, 0xB4, 0x7C, 0xB4, 0x6C, 0x53, 0x6C, 0x53, 0x74, 0x94, 0xDF, 0x3D, + 0xE7, 0x5D, 0x7C, 0xB4, 0x74, 0xB4, 0x7C, 0xB4, 0x6C, 0x73, 0xAD, 0xF8, + 0xFF, 0xFF, 0xF7, 0xBE, 0xEF, 0x9E, 0xF7, 0xBE, 0xEF, 0x7E, 0x8D, 0x15, + 0x6C, 0x53, 0xD6, 0xFC, 0xEF, 0x7D, 0x6C, 0x53, 0xDF, 0x1C, 0xEF, 0x7D, + 0x74, 0x94, 0x7C, 0xB4, 0xE7, 0x5D, 0xFF, 0xFF, 0xEF, 0x9E, 0xEF, 0x7E, + 0xFF, 0xFF, 0xF7, 0xBE, 0x8D, 0x15, 0x6C, 0x52, 0x53, 0x6F, 0x63, 0x8E, + 0x41, 0xE7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x21, 0x04, 0x74, 0x10, 0x6C, 0x32, 0x7C, 0xB4, 0x7C, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0xB4, + 0x6C, 0x73, 0xD7, 0x1C, 0xF7, 0xDF, 0x7C, 0xD4, 0x74, 0x93, 0x74, 0x93, + 0x95, 0x56, 0x95, 0x76, 0x74, 0x93, 0xDF, 0x3D, 0xE7, 0x5D, 0x7C, 0xB4, + 0x74, 0xB4, 0x7C, 0xB4, 0x6C, 0x73, 0xAD, 0xF8, 0xFF, 0xFF, 0xDF, 0x1C, + 0xCE, 0xDB, 0xD6, 0xFC, 0xCE, 0xDB, 0x84, 0xD5, 0x7C, 0xD4, 0xFF, 0xFF, + 0xE7, 0x5D, 0x9D, 0x97, 0xDF, 0x1C, 0xFF, 0xFF, 0x95, 0x56, 0x74, 0x93, + 0xE7, 0x7D, 0xF7, 0xBE, 0xD6, 0xFC, 0xFF, 0xFF, 0xF7, 0x9E, 0x8D, 0x15, + 0x74, 0x93, 0x74, 0x73, 0x53, 0x6F, 0x63, 0x8E, 0x41, 0xE7, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x04, 0x74, 0x10, + 0x6C, 0x32, 0x7C, 0xB4, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0xB4, 0x6C, 0x73, 0xBE, 0x5A, + 0xFF, 0xFF, 0xAE, 0x19, 0x6C, 0x53, 0x84, 0xD5, 0xF7, 0xBE, 0xEF, 0x9E, + 0x74, 0x93, 0xDF, 0x3C, 0xE7, 0x5D, 0x74, 0x73, 0x6C, 0x73, 0x74, 0x93, + 0x6C, 0x53, 0xAD, 0xF8, 0xFF, 0xFF, 0x8D, 0x36, 0x5B, 0xF2, 0x64, 0x52, + 0x6C, 0x53, 0x64, 0x52, 0xAD, 0xD8, 0xFF, 0xFF, 0xE7, 0x5D, 0xE7, 0x3D, + 0xE7, 0x5D, 0xFF, 0xFF, 0xC6, 0x7A, 0x6C, 0x53, 0xEF, 0x7E, 0xDF, 0x1C, + 0x64, 0x32, 0xB6, 0x39, 0xFF, 0xFF, 0xBE, 0x7A, 0x6C, 0x73, 0x74, 0x73, + 0x53, 0x6F, 0x63, 0x8E, 0x41, 0xE7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x21, 0x04, 0x74, 0x10, 0x6C, 0x32, 0x7C, 0xB4, + 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x7C, 0xB4, 0x74, 0x94, 0x7C, 0xD4, 0xEF, 0x7D, 0xFF, 0xFF, + 0xEF, 0x7D, 0xF7, 0xDF, 0xFF, 0xFF, 0xAD, 0xF9, 0x6C, 0x73, 0xE7, 0x5D, + 0xFF, 0xFF, 0xE7, 0x5D, 0xE7, 0x5D, 0xEF, 0x9E, 0xC6, 0x7A, 0xAD, 0xF8, + 0xFF, 0xFF, 0xEF, 0x9E, 0xE7, 0x7D, 0xEF, 0x7D, 0xEF, 0x9E, 0xB6, 0x19, + 0xDF, 0x1C, 0xFF, 0xDF, 0x7C, 0xD4, 0x74, 0x73, 0x74, 0x94, 0xEF, 0x7E, + 0xF7, 0xBF, 0x7C, 0xD4, 0xEF, 0x7E, 0xE7, 0x5D, 0x74, 0x94, 0x74, 0x73, + 0xD6, 0xFC, 0xFF, 0xFF, 0xA5, 0xB8, 0x6C, 0x32, 0x53, 0x6F, 0x63, 0x8E, + 0x41, 0xE7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x21, 0x04, 0x74, 0x10, 0x6C, 0x32, 0x7C, 0xB4, 0x7C, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x7C, 0xB4, 0x74, 0x93, 0x84, 0xF5, 0xCE, 0xBB, 0xE7, 0x7D, 0xE7, 0x5D, + 0xAD, 0xF8, 0x74, 0x93, 0x74, 0x94, 0xC6, 0x9A, 0xE7, 0x5D, 0xE7, 0x5D, + 0xE7, 0x5D, 0xEF, 0x9E, 0xC6, 0x9A, 0x9D, 0x97, 0xE7, 0x5D, 0xE7, 0x5D, + 0xE7, 0x5D, 0xE7, 0x5D, 0xEF, 0x7E, 0xC6, 0x7A, 0xD6, 0xFC, 0xC6, 0x7A, + 0x74, 0x73, 0x7C, 0xB4, 0x6C, 0x73, 0xAD, 0xD8, 0xE7, 0x5D, 0x95, 0x56, + 0xCE, 0xBB, 0xC6, 0x9B, 0x74, 0x94, 0x74, 0x93, 0x85, 0x15, 0xE7, 0x3D, + 0xCE, 0xBB, 0x6C, 0x73, 0x53, 0x6F, 0x63, 0x8E, 0x41, 0xE7, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x04, 0x74, 0x10, + 0x6C, 0x32, 0x7C, 0xB4, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0xB4, + 0x74, 0x93, 0x6C, 0x73, 0x74, 0x93, 0x74, 0x73, 0x6C, 0x73, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0x94, 0x74, 0x93, 0x74, 0x73, 0x74, 0x73, 0x74, 0x73, + 0x74, 0x93, 0x74, 0x94, 0x74, 0x93, 0x74, 0x93, 0x74, 0x73, 0x74, 0x73, + 0x74, 0x73, 0x74, 0x94, 0x74, 0x94, 0x74, 0x93, 0x7C, 0xB4, 0x7C, 0xB4, + 0x7C, 0xB4, 0x74, 0x94, 0x74, 0x93, 0x74, 0xB4, 0x74, 0x94, 0x74, 0x94, + 0x74, 0xB4, 0x7C, 0xB4, 0x74, 0x94, 0x74, 0x73, 0x74, 0xB4, 0x74, 0x73, + 0x53, 0x6F, 0x63, 0x8E, 0x41, 0xE7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x29, 0x24, 0x74, 0x10, 0x6C, 0x52, 0x7C, 0xB4, + 0x74, 0xB4, 0x74, 0x94, 0x74, 0xB4, 0x74, 0x94, 0x74, 0x94, 0x74, 0x94, + 0x74, 0x94, 0x74, 0x94, 0x74, 0x94, 0x74, 0x94, 0x7C, 0xB4, 0x7C, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x7C, 0xB4, 0x74, 0xB4, 0x74, 0x94, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x94, + 0x74, 0x94, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x94, 0x74, 0xB4, 0x74, 0xB4, + 0x74, 0x94, 0x74, 0x94, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x74, 0x94, + 0x74, 0xB4, 0x74, 0xB4, 0x74, 0xB4, 0x6C, 0x73, 0x53, 0x6F, 0x63, 0x8E, + 0x41, 0xE7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x20, 0xE3, 0x73, 0xCF, 0x5B, 0xD0, 0x64, 0x11, 0x74, 0x52, 0x74, 0x52, + 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, + 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, + 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, + 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, + 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, + 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, + 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, 0x74, 0x52, + 0x74, 0x52, 0x6C, 0x11, 0x4B, 0x2D, 0x63, 0x6E, 0x39, 0xA6, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x5A, 0xCB, + 0x63, 0xAF, 0x53, 0x6F, 0x63, 0xD0, 0x63, 0xD0, 0x63, 0xD0, 0x63, 0xD0, + 0x63, 0xD0, 0x63, 0xD0, 0x63, 0xD0, 0x63, 0xD0, 0x63, 0xD0, 0x63, 0xD0, + 0x63, 0xD0, 0x63, 0xD0, 0x63, 0xD0, 0x63, 0xD0, 0x63, 0xD0, 0x63, 0xD0, + 0x63, 0xD0, 0x63, 0xD0, 0x63, 0xD0, 0x63, 0xD0, 0x63, 0xD0, 0x63, 0xD0, + 0x63, 0xD0, 0x63, 0xD0, 0x63, 0xF0, 0x63, 0xF0, 0x63, 0xF0, 0x63, 0xF0, + 0x63, 0xF0, 0x63, 0xF0, 0x63, 0xF0, 0x63, 0xF0, 0x63, 0xF0, 0x63, 0xF0, + 0x63, 0xF0, 0x63, 0xF0, 0x63, 0xF0, 0x63, 0xF0, 0x63, 0xF0, 0x63, 0xF0, + 0x63, 0xF0, 0x63, 0xF0, 0x63, 0xF0, 0x63, 0xF0, 0x63, 0xF0, 0x63, 0xD0, + 0x63, 0x6E, 0x6B, 0x2D, 0x10, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x82, 0x5A, 0xAB, 0x6B, 0x8E, + 0x73, 0xAF, 0x73, 0xAF, 0x73, 0xAF, 0x73, 0xAF, 0x73, 0xAF, 0x73, 0xAF, + 0x73, 0xAF, 0x73, 0xAF, 0x73, 0xAF, 0x73, 0xAF, 0x73, 0xAF, 0x73, 0xAF, + 0x73, 0xAF, 0x73, 0xAF, 0x73, 0xAF, 0x73, 0xAF, 0x73, 0xAF, 0x73, 0xAF, + 0x73, 0xAF, 0x73, 0xAF, 0x73, 0xAF, 0x73, 0xAF, 0x73, 0xAF, 0x73, 0xCF, + 0x73, 0xCF, 0x73, 0xCF, 0x73, 0xCF, 0x73, 0xCF, 0x73, 0xCF, 0x73, 0xCF, + 0x73, 0xCF, 0x73, 0xCF, 0x73, 0xCF, 0x73, 0xCF, 0x73, 0xCF, 0x73, 0xCF, + 0x73, 0xCF, 0x73, 0xCF, 0x73, 0xCF, 0x73, 0xCF, 0x73, 0xCF, 0x73, 0xCF, + 0x73, 0xCF, 0x73, 0xAF, 0x73, 0xCF, 0x73, 0xAF, 0x63, 0x2C, 0x21, 0x04, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x18, 0xC3, 0x21, 0x04, 0x21, 0x04, + 0x21, 0x04, 0x21, 0x04, 0x21, 0x04, 0x21, 0x04, 0x21, 0x04, 0x21, 0x04, + 0x21, 0x04, 0x21, 0x04, 0x21, 0x04, 0x21, 0x04, 0x21, 0x04, 0x21, 0x04, + 0x21, 0x04, 0x21, 0x04, 0x21, 0x04, 0x21, 0x04, 0x21, 0x04, 0x21, 0x04, + 0x21, 0x04, 0x21, 0x04, 0x21, 0x04, 0x21, 0x04, 0x21, 0x04, 0x21, 0x04, + 0x21, 0x04, 0x21, 0x04, 0x21, 0x04, 0x21, 0x04, 0x21, 0x04, 0x21, 0x04, + 0x21, 0x04, 0x21, 0x04, 0x21, 0x04, 0x21, 0x04, 0x21, 0x04, 0x21, 0x04, + 0x21, 0x04, 0x21, 0x04, 0x21, 0x04, 0x21, 0x04, 0x21, 0x04, 0x21, 0x04, + 0x21, 0x04, 0x20, 0xE3, 0x08, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 diff --git a/src/Examples/IoD16kSpectrumEmulator/codes.h b/src/Examples/IoD16kSpectrumEmulator/codes.h new file mode 100644 index 0000000..c4b7240 --- /dev/null +++ b/src/Examples/IoD16kSpectrumEmulator/codes.h @@ -0,0 +1,387 @@ +/** Z80: portable Z80 emulator *******************************/ +/** **/ +/** Codes.h **/ +/** **/ +/** This file contains implementation for the main table of **/ +/** Z80 commands. It is included from Z80.c. **/ +/** **/ +/** Copyright (C) Marat Fayzullin 1994-2007 **/ +/** You are not allowed to distribute this software **/ +/** commercially. Please, notify me, if you make any **/ +/** changes to this file. **/ +/*************************************************************/ + +case JR_NZ: if(R->AF.B.l&Z_FLAG) R->PC.W++; else { R->ICount-=5;M_JR; } break; +case JR_NC: if(R->AF.B.l&C_FLAG) R->PC.W++; else { R->ICount-=5;M_JR; } break; +case JR_Z: if(R->AF.B.l&Z_FLAG) { R->ICount-=5;M_JR; } else R->PC.W++; break; +case JR_C: if(R->AF.B.l&C_FLAG) { R->ICount-=5;M_JR; } else R->PC.W++; break; + +case JP_NZ: if(R->AF.B.l&Z_FLAG) R->PC.W+=2; else { M_JP; } break; +case JP_NC: if(R->AF.B.l&C_FLAG) R->PC.W+=2; else { M_JP; } break; +case JP_PO: if(R->AF.B.l&P_FLAG) R->PC.W+=2; else { M_JP; } break; +case JP_P: if(R->AF.B.l&S_FLAG) R->PC.W+=2; else { M_JP; } break; +case JP_Z: if(R->AF.B.l&Z_FLAG) { M_JP; } else R->PC.W+=2; break; +case JP_C: if(R->AF.B.l&C_FLAG) { M_JP; } else R->PC.W+=2; break; +case JP_PE: if(R->AF.B.l&P_FLAG) { M_JP; } else R->PC.W+=2; break; +case JP_M: if(R->AF.B.l&S_FLAG) { M_JP; } else R->PC.W+=2; break; + +case RET_NZ: if(!(R->AF.B.l&Z_FLAG)) { R->ICount-=6;M_RET; } break; +case RET_NC: if(!(R->AF.B.l&C_FLAG)) { R->ICount-=6;M_RET; } break; +case RET_PO: if(!(R->AF.B.l&P_FLAG)) { R->ICount-=6;M_RET; } break; +case RET_P: if(!(R->AF.B.l&S_FLAG)) { R->ICount-=6;M_RET; } break; +case RET_Z: if(R->AF.B.l&Z_FLAG) { R->ICount-=6;M_RET; } break; +case RET_C: if(R->AF.B.l&C_FLAG) { R->ICount-=6;M_RET; } break; +case RET_PE: if(R->AF.B.l&P_FLAG) { R->ICount-=6;M_RET; } break; +case RET_M: if(R->AF.B.l&S_FLAG) { R->ICount-=6;M_RET; } break; + +case CALL_NZ: if(R->AF.B.l&Z_FLAG) R->PC.W+=2; else { R->ICount-=7;M_CALL; } break; +case CALL_NC: if(R->AF.B.l&C_FLAG) R->PC.W+=2; else { R->ICount-=7;M_CALL; } break; +case CALL_PO: if(R->AF.B.l&P_FLAG) R->PC.W+=2; else { R->ICount-=7;M_CALL; } break; +case CALL_P: if(R->AF.B.l&S_FLAG) R->PC.W+=2; else { R->ICount-=7;M_CALL; } break; +case CALL_Z: if(R->AF.B.l&Z_FLAG) { R->ICount-=7;M_CALL; } else R->PC.W+=2; break; +case CALL_C: if(R->AF.B.l&C_FLAG) { R->ICount-=7;M_CALL; } else R->PC.W+=2; break; +case CALL_PE: if(R->AF.B.l&P_FLAG) { R->ICount-=7;M_CALL; } else R->PC.W+=2; break; +case CALL_M: if(R->AF.B.l&S_FLAG) { R->ICount-=7;M_CALL; } else R->PC.W+=2; break; + +case ADD_B: M_ADD(R->BC.B.h);break; +case ADD_C: M_ADD(R->BC.B.l);break; +case ADD_D: M_ADD(R->DE.B.h);break; +case ADD_E: M_ADD(R->DE.B.l);break; +case ADD_H: M_ADD(R->HL.B.h);break; +case ADD_L: M_ADD(R->HL.B.l);break; +case ADD_A: M_ADD(R->AF.B.h);break; +case ADD_xHL: I=RdZ80(R->HL.W);M_ADD(I);break; +case ADD_BYTE: I=OpZ80(R->PC.W++);M_ADD(I);break; + +case SUB_B: M_SUB(R->BC.B.h);break; +case SUB_C: M_SUB(R->BC.B.l);break; +case SUB_D: M_SUB(R->DE.B.h);break; +case SUB_E: M_SUB(R->DE.B.l);break; +case SUB_H: M_SUB(R->HL.B.h);break; +case SUB_L: M_SUB(R->HL.B.l);break; +case SUB_A: R->AF.B.h=0;R->AF.B.l=N_FLAG|Z_FLAG;break; +case SUB_xHL: I=RdZ80(R->HL.W);M_SUB(I);break; +case SUB_BYTE: I=OpZ80(R->PC.W++);M_SUB(I);break; + +case AND_B: M_AND(R->BC.B.h);break; +case AND_C: M_AND(R->BC.B.l);break; +case AND_D: M_AND(R->DE.B.h);break; +case AND_E: M_AND(R->DE.B.l);break; +case AND_H: M_AND(R->HL.B.h);break; +case AND_L: M_AND(R->HL.B.l);break; +case AND_A: M_AND(R->AF.B.h);break; +case AND_xHL: I=RdZ80(R->HL.W);M_AND(I);break; +case AND_BYTE: I=OpZ80(R->PC.W++);M_AND(I);break; + +case OR_B: M_OR(R->BC.B.h);break; +case OR_C: M_OR(R->BC.B.l);break; +case OR_D: M_OR(R->DE.B.h);break; +case OR_E: M_OR(R->DE.B.l);break; +case OR_H: M_OR(R->HL.B.h);break; +case OR_L: M_OR(R->HL.B.l);break; +case OR_A: M_OR(R->AF.B.h);break; +case OR_xHL: I=RdZ80(R->HL.W);M_OR(I);break; +case OR_BYTE: I=OpZ80(R->PC.W++);M_OR(I);break; + +case ADC_B: M_ADC(R->BC.B.h);break; +case ADC_C: M_ADC(R->BC.B.l);break; +case ADC_D: M_ADC(R->DE.B.h);break; +case ADC_E: M_ADC(R->DE.B.l);break; +case ADC_H: M_ADC(R->HL.B.h);break; +case ADC_L: M_ADC(R->HL.B.l);break; +case ADC_A: M_ADC(R->AF.B.h);break; +case ADC_xHL: I=RdZ80(R->HL.W);M_ADC(I);break; +case ADC_BYTE: I=OpZ80(R->PC.W++);M_ADC(I);break; + +case SBC_B: M_SBC(R->BC.B.h);break; +case SBC_C: M_SBC(R->BC.B.l);break; +case SBC_D: M_SBC(R->DE.B.h);break; +case SBC_E: M_SBC(R->DE.B.l);break; +case SBC_H: M_SBC(R->HL.B.h);break; +case SBC_L: M_SBC(R->HL.B.l);break; +case SBC_A: M_SBC(R->AF.B.h);break; +case SBC_xHL: I=RdZ80(R->HL.W);M_SBC(I);break; +case SBC_BYTE: I=OpZ80(R->PC.W++);M_SBC(I);break; + +case XOR_B: M_XOR(R->BC.B.h);break; +case XOR_C: M_XOR(R->BC.B.l);break; +case XOR_D: M_XOR(R->DE.B.h);break; +case XOR_E: M_XOR(R->DE.B.l);break; +case XOR_H: M_XOR(R->HL.B.h);break; +case XOR_L: M_XOR(R->HL.B.l);break; +case XOR_A: R->AF.B.h=0;R->AF.B.l=P_FLAG|Z_FLAG;break; +case XOR_xHL: I=RdZ80(R->HL.W);M_XOR(I);break; +case XOR_BYTE: I=OpZ80(R->PC.W++);M_XOR(I);break; + +case CP_B: M_CP(R->BC.B.h);break; +case CP_C: M_CP(R->BC.B.l);break; +case CP_D: M_CP(R->DE.B.h);break; +case CP_E: M_CP(R->DE.B.l);break; +case CP_H: M_CP(R->HL.B.h);break; +case CP_L: M_CP(R->HL.B.l);break; +case CP_A: R->AF.B.l=N_FLAG|Z_FLAG;break; +case CP_xHL: I=RdZ80(R->HL.W);M_CP(I);break; +case CP_BYTE: I=OpZ80(R->PC.W++);M_CP(I);break; + +case LD_BC_WORD: M_LDWORD(BC);break; +case LD_DE_WORD: M_LDWORD(DE);break; +case LD_HL_WORD: M_LDWORD(HL);break; +case LD_SP_WORD: M_LDWORD(SP);break; + +case LD_PC_HL: R->PC.W=R->HL.W;JumpZ80(R->PC.W);break; +case LD_SP_HL: R->SP.W=R->HL.W;break; +case LD_A_xBC: R->AF.B.h=RdZ80(R->BC.W);break; +case LD_A_xDE: R->AF.B.h=RdZ80(R->DE.W);break; + +case ADD_HL_BC: M_ADDW(HL,BC);break; +case ADD_HL_DE: M_ADDW(HL,DE);break; +case ADD_HL_HL: M_ADDW(HL,HL);break; +case ADD_HL_SP: M_ADDW(HL,SP);break; + +case DEC_BC: R->BC.W--;break; +case DEC_DE: R->DE.W--;break; +case DEC_HL: R->HL.W--;break; +case DEC_SP: R->SP.W--;break; + +case INC_BC: R->BC.W++;break; +case INC_DE: R->DE.W++;break; +case INC_HL: R->HL.W++;break; +case INC_SP: R->SP.W++;break; + +case DEC_B: M_DEC(R->BC.B.h);break; +case DEC_C: M_DEC(R->BC.B.l);break; +case DEC_D: M_DEC(R->DE.B.h);break; +case DEC_E: M_DEC(R->DE.B.l);break; +case DEC_H: M_DEC(R->HL.B.h);break; +case DEC_L: M_DEC(R->HL.B.l);break; +case DEC_A: M_DEC(R->AF.B.h);break; +case DEC_xHL: I=RdZ80(R->HL.W);M_DEC(I);WrZ80(R->HL.W,I);break; + +case INC_B: M_INC(R->BC.B.h);break; +case INC_C: M_INC(R->BC.B.l);break; +case INC_D: M_INC(R->DE.B.h);break; +case INC_E: M_INC(R->DE.B.l);break; +case INC_H: M_INC(R->HL.B.h);break; +case INC_L: M_INC(R->HL.B.l);break; +case INC_A: M_INC(R->AF.B.h);break; +case INC_xHL: I=RdZ80(R->HL.W);M_INC(I);WrZ80(R->HL.W,I);break; + +case RLCA: + I=R->AF.B.h&0x80? C_FLAG:0; + R->AF.B.h=(R->AF.B.h<<1)|I; + R->AF.B.l=(R->AF.B.l&~(C_FLAG|N_FLAG|H_FLAG))|I; + break; +case RLA: + I=R->AF.B.h&0x80? C_FLAG:0; + R->AF.B.h=(R->AF.B.h<<1)|(R->AF.B.l&C_FLAG); + R->AF.B.l=(R->AF.B.l&~(C_FLAG|N_FLAG|H_FLAG))|I; + break; +case RRCA: + I=R->AF.B.h&0x01; + R->AF.B.h=(R->AF.B.h>>1)|(I? 0x80:0); + R->AF.B.l=(R->AF.B.l&~(C_FLAG|N_FLAG|H_FLAG))|I; + break; +case RRA: + I=R->AF.B.h&0x01; + R->AF.B.h=(R->AF.B.h>>1)|(R->AF.B.l&C_FLAG? 0x80:0); + R->AF.B.l=(R->AF.B.l&~(C_FLAG|N_FLAG|H_FLAG))|I; + break; + +case RST00: M_RST(0x0000);break; +case RST08: M_RST(0x0008);break; +case RST10: M_RST(0x0010);break; +case RST18: M_RST(0x0018);break; +case RST20: M_RST(0x0020);break; +case RST28: M_RST(0x0028);break; +case RST30: M_RST(0x0030);break; +case RST38: M_RST(0x0038);break; + +case PUSH_BC: M_PUSH(BC);break; +case PUSH_DE: M_PUSH(DE);break; +case PUSH_HL: M_PUSH(HL);break; +case PUSH_AF: M_PUSH(AF);break; + +case POP_BC: M_POP(BC);break; +case POP_DE: M_POP(DE);break; +case POP_HL: M_POP(HL);break; +case POP_AF: M_POP(AF);break; + +case DJNZ: if(--R->BC.B.h) { R->ICount-=5;M_JR; } else R->PC.W++;break; +case JP: M_JP;break; +case JR: M_JR;break; +case CALL: M_CALL;break; +case RET: M_RET;break; +case SCF: S(C_FLAG);R(N_FLAG|H_FLAG);break; +case CPL: R->AF.B.h=~R->AF.B.h;S(N_FLAG|H_FLAG);break; +case NOP: break; +case OUTA: I=OpZ80(R->PC.W++);OutZ80(I|(R->AF.W&0xFF00),R->AF.B.h);break; +case INA: I=OpZ80(R->PC.W++);R->AF.B.h=InZ80(I|(R->AF.W&0xFF00));break; + +case HALT: + R->PC.W--; + R->IFF|=IFF_HALT; + R->IBackup=0; + R->ICount=0; + break; + +case DI: + if(R->IFF&IFF_EI) R->ICount+=R->IBackup-1; + R->IFF&=~(IFF_1|IFF_2|IFF_EI); + enInt = 0; + break; + +case EI: + if(!(R->IFF&(IFF_1|IFF_EI))) + { + R->IFF|=IFF_2|IFF_EI; + R->IBackup=R->ICount; + R->ICount=1; + enInt = 1; + } + break; + +case CCF: + R->AF.B.l^=C_FLAG;R(N_FLAG|H_FLAG); + R->AF.B.l|=R->AF.B.l&C_FLAG? 0:H_FLAG; + break; + +case EXX: + J.W=R->BC.W;R->BC.W=R->BC1.W;R->BC1.W=J.W; + J.W=R->DE.W;R->DE.W=R->DE1.W;R->DE1.W=J.W; + J.W=R->HL.W;R->HL.W=R->HL1.W;R->HL1.W=J.W; + break; + +case EX_DE_HL: J.W=R->DE.W;R->DE.W=R->HL.W;R->HL.W=J.W;break; +case EX_AF_AF: J.W=R->AF.W;R->AF.W=R->AF1.W;R->AF1.W=J.W;break; + +case LD_B_B: R->BC.B.h=R->BC.B.h;break; +case LD_C_B: R->BC.B.l=R->BC.B.h;break; +case LD_D_B: R->DE.B.h=R->BC.B.h;break; +case LD_E_B: R->DE.B.l=R->BC.B.h;break; +case LD_H_B: R->HL.B.h=R->BC.B.h;break; +case LD_L_B: R->HL.B.l=R->BC.B.h;break; +case LD_A_B: R->AF.B.h=R->BC.B.h;break; +case LD_xHL_B: WrZ80(R->HL.W,R->BC.B.h);break; + +case LD_B_C: R->BC.B.h=R->BC.B.l;break; +case LD_C_C: R->BC.B.l=R->BC.B.l;break; +case LD_D_C: R->DE.B.h=R->BC.B.l;break; +case LD_E_C: R->DE.B.l=R->BC.B.l;break; +case LD_H_C: R->HL.B.h=R->BC.B.l;break; +case LD_L_C: R->HL.B.l=R->BC.B.l;break; +case LD_A_C: R->AF.B.h=R->BC.B.l;break; +case LD_xHL_C: WrZ80(R->HL.W,R->BC.B.l);break; + +case LD_B_D: R->BC.B.h=R->DE.B.h;break; +case LD_C_D: R->BC.B.l=R->DE.B.h;break; +case LD_D_D: R->DE.B.h=R->DE.B.h;break; +case LD_E_D: R->DE.B.l=R->DE.B.h;break; +case LD_H_D: R->HL.B.h=R->DE.B.h;break; +case LD_L_D: R->HL.B.l=R->DE.B.h;break; +case LD_A_D: R->AF.B.h=R->DE.B.h;break; +case LD_xHL_D: WrZ80(R->HL.W,R->DE.B.h);break; + +case LD_B_E: R->BC.B.h=R->DE.B.l;break; +case LD_C_E: R->BC.B.l=R->DE.B.l;break; +case LD_D_E: R->DE.B.h=R->DE.B.l;break; +case LD_E_E: R->DE.B.l=R->DE.B.l;break; +case LD_H_E: R->HL.B.h=R->DE.B.l;break; +case LD_L_E: R->HL.B.l=R->DE.B.l;break; +case LD_A_E: R->AF.B.h=R->DE.B.l;break; +case LD_xHL_E: WrZ80(R->HL.W,R->DE.B.l);break; + +case LD_B_H: R->BC.B.h=R->HL.B.h;break; +case LD_C_H: R->BC.B.l=R->HL.B.h;break; +case LD_D_H: R->DE.B.h=R->HL.B.h;break; +case LD_E_H: R->DE.B.l=R->HL.B.h;break; +case LD_H_H: R->HL.B.h=R->HL.B.h;break; +case LD_L_H: R->HL.B.l=R->HL.B.h;break; +case LD_A_H: R->AF.B.h=R->HL.B.h;break; +case LD_xHL_H: WrZ80(R->HL.W,R->HL.B.h);break; + +case LD_B_L: R->BC.B.h=R->HL.B.l;break; +case LD_C_L: R->BC.B.l=R->HL.B.l;break; +case LD_D_L: R->DE.B.h=R->HL.B.l;break; +case LD_E_L: R->DE.B.l=R->HL.B.l;break; +case LD_H_L: R->HL.B.h=R->HL.B.l;break; +case LD_L_L: R->HL.B.l=R->HL.B.l;break; +case LD_A_L: R->AF.B.h=R->HL.B.l;break; +case LD_xHL_L: WrZ80(R->HL.W,R->HL.B.l);break; + +case LD_B_A: R->BC.B.h=R->AF.B.h;break; +case LD_C_A: R->BC.B.l=R->AF.B.h;break; +case LD_D_A: R->DE.B.h=R->AF.B.h;break; +case LD_E_A: R->DE.B.l=R->AF.B.h;break; +case LD_H_A: R->HL.B.h=R->AF.B.h;break; +case LD_L_A: R->HL.B.l=R->AF.B.h;break; +case LD_A_A: R->AF.B.h=R->AF.B.h;break; +case LD_xHL_A: WrZ80(R->HL.W,R->AF.B.h);break; + +case LD_xBC_A: WrZ80(R->BC.W,R->AF.B.h);break; +case LD_xDE_A: WrZ80(R->DE.W,R->AF.B.h);break; + +case LD_B_xHL: R->BC.B.h=RdZ80(R->HL.W);break; +case LD_C_xHL: R->BC.B.l=RdZ80(R->HL.W);break; +case LD_D_xHL: R->DE.B.h=RdZ80(R->HL.W);break; +case LD_E_xHL: R->DE.B.l=RdZ80(R->HL.W);break; +case LD_H_xHL: R->HL.B.h=RdZ80(R->HL.W);break; +case LD_L_xHL: R->HL.B.l=RdZ80(R->HL.W);break; +case LD_A_xHL: R->AF.B.h=RdZ80(R->HL.W);break; + +case LD_B_BYTE: R->BC.B.h=OpZ80(R->PC.W++);break; +case LD_C_BYTE: R->BC.B.l=OpZ80(R->PC.W++);break; +case LD_D_BYTE: R->DE.B.h=OpZ80(R->PC.W++);break; +case LD_E_BYTE: R->DE.B.l=OpZ80(R->PC.W++);break; +case LD_H_BYTE: R->HL.B.h=OpZ80(R->PC.W++);break; +case LD_L_BYTE: R->HL.B.l=OpZ80(R->PC.W++);break; +case LD_A_BYTE: R->AF.B.h=OpZ80(R->PC.W++);break; +case LD_xHL_BYTE: WrZ80(R->HL.W,OpZ80(R->PC.W++));break; + +case LD_xWORD_HL: + J.B.l=OpZ80(R->PC.W++); + J.B.h=OpZ80(R->PC.W++); + WrZ80(J.W++,R->HL.B.l); + WrZ80(J.W,R->HL.B.h); + break; + +case LD_HL_xWORD: + J.B.l=OpZ80(R->PC.W++); + J.B.h=OpZ80(R->PC.W++); + R->HL.B.l=RdZ80(J.W++); + R->HL.B.h=RdZ80(J.W); + break; + +case LD_A_xWORD: + J.B.l=OpZ80(R->PC.W++); + J.B.h=OpZ80(R->PC.W++); + R->AF.B.h=RdZ80(J.W); + break; + +case LD_xWORD_A: + J.B.l=OpZ80(R->PC.W++); + J.B.h=OpZ80(R->PC.W++); + WrZ80(J.W,R->AF.B.h); + break; + +case EX_HL_xSP: + J.B.l=RdZ80(R->SP.W);WrZ80(R->SP.W++,R->HL.B.l); + J.B.h=RdZ80(R->SP.W);WrZ80(R->SP.W--,R->HL.B.h); + R->HL.W=J.W; + break; + +case DAA: + J.W=R->AF.B.h; + if(R->AF.B.l&C_FLAG) J.W|=256; + if(R->AF.B.l&H_FLAG) J.W|=512; + if(R->AF.B.l&N_FLAG) J.W|=1024; + R->AF.W=DAATable[J.W]; + break; + +default: + if(R->TrapBadOps) + printf + ( + "[Z80 %lX] Unrecognized instruction: %02X at PC=%04X\n", + (long)R->User,OpZ80(R->PC.W-1),R->PC.W-1 + ); + break; diff --git a/src/Examples/IoD16kSpectrumEmulator/codesCB.h b/src/Examples/IoD16kSpectrumEmulator/codesCB.h new file mode 100644 index 0000000..dd904d4 --- /dev/null +++ b/src/Examples/IoD16kSpectrumEmulator/codesCB.h @@ -0,0 +1,204 @@ +/** Z80: portable Z80 emulator *******************************/ +/** **/ +/** CodesCB.h **/ +/** **/ +/** This file contains implementation for the CB table of **/ +/** Z80 commands. It is included from Z80.c. **/ +/** **/ +/** Copyright (C) Marat Fayzullin 1994-2007 **/ +/** You are not allowed to distribute this software **/ +/** commercially. Please, notify me, if you make any **/ +/** changes to this file. **/ +/*************************************************************/ + +case RLC_B: M_RLC(R->BC.B.h);break; case RLC_C: M_RLC(R->BC.B.l);break; +case RLC_D: M_RLC(R->DE.B.h);break; case RLC_E: M_RLC(R->DE.B.l);break; +case RLC_H: M_RLC(R->HL.B.h);break; case RLC_L: M_RLC(R->HL.B.l);break; +case RLC_xHL: I=RdZ80(R->HL.W);M_RLC(I);WrZ80(R->HL.W,I);break; +case RLC_A: M_RLC(R->AF.B.h);break; + +case RRC_B: M_RRC(R->BC.B.h);break; case RRC_C: M_RRC(R->BC.B.l);break; +case RRC_D: M_RRC(R->DE.B.h);break; case RRC_E: M_RRC(R->DE.B.l);break; +case RRC_H: M_RRC(R->HL.B.h);break; case RRC_L: M_RRC(R->HL.B.l);break; +case RRC_xHL: I=RdZ80(R->HL.W);M_RRC(I);WrZ80(R->HL.W,I);break; +case RRC_A: M_RRC(R->AF.B.h);break; + +case RL_B: M_RL(R->BC.B.h);break; case RL_C: M_RL(R->BC.B.l);break; +case RL_D: M_RL(R->DE.B.h);break; case RL_E: M_RL(R->DE.B.l);break; +case RL_H: M_RL(R->HL.B.h);break; case RL_L: M_RL(R->HL.B.l);break; +case RL_xHL: I=RdZ80(R->HL.W);M_RL(I);WrZ80(R->HL.W,I);break; +case RL_A: M_RL(R->AF.B.h);break; + +case RR_B: M_RR(R->BC.B.h);break; case RR_C: M_RR(R->BC.B.l);break; +case RR_D: M_RR(R->DE.B.h);break; case RR_E: M_RR(R->DE.B.l);break; +case RR_H: M_RR(R->HL.B.h);break; case RR_L: M_RR(R->HL.B.l);break; +case RR_xHL: I=RdZ80(R->HL.W);M_RR(I);WrZ80(R->HL.W,I);break; +case RR_A: M_RR(R->AF.B.h);break; + +case SLA_B: M_SLA(R->BC.B.h);break; case SLA_C: M_SLA(R->BC.B.l);break; +case SLA_D: M_SLA(R->DE.B.h);break; case SLA_E: M_SLA(R->DE.B.l);break; +case SLA_H: M_SLA(R->HL.B.h);break; case SLA_L: M_SLA(R->HL.B.l);break; +case SLA_xHL: I=RdZ80(R->HL.W);M_SLA(I);WrZ80(R->HL.W,I);break; +case SLA_A: M_SLA(R->AF.B.h);break; + +case SRA_B: M_SRA(R->BC.B.h);break; case SRA_C: M_SRA(R->BC.B.l);break; +case SRA_D: M_SRA(R->DE.B.h);break; case SRA_E: M_SRA(R->DE.B.l);break; +case SRA_H: M_SRA(R->HL.B.h);break; case SRA_L: M_SRA(R->HL.B.l);break; +case SRA_xHL: I=RdZ80(R->HL.W);M_SRA(I);WrZ80(R->HL.W,I);break; +case SRA_A: M_SRA(R->AF.B.h);break; + +case SLL_B: M_SLL(R->BC.B.h);break; case SLL_C: M_SLL(R->BC.B.l);break; +case SLL_D: M_SLL(R->DE.B.h);break; case SLL_E: M_SLL(R->DE.B.l);break; +case SLL_H: M_SLL(R->HL.B.h);break; case SLL_L: M_SLL(R->HL.B.l);break; +case SLL_xHL: I=RdZ80(R->HL.W);M_SLL(I);WrZ80(R->HL.W,I);break; +case SLL_A: M_SLL(R->AF.B.h);break; + +case SRL_B: M_SRL(R->BC.B.h);break; case SRL_C: M_SRL(R->BC.B.l);break; +case SRL_D: M_SRL(R->DE.B.h);break; case SRL_E: M_SRL(R->DE.B.l);break; +case SRL_H: M_SRL(R->HL.B.h);break; case SRL_L: M_SRL(R->HL.B.l);break; +case SRL_xHL: I=RdZ80(R->HL.W);M_SRL(I);WrZ80(R->HL.W,I);break; +case SRL_A: M_SRL(R->AF.B.h);break; + +case BIT0_B: M_BIT(0,R->BC.B.h);break; case BIT0_C: M_BIT(0,R->BC.B.l);break; +case BIT0_D: M_BIT(0,R->DE.B.h);break; case BIT0_E: M_BIT(0,R->DE.B.l);break; +case BIT0_H: M_BIT(0,R->HL.B.h);break; case BIT0_L: M_BIT(0,R->HL.B.l);break; +case BIT0_xHL: I=RdZ80(R->HL.W);M_BIT(0,I);break; +case BIT0_A: M_BIT(0,R->AF.B.h);break; + +case BIT1_B: M_BIT(1,R->BC.B.h);break; case BIT1_C: M_BIT(1,R->BC.B.l);break; +case BIT1_D: M_BIT(1,R->DE.B.h);break; case BIT1_E: M_BIT(1,R->DE.B.l);break; +case BIT1_H: M_BIT(1,R->HL.B.h);break; case BIT1_L: M_BIT(1,R->HL.B.l);break; +case BIT1_xHL: I=RdZ80(R->HL.W);M_BIT(1,I);break; +case BIT1_A: M_BIT(1,R->AF.B.h);break; + +case BIT2_B: M_BIT(2,R->BC.B.h);break; case BIT2_C: M_BIT(2,R->BC.B.l);break; +case BIT2_D: M_BIT(2,R->DE.B.h);break; case BIT2_E: M_BIT(2,R->DE.B.l);break; +case BIT2_H: M_BIT(2,R->HL.B.h);break; case BIT2_L: M_BIT(2,R->HL.B.l);break; +case BIT2_xHL: I=RdZ80(R->HL.W);M_BIT(2,I);break; +case BIT2_A: M_BIT(2,R->AF.B.h);break; + +case BIT3_B: M_BIT(3,R->BC.B.h);break; case BIT3_C: M_BIT(3,R->BC.B.l);break; +case BIT3_D: M_BIT(3,R->DE.B.h);break; case BIT3_E: M_BIT(3,R->DE.B.l);break; +case BIT3_H: M_BIT(3,R->HL.B.h);break; case BIT3_L: M_BIT(3,R->HL.B.l);break; +case BIT3_xHL: I=RdZ80(R->HL.W);M_BIT(3,I);break; +case BIT3_A: M_BIT(3,R->AF.B.h);break; + +case BIT4_B: M_BIT(4,R->BC.B.h);break; case BIT4_C: M_BIT(4,R->BC.B.l);break; +case BIT4_D: M_BIT(4,R->DE.B.h);break; case BIT4_E: M_BIT(4,R->DE.B.l);break; +case BIT4_H: M_BIT(4,R->HL.B.h);break; case BIT4_L: M_BIT(4,R->HL.B.l);break; +case BIT4_xHL: I=RdZ80(R->HL.W);M_BIT(4,I);break; +case BIT4_A: M_BIT(4,R->AF.B.h);break; + +case BIT5_B: M_BIT(5,R->BC.B.h);break; case BIT5_C: M_BIT(5,R->BC.B.l);break; +case BIT5_D: M_BIT(5,R->DE.B.h);break; case BIT5_E: M_BIT(5,R->DE.B.l);break; +case BIT5_H: M_BIT(5,R->HL.B.h);break; case BIT5_L: M_BIT(5,R->HL.B.l);break; +case BIT5_xHL: I=RdZ80(R->HL.W);M_BIT(5,I);break; +case BIT5_A: M_BIT(5,R->AF.B.h);break; + +case BIT6_B: M_BIT(6,R->BC.B.h);break; case BIT6_C: M_BIT(6,R->BC.B.l);break; +case BIT6_D: M_BIT(6,R->DE.B.h);break; case BIT6_E: M_BIT(6,R->DE.B.l);break; +case BIT6_H: M_BIT(6,R->HL.B.h);break; case BIT6_L: M_BIT(6,R->HL.B.l);break; +case BIT6_xHL: I=RdZ80(R->HL.W);M_BIT(6,I);break; +case BIT6_A: M_BIT(6,R->AF.B.h);break; + +case BIT7_B: M_BIT(7,R->BC.B.h);break; case BIT7_C: M_BIT(7,R->BC.B.l);break; +case BIT7_D: M_BIT(7,R->DE.B.h);break; case BIT7_E: M_BIT(7,R->DE.B.l);break; +case BIT7_H: M_BIT(7,R->HL.B.h);break; case BIT7_L: M_BIT(7,R->HL.B.l);break; +case BIT7_xHL: I=RdZ80(R->HL.W);M_BIT(7,I);break; +case BIT7_A: M_BIT(7,R->AF.B.h);break; + +case RES0_B: M_RES(0,R->BC.B.h);break; case RES0_C: M_RES(0,R->BC.B.l);break; +case RES0_D: M_RES(0,R->DE.B.h);break; case RES0_E: M_RES(0,R->DE.B.l);break; +case RES0_H: M_RES(0,R->HL.B.h);break; case RES0_L: M_RES(0,R->HL.B.l);break; +case RES0_xHL: I=RdZ80(R->HL.W);M_RES(0,I);WrZ80(R->HL.W,I);break; +case RES0_A: M_RES(0,R->AF.B.h);break; + +case RES1_B: M_RES(1,R->BC.B.h);break; case RES1_C: M_RES(1,R->BC.B.l);break; +case RES1_D: M_RES(1,R->DE.B.h);break; case RES1_E: M_RES(1,R->DE.B.l);break; +case RES1_H: M_RES(1,R->HL.B.h);break; case RES1_L: M_RES(1,R->HL.B.l);break; +case RES1_xHL: I=RdZ80(R->HL.W);M_RES(1,I);WrZ80(R->HL.W,I);break; +case RES1_A: M_RES(1,R->AF.B.h);break; + +case RES2_B: M_RES(2,R->BC.B.h);break; case RES2_C: M_RES(2,R->BC.B.l);break; +case RES2_D: M_RES(2,R->DE.B.h);break; case RES2_E: M_RES(2,R->DE.B.l);break; +case RES2_H: M_RES(2,R->HL.B.h);break; case RES2_L: M_RES(2,R->HL.B.l);break; +case RES2_xHL: I=RdZ80(R->HL.W);M_RES(2,I);WrZ80(R->HL.W,I);break; +case RES2_A: M_RES(2,R->AF.B.h);break; + +case RES3_B: M_RES(3,R->BC.B.h);break; case RES3_C: M_RES(3,R->BC.B.l);break; +case RES3_D: M_RES(3,R->DE.B.h);break; case RES3_E: M_RES(3,R->DE.B.l);break; +case RES3_H: M_RES(3,R->HL.B.h);break; case RES3_L: M_RES(3,R->HL.B.l);break; +case RES3_xHL: I=RdZ80(R->HL.W);M_RES(3,I);WrZ80(R->HL.W,I);break; +case RES3_A: M_RES(3,R->AF.B.h);break; + +case RES4_B: M_RES(4,R->BC.B.h);break; case RES4_C: M_RES(4,R->BC.B.l);break; +case RES4_D: M_RES(4,R->DE.B.h);break; case RES4_E: M_RES(4,R->DE.B.l);break; +case RES4_H: M_RES(4,R->HL.B.h);break; case RES4_L: M_RES(4,R->HL.B.l);break; +case RES4_xHL: I=RdZ80(R->HL.W);M_RES(4,I);WrZ80(R->HL.W,I);break; +case RES4_A: M_RES(4,R->AF.B.h);break; + +case RES5_B: M_RES(5,R->BC.B.h);break; case RES5_C: M_RES(5,R->BC.B.l);break; +case RES5_D: M_RES(5,R->DE.B.h);break; case RES5_E: M_RES(5,R->DE.B.l);break; +case RES5_H: M_RES(5,R->HL.B.h);break; case RES5_L: M_RES(5,R->HL.B.l);break; +case RES5_xHL: I=RdZ80(R->HL.W);M_RES(5,I);WrZ80(R->HL.W,I);break; +case RES5_A: M_RES(5,R->AF.B.h);break; + +case RES6_B: M_RES(6,R->BC.B.h);break; case RES6_C: M_RES(6,R->BC.B.l);break; +case RES6_D: M_RES(6,R->DE.B.h);break; case RES6_E: M_RES(6,R->DE.B.l);break; +case RES6_H: M_RES(6,R->HL.B.h);break; case RES6_L: M_RES(6,R->HL.B.l);break; +case RES6_xHL: I=RdZ80(R->HL.W);M_RES(6,I);WrZ80(R->HL.W,I);break; +case RES6_A: M_RES(6,R->AF.B.h);break; + +case RES7_B: M_RES(7,R->BC.B.h);break; case RES7_C: M_RES(7,R->BC.B.l);break; +case RES7_D: M_RES(7,R->DE.B.h);break; case RES7_E: M_RES(7,R->DE.B.l);break; +case RES7_H: M_RES(7,R->HL.B.h);break; case RES7_L: M_RES(7,R->HL.B.l);break; +case RES7_xHL: I=RdZ80(R->HL.W);M_RES(7,I);WrZ80(R->HL.W,I);break; +case RES7_A: M_RES(7,R->AF.B.h);break; + +case SET0_B: M_SET(0,R->BC.B.h);break; case SET0_C: M_SET(0,R->BC.B.l);break; +case SET0_D: M_SET(0,R->DE.B.h);break; case SET0_E: M_SET(0,R->DE.B.l);break; +case SET0_H: M_SET(0,R->HL.B.h);break; case SET0_L: M_SET(0,R->HL.B.l);break; +case SET0_xHL: I=RdZ80(R->HL.W);M_SET(0,I);WrZ80(R->HL.W,I);break; +case SET0_A: M_SET(0,R->AF.B.h);break; + +case SET1_B: M_SET(1,R->BC.B.h);break; case SET1_C: M_SET(1,R->BC.B.l);break; +case SET1_D: M_SET(1,R->DE.B.h);break; case SET1_E: M_SET(1,R->DE.B.l);break; +case SET1_H: M_SET(1,R->HL.B.h);break; case SET1_L: M_SET(1,R->HL.B.l);break; +case SET1_xHL: I=RdZ80(R->HL.W);M_SET(1,I);WrZ80(R->HL.W,I);break; +case SET1_A: M_SET(1,R->AF.B.h);break; + +case SET2_B: M_SET(2,R->BC.B.h);break; case SET2_C: M_SET(2,R->BC.B.l);break; +case SET2_D: M_SET(2,R->DE.B.h);break; case SET2_E: M_SET(2,R->DE.B.l);break; +case SET2_H: M_SET(2,R->HL.B.h);break; case SET2_L: M_SET(2,R->HL.B.l);break; +case SET2_xHL: I=RdZ80(R->HL.W);M_SET(2,I);WrZ80(R->HL.W,I);break; +case SET2_A: M_SET(2,R->AF.B.h);break; + +case SET3_B: M_SET(3,R->BC.B.h);break; case SET3_C: M_SET(3,R->BC.B.l);break; +case SET3_D: M_SET(3,R->DE.B.h);break; case SET3_E: M_SET(3,R->DE.B.l);break; +case SET3_H: M_SET(3,R->HL.B.h);break; case SET3_L: M_SET(3,R->HL.B.l);break; +case SET3_xHL: I=RdZ80(R->HL.W);M_SET(3,I);WrZ80(R->HL.W,I);break; +case SET3_A: M_SET(3,R->AF.B.h);break; + +case SET4_B: M_SET(4,R->BC.B.h);break; case SET4_C: M_SET(4,R->BC.B.l);break; +case SET4_D: M_SET(4,R->DE.B.h);break; case SET4_E: M_SET(4,R->DE.B.l);break; +case SET4_H: M_SET(4,R->HL.B.h);break; case SET4_L: M_SET(4,R->HL.B.l);break; +case SET4_xHL: I=RdZ80(R->HL.W);M_SET(4,I);WrZ80(R->HL.W,I);break; +case SET4_A: M_SET(4,R->AF.B.h);break; + +case SET5_B: M_SET(5,R->BC.B.h);break; case SET5_C: M_SET(5,R->BC.B.l);break; +case SET5_D: M_SET(5,R->DE.B.h);break; case SET5_E: M_SET(5,R->DE.B.l);break; +case SET5_H: M_SET(5,R->HL.B.h);break; case SET5_L: M_SET(5,R->HL.B.l);break; +case SET5_xHL: I=RdZ80(R->HL.W);M_SET(5,I);WrZ80(R->HL.W,I);break; +case SET5_A: M_SET(5,R->AF.B.h);break; + +case SET6_B: M_SET(6,R->BC.B.h);break; case SET6_C: M_SET(6,R->BC.B.l);break; +case SET6_D: M_SET(6,R->DE.B.h);break; case SET6_E: M_SET(6,R->DE.B.l);break; +case SET6_H: M_SET(6,R->HL.B.h);break; case SET6_L: M_SET(6,R->HL.B.l);break; +case SET6_xHL: I=RdZ80(R->HL.W);M_SET(6,I);WrZ80(R->HL.W,I);break; +case SET6_A: M_SET(6,R->AF.B.h);break; + +case SET7_B: M_SET(7,R->BC.B.h);break; case SET7_C: M_SET(7,R->BC.B.l);break; +case SET7_D: M_SET(7,R->DE.B.h);break; case SET7_E: M_SET(7,R->DE.B.l);break; +case SET7_H: M_SET(7,R->HL.B.h);break; case SET7_L: M_SET(7,R->HL.B.l);break; +case SET7_xHL: I=RdZ80(R->HL.W);M_SET(7,I);WrZ80(R->HL.W,I);break; +case SET7_A: M_SET(7,R->AF.B.h);break; diff --git a/src/Examples/IoD16kSpectrumEmulator/codesED.h b/src/Examples/IoD16kSpectrumEmulator/codesED.h new file mode 100644 index 0000000..e463b64 --- /dev/null +++ b/src/Examples/IoD16kSpectrumEmulator/codesED.h @@ -0,0 +1,304 @@ +/** Z80: portable Z80 emulator *******************************/ +/** **/ +/** CodesED.h **/ +/** **/ +/** This file contains implementation for the ED table of **/ +/** Z80 commands. It is included from Z80.c. **/ +/** **/ +/** Copyright (C) Marat Fayzullin 1994-2007 **/ +/** You are not allowed to distribute this software **/ +/** commercially. Please, notify me, if you make any **/ +/** changes to this file. **/ +/*************************************************************/ + +/** This is a special patch for emulating BIOS calls: ********/ +//case DB_FE: PatchZ80(R);break; +/*************************************************************/ + +case ADC_HL_BC: M_ADCW(BC);break; +case ADC_HL_DE: M_ADCW(DE);break; +case ADC_HL_HL: M_ADCW(HL);break; +case ADC_HL_SP: M_ADCW(SP);break; + +case SBC_HL_BC: M_SBCW(BC);break; +case SBC_HL_DE: M_SBCW(DE);break; +case SBC_HL_HL: M_SBCW(HL);break; +case SBC_HL_SP: M_SBCW(SP);break; + +case LD_xWORDe_HL: + J.B.l=OpZ80(R->PC.W++); + J.B.h=OpZ80(R->PC.W++); + WrZ80(J.W++,R->HL.B.l); + WrZ80(J.W,R->HL.B.h); + break; +case LD_xWORDe_DE: + J.B.l=OpZ80(R->PC.W++); + J.B.h=OpZ80(R->PC.W++); + WrZ80(J.W++,R->DE.B.l); + WrZ80(J.W,R->DE.B.h); + break; +case LD_xWORDe_BC: + J.B.l=OpZ80(R->PC.W++); + J.B.h=OpZ80(R->PC.W++); + WrZ80(J.W++,R->BC.B.l); + WrZ80(J.W,R->BC.B.h); + break; +case LD_xWORDe_SP: + J.B.l=OpZ80(R->PC.W++); + J.B.h=OpZ80(R->PC.W++); + WrZ80(J.W++,R->SP.B.l); + WrZ80(J.W,R->SP.B.h); + break; + +case LD_HL_xWORDe: + J.B.l=OpZ80(R->PC.W++); + J.B.h=OpZ80(R->PC.W++); + R->HL.B.l=RdZ80(J.W++); + R->HL.B.h=RdZ80(J.W); + break; +case LD_DE_xWORDe: + J.B.l=OpZ80(R->PC.W++); + J.B.h=OpZ80(R->PC.W++); + R->DE.B.l=RdZ80(J.W++); + R->DE.B.h=RdZ80(J.W); + break; +case LD_BC_xWORDe: + J.B.l=OpZ80(R->PC.W++); + J.B.h=OpZ80(R->PC.W++); + R->BC.B.l=RdZ80(J.W++); + R->BC.B.h=RdZ80(J.W); + break; +case LD_SP_xWORDe: + J.B.l=OpZ80(R->PC.W++); + J.B.h=OpZ80(R->PC.W++); + R->SP.B.l=RdZ80(J.W++); + R->SP.B.h=RdZ80(J.W); + break; + +case RRD: + I=RdZ80(R->HL.W); + J.B.l=(I>>4)|(R->AF.B.h<<4); + WrZ80(R->HL.W,J.B.l); + R->AF.B.h=(I&0x0F)|(R->AF.B.h&0xF0); + R->AF.B.l=PZSTable[R->AF.B.h]|(R->AF.B.l&C_FLAG); + break; +case RLD: + I=RdZ80(R->HL.W); + J.B.l=(I<<4)|(R->AF.B.h&0x0F); + WrZ80(R->HL.W,J.B.l); + R->AF.B.h=(I>>4)|(R->AF.B.h&0xF0); + R->AF.B.l=PZSTable[R->AF.B.h]|(R->AF.B.l&C_FLAG); + break; + +case LD_A_I: + R->AF.B.h=R->I; + R->AF.B.l=(R->AF.B.l&C_FLAG)|(R->IFF&IFF_2? P_FLAG:0)|ZSTable[R->AF.B.h]; + break; + +case LD_A_R: + R->R++; + R->AF.B.h=(byte)(R->R-R->ICount); + R->AF.B.l=(R->AF.B.l&C_FLAG)|(R->IFF&IFF_2? P_FLAG:0)|ZSTable[R->AF.B.h]; + break; + +case LD_I_A: R->I=R->AF.B.h;break; +case LD_R_A: break; + +case IM_0: R->IFF&=~(IFF_IM1|IFF_IM2);break; +case IM_1: R->IFF=(R->IFF&~IFF_IM2)|IFF_IM1;break; +case IM_2: R->IFF=(R->IFF&~IFF_IM1)|IFF_IM2;break; + +case RETI: +case RETN: if(R->IFF&IFF_2) R->IFF|=IFF_1; else R->IFF&=~IFF_1; + M_RET;break; + +case NEG: I=R->AF.B.h;R->AF.B.h=0;M_SUB(I);break; + +case IN_B_xC: M_IN(R->BC.B.h);break; +case IN_C_xC: M_IN(R->BC.B.l);break; +case IN_D_xC: M_IN(R->DE.B.h);break; +case IN_E_xC: M_IN(R->DE.B.l);break; +case IN_H_xC: M_IN(R->HL.B.h);break; +case IN_L_xC: M_IN(R->HL.B.l);break; +case IN_A_xC: M_IN(R->AF.B.h);break; +case IN_F_xC: M_IN(J.B.l);break; + +case OUT_xC_B: OutZ80(R->BC.W,R->BC.B.h);break; +case OUT_xC_C: OutZ80(R->BC.W,R->BC.B.l);break; +case OUT_xC_D: OutZ80(R->BC.W,R->DE.B.h);break; +case OUT_xC_E: OutZ80(R->BC.W,R->DE.B.l);break; +case OUT_xC_H: OutZ80(R->BC.W,R->HL.B.h);break; +case OUT_xC_L: OutZ80(R->BC.W,R->HL.B.l);break; +case OUT_xC_A: OutZ80(R->BC.W,R->AF.B.h);break; + +case INI: + WrZ80(R->HL.W++,InZ80(R->BC.W)); + --R->BC.B.h; + R->AF.B.l=N_FLAG|(R->BC.B.h? 0:Z_FLAG); + break; + +case INIR: + do + { + WrZ80(R->HL.W++,InZ80(R->BC.W)); + --R->BC.B.h;R->ICount-=21; + } + while(R->BC.B.h&&(R->ICount>0)); + if(R->BC.B.h) { R->AF.B.l=N_FLAG;R->PC.W-=2; } + else { R->AF.B.l=Z_FLAG|N_FLAG;R->ICount+=5; } + break; + +case IND: + WrZ80(R->HL.W--,InZ80(R->BC.W)); + --R->BC.B.h; + R->AF.B.l=N_FLAG|(R->BC.B.h? 0:Z_FLAG); + break; + +case INDR: + do + { + WrZ80(R->HL.W--,InZ80(R->BC.W)); + --R->BC.B.h;R->ICount-=21; + } + while(R->BC.B.h&&(R->ICount>0)); + if(R->BC.B.h) { R->AF.B.l=N_FLAG;R->PC.W-=2; } + else { R->AF.B.l=Z_FLAG|N_FLAG;R->ICount+=5; } + break; + +case OUTI: + --R->BC.B.h; + I=RdZ80(R->HL.W++); + OutZ80(R->BC.W,I); + R->AF.B.l=N_FLAG|(R->BC.B.h? 0:Z_FLAG)|(R->HL.B.l+I>255? (C_FLAG|H_FLAG):0); + break; + +case OTIR: + do + { + --R->BC.B.h; + I=RdZ80(R->HL.W++); + OutZ80(R->BC.W,I); + R->ICount-=21; + } + while(R->BC.B.h&&(R->ICount>0)); + if(R->BC.B.h) + { + R->AF.B.l=N_FLAG|(R->HL.B.l+I>255? (C_FLAG|H_FLAG):0); + R->PC.W-=2; + } + else + { + R->AF.B.l=Z_FLAG|N_FLAG|(R->HL.B.l+I>255? (C_FLAG|H_FLAG):0); + R->ICount+=5; + } + break; + +case OUTD: + --R->BC.B.h; + I=RdZ80(R->HL.W--); + OutZ80(R->BC.W,I); + R->AF.B.l=N_FLAG|(R->BC.B.h? 0:Z_FLAG)|(R->HL.B.l+I>255? (C_FLAG|H_FLAG):0); + break; + +case OTDR: + do + { + --R->BC.B.h; + I=RdZ80(R->HL.W--); + OutZ80(R->BC.W,I); + R->ICount-=21; + } + while(R->BC.B.h&&(R->ICount>0)); + if(R->BC.B.h) + { + R->AF.B.l=N_FLAG|(R->HL.B.l+I>255? (C_FLAG|H_FLAG):0); + R->PC.W-=2; + } + else + { + R->AF.B.l=Z_FLAG|N_FLAG|(R->HL.B.l+I>255? (C_FLAG|H_FLAG):0); + R->ICount+=5; + } + break; + +case LDI: + WrZ80(R->DE.W++,RdZ80(R->HL.W++)); + --R->BC.W; + R->AF.B.l=(R->AF.B.l&~(N_FLAG|H_FLAG|P_FLAG))|(R->BC.W? P_FLAG:0); + break; + +case LDIR: + do + { + WrZ80(R->DE.W++,RdZ80(R->HL.W++)); + --R->BC.W;R->ICount-=21; + } + while(R->BC.W&&(R->ICount>0)); + R->AF.B.l&=~(N_FLAG|H_FLAG|P_FLAG); + if(R->BC.W) { R->AF.B.l|=N_FLAG;R->PC.W-=2; } + else R->ICount+=5; + break; + +case LDD: + WrZ80(R->DE.W--,RdZ80(R->HL.W--)); + --R->BC.W; + R->AF.B.l=(R->AF.B.l&~(N_FLAG|H_FLAG|P_FLAG))|(R->BC.W? P_FLAG:0); + break; + +case LDDR: + do + { + WrZ80(R->DE.W--,RdZ80(R->HL.W--)); + --R->BC.W;R->ICount-=21; + } + while(R->BC.W&&(R->ICount>0)); + R->AF.B.l&=~(N_FLAG|H_FLAG|P_FLAG); + if(R->BC.W) { R->AF.B.l|=N_FLAG;R->PC.W-=2; } + else R->ICount+=5; + break; + +case CPI: + I=RdZ80(R->HL.W++); + J.B.l=R->AF.B.h-I; + --R->BC.W; + R->AF.B.l = + N_FLAG|(R->AF.B.l&C_FLAG)|ZSTable[J.B.l]| + ((R->AF.B.h^I^J.B.l)&H_FLAG)|(R->BC.W? P_FLAG:0); + break; + +case CPIR: + do + { + I=RdZ80(R->HL.W++); + J.B.l=R->AF.B.h-I; + --R->BC.W;R->ICount-=21; + } + while(R->BC.W&&J.B.l&&(R->ICount>0)); + R->AF.B.l = + N_FLAG|(R->AF.B.l&C_FLAG)|ZSTable[J.B.l]| + ((R->AF.B.h^I^J.B.l)&H_FLAG)|(R->BC.W? P_FLAG:0); + if(R->BC.W&&J.B.l) R->PC.W-=2; else R->ICount+=5; + break; + +case CPD: + I=RdZ80(R->HL.W--); + J.B.l=R->AF.B.h-I; + --R->BC.W; + R->AF.B.l = + N_FLAG|(R->AF.B.l&C_FLAG)|ZSTable[J.B.l]| + ((R->AF.B.h^I^J.B.l)&H_FLAG)|(R->BC.W? P_FLAG:0); + break; + +case CPDR: + do + { + I=RdZ80(R->HL.W--); + J.B.l=R->AF.B.h-I; + --R->BC.W;R->ICount-=21; + } + while(R->BC.W&&J.B.l); + R->AF.B.l = + N_FLAG|(R->AF.B.l&C_FLAG)|ZSTable[J.B.l]| + ((R->AF.B.h^I^J.B.l)&H_FLAG)|(R->BC.W? P_FLAG:0); + if(R->BC.W&&J.B.l) R->PC.W-=2; else R->ICount+=5; + break; diff --git a/src/Examples/IoD16kSpectrumEmulator/codesXCB.h b/src/Examples/IoD16kSpectrumEmulator/codesXCB.h new file mode 100644 index 0000000..9a89306 --- /dev/null +++ b/src/Examples/IoD16kSpectrumEmulator/codesXCB.h @@ -0,0 +1,64 @@ +/** Z80: portable Z80 emulator *******************************/ +/** **/ +/** CodesXCB.h **/ +/** **/ +/** This file contains implementation for FD/DD-CB tables **/ +/** of Z80 commands. It is included from Z80.c. **/ +/** **/ +/** Copyright (C) Marat Fayzullin 1994-2007 **/ +/** You are not allowed to distribute this software **/ +/** commercially. Please, notify me, if you make any **/ +/** changes to this file. **/ +/*************************************************************/ + +case RLC_xHL: I=RdZ80(J.W);M_RLC(I);WrZ80(J.W,I);break; +case RRC_xHL: I=RdZ80(J.W);M_RRC(I);WrZ80(J.W,I);break; +case RL_xHL: I=RdZ80(J.W);M_RL(I);WrZ80(J.W,I);break; +case RR_xHL: I=RdZ80(J.W);M_RR(I);WrZ80(J.W,I);break; +case SLA_xHL: I=RdZ80(J.W);M_SLA(I);WrZ80(J.W,I);break; +case SRA_xHL: I=RdZ80(J.W);M_SRA(I);WrZ80(J.W,I);break; +case SLL_xHL: I=RdZ80(J.W);M_SLL(I);WrZ80(J.W,I);break; +case SRL_xHL: I=RdZ80(J.W);M_SRL(I);WrZ80(J.W,I);break; + +case BIT0_B: case BIT0_C: case BIT0_D: case BIT0_E: +case BIT0_H: case BIT0_L: case BIT0_A: +case BIT0_xHL: I=RdZ80(J.W);M_BIT(0,I);break; +case BIT1_B: case BIT1_C: case BIT1_D: case BIT1_E: +case BIT1_H: case BIT1_L: case BIT1_A: +case BIT1_xHL: I=RdZ80(J.W);M_BIT(1,I);break; +case BIT2_B: case BIT2_C: case BIT2_D: case BIT2_E: +case BIT2_H: case BIT2_L: case BIT2_A: +case BIT2_xHL: I=RdZ80(J.W);M_BIT(2,I);break; +case BIT3_B: case BIT3_C: case BIT3_D: case BIT3_E: +case BIT3_H: case BIT3_L: case BIT3_A: +case BIT3_xHL: I=RdZ80(J.W);M_BIT(3,I);break; +case BIT4_B: case BIT4_C: case BIT4_D: case BIT4_E: +case BIT4_H: case BIT4_L: case BIT4_A: +case BIT4_xHL: I=RdZ80(J.W);M_BIT(4,I);break; +case BIT5_B: case BIT5_C: case BIT5_D: case BIT5_E: +case BIT5_H: case BIT5_L: case BIT5_A: +case BIT5_xHL: I=RdZ80(J.W);M_BIT(5,I);break; +case BIT6_B: case BIT6_C: case BIT6_D: case BIT6_E: +case BIT6_H: case BIT6_L: case BIT6_A: +case BIT6_xHL: I=RdZ80(J.W);M_BIT(6,I);break; +case BIT7_B: case BIT7_C: case BIT7_D: case BIT7_E: +case BIT7_H: case BIT7_L: case BIT7_A: +case BIT7_xHL: I=RdZ80(J.W);M_BIT(7,I);break; + +case RES0_xHL: I=RdZ80(J.W);M_RES(0,I);WrZ80(J.W,I);break; +case RES1_xHL: I=RdZ80(J.W);M_RES(1,I);WrZ80(J.W,I);break; +case RES2_xHL: I=RdZ80(J.W);M_RES(2,I);WrZ80(J.W,I);break; +case RES3_xHL: I=RdZ80(J.W);M_RES(3,I);WrZ80(J.W,I);break; +case RES4_xHL: I=RdZ80(J.W);M_RES(4,I);WrZ80(J.W,I);break; +case RES5_xHL: I=RdZ80(J.W);M_RES(5,I);WrZ80(J.W,I);break; +case RES6_xHL: I=RdZ80(J.W);M_RES(6,I);WrZ80(J.W,I);break; +case RES7_xHL: I=RdZ80(J.W);M_RES(7,I);WrZ80(J.W,I);break; + +case SET0_xHL: I=RdZ80(J.W);M_SET(0,I);WrZ80(J.W,I);break; +case SET1_xHL: I=RdZ80(J.W);M_SET(1,I);WrZ80(J.W,I);break; +case SET2_xHL: I=RdZ80(J.W);M_SET(2,I);WrZ80(J.W,I);break; +case SET3_xHL: I=RdZ80(J.W);M_SET(3,I);WrZ80(J.W,I);break; +case SET4_xHL: I=RdZ80(J.W);M_SET(4,I);WrZ80(J.W,I);break; +case SET5_xHL: I=RdZ80(J.W);M_SET(5,I);WrZ80(J.W,I);break; +case SET6_xHL: I=RdZ80(J.W);M_SET(6,I);WrZ80(J.W,I);break; +case SET7_xHL: I=RdZ80(J.W);M_SET(7,I);WrZ80(J.W,I);break; diff --git a/src/Examples/IoD16kSpectrumEmulator/codesXX.h b/src/Examples/IoD16kSpectrumEmulator/codesXX.h new file mode 100644 index 0000000..ad84f45 --- /dev/null +++ b/src/Examples/IoD16kSpectrumEmulator/codesXX.h @@ -0,0 +1,396 @@ +/** Z80: portable Z80 emulator *******************************/ +/** **/ +/** CodesXX.h **/ +/** **/ +/** This file contains implementation for FD/DD tables of **/ +/** Z80 commands. It is included from Z80.c. **/ +/** **/ +/** Copyright (C) Marat Fayzullin 1994-2007 **/ +/** You are not allowed to distribute this software **/ +/** commercially. Please, notify me, if you make any **/ +/** changes to this file. **/ +/*************************************************************/ + +case JR_NZ: if(R->AF.B.l&Z_FLAG) R->PC.W++; else { R->ICount-=5;M_JR; } break; +case JR_NC: if(R->AF.B.l&C_FLAG) R->PC.W++; else { R->ICount-=5;M_JR; } break; +case JR_Z: if(R->AF.B.l&Z_FLAG) { R->ICount-=5;M_JR; } else R->PC.W++; break; +case JR_C: if(R->AF.B.l&C_FLAG) { R->ICount-=5;M_JR; } else R->PC.W++; break; + +case JP_NZ: if(R->AF.B.l&Z_FLAG) R->PC.W+=2; else { M_JP; } break; +case JP_NC: if(R->AF.B.l&C_FLAG) R->PC.W+=2; else { M_JP; } break; +case JP_PO: if(R->AF.B.l&P_FLAG) R->PC.W+=2; else { M_JP; } break; +case JP_P: if(R->AF.B.l&S_FLAG) R->PC.W+=2; else { M_JP; } break; +case JP_Z: if(R->AF.B.l&Z_FLAG) { M_JP; } else R->PC.W+=2; break; +case JP_C: if(R->AF.B.l&C_FLAG) { M_JP; } else R->PC.W+=2; break; +case JP_PE: if(R->AF.B.l&P_FLAG) { M_JP; } else R->PC.W+=2; break; +case JP_M: if(R->AF.B.l&S_FLAG) { M_JP; } else R->PC.W+=2; break; + +case RET_NZ: if(!(R->AF.B.l&Z_FLAG)) { R->ICount-=6;M_RET; } break; +case RET_NC: if(!(R->AF.B.l&C_FLAG)) { R->ICount-=6;M_RET; } break; +case RET_PO: if(!(R->AF.B.l&P_FLAG)) { R->ICount-=6;M_RET; } break; +case RET_P: if(!(R->AF.B.l&S_FLAG)) { R->ICount-=6;M_RET; } break; +case RET_Z: if(R->AF.B.l&Z_FLAG) { R->ICount-=6;M_RET; } break; +case RET_C: if(R->AF.B.l&C_FLAG) { R->ICount-=6;M_RET; } break; +case RET_PE: if(R->AF.B.l&P_FLAG) { R->ICount-=6;M_RET; } break; +case RET_M: if(R->AF.B.l&S_FLAG) { R->ICount-=6;M_RET; } break; + +case CALL_NZ: if(R->AF.B.l&Z_FLAG) R->PC.W+=2; else { R->ICount-=7;M_CALL; } break; +case CALL_NC: if(R->AF.B.l&C_FLAG) R->PC.W+=2; else { R->ICount-=7;M_CALL; } break; +case CALL_PO: if(R->AF.B.l&P_FLAG) R->PC.W+=2; else { R->ICount-=7;M_CALL; } break; +case CALL_P: if(R->AF.B.l&S_FLAG) R->PC.W+=2; else { R->ICount-=7;M_CALL; } break; +case CALL_Z: if(R->AF.B.l&Z_FLAG) { R->ICount-=7;M_CALL; } else R->PC.W+=2; break; +case CALL_C: if(R->AF.B.l&C_FLAG) { R->ICount-=7;M_CALL; } else R->PC.W+=2; break; +case CALL_PE: if(R->AF.B.l&P_FLAG) { R->ICount-=7;M_CALL; } else R->PC.W+=2; break; +case CALL_M: if(R->AF.B.l&S_FLAG) { R->ICount-=7;M_CALL; } else R->PC.W+=2; break; + +case ADD_B: M_ADD(R->BC.B.h);break; +case ADD_C: M_ADD(R->BC.B.l);break; +case ADD_D: M_ADD(R->DE.B.h);break; +case ADD_E: M_ADD(R->DE.B.l);break; +case ADD_H: M_ADD(R->XX.B.h);break; +case ADD_L: M_ADD(R->XX.B.l);break; +case ADD_A: M_ADD(R->AF.B.h);break; +case ADD_xHL: I=RdZ80(R->XX.W+(offset)OpZ80(R->PC.W++)); + M_ADD(I);break; +case ADD_BYTE: I=OpZ80(R->PC.W++);M_ADD(I);break; + +case SUB_B: M_SUB(R->BC.B.h);break; +case SUB_C: M_SUB(R->BC.B.l);break; +case SUB_D: M_SUB(R->DE.B.h);break; +case SUB_E: M_SUB(R->DE.B.l);break; +case SUB_H: M_SUB(R->XX.B.h);break; +case SUB_L: M_SUB(R->XX.B.l);break; +case SUB_A: R->AF.B.h=0;R->AF.B.l=N_FLAG|Z_FLAG;break; +case SUB_xHL: I=RdZ80(R->XX.W+(offset)OpZ80(R->PC.W++)); + M_SUB(I);break; +case SUB_BYTE: I=OpZ80(R->PC.W++);M_SUB(I);break; + +case AND_B: M_AND(R->BC.B.h);break; +case AND_C: M_AND(R->BC.B.l);break; +case AND_D: M_AND(R->DE.B.h);break; +case AND_E: M_AND(R->DE.B.l);break; +case AND_H: M_AND(R->XX.B.h);break; +case AND_L: M_AND(R->XX.B.l);break; +case AND_A: M_AND(R->AF.B.h);break; +case AND_xHL: I=RdZ80(R->XX.W+(offset)OpZ80(R->PC.W++)); + M_AND(I);break; +case AND_BYTE: I=OpZ80(R->PC.W++);M_AND(I);break; + +case OR_B: M_OR(R->BC.B.h);break; +case OR_C: M_OR(R->BC.B.l);break; +case OR_D: M_OR(R->DE.B.h);break; +case OR_E: M_OR(R->DE.B.l);break; +case OR_H: M_OR(R->XX.B.h);break; +case OR_L: M_OR(R->XX.B.l);break; +case OR_A: M_OR(R->AF.B.h);break; +case OR_xHL: I=RdZ80(R->XX.W+(offset)OpZ80(R->PC.W++)); + M_OR(I);break; +case OR_BYTE: I=OpZ80(R->PC.W++);M_OR(I);break; + +case ADC_B: M_ADC(R->BC.B.h);break; +case ADC_C: M_ADC(R->BC.B.l);break; +case ADC_D: M_ADC(R->DE.B.h);break; +case ADC_E: M_ADC(R->DE.B.l);break; +case ADC_H: M_ADC(R->XX.B.h);break; +case ADC_L: M_ADC(R->XX.B.l);break; +case ADC_A: M_ADC(R->AF.B.h);break; +case ADC_xHL: I=RdZ80(R->XX.W+(offset)OpZ80(R->PC.W++)); + M_ADC(I);break; +case ADC_BYTE: I=OpZ80(R->PC.W++);M_ADC(I);break; + +case SBC_B: M_SBC(R->BC.B.h);break; +case SBC_C: M_SBC(R->BC.B.l);break; +case SBC_D: M_SBC(R->DE.B.h);break; +case SBC_E: M_SBC(R->DE.B.l);break; +case SBC_H: M_SBC(R->XX.B.h);break; +case SBC_L: M_SBC(R->XX.B.l);break; +case SBC_A: M_SBC(R->AF.B.h);break; +case SBC_xHL: I=RdZ80(R->XX.W+(offset)OpZ80(R->PC.W++)); + M_SBC(I);break; +case SBC_BYTE: I=OpZ80(R->PC.W++);M_SBC(I);break; + +case XOR_B: M_XOR(R->BC.B.h);break; +case XOR_C: M_XOR(R->BC.B.l);break; +case XOR_D: M_XOR(R->DE.B.h);break; +case XOR_E: M_XOR(R->DE.B.l);break; +case XOR_H: M_XOR(R->XX.B.h);break; +case XOR_L: M_XOR(R->XX.B.l);break; +case XOR_A: R->AF.B.h=0;R->AF.B.l=P_FLAG|Z_FLAG;break; +case XOR_xHL: I=RdZ80(R->XX.W+(offset)OpZ80(R->PC.W++)); + M_XOR(I);break; +case XOR_BYTE: I=OpZ80(R->PC.W++);M_XOR(I);break; + +case CP_B: M_CP(R->BC.B.h);break; +case CP_C: M_CP(R->BC.B.l);break; +case CP_D: M_CP(R->DE.B.h);break; +case CP_E: M_CP(R->DE.B.l);break; +case CP_H: M_CP(R->XX.B.h);break; +case CP_L: M_CP(R->XX.B.l);break; +case CP_A: R->AF.B.l=N_FLAG|Z_FLAG;break; +case CP_xHL: I=RdZ80(R->XX.W+(offset)OpZ80(R->PC.W++)); + M_CP(I);break; +case CP_BYTE: I=OpZ80(R->PC.W++);M_CP(I);break; + +case LD_BC_WORD: M_LDWORD(BC);break; +case LD_DE_WORD: M_LDWORD(DE);break; +case LD_HL_WORD: M_LDWORD(XX);break; +case LD_SP_WORD: M_LDWORD(SP);break; + +case LD_PC_HL: R->PC.W=R->XX.W;JumpZ80(R->PC.W);break; +case LD_SP_HL: R->SP.W=R->XX.W;break; +case LD_A_xBC: R->AF.B.h=RdZ80(R->BC.W);break; +case LD_A_xDE: R->AF.B.h=RdZ80(R->DE.W);break; + +case ADD_HL_BC: M_ADDW(XX,BC);break; +case ADD_HL_DE: M_ADDW(XX,DE);break; +case ADD_HL_HL: M_ADDW(XX,XX);break; +case ADD_HL_SP: M_ADDW(XX,SP);break; + +case DEC_BC: R->BC.W--;break; +case DEC_DE: R->DE.W--;break; +case DEC_HL: R->XX.W--;break; +case DEC_SP: R->SP.W--;break; + +case INC_BC: R->BC.W++;break; +case INC_DE: R->DE.W++;break; +case INC_HL: R->XX.W++;break; +case INC_SP: R->SP.W++;break; + +case DEC_B: M_DEC(R->BC.B.h);break; +case DEC_C: M_DEC(R->BC.B.l);break; +case DEC_D: M_DEC(R->DE.B.h);break; +case DEC_E: M_DEC(R->DE.B.l);break; +case DEC_H: M_DEC(R->XX.B.h);break; +case DEC_L: M_DEC(R->XX.B.l);break; +case DEC_A: M_DEC(R->AF.B.h);break; +case DEC_xHL: I=RdZ80(R->XX.W+(offset)RdZ80(R->PC.W));M_DEC(I); + WrZ80(R->XX.W+(offset)OpZ80(R->PC.W++),I); + break; + +case INC_B: M_INC(R->BC.B.h);break; +case INC_C: M_INC(R->BC.B.l);break; +case INC_D: M_INC(R->DE.B.h);break; +case INC_E: M_INC(R->DE.B.l);break; +case INC_H: M_INC(R->XX.B.h);break; +case INC_L: M_INC(R->XX.B.l);break; +case INC_A: M_INC(R->AF.B.h);break; +case INC_xHL: I=RdZ80(R->XX.W+(offset)RdZ80(R->PC.W));M_INC(I); + WrZ80(R->XX.W+(offset)OpZ80(R->PC.W++),I); + break; + +case RLCA: + I=(R->AF.B.h&0x80? C_FLAG:0); + R->AF.B.h=(R->AF.B.h<<1)|I; + R->AF.B.l=(R->AF.B.l&~(C_FLAG|N_FLAG|H_FLAG))|I; + break; +case RLA: + I=(R->AF.B.h&0x80? C_FLAG:0); + R->AF.B.h=(R->AF.B.h<<1)|(R->AF.B.l&C_FLAG); + R->AF.B.l=(R->AF.B.l&~(C_FLAG|N_FLAG|H_FLAG))|I; + break; +case RRCA: + I=R->AF.B.h&0x01; + R->AF.B.h=(R->AF.B.h>>1)|(I? 0x80:0); + R->AF.B.l=(R->AF.B.l&~(C_FLAG|N_FLAG|H_FLAG))|I; + break; +case RRA: + I=R->AF.B.h&0x01; + R->AF.B.h=(R->AF.B.h>>1)|(R->AF.B.l&C_FLAG? 0x80:0); + R->AF.B.l=(R->AF.B.l&~(C_FLAG|N_FLAG|H_FLAG))|I; + break; + +case RST00: M_RST(0x0000);break; +case RST08: M_RST(0x0008);break; +case RST10: M_RST(0x0010);break; +case RST18: M_RST(0x0018);break; +case RST20: M_RST(0x0020);break; +case RST28: M_RST(0x0028);break; +case RST30: M_RST(0x0030);break; +case RST38: M_RST(0x0038);break; + +case PUSH_BC: M_PUSH(BC);break; +case PUSH_DE: M_PUSH(DE);break; +case PUSH_HL: M_PUSH(XX);break; +case PUSH_AF: M_PUSH(AF);break; + +case POP_BC: M_POP(BC);break; +case POP_DE: M_POP(DE);break; +case POP_HL: M_POP(XX);break; +case POP_AF: M_POP(AF);break; + +case DJNZ: if(--R->BC.B.h) { R->ICount-=5;M_JR; } else R->PC.W++;break; +case JP: M_JP;break; +case JR: M_JR;break; +case CALL: M_CALL;break; +case RET: M_RET;break; +case SCF: S(C_FLAG);R(N_FLAG|H_FLAG);break; +case CPL: R->AF.B.h=~R->AF.B.h;S(N_FLAG|H_FLAG);break; +case NOP: break; +case OUTA: I=OpZ80(R->PC.W++);OutZ80(I|(R->AF.W&0xFF00),R->AF.B.h);break; +case INA: I=OpZ80(R->PC.W++);R->AF.B.h=InZ80(I|(R->AF.W&0xFF00));break; + +case HALT: + R->PC.W--; + R->IFF|=IFF_HALT; + R->IBackup=0; + R->ICount=0; + break; + +case DI: + if(R->IFF&IFF_EI) R->ICount+=R->IBackup-1; + R->IFF&=~(IFF_1|IFF_2|IFF_EI); + break; + +case EI: + if(!(R->IFF&(IFF_1|IFF_EI))) + { + R->IFF|=IFF_2|IFF_EI; + R->IBackup=R->ICount; + R->ICount=1; + } + break; + +case CCF: + R->AF.B.l^=C_FLAG;R(N_FLAG|H_FLAG); + R->AF.B.l|=R->AF.B.l&C_FLAG? 0:H_FLAG; + break; + +case EXX: + J.W=R->BC.W;R->BC.W=R->BC1.W;R->BC1.W=J.W; + J.W=R->DE.W;R->DE.W=R->DE1.W;R->DE1.W=J.W; + J.W=R->HL.W;R->HL.W=R->HL1.W;R->HL1.W=J.W; + break; + +case EX_DE_HL: J.W=R->DE.W;R->DE.W=R->HL.W;R->HL.W=J.W;break; +case EX_AF_AF: J.W=R->AF.W;R->AF.W=R->AF1.W;R->AF1.W=J.W;break; + +case LD_B_B: R->BC.B.h=R->BC.B.h;break; +case LD_C_B: R->BC.B.l=R->BC.B.h;break; +case LD_D_B: R->DE.B.h=R->BC.B.h;break; +case LD_E_B: R->DE.B.l=R->BC.B.h;break; +case LD_H_B: R->XX.B.h=R->BC.B.h;break; +case LD_L_B: R->XX.B.l=R->BC.B.h;break; +case LD_A_B: R->AF.B.h=R->BC.B.h;break; +case LD_xHL_B: J.W=R->XX.W+(offset)OpZ80(R->PC.W++); + WrZ80(J.W,R->BC.B.h);break; + +case LD_B_C: R->BC.B.h=R->BC.B.l;break; +case LD_C_C: R->BC.B.l=R->BC.B.l;break; +case LD_D_C: R->DE.B.h=R->BC.B.l;break; +case LD_E_C: R->DE.B.l=R->BC.B.l;break; +case LD_H_C: R->XX.B.h=R->BC.B.l;break; +case LD_L_C: R->XX.B.l=R->BC.B.l;break; +case LD_A_C: R->AF.B.h=R->BC.B.l;break; +case LD_xHL_C: J.W=R->XX.W+(offset)OpZ80(R->PC.W++); + WrZ80(J.W,R->BC.B.l);break; + +case LD_B_D: R->BC.B.h=R->DE.B.h;break; +case LD_C_D: R->BC.B.l=R->DE.B.h;break; +case LD_D_D: R->DE.B.h=R->DE.B.h;break; +case LD_E_D: R->DE.B.l=R->DE.B.h;break; +case LD_H_D: R->XX.B.h=R->DE.B.h;break; +case LD_L_D: R->XX.B.l=R->DE.B.h;break; +case LD_A_D: R->AF.B.h=R->DE.B.h;break; +case LD_xHL_D: J.W=R->XX.W+(offset)OpZ80(R->PC.W++); + WrZ80(J.W,R->DE.B.h);break; + +case LD_B_E: R->BC.B.h=R->DE.B.l;break; +case LD_C_E: R->BC.B.l=R->DE.B.l;break; +case LD_D_E: R->DE.B.h=R->DE.B.l;break; +case LD_E_E: R->DE.B.l=R->DE.B.l;break; +case LD_H_E: R->XX.B.h=R->DE.B.l;break; +case LD_L_E: R->XX.B.l=R->DE.B.l;break; +case LD_A_E: R->AF.B.h=R->DE.B.l;break; +case LD_xHL_E: J.W=R->XX.W+(offset)OpZ80(R->PC.W++); + WrZ80(J.W,R->DE.B.l);break; + +case LD_B_H: R->BC.B.h=R->XX.B.h;break; +case LD_C_H: R->BC.B.l=R->XX.B.h;break; +case LD_D_H: R->DE.B.h=R->XX.B.h;break; +case LD_E_H: R->DE.B.l=R->XX.B.h;break; +case LD_H_H: R->XX.B.h=R->XX.B.h;break; +case LD_L_H: R->XX.B.l=R->XX.B.h;break; +case LD_A_H: R->AF.B.h=R->XX.B.h;break; +case LD_xHL_H: J.W=R->XX.W+(offset)OpZ80(R->PC.W++); + WrZ80(J.W,R->HL.B.h);break; + +case LD_B_L: R->BC.B.h=R->XX.B.l;break; +case LD_C_L: R->BC.B.l=R->XX.B.l;break; +case LD_D_L: R->DE.B.h=R->XX.B.l;break; +case LD_E_L: R->DE.B.l=R->XX.B.l;break; +case LD_H_L: R->XX.B.h=R->XX.B.l;break; +case LD_L_L: R->XX.B.l=R->XX.B.l;break; +case LD_A_L: R->AF.B.h=R->XX.B.l;break; +case LD_xHL_L: J.W=R->XX.W+(offset)OpZ80(R->PC.W++); + WrZ80(J.W,R->HL.B.l);break; + +case LD_B_A: R->BC.B.h=R->AF.B.h;break; +case LD_C_A: R->BC.B.l=R->AF.B.h;break; +case LD_D_A: R->DE.B.h=R->AF.B.h;break; +case LD_E_A: R->DE.B.l=R->AF.B.h;break; +case LD_H_A: R->XX.B.h=R->AF.B.h;break; +case LD_L_A: R->XX.B.l=R->AF.B.h;break; +case LD_A_A: R->AF.B.h=R->AF.B.h;break; +case LD_xHL_A: J.W=R->XX.W+(offset)OpZ80(R->PC.W++); + WrZ80(J.W,R->AF.B.h);break; + +case LD_xBC_A: WrZ80(R->BC.W,R->AF.B.h);break; +case LD_xDE_A: WrZ80(R->DE.W,R->AF.B.h);break; + +case LD_B_xHL: R->BC.B.h=RdZ80(R->XX.W+(offset)OpZ80(R->PC.W++));break; +case LD_C_xHL: R->BC.B.l=RdZ80(R->XX.W+(offset)OpZ80(R->PC.W++));break; +case LD_D_xHL: R->DE.B.h=RdZ80(R->XX.W+(offset)OpZ80(R->PC.W++));break; +case LD_E_xHL: R->DE.B.l=RdZ80(R->XX.W+(offset)OpZ80(R->PC.W++));break; +case LD_H_xHL: R->HL.B.h=RdZ80(R->XX.W+(offset)OpZ80(R->PC.W++));break; +case LD_L_xHL: R->HL.B.l=RdZ80(R->XX.W+(offset)OpZ80(R->PC.W++));break; +case LD_A_xHL: R->AF.B.h=RdZ80(R->XX.W+(offset)OpZ80(R->PC.W++));break; + +case LD_B_BYTE: R->BC.B.h=OpZ80(R->PC.W++);break; +case LD_C_BYTE: R->BC.B.l=OpZ80(R->PC.W++);break; +case LD_D_BYTE: R->DE.B.h=OpZ80(R->PC.W++);break; +case LD_E_BYTE: R->DE.B.l=OpZ80(R->PC.W++);break; +case LD_H_BYTE: R->XX.B.h=OpZ80(R->PC.W++);break; +case LD_L_BYTE: R->XX.B.l=OpZ80(R->PC.W++);break; +case LD_A_BYTE: R->AF.B.h=OpZ80(R->PC.W++);break; +case LD_xHL_BYTE: J.W=R->XX.W+(offset)OpZ80(R->PC.W++); + WrZ80(J.W,OpZ80(R->PC.W++));break; + +case LD_xWORD_HL: + J.B.l=OpZ80(R->PC.W++); + J.B.h=OpZ80(R->PC.W++); + WrZ80(J.W++,R->XX.B.l); + WrZ80(J.W,R->XX.B.h); + break; + +case LD_HL_xWORD: + J.B.l=OpZ80(R->PC.W++); + J.B.h=OpZ80(R->PC.W++); + R->XX.B.l=RdZ80(J.W++); + R->XX.B.h=RdZ80(J.W); + break; + +case LD_A_xWORD: + J.B.l=OpZ80(R->PC.W++); + J.B.h=OpZ80(R->PC.W++); + R->AF.B.h=RdZ80(J.W); + break; + +case LD_xWORD_A: + J.B.l=OpZ80(R->PC.W++); + J.B.h=OpZ80(R->PC.W++); + WrZ80(J.W,R->AF.B.h); + break; + +case EX_HL_xSP: + J.B.l=RdZ80(R->SP.W);WrZ80(R->SP.W++,R->XX.B.l); + J.B.h=RdZ80(R->SP.W);WrZ80(R->SP.W--,R->XX.B.h); + R->XX.W=J.W; + break; + +case DAA: + J.W=R->AF.B.h; + if(R->AF.B.l&C_FLAG) J.W|=256; + if(R->AF.B.l&H_FLAG) J.W|=512; + if(R->AF.B.l&N_FLAG) J.W|=1024; + R->AF.W=DAATable[J.W]; + break; diff --git a/src/Examples/IoD16kSpectrumEmulator/tables.h b/src/Examples/IoD16kSpectrumEmulator/tables.h new file mode 100644 index 0000000..dbb299a --- /dev/null +++ b/src/Examples/IoD16kSpectrumEmulator/tables.h @@ -0,0 +1,447 @@ +/** Z80: portable Z80 emulator *******************************/ +/** **/ +/** Tables.h **/ +/** **/ +/** This file contains tables of used by Z80 emulation to **/ +/** compute SIGN,ZERO, PARITY flags, and decimal correction **/ +/** There are also timing tables for Z80 opcodes. This file **/ +/** is included from Z80.c. **/ +/** **/ +/** Copyright (C) Marat Fayzullin 1994-2007 **/ +/** You are not allowed to distribute this software **/ +/** commercially. Please, notify me, if you make any **/ +/** changes to this file. **/ +/*************************************************************/ + +static const byte Cycles[256] = +{ + 4,10, 7, 6, 4, 4, 7, 4, 4,11, 7, 6, 4, 4, 7, 4, + 8,10, 7, 6, 4, 4, 7, 4,12,11, 7, 6, 4, 4, 7, 4, + 7,10,16, 6, 4, 4, 7, 4, 7,11,16, 6, 4, 4, 7, 4, + 7,10,13, 6,11,11,10, 4, 7,11,13, 6, 4, 4, 7, 4, + 4, 4, 4, 4, 4, 4, 7, 4, 4, 4, 4, 4, 4, 4, 7, 4, + 4, 4, 4, 4, 4, 4, 7, 4, 4, 4, 4, 4, 4, 4, 7, 4, + 4, 4, 4, 4, 4, 4, 7, 4, 4, 4, 4, 4, 4, 4, 7, 4, + 7, 7, 7, 7, 7, 7, 4, 7, 4, 4, 4, 4, 4, 4, 7, 4, + 4, 4, 4, 4, 4, 4, 7, 4, 4, 4, 4, 4, 4, 4, 7, 4, + 4, 4, 4, 4, 4, 4, 7, 4, 4, 4, 4, 4, 4, 4, 7, 4, + 4, 4, 4, 4, 4, 4, 7, 4, 4, 4, 4, 4, 4, 4, 7, 4, + 4, 4, 4, 4, 4, 4, 7, 4, 4, 4, 4, 4, 4, 4, 7, 4, + 5,10,10,10,10,11, 7,11, 5,10,10, 0,10,17, 7,11, + 5,10,10,11,10,11, 7,11, 5, 4,10,11,10, 0, 7,11, + 5,10,10,19,10,11, 7,11, 5, 4,10, 4,10, 0, 7,11, + 5,10,10, 4,10,11, 7,11, 5, 6,10, 4,10, 0, 7,11 +}; + +static const byte CyclesCB[256] = +{ + 8, 8, 8, 8, 8, 8,15, 8, 8, 8, 8, 8, 8, 8,15, 8, + 8, 8, 8, 8, 8, 8,15, 8, 8, 8, 8, 8, 8, 8,15, 8, + 8, 8, 8, 8, 8, 8,15, 8, 8, 8, 8, 8, 8, 8,15, 8, + 8, 8, 8, 8, 8, 8,15, 8, 8, 8, 8, 8, 8, 8,15, 8, + 8, 8, 8, 8, 8, 8,12, 8, 8, 8, 8, 8, 8, 8,12, 8, + 8, 8, 8, 8, 8, 8,12, 8, 8, 8, 8, 8, 8, 8,12, 8, + 8, 8, 8, 8, 8, 8,12, 8, 8, 8, 8, 8, 8, 8,12, 8, + 8, 8, 8, 8, 8, 8,12, 8, 8, 8, 8, 8, 8, 8,12, 8, + 8, 8, 8, 8, 8, 8,15, 8, 8, 8, 8, 8, 8, 8,15, 8, + 8, 8, 8, 8, 8, 8,15, 8, 8, 8, 8, 8, 8, 8,15, 8, + 8, 8, 8, 8, 8, 8,15, 8, 8, 8, 8, 8, 8, 8,15, 8, + 8, 8, 8, 8, 8, 8,15, 8, 8, 8, 8, 8, 8, 8,15, 8, + 8, 8, 8, 8, 8, 8,15, 8, 8, 8, 8, 8, 8, 8,15, 8, + 8, 8, 8, 8, 8, 8,15, 8, 8, 8, 8, 8, 8, 8,15, 8, + 8, 8, 8, 8, 8, 8,15, 8, 8, 8, 8, 8, 8, 8,15, 8, + 8, 8, 8, 8, 8, 8,15, 8, 8, 8, 8, 8, 8, 8,15, 8 +}; + +static const byte CyclesED[256] = +{ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 12,12,15,20, 8,14, 8, 9,12,12,15,20, 0,14, 0, 9, + 12,12,15,20, 0, 0, 8, 9,12,12,15,20, 0, 0, 8, 9, + 12,12,15,20, 0, 0, 0,18,12,12,15,20, 0, 0, 0,18, + 12, 0,15,20, 0, 0, 0, 0,12,12,15,20, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 16,16,16,16, 0, 0, 0, 0,16,16,16,16, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +}; + +static const byte CyclesXX[256] = +{ + 0, 0, 0, 0, 0, 0, 0, 0, 0,15, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0,15, 0, 0, 0, 0, 0, 0, + 0,14,20,10, 9, 9, 9, 0, 0,15,20,10, 9, 9, 9, 0, + 0, 0, 0, 0,23,23,19, 0, 0,15, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 9, 9,19, 0, 0, 0, 0, 0, 9, 9,19, 0, + 0, 0, 0, 0, 9, 9,19, 0, 0, 0, 0, 0, 9, 9,19, 0, + 9, 9, 9, 9, 9, 9,19, 9, 9, 9, 9, 9, 9, 9,19, 9, + 19,19,19,19,19,19,19,19, 0, 0, 0, 0, 9, 9,19, 0, + 0, 0, 0, 0, 9, 9,19, 0, 0, 0, 0, 0, 9, 9,19, 0, + 0, 0, 0, 0, 9, 9,19, 0, 0, 0, 0, 0, 9, 9,19, 0, + 0, 0, 0, 0, 9, 9,19, 0, 0, 0, 0, 0, 9, 9,19, 0, + 0, 0, 0, 0, 9, 9,19, 0, 0, 0, 0, 0, 9, 9,19, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0,14, 0,23, 0,15, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0,10, 0, 0, 0, 0, 0, 0 +}; + +static const byte CyclesXXCB[256] = +{ + 0, 0, 0, 0, 0, 0,23, 0, 0, 0, 0, 0, 0, 0,23, 0, + 0, 0, 0, 0, 0, 0,23, 0, 0, 0, 0, 0, 0, 0,23, 0, + 0, 0, 0, 0, 0, 0,23, 0, 0, 0, 0, 0, 0, 0,23, 0, + 0, 0, 0, 0, 0, 0,23, 0, 0, 0, 0, 0, 0, 0,23, 0, + 20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20, + 20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20, + 20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20, + 20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20, + 0, 0, 0, 0, 0, 0,23, 0, 0, 0, 0, 0, 0, 0,23, 0, + 0, 0, 0, 0, 0, 0,23, 0, 0, 0, 0, 0, 0, 0,23, 0, + 0, 0, 0, 0, 0, 0,23, 0, 0, 0, 0, 0, 0, 0,23, 0, + 0, 0, 0, 0, 0, 0,23, 0, 0, 0, 0, 0, 0, 0,23, 0, + 0, 0, 0, 0, 0, 0,23, 0, 0, 0, 0, 0, 0, 0,23, 0, + 0, 0, 0, 0, 0, 0,23, 0, 0, 0, 0, 0, 0, 0,23, 0, + 0, 0, 0, 0, 0, 0,23, 0, 0, 0, 0, 0, 0, 0,23, 0, + 0, 0, 0, 0, 0, 0,23, 0, 0, 0, 0, 0, 0, 0,23, 0 +}; + +static const byte ZSTable[256] = +{ + Z_FLAG,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + S_FLAG,S_FLAG,S_FLAG,S_FLAG,S_FLAG,S_FLAG,S_FLAG,S_FLAG, + S_FLAG,S_FLAG,S_FLAG,S_FLAG,S_FLAG,S_FLAG,S_FLAG,S_FLAG, + S_FLAG,S_FLAG,S_FLAG,S_FLAG,S_FLAG,S_FLAG,S_FLAG,S_FLAG, + S_FLAG,S_FLAG,S_FLAG,S_FLAG,S_FLAG,S_FLAG,S_FLAG,S_FLAG, + S_FLAG,S_FLAG,S_FLAG,S_FLAG,S_FLAG,S_FLAG,S_FLAG,S_FLAG, + S_FLAG,S_FLAG,S_FLAG,S_FLAG,S_FLAG,S_FLAG,S_FLAG,S_FLAG, + S_FLAG,S_FLAG,S_FLAG,S_FLAG,S_FLAG,S_FLAG,S_FLAG,S_FLAG, + S_FLAG,S_FLAG,S_FLAG,S_FLAG,S_FLAG,S_FLAG,S_FLAG,S_FLAG, + S_FLAG,S_FLAG,S_FLAG,S_FLAG,S_FLAG,S_FLAG,S_FLAG,S_FLAG, + S_FLAG,S_FLAG,S_FLAG,S_FLAG,S_FLAG,S_FLAG,S_FLAG,S_FLAG, + S_FLAG,S_FLAG,S_FLAG,S_FLAG,S_FLAG,S_FLAG,S_FLAG,S_FLAG, + S_FLAG,S_FLAG,S_FLAG,S_FLAG,S_FLAG,S_FLAG,S_FLAG,S_FLAG, + S_FLAG,S_FLAG,S_FLAG,S_FLAG,S_FLAG,S_FLAG,S_FLAG,S_FLAG, + S_FLAG,S_FLAG,S_FLAG,S_FLAG,S_FLAG,S_FLAG,S_FLAG,S_FLAG, + S_FLAG,S_FLAG,S_FLAG,S_FLAG,S_FLAG,S_FLAG,S_FLAG,S_FLAG, + S_FLAG,S_FLAG,S_FLAG,S_FLAG,S_FLAG,S_FLAG,S_FLAG,S_FLAG +}; + +static const byte PZSTable[256] = +{ + Z_FLAG|P_FLAG,0,0,P_FLAG,0,P_FLAG,P_FLAG,0, + 0,P_FLAG,P_FLAG,0,P_FLAG,0,0,P_FLAG, + 0,P_FLAG,P_FLAG,0,P_FLAG,0,0,P_FLAG,P_FLAG,0,0,P_FLAG,0,P_FLAG,P_FLAG,0, + 0,P_FLAG,P_FLAG,0,P_FLAG,0,0,P_FLAG,P_FLAG,0,0,P_FLAG,0,P_FLAG,P_FLAG,0, + P_FLAG,0,0,P_FLAG,0,P_FLAG,P_FLAG,0,0,P_FLAG,P_FLAG,0,P_FLAG,0,0,P_FLAG, + 0,P_FLAG,P_FLAG,0,P_FLAG,0,0,P_FLAG,P_FLAG,0,0,P_FLAG,0,P_FLAG,P_FLAG,0, + P_FLAG,0,0,P_FLAG,0,P_FLAG,P_FLAG,0,0,P_FLAG,P_FLAG,0,P_FLAG,0,0,P_FLAG, + P_FLAG,0,0,P_FLAG,0,P_FLAG,P_FLAG,0,0,P_FLAG,P_FLAG,0,P_FLAG,0,0,P_FLAG, + 0,P_FLAG,P_FLAG,0,P_FLAG,0,0,P_FLAG,P_FLAG,0,0,P_FLAG,0,P_FLAG,P_FLAG,0, + S_FLAG,S_FLAG|P_FLAG,S_FLAG|P_FLAG,S_FLAG, + S_FLAG|P_FLAG,S_FLAG,S_FLAG,S_FLAG|P_FLAG, + S_FLAG|P_FLAG,S_FLAG,S_FLAG,S_FLAG|P_FLAG, + S_FLAG,S_FLAG|P_FLAG,S_FLAG|P_FLAG,S_FLAG, + S_FLAG|P_FLAG,S_FLAG,S_FLAG,S_FLAG|P_FLAG, + S_FLAG,S_FLAG|P_FLAG,S_FLAG|P_FLAG,S_FLAG, + S_FLAG,S_FLAG|P_FLAG,S_FLAG|P_FLAG,S_FLAG, + S_FLAG|P_FLAG,S_FLAG,S_FLAG,S_FLAG|P_FLAG, + S_FLAG|P_FLAG,S_FLAG,S_FLAG,S_FLAG|P_FLAG, + S_FLAG,S_FLAG|P_FLAG,S_FLAG|P_FLAG,S_FLAG, + S_FLAG,S_FLAG|P_FLAG,S_FLAG|P_FLAG,S_FLAG, + S_FLAG|P_FLAG,S_FLAG,S_FLAG,S_FLAG|P_FLAG, + S_FLAG,S_FLAG|P_FLAG,S_FLAG|P_FLAG,S_FLAG, + S_FLAG|P_FLAG,S_FLAG,S_FLAG,S_FLAG|P_FLAG, + S_FLAG|P_FLAG,S_FLAG,S_FLAG,S_FLAG|P_FLAG, + S_FLAG,S_FLAG|P_FLAG,S_FLAG|P_FLAG,S_FLAG, + S_FLAG|P_FLAG,S_FLAG,S_FLAG,S_FLAG|P_FLAG, + S_FLAG,S_FLAG|P_FLAG,S_FLAG|P_FLAG,S_FLAG, + S_FLAG,S_FLAG|P_FLAG,S_FLAG|P_FLAG,S_FLAG, + S_FLAG|P_FLAG,S_FLAG,S_FLAG,S_FLAG|P_FLAG, + S_FLAG,S_FLAG|P_FLAG,S_FLAG|P_FLAG,S_FLAG, + S_FLAG|P_FLAG,S_FLAG,S_FLAG,S_FLAG|P_FLAG, + S_FLAG|P_FLAG,S_FLAG,S_FLAG,S_FLAG|P_FLAG, + S_FLAG,S_FLAG|P_FLAG,S_FLAG|P_FLAG,S_FLAG, + S_FLAG,S_FLAG|P_FLAG,S_FLAG|P_FLAG,S_FLAG, + S_FLAG|P_FLAG,S_FLAG,S_FLAG,S_FLAG|P_FLAG, + S_FLAG|P_FLAG,S_FLAG,S_FLAG,S_FLAG|P_FLAG, + S_FLAG,S_FLAG|P_FLAG,S_FLAG|P_FLAG,S_FLAG, + S_FLAG|P_FLAG,S_FLAG,S_FLAG,S_FLAG|P_FLAG, + S_FLAG,S_FLAG|P_FLAG,S_FLAG|P_FLAG,S_FLAG, + S_FLAG,S_FLAG|P_FLAG,S_FLAG|P_FLAG,S_FLAG, + S_FLAG|P_FLAG,S_FLAG,S_FLAG,S_FLAG|P_FLAG +}; + +static const word DAATable[2048] = +{ + 0x0044,0x0100,0x0200,0x0304,0x0400,0x0504,0x0604,0x0700, + 0x0808,0x090C,0x1010,0x1114,0x1214,0x1310,0x1414,0x1510, + 0x1000,0x1104,0x1204,0x1300,0x1404,0x1500,0x1600,0x1704, + 0x180C,0x1908,0x2030,0x2134,0x2234,0x2330,0x2434,0x2530, + 0x2020,0x2124,0x2224,0x2320,0x2424,0x2520,0x2620,0x2724, + 0x282C,0x2928,0x3034,0x3130,0x3230,0x3334,0x3430,0x3534, + 0x3024,0x3120,0x3220,0x3324,0x3420,0x3524,0x3624,0x3720, + 0x3828,0x392C,0x4010,0x4114,0x4214,0x4310,0x4414,0x4510, + 0x4000,0x4104,0x4204,0x4300,0x4404,0x4500,0x4600,0x4704, + 0x480C,0x4908,0x5014,0x5110,0x5210,0x5314,0x5410,0x5514, + 0x5004,0x5100,0x5200,0x5304,0x5400,0x5504,0x5604,0x5700, + 0x5808,0x590C,0x6034,0x6130,0x6230,0x6334,0x6430,0x6534, + 0x6024,0x6120,0x6220,0x6324,0x6420,0x6524,0x6624,0x6720, + 0x6828,0x692C,0x7030,0x7134,0x7234,0x7330,0x7434,0x7530, + 0x7020,0x7124,0x7224,0x7320,0x7424,0x7520,0x7620,0x7724, + 0x782C,0x7928,0x8090,0x8194,0x8294,0x8390,0x8494,0x8590, + 0x8080,0x8184,0x8284,0x8380,0x8484,0x8580,0x8680,0x8784, + 0x888C,0x8988,0x9094,0x9190,0x9290,0x9394,0x9490,0x9594, + 0x9084,0x9180,0x9280,0x9384,0x9480,0x9584,0x9684,0x9780, + 0x9888,0x998C,0x0055,0x0111,0x0211,0x0315,0x0411,0x0515, + 0x0045,0x0101,0x0201,0x0305,0x0401,0x0505,0x0605,0x0701, + 0x0809,0x090D,0x1011,0x1115,0x1215,0x1311,0x1415,0x1511, + 0x1001,0x1105,0x1205,0x1301,0x1405,0x1501,0x1601,0x1705, + 0x180D,0x1909,0x2031,0x2135,0x2235,0x2331,0x2435,0x2531, + 0x2021,0x2125,0x2225,0x2321,0x2425,0x2521,0x2621,0x2725, + 0x282D,0x2929,0x3035,0x3131,0x3231,0x3335,0x3431,0x3535, + 0x3025,0x3121,0x3221,0x3325,0x3421,0x3525,0x3625,0x3721, + 0x3829,0x392D,0x4011,0x4115,0x4215,0x4311,0x4415,0x4511, + 0x4001,0x4105,0x4205,0x4301,0x4405,0x4501,0x4601,0x4705, + 0x480D,0x4909,0x5015,0x5111,0x5211,0x5315,0x5411,0x5515, + 0x5005,0x5101,0x5201,0x5305,0x5401,0x5505,0x5605,0x5701, + 0x5809,0x590D,0x6035,0x6131,0x6231,0x6335,0x6431,0x6535, + 0x6025,0x6121,0x6221,0x6325,0x6421,0x6525,0x6625,0x6721, + 0x6829,0x692D,0x7031,0x7135,0x7235,0x7331,0x7435,0x7531, + 0x7021,0x7125,0x7225,0x7321,0x7425,0x7521,0x7621,0x7725, + 0x782D,0x7929,0x8091,0x8195,0x8295,0x8391,0x8495,0x8591, + 0x8081,0x8185,0x8285,0x8381,0x8485,0x8581,0x8681,0x8785, + 0x888D,0x8989,0x9095,0x9191,0x9291,0x9395,0x9491,0x9595, + 0x9085,0x9181,0x9281,0x9385,0x9481,0x9585,0x9685,0x9781, + 0x9889,0x998D,0xA0B5,0xA1B1,0xA2B1,0xA3B5,0xA4B1,0xA5B5, + 0xA0A5,0xA1A1,0xA2A1,0xA3A5,0xA4A1,0xA5A5,0xA6A5,0xA7A1, + 0xA8A9,0xA9AD,0xB0B1,0xB1B5,0xB2B5,0xB3B1,0xB4B5,0xB5B1, + 0xB0A1,0xB1A5,0xB2A5,0xB3A1,0xB4A5,0xB5A1,0xB6A1,0xB7A5, + 0xB8AD,0xB9A9,0xC095,0xC191,0xC291,0xC395,0xC491,0xC595, + 0xC085,0xC181,0xC281,0xC385,0xC481,0xC585,0xC685,0xC781, + 0xC889,0xC98D,0xD091,0xD195,0xD295,0xD391,0xD495,0xD591, + 0xD081,0xD185,0xD285,0xD381,0xD485,0xD581,0xD681,0xD785, + 0xD88D,0xD989,0xE0B1,0xE1B5,0xE2B5,0xE3B1,0xE4B5,0xE5B1, + 0xE0A1,0xE1A5,0xE2A5,0xE3A1,0xE4A5,0xE5A1,0xE6A1,0xE7A5, + 0xE8AD,0xE9A9,0xF0B5,0xF1B1,0xF2B1,0xF3B5,0xF4B1,0xF5B5, + 0xF0A5,0xF1A1,0xF2A1,0xF3A5,0xF4A1,0xF5A5,0xF6A5,0xF7A1, + 0xF8A9,0xF9AD,0x0055,0x0111,0x0211,0x0315,0x0411,0x0515, + 0x0045,0x0101,0x0201,0x0305,0x0401,0x0505,0x0605,0x0701, + 0x0809,0x090D,0x1011,0x1115,0x1215,0x1311,0x1415,0x1511, + 0x1001,0x1105,0x1205,0x1301,0x1405,0x1501,0x1601,0x1705, + 0x180D,0x1909,0x2031,0x2135,0x2235,0x2331,0x2435,0x2531, + 0x2021,0x2125,0x2225,0x2321,0x2425,0x2521,0x2621,0x2725, + 0x282D,0x2929,0x3035,0x3131,0x3231,0x3335,0x3431,0x3535, + 0x3025,0x3121,0x3221,0x3325,0x3421,0x3525,0x3625,0x3721, + 0x3829,0x392D,0x4011,0x4115,0x4215,0x4311,0x4415,0x4511, + 0x4001,0x4105,0x4205,0x4301,0x4405,0x4501,0x4601,0x4705, + 0x480D,0x4909,0x5015,0x5111,0x5211,0x5315,0x5411,0x5515, + 0x5005,0x5101,0x5201,0x5305,0x5401,0x5505,0x5605,0x5701, + 0x5809,0x590D,0x6035,0x6131,0x6231,0x6335,0x6431,0x6535, + 0x0604,0x0700,0x0808,0x090C,0x0A0C,0x0B08,0x0C0C,0x0D08, + 0x0E08,0x0F0C,0x1010,0x1114,0x1214,0x1310,0x1414,0x1510, + 0x1600,0x1704,0x180C,0x1908,0x1A08,0x1B0C,0x1C08,0x1D0C, + 0x1E0C,0x1F08,0x2030,0x2134,0x2234,0x2330,0x2434,0x2530, + 0x2620,0x2724,0x282C,0x2928,0x2A28,0x2B2C,0x2C28,0x2D2C, + 0x2E2C,0x2F28,0x3034,0x3130,0x3230,0x3334,0x3430,0x3534, + 0x3624,0x3720,0x3828,0x392C,0x3A2C,0x3B28,0x3C2C,0x3D28, + 0x3E28,0x3F2C,0x4010,0x4114,0x4214,0x4310,0x4414,0x4510, + 0x4600,0x4704,0x480C,0x4908,0x4A08,0x4B0C,0x4C08,0x4D0C, + 0x4E0C,0x4F08,0x5014,0x5110,0x5210,0x5314,0x5410,0x5514, + 0x5604,0x5700,0x5808,0x590C,0x5A0C,0x5B08,0x5C0C,0x5D08, + 0x5E08,0x5F0C,0x6034,0x6130,0x6230,0x6334,0x6430,0x6534, + 0x6624,0x6720,0x6828,0x692C,0x6A2C,0x6B28,0x6C2C,0x6D28, + 0x6E28,0x6F2C,0x7030,0x7134,0x7234,0x7330,0x7434,0x7530, + 0x7620,0x7724,0x782C,0x7928,0x7A28,0x7B2C,0x7C28,0x7D2C, + 0x7E2C,0x7F28,0x8090,0x8194,0x8294,0x8390,0x8494,0x8590, + 0x8680,0x8784,0x888C,0x8988,0x8A88,0x8B8C,0x8C88,0x8D8C, + 0x8E8C,0x8F88,0x9094,0x9190,0x9290,0x9394,0x9490,0x9594, + 0x9684,0x9780,0x9888,0x998C,0x9A8C,0x9B88,0x9C8C,0x9D88, + 0x9E88,0x9F8C,0x0055,0x0111,0x0211,0x0315,0x0411,0x0515, + 0x0605,0x0701,0x0809,0x090D,0x0A0D,0x0B09,0x0C0D,0x0D09, + 0x0E09,0x0F0D,0x1011,0x1115,0x1215,0x1311,0x1415,0x1511, + 0x1601,0x1705,0x180D,0x1909,0x1A09,0x1B0D,0x1C09,0x1D0D, + 0x1E0D,0x1F09,0x2031,0x2135,0x2235,0x2331,0x2435,0x2531, + 0x2621,0x2725,0x282D,0x2929,0x2A29,0x2B2D,0x2C29,0x2D2D, + 0x2E2D,0x2F29,0x3035,0x3131,0x3231,0x3335,0x3431,0x3535, + 0x3625,0x3721,0x3829,0x392D,0x3A2D,0x3B29,0x3C2D,0x3D29, + 0x3E29,0x3F2D,0x4011,0x4115,0x4215,0x4311,0x4415,0x4511, + 0x4601,0x4705,0x480D,0x4909,0x4A09,0x4B0D,0x4C09,0x4D0D, + 0x4E0D,0x4F09,0x5015,0x5111,0x5211,0x5315,0x5411,0x5515, + 0x5605,0x5701,0x5809,0x590D,0x5A0D,0x5B09,0x5C0D,0x5D09, + 0x5E09,0x5F0D,0x6035,0x6131,0x6231,0x6335,0x6431,0x6535, + 0x6625,0x6721,0x6829,0x692D,0x6A2D,0x6B29,0x6C2D,0x6D29, + 0x6E29,0x6F2D,0x7031,0x7135,0x7235,0x7331,0x7435,0x7531, + 0x7621,0x7725,0x782D,0x7929,0x7A29,0x7B2D,0x7C29,0x7D2D, + 0x7E2D,0x7F29,0x8091,0x8195,0x8295,0x8391,0x8495,0x8591, + 0x8681,0x8785,0x888D,0x8989,0x8A89,0x8B8D,0x8C89,0x8D8D, + 0x8E8D,0x8F89,0x9095,0x9191,0x9291,0x9395,0x9491,0x9595, + 0x9685,0x9781,0x9889,0x998D,0x9A8D,0x9B89,0x9C8D,0x9D89, + 0x9E89,0x9F8D,0xA0B5,0xA1B1,0xA2B1,0xA3B5,0xA4B1,0xA5B5, + 0xA6A5,0xA7A1,0xA8A9,0xA9AD,0xAAAD,0xABA9,0xACAD,0xADA9, + 0xAEA9,0xAFAD,0xB0B1,0xB1B5,0xB2B5,0xB3B1,0xB4B5,0xB5B1, + 0xB6A1,0xB7A5,0xB8AD,0xB9A9,0xBAA9,0xBBAD,0xBCA9,0xBDAD, + 0xBEAD,0xBFA9,0xC095,0xC191,0xC291,0xC395,0xC491,0xC595, + 0xC685,0xC781,0xC889,0xC98D,0xCA8D,0xCB89,0xCC8D,0xCD89, + 0xCE89,0xCF8D,0xD091,0xD195,0xD295,0xD391,0xD495,0xD591, + 0xD681,0xD785,0xD88D,0xD989,0xDA89,0xDB8D,0xDC89,0xDD8D, + 0xDE8D,0xDF89,0xE0B1,0xE1B5,0xE2B5,0xE3B1,0xE4B5,0xE5B1, + 0xE6A1,0xE7A5,0xE8AD,0xE9A9,0xEAA9,0xEBAD,0xECA9,0xEDAD, + 0xEEAD,0xEFA9,0xF0B5,0xF1B1,0xF2B1,0xF3B5,0xF4B1,0xF5B5, + 0xF6A5,0xF7A1,0xF8A9,0xF9AD,0xFAAD,0xFBA9,0xFCAD,0xFDA9, + 0xFEA9,0xFFAD,0x0055,0x0111,0x0211,0x0315,0x0411,0x0515, + 0x0605,0x0701,0x0809,0x090D,0x0A0D,0x0B09,0x0C0D,0x0D09, + 0x0E09,0x0F0D,0x1011,0x1115,0x1215,0x1311,0x1415,0x1511, + 0x1601,0x1705,0x180D,0x1909,0x1A09,0x1B0D,0x1C09,0x1D0D, + 0x1E0D,0x1F09,0x2031,0x2135,0x2235,0x2331,0x2435,0x2531, + 0x2621,0x2725,0x282D,0x2929,0x2A29,0x2B2D,0x2C29,0x2D2D, + 0x2E2D,0x2F29,0x3035,0x3131,0x3231,0x3335,0x3431,0x3535, + 0x3625,0x3721,0x3829,0x392D,0x3A2D,0x3B29,0x3C2D,0x3D29, + 0x3E29,0x3F2D,0x4011,0x4115,0x4215,0x4311,0x4415,0x4511, + 0x4601,0x4705,0x480D,0x4909,0x4A09,0x4B0D,0x4C09,0x4D0D, + 0x4E0D,0x4F09,0x5015,0x5111,0x5211,0x5315,0x5411,0x5515, + 0x5605,0x5701,0x5809,0x590D,0x5A0D,0x5B09,0x5C0D,0x5D09, + 0x5E09,0x5F0D,0x6035,0x6131,0x6231,0x6335,0x6431,0x6535, + 0x0046,0x0102,0x0202,0x0306,0x0402,0x0506,0x0606,0x0702, + 0x080A,0x090E,0x0402,0x0506,0x0606,0x0702,0x080A,0x090E, + 0x1002,0x1106,0x1206,0x1302,0x1406,0x1502,0x1602,0x1706, + 0x180E,0x190A,0x1406,0x1502,0x1602,0x1706,0x180E,0x190A, + 0x2022,0x2126,0x2226,0x2322,0x2426,0x2522,0x2622,0x2726, + 0x282E,0x292A,0x2426,0x2522,0x2622,0x2726,0x282E,0x292A, + 0x3026,0x3122,0x3222,0x3326,0x3422,0x3526,0x3626,0x3722, + 0x382A,0x392E,0x3422,0x3526,0x3626,0x3722,0x382A,0x392E, + 0x4002,0x4106,0x4206,0x4302,0x4406,0x4502,0x4602,0x4706, + 0x480E,0x490A,0x4406,0x4502,0x4602,0x4706,0x480E,0x490A, + 0x5006,0x5102,0x5202,0x5306,0x5402,0x5506,0x5606,0x5702, + 0x580A,0x590E,0x5402,0x5506,0x5606,0x5702,0x580A,0x590E, + 0x6026,0x6122,0x6222,0x6326,0x6422,0x6526,0x6626,0x6722, + 0x682A,0x692E,0x6422,0x6526,0x6626,0x6722,0x682A,0x692E, + 0x7022,0x7126,0x7226,0x7322,0x7426,0x7522,0x7622,0x7726, + 0x782E,0x792A,0x7426,0x7522,0x7622,0x7726,0x782E,0x792A, + 0x8082,0x8186,0x8286,0x8382,0x8486,0x8582,0x8682,0x8786, + 0x888E,0x898A,0x8486,0x8582,0x8682,0x8786,0x888E,0x898A, + 0x9086,0x9182,0x9282,0x9386,0x9482,0x9586,0x9686,0x9782, + 0x988A,0x998E,0x3423,0x3527,0x3627,0x3723,0x382B,0x392F, + 0x4003,0x4107,0x4207,0x4303,0x4407,0x4503,0x4603,0x4707, + 0x480F,0x490B,0x4407,0x4503,0x4603,0x4707,0x480F,0x490B, + 0x5007,0x5103,0x5203,0x5307,0x5403,0x5507,0x5607,0x5703, + 0x580B,0x590F,0x5403,0x5507,0x5607,0x5703,0x580B,0x590F, + 0x6027,0x6123,0x6223,0x6327,0x6423,0x6527,0x6627,0x6723, + 0x682B,0x692F,0x6423,0x6527,0x6627,0x6723,0x682B,0x692F, + 0x7023,0x7127,0x7227,0x7323,0x7427,0x7523,0x7623,0x7727, + 0x782F,0x792B,0x7427,0x7523,0x7623,0x7727,0x782F,0x792B, + 0x8083,0x8187,0x8287,0x8383,0x8487,0x8583,0x8683,0x8787, + 0x888F,0x898B,0x8487,0x8583,0x8683,0x8787,0x888F,0x898B, + 0x9087,0x9183,0x9283,0x9387,0x9483,0x9587,0x9687,0x9783, + 0x988B,0x998F,0x9483,0x9587,0x9687,0x9783,0x988B,0x998F, + 0xA0A7,0xA1A3,0xA2A3,0xA3A7,0xA4A3,0xA5A7,0xA6A7,0xA7A3, + 0xA8AB,0xA9AF,0xA4A3,0xA5A7,0xA6A7,0xA7A3,0xA8AB,0xA9AF, + 0xB0A3,0xB1A7,0xB2A7,0xB3A3,0xB4A7,0xB5A3,0xB6A3,0xB7A7, + 0xB8AF,0xB9AB,0xB4A7,0xB5A3,0xB6A3,0xB7A7,0xB8AF,0xB9AB, + 0xC087,0xC183,0xC283,0xC387,0xC483,0xC587,0xC687,0xC783, + 0xC88B,0xC98F,0xC483,0xC587,0xC687,0xC783,0xC88B,0xC98F, + 0xD083,0xD187,0xD287,0xD383,0xD487,0xD583,0xD683,0xD787, + 0xD88F,0xD98B,0xD487,0xD583,0xD683,0xD787,0xD88F,0xD98B, + 0xE0A3,0xE1A7,0xE2A7,0xE3A3,0xE4A7,0xE5A3,0xE6A3,0xE7A7, + 0xE8AF,0xE9AB,0xE4A7,0xE5A3,0xE6A3,0xE7A7,0xE8AF,0xE9AB, + 0xF0A7,0xF1A3,0xF2A3,0xF3A7,0xF4A3,0xF5A7,0xF6A7,0xF7A3, + 0xF8AB,0xF9AF,0xF4A3,0xF5A7,0xF6A7,0xF7A3,0xF8AB,0xF9AF, + 0x0047,0x0103,0x0203,0x0307,0x0403,0x0507,0x0607,0x0703, + 0x080B,0x090F,0x0403,0x0507,0x0607,0x0703,0x080B,0x090F, + 0x1003,0x1107,0x1207,0x1303,0x1407,0x1503,0x1603,0x1707, + 0x180F,0x190B,0x1407,0x1503,0x1603,0x1707,0x180F,0x190B, + 0x2023,0x2127,0x2227,0x2323,0x2427,0x2523,0x2623,0x2727, + 0x282F,0x292B,0x2427,0x2523,0x2623,0x2727,0x282F,0x292B, + 0x3027,0x3123,0x3223,0x3327,0x3423,0x3527,0x3627,0x3723, + 0x382B,0x392F,0x3423,0x3527,0x3627,0x3723,0x382B,0x392F, + 0x4003,0x4107,0x4207,0x4303,0x4407,0x4503,0x4603,0x4707, + 0x480F,0x490B,0x4407,0x4503,0x4603,0x4707,0x480F,0x490B, + 0x5007,0x5103,0x5203,0x5307,0x5403,0x5507,0x5607,0x5703, + 0x580B,0x590F,0x5403,0x5507,0x5607,0x5703,0x580B,0x590F, + 0x6027,0x6123,0x6223,0x6327,0x6423,0x6527,0x6627,0x6723, + 0x682B,0x692F,0x6423,0x6527,0x6627,0x6723,0x682B,0x692F, + 0x7023,0x7127,0x7227,0x7323,0x7427,0x7523,0x7623,0x7727, + 0x782F,0x792B,0x7427,0x7523,0x7623,0x7727,0x782F,0x792B, + 0x8083,0x8187,0x8287,0x8383,0x8487,0x8583,0x8683,0x8787, + 0x888F,0x898B,0x8487,0x8583,0x8683,0x8787,0x888F,0x898B, + 0x9087,0x9183,0x9283,0x9387,0x9483,0x9587,0x9687,0x9783, + 0x988B,0x998F,0x9483,0x9587,0x9687,0x9783,0x988B,0x998F, + 0xFABE,0xFBBA,0xFCBE,0xFDBA,0xFEBA,0xFFBE,0x0046,0x0102, + 0x0202,0x0306,0x0402,0x0506,0x0606,0x0702,0x080A,0x090E, + 0x0A1E,0x0B1A,0x0C1E,0x0D1A,0x0E1A,0x0F1E,0x1002,0x1106, + 0x1206,0x1302,0x1406,0x1502,0x1602,0x1706,0x180E,0x190A, + 0x1A1A,0x1B1E,0x1C1A,0x1D1E,0x1E1E,0x1F1A,0x2022,0x2126, + 0x2226,0x2322,0x2426,0x2522,0x2622,0x2726,0x282E,0x292A, + 0x2A3A,0x2B3E,0x2C3A,0x2D3E,0x2E3E,0x2F3A,0x3026,0x3122, + 0x3222,0x3326,0x3422,0x3526,0x3626,0x3722,0x382A,0x392E, + 0x3A3E,0x3B3A,0x3C3E,0x3D3A,0x3E3A,0x3F3E,0x4002,0x4106, + 0x4206,0x4302,0x4406,0x4502,0x4602,0x4706,0x480E,0x490A, + 0x4A1A,0x4B1E,0x4C1A,0x4D1E,0x4E1E,0x4F1A,0x5006,0x5102, + 0x5202,0x5306,0x5402,0x5506,0x5606,0x5702,0x580A,0x590E, + 0x5A1E,0x5B1A,0x5C1E,0x5D1A,0x5E1A,0x5F1E,0x6026,0x6122, + 0x6222,0x6326,0x6422,0x6526,0x6626,0x6722,0x682A,0x692E, + 0x6A3E,0x6B3A,0x6C3E,0x6D3A,0x6E3A,0x6F3E,0x7022,0x7126, + 0x7226,0x7322,0x7426,0x7522,0x7622,0x7726,0x782E,0x792A, + 0x7A3A,0x7B3E,0x7C3A,0x7D3E,0x7E3E,0x7F3A,0x8082,0x8186, + 0x8286,0x8382,0x8486,0x8582,0x8682,0x8786,0x888E,0x898A, + 0x8A9A,0x8B9E,0x8C9A,0x8D9E,0x8E9E,0x8F9A,0x9086,0x9182, + 0x9282,0x9386,0x3423,0x3527,0x3627,0x3723,0x382B,0x392F, + 0x3A3F,0x3B3B,0x3C3F,0x3D3B,0x3E3B,0x3F3F,0x4003,0x4107, + 0x4207,0x4303,0x4407,0x4503,0x4603,0x4707,0x480F,0x490B, + 0x4A1B,0x4B1F,0x4C1B,0x4D1F,0x4E1F,0x4F1B,0x5007,0x5103, + 0x5203,0x5307,0x5403,0x5507,0x5607,0x5703,0x580B,0x590F, + 0x5A1F,0x5B1B,0x5C1F,0x5D1B,0x5E1B,0x5F1F,0x6027,0x6123, + 0x6223,0x6327,0x6423,0x6527,0x6627,0x6723,0x682B,0x692F, + 0x6A3F,0x6B3B,0x6C3F,0x6D3B,0x6E3B,0x6F3F,0x7023,0x7127, + 0x7227,0x7323,0x7427,0x7523,0x7623,0x7727,0x782F,0x792B, + 0x7A3B,0x7B3F,0x7C3B,0x7D3F,0x7E3F,0x7F3B,0x8083,0x8187, + 0x8287,0x8383,0x8487,0x8583,0x8683,0x8787,0x888F,0x898B, + 0x8A9B,0x8B9F,0x8C9B,0x8D9F,0x8E9F,0x8F9B,0x9087,0x9183, + 0x9283,0x9387,0x9483,0x9587,0x9687,0x9783,0x988B,0x998F, + 0x9A9F,0x9B9B,0x9C9F,0x9D9B,0x9E9B,0x9F9F,0xA0A7,0xA1A3, + 0xA2A3,0xA3A7,0xA4A3,0xA5A7,0xA6A7,0xA7A3,0xA8AB,0xA9AF, + 0xAABF,0xABBB,0xACBF,0xADBB,0xAEBB,0xAFBF,0xB0A3,0xB1A7, + 0xB2A7,0xB3A3,0xB4A7,0xB5A3,0xB6A3,0xB7A7,0xB8AF,0xB9AB, + 0xBABB,0xBBBF,0xBCBB,0xBDBF,0xBEBF,0xBFBB,0xC087,0xC183, + 0xC283,0xC387,0xC483,0xC587,0xC687,0xC783,0xC88B,0xC98F, + 0xCA9F,0xCB9B,0xCC9F,0xCD9B,0xCE9B,0xCF9F,0xD083,0xD187, + 0xD287,0xD383,0xD487,0xD583,0xD683,0xD787,0xD88F,0xD98B, + 0xDA9B,0xDB9F,0xDC9B,0xDD9F,0xDE9F,0xDF9B,0xE0A3,0xE1A7, + 0xE2A7,0xE3A3,0xE4A7,0xE5A3,0xE6A3,0xE7A7,0xE8AF,0xE9AB, + 0xEABB,0xEBBF,0xECBB,0xEDBF,0xEEBF,0xEFBB,0xF0A7,0xF1A3, + 0xF2A3,0xF3A7,0xF4A3,0xF5A7,0xF6A7,0xF7A3,0xF8AB,0xF9AF, + 0xFABF,0xFBBB,0xFCBF,0xFDBB,0xFEBB,0xFFBF,0x0047,0x0103, + 0x0203,0x0307,0x0403,0x0507,0x0607,0x0703,0x080B,0x090F, + 0x0A1F,0x0B1B,0x0C1F,0x0D1B,0x0E1B,0x0F1F,0x1003,0x1107, + 0x1207,0x1303,0x1407,0x1503,0x1603,0x1707,0x180F,0x190B, + 0x1A1B,0x1B1F,0x1C1B,0x1D1F,0x1E1F,0x1F1B,0x2023,0x2127, + 0x2227,0x2323,0x2427,0x2523,0x2623,0x2727,0x282F,0x292B, + 0x2A3B,0x2B3F,0x2C3B,0x2D3F,0x2E3F,0x2F3B,0x3027,0x3123, + 0x3223,0x3327,0x3423,0x3527,0x3627,0x3723,0x382B,0x392F, + 0x3A3F,0x3B3B,0x3C3F,0x3D3B,0x3E3B,0x3F3F,0x4003,0x4107, + 0x4207,0x4303,0x4407,0x4503,0x4603,0x4707,0x480F,0x490B, + 0x4A1B,0x4B1F,0x4C1B,0x4D1F,0x4E1F,0x4F1B,0x5007,0x5103, + 0x5203,0x5307,0x5403,0x5507,0x5607,0x5703,0x580B,0x590F, + 0x5A1F,0x5B1B,0x5C1F,0x5D1B,0x5E1B,0x5F1F,0x6027,0x6123, + 0x6223,0x6327,0x6423,0x6527,0x6627,0x6723,0x682B,0x692F, + 0x6A3F,0x6B3B,0x6C3F,0x6D3B,0x6E3B,0x6F3F,0x7023,0x7127, + 0x7227,0x7323,0x7427,0x7523,0x7623,0x7727,0x782F,0x792B, + 0x7A3B,0x7B3F,0x7C3B,0x7D3F,0x7E3F,0x7F3B,0x8083,0x8187, + 0x8287,0x8383,0x8487,0x8583,0x8683,0x8787,0x888F,0x898B, + 0x8A9B,0x8B9F,0x8C9B,0x8D9F,0x8E9F,0x8F9B,0x9087,0x9183, + 0x9283,0x9387,0x9483,0x9587,0x9687,0x9783,0x988B,0x998F +}; diff --git a/src/GFX4d.cpp b/src/GFX4d.cpp index f278aa7..e7eea7b 100644 --- a/src/GFX4d.cpp +++ b/src/GFX4d.cpp @@ -2,7 +2,7 @@ * * * 4D Systems GFX4d Library * * * -* Date: 6th October 2021 * +* Date: 13th Nov 2022 * * * * Description: Provides Graphics, Touch Control and SD Card functions * * for 4D Systems Gen4 IoD range of intelligent displays. * @@ -48,130 +48,130 @@ * and utility programs needed for reproducing the Combined Work from the * * Application, but excluding the System Libraries of the Combined Work. * * * - 1. Exception to Section 3 of the GNU GPL. +* 1. Exception to Section 3 of the GNU GPL. * * * - You may convey a covered work under sections 3 and 4 of this License - without being bound by section 3 of the GNU GPL. +* You may convey a covered work under sections 3 and 4 of this License * +* without being bound by section 3 of the GNU GPL. * * * - 2. Conveying Modified Versions. +* 2. Conveying Modified Versions. * * * - If you modify a copy of the Library, and, in your modifications, a - facility refers to a function or data to be supplied by an Application - that uses the facility (other than as an argument passed when the - facility is invoked), then you may convey a copy of the modified - version: +* If you modify a copy of the Library, and, in your modifications, a * +* facility refers to a function or data to be supplied by an Application * +* that uses the facility (other than as an argument passed when the * +* facility is invoked), then you may convey a copy of the modified * +* version: * * * - a) under this License, provided that you make a good faith effort to - ensure that, in the event an Application does not supply the - function or data, the facility still operates, and performs - whatever part of its purpose remains meaningful, or +* a) under this License, provided that you make a good faith effort to * +* ensure that, in the event an Application does not supply the * +* function or data, the facility still operates, and performs * +* whatever part of its purpose remains meaningful, or * * * - b) under the GNU GPL, with none of the additional permissions of - this License applicable to that copy. +* b) under the GNU GPL, with none of the additional permissions of * +* this License applicable to that copy. * * * - 3. Object Code Incorporating Material from Library Header Files. +* 3. Object Code Incorporating Material from Library Header Files. * * * - The object code form of an Application may incorporate material from - a header file that is part of the Library. You may convey such object - code under terms of your choice, provided that, if the incorporated - material is not limited to numerical parameters, data structure - layouts and accessors, or small macros, inline functions and templates - (ten or fewer lines in length), you do both of the following: +* The object code form of an Application may incorporate material from * +* a header file that is part of the Library. You may convey such object * +* code under terms of your choice, provided that, if the incorporated * +* material is not limited to numerical parameters, data structure * +* layouts and accessors, or small macros, inline functions and templates * +* (ten or fewer lines in length), you do both of the following: * * * - a) Give prominent notice with each copy of the object code that the - Library is used in it and that the Library and its use are - covered by this License. +* a) Give prominent notice with each copy of the object code that the * +* Library is used in it and that the Library and its use are * +* covered by this License. * * * - b) Accompany the object code with a copy of the GNU GPL and this - license document. +* b) Accompany the object code with a copy of the GNU GPL and this * +* license document. * * * - 4. Combined Works. +* 4. Combined Works. * * * - You may convey a Combined Work under terms of your choice that, - taken together, effectively do not restrict modification of the - portions of the Library contained in the Combined Work and reverse - engineering for debugging such modifications, if you also do each of - the following: +* You may convey a Combined Work under terms of your choice that, * +* taken together, effectively do not restrict modification of the * +* portions of the Library contained in the Combined Work and reverse * +* engineering for debugging such modifications, if you also do each of * +* the following: * * * - a) Give prominent notice with each copy of the Combined Work that - the Library is used in it and that the Library and its use are - covered by this License. +* a) Give prominent notice with each copy of the Combined Work that * +* the Library is used in it and that the Library and its use are * +* covered by this License. * * * - b) Accompany the Combined Work with a copy of the GNU GPL and this - license document. +* b) Accompany the Combined Work with a copy of the GNU GPL and this * +* license document. * * * - c) For a Combined Work that displays copyright notices during - execution, include the copyright notice for the Library among - these notices, as well as a reference directing the user to the - copies of the GNU GPL and this license document. +* c) For a Combined Work that displays copyright notices during * +* execution, include the copyright notice for the Library among * +* these notices, as well as a reference directing the user to the * +* copies of the GNU GPL and this license document. * * * - d) Do one of the following: +* d) Do one of the following: * * * - 0) Convey the Minimal Corresponding Source under the terms of this - License, and the Corresponding Application Code in a form - suitable for, and under terms that permit, the user to - recombine or relink the Application with a modified version of - the Linked Version to produce a modified Combined Work, in the - manner specified by section 6 of the GNU GPL for conveying - Corresponding Source. +* 0) Convey the Minimal Corresponding Source under the terms of this * +* License, and the Corresponding Application Code in a form * +* suitable for, and under terms that permit, the user to * +* recombine or relink the Application with a modified version of * +* the Linked Version to produce a modified Combined Work, in the * +* manner specified by section 6 of the GNU GPL for conveying * +* Corresponding Source. * * * - 1) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (a) uses at run time - a copy of the Library already present on the user's computer - system, and (b) will operate properly with a modified version - of the Library that is interface-compatible with the Linked - Version. +* 1) Use a suitable shared library mechanism for linking with the * +* Library. A suitable mechanism is one that (a) uses at run time * +* a copy of the Library already present on the user's computer * +* system, and (b) will operate properly with a modified version * +* of the Library that is interface-compatible with the Linked * +* Version. * * * - e) Provide Installation Information, but only if you would otherwise - be required to provide such information under section 6 of the - GNU GPL, and only to the extent that such information is - necessary to install and execute a modified version of the - Combined Work produced by recombining or relinking the - Application with a modified version of the Linked Version. (If - you use option 4d0, the Installation Information must accompany - the Minimal Corresponding Source and Corresponding Application - Code. If you use option 4d1, you must provide the Installation - Information in the manner specified by section 6 of the GNU GPL - for conveying Corresponding Source.) +* e) Provide Installation Information, but only if you would otherwise * +* be required to provide such information under section 6 of the * +* GNU GPL, and only to the extent that such information is * +* necessary to install and execute a modified version of the * +* Combined Work produced by recombining or relinking the * +* Application with a modified version of the Linked Version. (If * +* you use option 4d0, the Installation Information must accompany * +* the Minimal Corresponding Source and Corresponding Application * +* Code. If you use option 4d1, you must provide the Installation * +* Information in the manner specified by section 6 of the GNU GPL * +* for conveying Corresponding Source.) * * * - 5. Combined Libraries. +* 5. Combined Libraries. * * * - You may place library facilities that are a work based on the - Library side by side in a single library together with other library - facilities that are not Applications and are not covered by this - License, and convey such a combined library under terms of your - choice, if you do both of the following: +* You may place library facilities that are a work based on the * +* Library side by side in a single library together with other library * +* facilities that are not Applications and are not covered by this * +* License, and convey such a combined library under terms of your * +* choice, if you do both of the following: * * * - a) Accompany the combined library with a copy of the same work based - on the Library, uncombined with any other library facilities, - conveyed under the terms of this License. +* a) Accompany the combined library with a copy of the same work based * +* on the Library, uncombined with any other library facilities, * +* conveyed under the terms of this License. * * * - b) Give prominent notice with the combined library that part of it - is a work based on the Library, and explaining where to find the - accompanying uncombined form of the same work. +* b) Give prominent notice with the combined library that part of it * +* is a work based on the Library, and explaining where to find the * +* accompanying uncombined form of the same work. * * * - 6. Revised Versions of the GNU Lesser General Public License. +* 6. Revised Versions of the GNU Lesser General Public License. * * * - The Free Software Foundation may publish revised and/or new versions - of the GNU Lesser General Public License from time to time. Such new - versions will be similar in spirit to the present version, but may - differ in detail to address new problems or concerns. +* The Free Software Foundation may publish revised and/or new versions * +* of the GNU Lesser General Public License from time to time. Such new * +* versions will be similar in spirit to the present version, but may * +* differ in detail to address new problems or concerns. * * * - Each version is given a distinguishing version number. If the - Library as you received it specifies that a certain numbered version - of the GNU Lesser General Public License "or any later version" - applies to it, you have the option of following the terms and - conditions either of that published version or of any later version - published by the Free Software Foundation. If the Library as you - received it does not specify a version number of the GNU Lesser - General Public License, you may choose any version of the GNU Lesser - General Public License ever published by the Free Software Foundation. +* Each version is given a distinguishing version number. If the * +* Library as you received it specifies that a certain numbered version * +* of the GNU Lesser General Public License "or any later version" * +* applies to it, you have the option of following the terms and * +* conditions either of that published version or of any later version * +* published by the Free Software Foundation. If the Library as you * +* received it does not specify a version number of the GNU Lesser * +* General Public License, you may choose any version of the GNU Lesser * +* General Public License ever published by the Free Software Foundation. * * * - If the Library as you received it specifies that a proxy can decide - whether future versions of the GNU Lesser General Public License shall - apply, that proxy's public statement of acceptance of any version is - permanent authorization for you to choose that version for the - Library. +* If the Library as you received it specifies that a proxy can decide * +* whether future versions of the GNU Lesser General Public License shall * +* apply, that proxy's public statement of acceptance of any version is * +* permanent authorization for you to choose that version for the * +* Library. * * * ***************************************************************************/ @@ -179,39 +179,38 @@ #include #include "pins_arduino.h" #include "wiring_private.h" -#include -#ifndef ESP32 - -#include -#include -#include +#ifndef ESP32 + #include + #include + #include #else -#include -#include -#include -#if ARDUINO_ESP8266_GIT_VER > 0x2843a5ac - #include -#endif + #include + #include + #include + #include + #if ARDUINO_ESP8266_GIT_VER > 0x2843a5ac + #include + #endif #endif - #define hwSPI true #define swap(a, b) { int16_t tab = a; a = b; b = tab; } #ifndef ESP8266 -#define analogWrite(a, b) { ledcWrite(a + 1, b); } + #define analogWrite(a, b) { ledcWrite(a + 1, b); } #endif #ifdef USE_FS -#include "LittleFS.h" + #include "LittleFS.h" +#else + #include #endif GFX4d::GFX4d() { - #ifndef ESP32 _dc = 4; _cs = 15; @@ -220,15 +219,15 @@ GFX4d::GFX4d() _sd = 5; #else _dc = 27; - _cs = 14; - _sRes = 33; + _cs = 33; + _sRes = 26; _disp = 32; _tcs = 9; - _sd = 4; + _sd = 22; #endif scrollOffset = 0; - width = 240; - height = 320; + width = GFX4d_TFTWIDTH; + height = GFX4d_TFTHEIGHT; rotation = 0; cursor_y = cursor_x = 0; textsize = 1; @@ -245,7 +244,6 @@ GFX4d::GFX4d() twcolnum = 13; tchen = true; twcurson = true; - } SPISettings spiSettings = SPISettings(79000000, MSBFIRST, SPI_MODE0); @@ -261,15 +259,25 @@ void GFX4d::begin(byte dtds) { if (dtds & 0x01) IPSDisplay = true; if (dtds & 0x02) ST7789 = true; + if (dtds & 0x04) { + _colstart = 0; + _rowstart = 80; + _nlh = 240; + } + if (dtds & 0x08){ + ILI9488 = true; + _nlh = 320; + } begin(); } void GFX4d::begin(void) { - + #ifndef ESP32 pinMode(_sclk, OUTPUT); pinMode(_mosi, OUTPUT); pinMode(_miso, INPUT); + #endif pinMode(_dc, OUTPUT); pinMode(_cs, OUTPUT); pinMode(_disp, OUTPUT); @@ -278,9 +286,9 @@ void GFX4d::begin(void) #ifdef ESP32 pinMode(_sRes, OUTPUT); digitalWrite(_sRes, LOW); - delay(150); + delay(250); digitalWrite(_sRes, HIGH); - delay(100); + delay(250); #endif #ifndef ESP8266 ledcSetup(1, 1000, 10); @@ -289,72 +297,95 @@ void GFX4d::begin(void) digitalWrite(_sd, HIGH); digitalWrite(_tcs, HIGH); SPI.begin(); - SPI.beginTransaction(spiSettingsR); + + int regcount; for(regcount = 0; regcount < 4; regcount ++){ - dispID[regcount] = ReadCommand(0xD3, regcount); + if(!(ILI9488)) dispID[regcount] = ReadCommand(0xD3, regcount); } - SPI.endTransaction(); - if(dispID[2] == 147 && dispID[3] == 65){ - ST7789 = false; - } else { - ST7789 = true; + if(ILI9488 == false){ + if(dispID[2] == 147 && dispID[3] == 65){ + ST7789 = false; + } else { + ST7789 = true; + } } - SPI.beginTransaction(spiSettingsD); + + DISP_SPI_BEGINT; if(!(ST7789)){ - SetCommand(0xEF); SetData(0x01); SetData(0x01); SetData(0x00); - SetCommand(0xCF); SetData(0x00); SetData(0xC1); SetData(0x30); - SetCommand(0xED); SetData(0x64); SetData(0x03); SetData(0x12); SetData(0x81); - SetCommand(0xE8); SetData(0x85); SetData(0x00); SetData(0x7a); - SetCommand(0xCB); SetData(0x39); SetData(0x2C); SetData(0x00); SetData(0x34); SetData(0x02); - SetCommand(0xF7); SetData(0x20); - SetCommand(0xEA); SetData(0x00); SetData(0x00); - if (!(IPSDisplay)) - { - SetCommand(GFX4d_PWCTR1); SetData(0x26); - } - else - { - SetCommand(GFX4d_PWCTR1); SetData(0x12); SetData(0x12); - } - SetCommand(GFX4d_PWCTR2); SetData(0x11); - SetCommand(GFX4d_VMCTR1); SetData(0x39); SetData(0x27); - SetCommand(GFX4d_VMCTR2); SetData(0xa6); - SetCommand(GFX4d_MADCTL); SetData(0x48); - SetCommand(GFX4d_PIXFMT); SetData(0x55); - SetCommand(GFX4d_FRMCTR1); SetData(0x00); SetData(0x1b); - SetCommand(GFX4d_DFUNCTR); SetData(0x08); SetData(0x82); SetData(0x27); - SetCommand(0xF2); SetData(0x00); - SetCommand(GFX4d_GAMMASET); SetData(0x01); - if (!(IPSDisplay)) - { - SetCommand(GFX4d_GMCTRP1); SetData(0x0F); SetData(0x2d); SetData(0x0e); SetData(0x08); - SetData(0x12); SetData(0x0a); SetData(0x3d); SetData(0x95); - SetData(0x31); SetData(0x04); SetData(0x10); SetData(0x09); - SetData(0x09); SetData(0x0d); SetData(0x00); - SetCommand(GFX4d_GMCTRN1); SetData(0x00); SetData(0x12); SetData(0x17); SetData(0x03); - SetData(0x0d); SetData(0x05); SetData(0x2c); SetData(0x44); - SetData(0x41); SetData(0x05); SetData(0x0F); SetData(0x0a); - SetData(0x30); SetData(0x32); SetData(0x0F); - } - else - { - SetCommand(GFX4d_GMCTRP1); SetData(0x0F); SetData(0x31); SetData(0x2b); SetData(0x0c); - SetData(0x0e); SetData(0x08); SetData(0x4e); SetData(0xf1); - SetData(0x37); SetData(0x07); SetData(0x10); SetData(0x03); - SetData(0x0e); SetData(0x09); SetData(0x00); - SetCommand(GFX4d_GMCTRN1); SetData(0x00); SetData(0x0e); SetData(0x14); SetData(0x03); - SetData(0x11); SetData(0x07); SetData(0x31); SetData(0xc1); - SetData(0x48); SetData(0x08); SetData(0x0f); SetData(0x0c); - SetData(0x31); SetData(0x36); SetData(0x0F); - } - SetCommand(GFX4d_SLPOUT); - SPI.endTransaction(); + if(!(ILI9488)){ + SetCommand(0xEF); SetData(0x01); SetData(0x01); SetData(0x00); + SetCommand(0xCF); SetData(0x00); SetData(0xC1); SetData(0x30); + SetCommand(0xED); SetData(0x64); SetData(0x03); SetData(0x12); SetData(0x81); + SetCommand(0xE8); SetData(0x85); SetData(0x00); SetData(0x7a); + SetCommand(0xCB); SetData(0x39); SetData(0x2C); SetData(0x00); SetData(0x34); SetData(0x02); + SetCommand(0xF7); SetData(0x20); + SetCommand(0xEA); SetData(0x00); SetData(0x00); + if (!(IPSDisplay)) + { + SetCommand(GFX4d_PWCTR1); SetData(0x26); + } else { + SetCommand(GFX4d_PWCTR1); SetData(0x12); SetData(0x12); + } + SetCommand(GFX4d_PWCTR2); SetData(0x11); + SetCommand(GFX4d_VMCTR1); SetData(0x39); SetData(0x27); + SetCommand(GFX4d_VMCTR2); SetData(0xa6); + SetCommand(GFX4d_MADCTL); SetData(0x48); + SetCommand(GFX4d_PIXFMT); SetData(0x55); + SetCommand(GFX4d_FRMCTR1); SetData(0x00); SetData(0x1b); + SetCommand(GFX4d_DFUNCTR); SetData(0x08); SetData(0x82); SetData(0x27); + SetCommand(0xF2); SetData(0x00); + SetCommand(GFX4d_GAMMASET); SetData(0x01); + if (!(IPSDisplay)) + { + SetCommand(GFX4d_GMCTRP1); SetData(0x0F); SetData(0x2d); SetData(0x0e); SetData(0x08); + SetData(0x12); SetData(0x0a); SetData(0x3d); SetData(0x95); + SetData(0x31); SetData(0x04); SetData(0x10); SetData(0x09); + SetData(0x09); SetData(0x0d); SetData(0x00); + SetCommand(GFX4d_GMCTRN1); SetData(0x00); SetData(0x12); SetData(0x17); SetData(0x03); + SetData(0x0d); SetData(0x05); SetData(0x2c); SetData(0x44); + SetData(0x41); SetData(0x05); SetData(0x0F); SetData(0x0a); + SetData(0x30); SetData(0x32); SetData(0x0F); + } else { + SetCommand(GFX4d_GMCTRP1); SetData(0x0F); SetData(0x31); SetData(0x2b); SetData(0x0c); + SetData(0x0e); SetData(0x08); SetData(0x4e); SetData(0xf1); + SetData(0x37); SetData(0x07); SetData(0x10); SetData(0x03); + SetData(0x0e); SetData(0x09); SetData(0x00); + SetCommand(GFX4d_GMCTRN1); SetData(0x00); SetData(0x0e); SetData(0x14); SetData(0x03); + SetData(0x11); SetData(0x07); SetData(0x31); SetData(0xc1); + SetData(0x48); SetData(0x08); SetData(0x0f); SetData(0x0c); + SetData(0x31); SetData(0x36); SetData(0x0F); + } + } else { + SetCommand(0xE0); SetData(0x00); SetData(0x13); SetData(0x18); SetData(0x04); //P-Gamma + SetData(0x0F); SetData(0x06); SetData(0x3A); SetData(0x56); SetData(0x4D); + SetData(0x03); SetData(0x0A); SetData(0x06); SetData(0x30); SetData(0x3E); + SetData(0x0F); + SetCommand(0XE1); SetData(0x00); SetData(0x13); SetData(0x18); SetData(0x01); //N-Gamma + SetData(0x11); SetData(0x06); SetData(0x38); SetData(0x34); SetData(0x4D); + SetData(0x06); SetData(0x0D); SetData(0x0B); SetData(0x31); SetData(0x37); + SetData(0x0F); + SetCommand(0xC0); SetData(0x18); SetData(0x16); + SetCommand(0xC1); SetData(0x45); + SetCommand(0xC5); SetData(0x00); SetData(0x63); SetData(0x01); //VCOM + SetCommand(0x36); SetData(0x48); + SetCommand(0x3A); SetData(0x55); //Interface Mode Control + SetCommand(0xB0); SetData(0x00); //Interface Mode Control + SetCommand(0xB1); SetData(0xB0); //Frame rate 70HZ + SetCommand(0xB4); SetData(0x02); + SetCommand(0xB6); SetData(0x02); //RGB/MCU Interface Control //WriteData(0x22); + SetCommand(0xE9); SetData(0x00); + SetCommand(0xF7); SetData(0xA9); SetData(0x51); SetData(0x2C); SetData(0x82); + GFX4d_TFTWIDTH = 320; + GFX4d_TFTWIDTH = 319; + GFX4d_TFTHEIGHT = 480; + } + SetCommand(GFX4d_SLPOUT); + DISP_SPI_ENDT; delay(120); - SPI.beginTransaction(spiSettingsD); + DISP_SPI_BEGINT; SetCommand(GFX4d_DISPON); - SPI.endTransaction(); - setScrollArea(0, 0); + DISP_SPI_ENDT; } else { SetCommand(GFX4DST_SLPOUT); // Sleep out delay(120); @@ -381,29 +412,28 @@ void GFX4d::begin(void) SetData(0x1c); SetData(0x17); SetData(0x1b); SetData(0x1e); SetCommand(GFX4DST_INVON); SetCommand(GFX4DST_CASET); SetData(0x00); SetData(0x00); SetData(0x00); SetData(0xE5); // 239 - SetCommand(GFX4DST_RASET); SetData(0x00); SetData(0x00); SetData(0x01); SetData(0x3F); // 319 + SetCommand(GFX4DST_RASET); SetData(0x00); SetData(0x00); SetData((_nlh - 1) >> 8); SetData((_nlh - 1) & 0x00ff); // 319 delay(120); SetCommand(GFX4DST_DISPON); //Display on delay(120); - SPI.endTransaction(); + DISP_SPI_ENDT; } if (IPSDisplay) Invert(false); + if(_nlh == 240){ + setScrollArea(0, 80); + } else { + setScrollArea(0, 0); + } Cls(0); #ifndef USE_FS - #if ARDUINO_ESP8266_GIT_VER > 0x2843a5ac - if (SD.begin(5, SD_SCK_MHZ(79))) - #else - if (SD.begin(_sd, spiSettings)) - #endif + if(SD_BEGIN) { #else if (LittleFS.begin()) { #endif sdok = true; - } - else - { + } else { sdok = false; } #ifndef ESP32 @@ -426,15 +456,15 @@ void GFX4d::Contrast(int ctrst) void GFX4d::setScrollArea(uint16_t tfa, uint16_t bfa) { SetCommand(GFX4d_VSCRDEF); SetData(tfa >> 8); SetData(tfa); - SetData((320 - tfa - bfa) >> 8); SetData(320 - tfa - bfa); - SetData(tfa >> 8); SetData(bfa); + SetData((_nlh - tfa - bfa) >> 8); SetData(_nlh - tfa - bfa); + SetData(bfa >> 8); SetData(bfa); } void GFX4d::Scroll(uint16_t vsp) { - if (vsp > height - 1) + if (vsp > _nlh - 1) { - vsp = vsp - height; + vsp = vsp - _nlh; } if (sEnable) { @@ -454,9 +484,7 @@ void GFX4d::MoveTo(int16_t x, int16_t y) { cursor_y = cursor_y - height; } - } - else - { + } else { cursor_y = y; if (cursor_y > (height - 1)) cursor_y = (height - 1); } @@ -607,9 +635,7 @@ void GFX4d::TriangleFilled ( int16_t x0, int16_t y0, int16_t x1, int16_t y1, int if (y1 == y2) { last = y1; - } - else - { + } else { last = y1 - 1; } for (y = y0; y <= last; y++) @@ -662,9 +688,7 @@ void GFX4d::Line(int16_t x0, int16_t y0, int16_t x1, int16_t y1, uint16_t color) if (y0 < y1) { incy = 1; - } - else - { + } else { incy = -1; } for (; x0 <= x1; x0++) @@ -672,9 +696,7 @@ void GFX4d::Line(int16_t x0, int16_t y0, int16_t x1, int16_t y1, uint16_t color) if (angH) { PutPixel(y0, x0, color); - } - else - { + } else { PutPixel(x0, y0, color); } edx = edx - yy; @@ -854,9 +876,7 @@ void GFX4d::PrintImage(uint16_t ui) if (userImag) { String resultFO = "Success. "; - } - else - { + } else { return; } uint16_t iwidth = tuiw[ui]; @@ -887,9 +907,7 @@ void GFX4d::PrintImage(uint16_t ui) if ((cursor_y - 1) < 0) { setGRAM(cursor_x, cursor_y + height - 1 , cursor_x + cuiw - 1 , cursor_y + height - 1); - } - else - { + } else { setGRAM(cursor_x, cursor_y - 1 , cursor_x + cuiw - 1 , cursor_y - 1); } if (off) @@ -898,9 +916,7 @@ void GFX4d::PrintImage(uint16_t ui) WrGRAMs8(buf, cuiw << (mul - 1), mul); pos = pos + (iwidth << (mul - 1)); userImag.seek(pos); - } - else - { + } else { userImag.read(buf, ichunk); WrGRAMs8(buf, ichunk, mul); } @@ -973,45 +989,20 @@ void GFX4d::DrawWidget(uint32_t Index, int16_t uix, int16_t uiy, int16_t uiw, in bufsize = cuiw << (mul - 1); steps = isize2 / bufsize; rem = 0; - } - else - { + } else { pos = (isize * frame); userImag.seek(Index + ofst + pos); if (isize > bufsize) steps = isize / bufsize; rem = isize - (steps * bufsize); } - uint8_t buf[bufsize]; -#ifndef ESP8266 - uint16_t pc = 0; -#endif + uint8_t buf[bufsize]; if (steps > 0) + { for (int n = 0; n < steps; n++) { -#ifndef ESP32 userImag.read(buf, bufsize); - WrGRAMs8(buf, bufsize, mul); -#else - userImag.read(buf, bufsize); - if (mul == 2) - { - for (int b = 0; b < bufsize; b += 2) - { - buf16[pc] = (buf[b] << 8) | buf[b + 1]; - pc ++; - if (pc == 12000) - { - WrGRAMs16(buf16, pc << 1); - pc = 0; - } - } - } - else - { - WrGRAMs8(buf, bufsize, mul); - } -#endif + WrGRAMs8(buf, bufsize, mul); if (off == true) { pos = pos + (uiw << (mul - 1)); @@ -1022,33 +1013,45 @@ void GFX4d::DrawWidget(uint32_t Index, int16_t uix, int16_t uiy, int16_t uiw, in if (rem > 0) { userImag.read(buf, rem); -#ifndef ESP32 WrGRAMs8(buf, rem, mul); -#else - if (mul == 2) - { - for (int b = 0; b < rem; b += 2) - { - buf16[pc] = (buf[b] << 8) | buf[b + 1]; - pc ++; - WrGRAMs16(buf16, pc << 1); - pc = 0; - } - } - else - { - WrGRAMs8(buf, rem, mul); - } -#endif - } -#ifndef ESP8266 - if (pc > 0 && mul == 2) - { - WrGRAMs16(buf16, pc << 1); } +#ifdef ESP8266 +yield(); #endif } +int GFX4d::charWidth(char ch){ + return (fsw + 1) * textsize; +} + +int GFX4d::charHeight(char ch){ + return fsh * textsize; +} + +int GFX4d::strWidth(String ts){ + return ts.length() * ((fsw + 1) * textsize); +} + +int GFX4d::imageGetWord(uint16_t img, byte controlIndex) +{ + int retval = -1; + switch(controlIndex){ + case 1: + retval = tuix[img]; + break; + case 2: + retval = tuiy[img]; + break; + case 4: + retval = tuiw[img]; + break; + case 8: + retval = tuih[img]; + break; + } + return retval; +} + void GFX4d::UserImage(uint16_t ui) { UserImage(ui, 0x7fff, 0x7fff); @@ -1065,43 +1068,20 @@ void GFX4d::UserImage(uint16_t ui, int altx, int alty) if (altx == 0x7fff && alty == 0x7fff) { DrawWidget(tuiIndex[ui], tuix[ui], tuiy[ui], tuiw[ui], tuih[ui], 0, 0, false, cdv[ui]); - } - else - { + } else { DrawWidget(tuiIndex[ui], altx, alty, tuiw[ui], tuih[ui], 0, 0, false, cdv[ui]); } ScrollEnable(setemp); } -/* -void GFX4d::LedDigitsDisplaySigned(int16_t newval, uint16_t index, int16_t Digits, int16_t MinDigits, int16_t WidthDigit, int16_t LeadingBlanks) -{ - LedDigitsDisplaySigned((int64_t)newval, index, Digits, MinDigits, WidthDigit, LeadingBlanks, 0x7fff , 0x7fff); -} -void GFX4d::LedDigitsDisplaySigned(int32_t newval, uint16_t index, int16_t Digits, int16_t MinDigits, int16_t WidthDigit, int16_t LeadingBlanks) -{ - LedDigitsDisplaySigned((int64_t)newval, index, Digits, MinDigits, WidthDigit, LeadingBlanks, 0x7fff , 0x7fff); -} -*/ void GFX4d::LedDigitsDisplaySigned(int64_t newval, uint16_t index, int16_t Digits, int16_t MinDigits, int16_t WidthDigit, int16_t LeadingBlanks) { LedDigitsDisplaySigned(newval, index, Digits, MinDigits, WidthDigit, LeadingBlanks, 0x7fff , 0x7fff); } -/* -void GFX4d::LedDigitsDisplaySigned(int16_t newval, uint16_t index, int16_t Digits, int16_t MinDigits, int16_t WidthDigit, int16_t LeadingBlanks, int16_t altx, int16_t alty) -{ - LedDigitsDisplaySigned((int64_t) newval, index, Digits, MinDigits, WidthDigit, LeadingBlanks, altx, alty); -} -void GFX4d::LedDigitsDisplaySigned(int32_t newval, uint16_t index, int16_t Digits, int16_t MinDigits, int16_t WidthDigit, int16_t LeadingBlanks, int16_t altx, int16_t alty) -{ - LedDigitsDisplaySigned((int64_t) newval, index, Digits, MinDigits, WidthDigit, LeadingBlanks, altx, alty); -} -*/ void GFX4d::LedDigitsDisplaySigned(int64_t newval, uint16_t index, int16_t Digits, int16_t MinDigits, int16_t WidthDigit, int16_t LeadingBlanks, int16_t altx, int16_t alty) { - int16_t i, lstb, digita[21]; - int64_t m, nv; + int16_t i, m, lstb, nv, digita[7]; int leftpos = 0; nv = newval ; lstb = 1 ; @@ -1128,44 +1108,22 @@ void GFX4d::LedDigitsDisplaySigned(int64_t newval, uint16_t index, int16_t Digit if (altx == 0x7fff && alty == 0x7fff) { UserImages(index, digita[i], leftpos); - } - else - { + } else { UserImages(index, digita[i], leftpos, altx, alty); } leftpos += WidthDigit ; } } -/* -void GFX4d::LedDigitsDisplay(uint16_t newval, uint16_t index, int16_t Digits, int16_t MinDigits, int16_t WidthDigit, int16_t LeadingBlanks) -{ - LedDigitsDisplay((uint64_t)newval, index, Digits, MinDigits, WidthDigit, LeadingBlanks, 0x7fff , 0x7fff); -} -void GFX4d::LedDigitsDisplay(uint32_t newval, uint16_t index, int16_t Digits, int16_t MinDigits, int16_t WidthDigit, int16_t LeadingBlanks) -{ - LedDigitsDisplay((uint64_t)newval, index, Digits, MinDigits, WidthDigit, LeadingBlanks, 0x7fff , 0x7fff); -} -*/ -void GFX4d::LedDigitsDisplay(uint64_t newval, uint16_t index, int16_t Digits, int16_t MinDigits, int16_t WidthDigit, int16_t LeadingBlanks) +void GFX4d::LedDigitsDisplay(int64_t newval, uint16_t index, int16_t Digits, int16_t MinDigits, int16_t WidthDigit, int16_t LeadingBlanks) { LedDigitsDisplay(newval, index, Digits, MinDigits, WidthDigit, LeadingBlanks, 0x7fff , 0x7fff); } -/* -void GFX4d::LedDigitsDisplay(uint16_t newval, uint16_t index, int16_t Digits, int16_t MinDigits, int16_t WidthDigit, int16_t LeadingBlanks, int16_t altx, int16_t alty) -{ - LedDigitsDisplay((uint64_t) newval, index, Digits, MinDigits, WidthDigit, LeadingBlanks, altx, alty); -} -void GFX4d::LedDigitsDisplay(uint32_t newval, uint16_t index, int16_t Digits, int16_t MinDigits, int16_t WidthDigit, int16_t LeadingBlanks, int16_t altx, int16_t alty) -{ - LedDigitsDisplay((uint64_t) newval, index, Digits, MinDigits, WidthDigit, LeadingBlanks, altx, alty); -} -*/ -void GFX4d::LedDigitsDisplay(uint64_t newval, uint16_t index, int16_t Digits, int16_t MinDigits, int16_t WidthDigit, int16_t LeadingBlanks, int16_t altx, int16_t alty) +void GFX4d::LedDigitsDisplay(int64_t newval, uint16_t index, int16_t Digits, int16_t MinDigits, int16_t WidthDigit, int16_t LeadingBlanks, int16_t altx, int16_t alty) { - int16_t i, lb; - uint64_t l, k; + int16_t i, k, lb; + int64_t l; l = 1; for (i = 1; i < Digits; i++) l *= 10; @@ -1185,9 +1143,7 @@ void GFX4d::LedDigitsDisplay(uint64_t newval, uint16_t index, int16_t Digits, in if (altx == 0x7fff && alty == 0x7fff) { UserImages(index, k , i * WidthDigit); - } - else - { + } else { UserImages(index, k , i * WidthDigit, altx, alty); } } @@ -1200,9 +1156,7 @@ void GFX4d::UserImages(uint16_t uisnb, int16_t framenb) if (framenb > (gciobjframes[uisnb] - 1) || framenb < 0) { outofrange(tuix[uisnb], tuiy[uisnb], tuiw[uisnb], tuih[uisnb]); - } - else - { + } else { DrawWidget(tuiIndex[uisnb], tuix[uisnb], tuiy[uisnb], tuiw[uisnb], tuih[uisnb], framenb, 0, true, cdv[uisnb]); } ScrollEnable(setemp); @@ -1215,9 +1169,7 @@ void GFX4d::UserImages(uint16_t uis, int16_t frame, int offset, int16_t altx, in if (frame > (gciobjframes[uis] - 1) || frame < 0) { outofrange(altx, alty, tuiw[uis], tuih[uis]); - } - else - { + } else { DrawWidget(tuiIndex[uis], altx, alty, tuiw[uis], tuih[uis], frame, offset, true, cdv[uis]); } ScrollEnable(setemp); @@ -1257,9 +1209,7 @@ void GFX4d::UserImages(uint16_t uisnb, int16_t framenb, int16_t newx, int16_t ne if (framenb > (gciobjframes[uisnb] - 1) || framenb < 0) { outofrange(tuix[uisnb], tuiy[uisnb], tuiw[uisnb], tuih[uisnb]); - } - else - { + } else { DrawWidget(tuiIndex[uisnb], newx, newy, tuiw[uisnb], tuih[uisnb], framenb, 0, true, cdv[uisnb]); } ScrollEnable(setemp); @@ -1272,9 +1222,7 @@ void GFX4d::UserImages(uint16_t uis, int16_t frame, int offset) if (frame > (gciobjframes[uis] - 1) || frame < 0) { outofrange(tuix[uis], tuiy[uis], tuiw[uis], tuih[uis]); - } - else - { + } else { DrawWidget(tuiIndex[uis], tuix[uis], tuiy[uis], tuiw[uis], tuih[uis], frame, offset, true, cdv[uis]); } ScrollEnable(setemp); @@ -1285,9 +1233,7 @@ void GFX4d::ScrollEnable(boolean se) if (se) { sEnable = true; - } - else - { + } else { sEnable = false; } } @@ -1342,9 +1288,7 @@ void GFX4d::PrintImageFile(String ifile) if ((cursor_y - 1) < 0) { setGRAM(cursor_x, cursor_y + height - 1 , cursor_x + cuiw - 1 , cursor_y + height - 1); - } - else - { + } else { setGRAM(cursor_x, cursor_y - 1 , cursor_x + cuiw - 1 , cursor_y - 1); } if (off) @@ -1353,9 +1297,7 @@ void GFX4d::PrintImageFile(String ifile) WrGRAMs8(buf, cuiw << (mul - 1), mul); pos = pos + (iwidth << (mul - 1)); dataFile.seek(pos); - } - else - { + } else { dataFile.read(buf, ichunk); WrGRAMs8(buf, ichunk, mul); } @@ -1409,9 +1351,7 @@ void GFX4d::ImageWifi(boolean local, String Address, uint16_t port, String hfile #else if (!http.begin(Address, port, hfile)) return; #endif - } - else - { + } else { #ifndef ESP32 #if ARDUINO_ESP8266_GIT_VER > 0x2843a5ac std::unique_ptrclient(new BearSSL::WiFiClientSecure); @@ -1426,9 +1366,7 @@ void GFX4d::ImageWifi(boolean local, String Address, uint16_t port, String hfile #endif #endif } - } - else - { + } else { if (sha1 == "") { #if ARDUINO_ESP8266_GIT_VER > 0x2843a5ac @@ -1436,9 +1374,7 @@ void GFX4d::ImageWifi(boolean local, String Address, uint16_t port, String hfile #else if (!http.begin(Address)) return; #endif - } - else - { + } else { #ifndef ESP32 #if ARDUINO_ESP8266_GIT_VER > 0x2843a5ac std::unique_ptrclient(new BearSSL::WiFiClientSecure); @@ -1505,9 +1441,7 @@ void GFX4d::ImageWifi(boolean local, String Address, uint16_t port, String hfile if ((cursor_y - 1) < 0) { setGRAM(cursor_x, cursor_y + height - 1 , cursor_x + cuiw - 1 , cursor_y + height - 1); - } - else - { + } else { setGRAM(cursor_x, cursor_y - 1 , cursor_x + cuiw - 1 , cursor_y - 1); } if (off) @@ -1515,9 +1449,7 @@ void GFX4d::ImageWifi(boolean local, String Address, uint16_t port, String hfile c = stream->readBytes(buf, bufsize); c = stream->readBytes(tbuf, tbufsize); WrGRAMs8(buf, bufsize, mul); - } - else - { + } else { c = stream->readBytes(buf, bufsize); WrGRAMs8(buf, bufsize, mul); } @@ -1529,19 +1461,58 @@ void GFX4d::ImageWifi(boolean local, String Address, uint16_t port, String hfile } } -void GFX4d::Open4dGFX(String file4d) +void GFX4d::Open4dGFX(String file4d){ + Open4dGFX(file4d, false); +} + +void GFX4d::SetMaxWidgets(int mw){ + MAX_WIDGETS = mw; +} + +void GFX4d::Open4dGFX(String file4d, bool allocMAX){ + if(allocMAX){ + _Open4dGFX(file4d, true); + gciobjtouchenable = (bool *)malloc(gciobjnum); + cdv = (uint8_t *)malloc(gciobjnum); + gciobjframes = (uint16_t *)malloc(gciobjnum << 1); + tuix = (int16_t *)malloc(gciobjnum << 1); + tuiy = (int16_t *)malloc(gciobjnum << 1); + tuiw = (int16_t *)malloc(gciobjnum << 1); + tuih = (int16_t *)malloc(gciobjnum << 1); + tuiIndex = (uint32_t *)malloc(gciobjnum << 2); + MAX_WIDGETS = gciobjnum + 1; + _Open4dGFX(file4d, false); + } else { + gciobjtouchenable = (bool *)malloc(MAX_WIDGETS); + cdv = (uint8_t *)malloc(MAX_WIDGETS); + gciobjframes = (uint16_t *)malloc(MAX_WIDGETS << 1); + tuix = (int16_t *)malloc(MAX_WIDGETS << 1); + tuiy = (int16_t *)malloc(MAX_WIDGETS << 1); + tuiw = (int16_t *)malloc(MAX_WIDGETS << 1); + tuih = (int16_t *)malloc(MAX_WIDGETS << 1); + tuiIndex = (uint32_t *)malloc(MAX_WIDGETS << 2); + _Open4dGFX(file4d, false); + } + opgfx = 1; +} + +void GFX4d::_Open4dGFX(String file4d, bool scan) { if (userImag) Close4dGFX(); uint8_t strpos = 0; uint8_t gotchar = 0; uint8_t ofset = 0; gciobjnum = 0; - imageTouchEnable(-1, false); + if(!(scan)) imageTouchEnable(-1, false); String inputString; dat4d = file4d + ".dat"; gci4d = file4d + ".gci"; +#ifdef ESP32 + dat4d = "/" + dat4d; + gci4d = "/" + gci4d; +#endif #ifndef USE_FS - userDat = SD.open(dat4d); + userDat = SD.open(dat4d, FILE_READ); #else userDat = LittleFS.open((char*)dat4d.c_str(), "r"); #endif @@ -1571,11 +1542,11 @@ void GFX4d::Open4dGFX(String file4d) strpos = 0; String tempis = inputString; uint32_t tuindex = getIndexfromString(tempis, (2 + ofset)); - tuiIndex[gciobjnum] = tuindex; + if(!(scan)) tuiIndex[gciobjnum] = tuindex; uint32_t tuiPos; tuiPos = getCoordfromString(tempis, (12 + ofset)); - tuix[gciobjnum] = xic; - tuiy[gciobjnum] = yic; + if(!(scan)) tuix[gciobjnum] = xic; + if(!(scan)) tuiy[gciobjnum] = yic; inputString = ""; gciobjnum ++; } @@ -1583,6 +1554,7 @@ void GFX4d::Open4dGFX(String file4d) } } userDat.close(); + if(scan) return; #ifndef USE_FS userImag = SD.open(gci4d); #else @@ -1594,17 +1566,21 @@ void GFX4d::Open4dGFX(String file4d) { tIndex = tuiIndex[n]; userImag.seek(tIndex); - tuiw[n] = (userImag.read() << 8) + userImag.read(); - tuih[n] = (userImag.read() << 8) + userImag.read(); - cdv[n] = userImag.read(); + if(!(scan)) tuiw[n] = (userImag.read() << 8) + userImag.read(); + if(!(scan)) tuih[n] = (userImag.read() << 8) + userImag.read(); + if(!(scan)) cdv[n] = userImag.read(); coldepth = userImag.read(); - gciobjframes[n] = (userImag.read() << 8) + userImag.read(); + if(!(scan)) gciobjframes[n] = (userImag.read() << 8) + userImag.read(); } } uint16_t GFX4d::getWidgetNumFrames(int widget) { - return gciobjframes[widget]; + if(opgfx){ + return gciobjframes[widget]; + } else { + return 0; + } } uint32_t GFX4d::getIndexfromString(String strval, uint8_t indx) @@ -1682,7 +1658,7 @@ void GFX4d::newLine(int8_t f1, int8_t ts, uint16_t ux) if (rotation != 2 && rotation != 3) { cursor_y += remspc; - if (cursor_y > 239) cursor_y = 239; + if (cursor_y > GFX4d_SCRWIDTH) cursor_y = GFX4d_SCRWIDTH; cursor_x = ux; return; } @@ -1691,7 +1667,7 @@ void GFX4d::newLine(int8_t f1, int8_t ts, uint16_t ux) uint16_t offset = 0; if (scrolled == false) { - if ((cursor_y + remspc ) < 320) + if ((cursor_y + remspc ) < _nlh) { cursor_y += textsizeht * fsh1; cursor_x = ux; @@ -1708,36 +1684,30 @@ void GFX4d::newLine(int8_t f1, int8_t ts, uint16_t ux) if (rotation == 3) { - tcy2 = 320 - scrollOffset; - } - else - { + tcy2 = _nlh - scrollOffset; + } else { tcy2 = scrollOffset; } int tcy21 = tcy2 - 1; if (tcy21 < 0) { - tcy21 = tcy21 + 320; + tcy21 = tcy21 + _nlh; } if (textbgcolor != textcolor) { - Hline(0, tcy2, 240, textbgcolor); - Hline(0, tcy21, 240, textbgcolor); - } - else - { - Hline(0, tcy2, 240, BLACK); - Hline(0, tcy21, 240, BLACK); + Hline(0, tcy2, GFX4d_TFTWIDTH, textbgcolor); + Hline(0, tcy21, GFX4d_TFTWIDTH, textbgcolor); + } else { + Hline(0, tcy2, GFX4d_TFTWIDTH, BLACK); + Hline(0, tcy21, GFX4d_TFTWIDTH, BLACK); } if (rotation == 2) { - if ((tempy + sn) > 319) - { - Scroll(tempy + sn - 320); - } - else + if ((tempy + sn) > (_nlh - 1)) { + Scroll(tempy + sn - _nlh); + } else { Scroll(tempy + sn); } } @@ -1745,10 +1715,8 @@ void GFX4d::newLine(int8_t f1, int8_t ts, uint16_t ux) { if ((tempy - sn) < 0) { - Scroll(320 - tempy - sn); - } - else - { + Scroll(_nlh - tempy - sn); + } else { Scroll(tempy - sn); } } @@ -1757,26 +1725,30 @@ void GFX4d::newLine(int8_t f1, int8_t ts, uint16_t ux) if (rotation == 2) { cursor_y = tempy; - if (cursor_y > 319) + if (cursor_y > (_nlh -1)) { - cursor_y = cursor_y - 320; + cursor_y = cursor_y - _nlh; } } if (rotation == 3) { - cursor_y = 320 - tempy; - if (cursor_y > 319) + cursor_y = _nlh - tempy; + if (cursor_y > (_nlh - 1)) { - cursor_y = cursor_y - 320; + cursor_y = cursor_y - _nlh; } } cursor_x = ux; } if (scrolled == false) { - if ((cursor_y + remspc) > 319) + if ((cursor_y + remspc) > (_nlh - 1)) { - setScrollArea(0, 0); + if(_nlh == 240){ + setScrollArea(0, 80); + } else { + setScrollArea(0, 0); + } int16_t diff = remspc; int16_t tempy = scrollOffset; for (int16_t sn = 0; sn < diff + 1; sn++) @@ -1785,36 +1757,30 @@ void GFX4d::newLine(int8_t f1, int8_t ts, uint16_t ux) if (rotation == 3) { - tcy2 = 320 - scrollOffset; - } - else - { + tcy2 = _nlh - scrollOffset; + } else { tcy2 = scrollOffset; } int tcy21 = tcy2 - 1; if (tcy21 < 0) { - tcy21 = tcy21 + 320; + tcy21 = tcy21 + _nlh; } if (textbgcolor != textcolor) { - Hline(0, tcy2, 240, textbgcolor); - Hline(0, tcy21, 240, textbgcolor); - } - else - { - Hline(0, tcy2, 240, BLACK); - Hline(0, tcy21, 240, BLACK); + Hline(0, tcy2, GFX4d_TFTWIDTH, textbgcolor); + Hline(0, tcy21, GFX4d_TFTWIDTH, textbgcolor); + } else { + Hline(0, tcy2, GFX4d_TFTWIDTH, BLACK); + Hline(0, tcy21, GFX4d_TFTWIDTH, BLACK); } if (rotation == 2) { - if ((tempy + sn) > 319) - { - Scroll(tempy + sn - 320); - } - else + if ((tempy + sn) > (_nlh - 1)) { + Scroll(tempy + sn - _nlh); + } else { Scroll(tempy + sn); } } @@ -1822,10 +1788,8 @@ void GFX4d::newLine(int8_t f1, int8_t ts, uint16_t ux) { if ((tempy - sn) < 0) { - Scroll(320 - tempy - sn); - } - else - { + Scroll(_nlh - tempy - sn); + } else { Scroll(tempy - sn); } } @@ -1837,11 +1801,11 @@ void GFX4d::newLine(int8_t f1, int8_t ts, uint16_t ux) } if (rotation == 3) { - cursor_y = 319 - tempy + 1; + cursor_y = (_nlh - 1) - tempy + 1; } - if (cursor_y > 319) + if (cursor_y > (_nlh - 1)) { - cursor_y = cursor_y - 320; + cursor_y = cursor_y - _nlh; } cursor_x = ux; } @@ -1906,35 +1870,25 @@ void GFX4d::drawChar2(int16_t x, int16_t y, unsigned char c, uint16_t color, uin { if (sizew == 1 && sizeht == 1) { - if (y + j > 319 && (rotation == 3 || rotation == 2)) - { - PutPixel(x + i, y + j - 320, color); - } - else + if (y + j > (_nlh - 1) && (rotation == 3 || rotation == 2)) { + PutPixel(x + i, y + j - _nlh, color); + } else { PutPixel(x + i, y + j, color); } - } - else - { + } else { RectangleFilled(x + (i * sizew), y + (j * sizeht), (sizew + x) + (i * sizew) - 1, (sizeht + y) + (j * sizeht) - 1, color); } - } - else if (bg != color) - { + } else if (bg != color){ if (sizew == 1 && sizeht == 1) { - if (y + j > 319 && (rotation == 3 || rotation == 2)) - { - PutPixel(x + i, y + j - 320, bg); - } - else + if (y + j > (_nlh - 1) && (rotation == 3 || rotation == 2)) { + PutPixel(x + i, y + j - _nlh, bg); + } else { PutPixel(x + i, y + j, bg); } - } - else - { + } else { RectangleFilled(x + (i * sizew), y + (j * sizeht), (sizew + x) + (i * sizew) - 1, (sizeht + y) + (j * sizeht) - 1, bg); } } @@ -1967,9 +1921,7 @@ void GFX4d::drawChar2tw(int16_t x, int16_t y, unsigned char c, uint16_t color, u if (chb & trow) { temppix[pc] = color; - } - else - { + } else { temppix[pc] = bg; } chb <<= 1; @@ -2009,9 +1961,7 @@ void GFX4d::drawChar1tw(int16_t x, int16_t y, unsigned char c, uint16_t color, u if (chb1 & trow) { temppix[pc] = color; - } - else - { + } else { temppix[pc] = bg; } pc ++; @@ -2068,9 +2018,7 @@ boolean GFX4d::TWMoveTo(uint8_t twcrx, uint8_t twcry) twxpos = twcrx; twypos = twcry; return true; - } - else - { + } else { return false; } } @@ -2088,9 +2036,7 @@ void GFX4d::TWwrite(const char txtinput) if (TWimgSet) { if (twcurson && twen)drawChar2TWimage(0, TWimage, 0, twcurx, twcury, txtf); - } - else - { + } else { if (twcurson && twen)drawChar2tw(twcurx, twcury, 0, txtf, txtb, 1); } boolean skip2 = false; @@ -2100,9 +2046,7 @@ void GFX4d::TWwrite(const char txtinput) if (TWimgSet) { if (twen)drawChar2TWimage(txtinput - 32, TWimage, 0, twcurx, twcury, twcolnum); - } - else - { + } else { if (twen)drawChar2tw(twcurx, twcury, txtinput - 32, twcolnum, txtb, 1); } txtbuf[(chracc * twypos) + twxpos] = txtinput; @@ -2173,9 +2117,7 @@ void GFX4d::TWwrite(const char txtinput) if (TWimgSet) { if (twen)drawChar2TWimage(0, TWimage, 0, twcurx, twcury, twcolnum); - } - else - { + } else { if (twen)drawChar2tw(twcurx, twcury, 0, twcolnum, txtb, 1); } txtbuf[(chracc * twypos) + twxpos] = txtinput; @@ -2188,9 +2130,7 @@ void GFX4d::TWwrite(const char txtinput) if (TWimgSet) { if (twen)drawChar2TWimage(0, TWimage, 0, twcurx, twcury, twcolnum); - } - else - { + } else { if (twen)drawChar2tw(twcurx, twcury, 0, twcolnum, txtb, 1); } txtbuf[(chracc * twypos) + twxpos] = txtinput; @@ -2226,9 +2166,7 @@ void GFX4d::TWwrite(const char txtinput) if ((tempc < 33) && (tempp < 33)) { drawspc1 = false; - } - else - { + } else { drawspc1 = true; } if (tempc < 32) tempc = 32; @@ -2238,9 +2176,7 @@ void GFX4d::TWwrite(const char txtinput) if (TWimgSet) { if (twen)drawChar2TWimage(tempc - 32, TWimage, 0, txtx + (9 * o), txty + (16 * n), temptwcol); - } - else - { + } else { if (twen)drawChar2tw(txtx + (9 * o), txty + (16 * n), tempc - 32, temptwcol, txtb, 1); } } @@ -2251,9 +2187,7 @@ void GFX4d::TWwrite(const char txtinput) if (TWimgSet) { if (twen)UserImagesDR(TWimage, 0, twcurx - tuix[TWimage], twcury - tuiy[TWimage], txtw - 1, 16); - } - else - { + } else { if (twen)RectangleFilled(twcurx, twcury, twcurx + (txtw - 1) - 1, twcury + 16, txtb); } } @@ -2262,9 +2196,7 @@ void GFX4d::TWwrite(const char txtinput) if (TWimgSet) { if (twen)drawChar2TWimage(63, TWimage, 0, twcurx, twcury, txtf); - } - else - { + } else { if (twen)drawChar2tw(twcurx, twcury, 63, txtf, txtb, 1); } } @@ -2280,9 +2212,7 @@ void GFX4d::TWcls() if (TWimgSet) { UserImages(TWimage, 0); - } - else - { + } else { RectangleFilled(txtx - 3, txty - 3, (txtx - 3) + (txtw + 2) - 1, (txty - 3) + (txth + 2) - 1, txtb); } twcurx = txtx; @@ -2321,6 +2251,11 @@ void GFX4d::TextWindowImage(int16_t x, int16_t y, int16_t w, int16_t h, uint16_t void GFX4d::TextWindow(int16_t x, int16_t y, int16_t w, int16_t h, uint16_t txtcolor, uint16_t txbcolor, uint16_t frcolor) { + if(TWInitial){ + txfcol = (uint16_t *)malloc(1200); + txtbuf = (uint8_t *)malloc(600); + TWInitial = false; + } twen = true; for (int n = 0; n < 600; n ++) { @@ -2370,16 +2305,12 @@ void GFX4d::TextWindowRestore() if (TWimgSet) { UserImages(TWimage, 0); - } - else - { + } else { if (twframe) { PanelRecessed(txtx - 6, txty - 6, txtw + 8 , txth + 8, twframecol); RectangleFilled(txtx - 3, txty - 3, (txtx - 3) + (txtw + 2) - 1, (txty - 3) + (txth + 2) - 1, txtb); - } - else - { + } else { RectangleFilled(txtx - 3, txty - 3, (txtx - 3) + (txtw + 2) - 1, (txty - 3) + (txth + 2) - 1, txtb); } } @@ -2399,9 +2330,7 @@ void GFX4d::TextWindowRestore() if (TWimgSet) { drawChar2TWimage(tempc - 32, TWimage, 0, txtx + ((fsw + 1) * o), txty + (fsh * n), tcoltw); - } - else - { + } else { drawChar2tw(txtx + ((fsw + 1) * o), txty + (fsh * n), tempc - 32, tcoltw, txtb, 1); } } @@ -2412,6 +2341,11 @@ void GFX4d::TextWindow(int16_t x, int16_t y, int16_t w, int16_t h, uint16_t txtc { twen = true; if (!(TWimgSet)) TWimage = -1; + if(TWInitial){ + txfcol = (uint16_t *)malloc(1200); + txtbuf = (uint8_t *)malloc(600); + TWInitial = false; + } for (int n = 0; n < 600; n ++) { txtbuf[n] = 0; @@ -2461,9 +2395,7 @@ void GFX4d::drawChar1(int16_t x, int16_t y, unsigned char c, uint16_t color, uin if (i == (fsw)) { tcol = 0x0; - } - else - { + } else { tcol = font1[(c * 5) + i]; } for (int8_t j = 0; j < 8; j++) @@ -2473,17 +2405,13 @@ void GFX4d::drawChar1(int16_t x, int16_t y, unsigned char c, uint16_t color, uin { if (sizew == 1 && sizeht == 1) { - if (y + j > 319 && (rotation == 3 || rotation == 2)) - { - PutPixel(x + i, y + j - 320, color); - } - else + if (y + j > (_nlh -1) && (rotation == 3 || rotation == 2)) { + PutPixel(x + i, y + j - _nlh, color); + } else { PutPixel(x + i, y + j, color); } - } - else - { + } else { if (fstyle == 0)RectangleFilled(x + (i * sizew), y + (j * sizeht), (sizew + x) + (i * sizew) - 1, (sizeht + y) + (j * sizeht) - 1, color); if (fstyle == 2)Circle(x + (i * sizew) + crad, y + (j * sizeht) + crad, crad, color); if (fstyle == 1)CircleFilled(x + (i * sizew) + crad, y + (j * sizeht) + crad, crad, color); @@ -2506,22 +2434,16 @@ void GFX4d::drawChar1(int16_t x, int16_t y, unsigned char c, uint16_t color, uin } } } - } - else if (bg != color) - { + } else if (bg != color){ if (sizew == 1 && sizeht == 1) { - if (y + j > 319 && (rotation == 3 || rotation == 2)) - { - PutPixel(x + i, y + j - 320, bg); - } - else + if (y + j > (_nlh - 1) && (rotation == 3 || rotation == 2)) { + PutPixel(x + i, y + j - _nlh, bg); + } else { PutPixel(x + i, y + j, bg); } - } - else - { + } else { RectangleFilled(x + i * sizew, y + j * sizeht, (sizew + x) + i * sizew - 1, (sizeht + y) + j * sizeht - 1, bg); } } @@ -2577,21 +2499,23 @@ void GFX4d::setGRAM(uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1) sgy = y0; sgw = x1 - x0 + 1; sgh = y1 - y0 + 1; - digitalWrite(_cs, LOW); + x1 += _xstart; + y1 += _ystart; + DISP_CS_LO; uint32_t casCoord = (x0 << 16) + x1; uint32_t pasCoord = (y0 << 16) + y1; - digitalWrite(_dc, LOW); - SPI.write(GFX4d_CASET); - digitalWrite(_dc, HIGH); - SPI.write32(casCoord); - digitalWrite(_dc, LOW); - SPI.write(GFX4d_PASET); - digitalWrite(_dc, HIGH); - SPI.write32(pasCoord); - digitalWrite(_dc, LOW); - SPI.write(GFX4d_RAMWR); - digitalWrite(_dc, HIGH); - digitalWrite(_cs, HIGH); + DISP_DC_LO; + DISP_SPI_WRITE(GFX4d_CASET); + DISP_DC_HI; + DISP_SPI_WRITE32(casCoord); + DISP_DC_LO; + DISP_SPI_WRITE(GFX4d_PASET); + DISP_DC_HI; + DISP_SPI_WRITE32(pasCoord); + DISP_DC_LO; + DISP_SPI_WRITE(GFX4d_RAMWR); + DISP_DC_HI; + DISP_CS_HI; } void GFX4d::setGRAM_(uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1) @@ -2600,94 +2524,103 @@ void GFX4d::setGRAM_(uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1) sgy = y0; sgw = x1 - x0 + 1; sgh = y1 - y0 + 1; + x1 += _xstart; + y1 += _ystart; uint32_t casCoord = (x0 << 16) + x1; uint32_t pasCoord = (y0 << 16) + y1; - digitalWrite(_dc, LOW); - SPI.write(GFX4d_CASET); - digitalWrite(_dc, HIGH); - SPI.write32(casCoord); - digitalWrite(_dc, LOW); - SPI.write(GFX4d_PASET); - digitalWrite(_dc, HIGH); - SPI.write32(pasCoord); - digitalWrite(_dc, LOW); - SPI.write(GFX4d_RAMWR); - digitalWrite(_dc, HIGH); + DISP_DC_LO; + DISP_SPI_WRITE(GFX4d_CASET); + DISP_DC_HI; + DISP_SPI_WRITE32(casCoord); + DISP_DC_LO; + DISP_SPI_WRITE(GFX4d_PASET); + DISP_DC_HI; + DISP_SPI_WRITE32(pasCoord); + DISP_DC_LO; + DISP_SPI_WRITE(GFX4d_RAMWR); + DISP_DC_HI; } void GFX4d::WrGRAM(uint32_t color) { - SPI.beginTransaction(spiSettingsD); - digitalWrite(_dc, HIGH); - digitalWrite(_cs, LOW); -#ifndef ESP32 - SPI.write32(color, true); -#else - SPI.write32(color); -#endif - digitalWrite(_cs, HIGH); - SPI.endTransaction(); + DISP_SPI_BEGINT; + DISP_DC_HI; + DISP_CS_LO; + DISP_SPI_WRITE32(color); + DISP_CS_HI; + DISP_SPI_ENDT; } void GFX4d::WrGRAM16(uint16_t color) { - SPI.beginTransaction(spiSettingsD); - digitalWrite(_dc, HIGH); - digitalWrite(_cs, LOW); + DISP_SPI_BEGINT; + DISP_DC_HI; + DISP_CS_LO; + DISP_SPI_WRITE16(color); + DISP_CS_HI; + DISP_SPI_ENDT; +} + +void GFX4d::WrGRAMs16(uint16_t *data, uint16_t l) +{ + uint32_t tdw; + DISP_SPI_BEGINT; + DISP_DC_HI; + DISP_CS_LO; #ifndef ESP32 - SPI.write16(color, true); + while (l--) + { + tdw = *data++; + + DISP_SPI_WRITE16(tdw); + } #else - SPI.write16(color); + SPI.writePixels(data, l); #endif - digitalWrite(_cs, HIGH); - SPI.endTransaction(); + DISP_CS_HI; + DISP_SPI_ENDT; } -void GFX4d::WrGRAMs16(uint16_t *data, uint16_t l) +void GFX4d::WrGRAMs16NT(uint16_t *data, uint16_t l) { uint32_t tdw; - SPI.beginTransaction(spiSettingsD); - digitalWrite(_dc, HIGH); - digitalWrite(_cs, LOW); #ifndef ESP32 while (l--) { tdw = *data++; - SPI.write16(tdw, true); + DISP_SPI_WRITE16(tdw); } #else SPI.writePixels(data, l); #endif - digitalWrite(_cs, HIGH); - SPI.endTransaction(); } uint16_t GFX4d::ReadPixel(uint16_t xrp, uint16_t yrp) { + xrp += _xstart; + yrp += _ystart; uint32_t casCoord = (xrp << 16) | xrp; uint32_t pasCoord = (yrp << 16) | yrp; - digitalWrite(_cs, LOW); - digitalWrite(_dc, LOW); - SPI.write(GFX4d_CASET); - digitalWrite(_dc, HIGH); - SPI.write32(casCoord); - digitalWrite(_dc, LOW); - SPI.write(GFX4d_PASET); - digitalWrite(_dc, HIGH); - SPI.write32(pasCoord); - digitalWrite(_dc, LOW); - SPI.write(GFX4d_RAMRD); - digitalWrite(_dc, HIGH); - SPI.beginTransaction(spiSettingsD); - digitalWrite(_dc, HIGH); - digitalWrite(_cs, LOW); + DISP_CS_LO; + DISP_DC_LO; + DISP_SPI_WRITE(GFX4d_CASET); + DISP_DC_HI; + DISP_SPI_WRITE32(casCoord); + DISP_DC_LO; + DISP_SPI_WRITE(GFX4d_PASET); + DISP_DC_HI; + DISP_SPI_WRITE32(pasCoord); + DISP_DC_LO; + DISP_SPI_WRITE(GFX4d_RAMRD); + DISP_DC_HI; + DISP_SPI_BEGINT; uint16_t dcol; - dcol = SPI.transfer(0); - uint16_t tcol = (SPI.transfer(0) & 0xF8) << 8; - tcol = tcol | ((SPI.transfer(0) & 0xFC) << 3); - tcol = tcol | (SPI.transfer(0) >> 3); - digitalWrite(_cs, HIGH); - SPI.endTransaction(); + dcol = DISP_SPI_TRANSFER(0); + uint16_t tcol = (DISP_SPI_TRANSFER(0) & 0xF8) << 8; + tcol = tcol | ((DISP_SPI_TRANSFER(0) & 0xFC) << 3); + tcol = tcol | (DISP_SPI_TRANSFER(0) >> 3); + DISP_CS_HI; + DISP_SPI_ENDT; return tcol; } @@ -2698,11 +2631,9 @@ void GFX4d::ChangeColor(uint16_t oCol, uint16_t nCol) int r, c; if (Orientation() < 2) { - wcc = 320 ; hcc = 240; - } - else - { - hcc = 320; wcc = 240; + wcc = _nlh ; hcc = GFX4d_TFTWIDTH; + } else { + hcc = _nlh; wcc = GFX4d_TFTWIDTH; } r = hcc; c = wcc / 40; @@ -2713,44 +2644,41 @@ void GFX4d::ChangeColor(uint16_t oCol, uint16_t nCol) yield(); for (int c1 = 0; c1 < c; c1 ++) { - c1sum = c1 * 40; - uint32_t casCoord = (c1sum << 16) | (c1sum + 39); + c1sum = (c1 * 40) + _xstart; + r1 += _ystart; + uint32_t casCoord = (c1sum << 16) | (c1sum + 39); uint32_t pasCoord = (r1 << 16) | r1; - digitalWrite(_cs, LOW); - digitalWrite(_dc, LOW); - SPI.write(GFX4d_CASET); - digitalWrite(_dc, HIGH); - SPI.write32(casCoord); - digitalWrite(_dc, LOW); - SPI.write(GFX4d_PASET); - digitalWrite(_dc, HIGH); - SPI.write32(pasCoord); - digitalWrite(_dc, LOW); - SPI.write(GFX4d_RAMRD); - digitalWrite(_dc, HIGH); - SPI.beginTransaction(spiSettingsD); - digitalWrite(_dc, HIGH); - digitalWrite(_cs, LOW); - uint16_t dcol = SPI.transfer(0); + DISP_CS_LO; + DISP_DC_LO; + DISP_SPI_WRITE(GFX4d_CASET); + DISP_DC_HI; + DISP_SPI_WRITE32(casCoord); + DISP_DC_LO; + DISP_SPI_WRITE(GFX4d_PASET); + DISP_DC_HI; + DISP_SPI_WRITE32(pasCoord); + DISP_DC_LO; + DISP_SPI_WRITE(GFX4d_RAMRD); + DISP_DC_HI; + DISP_SPI_BEGINT; + uint16_t dcol = DISP_SPI_TRANSFER(0); changed = 0; for (int n = 0; n < 40; n += 1) { - tcol = (SPI.transfer(0) & 0xF8) << 8; - dcol = SPI.transfer16(0); + tcol = (DISP_SPI_TRANSFER(0) & 0xF8) << 8; + dcol = DISP_SPI_TRANSFER16(0); tcol = tcol | ((dcol & 0xFC00) >> 5); tcol = tcol | ((dcol & 0xFC) >> 3); if (tcol != oCol) { pixToChange[n] = tcol; - } - else - { + } else { changed = 1; pixToChange[n] = nCol; } } - digitalWrite(_cs, HIGH); - SPI.endTransaction(); + DISP_CS_HI; + DISP_SPI_ENDT; if (changed) { setGRAM(c1 * 40, r1, (c1 * 40) + 39, r1); @@ -2764,9 +2692,9 @@ void GFX4d::WrGRAMs8(uint8_t *data, uint16_t l, byte mul) { uint32_t tdw; uint16_t tdy; - SPI.beginTransaction(spiSettingsD); - digitalWrite(_dc, HIGH); - digitalWrite(_cs, LOW); + DISP_SPI_BEGINT; + DISP_DC_HI; + DISP_CS_LO; while (l) { if (mul == 2) @@ -2780,17 +2708,13 @@ void GFX4d::WrGRAMs8(uint8_t *data, uint16_t l, byte mul) if (testf & 2) { tdw = TWimageTextCol << 16; - } - else - { + } else { tdw = (*data++ << 24) + (*data++ << 16); } if (testf & 1) { tdw = tdw + TWimageTextCol; - } - else - { + } else { tdw = tdw + (*data++ << 8) + (*data++); } if (TWcharBit == 0) @@ -2798,62 +2722,96 @@ void GFX4d::WrGRAMs8(uint8_t *data, uint16_t l, byte mul) TWcharBit = 8; TWcharByte ++; } TWcharBit -= 2; - } - else - { + } else { tdw = (*data++ << 24) + (*data++ << 16) + (*data++ << 8) + *data++; } l -= 4; - SPI.write32(tdw, true); - } - else - { + DISP_SPI_WRITE32(tdw); + } else { tdy = (*data++ << 8) + *data++; l -= 2; - SPI.write16(tdy); + DISP_SPI_WRITE16(tdy); } #else SPI.writeBytes(data, l); l = 0; #endif - } - else - { + } else { if (l >= 2) { tdw = (RGB3322565[*data++] << 16) + RGB3322565[*data++]; l -= 2; - SPI.write32(tdw); +#ifdef ESP32 + DISP_SPI_WRITE32(tdw); + } else { + tdy = RGB3322565[*data++]; + l -= 1; + DISP_SPI_WRITE16(tdy); } - else - { + } + } + DISP_CS_HI; + DISP_SPI_ENDT; +#else + DISP_SPI_WRITE32(tdw); + } else { tdy = RGB3322565[*data++]; l -= 1; - SPI.write16(tdy); + DISP_SPI_WRITE(tdy); } } } - digitalWrite(_cs, HIGH); - SPI.endTransaction(); + DISP_CS_HI; + DISP_SPI_ENDT; +#endif +} + +#ifdef ESP32 +void GFX4d::WritePixels(uint16_t * data, uint32_t l){ + DISP_SPI_BEGINT; + DISP_DC_HI; + DISP_CS_LO; + SPI.writePixels(data, l); + DISP_CS_HI; + DISP_SPI_ENDT; +} +#endif + +void GFX4d::WriteBytes(uint8_t *data, uint32_t l) { + DISP_SPI_BEGINT; + DISP_DC_HI; + DISP_CS_LO; + DISP_SPI_WRITEBYTES(data, l); + DISP_CS_HI; + DISP_SPI_ENDT; +} + +void GFX4d::WrGRAMs(uint32_t *data, uint16_t l) +{ + uint32_t tdw; + DISP_SPI_BEGINT; + DISP_DC_HI; + DISP_CS_LO; + while (l--) + { + tdw = *data++; + DISP_SPI_WRITE32(tdw); + } + DISP_CS_HI; + DISP_SPI_ENDT; } -void GFX4d::WrGRAMs(uint32_t *data, uint16_t l) +void GFX4d::WrGRAMsNT(uint32_t *data, uint16_t l) { uint32_t tdw; - SPI.beginTransaction(spiSettingsD); - digitalWrite(_dc, HIGH); - digitalWrite(_cs, LOW); + DISP_DC_HI; + DISP_CS_LO; while (l--) { tdw = *data++; -#ifndef ESP32 - SPI.write32(tdw, true); -#else - SPI.write32(tdw); -#endif + DISP_SPI_WRITE32(tdw); } - digitalWrite(_cs, HIGH); - SPI.endTransaction(); + DISP_CS_HI; } void GFX4d::PutPixel(int16_t x, int16_t y, uint16_t color) @@ -2862,28 +2820,26 @@ void GFX4d::PutPixel(int16_t x, int16_t y, uint16_t color) { return; } - SPI.beginTransaction(spiSettingsD); - digitalWrite(_cs, LOW); + DISP_SPI_BEGINT; + DISP_CS_LO; + x += _xstart; + y += _ystart; uint32_t casCoord = (x << 16) + (x + 1); uint32_t pasCoord = (y << 16) + (y + 1); - digitalWrite(_dc, LOW); - SPI.write(GFX4d_CASET); - digitalWrite(_dc, HIGH); - SPI.write32(casCoord); - digitalWrite(_dc, LOW); - SPI.write(GFX4d_PASET); - digitalWrite(_dc, HIGH); - SPI.write32(pasCoord); - digitalWrite(_dc, LOW); - SPI.write(GFX4d_RAMWR); - digitalWrite(_dc, HIGH); -#ifndef ESP32 - SPI.write16(color, true); -#else - SPI.write16(color); -#endif - digitalWrite(_cs, HIGH); - SPI.endTransaction(); + DISP_DC_LO; + DISP_SPI_WRITE(GFX4d_CASET); + DISP_DC_HI; + DISP_SPI_WRITE32(casCoord); + DISP_DC_LO; + DISP_SPI_WRITE(GFX4d_PASET); + DISP_DC_HI; + DISP_SPI_WRITE32(pasCoord); + DISP_DC_LO; + DISP_SPI_WRITE(GFX4d_RAMWR); + DISP_DC_HI; + DISP_SPI_WRITE16(color); + DISP_CS_HI; + DISP_SPI_ENDT; } void GFX4d::Vline(int16_t x, int16_t y, int16_t h, uint16_t vcolor) @@ -2900,36 +2856,36 @@ void GFX4d::Vline(int16_t x, int16_t y, int16_t h, uint16_t vcolor) y = 0; } if ((y + h - 1) >= height) h = height - y; - SPI.beginTransaction(spiSettingsD); - digitalWrite(_cs, LOW); + x += _xstart; + y += _ystart; + DISP_SPI_BEGINT; + DISP_CS_LO; uint32_t casCoord = (x << 16) + x; uint32_t pasCoord = (y << 16) + (y + h - 1); - digitalWrite(_dc, LOW); - SPI.write(GFX4d_CASET); - digitalWrite(_dc, HIGH); - SPI.write32(casCoord); - digitalWrite(_dc, LOW); - SPI.write(GFX4d_PASET); - digitalWrite(_dc, HIGH); - SPI.write32(pasCoord); - digitalWrite(_dc, LOW); - SPI.write(GFX4d_RAMWR); - digitalWrite(_dc, HIGH); + DISP_DC_LO; + DISP_SPI_WRITE(GFX4d_CASET); + DISP_DC_HI; + DISP_SPI_WRITE32(casCoord); + DISP_DC_LO; + DISP_SPI_WRITE(GFX4d_PASET); + DISP_DC_HI; + DISP_SPI_WRITE32(pasCoord); + DISP_DC_LO; + DISP_SPI_WRITE(GFX4d_RAMWR); + DISP_DC_HI; if (h < 2) { - SPI.write16(vcolor); - } - else - { + DISP_SPI_WRITE16(vcolor); + } else { while (h > 0) { - SPI.write32((vcolor << 16) | vcolor); + DISP_SPI_WRITE32((vcolor << 16) | vcolor); h -= 2; } - if (h < 0) SPI.write16(vcolor); + if (h < 0) DISP_SPI_WRITE16(vcolor); } - digitalWrite(_cs, HIGH); - SPI.endTransaction(); + DISP_CS_HI; + DISP_SPI_ENDT; } void GFX4d::Hline(int16_t x, int16_t y, int16_t w, uint16_t hcolor) @@ -2946,36 +2902,36 @@ void GFX4d::Hline(int16_t x, int16_t y, int16_t w, uint16_t hcolor) x = 0; } if ((x + w - 1) >= width) w = width - x; - SPI.beginTransaction(spiSettingsD); - digitalWrite(_cs, LOW); + x += _xstart; + y += _ystart; + DISP_SPI_BEGINT; + DISP_CS_LO; uint32_t casCoord = (x << 16) + (x + w - 1); uint32_t pasCoord = (y << 16) + y; - digitalWrite(_dc, LOW); - SPI.write(GFX4d_CASET); - digitalWrite(_dc, HIGH); - SPI.write32(casCoord); - digitalWrite(_dc, LOW); - SPI.write(GFX4d_PASET); - digitalWrite(_dc, HIGH); - SPI.write32(pasCoord); - digitalWrite(_dc, LOW); - SPI.write(GFX4d_RAMWR); - digitalWrite(_dc, HIGH); + DISP_DC_LO; + DISP_SPI_WRITE(GFX4d_CASET); + DISP_DC_HI; + DISP_SPI_WRITE32(casCoord); + DISP_DC_LO; + DISP_SPI_WRITE(GFX4d_PASET); + DISP_DC_HI; + DISP_SPI_WRITE32(pasCoord); + DISP_DC_LO; + DISP_SPI_WRITE(GFX4d_RAMWR); + DISP_DC_HI; if (w < 2) { - SPI.write16(hcolor); - } - else - { + DISP_SPI_WRITE16(hcolor); + } else { while (w > 0) { - SPI.write32((hcolor << 16) | hcolor); + DISP_SPI_WRITE32((hcolor << 16) | hcolor); w -= 2; } - if (w < 0) SPI.write16(hcolor); + if (w < 0) DISP_SPI_WRITE16(hcolor); } - digitalWrite(_cs, HIGH); - SPI.endTransaction(); + DISP_CS_HI; + DISP_SPI_ENDT; } void GFX4d::Cls(uint16_t color) @@ -3029,37 +2985,37 @@ void GFX4d::RectangleFilled(int16_t x, int16_t y, int16_t x1, int16_t y1, uint16 } int w = x1 - x + 1; int h = y1 - y + 1; - SPI.beginTransaction(spiSettingsD); - digitalWrite(_cs, LOW); + x += _xstart; + y += _ystart; + DISP_SPI_BEGINT; + DISP_CS_LO; uint32_t casCoord = (x << 16) + (x + w - 1); uint32_t pasCoord = (y << 16) + (y + h - 1); - digitalWrite(_dc, LOW); - SPI.write(GFX4d_CASET); - digitalWrite(_dc, HIGH); - SPI.write32(casCoord); - digitalWrite(_dc, LOW); - SPI.write(GFX4d_PASET); - digitalWrite(_dc, HIGH); - SPI.write32(pasCoord); - digitalWrite(_dc, LOW); - SPI.write(GFX4d_RAMWR); - digitalWrite(_dc, HIGH); + DISP_DC_LO; + DISP_SPI_WRITE(GFX4d_CASET); + DISP_DC_HI; + DISP_SPI_WRITE32(casCoord); + DISP_DC_LO; + DISP_SPI_WRITE(GFX4d_PASET); + DISP_DC_HI; + DISP_SPI_WRITE32(pasCoord); + DISP_DC_LO; + DISP_SPI_WRITE(GFX4d_RAMWR); + DISP_DC_HI; int32_t tpwh = w * h; if (tpwh < 2) { - SPI.write16(color); - } - else - { + DISP_SPI_WRITE16(color); + } else { while (tpwh > 0) { - SPI.write32((color << 16) | color); + DISP_SPI_WRITE32((color << 16) | color); tpwh -= 2; } - if (tpwh < 0) SPI.write16(color); + if (tpwh < 0) DISP_SPI_WRITE16(color); } - digitalWrite(_cs, HIGH); - SPI.endTransaction(); + DISP_CS_HI; + DISP_SPI_ENDT; } void GFX4d::Panel(int16_t x, int16_t y, int16_t w, int16_t h, uint16_t colorp) @@ -3092,6 +3048,16 @@ void GFX4d::PanelRecessed(int16_t x, int16_t y, int16_t w, int16_t h, uint16_t c void GFX4d::Buttonx(uint8_t hndl, int16_t x, int16_t y, int16_t w, int16_t h, uint16_t colorb, String btext, int8_t tfont, uint16_t tcolor) { + if(ButtonxInitial){ + bposx = (uint16_t *)malloc(256); + bposy = (uint16_t *)malloc(256); + bposw = (uint16_t *)malloc(256); + bposh = (uint16_t *)malloc(256); + bposc = (uint16_t *)malloc(256); + bstat = (uint8_t *)malloc(128); + bactive = (bool *)malloc(128); + ButtonxInitial = false; + } nl = false; bactive[hndl] = true; bposx[hndl] = x; @@ -3111,9 +3077,7 @@ void GFX4d::Button(uint8_t state, int16_t x, int16_t y, uint16_t colorb, uint16_ { fsww = 6; fshh = 8; - } - else - { + } else { fsww = 8; fshh = 16; } @@ -3157,9 +3121,7 @@ void GFX4d::drawButton(uint8_t updn, int16_t x, int16_t y, int16_t w, int16_t h, { tfw = 6; tfh = 8; - } - else - { + } else { tfw = 9; tfh = 16; } @@ -3251,18 +3213,18 @@ uint16_t GFX4d::getScrolledY(uint16_t y) { if (rotation == 2 && scrolled == true) { - SY = 320 - scrollOffset + y; - if (SY > 319) + SY = _nlh - scrollOffset + y; + if (SY > (_nlh - 1)) { - SY = SY - 320; + SY = SY - _nlh; } } if (rotation == 3 && scrolled == true) { SY = scrollOffset + y; - if (SY > 319) + if (SY > (_nlh -1)) { - SY = SY - 320; + SY = SY - _nlh; } } } @@ -3532,174 +3494,137 @@ uint16_t GFX4d::RGBto565(uint8_t rc, uint8_t gc, uint8_t bc) void GFX4d::Orientation(uint8_t m) { - SPI.beginTransaction(spiSettingsD); - digitalWrite(_dc, LOW); - digitalWrite(_cs, LOW); - SPI.write(0x36); - digitalWrite(_cs, HIGH); + DISP_SPI_BEGINT; + DISP_DC_LO; + DISP_CS_LO; + DISP_SPI_WRITE(0x36); + DISP_CS_HI; rotation = m % 4; switch (rotation) { case 2: - digitalWrite(_dc, HIGH); - digitalWrite(_cs, LOW); -#ifdef M5STACK - SPI.write(0x68); -#else + DISP_DC_HI; + DISP_CS_LO; if(ST7789){ - SPI.write(TFT_MAD_COLOR_ORDER); + DISP_SPI_WRITE(TFT_MAD_COLOR_ORDER); + _xstart = 0; + _ystart = 0; } else { - SPI.write(0x48); + DISP_SPI_WRITE(0x48); } -#endif - digitalWrite(_cs, HIGH); + DISP_CS_HI; width = GFX4d_TFTWIDTH; - height = GFX4d_TFTHEIGHT; + height = _nlh; rotation = 2; break; case 1: - digitalWrite(_dc, HIGH); - digitalWrite(_cs, LOW); -#ifdef M5STACK - SPI.write(0xA8); -#else + DISP_DC_HI; + DISP_CS_LO; if(ST7789){ - SPI.write(TFT_MAD_MV | TFT_MAD_MY | TFT_MAD_COLOR_ORDER); + DISP_SPI_WRITE(TFT_MAD_MV | TFT_MAD_MY | TFT_MAD_COLOR_ORDER); + _ystart = _colstart; + _xstart = _rowstart; } else { - SPI.write(0xE8); + DISP_SPI_WRITE(0xE8); } -#endif - digitalWrite(_cs, HIGH); - width = GFX4d_TFTHEIGHT; - height = GFX4d_TFTWIDTH; -#ifdef M5STACK - rotation = 1; -#else + DISP_CS_HI; + width = _nlh; + height = GFX4d_TFTWIDTH; rotation = 0; -#endif break; case 3: - digitalWrite(_dc, HIGH); - digitalWrite(_cs, LOW); -#ifdef M5STACK - SPI.write(0xC8); -#else + DISP_DC_HI; + DISP_CS_LO; if(ST7789){ - SPI.write(TFT_MAD_MX | TFT_MAD_MY | TFT_MAD_COLOR_ORDER); + DISP_SPI_WRITE(TFT_MAD_MX | TFT_MAD_MY | TFT_MAD_COLOR_ORDER); + _xstart = _colstart; + _ystart = _rowstart; } else { - SPI.write(0x88); + DISP_SPI_WRITE(0x88); } -#endif - digitalWrite(_cs, HIGH); + DISP_CS_HI; width = GFX4d_TFTWIDTH; - height = GFX4d_TFTHEIGHT; + height = _nlh; rotation = 3; break; case 0: - digitalWrite(_dc, HIGH); - digitalWrite(_cs, LOW); -#ifdef M5STACK - SPI.write(0x08); -#else + DISP_DC_HI; + DISP_CS_LO; if(ST7789){ - SPI.write(TFT_MAD_MX | TFT_MAD_MV | TFT_MAD_COLOR_ORDER); - //SPI.write(TFT_MAD_COLOR_ORDER); + DISP_SPI_WRITE(TFT_MAD_MX | TFT_MAD_MV | TFT_MAD_COLOR_ORDER); + _xstart = 0; + _ystart = 0; } else { - SPI.write(0x28); + DISP_SPI_WRITE(0x28); } -#endif - digitalWrite(_cs, HIGH); - width = GFX4d_TFTHEIGHT; - height = GFX4d_TFTWIDTH; -#ifdef M5STACK - rotation = 0; -#else + DISP_CS_HI; + width = _nlh; + height = GFX4d_TFTWIDTH; rotation = 1; -#endif break; } - SPI.endTransaction(); + DISP_SPI_ENDT; } void GFX4d::Invert(boolean i) { - SPI.beginTransaction(spiSettingsD); - if (i) - { - if (IPSDisplay) - { - SetCommand(GFX4d_INVOFF); - } - else - { - SetCommand(GFX4d_INVON); - } - } - else + DISP_SPI_BEGINT; + if (IPSDisplay ^ i) { - if (IPSDisplay) - { - SetCommand(GFX4d_INVON); - } - else - { - SetCommand(GFX4d_INVOFF); - } - } - SPI.endTransaction(); + SetCommand(GFX4d_INVON); + } else { + SetCommand(GFX4d_INVOFF); + } + DISP_SPI_ENDT; } uint8_t GFX4d::ReadCommand(uint8_t c, uint8_t index) { - SPI.beginTransaction(spiSettingsD); - digitalWrite(_cs, LOW); - digitalWrite(_dc, LOW); - SPI.write(0xD9); - digitalWrite(_dc, HIGH); - SPI.write(0x10 + index); - digitalWrite(_dc, LOW); - SPI.write(c); - digitalWrite(_dc, HIGH); - uint8_t r = SPI.transfer(0x00); - digitalWrite(_cs, HIGH); - SPI.endTransaction(); + DISP_SPI_BEGINT; + DISP_CS_LO; + DISP_DC_LO; + DISP_SPI_WRITE(0xD9); + DISP_DC_HI; + DISP_SPI_WRITE(0x10 + index); + DISP_DC_LO; + DISP_SPI_WRITE(c); + DISP_DC_HI; + uint8_t r = DISP_SPI_TRANSFER(0x00); + DISP_CS_HI; + DISP_SPI_ENDT; return r; } void GFX4d::SetCommand(uint8_t c) { - digitalWrite(_dc, LOW); - digitalWrite(_cs, LOW); - SPI.write(c); - digitalWrite(_cs, HIGH); + DISP_DC_LO; + DISP_CS_LO; + DISP_SPI_WRITE(c); + DISP_CS_HI; } void GFX4d::SetData(uint8_t c) { - digitalWrite(_dc, HIGH); - digitalWrite(_cs, LOW); - SPI.write(c); - digitalWrite(_cs, HIGH); + DISP_DC_HI; + DISP_CS_LO; + DISP_SPI_WRITE(c); + DISP_CS_HI; } void GFX4d::SetData(uint8_t * data, uint8_t size) { - digitalWrite(_dc, HIGH); - digitalWrite(_cs, LOW); - SPI.writeBytes(data, size); - digitalWrite(_cs, HIGH); + DISP_DC_HI; + DISP_CS_LO; + DISP_SPI_WRITEBYTES(data, size); + DISP_CS_HI; } void GFX4d::touch_Set(uint8_t mode) { uint8_t dat; -#ifndef ESP32 - SPI.beginTransaction(spiSettingsT); -#else - SPI.beginTransaction(spiSettingsT32); -#endif + DISP_SPI_BEGINT; tchen = false; - digitalWrite(_tcs, LOW); + TOUCH_CS_LO; delayMicroseconds(50); SPI.write(0x55); delayMicroseconds(50); @@ -3712,11 +3637,11 @@ void GFX4d::touch_Set(uint8_t mode) dat = SPI.transfer(0); delayMicroseconds(50); } - digitalWrite(_tcs, HIGH); + TOUCH_CS_HI; if (mode == TOUCH_ENABLE) { tchen = true; - digitalWrite(_tcs, LOW); + TOUCH_CS_LO; SPI.write(0x55); delayMicroseconds(50); SPI.write(0x01); @@ -3758,16 +3683,16 @@ void GFX4d::touch_Set(uint8_t mode) dat = SPI.transfer(0); delayMicroseconds(50); } - digitalWrite(_tcs, HIGH); + TOUCH_CS_HI; } - SPI.endTransaction(); + DISP_SPI_ENDT; } boolean GFX4d::touch_Update() { if (millis() >= touchTime && (millis() - touchTime) < 18) return false; if (tchen == false) return false; - gciobjtouched = 255; + gciobjtouched = IMAGE_NOT_TOUCHED; boolean tsskip = false; uint8_t dattouch[5]; uint8_t pen = 0; @@ -3776,26 +3701,18 @@ boolean GFX4d::touch_Update() uint16_t ty; uint16_t TestNoNewData = 0; boolean NewData = true; -#ifndef ESP32 - SPI.beginTransaction(spiSettingsT); -#else - SPI.beginTransaction(spiSettingsT32); -#endif -#ifndef ESP32 + DISP_SPI_BEGINTT; delayMicroseconds(50); -#endif - digitalWrite(_tcs, LOW); -#ifndef ESP32 + TOUCH_CS_LO; delayMicroseconds(50); -#endif for (int s = 0; s < 5; s++) { dattouch[s] = SPI.transfer(0x00); TestNoNewData = TestNoNewData + dattouch[s]; delayMicroseconds(50); } - SPI.endTransaction(); - digitalWrite(_tcs, HIGH); + DISP_SPI_ENDT; + TOUCH_CS_HI; for (int n = 0; n < 13; n ++) { tchbuf[n] = tchbuf[n + 1]; @@ -3819,9 +3736,7 @@ boolean GFX4d::touch_Update() } gTX = oldgTX; gTY = oldgTY; - } - else - { + } else { gTX = (dattouch[2] << 7) + (dattouch[1] & 0x7F); gTY = (dattouch[4] << 7) + (dattouch[3] & 0x7F); if (dattouch[0] > 129 || dattouch[0] < 128) pen = 128; @@ -3845,41 +3760,43 @@ boolean GFX4d::touch_Update() switch (rotation) { case 2: - gTX = map(gTX, 260, 3820, 0, 240); - gTY = map(gTY, 400, 3930, 320, 0); + gTX = map(gTX, 260, 3820, 0, GFX4d_TFTWIDTH); + gTY = map(gTY, 400, 3930, GFX4d_TFTHEIGHT, 0); break; case 1: tx = gTY; ty = gTX; - gTY = map(ty, 260, 3820, 240, 0); - gTX = map(tx, 400, 3930, 320, 0); + gTY = map(ty, 260, 3820, GFX4d_TFTWIDTH, 0); + gTX = map(tx, 400, 3930, GFX4d_TFTHEIGHT, 0); break; case 3: - gTX = map(gTX, 240, 3820, 240, 0); - gTY = map(gTY, 400, 3930, 0, 320); + gTX = map(gTX, 240, 3820, GFX4d_TFTWIDTH, 0); + gTY = map(gTY, 400, 3930, 0, GFX4d_TFTHEIGHT); break; case 0: tx = gTY; ty = gTX; - gTY = map(ty, 260, 3820, 0, 240); - gTX = map(tx, 400, 3930, 0, 320); + gTY = map(ty, 260, 3820, 0, GFX4d_TFTWIDTH); + gTX = map(tx, 400, 3930, 0, GFX4d_TFTHEIGHT); break; } } - gciobjtouched = 255; + gciobjtouched = IMAGE_NOT_TOUCHED; if (gciobjnum > 0 && gPEN == TOUCH_PRESSED && NewData) { - for (int n = 0; n < gciobjnum; n++) - { - if (gciobjtouchenable[n] == true) + if(opgfx){ + for (int n = 0; n < gciobjnum; n++) { - if (gTX >= tuix[n] && gTX <= (tuix[n] + tuiw[n] - 1) && gTY >= tuiy[n] && gTY <= (tuiy[n] + tuih[n] - 1)) + if (gciobjtouchenable[n] == true) { - gciobjtouched = n; - break; + if (gTX >= tuix[n] && gTX <= (tuix[n] + tuiw[n] - 1) && gTY >= tuiy[n] && gTY <= (tuiy[n] + tuih[n] - 1)) + { + gciobjtouched = n; + break; + } } } - } + } } oldgPEN = gPEN; oldgTX = gTX; @@ -3891,22 +3808,26 @@ boolean GFX4d::touch_Update() void GFX4d::imageTouchEnable(int gcinum, boolean en) { - if (gcinum < 0) - { - for (int n = 0; n < MAX_WIDGETS; n++) + if(opgfx){ + if (gcinum < 0) { - gciobjtouchenable[n] = en; + for (int n = 0; n < MAX_WIDGETS; n++) + { + gciobjtouchenable[n] = en; + } + } else { + gciobjtouchenable[gcinum] = en; } } - else - { - gciobjtouchenable[gcinum] = en; - } } -uint16_t GFX4d::imageTouched() +int GFX4d::imageTouched() { - return gciobjtouched; + if(opgfx){ + return gciobjtouched; + } else { + return -1; + } } uint16_t GFX4d::touch_GetX() @@ -3933,9 +3854,7 @@ void GFX4d::BacklightOn(boolean bl) #else ledcWrite(1, 1023); #endif - } - else - { + } else { #ifndef ESP32 analogWrite(0, 0); #else @@ -4033,9 +3952,7 @@ void GFX4d::UserCharacter(uint32_t *data, uint8_t ucsize, int16_t ucx, int16_t u if (test2 == 1) { PutPixel(mx, my, color); - } - else - { + } else { PutPixel(mx, my, bgcolor); } } @@ -4047,9 +3964,7 @@ void GFX4d::UserCharacter(uint32_t *data, uint8_t ucsize, int16_t ucx, int16_t u if (test2 == 1) { PutPixel(mx, my, color); - } - else - { + } else { PutPixel(mx, my, bgcolor); } } @@ -4074,9 +3989,7 @@ void GFX4d::UserImageDR(uint16_t ui, int16_t uxpos, int16_t uypos, int16_t uwidt if (userImag) { String resultFO = "Success. "; - } - else - { + } else { return; } userImag.seek(tuiIndex[ui] + 4); @@ -4119,9 +4032,7 @@ void GFX4d::UserImageDR(uint16_t ui, int16_t uxpos, int16_t uypos, int16_t uwidt buf16[b >> 1] = (buf[b] << 8) | buf[b + 1]; } WrGRAMs16(buf16, bufsize); - } - else - { + } else { WrGRAMs8(buf, bufsize, mul); } #endif @@ -4204,9 +4115,7 @@ void GFX4d::UserImagesDR(uint16_t uino, int frames, int16_t uxpos, int16_t uypos pc = 0; } } - } - else - { + } else { WrGRAMs8(buf, bufsize, mul); } #endif @@ -4244,9 +4153,7 @@ void GFX4d::UserCharacterBG(uint32_t *data, uint8_t ucsize, int16_t ucx, int16_t dataFile.seek(bgindex); bwidth = (dataFile.read() << 8) + dataFile.read(); bheight = (dataFile.read() << 8) + dataFile.read(); - } - else - { + } else { bwidth = tuiw[ui]; bheight = tuih[ui]; } @@ -4271,16 +4178,12 @@ void GFX4d::UserCharacterBG(uint32_t *data, uint8_t ucsize, int16_t ucx, int16_t if (test2 == 1 && draw) { pix1 = color; - } - else - { + } else { if (type) { dataFile.seek(bgoff + (left << 1)); pix1 = (dataFile.read() << 8) + dataFile.read(); - } - else - { + } else { userImag.seek(bgoff + (left << 1)); pix1 = (userImag.read() << 8) + userImag.read(); } @@ -4290,16 +4193,12 @@ void GFX4d::UserCharacterBG(uint32_t *data, uint8_t ucsize, int16_t ucx, int16_t if (test2 == 1 && draw) { pix2 = color; - } - else - { + } else { if (type) { dataFile.seek(bgoff + (left << 1)); pix2 = (dataFile.read() << 8) + dataFile.read(); - } - else - { + } else { userImag.seek(bgoff + (left << 1)); pix2 = (userImag.read() << 8) + userImag.read(); } @@ -4361,9 +4260,7 @@ void GFX4d::Download(String Address, uint16_t port, String hfile, String Fname, #else http.begin(Address, port, hfile); #endif - } - else - { + } else { if (sha1 == "") { #if ARDUINO_ESP8266_GIT_VER > 0x2843a5ac @@ -4371,9 +4268,7 @@ void GFX4d::Download(String Address, uint16_t port, String hfile, String Fname, #else http.begin(Address); #endif - } - else - { + } else { #ifndef ESP32 #if ARDUINO_ESP8266_GIT_VER > 0x2843a5ac std::unique_ptrclient(new BearSSL::WiFiClientSecure); @@ -4451,22 +4346,16 @@ int16_t GFX4d::XYposToDegree(int curX, int curY) { adj = 1 ; deg = 90 ; - } - else - { + } else { adj = 2 ; deg = 180 ; } - } - else - { + } else { if (curX < 0) { deg = 0 ; adj = 2 ; - } - else - { + } else { deg = 270 ; adj = 1 ; } @@ -4476,9 +4365,7 @@ int16_t GFX4d::XYposToDegree(int curX, int curY) if (curX < curY) { adj &= 1 ; - } - else - { + } else { adj &= 2 ; swap(curX, curY) ; } @@ -4486,9 +4373,7 @@ int16_t GFX4d::XYposToDegree(int curX, int curY) if (adj) { deg += 90 - delta ; - } - else - { + } else { deg += delta ; } return deg ; @@ -4512,9 +4397,7 @@ void GFX4d::RGB2HLS() if (GFX4d_RED >= GFX4d_GREEN) { cMax = GFX4d_RED; - } - else - { + } else { cMax = GFX4d_GREEN; } if (GFX4d_BLUE >= cMax) @@ -4524,9 +4407,7 @@ void GFX4d::RGB2HLS() if (GFX4d_RED <= GFX4d_GREEN) { cMin = GFX4d_RED; - } - else - { + } else { cMin = GFX4d_GREEN; } if (GFX4d_BLUE <= cMin) @@ -4540,15 +4421,11 @@ void GFX4d::RGB2HLS() { s = 0; h = UNDEFINED; - } - else - { + } else { if (l <= (HLSMAX / 2)) { s = ((cMmM * HLSMAX) + (cMpM / 2) ) / cMpM; - } - else - { + } else { s = ((cMmM * HLSMAX) + ((RGBMAXm2 - cMpM) / 2)) / (RGBMAXm2 - cMpM); } Rdelta = (((cMax - GFX4d_RED) * HLSMAXd6) + (cMmM / 2)) / cMmM; @@ -4557,13 +4434,9 @@ void GFX4d::RGB2HLS() if (GFX4d_RED == cMax) { h = Bdelta - Gdelta ; - } - else if (GFX4d_GREEN == cMax) - { + } else if (GFX4d_GREEN == cMax){ h = HLSMAXd3 + Rdelta - Bdelta ; - } - else - { + } else { h = HLSMAXm2d3 + Gdelta - Rdelta; } if (h < 0) @@ -4583,25 +4456,17 @@ uint8_t GFX4d::hue_RGB(int Hin, int M1, int M2) if (Hin < 0) { Hin += HLSMAX ; - } - else if (Hin > HLSMAX) - { + } else if (Hin > HLSMAX){ Hin -= HLSMAX ; } if (Hin < HLSMAXd6) { Value = M1 + ( (M2 - M1) * Hin + HLSMAXd12) / HLSMAXd6 ; - } - else if (Hin < HLSMAXd2) - { + } else if (Hin < HLSMAXd2){ Value = M2 ; - } - else if (Hin < HLSMAXm2d3) - { + } else if (Hin < HLSMAXm2d3){ Value = M1 + ((M2 - M1) * (HLSMAXm2d3 - Hin) + HLSMAXd12) / HLSMAXd6 ; - } - else - { + } else { Value = M1 ; } return Value ; @@ -4615,15 +4480,11 @@ void GFX4d::HLS2RGB(int H, int L, int S) GFX4d_RED = L ; GFX4d_GREEN = L ; GFX4d_BLUE = L ; - } - else - { + } else { if (L <= HLSMAXd2) { M2 = (L * (HLSMAX + S) + HLSMAXd2) / HLSMAX ; - } - else - { + } else { M2 = L + S - ((L * S + HLSMAXd2) / HLSMAX) ; } M1 = 2 * L - M2 ; @@ -4652,22 +4513,21 @@ void GFX4d::Close4dGFX() void GFX4d::WrGRAMs16232(uint16_t *data, uint16_t l) { uint32_t tdw; - SPI.beginTransaction(spiSettingsD); - digitalWrite(_dc, HIGH); - digitalWrite(_cs, LOW); + DISP_SPI_BEGINT; + DISP_DC_HI; + DISP_CS_LO; while (l) { tdw = (*data++ << 16) + *data++; l -= 2; - SPI.write32(tdw); + DISP_SPI_WRITE32(tdw); } - if (l < 0)SPI.write16(*data++); - digitalWrite(_cs, HIGH); - SPI.endTransaction(); + if (l < 0) DISP_SPI_WRITE16(*data++); + DISP_CS_HI; + DISP_SPI_ENDT; } - void GFX4d::WrGRAMs16232NT(uint16_t *data, uint16_t l) { uint32_t tdw; @@ -4675,33 +4535,33 @@ void GFX4d::WrGRAMs16232NT(uint16_t *data, uint16_t l) { tdw = (*data++ << 16) + *data++; l -= 2; - SPI.write32(tdw); + DISP_SPI_WRITE32(tdw); } - if (l < 0)SPI.write16(*data++); + if (l < 0) DISP_SPI_WRITE16(*data++); } void GFX4d::WrGRAMend() { - digitalWrite(_cs, HIGH); - SPI.endTransaction(); + DISP_CS_HI; + DISP_SPI_ENDT; } void GFX4d::WrGRAMstart() { - SPI.beginTransaction(spiSettingsD); - digitalWrite(_dc, HIGH); - digitalWrite(_cs, LOW); + DISP_SPI_BEGINT; + DISP_DC_HI; + DISP_CS_LO; } void GFX4d::WrGRAM16232(uint16_t mcolor, int32_t l) { uint32_t tdw; - SPI.beginTransaction(spiSettingsD); - digitalWrite(_dc, HIGH); - digitalWrite(_cs, LOW); + DISP_SPI_BEGINT; + DISP_DC_HI; + DISP_CS_LO; if (l == 1) { - SPI.write16(mcolor); + DISP_SPI_WRITE16(mcolor); } else { @@ -4709,12 +4569,12 @@ void GFX4d::WrGRAM16232(uint16_t mcolor, int32_t l) while (l > 0) { l -= 2; - SPI.write32(tdw); + DISP_SPI_WRITE32(tdw); } - if (l < 0)SPI.write16(mcolor); + if (l < 0)DISP_SPI_WRITE16(mcolor); } - digitalWrite(_cs, HIGH); - SPI.endTransaction(); + DISP_CS_HI; + DISP_SPI_ENDT; } uint8_t GFX4d::getFontData(uint8_t fntnum, uint16_t val) @@ -4726,6 +4586,7 @@ uint8_t GFX4d::getFontData(uint8_t fntnum, uint16_t val) int16_t GFX4d::ImageTouchedAuto(int UpdateImages) { + if(!(opgfx)) return -1; int itouched; bool shifted = false; if ((shift || caps) && UpdateImages == KEYPAD) shifted = true; @@ -4750,9 +4611,7 @@ int16_t GFX4d::ImageTouchedAuto(int UpdateImages) if (gciobjframes[itouched] >= 1 + butcntrl) { UserImages(itouched, 1 + butcntrl) ; - } - else - { + } else { UserImages(itouched, 1) ; } } @@ -4765,9 +4624,7 @@ int16_t GFX4d::ImageTouchedAuto(int UpdateImages) if (UpdateImages == DRAW_UPDOWN && gciobjframes[pressed] >= butcntrl) { UserImages(pressed, butcntrl) ; - } - else - { + } else { UserImages(pressed, 0) ; } temppressed = pressed; @@ -4779,9 +4636,7 @@ int16_t GFX4d::ImageTouchedAuto(int UpdateImages) if (UpdateImages == DRAW_UPDOWN && gciobjframes[pressed] >= butcntrl) { UserImages(pressed, butcntrl) ; - } - else - { + } else { UserImages(pressed, 0) ; } temppressed = pressed; @@ -4792,11 +4647,10 @@ int16_t GFX4d::ImageTouchedAuto(int UpdateImages) { return -1; } - } - else - { + } else { return -1; } + return -1; } void GFX4d::FontStyle(uint8_t ctyp) @@ -4832,6 +4686,7 @@ uint16_t GFX4d::GetSliderValue(uint16_t ui, uint8_t axis, uint16_t uiv, uint16_t wpos = (gciobjframes[ui] - 1) - (gciobjframes[ui] - 1) * wpos / (wsiz - maxg) ; // max-min - (max-min) * posn / (height-17) return wpos; } + return wpos; } int GFX4d::DecodeKeypad(int kpad, int kpress, byte *kbks, int8_t *kbck) @@ -4996,9 +4851,7 @@ void GFX4d::SetSprite(int num, bool active, int x, int y, uint16_t bscolor, uint { tsx = spriteLast[lxy]; tsx1 = x + spriteList[dxy + SPRITE_WIDTH]; - } - else - { + } else { tsx1 = spriteLast[lxy] + spriteList[dxy + SPRITE_WIDTH]; tsx = x; } @@ -5006,15 +4859,11 @@ void GFX4d::SetSprite(int num, bool active, int x, int y, uint16_t bscolor, uint { tsy = spriteLast[lxy + 1]; tsy1 = y + spriteList[dxy + SPRITE_HEIGHT]; - } - else - { + } else { tsy1 = spriteLast[lxy + 1] + spriteList[dxy + SPRITE_HEIGHT]; tsy = y; } - } - else - { + } else { tsx = dsx; tsy = dsy; tsx1 = dsx + spriteList[dxy + SPRITE_WIDTH]; @@ -5071,7 +4920,7 @@ void GFX4d::UpdateSprites(uint16_t bscolor, uint16_t * sdata) uint16_t cscolor; uint16_t tscolor; #ifndef ESP8266 - uint16_t bufsp[spriteArea[2] + 1]; + uint16_t bufsp[spriteArea[2] + 2]; uint16_t count; #endif int spriteAPos; @@ -5144,19 +4993,19 @@ void GFX4d::UpdateSprites(uint16_t bscolor, uint16_t * sdata) if (tog == 0) tdw = wscolor << 16; if (tog == 1) { - SPI.write32(tdw + wscolor); + SPI.write32(tdw | wscolor); } tog ^= 1; } } - if (tog == 1) SPI.write16(tdw >> 16); + if (tog == 1) DISP_SPI_WRITE16(tdw >> 16, true); WrGRAMend(); yield(); #else bufsp[count] = wscolor; count ++; } - SPI.writePixels(bufsp, count * 2); + SPI.writePixels(bufsp, count * 2); } WrGRAMend(); #endif @@ -5214,9 +5063,7 @@ uint16_t GFX4d::SpriteGetPixel(int snum, int xo, int yo, uint16_t tcolor, uint16 if (snum < 0) { chks = 0; chke = numSprites; - } - else - { + } else { chks = snum; chke = snum + 1; } for (int chk = chks; chk < chke; chk ++) @@ -5321,11 +5168,11 @@ void GFX4d::SetMaxNumberSprites(uint16_t snos) msprites = snos >> 1; } -uint16_t GFX4d::Grad(int raisSunk, int state, int glev, int h1, int pos, uint16_t colToAdj) +int GFX4d::Grad(int raisSunk, int state, int glev, int h1, int pos, int colToAdj) { int CTALevel, BflatMin, BflatMax; - uint16_t retcolor; - int8_t CTAr, CTAg, CTAb; + int retcolor; + int CTAr, CTAg, CTAb; if (glev > 63) glev = 63; pos -= (h1 >> 1); if (glev == -1) @@ -5341,24 +5188,29 @@ uint16_t GFX4d::Grad(int raisSunk, int state, int glev, int h1, int pos, uint16_ CTAr = (colToAdj >> 11) - state; CTAg = ((colToAdj >> 6) & 0x001F) - state; CTAb = (colToAdj & 0x001F) - state; - if (!(raisSunk)) CTALevel = 0 - CTALevel; - CTAr += CTALevel; CTAg += CTALevel; CTAb += CTALevel; - CTAr = (CTAr > 0) * CTAr; CTAg = (CTAg > 0) * CTAg; CTAb = (CTAb > 0) * CTAb; - if (CTAr > 31) CTAr = 31; - if (CTAg > 31) CTAg = 31; - if (CTAb > 31) CTAb = 31; + if(raisSunk == 1){ + CTAr += CTALevel; CTAg += CTALevel; CTAb += CTALevel; + } else { + CTAr -= CTALevel; CTAg -= CTALevel; CTAb -= CTALevel; + } + if(CTAr > 31) CTAr = 31; + if(CTAg > 31) CTAg = 31; + if(CTAb > 31) CTAb = 31; + if(CTAr < 0) CTAr = 0; + if(CTAg < 0) CTAg = 0; + if(CTAb < 0) CTAb = 0; retcolor = (CTAr << 11) | (CTAg << 6) | CTAb; return retcolor; } -void GFX4d::gradientShape(int ow, int xPos, int yPos, int w, int h, int r1, int r2, int r3, int r4, int darken, uint16_t color, int sr1, int gl1, uint16_t colorD, int sr3, int gl3, int gtb) +void GFX4d::gradientShape(int ow, int xPos, int yPos, int w, int h, int r1, int r2, int r3, int r4, int darken, int color, int sr1, int gl1, int colorD, int sr3, int gl3, int gtb) { int arcn, xc1, xc2, xc3, xc4, yc1, mi, cDraw, xgxl, xgxr, tcount, tgss1, tgss2, drgs, yag, lastarc, lastow, lachk; int c, xx, yy, x, y, c1, xx1, yy1, xin, y1, lasty1, sCxPos, owMin, owMax, mirror, dbl1, dbl2, gradofs, hmd, gof, owSet, rtSide; int lasty, incy, incy1, maxR, mh, mw, xa, xb, xc, ya, radsMinOw, txPos, tyPos, cErase, tow, tsr1, tsr3, tgl3, tdarken, tgl1; int fill, yb, Lfill, Rfill, Ldw, Rdw, Lw, Rw, mfill, start, fin, fCmp; - uint16_t hm, tcolorD, tcolor, tgrad; + int hm, tcolorD, tcolor, tgrad; radsGS[0] = r1; radsGS[1] = r2; radsGS[2] = r3; radsGS[3] = r4; mh = max(radsGS[0] + radsGS[2], radsGS[1] + radsGS[3]); mw = max(radsGS[0] + radsGS[1], radsGS[2] + radsGS[3]); @@ -5395,9 +5247,7 @@ void GFX4d::gradientShape(int ow, int xPos, int yPos, int w, int h, int r1, int if (!(cErase)) { txPos = xPos; tyPos = yPos; xPos = GSEraseXpos; yPos = GSEraseYpos; tow = ow; ow = 0; tcolor = color; color = GSEraseColour; tcolorD = colorD; colorD = GSEraseHeight; tsr1 = sr1; sr1 = GSERaisedSunk; tgl1 = gl1; gl1 = GSEraseGLevel; tsr3 = sr3; sr3 = -2; tgl3 = gl3; gl3 = GSErasePHeight; /*th := h; h := GSEraseHeight;*/ tdarken = darken; darken = 0; - } - else - { + } else { xPos = txPos; yPos = tyPos; ow = tow; colorD = tcolorD; sr3 = tsr3; gl3 = tgl3; sr1 = tsr1; gl1 = tgl1; color = tcolor; darken = tdarken; } } @@ -5454,9 +5304,7 @@ void GFX4d::gradientShape(int ow, int xPos, int yPos, int w, int h, int r1, int { xc3 = sCxPos + xa; xc4 = sCxPos + xb; if (GSCropArcLeft > 0 && xc2 > xc3) xc3 = xc2; - } - else - { + } else { yc1 = yPos + ypGSaPos[1] - cDraw; xc2 = sCxPos + xb; xc1 = sCxPos + xa; swap(xc3, xc4); } @@ -5474,9 +5322,7 @@ void GFX4d::gradientShape(int ow, int xPos, int yPos, int w, int h, int r1, int if (dbl2) { xc3 = sCxPos + xa; xc4 = sCxPos + xb; - } - else - { + } else { yc1 = yPos + ypGSaPos[3] + cDraw; xc2 = sCxPos + xb; xc1 = sCxPos + xa; swap(xc3, xc4); } @@ -5492,9 +5338,7 @@ void GFX4d::gradientShape(int ow, int xPos, int yPos, int w, int h, int r1, int if (sr3 == -2) { hm = colorD; gradofs = gl3; - } - else - { + } else { hm = h; gradofs = 0; } if (gtb) @@ -5503,9 +5347,7 @@ void GFX4d::gradientShape(int ow, int xPos, int yPos, int w, int h, int r1, int if (gtb == 2) gof = h; gradofs = h >> 1; hm += (h >> 1); - } - else - { + } else { hmd = h; } mi = 0; @@ -5526,15 +5368,11 @@ void GFX4d::gradientShape(int ow, int xPos, int yPos, int w, int h, int r1, int if (!(owSet)) { if ((xc1 < xc4) || (rtSide && xc1 > xc4)) HlineD(yc1, xc1, xc4, tgrad); - } - else - { + } else { if (xc1 < xc2) HlineD(yc1, xc1, xc2, tgrad); if (xc3 < xc4) HlineD(yc1, xc3, xc4, tgrad); } - } - else - { + } else { if (xc1 < xc4) HlineD(yc1, xc1, xc4, tgrad); } if (GSSsxpos != -9999) @@ -5546,9 +5384,7 @@ void GFX4d::gradientShape(int ow, int xPos, int yPos, int w, int h, int r1, int if (xc1 > xc4) { xgxr = xc4; drgs = 1; - } - else - { + } else { if (xgxl < xc1) { xgxr = xc1 - 1; drgs = 1; @@ -5561,9 +5397,7 @@ void GFX4d::gradientShape(int ow, int xPos, int yPos, int w, int h, int r1, int if (xc1 > xc4) { xgxr = xc1; drgs = 1; - } - else - { + } else { if (xgxl > xc4) { xgxr = xc4 + 1; drgs = 1; @@ -5572,9 +5406,7 @@ void GFX4d::gradientShape(int ow, int xPos, int yPos, int w, int h, int r1, int } if (drgs) HlineD(yc1, xgxl, xgxr, GSSBGColor); } - } - else - { + } else { if (GSSsxpos != -9999) { if (GSCropArcLeft > -1) @@ -5598,7 +5430,7 @@ void GFX4d::gradientShape(int ow, int xPos, int yPos, int w, int h, int r1, int } arcn ++; } - if (!((radsGS[0] == radsGS[1] && radsGS[2] == radsGS[3]) && (radsGS[0] == radsGS[2] && radsGS[0] + radsGS[2] >= h - 1))) + if (!((radsGS[0] == radsGS[1] && radsGS[2] == radsGS[3]) && (radsGS[0] == radsGS[2] && (radsGS[0] + radsGS[2]) >= (h - 1)))) { fin = h; if (radsGS[0] == radsGS[1]) start = radsGS[0]; @@ -5625,14 +5457,10 @@ void GFX4d::gradientShape(int ow, int xPos, int yPos, int w, int h, int r1, int if (fCmp && Lfill <= Ldw) HlineD(yb, Lfill, Lfill + Lw, tgrad); if (fCmp && sr3 > -1) HlineD(yb, Lfill + Lw + 1, Rfill - Rw, Grad(sr3, darken, gl3, hm, mfill, colorD)); if (fCmp && Rfill >= Rdw) HlineD(yb, Rfill - Rw, Rfill, tgrad); - } - else - { + } else { if (fCmp)HlineD(yb, Lfill, Rfill, tgrad); } - } - else - { + } else { if (fCmp)HlineD(yb, Lfill, Rfill, tgrad); } fill ++; @@ -5644,8 +5472,72 @@ void GFX4d::gradientShape(int ow, int xPos, int yPos, int w, int h, int r1, int yield(); } -void GFX4d::HlineD(int y, int x1, int x2, uint16_t color) +void GFX4d::HlineD(int y, int x1, int x2, int color) { if (x1 > x2) swap(x1, x2); Hline(x1, y, x2 - x1 + 1, color); } + + void GFX4d::GradTriangleFilled(int x0, int y0, int x1, int y1, int x2, int y2, int color, int ncCol, int h, int ypos, int lev, int erase){ + int a, b, y, last; + if (y0 > y1){ + swap(y0, y1); swap(x0, x1); + } + if (y1 > y2){ + swap(y2, y1); swap(x2, x1); + } + if (y0 > y1){ + swap(y0, y1); swap(x0, x1); + } + if(y0 == y2){ + a = x0; b = x0; + if(x1 < a){ + a = x1; + } else if (x1 > b){ + b = x1; + } + if(x2 < a){ + a = x2; + } else if (x2 > b){ + b = x2; + } + if(erase) color = Grad(0, 0, lev, h, y0-ypos, ncCol); + HlineD(y0, a, b, color); + return; + } + int dx01, dy01, dx02, dy02, dx12, dy12, sa, sb, t1, t2, t3; + dx01 = x1 - x0; + dy01 = y1 - y0; + dx02 = x2 - x0; + dy02 = y2 - y0; + dx12 = x2 - x1; + dy12 = y2 - y1; + sa = 0; + sb = 0; + if(y1 == y2){ + last = y1; // Include y1 scanline + } else { + last = y1-1; // Skip it + } + if(last < 0)last = 0; + for(y=y0; y<=last; y++){ + t1 = x0; t2 = dy01; t3 = dx01; + a = t1 + sa / t2; + b = x0 + sb / dy02; + sa += t3; + sb += dx02; + if(erase) color = Grad(0, 0, lev, h, y-ypos, ncCol); + HlineD(y, a, b, color); + } + sa = dx12 * (y - y1); + sb = dx02 * (y - y0); + for(y = y; y<=y2; y++){ + t1 = x1; t2 = dy12; t3 = dx12; + a = t1 + sa / t2; + b = x0 + sb / dy02; + sa += t3; + sb += dx02; + if(erase) color = Grad(0, 0, lev, h, y-ypos, ncCol); + HlineD(y, a, b, color); + } +} diff --git a/src/GFX4d.h b/src/GFX4d.h index e0ba46f..a8a2083 100644 --- a/src/GFX4d.h +++ b/src/GFX4d.h @@ -1,481 +1,520 @@ /*************************************************************************** * * - 4D Systems GFX4d Library +* 4D Systems GFX4d Library * * * - Date: 6th October 2021 +* Date: 13th Nov 2022 * * * - Description: Provides Graphics, Touch Control and SD Card functions - for 4D Systems Gen4 IoD range of intelligent displays. +* Description: Provides Graphics, Touch Control and SD Card functions * +* for 4D Systems Gen4 IoD range of intelligent displays. * * * - GNU LESSER GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 +* GNU LESSER GENERAL PUBLIC LICENSE * +* Version 3, 29 June 2007 * * * - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. +* Copyright (C) 2007 Free Software Foundation, Inc. * +* Everyone is permitted to copy and distribute verbatim copies * +* of this license document, but changing it is not allowed. * * * * * - This version of the GNU Lesser General Public License incorporates - the terms and conditions of version 3 of the GNU General Public - License, supplemented by the additional permissions listed below. +* This version of the GNU Lesser General Public License incorporates * +* the terms and conditions of version 3 of the GNU General Public * +* License, supplemented by the additional permissions listed below. * * * - 0. Additional Definitions. +* 0. Additional Definitions. * * * - As used herein, "this License" refers to version 3 of the GNU Lesser - General Public License, and the "GNU GPL" refers to version 3 of the GNU - General Public License. +* As used herein, "this License" refers to version 3 of the GNU Lesser * +* General Public License, and the "GNU GPL" refers to version 3 of the GNU * +* General Public License. * * * - "The Library" refers to a covered work governed by this License, - other than an Application or a Combined Work as defined below. +* "The Library" refers to a covered work governed by this License, * +* other than an Application or a Combined Work as defined below. * * * - An "Application" is any work that makes use of an interface provided - by the Library, but which is not otherwise based on the Library. - Defining a subclass of a class defined by the Library is deemed a mode - of using an interface provided by the Library. +* An "Application" is any work that makes use of an interface provided * +* by the Library, but which is not otherwise based on the Library. * +* Defining a subclass of a class defined by the Library is deemed a mode * +* of using an interface provided by the Library. * * * - A "Combined Work" is a work produced by combining or linking an - Application with the Library. The particular version of the Library - with which the Combined Work was made is also called the "Linked - Version". +* A "Combined Work" is a work produced by combining or linking an * +* Application with the Library. The particular version of the Library * +* with which the Combined Work was made is also called the "Linked * +* Version". * * * - The "Minimal Corresponding Source" for a Combined Work means the - Corresponding Source for the Combined Work, excluding any source code - for portions of the Combined Work that, considered in isolation, are - based on the Application, and not on the Linked Version. +* The "Minimal Corresponding Source" for a Combined Work means the * +* Corresponding Source for the Combined Work, excluding any source code * +* for portions of the Combined Work that, considered in isolation, are * +* based on the Application, and not on the Linked Version. * * * - The "Corresponding Application Code" for a Combined Work means the - object code and/or source code for the Application, including any data - and utility programs needed for reproducing the Combined Work from the - Application, but excluding the System Libraries of the Combined Work. +* The "Corresponding Application Code" for a Combined Work means the * +* object code and/or source code for the Application, including any data * +* and utility programs needed for reproducing the Combined Work from the * +* Application, but excluding the System Libraries of the Combined Work. * * * - 1. Exception to Section 3 of the GNU GPL. +* 1. Exception to Section 3 of the GNU GPL. * * * - You may convey a covered work under sections 3 and 4 of this License - without being bound by section 3 of the GNU GPL. +* You may convey a covered work under sections 3 and 4 of this License * +* without being bound by section 3 of the GNU GPL. * * * - 2. Conveying Modified Versions. +* 2. Conveying Modified Versions. * * * - If you modify a copy of the Library, and, in your modifications, a - facility refers to a function or data to be supplied by an Application - that uses the facility (other than as an argument passed when the - facility is invoked), then you may convey a copy of the modified - version: +* If you modify a copy of the Library, and, in your modifications, a * +* facility refers to a function or data to be supplied by an Application * +* that uses the facility (other than as an argument passed when the * +* facility is invoked), then you may convey a copy of the modified * +* version: * * * - a) under this License, provided that you make a good faith effort to - ensure that, in the event an Application does not supply the - function or data, the facility still operates, and performs - whatever part of its purpose remains meaningful, or +* a) under this License, provided that you make a good faith effort to * +* ensure that, in the event an Application does not supply the * +* function or data, the facility still operates, and performs * +* whatever part of its purpose remains meaningful, or * * * - b) under the GNU GPL, with none of the additional permissions of - this License applicable to that copy. +* b) under the GNU GPL, with none of the additional permissions of * +* this License applicable to that copy. * * * - 3. Object Code Incorporating Material from Library Header Files. +* 3. Object Code Incorporating Material from Library Header Files. * * * - The object code form of an Application may incorporate material from - a header file that is part of the Library. You may convey such object - code under terms of your choice, provided that, if the incorporated - material is not limited to numerical parameters, data structure - layouts and accessors, or small macros, inline functions and templates - (ten or fewer lines in length), you do both of the following: +* The object code form of an Application may incorporate material from * +* a header file that is part of the Library. You may convey such object * +* code under terms of your choice, provided that, if the incorporated * +* material is not limited to numerical parameters, data structure * +* layouts and accessors, or small macros, inline functions and templates * +* (ten or fewer lines in length), you do both of the following: * * * - a) Give prominent notice with each copy of the object code that the - Library is used in it and that the Library and its use are - covered by this License. +* a) Give prominent notice with each copy of the object code that the * +* Library is used in it and that the Library and its use are * +* covered by this License. * * * - b) Accompany the object code with a copy of the GNU GPL and this - license document. +* b) Accompany the object code with a copy of the GNU GPL and this * +* license document. * * * - 4. Combined Works. +* 4. Combined Works. * * * - You may convey a Combined Work under terms of your choice that, - taken together, effectively do not restrict modification of the - portions of the Library contained in the Combined Work and reverse - engineering for debugging such modifications, if you also do each of - the following: +* You may convey a Combined Work under terms of your choice that, * +* taken together, effectively do not restrict modification of the * +* portions of the Library contained in the Combined Work and reverse * +* engineering for debugging such modifications, if you also do each of * +* the following: * * * - a) Give prominent notice with each copy of the Combined Work that - the Library is used in it and that the Library and its use are - covered by this License. +* a) Give prominent notice with each copy of the Combined Work that * +* the Library is used in it and that the Library and its use are * +* covered by this License. * * * - b) Accompany the Combined Work with a copy of the GNU GPL and this - license document. +* b) Accompany the Combined Work with a copy of the GNU GPL and this * +* license document. * * * - c) For a Combined Work that displays copyright notices during - execution, include the copyright notice for the Library among - these notices, as well as a reference directing the user to the - copies of the GNU GPL and this license document. +* c) For a Combined Work that displays copyright notices during * +* execution, include the copyright notice for the Library among * +* these notices, as well as a reference directing the user to the * +* copies of the GNU GPL and this license document. * * * - d) Do one of the following: +* d) Do one of the following: * * * - 0) Convey the Minimal Corresponding Source under the terms of this - License, and the Corresponding Application Code in a form - suitable for, and under terms that permit, the user to - recombine or relink the Application with a modified version of - the Linked Version to produce a modified Combined Work, in the - manner specified by section 6 of the GNU GPL for conveying - Corresponding Source. +* 0) Convey the Minimal Corresponding Source under the terms of this * +* License, and the Corresponding Application Code in a form * +* suitable for, and under terms that permit, the user to * +* recombine or relink the Application with a modified version of * +* the Linked Version to produce a modified Combined Work, in the * +* manner specified by section 6 of the GNU GPL for conveying * +* Corresponding Source. * * * - 1) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (a) uses at run time - a copy of the Library already present on the user's computer - system, and (b) will operate properly with a modified version - of the Library that is interface-compatible with the Linked - Version. +* 1) Use a suitable shared library mechanism for linking with the * +* Library. A suitable mechanism is one that (a) uses at run time * +* a copy of the Library already present on the user's computer * +* system, and (b) will operate properly with a modified version * +* of the Library that is interface-compatible with the Linked * +* Version. * * * - e) Provide Installation Information, but only if you would otherwise - be required to provide such information under section 6 of the - GNU GPL, and only to the extent that such information is - necessary to install and execute a modified version of the - Combined Work produced by recombining or relinking the - Application with a modified version of the Linked Version. (If - you use option 4d0, the Installation Information must accompany - the Minimal Corresponding Source and Corresponding Application - Code. If you use option 4d1, you must provide the Installation - Information in the manner specified by section 6 of the GNU GPL - for conveying Corresponding Source.) +* e) Provide Installation Information, but only if you would otherwise * +* be required to provide such information under section 6 of the * +* GNU GPL, and only to the extent that such information is * +* necessary to install and execute a modified version of the * +* Combined Work produced by recombining or relinking the * +* Application with a modified version of the Linked Version. (If * +* you use option 4d0, the Installation Information must accompany * +* the Minimal Corresponding Source and Corresponding Application * +* Code. If you use option 4d1, you must provide the Installation * +* Information in the manner specified by section 6 of the GNU GPL * +* for conveying Corresponding Source.) * * * - 5. Combined Libraries. +* 5. Combined Libraries. * * * - You may place library facilities that are a work based on the - Library side by side in a single library together with other library - facilities that are not Applications and are not covered by this - License, and convey such a combined library under terms of your - choice, if you do both of the following: +* You may place library facilities that are a work based on the * +* Library side by side in a single library together with other library * +* facilities that are not Applications and are not covered by this * +* License, and convey such a combined library under terms of your * +* choice, if you do both of the following: * * * - a) Accompany the combined library with a copy of the same work based - on the Library, uncombined with any other library facilities, - conveyed under the terms of this License. +* a) Accompany the combined library with a copy of the same work based * +* on the Library, uncombined with any other library facilities, * +* conveyed under the terms of this License. * * * - b) Give prominent notice with the combined library that part of it - is a work based on the Library, and explaining where to find the - accompanying uncombined form of the same work. +* b) Give prominent notice with the combined library that part of it * +* is a work based on the Library, and explaining where to find the * +* accompanying uncombined form of the same work. * * * - 6. Revised Versions of the GNU Lesser General Public License. +* 6. Revised Versions of the GNU Lesser General Public License. * * * - The Free Software Foundation may publish revised and/or new versions - of the GNU Lesser General Public License from time to time. Such new - versions will be similar in spirit to the present version, but may - differ in detail to address new problems or concerns. +* The Free Software Foundation may publish revised and/or new versions * +* of the GNU Lesser General Public License from time to time. Such new * +* versions will be similar in spirit to the present version, but may * +* differ in detail to address new problems or concerns. * * * - Each version is given a distinguishing version number. If the - Library as you received it specifies that a certain numbered version - of the GNU Lesser General Public License "or any later version" - applies to it, you have the option of following the terms and - conditions either of that published version or of any later version - published by the Free Software Foundation. If the Library as you - received it does not specify a version number of the GNU Lesser - General Public License, you may choose any version of the GNU Lesser - General Public License ever published by the Free Software Foundation. +* Each version is given a distinguishing version number. If the * +* Library as you received it specifies that a certain numbered version * +* of the GNU Lesser General Public License "or any later version" * +* applies to it, you have the option of following the terms and * +* conditions either of that published version or of any later version * +* published by the Free Software Foundation. If the Library as you * +* received it does not specify a version number of the GNU Lesser * +* General Public License, you may choose any version of the GNU Lesser * +* General Public License ever published by the Free Software Foundation. * * * - If the Library as you received it specifies that a proxy can decide - whether future versions of the GNU Lesser General Public License shall - apply, that proxy's public statement of acceptance of any version is - permanent authorization for you to choose that version for the - Library. +* If the Library as you received it specifies that a proxy can decide * +* whether future versions of the GNU Lesser General Public License shall * +* apply, that proxy's public statement of acceptance of any version is * +* permanent authorization for you to choose that version for the * +* Library. * * * ***************************************************************************/ #ifndef _GFX4d_H #define _GFX4d_H + // #define USE_FS + +#define IMAGE_NOT_TOUCHED 255 +//#define IMAGE_NOT_TOUCHED -1 +//#define IMAGE_NOT_TOUCHED MAX_WIDGETS+1 + #define IPS_DISPLAY 1 #define TN_DISPLAY 0 #define ST7789_DISPLAY 2 +#define ST240x240 4 +#define ILI9488_DISPLAY 8 #include "Arduino.h" #include "Print.h" +#include + #ifndef USE_FS - //#if ARDUINO_ESP8266_GIT_VER > 0x2843a5ac - // #include "SdFat.h" - // #include "sdios.h" - //#else - #include - //#endif + #include #else -//#define FS_NO_GLOBALS //allow spiffs to coexist with SD card, define BEFORE including FS.h -#include //spiff file system + #include //spiff file system #endif - #define SD_CONFIG SdSpiConfig(5, SHARED_SPI, SPI_CLOCK) -#define MAX_WIDGETS 400 +//#define MAX_WIDGETS 300 #ifdef USING_WS4_GCIOBJECTS -#define GCIOBJSEN + #define GCIOBJSEN #endif -#define GFX4d_TFTWIDTH 240 -#define GFX4d_TFTHEIGHT 320 +#ifdef ESP32 + #define DISP_CS_HI GPIO.out1_w1ts.val = ((uint32_t)1 << (_cs - 32)); + #define DISP_CS_LO GPIO.out1_w1tc.val = ((uint32_t)1 << (_cs - 32)); + //#define TOUCH_CS_HI GPIO.out1_w1ts.val = (1 << (_tcs - 32)); + //#define TOUCH_CS_LO GPIO.out1_w1tc.val = (1 << (_tcs - 32)); + #define TOUCH_CS_HI GPIO.out_w1ts=(1<<_tcs) + #define TOUCH_CS_LO GPIO.out_w1tc=(1<<_tcs) + #define DISP_DC_HI GPIO.out_w1ts=((uint32_t)1<<_dc) + #define DISP_DC_LO GPIO.out_w1tc=((uint32_t)1<<_dc) + #define SD_BEGIN SD.begin(_sd,SPI,79000000) + #define ESP8266WiFi.h Wifi.h +#else + #define DISP_CS_HI GPOS=(1<<_cs) + #define DISP_CS_LO GPOC=(1<<_cs) + #define TOUCH_CS_HI GPOS=(1<<_tcs) + #define TOUCH_CS_LO GPOC=(1<<_tcs) + #define DISP_DC_HI GPOS=(1<<_dc) + #define DISP_DC_LO GPOC=(1<<_dc) + #if ARDUINO_ESP8266_GIT_VER > 0x2843a5ac + #define SD_BEGIN SD.begin(_sd,SD_SCK_MHZ(79)) + #else + #define SD_BEGIN SD.begin(_sd,spiSettings) + #endif +#endif +#define DISP_SPI_BEGINT SPI.beginTransaction(spiSettingsD) +#define DISP_SPI_BEGINTT SPI.beginTransaction(spiSettingsT) +#define DISP_SPI_ENDT SPI.endTransaction() +#define DISP_SPI_WRITE SPI.write +#define DISP_SPI_WRITE16 SPI.write16 +#define DISP_SPI_WRITE32 SPI.write32 +#define DISP_SPI_WRITEBYTES SPI.writeBytes +#define DISP_SPI_TRANSFER SPI.transfer +#define DISP_SPI_TRANSFER16 SPI.transfer16 -#define GFX4d_NOP 0x00 -#define GFX4d_SWRESET 0x01 -#define GFX4d_RDDID 0x04 -#define GFX4d_RDDST 0x09 +#define GFX4d_NOP 0x00 +#define GFX4d_SWRESET 0x01 +#define GFX4d_RDDID 0x04 +#define GFX4d_RDDST 0x09 -#define GFX4d_SLPIN 0x10 -#define GFX4d_SLPOUT 0x11 -#define GFX4d_PTLON 0x12 -#define GFX4d_NORON 0x13 +#define GFX4d_SLPIN 0x10 +#define GFX4d_SLPOUT 0x11 +#define GFX4d_PTLON 0x12 +#define GFX4d_NORON 0x13 -#define GFX4d_RDMODE 0x0A -#define GFX4d_RDMADCTL 0x0B -#define GFX4d_RDPIXFMT 0x0C -#define GFX4d_RDIMGFMT 0x0D -#define GFX4d_RDSELFDIAG 0x0F +#define GFX4d_RDMODE 0x0A +#define GFX4d_RDMADCTL 0x0B +#define GFX4d_RDPIXFMT 0x0C +#define GFX4d_RDIMGFMT 0x0D +#define GFX4d_RDSELFDIAG 0x0F -#define GFX4d_INVOFF 0x20 -#define GFX4d_INVON 0x21 -#define GFX4d_GAMMASET 0x26 -#define GFX4d_DISPOFF 0x28 -#define GFX4d_DISPON 0x29 +#define GFX4d_INVOFF 0x20 +#define GFX4d_INVON 0x21 +#define GFX4d_GAMMASET 0x26 +#define GFX4d_DISPOFF 0x28 +#define GFX4d_DISPON 0x29 -#define GFX4d_CASET 0x2A -#define GFX4d_PASET 0x2B -#define GFX4d_RAMWR 0x2C -#define GFX4d_RAMRD 0x2E +#define GFX4d_CASET 0x2A +#define GFX4d_PASET 0x2B +#define GFX4d_RAMWR 0x2C +#define GFX4d_RAMRD 0x2E -#define GFX4d_PTLAR 0x30 -#define GFX4d_VSCRDEF 0x33 -#define GFX4d_MADCTL 0x36 -#define GFX4d_VSCRSADD 0x37 -#define GFX4d_PIXFMT 0x3A +#define GFX4d_PTLAR 0x30 +#define GFX4d_VSCRDEF 0x33 +#define GFX4d_MADCTL 0x36 +#define GFX4d_VSCRSADD 0x37 +#define GFX4d_PIXFMT 0x3A -#define GFX4d_FRMCTR1 0xB1 -#define GFX4d_FRMCTR2 0xB2 -#define GFX4d_FRMCTR3 0xB3 -#define GFX4d_INVCTR 0xB4 -#define GFX4d_DFUNCTR 0xB6 +#define GFX4d_FRMCTR1 0xB1 +#define GFX4d_FRMCTR2 0xB2 +#define GFX4d_FRMCTR3 0xB3 +#define GFX4d_INVCTR 0xB4 +#define GFX4d_DFUNCTR 0xB6 -#define GFX4d_PWCTR1 0xC0 -#define GFX4d_PWCTR2 0xC1 -#define GFX4d_PWCTR3 0xC2 -#define GFX4d_PWCTR4 0xC3 -#define GFX4d_PWCTR5 0xC4 -#define GFX4d_VMCTR1 0xC5 -#define GFX4d_VMCTR2 0xC7 +#define GFX4d_PWCTR1 0xC0 +#define GFX4d_PWCTR2 0xC1 +#define GFX4d_PWCTR3 0xC2 +#define GFX4d_PWCTR4 0xC3 +#define GFX4d_PWCTR5 0xC4 +#define GFX4d_VMCTR1 0xC5 +#define GFX4d_VMCTR2 0xC7 -#define GFX4d_RDID1 0xDA -#define GFX4d_RDID2 0xDB -#define GFX4d_RDID3 0xDC -#define GFX4d_RDID4 0xDD +#define GFX4d_RDID1 0xDA +#define GFX4d_RDID2 0xDB +#define GFX4d_RDID3 0xDC +#define GFX4d_RDID4 0xDD -#define GFX4d_GMCTRP1 0xE0 -#define GFX4d_GMCTRN1 0xE1 +#define GFX4d_GMCTRP1 0xE0 +#define GFX4d_GMCTRN1 0xE1 -#define LANDSCAPE 0 -#define LANDSCAPE_R 1 -#define PORTRAIT 2 -#define PORTRAIT_R 3 -#define SOLID 0 -#define DOTMATRIXROUND 1 -#define DOTMATRIXLED 3 -#define DOTMATRIXSQUARE 4 -#define DOTMATRIXFADE 5 -#define SYSTEM 1 -#define FONT1 1 -#define FONT2 2 -#define Pressed 1 -#define Released 0 -#define SLIDER_RAISED 0 -#define SLIDER_SUNKEN 1 -#define NOTOUCH 0 -#define T_SENSE 10 -#define TOUCH_PRESSED 1 -#define TOUCH_RELEASED 2 -#define TOUCH_STATUS 0 -#define TOUCH_GETX 1 -#define TOUCH_GETY 2 -#define KEYPAD 3 -#define DRAW_UPDOWN 2 -#define DRAW_DOWNONLY 1 -#define DRAW_NONE 0 -#define MAX_ARCSIZE 200 -#define GRADIENT_RAISED 0 -#define GRADIENT_SUNKEN 1 -#define GRADIENT_FLATTEN -1 -#define GRADIENT_HIGH 63 -#define GRADIENT_MEDIUM 32 -#define GRADIENT_LOW 24 -#define GRADIENT_OFF 0 -#define GRADIENT_DARKEN0 0 -#define GRADIENT_DARKEN1 1 -#define GRADIENT_DARKEN2 2 -#define BUTTON_SQUARE 0 -#define BUTTON_ROUNDED 1 -#define BUTTON_CIRCULAR 2 -#define BUTTON_CIRCULAR_TOP 3 +#define IMAGE_XPOS 1 +#define IMAGE_YPOS 2 +#define IMAGE_WIDTH 4 +#define IMAGE_HEIGHT 8 +#define IMAGE_VALUE 16 +#define LANDSCAPE 0 +#define LANDSCAPE_R 1 +#define PORTRAIT 2 +#define PORTRAIT_R 3 +#define SOLID 0 +#define DOTMATRIXROUND 1 +#define DOTMATRIXLED 3 +#define DOTMATRIXSQUARE 4 +#define DOTMATRIXFADE 5 +#define SYSTEM 1 +#define FONT1 1 +#define FONT2 2 +#define Pressed 1 +#define Released 0 +#define SLIDER_RAISED 0 +#define SLIDER_SUNKEN 1 +#define NOTOUCH 0 +#define T_SENSE 10 +#define TOUCH_PRESSED 1 +#define TOUCH_RELEASED 2 +#define TOUCH_STATUS 0 +#define TOUCH_GETX 1 +#define TOUCH_GETY 2 +#define KEYPAD 3 +#define DRAW_UPDOWN 2 +#define DRAW_DOWNONLY 1 +#define DRAW_NONE 0 +#define MAX_ARCSIZE 200 +#define GRADIENT_RAISED 0 +#define GRADIENT_SUNKEN 1 +#define GRADIENT_FLATTEN -1 +#define GRADIENT_HIGH 63 +#define GRADIENT_MEDIUM 32 +#define GRADIENT_LOW 24 +#define GRADIENT_OFF 0 +#define GRADIENT_DARKEN0 0 +#define GRADIENT_DARKEN1 1 +#define GRADIENT_DARKEN2 2 +#define BUTTON_SQUARE 0 +#define BUTTON_ROUNDED 1 +#define BUTTON_CIRCULAR 2 +#define BUTTON_CIRCULAR_TOP 3 -#define ALICEBLUE 0xF7DF -#define ANTIQUEWHITE 0xFF5A -#define AQUA 0x07FF -#define AQUAMARINE 0x7FFA -#define AZURE 0xF7FF -#define BEIGE 0xF7BB -#define BISQUE 0xFF38 -#define BLACK 0x0000 -#define BLANCHEDALMOND 0xFF59 -#define BLUE 0x001F -#define BLUEVIOLET 0x895C -#define BROWN 0xA145 -#define BURLYWOOD 0xDDD0 -#define CADETBLUE 0x5CF4 -#define CHARTREUSE 0x7FE0 -#define CHOCOLATE 0xD343 -#define CORAL 0xFBEA -#define CORNFLOWERBLUE 0x64BD -#define CORNSILK 0xFFDB -#define CRIMSON 0xD8A7 -#define CYAN 0x07FF -#define DARKBLUE 0x0011 -#define DARKCYAN 0x0451 -#define DARKGOLDENROD 0xBC21 -#define DARKGRAY 0xAD55 -#define DARKGREEN 0x0320 -#define DARKKHAKI 0xBDAD -#define DARKMAGENTA 0x8811 -#define DARKOLIVEGREEN 0x5345 -#define DARKORANGE 0xFC60 -#define DARKORCHID 0x9999 -#define DARKRED 0x8800 -#define DARKSALMON 0xECAF -#define DARKSEAGREEN 0x8DF1 -#define DARKSLATEBLUE 0x49F1 -#define DARKSLATEGRAY 0x2A69 -#define DARKTURQUOISE 0x067A -#define DARKVIOLET 0x901A -#define DEEPPINK 0xF8B2 -#define DEEPSKYBLUE 0x05FF -#define DIMGRAY 0x6B4D -#define DODGERBLUE 0x1C9F -#define FIREBRICK 0xB104 -#define FLORALWHITE 0xFFDE -#define FORESTGREEN 0x2444 -#define FUCHSIA 0xF81F -#define GAINSBORO 0xDEFB -#define GHOSTWHITE 0xFFDF -#define GOLD 0xFEA0 -#define GOLDENROD 0xDD24 -#define GRAY 0x8410 -#define GREEN 0x0400 -#define GREENYELLOW 0xAFE5 -#define HONEYDEW 0xF7FE -#define HOTPINK 0xFB56 -#define INDIANRED 0xCAEB -#define INDIGO 0x4810 -#define IVORY 0xFFFE -#define KHAKI 0xF731 -#define LAVENDER 0xE73F -#define LAVENDERBLUSH 0xFF9E -#define LAWNGREEN 0x7FE0 -#define LEMONCHIFFON 0xFFD9 -#define LIGHTBLUE 0xAEDC -#define LIGHTCORAL 0xF410 -#define LIGHTCYAN 0xE7FF -#define LIGHTGOLD 0xFFDA -#define LIGHTGREEN 0x9772 -#define LIGHTGREY 0xD69A -#define LIGHTPINK 0xFDB8 -#define LIGHTSALMON 0xFD0F -#define LIGHTSEAGREEN 0x2595 -#define LIGHTSKYBLUE 0x867F -#define LIGHTSLATEGRAY 0x7453 -#define LIGHTSTEELBLUE 0xB63B -#define LIGHTYELLOW 0xFFFC -#define LIME 0x07E0 -#define LIMEGREEN 0x3666 -#define LINEN 0xFF9C -#define MAGENTA 0xF81F -#define MAROON 0x8000 +#define ALICEBLUE 0xF7DF +#define ANTIQUEWHITE 0xFF5A +#define AQUA 0x07FF +#define AQUAMARINE 0x7FFA +#define AZURE 0xF7FF +#define BEIGE 0xF7BB +#define BISQUE 0xFF38 +#define BLACK 0x0000 +#define BLANCHEDALMOND 0xFF59 +#define BLUE 0x001F +#define BLUEVIOLET 0x895C +#define BROWN 0xA145 +#define BURLYWOOD 0xDDD0 +#define CADETBLUE 0x5CF4 +#define CHARTREUSE 0x7FE0 +#define CHOCOLATE 0xD343 +#define CORAL 0xFBEA +#define CORNFLOWERBLUE 0x64BD +#define CORNSILK 0xFFDB +#define CRIMSON 0xD8A7 +#define CYAN 0x07FF +#define DARKBLUE 0x0011 +#define DARKCYAN 0x0451 +#define DARKGOLDENROD 0xBC21 +#define DARKGRAY 0xAD55 +#define DARKGREEN 0x0320 +#define DARKKHAKI 0xBDAD +#define DARKMAGENTA 0x8811 +#define DARKOLIVEGREEN 0x5345 +#define DARKORANGE 0xFC60 +#define DARKORCHID 0x9999 +#define DARKRED 0x8800 +#define DARKSALMON 0xECAF +#define DARKSEAGREEN 0x8DF1 +#define DARKSLATEBLUE 0x49F1 +#define DARKSLATEGRAY 0x2A69 +#define DARKTURQUOISE 0x067A +#define DARKVIOLET 0x901A +#define DEEPPINK 0xF8B2 +#define DEEPSKYBLUE 0x05FF +#define DIMGRAY 0x6B4D +#define DODGERBLUE 0x1C9F +#define FIREBRICK 0xB104 +#define FLORALWHITE 0xFFDE +#define FORESTGREEN 0x2444 +#define FUCHSIA 0xF81F +#define GAINSBORO 0xDEFB +#define GHOSTWHITE 0xFFDF +#define GOLD 0xFEA0 +#define GOLDENROD 0xDD24 +#define GRAY 0x8410 +#define GREEN 0x0400 +#define GREENYELLOW 0xAFE5 +#define HONEYDEW 0xF7FE +#define HOTPINK 0xFB56 +#define INDIANRED 0xCAEB +#define INDIGO 0x4810 +#define IVORY 0xFFFE +#define KHAKI 0xF731 +#define LAVENDER 0xE73F +#define LAVENDERBLUSH 0xFF9E +#define LAWNGREEN 0x7FE0 +#define LEMONCHIFFON 0xFFD9 +#define LIGHTBLUE 0xAEDC +#define LIGHTCORAL 0xF410 +#define LIGHTCYAN 0xE7FF +#define LIGHTGOLD 0xFFDA +#define LIGHTGREEN 0x9772 +#define LIGHTGREY 0xD69A +#define LIGHTPINK 0xFDB8 +#define LIGHTSALMON 0xFD0F +#define LIGHTSEAGREEN 0x2595 +#define LIGHTSKYBLUE 0x867F +#define LIGHTSLATEGRAY 0x7453 +#define LIGHTSTEELBLUE 0xB63B +#define LIGHTYELLOW 0xFFFC +#define LIME 0x07E0 +#define LIMEGREEN 0x3666 +#define LINEN 0xFF9C +#define MAGENTA 0xF81F +#define MAROON 0x8000 #define MEDIUMAQUAMARINE 0x6675 -#define MEDIUMBLUE 0x0019 -#define MEDIUMORCHID 0xBABA -#define MEDIUMPURPLE 0x939B -#define MEDIUMSEAGREEN 0x3D8E +#define MEDIUMBLUE 0x0019 +#define MEDIUMORCHID 0xBABA +#define MEDIUMPURPLE 0x939B +#define MEDIUMSEAGREEN 0x3D8E #define MEDIUMSLATEBLUE 0x7B5D #define MEDIUMSPRINGGREEN 0x07D3 #define MEDIUMTURQUOISE 0x4E99 #define MEDIUMVIOLETRED 0xC0B0 -#define MIDNIGHTBLUE 0x18CE -#define MINTCREAM 0xF7FF -#define MISTYROSE 0xFF3C -#define MOCCASIN 0xFF36 -#define NAVAJOWHITE 0xFEF5 -#define NAVY 0x0010 -#define OLDLACE 0xFFBC -#define OLIVE 0x8400 -#define OLIVEDRAB 0x6C64 -#define ORANGE 0xFD20 -#define ORANGERED 0xFA20 -#define ORCHID 0xDB9A -#define PALEGOLDENROD 0xEF55 -#define PALEGREEN 0x9FD3 -#define PALETURQUOISE 0xAF7D -#define PALEVIOLETRED 0xDB92 -#define PAPAYAWHIP 0xFF7A -#define PEACHPUFF 0xFED7 -#define PERU 0xCC27 -#define PINK 0xFE19 -#define PLUM 0xDD1B -#define POWDERBLUE 0xB71C -#define PURPLE 0x8010 -#define RED 0xF800 -#define ROSYBROWN 0xBC71 -#define ROYALBLUE 0x435C -#define SADDLEBROWN 0x8A22 -#define SALMON 0xFC0E -#define SANDYBROWN 0xF52C -#define SEAGREEN 0x2C4A -#define SEASHELL 0xFFBD -#define SIENNA 0xA285 -#define SILVER 0xC618 -#define SKYBLUE 0x867D -#define SLATEBLUE 0x6AD9 -#define SLATEGRAY 0x7412 -#define SNOW 0xFFDF -#define SPRINGGREEN 0x07EF -#define STEELBLUE 0x4416 -#define TAN 0xD5B1 -#define TEAL 0x0410 -#define THISTLE 0xDDFB -#define TOMATO 0xFB08 -#define TURQUOISE 0x471A -#define VIOLET 0xEC1D -#define WHEAT 0xF6F6 -#define WHITE 0xFFFF -#define WHITESMOKE 0xF7BE -#define YELLOW 0xFFE0 -#define YELLOWGREEN 0x9E66 +#define MIDNIGHTBLUE 0x18CE +#define MINTCREAM 0xF7FF +#define MISTYROSE 0xFF3C +#define MOCCASIN 0xFF36 +#define NAVAJOWHITE 0xFEF5 +#define NAVY 0x0010 +#define OLDLACE 0xFFBC +#define OLIVE 0x8400 +#define OLIVEDRAB 0x6C64 +#define ORANGE 0xFD20 +#define ORANGERED 0xFA20 +#define ORCHID 0xDB9A +#define PALEGOLDENROD 0xEF55 +#define PALEGREEN 0x9FD3 +#define PALETURQUOISE 0xAF7D +#define PALEVIOLETRED 0xDB92 +#define PAPAYAWHIP 0xFF7A +#define PEACHPUFF 0xFED7 +#define PERU 0xCC27 +#define PINK 0xFE19 +#define PLUM 0xDD1B +#define POWDERBLUE 0xB71C +#define PURPLE 0x8010 +#define RED 0xF800 +#define ROSYBROWN 0xBC71 +#define ROYALBLUE 0x435C +#define SADDLEBROWN 0x8A22 +#define SALMON 0xFC0E +#define SANDYBROWN 0xF52C +#define SEAGREEN 0x2C4A +#define SEASHELL 0xFFBD +#define SIENNA 0xA285 +#define SILVER 0xC618 +#define SKYBLUE 0x867D +#define SLATEBLUE 0x6AD9 +#define SLATEGRAY 0x7412 +#define SNOW 0xFFDF +#define SPRINGGREEN 0x07EF +#define STEELBLUE 0x4416 +#define TAN 0xD5B1 +#define TEAL 0x0410 +#define THISTLE 0xDDFB +#define TOMATO 0xFB08 +#define TURQUOISE 0x471A +#define VIOLET 0xEC1D +#define WHEAT 0xF6F6 +#define WHITE 0xFFFF +#define WHITESMOKE 0xF7BE +#define YELLOW 0xFFE0 +#define YELLOWGREEN 0x9E66 -#define HLSMAX 127 -#define HLSMAXm2d3 85 -#define HLSMAXd12 10 -#define HLSMAXd6 21 -#define HLSMAXd2 63 -#define HLSMAXd3 42 -#define RGBMAX 127 -#define RGBMAXm2 254 -#define UNDEFINED 85 -#define _redmask 0xF800 -#define _greenmask 0x07E0 -#define _bluemask 0x001F -#define GET_VERSION 0x10 -#define ENABLE_TOUCH 0x12 -#define DISABLE_TOUCH 0x13 +#define HLSMAX 127 +#define HLSMAXm2d3 85 +#define HLSMAXd12 10 +#define HLSMAXd6 21 +#define HLSMAXd2 63 +#define HLSMAXd3 42 +#define RGBMAX 127 +#define RGBMAXm2 254 +#define UNDEFINED 85 +#define _redmask 0xF800 +#define _greenmask 0x07E0 +#define _bluemask 0x001F +#define GET_VERSION 0x10 +#define ENABLE_TOUCH 0x12 +#define DISABLE_TOUCH 0x13 #define CALIBRATE_MODE 0x14 #define REGISTER_READ 0x20 #define REGISTER_WRITE 0x21 #define REGISTER_START_ADDRESS_REQUEST 0x22 #define REGISTERS_WRITE_TO_EEPROM 0x23 #define EEPROM_READ 0x28 -#define EEPROM_WRITE 0x29 +#define EEPROM_WRITE 0x29 #define EEPROM_WRITE_TO_REGISTERS 0x2B #define TOUCH_ENABLE 0x00 #define TOUCH_DISABLE 0x01 -#define HORIZONTAL_SLIDER 0x00 -#define VERTICAL_SLIDER 0x01 +#define HORIZONTAL_SLIDER 0x00 +#define VERTICAL_SLIDER 0x01 #define SHIFT 0x01 #define CAPSLOCK 0x02 #define CTRL 0x03 -#define SPRITE_ACTIVE 0x00 +#define SPRITE_ACTIVE 0x00 #define SPRITE_MEMPOS 0x01 #define SPRITE_X 0x02 #define SPRITE_Y 0x03 @@ -488,40 +527,40 @@ #define SPRITE_4BIT 0x03 #define TFT_WIDTH 240 -#define TFT_HEIGHT 320 +#define TFT_HEIGHT 340 #if (TFT_HEIGHT == 240) && (TFT_WIDTH == 240) #define CGRAM_OFFSET #endif -#define TFT_NOP 0x00 -#define TFT_SWRST 0x01 +#define TFT_NOP 0x00 +#define TFT_SWRST 0x01 -#define TFT_SLPIN 0x10 -#define TFT_SLPOUT 0x11 -#define TFT_NORON 0x13 +#define TFT_SLPIN 0x10 +#define TFT_SLPOUT 0x11 +#define TFT_NORON 0x13 -#define TFT_INVOFF 0x20 -#define TFT_INVON 0x21 -#define TFT_DISPOFF 0x28 -#define TFT_DISPON 0x29 -#define TFT_CASET 0x2A -#define TFT_PASET 0x2B -#define TFT_RAMWR 0x2C -#define TFT_RAMRD 0x2E -#define TFT_MADCTL 0x36 -#define TFT_COLMOD 0x3A +#define TFT_INVOFF 0x20 +#define TFT_INVON 0x21 +#define TFT_DISPOFF 0x28 +#define TFT_DISPON 0x29 +#define TFT_CASET 0x2A +#define TFT_PASET 0x2B +#define TFT_RAMWR 0x2C +#define TFT_RAMRD 0x2E +#define TFT_MADCTL 0x36 +#define TFT_COLMOD 0x3A -#define TFT_MAD_MY 0x80 -#define TFT_MAD_MX 0x40 -#define TFT_MAD_MV 0x20 -#define TFT_MAD_ML 0x10 -#define TFT_MAD_RGB 0x00 -#define TFT_MAD_BGR 0x08 -#define TFT_MAD_MH 0x04 -#define TFT_MAD_SS 0x02 -#define TFT_MAD_GS 0x01 -#define TFT_RGB_ORDER 0x00 +#define TFT_MAD_MY 0x80 +#define TFT_MAD_MX 0x40 +#define TFT_MAD_MV 0x20 +#define TFT_MAD_ML 0x10 +#define TFT_MAD_RGB 0x00 +#define TFT_MAD_BGR 0x08 +#define TFT_MAD_MH 0x04 +#define TFT_MAD_SS 0x02 +#define TFT_MAD_GS 0x01 +#define TFT_RGB_ORDER 0x00 #ifdef TFT_RGB_ORDER #if (TFT_RGB_ORDER == 1) @@ -570,7 +609,7 @@ #define GFX4DST_PTLAR 0x30 #define GFX4DST_VSCRDEF 0x33 // Vertical scrolling definition (ST7789V) #define GFX4DST_TEOFF 0x34 // Tearing effect line off -#define GFX4DST_TEON 0x35 // Tearing effect line on +#define GFX4DST_TEON 0x35 // Tearing effect line on #define GFX4DST_MADCTL 0x36 // Memory data access control #define GFX4DST_IDMOFF 0x38 // Idle mode off #define GFX4DST_IDMON 0x39 // Idle mode on @@ -589,27 +628,27 @@ #define GFX4DST_VCOMS 0xBB #define GFX4DST_LCMCTRL 0xC0 #define GFX4DST_IDSET 0xC1 -#define GFX4DST_VDVVRHEN 0xC2 -#define GFX4DST_VRHS 0xC3 +#define GFX4DST_VDVVRHEN 0xC2 +#define GFX4DST_VRHS 0xC3 #define GFX4DST_VDVSET 0xC4 -#define GFX4DST_VCMOFSET 0xC5 +#define GFX4DST_VCMOFSET 0xC5 #define GFX4DST_FRCTR2 0xC6 -#define GFX4DST_CABCCTRL 0xC7 +#define GFX4DST_CABCCTRL 0xC7 #define GFX4DST_REGSEL1 0xC8 #define GFX4DST_REGSEL2 0xCA -#define GFX4DST_PWMFRSEL 0xCC +#define GFX4DST_PWMFRSEL 0xCC #define GFX4DST_PWCTRL1 0xD0 -#define GFX4DST_VAPVANEN 0xD2 +#define GFX4DST_VAPVANEN 0xD2 #define GFX4DST_CMD2EN 0xDF #define GFX4DST_PVGAMCTRL 0xE0 #define GFX4DST_NVGAMCTRL 0xE1 #define GFX4DST_DGMLUTR 0xE2 #define GFX4DST_DGMLUTB 0xE3 -#define GFX4DST_GATECTRL 0xE4 +#define GFX4DST_GATECTRL 0xE4 #define GFX4DST_SPI2EN 0xE7 #define GFX4DST_PWCTRL2 0xE8 #define GFX4DST_EQCTRL 0xE9 -#define GFX4DST_PROMCTRL 0xEC +#define GFX4DST_PROMCTRL 0xEC #define GFX4DST_PROMEN 0xFA #define GFX4DST_NVMSET 0xFC #define GFX4DST_PROMACT 0xFE @@ -879,22 +918,32 @@ class GFX4d : public Print fs::File dataFile; fs::File userImag; fs::File userDat; -#endif +#endif + GFX4d(); void begin(void), begin(byte a), setGRAM(uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1), +#ifdef ESP32 + setGRAMdma(uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1), +#endif WrGRAM(uint32_t color), WrGRAMs(uint32_t *data, uint16_t l), + WrGRAMsNT(uint32_t *data, uint16_t l), WrGRAM16(uint16_t color), WrGRAMs16(uint16_t *data, uint16_t l), + WrGRAMs16NT(uint16_t *data, uint16_t l), WrGRAMs8(uint8_t *data, uint16_t l, byte mul), WrGRAMs16232(uint16_t *data, uint16_t l), WrGRAMs16232(uint16_t *data, uint16_t l, uint8_t *odata, int x, int y), WrGRAM16232(uint16_t mcolor, int32_t l), WrGRAMs16232NT(uint16_t *data, uint16_t l), + WriteBytes(uint8_t *data, uint32_t l), +#ifdef ESP32 + WritePixels(uint16_t * data, uint32_t l), +#endif WrGRAMend(), WrGRAMstart(), FillScreen(uint16_t color), @@ -907,6 +956,9 @@ class GFX4d : public Print MoveTo(int16_t x, int16_t y), newLine(int8_t f1, int8_t ts, uint16_t ux), Open4dGFX(String file4d), + Open4dGFX(String file4d, bool allocMAX), + _Open4dGFX(String file4d, bool scan), + SetMaxWidgets(int mw), DownloadFile(String WebAddr, String Fname), DownloadFile(String WebAddr, String Fname, String sha1), DownloadFile(String Address, uint16_t port, String hfile, String Fname), @@ -921,23 +973,14 @@ class GFX4d : public Print UserImages(uint16_t uis, int16_t frame, int offset, int16_t altx, int16_t alty), UserImages(uint16_t uisnb, int16_t framenb, int16_t newx, int16_t newy), UserImagesDR(uint16_t uino, int frames, int16_t uxpos, int16_t uypos, int16_t uwidth, int16_t uheight), - //LedDigitsDisplay(uint16_t newval, uint16_t index, int16_t Digits, int16_t MinDigits, int16_t WidthDigit, int16_t LeadingBlanks), - //LedDigitsDisplay(uint32_t newval, uint16_t index, int16_t Digits, int16_t MinDigits, int16_t WidthDigit, int16_t LeadingBlanks), - LedDigitsDisplay(uint64_t newval, uint16_t index, int16_t Digits, int16_t MinDigits, int16_t WidthDigit, int16_t LeadingBlanks), - //LedDigitsDisplay(uint16_t newval, uint16_t index, int16_t Digits, int16_t MinDigits, int16_t WidthDigit, int16_t LeadingBlanks, int16_t altx, int16_t alty), - //LedDigitsDisplay(uint32_t newval, uint16_t index, int16_t Digits, int16_t MinDigits, int16_t WidthDigit, int16_t LeadingBlanks, int16_t altx, int16_t alty), - LedDigitsDisplay(uint64_t newval, uint16_t index, int16_t Digits, int16_t MinDigits, int16_t WidthDigit, int16_t LeadingBlanks, int16_t altx, int16_t alty), - //LedDigitsDisplaySigned(int16_t newval, uint16_t index, int16_t Digits, int16_t MinDigits, int16_t WidthDigit, int16_t LeadingBlanks), - //LedDigitsDisplaySigned(int32_t newval, uint16_t index, int16_t Digits, int16_t MinDigits, int16_t WidthDigit, int16_t LeadingBlanks), - LedDigitsDisplaySigned(int64_t newval, uint16_t index, int16_t Digits, int16_t MinDigits, int16_t WidthDigit, int16_t LeadingBlanks), - //LedDigitsDisplaySigned(int16_t newval, uint16_t index, int16_t Digits, int16_t MinDigits, int16_t WidthDigit, int16_t LeadingBlanks, int16_t altx, int16_t alty), - //LedDigitsDisplaySigned(int32_t newval, uint16_t index, int16_t Digits, int16_t MinDigits, int16_t WidthDigit, int16_t LeadingBlanks, int16_t altx, int16_t alty), - LedDigitsDisplaySigned(int64_t newval, uint16_t index, int16_t Digits, int16_t MinDigits, int16_t WidthDigit, int16_t LeadingBlanks, int16_t altx, int16_t alty), + LedDigitsDisplay(int64_t newval, uint16_t index, int16_t Digits, int16_t MinDigits, int16_t WidthDigit, int16_t LeadingBlanks), + LedDigitsDisplay(int64_t newval, uint16_t index, int16_t Digits, int16_t MinDigits, int16_t WidthDigit, int16_t LeadingBlanks, int16_t altx, int16_t alty), + LedDigitsDisplaySigned(int64_t newval, uint16_t index, int16_t Digits, int16_t MinDigits, int16_t WidthDigit, int16_t LeadingBlanks), + LedDigitsDisplaySigned(int64_t newval, uint16_t index, int16_t Digits, int16_t MinDigits, int16_t WidthDigit, int16_t LeadingBlanks, int16_t altx, int16_t alty), DrawWidget(uint32_t Index, int16_t uix, int16_t uiy, int16_t uiw, int16_t uih, uint16_t frame, int16_t bar, bool images, uint8_t cdv), DrawImage(uint32_t Index, int16_t uix, int16_t uiy), UserCharacter(uint32_t *data, uint8_t ucsize, int16_t ucx, int16_t ucy, uint16_t color, uint16_t bgcolor), - UserCharacterBG(uint32_t *data, uint8_t ucsize, int16_t ucx, int16_t ucy, uint16_t color, - boolean draw, uint32_t bgindex), + UserCharacterBG(uint32_t *data, uint8_t ucsize, int16_t ucx, int16_t ucy, uint16_t color, boolean draw, uint32_t bgindex), UserCharacterBG(int8_t ui, uint32_t *data, uint8_t ucsize, int16_t ucx, int16_t ucy, uint16_t color, boolean draw), UserCharacterBG(uint32_t *data, uint8_t ucsize, int16_t ucx, int16_t ucy, uint16_t color, boolean draw, uint32_t bgindex, bool type, int8_t ui), PrintImage(uint16_t iIndex), @@ -1018,13 +1061,18 @@ class GFX4d : public Print ResetKeypad(), TextWindowImage(int16_t x, int16_t y, int16_t w, int16_t h, uint16_t txtcolor, uint16_t TWimg, uint16_t frcolor), drawChar2TWimage(uint8_t ch, uint16_t uino, int frames, int16_t uxpos, int16_t uypos, uint16_t txtcol), - gradientShape(int ow, int xPos, int yPos, int w, int h, int r1, int r2, int r3, int r4, int darken, uint16_t color, int sr1, int gl1, uint16_t colorD, int sr3, int gl3, int gtb), - HlineD(int y, int x1, int x2, uint16_t color), + gradientShape(int ow, int xPos, int yPos, int w, int h, int r1, int r2, int r3, int r4, int darken, int color, int sr1, int gl1, int colorD, int sr3, int gl3, int gtb), + HlineD(int y, int x1, int x2, int color), ChangeColor(uint16_t oCol, uint16_t nCol), ButtonXstyle(byte bs), - Invert(boolean i); + Invert(boolean i), + GradTriangleFilled(int x0, int y0, int x1, int y1, int x2, int y2, int color, int ncCol, int h, int ypos, int lev, int erase); - uint16_t RGBto565(uint8_t r, uint8_t g, uint8_t b); + int strWidth(String ts); + int charHeight(char ch = 'A'); + int charWidth(char ch = 'A'); + int imageGetWord(uint16_t img, byte controlIndex); + uint16_t RGBto565(uint8_t r, uint8_t g, uint8_t b); uint16_t RGBs2COL(uint8_t r, uint8_t g, uint8_t b); uint8_t hue_RGB(int Hin, int M1, int M2); uint16_t ReadPixel(uint16_t xrp, uint16_t yrp); @@ -1048,7 +1096,7 @@ class GFX4d : public Print uint16_t touch_GetX(void); uint16_t touch_GetY(void); uint8_t touch_GetPen(void); - uint16_t imageTouched(void); + int imageTouched(void); uint8_t CheckButtons(void); uint16_t getNumberofObjects(void); uint8_t getFontData(uint8_t fntnum, uint16_t val); @@ -1056,7 +1104,7 @@ class GFX4d : public Print int DecodeKeypad(int kpad, int kpress, byte *kbks, int8_t *kbck); bool KeypadStatus(int keyType); bool SpriteInit(uint16_t *sdata, size_t nums); - bool SpriteAdd(int pos, int snum, int x, int y, uint16_t *sdata); + bool SpriteAdd(int pos, int snum, int x, int y, uint16_t *sdata); boolean CheckSD(void); boolean CheckDL(void); boolean touch_Update(void); @@ -1071,7 +1119,7 @@ class GFX4d : public Print uint16_t GetSliderValue(uint16_t ui, uint8_t axis, uint16_t uiv, uint16_t ming, uint16_t maxg); uint16_t SpriteGetPixel(int snum, int xo, int yo, uint16_t tcolor, uint16_t * sdata); uint16_t SpriteGetPalette(int pnumber); - uint16_t Grad(int raisSunk, int state, int glev, int h1, int pos, uint16_t colToAdj); + int Grad(int raisSunk, int state, int glev, int h1, int pos, int colToAdj); int GetSpritesAt(int xo, int yo, uint16_t tcolor, int * slist, uint16_t * sdata); int SpriteTouched(); int GetSprite(int snum, int choice); @@ -1088,9 +1136,11 @@ class GFX4d : public Print uint16_t palette4bit[16] = {BLACK, MAROON, GREEN, OLIVE, NAVY, PURPLE, TEAL, SILVER, GRAY, RED, LIME, YELLOW, BLUE, FUCHSIA, AQUA, WHITE}; virtual size_t write(uint8_t); - + + private: - String dat4d; + + String dat4d; String gci4d; uint16_t tdark; uint16_t tlight; @@ -1110,6 +1160,7 @@ class GFX4d : public Print boolean ctrl; boolean ddos; boolean twen; + boolean useDMA; int8_t fsh; int8_t fsh1; int8_t fsw; @@ -1120,57 +1171,62 @@ class GFX4d : public Print int8_t _cs, _dc, _rst, _mosi, _miso, _sclk, _disp, _tcs, _sd, _sRes; boolean IPSDisplay = false; boolean ST7789 = false; + boolean ILI9488 = false; + uint16_t GFX4d_TFTWIDTH = 240; + uint16_t GFX4d_TFTHEIGHT = 320; + uint16_t GFX4d_SCRWIDTH = 239; + int _xstart; + int _ystart; + int _rowstart; + int _colstart; + int _nlh = 320; public: uint8_t dispID[4]; - int16_t //lastArcOld[max_ARCSIZE], - //inx[max_ARCSIZE], - GSCropArcLeft = -1, - GSCropArcRight = -1, - xpGSaPos[4], - ypGSaPos[4], - radsGS[4], - //GSCropArcLeft := -1, - //GSCropArcRight := -1, - GSCropLastVal, - lastAsize, - keepLastArc = 0, - protectLA = 0, - GSErase, - GSEraseXpos, - GSEraseYpos, - GSEraseHeight, - GSErasePHeight, - GSEraseColour, - GSEraseGLevel, - GSERaisedSunk, - GSSLastSliderVal, - GSSBGColor, - GSSArconly, - GSSsxpos = -9999; - //gradofs; - uint16_t lastArcOld[MAX_ARCSIZE], - inx[MAX_ARCSIZE]; - boolean sdok; + int16_t + MAX_WIDGETS = 300, + GSCropArcLeft = -1, + GSCropArcRight = -1, + xpGSaPos[4], + ypGSaPos[4], + radsGS[4], + GSCropLastVal, + lastAsize, + keepLastArc = 0, + protectLA = 0, + GSErase, + GSEraseXpos, + GSEraseYpos, + GSEraseHeight, + GSErasePHeight, + GSEraseColour, + GSEraseGLevel, + GSERaisedSunk, + GSSLastSliderVal, + GSSBGColor, + GSSArconly, + GSSsxpos = -9999; + uint16_t + lastArcOld[MAX_ARCSIZE], + inx[MAX_ARCSIZE]; + boolean sdok; protected: uint32_t krepeat; - uint32_t tuiIndex[MAX_WIDGETS]; + uint32_t *tuiIndex; int16_t - tuix[MAX_WIDGETS], - tuiy[MAX_WIDGETS], - tuiw[MAX_WIDGETS], - tuih[MAX_WIDGETS], + *tuix, + *tuiy, + *tuiw, + *tuih, + *spriteData, + *spriteList, + *spriteLast, + *spriteNum, xpApos[4], ypApos[4], rads[4], - - //lastArcOld[max_ARCSIZE], - //inx[MAX_ARCSIZE], - //GSCropArcLeft = -1, - //GSCropArcRight = -1, - //lastAsize, TWimage, TWimageCount, pressed = -1, @@ -1179,21 +1235,25 @@ class GFX4d : public Print sdetailh, sdetailx, sdetailw, - *spriteData, - *spriteList, - *spriteLast, - *spriteNum, - width, height, cursor_x, cursor_y , scrollpos, xic, yic; + width, + height, + cursor_x, + cursor_y, + scrollpos, + xic, + yic, + gciobjtouched; uint16_t #ifndef ESP8266 - buf16[12001], + buf16[12001], #endif - gciobjframes[MAX_WIDGETS], + *gciobjframes, twframecol, textcolor, textbgcolor, chracc, chrdwn, TWimgSet = 0, TWimageTextCol, + opgfx = 0, sgx, sgy, sgw, @@ -1206,19 +1266,18 @@ class GFX4d : public Print twcurx, twcury, twcolnum, - bposx[128], - bposy[128], - bposw[128], - bposh[128], - bposc[128], - txfcol[600], + *bposx, + *bposy, + *bposw, + *bposh, + *bposc, + *txfcol, spriteArea[4], numSprites, butdelay, - gciobjnum, - gciobjtouched; + gciobjnum; uint8_t - cdv[MAX_WIDGETS], + *cdv, TWcharByte, TWcharBit, UIDRcharOn, @@ -1231,10 +1290,9 @@ class GFX4d : public Print pencount, oldbut, twcl, - bstat[128], - txtbuf[600], + *bstat, + *txtbuf, tchbuf[15], - //tdata[256], textsize, textsizeht, rotation, @@ -1245,24 +1303,25 @@ class GFX4d : public Print _but, bxStyle; boolean - saSet, - tchen, - uimage, - twframe, - butchnge, - dlok, - //sdok, - gciobjtouchenable[MAX_WIDGETS], - scrolled, - nl, - txtwin, - wrap, - bactive[128]; - String - cmdtxt, - twtext; + saSet, + tchen, + uimage, + twframe, + butchnge, + dlok, + *gciobjtouchenable, + scrolled, + nl, + txtwin, + ButtonxInitial = true, + TWInitial = true, + wrap, + *bactive; + String + cmdtxt, + twtext; long - touchTime; + touchTime; }; #endif diff --git a/src/keywords.txt b/src/keywords.txt index 557e01d..93669aa 100644 --- a/src/keywords.txt +++ b/src/keywords.txt @@ -10,23 +10,27 @@ # Methods and Functions (KEYWORD2) ####################################### -GFX4d KEYWORD1 +GFX4d KEYWORD1 +strWidth KEYWORD2 +charWidth KEYWORD2 +charHeight KEYWORD2 +imageGetWord KEYWORD2 GradientShape KEYWORD2 ButtonXstyle KEYWORD2 GetSliderValue KEYWORD2 DecodeKeypad KEYWORD2 -ResetKeypad KEYWORD2 +ResetKeypad KEYWORD2 KeypadStatus KEYWORD2 SpriteEnable KEYWORD2 SpriteSetPalette KEYWORD2 SpriteGetPalette KEYWORD2 SpriteTouched KEYWORD2 -SpriteInit KEYWORD2 -SpriteAdd KEYWORD2 +SpriteInit KEYWORD2 +SpriteAdd KEYWORD2 SpriteAreaSet KEYWORD2 GetSpriteImageNum KEYWORD2 -SetSprite KEYWORD2 -GetSprite KEYWORD2 +SetSprite KEYWORD2 +GetSprite KEYWORD2 GetSpritesAt KEYWORD2 SpriteGetPixel KEYWORD2 UpdateSprites KEYWORD2 @@ -151,6 +155,10 @@ getFontData KEYWORD2 # Constants (LITERAL1) ####################################### +IMAGE_XPOS LITERAL1 +IMAGE_YPOS LITERAL1 +IMAGE_WIDTH LITERAL1 +IMAGE_HEIGHT LITERAL1 GFX4d_RED LITERAL1 GFX4d_GREEN LITERAL1 GFX4d_BLUE LITERAL1