From ce9f31494277a11aa9cfcbdb5fe5c303627e626e Mon Sep 17 00:00:00 2001 From: Shamus Hammons Date: Tue, 29 May 2007 03:06:33 +0000 Subject: [PATCH] Set eol-style to sane default. --- Makefile | 330 +-- res/apple2.rc | 18 +- src/apple2.cpp | 1628 +++++++-------- src/apple2.h | 24 +- src/applevideo.cpp | 1430 ++++++------- src/applevideo.h | 50 +- src/ay8910.cpp | 1388 ++++++------ src/ay8910.h | 32 +- src/charset.h | 1720 +++++++-------- src/dis65c02.cpp | 356 ++-- src/dis65c02.h | 30 +- src/fd-img-128x128.c | 4434 +++++++++++++++++++-------------------- src/firmware.h | 436 ++-- src/floppy.cpp | 1066 +++++----- src/floppy.h | 138 +- src/icon.h | 76 +- src/log.cpp | 130 +- src/log.h | 44 +- src/sound.cpp | 466 ++--- src/sound.h | 46 +- src/v65c02.cpp | 4744 +++++++++++++++++++++--------------------- src/v65c02.h | 110 +- src/video.cpp | 604 +++--- src/video.h | 60 +- 24 files changed, 9680 insertions(+), 9680 deletions(-) diff --git a/Makefile b/Makefile index 4e1abb8..e94b4a6 100755 --- a/Makefile +++ b/Makefile @@ -1,165 +1,165 @@ -# -# Unified Makefile for Apple 2 SDL -# -# by James L. Hammons -# (C) 2005 Underground Software -# This software is licensed under the GPL v2 -# - -# Figure out which system we're compiling for, and set the appropriate variables - -ifeq "$(OSTYPE)" "msys" # Win32 - -SYSTYPE = __GCCWIN32__ -EXESUFFIX = .exe -GLLIB = -lopengl32 -ICON = obj/icon.o -SDLLIBTYPE = --libs -MSG = Win32 on MinGW - -else -#ifeq "$(OSTYPE)" "darwin" -ifeq "darwin" "$(findstring darwin,$(OSTYPE))" # Should catch both 'darwin' and 'darwin7.0' - -SYSTYPE = __GCCUNIX__ -D_OSX_ -EXESUFFIX = -GLLIB = -ICON = -SDLLIBTYPE = --static-libs -MSG = Mac OS X - -else # *nix - -SYSTYPE = __GCCUNIX__ -EXESUFFIX = -GLLIB = -lGL -ICON = -SDLLIBTYPE = --libs -MSG = generic Unix/Linux - -endif -endif - -CC = gcc -LD = gcc -TARGET = apple2 - -# Note that we use optimization level 2 instead of 3--3 doesn't seem to gain much over 2 -#CFLAGS = -MMD -Wall -Wno-switch -O2 -D$(SYSTYPE) -ffast-math -fomit-frame-pointer `sdl-config --cflags` -#CPPFLAGS = -MMD -Wall -Wno-switch -Wno-non-virtual-dtor -O2 -D$(SYSTYPE) \ -# No optimization and w/gcov flags, so that we get an accurate picture from gcov -#CFLAGS = -MMD -Wall -Wno-switch -D$(SYSTYPE) \ -# -ffast-math -fomit-frame-pointer `sdl-config --cflags` -fprofile-arcs -ftest-coverage -#CPPFLAGS = -MMD -Wall -Wno-switch -Wno-non-virtual-dtor -D$(SYSTYPE) \ -# -ffast-math -fomit-frame-pointer `sdl-config --cflags` -fprofile-arcs -ftest-coverage -# No optimization for profiling with gprof... -CFLAGS = -MMD -Wall -Wno-switch -D$(SYSTYPE) \ - -ffast-math `sdl-config --cflags` -pg -g -CPPFLAGS = -MMD -Wall -Wno-switch -Wno-non-virtual-dtor -D$(SYSTYPE) \ - -ffast-math `sdl-config --cflags` -pg -g -# -fomit-frame-pointer `sdl-config --cflags` -g -# -fomit-frame-pointer `sdl-config --cflags` -DLOG_UNMAPPED_MEMORY_ACCESSES - -LDFLAGS = - -#LIBS = -L/usr/local/lib -L/usr/lib `sdl-config $(SDLLIBTYPE)` -lstdc++ -lz $(GLLIB) -# Link in the gcov library (for profiling purposes) -#LIBS = -L/usr/local/lib -L/usr/lib `sdl-config $(SDLLIBTYPE)` -lstdc++ -lz $(GLLIB) -lgcov -# Link in the gprof lib -LIBS = -L/usr/local/lib -L/usr/lib `sdl-config $(SDLLIBTYPE)` -lstdc++ -lz $(GLLIB) -pg - -INCS = -I. -I./src -I/usr/local/include -I/usr/include - -OBJS = \ - obj/button.o \ - obj/draggablewindow.o \ - obj/draggablewindow2.o \ - obj/element.o \ - obj/gui.o \ - obj/guimisc.o \ - obj/menu.o \ - obj/textedit.o \ - obj/window.o \ - \ - obj/applevideo.o \ - obj/ay8910.o \ - obj/dis65c02.o \ - obj/floppy.o \ - obj/log.o \ - obj/sdlemu_config.o \ - obj/sdlemu_opengl.o \ - obj/settings.o \ - obj/sound.o \ - obj/timing.o \ - obj/v65c02.o \ - obj/video.o \ - obj/apple2.o \ - $(ICON) - -all: checkenv message obj $(TARGET)$(EXESUFFIX) - @echo - @echo "*** Looks like it compiled OK... Give it a whirl!" - -# Check the compilation environment, barf if not appropriate - -checkenv: - @echo - @echo -n "*** Checking compilation environment... " -ifeq "" "$(shell which sdl-config)" - @echo - @echo - @echo "It seems that you don't have the SDL development libraries installed. If you" - @echo "have installed them, make sure that the sdl-config file is somewhere in your" - @echo "path and is executable." - @echo -#Is there a better way to break out of the makefile? - @break -else - @echo "OK" -endif - -message: - @echo - @echo "*** Building Apple 2 SDL for $(MSG)..." - @echo - -clean: - @echo -n "*** Cleaning out the garbage..." - @rm -rf obj - @rm -f ./$(TARGET)$(EXESUFFIX) - @echo "done!" - -obj: - @mkdir obj - -# This is only done for Win32 at the moment... - -ifneq "" "$(ICON)" -$(ICON): res/$(TARGET).rc res/$(TARGET).ico - @echo "*** Processing icon..." - @windres -i res/$(TARGET).rc -o $(ICON) --include-dir=./res -endif - -obj/%.o: src/%.c - @echo "*** Compiling $<..." - @$(CC) $(CFLAGS) $(INCS) -c $< -o $@ - -obj/%.o: src/%.cpp - @echo "*** Compiling $<..." - @$(CC) $(CPPFLAGS) $(INCS) -c $< -o $@ - -#GUI compilation... -obj/%.o: src/gui/%.cpp - @echo "*** Compiling $<..." - @$(CC) $(CPPFLAGS) $(INCS) -c $< -o $@ - -$(TARGET)$(EXESUFFIX): $(OBJS) - @echo "*** Linking it all together..." - @$(LD) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) -# strip --strip-all vj$(EXESUFFIX) -# upx -9 vj$(EXESUFFIX) - -# Pull in dependencies autogenerated by gcc's -MMD switch -# The "-" in front in there just in case they haven't been created yet - --include obj/*.d +# +# Unified Makefile for Apple 2 SDL +# +# by James L. Hammons +# (C) 2005 Underground Software +# This software is licensed under the GPL v2 +# + +# Figure out which system we're compiling for, and set the appropriate variables + +ifeq "$(OSTYPE)" "msys" # Win32 + +SYSTYPE = __GCCWIN32__ +EXESUFFIX = .exe +GLLIB = -lopengl32 +ICON = obj/icon.o +SDLLIBTYPE = --libs +MSG = Win32 on MinGW + +else +#ifeq "$(OSTYPE)" "darwin" +ifeq "darwin" "$(findstring darwin,$(OSTYPE))" # Should catch both 'darwin' and 'darwin7.0' + +SYSTYPE = __GCCUNIX__ -D_OSX_ +EXESUFFIX = +GLLIB = +ICON = +SDLLIBTYPE = --static-libs +MSG = Mac OS X + +else # *nix + +SYSTYPE = __GCCUNIX__ +EXESUFFIX = +GLLIB = -lGL +ICON = +SDLLIBTYPE = --libs +MSG = generic Unix/Linux + +endif +endif + +CC = gcc +LD = gcc +TARGET = apple2 + +# Note that we use optimization level 2 instead of 3--3 doesn't seem to gain much over 2 +#CFLAGS = -MMD -Wall -Wno-switch -O2 -D$(SYSTYPE) -ffast-math -fomit-frame-pointer `sdl-config --cflags` +#CPPFLAGS = -MMD -Wall -Wno-switch -Wno-non-virtual-dtor -O2 -D$(SYSTYPE) \ +# No optimization and w/gcov flags, so that we get an accurate picture from gcov +#CFLAGS = -MMD -Wall -Wno-switch -D$(SYSTYPE) \ +# -ffast-math -fomit-frame-pointer `sdl-config --cflags` -fprofile-arcs -ftest-coverage +#CPPFLAGS = -MMD -Wall -Wno-switch -Wno-non-virtual-dtor -D$(SYSTYPE) \ +# -ffast-math -fomit-frame-pointer `sdl-config --cflags` -fprofile-arcs -ftest-coverage +# No optimization for profiling with gprof... +CFLAGS = -MMD -Wall -Wno-switch -D$(SYSTYPE) \ + -ffast-math `sdl-config --cflags` -pg -g +CPPFLAGS = -MMD -Wall -Wno-switch -Wno-non-virtual-dtor -D$(SYSTYPE) \ + -ffast-math `sdl-config --cflags` -pg -g +# -fomit-frame-pointer `sdl-config --cflags` -g +# -fomit-frame-pointer `sdl-config --cflags` -DLOG_UNMAPPED_MEMORY_ACCESSES + +LDFLAGS = + +#LIBS = -L/usr/local/lib -L/usr/lib `sdl-config $(SDLLIBTYPE)` -lstdc++ -lz $(GLLIB) +# Link in the gcov library (for profiling purposes) +#LIBS = -L/usr/local/lib -L/usr/lib `sdl-config $(SDLLIBTYPE)` -lstdc++ -lz $(GLLIB) -lgcov +# Link in the gprof lib +LIBS = -L/usr/local/lib -L/usr/lib `sdl-config $(SDLLIBTYPE)` -lstdc++ -lz $(GLLIB) -pg + +INCS = -I. -I./src -I/usr/local/include -I/usr/include + +OBJS = \ + obj/button.o \ + obj/draggablewindow.o \ + obj/draggablewindow2.o \ + obj/element.o \ + obj/gui.o \ + obj/guimisc.o \ + obj/menu.o \ + obj/textedit.o \ + obj/window.o \ + \ + obj/applevideo.o \ + obj/ay8910.o \ + obj/dis65c02.o \ + obj/floppy.o \ + obj/log.o \ + obj/sdlemu_config.o \ + obj/sdlemu_opengl.o \ + obj/settings.o \ + obj/sound.o \ + obj/timing.o \ + obj/v65c02.o \ + obj/video.o \ + obj/apple2.o \ + $(ICON) + +all: checkenv message obj $(TARGET)$(EXESUFFIX) + @echo + @echo "*** Looks like it compiled OK... Give it a whirl!" + +# Check the compilation environment, barf if not appropriate + +checkenv: + @echo + @echo -n "*** Checking compilation environment... " +ifeq "" "$(shell which sdl-config)" + @echo + @echo + @echo "It seems that you don't have the SDL development libraries installed. If you" + @echo "have installed them, make sure that the sdl-config file is somewhere in your" + @echo "path and is executable." + @echo +#Is there a better way to break out of the makefile? + @break +else + @echo "OK" +endif + +message: + @echo + @echo "*** Building Apple 2 SDL for $(MSG)..." + @echo + +clean: + @echo -n "*** Cleaning out the garbage..." + @rm -rf obj + @rm -f ./$(TARGET)$(EXESUFFIX) + @echo "done!" + +obj: + @mkdir obj + +# This is only done for Win32 at the moment... + +ifneq "" "$(ICON)" +$(ICON): res/$(TARGET).rc res/$(TARGET).ico + @echo "*** Processing icon..." + @windres -i res/$(TARGET).rc -o $(ICON) --include-dir=./res +endif + +obj/%.o: src/%.c + @echo "*** Compiling $<..." + @$(CC) $(CFLAGS) $(INCS) -c $< -o $@ + +obj/%.o: src/%.cpp + @echo "*** Compiling $<..." + @$(CC) $(CPPFLAGS) $(INCS) -c $< -o $@ + +#GUI compilation... +obj/%.o: src/gui/%.cpp + @echo "*** Compiling $<..." + @$(CC) $(CPPFLAGS) $(INCS) -c $< -o $@ + +$(TARGET)$(EXESUFFIX): $(OBJS) + @echo "*** Linking it all together..." + @$(LD) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) +# strip --strip-all vj$(EXESUFFIX) +# upx -9 vj$(EXESUFFIX) + +# Pull in dependencies autogenerated by gcc's -MMD switch +# The "-" in front in there just in case they haven't been created yet + +-include obj/*.d diff --git a/res/apple2.rc b/res/apple2.rc index c891182..9b41f1b 100755 --- a/res/apple2.rc +++ b/res/apple2.rc @@ -1,9 +1,9 @@ -#include "winresrc.h" - -// -// Icon -// - -// Icon with lowest ID value placed first to ensure application icon -// remains consistent on all systems. -IDI_ICON1 ICON DISCARDABLE "apple2.ico" +#include "winresrc.h" + +// +// Icon +// + +// Icon with lowest ID value placed first to ensure application icon +// remains consistent on all systems. +IDI_ICON1 ICON DISCARDABLE "apple2.ico" diff --git a/src/apple2.cpp b/src/apple2.cpp index b5a7ee9..dbdb619 100755 --- a/src/apple2.cpp +++ b/src/apple2.cpp @@ -1,814 +1,814 @@ -// -// Apple 2 SDL Portable Apple Emulator -// -// by James L. Hammons -// (C) 2005 Underground Software -// -// Loosely based on AppleWin by Tom Charlesworth which was based on AppleWin by -// Oliver Schmidt which was based on AppleWin by Michael O'Brien. :-) Parts are -// also derived from ApplePC. Too bad it was closed source--it could have been -// *the* premier Apple II emulator out there. -// -// JLH = James L. Hammons -// -// WHO WHEN WHAT -// --- ---------- ------------------------------------------------------------ -// JLH 11/12/2005 Initial port to SDL -// JLH 11/18/2005 Wired up graphic soft switches -// JLH 12/02/2005 Setup timer subsystem for more accurate time keeping -// JLH 12/12/2005 Added preliminary state saving support -// - -// STILL TO DO: -// -// - Port to SDL [DONE] -// - GUI goodies -// - Weed out unneeded functions [DONE] -// - Disk I/O [DONE] -// - 128K IIe related stuff -// - State loading/saving -// - -#include "apple2.h" - -#include -#include -#include -#include -#include -#include -#include -#include -#include "log.h" -#include "video.h" -#include "sound.h" -#include "settings.h" -#include "v65c02.h" -#include "applevideo.h" -#include "timing.h" -#include "floppy.h" -#include "firmware.h" - -#include "gui/gui.h" -#include "gui/window.h" -#include "gui/draggablewindow2.h" -#include "gui/textedit.h" - -using namespace std; - -// Global variables - -uint8 ram[0x10000], rom[0x10000]; // RAM & ROM spaces -uint8 diskRom[0x100]; // Disk ROM space -V65C02REGS mainCPU; -uint8 appleType = APPLE_TYPE_II; - -// Local variables - -static uint8 lastKeyPressed = 0; -static bool keyDown = false; - -static FloppyDrive floppyDrive; - -enum { LC_BANK_1, LC_BANK_2 }; - -static uint8 visibleBank = LC_BANK_1; -static bool readRAM = false; -static bool writeRAM = false; - -static bool running = true; // Machine running state flag... -static uint32 startTicks; - -static GUI * gui = NULL; - -// Local functions (technically, they're global...) - -bool LoadImg(char * filename, uint8 * ram, int size); -uint8 RdMem(uint16 addr); -void WrMem(uint16 addr, uint8 b); -static void SaveApple2State(const char * filename); -static bool LoadApple2State(const char * filename); - -// Local timer callback functions - -static void FrameCallback(void); -static void BlinkTimer(void); - -// Test GUI function - -Element * TestWindow(void) -{ - Element * win = new DraggableWindow2(10, 10, 128, 128); -// ((DraggableWindow *)win)->AddElement(new TextEdit(4, 16, 92, 0, "u2prog.dsk", win)); - - return win; -} - -Element * QuitEmulator(void) -{ - gui->Stop(); - running = false; - - return NULL; -} - -/* - Small Apple II memory map: - -$C010 - Clear bit 7 of keyboard data ($C000) -$C030 - Toggle speaker diaphragm -$C051 - Display text -$C054 - Select page 1 -$C056 - Select lo-res -$C058 - Set annuciator-0 output to 0 -$C05A - Set annuciator-0 output to 0 -$C05D - Set annuciator-0 output to 1 -$C05F - Set annuciator-0 output to 1 -$C0E0 - Disk control stepper ($C0E0-7) -$C0E9 - Disk control motor (on) -$C0EA - Disk enable (drive 1) -$C0EC - Disk R/W -$C0EE - Disk set read mode -*/ - -// -// V65C02 read/write memory functions -// - -uint8 RdMem(uint16 addr) -{ - uint8 b; - -#if 0 -if (addr >= 0xC000 && addr <= 0xC0FF) - WriteLog("\n*** Read at I/O address %04X\n", addr); -#endif -#if 0 -if (addr >= 0xC080 && addr <= 0xC08F) - WriteLog("\n*** Read at I/O address %04X\n", addr); -#endif - - if ((addr & 0xFFF0) == 0xC000) - { - return lastKeyPressed | (keyDown ? 0x80 : 0x00); - } - else if ((addr & 0xFFF0) == 0xC010) - { -//This is bogus: keyDown is set to false, so return val NEVER is set... -//Fixed... -//Also, this is IIe/IIc only...! - uint8 retVal = lastKeyPressed | (keyDown ? 0x80 : 0x00); - keyDown = false; - return retVal; - } - else if ((addr & 0xFFF0) == 0xC030) - { - ToggleSpeaker(GetCurrentV65C02Clock()); -//should it return something else here??? - return 0x00; - } - else if (addr == 0xC050) - { - textMode = false; - } - else if (addr == 0xC051) - { - textMode = true; - } - else if (addr == 0xC052) - { - mixedMode = false; - } - else if (addr == 0xC053) - { - mixedMode = true; - } - else if (addr == 0xC054) - { - displayPage2 = false; - } - else if (addr == 0xC055) - { - displayPage2 = true; - } - else if (addr == 0xC056) - { - hiRes = false; - } - else if (addr == 0xC057) - { - hiRes = true; - } - -//Note that this is a kludge: The $D000-$DFFF 4K space is shared (since $C000-$CFFF is -//memory mapped) between TWO banks, and that that $E000-$FFFF RAM space is a single bank. -//[SHOULD BE FIXED NOW] -//OK! This switch selects bank 2 of the 4K bank at $D000-$DFFF. One access makes it -//visible, two makes it R/W. - - else if ((addr & 0xFFFB) == 0xC080) - { -//$C080 49280 OECG R Read RAM bank 2; no write - visibleBank = LC_BANK_2; - readRAM = true; - writeRAM = false; - } - else if ((addr & 0xFFFB) == 0xC081) - { -//$C081 49281 ROMIN OECG RR Read ROM; write RAM bank 2 - visibleBank = LC_BANK_2; - readRAM = false; - writeRAM = true; - } - else if ((addr & 0xFFFB) == 0xC082) - { -//$C082 49282 OECG R Read ROM; no write - visibleBank = LC_BANK_2; - readRAM = false; - writeRAM = false; - } - else if ((addr & 0xFFFB) == 0xC083) - { -//$C083 49283 LCBANK2 OECG RR Read/write RAM bank 2 - visibleBank = LC_BANK_2; - readRAM = true; - writeRAM = true; - } - else if ((addr & 0xFFFB) == 0xC088) - { -//$C088 49288 OECG R Read RAM bank 1; no write - visibleBank = LC_BANK_1; - readRAM = true; - writeRAM = false; - } - else if ((addr & 0xFFFB) == 0xC089) - { -//$C089 49289 OECG RR Read ROM; write RAM bank 1 - visibleBank = LC_BANK_1; - readRAM = false; - writeRAM = true; - } - else if ((addr & 0xFFFB) == 0xC08A) - { -//$C08A 49290 OECG R Read ROM; no write - visibleBank = LC_BANK_1; - readRAM = false; - writeRAM = false; - } - else if ((addr & 0xFFFB) == 0xC08B) - { -//$C08B 49291 OECG RR Read/write RAM bank 1 - visibleBank = LC_BANK_1; - readRAM = true; - writeRAM = true; - } - else if ((addr & 0xFFF8) == 0xC0E0) - { - floppyDrive.ControlStepper(addr & 0x07); - } - else if ((addr & 0xFFFE) == 0xC0E8) - { - floppyDrive.ControlMotor(addr & 0x01); - } - else if ((addr & 0xFFFE) == 0xC0EA) - { - floppyDrive.DriveEnable(addr & 0x01); - } - else if (addr == 0xC0EC) - { - return floppyDrive.ReadWrite(); - } - else if (addr == 0xC0ED) - { - return floppyDrive.GetLatchValue(); - } - else if (addr == 0xC0EE) - { - floppyDrive.SetReadMode(); - } - else if (addr == 0xC0EF) - { - floppyDrive.SetWriteMode(); - } - -//This sux... - if (addr >= 0xC100 && addr <= 0xCFFF) // The $C000-$CFFF block is *never* RAM - b = rom[addr]; - else if (addr >= 0xD000) - { - if (readRAM) - { - if (addr <= 0xDFFF && visibleBank == LC_BANK_1) - b = ram[addr - 0x1000]; - else - b = ram[addr]; - } - else - b = rom[addr]; - } - else - b = ram[addr]; - - return b; -} - -/* -A-9 (Mockingboard) -APPENDIX F Assembly Language Program Listings - - 1 *PRIMARY ROUTINES - 2 *FOR SLOT 4 - 3 * - 4 ORG $9000 - 5 * ;ADDRESSES - FOR FIRST - 6522 - 6 ORB EQU $C400 ;PORT B - 7 ORA EQU $C401 ;PORT A - 8 DDRB EQU $C402 ;DATA DIRECTION - REGISTER (A) - 9 DDRA EQU $C403 ;DATA DIRECTION - REGISTER (B) - 10 * ;ADDRESSES - FOR SECOND - 6522 - 11 ORB2 EQU $C480 ;PORT B - 12 ORA2 EQU $C481 ;PORT A - 13 DDRB2 EQU $C482 ;DATA DIRECTION - REGISTER (B) - 14 DDRA2 EQU $C483 ;DATA DIRECTION - REGISTER (A) -*/ -void WrMem(uint16 addr, uint8 b) -{ -//temp... -//extern V6809REGS regs; -//if (addr >= 0xC800 && addr <= 0xCBFE) -//if (addr == 0xC80F || addr == 0xC80D) -// WriteLog("WrMem: Writing address %04X with %02X [PC=%04X, $CB00=%02X]\n", addr, b, regs.pc, gram[0xCB00]);//*/ - -#if 0 -if (addr >= 0xC000 && addr <= 0xC0FF) - WriteLog("\n*** Write at I/O address %04X\n", addr); -#endif -/* -Check the BIKO version on Asimov to see if it's been cracked or not... - -7F3D: 29 07 AND #$07 [PC=7F3F, SP=01EA, CC=---B-I--, A=01, X=4B, Y=00] -7F3F: C9 06 CMP #$06 [PC=7F41, SP=01EA, CC=N--B-I--, A=01, X=4B, Y=00] -7F41: 90 03 BCC $7F46 [PC=7F46, SP=01EA, CC=N--B-I--, A=01, X=4B, Y=00] -[7F43: 4C 83 7E JMP $7E83] <- Skipped over... (Prints "THANK YOU VERY MUCH!") -7F46: AA TAX [PC=7F47, SP=01EA, CC=---B-I--, A=01, X=01, Y=00] - -; INX here *ensures* 1 - 6!!! BUG!!! -; Or is it? Could this be part of a braindead copy protection scheme? It's -; awfully close to NOP ($EA)... -; Nothing else touches it once it's been written... Hmm... - -7F47: E8 INX [PC=7F48, SP=01EA, CC=---B-I--, A=01, X=02, Y=00] -7F48: F8 SED [PC=7F49, SP=01EA, CC=---BDI--, A=01, X=02, Y=00] -7F49: 18 CLC [PC=7F4A, SP=01EA, CC=---BDI--, A=01, X=02, Y=00] -7F4A: BD 15 4E LDA $4E15,X [PC=7F4D, SP=01EA, CC=---BDI--, A=15, X=02, Y=00] - -; 4E13: 03 00 -; 4E15: 25 25 15 15 10 20 -; 4E1B: 03 41 99 99 01 00 12 -; 4E22: 99 70 - -7F4D: 65 FC ADC $FC [PC=7F4F, SP=01EA, CC=---BDI--, A=16, X=02, Y=00] -7F4F: 65 FC ADC $FC [PC=7F51, SP=01EA, CC=---BDI--, A=17, X=02, Y=00] -7F51: 65 FC ADC $FC [PC=7F53, SP=01EA, CC=---BDI--, A=18, X=02, Y=00] -7F53: 65 FC ADC $FC [PC=7F55, SP=01EA, CC=---BDI--, A=19, X=02, Y=00] - -; NO checking is done on the raised stat! Aarrrgggghhhhh! - -7F55: 9D 15 4E STA $4E15,X [PC=7F58, SP=01EA, CC=---BDI--, A=19, X=02, Y=00] -7F58: D8 CLD [PC=7F59, SP=01EA, CC=---B-I--, A=19, X=02, Y=00] - -; Print "ALAKAZAM!" and so on... - -7F59: 20 2C 40 JSR $402C [PC=402C, SP=01E8, CC=---B-I--, A=19, X=02, Y=00] -*/ -#if 0 -if (addr == 0x7F47) - WriteLog("\n*** Byte %02X written at address %04X\n", b, addr); -#endif -/* -CLR80STORE=$C000 ;80STORE Off- disable 80-column memory mapping (Write) -SET80STORE=$C001 ;80STORE On- enable 80-column memory mapping (WR-only) - -CLRAUXRD = $C002 ;read from main 48K (WR-only) -SETAUXRD = $C003 ;read from aux/alt 48K (WR-only) - -CLRAUXWR = $C004 ;write to main 48K (WR-only) -SETAUXWR = $C005 ;write to aux/alt 48K (WR-only) - -CLRCXROM = $C006 ;use ROM on cards (WR-only) -SETCXROM = $C007 ;use internal ROM (WR-only) - -CLRAUXZP = $C008 ;use main zero page, stack, & LC (WR-only) -SETAUXZP = $C009 ;use alt zero page, stack, & LC (WR-only) - -CLRC3ROM = $C00A ;use internal Slot 3 ROM (WR-only) -SETC3ROM = $C00B ;use external Slot 3 ROM (WR-only) - -CLR80VID = $C00C ;disable 80-column display mode (WR-only) -SET80VID = $C00D ;enable 80-column display mode (WR-only) - -CLRALTCH = $C00E ;use main char set- norm LC, Flash UC (WR-only) -SETALTCH = $C00F ;use alt char set- norm inverse, LC; no Flash (WR-only) -*/ - if (addr == 0xC00E) - { - alternateCharset = false; - } - else if (addr == 0xC00F) - { - alternateCharset = true; - } - else if ((addr & 0xFFF0) == 0xC010) // Keyboard strobe - { - keyDown = false; - } - else if (addr == 0xC050) - { - textMode = false; - } - else if (addr == 0xC051) - { - textMode = true; - } - else if (addr == 0xC052) - { - mixedMode = false; - } - else if (addr == 0xC053) - { - mixedMode = true; - } - else if (addr == 0xC054) - { - displayPage2 = false; - } - else if (addr == 0xC055) - { - displayPage2 = true; - } - else if (addr == 0xC056) - { - hiRes = false; - } - else if (addr == 0xC057) - { - hiRes = true; - } - else if ((addr & 0xFFF8) == 0xC0E0) - { - floppyDrive.ControlStepper(addr & 0x07); - } - else if ((addr & 0xFFFE) == 0xC0E8) - { - floppyDrive.ControlMotor(addr & 0x01); - } - else if ((addr & 0xFFFE) == 0xC0EA) - { - floppyDrive.DriveEnable(addr & 0x01); - } - else if (addr == 0xC0EC) - { -//change this to Write()? (and the other to Read()?) Dunno. Seems to work OK, but still... - floppyDrive.ReadWrite(); - } - else if (addr == 0xC0ED) - { - floppyDrive.SetLatchValue(b); - } - else if (addr == 0xC0EE) - { - floppyDrive.SetReadMode(); - } - else if (addr == 0xC0EF) - { - floppyDrive.SetWriteMode(); - } -//Still need to add missing I/O switches here... - - if (addr >= 0xD000) - { - if (writeRAM) - { - if (addr <= 0xDFFF && visibleBank == LC_BANK_1) - ram[addr - 0x1000] = b; - else - ram[addr] = b; - } - - return; - } - - ram[addr] = b; -} - -// -// Load a file into RAM/ROM image space -// -bool LoadImg(char * filename, uint8 * ram, int size) -{ - FILE * fp = fopen(filename, "rb"); - - if (fp == NULL) - return false; - - fread(ram, 1, size, fp); - fclose(fp); - - return true; -} - -static void SaveApple2State(const char * filename) -{ -} - -static bool LoadApple2State(const char * filename) -{ - return false; -} - -// -// Main loop -// -int main(int /*argc*/, char * /*argv*/[]) -{ - InitLog("./apple2.log"); - LoadSettings(); - srand(time(NULL)); // Initialize RNG - - // Zero out memory -//Need to bankify this stuff for the IIe emulation... - memset(ram, 0, 0x10000); - memset(rom, 0, 0x10000); - - // Set up V65C02 execution context - memset(&mainCPU, 0, sizeof(V65C02REGS)); - mainCPU.RdMem = RdMem; - mainCPU.WrMem = WrMem; - mainCPU.cpuFlags |= V65C02_ASSERT_LINE_RESET; - - if (!LoadImg(settings.BIOSPath, rom + 0xD000, 0x3000)) - { - WriteLog("Could not open file '%s'!\n", settings.BIOSPath); - return -1; - } - -//This is now included... -/* if (!LoadImg(settings.diskPath, diskRom, 0x100)) - { - WriteLog("Could not open file '%s'!\nDisk II will be unavailable!\n", settings.diskPath); -// return -1; - }//*/ - -//Load up disk image from config file (for now)... - floppyDrive.LoadImage(settings.diskImagePath1, 0); - floppyDrive.LoadImage(settings.diskImagePath2, 1); -// floppyDrive.LoadImage("./disks/temp.nib", 1); // Load temp .nib file into second drive... - -//Kill the DOS ROM in slot 6 for now... -//not - memcpy(rom + 0xC600, diskROM, 0x100); - - WriteLog("About to initialize video...\n"); - if (!InitVideo()) - { - cout << "Aborting!" << endl; - return -1; - } - - // Have to do this *after* video init but *before* sound init...! -//Shouldn't be necessary since we're not doing emulation in the ISR... - if (settings.autoStateSaving) - { - // Load last state from file... - if (!LoadApple2State(settings.autoStatePath)) - WriteLog("Unable to use Apple2 state file \"%s\"!\n", settings.autoStatePath); - } - - -#if 0 -// State loading! -if (!LoadImg("./BT1_6502_RAM_SPACE.bin", ram, 0x10000)) -{ - cout << "Couldn't load state file!" << endl; - cout << "Aborting!!" << endl; - return -1; -} - -//A P Y X S PC -//-- -- -- -- ----- ----- -//00 75 3B 53 FD 01 41 44 - -mainCPU.cpuFlags = 0; -mainCPU.a = 0x00; -mainCPU.x = 0x53; -mainCPU.y = 0x3B; -mainCPU.cc = 0x75; -mainCPU.sp = 0xFD; -mainCPU.pc = 0x4441; - -textMode = false; -mixedMode = false; -displayPage2 = false; -hiRes = true; - -//kludge... -readHiRam = true; -//dumpDis=true; -//kludge II... -memcpy(ram + 0xD000, ram + 0xC000, 0x1000); -#endif - - WriteLog("About to initialize audio...\n"); - SoundInit(); - SDL_EnableUNICODE(1); // Needed to do key translation shit - - gui = new GUI(surface); // Set up the GUI system object... - gui->AddMenuTitle("Apple2"); - gui->AddMenuItem("Test!", TestWindow/*, hotkey*/); - gui->AddMenuItem(""); - gui->AddMenuItem("Quit", QuitEmulator, SDLK_q); - gui->CommitItemsToMenu(); - - SetupBlurTable(); // Set up the color TV emulation blur table - running = true; // Set running status... - - InitializeEventList(); // Clear the event list before we use it... - SetCallbackTime(FrameCallback, 16666.66666667); // Set frame to fire at 1/60 s interval - SetCallbackTime(BlinkTimer, 250000); // Set up blinking at 1/4 s intervals - startTicks = SDL_GetTicks(); - - WriteLog("Entering main loop...\n"); - while (running) - { - double timeToNextEvent = GetTimeToNextEvent(); - Execute65C02(&mainCPU, USEC_TO_M6502_CYCLES(timeToNextEvent)); -//We MUST remove a frame's worth of time in order for the CPU to function... !!! FIX !!! -//(Fix so that this is not a requirement!) - mainCPU.clock -= USEC_TO_M6502_CYCLES(timeToNextEvent); - HandleNextEvent(); - } - - if (settings.autoStateSaving) - { - // Save state here... - SaveApple2State(settings.autoStatePath); - } -floppyDrive.SaveImage(); - - SoundDone(); - VideoDone(); - SaveSettings(); - LogDone(); - - return 0; -} - -/* -Apple II keycodes ------------------ - -Key Aln CTL SHF BTH ------------------------ -space $A0 $A0 $A0 $A0 No xlation -RETURN $8D $8D $8D $8D No xlation -0 $B0 $B0 $B0 $B0 Need to screen shift+0 (?) -1! $B1 $B1 $A1 $A1 No xlation -2" $B2 $B2 $A2 $A2 No xlation -3# $B3 $B3 $A3 $A3 No xlation -4$ $B4 $B4 $A4 $A4 No xlation -5% $B5 $B5 $A5 $A5 No xlation -6& $B6 $B6 $A6 $A6 No xlation -7' $B7 $B7 $A7 $A7 No xlation -8( $B8 $B8 $A8 $A8 No xlation -9) $B9 $B9 $A9 $A9 No xlation -:* $BA $BA $AA $AA No xlation -;+ $BB $BB $AB $AB No xlation -,< $AC $AC $BC $BC No xlation --= $AD $AD $BD $BD No xlation -.> $AE $AE $BE $BE No xlation -/? $AF $AF $BF $BF No xlation -A $C1 $81 $C1 $81 -B $C2 $82 $C2 $82 -C $C3 $83 $C3 $83 -D $C4 $84 $C4 $84 -E $C5 $85 $C5 $85 -F $C6 $86 $C6 $86 -G $C7 $87 $C7 $87 -H $C8 $88 $C8 $88 -I $C9 $89 $C9 $89 -J $CA $8A $CA $8A -K $CB $8B $CB $8B -L $CC $8C $CC $8C -M $CD $8D $DD $9D -> ODD -N^ $CE $8E $DE $9E -> ODD -O $CF $8F $CF $8F -P@ $D0 $90 $C0 $80 Need to xlate CTL+SHFT+P & SHFT+P (?) -Q $D1 $91 $D1 $91 -R $D2 $92 $D2 $92 -S $D3 $93 $D3 $93 -T $D4 $94 $D4 $94 -U $D5 $95 $D5 $95 -V $D6 $96 $D6 $96 -W $D7 $97 $D7 $97 -X $D8 $98 $D8 $98 -Y $D9 $99 $D9 $99 -Z $DA $9A $DA $9A -<- $88 $88 $88 $88 --> $95 $95 $95 $95 -ESC $9B $9B $9B $9B No xlation - -*/ -static void FrameCallback(void) -{ - SDL_Event event; - - while (SDL_PollEvent(&event)) - { - switch (event.type) - { - case SDL_KEYDOWN: - if (event.key.keysym.unicode != 0) - { -//Need to do some key translation here, and screen out non-apple keys as well... - if (event.key.keysym.sym == SDLK_TAB) // Prelim key screening... - break; - - lastKeyPressed = event.key.keysym.unicode; - keyDown = true; - //kludge: should have a caps lock thingy here... - //or all uppercase for ][+... - if (lastKeyPressed >= 'a' && lastKeyPressed <='z') - lastKeyPressed &= 0xDF; // Convert to upper case... - } - - // CTRL+RESET key emulation (mapped to CTRL+`) -// This doesn't work... -// if (event.key.keysym.sym == SDLK_BREAK && (event.key.keysym.mod & KMOD_CTRL)) -// if (event.key.keysym.sym == SDLK_PAUSE && (event.key.keysym.mod & KMOD_CTRL)) - if (event.key.keysym.sym == SDLK_BACKQUOTE && (event.key.keysym.mod & KMOD_CTRL)) -//NOTE that this shouldn't take place until the key is lifted... !!! FIX !!! -//ALSO it seems to leave the machine in an inconsistent state vis-a-vis the language card... - mainCPU.cpuFlags |= V65C02_ASSERT_LINE_RESET; - - if (event.key.keysym.sym == SDLK_RIGHT) - lastKeyPressed = 0x15, keyDown = true; - else if (event.key.keysym.sym == SDLK_LEFT) - lastKeyPressed = 0x08, keyDown = true; - - // Use ALT+Q to exit, as well as the usual window decoration method - if (event.key.keysym.sym == SDLK_q && (event.key.keysym.mod & KMOD_ALT)) - running = false; - - if (event.key.keysym.sym == SDLK_F12) - dumpDis = !dumpDis; // Toggle the disassembly process - else if (event.key.keysym.sym == SDLK_F11) - floppyDrive.LoadImage("./disks/bt1_char.dsk");//Kludge to load char disk... -else if (event.key.keysym.sym == SDLK_F9) -{ - floppyDrive.CreateBlankImage(); -// SpawnMessage("Image cleared..."); -}//*/ -else if (event.key.keysym.sym == SDLK_F10) -{ - floppyDrive.SwapImages(); -// SpawnMessage("Image swapped..."); -}//*/ - - if (event.key.keysym.sym == SDLK_F2)// Toggle the palette - TogglePalette(); - else if (event.key.keysym.sym == SDLK_F3)// Cycle through screen types - CycleScreenTypes(); - -// if (event.key.keysym.sym == SDLK_F5) // Temp GUI launch key - if (event.key.keysym.sym == SDLK_F1) // GUI launch key -//NOTE: Should parse the output to determine whether or not the user requested -// to quit completely... !!! FIX !!! - gui->Run(); - - break; - case SDL_QUIT: - running = false; - } - } - - HandleSoundAtFrameEdge(); // Sound stuff... (ick) - RenderVideoFrame(); - SetCallbackTime(FrameCallback, 16666.66666667); - - while (SDL_GetTicks() - startTicks < 16); // Wait for next frame... - startTicks = SDL_GetTicks(); -} - -static void BlinkTimer(void) -{ - flash = !flash; - SetCallbackTime(BlinkTimer, 250000); // Set up blinking at 1/4 sec intervals -} +// +// Apple 2 SDL Portable Apple Emulator +// +// by James L. Hammons +// (C) 2005 Underground Software +// +// Loosely based on AppleWin by Tom Charlesworth which was based on AppleWin by +// Oliver Schmidt which was based on AppleWin by Michael O'Brien. :-) Parts are +// also derived from ApplePC. Too bad it was closed source--it could have been +// *the* premier Apple II emulator out there. +// +// JLH = James L. Hammons +// +// WHO WHEN WHAT +// --- ---------- ------------------------------------------------------------ +// JLH 11/12/2005 Initial port to SDL +// JLH 11/18/2005 Wired up graphic soft switches +// JLH 12/02/2005 Setup timer subsystem for more accurate time keeping +// JLH 12/12/2005 Added preliminary state saving support +// + +// STILL TO DO: +// +// - Port to SDL [DONE] +// - GUI goodies +// - Weed out unneeded functions [DONE] +// - Disk I/O [DONE] +// - 128K IIe related stuff +// - State loading/saving +// + +#include "apple2.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include "log.h" +#include "video.h" +#include "sound.h" +#include "settings.h" +#include "v65c02.h" +#include "applevideo.h" +#include "timing.h" +#include "floppy.h" +#include "firmware.h" + +#include "gui/gui.h" +#include "gui/window.h" +#include "gui/draggablewindow2.h" +#include "gui/textedit.h" + +using namespace std; + +// Global variables + +uint8 ram[0x10000], rom[0x10000]; // RAM & ROM spaces +uint8 diskRom[0x100]; // Disk ROM space +V65C02REGS mainCPU; +uint8 appleType = APPLE_TYPE_II; + +// Local variables + +static uint8 lastKeyPressed = 0; +static bool keyDown = false; + +static FloppyDrive floppyDrive; + +enum { LC_BANK_1, LC_BANK_2 }; + +static uint8 visibleBank = LC_BANK_1; +static bool readRAM = false; +static bool writeRAM = false; + +static bool running = true; // Machine running state flag... +static uint32 startTicks; + +static GUI * gui = NULL; + +// Local functions (technically, they're global...) + +bool LoadImg(char * filename, uint8 * ram, int size); +uint8 RdMem(uint16 addr); +void WrMem(uint16 addr, uint8 b); +static void SaveApple2State(const char * filename); +static bool LoadApple2State(const char * filename); + +// Local timer callback functions + +static void FrameCallback(void); +static void BlinkTimer(void); + +// Test GUI function + +Element * TestWindow(void) +{ + Element * win = new DraggableWindow2(10, 10, 128, 128); +// ((DraggableWindow *)win)->AddElement(new TextEdit(4, 16, 92, 0, "u2prog.dsk", win)); + + return win; +} + +Element * QuitEmulator(void) +{ + gui->Stop(); + running = false; + + return NULL; +} + +/* + Small Apple II memory map: + +$C010 - Clear bit 7 of keyboard data ($C000) +$C030 - Toggle speaker diaphragm +$C051 - Display text +$C054 - Select page 1 +$C056 - Select lo-res +$C058 - Set annuciator-0 output to 0 +$C05A - Set annuciator-0 output to 0 +$C05D - Set annuciator-0 output to 1 +$C05F - Set annuciator-0 output to 1 +$C0E0 - Disk control stepper ($C0E0-7) +$C0E9 - Disk control motor (on) +$C0EA - Disk enable (drive 1) +$C0EC - Disk R/W +$C0EE - Disk set read mode +*/ + +// +// V65C02 read/write memory functions +// + +uint8 RdMem(uint16 addr) +{ + uint8 b; + +#if 0 +if (addr >= 0xC000 && addr <= 0xC0FF) + WriteLog("\n*** Read at I/O address %04X\n", addr); +#endif +#if 0 +if (addr >= 0xC080 && addr <= 0xC08F) + WriteLog("\n*** Read at I/O address %04X\n", addr); +#endif + + if ((addr & 0xFFF0) == 0xC000) + { + return lastKeyPressed | (keyDown ? 0x80 : 0x00); + } + else if ((addr & 0xFFF0) == 0xC010) + { +//This is bogus: keyDown is set to false, so return val NEVER is set... +//Fixed... +//Also, this is IIe/IIc only...! + uint8 retVal = lastKeyPressed | (keyDown ? 0x80 : 0x00); + keyDown = false; + return retVal; + } + else if ((addr & 0xFFF0) == 0xC030) + { + ToggleSpeaker(GetCurrentV65C02Clock()); +//should it return something else here??? + return 0x00; + } + else if (addr == 0xC050) + { + textMode = false; + } + else if (addr == 0xC051) + { + textMode = true; + } + else if (addr == 0xC052) + { + mixedMode = false; + } + else if (addr == 0xC053) + { + mixedMode = true; + } + else if (addr == 0xC054) + { + displayPage2 = false; + } + else if (addr == 0xC055) + { + displayPage2 = true; + } + else if (addr == 0xC056) + { + hiRes = false; + } + else if (addr == 0xC057) + { + hiRes = true; + } + +//Note that this is a kludge: The $D000-$DFFF 4K space is shared (since $C000-$CFFF is +//memory mapped) between TWO banks, and that that $E000-$FFFF RAM space is a single bank. +//[SHOULD BE FIXED NOW] +//OK! This switch selects bank 2 of the 4K bank at $D000-$DFFF. One access makes it +//visible, two makes it R/W. + + else if ((addr & 0xFFFB) == 0xC080) + { +//$C080 49280 OECG R Read RAM bank 2; no write + visibleBank = LC_BANK_2; + readRAM = true; + writeRAM = false; + } + else if ((addr & 0xFFFB) == 0xC081) + { +//$C081 49281 ROMIN OECG RR Read ROM; write RAM bank 2 + visibleBank = LC_BANK_2; + readRAM = false; + writeRAM = true; + } + else if ((addr & 0xFFFB) == 0xC082) + { +//$C082 49282 OECG R Read ROM; no write + visibleBank = LC_BANK_2; + readRAM = false; + writeRAM = false; + } + else if ((addr & 0xFFFB) == 0xC083) + { +//$C083 49283 LCBANK2 OECG RR Read/write RAM bank 2 + visibleBank = LC_BANK_2; + readRAM = true; + writeRAM = true; + } + else if ((addr & 0xFFFB) == 0xC088) + { +//$C088 49288 OECG R Read RAM bank 1; no write + visibleBank = LC_BANK_1; + readRAM = true; + writeRAM = false; + } + else if ((addr & 0xFFFB) == 0xC089) + { +//$C089 49289 OECG RR Read ROM; write RAM bank 1 + visibleBank = LC_BANK_1; + readRAM = false; + writeRAM = true; + } + else if ((addr & 0xFFFB) == 0xC08A) + { +//$C08A 49290 OECG R Read ROM; no write + visibleBank = LC_BANK_1; + readRAM = false; + writeRAM = false; + } + else if ((addr & 0xFFFB) == 0xC08B) + { +//$C08B 49291 OECG RR Read/write RAM bank 1 + visibleBank = LC_BANK_1; + readRAM = true; + writeRAM = true; + } + else if ((addr & 0xFFF8) == 0xC0E0) + { + floppyDrive.ControlStepper(addr & 0x07); + } + else if ((addr & 0xFFFE) == 0xC0E8) + { + floppyDrive.ControlMotor(addr & 0x01); + } + else if ((addr & 0xFFFE) == 0xC0EA) + { + floppyDrive.DriveEnable(addr & 0x01); + } + else if (addr == 0xC0EC) + { + return floppyDrive.ReadWrite(); + } + else if (addr == 0xC0ED) + { + return floppyDrive.GetLatchValue(); + } + else if (addr == 0xC0EE) + { + floppyDrive.SetReadMode(); + } + else if (addr == 0xC0EF) + { + floppyDrive.SetWriteMode(); + } + +//This sux... + if (addr >= 0xC100 && addr <= 0xCFFF) // The $C000-$CFFF block is *never* RAM + b = rom[addr]; + else if (addr >= 0xD000) + { + if (readRAM) + { + if (addr <= 0xDFFF && visibleBank == LC_BANK_1) + b = ram[addr - 0x1000]; + else + b = ram[addr]; + } + else + b = rom[addr]; + } + else + b = ram[addr]; + + return b; +} + +/* +A-9 (Mockingboard) +APPENDIX F Assembly Language Program Listings + + 1 *PRIMARY ROUTINES + 2 *FOR SLOT 4 + 3 * + 4 ORG $9000 + 5 * ;ADDRESSES + FOR FIRST + 6522 + 6 ORB EQU $C400 ;PORT B + 7 ORA EQU $C401 ;PORT A + 8 DDRB EQU $C402 ;DATA DIRECTION + REGISTER (A) + 9 DDRA EQU $C403 ;DATA DIRECTION + REGISTER (B) + 10 * ;ADDRESSES + FOR SECOND + 6522 + 11 ORB2 EQU $C480 ;PORT B + 12 ORA2 EQU $C481 ;PORT A + 13 DDRB2 EQU $C482 ;DATA DIRECTION + REGISTER (B) + 14 DDRA2 EQU $C483 ;DATA DIRECTION + REGISTER (A) +*/ +void WrMem(uint16 addr, uint8 b) +{ +//temp... +//extern V6809REGS regs; +//if (addr >= 0xC800 && addr <= 0xCBFE) +//if (addr == 0xC80F || addr == 0xC80D) +// WriteLog("WrMem: Writing address %04X with %02X [PC=%04X, $CB00=%02X]\n", addr, b, regs.pc, gram[0xCB00]);//*/ + +#if 0 +if (addr >= 0xC000 && addr <= 0xC0FF) + WriteLog("\n*** Write at I/O address %04X\n", addr); +#endif +/* +Check the BIKO version on Asimov to see if it's been cracked or not... + +7F3D: 29 07 AND #$07 [PC=7F3F, SP=01EA, CC=---B-I--, A=01, X=4B, Y=00] +7F3F: C9 06 CMP #$06 [PC=7F41, SP=01EA, CC=N--B-I--, A=01, X=4B, Y=00] +7F41: 90 03 BCC $7F46 [PC=7F46, SP=01EA, CC=N--B-I--, A=01, X=4B, Y=00] +[7F43: 4C 83 7E JMP $7E83] <- Skipped over... (Prints "THANK YOU VERY MUCH!") +7F46: AA TAX [PC=7F47, SP=01EA, CC=---B-I--, A=01, X=01, Y=00] + +; INX here *ensures* 1 - 6!!! BUG!!! +; Or is it? Could this be part of a braindead copy protection scheme? It's +; awfully close to NOP ($EA)... +; Nothing else touches it once it's been written... Hmm... + +7F47: E8 INX [PC=7F48, SP=01EA, CC=---B-I--, A=01, X=02, Y=00] +7F48: F8 SED [PC=7F49, SP=01EA, CC=---BDI--, A=01, X=02, Y=00] +7F49: 18 CLC [PC=7F4A, SP=01EA, CC=---BDI--, A=01, X=02, Y=00] +7F4A: BD 15 4E LDA $4E15,X [PC=7F4D, SP=01EA, CC=---BDI--, A=15, X=02, Y=00] + +; 4E13: 03 00 +; 4E15: 25 25 15 15 10 20 +; 4E1B: 03 41 99 99 01 00 12 +; 4E22: 99 70 + +7F4D: 65 FC ADC $FC [PC=7F4F, SP=01EA, CC=---BDI--, A=16, X=02, Y=00] +7F4F: 65 FC ADC $FC [PC=7F51, SP=01EA, CC=---BDI--, A=17, X=02, Y=00] +7F51: 65 FC ADC $FC [PC=7F53, SP=01EA, CC=---BDI--, A=18, X=02, Y=00] +7F53: 65 FC ADC $FC [PC=7F55, SP=01EA, CC=---BDI--, A=19, X=02, Y=00] + +; NO checking is done on the raised stat! Aarrrgggghhhhh! + +7F55: 9D 15 4E STA $4E15,X [PC=7F58, SP=01EA, CC=---BDI--, A=19, X=02, Y=00] +7F58: D8 CLD [PC=7F59, SP=01EA, CC=---B-I--, A=19, X=02, Y=00] + +; Print "ALAKAZAM!" and so on... + +7F59: 20 2C 40 JSR $402C [PC=402C, SP=01E8, CC=---B-I--, A=19, X=02, Y=00] +*/ +#if 0 +if (addr == 0x7F47) + WriteLog("\n*** Byte %02X written at address %04X\n", b, addr); +#endif +/* +CLR80STORE=$C000 ;80STORE Off- disable 80-column memory mapping (Write) +SET80STORE=$C001 ;80STORE On- enable 80-column memory mapping (WR-only) + +CLRAUXRD = $C002 ;read from main 48K (WR-only) +SETAUXRD = $C003 ;read from aux/alt 48K (WR-only) + +CLRAUXWR = $C004 ;write to main 48K (WR-only) +SETAUXWR = $C005 ;write to aux/alt 48K (WR-only) + +CLRCXROM = $C006 ;use ROM on cards (WR-only) +SETCXROM = $C007 ;use internal ROM (WR-only) + +CLRAUXZP = $C008 ;use main zero page, stack, & LC (WR-only) +SETAUXZP = $C009 ;use alt zero page, stack, & LC (WR-only) + +CLRC3ROM = $C00A ;use internal Slot 3 ROM (WR-only) +SETC3ROM = $C00B ;use external Slot 3 ROM (WR-only) + +CLR80VID = $C00C ;disable 80-column display mode (WR-only) +SET80VID = $C00D ;enable 80-column display mode (WR-only) + +CLRALTCH = $C00E ;use main char set- norm LC, Flash UC (WR-only) +SETALTCH = $C00F ;use alt char set- norm inverse, LC; no Flash (WR-only) +*/ + if (addr == 0xC00E) + { + alternateCharset = false; + } + else if (addr == 0xC00F) + { + alternateCharset = true; + } + else if ((addr & 0xFFF0) == 0xC010) // Keyboard strobe + { + keyDown = false; + } + else if (addr == 0xC050) + { + textMode = false; + } + else if (addr == 0xC051) + { + textMode = true; + } + else if (addr == 0xC052) + { + mixedMode = false; + } + else if (addr == 0xC053) + { + mixedMode = true; + } + else if (addr == 0xC054) + { + displayPage2 = false; + } + else if (addr == 0xC055) + { + displayPage2 = true; + } + else if (addr == 0xC056) + { + hiRes = false; + } + else if (addr == 0xC057) + { + hiRes = true; + } + else if ((addr & 0xFFF8) == 0xC0E0) + { + floppyDrive.ControlStepper(addr & 0x07); + } + else if ((addr & 0xFFFE) == 0xC0E8) + { + floppyDrive.ControlMotor(addr & 0x01); + } + else if ((addr & 0xFFFE) == 0xC0EA) + { + floppyDrive.DriveEnable(addr & 0x01); + } + else if (addr == 0xC0EC) + { +//change this to Write()? (and the other to Read()?) Dunno. Seems to work OK, but still... + floppyDrive.ReadWrite(); + } + else if (addr == 0xC0ED) + { + floppyDrive.SetLatchValue(b); + } + else if (addr == 0xC0EE) + { + floppyDrive.SetReadMode(); + } + else if (addr == 0xC0EF) + { + floppyDrive.SetWriteMode(); + } +//Still need to add missing I/O switches here... + + if (addr >= 0xD000) + { + if (writeRAM) + { + if (addr <= 0xDFFF && visibleBank == LC_BANK_1) + ram[addr - 0x1000] = b; + else + ram[addr] = b; + } + + return; + } + + ram[addr] = b; +} + +// +// Load a file into RAM/ROM image space +// +bool LoadImg(char * filename, uint8 * ram, int size) +{ + FILE * fp = fopen(filename, "rb"); + + if (fp == NULL) + return false; + + fread(ram, 1, size, fp); + fclose(fp); + + return true; +} + +static void SaveApple2State(const char * filename) +{ +} + +static bool LoadApple2State(const char * filename) +{ + return false; +} + +// +// Main loop +// +int main(int /*argc*/, char * /*argv*/[]) +{ + InitLog("./apple2.log"); + LoadSettings(); + srand(time(NULL)); // Initialize RNG + + // Zero out memory +//Need to bankify this stuff for the IIe emulation... + memset(ram, 0, 0x10000); + memset(rom, 0, 0x10000); + + // Set up V65C02 execution context + memset(&mainCPU, 0, sizeof(V65C02REGS)); + mainCPU.RdMem = RdMem; + mainCPU.WrMem = WrMem; + mainCPU.cpuFlags |= V65C02_ASSERT_LINE_RESET; + + if (!LoadImg(settings.BIOSPath, rom + 0xD000, 0x3000)) + { + WriteLog("Could not open file '%s'!\n", settings.BIOSPath); + return -1; + } + +//This is now included... +/* if (!LoadImg(settings.diskPath, diskRom, 0x100)) + { + WriteLog("Could not open file '%s'!\nDisk II will be unavailable!\n", settings.diskPath); +// return -1; + }//*/ + +//Load up disk image from config file (for now)... + floppyDrive.LoadImage(settings.diskImagePath1, 0); + floppyDrive.LoadImage(settings.diskImagePath2, 1); +// floppyDrive.LoadImage("./disks/temp.nib", 1); // Load temp .nib file into second drive... + +//Kill the DOS ROM in slot 6 for now... +//not + memcpy(rom + 0xC600, diskROM, 0x100); + + WriteLog("About to initialize video...\n"); + if (!InitVideo()) + { + cout << "Aborting!" << endl; + return -1; + } + + // Have to do this *after* video init but *before* sound init...! +//Shouldn't be necessary since we're not doing emulation in the ISR... + if (settings.autoStateSaving) + { + // Load last state from file... + if (!LoadApple2State(settings.autoStatePath)) + WriteLog("Unable to use Apple2 state file \"%s\"!\n", settings.autoStatePath); + } + + +#if 0 +// State loading! +if (!LoadImg("./BT1_6502_RAM_SPACE.bin", ram, 0x10000)) +{ + cout << "Couldn't load state file!" << endl; + cout << "Aborting!!" << endl; + return -1; +} + +//A P Y X S PC +//-- -- -- -- ----- ----- +//00 75 3B 53 FD 01 41 44 + +mainCPU.cpuFlags = 0; +mainCPU.a = 0x00; +mainCPU.x = 0x53; +mainCPU.y = 0x3B; +mainCPU.cc = 0x75; +mainCPU.sp = 0xFD; +mainCPU.pc = 0x4441; + +textMode = false; +mixedMode = false; +displayPage2 = false; +hiRes = true; + +//kludge... +readHiRam = true; +//dumpDis=true; +//kludge II... +memcpy(ram + 0xD000, ram + 0xC000, 0x1000); +#endif + + WriteLog("About to initialize audio...\n"); + SoundInit(); + SDL_EnableUNICODE(1); // Needed to do key translation shit + + gui = new GUI(surface); // Set up the GUI system object... + gui->AddMenuTitle("Apple2"); + gui->AddMenuItem("Test!", TestWindow/*, hotkey*/); + gui->AddMenuItem(""); + gui->AddMenuItem("Quit", QuitEmulator, SDLK_q); + gui->CommitItemsToMenu(); + + SetupBlurTable(); // Set up the color TV emulation blur table + running = true; // Set running status... + + InitializeEventList(); // Clear the event list before we use it... + SetCallbackTime(FrameCallback, 16666.66666667); // Set frame to fire at 1/60 s interval + SetCallbackTime(BlinkTimer, 250000); // Set up blinking at 1/4 s intervals + startTicks = SDL_GetTicks(); + + WriteLog("Entering main loop...\n"); + while (running) + { + double timeToNextEvent = GetTimeToNextEvent(); + Execute65C02(&mainCPU, USEC_TO_M6502_CYCLES(timeToNextEvent)); +//We MUST remove a frame's worth of time in order for the CPU to function... !!! FIX !!! +//(Fix so that this is not a requirement!) + mainCPU.clock -= USEC_TO_M6502_CYCLES(timeToNextEvent); + HandleNextEvent(); + } + + if (settings.autoStateSaving) + { + // Save state here... + SaveApple2State(settings.autoStatePath); + } +floppyDrive.SaveImage(); + + SoundDone(); + VideoDone(); + SaveSettings(); + LogDone(); + + return 0; +} + +/* +Apple II keycodes +----------------- + +Key Aln CTL SHF BTH +----------------------- +space $A0 $A0 $A0 $A0 No xlation +RETURN $8D $8D $8D $8D No xlation +0 $B0 $B0 $B0 $B0 Need to screen shift+0 (?) +1! $B1 $B1 $A1 $A1 No xlation +2" $B2 $B2 $A2 $A2 No xlation +3# $B3 $B3 $A3 $A3 No xlation +4$ $B4 $B4 $A4 $A4 No xlation +5% $B5 $B5 $A5 $A5 No xlation +6& $B6 $B6 $A6 $A6 No xlation +7' $B7 $B7 $A7 $A7 No xlation +8( $B8 $B8 $A8 $A8 No xlation +9) $B9 $B9 $A9 $A9 No xlation +:* $BA $BA $AA $AA No xlation +;+ $BB $BB $AB $AB No xlation +,< $AC $AC $BC $BC No xlation +-= $AD $AD $BD $BD No xlation +.> $AE $AE $BE $BE No xlation +/? $AF $AF $BF $BF No xlation +A $C1 $81 $C1 $81 +B $C2 $82 $C2 $82 +C $C3 $83 $C3 $83 +D $C4 $84 $C4 $84 +E $C5 $85 $C5 $85 +F $C6 $86 $C6 $86 +G $C7 $87 $C7 $87 +H $C8 $88 $C8 $88 +I $C9 $89 $C9 $89 +J $CA $8A $CA $8A +K $CB $8B $CB $8B +L $CC $8C $CC $8C +M $CD $8D $DD $9D -> ODD +N^ $CE $8E $DE $9E -> ODD +O $CF $8F $CF $8F +P@ $D0 $90 $C0 $80 Need to xlate CTL+SHFT+P & SHFT+P (?) +Q $D1 $91 $D1 $91 +R $D2 $92 $D2 $92 +S $D3 $93 $D3 $93 +T $D4 $94 $D4 $94 +U $D5 $95 $D5 $95 +V $D6 $96 $D6 $96 +W $D7 $97 $D7 $97 +X $D8 $98 $D8 $98 +Y $D9 $99 $D9 $99 +Z $DA $9A $DA $9A +<- $88 $88 $88 $88 +-> $95 $95 $95 $95 +ESC $9B $9B $9B $9B No xlation + +*/ +static void FrameCallback(void) +{ + SDL_Event event; + + while (SDL_PollEvent(&event)) + { + switch (event.type) + { + case SDL_KEYDOWN: + if (event.key.keysym.unicode != 0) + { +//Need to do some key translation here, and screen out non-apple keys as well... + if (event.key.keysym.sym == SDLK_TAB) // Prelim key screening... + break; + + lastKeyPressed = event.key.keysym.unicode; + keyDown = true; + //kludge: should have a caps lock thingy here... + //or all uppercase for ][+... + if (lastKeyPressed >= 'a' && lastKeyPressed <='z') + lastKeyPressed &= 0xDF; // Convert to upper case... + } + + // CTRL+RESET key emulation (mapped to CTRL+`) +// This doesn't work... +// if (event.key.keysym.sym == SDLK_BREAK && (event.key.keysym.mod & KMOD_CTRL)) +// if (event.key.keysym.sym == SDLK_PAUSE && (event.key.keysym.mod & KMOD_CTRL)) + if (event.key.keysym.sym == SDLK_BACKQUOTE && (event.key.keysym.mod & KMOD_CTRL)) +//NOTE that this shouldn't take place until the key is lifted... !!! FIX !!! +//ALSO it seems to leave the machine in an inconsistent state vis-a-vis the language card... + mainCPU.cpuFlags |= V65C02_ASSERT_LINE_RESET; + + if (event.key.keysym.sym == SDLK_RIGHT) + lastKeyPressed = 0x15, keyDown = true; + else if (event.key.keysym.sym == SDLK_LEFT) + lastKeyPressed = 0x08, keyDown = true; + + // Use ALT+Q to exit, as well as the usual window decoration method + if (event.key.keysym.sym == SDLK_q && (event.key.keysym.mod & KMOD_ALT)) + running = false; + + if (event.key.keysym.sym == SDLK_F12) + dumpDis = !dumpDis; // Toggle the disassembly process + else if (event.key.keysym.sym == SDLK_F11) + floppyDrive.LoadImage("./disks/bt1_char.dsk");//Kludge to load char disk... +else if (event.key.keysym.sym == SDLK_F9) +{ + floppyDrive.CreateBlankImage(); +// SpawnMessage("Image cleared..."); +}//*/ +else if (event.key.keysym.sym == SDLK_F10) +{ + floppyDrive.SwapImages(); +// SpawnMessage("Image swapped..."); +}//*/ + + if (event.key.keysym.sym == SDLK_F2)// Toggle the palette + TogglePalette(); + else if (event.key.keysym.sym == SDLK_F3)// Cycle through screen types + CycleScreenTypes(); + +// if (event.key.keysym.sym == SDLK_F5) // Temp GUI launch key + if (event.key.keysym.sym == SDLK_F1) // GUI launch key +//NOTE: Should parse the output to determine whether or not the user requested +// to quit completely... !!! FIX !!! + gui->Run(); + + break; + case SDL_QUIT: + running = false; + } + } + + HandleSoundAtFrameEdge(); // Sound stuff... (ick) + RenderVideoFrame(); + SetCallbackTime(FrameCallback, 16666.66666667); + + while (SDL_GetTicks() - startTicks < 16); // Wait for next frame... + startTicks = SDL_GetTicks(); +} + +static void BlinkTimer(void) +{ + flash = !flash; + SetCallbackTime(BlinkTimer, 250000); // Set up blinking at 1/4 sec intervals +} diff --git a/src/apple2.h b/src/apple2.h index 48d39ff..cff8eed 100755 --- a/src/apple2.h +++ b/src/apple2.h @@ -1,12 +1,12 @@ -// -// Apple 2 SDL Portable Apple Emulator -// - -#include "types.h" - -enum { APPLE_TYPE_II, APPLE_TYPE_IIE, APPLE_TYPE_IIC }; - -// Global variables (exported) - -extern uint8 ram[0x10000], rom[0x10000]; // RAM & ROM pointers -extern uint8 appleType; +// +// Apple 2 SDL Portable Apple Emulator +// + +#include "types.h" + +enum { APPLE_TYPE_II, APPLE_TYPE_IIE, APPLE_TYPE_IIC }; + +// Global variables (exported) + +extern uint8 ram[0x10000], rom[0x10000]; // RAM & ROM pointers +extern uint8 appleType; diff --git a/src/applevideo.cpp b/src/applevideo.cpp index e9bfaa9..2542052 100755 --- a/src/applevideo.cpp +++ b/src/applevideo.cpp @@ -1,715 +1,715 @@ -// -// Apple 2 video support -// -// All the video modes that a real Apple 2 supports are handled here -// -// by James L. Hammons -// (c) 2005 Underground Software -// -// JLH = James L. Hammons -// -// WHO WHEN WHAT -// --- ---------- ------------------------------------------------------------ -// JLH 12/01/2005 Added color TV/monochrome emulation to hi-res code -// JLH 12/09/2005 Cleaned up color TV emulation code -// JLH 12/09/2005 Fixed lo-res color TV/mono emulation modes -// -// STILL TO DO: -// -// - Fix LoRes mode green mono to skip every other scanline instead of fill -// like white mono does -// - Double HiRes -// - 80 column text -// - Fix OSD text display so that it's visible no matter what background is there [DONE] -// - -// Display routines seem MUCH slower now... !!! INVESTIGATE !!! - -#include "applevideo.h" - -#include // for memset() -#include // for va_* stuff -#include // for vsprintf() -#include "apple2.h" -#include "video.h" -#include "charset.h" -#include "font14pt.h" - -/* Reference: Technote tn-iigs-063 "Master Color Values" - - Color Color Register LR HR DHR Master Color R,G,B - Name Value # # # Value - ---------------------------------------------------- - Black 0 0 0,4 0 $0000 (0,0,0) -(Magenta) Deep Red 1 1 1 $0D03 (D,0,3) - Dark Blue 2 2 8 $0009 (0,0,9) - (Violet) Purple 3 3 2 9 $0D2D (D,2,D) - Dark Green 4 4 4 $0072 (0,7,2) - (Gray 1) Dark Gray 5 5 5 $0555 (5,5,5) - (Blue) Medium Blue 6 6 6 C $022F (2,2,F) - (Cyan) Light Blue 7 7 D $06AF (6,A,F) - Brown 8 8 2 $0850 (8,5,0) - Orange 9 9 5 3 $0F60 (F,6,0) - (Gray 2) Light Gray A A A $0AAA (A,A,A) - Pink B B B $0F98 (F,9,8) - (Green) Light Green C C 1 6 $01D0 (1,D,0) - Yellow D D 7 $0FF0 (F,F,0) - (Aqua) Aquamarine E E E $04F9 (4,F,9) - White F F 3,7 F $0FFF (F,F,F) - - LR: Lo-Res HR: Hi-Res DHR: Double Hi-Res */ - -// Global variables - -bool flash; -bool textMode; -bool mixedMode; -bool displayPage2; -bool hiRes; -bool alternateCharset; -//void SpawnMessage(const char * text, ...); - -// Local variables - -// We set up the colors this way so that they'll be endian safe -// when we cast them to a uint32. - -// "Master Color Values" palette - -static uint8 colors[16 * 4] = { - 0x00, 0x00, 0x00, 0xFF, // Black - 0xDD, 0x00, 0x33, 0xFF, // Deep Red (Magenta) - 0x00, 0x00, 0x99, 0xFF, // Dark Blue - 0xDD, 0x22, 0xDD, 0xFF, // Purple (Violet) - 0x00, 0x77, 0x22, 0xFF, // Dark Green - 0x55, 0x55, 0x55, 0xFF, // Dark Gray (Gray 1) - 0x22, 0x22, 0xFF, 0xFF, // Medium Blue (Blue) - 0x66, 0xAA, 0xFF, 0xFF, // Light Blue (Cyan) - 0x88, 0x55, 0x00, 0xFF, // Brown - 0xFF, 0x66, 0x00, 0xFF, // Orange - 0xAA, 0xAA, 0xAA, 0xFF, // Light Gray (Gray 2) - 0xFF, 0x99, 0x88, 0xFF, // Pink - 0x11, 0xDD, 0x00, 0xFF, // Light Green (Green) - 0xFF, 0xFF, 0x00, 0xFF, // Yellow - 0x44, 0xFF, 0x99, 0xFF, // Aquamarine (Aqua) - 0xFF, 0xFF, 0xFF, 0xFF // White -}; - -// This palette comes from ApplePC's colors (more realistic to my eye ;-) - -static uint8 altColors[16 * 4] = { - 0x00, 0x00, 0x00, 0xFF, - 0x7D, 0x20, 0x41, 0xFF, - 0x41, 0x30, 0x7D, 0xFF, - 0xBE, 0x51, 0xBE, 0xFF, - 0x00, 0x5D, 0x3C, 0xFF, - 0x7D, 0x7D, 0x7D, 0xFF, - 0x41, 0x8E, 0xBA, 0xFF, - 0xBE, 0xAE, 0xFB, 0xFF, - 0x3C, 0x4D, 0x00, 0xFF, - 0xBA, 0x6D, 0x41, 0xFF, - 0x7D, 0x7D, 0x7D, 0xFF, - 0xFB, 0x9E, 0xBE, 0xFF, - 0x3C, 0xAA, 0x3C, 0xFF, - 0xBA, 0xCB, 0x7D, 0xFF, - 0x7D, 0xDB, 0xBA, 0xFF, - 0xFB, 0xFB, 0xFB, 0xFF }; - -// Lo-res starting line addresses - -static uint16 lineAddrLoRes[24] = { - 0x0400, 0x0480, 0x0500, 0x0580, 0x0600, 0x0680, 0x0700, 0x0780, - 0x0428, 0x04A8, 0x0528, 0x05A8, 0x0628, 0x06A8, 0x0728, 0x07A8, - 0x0450, 0x04D0, 0x0550, 0x05D0, 0x0650, 0x06D0, 0x0750, 0x07D0 }; - -// Hi-res starting line addresses - -static uint16 lineAddrHiRes[192] = { - 0x2000, 0x2400, 0x2800, 0x2C00, 0x3000, 0x3400, 0x3800, 0x3C00, - 0x2080, 0x2480, 0x2880, 0x2C80, 0x3080, 0x3480, 0x3880, 0x3C80, - 0x2100, 0x2500, 0x2900, 0x2D00, 0x3100, 0x3500, 0x3900, 0x3D00, - 0x2180, 0x2580, 0x2980, 0x2D80, 0x3180, 0x3580, 0x3980, 0x3D80, - - 0x2200, 0x2600, 0x2A00, 0x2E00, 0x3200, 0x3600, 0x3A00, 0x3E00, - 0x2280, 0x2680, 0x2A80, 0x2E80, 0x3280, 0x3680, 0x3A80, 0x3E80, - 0x2300, 0x2700, 0x2B00, 0x2F00, 0x3300, 0x3700, 0x3B00, 0x3F00, - 0x2380, 0x2780, 0x2B80, 0x2F80, 0x3380, 0x3780, 0x3B80, 0x3F80, - - 0x2028, 0x2428, 0x2828, 0x2C28, 0x3028, 0x3428, 0x3828, 0x3C28, - 0x20A8, 0x24A8, 0x28A8, 0x2CA8, 0x30A8, 0x34A8, 0x38A8, 0x3CA8, - 0x2128, 0x2528, 0x2928, 0x2D28, 0x3128, 0x3528, 0x3928, 0x3D28, - 0x21A8, 0x25A8, 0x29A8, 0x2DA8, 0x31A8, 0x35A8, 0x39A8, 0x3DA8, - - 0x2228, 0x2628, 0x2A28, 0x2E28, 0x3228, 0x3628, 0x3A28, 0x3E28, - 0x22A8, 0x26A8, 0x2AA8, 0x2EA8, 0x32A8, 0x36A8, 0x3AA8, 0x3EA8, - 0x2328, 0x2728, 0x2B28, 0x2F28, 0x3328, 0x3728, 0x3B28, 0x3F28, - 0x23A8, 0x27A8, 0x2BA8, 0x2FA8, 0x33A8, 0x37A8, 0x3BA8, 0x3FA8, - - 0x2050, 0x2450, 0x2850, 0x2C50, 0x3050, 0x3450, 0x3850, 0x3C50, - 0x20D0, 0x24D0, 0x28D0, 0x2CD0, 0x30D0, 0x34D0, 0x38D0, 0x3CD0, - 0x2150, 0x2550, 0x2950, 0x2D50, 0x3150, 0x3550, 0x3950, 0x3D50, - 0x21D0, 0x25D0, 0x29D0, 0x2DD0, 0x31D0, 0x35D0, 0x39D0, 0x3DD0, - - 0x2250, 0x2650, 0x2A50, 0x2E50, 0x3250, 0x3650, 0x3A50, 0x3E50, - 0x22D0, 0x26D0, 0x2AD0, 0x2ED0, 0x32D0, 0x36D0, 0x3AD0, 0x3ED0, - 0x2350, 0x2750, 0x2B50, 0x2F50, 0x3350, 0x3750, 0x3B50, 0x3F50, - 0x23D0, 0x27D0, 0x2BD0, 0x2FD0, 0x33D0, 0x37D0, 0x3BD0, 0x3FD0 }; - -uint16 appleHiresToMono[0x200] = { - 0x0000, 0x3000, 0x0C00, 0x3C00, 0x0300, 0x3300, 0x0F00, 0x3F00, - 0x00C0, 0x30C0, 0x0CC0, 0x3CC0, 0x03C0, 0x33C0, 0x0FC0, 0x3FC0, // $0x - 0x0030, 0x3030, 0x0C30, 0x3C30, 0x0330, 0x3330, 0x0F30, 0x3F30, - 0x00F0, 0x30F0, 0x0CF0, 0x3CF0, 0x03F0, 0x33F0, 0x0FF0, 0x3FF0, // $1x - 0x000C, 0x300C, 0x0C0C, 0x3C0C, 0x030C, 0x330C, 0x0F0C, 0x3F0C, - 0x00CC, 0x30CC, 0x0CCC, 0x3CCC, 0x03CC, 0x33CC, 0x0FCC, 0x3FCC, // $2x - 0x003C, 0x303C, 0x0C3C, 0x3C3C, 0x033C, 0x333C, 0x0F3C, 0x3F3C, - 0x00FC, 0x30FC, 0x0CFC, 0x3CFC, 0x03FC, 0x33FC, 0x0FFC, 0x3FFC, // $3x - 0x0003, 0x3003, 0x0C03, 0x3C03, 0x0303, 0x3303, 0x0F03, 0x3F03, - 0x00C3, 0x30C3, 0x0CC3, 0x3CC3, 0x03C3, 0x33C3, 0x0FC3, 0x3FC3, // $4x - 0x0033, 0x3033, 0x0C33, 0x3C33, 0x0333, 0x3333, 0x0F33, 0x3F33, - 0x00F3, 0x30F3, 0x0CF3, 0x3CF3, 0x03F3, 0x33F3, 0x0FF3, 0x3FF3, // $5x - 0x000F, 0x300F, 0x0C0F, 0x3C0F, 0x030F, 0x330F, 0x0F0F, 0x3F0F, - 0x00CF, 0x30CF, 0x0CCF, 0x3CCF, 0x03CF, 0x33CF, 0x0FCF, 0x3FCF, // $6x - 0x003F, 0x303F, 0x0C3F, 0x3C3F, 0x033F, 0x333F, 0x0F3F, 0x3F3F, - 0x00FF, 0x30FF, 0x0CFF, 0x3CFF, 0x03FF, 0x33FF, 0x0FFF, 0x3FFF, // $7x - 0x0000, 0x1800, 0x0600, 0x1E00, 0x0180, 0x1980, 0x0780, 0x1F80, - 0x0060, 0x1860, 0x0660, 0x1E60, 0x01E0, 0x19E0, 0x07E0, 0x1FE0, // $8x - 0x0018, 0x1818, 0x0618, 0x1E18, 0x0198, 0x1998, 0x0798, 0x1F98, - 0x0078, 0x1878, 0x0678, 0x1E78, 0x01F8, 0x19F8, 0x07F8, 0x1FF8, // $9x - 0x0006, 0x1806, 0x0606, 0x1E06, 0x0186, 0x1986, 0x0786, 0x1F86, - 0x0066, 0x1866, 0x0666, 0x1E66, 0x01E6, 0x19E6, 0x07E6, 0x1FE6, // $Ax - 0x001E, 0x181E, 0x061E, 0x1E1E, 0x019E, 0x199E, 0x079E, 0x1F9E, - 0x007E, 0x187E, 0x067E, 0x1E7E, 0x01FE, 0x19FE, 0x07FE, 0x1FFE, // $Bx - 0x0001, 0x1801, 0x0601, 0x1E01, 0x0181, 0x1981, 0x0781, 0x1F81, - 0x0061, 0x1861, 0x0661, 0x1E61, 0x01E1, 0x19E1, 0x07E1, 0x1FE1, // $Cx - 0x0019, 0x1819, 0x0619, 0x1E19, 0x0199, 0x1999, 0x0799, 0x1F99, - 0x0079, 0x1879, 0x0679, 0x1E79, 0x01F9, 0x19F9, 0x07F9, 0x1FF9, // $Dx - 0x0007, 0x1807, 0x0607, 0x1E07, 0x0187, 0x1987, 0x0787, 0x1F87, - 0x0067, 0x1867, 0x0667, 0x1E67, 0x01E7, 0x19E7, 0x07E7, 0x1FE7, // $Ex - 0x001F, 0x181F, 0x061F, 0x1E1F, 0x019F, 0x199F, 0x079F, 0x1F9F, - 0x007F, 0x187F, 0x067F, 0x1E7F, 0x01FF, 0x19FF, 0x07FF, 0x1FFF, // $Fx - - // Second half adds in the previous byte's lo pixel - - 0x0000, 0x3000, 0x0C00, 0x3C00, 0x0300, 0x3300, 0x0F00, 0x3F00, - 0x00C0, 0x30C0, 0x0CC0, 0x3CC0, 0x03C0, 0x33C0, 0x0FC0, 0x3FC0, // $0x - 0x0030, 0x3030, 0x0C30, 0x3C30, 0x0330, 0x3330, 0x0F30, 0x3F30, - 0x00F0, 0x30F0, 0x0CF0, 0x3CF0, 0x03F0, 0x33F0, 0x0FF0, 0x3FF0, // $1x - 0x000C, 0x300C, 0x0C0C, 0x3C0C, 0x030C, 0x330C, 0x0F0C, 0x3F0C, - 0x00CC, 0x30CC, 0x0CCC, 0x3CCC, 0x03CC, 0x33CC, 0x0FCC, 0x3FCC, // $2x - 0x003C, 0x303C, 0x0C3C, 0x3C3C, 0x033C, 0x333C, 0x0F3C, 0x3F3C, - 0x00FC, 0x30FC, 0x0CFC, 0x3CFC, 0x03FC, 0x33FC, 0x0FFC, 0x3FFC, // $3x - 0x0003, 0x3003, 0x0C03, 0x3C03, 0x0303, 0x3303, 0x0F03, 0x3F03, - 0x00C3, 0x30C3, 0x0CC3, 0x3CC3, 0x03C3, 0x33C3, 0x0FC3, 0x3FC3, // $4x - 0x0033, 0x3033, 0x0C33, 0x3C33, 0x0333, 0x3333, 0x0F33, 0x3F33, - 0x00F3, 0x30F3, 0x0CF3, 0x3CF3, 0x03F3, 0x33F3, 0x0FF3, 0x3FF3, // $5x - 0x000F, 0x300F, 0x0C0F, 0x3C0F, 0x030F, 0x330F, 0x0F0F, 0x3F0F, - 0x00CF, 0x30CF, 0x0CCF, 0x3CCF, 0x03CF, 0x33CF, 0x0FCF, 0x3FCF, // $6x - 0x003F, 0x303F, 0x0C3F, 0x3C3F, 0x033F, 0x333F, 0x0F3F, 0x3F3F, - 0x00FF, 0x30FF, 0x0CFF, 0x3CFF, 0x03FF, 0x33FF, 0x0FFF, 0x3FFF, // $7x - 0x2000, 0x3800, 0x2600, 0x3E00, 0x2180, 0x3980, 0x2780, 0x3F80, - 0x2060, 0x3860, 0x2660, 0x3E60, 0x21E0, 0x39E0, 0x27E0, 0x3FE0, // $8x - 0x2018, 0x3818, 0x2618, 0x3E18, 0x2198, 0x3998, 0x2798, 0x3F98, - 0x2078, 0x3878, 0x2678, 0x3E78, 0x21F8, 0x39F8, 0x27F8, 0x3FF8, // $9x - 0x2006, 0x3806, 0x2606, 0x3E06, 0x2186, 0x3986, 0x2786, 0x3F86, - 0x2066, 0x3866, 0x2666, 0x3E66, 0x21E6, 0x39E6, 0x27E6, 0x3FE6, // $Ax - 0x201E, 0x381E, 0x261E, 0x3E1E, 0x219E, 0x399E, 0x279E, 0x3F9E, - 0x207E, 0x387E, 0x267E, 0x3E7E, 0x21FE, 0x39FE, 0x27FE, 0x3FFE, // $Bx - 0x2001, 0x3801, 0x2601, 0x3E01, 0x2181, 0x3981, 0x2781, 0x3F81, - 0x2061, 0x3861, 0x2661, 0x3E61, 0x21E1, 0x39E1, 0x27E1, 0x3FE1, // $Cx - 0x2019, 0x3819, 0x2619, 0x3E19, 0x2199, 0x3999, 0x2799, 0x3F99, - 0x2079, 0x3879, 0x2679, 0x3E79, 0x21F9, 0x39F9, 0x27F9, 0x3FF9, // $Dx - 0x2007, 0x3807, 0x2607, 0x3E07, 0x2187, 0x3987, 0x2787, 0x3F87, - 0x2067, 0x3867, 0x2667, 0x3E67, 0x21E7, 0x39E7, 0x27E7, 0x3FE7, // $Ex - 0x201F, 0x381F, 0x261F, 0x3E1F, 0x219F, 0x399F, 0x279F, 0x3F9F, - 0x207F, 0x387F, 0x267F, 0x3E7F, 0x21FF, 0x39FF, 0x27FF, 0x3FFF // $Fx -}; - -static uint8 blurTable[0x800][8]; // Color TV blur table -static uint32 * palette = (uint32 *)altColors; -enum { ST_FIRST_ENTRY = 0, ST_COLOR_TV = 0, ST_WHITE_MONO, ST_GREEN_MONO, ST_LAST_ENTRY }; -static uint8 screenType = ST_COLOR_TV; - -// Local functions - -static void Render40ColumnTextLine(uint8 line); -static void Render40ColumnText(void); -static void RenderLoRes(uint16 toLine = 24); -static void RenderHiRes(uint16 toLine = 192); - - -void SetupBlurTable(void) -{ - // NOTE: This table only needs to be 7 bits wide instead of 11, since the - // last four bits are copies of the previous four... - - for(uint16 bitPat=0; bitPat<0x800; bitPat++) - { - uint16 w3 = bitPat & 0x888; - uint16 w2 = bitPat & 0x444; - uint16 w1 = bitPat & 0x222; - uint16 w0 = bitPat & 0x111; - - uint16 blurred3 = (w3 | (w3 >> 1) | (w3 >> 2) | (w3 >> 3)) & 0x00FF; - uint16 blurred2 = (w2 | (w2 >> 1) | (w2 >> 2) | (w2 >> 3)) & 0x00FF; - uint16 blurred1 = (w1 | (w1 >> 1) | (w1 >> 2) | (w1 >> 3)) & 0x00FF; - uint16 blurred0 = (w0 | (w0 >> 1) | (w0 >> 2) | (w0 >> 3)) & 0x00FF; - - for(int8 i=7; i>=0; i--) - { - uint8 color = (((blurred0 >> i) & 0x01) << 3) - | (((blurred1 >> i) & 0x01) << 2) - | (((blurred2 >> i) & 0x01) << 1) - | ((blurred3 >> i) & 0x01); - blurTable[bitPat][7 - i] = color; - } - } -} - -void TogglePalette(void) -{ - if (palette == (uint32 *)colors) - { - palette = (uint32 *)altColors; - SpawnMessage("Color TV palette"); - } - else - { - palette = (uint32 *)colors; - SpawnMessage("\"Master Color Values\" palette"); - } -} - -void CycleScreenTypes(void) -{ - char scrTypeStr[3][40] = { "Color TV", "White monochrome", "Green monochrome" }; - - screenType++; - - if (screenType == ST_LAST_ENTRY) - screenType = ST_FIRST_ENTRY; - - SpawnMessage("%s", scrTypeStr[screenType]); -} - -static uint32 msgTicks = 0; -static char message[4096]; - -void SpawnMessage(const char * text, ...) -{ - va_list arg; - - va_start(arg, text); - vsprintf(message, text, arg); - va_end(arg); - - msgTicks = 120; -} - -static void DrawString2(uint32 x, uint32 y, uint32 color); -static void DrawString(void) -{ -//This approach works, and seems to be fast enough... Though it probably would -//be better to make the oversized font to match this one... - for(uint32 x=7; x<=9; x++) - for(uint32 y=7; y<=9; y++) - DrawString2(x, y, 0x00000000); - - DrawString2(8, 8, 0x0020FF20); -} - -static void DrawString2(uint32 x, uint32 y, uint32 color) -{ -//uint32 x = 8, y = 8; - uint32 length = strlen(message), address = x + (y * VIRTUAL_SCREEN_WIDTH); -// uint32 color = 0x0020FF20; -//This could be done ahead of time, instead of on each pixel... -//(Now it is!) - uint8 nBlue = (color >> 16) & 0xFF, nGreen = (color >> 8) & 0xFF, nRed = color & 0xFF; - - for(uint32 i=0; i> 16) & 0xFF, - eGreen = (existingColor >> 8) & 0xFF, - eRed = existingColor & 0xFF; - -//This could be sped up by using a table of 5 + 5 + 5 bits (32 levels transparency -> 32768 entries) -//Here we've modified it to have 33 levels of transparency (could have any # we want!) -//because dividing by 32 is faster than dividing by 31...! - uint8 invTrans = 255 - trans; - - uint32 bRed = (eRed * invTrans + nRed * trans) / 255; - uint32 bGreen = (eGreen * invTrans + nGreen * trans) / 255; - uint32 bBlue = (eBlue * invTrans + nBlue * trans) / 255; - -//THIS IS NOT ENDIAN SAFE - *(scrBuffer + address + xx + (yy * VIRTUAL_SCREEN_WIDTH)) = 0xFF000000 | (bBlue << 16) | (bGreen << 8) | bRed; - } - } - } - - address += FONT_WIDTH; - } -} - -static void Render40ColumnTextLine(uint8 line) -{ - uint32 pixelOn = (screenType == ST_GREEN_MONO ? 0xFF61FF61 : 0xFFFFFFFF); - - for(int x=0; x<40; x++) - { - uint8 chr = ram[lineAddrLoRes[line] + (displayPage2 ? 0x0400 : 0x0000) + x]; - - // Render character at (x, y) - - for(int cy=0; cy<8; cy++) - { - for(int cx=0; cx<7; cx++) - { - uint32 pixel = 0xFF000000; - - if (!alternateCharset) - { - if (textChar[((chr & 0x3F) * 56) + cx + (cy * 7)]) -// pixel = 0xFFFFFFFF; - pixel = pixelOn; - - if (chr < 0x80) - pixel = pixel ^ (screenType == ST_GREEN_MONO ? 0x0061FF61 : 0x00FFFFFF); - - if ((chr & 0xC0) == 0x40 && flash) - pixel = 0xFF000000; - } - else - { - if (textChar2e[(chr * 56) + cx + (cy * 7)]) -// pixel = 0xFFFFFFFF; - pixel = pixelOn; - } - -// scrBuffer[(x * 7 * 2) + (line * VIRTUAL_SCREEN_WIDTH * 8) + (cx * 2) + 0 + (cy * VIRTUAL_SCREEN_WIDTH)] = pixel; -// scrBuffer[(x * 7 * 2) + (line * VIRTUAL_SCREEN_WIDTH * 8) + (cx * 2) + 1 + (cy * VIRTUAL_SCREEN_WIDTH)] = pixel; - scrBuffer[(x * 7 * 2) + (line * VIRTUAL_SCREEN_WIDTH * 8 * 2) + (cx * 2) + 0 + (cy * VIRTUAL_SCREEN_WIDTH * 2)] = pixel; - scrBuffer[(x * 7 * 2) + (line * VIRTUAL_SCREEN_WIDTH * 8 * 2) + (cx * 2) + 1 + (cy * VIRTUAL_SCREEN_WIDTH * 2)] = pixel; - - if (screenType == ST_GREEN_MONO) - pixel = 0xFF000000; - - { - scrBuffer[(x * 7 * 2) + (line * VIRTUAL_SCREEN_WIDTH * 8 * 2) + (cx * 2) + 0 + (((cy * 2) + 1) * VIRTUAL_SCREEN_WIDTH)] = pixel; - scrBuffer[(x * 7 * 2) + (line * VIRTUAL_SCREEN_WIDTH * 8 * 2) + (cx * 2) + 1 + (((cy * 2) + 1) * VIRTUAL_SCREEN_WIDTH)] = pixel; - } - } - } - } -} - -static void Render40ColumnText(void) -{ - for(uint8 line=0; line<24; line++) - Render40ColumnTextLine(line); -} - -static void RenderLoRes(uint16 toLine/*= 24*/) -{ -// NOTE: The green mono rendering doesn't skip every other line... !!! FIX !!! -/* -Note that these colors correspond to the bit patterns generated by the numbers 0-F in order: -Color #s correspond to the bit patterns in reverse... Interesting! - -00 00 00 -> 0 [0000] -> 0 (lores color #) -3c 4d 00 -> 8 [0001] -> 8? BROWN -00 5d 3c -> 4 [0010] -> 4? DARK GREEN -3c aa 3c -> 12 [0011] -> 12? LIGHT GREEN (GREEN) -41 30 7d -> 2 [0100] -> 2? DARK BLUE -7d 7d 7d -> 10 [0101] -> 10? LIGHT GRAY -41 8e ba -> 6 [0110] -> 6? MEDIUM BLUE (BLUE) -7d db ba -> 14 [0111] -> 14? AQUAMARINE (AQUA) -7d 20 41 -> 1 [1000] -> 1? DEEP RED (MAGENTA) -ba 6d 41 -> 9 [1001] -> 9? ORANGE -7d 7d 7d -> 5 [1010] -> 5? DARK GRAY -ba cb 7d -> 13 [1011] -> 13? YELLOW -be 51 be -> 3 [1100] -> 3 PURPLE (VIOLET) -fb 9e be -> 11 [1101] -> 11? PINK -be ae fb -> 7 [1110] -> 7? LIGHT BLUE (CYAN) -fb fb fb -> 15 [1111] -> 15 WHITE -*/ - uint8 mirrorNybble[16] = { 0, 8, 4, 12, 2, 10, 6, 14, 1, 9, 5, 13, 3, 11, 7, 15 }; - -//This is the old "perfect monitor" rendering code... -/* if (screenType != ST_COLOR_TV) // Not correct, but for now... -//if (1) - { - for(uint16 y=0; y> 4]; - - for(int cy=4; cy<8; cy++) - for(int cx=0; cx<14; cx++) - scrBuffer[(x * 14) + (y * VIRTUAL_SCREEN_WIDTH * 8) + cx + (cy * VIRTUAL_SCREEN_WIDTH)] = pixel; - } - } - } - else//*/ - - uint32 pixelOn = (screenType == ST_WHITE_MONO ? 0xFFFFFFFF : 0xFF61FF61); - - for(uint16 y=0; y> 20; - pixels <<= 4; - - for(uint8 j=0; j<4; j++) - { - uint8 color = blurTable[bitPat][j]; - - for(uint32 cy=0; cy<8; cy++) - { - scrBuffer[((x * 14) + (i * 4) + j) + (((y * 16) + cy) * VIRTUAL_SCREEN_WIDTH)] = palette[color]; -// scrBuffer[((x * 14) + (i * 4) + j) + (((y * 16) + cy) * VIRTUAL_SCREEN_WIDTH)] = palette[color]; - } - } - } - - previous3Bits = pixels & 0x70000000; - } - else - { - for(int j=0; j<28; j++) - { - for(uint32 cy=0; cy<8; cy++) - { - scrBuffer[((x * 14) + j) + (((y * 16) + cy) * VIRTUAL_SCREEN_WIDTH)] = (pixels & 0x08000000 ? pixelOn : 0xFF000000); -// scrBuffer[((x * 14) + j) + (((y * 16) + cy) * VIRTUAL_SCREEN_WIDTH)] = (pixels & 0x08000000 ? pixelOn : 0xFF000000); - } - - pixels <<= 1; - } - } - } - - // Now do bottom half... - - previous3Bits = 0; - - for(uint16 x=0; x<40; x+=2) - { - uint8 scrByte1 = ram[lineAddrLoRes[y] + (displayPage2 ? 0x0400 : 0x0000) + x + 0] >> 4; - uint8 scrByte2 = ram[lineAddrLoRes[y] + (displayPage2 ? 0x0400 : 0x0000) + x + 1] >> 4; - scrByte1 = mirrorNybble[scrByte1]; - scrByte2 = mirrorNybble[scrByte2]; - // This is just a guess, but it'll have to do for now... - uint32 pixels = previous3Bits | (scrByte1 << 24) | (scrByte1 << 20) | (scrByte1 << 16) - | ((scrByte1 & 0x0C) << 12) | ((scrByte2 & 0x03) << 12) - | (scrByte2 << 8) | (scrByte2 << 4) | scrByte2; - - // We now have 28 pixels (expanded from 14) in word: mask is $0F FF FF FF - // 0ppp 1111 1111 1111 11|11 1111 1111 1111 - // 31 27 23 19 15 11 7 3 0 - - if (screenType == ST_COLOR_TV) - { - for(uint8 i=0; i<7; i++) - { - uint16 bitPat = (pixels & 0x7F000000) >> 20; - pixels <<= 4; - - for(uint8 j=0; j<4; j++) - { - uint8 color = blurTable[bitPat][j]; - - for(uint32 cy=8; cy<16; cy++) - { - scrBuffer[((x * 14) + (i * 4) + j) + (((y * 16) + cy) * VIRTUAL_SCREEN_WIDTH)] = palette[color]; -// scrBuffer[((x * 14) + (i * 4) + j) + (((y * 16) + cy) * VIRTUAL_SCREEN_WIDTH)] = palette[color]; - } - } - } - - previous3Bits = pixels & 0x70000000; - } - else - { - for(int j=0; j<28; j++) - { - for(uint32 cy=8; cy<16; cy++) - { - scrBuffer[((x * 14) + j) + (((y * 16) + cy) * VIRTUAL_SCREEN_WIDTH)] = (pixels & 0x08000000 ? pixelOn : 0xFF000000); -// scrBuffer[((x * 14) + j) + (((y * 16) + cy) * VIRTUAL_SCREEN_WIDTH)] = (pixels & 0x08000000 ? pixelOn : 0xFF000000); - } - - pixels <<= 1; - } - } - } - } -} - -static void RenderHiRes(uint16 toLine/*= 192*/) -{ - uint32 pixelOn = (screenType == ST_WHITE_MONO ? 0xFFFFFFFF : 0xFF61FF61); - - for(uint16 y=0; y> 20; - pixels <<= 4; - - for(uint8 j=0; j<4; j++) - { - uint8 color = blurTable[bitPat][j]; -#if 0 -//This doesn't seem to make things go any faster... -//It's the OpenGL render that's faster... Hmm... - scrBuffer[(x * 14) + (i * 4) + j + (y * VIRTUAL_SCREEN_WIDTH)] = palette[color]; -#else - scrBuffer[(x * 14) + (i * 4) + j + (((y * 2) + 0) * VIRTUAL_SCREEN_WIDTH)] = palette[color]; - scrBuffer[(x * 14) + (i * 4) + j + (((y * 2) + 1) * VIRTUAL_SCREEN_WIDTH)] = palette[color]; -#endif - } - } - - previous3bits = pixels & 0x70000000; - } - else - { - for(int j=0; j<28; j++) - { - scrBuffer[(x * 14) + j + (((y * 2) + 0) * VIRTUAL_SCREEN_WIDTH)] = (pixels & 0x08000000 ? pixelOn : 0xFF000000); - - if (screenType == ST_GREEN_MONO) - pixels &= 0x07FFFFFF; - - scrBuffer[(x * 14) + j + (((y * 2) + 1) * VIRTUAL_SCREEN_WIDTH)] = (pixels & 0x08000000 ? pixelOn : 0xFF000000); - pixels <<= 1; - } - } - } - } -} - -void RenderVideoFrame(void) -{ -//temp... -/*RenderLoRes(); -RenderScreenBuffer(); -return;//*/ - - if (textMode) - { - // There's prolly more to it than this (like 80 column text), but this'll have to do for now... - Render40ColumnText(); - } - else - { - if (mixedMode) - { - if (hiRes) - { - RenderHiRes(160); - Render40ColumnTextLine(20); - Render40ColumnTextLine(21); - Render40ColumnTextLine(22); - Render40ColumnTextLine(23); - } - else - { - RenderLoRes(20); - Render40ColumnTextLine(20); - Render40ColumnTextLine(21); - Render40ColumnTextLine(22); - Render40ColumnTextLine(23); - } - } - else - { - if (hiRes) - RenderHiRes(); - else - RenderLoRes(); - } - } - - if (msgTicks) - { - DrawString(); - msgTicks--; - } - - RenderScreenBuffer(); -} +// +// Apple 2 video support +// +// All the video modes that a real Apple 2 supports are handled here +// +// by James L. Hammons +// (c) 2005 Underground Software +// +// JLH = James L. Hammons +// +// WHO WHEN WHAT +// --- ---------- ------------------------------------------------------------ +// JLH 12/01/2005 Added color TV/monochrome emulation to hi-res code +// JLH 12/09/2005 Cleaned up color TV emulation code +// JLH 12/09/2005 Fixed lo-res color TV/mono emulation modes +// +// STILL TO DO: +// +// - Fix LoRes mode green mono to skip every other scanline instead of fill +// like white mono does +// - Double HiRes +// - 80 column text +// - Fix OSD text display so that it's visible no matter what background is there [DONE] +// + +// Display routines seem MUCH slower now... !!! INVESTIGATE !!! + +#include "applevideo.h" + +#include // for memset() +#include // for va_* stuff +#include // for vsprintf() +#include "apple2.h" +#include "video.h" +#include "charset.h" +#include "font14pt.h" + +/* Reference: Technote tn-iigs-063 "Master Color Values" + + Color Color Register LR HR DHR Master Color R,G,B + Name Value # # # Value + ---------------------------------------------------- + Black 0 0 0,4 0 $0000 (0,0,0) +(Magenta) Deep Red 1 1 1 $0D03 (D,0,3) + Dark Blue 2 2 8 $0009 (0,0,9) + (Violet) Purple 3 3 2 9 $0D2D (D,2,D) + Dark Green 4 4 4 $0072 (0,7,2) + (Gray 1) Dark Gray 5 5 5 $0555 (5,5,5) + (Blue) Medium Blue 6 6 6 C $022F (2,2,F) + (Cyan) Light Blue 7 7 D $06AF (6,A,F) + Brown 8 8 2 $0850 (8,5,0) + Orange 9 9 5 3 $0F60 (F,6,0) + (Gray 2) Light Gray A A A $0AAA (A,A,A) + Pink B B B $0F98 (F,9,8) + (Green) Light Green C C 1 6 $01D0 (1,D,0) + Yellow D D 7 $0FF0 (F,F,0) + (Aqua) Aquamarine E E E $04F9 (4,F,9) + White F F 3,7 F $0FFF (F,F,F) + + LR: Lo-Res HR: Hi-Res DHR: Double Hi-Res */ + +// Global variables + +bool flash; +bool textMode; +bool mixedMode; +bool displayPage2; +bool hiRes; +bool alternateCharset; +//void SpawnMessage(const char * text, ...); + +// Local variables + +// We set up the colors this way so that they'll be endian safe +// when we cast them to a uint32. + +// "Master Color Values" palette + +static uint8 colors[16 * 4] = { + 0x00, 0x00, 0x00, 0xFF, // Black + 0xDD, 0x00, 0x33, 0xFF, // Deep Red (Magenta) + 0x00, 0x00, 0x99, 0xFF, // Dark Blue + 0xDD, 0x22, 0xDD, 0xFF, // Purple (Violet) + 0x00, 0x77, 0x22, 0xFF, // Dark Green + 0x55, 0x55, 0x55, 0xFF, // Dark Gray (Gray 1) + 0x22, 0x22, 0xFF, 0xFF, // Medium Blue (Blue) + 0x66, 0xAA, 0xFF, 0xFF, // Light Blue (Cyan) + 0x88, 0x55, 0x00, 0xFF, // Brown + 0xFF, 0x66, 0x00, 0xFF, // Orange + 0xAA, 0xAA, 0xAA, 0xFF, // Light Gray (Gray 2) + 0xFF, 0x99, 0x88, 0xFF, // Pink + 0x11, 0xDD, 0x00, 0xFF, // Light Green (Green) + 0xFF, 0xFF, 0x00, 0xFF, // Yellow + 0x44, 0xFF, 0x99, 0xFF, // Aquamarine (Aqua) + 0xFF, 0xFF, 0xFF, 0xFF // White +}; + +// This palette comes from ApplePC's colors (more realistic to my eye ;-) + +static uint8 altColors[16 * 4] = { + 0x00, 0x00, 0x00, 0xFF, + 0x7D, 0x20, 0x41, 0xFF, + 0x41, 0x30, 0x7D, 0xFF, + 0xBE, 0x51, 0xBE, 0xFF, + 0x00, 0x5D, 0x3C, 0xFF, + 0x7D, 0x7D, 0x7D, 0xFF, + 0x41, 0x8E, 0xBA, 0xFF, + 0xBE, 0xAE, 0xFB, 0xFF, + 0x3C, 0x4D, 0x00, 0xFF, + 0xBA, 0x6D, 0x41, 0xFF, + 0x7D, 0x7D, 0x7D, 0xFF, + 0xFB, 0x9E, 0xBE, 0xFF, + 0x3C, 0xAA, 0x3C, 0xFF, + 0xBA, 0xCB, 0x7D, 0xFF, + 0x7D, 0xDB, 0xBA, 0xFF, + 0xFB, 0xFB, 0xFB, 0xFF }; + +// Lo-res starting line addresses + +static uint16 lineAddrLoRes[24] = { + 0x0400, 0x0480, 0x0500, 0x0580, 0x0600, 0x0680, 0x0700, 0x0780, + 0x0428, 0x04A8, 0x0528, 0x05A8, 0x0628, 0x06A8, 0x0728, 0x07A8, + 0x0450, 0x04D0, 0x0550, 0x05D0, 0x0650, 0x06D0, 0x0750, 0x07D0 }; + +// Hi-res starting line addresses + +static uint16 lineAddrHiRes[192] = { + 0x2000, 0x2400, 0x2800, 0x2C00, 0x3000, 0x3400, 0x3800, 0x3C00, + 0x2080, 0x2480, 0x2880, 0x2C80, 0x3080, 0x3480, 0x3880, 0x3C80, + 0x2100, 0x2500, 0x2900, 0x2D00, 0x3100, 0x3500, 0x3900, 0x3D00, + 0x2180, 0x2580, 0x2980, 0x2D80, 0x3180, 0x3580, 0x3980, 0x3D80, + + 0x2200, 0x2600, 0x2A00, 0x2E00, 0x3200, 0x3600, 0x3A00, 0x3E00, + 0x2280, 0x2680, 0x2A80, 0x2E80, 0x3280, 0x3680, 0x3A80, 0x3E80, + 0x2300, 0x2700, 0x2B00, 0x2F00, 0x3300, 0x3700, 0x3B00, 0x3F00, + 0x2380, 0x2780, 0x2B80, 0x2F80, 0x3380, 0x3780, 0x3B80, 0x3F80, + + 0x2028, 0x2428, 0x2828, 0x2C28, 0x3028, 0x3428, 0x3828, 0x3C28, + 0x20A8, 0x24A8, 0x28A8, 0x2CA8, 0x30A8, 0x34A8, 0x38A8, 0x3CA8, + 0x2128, 0x2528, 0x2928, 0x2D28, 0x3128, 0x3528, 0x3928, 0x3D28, + 0x21A8, 0x25A8, 0x29A8, 0x2DA8, 0x31A8, 0x35A8, 0x39A8, 0x3DA8, + + 0x2228, 0x2628, 0x2A28, 0x2E28, 0x3228, 0x3628, 0x3A28, 0x3E28, + 0x22A8, 0x26A8, 0x2AA8, 0x2EA8, 0x32A8, 0x36A8, 0x3AA8, 0x3EA8, + 0x2328, 0x2728, 0x2B28, 0x2F28, 0x3328, 0x3728, 0x3B28, 0x3F28, + 0x23A8, 0x27A8, 0x2BA8, 0x2FA8, 0x33A8, 0x37A8, 0x3BA8, 0x3FA8, + + 0x2050, 0x2450, 0x2850, 0x2C50, 0x3050, 0x3450, 0x3850, 0x3C50, + 0x20D0, 0x24D0, 0x28D0, 0x2CD0, 0x30D0, 0x34D0, 0x38D0, 0x3CD0, + 0x2150, 0x2550, 0x2950, 0x2D50, 0x3150, 0x3550, 0x3950, 0x3D50, + 0x21D0, 0x25D0, 0x29D0, 0x2DD0, 0x31D0, 0x35D0, 0x39D0, 0x3DD0, + + 0x2250, 0x2650, 0x2A50, 0x2E50, 0x3250, 0x3650, 0x3A50, 0x3E50, + 0x22D0, 0x26D0, 0x2AD0, 0x2ED0, 0x32D0, 0x36D0, 0x3AD0, 0x3ED0, + 0x2350, 0x2750, 0x2B50, 0x2F50, 0x3350, 0x3750, 0x3B50, 0x3F50, + 0x23D0, 0x27D0, 0x2BD0, 0x2FD0, 0x33D0, 0x37D0, 0x3BD0, 0x3FD0 }; + +uint16 appleHiresToMono[0x200] = { + 0x0000, 0x3000, 0x0C00, 0x3C00, 0x0300, 0x3300, 0x0F00, 0x3F00, + 0x00C0, 0x30C0, 0x0CC0, 0x3CC0, 0x03C0, 0x33C0, 0x0FC0, 0x3FC0, // $0x + 0x0030, 0x3030, 0x0C30, 0x3C30, 0x0330, 0x3330, 0x0F30, 0x3F30, + 0x00F0, 0x30F0, 0x0CF0, 0x3CF0, 0x03F0, 0x33F0, 0x0FF0, 0x3FF0, // $1x + 0x000C, 0x300C, 0x0C0C, 0x3C0C, 0x030C, 0x330C, 0x0F0C, 0x3F0C, + 0x00CC, 0x30CC, 0x0CCC, 0x3CCC, 0x03CC, 0x33CC, 0x0FCC, 0x3FCC, // $2x + 0x003C, 0x303C, 0x0C3C, 0x3C3C, 0x033C, 0x333C, 0x0F3C, 0x3F3C, + 0x00FC, 0x30FC, 0x0CFC, 0x3CFC, 0x03FC, 0x33FC, 0x0FFC, 0x3FFC, // $3x + 0x0003, 0x3003, 0x0C03, 0x3C03, 0x0303, 0x3303, 0x0F03, 0x3F03, + 0x00C3, 0x30C3, 0x0CC3, 0x3CC3, 0x03C3, 0x33C3, 0x0FC3, 0x3FC3, // $4x + 0x0033, 0x3033, 0x0C33, 0x3C33, 0x0333, 0x3333, 0x0F33, 0x3F33, + 0x00F3, 0x30F3, 0x0CF3, 0x3CF3, 0x03F3, 0x33F3, 0x0FF3, 0x3FF3, // $5x + 0x000F, 0x300F, 0x0C0F, 0x3C0F, 0x030F, 0x330F, 0x0F0F, 0x3F0F, + 0x00CF, 0x30CF, 0x0CCF, 0x3CCF, 0x03CF, 0x33CF, 0x0FCF, 0x3FCF, // $6x + 0x003F, 0x303F, 0x0C3F, 0x3C3F, 0x033F, 0x333F, 0x0F3F, 0x3F3F, + 0x00FF, 0x30FF, 0x0CFF, 0x3CFF, 0x03FF, 0x33FF, 0x0FFF, 0x3FFF, // $7x + 0x0000, 0x1800, 0x0600, 0x1E00, 0x0180, 0x1980, 0x0780, 0x1F80, + 0x0060, 0x1860, 0x0660, 0x1E60, 0x01E0, 0x19E0, 0x07E0, 0x1FE0, // $8x + 0x0018, 0x1818, 0x0618, 0x1E18, 0x0198, 0x1998, 0x0798, 0x1F98, + 0x0078, 0x1878, 0x0678, 0x1E78, 0x01F8, 0x19F8, 0x07F8, 0x1FF8, // $9x + 0x0006, 0x1806, 0x0606, 0x1E06, 0x0186, 0x1986, 0x0786, 0x1F86, + 0x0066, 0x1866, 0x0666, 0x1E66, 0x01E6, 0x19E6, 0x07E6, 0x1FE6, // $Ax + 0x001E, 0x181E, 0x061E, 0x1E1E, 0x019E, 0x199E, 0x079E, 0x1F9E, + 0x007E, 0x187E, 0x067E, 0x1E7E, 0x01FE, 0x19FE, 0x07FE, 0x1FFE, // $Bx + 0x0001, 0x1801, 0x0601, 0x1E01, 0x0181, 0x1981, 0x0781, 0x1F81, + 0x0061, 0x1861, 0x0661, 0x1E61, 0x01E1, 0x19E1, 0x07E1, 0x1FE1, // $Cx + 0x0019, 0x1819, 0x0619, 0x1E19, 0x0199, 0x1999, 0x0799, 0x1F99, + 0x0079, 0x1879, 0x0679, 0x1E79, 0x01F9, 0x19F9, 0x07F9, 0x1FF9, // $Dx + 0x0007, 0x1807, 0x0607, 0x1E07, 0x0187, 0x1987, 0x0787, 0x1F87, + 0x0067, 0x1867, 0x0667, 0x1E67, 0x01E7, 0x19E7, 0x07E7, 0x1FE7, // $Ex + 0x001F, 0x181F, 0x061F, 0x1E1F, 0x019F, 0x199F, 0x079F, 0x1F9F, + 0x007F, 0x187F, 0x067F, 0x1E7F, 0x01FF, 0x19FF, 0x07FF, 0x1FFF, // $Fx + + // Second half adds in the previous byte's lo pixel + + 0x0000, 0x3000, 0x0C00, 0x3C00, 0x0300, 0x3300, 0x0F00, 0x3F00, + 0x00C0, 0x30C0, 0x0CC0, 0x3CC0, 0x03C0, 0x33C0, 0x0FC0, 0x3FC0, // $0x + 0x0030, 0x3030, 0x0C30, 0x3C30, 0x0330, 0x3330, 0x0F30, 0x3F30, + 0x00F0, 0x30F0, 0x0CF0, 0x3CF0, 0x03F0, 0x33F0, 0x0FF0, 0x3FF0, // $1x + 0x000C, 0x300C, 0x0C0C, 0x3C0C, 0x030C, 0x330C, 0x0F0C, 0x3F0C, + 0x00CC, 0x30CC, 0x0CCC, 0x3CCC, 0x03CC, 0x33CC, 0x0FCC, 0x3FCC, // $2x + 0x003C, 0x303C, 0x0C3C, 0x3C3C, 0x033C, 0x333C, 0x0F3C, 0x3F3C, + 0x00FC, 0x30FC, 0x0CFC, 0x3CFC, 0x03FC, 0x33FC, 0x0FFC, 0x3FFC, // $3x + 0x0003, 0x3003, 0x0C03, 0x3C03, 0x0303, 0x3303, 0x0F03, 0x3F03, + 0x00C3, 0x30C3, 0x0CC3, 0x3CC3, 0x03C3, 0x33C3, 0x0FC3, 0x3FC3, // $4x + 0x0033, 0x3033, 0x0C33, 0x3C33, 0x0333, 0x3333, 0x0F33, 0x3F33, + 0x00F3, 0x30F3, 0x0CF3, 0x3CF3, 0x03F3, 0x33F3, 0x0FF3, 0x3FF3, // $5x + 0x000F, 0x300F, 0x0C0F, 0x3C0F, 0x030F, 0x330F, 0x0F0F, 0x3F0F, + 0x00CF, 0x30CF, 0x0CCF, 0x3CCF, 0x03CF, 0x33CF, 0x0FCF, 0x3FCF, // $6x + 0x003F, 0x303F, 0x0C3F, 0x3C3F, 0x033F, 0x333F, 0x0F3F, 0x3F3F, + 0x00FF, 0x30FF, 0x0CFF, 0x3CFF, 0x03FF, 0x33FF, 0x0FFF, 0x3FFF, // $7x + 0x2000, 0x3800, 0x2600, 0x3E00, 0x2180, 0x3980, 0x2780, 0x3F80, + 0x2060, 0x3860, 0x2660, 0x3E60, 0x21E0, 0x39E0, 0x27E0, 0x3FE0, // $8x + 0x2018, 0x3818, 0x2618, 0x3E18, 0x2198, 0x3998, 0x2798, 0x3F98, + 0x2078, 0x3878, 0x2678, 0x3E78, 0x21F8, 0x39F8, 0x27F8, 0x3FF8, // $9x + 0x2006, 0x3806, 0x2606, 0x3E06, 0x2186, 0x3986, 0x2786, 0x3F86, + 0x2066, 0x3866, 0x2666, 0x3E66, 0x21E6, 0x39E6, 0x27E6, 0x3FE6, // $Ax + 0x201E, 0x381E, 0x261E, 0x3E1E, 0x219E, 0x399E, 0x279E, 0x3F9E, + 0x207E, 0x387E, 0x267E, 0x3E7E, 0x21FE, 0x39FE, 0x27FE, 0x3FFE, // $Bx + 0x2001, 0x3801, 0x2601, 0x3E01, 0x2181, 0x3981, 0x2781, 0x3F81, + 0x2061, 0x3861, 0x2661, 0x3E61, 0x21E1, 0x39E1, 0x27E1, 0x3FE1, // $Cx + 0x2019, 0x3819, 0x2619, 0x3E19, 0x2199, 0x3999, 0x2799, 0x3F99, + 0x2079, 0x3879, 0x2679, 0x3E79, 0x21F9, 0x39F9, 0x27F9, 0x3FF9, // $Dx + 0x2007, 0x3807, 0x2607, 0x3E07, 0x2187, 0x3987, 0x2787, 0x3F87, + 0x2067, 0x3867, 0x2667, 0x3E67, 0x21E7, 0x39E7, 0x27E7, 0x3FE7, // $Ex + 0x201F, 0x381F, 0x261F, 0x3E1F, 0x219F, 0x399F, 0x279F, 0x3F9F, + 0x207F, 0x387F, 0x267F, 0x3E7F, 0x21FF, 0x39FF, 0x27FF, 0x3FFF // $Fx +}; + +static uint8 blurTable[0x800][8]; // Color TV blur table +static uint32 * palette = (uint32 *)altColors; +enum { ST_FIRST_ENTRY = 0, ST_COLOR_TV = 0, ST_WHITE_MONO, ST_GREEN_MONO, ST_LAST_ENTRY }; +static uint8 screenType = ST_COLOR_TV; + +// Local functions + +static void Render40ColumnTextLine(uint8 line); +static void Render40ColumnText(void); +static void RenderLoRes(uint16 toLine = 24); +static void RenderHiRes(uint16 toLine = 192); + + +void SetupBlurTable(void) +{ + // NOTE: This table only needs to be 7 bits wide instead of 11, since the + // last four bits are copies of the previous four... + + for(uint16 bitPat=0; bitPat<0x800; bitPat++) + { + uint16 w3 = bitPat & 0x888; + uint16 w2 = bitPat & 0x444; + uint16 w1 = bitPat & 0x222; + uint16 w0 = bitPat & 0x111; + + uint16 blurred3 = (w3 | (w3 >> 1) | (w3 >> 2) | (w3 >> 3)) & 0x00FF; + uint16 blurred2 = (w2 | (w2 >> 1) | (w2 >> 2) | (w2 >> 3)) & 0x00FF; + uint16 blurred1 = (w1 | (w1 >> 1) | (w1 >> 2) | (w1 >> 3)) & 0x00FF; + uint16 blurred0 = (w0 | (w0 >> 1) | (w0 >> 2) | (w0 >> 3)) & 0x00FF; + + for(int8 i=7; i>=0; i--) + { + uint8 color = (((blurred0 >> i) & 0x01) << 3) + | (((blurred1 >> i) & 0x01) << 2) + | (((blurred2 >> i) & 0x01) << 1) + | ((blurred3 >> i) & 0x01); + blurTable[bitPat][7 - i] = color; + } + } +} + +void TogglePalette(void) +{ + if (palette == (uint32 *)colors) + { + palette = (uint32 *)altColors; + SpawnMessage("Color TV palette"); + } + else + { + palette = (uint32 *)colors; + SpawnMessage("\"Master Color Values\" palette"); + } +} + +void CycleScreenTypes(void) +{ + char scrTypeStr[3][40] = { "Color TV", "White monochrome", "Green monochrome" }; + + screenType++; + + if (screenType == ST_LAST_ENTRY) + screenType = ST_FIRST_ENTRY; + + SpawnMessage("%s", scrTypeStr[screenType]); +} + +static uint32 msgTicks = 0; +static char message[4096]; + +void SpawnMessage(const char * text, ...) +{ + va_list arg; + + va_start(arg, text); + vsprintf(message, text, arg); + va_end(arg); + + msgTicks = 120; +} + +static void DrawString2(uint32 x, uint32 y, uint32 color); +static void DrawString(void) +{ +//This approach works, and seems to be fast enough... Though it probably would +//be better to make the oversized font to match this one... + for(uint32 x=7; x<=9; x++) + for(uint32 y=7; y<=9; y++) + DrawString2(x, y, 0x00000000); + + DrawString2(8, 8, 0x0020FF20); +} + +static void DrawString2(uint32 x, uint32 y, uint32 color) +{ +//uint32 x = 8, y = 8; + uint32 length = strlen(message), address = x + (y * VIRTUAL_SCREEN_WIDTH); +// uint32 color = 0x0020FF20; +//This could be done ahead of time, instead of on each pixel... +//(Now it is!) + uint8 nBlue = (color >> 16) & 0xFF, nGreen = (color >> 8) & 0xFF, nRed = color & 0xFF; + + for(uint32 i=0; i> 16) & 0xFF, + eGreen = (existingColor >> 8) & 0xFF, + eRed = existingColor & 0xFF; + +//This could be sped up by using a table of 5 + 5 + 5 bits (32 levels transparency -> 32768 entries) +//Here we've modified it to have 33 levels of transparency (could have any # we want!) +//because dividing by 32 is faster than dividing by 31...! + uint8 invTrans = 255 - trans; + + uint32 bRed = (eRed * invTrans + nRed * trans) / 255; + uint32 bGreen = (eGreen * invTrans + nGreen * trans) / 255; + uint32 bBlue = (eBlue * invTrans + nBlue * trans) / 255; + +//THIS IS NOT ENDIAN SAFE + *(scrBuffer + address + xx + (yy * VIRTUAL_SCREEN_WIDTH)) = 0xFF000000 | (bBlue << 16) | (bGreen << 8) | bRed; + } + } + } + + address += FONT_WIDTH; + } +} + +static void Render40ColumnTextLine(uint8 line) +{ + uint32 pixelOn = (screenType == ST_GREEN_MONO ? 0xFF61FF61 : 0xFFFFFFFF); + + for(int x=0; x<40; x++) + { + uint8 chr = ram[lineAddrLoRes[line] + (displayPage2 ? 0x0400 : 0x0000) + x]; + + // Render character at (x, y) + + for(int cy=0; cy<8; cy++) + { + for(int cx=0; cx<7; cx++) + { + uint32 pixel = 0xFF000000; + + if (!alternateCharset) + { + if (textChar[((chr & 0x3F) * 56) + cx + (cy * 7)]) +// pixel = 0xFFFFFFFF; + pixel = pixelOn; + + if (chr < 0x80) + pixel = pixel ^ (screenType == ST_GREEN_MONO ? 0x0061FF61 : 0x00FFFFFF); + + if ((chr & 0xC0) == 0x40 && flash) + pixel = 0xFF000000; + } + else + { + if (textChar2e[(chr * 56) + cx + (cy * 7)]) +// pixel = 0xFFFFFFFF; + pixel = pixelOn; + } + +// scrBuffer[(x * 7 * 2) + (line * VIRTUAL_SCREEN_WIDTH * 8) + (cx * 2) + 0 + (cy * VIRTUAL_SCREEN_WIDTH)] = pixel; +// scrBuffer[(x * 7 * 2) + (line * VIRTUAL_SCREEN_WIDTH * 8) + (cx * 2) + 1 + (cy * VIRTUAL_SCREEN_WIDTH)] = pixel; + scrBuffer[(x * 7 * 2) + (line * VIRTUAL_SCREEN_WIDTH * 8 * 2) + (cx * 2) + 0 + (cy * VIRTUAL_SCREEN_WIDTH * 2)] = pixel; + scrBuffer[(x * 7 * 2) + (line * VIRTUAL_SCREEN_WIDTH * 8 * 2) + (cx * 2) + 1 + (cy * VIRTUAL_SCREEN_WIDTH * 2)] = pixel; + + if (screenType == ST_GREEN_MONO) + pixel = 0xFF000000; + + { + scrBuffer[(x * 7 * 2) + (line * VIRTUAL_SCREEN_WIDTH * 8 * 2) + (cx * 2) + 0 + (((cy * 2) + 1) * VIRTUAL_SCREEN_WIDTH)] = pixel; + scrBuffer[(x * 7 * 2) + (line * VIRTUAL_SCREEN_WIDTH * 8 * 2) + (cx * 2) + 1 + (((cy * 2) + 1) * VIRTUAL_SCREEN_WIDTH)] = pixel; + } + } + } + } +} + +static void Render40ColumnText(void) +{ + for(uint8 line=0; line<24; line++) + Render40ColumnTextLine(line); +} + +static void RenderLoRes(uint16 toLine/*= 24*/) +{ +// NOTE: The green mono rendering doesn't skip every other line... !!! FIX !!! +/* +Note that these colors correspond to the bit patterns generated by the numbers 0-F in order: +Color #s correspond to the bit patterns in reverse... Interesting! + +00 00 00 -> 0 [0000] -> 0 (lores color #) +3c 4d 00 -> 8 [0001] -> 8? BROWN +00 5d 3c -> 4 [0010] -> 4? DARK GREEN +3c aa 3c -> 12 [0011] -> 12? LIGHT GREEN (GREEN) +41 30 7d -> 2 [0100] -> 2? DARK BLUE +7d 7d 7d -> 10 [0101] -> 10? LIGHT GRAY +41 8e ba -> 6 [0110] -> 6? MEDIUM BLUE (BLUE) +7d db ba -> 14 [0111] -> 14? AQUAMARINE (AQUA) +7d 20 41 -> 1 [1000] -> 1? DEEP RED (MAGENTA) +ba 6d 41 -> 9 [1001] -> 9? ORANGE +7d 7d 7d -> 5 [1010] -> 5? DARK GRAY +ba cb 7d -> 13 [1011] -> 13? YELLOW +be 51 be -> 3 [1100] -> 3 PURPLE (VIOLET) +fb 9e be -> 11 [1101] -> 11? PINK +be ae fb -> 7 [1110] -> 7? LIGHT BLUE (CYAN) +fb fb fb -> 15 [1111] -> 15 WHITE +*/ + uint8 mirrorNybble[16] = { 0, 8, 4, 12, 2, 10, 6, 14, 1, 9, 5, 13, 3, 11, 7, 15 }; + +//This is the old "perfect monitor" rendering code... +/* if (screenType != ST_COLOR_TV) // Not correct, but for now... +//if (1) + { + for(uint16 y=0; y> 4]; + + for(int cy=4; cy<8; cy++) + for(int cx=0; cx<14; cx++) + scrBuffer[(x * 14) + (y * VIRTUAL_SCREEN_WIDTH * 8) + cx + (cy * VIRTUAL_SCREEN_WIDTH)] = pixel; + } + } + } + else//*/ + + uint32 pixelOn = (screenType == ST_WHITE_MONO ? 0xFFFFFFFF : 0xFF61FF61); + + for(uint16 y=0; y> 20; + pixels <<= 4; + + for(uint8 j=0; j<4; j++) + { + uint8 color = blurTable[bitPat][j]; + + for(uint32 cy=0; cy<8; cy++) + { + scrBuffer[((x * 14) + (i * 4) + j) + (((y * 16) + cy) * VIRTUAL_SCREEN_WIDTH)] = palette[color]; +// scrBuffer[((x * 14) + (i * 4) + j) + (((y * 16) + cy) * VIRTUAL_SCREEN_WIDTH)] = palette[color]; + } + } + } + + previous3Bits = pixels & 0x70000000; + } + else + { + for(int j=0; j<28; j++) + { + for(uint32 cy=0; cy<8; cy++) + { + scrBuffer[((x * 14) + j) + (((y * 16) + cy) * VIRTUAL_SCREEN_WIDTH)] = (pixels & 0x08000000 ? pixelOn : 0xFF000000); +// scrBuffer[((x * 14) + j) + (((y * 16) + cy) * VIRTUAL_SCREEN_WIDTH)] = (pixels & 0x08000000 ? pixelOn : 0xFF000000); + } + + pixels <<= 1; + } + } + } + + // Now do bottom half... + + previous3Bits = 0; + + for(uint16 x=0; x<40; x+=2) + { + uint8 scrByte1 = ram[lineAddrLoRes[y] + (displayPage2 ? 0x0400 : 0x0000) + x + 0] >> 4; + uint8 scrByte2 = ram[lineAddrLoRes[y] + (displayPage2 ? 0x0400 : 0x0000) + x + 1] >> 4; + scrByte1 = mirrorNybble[scrByte1]; + scrByte2 = mirrorNybble[scrByte2]; + // This is just a guess, but it'll have to do for now... + uint32 pixels = previous3Bits | (scrByte1 << 24) | (scrByte1 << 20) | (scrByte1 << 16) + | ((scrByte1 & 0x0C) << 12) | ((scrByte2 & 0x03) << 12) + | (scrByte2 << 8) | (scrByte2 << 4) | scrByte2; + + // We now have 28 pixels (expanded from 14) in word: mask is $0F FF FF FF + // 0ppp 1111 1111 1111 11|11 1111 1111 1111 + // 31 27 23 19 15 11 7 3 0 + + if (screenType == ST_COLOR_TV) + { + for(uint8 i=0; i<7; i++) + { + uint16 bitPat = (pixels & 0x7F000000) >> 20; + pixels <<= 4; + + for(uint8 j=0; j<4; j++) + { + uint8 color = blurTable[bitPat][j]; + + for(uint32 cy=8; cy<16; cy++) + { + scrBuffer[((x * 14) + (i * 4) + j) + (((y * 16) + cy) * VIRTUAL_SCREEN_WIDTH)] = palette[color]; +// scrBuffer[((x * 14) + (i * 4) + j) + (((y * 16) + cy) * VIRTUAL_SCREEN_WIDTH)] = palette[color]; + } + } + } + + previous3Bits = pixels & 0x70000000; + } + else + { + for(int j=0; j<28; j++) + { + for(uint32 cy=8; cy<16; cy++) + { + scrBuffer[((x * 14) + j) + (((y * 16) + cy) * VIRTUAL_SCREEN_WIDTH)] = (pixels & 0x08000000 ? pixelOn : 0xFF000000); +// scrBuffer[((x * 14) + j) + (((y * 16) + cy) * VIRTUAL_SCREEN_WIDTH)] = (pixels & 0x08000000 ? pixelOn : 0xFF000000); + } + + pixels <<= 1; + } + } + } + } +} + +static void RenderHiRes(uint16 toLine/*= 192*/) +{ + uint32 pixelOn = (screenType == ST_WHITE_MONO ? 0xFFFFFFFF : 0xFF61FF61); + + for(uint16 y=0; y> 20; + pixels <<= 4; + + for(uint8 j=0; j<4; j++) + { + uint8 color = blurTable[bitPat][j]; +#if 0 +//This doesn't seem to make things go any faster... +//It's the OpenGL render that's faster... Hmm... + scrBuffer[(x * 14) + (i * 4) + j + (y * VIRTUAL_SCREEN_WIDTH)] = palette[color]; +#else + scrBuffer[(x * 14) + (i * 4) + j + (((y * 2) + 0) * VIRTUAL_SCREEN_WIDTH)] = palette[color]; + scrBuffer[(x * 14) + (i * 4) + j + (((y * 2) + 1) * VIRTUAL_SCREEN_WIDTH)] = palette[color]; +#endif + } + } + + previous3bits = pixels & 0x70000000; + } + else + { + for(int j=0; j<28; j++) + { + scrBuffer[(x * 14) + j + (((y * 2) + 0) * VIRTUAL_SCREEN_WIDTH)] = (pixels & 0x08000000 ? pixelOn : 0xFF000000); + + if (screenType == ST_GREEN_MONO) + pixels &= 0x07FFFFFF; + + scrBuffer[(x * 14) + j + (((y * 2) + 1) * VIRTUAL_SCREEN_WIDTH)] = (pixels & 0x08000000 ? pixelOn : 0xFF000000); + pixels <<= 1; + } + } + } + } +} + +void RenderVideoFrame(void) +{ +//temp... +/*RenderLoRes(); +RenderScreenBuffer(); +return;//*/ + + if (textMode) + { + // There's prolly more to it than this (like 80 column text), but this'll have to do for now... + Render40ColumnText(); + } + else + { + if (mixedMode) + { + if (hiRes) + { + RenderHiRes(160); + Render40ColumnTextLine(20); + Render40ColumnTextLine(21); + Render40ColumnTextLine(22); + Render40ColumnTextLine(23); + } + else + { + RenderLoRes(20); + Render40ColumnTextLine(20); + Render40ColumnTextLine(21); + Render40ColumnTextLine(22); + Render40ColumnTextLine(23); + } + } + else + { + if (hiRes) + RenderHiRes(); + else + RenderLoRes(); + } + } + + if (msgTicks) + { + DrawString(); + msgTicks--; + } + + RenderScreenBuffer(); +} diff --git a/src/applevideo.h b/src/applevideo.h index 975dced..fcb2cac 100755 --- a/src/applevideo.h +++ b/src/applevideo.h @@ -1,25 +1,25 @@ -// -// Apple 2 video support -// - -#ifndef __APPLEVIDEO_H__ -#define __APPLEVIDEO_H__ - -// Global variables (exported) - -extern bool flash; -extern bool textMode; -extern bool mixedMode; -extern bool displayPage2; -extern bool hiRes; -extern bool alternateCharset; - -// Functions (exported) - -void SetupBlurTable(void); -void TogglePalette(void); -void CycleScreenTypes(void); -void SpawnMessage(const char * text, ...); -void RenderVideoFrame(void); - -#endif // __APPLEVIDEO_H__ +// +// Apple 2 video support +// + +#ifndef __APPLEVIDEO_H__ +#define __APPLEVIDEO_H__ + +// Global variables (exported) + +extern bool flash; +extern bool textMode; +extern bool mixedMode; +extern bool displayPage2; +extern bool hiRes; +extern bool alternateCharset; + +// Functions (exported) + +void SetupBlurTable(void); +void TogglePalette(void); +void CycleScreenTypes(void); +void SpawnMessage(const char * text, ...); +void RenderVideoFrame(void); + +#endif // __APPLEVIDEO_H__ diff --git a/src/ay8910.cpp b/src/ay8910.cpp index d9e924e..4f8da2f 100755 --- a/src/ay8910.cpp +++ b/src/ay8910.cpp @@ -1,694 +1,694 @@ -/*************************************************************************** - - ay8910.cpp - - Emulation of the AY-3-8910 / YM2149 sound chip. - - Based on various code snippets by Ville Hallik, Michael Cuddy, - Tatsuyuki Satoh, Fabrice Frances, Nicola Salmoria. - -***************************************************************************/ - -// -// From mame.txt (http://www.mame.net/readme.html) -// -// VI. Reuse of Source Code -// -------------------------- -// This chapter might not apply to specific portions of MAME (e.g. CPU -// emulators) which bear different copyright notices. -// The source code cannot be used in a commercial product without the written -// authorization of the authors. Use in non-commercial products is allowed, and -// indeed encouraged. If you use portions of the MAME source code in your -// program, however, you must make the full source code freely available as -// well. -// Usage of the _information_ contained in the source code is free for any use. -// However, given the amount of time and energy it took to collect this -// information, if you find new information we would appreciate if you made it -// freely available as well. -// - -// JLH: Commented out MAME specific crap - -#include // for memset() -#include "ay8910.h" - -#define MAX_OUTPUT 0x7FFF - -// See AY8910_set_clock() for definition of STEP -#define STEP 0x8000 - -struct AY8910 -{ - int Channel; - int SampleRate; -// mem_read_handler PortAread; -// mem_read_handler PortBread; -// mem_write_handler PortAwrite; -// mem_write_handler PortBwrite; - int register_latch; - unsigned char Regs[16]; - int lastEnable; - unsigned int UpdateStep; - int PeriodA,PeriodB,PeriodC,PeriodN,PeriodE; - int CountA,CountB,CountC,CountN,CountE; - unsigned int VolA,VolB,VolC,VolE; - unsigned char EnvelopeA,EnvelopeB,EnvelopeC; - unsigned char OutputA,OutputB,OutputC,OutputN; - signed char CountEnv; - unsigned char Hold,Alternate,Attack,Holding; - int RNG; - unsigned int VolTable[32]; -}; - -/* register id's */ -#define AY_AFINE (0) -#define AY_ACOARSE (1) -#define AY_BFINE (2) -#define AY_BCOARSE (3) -#define AY_CFINE (4) -#define AY_CCOARSE (5) -#define AY_NOISEPER (6) -#define AY_ENABLE (7) -#define AY_AVOL (8) -#define AY_BVOL (9) -#define AY_CVOL (10) -#define AY_EFINE (11) -#define AY_ECOARSE (12) -#define AY_ESHAPE (13) - -#define AY_PORTA (14) -#define AY_PORTB (15) - - -static struct AY8910 AYPSG[MAX_8910]; /* array of PSG's */ - - -void _AYWriteReg(int n, int r, int v) -{ - struct AY8910 *PSG = &AYPSG[n]; - int old; - - PSG->Regs[r] = v; - - /* A note about the period of tones, noise and envelope: for speed reasons, * - * we count down from the period to 0, but careful studies of the chip * - * output prove that it instead counts up from 0 until the counter becomes * - * greater or equal to the period. This is an important difference when the * - * program is rapidly changing the period to modulate the sound. * - * To compensate for the difference, when the period is changed we adjust * - * our internal counter. * - * Also, note that period = 0 is the same as period = 1. This is mentioned * - * in the YM2203 data sheets. However, this does NOT apply to the Envelope * - * period. In that case, period = 0 is half as period = 1. */ - switch (r) - { - case AY_AFINE: - case AY_ACOARSE: - PSG->Regs[AY_ACOARSE] &= 0x0F; - old = PSG->PeriodA; - PSG->PeriodA = (PSG->Regs[AY_AFINE] + 256 * PSG->Regs[AY_ACOARSE]) * PSG->UpdateStep; - - if (PSG->PeriodA == 0) PSG->PeriodA = PSG->UpdateStep; - - PSG->CountA += PSG->PeriodA - old; - - if (PSG->CountA <= 0) PSG->CountA = 1; - break; - case AY_BFINE: - case AY_BCOARSE: - PSG->Regs[AY_BCOARSE] &= 0x0F; - old = PSG->PeriodB; - PSG->PeriodB = (PSG->Regs[AY_BFINE] + 256 * PSG->Regs[AY_BCOARSE]) * PSG->UpdateStep; - - if (PSG->PeriodB == 0) PSG->PeriodB = PSG->UpdateStep; - - PSG->CountB += PSG->PeriodB - old; - - if (PSG->CountB <= 0) PSG->CountB = 1; - break; - case AY_CFINE: - case AY_CCOARSE: - PSG->Regs[AY_CCOARSE] &= 0x0F; - old = PSG->PeriodC; - PSG->PeriodC = (PSG->Regs[AY_CFINE] + 256 * PSG->Regs[AY_CCOARSE]) * PSG->UpdateStep; - - if (PSG->PeriodC == 0) PSG->PeriodC = PSG->UpdateStep; - - PSG->CountC += PSG->PeriodC - old; - - if (PSG->CountC <= 0) PSG->CountC = 1; - break; - case AY_NOISEPER: - PSG->Regs[AY_NOISEPER] &= 0x1F; - old = PSG->PeriodN; - PSG->PeriodN = PSG->Regs[AY_NOISEPER] * PSG->UpdateStep; - - if (PSG->PeriodN == 0) PSG->PeriodN = PSG->UpdateStep; - - PSG->CountN += PSG->PeriodN - old; - - if (PSG->CountN <= 0) PSG->CountN = 1; - break; - case AY_ENABLE: - if ((PSG->lastEnable == -1) || - ((PSG->lastEnable & 0x40) != (PSG->Regs[AY_ENABLE] & 0x40))) - { - /* write out 0xff if port set to input */ -// if (PSG->PortAwrite) -// (*PSG->PortAwrite)(0, (UINT8) ((PSG->Regs[AY_ENABLE] & 0x40) ? PSG->Regs[AY_PORTA] : 0xff)); // [TC: UINT8 cast] - } - - if ((PSG->lastEnable == -1) || - ((PSG->lastEnable & 0x80) != (PSG->Regs[AY_ENABLE] & 0x80))) - { - /* write out 0xff if port set to input */ -// if (PSG->PortBwrite) -// (*PSG->PortBwrite)(0, (UINT8) ((PSG->Regs[AY_ENABLE] & 0x80) ? PSG->Regs[AY_PORTB] : 0xff)); // [TC: UINT8 cast] - } - - PSG->lastEnable = PSG->Regs[AY_ENABLE]; - break; - case AY_AVOL: - PSG->Regs[AY_AVOL] &= 0x1F; - PSG->EnvelopeA = PSG->Regs[AY_AVOL] & 0x10; - PSG->VolA = PSG->EnvelopeA ? PSG->VolE : PSG->VolTable[PSG->Regs[AY_AVOL] ? PSG->Regs[AY_AVOL]*2+1 : 0]; - break; - case AY_BVOL: - PSG->Regs[AY_BVOL] &= 0x1F; - PSG->EnvelopeB = PSG->Regs[AY_BVOL] & 0x10; - PSG->VolB = PSG->EnvelopeB ? PSG->VolE : PSG->VolTable[PSG->Regs[AY_BVOL] ? PSG->Regs[AY_BVOL]*2+1 : 0]; - break; - case AY_CVOL: - PSG->Regs[AY_CVOL] &= 0x1F; - PSG->EnvelopeC = PSG->Regs[AY_CVOL] & 0x10; - PSG->VolC = PSG->EnvelopeC ? PSG->VolE : PSG->VolTable[PSG->Regs[AY_CVOL] ? PSG->Regs[AY_CVOL]*2+1 : 0]; - break; - case AY_EFINE: - case AY_ECOARSE: - old = PSG->PeriodE; - PSG->PeriodE = ((PSG->Regs[AY_EFINE] + 256 * PSG->Regs[AY_ECOARSE])) * PSG->UpdateStep; - - if (PSG->PeriodE == 0) PSG->PeriodE = PSG->UpdateStep / 2; - - PSG->CountE += PSG->PeriodE - old; - - if (PSG->CountE <= 0) PSG->CountE = 1; - break; - case AY_ESHAPE: - /* envelope shapes: - C AtAlH - 0 0 x x \___ - - 0 1 x x /___ - - 1 0 0 0 \\\\ - - 1 0 0 1 \___ - - 1 0 1 0 \/\/ - ___ - 1 0 1 1 \ - - 1 1 0 0 //// - ___ - 1 1 0 1 / - - 1 1 1 0 /\/\ - - 1 1 1 1 /___ - - The envelope counter on the AY-3-8910 has 16 steps. On the YM2149 it - has twice the steps, happening twice as fast. Since the end result is - just a smoother curve, we always use the YM2149 behaviour. - */ - PSG->Regs[AY_ESHAPE] &= 0x0F; - PSG->Attack = (PSG->Regs[AY_ESHAPE] & 0x04) ? 0x1F : 0x00; - - if ((PSG->Regs[AY_ESHAPE] & 0x08) == 0) - { - /* if Continue = 0, map the shape to the equivalent one which has Continue = 1 */ - PSG->Hold = 1; - PSG->Alternate = PSG->Attack; - } - else - { - PSG->Hold = PSG->Regs[AY_ESHAPE] & 0x01; - PSG->Alternate = PSG->Regs[AY_ESHAPE] & 0x02; - } - - PSG->CountE = PSG->PeriodE; - PSG->CountEnv = 0x1F; - PSG->Holding = 0; - PSG->VolE = PSG->VolTable[PSG->CountEnv ^ PSG->Attack]; - - if (PSG->EnvelopeA) PSG->VolA = PSG->VolE; - if (PSG->EnvelopeB) PSG->VolB = PSG->VolE; - if (PSG->EnvelopeC) PSG->VolC = PSG->VolE; - break; - case AY_PORTA: - if (PSG->Regs[AY_ENABLE] & 0x40) - { -// if (PSG->PortAwrite) -// (*PSG->PortAwrite)(0, PSG->Regs[AY_PORTA]); -// else -// logerror("PC %04x: warning - write %02x to 8910 #%d Port A\n",activecpu_get_pc(),PSG->Regs[AY_PORTA],n); - } - else - { -// logerror("warning: write to 8910 #%d Port A set as input - ignored\n",n); - } - break; - case AY_PORTB: - if (PSG->Regs[AY_ENABLE] & 0x80) - { -// if (PSG->PortBwrite) -// (*PSG->PortBwrite)(0, PSG->Regs[AY_PORTB]); -// else -// logerror("PC %04x: warning - write %02x to 8910 #%d Port B\n",activecpu_get_pc(),PSG->Regs[AY_PORTB],n); - } - else - { -// logerror("warning: write to 8910 #%d Port B set as input - ignored\n",n); - } - break; - } -} - - -// /length/ is the number of samples we require -// NB. This should be called at twice the 6522 IRQ rate or (eg) 60Hz if no IRQ. -void AY8910Update(int chip, int16 ** buffer, int length) // [TC: Removed static] -{ - struct AY8910 * PSG = &AYPSG[chip]; - INT16 * buf1, * buf2, * buf3; - int outn; - - buf1 = buffer[0]; - buf2 = buffer[1]; - buf3 = buffer[2]; - - /* The 8910 has three outputs, each output is the mix of one of the three * - * tone generators and of the (single) noise generator. The two are mixed * - * BEFORE going into the DAC. The formula to mix each channel is: * - * (ToneOn | ToneDisable) & (NoiseOn | NoiseDisable). * - * Note that this means that if both tone and noise are disabled, the output * - * is 1, not 0, and can be modulated changing the volume. * - * * - * If the channels are disabled, set their output to 1, and increase the * - * counter, if necessary, so they will not be inverted during this update. * - * Setting the output to 1 is necessary because a disabled channel is locked * - * into the ON state (see above); and it has no effect if the volume is 0. * - * If the volume is 0, increase the counter, but don't touch the output. */ - if (PSG->Regs[AY_ENABLE] & 0x01) - { - if (PSG->CountA <= length * STEP) PSG->CountA += length * STEP; - PSG->OutputA = 1; - } - else if (PSG->Regs[AY_AVOL] == 0) - { - /* note that I do count += length, NOT count = length + 1. You might think * - * it's the same since the volume is 0, but doing the latter could cause * - * interferencies when the program is rapidly modulating the volume. */ - if (PSG->CountA <= length * STEP) PSG->CountA += length * STEP; - } - - if (PSG->Regs[AY_ENABLE] & 0x02) - { - if (PSG->CountB <= length * STEP) PSG->CountB += length * STEP; - PSG->OutputB = 1; - } - else if (PSG->Regs[AY_BVOL] == 0) - { - if (PSG->CountB <= length * STEP) PSG->CountB += length * STEP; - } - - if (PSG->Regs[AY_ENABLE] & 0x04) - { - if (PSG->CountC <= length * STEP) PSG->CountC += length * STEP; - PSG->OutputC = 1; - } - else if (PSG->Regs[AY_CVOL] == 0) - { - if (PSG->CountC <= length * STEP) PSG->CountC += length * STEP; - } - - /* for the noise channel we must not touch OutputN - it's also not necessary * - * since we use outn. */ - if ((PSG->Regs[AY_ENABLE] & 0x38) == 0x38) /* all off */ - if (PSG->CountN <= length * STEP) PSG->CountN += length * STEP; - - outn = (PSG->OutputN | PSG->Regs[AY_ENABLE]); - - /* buffering loop */ - while (length) - { - int vola, volb, volc; - int left; - - /* vola, volb and volc keep track of how long each square wave stays * - * in the 1 position during the sample period. */ - vola = volb = volc = 0; - - left = STEP; - do - { - int nextevent; - - if (PSG->CountN < left) nextevent = PSG->CountN; - else nextevent = left; - - if (outn & 0x08) - { - if (PSG->OutputA) vola += PSG->CountA; - - PSG->CountA -= nextevent; - /* PeriodA is the half period of the square wave. Here, in each * - * loop I add PeriodA twice, so that at the end of the loop the * - * square wave is in the same status (0 or 1) it was at the start. * - * vola is also incremented by PeriodA, since the wave has been 1 * - * exactly half of the time, regardless of the initial position. * - * If we exit the loop in the middle, OutputA has to be inverted * - * and vola incremented only if the exit status of the square * - * wave is 1. */ - while (PSG->CountA <= 0) - { - PSG->CountA += PSG->PeriodA; - - if (PSG->CountA > 0) - { - PSG->OutputA ^= 1; - - if (PSG->OutputA) vola += PSG->PeriodA; - break; - } - - PSG->CountA += PSG->PeriodA; - vola += PSG->PeriodA; - } - - if (PSG->OutputA) vola -= PSG->CountA; - } - else - { - PSG->CountA -= nextevent; - while (PSG->CountA <= 0) - { - PSG->CountA += PSG->PeriodA; - - if (PSG->CountA > 0) - { - PSG->OutputA ^= 1; - break; - } - - PSG->CountA += PSG->PeriodA; - } - } - - if (outn & 0x10) - { - if (PSG->OutputB) volb += PSG->CountB; - - PSG->CountB -= nextevent; - - while (PSG->CountB <= 0) - { - PSG->CountB += PSG->PeriodB; - - if (PSG->CountB > 0) - { - PSG->OutputB ^= 1; - - if (PSG->OutputB) volb += PSG->PeriodB; - break; - } - - PSG->CountB += PSG->PeriodB; - volb += PSG->PeriodB; - } - - if (PSG->OutputB) volb -= PSG->CountB; - } - else - { - PSG->CountB -= nextevent; - - while (PSG->CountB <= 0) - { - PSG->CountB += PSG->PeriodB; - - if (PSG->CountB > 0) - { - PSG->OutputB ^= 1; - break; - } - - PSG->CountB += PSG->PeriodB; - } - } - - if (outn & 0x20) - { - if (PSG->OutputC) volc += PSG->CountC; - - PSG->CountC -= nextevent; - - while (PSG->CountC <= 0) - { - PSG->CountC += PSG->PeriodC; - - if (PSG->CountC > 0) - { - PSG->OutputC ^= 1; - - if (PSG->OutputC) volc += PSG->PeriodC; - break; - } - - PSG->CountC += PSG->PeriodC; - volc += PSG->PeriodC; - } - - if (PSG->OutputC) volc -= PSG->CountC; - } - else - { - PSG->CountC -= nextevent; - - while (PSG->CountC <= 0) - { - PSG->CountC += PSG->PeriodC; - - if (PSG->CountC > 0) - { - PSG->OutputC ^= 1; - break; - } - - PSG->CountC += PSG->PeriodC; - } - } - - PSG->CountN -= nextevent; - - if (PSG->CountN <= 0) - { - /* Is noise output going to change? */ - if ((PSG->RNG + 1) & 0x00002) /* (bit0^bit1)? */ - { - PSG->OutputN = ~PSG->OutputN; - outn = (PSG->OutputN | PSG->Regs[AY_ENABLE]); - } - - /* The Random Number Generator of the 8910 is a 17-bit shift * - * register. The input to the shift register is bit0 XOR bit3 * - * (bit0 is the output). This was verified on AY-3-8910 and * - * YM2149 chips. * - * * - * The following is a fast way to compute bit17 = bit0^bit3. * - * Instead of doing all the logic operations, we only check * - * bit0, relying on the fact that after three shifts of the * - * register, what now is bit3 will become bit0, and will * - * invert, if necessary, bit14, which previously was bit17. */ - if (PSG->RNG & 0x00001) - PSG->RNG ^= 0x24000; /* This version is called the "Galois configuration". */ - - PSG->RNG >>= 1; - PSG->CountN += PSG->PeriodN; - } - - left -= nextevent; - } - while (left > 0); - - /* update envelope */ - if (PSG->Holding == 0) - { - PSG->CountE -= STEP; - - if (PSG->CountE <= 0) - { - do - { - PSG->CountEnv--; - PSG->CountE += PSG->PeriodE; - } - while (PSG->CountE <= 0); - - /* check envelope current position */ - if (PSG->CountEnv < 0) - { - if (PSG->Hold) - { - if (PSG->Alternate) - PSG->Attack ^= 0x1F; - - PSG->Holding = 1; - PSG->CountEnv = 0; - } - else - { - /* if CountEnv has looped an odd number of times (usually 1), * - * invert the output. */ - if (PSG->Alternate && (PSG->CountEnv & 0x20)) - PSG->Attack ^= 0x1F; - - PSG->CountEnv &= 0x1F; - } - } - - PSG->VolE = PSG->VolTable[PSG->CountEnv ^ PSG->Attack]; - /* reload volume */ - if (PSG->EnvelopeA) PSG->VolA = PSG->VolE; - if (PSG->EnvelopeB) PSG->VolB = PSG->VolE; - if (PSG->EnvelopeC) PSG->VolC = PSG->VolE; - } - } - -#if 0 - *(buf1++) = (vola * PSG->VolA) / STEP; - *(buf2++) = (volb * PSG->VolB) / STEP; - *(buf3++) = (volc * PSG->VolC) / STEP; -#else // [Tom's code...] - // Output PCM wave [-32768...32767] instead of MAME's voltage level [0...32767] - // - This allows for better s/w mixing - - if (PSG->VolA) - { - if (vola) - *(buf1++) = (vola * PSG->VolA) / STEP; - else - *(buf1++) = -(int)PSG->VolA; - } - else - *(buf1++) = 0; - - if (PSG->VolB) - { - if (volb) - *(buf2++) = (volb * PSG->VolB) / STEP; - else - *(buf2++) = -(int)PSG->VolB; - } - else - *(buf2++) = 0; - - if (PSG->VolC) - { - if (volc) - *(buf3++) = (volc * PSG->VolC) / STEP; - else - *(buf3++) = -(int)PSG->VolC; - } - else - *(buf3++) = 0; -#endif - length--; - } -} - - -static void AY8910_set_clock(int chip, int clock) -{ - struct AY8910 * PSG = &AYPSG[chip]; - - /* The step clock for the tone and noise generators is the chip clock * - * divided by 8; for the envelope generator of the AY-3-8910, it is half * - * that much (clock/16), but the envelope of the YM2149 goes twice as * - * fast, therefore again clock/8. * - * Here we calculate the number of steps which happen during one sample * - * at the given sample rate. No. of events = sample rate / (clock/8). * - * STEP is a multiplier used to turn the fraction into a fixed point * - * number. */ - PSG->UpdateStep = (unsigned int)(((double)STEP * PSG->SampleRate * 8 + clock / 2) / clock); // [TC: unsigned int cast] -} - - -static void build_mixer_table(int chip) -{ - struct AY8910 * PSG = &AYPSG[chip]; - - /* calculate the volume->voltage conversion table */ - /* The AY-3-8910 has 16 levels, in a logarithmic scale (3dB per step) */ - /* The YM2149 still has 16 levels for the tone generators, but 32 for */ - /* the envelope generator (1.5dB per step). */ - double out = MAX_OUTPUT; - - for(int i=31; i>0; i--) - { - PSG->VolTable[i] = (unsigned int)(out + 0.5); /* round to nearest */ // [TC: unsigned int cast] - out /= 1.188502227; /* = 10 ^ (1.5/20) = 1.5dB */ - } - - PSG->VolTable[0] = 0; -} - - -void AY8910_reset(int chip) -{ - int i; - struct AY8910 * PSG = &AYPSG[chip]; - - PSG->register_latch = 0; - PSG->RNG = 1; - PSG->OutputA = 0; - PSG->OutputB = 0; - PSG->OutputC = 0; - PSG->OutputN = 0xFF; - PSG->lastEnable = -1; /* force a write */ - - for(i=0; iSampleRate = sampleRate; - AY8910_set_clock(chip, clock); - build_mixer_table(chip); - } -} - -void AY8910_InitClock(int clock) -{ - for(int chip=0; chip= MAX_8910) - return NULL; - - return &AYPSG[chipNum].Regs[0]; -} +/*************************************************************************** + + ay8910.cpp + + Emulation of the AY-3-8910 / YM2149 sound chip. + + Based on various code snippets by Ville Hallik, Michael Cuddy, + Tatsuyuki Satoh, Fabrice Frances, Nicola Salmoria. + +***************************************************************************/ + +// +// From mame.txt (http://www.mame.net/readme.html) +// +// VI. Reuse of Source Code +// -------------------------- +// This chapter might not apply to specific portions of MAME (e.g. CPU +// emulators) which bear different copyright notices. +// The source code cannot be used in a commercial product without the written +// authorization of the authors. Use in non-commercial products is allowed, and +// indeed encouraged. If you use portions of the MAME source code in your +// program, however, you must make the full source code freely available as +// well. +// Usage of the _information_ contained in the source code is free for any use. +// However, given the amount of time and energy it took to collect this +// information, if you find new information we would appreciate if you made it +// freely available as well. +// + +// JLH: Commented out MAME specific crap + +#include // for memset() +#include "ay8910.h" + +#define MAX_OUTPUT 0x7FFF + +// See AY8910_set_clock() for definition of STEP +#define STEP 0x8000 + +struct AY8910 +{ + int Channel; + int SampleRate; +// mem_read_handler PortAread; +// mem_read_handler PortBread; +// mem_write_handler PortAwrite; +// mem_write_handler PortBwrite; + int register_latch; + unsigned char Regs[16]; + int lastEnable; + unsigned int UpdateStep; + int PeriodA,PeriodB,PeriodC,PeriodN,PeriodE; + int CountA,CountB,CountC,CountN,CountE; + unsigned int VolA,VolB,VolC,VolE; + unsigned char EnvelopeA,EnvelopeB,EnvelopeC; + unsigned char OutputA,OutputB,OutputC,OutputN; + signed char CountEnv; + unsigned char Hold,Alternate,Attack,Holding; + int RNG; + unsigned int VolTable[32]; +}; + +/* register id's */ +#define AY_AFINE (0) +#define AY_ACOARSE (1) +#define AY_BFINE (2) +#define AY_BCOARSE (3) +#define AY_CFINE (4) +#define AY_CCOARSE (5) +#define AY_NOISEPER (6) +#define AY_ENABLE (7) +#define AY_AVOL (8) +#define AY_BVOL (9) +#define AY_CVOL (10) +#define AY_EFINE (11) +#define AY_ECOARSE (12) +#define AY_ESHAPE (13) + +#define AY_PORTA (14) +#define AY_PORTB (15) + + +static struct AY8910 AYPSG[MAX_8910]; /* array of PSG's */ + + +void _AYWriteReg(int n, int r, int v) +{ + struct AY8910 *PSG = &AYPSG[n]; + int old; + + PSG->Regs[r] = v; + + /* A note about the period of tones, noise and envelope: for speed reasons, * + * we count down from the period to 0, but careful studies of the chip * + * output prove that it instead counts up from 0 until the counter becomes * + * greater or equal to the period. This is an important difference when the * + * program is rapidly changing the period to modulate the sound. * + * To compensate for the difference, when the period is changed we adjust * + * our internal counter. * + * Also, note that period = 0 is the same as period = 1. This is mentioned * + * in the YM2203 data sheets. However, this does NOT apply to the Envelope * + * period. In that case, period = 0 is half as period = 1. */ + switch (r) + { + case AY_AFINE: + case AY_ACOARSE: + PSG->Regs[AY_ACOARSE] &= 0x0F; + old = PSG->PeriodA; + PSG->PeriodA = (PSG->Regs[AY_AFINE] + 256 * PSG->Regs[AY_ACOARSE]) * PSG->UpdateStep; + + if (PSG->PeriodA == 0) PSG->PeriodA = PSG->UpdateStep; + + PSG->CountA += PSG->PeriodA - old; + + if (PSG->CountA <= 0) PSG->CountA = 1; + break; + case AY_BFINE: + case AY_BCOARSE: + PSG->Regs[AY_BCOARSE] &= 0x0F; + old = PSG->PeriodB; + PSG->PeriodB = (PSG->Regs[AY_BFINE] + 256 * PSG->Regs[AY_BCOARSE]) * PSG->UpdateStep; + + if (PSG->PeriodB == 0) PSG->PeriodB = PSG->UpdateStep; + + PSG->CountB += PSG->PeriodB - old; + + if (PSG->CountB <= 0) PSG->CountB = 1; + break; + case AY_CFINE: + case AY_CCOARSE: + PSG->Regs[AY_CCOARSE] &= 0x0F; + old = PSG->PeriodC; + PSG->PeriodC = (PSG->Regs[AY_CFINE] + 256 * PSG->Regs[AY_CCOARSE]) * PSG->UpdateStep; + + if (PSG->PeriodC == 0) PSG->PeriodC = PSG->UpdateStep; + + PSG->CountC += PSG->PeriodC - old; + + if (PSG->CountC <= 0) PSG->CountC = 1; + break; + case AY_NOISEPER: + PSG->Regs[AY_NOISEPER] &= 0x1F; + old = PSG->PeriodN; + PSG->PeriodN = PSG->Regs[AY_NOISEPER] * PSG->UpdateStep; + + if (PSG->PeriodN == 0) PSG->PeriodN = PSG->UpdateStep; + + PSG->CountN += PSG->PeriodN - old; + + if (PSG->CountN <= 0) PSG->CountN = 1; + break; + case AY_ENABLE: + if ((PSG->lastEnable == -1) || + ((PSG->lastEnable & 0x40) != (PSG->Regs[AY_ENABLE] & 0x40))) + { + /* write out 0xff if port set to input */ +// if (PSG->PortAwrite) +// (*PSG->PortAwrite)(0, (UINT8) ((PSG->Regs[AY_ENABLE] & 0x40) ? PSG->Regs[AY_PORTA] : 0xff)); // [TC: UINT8 cast] + } + + if ((PSG->lastEnable == -1) || + ((PSG->lastEnable & 0x80) != (PSG->Regs[AY_ENABLE] & 0x80))) + { + /* write out 0xff if port set to input */ +// if (PSG->PortBwrite) +// (*PSG->PortBwrite)(0, (UINT8) ((PSG->Regs[AY_ENABLE] & 0x80) ? PSG->Regs[AY_PORTB] : 0xff)); // [TC: UINT8 cast] + } + + PSG->lastEnable = PSG->Regs[AY_ENABLE]; + break; + case AY_AVOL: + PSG->Regs[AY_AVOL] &= 0x1F; + PSG->EnvelopeA = PSG->Regs[AY_AVOL] & 0x10; + PSG->VolA = PSG->EnvelopeA ? PSG->VolE : PSG->VolTable[PSG->Regs[AY_AVOL] ? PSG->Regs[AY_AVOL]*2+1 : 0]; + break; + case AY_BVOL: + PSG->Regs[AY_BVOL] &= 0x1F; + PSG->EnvelopeB = PSG->Regs[AY_BVOL] & 0x10; + PSG->VolB = PSG->EnvelopeB ? PSG->VolE : PSG->VolTable[PSG->Regs[AY_BVOL] ? PSG->Regs[AY_BVOL]*2+1 : 0]; + break; + case AY_CVOL: + PSG->Regs[AY_CVOL] &= 0x1F; + PSG->EnvelopeC = PSG->Regs[AY_CVOL] & 0x10; + PSG->VolC = PSG->EnvelopeC ? PSG->VolE : PSG->VolTable[PSG->Regs[AY_CVOL] ? PSG->Regs[AY_CVOL]*2+1 : 0]; + break; + case AY_EFINE: + case AY_ECOARSE: + old = PSG->PeriodE; + PSG->PeriodE = ((PSG->Regs[AY_EFINE] + 256 * PSG->Regs[AY_ECOARSE])) * PSG->UpdateStep; + + if (PSG->PeriodE == 0) PSG->PeriodE = PSG->UpdateStep / 2; + + PSG->CountE += PSG->PeriodE - old; + + if (PSG->CountE <= 0) PSG->CountE = 1; + break; + case AY_ESHAPE: + /* envelope shapes: + C AtAlH + 0 0 x x \___ + + 0 1 x x /___ + + 1 0 0 0 \\\\ + + 1 0 0 1 \___ + + 1 0 1 0 \/\/ + ___ + 1 0 1 1 \ + + 1 1 0 0 //// + ___ + 1 1 0 1 / + + 1 1 1 0 /\/\ + + 1 1 1 1 /___ + + The envelope counter on the AY-3-8910 has 16 steps. On the YM2149 it + has twice the steps, happening twice as fast. Since the end result is + just a smoother curve, we always use the YM2149 behaviour. + */ + PSG->Regs[AY_ESHAPE] &= 0x0F; + PSG->Attack = (PSG->Regs[AY_ESHAPE] & 0x04) ? 0x1F : 0x00; + + if ((PSG->Regs[AY_ESHAPE] & 0x08) == 0) + { + /* if Continue = 0, map the shape to the equivalent one which has Continue = 1 */ + PSG->Hold = 1; + PSG->Alternate = PSG->Attack; + } + else + { + PSG->Hold = PSG->Regs[AY_ESHAPE] & 0x01; + PSG->Alternate = PSG->Regs[AY_ESHAPE] & 0x02; + } + + PSG->CountE = PSG->PeriodE; + PSG->CountEnv = 0x1F; + PSG->Holding = 0; + PSG->VolE = PSG->VolTable[PSG->CountEnv ^ PSG->Attack]; + + if (PSG->EnvelopeA) PSG->VolA = PSG->VolE; + if (PSG->EnvelopeB) PSG->VolB = PSG->VolE; + if (PSG->EnvelopeC) PSG->VolC = PSG->VolE; + break; + case AY_PORTA: + if (PSG->Regs[AY_ENABLE] & 0x40) + { +// if (PSG->PortAwrite) +// (*PSG->PortAwrite)(0, PSG->Regs[AY_PORTA]); +// else +// logerror("PC %04x: warning - write %02x to 8910 #%d Port A\n",activecpu_get_pc(),PSG->Regs[AY_PORTA],n); + } + else + { +// logerror("warning: write to 8910 #%d Port A set as input - ignored\n",n); + } + break; + case AY_PORTB: + if (PSG->Regs[AY_ENABLE] & 0x80) + { +// if (PSG->PortBwrite) +// (*PSG->PortBwrite)(0, PSG->Regs[AY_PORTB]); +// else +// logerror("PC %04x: warning - write %02x to 8910 #%d Port B\n",activecpu_get_pc(),PSG->Regs[AY_PORTB],n); + } + else + { +// logerror("warning: write to 8910 #%d Port B set as input - ignored\n",n); + } + break; + } +} + + +// /length/ is the number of samples we require +// NB. This should be called at twice the 6522 IRQ rate or (eg) 60Hz if no IRQ. +void AY8910Update(int chip, int16 ** buffer, int length) // [TC: Removed static] +{ + struct AY8910 * PSG = &AYPSG[chip]; + INT16 * buf1, * buf2, * buf3; + int outn; + + buf1 = buffer[0]; + buf2 = buffer[1]; + buf3 = buffer[2]; + + /* The 8910 has three outputs, each output is the mix of one of the three * + * tone generators and of the (single) noise generator. The two are mixed * + * BEFORE going into the DAC. The formula to mix each channel is: * + * (ToneOn | ToneDisable) & (NoiseOn | NoiseDisable). * + * Note that this means that if both tone and noise are disabled, the output * + * is 1, not 0, and can be modulated changing the volume. * + * * + * If the channels are disabled, set their output to 1, and increase the * + * counter, if necessary, so they will not be inverted during this update. * + * Setting the output to 1 is necessary because a disabled channel is locked * + * into the ON state (see above); and it has no effect if the volume is 0. * + * If the volume is 0, increase the counter, but don't touch the output. */ + if (PSG->Regs[AY_ENABLE] & 0x01) + { + if (PSG->CountA <= length * STEP) PSG->CountA += length * STEP; + PSG->OutputA = 1; + } + else if (PSG->Regs[AY_AVOL] == 0) + { + /* note that I do count += length, NOT count = length + 1. You might think * + * it's the same since the volume is 0, but doing the latter could cause * + * interferencies when the program is rapidly modulating the volume. */ + if (PSG->CountA <= length * STEP) PSG->CountA += length * STEP; + } + + if (PSG->Regs[AY_ENABLE] & 0x02) + { + if (PSG->CountB <= length * STEP) PSG->CountB += length * STEP; + PSG->OutputB = 1; + } + else if (PSG->Regs[AY_BVOL] == 0) + { + if (PSG->CountB <= length * STEP) PSG->CountB += length * STEP; + } + + if (PSG->Regs[AY_ENABLE] & 0x04) + { + if (PSG->CountC <= length * STEP) PSG->CountC += length * STEP; + PSG->OutputC = 1; + } + else if (PSG->Regs[AY_CVOL] == 0) + { + if (PSG->CountC <= length * STEP) PSG->CountC += length * STEP; + } + + /* for the noise channel we must not touch OutputN - it's also not necessary * + * since we use outn. */ + if ((PSG->Regs[AY_ENABLE] & 0x38) == 0x38) /* all off */ + if (PSG->CountN <= length * STEP) PSG->CountN += length * STEP; + + outn = (PSG->OutputN | PSG->Regs[AY_ENABLE]); + + /* buffering loop */ + while (length) + { + int vola, volb, volc; + int left; + + /* vola, volb and volc keep track of how long each square wave stays * + * in the 1 position during the sample period. */ + vola = volb = volc = 0; + + left = STEP; + do + { + int nextevent; + + if (PSG->CountN < left) nextevent = PSG->CountN; + else nextevent = left; + + if (outn & 0x08) + { + if (PSG->OutputA) vola += PSG->CountA; + + PSG->CountA -= nextevent; + /* PeriodA is the half period of the square wave. Here, in each * + * loop I add PeriodA twice, so that at the end of the loop the * + * square wave is in the same status (0 or 1) it was at the start. * + * vola is also incremented by PeriodA, since the wave has been 1 * + * exactly half of the time, regardless of the initial position. * + * If we exit the loop in the middle, OutputA has to be inverted * + * and vola incremented only if the exit status of the square * + * wave is 1. */ + while (PSG->CountA <= 0) + { + PSG->CountA += PSG->PeriodA; + + if (PSG->CountA > 0) + { + PSG->OutputA ^= 1; + + if (PSG->OutputA) vola += PSG->PeriodA; + break; + } + + PSG->CountA += PSG->PeriodA; + vola += PSG->PeriodA; + } + + if (PSG->OutputA) vola -= PSG->CountA; + } + else + { + PSG->CountA -= nextevent; + while (PSG->CountA <= 0) + { + PSG->CountA += PSG->PeriodA; + + if (PSG->CountA > 0) + { + PSG->OutputA ^= 1; + break; + } + + PSG->CountA += PSG->PeriodA; + } + } + + if (outn & 0x10) + { + if (PSG->OutputB) volb += PSG->CountB; + + PSG->CountB -= nextevent; + + while (PSG->CountB <= 0) + { + PSG->CountB += PSG->PeriodB; + + if (PSG->CountB > 0) + { + PSG->OutputB ^= 1; + + if (PSG->OutputB) volb += PSG->PeriodB; + break; + } + + PSG->CountB += PSG->PeriodB; + volb += PSG->PeriodB; + } + + if (PSG->OutputB) volb -= PSG->CountB; + } + else + { + PSG->CountB -= nextevent; + + while (PSG->CountB <= 0) + { + PSG->CountB += PSG->PeriodB; + + if (PSG->CountB > 0) + { + PSG->OutputB ^= 1; + break; + } + + PSG->CountB += PSG->PeriodB; + } + } + + if (outn & 0x20) + { + if (PSG->OutputC) volc += PSG->CountC; + + PSG->CountC -= nextevent; + + while (PSG->CountC <= 0) + { + PSG->CountC += PSG->PeriodC; + + if (PSG->CountC > 0) + { + PSG->OutputC ^= 1; + + if (PSG->OutputC) volc += PSG->PeriodC; + break; + } + + PSG->CountC += PSG->PeriodC; + volc += PSG->PeriodC; + } + + if (PSG->OutputC) volc -= PSG->CountC; + } + else + { + PSG->CountC -= nextevent; + + while (PSG->CountC <= 0) + { + PSG->CountC += PSG->PeriodC; + + if (PSG->CountC > 0) + { + PSG->OutputC ^= 1; + break; + } + + PSG->CountC += PSG->PeriodC; + } + } + + PSG->CountN -= nextevent; + + if (PSG->CountN <= 0) + { + /* Is noise output going to change? */ + if ((PSG->RNG + 1) & 0x00002) /* (bit0^bit1)? */ + { + PSG->OutputN = ~PSG->OutputN; + outn = (PSG->OutputN | PSG->Regs[AY_ENABLE]); + } + + /* The Random Number Generator of the 8910 is a 17-bit shift * + * register. The input to the shift register is bit0 XOR bit3 * + * (bit0 is the output). This was verified on AY-3-8910 and * + * YM2149 chips. * + * * + * The following is a fast way to compute bit17 = bit0^bit3. * + * Instead of doing all the logic operations, we only check * + * bit0, relying on the fact that after three shifts of the * + * register, what now is bit3 will become bit0, and will * + * invert, if necessary, bit14, which previously was bit17. */ + if (PSG->RNG & 0x00001) + PSG->RNG ^= 0x24000; /* This version is called the "Galois configuration". */ + + PSG->RNG >>= 1; + PSG->CountN += PSG->PeriodN; + } + + left -= nextevent; + } + while (left > 0); + + /* update envelope */ + if (PSG->Holding == 0) + { + PSG->CountE -= STEP; + + if (PSG->CountE <= 0) + { + do + { + PSG->CountEnv--; + PSG->CountE += PSG->PeriodE; + } + while (PSG->CountE <= 0); + + /* check envelope current position */ + if (PSG->CountEnv < 0) + { + if (PSG->Hold) + { + if (PSG->Alternate) + PSG->Attack ^= 0x1F; + + PSG->Holding = 1; + PSG->CountEnv = 0; + } + else + { + /* if CountEnv has looped an odd number of times (usually 1), * + * invert the output. */ + if (PSG->Alternate && (PSG->CountEnv & 0x20)) + PSG->Attack ^= 0x1F; + + PSG->CountEnv &= 0x1F; + } + } + + PSG->VolE = PSG->VolTable[PSG->CountEnv ^ PSG->Attack]; + /* reload volume */ + if (PSG->EnvelopeA) PSG->VolA = PSG->VolE; + if (PSG->EnvelopeB) PSG->VolB = PSG->VolE; + if (PSG->EnvelopeC) PSG->VolC = PSG->VolE; + } + } + +#if 0 + *(buf1++) = (vola * PSG->VolA) / STEP; + *(buf2++) = (volb * PSG->VolB) / STEP; + *(buf3++) = (volc * PSG->VolC) / STEP; +#else // [Tom's code...] + // Output PCM wave [-32768...32767] instead of MAME's voltage level [0...32767] + // - This allows for better s/w mixing + + if (PSG->VolA) + { + if (vola) + *(buf1++) = (vola * PSG->VolA) / STEP; + else + *(buf1++) = -(int)PSG->VolA; + } + else + *(buf1++) = 0; + + if (PSG->VolB) + { + if (volb) + *(buf2++) = (volb * PSG->VolB) / STEP; + else + *(buf2++) = -(int)PSG->VolB; + } + else + *(buf2++) = 0; + + if (PSG->VolC) + { + if (volc) + *(buf3++) = (volc * PSG->VolC) / STEP; + else + *(buf3++) = -(int)PSG->VolC; + } + else + *(buf3++) = 0; +#endif + length--; + } +} + + +static void AY8910_set_clock(int chip, int clock) +{ + struct AY8910 * PSG = &AYPSG[chip]; + + /* The step clock for the tone and noise generators is the chip clock * + * divided by 8; for the envelope generator of the AY-3-8910, it is half * + * that much (clock/16), but the envelope of the YM2149 goes twice as * + * fast, therefore again clock/8. * + * Here we calculate the number of steps which happen during one sample * + * at the given sample rate. No. of events = sample rate / (clock/8). * + * STEP is a multiplier used to turn the fraction into a fixed point * + * number. */ + PSG->UpdateStep = (unsigned int)(((double)STEP * PSG->SampleRate * 8 + clock / 2) / clock); // [TC: unsigned int cast] +} + + +static void build_mixer_table(int chip) +{ + struct AY8910 * PSG = &AYPSG[chip]; + + /* calculate the volume->voltage conversion table */ + /* The AY-3-8910 has 16 levels, in a logarithmic scale (3dB per step) */ + /* The YM2149 still has 16 levels for the tone generators, but 32 for */ + /* the envelope generator (1.5dB per step). */ + double out = MAX_OUTPUT; + + for(int i=31; i>0; i--) + { + PSG->VolTable[i] = (unsigned int)(out + 0.5); /* round to nearest */ // [TC: unsigned int cast] + out /= 1.188502227; /* = 10 ^ (1.5/20) = 1.5dB */ + } + + PSG->VolTable[0] = 0; +} + + +void AY8910_reset(int chip) +{ + int i; + struct AY8910 * PSG = &AYPSG[chip]; + + PSG->register_latch = 0; + PSG->RNG = 1; + PSG->OutputA = 0; + PSG->OutputB = 0; + PSG->OutputC = 0; + PSG->OutputN = 0xFF; + PSG->lastEnable = -1; /* force a write */ + + for(i=0; iSampleRate = sampleRate; + AY8910_set_clock(chip, clock); + build_mixer_table(chip); + } +} + +void AY8910_InitClock(int clock) +{ + for(int chip=0; chip= MAX_8910) + return NULL; + + return &AYPSG[chipNum].Regs[0]; +} diff --git a/src/ay8910.h b/src/ay8910.h index f9910ef..aa0925b 100755 --- a/src/ay8910.h +++ b/src/ay8910.h @@ -1,16 +1,16 @@ -#ifndef AY8910_H -#define AY8910_H - -#include "types.h" - -#define MAX_8910 4 - -void _AYWriteReg(int n, int r, int v); -void AY8910_reset(int chip); -void AY8910Update(int chip, int16 ** buffer, int length); - -void AY8910_InitAll(int nClock, int nSampleRate); -void AY8910_InitClock(int nClock); -uint8 * AY8910_GetRegsPtr(uint16 nAyNum); - -#endif +#ifndef AY8910_H +#define AY8910_H + +#include "types.h" + +#define MAX_8910 4 + +void _AYWriteReg(int n, int r, int v); +void AY8910_reset(int chip); +void AY8910Update(int chip, int16 ** buffer, int length); + +void AY8910_InitAll(int nClock, int nSampleRate); +void AY8910_InitClock(int nClock); +uint8 * AY8910_GetRegsPtr(uint16 nAyNum); + +#endif diff --git a/src/charset.h b/src/charset.h index ba91c6e..1f58e30 100755 --- a/src/charset.h +++ b/src/charset.h @@ -1,860 +1,860 @@ -// -// The Apple II/IIe video generator character set -// -// by James L. Hammons -// (C) 2005 Underground Software -// -// While we could pack things into bytes, it doesn't cost too much to have everything -// unpacked as we have it here. -// - -// Apple II character set has 64 chars (56 bytes for each character) - -char textChar[0x0E00] = { - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 -}; - -// Apple IIe/IIc character set has 256 chars (56 bytes for each character) - -char textChar2e[0x3800] = { - 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 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, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, - 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, - 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, - 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, - 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, - 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, - 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 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, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 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, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, - 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 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, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 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, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 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, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 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, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 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, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 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, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 -}; - -#if 0 -char textChar[0x7000] = { - 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 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, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - - 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 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, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - - 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 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, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, - 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, - 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, - 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, - 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, - 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, - 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 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, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 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, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, - 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 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, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 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, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 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, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 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, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 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, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 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, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -#endif +// +// The Apple II/IIe video generator character set +// +// by James L. Hammons +// (C) 2005 Underground Software +// +// While we could pack things into bytes, it doesn't cost too much to have everything +// unpacked as we have it here. +// + +// Apple II character set has 64 chars (56 bytes for each character) + +char textChar[0x0E00] = { + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +// Apple IIe/IIc character set has 256 chars (56 bytes for each character) + +char textChar2e[0x3800] = { + 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 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, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, + 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, + 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, + 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, + 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, + 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, + 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 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, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 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, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, + 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 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, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 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, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 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, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 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, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 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, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 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, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +#if 0 +char textChar[0x7000] = { + 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 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, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + + 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 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, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + + 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 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, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, + 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, + 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, + 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, + 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, + 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, + 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 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, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 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, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, + 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 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, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 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, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 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, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 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, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 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, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 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, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 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, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 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, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}; +#endif diff --git a/src/dis65c02.cpp b/src/dis65c02.cpp index 6197659..aa3981a 100755 --- a/src/dis65c02.cpp +++ b/src/dis65c02.cpp @@ -1,178 +1,178 @@ -// -// 65C02 disassembler -// -// by James L. Hammons -// (c) 2005 Underground Software -// - -#include -#include -#include "dis65c02.h" -//#include "types.h" -#include "v65c02.h" -#include "log.h" - -using namespace std; - -// External shit - -extern V65C02REGS mainCPU;//Hm. Shouldn't we pass this shit in? - -// Private globals variables - -static uint8 op_mat[256] = { - 14, 6, 0, 0, 2, 2, 2, 2, 14, 1, 14, 0, 8, 8, 8, 13, - 13, 7, 5, 0, 2, 3, 3, 2, 14, 10, 14, 0, 8, 9, 9, 13, - 8, 6, 0, 0, 2, 2, 2, 2, 14, 1, 14, 0, 8, 8, 8, 13, - 13, 7, 5, 0, 3, 3, 3, 2, 14, 10, 14, 0, 9, 9, 9, 13, - 14, 6, 0, 0, 0, 2, 2, 2, 14, 1, 14, 0, 8, 8, 8, 13, - 13, 7, 5, 0, 0, 3, 3, 2, 14, 10, 14, 0, 0, 9, 9, 13, - 14, 6, 0, 0, 2, 2, 2, 2, 14, 1, 14, 0, 11, 8, 8, 13, - 13, 7, 5, 0, 3, 3, 3, 2, 14, 10, 14, 0, 12, 9, 9, 13, - 13, 6, 0, 0, 2, 2, 2, 2, 14, 1, 14, 0, 8, 8, 8, 13, - 13, 7, 5, 0, 3, 3, 4, 2, 14, 10, 14, 0, 8, 9, 9, 13, - 1, 6, 1, 0, 2, 2, 2, 2, 14, 1, 14, 0, 8, 8, 8, 13, - 13, 7, 5, 0, 3, 3, 4, 2, 14, 10, 14, 0, 9, 9, 10, 13, - 1, 6, 0, 0, 2, 2, 2, 2, 14, 1, 14, 0, 8, 8, 8, 13, - 13, 7, 5, 0, 0, 3, 3, 2, 14, 10, 14, 0, 0, 9, 9, 13, - 1, 6, 0, 0, 2, 2, 2, 2, 14, 1, 14, 0, 8, 8, 8, 13, - 13, 7, 5, 0, 0, 3, 3, 2, 14, 10, 14, 0, 0, 9, 9, 13 }; - -static uint8 mnemonics[256][6] = { - "BRK ","ORA ","??? ","??? ","TSB ","ORA ","ASL ","RMB0 ", - "PHP ","ORA ","ASL ","??? ","TSB ","ORA ","ASL ","BBR0 ", - "BPL ","ORA ","ORA ","??? ","TRB ","ORA ","ASL ","RMB1 ", - "CLC ","ORA ","INC ","??? ","TRB ","ORA ","ASL ","BBR1 ", - "JSR ","AND ","??? ","??? ","BIT ","AND ","ROL ","RMB2 ", - "PLP ","AND ","ROL ","??? ","BIT ","AND ","ROL ","BBR2 ", - "BMI ","AND ","AND ","??? ","BIT ","AND ","ROL ","RMB3 ", - "SEC ","AND ","DEC ","??? ","BIT ","AND ","ROL ","BBR3 ", - "RTI ","EOR ","??? ","??? ","??? ","EOR ","LSR ","RMB4 ", - "PHA ","EOR ","LSR ","??? ","JMP ","EOR ","LSR ","BBR4 ", - "BVC ","EOR ","EOR ","??? ","??? ","EOR ","LSR ","RMB5 ", - "CLI ","EOR ","PHY ","??? ","??? ","EOR ","LSR ","BBR5 ", - "RTS ","ADC ","??? ","??? ","STZ ","ADC ","ROR ","RMB6 ", - "PLA ","ADC ","ROR ","??? ","JMP ","ADC ","ROR ","BBR6 ", - "BVS ","ADC ","ADC ","??? ","STZ ","ADC ","ROR ","RMB7 ", - "SEI ","ADC ","PLY ","??? ","JMP ","ADC ","ROR ","BBR7 ", - "BRA ","STA ","??? ","??? ","STY ","STA ","STX ","SMB0 ", - "DEY ","BIT ","TXA ","??? ","STY ","STA ","STX ","BBS0 ", - "BCC ","STA ","STA ","??? ","STY ","STA ","STX ","SMB1 ", - "TYA ","STA ","TXS ","??? ","STZ ","STA ","STZ ","BBS1 ", - "LDY ","LDA ","LDX ","??? ","LDY ","LDA ","LDX ","SMB2 ", - "TAY ","LDA ","TAX ","??? ","LDY ","LDA ","LDX ","BBS2 ", - "BCS ","LDA ","LDA ","??? ","LDY ","LDA ","LDX ","SMB3 ", - "CLV ","LDA ","TSX ","??? ","LDY ","LDA ","LDX ","BBS3 ", - "CPY ","CMP ","??? ","??? ","CPY ","CMP ","DEC ","SMB4 ", - "INY ","CMP ","DEX ","??? ","CPY ","CMP ","DEC ","BBS4 ", - "BNE ","CMP ","CMP ","??? ","??? ","CMP ","DEC ","SMB5 ", - "CLD ","CMP ","PHX ","??? ","??? ","CMP ","DEC ","BBS5 ", - "CPX ","SBC ","??? ","??? ","CPX ","SBC ","INC ","SMB6 ", - "INX ","SBC ","NOP ","??? ","CPX ","SBC ","INC ","BBS6 ", - "BEQ ","SBC ","SBC ","??? ","??? ","SBC ","INC ","SMB7 ", - "SED ","SBC ","PLX ","??? ","??? ","SBC ","INC ","BBS7 " }; - -// -// Display bytes in mem in hex -// -static void DisplayBytes(uint16 src, uint32 dst) -{ - WriteLog("%04X: ", src); - uint8 cnt = 0; // Init counter... - - if (src > dst) - dst += 0x10000; // That should fix the FFFF bug... - - for(uint32 i=src; i +#include +#include "dis65c02.h" +//#include "types.h" +#include "v65c02.h" +#include "log.h" + +using namespace std; + +// External shit + +extern V65C02REGS mainCPU;//Hm. Shouldn't we pass this shit in? + +// Private globals variables + +static uint8 op_mat[256] = { + 14, 6, 0, 0, 2, 2, 2, 2, 14, 1, 14, 0, 8, 8, 8, 13, + 13, 7, 5, 0, 2, 3, 3, 2, 14, 10, 14, 0, 8, 9, 9, 13, + 8, 6, 0, 0, 2, 2, 2, 2, 14, 1, 14, 0, 8, 8, 8, 13, + 13, 7, 5, 0, 3, 3, 3, 2, 14, 10, 14, 0, 9, 9, 9, 13, + 14, 6, 0, 0, 0, 2, 2, 2, 14, 1, 14, 0, 8, 8, 8, 13, + 13, 7, 5, 0, 0, 3, 3, 2, 14, 10, 14, 0, 0, 9, 9, 13, + 14, 6, 0, 0, 2, 2, 2, 2, 14, 1, 14, 0, 11, 8, 8, 13, + 13, 7, 5, 0, 3, 3, 3, 2, 14, 10, 14, 0, 12, 9, 9, 13, + 13, 6, 0, 0, 2, 2, 2, 2, 14, 1, 14, 0, 8, 8, 8, 13, + 13, 7, 5, 0, 3, 3, 4, 2, 14, 10, 14, 0, 8, 9, 9, 13, + 1, 6, 1, 0, 2, 2, 2, 2, 14, 1, 14, 0, 8, 8, 8, 13, + 13, 7, 5, 0, 3, 3, 4, 2, 14, 10, 14, 0, 9, 9, 10, 13, + 1, 6, 0, 0, 2, 2, 2, 2, 14, 1, 14, 0, 8, 8, 8, 13, + 13, 7, 5, 0, 0, 3, 3, 2, 14, 10, 14, 0, 0, 9, 9, 13, + 1, 6, 0, 0, 2, 2, 2, 2, 14, 1, 14, 0, 8, 8, 8, 13, + 13, 7, 5, 0, 0, 3, 3, 2, 14, 10, 14, 0, 0, 9, 9, 13 }; + +static uint8 mnemonics[256][6] = { + "BRK ","ORA ","??? ","??? ","TSB ","ORA ","ASL ","RMB0 ", + "PHP ","ORA ","ASL ","??? ","TSB ","ORA ","ASL ","BBR0 ", + "BPL ","ORA ","ORA ","??? ","TRB ","ORA ","ASL ","RMB1 ", + "CLC ","ORA ","INC ","??? ","TRB ","ORA ","ASL ","BBR1 ", + "JSR ","AND ","??? ","??? ","BIT ","AND ","ROL ","RMB2 ", + "PLP ","AND ","ROL ","??? ","BIT ","AND ","ROL ","BBR2 ", + "BMI ","AND ","AND ","??? ","BIT ","AND ","ROL ","RMB3 ", + "SEC ","AND ","DEC ","??? ","BIT ","AND ","ROL ","BBR3 ", + "RTI ","EOR ","??? ","??? ","??? ","EOR ","LSR ","RMB4 ", + "PHA ","EOR ","LSR ","??? ","JMP ","EOR ","LSR ","BBR4 ", + "BVC ","EOR ","EOR ","??? ","??? ","EOR ","LSR ","RMB5 ", + "CLI ","EOR ","PHY ","??? ","??? ","EOR ","LSR ","BBR5 ", + "RTS ","ADC ","??? ","??? ","STZ ","ADC ","ROR ","RMB6 ", + "PLA ","ADC ","ROR ","??? ","JMP ","ADC ","ROR ","BBR6 ", + "BVS ","ADC ","ADC ","??? ","STZ ","ADC ","ROR ","RMB7 ", + "SEI ","ADC ","PLY ","??? ","JMP ","ADC ","ROR ","BBR7 ", + "BRA ","STA ","??? ","??? ","STY ","STA ","STX ","SMB0 ", + "DEY ","BIT ","TXA ","??? ","STY ","STA ","STX ","BBS0 ", + "BCC ","STA ","STA ","??? ","STY ","STA ","STX ","SMB1 ", + "TYA ","STA ","TXS ","??? ","STZ ","STA ","STZ ","BBS1 ", + "LDY ","LDA ","LDX ","??? ","LDY ","LDA ","LDX ","SMB2 ", + "TAY ","LDA ","TAX ","??? ","LDY ","LDA ","LDX ","BBS2 ", + "BCS ","LDA ","LDA ","??? ","LDY ","LDA ","LDX ","SMB3 ", + "CLV ","LDA ","TSX ","??? ","LDY ","LDA ","LDX ","BBS3 ", + "CPY ","CMP ","??? ","??? ","CPY ","CMP ","DEC ","SMB4 ", + "INY ","CMP ","DEX ","??? ","CPY ","CMP ","DEC ","BBS4 ", + "BNE ","CMP ","CMP ","??? ","??? ","CMP ","DEC ","SMB5 ", + "CLD ","CMP ","PHX ","??? ","??? ","CMP ","DEC ","BBS5 ", + "CPX ","SBC ","??? ","??? ","CPX ","SBC ","INC ","SMB6 ", + "INX ","SBC ","NOP ","??? ","CPX ","SBC ","INC ","BBS6 ", + "BEQ ","SBC ","SBC ","??? ","??? ","SBC ","INC ","SMB7 ", + "SED ","SBC ","PLX ","??? ","??? ","SBC ","INC ","BBS7 " }; + +// +// Display bytes in mem in hex +// +static void DisplayBytes(uint16 src, uint32 dst) +{ + WriteLog("%04X: ", src); + uint8 cnt = 0; // Init counter... + + if (src > dst) + dst += 0x10000; // That should fix the FFFF bug... + + for(uint32 i=src; i?\377ECA\377D?<\377EA>" - "\377BBB\377???\377@>=\377FF=\377B?9\377>;9\377AA6\377CA:\377CD=\377HK=\377" - "JLD\377NKH\377RMG\377KLK\377ILB\377NPA\377b_S\377`[Q\377]YP\377YVR\377ZU" - "L\377^ZS\377`f^\377ihh\377jii\377ji`\377ji_\377jjc\377jif\377jhj\377jhj\377" - "jhj\377jii\377jhj\377jii\377jig\377c^T\377420\377\7\12\25\377\34\"*\377&" - "+4\377'.7\377+2:\377&0:\377#)1\377Zhp\377\40'0\377*08\377'.6\377\"(3\377" - "\20\23\27\377AC@\377\232\227\223\377\257\252\244\377\257\256\257\377\277" - "\277\270\377\303\302\262\377\303\301\275\377\300\274\253\377\303\277\301" - "\377\303\300\303\377\303\300\303\377\303\300\303\377\303\300\303\377\303" - "\300\303\377\303\300\303\377\303\300\303\377\303\300\303\377\303\300\303" - "\377\303\300\303\377\303\300\303\377\303\301\270\377\303\300\303\377\303" - "\300\303\377\303\300\303\377\303\301\303\377\303\301\303\377\303\301\303" - "\377\303\301\303\377\303\301\303\377\303\301\303\377\303\301\303\377\304" - "\301\303\377\305\301\304\377\310\305\310\377\310\305\307\377\314\310\270" - "\377\313\311\307\377\307\305\307\377\312\307\310\377\313\310\312\377\316" - "\313\312\377\315\312\311\377\321\315\316\377\322\317\317\377\326\322\321" - "\377\325\322\321\377\317\313\312\377\316\311\312\377\316\313\312\377\317" - "\315\276\377\323\320\317\377\324\324\315\377\331\326\323\377\332\325\322" - "\377\330\324\321\377\330\324\311\377\333\330\317\377\331\326\326\377\334" - "\332\313\377\335\335\324\377\340\335\317\377\336\335\314\377\337\336\331" - "\377\336\333\312\377\337\332\303\377\340\333\327\377\341\335\336\377\337" - "\333\334\377\343\340\333\377\342\340\341\377\341\336\341\377\344\341\343" - "\377\343\340\342\377\346\343\345\377\351\346\346\377\351\344\344\377\351" - "\345\345\377\350\345\347\377\346\343\345\377\346\343\345\377\352\347\345" - "\377\350\343\343\377\346\341\342\377\347\344\341\377\350\344\343\377\350" - "\346\345\377\353\352\345\377\354\352\351\377\356\352\352\377\361\354\351" - "\377\355\352\355\377\354\352\350\377\356\355\347\377\371\365\361\377\371" - "\363\360\377\367\361\357\377\365\360\361\377\365\357\355\377\370\362\361" - "\377\371\371\367\377\376\372\375\377\376\372\376\377\376\373\371\377\376" - "\373\370\377\376\373\372\377\376\372\374\377\376\372\376\377\376\372\376" - "\377\376\372\376\377\376\373\375\377\376\372\376\377\376\373\375\377\376" - "\373\374\377\372\365\362\377\337\333\334\377sof\377\16\21\31\377\"*2\377" - "*/8\377,08\377&,7\377#)1\377Zen\377%&-\377).7\377%*3\377\12\14\21\377\213" - "\211\212\377\376\373\375\377\376\372\376\377\376\372\376\377\376\374\374" - "\377\376\374\374\377\376\374\374\377\376\374\374\377\376\373\375\377\376" - "\372\376\377\376\372\376\377\376\373\375\377\376\373\375\377\376\372\376" - "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\373\375\377\376" - "\374\374\377\376\374\374\377\376\374\374\377\376\374\374\377\376\374\374" - "\377\376\374\374\377\376\375\373\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\375\373\377\376" - "\375\373\377\376\374\374\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\362\377\376\375\373\377\376\374\374\377\376" - "\374\374\377\376\374\373\377\376\376\366\377\376\374\373\377\376\375\373" - "\377\376\376\361\377\376\376\371\377\376\375\373\377\376\375\373\377\376" - "\376\370\377\376\376\371\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\375\373\377\376" - "\374\374\377\376\374\374\377\376\374\374\377\376\374\374\377\376\374\374" - "\377\376\374\374\377\376\374\374\377\376\374\374\377\376\374\374\377\376" - "\375\373\377\376\374\374\377\376\374\374\377\376\374\374\377\376\374\374" - "\377\376\374\374\377\376\374\374\377\376\374\374\377\376\374\374\377\376" - "\374\374\377\376\372\376\377\376\372\376\377\376\372\376\377\376\374\374" - "\377\376\374\374\377\376\374\374\377\376\374\374\377\376\374\374\377\376" - "\374\374\377\376\373\375\377\376\373\375\377\376\372\376\377\376\372\376" - "\377\376\372\376\377\376\372\376\377\376\372\376\377\362\355\355\377FC?\377" - "\31\37&\377&-5\377$)3\377&.6\377#)1\377Zgq\377$(/\377',4\377\35#+\377PON" - "\377\362\356\361\377\376\372\376\377\376\374\374\377\376\375\373\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\375\373\377\376\375\373\377\376\376\372\377\376\376\372\377\376" - "\375\373\377\376\375\373\377\376\375\373\377\376\375\373\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\375\373\377\376\375\373\377\376\375\373\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\375\373\377\376" - "\375\373\377\376\375\373\377\372\371\363\377\375\372\372\377\376\372\376" - "\377\230\224\224\377\17\23\27\377',5\377$)2\377%,5\377#)1\377Zeo\377\"%." - "\377'+3\377\14\21\33\377\206\203\205\377\376\372\376\377\376\372\376\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\375\373\377\376\375\373\377\376\373\375\377\372\372" - "\366\377\375\373\373\377\376\372\376\377\312\304\277\377\11\16\25\377$*5" - "\377%*1\377\40(4\377#)1\377Zen\377\37#.\377#)0\377\12\14\20\377\213\210\206" - "\377\376\372\376\377\376\374\374\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\373\375\377\376\374\374\377\376\373\375\377\376\372\376" - "\377\333\327\314\377\6\13\22\377\"*3\377%+1\377\40'0\377#)1\377Zem\377\37" - "%-\377%+3\377\14\15\20\377\217\214\211\377\376\372\376\377\376\374\374\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\375\373\377\376\374\374\377\376\375" - "\373\377\376\373\375\377\376\372\376\377\340\336\327\377\5\13\21\377#*3\377" - "$'/\377!)3\377#)1\377[is\377\37%/\377$*2\377\13\14\17\377\213\210\206\377" - "\376\373\370\377\376\375\373\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\375" - "\373\377\376\375\373\377\376\372\376\377\376\372\376\377\376\372\376\377" - "\340\336\317\377\5\13\21\377$+3\377%)/\377!'0\377#)1\377[js\377\37'1\377" - "$*2\377\13\14\16\377\213\210\206\377\376\375\366\377\376\375\373\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\375\373\377\376\373\375\377\376\372\376" - "\377\376\372\376\377\376\372\376\377\340\336\316\377\3\10\17\377!*2\377#" - "(0\377\"(2\377#)1\377[is\377\37%.\377$*1\377\12\14\21\377\213\210\206\377" - "\376\372\376\377\376\374\374\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\375\373\377\376\375" - "\373\377\376\373\375\377\376\373\375\377\376\373\375\377\376\372\376\377" - "\336\332\312\377\6\14\23\377#)3\377&,3\377\")1\377#)1\377[go\377\35#+\377" - "#(0\377\13\14\20\377\216\212\210\377\376\372\376\377\376\372\376\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\374\374\377\376\373\375\377\376\372\376\377\376\372\376" - "\377\376\372\376\377\376\372\376\377\333\324\304\377\10\15\24\377%+4\377" - "$*2\377\37%.\377#)1\377Zgo\377\33\40(\377'-3\377\13\15\20\377\211\207\205" - "\377\376\372\376\377\376\372\376\377\376\373\375\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\374\374\377\376" - "\372\376\377\376\373\375\377\376\372\376\377\376\372\376\377\376\372\376" - "\377\336\333\316\377\7\14\23\377%*3\377%+3\377!&/\377#)1\377Zgo\377\36$+" - "\377&+4\377\11\12\15\377\207\204\205\377\376\372\376\377\376\372\376\377" - "\376\375\373\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\374\374\377" - "\376\373\375\377\376\372\376\377\376\373\375\377\376\373\375\377\376\372" - "\376\377\376\372\376\377\376\372\376\377\333\326\315\377\12\17\25\377&+4" - "\377&+3\377#*2\377#)1\377Zeo\377\37#-\377'.5\377\13\14\16\377\211\207\205" - "\377\376\372\376\377\376\372\376\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\374\374\377\376\372\376\377\376\373\375\377\376\372\376\377\376" - "\372\376\377\376\372\376\377\376\373\375\377\376\373\375\377\376\372\376" - "\377\324\316\303\377\11\16\25\377#+5\377',7\377\"'2\377#)1\377Zfp\377\37" - "%/\377,07\377\17\20\22\377\221\216\214\377\376\372\376\377\376\372\376\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\374\374\377\376\375\373\377\376\374\374\377" - "\376\373\375\377\376\372\376\377\376\373\375\377\376\373\375\377\376\373" - "\375\377\376\373\375\377\376\372\376\377\321\311\300\377\12\17\25\377#)4" - "\377&-4\377\")2\377#)1\377Zgq\377\35$,\377(/6\377\11\13\14\377\207\205\205" - "\377\376\372\376\377\376\372\376\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\375\373\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\375\373\377\376\374\374\377\376\372\376" - "\377\376\373\375\377\376\375\373\377\376\375\373\377\376\373\375\377\376" - "\373\375\377\376\373\375\377\376\373\375\377\375\374\375\377\376\372\376" - "\377\327\321\310\377\10\15\23\377#*3\377'-5\377\40&.\377#)1\377Ydj\377\33" - "\40%\377&.4\377\13\14\15\377\213\211\207\377\376\372\376\377\376\372\376" - "\377\376\375\373\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\375\373\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\375\373\377\376" - "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376" - "\377\376\373\375\377\376\375\373\377\376\375\373\377\376\373\375\377\376" - "\373\375\377\374\374\376\377\376\372\376\377\330\321\304\377\5\13\21\377" - "&-6\377)/6\377\40%,\377#)1\377Zel\377\34\40(\377%-4\377\12\13\20\377\210" - "\206\210\377\376\372\376\377\376\372\376\377\376\373\375\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\373\375\377\376\374\374" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\374\374" - "\377\376\374\374\377\376\373\375\377\376\372\376\377\376\372\376\377\376" - "\372\376\377\376\372\376\377\376\372\376\377\376\375\373\377\376\375\373" - "\377\376\373\375\377\376\373\375\377\376\375\373\377\376\373\375\377\376" - "\372\376\377\327\317\302\377\7\15\23\377\"*3\377$+3\377\37$)\377#)1\377Y" - "di\377\33!%\377(-6\377\13\14\16\377\214\211\207\377\376\372\376\377\376\372" - "\376\377\376\373\375\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\374\374\377\376\375\373\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\374\374\377\376\372\376\377\376\372\376\377\376\372\376\377" - "\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372" - "\376\377\376\372\376\377\376\373\375\377\376\372\376\377\376\372\376\377" - "\376\372\376\377\376\372\376\377\376\372\376\377\314\306\270\377\7\15\24" - "\377!)1\377&-2\377\37#(\377#)1\377Ydi\377\33\37&\377(/7\377\14\15\21\377" - "\214\211\207\377\376\372\376\377\376\372\376\377\376\375\373\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\375\373\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\372" - "\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377" - "\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\373" - "\375\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377" - "\376\372\376\377\314\305\270\377\11\14\22\377!)1\377&-4\377\40&-\377#)1\377" - "Ydi\377\33\36$\377)-6\377\13\14\22\377\212\205\205\377\376\372\376\377\376" - "\372\376\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\374\374\377\376\372\376\377\376\372\376" - "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376" - "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\373\375" - "\377\376\372\376\377\376\372\376\377\376\372\376\377\327\320\302\377\11\16" - "\24\377%+4\377&-3\377\36&.\377#)1\377Ydi\377\34\36%\377&,6\377\15\15\16\377" - "\222\215\207\377\376\372\376\377\376\372\376\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\374" - "\374\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377" - "\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372" - "\376\377\376\372\376\377\376\374\374\377\376\374\374\377\376\372\376\377" - "\376\372\376\377\322\313\302\377\7\15\23\377%*4\377&+4\377\37&.\377#)1\377" - "Ydi\377\27\36$\377&,3\377\15\15\15\377\224\216\207\377\376\372\376\377\376" - "\372\376\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\374\374\377\376\372\376\377\376\372\376" - "\377\376\375\373\377\376\373\375\377\376\373\375\377\376\372\376\377\376" - "\372\376\377\376\374\374\377\376\373\374\377\376\372\376\377\376\372\376" - "\377\376\372\376\377\376\372\376\377\376\372\376\377\333\325\311\377\5\13" - "\21\377$*2\377%+1\377\")/\377#)1\377Ydi\377\34\40&\377&,5\377\16\16\15\377" - "\225\217\211\377\376\372\376\377\376\372\376\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\374" - "\374\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377" - "\376\373\375\377\376\372\376\377\376\372\376\377\376\372\376\377\376\373" - "\375\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377" - "\376\372\376\377\330\320\300\377\5\13\21\377$(1\377%+2\377\35\"(\377#)1\377" - "Ydi\377\34!'\377%+1\377\17\17\17\377\233\225\223\377\376\372\376\377\376" - "\372\376\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\374\374\377\376" - "\375\373\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\373\375\377\376\372\376\377\376\372\376" - "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376" - "\372\376\377\376\374\374\377\376\374\374\377\376\374\374\377\376\373\375" - "\377\376\372\376\377\376\372\376\377\376\372\376\377\315\304\271\377\7\14" - "\23\377!(2\377%*1\377\40%,\377#)1\377Ydi\377\36\"'\377&-5\377\17\17\17\377" - "\230\223\214\377\376\372\376\377\376\372\376\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\373\375\377\376\373\375\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\375\373\377\376\372" - "\376\377\376\372\376\377\376\372\376\377\376\373\375\377\376\373\375\377" - "\376\372\376\377\376\372\376\377\376\372\376\377\376\375\373\377\376\374" - "\374\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377" - "\376\372\376\377\320\311\300\377\7\14\22\377\32\",\377\36#+\377\22\31\40" - "\377!&-\377Ydi\377\37#(\377&+5\377\16\16\15\377\225\221\212\377\376\372\376" - "\377\376\372\376\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\374\374" - "\377\376\373\375\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\374\374\377\376\374\374\377\376\372\376\377\376\372\376\377\376" - "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376" - "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376" - "\372\376\377\376\373\375\377\376\372\376\377\376\372\376\377\272\271\247" - "\377\5\7\15\377\6\13\25\377\1\2\4\377\4\4\4\377\32\34\"\377Ydi\377\36$'\377" - "(-6\377\21\21\21\377\235\232\224\377\376\372\376\377\376\372\376\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\374\374\377\376\373\375\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\375\373\377\376\374\374\377\376\372\376\377\376\372\376\377\376" - "\374\374\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376" - "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376" - "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376" - "\377\376\372\376\377\376\372\376\377\310\303\267\377\1\1\2\377\4\4\7<\1\1" - "\1\27\6\6\6\27\35\40%\27Ydi\377\37\")\377'-5\377\21\22\22\377\237\234\230" - "\377\376\372\376\377\376\372\376\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\374\374\377\376\372\376\377\376\375\373\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\374\374\377\376\373\375\377\376\372\376\377\376\372\376" - "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376" - "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376" - "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376" - "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376" - "\377\310\301\267\377\1\1\1\377\1\1\1)\0\0\0\0\0\0\0\0\0\0\0\0Ydi\377\35\40" - "'\377'.6\377\21\22\21\377\236\233\226\377\376\372\376\377\376\372\376\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\373\375\377\376\372\376\377" - "\376\372\376\377\376\375\373\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\375\373\377\376\373\375\377\376\372" - "\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377" - "\376\372\376\377\376\372\376\377\376\372\376\377\376\374\374\377\376\373" - "\375\377\376\373\375\377\376\372\376\377\376\372\376\377\376\372\376\377" - "\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372" - "\376\377\376\372\376\377\376\372\376\377\274\266\260\377\1\1\1\377\1\1\1" - ")\0\0\0\0\0\0\0\0\0\0\0\0Ydi\377\37#)\377'/7\377\24\24\22\377\251\242\233" - "\377\376\372\376\377\376\372\376\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\375\373" - "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\373\375\377\376" - "\375\373\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\373\375\377\376\373\375\377\376\372\376\377\376\372\376\377\376\372\376" - "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376" - "\372\376\377\376\373\375\377\376\372\376\377\376\372\376\377\376\372\376" - "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376" - "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376" - "\377\274\270\266\377\1\1\1\377\1\1\1)\0\0\0\0\0\0\0\0\0\0\0\0Zdj\377\37#" - "+\377%*4\377\27\26\25\377\263\254\244\377\376\372\376\377\376\372\376\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\375\373\377\376\374\374\377\376\375\373\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" - "\372\377\376\374\374\377\376\372\376\377\376\372\376\377\376\372\376\377" - "\376\372\376\377\376\372\376\377\376\374\374\377\376\376\372\377\376\376" - "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" - "\376\376\372\377\376\373\375\377\376\372\376\377\376\372\376\377\376\372" - "\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377" - "\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372" - "\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377" - "\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372" - "\376\377\376\372\376\377\376\372\376\377\272\260\250\377\1\1\1\377\1\1\1" - ")\0\0\0\0\0\0\0\0\0\0\0\0Zdj\377\37#)\377',4\377\31\31\30\377\272\263\253" - "\377\376\372\376\377\376\372\376\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\375\373\377\376\373\375\377\376\372\376\377\376" - "\373\375\377\376\374\374\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\373\375\377\376" - "\373\375\377\376\373\375\377\376\373\375\377\376\372\376\377\376\372\376" - "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376" - "\372\376\377\376\373\375\377\376\375\373\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\375\373\377\376\373\375\377\376\372\376\377\376" - "\372\376\377\376\372\376\377\376\372\376\377\376\374\374\377\376\374\374" - "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376" - "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376" - "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376" - "\372\376\377\376\372\376\377\376\375\373\377\376\373\375\377\376\372\376" - "\377\263\251\245\377\1\1\1\377\36\36\37<\207\206\205\27\207\206\205\27\207" - "\206\205\27Zej\377\37$*\377*/7\377\30\27\25\377\257\250\237\377\376\372\376" - "\377\376\372\376\377\376\375\373\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\374\374" - "\377\376\373\375\377\376\372\376\377\376\372\376\377\376\372\376\377\376" - "\372\376\377\376\372\376\377\376\373\375\377\376\374\374\377\376\374\374" - "\377\376\375\373\377\376\376\372\377\376\374\374\377\376\374\374\377\376" - "\374\374\377\376\374\374\377\376\374\374\377\376\374\374\377\376\374\374" - "\377\376\374\374\377\376\374\374\377\376\374\374\377\376\372\376\377\376" - "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376" - "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376" - "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376" - "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376" - "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376" - "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376" - "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376" - "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376" - "\372\376\377\376\372\376\377\376\372\376\377\376\373\375\377\376\372\376" - "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376" - "\372\376\377\376\372\376\377\376\372\376\377\376\373\375\377\376\374\374" - "\377\376\373\375\377\376\372\376\377\376\372\376\377\376\372\376\377\376" - "\372\376\377\376\373\375\377\376\372\376\377\376\372\376\377\227\224\224" - "\377\6\10\12\3778;@\377X[^\377X[^\377Y[^\377Yej\377\40$*\377,08\377\21\22" - "\23\377\235\231\225\377\376\372\376\377\376\372\376\377\376\373\375\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" - "\377\376\375\373\377\376\375\373\377\376\375\373\377\376\375\373\377\376" - "\375\373\377\376\375\373\377\376\375\373\377\376\375\373\377\376\375\373" - "\377\376\375\373\377\376\375\373\377\376\375\373\377\376\375\373\377\376" - "\375\373\377\376\375\373\377\376\375\373\377\376\375\373\377\376\373\375" - "\377\376\373\375\377\376\373\375\377\376\374\374\377\376\372\376\377\376" - "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\373\375" - "\377\376\375\373\377\376\372\376\377\376\372\376\377\376\373\375\377\376" - "\372\376\377\376\374\374\377\376\372\376\377\376\372\376\377\376\372\376" - "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376" - "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376" - "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376" - "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376" - "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376" - "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376" - "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376" - "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376" - "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376" - "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376" - "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376" - "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376" - "\377\376\372\376\377\376\372\376\377\376\375\373\377\376\373\375\377\376" - "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376" - "\377\376\372\376\377oi`\377\21\25\32\377&.6\377#)4\377\40&.\377\"&.\377Z" - "fl\377\37$+\377+19\377\22\30\40\377\202qj\377\375\366\370\377\376\372\376" - "\377\376\372\376\377\376\373\375\377\376\375\373\377\376\376\372\377\376" - "\376\372\377\376\376\372\377\376\376\372\377\376\374\374\377\376\374\374" - "\377\376\374\374\377\376\374\374\377\376\374\374\377\376\374\374\377\376" - "\374\374\377\376\374\374\377\376\372\376\377\376\372\376\377\376\372\376" - "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376" - "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376" - "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376" - "\372\376\377\376\372\376\377\376\372\376\377\376\373\375\377\376\372\376" - "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376" - "\372\376\377\376\373\375\377\376\374\374\377\376\372\376\377\376\372\376" - "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376" - "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376" - "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376" - "\372\376\377\376\372\376\377\376\372\376\377\375\372\372\377\376\372\375" - "\377\376\372\376\377\376\372\376\377\376\373\375\377\376\373\375\377\376" - "\372\376\377\376\372\376\377\376\372\376\377\376\373\375\377\376\373\375" - "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376" - "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376" - "\377\376\372\376\377\376\373\375\377\376\372\376\377\376\372\376\377\376" - "\373\375\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376" - "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376" - "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376" - "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376" - "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376" - "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376" - "\372\376\377\376\372\376\377\342\335\334\377/.-\377\35$,\377*.6\377'.6\377" - "%)4\377\"&.\377Zek\377\40%,\377*08\377$)3\377\27\24\27\377\300\274\275\377" - "\373\367\371\377\376\372\376\377\376\372\376\377\376\372\376\377\376\373" - "\375\377\376\373\375\377\376\373\375\377\376\373\375\377\376\372\376\377" - "\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372" - "\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377" - "\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372" - "\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377" - "\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372" - "\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377" - "\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372" - "\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\375\377" - "\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372" - "\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377" - "\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372" - "\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\375\377" - "\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372" - "\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377" - "\376\373\374\377\376\373\372\377\376\372\374\377\375\370\366\377\374\367" - "\364\377\374\367\364\377\373\366\364\377\376\372\373\377\373\367\367\377" - "\375\371\372\377\376\372\376\377\376\373\366\377\374\370\362\377\374\367" - "\370\377\375\371\367\377\372\365\363\377\374\370\366\377\371\363\363\377" - "\370\363\362\377\370\363\362\377\371\364\364\377\370\363\362\377\370\363" - "\362\377\366\360\357\377\366\360\357\377\366\361\360\377\370\363\364\377" - "\370\363\364\377\371\364\364\377\365\360\357\377\366\361\362\377\367\362" - "\363\377\371\364\364\377\371\364\364\377\373\366\364\377\372\366\370\377" - "\373\365\364\377\375\370\370\377\376\372\375\377\375\370\371\377\375\372" - "\372\377\364\356\356\377\317\313\314\377PMC\377\26\32!\377&,5\377&-4\377" - "%+3\377%+3\377\"&.\377[hp\377!'/\377*.7\377*/7\377\36#(\377\33\32\32\377" - "mhd\377\261\255\252\377\271\264\260\377\272\266\261\377\272\266\264\377\271" - "\263\255\377\271\265\263\377\272\266\267\377\262\260\260\377\263\261\263" - "\377\264\262\265\377\262\257\260\377\255\246\234\377\242\233\227\377\221" - "\214\206\377\217\216\212\377\217\215\211\377\216\213\206\377\211\206{\377" - "\211\203\200\377\203\177|\377\203\177y\377\201\177~\377yvr\377zws\377}yq" - "\377}wq\377qmo\377omo\377omo\377omo\377omo\377omo\377omo\377omo\377omo\377" - "omo\377omo\377omo\377omo\377omo\377omo\377omo\377omo\377onm\377omn\377om" - "o\377omo\377omo\377omo\377omo\377omo\377omo\377omo\377omo\377omo\377omo\377" - "omo\377omo\377omo\377omo\377omo\377omo\377omo\377omo\377omo\377omo\377om" - "o\377omo\377omo\377omo\377omo\377ooj\377ooh\377onk\377li^\377kg[\377jf[\377" - "hd[\377nnh\377ifa\377mjf\377omo\377onm\377lh_\377jgb\377lka\377gcX\377ki" - "^\377d_X\377c_V\377c_V\377eaZ\377c_V\377c_W\377_ZP\377_YP\377_ZS\377c_Z\377" - "b^Z\377e`Z\377\\XP\377^[W\377`]Y\377e`Z\377eaZ\377ie[\377fdb\377hc[\377l" - "jb\377onm\377ljd\377nmg\377ZVO\377\26\26\27\377\20\26\36\377!'0\377'-4\377" - "'-7\377'-5\377&+3\377\"&.\377Zej\377\37#)\377*.6\377*.8\377).8\377\"'/\377" - "\23\26\33\377\24\26\27\377\25\27\27\377\26\27\31\377\25\27\30\377\26\26\27" - "\377\24\26\27\377\25\27\31\377\24\25\27\377\24\25\30\377\24\26\30\377\24" - "\26\30\377\23\24\25\377\21\23\24\377\17\22\21\377\17\21\23\377\20\22\24\377" - "\17\21\22\377\17\21\21\377\20\21\23\377\16\20\21\377\16\20\20\377\16\20\21" - "\377\16\17\23\377\16\20\26\377\17\20\25\377\16\20\26\377\14\17\31\377\14" - "\17\27\377\14\17\25\377\14\16\23\377\14\16\30\377\15\20\32\377\14\17\33\377" - "\14\17\37\377\14\17\33\377\14\24\40\377\15\22\34\377\15\17\33\377\14\17\32" - "\377\15\20\32\377\14\16\30\377\14\17\27\377\14\17\31\377\15\17\34\377\13" - "\16\36\377\14\22\35\377\14\22\33\377\14\17\31\377\15\24\33\377\15\21\33\377" - "\14\17\30\377\14\16\25\377\15\24\36\377\15\21\31\377\14\23\34\377\14\22\33" - "\377\13\22\36\377\14\23\33\377\14\24\34\377\14\21\31\377\14\22\33\377\13" - "\23\35\377\16\27\40\377\14\24\35\377\13\23\36\377\17\26\36\377\15\25\37\377" - "\14\25\40\377\13\24\40\377\20\30!\377\21\31\"\377\20\31\"\377\21\34%\377" - "\23\33'\377\26\36*\377\24\35(\377\23\35&\377\27\37+\377\25\35)\377\24\35" - ")\377\21\33%\377\22\34%\377\23\34(\377\26\36*\377\24\36(\377\22\34&\377\23" - "\34'\377\22\34'\377\27\37+\377\30\40+\377\25\37*\377\27\40+\377\30\40+\377" - "\26\36*\377\32!*\377\30!+\377\27\37*\377\27\35'\377\25\36)\377\26\35&\377" - "\25\35*\377\26\35&\377\25\36)\377\26\35&\377\26\35&\377\23\33%\377\23\33" - "%\377\24\33#\377\20\31#\377\22\27\40\377\20\30!\377\21\32%\377\30\40*\377" - "\35$,\377\")1\377%*1\377%*1\377%+2\377%+4\377$*3\377\"&.\377Zdj\377\37#+" - "\377'.6\377',6\377(/6\377'.6\377(/7\377'-5\377&-3\377)-8\377&,5\377&,4\377" - "&,3\377&-5\377%,4\377'+4\377&-4\377'-5\377',5\377',6\377(.4\377&+5\377)." - "7\377&+5\377(.6\377'/7\377&.6\377)/6\377)/7\377*.7\377(/7\377).7\377).7\377" - ").6\377)/7\377(16\377)08\377)/8\377(/7\377*08\377).8\377).8\377(/7\377)-" - "7\377*.6\377(.7\377)/7\377(-5\377'-6\377'-5\377).7\377&-5\377'-4\377(-4\377" - "&.3\377&-5\377'+6\377',6\377(-5\377&-4\377'-5\377&-5\377%*1\377$)1\377&-" - "2\377&,5\377&,3\377%+3\377%*3\377%,4\377$)2\377%*4\377&,2\377)/6\377(.6\377" - "&+4\377&+6\377(-6\377%-5\377&/6\377)-6\377*08\377)/7\377)/6\377(.6\377*." - "7\377*/8\377&-3\377).6\377'.7\377).7\377)/7\377'.6\377'.7\377).7\377)-9\377" - ")/7\377).7\377(.7\377(,6\377).6\377(.6\377).6\377&-4\377'-5\377&-5\377%+" - "3\377&*6\377%,5\377&,5\377'-6\377'-6\377%,4\377%+2\377%*3\377$*2\377$+2\377" - "$+1\377%,2\377$)1\377$*1\377$*1\377$*1\377%+2\377#*2\377&+4\377\"'1\377\"" - "&.\377Zel\377\36\")\377&-4\377(-5\377(.5\377(-5\377&-5\377(.6\377'.6\377" - "&+5\377(.5\377'.5\377'.4\377)/6\377'.6\377(.6\377'-6\377'.6\377',6\377)-" - "8\377&.6\377(-5\377&-6\377&-6\377'.6\377'.7\377'-7\377'.6\377).8\377).7\377" - ").8\377*/7\377*.8\377).8\377).8\377).8\377)/6\377*.7\377*07\377*.6\377)." - "6\377'.7\377).8\377).8\377*06\377)/7\377(.6\377'-6\377).6\377(.6\377&/5\377" - "(-5\377'.6\377'.6\377'-4\377%,4\377%*3\377%+1\377%*3\377%,2\377%+1\377$*" - "1\377$*2\377%,2\377%-2\377#(2\377$+2\377%,3\377$*1\377&,2\377%*3\377$*2\377" - "%-3\377&.4\377&-5\377&+4\377(.5\377',3\377).6\377).6\377'/6\377&,6\377&." - "6\377'-6\377)/7\377*/9\377).6\377).6\377&-6\377&.6\377&+6\377(,6\377',6\377" - "&-6\377).6\377*.6\377'/6\377&,6\377)/6\377'-6\377'.6\377&-5\377(,6\377(-" - "6\377',6\377).5\377',6\377%+4\377%+2\377%+3\377$+2\377%,3\377$)1\377$)1\377" - "$*1\377%*2\377%*1\377$)1\377$)1\377#*1\377\"*2\377%-2\377$+2\377#)3\377%" - "*2\377&*4\377%)3\377\"&.\377Ydi\377\34!'\377&-5\377&-4\377(+5\377&,4\377" - "'-5\377'.5\377&,2\377%*3\377$+3\377&.4\377(-5\377&.6\377&,5\377(.5\377&," - "5\377&-5\377',6\377'-6\377).6\377&-5\377(-6\377'-6\377',6\377'.4\377)-6\377" - ").6\377).6\377*.7\377).6\377(/6\377(.7\377'.6\377(.7\377'.7\377)/6\377*." - "6\377*.6\377(.6\377'.6\377(.8\377)07\377'-7\377)-6\377'+7\377'-4\377&+5\377" - "(.6\377',4\377&.4\377&-4\377(-6\377',6\377(-6\377$+3\377&+4\377&,3\377$*" - "1\377%+1\377%-2\377%*3\377&,2\377&*2\377%+3\377%,4\377$*1\377%*2\377$*1\377" - "%*1\377$)0\377%*3\377&-3\377%+4\377&*5\377&,4\377&-5\377&,5\377'-4\377(-" - "6\377)/6\377&.6\377&.5\377'-6\377)/7\377'/7\377'.6\377'.6\377(-6\377).6\377" - "'-6\377&,4\377)-7\377(-6\377'.5\377).7\377'.6\377&-6\377&-5\377&-5\377&-" - "4\377&-5\377%,4\377&-6\377'.4\377',5\377$*4\377%,4\377%+2\377'+6\377%+2\377" - "$*1\377$*3\377&,4\377&+3\377%+2\377%*1\377$)3\377\")2\377\"(2\377#*1\377" - "#+2\377#)2\377$*2\377%,2\377%*3\377!'1\377\"&.\377Ydi\377\35!%\377%+2\377" - "$+2\377',6\377&+4\377$*3\377&-3\377&,3\377&+5\377%*2\377&*4\377',4\377&," - "5\377&,5\377',5\377&-5\377&-6\377&+4\377&-4\377&-5\377'-6\377&,4\377,06\377" - "&,3\377&-3\377&-5\377'.6\377',6\377)-6\377',3\377(.5\377(.8\377).6\377)." - "6\377*.6\377(.7\377&.6\377&.6\377'-7\377'/7\377'.6\377(.6\377).6\377'.6\377" - "'.6\377'.4\377'-5\377)/5\377',5\377&-5\377&.5\377&-5\377%*2\377\"'.\377$" - "+3\377$,4\377&-4\377&,3\377%,3\377$)0\377\36!+\377\30\34&\377\30\32\"\377" - "\33\37$\377\31\36%\377\31\37&\377\34%0\377\")1\377#*3\377$)0\377$*1\377%" - "+1\377\"&/\377$)0\377&+3\377&+2\377&,3\377&-4\377&+6\377(07\377(.5\377'-" - "6\377(06\377)/7\377&.6\377&-6\377(.6\377(.6\377'.6\377&.5\377&-6\377&,6\377" - "(-6\377%,4\377(.6\377'-5\377&+5\377&-5\377&,6\377',4\377&-6\377&-5\377%," - "4\377%,3\377&+3\377%*2\377$*1\377#*2\377$+2\377#(2\377#*2\377%*4\377%*2\377" - "$)0\377%*2\377$)3\377#)2\377$)1\377%+1\377$*1\377#)2\377$)1\377$*1\377$*" - "2\377$)3\377\"(1\377\"&.\377Ydi\377\35!%\377&-4\377%+3\377&,4\377$,3\377" - "&-6\377%+2\377$*2\377',3\377&-4\377%+3\377%+2\377&-6\377&+5\377'-5\377%," - "4\377%+3\377&-4\377%-4\377$+2\377&+2\377$+2\377&+5\377&-6\377(.6\377&.6\377" - "&.6\377(.6\377'-6\377',6\377'.6\377&.6\377'.4\377',6\377'.6\377&-6\377&." - "6\377&.6\377).6\377'/6\377&.6\377'.6\377(.6\377'-4\377&-6\377&.5\377&.6\377" - "&.5\377&.4\377&+5\377'.5\377&-5\377$+3\377$,3\377%+2\377#)1\377!&.\377\26" - "\31#\377\21\23\24\377\24\25\30\377\40\"#\377,..\377.4,\377/4+\377.4-\377" - "'(\"\377\26\32\35\377\21\23\24\377\20\25\34\377\34\"*\377%)0\377%+1\377%" - "+1\377%*1\377%*1\377(/6\377'.6\377(.6\377&-6\377&.6\377'.6\377'.6\377&.6" - "\377(/6\377(.6\377&.6\377'.6\377&.6\377'.6\377'.5\377&.6\377&-6\377&+6\377" - "&.6\377&,6\377&.4\377&-5\377&.5\377&-4\377'-6\377$+3\377&,3\377%+2\377%+" - "4\377%+1\377&-5\377%*3\377%+3\377$,2\377$*1\377$*1\377\"*2\377#*2\377%+1" - "\377%+1\377%*1\377#*3\377#*3\377#(2\377#)2\377\"*2\377!)0\377$)1\377$*1\377" - "$*1\377!%/\377\"&.\377Ydi\377\36!'\377&-3\377',4\377&,4\377&,4\377&-4\377" - "%*3\377$*1\377&+5\377%*2\377%+2\377%*1\377&,4\377%*2\377&*4\377$+2\377%+" - "3\377%,4\377$*2\377%+2\377$,2\377&,3\377%+2\377&-4\377&,4\377&-5\377'-6\377" - "&.6\377(-6\377(,5\377',6\377'-6\377'.6\377&,6\377&-4\377'.5\377(.6\377(-" - "6\377'.6\377(.6\377&.6\377(.6\377(-5\377',4\377&,6\377).6\377)/6\377&,5\377" - "&-6\377&-4\377#(0\377%*3\377&+4\377&+4\377\31\35#\377\21\20\26\377\37#\37" - "\377::3\377PTG\377[XP\377\\XM\377]XJ\377ZWK\377^XJ\377YWK\377]XJ\377ZXN\377" - "VTH\377CC;\377**(\377\25\26\31\377\24\27\33\377$*2\377$,3\377%,2\377#(/\377" - "#)0\377(,4\377',4\377'.5\377).6\377',6\377'-4\377'.6\377&.6\377'-6\377&-" - "6\377&-6\377'-6\377(-6\377(.6\377&-4\377'.6\377'-6\377$+3\377%,2\377%+3\377" - "&-6\377&+6\377'-5\377(.5\377'-6\377&+4\377&-4\377%*2\377%*3\377#+2\377%*" - "3\377%*3\377%*1\377$*1\377#*2\377$*3\377$*4\377$+2\377$)1\377$+2\377#*3\377" - "#)2\377#(2\377#)2\377$(0\377$)1\377$*2\377%-2\377\"(1\377\"&.\377Zek\377" - "\35\"(\377&-3\377&-4\377&+5\377%+3\377%,3\377%+2\377%-4\377&,4\377%*2\377" - "&,3\377&*5\377&+4\377$*3\377&*5\377$*2\377$*1\377%+2\377#*2\377$*2\377&-" - "4\377&.4\377%*3\377&,5\377&-5\377&+6\377%,4\377&,5\377&-4\377&-3\377&-6\377" - ").6\377',6\377'.6\377'.6\377(.6\377&.6\377&-6\377&,5\377&,5\377&,6\377&." - "6\377(.6\377'-4\377&+6\377&,4\377&.6\377&-4\377(.6\377*/7\377'+4\377&,3\377" - "\35$,\377\20\25\31\377()'\377KJB\377TUG\377URF\377RQG\377ROE\377QOE\377Q" - "NE\377RNE\377RNE\377QNE\377QNE\377OOF\377QOF\377RQH\377XTH\377RQI\377:90" - "\377\23\25\30\377\33\40%\377%*3\377&+2\377&.4\377&,5\377&-5\377).6\377(-" - "6\377',6\377'.6\377*/6\377&.6\377(-6\377&.6\377&.6\377'.6\377&.6\377&-6\377" - "&-6\377(-7\377&-6\377'-6\377',3\377&-6\377%*4\377&,5\377&*4\377&,4\377$+" - "3\377%+2\377%+1\377%*2\377%*2\377#*2\377$*2\377$*2\377$(0\377%*1\377#)3\377" - "$)3\377#*2\377$)2\377%*1\377%*2\377\")2\377#)3\377$+3\377#)1\377#'/\377\"" - "'1\377#(0\377$+2\377!(0\377\"&.\377Yej\377\36\")\377&+3\377&+5\377%+3\377" - "%+2\377$*3\377&,4\377%,2\377%*3\377&*4\377%*1\377%*2\377&+3\377%*3\377%*" - "2\377%+3\377%,2\377%,3\377%*4\377$+4\377%+4\377&-3\377%*4\377&*4\377%-5\377" - "%,4\377%+5\377%,3\377%*4\377'-4\377$,4\377&-6\377',6\377'-6\377'-4\377'." - "5\377'.5\377&,4\377%*5\377%-5\377'-6\377(.6\377'-7\377&,6\377&,6\377'-6\377" - "&,6\377%+3\377&-3\377&-5\377&,4\377\30\34\"\377\34\40\37\377AE9\377WVI\377" - "SQF\377ROE\377ROE\377POF\377RPF\377SPG\377RSI\377QPG\377QPG\377RQH\377SP" - "G\377QOE\377ONE\377ONF\377RNE\377OOF\377XVI\377SRD\377++%\377\15\26\35\377" - "%*4\377(.6\377%,5\377$,4\377'+4\377&-6\377).6\377(-7\377(.6\377&.6\377&." - "6\377&.6\377&.5\377'.6\377&.5\377&-6\377&,4\377&,4\377&+4\377%+5\377%*4\377" - "%*5\377%*5\377&*6\377&+6\377&*6\377',4\377%+3\377$+2\377\"*2\377#)3\377#" - "*2\377$*2\377\"*2\377$*1\377$+2\377%+3\377&,5\377$*3\377$*1\377$*3\377$*" - "2\377#*2\377\")1\377%+1\377$)0\377%*3\377$*3\377%*2\377&,3\377\35#,\377\"" - "&.\377Zek\377\34\")\377&-2\377%+2\377%,2\377$+2\377%+3\377&-6\377%+3\377" - "%,2\377%+1\377%*1\377%*1\377%+2\377%,3\377#*2\377#)2\377#*2\377$+2\377%*" - "2\377%,2\377%+4\377#*2\377%,2\377$*1\377$+2\377%+2\377%+2\377%+2\377$*2\377" - "&,4\377%*4\377&+4\377(-5\377'-5\377&-5\377&,5\377&.4\377%+3\377&-6\377&+" - "6\377&,4\377&+6\377&+6\377&+6\377(,6\377&.4\377&+5\377%-3\377&-4\377\")1" - "\377\27\32\37\377'+%\377WUG\377WWI\377ROE\377ROE\377ROE\377SPF\377YUM\377" - "TTF\377LLA\377FG@\377DD:\377CC:\377IIA\377LLI\377VTI\377a\\M\377YXO\377R" - "QI\377QME\377ONF\377RPF\377VTF\377>?4\377\27\31\31\377\37'.\377%+5\377&," - "6\377(-6\377&.6\377&-6\377',6\377'.6\377&.6\377&.6\377&,5\377&-4\377%,4\377" - "&-6\377&-6\377%*3\377&,5\377&,5\377&+5\377%+4\377&,5\377$*2\377&*3\377%*" - "4\377%*2\377%*3\377&+4\377&+5\377%,2\377$*2\377$*3\377#*2\377$*1\377#)2\377" - "#+2\377\")1\377\"*2\377\")2\377#(0\377%*2\377$*2\377$*3\377\")1\377$*1\377" - "$)0\377#)2\377$*1\377%,2\377\"*2\377\"'/\377\"&.\377Zek\377\34\")\377%+1" - "\377',3\377',3\377&,2\377%*1\377&-5\377$*2\377%+2\377%*1\377#)2\377#*2\377" - "#*2\377#*2\377#*2\377#'1\377%*2\377$+2\377$*2\377$*1\377&-4\377%+3\377$*" - "3\377%*3\377%+3\377%*2\377%-5\377&-3\377&,5\377&+4\377%)5\377&+3\377%+2\377" - "$*1\377&-4\377'-5\377&,3\377%*3\377'.4\377&-4\377'-6\377&+6\377&-6\377&+" - "5\377',5\377&-6\377&+5\377%+4\377&-4\377\20\24\31\37711+\377WVH\377ROF\377" - "QOF\377RQF\377PPF\377KK@\377FE;\377BB8\377;>4\377;;2\377::0\377::0\377;:" - "0\377=<2\377>>6\377BA8\377FE=\377SQL\377]YT\377ZXR\377ONE\377POF\377QOF\377" - "USG\377EE;\377\25\27\27\377&*3\377'-7\377&,6\377$*4\377'/6\377&.6\377&-6" - "\377&.6\377&-6\377&,4\377&,5\377%*5\377&*4\377&-5\377&,5\377&+4\377'.4\377" - "'+4\377$+3\377#*2\377#*3\377&*2\377%*4\377$)1\377\")2\377$*1\377$*3\377$" - ")3\377$)1\377$*2\377\"*2\377#*2\377#)1\377\")1\377!(0\377\"*1\377#)1\377" - "#(2\377$+3\377#)2\377#*2\377$*1\377#*2\377$*1\377%*3\377%*3\377\"*2\377\"" - "(2\377\36$-\377\"&.\377Zek\377\34\")\377&+3\377&,2\377%*1\377&+3\377&,4\377" - "$+2\377&,3\377%*2\377$*1\377%)3\377%*2\377$*3\377%,2\377%,2\377%*3\377$*" - "1\377%*1\377%*1\377$)0\377#)0\377%,3\377%,4\377$*2\377$*2\377%)3\377$*2\377" - "%+3\377%+3\377%*2\377%,4\377#+3\377%-4\377%*1\377&-2\377%,3\377&+3\377&," - "4\377&,4\377&-5\377&.6\377'-5\377&-4\377&+5\377)-6\377'.6\377'-5\377&.7\377" - "\30\32\40\37797+\377VTF\377QOF\377RQF\377QPE\377II@\377CC:\377;<2\377;;1" - "\377:8-\377:8-\377:8-\377:8-\377:8-\377:8-\377:8-\377:8.\377:9.\377:8-\377" - "::0\377880\377KJ@\377\\ZT\377WXO\377NOF\377OOF\377SSG\377II>\377\30\31\30" - "\377%*3\377'-6\377'-6\377&-5\377&,5\377&-6\377'.7\377'.7\377%-5\377&-5\377" - "&+4\377&-4\377&,3\377$+3\377&-6\377$+4\377%*3\377%,4\377$*3\377$+4\377#*" - "2\377\"*2\377#)3\377#*3\377#*2\377$*2\377#*2\377#(2\377#+1\377$*1\377\"*" - "2\377$*1\377$(1\377#)1\377$+2\377$)1\377#*1\377#)1\377#*2\377%*2\377\"*2" - "\377#*2\377$*1\377%*4\377#'1\377\")1\377#)2\377\"&.\377\"&.\377Zeo\377\35" - "\"+\377$*1\377%*1\377$*1\377$+3\377%,3\377%+2\377%+2\377%*2\377#(2\377#)" - "2\377%+1\377%+1\377%*2\377%*2\377$(1\377%*1\377$*1\377%*2\377$*3\377$*1\377" - "$+1\377$*2\377$,2\377&*4\377%+4\377%)3\377%+2\377%*1\377%*2\377$)2\377&+" - "4\377%+2\377&,4\377$,3\377%-4\377%,3\377%,4\377&,4\377&-5\377&-4\377&,5\377" - "&-3\377',4\377#(1\377&-5\377&,5\377\31!)\377,+%\377SQG\377QPF\377RPF\377" - "PPD\377EF;\377==3\377<;0\377:8-\377:8-\377:8-\377:8-\377:8-\377:8-\377:8" - "-\377:8-\377:8-\377:8-\377:8-\377:8-\377:8-\37798.\37788/\377<=3\377XXR\377" - "[ZS\377PND\377QOE\377WTJ\377EB3\377\24\31\33\377'-8\377&-6\377&+6\377(-6" - "\377'-6\377'.5\377&,5\377%+5\377&-5\377',4\377%*5\377&+6\377&,5\377%+5\377" - "#*3\377#*3\377$*3\377$*4\377$,3\377%+3\377$*1\377$)4\377\"*2\377\"(0\377" - "#)2\377$*2\377$*2\377\")1\377\"'2\377\")0\377#*2\377$*1\377#)2\377$+3\377" - "\"(2\377$*1\377%)2\377%*2\377%,2\377$*1\377#*2\377\")2\377#)3\377$*3\377" - "!(0\377$*1\377$(/\377\"&.\377Zel\377\35!)\377$+1\377%,4\377&-4\377$,2\377" - "%+2\377$+3\377$,4\377&,3\377%+1\377%*1\377#(0\377%+2\377$+3\377%,5\377%)" - "2\377$)0\377$+2\377\"*2\377#(0\377#*1\377$*0\377$)0\377$*1\377#*2\377$)4" - "\377&+4\377#+2\377&-2\377%*1\377#(2\377%*2\377&*4\377%*1\377%*4\377&-3\377" - "&-4\377&+6\377%*3\377$*2\377$+2\377&+4\377&-5\377%,3\377%+2\377%+3\377\40" - "%.\377%%\40\377RQD\377OOF\377QPF\377PPD\377CC9\377;;2\377:8-\377:8-\377:" - "8-\377:8-\274:8-\247:8-\35:8-\3:8-\3:8-\3:8-\3:8-\3:8-K:8-\247:8-\247:8-" - "\364:8-\377:8-\377:8-\37777.\377KK?\377`]X\377PQG\377POF\377XWH\37700&\377" - "\33\40(\377*/9\377).7\377'+7\377%,5\377&.6\377&,6\377%,5\377$*3\377&,5\377" - "&-3\377$)0\377%+3\377%*3\377%*3\377#(3\377$*1\377%,3\377$+3\377#*2\377#'" - "0\377$*1\377\"*2\377#)2\377\"*2\377\")2\377\"(2\377#)2\377\")1\377\"(1\377" - "#(1\377$*1\377#*2\377\"'2\377$)3\377$+3\377$*4\377%*2\377#*2\377$*2\377$" - "*2\377$)4\377'+4\377%+1\377&*3\377%*2\377!&-\377\"&.\377Zem\377\35\37*\377" - "%+1\377%*2\377%*3\377%+2\377&-4\377%+3\377%(1\377$*2\377&,2\377&+3\377$," - "2\377#+3\377#)0\377%*1\377$*2\377\")1\377#)1\377#*2\377#)2\377%+2\377&-4" - "\377$)1\377#*1\377#*2\377#)3\377%+5\377$+2\377%+1\377%,4\377$*4\377%,2\377" - "$*1\377#*2\377#)2\377$*1\377%*2\377%*3\377&+3\377#)2\377$*3\377&,4\377%*" - "3\377%+3\377$+2\377$*3\377\27\31\40\377LM?\377PPF\377PPF\377QQG\377DD:\377" - ";<2\377:8.\377:8-\377:8-\366:8-\260:8-\23\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0:8-D:8-\260:8-\366:8-\377" - "98.\37799.\377QOE\377^]X\377PPF\377PPF\377OPB\377\34\35\31\377\37%,\377'" - ",6\377%*4\377$*3\377&,6\377&,6\377$*3\377%*2\377$*2\377%+4\377%*3\377#*2" - "\377$*2\377$*3\377$)1\377$*1\377#*2\377#)2\377#(2\377#(1\377\")2\377\"'2" - "\377\"&/\377\40'2\377#)2\377\"(0\377!(0\377$)1\377#)2\377$(2\377$*2\377\"" - "(2\377\")2\377\"(2\377#)1\377$*2\377$*1\377#*2\377%*3\377&+5\377\"*2\377" - "$)2\377%+1\377%*2\377%*2\377#)0\377\"&.\377Zen\377\34\40+\377%+1\377&,3\377" - "%,3\377&,2\377',3\377%*1\377$*1\377$)1\377%,2\377'+3\377$*1\377\")1\377#" - "*2\377%-2\377#)2\377$*1\377#*2\377#*2\377$+1\377#*1\377#)1\377$,2\377$*1" - "\377%*3\377$)2\377#*2\377$,2\377%+3\377&,4\377%+2\377$+1\377$)2\377$+3\377" - "#*2\377$*2\377$,2\377#*2\377&*4\377%*3\377#*3\377%,3\377\")1\377%-2\377$" - "*1\377\36!(\377--'\377SSE\377RPF\377QPF\377GG>\377;;2\377:8-\377:8-\377:" - "8-\336:8-1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0:8-1:8-\336:8-\377:8-\377" - "76*\377TTM\377ZXO\377QNE\377QPF\377??2\377\35\37!\377&,8\377&-3\377&,4\377" - "&-6\377&-5\377&.3\377#+2\377%*4\377#*2\377$*2\377%*3\377%+4\377#)2\377#)" - "2\377#)2\377#*2\377#)2\377\")1\377!(0\377#)2\377#+3\377\"(1\377\")1\377\"" - ")1\377#(0\377!'/\377\"(1\377#(1\377#(1\377%)1\377$*1\377\"(2\377$)4\377#" - "*2\377$*1\377\"*2\377\"*2\377$*4\377%,3\377\")1\377%*4\377%+3\377$*3\377" - "$)1\377!%,\377\"&.\377Zen\377\34\40+\377&,2\377&-2\377%+2\377%,2\377%+3\377" - "%,3\377$*2\377$*1\377$*1\377$)0\377%*1\377#*2\377$)1\377$*1\377$(4\377#)" - "2\377#*2\377%(0\377%*3\377$)1\377$(3\377$*2\377#*2\377$)0\377\")1\377\"*" - "2\377\"*2\377$)2\377%*1\377$(1\377$*1\377$*1\377#*2\377$*1\377$*2\377$*2" - "\377%*3\377%*2\377%,3\377%,2\377%+1\377$*1\377$+2\377$+3\377\40\"!\377HH" - "?\377RPF\377SOE\377LKA\377<;1\377:8.\377:8-\377:8-\356:8-1\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0:8-1:8-\356:8-\37798.\377::2\377" - "TPE\377SQF\377RNE\377UTK\377'&%\377!)2\377&-5\377$*4\377#*2\377$*2\377&+" - "5\377%*5\377$*2\377$*4\377$+2\377#*2\377$*1\377\"*1\377\"*1\377\"(1\377\"" - "'1\377\"(2\377\"'1\377\")2\377#)1\377#(0\377\")1\377\"(2\377\"*2\377$*1\377" - "!'/\377#)1\377\")2\377#)1\377\"*2\377$*2\377#)2\377\"'1\377$)1\377$(0\377" - "\"'0\377\"'2\377#*3\377$*3\377#*3\377&*5\377%,4\377$*4\377#(2\377!'/\377" - "\"&.\377Zfo\377\36\",\377'-4\377%*2\377%+2\377&,3\377&,2\377%*1\377%+3\377" - "%,3\377%+2\377%+2\377&,2\377%,4\377%*1\377#*2\377$*3\377$*1\377#(1\377$*" - "2\377#)2\377$*1\377#)2\377$)1\377#(2\377%)1\377\"*2\377#*2\377$*2\377$*2" - "\377\")2\377$*1\377#(0\377#)1\377%*3\377$*1\377$*1\377$*1\377$*1\377$*1\377" - "#*2\377$,3\377%+2\377&-4\377&+5\377\37&.\377..#\377QPE\377POF\377ZXL\377" - "A@6\377:8-\377:8-\377:8-\343:8-7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0:8-7:8-\343:8-\37755)\377ED;\377URI\377Q" - "OF\377OOF\377DD;\377\33\36'\377&,6\377!*1\377#)1\377%*2\377$*3\377\"*2\377" - "%+3\377$)0\377$*1\377$*3\377#)2\377!)1\377#(2\377\"(2\377\"(2\377$*1\377" - "#)0\377\"*2\377\"'/\377#)1\377\"'/\377\"(0\377!(1\377\"(0\377\")2\377$)1" - "\377%,3\377#)2\377#*2\377\"*2\377\"(1\377\"'/\377\")2\377\")2\377\")2\377" - "\"(2\377$)2\377%+3\377$+3\377#)3\377$*2\377$*2\377%*4\377#(/\377\"&.\377" - "Zfm\377\34!*\377',3\377&-4\377%-3\377%*1\377%,1\377%-4\377$+2\377%*1\377" - "%,3\377$*2\377$*1\377%+2\377%*2\377&*4\377%*2\377',4\377\"*2\377%-2\377%" - "*1\377#(0\377#)2\377#*1\377$)3\377%)1\377#(/\377#*2\377#*2\377#)1\377$+2" - "\377#(2\377$*1\377#*1\377$)2\377#*2\377%*1\377%*1\377$*1\377$*1\377%,2\377" - "&,5\377%+2\377%+2\377'-8\377\31!(\377?@5\377RPE\377PRH\377KLE\377:8.\377" - ":8-\377:8-\377:8-<\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0nxx\246:8-\37787,\37767.\377OKB\377ROF" - "\377QPF\377HG=\377\40%&\377\"(0\377#)1\377#(2\377$*2\377\"*2\377\"(2\377" - "*/6\377&*1\377#*2\377#(2\377$)0\377\"(2\377\")2\377\"(0\377$*1\377\"'2\377" - "\"'0\377#*1\377\"(1\377\"'0\377\"'/\377\"'/\377\"'/\377\"&0\377\"'1\377\"" - ")1\377$*2\377$*1\377\"(0\377\")2\377$)2\377$(0\377\"'/\377#*2\377#(2\377" - "#*2\377$*1\377#*2\377#*2\377#*2\377$+3\377%*4\377#*2\377$)0\377\"&.\377Z" - "gp\377\35\"-\377&,3\377%,1\377%+1\377&+3\377%,1\377#*2\377$+2\377&*1\377" - "&+3\377$*2\377#)1\377&+4\377&+2\377%+2\377$*1\377&+4\377#*2\377%-2\377$*" - "1\377%*1\377#(2\377$)1\377$)1\377#(1\377\"'0\377#*2\377#*1\377\"(1\377$*" - "1\377#*2\377%+3\377%)2\377&*4\377%+1\377$+3\377$*2\377$*1\377%*1\377%+3\377" - "'-5\377&*5\377#*2\377\"(0\377\36\"#\377OPA\377OOF\377NOG\377>=5\377:8-\377" - ":8-\377:8-\271:8-\17\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0:8-\17:8-\27197,\37766,\377IH=\377VU" - "K\377QOE\377OMC\377$&\"\377\40&/\377$+2\377%+4\377%*1\377#)2\377#)2\377\"" - "(1\377\"*1\377#)1\377#'0\377$+2\377#(1\377\"&0\377#'0\377\"(1\377#(2\377" - "#(1\377\"'1\377\"&/\377\"&/\377\"'0\377!(0\377#(0\377\"&0\377\"'0\377\"(" - "1\377$)1\377\"(1\377\"'0\377\"(2\377#(2\377$)1\377#(1\377#)3\377\")1\377" - "$*1\377$*1\377%*1\377#*3\377#*2\377#*2\377%*3\377&,4\377%)2\377\"&.\377Z" - "el\377\34!)\377&-3\377&-2\377',3\377%*2\377#*2\377%+3\377%+1\377%*1\377$" - ",3\377%*3\377%+1\377%*2\377&*4\377%*2\377&+4\377%+2\377$*1\377%+1\377$+2" - "\377%*2\377$)3\377$)1\377$+3\377\")1\377$+4\377\"*1\377\"*2\377#*3\377#*" - "1\377$)1\377\")2\377#)2\377$*2\377%*3\377$*1\377#(2\377%*1\377$*1\377#*2" - "\377$)0\377$*0\377$*1\377\")0\377021\377RPC\377OOF\377KNE\377;:0\377:8-\377" - ":8-\366:8-^\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0~\214\220^CC:\36665)\377<=7\377" - "WYR\377ONF\377QOE\3770/)\377\37%+\377\"(1\377\")1\377\40&.\377#(1\377#)1" - "\377#(0\377#)1\377#(0\377\"'0\377#'0\377\"'0\377\"&1\377\"'/\377\"&1\377" - "\"'1\377\"&/\377\"'0\377$)1\377\"'1\377#)1\377\"'1\377\"'/\377\"&1\377\"" - "&0\377\"'/\377\"'2\377\"(2\377$*2\377#)1\377!(1\377!'1\377\")2\377\"*2\377" - "\")1\377\")2\377#*2\377$*1\377%*2\377$*1\377%*1\377%+1\377%*4\377!%.\377" - "\"&.\377Ydi\377\34!&\377%,3\377',3\377%+1\377%*1\377#)2\377&+2\377&+2\377" - "#)2\377%+1\377$*1\377$-0\377#*2\377#)2\377#(2\377'-5\377&,4\377%*1\377%*" - "1\377$*1\377%*1\377$*2\377$(1\377#)1\377#)1\377$*3\377\40'0\377!(/\377$)" - "1\377$)1\377#(1\377$+2\377%*1\377$)0\377$*1\377%*1\377%*1\377%*1\377$*1\377" - "\")2\377$+3\377$+2\377$*3\377\40$,\37712.\377QPE\377OOF\377AA9\37798.\377" - ":8-\377:8-\326\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0^eb\326:8-" - "\37777.\377UUQ\377NNF\377QNE\377;;.\377\34\")\377\"'0\377\")2\377!(0\377" - "\"'0\377\")1\377\"*2\377#(0\377#(0\377#*1\377#(/\377\")2\377\"'1\377#)1\377" - "\"'0\377\"'1\377!&.\377!%.\377#)2\377\"(1\377\"(1\377\")2\377#(2\377\"&/" - "\377\"&2\377\"(0\377\")1\377\"'/\377\")1\377\"'0\377!&/\377#)2\377\"(2\377" - "$*2\377\"(1\377#(2\377%*2\377$*2\377%*1\377$*2\377$*1\377%+1\377#*2\377\40" - "&-\377\"&.\377Zek\377\34\40'\377&-3\377&+2\377%*2\377%+1\377$*1\377$*2\377" - "%*2\377#*2\377%*1\377%+2\377$*1\377%+1\377%*1\377$*1\377$)1\377%+4\377&," - "5\377&-3\377#(0\377%*1\377%*1\377$*1\377%*1\377\")2\377#)2\377$'0\377$)1" - "\377%+1\377$)1\377#*2\377%*1\377#(2\377#(1\377#)1\377%*1\377$*1\377%,1\377" - "%*1\377#*2\377&,3\377%*3\377%*3\377\"&/\377<<3\377RQE\377NMD\377DE<\377>" - "=3\377:8-\377:8-=\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0r}\177\246" - ":8-\37798-\377EEA\377OOF\377PNE\377A@3\377\35\"(\377!&0\377#)1\377#)1\377" - "\"&/\377\40&/\377\"(0\377\")2\377\"(0\377#'/\377\"&/\377$)1\377\40(/\377" - "\"&/\377\"(0\377!'0\377\")1\377\"(2\377\"'/\377#(0\377#'/\377!'/\377\"(2" - "\377\"&/\377\"'0\377\"(2\377#)1\377\37&.\377!%/\377\"(0\377\"(0\377#(0\377" - "%*1\377$*1\377#)2\377\"(2\377\")2\377#)1\377$+2\377%+2\377$*3\377$*4\377" - "#)2\377#'/\377\"&.\377Zdj\377\35!(\377%+1\377%+2\377%*2\377%-3\377#*2\377" - "%*2\377%*2\377#*2\377$*1\377$)1\377\"*2\377#+2\377%*2\377%*2\377%*1\377$" - "*1\377%)1\377&+2\377$)0\377$(0\377$*1\377$)1\377$)1\377$*1\377$*1\377#)2" - "\377#*2\377#*2\377\"(1\377$)0\377%*1\377$*1\377$)1\377\"(1\377$)1\377#(0" - "\377#)2\377$)1\377#)2\377&,2\377&,4\377$*1\377\"(/\377A?6\377RRF\377LL@\377" - "==4\377:9.\377:8-\377:8-3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "nyy3QTO\37797-\377@A<\377PQF\377ONF\377GE;\377\30\40'\377\40&.\377\"(2\377" - "$)1\377\"(1\377\"(1\377\"(1\377#(1\377#(0\377#)0\377\"&.\377\")1\377!'/\377" - "\"'0\377\"'0\377\"&.\377#'/\377\"'/\377\"&.\377#'0\377\"&/\377\"&/\377\"" - "'1\377\"'/\377\"(0\377#(1\377!(0\377!)1\377\"'0\377#'/\377$*1\377\"'/\377" - "$)1\377\"'2\377!'1\377!'1\377\")2\377\"(2\377#(3\377$*2\377\"*2\377#*2\377" - "%+2\377!'/\377\"&.\377Ydi\377\34\37'\377%*1\377%+1\377%*1\377&,2\377$*3\377" - "%-2\377#(3\377$*1\377$+3\377$)0\377$*1\377%)2\377%*3\377#*2\377$(1\377%+" - "4\377$*1\377%*2\377%+3\377%*1\377$+2\377$+2\377%*1\377\"(1\377#'1\377$*1" - "\377#(0\377\")1\377$*1\377%,2\377$)2\377$)0\377$)1\377$*1\377$)0\377\"'1" - "\377#)2\377#(0\377%*1\377\"(0\377$)1\377#(3\377\37&1\377CC;\377RRF\377JJ" - "?\377891\37787-\377:8-\377:8-3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\213\234\2433^da\377:8-\377BB7\377NPF\377PNE\377KJ@\377\37$*\377#)" - "0\377#(1\377\40&.\377\")1\377#(0\377\"&/\377\"(0\377\")0\377\"&/\377\"&/" - "\377\")1\377\"'1\377#)1\377#(0\377#'/\377\"(0\377\"'/\377\"&/\377\"(0\377" - "\"&.\377\"&1\377#'/\377#(0\377!&0\377#(0\377\"&.\377$)0\377\")1\377\"(0\377" - "!'/\377!&/\377\"&0\377\"&/\377\"*1\377\"*2\377#(2\377$+2\377\"(2\377\"(2" - "\377#*2\377$*1\377#*2\377#)1\377\"&.\377Ydi\377\36\40(\377&+5\377&-4\377" - "%*1\377%*1\377%*1\377$+2\377#*3\377%*2\377&+3\377$+2\377$*3\377#)1\377%*" - "1\377$*1\377%+1\377$*1\377$*1\377%*1\377$,2\377$*1\377$+2\377%*1\377$*2\377" - "\"(0\377#)1\377%*1\377%*1\377$)1\377#*1\377%*1\377#)2\377$)0\377#'1\377#" - "*2\377$*1\377$)1\377$)1\377$+1\377$)0\377$(0\377%*1\377$+2\377\34\".\377" - "=>7\377RRE\377JJ?\37799/\37787+\377:8-\377:8-3\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\213\234\2433^da\377:8-\377BB:\377PPF\377NNF\377HH" - "<\377\32\"+\377\37&-\377\"&/\377!&0\377\"'/\377$)0\377\")2\377#)0\377!'/" - "\377\"'0\377#'/\377\"'/\377\"'1\377#'0\377\"'/\377\"(0\377\"'1\377\"'2\377" - "\"&/\377\"&.\377\"&0\377\"&/\377#)1\377\"'/\377!'/\377\"&/\377\"'1\377\"" - "'1\377\"'/\377$(0\377\"'/\377!'0\377\"'/\377\"(0\377\"(2\377\"'0\377\"(0" - "\377\"'1\377\"(2\377\"'2\377\"'/\377$*1\377$*1\377\40$.\377\"&.\377Zdj\377" - "\35!(\377&+4\377$+2\377'+5\377&+3\377%*1\377%+3\377$+2\377$*2\377$+2\377" - "%+1\377%*2\377%+4\377%-3\377#*3\377$)1\377%*1\377%*1\377%*1\377%*1\377%*" - "2\377&+3\377$)0\377$+2\377$(0\377#)1\377'-3\377%+2\377%*1\377$*1\377#)2\377" - "%)3\377$)0\377#)2\377#)1\377$)1\377%*2\377\"'1\377#'0\377%+1\377%*2\377%" - "*1\377#)2\377!(2\377=>9\377RPE\377LK?\377=<3\377:8-\377:8-\377:8-3\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\213\234\2433^da\377:8-\377DE>" - "\377PQH\377PNF\377FF9\377\27\37&\377\35#*\377\")1\377\40&0\377\32\35(\377" - "\36%.\377#*2\377#(0\377#'0\377&)1\377$)0\377\40&0\377#(2\377\"&.\377\37&" - "-\377\"'0\377#+3\377\"&/\377!&0\377\"(0\377!&.\377\"&1\377\"&/\377\"(0\377" - "#'/\377#'0\377!'.\377#'/\377\"&/\377\"'/\377!&/\377\"(0\377#)1\377\"(0\377" - "\")2\377#(1\377#+2\377#*2\377\"&0\377\"&1\377\"'1\377\")2\377#)1\377$)0\377" - "\"&.\377Ydi\377\35!'\377%+1\377%*2\377%+4\377&+2\377%*1\377#*3\377$,2\377" - "%*3\377$+2\377%,2\377%*1\377$+2\377$+2\377#*2\377#)1\377%*1\377$)1\377%*" - "1\377$*2\377\"'0\377$)2\377$)1\377%*1\377#*2\377#*2\377$+2\377%*1\377$(0" - "\377$)0\377#(0\377\"(0\377\40(/\377!'/\377\"'1\377#(0\377#(1\377#(1\377#" - "'0\377$(1\377%+2\377%*1\377$)2\377#*2\377EC>\377RRC\377LL@\377::1\37797," - "\377:8-\377:8-3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\213\234\243" - "3^da\377:8-\377BB<\377OOF\377ROE\377EC8\377\32!)\377!'-\377\26\33!\377\23" - "\24\25\377\30\27\27\377\22\24\24\377\27\32\"\377#(0\377!&/\377&,2\377#*0" - "\377!(0\377!&/\377\"&.\377!&0\377\37&.\377\"'/\377\"'/\377!'/\377%*2\377" - "\"&1\377\"&2\377\"&/\377\40&.\377\"&.\377$(0\377!'.\377\"'/\377\40&/\377" - "\"'/\377\37'.\377\"'/\377\"'.\377#'/\377\"'/\377\"&.\377\36%-\377\"'1\377" - "#)1\377\"'0\377!&/\377\")1\377\"&0\377!&.\377\"&.\377Ydi\377\32\35%\377#" - "*2\377%*1\377%,3\377%*1\377$*1\377#)1\377%)1\377$*0\377%*1\377%*2\377$)1" - "\377$)0\377#*1\377$*1\377#)0\377$+2\377$*2\377%*1\377'-3\377$*2\377#)2\377" - "%)2\377#)1\377#*2\377$*3\377#)2\377$*1\377$)0\377$)0\377#(1\377$*1\377#)" - "0\377$*1\377\"'/\377$)0\377#(0\377#(1\377#(0\377$+2\377#(0\377#)1\377#*2" - "\377\37(0\377)-.\377RRC\377NNC\377<<3\37722%\377:8-\377:8-3\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\213\234\243\200^da\37798-\377DD<\377N" - "NF\377QPE\377142\377\35$,\377\31\40(\377-.&\377KL?\266MB)\206KG8\330-+&\377" - "\37%+\377$*3\377\"&/\377!&/\377\40'.\377!'0\377!(0\377!'0\377\"&.\377\"(" - "0\377\"(0\377#)1\377\"'/\377\"&/\377\"&0\377!&.\377\37&-\377!&/\377!&.\377" - "\37&-\377!&.\377\37&.\377\"%-\377!&.\377\40&/\377!&.\377\40&.\377\37%,\377" - "\40&-\377!&.\377!&.\377!'/\377\"'/\377\"'/\377\"(2\377\40'/\377\34!)\377" - "\"&.\377Ydi\377\33\36&\377$*1\377%+2\377$*1\377$*1\377%*1\377%+2\377%+2\377" - "$)1\377$)1\377%+1\377#*2\377%*3\377%*1\377%,1\377$*1\377&*4\377%,2\377%+" - "1\377%*1\377%+2\377%+1\377%,4\377%,2\377$)2\377#)2\377%*1\377$*1\377#(2\377" - "$*1\377#*2\377#)1\377#)1\377$*1\377\")1\377#*1\377$*1\377$)1\377$*1\377$" - "*2\377\"(0\377$*1\377$*1\377#)1\377'*0\377RQC\377POF\377@@8\37787+\377:8" - "-\377:8-\272\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0{\210\214\326" - "@@6\377<:/\377LLH\377NNF\377SOB\377\"'/\377\40(2\377*-/\377LLA\314RNE\22" - "\0\0\0\0RNE&FC8\377\36\37\37\377\37&/\377\"'1\377\"&0\377\")1\377\"'1\377" - "!&.\377!&.\377\"&1\377\"&0\377\"&.\377#(0\377\"&/\377\"&/\377\"(0\377\"&" - "/\377!&0\377!&.\377!(0\377\40'0\377!&0\377\37&-\377\40&.\377\"(0\377\40&" - "/\377\"&.\377\40&-\377!&-\377!&.\377\37&.\377!&.\377\40&-\377!&.\377\"'/" - "\377!'/\377\"&1\377\37%-\377\"&.\377Ydi\377\35\40%\377%+1\377%,3\377%+1\377" - "$+2\377%+2\377%*1\377$+3\377$*3\377$*2\377%+3\377#*2\377&,3\377%*1\377%*" - "1\377#(0\377#)3\377%*2\377$*1\377$+2\377%+3\377%+1\377#)1\377#+1\377%+2\377" - "%+2\377$*1\377$*1\377\"(1\377$*1\377#(2\377\"'1\377\"&1\377#(0\377#)2\377" - "#)1\377\"(1\377$)0\377$*1\377#*2\377#)2\377'+4\377(-5\377#(0\377\24\34&\377" - "NL?\377TSH\377GG>\377>=3\377:8-\377:8-\354:8-B\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\213\234\243By\206\212\35497-\377<;0\377MNK\377PPE\377FD>\377\33$4" - "\377'-7\377687\377MMD\302\0\0\0\0\0\0\0\0RNE\12MJ@\377&'(\377\40&1\377\"" - "&/\377\"(0\377\"(0\377\"&.\377#(0\377#(0\377\"&/\377\"&.\377\"&.\377!'/\377" - "#'/\377\"'1\377\"'1\377\"'0\377\"&0\377\"'/\377\"&0\377!'/\377!&/\377!&." - "\377\40'/\377\"&.\377\"'/\377\40&-\377\40&.\377\40&-\377\37&-\377!&.\377" - "\37&.\377\40&.\377!&/\377\40&-\377\37%,\377\"&.\377\37#*\377\"&.\377Ydi\377" - "\34\40'\377%+1\377%,1\377%*2\377#(2\377$*1\377%*2\377',4\377%*1\377%+1\377" - "%,2\377%,2\377$*2\377%*1\377%*1\377#*1\377#*2\377$*3\377%*2\377%*2\377%+" - "2\377%+1\377#)0\377(-5\377%*1\377%*1\377$*1\377$)0\377$)0\377$)0\377#'0\377" - "$*1\377\"(0\377#)1\377$)1\377$)0\377%)1\377#(0\377#)0\377$*1\377%*1\377\"" - "'/\377\"'/\377$*1\377\37&0\377556\377VSF\377NKA\377>?5\377:8-\377:8-\377" - ":8-\233:8-\7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\213\234\243\7\213\234\243\233MOH\37797-\377" - "CC<\377MMF\377SPD\37736;\377#*6\377).9\3779BE\377NMC\370MMD\200OP?>OMB\257" - "NLF\377*3:\377#)2\377$)0\377\"'1\377\"'/\377\"&,\377\40&/\377\"&/\377\"&" - "0\377\"&0\377!&.\377!%0\377\"&/\377\40&/\377$(0\377\"'0\377\"(2\377\"&/\377" - "\"&.\377\"&/\377!%.\377!%-\377!&/\377!&.\377\"&/\377\40&-\377\40%.\377\37" - "&-\377!&.\377!&,\377\36&-\377\37&-\377\37%-\377\40%-\377\40&.\377\"'.\377" - "\"$*\377\"&.\377Ydi\377\33\40'\377#(1\377%*3\377%*3\377$*2\377$*1\377%*3" - "\377%*2\377%+1\377&-2\377%*3\377$*2\377$*1\377$*1\377$*1\377#(1\377$)1\377" - "#*2\377%*1\377$*2\377#+3\377#*2\377%*1\377%*2\377\"*2\377%*1\377$*1\377$" - ")0\377$)1\377\"&.\377\"&/\377#)2\377$)1\377#(2\377#*2\377$*1\377#)1\377\"" - "(0\377\"(0\377$*1\377%*2\377#(2\377#(/\377#*1\377&,3\377\"*1\377QMB\377N" - "MC\377BB9\377:9/\377:8-\377:8-\377:8-\37\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\213\234\243\200" - "t\177\201\377?>5\37787-\377HH?\377NNE\377PMC\377\37)5\377%,4\377%*3\377\35" - "#4\377jnk\377_]O\377TQ@\377om^\377R_g\377\27\37)\377\")2\377#'0\377#'/\377" - "#(0\377$(0\377\"&.\377\"(0\377!&/\377\"'0\377#(1\377!%/\377\"&/\377\"(1\377" - "#'/\377\"'/\377\40&/\377!&/\377\"&.\377!&.\377!&.\377\37&-\377\"&/\377!&" - ".\377\40%,\377\40&-\377\40%-\377\36&-\377\36&-\377\40&-\377\40$-\377\40&" - "-\377\40%-\377\36%,\377\40&-\377\37&,\377\"&.\377\"&.\377Ydi\377\35\40'\377" - "&+5\377%,3\377%+2\377$*1\377%+1\377%+1\377$*2\377$*1\377$*2\377%+1\377%+" - "1\377%+1\377%*1\377#*2\377$*1\377$*1\377$*1\377#(0\377#)0\377#)1\377$*1\377" - "#)0\377#*0\377#(0\377%*1\377$)1\377$)0\377$(0\377#)1\377#(0\377\"*2\377$" - ")1\377#(0\377#*3\377#*2\377#*2\377$)1\377#*2\377#(0\377$*1\377%*1\377$)1" - "\377$)0\377#*2\377\37'1\3775:B\377UQC\377LJ@\377==3\377:8-\377:8-\377:8-" - "\314:8-\37\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\213\234\243\37\200\216\223\324<;0\37798.\377BB;\377MME\377WTG" - "\377>DI\377\40(3\377&*5\377%+3\377\40&/\377!,:\377V[d\377gns\377HUc\377\31" - "\"*\377\"'-\377\"'1\377\"(1\377\"'0\377!(0\377\"&.\377\"&.\377\"'/\377#'" - "0\377\"(1\377\37&.\377\37$,\377\"'0\377\"&/\377\"'0\377\"&.\377!&.\377\37" - "'/\377\40'.\377\"&.\377\40&-\377\40'.\377\40%,\377\35%,\377\37&-\377\40&" - "-\377\40&-\377\"&/\377\40&-\377\36&-\377\37&-\377\40&-\377\36&-\377\37%-" - "\377!&/\377!&-\377\37#+\377\"&.\377Ydi\377\33\37%\377%*2\377$*2\377&+4\377" - "$*4\377$+1\377&-4\377&-3\377%,1\377$*1\377%*1\377#+2\377#*2\377%*1\377#*" - "2\377$*1\377$,2\377%*1\377$*1\377$*1\377$)1\377#*2\377#*2\377%+1\377#)1\377" - "#*1\377#)1\377$)0\377$*1\377$)0\377$*1\377\"*2\377\"'0\377$)1\377#*3\377" - "$+2\377$)1\377#(2\377#'2\377$)1\377$*1\377#(2\377$)1\377\")/\377$*1\377\"" - ")1\377!,?\377KLO\377SNC\377EF<\377;:/\377:8-\377:8-\377:8-\312:8-\10\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\213\234\243\10\213\233" - "\242\312_fc\37787-\377<<4\377IKC\377POE\377URJ\377\35(7\377#)1\377%*2\377" - "#*2\377\"(0\377\40&.\377\26\36'\377\25\35)\377\33\40(\377\"(1\377$)2\377" - "$*1\377$)1\377#(1\377#(/\377\"&.\377\"'/\377#(1\377\")1\377#(0\377\40&0\377" - "\37&.\377\"'0\377\37&.\377\37'.\377!&.\377!&.\377!&.\377#'/\377\"&.\377!" - "&.\377\40'.\377\40%-\377\35$,\377\37&-\377\40&.\377!&.\377#(0\377\40$,\377" - "!&/\377\"&.\377\36$-\377\40&-\377!%-\377!&.\377\40&.\377\40$+\377\"&.\377" - "Ydi\377\34\40'\377&,4\377%+1\377&,3\377'-3\377&*4\377',3\377%*3\377&,2\377" - "%,2\377%*1\377$*2\377%*2\377$*1\377$*1\377%*3\377$*1\377%*1\377%*3\377%+" - "1\377$*1\377%+2\377#(2\377%)0\377#(0\377#*2\377$*1\377\"(1\377#(1\377$*1" - "\377\"(2\377#(0\377#(2\377$)1\377\"(2\377#)1\377$*2\377#)2\377$(1\377$(0" - "\377%+1\377%*1\377\"(1\377!&.\377\")0\377$)2\377$'.\377$;P\377URJ\377PME" - "\377FE<\377:90\377:8-\377:8-\377:8-\313:8-\36\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\213\234\243Y\212\232\241\313Y^Z\37797-\377:91\377HHB\377PND" - "\377UTJ\377+5A\377#'0\377$(2\377\")2\377#*1\377$)1\377\"(0\377#(1\377#)1" - "\377\40'/\377\40$+\377\"'0\377\"'2\377%*1\377#)1\377\"*2\377\"'2\377#(0\377" - "#(/\377\"&/\377\"&1\377!'/\377!'.\377#'0\377\"&.\377\"&.\377\"&1\377\"&2" - "\377#'1\377!&.\377\"'/\377\40'.\377\37&-\377#%.\377\"'/\377!&.\377\"'/\377" - "#'/\377!&/\377\40&.\377\37&-\377\36&-\377\40&-\377!&.\377!&.\377\40&.\377" - "!'/\377\"&-\377\"&.\377Ydi\377\35!'\377%+2\377%,2\377&,2\377&+2\377$*2\377" - "$+2\377#+2\377%*2\377&*4\377$)2\377%)1\377$*1\377%*2\377$*3\377%,3\377$*" - "1\377%*1\377%*1\377$*1\377\"(2\377$+2\377$)3\377%*0\377%)1\377%*1\377$*1" - "\377#)1\377%*1\377$*1\377$*1\377$*2\377#*2\377#*2\377\")2\377#)1\377#)2\377" - "$*2\377$*1\377%*1\377$*1\377$*1\377#)2\377%+2\377%*1\377#*1\377!)0\377\30" - "\40*\3779EZ\377[RF\377ONC\377@A8\377:8.\377:8-\377:8-\377=;1\316\177\215" - "\221uu\201\203\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\0\0\0\0\213\234\243\20\213\234\243ut\200\202\374PSM\377" - ":8-\377:8.\377CB<\377MLD\377]WK\3777@N\377\35%0\377\40$+\377#*2\377#)1\377" - "#*2\377#)1\377#(0\377#(1\377$)1\377#)1\377\"(0\377#)1\377\"(1\377#(0\377" - "#)1\377\"'1\377$(0\377#'0\377#'/\377!&.\377\"&/\377\"'/\377\37&.\377\37&" - "-\377\40&.\377\"&0\377!&/\377\40&.\377\"&/\377!&.\377\"&.\377\37%.\377!&" - ".\377\40&.\377\"&.\377!&.\377\40'.\377!&.\377!$-\377\37&-\377\40&.\377!&" - ".\377\40&.\377\40&.\377\40&.\377\"&/\377!&/\377\40&.\377\"&.\377Ydi\377\33" - "\40%\377$*1\377%*3\377&,3\377%*1\377&,3\377'-3\377$*1\377&,2\377%+1\377%" - "+2\377%*1\377&-2\377$)3\377$*1\377$)1\377$*1\377%+1\377$)1\377$*1\377%*1" - "\377%*3\377\")1\377$+2\377#)2\377#)1\377#)2\377$+2\377&,2\377#*1\377$(1\377" - "%)3\377%*1\377$)0\377\"(1\377$*1\377#*2\377#)2\377#)2\377%*1\377$)1\377$" - "*1\377#*2\377#)2\377#)1\377!(0\377#+2\377\"(0\377\35(2\377DLZ\377SNE\377" - "QQC\377FC9\377:9/\377:8-\377:8-\377:8-\377Z`\\\355ahfl\213\234\243W\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\213\234\243W\213\234\243l\202" - "\221\226\355irq\377;:/\37797-\377::1\377AA7\377LKB\377XUJ\3779G]\377\33'" - "2\377\"(/\377\"'1\377#(1\377!%0\377#'0\377$(1\377\")2\377#*2\377#)2\377\"" - "'/\377$)0\377#*1\377#)1\377\"(1\377#'/\377\"(0\377#(0\377\"'0\377#(1\377" - "#'/\377!&.\377\"(0\377\"'1\377#(0\377!'/\377!'0\377\"&.\377!'/\377\"&/\377" - "#'/\377\"'/\377!&.\377!&.\377\40&-\377\"&/\377!&.\377\"&/\377\40%-\377\37" - "%.\377\40%.\377!'0\377!'.\377$(0\377$(0\377!&.\377!&.\377!&/\377#'0\377\"" - "&.\377Ydi\377\34!'\377%*1\377%*1\377&*4\377&,3\377&,3\377&-3\377%*2\377%" - ",1\377$+2\377&+2\377%,3\377%*1\377%*2\377%*1\377#'/\377#)1\377$)2\377$*2" - "\377#)0\377%*2\377%+3\377%)3\377%*1\377$)0\377$)0\377#*2\377#)2\377#*2\377" - "#*1\377#'1\377#'0\377$)1\377$*1\377$)1\377#)0\377$+2\377%)1\377$*1\377%*" - "1\377\"(1\377$)0\377%*1\377#(0\377$*0\377$*0\377#)1\377#*2\377$)0\377\34" - "%5\3778EX\377[XK\377PNE\377GF>\377<:/\377:8.\377:8-\377:8-\377CC:\377IKC" - "\364`gd\306}\213\217\306}\213\217\306}\213\217\306}\213\217\306}\213\217" - "\306w\203\206\364LNG\377HIA\377:8-\37798-\377;;1\377FD;\377NLB\377]ZU\377" - ":G\\\377\35(8\377#)/\377#(0\377#*2\377$*2\377\")1\377#)1\377#(1\377#)2\377" - "#(0\377\"(0\377#)1\377\"'1\377$)1\377\"'1\377!)1\377\")1\377\"'1\377\"'/" - "\377\"'0\377\"&/\377\"'/\377!&.\377\"(0\377\"'/\377\"'/\377\"(0\377\"'/\377" - "\"&0\377$(0\377\"&0\377\"&0\377\"&0\377\"&0\377\40&.\377\"&.\377\"&.\377" - "\"&.\377\"(0\377!&.\377\"'1\377\40'0\377\"'/\377!'.\377\37&.\377\37$.\377" - "\40&.\377!(0\377\"'/\377\"&/\377\"&.\377Ydi\377\33\40%\377$*2\377%,1\377" - "&+3\377%+2\377#*2\377$+2\377%+1\377%,2\377&+4\377%,2\377%+1\377$+1\377$+" - "1\377%+1\377#)1\377$)1\377#)2\377%+3\377$*1\377#*2\377$+2\377%*2\377&+4\377" - "$*1\377$*1\377#(0\377$*2\377$)2\377%+1\377$*1\377%*1\377$*1\377#)2\377$)" - "1\377\"'1\377#)1\377$)1\377$)0\377$*1\377%*1\377$(0\377#(1\377\")2\377#(" - "1\377$)1\377#'0\377$*3\377$*1\377\"'1\377\36&2\377>L[\377TYY\377POD\377J" - "J?\377BB8\377:90\37776,\377:8-\377:8-\377:8-\377:8-\377:8-\377:8-\377:8-" - "\377:8-\377:8-\37787-\377:9.\377;;1\377??5\377II>\377SPD\377^b_\377;GY\377" - "\33#-\377\40'.\377#)2\377\"'1\377$+2\377$*1\377\"'0\377\")0\377\"(0\377\"" - "(1\377#)1\377!)1\377#)2\377\")1\377\"(0\377!'0\377#(0\377\"(1\377\"'1\377" - "!'1\377\"'1\377!(0\377#)2\377\"&0\377\"&.\377#(0\377\"(1\377!)1\377\"'0\377" - "\"'0\377\"'/\377\40'/\377\"'0\377\"(0\377\"'.\377#'/\377!(/\377\"'0\377!" - "&.\377\40'/\377!&.\377\"&0\377\"&1\377!%/\377\"'/\377\"&1\377!&0\377#(0\377" - "!'/\377#(1\377!&.\377\"&.\377Ydi\377\34\37&\377%+3\377&-3\377&,2\377&,3\377" - "%*3\377$*2\377%,3\377$*1\377%*4\377%,2\377%+1\377$+2\377$*1\377$)0\377$*" - "1\377%+1\377%+1\377%*1\377%*1\377$*1\377$+2\377#(0\377%*2\377#*2\377#*2\377" - "%)2\377$)2\377$*4\377%,2\377%*3\377%*1\377$*1\377$*2\377#*2\377\")2\377#" - "(1\377$*3\377$*1\377$)1\377#(0\377#*2\377%*1\377%*1\377#*2\377#*2\377#)1" - "\377#'/\377#)1\377%*2\377#)0\377\36#+\377*7G\377W^d\377[XO\377USI\377LK?" - "\377EE:\377=>4\377:90\377<:/\377;9/\377::0\377::1\37798/\377:8/\377;9/\377" - "=<2\377CC9\377IH=\377TRG\377_`U\377]ci\377/:G\377\34#+\377$)1\377\"*2\377" - "\")2\377\")2\377\40'/\377!(1\377\"&2\377#(1\377#(1\377#)2\377#(0\377\")0" - "\377\"&/\377\"'/\377#)1\377#)1\377\")1\377\"&1\377\"&1\377!&/\377\"(0\377" - "\"'/\377#'0\377$(0\377\"&.\377\"&.\377\"&/\377!'0\377\"(1\377!&.\377!&.\377" - "!&.\377\"&/\377\"&.\377\"'0\377\"&.\377\")0\377#'/\377\"&/\377\"'/\377#'" - "/\377\"&/\377#(0\377#'/\377\"&/\377\"(1\377#(0\377#'0\377\"'0\377#'0\377" - "\"&0\377\"&.\377Ydi\377\34\40%\377%+1\377&,3\377&-2\377&,4\377&+3\377%*2" - "\377%*3\377%,2\377%*1\377%+1\377%+1\377%*2\377%)1\377$(1\377#*2\377%+1\377" - "%+1\377$)1\377%*1\377#)2\377%+2\377%*1\377&+3\377$*2\377$)1\377$)1\377&+" - "3\377$*2\377\"*2\377#*2\377%+1\377%*1\377#(1\377#*2\377$*3\377#(2\377#)2" - "\377$*1\377#)2\377#)1\377%*1\377#*2\377#(0\377#)2\377$*2\377$)1\377$)0\377" - "$(0\377\"'0\377#*1\377!'/\377\40%,\377\37(/\377>HT\377ell\377da\\\377YVK" - "\377PPD\377KI?\377IF=\377GG>\377HF:\377IH=\377KH?\377JF;\377II=\377NK?\377" - "YWL\377mok\377dpq\377@PY\377\35%/\377\35$,\377\"'.\377%*1\377%+2\377#)0\377" - "#)1\377%*1\377\"*2\377\"'2\377#'1\377#'0\377#'2\377#(2\377#'/\377\"&.\377" - "$(2\377$)1\377$(0\377#)1\377\"'2\377!(2\377!'2\377!'0\377#'1\377\"(0\377" - "\"(0\377#(0\377!(0\377!'/\377!'2\377\"(1\377\"&0\377\"&/\377\"&1\377\"&/" - "\377$(0\377!'0\377\"&1\377\"'/\377!(/\377\40'1\377\")1\377\"&.\377#(0\377" - "#)1\377#'0\377$(1\377\")1\377\")1\377$)0\377\"&0\377#'1\377$)2\377\"&.\377" - "Ydi\377\33!%\377%+2\377&.5\377&.4\377&-4\377&*3\377$(3\377%*2\377&*4\377" - "&,3\377&+3\377#*2\377$)0\377%+1\377$(2\377\"*2\377$*1\377$*3\377%,4\377#" - "*2\377#(2\377#)2\377#)2\377%*1\377&+2\377$)0\377$*1\377&(1\377%+3\377$*2" - "\377$*1\377$*1\377$*1\377%*2\377$*1\377!*1\377#*1\377$)1\377$*1\377\")1\377" - "#)1\377#(1\377\")2\377\")1\377\")2\377#*2\377#(/\377$*1\377#'/\377!(/\377" - "$*1\377#*1\377$*1\377#)1\377\36#)\377\33\40*\377*5F\377DPa\377bcd\377YZX" - "\377Z[T\377WXO\377ZWL\377\\WL\377Z[R\377\\\\Y\377_^W\377U_d\377CP`\377(2" - "B\377\31\37)\377\35\"(\377#(1\377%*1\377#)1\377#(0\377\40&.\377$(0\377\"" - ")1\377$(1\377$*1\377\")2\377\"(0\377$)0\377$*1\377#(2\377\")2\377\"'0\377" - "\")2\377\"*1\377$)1\377$*1\377#)1\377\"'/\377#&/\377\"&0\377\"&1\377$)0\377" - "#'1\377#(1\377$(1\377\"(0\377\"&0\377!'/\377#'2\377\"'0\377\"(1\377\"&/\377" - "\"'2\377\"'0\377\")2\377%*1\377\"(0\377\"(2\377\"(0\377\"(0\377#(3\377#(" - "2\377$*1\377%*2\377%*2\377%*4\377$*2\377#'0\377$)1\377$)0\377\"&.\377Ydi" - "\377\35!'\377&,4\377&,6\377&-6\377&-3\377%*2\377%+3\377&+4\377%*3\377%*3" - "\377$*1\377%,2\377%*1\377%+2\377$+2\377#*2\377%*3\377#(/\377#(0\377#*2\377" - "%*1\377#)2\377$)1\377%*3\377$*1\377%,3\377$*1\377&,3\377%*1\377%*2\377%*" - "3\377%,2\377$*2\377%+2\377$*1\377\"*2\377#*1\377#(1\377\"*2\377\")1\377%" - "*1\377#(2\377#*2\377#)1\377\"(0\377#)1\377\"(0\377#*2\377$)0\377#*2\377$" - "*1\377#(/\377$(0\377%+2\377\"'0\377\")1\377#(0\377\34#,\377\36$-\377$/>\377" - ".9I\3773\377!&,\377\"'1\377\40" - "(0\377\40'/\377#*2\377#)2\377\")1\377!&/\377\"&0\377\"'1\377#)1\377\40'/" - "\377\"'.\377#)1\377\")1\377#)1\377\40)1\377\"'1\377\")1\377\")1\377#)2\377" - "#)2\377$)0\377\"'/\377#&1\377\"'0\377\"(1\377\"&1\377#'2\377\40&/\377#)1" - "\377$+1\377#'0\377\"(2\377\")2\377\"'/\377\"(2\377\")0\377!)1\377!(0\377" - "\"(1\377\"'1\377#*2\377#*2\377\"(2\377\"*2\377\")1\377\")1\377#+2\377%*1" - "\377#*2\377#+2\377#)2\377#*2\377#*2\377#(.\377\40$,\377\"&.\377Ydi\377\35" - "!&\377&+1\377#*2\377%*1\377$)1\377#'/\377\"&.\377\"&.\377$)0\377%*1\377\"" - "&/\377#)1\377#)1\377\")2\377\"(1\377#)1\377$*1\377$*1\377#'1\377#)2\377%" - "*1\377%*3\377#(1\377#)0\377\"*2\377\"*2\377#)1\377#)1\377$*1\377$*1\377\"" - "(0\377#*2\377%*1\377#*2\377#*2\377#*2\377#*2\377$*1\377$*1\377$*1\377#)2" - "\377#)1\377#*2\377$*1\377$*1\377$,2\377\"(0\377$)1\377\"(0\377#'1\377#)1" - "\377#(/\377#(1\377$)1\377#*2\377$*1\377$+1\377GF>\377KLB\377KLB\377KLB\377" - "KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377IJ<\377\"'-\377#*1\377#" - ")1\377#'0\377$)1\377!(1\377!'0\377#(1\377\"'0\377\"(0\377$*1\377\"'1\377" - "\"'/\377$*1\377\"'/\377$(1\377#(1\377$*1\377#*1\377!)1\377\"'/\377#)2\377" - "\"(2\377\"'0\377\"'0\377!'1\377\")0\377#'/\377\"&1\377\"'0\377!'/\377\"(" - "0\377!'1\377!&0\377\"(2\377\")1\377\"'0\377\"&0\377\"&0\377\"'1\377$)0\377" - "\"'/\377#'1\377!&0\377#'0\377#'1\377#'0\377\"&0\377!'1\377\"(2\377\"'2\377" - "$(1\377%*1\377#)1\377#'0\377#'.\377\")1\377\"&.\377Ydi\377\33\37$\377&+1" - "\377#(2\377%*1\377$)1\377#(/\377#(/\377\"&.\377#(/\377#'/\377#'/\377$)1\377" - "\"'0\377#(0\377\40&.\377\"'/\377\"'/\377\"'0\377#(1\377#(2\377$+2\377&-3" - "\377%*1\377#)1\377\"*2\377\"(2\377#'0\377#)2\377$)1\377%*1\377$*1\377\"*" - "2\377$*1\377%*1\377#(0\377$)2\377#*1\377#)1\377$)1\377$)3\377#)1\377$)1\377" - "#*2\377$)1\377$)0\377\")1\377#)1\377\"(0\377\"(1\377#)1\377!(/\377$)0\377" - "#(0\377#(2\377\")2\377$)1\377\34#,\377BB<\377KLB\377KLB\377KLB\377KLB\377" - "KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377IJ?\377&+0\377#*1\377\")1\377#" - "'1\377#(1\377!&0\377!&.\377#(/\377\40)0\377!)0\377\40)1\377\"(1\377#)0\377" - "#*1\377#(/\377\"&1\377\"&2\377\")2\377\"'1\377\40%0\377\"'1\377#)2\377\"" - ")2\377#(0\377!'1\377\37'/\377\"&/\377#'/\377#)1\377\")1\377\40&.\377\37&" - ".\377!(0\377#(/\377#(0\377!(0\377#)1\377#'0\377\"'0\377\"*2\377$)0\377#(" - "0\377$(0\377!&.\377\"(0\377#'/\377\")1\377#(1\377!'2\377#*2\377$)1\377\"" - ")2\377#'0\377\")1\377#(2\377!&/\377!&/\377\"&.\377Ydi\377\35\37&\377%+1\377" - "%*1\377#'/\377\"'/\377#(/\377#'0\377\"&/\377\"&.\377\"&.\377#'/\377#'/\377" - "#(/\377!&.\377!&.\377#(0\377#(0\377%*1\377'+3\377&,2\377&,4\377%+2\377$)" - "1\377#*2\377#)2\377\"*2\377#(0\377$)0\377$)0\377%+1\377#*2\377$*1\377$*1" - "\377$*0\377$*1\377#)1\377$(0\377$(0\377#)1\377#(1\377#)0\377%*1\377$(0\377" - "#(/\377#(0\377$(1\377$*1\377#(/\377\")1\377\"'1\377$)0\377$(0\377%*2\377" - "&+2\377#(/\377\")0\377\"+1\377DD>\377KLB\377KLB\377KLB\377KLB\377KLB\377" - "KLB\377KLB\377KLB\377KLB\377LLC\377GH=\377#(,\377#*1\377!'/\377\40&-\377" - "!(0\377\"(0\377\")1\377\"&.\377!&/\377\"&.\377!)0\377\"'2\377\"&/\377\"'" - "/\377\"*1\377\")2\377#(1\377#(2\377$(0\377#(1\377!(0\377#(1\377#*2\377#)" - "2\377\"&1\377\"&2\377#'0\377%'/\377$)0\377#(0\377#)0\377\"(1\377!(1\377\"" - "&/\377\"&1\377\"'0\377$)1\377#)1\377\"(0\377\")1\377#'0\377\"&0\377#'0\377" - "\"&/\377#(0\377#'0\377#'/\377\"'0\377\"'2\377#(2\377#'1\377#'/\377\"&1\377" - "#*2\377#*2\377\"'/\377\37&/\377\"&.\377Ydi\377\32\37%\377$+2\377%*1\377#" - "*1\377#(1\377#'/\377#'/\377#'/\377$)0\377\"'/\377!&/\377\"(0\377$)0\377%" - "(0\377#&.\377#(/\377$)0\377%*1\377%*2\377%*1\377$)0\377$)0\377\"(1\377$)" - "0\377#*2\377$*1\377%)2\377$)1\377#(0\377%*1\377$*1\377#*2\377$*1\377$*1\377" - "#*2\377$*1\377$)0\377#)1\377#*2\377#(0\377#*2\377#(0\377#)1\377#(0\377$*" - "1\377%*1\377$*1\377#)1\377#)1\377%+2\377#(0\377$(1\377#(0\377$*1\377$)1\377" - "$)2\377#(1\377@A:\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KL" - "B\377KLB\377KLB\377KK>\377$*.\377\"(1\377\")0\377\"(1\377\"'2\377\"(1\377" - "#)0\377\"&0\377\"'0\377\")1\377\"(1\377\"&1\377#)1\377$)1\377#'2\377#)2\377" - "$*1\377$)1\377#(1\377\"(0\377\"&/\377\"(0\377$)1\377#(1\377$(1\377\"'0\377" - "$)1\377#)1\377#(0\377\"'/\377#'0\377\"&.\377\"'.\377!(/\377#'0\377\"(1\377" - "#'/\377\"(1\377\"'/\377\"'/\377\"'/\377#(0\377\"(0\377\"&0\377\"'/\377\"" - "'/\377\"&/\377\")1\377\")1\377%)1\377#'1\377#)1\377#)1\377#)0\377\"*2\377" - "\"'.\377\36#+\377\"&.\377Ydi\377\33\40%\377&.3\377$*2\377#*2\377#*1\377#" - "'/\377\"&.\377\"&.\377#'/\377\"(/\377#'/\377!&.\377!&0\377%*1\377$)0\377" - "$+1\377$*1\377#(0\377$(1\377$)0\377%*1\377#*2\377$)0\377$*1\377#(2\377\"" - "(1\377$)1\377$)1\377#)2\377$*1\377#)0\377$*1\377%*1\377$)1\377$)1\377#(1" - "\377$(0\377#)0\377\")1\377#)1\377#)2\377\")1\377$*1\377#*2\377\")2\377#*" - "2\377#'1\377$*1\377#*2\377$*1\377#'0\377%*1\377#*1\377$)1\377#)1\377$*2\377" - "\31\40)\377?@7\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377" - "KLB\377KLB\377GH<\377!&*\377\36#-\377&-3\377$+4\377$)1\377\"(0\377#(0\377" - "$(1\377\"'.\377\"(/\377\"&/\377\"'0\377#(1\377%*1\377#*2\377$)0\377#)0\377" - "\"'1\377#)0\377#(0\377#'1\377$)0\377$)0\377\"'/\377#(1\377#(0\377#(0\377" - "\"'/\377\"'/\377$)1\377#(2\377#'/\377#(1\377#(0\377&,3\377\"'0\377$)1\377" - "#(1\377#(1\377#(0\377\"'/\377\"'/\377#'0\377\"&/\377$*1\377#(0\377!&0\377" - "\"(0\377\"(0\377\"'/\377%)2\377\"'1\377#)2\377#*2\377#)2\377!%,\377!'.\377" - "\"&.\377Ydi\377\32\37%\377&+3\377#(1\377\")0\377\"'.\377\"&.\377#(0\377\40" - "&/\377\"&.\377\"'/\377#'/\377#(/\377$)1\377$)0\377#)1\377\"'/\377#(/\377" - "%)0\377%)1\377%*1\377%+1\377%+1\377#(2\377$*1\377\"&1\377#(1\377$)1\377$" - ")0\377\")0\377$)1\377$*1\377$*1\377%*1\377#*2\377#*1\377$)1\377#(/\377#(" - "0\377#)1\377#*2\377!*1\377$)0\377$*1\377$*1\377#)2\377#)1\377#*2\377$)0\377" - "#)1\377#'1\377#)1\377#)2\377$)1\377$)1\377!'0\377$)0\377\37$,\377B@9\377" - "KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377GH" - "=\377&-/\377#(/\377$*1\377#)1\377$)0\377#'1\377$)1\377#(0\377#'0\377#*1\377" - "\")1\377\")1\377\"'/\377$)0\377\40'.\377\"(1\377\"(0\377\"'1\377!&0\377\"" - "'1\377\"'2\377#(/\377#'/\377%*1\377\"&0\377\"(1\377$)1\377#'1\377\"'0\377" - "\40'/\377!'/\377!'/\377!'/\377#(0\377\"'/\377#(/\377#(/\377\"'/\377#)0\377" - "\"&/\377#'/\377#)0\377!)0\377$)1\377'-3\377#'/\377\"&0\377\"(0\377!'/\377" - "#(0\377%)1\377#(0\377#(0\377\"(2\377#(2\377\40&-\377\")0\377\"&.\377Ydi\377" - "\35\40'\377'-4\377%*1\377$*1\377\"&.\377!&.\377\"'1\377!'0\377\"&.\377$(" - "1\377$*2\377#(1\377$)0\377\"'.\377\"(/\377\"'1\377\"(2\377#*2\377#)2\377" - "#*2\377#)2\377$)1\377&+3\377#(0\377\"(0\377#(1\377\"(0\377$)0\377$)0\377" - "$)1\377$*1\377$*1\377#*2\377\")1\377$*1\377$*1\377%*1\377$(1\377\"(1\377" - "$)0\377#)1\377#'/\377$)1\377$*1\377#(0\377#)0\377\")2\377#(0\377\"'0\377" - "$(1\377$)1\377#*2\377#)1\377#)1\377!'.\377#(.\377\35%+\377>?7\377KLB\377" - "KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377II?\377(." - "2\377$)0\377!(/\377\"'0\377$(0\377#(2\377\"(0\377#'1\377!&/\377\"(/\377\"" - "*2\377#)1\377$)1\377#(0\377#)0\377#*1\377$)0\377#)1\377!(0\377#)1\377\"(" - "0\377\"&/\377\"&/\377#(/\377\40&/\377!&0\377\"(/\377!'0\377\"(1\377\"*2\377" - "#)1\377\"'1\377\"'/\377\"&1\377!&0\377#)1\377#(1\377\"(0\377\"'/\377\"&1" - "\377#'/\377!&/\377!'.\377\"(0\377#'0\377!&/\377#'0\377\"'/\377\40(/\377\"" - "&1\377#'/\377#'0\377#)2\377#(2\377%+1\377\"(.\377#(0\377\"&.\377Zek\377\30" - "\36&\377)39\377&,3\377%*1\377#*1\377#)1\377#*2\377!(/\377#)1\377%(0\377%" - ")1\377#'/\377\"(0\377#)1\377#'/\377$(1\377#)2\377#)1\377#)1\377$*1\377#(" - "1\377$(0\377#)1\377\"'0\377$*1\377\")1\377\"(0\377#*2\377$*1\377#*2\377$" - "*1\377%*1\377%+1\377%*2\377$*1\377$*1\377$*1\377#)2\377$)1\377$*1\377#*2" - "\377\")1\377#)0\377$)1\377!'.\377!(/\377\"(2\377$)0\377#)1\377$)0\377#(0" - "\377#(/\377\"'0\377$)1\377$+1\377\")1\377\35$-\377>?8\377MOD\377KLB\377K" - "LB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377FG<\377\36%'\377\"" - "*2\377$*1\377#'2\377#)1\377\"&/\377&-5\377$+3\377\"(1\377#(0\377#)1\377\"" - "&1\377!'0\377#)0\377$(0\377#)1\377#'2\377#'1\377\"(2\377\"&.\377#'/\377\"" - "'0\377\"&/\377\")2\377\")1\377!&0\377\"'/\377#)1\377$)1\377#(0\377\"(0\377" - "\"'/\377#)2\377\"'1\377\"'/\377#'/\377#'/\377\"'/\377#)0\377!&.\377\"&.\377" - "\"&/\377#)0\377#(0\377!&/\377\"'/\377#(0\377#'0\377\"'0\377\40&0\377!'0\377" - "!(0\377#(2\377#)1\377#)1\377!%-\377\"(0\377\"&.\377Zfk\377\31\35%\377%-4" - "\377%*1\377$)0\377%*1\377#(/\377#)1\377$)0\377#(0\377#(0\377#'/\377#(1\377" - "$)1\377#'2\377#)1\377#'/\377$(0\377$)2\377#)2\377%*1\377#(2\377$)1\377$'" - "/\377#(1\377#'/\377\"(0\377\"(2\377$*1\377\"*2\377$*1\377%*1\377$*0\377$" - "+2\377$*2\377#*2\377#*2\377%*1\377%)1\377\")1\377$*1\377$*1\377#'2\377$*" - "1\377$*1\377#)1\377#(0\377\"(0\377\"&.\377#'/\377#)0\377\"(0\377$)2\377$" - ")2\377#(0\377#(1\377#(/\377\35%*\377>?7\377NPE\377MPE\377LNC\377KLB\377K" - "LB\377KLB\377KLB\377KLB\377KLB\377KLB\377GH=\377\40',\377\36%.\377$)1\377" - "#(2\377#)2\377#'2\377\"*2\377#+2\377!&1\377!'/\377\")0\377\"(0\377\"'0\377" - "$)1\377#(1\377#'0\377#'2\377#)1\377#)0\377\"(0\377#'/\377\"'/\377\"(0\377" - "\")1\377#)0\377\")1\377\")1\377\"(0\377\"'0\377#(2\377!)2\377\"'1\377#'0" - "\377#(/\377\"&0\377#'0\377\"'/\377\"'1\377\"'/\377\"&.\377\"&.\377\"'/\377" - "\"&0\377\"'/\377\"'1\377\"(/\377!'0\377#(0\377#(/\377#'0\377#*1\377\"(0\377" - "\"(0\377#)1\377\"*2\377!(/\377#)0\377\"&.\377Ydi\377\33\36&\377%+1\377%-" - "1\377$)0\377%*1\377#(0\377$)1\377\"'2\377$)0\377$)0\377#'/\377#(0\377#(0" - "\377#(0\377$(1\377\"&1\377#'0\377#'/\377#(0\377$)2\377%*1\377#*2\377$)0\377" - "$*1\377$*1\377#*2\377$*1\377%*1\377$)1\377%*1\377%*1\377#*2\377#(0\377$)" - "1\377#*2\377#*2\377$*1\377$*1\377#*2\377\"*2\377%*1\377$*1\377%*1\377$*1" - "\377#)2\377#)1\377$)1\377\"'0\377\")2\377#*2\377#*1\377#'/\377\"(1\377#*" - "2\377\37%-\377\"*0\377\40$+\377HE;\377KLB\377KLB\377KLB\377KLB\377KLB\377" - "KLB\377KLB\377KLB\377KLB\377KLB\377FG<\377#(-\377#'/\377\"(/\377\37'0\377" - "\"'2\377!&/\377#(/\377#)2\377\")2\377\"*2\377\"(1\377\"'1\377$*1\377\"'/" - "\377!&.\377\"'/\377\"'0\377\"&/\377\"&/\377\"(0\377\"&.\377!(0\377\"'/\377" - "\"'1\377!&.\377\"'/\377\"'2\377\"'0\377!&/\377$)0\377\"'/\377#(/\377\"'/" - "\377\"&.\377#)1\377\")1\377#(/\377\"'/\377!(/\377#)3\377\"(0\377#'/\377\"" - "'/\377#(1\377\"&/\377\"&0\377#(1\377\"(1\377\"(2\377#*3\377#*3\377\"&/\377" - "\40'/\377#)2\377\"*2\377\"(0\377\40'.\377\"&.\377Ydi\377\32\37$\377%*1\377" - "%+1\377%*1\377#*2\377%*1\377%)1\377#)2\377%*1\377%*1\377$)0\377#'/\377%)" - "1\377$*1\377$(0\377\")2\377$*1\377%)1\377$(0\377#'/\377$)0\377\"'/\377%+" - "1\377$*1\377$*1\377#*2\377$)0\377#(/\377$(0\377#'/\377#)1\377#'2\377#)2\377" - "#)2\377#*2\377$)1\377%*1\377\"*2\377\"*2\377\"(2\377%*1\377#*2\377$*1\377" - "#*2\377#)2\377%*1\377%*1\377%+2\377#)2\377#)0\377$)0\377#'/\377\")1\377$" - ")0\377$)2\377#)2\377\32\40%\3779:3\377KLB\377KLB\377LKB\377KLB\377KLB\377" - "KLB\377KLB\377KLB\377KLB\377KLB\377EF:\377!)*\377%)1\377\40&.\377\"'/\377" - "\")1\377#'/\377#(1\377\"'1\377\"(1\377#)1\377\")0\377#(/\377\"'/\377\"'/" - "\377\"'0\377#(0\377$)0\377\"'2\377\"'1\377\"&.\377#(0\377\"(0\377\"&/\377" - "\"&0\377!&0\377#)1\377!'/\377\"'/\377\"&0\377#'0\377!)1\377\"&.\377\"(0\377" - "#(0\377#)1\377\"(0\377#'1\377\"'/\377#'/\377\"'0\377\"'2\377#'0\377#'/\377" - "#)1\377#(/\377\"&.\377!'.\377\"'/\377\"(0\377#'/\377#)1\377\"(1\377\"'1\377" - "#)0\377$*1\377#)1\377$*1\377\"&.\377Ydi\377\33\40%\377&.3\377$+2\377$*1\377" - "$*1\377%+3\377%+3\377$)0\377#+2\377%+1\377%+2\377$*1\377$*1\377%+1\377#)" - "2\377\")1\377$*1\377$+2\377$)1\377$)1\377$*1\377\")1\377\"'/\377#)0\377!" - "'0\377\")1\377#*2\377$)0\377\"&/\377%*1\377#)2\377$(1\377$)1\377#*2\377$" - ")0\377$*1\377$)0\377#*2\377$)1\377\")2\377%)1\377#(0\377$(1\377$)0\377$)" - "0\377#*2\377$*1\377#(1\377$(0\377#(/\377\"'.\377%*1\377$*1\377#)0\377#'0" - "\377%)0\377\40%,\377>?7\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB" - "\377KLB\377KLB\377KLB\377HI;\377\37%*\377\37$,\377%*1\377#'1\377#(0\377!" - "&1\377#(0\377#(0\377$(1\377#*1\377\"(0\377#(1\377\"'1\377\")1\377\"&.\377" - "\"(0\377\"&/\377#)1\377$(1\377\"'2\377\"'1\377#)2\377',3\377!(/\377\"'0\377" - "\"(1\377!'.\377!&.\377\"&0\377\")1\377$*1\377\"(2\377\"'/\377$)0\377\"'1" - "\377\"&/\377\"(0\377\"'0\377\"(0\377#)1\377\"&1\377#)0\377!&1\377\"'1\377" - "#(0\377\"(0\377\"&0\377\"(1\377#'0\377%)2\377\"(/\377#)1\377#*2\377#(0\377" - "#*2\377\")0\377!&.\377\"&.\377Ydi\377\32\36%\377&.2\377$+2\377%*1\377%*1" - "\377%*1\377#*3\377$+3\377$)3\377%*2\377$+2\377%*1\377$*2\377%+1\377%+2\377" - "$)1\377#*2\377%*1\377$)1\377$)1\377%*1\377$*1\377\"(1\377#*1\377\40)1\377" - "\"(1\377\"(1\377&,3\377#*1\377%*1\377#)2\377#(0\377\")1\377$*/\377\")0\377" - "#*2\377$)1\377%*1\377#*2\377\"(0\377%*1\377$)0\377\"&0\377#'/\377$*1\377" - "\"*2\377\")1\377#)1\377%+1\377#*1\377\")1\377$*3\377$*2\377$(1\377\"&-\377" - "$(0\377\35\"*\377=>6\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377" - "KLB\377KLB\377KLB\377GF;\377\40(+\377\"(/\377$)0\377#)2\377#(1\377\"'/\377" - "$(2\377#(0\377\"(1\377\"(0\377!&.\377\"(1\377\")1\377\"*2\377\")1\377\"(" - "1\377\"&1\377\"(1\377#)1\377\")2\377\"'/\377\"(0\377,/6\377\"(0\377\"&0\377" - "\"(0\377\"'/\377\"'0\377#(0\377\")1\377\"'/\377\"(0\377\"'/\377\"'1\377\"" - "&/\377\")1\377#(0\377\"&.\377\"&0\377\"(0\377\"&/\377\"'0\377\"'/\377!)1" - "\377\"'/\377\"'/\377\"(1\377!)1\377#)1\377#*1\377\"(2\377\"'/\377\")1\377" - "#'2\377#)2\377!'/\377\37$-\377\"&.\377Zdj\377\36!(\377%+1\377%*1\377%+1\377" - "&,3\377&-2\377%,2\377%+2\377%+3\377',3\377%+2\377%*2\377&,3\377%,1\377#*" - "2\377$(1\377$)1\377$)2\377%)1\377$)1\377$*1\377#*2\377#'0\377$)1\377\"'0" - "\377#)1\377\"(1\377#(0\377#(1\377#)1\377#)1\377\"(2\377\")2\377$*1\377$*" - "1\377#*2\377%*1\377$*1\377#*2\377$*1\377#)2\377#)2\377#)2\377$*1\377#(1\377" - "#(2\377\")2\377%*1\377$*1\377#(0\377\"(2\377\"'/\377#(0\377$)0\377$)0\377" - "$)1\377\36\"*\377;;5\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377" - "KLB\377KLB\377KLB\377HI;\377#(+\377$)0\377#)0\377$(1\377\"'0\377\"&.\377" - "\"(1\377\"(0\377\"'/\377$)1\377$)0\377$)0\377$(1\377\"(0\377\"(/\377\"'1" - "\377\"&0\377\"(0\377\40'.\377!(/\377#)0\377#(0\377#'/\377\"'/\377$)1\377" - "\"'/\377\"'0\377#'0\377#(2\377\"&1\377\"'1\377\"(2\377!'/\377!&0\377\"&/" - "\377\"'/\377\"&.\377#(/\377$)1\377!)0\377\"'/\377!'/\377\"&/\377!'/\377#" - "(/\377#)1\377$(0\377$(0\377#)1\377\"'/\377#(0\377#'1\377#(/\377#(1\377#*" - "2\377!(0\377\37$+\377\"&.\377Ydi\377\36!'\377%*3\377%+1\377%,3\377&-4\377" - "%+1\377&-5\377&+5\377&-3\377'.5\377',3\377%+2\377&,3\377$*2\377%*2\377$*" - "1\377$+2\377#*2\377%*1\377%+2\377$)1\377$)1\377$)1\377#*2\377$*1\377&+4\377" - "%*3\377$)1\377$)0\377$+2\377$*1\377$*1\377#)1\377%*1\377$*1\377$)1\377$*" - "1\377$*1\377#)1\377#)1\377$*1\377$*1\377%*1\377$)1\377$)1\377$*1\377#*2\377" - "$)1\377\")1\377#(0\377#*1\377\"(0\377$*1\377#*1\377$*0\377%+1\377\35!*\377" - "994\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KL" - "B\377GF<\377\"',\377\"'1\377$)1\377$(0\377\"(1\377\"&.\377\"'1\377\"'/\377" - "\"'/\377#)1\377#(0\377#(2\377\"'2\377\"'/\377#'1\377!'/\377\"'0\377\"&0\377" - "\"&.\377\")1\377#)1\377#)1\377$)1\377!(0\377#(2\377\")1\377\"&.\377$(0\377" - "\"(2\377\")1\377\"(2\377\"'/\377!'.\377#(1\377\"&0\377\"(1\377\40&.\377\"" - "&.\377\"&1\377\"'2\377\"'0\377\"'0\377#(0\377\"(1\377!'.\377#(1\377#)1\377" - "#(0\377\"(2\377\"(1\377$(1\377\"(2\377#(1\377\"(2\377\"(2\377\"(0\377!&." - "\377\"&.\377Zej\377\34!(\377%*2\377%+2\377&,5\377&-4\377%*2\377%+3\377&+" - "5\377&-5\377(.4\377&-3\377&-4\377%+2\377%*3\377%*3\377%*2\377%+4\377$*1\377" - "$*1\377$*1\377$)0\377%*3\377$)0\377$+2\377%+1\377#*2\377$*1\377#*2\377#)" - "2\377#)2\377#*2\377$*1\377%+2\377$*1\377$)0\377#)0\377#(0\377#)1\377#'0\377" - "%*1\377%+1\377$*1\377%*1\377$(0\377$(1\377$*2\377#)2\377#)2\377$*1\377$)" - "1\377%+1\377#)1\377#*1\377$+2\377\36$+\377\")1\377\37$+\377>?7\377KLB\377" - "KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377FE;\377\"" - "&*\377\40'/\377#)0\377#(/\377#(/\377#'/\377#(1\377\")1\377\"(0\377\"(/\377" - "#(2\377\")2\377#(0\377#(0\377#*2\377#*1\377#(/\377\")1\377\"'1\377#(1\377" - "#(1\377\"'0\377#'/\377$(1\377%)1\377$(0\377#'/\377#(0\377\"'1\377#(0\377" - "#)2\377#(0\377\")0\377\"(1\377#(1\377\"&.\377\"'0\377\"&0\377#(0\377!'/\377" - "\"(1\377#'1\377$*3\377$(1\377\"(0\377$*1\377\"'/\377\"(0\377\"'0\377#)1\377" - "\")1\377!)1\377&,4\377\"'0\377\"(1\377#(0\377!%-\377\"&.\377Ydi\377\36!'" - "\377&,4\377&,4\377',3\377(.6\377'-6\377(-5\377&-5\377'-6\377&-5\377&.3\377" - "&.5\377&,3\377&-5\377%+3\377$+3\377(.5\377&,2\377%,2\377$(3\377%*1\377$)" - "0\377#(2\377%,3\377#*2\377#*2\377#*2\377#*2\377$*1\377%*1\377%+3\377%*1\377" - "#)0\377%+1\377%*1\377#(1\377$)1\377#*2\377$(0\377$)0\377#)0\377#*2\377%*" - "1\377$*1\377$*1\377#)1\377\")1\377$+2\377#*2\377#(2\377%*1\377%*1\377#(/" - "\377$)0\377$)0\377$*1\377\37$*\377::4\377KLB\377KLB\377KLB\377KLB\377KLB" - "\377KLB\377KLB\377LKB\377KLB\377KLB\377EE;\377\"'*\377$+2\377$)1\377\"(0" - "\377\"'/\377#(0\377$)1\377\"(0\377\"(1\377#(1\377$)1\377#*2\377\"(0\377\"" - "'/\377#*1\377\")1\377\"'0\377\")1\377\40)0\377\"'/\377#(0\377%*3\377\"'/" - "\377\"&/\377\"'/\377#'/\377\"'/\377\")1\377\"&0\377#(0\377\"'1\377\")2\377" - "\"'0\377\"'0\377\"'1\377\"&/\377!'0\377\"'0\377\"(0\377\"'1\377#'1\377$)" - "1\377\"(0\377\"'1\377\"&/\377$)1\377#)0\377\")1\377\"&/\377\"'1\377#*2\377" - "\"(2\377#(2\377#)1\377#)1\377#(0\377#'/\377\"&.\377Ydi\377\36!'\377&-3\377" - "%*2\377%+1\377'-5\377'-5\377(.6\377'.6\377&.5\377(.5\377'-5\377%,3\377%-" - "4\377&+5\377&+5\377%+2\377%,4\377%+2\377&+2\377&+3\377&+2\377%+1\377$+1\377" - "#)1\377$)1\377%*3\377$*1\377#*1\377#)1\377$)1\377$+2\377%*2\377%*4\377%*" - "3\377%*1\377#*2\377#(2\377$)1\377#)1\377#*2\377#)2\377#*2\377$*1\377\"*2" - "\377#)1\377#*1\377#*2\377#)2\377$(0\377#)2\377$*1\377%*1\377%+1\377%+1\377" - "$+3\377$)1\377\35\"+\377<<6\377LLB\377KLB\377KLB\377KLB\377KLB\377LLB\377" - "KLB\377KLB\377KLB\377KLB\377GF=\377\37'*\377\36&.\377#)2\377\")1\377#)0\377" - "#)2\377\")0\377$)0\377\"(0\377!(0\377#(1\377\"(2\377#*2\377#*1\377\"'/\377" - "\")1\377\"(0\377#(0\377#(0\377\")1\377\"(1\377#(2\377$)1\377#'1\377\"'/\377" - "#)2\377#'0\377\"(0\377$)1\377\"'0\377#)1\377#*2\377\"(1\377#'/\377#'/\377" - "#'/\377#(0\377#'/\377\")1\377\"&/\377\"&0\377\"&1\377\")1\377#(0\377#'/\377" - "\"(1\377\"(1\377#(1\377\"(1\377#'/\377#(0\377#)2\377\"(0\377#'1\377#)2\377" - "#)0\377#(/\377\"&.\377Ydi\377\35!&\377&.4\377&.2\377&-3\377%,3\377&-3\377" - "&.4\377&.3\377&.4\377&+6\377&-6\377&-6\377'-4\377&-3\377&-3\377&,4\377%," - "4\377$)0\377%*2\377%,3\377%*1\377%,3\377%*1\377%*1\377\"*2\377$*1\377%*1" - "\377$)1\377#)2\377%,4\377#*2\377$*1\377$)1\377%)1\377%+1\377\")1\377$*1\377" - "%+1\377%-3\377%,3\377%*1\377$*1\377$+2\377%+2\377#*2\377#*2\377#*2\377%+" - "1\377#+2\377%*1\377#)1\377$)2\377$)1\377$)0\377#*3\377%*2\377$(.\377@@8\377" - "KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377HG" - ":\377\"')\377\40'/\377%*2\377\"(1\377#(1\377\")1\377#)0\377\"*2\377\"'1\377" - "\"&0\377$)1\377#'2\377\40'0\377!&.\377\"'/\377!(/\377!'/\377\"*2\377\"(0" - "\377\"'0\377\"'1\377\"&.\377#(1\377#)1\377\"'/\377\40*1\377#)1\377#(0\377" - "\"'0\377\40'0\377\"(2\377\"'0\377\")2\377#(0\377\"'0\377\"&.\377#'/\377\"" - "'1\377\"&/\377\"&0\377!&0\377\")1\377\"'1\377\"(0\377$)1\377#)0\377\"(0\377" - "\"(1\377\40(/\377\"'0\377\"(0\377\"&/\377\"'/\377#*1\377!*1\377\"(/\377\40" - "&.\377\"&.\377Ydi\377\35!&\377%+2\377&,4\377&.5\377'+6\377%*2\377(/4\377" - "&,4\377'-6\377'-6\377&.5\377&.4\377'.6\377'.4\377'.3\377&-4\377%+2\377&+" - "4\377&-3\377%+1\377$*1\377$*1\377#*2\377$*1\377#)1\377$*2\377%*3\377$(1\377" - "%*1\377$*2\377$+2\377#(0\377#)0\377$)1\377#)2\377$)1\377#(/\377$*0\377%*" - "1\377%+2\377%*1\377%*1\377%+2\377%+4\377\"*2\377#(0\377$*1\377$*1\377#(2" - "\377#)2\377#(0\377$*1\377&,5\377%+1\377#*2\377%,3\377!$.\377==7\377KLB\377" - "KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377FF=\377#(" - ",\377$*3\377$*3\377\"(1\377\"&0\377#)1\377\"'/\377!'/\377#(1\377$)2\377#" - "'/\377#(2\377!&1\377\40'.\377#)0\377\"'1\377\"(1\377\")1\377\"'0\377\"'2" - "\377\"(0\377\"&.\377\")0\377%*2\377!(0\377!'/\377%*1\377#'1\377#'1\377\"" - "'1\377#(1\377#(0\377!'/\377$)1\377\"'2\377\"(0\377#'/\377\"'/\377#'0\377" - "\"'.\377!)1\377#*2\377\"'/\377\"&.\377#(0\377\"(0\377#'/\377\"'/\377!'.\377" - "\"(0\377\40'/\377!&.\377\40'/\377#)0\377$*2\377%)2\377\"&0\377\"&.\377Ze" - "m\377\34!)\377&-3\377%+2\377',4\377(-5\377&+3\377&-2\377&.3\377',6\377'." - "6\377&.5\377',5\377%-5\377&,5\377&-6\377&-2\377&,3\377%+3\377%*1\377$*1\377" - "%+2\377$*2\377$)2\377%*1\377%,1\377%*1\377$)1\377%+1\377%)1\377%+1\377#*" - "2\377%,1\377%+1\377#)1\377#)1\377#'0\377$*1\377$)0\377$*1\377%*1\377%*1\377" - "#*2\377#)2\377#(2\377%*1\377$*1\377$*1\377%*1\377%*1\377%*4\377$*2\377$*" - "2\377#)2\377$*2\377$*1\377%+2\377#&/\377??8\377NLC\377KLB\377KLB\377KLB\377" - "LKB\377KLB\377KLB\377KLB\377KLB\377KLB\377EF;\377\36%(\377$)3\377%*1\377" - "#)1\377#'/\377\"'/\377#)1\377#)1\377#)2\377#)2\377\")1\377#*2\377\"'1\377" - "\"&0\377#(0\377\40(0\377$)1\377\"(0\377\"&.\377\"'/\377\"'0\377!'0\377\"" - "&/\377\"&0\377$)0\377\40&.\377\"(1\377\"&0\377\")2\377#)1\377#'0\377!'0\377" - "\"'/\377#&0\377\")1\377$)0\377\"(1\377!'/\377\"&.\377\"'0\377\"&.\377#'0" - "\377$+1\377\"'/\377#(0\377\"'/\377\"'0\377\"(2\377\"'0\377!%.\377\"&0\377" - "\40&/\377#'1\377#)1\377\"(1\377\"'1\377#%.\377\"&.\377Yej\377\35!(\377%*" - "3\377&*4\377&+6\377'.6\377(,6\377&+5\377&.6\377&.6\377&,6\377'.5\377'.6\377" - "'-5\377&+3\377(-6\377&,4\377&-3\377%*1\377%*1\377%-2\377$+3\377$*2\377%+" - "1\377#*2\377$+2\377%+1\377$*1\377%*1\377$(0\377%*1\377%*1\377$*1\377$)1\377" - "$)1\377%*1\377%*1\377$*1\377$)1\377#*1\377$*1\377%*1\377$*1\377$)1\377#*" - "2\377%*1\377#+3\377#+3\377$+2\377$+1\377$)1\377$*2\377$*2\377%*1\377$+2\377" - "#*2\377$+1\377\33\40%\377<=4\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377" - "KLB\377KLB\377KLB\377KLB\377JG=\377\"&(\377\34\"+\377#)2\377#'1\377$)0\377" - "\"(1\377$)1\377\"&0\377!&/\377\"'1\377#)1\377#*2\377$)1\377\"'/\377!(/\377" - "\"(1\377$)1\377#'/\377$)0\377$)1\377$*1\377$)1\377\"'0\377\"&1\377#'0\377" - "\"&0\377#(0\377\"&1\377\"'0\377#'1\377$)3\377\"'/\377#(/\377#'/\377\"'1\377" - "#'/\377\"&1\377\40&.\377\"(0\377\"'/\377!'.\377%)1\377\"(/\377\")1\377!(" - "1\377!(/\377\"&0\377\"&0\377\"'/\377!'/\377\"&1\377\"&0\377#'/\377#(1\377" - "\"'/\377#*1\377\40$-\377\"&.\377Ydi\377\35!&\377&,3\377&,4\377'-6\377'.4" - "\377'-5\377(.6\377(.6\377&,5\377&+4\377&-5\377&,6\377&.5\377&*5\377%+2\377" - "%*3\377%,2\377%*2\377%*1\377$+3\377%,2\377%+2\377#)2\377#)2\377%*2\377#*" - "1\377$)0\377#(0\377$*1\377#(0\377#(2\377%*1\377$)0\377$*3\377#*2\377#)3\377" - "%*3\377$*1\377$*1\377#*2\377$*1\377$*1\377%+1\377%*1\377$*1\377#*2\377$*" - "1\377%)1\377$*1\377%+1\377$,3\377$*1\377$*1\377%*1\377#*1\377$*1\377!(/\377" - "AC:\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377LKB\377KLB\377KLB\377LJ" - "B\377ROB\377(.1\377\")1\377$(2\377\"'/\377\")1\377\")1\377#(2\377$*2\377" - "\"(1\377$,4\377#'0\377#(1\377\"&0\377\"&2\377\"(1\377#(0\377\"&/\377\"(0" - "\377\"'/\377\"(0\377\"(2\377\"(1\377\"(0\377#(1\377\"&/\377\"&0\377\"'0\377" - "\"'0\377\"'1\377!&.\377\"'/\377$)1\377\"'0\377#*2\377#'1\377\"'/\377\"&/" - "\377!&.\377#(1\377\")1\377\"&/\377#'/\377\"'0\377$)1\377!'0\377\40&/\377" - "!'/\377\"&1\377!&.\377\"'0\377$)0\377\"'1\377\"&0\377!'/\377\"(/\377#(/\377" - "#(0\377\"&.\377Ydi\377\35!'\377&-4\377&+5\377',4\377'.4\377'-5\377'.5\377" - ").5\377',7\377(-5\377&-5\377&+5\377&.6\377&-6\377&,4\377%+4\377%+2\377%*" - "2\377$*2\377%*2\377%*1\377$,3\377$+2\377$*1\377%*1\377$,1\377%-2\377%*1\377" - "$*1\377$*1\377$*1\377#(0\377$*1\377$*3\377$*2\377$)2\377%*2\377%*1\377#*" - "2\377#*2\377$*1\377%*1\377%*1\377#*2\377$*3\377%,2\377%+1\377#)0\377$)0\377" - "$+2\377%*1\377%+1\377$*1\377%,2\377\"'.\377$)0\377!(1\377BA:\377LLB\377K" - "LB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KKB\377GD;\377#(." - "\377$*3\377\")1\377\40&/\377#)1\377\"'0\377#)1\377$(0\377\")1\377#*1\377" - "#)0\377#)1\377$)0\377\"(1\377\"*2\377\"(0\377\"(/\377\"'/\377\"'/\377\"*" - "1\377\"(0\377\"(1\377\"(0\377\"(0\377\"(1\377#(/\377\"&/\377\"(1\377#)1\377" - "!'/\377\"&/\377!(/\377\"'/\377\"'/\377$(0\377\"'/\377\"&0\377!&/\377\40'" - "/\377\"(2\377\"&0\377$)0\377#(1\377\"'/\377\"&/\377\"&/\377#(0\377#)2\377" - "#)0\377\"&1\377\40&.\377\40&/\377\"&.\377\"'/\377\40&.\377\"'/\377\"&0\377" - "\"&.\377Ydi\377\35!'\377&,3\377&+4\377&,6\377&-6\377&+4\377&-6\377&-6\377" - "',4\377'.6\377%-4\377%+2\377&-4\377&*3\377&+3\377%,3\377$+2\377%*3\377%+" - "1\377%+1\377%+2\377$+2\377%*1\377%*1\377#(/\377$)1\377$*3\377%*2\377%*4\377" - "$*1\377#)1\377#)1\377$*1\377#*2\377$*1\377%*1\377#(1\377#)1\377$+2\377$)" - "2\377\")1\377#*1\377$+1\377#)0\377#)2\377#*2\377#)2\377$)1\377\")1\377#*" - "2\377$*1\377#*2\377#*2\377&+2\377$)0\377#*2\377\37'1\377.6;\377SOB\377KL" - "B\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377NLA\377=?>\377\36'" - "0\377$)0\377\"&.\377\")1\377#(0\377#(0\377\40&.\377!&.\377\"&/\377\"&.\377" - "\"&.\377\"&.\377#(1\377#(1\377#(0\377\"(0\377!&.\377#(0\377\"(0\377#'0\377" - "!(0\377\"'/\377!)0\377!&0\377\"'0\377\"&0\377\"'2\377\"'/\377\"&/\377!&." - "\377\"(0\377!(0\377\40&-\377\")1\377#'0\377#(2\377\")0\377\40'.\377!&.\377" - "#(1\377\"&.\377\"'1\377\"(2\377\"'2\377\"'/\377\40&.\377\"'0\377\"(0\377" - "!'0\377\"&1\377\"'2\377\"&/\377\"&/\377#'/\377#'/\377!&.\377\"%-\377\"&." - "\377Ydi\377\36!&\377%*2\377&+5\377'-4\377&.5\377&-5\377%+3\377&+5\377&-6" - "\377&+5\377&,2\377%+3\377&,5\377$*2\377$*2\377%*2\377%*1\377$*2\377%*3\377" - "#*2\377$*2\377#*2\377%*3\377#*2\377$*1\377#*2\377#)2\377#*2\377$)2\377$*" - "2\377#*1\377#)1\377$)1\377#*2\377\"*2\377#*2\377#)2\377#*1\377#)0\377%,3" - "\377\")1\377$)1\377%*1\377#)1\377#(2\377#'1\377%)1\377$)0\377$)1\377%+1\377" - "#)2\377\"'1\377#*1\377#*1\377\")1\377$)4\377$*1\377\40+9\377GKP\377NMC\377" - "KLB\377KLB\377KLB\377KLB\377KLB\377JKC\377HID\377OQQ\377#-:\377\"'0\377\"" - "&0\377$(0\377!&1\377\"'1\377!&.\377\37&-\377!&.\377\"&/\377\"&0\377\"&.\377" - "\"(0\377\"(0\377#(0\377!&.\377\"'1\377\"'1\377\"'1\377\40(0\377\"'0\377\"" - "'/\377\"'0\377!&/\377#(0\377\")1\377\"&0\377\40(0\377\"&.\377\"&/\377\"&" - "0\377\"&.\377!&0\377\"&/\377$)0\377#'/\377\"&/\377\"&0\377\"(0\377\40'.\377" - "#)0\377\"'/\377#)1\377\"'0\377\"&/\377\"&.\377!&0\377\"(/\377\"&/\377\40" - "&/\377!&.\377!'/\377\40&.\377\40&.\377\40'.\377!%-\377\40#+\377\36#+\377" - "\"&.\377Ydi\377\34\40&\377%*1\377%*1\377%*2\377%,2\377&+5\377%+3\377%*3\377" - "&-4\377&+2\377'+4\377&,5\377%+2\377%)1\377$)1\377#*2\377%*1\377$*1\377%*" - "1\377$*1\377$*1\377%+2\377$*1\377#)0\377%*1\377%*1\377$)1\377%*1\377$*1\377" - "%*1\377#)2\377#)2\377#(2\377$*3\377\")2\377$*1\377%)2\377#(0\377%*1\377%" - "*1\377\"(0\377\"(1\377$)0\377#)1\377$'0\377#'0\377#'0\377\"&.\377\"&.\377" - "#'/\377#(1\377#(1\377!(0\377$(0\377!)0\377\"*2\377\")1\377#'/\377-7C\377" - "[aa\377SQD\377JJ@\377KLB\377KLB\377LKA\377QPC\377ggc\3774?O\377\36$,\377" - "\"'0\377!&.\377!'.\377\40&.\377\40&-\377\40&-\377!&.\377\40&-\377\40'/\377" - "!&.\377#'/\377#(/\377\"&/\377\"&.\377!&/\377\"'1\377\"'/\377!(0\377\"(1\377" - "!'0\377!(0\377#'0\377#(1\377\"'/\377!(1\377!'.\377!'/\377#'0\377#'/\377\"" - "&/\377!&.\377!&.\377!&.\377\"&.\377\"&1\377\"&.\377\"&.\377\"&.\377\"&.\377" - "!'0\377!&.\377\")0\377\"&.\377#'/\377!'.\377\40&-\377\"%-\377\"&.\377!&." - "\377!&.\377\"'/\377\"&.\377\"&.\377\37%-\377\40$,\377\37#*\377\36\")\377" - "\"&.\377Ydi\377\32\36$\377%*1\377%*1\377%+1\377%+1\377%*2\377%+2\377%+2\377" - "$*2\377%*1\377%,2\377#*2\377%*1\377#)1\377#(1\377#)1\377\"'/\377%*1\377$" - ")1\377#(1\377$)1\377$*1\377$(0\377#(0\377$)1\377$)1\377#*1\377!'.\377#(/" - "\377$(0\377\"(0\377\"(0\377\")1\377\"&.\377#(0\377#(0\377$)0\377\"'/\377" - "\"&.\377#(/\377!&.\377!&0\377!&.\377\"&0\377\"&/\377\"(/\377!&.\377!(0\377" - "!&.\377\40&.\377!&.\377#'/\377\"&.\377#(/\377!'.\377!'.\377!(0\377\"&.\377" - "\34!(\377%0=\377Qan\377jkk\377fbV\377db\\\377hf^\377UZ_\377.5?\377\32\36" - "(\377\40'/\377\40&.\377\37&-\377!&.\377!&/\377!%.\377\40&-\377\36$,\377\36" - "%-\377\36&-\377!'.\377\"'.\377\"'.\377\40&/\377\37&.\377\40&-\377\37%-\377" - "\40%-\377!&.\377!&.\377\"(/\377\"&.\377\")0\377!'.\377\37&.\377\40%.\377" - "!&.\377\"&0\377\"&.\377\"&.\377!&.\377\37&-\377\37&-\377\36&-\377\"&/\377" - "!&.\377\40&.\377!&.\377!&.\377\"'/\377#)0\377\"'.\377\40&.\377\40&.\377\"" - "&.\377!'.\377!$-\377\"%-\377\40&.\377\40&-\377!&-\377\37&-\377!$,\377\40" - "$,\377\40'.\377\"&0\377\40$-\377!%-\377\"&.\377Ydi\377\32\35&\377$*1\377" - "%-2\377%+2\377%+1\377$+1\377%+1\377%+1\377$)0\377$(0\377\"(0\377!(/\377#" - "(/\377\"'/\377\40&-\377!&.\377!&.\377!(/\377\"&.\377\"&-\377!&.\377!'.\377" - "\"&/\377!&.\377\"&.\377!&/\377!&.\377!&,\377\40&.\377\40&-\377\"'/\377\"" - "'/\377!'/\377\40&-\377\37'/\377!&0\377\"&.\377\"&.\377\40%-\377\37%-\377" - "\36&-\377\37%-\377\37&,\377\40%,\377\37%,\377!&+\377\40&.\377\37&-\377\36" - "$,\377\35#+\377\34$,\377!(/\377\40&.\377\40(-\377\40&.\377!&.\377\37%,\377" - "\40%-\377\36%,\377\35$+\377\26\33#\377\35&5\377*08\377',5\377\36%/\377\21" - "\32&\377\31\40(\377\35$+\377\36$,\377\37%,\377\40$,\377\40&-\377\37$,\377" - "\36$-\377\37#*\377\34#+\377\22\33#\377\33\",\377!&.\377\36$+\377\37%-\377" - "\37%,\377\36#+\377\36#+\377\37$,\377\37$,\377\37&-\377\37&-\377\37&-\377" - "!&.\377\37&-\377\37&-\377!%.\377!$-\377\40%-\377!%-\377!%-\377!&.\377\37" - "&-\377!&.\377\37&-\377\37&-\377!&/\377\40&.\377\40&-\377\40&.\377\40&-\377" - "\40&.\377\"&.\377\"'/\377!&.\377!&.\377\"&.\377#'-\377\37&-\377\37$,\377" - "\36&-\377\36&-\377!%,\377\36&-\377\40$+\377\36#+\377%,1\377!'.\377\37#,\377" - "\40$.\377\"&.\377NW[\317\21\27\37\377#)1\377&+3\377%+3\377%*2\377%+2\377" - "#(0\377\"'/\377\"'/\377!&.\377!&.\377!%-\377!%-\377\36&-\377\40%.\377\40" - "&-\377\36%,\377\37%-\377\37%,\377\37%,\377\40%-\377!%-\377\40%+\377\40%-" - "\377\37%,\377\37%-\377!%.\377\40$*\377\35#+\377\36$,\377\36\"*\377\35#*\377" - "\36#+\377\37\"+\377!$-\377\37%-\377\35$+\377\36$+\377\34$,\377\33!)\377\34" - "!)\377\35!)\377\35!(\377\35\")\377\36#*\377\36\")\377\34\40(\377\24\33\"" - "\377\14\23\33\377'()\377\36\37#\377\21\26\37\377\31\36'\377\34\"(\377\32" - "\40)\377\36$,\377\34!)\377\35#*\377\33\40(\377\35\"+\377\35#+\377\31\40)" - "\377\33\"+\377\30\37)\377\32\37'\377\31\37(\377\33\40(\377\30\36'\377\32" - "\37(\377\31\37'\377\33\40)\377\33\"*\377\32\40*\377\30\35&\377\21\27\37\377" - "\23\24\26\377)*-\325\20\21\25\371\23\30\36\377\24\36$\377\30\37&\377\30\37" - "&\377\30\34%\377\27\34\"\377\30\34$\377\30\34#\377\32\35!\377\32\34!\377" - "\27\33\40\377\26\33\40\377\27\35\40\377\30\33!\377\27\33\40\377\30\35#\377" - "\30\35$\377\32\36#\377\30\33\"\377\27\36#\377\30\34#\377\27\33\"\377\30\34" - "\"\377\30\34#\377\27\35#\377\31\34\"\377\30\35#\377\30\35#\377\27\33\"\377" - "\31\34!\377\30\34#\377\30\33!\377\30\33\"\377\30\35\"\377\27\32!\377\30\33" - "\"\377\26\33\40\377\26\33\40\377\26\35!\377\26\32\37\377\26\33\40\377\26" - "\33\40\377\26\33\40\377\27\33\40\377\26\32\40\377\25\32\37\377\15\21\26\377" - "\4\10\15\377\24\27\33\317\1\1\1\40\2\5\7\321\23\26\34\377\"&/\377!&/\377" - "!%-\377\40$-\377\37$,\377\36#+\377\37$,\377\36#+\377\36#+\377\36\"*\377\36" - "#+\377\36#+\377\36#+\377\36#+\377\36\"*\377\36#*\377\36\"*\377\36\"*\377" - "\36\"+\377\36\"*\377\36\"*\377\36\"*\377\35\"*\377\36\"*\377\36\"*\377\36" - "\"*\377\35!)\377\36\"*\377\36\"*\377\35!)\377\36\"*\377\36\"*\377\36\"*\377" - "\35\"*\377\35\"*\377\22\25\31\377\11\14\17\377\12\13\16\377\11\13\16\377" - "\12\14\16\377\12\14\17\377\13\14\16\377\13\14\17\377\13\14\16\377\11\12\15" - "\377\3\7\12\377>>?\362{}{ZPNNu\21\21\26\377\5\7\12\377\10\11\13\377\10\12" - "\15\377\11\14\17\377\11\13\17\377\12\13\16\377\10\12\15\377\10\12\16\377" - "\12\14\17\377\11\14\20\377\11\14\21\377\11\14\20\377\11\13\16\377\10\12\15" - "\377\10\12\15\377\6\11\14\377\7\12\15\377\6\11\14\377\10\12\15\377\10\12" - "\15\377\6\11\14\377\4\6\12\377\1\3\4\377(((u\376\376\372(\27\30\32\201\1" - "\1\1\377\2\5\6\377\4\5\10\377\5\6\10\377\4\3\7\377\3\5\6\377\4\3\6\377\4" - "\2\4\377\3\3\1\377\3\2\1\377\3\1\1\377\2\1\1\377\3\3\1\377\1\1\1\377\1\1" - "\1\377\1\1\1\377\1\2\1\377\1\1\1\377\1\1\1\377\1\1\1\377\1\1\1\377\1\1\1" - "\377\1\1\1\377\1\1\1\377\1\1\1\377\2\2\1\377\1\1\1\377\1\1\1\377\1\1\1\377" - "\2\1\1\377\1\1\1\377\1\1\1\377\1\1\1\377\1\1\1\377\1\1\1\377\1\1\1\377\1" - "\1\1\377\1\1\1\377\1\1\1\377\1\1\1\377\1\1\1\377\1\1\1\377\1\1\1\377\1\1" - "\1\377\1\1\1\377\1\1\1\377\1\1\1\377\2\2\4\321\1\1\1\40" -}; +/* GIMP RGBA C-Source image dump (fd-img-128x128.c) */ + +uint8 floppyDiskImg[] = { +// 128 / 256, 128 % 256, // width (HI byte, LO byte) +// 128 / 256, 128 % 256, // height (HI byte, LO byte) + "\000\200\000\200" // Same thing as above, just in octal... :-P + "\213\234\243\40`lq\321[ej\377\\fj\377\\fk\377[ej\377]fk\377[ej\377\\gl\377" + "[fk\377Zej\377Zej\377\\fk\377Zek\377^hj\377\\ej\377^jp\377^io\377^jp\377" + "`kp\377bmr\377ams\377[gl\377[fk\377[fk\377Zek\377Zfj\377[hm\377Zfk\377[g" + "l\377Zej\377Zej\377[ej\377]hm\377Zek\377\\fl\377^im\377[fk\377Zej\377Zek" + "\377[fl\377]hl\377\\in\377[fk\377Zfj\377[fk\377[fk\377Zej\377[fm\377[fm\377" + "[go\377[hp\377[fk\377]ip\377\\ho\377Zfm\377Zfl\377[fm\377[fm\377[fl\377[" + "fl\377[fo\377[fm\377[ho\377[fn\377[fo\377\\hq\377[gp\377[fp\377\\jt\377[" + "hr\377\\jq\377[js\377\\js\377\\jt\377^is\377\\jr\377`mt\377]go\377[hp\377" + "[io\377]iq\377]ir\377[go\377[hp\377]jq\377\\is\377[iq\377[iq\377\\kt\377" + "\\kt\377amt\377^ls\377_ls\377`mt\377]lt\377]kr\377]js\377`nx\377\\ku\377" + "]mv\377]mv\377^oy\377cqy\377bqz\377bpx\377`py\377ar~\377ar~\377`p{\377_p" + "{\377aq}\377_oz\377_p{\377ar~\377ar~\377`q|\377`p|\377`q|\377ar}\377bq{\377" + "br}\377ft}\377dt~\377hw~\377es|\377]ip\321&.6\40`lq\317\17\26\36\377\16\25" + "\37\377\16\27#\377\20\30#\377\16\26\"\377\20\27#\377\11\20\31\377\5\15\27" + "\377\3\12\25\377\2\12\24\377\4\14\26\377\3\10\20\377\2\7\22\377\5\10\20\377" + "\3\5\17\377\5\12\23\377\5\12\22\377\5\11\23\377\7\11\23\377\11\16\25\377" + "\13\21\30\377\3\11\17\377\2\3\13\377\2\3\14\377\3\6\13\377\2\7\16\377\3\12" + "\20\377\2\10\16\377\5\14\23\377\2\11\22\377\2\10\21\377\4\13\24\377\12\21" + "\31\377\5\14\26\377\4\10\21\377\4\14\25\377\3\10\17\377\2\7\15\377\2\10\20" + "\377\2\5\20\377\6\12\23\377\5\11\21\377\2\6\21\377\2\11\23\377\2\12\24\377" + "\2\10\22\377\2\3\21\377\2\7\22\377\3\7\20\377\5\16\32\377\5\16\30\377\2\11" + "\24\377\4\14\30\377\3\13\27\377\2\7\23\377\2\3\16\377\2\4\17\377\2\4\17\377" + "\2\3\15\377\2\6\15\377\2\3\16\377\2\5\16\377\2\7\21\377\2\4\20\377\2\4\17" + "\377\3\5\17\377\3\4\16\377\2\4\17\377\3\7\21\377\2\5\20\377\3\7\22\377\3" + "\7\21\377\3\11\24\377\3\10\21\377\5\10\17\377\4\12\22\377\6\11\21\377\4\7" + "\20\377\2\5\17\377\2\6\17\377\4\6\23\377\4\6\23\377\2\4\17\377\2\5\22\377" + "\4\7\23\377\3\6\23\377\2\10\24\377\3\13\24\377\3\10\22\377\3\10\25\377\7" + "\11\22\377\5\10\21\377\6\11\23\377\6\11\27\377\4\11\30\377\4\10\23\377\4" + "\7\23\377\6\13\25\377\3\7\22\377\4\10\21\377\4\10\20\377\5\11\21\377\11\14" + "\25\377\10\14\24\377\10\13\23\377\6\12\17\377\10\14\25\377\10\14\25\377\6" + "\12\22\377\6\12\22\377\6\13\22\377\5\12\20\377\6\12\20\377\7\14\23\377\7" + "\14\22\377\6\13\20\377\6\12\21\377\6\14\25\377\10\17\33\377\14\26\"\377\21" + "\34+\377\31#0\377\31&1\377\40+3\377#+5\377\30\",\377$*2\317Zhq\377\36$/\377" + "'/7\377%,5\377',7\377\36%0\377\21\26\36\377\12\17\24\377\3\11\21\377\2\10" + "\17\377\2\7\17\377\2\3\12\377\2\3\11\377\2\5\14\377\2\3\13\377\2\2\7\377" + "\2\2\10\377\2\2\10\377\2\2\5\377\2\2\5\377\2\2\4\377\1\1\1\377\1\1\1\377" + "\1\1\1\377\1\1\1\377\1\1\1\377\1\1\3\377\1\1\1\377\1\1\1\377\1\1\1\377\1" + "\1\1\377\1\1\1\377\1\1\1\377\1\1\1\377\1\1\1\377\1\1\1\377\1\1\1\377\2\1" + "\2\377\4\2\3\377\11\12\12\377\12\13\13\377\27\26\21\377\17\17\13\377\10\11" + "\11\377\15\15\13\377\16\17\16\377\23\23\16\377\22\22\20\377\31\27\25\377" + "\32\33\27\377#!\32\377!\40\32\377\25\24\20\377\24\22\16\377\24\24\16\377" + "\25\25\20\377\34\34\27\377\37\37\32\377''!\377*&\36\377&#\33\377%\"\35\377" + "+(\"\377((#\377-*#\377//,\37740&\37720.\377211\37732/\37773)\37751'\3776" + "41\37720.\37796/\377888\377666\377<::\377:99\377?>?\377ECA\377D?<\377EA>" + "\377BBB\377???\377@>=\377FF=\377B?9\377>;9\377AA6\377CA:\377CD=\377HK=\377" + "JLD\377NKH\377RMG\377KLK\377ILB\377NPA\377b_S\377`[Q\377]YP\377YVR\377ZU" + "L\377^ZS\377`f^\377ihh\377jii\377ji`\377ji_\377jjc\377jif\377jhj\377jhj\377" + "jhj\377jii\377jhj\377jii\377jig\377c^T\377420\377\7\12\25\377\34\"*\377&" + "+4\377'.7\377+2:\377&0:\377#)1\377Zhp\377\40'0\377*08\377'.6\377\"(3\377" + "\20\23\27\377AC@\377\232\227\223\377\257\252\244\377\257\256\257\377\277" + "\277\270\377\303\302\262\377\303\301\275\377\300\274\253\377\303\277\301" + "\377\303\300\303\377\303\300\303\377\303\300\303\377\303\300\303\377\303" + "\300\303\377\303\300\303\377\303\300\303\377\303\300\303\377\303\300\303" + "\377\303\300\303\377\303\300\303\377\303\301\270\377\303\300\303\377\303" + "\300\303\377\303\300\303\377\303\301\303\377\303\301\303\377\303\301\303" + "\377\303\301\303\377\303\301\303\377\303\301\303\377\303\301\303\377\304" + "\301\303\377\305\301\304\377\310\305\310\377\310\305\307\377\314\310\270" + "\377\313\311\307\377\307\305\307\377\312\307\310\377\313\310\312\377\316" + "\313\312\377\315\312\311\377\321\315\316\377\322\317\317\377\326\322\321" + "\377\325\322\321\377\317\313\312\377\316\311\312\377\316\313\312\377\317" + "\315\276\377\323\320\317\377\324\324\315\377\331\326\323\377\332\325\322" + "\377\330\324\321\377\330\324\311\377\333\330\317\377\331\326\326\377\334" + "\332\313\377\335\335\324\377\340\335\317\377\336\335\314\377\337\336\331" + "\377\336\333\312\377\337\332\303\377\340\333\327\377\341\335\336\377\337" + "\333\334\377\343\340\333\377\342\340\341\377\341\336\341\377\344\341\343" + "\377\343\340\342\377\346\343\345\377\351\346\346\377\351\344\344\377\351" + "\345\345\377\350\345\347\377\346\343\345\377\346\343\345\377\352\347\345" + "\377\350\343\343\377\346\341\342\377\347\344\341\377\350\344\343\377\350" + "\346\345\377\353\352\345\377\354\352\351\377\356\352\352\377\361\354\351" + "\377\355\352\355\377\354\352\350\377\356\355\347\377\371\365\361\377\371" + "\363\360\377\367\361\357\377\365\360\361\377\365\357\355\377\370\362\361" + "\377\371\371\367\377\376\372\375\377\376\372\376\377\376\373\371\377\376" + "\373\370\377\376\373\372\377\376\372\374\377\376\372\376\377\376\372\376" + "\377\376\372\376\377\376\373\375\377\376\372\376\377\376\373\375\377\376" + "\373\374\377\372\365\362\377\337\333\334\377sof\377\16\21\31\377\"*2\377" + "*/8\377,08\377&,7\377#)1\377Zen\377%&-\377).7\377%*3\377\12\14\21\377\213" + "\211\212\377\376\373\375\377\376\372\376\377\376\372\376\377\376\374\374" + "\377\376\374\374\377\376\374\374\377\376\374\374\377\376\373\375\377\376" + "\372\376\377\376\372\376\377\376\373\375\377\376\373\375\377\376\372\376" + "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\373\375\377\376" + "\374\374\377\376\374\374\377\376\374\374\377\376\374\374\377\376\374\374" + "\377\376\374\374\377\376\375\373\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\375\373\377\376" + "\375\373\377\376\374\374\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\362\377\376\375\373\377\376\374\374\377\376" + "\374\374\377\376\374\373\377\376\376\366\377\376\374\373\377\376\375\373" + "\377\376\376\361\377\376\376\371\377\376\375\373\377\376\375\373\377\376" + "\376\370\377\376\376\371\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\375\373\377\376" + "\374\374\377\376\374\374\377\376\374\374\377\376\374\374\377\376\374\374" + "\377\376\374\374\377\376\374\374\377\376\374\374\377\376\374\374\377\376" + "\375\373\377\376\374\374\377\376\374\374\377\376\374\374\377\376\374\374" + "\377\376\374\374\377\376\374\374\377\376\374\374\377\376\374\374\377\376" + "\374\374\377\376\372\376\377\376\372\376\377\376\372\376\377\376\374\374" + "\377\376\374\374\377\376\374\374\377\376\374\374\377\376\374\374\377\376" + "\374\374\377\376\373\375\377\376\373\375\377\376\372\376\377\376\372\376" + "\377\376\372\376\377\376\372\376\377\376\372\376\377\362\355\355\377FC?\377" + "\31\37&\377&-5\377$)3\377&.6\377#)1\377Zgq\377$(/\377',4\377\35#+\377PON" + "\377\362\356\361\377\376\372\376\377\376\374\374\377\376\375\373\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\375\373\377\376\375\373\377\376\376\372\377\376\376\372\377\376" + "\375\373\377\376\375\373\377\376\375\373\377\376\375\373\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\375\373\377\376\375\373\377\376\375\373\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\375\373\377\376" + "\375\373\377\376\375\373\377\372\371\363\377\375\372\372\377\376\372\376" + "\377\230\224\224\377\17\23\27\377',5\377$)2\377%,5\377#)1\377Zeo\377\"%." + "\377'+3\377\14\21\33\377\206\203\205\377\376\372\376\377\376\372\376\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\375\373\377\376\375\373\377\376\373\375\377\372\372" + "\366\377\375\373\373\377\376\372\376\377\312\304\277\377\11\16\25\377$*5" + "\377%*1\377\40(4\377#)1\377Zen\377\37#.\377#)0\377\12\14\20\377\213\210\206" + "\377\376\372\376\377\376\374\374\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\373\375\377\376\374\374\377\376\373\375\377\376\372\376" + "\377\333\327\314\377\6\13\22\377\"*3\377%+1\377\40'0\377#)1\377Zem\377\37" + "%-\377%+3\377\14\15\20\377\217\214\211\377\376\372\376\377\376\374\374\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\375\373\377\376\374\374\377\376\375" + "\373\377\376\373\375\377\376\372\376\377\340\336\327\377\5\13\21\377#*3\377" + "$'/\377!)3\377#)1\377[is\377\37%/\377$*2\377\13\14\17\377\213\210\206\377" + "\376\373\370\377\376\375\373\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\375" + "\373\377\376\375\373\377\376\372\376\377\376\372\376\377\376\372\376\377" + "\340\336\317\377\5\13\21\377$+3\377%)/\377!'0\377#)1\377[js\377\37'1\377" + "$*2\377\13\14\16\377\213\210\206\377\376\375\366\377\376\375\373\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\375\373\377\376\373\375\377\376\372\376" + "\377\376\372\376\377\376\372\376\377\340\336\316\377\3\10\17\377!*2\377#" + "(0\377\"(2\377#)1\377[is\377\37%.\377$*1\377\12\14\21\377\213\210\206\377" + "\376\372\376\377\376\374\374\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\375\373\377\376\375" + "\373\377\376\373\375\377\376\373\375\377\376\373\375\377\376\372\376\377" + "\336\332\312\377\6\14\23\377#)3\377&,3\377\")1\377#)1\377[go\377\35#+\377" + "#(0\377\13\14\20\377\216\212\210\377\376\372\376\377\376\372\376\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\374\374\377\376\373\375\377\376\372\376\377\376\372\376" + "\377\376\372\376\377\376\372\376\377\333\324\304\377\10\15\24\377%+4\377" + "$*2\377\37%.\377#)1\377Zgo\377\33\40(\377'-3\377\13\15\20\377\211\207\205" + "\377\376\372\376\377\376\372\376\377\376\373\375\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\374\374\377\376" + "\372\376\377\376\373\375\377\376\372\376\377\376\372\376\377\376\372\376" + "\377\336\333\316\377\7\14\23\377%*3\377%+3\377!&/\377#)1\377Zgo\377\36$+" + "\377&+4\377\11\12\15\377\207\204\205\377\376\372\376\377\376\372\376\377" + "\376\375\373\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\374\374\377" + "\376\373\375\377\376\372\376\377\376\373\375\377\376\373\375\377\376\372" + "\376\377\376\372\376\377\376\372\376\377\333\326\315\377\12\17\25\377&+4" + "\377&+3\377#*2\377#)1\377Zeo\377\37#-\377'.5\377\13\14\16\377\211\207\205" + "\377\376\372\376\377\376\372\376\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\374\374\377\376\372\376\377\376\373\375\377\376\372\376\377\376" + "\372\376\377\376\372\376\377\376\373\375\377\376\373\375\377\376\372\376" + "\377\324\316\303\377\11\16\25\377#+5\377',7\377\"'2\377#)1\377Zfp\377\37" + "%/\377,07\377\17\20\22\377\221\216\214\377\376\372\376\377\376\372\376\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\374\374\377\376\375\373\377\376\374\374\377" + "\376\373\375\377\376\372\376\377\376\373\375\377\376\373\375\377\376\373" + "\375\377\376\373\375\377\376\372\376\377\321\311\300\377\12\17\25\377#)4" + "\377&-4\377\")2\377#)1\377Zgq\377\35$,\377(/6\377\11\13\14\377\207\205\205" + "\377\376\372\376\377\376\372\376\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\375\373\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\375\373\377\376\374\374\377\376\372\376" + "\377\376\373\375\377\376\375\373\377\376\375\373\377\376\373\375\377\376" + "\373\375\377\376\373\375\377\376\373\375\377\375\374\375\377\376\372\376" + "\377\327\321\310\377\10\15\23\377#*3\377'-5\377\40&.\377#)1\377Ydj\377\33" + "\40%\377&.4\377\13\14\15\377\213\211\207\377\376\372\376\377\376\372\376" + "\377\376\375\373\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\375\373\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\375\373\377\376" + "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376" + "\377\376\373\375\377\376\375\373\377\376\375\373\377\376\373\375\377\376" + "\373\375\377\374\374\376\377\376\372\376\377\330\321\304\377\5\13\21\377" + "&-6\377)/6\377\40%,\377#)1\377Zel\377\34\40(\377%-4\377\12\13\20\377\210" + "\206\210\377\376\372\376\377\376\372\376\377\376\373\375\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\373\375\377\376\374\374" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\374\374" + "\377\376\374\374\377\376\373\375\377\376\372\376\377\376\372\376\377\376" + "\372\376\377\376\372\376\377\376\372\376\377\376\375\373\377\376\375\373" + "\377\376\373\375\377\376\373\375\377\376\375\373\377\376\373\375\377\376" + "\372\376\377\327\317\302\377\7\15\23\377\"*3\377$+3\377\37$)\377#)1\377Y" + "di\377\33!%\377(-6\377\13\14\16\377\214\211\207\377\376\372\376\377\376\372" + "\376\377\376\373\375\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\374\374\377\376\375\373\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\374\374\377\376\372\376\377\376\372\376\377\376\372\376\377" + "\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372" + "\376\377\376\372\376\377\376\373\375\377\376\372\376\377\376\372\376\377" + "\376\372\376\377\376\372\376\377\376\372\376\377\314\306\270\377\7\15\24" + "\377!)1\377&-2\377\37#(\377#)1\377Ydi\377\33\37&\377(/7\377\14\15\21\377" + "\214\211\207\377\376\372\376\377\376\372\376\377\376\375\373\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\375\373\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\372" + "\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377" + "\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\373" + "\375\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377" + "\376\372\376\377\314\305\270\377\11\14\22\377!)1\377&-4\377\40&-\377#)1\377" + "Ydi\377\33\36$\377)-6\377\13\14\22\377\212\205\205\377\376\372\376\377\376" + "\372\376\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\374\374\377\376\372\376\377\376\372\376" + "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376" + "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\373\375" + "\377\376\372\376\377\376\372\376\377\376\372\376\377\327\320\302\377\11\16" + "\24\377%+4\377&-3\377\36&.\377#)1\377Ydi\377\34\36%\377&,6\377\15\15\16\377" + "\222\215\207\377\376\372\376\377\376\372\376\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\374" + "\374\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377" + "\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372" + "\376\377\376\372\376\377\376\374\374\377\376\374\374\377\376\372\376\377" + "\376\372\376\377\322\313\302\377\7\15\23\377%*4\377&+4\377\37&.\377#)1\377" + "Ydi\377\27\36$\377&,3\377\15\15\15\377\224\216\207\377\376\372\376\377\376" + "\372\376\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\374\374\377\376\372\376\377\376\372\376" + "\377\376\375\373\377\376\373\375\377\376\373\375\377\376\372\376\377\376" + "\372\376\377\376\374\374\377\376\373\374\377\376\372\376\377\376\372\376" + "\377\376\372\376\377\376\372\376\377\376\372\376\377\333\325\311\377\5\13" + "\21\377$*2\377%+1\377\")/\377#)1\377Ydi\377\34\40&\377&,5\377\16\16\15\377" + "\225\217\211\377\376\372\376\377\376\372\376\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\374" + "\374\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377" + "\376\373\375\377\376\372\376\377\376\372\376\377\376\372\376\377\376\373" + "\375\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377" + "\376\372\376\377\330\320\300\377\5\13\21\377$(1\377%+2\377\35\"(\377#)1\377" + "Ydi\377\34!'\377%+1\377\17\17\17\377\233\225\223\377\376\372\376\377\376" + "\372\376\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\374\374\377\376" + "\375\373\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\373\375\377\376\372\376\377\376\372\376" + "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376" + "\372\376\377\376\374\374\377\376\374\374\377\376\374\374\377\376\373\375" + "\377\376\372\376\377\376\372\376\377\376\372\376\377\315\304\271\377\7\14" + "\23\377!(2\377%*1\377\40%,\377#)1\377Ydi\377\36\"'\377&-5\377\17\17\17\377" + "\230\223\214\377\376\372\376\377\376\372\376\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\373\375\377\376\373\375\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\375\373\377\376\372" + "\376\377\376\372\376\377\376\372\376\377\376\373\375\377\376\373\375\377" + "\376\372\376\377\376\372\376\377\376\372\376\377\376\375\373\377\376\374" + "\374\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377" + "\376\372\376\377\320\311\300\377\7\14\22\377\32\",\377\36#+\377\22\31\40" + "\377!&-\377Ydi\377\37#(\377&+5\377\16\16\15\377\225\221\212\377\376\372\376" + "\377\376\372\376\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\374\374" + "\377\376\373\375\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\374\374\377\376\374\374\377\376\372\376\377\376\372\376\377\376" + "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376" + "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376" + "\372\376\377\376\373\375\377\376\372\376\377\376\372\376\377\272\271\247" + "\377\5\7\15\377\6\13\25\377\1\2\4\377\4\4\4\377\32\34\"\377Ydi\377\36$'\377" + "(-6\377\21\21\21\377\235\232\224\377\376\372\376\377\376\372\376\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\374\374\377\376\373\375\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\375\373\377\376\374\374\377\376\372\376\377\376\372\376\377\376" + "\374\374\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376" + "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376" + "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376" + "\377\376\372\376\377\376\372\376\377\310\303\267\377\1\1\2\377\4\4\7<\1\1" + "\1\27\6\6\6\27\35\40%\27Ydi\377\37\")\377'-5\377\21\22\22\377\237\234\230" + "\377\376\372\376\377\376\372\376\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\374\374\377\376\372\376\377\376\375\373\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\374\374\377\376\373\375\377\376\372\376\377\376\372\376" + "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376" + "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376" + "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376" + "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376" + "\377\310\301\267\377\1\1\1\377\1\1\1)\0\0\0\0\0\0\0\0\0\0\0\0Ydi\377\35\40" + "'\377'.6\377\21\22\21\377\236\233\226\377\376\372\376\377\376\372\376\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\373\375\377\376\372\376\377" + "\376\372\376\377\376\375\373\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\375\373\377\376\373\375\377\376\372" + "\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377" + "\376\372\376\377\376\372\376\377\376\372\376\377\376\374\374\377\376\373" + "\375\377\376\373\375\377\376\372\376\377\376\372\376\377\376\372\376\377" + "\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372" + "\376\377\376\372\376\377\376\372\376\377\274\266\260\377\1\1\1\377\1\1\1" + ")\0\0\0\0\0\0\0\0\0\0\0\0Ydi\377\37#)\377'/7\377\24\24\22\377\251\242\233" + "\377\376\372\376\377\376\372\376\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\375\373" + "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\373\375\377\376" + "\375\373\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\373\375\377\376\373\375\377\376\372\376\377\376\372\376\377\376\372\376" + "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376" + "\372\376\377\376\373\375\377\376\372\376\377\376\372\376\377\376\372\376" + "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376" + "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376" + "\377\274\270\266\377\1\1\1\377\1\1\1)\0\0\0\0\0\0\0\0\0\0\0\0Zdj\377\37#" + "+\377%*4\377\27\26\25\377\263\254\244\377\376\372\376\377\376\372\376\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\375\373\377\376\374\374\377\376\375\373\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376" + "\372\377\376\374\374\377\376\372\376\377\376\372\376\377\376\372\376\377" + "\376\372\376\377\376\372\376\377\376\374\374\377\376\376\372\377\376\376" + "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377" + "\376\376\372\377\376\373\375\377\376\372\376\377\376\372\376\377\376\372" + "\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377" + "\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372" + "\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377" + "\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372" + "\376\377\376\372\376\377\376\372\376\377\272\260\250\377\1\1\1\377\1\1\1" + ")\0\0\0\0\0\0\0\0\0\0\0\0Zdj\377\37#)\377',4\377\31\31\30\377\272\263\253" + "\377\376\372\376\377\376\372\376\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\375\373\377\376\373\375\377\376\372\376\377\376" + "\373\375\377\376\374\374\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\373\375\377\376" + "\373\375\377\376\373\375\377\376\373\375\377\376\372\376\377\376\372\376" + "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376" + "\372\376\377\376\373\375\377\376\375\373\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\375\373\377\376\373\375\377\376\372\376\377\376" + "\372\376\377\376\372\376\377\376\372\376\377\376\374\374\377\376\374\374" + "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376" + "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376" + "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376" + "\372\376\377\376\372\376\377\376\375\373\377\376\373\375\377\376\372\376" + "\377\263\251\245\377\1\1\1\377\36\36\37<\207\206\205\27\207\206\205\27\207" + "\206\205\27Zej\377\37$*\377*/7\377\30\27\25\377\257\250\237\377\376\372\376" + "\377\376\372\376\377\376\375\373\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\374\374" + "\377\376\373\375\377\376\372\376\377\376\372\376\377\376\372\376\377\376" + "\372\376\377\376\372\376\377\376\373\375\377\376\374\374\377\376\374\374" + "\377\376\375\373\377\376\376\372\377\376\374\374\377\376\374\374\377\376" + "\374\374\377\376\374\374\377\376\374\374\377\376\374\374\377\376\374\374" + "\377\376\374\374\377\376\374\374\377\376\374\374\377\376\372\376\377\376" + "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376" + "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376" + "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376" + "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376" + "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376" + "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376" + "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376" + "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376" + "\372\376\377\376\372\376\377\376\372\376\377\376\373\375\377\376\372\376" + "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376" + "\372\376\377\376\372\376\377\376\372\376\377\376\373\375\377\376\374\374" + "\377\376\373\375\377\376\372\376\377\376\372\376\377\376\372\376\377\376" + "\372\376\377\376\373\375\377\376\372\376\377\376\372\376\377\227\224\224" + "\377\6\10\12\3778;@\377X[^\377X[^\377Y[^\377Yej\377\40$*\377,08\377\21\22" + "\23\377\235\231\225\377\376\372\376\377\376\372\376\377\376\373\375\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372" + "\377\376\375\373\377\376\375\373\377\376\375\373\377\376\375\373\377\376" + "\375\373\377\376\375\373\377\376\375\373\377\376\375\373\377\376\375\373" + "\377\376\375\373\377\376\375\373\377\376\375\373\377\376\375\373\377\376" + "\375\373\377\376\375\373\377\376\375\373\377\376\375\373\377\376\373\375" + "\377\376\373\375\377\376\373\375\377\376\374\374\377\376\372\376\377\376" + "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\373\375" + "\377\376\375\373\377\376\372\376\377\376\372\376\377\376\373\375\377\376" + "\372\376\377\376\374\374\377\376\372\376\377\376\372\376\377\376\372\376" + "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376" + "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376" + "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376" + "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376" + "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376" + "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376" + "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376" + "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376" + "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376" + "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376" + "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376" + "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376" + "\377\376\372\376\377\376\372\376\377\376\375\373\377\376\373\375\377\376" + "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376" + "\377\376\372\376\377oi`\377\21\25\32\377&.6\377#)4\377\40&.\377\"&.\377Z" + "fl\377\37$+\377+19\377\22\30\40\377\202qj\377\375\366\370\377\376\372\376" + "\377\376\372\376\377\376\373\375\377\376\375\373\377\376\376\372\377\376" + "\376\372\377\376\376\372\377\376\376\372\377\376\374\374\377\376\374\374" + "\377\376\374\374\377\376\374\374\377\376\374\374\377\376\374\374\377\376" + "\374\374\377\376\374\374\377\376\372\376\377\376\372\376\377\376\372\376" + "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376" + "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376" + "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376" + "\372\376\377\376\372\376\377\376\372\376\377\376\373\375\377\376\372\376" + "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376" + "\372\376\377\376\373\375\377\376\374\374\377\376\372\376\377\376\372\376" + "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376" + "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376" + "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376" + "\372\376\377\376\372\376\377\376\372\376\377\375\372\372\377\376\372\375" + "\377\376\372\376\377\376\372\376\377\376\373\375\377\376\373\375\377\376" + "\372\376\377\376\372\376\377\376\372\376\377\376\373\375\377\376\373\375" + "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376" + "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376" + "\377\376\372\376\377\376\373\375\377\376\372\376\377\376\372\376\377\376" + "\373\375\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376" + "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376" + "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376" + "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376" + "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376" + "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376" + "\372\376\377\376\372\376\377\342\335\334\377/.-\377\35$,\377*.6\377'.6\377" + "%)4\377\"&.\377Zek\377\40%,\377*08\377$)3\377\27\24\27\377\300\274\275\377" + "\373\367\371\377\376\372\376\377\376\372\376\377\376\372\376\377\376\373" + "\375\377\376\373\375\377\376\373\375\377\376\373\375\377\376\372\376\377" + "\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372" + "\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377" + "\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372" + "\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377" + "\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372" + "\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377" + "\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372" + "\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\375\377" + "\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372" + "\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377" + "\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372" + "\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\375\377" + "\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372" + "\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377" + "\376\373\374\377\376\373\372\377\376\372\374\377\375\370\366\377\374\367" + "\364\377\374\367\364\377\373\366\364\377\376\372\373\377\373\367\367\377" + "\375\371\372\377\376\372\376\377\376\373\366\377\374\370\362\377\374\367" + "\370\377\375\371\367\377\372\365\363\377\374\370\366\377\371\363\363\377" + "\370\363\362\377\370\363\362\377\371\364\364\377\370\363\362\377\370\363" + "\362\377\366\360\357\377\366\360\357\377\366\361\360\377\370\363\364\377" + "\370\363\364\377\371\364\364\377\365\360\357\377\366\361\362\377\367\362" + "\363\377\371\364\364\377\371\364\364\377\373\366\364\377\372\366\370\377" + "\373\365\364\377\375\370\370\377\376\372\375\377\375\370\371\377\375\372" + "\372\377\364\356\356\377\317\313\314\377PMC\377\26\32!\377&,5\377&-4\377" + "%+3\377%+3\377\"&.\377[hp\377!'/\377*.7\377*/7\377\36#(\377\33\32\32\377" + "mhd\377\261\255\252\377\271\264\260\377\272\266\261\377\272\266\264\377\271" + "\263\255\377\271\265\263\377\272\266\267\377\262\260\260\377\263\261\263" + "\377\264\262\265\377\262\257\260\377\255\246\234\377\242\233\227\377\221" + "\214\206\377\217\216\212\377\217\215\211\377\216\213\206\377\211\206{\377" + "\211\203\200\377\203\177|\377\203\177y\377\201\177~\377yvr\377zws\377}yq" + "\377}wq\377qmo\377omo\377omo\377omo\377omo\377omo\377omo\377omo\377omo\377" + "omo\377omo\377omo\377omo\377omo\377omo\377omo\377omo\377onm\377omn\377om" + "o\377omo\377omo\377omo\377omo\377omo\377omo\377omo\377omo\377omo\377omo\377" + "omo\377omo\377omo\377omo\377omo\377omo\377omo\377omo\377omo\377omo\377om" + "o\377omo\377omo\377omo\377omo\377ooj\377ooh\377onk\377li^\377kg[\377jf[\377" + "hd[\377nnh\377ifa\377mjf\377omo\377onm\377lh_\377jgb\377lka\377gcX\377ki" + "^\377d_X\377c_V\377c_V\377eaZ\377c_V\377c_W\377_ZP\377_YP\377_ZS\377c_Z\377" + "b^Z\377e`Z\377\\XP\377^[W\377`]Y\377e`Z\377eaZ\377ie[\377fdb\377hc[\377l" + "jb\377onm\377ljd\377nmg\377ZVO\377\26\26\27\377\20\26\36\377!'0\377'-4\377" + "'-7\377'-5\377&+3\377\"&.\377Zej\377\37#)\377*.6\377*.8\377).8\377\"'/\377" + "\23\26\33\377\24\26\27\377\25\27\27\377\26\27\31\377\25\27\30\377\26\26\27" + "\377\24\26\27\377\25\27\31\377\24\25\27\377\24\25\30\377\24\26\30\377\24" + "\26\30\377\23\24\25\377\21\23\24\377\17\22\21\377\17\21\23\377\20\22\24\377" + "\17\21\22\377\17\21\21\377\20\21\23\377\16\20\21\377\16\20\20\377\16\20\21" + "\377\16\17\23\377\16\20\26\377\17\20\25\377\16\20\26\377\14\17\31\377\14" + "\17\27\377\14\17\25\377\14\16\23\377\14\16\30\377\15\20\32\377\14\17\33\377" + "\14\17\37\377\14\17\33\377\14\24\40\377\15\22\34\377\15\17\33\377\14\17\32" + "\377\15\20\32\377\14\16\30\377\14\17\27\377\14\17\31\377\15\17\34\377\13" + "\16\36\377\14\22\35\377\14\22\33\377\14\17\31\377\15\24\33\377\15\21\33\377" + "\14\17\30\377\14\16\25\377\15\24\36\377\15\21\31\377\14\23\34\377\14\22\33" + "\377\13\22\36\377\14\23\33\377\14\24\34\377\14\21\31\377\14\22\33\377\13" + "\23\35\377\16\27\40\377\14\24\35\377\13\23\36\377\17\26\36\377\15\25\37\377" + "\14\25\40\377\13\24\40\377\20\30!\377\21\31\"\377\20\31\"\377\21\34%\377" + "\23\33'\377\26\36*\377\24\35(\377\23\35&\377\27\37+\377\25\35)\377\24\35" + ")\377\21\33%\377\22\34%\377\23\34(\377\26\36*\377\24\36(\377\22\34&\377\23" + "\34'\377\22\34'\377\27\37+\377\30\40+\377\25\37*\377\27\40+\377\30\40+\377" + "\26\36*\377\32!*\377\30!+\377\27\37*\377\27\35'\377\25\36)\377\26\35&\377" + "\25\35*\377\26\35&\377\25\36)\377\26\35&\377\26\35&\377\23\33%\377\23\33" + "%\377\24\33#\377\20\31#\377\22\27\40\377\20\30!\377\21\32%\377\30\40*\377" + "\35$,\377\")1\377%*1\377%*1\377%+2\377%+4\377$*3\377\"&.\377Zdj\377\37#+" + "\377'.6\377',6\377(/6\377'.6\377(/7\377'-5\377&-3\377)-8\377&,5\377&,4\377" + "&,3\377&-5\377%,4\377'+4\377&-4\377'-5\377',5\377',6\377(.4\377&+5\377)." + "7\377&+5\377(.6\377'/7\377&.6\377)/6\377)/7\377*.7\377(/7\377).7\377).7\377" + ").6\377)/7\377(16\377)08\377)/8\377(/7\377*08\377).8\377).8\377(/7\377)-" + "7\377*.6\377(.7\377)/7\377(-5\377'-6\377'-5\377).7\377&-5\377'-4\377(-4\377" + "&.3\377&-5\377'+6\377',6\377(-5\377&-4\377'-5\377&-5\377%*1\377$)1\377&-" + "2\377&,5\377&,3\377%+3\377%*3\377%,4\377$)2\377%*4\377&,2\377)/6\377(.6\377" + "&+4\377&+6\377(-6\377%-5\377&/6\377)-6\377*08\377)/7\377)/6\377(.6\377*." + "7\377*/8\377&-3\377).6\377'.7\377).7\377)/7\377'.6\377'.7\377).7\377)-9\377" + ")/7\377).7\377(.7\377(,6\377).6\377(.6\377).6\377&-4\377'-5\377&-5\377%+" + "3\377&*6\377%,5\377&,5\377'-6\377'-6\377%,4\377%+2\377%*3\377$*2\377$+2\377" + "$+1\377%,2\377$)1\377$*1\377$*1\377$*1\377%+2\377#*2\377&+4\377\"'1\377\"" + "&.\377Zel\377\36\")\377&-4\377(-5\377(.5\377(-5\377&-5\377(.6\377'.6\377" + "&+5\377(.5\377'.5\377'.4\377)/6\377'.6\377(.6\377'-6\377'.6\377',6\377)-" + "8\377&.6\377(-5\377&-6\377&-6\377'.6\377'.7\377'-7\377'.6\377).8\377).7\377" + ").8\377*/7\377*.8\377).8\377).8\377).8\377)/6\377*.7\377*07\377*.6\377)." + "6\377'.7\377).8\377).8\377*06\377)/7\377(.6\377'-6\377).6\377(.6\377&/5\377" + "(-5\377'.6\377'.6\377'-4\377%,4\377%*3\377%+1\377%*3\377%,2\377%+1\377$*" + "1\377$*2\377%,2\377%-2\377#(2\377$+2\377%,3\377$*1\377&,2\377%*3\377$*2\377" + "%-3\377&.4\377&-5\377&+4\377(.5\377',3\377).6\377).6\377'/6\377&,6\377&." + "6\377'-6\377)/7\377*/9\377).6\377).6\377&-6\377&.6\377&+6\377(,6\377',6\377" + "&-6\377).6\377*.6\377'/6\377&,6\377)/6\377'-6\377'.6\377&-5\377(,6\377(-" + "6\377',6\377).5\377',6\377%+4\377%+2\377%+3\377$+2\377%,3\377$)1\377$)1\377" + "$*1\377%*2\377%*1\377$)1\377$)1\377#*1\377\"*2\377%-2\377$+2\377#)3\377%" + "*2\377&*4\377%)3\377\"&.\377Ydi\377\34!'\377&-5\377&-4\377(+5\377&,4\377" + "'-5\377'.5\377&,2\377%*3\377$+3\377&.4\377(-5\377&.6\377&,5\377(.5\377&," + "5\377&-5\377',6\377'-6\377).6\377&-5\377(-6\377'-6\377',6\377'.4\377)-6\377" + ").6\377).6\377*.7\377).6\377(/6\377(.7\377'.6\377(.7\377'.7\377)/6\377*." + "6\377*.6\377(.6\377'.6\377(.8\377)07\377'-7\377)-6\377'+7\377'-4\377&+5\377" + "(.6\377',4\377&.4\377&-4\377(-6\377',6\377(-6\377$+3\377&+4\377&,3\377$*" + "1\377%+1\377%-2\377%*3\377&,2\377&*2\377%+3\377%,4\377$*1\377%*2\377$*1\377" + "%*1\377$)0\377%*3\377&-3\377%+4\377&*5\377&,4\377&-5\377&,5\377'-4\377(-" + "6\377)/6\377&.6\377&.5\377'-6\377)/7\377'/7\377'.6\377'.6\377(-6\377).6\377" + "'-6\377&,4\377)-7\377(-6\377'.5\377).7\377'.6\377&-6\377&-5\377&-5\377&-" + "4\377&-5\377%,4\377&-6\377'.4\377',5\377$*4\377%,4\377%+2\377'+6\377%+2\377" + "$*1\377$*3\377&,4\377&+3\377%+2\377%*1\377$)3\377\")2\377\"(2\377#*1\377" + "#+2\377#)2\377$*2\377%,2\377%*3\377!'1\377\"&.\377Ydi\377\35!%\377%+2\377" + "$+2\377',6\377&+4\377$*3\377&-3\377&,3\377&+5\377%*2\377&*4\377',4\377&," + "5\377&,5\377',5\377&-5\377&-6\377&+4\377&-4\377&-5\377'-6\377&,4\377,06\377" + "&,3\377&-3\377&-5\377'.6\377',6\377)-6\377',3\377(.5\377(.8\377).6\377)." + "6\377*.6\377(.7\377&.6\377&.6\377'-7\377'/7\377'.6\377(.6\377).6\377'.6\377" + "'.6\377'.4\377'-5\377)/5\377',5\377&-5\377&.5\377&-5\377%*2\377\"'.\377$" + "+3\377$,4\377&-4\377&,3\377%,3\377$)0\377\36!+\377\30\34&\377\30\32\"\377" + "\33\37$\377\31\36%\377\31\37&\377\34%0\377\")1\377#*3\377$)0\377$*1\377%" + "+1\377\"&/\377$)0\377&+3\377&+2\377&,3\377&-4\377&+6\377(07\377(.5\377'-" + "6\377(06\377)/7\377&.6\377&-6\377(.6\377(.6\377'.6\377&.5\377&-6\377&,6\377" + "(-6\377%,4\377(.6\377'-5\377&+5\377&-5\377&,6\377',4\377&-6\377&-5\377%," + "4\377%,3\377&+3\377%*2\377$*1\377#*2\377$+2\377#(2\377#*2\377%*4\377%*2\377" + "$)0\377%*2\377$)3\377#)2\377$)1\377%+1\377$*1\377#)2\377$)1\377$*1\377$*" + "2\377$)3\377\"(1\377\"&.\377Ydi\377\35!%\377&-4\377%+3\377&,4\377$,3\377" + "&-6\377%+2\377$*2\377',3\377&-4\377%+3\377%+2\377&-6\377&+5\377'-5\377%," + "4\377%+3\377&-4\377%-4\377$+2\377&+2\377$+2\377&+5\377&-6\377(.6\377&.6\377" + "&.6\377(.6\377'-6\377',6\377'.6\377&.6\377'.4\377',6\377'.6\377&-6\377&." + "6\377&.6\377).6\377'/6\377&.6\377'.6\377(.6\377'-4\377&-6\377&.5\377&.6\377" + "&.5\377&.4\377&+5\377'.5\377&-5\377$+3\377$,3\377%+2\377#)1\377!&.\377\26" + "\31#\377\21\23\24\377\24\25\30\377\40\"#\377,..\377.4,\377/4+\377.4-\377" + "'(\"\377\26\32\35\377\21\23\24\377\20\25\34\377\34\"*\377%)0\377%+1\377%" + "+1\377%*1\377%*1\377(/6\377'.6\377(.6\377&-6\377&.6\377'.6\377'.6\377&.6" + "\377(/6\377(.6\377&.6\377'.6\377&.6\377'.6\377'.5\377&.6\377&-6\377&+6\377" + "&.6\377&,6\377&.4\377&-5\377&.5\377&-4\377'-6\377$+3\377&,3\377%+2\377%+" + "4\377%+1\377&-5\377%*3\377%+3\377$,2\377$*1\377$*1\377\"*2\377#*2\377%+1" + "\377%+1\377%*1\377#*3\377#*3\377#(2\377#)2\377\"*2\377!)0\377$)1\377$*1\377" + "$*1\377!%/\377\"&.\377Ydi\377\36!'\377&-3\377',4\377&,4\377&,4\377&-4\377" + "%*3\377$*1\377&+5\377%*2\377%+2\377%*1\377&,4\377%*2\377&*4\377$+2\377%+" + "3\377%,4\377$*2\377%+2\377$,2\377&,3\377%+2\377&-4\377&,4\377&-5\377'-6\377" + "&.6\377(-6\377(,5\377',6\377'-6\377'.6\377&,6\377&-4\377'.5\377(.6\377(-" + "6\377'.6\377(.6\377&.6\377(.6\377(-5\377',4\377&,6\377).6\377)/6\377&,5\377" + "&-6\377&-4\377#(0\377%*3\377&+4\377&+4\377\31\35#\377\21\20\26\377\37#\37" + "\377::3\377PTG\377[XP\377\\XM\377]XJ\377ZWK\377^XJ\377YWK\377]XJ\377ZXN\377" + "VTH\377CC;\377**(\377\25\26\31\377\24\27\33\377$*2\377$,3\377%,2\377#(/\377" + "#)0\377(,4\377',4\377'.5\377).6\377',6\377'-4\377'.6\377&.6\377'-6\377&-" + "6\377&-6\377'-6\377(-6\377(.6\377&-4\377'.6\377'-6\377$+3\377%,2\377%+3\377" + "&-6\377&+6\377'-5\377(.5\377'-6\377&+4\377&-4\377%*2\377%*3\377#+2\377%*" + "3\377%*3\377%*1\377$*1\377#*2\377$*3\377$*4\377$+2\377$)1\377$+2\377#*3\377" + "#)2\377#(2\377#)2\377$(0\377$)1\377$*2\377%-2\377\"(1\377\"&.\377Zek\377" + "\35\"(\377&-3\377&-4\377&+5\377%+3\377%,3\377%+2\377%-4\377&,4\377%*2\377" + "&,3\377&*5\377&+4\377$*3\377&*5\377$*2\377$*1\377%+2\377#*2\377$*2\377&-" + "4\377&.4\377%*3\377&,5\377&-5\377&+6\377%,4\377&,5\377&-4\377&-3\377&-6\377" + ").6\377',6\377'.6\377'.6\377(.6\377&.6\377&-6\377&,5\377&,5\377&,6\377&." + "6\377(.6\377'-4\377&+6\377&,4\377&.6\377&-4\377(.6\377*/7\377'+4\377&,3\377" + "\35$,\377\20\25\31\377()'\377KJB\377TUG\377URF\377RQG\377ROE\377QOE\377Q" + "NE\377RNE\377RNE\377QNE\377QNE\377OOF\377QOF\377RQH\377XTH\377RQI\377:90" + "\377\23\25\30\377\33\40%\377%*3\377&+2\377&.4\377&,5\377&-5\377).6\377(-" + "6\377',6\377'.6\377*/6\377&.6\377(-6\377&.6\377&.6\377'.6\377&.6\377&-6\377" + "&-6\377(-7\377&-6\377'-6\377',3\377&-6\377%*4\377&,5\377&*4\377&,4\377$+" + "3\377%+2\377%+1\377%*2\377%*2\377#*2\377$*2\377$*2\377$(0\377%*1\377#)3\377" + "$)3\377#*2\377$)2\377%*1\377%*2\377\")2\377#)3\377$+3\377#)1\377#'/\377\"" + "'1\377#(0\377$+2\377!(0\377\"&.\377Yej\377\36\")\377&+3\377&+5\377%+3\377" + "%+2\377$*3\377&,4\377%,2\377%*3\377&*4\377%*1\377%*2\377&+3\377%*3\377%*" + "2\377%+3\377%,2\377%,3\377%*4\377$+4\377%+4\377&-3\377%*4\377&*4\377%-5\377" + "%,4\377%+5\377%,3\377%*4\377'-4\377$,4\377&-6\377',6\377'-6\377'-4\377'." + "5\377'.5\377&,4\377%*5\377%-5\377'-6\377(.6\377'-7\377&,6\377&,6\377'-6\377" + "&,6\377%+3\377&-3\377&-5\377&,4\377\30\34\"\377\34\40\37\377AE9\377WVI\377" + "SQF\377ROE\377ROE\377POF\377RPF\377SPG\377RSI\377QPG\377QPG\377RQH\377SP" + "G\377QOE\377ONE\377ONF\377RNE\377OOF\377XVI\377SRD\377++%\377\15\26\35\377" + "%*4\377(.6\377%,5\377$,4\377'+4\377&-6\377).6\377(-7\377(.6\377&.6\377&." + "6\377&.6\377&.5\377'.6\377&.5\377&-6\377&,4\377&,4\377&+4\377%+5\377%*4\377" + "%*5\377%*5\377&*6\377&+6\377&*6\377',4\377%+3\377$+2\377\"*2\377#)3\377#" + "*2\377$*2\377\"*2\377$*1\377$+2\377%+3\377&,5\377$*3\377$*1\377$*3\377$*" + "2\377#*2\377\")1\377%+1\377$)0\377%*3\377$*3\377%*2\377&,3\377\35#,\377\"" + "&.\377Zek\377\34\")\377&-2\377%+2\377%,2\377$+2\377%+3\377&-6\377%+3\377" + "%,2\377%+1\377%*1\377%*1\377%+2\377%,3\377#*2\377#)2\377#*2\377$+2\377%*" + "2\377%,2\377%+4\377#*2\377%,2\377$*1\377$+2\377%+2\377%+2\377%+2\377$*2\377" + "&,4\377%*4\377&+4\377(-5\377'-5\377&-5\377&,5\377&.4\377%+3\377&-6\377&+" + "6\377&,4\377&+6\377&+6\377&+6\377(,6\377&.4\377&+5\377%-3\377&-4\377\")1" + "\377\27\32\37\377'+%\377WUG\377WWI\377ROE\377ROE\377ROE\377SPF\377YUM\377" + "TTF\377LLA\377FG@\377DD:\377CC:\377IIA\377LLI\377VTI\377a\\M\377YXO\377R" + "QI\377QME\377ONF\377RPF\377VTF\377>?4\377\27\31\31\377\37'.\377%+5\377&," + "6\377(-6\377&.6\377&-6\377',6\377'.6\377&.6\377&.6\377&,5\377&-4\377%,4\377" + "&-6\377&-6\377%*3\377&,5\377&,5\377&+5\377%+4\377&,5\377$*2\377&*3\377%*" + "4\377%*2\377%*3\377&+4\377&+5\377%,2\377$*2\377$*3\377#*2\377$*1\377#)2\377" + "#+2\377\")1\377\"*2\377\")2\377#(0\377%*2\377$*2\377$*3\377\")1\377$*1\377" + "$)0\377#)2\377$*1\377%,2\377\"*2\377\"'/\377\"&.\377Zek\377\34\")\377%+1" + "\377',3\377',3\377&,2\377%*1\377&-5\377$*2\377%+2\377%*1\377#)2\377#*2\377" + "#*2\377#*2\377#*2\377#'1\377%*2\377$+2\377$*2\377$*1\377&-4\377%+3\377$*" + "3\377%*3\377%+3\377%*2\377%-5\377&-3\377&,5\377&+4\377%)5\377&+3\377%+2\377" + "$*1\377&-4\377'-5\377&,3\377%*3\377'.4\377&-4\377'-6\377&+6\377&-6\377&+" + "5\377',5\377&-6\377&+5\377%+4\377&-4\377\20\24\31\37711+\377WVH\377ROF\377" + "QOF\377RQF\377PPF\377KK@\377FE;\377BB8\377;>4\377;;2\377::0\377::0\377;:" + "0\377=<2\377>>6\377BA8\377FE=\377SQL\377]YT\377ZXR\377ONE\377POF\377QOF\377" + "USG\377EE;\377\25\27\27\377&*3\377'-7\377&,6\377$*4\377'/6\377&.6\377&-6" + "\377&.6\377&-6\377&,4\377&,5\377%*5\377&*4\377&-5\377&,5\377&+4\377'.4\377" + "'+4\377$+3\377#*2\377#*3\377&*2\377%*4\377$)1\377\")2\377$*1\377$*3\377$" + ")3\377$)1\377$*2\377\"*2\377#*2\377#)1\377\")1\377!(0\377\"*1\377#)1\377" + "#(2\377$+3\377#)2\377#*2\377$*1\377#*2\377$*1\377%*3\377%*3\377\"*2\377\"" + "(2\377\36$-\377\"&.\377Zek\377\34\")\377&+3\377&,2\377%*1\377&+3\377&,4\377" + "$+2\377&,3\377%*2\377$*1\377%)3\377%*2\377$*3\377%,2\377%,2\377%*3\377$*" + "1\377%*1\377%*1\377$)0\377#)0\377%,3\377%,4\377$*2\377$*2\377%)3\377$*2\377" + "%+3\377%+3\377%*2\377%,4\377#+3\377%-4\377%*1\377&-2\377%,3\377&+3\377&," + "4\377&,4\377&-5\377&.6\377'-5\377&-4\377&+5\377)-6\377'.6\377'-5\377&.7\377" + "\30\32\40\37797+\377VTF\377QOF\377RQF\377QPE\377II@\377CC:\377;<2\377;;1" + "\377:8-\377:8-\377:8-\377:8-\377:8-\377:8-\377:8-\377:8.\377:9.\377:8-\377" + "::0\377880\377KJ@\377\\ZT\377WXO\377NOF\377OOF\377SSG\377II>\377\30\31\30" + "\377%*3\377'-6\377'-6\377&-5\377&,5\377&-6\377'.7\377'.7\377%-5\377&-5\377" + "&+4\377&-4\377&,3\377$+3\377&-6\377$+4\377%*3\377%,4\377$*3\377$+4\377#*" + "2\377\"*2\377#)3\377#*3\377#*2\377$*2\377#*2\377#(2\377#+1\377$*1\377\"*" + "2\377$*1\377$(1\377#)1\377$+2\377$)1\377#*1\377#)1\377#*2\377%*2\377\"*2" + "\377#*2\377$*1\377%*4\377#'1\377\")1\377#)2\377\"&.\377\"&.\377Zeo\377\35" + "\"+\377$*1\377%*1\377$*1\377$+3\377%,3\377%+2\377%+2\377%*2\377#(2\377#)" + "2\377%+1\377%+1\377%*2\377%*2\377$(1\377%*1\377$*1\377%*2\377$*3\377$*1\377" + "$+1\377$*2\377$,2\377&*4\377%+4\377%)3\377%+2\377%*1\377%*2\377$)2\377&+" + "4\377%+2\377&,4\377$,3\377%-4\377%,3\377%,4\377&,4\377&-5\377&-4\377&,5\377" + "&-3\377',4\377#(1\377&-5\377&,5\377\31!)\377,+%\377SQG\377QPF\377RPF\377" + "PPD\377EF;\377==3\377<;0\377:8-\377:8-\377:8-\377:8-\377:8-\377:8-\377:8" + "-\377:8-\377:8-\377:8-\377:8-\377:8-\377:8-\37798.\37788/\377<=3\377XXR\377" + "[ZS\377PND\377QOE\377WTJ\377EB3\377\24\31\33\377'-8\377&-6\377&+6\377(-6" + "\377'-6\377'.5\377&,5\377%+5\377&-5\377',4\377%*5\377&+6\377&,5\377%+5\377" + "#*3\377#*3\377$*3\377$*4\377$,3\377%+3\377$*1\377$)4\377\"*2\377\"(0\377" + "#)2\377$*2\377$*2\377\")1\377\"'2\377\")0\377#*2\377$*1\377#)2\377$+3\377" + "\"(2\377$*1\377%)2\377%*2\377%,2\377$*1\377#*2\377\")2\377#)3\377$*3\377" + "!(0\377$*1\377$(/\377\"&.\377Zel\377\35!)\377$+1\377%,4\377&-4\377$,2\377" + "%+2\377$+3\377$,4\377&,3\377%+1\377%*1\377#(0\377%+2\377$+3\377%,5\377%)" + "2\377$)0\377$+2\377\"*2\377#(0\377#*1\377$*0\377$)0\377$*1\377#*2\377$)4" + "\377&+4\377#+2\377&-2\377%*1\377#(2\377%*2\377&*4\377%*1\377%*4\377&-3\377" + "&-4\377&+6\377%*3\377$*2\377$+2\377&+4\377&-5\377%,3\377%+2\377%+3\377\40" + "%.\377%%\40\377RQD\377OOF\377QPF\377PPD\377CC9\377;;2\377:8-\377:8-\377:" + "8-\377:8-\274:8-\247:8-\35:8-\3:8-\3:8-\3:8-\3:8-\3:8-K:8-\247:8-\247:8-" + "\364:8-\377:8-\377:8-\37777.\377KK?\377`]X\377PQG\377POF\377XWH\37700&\377" + "\33\40(\377*/9\377).7\377'+7\377%,5\377&.6\377&,6\377%,5\377$*3\377&,5\377" + "&-3\377$)0\377%+3\377%*3\377%*3\377#(3\377$*1\377%,3\377$+3\377#*2\377#'" + "0\377$*1\377\"*2\377#)2\377\"*2\377\")2\377\"(2\377#)2\377\")1\377\"(1\377" + "#(1\377$*1\377#*2\377\"'2\377$)3\377$+3\377$*4\377%*2\377#*2\377$*2\377$" + "*2\377$)4\377'+4\377%+1\377&*3\377%*2\377!&-\377\"&.\377Zem\377\35\37*\377" + "%+1\377%*2\377%*3\377%+2\377&-4\377%+3\377%(1\377$*2\377&,2\377&+3\377$," + "2\377#+3\377#)0\377%*1\377$*2\377\")1\377#)1\377#*2\377#)2\377%+2\377&-4" + "\377$)1\377#*1\377#*2\377#)3\377%+5\377$+2\377%+1\377%,4\377$*4\377%,2\377" + "$*1\377#*2\377#)2\377$*1\377%*2\377%*3\377&+3\377#)2\377$*3\377&,4\377%*" + "3\377%+3\377$+2\377$*3\377\27\31\40\377LM?\377PPF\377PPF\377QQG\377DD:\377" + ";<2\377:8.\377:8-\377:8-\366:8-\260:8-\23\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0:8-D:8-\260:8-\366:8-\377" + "98.\37799.\377QOE\377^]X\377PPF\377PPF\377OPB\377\34\35\31\377\37%,\377'" + ",6\377%*4\377$*3\377&,6\377&,6\377$*3\377%*2\377$*2\377%+4\377%*3\377#*2" + "\377$*2\377$*3\377$)1\377$*1\377#*2\377#)2\377#(2\377#(1\377\")2\377\"'2" + "\377\"&/\377\40'2\377#)2\377\"(0\377!(0\377$)1\377#)2\377$(2\377$*2\377\"" + "(2\377\")2\377\"(2\377#)1\377$*2\377$*1\377#*2\377%*3\377&+5\377\"*2\377" + "$)2\377%+1\377%*2\377%*2\377#)0\377\"&.\377Zen\377\34\40+\377%+1\377&,3\377" + "%,3\377&,2\377',3\377%*1\377$*1\377$)1\377%,2\377'+3\377$*1\377\")1\377#" + "*2\377%-2\377#)2\377$*1\377#*2\377#*2\377$+1\377#*1\377#)1\377$,2\377$*1" + "\377%*3\377$)2\377#*2\377$,2\377%+3\377&,4\377%+2\377$+1\377$)2\377$+3\377" + "#*2\377$*2\377$,2\377#*2\377&*4\377%*3\377#*3\377%,3\377\")1\377%-2\377$" + "*1\377\36!(\377--'\377SSE\377RPF\377QPF\377GG>\377;;2\377:8-\377:8-\377:" + "8-\336:8-1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0:8-1:8-\336:8-\377:8-\377" + "76*\377TTM\377ZXO\377QNE\377QPF\377??2\377\35\37!\377&,8\377&-3\377&,4\377" + "&-6\377&-5\377&.3\377#+2\377%*4\377#*2\377$*2\377%*3\377%+4\377#)2\377#)" + "2\377#)2\377#*2\377#)2\377\")1\377!(0\377#)2\377#+3\377\"(1\377\")1\377\"" + ")1\377#(0\377!'/\377\"(1\377#(1\377#(1\377%)1\377$*1\377\"(2\377$)4\377#" + "*2\377$*1\377\"*2\377\"*2\377$*4\377%,3\377\")1\377%*4\377%+3\377$*3\377" + "$)1\377!%,\377\"&.\377Zen\377\34\40+\377&,2\377&-2\377%+2\377%,2\377%+3\377" + "%,3\377$*2\377$*1\377$*1\377$)0\377%*1\377#*2\377$)1\377$*1\377$(4\377#)" + "2\377#*2\377%(0\377%*3\377$)1\377$(3\377$*2\377#*2\377$)0\377\")1\377\"*" + "2\377\"*2\377$)2\377%*1\377$(1\377$*1\377$*1\377#*2\377$*1\377$*2\377$*2" + "\377%*3\377%*2\377%,3\377%,2\377%+1\377$*1\377$+2\377$+3\377\40\"!\377HH" + "?\377RPF\377SOE\377LKA\377<;1\377:8.\377:8-\377:8-\356:8-1\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0:8-1:8-\356:8-\37798.\377::2\377" + "TPE\377SQF\377RNE\377UTK\377'&%\377!)2\377&-5\377$*4\377#*2\377$*2\377&+" + "5\377%*5\377$*2\377$*4\377$+2\377#*2\377$*1\377\"*1\377\"*1\377\"(1\377\"" + "'1\377\"(2\377\"'1\377\")2\377#)1\377#(0\377\")1\377\"(2\377\"*2\377$*1\377" + "!'/\377#)1\377\")2\377#)1\377\"*2\377$*2\377#)2\377\"'1\377$)1\377$(0\377" + "\"'0\377\"'2\377#*3\377$*3\377#*3\377&*5\377%,4\377$*4\377#(2\377!'/\377" + "\"&.\377Zfo\377\36\",\377'-4\377%*2\377%+2\377&,3\377&,2\377%*1\377%+3\377" + "%,3\377%+2\377%+2\377&,2\377%,4\377%*1\377#*2\377$*3\377$*1\377#(1\377$*" + "2\377#)2\377$*1\377#)2\377$)1\377#(2\377%)1\377\"*2\377#*2\377$*2\377$*2" + "\377\")2\377$*1\377#(0\377#)1\377%*3\377$*1\377$*1\377$*1\377$*1\377$*1\377" + "#*2\377$,3\377%+2\377&-4\377&+5\377\37&.\377..#\377QPE\377POF\377ZXL\377" + "A@6\377:8-\377:8-\377:8-\343:8-7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0:8-7:8-\343:8-\37755)\377ED;\377URI\377Q" + "OF\377OOF\377DD;\377\33\36'\377&,6\377!*1\377#)1\377%*2\377$*3\377\"*2\377" + "%+3\377$)0\377$*1\377$*3\377#)2\377!)1\377#(2\377\"(2\377\"(2\377$*1\377" + "#)0\377\"*2\377\"'/\377#)1\377\"'/\377\"(0\377!(1\377\"(0\377\")2\377$)1" + "\377%,3\377#)2\377#*2\377\"*2\377\"(1\377\"'/\377\")2\377\")2\377\")2\377" + "\"(2\377$)2\377%+3\377$+3\377#)3\377$*2\377$*2\377%*4\377#(/\377\"&.\377" + "Zfm\377\34!*\377',3\377&-4\377%-3\377%*1\377%,1\377%-4\377$+2\377%*1\377" + "%,3\377$*2\377$*1\377%+2\377%*2\377&*4\377%*2\377',4\377\"*2\377%-2\377%" + "*1\377#(0\377#)2\377#*1\377$)3\377%)1\377#(/\377#*2\377#*2\377#)1\377$+2" + "\377#(2\377$*1\377#*1\377$)2\377#*2\377%*1\377%*1\377$*1\377$*1\377%,2\377" + "&,5\377%+2\377%+2\377'-8\377\31!(\377?@5\377RPE\377PRH\377KLE\377:8.\377" + ":8-\377:8-\377:8-<\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0nxx\246:8-\37787,\37767.\377OKB\377ROF" + "\377QPF\377HG=\377\40%&\377\"(0\377#)1\377#(2\377$*2\377\"*2\377\"(2\377" + "*/6\377&*1\377#*2\377#(2\377$)0\377\"(2\377\")2\377\"(0\377$*1\377\"'2\377" + "\"'0\377#*1\377\"(1\377\"'0\377\"'/\377\"'/\377\"'/\377\"&0\377\"'1\377\"" + ")1\377$*2\377$*1\377\"(0\377\")2\377$)2\377$(0\377\"'/\377#*2\377#(2\377" + "#*2\377$*1\377#*2\377#*2\377#*2\377$+3\377%*4\377#*2\377$)0\377\"&.\377Z" + "gp\377\35\"-\377&,3\377%,1\377%+1\377&+3\377%,1\377#*2\377$+2\377&*1\377" + "&+3\377$*2\377#)1\377&+4\377&+2\377%+2\377$*1\377&+4\377#*2\377%-2\377$*" + "1\377%*1\377#(2\377$)1\377$)1\377#(1\377\"'0\377#*2\377#*1\377\"(1\377$*" + "1\377#*2\377%+3\377%)2\377&*4\377%+1\377$+3\377$*2\377$*1\377%*1\377%+3\377" + "'-5\377&*5\377#*2\377\"(0\377\36\"#\377OPA\377OOF\377NOG\377>=5\377:8-\377" + ":8-\377:8-\271:8-\17\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0:8-\17:8-\27197,\37766,\377IH=\377VU" + "K\377QOE\377OMC\377$&\"\377\40&/\377$+2\377%+4\377%*1\377#)2\377#)2\377\"" + "(1\377\"*1\377#)1\377#'0\377$+2\377#(1\377\"&0\377#'0\377\"(1\377#(2\377" + "#(1\377\"'1\377\"&/\377\"&/\377\"'0\377!(0\377#(0\377\"&0\377\"'0\377\"(" + "1\377$)1\377\"(1\377\"'0\377\"(2\377#(2\377$)1\377#(1\377#)3\377\")1\377" + "$*1\377$*1\377%*1\377#*3\377#*2\377#*2\377%*3\377&,4\377%)2\377\"&.\377Z" + "el\377\34!)\377&-3\377&-2\377',3\377%*2\377#*2\377%+3\377%+1\377%*1\377$" + ",3\377%*3\377%+1\377%*2\377&*4\377%*2\377&+4\377%+2\377$*1\377%+1\377$+2" + "\377%*2\377$)3\377$)1\377$+3\377\")1\377$+4\377\"*1\377\"*2\377#*3\377#*" + "1\377$)1\377\")2\377#)2\377$*2\377%*3\377$*1\377#(2\377%*1\377$*1\377#*2" + "\377$)0\377$*0\377$*1\377\")0\377021\377RPC\377OOF\377KNE\377;:0\377:8-\377" + ":8-\366:8-^\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0~\214\220^CC:\36665)\377<=7\377" + "WYR\377ONF\377QOE\3770/)\377\37%+\377\"(1\377\")1\377\40&.\377#(1\377#)1" + "\377#(0\377#)1\377#(0\377\"'0\377#'0\377\"'0\377\"&1\377\"'/\377\"&1\377" + "\"'1\377\"&/\377\"'0\377$)1\377\"'1\377#)1\377\"'1\377\"'/\377\"&1\377\"" + "&0\377\"'/\377\"'2\377\"(2\377$*2\377#)1\377!(1\377!'1\377\")2\377\"*2\377" + "\")1\377\")2\377#*2\377$*1\377%*2\377$*1\377%*1\377%+1\377%*4\377!%.\377" + "\"&.\377Ydi\377\34!&\377%,3\377',3\377%+1\377%*1\377#)2\377&+2\377&+2\377" + "#)2\377%+1\377$*1\377$-0\377#*2\377#)2\377#(2\377'-5\377&,4\377%*1\377%*" + "1\377$*1\377%*1\377$*2\377$(1\377#)1\377#)1\377$*3\377\40'0\377!(/\377$)" + "1\377$)1\377#(1\377$+2\377%*1\377$)0\377$*1\377%*1\377%*1\377%*1\377$*1\377" + "\")2\377$+3\377$+2\377$*3\377\40$,\37712.\377QPE\377OOF\377AA9\37798.\377" + ":8-\377:8-\326\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0^eb\326:8-" + "\37777.\377UUQ\377NNF\377QNE\377;;.\377\34\")\377\"'0\377\")2\377!(0\377" + "\"'0\377\")1\377\"*2\377#(0\377#(0\377#*1\377#(/\377\")2\377\"'1\377#)1\377" + "\"'0\377\"'1\377!&.\377!%.\377#)2\377\"(1\377\"(1\377\")2\377#(2\377\"&/" + "\377\"&2\377\"(0\377\")1\377\"'/\377\")1\377\"'0\377!&/\377#)2\377\"(2\377" + "$*2\377\"(1\377#(2\377%*2\377$*2\377%*1\377$*2\377$*1\377%+1\377#*2\377\40" + "&-\377\"&.\377Zek\377\34\40'\377&-3\377&+2\377%*2\377%+1\377$*1\377$*2\377" + "%*2\377#*2\377%*1\377%+2\377$*1\377%+1\377%*1\377$*1\377$)1\377%+4\377&," + "5\377&-3\377#(0\377%*1\377%*1\377$*1\377%*1\377\")2\377#)2\377$'0\377$)1" + "\377%+1\377$)1\377#*2\377%*1\377#(2\377#(1\377#)1\377%*1\377$*1\377%,1\377" + "%*1\377#*2\377&,3\377%*3\377%*3\377\"&/\377<<3\377RQE\377NMD\377DE<\377>" + "=3\377:8-\377:8-=\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0r}\177\246" + ":8-\37798-\377EEA\377OOF\377PNE\377A@3\377\35\"(\377!&0\377#)1\377#)1\377" + "\"&/\377\40&/\377\"(0\377\")2\377\"(0\377#'/\377\"&/\377$)1\377\40(/\377" + "\"&/\377\"(0\377!'0\377\")1\377\"(2\377\"'/\377#(0\377#'/\377!'/\377\"(2" + "\377\"&/\377\"'0\377\"(2\377#)1\377\37&.\377!%/\377\"(0\377\"(0\377#(0\377" + "%*1\377$*1\377#)2\377\"(2\377\")2\377#)1\377$+2\377%+2\377$*3\377$*4\377" + "#)2\377#'/\377\"&.\377Zdj\377\35!(\377%+1\377%+2\377%*2\377%-3\377#*2\377" + "%*2\377%*2\377#*2\377$*1\377$)1\377\"*2\377#+2\377%*2\377%*2\377%*1\377$" + "*1\377%)1\377&+2\377$)0\377$(0\377$*1\377$)1\377$)1\377$*1\377$*1\377#)2" + "\377#*2\377#*2\377\"(1\377$)0\377%*1\377$*1\377$)1\377\"(1\377$)1\377#(0" + "\377#)2\377$)1\377#)2\377&,2\377&,4\377$*1\377\"(/\377A?6\377RRF\377LL@\377" + "==4\377:9.\377:8-\377:8-3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "nyy3QTO\37797-\377@A<\377PQF\377ONF\377GE;\377\30\40'\377\40&.\377\"(2\377" + "$)1\377\"(1\377\"(1\377\"(1\377#(1\377#(0\377#)0\377\"&.\377\")1\377!'/\377" + "\"'0\377\"'0\377\"&.\377#'/\377\"'/\377\"&.\377#'0\377\"&/\377\"&/\377\"" + "'1\377\"'/\377\"(0\377#(1\377!(0\377!)1\377\"'0\377#'/\377$*1\377\"'/\377" + "$)1\377\"'2\377!'1\377!'1\377\")2\377\"(2\377#(3\377$*2\377\"*2\377#*2\377" + "%+2\377!'/\377\"&.\377Ydi\377\34\37'\377%*1\377%+1\377%*1\377&,2\377$*3\377" + "%-2\377#(3\377$*1\377$+3\377$)0\377$*1\377%)2\377%*3\377#*2\377$(1\377%+" + "4\377$*1\377%*2\377%+3\377%*1\377$+2\377$+2\377%*1\377\"(1\377#'1\377$*1" + "\377#(0\377\")1\377$*1\377%,2\377$)2\377$)0\377$)1\377$*1\377$)0\377\"'1" + "\377#)2\377#(0\377%*1\377\"(0\377$)1\377#(3\377\37&1\377CC;\377RRF\377JJ" + "?\377891\37787-\377:8-\377:8-3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\213\234\2433^da\377:8-\377BB7\377NPF\377PNE\377KJ@\377\37$*\377#)" + "0\377#(1\377\40&.\377\")1\377#(0\377\"&/\377\"(0\377\")0\377\"&/\377\"&/" + "\377\")1\377\"'1\377#)1\377#(0\377#'/\377\"(0\377\"'/\377\"&/\377\"(0\377" + "\"&.\377\"&1\377#'/\377#(0\377!&0\377#(0\377\"&.\377$)0\377\")1\377\"(0\377" + "!'/\377!&/\377\"&0\377\"&/\377\"*1\377\"*2\377#(2\377$+2\377\"(2\377\"(2" + "\377#*2\377$*1\377#*2\377#)1\377\"&.\377Ydi\377\36\40(\377&+5\377&-4\377" + "%*1\377%*1\377%*1\377$+2\377#*3\377%*2\377&+3\377$+2\377$*3\377#)1\377%*" + "1\377$*1\377%+1\377$*1\377$*1\377%*1\377$,2\377$*1\377$+2\377%*1\377$*2\377" + "\"(0\377#)1\377%*1\377%*1\377$)1\377#*1\377%*1\377#)2\377$)0\377#'1\377#" + "*2\377$*1\377$)1\377$)1\377$+1\377$)0\377$(0\377%*1\377$+2\377\34\".\377" + "=>7\377RRE\377JJ?\37799/\37787+\377:8-\377:8-3\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\213\234\2433^da\377:8-\377BB:\377PPF\377NNF\377HH" + "<\377\32\"+\377\37&-\377\"&/\377!&0\377\"'/\377$)0\377\")2\377#)0\377!'/" + "\377\"'0\377#'/\377\"'/\377\"'1\377#'0\377\"'/\377\"(0\377\"'1\377\"'2\377" + "\"&/\377\"&.\377\"&0\377\"&/\377#)1\377\"'/\377!'/\377\"&/\377\"'1\377\"" + "'1\377\"'/\377$(0\377\"'/\377!'0\377\"'/\377\"(0\377\"(2\377\"'0\377\"(0" + "\377\"'1\377\"(2\377\"'2\377\"'/\377$*1\377$*1\377\40$.\377\"&.\377Zdj\377" + "\35!(\377&+4\377$+2\377'+5\377&+3\377%*1\377%+3\377$+2\377$*2\377$+2\377" + "%+1\377%*2\377%+4\377%-3\377#*3\377$)1\377%*1\377%*1\377%*1\377%*1\377%*" + "2\377&+3\377$)0\377$+2\377$(0\377#)1\377'-3\377%+2\377%*1\377$*1\377#)2\377" + "%)3\377$)0\377#)2\377#)1\377$)1\377%*2\377\"'1\377#'0\377%+1\377%*2\377%" + "*1\377#)2\377!(2\377=>9\377RPE\377LK?\377=<3\377:8-\377:8-\377:8-3\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\213\234\2433^da\377:8-\377DE>" + "\377PQH\377PNF\377FF9\377\27\37&\377\35#*\377\")1\377\40&0\377\32\35(\377" + "\36%.\377#*2\377#(0\377#'0\377&)1\377$)0\377\40&0\377#(2\377\"&.\377\37&" + "-\377\"'0\377#+3\377\"&/\377!&0\377\"(0\377!&.\377\"&1\377\"&/\377\"(0\377" + "#'/\377#'0\377!'.\377#'/\377\"&/\377\"'/\377!&/\377\"(0\377#)1\377\"(0\377" + "\")2\377#(1\377#+2\377#*2\377\"&0\377\"&1\377\"'1\377\")2\377#)1\377$)0\377" + "\"&.\377Ydi\377\35!'\377%+1\377%*2\377%+4\377&+2\377%*1\377#*3\377$,2\377" + "%*3\377$+2\377%,2\377%*1\377$+2\377$+2\377#*2\377#)1\377%*1\377$)1\377%*" + "1\377$*2\377\"'0\377$)2\377$)1\377%*1\377#*2\377#*2\377$+2\377%*1\377$(0" + "\377$)0\377#(0\377\"(0\377\40(/\377!'/\377\"'1\377#(0\377#(1\377#(1\377#" + "'0\377$(1\377%+2\377%*1\377$)2\377#*2\377EC>\377RRC\377LL@\377::1\37797," + "\377:8-\377:8-3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\213\234\243" + "3^da\377:8-\377BB<\377OOF\377ROE\377EC8\377\32!)\377!'-\377\26\33!\377\23" + "\24\25\377\30\27\27\377\22\24\24\377\27\32\"\377#(0\377!&/\377&,2\377#*0" + "\377!(0\377!&/\377\"&.\377!&0\377\37&.\377\"'/\377\"'/\377!'/\377%*2\377" + "\"&1\377\"&2\377\"&/\377\40&.\377\"&.\377$(0\377!'.\377\"'/\377\40&/\377" + "\"'/\377\37'.\377\"'/\377\"'.\377#'/\377\"'/\377\"&.\377\36%-\377\"'1\377" + "#)1\377\"'0\377!&/\377\")1\377\"&0\377!&.\377\"&.\377Ydi\377\32\35%\377#" + "*2\377%*1\377%,3\377%*1\377$*1\377#)1\377%)1\377$*0\377%*1\377%*2\377$)1" + "\377$)0\377#*1\377$*1\377#)0\377$+2\377$*2\377%*1\377'-3\377$*2\377#)2\377" + "%)2\377#)1\377#*2\377$*3\377#)2\377$*1\377$)0\377$)0\377#(1\377$*1\377#)" + "0\377$*1\377\"'/\377$)0\377#(0\377#(1\377#(0\377$+2\377#(0\377#)1\377#*2" + "\377\37(0\377)-.\377RRC\377NNC\377<<3\37722%\377:8-\377:8-3\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\213\234\243\200^da\37798-\377DD<\377N" + "NF\377QPE\377142\377\35$,\377\31\40(\377-.&\377KL?\266MB)\206KG8\330-+&\377" + "\37%+\377$*3\377\"&/\377!&/\377\40'.\377!'0\377!(0\377!'0\377\"&.\377\"(" + "0\377\"(0\377#)1\377\"'/\377\"&/\377\"&0\377!&.\377\37&-\377!&/\377!&.\377" + "\37&-\377!&.\377\37&.\377\"%-\377!&.\377\40&/\377!&.\377\40&.\377\37%,\377" + "\40&-\377!&.\377!&.\377!'/\377\"'/\377\"'/\377\"(2\377\40'/\377\34!)\377" + "\"&.\377Ydi\377\33\36&\377$*1\377%+2\377$*1\377$*1\377%*1\377%+2\377%+2\377" + "$)1\377$)1\377%+1\377#*2\377%*3\377%*1\377%,1\377$*1\377&*4\377%,2\377%+" + "1\377%*1\377%+2\377%+1\377%,4\377%,2\377$)2\377#)2\377%*1\377$*1\377#(2\377" + "$*1\377#*2\377#)1\377#)1\377$*1\377\")1\377#*1\377$*1\377$)1\377$*1\377$" + "*2\377\"(0\377$*1\377$*1\377#)1\377'*0\377RQC\377POF\377@@8\37787+\377:8" + "-\377:8-\272\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0{\210\214\326" + "@@6\377<:/\377LLH\377NNF\377SOB\377\"'/\377\40(2\377*-/\377LLA\314RNE\22" + "\0\0\0\0RNE&FC8\377\36\37\37\377\37&/\377\"'1\377\"&0\377\")1\377\"'1\377" + "!&.\377!&.\377\"&1\377\"&0\377\"&.\377#(0\377\"&/\377\"&/\377\"(0\377\"&" + "/\377!&0\377!&.\377!(0\377\40'0\377!&0\377\37&-\377\40&.\377\"(0\377\40&" + "/\377\"&.\377\40&-\377!&-\377!&.\377\37&.\377!&.\377\40&-\377!&.\377\"'/" + "\377!'/\377\"&1\377\37%-\377\"&.\377Ydi\377\35\40%\377%+1\377%,3\377%+1\377" + "$+2\377%+2\377%*1\377$+3\377$*3\377$*2\377%+3\377#*2\377&,3\377%*1\377%*" + "1\377#(0\377#)3\377%*2\377$*1\377$+2\377%+3\377%+1\377#)1\377#+1\377%+2\377" + "%+2\377$*1\377$*1\377\"(1\377$*1\377#(2\377\"'1\377\"&1\377#(0\377#)2\377" + "#)1\377\"(1\377$)0\377$*1\377#*2\377#)2\377'+4\377(-5\377#(0\377\24\34&\377" + "NL?\377TSH\377GG>\377>=3\377:8-\377:8-\354:8-B\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\213\234\243By\206\212\35497-\377<;0\377MNK\377PPE\377FD>\377\33$4" + "\377'-7\377687\377MMD\302\0\0\0\0\0\0\0\0RNE\12MJ@\377&'(\377\40&1\377\"" + "&/\377\"(0\377\"(0\377\"&.\377#(0\377#(0\377\"&/\377\"&.\377\"&.\377!'/\377" + "#'/\377\"'1\377\"'1\377\"'0\377\"&0\377\"'/\377\"&0\377!'/\377!&/\377!&." + "\377\40'/\377\"&.\377\"'/\377\40&-\377\40&.\377\40&-\377\37&-\377!&.\377" + "\37&.\377\40&.\377!&/\377\40&-\377\37%,\377\"&.\377\37#*\377\"&.\377Ydi\377" + "\34\40'\377%+1\377%,1\377%*2\377#(2\377$*1\377%*2\377',4\377%*1\377%+1\377" + "%,2\377%,2\377$*2\377%*1\377%*1\377#*1\377#*2\377$*3\377%*2\377%*2\377%+" + "2\377%+1\377#)0\377(-5\377%*1\377%*1\377$*1\377$)0\377$)0\377$)0\377#'0\377" + "$*1\377\"(0\377#)1\377$)1\377$)0\377%)1\377#(0\377#)0\377$*1\377%*1\377\"" + "'/\377\"'/\377$*1\377\37&0\377556\377VSF\377NKA\377>?5\377:8-\377:8-\377" + ":8-\233:8-\7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\213\234\243\7\213\234\243\233MOH\37797-\377" + "CC<\377MMF\377SPD\37736;\377#*6\377).9\3779BE\377NMC\370MMD\200OP?>OMB\257" + "NLF\377*3:\377#)2\377$)0\377\"'1\377\"'/\377\"&,\377\40&/\377\"&/\377\"&" + "0\377\"&0\377!&.\377!%0\377\"&/\377\40&/\377$(0\377\"'0\377\"(2\377\"&/\377" + "\"&.\377\"&/\377!%.\377!%-\377!&/\377!&.\377\"&/\377\40&-\377\40%.\377\37" + "&-\377!&.\377!&,\377\36&-\377\37&-\377\37%-\377\40%-\377\40&.\377\"'.\377" + "\"$*\377\"&.\377Ydi\377\33\40'\377#(1\377%*3\377%*3\377$*2\377$*1\377%*3" + "\377%*2\377%+1\377&-2\377%*3\377$*2\377$*1\377$*1\377$*1\377#(1\377$)1\377" + "#*2\377%*1\377$*2\377#+3\377#*2\377%*1\377%*2\377\"*2\377%*1\377$*1\377$" + ")0\377$)1\377\"&.\377\"&/\377#)2\377$)1\377#(2\377#*2\377$*1\377#)1\377\"" + "(0\377\"(0\377$*1\377%*2\377#(2\377#(/\377#*1\377&,3\377\"*1\377QMB\377N" + "MC\377BB9\377:9/\377:8-\377:8-\377:8-\37\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\213\234\243\200" + "t\177\201\377?>5\37787-\377HH?\377NNE\377PMC\377\37)5\377%,4\377%*3\377\35" + "#4\377jnk\377_]O\377TQ@\377om^\377R_g\377\27\37)\377\")2\377#'0\377#'/\377" + "#(0\377$(0\377\"&.\377\"(0\377!&/\377\"'0\377#(1\377!%/\377\"&/\377\"(1\377" + "#'/\377\"'/\377\40&/\377!&/\377\"&.\377!&.\377!&.\377\37&-\377\"&/\377!&" + ".\377\40%,\377\40&-\377\40%-\377\36&-\377\36&-\377\40&-\377\40$-\377\40&" + "-\377\40%-\377\36%,\377\40&-\377\37&,\377\"&.\377\"&.\377Ydi\377\35\40'\377" + "&+5\377%,3\377%+2\377$*1\377%+1\377%+1\377$*2\377$*1\377$*2\377%+1\377%+" + "1\377%+1\377%*1\377#*2\377$*1\377$*1\377$*1\377#(0\377#)0\377#)1\377$*1\377" + "#)0\377#*0\377#(0\377%*1\377$)1\377$)0\377$(0\377#)1\377#(0\377\"*2\377$" + ")1\377#(0\377#*3\377#*2\377#*2\377$)1\377#*2\377#(0\377$*1\377%*1\377$)1" + "\377$)0\377#*2\377\37'1\3775:B\377UQC\377LJ@\377==3\377:8-\377:8-\377:8-" + "\314:8-\37\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\213\234\243\37\200\216\223\324<;0\37798.\377BB;\377MME\377WTG" + "\377>DI\377\40(3\377&*5\377%+3\377\40&/\377!,:\377V[d\377gns\377HUc\377\31" + "\"*\377\"'-\377\"'1\377\"(1\377\"'0\377!(0\377\"&.\377\"&.\377\"'/\377#'" + "0\377\"(1\377\37&.\377\37$,\377\"'0\377\"&/\377\"'0\377\"&.\377!&.\377\37" + "'/\377\40'.\377\"&.\377\40&-\377\40'.\377\40%,\377\35%,\377\37&-\377\40&" + "-\377\40&-\377\"&/\377\40&-\377\36&-\377\37&-\377\40&-\377\36&-\377\37%-" + "\377!&/\377!&-\377\37#+\377\"&.\377Ydi\377\33\37%\377%*2\377$*2\377&+4\377" + "$*4\377$+1\377&-4\377&-3\377%,1\377$*1\377%*1\377#+2\377#*2\377%*1\377#*" + "2\377$*1\377$,2\377%*1\377$*1\377$*1\377$)1\377#*2\377#*2\377%+1\377#)1\377" + "#*1\377#)1\377$)0\377$*1\377$)0\377$*1\377\"*2\377\"'0\377$)1\377#*3\377" + "$+2\377$)1\377#(2\377#'2\377$)1\377$*1\377#(2\377$)1\377\")/\377$*1\377\"" + ")1\377!,?\377KLO\377SNC\377EF<\377;:/\377:8-\377:8-\377:8-\312:8-\10\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\213\234\243\10\213\233" + "\242\312_fc\37787-\377<<4\377IKC\377POE\377URJ\377\35(7\377#)1\377%*2\377" + "#*2\377\"(0\377\40&.\377\26\36'\377\25\35)\377\33\40(\377\"(1\377$)2\377" + "$*1\377$)1\377#(1\377#(/\377\"&.\377\"'/\377#(1\377\")1\377#(0\377\40&0\377" + "\37&.\377\"'0\377\37&.\377\37'.\377!&.\377!&.\377!&.\377#'/\377\"&.\377!" + "&.\377\40'.\377\40%-\377\35$,\377\37&-\377\40&.\377!&.\377#(0\377\40$,\377" + "!&/\377\"&.\377\36$-\377\40&-\377!%-\377!&.\377\40&.\377\40$+\377\"&.\377" + "Ydi\377\34\40'\377&,4\377%+1\377&,3\377'-3\377&*4\377',3\377%*3\377&,2\377" + "%,2\377%*1\377$*2\377%*2\377$*1\377$*1\377%*3\377$*1\377%*1\377%*3\377%+" + "1\377$*1\377%+2\377#(2\377%)0\377#(0\377#*2\377$*1\377\"(1\377#(1\377$*1" + "\377\"(2\377#(0\377#(2\377$)1\377\"(2\377#)1\377$*2\377#)2\377$(1\377$(0" + "\377%+1\377%*1\377\"(1\377!&.\377\")0\377$)2\377$'.\377$;P\377URJ\377PME" + "\377FE<\377:90\377:8-\377:8-\377:8-\313:8-\36\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\213\234\243Y\212\232\241\313Y^Z\37797-\377:91\377HHB\377PND" + "\377UTJ\377+5A\377#'0\377$(2\377\")2\377#*1\377$)1\377\"(0\377#(1\377#)1" + "\377\40'/\377\40$+\377\"'0\377\"'2\377%*1\377#)1\377\"*2\377\"'2\377#(0\377" + "#(/\377\"&/\377\"&1\377!'/\377!'.\377#'0\377\"&.\377\"&.\377\"&1\377\"&2" + "\377#'1\377!&.\377\"'/\377\40'.\377\37&-\377#%.\377\"'/\377!&.\377\"'/\377" + "#'/\377!&/\377\40&.\377\37&-\377\36&-\377\40&-\377!&.\377!&.\377\40&.\377" + "!'/\377\"&-\377\"&.\377Ydi\377\35!'\377%+2\377%,2\377&,2\377&+2\377$*2\377" + "$+2\377#+2\377%*2\377&*4\377$)2\377%)1\377$*1\377%*2\377$*3\377%,3\377$*" + "1\377%*1\377%*1\377$*1\377\"(2\377$+2\377$)3\377%*0\377%)1\377%*1\377$*1" + "\377#)1\377%*1\377$*1\377$*1\377$*2\377#*2\377#*2\377\")2\377#)1\377#)2\377" + "$*2\377$*1\377%*1\377$*1\377$*1\377#)2\377%+2\377%*1\377#*1\377!)0\377\30" + "\40*\3779EZ\377[RF\377ONC\377@A8\377:8.\377:8-\377:8-\377=;1\316\177\215" + "\221uu\201\203\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\0\0\0\0\213\234\243\20\213\234\243ut\200\202\374PSM\377" + ":8-\377:8.\377CB<\377MLD\377]WK\3777@N\377\35%0\377\40$+\377#*2\377#)1\377" + "#*2\377#)1\377#(0\377#(1\377$)1\377#)1\377\"(0\377#)1\377\"(1\377#(0\377" + "#)1\377\"'1\377$(0\377#'0\377#'/\377!&.\377\"&/\377\"'/\377\37&.\377\37&" + "-\377\40&.\377\"&0\377!&/\377\40&.\377\"&/\377!&.\377\"&.\377\37%.\377!&" + ".\377\40&.\377\"&.\377!&.\377\40'.\377!&.\377!$-\377\37&-\377\40&.\377!&" + ".\377\40&.\377\40&.\377\40&.\377\"&/\377!&/\377\40&.\377\"&.\377Ydi\377\33" + "\40%\377$*1\377%*3\377&,3\377%*1\377&,3\377'-3\377$*1\377&,2\377%+1\377%" + "+2\377%*1\377&-2\377$)3\377$*1\377$)1\377$*1\377%+1\377$)1\377$*1\377%*1" + "\377%*3\377\")1\377$+2\377#)2\377#)1\377#)2\377$+2\377&,2\377#*1\377$(1\377" + "%)3\377%*1\377$)0\377\"(1\377$*1\377#*2\377#)2\377#)2\377%*1\377$)1\377$" + "*1\377#*2\377#)2\377#)1\377!(0\377#+2\377\"(0\377\35(2\377DLZ\377SNE\377" + "QQC\377FC9\377:9/\377:8-\377:8-\377:8-\377Z`\\\355ahfl\213\234\243W\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\213\234\243W\213\234\243l\202" + "\221\226\355irq\377;:/\37797-\377::1\377AA7\377LKB\377XUJ\3779G]\377\33'" + "2\377\"(/\377\"'1\377#(1\377!%0\377#'0\377$(1\377\")2\377#*2\377#)2\377\"" + "'/\377$)0\377#*1\377#)1\377\"(1\377#'/\377\"(0\377#(0\377\"'0\377#(1\377" + "#'/\377!&.\377\"(0\377\"'1\377#(0\377!'/\377!'0\377\"&.\377!'/\377\"&/\377" + "#'/\377\"'/\377!&.\377!&.\377\40&-\377\"&/\377!&.\377\"&/\377\40%-\377\37" + "%.\377\40%.\377!'0\377!'.\377$(0\377$(0\377!&.\377!&.\377!&/\377#'0\377\"" + "&.\377Ydi\377\34!'\377%*1\377%*1\377&*4\377&,3\377&,3\377&-3\377%*2\377%" + ",1\377$+2\377&+2\377%,3\377%*1\377%*2\377%*1\377#'/\377#)1\377$)2\377$*2" + "\377#)0\377%*2\377%+3\377%)3\377%*1\377$)0\377$)0\377#*2\377#)2\377#*2\377" + "#*1\377#'1\377#'0\377$)1\377$*1\377$)1\377#)0\377$+2\377%)1\377$*1\377%*" + "1\377\"(1\377$)0\377%*1\377#(0\377$*0\377$*0\377#)1\377#*2\377$)0\377\34" + "%5\3778EX\377[XK\377PNE\377GF>\377<:/\377:8.\377:8-\377:8-\377CC:\377IKC" + "\364`gd\306}\213\217\306}\213\217\306}\213\217\306}\213\217\306}\213\217" + "\306w\203\206\364LNG\377HIA\377:8-\37798-\377;;1\377FD;\377NLB\377]ZU\377" + ":G\\\377\35(8\377#)/\377#(0\377#*2\377$*2\377\")1\377#)1\377#(1\377#)2\377" + "#(0\377\"(0\377#)1\377\"'1\377$)1\377\"'1\377!)1\377\")1\377\"'1\377\"'/" + "\377\"'0\377\"&/\377\"'/\377!&.\377\"(0\377\"'/\377\"'/\377\"(0\377\"'/\377" + "\"&0\377$(0\377\"&0\377\"&0\377\"&0\377\"&0\377\40&.\377\"&.\377\"&.\377" + "\"&.\377\"(0\377!&.\377\"'1\377\40'0\377\"'/\377!'.\377\37&.\377\37$.\377" + "\40&.\377!(0\377\"'/\377\"&/\377\"&.\377Ydi\377\33\40%\377$*2\377%,1\377" + "&+3\377%+2\377#*2\377$+2\377%+1\377%,2\377&+4\377%,2\377%+1\377$+1\377$+" + "1\377%+1\377#)1\377$)1\377#)2\377%+3\377$*1\377#*2\377$+2\377%*2\377&+4\377" + "$*1\377$*1\377#(0\377$*2\377$)2\377%+1\377$*1\377%*1\377$*1\377#)2\377$)" + "1\377\"'1\377#)1\377$)1\377$)0\377$*1\377%*1\377$(0\377#(1\377\")2\377#(" + "1\377$)1\377#'0\377$*3\377$*1\377\"'1\377\36&2\377>L[\377TYY\377POD\377J" + "J?\377BB8\377:90\37776,\377:8-\377:8-\377:8-\377:8-\377:8-\377:8-\377:8-" + "\377:8-\377:8-\37787-\377:9.\377;;1\377??5\377II>\377SPD\377^b_\377;GY\377" + "\33#-\377\40'.\377#)2\377\"'1\377$+2\377$*1\377\"'0\377\")0\377\"(0\377\"" + "(1\377#)1\377!)1\377#)2\377\")1\377\"(0\377!'0\377#(0\377\"(1\377\"'1\377" + "!'1\377\"'1\377!(0\377#)2\377\"&0\377\"&.\377#(0\377\"(1\377!)1\377\"'0\377" + "\"'0\377\"'/\377\40'/\377\"'0\377\"(0\377\"'.\377#'/\377!(/\377\"'0\377!" + "&.\377\40'/\377!&.\377\"&0\377\"&1\377!%/\377\"'/\377\"&1\377!&0\377#(0\377" + "!'/\377#(1\377!&.\377\"&.\377Ydi\377\34\37&\377%+3\377&-3\377&,2\377&,3\377" + "%*3\377$*2\377%,3\377$*1\377%*4\377%,2\377%+1\377$+2\377$*1\377$)0\377$*" + "1\377%+1\377%+1\377%*1\377%*1\377$*1\377$+2\377#(0\377%*2\377#*2\377#*2\377" + "%)2\377$)2\377$*4\377%,2\377%*3\377%*1\377$*1\377$*2\377#*2\377\")2\377#" + "(1\377$*3\377$*1\377$)1\377#(0\377#*2\377%*1\377%*1\377#*2\377#*2\377#)1" + "\377#'/\377#)1\377%*2\377#)0\377\36#+\377*7G\377W^d\377[XO\377USI\377LK?" + "\377EE:\377=>4\377:90\377<:/\377;9/\377::0\377::1\37798/\377:8/\377;9/\377" + "=<2\377CC9\377IH=\377TRG\377_`U\377]ci\377/:G\377\34#+\377$)1\377\"*2\377" + "\")2\377\")2\377\40'/\377!(1\377\"&2\377#(1\377#(1\377#)2\377#(0\377\")0" + "\377\"&/\377\"'/\377#)1\377#)1\377\")1\377\"&1\377\"&1\377!&/\377\"(0\377" + "\"'/\377#'0\377$(0\377\"&.\377\"&.\377\"&/\377!'0\377\"(1\377!&.\377!&.\377" + "!&.\377\"&/\377\"&.\377\"'0\377\"&.\377\")0\377#'/\377\"&/\377\"'/\377#'" + "/\377\"&/\377#(0\377#'/\377\"&/\377\"(1\377#(0\377#'0\377\"'0\377#'0\377" + "\"&0\377\"&.\377Ydi\377\34\40%\377%+1\377&,3\377&-2\377&,4\377&+3\377%*2" + "\377%*3\377%,2\377%*1\377%+1\377%+1\377%*2\377%)1\377$(1\377#*2\377%+1\377" + "%+1\377$)1\377%*1\377#)2\377%+2\377%*1\377&+3\377$*2\377$)1\377$)1\377&+" + "3\377$*2\377\"*2\377#*2\377%+1\377%*1\377#(1\377#*2\377$*3\377#(2\377#)2" + "\377$*1\377#)2\377#)1\377%*1\377#*2\377#(0\377#)2\377$*2\377$)1\377$)0\377" + "$(0\377\"'0\377#*1\377!'/\377\40%,\377\37(/\377>HT\377ell\377da\\\377YVK" + "\377PPD\377KI?\377IF=\377GG>\377HF:\377IH=\377KH?\377JF;\377II=\377NK?\377" + "YWL\377mok\377dpq\377@PY\377\35%/\377\35$,\377\"'.\377%*1\377%+2\377#)0\377" + "#)1\377%*1\377\"*2\377\"'2\377#'1\377#'0\377#'2\377#(2\377#'/\377\"&.\377" + "$(2\377$)1\377$(0\377#)1\377\"'2\377!(2\377!'2\377!'0\377#'1\377\"(0\377" + "\"(0\377#(0\377!(0\377!'/\377!'2\377\"(1\377\"&0\377\"&/\377\"&1\377\"&/" + "\377$(0\377!'0\377\"&1\377\"'/\377!(/\377\40'1\377\")1\377\"&.\377#(0\377" + "#)1\377#'0\377$(1\377\")1\377\")1\377$)0\377\"&0\377#'1\377$)2\377\"&.\377" + "Ydi\377\33!%\377%+2\377&.5\377&.4\377&-4\377&*3\377$(3\377%*2\377&*4\377" + "&,3\377&+3\377#*2\377$)0\377%+1\377$(2\377\"*2\377$*1\377$*3\377%,4\377#" + "*2\377#(2\377#)2\377#)2\377%*1\377&+2\377$)0\377$*1\377&(1\377%+3\377$*2" + "\377$*1\377$*1\377$*1\377%*2\377$*1\377!*1\377#*1\377$)1\377$*1\377\")1\377" + "#)1\377#(1\377\")2\377\")1\377\")2\377#*2\377#(/\377$*1\377#'/\377!(/\377" + "$*1\377#*1\377$*1\377#)1\377\36#)\377\33\40*\377*5F\377DPa\377bcd\377YZX" + "\377Z[T\377WXO\377ZWL\377\\WL\377Z[R\377\\\\Y\377_^W\377U_d\377CP`\377(2" + "B\377\31\37)\377\35\"(\377#(1\377%*1\377#)1\377#(0\377\40&.\377$(0\377\"" + ")1\377$(1\377$*1\377\")2\377\"(0\377$)0\377$*1\377#(2\377\")2\377\"'0\377" + "\")2\377\"*1\377$)1\377$*1\377#)1\377\"'/\377#&/\377\"&0\377\"&1\377$)0\377" + "#'1\377#(1\377$(1\377\"(0\377\"&0\377!'/\377#'2\377\"'0\377\"(1\377\"&/\377" + "\"'2\377\"'0\377\")2\377%*1\377\"(0\377\"(2\377\"(0\377\"(0\377#(3\377#(" + "2\377$*1\377%*2\377%*2\377%*4\377$*2\377#'0\377$)1\377$)0\377\"&.\377Ydi" + "\377\35!'\377&,4\377&,6\377&-6\377&-3\377%*2\377%+3\377&+4\377%*3\377%*3" + "\377$*1\377%,2\377%*1\377%+2\377$+2\377#*2\377%*3\377#(/\377#(0\377#*2\377" + "%*1\377#)2\377$)1\377%*3\377$*1\377%,3\377$*1\377&,3\377%*1\377%*2\377%*" + "3\377%,2\377$*2\377%+2\377$*1\377\"*2\377#*1\377#(1\377\"*2\377\")1\377%" + "*1\377#(2\377#*2\377#)1\377\"(0\377#)1\377\"(0\377#*2\377$)0\377#*2\377$" + "*1\377#(/\377$(0\377%+2\377\"'0\377\")1\377#(0\377\34#,\377\36$-\377$/>\377" + ".9I\3773\377!&,\377\"'1\377\40" + "(0\377\40'/\377#*2\377#)2\377\")1\377!&/\377\"&0\377\"'1\377#)1\377\40'/" + "\377\"'.\377#)1\377\")1\377#)1\377\40)1\377\"'1\377\")1\377\")1\377#)2\377" + "#)2\377$)0\377\"'/\377#&1\377\"'0\377\"(1\377\"&1\377#'2\377\40&/\377#)1" + "\377$+1\377#'0\377\"(2\377\")2\377\"'/\377\"(2\377\")0\377!)1\377!(0\377" + "\"(1\377\"'1\377#*2\377#*2\377\"(2\377\"*2\377\")1\377\")1\377#+2\377%*1" + "\377#*2\377#+2\377#)2\377#*2\377#*2\377#(.\377\40$,\377\"&.\377Ydi\377\35" + "!&\377&+1\377#*2\377%*1\377$)1\377#'/\377\"&.\377\"&.\377$)0\377%*1\377\"" + "&/\377#)1\377#)1\377\")2\377\"(1\377#)1\377$*1\377$*1\377#'1\377#)2\377%" + "*1\377%*3\377#(1\377#)0\377\"*2\377\"*2\377#)1\377#)1\377$*1\377$*1\377\"" + "(0\377#*2\377%*1\377#*2\377#*2\377#*2\377#*2\377$*1\377$*1\377$*1\377#)2" + "\377#)1\377#*2\377$*1\377$*1\377$,2\377\"(0\377$)1\377\"(0\377#'1\377#)1" + "\377#(/\377#(1\377$)1\377#*2\377$*1\377$+1\377GF>\377KLB\377KLB\377KLB\377" + "KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377IJ<\377\"'-\377#*1\377#" + ")1\377#'0\377$)1\377!(1\377!'0\377#(1\377\"'0\377\"(0\377$*1\377\"'1\377" + "\"'/\377$*1\377\"'/\377$(1\377#(1\377$*1\377#*1\377!)1\377\"'/\377#)2\377" + "\"(2\377\"'0\377\"'0\377!'1\377\")0\377#'/\377\"&1\377\"'0\377!'/\377\"(" + "0\377!'1\377!&0\377\"(2\377\")1\377\"'0\377\"&0\377\"&0\377\"'1\377$)0\377" + "\"'/\377#'1\377!&0\377#'0\377#'1\377#'0\377\"&0\377!'1\377\"(2\377\"'2\377" + "$(1\377%*1\377#)1\377#'0\377#'.\377\")1\377\"&.\377Ydi\377\33\37$\377&+1" + "\377#(2\377%*1\377$)1\377#(/\377#(/\377\"&.\377#(/\377#'/\377#'/\377$)1\377" + "\"'0\377#(0\377\40&.\377\"'/\377\"'/\377\"'0\377#(1\377#(2\377$+2\377&-3" + "\377%*1\377#)1\377\"*2\377\"(2\377#'0\377#)2\377$)1\377%*1\377$*1\377\"*" + "2\377$*1\377%*1\377#(0\377$)2\377#*1\377#)1\377$)1\377$)3\377#)1\377$)1\377" + "#*2\377$)1\377$)0\377\")1\377#)1\377\"(0\377\"(1\377#)1\377!(/\377$)0\377" + "#(0\377#(2\377\")2\377$)1\377\34#,\377BB<\377KLB\377KLB\377KLB\377KLB\377" + "KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377IJ?\377&+0\377#*1\377\")1\377#" + "'1\377#(1\377!&0\377!&.\377#(/\377\40)0\377!)0\377\40)1\377\"(1\377#)0\377" + "#*1\377#(/\377\"&1\377\"&2\377\")2\377\"'1\377\40%0\377\"'1\377#)2\377\"" + ")2\377#(0\377!'1\377\37'/\377\"&/\377#'/\377#)1\377\")1\377\40&.\377\37&" + ".\377!(0\377#(/\377#(0\377!(0\377#)1\377#'0\377\"'0\377\"*2\377$)0\377#(" + "0\377$(0\377!&.\377\"(0\377#'/\377\")1\377#(1\377!'2\377#*2\377$)1\377\"" + ")2\377#'0\377\")1\377#(2\377!&/\377!&/\377\"&.\377Ydi\377\35\37&\377%+1\377" + "%*1\377#'/\377\"'/\377#(/\377#'0\377\"&/\377\"&.\377\"&.\377#'/\377#'/\377" + "#(/\377!&.\377!&.\377#(0\377#(0\377%*1\377'+3\377&,2\377&,4\377%+2\377$)" + "1\377#*2\377#)2\377\"*2\377#(0\377$)0\377$)0\377%+1\377#*2\377$*1\377$*1" + "\377$*0\377$*1\377#)1\377$(0\377$(0\377#)1\377#(1\377#)0\377%*1\377$(0\377" + "#(/\377#(0\377$(1\377$*1\377#(/\377\")1\377\"'1\377$)0\377$(0\377%*2\377" + "&+2\377#(/\377\")0\377\"+1\377DD>\377KLB\377KLB\377KLB\377KLB\377KLB\377" + "KLB\377KLB\377KLB\377KLB\377LLC\377GH=\377#(,\377#*1\377!'/\377\40&-\377" + "!(0\377\"(0\377\")1\377\"&.\377!&/\377\"&.\377!)0\377\"'2\377\"&/\377\"'" + "/\377\"*1\377\")2\377#(1\377#(2\377$(0\377#(1\377!(0\377#(1\377#*2\377#)" + "2\377\"&1\377\"&2\377#'0\377%'/\377$)0\377#(0\377#)0\377\"(1\377!(1\377\"" + "&/\377\"&1\377\"'0\377$)1\377#)1\377\"(0\377\")1\377#'0\377\"&0\377#'0\377" + "\"&/\377#(0\377#'0\377#'/\377\"'0\377\"'2\377#(2\377#'1\377#'/\377\"&1\377" + "#*2\377#*2\377\"'/\377\37&/\377\"&.\377Ydi\377\32\37%\377$+2\377%*1\377#" + "*1\377#(1\377#'/\377#'/\377#'/\377$)0\377\"'/\377!&/\377\"(0\377$)0\377%" + "(0\377#&.\377#(/\377$)0\377%*1\377%*2\377%*1\377$)0\377$)0\377\"(1\377$)" + "0\377#*2\377$*1\377%)2\377$)1\377#(0\377%*1\377$*1\377#*2\377$*1\377$*1\377" + "#*2\377$*1\377$)0\377#)1\377#*2\377#(0\377#*2\377#(0\377#)1\377#(0\377$*" + "1\377%*1\377$*1\377#)1\377#)1\377%+2\377#(0\377$(1\377#(0\377$*1\377$)1\377" + "$)2\377#(1\377@A:\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KL" + "B\377KLB\377KLB\377KK>\377$*.\377\"(1\377\")0\377\"(1\377\"'2\377\"(1\377" + "#)0\377\"&0\377\"'0\377\")1\377\"(1\377\"&1\377#)1\377$)1\377#'2\377#)2\377" + "$*1\377$)1\377#(1\377\"(0\377\"&/\377\"(0\377$)1\377#(1\377$(1\377\"'0\377" + "$)1\377#)1\377#(0\377\"'/\377#'0\377\"&.\377\"'.\377!(/\377#'0\377\"(1\377" + "#'/\377\"(1\377\"'/\377\"'/\377\"'/\377#(0\377\"(0\377\"&0\377\"'/\377\"" + "'/\377\"&/\377\")1\377\")1\377%)1\377#'1\377#)1\377#)1\377#)0\377\"*2\377" + "\"'.\377\36#+\377\"&.\377Ydi\377\33\40%\377&.3\377$*2\377#*2\377#*1\377#" + "'/\377\"&.\377\"&.\377#'/\377\"(/\377#'/\377!&.\377!&0\377%*1\377$)0\377" + "$+1\377$*1\377#(0\377$(1\377$)0\377%*1\377#*2\377$)0\377$*1\377#(2\377\"" + "(1\377$)1\377$)1\377#)2\377$*1\377#)0\377$*1\377%*1\377$)1\377$)1\377#(1" + "\377$(0\377#)0\377\")1\377#)1\377#)2\377\")1\377$*1\377#*2\377\")2\377#*" + "2\377#'1\377$*1\377#*2\377$*1\377#'0\377%*1\377#*1\377$)1\377#)1\377$*2\377" + "\31\40)\377?@7\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377" + "KLB\377KLB\377GH<\377!&*\377\36#-\377&-3\377$+4\377$)1\377\"(0\377#(0\377" + "$(1\377\"'.\377\"(/\377\"&/\377\"'0\377#(1\377%*1\377#*2\377$)0\377#)0\377" + "\"'1\377#)0\377#(0\377#'1\377$)0\377$)0\377\"'/\377#(1\377#(0\377#(0\377" + "\"'/\377\"'/\377$)1\377#(2\377#'/\377#(1\377#(0\377&,3\377\"'0\377$)1\377" + "#(1\377#(1\377#(0\377\"'/\377\"'/\377#'0\377\"&/\377$*1\377#(0\377!&0\377" + "\"(0\377\"(0\377\"'/\377%)2\377\"'1\377#)2\377#*2\377#)2\377!%,\377!'.\377" + "\"&.\377Ydi\377\32\37%\377&+3\377#(1\377\")0\377\"'.\377\"&.\377#(0\377\40" + "&/\377\"&.\377\"'/\377#'/\377#(/\377$)1\377$)0\377#)1\377\"'/\377#(/\377" + "%)0\377%)1\377%*1\377%+1\377%+1\377#(2\377$*1\377\"&1\377#(1\377$)1\377$" + ")0\377\")0\377$)1\377$*1\377$*1\377%*1\377#*2\377#*1\377$)1\377#(/\377#(" + "0\377#)1\377#*2\377!*1\377$)0\377$*1\377$*1\377#)2\377#)1\377#*2\377$)0\377" + "#)1\377#'1\377#)1\377#)2\377$)1\377$)1\377!'0\377$)0\377\37$,\377B@9\377" + "KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377GH" + "=\377&-/\377#(/\377$*1\377#)1\377$)0\377#'1\377$)1\377#(0\377#'0\377#*1\377" + "\")1\377\")1\377\"'/\377$)0\377\40'.\377\"(1\377\"(0\377\"'1\377!&0\377\"" + "'1\377\"'2\377#(/\377#'/\377%*1\377\"&0\377\"(1\377$)1\377#'1\377\"'0\377" + "\40'/\377!'/\377!'/\377!'/\377#(0\377\"'/\377#(/\377#(/\377\"'/\377#)0\377" + "\"&/\377#'/\377#)0\377!)0\377$)1\377'-3\377#'/\377\"&0\377\"(0\377!'/\377" + "#(0\377%)1\377#(0\377#(0\377\"(2\377#(2\377\40&-\377\")0\377\"&.\377Ydi\377" + "\35\40'\377'-4\377%*1\377$*1\377\"&.\377!&.\377\"'1\377!'0\377\"&.\377$(" + "1\377$*2\377#(1\377$)0\377\"'.\377\"(/\377\"'1\377\"(2\377#*2\377#)2\377" + "#*2\377#)2\377$)1\377&+3\377#(0\377\"(0\377#(1\377\"(0\377$)0\377$)0\377" + "$)1\377$*1\377$*1\377#*2\377\")1\377$*1\377$*1\377%*1\377$(1\377\"(1\377" + "$)0\377#)1\377#'/\377$)1\377$*1\377#(0\377#)0\377\")2\377#(0\377\"'0\377" + "$(1\377$)1\377#*2\377#)1\377#)1\377!'.\377#(.\377\35%+\377>?7\377KLB\377" + "KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377II?\377(." + "2\377$)0\377!(/\377\"'0\377$(0\377#(2\377\"(0\377#'1\377!&/\377\"(/\377\"" + "*2\377#)1\377$)1\377#(0\377#)0\377#*1\377$)0\377#)1\377!(0\377#)1\377\"(" + "0\377\"&/\377\"&/\377#(/\377\40&/\377!&0\377\"(/\377!'0\377\"(1\377\"*2\377" + "#)1\377\"'1\377\"'/\377\"&1\377!&0\377#)1\377#(1\377\"(0\377\"'/\377\"&1" + "\377#'/\377!&/\377!'.\377\"(0\377#'0\377!&/\377#'0\377\"'/\377\40(/\377\"" + "&1\377#'/\377#'0\377#)2\377#(2\377%+1\377\"(.\377#(0\377\"&.\377Zek\377\30" + "\36&\377)39\377&,3\377%*1\377#*1\377#)1\377#*2\377!(/\377#)1\377%(0\377%" + ")1\377#'/\377\"(0\377#)1\377#'/\377$(1\377#)2\377#)1\377#)1\377$*1\377#(" + "1\377$(0\377#)1\377\"'0\377$*1\377\")1\377\"(0\377#*2\377$*1\377#*2\377$" + "*1\377%*1\377%+1\377%*2\377$*1\377$*1\377$*1\377#)2\377$)1\377$*1\377#*2" + "\377\")1\377#)0\377$)1\377!'.\377!(/\377\"(2\377$)0\377#)1\377$)0\377#(0" + "\377#(/\377\"'0\377$)1\377$+1\377\")1\377\35$-\377>?8\377MOD\377KLB\377K" + "LB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377FG<\377\36%'\377\"" + "*2\377$*1\377#'2\377#)1\377\"&/\377&-5\377$+3\377\"(1\377#(0\377#)1\377\"" + "&1\377!'0\377#)0\377$(0\377#)1\377#'2\377#'1\377\"(2\377\"&.\377#'/\377\"" + "'0\377\"&/\377\")2\377\")1\377!&0\377\"'/\377#)1\377$)1\377#(0\377\"(0\377" + "\"'/\377#)2\377\"'1\377\"'/\377#'/\377#'/\377\"'/\377#)0\377!&.\377\"&.\377" + "\"&/\377#)0\377#(0\377!&/\377\"'/\377#(0\377#'0\377\"'0\377\40&0\377!'0\377" + "!(0\377#(2\377#)1\377#)1\377!%-\377\"(0\377\"&.\377Zfk\377\31\35%\377%-4" + "\377%*1\377$)0\377%*1\377#(/\377#)1\377$)0\377#(0\377#(0\377#'/\377#(1\377" + "$)1\377#'2\377#)1\377#'/\377$(0\377$)2\377#)2\377%*1\377#(2\377$)1\377$'" + "/\377#(1\377#'/\377\"(0\377\"(2\377$*1\377\"*2\377$*1\377%*1\377$*0\377$" + "+2\377$*2\377#*2\377#*2\377%*1\377%)1\377\")1\377$*1\377$*1\377#'2\377$*" + "1\377$*1\377#)1\377#(0\377\"(0\377\"&.\377#'/\377#)0\377\"(0\377$)2\377$" + ")2\377#(0\377#(1\377#(/\377\35%*\377>?7\377NPE\377MPE\377LNC\377KLB\377K" + "LB\377KLB\377KLB\377KLB\377KLB\377KLB\377GH=\377\40',\377\36%.\377$)1\377" + "#(2\377#)2\377#'2\377\"*2\377#+2\377!&1\377!'/\377\")0\377\"(0\377\"'0\377" + "$)1\377#(1\377#'0\377#'2\377#)1\377#)0\377\"(0\377#'/\377\"'/\377\"(0\377" + "\")1\377#)0\377\")1\377\")1\377\"(0\377\"'0\377#(2\377!)2\377\"'1\377#'0" + "\377#(/\377\"&0\377#'0\377\"'/\377\"'1\377\"'/\377\"&.\377\"&.\377\"'/\377" + "\"&0\377\"'/\377\"'1\377\"(/\377!'0\377#(0\377#(/\377#'0\377#*1\377\"(0\377" + "\"(0\377#)1\377\"*2\377!(/\377#)0\377\"&.\377Ydi\377\33\36&\377%+1\377%-" + "1\377$)0\377%*1\377#(0\377$)1\377\"'2\377$)0\377$)0\377#'/\377#(0\377#(0" + "\377#(0\377$(1\377\"&1\377#'0\377#'/\377#(0\377$)2\377%*1\377#*2\377$)0\377" + "$*1\377$*1\377#*2\377$*1\377%*1\377$)1\377%*1\377%*1\377#*2\377#(0\377$)" + "1\377#*2\377#*2\377$*1\377$*1\377#*2\377\"*2\377%*1\377$*1\377%*1\377$*1" + "\377#)2\377#)1\377$)1\377\"'0\377\")2\377#*2\377#*1\377#'/\377\"(1\377#*" + "2\377\37%-\377\"*0\377\40$+\377HE;\377KLB\377KLB\377KLB\377KLB\377KLB\377" + "KLB\377KLB\377KLB\377KLB\377KLB\377FG<\377#(-\377#'/\377\"(/\377\37'0\377" + "\"'2\377!&/\377#(/\377#)2\377\")2\377\"*2\377\"(1\377\"'1\377$*1\377\"'/" + "\377!&.\377\"'/\377\"'0\377\"&/\377\"&/\377\"(0\377\"&.\377!(0\377\"'/\377" + "\"'1\377!&.\377\"'/\377\"'2\377\"'0\377!&/\377$)0\377\"'/\377#(/\377\"'/" + "\377\"&.\377#)1\377\")1\377#(/\377\"'/\377!(/\377#)3\377\"(0\377#'/\377\"" + "'/\377#(1\377\"&/\377\"&0\377#(1\377\"(1\377\"(2\377#*3\377#*3\377\"&/\377" + "\40'/\377#)2\377\"*2\377\"(0\377\40'.\377\"&.\377Ydi\377\32\37$\377%*1\377" + "%+1\377%*1\377#*2\377%*1\377%)1\377#)2\377%*1\377%*1\377$)0\377#'/\377%)" + "1\377$*1\377$(0\377\")2\377$*1\377%)1\377$(0\377#'/\377$)0\377\"'/\377%+" + "1\377$*1\377$*1\377#*2\377$)0\377#(/\377$(0\377#'/\377#)1\377#'2\377#)2\377" + "#)2\377#*2\377$)1\377%*1\377\"*2\377\"*2\377\"(2\377%*1\377#*2\377$*1\377" + "#*2\377#)2\377%*1\377%*1\377%+2\377#)2\377#)0\377$)0\377#'/\377\")1\377$" + ")0\377$)2\377#)2\377\32\40%\3779:3\377KLB\377KLB\377LKB\377KLB\377KLB\377" + "KLB\377KLB\377KLB\377KLB\377KLB\377EF:\377!)*\377%)1\377\40&.\377\"'/\377" + "\")1\377#'/\377#(1\377\"'1\377\"(1\377#)1\377\")0\377#(/\377\"'/\377\"'/" + "\377\"'0\377#(0\377$)0\377\"'2\377\"'1\377\"&.\377#(0\377\"(0\377\"&/\377" + "\"&0\377!&0\377#)1\377!'/\377\"'/\377\"&0\377#'0\377!)1\377\"&.\377\"(0\377" + "#(0\377#)1\377\"(0\377#'1\377\"'/\377#'/\377\"'0\377\"'2\377#'0\377#'/\377" + "#)1\377#(/\377\"&.\377!'.\377\"'/\377\"(0\377#'/\377#)1\377\"(1\377\"'1\377" + "#)0\377$*1\377#)1\377$*1\377\"&.\377Ydi\377\33\40%\377&.3\377$+2\377$*1\377" + "$*1\377%+3\377%+3\377$)0\377#+2\377%+1\377%+2\377$*1\377$*1\377%+1\377#)" + "2\377\")1\377$*1\377$+2\377$)1\377$)1\377$*1\377\")1\377\"'/\377#)0\377!" + "'0\377\")1\377#*2\377$)0\377\"&/\377%*1\377#)2\377$(1\377$)1\377#*2\377$" + ")0\377$*1\377$)0\377#*2\377$)1\377\")2\377%)1\377#(0\377$(1\377$)0\377$)" + "0\377#*2\377$*1\377#(1\377$(0\377#(/\377\"'.\377%*1\377$*1\377#)0\377#'0" + "\377%)0\377\40%,\377>?7\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB" + "\377KLB\377KLB\377KLB\377HI;\377\37%*\377\37$,\377%*1\377#'1\377#(0\377!" + "&1\377#(0\377#(0\377$(1\377#*1\377\"(0\377#(1\377\"'1\377\")1\377\"&.\377" + "\"(0\377\"&/\377#)1\377$(1\377\"'2\377\"'1\377#)2\377',3\377!(/\377\"'0\377" + "\"(1\377!'.\377!&.\377\"&0\377\")1\377$*1\377\"(2\377\"'/\377$)0\377\"'1" + "\377\"&/\377\"(0\377\"'0\377\"(0\377#)1\377\"&1\377#)0\377!&1\377\"'1\377" + "#(0\377\"(0\377\"&0\377\"(1\377#'0\377%)2\377\"(/\377#)1\377#*2\377#(0\377" + "#*2\377\")0\377!&.\377\"&.\377Ydi\377\32\36%\377&.2\377$+2\377%*1\377%*1" + "\377%*1\377#*3\377$+3\377$)3\377%*2\377$+2\377%*1\377$*2\377%+1\377%+2\377" + "$)1\377#*2\377%*1\377$)1\377$)1\377%*1\377$*1\377\"(1\377#*1\377\40)1\377" + "\"(1\377\"(1\377&,3\377#*1\377%*1\377#)2\377#(0\377\")1\377$*/\377\")0\377" + "#*2\377$)1\377%*1\377#*2\377\"(0\377%*1\377$)0\377\"&0\377#'/\377$*1\377" + "\"*2\377\")1\377#)1\377%+1\377#*1\377\")1\377$*3\377$*2\377$(1\377\"&-\377" + "$(0\377\35\"*\377=>6\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377" + "KLB\377KLB\377KLB\377GF;\377\40(+\377\"(/\377$)0\377#)2\377#(1\377\"'/\377" + "$(2\377#(0\377\"(1\377\"(0\377!&.\377\"(1\377\")1\377\"*2\377\")1\377\"(" + "1\377\"&1\377\"(1\377#)1\377\")2\377\"'/\377\"(0\377,/6\377\"(0\377\"&0\377" + "\"(0\377\"'/\377\"'0\377#(0\377\")1\377\"'/\377\"(0\377\"'/\377\"'1\377\"" + "&/\377\")1\377#(0\377\"&.\377\"&0\377\"(0\377\"&/\377\"'0\377\"'/\377!)1" + "\377\"'/\377\"'/\377\"(1\377!)1\377#)1\377#*1\377\"(2\377\"'/\377\")1\377" + "#'2\377#)2\377!'/\377\37$-\377\"&.\377Zdj\377\36!(\377%+1\377%*1\377%+1\377" + "&,3\377&-2\377%,2\377%+2\377%+3\377',3\377%+2\377%*2\377&,3\377%,1\377#*" + "2\377$(1\377$)1\377$)2\377%)1\377$)1\377$*1\377#*2\377#'0\377$)1\377\"'0" + "\377#)1\377\"(1\377#(0\377#(1\377#)1\377#)1\377\"(2\377\")2\377$*1\377$*" + "1\377#*2\377%*1\377$*1\377#*2\377$*1\377#)2\377#)2\377#)2\377$*1\377#(1\377" + "#(2\377\")2\377%*1\377$*1\377#(0\377\"(2\377\"'/\377#(0\377$)0\377$)0\377" + "$)1\377\36\"*\377;;5\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377" + "KLB\377KLB\377KLB\377HI;\377#(+\377$)0\377#)0\377$(1\377\"'0\377\"&.\377" + "\"(1\377\"(0\377\"'/\377$)1\377$)0\377$)0\377$(1\377\"(0\377\"(/\377\"'1" + "\377\"&0\377\"(0\377\40'.\377!(/\377#)0\377#(0\377#'/\377\"'/\377$)1\377" + "\"'/\377\"'0\377#'0\377#(2\377\"&1\377\"'1\377\"(2\377!'/\377!&0\377\"&/" + "\377\"'/\377\"&.\377#(/\377$)1\377!)0\377\"'/\377!'/\377\"&/\377!'/\377#" + "(/\377#)1\377$(0\377$(0\377#)1\377\"'/\377#(0\377#'1\377#(/\377#(1\377#*" + "2\377!(0\377\37$+\377\"&.\377Ydi\377\36!'\377%*3\377%+1\377%,3\377&-4\377" + "%+1\377&-5\377&+5\377&-3\377'.5\377',3\377%+2\377&,3\377$*2\377%*2\377$*" + "1\377$+2\377#*2\377%*1\377%+2\377$)1\377$)1\377$)1\377#*2\377$*1\377&+4\377" + "%*3\377$)1\377$)0\377$+2\377$*1\377$*1\377#)1\377%*1\377$*1\377$)1\377$*" + "1\377$*1\377#)1\377#)1\377$*1\377$*1\377%*1\377$)1\377$)1\377$*1\377#*2\377" + "$)1\377\")1\377#(0\377#*1\377\"(0\377$*1\377#*1\377$*0\377%+1\377\35!*\377" + "994\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KL" + "B\377GF<\377\"',\377\"'1\377$)1\377$(0\377\"(1\377\"&.\377\"'1\377\"'/\377" + "\"'/\377#)1\377#(0\377#(2\377\"'2\377\"'/\377#'1\377!'/\377\"'0\377\"&0\377" + "\"&.\377\")1\377#)1\377#)1\377$)1\377!(0\377#(2\377\")1\377\"&.\377$(0\377" + "\"(2\377\")1\377\"(2\377\"'/\377!'.\377#(1\377\"&0\377\"(1\377\40&.\377\"" + "&.\377\"&1\377\"'2\377\"'0\377\"'0\377#(0\377\"(1\377!'.\377#(1\377#)1\377" + "#(0\377\"(2\377\"(1\377$(1\377\"(2\377#(1\377\"(2\377\"(2\377\"(0\377!&." + "\377\"&.\377Zej\377\34!(\377%*2\377%+2\377&,5\377&-4\377%*2\377%+3\377&+" + "5\377&-5\377(.4\377&-3\377&-4\377%+2\377%*3\377%*3\377%*2\377%+4\377$*1\377" + "$*1\377$*1\377$)0\377%*3\377$)0\377$+2\377%+1\377#*2\377$*1\377#*2\377#)" + "2\377#)2\377#*2\377$*1\377%+2\377$*1\377$)0\377#)0\377#(0\377#)1\377#'0\377" + "%*1\377%+1\377$*1\377%*1\377$(0\377$(1\377$*2\377#)2\377#)2\377$*1\377$)" + "1\377%+1\377#)1\377#*1\377$+2\377\36$+\377\")1\377\37$+\377>?7\377KLB\377" + "KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377FE;\377\"" + "&*\377\40'/\377#)0\377#(/\377#(/\377#'/\377#(1\377\")1\377\"(0\377\"(/\377" + "#(2\377\")2\377#(0\377#(0\377#*2\377#*1\377#(/\377\")1\377\"'1\377#(1\377" + "#(1\377\"'0\377#'/\377$(1\377%)1\377$(0\377#'/\377#(0\377\"'1\377#(0\377" + "#)2\377#(0\377\")0\377\"(1\377#(1\377\"&.\377\"'0\377\"&0\377#(0\377!'/\377" + "\"(1\377#'1\377$*3\377$(1\377\"(0\377$*1\377\"'/\377\"(0\377\"'0\377#)1\377" + "\")1\377!)1\377&,4\377\"'0\377\"(1\377#(0\377!%-\377\"&.\377Ydi\377\36!'" + "\377&,4\377&,4\377',3\377(.6\377'-6\377(-5\377&-5\377'-6\377&-5\377&.3\377" + "&.5\377&,3\377&-5\377%+3\377$+3\377(.5\377&,2\377%,2\377$(3\377%*1\377$)" + "0\377#(2\377%,3\377#*2\377#*2\377#*2\377#*2\377$*1\377%*1\377%+3\377%*1\377" + "#)0\377%+1\377%*1\377#(1\377$)1\377#*2\377$(0\377$)0\377#)0\377#*2\377%*" + "1\377$*1\377$*1\377#)1\377\")1\377$+2\377#*2\377#(2\377%*1\377%*1\377#(/" + "\377$)0\377$)0\377$*1\377\37$*\377::4\377KLB\377KLB\377KLB\377KLB\377KLB" + "\377KLB\377KLB\377LKB\377KLB\377KLB\377EE;\377\"'*\377$+2\377$)1\377\"(0" + "\377\"'/\377#(0\377$)1\377\"(0\377\"(1\377#(1\377$)1\377#*2\377\"(0\377\"" + "'/\377#*1\377\")1\377\"'0\377\")1\377\40)0\377\"'/\377#(0\377%*3\377\"'/" + "\377\"&/\377\"'/\377#'/\377\"'/\377\")1\377\"&0\377#(0\377\"'1\377\")2\377" + "\"'0\377\"'0\377\"'1\377\"&/\377!'0\377\"'0\377\"(0\377\"'1\377#'1\377$)" + "1\377\"(0\377\"'1\377\"&/\377$)1\377#)0\377\")1\377\"&/\377\"'1\377#*2\377" + "\"(2\377#(2\377#)1\377#)1\377#(0\377#'/\377\"&.\377Ydi\377\36!'\377&-3\377" + "%*2\377%+1\377'-5\377'-5\377(.6\377'.6\377&.5\377(.5\377'-5\377%,3\377%-" + "4\377&+5\377&+5\377%+2\377%,4\377%+2\377&+2\377&+3\377&+2\377%+1\377$+1\377" + "#)1\377$)1\377%*3\377$*1\377#*1\377#)1\377$)1\377$+2\377%*2\377%*4\377%*" + "3\377%*1\377#*2\377#(2\377$)1\377#)1\377#*2\377#)2\377#*2\377$*1\377\"*2" + "\377#)1\377#*1\377#*2\377#)2\377$(0\377#)2\377$*1\377%*1\377%+1\377%+1\377" + "$+3\377$)1\377\35\"+\377<<6\377LLB\377KLB\377KLB\377KLB\377KLB\377LLB\377" + "KLB\377KLB\377KLB\377KLB\377GF=\377\37'*\377\36&.\377#)2\377\")1\377#)0\377" + "#)2\377\")0\377$)0\377\"(0\377!(0\377#(1\377\"(2\377#*2\377#*1\377\"'/\377" + "\")1\377\"(0\377#(0\377#(0\377\")1\377\"(1\377#(2\377$)1\377#'1\377\"'/\377" + "#)2\377#'0\377\"(0\377$)1\377\"'0\377#)1\377#*2\377\"(1\377#'/\377#'/\377" + "#'/\377#(0\377#'/\377\")1\377\"&/\377\"&0\377\"&1\377\")1\377#(0\377#'/\377" + "\"(1\377\"(1\377#(1\377\"(1\377#'/\377#(0\377#)2\377\"(0\377#'1\377#)2\377" + "#)0\377#(/\377\"&.\377Ydi\377\35!&\377&.4\377&.2\377&-3\377%,3\377&-3\377" + "&.4\377&.3\377&.4\377&+6\377&-6\377&-6\377'-4\377&-3\377&-3\377&,4\377%," + "4\377$)0\377%*2\377%,3\377%*1\377%,3\377%*1\377%*1\377\"*2\377$*1\377%*1" + "\377$)1\377#)2\377%,4\377#*2\377$*1\377$)1\377%)1\377%+1\377\")1\377$*1\377" + "%+1\377%-3\377%,3\377%*1\377$*1\377$+2\377%+2\377#*2\377#*2\377#*2\377%+" + "1\377#+2\377%*1\377#)1\377$)2\377$)1\377$)0\377#*3\377%*2\377$(.\377@@8\377" + "KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377HG" + ":\377\"')\377\40'/\377%*2\377\"(1\377#(1\377\")1\377#)0\377\"*2\377\"'1\377" + "\"&0\377$)1\377#'2\377\40'0\377!&.\377\"'/\377!(/\377!'/\377\"*2\377\"(0" + "\377\"'0\377\"'1\377\"&.\377#(1\377#)1\377\"'/\377\40*1\377#)1\377#(0\377" + "\"'0\377\40'0\377\"(2\377\"'0\377\")2\377#(0\377\"'0\377\"&.\377#'/\377\"" + "'1\377\"&/\377\"&0\377!&0\377\")1\377\"'1\377\"(0\377$)1\377#)0\377\"(0\377" + "\"(1\377\40(/\377\"'0\377\"(0\377\"&/\377\"'/\377#*1\377!*1\377\"(/\377\40" + "&.\377\"&.\377Ydi\377\35!&\377%+2\377&,4\377&.5\377'+6\377%*2\377(/4\377" + "&,4\377'-6\377'-6\377&.5\377&.4\377'.6\377'.4\377'.3\377&-4\377%+2\377&+" + "4\377&-3\377%+1\377$*1\377$*1\377#*2\377$*1\377#)1\377$*2\377%*3\377$(1\377" + "%*1\377$*2\377$+2\377#(0\377#)0\377$)1\377#)2\377$)1\377#(/\377$*0\377%*" + "1\377%+2\377%*1\377%*1\377%+2\377%+4\377\"*2\377#(0\377$*1\377$*1\377#(2" + "\377#)2\377#(0\377$*1\377&,5\377%+1\377#*2\377%,3\377!$.\377==7\377KLB\377" + "KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377FF=\377#(" + ",\377$*3\377$*3\377\"(1\377\"&0\377#)1\377\"'/\377!'/\377#(1\377$)2\377#" + "'/\377#(2\377!&1\377\40'.\377#)0\377\"'1\377\"(1\377\")1\377\"'0\377\"'2" + "\377\"(0\377\"&.\377\")0\377%*2\377!(0\377!'/\377%*1\377#'1\377#'1\377\"" + "'1\377#(1\377#(0\377!'/\377$)1\377\"'2\377\"(0\377#'/\377\"'/\377#'0\377" + "\"'.\377!)1\377#*2\377\"'/\377\"&.\377#(0\377\"(0\377#'/\377\"'/\377!'.\377" + "\"(0\377\40'/\377!&.\377\40'/\377#)0\377$*2\377%)2\377\"&0\377\"&.\377Ze" + "m\377\34!)\377&-3\377%+2\377',4\377(-5\377&+3\377&-2\377&.3\377',6\377'." + "6\377&.5\377',5\377%-5\377&,5\377&-6\377&-2\377&,3\377%+3\377%*1\377$*1\377" + "%+2\377$*2\377$)2\377%*1\377%,1\377%*1\377$)1\377%+1\377%)1\377%+1\377#*" + "2\377%,1\377%+1\377#)1\377#)1\377#'0\377$*1\377$)0\377$*1\377%*1\377%*1\377" + "#*2\377#)2\377#(2\377%*1\377$*1\377$*1\377%*1\377%*1\377%*4\377$*2\377$*" + "2\377#)2\377$*2\377$*1\377%+2\377#&/\377??8\377NLC\377KLB\377KLB\377KLB\377" + "LKB\377KLB\377KLB\377KLB\377KLB\377KLB\377EF;\377\36%(\377$)3\377%*1\377" + "#)1\377#'/\377\"'/\377#)1\377#)1\377#)2\377#)2\377\")1\377#*2\377\"'1\377" + "\"&0\377#(0\377\40(0\377$)1\377\"(0\377\"&.\377\"'/\377\"'0\377!'0\377\"" + "&/\377\"&0\377$)0\377\40&.\377\"(1\377\"&0\377\")2\377#)1\377#'0\377!'0\377" + "\"'/\377#&0\377\")1\377$)0\377\"(1\377!'/\377\"&.\377\"'0\377\"&.\377#'0" + "\377$+1\377\"'/\377#(0\377\"'/\377\"'0\377\"(2\377\"'0\377!%.\377\"&0\377" + "\40&/\377#'1\377#)1\377\"(1\377\"'1\377#%.\377\"&.\377Yej\377\35!(\377%*" + "3\377&*4\377&+6\377'.6\377(,6\377&+5\377&.6\377&.6\377&,6\377'.5\377'.6\377" + "'-5\377&+3\377(-6\377&,4\377&-3\377%*1\377%*1\377%-2\377$+3\377$*2\377%+" + "1\377#*2\377$+2\377%+1\377$*1\377%*1\377$(0\377%*1\377%*1\377$*1\377$)1\377" + "$)1\377%*1\377%*1\377$*1\377$)1\377#*1\377$*1\377%*1\377$*1\377$)1\377#*" + "2\377%*1\377#+3\377#+3\377$+2\377$+1\377$)1\377$*2\377$*2\377%*1\377$+2\377" + "#*2\377$+1\377\33\40%\377<=4\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377" + "KLB\377KLB\377KLB\377KLB\377JG=\377\"&(\377\34\"+\377#)2\377#'1\377$)0\377" + "\"(1\377$)1\377\"&0\377!&/\377\"'1\377#)1\377#*2\377$)1\377\"'/\377!(/\377" + "\"(1\377$)1\377#'/\377$)0\377$)1\377$*1\377$)1\377\"'0\377\"&1\377#'0\377" + "\"&0\377#(0\377\"&1\377\"'0\377#'1\377$)3\377\"'/\377#(/\377#'/\377\"'1\377" + "#'/\377\"&1\377\40&.\377\"(0\377\"'/\377!'.\377%)1\377\"(/\377\")1\377!(" + "1\377!(/\377\"&0\377\"&0\377\"'/\377!'/\377\"&1\377\"&0\377#'/\377#(1\377" + "\"'/\377#*1\377\40$-\377\"&.\377Ydi\377\35!&\377&,3\377&,4\377'-6\377'.4" + "\377'-5\377(.6\377(.6\377&,5\377&+4\377&-5\377&,6\377&.5\377&*5\377%+2\377" + "%*3\377%,2\377%*2\377%*1\377$+3\377%,2\377%+2\377#)2\377#)2\377%*2\377#*" + "1\377$)0\377#(0\377$*1\377#(0\377#(2\377%*1\377$)0\377$*3\377#*2\377#)3\377" + "%*3\377$*1\377$*1\377#*2\377$*1\377$*1\377%+1\377%*1\377$*1\377#*2\377$*" + "1\377%)1\377$*1\377%+1\377$,3\377$*1\377$*1\377%*1\377#*1\377$*1\377!(/\377" + "AC:\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377LKB\377KLB\377KLB\377LJ" + "B\377ROB\377(.1\377\")1\377$(2\377\"'/\377\")1\377\")1\377#(2\377$*2\377" + "\"(1\377$,4\377#'0\377#(1\377\"&0\377\"&2\377\"(1\377#(0\377\"&/\377\"(0" + "\377\"'/\377\"(0\377\"(2\377\"(1\377\"(0\377#(1\377\"&/\377\"&0\377\"'0\377" + "\"'0\377\"'1\377!&.\377\"'/\377$)1\377\"'0\377#*2\377#'1\377\"'/\377\"&/" + "\377!&.\377#(1\377\")1\377\"&/\377#'/\377\"'0\377$)1\377!'0\377\40&/\377" + "!'/\377\"&1\377!&.\377\"'0\377$)0\377\"'1\377\"&0\377!'/\377\"(/\377#(/\377" + "#(0\377\"&.\377Ydi\377\35!'\377&-4\377&+5\377',4\377'.4\377'-5\377'.5\377" + ").5\377',7\377(-5\377&-5\377&+5\377&.6\377&-6\377&,4\377%+4\377%+2\377%*" + "2\377$*2\377%*2\377%*1\377$,3\377$+2\377$*1\377%*1\377$,1\377%-2\377%*1\377" + "$*1\377$*1\377$*1\377#(0\377$*1\377$*3\377$*2\377$)2\377%*2\377%*1\377#*" + "2\377#*2\377$*1\377%*1\377%*1\377#*2\377$*3\377%,2\377%+1\377#)0\377$)0\377" + "$+2\377%*1\377%+1\377$*1\377%,2\377\"'.\377$)0\377!(1\377BA:\377LLB\377K" + "LB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KKB\377GD;\377#(." + "\377$*3\377\")1\377\40&/\377#)1\377\"'0\377#)1\377$(0\377\")1\377#*1\377" + "#)0\377#)1\377$)0\377\"(1\377\"*2\377\"(0\377\"(/\377\"'/\377\"'/\377\"*" + "1\377\"(0\377\"(1\377\"(0\377\"(0\377\"(1\377#(/\377\"&/\377\"(1\377#)1\377" + "!'/\377\"&/\377!(/\377\"'/\377\"'/\377$(0\377\"'/\377\"&0\377!&/\377\40'" + "/\377\"(2\377\"&0\377$)0\377#(1\377\"'/\377\"&/\377\"&/\377#(0\377#)2\377" + "#)0\377\"&1\377\40&.\377\40&/\377\"&.\377\"'/\377\40&.\377\"'/\377\"&0\377" + "\"&.\377Ydi\377\35!'\377&,3\377&+4\377&,6\377&-6\377&+4\377&-6\377&-6\377" + "',4\377'.6\377%-4\377%+2\377&-4\377&*3\377&+3\377%,3\377$+2\377%*3\377%+" + "1\377%+1\377%+2\377$+2\377%*1\377%*1\377#(/\377$)1\377$*3\377%*2\377%*4\377" + "$*1\377#)1\377#)1\377$*1\377#*2\377$*1\377%*1\377#(1\377#)1\377$+2\377$)" + "2\377\")1\377#*1\377$+1\377#)0\377#)2\377#*2\377#)2\377$)1\377\")1\377#*" + "2\377$*1\377#*2\377#*2\377&+2\377$)0\377#*2\377\37'1\377.6;\377SOB\377KL" + "B\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377NLA\377=?>\377\36'" + "0\377$)0\377\"&.\377\")1\377#(0\377#(0\377\40&.\377!&.\377\"&/\377\"&.\377" + "\"&.\377\"&.\377#(1\377#(1\377#(0\377\"(0\377!&.\377#(0\377\"(0\377#'0\377" + "!(0\377\"'/\377!)0\377!&0\377\"'0\377\"&0\377\"'2\377\"'/\377\"&/\377!&." + "\377\"(0\377!(0\377\40&-\377\")1\377#'0\377#(2\377\")0\377\40'.\377!&.\377" + "#(1\377\"&.\377\"'1\377\"(2\377\"'2\377\"'/\377\40&.\377\"'0\377\"(0\377" + "!'0\377\"&1\377\"'2\377\"&/\377\"&/\377#'/\377#'/\377!&.\377\"%-\377\"&." + "\377Ydi\377\36!&\377%*2\377&+5\377'-4\377&.5\377&-5\377%+3\377&+5\377&-6" + "\377&+5\377&,2\377%+3\377&,5\377$*2\377$*2\377%*2\377%*1\377$*2\377%*3\377" + "#*2\377$*2\377#*2\377%*3\377#*2\377$*1\377#*2\377#)2\377#*2\377$)2\377$*" + "2\377#*1\377#)1\377$)1\377#*2\377\"*2\377#*2\377#)2\377#*1\377#)0\377%,3" + "\377\")1\377$)1\377%*1\377#)1\377#(2\377#'1\377%)1\377$)0\377$)1\377%+1\377" + "#)2\377\"'1\377#*1\377#*1\377\")1\377$)4\377$*1\377\40+9\377GKP\377NMC\377" + "KLB\377KLB\377KLB\377KLB\377KLB\377JKC\377HID\377OQQ\377#-:\377\"'0\377\"" + "&0\377$(0\377!&1\377\"'1\377!&.\377\37&-\377!&.\377\"&/\377\"&0\377\"&.\377" + "\"(0\377\"(0\377#(0\377!&.\377\"'1\377\"'1\377\"'1\377\40(0\377\"'0\377\"" + "'/\377\"'0\377!&/\377#(0\377\")1\377\"&0\377\40(0\377\"&.\377\"&/\377\"&" + "0\377\"&.\377!&0\377\"&/\377$)0\377#'/\377\"&/\377\"&0\377\"(0\377\40'.\377" + "#)0\377\"'/\377#)1\377\"'0\377\"&/\377\"&.\377!&0\377\"(/\377\"&/\377\40" + "&/\377!&.\377!'/\377\40&.\377\40&.\377\40'.\377!%-\377\40#+\377\36#+\377" + "\"&.\377Ydi\377\34\40&\377%*1\377%*1\377%*2\377%,2\377&+5\377%+3\377%*3\377" + "&-4\377&+2\377'+4\377&,5\377%+2\377%)1\377$)1\377#*2\377%*1\377$*1\377%*" + "1\377$*1\377$*1\377%+2\377$*1\377#)0\377%*1\377%*1\377$)1\377%*1\377$*1\377" + "%*1\377#)2\377#)2\377#(2\377$*3\377\")2\377$*1\377%)2\377#(0\377%*1\377%" + "*1\377\"(0\377\"(1\377$)0\377#)1\377$'0\377#'0\377#'0\377\"&.\377\"&.\377" + "#'/\377#(1\377#(1\377!(0\377$(0\377!)0\377\"*2\377\")1\377#'/\377-7C\377" + "[aa\377SQD\377JJ@\377KLB\377KLB\377LKA\377QPC\377ggc\3774?O\377\36$,\377" + "\"'0\377!&.\377!'.\377\40&.\377\40&-\377\40&-\377!&.\377\40&-\377\40'/\377" + "!&.\377#'/\377#(/\377\"&/\377\"&.\377!&/\377\"'1\377\"'/\377!(0\377\"(1\377" + "!'0\377!(0\377#'0\377#(1\377\"'/\377!(1\377!'.\377!'/\377#'0\377#'/\377\"" + "&/\377!&.\377!&.\377!&.\377\"&.\377\"&1\377\"&.\377\"&.\377\"&.\377\"&.\377" + "!'0\377!&.\377\")0\377\"&.\377#'/\377!'.\377\40&-\377\"%-\377\"&.\377!&." + "\377!&.\377\"'/\377\"&.\377\"&.\377\37%-\377\40$,\377\37#*\377\36\")\377" + "\"&.\377Ydi\377\32\36$\377%*1\377%*1\377%+1\377%+1\377%*2\377%+2\377%+2\377" + "$*2\377%*1\377%,2\377#*2\377%*1\377#)1\377#(1\377#)1\377\"'/\377%*1\377$" + ")1\377#(1\377$)1\377$*1\377$(0\377#(0\377$)1\377$)1\377#*1\377!'.\377#(/" + "\377$(0\377\"(0\377\"(0\377\")1\377\"&.\377#(0\377#(0\377$)0\377\"'/\377" + "\"&.\377#(/\377!&.\377!&0\377!&.\377\"&0\377\"&/\377\"(/\377!&.\377!(0\377" + "!&.\377\40&.\377!&.\377#'/\377\"&.\377#(/\377!'.\377!'.\377!(0\377\"&.\377" + "\34!(\377%0=\377Qan\377jkk\377fbV\377db\\\377hf^\377UZ_\377.5?\377\32\36" + "(\377\40'/\377\40&.\377\37&-\377!&.\377!&/\377!%.\377\40&-\377\36$,\377\36" + "%-\377\36&-\377!'.\377\"'.\377\"'.\377\40&/\377\37&.\377\40&-\377\37%-\377" + "\40%-\377!&.\377!&.\377\"(/\377\"&.\377\")0\377!'.\377\37&.\377\40%.\377" + "!&.\377\"&0\377\"&.\377\"&.\377!&.\377\37&-\377\37&-\377\36&-\377\"&/\377" + "!&.\377\40&.\377!&.\377!&.\377\"'/\377#)0\377\"'.\377\40&.\377\40&.\377\"" + "&.\377!'.\377!$-\377\"%-\377\40&.\377\40&-\377!&-\377\37&-\377!$,\377\40" + "$,\377\40'.\377\"&0\377\40$-\377!%-\377\"&.\377Ydi\377\32\35&\377$*1\377" + "%-2\377%+2\377%+1\377$+1\377%+1\377%+1\377$)0\377$(0\377\"(0\377!(/\377#" + "(/\377\"'/\377\40&-\377!&.\377!&.\377!(/\377\"&.\377\"&-\377!&.\377!'.\377" + "\"&/\377!&.\377\"&.\377!&/\377!&.\377!&,\377\40&.\377\40&-\377\"'/\377\"" + "'/\377!'/\377\40&-\377\37'/\377!&0\377\"&.\377\"&.\377\40%-\377\37%-\377" + "\36&-\377\37%-\377\37&,\377\40%,\377\37%,\377!&+\377\40&.\377\37&-\377\36" + "$,\377\35#+\377\34$,\377!(/\377\40&.\377\40(-\377\40&.\377!&.\377\37%,\377" + "\40%-\377\36%,\377\35$+\377\26\33#\377\35&5\377*08\377',5\377\36%/\377\21" + "\32&\377\31\40(\377\35$+\377\36$,\377\37%,\377\40$,\377\40&-\377\37$,\377" + "\36$-\377\37#*\377\34#+\377\22\33#\377\33\",\377!&.\377\36$+\377\37%-\377" + "\37%,\377\36#+\377\36#+\377\37$,\377\37$,\377\37&-\377\37&-\377\37&-\377" + "!&.\377\37&-\377\37&-\377!%.\377!$-\377\40%-\377!%-\377!%-\377!&.\377\37" + "&-\377!&.\377\37&-\377\37&-\377!&/\377\40&.\377\40&-\377\40&.\377\40&-\377" + "\40&.\377\"&.\377\"'/\377!&.\377!&.\377\"&.\377#'-\377\37&-\377\37$,\377" + "\36&-\377\36&-\377!%,\377\36&-\377\40$+\377\36#+\377%,1\377!'.\377\37#,\377" + "\40$.\377\"&.\377NW[\317\21\27\37\377#)1\377&+3\377%+3\377%*2\377%+2\377" + "#(0\377\"'/\377\"'/\377!&.\377!&.\377!%-\377!%-\377\36&-\377\40%.\377\40" + "&-\377\36%,\377\37%-\377\37%,\377\37%,\377\40%-\377!%-\377\40%+\377\40%-" + "\377\37%,\377\37%-\377!%.\377\40$*\377\35#+\377\36$,\377\36\"*\377\35#*\377" + "\36#+\377\37\"+\377!$-\377\37%-\377\35$+\377\36$+\377\34$,\377\33!)\377\34" + "!)\377\35!)\377\35!(\377\35\")\377\36#*\377\36\")\377\34\40(\377\24\33\"" + "\377\14\23\33\377'()\377\36\37#\377\21\26\37\377\31\36'\377\34\"(\377\32" + "\40)\377\36$,\377\34!)\377\35#*\377\33\40(\377\35\"+\377\35#+\377\31\40)" + "\377\33\"+\377\30\37)\377\32\37'\377\31\37(\377\33\40(\377\30\36'\377\32" + "\37(\377\31\37'\377\33\40)\377\33\"*\377\32\40*\377\30\35&\377\21\27\37\377" + "\23\24\26\377)*-\325\20\21\25\371\23\30\36\377\24\36$\377\30\37&\377\30\37" + "&\377\30\34%\377\27\34\"\377\30\34$\377\30\34#\377\32\35!\377\32\34!\377" + "\27\33\40\377\26\33\40\377\27\35\40\377\30\33!\377\27\33\40\377\30\35#\377" + "\30\35$\377\32\36#\377\30\33\"\377\27\36#\377\30\34#\377\27\33\"\377\30\34" + "\"\377\30\34#\377\27\35#\377\31\34\"\377\30\35#\377\30\35#\377\27\33\"\377" + "\31\34!\377\30\34#\377\30\33!\377\30\33\"\377\30\35\"\377\27\32!\377\30\33" + "\"\377\26\33\40\377\26\33\40\377\26\35!\377\26\32\37\377\26\33\40\377\26" + "\33\40\377\26\33\40\377\27\33\40\377\26\32\40\377\25\32\37\377\15\21\26\377" + "\4\10\15\377\24\27\33\317\1\1\1\40\2\5\7\321\23\26\34\377\"&/\377!&/\377" + "!%-\377\40$-\377\37$,\377\36#+\377\37$,\377\36#+\377\36#+\377\36\"*\377\36" + "#+\377\36#+\377\36#+\377\36#+\377\36\"*\377\36#*\377\36\"*\377\36\"*\377" + "\36\"+\377\36\"*\377\36\"*\377\36\"*\377\35\"*\377\36\"*\377\36\"*\377\36" + "\"*\377\35!)\377\36\"*\377\36\"*\377\35!)\377\36\"*\377\36\"*\377\36\"*\377" + "\35\"*\377\35\"*\377\22\25\31\377\11\14\17\377\12\13\16\377\11\13\16\377" + "\12\14\16\377\12\14\17\377\13\14\16\377\13\14\17\377\13\14\16\377\11\12\15" + "\377\3\7\12\377>>?\362{}{ZPNNu\21\21\26\377\5\7\12\377\10\11\13\377\10\12" + "\15\377\11\14\17\377\11\13\17\377\12\13\16\377\10\12\15\377\10\12\16\377" + "\12\14\17\377\11\14\20\377\11\14\21\377\11\14\20\377\11\13\16\377\10\12\15" + "\377\10\12\15\377\6\11\14\377\7\12\15\377\6\11\14\377\10\12\15\377\10\12" + "\15\377\6\11\14\377\4\6\12\377\1\3\4\377(((u\376\376\372(\27\30\32\201\1" + "\1\1\377\2\5\6\377\4\5\10\377\5\6\10\377\4\3\7\377\3\5\6\377\4\3\6\377\4" + "\2\4\377\3\3\1\377\3\2\1\377\3\1\1\377\2\1\1\377\3\3\1\377\1\1\1\377\1\1" + "\1\377\1\1\1\377\1\2\1\377\1\1\1\377\1\1\1\377\1\1\1\377\1\1\1\377\1\1\1" + "\377\1\1\1\377\1\1\1\377\1\1\1\377\2\2\1\377\1\1\1\377\1\1\1\377\1\1\1\377" + "\2\1\1\377\1\1\1\377\1\1\1\377\1\1\1\377\1\1\1\377\1\1\1\377\1\1\1\377\1" + "\1\1\377\1\1\1\377\1\1\1\377\1\1\1\377\1\1\1\377\1\1\1\377\1\1\1\377\1\1" + "\1\377\1\1\1\377\1\1\1\377\1\1\1\377\2\2\4\321\1\1\1\40" +}; diff --git a/src/firmware.h b/src/firmware.h index db3e196..d27fcc8 100755 --- a/src/firmware.h +++ b/src/firmware.h @@ -1,218 +1,218 @@ -// -// This file was automagically generated by bin2c (by James L. Hammons) -// - -char diskROM[0x100] = { // Loads at $C600 (slot 6) - 0xA2, 0x20, 0xA0, 0x00, 0xA2, 0x03, 0x86, 0x3C, 0x8A, 0x0A, 0x24, 0x3C, 0xF0, 0x10, 0x05, 0x3C, - 0x49, 0xFF, 0x29, 0x7E, 0xB0, 0x08, 0x4A, 0xD0, 0xFB, 0x98, 0x9D, 0x56, 0x03, 0xC8, 0xE8, 0x10, - 0xE5, 0x20, 0x58, 0xFF, 0xBA, 0xBD, 0x00, 0x01, 0x0A, 0x0A, 0x0A, 0x0A, 0x85, 0x2B, 0xAA, 0xBD, - 0x8E, 0xC0, 0xBD, 0x8C, 0xC0, 0xBD, 0x8A, 0xC0, 0xBD, 0x89, 0xC0, 0xA0, 0x50, 0xBD, 0x80, 0xC0, - 0x98, 0x29, 0x03, 0x0A, 0x05, 0x2B, 0xAA, 0xBD, 0x81, 0xC0, 0xA9, 0x56, 0x20, 0xA8, 0xFC, 0x88, - 0x10, 0xEB, 0x85, 0x26, 0x85, 0x3D, 0x85, 0x41, 0xA9, 0x08, 0x85, 0x27, 0x18, 0x08, 0xBD, 0x8C, - 0xC0, 0x10, 0xFB, 0x49, 0xD5, 0xD0, 0xF7, 0xBD, 0x8C, 0xC0, 0x10, 0xFB, 0xC9, 0xAA, 0xD0, 0xF3, - 0xEA, 0xBD, 0x8C, 0xC0, 0x10, 0xFB, 0xC9, 0x96, 0xF0, 0x09, 0x28, 0x90, 0xDF, 0x49, 0xAD, 0xF0, - 0x25, 0xD0, 0xD9, 0xA0, 0x03, 0x85, 0x40, 0xBD, 0x8C, 0xC0, 0x10, 0xFB, 0x2A, 0x85, 0x3C, 0xBD, - 0x8C, 0xC0, 0x10, 0xFB, 0x25, 0x3C, 0x88, 0xD0, 0xEC, 0x28, 0xC5, 0x3D, 0xD0, 0xBE, 0xA5, 0x40, - 0xC5, 0x41, 0xD0, 0xB8, 0xB0, 0xB7, 0xA0, 0x56, 0x84, 0x3C, 0xBC, 0x8C, 0xC0, 0x10, 0xFB, 0x59, - 0xD6, 0x02, 0xA4, 0x3C, 0x88, 0x99, 0x00, 0x03, 0xD0, 0xEE, 0x84, 0x3C, 0xBC, 0x8C, 0xC0, 0x10, - 0xFB, 0x59, 0xD6, 0x02, 0xA4, 0x3C, 0x91, 0x26, 0xC8, 0xD0, 0xEF, 0xBC, 0x8C, 0xC0, 0x10, 0xFB, - 0x59, 0xD6, 0x02, 0xD0, 0x87, 0xA0, 0x00, 0xA2, 0x56, 0xCA, 0x30, 0xFB, 0xB1, 0x26, 0x5E, 0x00, - 0x03, 0x2A, 0x5E, 0x00, 0x03, 0x2A, 0x91, 0x26, 0xC8, 0xD0, 0xEE, 0xE6, 0x27, 0xE6, 0x3D, 0xA5, - 0x3D, 0xCD, 0x00, 0x08, 0xA6, 0x2B, 0x90, 0xDB, 0x4C, 0x01, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00 -}; - -char hdROM[0x100] = { // Loads at $C700 (slot 7) - 0xA9, 0x20, 0xA9, 0x00, 0xA9, 0x03, 0xA9, 0x3C, 0xA9, 0x00, 0x8D, 0xF2, 0xC0, 0xA9, 0x70, 0x8D, - 0xF3, 0xC0, 0xAD, 0xF0, 0xC0, 0x48, 0xAD, 0xF1, 0xC0, 0x18, 0xC9, 0x01, 0xD0, 0x01, 0x38, 0x68, - 0x90, 0x03, 0x4C, 0x00, 0xC6, 0xA9, 0x70, 0x85, 0x43, 0xA9, 0x00, 0x85, 0x44, 0x85, 0x46, 0x85, - 0x47, 0xA9, 0x08, 0x85, 0x45, 0xA9, 0x01, 0x85, 0x42, 0x20, 0x46, 0xC7, 0x90, 0x03, 0x4C, 0x00, - 0xC6, 0xA2, 0x70, 0x4C, 0x01, 0x08, 0x18, 0xA5, 0x42, 0x8D, 0xF2, 0xC0, 0xA5, 0x43, 0x8D, 0xF3, - 0xC0, 0xA5, 0x44, 0x8D, 0xF4, 0xC0, 0xA5, 0x45, 0x8D, 0xF5, 0xC0, 0xA5, 0x46, 0x8D, 0xF6, 0xC0, - 0xA5, 0x47, 0x8D, 0xF7, 0xC0, 0xAd, 0xF0, 0xC0, 0x48, 0xA5, 0x42, 0xC9, 0x01, 0xD0, 0x03, 0x20, - 0x7D, 0xC7, 0xAD, 0xF1, 0xC0, 0x18, 0xC9, 0x01, 0xD0, 0x01, 0x38, 0x68, 0x60, 0x98, 0x48, 0xA0, - 0x00, 0xAD, 0xF8, 0xC0, 0x91, 0x44, 0xC8, 0xD0, 0xF8, 0xE6, 0x45, 0xA0, 0x00, 0xAD, 0xF8, 0xC0, - 0x91, 0x44, 0xC8, 0xD0, 0xF8, 0x68, 0xA8, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x7F, 0xD7, 0x46 -}; - -// Various firmware from the IIe ROM file... - -//Not sure what the heck this is... -char slot2e[0x100] = { - 0x2C, 0x58, 0xFF, 0x70, 0x0C, 0x38, 0x90, 0x18, 0xB8, 0x50, 0x06, 0x01, 0x31, 0x8E, 0x94, 0x97, - 0x9A, 0x85, 0x27, 0x86, 0x35, 0x8A, 0x48, 0x98, 0x48, 0x08, 0x78, 0x8D, 0xFF, 0xCF, 0x20, 0x58, - 0xFF, 0xBA, 0xBD, 0x00, 0x01, 0x8D, 0xF8, 0x07, 0xAA, 0x0A, 0x0A, 0x0A, 0x0A, 0x85, 0x26, 0xA8, - 0x28, 0x50, 0x29, 0x1E, 0x38, 0x05, 0x5E, 0x38, 0x05, 0xB9, 0x8A, 0xC0, 0x29, 0x1F, 0xD0, 0x05, - 0xA9, 0xEF, 0x20, 0x05, 0xC8, 0xE4, 0x37, 0xD0, 0x0B, 0xA9, 0x07, 0xC5, 0x36, 0xF0, 0x05, 0x85, - 0x36, 0x18, 0x90, 0x08, 0xE4, 0x39, 0xD0, 0xF9, 0xA9, 0x05, 0x85, 0x38, 0xBD, 0x38, 0x07, 0x29, - 0x02, 0x08, 0x90, 0x03, 0x4C, 0xBF, 0xC8, 0xBD, 0xB8, 0x04, 0x48, 0x0A, 0x10, 0x0E, 0xA6, 0x35, - 0xA5, 0x27, 0x09, 0x20, 0x9D, 0x00, 0x02, 0x85, 0x27, 0xAE, 0xF8, 0x07, 0x68, 0x29, 0xBF, 0x9D, - 0xB8, 0x04, 0x28, 0xF0, 0x06, 0x20, 0x63, 0xCB, 0x4C, 0xB5, 0xC8, 0x4C, 0xFC, 0xC8, 0x20, 0x00, - 0xC8, 0xA2, 0x00, 0x60, 0x4C, 0x9B, 0xC8, 0x4C, 0xAA, 0xC9, 0x4A, 0x20, 0x9B, 0xC9, 0xB0, 0x08, - 0x20, 0xF5, 0xCA, 0xF0, 0x06, 0x18, 0x90, 0x03, 0x20, 0xD2, 0xCA, 0xBD, 0xB8, 0x05, 0xAA, 0x60, - 0xA2, 0x03, 0xB5, 0x36, 0x48, 0xCA, 0x10, 0xFA, 0xAE, 0xF8, 0x07, 0xBD, 0x38, 0x06, 0x85, 0x36, - 0xBD, 0xB8, 0x04, 0x29, 0x38, 0x4A, 0x4A, 0x4A, 0x09, 0xC0, 0x85, 0x37, 0x8A, 0x48, 0xA5, 0x27, - 0x48, 0x09, 0x80, 0x20, 0xED, 0xFD, 0x68, 0x85, 0x27, 0x68, 0x8D, 0xF8, 0x07, 0xAA, 0x0A, 0x0A, - 0x0A, 0x0A, 0x85, 0x26, 0x8D, 0xFF, 0xCF, 0xA5, 0x36, 0x9D, 0x38, 0x06, 0xA2, 0x00, 0x68, 0x95, - 0x36, 0xE8, 0xE0, 0x04, 0x90, 0xF8, 0xAE, 0xF8, 0x07, 0x60, 0xC1, 0xD0, 0xD0, 0xCC, 0xC5, 0x08 -}; - -//This looks identical to diskROM -char slot6e[0x100] = { - 0xA2, 0x20, 0xA0, 0x00, 0xA2, 0x03, 0x86, 0x3C, 0x8A, 0x0A, 0x24, 0x3C, 0xF0, 0x10, 0x05, 0x3C, - 0x49, 0xFF, 0x29, 0x7E, 0xB0, 0x08, 0x4A, 0xD0, 0xFB, 0x98, 0x9D, 0x56, 0x03, 0xC8, 0xE8, 0x10, - 0xE5, 0x20, 0x58, 0xFF, 0xBA, 0xBD, 0x00, 0x01, 0x0A, 0x0A, 0x0A, 0x0A, 0x85, 0x2B, 0xAA, 0xBD, - 0x8E, 0xC0, 0xBD, 0x8C, 0xC0, 0xBD, 0x8A, 0xC0, 0xBD, 0x89, 0xC0, 0xA0, 0x50, 0xBD, 0x80, 0xC0, - 0x98, 0x29, 0x03, 0x0A, 0x05, 0x2B, 0xAA, 0xBD, 0x81, 0xC0, 0xA9, 0x56, 0x20, 0xA8, 0xFC, 0x88, - 0x10, 0xEB, 0x85, 0x26, 0x85, 0x3D, 0x85, 0x41, 0xA9, 0x08, 0x85, 0x27, 0x18, 0x08, 0xBD, 0x8C, - 0xC0, 0x10, 0xFB, 0x49, 0xD5, 0xD0, 0xF7, 0xBD, 0x8C, 0xC0, 0x10, 0xFB, 0xC9, 0xAA, 0xD0, 0xF3, - 0xEA, 0xBD, 0x8C, 0xC0, 0x10, 0xFB, 0xC9, 0x96, 0xF0, 0x09, 0x28, 0x90, 0xDF, 0x49, 0xAD, 0xF0, - 0x25, 0xD0, 0xD9, 0xA0, 0x03, 0x85, 0x40, 0xBD, 0x8C, 0xC0, 0x10, 0xFB, 0x2A, 0x85, 0x3C, 0xBD, - 0x8C, 0xC0, 0x10, 0xFB, 0x25, 0x3C, 0x88, 0xD0, 0xEC, 0x28, 0xC5, 0x3D, 0xD0, 0xBE, 0xA5, 0x40, - 0xC5, 0x41, 0xD0, 0xB8, 0xB0, 0xB7, 0xA0, 0x56, 0x84, 0x3C, 0xBC, 0x8C, 0xC0, 0x10, 0xFB, 0x59, - 0xD6, 0x02, 0xA4, 0x3C, 0x88, 0x99, 0x00, 0x03, 0xD0, 0xEE, 0x84, 0x3C, 0xBC, 0x8C, 0xC0, 0x10, - 0xFB, 0x59, 0xD6, 0x02, 0xA4, 0x3C, 0x91, 0x26, 0xC8, 0xD0, 0xEF, 0xBC, 0x8C, 0xC0, 0x10, 0xFB, - 0x59, 0xD6, 0x02, 0xD0, 0x87, 0xA0, 0x00, 0xA2, 0x56, 0xCA, 0x30, 0xFB, 0xB1, 0x26, 0x5E, 0x00, - 0x03, 0x2A, 0x5E, 0x00, 0x03, 0x2A, 0x91, 0x26, 0xC8, 0xD0, 0xEE, 0xE6, 0x27, 0xE6, 0x3D, 0xA5, - 0x3D, 0xCD, 0x00, 0x08, 0xA6, 0x2B, 0x90, 0xDB, 0x4C, 0x01, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00 -}; - -// Various firmware from the IIc - -char slot1[0x100] = { - 0x2C, 0x89, 0xC1, 0x70, 0x0C, 0x38, 0x90, 0x18, 0xB8, 0x50, 0x06, 0x01, 0x31, 0x9E, 0xA8, 0xB4, - 0xBB, 0xDA, 0xA2, 0xC1, 0x4C, 0x1C, 0xC2, 0x90, 0x03, 0x4C, 0xE5, 0xC7, 0x0A, 0x7A, 0x5A, 0xBD, - 0xB8, 0x04, 0xF0, 0x42, 0xA5, 0x24, 0xB0, 0x1C, 0xDD, 0xB8, 0x04, 0x90, 0x03, 0xBD, 0x38, 0x07, - 0xDD, 0x38, 0x07, 0xB0, 0x0B, 0xC9, 0x11, 0xB0, 0x11, 0x09, 0xF0, 0x3D, 0x38, 0x07, 0x65, 0x24, - 0x85, 0x24, 0x80, 0x06, 0xC5, 0x21, 0x90, 0x02, 0x64, 0x24, 0x7A, 0x5A, 0xBD, 0x38, 0x07, 0xDD, - 0xB8, 0x04, 0xB0, 0x08, 0xC5, 0x24, 0xB0, 0x0E, 0xA9, 0x40, 0x80, 0x02, 0xA9, 0x1A, 0xC0, 0x80, - 0x6A, 0x20, 0x9B, 0xC1, 0x80, 0xE4, 0x98, 0x20, 0x8A, 0xC1, 0xBD, 0xB8, 0x04, 0xF0, 0x17, 0x3C, - 0xB8, 0x06, 0x30, 0x12, 0xBD, 0x38, 0x07, 0xFD, 0xB8, 0x04, 0xC9, 0xF8, 0x90, 0x04, 0x18, 0x65, - 0x21, 0xAC, 0xA9, 0x00, 0x85, 0x24, 0x68, 0x7A, 0xFA, 0x60, 0x20, 0xA9, 0xC7, 0x90, 0xFA, 0x3C, - 0xB8, 0x06, 0x10, 0x07, 0xC9, 0x91, 0xF0, 0x03, 0x20, 0xF0, 0xFD, 0x4C, 0xCD, 0xC7, 0x5A, 0x48, - 0x20, 0xB6, 0xC2, 0x9E, 0xB8, 0x06, 0x80, 0x07, 0x5A, 0x20, 0xD9, 0xC7, 0x90, 0xFA, 0x90, 0x68, - 0x7A, 0xA2, 0x00, 0x60, 0x5A, 0x48, 0x20, 0x8A, 0xC1, 0x80, 0xF4, 0x5A, 0x48, 0x4A, 0xD0, 0x15, - 0x08, 0x20, 0xD3, 0xC7, 0x28, 0x90, 0x05, 0x29, 0x28, 0x0A, 0x80, 0x02, 0x29, 0x30, 0xC9, 0x10, - 0xF0, 0xDD, 0x18, 0x80, 0xDA, 0xA2, 0x40, 0x68, 0x7A, 0x18, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 -}; - -char slot2[0x100] = { - 0x2C, 0x89, 0xC1, 0x70, 0x14, 0x38, 0x90, 0x18, 0xB8, 0x50, 0x0E, 0x01, 0x31, 0x11, 0x13, 0x15, - 0x17, 0x80, 0x8B, 0x80, 0x93, 0x80, 0x9D, 0x80, 0xA2, 0xDA, 0xA2, 0xC2, 0x5A, 0x48, 0x8E, 0xF8, - 0x07, 0x50, 0x22, 0xA5, 0x36, 0x45, 0x38, 0xF0, 0x06, 0xA5, 0x37, 0xC5, 0x39, 0xF0, 0x03, 0x20, - 0xB6, 0xC2, 0x8A, 0x45, 0x39, 0x05, 0x38, 0xD0, 0x07, 0xA9, 0x05, 0x85, 0x38, 0x38, 0x80, 0x05, - 0xA9, 0x07, 0x85, 0x36, 0x18, 0xBD, 0xB8, 0x06, 0x89, 0x01, 0xD0, 0x03, 0x4C, 0x17, 0xC1, 0x90, - 0xFB, 0x68, 0x80, 0x28, 0x3C, 0xB8, 0x03, 0x50, 0x1C, 0x20, 0x8F, 0xC1, 0x80, 0x1E, 0x68, 0x20, - 0x70, 0xCC, 0x10, 0x1B, 0x20, 0xA9, 0xC7, 0xB0, 0xEB, 0x29, 0x5F, 0xC9, 0x51, 0xF0, 0x04, 0xC9, - 0x52, 0xD0, 0x09, 0xA9, 0x98, 0x7A, 0xFA, 0x60, 0x18, 0x20, 0xA3, 0xC7, 0x20, 0x4C, 0xCC, 0x48, - 0x20, 0xD9, 0xC7, 0xB0, 0x09, 0xBD, 0xB8, 0x06, 0x29, 0x10, 0xF0, 0xD2, 0x80, 0xF2, 0xA8, 0x68, - 0x5A, 0x20, 0xB8, 0xC3, 0x68, 0xBC, 0x38, 0x06, 0xF0, 0x12, 0x09, 0x80, 0xC9, 0x91, 0xF0, 0xDC, - 0xC9, 0xFF, 0xF0, 0xD8, 0xC9, 0x92, 0xF0, 0xD0, 0xC9, 0x94, 0xF0, 0xCD, 0x3C, 0xB8, 0x03, 0x50, - 0xC4, 0x20, 0xED, 0xFD, 0x80, 0xC6, 0x20, 0x9A, 0xCF, 0xBC, 0x29, 0xC2, 0x20, 0x7C, 0xC3, 0x48, - 0x88, 0x30, 0x04, 0xC0, 0x03, 0xD0, 0xF5, 0x20, 0x9A, 0xCF, 0x68, 0xBC, 0x2B, 0xC2, 0x99, 0xFB, - 0xBF, 0x68, 0x99, 0xFA, 0xBF, 0x68, 0x9D, 0xB8, 0x06, 0x29, 0x01, 0xD0, 0x02, 0xA9, 0x09, 0x9D, - 0x38, 0x06, 0x68, 0x9D, 0xB8, 0x04, 0x9E, 0xB8, 0x03, 0x60, 0x03, 0x07, 0xA0, 0xB0, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 -}; - -char slot3[0x100] = { - 0x48, 0xDA, 0x5A, 0x80, 0x12, 0x38, 0x90, 0x18, 0x80, 0x1A, 0xEA, 0x01, 0x88, 0x2C, 0x2F, 0x32, - 0x35, 0x4C, 0xAF, 0xC7, 0x4C, 0xB5, 0xC7, 0x20, 0x20, 0xCE, 0x20, 0xBE, 0xCD, 0x20, 0x58, 0xFC, - 0x7A, 0xFA, 0x68, 0x18, 0xB0, 0x03, 0x4C, 0xF6, 0xFD, 0x4C, 0x1B, 0xFD, 0x4C, 0x41, 0xCF, 0x4C, - 0x35, 0xCF, 0x4C, 0xC2, 0xCE, 0x4C, 0xB1, 0xCE, 0xA9, 0x06, 0xCD, 0xB3, 0xFB, 0xF0, 0x3C, 0x20, - 0x60, 0xC3, 0xA9, 0xF8, 0x85, 0x37, 0x64, 0x36, 0xB2, 0x36, 0x92, 0x36, 0xE6, 0x36, 0xD0, 0xF8, - 0xE6, 0x37, 0xD0, 0xF4, 0xDA, 0xAE, 0x78, 0x04, 0x3C, 0x81, 0xC0, 0x3C, 0x81, 0xC0, 0xFA, 0x60, - 0xDA, 0xA2, 0x00, 0x2C, 0x11, 0xC0, 0x30, 0x02, 0xA2, 0x08, 0x2C, 0x12, 0xC0, 0x10, 0x02, 0xE8, - 0xE8, 0x2C, 0x81, 0xC0, 0x2C, 0x81, 0xC0, 0x8E, 0x78, 0x04, 0xFA, 0x60, 0xAD, 0x13, 0xC0, 0x0A, - 0xAD, 0x18, 0xC0, 0x08, 0x8D, 0x00, 0xC0, 0x8D, 0x03, 0xC0, 0xB9, 0x78, 0x04, 0x28, 0xB0, 0x03, - 0x8D, 0x02, 0xC0, 0x10, 0x03, 0x8D, 0x01, 0xC0, 0x60, 0x09, 0x80, 0xC9, 0xFB, 0xB0, 0x06, 0xC9, - 0xE1, 0x90, 0x02, 0x29, 0xDF, 0x60, 0x48, 0xA9, 0x08, 0x1C, 0xFB, 0x04, 0x68, 0x20, 0xED, 0xFD, - 0x4C, 0x44, 0xFD, 0x20, 0x9D, 0xCC, 0x80, 0x09, 0x20, 0x9D, 0xCC, 0x24, 0x32, 0x30, 0x02, 0x29, - 0x7F, 0x5A, 0x09, 0x00, 0x30, 0x15, 0x48, 0xAD, 0xFB, 0x04, 0x6A, 0x68, 0x90, 0x0D, 0x2C, 0x1E, - 0xC0, 0x10, 0x08, 0x49, 0x40, 0x89, 0x60, 0xF0, 0x02, 0x49, 0x40, 0x2C, 0x1F, 0xC0, 0x10, 0x19, - 0x48, 0x8D, 0x01, 0xC0, 0x98, 0x45, 0x20, 0x4A, 0xB0, 0x04, 0xAD, 0x55, 0xC0, 0xC8, 0x98, 0x4A, - 0xA8, 0x68, 0x91, 0x28, 0x2C, 0x54, 0xC0, 0x7A, 0x60, 0x91, 0x28, 0x7A, 0x60, 0x00, 0x00, 0x00 -}; - -char slot4[0x100] = { - 0x80, 0x05, 0xA2, 0x03, 0x60, 0x38, 0x90, 0x18, 0x4C, 0xCF, 0xC5, 0x01, 0x20, 0x02, 0x02, 0x02, - 0x02, 0x00, 0x3B, 0xDC, 0x93, 0x82, 0x69, 0xBD, 0x6B, 0x1A, 0x9C, 0x7C, 0x07, 0xA2, 0x80, 0xA0, - 0x01, 0x9E, 0x7D, 0x04, 0x9E, 0x7D, 0x05, 0xA9, 0xFF, 0x9D, 0x7D, 0x06, 0xA9, 0x03, 0x9D, 0x7D, - 0x07, 0xA2, 0x00, 0x88, 0x10, 0xEB, 0x20, 0x6B, 0xC4, 0xA9, 0x00, 0xAA, 0x20, 0x9A, 0xCF, 0x8A, - 0x8D, 0x78, 0x04, 0x4A, 0x0D, 0x78, 0x04, 0xC9, 0x10, 0xB0, 0x1F, 0x29, 0x05, 0xF0, 0x01, 0x58, - 0x69, 0x55, 0x08, 0x78, 0x8E, 0xFC, 0x07, 0x8D, 0x79, 0xC0, 0xA2, 0x08, 0xCA, 0x0A, 0x90, 0x03, - 0x9D, 0x58, 0xC0, 0xD0, 0xF7, 0x8D, 0x78, 0xC0, 0x28, 0x18, 0x60, 0xA2, 0x80, 0x80, 0x02, 0xA2, - 0x00, 0xBD, 0x7D, 0x04, 0x9D, 0x7C, 0x04, 0xBD, 0x7D, 0x05, 0x9D, 0x7C, 0x05, 0xCA, 0x10, 0xEF, - 0x80, 0x0C, 0x9C, 0x7C, 0x04, 0x9C, 0x7C, 0x05, 0x9C, 0xFC, 0x04, 0x9C, 0xFC, 0x05, 0x9C, 0x7C, - 0x06, 0x18, 0x60, 0xA9, 0x20, 0x1C, 0x7C, 0x07, 0x2D, 0x7C, 0x06, 0x1C, 0x7C, 0x06, 0x2C, 0xFC, - 0x07, 0x30, 0x13, 0x2C, 0x63, 0xC0, 0x30, 0x02, 0x09, 0x80, 0x2C, 0x7C, 0x07, 0x10, 0x02, 0x09, - 0x40, 0x8D, 0x7C, 0x07, 0x18, 0x60, 0x0D, 0x7C, 0x07, 0x29, 0xE0, 0x80, 0xF4, 0x6A, 0x6A, 0x29, - 0x80, 0xAA, 0xAD, 0x78, 0x04, 0x9D, 0x7D, 0x04, 0xAD, 0x78, 0x05, 0x9D, 0x7D, 0x05, 0xAD, 0xF8, - 0x04, 0x9D, 0x7D, 0x06, 0xAD, 0xF8, 0x05, 0x9D, 0x7D, 0x07, 0x18, 0x60, 0x48, 0x18, 0xA9, 0x0E, - 0x2D, 0x7C, 0x07, 0xD0, 0x01, 0x38, 0x68, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD6, 0x00, 0x00, 0x00, 0x00 -}; - -char slot5[0x100] = { - 0xA2, 0x20, 0xA2, 0x00, 0xA2, 0x03, 0xC9, 0x00, 0xB0, 0x17, 0x38, 0xB0, 0x01, 0x18, 0xA2, 0x05, - 0x7E, 0x73, 0x04, 0x18, 0xA2, 0xC5, 0x8E, 0xF8, 0x07, 0xA2, 0x05, 0xAD, 0xFF, 0xCF, 0x4C, 0x97, - 0xC7, 0xA2, 0x05, 0x86, 0x58, 0xA9, 0xC5, 0x8D, 0xF8, 0x07, 0x20, 0x76, 0xC5, 0xA0, 0x05, 0xB9, - 0x70, 0xC5, 0x99, 0x42, 0x00, 0x88, 0x10, 0xF7, 0x20, 0x0A, 0xC5, 0xB0, 0x15, 0xAE, 0x00, 0x08, - 0xCA, 0xD0, 0x0F, 0xAE, 0x01, 0x08, 0xF0, 0x0A, 0xA5, 0x58, 0x0A, 0x0A, 0x0A, 0x0A, 0xAA, 0x4C, - 0x01, 0x08, 0xA2, 0x10, 0xBD, 0x5F, 0xC5, 0x9D, 0xDB, 0x07, 0xCA, 0x10, 0xF7, 0x80, 0xFE, 0xC3, - 0xE8, 0xE5, 0xE3, 0xEB, 0xA0, 0xC4, 0xE9, 0xF3, 0xEB, 0xA0, 0xC4, 0xF2, 0xE9, 0xF6, 0xE5, 0xAE, - 0x01, 0x50, 0x00, 0x08, 0x00, 0x00, 0xA2, 0x08, 0xBD, 0x83, 0xC5, 0x95, 0x00, 0xCA, 0x10, 0xF8, - 0x4C, 0x00, 0x00, 0x20, 0x0D, 0xC5, 0x05, 0x07, 0x00, 0x60, 0x01, 0x00, 0x00, 0x00, 0xA2, 0x03, - 0xA0, 0x00, 0x86, 0x3C, 0x8A, 0x0A, 0x24, 0x3C, 0xF0, 0x10, 0x05, 0x3C, 0x49, 0xFF, 0x29, 0x7E, - 0xB0, 0x08, 0x4A, 0xD0, 0xFB, 0x98, 0x9D, 0x56, 0x03, 0xC8, 0xE8, 0x10, 0xE5, 0xA9, 0x08, 0x85, - 0x27, 0xA0, 0x7F, 0x60, 0xB9, 0x00, 0x02, 0xC8, 0x4C, 0x99, 0xC3, 0xC1, 0xF0, 0xF0, 0xEC, 0xE5, - 0xA0, 0xAF, 0xAF, 0xE3, 0x20, 0xD0, 0xF8, 0x20, 0x53, 0xF9, 0x85, 0x3A, 0x84, 0x3B, 0x60, 0x5A, - 0xB0, 0x1C, 0xA0, 0xC4, 0xC4, 0x39, 0xD0, 0x04, 0xA4, 0x38, 0xF0, 0x12, 0xDA, 0x48, 0x29, 0x7F, - 0xC9, 0x02, 0xB0, 0x06, 0x20, 0x3B, 0xC4, 0x20, 0x6B, 0xC4, 0x68, 0xFA, 0x7A, 0x60, 0x4C, 0x9D, - 0xC7, 0x00, 0x00, 0x00, 0x00, 0x4C, 0x52, 0xC5, 0x4C, 0x76, 0xC5, 0x00, 0x00, 0x00, 0xBF, 0x0A -}; - -char slot6[0x100] = { - 0xA2, 0x20, 0xA0, 0x00, 0x64, 0x03, 0x64, 0x3C, 0xA9, 0x60, 0xAA, 0x86, 0x2B, 0x85, 0x4F, 0x5A, - 0xBD, 0x8E, 0xC0, 0xBD, 0x8C, 0xC0, 0x7A, 0xB9, 0xEA, 0xC0, 0xBD, 0x89, 0xC0, 0xA0, 0x50, 0xBD, - 0x80, 0xC0, 0x98, 0x29, 0x03, 0x0A, 0x05, 0x2B, 0xAA, 0xBD, 0x81, 0xC0, 0xA9, 0x56, 0x20, 0xA8, - 0xFC, 0x88, 0x10, 0xEB, 0x85, 0x26, 0x85, 0x3D, 0x85, 0x41, 0x20, 0x8E, 0xC5, 0x64, 0x03, 0x18, - 0x08, 0x28, 0xA6, 0x2B, 0xC6, 0x03, 0xD0, 0x0E, 0xBD, 0x88, 0xC0, 0xA5, 0x01, 0xC9, 0xC6, 0xD0, - 0xA4, 0x4C, 0x00, 0xC5, 0x00, 0x00, 0x08, 0x88, 0xD0, 0x04, 0xF0, 0xE5, 0x80, 0xDF, 0xBD, 0x8C, - 0xC0, 0x10, 0xFB, 0x49, 0xD5, 0xD0, 0xF0, 0xBD, 0x8C, 0xC0, 0x10, 0xFB, 0xC9, 0xAA, 0xD0, 0xF3, - 0xEA, 0xBD, 0x8C, 0xC0, 0x10, 0xFB, 0xC9, 0x96, 0xF0, 0x09, 0x28, 0x90, 0xC2, 0x49, 0xAD, 0xF0, - 0x25, 0xD0, 0xBC, 0xA0, 0x03, 0x85, 0x40, 0xBD, 0x8C, 0xC0, 0x10, 0xFB, 0x2A, 0x85, 0x3C, 0xBD, - 0x8C, 0xC0, 0x10, 0xFB, 0x25, 0x3C, 0x88, 0xD0, 0xEC, 0x28, 0xC5, 0x3D, 0xD0, 0xA1, 0xA5, 0x40, - 0xC5, 0x41, 0xD0, 0x9B, 0xB0, 0x9C, 0xA0, 0x56, 0x84, 0x3C, 0xBC, 0x8C, 0xC0, 0x10, 0xFB, 0x59, - 0xD6, 0x02, 0xA4, 0x3C, 0x88, 0x99, 0x00, 0x03, 0xD0, 0xEE, 0x84, 0x3C, 0xBC, 0x8C, 0xC0, 0x10, - 0xFB, 0x59, 0xD6, 0x02, 0xA4, 0x3C, 0x91, 0x26, 0xC8, 0xD0, 0xEF, 0xBC, 0x8C, 0xC0, 0x10, 0xFB, - 0x59, 0xD6, 0x02, 0xD0, 0xCD, 0xA0, 0x00, 0xA2, 0x56, 0xCA, 0x30, 0xFB, 0xB1, 0x26, 0x5E, 0x00, - 0x03, 0x2A, 0x5E, 0x00, 0x03, 0x2A, 0x91, 0x26, 0xC8, 0xD0, 0xEE, 0xE6, 0x27, 0xE6, 0x3D, 0xA5, - 0x3D, 0xCD, 0x00, 0x08, 0xA6, 0x4F, 0x90, 0xDB, 0x4C, 0x01, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00 -}; - -char slot7[0x100] = { - 0x2C, 0x03, 0xC7, 0x70, 0x1B, 0x38, 0x90, 0x18, 0xB8, 0x50, 0x15, 0x01, 0x9B, 0x1C, 0x1C, 0x1C, - 0x1C, 0x88, 0x18, 0x80, 0x2A, 0x38, 0x78, 0xA2, 0xFF, 0x9A, 0x80, 0x26, 0x38, 0xA2, 0x03, 0x60, - 0x8D, 0x78, 0x04, 0xA9, 0xC7, 0x8D, 0xF8, 0x07, 0x08, 0xC5, 0x39, 0xF0, 0xE8, 0x28, 0x4D, 0x7F, - 0x04, 0xD0, 0x1A, 0xAD, 0xFF, 0x07, 0x48, 0xAD, 0x7F, 0x07, 0x48, 0xAD, 0x78, 0x04, 0x60, 0x8D, - 0xF8, 0x07, 0x20, 0xD3, 0xC7, 0x70, 0x01, 0x60, 0xB0, 0x03, 0x6C, 0xCB, 0x00, 0xAD, 0x81, 0xC0, - 0xAD, 0x81, 0xC0, 0x20, 0x84, 0xFE, 0x20, 0x2F, 0xFB, 0x20, 0x58, 0xFC, 0x20, 0x93, 0xFE, 0x20, - 0x89, 0xFE, 0xA0, 0x10, 0xB9, 0x6F, 0xC7, 0x99, 0xDB, 0x07, 0x88, 0x10, 0xF7, 0x80, 0xFE, 0xC1, - 0xF0, 0xF0, 0xEC, 0xE5, 0xD4, 0xE1, 0xEC, 0xEB, 0xA0, 0xCF, 0xE6, 0xE6, 0xEC, 0xE9, 0xEE, 0xE5, - 0x8D, 0x28, 0xC0, 0x40, 0x8D, 0x28, 0xC0, 0x60, 0x8D, 0x28, 0xC0, 0x4C, 0x62, 0xFA, 0x8D, 0x28, - 0xC0, 0x2C, 0x87, 0xC7, 0x4C, 0x04, 0xC8, 0x8D, 0x28, 0xC0, 0x4C, 0xF1, 0xC7, 0x8D, 0x28, 0xC0, - 0x4C, 0xF6, 0xC7, 0x8D, 0x28, 0xC0, 0x4C, 0xF1, 0xC7, 0x8D, 0x28, 0xC0, 0x4C, 0x06, 0xC8, 0x8D, - 0x28, 0xC0, 0x4C, 0x4E, 0xC3, 0x8D, 0x28, 0xC0, 0x4C, 0x97, 0xC3, 0x8D, 0x28, 0xC0, 0x4C, 0x00, - 0xC1, 0x8D, 0x28, 0xC0, 0x4C, 0xA9, 0xD4, 0x8D, 0x28, 0xC0, 0x4C, 0x80, 0xC5, 0x8D, 0x28, 0xC0, - 0x4C, 0x4F, 0xC2, 0x8D, 0x28, 0xC0, 0x4C, 0xAC, 0xC2, 0x8D, 0x28, 0xC0, 0x4C, 0xC3, 0xC2, 0x8D, - 0x28, 0xC0, 0x4C, 0xF7, 0xC2, 0x8D, 0x28, 0xC0, 0x4C, 0xE0, 0xD4, 0x8D, 0x28, 0xC0, 0x6C, 0xED, - 0x03, 0x20, 0x23, 0xCE, 0x80, 0x8E, 0x20, 0x4D, 0xCE, 0x80, 0x89, 0x00, 0x00, 0x00, 0x00, 0x00 -}; +// +// This file was automagically generated by bin2c (by James L. Hammons) +// + +char diskROM[0x100] = { // Loads at $C600 (slot 6) + 0xA2, 0x20, 0xA0, 0x00, 0xA2, 0x03, 0x86, 0x3C, 0x8A, 0x0A, 0x24, 0x3C, 0xF0, 0x10, 0x05, 0x3C, + 0x49, 0xFF, 0x29, 0x7E, 0xB0, 0x08, 0x4A, 0xD0, 0xFB, 0x98, 0x9D, 0x56, 0x03, 0xC8, 0xE8, 0x10, + 0xE5, 0x20, 0x58, 0xFF, 0xBA, 0xBD, 0x00, 0x01, 0x0A, 0x0A, 0x0A, 0x0A, 0x85, 0x2B, 0xAA, 0xBD, + 0x8E, 0xC0, 0xBD, 0x8C, 0xC0, 0xBD, 0x8A, 0xC0, 0xBD, 0x89, 0xC0, 0xA0, 0x50, 0xBD, 0x80, 0xC0, + 0x98, 0x29, 0x03, 0x0A, 0x05, 0x2B, 0xAA, 0xBD, 0x81, 0xC0, 0xA9, 0x56, 0x20, 0xA8, 0xFC, 0x88, + 0x10, 0xEB, 0x85, 0x26, 0x85, 0x3D, 0x85, 0x41, 0xA9, 0x08, 0x85, 0x27, 0x18, 0x08, 0xBD, 0x8C, + 0xC0, 0x10, 0xFB, 0x49, 0xD5, 0xD0, 0xF7, 0xBD, 0x8C, 0xC0, 0x10, 0xFB, 0xC9, 0xAA, 0xD0, 0xF3, + 0xEA, 0xBD, 0x8C, 0xC0, 0x10, 0xFB, 0xC9, 0x96, 0xF0, 0x09, 0x28, 0x90, 0xDF, 0x49, 0xAD, 0xF0, + 0x25, 0xD0, 0xD9, 0xA0, 0x03, 0x85, 0x40, 0xBD, 0x8C, 0xC0, 0x10, 0xFB, 0x2A, 0x85, 0x3C, 0xBD, + 0x8C, 0xC0, 0x10, 0xFB, 0x25, 0x3C, 0x88, 0xD0, 0xEC, 0x28, 0xC5, 0x3D, 0xD0, 0xBE, 0xA5, 0x40, + 0xC5, 0x41, 0xD0, 0xB8, 0xB0, 0xB7, 0xA0, 0x56, 0x84, 0x3C, 0xBC, 0x8C, 0xC0, 0x10, 0xFB, 0x59, + 0xD6, 0x02, 0xA4, 0x3C, 0x88, 0x99, 0x00, 0x03, 0xD0, 0xEE, 0x84, 0x3C, 0xBC, 0x8C, 0xC0, 0x10, + 0xFB, 0x59, 0xD6, 0x02, 0xA4, 0x3C, 0x91, 0x26, 0xC8, 0xD0, 0xEF, 0xBC, 0x8C, 0xC0, 0x10, 0xFB, + 0x59, 0xD6, 0x02, 0xD0, 0x87, 0xA0, 0x00, 0xA2, 0x56, 0xCA, 0x30, 0xFB, 0xB1, 0x26, 0x5E, 0x00, + 0x03, 0x2A, 0x5E, 0x00, 0x03, 0x2A, 0x91, 0x26, 0xC8, 0xD0, 0xEE, 0xE6, 0x27, 0xE6, 0x3D, 0xA5, + 0x3D, 0xCD, 0x00, 0x08, 0xA6, 0x2B, 0x90, 0xDB, 0x4C, 0x01, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +char hdROM[0x100] = { // Loads at $C700 (slot 7) + 0xA9, 0x20, 0xA9, 0x00, 0xA9, 0x03, 0xA9, 0x3C, 0xA9, 0x00, 0x8D, 0xF2, 0xC0, 0xA9, 0x70, 0x8D, + 0xF3, 0xC0, 0xAD, 0xF0, 0xC0, 0x48, 0xAD, 0xF1, 0xC0, 0x18, 0xC9, 0x01, 0xD0, 0x01, 0x38, 0x68, + 0x90, 0x03, 0x4C, 0x00, 0xC6, 0xA9, 0x70, 0x85, 0x43, 0xA9, 0x00, 0x85, 0x44, 0x85, 0x46, 0x85, + 0x47, 0xA9, 0x08, 0x85, 0x45, 0xA9, 0x01, 0x85, 0x42, 0x20, 0x46, 0xC7, 0x90, 0x03, 0x4C, 0x00, + 0xC6, 0xA2, 0x70, 0x4C, 0x01, 0x08, 0x18, 0xA5, 0x42, 0x8D, 0xF2, 0xC0, 0xA5, 0x43, 0x8D, 0xF3, + 0xC0, 0xA5, 0x44, 0x8D, 0xF4, 0xC0, 0xA5, 0x45, 0x8D, 0xF5, 0xC0, 0xA5, 0x46, 0x8D, 0xF6, 0xC0, + 0xA5, 0x47, 0x8D, 0xF7, 0xC0, 0xAd, 0xF0, 0xC0, 0x48, 0xA5, 0x42, 0xC9, 0x01, 0xD0, 0x03, 0x20, + 0x7D, 0xC7, 0xAD, 0xF1, 0xC0, 0x18, 0xC9, 0x01, 0xD0, 0x01, 0x38, 0x68, 0x60, 0x98, 0x48, 0xA0, + 0x00, 0xAD, 0xF8, 0xC0, 0x91, 0x44, 0xC8, 0xD0, 0xF8, 0xE6, 0x45, 0xA0, 0x00, 0xAD, 0xF8, 0xC0, + 0x91, 0x44, 0xC8, 0xD0, 0xF8, 0x68, 0xA8, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x7F, 0xD7, 0x46 +}; + +// Various firmware from the IIe ROM file... + +//Not sure what the heck this is... +char slot2e[0x100] = { + 0x2C, 0x58, 0xFF, 0x70, 0x0C, 0x38, 0x90, 0x18, 0xB8, 0x50, 0x06, 0x01, 0x31, 0x8E, 0x94, 0x97, + 0x9A, 0x85, 0x27, 0x86, 0x35, 0x8A, 0x48, 0x98, 0x48, 0x08, 0x78, 0x8D, 0xFF, 0xCF, 0x20, 0x58, + 0xFF, 0xBA, 0xBD, 0x00, 0x01, 0x8D, 0xF8, 0x07, 0xAA, 0x0A, 0x0A, 0x0A, 0x0A, 0x85, 0x26, 0xA8, + 0x28, 0x50, 0x29, 0x1E, 0x38, 0x05, 0x5E, 0x38, 0x05, 0xB9, 0x8A, 0xC0, 0x29, 0x1F, 0xD0, 0x05, + 0xA9, 0xEF, 0x20, 0x05, 0xC8, 0xE4, 0x37, 0xD0, 0x0B, 0xA9, 0x07, 0xC5, 0x36, 0xF0, 0x05, 0x85, + 0x36, 0x18, 0x90, 0x08, 0xE4, 0x39, 0xD0, 0xF9, 0xA9, 0x05, 0x85, 0x38, 0xBD, 0x38, 0x07, 0x29, + 0x02, 0x08, 0x90, 0x03, 0x4C, 0xBF, 0xC8, 0xBD, 0xB8, 0x04, 0x48, 0x0A, 0x10, 0x0E, 0xA6, 0x35, + 0xA5, 0x27, 0x09, 0x20, 0x9D, 0x00, 0x02, 0x85, 0x27, 0xAE, 0xF8, 0x07, 0x68, 0x29, 0xBF, 0x9D, + 0xB8, 0x04, 0x28, 0xF0, 0x06, 0x20, 0x63, 0xCB, 0x4C, 0xB5, 0xC8, 0x4C, 0xFC, 0xC8, 0x20, 0x00, + 0xC8, 0xA2, 0x00, 0x60, 0x4C, 0x9B, 0xC8, 0x4C, 0xAA, 0xC9, 0x4A, 0x20, 0x9B, 0xC9, 0xB0, 0x08, + 0x20, 0xF5, 0xCA, 0xF0, 0x06, 0x18, 0x90, 0x03, 0x20, 0xD2, 0xCA, 0xBD, 0xB8, 0x05, 0xAA, 0x60, + 0xA2, 0x03, 0xB5, 0x36, 0x48, 0xCA, 0x10, 0xFA, 0xAE, 0xF8, 0x07, 0xBD, 0x38, 0x06, 0x85, 0x36, + 0xBD, 0xB8, 0x04, 0x29, 0x38, 0x4A, 0x4A, 0x4A, 0x09, 0xC0, 0x85, 0x37, 0x8A, 0x48, 0xA5, 0x27, + 0x48, 0x09, 0x80, 0x20, 0xED, 0xFD, 0x68, 0x85, 0x27, 0x68, 0x8D, 0xF8, 0x07, 0xAA, 0x0A, 0x0A, + 0x0A, 0x0A, 0x85, 0x26, 0x8D, 0xFF, 0xCF, 0xA5, 0x36, 0x9D, 0x38, 0x06, 0xA2, 0x00, 0x68, 0x95, + 0x36, 0xE8, 0xE0, 0x04, 0x90, 0xF8, 0xAE, 0xF8, 0x07, 0x60, 0xC1, 0xD0, 0xD0, 0xCC, 0xC5, 0x08 +}; + +//This looks identical to diskROM +char slot6e[0x100] = { + 0xA2, 0x20, 0xA0, 0x00, 0xA2, 0x03, 0x86, 0x3C, 0x8A, 0x0A, 0x24, 0x3C, 0xF0, 0x10, 0x05, 0x3C, + 0x49, 0xFF, 0x29, 0x7E, 0xB0, 0x08, 0x4A, 0xD0, 0xFB, 0x98, 0x9D, 0x56, 0x03, 0xC8, 0xE8, 0x10, + 0xE5, 0x20, 0x58, 0xFF, 0xBA, 0xBD, 0x00, 0x01, 0x0A, 0x0A, 0x0A, 0x0A, 0x85, 0x2B, 0xAA, 0xBD, + 0x8E, 0xC0, 0xBD, 0x8C, 0xC0, 0xBD, 0x8A, 0xC0, 0xBD, 0x89, 0xC0, 0xA0, 0x50, 0xBD, 0x80, 0xC0, + 0x98, 0x29, 0x03, 0x0A, 0x05, 0x2B, 0xAA, 0xBD, 0x81, 0xC0, 0xA9, 0x56, 0x20, 0xA8, 0xFC, 0x88, + 0x10, 0xEB, 0x85, 0x26, 0x85, 0x3D, 0x85, 0x41, 0xA9, 0x08, 0x85, 0x27, 0x18, 0x08, 0xBD, 0x8C, + 0xC0, 0x10, 0xFB, 0x49, 0xD5, 0xD0, 0xF7, 0xBD, 0x8C, 0xC0, 0x10, 0xFB, 0xC9, 0xAA, 0xD0, 0xF3, + 0xEA, 0xBD, 0x8C, 0xC0, 0x10, 0xFB, 0xC9, 0x96, 0xF0, 0x09, 0x28, 0x90, 0xDF, 0x49, 0xAD, 0xF0, + 0x25, 0xD0, 0xD9, 0xA0, 0x03, 0x85, 0x40, 0xBD, 0x8C, 0xC0, 0x10, 0xFB, 0x2A, 0x85, 0x3C, 0xBD, + 0x8C, 0xC0, 0x10, 0xFB, 0x25, 0x3C, 0x88, 0xD0, 0xEC, 0x28, 0xC5, 0x3D, 0xD0, 0xBE, 0xA5, 0x40, + 0xC5, 0x41, 0xD0, 0xB8, 0xB0, 0xB7, 0xA0, 0x56, 0x84, 0x3C, 0xBC, 0x8C, 0xC0, 0x10, 0xFB, 0x59, + 0xD6, 0x02, 0xA4, 0x3C, 0x88, 0x99, 0x00, 0x03, 0xD0, 0xEE, 0x84, 0x3C, 0xBC, 0x8C, 0xC0, 0x10, + 0xFB, 0x59, 0xD6, 0x02, 0xA4, 0x3C, 0x91, 0x26, 0xC8, 0xD0, 0xEF, 0xBC, 0x8C, 0xC0, 0x10, 0xFB, + 0x59, 0xD6, 0x02, 0xD0, 0x87, 0xA0, 0x00, 0xA2, 0x56, 0xCA, 0x30, 0xFB, 0xB1, 0x26, 0x5E, 0x00, + 0x03, 0x2A, 0x5E, 0x00, 0x03, 0x2A, 0x91, 0x26, 0xC8, 0xD0, 0xEE, 0xE6, 0x27, 0xE6, 0x3D, 0xA5, + 0x3D, 0xCD, 0x00, 0x08, 0xA6, 0x2B, 0x90, 0xDB, 0x4C, 0x01, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +// Various firmware from the IIc + +char slot1[0x100] = { + 0x2C, 0x89, 0xC1, 0x70, 0x0C, 0x38, 0x90, 0x18, 0xB8, 0x50, 0x06, 0x01, 0x31, 0x9E, 0xA8, 0xB4, + 0xBB, 0xDA, 0xA2, 0xC1, 0x4C, 0x1C, 0xC2, 0x90, 0x03, 0x4C, 0xE5, 0xC7, 0x0A, 0x7A, 0x5A, 0xBD, + 0xB8, 0x04, 0xF0, 0x42, 0xA5, 0x24, 0xB0, 0x1C, 0xDD, 0xB8, 0x04, 0x90, 0x03, 0xBD, 0x38, 0x07, + 0xDD, 0x38, 0x07, 0xB0, 0x0B, 0xC9, 0x11, 0xB0, 0x11, 0x09, 0xF0, 0x3D, 0x38, 0x07, 0x65, 0x24, + 0x85, 0x24, 0x80, 0x06, 0xC5, 0x21, 0x90, 0x02, 0x64, 0x24, 0x7A, 0x5A, 0xBD, 0x38, 0x07, 0xDD, + 0xB8, 0x04, 0xB0, 0x08, 0xC5, 0x24, 0xB0, 0x0E, 0xA9, 0x40, 0x80, 0x02, 0xA9, 0x1A, 0xC0, 0x80, + 0x6A, 0x20, 0x9B, 0xC1, 0x80, 0xE4, 0x98, 0x20, 0x8A, 0xC1, 0xBD, 0xB8, 0x04, 0xF0, 0x17, 0x3C, + 0xB8, 0x06, 0x30, 0x12, 0xBD, 0x38, 0x07, 0xFD, 0xB8, 0x04, 0xC9, 0xF8, 0x90, 0x04, 0x18, 0x65, + 0x21, 0xAC, 0xA9, 0x00, 0x85, 0x24, 0x68, 0x7A, 0xFA, 0x60, 0x20, 0xA9, 0xC7, 0x90, 0xFA, 0x3C, + 0xB8, 0x06, 0x10, 0x07, 0xC9, 0x91, 0xF0, 0x03, 0x20, 0xF0, 0xFD, 0x4C, 0xCD, 0xC7, 0x5A, 0x48, + 0x20, 0xB6, 0xC2, 0x9E, 0xB8, 0x06, 0x80, 0x07, 0x5A, 0x20, 0xD9, 0xC7, 0x90, 0xFA, 0x90, 0x68, + 0x7A, 0xA2, 0x00, 0x60, 0x5A, 0x48, 0x20, 0x8A, 0xC1, 0x80, 0xF4, 0x5A, 0x48, 0x4A, 0xD0, 0x15, + 0x08, 0x20, 0xD3, 0xC7, 0x28, 0x90, 0x05, 0x29, 0x28, 0x0A, 0x80, 0x02, 0x29, 0x30, 0xC9, 0x10, + 0xF0, 0xDD, 0x18, 0x80, 0xDA, 0xA2, 0x40, 0x68, 0x7A, 0x18, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +char slot2[0x100] = { + 0x2C, 0x89, 0xC1, 0x70, 0x14, 0x38, 0x90, 0x18, 0xB8, 0x50, 0x0E, 0x01, 0x31, 0x11, 0x13, 0x15, + 0x17, 0x80, 0x8B, 0x80, 0x93, 0x80, 0x9D, 0x80, 0xA2, 0xDA, 0xA2, 0xC2, 0x5A, 0x48, 0x8E, 0xF8, + 0x07, 0x50, 0x22, 0xA5, 0x36, 0x45, 0x38, 0xF0, 0x06, 0xA5, 0x37, 0xC5, 0x39, 0xF0, 0x03, 0x20, + 0xB6, 0xC2, 0x8A, 0x45, 0x39, 0x05, 0x38, 0xD0, 0x07, 0xA9, 0x05, 0x85, 0x38, 0x38, 0x80, 0x05, + 0xA9, 0x07, 0x85, 0x36, 0x18, 0xBD, 0xB8, 0x06, 0x89, 0x01, 0xD0, 0x03, 0x4C, 0x17, 0xC1, 0x90, + 0xFB, 0x68, 0x80, 0x28, 0x3C, 0xB8, 0x03, 0x50, 0x1C, 0x20, 0x8F, 0xC1, 0x80, 0x1E, 0x68, 0x20, + 0x70, 0xCC, 0x10, 0x1B, 0x20, 0xA9, 0xC7, 0xB0, 0xEB, 0x29, 0x5F, 0xC9, 0x51, 0xF0, 0x04, 0xC9, + 0x52, 0xD0, 0x09, 0xA9, 0x98, 0x7A, 0xFA, 0x60, 0x18, 0x20, 0xA3, 0xC7, 0x20, 0x4C, 0xCC, 0x48, + 0x20, 0xD9, 0xC7, 0xB0, 0x09, 0xBD, 0xB8, 0x06, 0x29, 0x10, 0xF0, 0xD2, 0x80, 0xF2, 0xA8, 0x68, + 0x5A, 0x20, 0xB8, 0xC3, 0x68, 0xBC, 0x38, 0x06, 0xF0, 0x12, 0x09, 0x80, 0xC9, 0x91, 0xF0, 0xDC, + 0xC9, 0xFF, 0xF0, 0xD8, 0xC9, 0x92, 0xF0, 0xD0, 0xC9, 0x94, 0xF0, 0xCD, 0x3C, 0xB8, 0x03, 0x50, + 0xC4, 0x20, 0xED, 0xFD, 0x80, 0xC6, 0x20, 0x9A, 0xCF, 0xBC, 0x29, 0xC2, 0x20, 0x7C, 0xC3, 0x48, + 0x88, 0x30, 0x04, 0xC0, 0x03, 0xD0, 0xF5, 0x20, 0x9A, 0xCF, 0x68, 0xBC, 0x2B, 0xC2, 0x99, 0xFB, + 0xBF, 0x68, 0x99, 0xFA, 0xBF, 0x68, 0x9D, 0xB8, 0x06, 0x29, 0x01, 0xD0, 0x02, 0xA9, 0x09, 0x9D, + 0x38, 0x06, 0x68, 0x9D, 0xB8, 0x04, 0x9E, 0xB8, 0x03, 0x60, 0x03, 0x07, 0xA0, 0xB0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +char slot3[0x100] = { + 0x48, 0xDA, 0x5A, 0x80, 0x12, 0x38, 0x90, 0x18, 0x80, 0x1A, 0xEA, 0x01, 0x88, 0x2C, 0x2F, 0x32, + 0x35, 0x4C, 0xAF, 0xC7, 0x4C, 0xB5, 0xC7, 0x20, 0x20, 0xCE, 0x20, 0xBE, 0xCD, 0x20, 0x58, 0xFC, + 0x7A, 0xFA, 0x68, 0x18, 0xB0, 0x03, 0x4C, 0xF6, 0xFD, 0x4C, 0x1B, 0xFD, 0x4C, 0x41, 0xCF, 0x4C, + 0x35, 0xCF, 0x4C, 0xC2, 0xCE, 0x4C, 0xB1, 0xCE, 0xA9, 0x06, 0xCD, 0xB3, 0xFB, 0xF0, 0x3C, 0x20, + 0x60, 0xC3, 0xA9, 0xF8, 0x85, 0x37, 0x64, 0x36, 0xB2, 0x36, 0x92, 0x36, 0xE6, 0x36, 0xD0, 0xF8, + 0xE6, 0x37, 0xD0, 0xF4, 0xDA, 0xAE, 0x78, 0x04, 0x3C, 0x81, 0xC0, 0x3C, 0x81, 0xC0, 0xFA, 0x60, + 0xDA, 0xA2, 0x00, 0x2C, 0x11, 0xC0, 0x30, 0x02, 0xA2, 0x08, 0x2C, 0x12, 0xC0, 0x10, 0x02, 0xE8, + 0xE8, 0x2C, 0x81, 0xC0, 0x2C, 0x81, 0xC0, 0x8E, 0x78, 0x04, 0xFA, 0x60, 0xAD, 0x13, 0xC0, 0x0A, + 0xAD, 0x18, 0xC0, 0x08, 0x8D, 0x00, 0xC0, 0x8D, 0x03, 0xC0, 0xB9, 0x78, 0x04, 0x28, 0xB0, 0x03, + 0x8D, 0x02, 0xC0, 0x10, 0x03, 0x8D, 0x01, 0xC0, 0x60, 0x09, 0x80, 0xC9, 0xFB, 0xB0, 0x06, 0xC9, + 0xE1, 0x90, 0x02, 0x29, 0xDF, 0x60, 0x48, 0xA9, 0x08, 0x1C, 0xFB, 0x04, 0x68, 0x20, 0xED, 0xFD, + 0x4C, 0x44, 0xFD, 0x20, 0x9D, 0xCC, 0x80, 0x09, 0x20, 0x9D, 0xCC, 0x24, 0x32, 0x30, 0x02, 0x29, + 0x7F, 0x5A, 0x09, 0x00, 0x30, 0x15, 0x48, 0xAD, 0xFB, 0x04, 0x6A, 0x68, 0x90, 0x0D, 0x2C, 0x1E, + 0xC0, 0x10, 0x08, 0x49, 0x40, 0x89, 0x60, 0xF0, 0x02, 0x49, 0x40, 0x2C, 0x1F, 0xC0, 0x10, 0x19, + 0x48, 0x8D, 0x01, 0xC0, 0x98, 0x45, 0x20, 0x4A, 0xB0, 0x04, 0xAD, 0x55, 0xC0, 0xC8, 0x98, 0x4A, + 0xA8, 0x68, 0x91, 0x28, 0x2C, 0x54, 0xC0, 0x7A, 0x60, 0x91, 0x28, 0x7A, 0x60, 0x00, 0x00, 0x00 +}; + +char slot4[0x100] = { + 0x80, 0x05, 0xA2, 0x03, 0x60, 0x38, 0x90, 0x18, 0x4C, 0xCF, 0xC5, 0x01, 0x20, 0x02, 0x02, 0x02, + 0x02, 0x00, 0x3B, 0xDC, 0x93, 0x82, 0x69, 0xBD, 0x6B, 0x1A, 0x9C, 0x7C, 0x07, 0xA2, 0x80, 0xA0, + 0x01, 0x9E, 0x7D, 0x04, 0x9E, 0x7D, 0x05, 0xA9, 0xFF, 0x9D, 0x7D, 0x06, 0xA9, 0x03, 0x9D, 0x7D, + 0x07, 0xA2, 0x00, 0x88, 0x10, 0xEB, 0x20, 0x6B, 0xC4, 0xA9, 0x00, 0xAA, 0x20, 0x9A, 0xCF, 0x8A, + 0x8D, 0x78, 0x04, 0x4A, 0x0D, 0x78, 0x04, 0xC9, 0x10, 0xB0, 0x1F, 0x29, 0x05, 0xF0, 0x01, 0x58, + 0x69, 0x55, 0x08, 0x78, 0x8E, 0xFC, 0x07, 0x8D, 0x79, 0xC0, 0xA2, 0x08, 0xCA, 0x0A, 0x90, 0x03, + 0x9D, 0x58, 0xC0, 0xD0, 0xF7, 0x8D, 0x78, 0xC0, 0x28, 0x18, 0x60, 0xA2, 0x80, 0x80, 0x02, 0xA2, + 0x00, 0xBD, 0x7D, 0x04, 0x9D, 0x7C, 0x04, 0xBD, 0x7D, 0x05, 0x9D, 0x7C, 0x05, 0xCA, 0x10, 0xEF, + 0x80, 0x0C, 0x9C, 0x7C, 0x04, 0x9C, 0x7C, 0x05, 0x9C, 0xFC, 0x04, 0x9C, 0xFC, 0x05, 0x9C, 0x7C, + 0x06, 0x18, 0x60, 0xA9, 0x20, 0x1C, 0x7C, 0x07, 0x2D, 0x7C, 0x06, 0x1C, 0x7C, 0x06, 0x2C, 0xFC, + 0x07, 0x30, 0x13, 0x2C, 0x63, 0xC0, 0x30, 0x02, 0x09, 0x80, 0x2C, 0x7C, 0x07, 0x10, 0x02, 0x09, + 0x40, 0x8D, 0x7C, 0x07, 0x18, 0x60, 0x0D, 0x7C, 0x07, 0x29, 0xE0, 0x80, 0xF4, 0x6A, 0x6A, 0x29, + 0x80, 0xAA, 0xAD, 0x78, 0x04, 0x9D, 0x7D, 0x04, 0xAD, 0x78, 0x05, 0x9D, 0x7D, 0x05, 0xAD, 0xF8, + 0x04, 0x9D, 0x7D, 0x06, 0xAD, 0xF8, 0x05, 0x9D, 0x7D, 0x07, 0x18, 0x60, 0x48, 0x18, 0xA9, 0x0E, + 0x2D, 0x7C, 0x07, 0xD0, 0x01, 0x38, 0x68, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD6, 0x00, 0x00, 0x00, 0x00 +}; + +char slot5[0x100] = { + 0xA2, 0x20, 0xA2, 0x00, 0xA2, 0x03, 0xC9, 0x00, 0xB0, 0x17, 0x38, 0xB0, 0x01, 0x18, 0xA2, 0x05, + 0x7E, 0x73, 0x04, 0x18, 0xA2, 0xC5, 0x8E, 0xF8, 0x07, 0xA2, 0x05, 0xAD, 0xFF, 0xCF, 0x4C, 0x97, + 0xC7, 0xA2, 0x05, 0x86, 0x58, 0xA9, 0xC5, 0x8D, 0xF8, 0x07, 0x20, 0x76, 0xC5, 0xA0, 0x05, 0xB9, + 0x70, 0xC5, 0x99, 0x42, 0x00, 0x88, 0x10, 0xF7, 0x20, 0x0A, 0xC5, 0xB0, 0x15, 0xAE, 0x00, 0x08, + 0xCA, 0xD0, 0x0F, 0xAE, 0x01, 0x08, 0xF0, 0x0A, 0xA5, 0x58, 0x0A, 0x0A, 0x0A, 0x0A, 0xAA, 0x4C, + 0x01, 0x08, 0xA2, 0x10, 0xBD, 0x5F, 0xC5, 0x9D, 0xDB, 0x07, 0xCA, 0x10, 0xF7, 0x80, 0xFE, 0xC3, + 0xE8, 0xE5, 0xE3, 0xEB, 0xA0, 0xC4, 0xE9, 0xF3, 0xEB, 0xA0, 0xC4, 0xF2, 0xE9, 0xF6, 0xE5, 0xAE, + 0x01, 0x50, 0x00, 0x08, 0x00, 0x00, 0xA2, 0x08, 0xBD, 0x83, 0xC5, 0x95, 0x00, 0xCA, 0x10, 0xF8, + 0x4C, 0x00, 0x00, 0x20, 0x0D, 0xC5, 0x05, 0x07, 0x00, 0x60, 0x01, 0x00, 0x00, 0x00, 0xA2, 0x03, + 0xA0, 0x00, 0x86, 0x3C, 0x8A, 0x0A, 0x24, 0x3C, 0xF0, 0x10, 0x05, 0x3C, 0x49, 0xFF, 0x29, 0x7E, + 0xB0, 0x08, 0x4A, 0xD0, 0xFB, 0x98, 0x9D, 0x56, 0x03, 0xC8, 0xE8, 0x10, 0xE5, 0xA9, 0x08, 0x85, + 0x27, 0xA0, 0x7F, 0x60, 0xB9, 0x00, 0x02, 0xC8, 0x4C, 0x99, 0xC3, 0xC1, 0xF0, 0xF0, 0xEC, 0xE5, + 0xA0, 0xAF, 0xAF, 0xE3, 0x20, 0xD0, 0xF8, 0x20, 0x53, 0xF9, 0x85, 0x3A, 0x84, 0x3B, 0x60, 0x5A, + 0xB0, 0x1C, 0xA0, 0xC4, 0xC4, 0x39, 0xD0, 0x04, 0xA4, 0x38, 0xF0, 0x12, 0xDA, 0x48, 0x29, 0x7F, + 0xC9, 0x02, 0xB0, 0x06, 0x20, 0x3B, 0xC4, 0x20, 0x6B, 0xC4, 0x68, 0xFA, 0x7A, 0x60, 0x4C, 0x9D, + 0xC7, 0x00, 0x00, 0x00, 0x00, 0x4C, 0x52, 0xC5, 0x4C, 0x76, 0xC5, 0x00, 0x00, 0x00, 0xBF, 0x0A +}; + +char slot6[0x100] = { + 0xA2, 0x20, 0xA0, 0x00, 0x64, 0x03, 0x64, 0x3C, 0xA9, 0x60, 0xAA, 0x86, 0x2B, 0x85, 0x4F, 0x5A, + 0xBD, 0x8E, 0xC0, 0xBD, 0x8C, 0xC0, 0x7A, 0xB9, 0xEA, 0xC0, 0xBD, 0x89, 0xC0, 0xA0, 0x50, 0xBD, + 0x80, 0xC0, 0x98, 0x29, 0x03, 0x0A, 0x05, 0x2B, 0xAA, 0xBD, 0x81, 0xC0, 0xA9, 0x56, 0x20, 0xA8, + 0xFC, 0x88, 0x10, 0xEB, 0x85, 0x26, 0x85, 0x3D, 0x85, 0x41, 0x20, 0x8E, 0xC5, 0x64, 0x03, 0x18, + 0x08, 0x28, 0xA6, 0x2B, 0xC6, 0x03, 0xD0, 0x0E, 0xBD, 0x88, 0xC0, 0xA5, 0x01, 0xC9, 0xC6, 0xD0, + 0xA4, 0x4C, 0x00, 0xC5, 0x00, 0x00, 0x08, 0x88, 0xD0, 0x04, 0xF0, 0xE5, 0x80, 0xDF, 0xBD, 0x8C, + 0xC0, 0x10, 0xFB, 0x49, 0xD5, 0xD0, 0xF0, 0xBD, 0x8C, 0xC0, 0x10, 0xFB, 0xC9, 0xAA, 0xD0, 0xF3, + 0xEA, 0xBD, 0x8C, 0xC0, 0x10, 0xFB, 0xC9, 0x96, 0xF0, 0x09, 0x28, 0x90, 0xC2, 0x49, 0xAD, 0xF0, + 0x25, 0xD0, 0xBC, 0xA0, 0x03, 0x85, 0x40, 0xBD, 0x8C, 0xC0, 0x10, 0xFB, 0x2A, 0x85, 0x3C, 0xBD, + 0x8C, 0xC0, 0x10, 0xFB, 0x25, 0x3C, 0x88, 0xD0, 0xEC, 0x28, 0xC5, 0x3D, 0xD0, 0xA1, 0xA5, 0x40, + 0xC5, 0x41, 0xD0, 0x9B, 0xB0, 0x9C, 0xA0, 0x56, 0x84, 0x3C, 0xBC, 0x8C, 0xC0, 0x10, 0xFB, 0x59, + 0xD6, 0x02, 0xA4, 0x3C, 0x88, 0x99, 0x00, 0x03, 0xD0, 0xEE, 0x84, 0x3C, 0xBC, 0x8C, 0xC0, 0x10, + 0xFB, 0x59, 0xD6, 0x02, 0xA4, 0x3C, 0x91, 0x26, 0xC8, 0xD0, 0xEF, 0xBC, 0x8C, 0xC0, 0x10, 0xFB, + 0x59, 0xD6, 0x02, 0xD0, 0xCD, 0xA0, 0x00, 0xA2, 0x56, 0xCA, 0x30, 0xFB, 0xB1, 0x26, 0x5E, 0x00, + 0x03, 0x2A, 0x5E, 0x00, 0x03, 0x2A, 0x91, 0x26, 0xC8, 0xD0, 0xEE, 0xE6, 0x27, 0xE6, 0x3D, 0xA5, + 0x3D, 0xCD, 0x00, 0x08, 0xA6, 0x4F, 0x90, 0xDB, 0x4C, 0x01, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +char slot7[0x100] = { + 0x2C, 0x03, 0xC7, 0x70, 0x1B, 0x38, 0x90, 0x18, 0xB8, 0x50, 0x15, 0x01, 0x9B, 0x1C, 0x1C, 0x1C, + 0x1C, 0x88, 0x18, 0x80, 0x2A, 0x38, 0x78, 0xA2, 0xFF, 0x9A, 0x80, 0x26, 0x38, 0xA2, 0x03, 0x60, + 0x8D, 0x78, 0x04, 0xA9, 0xC7, 0x8D, 0xF8, 0x07, 0x08, 0xC5, 0x39, 0xF0, 0xE8, 0x28, 0x4D, 0x7F, + 0x04, 0xD0, 0x1A, 0xAD, 0xFF, 0x07, 0x48, 0xAD, 0x7F, 0x07, 0x48, 0xAD, 0x78, 0x04, 0x60, 0x8D, + 0xF8, 0x07, 0x20, 0xD3, 0xC7, 0x70, 0x01, 0x60, 0xB0, 0x03, 0x6C, 0xCB, 0x00, 0xAD, 0x81, 0xC0, + 0xAD, 0x81, 0xC0, 0x20, 0x84, 0xFE, 0x20, 0x2F, 0xFB, 0x20, 0x58, 0xFC, 0x20, 0x93, 0xFE, 0x20, + 0x89, 0xFE, 0xA0, 0x10, 0xB9, 0x6F, 0xC7, 0x99, 0xDB, 0x07, 0x88, 0x10, 0xF7, 0x80, 0xFE, 0xC1, + 0xF0, 0xF0, 0xEC, 0xE5, 0xD4, 0xE1, 0xEC, 0xEB, 0xA0, 0xCF, 0xE6, 0xE6, 0xEC, 0xE9, 0xEE, 0xE5, + 0x8D, 0x28, 0xC0, 0x40, 0x8D, 0x28, 0xC0, 0x60, 0x8D, 0x28, 0xC0, 0x4C, 0x62, 0xFA, 0x8D, 0x28, + 0xC0, 0x2C, 0x87, 0xC7, 0x4C, 0x04, 0xC8, 0x8D, 0x28, 0xC0, 0x4C, 0xF1, 0xC7, 0x8D, 0x28, 0xC0, + 0x4C, 0xF6, 0xC7, 0x8D, 0x28, 0xC0, 0x4C, 0xF1, 0xC7, 0x8D, 0x28, 0xC0, 0x4C, 0x06, 0xC8, 0x8D, + 0x28, 0xC0, 0x4C, 0x4E, 0xC3, 0x8D, 0x28, 0xC0, 0x4C, 0x97, 0xC3, 0x8D, 0x28, 0xC0, 0x4C, 0x00, + 0xC1, 0x8D, 0x28, 0xC0, 0x4C, 0xA9, 0xD4, 0x8D, 0x28, 0xC0, 0x4C, 0x80, 0xC5, 0x8D, 0x28, 0xC0, + 0x4C, 0x4F, 0xC2, 0x8D, 0x28, 0xC0, 0x4C, 0xAC, 0xC2, 0x8D, 0x28, 0xC0, 0x4C, 0xC3, 0xC2, 0x8D, + 0x28, 0xC0, 0x4C, 0xF7, 0xC2, 0x8D, 0x28, 0xC0, 0x4C, 0xE0, 0xD4, 0x8D, 0x28, 0xC0, 0x6C, 0xED, + 0x03, 0x20, 0x23, 0xCE, 0x80, 0x8E, 0x20, 0x4D, 0xCE, 0x80, 0x89, 0x00, 0x00, 0x00, 0x00, 0x00 +}; diff --git a/src/floppy.cpp b/src/floppy.cpp index 9c0165c..e811bb0 100755 --- a/src/floppy.cpp +++ b/src/floppy.cpp @@ -1,533 +1,533 @@ -// -// Apple 2 floppy disk support -// -// by James L. Hammons -// (c) 2005 Underground Software -// -// JLH = James L. Hammons -// -// WHO WHEN WHAT -// --- ---------- ------------------------------------------------------------ -// JLH 12/03/2005 Created this file -// JLH 12/15/2005 Fixed nybblization functions to work properly -// JLH 12/27/2005 Added blank disk creation, fixed saving to work properly -// - -#include "floppy.h" - -#include -#include -#include "apple2.h" -#include "log.h" -#include "applevideo.h" // For message spawning... Though there's probably a better approach than this! - -using namespace std; - -// Useful enums - -enum { IO_MODE_READ, IO_MODE_WRITE }; - -// FloppyDrive class variable initialization - -uint8 FloppyDrive::header[21] = { - 0xD5, 0xAA, 0x96, 0xFF, 0xFE, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xDE, 0xAA, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xD5, 0xAA, 0xAD }; -uint8 FloppyDrive::doSector[16] = { - 0x0, 0x7, 0xE, 0x6, 0xD, 0x5, 0xC, 0x4, 0xB, 0x3, 0xA, 0x2, 0x9, 0x1, 0x8, 0xF }; -uint8 FloppyDrive::poSector[16] = { - 0x0, 0x8, 0x1, 0x9, 0x2, 0xA, 0x3, 0xB, 0x4, 0xC, 0x5, 0xD, 0x6, 0xE, 0x7, 0xF }; - -// FloppyDrive class implementation... - -FloppyDrive::FloppyDrive(): motorOn(0), activeDrive(0), ioMode(IO_MODE_READ), phase(0), track(0) -{ - disk[0] = disk[1] = NULL; - diskSize[0] = diskSize[1] = 0; - diskType[0] = diskType[1] = DT_UNKNOWN; - imageDirty[0] = imageDirty[1] = false; - imageName[0][0] = imageName[1][0] = 0; // Zero out filenames -} - -FloppyDrive::~FloppyDrive() -{ - if (disk[0]) - delete[] disk[0]; - - if (disk[1]) - delete[] disk[1]; -} - -bool FloppyDrive::LoadImage(const char * filename, uint8 driveNum/*= 0*/) -{ - if (driveNum > 1) - { - WriteLog("FLOPPY: Attempted to load image to drive #%u!\n", driveNum); - return false; - } - - imageName[driveNum][0] = 0; // Zero out filename, in case it doesn't load - - FILE * fp = fopen(filename, "rb"); - - if (fp == NULL) - { - WriteLog("FLOPPY: Failed to open image file '%s' for reading...\n", filename); - return false; - } - - if (disk[driveNum]) - delete[] disk[driveNum]; - - fseek(fp, 0, SEEK_END); - diskSize[driveNum] = ftell(fp); - fseek(fp, 0, SEEK_SET); - disk[driveNum] = new uint8[diskSize[driveNum]]; - fread(disk[driveNum], 1, diskSize[driveNum], fp); - - fclose(fp); -//printf("Read disk image: %u bytes.\n", diskSize); - DetectImageType(filename, driveNum); - strcpy(imageName[driveNum], filename); - - return true; -} - -bool FloppyDrive::SaveImage(uint8 driveNum/*= 0*/) -{ - if (driveNum > 1) - { - WriteLog("FLOPPY: Attempted to save image to drive #%u!\n", driveNum); - return false; - } - - if (!imageDirty[driveNum]) - { - WriteLog("FLOPPY: No need to save unchanged image...\n"); - return false; - } - - if (imageName[driveNum][0] == 0) - { - WriteLog("FLOPPY: Attempted to save non-existant image!\n"); - return false; - } - - if (diskType[driveNum] == DT_NYBBLE) - memcpy(disk[driveNum], nybblizedImage[driveNum], 232960); - else - DenybblizeImage(driveNum); - - FILE * fp = fopen(imageName[driveNum], "wb"); - - if (fp == NULL) - { - WriteLog("FLOPPY: Failed to open image file '%s' for writing...\n", imageName[driveNum]); - return false; - } - - fwrite(disk[driveNum], 1, diskSize[driveNum], fp); - fclose(fp); - - return true; -} - -bool FloppyDrive::SaveImageAs(const char * filename, uint8 driveNum/*= 0*/) -{ -//WARNING: Buffer overflow possibility - strcpy(imageName[driveNum], filename); - return SaveImage(driveNum); -} - -void FloppyDrive::CreateBlankImage(uint8 driveNum/*= 0*/) -{ - if (disk[driveNum] != NULL) - delete disk[driveNum]; - - disk[driveNum] = new uint8[143360]; - diskSize[driveNum] = 143360; - memset(disk[driveNum], 0x00, 143360); - memset(nybblizedImage[driveNum], 0x00, 232960); // Set it to 0 instead of $FF for proper formatting... - diskType[driveNum] = DT_DOS33; - strcpy(imageName[driveNum], "newblank.dsk"); -SpawnMessage("New blank image inserted in drive %u...", driveNum); -} - -void FloppyDrive::SwapImages(void) -{ - uint8 nybblizedImageTmp[232960]; - char imageNameTmp[MAX_PATH]; - - memcpy(nybblizedImageTmp, nybblizedImage[0], 232960); - memcpy(nybblizedImage[0], nybblizedImage[1], 232960); - memcpy(nybblizedImage[1], nybblizedImageTmp, 232960); - - memcpy(imageNameTmp, imageName[0], MAX_PATH); - memcpy(imageName[0], imageName[1], MAX_PATH); - memcpy(imageName[1], imageNameTmp, MAX_PATH); - - uint8 * diskTmp = disk[0]; - disk[0] = disk[1]; - disk[1] = diskTmp; - - uint32 diskSizeTmp = diskSize[0]; - diskSize[0] = diskSize[1]; - diskSize[1] = diskSizeTmp; - - uint8 diskTypeTmp = diskType[0]; - diskType[0] = diskType[1]; - diskType[1] = diskTypeTmp; - - uint8 imageDirtyTmp = imageDirty[0]; - imageDirty[0] = imageDirty[1]; - imageDirty[1] = imageDirtyTmp; -SpawnMessage("Drive 0: %s...", imageName[0]); -} - -void FloppyDrive::DetectImageType(const char * filename, uint8 driveNum) -{ - diskType[driveNum] = DT_UNKNOWN; - - if (diskSize[driveNum] == 232960) - { - diskType[driveNum] = DT_NYBBLE; - memcpy(nybblizedImage[driveNum], disk[driveNum], 232960); - } - else if (diskSize[driveNum] == 143360) - { - const char * ext = strrchr(filename, '.'); - - if (ext == NULL) - return; -WriteLog("FLOPPY: Found extension [%s]...\n", ext); - -//Apparently .dsk can house either DOS order OR PRODOS order... !!! FIX !!! -//[DONE, see below why we don't need it] - if (strcasecmp(ext, ".po") == 0) - diskType[driveNum] = DT_PRODOS; - else if ((strcasecmp(ext, ".do") == 0) || (strcasecmp(ext, ".dsk") == 0)) - { - diskType[driveNum] = DT_DOS33; -//WriteLog("Detected DOS 3.3 disk!\n"); -/* -This doesn't seem to be accurate... Maybe it's just a ProDOS disk in a DOS33 order... -That would seem to be the case--just because it's a ProDOS disk doesn't mean anything -WRT to the disk image itself. - // This could really be a ProDOS order disk with a .dsk extension, so let's see... - char fingerprint[3][4] = { - { 0x04, 0x00, 0x00, 0x00 }, // @ $500 - { 0x03, 0x00, 0x05, 0x00 }, // @ $700 - { 0x02, 0x00, 0x04, 0x00 } }; // @ $900 - - if ((strcmp((char *)(disk[driveNum] + 0x500), fingerprint[0]) == 0) - && (strcmp((char *)(disk[driveNum] + 0x700), fingerprint[1]) == 0) - && (strcmp((char *)(disk[driveNum] + 0x900), fingerprint[2]) == 0)) - diskType[driveNum] = DT_PRODOS; -//*/ - } - - NybblizeImage(driveNum); - } -WriteLog("FLOPPY: Detected image type %s...\n", (diskType[driveNum] == DT_NYBBLE ? - "Nybble image" : (diskType[driveNum] == DT_DOS33 ? - "DOS 3.3 image" : (diskType[driveNum] == DT_PRODOS ? "ProDOS image" : "unknown")))); -} - -void FloppyDrive::NybblizeImage(uint8 driveNum) -{ - // Format of a sector is header (23) + nybbles (343) + footer (30) = 396 - // (short by 20 bytes of 416 [413 if 48 byte header is one time only]) -// Hmph. Who'da thunk that AppleWin's nybblization routines would be wrong? -// This is now correct, BTW - // hdr (21) + nybbles (343) + footer (48) = 412 bytes per sector - // (not incl. 64 byte track marker) - - uint8 footer[48] = { - 0xDE, 0xAA, 0xEB, 0xFF, 0xEB, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }; - - uint8 diskbyte[0x40] = { - 0x96, 0x97, 0x9A, 0x9B, 0x9D, 0x9E, 0x9F, 0xA6, - 0xA7, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB2, 0xB3, - 0xB4, 0xB5, 0xB6, 0xB7, 0xB9, 0xBA, 0xBB, 0xBC, - 0xBD, 0xBE, 0xBF, 0xCB, 0xCD, 0xCE, 0xCF, 0xD3, - 0xD6, 0xD7, 0xD9, 0xDA, 0xDB, 0xDC, 0xDD, 0xDE, - 0xDF, 0xE5, 0xE6, 0xE7, 0xE9, 0xEA, 0xEB, 0xEC, - 0xED, 0xEE, 0xEF, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, - 0xF7, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF }; - - uint8 * img = nybblizedImage[driveNum]; - memset(img, 0xFF, 232960); // Doesn't matter if 00s or FFs... - - for(uint8 trk=0; trk<35; trk++) - { - memset(img, 0xFF, 64); // Write gap 1, 64 bytes (self-sync) - img += 64; - - for(uint8 sector=0; sector<16; sector++) - { - memcpy(img, header, 21); // Set up the sector header - - img[5] = ((trk >> 1) & 0x55) | 0xAA; - img[6] = (trk & 0x55) | 0xAA; - img[7] = ((sector >> 1) & 0x55) | 0xAA; - img[8] = (sector & 0x55) | 0xAA; - img[9] = (((trk ^ sector ^ 0xFE) >> 1) & 0x55) | 0xAA; - img[10] = ((trk ^ sector ^ 0xFE) & 0x55) | 0xAA; - - img += 21; - uint8 * bytes = disk[driveNum]; - - if (diskType[driveNum] == DT_DOS33) - bytes += (doSector[sector] * 256) + (trk * 256 * 16); - else if (diskType[driveNum] == DT_PRODOS) - bytes += (poSector[sector] * 256) + (trk * 256 * 16); - else - bytes += (sector * 256) + (trk * 256 * 16); - - // Convert the 256 8-bit bytes into 342 6-bit bytes. - - for(uint16 i=0; i<0x56; i++) - { - img[i] = ((bytes[(i + 0xAC) & 0xFF] & 0x01) << 7) - | ((bytes[(i + 0xAC) & 0xFF] & 0x02) << 5) - | ((bytes[(i + 0x56) & 0xFF] & 0x01) << 5) - | ((bytes[(i + 0x56) & 0xFF] & 0x02) << 3) - | ((bytes[(i + 0x00) & 0xFF] & 0x01) << 3) - | ((bytes[(i + 0x00) & 0xFF] & 0x02) << 1); - } - - img[0x54] &= 0x3F; - img[0x55] &= 0x3F; - memcpy(img + 0x56, bytes, 256); - - // XOR the data block with itself, offset by one byte, - // creating a 343rd byte which is used as a cheksum. - - img[342] = 0x00; - - for(uint16 i=342; i>0; i--) - img[i] = img[i] ^ img[i - 1]; - - // Using a lookup table, convert the 6-bit bytes into disk bytes. - - for(uint16 i=0; i<343; i++) - img[i] = diskbyte[img[i] >> 2]; - - img += 343; - - // Done with the nybblization, now for the epilogue... - - memcpy(img, footer, 48); - img += 48; - } - } -} - -void FloppyDrive::DenybblizeImage(uint8 driveNum) -{ - uint8 decodeNybble[0x80] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, - 0x00, 0x00, 0x08, 0x0C, 0x00, 0x10, 0x14, 0x18, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, - 0x00, 0x00, 0x00, 0x24, 0x28, 0x2C, 0x30, 0x34, - 0x00, 0x00, 0x38, 0x3C, 0x40, 0x44, 0x48, 0x4C, - 0x00, 0x50, 0x54, 0x58, 0x5C, 0x60, 0x64, 0x68, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x6C, 0x00, 0x70, 0x74, 0x78, - 0x00, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x80, 0x84, - 0x00, 0x88, 0x8C, 0x90, 0x94, 0x98, 0x9C, 0xA0, - 0x00, 0x00, 0x00, 0x00, 0x00, 0xA4, 0xA8, 0xAC, - 0x00, 0xB0, 0xB4, 0xB8, 0xBC, 0xC0, 0xC4, 0xC8, - 0x00, 0x00, 0xCC, 0xD0, 0xD4, 0xD8, 0xDC, 0xE0, - 0x00, 0xE4, 0xE8, 0xEC, 0xF0, 0xF4, 0xF8, 0xFC }; - - // Sanity checks... - if (disk[driveNum] == NULL || diskSize[driveNum] < 143360) - { - WriteLog("FLOPPY: Source disk image invalid! [drive=%u, disk=%08X, diskSize=%u]\n", - driveNum, disk[driveNum], diskSize[driveNum]); - return; - } - - uint8 * srcImg = nybblizedImage[driveNum]; - uint8 * dstImg = disk[driveNum]; - uint8 buffer[345]; // 2 extra bytes for the unpack routine below... - - for(uint8 trk=0; trk<35; trk++) - { - uint8 * trackBase = srcImg + (trk * 6656); - - for(uint8 sector=0; sector<16; sector++) - { - uint16 sectorStart = (uint16)-1; - - for(uint16 i=0; i<6656; i++) - { - if (trackBase[i] == header[0] - && trackBase[(i + 1) % 6656] == header[1] - && trackBase[(i + 2) % 6656] == header[2] - && trackBase[(i + 3) % 6656] == header[3] - && trackBase[(i + 4) % 6656] == header[4]) - { -//Could also check the track # at +5,6... - uint8 foundSector = ((trackBase[(i + 7) % 6656] & 0x55) << 1) - | (trackBase[(i + 8) % 6656] & 0x55); - - if (foundSector == sector) - { - sectorStart = (i + 21) % 6656; - break; - } - } - } - - // Sanity check... - if (sectorStart == (uint16)-1) - { - WriteLog("FLOPPY: Failed to find sector %u (track %u) in nybble image!\n", - sector, trk); - return; - } - - // Using a lookup table, convert the disk bytes into 6-bit bytes. - - for(uint16 i=0; i<343; i++) - buffer[i] = decodeNybble[trackBase[(sectorStart + i) % 6656] & 0x7F]; - - // XOR the data block with itself, offset by one byte. - - for(uint16 i=1; i<342; i++) - buffer[i] = buffer[i] ^ buffer[i - 1]; - - // Convert the 342 6-bit bytes into 256 8-bit bytes (at buffer + $56). - - for(uint16 i=0; i<0x56; i++) - { - buffer[0x056 + i] |= ((buffer[i] >> 3) & 0x01) | ((buffer[i] >> 1) & 0x02); - buffer[0x0AC + i] |= ((buffer[i] >> 5) & 0x01) | ((buffer[i] >> 3) & 0x02); - buffer[0x102 + i] |= ((buffer[i] >> 7) & 0x01) | ((buffer[i] >> 5) & 0x02); - } - - uint8 * bytes = dstImg; - - if (diskType[driveNum] == DT_DOS33) - bytes += (doSector[sector] * 256) + (trk * 256 * 16); - else if (diskType[driveNum] == DT_PRODOS) - bytes += (poSector[sector] * 256) + (trk * 256 * 16); - else - bytes += (sector * 256) + (trk * 256 * 16);//*/ - - memcpy(bytes, buffer + 0x56, 256); - } - } -} - -// Memory mapped I/O functions - -/* -The DSK format is a byte-for-byte image of a 16-sector Apple II floppy disk: 35 tracks of 16 -sectors of 256 bytes each, making 143,360 bytes in total. The PO format is exactly the same -size as DSK and is also organized as 35 sequential tracks, but the sectors within each track -are in a different sequence. The NIB format is a nybblized format: a more direct representation -of the disk's data as encoded by the Apple II floppy drive hardware. NIB contains 35 tracks of -6656 bytes each, for a total size of 232,960 bytes. Although this format is much larger, it is -also more versatile and can represent the older 13-sector disks, many copy-protected disks, and -other unusual encodings. -*/ - -void FloppyDrive::ControlStepper(uint8 addr) -{ - // $C0E0 - 7 -/* -What I can gather here: -bits 1-2 are the "phase" of the track (which is 1/4 of a full track (?)) -bit 0 is the "do something" bit. -*/ - if (addr & 0x01) - { - uint8 newPhase = (addr >> 1) & 0x03; -//WriteLog("*** Stepper change [%u]: track = %u, phase = %u, newPhase = %u\n", addr, track, phase, newPhase); - - if (((phase + 1) & 0x03) == newPhase) - phase += (phase < 79 ? 1 : 0); - - if (((phase - 1) & 0x03) == newPhase) - phase -= (phase > 0 ? 1 : 0); - - if (!(phase & 0x01)) - { - track = ((phase >> 1) < 35 ? phase >> 1 : 34); - currentPos = 0; - } -//WriteLog(" track = %u, phase = %u, newPhase = %u\n", track, phase, newPhase); -SpawnMessage("Stepping to track %u...", track); - } - -// return something if read mode... -} - -void FloppyDrive::ControlMotor(uint8 addr) -{ - // $C0E8 - 9 - motorOn = addr; -} - -void FloppyDrive::DriveEnable(uint8 addr) -{ - // $C0EA - B - activeDrive = addr; -} - -uint8 FloppyDrive::ReadWrite(void) -{ -SpawnMessage("%sing %s track %u, sector %u...", (ioMode == IO_MODE_READ ? "Read" : "Write"), - (ioMode == IO_MODE_READ ? "from" : "to"), track, currentPos / 396); - // $C0EC -/* -I think what happens here is that once a track is read its nybblized form -is fed through here, one byte at a time--which means for DO disks, we have -to convert the actual 256 byte sector to a 416 byte nybblized data "sector". -Which we now do. :-) -*/ - if (ioMode == IO_MODE_WRITE && (latchValue & 0x80)) - { - nybblizedImage[activeDrive][(track * 6656) + currentPos] = latchValue; - imageDirty[activeDrive] = true; - } - - uint8 diskByte = nybblizedImage[activeDrive][(track * 6656) + currentPos]; - currentPos = (currentPos + 1) % 6656; - - return diskByte; -} - -uint8 FloppyDrive::GetLatchValue(void) -{ - // $C0ED - return latchValue; -} - -void FloppyDrive::SetLatchValue(uint8 value) -{ - // $C0ED - latchValue = value; -} - -void FloppyDrive::SetReadMode(void) -{ - // $C0EE - ioMode = IO_MODE_READ; -} - -void FloppyDrive::SetWriteMode(void) -{ - // $C0EF - ioMode = IO_MODE_WRITE; -} +// +// Apple 2 floppy disk support +// +// by James L. Hammons +// (c) 2005 Underground Software +// +// JLH = James L. Hammons +// +// WHO WHEN WHAT +// --- ---------- ------------------------------------------------------------ +// JLH 12/03/2005 Created this file +// JLH 12/15/2005 Fixed nybblization functions to work properly +// JLH 12/27/2005 Added blank disk creation, fixed saving to work properly +// + +#include "floppy.h" + +#include +#include +#include "apple2.h" +#include "log.h" +#include "applevideo.h" // For message spawning... Though there's probably a better approach than this! + +using namespace std; + +// Useful enums + +enum { IO_MODE_READ, IO_MODE_WRITE }; + +// FloppyDrive class variable initialization + +uint8 FloppyDrive::header[21] = { + 0xD5, 0xAA, 0x96, 0xFF, 0xFE, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xDE, 0xAA, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xD5, 0xAA, 0xAD }; +uint8 FloppyDrive::doSector[16] = { + 0x0, 0x7, 0xE, 0x6, 0xD, 0x5, 0xC, 0x4, 0xB, 0x3, 0xA, 0x2, 0x9, 0x1, 0x8, 0xF }; +uint8 FloppyDrive::poSector[16] = { + 0x0, 0x8, 0x1, 0x9, 0x2, 0xA, 0x3, 0xB, 0x4, 0xC, 0x5, 0xD, 0x6, 0xE, 0x7, 0xF }; + +// FloppyDrive class implementation... + +FloppyDrive::FloppyDrive(): motorOn(0), activeDrive(0), ioMode(IO_MODE_READ), phase(0), track(0) +{ + disk[0] = disk[1] = NULL; + diskSize[0] = diskSize[1] = 0; + diskType[0] = diskType[1] = DT_UNKNOWN; + imageDirty[0] = imageDirty[1] = false; + imageName[0][0] = imageName[1][0] = 0; // Zero out filenames +} + +FloppyDrive::~FloppyDrive() +{ + if (disk[0]) + delete[] disk[0]; + + if (disk[1]) + delete[] disk[1]; +} + +bool FloppyDrive::LoadImage(const char * filename, uint8 driveNum/*= 0*/) +{ + if (driveNum > 1) + { + WriteLog("FLOPPY: Attempted to load image to drive #%u!\n", driveNum); + return false; + } + + imageName[driveNum][0] = 0; // Zero out filename, in case it doesn't load + + FILE * fp = fopen(filename, "rb"); + + if (fp == NULL) + { + WriteLog("FLOPPY: Failed to open image file '%s' for reading...\n", filename); + return false; + } + + if (disk[driveNum]) + delete[] disk[driveNum]; + + fseek(fp, 0, SEEK_END); + diskSize[driveNum] = ftell(fp); + fseek(fp, 0, SEEK_SET); + disk[driveNum] = new uint8[diskSize[driveNum]]; + fread(disk[driveNum], 1, diskSize[driveNum], fp); + + fclose(fp); +//printf("Read disk image: %u bytes.\n", diskSize); + DetectImageType(filename, driveNum); + strcpy(imageName[driveNum], filename); + + return true; +} + +bool FloppyDrive::SaveImage(uint8 driveNum/*= 0*/) +{ + if (driveNum > 1) + { + WriteLog("FLOPPY: Attempted to save image to drive #%u!\n", driveNum); + return false; + } + + if (!imageDirty[driveNum]) + { + WriteLog("FLOPPY: No need to save unchanged image...\n"); + return false; + } + + if (imageName[driveNum][0] == 0) + { + WriteLog("FLOPPY: Attempted to save non-existant image!\n"); + return false; + } + + if (diskType[driveNum] == DT_NYBBLE) + memcpy(disk[driveNum], nybblizedImage[driveNum], 232960); + else + DenybblizeImage(driveNum); + + FILE * fp = fopen(imageName[driveNum], "wb"); + + if (fp == NULL) + { + WriteLog("FLOPPY: Failed to open image file '%s' for writing...\n", imageName[driveNum]); + return false; + } + + fwrite(disk[driveNum], 1, diskSize[driveNum], fp); + fclose(fp); + + return true; +} + +bool FloppyDrive::SaveImageAs(const char * filename, uint8 driveNum/*= 0*/) +{ +//WARNING: Buffer overflow possibility + strcpy(imageName[driveNum], filename); + return SaveImage(driveNum); +} + +void FloppyDrive::CreateBlankImage(uint8 driveNum/*= 0*/) +{ + if (disk[driveNum] != NULL) + delete disk[driveNum]; + + disk[driveNum] = new uint8[143360]; + diskSize[driveNum] = 143360; + memset(disk[driveNum], 0x00, 143360); + memset(nybblizedImage[driveNum], 0x00, 232960); // Set it to 0 instead of $FF for proper formatting... + diskType[driveNum] = DT_DOS33; + strcpy(imageName[driveNum], "newblank.dsk"); +SpawnMessage("New blank image inserted in drive %u...", driveNum); +} + +void FloppyDrive::SwapImages(void) +{ + uint8 nybblizedImageTmp[232960]; + char imageNameTmp[MAX_PATH]; + + memcpy(nybblizedImageTmp, nybblizedImage[0], 232960); + memcpy(nybblizedImage[0], nybblizedImage[1], 232960); + memcpy(nybblizedImage[1], nybblizedImageTmp, 232960); + + memcpy(imageNameTmp, imageName[0], MAX_PATH); + memcpy(imageName[0], imageName[1], MAX_PATH); + memcpy(imageName[1], imageNameTmp, MAX_PATH); + + uint8 * diskTmp = disk[0]; + disk[0] = disk[1]; + disk[1] = diskTmp; + + uint32 diskSizeTmp = diskSize[0]; + diskSize[0] = diskSize[1]; + diskSize[1] = diskSizeTmp; + + uint8 diskTypeTmp = diskType[0]; + diskType[0] = diskType[1]; + diskType[1] = diskTypeTmp; + + uint8 imageDirtyTmp = imageDirty[0]; + imageDirty[0] = imageDirty[1]; + imageDirty[1] = imageDirtyTmp; +SpawnMessage("Drive 0: %s...", imageName[0]); +} + +void FloppyDrive::DetectImageType(const char * filename, uint8 driveNum) +{ + diskType[driveNum] = DT_UNKNOWN; + + if (diskSize[driveNum] == 232960) + { + diskType[driveNum] = DT_NYBBLE; + memcpy(nybblizedImage[driveNum], disk[driveNum], 232960); + } + else if (diskSize[driveNum] == 143360) + { + const char * ext = strrchr(filename, '.'); + + if (ext == NULL) + return; +WriteLog("FLOPPY: Found extension [%s]...\n", ext); + +//Apparently .dsk can house either DOS order OR PRODOS order... !!! FIX !!! +//[DONE, see below why we don't need it] + if (strcasecmp(ext, ".po") == 0) + diskType[driveNum] = DT_PRODOS; + else if ((strcasecmp(ext, ".do") == 0) || (strcasecmp(ext, ".dsk") == 0)) + { + diskType[driveNum] = DT_DOS33; +//WriteLog("Detected DOS 3.3 disk!\n"); +/* +This doesn't seem to be accurate... Maybe it's just a ProDOS disk in a DOS33 order... +That would seem to be the case--just because it's a ProDOS disk doesn't mean anything +WRT to the disk image itself. + // This could really be a ProDOS order disk with a .dsk extension, so let's see... + char fingerprint[3][4] = { + { 0x04, 0x00, 0x00, 0x00 }, // @ $500 + { 0x03, 0x00, 0x05, 0x00 }, // @ $700 + { 0x02, 0x00, 0x04, 0x00 } }; // @ $900 + + if ((strcmp((char *)(disk[driveNum] + 0x500), fingerprint[0]) == 0) + && (strcmp((char *)(disk[driveNum] + 0x700), fingerprint[1]) == 0) + && (strcmp((char *)(disk[driveNum] + 0x900), fingerprint[2]) == 0)) + diskType[driveNum] = DT_PRODOS; +//*/ + } + + NybblizeImage(driveNum); + } +WriteLog("FLOPPY: Detected image type %s...\n", (diskType[driveNum] == DT_NYBBLE ? + "Nybble image" : (diskType[driveNum] == DT_DOS33 ? + "DOS 3.3 image" : (diskType[driveNum] == DT_PRODOS ? "ProDOS image" : "unknown")))); +} + +void FloppyDrive::NybblizeImage(uint8 driveNum) +{ + // Format of a sector is header (23) + nybbles (343) + footer (30) = 396 + // (short by 20 bytes of 416 [413 if 48 byte header is one time only]) +// Hmph. Who'da thunk that AppleWin's nybblization routines would be wrong? +// This is now correct, BTW + // hdr (21) + nybbles (343) + footer (48) = 412 bytes per sector + // (not incl. 64 byte track marker) + + uint8 footer[48] = { + 0xDE, 0xAA, 0xEB, 0xFF, 0xEB, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }; + + uint8 diskbyte[0x40] = { + 0x96, 0x97, 0x9A, 0x9B, 0x9D, 0x9E, 0x9F, 0xA6, + 0xA7, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB2, 0xB3, + 0xB4, 0xB5, 0xB6, 0xB7, 0xB9, 0xBA, 0xBB, 0xBC, + 0xBD, 0xBE, 0xBF, 0xCB, 0xCD, 0xCE, 0xCF, 0xD3, + 0xD6, 0xD7, 0xD9, 0xDA, 0xDB, 0xDC, 0xDD, 0xDE, + 0xDF, 0xE5, 0xE6, 0xE7, 0xE9, 0xEA, 0xEB, 0xEC, + 0xED, 0xEE, 0xEF, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, + 0xF7, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF }; + + uint8 * img = nybblizedImage[driveNum]; + memset(img, 0xFF, 232960); // Doesn't matter if 00s or FFs... + + for(uint8 trk=0; trk<35; trk++) + { + memset(img, 0xFF, 64); // Write gap 1, 64 bytes (self-sync) + img += 64; + + for(uint8 sector=0; sector<16; sector++) + { + memcpy(img, header, 21); // Set up the sector header + + img[5] = ((trk >> 1) & 0x55) | 0xAA; + img[6] = (trk & 0x55) | 0xAA; + img[7] = ((sector >> 1) & 0x55) | 0xAA; + img[8] = (sector & 0x55) | 0xAA; + img[9] = (((trk ^ sector ^ 0xFE) >> 1) & 0x55) | 0xAA; + img[10] = ((trk ^ sector ^ 0xFE) & 0x55) | 0xAA; + + img += 21; + uint8 * bytes = disk[driveNum]; + + if (diskType[driveNum] == DT_DOS33) + bytes += (doSector[sector] * 256) + (trk * 256 * 16); + else if (diskType[driveNum] == DT_PRODOS) + bytes += (poSector[sector] * 256) + (trk * 256 * 16); + else + bytes += (sector * 256) + (trk * 256 * 16); + + // Convert the 256 8-bit bytes into 342 6-bit bytes. + + for(uint16 i=0; i<0x56; i++) + { + img[i] = ((bytes[(i + 0xAC) & 0xFF] & 0x01) << 7) + | ((bytes[(i + 0xAC) & 0xFF] & 0x02) << 5) + | ((bytes[(i + 0x56) & 0xFF] & 0x01) << 5) + | ((bytes[(i + 0x56) & 0xFF] & 0x02) << 3) + | ((bytes[(i + 0x00) & 0xFF] & 0x01) << 3) + | ((bytes[(i + 0x00) & 0xFF] & 0x02) << 1); + } + + img[0x54] &= 0x3F; + img[0x55] &= 0x3F; + memcpy(img + 0x56, bytes, 256); + + // XOR the data block with itself, offset by one byte, + // creating a 343rd byte which is used as a cheksum. + + img[342] = 0x00; + + for(uint16 i=342; i>0; i--) + img[i] = img[i] ^ img[i - 1]; + + // Using a lookup table, convert the 6-bit bytes into disk bytes. + + for(uint16 i=0; i<343; i++) + img[i] = diskbyte[img[i] >> 2]; + + img += 343; + + // Done with the nybblization, now for the epilogue... + + memcpy(img, footer, 48); + img += 48; + } + } +} + +void FloppyDrive::DenybblizeImage(uint8 driveNum) +{ + uint8 decodeNybble[0x80] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, + 0x00, 0x00, 0x08, 0x0C, 0x00, 0x10, 0x14, 0x18, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, + 0x00, 0x00, 0x00, 0x24, 0x28, 0x2C, 0x30, 0x34, + 0x00, 0x00, 0x38, 0x3C, 0x40, 0x44, 0x48, 0x4C, + 0x00, 0x50, 0x54, 0x58, 0x5C, 0x60, 0x64, 0x68, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x6C, 0x00, 0x70, 0x74, 0x78, + 0x00, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x80, 0x84, + 0x00, 0x88, 0x8C, 0x90, 0x94, 0x98, 0x9C, 0xA0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xA4, 0xA8, 0xAC, + 0x00, 0xB0, 0xB4, 0xB8, 0xBC, 0xC0, 0xC4, 0xC8, + 0x00, 0x00, 0xCC, 0xD0, 0xD4, 0xD8, 0xDC, 0xE0, + 0x00, 0xE4, 0xE8, 0xEC, 0xF0, 0xF4, 0xF8, 0xFC }; + + // Sanity checks... + if (disk[driveNum] == NULL || diskSize[driveNum] < 143360) + { + WriteLog("FLOPPY: Source disk image invalid! [drive=%u, disk=%08X, diskSize=%u]\n", + driveNum, disk[driveNum], diskSize[driveNum]); + return; + } + + uint8 * srcImg = nybblizedImage[driveNum]; + uint8 * dstImg = disk[driveNum]; + uint8 buffer[345]; // 2 extra bytes for the unpack routine below... + + for(uint8 trk=0; trk<35; trk++) + { + uint8 * trackBase = srcImg + (trk * 6656); + + for(uint8 sector=0; sector<16; sector++) + { + uint16 sectorStart = (uint16)-1; + + for(uint16 i=0; i<6656; i++) + { + if (trackBase[i] == header[0] + && trackBase[(i + 1) % 6656] == header[1] + && trackBase[(i + 2) % 6656] == header[2] + && trackBase[(i + 3) % 6656] == header[3] + && trackBase[(i + 4) % 6656] == header[4]) + { +//Could also check the track # at +5,6... + uint8 foundSector = ((trackBase[(i + 7) % 6656] & 0x55) << 1) + | (trackBase[(i + 8) % 6656] & 0x55); + + if (foundSector == sector) + { + sectorStart = (i + 21) % 6656; + break; + } + } + } + + // Sanity check... + if (sectorStart == (uint16)-1) + { + WriteLog("FLOPPY: Failed to find sector %u (track %u) in nybble image!\n", + sector, trk); + return; + } + + // Using a lookup table, convert the disk bytes into 6-bit bytes. + + for(uint16 i=0; i<343; i++) + buffer[i] = decodeNybble[trackBase[(sectorStart + i) % 6656] & 0x7F]; + + // XOR the data block with itself, offset by one byte. + + for(uint16 i=1; i<342; i++) + buffer[i] = buffer[i] ^ buffer[i - 1]; + + // Convert the 342 6-bit bytes into 256 8-bit bytes (at buffer + $56). + + for(uint16 i=0; i<0x56; i++) + { + buffer[0x056 + i] |= ((buffer[i] >> 3) & 0x01) | ((buffer[i] >> 1) & 0x02); + buffer[0x0AC + i] |= ((buffer[i] >> 5) & 0x01) | ((buffer[i] >> 3) & 0x02); + buffer[0x102 + i] |= ((buffer[i] >> 7) & 0x01) | ((buffer[i] >> 5) & 0x02); + } + + uint8 * bytes = dstImg; + + if (diskType[driveNum] == DT_DOS33) + bytes += (doSector[sector] * 256) + (trk * 256 * 16); + else if (diskType[driveNum] == DT_PRODOS) + bytes += (poSector[sector] * 256) + (trk * 256 * 16); + else + bytes += (sector * 256) + (trk * 256 * 16);//*/ + + memcpy(bytes, buffer + 0x56, 256); + } + } +} + +// Memory mapped I/O functions + +/* +The DSK format is a byte-for-byte image of a 16-sector Apple II floppy disk: 35 tracks of 16 +sectors of 256 bytes each, making 143,360 bytes in total. The PO format is exactly the same +size as DSK and is also organized as 35 sequential tracks, but the sectors within each track +are in a different sequence. The NIB format is a nybblized format: a more direct representation +of the disk's data as encoded by the Apple II floppy drive hardware. NIB contains 35 tracks of +6656 bytes each, for a total size of 232,960 bytes. Although this format is much larger, it is +also more versatile and can represent the older 13-sector disks, many copy-protected disks, and +other unusual encodings. +*/ + +void FloppyDrive::ControlStepper(uint8 addr) +{ + // $C0E0 - 7 +/* +What I can gather here: +bits 1-2 are the "phase" of the track (which is 1/4 of a full track (?)) +bit 0 is the "do something" bit. +*/ + if (addr & 0x01) + { + uint8 newPhase = (addr >> 1) & 0x03; +//WriteLog("*** Stepper change [%u]: track = %u, phase = %u, newPhase = %u\n", addr, track, phase, newPhase); + + if (((phase + 1) & 0x03) == newPhase) + phase += (phase < 79 ? 1 : 0); + + if (((phase - 1) & 0x03) == newPhase) + phase -= (phase > 0 ? 1 : 0); + + if (!(phase & 0x01)) + { + track = ((phase >> 1) < 35 ? phase >> 1 : 34); + currentPos = 0; + } +//WriteLog(" track = %u, phase = %u, newPhase = %u\n", track, phase, newPhase); +SpawnMessage("Stepping to track %u...", track); + } + +// return something if read mode... +} + +void FloppyDrive::ControlMotor(uint8 addr) +{ + // $C0E8 - 9 + motorOn = addr; +} + +void FloppyDrive::DriveEnable(uint8 addr) +{ + // $C0EA - B + activeDrive = addr; +} + +uint8 FloppyDrive::ReadWrite(void) +{ +SpawnMessage("%sing %s track %u, sector %u...", (ioMode == IO_MODE_READ ? "Read" : "Write"), + (ioMode == IO_MODE_READ ? "from" : "to"), track, currentPos / 396); + // $C0EC +/* +I think what happens here is that once a track is read its nybblized form +is fed through here, one byte at a time--which means for DO disks, we have +to convert the actual 256 byte sector to a 416 byte nybblized data "sector". +Which we now do. :-) +*/ + if (ioMode == IO_MODE_WRITE && (latchValue & 0x80)) + { + nybblizedImage[activeDrive][(track * 6656) + currentPos] = latchValue; + imageDirty[activeDrive] = true; + } + + uint8 diskByte = nybblizedImage[activeDrive][(track * 6656) + currentPos]; + currentPos = (currentPos + 1) % 6656; + + return diskByte; +} + +uint8 FloppyDrive::GetLatchValue(void) +{ + // $C0ED + return latchValue; +} + +void FloppyDrive::SetLatchValue(uint8 value) +{ + // $C0ED + latchValue = value; +} + +void FloppyDrive::SetReadMode(void) +{ + // $C0EE + ioMode = IO_MODE_READ; +} + +void FloppyDrive::SetWriteMode(void) +{ + // $C0EF + ioMode = IO_MODE_WRITE; +} diff --git a/src/floppy.h b/src/floppy.h index 45e8ce4..d0207ca 100755 --- a/src/floppy.h +++ b/src/floppy.h @@ -1,69 +1,69 @@ -// -// Apple 2 floppy disk support -// - -#ifndef __FLOPPY_H__ -#define __FLOPPY_H__ - -// MAX_PATH isn't defined in stdlib.h on *nix, so we do it here... -#ifdef __GCCUNIX__ -#include -#define MAX_PATH _POSIX_PATH_MAX -#else -#include // for MAX_PATH on MinGW/Darwin -#endif -#include "types.h" - -enum { DT_UNKNOWN, DT_DOS33, DT_PRODOS, DT_NYBBLE }; - -class FloppyDrive -{ - public: - FloppyDrive(); - ~FloppyDrive(); - - bool LoadImage(const char * filename, uint8 driveNum = 0); - bool SaveImage(uint8 driveNum = 0); - bool SaveImageAs(const char * filename, uint8 driveNum = 0); - void CreateBlankImage(uint8 driveNum = 0); - void SwapImages(void); - - // I/O functions ($C0Ex accesses) - - void ControlStepper(uint8 addr); - void ControlMotor(uint8 addr); - void DriveEnable(uint8 addr); - uint8 ReadWrite(void); - uint8 GetLatchValue(void); - void SetLatchValue(uint8 value); - void SetReadMode(void); - void SetWriteMode(void); - - protected: - void DetectImageType(const char * filename, uint8 driveNum); - void NybblizeImage(uint8 driveNum); - void DenybblizeImage(uint8 driveNum); - - private: - char imageName[2][MAX_PATH]; - uint8 * disk[2]; - uint32 diskSize[2]; - uint8 diskType[2]; - bool imageDirty[2]; - uint8 motorOn; - uint8 activeDrive; - uint8 ioMode; - uint8 latchValue; - uint8 phase; - uint8 track; - - uint8 nybblizedImage[2][232960]; - uint32 currentPos; - - // And here are some private class variables (to reduce function redundancy): - static uint8 header[21]; - static uint8 doSector[16]; - static uint8 poSector[16]; -}; - -#endif // __FLOPPY_H__ +// +// Apple 2 floppy disk support +// + +#ifndef __FLOPPY_H__ +#define __FLOPPY_H__ + +// MAX_PATH isn't defined in stdlib.h on *nix, so we do it here... +#ifdef __GCCUNIX__ +#include +#define MAX_PATH _POSIX_PATH_MAX +#else +#include // for MAX_PATH on MinGW/Darwin +#endif +#include "types.h" + +enum { DT_UNKNOWN, DT_DOS33, DT_PRODOS, DT_NYBBLE }; + +class FloppyDrive +{ + public: + FloppyDrive(); + ~FloppyDrive(); + + bool LoadImage(const char * filename, uint8 driveNum = 0); + bool SaveImage(uint8 driveNum = 0); + bool SaveImageAs(const char * filename, uint8 driveNum = 0); + void CreateBlankImage(uint8 driveNum = 0); + void SwapImages(void); + + // I/O functions ($C0Ex accesses) + + void ControlStepper(uint8 addr); + void ControlMotor(uint8 addr); + void DriveEnable(uint8 addr); + uint8 ReadWrite(void); + uint8 GetLatchValue(void); + void SetLatchValue(uint8 value); + void SetReadMode(void); + void SetWriteMode(void); + + protected: + void DetectImageType(const char * filename, uint8 driveNum); + void NybblizeImage(uint8 driveNum); + void DenybblizeImage(uint8 driveNum); + + private: + char imageName[2][MAX_PATH]; + uint8 * disk[2]; + uint32 diskSize[2]; + uint8 diskType[2]; + bool imageDirty[2]; + uint8 motorOn; + uint8 activeDrive; + uint8 ioMode; + uint8 latchValue; + uint8 phase; + uint8 track; + + uint8 nybblizedImage[2][232960]; + uint32 currentPos; + + // And here are some private class variables (to reduce function redundancy): + static uint8 header[21]; + static uint8 doSector[16]; + static uint8 poSector[16]; +}; + +#endif // __FLOPPY_H__ diff --git a/src/icon.h b/src/icon.h index e2c6693..c91e619 100755 --- a/src/icon.h +++ b/src/icon.h @@ -1,38 +1,38 @@ -// -// This file was automagically generated by raw2c (by James L. Hammons) -// - -char icon[0x1000] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86, 0x86, 0x86, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86, 0x86, 0x86, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86, 0x86, 0x86, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; +// +// This file was automagically generated by raw2c (by James L. Hammons) +// + +char icon[0x1000] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0xFF, 0x99, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x80, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86, 0x86, 0x86, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86, 0x86, 0x86, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86, 0x86, 0x86, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x86, 0x86, 0x86, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}; diff --git a/src/log.cpp b/src/log.cpp index 98c6658..7605566 100755 --- a/src/log.cpp +++ b/src/log.cpp @@ -1,65 +1,65 @@ -// -// Log handler -// -// by James L. Hammons -// (C) 2006 Underground Software -// -// JLH = James L. Hammons -// -// WHO WHEN WHAT -// --- ---------- ------------------------------------------------------------ -// JLH 01/03/2006 Moved includes out of header file for faster compilation -// - -#include "log.h" - -#include -#include -#include -#include "types.h" - -#define MAX_LOG_SIZE 10000000 // Maximum size of log file (10 MB) - -static FILE * log_stream = NULL; -static uint32 logSize = 0; - -bool InitLog(char * path) -{ - log_stream = fopen(path, "wrt"); - - if (log_stream == NULL) - return false; - - return true; -} - -void LogDone(void) -{ - if (log_stream) - fclose(log_stream); -} - -// -// This logger is used mainly to ensure that text gets written to the log file -// even if the program crashes. The performance hit is acceptable in this case! -// -void WriteLog(const char * text, ...) -{ - if (!log_stream) - return; - - va_list arg; - - va_start(arg, text); - logSize += vfprintf(log_stream, text, arg); - - if (logSize > MAX_LOG_SIZE) - { - fflush(log_stream); - fclose(log_stream); - exit(1); - }//*/ - - va_end(arg); - fflush(log_stream); // Make sure that text is written! -} +// +// Log handler +// +// by James L. Hammons +// (C) 2006 Underground Software +// +// JLH = James L. Hammons +// +// WHO WHEN WHAT +// --- ---------- ------------------------------------------------------------ +// JLH 01/03/2006 Moved includes out of header file for faster compilation +// + +#include "log.h" + +#include +#include +#include +#include "types.h" + +#define MAX_LOG_SIZE 10000000 // Maximum size of log file (10 MB) + +static FILE * log_stream = NULL; +static uint32 logSize = 0; + +bool InitLog(char * path) +{ + log_stream = fopen(path, "wrt"); + + if (log_stream == NULL) + return false; + + return true; +} + +void LogDone(void) +{ + if (log_stream) + fclose(log_stream); +} + +// +// This logger is used mainly to ensure that text gets written to the log file +// even if the program crashes. The performance hit is acceptable in this case! +// +void WriteLog(const char * text, ...) +{ + if (!log_stream) + return; + + va_list arg; + + va_start(arg, text); + logSize += vfprintf(log_stream, text, arg); + + if (logSize > MAX_LOG_SIZE) + { + fflush(log_stream); + fclose(log_stream); + exit(1); + }//*/ + + va_end(arg); + fflush(log_stream); // Make sure that text is written! +} diff --git a/src/log.h b/src/log.h index 8c12fcb..7e9396e 100755 --- a/src/log.h +++ b/src/log.h @@ -1,22 +1,22 @@ -// -// LOG.H -// - -#ifndef __LOG_H__ -#define __LOG_H__ - -// Make this header work with either C or C++ - -#ifdef __cplusplus -extern "C" { -#endif - -bool InitLog(char *); -void LogDone(void); -void WriteLog(const char * text, ...); - -#ifdef __cplusplus -} -#endif - -#endif // __LOG_H__ +// +// LOG.H +// + +#ifndef __LOG_H__ +#define __LOG_H__ + +// Make this header work with either C or C++ + +#ifdef __cplusplus +extern "C" { +#endif + +bool InitLog(char *); +void LogDone(void); +void WriteLog(const char * text, ...); + +#ifdef __cplusplus +} +#endif + +#endif // __LOG_H__ diff --git a/src/sound.cpp b/src/sound.cpp index 8dfbcb3..ab7802b 100755 --- a/src/sound.cpp +++ b/src/sound.cpp @@ -1,233 +1,233 @@ -// -// Sound Interface -// -// by James L. Hammons -// (C) 2005 Underground Software -// -// JLH = James L. Hammons -// -// WHO WHEN WHAT -// --- ---------- ------------------------------------------------------------ -// JLH 12/02/2005 Fixed a problem with sound callback thread signaling the -// main thread -// JLH 12/03/2005 Fixed sound callback dropping samples when the sample buffer -// is shorter than the callback sample buffer -// - -// STILL TO DO: -// -// - Figure out why it's losing samples (Bard's Tale) [DONE] -// - -#include "sound.h" - -#include // For memset, memcpy -#include -#include "log.h" - -using namespace std; - -// Global variables - - -// Local variables - -static SDL_AudioSpec desired; -static bool soundInitialized = false; -static uint8 amplitude = 0x88; // $78 - $88 seems to be plenty loud! -//static uint8 lastValue; - -static bool speakerState; -static uint8 soundBuffer[4096]; -static uint32 soundBufferPos; -static uint32 sampleBase; -static SDL_cond * conditional = NULL; -static SDL_mutex * mutex = NULL; - -// Private function prototypes - -static void SDLSoundCallback(void * userdata, Uint8 * buffer, int length); - -// -// Initialize the SDL sound system -// -void SoundInit(void) -{ -// To weed out problems for now... -#if 0 -return; -#endif - - desired.freq = 44100; // SDL will do conversion on the fly, if it can't get the exact rate. Nice! - desired.format = AUDIO_U8; // This uses the native endian (for portability)... - desired.channels = 1; -// desired.samples = 4096; // Let's try a 4K buffer (can always go lower) - desired.samples = 2048; // Let's try a 2K buffer (can always go lower) - desired.callback = SDLSoundCallback; - - if (SDL_OpenAudio(&desired, NULL) < 0) // NULL means SDL guarantees what we want - { - WriteLog("Sound: Failed to initialize SDL sound.\n"); -// exit(1); - return; - } - - conditional = SDL_CreateCond(); - mutex = SDL_CreateMutex(); - SDL_mutexP(mutex); // Must lock the mutex for the cond to work properly... -// lastValue = (speakerState ? amplitude : 0xFF - amplitude); - soundBufferPos = 0; - sampleBase = 0; - - SDL_PauseAudio(false); // Start playback! - soundInitialized = true; - WriteLog("Sound: Successfully initialized.\n"); -} - -// -// Close down the SDL sound subsystem -// -void SoundDone(void) -{ - if (soundInitialized) - { - SDL_PauseAudio(true); - SDL_CloseAudio(); - SDL_DestroyCond(conditional); - SDL_DestroyMutex(mutex); - WriteLog("Sound: Done.\n"); - } -} - -// -// Sound card callback handler -// -static void SDLSoundCallback(void * userdata, Uint8 * buffer, int length) -{ - // The sound buffer should only starve when starting which will cause it to - // lag behind the emulation at most by around 1 frame... - - if (soundBufferPos < (uint32)length) // The sound buffer is starved... - { -//printf("Sound buffer starved!\n"); -//fflush(stdout); - for(uint32 i=0; i 0) -// memcpy(soundBuffer, soundBuffer + length, soundBufferPos); // Move current buffer down to start -// memcpy(soundBuffer, soundBuffer + length, length); - // Move current buffer down to start - for(uint32 i=0; i 95085)//(time & 0x80000000) -{ - WriteLog("ToggleSpeaker() given bad time value: %08X (%u)!\n", time, time); -// fflush(stdout); -} -#endif - -// 1.024 MHz / 60 = 17066.6... cycles (23.2199 cycles per sample) -// Need the last frame position in order to calculate correctly... - - SDL_LockAudio(); - uint8 sample = (speakerState ? amplitude : 0xFF - amplitude); -// uint8 sample = (speakerState ? amplitude : amplitude ^ 0xFF); - uint32 currentPos = sampleBase + (uint32)((double)time / 23.2199); - - if (currentPos > 4095) - { -#if 0 -WriteLog("ToggleSpeaker() about to go into spinlock at time: %08X (%u) (sampleBase=%u)!\n", time, time, sampleBase); -#endif -// Still hanging on this spinlock... -// That could be because the "time" value is too high and so the buffer will NEVER be -// empty enough... -// Now that we're using a conditional, it seems to be working OK--though not perfectly... -/* -ToggleSpeaker() about to go into spinlock at time: 00004011 (16401) (sampleBase=3504)! -16401 -> 706 samples, 3504 + 706 = 4210 - -And it still thrashed the sound even though it didn't run into a spinlock... - -Seems like it's OK now that I've fixed the buffer-less-than-length bug... -*/ - SDL_UnlockAudio(); - SDL_CondWait(conditional, mutex); - -// while (currentPos > 4095) // Spin until buffer empties a bit... - currentPos = sampleBase + (uint32)((double)time / 23.2199); - SDL_LockAudio(); -#if 0 -WriteLog("--> after spinlock (sampleBase=%u)...\n", sampleBase); -#endif - } - - while (soundBufferPos < currentPos) - soundBuffer[soundBufferPos++] = sample; - - speakerState = !speakerState; - SDL_UnlockAudio(); -} - -void HandleSoundAtFrameEdge(void) -{ - if (!soundInitialized) - return; - - SDL_LockAudio(); - sampleBase += 735; - SDL_UnlockAudio(); -/* uint8 sample = (speakerState ? amplitude : 0xFF - amplitude); - -//This shouldn't happen (buffer overflow), but it seems like it *is* happening... - if (sampleBase >= 4096) -// sampleBase = 4095; -//Kludge, for now... Until I can figure out why it's still stomping on the buffer... - sampleBase = 0; - - while (soundBufferPos < sampleBase) - soundBuffer[soundBufferPos++] = sample;//*/ -} +// +// Sound Interface +// +// by James L. Hammons +// (C) 2005 Underground Software +// +// JLH = James L. Hammons +// +// WHO WHEN WHAT +// --- ---------- ------------------------------------------------------------ +// JLH 12/02/2005 Fixed a problem with sound callback thread signaling the +// main thread +// JLH 12/03/2005 Fixed sound callback dropping samples when the sample buffer +// is shorter than the callback sample buffer +// + +// STILL TO DO: +// +// - Figure out why it's losing samples (Bard's Tale) [DONE] +// + +#include "sound.h" + +#include // For memset, memcpy +#include +#include "log.h" + +using namespace std; + +// Global variables + + +// Local variables + +static SDL_AudioSpec desired; +static bool soundInitialized = false; +static uint8 amplitude = 0x88; // $78 - $88 seems to be plenty loud! +//static uint8 lastValue; + +static bool speakerState; +static uint8 soundBuffer[4096]; +static uint32 soundBufferPos; +static uint32 sampleBase; +static SDL_cond * conditional = NULL; +static SDL_mutex * mutex = NULL; + +// Private function prototypes + +static void SDLSoundCallback(void * userdata, Uint8 * buffer, int length); + +// +// Initialize the SDL sound system +// +void SoundInit(void) +{ +// To weed out problems for now... +#if 0 +return; +#endif + + desired.freq = 44100; // SDL will do conversion on the fly, if it can't get the exact rate. Nice! + desired.format = AUDIO_U8; // This uses the native endian (for portability)... + desired.channels = 1; +// desired.samples = 4096; // Let's try a 4K buffer (can always go lower) + desired.samples = 2048; // Let's try a 2K buffer (can always go lower) + desired.callback = SDLSoundCallback; + + if (SDL_OpenAudio(&desired, NULL) < 0) // NULL means SDL guarantees what we want + { + WriteLog("Sound: Failed to initialize SDL sound.\n"); +// exit(1); + return; + } + + conditional = SDL_CreateCond(); + mutex = SDL_CreateMutex(); + SDL_mutexP(mutex); // Must lock the mutex for the cond to work properly... +// lastValue = (speakerState ? amplitude : 0xFF - amplitude); + soundBufferPos = 0; + sampleBase = 0; + + SDL_PauseAudio(false); // Start playback! + soundInitialized = true; + WriteLog("Sound: Successfully initialized.\n"); +} + +// +// Close down the SDL sound subsystem +// +void SoundDone(void) +{ + if (soundInitialized) + { + SDL_PauseAudio(true); + SDL_CloseAudio(); + SDL_DestroyCond(conditional); + SDL_DestroyMutex(mutex); + WriteLog("Sound: Done.\n"); + } +} + +// +// Sound card callback handler +// +static void SDLSoundCallback(void * userdata, Uint8 * buffer, int length) +{ + // The sound buffer should only starve when starting which will cause it to + // lag behind the emulation at most by around 1 frame... + + if (soundBufferPos < (uint32)length) // The sound buffer is starved... + { +//printf("Sound buffer starved!\n"); +//fflush(stdout); + for(uint32 i=0; i 0) +// memcpy(soundBuffer, soundBuffer + length, soundBufferPos); // Move current buffer down to start +// memcpy(soundBuffer, soundBuffer + length, length); + // Move current buffer down to start + for(uint32 i=0; i 95085)//(time & 0x80000000) +{ + WriteLog("ToggleSpeaker() given bad time value: %08X (%u)!\n", time, time); +// fflush(stdout); +} +#endif + +// 1.024 MHz / 60 = 17066.6... cycles (23.2199 cycles per sample) +// Need the last frame position in order to calculate correctly... + + SDL_LockAudio(); + uint8 sample = (speakerState ? amplitude : 0xFF - amplitude); +// uint8 sample = (speakerState ? amplitude : amplitude ^ 0xFF); + uint32 currentPos = sampleBase + (uint32)((double)time / 23.2199); + + if (currentPos > 4095) + { +#if 0 +WriteLog("ToggleSpeaker() about to go into spinlock at time: %08X (%u) (sampleBase=%u)!\n", time, time, sampleBase); +#endif +// Still hanging on this spinlock... +// That could be because the "time" value is too high and so the buffer will NEVER be +// empty enough... +// Now that we're using a conditional, it seems to be working OK--though not perfectly... +/* +ToggleSpeaker() about to go into spinlock at time: 00004011 (16401) (sampleBase=3504)! +16401 -> 706 samples, 3504 + 706 = 4210 + +And it still thrashed the sound even though it didn't run into a spinlock... + +Seems like it's OK now that I've fixed the buffer-less-than-length bug... +*/ + SDL_UnlockAudio(); + SDL_CondWait(conditional, mutex); + +// while (currentPos > 4095) // Spin until buffer empties a bit... + currentPos = sampleBase + (uint32)((double)time / 23.2199); + SDL_LockAudio(); +#if 0 +WriteLog("--> after spinlock (sampleBase=%u)...\n", sampleBase); +#endif + } + + while (soundBufferPos < currentPos) + soundBuffer[soundBufferPos++] = sample; + + speakerState = !speakerState; + SDL_UnlockAudio(); +} + +void HandleSoundAtFrameEdge(void) +{ + if (!soundInitialized) + return; + + SDL_LockAudio(); + sampleBase += 735; + SDL_UnlockAudio(); +/* uint8 sample = (speakerState ? amplitude : 0xFF - amplitude); + +//This shouldn't happen (buffer overflow), but it seems like it *is* happening... + if (sampleBase >= 4096) +// sampleBase = 4095; +//Kludge, for now... Until I can figure out why it's still stomping on the buffer... + sampleBase = 0; + + while (soundBufferPos < sampleBase) + soundBuffer[soundBufferPos++] = sample;//*/ +} diff --git a/src/sound.h b/src/sound.h index 85dcf4d..979b615 100755 --- a/src/sound.h +++ b/src/sound.h @@ -1,23 +1,23 @@ -// -// SOUND.H -// -// by James L. Hammons -// (C) 2004 Underground Software -// - -#ifndef __SOUND_H__ -#define __SOUND_H__ - -#include "types.h" - -// Global variables (exported) - - -// Functions - -void SoundInit(void); -void SoundDone(void); -void ToggleSpeaker(uint32 time); -void HandleSoundAtFrameEdge(void); - -#endif // __SOUND_H__ +// +// SOUND.H +// +// by James L. Hammons +// (C) 2004 Underground Software +// + +#ifndef __SOUND_H__ +#define __SOUND_H__ + +#include "types.h" + +// Global variables (exported) + + +// Functions + +void SoundInit(void); +void SoundDone(void); +void ToggleSpeaker(uint32 time); +void HandleSoundAtFrameEdge(void); + +#endif // __SOUND_H__ diff --git a/src/v65c02.cpp b/src/v65c02.cpp index 1538f53..a98c16f 100755 --- a/src/v65c02.cpp +++ b/src/v65c02.cpp @@ -1,2372 +1,2372 @@ -// -// Virtual 65C02 Emulator v1.0 -// -// by James L. Hammons -// (c) 2005 Underground Software -// -// JLH = James L. Hammons -// -// WHO WHEN WHAT -// --- ---------- ------------------------------------------------------------ -// JLH 01/04/2006 Added changelog ;-) -// - -//OK, the wraparound bug exists in both the Apple and Atari versions of Ultima II. -//However, the Atari version *does* occassionally pick strength while the Apple -//versions do not--which would seem to indicate a bug either in the RNG algorithm, -//the 65C02 core, or the Apple hardware. Need to investigate all three! - -#define __DEBUG__ -//#define __DEBUGMON__ - -#include "v65c02.h" - -#ifdef __DEBUG__ -#include "dis65c02.h" -#include "log.h" -#endif - -// Various macros - -#define CLR_Z (regs.cc &= ~FLAG_Z) -#define CLR_ZN (regs.cc &= ~(FLAG_Z | FLAG_N)) -#define CLR_ZNC (regs.cc &= ~(FLAG_Z | FLAG_N | FLAG_C)) -#define CLR_V (regs.cc &= ~FLAG_V) -#define CLR_N (regs.cc &= ~FLAG_N) -#define SET_Z(r) (regs.cc = ((r) == 0 ? regs.cc | FLAG_Z : regs.cc & ~FLAG_Z)) -#define SET_N(r) (regs.cc = ((r) & 0x80 ? regs.cc | FLAG_N : regs.cc & ~FLAG_N)) - -//Not sure that this code is computing the carry correctly... Investigate! [Seems to be] -#define SET_C_ADD(a,b) (regs.cc = ((uint8)(b) > (uint8)(~(a)) ? regs.cc | FLAG_C : regs.cc & ~FLAG_C)) -//#define SET_C_SUB(a,b) (regs.cc = ((uint8)(b) >= (uint8)(a) ? regs.cc | FLAG_C : regs.cc & ~FLAG_C)) -#define SET_C_CMP(a,b) (regs.cc = ((uint8)(b) >= (uint8)(a) ? regs.cc | FLAG_C : regs.cc & ~FLAG_C)) -#define SET_ZN(r) SET_N(r); SET_Z(r) -#define SET_ZNC_ADD(a,b,r) SET_N(r); SET_Z(r); SET_C_ADD(a,b) -//#define SET_ZNC_SUB(a,b,r) SET_N(r); SET_Z(r); SET_C_SUB(a,b) -#define SET_ZNC_CMP(a,b,r) SET_N(r); SET_Z(r); SET_C_CMP(a,b) - -//Small problem with the EA_ macros: ABS macros don't increment the PC!!! !!! FIX !!! -#define EA_IMM regs.pc++ -#define EA_ZP regs.RdMem(regs.pc++) -#define EA_ZP_X (regs.RdMem(regs.pc++) + regs.x) & 0xFF -#define EA_ZP_Y (regs.RdMem(regs.pc++) + regs.y) & 0xFF -#define EA_ABS RdMemW(regs.pc) -#define EA_ABS_X RdMemW(regs.pc) + regs.x -#define EA_ABS_Y RdMemW(regs.pc) + regs.y -#define EA_IND_ZP_X RdMemW((regs.RdMem(regs.pc++) + regs.x) & 0xFF) -#define EA_IND_ZP_Y RdMemW(regs.RdMem(regs.pc++)) + regs.y -#define EA_IND_ZP RdMemW(regs.RdMem(regs.pc++)) - -#define READ_IMM regs.RdMem(EA_IMM) -#define READ_ZP regs.RdMem(EA_ZP) -#define READ_ZP_X regs.RdMem(EA_ZP_X) -#define READ_ZP_Y regs.RdMem(EA_ZP_Y) -#define READ_ABS regs.RdMem(EA_ABS); regs.pc += 2 -#define READ_ABS_X regs.RdMem(EA_ABS_X); regs.pc += 2 -#define READ_ABS_Y regs.RdMem(EA_ABS_Y); regs.pc += 2 -#define READ_IND_ZP_X regs.RdMem(EA_IND_ZP_X) -#define READ_IND_ZP_Y regs.RdMem(EA_IND_ZP_Y) -#define READ_IND_ZP regs.RdMem(EA_IND_ZP) - -#define READ_IMM_WB(v) uint16 addr = EA_IMM; v = regs.RdMem(addr) -#define READ_ZP_WB(v) uint16 addr = EA_ZP; v = regs.RdMem(addr) -#define READ_ZP_X_WB(v) uint16 addr = EA_ZP_X; v = regs.RdMem(addr) -#define READ_ABS_WB(v) uint16 addr = EA_ABS; v = regs.RdMem(addr); regs.pc += 2 -#define READ_ABS_X_WB(v) uint16 addr = EA_ABS_X; v = regs.RdMem(addr); regs.pc += 2 -#define READ_ABS_Y_WB(v) uint16 addr = EA_ABS_Y; v = regs.RdMem(addr); regs.pc += 2 -#define READ_IND_ZP_X_WB(v) uint16 addr = EA_IND_ZP_X; v = regs.RdMem(addr) -#define READ_IND_ZP_Y_WB(v) uint16 addr = EA_IND_ZP_Y; v = regs.RdMem(addr) -#define READ_IND_ZP_WB(v) uint16 addr = EA_IND_ZP; v = regs.RdMem(addr) - -#define WRITE_BACK(d) regs.WrMem(addr, (d)) - -// Private global variables - -static V65C02REGS regs; - -//This is probably incorrect, at least WRT to the $x7 and $xF opcodes... !!! FIX !!! -//Also this doesn't take into account the extra cycle it takes when an indirect fetch -//(ABS, ABS X/Y, ZP) crosses a page boundary, or extra cycle for BCD add/subtract... -#warning Cycle counts are not accurate--!!! FIX !!! -static uint8 CPUCycles[256] = { - 7, 6, 1, 1, 5, 3, 5, 1, 3, 2, 2, 1, 6, 4, 6, 1, - 2, 5, 5, 1, 5, 4, 6, 1, 2, 4, 2, 1, 6, 4, 6, 1, - 6, 6, 1, 1, 3, 3, 5, 1, 4, 2, 2, 1, 4, 4, 6, 1, - 2, 5, 5, 1, 4, 4, 6, 1, 2, 4, 2, 1, 4, 4, 6, 1, - 6, 6, 1, 1, 1, 3, 5, 1, 3, 2, 2, 1, 3, 4, 6, 1, - 2, 5, 5, 1, 1, 4, 6, 1, 2, 4, 3, 1, 1, 4, 6, 1, - 6, 6, 1, 1, 3, 3, 5, 1, 4, 2, 2, 1, 6, 4, 6, 1, - 2, 5, 5, 1, 4, 4, 6, 1, 2, 4, 4, 1, 6, 4, 6, 1, - 2, 6, 1, 1, 3, 3, 3, 1, 2, 2, 2, 1, 4, 4, 4, 1, - 2, 6, 5, 1, 4, 4, 4, 1, 2, 5, 2, 1, 4, 5, 5, 1, - 2, 6, 2, 1, 3, 3, 3, 1, 2, 2, 2, 1, 4, 4, 4, 1, - 2, 5, 5, 1, 4, 4, 4, 1, 2, 4, 2, 1, 4, 4, 4, 1, - 2, 6, 1, 1, 3, 3, 5, 1, 2, 2, 2, 1, 4, 4, 6, 1, - 2, 5, 5, 1, 1, 4, 6, 1, 2, 4, 3, 1, 1, 4, 6, 1, - 2, 6, 1, 1, 3, 3, 5, 1, 2, 2, 2, 1, 4, 4, 6, 1, - 2, 5, 5, 1, 1, 4, 6, 1, 2, 4, 4, 1, 1, 4, 6, 1 }; - -// Private function prototypes - -static uint16 RdMemW(uint16); - -// -// Read a uint16 out of 65C02 memory (big endian format) -// -static uint16 RdMemW(uint16 address) -{ - return (uint16)(regs.RdMem(address + 1) << 8) | regs.RdMem(address + 0); -} - - -// -// 65C02 OPCODE IMPLEMENTATION -// -// NOTE: Lots of macros are used here to save a LOT of typing. Also -// helps speed the debugging process. :-) Because of this, combining -// certain lines may look like a good idea but would end in disaster. -// You have been warned! ;-) -// - -/* -Mnemonic Addressing mode Form Opcode Size Timing - -ADC Immediate ADC #Oper 69 2 2 - Zero Page ADC Zpg 65 2 3 - Zero Page,X ADC Zpg,X 75 2 4 - Absolute ADC Abs 6D 3 4 - Absolute,X ADC Abs,X 7D 3 4 - Absolute,Y ADC Abs,Y 79 3 4 - (Zero Page,X) ADC (Zpg,X) 61 2 6 - (Zero Page),Y ADC (Zpg),Y 71 2 5 - (Zero Page) ADC (Zpg) 72 2 5 -*/ - -// ADC opcodes - -//This is non-optimal, but it works--optimize later. :-) -#define OP_ADC_HANDLER(m) \ - uint16 sum = (uint16)regs.a + (m) + (uint16)(regs.cc & FLAG_C); \ -\ - if (regs.cc & FLAG_D) \ - { \ - if ((sum & 0x0F) > 0x09) \ - sum += 0x06; \ -\ - if ((sum & 0xF0) > 0x90) \ - sum += 0x60; \ - } \ -\ - regs.cc = (regs.cc & ~FLAG_C) | (sum >> 8); \ - regs.cc = (~(regs.a ^ (m)) & (regs.a ^ sum) & 0x80 ? regs.cc | FLAG_V : regs.cc & ~FLAG_V); \ - regs.a = sum & 0xFF; \ - SET_ZN(regs.a) - -//OLD V detection: regs.cc = ((regs.a ^ (m) ^ sum ^ (regs.cc << 7)) & 0x80 ? regs.cc | FLAG_V : regs.cc & ~FLAG_V); - -static void Op69(void) // ADC # -{ - uint16 m = READ_IMM; - OP_ADC_HANDLER(m); -} - -static void Op65(void) // ADC ZP -{ - uint16 m = READ_ZP; - OP_ADC_HANDLER(m); -} - -static void Op75(void) // ADC ZP, X -{ - uint16 m = READ_ZP_X; - OP_ADC_HANDLER(m); -} - -static void Op6D(void) // ADC ABS -{ - uint16 m = READ_ABS; - OP_ADC_HANDLER(m); -} - -static void Op7D(void) // ADC ABS, X -{ - uint16 m = READ_ABS_X; - OP_ADC_HANDLER(m); -} - -static void Op79(void) // ADC ABS, Y -{ - uint16 m = READ_ABS_Y; - OP_ADC_HANDLER(m); -} - -static void Op61(void) // ADC (ZP, X) -{ - uint16 m = READ_IND_ZP_X; - OP_ADC_HANDLER(m); -} - -static void Op71(void) // ADC (ZP), Y -{ - uint16 m = READ_IND_ZP_Y; - OP_ADC_HANDLER(m); -} - -static void Op72(void) // ADC (ZP) -{ - uint16 m = READ_IND_ZP; - OP_ADC_HANDLER(m); -} - -/* -AND Immediate AND #Oper 29 2 2 -Zero Page AND Zpg 25 2 3 -Zero Page,X AND Zpg,X 35 2 4 -Absolute AND Abs 2D 3 4 -Absolute,X AND Abs,X 3D 3 4 -Absolute,Y AND Abs,Y 39 3 4 -(Zero Page,X) AND (Zpg,X) 21 2 6 -(Zero Page),Y AND (Zpg),Y 31 2 5 -(Zero Page) AND (Zpg) 32 2 5 -*/ - -// AND opcodes - -#define OP_AND_HANDLER(m) \ - regs.a &= m; \ - SET_ZN(regs.a) - -static void Op29(void) // AND # -{ - uint8 m = READ_IMM; - OP_AND_HANDLER(m); -} - -static void Op25(void) // AND ZP -{ - uint8 m = READ_ZP; - OP_AND_HANDLER(m); -} - -static void Op35(void) // AND ZP, X -{ - uint8 m = READ_ZP_X; - OP_AND_HANDLER(m); -} - -static void Op2D(void) // AND ABS -{ - uint8 m = READ_ABS; - OP_AND_HANDLER(m); -} - -static void Op3D(void) // AND ABS, X -{ - uint8 m = READ_ABS_X; - OP_AND_HANDLER(m); -} - -static void Op39(void) // AND ABS, Y -{ - uint8 m = READ_ABS_Y; - OP_AND_HANDLER(m); -} - -static void Op21(void) // AND (ZP, X) -{ - uint8 m = READ_IND_ZP_X; - OP_AND_HANDLER(m); -} - -static void Op31(void) // AND (ZP), Y -{ - uint8 m = READ_IND_ZP_Y; - OP_AND_HANDLER(m); -} - -static void Op32(void) // AND (ZP) -{ - uint8 m = READ_IND_ZP; - OP_AND_HANDLER(m); -} - -/* -ASL Accumulator ASL A 0A 1 2 -Zero Page ASL Zpg 06 2 5 -Zero Page,X ASL Zpg,X 16 2 6 -Absolute ASL Abs 0E 3 6 -Absolute,X ASL Abs,X 1E 3 7 -*/ - -/*static void Op78(void) // LSL ABS -{ - uint8 tmp; uint16 addr; - addr = FetchW(); - tmp = regs.RdMem(addr); - (tmp&0x80 ? regs.cc |= 0x01 : regs.cc &= 0xFE); // Shift hi bit into Carry - tmp <<= 1; - regs.WrMem(addr, tmp); - (tmp == 0 ? regs.cc |= 0x04 : regs.cc &= 0xFB); // Adjust Zero flag - (tmp&0x80 ? regs.cc |= 0x08 : regs.cc &= 0xF7); // Adjust Negative flag -}*/ - -// ASL opcodes - -#define OP_ASL_HANDLER(m) \ - regs.cc = ((m) & 0x80 ? regs.cc | FLAG_C : regs.cc & ~FLAG_C); \ - (m) <<= 1; \ - SET_ZN((m)) - -static void Op0A(void) // ASL A -{ - OP_ASL_HANDLER(regs.a); -} - -static void Op06(void) // ASL ZP -{ - uint8 m; - READ_ZP_WB(m); - OP_ASL_HANDLER(m); - WRITE_BACK(m); -} - -static void Op16(void) // ASL ZP, X -{ - uint8 m; - READ_ZP_X_WB(m); - OP_ASL_HANDLER(m); - WRITE_BACK(m); -} - -static void Op0E(void) // ASL ABS -{ - uint8 m; - READ_ABS_WB(m); - OP_ASL_HANDLER(m); - WRITE_BACK(m); -} - -static void Op1E(void) // ASL ABS, X -{ - uint8 m; - READ_ABS_X_WB(m); - OP_ASL_HANDLER(m); - WRITE_BACK(m); -} - -/* -BBR0 Relative BBR0 Oper 0F 2 2 -BBR1 Relative BBR1 Oper 1F 2 2 -BBR2 Relative BBR2 Oper 2F 2 2 -BBR3 Relative BBR3 Oper 3F 2 2 -BBR4 Relative BBR4 Oper 4F 2 2 -BBR5 Relative BBR5 Oper 5F 2 2 -BBR6 Relative BBR6 Oper 6F 2 2 -BBR7 Relative BBR7 Oper 7F 2 2 -BBS0 Relative BBS0 Oper 8F 2 2 -BBS1 Relative BBS1 Oper 9F 2 2 -BBS2 Relative BBS2 Oper AF 2 2 -BBS3 Relative BBS3 Oper BF 2 2 -BBS4 Relative BBS4 Oper CF 2 2 -BBS5 Relative BBS5 Oper DF 2 2 -BBS6 Relative BBS6 Oper EF 2 2 -BBS7 Relative BBS7 Oper FF 2 2 -*/ - -// BBR/Sn opcodes - -static void Op0F(void) // BBR0 -{ - int16 m = (int16)(int8)READ_IMM; - - if (!(regs.a & 0x01)) - regs.pc += m; -} - -static void Op1F(void) // BBR1 -{ - int16 m = (int16)(int8)READ_IMM; - - if (!(regs.a & 0x02)) - regs.pc += m; -} - -static void Op2F(void) // BBR2 -{ - int16 m = (int16)(int8)READ_IMM; - - if (!(regs.a & 0x04)) - regs.pc += m; -} - -static void Op3F(void) // BBR3 -{ - int16 m = (int16)(int8)READ_IMM; - - if (!(regs.a & 0x08)) - regs.pc += m; -} - -static void Op4F(void) // BBR4 -{ - int16 m = (int16)(int8)READ_IMM; - - if (!(regs.a & 0x10)) - regs.pc += m; -} - -static void Op5F(void) // BBR5 -{ - int16 m = (int16)(int8)READ_IMM; - - if (!(regs.a & 0x20)) - regs.pc += m; -} - -static void Op6F(void) // BBR6 -{ - int16 m = (int16)(int8)READ_IMM; - - if (!(regs.a & 0x40)) - regs.pc += m; -} - -static void Op7F(void) // BBR7 -{ - int16 m = (int16)(int8)READ_IMM; - - if (!(regs.a & 0x80)) - regs.pc += m; -} - -static void Op8F(void) // BBS0 -{ - int16 m = (int16)(int8)READ_IMM; - - if (regs.a & 0x01) - regs.pc += m; -} - -static void Op9F(void) // BBS1 -{ - int16 m = (int16)(int8)READ_IMM; - - if (regs.a & 0x02) - regs.pc += m; -} - -static void OpAF(void) // BBS2 -{ - int16 m = (int16)(int8)READ_IMM; - - if (regs.a & 0x04) - regs.pc += m; -} - -static void OpBF(void) // BBS3 -{ - int16 m = (int16)(int8)READ_IMM; - - if (regs.a & 0x08) - regs.pc += m; -} - -static void OpCF(void) // BBS4 -{ - int16 m = (int16)(int8)READ_IMM; - - if (regs.a & 0x10) - regs.pc += m; -} - -static void OpDF(void) // BBS5 -{ - int16 m = (int16)(int8)READ_IMM; - - if (regs.a & 0x20) - regs.pc += m; -} - -static void OpEF(void) // BBS6 -{ - int16 m = (int16)(int8)READ_IMM; - - if (regs.a & 0x40) - regs.pc += m; -} - -static void OpFF(void) // BBS7 -{ - int16 m = (int16)(int8)READ_IMM; - - if (regs.a & 0x80) - regs.pc += m; -} - -/* -BCC Relative BCC Oper 90 2 2 -BCS Relative BCS Oper B0 2 2 -BEQ Relative BEQ Oper F0 2 2 -*/ - -// Branch opcodes - -static void Op90(void) // BCC -{ - int16 m = (int16)(int8)READ_IMM; - - if (!(regs.cc & FLAG_C)) - regs.pc += m; -} - -static void OpB0(void) // BCS -{ - int16 m = (int16)(int8)READ_IMM; - - if (regs.cc & FLAG_C) - regs.pc += m; -} - -static void OpF0(void) // BEQ -{ - int16 m = (int16)(int8)READ_IMM; - - if (regs.cc & FLAG_Z) - regs.pc += m; -} - -/* -BIT Immediate BIT #Oper 89 2 2 -Zero Page BIT Zpg 24 2 3 -Zero Page,X BIT Zpg,X 34 2 4 -Absolute BIT Abs 2C 3 4 -Absolute,X BIT Abs,X 3C 3 4 -*/ - -// BIT opcodes - -/* 1. The BIT instruction copies bit 6 to the V flag, and bit 7 to the N flag (except in immediate - addressing mode where V & N are untouched.) The accumulator and the operand are ANDed and the - Z flag is set appropriately. */ - -#define OP_BIT_HANDLER(m) \ - int8 result = regs.a & (m); \ - regs.cc &= ~(FLAG_N | FLAG_V); \ - regs.cc |= ((m) & 0xC0); \ - SET_Z(result) - -static void Op89(void) // BIT # -{ - int8 m = READ_IMM; - int8 result = regs.a & m; - SET_Z(result); -} - -static void Op24(void) // BIT ZP -{ - int8 m = READ_ZP; - OP_BIT_HANDLER(m); -} - -static void Op34(void) // BIT ZP, X -{ - uint8 m = READ_ZP_X; - OP_BIT_HANDLER(m); -} - -static void Op2C(void) // BIT ABS -{ - uint8 m = READ_ABS; - OP_BIT_HANDLER(m); -} - -static void Op3C(void) // BIT ABS, X -{ - uint8 m = READ_ABS_X; - OP_BIT_HANDLER(m); -} - -/* -BMI Relative BMI Oper 30 2 2 -BNE Relative BNE Oper D0 2 2 -BPL Relative BPL Oper 10 2 2 -BRA Relative BRA Oper 80 2 3 -*/ - -// More branch opcodes - -static void Op30(void) // BMI -{ - int16 m = (int16)(int8)READ_IMM; - - if (regs.cc & FLAG_N) - regs.pc += m; -} - -static void OpD0(void) // BNE -{ - int16 m = (int16)(int8)READ_IMM; - - if (!(regs.cc & FLAG_Z)) - regs.pc += m; -} - -static void Op10(void) // BPL -{ - int16 m = (int16)(int8)READ_IMM; - - if (!(regs.cc & FLAG_N)) - regs.pc += m; -} - -static void Op80(void) // BRA -{ - int16 m = (int16)(int8)READ_IMM; - regs.pc += m; -} - -/* -BRK Implied BRK 00 1 7 -*/ - -static void Op00(void) // BRK -{ - regs.cc |= FLAG_B; // Set B - regs.pc++; // RTI comes back to the instruction one byte after the BRK - regs.WrMem(0x0100 + regs.sp--, regs.pc >> 8); // Save PC and CC - regs.WrMem(0x0100 + regs.sp--, regs.pc & 0xFF); - regs.WrMem(0x0100 + regs.sp--, regs.cc); - regs.cc |= FLAG_I; // Set I - regs.cc &= ~FLAG_D; // & clear D - regs.pc = RdMemW(0xFFFE); // Grab the IRQ vector & go... -} - -/* -BVC Relative BVC Oper 50 2 2 -BVS Relative BVS Oper 70 2 2 -*/ - -// Even more branch opcodes - -static void Op50(void) // BVC -{ - int16 m = (int16)(int8)READ_IMM; - - if (!(regs.cc & FLAG_V)) - regs.pc += m; -} - -static void Op70(void) // BVS -{ - int16 m = (int16)(int8)READ_IMM; - - if (regs.cc & FLAG_V) - regs.pc += m; -} - -/* -CLC Implied CLC 18 1 2 -*/ - -static void Op18(void) // CLC -{ - regs.cc &= ~FLAG_C; -} - -/* -CLD Implied CLD D8 1 2 -*/ - -static void OpD8(void) // CLD -{ - regs.cc &= ~FLAG_D; -} - -/* -CLI Implied CLI 58 1 2 -*/ - -static void Op58(void) // CLI -{ - regs.cc &= ~FLAG_I; -} - -/* -CLV Implied CLV B8 1 2 -*/ - -static void OpB8(void) // CLV -{ - regs.cc &= ~FLAG_V; -} - -/* -CMP Immediate CMP #Oper C9 2 2 -Zero Page CMP Zpg C5 2 3 -Zero Page,X CMP Zpg D5 2 4 -Absolute CMP Abs CD 3 4 -Absolute,X CMP Abs,X DD 3 4 -Absolute,Y CMP Abs,Y D9 3 4 -(Zero Page,X) CMP (Zpg,X) C1 2 6 -(Zero Page),Y CMP (Zpg),Y D1 2 5 -(Zero Page) CMP (Zpg) D2 2 5 -*/ - -// CMP opcodes - -/* -Here's the latest: The CMP is NOT generating the Z flag when A=$C0! - -FABA: A0 07 LDY #$07 [PC=FABC, SP=01FF, CC=---B-IZ-, A=00, X=00, Y=07] -FABC: C6 01 DEC $01 [PC=FABE, SP=01FF, CC=N--B-I--, A=00, X=00, Y=07] -FABE: A5 01 LDA $01 [PC=FAC0, SP=01FF, CC=N--B-I--, A=C0, X=00, Y=07] -FAC0: C9 C0 CMP #$C0 [PC=FAC2, SP=01FF, CC=N--B-I--, A=C0, X=00, Y=07] -FAC2: F0 D7 BEQ $FA9B [PC=FAC4, SP=01FF, CC=N--B-I--, A=C0, X=00, Y=07] -FAC4: 8D F8 07 STA $07F8 [PC=FAC7, SP=01FF, CC=N--B-I--, A=C0, X=00, Y=07] -FAC7: B1 00 LDA ($00),Y -*** Read at I/O address C007 - [PC=FAC9, SP=01FF, CC=---B-IZ-, A=00, X=00, Y=07] -FAC9: D9 01 FB CMP $FB01,Y [PC=FACC, SP=01FF, CC=---B-I--, A=00, X=00, Y=07] -FACC: D0 EC BNE $FABA [PC=FABA, SP=01FF, CC=---B-I--, A=00, X=00, Y=07] - -Should be fixed now... (was adding instead of subtracting!) - -Small problem here... First two should set the carry while the last one should clear it. !!! FIX !!! [DONE] - -FDF0: C9 A0 CMP #$A0 [PC=FDF2, SP=01F1, CC=---B-IZ-, A=A0, X=02, Y=03] -FD7E: C9 E0 CMP #$E0 [PC=FD80, SP=01F4, CC=N--B-I--, A=A0, X=02, Y=03] -FD38: C9 9B CMP #$9B [PC=FD3A, SP=01F2, CC=---B-I-C, A=A0, X=02, Y=03] - -Compare sets flags as if a subtraction had been carried out. If the value in the accumulator is equal or greater than the compared value, the Carry will be set. The equal (Z) and sign (S) flags will be set based on equality or lack thereof and the sign (i.e. A>=$80) of the accumulator. -*/ - -#define OP_CMP_HANDLER(m) \ - uint8 result = regs.a - (m); \ - SET_ZNC_CMP(m, regs.a, result) - -static void OpC9(void) // CMP # -{ - uint8 m = READ_IMM; - OP_CMP_HANDLER(m); -} - -static void OpC5(void) // CMP ZP -{ - uint8 m = READ_ZP; - OP_CMP_HANDLER(m); -} - -static void OpD5(void) // CMP ZP, X -{ - uint8 m = READ_ZP_X; - OP_CMP_HANDLER(m); -} - -static void OpCD(void) // CMP ABS -{ - uint8 m = READ_ABS; - OP_CMP_HANDLER(m); -} - -static void OpDD(void) // CMP ABS, X -{ - uint8 m = READ_ABS_X; - OP_CMP_HANDLER(m); -} - -static void OpD9(void) // CMP ABS, Y -{ - uint8 m = READ_ABS_Y; - OP_CMP_HANDLER(m); -} - -static void OpC1(void) // CMP (ZP, X) -{ - uint8 m = READ_IND_ZP_X; - OP_CMP_HANDLER(m); -} - -static void OpD1(void) // CMP (ZP), Y -{ - uint8 m = READ_IND_ZP_Y; - OP_CMP_HANDLER(m); -} - -static void OpD2(void) // CMP (ZP) -{ - uint8 m = READ_IND_ZP; - OP_CMP_HANDLER(m); -} - -/* -CPX Immediate CPX #Oper E0 2 2 -Zero Page CPX Zpg E4 2 3 -Absolute CPX Abs EC 3 4 -*/ - -// CPX opcodes - -#define OP_CPX_HANDLER(m) \ - uint8 result = regs.x - (m); \ - SET_ZNC_CMP(m, regs.x, result) - -static void OpE0(void) // CPX # -{ - uint8 m = READ_IMM; - OP_CPX_HANDLER(m); -} - -static void OpE4(void) // CPX ZP -{ - uint8 m = READ_ZP; - OP_CPX_HANDLER(m); -} - -static void OpEC(void) // CPX ABS -{ - uint8 m = READ_ABS; - OP_CPX_HANDLER(m); -} - -/* -CPY Immediate CPY #Oper C0 2 2 -Zero Page CPY Zpg C4 2 3 -Absolute CPY Abs CC 3 4 -*/ - -// CPY opcodes - -#define OP_CPY_HANDLER(m) \ - uint8 result = regs.y - (m); \ - SET_ZNC_CMP(m, regs.y, result) - -static void OpC0(void) // CPY # -{ - uint8 m = READ_IMM; - OP_CPY_HANDLER(m); -} - -static void OpC4(void) // CPY ZP -{ - uint8 m = READ_ZP; - OP_CPY_HANDLER(m); -} - -static void OpCC(void) // CPY ABS -{ - uint8 m = READ_ABS; - OP_CPY_HANDLER(m); -} - -/* -DEA Accumulator DEA 3A 1 2 -*/ - -static void Op3A(void) // DEA -{ - regs.a--; - SET_ZN(regs.a); -} - -/* -DEC Zero Page DEC Zpg C6 2 5 -Zero Page,X DEC Zpg,X D6 2 6 -Absolute DEC Abs CE 3 6 -Absolute,X DEC Abs,X DE 3 7 -*/ - -// DEC opcodes - -#define OP_DEC_HANDLER(m) \ - m--; \ - SET_ZN(m) - -static void OpC6(void) // DEC ZP -{ - uint8 m; - READ_ZP_WB(m); - OP_DEC_HANDLER(m); - WRITE_BACK(m); -} - -static void OpD6(void) // DEC ZP, X -{ - uint8 m; - READ_ZP_X_WB(m); - OP_DEC_HANDLER(m); - WRITE_BACK(m); -} - -static void OpCE(void) // DEC ABS -{ - uint8 m; - READ_ABS_WB(m); - OP_DEC_HANDLER(m); - WRITE_BACK(m); -} - -static void OpDE(void) // DEC ABS, X -{ - uint8 m; - READ_ABS_X_WB(m); - OP_DEC_HANDLER(m); - WRITE_BACK(m); -} - -/* -Here's one problem: DEX is setting the N flag! - -D3EE: A2 09 LDX #$09 [PC=D3F0, SP=01F7, CC=---B-I-C, A=01, X=09, Y=08] -D3F0: 98 TYA [PC=D3F1, SP=01F7, CC=N--B-I-C, A=08, X=09, Y=08] -D3F1: 48 PHA [PC=D3F2, SP=01F6, CC=N--B-I-C, A=08, X=09, Y=08] -D3F2: B5 93 LDA $93,X [PC=D3F4, SP=01F6, CC=---B-IZC, A=00, X=09, Y=08] -D3F4: CA DEX [PC=D3F5, SP=01F6, CC=N--B-I-C, A=00, X=08, Y=08] -D3F5: 10 FA BPL $D3F1 [PC=D3F7, SP=01F6, CC=N--B-I-C, A=00, X=08, Y=08] -D3F7: 20 84 E4 JSR $E484 [PC=E484, SP=01F4, CC=N--B-I-C, A=00, X=08, Y=08] - -should be fixed now... -*/ - -/* -DEX Implied DEX CA 1 2 -*/ - -static void OpCA(void) // DEX -{ - regs.x--; - SET_ZN(regs.x); -} - -/* -DEY Implied DEY 88 1 2 -*/ - -static void Op88(void) // DEY -{ - regs.y--; - SET_ZN(regs.y); -} - -/* -EOR Immediate EOR #Oper 49 2 2 -Zero Page EOR Zpg 45 2 3 -Zero Page,X EOR Zpg,X 55 2 4 -Absolute EOR Abs 4D 3 4 -Absolute,X EOR Abs,X 5D 3 4 -Absolute,Y EOR Abs,Y 59 3 4 -(Zero Page,X) EOR (Zpg,X) 41 2 6 -(Zero Page),Y EOR (Zpg),Y 51 2 5 -(Zero Page) EOR (Zpg) 52 2 5 -*/ - -// EOR opcodes - -#define OP_EOR_HANDLER(m) \ - regs.a ^= m; \ - SET_ZN(regs.a) - -static void Op49(void) // EOR # -{ - uint8 m = READ_IMM; - OP_EOR_HANDLER(m); -} - -static void Op45(void) // EOR ZP -{ - uint8 m = READ_ZP; - OP_EOR_HANDLER(m); -} - -static void Op55(void) // EOR ZP, X -{ - uint8 m = READ_ZP_X; - OP_EOR_HANDLER(m); -} - -static void Op4D(void) // EOR ABS -{ - uint8 m = READ_ABS; - OP_EOR_HANDLER(m); -} - -static void Op5D(void) // EOR ABS, X -{ - uint8 m = READ_ABS_X; - OP_EOR_HANDLER(m); -} - -static void Op59(void) // EOR ABS, Y -{ - uint8 m = READ_ABS_Y; - OP_EOR_HANDLER(m); -} - -static void Op41(void) // EOR (ZP, X) -{ - uint8 m = READ_IND_ZP_X; - OP_EOR_HANDLER(m); -} - -static void Op51(void) // EOR (ZP), Y -{ - uint8 m = READ_IND_ZP_Y; - OP_EOR_HANDLER(m); -} - -static void Op52(void) // EOR (ZP) -{ - uint8 m = READ_IND_ZP; - OP_EOR_HANDLER(m); -} - -/* -INA Accumulator INA 1A 1 2 -*/ - -static void Op1A(void) // INA -{ - regs.a++; - SET_ZN(regs.a); -} - -/* -INC Zero Page INC Zpg E6 2 5 -Zero Page,X INC Zpg,X F6 2 6 -Absolute INC Abs EE 3 6 -Absolute,X INC Abs,X FE 3 7 -*/ - -// INC opcodes - -#define OP_INC_HANDLER(m) \ - m++; \ - SET_ZN(m) - -static void OpE6(void) // INC ZP -{ - uint8 m; - READ_ZP_WB(m); - OP_INC_HANDLER(m); - WRITE_BACK(m); -} - -static void OpF6(void) // INC ZP, X -{ - uint8 m; - READ_ZP_X_WB(m); - OP_INC_HANDLER(m); - WRITE_BACK(m); -} - -static void OpEE(void) // INC ABS -{ - uint8 m; - READ_ABS_WB(m); - OP_INC_HANDLER(m); - WRITE_BACK(m); -} - -static void OpFE(void) // INC ABS, X -{ - uint8 m; - READ_ABS_X_WB(m); - OP_INC_HANDLER(m); - WRITE_BACK(m); -} - -/* -INX Implied INX E8 1 2 -*/ - -static void OpE8(void) // INX -{ - regs.x++; - SET_ZN(regs.x); -} - -/* -INY Implied INY C8 1 2 -*/ - -static void OpC8(void) // INY -{ - regs.y++; - SET_ZN(regs.y); -} - -/* -JMP Absolute JMP Abs 4C 3 3 -(Absolute) JMP (Abs) 6C 3 5 -(Absolute,X) JMP (Abs,X) 7C 3 6 -*/ - -// JMP opcodes - -static void Op4C(void) // JMP ABS -{ - regs.pc = RdMemW(regs.pc); -} - -static void Op6C(void) // JMP (ABS) -{ -// uint16 addr = RdMemW(regs.pc); -//#ifdef __DEBUG__ -//WriteLog("\n[JMP ABS]: addr fetched = %04X, bytes at %04X = %02X %02X (RdMemw=%04X)\n", -// addr, addr, regs.RdMem(addr), regs.RdMem(addr+1), RdMemW(addr)); -//#endif -// addr = RdMemW(addr); - regs.pc = RdMemW(RdMemW(regs.pc)); -} - -static void Op7C(void) // JMP (ABS, X) -{ - regs.pc = RdMemW(RdMemW(regs.pc) + regs.x); -} - -/* -JSR Absolute JSR Abs 20 3 6 -*/ - -//This is not jumping to the correct address... !!! FIX !!! [DONE] -static void Op20(void) // JSR -{ - uint16 addr = RdMemW(regs.pc); - regs.pc++; // Since it pushes return address - 1... - regs.WrMem(0x0100 + regs.sp--, regs.pc >> 8); - regs.WrMem(0x0100 + regs.sp--, regs.pc & 0xFF); - regs.pc = addr; -} - -/* -LDA Immediate LDA #Oper A9 2 2 -Zero Page LDA Zpg A5 2 3 -Zero Page,X LDA Zpg,X B5 2 4 -Absolute LDA Abs AD 3 4 -Absolute,X LDA Abs,X BD 3 4 -Absolute,Y LDA Abs,Y B9 3 4 -(Zero Page,X) LDA (Zpg,X) A1 2 6 -(Zero Page),Y LDA (Zpg),Y B1 2 5 -(Zero Page) LDA (Zpg) B2 2 5 -*/ - -// LDA opcodes - -#define OP_LDA_HANDLER(m) \ - regs.a = m; \ - SET_ZN(regs.a) - -static void OpA9(void) // LDA # -{ - uint8 m = READ_IMM; - OP_LDA_HANDLER(m); -} - -static void OpA5(void) // LDA ZP -{ - uint8 m = READ_ZP; - OP_LDA_HANDLER(m); -} - -static void OpB5(void) // LDA ZP, X -{ - uint8 m = READ_ZP_X; - OP_LDA_HANDLER(m); -} - -static void OpAD(void) // LDA ABS -{ - uint8 m = READ_ABS; - OP_LDA_HANDLER(m); -} - -static void OpBD(void) // LDA ABS, X -{ - uint8 m = READ_ABS_X; - OP_LDA_HANDLER(m); -} - -static void OpB9(void) // LDA ABS, Y -{ - uint8 m = READ_ABS_Y; - OP_LDA_HANDLER(m); -} - -static void OpA1(void) // LDA (ZP, X) -{ - uint8 m = READ_IND_ZP_X; - OP_LDA_HANDLER(m); -} - -static void OpB1(void) // LDA (ZP), Y -{ - uint8 m = READ_IND_ZP_Y; - OP_LDA_HANDLER(m); -} - -static void OpB2(void) // LDA (ZP) -{ - uint8 m = READ_IND_ZP; - OP_LDA_HANDLER(m); -} - -/* -LDX Immediate LDX #Oper A2 2 2 -Zero Page LDX Zpg A6 2 3 -Zero Page,Y LDX Zpg,Y B6 2 4 -Absolute LDX Abs AE 3 4 -Absolute,Y LDX Abs,Y BE 3 4 -*/ - -// LDX opcodes - -#define OP_LDX_HANDLER(m) \ - regs.x = m; \ - SET_ZN(regs.x) - -static void OpA2(void) // LDX # -{ - uint8 m = READ_IMM; - OP_LDX_HANDLER(m); -} - -static void OpA6(void) // LDX ZP -{ - uint8 m = READ_ZP; - OP_LDX_HANDLER(m); -} - -static void OpB6(void) // LDX ZP, Y -{ - uint8 m = READ_ZP_Y; - OP_LDX_HANDLER(m); -} - -static void OpAE(void) // LDX ABS -{ - uint8 m = READ_ABS; - OP_LDX_HANDLER(m); -} - -static void OpBE(void) // LDX ABS, Y -{ - uint8 m = READ_ABS_Y; - OP_LDX_HANDLER(m); -} - -/* -LDY Immediate LDY #Oper A0 2 2 -Zero Page LDY Zpg A4 2 3 -Zero Page,Y LDY Zpg,X B4 2 4 -Absolute LDY Abs AC 3 4 -Absolute,Y LDY Abs,X BC 3 4 -*/ - -// LDY opcodes - -#define OP_LDY_HANDLER(m) \ - regs.y = m; \ - SET_ZN(regs.y) - -static void OpA0(void) // LDY # -{ - uint8 m = READ_IMM; - OP_LDY_HANDLER(m); -} - -static void OpA4(void) // LDY ZP -{ - uint8 m = READ_ZP; - OP_LDY_HANDLER(m); -} - -static void OpB4(void) // LDY ZP, X -{ - uint8 m = READ_ZP_X; - OP_LDY_HANDLER(m); -} - -static void OpAC(void) // LDY ABS -{ - uint8 m = READ_ABS; - OP_LDY_HANDLER(m); -} - -static void OpBC(void) // LDY ABS, X -{ - uint8 m = READ_ABS_X; - OP_LDY_HANDLER(m); -} - -/* -LSR Accumulator LSR A 4A 1 2 -Zero Page LSR Zpg 46 2 5 -Zero Page,X LSR Zpg,X 56 2 6 -Absolute LSR Abs 4E 3 6 -Absolute,X LSR Abs,X 5E 3 7 -*/ - -// LSR opcodes - -#define OP_LSR_HANDLER(m) \ - regs.cc = ((m) & 0x01 ? regs.cc | FLAG_C : regs.cc & ~FLAG_C); \ - (m) >>= 1; \ - CLR_N; SET_Z((m)) - -static void Op4A(void) // LSR A -{ - OP_LSR_HANDLER(regs.a); -} - -static void Op46(void) // LSR ZP -{ - uint8 m; - READ_ZP_WB(m); - OP_LSR_HANDLER(m); - WRITE_BACK(m); -} - -static void Op56(void) // LSR ZP, X -{ - uint8 m; - READ_ZP_X_WB(m); - OP_LSR_HANDLER(m); - WRITE_BACK(m); -} - -static void Op4E(void) // LSR ABS -{ - uint8 m; - READ_ABS_WB(m); - OP_LSR_HANDLER(m); - WRITE_BACK(m); -} - -static void Op5E(void) // LSR ABS, X -{ - uint8 m; - READ_ABS_X_WB(m); - OP_LSR_HANDLER(m); - WRITE_BACK(m); -} - -/* -NOP Implied NOP EA 1 2 -*/ - -static void OpEA(void) // NOP -{ -} - -/* -ORA Immediate ORA #Oper 09 2 2 -Zero Page ORA Zpg 05 2 3 -Zero Page,X ORA Zpg,X 15 2 4 -Absolute ORA Abs 0D 3 4 -Absolute,X ORA Abs,X 1D 3 4 -Absolute,Y ORA Abs,Y 19 3 4 -(Zero Page,X) ORA (Zpg,X) 01 2 6 -(Zero Page),Y ORA (Zpg),Y 11 2 5 -(Zero Page) ORA (Zpg) 12 2 5 -*/ - -// ORA opcodes - -#define OP_ORA_HANDLER(m) \ - regs.a |= m; \ - SET_ZN(regs.a) - -static void Op09(void) // ORA # -{ - uint8 m = READ_IMM; - OP_ORA_HANDLER(m); -} - -static void Op05(void) // ORA ZP -{ - uint8 m = READ_ZP; - OP_ORA_HANDLER(m); -} - -static void Op15(void) // ORA ZP, X -{ - uint8 m = READ_ZP_X; - OP_ORA_HANDLER(m); -} - -static void Op0D(void) // ORA ABS -{ - uint8 m = READ_ABS; - OP_ORA_HANDLER(m); -} - -static void Op1D(void) // ORA ABS, X -{ - uint8 m = READ_ABS_X; - OP_ORA_HANDLER(m); -} - -static void Op19(void) // ORA ABS, Y -{ - uint8 m = READ_ABS_Y; - OP_ORA_HANDLER(m); -} - -static void Op01(void) // ORA (ZP, X) -{ - uint8 m = READ_IND_ZP_X; - OP_ORA_HANDLER(m); -} - -static void Op11(void) // ORA (ZP), Y -{ - uint8 m = READ_IND_ZP_Y; - OP_ORA_HANDLER(m); -} - -static void Op12(void) // ORA (ZP) -{ - uint8 m = READ_IND_ZP; - OP_ORA_HANDLER(m); -} - -/* -PHA Implied PHA 48 1 3 -*/ - -static void Op48(void) // PHA -{ - regs.WrMem(0x0100 + regs.sp--, regs.a); -} - -static void Op08(void) // PHP -{ - regs.cc |= FLAG_UNK; // Make sure that the unused bit is always set - regs.WrMem(0x0100 + regs.sp--, regs.cc); -} - -/* -PHX Implied PHX DA 1 3 -*/ - -static void OpDA(void) // PHX -{ - regs.WrMem(0x0100 + regs.sp--, regs.x); -} - -/* -PHY Implied PHY 5A 1 3 -*/ - -static void Op5A(void) // PHY -{ - regs.WrMem(0x0100 + regs.sp--, regs.y); -} - -/* -PLA Implied PLA 68 1 4 -*/ - -static void Op68(void) // PLA -{ - regs.a = regs.RdMem(0x0100 + ++regs.sp); - SET_ZN(regs.a); -} - -static void Op28(void) // PLP -{ - regs.cc = regs.RdMem(0x0100 + ++regs.sp); -} - -/* -PLX Implied PLX FA 1 4 -*/ - -static void OpFA(void) // PLX -{ - regs.x = regs.RdMem(0x0100 + ++regs.sp); - SET_ZN(regs.x); -} - -/* -PLY Implied PLY 7A 1 4 -*/ - -static void Op7A(void) // PLY -{ - regs.y = regs.RdMem(0x0100 + ++regs.sp); - SET_ZN(regs.y); -} - -/* -The bit set and clear instructions have the form xyyy0111, where x is 0 to clear a bit or 1 to set it, and yyy is which bit at the memory location to set or clear. - RMB0 RMB1 RMB2 RMB3 RMB4 RMB5 RMB6 RMB7 - zp 07 17 27 37 47 57 67 77 - SMB0 SMB1 SMB2 SMB3 SMB4 SMB5 SMB6 SMB7 - zp 87 97 A7 B7 C7 D7 E7 F7 -*/ - -// RMB opcodes - -static void Op07(void) // RMB0 ZP -{ - uint8 m; - READ_ZP_WB(m); - m &= 0xFE; - WRITE_BACK(m); -} - -static void Op17(void) // RMB1 ZP -{ - uint8 m; - READ_ZP_WB(m); - m &= 0xFD; - WRITE_BACK(m); -} - -static void Op27(void) // RMB2 ZP -{ - uint8 m; - READ_ZP_WB(m); - m &= 0xFB; - WRITE_BACK(m); -} - -static void Op37(void) // RMB3 ZP -{ - uint8 m; - READ_ZP_WB(m); - m &= 0xF7; - WRITE_BACK(m); -} - -static void Op47(void) // RMB4 ZP -{ - uint8 m; - READ_ZP_WB(m); - m &= 0xEF; - WRITE_BACK(m); -} - -static void Op57(void) // RMB5 ZP -{ - uint8 m; - READ_ZP_WB(m); - m &= 0xDF; - WRITE_BACK(m); -} - -static void Op67(void) // RMB6 ZP -{ - uint8 m; - READ_ZP_WB(m); - m &= 0xBF; - WRITE_BACK(m); -} - -static void Op77(void) // RMB7 ZP -{ - uint8 m; - READ_ZP_WB(m); - m &= 0x7F; - WRITE_BACK(m); -} - -/* -ROL Accumulator ROL A 2A 1 2 -Zero Page ROL Zpg 26 2 5 -Zero Page,X ROL Zpg,X 36 2 6 -Absolute ROL Abs 2E 3 6 -Absolute,X ROL Abs,X 3E 3 7 -*/ - -// ROL opcodes - -#define OP_ROL_HANDLER(m) \ - uint8 tmp = regs.cc & 0x01; \ - regs.cc = ((m) & 0x80 ? regs.cc | FLAG_C : regs.cc & ~FLAG_C); \ - (m) = ((m) << 1) | tmp; \ - SET_ZN((m)) - -static void Op2A(void) // ROL A -{ - OP_ROL_HANDLER(regs.a); -} - -static void Op26(void) // ROL ZP -{ - uint8 m; - READ_ZP_WB(m); - OP_ROL_HANDLER(m); - WRITE_BACK(m); -} - -static void Op36(void) // ROL ZP, X -{ - uint8 m; - READ_ZP_X_WB(m); - OP_ROL_HANDLER(m); - WRITE_BACK(m); -} - -static void Op2E(void) // ROL ABS -{ - uint8 m; - READ_ABS_WB(m); - OP_ROL_HANDLER(m); - WRITE_BACK(m); -} - -static void Op3E(void) // ROL ABS, X -{ - uint8 m; - READ_ABS_X_WB(m); - OP_ROL_HANDLER(m); - WRITE_BACK(m); -} - -/* -ROR Accumulator ROR A 6A 1 2 -Zero Page ROR Zpg 66 2 5 -Zero Page,X ROR Zpg,X 76 2 6 -Absolute ROR Abs 6E 3 6 -Absolute,X ROR Abs,X 7E 3 7 -*/ - -// ROR opcodes - -#define OP_ROR_HANDLER(m) \ - uint8 tmp = (regs.cc & 0x01) << 7; \ - regs.cc = ((m) & 0x01 ? regs.cc | FLAG_C : regs.cc & ~FLAG_C); \ - (m) = ((m) >> 1) | tmp; \ - SET_ZN((m)) - -static void Op6A(void) // ROR A -{ - OP_ROR_HANDLER(regs.a); -} - -static void Op66(void) // ROR ZP -{ - uint8 m; - READ_ZP_WB(m); - OP_ROR_HANDLER(m); - WRITE_BACK(m); -} - -static void Op76(void) // ROR ZP, X -{ - uint8 m; - READ_ZP_X_WB(m); - OP_ROR_HANDLER(m); - WRITE_BACK(m); -} - -static void Op6E(void) // ROR ABS -{ - uint8 m; - READ_ABS_WB(m); - OP_ROR_HANDLER(m); - WRITE_BACK(m); -} - -static void Op7E(void) // ROR ABS, X -{ - uint8 m; - READ_ABS_X_WB(m); - OP_ROR_HANDLER(m); - WRITE_BACK(m); -} - -/* -RTI Implied RTI 40 1 6 -*/ - -static void Op40(void) // RTI -{ - regs.cc = regs.RdMem(0x0100 + ++regs.sp); - regs.pc = regs.RdMem(0x0100 + ++regs.sp); - regs.pc |= (uint16)(regs.RdMem(0x0100 + ++regs.sp)) << 8; -} - -/* -RTS Implied RTS 60 1 6 -*/ - -static void Op60(void) // RTS -{ - regs.pc = regs.RdMem(0x0100 + ++regs.sp); - regs.pc |= (uint16)(regs.RdMem(0x0100 + ++regs.sp)) << 8; - regs.pc++; // Since it pushes return address - 1... -//printf("*** RTS: PC = $%04X, SP= $1%02X\n", regs.pc, regs.sp); -//fflush(stdout); -} - -/* -SBC Immediate SBC #Oper E9 2 2 -Zero Page SBC Zpg E5 2 3 -Zero Page,X SBC Zpg,X F5 2 4 -Absolute SBC Abs ED 3 4 -Absolute,X SBC Abs,X FD 3 4 -Absolute,Y SBC Abs,Y F9 3 4 -(Zero Page,X) SBC (Zpg,X) E1 2 6 -(Zero Page),Y SBC (Zpg),Y F1 2 5 -(Zero Page) SBC (Zpg) F2 2 5 -*/ - -// SBC opcodes - -//This is non-optimal, but it works--optimize later. :-) -//This is correct except for the BCD handling... !!! FIX !!! [Possibly DONE] -#define OP_SBC_HANDLER(m) \ - uint16 sum = (uint16)regs.a - (m) - (uint16)((regs.cc & FLAG_C) ^ 0x01); \ -\ - if (regs.cc & FLAG_D) \ - { \ - if ((sum & 0x0F) > 0x09) \ - sum -= 0x06; \ -\ - if ((sum & 0xF0) > 0x90) \ - sum -= 0x60; \ - } \ -\ - regs.cc = (regs.cc & ~FLAG_C) | (((sum >> 8) ^ 0x01) & FLAG_C); \ - regs.cc = ((regs.a ^ (m)) & (regs.a ^ sum) & 0x80 ? regs.cc | FLAG_V : regs.cc & ~FLAG_V); \ - regs.a = sum & 0xFF; \ - SET_ZN(regs.a) - -/* -D5AF: 38 SEC [PC=D5B0, SP=01F6, CC=---B-I-C, A=4C, X=00, Y=06] - -*** HERE'S where it sets the D flag on a subtract... Arg! - -D5B0: F1 9D SBC ($9D),Y [PC=D5B2, SP=01F6, CC=N--BDI--, A=FE, X=00, Y=06] - -Fixed. :-) -*/ - -//OLD V detection: regs.cc = ((regs.a ^ (m) ^ sum ^ (regs.cc << 7)) & 0x80 ? regs.cc | FLAG_V : regs.cc & ~FLAG_V); - -static void OpE9(void) // SBC # -{ - uint16 m = READ_IMM; - OP_SBC_HANDLER(m); -} - -static void OpE5(void) // SBC ZP -{ - uint16 m = READ_ZP; - OP_SBC_HANDLER(m); -} - -static void OpF5(void) // SBC ZP, X -{ - uint16 m = READ_ZP_X; - OP_SBC_HANDLER(m); -} - -static void OpED(void) // SBC ABS -{ - uint16 m = READ_ABS; - OP_SBC_HANDLER(m); -} - -static void OpFD(void) // SBC ABS, X -{ - uint16 m = READ_ABS_X; - OP_SBC_HANDLER(m); -} - -static void OpF9(void) // SBC ABS, Y -{ - uint16 m = READ_ABS_Y; - OP_SBC_HANDLER(m); -} - -static void OpE1(void) // SBC (ZP, X) -{ - uint16 m = READ_IND_ZP_X; - OP_SBC_HANDLER(m); -} - -static void OpF1(void) // SBC (ZP), Y -{ - uint16 m = READ_IND_ZP_Y; - OP_SBC_HANDLER(m); -} - -static void OpF2(void) // SBC (ZP) -{ - uint16 m = READ_IND_ZP; - OP_SBC_HANDLER(m); -} - -/* -SEC Implied SEC 38 1 2 -*/ - -static void Op38(void) // SEC -{ - regs.cc |= FLAG_C; -} - -/* -SED Implied SED F8 1 2 -*/ - -static void OpF8(void) // SED -{ - regs.cc |= FLAG_D; -} - -/* -SEI Implied SEI 78 1 2 -*/ - -static void Op78(void) // SEI -{ - regs.cc |= FLAG_I; -} - -/* -The bit set and clear instructions have the form xyyy0111, where x is 0 to clear a bit or 1 to set it, and yyy is which bit at the memory location to set or clear. - RMB0 RMB1 RMB2 RMB3 RMB4 RMB5 RMB6 RMB7 - zp 07 17 27 37 47 57 67 77 - SMB0 SMB1 SMB2 SMB3 SMB4 SMB5 SMB6 SMB7 - zp 87 97 A7 B7 C7 D7 E7 F7 -*/ - -// SMB opcodes - -static void Op87(void) // SMB0 ZP -{ - uint8 m; - READ_ZP_WB(m); - m |= 0x01; - WRITE_BACK(m); -} - -static void Op97(void) // SMB1 ZP -{ - uint8 m; - READ_ZP_WB(m); - m |= 0x02; - WRITE_BACK(m); -} - -static void OpA7(void) // SMB2 ZP -{ - uint8 m; - READ_ZP_WB(m); - m |= 0x04; - WRITE_BACK(m); -} - -static void OpB7(void) // SMB3 ZP -{ - uint8 m; - READ_ZP_WB(m); - m |= 0x08; - WRITE_BACK(m); -} - -static void OpC7(void) // SMB4 ZP -{ - uint8 m; - READ_ZP_WB(m); - m |= 0x10; - WRITE_BACK(m); -} - -static void OpD7(void) // SMB5 ZP -{ - uint8 m; - READ_ZP_WB(m); - m |= 0x20; - WRITE_BACK(m); -} - -static void OpE7(void) // SMB6 ZP -{ - uint8 m; - READ_ZP_WB(m); - m |= 0x40; - WRITE_BACK(m); -} - -static void OpF7(void) // SMB7 ZP -{ - uint8 m; - READ_ZP_WB(m); - m |= 0x80; - WRITE_BACK(m); -} - -/* -STA Zero Page STA Zpg 85 2 3 -Zero Page,X STA Zpg,X 95 2 4 -Absolute STA Abs 8D 3 4 -Absolute,X STA Abs,X 9D 3 5 -Absolute,Y STA Abs,Y 99 3 5 -(Zero Page,X) STA (Zpg,X) 81 2 6 -(Zero Page),Y STA (Zpg),Y 91 2 6 -(Zero Page) STA (Zpg) 92 2 5 -*/ - -// STA opcodes - -static void Op85(void) -{ - regs.WrMem(EA_ZP, regs.a); -} - -static void Op95(void) -{ - regs.WrMem(EA_ZP_X, regs.a); -} - -static void Op8D(void) -{ - regs.WrMem(EA_ABS, regs.a); - regs.pc += 2; -} - -static void Op9D(void) -{ - regs.WrMem(EA_ABS_X, regs.a); - regs.pc += 2; -} - -static void Op99(void) -{ - regs.WrMem(EA_ABS_Y, regs.a); - regs.pc += 2; -} - -static void Op81(void) -{ - regs.WrMem(EA_IND_ZP_X, regs.a); -} - -static void Op91(void) -{ - regs.WrMem(EA_IND_ZP_Y, regs.a); -} - -static void Op92(void) -{ - regs.WrMem(EA_IND_ZP, regs.a); -} - -/* -STX Zero Page STX Zpg 86 2 3 -Zero Page,Y STX Zpg,Y 96 2 4 -Absolute STX Abs 8E 3 4 -*/ - -// STX opcodes - -static void Op86(void) -{ - regs.WrMem(EA_ZP, regs.x); -} - -static void Op96(void) -{ - regs.WrMem(EA_ZP_X, regs.x); -} - -static void Op8E(void) -{ - regs.WrMem(EA_ABS, regs.x); - regs.pc += 2; -} - -/* -STY Zero Page STY Zpg 84 2 3 -Zero Page,X STY Zpg,X 94 2 4 -Absolute STY Abs 8C 3 4 -*/ - -// STY opcodes - -static void Op84(void) -{ - regs.WrMem(EA_ZP, regs.y); -} - -static void Op94(void) -{ - regs.WrMem(EA_ZP_X, regs.y); -} - -static void Op8C(void) -{ - regs.WrMem(EA_ABS, regs.y); - regs.pc += 2; -} - -/* -STZ Zero Page STZ Zpg 64 2 3 -Zero Page,X STZ Zpg,X 74 2 4 -Absolute STZ Abs 9C 3 4 -Absolute,X STZ Abs,X 9E 3 5 -*/ - -// STZ opcodes - -static void Op64(void) -{ - regs.WrMem(EA_ZP, 0x00); -} - -static void Op74(void) -{ - regs.WrMem(EA_ZP_X, 0x00); -} - -static void Op9C(void) -{ - regs.WrMem(EA_ABS, 0x00); - regs.pc += 2; -} - -static void Op9E(void) -{ - regs.WrMem(EA_ABS_X, 0x00); - regs.pc += 2; -} - -/* -TAX Implied TAX AA 1 2 -*/ - -static void OpAA(void) // TAX -{ - regs.x = regs.a; - SET_ZN(regs.x); -} - -/* -TAY Implied TAY A8 1 2 -*/ - -static void OpA8(void) // TAY -{ - regs.y = regs.a; - SET_ZN(regs.y); -} - -/* -TRB Zero Page TRB Zpg 14 2 5 -Absolute TRB Abs 1C 3 6 -*/ - -// TRB opcodes - -#define OP_TRB_HANDLER(m) \ - SET_Z(m & regs.a); \ - m &= ~regs.a - -static void Op14(void) // TRB ZP -{ - uint8 m; - READ_ZP_WB(m); - OP_TRB_HANDLER(m); - WRITE_BACK(m); -} - -static void Op1C(void) // TRB ABS -{ - uint8 m; - READ_ABS_WB(m); - OP_TRB_HANDLER(m); - WRITE_BACK(m); -} - -/* -TSB Zero Page TSB Zpg 04 2 5 -Absolute TSB Abs 0C 3 6 -*/ - -// TSB opcodes - -#define OP_TSB_HANDLER(m) \ - SET_Z(m & regs.a); \ - m |= regs.a - -static void Op04(void) // TSB ZP -{ - uint8 m; - READ_ZP_WB(m); - OP_TSB_HANDLER(m); - WRITE_BACK(m); -} - -static void Op0C(void) // TSB ABS -{ - uint8 m; - READ_ABS_WB(m); - OP_TSB_HANDLER(m); - WRITE_BACK(m); -} - -/* -TSX Implied TSX BA 1 2 -*/ - -static void OpBA(void) // TSX -{ - regs.x = regs.sp; - SET_ZN(regs.x); -} - -/* -TXA Implied TXA 8A 1 2 -*/ - -static void Op8A(void) // TXA -{ - regs.a = regs.x; - SET_ZN(regs.a); -} - -/* -TXS Implied TXS 9A 1 2 -*/ - -static void Op9A(void) // TXS -{ - regs.sp = regs.x; -} - -/* -TYA Implied TYA 98 1 2 -*/ -static void Op98(void) // TYA -{ - regs.a = regs.y; - SET_ZN(regs.a); -} - -static void Op__(void) -{ - regs.cpuFlags |= V65C02_STATE_ILLEGAL_INST; -} - - -// -// Ok, the exec_op[] array is globally defined here basically to save -// a LOT of unnecessary typing. Sure it's ugly, but hey, it works! -// -void (* exec_op[256])() = { - Op00, Op01, Op__, Op__, Op04, Op05, Op06, Op07, Op08, Op09, Op0A, Op__, Op0C, Op0D, Op0E, Op0F, - Op10, Op11, Op12, Op__, Op14, Op15, Op16, Op17, Op18, Op19, Op1A, Op__, Op1C, Op1D, Op1E, Op1F, - Op20, Op21, Op__, Op__, Op24, Op25, Op26, Op27, Op28, Op29, Op2A, Op__, Op2C, Op2D, Op2E, Op2F, - Op30, Op31, Op32, Op__, Op34, Op35, Op36, Op37, Op38, Op39, Op3A, Op__, Op3C, Op3D, Op3E, Op3F, - Op40, Op41, Op__, Op__, Op__, Op45, Op46, Op47, Op48, Op49, Op4A, Op__, Op4C, Op4D, Op4E, Op4F, - Op50, Op51, Op52, Op__, Op__, Op55, Op56, Op57, Op58, Op59, Op5A, Op__, Op__, Op5D, Op5E, Op5F, - Op60, Op61, Op__, Op__, Op64, Op65, Op66, Op67, Op68, Op69, Op6A, Op__, Op6C, Op6D, Op6E, Op6F, - Op70, Op71, Op72, Op__, Op74, Op75, Op76, Op77, Op78, Op79, Op7A, Op__, Op7C, Op7D, Op7E, Op7F, - Op80, Op81, Op__, Op__, Op84, Op85, Op86, Op87, Op88, Op89, Op8A, Op__, Op8C, Op8D, Op8E, Op8F, - Op90, Op91, Op92, Op__, Op94, Op95, Op96, Op97, Op98, Op99, Op9A, Op__, Op9C, Op9D, Op9E, Op9F, - OpA0, OpA1, OpA2, Op__, OpA4, OpA5, OpA6, OpA7, OpA8, OpA9, OpAA, Op__, OpAC, OpAD, OpAE, OpAF, - OpB0, OpB1, OpB2, Op__, OpB4, OpB5, OpB6, OpB7, OpB8, OpB9, OpBA, Op__, OpBC, OpBD, OpBE, OpBF, - OpC0, OpC1, Op__, Op__, OpC4, OpC5, OpC6, OpC7, OpC8, OpC9, OpCA, Op__, OpCC, OpCD, OpCE, OpCF, - OpD0, OpD1, OpD2, Op__, Op__, OpD5, OpD6, OpD7, OpD8, OpD9, OpDA, Op__, Op__, OpDD, OpDE, OpDF, - OpE0, OpE1, Op__, Op__, OpE4, OpE5, OpE6, OpE7, OpE8, OpE9, OpEA, Op__, OpEC, OpED, OpEE, OpEF, - OpF0, OpF1, OpF2, Op__, Op__, OpF5, OpF6, OpF7, OpF8, OpF9, OpFA, Op__, Op__, OpFD, OpFE, OpFF -}; - -// -// Internal "memcpy" (so we don't have to link with any external libraries!) -// -static void myMemcpy(void * dst, void * src, uint32 size) -{ - uint8 * d = (uint8 *)dst, * s = (uint8 *)src; - - for(uint32 i=0; icpuFlags &= ~V65C02_ASSERT_LINE_RESET; - regs.cpuFlags &= ~V65C02_ASSERT_LINE_RESET; - } - else if (regs.cpuFlags & V65C02_ASSERT_LINE_NMI) - { -#ifdef __DEBUG__ -WriteLog("\n*** NMI ***\n\n"); -#endif - regs.WrMem(0x0100 + regs.sp--, regs.pc >> 8); // Save PC and CC - regs.WrMem(0x0100 + regs.sp--, regs.pc & 0xFF); - regs.WrMem(0x0100 + regs.sp--, regs.cc); - regs.cc |= FLAG_I; // Set I - regs.cc &= ~FLAG_D; // & clear D - regs.pc = RdMemW(0xFFFA); // And do it! - - regs.clock += 7; - context->cpuFlags &= ~V65C02_ASSERT_LINE_NMI;// Reset the asserted line (NMI)... - regs.cpuFlags &= ~V65C02_ASSERT_LINE_NMI; // Reset the asserted line (NMI)... - } - else if (regs.cpuFlags & V65C02_ASSERT_LINE_IRQ) - { - if (!(regs.cc & FLAG_I)) // Process an interrupt (I=0)? - { -#ifdef __DEBUG__ -WriteLog("\n*** IRQ ***\n\n"); -#endif - regs.WrMem(0x0100 + regs.sp--, regs.pc >> 8); // Save PC and CC - regs.WrMem(0x0100 + regs.sp--, regs.pc & 0xFF); - regs.WrMem(0x0100 + regs.sp--, regs.cc); - regs.cc |= FLAG_I; // Set I - regs.cc &= ~FLAG_D; // & clear D - regs.pc = RdMemW(0xFFFE); // And do it! - - regs.clock += 7; - context->cpuFlags &= ~V65C02_ASSERT_LINE_IRQ; // Reset the asserted line (IRQ)... - regs.cpuFlags &= ~V65C02_ASSERT_LINE_IRQ; // Reset the asserted line (IRQ)... - } - } - } - - myMemcpy(context, ®s, sizeof(V65C02REGS)); -} - -// -// Get the clock of the currently executing CPU -// -uint32 GetCurrentV65C02Clock(void) -{ - return regs.clock; -} +// +// Virtual 65C02 Emulator v1.0 +// +// by James L. Hammons +// (c) 2005 Underground Software +// +// JLH = James L. Hammons +// +// WHO WHEN WHAT +// --- ---------- ------------------------------------------------------------ +// JLH 01/04/2006 Added changelog ;-) +// + +//OK, the wraparound bug exists in both the Apple and Atari versions of Ultima II. +//However, the Atari version *does* occassionally pick strength while the Apple +//versions do not--which would seem to indicate a bug either in the RNG algorithm, +//the 65C02 core, or the Apple hardware. Need to investigate all three! + +#define __DEBUG__ +//#define __DEBUGMON__ + +#include "v65c02.h" + +#ifdef __DEBUG__ +#include "dis65c02.h" +#include "log.h" +#endif + +// Various macros + +#define CLR_Z (regs.cc &= ~FLAG_Z) +#define CLR_ZN (regs.cc &= ~(FLAG_Z | FLAG_N)) +#define CLR_ZNC (regs.cc &= ~(FLAG_Z | FLAG_N | FLAG_C)) +#define CLR_V (regs.cc &= ~FLAG_V) +#define CLR_N (regs.cc &= ~FLAG_N) +#define SET_Z(r) (regs.cc = ((r) == 0 ? regs.cc | FLAG_Z : regs.cc & ~FLAG_Z)) +#define SET_N(r) (regs.cc = ((r) & 0x80 ? regs.cc | FLAG_N : regs.cc & ~FLAG_N)) + +//Not sure that this code is computing the carry correctly... Investigate! [Seems to be] +#define SET_C_ADD(a,b) (regs.cc = ((uint8)(b) > (uint8)(~(a)) ? regs.cc | FLAG_C : regs.cc & ~FLAG_C)) +//#define SET_C_SUB(a,b) (regs.cc = ((uint8)(b) >= (uint8)(a) ? regs.cc | FLAG_C : regs.cc & ~FLAG_C)) +#define SET_C_CMP(a,b) (regs.cc = ((uint8)(b) >= (uint8)(a) ? regs.cc | FLAG_C : regs.cc & ~FLAG_C)) +#define SET_ZN(r) SET_N(r); SET_Z(r) +#define SET_ZNC_ADD(a,b,r) SET_N(r); SET_Z(r); SET_C_ADD(a,b) +//#define SET_ZNC_SUB(a,b,r) SET_N(r); SET_Z(r); SET_C_SUB(a,b) +#define SET_ZNC_CMP(a,b,r) SET_N(r); SET_Z(r); SET_C_CMP(a,b) + +//Small problem with the EA_ macros: ABS macros don't increment the PC!!! !!! FIX !!! +#define EA_IMM regs.pc++ +#define EA_ZP regs.RdMem(regs.pc++) +#define EA_ZP_X (regs.RdMem(regs.pc++) + regs.x) & 0xFF +#define EA_ZP_Y (regs.RdMem(regs.pc++) + regs.y) & 0xFF +#define EA_ABS RdMemW(regs.pc) +#define EA_ABS_X RdMemW(regs.pc) + regs.x +#define EA_ABS_Y RdMemW(regs.pc) + regs.y +#define EA_IND_ZP_X RdMemW((regs.RdMem(regs.pc++) + regs.x) & 0xFF) +#define EA_IND_ZP_Y RdMemW(regs.RdMem(regs.pc++)) + regs.y +#define EA_IND_ZP RdMemW(regs.RdMem(regs.pc++)) + +#define READ_IMM regs.RdMem(EA_IMM) +#define READ_ZP regs.RdMem(EA_ZP) +#define READ_ZP_X regs.RdMem(EA_ZP_X) +#define READ_ZP_Y regs.RdMem(EA_ZP_Y) +#define READ_ABS regs.RdMem(EA_ABS); regs.pc += 2 +#define READ_ABS_X regs.RdMem(EA_ABS_X); regs.pc += 2 +#define READ_ABS_Y regs.RdMem(EA_ABS_Y); regs.pc += 2 +#define READ_IND_ZP_X regs.RdMem(EA_IND_ZP_X) +#define READ_IND_ZP_Y regs.RdMem(EA_IND_ZP_Y) +#define READ_IND_ZP regs.RdMem(EA_IND_ZP) + +#define READ_IMM_WB(v) uint16 addr = EA_IMM; v = regs.RdMem(addr) +#define READ_ZP_WB(v) uint16 addr = EA_ZP; v = regs.RdMem(addr) +#define READ_ZP_X_WB(v) uint16 addr = EA_ZP_X; v = regs.RdMem(addr) +#define READ_ABS_WB(v) uint16 addr = EA_ABS; v = regs.RdMem(addr); regs.pc += 2 +#define READ_ABS_X_WB(v) uint16 addr = EA_ABS_X; v = regs.RdMem(addr); regs.pc += 2 +#define READ_ABS_Y_WB(v) uint16 addr = EA_ABS_Y; v = regs.RdMem(addr); regs.pc += 2 +#define READ_IND_ZP_X_WB(v) uint16 addr = EA_IND_ZP_X; v = regs.RdMem(addr) +#define READ_IND_ZP_Y_WB(v) uint16 addr = EA_IND_ZP_Y; v = regs.RdMem(addr) +#define READ_IND_ZP_WB(v) uint16 addr = EA_IND_ZP; v = regs.RdMem(addr) + +#define WRITE_BACK(d) regs.WrMem(addr, (d)) + +// Private global variables + +static V65C02REGS regs; + +//This is probably incorrect, at least WRT to the $x7 and $xF opcodes... !!! FIX !!! +//Also this doesn't take into account the extra cycle it takes when an indirect fetch +//(ABS, ABS X/Y, ZP) crosses a page boundary, or extra cycle for BCD add/subtract... +#warning Cycle counts are not accurate--!!! FIX !!! +static uint8 CPUCycles[256] = { + 7, 6, 1, 1, 5, 3, 5, 1, 3, 2, 2, 1, 6, 4, 6, 1, + 2, 5, 5, 1, 5, 4, 6, 1, 2, 4, 2, 1, 6, 4, 6, 1, + 6, 6, 1, 1, 3, 3, 5, 1, 4, 2, 2, 1, 4, 4, 6, 1, + 2, 5, 5, 1, 4, 4, 6, 1, 2, 4, 2, 1, 4, 4, 6, 1, + 6, 6, 1, 1, 1, 3, 5, 1, 3, 2, 2, 1, 3, 4, 6, 1, + 2, 5, 5, 1, 1, 4, 6, 1, 2, 4, 3, 1, 1, 4, 6, 1, + 6, 6, 1, 1, 3, 3, 5, 1, 4, 2, 2, 1, 6, 4, 6, 1, + 2, 5, 5, 1, 4, 4, 6, 1, 2, 4, 4, 1, 6, 4, 6, 1, + 2, 6, 1, 1, 3, 3, 3, 1, 2, 2, 2, 1, 4, 4, 4, 1, + 2, 6, 5, 1, 4, 4, 4, 1, 2, 5, 2, 1, 4, 5, 5, 1, + 2, 6, 2, 1, 3, 3, 3, 1, 2, 2, 2, 1, 4, 4, 4, 1, + 2, 5, 5, 1, 4, 4, 4, 1, 2, 4, 2, 1, 4, 4, 4, 1, + 2, 6, 1, 1, 3, 3, 5, 1, 2, 2, 2, 1, 4, 4, 6, 1, + 2, 5, 5, 1, 1, 4, 6, 1, 2, 4, 3, 1, 1, 4, 6, 1, + 2, 6, 1, 1, 3, 3, 5, 1, 2, 2, 2, 1, 4, 4, 6, 1, + 2, 5, 5, 1, 1, 4, 6, 1, 2, 4, 4, 1, 1, 4, 6, 1 }; + +// Private function prototypes + +static uint16 RdMemW(uint16); + +// +// Read a uint16 out of 65C02 memory (big endian format) +// +static uint16 RdMemW(uint16 address) +{ + return (uint16)(regs.RdMem(address + 1) << 8) | regs.RdMem(address + 0); +} + + +// +// 65C02 OPCODE IMPLEMENTATION +// +// NOTE: Lots of macros are used here to save a LOT of typing. Also +// helps speed the debugging process. :-) Because of this, combining +// certain lines may look like a good idea but would end in disaster. +// You have been warned! ;-) +// + +/* +Mnemonic Addressing mode Form Opcode Size Timing + +ADC Immediate ADC #Oper 69 2 2 + Zero Page ADC Zpg 65 2 3 + Zero Page,X ADC Zpg,X 75 2 4 + Absolute ADC Abs 6D 3 4 + Absolute,X ADC Abs,X 7D 3 4 + Absolute,Y ADC Abs,Y 79 3 4 + (Zero Page,X) ADC (Zpg,X) 61 2 6 + (Zero Page),Y ADC (Zpg),Y 71 2 5 + (Zero Page) ADC (Zpg) 72 2 5 +*/ + +// ADC opcodes + +//This is non-optimal, but it works--optimize later. :-) +#define OP_ADC_HANDLER(m) \ + uint16 sum = (uint16)regs.a + (m) + (uint16)(regs.cc & FLAG_C); \ +\ + if (regs.cc & FLAG_D) \ + { \ + if ((sum & 0x0F) > 0x09) \ + sum += 0x06; \ +\ + if ((sum & 0xF0) > 0x90) \ + sum += 0x60; \ + } \ +\ + regs.cc = (regs.cc & ~FLAG_C) | (sum >> 8); \ + regs.cc = (~(regs.a ^ (m)) & (regs.a ^ sum) & 0x80 ? regs.cc | FLAG_V : regs.cc & ~FLAG_V); \ + regs.a = sum & 0xFF; \ + SET_ZN(regs.a) + +//OLD V detection: regs.cc = ((regs.a ^ (m) ^ sum ^ (regs.cc << 7)) & 0x80 ? regs.cc | FLAG_V : regs.cc & ~FLAG_V); + +static void Op69(void) // ADC # +{ + uint16 m = READ_IMM; + OP_ADC_HANDLER(m); +} + +static void Op65(void) // ADC ZP +{ + uint16 m = READ_ZP; + OP_ADC_HANDLER(m); +} + +static void Op75(void) // ADC ZP, X +{ + uint16 m = READ_ZP_X; + OP_ADC_HANDLER(m); +} + +static void Op6D(void) // ADC ABS +{ + uint16 m = READ_ABS; + OP_ADC_HANDLER(m); +} + +static void Op7D(void) // ADC ABS, X +{ + uint16 m = READ_ABS_X; + OP_ADC_HANDLER(m); +} + +static void Op79(void) // ADC ABS, Y +{ + uint16 m = READ_ABS_Y; + OP_ADC_HANDLER(m); +} + +static void Op61(void) // ADC (ZP, X) +{ + uint16 m = READ_IND_ZP_X; + OP_ADC_HANDLER(m); +} + +static void Op71(void) // ADC (ZP), Y +{ + uint16 m = READ_IND_ZP_Y; + OP_ADC_HANDLER(m); +} + +static void Op72(void) // ADC (ZP) +{ + uint16 m = READ_IND_ZP; + OP_ADC_HANDLER(m); +} + +/* +AND Immediate AND #Oper 29 2 2 +Zero Page AND Zpg 25 2 3 +Zero Page,X AND Zpg,X 35 2 4 +Absolute AND Abs 2D 3 4 +Absolute,X AND Abs,X 3D 3 4 +Absolute,Y AND Abs,Y 39 3 4 +(Zero Page,X) AND (Zpg,X) 21 2 6 +(Zero Page),Y AND (Zpg),Y 31 2 5 +(Zero Page) AND (Zpg) 32 2 5 +*/ + +// AND opcodes + +#define OP_AND_HANDLER(m) \ + regs.a &= m; \ + SET_ZN(regs.a) + +static void Op29(void) // AND # +{ + uint8 m = READ_IMM; + OP_AND_HANDLER(m); +} + +static void Op25(void) // AND ZP +{ + uint8 m = READ_ZP; + OP_AND_HANDLER(m); +} + +static void Op35(void) // AND ZP, X +{ + uint8 m = READ_ZP_X; + OP_AND_HANDLER(m); +} + +static void Op2D(void) // AND ABS +{ + uint8 m = READ_ABS; + OP_AND_HANDLER(m); +} + +static void Op3D(void) // AND ABS, X +{ + uint8 m = READ_ABS_X; + OP_AND_HANDLER(m); +} + +static void Op39(void) // AND ABS, Y +{ + uint8 m = READ_ABS_Y; + OP_AND_HANDLER(m); +} + +static void Op21(void) // AND (ZP, X) +{ + uint8 m = READ_IND_ZP_X; + OP_AND_HANDLER(m); +} + +static void Op31(void) // AND (ZP), Y +{ + uint8 m = READ_IND_ZP_Y; + OP_AND_HANDLER(m); +} + +static void Op32(void) // AND (ZP) +{ + uint8 m = READ_IND_ZP; + OP_AND_HANDLER(m); +} + +/* +ASL Accumulator ASL A 0A 1 2 +Zero Page ASL Zpg 06 2 5 +Zero Page,X ASL Zpg,X 16 2 6 +Absolute ASL Abs 0E 3 6 +Absolute,X ASL Abs,X 1E 3 7 +*/ + +/*static void Op78(void) // LSL ABS +{ + uint8 tmp; uint16 addr; + addr = FetchW(); + tmp = regs.RdMem(addr); + (tmp&0x80 ? regs.cc |= 0x01 : regs.cc &= 0xFE); // Shift hi bit into Carry + tmp <<= 1; + regs.WrMem(addr, tmp); + (tmp == 0 ? regs.cc |= 0x04 : regs.cc &= 0xFB); // Adjust Zero flag + (tmp&0x80 ? regs.cc |= 0x08 : regs.cc &= 0xF7); // Adjust Negative flag +}*/ + +// ASL opcodes + +#define OP_ASL_HANDLER(m) \ + regs.cc = ((m) & 0x80 ? regs.cc | FLAG_C : regs.cc & ~FLAG_C); \ + (m) <<= 1; \ + SET_ZN((m)) + +static void Op0A(void) // ASL A +{ + OP_ASL_HANDLER(regs.a); +} + +static void Op06(void) // ASL ZP +{ + uint8 m; + READ_ZP_WB(m); + OP_ASL_HANDLER(m); + WRITE_BACK(m); +} + +static void Op16(void) // ASL ZP, X +{ + uint8 m; + READ_ZP_X_WB(m); + OP_ASL_HANDLER(m); + WRITE_BACK(m); +} + +static void Op0E(void) // ASL ABS +{ + uint8 m; + READ_ABS_WB(m); + OP_ASL_HANDLER(m); + WRITE_BACK(m); +} + +static void Op1E(void) // ASL ABS, X +{ + uint8 m; + READ_ABS_X_WB(m); + OP_ASL_HANDLER(m); + WRITE_BACK(m); +} + +/* +BBR0 Relative BBR0 Oper 0F 2 2 +BBR1 Relative BBR1 Oper 1F 2 2 +BBR2 Relative BBR2 Oper 2F 2 2 +BBR3 Relative BBR3 Oper 3F 2 2 +BBR4 Relative BBR4 Oper 4F 2 2 +BBR5 Relative BBR5 Oper 5F 2 2 +BBR6 Relative BBR6 Oper 6F 2 2 +BBR7 Relative BBR7 Oper 7F 2 2 +BBS0 Relative BBS0 Oper 8F 2 2 +BBS1 Relative BBS1 Oper 9F 2 2 +BBS2 Relative BBS2 Oper AF 2 2 +BBS3 Relative BBS3 Oper BF 2 2 +BBS4 Relative BBS4 Oper CF 2 2 +BBS5 Relative BBS5 Oper DF 2 2 +BBS6 Relative BBS6 Oper EF 2 2 +BBS7 Relative BBS7 Oper FF 2 2 +*/ + +// BBR/Sn opcodes + +static void Op0F(void) // BBR0 +{ + int16 m = (int16)(int8)READ_IMM; + + if (!(regs.a & 0x01)) + regs.pc += m; +} + +static void Op1F(void) // BBR1 +{ + int16 m = (int16)(int8)READ_IMM; + + if (!(regs.a & 0x02)) + regs.pc += m; +} + +static void Op2F(void) // BBR2 +{ + int16 m = (int16)(int8)READ_IMM; + + if (!(regs.a & 0x04)) + regs.pc += m; +} + +static void Op3F(void) // BBR3 +{ + int16 m = (int16)(int8)READ_IMM; + + if (!(regs.a & 0x08)) + regs.pc += m; +} + +static void Op4F(void) // BBR4 +{ + int16 m = (int16)(int8)READ_IMM; + + if (!(regs.a & 0x10)) + regs.pc += m; +} + +static void Op5F(void) // BBR5 +{ + int16 m = (int16)(int8)READ_IMM; + + if (!(regs.a & 0x20)) + regs.pc += m; +} + +static void Op6F(void) // BBR6 +{ + int16 m = (int16)(int8)READ_IMM; + + if (!(regs.a & 0x40)) + regs.pc += m; +} + +static void Op7F(void) // BBR7 +{ + int16 m = (int16)(int8)READ_IMM; + + if (!(regs.a & 0x80)) + regs.pc += m; +} + +static void Op8F(void) // BBS0 +{ + int16 m = (int16)(int8)READ_IMM; + + if (regs.a & 0x01) + regs.pc += m; +} + +static void Op9F(void) // BBS1 +{ + int16 m = (int16)(int8)READ_IMM; + + if (regs.a & 0x02) + regs.pc += m; +} + +static void OpAF(void) // BBS2 +{ + int16 m = (int16)(int8)READ_IMM; + + if (regs.a & 0x04) + regs.pc += m; +} + +static void OpBF(void) // BBS3 +{ + int16 m = (int16)(int8)READ_IMM; + + if (regs.a & 0x08) + regs.pc += m; +} + +static void OpCF(void) // BBS4 +{ + int16 m = (int16)(int8)READ_IMM; + + if (regs.a & 0x10) + regs.pc += m; +} + +static void OpDF(void) // BBS5 +{ + int16 m = (int16)(int8)READ_IMM; + + if (regs.a & 0x20) + regs.pc += m; +} + +static void OpEF(void) // BBS6 +{ + int16 m = (int16)(int8)READ_IMM; + + if (regs.a & 0x40) + regs.pc += m; +} + +static void OpFF(void) // BBS7 +{ + int16 m = (int16)(int8)READ_IMM; + + if (regs.a & 0x80) + regs.pc += m; +} + +/* +BCC Relative BCC Oper 90 2 2 +BCS Relative BCS Oper B0 2 2 +BEQ Relative BEQ Oper F0 2 2 +*/ + +// Branch opcodes + +static void Op90(void) // BCC +{ + int16 m = (int16)(int8)READ_IMM; + + if (!(regs.cc & FLAG_C)) + regs.pc += m; +} + +static void OpB0(void) // BCS +{ + int16 m = (int16)(int8)READ_IMM; + + if (regs.cc & FLAG_C) + regs.pc += m; +} + +static void OpF0(void) // BEQ +{ + int16 m = (int16)(int8)READ_IMM; + + if (regs.cc & FLAG_Z) + regs.pc += m; +} + +/* +BIT Immediate BIT #Oper 89 2 2 +Zero Page BIT Zpg 24 2 3 +Zero Page,X BIT Zpg,X 34 2 4 +Absolute BIT Abs 2C 3 4 +Absolute,X BIT Abs,X 3C 3 4 +*/ + +// BIT opcodes + +/* 1. The BIT instruction copies bit 6 to the V flag, and bit 7 to the N flag (except in immediate + addressing mode where V & N are untouched.) The accumulator and the operand are ANDed and the + Z flag is set appropriately. */ + +#define OP_BIT_HANDLER(m) \ + int8 result = regs.a & (m); \ + regs.cc &= ~(FLAG_N | FLAG_V); \ + regs.cc |= ((m) & 0xC0); \ + SET_Z(result) + +static void Op89(void) // BIT # +{ + int8 m = READ_IMM; + int8 result = regs.a & m; + SET_Z(result); +} + +static void Op24(void) // BIT ZP +{ + int8 m = READ_ZP; + OP_BIT_HANDLER(m); +} + +static void Op34(void) // BIT ZP, X +{ + uint8 m = READ_ZP_X; + OP_BIT_HANDLER(m); +} + +static void Op2C(void) // BIT ABS +{ + uint8 m = READ_ABS; + OP_BIT_HANDLER(m); +} + +static void Op3C(void) // BIT ABS, X +{ + uint8 m = READ_ABS_X; + OP_BIT_HANDLER(m); +} + +/* +BMI Relative BMI Oper 30 2 2 +BNE Relative BNE Oper D0 2 2 +BPL Relative BPL Oper 10 2 2 +BRA Relative BRA Oper 80 2 3 +*/ + +// More branch opcodes + +static void Op30(void) // BMI +{ + int16 m = (int16)(int8)READ_IMM; + + if (regs.cc & FLAG_N) + regs.pc += m; +} + +static void OpD0(void) // BNE +{ + int16 m = (int16)(int8)READ_IMM; + + if (!(regs.cc & FLAG_Z)) + regs.pc += m; +} + +static void Op10(void) // BPL +{ + int16 m = (int16)(int8)READ_IMM; + + if (!(regs.cc & FLAG_N)) + regs.pc += m; +} + +static void Op80(void) // BRA +{ + int16 m = (int16)(int8)READ_IMM; + regs.pc += m; +} + +/* +BRK Implied BRK 00 1 7 +*/ + +static void Op00(void) // BRK +{ + regs.cc |= FLAG_B; // Set B + regs.pc++; // RTI comes back to the instruction one byte after the BRK + regs.WrMem(0x0100 + regs.sp--, regs.pc >> 8); // Save PC and CC + regs.WrMem(0x0100 + regs.sp--, regs.pc & 0xFF); + regs.WrMem(0x0100 + regs.sp--, regs.cc); + regs.cc |= FLAG_I; // Set I + regs.cc &= ~FLAG_D; // & clear D + regs.pc = RdMemW(0xFFFE); // Grab the IRQ vector & go... +} + +/* +BVC Relative BVC Oper 50 2 2 +BVS Relative BVS Oper 70 2 2 +*/ + +// Even more branch opcodes + +static void Op50(void) // BVC +{ + int16 m = (int16)(int8)READ_IMM; + + if (!(regs.cc & FLAG_V)) + regs.pc += m; +} + +static void Op70(void) // BVS +{ + int16 m = (int16)(int8)READ_IMM; + + if (regs.cc & FLAG_V) + regs.pc += m; +} + +/* +CLC Implied CLC 18 1 2 +*/ + +static void Op18(void) // CLC +{ + regs.cc &= ~FLAG_C; +} + +/* +CLD Implied CLD D8 1 2 +*/ + +static void OpD8(void) // CLD +{ + regs.cc &= ~FLAG_D; +} + +/* +CLI Implied CLI 58 1 2 +*/ + +static void Op58(void) // CLI +{ + regs.cc &= ~FLAG_I; +} + +/* +CLV Implied CLV B8 1 2 +*/ + +static void OpB8(void) // CLV +{ + regs.cc &= ~FLAG_V; +} + +/* +CMP Immediate CMP #Oper C9 2 2 +Zero Page CMP Zpg C5 2 3 +Zero Page,X CMP Zpg D5 2 4 +Absolute CMP Abs CD 3 4 +Absolute,X CMP Abs,X DD 3 4 +Absolute,Y CMP Abs,Y D9 3 4 +(Zero Page,X) CMP (Zpg,X) C1 2 6 +(Zero Page),Y CMP (Zpg),Y D1 2 5 +(Zero Page) CMP (Zpg) D2 2 5 +*/ + +// CMP opcodes + +/* +Here's the latest: The CMP is NOT generating the Z flag when A=$C0! + +FABA: A0 07 LDY #$07 [PC=FABC, SP=01FF, CC=---B-IZ-, A=00, X=00, Y=07] +FABC: C6 01 DEC $01 [PC=FABE, SP=01FF, CC=N--B-I--, A=00, X=00, Y=07] +FABE: A5 01 LDA $01 [PC=FAC0, SP=01FF, CC=N--B-I--, A=C0, X=00, Y=07] +FAC0: C9 C0 CMP #$C0 [PC=FAC2, SP=01FF, CC=N--B-I--, A=C0, X=00, Y=07] +FAC2: F0 D7 BEQ $FA9B [PC=FAC4, SP=01FF, CC=N--B-I--, A=C0, X=00, Y=07] +FAC4: 8D F8 07 STA $07F8 [PC=FAC7, SP=01FF, CC=N--B-I--, A=C0, X=00, Y=07] +FAC7: B1 00 LDA ($00),Y +*** Read at I/O address C007 + [PC=FAC9, SP=01FF, CC=---B-IZ-, A=00, X=00, Y=07] +FAC9: D9 01 FB CMP $FB01,Y [PC=FACC, SP=01FF, CC=---B-I--, A=00, X=00, Y=07] +FACC: D0 EC BNE $FABA [PC=FABA, SP=01FF, CC=---B-I--, A=00, X=00, Y=07] + +Should be fixed now... (was adding instead of subtracting!) + +Small problem here... First two should set the carry while the last one should clear it. !!! FIX !!! [DONE] + +FDF0: C9 A0 CMP #$A0 [PC=FDF2, SP=01F1, CC=---B-IZ-, A=A0, X=02, Y=03] +FD7E: C9 E0 CMP #$E0 [PC=FD80, SP=01F4, CC=N--B-I--, A=A0, X=02, Y=03] +FD38: C9 9B CMP #$9B [PC=FD3A, SP=01F2, CC=---B-I-C, A=A0, X=02, Y=03] + +Compare sets flags as if a subtraction had been carried out. If the value in the accumulator is equal or greater than the compared value, the Carry will be set. The equal (Z) and sign (S) flags will be set based on equality or lack thereof and the sign (i.e. A>=$80) of the accumulator. +*/ + +#define OP_CMP_HANDLER(m) \ + uint8 result = regs.a - (m); \ + SET_ZNC_CMP(m, regs.a, result) + +static void OpC9(void) // CMP # +{ + uint8 m = READ_IMM; + OP_CMP_HANDLER(m); +} + +static void OpC5(void) // CMP ZP +{ + uint8 m = READ_ZP; + OP_CMP_HANDLER(m); +} + +static void OpD5(void) // CMP ZP, X +{ + uint8 m = READ_ZP_X; + OP_CMP_HANDLER(m); +} + +static void OpCD(void) // CMP ABS +{ + uint8 m = READ_ABS; + OP_CMP_HANDLER(m); +} + +static void OpDD(void) // CMP ABS, X +{ + uint8 m = READ_ABS_X; + OP_CMP_HANDLER(m); +} + +static void OpD9(void) // CMP ABS, Y +{ + uint8 m = READ_ABS_Y; + OP_CMP_HANDLER(m); +} + +static void OpC1(void) // CMP (ZP, X) +{ + uint8 m = READ_IND_ZP_X; + OP_CMP_HANDLER(m); +} + +static void OpD1(void) // CMP (ZP), Y +{ + uint8 m = READ_IND_ZP_Y; + OP_CMP_HANDLER(m); +} + +static void OpD2(void) // CMP (ZP) +{ + uint8 m = READ_IND_ZP; + OP_CMP_HANDLER(m); +} + +/* +CPX Immediate CPX #Oper E0 2 2 +Zero Page CPX Zpg E4 2 3 +Absolute CPX Abs EC 3 4 +*/ + +// CPX opcodes + +#define OP_CPX_HANDLER(m) \ + uint8 result = regs.x - (m); \ + SET_ZNC_CMP(m, regs.x, result) + +static void OpE0(void) // CPX # +{ + uint8 m = READ_IMM; + OP_CPX_HANDLER(m); +} + +static void OpE4(void) // CPX ZP +{ + uint8 m = READ_ZP; + OP_CPX_HANDLER(m); +} + +static void OpEC(void) // CPX ABS +{ + uint8 m = READ_ABS; + OP_CPX_HANDLER(m); +} + +/* +CPY Immediate CPY #Oper C0 2 2 +Zero Page CPY Zpg C4 2 3 +Absolute CPY Abs CC 3 4 +*/ + +// CPY opcodes + +#define OP_CPY_HANDLER(m) \ + uint8 result = regs.y - (m); \ + SET_ZNC_CMP(m, regs.y, result) + +static void OpC0(void) // CPY # +{ + uint8 m = READ_IMM; + OP_CPY_HANDLER(m); +} + +static void OpC4(void) // CPY ZP +{ + uint8 m = READ_ZP; + OP_CPY_HANDLER(m); +} + +static void OpCC(void) // CPY ABS +{ + uint8 m = READ_ABS; + OP_CPY_HANDLER(m); +} + +/* +DEA Accumulator DEA 3A 1 2 +*/ + +static void Op3A(void) // DEA +{ + regs.a--; + SET_ZN(regs.a); +} + +/* +DEC Zero Page DEC Zpg C6 2 5 +Zero Page,X DEC Zpg,X D6 2 6 +Absolute DEC Abs CE 3 6 +Absolute,X DEC Abs,X DE 3 7 +*/ + +// DEC opcodes + +#define OP_DEC_HANDLER(m) \ + m--; \ + SET_ZN(m) + +static void OpC6(void) // DEC ZP +{ + uint8 m; + READ_ZP_WB(m); + OP_DEC_HANDLER(m); + WRITE_BACK(m); +} + +static void OpD6(void) // DEC ZP, X +{ + uint8 m; + READ_ZP_X_WB(m); + OP_DEC_HANDLER(m); + WRITE_BACK(m); +} + +static void OpCE(void) // DEC ABS +{ + uint8 m; + READ_ABS_WB(m); + OP_DEC_HANDLER(m); + WRITE_BACK(m); +} + +static void OpDE(void) // DEC ABS, X +{ + uint8 m; + READ_ABS_X_WB(m); + OP_DEC_HANDLER(m); + WRITE_BACK(m); +} + +/* +Here's one problem: DEX is setting the N flag! + +D3EE: A2 09 LDX #$09 [PC=D3F0, SP=01F7, CC=---B-I-C, A=01, X=09, Y=08] +D3F0: 98 TYA [PC=D3F1, SP=01F7, CC=N--B-I-C, A=08, X=09, Y=08] +D3F1: 48 PHA [PC=D3F2, SP=01F6, CC=N--B-I-C, A=08, X=09, Y=08] +D3F2: B5 93 LDA $93,X [PC=D3F4, SP=01F6, CC=---B-IZC, A=00, X=09, Y=08] +D3F4: CA DEX [PC=D3F5, SP=01F6, CC=N--B-I-C, A=00, X=08, Y=08] +D3F5: 10 FA BPL $D3F1 [PC=D3F7, SP=01F6, CC=N--B-I-C, A=00, X=08, Y=08] +D3F7: 20 84 E4 JSR $E484 [PC=E484, SP=01F4, CC=N--B-I-C, A=00, X=08, Y=08] + +should be fixed now... +*/ + +/* +DEX Implied DEX CA 1 2 +*/ + +static void OpCA(void) // DEX +{ + regs.x--; + SET_ZN(regs.x); +} + +/* +DEY Implied DEY 88 1 2 +*/ + +static void Op88(void) // DEY +{ + regs.y--; + SET_ZN(regs.y); +} + +/* +EOR Immediate EOR #Oper 49 2 2 +Zero Page EOR Zpg 45 2 3 +Zero Page,X EOR Zpg,X 55 2 4 +Absolute EOR Abs 4D 3 4 +Absolute,X EOR Abs,X 5D 3 4 +Absolute,Y EOR Abs,Y 59 3 4 +(Zero Page,X) EOR (Zpg,X) 41 2 6 +(Zero Page),Y EOR (Zpg),Y 51 2 5 +(Zero Page) EOR (Zpg) 52 2 5 +*/ + +// EOR opcodes + +#define OP_EOR_HANDLER(m) \ + regs.a ^= m; \ + SET_ZN(regs.a) + +static void Op49(void) // EOR # +{ + uint8 m = READ_IMM; + OP_EOR_HANDLER(m); +} + +static void Op45(void) // EOR ZP +{ + uint8 m = READ_ZP; + OP_EOR_HANDLER(m); +} + +static void Op55(void) // EOR ZP, X +{ + uint8 m = READ_ZP_X; + OP_EOR_HANDLER(m); +} + +static void Op4D(void) // EOR ABS +{ + uint8 m = READ_ABS; + OP_EOR_HANDLER(m); +} + +static void Op5D(void) // EOR ABS, X +{ + uint8 m = READ_ABS_X; + OP_EOR_HANDLER(m); +} + +static void Op59(void) // EOR ABS, Y +{ + uint8 m = READ_ABS_Y; + OP_EOR_HANDLER(m); +} + +static void Op41(void) // EOR (ZP, X) +{ + uint8 m = READ_IND_ZP_X; + OP_EOR_HANDLER(m); +} + +static void Op51(void) // EOR (ZP), Y +{ + uint8 m = READ_IND_ZP_Y; + OP_EOR_HANDLER(m); +} + +static void Op52(void) // EOR (ZP) +{ + uint8 m = READ_IND_ZP; + OP_EOR_HANDLER(m); +} + +/* +INA Accumulator INA 1A 1 2 +*/ + +static void Op1A(void) // INA +{ + regs.a++; + SET_ZN(regs.a); +} + +/* +INC Zero Page INC Zpg E6 2 5 +Zero Page,X INC Zpg,X F6 2 6 +Absolute INC Abs EE 3 6 +Absolute,X INC Abs,X FE 3 7 +*/ + +// INC opcodes + +#define OP_INC_HANDLER(m) \ + m++; \ + SET_ZN(m) + +static void OpE6(void) // INC ZP +{ + uint8 m; + READ_ZP_WB(m); + OP_INC_HANDLER(m); + WRITE_BACK(m); +} + +static void OpF6(void) // INC ZP, X +{ + uint8 m; + READ_ZP_X_WB(m); + OP_INC_HANDLER(m); + WRITE_BACK(m); +} + +static void OpEE(void) // INC ABS +{ + uint8 m; + READ_ABS_WB(m); + OP_INC_HANDLER(m); + WRITE_BACK(m); +} + +static void OpFE(void) // INC ABS, X +{ + uint8 m; + READ_ABS_X_WB(m); + OP_INC_HANDLER(m); + WRITE_BACK(m); +} + +/* +INX Implied INX E8 1 2 +*/ + +static void OpE8(void) // INX +{ + regs.x++; + SET_ZN(regs.x); +} + +/* +INY Implied INY C8 1 2 +*/ + +static void OpC8(void) // INY +{ + regs.y++; + SET_ZN(regs.y); +} + +/* +JMP Absolute JMP Abs 4C 3 3 +(Absolute) JMP (Abs) 6C 3 5 +(Absolute,X) JMP (Abs,X) 7C 3 6 +*/ + +// JMP opcodes + +static void Op4C(void) // JMP ABS +{ + regs.pc = RdMemW(regs.pc); +} + +static void Op6C(void) // JMP (ABS) +{ +// uint16 addr = RdMemW(regs.pc); +//#ifdef __DEBUG__ +//WriteLog("\n[JMP ABS]: addr fetched = %04X, bytes at %04X = %02X %02X (RdMemw=%04X)\n", +// addr, addr, regs.RdMem(addr), regs.RdMem(addr+1), RdMemW(addr)); +//#endif +// addr = RdMemW(addr); + regs.pc = RdMemW(RdMemW(regs.pc)); +} + +static void Op7C(void) // JMP (ABS, X) +{ + regs.pc = RdMemW(RdMemW(regs.pc) + regs.x); +} + +/* +JSR Absolute JSR Abs 20 3 6 +*/ + +//This is not jumping to the correct address... !!! FIX !!! [DONE] +static void Op20(void) // JSR +{ + uint16 addr = RdMemW(regs.pc); + regs.pc++; // Since it pushes return address - 1... + regs.WrMem(0x0100 + regs.sp--, regs.pc >> 8); + regs.WrMem(0x0100 + regs.sp--, regs.pc & 0xFF); + regs.pc = addr; +} + +/* +LDA Immediate LDA #Oper A9 2 2 +Zero Page LDA Zpg A5 2 3 +Zero Page,X LDA Zpg,X B5 2 4 +Absolute LDA Abs AD 3 4 +Absolute,X LDA Abs,X BD 3 4 +Absolute,Y LDA Abs,Y B9 3 4 +(Zero Page,X) LDA (Zpg,X) A1 2 6 +(Zero Page),Y LDA (Zpg),Y B1 2 5 +(Zero Page) LDA (Zpg) B2 2 5 +*/ + +// LDA opcodes + +#define OP_LDA_HANDLER(m) \ + regs.a = m; \ + SET_ZN(regs.a) + +static void OpA9(void) // LDA # +{ + uint8 m = READ_IMM; + OP_LDA_HANDLER(m); +} + +static void OpA5(void) // LDA ZP +{ + uint8 m = READ_ZP; + OP_LDA_HANDLER(m); +} + +static void OpB5(void) // LDA ZP, X +{ + uint8 m = READ_ZP_X; + OP_LDA_HANDLER(m); +} + +static void OpAD(void) // LDA ABS +{ + uint8 m = READ_ABS; + OP_LDA_HANDLER(m); +} + +static void OpBD(void) // LDA ABS, X +{ + uint8 m = READ_ABS_X; + OP_LDA_HANDLER(m); +} + +static void OpB9(void) // LDA ABS, Y +{ + uint8 m = READ_ABS_Y; + OP_LDA_HANDLER(m); +} + +static void OpA1(void) // LDA (ZP, X) +{ + uint8 m = READ_IND_ZP_X; + OP_LDA_HANDLER(m); +} + +static void OpB1(void) // LDA (ZP), Y +{ + uint8 m = READ_IND_ZP_Y; + OP_LDA_HANDLER(m); +} + +static void OpB2(void) // LDA (ZP) +{ + uint8 m = READ_IND_ZP; + OP_LDA_HANDLER(m); +} + +/* +LDX Immediate LDX #Oper A2 2 2 +Zero Page LDX Zpg A6 2 3 +Zero Page,Y LDX Zpg,Y B6 2 4 +Absolute LDX Abs AE 3 4 +Absolute,Y LDX Abs,Y BE 3 4 +*/ + +// LDX opcodes + +#define OP_LDX_HANDLER(m) \ + regs.x = m; \ + SET_ZN(regs.x) + +static void OpA2(void) // LDX # +{ + uint8 m = READ_IMM; + OP_LDX_HANDLER(m); +} + +static void OpA6(void) // LDX ZP +{ + uint8 m = READ_ZP; + OP_LDX_HANDLER(m); +} + +static void OpB6(void) // LDX ZP, Y +{ + uint8 m = READ_ZP_Y; + OP_LDX_HANDLER(m); +} + +static void OpAE(void) // LDX ABS +{ + uint8 m = READ_ABS; + OP_LDX_HANDLER(m); +} + +static void OpBE(void) // LDX ABS, Y +{ + uint8 m = READ_ABS_Y; + OP_LDX_HANDLER(m); +} + +/* +LDY Immediate LDY #Oper A0 2 2 +Zero Page LDY Zpg A4 2 3 +Zero Page,Y LDY Zpg,X B4 2 4 +Absolute LDY Abs AC 3 4 +Absolute,Y LDY Abs,X BC 3 4 +*/ + +// LDY opcodes + +#define OP_LDY_HANDLER(m) \ + regs.y = m; \ + SET_ZN(regs.y) + +static void OpA0(void) // LDY # +{ + uint8 m = READ_IMM; + OP_LDY_HANDLER(m); +} + +static void OpA4(void) // LDY ZP +{ + uint8 m = READ_ZP; + OP_LDY_HANDLER(m); +} + +static void OpB4(void) // LDY ZP, X +{ + uint8 m = READ_ZP_X; + OP_LDY_HANDLER(m); +} + +static void OpAC(void) // LDY ABS +{ + uint8 m = READ_ABS; + OP_LDY_HANDLER(m); +} + +static void OpBC(void) // LDY ABS, X +{ + uint8 m = READ_ABS_X; + OP_LDY_HANDLER(m); +} + +/* +LSR Accumulator LSR A 4A 1 2 +Zero Page LSR Zpg 46 2 5 +Zero Page,X LSR Zpg,X 56 2 6 +Absolute LSR Abs 4E 3 6 +Absolute,X LSR Abs,X 5E 3 7 +*/ + +// LSR opcodes + +#define OP_LSR_HANDLER(m) \ + regs.cc = ((m) & 0x01 ? regs.cc | FLAG_C : regs.cc & ~FLAG_C); \ + (m) >>= 1; \ + CLR_N; SET_Z((m)) + +static void Op4A(void) // LSR A +{ + OP_LSR_HANDLER(regs.a); +} + +static void Op46(void) // LSR ZP +{ + uint8 m; + READ_ZP_WB(m); + OP_LSR_HANDLER(m); + WRITE_BACK(m); +} + +static void Op56(void) // LSR ZP, X +{ + uint8 m; + READ_ZP_X_WB(m); + OP_LSR_HANDLER(m); + WRITE_BACK(m); +} + +static void Op4E(void) // LSR ABS +{ + uint8 m; + READ_ABS_WB(m); + OP_LSR_HANDLER(m); + WRITE_BACK(m); +} + +static void Op5E(void) // LSR ABS, X +{ + uint8 m; + READ_ABS_X_WB(m); + OP_LSR_HANDLER(m); + WRITE_BACK(m); +} + +/* +NOP Implied NOP EA 1 2 +*/ + +static void OpEA(void) // NOP +{ +} + +/* +ORA Immediate ORA #Oper 09 2 2 +Zero Page ORA Zpg 05 2 3 +Zero Page,X ORA Zpg,X 15 2 4 +Absolute ORA Abs 0D 3 4 +Absolute,X ORA Abs,X 1D 3 4 +Absolute,Y ORA Abs,Y 19 3 4 +(Zero Page,X) ORA (Zpg,X) 01 2 6 +(Zero Page),Y ORA (Zpg),Y 11 2 5 +(Zero Page) ORA (Zpg) 12 2 5 +*/ + +// ORA opcodes + +#define OP_ORA_HANDLER(m) \ + regs.a |= m; \ + SET_ZN(regs.a) + +static void Op09(void) // ORA # +{ + uint8 m = READ_IMM; + OP_ORA_HANDLER(m); +} + +static void Op05(void) // ORA ZP +{ + uint8 m = READ_ZP; + OP_ORA_HANDLER(m); +} + +static void Op15(void) // ORA ZP, X +{ + uint8 m = READ_ZP_X; + OP_ORA_HANDLER(m); +} + +static void Op0D(void) // ORA ABS +{ + uint8 m = READ_ABS; + OP_ORA_HANDLER(m); +} + +static void Op1D(void) // ORA ABS, X +{ + uint8 m = READ_ABS_X; + OP_ORA_HANDLER(m); +} + +static void Op19(void) // ORA ABS, Y +{ + uint8 m = READ_ABS_Y; + OP_ORA_HANDLER(m); +} + +static void Op01(void) // ORA (ZP, X) +{ + uint8 m = READ_IND_ZP_X; + OP_ORA_HANDLER(m); +} + +static void Op11(void) // ORA (ZP), Y +{ + uint8 m = READ_IND_ZP_Y; + OP_ORA_HANDLER(m); +} + +static void Op12(void) // ORA (ZP) +{ + uint8 m = READ_IND_ZP; + OP_ORA_HANDLER(m); +} + +/* +PHA Implied PHA 48 1 3 +*/ + +static void Op48(void) // PHA +{ + regs.WrMem(0x0100 + regs.sp--, regs.a); +} + +static void Op08(void) // PHP +{ + regs.cc |= FLAG_UNK; // Make sure that the unused bit is always set + regs.WrMem(0x0100 + regs.sp--, regs.cc); +} + +/* +PHX Implied PHX DA 1 3 +*/ + +static void OpDA(void) // PHX +{ + regs.WrMem(0x0100 + regs.sp--, regs.x); +} + +/* +PHY Implied PHY 5A 1 3 +*/ + +static void Op5A(void) // PHY +{ + regs.WrMem(0x0100 + regs.sp--, regs.y); +} + +/* +PLA Implied PLA 68 1 4 +*/ + +static void Op68(void) // PLA +{ + regs.a = regs.RdMem(0x0100 + ++regs.sp); + SET_ZN(regs.a); +} + +static void Op28(void) // PLP +{ + regs.cc = regs.RdMem(0x0100 + ++regs.sp); +} + +/* +PLX Implied PLX FA 1 4 +*/ + +static void OpFA(void) // PLX +{ + regs.x = regs.RdMem(0x0100 + ++regs.sp); + SET_ZN(regs.x); +} + +/* +PLY Implied PLY 7A 1 4 +*/ + +static void Op7A(void) // PLY +{ + regs.y = regs.RdMem(0x0100 + ++regs.sp); + SET_ZN(regs.y); +} + +/* +The bit set and clear instructions have the form xyyy0111, where x is 0 to clear a bit or 1 to set it, and yyy is which bit at the memory location to set or clear. + RMB0 RMB1 RMB2 RMB3 RMB4 RMB5 RMB6 RMB7 + zp 07 17 27 37 47 57 67 77 + SMB0 SMB1 SMB2 SMB3 SMB4 SMB5 SMB6 SMB7 + zp 87 97 A7 B7 C7 D7 E7 F7 +*/ + +// RMB opcodes + +static void Op07(void) // RMB0 ZP +{ + uint8 m; + READ_ZP_WB(m); + m &= 0xFE; + WRITE_BACK(m); +} + +static void Op17(void) // RMB1 ZP +{ + uint8 m; + READ_ZP_WB(m); + m &= 0xFD; + WRITE_BACK(m); +} + +static void Op27(void) // RMB2 ZP +{ + uint8 m; + READ_ZP_WB(m); + m &= 0xFB; + WRITE_BACK(m); +} + +static void Op37(void) // RMB3 ZP +{ + uint8 m; + READ_ZP_WB(m); + m &= 0xF7; + WRITE_BACK(m); +} + +static void Op47(void) // RMB4 ZP +{ + uint8 m; + READ_ZP_WB(m); + m &= 0xEF; + WRITE_BACK(m); +} + +static void Op57(void) // RMB5 ZP +{ + uint8 m; + READ_ZP_WB(m); + m &= 0xDF; + WRITE_BACK(m); +} + +static void Op67(void) // RMB6 ZP +{ + uint8 m; + READ_ZP_WB(m); + m &= 0xBF; + WRITE_BACK(m); +} + +static void Op77(void) // RMB7 ZP +{ + uint8 m; + READ_ZP_WB(m); + m &= 0x7F; + WRITE_BACK(m); +} + +/* +ROL Accumulator ROL A 2A 1 2 +Zero Page ROL Zpg 26 2 5 +Zero Page,X ROL Zpg,X 36 2 6 +Absolute ROL Abs 2E 3 6 +Absolute,X ROL Abs,X 3E 3 7 +*/ + +// ROL opcodes + +#define OP_ROL_HANDLER(m) \ + uint8 tmp = regs.cc & 0x01; \ + regs.cc = ((m) & 0x80 ? regs.cc | FLAG_C : regs.cc & ~FLAG_C); \ + (m) = ((m) << 1) | tmp; \ + SET_ZN((m)) + +static void Op2A(void) // ROL A +{ + OP_ROL_HANDLER(regs.a); +} + +static void Op26(void) // ROL ZP +{ + uint8 m; + READ_ZP_WB(m); + OP_ROL_HANDLER(m); + WRITE_BACK(m); +} + +static void Op36(void) // ROL ZP, X +{ + uint8 m; + READ_ZP_X_WB(m); + OP_ROL_HANDLER(m); + WRITE_BACK(m); +} + +static void Op2E(void) // ROL ABS +{ + uint8 m; + READ_ABS_WB(m); + OP_ROL_HANDLER(m); + WRITE_BACK(m); +} + +static void Op3E(void) // ROL ABS, X +{ + uint8 m; + READ_ABS_X_WB(m); + OP_ROL_HANDLER(m); + WRITE_BACK(m); +} + +/* +ROR Accumulator ROR A 6A 1 2 +Zero Page ROR Zpg 66 2 5 +Zero Page,X ROR Zpg,X 76 2 6 +Absolute ROR Abs 6E 3 6 +Absolute,X ROR Abs,X 7E 3 7 +*/ + +// ROR opcodes + +#define OP_ROR_HANDLER(m) \ + uint8 tmp = (regs.cc & 0x01) << 7; \ + regs.cc = ((m) & 0x01 ? regs.cc | FLAG_C : regs.cc & ~FLAG_C); \ + (m) = ((m) >> 1) | tmp; \ + SET_ZN((m)) + +static void Op6A(void) // ROR A +{ + OP_ROR_HANDLER(regs.a); +} + +static void Op66(void) // ROR ZP +{ + uint8 m; + READ_ZP_WB(m); + OP_ROR_HANDLER(m); + WRITE_BACK(m); +} + +static void Op76(void) // ROR ZP, X +{ + uint8 m; + READ_ZP_X_WB(m); + OP_ROR_HANDLER(m); + WRITE_BACK(m); +} + +static void Op6E(void) // ROR ABS +{ + uint8 m; + READ_ABS_WB(m); + OP_ROR_HANDLER(m); + WRITE_BACK(m); +} + +static void Op7E(void) // ROR ABS, X +{ + uint8 m; + READ_ABS_X_WB(m); + OP_ROR_HANDLER(m); + WRITE_BACK(m); +} + +/* +RTI Implied RTI 40 1 6 +*/ + +static void Op40(void) // RTI +{ + regs.cc = regs.RdMem(0x0100 + ++regs.sp); + regs.pc = regs.RdMem(0x0100 + ++regs.sp); + regs.pc |= (uint16)(regs.RdMem(0x0100 + ++regs.sp)) << 8; +} + +/* +RTS Implied RTS 60 1 6 +*/ + +static void Op60(void) // RTS +{ + regs.pc = regs.RdMem(0x0100 + ++regs.sp); + regs.pc |= (uint16)(regs.RdMem(0x0100 + ++regs.sp)) << 8; + regs.pc++; // Since it pushes return address - 1... +//printf("*** RTS: PC = $%04X, SP= $1%02X\n", regs.pc, regs.sp); +//fflush(stdout); +} + +/* +SBC Immediate SBC #Oper E9 2 2 +Zero Page SBC Zpg E5 2 3 +Zero Page,X SBC Zpg,X F5 2 4 +Absolute SBC Abs ED 3 4 +Absolute,X SBC Abs,X FD 3 4 +Absolute,Y SBC Abs,Y F9 3 4 +(Zero Page,X) SBC (Zpg,X) E1 2 6 +(Zero Page),Y SBC (Zpg),Y F1 2 5 +(Zero Page) SBC (Zpg) F2 2 5 +*/ + +// SBC opcodes + +//This is non-optimal, but it works--optimize later. :-) +//This is correct except for the BCD handling... !!! FIX !!! [Possibly DONE] +#define OP_SBC_HANDLER(m) \ + uint16 sum = (uint16)regs.a - (m) - (uint16)((regs.cc & FLAG_C) ^ 0x01); \ +\ + if (regs.cc & FLAG_D) \ + { \ + if ((sum & 0x0F) > 0x09) \ + sum -= 0x06; \ +\ + if ((sum & 0xF0) > 0x90) \ + sum -= 0x60; \ + } \ +\ + regs.cc = (regs.cc & ~FLAG_C) | (((sum >> 8) ^ 0x01) & FLAG_C); \ + regs.cc = ((regs.a ^ (m)) & (regs.a ^ sum) & 0x80 ? regs.cc | FLAG_V : regs.cc & ~FLAG_V); \ + regs.a = sum & 0xFF; \ + SET_ZN(regs.a) + +/* +D5AF: 38 SEC [PC=D5B0, SP=01F6, CC=---B-I-C, A=4C, X=00, Y=06] + +*** HERE'S where it sets the D flag on a subtract... Arg! + +D5B0: F1 9D SBC ($9D),Y [PC=D5B2, SP=01F6, CC=N--BDI--, A=FE, X=00, Y=06] + +Fixed. :-) +*/ + +//OLD V detection: regs.cc = ((regs.a ^ (m) ^ sum ^ (regs.cc << 7)) & 0x80 ? regs.cc | FLAG_V : regs.cc & ~FLAG_V); + +static void OpE9(void) // SBC # +{ + uint16 m = READ_IMM; + OP_SBC_HANDLER(m); +} + +static void OpE5(void) // SBC ZP +{ + uint16 m = READ_ZP; + OP_SBC_HANDLER(m); +} + +static void OpF5(void) // SBC ZP, X +{ + uint16 m = READ_ZP_X; + OP_SBC_HANDLER(m); +} + +static void OpED(void) // SBC ABS +{ + uint16 m = READ_ABS; + OP_SBC_HANDLER(m); +} + +static void OpFD(void) // SBC ABS, X +{ + uint16 m = READ_ABS_X; + OP_SBC_HANDLER(m); +} + +static void OpF9(void) // SBC ABS, Y +{ + uint16 m = READ_ABS_Y; + OP_SBC_HANDLER(m); +} + +static void OpE1(void) // SBC (ZP, X) +{ + uint16 m = READ_IND_ZP_X; + OP_SBC_HANDLER(m); +} + +static void OpF1(void) // SBC (ZP), Y +{ + uint16 m = READ_IND_ZP_Y; + OP_SBC_HANDLER(m); +} + +static void OpF2(void) // SBC (ZP) +{ + uint16 m = READ_IND_ZP; + OP_SBC_HANDLER(m); +} + +/* +SEC Implied SEC 38 1 2 +*/ + +static void Op38(void) // SEC +{ + regs.cc |= FLAG_C; +} + +/* +SED Implied SED F8 1 2 +*/ + +static void OpF8(void) // SED +{ + regs.cc |= FLAG_D; +} + +/* +SEI Implied SEI 78 1 2 +*/ + +static void Op78(void) // SEI +{ + regs.cc |= FLAG_I; +} + +/* +The bit set and clear instructions have the form xyyy0111, where x is 0 to clear a bit or 1 to set it, and yyy is which bit at the memory location to set or clear. + RMB0 RMB1 RMB2 RMB3 RMB4 RMB5 RMB6 RMB7 + zp 07 17 27 37 47 57 67 77 + SMB0 SMB1 SMB2 SMB3 SMB4 SMB5 SMB6 SMB7 + zp 87 97 A7 B7 C7 D7 E7 F7 +*/ + +// SMB opcodes + +static void Op87(void) // SMB0 ZP +{ + uint8 m; + READ_ZP_WB(m); + m |= 0x01; + WRITE_BACK(m); +} + +static void Op97(void) // SMB1 ZP +{ + uint8 m; + READ_ZP_WB(m); + m |= 0x02; + WRITE_BACK(m); +} + +static void OpA7(void) // SMB2 ZP +{ + uint8 m; + READ_ZP_WB(m); + m |= 0x04; + WRITE_BACK(m); +} + +static void OpB7(void) // SMB3 ZP +{ + uint8 m; + READ_ZP_WB(m); + m |= 0x08; + WRITE_BACK(m); +} + +static void OpC7(void) // SMB4 ZP +{ + uint8 m; + READ_ZP_WB(m); + m |= 0x10; + WRITE_BACK(m); +} + +static void OpD7(void) // SMB5 ZP +{ + uint8 m; + READ_ZP_WB(m); + m |= 0x20; + WRITE_BACK(m); +} + +static void OpE7(void) // SMB6 ZP +{ + uint8 m; + READ_ZP_WB(m); + m |= 0x40; + WRITE_BACK(m); +} + +static void OpF7(void) // SMB7 ZP +{ + uint8 m; + READ_ZP_WB(m); + m |= 0x80; + WRITE_BACK(m); +} + +/* +STA Zero Page STA Zpg 85 2 3 +Zero Page,X STA Zpg,X 95 2 4 +Absolute STA Abs 8D 3 4 +Absolute,X STA Abs,X 9D 3 5 +Absolute,Y STA Abs,Y 99 3 5 +(Zero Page,X) STA (Zpg,X) 81 2 6 +(Zero Page),Y STA (Zpg),Y 91 2 6 +(Zero Page) STA (Zpg) 92 2 5 +*/ + +// STA opcodes + +static void Op85(void) +{ + regs.WrMem(EA_ZP, regs.a); +} + +static void Op95(void) +{ + regs.WrMem(EA_ZP_X, regs.a); +} + +static void Op8D(void) +{ + regs.WrMem(EA_ABS, regs.a); + regs.pc += 2; +} + +static void Op9D(void) +{ + regs.WrMem(EA_ABS_X, regs.a); + regs.pc += 2; +} + +static void Op99(void) +{ + regs.WrMem(EA_ABS_Y, regs.a); + regs.pc += 2; +} + +static void Op81(void) +{ + regs.WrMem(EA_IND_ZP_X, regs.a); +} + +static void Op91(void) +{ + regs.WrMem(EA_IND_ZP_Y, regs.a); +} + +static void Op92(void) +{ + regs.WrMem(EA_IND_ZP, regs.a); +} + +/* +STX Zero Page STX Zpg 86 2 3 +Zero Page,Y STX Zpg,Y 96 2 4 +Absolute STX Abs 8E 3 4 +*/ + +// STX opcodes + +static void Op86(void) +{ + regs.WrMem(EA_ZP, regs.x); +} + +static void Op96(void) +{ + regs.WrMem(EA_ZP_X, regs.x); +} + +static void Op8E(void) +{ + regs.WrMem(EA_ABS, regs.x); + regs.pc += 2; +} + +/* +STY Zero Page STY Zpg 84 2 3 +Zero Page,X STY Zpg,X 94 2 4 +Absolute STY Abs 8C 3 4 +*/ + +// STY opcodes + +static void Op84(void) +{ + regs.WrMem(EA_ZP, regs.y); +} + +static void Op94(void) +{ + regs.WrMem(EA_ZP_X, regs.y); +} + +static void Op8C(void) +{ + regs.WrMem(EA_ABS, regs.y); + regs.pc += 2; +} + +/* +STZ Zero Page STZ Zpg 64 2 3 +Zero Page,X STZ Zpg,X 74 2 4 +Absolute STZ Abs 9C 3 4 +Absolute,X STZ Abs,X 9E 3 5 +*/ + +// STZ opcodes + +static void Op64(void) +{ + regs.WrMem(EA_ZP, 0x00); +} + +static void Op74(void) +{ + regs.WrMem(EA_ZP_X, 0x00); +} + +static void Op9C(void) +{ + regs.WrMem(EA_ABS, 0x00); + regs.pc += 2; +} + +static void Op9E(void) +{ + regs.WrMem(EA_ABS_X, 0x00); + regs.pc += 2; +} + +/* +TAX Implied TAX AA 1 2 +*/ + +static void OpAA(void) // TAX +{ + regs.x = regs.a; + SET_ZN(regs.x); +} + +/* +TAY Implied TAY A8 1 2 +*/ + +static void OpA8(void) // TAY +{ + regs.y = regs.a; + SET_ZN(regs.y); +} + +/* +TRB Zero Page TRB Zpg 14 2 5 +Absolute TRB Abs 1C 3 6 +*/ + +// TRB opcodes + +#define OP_TRB_HANDLER(m) \ + SET_Z(m & regs.a); \ + m &= ~regs.a + +static void Op14(void) // TRB ZP +{ + uint8 m; + READ_ZP_WB(m); + OP_TRB_HANDLER(m); + WRITE_BACK(m); +} + +static void Op1C(void) // TRB ABS +{ + uint8 m; + READ_ABS_WB(m); + OP_TRB_HANDLER(m); + WRITE_BACK(m); +} + +/* +TSB Zero Page TSB Zpg 04 2 5 +Absolute TSB Abs 0C 3 6 +*/ + +// TSB opcodes + +#define OP_TSB_HANDLER(m) \ + SET_Z(m & regs.a); \ + m |= regs.a + +static void Op04(void) // TSB ZP +{ + uint8 m; + READ_ZP_WB(m); + OP_TSB_HANDLER(m); + WRITE_BACK(m); +} + +static void Op0C(void) // TSB ABS +{ + uint8 m; + READ_ABS_WB(m); + OP_TSB_HANDLER(m); + WRITE_BACK(m); +} + +/* +TSX Implied TSX BA 1 2 +*/ + +static void OpBA(void) // TSX +{ + regs.x = regs.sp; + SET_ZN(regs.x); +} + +/* +TXA Implied TXA 8A 1 2 +*/ + +static void Op8A(void) // TXA +{ + regs.a = regs.x; + SET_ZN(regs.a); +} + +/* +TXS Implied TXS 9A 1 2 +*/ + +static void Op9A(void) // TXS +{ + regs.sp = regs.x; +} + +/* +TYA Implied TYA 98 1 2 +*/ +static void Op98(void) // TYA +{ + regs.a = regs.y; + SET_ZN(regs.a); +} + +static void Op__(void) +{ + regs.cpuFlags |= V65C02_STATE_ILLEGAL_INST; +} + + +// +// Ok, the exec_op[] array is globally defined here basically to save +// a LOT of unnecessary typing. Sure it's ugly, but hey, it works! +// +void (* exec_op[256])() = { + Op00, Op01, Op__, Op__, Op04, Op05, Op06, Op07, Op08, Op09, Op0A, Op__, Op0C, Op0D, Op0E, Op0F, + Op10, Op11, Op12, Op__, Op14, Op15, Op16, Op17, Op18, Op19, Op1A, Op__, Op1C, Op1D, Op1E, Op1F, + Op20, Op21, Op__, Op__, Op24, Op25, Op26, Op27, Op28, Op29, Op2A, Op__, Op2C, Op2D, Op2E, Op2F, + Op30, Op31, Op32, Op__, Op34, Op35, Op36, Op37, Op38, Op39, Op3A, Op__, Op3C, Op3D, Op3E, Op3F, + Op40, Op41, Op__, Op__, Op__, Op45, Op46, Op47, Op48, Op49, Op4A, Op__, Op4C, Op4D, Op4E, Op4F, + Op50, Op51, Op52, Op__, Op__, Op55, Op56, Op57, Op58, Op59, Op5A, Op__, Op__, Op5D, Op5E, Op5F, + Op60, Op61, Op__, Op__, Op64, Op65, Op66, Op67, Op68, Op69, Op6A, Op__, Op6C, Op6D, Op6E, Op6F, + Op70, Op71, Op72, Op__, Op74, Op75, Op76, Op77, Op78, Op79, Op7A, Op__, Op7C, Op7D, Op7E, Op7F, + Op80, Op81, Op__, Op__, Op84, Op85, Op86, Op87, Op88, Op89, Op8A, Op__, Op8C, Op8D, Op8E, Op8F, + Op90, Op91, Op92, Op__, Op94, Op95, Op96, Op97, Op98, Op99, Op9A, Op__, Op9C, Op9D, Op9E, Op9F, + OpA0, OpA1, OpA2, Op__, OpA4, OpA5, OpA6, OpA7, OpA8, OpA9, OpAA, Op__, OpAC, OpAD, OpAE, OpAF, + OpB0, OpB1, OpB2, Op__, OpB4, OpB5, OpB6, OpB7, OpB8, OpB9, OpBA, Op__, OpBC, OpBD, OpBE, OpBF, + OpC0, OpC1, Op__, Op__, OpC4, OpC5, OpC6, OpC7, OpC8, OpC9, OpCA, Op__, OpCC, OpCD, OpCE, OpCF, + OpD0, OpD1, OpD2, Op__, Op__, OpD5, OpD6, OpD7, OpD8, OpD9, OpDA, Op__, Op__, OpDD, OpDE, OpDF, + OpE0, OpE1, Op__, Op__, OpE4, OpE5, OpE6, OpE7, OpE8, OpE9, OpEA, Op__, OpEC, OpED, OpEE, OpEF, + OpF0, OpF1, OpF2, Op__, Op__, OpF5, OpF6, OpF7, OpF8, OpF9, OpFA, Op__, Op__, OpFD, OpFE, OpFF +}; + +// +// Internal "memcpy" (so we don't have to link with any external libraries!) +// +static void myMemcpy(void * dst, void * src, uint32 size) +{ + uint8 * d = (uint8 *)dst, * s = (uint8 *)src; + + for(uint32 i=0; icpuFlags &= ~V65C02_ASSERT_LINE_RESET; + regs.cpuFlags &= ~V65C02_ASSERT_LINE_RESET; + } + else if (regs.cpuFlags & V65C02_ASSERT_LINE_NMI) + { +#ifdef __DEBUG__ +WriteLog("\n*** NMI ***\n\n"); +#endif + regs.WrMem(0x0100 + regs.sp--, regs.pc >> 8); // Save PC and CC + regs.WrMem(0x0100 + regs.sp--, regs.pc & 0xFF); + regs.WrMem(0x0100 + regs.sp--, regs.cc); + regs.cc |= FLAG_I; // Set I + regs.cc &= ~FLAG_D; // & clear D + regs.pc = RdMemW(0xFFFA); // And do it! + + regs.clock += 7; + context->cpuFlags &= ~V65C02_ASSERT_LINE_NMI;// Reset the asserted line (NMI)... + regs.cpuFlags &= ~V65C02_ASSERT_LINE_NMI; // Reset the asserted line (NMI)... + } + else if (regs.cpuFlags & V65C02_ASSERT_LINE_IRQ) + { + if (!(regs.cc & FLAG_I)) // Process an interrupt (I=0)? + { +#ifdef __DEBUG__ +WriteLog("\n*** IRQ ***\n\n"); +#endif + regs.WrMem(0x0100 + regs.sp--, regs.pc >> 8); // Save PC and CC + regs.WrMem(0x0100 + regs.sp--, regs.pc & 0xFF); + regs.WrMem(0x0100 + regs.sp--, regs.cc); + regs.cc |= FLAG_I; // Set I + regs.cc &= ~FLAG_D; // & clear D + regs.pc = RdMemW(0xFFFE); // And do it! + + regs.clock += 7; + context->cpuFlags &= ~V65C02_ASSERT_LINE_IRQ; // Reset the asserted line (IRQ)... + regs.cpuFlags &= ~V65C02_ASSERT_LINE_IRQ; // Reset the asserted line (IRQ)... + } + } + } + + myMemcpy(context, ®s, sizeof(V65C02REGS)); +} + +// +// Get the clock of the currently executing CPU +// +uint32 GetCurrentV65C02Clock(void) +{ + return regs.clock; +} diff --git a/src/v65c02.h b/src/v65c02.h index 401b980..96e6217 100755 --- a/src/v65c02.h +++ b/src/v65c02.h @@ -1,55 +1,55 @@ -// -// Virtual 65C02 Header file -// -// by James L. Hammons -// (c) 2005 Underground Software -// - -#ifndef __V65C02_H__ -#define __V65C02_H__ - -#include "types.h" - -// Useful defines - -#define FLAG_N 0x80 // Negative -#define FLAG_V 0x40 // oVerflow -#define FLAG_UNK 0x20 // ??? (always set when read?) -#define FLAG_B 0x10 // Break -#define FLAG_D 0x08 // Decimal -#define FLAG_I 0x04 // Interrupt -#define FLAG_Z 0x02 // Zero -#define FLAG_C 0x01 // Carry - -#define V65C02_ASSERT_LINE_RESET 0x0001 // v65C02 RESET line -#define V65C02_ASSERT_LINE_IRQ 0x0002 // v65C02 IRQ line -#define V65C02_ASSERT_LINE_NMI 0x0004 // v65C02 NMI line -#define V65C02_STATE_ILLEGAL_INST 0x0008 // Illegal instruction executed flag -//#define V65C02_START_DEBUG_LOG 0x0020 // Debug log go (temporary!) - -// Useful structs - -struct V65C02REGS -{ - uint16 pc; // 65C02 PC register - uint8 cc; // 65C02 Condition Code register - uint8 sp; // 65C02 System stack pointer (bound to $01xx) - uint8 a; // 65C02 A register - uint8 x; // 65C02 X index register - uint8 y; // 65C02 Y register - uint32 clock; // 65C02 clock - uint8 (* RdMem)(uint16); // Address of BYTE read routine - void (* WrMem)(uint16, uint8); // Address of BYTE write routine - uint16 cpuFlags; // v65C02 IRQ/RESET flags -}; - -// Global variables (exported) - -extern bool dumpDis; - -// Function prototypes - -void Execute65C02(V65C02REGS *, uint32); // Function to execute 65C02 instructions -uint32 GetCurrentV65C02Clock(void); // Get the clock of the currently executing CPU - -#endif // __V65C02_H__ +// +// Virtual 65C02 Header file +// +// by James L. Hammons +// (c) 2005 Underground Software +// + +#ifndef __V65C02_H__ +#define __V65C02_H__ + +#include "types.h" + +// Useful defines + +#define FLAG_N 0x80 // Negative +#define FLAG_V 0x40 // oVerflow +#define FLAG_UNK 0x20 // ??? (always set when read?) +#define FLAG_B 0x10 // Break +#define FLAG_D 0x08 // Decimal +#define FLAG_I 0x04 // Interrupt +#define FLAG_Z 0x02 // Zero +#define FLAG_C 0x01 // Carry + +#define V65C02_ASSERT_LINE_RESET 0x0001 // v65C02 RESET line +#define V65C02_ASSERT_LINE_IRQ 0x0002 // v65C02 IRQ line +#define V65C02_ASSERT_LINE_NMI 0x0004 // v65C02 NMI line +#define V65C02_STATE_ILLEGAL_INST 0x0008 // Illegal instruction executed flag +//#define V65C02_START_DEBUG_LOG 0x0020 // Debug log go (temporary!) + +// Useful structs + +struct V65C02REGS +{ + uint16 pc; // 65C02 PC register + uint8 cc; // 65C02 Condition Code register + uint8 sp; // 65C02 System stack pointer (bound to $01xx) + uint8 a; // 65C02 A register + uint8 x; // 65C02 X index register + uint8 y; // 65C02 Y register + uint32 clock; // 65C02 clock + uint8 (* RdMem)(uint16); // Address of BYTE read routine + void (* WrMem)(uint16, uint8); // Address of BYTE write routine + uint16 cpuFlags; // v65C02 IRQ/RESET flags +}; + +// Global variables (exported) + +extern bool dumpDis; + +// Function prototypes + +void Execute65C02(V65C02REGS *, uint32); // Function to execute 65C02 instructions +uint32 GetCurrentV65C02Clock(void); // Get the clock of the currently executing CPU + +#endif // __V65C02_H__ diff --git a/src/video.cpp b/src/video.cpp index 082120e..b303796 100755 --- a/src/video.cpp +++ b/src/video.cpp @@ -1,302 +1,302 @@ -// -// VIDEO.CPP: SDL/local hardware specific video routines -// -// by James L. Hammons -// -// JLH = James L. Hammons -// -// WHO WHEN WHAT -// --- ---------- ------------------------------------------------------------ -// JLH 01/04/2006 Added changelog ;-) -// JLH 01/20/2006 Cut out unnecessary buffering -// - -#include "video.h" - -//#include -#include // Why??? (for memset, etc... Lazy!) Dunno why, but this just strikes me as wrong... -#include -#include "sdlemu_opengl.h" -#include "log.h" -#include "settings.h" -#include "icon.h" - -#if SDL_BYTEORDER == SDL_BIG_ENDIAN -#define MASK_R 0xFF000000 -#define MASK_G 0x00FF0000 -#define MASK_B 0x0000FF00 -#define MASK_A 0x000000FF -#else -#define MASK_R 0x000000FF -#define MASK_G 0x0000FF00 -#define MASK_B 0x00FF0000 -#define MASK_A 0xFF000000 -#endif - -//#define TEST_ALPHA_BLENDING - -// Exported global variables (actually, these are LOCAL global variables, EXPORTED...) - -SDL_Surface * surface, * mainSurface, * someAlphaSurface; -Uint32 mainSurfaceFlags; -//uint32 scrBuffer[VIRTUAL_SCREEN_WIDTH * VIRTUAL_SCREEN_HEIGHT]; -uint32 * scrBuffer = NULL; -SDL_Joystick * joystick; - -// -// Prime SDL and create surfaces -// -bool InitVideo(void) -{ - // Set up SDL library - if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_JOYSTICK | SDL_INIT_AUDIO | SDL_INIT_TIMER | SDL_INIT_NOPARACHUTE) < 0) - { - WriteLog("Video: Could not initialize the SDL library: %s\n", SDL_GetError()); - return false; - } - - //Set icon (mainly for Win32 target--though seems to work under KDE as well...!) - SDL_Surface * iconSurf = SDL_CreateRGBSurfaceFrom(icon, 32, 32, 32, 128, - MASK_R, MASK_G, MASK_B, MASK_A); - SDL_WM_SetIcon(iconSurf, NULL); - SDL_FreeSurface(iconSurf); - - // Get proper info about the platform we're running on... - const SDL_VideoInfo * info = SDL_GetVideoInfo(); - - if (!info) - { - WriteLog("Video: SDL is unable to get the video info: %s\n", SDL_GetError()); - return false; - } - - if (settings.useOpenGL) - { - mainSurfaceFlags = SDL_HWSURFACE | SDL_HWPALETTE | SDL_DOUBLEBUF | SDL_OPENGL; - SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1); - } - else - { - mainSurfaceFlags = SDL_DOUBLEBUF; - - if (info->hw_available) - { - mainSurfaceFlags = SDL_HWSURFACE | SDL_HWPALETTE; - WriteLog("Video: Hardware available...\n"); - } - - if (info->blit_hw) - { - mainSurfaceFlags |= SDL_HWACCEL; - WriteLog("Video: Hardware blit available...\n"); - } - } - - if (settings.fullscreen) - mainSurfaceFlags |= SDL_FULLSCREEN; - - // Create the primary SDL display (32 BPP) - if (!settings.useOpenGL) - mainSurface = SDL_SetVideoMode(VIRTUAL_SCREEN_WIDTH, VIRTUAL_SCREEN_HEIGHT, 32, mainSurfaceFlags); - else -// mainSurface = SDL_SetVideoMode(VIRTUAL_SCREEN_WIDTH * 2, VIRTUAL_SCREEN_HEIGHT * 2, 32, mainSurfaceFlags); -// mainSurface = SDL_SetVideoMode(VIRTUAL_SCREEN_WIDTH, VIRTUAL_SCREEN_HEIGHT * 2, 32, mainSurfaceFlags); - mainSurface = SDL_SetVideoMode(VIRTUAL_SCREEN_WIDTH, VIRTUAL_SCREEN_HEIGHT, 32, mainSurfaceFlags); - - if (mainSurface == NULL) - { - WriteLog("Video: SDL is unable to set the video mode: %s\n", SDL_GetError()); - return false; - } - - SDL_WM_SetCaption("Apple 2 SDL", "Apple 2 SDL"); - - // Create the secondary SDL display (32 BPP) that we use directly - surface = SDL_CreateRGBSurface(SDL_SWSURFACE, VIRTUAL_SCREEN_WIDTH, VIRTUAL_SCREEN_HEIGHT, 32, - MASK_R, MASK_G, MASK_B, MASK_A); -/*WriteLog("Video: Created secondary surface with attributes:\n\n"); -WriteLog("\tWidth, height: %u x %u\n", surface->w, surface->h); -WriteLog("\t Pitch: %u\n", surface->pitch); -WriteLog("\t Palette: %08X\n", surface->format->palette); -WriteLog("\t BPP: %u\n", surface->format->BitsPerPixel); -WriteLog("\t BytesPP: %u\n", surface->format->BytesPerPixel); -WriteLog("\t RMask: %08X\n", surface->format->Rmask); -WriteLog("\t GMask: %08X\n", surface->format->Gmask); -WriteLog("\t BMask: %08X\n", surface->format->Bmask); -WriteLog("\t AMask: %08X\n", surface->format->Amask); -WriteLog("\n");//*/ - - if (surface == NULL) - { - WriteLog("Video: Could not create secondary SDL surface: %s\n", SDL_GetError()); - return false; - } - - if (settings.useOpenGL) - sdlemu_init_opengl(surface, mainSurface, 1 /*method*/, settings.glFilter /*texture type (linear, nearest)*/, - 0 /* Automatic bpp selection based upon src */); - - // Initialize Joystick support under SDL -/* if (settings.useJoystick) - { - if (SDL_NumJoysticks() <= 0) - { - settings.useJoystick = false; - WriteLog("Video: No joystick(s) or joypad(s) detected on your system. Using keyboard...\n"); - } - else - { - if ((joystick = SDL_JoystickOpen(settings.joyport)) == 0) - { - settings.useJoystick = false; - WriteLog("Video: Unable to open a Joystick on port: %d\n", (int)settings.joyport); - } - else - WriteLog("Video: Using: %s\n", SDL_JoystickName(settings.joyport)); - } - }//*/ - - // Set up the scrBuffer - scrBuffer = (uint32 *)surface->pixels; // Kludge--And shouldn't have to lock since it's a software surface... -//needed? Dunno. Mebbe an SDL function instead? -// memset(scrBuffer, 0x00, VIRTUAL_SCREEN_WIDTH * VIRTUAL_SCREEN_HEIGHT * sizeof(uint32)); - -#ifdef TEST_ALPHA_BLENDING -//Here's some code to test alpha blending... -//Well whaddya know, it works. :-) - someAlphaSurface = SDL_CreateRGBSurface(SDL_SWSURFACE, 30, 30, 32, - MASK_R, MASK_G, MASK_B, MASK_A); - - for(int i=0; i<30; i++) - { - for(int j=0; j<30; j++) - { - uint32 color = (uint32)(((double)(i * j) / (29.0 * 29.0)) * 255.0); - color = (color << 24) | 0x00FF00FF; - ((uint32 *)someAlphaSurface->pixels)[(j * 30) + i] = color; - } - } -//End test code -#endif - - WriteLog("Video: Successfully initialized.\n"); - return true; -} - -// -// Free various SDL components -// -void VideoDone(void) -{ - if (settings.useOpenGL) - sdlemu_close_opengl(); - - SDL_JoystickClose(joystick); - SDL_FreeSurface(surface); - SDL_QuitSubSystem(SDL_INIT_VIDEO | SDL_INIT_JOYSTICK | SDL_INIT_AUDIO | SDL_INIT_TIMER); - SDL_Quit(); -} - -// -// Render the screen buffer to the primary screen surface -// -//void RenderBackbuffer(void) -void RenderScreenBuffer(void) -{ -//WriteLog("Video: Blitting a %u x %u surface to the main surface...\n", surface->w, surface->h); -//Don't need this crapola--why have a separate buffer just to copy it to THIS -//buffer in order to copy it to the main screen? That's what *I* thought! -/* if (SDL_MUSTLOCK(surface)) - while (SDL_LockSurface(surface) < 0) - SDL_Delay(10); - - memcpy(surface->pixels, scrBuffer, VIRTUAL_SCREEN_WIDTH * VIRTUAL_SCREEN_HEIGHT * sizeof(uint32)); - - if (SDL_MUSTLOCK(surface)) - SDL_UnlockSurface(surface);//*/ -#ifdef TEST_ALPHA_BLENDING -SDL_Rect dstRect = { 100, 100, 30, 30 }; -SDL_BlitSurface(someAlphaSurface, NULL, surface, &dstRect); -#endif - - if (settings.useOpenGL) - sdlemu_draw_texture(mainSurface, surface, 1/*1=GL_QUADS*/); - else - { -// SDL_Rect rect = { 0, 0, surface->w, surface->h }; -// SDL_BlitSurface(surface, &rect, mainSurface, &rect); - SDL_BlitSurface(surface, NULL, mainSurface, NULL); - SDL_Flip(mainSurface); - } -} - -/* -// -// Resize the main SDL screen & scrBuffer -// -void ResizeScreen(uint32 width, uint32 height) -{ - char window_title[256]; - - SDL_FreeSurface(surface); - surface = SDL_CreateRGBSurface(SDL_SWSURFACE, width, height, 16, - 0x7C00, 0x03E0, 0x001F, 0); - - if (surface == NULL) - { - WriteLog("Video: Could not create primary SDL surface: %s", SDL_GetError()); - exit(1); - } - - if (settings.useOpenGL) - // This seems to work well for resizing (i.e., changes in the pixel width)... - sdlemu_resize_texture(surface, mainSurface, settings.glFilter); - else - { - mainSurface = SDL_SetVideoMode(width, height, 16, mainSurfaceFlags); - - if (mainSurface == NULL) - { - WriteLog("Video: SDL is unable to set the video mode: %s\n", SDL_GetError()); - exit(1); - } - } - - sWriteLog(window_title, "Virtual Jaguar (%i x %i)", (int)width, (int)height); - SDL_WM_SetCaption(window_title, window_title); - - // This seems to work well for resizing (i.e., changes in the pixel width)... -// if (settings.useOpenGL) -// sdlemu_resize_texture(surface, mainSurface); -}*/ - -/* -// -// Fullscreen <-> window switching -// -//NOTE: This does *NOT* work with OpenGL rendering! !!! FIX !!! -void ToggleFullscreen(void) -{ - settings.fullscreen = !settings.fullscreen; - mainSurfaceFlags &= ~SDL_FULLSCREEN; - - if (settings.fullscreen) - mainSurfaceFlags |= SDL_FULLSCREEN; - - if (!settings.useOpenGL) - mainSurface = SDL_SetVideoMode(VIRTUAL_SCREEN_WIDTH, VIRTUAL_SCREEN_HEIGHT, 32, mainSurfaceFlags); - else -// mainSurface = SDL_SetVideoMode(VIRTUAL_SCREEN_WIDTH * 2, VIRTUAL_SCREEN_HEIGHT * 2, 32, mainSurfaceFlags); -// mainSurface = SDL_SetVideoMode(VIRTUAL_SCREEN_WIDTH, VIRTUAL_SCREEN_HEIGHT * 2, 32, mainSurfaceFlags); - mainSurface = SDL_SetVideoMode(VIRTUAL_SCREEN_WIDTH, VIRTUAL_SCREEN_HEIGHT, 32, mainSurfaceFlags); -// mainSurface = SDL_SetVideoMode(tom_width, tom_height, 16, mainSurfaceFlags); - - if (mainSurface == NULL) - { - WriteLog("Video: SDL is unable to set the video mode: %s\n", SDL_GetError()); - exit(1); - } - - SDL_WM_SetCaption("Apple 2 SDL", "Apple 2 SDL"); -} -//*/ +// +// VIDEO.CPP: SDL/local hardware specific video routines +// +// by James L. Hammons +// +// JLH = James L. Hammons +// +// WHO WHEN WHAT +// --- ---------- ------------------------------------------------------------ +// JLH 01/04/2006 Added changelog ;-) +// JLH 01/20/2006 Cut out unnecessary buffering +// + +#include "video.h" + +//#include +#include // Why??? (for memset, etc... Lazy!) Dunno why, but this just strikes me as wrong... +#include +#include "sdlemu_opengl.h" +#include "log.h" +#include "settings.h" +#include "icon.h" + +#if SDL_BYTEORDER == SDL_BIG_ENDIAN +#define MASK_R 0xFF000000 +#define MASK_G 0x00FF0000 +#define MASK_B 0x0000FF00 +#define MASK_A 0x000000FF +#else +#define MASK_R 0x000000FF +#define MASK_G 0x0000FF00 +#define MASK_B 0x00FF0000 +#define MASK_A 0xFF000000 +#endif + +//#define TEST_ALPHA_BLENDING + +// Exported global variables (actually, these are LOCAL global variables, EXPORTED...) + +SDL_Surface * surface, * mainSurface, * someAlphaSurface; +Uint32 mainSurfaceFlags; +//uint32 scrBuffer[VIRTUAL_SCREEN_WIDTH * VIRTUAL_SCREEN_HEIGHT]; +uint32 * scrBuffer = NULL; +SDL_Joystick * joystick; + +// +// Prime SDL and create surfaces +// +bool InitVideo(void) +{ + // Set up SDL library + if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_JOYSTICK | SDL_INIT_AUDIO | SDL_INIT_TIMER | SDL_INIT_NOPARACHUTE) < 0) + { + WriteLog("Video: Could not initialize the SDL library: %s\n", SDL_GetError()); + return false; + } + + //Set icon (mainly for Win32 target--though seems to work under KDE as well...!) + SDL_Surface * iconSurf = SDL_CreateRGBSurfaceFrom(icon, 32, 32, 32, 128, + MASK_R, MASK_G, MASK_B, MASK_A); + SDL_WM_SetIcon(iconSurf, NULL); + SDL_FreeSurface(iconSurf); + + // Get proper info about the platform we're running on... + const SDL_VideoInfo * info = SDL_GetVideoInfo(); + + if (!info) + { + WriteLog("Video: SDL is unable to get the video info: %s\n", SDL_GetError()); + return false; + } + + if (settings.useOpenGL) + { + mainSurfaceFlags = SDL_HWSURFACE | SDL_HWPALETTE | SDL_DOUBLEBUF | SDL_OPENGL; + SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1); + } + else + { + mainSurfaceFlags = SDL_DOUBLEBUF; + + if (info->hw_available) + { + mainSurfaceFlags = SDL_HWSURFACE | SDL_HWPALETTE; + WriteLog("Video: Hardware available...\n"); + } + + if (info->blit_hw) + { + mainSurfaceFlags |= SDL_HWACCEL; + WriteLog("Video: Hardware blit available...\n"); + } + } + + if (settings.fullscreen) + mainSurfaceFlags |= SDL_FULLSCREEN; + + // Create the primary SDL display (32 BPP) + if (!settings.useOpenGL) + mainSurface = SDL_SetVideoMode(VIRTUAL_SCREEN_WIDTH, VIRTUAL_SCREEN_HEIGHT, 32, mainSurfaceFlags); + else +// mainSurface = SDL_SetVideoMode(VIRTUAL_SCREEN_WIDTH * 2, VIRTUAL_SCREEN_HEIGHT * 2, 32, mainSurfaceFlags); +// mainSurface = SDL_SetVideoMode(VIRTUAL_SCREEN_WIDTH, VIRTUAL_SCREEN_HEIGHT * 2, 32, mainSurfaceFlags); + mainSurface = SDL_SetVideoMode(VIRTUAL_SCREEN_WIDTH, VIRTUAL_SCREEN_HEIGHT, 32, mainSurfaceFlags); + + if (mainSurface == NULL) + { + WriteLog("Video: SDL is unable to set the video mode: %s\n", SDL_GetError()); + return false; + } + + SDL_WM_SetCaption("Apple 2 SDL", "Apple 2 SDL"); + + // Create the secondary SDL display (32 BPP) that we use directly + surface = SDL_CreateRGBSurface(SDL_SWSURFACE, VIRTUAL_SCREEN_WIDTH, VIRTUAL_SCREEN_HEIGHT, 32, + MASK_R, MASK_G, MASK_B, MASK_A); +/*WriteLog("Video: Created secondary surface with attributes:\n\n"); +WriteLog("\tWidth, height: %u x %u\n", surface->w, surface->h); +WriteLog("\t Pitch: %u\n", surface->pitch); +WriteLog("\t Palette: %08X\n", surface->format->palette); +WriteLog("\t BPP: %u\n", surface->format->BitsPerPixel); +WriteLog("\t BytesPP: %u\n", surface->format->BytesPerPixel); +WriteLog("\t RMask: %08X\n", surface->format->Rmask); +WriteLog("\t GMask: %08X\n", surface->format->Gmask); +WriteLog("\t BMask: %08X\n", surface->format->Bmask); +WriteLog("\t AMask: %08X\n", surface->format->Amask); +WriteLog("\n");//*/ + + if (surface == NULL) + { + WriteLog("Video: Could not create secondary SDL surface: %s\n", SDL_GetError()); + return false; + } + + if (settings.useOpenGL) + sdlemu_init_opengl(surface, mainSurface, 1 /*method*/, settings.glFilter /*texture type (linear, nearest)*/, + 0 /* Automatic bpp selection based upon src */); + + // Initialize Joystick support under SDL +/* if (settings.useJoystick) + { + if (SDL_NumJoysticks() <= 0) + { + settings.useJoystick = false; + WriteLog("Video: No joystick(s) or joypad(s) detected on your system. Using keyboard...\n"); + } + else + { + if ((joystick = SDL_JoystickOpen(settings.joyport)) == 0) + { + settings.useJoystick = false; + WriteLog("Video: Unable to open a Joystick on port: %d\n", (int)settings.joyport); + } + else + WriteLog("Video: Using: %s\n", SDL_JoystickName(settings.joyport)); + } + }//*/ + + // Set up the scrBuffer + scrBuffer = (uint32 *)surface->pixels; // Kludge--And shouldn't have to lock since it's a software surface... +//needed? Dunno. Mebbe an SDL function instead? +// memset(scrBuffer, 0x00, VIRTUAL_SCREEN_WIDTH * VIRTUAL_SCREEN_HEIGHT * sizeof(uint32)); + +#ifdef TEST_ALPHA_BLENDING +//Here's some code to test alpha blending... +//Well whaddya know, it works. :-) + someAlphaSurface = SDL_CreateRGBSurface(SDL_SWSURFACE, 30, 30, 32, + MASK_R, MASK_G, MASK_B, MASK_A); + + for(int i=0; i<30; i++) + { + for(int j=0; j<30; j++) + { + uint32 color = (uint32)(((double)(i * j) / (29.0 * 29.0)) * 255.0); + color = (color << 24) | 0x00FF00FF; + ((uint32 *)someAlphaSurface->pixels)[(j * 30) + i] = color; + } + } +//End test code +#endif + + WriteLog("Video: Successfully initialized.\n"); + return true; +} + +// +// Free various SDL components +// +void VideoDone(void) +{ + if (settings.useOpenGL) + sdlemu_close_opengl(); + + SDL_JoystickClose(joystick); + SDL_FreeSurface(surface); + SDL_QuitSubSystem(SDL_INIT_VIDEO | SDL_INIT_JOYSTICK | SDL_INIT_AUDIO | SDL_INIT_TIMER); + SDL_Quit(); +} + +// +// Render the screen buffer to the primary screen surface +// +//void RenderBackbuffer(void) +void RenderScreenBuffer(void) +{ +//WriteLog("Video: Blitting a %u x %u surface to the main surface...\n", surface->w, surface->h); +//Don't need this crapola--why have a separate buffer just to copy it to THIS +//buffer in order to copy it to the main screen? That's what *I* thought! +/* if (SDL_MUSTLOCK(surface)) + while (SDL_LockSurface(surface) < 0) + SDL_Delay(10); + + memcpy(surface->pixels, scrBuffer, VIRTUAL_SCREEN_WIDTH * VIRTUAL_SCREEN_HEIGHT * sizeof(uint32)); + + if (SDL_MUSTLOCK(surface)) + SDL_UnlockSurface(surface);//*/ +#ifdef TEST_ALPHA_BLENDING +SDL_Rect dstRect = { 100, 100, 30, 30 }; +SDL_BlitSurface(someAlphaSurface, NULL, surface, &dstRect); +#endif + + if (settings.useOpenGL) + sdlemu_draw_texture(mainSurface, surface, 1/*1=GL_QUADS*/); + else + { +// SDL_Rect rect = { 0, 0, surface->w, surface->h }; +// SDL_BlitSurface(surface, &rect, mainSurface, &rect); + SDL_BlitSurface(surface, NULL, mainSurface, NULL); + SDL_Flip(mainSurface); + } +} + +/* +// +// Resize the main SDL screen & scrBuffer +// +void ResizeScreen(uint32 width, uint32 height) +{ + char window_title[256]; + + SDL_FreeSurface(surface); + surface = SDL_CreateRGBSurface(SDL_SWSURFACE, width, height, 16, + 0x7C00, 0x03E0, 0x001F, 0); + + if (surface == NULL) + { + WriteLog("Video: Could not create primary SDL surface: %s", SDL_GetError()); + exit(1); + } + + if (settings.useOpenGL) + // This seems to work well for resizing (i.e., changes in the pixel width)... + sdlemu_resize_texture(surface, mainSurface, settings.glFilter); + else + { + mainSurface = SDL_SetVideoMode(width, height, 16, mainSurfaceFlags); + + if (mainSurface == NULL) + { + WriteLog("Video: SDL is unable to set the video mode: %s\n", SDL_GetError()); + exit(1); + } + } + + sWriteLog(window_title, "Virtual Jaguar (%i x %i)", (int)width, (int)height); + SDL_WM_SetCaption(window_title, window_title); + + // This seems to work well for resizing (i.e., changes in the pixel width)... +// if (settings.useOpenGL) +// sdlemu_resize_texture(surface, mainSurface); +}*/ + +/* +// +// Fullscreen <-> window switching +// +//NOTE: This does *NOT* work with OpenGL rendering! !!! FIX !!! +void ToggleFullscreen(void) +{ + settings.fullscreen = !settings.fullscreen; + mainSurfaceFlags &= ~SDL_FULLSCREEN; + + if (settings.fullscreen) + mainSurfaceFlags |= SDL_FULLSCREEN; + + if (!settings.useOpenGL) + mainSurface = SDL_SetVideoMode(VIRTUAL_SCREEN_WIDTH, VIRTUAL_SCREEN_HEIGHT, 32, mainSurfaceFlags); + else +// mainSurface = SDL_SetVideoMode(VIRTUAL_SCREEN_WIDTH * 2, VIRTUAL_SCREEN_HEIGHT * 2, 32, mainSurfaceFlags); +// mainSurface = SDL_SetVideoMode(VIRTUAL_SCREEN_WIDTH, VIRTUAL_SCREEN_HEIGHT * 2, 32, mainSurfaceFlags); + mainSurface = SDL_SetVideoMode(VIRTUAL_SCREEN_WIDTH, VIRTUAL_SCREEN_HEIGHT, 32, mainSurfaceFlags); +// mainSurface = SDL_SetVideoMode(tom_width, tom_height, 16, mainSurfaceFlags); + + if (mainSurface == NULL) + { + WriteLog("Video: SDL is unable to set the video mode: %s\n", SDL_GetError()); + exit(1); + } + + SDL_WM_SetCaption("Apple 2 SDL", "Apple 2 SDL"); +} +//*/ diff --git a/src/video.h b/src/video.h index ca5fb1b..63716d4 100755 --- a/src/video.h +++ b/src/video.h @@ -1,30 +1,30 @@ -// -// VIDEO.H: Header file -// - -#ifndef __VIDEO_H__ -#define __VIDEO_H__ - -#include // For SDL_Surface -#include "types.h" // For uint32 - -//#define VIRTUAL_SCREEN_WIDTH 280 -#define VIRTUAL_SCREEN_WIDTH 560 -//#define VIRTUAL_SCREEN_HEIGHT 192 -#define VIRTUAL_SCREEN_HEIGHT 384 - -bool InitVideo(void); -void VideoDone(void); -//void RenderBackbuffer(void); -void RenderScreenBuffer(void); -//void ResizeScreen(uint32 width, uint32 height); -//uint32 GetSDLScreenPitch(void); -//void ToggleFullscreen(void); - -// Exported crap - -//extern uint32 scrBuffer[VIRTUAL_SCREEN_WIDTH * VIRTUAL_SCREEN_HEIGHT]; -extern uint32 * scrBuffer; -extern SDL_Surface * surface; - -#endif // __VIDEO_H__ +// +// VIDEO.H: Header file +// + +#ifndef __VIDEO_H__ +#define __VIDEO_H__ + +#include // For SDL_Surface +#include "types.h" // For uint32 + +//#define VIRTUAL_SCREEN_WIDTH 280 +#define VIRTUAL_SCREEN_WIDTH 560 +//#define VIRTUAL_SCREEN_HEIGHT 192 +#define VIRTUAL_SCREEN_HEIGHT 384 + +bool InitVideo(void); +void VideoDone(void); +//void RenderBackbuffer(void); +void RenderScreenBuffer(void); +//void ResizeScreen(uint32 width, uint32 height); +//uint32 GetSDLScreenPitch(void); +//void ToggleFullscreen(void); + +// Exported crap + +//extern uint32 scrBuffer[VIRTUAL_SCREEN_WIDTH * VIRTUAL_SCREEN_HEIGHT]; +extern uint32 * scrBuffer; +extern SDL_Surface * surface; + +#endif // __VIDEO_H__ -- 2.37.2