Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed QEI DmTftLibrary
Revision 19:45d0ce0f0677, committed 2018-11-08
- Comitter:
- mverdy
- Date:
- Thu Nov 08 10:13:23 2018 +0000
- Parent:
- 18:22796c3be774
- Child:
- 20:626b92b70bf7
- Commit message:
- Synchronize with v1.5.2
Changed in this revision
--- a/Demo/DemoApplication.cpp Fri Aug 24 08:01:53 2018 +0000
+++ b/Demo/DemoApplication.cpp Thu Nov 08 10:13:23 2018 +0000
@@ -19,6 +19,7 @@
#include "Eeprom.h"
#include "DemoApplication.h"
#include "FreqLUT.h"
+#include "RangingCorrection.h"
#define max(a,b) \
({ __typeof__ (a) _a = (a); \
@@ -35,6 +36,14 @@
double t7 = 0.000009240142234; // X2^4
+double p[8] = { 0,
+ -4.1e-9,
+ 1.03e-7,
+ 1.971e-5,
+ -0.00107,
+ 0.018757,
+ 0.869171,
+ 3.072450 };
/*!
* \brief Defines the local payload buffer size
@@ -346,7 +355,6 @@
InitializeDemoParameters( Eeprom.EepromData.DemoSettings.ModulationType );
TX_LED = 0;
RX_LED = 0;
-
IrqMask = IRQ_TX_DONE | IRQ_RX_TX_TIMEOUT;
Radio.SetDioIrqParams( IrqMask, IrqMask, IRQ_RADIO_NONE, IRQ_RADIO_NONE );
for( i = 0; i < localPayloadSize; i++ )
@@ -1054,8 +1062,8 @@
if( Eeprom.EepromData.DemoSettings.Entity == MASTER )
{
Eeprom.EepromData.DemoSettings.TimeOnAir = RX_TX_INTER_PACKET_DELAY;
- Radio.SetDioIrqParams( IRQ_RADIO_ALL /*IRQ_RX_DONE | IRQ_TX_DONE | IRQ_RX_TX_TIMEOUT | IRQ_RANGING_MASTER_RESULT_VALID | IRQ_RANGING_MASTER_ERROR_CODE*/,
- IRQ_RADIO_ALL /*IRQ_RX_DONE | IRQ_TX_DONE | IRQ_RX_TX_TIMEOUT | IRQ_RANGING_MASTER_RESULT_VALID | IRQ_RANGING_MASTER_ERROR_CODE*/,
+ Radio.SetDioIrqParams( IRQ_RX_DONE | IRQ_TX_DONE | IRQ_RX_TX_TIMEOUT | IRQ_RANGING_MASTER_RESULT_VALID | IRQ_RANGING_MASTER_TIMEOUT,
+ IRQ_RX_DONE | IRQ_TX_DONE | IRQ_RX_TX_TIMEOUT | IRQ_RANGING_MASTER_RESULT_VALID | IRQ_RANGING_MASTER_TIMEOUT,
IRQ_RADIO_NONE, IRQ_RADIO_NONE );
Eeprom.EepromData.DemoSettings.RngDistance = 0.0;
DemoInternalState = APP_RANGING_CONFIG;
@@ -1130,8 +1138,8 @@
}
break;
- case DEMO_RNG_ANT_2:
- //ANT_SW = 0; // ANT2
+ case DEMO_RNG_ANT_0:
+ //ANT_SW = 0; // ANT0
Eeprom.EepromData.DemoSettings.AntennaSwitch = 1;
CurrentChannel++;
if( CurrentChannel >= CHANNELS )
@@ -1170,13 +1178,21 @@
Eeprom.EepromData.DemoSettings.HoldDemo = true;
SendNext = false;
DemoInternalState = APP_RANGING_CONFIG;
+ Eeprom.EepromData.DemoSettings.RngStatus = RNG_INIT;
}
}
break;
case APP_RANGING_DONE:
TX_LED = 0;
- RawRngResults[RngResultIndex++] = Radio.GetRangingResult( RANGING_RESULT_RAW );
+ RawRngResults[RngResultIndex] = Radio.GetRangingResult( RANGING_RESULT_RAW );
+ RawRngResults[RngResultIndex] += Sx1280RangingCorrection::GetRangingCorrectionPerSfBwGain(
+ ModulationParams.Params.LoRa.SpreadingFactor,
+ ModulationParams.Params.LoRa.Bandwidth,
+ Radio.GetRangingPowerDeltaThresholdIndicator( )
+ );
+ RngResultIndex++;
+
Eeprom.EepromData.DemoSettings.CntPacketRxOK++;
DemoInternalState = APP_RNG;
break;
@@ -1327,8 +1343,8 @@
}
break;
- case DEMO_RNG_ANT_2:
- //ANT_SW = 0; // ANT2
+ case DEMO_RNG_ANT_0:
+ //ANT_SW = 0; // ANT0
Eeprom.EepromData.DemoSettings.AntennaSwitch = 1;
CurrentChannel++;
if( CurrentChannel >= CHANNELS )
@@ -1409,6 +1425,10 @@
Radio.SendPayload( Buffer, 9, ( TickTime_t ){ RADIO_TICK_SIZE_1000_US, RNG_COM_TIMEOUT } );
DemoInternalState = APP_IDLE;
}
+ else
+ {
+ DemoInternalState = APP_RANGING_CONFIG;
+ }
}
else
{
@@ -1790,7 +1810,7 @@
Eeprom.EepromData.DemoSettings.PayloadLength = PacketParams.Params.LoRa.PayloadLength;
- Radio.WriteRegister( REG_HIGH_SENSITIVITY, Radio.ReadRegister( REG_HIGH_SENSITIVITY ) & ~LNA_HIGH_SENSITIVITY_MASK );
+ Radio.SetLNAGainSetting(LNA_LOW_POWER_MODE);
}
else if( modulation == PACKET_TYPE_FLRC )
{
@@ -1813,7 +1833,7 @@
Eeprom.EepromData.DemoSettings.PayloadLength = PacketParams.Params.Flrc.PayloadLength;
- Radio.WriteRegister( REG_HIGH_SENSITIVITY, Radio.ReadRegister( REG_HIGH_SENSITIVITY ) | LNA_HIGH_SENSITIVITY_MASK );
+ Radio.SetLNAGainSetting(LNA_HIGH_SENSITIVITY_MODE);
}
else if( modulation == PACKET_TYPE_GFSK )
{
@@ -1835,8 +1855,8 @@
PacketParams.Params.Gfsk.Whitening = ( RadioWhiteningModes_t ) Eeprom.EepromData.DemoSettings.PacketParam7;
Eeprom.EepromData.DemoSettings.PayloadLength = PacketParams.Params.Gfsk.PayloadLength;
-
- Radio.WriteRegister( REG_HIGH_SENSITIVITY, Radio.ReadRegister( REG_HIGH_SENSITIVITY ) | LNA_HIGH_SENSITIVITY_MASK );
+
+ Radio.SetLNAGainSetting(LNA_HIGH_SENSITIVITY_MODE);
}
if( modulation == PACKET_TYPE_RANGING )
{
@@ -1866,7 +1886,7 @@
}
Radio.SetPollingMode( );
- Radio.WriteRegister( REG_HIGH_SENSITIVITY, Radio.ReadRegister( REG_HIGH_SENSITIVITY ) & ~LNA_HIGH_SENSITIVITY_MASK );
+ Radio.SetLNAGainSetting(LNA_LOW_POWER_MODE);
}
else
{
@@ -1910,7 +1930,6 @@
uint8_t CheckDistance( void )
{
double displayRange = 0.0;
- double rssi = Eeprom.EepromData.DemoSettings.RssiValue;
uint16_t j = 0;
uint16_t i;
@@ -1941,16 +1960,34 @@
if ((RngResultIndex % 2) == 0)
{
median = (RawRngResults[RngResultIndex/2] + RawRngResults[(RngResultIndex/2) - 1])/2.0;
- }
- else
+ }
+ else
{
median = RawRngResults[RngResultIndex/2];
}
- if( median < 50 )
+ if( median < 100 )
{
+ printf("median: %f \n\r", median );
// Apply the short range correction and RSSI short range improvement below 50 m
- displayRange = t0 + t1 * rssi + t2 * pow(rssi,2) + t3 * pow(rssi, 3) +t4 * median + t5 * pow(median,2) + t6 * pow(median, 3) + t7 * pow(median, 4) ;
+ displayRange = Sx1280RangingCorrection::ComputeRangingCorrectionPolynome(
+ ModulationParams.Params.LoRa.SpreadingFactor,
+ ModulationParams.Params.LoRa.Bandwidth,
+ median
+ );
+ printf("Corrected range: %f \n\r", displayRange );
+ //displayRange = t0 + t1 * rssi + t2 * pow(rssi,2) + t3 * pow(rssi, 3) + t4 * median + t5 * pow(median,2) + t6 * pow(median, 3) + t7 * pow(median, 4) ;
+ //printf("displayRange %f \n\r", displayRange );
+// double correctedRange = 0;
+// uint8_t k = 0;
+// uint8_t order = 6;
+// for( k = 1; k <= (order+1); k++ ) // loop though each polynomial term and sum
+// {
+// correctedRange = correctedRange + p[k] * pow( median, ( order + 1 - k ) );
+// printf("correctedRange[%d] %f \n\r", k, correctedRange );
+// }
+// printf("Final correctedRange %f \n\r", correctedRange );
+// displayRange = correctedRange - 2;
}
else
{
@@ -2021,7 +2058,7 @@
}
else
{
- ANT_SW = 0; // ANT2
+ ANT_SW = 0; // ANT0
}
}
--- a/Demo/DemoApplication.h Fri Aug 24 08:01:53 2018 +0000 +++ b/Demo/DemoApplication.h Thu Nov 08 10:13:23 2018 +0000 @@ -19,7 +19,8 @@ /*! * \brief Used to display firmware version on TFT (Utilities menu) */ -#define FIRMWARE_VERSION ( ( char* )"Firmware Version: 180824" ) +#define FIRMWARE_VERSION ( ( char* )"v1.5.2" ) +#define FIRMWARE_DATE ( ( char* )"2018-10-15" ) /*! * \brief Define range of central frequency [Hz] @@ -47,7 +48,7 @@ * \brief Define antenna selection for ranging */ #define DEMO_RNG_ANT_1 1 -#define DEMO_RNG_ANT_2 2 +#define DEMO_RNG_ANT_0 2 #define DEMO_RNG_ANT_BOTH 0 /*!
--- a/Demo/SX1280Lib.lib Fri Aug 24 08:01:53 2018 +0000 +++ b/Demo/SX1280Lib.lib Thu Nov 08 10:13:23 2018 +0000 @@ -1,1 +1,1 @@ -https://developer.mbed.org/teams/Semtech/code/SX1280Lib/#d60df50e108f +https://developer.mbed.org/teams/Semtech/code/SX1280Lib/#c4f110f3fe3e
--- a/Display/DisplayDriver.cpp Fri Aug 24 08:01:53 2018 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,466 +0,0 @@
-/*
- ______ _
- / _____) _ | |
-( (____ _____ ____ _| |_ _____ ____| |__
- \____ \| ___ | (_ _) ___ |/ ___) _ \
- _____) ) ____| | | || |_| ____( (___| | | |
-(______/|_____)_|_|_| \__)_____)\____)_| |_|
- (C)2016 Semtech
-
-Description: Display driver implementation
-
-Maintainer: Gregory Cristian & Gilbert Menth
-*/
-
-#include "mbed.h"
-#include "Eeprom.h"
-#include "DisplayDriver.h"
-#include "DmTftIli9341.h"
-#include "DmTouch.h"
-#include "DmTouchCalibration.h"
-
-
-//If DISPLAY_INVERT is defined as 1 then the display will be inverted from its native orientation
-#define DISPLAY_INVERT 1
-
-#define MAX_GO_STRING 30
-#define SPACE_ASCII 0x20
-#define FONT_WIDTH 8
-
-// DmTftIli9341( PinName cs, PinName dc, PinName mosi, PinName miso, PinName clk )
-// DM_TFT28_105
-DmTftIli9341 Tft( D10, D9, D11, D12, D13 );
-DmTouch Touch( DmTouch::DM_TFT28_105, D9, D11, D12 );
-DmTouchCalibration Calibration = DmTouchCalibration( &Tft, &Touch );
-
-/*
- * Used only to define pull-up on the CS lines
- */
-DigitalInOut CsTouch( D4, PIN_OUTPUT, PullUp, 1 );
-DigitalInOut CsDisplay( D10, PIN_OUTPUT, PullUp, 1 );
-DigitalInOut CsSDCard( D8, PIN_OUTPUT, PullUp, 1 );
-DigitalInOut CsFlash( D6, PIN_OUTPUT, PullUp, 1 );
-
-MenuSettings_t MenuSettings;
-char GoTmpString[MAX_GO_STRING];
-
-
-static int BmpWidth;
-static int BmpHeight;
-static uint8_t BmpImageoffset;
-
-static bool BmpReadHeader( uint8_t *thisBmp );
-static uint16_t Read16( uint8_t *src );
-static uint32_t Read32( uint8_t *src );
-static void DrawBmpFromFlash( uint8_t *thisBmp, int x, int y );
-
-
-void DisplayDriverInit( void )
-{
- Tft.init( );
- Touch.init( );
-
- DisplayDriverCalibrate( );
- Tft.clearScreen( );
-
- for( uint8_t i = 0; i < MAX_GO_STRING; i++) GoTmpString[i] = SPACE_ASCII;
-}
-
-// Calibrates the touch screen
-void DisplayDriverCalibrate( void )
-{
- uint16_t x, y = 0;
- bool touched = false;
-
- if( Eeprom.EepromData.MenuSettings.ScreenCalibrated == false )
- {
- Tft.drawString( 5, 5, "Press and hold on cross" );
- Tft.drawString( 5, 25, "until it turns green. " );
-
- Point displayRefPoint[5];
- Point touchRefPoint[5];
-
- if( Calibration.getTouchReferencePoints( displayRefPoint, touchRefPoint,\
- Tft.width( ), Tft.height( ) ) )
- {
- CalibrationMatrix calibrationMatrix = \
- Calibration.calculateCalibrationMatrix( displayRefPoint, \
- touchRefPoint );
-
- Touch.setCalibrationMatrix( calibrationMatrix );
- Tft.clearScreen( );
- Eeprom.EepromData.MenuSettings.Calibration.a = calibrationMatrix.a;
- Eeprom.EepromData.MenuSettings.Calibration.b = calibrationMatrix.b;
- Eeprom.EepromData.MenuSettings.Calibration.c = calibrationMatrix.c;
- Eeprom.EepromData.MenuSettings.Calibration.d = calibrationMatrix.d;
- Eeprom.EepromData.MenuSettings.Calibration.e = calibrationMatrix.e;
- Eeprom.EepromData.MenuSettings.Calibration.f = calibrationMatrix.f;
- Eeprom.EepromData.MenuSettings.ScreenCalibrated = true;
- EepromSaveSettings( SCREEN_DATA );
- }
- else
- {
- Tft.clearScreen( );
- Tft.drawString( 5, 5, "Calibration failed" );
- Tft.drawString( 5, 25, "Please try again." );
- delay( 2000 );
- Tft.clearScreen( );
- return;
- }
- }
- else
- {
- Touch.setCalibrationMatrix( Eeprom.EepromData.MenuSettings.Calibration );
- Tft.clearScreen( );
- }
-
- if( Touch.isTouched( ) )
- {
- Touch.readTouchData( x, y, touched );
- Calibration.drawCalibPoint( x, y );
- }
-}
-
-GraphObjectStatus_t GraphObjectDraw( GraphObject_t* goObject, uint8_t* source, \
- bool doFill, bool activeTouch)
-{
- GraphObjectStatus_t status = GO_STATUS_NOERR;
- uint8_t maxChar;
-
- if( goObject == NULL )
- {
- return GO_STATUS_BAD_ARG;
- }
- if( goObject->Xpos + goObject->Width > SCREEN_WIDTH )
- {
- return GO_STATUS_BAD_COORD;
- }
- if( goObject->Ypos + goObject->Height > SCREEN_HEIGHT )
- {
- return GO_STATUS_BAD_COORD;
- }
- switch( goObject->Type )
- {
- case GO_TEXT:
- if( source == NULL )
- {
- status = GO_STATUS_BAD_ARG;
- }
- else
- {
- uint8_t i = 0;
- uint8_t j = 0;
- // max character in the object string
- maxChar = goObject->Width / FONT_WIDTH;
- Tft.setTextColor( goObject->BackColor, goObject->FrontColor );
- for( i = 0; i < maxChar; i++)
- {
- if( *source != 0 )
- {
- Tft.drawChar( goObject->Xpos + j, goObject->Ypos, \
- ( char )*( source++ ), false );
- j += FONT_WIDTH;
- }
- else
- {
- Tft.drawChar( goObject->Xpos + ( FONT_WIDTH * i ), \
- goObject->Ypos, SPACE_ASCII, false);
- }
- }
- goObject->TouchActive = activeTouch;
- }
- break;
-
- case GO_RECTANGLE:
- Tft.drawRectangle( goObject->Xpos, goObject->Ypos, goObject->Xpos + \
- goObject->Width - 1, goObject->Ypos + \
- goObject->Height - 1, goObject->FrontColor );
- if( doFill )
- {
- Tft.fillRectangle( goObject->Xpos + 1, goObject->Ypos + 1, \
- goObject->Xpos + goObject->Width - 2, \
- goObject->Ypos + goObject->Height - 2, \
- goObject->FillColor );
- }
- goObject->TouchActive = activeTouch;
- break;
-
- case GO_CIRCLE:
- Tft.drawCircle( goObject->Xpos, goObject->Ypos, \
- ( goObject->Height < goObject->Width ) ? \
- ( goObject->Height / 2 ) : ( goObject->Width / 2 ), \
- goObject->FrontColor );
- if( doFill )
- {
- Tft.fillCircle( goObject->Xpos, goObject->Ypos, \
- ( goObject->Height < goObject->Width ) ? \
- ( goObject->Height / 2 ) - 1 : ( goObject->Width / 2 ) - 1, \
- goObject->FillColor );
- }
- goObject->TouchActive = activeTouch;
- break;
-
- case GO_TRIANGLE:
- status = GO_STATUS_BAD_ARG;
- break;
-
- case GO_IMAGE:
- if( source == NULL )
- {
- status = GO_STATUS_BAD_ARG;
- }
- else
- {
- if( BmpReadHeader( goObject->Source ) )
- {
- DrawBmpFromFlash( goObject->Source, goObject->Xpos, \
- goObject->Ypos );
- }
- else
- {
- // draw a red rectangle with a line through, to show error
- Tft.drawRectangle( goObject->Xpos, goObject->Ypos, \
- goObject->Xpos + goObject->Width - 1, \
- goObject->Ypos + goObject->Height - 1, \
- OBJECT_ERROR );
- Tft.drawLine( goObject->Xpos, goObject->Ypos, goObject->Xpos + \
- goObject->Width - 1, goObject->Ypos + \
- goObject->Height - 1, OBJECT_ERROR );
- }
- goObject->TouchActive = activeTouch;
- }
- break;
-
- case GO_LINE:
- Tft.drawLine( goObject->Xpos, goObject->Ypos, goObject->Xpos + \
- goObject->Width - 1, goObject->Ypos + \
- goObject->Height - 1, goObject->FrontColor );
- break;
-
- default:
- status = GO_STATUS_BAD_ARG;
- }
- return status;
-}
-
-GraphObjectStatus_t GraphObjectClear( GraphObject_t* goObject, bool doFill )
-{
- GraphObjectStatus_t status = GO_STATUS_NOERR;
- uint8_t maxChar;
-
- if( goObject == NULL )
- {
- return GO_STATUS_BAD_ARG;
- }
- if( goObject->Xpos + goObject->Width > SCREEN_WIDTH )
- {
- return GO_STATUS_BAD_COORD;
- }
- if( goObject->Ypos + goObject->Height > SCREEN_HEIGHT )
- {
- return GO_STATUS_BAD_COORD;
- }
- switch( goObject->Type )
- {
- case GO_TEXT:
- // max character in the object string
- maxChar = goObject->Width / FONT_WIDTH;
- GoTmpString[maxChar] = NULL;
- Tft.setTextColor( goObject->BackColor, goObject->FrontColor );
- Tft.drawString( goObject->Xpos, goObject->Ypos, GoTmpString );
- GoTmpString[maxChar] = SPACE_ASCII;
- goObject->TouchActive = false;
- break;
-
- case GO_RECTANGLE:
- case GO_IMAGE:
- if( doFill )
- {
- Tft.fillRectangle( goObject->Xpos, goObject->Ypos, \
- goObject->Xpos + goObject->Width - 1, \
- goObject->Ypos + goObject->Height - 1, \
- goObject->BackColor );
- }
- else
- {
- Tft.drawRectangle( goObject->Xpos, goObject->Ypos, goObject->Xpos + \
- goObject->Width - 1, goObject->Ypos + \
- goObject->Height - 1, goObject->BackColor );
- }
- goObject->TouchActive = false;
- break;
-
- case GO_CIRCLE:
- if( doFill )
- {
- Tft.fillCircle( goObject->Xpos, goObject->Ypos, \
- ( goObject->Height < goObject->Width ) ? \
- ( goObject->Height / 2 ) : ( goObject->Width / 2 ), \
- goObject->BackColor );
- }
- else
- {
- Tft.drawCircle( goObject->Xpos, goObject->Ypos, \
- ( goObject->Height < goObject->Width ) ? \
- ( goObject->Height / 2 ) : ( goObject->Width / 2 ), \
- goObject->BackColor );
- }
- goObject->TouchActive = false;
- break;
-
- case GO_TRIANGLE:
- status = GO_STATUS_BAD_ARG;
- goObject->TouchActive = false;
- break;
-
- case GO_LINE:
- Tft.drawLine( goObject->Xpos, goObject->Ypos, goObject->Xpos + \
- goObject->Width - 1, goObject->Ypos + \
- goObject->Height - 1, goObject->BackColor );
- goObject->TouchActive = false;
- break;
-
- default:
- status = GO_STATUS_BAD_ARG;
- }
- return status;
-}
-
-void DisplayDriverDrawLogo( uint8_t *thisBmp, uint8_t xPos, uint8_t yPos )
-{
- if( BmpReadHeader( thisBmp ) )
- {
- DrawBmpFromFlash( thisBmp, xPos, yPos );
- }
-}
-
-GraphObjectStatus_t GraphObjectTouched( GraphObject_t* objects, \
- uint8_t objectsCount, \
- uint8_t* touchedObject)
-{
- uint8_t objScan;
- uint16_t x, y = 0;
- bool touched = false;
- GraphObjectStatus_t status = GO_STATUS_BAD_COORD;
-
- if( Touch.isTouched( ) )
- {
- Touch.readTouchData( x, y, touched );
-
- if( touched == true )
- {
- for( objScan = 0; objScan < objectsCount; objScan++)
- {
- if( objects[objScan].TouchActive == true )
- {
- if( ( y >= objects[objScan].Ypos ) && ( y <= ( objects[objScan].Ypos + objects[objScan].Height - 1 ) ) )
- {
- if( ( x >= objects[objScan].Xpos ) && ( x <= ( objects[objScan].Xpos + objects[objScan].Width - 1 ) ) )
- {
- *touchedObject = objects[objScan].Id;
- status = GO_STATUS_NOERR;
- break; // return the first object match and no scan of other following objects
- }
- }
- }
- }
- }
- }
-
- return status;
-}
-
-static bool BmpReadHeader( uint8_t *thisBmp )
-{
- uint16_t pos = 0;
-
- Read16( thisBmp );
- if( Read16( thisBmp ) != 0x4D42 )
- { // read magic byte
- return false;
- }
- pos += 2;
-
- // read file size
- pos += 4;
- pos += 4; // Skip creator bytes
- BmpImageoffset = Read32( thisBmp + pos );
- pos += 4;
- // read DIB header
- pos +=4;
- BmpWidth = Read32( thisBmp + pos );
- pos += 4;
- BmpHeight = Read32( thisBmp + pos );
- pos += 4;
- if( Read16( thisBmp + pos ) != 1 )
- {
- // number of color planes must be 1
- return false;
- }
- pos += 2;
- pos += 2;
- if( Read16( thisBmp + pos ) != 0 )
- {
- return false; // compression not supported!
- }
- pos += 2; // Should really be 2??
- return true;
-}
-
-// LITTLE ENDIAN!
-static uint16_t Read16( uint8_t *src )
-{
- uint16_t d;
- uint8_t b;
- b = *src;
- d = *( src + 1 );
- d <<= 8;
- d |= b;
- return d;
-}
-
-// LITTLE ENDIAN!
-static uint32_t Read32( uint8_t *src )
-{
- uint32_t d;
- uint16_t b;
-
- b = Read16( src );
- d = Read16( src + 2 );
- d <<= 16;
- d |= b;
- return d;
-}
-
-static void DrawBmpFromFlash( uint8_t *thisBmp, int xPos, int yPos )
-{
- uint16_t pos = BmpImageoffset;
- uint16_t p; // pixel
- uint8_t g;
- uint8_t b;
- int i, j; // line, column
-
- for( i = BmpHeight; i > 0; i-- )
- {
- for( j = 0; j < BmpWidth; j++ )
- {
- b = *( thisBmp + pos++ );
- g = *( thisBmp + pos++ );
- p = *( thisBmp + pos++ );
-
- p >>= 3;
- p <<= 6;
-
- g >>= 2;
- p |= g;
- p <<= 5;
-
- b >>= 3;
- p |= b;
-
- // write out the 16 bits of color
- Tft.setPixel( j + xPos, i + yPos, p );
- }
- pos += 1;
- }
-}
--- a/Display/DisplayDriver.h Fri Aug 24 08:01:53 2018 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,136 +0,0 @@
-/*
- ______ _
- / _____) _ | |
-( (____ _____ ____ _| |_ _____ ____| |__
- \____ \| ___ | (_ _) ___ |/ ___) _ \
- _____) ) ____| | | || |_| ____( (___| | | |
-(______/|_____)_|_|_| \__)_____)\____)_| |_|
- (C)2016 Semtech
-
-Description: Display driver header
-
-Maintainer: Gregory Cristian & Gilbert Menth
-*/
-
-#ifndef TFT_DISPLAY_DRIVER_H
-#define TFT_DISPLAY_DRIVER_H
-
-
-#include "DmTftBase.h"
-
-
-#define SCREEN_WIDTH 240
-#define SCREEN_HEIGHT 320
-
-#define TEXT_COLOR WHITE
-#define BACK_COLOR BLACK
-#define PAGE_COLOR CYAN
-#define OBJECT_ERROR RED
-#define BUTTON_BORDER BLUE
-#define MENU_TEXT GREEN
-#define TEXT_VALUE YELLOW
-#define CIRCLE_FCOLOR GRAY1
-
-
-typedef enum
-{
- GO_STATUS_NOERR,
- GO_STATUS_BAD_COORD,
- GO_STATUS_BAD_ARG,
- GO_STATUS_BAD_CONTEXT,
-}GraphObjectStatus_t;
-
-typedef enum
-{
- GO_TEXT,
- GO_RECTANGLE,
- GO_CIRCLE,
- GO_TRIANGLE,
- GO_IMAGE,
- GO_LINE,
-}GraphObjectType_t;
-
-typedef struct
-{
- uint8_t Id;
- GraphObjectType_t Type;
- uint16_t Xpos;
- uint16_t Ypos;
- uint16_t Height;
- uint16_t Width;
- uint16_t LineWidth;
- uint16_t BackColor;
- uint16_t FrontColor;
- bool DoFill;
- uint16_t FillColor;
- uint8_t* Source;
- bool TouchActive;
-}GraphObject_t;
-
-
-/*!
- * \brief Initialses the hardware and variables associated with the display.
- */
- void DisplayDriverInit( void );
-
-/*!
- * \brief Calibrates the touch screen.
- */
-void DisplayDriverCalibrate( void );
-
-/*!
- * \brief Draws a graphical object.
- *
- * \param [in] *goObject Object to draw.
- * \param [in] *source If object is a text : *source is the text to print
- * If object is a image: *source is the image
- * For the other type of goObject, *source is ignored
- * \param [in] doFill Indicate if the goObject (only for GO_RECTANGLE,
- * GO_CIRCLE & GO_TRIANGLE) should be filled or not.
- * \param [in] activeTouch Indicate if the coordinates of the goObject can be
- * used for touchscreen or not.
- * \retval status GO_STATUS_NOERR if ok or,
- * GO_STATUS_BAD_COORD if the object go out of screen
- */
-GraphObjectStatus_t GraphObjectDraw( GraphObject_t* goObject, uint8_t* source, \
- bool doFill, bool activeTouch);
-
-/*!
- * \brief Clear a graphical object.
- *
- * \param [in] *goObject Object to clear.
- * \param [in] doFill Indicate if the goObject (only for GO_RECTANGLE,
- * GO_CIRCLE & GO_TRIANGLE) should be filled or not.
- * \retval status GO_STATUS_NOERR if ok or,
- * GO_STATUS_BAD_COORD if the object go out of screen
- */
-GraphObjectStatus_t GraphObjectClear( GraphObject_t* goObject, bool doFill );
-
-/*!
- * \brief Get the first object that have the touched coordinate (if activateTouch
- * of the object is TRUE).
- *
- * \param [in] *objects Tab of grophical objects.
- * \param [in] objectsCount Indicate the numbre of goObject in the tab.
- * \param [out] touchedObject Put the ID of the first touched and activated
- * object of the tab.
- * \retval status GO_STATUS_NOERR if ok.
- */
-GraphObjectStatus_t GraphObjectTouched( GraphObject_t* objects, \
- uint8_t objectsCount, \
- uint8_t* touchedObject);
-
-/*!
- * \brief Draws a logo on the display.
- *
- * \param [in] *thisBmp The file to be printed onto the display.
- * \param [in] xPos Position across the display in pixels for the top
- * right corner of the logo starting at the left edge
- * of display.
- * \param [in] yPos Position across the display in pixels for the top
- * right corner of the logo starting at the top of
- * the display.
- */
-void DisplayDriverDrawLogo( uint8_t *thisBmp, uint8_t xPos, uint8_t yPos );
-
-#endif //TFT_DISPLAY_DRIVER_H
--- a/Display/Menu.cpp Fri Aug 24 08:01:53 2018 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,2529 +0,0 @@
-/*
- ______ _
- / _____) _ | |
-( (____ _____ ____ _| |_ _____ ____| |__
- \____ \| ___ | (_ _) ___ |/ ___) _ \
- _____) ) ____| | | || |_| ____( (___| | | |
-(______/|_____)_|_|_| \__)_____)\____)_| |_|
- (C)2016 Semtech
-
-Description: Display demo menus and manage touch sensor.
-
-Maintainer: Gregory Cristian & Gilbert Menth
-*/
-
-#include "mbed.h"
-#include "Menu.h"
-#include "DisplayDriver.h"
-#include "Eeprom.h"
-#include "GpsMax7.h"
-#include "DemoApplication.h"
-#include "SX9306.h"
-#include "main.h"
-
-
-/*!
- * \brief Maximum character count on the same line with function DrawText
- * This include needed space for the outline (at the begin and the end of line).
- * MAX_CHAR_PER_BTN is the same, but for a button.
- */
-#define MAX_CHAR_PER_LINE 28
-
-#define SCALE_LINE_COUNT 5
-#define RANGING_FULLSCALE_MIN 10
-#define RANGING_FULLSCALE_MAX 30000
-
-/*!
- * \brief Bitmap of Semtech Logo stored here (copied from a C file).
- */
-extern uint8_t SemtechLogo[];
-
-
-/*!
- * \brief This ticker give the rythme to check X and Y coordinates of activated
- * touched region (if pressed). CheckScreenFlag keep the status if Touchscreen
- * has been checked or not, until checked.
- */
-Ticker CheckScreenTouch;
-volatile bool CheckScreenFlag = false;
-
-/*!
- * \brief This ticker give the rythme to refresh a page when continuous info
- * has to be printed in the same page.
- */
-Ticker CheckPageRefresh;
-volatile bool PageRefresh = false;
-
-/*!
- * \brief This ticker give the rythme to avoid quick menu change
- */
-Ticker DebouncedScreenTouch;
-volatile bool ScreenBeenDebounced = false;
-
-/*!
- * \brief List og graphical object in the application.
- */
-enum MenuObjectsId
-{
- PAGE_BORDER = 0,
- TITLE_LINE,
- TITLE_TEXT,
- FIRM_LOGO,
- BTN0_BORDER, // to accord with DrawActiveButton( ), each button should
- BTN0_MENU_TEXT, // have consecutively MENU_TEXT (full large text),
- BTN0_LABEL_TEXT, // LABEL_TEXT (left side of the button) and VALUE_TEXT
- BTN0_VALUE_TEXT, // (right side of the button).
- BTN1_BORDER,
- BTN1_MENU_TEXT,
- BTN1_LABEL_TEXT,
- BTN1_VALUE_TEXT,
- BTN2_BORDER,
- BTN2_MENU_TEXT,
- BTN2_LABEL_TEXT,
- BTN2_VALUE_TEXT,
- BTN3_BORDER,
- BTN3_MENU_TEXT,
- BTN3_LABEL_TEXT,
- BTN3_VALUE_TEXT,
- BTN4_BORDER,
- BTN4_MENU_TEXT,
- BTN4_LABEL_TEXT,
- BTN4_VALUE_TEXT,
- BTN5_BORDER,
- BTN5_MENU_TEXT,
- BTN5_LABEL_TEXT,
- BTN5_VALUE_TEXT,
- BTN6_BORDER,
- BTN6_MENU_TEXT,
- BTN6_LABEL_TEXT,
- BTN6_VALUE_TEXT,
- BTN7_BORDER,
- BTN7_MENU_TEXT,
- BTN8_BORDER,
- BTN8_MENU_TEXT,
- BTN9_BORDER,
- BTN9_MENU_TEXT,
- LINE0_TEXT,
- LINE1_TEXT,
- LINE2_TEXT,
- LINE2_COL0_TEXT,
- LINE2_COL1_TEXT,
- LINE3_TEXT,
- LINE3_COL0_TEXT,
- LINE3_COL1_TEXT,
- LINE3_COL2_TEXT,
- LINE4_TEXT, // to accord with DrawText( ), each text line should
- LINE4_COL0_TEXT, // have consecutively TEXT (full large text),
- LINE4_COL1_TEXT, // COL0_TEXT (left side of the line), COL1_TEXT (center
- LINE4_COL2_TEXT, // region of the line) and COL2_TEXT (right side of the
- LINE5_COL0_TEXT, // line). COL0..2 are optionals if doesn't exist.
- LINE5_COL1_TEXT,
- LINE5_COL2_TEXT,
- LINE6_COL0_TEXT,
- LINE6_COL1_TEXT,
- LINE6_COL2_TEXT,
- LINE7_COL0_TEXT,
- LINE7_COL1_TEXT,
- LINE7_COL2_TEXT,
- LINE8_COL0_TEXT,
- LINE8_COL1_TEXT,
- LINE9_COL0_TEXT,
- LINE9_COL1_TEXT,
- RNG_DIST_TEXT,
- RNG_DIST_CIRCLE,
- RNG_DS1_TEXT,
- RNG_DS2_TEXT,
- RNG_DS3_TEXT,
- RNG_DS4_TEXT,
- RNG_DS5_TEXT,
- RNG_DS0_LINE,
- RNG_DS1_LINE,
- RNG_DS2_LINE,
- RNG_DS3_LINE,
- RNG_DS4_LINE,
- RNG_DS5_LINE,
- RNG_MST_SCR,
-};
-#define GRAPH_OBJECTS_COUNT 78
-GraphObject_t MenuObjects[GRAPH_OBJECTS_COUNT] =
-{
- // { Id, Type, Xpos, Ypos, Height, Width, LineW, BackColor, FrontColor, DoFill, FillCol, Source, TouchActive }
- { PAGE_BORDER, GO_RECTANGLE, 0, 0, 320, 240, 1, BACK_COLOR, PAGE_COLOR, false, NULL, NULL, false },
- { TITLE_LINE, GO_LINE, 0, 30, 1, 240, 1, BACK_COLOR, PAGE_COLOR, false, NULL, NULL, false },
- { TITLE_TEXT, GO_TEXT, 15, 9, NULL, 208, 1, BACK_COLOR, WHITE, false, NULL, NULL, false },
- { FIRM_LOGO, GO_IMAGE, 20, 37, 95, 215, 1, BACK_COLOR, WHITE, false, NULL, SemtechLogo, false },
- { BTN0_BORDER, GO_RECTANGLE, 10, 40, 30, 106, 1, BACK_COLOR, BUTTON_BORDER, false, NULL, NULL, false },
- { BTN0_MENU_TEXT, GO_TEXT, 15, 48, NULL, 96, 1, BACK_COLOR, MENU_TEXT, false, NULL, NULL, false },
- { BTN0_LABEL_TEXT, GO_TEXT, 15, 48, NULL, 32, 1, BACK_COLOR, TEXT_COLOR, false, NULL, NULL, false },
- { BTN0_VALUE_TEXT, GO_TEXT, 47, 48, NULL, 64, 1, BACK_COLOR, TEXT_VALUE, false, NULL, NULL, false },
- { BTN1_BORDER, GO_RECTANGLE, 10, 75, 30, 222, 1, BACK_COLOR, BUTTON_BORDER, false, NULL, NULL, false },
- { BTN1_MENU_TEXT, GO_TEXT, 15, 83, NULL, 200, 1, BACK_COLOR, MENU_TEXT, false, NULL, NULL, false },
- { BTN1_LABEL_TEXT, GO_TEXT, 15, 83, NULL, 64, 1, BACK_COLOR, TEXT_COLOR, false, NULL, NULL, false },
- { BTN1_VALUE_TEXT, GO_TEXT, 79, 83, NULL, 152, 1, BACK_COLOR, TEXT_VALUE, false, NULL, NULL, false },
- { BTN2_BORDER, GO_RECTANGLE, 10, 110, 30, 222, 1, BACK_COLOR, BUTTON_BORDER, false, NULL, NULL, false },
- { BTN2_MENU_TEXT, GO_TEXT, 15, 118, NULL, 200, 1, BACK_COLOR, MENU_TEXT, false, NULL, NULL, false },
- { BTN2_LABEL_TEXT, GO_TEXT, 15, 118, NULL, 64, 1, BACK_COLOR, TEXT_COLOR, false, NULL, NULL, false },
- { BTN2_VALUE_TEXT, GO_TEXT, 79, 118, NULL, 152, 1, BACK_COLOR, TEXT_VALUE, false, NULL, NULL, false },
- { BTN3_BORDER, GO_RECTANGLE, 10, 145, 30, 222, 1, BACK_COLOR, BUTTON_BORDER, false, NULL, NULL, false },
- { BTN3_MENU_TEXT, GO_TEXT, 15, 153, NULL, 200, 1, BACK_COLOR, MENU_TEXT, false, NULL, NULL, false },
- { BTN3_LABEL_TEXT, GO_TEXT, 15, 153, NULL, 64, 1, BACK_COLOR, TEXT_COLOR, false, NULL, NULL, false },
- { BTN3_VALUE_TEXT, GO_TEXT, 79, 153, NULL, 152, 1, BACK_COLOR, TEXT_VALUE, false, NULL, NULL, false },
- { BTN4_BORDER, GO_RECTANGLE, 10, 180, 30, 222, 1, BACK_COLOR, BUTTON_BORDER, false, NULL, NULL, false },
- { BTN4_MENU_TEXT, GO_TEXT, 15, 188, NULL, 200, 1, BACK_COLOR, MENU_TEXT, false, NULL, NULL, false },
- { BTN4_LABEL_TEXT, GO_TEXT, 15, 188, NULL, 64, 1, BACK_COLOR, TEXT_COLOR, false, NULL, NULL, false },
- { BTN4_VALUE_TEXT, GO_TEXT, 79, 188, NULL, 152, 1, BACK_COLOR, TEXT_VALUE, false, NULL, NULL, false },
- { BTN5_BORDER, GO_RECTANGLE, 10, 215, 30, 222, 1, BACK_COLOR, BUTTON_BORDER, false, NULL, NULL, false },
- { BTN5_MENU_TEXT, GO_TEXT, 15, 223, NULL, 200, 1, BACK_COLOR, MENU_TEXT, false, NULL, NULL, false },
- { BTN5_LABEL_TEXT, GO_TEXT, 15, 223, NULL, 64, 1, BACK_COLOR, TEXT_COLOR, false, NULL, NULL, false },
- { BTN5_VALUE_TEXT, GO_TEXT, 79, 223, NULL, 152, 1, BACK_COLOR, TEXT_VALUE, false, NULL, NULL, false },
- { BTN6_BORDER, GO_RECTANGLE, 10, 250, 30, 222, 1, BACK_COLOR, BUTTON_BORDER, false, NULL, NULL, false },
- { BTN6_MENU_TEXT, GO_TEXT, 15, 258, NULL, 200, 1, BACK_COLOR, MENU_TEXT, false, NULL, NULL, false },
- { BTN6_LABEL_TEXT, GO_TEXT, 15, 258, NULL, 64, 1, BACK_COLOR, TEXT_COLOR, false, NULL, NULL, false },
- { BTN6_VALUE_TEXT, GO_TEXT, 79, 258, NULL, 152, 1, BACK_COLOR, TEXT_VALUE, false, NULL, NULL, false },
- { BTN7_BORDER, GO_RECTANGLE, 10, 285, 30, 106, 1, BACK_COLOR, BUTTON_BORDER, false, NULL, NULL, false },
- { BTN7_MENU_TEXT, GO_TEXT, 15, 293, NULL, 96, 1, BACK_COLOR, MENU_TEXT, false, NULL, NULL, false },
- { BTN8_BORDER, GO_RECTANGLE, 125, 285, 30, 107, 1, BACK_COLOR, BUTTON_BORDER, false, NULL, NULL, false },
- { BTN8_MENU_TEXT, GO_TEXT, 130, 293, NULL, 96, 1, BACK_COLOR, MENU_TEXT, false, NULL, NULL, false },
- { BTN9_BORDER, GO_RECTANGLE, 125, 40, 30, 107, 1, BACK_COLOR, BUTTON_BORDER, false, NULL, NULL, false },
- { BTN9_MENU_TEXT, GO_TEXT, 130, 48, NULL, 96, 1, BACK_COLOR, MENU_TEXT, false, NULL, NULL, false },
- { LINE0_TEXT, GO_TEXT, 5, 80, NULL, 232, 1, BACK_COLOR, TEXT_COLOR, false, NULL, NULL, false },
- { LINE1_TEXT, GO_TEXT, 5, 100, NULL, 232, 1, BACK_COLOR, TEXT_COLOR, false, NULL, NULL, false },
- { LINE2_TEXT, GO_TEXT, 5, 120, NULL, 232, 1, BACK_COLOR, TEXT_COLOR, false, NULL, NULL, false },
- { LINE2_COL0_TEXT, GO_TEXT, 5, 120, NULL, 104, 1, BACK_COLOR, TEXT_COLOR, false, NULL, NULL, false },
- { LINE2_COL1_TEXT, GO_TEXT, 110, 120, NULL, 56, 1, BACK_COLOR, TEXT_COLOR, false, NULL, NULL, false },
- { LINE3_TEXT, GO_TEXT, 5, 140, NULL, 232, 1, BACK_COLOR, TEXT_COLOR, false, NULL, NULL, false },
- { LINE3_COL0_TEXT, GO_TEXT, 5, 140, NULL, 104, 1, BACK_COLOR, TEXT_COLOR, false, NULL, NULL, false },
- { LINE3_COL1_TEXT, GO_TEXT, 110, 140, NULL, 56, 1, BACK_COLOR, TEXT_COLOR, false, NULL, NULL, false },
- { LINE3_COL2_TEXT, GO_TEXT, 170, 140, NULL, 64, 1, BACK_COLOR, TEXT_COLOR, false, NULL, NULL, false },
- { LINE4_TEXT, GO_TEXT, 5, 160, NULL, 232, 1, BACK_COLOR, TEXT_COLOR, false, NULL, NULL, false },
- { LINE4_COL0_TEXT, GO_TEXT, 5, 160, NULL, 104, 1, BACK_COLOR, TEXT_COLOR, false, NULL, NULL, false },
- { LINE4_COL1_TEXT, GO_TEXT, 110, 160, NULL, 56, 1, BACK_COLOR, TEXT_VALUE, false, NULL, NULL, false },
- { LINE4_COL2_TEXT, GO_TEXT, 170, 160, NULL, 64, 1, BACK_COLOR, TEXT_VALUE, false, NULL, NULL, false },
- { LINE5_COL0_TEXT, GO_TEXT, 5, 180, NULL, 104, 1, BACK_COLOR, TEXT_COLOR, false, NULL, NULL, false },
- { LINE5_COL1_TEXT, GO_TEXT, 110, 180, NULL, 56, 1, BACK_COLOR, TEXT_VALUE, false, NULL, NULL, false },
- { LINE5_COL2_TEXT, GO_TEXT, 170, 180, NULL, 64, 1, BACK_COLOR, TEXT_VALUE, false, NULL, NULL, false },
- { LINE6_COL0_TEXT, GO_TEXT, 5, 200, NULL, 104, 1, BACK_COLOR, TEXT_COLOR, false, NULL, NULL, false },
- { LINE6_COL1_TEXT, GO_TEXT, 110, 200, NULL, 56, 1, BACK_COLOR, TEXT_VALUE, false, NULL, NULL, false },
- { LINE6_COL2_TEXT, GO_TEXT, 170, 200, NULL, 64, 1, BACK_COLOR, TEXT_VALUE, false, NULL, NULL, false },
- { LINE7_COL0_TEXT, GO_TEXT, 5, 220, NULL, 104, 1, BACK_COLOR, TEXT_COLOR, false, NULL, NULL, false },
- { LINE7_COL1_TEXT, GO_TEXT, 110, 220, NULL, 56, 1, BACK_COLOR, TEXT_VALUE, false, NULL, NULL, false },
- { LINE7_COL2_TEXT, GO_TEXT, 170, 220, NULL, 64, 1, BACK_COLOR, TEXT_VALUE, false, NULL, NULL, false },
- { LINE8_COL0_TEXT, GO_TEXT, 5, 240, NULL, 104, 1, BACK_COLOR, TEXT_COLOR, false, NULL, NULL, false },
- { LINE8_COL1_TEXT, GO_TEXT, 110, 240, NULL, 56, 1, BACK_COLOR, TEXT_VALUE, false, NULL, NULL, false },
- { LINE9_COL0_TEXT, GO_TEXT, 5, 260, NULL, 104, 1, BACK_COLOR, TEXT_COLOR, false, NULL, NULL, false },
- { LINE9_COL1_TEXT, GO_TEXT, 110, 260, NULL, 56, 1, BACK_COLOR, TEXT_VALUE, false, NULL, NULL, false },
- { RNG_DIST_TEXT, GO_TEXT, 63, 75, NULL, 120, 1, BACK_COLOR, TEXT_COLOR, false, NULL, NULL, false },
- { RNG_DIST_CIRCLE, GO_CIRCLE, 175, 270, 10, 10, 1, BACK_COLOR, GRAY1, true, GRAY1, NULL, false },
- { RNG_DS1_TEXT, GO_TEXT, 188, 230, NULL, 40, 1, BACK_COLOR, TEXT_COLOR, false, NULL, NULL, false },
- { RNG_DS2_TEXT, GO_TEXT, 188, 198, NULL, 40, 1, BACK_COLOR, TEXT_COLOR, false, NULL, NULL, false },
- { RNG_DS3_TEXT, GO_TEXT, 188, 166, NULL, 40, 1, BACK_COLOR, TEXT_COLOR, false, NULL, NULL, false },
- { RNG_DS4_TEXT, GO_TEXT, 188, 134, NULL, 40, 1, BACK_COLOR, TEXT_COLOR, false, NULL, NULL, false },
- { RNG_DS5_TEXT, GO_TEXT, 188, 102, NULL, 40, 1, BACK_COLOR, TEXT_COLOR, false, NULL, NULL, false },
- { RNG_DS0_LINE, GO_LINE, 185, 110, 160, 1, 1, BACK_COLOR, CIRCLE_FCOLOR, false, NULL, NULL, false },
- { RNG_DS1_LINE, GO_LINE, 183, 238, 1, 5, 1, BACK_COLOR, CIRCLE_FCOLOR, false, NULL, NULL, false },
- { RNG_DS2_LINE, GO_LINE, 183, 206, 1, 5, 1, BACK_COLOR, CIRCLE_FCOLOR, false, NULL, NULL, false },
- { RNG_DS3_LINE, GO_LINE, 183, 174, 1, 5, 1, BACK_COLOR, CIRCLE_FCOLOR, false, NULL, NULL, false },
- { RNG_DS4_LINE, GO_LINE, 183, 142, 1, 5, 1, BACK_COLOR, CIRCLE_FCOLOR, false, NULL, NULL, false },
- { RNG_DS5_LINE, GO_LINE, 183, 110, 1, 5, 1, BACK_COLOR, CIRCLE_FCOLOR, false, NULL, NULL, false },
- { RNG_MST_SCR, GO_RECTANGLE, 1, 70, 214, 238, 1, BACK_COLOR, BACK_COLOR, false, NULL, NULL, false },
-};
-
-/*!
- * \brief DrawText( ) need char* to display a text. It can display until
- * 3 different texts on the same line. To avoid recursive use of the same
- * ressource, 3 temporary string are declared.
- */
-char StringText[MAX_CHAR_PER_LINE + 1]; // don't forget the /0 (end of string)
-char StringText2[MAX_CHAR_PER_LINE + 1];
-char StringText3[MAX_CHAR_PER_LINE + 1];
-
-/*!
- * \brief Pointer to GPS Data, will be updated when Max7GpsgetData( ) is called.
- */
-GpsStruct *thisGps;
-
-/*!
- * \brief CurrentPage store current displayed page (cf.: list of availlable
- * pages in Menu.h). PeviousPage is used only when navigate through "Radio
- * Config" to be able to restore the page before "Radio Congig", witch can be
- * PingPong, PER or START_PAGE. The goal is to speed menu navigation.
- */
-static uint8_t CurrentPage = START_PAGE;
-static uint8_t PreviousPage = START_PAGE;
-
-/*!
- * \brief In "Radio Config Freq", we can update the central frequency. To avoid
- * keyboard, we use (+) et (-) keys. CurrentFreqBase is the offset to be applied
- * when we increase or decrease the frequency.
- */
-static FreqBase CurrentFreqBase = FB100K;
-
-
-void CheckScreen( void );
-void CheckRefresh( void );
-void DebouncedScreen( void );
-void DrawActiveButton( uint8_t buttonId, uint8_t* text1, uint8_t* text2 );
-void ButtonChangeText( uint8_t buttonId, uint8_t* text1, uint8_t* text2 );
-void RemoveButton( uint8_t buttonId );
-void DrawText( uint8_t lineId, uint8_t* text0, uint8_t* text1, uint8_t* text2 );
-
-
-void MenuInit( void )
-{
- DisplayDriverInit( );
- GraphObjectDraw( &( MenuObjects[PAGE_BORDER] ), NULL, false, false );
- GraphObjectDraw( &( MenuObjects[TITLE_LINE] ), NULL, false, false );
- MenuSetPage( START_PAGE );
- CheckScreenTouch.attach_us( &CheckScreen, 100000 ); // every 100 ms
-
- // Page Utilities only for GPS and proximity sensor :
- CheckPageRefresh.attach_us( &CheckRefresh, 1000000 ); // every 1 s
-}
-
-uint8_t MenuHandler( bool refresh )
-{
- uint8_t graphObjectTouched = 0xFF;
-
- if( ( CheckScreenFlag == true ) && ( Eeprom.EepromData.DemoSettings.RngStatus != RNG_PROCESS ) )
- {
- if( ScreenBeenDebounced == false )
- {
- ScreenBeenDebounced = true;
- CheckScreenFlag = false;
- DebouncedScreenTouch.attach_us( &DebouncedScreen, 150000 ); // every 150 ms
- GraphObjectTouched( MenuObjects, GRAPH_OBJECTS_COUNT, &graphObjectTouched );
- }
- }
- else
- {
- // in the Utilities page, GPS infos must be refresh each second
- if( CurrentPage == PAGE_UTILITIES )
- {
- if( PageRefresh == true )
- {
- PageRefresh = false;
- refresh = true;
- }
- }
- }
-
- if( refresh == true )
- {
- MenuSetPage( CurrentPage );
- }
- else if( ( graphObjectTouched != 0xFF ) || ( refresh == true ) )
- {
- switch( CurrentPage )
- {
- case START_PAGE:
- if( graphObjectTouched == BTN2_BORDER )
- {
- Eeprom.EepromData.DemoSettings.HoldDemo = true;
- if( Eeprom.EepromData.DemoSettings.ModulationType == PACKET_TYPE_RANGING )
- {
- Eeprom.EepromData.DemoSettings.ModulationType = PACKET_TYPE_LORA;
- }
- EepromLoadSettings( ( RadioPacketTypes_t )Eeprom.EepromData.DemoSettings.ModulationType );
- MenuSetPage( PAGE_PING_PONG );
- }
- else if( graphObjectTouched == BTN3_BORDER )
- {
- Eeprom.EepromData.DemoSettings.HoldDemo = true;
- if( Eeprom.EepromData.DemoSettings.ModulationType == PACKET_TYPE_RANGING )
- {
- Eeprom.EepromData.DemoSettings.ModulationType = PACKET_TYPE_LORA;
- }
- EepromLoadSettings( ( RadioPacketTypes_t )Eeprom.EepromData.DemoSettings.ModulationType );
- MenuSetPage( PAGE_PER );
- }
- else if( graphObjectTouched == BTN4_BORDER )
- {
- Eeprom.EepromData.DemoSettings.HoldDemo = true;
- EepromLoadSettings( PACKET_TYPE_RANGING );
- if( Eeprom.EepromData.DemoSettings.Entity == MASTER )
- {
- MenuSetPage( PAGE_RANGING_MASTER );
- }
- else
- {
- MenuSetPage( PAGE_RANGING_SLAVE );
- }
- }
- else if( graphObjectTouched == BTN5_BORDER )
- {
- EepromLoadSettings( ( RadioPacketTypes_t )Eeprom.EepromData.DemoSettings.ModulationType );
- MenuSetPage( PAGE_RADIO_TEST );
- }
- else if( graphObjectTouched == BTN6_BORDER )
- {
- EepromLoadSettings( ( RadioPacketTypes_t )Eeprom.EepromData.DemoSettings.ModulationType );
- MenuSetPage( PAGE_RADIO_PARAM );
- }
- else if( graphObjectTouched == BTN7_BORDER )
- {
- MenuSetPage( PAGE_UTILITIES );
- }
- break;
-
- case PAGE_PING_PONG:
- if( graphObjectTouched == BTN0_BORDER )
- {
- ButtonChangeText( BTN8_BORDER, ( uint8_t* )" START", NULL );
- if( Eeprom.EepromData.DemoSettings.Entity == MASTER )
- {
- Eeprom.EepromData.DemoSettings.Entity = SLAVE;
- ButtonChangeText( BTN0_BORDER, ( uint8_t* )" SLAVE", NULL );
- DrawText( LINE3_COL0_TEXT, NULL, NULL, ( uint8_t* )" " );
- DrawText( LINE4_COL0_TEXT, NULL, NULL, ( uint8_t* )" " );
- DrawText( LINE5_COL0_TEXT, NULL, NULL, ( uint8_t* )" " );
- DrawText( LINE6_COL0_TEXT, NULL, NULL, ( uint8_t* )" " );
- DrawText( LINE7_COL0_TEXT, NULL, NULL, ( uint8_t* )" " );
- }
- else
- {
- Eeprom.EepromData.DemoSettings.Entity = MASTER;
- ButtonChangeText( BTN0_BORDER, ( uint8_t* )" MASTER", NULL );
- DrawText( LINE3_COL0_TEXT, NULL, NULL, ( uint8_t* )"MASTER" );
- }
- Eeprom.EepromData.DemoSettings.HoldDemo = true;
- EepromSaveSettings( DEMO_SETTINGS );
- MenuSetPage( PAGE_PING_PONG );
- }
- else if( graphObjectTouched == BTN7_BORDER )
- {
- StopDemoApplication( );
- Eeprom.EepromData.DemoSettings.HoldDemo = true;
- PreviousPage = START_PAGE; // clear Previous page
- MenuSetPage( START_PAGE );
- }
- else if( graphObjectTouched == BTN8_BORDER )
- {
- if( Eeprom.EepromData.DemoSettings.HoldDemo == true )
- {
- Eeprom.EepromData.DemoSettings.HoldDemo = false;
- ButtonChangeText( BTN8_BORDER, ( uint8_t* )" STOP", NULL );
- Eeprom.EepromData.DemoSettings.CntPacketTx = 0;
- Eeprom.EepromData.DemoSettings.CntPacketRxOK = 0;
- Eeprom.EepromData.DemoSettings.CntPacketRxOKSlave = 0;
- Eeprom.EepromData.DemoSettings.CntPacketRxKO = 0;
- Eeprom.EepromData.DemoSettings.CntPacketRxKOSlave = 0;
- Eeprom.EepromData.DemoSettings.RxTimeOutCount = 0;
- StopDemoApplication( );
- RunDemoApplicationPingPong( );
- }
- else
- {
- Eeprom.EepromData.DemoSettings.HoldDemo = true;
- ButtonChangeText( BTN8_BORDER, ( uint8_t* )" START", NULL );
- StopDemoApplication( );
- wait_ms( 200 ); // debouncing of the touch screen
- }
- }
- else if( graphObjectTouched == BTN9_BORDER )
- {
- Eeprom.EepromData.DemoSettings.HoldDemo = true;
- StopDemoApplication( );
- // "CANCEL" or "OK & SAVE" button of PAGE_RADIO_PARAM use
- // PreviousPage to set next page. Speed up the navigation.
- PreviousPage = PAGE_PING_PONG;
- MenuSetPage( PAGE_RADIO_PARAM );
- }
- else if( refresh == true )
- {
- MenuSetPage( PAGE_PING_PONG );
- }
- break;
-
- case PAGE_PER:
- if( graphObjectTouched == BTN0_BORDER )
- {
- ButtonChangeText( BTN8_BORDER, ( uint8_t* )" START", NULL );
- if( Eeprom.EepromData.DemoSettings.Entity == MASTER )
- {
- Eeprom.EepromData.DemoSettings.Entity = SLAVE;
- ButtonChangeText( BTN0_BORDER, ( uint8_t* )" SLAVE", NULL );
- DrawText( LINE4_COL0_TEXT, ( uint8_t* )"Rx OK", NULL, NULL );
- DrawText( LINE5_COL0_TEXT, ( uint8_t* )"Rx KO", NULL, NULL );
- DrawText( LINE6_COL0_TEXT, ( uint8_t* )"PER", NULL, NULL );
- DrawText( LINE8_COL0_TEXT, ( uint8_t* )"Last Rssi", NULL, NULL );
- DrawText( LINE9_COL0_TEXT, ( uint8_t* )"Last SNR", NULL, NULL );
- }
- else
- {
- Eeprom.EepromData.DemoSettings.Entity = MASTER;
- ButtonChangeText( BTN0_BORDER, ( uint8_t* )" MASTER", NULL );
- DrawText( LINE4_COL0_TEXT, ( uint8_t* )"Transmitted", ( uint8_t* )GetMenuDemoNumSentPacket( ), NULL );
- DrawText( LINE5_COL0_TEXT, ( uint8_t* )" ", ( uint8_t* )" ", NULL );
- DrawText( LINE6_COL0_TEXT, ( uint8_t* )" ", ( uint8_t* )" ", NULL );
- DrawText( LINE8_COL0_TEXT, ( uint8_t* )" ", ( uint8_t* )" ", NULL );
- DrawText( LINE9_COL0_TEXT, ( uint8_t* )" ", ( uint8_t* )" ", NULL );
- }
- Eeprom.EepromData.DemoSettings.HoldDemo = true;
- EepromSaveSettings( DEMO_SETTINGS );
- MenuSetPage( PAGE_PER );
- }
- else if( graphObjectTouched == BTN7_BORDER )
- {
- Eeprom.EepromData.DemoSettings.HoldDemo = true;
- PreviousPage = START_PAGE; // clear Previous page
- MenuSetPage( START_PAGE );
- }
- else if( graphObjectTouched == BTN8_BORDER )
- {
- if( Eeprom.EepromData.DemoSettings.HoldDemo == true )
- {
- Eeprom.EepromData.DemoSettings.HoldDemo = false;
- ButtonChangeText( BTN8_BORDER, ( uint8_t* )" STOP", NULL );
- StopDemoApplication( );
- Eeprom.EepromData.DemoSettings.CntPacketTx = 0;
- Eeprom.EepromData.DemoSettings.CntPacketRxOK = 0;
- Eeprom.EepromData.DemoSettings.CntPacketRxKO = 0;
- Eeprom.EepromData.DemoSettings.RxTimeOutCount = 0;
- RunDemoApplicationPer( );
- }
- else
- {
- Eeprom.EepromData.DemoSettings.HoldDemo = true;
- ButtonChangeText( BTN8_BORDER, ( uint8_t* )" START", NULL );
- StopDemoApplication( );
- wait_ms( 200 ); // debouncing of the touch screen
- }
- }
- else if( graphObjectTouched == BTN9_BORDER )
- {
- Eeprom.EepromData.DemoSettings.HoldDemo = true;
- StopDemoApplication( );
- // "CANCEL" or "OK & SAVE" button of PAGE_RADIO_PARAM use
- // PreviousPage to set next page. Speed up the navigation.
- PreviousPage = PAGE_PER;
- MenuSetPage( PAGE_RADIO_PARAM );
- }
- else if( refresh == true )
- {
- MenuSetPage( PAGE_PER );
- }
- break;
-
- case PAGE_RANGING_MASTER:
- if( graphObjectTouched == BTN0_BORDER )
- {
- Eeprom.EepromData.DemoSettings.Entity = SLAVE;
- ButtonChangeText( BTN0_BORDER, ( uint8_t* )" SLAVE", NULL );
- Eeprom.EepromData.DemoSettings.HoldDemo = true;
- StopDemoApplication( );
- EepromSaveSettings( DEMO_SETTINGS );
- MenuSetPage( PAGE_RANGING_SLAVE );
- }
- else if( graphObjectTouched == BTN7_BORDER )
- {
- StopDemoApplication( );
- Eeprom.EepromData.DemoSettings.HoldDemo = true;
- PreviousPage = START_PAGE; // clear Previous page
- MenuSetPage( START_PAGE );
- }
- else if( graphObjectTouched == BTN8_BORDER )
- {
- if( Eeprom.EepromData.DemoSettings.HoldDemo == true )
- {
- Eeprom.EepromData.DemoSettings.HoldDemo = false;
- ButtonChangeText( BTN8_BORDER, ( uint8_t* )" PROCESS..", NULL );
- }
- else
- {
- Eeprom.EepromData.DemoSettings.HoldDemo = true;
- ButtonChangeText( BTN8_BORDER, ( uint8_t* )" REFRESH", NULL );
- StopDemoApplication( );
- }
- }
- else if( graphObjectTouched == BTN9_BORDER )
- {
- Eeprom.EepromData.DemoSettings.HoldDemo = true;
- // "SETTINGS" button can occure without "START"/"STOP" button
- // also "SETTINGS" should stop the demo
- StopDemoApplication( );
- // "CANCEL" or "OK & SAVE" button of PAGE_RADIO_PARAM use
- // PreviousPage to set next page. Speed up the navigation.
- PreviousPage = PAGE_RANGING_MASTER;
- MenuSetPage( PAGE_RADIO_PARAM );
- }
- else if( graphObjectTouched == RNG_MST_SCR )
- {
- // screen touched .. launch new measure
- if( Eeprom.EepromData.DemoSettings.HoldDemo == true )
- {
- Eeprom.EepromData.DemoSettings.HoldDemo = false;
- ButtonChangeText( BTN8_BORDER, ( uint8_t* )" PROCESS..", NULL );
- }
- else
- {
- Eeprom.EepromData.DemoSettings.HoldDemo = true;
- ButtonChangeText( BTN8_BORDER, ( uint8_t* )" REFRESH", NULL );
- StopDemoApplication( );
- }
- }
- else if( refresh == true )
- {
- MenuSetPage( PAGE_RANGING_MASTER );
- }
- break;
-
- case PAGE_RANGING_SLAVE:
- if( graphObjectTouched == BTN0_BORDER )
- {
- Eeprom.EepromData.DemoSettings.Entity = MASTER;
- ButtonChangeText( BTN0_BORDER, ( uint8_t* )" MASTER", NULL );
- Eeprom.EepromData.DemoSettings.HoldDemo = true;
- StopDemoApplication( );
- EepromSaveSettings( DEMO_SETTINGS );
- MenuSetPage( PAGE_RANGING_MASTER );
- }
- else if( graphObjectTouched == BTN7_BORDER )
- {
- StopDemoApplication( );
- Eeprom.EepromData.DemoSettings.HoldDemo = true;
- PreviousPage = START_PAGE; // clear Previous page
- MenuSetPage( START_PAGE );
- }
- else if( graphObjectTouched == BTN8_BORDER )
- {
- if( Eeprom.EepromData.DemoSettings.HoldDemo == true )
- {
- Eeprom.EepromData.DemoSettings.HoldDemo = false;
- ButtonChangeText( BTN8_BORDER, ( uint8_t* )" STOP", NULL );
- StopDemoApplication( );
- RunDemoApplicationRanging( );
- }
- else
- {
- Eeprom.EepromData.DemoSettings.HoldDemo = true;
- ButtonChangeText( BTN8_BORDER, ( uint8_t* )" START", NULL );
- StopDemoApplication( );
- }
- }
- else if( graphObjectTouched == BTN9_BORDER )
- {
- Eeprom.EepromData.DemoSettings.HoldDemo = true;
- // "SETTINGS" button can occure without "START"/"STOP" button
- // also "SETTINGS" should stop the demo
- StopDemoApplication( );
- // "CANCEL" or "OK & SAVE" button of PAGE_RADIO_PARAM use
- // PreviousPage to set next page. Speed up the navigation.
- PreviousPage = PAGE_RANGING_SLAVE;
- MenuSetPage( PAGE_RADIO_PARAM );
- }
- else if( refresh == true )
- {
- MenuSetPage( PAGE_RANGING_SLAVE );
- }
- break;
-
- case PAGE_RADIO_PARAM:
- if( graphObjectTouched == BTN0_BORDER )
- {
- if( Eeprom.EepromData.DemoSettings.ModulationType == PACKET_TYPE_LORA )
- {
- Eeprom.EepromData.DemoSettings.ModulationType = PACKET_TYPE_FLRC;
- }
- else if( Eeprom.EepromData.DemoSettings.ModulationType == PACKET_TYPE_FLRC )
- {
- Eeprom.EepromData.DemoSettings.ModulationType = PACKET_TYPE_GFSK;
- }
- else if( Eeprom.EepromData.DemoSettings.ModulationType == PACKET_TYPE_GFSK )
- {
- if( PreviousPage == START_PAGE )
- {
- Eeprom.EepromData.DemoSettings.ModulationType = PACKET_TYPE_RANGING;
- }
- else
- {
- Eeprom.EepromData.DemoSettings.ModulationType = PACKET_TYPE_LORA;
- }
- }
- else // PACKET_TYPE_RANGING
- {
- if( PreviousPage == START_PAGE )
- {
- Eeprom.EepromData.DemoSettings.ModulationType = PACKET_TYPE_LORA;
- }
- }
- EepromLoadSettings( ( RadioPacketTypes_t )Eeprom.EepromData.DemoSettings.ModulationType );
- MenuSetPage( PAGE_RADIO_PARAM );
- }
- else if( graphObjectTouched == BTN9_BORDER )
- {
- EepromSetRangingDefaultSettings( );
- EepromLoadSettings( PACKET_TYPE_RANGING );
- ButtonChangeText( BTN3_BORDER, NULL, ( uint8_t* )GetRadioModulationParameters1( ) );
- ButtonChangeText( BTN4_BORDER, NULL, ( uint8_t* )GetRadioModulationParameters2( ) );
- ButtonChangeText( BTN5_BORDER, NULL, ( uint8_t* )GetRadioModulationParameters3( ) );
- }
- else if( graphObjectTouched == BTN1_BORDER )
- {
- MenuSetPage( PAGE_RADIO_PARAM_FREQ );
- }
- else if( graphObjectTouched == BTN2_BORDER )
- {
- Eeprom.EepromData.DemoSettings.TxPower += 1;
- if( Eeprom.EepromData.DemoSettings.TxPower > DEMO_POWER_TX_MAX )
- {
- Eeprom.EepromData.DemoSettings.TxPower = DEMO_POWER_TX_MIN;
- }
- ButtonChangeText( BTN2_BORDER, NULL, ( uint8_t* )GetRadioTxPower( ) );
- }
- else if( graphObjectTouched == BTN3_BORDER )
- {
- if( Eeprom.EepromData.DemoSettings.ModulationType == PACKET_TYPE_LORA )
- {
- if( Eeprom.EepromData.DemoSettings.ModulationParam1 < LORA_SF12 )
- {
- Eeprom.EepromData.DemoSettings.ModulationParam1 = Eeprom.EepromData.DemoSettings.ModulationParam1 + 0x10;
- }
- else
- {
- Eeprom.EepromData.DemoSettings.ModulationParam1 = LORA_SF5;
- }
- }
- else if( Eeprom.EepromData.DemoSettings.ModulationType == PACKET_TYPE_RANGING )
- {
- if( Eeprom.EepromData.DemoSettings.ModulationParam1 < LORA_SF10 )
- {
- Eeprom.EepromData.DemoSettings.ModulationParam1 = Eeprom.EepromData.DemoSettings.ModulationParam1 + 0x10;
- }
- else
- {
- Eeprom.EepromData.DemoSettings.ModulationParam1 = LORA_SF5;
- }
- }
- else if( Eeprom.EepromData.DemoSettings.ModulationType == PACKET_TYPE_FLRC )
- {
- switch( Eeprom.EepromData.DemoSettings.ModulationParam1 )
- {
- case FLRC_BR_1_300_BW_1_2:
- Eeprom.EepromData.DemoSettings.ModulationParam1 = FLRC_BR_1_040_BW_1_2;
- break;
-
- case FLRC_BR_1_040_BW_1_2:
- Eeprom.EepromData.DemoSettings.ModulationParam1 = FLRC_BR_0_650_BW_0_6;
- break;
-
- case FLRC_BR_0_650_BW_0_6:
- Eeprom.EepromData.DemoSettings.ModulationParam1 = FLRC_BR_0_520_BW_0_6;
- break;
-
- case FLRC_BR_0_520_BW_0_6:
- Eeprom.EepromData.DemoSettings.ModulationParam1 = FLRC_BR_0_325_BW_0_3;
- break;
-
- case FLRC_BR_0_325_BW_0_3:
- Eeprom.EepromData.DemoSettings.ModulationParam1 = FLRC_BR_0_260_BW_0_3;
- break;
-
- case FLRC_BR_0_260_BW_0_3:
- Eeprom.EepromData.DemoSettings.ModulationParam1 = FLRC_BR_1_300_BW_1_2;
- break;
- }
- }
- else // PACKET_TYPE_GFSK
- {
- switch( Eeprom.EepromData.DemoSettings.ModulationParam1 )
- {
- case GFSK_BLE_BR_2_000_BW_2_4:
- Eeprom.EepromData.DemoSettings.ModulationParam1 = GFSK_BLE_BR_1_600_BW_2_4;
- break;
-
- case GFSK_BLE_BR_1_600_BW_2_4:
- Eeprom.EepromData.DemoSettings.ModulationParam1 = GFSK_BLE_BR_1_000_BW_2_4;
- break;
-
- case GFSK_BLE_BR_1_000_BW_2_4:
- Eeprom.EepromData.DemoSettings.ModulationParam1 = GFSK_BLE_BR_1_000_BW_1_2;
- break;
-
- case GFSK_BLE_BR_1_000_BW_1_2:
- Eeprom.EepromData.DemoSettings.ModulationParam1 = GFSK_BLE_BR_0_800_BW_2_4;
- break;
-
- case GFSK_BLE_BR_0_800_BW_2_4:
- Eeprom.EepromData.DemoSettings.ModulationParam1 = GFSK_BLE_BR_0_800_BW_1_2;
- break;
-
- case GFSK_BLE_BR_0_800_BW_1_2:
- Eeprom.EepromData.DemoSettings.ModulationParam1 = GFSK_BLE_BR_0_500_BW_1_2;
- break;
-
- case GFSK_BLE_BR_0_500_BW_1_2:
- Eeprom.EepromData.DemoSettings.ModulationParam1 = GFSK_BLE_BR_0_500_BW_0_6;
- break;
-
- case GFSK_BLE_BR_0_500_BW_0_6:
- Eeprom.EepromData.DemoSettings.ModulationParam1 = GFSK_BLE_BR_0_400_BW_1_2;
- break;
-
- case GFSK_BLE_BR_0_400_BW_1_2:
- Eeprom.EepromData.DemoSettings.ModulationParam1 = GFSK_BLE_BR_0_400_BW_0_6;
- break;
-
- case GFSK_BLE_BR_0_400_BW_0_6:
- Eeprom.EepromData.DemoSettings.ModulationParam1 = GFSK_BLE_BR_0_250_BW_0_6;
- break;
-
- case GFSK_BLE_BR_0_250_BW_0_6:
- Eeprom.EepromData.DemoSettings.ModulationParam1 = GFSK_BLE_BR_0_250_BW_0_3;
- break;
-
- case GFSK_BLE_BR_0_250_BW_0_3:
- Eeprom.EepromData.DemoSettings.ModulationParam1 = GFSK_BLE_BR_0_125_BW_0_3;
- break;
-
- case GFSK_BLE_BR_0_125_BW_0_3:
- Eeprom.EepromData.DemoSettings.ModulationParam1 = GFSK_BLE_BR_2_000_BW_2_4;
- break;
- }
- }
- ButtonChangeText( BTN3_BORDER, NULL, ( uint8_t* )GetRadioModulationParameters1( ) );
- }
- else if( graphObjectTouched == BTN4_BORDER )
- {
- if( Eeprom.EepromData.DemoSettings.ModulationType == PACKET_TYPE_LORA )
- {
- switch( Eeprom.EepromData.DemoSettings.ModulationParam2 )
- {
- case LORA_BW_0200:
- Eeprom.EepromData.DemoSettings.ModulationParam2 = LORA_BW_0400;
- break;
-
- case LORA_BW_0400:
- Eeprom.EepromData.DemoSettings.ModulationParam2 = LORA_BW_0800;
- break;
-
- case LORA_BW_0800:
- Eeprom.EepromData.DemoSettings.ModulationParam2 = LORA_BW_1600;
- break;
-
- case LORA_BW_1600:
- Eeprom.EepromData.DemoSettings.ModulationParam2 = LORA_BW_0200;
- break;
- }
- }
- else if( Eeprom.EepromData.DemoSettings.ModulationType == PACKET_TYPE_RANGING )
- {
- switch( Eeprom.EepromData.DemoSettings.ModulationParam2 )
- {
- case LORA_BW_0400:
- Eeprom.EepromData.DemoSettings.ModulationParam2 = LORA_BW_0800;
- break;
-
- case LORA_BW_0800:
- Eeprom.EepromData.DemoSettings.ModulationParam2 = LORA_BW_1600;
- break;
-
- case LORA_BW_1600:
- Eeprom.EepromData.DemoSettings.ModulationParam2 = LORA_BW_0400;
- break;
- }
- }
- else if( Eeprom.EepromData.DemoSettings.ModulationType == PACKET_TYPE_FLRC )
- {
- if( Eeprom.EepromData.DemoSettings.ModulationParam2 < FLRC_CR_1_0 )
- {
- Eeprom.EepromData.DemoSettings.ModulationParam2 = Eeprom.EepromData.DemoSettings.ModulationParam2 + 2;;
- }
- else
- {
- Eeprom.EepromData.DemoSettings.ModulationParam2 = FLRC_CR_1_2;
- }
- }
- else // PACKET_TYPE_GFSK
- {
- if( Eeprom.EepromData.DemoSettings.ModulationParam2 < GFSK_BLE_MOD_IND_4_00 )
- {
- Eeprom.EepromData.DemoSettings.ModulationParam2++;
- }
- else
- {
- Eeprom.EepromData.DemoSettings.ModulationParam2 = GFSK_BLE_MOD_IND_0_35;
- }
- }
- ButtonChangeText( BTN4_BORDER, NULL, ( uint8_t* )GetRadioModulationParameters2( ) );
- }
- else if( graphObjectTouched == BTN5_BORDER )
- {
- if( ( Eeprom.EepromData.DemoSettings.ModulationType == PACKET_TYPE_LORA ) || \
- ( Eeprom.EepromData.DemoSettings.ModulationType == PACKET_TYPE_RANGING ) )
- {
- if( Eeprom.EepromData.DemoSettings.ModulationParam3 < LORA_CR_LI_4_7 )
- {
- Eeprom.EepromData.DemoSettings.ModulationParam3++;
- }
- else
- {
- Eeprom.EepromData.DemoSettings.ModulationParam3 = LORA_CR_4_5;
- }
- }
- else // PACKET_TYPE_GFSK and PACKET_TYPE_FLRC
- {
- if( Eeprom.EepromData.DemoSettings.ModulationParam3 < RADIO_MOD_SHAPING_BT_0_5 )
- {
- Eeprom.EepromData.DemoSettings.ModulationParam3 = Eeprom.EepromData.DemoSettings.ModulationParam3 + 0x10;
- }
- else
- {
- Eeprom.EepromData.DemoSettings.ModulationParam3 = RADIO_MOD_SHAPING_BT_OFF;
- }
- }
- ButtonChangeText( BTN5_BORDER, NULL, ( uint8_t* )GetRadioModulationParameters3( ) );
- }
- else if( graphObjectTouched == BTN6_BORDER )
- {
- if( Eeprom.EepromData.DemoSettings.ModulationType == PACKET_TYPE_LORA )
- {
- if( Eeprom.EepromData.DemoSettings.PacketParam3 < 32 )
- {
- Eeprom.EepromData.DemoSettings.PacketParam3++;
- }
- else if( Eeprom.EepromData.DemoSettings.PacketParam3 <= ( DEMO_GFS_LORA_MAX_PAYLOAD - 8 ) )
- {
- Eeprom.EepromData.DemoSettings.PacketParam3 += 8;
- }
- else
- {
- Eeprom.EepromData.DemoSettings.PacketParam3 = DEMO_MIN_PAYLOAD;
- }
- }
- else if( Eeprom.EepromData.DemoSettings.ModulationType == PACKET_TYPE_FLRC )
- {
- if( Eeprom.EepromData.DemoSettings.PacketParam5 < 32 )
- {
- Eeprom.EepromData.DemoSettings.PacketParam5++;
- }
- else if( Eeprom.EepromData.DemoSettings.PacketParam5 <= ( DEMO_FLRC_MAX_PAYLOAD - 8 ) )
- {
- Eeprom.EepromData.DemoSettings.PacketParam5 += 8;
- }
- else
- {
- Eeprom.EepromData.DemoSettings.PacketParam5 = DEMO_MIN_PAYLOAD;
- }
- }
- else if( Eeprom.EepromData.DemoSettings.ModulationType == PACKET_TYPE_GFSK )
- {
- if( Eeprom.EepromData.DemoSettings.PacketParam5 < 32 )
- {
- Eeprom.EepromData.DemoSettings.PacketParam5++;
- }
- else if( Eeprom.EepromData.DemoSettings.PacketParam5 <= ( DEMO_GFS_LORA_MAX_PAYLOAD - 8 ) )
- {
- Eeprom.EepromData.DemoSettings.PacketParam5 += 8;
- }
- else
- {
- Eeprom.EepromData.DemoSettings.PacketParam5 = DEMO_MIN_PAYLOAD;
- }
- }
- if( Eeprom.EepromData.DemoSettings.ModulationType == PACKET_TYPE_RANGING )
- {
- MenuSetPage( PAGE_RANGING_PARAM );
- }
- else
- {
- ButtonChangeText( BTN6_BORDER, NULL, ( uint8_t* )GetRadioPayloadLength( ) );
- }
- }
- else if( graphObjectTouched == BTN7_BORDER )
- {
- uint8_t modTmp = Eeprom.EepromData.DemoSettings.ModulationType;
-
- EepromMcuReadBuffer( 0, Eeprom.Buffer, EEPROM_BUFFER_SIZE );
- EepromLoadGeneralSettings( );
- EepromLoadSettings( ( RadioPacketTypes_t )modTmp );
- MenuSetPage( PreviousPage );
- }
- else if( graphObjectTouched == BTN8_BORDER )
- {
- switch( Eeprom.EepromData.DemoSettings.ModulationType )
- {
- case PACKET_TYPE_RANGING:
- EepromSaveSettings( RADIO_RANGING_PARAMS );
- break;
-
- case PACKET_TYPE_LORA:
- EepromSaveSettings( RADIO_LORA_PARAMS );
- break;
-
- case PACKET_TYPE_FLRC:
- EepromSaveSettings( RADIO_FLRC_PARAMS );
- break;
-
- case PACKET_TYPE_GFSK:
- EepromSaveSettings( RADIO_GFSK_PARAMS );
- break;
- }
- EepromSaveSettings( DEMO_SETTINGS );
- MenuSetPage( PreviousPage );
- }
- break;
-
- case PAGE_RANGING_PARAM:
- if( graphObjectTouched == BTN1_BORDER )
- {
- Eeprom.EepromData.DemoSettings.RngRequestCount += 5;
- if( Eeprom.EepromData.DemoSettings.RngRequestCount >= DEMO_RNG_CHANNELS_COUNT_MAX )
- {
- Eeprom.EepromData.DemoSettings.RngRequestCount = DEMO_RNG_CHANNELS_COUNT_MIN;
- }
- ButtonChangeText( BTN1_BORDER, NULL, ( uint8_t* )GetRangingRequestCount( ) );
- }
- else if( graphObjectTouched == BTN2_BORDER )
- {
- switch( Eeprom.EepromData.DemoSettings.RngAddress )
- {
- case DEMO_RNG_ADDR_1:
- Eeprom.EepromData.DemoSettings.RngAddress = DEMO_RNG_ADDR_2;
- break;
-
- case DEMO_RNG_ADDR_2:
- Eeprom.EepromData.DemoSettings.RngAddress = DEMO_RNG_ADDR_3;
- break;
-
- case DEMO_RNG_ADDR_3:
- Eeprom.EepromData.DemoSettings.RngAddress = DEMO_RNG_ADDR_4;
- break;
-
- case DEMO_RNG_ADDR_4:
- Eeprom.EepromData.DemoSettings.RngAddress = DEMO_RNG_ADDR_5;
- break;
-
- case DEMO_RNG_ADDR_5:
- Eeprom.EepromData.DemoSettings.RngAddress = DEMO_RNG_ADDR_1;
- break;
- }
- ButtonChangeText( BTN2_BORDER, NULL, ( uint8_t* )GetRangingAddress( ) );
- }
- else if( graphObjectTouched == BTN3_BORDER )
- {
- switch( Eeprom.EepromData.DemoSettings.RngAntenna )
- {
- case DEMO_RNG_ANT_1:
- Eeprom.EepromData.DemoSettings.RngAntenna = DEMO_RNG_ANT_2;
- break;
-
- case DEMO_RNG_ANT_2:
- Eeprom.EepromData.DemoSettings.RngAntenna = DEMO_RNG_ANT_BOTH;
- break;
-
- case DEMO_RNG_ANT_BOTH:
- Eeprom.EepromData.DemoSettings.RngAntenna = DEMO_RNG_ANT_1;
- break;
- }
- ButtonChangeText( BTN3_BORDER, NULL, ( uint8_t* )GetRangingAntenna( ) );
- }
- else if( graphObjectTouched == BTN4_BORDER )
- {
- Eeprom.EepromData.DemoSettings.RngUnit++;
- if( Eeprom.EepromData.DemoSettings.RngUnit > DEMO_RNG_UNIT_SEL_MI )
- {
- Eeprom.EepromData.DemoSettings.RngUnit = DEMO_RNG_UNIT_SEL_M;
- }
- ButtonChangeText( BTN4_BORDER, NULL, ( uint8_t* )GetRangingUnit( ) );
- }
- else if( graphObjectTouched == BTN7_BORDER )
- {
- EepromMcuReadBuffer( 0, Eeprom.Buffer, EEPROM_BUFFER_SIZE );
- EepromLoadGeneralSettings( );
- EepromLoadSettings( PACKET_TYPE_RANGING );
- MenuSetPage( PAGE_RADIO_PARAM );
- }
- else if( graphObjectTouched == BTN8_BORDER )
- {
- EepromSaveSettings( RADIO_RANGING_PARAMS );
- MenuSetPage( PAGE_RADIO_PARAM );
- }
- break;
-
- case PAGE_RADIO_PARAM_FREQ:
- if( graphObjectTouched == BTN0_BORDER )
- {
- Eeprom.EepromData.DemoSettings.Frequency -= CurrentFreqBase;
- if( Eeprom.EepromData.DemoSettings.Frequency < DEMO_CENTRAL_FREQ_MIN )
- {
- Eeprom.EepromData.DemoSettings.Frequency = DEMO_CENTRAL_FREQ_MIN;
- }
- ButtonChangeText( BTN2_BORDER, NULL, ( uint8_t* )GetRadioFrequency( ) );
- }
- else if( graphObjectTouched == BTN1_BORDER )
- {
- switch( CurrentFreqBase )
- {
- case FB1:
- CurrentFreqBase = FB10;
- break;
-
- case FB10:
- CurrentFreqBase = FB100;
- break;
-
- case FB100:
- CurrentFreqBase = FB1K;
- break;
-
- case FB1K:
- CurrentFreqBase = FB10K;
- break;
-
- case FB10K:
- CurrentFreqBase = FB100K;
- break;
-
- case FB100K:
- CurrentFreqBase = FB1M;
- break;
-
- case FB1M:
- CurrentFreqBase = FB10M;
- break;
-
- case FB10M:
- CurrentFreqBase = FB1;
- break;
- }
- ButtonChangeText( BTN1_BORDER, NULL, ( uint8_t* )GetRadioFreqBase( ) );
- }
- else if( graphObjectTouched == BTN3_BORDER )
- {
- Eeprom.EepromData.DemoSettings.Frequency = DEMO_CENTRAL_FREQ_PRESET1;
- MenuSetPage( PAGE_RADIO_PARAM );
- }
- else if( graphObjectTouched == BTN4_BORDER )
- {
- Eeprom.EepromData.DemoSettings.Frequency = DEMO_CENTRAL_FREQ_PRESET2;
- MenuSetPage( PAGE_RADIO_PARAM );
- }
- else if( graphObjectTouched == BTN5_BORDER )
- {
- Eeprom.EepromData.DemoSettings.Frequency = DEMO_CENTRAL_FREQ_PRESET3;
- MenuSetPage( PAGE_RADIO_PARAM );
- }
- else if( graphObjectTouched == BTN7_BORDER )
- {
- memcpy( &( Eeprom.EepromData.DemoSettings.Frequency ), Eeprom.Buffer + APP_FREQ_EEPROM_ADDR, 4 );
- MenuSetPage( PAGE_RADIO_PARAM );
- }
- else if( graphObjectTouched == BTN8_BORDER )
- {
- MenuSetPage( PAGE_RADIO_PARAM );
- }
- else if( graphObjectTouched == BTN9_BORDER )
- {
- Eeprom.EepromData.DemoSettings.Frequency += CurrentFreqBase;
- if( Eeprom.EepromData.DemoSettings.Frequency > DEMO_CENTRAL_FREQ_MAX )
- {
- Eeprom.EepromData.DemoSettings.Frequency = DEMO_CENTRAL_FREQ_MAX;
- }
- ButtonChangeText( BTN2_BORDER, NULL, ( uint8_t* )GetRadioFrequency( ) );
- }
- break;
-
- case PAGE_UTILITIES:
- if( graphObjectTouched == BTN0_BORDER )
- {
- FactoryReset( );
- MenuSetPage( START_PAGE );
- }
- else if( graphObjectTouched == BTN4_BORDER )
- {
- if( Eeprom.EepromData.DemoSettings.RadioPowerMode == USE_LDO )
- {
- Eeprom.EepromData.DemoSettings.RadioPowerMode = USE_DCDC;
- }
- else
- {
- Eeprom.EepromData.DemoSettings.RadioPowerMode = USE_LDO;
- }
- ButtonChangeText( BTN4_BORDER, NULL, ( uint8_t* )GetMenuDemoRadioPowerMode( ) );
- }
- else if( graphObjectTouched == BTN5_BORDER )
- {
- switch( Eeprom.EepromData.DemoSettings.MaxNumPacket )
- {
- case 0:
- Eeprom.EepromData.DemoSettings.MaxNumPacket = 100;
- break;
-
- case 100:
- Eeprom.EepromData.DemoSettings.MaxNumPacket = 200;
- break;
-
- case 200:
- Eeprom.EepromData.DemoSettings.MaxNumPacket = 500;
- break;
-
- case 500:
- Eeprom.EepromData.DemoSettings.MaxNumPacket = 1000;
- break;
-
- case 1000:
- Eeprom.EepromData.DemoSettings.MaxNumPacket = 0;
- break;
- }
- ButtonChangeText( BTN5_BORDER, NULL, ( uint8_t* )GetMenuDemoMaxNumPacket( ) );
- }
- else if( graphObjectTouched == BTN6_BORDER )
- {
- if( Eeprom.EepromData.DemoSettings.AntennaSwitch == 0 )
- {
- Eeprom.EepromData.DemoSettings.AntennaSwitch = 1;
- ButtonChangeText( BTN6_BORDER, NULL, ( uint8_t* )"ANT2" );
- }
- else
- {
- Eeprom.EepromData.DemoSettings.AntennaSwitch = 0;
- ButtonChangeText( BTN6_BORDER, NULL, ( uint8_t* )"ANT1" );
- }
- }
- else if( graphObjectTouched == BTN7_BORDER )
- {
- uint8_t modTmp = Eeprom.EepromData.DemoSettings.ModulationType;
-
- EepromMcuReadBuffer( 0, Eeprom.Buffer, EEPROM_BUFFER_SIZE );
- EepromLoadGeneralSettings( );
- EepromLoadSettings( ( RadioPacketTypes_t )modTmp );
- MenuSetPage( START_PAGE );
- }
- else if( graphObjectTouched == BTN8_BORDER )
- {
- EepromSaveSettings( DEMO_SETTINGS );
- MenuSetPage( START_PAGE );
- }
- else if( refresh == true )
- {
- MenuSetPage( PAGE_UTILITIES );
- }
- break;
-
- case PAGE_RADIO_TEST:
- if( graphObjectTouched == BTN1_BORDER )
- {
- Eeprom.EepromData.DemoSettings.HoldDemo = true;
- MenuSetPage( PAGE_SLEEP_MODE );
- }
- else if( graphObjectTouched == BTN2_BORDER )
- {
- Eeprom.EepromData.DemoSettings.HoldDemo = true;
- MenuSetPage( PAGE_STBY_RC_MODE );
- }
- else if( graphObjectTouched == BTN3_BORDER )
- {
- Eeprom.EepromData.DemoSettings.HoldDemo = true;
- MenuSetPage( PAGE_STBY_XOSC_MODE );
- }
- else if( graphObjectTouched == BTN4_BORDER )
- {
- Eeprom.EepromData.DemoSettings.HoldDemo = true;
- MenuSetPage( PAGE_TX_CW );
- }
- else if( graphObjectTouched == BTN5_BORDER )
- {
- Eeprom.EepromData.DemoSettings.HoldDemo = true;
- MenuSetPage( PAGE_CONT_MODULATION );
- }
- else if( graphObjectTouched == BTN7_BORDER )
- {
- Eeprom.EepromData.DemoSettings.HoldDemo = true;
- MenuSetPage( START_PAGE );
- }
- break;
-
- case PAGE_SLEEP_MODE:
- if( graphObjectTouched == BTN7_BORDER )
- {
- StopDemoApplication( );
- Eeprom.EepromData.DemoSettings.HoldDemo = true;
- PreviousPage = START_PAGE; // clear Previous page
- MenuSetPage( START_PAGE );
- }
- else if( graphObjectTouched == BTN8_BORDER )
- {
- if( Eeprom.EepromData.DemoSettings.HoldDemo == true )
- {
- Eeprom.EepromData.DemoSettings.HoldDemo = false;
- StopDemoApplication( );
- ButtonChangeText( BTN8_BORDER, ( uint8_t* )" STOP", NULL );
- RunDemoSleepMode( );
- }
- else
- {
- Eeprom.EepromData.DemoSettings.HoldDemo = true;
- StopDemoApplication( );
- ButtonChangeText( BTN8_BORDER, ( uint8_t* )" START", NULL );
- MenuSetPage( PAGE_SLEEP_MODE );
- }
- }
- else if( graphObjectTouched == BTN9_BORDER )
- {
- Eeprom.EepromData.DemoSettings.HoldDemo = true;
- // "CANCEL" or "OK & SAVE" button of PAGE_RADIO_PARAM use
- // PreviousPage to set next page. Speed up the navigation.
- PreviousPage = PAGE_SLEEP_MODE;
- MenuSetPage( PAGE_RADIO_PARAM );
- }
- break;
-
- case PAGE_STBY_RC_MODE:
- if( graphObjectTouched == BTN7_BORDER )
- {
- StopDemoApplication( );
- Eeprom.EepromData.DemoSettings.HoldDemo = true;
- PreviousPage = START_PAGE; // clear Previous page
- MenuSetPage( START_PAGE );
- }
- else if( graphObjectTouched == BTN8_BORDER )
- {
- if( Eeprom.EepromData.DemoSettings.HoldDemo == true )
- {
- Eeprom.EepromData.DemoSettings.HoldDemo = false;
- StopDemoApplication( );
- RunDemoStandbyRcMode( );
- ButtonChangeText( BTN8_BORDER, ( uint8_t* )" STOP", NULL );
- }
- else
- {
- Eeprom.EepromData.DemoSettings.HoldDemo = true;
- StopDemoApplication( );
- ButtonChangeText( BTN8_BORDER, ( uint8_t* )" START", NULL );
- }
- }
- else if( graphObjectTouched == BTN9_BORDER )
- {
- Eeprom.EepromData.DemoSettings.HoldDemo = true;
- // "CANCEL" or "OK & SAVE" button of PAGE_RADIO_PARAM use
- // PreviousPage to set next page. Speed up the navigation.
- PreviousPage = PAGE_STBY_RC_MODE;
- MenuSetPage( PAGE_RADIO_PARAM );
- }
- break;
-
- case PAGE_STBY_XOSC_MODE:
- if( graphObjectTouched == BTN7_BORDER )
- {
- StopDemoApplication( );
- Eeprom.EepromData.DemoSettings.HoldDemo = true;
- PreviousPage = START_PAGE; // clear Previous page
- MenuSetPage( START_PAGE );
- }
- else if( graphObjectTouched == BTN8_BORDER )
- {
- if( Eeprom.EepromData.DemoSettings.HoldDemo == true )
- {
- Eeprom.EepromData.DemoSettings.HoldDemo = false;
- StopDemoApplication( );
- RunDemoStandbyXoscMode( );
- ButtonChangeText( BTN8_BORDER, ( uint8_t* )" STOP", NULL );
- }
- else
- {
- Eeprom.EepromData.DemoSettings.HoldDemo = true;
- StopDemoApplication( );
- ButtonChangeText( BTN8_BORDER, ( uint8_t* )" START", NULL );
- }
- }
- else if( graphObjectTouched == BTN9_BORDER )
- {
- Eeprom.EepromData.DemoSettings.HoldDemo = true;
- // "CANCEL" or "OK & SAVE" button of PAGE_RADIO_PARAM use
- // PreviousPage to set next page. Speed up the navigation.
- PreviousPage = PAGE_STBY_XOSC_MODE;
- MenuSetPage( PAGE_RADIO_PARAM );
- }
- break;
-
- case PAGE_TX_CW:
- if( graphObjectTouched == BTN7_BORDER )
- {
- StopDemoApplication( );
- Eeprom.EepromData.DemoSettings.HoldDemo = true;
- PreviousPage = START_PAGE; // clear Previous page
- MenuSetPage( START_PAGE );
- }
- else if( graphObjectTouched == BTN8_BORDER )
- {
- if( Eeprom.EepromData.DemoSettings.HoldDemo == true )
- {
- Eeprom.EepromData.DemoSettings.HoldDemo = false;
- StopDemoApplication( );
- RunDemoTxCw( );
- ButtonChangeText( BTN8_BORDER, ( uint8_t* )" STOP", NULL );
- }
- else
- {
- Eeprom.EepromData.DemoSettings.HoldDemo = true;
- StopDemoApplication( );
- ButtonChangeText( BTN8_BORDER, ( uint8_t* )" START", NULL );
- }
- }
- else if( graphObjectTouched == BTN9_BORDER )
- {
- Eeprom.EepromData.DemoSettings.HoldDemo = true;
- // "CANCEL" or "OK & SAVE" button of PAGE_RADIO_PARAM use
- // PreviousPage to set next page. Speed up the navigation.
- PreviousPage = PAGE_TX_CW;
- MenuSetPage( PAGE_RADIO_PARAM );
- }
- break;
-
- case PAGE_CONT_MODULATION:
- if( graphObjectTouched == BTN7_BORDER )
- {
- StopDemoApplication( );
- Eeprom.EepromData.DemoSettings.HoldDemo = true;
- PreviousPage = START_PAGE; // clear Previous page
- MenuSetPage( START_PAGE );
- }
- else if( graphObjectTouched == BTN8_BORDER )
- {
- if( Eeprom.EepromData.DemoSettings.HoldDemo == true )
- {
- Eeprom.EepromData.DemoSettings.HoldDemo = false;
- StopDemoApplication( );
- RunDemoTxContinuousModulation( );
- ButtonChangeText( BTN8_BORDER, ( uint8_t* )" STOP", NULL );
- }
- else
- {
- Eeprom.EepromData.DemoSettings.HoldDemo = true;
- StopDemoApplication( );
- ButtonChangeText( BTN8_BORDER, ( uint8_t* )" START", NULL );
- }
- }
- else if( graphObjectTouched == BTN9_BORDER )
- {
- Eeprom.EepromData.DemoSettings.HoldDemo = true;
- // "CANCEL" or "OK & SAVE" button of PAGE_RADIO_PARAM use
- // PreviousPage to set next page. Speed up the navigation.
- PreviousPage = PAGE_CONT_MODULATION;
- MenuSetPage( PAGE_RADIO_PARAM );
- }
- break;
- }
- }
- return CurrentPage;
-}
-
-void MenuSetPage( uint8_t page )
-{
- if( page != CurrentPage )
- {
- // remove all button and text (except title, page border and line)
- // and disable all button (touchActive = false).
- GraphObject_t clearRect = { NULL, GO_RECTANGLE, 3, 35, 282, 230, 1, \
- BACK_COLOR, BACK_COLOR, true, BACK_COLOR, \
- NULL, false };
-
- GraphObjectClear( &clearRect, true );
- for( uint8_t i = 0; i < GRAPH_OBJECTS_COUNT; i++ )
- {
- MenuObjects[i].TouchActive = false;
- }
- }
-
- switch( page )
- {
- case START_PAGE:
- DrawText( TITLE_TEXT, ( uint8_t* )" SX1280 Demo Kit", NULL, NULL );
- DisplayDriverDrawLogo( SemtechLogo, 20, 37 );
- DrawActiveButton( BTN2_BORDER, ( uint8_t* )"DEMO Ping Pong", NULL );
- DrawActiveButton( BTN3_BORDER, ( uint8_t* )"DEMO PER FHSS", NULL );
- DrawActiveButton( BTN4_BORDER, ( uint8_t* )"Outdoor ranging demo", NULL );
- DrawActiveButton( BTN5_BORDER, ( uint8_t* )"Radio Test Modes", NULL );
- DrawActiveButton( BTN6_BORDER, ( uint8_t* )"Radio Settings", NULL );
- DrawActiveButton( BTN7_BORDER, ( uint8_t* )"Utilities", NULL );
- CurrentPage = START_PAGE;
- break;
-
- case PAGE_PING_PONG:
- if( CurrentPage == PAGE_PING_PONG )
- {
- if( Eeprom.EepromData.DemoSettings.HoldDemo == true )
- {
- ButtonChangeText( BTN8_BORDER, ( uint8_t* )" START", NULL );
- }
- if( Eeprom.EepromData.DemoSettings.Entity == MASTER )
- {
- DrawText( LINE4_COL0_TEXT, NULL, ( uint8_t* )GetMenuDemoRxOkSlave( ), ( uint8_t* )GetMenuDemoRxOk( ) );
- DrawText( LINE5_COL0_TEXT, NULL, ( uint8_t* )GetMenuDemoRxKoSlave( ), ( uint8_t* )GetMenuDemoRxKo( ) );
- DrawText( LINE6_COL0_TEXT, NULL, ( uint8_t* )GetMenuDemoResultPerCent1( Eeprom.EepromData.DemoSettings.CntPacketRxOKSlave, Eeprom.EepromData.DemoSettings.CntPacketRxOKSlave + Eeprom.EepromData.DemoSettings.CntPacketRxKOSlave ), \
- ( uint8_t* )GetMenuDemoResultPerCent2( Eeprom.EepromData.DemoSettings.CntPacketRxOK, Eeprom.EepromData.DemoSettings.CntPacketRxOK + Eeprom.EepromData.DemoSettings.CntPacketRxKO + Eeprom.EepromData.DemoSettings.RxTimeOutCount ) );
- DrawText( LINE7_COL0_TEXT, NULL, ( uint8_t* )GetMenuDemoResultPerCent1( Eeprom.EepromData.DemoSettings.CntPacketRxKOSlave, Eeprom.EepromData.DemoSettings.CntPacketRxOKSlave + Eeprom.EepromData.DemoSettings.CntPacketRxKOSlave ), \
- ( uint8_t* )GetMenuDemoResultPerCent2( Eeprom.EepromData.DemoSettings.CntPacketRxKO + Eeprom.EepromData.DemoSettings.RxTimeOutCount, Eeprom.EepromData.DemoSettings.CntPacketRxOK + Eeprom.EepromData.DemoSettings.CntPacketRxKO + Eeprom.EepromData.DemoSettings.RxTimeOutCount ) );
- DrawText( LINE8_COL0_TEXT, NULL, ( uint8_t* )GetMenuDemoRssi( ), NULL );
- DrawText( LINE9_COL0_TEXT, NULL, ( uint8_t* )GetMenuDemoSnr( ), NULL );
- }
- else
- {
- DrawText( LINE4_COL0_TEXT, NULL, ( uint8_t* )GetMenuDemoRxOk( ), NULL );
- DrawText( LINE5_COL0_TEXT, NULL, ( uint8_t* )GetMenuDemoRxKo( ), NULL );
- DrawText( LINE6_COL0_TEXT, NULL, ( uint8_t* )GetMenuDemoResultPerCent1( Eeprom.EepromData.DemoSettings.CntPacketRxOK, Eeprom.EepromData.DemoSettings.CntPacketRxOK + Eeprom.EepromData.DemoSettings.CntPacketRxKO + Eeprom.EepromData.DemoSettings.RxTimeOutCount ), NULL );
- DrawText( LINE7_COL0_TEXT, NULL, ( uint8_t* )GetMenuDemoResultPerCent1( Eeprom.EepromData.DemoSettings.CntPacketRxKO + Eeprom.EepromData.DemoSettings.RxTimeOutCount, Eeprom.EepromData.DemoSettings.CntPacketRxOK + Eeprom.EepromData.DemoSettings.CntPacketRxKO + Eeprom.EepromData.DemoSettings.RxTimeOutCount ), NULL );
- DrawText( LINE8_COL0_TEXT, NULL, ( uint8_t* )GetMenuDemoRssi( ), NULL );
- DrawText( LINE9_COL0_TEXT, NULL, ( uint8_t* )GetMenuDemoSnr( ), NULL );
- }
- }
- else
- {
- DrawText( TITLE_TEXT, ( uint8_t* )" PING PONG Demo", NULL, NULL );
- DisplayCurrentRadioParams( PAGE_PING_PONG );
- DrawText( LINE3_COL0_TEXT, ( uint8_t* )GetTotalPackets( ), ( uint8_t* )" SLAVE", NULL );
- DrawText( LINE4_COL0_TEXT, ( uint8_t* )"Rx OK", ( uint8_t* )" 0", NULL );
- DrawText( LINE5_COL0_TEXT, ( uint8_t* )"Rx KO", ( uint8_t* )" 0", NULL );
- DrawText( LINE6_COL0_TEXT, ( uint8_t* )"Rx PSR", ( uint8_t* )" 0.00", NULL );
- DrawText( LINE7_COL0_TEXT, ( uint8_t* )"Rx PER", ( uint8_t* )" 0.00", NULL );
- DrawText( LINE8_COL0_TEXT, ( uint8_t* )"Last Rssi", ( uint8_t* )" 0", NULL );
- DrawText( LINE9_COL0_TEXT, ( uint8_t* )"Last SNR", ( uint8_t* )" 0", NULL );
- if( Eeprom.EepromData.DemoSettings.Entity == MASTER )
- {
- DrawActiveButton( BTN0_BORDER, ( uint8_t* )" MASTER", NULL );
- DrawText( LINE3_COL0_TEXT, NULL, NULL, ( uint8_t* )"MASTER" );
- DrawText( LINE4_COL0_TEXT, NULL, NULL, ( uint8_t* )" 0" );
- DrawText( LINE5_COL0_TEXT, NULL, NULL, ( uint8_t* )" 0" );
- DrawText( LINE6_COL0_TEXT, NULL, NULL, ( uint8_t* )" 0.00" );
- DrawText( LINE7_COL0_TEXT, NULL, NULL, ( uint8_t* )" 0.00" );
- }
- else
- {
- DrawActiveButton( BTN0_BORDER, ( uint8_t* )" SLAVE", NULL );
- }
- DrawActiveButton( BTN7_BORDER, ( uint8_t* )" EXIT", NULL );
- DrawActiveButton( BTN8_BORDER, ( uint8_t* )" START", NULL );
- DrawActiveButton( BTN9_BORDER, ( uint8_t* )" SETTINGS", NULL );
- }
- CurrentPage = PAGE_PING_PONG;
- break;
-
- case PAGE_PER:
- if( CurrentPage == PAGE_PER )
- {
- if( Eeprom.EepromData.DemoSettings.HoldDemo == true )
- {
- ButtonChangeText( BTN8_BORDER, ( uint8_t* )" START", NULL );
- }
- if( Eeprom.EepromData.DemoSettings.Entity == MASTER )
- {
- DrawText( LINE4_COL0_TEXT, NULL, ( uint8_t* )GetMenuDemoNumSentPacket( ), NULL );
- }
- else
- {
- DrawText( LINE4_COL0_TEXT, NULL, ( uint8_t* )GetMenuDemoRxOk( ), NULL );
- DrawText( LINE5_COL0_TEXT, NULL, ( uint8_t* )GetMenuDemoRxKo( ), NULL );
- DrawText( LINE6_COL0_TEXT, NULL, ( uint8_t* )GetMenuDemoResultPerCent1( Eeprom.EepromData.DemoSettings.CntPacketRxKO + Eeprom.EepromData.DemoSettings.RxTimeOutCount, Eeprom.EepromData.DemoSettings.CntPacketRxOK + Eeprom.EepromData.DemoSettings.CntPacketRxKO + Eeprom.EepromData.DemoSettings.RxTimeOutCount ), NULL );
- DrawText( LINE8_COL0_TEXT, NULL, ( uint8_t* )GetMenuDemoRssi( ), NULL );
- DrawText( LINE9_COL0_TEXT, NULL, ( uint8_t* )GetMenuDemoSnr( ), NULL );
- }
- }
- else
- {
- DrawText( TITLE_TEXT, ( uint8_t* )" PER Demo FHSS", NULL, NULL );
- DrawText( LINE3_COL0_TEXT, ( uint8_t* )"Test Total", ( uint8_t* )GetMenuDemoMaxNumPacket( ), NULL );
- DisplayCurrentRadioParams( PAGE_PER );
- if( Eeprom.EepromData.DemoSettings.Entity == MASTER )
- {
- DrawActiveButton( BTN0_BORDER, ( uint8_t* )" MASTER", NULL );
- DrawText( LINE4_COL0_TEXT, ( uint8_t* )"Transmitted", ( uint8_t* )GetMenuDemoNumSentPacket( ), NULL );
- }
- else
- {
- DrawActiveButton( BTN0_BORDER, ( uint8_t* )" SLAVE", NULL );
- DrawText( LINE4_COL0_TEXT, ( uint8_t* )"Rx OK", ( uint8_t* )" 0", NULL );
- DrawText( LINE5_COL0_TEXT, ( uint8_t* )"Rx KO", ( uint8_t* )" 0", NULL );
- DrawText( LINE6_COL0_TEXT, ( uint8_t* )"PER", ( uint8_t* )" 0.00", NULL );
- DrawText( LINE8_COL0_TEXT, ( uint8_t* )"Last Rssi", ( uint8_t* )" 0", NULL );
- DrawText( LINE9_COL0_TEXT, ( uint8_t* )"Last SNR", ( uint8_t* )" 0", NULL );
- }
- DrawActiveButton( BTN7_BORDER, ( uint8_t* )" EXIT", NULL );
- DrawActiveButton( BTN8_BORDER, ( uint8_t* )" START", NULL );
- DrawActiveButton( BTN9_BORDER, ( uint8_t* )" SETTINGS", NULL );
- }
- CurrentPage = PAGE_PER;
- break;
-
- case PAGE_RANGING_MASTER:
- if( CurrentPage == PAGE_RANGING_MASTER )
- {
- if( Eeprom.EepromData.DemoSettings.HoldDemo == true )
- {
- ButtonChangeText( BTN8_BORDER, ( uint8_t* )" REFRESH", NULL );
- }
- // Clear actual distance token
- GraphObjectClear( &( MenuObjects[RNG_DIST_CIRCLE] ), true );
- // update scale of circles
- for( uint8_t i = SCALE_LINE_COUNT; i > 0; i-- )
- {
- sprintf( StringText, "%d", i * ( Eeprom.EepromData.DemoSettings.RngFullScale / SCALE_LINE_COUNT ) );
- DrawText( RNG_DS1_TEXT + i - 1, ( uint8_t* )" ", NULL, NULL );
- DrawText( RNG_DS1_TEXT + i - 1, ( uint8_t* )StringText, NULL, NULL );
- }
- uint16_t DistPixel;
- // Compute position (pixel) of token
- // distance line high is 160px : it's the reference for distance graphical objects (represent full scale)
- DistPixel = ( uint16_t )( Eeprom.EepromData.DemoSettings.RngDistance * 160.0 / Eeprom.EepromData.DemoSettings.RngFullScale );
- MenuObjects[RNG_DIST_CIRCLE].FrontColor = WHITE;
- // Need to change full scale ? yes if dist > fullscale or if dist < fullscale / SCALE_LINE_COUNT
- // fullscale will be updated next time
- if( DistPixel > 160 )
- {
- DistPixel = 160;
- MenuObjects[RNG_DIST_CIRCLE].FrontColor = OBJECT_ERROR;
- Eeprom.EepromData.DemoSettings.RngFullScale = ( uint16_t )ceil( 1.2 * ( Eeprom.EepromData.DemoSettings.RngDistance / SCALE_LINE_COUNT ) ) * SCALE_LINE_COUNT;
- if( Eeprom.EepromData.DemoSettings.RngFullScale > RANGING_FULLSCALE_MAX )
- {
- Eeprom.EepromData.DemoSettings.RngFullScale = RANGING_FULLSCALE_MAX;
- }
- }
- else if( DistPixel < ( 160 / SCALE_LINE_COUNT ) )
- {
- Eeprom.EepromData.DemoSettings.RngFullScale = ( uint16_t )ceil( 1.2 * ( Eeprom.EepromData.DemoSettings.RngDistance / SCALE_LINE_COUNT ) ) * SCALE_LINE_COUNT;
- if( Eeprom.EepromData.DemoSettings.RngFullScale < RANGING_FULLSCALE_MIN )
- {
- Eeprom.EepromData.DemoSettings.RngFullScale = RANGING_FULLSCALE_MIN;
- }
- }
- // Check timeout error
- if( Eeprom.EepromData.DemoSettings.RngStatus != RNG_VALID )
- {
- MenuObjects[RNG_DIST_CIRCLE].FrontColor = OBJECT_ERROR;
- }
- switch( Eeprom.EepromData.DemoSettings.RngUnit )
- {
- case DEMO_RNG_UNIT_SEL_M:
- // Print distance on the top with decimal under 1000
- if( Eeprom.EepromData.DemoSettings.RngDistance >= 1000.0 )
- {
- sprintf( StringText, "Range: %5d m", ( uint16_t )Eeprom.EepromData.DemoSettings.RngDistance );
- sprintf( StringText2, "%6d", ( uint16_t )Eeprom.EepromData.DemoSettings.RngRawDistance );
- }
- else
- {
- sprintf( StringText, "Range: %5.1f m", Eeprom.EepromData.DemoSettings.RngDistance );
- sprintf( StringText2, "%6.1f", Eeprom.EepromData.DemoSettings.RngRawDistance );
- }
- break;
-
- case DEMO_RNG_UNIT_SEL_YD:
- // Print distance on the top with decimal under 1000
- if( Eeprom.EepromData.DemoSettings.RngDistance >= 1000.0 )
- {
- sprintf( StringText, "Range: %5d yd", ( uint16_t )Eeprom.EepromData.DemoSettings.RngDistance );
- sprintf( StringText2, "%6d", ( uint16_t )Eeprom.EepromData.DemoSettings.RngRawDistance );
- }
- else
- {
- sprintf( StringText, "Range: %5.1f yd", Eeprom.EepromData.DemoSettings.RngDistance );
- sprintf( StringText2, "%6.1f", Eeprom.EepromData.DemoSettings.RngRawDistance );
- }
- break;
-
- case DEMO_RNG_UNIT_SEL_MI:
- sprintf( StringText, "Range: %5.2f mi", Eeprom.EepromData.DemoSettings.RngDistance );
- sprintf( StringText2, "%6.1f", Eeprom.EepromData.DemoSettings.RngRawDistance );
- break;
- }
- DrawText( RNG_DIST_TEXT, ( uint8_t* )StringText, NULL, NULL );
- DrawText( LINE5_COL0_TEXT, NULL, ( uint8_t* )StringText2, NULL );
- DrawText( LINE6_COL0_TEXT, NULL, ( uint8_t* )GetMenuDemoNumSentPacket( ), NULL );
- DrawText( LINE7_COL0_TEXT, NULL, ( uint8_t* )GetFrequencyError( ), NULL );
- DrawText( LINE8_COL0_TEXT, NULL, ( uint8_t* )GetRngChannelsOk( ), NULL );
- sprintf( StringText, "%6d", Eeprom.EepromData.DemoSettings.CntPacketRxOKSlave );
- DrawText( LINE9_COL0_TEXT, NULL, ( uint8_t* )StringText, NULL );
-
- // Draw token at its new position. 270 is the absolute px position (y) of distance 0
- MenuObjects[RNG_DIST_CIRCLE].Ypos = 270 - DistPixel;
- GraphObjectDraw( &( MenuObjects[RNG_DIST_CIRCLE] ), NULL, true, false );
- }
- else
- {
- GraphObject_t clearRect = { NULL, GO_RECTANGLE, 1, 284, 35, 238, \
- 1, BACK_COLOR, BACK_COLOR, true, \
- BACK_COLOR, NULL, false };
-
- DrawText( TITLE_TEXT, ( uint8_t* )" Outdoor ranging demo", NULL, NULL );
- DrawActiveButton( BTN0_BORDER, ( uint8_t* )" MASTER", NULL );
- DisplayCurrentRadioParams( PAGE_RANGING_MASTER );
- // Draw lines
- GraphObjectDraw( &( MenuObjects[RNG_DS0_LINE] ), NULL, true, false );
- for( uint8_t i = RNG_DS1_LINE; i <= RNG_DS5_LINE; i++ )
- {
- GraphObjectDraw( &( MenuObjects[i] ), NULL, true, false );
- }
- // Draw around scale of distance
- for( uint8_t i = SCALE_LINE_COUNT; i > 0; i-- )
- {
- sprintf( StringText, "%d", i * ( Eeprom.EepromData.DemoSettings.RngFullScale / SCALE_LINE_COUNT ) );
- GraphObjectDraw( &( MenuObjects[RNG_DS1_LINE + i - 1] ), NULL, false, false );
- DrawText( RNG_DS1_TEXT + i - 1, ( uint8_t* )StringText, NULL, NULL );
- }
- // Clear the area for 2 downstair buttons (7 & 8)
- // { Id, Type, Xpos, Ypos, Height, Width, LineWidth, BackColor, \
- FrontColor, DoFill, FillCol, Source, TouchActive }
- GraphObjectClear( &clearRect, true );
- GraphObjectDraw( &( MenuObjects[PAGE_BORDER] ), NULL, false, false );
- DrawText( RNG_DIST_TEXT, ( uint8_t* )"Range: -----", NULL, NULL );
- DrawText( LINE5_COL0_TEXT, ( uint8_t* )"Raw [m] :", ( uint8_t* )" -----", NULL );
- DrawText( LINE6_COL0_TEXT, ( uint8_t* )"Packet :", ( uint8_t* )GetMenuDemoNumSentPacket( ), NULL );
- DrawText( LINE7_COL0_TEXT, ( uint8_t* )"FEI [Hz] :", ( uint8_t* )GetFrequencyError( ), NULL );
- DrawText( LINE8_COL0_TEXT, ( uint8_t* )"Channel :", ( uint8_t* )GetRngChannelsOk( ), NULL );
-
- DrawActiveButton( BTN7_BORDER, ( uint8_t* )" EXIT", NULL );
- DrawActiveButton( BTN8_BORDER, ( uint8_t* )" START", NULL );
- DrawActiveButton( BTN9_BORDER, ( uint8_t* )" SETTINGS", NULL );
- // draw active rectangle for user touch (like "REFRESH" button)
- GraphObjectDraw( &( MenuObjects[RNG_MST_SCR] ), NULL, false, true );
- }
- CurrentPage = PAGE_RANGING_MASTER;
- break;
-
- case PAGE_RANGING_SLAVE:
- if( CurrentPage == PAGE_RANGING_SLAVE )
- {
- if( Eeprom.EepromData.DemoSettings.HoldDemo == true )
- {
- ButtonChangeText( BTN8_BORDER, ( uint8_t* )" START", NULL );
- }
- DrawText( LINE4_COL0_TEXT, NULL, ( uint8_t* )GetMenuDemoNumSentPacket( ), NULL );
- DrawText( LINE5_COL0_TEXT, NULL, ( uint8_t* )GetFrequencyError( ), NULL );
- DrawText( LINE6_COL0_TEXT, NULL, ( uint8_t* )GetRngChannelsOk( ), NULL );
- sprintf( StringText ," %s", GetRangingAntenna( ) );
- DrawText( LINE7_COL0_TEXT, NULL, ( uint8_t* )StringText, NULL );
- }
- else
- {
- DrawText( TITLE_TEXT, ( uint8_t* )" Outdoor ranging demo", NULL, NULL );
- DisplayCurrentRadioParams( PAGE_RANGING_SLAVE );
- DrawText( LINE4_COL0_TEXT, ( uint8_t* )"Packet :", ( uint8_t* )GetMenuDemoNumSentPacket( ), NULL );
- DrawText( LINE5_COL0_TEXT, ( uint8_t* )"FEI [Hz] :", ( uint8_t* )GetFrequencyError( ), NULL );
- DrawText( LINE6_COL0_TEXT, ( uint8_t* )"Channel :", ( uint8_t* )GetRngChannelsOk( ), NULL );
- sprintf( StringText ," %s", GetRangingAntenna( ) );
- DrawText( LINE7_COL0_TEXT, ( uint8_t* )"Antenna :", ( uint8_t* )StringText, NULL );
- DrawActiveButton( BTN0_BORDER, ( uint8_t* )" SLAVE", NULL );
- DrawActiveButton( BTN7_BORDER, ( uint8_t* )" EXIT", NULL );
- DrawActiveButton( BTN8_BORDER, ( uint8_t* )" START", NULL );
- DrawActiveButton( BTN9_BORDER, ( uint8_t* )" SETTINGS", NULL );
- }
- CurrentPage = PAGE_RANGING_SLAVE;
- break;
-
- case PAGE_RADIO_PARAM:
- if( CurrentPage == PAGE_RADIO_PARAM )
- {
- if( Eeprom.EepromData.DemoSettings.ModulationType == PACKET_TYPE_RANGING )
- {
- if( PreviousPage == START_PAGE )
- {
- ButtonChangeText( BTN0_BORDER, NULL, ( uint8_t* )GetMenuRadioFrameType( ) );
- }
- else
- {
- RemoveButton( BTN0_BORDER );
- }
- DrawActiveButton( BTN6_BORDER, ( uint8_t* )" RANGING SETTINGS", NULL );
- DrawActiveButton( BTN9_BORDER, ( uint8_t* )" BEST SET", NULL );
- }
- else
- {
- DrawActiveButton( BTN0_BORDER, ( uint8_t* )"Mod:", ( uint8_t* )GetMenuRadioFrameType( ) );
- DrawActiveButton( BTN6_BORDER, ( uint8_t* )"Payload:", ( uint8_t* )GetRadioPayloadLength( ) );
- RemoveButton( BTN9_BORDER );
- }
- ButtonChangeText( BTN1_BORDER, NULL, ( uint8_t* )GetRadioFrequency( ) );
- ButtonChangeText( BTN2_BORDER, NULL, ( uint8_t* )GetRadioTxPower( ) );
- ButtonChangeText( BTN3_BORDER, NULL, ( uint8_t* )GetRadioModulationParameters1( ) );
- ButtonChangeText( BTN4_BORDER, NULL, ( uint8_t* )GetRadioModulationParameters2( ) );
- ButtonChangeText( BTN5_BORDER, NULL, ( uint8_t* )GetRadioModulationParameters3( ) );
- }
- else
- {
- DrawText( TITLE_TEXT, ( uint8_t* )" Radio Settings", NULL, NULL );
- if( Eeprom.EepromData.DemoSettings.ModulationType == PACKET_TYPE_RANGING )
- {
- if( PreviousPage == START_PAGE )
- {
- DrawActiveButton( BTN0_BORDER, ( uint8_t* )"Mod:", ( uint8_t* )GetMenuRadioFrameType( ) );
- }
- DrawActiveButton( BTN6_BORDER, ( uint8_t* )" RANGING SETTINGS", NULL );
- DrawActiveButton( BTN9_BORDER, ( uint8_t* )" BEST SET", NULL );
- }
- else
- {
- DrawActiveButton( BTN0_BORDER, ( uint8_t* )"Mod:", ( uint8_t* )GetMenuRadioFrameType( ) );
- DrawActiveButton( BTN6_BORDER, ( uint8_t* )"Payload:", ( uint8_t* )GetRadioPayloadLength( ) );
- }
- DrawActiveButton( BTN1_BORDER, ( uint8_t* )"Freq:", ( uint8_t* )GetRadioFrequency( ) );
- DrawActiveButton( BTN2_BORDER, ( uint8_t* )"Tx Pow:", ( uint8_t* )GetRadioTxPower( ) );
- DrawActiveButton( BTN3_BORDER, ( uint8_t* )"Param 1:", ( uint8_t* )GetRadioModulationParameters1( ) );
- DrawActiveButton( BTN4_BORDER, ( uint8_t* )"Param 2:", ( uint8_t* )GetRadioModulationParameters2( ) );
- DrawActiveButton( BTN5_BORDER, ( uint8_t* )"Param 3:", ( uint8_t* )GetRadioModulationParameters3( ) );
- DrawActiveButton( BTN7_BORDER, ( uint8_t* )" CANCEL", NULL );
- DrawActiveButton( BTN8_BORDER, ( uint8_t* )" OK & SAVE", NULL );
- CurrentPage = PAGE_RADIO_PARAM;
- }
- break;
-
- case PAGE_RANGING_PARAM:
- if( CurrentPage != PAGE_RANGING_PARAM )
- {
- DrawText( TITLE_TEXT, ( uint8_t* )" Settings : Ranging", NULL, NULL );
-
- DrawActiveButton( BTN1_BORDER, ( uint8_t* )"Request:", ( uint8_t* )GetRangingRequestCount( ) );
- DrawActiveButton( BTN2_BORDER, ( uint8_t* )"Address:", ( uint8_t* )GetRangingAddress( ) );
- DrawActiveButton( BTN3_BORDER, ( uint8_t* )"Antenna:", ( uint8_t* )GetRangingAntenna( ) );
- DrawActiveButton( BTN4_BORDER, ( uint8_t* )"Unit:", ( uint8_t* )GetRangingUnit( ) );
- DrawActiveButton( BTN7_BORDER, ( uint8_t* )" CANCEL", NULL );
- DrawActiveButton( BTN8_BORDER, ( uint8_t* )" OK & SAVE", NULL );
- }
- CurrentPage = PAGE_RANGING_PARAM;
- break;
-
- case PAGE_RADIO_PARAM_FREQ:
- if( CurrentPage != PAGE_RADIO_PARAM_FREQ )
- {
- DrawText( TITLE_TEXT, ( uint8_t* )" Radio Settings : Freq", NULL, NULL );
- DrawActiveButton( BTN0_BORDER, ( uint8_t* )" -", NULL );
- DrawActiveButton( BTN1_BORDER, ( uint8_t* )"Step:", ( uint8_t* )GetRadioFreqBase( ) );
- // do not draw boarder for indicate actual frequency (it is not a button)
- ButtonChangeText( BTN2_BORDER, ( uint8_t* )"Freq:", ( uint8_t* )GetRadioFrequency( ) );
- DrawActiveButton( BTN3_BORDER, ( uint8_t* )"Preset1:", ( uint8_t* )GetRadioFreqBasePS1( ) );
- DrawActiveButton( BTN4_BORDER, ( uint8_t* )"Preset2:", ( uint8_t* )GetRadioFreqBasePS2( ) );
- DrawActiveButton( BTN5_BORDER, ( uint8_t* )"Preset3:", ( uint8_t* )GetRadioFreqBasePS3( ) );
- DrawActiveButton( BTN7_BORDER, ( uint8_t* )" CANCEL", NULL );
- DrawActiveButton( BTN8_BORDER, ( uint8_t* )" OK", NULL );
- DrawActiveButton( BTN9_BORDER, ( uint8_t* )" +", NULL );
- }
- CurrentPage = PAGE_RADIO_PARAM_FREQ;
- break;
-
- case PAGE_UTILITIES:
- if( CurrentPage == PAGE_UTILITIES )
- {
- DrawText( LINE1_TEXT, ( uint8_t* )GetGpsTime( ), NULL, NULL );
- DrawText( LINE2_TEXT, ( uint8_t* )GetGpsPos( ), NULL, NULL );
- DrawText( LINE3_TEXT, ( uint8_t* )GetProximityValue( ), NULL, NULL );
- }
- else
- {
- DrawText( TITLE_TEXT, ( uint8_t* )" Utilities", NULL, NULL );
- // FIRMWARE_VERSION is defined in DemoApplication.h
- DrawText( LINE0_TEXT, ( uint8_t* )FIRMWARE_VERSION, NULL, NULL );
- DrawText( LINE1_TEXT, ( uint8_t* )GetGpsTime( ), NULL, NULL );
- DrawText( LINE2_TEXT, ( uint8_t* )GetGpsPos( ), NULL, NULL );
- DrawText( LINE3_TEXT, ( uint8_t* )GetProximityValue( ), NULL, NULL );
- DrawActiveButton( BTN0_BORDER, ( uint8_t* )"Fact. Reset", NULL );
- DrawActiveButton( BTN4_BORDER, ( uint8_t* )"PA Mode:", ( uint8_t* )GetMenuDemoRadioPowerMode( ) );
- DrawActiveButton( BTN5_BORDER, ( uint8_t* )"Packets:", ( uint8_t* )GetMenuDemoMaxNumPacket( ) );
- DrawActiveButton( BTN6_BORDER, ( uint8_t* )"Antenna:", ( uint8_t* )GetAntennaSetting( ) );
- DrawActiveButton( BTN7_BORDER, ( uint8_t* )" CANCEL", NULL );
- DrawActiveButton( BTN8_BORDER, ( uint8_t* )" OK & SAVE", NULL );
- }
- CurrentPage = PAGE_UTILITIES;
- break;
-
- case PAGE_RADIO_TEST:
- DrawText( TITLE_TEXT, ( uint8_t* )" Radio Test Modes", NULL, NULL );
- DrawActiveButton( BTN1_BORDER, ( uint8_t* )" Sleep Mode", NULL );
- DrawActiveButton( BTN2_BORDER, ( uint8_t* )" Standby RC Mode", NULL );
- DrawActiveButton( BTN3_BORDER, ( uint8_t* )" Standby XOSC Mode", NULL );
- DrawActiveButton( BTN4_BORDER, ( uint8_t* )" Set Tx CW", NULL );
- DrawActiveButton( BTN5_BORDER, ( uint8_t* )" Set Cont. Modulation", NULL );
- DrawActiveButton( BTN7_BORDER, ( uint8_t* )" BACK", NULL );
- CurrentPage = PAGE_RADIO_TEST;
- break;
-
- case PAGE_SLEEP_MODE:
- if( CurrentPage != PAGE_UTILITIES )
- {
- DrawText( TITLE_TEXT, ( uint8_t* )" Sleep Mode", NULL, NULL );
- DisplayCurrentRadioParams( PAGE_SLEEP_MODE );
- DrawActiveButton( BTN7_BORDER, ( uint8_t* )" EXIT", NULL );
- DrawActiveButton( BTN8_BORDER, ( uint8_t* )" START", NULL );
- DrawActiveButton( BTN9_BORDER, ( uint8_t* )" SETTINGS", NULL );
- CurrentPage = PAGE_SLEEP_MODE;
- }
- break;
-
- case PAGE_STBY_RC_MODE:
- if( CurrentPage != PAGE_STBY_RC_MODE )
- {
- DrawText( TITLE_TEXT, ( uint8_t* )" Standby RC Mode", NULL, NULL );
- DisplayCurrentRadioParams( PAGE_STBY_RC_MODE );
- DrawActiveButton( BTN7_BORDER, ( uint8_t* )" EXIT", NULL );
- DrawActiveButton( BTN8_BORDER, ( uint8_t* )" START", NULL );
- DrawActiveButton( BTN9_BORDER, ( uint8_t* )" SETTINGS", NULL );
- CurrentPage = PAGE_STBY_RC_MODE;
- }
- break;
-
- case PAGE_STBY_XOSC_MODE:
- if( CurrentPage != PAGE_STBY_XOSC_MODE )
- {
- DrawText( TITLE_TEXT, ( uint8_t* )" Standby XOSC Mode", NULL, NULL );
- DisplayCurrentRadioParams( PAGE_STBY_XOSC_MODE );
- DrawActiveButton( BTN7_BORDER, ( uint8_t* )" EXIT", NULL );
- DrawActiveButton( BTN8_BORDER, ( uint8_t* )" START", NULL );
- DrawActiveButton( BTN9_BORDER, ( uint8_t* )" SETTINGS", NULL );
- CurrentPage = PAGE_STBY_XOSC_MODE;
- }
- break;
-
- case PAGE_TX_CW:
- if( CurrentPage != PAGE_TX_CW )
- {
- DrawText( TITLE_TEXT, ( uint8_t* )" Set Tx CW", NULL, NULL );
- DisplayCurrentRadioParams( PAGE_TX_CW );
- DrawActiveButton( BTN7_BORDER, ( uint8_t* )" EXIT", NULL );
- DrawActiveButton( BTN8_BORDER, ( uint8_t* )" START", NULL );
- DrawActiveButton( BTN9_BORDER, ( uint8_t* )" SETTINGS", NULL );
- CurrentPage = PAGE_TX_CW;
- }
- break;
-
- case PAGE_CONT_MODULATION:
- if( CurrentPage != PAGE_CONT_MODULATION )
- {
- DrawText( TITLE_TEXT, ( uint8_t* )" Set Cont. Modulation", NULL, NULL );
- DisplayCurrentRadioParams( PAGE_CONT_MODULATION );
- DrawActiveButton( BTN7_BORDER, ( uint8_t* )" EXIT", NULL );
- DrawActiveButton( BTN8_BORDER, ( uint8_t* )" START", NULL );
- DrawActiveButton( BTN9_BORDER, ( uint8_t* )" SETTINGS", NULL );
- CurrentPage = PAGE_CONT_MODULATION;
- }
- break;
-
- default:
- break;
- }
-}
-
-void DisplayCurrentRadioParams( uint8_t page )
-{
- switch( page )
- {
- case PAGE_SLEEP_MODE:
- case PAGE_STBY_RC_MODE:
- case PAGE_STBY_XOSC_MODE:
- case PAGE_TX_CW:
- // Do display different without packet settings (no modulation here)
- // 2 + (9) + 4 + (7) + 2 + (4) = 28 (=<28 : ok)
- sprintf( StringText ,"f:%s, P:%s, %s", GetRadioFrequencyGHz( ), \
- GetRadioTxPower( ), GetAntennaSetting( ) );
- DrawText( LINE0_TEXT, ( uint8_t* )StringText, NULL, NULL );
- sprintf( StringText ,"Radio Power Mode: %s", ( uint8_t* )GetMenuDemoRadioPowerMode( ) );
- DrawText( LINE1_TEXT, ( uint8_t* )StringText, NULL, NULL );
- sprintf( StringText ,"Press START to launch test" );
- DrawText( LINE3_TEXT, ( uint8_t* )StringText, NULL, NULL );
- break;
-
- case PAGE_CONT_MODULATION:
- // 2 + (9) + 4 + (7) + 2 + (4) = 28 (=<28 : ok)
- sprintf( StringText ,"f:%s, P:%s, %s", GetRadioFrequencyGHz( ), \
- GetRadioTxPower( ), GetAntennaSetting( ) );
- DrawText( LINE0_TEXT, ( uint8_t* )StringText, NULL, NULL );
- // (7) + 2 + (19) = 28 (=<28 : ok)
- sprintf( StringText ,"%s: %s", GetMenuRadioFrameType( ), \
- GetRadioModulationParameters1( ) );
- DrawText( LINE1_TEXT, ( uint8_t* )StringText, NULL, NULL );
- // (3) + 2 + (10) + 2 + (8) = 25 (=<28 : ok)
- sprintf( StringText ,"%s, %s, %s", GetRadioModulationParameters2( ), \
- GetRadioModulationParameters3( ),
- ( uint8_t* )GetMenuDemoRadioPowerMode( ) );
- DrawText( LINE2_TEXT, ( uint8_t* )StringText, NULL, NULL );
- sprintf( StringText ,"Press START to launch test" );
- DrawText( LINE4_TEXT, ( uint8_t* )StringText, NULL, NULL );
- break;
-
- case PAGE_PING_PONG: // standart display
- case PAGE_PER:
- // 2 + (9) + 4 + (7) + 2 + (4) = 28 (=<28 : ok)
- sprintf( StringText ,"f:%s, P:%s, %s", GetRadioFrequencyGHz( ), \
- GetRadioTxPower( ), GetAntennaSetting( ) );
- DrawText( LINE0_TEXT, ( uint8_t* )StringText, NULL, NULL );
- // (7) + 2 + (19) = 28 (=<28 : ok)
- sprintf( StringText ,"%s: %s", GetMenuRadioFrameType( ), \
- GetRadioModulationParameters1( ) );
- DrawText( LINE1_TEXT, ( uint8_t* )StringText, NULL, NULL );
- // 3 + (3) + 2 + (10) + 2 + (8) = 28 (=<28 : ok)
- sprintf( StringText ,"PL:%s, %s, %s", GetRadioPayloadLength( ), \
- GetRadioModulationParameters2( ), \
- GetRadioModulationParameters3( ) );
- DrawText( LINE2_TEXT, ( uint8_t* )StringText, NULL, NULL );
- break;
-
- case PAGE_RANGING_SLAVE:
- // 2 + (9) + 4 + (7) = 22 (=<28 : ok)
- sprintf( StringText ,"f:%s, P:%s", GetRadioFrequencyGHz( ), \
- GetRadioTxPower( ) );
- DrawText( LINE0_TEXT, ( uint8_t* )StringText, NULL, NULL );
- // (7) + 2 + (19) = 28 (=<28 : ok)
- sprintf( StringText ,"%s: %s", GetMenuRadioFrameType( ), \
- GetRadioModulationParameters1( ) );
- DrawText( LINE1_TEXT, ( uint8_t* )StringText, NULL, NULL );
- // (10) + 2 + (8) = 20 (=<28 : ok)
- sprintf( StringText ,"%s", GetRadioModulationParameters2( ) );
- DrawText( LINE2_TEXT, ( uint8_t* )StringText, NULL, NULL );
- break;
-
- case PAGE_RANGING_MASTER:
- sprintf( StringText ,"f:%s", GetRadioFrequencyGHz( ) );
- DrawText( LINE1_TEXT, ( uint8_t* )StringText, NULL, NULL );
- DrawText( LINE2_COL0_TEXT, ( uint8_t* )"Antenna", ( uint8_t* )GetRangingAntenna( ), NULL );
- sprintf( StringText ,"%s", GetRadioTxPower( ) );
- MenuObjects[LINE3_COL1_TEXT].FrontColor = TEXT_COLOR;
- DrawText( LINE3_COL0_TEXT, ( uint8_t* )"Tx Power", ( uint8_t* )StringText, NULL );
- sprintf( StringText ,"%s", GetRadioModulationParameters2( ) );
- DrawText( LINE4_COL0_TEXT, ( uint8_t* )StringText, NULL, NULL );
- sprintf( StringText ,"%s", GetRadioModulationParameters1( ) );
- MenuObjects[LINE4_COL1_TEXT].FrontColor = TEXT_COLOR;
- DrawText( LINE4_COL1_TEXT, ( uint8_t* )StringText, NULL, NULL );
- MenuObjects[LINE3_COL1_TEXT].FrontColor = TEXT_VALUE;
- MenuObjects[LINE4_COL1_TEXT].FrontColor = TEXT_VALUE;
- break;
- }
-}
-
-char* GetMenuRadioFrameType( void )
-{
- switch( Eeprom.EepromData.DemoSettings.ModulationType )
- {
- case PACKET_TYPE_FLRC: return ( char* )" FLRC";
- case PACKET_TYPE_RANGING: return ( char* )"RANGING";
- case PACKET_TYPE_GFSK: return ( char* )" GFSK";
- case PACKET_TYPE_BLE: return ( char* )" BLE";
- case PACKET_TYPE_LORA:
- default: return ( char* )" LORA";
- }
-}
-
-char* GetRadioModulationParameters1( void )
-{
- if( Eeprom.EepromData.DemoSettings.ModulationType == PACKET_TYPE_FLRC )
- {
- switch( Eeprom.EepromData.DemoSettings.ModulationParam1 )
- {
- case FLRC_BR_1_300_BW_1_2: return ( char* )"1.3 Mbps/BW 1.2 MHz";
- case FLRC_BR_1_040_BW_1_2: return ( char* )"1.0 Mbps/BW 1.2 MHz";
- case FLRC_BR_0_650_BW_0_6: return ( char* )"650 kbps/BW 600 kHz";
- case FLRC_BR_0_520_BW_0_6: return ( char* )"520 kbps/BW 600 kHz";
- case FLRC_BR_0_325_BW_0_3: return ( char* )"325 kbps/BW 300 kHz";
- case FLRC_BR_0_260_BW_0_3: return ( char* )"260 kbps/BW 300 kHz";
- default: return ( char* )"X";
- }
- }
- else if( ( Eeprom.EepromData.DemoSettings.ModulationType == PACKET_TYPE_GFSK ) || \
- ( Eeprom.EepromData.DemoSettings.ModulationType == PACKET_TYPE_BLE ) )
- {
- switch( Eeprom.EepromData.DemoSettings.ModulationParam1 )
- {
- case GFSK_BLE_BR_2_000_BW_2_4: return ( char* )"2.0 Mbps/BW 2.4 MHz";
- case GFSK_BLE_BR_1_600_BW_2_4: return ( char* )"1.6 Mbps/BW 2.4 MHz";
- case GFSK_BLE_BR_1_000_BW_2_4: return ( char* )"1.0 Mbps/BW 2.4 MHz";
- case GFSK_BLE_BR_1_000_BW_1_2: return ( char* )"1.0 Mbps/BW 1.2 MHz";
- case GFSK_BLE_BR_0_800_BW_2_4: return ( char* )"800 kbps/BW 2.4 MHz";
- case GFSK_BLE_BR_0_800_BW_1_2: return ( char* )"800 kbps/BW 1.2 MHz";
- case GFSK_BLE_BR_0_500_BW_1_2: return ( char* )"500 kbps/BW 1.2 MHz";
- case GFSK_BLE_BR_0_500_BW_0_6: return ( char* )"500 kbps/BW 600 kHz";
- case GFSK_BLE_BR_0_400_BW_1_2: return ( char* )"400 kbps/BW 1.2 MHz";
- case GFSK_BLE_BR_0_400_BW_0_6: return ( char* )"400 kbps/BW 600 kHz";
- case GFSK_BLE_BR_0_250_BW_0_6: return ( char* )"250 kbps/BW 600 kHz";
- case GFSK_BLE_BR_0_250_BW_0_3: return ( char* )"250 kbps/BW 300 kHz";
- case GFSK_BLE_BR_0_125_BW_0_3: return ( char* )"125 kbps/BW 300 kHz";
- default: return ( char* )"X";
- }
- }
- else if( ( Eeprom.EepromData.DemoSettings.ModulationType == PACKET_TYPE_LORA ) || \
- ( Eeprom.EepromData.DemoSettings.ModulationType == PACKET_TYPE_RANGING ) )
- {
- switch( Eeprom.EepromData.DemoSettings.ModulationParam1 )
- {
- case LORA_SF5: return ( char* )"SF5";
- case LORA_SF6: return ( char* )"SF6";
- case LORA_SF7: return ( char* )"SF7";
- case LORA_SF8: return ( char* )"SF8";
- case LORA_SF9: return ( char* )"SF9";
- case LORA_SF10: return ( char* )"SF10";
- case LORA_SF11: return ( char* )"SF11";
- case LORA_SF12: return ( char* )"SF12";
- default: return ( char* )"X";
- }
- }
- else
- {
- return ( char* )"";
- }
-}
-
-char* GetRadioModulationParameters2( void )
-{
- if( Eeprom.EepromData.DemoSettings.ModulationType == PACKET_TYPE_FLRC )
- {
- switch( Eeprom.EepromData.DemoSettings.ModulationParam2 )
- {
- case FLRC_CR_1_2: return ( char* )"CR 1/2";
- case FLRC_CR_3_4: return ( char* )"CR 3/4";
- case FLRC_CR_1_0: return ( char* )"CR 1";
- default: return ( char* )"X";
- }
- }
- else if( ( Eeprom.EepromData.DemoSettings.ModulationType == PACKET_TYPE_GFSK ) || \
- ( Eeprom.EepromData.DemoSettings.ModulationType == PACKET_TYPE_BLE ) )
- {
- switch( Eeprom.EepromData.DemoSettings.ModulationParam2 )
- {
- case GFSK_BLE_MOD_IND_0_35: return ( char* )"Mod.i 0.35";
- case GFSK_BLE_MOD_IND_0_50: return ( char* )"Mod.i 0.5";
- case GFSK_BLE_MOD_IND_0_75: return ( char* )"Mod.i 0.75";
- case GFSK_BLE_MOD_IND_1_00: return ( char* )"Mod.i 1";
- case GFSK_BLE_MOD_IND_1_25: return ( char* )"Mod.i 1.25";
- case GFSK_BLE_MOD_IND_1_50: return ( char* )"Mod.i 1.5";
- case GFSK_BLE_MOD_IND_1_75: return ( char* )"Mod.i 1.75";
- case GFSK_BLE_MOD_IND_2_00: return ( char* )"Mod.i 2";
- case GFSK_BLE_MOD_IND_2_25: return ( char* )"Mod.i 2.25";
- case GFSK_BLE_MOD_IND_2_50: return ( char* )"Mod.i 2.50";
- case GFSK_BLE_MOD_IND_2_75: return ( char* )"Mod.i 2.75";
- case GFSK_BLE_MOD_IND_3_00: return ( char* )"Mod.i 3";
- case GFSK_BLE_MOD_IND_3_25: return ( char* )"Mod.i 3.25";
- case GFSK_BLE_MOD_IND_3_50: return ( char* )"Mod.i 3.5";
- case GFSK_BLE_MOD_IND_3_75: return ( char* )"Mod.i 3.75";
- case GFSK_BLE_MOD_IND_4_00: return ( char* )"Mod.i 4";
- default: return ( char* )"X";
- }
- }
- else if( ( Eeprom.EepromData.DemoSettings.ModulationType == PACKET_TYPE_LORA ) || \
- ( Eeprom.EepromData.DemoSettings.ModulationType == PACKET_TYPE_RANGING ) )
- {
- switch( Eeprom.EepromData.DemoSettings.ModulationParam2 )
- {
- case LORA_BW_0200: return ( char* )"BW 200 kHz";
- case LORA_BW_0400: return ( char* )"BW 400 kHz";
- case LORA_BW_0800: return ( char* )"BW 800 kHz";
- case LORA_BW_1600: return ( char* )"BW 1.6 MHz";
- default: return ( char* )"X";
- }
- }
- else
- {
- return ( char* )"";
- }
-}
-
-char* GetRadioModulationParameters3( void )
-{
- if( Eeprom.EepromData.DemoSettings.ModulationType == PACKET_TYPE_FLRC )
- {
- switch( Eeprom.EepromData.DemoSettings.ModulationParam3 )
- {
- case RADIO_MOD_SHAPING_BT_OFF: return ( char* )"BT OFF";
- case RADIO_MOD_SHAPING_BT_1_0: return ( char* )"BT 1";
- case RADIO_MOD_SHAPING_BT_0_5: return ( char* )"BT 0.5";
- default: return ( char* )"X";
- }
- }
- else if( ( Eeprom.EepromData.DemoSettings.ModulationType == PACKET_TYPE_GFSK ) || \
- ( Eeprom.EepromData.DemoSettings.ModulationType == PACKET_TYPE_BLE ) )
- {
- switch( Eeprom.EepromData.DemoSettings.ModulationParam3 )
- {
- case RADIO_MOD_SHAPING_BT_OFF: return ( char* )"BT OFF";
- case RADIO_MOD_SHAPING_BT_1_0: return ( char* )"BT 1";
- case RADIO_MOD_SHAPING_BT_0_5: return ( char* )"BT 0.5";
- default: return ( char* )"X";
- }
- }
- else if( ( Eeprom.EepromData.DemoSettings.ModulationType == PACKET_TYPE_LORA ) || \
- ( Eeprom.EepromData.DemoSettings.ModulationType == PACKET_TYPE_RANGING ) )
- {
- switch( Eeprom.EepromData.DemoSettings.ModulationParam3 )
- {
- case LORA_CR_4_5: return ( char* )"CR 4/5";
- case LORA_CR_4_6: return ( char* )"CR 4/6";
- case LORA_CR_4_7: return ( char* )"CR 4/7";
- case LORA_CR_4_8: return ( char* )"CR 4/8";
- case LORA_CR_LI_4_5: return ( char* )"CRLI 4/5";
- case LORA_CR_LI_4_6: return ( char* )"CRLI 4/6";
- case LORA_CR_LI_4_7: return ( char* )"CRLI 4/7";
- default: return ( char* )"X";
- }
- }
- else
- {
- return ( char* )"";
- }
-}
-
-char* GetRadioFrequency( void )
-{
- sprintf( StringText2, "%lu Hz", \
- ( unsigned long )Eeprom.EepromData.DemoSettings.Frequency );
- return StringText2;
-}
-
-void UpdateRadioFrequency( unsigned long freq )
-{
- sprintf( StringText ,"f:%1d.%03d GHz, P:%s, %s", freq / 1000000000, ( freq / 1000000 ) % 1000, GetRadioTxPower( ), GetAntennaSetting( ) );
- DrawText( LINE0_TEXT, ( uint8_t* )StringText, NULL, NULL );
-}
-
-char* GetRadioFrequencyGHz( void )
-{
- // quicker than using a float (which is not optimized in MBED)
- sprintf( StringText3, "%1d.%03d GHz", \
- Eeprom.EepromData.DemoSettings.Frequency / 1000000000, \
- ( Eeprom.EepromData.DemoSettings.Frequency / 1000000 ) % 1000 );
- return StringText3;
-}
-
-char* GetRadioFreqBase( void )
-{
- switch( CurrentFreqBase )
- {
- case FB1: return ( char* )"1 Hz";
- case FB10: return ( char* )"10 Hz";
- case FB100: return ( char* )"100 Hz";
- case FB1K: return ( char* )"1 kHz";
- case FB10K: return ( char* )"10 kHz";
- case FB100K: return ( char* )"100 kHz";
- case FB1M: return ( char* )"1 MHz";
- case FB10M: return ( char* )"10 MHz";
- default: return ( char* )"X";
- }
-}
-
-char* GetRadioFreqBasePS1( void )
-{
- sprintf( StringText, "%lu Hz", DEMO_CENTRAL_FREQ_PRESET1 );
- return StringText;
-}
-
-char* GetRadioFreqBasePS2( void )
-{
- sprintf( StringText, "%lu Hz", DEMO_CENTRAL_FREQ_PRESET2 );
- return StringText;
-}
-
-char* GetRadioFreqBasePS3( void )
-{
- sprintf( StringText, "%lu Hz", DEMO_CENTRAL_FREQ_PRESET3 );
- return StringText;
-}
-
-char* GetRadioTxPower( void )
-{
- sprintf( StringText2, "%d dBm", Eeprom.EepromData.DemoSettings.TxPower );
- return StringText2;
-}
-
-char* GetRadioPayloadLength( void )
-{
- if( Eeprom.EepromData.DemoSettings.ModulationType == PACKET_TYPE_LORA )
- {
- sprintf( StringText2, "%d", Eeprom.EepromData.DemoSettings.PacketParam3 );
- }
- else // PACKET_TYPE_GFSK, PACKET_TYPE_FLRC
- {
- sprintf( StringText2, "%d", Eeprom.EepromData.DemoSettings.PacketParam5 );
- }
- return StringText2;
-}
-
-char* GetMenuDemoMaxNumPacket( void )
-{
- if( Eeprom.EepromData.DemoSettings.MaxNumPacket == 0 )
- {
- return ( char* )"Infinite";
- }
- else
- {
- sprintf( StringText, "%6d", Eeprom.EepromData.DemoSettings.MaxNumPacket );
- }
- return StringText;
-}
-
-char* GetMenuDemoNumSentPacket( void )
-{
- sprintf( StringText2, "%6d", Eeprom.EepromData.DemoSettings.CntPacketTx );
- return StringText2;
-}
-
-char* GetMenuDemoRxOk( void )
-{
- sprintf( StringText2, "%6lu", \
- ( unsigned long )( Eeprom.EepromData.DemoSettings.CntPacketRxOK ) );
- return StringText2;
-}
-
-char* GetMenuDemoRxKo( void )
-{
- sprintf( StringText2, "%6lu", \
- ( unsigned long )( Eeprom.EepromData.DemoSettings.CntPacketRxKO + \
- Eeprom.EepromData.DemoSettings.RxTimeOutCount ) );
- return StringText2;
-}
-
-char* GetMenuDemoRxOkSlave( void )
-{
- sprintf( StringText3, "%6lu", \
- ( unsigned long )( Eeprom.EepromData.DemoSettings.CntPacketRxOKSlave ) );
- return StringText3;
-}
-
-char* GetMenuDemoResultPerCent1( uint32_t value, uint32_t reference )
-{
- // quicker than using a float (which is not optimized in MBED)
- sprintf( StringText2, "%3d.%02d", \
- ( ( value * 10000 ) / reference ) / 100, \
- ( ( value * 10000 ) / reference ) % 100 );
- return StringText2;
-}
-
-char* GetMenuDemoResultPerCent2( uint32_t value, uint32_t reference )
-{
- // quicker than using a float (which is not optimized in MBED)
- sprintf( StringText3, "%3d.%02d", \
- ( ( value * 10000 ) / reference ) / 100, \
- ( ( value * 10000 ) / reference ) % 100 );
- return StringText3;
-}
-
-char* GetMenuDemoRxKoSlave( void )
-{
- sprintf( StringText3, "%6lu", \
- ( unsigned long )( Eeprom.EepromData.DemoSettings.CntPacketRxKOSlave ) );
- return StringText3;
-}
-
-char* GetMenuDemoRssi( void )
-{
- sprintf( StringText2, "%6d", Eeprom.EepromData.DemoSettings.RssiValue );
- return StringText2;
-}
-
-char* GetMenuDemoSnr( void )
-{
- if( Eeprom.EepromData.DemoSettings.SnrValue >= 0 )
- {
- sprintf( StringText2, " /" );
- }
- else
- {
- sprintf( StringText2, "%6d", Eeprom.EepromData.DemoSettings.SnrValue );
- }
- return StringText2;
-}
-
-char* GetAntennaSetting( void )
-{
- if( Eeprom.EepromData.DemoSettings.AntennaSwitch == 0 )
- {
- return ( char* )"ANT1";
- }
- else
- {
- return ( char* )"ANT2";
- }
-}
-
-char* GetTotalPackets( void )
-{
- if( Eeprom.EepromData.DemoSettings.MaxNumPacket == 0 )
- {
- return ( char* )"Total: Inf.";
- }
- else
- {
- sprintf( StringText, "Total: %5lu", \
- ( unsigned long )( Eeprom.EepromData.DemoSettings.MaxNumPacket ) );
- return StringText;
- }
-}
-
-char* GetGpsTime( void )
-{
- thisGps = Max7GpsgetData( );
- if( ( thisGps->Position.Fixed ) && ( thisGps->Time.Updated ) )
- {
- sprintf( StringText, "GPS: %s.%s.%s %s:%s:%s", thisGps->Time.Year, \
- thisGps->Time.Month, \
- thisGps->Time.Day, \
- thisGps->Time.Hour, \
- thisGps->Time.Minute, \
- thisGps->Time.Second );
- thisGps->Time.Updated = false;
- return StringText;
- }
- else
- {
- return ( char* )"GPS: Satellites searching..";
- }
-}
-
-char* GetGpsPos( void )
-{
- thisGps = Max7GpsgetData( );
- if( thisGps->Position.Fixed )
- {
- sprintf( StringText,"%s, %s", thisGps->Position.Lat, \
- thisGps->Position.Long );
- return StringText;
- }
- else
- {
- return ( char* )"Pos: Satellites searching..";
- }
-}
-
-char* GetProximityValue( void )
-{
- sprintf( StringText,"Proximity : %06d, %06d", \
- SX9306proximityGetReadValue( 1 ), \
- SX9306proximityGetReadValue( 0 ) ); // Left then right
- return StringText;
-}
-
-char* GetMenuDemoRadioPowerMode( void )
-{
- if( Eeprom.EepromData.DemoSettings.RadioPowerMode == USE_LDO )
- {
- return ( char* )" LDO";
- }
- else
- {
- return ( char* )" DCDC";
- }
-}
-
-char* GetFrequencyError( void )
-{
- sprintf( StringText2, "%6d", ( int32_t )Eeprom.EepromData.DemoSettings.RngFei );
- return StringText2;
-}
-
-char* GetRngChannelsOk( void )
-{
- if( Eeprom.EepromData.DemoSettings.Entity == SLAVE )
- {
- Eeprom.EepromData.DemoSettings.CntPacketRxOK /= 2;
- }
- sprintf( StringText2, "%03d/%03d", Eeprom.EepromData.DemoSettings.CntPacketRxOK, Eeprom.EepromData.DemoSettings.RngRequestCount );
- return StringText2;
-}
-
-char* GetRangingRequestCount( void )
-{
- sprintf( StringText2, "%d", Eeprom.EepromData.DemoSettings.RngRequestCount );
- return StringText2;
-}
-
-char* GetRangingAddress( void )
-{
- sprintf( StringText2, "0x%08x", Eeprom.EepromData.DemoSettings.RngAddress );
- return StringText2;
-}
-
-char* GetRangingAntenna( void )
-{
- switch( Eeprom.EepromData.DemoSettings.RngAntenna )
- {
- case DEMO_RNG_ANT_1: return ( char* )"ANT1";
- case DEMO_RNG_ANT_2: return ( char* )"ANT2";
- case DEMO_RNG_ANT_BOTH: return ( char* )"BOTH";
- default: return ( char* )"X";
- }
-}
-
-char* GetRangingUnit( void )
-{
- switch( Eeprom.EepromData.DemoSettings.RngUnit )
- {
- case DEMO_RNG_UNIT_SEL_M: return ( char* )"Meter";
- case DEMO_RNG_UNIT_SEL_YD: return ( char* )"Yard";
- case DEMO_RNG_UNIT_SEL_MI: return ( char* )"Mile";
- default: return ( char* )"X";
- }
-}
-
-void CheckScreen( void )
-{
- CheckScreenFlag = true;
-}
-
-void CheckRefresh( void )
-{
- PageRefresh = true;
-}
-
-void DebouncedScreen (void )
-{
- ScreenBeenDebounced = false;
- DebouncedScreenTouch.detach( );
-}
-
-/*!
- * \brief Draw button
- *
- * \param [in] buttonId Id of the button to draw
- * \param [in] *text1 Text to draw as label
- * \param [in] *text2 Text to draw as value
- */
-void DrawActiveButton( uint8_t buttonId, uint8_t* text1, uint8_t* text2 )
-{
- GraphObjectDraw( &( MenuObjects[buttonId] ), NULL, NULL, true );
- if( text2 == NULL )
- {
- if( text1 != NULL )
- {
- GraphObjectDraw( &( MenuObjects[buttonId + 1] ), text1, NULL, false );
- }
- }
- else
- {
- if( text1 != NULL )
- {
- GraphObjectDraw( &( MenuObjects[buttonId + 2] ), text1, NULL, false );
- }
- GraphObjectDraw( &( MenuObjects[buttonId + 3] ), text2, NULL, false );
- }
-}
-
-void ButtonChangeText( uint8_t buttonId, uint8_t* text1, uint8_t* text2 )
-{
- if( text2 == NULL )
- {
- if( text1 != NULL )
- {
- GraphObjectDraw( &( MenuObjects[buttonId + 1] ), text1, NULL, false );
- }
- }
- else
- {
- if( text1 != NULL )
- {
- GraphObjectDraw( &( MenuObjects[buttonId + 2] ), text1, NULL, false );
- }
- GraphObjectDraw( &( MenuObjects[buttonId + 3] ), text2, NULL, false );
- }
-}
-
-void RemoveButton( uint8_t buttonId )
-{
- GraphObjectClear( &( MenuObjects[buttonId] ), true );
-}
-
-void DrawText( uint8_t lineId, uint8_t* text0, uint8_t* text1, uint8_t* text2 )
-{
- if( text0 != NULL )
- {
- GraphObjectDraw( &( MenuObjects[lineId] ), text0, NULL, false );
- }
- if( text1 != NULL )
- {
- GraphObjectDraw( &( MenuObjects[lineId + 1] ), text1, NULL, false );
- }
- if( text2 != NULL )
- {
- GraphObjectDraw( &( MenuObjects[lineId + 2] ), text2, NULL, false );
- }
-}
--- a/Display/Menu.h Fri Aug 24 08:01:53 2018 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,339 +0,0 @@
-/*
- ______ _
- / _____) _ | |
-( (____ _____ ____ _| |_ _____ ____| |__
- \____ \| ___ | (_ _) ___ |/ ___) _ \
- _____) ) ____| | | || |_| ____( (___| | | |
-(______/|_____)_|_|_| \__)_____)\____)_| |_|
- (C)2016 Semtech
-
-Description: Display demo menus and manage touch sensor, header
-
-Maintainer: Gregory Cristian & Gilbert Menth
-*/
-
-#ifndef MENU_H
-#define MENU_H
-
-
-#include "DisplayDriver.h"
-#include "DmTouchCalibration.h"
-
-
-/*!
- * \brief TFT calibration structure.
- */
-typedef struct
-{
- bool ScreenCalibrated;
- CalibrationMatrix Calibration;
-}MenuSettings_t;
-
-/*!
- * \brief Available pages in menu.
- */
-enum MenuPages
-{
- START_PAGE = 0,
- PAGE_PING_PONG,
- PAGE_PER,
- PAGE_RANGING_MASTER,
- PAGE_RANGING_SLAVE,
- PAGE_RANGING_PARAM,
- PAGE_RADIO_PARAM,
- PAGE_RADIO_PARAM_FREQ,
- PAGE_UTILITIES,
- PAGE_RADIO_TEST,
- PAGE_SLEEP_MODE,
- PAGE_STBY_RC_MODE,
- PAGE_STBY_XOSC_MODE,
- PAGE_TX_CW,
- PAGE_CONT_MODULATION
-};
-
-
-/*!
- * \brief Common var to manage TFT calibration.
- */
-extern MenuSettings_t MenuSettings;
-
-
-/*!
- * \brief Init menu settings.
- */
-void MenuInit( void );
-
-/*!
- * \brief Permanently display Handler for touch sensor.
- *
- * \param [in] refresh Flag indicates refresh display required (touch)
- *
- * \retval CurrentPage The updated current page
- */
-uint8_t MenuHandler( bool refresh );
-
-/*!
- * \brief Update or refresh the activated menu page.
- *
- * \param [in] page Page to display
- */
-void MenuSetPage( uint8_t page );
-
-/*!
- * \brief Writes 3 lines on display, with current radio parameters.
- *
- * \param [in] page Current page to choose what to display.
- */
-void DisplayCurrentRadioParams( uint8_t page );
-
-/*!
- * \brief Return text with current frame type.
- *
- * \retval text Pointer on text to display
- */
-char* GetMenuRadioFrameType( void );
-
-/*!
- * \brief Return text with current Radio Modulation Parameters1.
- *
- * \retval text Pointer on text to display
- */
-char* GetRadioModulationParameters1( void );
-
-/*!
- * \brief Return text with current Radio Modulatio nParameters2.
- *
- * \retval text Pointer on text to display
- */
-char* GetRadioModulationParameters2( void );
-
-/*!
- * \brief Return text with current Radio Modulation Parameters3.
- *
- * \retval text Pointer on text to display
- */
-char* GetRadioModulationParameters3( void );
-
-/*!
- * \brief Return text with current Radio Frequency.
- *
- * \retval text Pointer on text to display
- */
-char* GetRadioFrequency( void );
-/*!
- * \brief Update the radio frequency displayed on the screen.
- *
- * \param [in] freq freq in Hz
- */
-void UpdateRadioFrequency( unsigned long freq );
-
-/*!
- * \brief Return text with current Radio Frequency [GHz] format #.###.
- *
- * \retval text Pointer on text to display
- */
-char* GetRadioFrequencyGHz( void );
-
-/*!
- * \brief Return text with current Radio Freq Base.
- *
- * \retval text Pointer on text to display
- */
-char* GetRadioFreqBase( void );
-
-/*!
- * \brief Return text with Radio preset Frequency 1.
- *
- * \retval text Pointer on text to display
- */
-char* GetRadioFreqBasePS1( void );
-
-/*!
- * \brief Return text with Radio preset Frequency 2.
- *
- * \retval text Pointer on text to display
- */
-char* GetRadioFreqBasePS2( void );
-
-/*!
- * \brief Return text with Radio preset Frequency 3.
- *
- * \retval text Pointer on text to display
- */
-char* GetRadioFreqBasePS3( void );
-
-/*!
- * \brief Return text with current Radio Tx Power.
- *
- * \retval text Pointer on text to display
- */
-char* GetRadioTxPower( void );
-
-/*!
- * \brief Return text with current Radio Payload Length.
- *
- * \retval text Pointer on text to display
- */
-char* GetRadioPayloadLength( void );
-
-/*!
- * \brief Return text with Max Num Packet.
- *
- * \retval text Pointer on text to display
- */
-char* GetMenuDemoMaxNumPacket( void );
-
-/*!
- * \brief Return text with current Demo Num Sent Packet.
- *
- * \retval text Pointer on text to display
- */
-char* GetMenuDemoNumSentPacket( void );
-
-/*!
- * \brief Return text with current Rx frame Ok count.
- *
- * \retval text Pointer on text to display
- */
-char* GetMenuDemoRxOk( void );
-
-/*!
- * \brief Return text with current Rx frame Ko count.
- *
- * \retval text Pointer on text to display
- */
-char* GetMenuDemoRxKo( void );
-
-/*!
- * \brief Return text with current Rx frame Ok (on slave side) count.
- *
- * \retval text Pointer on text to display
- */
-char* GetMenuDemoRxOkSlave( void );
-
-/*!
- * \brief Return text with current Rx frame Ko (on slave side) count.
- *
- * \retval text Pointer on text to display
- */
-char* GetMenuDemoRxKoSlave( void );
-
-/*!
- * \brief Return text with current Result PerCent1, format ###.##.
- *
- * \param [in] value value to compute in [%]
- * \param [in] reference reference value for % computation
- *
- * \retval text Pointer on text to display
- */
-char* GetMenuDemoResultPerCent1( uint32_t value, uint32_t reference );
-
-/*!
- * \brief Return text with current Result PerCent2, format ###.##.
- *
- * \param [in] value value to compute in [%]
- * \param [in] reference reference value for % computation
- *
- * \retval text Pointer on text to display
- */
-char* GetMenuDemoResultPerCent2( uint32_t value, uint32_t reference );
-
-/*!
- * \brief Return text with current Rssi.
- *
- * \retval text Pointer on text to display
- */
-char* GetMenuDemoRssi( void );
-
-/*!
- * \brief Return text with current Snr.
- *
- * \retval text Pointer on text to display
- */
-char* GetMenuDemoSnr( void );
-
-/*!
- * \brief Return text with current Antenna Setting.
- *
- * \retval text Pointer on text to display
- */
-char* GetAntennaSetting( void );
-
-/*!
- * \brief Return text with Total Packet for the test.
- *
- * \retval text Pointer on text to display
- */
-char* GetTotalPackets( void );
-
-/*!
- * \brief Return text with current GPS Time.
- *
- * \retval text Pointer on text to display
- */
-char* GetGpsTime( void );
-
-/*!
- * \brief Return text with current GPS Position.
- *
- * \retval text Pointer on text to display
- */
-char* GetGpsPos( void );
-
-/*!
- * \brief Return text with current Proximity Value.
- *
- * \retval text Pointer on text to display
- */
-char* GetProximityValue( void );
-
-/*!
- * \brief Return text with current Radio Power Mode Value.
- *
- * \retval text Pointer on text to display
- */
-char* GetMenuDemoRadioPowerMode( void );
-
-/*!
- * \brief Return text with current Frequency Error Value.
- *
- * \retval text Pointer on text to display
- */
-char* GetFrequencyError( void );
-
-/*!
- * \brief Return text with current Ranging Channels Successfully Done Value.
- *
- * \retval text Pointer on text to display
- */
-char* GetRngChannelsOk( void );
-
-/*!
- * \brief Return text with current Ranging Request Count Value.
- *
- * \retval text Pointer on text to display
- */
-char* GetRangingRequestCount( void );
-
-/*!
- * \brief Return text with current Ranging Address Value.
- *
- * \retval text Pointer on text to display
- */
-char* GetRangingAddress( void );
-
-/*!
- * \brief Return text with current Ranging Antenna Value.
- *
- * \retval text Pointer on text to display
- */
-char* GetRangingAntenna( void );
-
-/*!
- * \brief Return text with current Ranging Distance Unit.
- *
- * \retval text Pointer on text to display
- */
-char* GetRangingUnit( void );
-
-#endif // MENU_H
--- a/Display/SemtechLogo.c Fri Aug 24 08:01:53 2018 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1171 +0,0 @@
-/********************************************************
-File name: SemtechLogo.c
-File size: 36898
-Convertion date: 04/07/2016 09:36:05
-
-File generated using DisplayModule's Image Converter
-********************************************************/
-
-#if defined (__AVR__)
- #include <avr/pgmspace.h>
- const prog_uchar SemtechLogo[0x9022] PROGMEM ={
-#else
- const unsigned char SemtechLogo[0x9022] ={
-#endif
-
- 0x42, 0x4D, 0x22, 0x90, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x36, 0x0, 0x0, 0x0, 0x28, 0x0, 0x0, 0x0, 0xC9, 0x0, 0x0, 0x0, 0x3D, 0x0, 0x0, 0x0, 0x1, 0x0, 0x18, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0xEC, 0x8F, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xDC, 0xDC, 0xBA, 0xBA, 0xBA, 0xA0, 0xA0, 0xA0, 0x8D, 0x8D, 0x8D, 0x89, 0x89, 0x89, 0x77, 0x77, 0x77, 0x7E, 0x7E, 0x7E,
- 0x8F, 0x8F, 0x8F, 0x94, 0x94, 0x94, 0xA9, 0xA9, 0xA9, 0xC5, 0xC5, 0xC5, 0xEA, 0xEA, 0xEA, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFE, 0xFE, 0xF0, 0xF0, 0xF0, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4,
- 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4,
- 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF2, 0xF2, 0xF2, 0xF4, 0xF4, 0xF4, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0xFA, 0xFA, 0xF1, 0xF1, 0xF1, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4,
- 0xF4, 0xF0, 0xF0, 0xF0, 0xFD, 0xFD, 0xFD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0xF1, 0xF1, 0xF4,
- 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xEF, 0xEF, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xFC, 0xFC, 0xF1, 0xF1, 0xF1, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF0, 0xF0, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0,
- 0xF0, 0xF0, 0xF3, 0xF3, 0xF3, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF1, 0xF1, 0xF1, 0xFB, 0xFB, 0xFB, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xFB, 0xFB, 0xF1, 0xF1, 0xF1, 0xF4, 0xF4,
- 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4,
- 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF2, 0xF2, 0xF2, 0xF5, 0xF5, 0xF5, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0xF8, 0xF8, 0xD2, 0xD2,
- 0xD2, 0xAC, 0xAC, 0xAC, 0x95, 0x95, 0x95, 0x8C, 0x8C, 0x8C, 0x78, 0x78, 0x78, 0x79, 0x79, 0x79, 0x8E, 0x8E, 0x8E, 0x8D, 0x8D, 0x8D, 0xA0, 0xA0, 0xA0, 0xB2, 0xB2, 0xB2, 0xCF, 0xCF, 0xCF, 0xF1,
- 0xF1, 0xF1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0xF1, 0xF1,
- 0xF3, 0xF3, 0xF3, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF1, 0xF1, 0xF1, 0xF9, 0xF9, 0xF9, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xF0, 0xF0, 0xF4, 0xF4, 0xF4, 0xF4,
- 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF0, 0xF0, 0xF0, 0xFF, 0xFF, 0xFF, 0x0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xFD, 0xFD, 0x74, 0x74,
- 0x74, 0x14, 0x14, 0x14, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x20, 0x20, 0x20, 0x7F, 0x7F, 0x7F, 0xFA, 0xFA, 0xFA, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xC8, 0xC8, 0xC8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x1D, 0x1D, 0x1D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x82, 0x82, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0xB6, 0xB6, 0xB6, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0xA5, 0xA5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xAE, 0xAE, 0xAE, 0xFF, 0xFF, 0xFF, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xA8, 0xA8, 0xA8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFB, 0xFB, 0xFB, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x95, 0x95, 0x95, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x99, 0x99, 0x99, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x31, 0x31, 0x31, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xBD, 0xBD, 0xBD, 0x4E, 0x4E, 0x4E, 0x4, 0x4, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x25, 0x25, 0x25, 0x7F, 0x7F, 0x7F, 0xF5, 0xF5, 0xF5, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6E, 0x6E, 0x6E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xDB, 0xDB, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xDD, 0xDD, 0xDD, 0x0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x85, 0x85, 0x85, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x62, 0x62, 0x62, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE,
- 0xCE, 0xCE, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x31, 0x31, 0x31, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x8F, 0x8F, 0x8F, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xBE, 0xBE, 0xBE, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0xB2,
- 0xB2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xA0, 0xA0, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA4, 0xA4, 0xA4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x44, 0x44, 0x44, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xA6, 0xA6, 0xA6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x45, 0x45, 0x45, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7C, 0x7C, 0x7C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0xE0, 0xE0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xE3, 0xE3, 0xE3, 0x0, 0xFF, 0xFF, 0xFF, 0x92, 0x92, 0x92, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x13, 0x13, 0x13, 0x40, 0x40, 0x40, 0x44, 0x44, 0x44, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x22, 0x22, 0x22, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x30, 0x30, 0x30, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0xCE, 0xCE, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1F, 0x1F, 0x1F,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x8F, 0x8F, 0x8F, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xBE, 0xBE, 0xBE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x66, 0x66, 0x66, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x73, 0x73, 0x73, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0xB2, 0xB2, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xA0, 0xA0, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA4, 0xA4, 0xA4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x33, 0x33, 0x33, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x33, 0x33, 0x33,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xA, 0xA,
- 0xA, 0x18, 0x18, 0x18, 0x10, 0x10, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFD, 0xFD, 0xFD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7C, 0x7C, 0x7C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0xE0, 0xE0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0xE3, 0xE3, 0xE3, 0x0, 0xFF, 0xFF, 0xFF, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x16, 0x16,
- 0x16, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x9C, 0x9C, 0x9C, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xC1, 0xC1, 0xC1, 0xFF, 0xFF, 0xFF, 0xCE, 0xCE, 0xCE, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xBE, 0xBE, 0xBE, 0xD0, 0xD0, 0xD0, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD,
- 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCB, 0xCB, 0xCB, 0xD5, 0xD5, 0xD5, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0x8F, 0x8F, 0x8F, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xBE, 0xBE, 0xBE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xE8, 0xE8, 0xE8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xF3, 0xF3, 0xF3, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0xB2, 0xB2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0xA0, 0xA0, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA4, 0xA4, 0xA4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0xD5, 0xD5, 0xD5, 0xCE, 0xCE, 0xCE, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD,
- 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCA, 0xCA, 0xCA, 0xD9, 0xD9, 0xD9, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x21, 0x21, 0x21, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x72, 0x72, 0x72, 0xDD, 0xDD, 0xDD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0xF6, 0xF6, 0x94, 0x94, 0x94, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x2C, 0x2C, 0x2C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x7C, 0x7C, 0x7C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0xE0, 0xE0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xE3, 0xE3,
- 0xE3, 0x0, 0xEA, 0xEA, 0xEA, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xBC, 0xBC, 0xBC, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x75, 0x75, 0x75, 0xFF, 0xFF, 0xFF, 0xCE, 0xCE, 0xCE, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xF5, 0xF5, 0xF5, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x8F, 0x8F,
- 0x8F, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xBE, 0xBE, 0xBE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x2A,
- 0x2A, 0x2A, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x69, 0x69, 0x69, 0x6, 0x6, 0x6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x36, 0x36, 0x36, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0xB2, 0xB2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0xA0, 0xA0, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xA4, 0xA4, 0xA4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x86, 0x86, 0x86, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x2, 0x2, 0xF4, 0xF4, 0xF4, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0xF7, 0xF7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0xF0, 0xF0, 0xF0, 0xFF, 0xFF, 0xFF, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7B, 0x7B,
- 0x7B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xE0, 0xE0, 0xE0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xE3, 0xE3, 0xE3, 0x0, 0xFC, 0xFC,
- 0xFC, 0xE0, 0xE0, 0xE0, 0xE4, 0xE4, 0xE4, 0xE4, 0xE4, 0xE4, 0xE4, 0xE4, 0xE4, 0xE4, 0xE4, 0xE4, 0xE6, 0xE6, 0xE6, 0xE5, 0xE5, 0xE5, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0xF6, 0xF6, 0xCE, 0xCE, 0xCE, 0x88, 0x88, 0x88, 0x10, 0x10, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x89, 0x89, 0x89, 0xFF, 0xFF, 0xFF, 0xCE, 0xCE, 0xCE, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x8F, 0x8F, 0x8F, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xBE, 0xBE, 0xBE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0xB7, 0xB7, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xFF, 0xFF, 0xAA, 0xAA, 0xAA, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0xC2, 0xC2, 0xC2, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0xB2, 0xB2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xA0, 0xA0, 0xA0, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xA4, 0xA4, 0xA4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0xEA, 0xEA, 0xEA, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0xB6, 0xB6, 0xA1, 0xA1, 0xA1, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0x9A, 0x9A, 0x9A, 0xEB,
- 0xEB, 0xEB, 0xFF, 0xFF, 0xFF, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x87, 0x87, 0x87, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0xF3,
- 0xF3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xE3, 0xE3, 0xE3, 0x0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0xEF, 0xEF, 0xB4, 0xB4, 0xB4, 0x85, 0x85, 0x85, 0x5E, 0x5E, 0x5E, 0x36, 0x36, 0x36, 0xE, 0xE,
- 0xE, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0xCE, 0xCE, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x3E, 0x3E, 0x3E, 0x43, 0x43, 0x43, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x3A, 0x3A, 0x3A, 0x78, 0x78, 0x78, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x8F, 0x8F, 0x8F, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xBE, 0xBE, 0xBE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9C, 0x9C, 0x9C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x20, 0x20, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0x6,
- 0x6, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0xB2, 0xB2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFE,
- 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xA0, 0xA0, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA4, 0xA4, 0xA4, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x46, 0x46, 0x46, 0x42, 0x42, 0x42, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x38, 0x38, 0x38, 0x87, 0x87, 0x87, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, 0xE3, 0xE3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2F, 0x2F, 0x2F, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x14, 0x14, 0x14, 0x2E, 0x2E, 0x2E, 0x2A, 0x2A, 0x2A, 0x2A,
- 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2C, 0x2C, 0x2C, 0x26, 0x26, 0x26, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xE3, 0xE3, 0xE3, 0x0, 0xFF, 0xFF, 0xFF, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xA3, 0xA3, 0xA3, 0x38, 0x38, 0x38, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0x4, 0x4, 0xDD, 0xDD,
- 0xDD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0xCE, 0xCE, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x42, 0x42, 0x42, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x8F, 0x8F, 0x8F, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0xBE, 0xBE, 0xBE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7A, 0x7A, 0x7A, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x15,
- 0x15, 0x15, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0xE9, 0xE9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x87, 0x87, 0x87,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0xB2, 0xB2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xA0, 0xA0, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA4, 0xA4, 0xA4, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x57, 0x57, 0x57, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xBD, 0xBD, 0xBD, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x75, 0x75, 0x75, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1, 0x1, 0x1,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xE3, 0xE3, 0xE3, 0x0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC4, 0xC4, 0xC4, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3E, 0x3E, 0x3E, 0xA9, 0xA9, 0xA9, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xCE, 0xCE, 0xCE, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x42, 0x42, 0x42, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x8F, 0x8F, 0x8F, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0xBE, 0xBE, 0xBE, 0xFF, 0xFF, 0xFF, 0xFB, 0xFB, 0xFB, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xCE, 0xCE, 0xCE, 0xFF, 0xFF,
- 0xFF, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x65, 0x65, 0x65, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xB2, 0xB2, 0xB2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xA0, 0xA0, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA4, 0xA4, 0xA4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x57, 0x57, 0x57, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0xBF, 0xBF, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x74, 0x74, 0x74, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xE3, 0xE3, 0xE3, 0x0, 0xFF, 0xFF, 0xFF, 0xDA, 0xDA, 0xDA, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xE, 0xE, 0xE, 0x32, 0x32, 0x32, 0x5B, 0x5B,
- 0x5B, 0x85, 0x85, 0x85, 0xB3, 0xB3, 0xB3, 0xE5, 0xE5, 0xE5, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE,
- 0xCE, 0xCE, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x39, 0x39, 0x39, 0x3D, 0x3D, 0x3D, 0x3C, 0x3C, 0x3C,
- 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x35, 0x35, 0x35, 0x74, 0x74,
- 0x74, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x8F, 0x8F, 0x8F, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xBE, 0xBE, 0xBE, 0xFF,
- 0xFF, 0xFF, 0x3C, 0x3C, 0x3C, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3A, 0x3A, 0x3A, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4D, 0x4D, 0x4D, 0xFF, 0xFF, 0xFF, 0xB2, 0xB2,
- 0xB2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xA0, 0xA0, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA4, 0xA4, 0xA4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x40, 0x40, 0x3D, 0x3D, 0x3D, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C,
- 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x33, 0x33, 0x33, 0x83, 0x83, 0x83, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, 0xEE, 0xEE, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x29, 0x29, 0x29, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x28, 0x28, 0x28, 0x58, 0x58, 0x58, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52,
- 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x55, 0x55, 0x55, 0x49, 0x49, 0x49, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xE3, 0xE3, 0xE3, 0x0, 0xFF, 0xFF, 0xFF, 0x57, 0x57, 0x57, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x16, 0x16, 0x16, 0x83, 0x83, 0x83, 0xC3, 0xC3, 0xC3, 0xF3, 0xF3, 0xF3, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0xCE, 0xCE, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x8F, 0x8F, 0x8F, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xC9, 0xC9, 0xC9, 0xD1, 0xD1, 0xD1, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xF3, 0xF3, 0xF3, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0xB1, 0xB1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xE3, 0xE3, 0xE3, 0xBA, 0xBA, 0xBA, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xA0, 0xA0, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA4, 0xA4, 0xA4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB, 0xB, 0xB, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xCD, 0xCD, 0xCD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0xBF, 0xBF, 0xA6, 0xA6, 0xA6, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9,
- 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0x9D, 0x9D, 0x9D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x85, 0x85, 0x85, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xF0, 0xF0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0xE3, 0xE3, 0xE3, 0x0, 0xFF, 0xFF, 0xFF, 0x52, 0x52, 0x52, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1D, 0x1D,
- 0x1D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, 0xE3, 0xE3, 0x3E, 0x3E, 0x3E, 0x4C,
- 0x4C, 0x4C, 0x4C, 0x4C, 0x4C, 0x4C, 0x4C, 0x4C, 0x4C, 0x4C, 0x4C, 0x4B, 0x4B, 0x4B, 0x3F, 0x3F, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0xCE, 0xCE, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xF8, 0xF8, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0x8F, 0x8F, 0x8F, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xD9, 0xD9, 0xD9, 0x15, 0x15, 0x15, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6C, 0x6C, 0x6C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0x2B, 0x2B, 0x2B, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x22, 0x22, 0x22, 0xCF, 0xCF, 0xCF, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0xA7, 0xA7, 0xA7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA4, 0xA4, 0xA4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA4, 0xA4, 0xA4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xC7, 0xC7, 0xC7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, 0xF2, 0xF2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x7C, 0x7C, 0x7C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0xE0, 0xE0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xE3, 0xE3,
- 0xE3, 0x0, 0xFF, 0xFF, 0xFF, 0xAE, 0xAE, 0xAE, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x97, 0x97, 0x97,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0xE4, 0xE4, 0x16, 0x16, 0x16, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x17, 0x17, 0x17, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0xCE, 0xCE, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x99, 0x99, 0x99, 0xA8, 0xA8, 0xA8, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5,
- 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0x9E, 0x9E, 0x9E, 0xD6, 0xD6, 0xD6, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x8F, 0x8F,
- 0x8F, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x48, 0x48, 0x48, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xF1, 0xF1, 0xF1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4E, 0x4E, 0x4E, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xB9, 0xB9, 0xB9, 0xA1, 0xA1, 0xA1, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5,
- 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA6, 0xA6, 0xA6, 0xAB, 0xAB, 0xAB, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x67, 0x67, 0x67, 0xAD, 0xAD, 0xAD, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA4, 0xA4, 0xA4, 0x9E, 0x9E, 0x9E, 0xFC, 0xFC,
- 0xFC, 0xFF, 0xFF, 0xFF, 0xA4, 0xA4, 0xA4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xAC, 0xAC, 0xAC, 0xA6,
- 0xA6, 0xA6, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5,
- 0xA5, 0xA5, 0xA5, 0x9D, 0x9D, 0x9D, 0xE6, 0xE6, 0xE6, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x47, 0x47, 0x47, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x30, 0x30, 0x30, 0xA7, 0xA7, 0xA7, 0xEF, 0xEF, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xD6, 0xD6, 0xD6, 0x73, 0x73, 0x73, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x5B, 0x5B, 0x5B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7C, 0x7C,
- 0x7C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xE0, 0xE0, 0xE0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xE3, 0xE3, 0xE3, 0x0, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0x3C, 0x3C, 0x3C, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9,
- 0x9, 0x9, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x18, 0x18, 0x18, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xC3, 0xC3, 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0xCE, 0xCE, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x83, 0x83, 0x83, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x8F, 0x8F, 0x8F, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xA3, 0xA3,
- 0xA3, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x6D,
- 0x6D, 0x6D, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0x2D, 0x2D, 0x2D, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xF2, 0xF2, 0xF2, 0xFF, 0xFF, 0xFF,
- 0xA4, 0xA4, 0xA4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0xB0, 0xB0, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x68, 0x68, 0x68, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x27, 0x27, 0x27, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7C, 0x7C, 0x7C, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0xE0,
- 0xE0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xE3, 0xE3, 0xE3, 0x0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0x7F, 0x7F, 0x7F, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xB4,
- 0xB4, 0xB4, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0xCE, 0xCE, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8B, 0x8B, 0x8B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x8F, 0x8F, 0x8F, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x19, 0x19, 0x19, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFE,
- 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0x3B, 0x3B, 0x3B, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xF4, 0xF4, 0xF4, 0xFF, 0xFF, 0xFF, 0xA3, 0xA3, 0xA3, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xB6, 0xB6,
- 0xB6, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xDC, 0xDC, 0x34, 0x34, 0x34, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x90, 0x90, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7C, 0x7C, 0x7C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0xE0, 0xE0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xE3, 0xE3, 0xE3, 0x0, 0xFF, 0xFF, 0xFF, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x9D, 0x9D, 0x9D, 0x3B, 0x3B, 0x3B, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3A, 0x3A, 0x3A, 0x9A, 0x9A, 0x9A, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFE,
- 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xCB, 0xCB, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x87, 0x87, 0x87, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x81, 0x81, 0x81, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xD1, 0xD1, 0xD1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0xB7, 0xB7, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFB, 0xFB, 0xFB, 0xFF, 0xFF,
- 0xFF, 0x24, 0x24, 0x24, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xF0, 0xF0, 0xF0, 0xFF, 0xFF, 0xFF, 0xA0, 0xA0, 0xA0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xB3, 0xB3, 0xB3, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0xF6, 0xF6, 0x96, 0x96, 0x96, 0x46, 0x46, 0x46, 0x6, 0x6, 0x6, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x16, 0x16, 0x16, 0x60, 0x60, 0x60, 0xBC, 0xBC, 0xBC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6C, 0x6C, 0x6C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xDA, 0xDA, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xDC, 0xDC, 0xDC, 0x0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFE, 0xFE, 0xD6, 0xD6, 0xD6, 0xBB, 0xBB, 0xBB, 0xA4, 0xA4, 0xA4, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA5, 0xA5, 0xA5, 0xB2,
- 0xB2, 0xB2, 0xC3, 0xC3, 0xC3, 0xDE, 0xDE, 0xDE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0xE7, 0xE7,
- 0xC8, 0xC8, 0xC8, 0xB6, 0xB6, 0xB6, 0xA4, 0xA4, 0xA4, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA4, 0xA4, 0xA4, 0xB8, 0xB8, 0xB8, 0xCE, 0xCE, 0xCE, 0xF0, 0xF0, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0x0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0xF9, 0xF4, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0xE7, 0xD6, 0xC1, 0xC2, 0x97, 0xCC, 0xCD, 0xA9, 0xCC, 0xCD, 0xAA,
- 0xCC, 0xCD, 0xAA, 0xCC, 0xCD, 0xAA, 0xCC, 0xCD, 0xAA, 0xCC, 0xCD, 0xAA, 0xCC, 0xCD, 0xAA, 0xCC, 0xCD, 0xAA, 0xCC, 0xCD, 0xAA, 0xCA, 0xCB, 0xA6, 0xDA, 0xDC, 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0xB9, 0x86, 0x8B, 0x8E, 0x3C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x8B, 0x8F, 0x3C, 0x4D, 0x51, 0x0, 0x5B, 0x60, 0x0, 0x5B, 0x5F, 0x0, 0x5B,
- 0x5F, 0x0, 0x5B, 0x5F, 0x0, 0x5B, 0x5F, 0x0, 0x5B, 0x5F, 0x0, 0x5B, 0x5F, 0x0, 0x5B, 0x5F, 0x0, 0x55, 0x5A, 0x0, 0x8D, 0x90, 0x3E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0xC3, 0x98, 0x51, 0x57, 0x0, 0x6E, 0x72, 0xB, 0xFB, 0xFB, 0xF8, 0xFF, 0xFF, 0xFF, 0xFE, 0xFE, 0xFF, 0xFE, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA9, 0xAB, 0x6E, 0x57, 0x5B, 0x0, 0x67, 0x6B, 0x0, 0x68, 0x6C, 0x0, 0x67, 0x6C,
- 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x61, 0x65, 0x0, 0x93, 0x96, 0x4C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0xC3, 0x99, 0x5B, 0x61, 0x0, 0x61, 0x67, 0x0, 0x5C, 0x61, 0x0, 0xE8, 0xE7, 0xD7, 0xFF, 0xFF, 0xFF, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA9, 0xAB, 0x6F, 0x57, 0x5D, 0x0, 0x67, 0x6B, 0x1, 0x67, 0x6C, 0x0, 0x66, 0x6C, 0x0,
- 0x66, 0x6C, 0x0, 0x66, 0x6C, 0x0, 0x66, 0x6C, 0x0, 0x60, 0x65, 0x0, 0x93, 0x96, 0x4B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xC2, 0xC3, 0x99, 0x5B, 0x61, 0x0, 0x67, 0x6B, 0x0, 0x65, 0x69, 0x0, 0x55, 0x5A, 0x0, 0xC9, 0xCB, 0xA5, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA2, 0xA4, 0x62, 0x59, 0x5D, 0x0, 0x67, 0x6B, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x66,
- 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x60, 0x65, 0x0, 0x93, 0x96, 0x4B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0xC3, 0x99, 0x5C,
- 0x61, 0x0, 0x66, 0x6C, 0x0, 0x66, 0x6C, 0x0, 0x66, 0x6B, 0x0, 0x56, 0x5A, 0x0, 0xB2, 0xB4, 0x7D, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x93, 0x95, 0x49, 0x5B, 0x60, 0x0, 0x68, 0x6B, 0x0, 0x67, 0x6B, 0x0, 0x66, 0x6C, 0x0, 0x67, 0x6C,
- 0x0, 0x60, 0x65, 0x0, 0x93, 0x96, 0x4B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0xC3, 0x99, 0x5C, 0x61, 0x0, 0x67, 0x6C,
- 0x0, 0x66, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6B, 0x0, 0x58, 0x5C, 0x0, 0x9B, 0x9E, 0x58, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x82, 0x84, 0x2C, 0x60, 0x64, 0x0, 0x67, 0x6B, 0x0, 0x66, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x60, 0x65, 0x0,
- 0x93, 0x96, 0x4B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0xC3, 0x99, 0x5C, 0x61, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0,
- 0x66, 0x6C, 0x0, 0x66, 0x6C, 0x0, 0x66, 0x6B, 0x0, 0x5A, 0x5F, 0x0, 0x8B, 0x8F, 0x3D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x6A, 0x6E, 0x3, 0x63, 0x68, 0x0, 0x66, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x60, 0x65, 0x0, 0x93, 0x96, 0x4B, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0x0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0xC3, 0x99, 0x5C, 0x61, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67,
- 0x6C, 0x0, 0x66, 0x6B, 0x0, 0x67, 0x6C, 0x0, 0x5D, 0x61, 0x0, 0x7E, 0x80, 0x25, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0xF5, 0xEF, 0x5A, 0x5F, 0x0, 0x65, 0x6A, 0x0, 0x66, 0x6B, 0x0, 0x60, 0x65, 0x0, 0x93, 0x96, 0x4B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0xC3, 0x99, 0x5C, 0x61, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x66, 0x6C,
- 0x0, 0x67, 0x6B, 0x0, 0x67, 0x6C, 0x0, 0x5F, 0x63, 0x0, 0x72, 0x76, 0x13, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0xCD, 0xA7, 0x56, 0x5B, 0x0, 0x67, 0x6C, 0x0, 0x60, 0x65, 0x0, 0x93, 0x96, 0x4B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0xC3, 0x99, 0x5C, 0x61, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x66, 0x6C, 0x0,
- 0x66, 0x6C, 0x0, 0x67, 0x6B, 0x1, 0x61, 0x65, 0x0, 0x68, 0x6D, 0x2, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE,
- 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0x87, 0x89, 0x34, 0x61, 0x66, 0x0, 0x60, 0x65, 0x0, 0x93, 0x96, 0x4B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0xC3, 0x99, 0x5C, 0x61, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x66, 0x6C, 0x0, 0x67,
- 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x61, 0x66, 0x0, 0x67, 0x6B, 0x0, 0xFA, 0xFA, 0xF7, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFE, 0xFF, 0xFE, 0xFE,
- 0xFF, 0xFF, 0xFF, 0xFA, 0xFA, 0xF7, 0x5B, 0x5F, 0x0, 0x5F, 0x64, 0x0, 0x94, 0x97, 0x4B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xC2, 0xC3, 0x99, 0x5C, 0x61, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x66, 0x6C, 0x0, 0x66, 0x6C,
- 0x0, 0x67, 0x6C, 0x0, 0x63, 0x67, 0x0, 0x60, 0x65, 0x0, 0xF6, 0xF7, 0xF1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xAB, 0xAD, 0x71, 0x57, 0x5C, 0x0, 0x94, 0x97, 0x4C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0xC3, 0x99, 0x5C,
- 0x61, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x66, 0x6C, 0x0, 0x67, 0x6C, 0x0,
- 0x67, 0x6C, 0x1, 0x63, 0x68, 0x0, 0x5E, 0x62, 0x0, 0xFB, 0xFB, 0xF9, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0x55, 0x59, 0x0, 0x93, 0x97, 0x4A, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0xC3, 0x99, 0x5C, 0x61, 0x0, 0x67, 0x6C,
- 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x66, 0x6C, 0x0, 0x66, 0x6C, 0x0, 0x66,
- 0x6C, 0x0, 0x62, 0x66, 0x0, 0x6B, 0x6F, 0x6, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0xA2, 0x5E,
- 0x8C, 0x8F, 0x3D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0xC3, 0x99, 0x5C, 0x61, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0,
- 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x66, 0x6C, 0x0, 0x68, 0x6B,
- 0x1, 0x5C, 0x61, 0x0, 0xA1, 0xA4, 0x62, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0xEE, 0xE0, 0x85, 0x89, 0x33, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0x0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0xC3, 0x99, 0x5C, 0x61, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67,
- 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x66, 0x6C, 0x0, 0x67, 0x6B, 0x0, 0x66, 0x6B, 0x0,
- 0x57, 0x5C, 0x0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA3, 0xA5, 0x64, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0xC3, 0x99, 0x5C, 0x61, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C,
- 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x66, 0x6C, 0x0, 0x66, 0x6B, 0x0, 0x5B, 0x5F, 0x0, 0xCA,
- 0xCC, 0xA8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0xD7, 0xBB, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0xC3, 0x99, 0x5C, 0x61, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0,
- 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x66, 0x6B, 0x0, 0x5B, 0x60, 0x0, 0xC2, 0xC4, 0x9A, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0xFA, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0xC3, 0x99, 0x5C, 0x61, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x66, 0x6C, 0x0, 0x66, 0x6C, 0x0, 0x66, 0x6C, 0x0, 0x66, 0x6C, 0x0, 0x66,
- 0x6C, 0x0, 0x66, 0x6B, 0x0, 0x66, 0x6C, 0x0, 0x66, 0x6C, 0x0, 0x66, 0x6C, 0x0, 0x66, 0x6C, 0x0, 0x66, 0x6B, 0x0, 0x53, 0x58, 0x0, 0xF1, 0xF2, 0xE8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xC2, 0xC3, 0x99, 0x5C, 0x61, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x66, 0x6C, 0x0, 0x66, 0x6C, 0x0, 0x66, 0x6C, 0x0, 0x66, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C,
- 0x0, 0x67, 0x6B, 0x0, 0x67, 0x6C, 0x0, 0x66, 0x6B, 0x0, 0x62, 0x67, 0x0, 0x51, 0x57, 0x0, 0xB4, 0xB7, 0x81, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0xC3, 0x99, 0x5B,
- 0x61, 0x0, 0x66, 0x6B, 0x0, 0x66, 0x6B, 0x0, 0x67, 0x6B, 0x0, 0x66, 0x6B, 0x0, 0x65, 0x69, 0x0, 0x63, 0x67, 0x0, 0x61, 0x65, 0x0, 0x5E, 0x63, 0x0, 0x5D, 0x62, 0x0, 0x5B, 0x60, 0x0,
- 0x59, 0x5D, 0x0, 0x5A, 0x5F, 0x0, 0x7E, 0x82, 0x26, 0xDD, 0xDD, 0xC6, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFE, 0xFF, 0xFF, 0xF8, 0xF8, 0xF4, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0xC3, 0x99, 0x57, 0x5C, 0x0, 0x5A, 0x5F,
- 0x0, 0x58, 0x5E, 0x0, 0x58, 0x5D, 0x0, 0x5C, 0x60, 0x0, 0x6F, 0x73, 0xD, 0x83, 0x87, 0x2F, 0x94, 0x98, 0x4D, 0xA8, 0xAB, 0x6D, 0xBB, 0xBD, 0x8D, 0xCB, 0xCC, 0xA8, 0xE0, 0xE1, 0xCB, 0xFE,
- 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xBF, 0xC1, 0x94, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0xBA, 0x88, 0x76, 0x79, 0x18, 0xD5, 0xD6, 0xB9, 0xF7, 0xF7, 0xF1,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFD, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xE9, 0xEA, 0xDC, 0x86, 0x8A, 0x34, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0x0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0xEA, 0xDB, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFE, 0xFF, 0xFF, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x62, 0x65, 0x0, 0x91, 0x94, 0x47, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFE, 0xFF, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0xC8, 0xA1, 0x5F, 0x64, 0x0, 0x5C, 0x61, 0x0, 0x93, 0x96, 0x4B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0xF6, 0xF0, 0xD1, 0xD2,
- 0xB2, 0xA0, 0xA2, 0x5F, 0x67, 0x6C, 0x0, 0x5A, 0x5E, 0x0, 0x65, 0x69, 0x0, 0x60, 0x65, 0x0, 0x93, 0x96, 0x4B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0xF9, 0xF4, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0xE8, 0xD7, 0xCF,
- 0xCF, 0xAD, 0xBD, 0xBE, 0x8F, 0xAC, 0xAF, 0x76, 0xA0, 0xA3, 0x60, 0x91, 0x94, 0x46, 0x80, 0x84, 0x2A, 0x71, 0x75, 0x10, 0x5C, 0x60, 0x0, 0x56, 0x5B, 0x0, 0x5A, 0x60, 0x0, 0x60, 0x64, 0x0,
- 0x64, 0x69, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x60, 0x65, 0x0, 0x93, 0x96, 0x4B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xBA, 0xBB, 0x8B, 0xF7, 0xF7, 0xF2, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0xA4, 0x61, 0x5E, 0x61, 0x0, 0x58, 0x5C, 0x0, 0x5B, 0x60, 0x0, 0x5D, 0x61,
- 0x0, 0x5E, 0x63, 0x0, 0x5F, 0x64, 0x0, 0x60, 0x66, 0x0, 0x62, 0x67, 0x0, 0x64, 0x69, 0x0, 0x66, 0x6B, 0x0, 0x66, 0x6C, 0x0, 0x66, 0x6C, 0x0, 0x66, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x66,
- 0x6C, 0x0, 0x66, 0x6C, 0x0, 0x60, 0x65, 0x0, 0x93, 0x96, 0x4B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0xBC, 0x8A, 0x89,
- 0x8C, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xB9, 0xBA, 0x89, 0x55, 0x59, 0x0, 0x67, 0x6A, 0x0, 0x66, 0x6B, 0x0, 0x67, 0x6B, 0x1, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0,
- 0x66, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C,
- 0x0, 0x60, 0x65, 0x0, 0x93, 0x96, 0x4B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0xC3, 0x98, 0x4B, 0x50, 0x0, 0xCF, 0xD0,
- 0xAF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0xAB, 0x6D, 0x5E, 0x62, 0x0, 0x66, 0x6B, 0x0, 0x66, 0x6C, 0x0, 0x66, 0x6C, 0x0, 0x66, 0x6C, 0x0, 0x66, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67,
- 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x60, 0x65, 0x0,
- 0x93, 0x96, 0x4B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0xC3, 0x99, 0x5C, 0x60, 0x0, 0x5B, 0x5E, 0x0, 0xF0, 0xF1, 0xE7,
- 0xFF, 0xFF, 0xFF, 0xEB, 0xEC, 0xDE, 0x54, 0x59, 0x0, 0x66, 0x6B, 0x0, 0x66, 0x6C, 0x0, 0x66, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C,
- 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x60, 0x65, 0x0, 0x93, 0x96, 0x4B, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0x0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0xC3, 0x99, 0x5B, 0x61, 0x0, 0x63, 0x68, 0x0, 0x62, 0x66, 0x0, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xAC, 0xAE, 0x74, 0x59, 0x5D, 0x0, 0x67, 0x6B, 0x0, 0x67, 0x6C, 0x0, 0x66, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0,
- 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x60, 0x65, 0x0, 0x93, 0x96, 0x4B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0xC3, 0x99, 0x5B, 0x61, 0x0, 0x67, 0x6C, 0x0, 0x62, 0x66, 0x0, 0x6D, 0x71, 0x8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0x93, 0x96, 0x4A, 0x5A, 0x5E, 0x0, 0x66, 0x6B, 0x0, 0x66, 0x6C, 0x0, 0x66, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67,
- 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x60, 0x65, 0x0, 0x93, 0x96, 0x4B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0xC3, 0x99, 0x5B, 0x61, 0x0, 0x66, 0x6C, 0x0, 0x66, 0x6C, 0x0, 0x62, 0x66, 0x0, 0x62, 0x67, 0x0, 0xF5, 0xF5, 0xEF, 0xFF, 0xFF, 0xFF,
- 0x96, 0x99, 0x4F, 0x57, 0x5D, 0x0, 0x67, 0x6B, 0x0, 0x67, 0x6B, 0x0, 0x66, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C,
- 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x60, 0x65, 0x0, 0x93, 0x96, 0x4B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0xC3, 0x99, 0x5C, 0x61, 0x0, 0x66, 0x6C, 0x0, 0x66, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x65, 0x68, 0x0, 0x5B, 0x5F, 0x0, 0xD3, 0xD4, 0xB5, 0xFF, 0xFF, 0xFF, 0xB6,
- 0xB8, 0x85, 0x55, 0x59, 0x0, 0x63, 0x68, 0x0, 0x66, 0x6B, 0x0, 0x66, 0x6C, 0x0, 0x66, 0x6C, 0x0, 0x66, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0,
- 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x60, 0x65, 0x0, 0x93, 0x96, 0x4B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xC2, 0xC3, 0x99, 0x5C, 0x61, 0x0, 0x67, 0x6C, 0x0, 0x66, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x65, 0x6A, 0x0, 0x54, 0x5A, 0x0, 0x9C, 0x9F, 0x59, 0xFF, 0xFF, 0xFF, 0xF6, 0xF6,
- 0xF1, 0x73, 0x76, 0x12, 0x5A, 0x5F, 0x0, 0x66, 0x6B, 0x0, 0x67, 0x6B, 0x0, 0x67, 0x6C, 0x0, 0x66, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67,
- 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x60, 0x65, 0x0, 0x93, 0x96, 0x4B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0xC3, 0x99, 0x5C,
- 0x61, 0x0, 0x66, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x66, 0x6C, 0x0, 0x66, 0x6C, 0x0, 0x66, 0x6C, 0x0, 0x67, 0x6B, 0x0, 0x5D, 0x62, 0x0, 0x69, 0x6C, 0x1, 0xDF, 0xE1, 0xCB, 0xFF, 0xFF, 0xFF,
- 0xBA, 0xBC, 0x8B, 0x56, 0x59, 0x0, 0x63, 0x67, 0x0, 0x68, 0x6B, 0x0, 0x66, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C, 0x0, 0x67, 0x6C,
- 0x0, 0x60, 0x65, 0x0, 0x93, 0x96, 0x4B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0xBD, 0x8D, 0x4B, 0x51, 0x0, 0x57, 0x5C,
- 0x0, 0x56, 0x5C, 0x0, 0x56, 0x5C, 0x0, 0x56, 0x5C, 0x0, 0x56, 0x5C, 0x0, 0x57, 0x5C, 0x0, 0x57, 0x5C, 0x0, 0x55, 0x59, 0x0, 0x47, 0x4B, 0x0, 0x76, 0x79, 0x18, 0xED, 0xED, 0xE0, 0xFA,
- 0xFA, 0xF8, 0x76, 0x79, 0x18, 0x53, 0x58, 0x0, 0x56, 0x5C, 0x0, 0x56, 0x5C, 0x0, 0x56, 0x5C, 0x0, 0x56, 0x5C, 0x0, 0x56, 0x5C, 0x0, 0x56, 0x5C, 0x0, 0x56, 0x5C, 0x0, 0x50, 0x56, 0x0,
- 0x89, 0x8C, 0x39, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xFC, 0xFB, 0xF6, 0xF6, 0xF1, 0xF8, 0xF8, 0xF4, 0xF8, 0xF8, 0xF4,
- 0xF8, 0xF8, 0xF4, 0xF8, 0xF8, 0xF4, 0xF8, 0xF8, 0xF4, 0xF8, 0xF8, 0xF4, 0xF8, 0xF8, 0xF4, 0xF8, 0xF8, 0xF4, 0xF8, 0xF8, 0xF3, 0xF2, 0xF3, 0xEA, 0xEB, 0xEB, 0xDD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xF6, 0xF6, 0xF0, 0xF8, 0xF8, 0xF4, 0xF8, 0xF8, 0xF4, 0xF8, 0xF8, 0xF4, 0xF8, 0xF8, 0xF4, 0xF8, 0xF8, 0xF4, 0xF8, 0xF8, 0xF4, 0xF8, 0xF8, 0xF4, 0xF7, 0xF7, 0xF1, 0xF9, 0xFA, 0xF5, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0x0
-};
-
--- a/Peripherals/Eeprom.cpp Fri Aug 24 08:01:53 2018 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,607 +0,0 @@
-/*
- ______ _
- / _____) _ | |
-( (____ _____ ____ _| |_ _____ ____| |__
- \____ \| ___ | (_ _) ___ |/ ___) _ \
- _____) ) ____| | | || |_| ____( (___| | | |
-(______/|_____)_|_|_| \__)_____)\____)_| |_|
- (C)2016 Semtech
-
-Description: EEPROM routines
-
-Maintainer: Gregory Cristian & Gilbert Menth
-*/
-
-#include "mbed.h"
-#include "string.h"
-#include "Eeprom.h"
-#include "Menu.h"
-#include "DemoApplication.h"
-#include "sx1280.h"
-#if defined( TARGET_NUCLEO_L476RG )
-#include "stm32l4xx_hal_flash.h"
-#elif defined( TARGET_NUCLEO_L152RE )
-#include "stm32l1xx_hal_flash.h"
-#else
-#error "Please define include file"
-#endif
-#include "DisplayDriver.h"
-
-
-/*!
- * \brief Define address of Emulated EEPROM (in fact region of Flash)
- */
-#if defined( TARGET_NUCLEO_L476RG )
-#define DATA_EEPROM_BASE ( ( uint32_t )0x0807F800U )
-#define DATA_EEPROM_END ( ( uint32_t )DATA_EEPROM_BASE + 2048 )
-#elif defined( TARGET_NUCLEO_L152RE )
-#define DATA_EEPROM_BASE ( ( uint32_t )0x08080000U )
-#define DATA_EEPROM_END ( ( uint32_t )0x080807FFU )
-#else
-#error "Please define EEPROM base address and size for your board "
-#endif
-
-
-/*!
- * \brief CRC of EEPROM buffer and its valid status
- */
-typedef struct
-{
- uint16_t Value;
- bool Valid;
-}MemTestStruct_t;
-
-/*!
- * \brief Local copy of Eeprom.
- */
-Eeprom_t Eeprom;
-
-
-// Check CRC of local copy of Eeprom (Buffer). This update Valid & Value
-static MemTestStruct_t EepromDataCheckSum( void );
-uint8_t EepromMcuWriteBuffer( uint16_t addr, uint8_t *buffer, uint16_t size );
-
-void EepromInit( void )
-{
- MemTestStruct_t memTestStruct;
-
- EepromMcuReadBuffer( 0, Eeprom.Buffer, EEPROM_BUFFER_SIZE );
- EepromLoadGeneralSettings( );
-
- memTestStruct = EepromDataCheckSum( );
- if( !( memTestStruct.Valid ) )
- {
- printf("EepromDataCheckSum failed\n\r");
- EepromSetDefaultSettings( );
- }
- EepromLoadSettings( ( RadioPacketTypes_t ) Eeprom.EepromData.DemoSettings.ModulationType );
-}
-
-void EepromSaveSettings( EepromDataSet_t dataSet)
-{
- MemTestStruct_t memTestStruct;
-
- switch( dataSet )
- {
- case RADIO_LORA_PARAMS:
- Eeprom.EepromData.ModulationParams.Params.LoRa.SpreadingFactor = ( RadioLoRaSpreadingFactors_t ) Eeprom.EepromData.DemoSettings.ModulationParam1;
- Eeprom.EepromData.ModulationParams.Params.LoRa.Bandwidth = ( RadioLoRaBandwidths_t ) Eeprom.EepromData.DemoSettings.ModulationParam2;
- Eeprom.EepromData.ModulationParams.Params.LoRa.CodingRate = ( RadioLoRaCodingRates_t ) Eeprom.EepromData.DemoSettings.ModulationParam3;
- Eeprom.EepromData.PacketParams.Params.LoRa.PreambleLength = Eeprom.EepromData.DemoSettings.PacketParam1;
- Eeprom.EepromData.PacketParams.Params.LoRa.HeaderType = ( RadioLoRaPacketLengthsModes_t )Eeprom.EepromData.DemoSettings.PacketParam2;
- Eeprom.EepromData.PacketParams.Params.LoRa.PayloadLength = Eeprom.EepromData.DemoSettings.PacketParam3;
- Eeprom.EepromData.PacketParams.Params.LoRa.Crc = ( RadioLoRaCrcModes_t ) Eeprom.EepromData.DemoSettings.PacketParam4;
- Eeprom.EepromData.PacketParams.Params.LoRa.InvertIQ = ( RadioLoRaIQModes_t ) Eeprom.EepromData.DemoSettings.PacketParam5;
-
- memcpy( Eeprom.Buffer + MOD_LOR_SPREADF_EEPROM_ADDR, &( Eeprom.EepromData.ModulationParams.Params.LoRa.SpreadingFactor ), 1 );
- memcpy( Eeprom.Buffer + MOD_LOR_BW_EEPROM_ADDR, &( Eeprom.EepromData.ModulationParams.Params.LoRa.Bandwidth ), 1 );
- memcpy( Eeprom.Buffer + MOD_LOR_CODERATE_EEPROM_ADDR, &( Eeprom.EepromData.ModulationParams.Params.LoRa.CodingRate ), 1 );
- memcpy( Eeprom.Buffer + PAK_LOR_PREAMBLE_LEN_EEPROM_ADDR, &( Eeprom.EepromData.PacketParams.Params.LoRa.PreambleLength ), 1 );
- memcpy( Eeprom.Buffer + PAK_LOR_HEADERTYPE_EEPROM_ADDR, &( Eeprom.EepromData.PacketParams.Params.LoRa.HeaderType ), 1 );
- memcpy( Eeprom.Buffer + PAK_LOR_PL_LEN_EEPROM_ADDR, &( Eeprom.EepromData.PacketParams.Params.LoRa.PayloadLength ), 1 );
- memcpy( Eeprom.Buffer + PAK_LOR_CRC_MODE_EEPROM_ADDR, &( Eeprom.EepromData.PacketParams.Params.LoRa.Crc ), 1 );
- memcpy( Eeprom.Buffer + PAK_LOR_IQ_INV_EEPROM_ADDR, &( Eeprom.EepromData.PacketParams.Params.LoRa.InvertIQ ), 1 );
- printf("Saved RADIO_LORA_PARAMS\n\r");
- break;
-
- case RADIO_RANGING_PARAMS:
- memcpy( Eeprom.Buffer + MOD_RNG_SPREADF_EEPROM_ADDR, &( Eeprom.EepromData.DemoSettings.ModulationParam1 ), 1 );
- memcpy( Eeprom.Buffer + MOD_RNG_BW_EEPROM_ADDR, &( Eeprom.EepromData.DemoSettings.ModulationParam2 ), 1 );
- memcpy( Eeprom.Buffer + MOD_RNG_CODERATE_EEPROM_ADDR, &( Eeprom.EepromData.DemoSettings.ModulationParam3 ), 1 );
- memcpy( Eeprom.Buffer + PAK_RNG_PREAMBLE_LEN_EEPROM_ADDR, &( Eeprom.EepromData.DemoSettings.PacketParam1 ), 1 );
- memcpy( Eeprom.Buffer + PAK_RNG_HEADERTYPE_EEPROM_ADDR, &( Eeprom.EepromData.DemoSettings.PacketParam2 ), 1 );
- memcpy( Eeprom.Buffer + PAK_RNG_PL_LEN_EEPROM_ADDR, &( Eeprom.EepromData.DemoSettings.PacketParam3 ), 1 );
- memcpy( Eeprom.Buffer + PAK_RNG_CRC_MODE_EEPROM_ADDR, &( Eeprom.EepromData.DemoSettings.PacketParam4 ), 1 );
- memcpy( Eeprom.Buffer + PAK_RNG_IQ_INV_EEPROM_ADDR, &( Eeprom.EepromData.DemoSettings.PacketParam5 ), 1 );
-
- memcpy( Eeprom.Buffer + APP_RNG_REQ_COUNT_EEPROM_ADDR, &( Eeprom.EepromData.DemoSettings.RngRequestCount ), 1 );
- memcpy( Eeprom.Buffer + APP_RNG_FULLSCALE_EEPROM_ADDR, &( Eeprom.EepromData.DemoSettings.RngFullScale ), 2 );
- memcpy( Eeprom.Buffer + APP_RNG_ADDR_EEPROM_ADDR, &( Eeprom.EepromData.DemoSettings.RngAddress ), 4 );
- memcpy( Eeprom.Buffer + APP_RNG_ANT_EEPROM_ADDR, &( Eeprom.EepromData.DemoSettings.RngAntenna ), 1 );
- memcpy( Eeprom.Buffer + APP_RNG_UNIT_EEPROM_ADDR, &( Eeprom.EepromData.DemoSettings.RngUnit ), 1 );
- printf("Saved RADIO_RANGING_PARAMS\n\r");
- break;
-
- case RADIO_FLRC_PARAMS:
- Eeprom.EepromData.ModulationParams.Params.Flrc.BitrateBandwidth = ( RadioFlrcBitrates_t ) Eeprom.EepromData.DemoSettings.ModulationParam1;
- Eeprom.EepromData.ModulationParams.Params.Flrc.CodingRate = ( RadioFlrcCodingRates_t ) Eeprom.EepromData.DemoSettings.ModulationParam2;
- Eeprom.EepromData.ModulationParams.Params.Flrc.ModulationShaping = ( RadioModShapings_t ) Eeprom.EepromData.DemoSettings.ModulationParam3;
- Eeprom.EepromData.PacketParams.Params.Flrc.PreambleLength = ( RadioPreambleLengths_t ) Eeprom.EepromData.DemoSettings.PacketParam1;
- Eeprom.EepromData.PacketParams.Params.Flrc.SyncWordLength = ( RadioFlrcSyncWordLengths_t )Eeprom.EepromData.DemoSettings.PacketParam2;
- Eeprom.EepromData.PacketParams.Params.Flrc.SyncWordMatch = ( RadioSyncWordRxMatchs_t ) Eeprom.EepromData.DemoSettings.PacketParam3;
- Eeprom.EepromData.PacketParams.Params.Flrc.HeaderType = ( RadioPacketLengthModes_t ) Eeprom.EepromData.DemoSettings.PacketParam4;
- Eeprom.EepromData.PacketParams.Params.Flrc.PayloadLength = Eeprom.EepromData.DemoSettings.PacketParam5;
- Eeprom.EepromData.PacketParams.Params.Flrc.CrcLength = ( RadioCrcTypes_t ) Eeprom.EepromData.DemoSettings.PacketParam6;
- Eeprom.EepromData.PacketParams.Params.Flrc.Whitening = ( RadioWhiteningModes_t ) Eeprom.EepromData.DemoSettings.PacketParam7;
-
- memcpy( Eeprom.Buffer + MOD_FLR_BRBW_EEPROM_ADDR, &( Eeprom.EepromData.ModulationParams.Params.Flrc.BitrateBandwidth ), 1 );
- memcpy( Eeprom.Buffer + MOD_FLR_CODERATE_EEPROM_ADDR, &( Eeprom.EepromData.ModulationParams.Params.Flrc.CodingRate ), 1 );
- memcpy( Eeprom.Buffer + MOD_FLR_MOD_SHAP_EEPROM_ADDR, &( Eeprom.EepromData.ModulationParams.Params.Flrc.ModulationShaping ), 1 );
- memcpy( Eeprom.Buffer + PAK_FLR_PREAMBLE_LEN_EEPROM_ADDR, &( Eeprom.EepromData.PacketParams.Params.Flrc.PreambleLength ), 1 );
- memcpy( Eeprom.Buffer + PAK_FLR_SYNC_LEN_EEPROM_ADDR, &( Eeprom.EepromData.PacketParams.Params.Flrc.SyncWordLength ), 1 );
- memcpy( Eeprom.Buffer + PAK_FLR_SYNC_MATCH_EEPROM_ADDR, &( Eeprom.EepromData.PacketParams.Params.Flrc.SyncWordMatch ), 1 );
- memcpy( Eeprom.Buffer + PAK_FLR_HEADERTYPE_EEPROM_ADDR, &( Eeprom.EepromData.PacketParams.Params.Flrc.HeaderType ), 1 );
- memcpy( Eeprom.Buffer + PAK_FLR_PL_LEN_EEPROM_ADDR, &( Eeprom.EepromData.PacketParams.Params.Flrc.PayloadLength ), 1 );
- memcpy( Eeprom.Buffer + PAK_FLR_CRC_LEN_EEPROM_ADDR, &( Eeprom.EepromData.PacketParams.Params.Flrc.CrcLength ), 1 );
- memcpy( Eeprom.Buffer + PAK_FLR_WHITENING_EEPROM_ADDR, &( Eeprom.EepromData.PacketParams.Params.Flrc.Whitening ), 1 );
- printf("Saved RADIO_FLRC_PARAMS\n\r");
- break;
-
- case RADIO_GFSK_PARAMS:
- Eeprom.EepromData.ModulationParams.Params.Gfsk.BitrateBandwidth = ( RadioGfskBleBitrates_t ) Eeprom.EepromData.DemoSettings.ModulationParam1;
- Eeprom.EepromData.ModulationParams.Params.Gfsk.ModulationIndex = ( RadioGfskBleModIndexes_t )Eeprom.EepromData.DemoSettings.ModulationParam2;
- Eeprom.EepromData.ModulationParams.Params.Gfsk.ModulationShaping = ( RadioModShapings_t ) Eeprom.EepromData.DemoSettings.ModulationParam3;
- Eeprom.EepromData.PacketParams.Params.Gfsk.PreambleLength = ( RadioPreambleLengths_t ) Eeprom.EepromData.DemoSettings.PacketParam1;
- Eeprom.EepromData.PacketParams.Params.Gfsk.SyncWordLength = ( RadioSyncWordLengths_t ) Eeprom.EepromData.DemoSettings.PacketParam2;
- Eeprom.EepromData.PacketParams.Params.Gfsk.SyncWordMatch = ( RadioSyncWordRxMatchs_t ) Eeprom.EepromData.DemoSettings.PacketParam3;
- Eeprom.EepromData.PacketParams.Params.Gfsk.HeaderType = ( RadioPacketLengthModes_t )Eeprom.EepromData.DemoSettings.PacketParam4;
- Eeprom.EepromData.PacketParams.Params.Gfsk.PayloadLength = Eeprom.EepromData.DemoSettings.PacketParam5;
- Eeprom.EepromData.PacketParams.Params.Gfsk.CrcLength = ( RadioCrcTypes_t ) Eeprom.EepromData.DemoSettings.PacketParam6;
- Eeprom.EepromData.PacketParams.Params.Gfsk.Whitening = ( RadioWhiteningModes_t ) Eeprom.EepromData.DemoSettings.PacketParam7;
-
- memcpy( Eeprom.Buffer + MOD_GFS_BRBW_EEPROM_ADDR, &( Eeprom.EepromData.ModulationParams.Params.Gfsk.BitrateBandwidth ), 1 );
- memcpy( Eeprom.Buffer + MOD_GFS_MOD_IND_EEPROM_ADDR, &( Eeprom.EepromData.ModulationParams.Params.Gfsk.ModulationIndex ), 1 );
- memcpy( Eeprom.Buffer + MOD_GFS_MOD_SHAP_EEPROM_ADDR, &( Eeprom.EepromData.ModulationParams.Params.Gfsk.ModulationShaping ), 1 );
- memcpy( Eeprom.Buffer + PAK_GFS_PREAMBLE_LEN_EEPROM_ADDR, &( Eeprom.EepromData.PacketParams.Params.Gfsk.PreambleLength ), 1 );
- memcpy( Eeprom.Buffer + PAK_GFS_SYNC_LEN_EEPROM_ADDR, &( Eeprom.EepromData.PacketParams.Params.Gfsk.SyncWordLength ), 1 );
- memcpy( Eeprom.Buffer + PAK_GFS_SYNC_MATCH_EEPROM_ADDR, &( Eeprom.EepromData.PacketParams.Params.Gfsk.SyncWordMatch ), 1 );
- memcpy( Eeprom.Buffer + PAK_GFS_HEADERTYPE_EEPROM_ADDR, &( Eeprom.EepromData.PacketParams.Params.Gfsk.HeaderType ), 1 );
- memcpy( Eeprom.Buffer + PAK_GFS_PL_LEN_EEPROM_ADDR, &( Eeprom.EepromData.PacketParams.Params.Gfsk.PayloadLength ), 1 );
- memcpy( Eeprom.Buffer + PAK_GFS_CRC_LEN_EEPROM_ADDR, &( Eeprom.EepromData.PacketParams.Params.Gfsk.CrcLength ), 1 );
- memcpy( Eeprom.Buffer + PAK_GFS_WHITENING_EEPROM_ADDR, &( Eeprom.EepromData.PacketParams.Params.Gfsk.Whitening ), 1 );
- printf("Saved RADIO_GFSK_PARAMS\n\r");
- break;
-
- case DEMO_SETTINGS:
- memcpy( Eeprom.Buffer + APP_ENTITY_EEPROM_ADDR, &( Eeprom.EepromData.DemoSettings.Entity ), 1 );
- memcpy( Eeprom.Buffer + APP_ANT_SW_EEPROM_ADDR, &( Eeprom.EepromData.DemoSettings.AntennaSwitch ), 1 );
- memcpy( Eeprom.Buffer + APP_FREQ_EEPROM_ADDR, &( Eeprom.EepromData.DemoSettings.Frequency ), 4 );
- memcpy( Eeprom.Buffer + APP_TXPWR_EEPROM_ADDR, &( Eeprom.EepromData.DemoSettings.TxPower ), 1 );
- memcpy( Eeprom.Buffer + APP_MOD_TYPE_EEPROM_ADDR, &( Eeprom.EepromData.DemoSettings.ModulationType ), 1 );
- memcpy( Eeprom.Buffer + APP_PER_NPAK_MAX_EEPROM_ADDR, &( Eeprom.EepromData.DemoSettings.MaxNumPacket ), 4 );
- memcpy( Eeprom.Buffer + APP_RADIO_POWER_MODE_EEPROM_ADDR, &( Eeprom.EepromData.DemoSettings.RadioPowerMode ), 1 );
- memcpy( Eeprom.Buffer + MOD_PAK_TYPE_EEPROM_ADDR, &( Eeprom.EepromData.DemoSettings.ModulationType ), 1 );
- memcpy( Eeprom.Buffer + PAK_PAK_TYPE_EEPROM_ADDR, &( Eeprom.EepromData.DemoSettings.ModulationType ), 1 );
- printf("Saved DEMO_SETTINGS\n\r");
- break;
-
- case SCREEN_DATA:
- memcpy( Eeprom.Buffer + SCR_CAL_FLAG_EEPROM_ADDR, &( Eeprom.EepromData.MenuSettings.ScreenCalibrated ), 1 );
- memcpy( Eeprom.Buffer + SCR_CAL_POSA_EEPROM_ADDR, &( Eeprom.EepromData.MenuSettings.Calibration.a ), 4 );
- memcpy( Eeprom.Buffer + SCR_CAL_POSB_EEPROM_ADDR, &( Eeprom.EepromData.MenuSettings.Calibration.b ), 4 );
- memcpy( Eeprom.Buffer + SCR_CAL_POSC_EEPROM_ADDR, &( Eeprom.EepromData.MenuSettings.Calibration.c ), 4 );
- memcpy( Eeprom.Buffer + SCR_CAL_POSD_EEPROM_ADDR, &( Eeprom.EepromData.MenuSettings.Calibration.d ), 4 );
- memcpy( Eeprom.Buffer + SCR_CAL_POSE_EEPROM_ADDR, &( Eeprom.EepromData.MenuSettings.Calibration.e ), 4 );
- memcpy( Eeprom.Buffer + SCR_CAL_POSF_EEPROM_ADDR, &( Eeprom.EepromData.MenuSettings.Calibration.f ), 4 );
- break;
-
- default:
- printf("data not saved\n\r");
- break;
- }
-
- memTestStruct = EepromDataCheckSum( );
- memcpy( Eeprom.Buffer + EEPROM_CRC_EEPROM_ADDR, &( memTestStruct.Value ), 2 );
-
- EepromMcuWriteBuffer( 0, Eeprom.Buffer, EEPROM_BUFFER_SIZE );
-}
-
-void EepromLoadGeneralSettings( void )
-{
- printf("Load General Settings\n\r");
- memcpy( &( Eeprom.EepromData.MenuSettings.ScreenCalibrated ), Eeprom.Buffer + SCR_CAL_FLAG_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.MenuSettings.Calibration.a ), Eeprom.Buffer + SCR_CAL_POSA_EEPROM_ADDR, 4 );
- memcpy( &( Eeprom.EepromData.MenuSettings.Calibration.b ), Eeprom.Buffer + SCR_CAL_POSB_EEPROM_ADDR, 4 );
- memcpy( &( Eeprom.EepromData.MenuSettings.Calibration.c ), Eeprom.Buffer + SCR_CAL_POSC_EEPROM_ADDR, 4 );
- memcpy( &( Eeprom.EepromData.MenuSettings.Calibration.d ), Eeprom.Buffer + SCR_CAL_POSD_EEPROM_ADDR, 4 );
- memcpy( &( Eeprom.EepromData.MenuSettings.Calibration.e ), Eeprom.Buffer + SCR_CAL_POSE_EEPROM_ADDR, 4 );
- memcpy( &( Eeprom.EepromData.MenuSettings.Calibration.f ), Eeprom.Buffer + SCR_CAL_POSF_EEPROM_ADDR, 4 );
-
- memcpy( &( Eeprom.EepromData.DemoSettings.Entity ), Eeprom.Buffer + APP_ENTITY_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.DemoSettings.AntennaSwitch ), Eeprom.Buffer + APP_ANT_SW_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.DemoSettings.Frequency ), Eeprom.Buffer + APP_FREQ_EEPROM_ADDR, 4 );
- memcpy( &( Eeprom.EepromData.DemoSettings.RadioPowerMode ), Eeprom.Buffer + APP_RADIO_POWER_MODE_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.DemoSettings.TxPower ), Eeprom.Buffer + APP_TXPWR_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.DemoSettings.ModulationType ), Eeprom.Buffer + APP_MOD_TYPE_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.DemoSettings.MaxNumPacket ), Eeprom.Buffer + APP_PER_NPAK_MAX_EEPROM_ADDR, 4 );
-
- memcpy( &( Eeprom.EepromData.ModulationParams.PacketType ), Eeprom.Buffer + MOD_PAK_TYPE_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.ModulationParams.Params.Gfsk.BitrateBandwidth ), Eeprom.Buffer + MOD_GFS_BRBW_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.ModulationParams.Params.Gfsk.ModulationIndex ), Eeprom.Buffer + MOD_GFS_MOD_IND_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.ModulationParams.Params.Gfsk.ModulationShaping ), Eeprom.Buffer + MOD_GFS_MOD_SHAP_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.ModulationParams.Params.LoRa.SpreadingFactor ), Eeprom.Buffer + MOD_LOR_SPREADF_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.ModulationParams.Params.LoRa.Bandwidth ), Eeprom.Buffer + MOD_LOR_BW_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.ModulationParams.Params.LoRa.CodingRate ), Eeprom.Buffer + MOD_LOR_CODERATE_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.ModulationParams.Params.Flrc.BitrateBandwidth ), Eeprom.Buffer + MOD_FLR_BRBW_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.ModulationParams.Params.Flrc.CodingRate ), Eeprom.Buffer + MOD_FLR_CODERATE_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.ModulationParams.Params.Flrc.ModulationShaping ), Eeprom.Buffer + MOD_FLR_MOD_SHAP_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.ModulationParams.Params.Ble.BitrateBandwidth ), Eeprom.Buffer + MOD_BLE_BRBW_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.ModulationParams.Params.Ble.ModulationIndex ), Eeprom.Buffer + MOD_BLE_MOD_IND_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.ModulationParams.Params.Ble.ModulationShaping ), Eeprom.Buffer + MOD_BLE_MOD_SHAP_EEPROM_ADDR, 1 );
-
- memcpy( &( Eeprom.EepromData.PacketParams.PacketType ), Eeprom.Buffer + PAK_PAK_TYPE_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.PacketParams.Params.Gfsk.PreambleLength ), Eeprom.Buffer + PAK_GFS_PREAMBLE_LEN_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.PacketParams.Params.Gfsk.SyncWordLength ), Eeprom.Buffer + PAK_GFS_SYNC_LEN_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.PacketParams.Params.Gfsk.SyncWordMatch ), Eeprom.Buffer + PAK_GFS_SYNC_MATCH_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.PacketParams.Params.Gfsk.HeaderType ), Eeprom.Buffer + PAK_GFS_HEADERTYPE_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.PacketParams.Params.Gfsk.PayloadLength ), Eeprom.Buffer + PAK_GFS_PL_LEN_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.PacketParams.Params.Gfsk.CrcLength ), Eeprom.Buffer + PAK_GFS_CRC_LEN_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.PacketParams.Params.Gfsk.Whitening ), Eeprom.Buffer + PAK_GFS_WHITENING_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.PacketParams.Params.LoRa.PreambleLength ), Eeprom.Buffer + PAK_LOR_PREAMBLE_LEN_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.PacketParams.Params.LoRa.HeaderType ), Eeprom.Buffer + PAK_LOR_HEADERTYPE_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.PacketParams.Params.LoRa.PayloadLength ), Eeprom.Buffer + PAK_LOR_PL_LEN_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.PacketParams.Params.LoRa.Crc ), Eeprom.Buffer + PAK_LOR_CRC_MODE_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.PacketParams.Params.LoRa.InvertIQ ), Eeprom.Buffer + PAK_LOR_IQ_INV_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.PacketParams.Params.Flrc.PreambleLength ), Eeprom.Buffer + PAK_FLR_PREAMBLE_LEN_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.PacketParams.Params.Flrc.SyncWordLength ), Eeprom.Buffer + PAK_FLR_SYNC_LEN_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.PacketParams.Params.Flrc.SyncWordMatch ), Eeprom.Buffer + PAK_FLR_SYNC_MATCH_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.PacketParams.Params.Flrc.HeaderType ), Eeprom.Buffer + PAK_FLR_HEADERTYPE_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.PacketParams.Params.Flrc.PayloadLength ), Eeprom.Buffer + PAK_FLR_PL_LEN_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.PacketParams.Params.Flrc.CrcLength ), Eeprom.Buffer + PAK_FLR_CRC_LEN_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.PacketParams.Params.Flrc.Whitening ), Eeprom.Buffer + PAK_FLR_WHITENING_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.PacketParams.Params.Ble.BleTestPayload ), Eeprom.Buffer + PAK_BLE_PAK_TYPE_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.PacketParams.Params.Ble.ConnectionState ), Eeprom.Buffer + PAK_BLE_CON_STATE_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.PacketParams.Params.Ble.CrcLength ), Eeprom.Buffer + PAK_BLE_CRC_FIELD_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.PacketParams.Params.Ble.Whitening ), Eeprom.Buffer + PAK_BLE_WHITENING_EEPROM_ADDR, 1 );
-
- memcpy( &( Eeprom.EepromData.DemoSettings.RngRequestCount ), Eeprom.Buffer + APP_RNG_REQ_COUNT_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.DemoSettings.RngFullScale ), Eeprom.Buffer + APP_RNG_FULLSCALE_EEPROM_ADDR, 2 );
- memcpy( &( Eeprom.EepromData.DemoSettings.RngAddress ), Eeprom.Buffer + APP_RNG_ADDR_EEPROM_ADDR, 4 );
- memcpy( &( Eeprom.EepromData.DemoSettings.RngAntenna ), Eeprom.Buffer + APP_RNG_ANT_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.DemoSettings.RngUnit ), Eeprom.Buffer + APP_RNG_UNIT_EEPROM_ADDR, 1 );
-}
-
-void EepromLoadSettings( RadioPacketTypes_t modulation )
-{
- if( modulation == PACKET_TYPE_LORA )
- {
- printf("Load Settings PACKET_TYPE_LORA\n\r");
- memcpy( &( Eeprom.EepromData.ModulationParams.Params.LoRa.SpreadingFactor ), Eeprom.Buffer + MOD_LOR_SPREADF_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.ModulationParams.Params.LoRa.Bandwidth ), Eeprom.Buffer + MOD_LOR_BW_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.ModulationParams.Params.LoRa.CodingRate ), Eeprom.Buffer + MOD_LOR_CODERATE_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.PacketParams.Params.LoRa.PreambleLength ), Eeprom.Buffer + PAK_LOR_PREAMBLE_LEN_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.PacketParams.Params.LoRa.HeaderType ), Eeprom.Buffer + PAK_LOR_HEADERTYPE_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.PacketParams.Params.LoRa.PayloadLength ), Eeprom.Buffer + PAK_LOR_PL_LEN_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.PacketParams.Params.LoRa.Crc ), Eeprom.Buffer + PAK_LOR_CRC_MODE_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.PacketParams.Params.LoRa.InvertIQ ), Eeprom.Buffer + PAK_LOR_IQ_INV_EEPROM_ADDR, 1 );
-
- Eeprom.EepromData.ModulationParams.PacketType = PACKET_TYPE_LORA;
- Eeprom.EepromData.PacketParams.PacketType = PACKET_TYPE_LORA;
- Eeprom.EepromData.DemoSettings.ModulationParam1 = Eeprom.EepromData.ModulationParams.Params.LoRa.SpreadingFactor;
- Eeprom.EepromData.DemoSettings.ModulationParam2 = Eeprom.EepromData.ModulationParams.Params.LoRa.Bandwidth;
- Eeprom.EepromData.DemoSettings.ModulationParam3 = Eeprom.EepromData.ModulationParams.Params.LoRa.CodingRate;
-
- Eeprom.EepromData.DemoSettings.PacketParam1 = Eeprom.EepromData.PacketParams.Params.LoRa.PreambleLength;
- Eeprom.EepromData.DemoSettings.PacketParam2 = Eeprom.EepromData.PacketParams.Params.LoRa.HeaderType;
- Eeprom.EepromData.DemoSettings.PacketParam3 = Eeprom.EepromData.PacketParams.Params.LoRa.PayloadLength;
- Eeprom.EepromData.DemoSettings.PacketParam4 = Eeprom.EepromData.PacketParams.Params.LoRa.Crc;
- Eeprom.EepromData.DemoSettings.PacketParam5 = Eeprom.EepromData.PacketParams.Params.LoRa.InvertIQ;
- Eeprom.EepromData.DemoSettings.PacketParam6 = 0x00;
- Eeprom.EepromData.DemoSettings.PacketParam7 = 0x00;
- }
- else if( modulation == PACKET_TYPE_RANGING )
- {
- printf("Load Settings PACKET_TYPE_RANGING\n\r");
- memcpy( &( Eeprom.EepromData.ModulationParams.Params.LoRa.SpreadingFactor ), Eeprom.Buffer + MOD_RNG_SPREADF_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.ModulationParams.Params.LoRa.Bandwidth ), Eeprom.Buffer + MOD_RNG_BW_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.ModulationParams.Params.LoRa.CodingRate ), Eeprom.Buffer + MOD_RNG_CODERATE_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.PacketParams.Params.LoRa.PreambleLength ), Eeprom.Buffer + PAK_RNG_PREAMBLE_LEN_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.PacketParams.Params.LoRa.HeaderType ), Eeprom.Buffer + PAK_RNG_HEADERTYPE_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.PacketParams.Params.LoRa.PayloadLength ), Eeprom.Buffer + PAK_RNG_PL_LEN_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.PacketParams.Params.LoRa.Crc ), Eeprom.Buffer + PAK_RNG_CRC_MODE_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.PacketParams.Params.LoRa.InvertIQ ), Eeprom.Buffer + PAK_RNG_IQ_INV_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.DemoSettings.RngRequestCount ), Eeprom.Buffer + APP_RNG_REQ_COUNT_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.DemoSettings.RngFullScale ), Eeprom.Buffer + APP_RNG_FULLSCALE_EEPROM_ADDR, 2 );
- memcpy( &( Eeprom.EepromData.DemoSettings.RngAddress ), Eeprom.Buffer + APP_RNG_ADDR_EEPROM_ADDR, 4 );
- memcpy( &( Eeprom.EepromData.DemoSettings.RngAntenna ), Eeprom.Buffer + APP_RNG_ANT_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.DemoSettings.RngUnit ), Eeprom.Buffer + APP_RNG_UNIT_EEPROM_ADDR, 1 );
-
- Eeprom.EepromData.ModulationParams.PacketType = PACKET_TYPE_RANGING;
- Eeprom.EepromData.PacketParams.PacketType = PACKET_TYPE_RANGING;
- Eeprom.EepromData.DemoSettings.ModulationParam1 = Eeprom.EepromData.ModulationParams.Params.LoRa.SpreadingFactor;
- Eeprom.EepromData.DemoSettings.ModulationParam2 = Eeprom.EepromData.ModulationParams.Params.LoRa.Bandwidth;
- Eeprom.EepromData.DemoSettings.ModulationParam3 = Eeprom.EepromData.ModulationParams.Params.LoRa.CodingRate;
-
- Eeprom.EepromData.DemoSettings.PacketParam1 = Eeprom.EepromData.PacketParams.Params.LoRa.PreambleLength;
- Eeprom.EepromData.DemoSettings.PacketParam2 = Eeprom.EepromData.PacketParams.Params.LoRa.HeaderType;
- Eeprom.EepromData.DemoSettings.PacketParam3 = Eeprom.EepromData.PacketParams.Params.LoRa.PayloadLength;
- Eeprom.EepromData.DemoSettings.PacketParam4 = Eeprom.EepromData.PacketParams.Params.LoRa.Crc;
- Eeprom.EepromData.DemoSettings.PacketParam5 = Eeprom.EepromData.PacketParams.Params.LoRa.InvertIQ;
- Eeprom.EepromData.DemoSettings.PacketParam6 = 0x00;
- Eeprom.EepromData.DemoSettings.PacketParam7 = 0x00;
- }
- else if( modulation == PACKET_TYPE_FLRC )
- {
- printf("Load Settings PACKET_TYPE_FLRC\n\r");
- memcpy( &( Eeprom.EepromData.ModulationParams.Params.Flrc.BitrateBandwidth ), Eeprom.Buffer + MOD_FLR_BRBW_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.ModulationParams.Params.Flrc.CodingRate ), Eeprom.Buffer + MOD_FLR_CODERATE_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.ModulationParams.Params.Flrc.ModulationShaping ), Eeprom.Buffer + MOD_FLR_MOD_SHAP_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.PacketParams.Params.Flrc.PreambleLength ), Eeprom.Buffer + PAK_FLR_PREAMBLE_LEN_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.PacketParams.Params.Flrc.SyncWordLength ), Eeprom.Buffer + PAK_FLR_SYNC_LEN_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.PacketParams.Params.Flrc.SyncWordMatch ), Eeprom.Buffer + PAK_FLR_SYNC_MATCH_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.PacketParams.Params.Flrc.HeaderType ), Eeprom.Buffer + PAK_FLR_HEADERTYPE_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.PacketParams.Params.Flrc.PayloadLength ), Eeprom.Buffer + PAK_FLR_PL_LEN_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.PacketParams.Params.Flrc.CrcLength ), Eeprom.Buffer + PAK_FLR_CRC_LEN_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.PacketParams.Params.Flrc.Whitening ), Eeprom.Buffer + PAK_FLR_WHITENING_EEPROM_ADDR, 1 );
-
- Eeprom.EepromData.ModulationParams.PacketType = PACKET_TYPE_FLRC;
- Eeprom.EepromData.PacketParams.PacketType = PACKET_TYPE_FLRC;
- Eeprom.EepromData.DemoSettings.ModulationParam1 = Eeprom.EepromData.ModulationParams.Params.Flrc.BitrateBandwidth;
- Eeprom.EepromData.DemoSettings.ModulationParam2 = Eeprom.EepromData.ModulationParams.Params.Flrc.CodingRate;
- Eeprom.EepromData.DemoSettings.ModulationParam3 = Eeprom.EepromData.ModulationParams.Params.Flrc.ModulationShaping;
-
- Eeprom.EepromData.DemoSettings.PacketParam1 = Eeprom.EepromData.PacketParams.Params.Flrc.PreambleLength;
- Eeprom.EepromData.DemoSettings.PacketParam2 = Eeprom.EepromData.PacketParams.Params.Flrc.SyncWordLength;
- Eeprom.EepromData.DemoSettings.PacketParam3 = Eeprom.EepromData.PacketParams.Params.Flrc.SyncWordMatch;
- Eeprom.EepromData.DemoSettings.PacketParam4 = Eeprom.EepromData.PacketParams.Params.Flrc.HeaderType;
- Eeprom.EepromData.DemoSettings.PacketParam5 = Eeprom.EepromData.PacketParams.Params.Flrc.PayloadLength;
- Eeprom.EepromData.DemoSettings.PacketParam6 = Eeprom.EepromData.PacketParams.Params.Flrc.CrcLength;
- Eeprom.EepromData.DemoSettings.PacketParam7 = Eeprom.EepromData.PacketParams.Params.Flrc.Whitening;
- }
- else // GFSK
- {
- printf("Load Settings PACKET_TYPE_GFSK\n\r");
- memcpy( &( Eeprom.EepromData.ModulationParams.Params.Gfsk.BitrateBandwidth ), Eeprom.Buffer + MOD_GFS_BRBW_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.ModulationParams.Params.Gfsk.ModulationIndex ), Eeprom.Buffer + MOD_GFS_MOD_IND_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.ModulationParams.Params.Gfsk.ModulationShaping ), Eeprom.Buffer + MOD_GFS_MOD_SHAP_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.PacketParams.Params.Gfsk.PreambleLength ), Eeprom.Buffer + PAK_GFS_PREAMBLE_LEN_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.PacketParams.Params.Gfsk.SyncWordLength ), Eeprom.Buffer + PAK_GFS_SYNC_LEN_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.PacketParams.Params.Gfsk.SyncWordMatch ), Eeprom.Buffer + PAK_GFS_SYNC_MATCH_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.PacketParams.Params.Gfsk.HeaderType ), Eeprom.Buffer + PAK_GFS_HEADERTYPE_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.PacketParams.Params.Gfsk.PayloadLength ), Eeprom.Buffer + PAK_GFS_PL_LEN_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.PacketParams.Params.Gfsk.CrcLength ), Eeprom.Buffer + PAK_GFS_CRC_LEN_EEPROM_ADDR, 1 );
- memcpy( &( Eeprom.EepromData.PacketParams.Params.Gfsk.Whitening ), Eeprom.Buffer + PAK_GFS_WHITENING_EEPROM_ADDR, 1 );
-
- Eeprom.EepromData.ModulationParams.PacketType = PACKET_TYPE_GFSK;
- Eeprom.EepromData.PacketParams.PacketType = PACKET_TYPE_GFSK;
- Eeprom.EepromData.DemoSettings.ModulationParam1 = Eeprom.EepromData.ModulationParams.Params.Gfsk.BitrateBandwidth;
- Eeprom.EepromData.DemoSettings.ModulationParam2 = Eeprom.EepromData.ModulationParams.Params.Gfsk.ModulationIndex;
- Eeprom.EepromData.DemoSettings.ModulationParam3 = Eeprom.EepromData.ModulationParams.Params.Gfsk.ModulationShaping;
-
- Eeprom.EepromData.DemoSettings.PacketParam1 = Eeprom.EepromData.PacketParams.Params.Gfsk.PreambleLength;
- Eeprom.EepromData.DemoSettings.PacketParam2 = Eeprom.EepromData.PacketParams.Params.Gfsk.SyncWordLength;
- Eeprom.EepromData.DemoSettings.PacketParam3 = Eeprom.EepromData.PacketParams.Params.Gfsk.SyncWordMatch;
- Eeprom.EepromData.DemoSettings.PacketParam4 = Eeprom.EepromData.PacketParams.Params.Gfsk.HeaderType;
- Eeprom.EepromData.DemoSettings.PacketParam5 = Eeprom.EepromData.PacketParams.Params.Gfsk.PayloadLength;
- Eeprom.EepromData.DemoSettings.PacketParam6 = Eeprom.EepromData.PacketParams.Params.Gfsk.CrcLength;
- Eeprom.EepromData.DemoSettings.PacketParam7 = Eeprom.EepromData.PacketParams.Params.Gfsk.Whitening;
- }
-
- Eeprom.EepromData.DemoSettings.ModulationType = modulation;
-}
-
-void EepromSetRangingDefaultSettings( void )
-{
- printf("Set Ranging Default Settings\n\r");
-
- Eeprom.EepromData.DemoSettings.ModulationType = PACKET_TYPE_RANGING;
- Eeprom.EepromData.ModulationParams.PacketType = PACKET_TYPE_RANGING;
- Eeprom.EepromData.PacketParams.PacketType = PACKET_TYPE_RANGING;
-
- Eeprom.EepromData.DemoSettings.ModulationParam1 = LORA_SF6;
- Eeprom.EepromData.DemoSettings.ModulationParam2 = LORA_BW_1600;
- Eeprom.EepromData.DemoSettings.ModulationParam3 = LORA_CR_4_5;
-
- Eeprom.EepromData.DemoSettings.PacketParam1 = 12; // PreambleLength
- Eeprom.EepromData.DemoSettings.PacketParam2 = LORA_PACKET_VARIABLE_LENGTH;
- Eeprom.EepromData.DemoSettings.PacketParam3 = 10; // PayloadLength
- Eeprom.EepromData.DemoSettings.PacketParam4 = LORA_CRC_ON;
- Eeprom.EepromData.DemoSettings.PacketParam5 = LORA_IQ_NORMAL;
- Eeprom.EepromData.DemoSettings.RngRequestCount = 60;
- Eeprom.EepromData.DemoSettings.RngAntenna = DEMO_RNG_ANT_1;
-
- EepromSaveSettings( RADIO_RANGING_PARAMS );
-}
-
-void EepromSetDefaultSettings( void )
-{
- Eeprom.EepromData.MenuSettings.ScreenCalibrated = false;
-
- printf("Set Default Settings\n\r");
- EepromSaveSettings( SCREEN_DATA );
-
- Eeprom.EepromData.DemoSettings.ModulationType = PACKET_TYPE_RANGING;
- Eeprom.EepromData.ModulationParams.PacketType = PACKET_TYPE_RANGING;
- Eeprom.EepromData.PacketParams.PacketType = PACKET_TYPE_RANGING;
-
- Eeprom.EepromData.DemoSettings.ModulationParam1 = LORA_SF6;
- Eeprom.EepromData.DemoSettings.ModulationParam2 = LORA_BW_1600;
- Eeprom.EepromData.DemoSettings.ModulationParam3 = LORA_CR_4_5;
-
- Eeprom.EepromData.DemoSettings.PacketParam1 = 12; // PreambleLength
- Eeprom.EepromData.DemoSettings.PacketParam2 = LORA_PACKET_VARIABLE_LENGTH;
- Eeprom.EepromData.DemoSettings.PacketParam3 = 10; // PayloadLength
- Eeprom.EepromData.DemoSettings.PacketParam4 = LORA_CRC_ON;
- Eeprom.EepromData.DemoSettings.PacketParam5 = LORA_IQ_NORMAL;
- Eeprom.EepromData.DemoSettings.RngRequestCount = 60;
- Eeprom.EepromData.DemoSettings.RngFullScale = 30;
- Eeprom.EepromData.DemoSettings.RngAddress = DEMO_RNG_ADDR_1;
- Eeprom.EepromData.DemoSettings.RngAntenna = DEMO_RNG_ANT_1;
- Eeprom.EepromData.DemoSettings.RngUnit = DEMO_RNG_UNIT_SEL_M;
-
- EepromSaveSettings( RADIO_RANGING_PARAMS );
-
- Eeprom.EepromData.DemoSettings.ModulationType = PACKET_TYPE_LORA;
- Eeprom.EepromData.ModulationParams.PacketType = PACKET_TYPE_LORA;
- Eeprom.EepromData.PacketParams.PacketType = PACKET_TYPE_LORA;
-
- Eeprom.EepromData.DemoSettings.ModulationParam1 = LORA_SF10;
- Eeprom.EepromData.DemoSettings.ModulationParam2 = LORA_BW_1600;
- Eeprom.EepromData.DemoSettings.ModulationParam3 = LORA_CR_4_5;
-
- Eeprom.EepromData.DemoSettings.PacketParam1 = 12; // PreambleLength
- Eeprom.EepromData.DemoSettings.PacketParam2 = LORA_PACKET_VARIABLE_LENGTH;
- Eeprom.EepromData.DemoSettings.PacketParam3 = DEMO_MIN_PAYLOAD;
- Eeprom.EepromData.DemoSettings.PacketParam4 = LORA_CRC_ON;
- Eeprom.EepromData.DemoSettings.PacketParam5 = LORA_IQ_NORMAL;
-
- EepromSaveSettings( RADIO_LORA_PARAMS );
-
- Eeprom.EepromData.DemoSettings.ModulationType = PACKET_TYPE_GFSK;
- Eeprom.EepromData.ModulationParams.PacketType = PACKET_TYPE_GFSK;
- Eeprom.EepromData.PacketParams.PacketType = PACKET_TYPE_GFSK;
-
- Eeprom.EepromData.DemoSettings.ModulationParam1 = GFSK_BLE_BR_0_125_BW_0_3;
- Eeprom.EepromData.DemoSettings.ModulationParam2 = GFSK_BLE_MOD_IND_1_00;
- Eeprom.EepromData.DemoSettings.ModulationParam3 = RADIO_MOD_SHAPING_BT_1_0;
-
- Eeprom.EepromData.DemoSettings.PacketParam1 = PREAMBLE_LENGTH_32_BITS;
- Eeprom.EepromData.DemoSettings.PacketParam2 = GFSK_SYNCWORD_LENGTH_5_BYTE;
- Eeprom.EepromData.DemoSettings.PacketParam3 = RADIO_RX_MATCH_SYNCWORD_1;
- Eeprom.EepromData.DemoSettings.PacketParam4 = RADIO_PACKET_VARIABLE_LENGTH;
- Eeprom.EepromData.DemoSettings.PacketParam5 = DEMO_MIN_PAYLOAD;
- Eeprom.EepromData.DemoSettings.PacketParam6 = RADIO_CRC_3_BYTES;
- Eeprom.EepromData.DemoSettings.PacketParam7 = RADIO_WHITENING_ON;
-
- EepromSaveSettings( RADIO_GFSK_PARAMS );
-
- Eeprom.EepromData.DemoSettings.ModulationType = PACKET_TYPE_FLRC;
- Eeprom.EepromData.ModulationParams.PacketType = PACKET_TYPE_FLRC;
- Eeprom.EepromData.PacketParams.PacketType = PACKET_TYPE_FLRC;
-
- Eeprom.EepromData.DemoSettings.ModulationParam1 = FLRC_BR_0_260_BW_0_3;
- Eeprom.EepromData.DemoSettings.ModulationParam2 = FLRC_CR_1_2;
- Eeprom.EepromData.DemoSettings.ModulationParam3 = RADIO_MOD_SHAPING_BT_1_0;
-
- Eeprom.EepromData.DemoSettings.PacketParam1 = PREAMBLE_LENGTH_32_BITS;
- Eeprom.EepromData.DemoSettings.PacketParam2 = FLRC_SYNCWORD_LENGTH_4_BYTE;
- Eeprom.EepromData.DemoSettings.PacketParam3 = RADIO_RX_MATCH_SYNCWORD_1;
- Eeprom.EepromData.DemoSettings.PacketParam4 = RADIO_PACKET_VARIABLE_LENGTH;
- Eeprom.EepromData.DemoSettings.PacketParam5 = DEMO_MIN_PAYLOAD;
- Eeprom.EepromData.DemoSettings.PacketParam6 = RADIO_CRC_3_BYTES;
- Eeprom.EepromData.DemoSettings.PacketParam7 = RADIO_WHITENING_OFF;
-
- EepromSaveSettings( RADIO_FLRC_PARAMS );
-
- Eeprom.EepromData.DemoSettings.Entity = SLAVE;
- Eeprom.EepromData.DemoSettings.AntennaSwitch = 0x00;
- Eeprom.EepromData.DemoSettings.RadioPowerMode = USE_DCDC;
- Eeprom.EepromData.DemoSettings.Frequency = DEMO_CENTRAL_FREQ_PRESET1;
- Eeprom.EepromData.DemoSettings.TxPower = DEMO_POWER_TX_MAX;
- Eeprom.EepromData.DemoSettings.MaxNumPacket = 0x00; // infinite
- Eeprom.EepromData.DemoSettings.ModulationType = PACKET_TYPE_LORA;
-
- EepromSaveSettings( DEMO_SETTINGS );
-}
-
-/*!
- * \brief Erase a page of Flash. Here used to Erase EEPROM region.
- *
- * \param [in] page address of page to erase
- * \param [in] banks address of banks to erase
- */
-void FlashPageErase( uint32_t page, uint32_t banks )
-{
- // Check the parameters
- assert_param( IS_FLASH_PAGE( page ) );
- assert_param( IS_FLASH_BANK_EXCLUSIVE( banks ) );
-
- if( ( banks & FLASH_BANK_1 ) != RESET )
- {
- CLEAR_BIT( FLASH->CR, FLASH_CR_BKER );
- }
- else
- {
- SET_BIT( FLASH->CR, FLASH_CR_BKER );
- }
-
- // Proceed to erase the page
- MODIFY_REG( FLASH->CR, FLASH_CR_PNB, ( page << 3 ) );
- SET_BIT( FLASH->CR, FLASH_CR_PER );
- SET_BIT( FLASH->CR, FLASH_CR_STRT );
-}
-
-/*!
- * \brief Write Eeprom to emulated EEPROM (in fact in Flash " higher address).
- *
- * \param [in] addr address of data (EEPROM offset not to be include)
- * \param [in] buffer buffer to use for copy
- * \param [in] size size of data to copy
- *
- * \retval status Status of operation (SUCCESS, ..)
- */
-uint8_t EepromMcuWriteBuffer( uint16_t addr, uint8_t *buffer, uint16_t size )
-{
- uint64_t *flash = ( uint64_t* )buffer;
-
- // assert_param( addr >= DATA_EEPROM_BASE );
- assert_param( buffer != NULL );
- assert_param( size < ( DATA_EEPROM_END - DATA_EEPROM_BASE ) );
-
- HAL_FLASH_Unlock( );
-
- FlashPageErase( 255, 1 );
-
- WRITE_REG( FLASH->CR, 0x40000000 );
-
- for( uint32_t i = 0; i < size; i++ )
- {
- HAL_FLASH_Program( FLASH_TYPEPROGRAM_DOUBLEWORD, DATA_EEPROM_BASE + \
- ( 8 * i ), flash[i] );
- }
-
- HAL_FLASH_Lock( );
-
- return SUCCESS;
-}
-
-uint8_t EepromMcuReadBuffer( uint16_t addr, uint8_t *buffer, uint16_t size )
-{
- assert_param( buffer != NULL );
-
- // assert_param( addr >= DATA_EEPROM_BASE );
- assert_param( buffer != NULL );
- assert_param( size < ( DATA_EEPROM_END - DATA_EEPROM_BASE ) );
-
- memcpy( buffer, ( uint8_t* )DATA_EEPROM_BASE, size );
- return SUCCESS;
-}
-
-static MemTestStruct_t EepromDataCheckSum( void )
-{
- MemTestStruct_t memTestStruct;
- uint8_t x;
- uint8_t i;
- uint16_t crcBuf;
- memTestStruct.Value = 0xFFFF;
-
- for( i = 0; i < EEPROM_BUFFER_SIZE - sizeof( uint16_t ); i++ )
- {
- x = memTestStruct.Value >> 8 ^ Eeprom.Buffer[i];
- x ^= x >> 4;
- memTestStruct.Value = ( memTestStruct.Value << 8 ) ^ \
- ( ( uint16_t )( x << 12 ) ) ^ \
- ( ( uint16_t )( x << 5 ) ) ^ \
- ( ( uint16_t )x );
- }
- memcpy( &crcBuf, Eeprom.Buffer + EEPROM_CRC_EEPROM_ADDR, 2 );
- memTestStruct.Valid = ( crcBuf == memTestStruct.Value );
-
- return memTestStruct;
-}
-
-void EepromFactoryReset( void )
-{
- EepromSetDefaultSettings( );
- EepromLoadSettings( ( RadioPacketTypes_t )Eeprom.EepromData.DemoSettings.ModulationType );
-}
--- a/Peripherals/Eeprom.h Fri Aug 24 08:01:53 2018 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,195 +0,0 @@
-/*
- ______ _
- / _____) _ | |
-( (____ _____ ____ _| |_ _____ ____| |__
- \____ \| ___ | (_ _) ___ |/ ___) _ \
- _____) ) ____| | | || |_| ____( (___| | | |
-(______/|_____)_|_|_| \__)_____)\____)_| |_|
- (C)2016 Semtech
-
-Description: EEPROM routines header
-
-Maintainer: Gregory Cristian & Gilbert Menth
-*/
-
-#ifndef EEPROM_H
-#define EEPROM_H
-
-
-#include "Menu.h"
-#include "DemoApplication.h"
-#include "sx1280.h"
-
-
-/*!
- * \brief Define Buffer indexes for each EepromData for copy and restore
- */
-#define SCR_CAL_FLAG_EEPROM_ADDR 0 // boolean
-#define SCR_CAL_POSA_EEPROM_ADDR 1 // int32
-#define SCR_CAL_POSB_EEPROM_ADDR 5 // int32
-#define SCR_CAL_POSC_EEPROM_ADDR 9 // int32
-#define SCR_CAL_POSD_EEPROM_ADDR 13 // int32
-#define SCR_CAL_POSE_EEPROM_ADDR 17 // int32
-#define SCR_CAL_POSF_EEPROM_ADDR 21 // int32
-#define APP_ENTITY_EEPROM_ADDR 25 // uint8
-#define APP_ANT_SW_EEPROM_ADDR 26 // uint8
-#define APP_FREQ_EEPROM_ADDR 27 // uint32_t Frequency;
-#define APP_TXPWR_EEPROM_ADDR 31 // int8_t TxPower;
-#define APP_MOD_TYPE_EEPROM_ADDR 32 // uint8_t ModulationType;
-#define APP_PER_NPAK_MAX_EEPROM_ADDR 33 // uint32_t MaxNumPacket;
-#define APP_RADIO_POWER_MODE_EEPROM_ADDR 37 // RadioRegulatorMode_t
-#define APP_RNG_REQ_COUNT_EEPROM_ADDR 38 // uint8_t
-#define APP_RNG_FULLSCALE_EEPROM_ADDR 39 // uint16_t
-#define APP_RNG_RFU_EEPROM_ADDR 41
-#define APP_RNG_UNIT_EEPROM_ADDR 42 // ranging distance unit
-#define APP_RNG_ADDR_EEPROM_ADDR 43 // uint32_t
-#define APP_RNG_ANT_EEPROM_ADDR 47 // uint8_t RngAntenna
-#define MOD_PAK_TYPE_EEPROM_ADDR 48 // enum
-#define MOD_GFS_BRBW_EEPROM_ADDR 49 // BitrateBandwidth
-#define MOD_GFS_MOD_IND_EEPROM_ADDR 50 // ModulationIndex
-#define MOD_GFS_MOD_SHAP_EEPROM_ADDR 51 // ModulationShaping
-#define MOD_LOR_SPREADF_EEPROM_ADDR 52 // SpreadingFactor
-#define MOD_LOR_BW_EEPROM_ADDR 53 // Bandwidth
-#define MOD_LOR_CODERATE_EEPROM_ADDR 54 // CodingRate
-#define MOD_FLR_BRBW_EEPROM_ADDR 55 // BitrateBandwidth
-#define MOD_FLR_CODERATE_EEPROM_ADDR 56 // CodingRate
-#define MOD_FLR_MOD_SHAP_EEPROM_ADDR 57 // ModulationShaping
-#define MOD_BLE_BRBW_EEPROM_ADDR 58 // BitrateBandwidth
-#define MOD_BLE_MOD_IND_EEPROM_ADDR 59 // ModulationIndex
-#define MOD_BLE_MOD_SHAP_EEPROM_ADDR 60 // ModulationShaping
-#define MOD_RNG_SPREADF_EEPROM_ADDR 61 // SpreadingFactor
-#define MOD_RNG_BW_EEPROM_ADDR 62 // Bandwidth
-#define MOD_RNG_CODERATE_EEPROM_ADDR 63 // CodingRate
-#define PAK_PAK_TYPE_EEPROM_ADDR 64 //
-#define PAK_GFS_PREAMBLE_LEN_EEPROM_ADDR 65 // PreambleLength
-#define PAK_GFS_SYNC_LEN_EEPROM_ADDR 66 // SyncWordLength
-#define PAK_GFS_SYNC_MATCH_EEPROM_ADDR 67 // SyncWordMatch
-#define PAK_GFS_HEADERTYPE_EEPROM_ADDR 68 // HeaderType
-#define PAK_GFS_PL_LEN_EEPROM_ADDR 69 // PayloadLength
-#define PAK_GFS_CRC_LEN_EEPROM_ADDR 70 // CrcLength
-#define PAK_GFS_WHITENING_EEPROM_ADDR 71 // Whitening
-#define PAK_LOR_PREAMBLE_LEN_EEPROM_ADDR 72 // PreambleLength
-#define PAK_LOR_HEADERTYPE_EEPROM_ADDR 73 // HeaderType
-#define PAK_LOR_PL_LEN_EEPROM_ADDR 74 // PayloadLength
-#define PAK_LOR_CRC_MODE_EEPROM_ADDR 75 // CrcMode
-#define PAK_LOR_IQ_INV_EEPROM_ADDR 76 // InvertIQ
-#define PAK_RNG_PREAMBLE_LEN_EEPROM_ADDR 77 // PreambleLength
-#define PAK_RNG_HEADERTYPE_EEPROM_ADDR 78 // HeaderType
-#define PAK_RNG_PL_LEN_EEPROM_ADDR 79 // PayloadLength
-#define PAK_RNG_CRC_MODE_EEPROM_ADDR 80 // CrcMode
-#define PAK_RNG_IQ_INV_EEPROM_ADDR 81 // InvertIQ
-#define PAK_FLR_PREAMBLE_LEN_EEPROM_ADDR 82 // PreambleLength
-#define PAK_FLR_SYNC_LEN_EEPROM_ADDR 83 // SyncWordLength
-#define PAK_FLR_SYNC_MATCH_EEPROM_ADDR 84 // SyncWordMatch
-#define PAK_FLR_HEADERTYPE_EEPROM_ADDR 85 // HeaderType
-#define PAK_FLR_PL_LEN_EEPROM_ADDR 86 // PayloadLength
-#define PAK_FLR_CRC_LEN_EEPROM_ADDR 87 // CrcLength
-#define PAK_FLR_WHITENING_EEPROM_ADDR 88 // Whitening
-#define PAK_BLE_CON_STATE_EEPROM_ADDR 89 // ConnectionState
-#define PAK_BLE_CRC_FIELD_EEPROM_ADDR 90 // CrcField
-#define PAK_BLE_PAK_TYPE_EEPROM_ADDR 91 // BlePacketType
-#define PAK_BLE_WHITENING_EEPROM_ADDR 92 // Whitening
-#define EEPROM_CRC_EEPROM_ADDR 93 // uint16
-
-/*!
- * \brief Eeprom buffer size. Cf. above.
- */
-#define EEPROM_BUFFER_SIZE 95
-
-
-/*!
- * \brief Part of EEPROM to save or restore
- */
-typedef enum
-{
- ALL_DATA,
- SCREEN_DATA,
- DEMO_SETTINGS,
- RADIO_LORA_PARAMS,
- RADIO_RANGING_PARAMS,
- RADIO_FLRC_PARAMS,
- RADIO_GFSK_PARAMS,
- RADIO_BLE_PARAMS
-}EepromDataSet_t;
-
-/*!
- * \brief EepromData structure
- */
-typedef struct
-{
- MenuSettings_t MenuSettings;
- DemoSettings_t DemoSettings;
- ModulationParams_t ModulationParams;
- PacketParams_t PacketParams;
- uint16_t CheckSum;
-}EepromData_t;
-
-/*!
- * \brief Eeprom structure
- */
-typedef struct
-{
- EepromData_t EepromData;
- // Allows for the checksum to be carried out
- uint8_t Buffer[EEPROM_BUFFER_SIZE];
-}Eeprom_t;
-
-
-/*!
- * \brief Local copy of Eeprom. (defined in Eeprom.cpp)
- */
-extern Eeprom_t Eeprom;
-
-
-/*!
- * \brief Initialises the contents of EepromData
- */
-void EepromInit( void );
-
-/*!
- * \brief Read Eeprom from emulated EEPROM (in fact in Flash " higher address).
- *
- * \param [in] addr address of data (EEPROM offset not to be include)
- * \param [in] buffer buffer to use for copy
- * \param [in] size size of data to copy
- *
- * \retval status Status of operation (SUCCESS, ..)
- */
-uint8_t EepromMcuReadBuffer( uint16_t addr, uint8_t *buffer, uint16_t size );
-
-/*!
- * \brief Writes the EepromData to emulated EEPROM
- *
- * \param [in] dataSet Set of data to save or restore
- */
-void EepromSaveSettings( EepromDataSet_t dataSet);
-
-/*!
- * \brief Loads EepromData from emulated EEPROM
- */
-void EepromLoadGeneralSettings ( void );
-
-/*!
- * \brief Loads EepromData with updated modulation and packet parameters
- *
- * \param [in] modulation modulation type to select for mod. & packet params
- */
-void EepromLoadSettings( RadioPacketTypes_t modulation );
-
-/*!
- * \brief Initialises the contents of flash to default values & save to EEPROM
- */
-void EepromSetDefaultSettings( void );
-
-/*!
- * \brief Initialises the contents of flash to default values (for ranging
- * demo : best set) & save to EEPROM
- */
-void EepromSetRangingDefaultSettings( void );
-
-/*!
- * \brief Reset the EEPROM to factory state
- */
-void EepromFactoryReset( void );
-
-#endif //EEPROM_H
--- a/Peripherals/GpsMax7.cpp Fri Aug 24 08:01:53 2018 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,602 +0,0 @@
-/*
- ______ _
- / _____) _ | |
-( (____ _____ ____ _| |_ _____ ____| |__
- \____ \| ___ | (_ _) ___ |/ ___) _ \
- _____) ) ____| | | || |_| ____( (___| | | |
-(______/|_____)_|_|_| \__)_____)\____)_| |_|
- (C)2016 Semtech
-
-Description: uBlox MAX7 GPS
-
-Maintainer: Gregory Cristian & Gilbert Menth
-*/
-
-#include <stdio.h>
-#include "mbed.h"
-#include "Timers.h"
-#include "GpsMax7.h"
-
-
-#define MAX_NMEA_SENTENCE_LENGTH 100
-#define GPS_I2C_ADDR ( 0x84 ) // GPS IC I2C address
-#define NUM_SETUP_COMMANDS 7
-#define SETUP_COMMAND_LENGTH 16
-#define DATA_STREAM_ADDRESS 0xFF
-#define I2C_FREQUENCY 100000 //100 kHz
-
-
-typedef enum
-{
- GPGGA_NMEA_DOLLAR,
- GPGGA_NMEA_G1,
- GPGGA_NMEA_P,
- GPGGA_NMEA_G2,
- GPGGA_NMEA_G3,
- GPGGA_NMEA_A,
- GPGGA_NMEA_CR,
- GPGGA_NMEA_LF
-}GpggaNmeaFields_t;
-
-typedef enum
-{
- GPZDA_NMEA_DOLLAR,
- GPZDA_NMEA_G1,
- GPZDA_NMEA_P,
- GPZDA_NMEA_G2,
- GPZDA_NMEA_G3,
- GPZDA_NMEA_A,
- GPZDA_NMEA_CR,
- GPZDA_NMEA_LF
-}GpzdaNmeaFields_t;
-
-typedef enum
-{
- GPS_COMMS_INIT,
- GPS_COMMS_WRITE_SETUP,
- GPS_COMMS_WAIT_WRITE_SETUP,
- GPS_COMMS_READ_DATA_BUFFER,
- GPS_COMMS_WAIT_NEXT_READ
-}GpsCommsState_t;
-
-union GpsBufferSize
-{
- uint16_t NumBytes;
- char NumBytesBuffer[2];
-};
-
-
-//MAX7 initialisation commands
-const char SetupArray[NUM_SETUP_COMMANDS][SETUP_COMMAND_LENGTH] =
-{
- { 0xB5, 0x62, 0x06, 0x01, 0x08, 0x00, 0xF0, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29 }, // GxGGA on to I2C
- { 0xB5, 0x62, 0x06, 0x01, 0x08, 0x00, 0xF0, 0x08, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x09, 0x62 }, // GxZDA on to I2C
- { 0xB5, 0x62, 0x06, 0x01, 0x08, 0x00, 0xF0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x2B }, // GxGLL not on the I2C
- { 0xB5, 0x62, 0x06, 0x01, 0x08, 0x00, 0xF0, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x04, 0x40 }, // GxRMC not on the I2C
- { 0xB5, 0x62, 0x06, 0x01, 0x08, 0x00, 0xF0, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x05, 0x47 }, // GxVTG not on the I2C
- { 0xB5, 0x62, 0x06, 0x01, 0x08, 0x00, 0xF0, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x32 }, // GxGSA not on the I2C
- { 0xB5, 0x62, 0x06, 0x01, 0x08, 0x00, 0xF0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x39 } // GxGSV not on the I2C
-};
-
-I2C GpsI2C( I2C_SDA, I2C_SCL );
-
-GpsStruct Gps;
-
-static uint8_t GpggaSentenceBuffer[MAX_NMEA_SENTENCE_LENGTH];
-static int GpggaSentenceBufferPtr = 0;
-static uint8_t GpzdaSentenceBuffer[MAX_NMEA_SENTENCE_LENGTH];
-static int GpzdaSentenceBufferPtr = 0;
-
-static GpggaNmeaFields_t GpggaNmeaField;
-static GpzdaNmeaFields_t GpzdaNmeaField;
-static GpsCommsState_t GpsCommsState;
-static uint32_t GpsCommsTimer;
-
-
-static void GpsCheckCommandBufferForGpgga( uint8_t thisChar );
-static void GpsCheckCommandBufferForGpzda( uint8_t thisChar );
-static void ParseNmeaGpggaSentence( void );
-static void ParseNmeaGpzdaSentence( void );
-static bool Max7GpsWriteSetupOK( void );
-static bool Max7GpsReadDataBuffer( void );
-static uint8_t Max7GpsReadRegister( char thisRegAddress );
-
-
-void Max7GpsInit( void )
-{
- GpsI2C.frequency( I2C_FREQUENCY );
-}
-
-void Max7GpsHandle( void )
-{
- switch( GpsCommsState )
- {
- case GPS_COMMS_INIT:
- GpsCommsState = GPS_COMMS_WRITE_SETUP;
- break;
-
- case GPS_COMMS_WRITE_SETUP:
- if( Max7GpsWriteSetupOK( ) )
- {
- GpsCommsState = GPS_COMMS_READ_DATA_BUFFER;
- }
- else
- {
- TimersSetTimer( &GpsCommsTimer, 1 * TIM_SEC );
- GpsCommsState = GPS_COMMS_WAIT_WRITE_SETUP;
- }
- break;
-
- case GPS_COMMS_WAIT_WRITE_SETUP:
- if( TimersTimerHasExpired( &GpsCommsTimer ) )
- {
- GpsCommsState = GPS_COMMS_WRITE_SETUP;
- }
- break;
-
- case GPS_COMMS_READ_DATA_BUFFER:
- Max7GpsReadDataBuffer( );
- TimersSetTimer( &GpsCommsTimer, 100 * TIM_MSEC );
- GpsCommsState = GPS_COMMS_WAIT_NEXT_READ;
- break;
-
- case GPS_COMMS_WAIT_NEXT_READ:
- if( TimersTimerHasExpired( &GpsCommsTimer ) )
- {
- GpsCommsState = GPS_COMMS_READ_DATA_BUFFER;
- }
- break;
- }
-}
-
-static bool Max7GpsWriteSetupOK( void )
-{
- int lineCount;
-
- for( lineCount = 0; lineCount < NUM_SETUP_COMMANDS; lineCount++ )
- {
- if( GpsI2C.write( GPS_I2C_ADDR, &SetupArray[lineCount][0], \
- SETUP_COMMAND_LENGTH, 0 ) )
- {
- return false;
- }
- }
- return true;
-}
-
-static bool Max7GpsReadDataBuffer( void )
-{
- uint8_t incomingCheck;
- bool contFlag = true;
-
- while( contFlag )
- {
- incomingCheck = Max7GpsReadRegister( DATA_STREAM_ADDRESS );
- if( incomingCheck == 0xFF )
- {
- contFlag = false;
- }
- else
- {
- GpsCheckCommandBufferForGpgga( incomingCheck );
- GpsCheckCommandBufferForGpzda( incomingCheck );
- }
- }
- return false;
-}
-
-static uint8_t Max7GpsReadRegister( char thisRegAddress )
-{
- char thisValue;
- uint8_t retVal;
-
- thisValue = thisRegAddress;
- GpsI2C.write( GPS_I2C_ADDR, &thisValue, 1, 0 );
- GpsI2C.read( GPS_I2C_ADDR, &thisValue, 1, 0 );
- retVal = ( uint8_t )thisValue;
- return retVal;
-}
-
-static void GpsCheckCommandBufferForGpgga( uint8_t thisChar )
-{
- switch( GpggaNmeaField )
- {
- default:
- case GPGGA_NMEA_DOLLAR:
- if( thisChar == '$' )
- {
- GpggaSentenceBufferPtr = 0;
- GpggaSentenceBuffer[GpggaSentenceBufferPtr++] = thisChar;
- GpggaNmeaField = GPGGA_NMEA_G1;
- }
- break;
-
- case GPGGA_NMEA_G1:
- if( thisChar == 'G' )
- {
- GpggaSentenceBuffer[GpggaSentenceBufferPtr++] = thisChar;
- GpggaNmeaField = GPGGA_NMEA_P;
- }
- else
- {
- GpggaNmeaField = GPGGA_NMEA_DOLLAR;
- }
- break;
-
- case GPGGA_NMEA_P:
- if( thisChar == 'P' )
- {
- GpggaSentenceBuffer[GpggaSentenceBufferPtr++] = thisChar;
- GpggaNmeaField = GPGGA_NMEA_G2;
- }
- else
- {
- GpggaNmeaField = GPGGA_NMEA_DOLLAR;
- }
- break;
-
- case GPGGA_NMEA_G2:
- if( thisChar == 'G' )
- {
- GpggaSentenceBuffer[GpggaSentenceBufferPtr++] = thisChar;
- GpggaNmeaField = GPGGA_NMEA_G3;
- }
- else
- {
- GpggaNmeaField = GPGGA_NMEA_DOLLAR;
- }
- break;
-
- case GPGGA_NMEA_G3:
- if( thisChar == 'G' )
- {
- GpggaSentenceBuffer[GpggaSentenceBufferPtr++] = thisChar;
- GpggaNmeaField = GPGGA_NMEA_A;
- }
- else
- {
- GpggaNmeaField = GPGGA_NMEA_DOLLAR;
- }
- break;
-
- case GPGGA_NMEA_A:
- if( thisChar == 'A' )
- {
- GpggaSentenceBuffer[GpggaSentenceBufferPtr++] = thisChar;
- GpggaNmeaField = GPGGA_NMEA_CR;
- }
- else
- {
- GpggaNmeaField = GPGGA_NMEA_DOLLAR;
- }
- break;
-
- case GPGGA_NMEA_CR:
- GpggaSentenceBuffer[GpggaSentenceBufferPtr++] = thisChar;
- if( GpggaSentenceBufferPtr >= MAX_NMEA_SENTENCE_LENGTH )
- {
- GpggaNmeaField = GPGGA_NMEA_DOLLAR;
- }
- if( thisChar == 0x0A )
- {
- ParseNmeaGpggaSentence( );
- }
- break;
-
- case GPGGA_NMEA_LF:
- break;
- }
-}
-
-static void GpsCheckCommandBufferForGpzda( uint8_t thisChar )
-{
- switch( GpzdaNmeaField )
- {
- default:
- case GPZDA_NMEA_DOLLAR:
- if( thisChar == '$' )
- {
- GpzdaSentenceBufferPtr = 0;
- GpzdaSentenceBuffer[GpzdaSentenceBufferPtr++] = thisChar;
- GpzdaNmeaField = GPZDA_NMEA_G1;
- }
- break;
-
- case GPZDA_NMEA_G1:
- if( thisChar == 'G' )
- {
- GpzdaSentenceBuffer[GpzdaSentenceBufferPtr++] = thisChar;
- GpzdaNmeaField = GPZDA_NMEA_P;
- }
- else
- {
- GpzdaNmeaField = GPZDA_NMEA_DOLLAR;
- }
- break;
-
- case GPZDA_NMEA_P:
- if( thisChar == 'P' )
- {
- GpzdaSentenceBuffer[GpzdaSentenceBufferPtr++] = thisChar;
- GpzdaNmeaField = GPZDA_NMEA_G2;
- }
- else
- {
- GpzdaNmeaField = GPZDA_NMEA_DOLLAR;
- }
- break;
-
- case GPZDA_NMEA_G2:
- if( thisChar == 'Z' )
- {
- GpzdaSentenceBuffer[GpzdaSentenceBufferPtr++] = thisChar;
- GpzdaNmeaField = GPZDA_NMEA_G3;
- }
- else
- {
- GpzdaNmeaField = GPZDA_NMEA_DOLLAR;
- }
- break;
-
- case GPZDA_NMEA_G3:
- if( thisChar == 'D' )
- {
- GpzdaSentenceBuffer[GpzdaSentenceBufferPtr++] = thisChar;
- GpzdaNmeaField = GPZDA_NMEA_A;
- }
- else
- {
- GpzdaNmeaField = GPZDA_NMEA_DOLLAR;
- }
- break;
-
- case GPZDA_NMEA_A:
- if( thisChar == 'A' )
- {
- GpzdaSentenceBuffer[GpzdaSentenceBufferPtr++] = thisChar;
- GpzdaNmeaField = GPZDA_NMEA_CR;
- }
- else
- {
- GpzdaNmeaField = GPZDA_NMEA_DOLLAR;
- }
- break;
-
- case GPZDA_NMEA_CR:
- GpzdaSentenceBuffer[GpzdaSentenceBufferPtr++] = thisChar;
- if( GpzdaSentenceBufferPtr >= MAX_NMEA_SENTENCE_LENGTH )
- {
- GpzdaNmeaField = GPZDA_NMEA_DOLLAR;
- }
- if( thisChar == 0x0A )
- {
- ParseNmeaGpzdaSentence( );
- }
- break;
-
- case GPZDA_NMEA_LF:
- break;
- }
-}
-
-static void ParseNmeaGpggaSentence( void )
-{
- GpggaStruct thisFix;
- int sentencePtr = 1;
- int subStrPtr = 0;
- int commaCount = 0;
- uint8_t checkSum = 0;
- uint8_t thisChar;
- bool contFlag = true;
- char tArray[3];
- char compArray[3];
-
- while( contFlag ) //Get the checksum
- {
- thisChar = GpggaSentenceBuffer[sentencePtr];
- if( thisChar == '*' )
- {
- contFlag = false;
- }
- else
- {
- checkSum ^= thisChar;
- }
- sentencePtr++;
- if( sentencePtr >= MAX_NMEA_SENTENCE_LENGTH )
- {
- thisFix.Fixed = false;
- return;
- }
- }
- compArray[0] = GpggaSentenceBuffer[sentencePtr++];
- compArray[1] = GpggaSentenceBuffer[sentencePtr];
- compArray[2] = 0x00;
- sentencePtr = 0;
- sprintf( tArray, "%02X", checkSum );
- if( strcmp( tArray, compArray ) != 0 ) //Fails checksum
- {
- thisFix.Fixed = false;
- return;
- }
- while( commaCount < 6 ) //Find fix quality
- {
- if( GpggaSentenceBuffer[sentencePtr++] == ',' )
- {
- commaCount++;
- }
- if( sentencePtr >= MAX_NMEA_SENTENCE_LENGTH )
- {
- thisFix.Fixed = false;
- return;
- }
- }
- switch( GpggaSentenceBuffer[sentencePtr++] )
- {
- case '1':
- case '2':
- case '3':
- case '4':
- thisFix.Fixed = true;
- break;
-
- default:
- thisFix.Fixed = false;
- break;
- }
- sentencePtr++; //Skip comma after fix
- thisFix.NumSats[subStrPtr++] = GpggaSentenceBuffer[sentencePtr++];
- thisFix.NumSats[subStrPtr++] = GpggaSentenceBuffer[sentencePtr++];
- thisFix.NumSats[subStrPtr] = 0;
- if( thisFix.Fixed )
- {
- sentencePtr = 0;
- commaCount = 0;
- while( commaCount < 1 ) //Find fix time
- {
- if( GpggaSentenceBuffer[sentencePtr++] == ',' )
- {
- commaCount++;
- }
- if( sentencePtr >= MAX_NMEA_SENTENCE_LENGTH )
- {
- thisFix.Fixed = false;
- return;
- }
- }
- subStrPtr = 0;
- // Skip over time field as this can be picked up from the other sentence
- sentencePtr += 6;
- while( commaCount < 2 ) //Find Latitude
- {
- if( GpzdaSentenceBuffer[sentencePtr++] == ',' )
- {
- commaCount++;
- }
- if( sentencePtr >= MAX_NMEA_SENTENCE_LENGTH )
- {
- thisFix.Fixed = false;
- return;
- }
- }
- subStrPtr = 0;
- for( commaCount = 0; commaCount < 10; commaCount++ )
- {
- thisFix.Lat[subStrPtr++] = GpggaSentenceBuffer[sentencePtr++];
- }
- sentencePtr++; // Skip next comma
- thisFix.Lat[subStrPtr++] = ' '; //Add a space
- thisFix.Lat[subStrPtr++] = GpggaSentenceBuffer[sentencePtr++]; //N or S
- thisFix.Lat[subStrPtr] = 0x00; //String terminate
-
- while( commaCount < 4 ) //Find Longitude
- {
- if( GpggaSentenceBuffer[sentencePtr++] == ',' )
- {
- commaCount++;
- }
- if( sentencePtr >= MAX_NMEA_SENTENCE_LENGTH )
- {
- thisFix.Fixed = false;
- return;
- }
- }
- sentencePtr++; // Skip this comma
- subStrPtr = 0;
- for( commaCount = 0; commaCount < 11; commaCount++ )
- {
- thisFix.Long[subStrPtr++] = GpggaSentenceBuffer[sentencePtr++];
- }
- sentencePtr++; // Skip next comma
- thisFix.Long[subStrPtr++] = ' '; //Add a space
- thisFix.Long[subStrPtr++] = GpggaSentenceBuffer[sentencePtr++]; //E or W
- thisFix.Long[subStrPtr] = 0x00; //String terminate
- }
- thisFix.Updated = true;
- Gps.Position = thisFix;
-}
-
-static void ParseNmeaGpzdaSentence( void )
-{
- GpzdaStruct thisTime;
- int sentencePtr = 1;
- int commaCount = 0;
- uint8_t checkSum = 0;
- uint8_t thisChar;
- bool contFlag = true;
- char tArray[3];
- char compArray[3];
-
- while( contFlag ) //Get the checksum
- {
- thisChar = GpzdaSentenceBuffer[sentencePtr];
- if( thisChar == '*' )
- {
- contFlag = false;
- }
- else
- {
- checkSum ^= thisChar;
- }
- sentencePtr++;
- if( sentencePtr >= MAX_NMEA_SENTENCE_LENGTH )
- {
- return;
- }
- }
- compArray[0] = GpzdaSentenceBuffer[sentencePtr++];
- compArray[1] = GpzdaSentenceBuffer[sentencePtr];
- compArray[2] = 0x00;
- sentencePtr = 0;
- sprintf( tArray, "%02X", checkSum );
- if( strcmp( tArray, compArray ) != 0 ) //Fails checksum
- {
- return;
- }
- while( commaCount < 1 ) //Start with hours (first field)
- {
- if( GpzdaSentenceBuffer[sentencePtr++] == ',' )
- {
- commaCount++;
- }
- if( sentencePtr >= MAX_NMEA_SENTENCE_LENGTH )
- {
- return;
- }
- }
- thisTime.Hour[0] = GpzdaSentenceBuffer[sentencePtr++];
- thisTime.Hour[1] = GpzdaSentenceBuffer[sentencePtr++];
- thisTime.Hour[2] = 0x00;
-
- thisTime.Minute[0] = GpzdaSentenceBuffer[sentencePtr++];
- thisTime.Minute[1] = GpzdaSentenceBuffer[sentencePtr++];
- thisTime.Minute[2] = 0x00;
-
- thisTime.Second[0] = GpzdaSentenceBuffer[sentencePtr++];
- thisTime.Second[1] = GpzdaSentenceBuffer[sentencePtr++];
- thisTime.Second[2] = 0x00;
- sentencePtr += 4;
-
- thisTime.Day[0] = GpzdaSentenceBuffer[sentencePtr++];
- thisTime.Day[1] = GpzdaSentenceBuffer[sentencePtr++];
- thisTime.Day[2] = 0x00;
- sentencePtr += 1;
-
- thisTime.Month[0] = GpzdaSentenceBuffer[sentencePtr++];
- thisTime.Month[1] = GpzdaSentenceBuffer[sentencePtr++];
- thisTime.Month[2] = 0x00;
- sentencePtr += 1;
-
- thisTime.Year[0] = GpzdaSentenceBuffer[sentencePtr++];
- thisTime.Year[1] = GpzdaSentenceBuffer[sentencePtr++];
- thisTime.Year[2] = GpzdaSentenceBuffer[sentencePtr++];
- thisTime.Year[3] = GpzdaSentenceBuffer[sentencePtr++];
- thisTime.Year[4] = 0x00;
- thisTime.Updated = true;
- Gps.Time = thisTime;
-}
-
-GpsStruct* Max7GpsgetData( void )
-{
- return &Gps ;
-}
--- a/Peripherals/GpsMax7.h Fri Aug 24 08:01:53 2018 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +0,0 @@
-/*
- ______ _
- / _____) _ | |
-( (____ _____ ____ _| |_ _____ ____| |__
- \____ \| ___ | (_ _) ___ |/ ___) _ \
- _____) ) ____| | | || |_| ____( (___| | | |
-(______/|_____)_|_|_| \__)_____)\____)_| |_|
- (C)2016 Semtech
-
-Description: uBlox MAX7 GPS header
-
-Maintainer: Gregory Cristian & Gilbert Menth
-*/
-
-#ifndef MAX7_GPS_H
-#define MAX7_GPS_H
-
-
-/*!
- * \brief GPGGA format structure.
- */
-struct GpggaStruct
-{
- char Lat[15];
- char Long[15];
- char NumSats[3];
- bool Fixed;
- bool Updated;
-};
-
-/*!
- * \brief GPZDA format structure.
- */
-struct GpzdaStruct
-{
- char Hour[3];
- char Minute[3];
- char Second[3];
- char Day[3];
- char Month[3];
- char Year[5];
- bool Updated;
-};
-
-/*!
- * \brief GPS data structure.
- */
-struct GpsStruct
-{
- GpggaStruct Position;
- GpzdaStruct Time;
-};
-
-
-/*!
- * \brief Initialses the hardware and variables associated with the MAX7.
- */
-void Max7GpsInit( void );
-
-/*!
- * \brief Returns the required data from the MAX7.
- *
- * \retval GpsStruct* Pointer to the current GPS data.
- */
-GpsStruct* Max7GpsgetData( void );
-
- /*!
- * \brief Called from the main loop in order to deal with the MAX7 communications.
- */
-void Max7GpsHandle( void );
-
-#endif //MAX7_GPS_H
--- a/Peripherals/SX9306.cpp Fri Aug 24 08:01:53 2018 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,263 +0,0 @@
-/*
- ______ _
- / _____) _ | |
-( (____ _____ ____ _| |_ _____ ____| |__
- \____ \| ___ | (_ _) ___ |/ ___) _ \
- _____) ) ____| | | || |_| ____( (___| | | |
-(______/|_____)_|_|_| \__)_____)\____)_| |_|
- (C)2016 Semtech
-
-Description: SX9306 Proximity sensor
-
-Maintainer: Gregory Cristian & Gilbert Menth
-*/
-
-#include "mbed.h"
-#include <stdio.h>
-#include "DmTftBase.h"
-#include "SX9306.h"
-#include "Timers.h"
-#include "Eeprom.h"
-
-union ProximityData_t
-{
- ProximityStruct ThisAntenna;
- char Buffer[sizeof( ProximityStruct )];
-};
-
-typedef enum
-{
- PROXIMITY_STATE_START_RESET,
- PROXIMITY_STATE_WAIT_RESET,
- PROXIMITY_STATE_INIT,
- PROXIMITY_STATE_READ,
- PROXIMITY_STATE_WAIT
-}ProximityAppState_t;
-
-
-DigitalOut ProximityIcReset( PA_1 );
-I2C ProxI2C( I2C_SDA, I2C_SCL );
-
-static uint32_t ProximityTimer;
-static char ReadDataBuffer[2];
-static char WriteDataBuffer[2];
-static ProximityAppState_t ProximityAppState;
-static ProximityData_t ProximityReading;
-static ProximityStruct Antenna[2];
-
-
-static bool SX9306ProximityReadRegister( char thisRegAddress, char *value );
-static bool SX9306ProximityWriteRegister( char thisRegAddress, char value );
-static bool SX9306ProximityReadAntennaValues( void );
-
-
-void SX9306ProximityInit( void )
-{
- int count;
-
- ProximityAppState = PROXIMITY_STATE_START_RESET;
- for( count = 0; count < 2; count++ )
- {
- Antenna[count].Averaged = 0;
- Antenna[count].Instantaneous = 0;
- }
-}
-
-void SX9306ProximityHandle( void )
-{
- bool i2cResult;
-
- switch( ProximityAppState )
- {
- case PROXIMITY_STATE_START_RESET:
- ProximityIcReset = false;
- TimersSetTimer( &ProximityTimer, 10 * TIM_MSEC );
- ProximityAppState = PROXIMITY_STATE_WAIT_RESET;
- break;
-
- case PROXIMITY_STATE_WAIT_RESET:
- if( TimersTimerHasExpired( &ProximityTimer ) )
- {
- ProximityIcReset = true;
- TimersSetTimer( &ProximityTimer, 10 * TIM_MSEC );
- ProximityAppState = PROXIMITY_STATE_INIT;
- }
- break;
-
- case PROXIMITY_STATE_INIT:
- if( TimersTimerHasExpired( &ProximityTimer ) )
- {
- TimersSetTimer( &ProximityTimer, 1 * TIM_SEC );
- //Clear interrupts after power on
- i2cResult = SX9306ProximityReadRegister( REG_IRQ_SRC, \
- &ReadDataBuffer[0] );
- if( !i2cResult )
- {
- //Enable antennas 1 & 2
- i2cResult = SX9306ProximityWriteRegister( REG_CONTROL_0, \
- SENSOR_ENABLE_23 );
- if( !i2cResult )
- {
- //Stop doze mode
- i2cResult = SX9306ProximityWriteRegister( REG_CONTROL_3, \
- SENSOR_DOZE_OFF );
- if( !i2cResult )
- {
- //Set max gain and granularity
- i2cResult = SX9306ProximityWriteRegister( REG_CONTROL_2, \
- MAX_GAIN );
- }
- }
- }
- if( !i2cResult )
- {
- ProximityAppState = PROXIMITY_STATE_READ;
- }
- else
- {
- ProximityAppState = PROXIMITY_STATE_START_RESET;
- }
- }
- break;
-
- case PROXIMITY_STATE_READ:
- TimersSetTimer( &ProximityTimer, 1 * TIM_SEC );
- //Select antenna 1
- i2cResult = SX9306ProximityWriteRegister( REG_SENSORSEL, SENSOR_SEL_1 );
- if( i2cResult )
- {
- ProximityAppState = PROXIMITY_STATE_START_RESET;
- break;
- }
- i2cResult = SX9306ProximityReadAntennaValues( ); //Read values
- if( i2cResult )
- {
- ProximityAppState = PROXIMITY_STATE_START_RESET;
- break;
- }
- Antenna[ANTENNA_1] = ProximityReading.ThisAntenna;
- //Select antenna 2
- i2cResult = SX9306ProximityWriteRegister( REG_SENSORSEL, SENSOR_SEL_2 );
- if( i2cResult )
- {
- ProximityAppState = PROXIMITY_STATE_START_RESET;
- break;
- }
- i2cResult = SX9306ProximityReadAntennaValues( ); //Read values
- if( i2cResult )
- {
- ProximityAppState = PROXIMITY_STATE_START_RESET;
- break;
- }
- Antenna[ANTENNA_2] = ProximityReading.ThisAntenna;
- ProximityAppState = PROXIMITY_STATE_WAIT;
- break;
-
- case PROXIMITY_STATE_WAIT:
- if( TimersTimerHasExpired( &ProximityTimer ) )
- {
- ProximityAppState = PROXIMITY_STATE_READ;
- }
- break;
- }
-}
-
-static bool SX9306ProximityReadRegister( char thisRegAddress, char *value )
-{
- WriteDataBuffer[0] = thisRegAddress;
- // Write the register address
- if( ProxI2C.write( PROXIMITY_I2C_ADDR, &WriteDataBuffer[0], 1, 0 ) )
- {
- return true;
- }
- // Read data from the address
- if( ProxI2C.read( PROXIMITY_I2C_ADDR, value, 1, 0 ) )
- {
- return true;
- }
- return false;
-}
-
-static bool SX9306ProximityWriteRegister( char thisRegAddress, char value )
-{
- WriteDataBuffer[0] = thisRegAddress;
- WriteDataBuffer[1] = value;
-
- // Write the register address and data byte
- if( ProxI2C.write( PROXIMITY_I2C_ADDR, &WriteDataBuffer[0], 2, 0 ) )
- {
- return true;
- }
- return false;
-}
-
-static bool SX9306ProximityReadAntennaValues( void )
-{
- bool i2cResult;
-
- i2cResult = SX9306ProximityReadRegister( REG_PROXUSEFUL, \
- &ProximityReading.Buffer[1] );
- if( i2cResult )
- {
- return true;
- }
- i2cResult = SX9306ProximityReadRegister( REG_PROXUSEFUL + 1, \
- &ProximityReading.Buffer[0] );
- if( i2cResult )
- {
- return true;
- }
- i2cResult = SX9306ProximityReadRegister( REG_PROXAVG, \
- &ProximityReading.Buffer[3] );
- if( i2cResult )
- {
- return true;
- }
- i2cResult = SX9306ProximityReadRegister( REG_PROXAVG + 1, \
- &ProximityReading.Buffer[2] );
- if( i2cResult )
- {
- return true;
- }
- return false;
-}
-
-uint8_t SX9306proximitySerialCommand( uint8_t writeNotRead, uint8_t address, \
- uint8_t writeValue, uint8_t *readValue )
-{
- char valueRead = 0;
- bool i2cResult;
-
- if( writeNotRead )
- {
- i2cResult = SX9306ProximityWriteRegister( address, writeValue );
- }
- else
- {
- i2cResult = SX9306ProximityReadRegister( address, &valueRead );
- *readValue = ( uint8_t )valueRead;
- }
- if( i2cResult )
- {
- return 0;
- }
- return 1;
-}
-
-uint16_t SX9306proximityGetReadValue( uint32_t thisAntenna )
-{
- uint16_t retVal;
-
- switch( thisAntenna )
- {
- case 0:
- case 1:
- retVal = Antenna[thisAntenna].Instantaneous;
- break;
-
- default:
- retVal = Antenna[0].Instantaneous;
- break;
- }
- return retVal;
-}
--- a/Peripherals/SX9306.h Fri Aug 24 08:01:53 2018 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,91 +0,0 @@
-/*
- ______ _
- / _____) _ | |
-( (____ _____ ____ _| |_ _____ ____| |__
- \____ \| ___ | (_ _) ___ |/ ___) _ \
- _____) ) ____| | | || |_| ____( (___| | | |
-(______/|_____)_|_|_| \__)_____)\____)_| |_|
- (C)2016 Semtech
-
-Description: SX9306 Proximity header
-
-Maintainer: Gregory Cristian & Gilbert Menth
-*/
-
-#ifndef PROXIMITY_H
-#define PROXIMITY_H
-
-
-#define ANTENNA_1 0
-#define ANTENNA_2 1
-
-
-#define REG_IRQ_SRC ( 0x00 ) // Interrupt sources
-#define REG_STATUS ( 0x01 ) // Status
-#define REG_IRQ_MASK ( 0x03 ) // Irq mask
-#define REG_SENSORSEL ( 0x20 ) // Select which sensor
-#define REG_PROXUSEFUL ( 0x21 ) // Instantaneous sensor value
-#define REG_PROXAVG ( 0x23 ) // Averaged sensor value
-#define REG_CONTROL_0 ( 0x06 ) // Enable and scan period
-#define REG_CONTROL_1 ( 0x07 ) //
-#define REG_CONTROL_2 ( 0x08 ) //
-#define REG_CONTROL_3 ( 0x09 ) // Doze and filter
-#define REG_CONTROL_4 ( 0x0A ) //
-#define REG_CONTROL_5 ( 0x0B ) //
-#define REG_CONTROL_6 ( 0x0C ) //
-#define REG_CONTROL_7 ( 0x0D ) //
-#define REG_CONTROL_8 ( 0x0E ) //
-
-#define SAR_RATIO_THRESH ( 0x10 ) //Just for test
-
-#define SENSOR_SEL_1 ( 0x02 ) // Select antenna 1
-#define SENSOR_SEL_2 ( 0x03 ) // Select antenna 2
-#define SENSOR_ENABLE_23 ( 0x0C ) // Enabled sensors 2 & 3 (anteenas 1 & 2)
-#define SENSOR_DOZE_OFF ( 0x00 ) // Prevents doze mode starting
-#define PROXIMITY_I2C_ADDR ( 0x54 ) // Proximity IC I2C address
-#define MAX_GAIN ( 0x77 ) // Maximum gain and best granularity
-
-struct ProximityStruct
-{
- int16_t Instantaneous;
- int16_t Averaged;
-};
-
-
- /*!
- * \brief Initialses the hardware and variables associated with the SX9306.
- */
-void SX9306ProximityInit( void );
-
- /*!
- * \brief Called from the main loop in order to deal with SX9306 communications.
- */
-void SX9306ProximityHandle( void );
-
- /*!
- * \brief Generic command used to read and write from the various SX9306
- * registers. Called from the USB serial port
- *
- * \param [in] WriteNotRead If true defines a write operation
- * \param [in] Address Addess of the register inside the SX9306 to access
- * \param [in] WriteValue Value to be written to the defined register, if a
- * write is specified
- * \param [in] *ReadValue Pointer to the where a read operation should place
- * the data
- *
- * \retval Status Non zero = sucess.
- */
-uint8_t SX9306proximitySerialCommand( uint8_t writeNotRead, uint8_t address, \
- uint8_t writeValue, uint8_t *readValue );
-
- /*!
- * \brief Generic command used to read and write from the various SX9306
- * registers. Called from the USB serial port
- *
- * \param [in] ThisAntenna Defines which antenna is to be read (0 or 1)
- *
- * \retval Value The value read from the defined antenna.
- */
-uint16_t SX9306proximityGetReadValue( uint32_t thisAntenna );
-
-#endif //PROXIMITY_H
--- a/Peripherals/Timers.cpp Fri Aug 24 08:01:53 2018 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-/*
- ______ _
- / _____) _ | |
-( (____ _____ ____ _| |_ _____ ____| |__
- \____ \| ___ | (_ _) ___ |/ ___) _ \
- _____) ) ____| | | || |_| ____( (___| | | |
-(______/|_____)_|_|_| \__)_____)\____)_| |_|
- (C)2016 Semtech
-
-Description: Timers
-
-Maintainer: Gregory Cristian & Gilbert Menth
-*/
-
-#include "mbed.h"
-#include "Timers.h"
-
-
-Ticker TickTimer;
-
-static uint32_t SoftTimer = 0;
-static void TimersIncSoftTimer( void );
-
-
-void TimersInit( void )
-{
- TickTimer.attach_us( &TimersIncSoftTimer, 1000 ); // Ticks every millisecond
-}
-
-static void TimersIncSoftTimer( void )
-{
- SoftTimer++;
-}
-
-void TimersSetTimer( uint32_t *sTimer, uint32_t timeLength )
-{
- if( timeLength > MAX_TIMER_VALUE )
- {
- timeLength = MAX_TIMER_VALUE;
- }
- *sTimer = SoftTimer + timeLength;
-}
-
-uint32_t TimersTimerHasExpired ( const uint32_t * sTimer )
-{
- if( ( SoftTimer - *sTimer ) > 0x7fffffff )
- {
- return false;
- }
- return true;
-}
-
-uint32_t TimersTimerValue ( void )
-{
- return SoftTimer;
-}
--- a/Peripherals/Timers.h Fri Aug 24 08:01:53 2018 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,58 +0,0 @@ -/* - ______ _ - / _____) _ | | -( (____ _____ ____ _| |_ _____ ____| |__ - \____ \| ___ | (_ _) ___ |/ ___) _ \ - _____) ) ____| | | || |_| ____( (___| | | | -(______/|_____)_|_|_| \__)_____)\____)_| |_| - (C)2016 Semtech - -Description: Timers header - -Maintainer: Gregory Cristian & Gilbert Menth -*/ - -#ifndef TIMERS_H -#define TIMERS_H - - -#define TIM_MSEC ( uint32_t )1 -#define TIM_SEC ( uint32_t )1000 -#define TIM_MIN ( uint32_t )60000 -#define TIM_HOUR ( uint32_t )3600000 -#define MAX_TIMER_VALUE ( TIM_MIN * 150 ) // maximum time for timer - - - /*! - * \brief Initialses the hardware and variables associated with the timers. - */ -void TimersInit( void ); - - /*! - * \brief Sets a timer to a specific value - * - * \param [in] *STimer Pointer to the timer value to be set. - * \param [in] TimeLength Value to set the timer to in milliseconds. - */ -void TimersSetTimer( uint32_t *sTimer, uint32_t timeLength ); - - /*! - * \brief Checks if a timer has expired. - * - * \param [in] *STimer Pointer to the timer value to be read. - * - * \retval Status Non zero if the timer has not expired and is still - * running. - */ -uint32_t TimersTimerHasExpired ( const uint32_t * sTimer ); - - /*! - * \brief Returns the value of the current time in milliseconds - * - * \param [in] refresh Flag indicates refresh display required (touch) - * - * \retval Value value of current time in milliseconds - */ -uint32_t TimersTimerValue ( void ); - -#endif //TIMERS_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/app_config.h Thu Nov 08 10:13:23 2018 +0000 @@ -0,0 +1,25 @@ +#ifndef __APP_CONFIG_H__ +#define __APP_CONFIG_H__ + +/* + * This file is inteded to be used for tuning the application at compile time + * by activating/deactivating feature + * + * To activate a feature, ensure the corresponding preprocessor token + * definition is not commented out. + * To deactivate it, comment it out. + */ + +/* + * GPS feature. + * Need a ubloc device soldered on the PCB + */ +//#define HAS_GPS_SENSOR + +/* + * Proximity sensor feature + */ +//#define HAS_PROXIMITY_SENSOR + +#endif // __APP_CONFIG_H__ +
--- a/main.cpp Fri Aug 24 08:01:53 2018 +0000
+++ b/main.cpp Thu Nov 08 10:13:23 2018 +0000
@@ -20,6 +20,7 @@
#include "SX9306.h"
#include "sx1280-hal.h"
#include "main.h"
+#include "app_config.h"
/*!
@@ -29,6 +30,7 @@
DigitalOut SD_CS( D8 ); // MBED description of pin
DigitalIn userButton( USER_BUTTON );
+void PrintCompileSupportMessage( void );
/*!
* \brief Specify serial datarate for UART debug output
@@ -51,7 +53,8 @@
F_CS = 1;
SD_CS = 1;
- printf( "Starting SX1280DevKit : %s\n\r", FIRMWARE_VERSION );
+ printf( "Starting SX1280DevKit %s (%s)\n\r", FIRMWARE_VERSION, FIRMWARE_DATE );
+ PrintCompileSupportMessage();
EepromInit( );
@@ -62,12 +65,16 @@
InitDemoApplication( );
MenuInit( );
-/* Not currently used
+ #if defined(HAS_GPS_SENSOR) || defined (HAS_PROXIMITY_SENSOR)
TimersInit( );
+ #endif
+ #if defined(HAS_GPS_SENSOR)
Max7GpsInit( );
+ #endif
+ #if defined(HAS_PROXIMITY_SENSOR)
SX9306ProximityInit( );
-*/
+ #endif
printf( "Radio version: 0x%x\n\r", Radio.GetFirmwareVersion( ) );
@@ -115,8 +122,12 @@
case PAGE_UTILITIES:
// Extracts time and position information from the GPS module
+ #if defined(HAS_GPS_SENSOR)
Max7GpsHandle( );
+ #endif
+ #if defined(HAS_PROXIMITY_SENSOR)
SX9306ProximityHandle( ); //Deals with the proximity IC readings
+ #endif
break;
default: // Any page not running a demo
@@ -130,3 +141,19 @@
EepromFactoryReset( );
HAL_NVIC_SystemReset( );
}
+
+void PrintCompileSupportMessage( void )
+{
+ printf( "\nCompile time configuration:\n" );
+ #if defined(HAS_GPS_SENSOR)
+ printf( " + gps\n" );
+ #else
+ printf( " - gps\n" );
+ #endif
+ #if defined(HAS_PROXIMITY_SENSOR)
+ printf( " + proximity\n" );
+ #else
+ printf( " - proximity\n" );
+ #endif
+ printf("( '+ <FEAT>' means <FEAT> is enabled, '- <FEAT>' means <FEAT> is disabled)\n");
+}