From: Nils Faerber Date: Sat, 27 Apr 2013 20:22:32 +0000 (+0200) Subject: Here we are! MetaWatch support in Oswald! X-Git-Url: https://git.karo-electronics.de/?p=oswald.git;a=commitdiff_plain;h=1553c23cf33de5d8a193ffc8c7014cf826fc9fd3;hp=7dab9825b8ca0dc7b7b86545bdca99f956ff072f Here we are! MetaWatch support in Oswald! --- diff --git a/metawatch/CC2560_BT_SP_BTS/TILAW-#255737-v2-WBU_TSPA_Software_License.txt b/metawatch/CC2560_BT_SP_BTS/TILAW-#255737-v2-WBU_TSPA_Software_License.txt new file mode 100644 index 0000000..0963650 --- /dev/null +++ b/metawatch/CC2560_BT_SP_BTS/TILAW-#255737-v2-WBU_TSPA_Software_License.txt @@ -0,0 +1,46 @@ + 1 TECHNOLOGY AND SOFTWARE PUBLICLY AVAILABLE + 2 SOFTWARE LICENSE + 3 + 4 Copyright (c) 2011, Texas Instruments Incorporated. + 5 + 6 All rights reserved. + 7 + 8 Redistribution. + 9 + 10 Redistribution and use in binary form, without modification, are + 11 permitted provided that the following conditions are met: + 12 +13 * Redistributions must preserve existing copyright notices and reproduce +14 this license (including the above copyright notice and the disclaimer below) +15 in the documentation and/or other materials provided with the distribution. + 16 + 17 * Neither the name of Texas Instruments Incorporated nor the names of + 18 its suppliers may be used to endorse or promote products derived + 19 from this software without specific prior written permission. + 20 + 21 * No reverse engineering, decompilation, or disassembly of this + 22 software is permitted. + 23 + 24 Limited patent license. + 25 + 26 Texas Instruments Incorporated grants a world-wide, royalty-free, + 27 non-exclusive license under patents it now or hereafter owns or controls + 28 to make, have made, use, import, offer to sell and sell ("Utilize") this + 29 software, but solely to the extent that any such patent is necessary + 30 to Utilize the software alone. The patent license shall not apply to + 31 any combinations which include this software. No hardware per se is + 32 licensed hereunder. + 33 + 34 DISCLAIMER. + 35 + 36 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + 37 "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + 38 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + 39 A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + 40 OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + 41 SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + 42 LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + 43 DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + 44 THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + 45 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + 46 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/metawatch/CC2560_BT_SP_BTS/bluetooth_init_cc2560_2.44.bts b/metawatch/CC2560_BT_SP_BTS/bluetooth_init_cc2560_2.44.bts new file mode 100644 index 0000000..c869e32 Binary files /dev/null and b/metawatch/CC2560_BT_SP_BTS/bluetooth_init_cc2560_2.44.bts differ diff --git a/metawatch/CC2564_BT_BLE_SP_BTS/TILAW-#255737-v2-WBU_TSPA_Software_License.txt b/metawatch/CC2564_BT_BLE_SP_BTS/TILAW-#255737-v2-WBU_TSPA_Software_License.txt new file mode 100644 index 0000000..0963650 --- /dev/null +++ b/metawatch/CC2564_BT_BLE_SP_BTS/TILAW-#255737-v2-WBU_TSPA_Software_License.txt @@ -0,0 +1,46 @@ + 1 TECHNOLOGY AND SOFTWARE PUBLICLY AVAILABLE + 2 SOFTWARE LICENSE + 3 + 4 Copyright (c) 2011, Texas Instruments Incorporated. + 5 + 6 All rights reserved. + 7 + 8 Redistribution. + 9 + 10 Redistribution and use in binary form, without modification, are + 11 permitted provided that the following conditions are met: + 12 +13 * Redistributions must preserve existing copyright notices and reproduce +14 this license (including the above copyright notice and the disclaimer below) +15 in the documentation and/or other materials provided with the distribution. + 16 + 17 * Neither the name of Texas Instruments Incorporated nor the names of + 18 its suppliers may be used to endorse or promote products derived + 19 from this software without specific prior written permission. + 20 + 21 * No reverse engineering, decompilation, or disassembly of this + 22 software is permitted. + 23 + 24 Limited patent license. + 25 + 26 Texas Instruments Incorporated grants a world-wide, royalty-free, + 27 non-exclusive license under patents it now or hereafter owns or controls + 28 to make, have made, use, import, offer to sell and sell ("Utilize") this + 29 software, but solely to the extent that any such patent is necessary + 30 to Utilize the software alone. The patent license shall not apply to + 31 any combinations which include this software. No hardware per se is + 32 licensed hereunder. + 33 + 34 DISCLAIMER. + 35 + 36 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + 37 "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + 38 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + 39 A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + 40 OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + 41 SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + 42 LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + 43 DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + 44 THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + 45 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + 46 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/metawatch/CC2564_BT_BLE_SP_BTS/bluetooth_init_cc2564_2.8.bts b/metawatch/CC2564_BT_BLE_SP_BTS/bluetooth_init_cc2564_2.8.bts new file mode 100644 index 0000000..bb2bee1 Binary files /dev/null and b/metawatch/CC2564_BT_BLE_SP_BTS/bluetooth_init_cc2564_2.8.bts differ diff --git a/metawatch/Makefile b/metawatch/Makefile new file mode 100644 index 0000000..64ef09f --- /dev/null +++ b/metawatch/Makefile @@ -0,0 +1,123 @@ +# +# Makefile for msp430 +# adapted from the example Makefile from the mspgcc project +# +# 'make' builds everything +# 'make clean' deletes everything except source files and Makefile +# You need to set TARGET, MCU and SOURCES for your project. +# TARGET is the name of the executable file to be produced +# $(TARGET).elf $(TARGET).hex and $(TARGET).txt nad $(TARGET).map are all generated. +# The TXT file is used for BSL loading, the ELF can be used for JTAG use +# +TARGET = oswald_mw +MCU = msp430f5438a +MEMMODEL = -mmemory-model=huge -fdata-sections -ffunction-sections # -mdata-region=far +# -gdwarf-2 -fdata-sections -ffunction-sections +#MEMMODEL = -mmpy=16 -msr20 -md20 -gdwarf-2 -fdata-sections -ffunction-sections +# MEMMODEL = -mmemory-model=medium -misr20 +#MEMMODEL = -mmemory-model=medium + +APPCONFIG = -DDIGITAL -DMW_DEVBOARD_V2 +#APPCONFIG = -DDIGITAL -DMW_DEVBOARD_V2 -DWITH_BTSTACK +#APPCONFIG = -DDIGITAL -DMW_DEVBOARD_V2 -DCC256x_TRANSP +#APPCONFIG = -DDIGITAL -DMW_DIGITAL_V2 + +# List all the source files here +# eg if you have a source file foo.c then list it here +OSWALD_SRC = ../ui/oswald_main.c ../ui/oswald_screens.c \ + ../ui/oswald_watch_faces.c ../ui/Fonts.c ../ui/LcdDisplay.c \ + ../ui/oswald_strings.c ../ui/calendar.c \ + ../ui/embedvm.c + +SOURCES = mw_main.c mw_uart.c mw_lcd.c mw_adc.c mw_bt.c \ + bluetooth_init_cc2560_2.44.c \ + bt_hci.c bt_l2cap.c \ + oswald_hal.c $(OSWALD_SRC) +# $(BT_SMALLTOOTH_SRC) +# $(BT_STACK_SRC) \ + +#BT_STACK_INC = -Ibtstack/ -Ibtstack/include/ +#BT_SMALLTOOTH_INV = -IBluetooth/ +# Include are located in the Include directory +#INCLUDES = $(BT_STACK_INC) +#INCLUDES = $(BT_SMALLTOOTH_INV) +INCLUDES = -I../ui/ -I../ui/bitmaps/ + +# Add or subtract whatever MSPGCC flags you want. There are plenty more +####################################################################################### +CFLAGS = -mmcu=$(MCU) $(MEMMODEL) -g -Os -Wall -Wunused $(INCLUDES) $(APPCONFIG) +ASFLAGS = -mmcu=$(MCU) $(MEMMODEL) -x assembler-with-cpp -Wa,-gstabs +LDFLAGS = -mmcu=$(MCU) $(MEMMODEL) -Wl,-gc-sections -Wl,-Map=$(TARGET).map +######################################################################################## +CC = msp430-gcc +LD = msp430-ld +AR = msp430-ar +AS = msp430-gcc +GASP = msp430-gasp +NM = msp430-nm +OBJCOPY = msp430-objcopy +RANLIB = msp430-ranlib +STRIP = msp430-strip +SIZE = msp430-size +READELF = msp430-readelf +MAKETXT = srec_cat +CP = cp -p +RM = rm -f +MV = mv +######################################################################################## +# the file which will include dependencies +DEPEND = $(SOURCES:.c=.d) + +# all the object files +OBJECTS = $(SOURCES:.c=.o) + +all: $(TARGET).elf $(TARGET).hex $(TARGET).txt + +prog: $(TARGET).hex + mspdebug tilib -d /dev/ttyACM3 -v 2500 "prog $(TARGET).hex" + +prog_watch: $(TARGET).hex + mspdebug rf2500 -v 2500 "prog $(TARGET).hex" + +$(TARGET).elf: $(OBJECTS) + echo "Linking $@" + $(CC) $(OBJECTS) $(LDFLAGS) $(LIBS) -o $@ + echo + echo ">>>> Size of Firmware <<<<" + $(SIZE) $(TARGET).elf + echo + +%.hex: %.elf + $(OBJCOPY) -O ihex $< $@ + +%.txt: %.hex + $(MAKETXT) -O $@ -TITXT $< -I + unix2dos $(TARGET).txt +# The above line is required for the DOS based TI BSL tool to be able to read the txt file generated from linux/unix systems. + +%.o: %.c + echo "Compiling $<" + $(CC) -c $(CFLAGS) -o $@ $< + +# rule for making assembler source listing, to see the code +%.lst: %.c + $(CC) -c $(ASFLAGS) -Wa,-anlhd $< > $@ + +# include the dependencies unless we're going to clean, then forget about them. +ifneq ($(MAKECMDGOALS), clean) +-include $(DEPEND) +endif +# dependencies file +# includes also considered, since some of these are our own +# (otherwise use -MM instead of -M) +%.d: %.c + echo "Generating dependencies $@ from $<" + $(CC) -M ${CFLAGS} $< >$@ + +#.SILENT: +.PHONY: clean +clean: + -$(RM) $(OBJECTS) + -$(RM) $(TARGET).* + -$(RM) $(SOURCES:.c=.lst) + -$(RM) $(DEPEND) diff --git a/metawatch/bluetooth_init_cc2560_2.44.bts b/metawatch/bluetooth_init_cc2560_2.44.bts new file mode 120000 index 0000000..952d842 --- /dev/null +++ b/metawatch/bluetooth_init_cc2560_2.44.bts @@ -0,0 +1 @@ +CC2560_BT_SP_BTS/bluetooth_init_cc2560_2.44.bts \ No newline at end of file diff --git a/metawatch/bluetooth_init_cc2560_2.44.c b/metawatch/bluetooth_init_cc2560_2.44.c new file mode 100644 index 0000000..ae04c6a --- /dev/null +++ b/metawatch/bluetooth_init_cc2560_2.44.c @@ -0,0 +1,3287 @@ +// init script created from bluetooth_init_cc2560_2.44.bts +#include + +#if defined(__GNUC__) && (__MSP430X__ > 0) +__attribute__((__far__)) +#endif +const uint8_t cc256x_init_script[] = { + + // #-------------------------------------------------------------------------------- + // # Description : ORCA-Trio BTIP 2.0 ROM Initialization Script + // # + // # Compatibility: BL6450, WL1271/3 2.0 ROM + // # + // # Last Updated: 21-Dec-2011 11:53:12.59 + // # + // # Version : TI_P31.123 + // # + // # + // # + // # Notes : Use this script on BL6450, WL1271/3 2.0 ROM device only (FW v2.0.31) + // #-------------------------------------------------------------------------------- + // + // ################################################################# + // ## START of Panasonic Adds-On + // ################################################################# + // + // ## Change UART baudrate + // + // + // ################################################################# + // ## END of Panasonic Adds-On + // ################################################################# + // + 0x01, 0x37, 0xfe, 0x02, 0x02, 0x1f, + + // + 0x01, 0x0f, 0xfd, 0x01, 0x01, + + 0x01, 0x63, 0xfd, 0x1c, 0x04, 0x04, 0x00, 0xbc, 0x02, 0xef, 0xcd, 0xab, 0x89, 0xef, 0xcd, + 0xab, 0x89, 0x03, 0x06, 0x0a, 0x20, 0x03, 0x4b, 0x38, 0x1f, 0xbf, 0xb5, 0xb0, 0x01, 0x08, + 0x06, 0x0d, + + 0x01, 0x01, 0xff, 0x06, 0xa0, 0x09, 0x1a, 0x00, 0x03, 0x00, + + 0x01, 0x01, 0xff, 0x06, 0x7e, 0x09, 0x1a, 0x00, 0xc4, 0x04, + + 0x01, 0x01, 0xff, 0x06, 0xa0, 0x09, 0x1a, 0x00, 0x02, 0x00, + + 0x01, 0x2e, 0xfd, 0x0d, 0x00, 0x2c, 0x01, 0x0a, 0x01, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, + + // + 0x01, 0x05, 0xff, 0xff, 0x90, 0x5f, 0x08, 0x00, 0xfa, 0x02, 0x1f, 0x1f, 0x7b, 0x41, 0x00, + 0x44, 0x24, 0x61, 0x09, 0x00, 0x00, 0x05, 0xc0, 0x03, 0xc0, 0x1e, 0x08, 0x05, 0x00, 0x04, + 0xc0, 0x03, 0xc0, 0x1e, 0x08, 0x3d, 0x01, 0x04, 0xc0, 0x03, 0xc0, 0x1e, 0x08, 0x76, 0x02, + 0x04, 0xc0, 0x03, 0xc0, 0x1e, 0x08, 0xae, 0x03, 0x04, 0xc0, 0x03, 0xc0, 0x1e, 0x08, 0xae, + 0x0b, 0x01, 0x00, 0x34, 0x30, 0x41, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, + 0x49, 0x0a, 0x1c, 0x2c, 0x32, 0x12, 0x78, 0x04, 0x2a, 0x02, 0xd1, 0x09, 0x78, 0x04, 0x29, + 0x01, 0xd0, 0x06, 0x21, 0x00, 0xe0, 0x07, 0x21, 0x41, 0x60, 0x02, 0x48, 0x1b, 0x30, 0xf7, + 0x46, 0x84, 0x4d, 0x08, 0x00, 0x4d, 0x24, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x11, 0xd0, 0x0a, 0x78, 0xff, 0x2a, 0x0e, + 0xd1, 0xc2, 0x78, 0x00, 0x2a, 0x0b, 0xd1, 0x42, 0x7e, 0x01, 0x2a, 0x08, 0xd1, 0x42, 0x8c, + 0x0d, 0x2a, 0x05, 0xd1, 0x03, 0x4a, 0x80, 0x8c, 0x90, 0x42, 0x01, 0xd1, 0x00, 0x20, 0x08, + 0x70, 0xf7, 0x46, 0xc0, 0x46, 0x26, 0x11, 0x00, 0x00, 0xf8, 0xb5, 0x07, 0x7f, 0x01, 0x79, + 0x00, 0x91, 0x80, 0x69, 0x06, 0x89, 0xdf, 0x49, 0x29, 0x31, 0x82, 0x88, 0x8a, 0x42, 0x07, + 0xd1, 0xdb, 0x49, 0x09, 0x88, 0xb1, 0x42, 0x01, 0xd1, 0x16, 0x24, 0x04, 0xe0, 0x22, 0x24, + 0x02, 0xe0, 0xff, 0x21, 0x29, 0x31, 0x0c, 0x5c, 0x01, 0x25, 0xae, 0x46, 0xd5, 0x49, 0xfe, + 0x44, 0x08, 0x47, 0x00, 0x98, 0x00, 0x28, 0x07, 0xd0, 0x00, 0x2f, 0x05, 0xd0, 0x30, 0x1c, + 0x21, 0x1c, 0xae, 0x46, + + 0x01, 0x05, 0xff, 0xff, 0x8a, 0x60, 0x08, 0x00, 0xfa, 0xeb, 0x4a, 0xfe, 0x44, 0x10, 0x47, + 0xea, 0x49, 0xeb, 0x4a, 0x11, 0x32, 0x15, 0x20, 0xae, 0x46, 0xea, 0x4b, 0xfe, 0x44, 0x18, + 0x47, 0xea, 0x48, 0xe9, 0x49, 0x08, 0x18, 0xf8, 0xbd, 0xfc, 0xb5, 0x41, 0x68, 0xc9, 0x48, + 0x01, 0x60, 0x01, 0x24, 0xa6, 0x46, 0xe6, 0x48, 0xfe, 0x44, 0x00, 0x47, 0x00, 0x20, 0xa6, + 0x46, 0xe5, 0x49, 0xfe, 0x44, 0x08, 0x47, 0xbd, 0x27, 0x00, 0x20, 0x05, 0x1c, 0xbf, 0x4e, + 0x02, 0x3e, 0xf6, 0x20, 0x85, 0x55, 0xff, 0x20, 0x12, 0x30, 0xa6, 0x46, 0xed, 0x49, 0xfe, + 0x44, 0x08, 0x47, 0xa4, 0x20, 0x85, 0x51, 0xa8, 0x20, 0x85, 0x51, 0x01, 0x20, 0x40, 0x03, + 0xea, 0x49, 0x08, 0x80, 0xa6, 0x46, 0xe9, 0x48, 0xfe, 0x44, 0x00, 0x47, 0x8c, 0x25, 0xa8, + 0x59, 0x00, 0x28, 0x05, 0xd0, 0xa6, 0x46, 0xe6, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x00, 0x20, + 0xa8, 0x51, 0xb8, 0x5d, 0xe4, 0x4f, 0x02, 0x28, 0x01, 0xd0, 0x00, 0x94, 0x16, 0xe0, 0xd9, + 0x20, 0x80, 0x5d, 0x23, 0x21, 0x09, 0x01, 0x41, 0x43, 0x78, 0x18, 0xff, 0x21, 0x29, 0x31, + 0x16, 0x22, 0x0a, 0x54, 0xa6, 0x46, 0xdd, 0x48, 0xfe, 0x44, 0x00, 0x47, 0xff, 0x20, 0x10, + 0x30, 0x0a, 0x21, 0xa6, 0x46, 0xdb, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x00, 0x20, 0x00, 0x90, + 0xbe, 0x20, 0x80, 0x19, 0x01, 0x90, 0x00, 0x25, 0x25, 0xe0, 0x39, 0x78, 0xff, 0x29, 0x09, + 0xd0, 0xff, 0x20, 0x29, 0x30, 0x16, 0x21, 0xc1, 0x55, 0x38, 0x1c, 0xa6, 0x46, 0xba, 0x49, + 0xfe, 0x44, 0x08, 0x47, 0x30, 0x78, 0x01, 0x35, 0x23, 0x21, 0x09, 0x01, 0xcf, 0x19, 0x1a, + 0xe0, 0x28, 0x1c, 0xa6, 0x46, 0xce, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x01, 0x98, 0x28, 0x5c, + 0x23, 0x21, 0x09, 0x01, + + 0x01, 0x05, 0xff, 0xff, 0x84, 0x61, 0x08, 0x00, 0xfa, 0x41, 0x43, 0x78, 0x18, 0xff, 0x21, + 0x29, 0x31, 0x16, 0x22, 0x0a, 0x54, 0xa6, 0x46, 0xae, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x01, + 0x35, 0xc5, 0x20, 0x80, 0x5d, 0x85, 0x42, 0xe7, 0xd3, 0xc2, 0x4e, 0x30, 0x78, 0x00, 0x25, + 0x85, 0x42, 0xd0, 0xd3, 0xa6, 0x46, 0xc1, 0x48, 0xfe, 0x44, 0x00, 0x47, 0x00, 0x98, 0x01, + 0x28, 0x0a, 0xd1, 0x86, 0x48, 0x00, 0x68, 0xc3, 0x21, 0x00, 0x22, 0xa6, 0x46, 0xbc, 0x4b, + 0xfe, 0x44, 0x18, 0x47, 0x00, 0x20, 0x81, 0x49, 0x08, 0x60, 0xba, 0x48, 0x0f, 0x30, 0xfc, + 0xbd, 0xba, 0x48, 0x17, 0x30, 0xf7, 0x46, 0x10, 0xb5, 0x0c, 0x21, 0x81, 0x60, 0xb8, 0x49, + 0xb8, 0x4c, 0x22, 0x1c, 0xad, 0x32, 0x1c, 0x20, 0x01, 0x23, 0x9e, 0x46, 0x94, 0x4b, 0xfe, + 0x44, 0x18, 0x47, 0x20, 0x1c, 0x9f, 0x30, 0x10, 0xbd, 0x10, 0xb5, 0x81, 0x68, 0x04, 0x22, + 0xc2, 0x60, 0xb1, 0x4a, 0x0a, 0x60, 0x41, 0x68, 0x41, 0x61, 0xb0, 0x49, 0xae, 0x4c, 0x22, + 0x1c, 0x9d, 0x32, 0x1c, 0x20, 0x01, 0x23, 0x9e, 0x46, 0x8a, 0x4b, 0xfe, 0x44, 0x18, 0x47, + 0x20, 0x1c, 0xaf, 0x30, 0x10, 0xbd, 0xf0, 0xb5, 0x47, 0x68, 0x08, 0x24, 0xe1, 0x19, 0xa9, + 0x4d, 0x28, 0x1c, 0x50, 0x38, 0x0a, 0x22, 0x01, 0x26, 0xb6, 0x46, 0xa9, 0x4b, 0xfe, 0x44, + 0x18, 0x47, 0xe0, 0x48, 0x00, 0x78, 0x01, 0x28, 0x0e, 0xd1, 0x38, 0x1c, 0x0a, 0x22, 0x2b, + 0x78, 0x01, 0x7a, 0x19, 0x40, 0x29, 0x70, 0x01, 0x30, 0x01, 0x35, 0x01, 0x3a, 0xf7, 0xd1, + 0xe0, 0x19, 0xb6, 0x46, 0x9d, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x9d, 0x48, 0x0d, 0x30, 0xf0, + 0xbd, 0x01, 0x1c, 0x56, 0x48, 0x06, 0x30, 0x02, 0x68, 0x9b, 0x48, 0x00, 0x2a, 0x03, 0xd0, + 0x08, 0x22, 0x8a, 0x60, + + 0x01, 0x05, 0xff, 0xff, 0x7e, 0x62, 0x08, 0x00, 0xfa, 0x0b, 0x30, 0xf7, 0x46, 0x83, 0x30, + 0xf7, 0x46, 0x70, 0xb5, 0x43, 0x69, 0x1c, 0x68, 0x81, 0x89, 0x6e, 0x4a, 0x95, 0x48, 0x00, + 0x29, 0x01, 0xd0, 0x14, 0x3a, 0x2d, 0xe0, 0xa5, 0x88, 0x85, 0x21, 0xc9, 0x00, 0x8d, 0x42, + 0x06, 0xd0, 0x91, 0x49, 0x0e, 0x1c, 0x08, 0x3e, 0xb5, 0x42, 0x01, 0xd0, 0x8d, 0x42, 0x20, + 0xd1, 0xd9, 0x7f, 0x00, 0x29, 0x1d, 0xd1, 0x42, 0x21, 0xc9, 0x5c, 0x01, 0x29, 0x01, 0xd0, + 0x02, 0x29, 0x17, 0xd1, 0x20, 0x21, 0xc9, 0x18, 0x4d, 0x78, 0x09, 0x78, 0x29, 0x43, 0x09, + 0x09, 0x10, 0xd3, 0x40, 0x25, 0xe9, 0x5a, 0x33, 0x26, 0x36, 0x01, 0x0e, 0x42, 0x0a, 0xd0, + 0x33, 0x22, 0x12, 0x01, 0x91, 0x43, 0xe9, 0x52, 0xff, 0x21, 0x29, 0x31, 0x00, 0x22, 0x0a, + 0x55, 0xff, 0x30, 0x88, 0x30, 0x70, 0xbd, 0x30, 0x3a, 0x10, 0x18, 0x70, 0xbd, 0x10, 0xb5, + 0x04, 0x1c, 0xa0, 0x69, 0xff, 0x28, 0x13, 0xd1, 0x7a, 0x48, 0x00, 0x78, 0xff, 0x28, 0x0f, + 0xd0, 0x01, 0x20, 0x86, 0x46, 0x78, 0x48, 0xfe, 0x44, 0x00, 0x47, 0x78, 0x4a, 0x78, 0x4b, + 0x18, 0x78, 0x51, 0x78, 0x88, 0x42, 0x02, 0xd0, 0x11, 0x78, 0x88, 0x42, 0x01, 0xd1, 0xff, + 0x20, 0x18, 0x70, 0xff, 0x20, 0x60, 0x60, 0x73, 0x48, 0x45, 0x30, 0x10, 0xbd, 0x70, 0xb5, + 0x05, 0x1c, 0x2e, 0x6a, 0x71, 0x48, 0x01, 0x68, 0x00, 0x29, 0x12, 0xd1, 0x70, 0x48, 0x08, + 0x21, 0x01, 0x24, 0xa6, 0x46, 0x6f, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x00, 0x28, 0x00, 0xd1, + 0x3d, 0x20, 0x00, 0x04, 0x6d, 0x49, 0x08, 0x1a, 0x93, 0x21, 0x49, 0x00, 0xa6, 0x46, 0x6b, + 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x6c, 0x48, 0x70, 0x43, 0x6a, 0x4a, 0x10, 0x1a, 0x01, 0x22, + 0x96, 0x46, 0x67, 0x4a, + + 0x01, 0x05, 0xff, 0xff, 0x78, 0x63, 0x08, 0x00, 0xfa, 0xfe, 0x44, 0x10, 0x47, 0xff, 0x39, + 0x09, 0x39, 0x08, 0x04, 0x00, 0x14, 0x68, 0x61, 0x66, 0x49, 0x2f, 0x48, 0x6c, 0x38, 0x40, + 0x18, 0x70, 0xbd, 0x03, 0x21, 0x41, 0x60, 0x0f, 0x21, 0x89, 0x01, 0x81, 0x60, 0x62, 0x48, + 0x43, 0x30, 0xf7, 0x46, 0x10, 0xb5, 0x01, 0x1c, 0x07, 0x23, 0x60, 0x4a, 0x00, 0x20, 0x34, + 0x24, 0xa4, 0x5c, 0xa1, 0x42, 0x06, 0xd1, 0x33, 0x24, 0xa4, 0x5c, 0x01, 0x2c, 0x02, 0xd1, + 0x40, 0x1c, 0x00, 0x06, 0x00, 0x0e, 0xac, 0x32, 0x01, 0x3b, 0xf1, 0xd1, 0x10, 0xbd, 0x52, + 0x0f, 0x08, 0x00, 0x85, 0xf2, 0x00, 0x00, 0xdd, 0x03, 0x00, 0x00, 0xcc, 0x5f, 0x08, 0x00, + 0xf0, 0xb5, 0x3c, 0x21, 0x57, 0x48, 0x12, 0x38, 0x02, 0x78, 0x01, 0x2a, 0x25, 0xd1, 0x09, + 0x5c, 0x00, 0x29, 0x22, 0xd0, 0x40, 0x68, 0x00, 0x27, 0x2c, 0x21, 0x0d, 0x18, 0x38, 0x1c, + 0x01, 0x24, 0xa6, 0x46, 0x4d, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x06, 0x1c, 0x38, 0x1c, 0xa6, + 0x46, 0x49, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x80, 0x19, 0x28, 0x70, 0x20, 0x1c, 0xa6, 0x46, + 0x46, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x06, 0x1c, 0x20, 0x1c, 0xa6, 0x46, 0x42, 0x49, 0xfe, + 0x44, 0x08, 0x47, 0x80, 0x19, 0x68, 0x70, 0x01, 0x20, 0x40, 0x02, 0x41, 0x49, 0x08, 0x80, + 0x41, 0x48, 0xa9, 0x30, 0xf0, 0xbd, 0x53, 0x99, 0x02, 0x00, 0x33, 0x68, 0x08, 0x00, 0x41, + 0x36, 0x00, 0x00, 0xa1, 0x69, 0x08, 0x00, 0x9f, 0x02, 0x00, 0x00, 0xb9, 0xd1, 0x01, 0x00, + 0xb1, 0x2e, 0x05, 0x00, 0x01, 0x0f, 0x02, 0x00, 0x10, 0xb5, 0x28, 0x49, 0x3e, 0x31, 0x09, + 0x78, 0x37, 0x4c, 0x00, 0x29, 0x0f, 0xd0, 0x22, 0x49, 0x48, 0x78, 0x09, 0x78, 0xac, 0x22, + 0x4a, 0x43, 0x2d, 0x49, + + 0x01, 0x05, 0xff, 0xff, 0x72, 0x64, 0x08, 0x00, 0xfa, 0x34, 0x31, 0x89, 0x5c, 0x01, 0x22, + 0x96, 0x46, 0xd6, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x20, 0x1c, 0x35, 0x30, 0x10, 0xbd, 0x3b, + 0x21, 0xc1, 0x60, 0x20, 0x1c, 0x40, 0x1d, 0x10, 0xbd, 0x61, 0x7d, 0x03, 0x00, 0x0c, 0x12, + 0x08, 0x00, 0xc9, 0x02, 0x01, 0x00, 0x4d, 0xee, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0xb5, + 0x02, 0x01, 0x00, 0x6d, 0x00, 0x01, 0x00, 0x21, 0x50, 0x08, 0x00, 0x09, 0x0d, 0x01, 0x00, + 0x75, 0x59, 0x04, 0x00, 0xd3, 0x96, 0x02, 0x00, 0x63, 0x08, 0x00, 0x00, 0x3d, 0x9d, 0x04, + 0x00, 0xfd, 0x61, 0x08, 0x00, 0xad, 0x35, 0x03, 0x00, 0x32, 0x2e, 0x33, 0x31, 0xdd, 0x61, + 0x08, 0x00, 0xf2, 0x13, 0x08, 0x00, 0x97, 0x6f, 0x01, 0x00, 0x5d, 0x8c, 0x01, 0x00, 0xc1, + 0x78, 0x05, 0x00, 0x45, 0xee, 0x00, 0x00, 0x61, 0x20, 0x01, 0x00, 0x0f, 0x04, 0x00, 0x00, + 0x12, 0x25, 0x08, 0x00, 0x71, 0x9a, 0x01, 0x00, 0x5f, 0x1f, 0x08, 0x00, 0x72, 0x25, 0x08, + 0x00, 0x55, 0x9e, 0x01, 0x00, 0x8c, 0x51, 0x08, 0x00, 0x46, 0x75, 0x1a, 0x00, 0xdb, 0xae, + 0x04, 0x00, 0x00, 0x00, 0x91, 0x02, 0x2d, 0x6a, 0x05, 0x00, 0x67, 0xe6, 0x11, 0x03, 0x20, + 0x30, 0x06, 0x00, 0xcd, 0x60, 0x03, 0x00, 0x29, 0xd6, 0x02, 0x00, 0x94, 0x1a, 0x08, 0x00, + 0xa1, 0x63, 0x08, 0x00, 0x3b, 0xa3, 0x01, 0x00, 0x44, 0x7c, 0x1a, 0x00, 0x5d, 0x4c, 0x02, + 0x00, 0x46, 0x24, 0x08, 0x00, 0x8f, 0x49, 0x02, 0x00, 0xfc, 0xb5, 0x41, 0x68, 0x01, 0x91, + 0x01, 0x8a, 0x80, 0x68, 0x80, 0x7b, 0xcf, 0x4a, 0x14, 0x1c, 0x3e, 0x3c, 0x27, 0x8e, 0xce, + 0x4d, 0x1a, 0x4e, 0x01, 0x29, 0x36, 0xd1, 0x02, 0x28, 0x00, 0xd0, 0x03, 0x28, 0x00, 0xd1, + 0xdb, 0xe0, 0x00, 0x28, + + 0x01, 0x05, 0xff, 0xff, 0x6c, 0x65, 0x08, 0x00, 0xfa, 0x2c, 0xd1, 0x00, 0x2f, 0x03, 0xd0, + 0x82, 0x2f, 0x01, 0xd0, 0x50, 0x2f, 0x0c, 0xd1, 0x00, 0x20, 0x20, 0x86, 0x25, 0x80, 0x30, + 0x78, 0x01, 0x28, 0x06, 0xd1, 0xc2, 0x48, 0x09, 0x21, 0x01, 0x22, 0x96, 0x46, 0xd7, 0x4a, + 0xfe, 0x44, 0x10, 0x47, 0xd3, 0x48, 0x87, 0x42, 0x0c, 0xd1, 0xd3, 0x48, 0x20, 0x86, 0x25, + 0x80, 0x30, 0x78, 0x01, 0x28, 0x06, 0xd1, 0xba, 0x48, 0x09, 0x21, 0x01, 0x22, 0x96, 0x46, + 0xcf, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0xdb, 0x48, 0x87, 0x42, 0x40, 0xd1, 0x11, 0x20, 0x40, + 0x01, 0x20, 0x86, 0x28, 0x1c, 0xf6, 0xe0, 0xa2, 0x52, 0x08, 0x00, 0x01, 0x28, 0x00, 0xd1, + 0x90, 0xe0, 0x02, 0x29, 0x59, 0xd1, 0x00, 0x28, 0x2d, 0xd1, 0x00, 0x2f, 0x06, 0xd0, 0xc3, + 0x48, 0x87, 0x42, 0x03, 0xd0, 0x11, 0x20, 0x40, 0x01, 0x87, 0x42, 0x0c, 0xd1, 0x00, 0x20, + 0x20, 0x86, 0x65, 0x80, 0x30, 0x78, 0x01, 0x28, 0x06, 0xd1, 0xa6, 0x48, 0x0a, 0x21, 0x01, + 0x22, 0x96, 0x46, 0xbb, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0xb8, 0x48, 0x87, 0x42, 0x10, 0xd0, + 0x31, 0x78, 0xc6, 0x48, 0x87, 0x42, 0x3a, 0xd1, 0x65, 0x80, 0x82, 0x20, 0x20, 0x86, 0x01, + 0x29, 0x64, 0xd1, 0x9d, 0x48, 0x0a, 0x21, 0x01, 0x22, 0x96, 0x46, 0xb2, 0x4a, 0xfe, 0x44, + 0x10, 0x47, 0xc4, 0xe0, 0x65, 0x80, 0x50, 0x20, 0x20, 0x86, 0xc0, 0xe0, 0x01, 0x28, 0x36, + 0xd0, 0x02, 0x28, 0x01, 0xd0, 0x03, 0x28, 0x68, 0xd1, 0x00, 0x2f, 0x02, 0xd0, 0xa9, 0x48, + 0x87, 0x42, 0x02, 0xd1, 0x11, 0x20, 0x40, 0x01, 0x20, 0x86, 0x50, 0x2f, 0x02, 0xd0, 0xa4, + 0x48, 0x87, 0x42, 0x03, 0xd1, 0x25, 0x80, 0x11, 0x20, 0x40, 0x01, 0x20, 0x86, 0x82, 0x2f, + 0x01, 0xd1, 0xaf, 0x48, + + 0x01, 0x05, 0xff, 0xff, 0x66, 0x66, 0x08, 0x00, 0xfa, 0x20, 0x86, 0xe3, 0x48, 0x00, 0x21, + 0x01, 0x25, 0xae, 0x46, 0xe4, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x00, 0x28, 0x01, 0xd1, 0xe0, + 0x48, 0x00, 0xe0, 0xe0, 0x48, 0x60, 0x80, 0x30, 0x78, 0x01, 0x28, 0x6b, 0xd1, 0x81, 0x4c, + 0x20, 0x1c, 0x09, 0x21, 0xae, 0x46, 0x96, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x20, 0x1c, 0x0a, + 0x21, 0xae, 0x46, 0xda, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x87, 0xe0, 0x00, 0x2f, 0x08, 0xd0, + 0x11, 0x20, 0x40, 0x01, 0x87, 0x42, 0x04, 0xd0, 0x82, 0x2f, 0x02, 0xd0, 0x9b, 0x48, 0x87, + 0x42, 0x13, 0xd1, 0x8b, 0x48, 0x20, 0x86, 0x00, 0x20, 0x60, 0x80, 0x30, 0x78, 0x01, 0x28, + 0x06, 0xd1, 0x71, 0x48, 0x0a, 0x21, 0x01, 0x22, 0x96, 0x46, 0x86, 0x4a, 0xfe, 0x44, 0x10, + 0x47, 0x82, 0x2f, 0x02, 0xd0, 0x92, 0x48, 0x87, 0x42, 0x00, 0xd1, 0x25, 0x80, 0x50, 0x2f, + 0x66, 0xd1, 0x7f, 0x48, 0x20, 0x86, 0x00, 0x20, 0x60, 0x80, 0x61, 0xe0, 0x11, 0x20, 0x40, + 0x01, 0x87, 0x42, 0x05, 0xd0, 0x8a, 0x48, 0x87, 0x42, 0x02, 0xd0, 0x65, 0x80, 0x82, 0x20, + 0x00, 0xe0, 0x87, 0x48, 0x20, 0x86, 0x00, 0x20, 0x20, 0x80, 0x30, 0x78, 0x01, 0x28, 0x50, + 0xd1, 0x5f, 0x48, 0x09, 0x21, 0x01, 0x22, 0x96, 0x46, 0x74, 0x4a, 0xfe, 0x44, 0x10, 0x47, + 0x48, 0xe0, 0x82, 0x2f, 0x24, 0xd0, 0x00, 0x2f, 0x22, 0xd0, 0x11, 0x20, 0x40, 0x01, 0x87, + 0x42, 0x1e, 0xd0, 0x7c, 0x48, 0x87, 0x42, 0x1b, 0xd0, 0x6b, 0x48, 0x87, 0x42, 0x3a, 0xd1, + 0x69, 0x48, 0x20, 0x86, 0xad, 0x48, 0x00, 0x21, 0x01, 0x25, 0xae, 0x46, 0xae, 0x4a, 0xfe, + 0x44, 0x10, 0x47, 0x00, 0x28, 0x01, 0xd1, 0xa9, 0x48, 0x00, 0xe0, 0xa9, 0x48, 0x20, 0x80, + 0x30, 0x78, 0x01, 0x28, + + 0x01, 0x05, 0xff, 0xff, 0x60, 0x67, 0x08, 0x00, 0xfa, 0x28, 0xd1, 0x4b, 0x48, 0x09, 0x21, + 0xae, 0x46, 0xa7, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x21, 0xe0, 0x50, 0x20, 0x20, 0x86, 0x65, + 0x80, 0x30, 0x78, 0x01, 0x28, 0x0d, 0xd1, 0x44, 0x4e, 0x30, 0x1c, 0x09, 0x21, 0x01, 0x25, + 0xae, 0x46, 0xa0, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x30, 0x1c, 0x0a, 0x21, 0xae, 0x46, 0x56, + 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x97, 0x48, 0x00, 0x21, 0x01, 0x22, 0x96, 0x46, 0x98, 0x4a, + 0xfe, 0x44, 0x10, 0x47, 0x00, 0x28, 0x02, 0xd1, 0x94, 0x48, 0x05, 0x1c, 0x07, 0xe7, 0x93, + 0x48, 0x20, 0x80, 0x00, 0x21, 0x68, 0x46, 0x01, 0x70, 0x01, 0x98, 0xf3, 0x21, 0x88, 0x22, + 0x06, 0x23, 0x01, 0x24, 0xa6, 0x46, 0xe6, 0x4c, 0xfe, 0x44, 0x20, 0x47, 0xe5, 0x48, 0xff, + 0x30, 0x66, 0x30, 0xfc, 0xbd, 0x2b, 0x49, 0x02, 0x00, 0x30, 0xb5, 0xe3, 0x49, 0xe3, 0x4a, + 0x37, 0x32, 0x10, 0x20, 0x01, 0x24, 0xa6, 0x46, 0xe4, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0xe3, + 0x48, 0x00, 0x78, 0xdf, 0x4d, 0x00, 0x28, 0x03, 0xd1, 0x28, 0x1c, 0xff, 0x30, 0x32, 0x30, + 0x30, 0xbd, 0x01, 0x28, 0x01, 0xd0, 0x04, 0x28, 0x0b, 0xd1, 0xa6, 0x46, 0xda, 0x48, 0xfe, + 0x44, 0x00, 0x47, 0x7a, 0x48, 0x0e, 0x38, 0x04, 0x21, 0x00, 0x22, 0xa6, 0x46, 0xea, 0x4b, + 0xfe, 0x44, 0x18, 0x47, 0x28, 0x1c, 0xff, 0x30, 0x70, 0x30, 0x30, 0xbd, 0xe8, 0x49, 0x09, + 0x68, 0x81, 0x60, 0xe7, 0x48, 0x3f, 0x30, 0xf7, 0x46, 0x81, 0x69, 0xe4, 0x4a, 0x11, 0x60, + 0xe9, 0x49, 0x81, 0x60, 0xe9, 0x48, 0x13, 0x30, 0xf7, 0x46, 0x00, 0xb5, 0xe8, 0x49, 0xca, + 0x4a, 0xff, 0x32, 0x1c, 0x32, 0x10, 0x20, 0x01, 0x23, 0x9e, 0x46, 0xc9, 0x4b, 0xfe, 0x44, + 0x18, 0x47, 0xe4, 0x48, + + 0x01, 0x05, 0xff, 0xff, 0x5a, 0x68, 0x08, 0x00, 0xfa, 0x00, 0x78, 0x00, 0x28, 0x02, 0xd1, + 0x00, 0x20, 0xe3, 0x49, 0x08, 0x60, 0xc1, 0x48, 0x8d, 0x30, 0x00, 0xbd, 0x10, 0xb5, 0x01, + 0x24, 0xa6, 0x46, 0xbf, 0x48, 0xfe, 0x44, 0x00, 0x47, 0xde, 0x4a, 0x11, 0x68, 0x08, 0x20, + 0x08, 0x43, 0x10, 0x60, 0xa6, 0x46, 0xdc, 0x48, 0xfe, 0x44, 0x00, 0x47, 0xdc, 0x48, 0x47, + 0x30, 0x10, 0xbd, 0xdc, 0x7c, 0x1a, 0x00, 0xff, 0xff, 0x00, 0x00, 0x30, 0xb5, 0xc4, 0x69, + 0x02, 0x23, 0xd8, 0x4a, 0x15, 0x68, 0xd8, 0x49, 0xa5, 0x42, 0x14, 0xd1, 0x15, 0x79, 0x02, + 0x2d, 0x11, 0xd1, 0x15, 0x7b, 0x26, 0x2d, 0x0e, 0xd1, 0xff, 0x25, 0x2a, 0x35, 0x2d, 0x5d, + 0x02, 0x2d, 0x09, 0xd1, 0x01, 0x22, 0xff, 0x20, 0x16, 0x30, 0x02, 0x55, 0xff, 0x20, 0x19, + 0x30, 0x02, 0x55, 0x08, 0x1c, 0xf5, 0x30, 0x30, 0xbd, 0x4c, 0x32, 0x01, 0x3b, 0xe3, 0xd1, + 0x42, 0x68, 0x16, 0x32, 0x42, 0x60, 0x08, 0x1c, 0xe1, 0x30, 0x30, 0xbd, 0x54, 0x04, 0x00, + 0x00, 0x04, 0x04, 0x00, 0x00, 0x15, 0xab, 0x04, 0x00, 0xf0, 0xb5, 0x07, 0x1c, 0x0a, 0x25, + 0xc4, 0x4c, 0x00, 0x26, 0x20, 0x78, 0x00, 0x28, 0x09, 0xd0, 0x60, 0x1c, 0x39, 0x1c, 0x06, + 0x22, 0x01, 0x23, 0x9e, 0x46, 0xc0, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x00, 0x28, 0x03, 0xd0, + 0x0c, 0x34, 0x01, 0x36, 0x01, 0x3d, 0xee, 0xd1, 0x30, 0x06, 0x00, 0x0e, 0xf0, 0xbd, 0xc0, + 0x46, 0xa2, 0x02, 0x00, 0x00, 0x70, 0xb5, 0x05, 0x1c, 0x68, 0x68, 0xe9, 0x69, 0x00, 0x29, + 0x14, 0xd1, 0x10, 0x30, 0x01, 0x24, 0xa6, 0x46, 0xb5, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x06, + 0x1c, 0x0a, 0x2e, 0x0f, 0xd0, 0xff, 0x30, 0x14, 0x30, 0x00, 0x04, 0x00, 0x0c, 0xa6, 0x46, + 0xb1, 0x49, 0xfe, 0x44, + + 0x01, 0x05, 0xff, 0xff, 0x54, 0x69, 0x08, 0x00, 0xfa, 0x08, 0x47, 0x0c, 0x20, 0x70, 0x43, + 0xab, 0x49, 0x01, 0xe0, 0xff, 0x21, 0x33, 0x31, 0x00, 0x22, 0x0a, 0x54, 0x68, 0x68, 0x68, + 0x61, 0xaa, 0x48, 0x40, 0x1d, 0x70, 0xbd, 0x10, 0xb5, 0x04, 0x1c, 0xe0, 0x69, 0x39, 0x21, + 0x09, 0x5c, 0x25, 0x29, 0x0b, 0xd1, 0xff, 0x21, 0x29, 0x31, 0x09, 0x5c, 0x22, 0x29, 0x06, + 0xd1, 0x10, 0x30, 0x05, 0x21, 0x01, 0x22, 0x96, 0x46, 0xa2, 0x4a, 0xfe, 0x44, 0x10, 0x47, + 0x38, 0x20, 0xa0, 0x61, 0xa1, 0x48, 0x13, 0x30, 0x10, 0xbd, 0x40, 0x1e, 0x80, 0x00, 0xa0, + 0x4b, 0x19, 0x50, 0x9e, 0x49, 0x0a, 0x50, 0xf7, 0x46, 0x01, 0x69, 0x8a, 0x04, 0xd2, 0x0f, + 0x53, 0x03, 0x8a, 0x05, 0x92, 0x0d, 0x1a, 0x43, 0x01, 0xd1, 0x9b, 0x4a, 0x11, 0x40, 0x01, + 0x61, 0x9a, 0x49, 0x81, 0x61, 0x9a, 0x48, 0x1f, 0x30, 0xf7, 0x46, 0x30, 0xb5, 0x04, 0x1c, + 0x99, 0x48, 0x05, 0x78, 0x60, 0x68, 0x01, 0x21, 0x8e, 0x46, 0x97, 0x49, 0xfe, 0x44, 0x08, + 0x47, 0x01, 0x1c, 0xa0, 0x61, 0x96, 0x48, 0x03, 0xd0, 0x00, 0x2d, 0x01, 0xd0, 0x17, 0x30, + 0x30, 0xbd, 0x11, 0x30, 0x30, 0xbd, 0xc0, 0x46, 0x22, 0xf6, 0x1a, 0x00, 0xea, 0x80, 0x00, + 0x00, 0xea, 0xba, 0x00, 0x00, 0x59, 0xae, 0x04, 0x00, 0xfd, 0xaa, 0x04, 0x00, 0x30, 0xb5, + 0x04, 0x1c, 0x01, 0x25, 0xae, 0x46, 0x8b, 0x48, 0xfe, 0x44, 0x00, 0x47, 0x00, 0x28, 0x0e, + 0xd0, 0x8a, 0x48, 0x00, 0x78, 0x03, 0x28, 0x03, 0xd0, 0x01, 0x28, 0x01, 0xd0, 0x04, 0x28, + 0x06, 0xd1, 0x87, 0x48, 0x29, 0x1c, 0x00, 0x22, 0xae, 0x46, 0x87, 0x4b, 0xfe, 0x44, 0x18, + 0x47, 0x37, 0x20, 0x60, 0x60, 0x83, 0x48, 0xff, 0x30, 0xaa, 0x30, 0x30, 0xbd, 0xf0, 0xb5, + 0x06, 0x1c, 0xf5, 0x69, + + 0x01, 0x05, 0xff, 0xff, 0x4e, 0x6a, 0x08, 0x00, 0xfa, 0x34, 0x6a, 0x39, 0x27, 0x78, 0x5d, + 0x00, 0x28, 0x31, 0xd0, 0x7f, 0x48, 0x01, 0x1c, 0x0b, 0x39, 0x22, 0x88, 0x8a, 0x42, 0x02, + 0xd1, 0xa9, 0x88, 0x81, 0x42, 0x01, 0xd0, 0x01, 0x20, 0x27, 0xe0, 0x78, 0x5d, 0x25, 0x28, + 0x11, 0xd1, 0x3b, 0x20, 0x40, 0x5d, 0x01, 0x28, 0x05, 0xd1, 0x28, 0x1c, 0x01, 0x21, 0x8e, + 0x46, 0x77, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x10, 0x20, 0x40, 0x19, 0xa1, 0x7a, 0x01, 0x22, + 0x96, 0x46, 0x62, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0xa1, 0x7a, 0x28, 0x1c, 0x01, 0x24, 0xa6, + 0x46, 0x70, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x28, 0x1c, 0x00, 0x21, 0xa6, 0x46, 0x6e, 0x4a, + 0xfe, 0x44, 0x10, 0x47, 0x00, 0x20, 0x78, 0x55, 0x3b, 0x21, 0x48, 0x55, 0xa8, 0x80, 0x00, + 0x20, 0x70, 0x60, 0x66, 0x48, 0x2f, 0x30, 0xf0, 0xbd, 0x69, 0x48, 0x01, 0x68, 0x69, 0x48, + 0x02, 0x78, 0x69, 0x48, 0x02, 0x2a, 0x03, 0xd0, 0x09, 0x8a, 0x05, 0x29, 0x03, 0xda, 0x04, + 0xe0, 0x09, 0x8a, 0x04, 0x29, 0x01, 0xdb, 0x43, 0x30, 0xf7, 0x46, 0x35, 0x30, 0xf7, 0x46, + 0x63, 0x48, 0x63, 0x49, 0x09, 0x68, 0x01, 0x60, 0x63, 0x49, 0x81, 0x80, 0x63, 0x4a, 0x11, + 0x68, 0x81, 0x60, 0x91, 0x88, 0x81, 0x81, 0x63, 0x48, 0x00, 0x88, 0x60, 0x49, 0x08, 0x80, + 0x60, 0x48, 0xa1, 0x30, 0xf7, 0x46, 0xf8, 0xb5, 0x07, 0x1c, 0x07, 0x26, 0x61, 0x4d, 0x00, + 0x24, 0x00, 0x94, 0x32, 0x20, 0x40, 0x5d, 0x02, 0x28, 0x14, 0xd1, 0x37, 0x20, 0x40, 0x5d, + 0x5b, 0x49, 0x08, 0x18, 0x40, 0x00, 0x02, 0x21, 0x01, 0x22, 0x96, 0x46, 0x5b, 0x4a, 0xfe, + 0x44, 0x10, 0x47, 0x00, 0x28, 0x07, 0xd0, 0x9a, 0x20, 0x40, 0x5d, 0x00, 0x28, 0x01, 0xd1, + 0x01, 0x24, 0x01, 0xe0, + + 0x01, 0x05, 0xff, 0xff, 0x48, 0x6b, 0x08, 0x00, 0xfa, 0x01, 0x20, 0x00, 0x90, 0xac, 0x35, + 0x01, 0x3e, 0xe3, 0xd1, 0xfc, 0x61, 0x00, 0x98, 0x38, 0x62, 0x4f, 0x48, 0x43, 0x30, 0xf8, + 0xbd, 0xc0, 0x46, 0xb9, 0x34, 0x03, 0x00, 0x09, 0xef, 0x02, 0x00, 0x43, 0x68, 0x08, 0x00, + 0x3d, 0x31, 0x05, 0x00, 0xa9, 0xb7, 0x04, 0x00, 0x8d, 0x62, 0x02, 0x00, 0xa1, 0x69, 0x08, + 0x00, 0x70, 0x55, 0x08, 0x00, 0x70, 0xb5, 0x4b, 0x48, 0x05, 0x78, 0x00, 0x24, 0x46, 0x48, + 0x00, 0x88, 0x80, 0x09, 0x10, 0xd3, 0x01, 0x20, 0x06, 0x1c, 0x86, 0x46, 0x44, 0x49, 0xfe, + 0x44, 0x08, 0x47, 0x00, 0x28, 0x08, 0xd0, 0x3c, 0x22, 0x44, 0x49, 0x08, 0x78, 0x01, 0x28, + 0x03, 0xd1, 0x50, 0x5c, 0x00, 0x28, 0x00, 0xd0, 0x34, 0x1c, 0x3e, 0x48, 0xff, 0x2d, 0x01, + 0xd0, 0x00, 0x2c, 0x01, 0xd0, 0x41, 0x30, 0x70, 0xbd, 0x0d, 0x30, 0x70, 0xbd, 0xb9, 0xab, + 0x04, 0x00, 0xdc, 0x5f, 0x08, 0x00, 0x0b, 0xd8, 0x04, 0x00, 0xc1, 0x69, 0x82, 0x69, 0x51, + 0x1a, 0x01, 0x61, 0x37, 0x48, 0x73, 0x30, 0xf7, 0x46, 0xc0, 0x46, 0x35, 0xff, 0x00, 0x00, + 0x41, 0x36, 0x00, 0x00, 0xd9, 0x67, 0x08, 0x00, 0x07, 0x53, 0x08, 0x00, 0xc4, 0x30, 0x19, + 0x00, 0x84, 0x51, 0x08, 0x00, 0x95, 0x04, 0x01, 0x00, 0x99, 0x5f, 0x03, 0x00, 0x9c, 0x14, + 0x08, 0x00, 0xdf, 0xd7, 0x01, 0x00, 0x34, 0x15, 0x08, 0x00, 0x13, 0x84, 0x05, 0x00, 0xf1, + 0x68, 0x08, 0x00, 0x25, 0x32, 0x04, 0x00, 0x61, 0x7d, 0x03, 0x00, 0xef, 0x9f, 0x02, 0x00, + 0x29, 0xd5, 0x01, 0x00, 0x04, 0xf3, 0x1a, 0x00, 0x80, 0x7b, 0x08, 0x00, 0xff, 0xe7, 0x00, + 0x00, 0x08, 0x14, 0x08, 0x00, 0xb5, 0xa4, 0x03, 0x00, 0x5f, 0x50, 0x08, 0x00, 0x49, 0xa0, + 0x02, 0x00, 0x0b, 0x97, + + 0x01, 0x05, 0xff, 0xff, 0x42, 0x6c, 0x08, 0x00, 0xfa, 0x02, 0x00, 0xf9, 0xb3, 0x02, 0x00, + 0x26, 0x25, 0x08, 0x00, 0x20, 0x01, 0x1a, 0x00, 0x79, 0x98, 0x01, 0x00, 0x65, 0xab, 0x04, + 0x00, 0x11, 0x04, 0x00, 0x00, 0xb7, 0xc8, 0x01, 0x00, 0xd3, 0xfe, 0x00, 0x00, 0x7d, 0x98, + 0x02, 0x00, 0x11, 0x00, 0x01, 0x00, 0x90, 0x49, 0x08, 0x00, 0x76, 0x53, 0x08, 0x00, 0xb7, + 0x2a, 0x02, 0x00, 0x88, 0x0b, 0x1a, 0x00, 0x94, 0x5f, 0x08, 0x00, 0x61, 0x09, 0x00, 0x00, + 0xb8, 0x64, 0x06, 0x00, 0x34, 0x33, 0x19, 0x00, 0xfd, 0xa0, 0x03, 0x00, 0xd0, 0x5f, 0x08, + 0x00, 0x11, 0x01, 0x0d, 0x00, 0x97, 0x4d, 0x02, 0x00, 0x94, 0x1a, 0x08, 0x00, 0x9f, 0xae, + 0x04, 0x00, 0x7a, 0x7f, 0x1a, 0x00, 0x03, 0x28, 0x04, 0x00, 0xb7, 0x95, 0x01, 0x00, 0x12, + 0x25, 0x08, 0x00, 0x34, 0x24, 0x08, 0x00, 0x19, 0x8f, 0x02, 0x00, 0x70, 0xb5, 0x06, 0x1c, + 0xdc, 0x4d, 0x28, 0x68, 0xdc, 0x4c, 0x00, 0x28, 0x01, 0xd1, 0x08, 0x34, 0x0b, 0xe0, 0x28, + 0x68, 0xc3, 0x21, 0x00, 0x22, 0x01, 0x23, 0x9e, 0x46, 0xd8, 0x4b, 0xfe, 0x44, 0x18, 0x47, + 0x00, 0x20, 0x28, 0x60, 0xff, 0x34, 0x97, 0x34, 0x34, 0x62, 0x70, 0xbd, 0x10, 0xb5, 0x40, + 0x69, 0x00, 0x7a, 0x80, 0x06, 0x84, 0x0e, 0x07, 0x2c, 0x01, 0xd0, 0x09, 0x2c, 0x06, 0xd1, + 0x00, 0x20, 0x0f, 0x21, 0x01, 0x22, 0x96, 0x46, 0xce, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x0f, + 0x2c, 0x15, 0xd1, 0xcd, 0x48, 0x00, 0x78, 0x01, 0x28, 0x11, 0xd1, 0xcc, 0x4a, 0x11, 0x88, + 0x10, 0x20, 0x08, 0x43, 0x10, 0x80, 0xca, 0x48, 0x03, 0x21, 0x06, 0x22, 0x01, 0x24, 0xa6, + 0x46, 0xc9, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x96, 0x20, 0xa6, 0x46, 0xc7, 0x49, 0xfe, 0x44, + 0x08, 0x47, 0x10, 0xbd, + + 0x01, 0x05, 0xff, 0xff, 0x3c, 0x6d, 0x08, 0x00, 0xfa, 0x70, 0xb5, 0x05, 0x1c, 0xee, 0x69, + 0x68, 0x69, 0x40, 0x78, 0x31, 0x28, 0x1f, 0xd1, 0xc3, 0x4c, 0xc3, 0x48, 0x03, 0x78, 0x00, + 0x21, 0x02, 0xe0, 0x48, 0x1c, 0x01, 0x06, 0x09, 0x0e, 0x99, 0x42, 0x15, 0xda, 0x23, 0x20, + 0x00, 0x01, 0x48, 0x43, 0x20, 0x18, 0x38, 0x22, 0x12, 0x5c, 0x0a, 0x2a, 0xf2, 0xd1, 0x00, + 0x21, 0x01, 0x24, 0xa6, 0x46, 0xba, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x74, 0x80, 0x03, 0x20, + 0x30, 0x80, 0xb8, 0x49, 0xaf, 0x20, 0xc0, 0x00, 0x40, 0x18, 0x28, 0x62, 0x70, 0xbd, 0xfe, + 0xb5, 0x02, 0x90, 0x81, 0x8a, 0x84, 0x69, 0xab, 0x48, 0x00, 0x78, 0xb3, 0x4a, 0x8a, 0x1a, + 0x1e, 0xd0, 0x1a, 0x3a, 0x00, 0xd1, 0xa2, 0xe0, 0x01, 0x3a, 0x00, 0xd1, 0x8b, 0xe0, 0xe6, + 0x4b, 0xd2, 0x1a, 0x7e, 0xd0, 0x3c, 0x3a, 0x04, 0xd0, 0x16, 0x3a, 0x63, 0xd0, 0x04, 0x3a, + 0x28, 0xd0, 0xfe, 0xbd, 0x01, 0x28, 0x1a, 0xd1, 0xe1, 0x48, 0x0b, 0x21, 0x09, 0x19, 0x0a, + 0x23, 0x0c, 0x78, 0x02, 0x78, 0x22, 0x40, 0x0a, 0x70, 0x01, 0x30, 0x01, 0x31, 0x01, 0x3b, + 0xf7, 0xd1, 0xfe, 0xbd, 0x20, 0x1c, 0x00, 0x21, 0x6a, 0x46, 0x01, 0x25, 0xae, 0x46, 0xd9, + 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x68, 0x46, 0xae, 0x46, 0xd7, 0x49, 0xfe, 0x44, 0x08, 0x47, + 0x00, 0x28, 0x00, 0xd0, 0x87, 0xe0, 0x20, 0x1c, 0x4e, 0x21, 0x02, 0x22, 0x6b, 0x46, 0xae, + 0x46, 0xd3, 0x4c, 0xfe, 0x44, 0x20, 0x47, 0x49, 0xe0, 0x0b, 0x20, 0x06, 0x57, 0xd1, 0x48, + 0x07, 0x1c, 0x10, 0x3f, 0x11, 0x22, 0x94, 0x46, 0x0f, 0x23, 0x00, 0x22, 0x85, 0x56, 0xea, + 0x0f, 0x52, 0x19, 0x52, 0x10, 0x96, 0x42, 0x05, 0xdc, 0xfd, 0x56, 0xea, 0x0f, 0x52, 0x19, + 0x52, 0x10, 0x96, 0x42, + + 0x01, 0x05, 0xff, 0xff, 0x36, 0x6e, 0x08, 0x00, 0xfa, 0x03, 0xdc, 0x01, 0x38, 0x01, 0x3b, + 0xef, 0xd1, 0x03, 0xe0, 0xe1, 0x48, 0x03, 0x70, 0x00, 0x20, 0x84, 0x46, 0x88, 0x05, 0x00, + 0x0f, 0x80, 0x01, 0x40, 0x28, 0x07, 0xdb, 0x62, 0x46, 0x20, 0x1c, 0x01, 0x23, 0x9e, 0x46, + 0xdc, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x1f, 0xe0, 0x88, 0x0a, 0x80, 0x01, 0x89, 0x05, 0x89, + 0x0d, 0x01, 0x43, 0x09, 0x04, 0x09, 0x0c, 0x62, 0x46, 0x20, 0x1c, 0x01, 0x23, 0x9e, 0x46, + 0x70, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x10, 0xe0, 0x06, 0x20, 0xa0, 0x80, 0xd2, 0x48, 0x00, + 0x78, 0x02, 0x28, 0x00, 0xdb, 0x01, 0x20, 0xa0, 0x73, 0x01, 0x23, 0x63, 0x80, 0x20, 0x1c, + 0xe8, 0x49, 0x00, 0x22, 0x9e, 0x46, 0xe7, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0xe4, 0x49, 0xff, + 0x31, 0x23, 0x31, 0x02, 0x98, 0x01, 0x62, 0xfe, 0xbd, 0xe4, 0x49, 0xe4, 0x48, 0x42, 0x1c, + 0x05, 0x20, 0x01, 0x23, 0x9e, 0x46, 0xe3, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0xfe, 0xbd, 0x20, + 0x1c, 0x00, 0x21, 0x6a, 0x46, 0x01, 0x25, 0xae, 0x46, 0x9f, 0x4b, 0xfe, 0x44, 0x18, 0x47, + 0x68, 0x46, 0xae, 0x46, 0x9e, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x1d, 0x21, 0x09, 0x19, 0xae, + 0x46, 0xeb, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0xfe, 0xbd, 0x20, 0x1c, 0x00, 0x21, 0x01, 0x25, + 0xae, 0x46, 0xe8, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0xae, 0x46, 0xe7, 0x49, 0xfe, 0x44, 0x08, + 0x47, 0x19, 0x21, 0x09, 0x19, 0xae, 0x46, 0xe2, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0xfe, 0xbd, + 0xf0, 0xb5, 0x06, 0x1c, 0xb4, 0x8a, 0xb7, 0x69, 0xe7, 0x48, 0x84, 0x42, 0x0d, 0xdc, 0x84, + 0x42, 0x70, 0xd0, 0x6a, 0x38, 0x20, 0x1a, 0x67, 0xd0, 0x10, 0x38, 0x59, 0xd0, 0x08, 0x38, + 0x50, 0xd0, 0x46, 0x38, + + 0x01, 0x05, 0xff, 0xff, 0x30, 0x6f, 0x08, 0x00, 0xfa, 0x42, 0xd0, 0x04, 0x38, 0x39, 0xd0, + 0xf0, 0xbd, 0xe2, 0x48, 0x20, 0x1a, 0x2e, 0xd0, 0x03, 0x38, 0x07, 0xd0, 0x59, 0x38, 0x26, + 0xd0, 0x01, 0x38, 0x1d, 0xd0, 0xff, 0x38, 0xf6, 0x38, 0x13, 0xd0, 0xf0, 0xbd, 0xdd, 0x48, + 0x00, 0x78, 0x01, 0x28, 0x5e, 0xd0, 0xdc, 0x48, 0x00, 0x78, 0xff, 0x28, 0x5a, 0xd0, 0xeb, + 0x48, 0x00, 0x78, 0x01, 0x28, 0x56, 0xd1, 0x38, 0x1c, 0x01, 0x21, 0x8e, 0x46, 0xd1, 0x49, + 0xfe, 0x44, 0x08, 0x47, 0x44, 0xe0, 0x38, 0x1c, 0x01, 0x21, 0x8e, 0x46, 0xcf, 0x49, 0xfe, + 0x44, 0x08, 0x47, 0x3d, 0xe0, 0x38, 0x1c, 0x01, 0x21, 0x8e, 0x46, 0xcc, 0x49, 0xfe, 0x44, + 0x08, 0x47, 0x36, 0xe0, 0xf8, 0x7a, 0xeb, 0x49, 0x08, 0x70, 0x32, 0xe0, 0x38, 0x1c, 0x01, + 0x21, 0x8e, 0x46, 0xe9, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x33, 0xe0, 0x38, 0x1c, 0x01, 0x21, + 0x8e, 0x46, 0xe6, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x24, 0xe0, 0x38, 0x1c, 0x01, 0x25, 0xae, + 0x46, 0xe4, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x38, 0x1c, 0xae, 0x46, 0xe2, 0x49, 0xfe, 0x44, + 0x08, 0x47, 0x18, 0xe0, 0x38, 0x1c, 0x01, 0x21, 0x8e, 0x46, 0xe0, 0x49, 0xfe, 0x44, 0x08, + 0x47, 0x11, 0xe0, 0x38, 0x1c, 0x01, 0x25, 0xae, 0x46, 0xdd, 0x49, 0xfe, 0x44, 0x08, 0x47, + 0x38, 0x1c, 0xae, 0x46, 0xdc, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x05, 0xe0, 0x38, 0x1c, 0x01, + 0x21, 0x8e, 0x46, 0xd9, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x38, 0x1c, 0x21, 0x1c, 0x00, 0x22, + 0x01, 0x23, 0x9e, 0x46, 0xeb, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0xe9, 0x48, 0x9c, 0x30, 0x30, + 0x62, 0xf0, 0xbd, 0xe9, 0x49, 0x09, 0x78, 0x01, 0x29, 0x03, 0xd0, 0xe8, 0x49, 0x09, 0x78, + 0x00, 0x29, 0x02, 0xd1, + + 0x01, 0x05, 0xff, 0xff, 0x2a, 0x70, 0x08, 0x00, 0xfa, 0xe7, 0x49, 0x0e, 0x31, 0x01, 0x62, + 0xf7, 0x46, 0xc0, 0x46, 0xcc, 0x5f, 0x08, 0x00, 0x65, 0x0d, 0x02, 0x00, 0xd3, 0x96, 0x02, + 0x00, 0xb9, 0x6e, 0x03, 0x00, 0xa2, 0x52, 0x08, 0x00, 0x44, 0x7f, 0x1a, 0x00, 0x6a, 0x0a, + 0x1a, 0x00, 0x65, 0xab, 0x04, 0x00, 0x3f, 0x4a, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x21, + 0x50, 0x08, 0x00, 0xb7, 0xc8, 0x01, 0x00, 0xe1, 0xa1, 0x00, 0x00, 0x0e, 0x04, 0x00, 0x00, + 0x30, 0xb5, 0xa8, 0x49, 0x09, 0x78, 0x40, 0x69, 0x3f, 0x22, 0x82, 0x1a, 0x01, 0x2a, 0x45, + 0xd9, 0x0f, 0x3a, 0xd3, 0x48, 0x1f, 0xd0, 0x2d, 0x3a, 0x5d, 0xd1, 0x00, 0x24, 0x00, 0x78, + 0x80, 0x08, 0x0f, 0xd3, 0x01, 0x25, 0xae, 0x46, 0xcf, 0x48, 0xfe, 0x44, 0x00, 0x47, 0x00, + 0x28, 0x07, 0xd0, 0x01, 0x38, 0x03, 0xd0, 0x02, 0x38, 0x03, 0xd0, 0x01, 0x38, 0x02, 0xd1, + 0x02, 0x24, 0x00, 0xe0, 0x2c, 0x1c, 0xcb, 0x48, 0x32, 0x38, 0x21, 0x1c, 0x0b, 0x22, 0x01, + 0x23, 0x9e, 0x46, 0xc9, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x30, 0xbd, 0x00, 0x78, 0x40, 0x08, + 0x3c, 0xd3, 0x01, 0x29, 0x3a, 0xd1, 0xc1, 0x48, 0x01, 0x78, 0xc1, 0x48, 0x00, 0x29, 0x09, + 0xd0, 0x04, 0x29, 0x0d, 0xd1, 0x06, 0x21, 0x08, 0x22, 0x01, 0x23, 0x9e, 0x46, 0xc0, 0x4b, + 0xfe, 0x44, 0x18, 0x47, 0x05, 0xe0, 0x01, 0x21, 0x00, 0x22, 0x8e, 0x46, 0xbc, 0x4b, 0xfe, + 0x44, 0x18, 0x47, 0xed, 0x48, 0x02, 0x30, 0x01, 0x21, 0x03, 0x22, 0x8e, 0x46, 0xb8, 0x4b, + 0xfe, 0x44, 0x18, 0x47, 0x30, 0xbd, 0x00, 0x29, 0x1a, 0xd1, 0xe8, 0x49, 0x01, 0x39, 0x4a, + 0x78, 0xe5, 0x48, 0x00, 0x2a, 0x0d, 0xd1, 0x0c, 0x22, 0x51, 0x56, 0x00, 0x29, 0x09, 0xdd, + 0x32, 0x29, 0x07, 0xda, + + 0x01, 0x05, 0xff, 0xff, 0x24, 0x71, 0x08, 0x00, 0xfa, 0x16, 0x21, 0x00, 0x22, 0x01, 0x23, + 0x9e, 0x46, 0xec, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x30, 0xbd, 0x19, 0x21, 0x00, 0x22, 0x01, + 0x23, 0x9e, 0x46, 0xe8, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x30, 0xbd, 0xda, 0x07, 0x00, 0x00, + 0xa2, 0x13, 0x08, 0x00, 0xad, 0x24, 0x00, 0x00, 0x81, 0xf4, 0x00, 0x00, 0x81, 0x97, 0x02, + 0x00, 0x27, 0x31, 0x19, 0x00, 0x70, 0xb5, 0xe2, 0x48, 0x00, 0x78, 0xe0, 0x49, 0x08, 0x70, + 0x6a, 0x48, 0x00, 0x78, 0x01, 0x28, 0x17, 0xd0, 0xdf, 0x4d, 0x86, 0x3d, 0x28, 0x1c, 0x04, + 0x21, 0x01, 0x24, 0xa6, 0x46, 0xec, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x00, 0x28, 0x1f, 0xd1, + 0x28, 0x1c, 0x08, 0x21, 0xa6, 0x46, 0xe9, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x28, 0x1c, 0x07, + 0x21, 0xa6, 0x46, 0xe6, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x70, 0xbd, 0xc2, 0x4d, 0x4c, 0x35, + 0x28, 0x1c, 0x00, 0x26, 0x31, 0x1c, 0x01, 0x24, 0xa6, 0x46, 0xea, 0x4a, 0xfe, 0x44, 0x10, + 0x47, 0xe8, 0x49, 0x08, 0x80, 0x28, 0x1c, 0x1c, 0x21, 0x32, 0x1c, 0xa6, 0x46, 0xc8, 0x4b, + 0xfe, 0x44, 0x18, 0x47, 0x70, 0xbd, 0xc0, 0x46, 0x7f, 0x19, 0x08, 0x00, 0xe9, 0x96, 0x02, + 0x00, 0xa3, 0x10, 0x08, 0x00, 0xf0, 0xb5, 0x06, 0x1c, 0x35, 0x8b, 0x7e, 0x48, 0x00, 0x78, + 0x04, 0x28, 0x26, 0xd1, 0xde, 0x4f, 0x38, 0x1c, 0x00, 0x21, 0x01, 0x24, 0xa6, 0x46, 0xdc, + 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x29, 0x01, 0x01, 0x43, 0x2d, 0x02, 0x0d, 0x43, 0x38, 0x1c, + 0x0c, 0x21, 0xa6, 0x46, 0xd7, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x00, 0x03, 0x28, 0x43, 0x38, + 0x80, 0xb6, 0x4d, 0x3a, 0x3d, 0x38, 0x1c, 0x08, 0x21, 0xa6, 0x46, 0xd2, 0x4a, 0xfe, 0x44, + 0x10, 0x47, 0x41, 0x1c, + + 0x01, 0x05, 0xff, 0xff, 0x1e, 0x72, 0x08, 0x00, 0xfa, 0x28, 0x68, 0xa6, 0x46, 0xd1, 0x4a, + 0xfe, 0x44, 0x10, 0x47, 0xe9, 0x60, 0xce, 0x48, 0xda, 0x30, 0x30, 0x62, 0xf0, 0xbd, 0xc0, + 0x46, 0x25, 0x00, 0x00, 0x00, 0x55, 0x0c, 0x00, 0x00, 0xbd, 0x97, 0x02, 0x00, 0xa9, 0x60, + 0x08, 0x00, 0x63, 0x08, 0x00, 0x00, 0xa1, 0x69, 0x08, 0x00, 0x00, 0xb5, 0x30, 0x48, 0x00, + 0x78, 0x01, 0x28, 0x0c, 0xd1, 0xc5, 0x49, 0x08, 0x88, 0x10, 0x22, 0x90, 0x43, 0x08, 0x80, + 0xc3, 0x48, 0x00, 0x21, 0x06, 0x22, 0x01, 0x23, 0x9e, 0x46, 0x5d, 0x4b, 0xfe, 0x44, 0x18, + 0x47, 0x00, 0xbd, 0x00, 0xb5, 0x40, 0x69, 0x41, 0x7c, 0x0f, 0x29, 0x07, 0xd1, 0x00, 0x7c, + 0x01, 0x28, 0x04, 0xd1, 0x01, 0x20, 0x86, 0x46, 0xe7, 0x48, 0xfe, 0x44, 0x00, 0x47, 0x00, + 0xbd, 0xc0, 0x46, 0x15, 0x60, 0x08, 0x00, 0x7d, 0x24, 0x00, 0x00, 0xc3, 0xf3, 0x00, 0x00, + 0x00, 0xb5, 0x40, 0x69, 0x00, 0x7a, 0x0f, 0x28, 0x04, 0xd1, 0x01, 0x20, 0x86, 0x46, 0xde, + 0x48, 0xfe, 0x44, 0x00, 0x47, 0x00, 0xbd, 0xc0, 0x46, 0x76, 0xfd, 0x00, 0x00, 0x39, 0x05, + 0x18, 0x00, 0x55, 0x00, 0x18, 0x00, 0x5d, 0x04, 0x18, 0x00, 0x7f, 0xfd, 0x00, 0x00, 0xd5, + 0x5f, 0x08, 0x00, 0xd3, 0x5f, 0x08, 0x00, 0x30, 0xb5, 0xa0, 0x4c, 0x21, 0x88, 0x0e, 0x48, + 0x00, 0x78, 0x01, 0x28, 0x1a, 0xd0, 0x83, 0x4d, 0x86, 0x3d, 0x28, 0x1c, 0x04, 0x21, 0x01, + 0x24, 0xa6, 0x46, 0x90, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x00, 0x28, 0x1b, 0xd1, 0x28, 0x1c, + 0x08, 0x21, 0xa6, 0x46, 0xcc, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x28, 0x1c, 0x07, 0x21, 0xa6, + 0x46, 0xc9, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x0e, 0xe0, 0xc0, 0x46, 0xa2, 0x52, 0x08, 0x00, + 0xc4, 0x4d, 0xa9, 0x42, + + 0x01, 0x05, 0xff, 0xff, 0x18, 0x73, 0x08, 0x00, 0xfa, 0x08, 0xd0, 0x63, 0x48, 0x4c, 0x30, + 0x00, 0x22, 0x01, 0x23, 0x9e, 0x46, 0x6e, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x25, 0x80, 0x6e, + 0x48, 0x00, 0x78, 0x6c, 0x49, 0x09, 0x78, 0x81, 0x42, 0x04, 0xd0, 0x01, 0x20, 0x86, 0x46, + 0x89, 0x48, 0xfe, 0x44, 0x00, 0x47, 0x30, 0xbd, 0xd2, 0x5f, 0x08, 0x00, 0x01, 0x00, 0x18, + 0x00, 0xab, 0x06, 0x18, 0x00, 0x95, 0x52, 0x00, 0x00, 0xad, 0x03, 0x18, 0x00, 0x19, 0x06, + 0x18, 0x00, 0xed, 0x53, 0x00, 0x00, 0x99, 0x00, 0x18, 0x00, 0x01, 0x07, 0x18, 0x00, 0x00, + 0xb5, 0x40, 0x69, 0x00, 0x88, 0x01, 0x04, 0x09, 0x0e, 0x0a, 0x02, 0x09, 0x21, 0x89, 0x02, + 0x51, 0x1a, 0x04, 0xd0, 0x0f, 0x20, 0x40, 0x02, 0x09, 0x1a, 0x0e, 0xd0, 0x00, 0xbd, 0x00, + 0x06, 0x00, 0x0e, 0x09, 0x28, 0x12, 0xd1, 0xa8, 0x49, 0xa8, 0x4a, 0x09, 0x32, 0x05, 0x20, + 0x01, 0x23, 0x9e, 0x46, 0xa9, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x00, 0xbd, 0xa5, 0x49, 0xa5, + 0x48, 0x42, 0x1d, 0x05, 0x20, 0x01, 0x23, 0x9e, 0x46, 0xa4, 0x4b, 0xfe, 0x44, 0x18, 0x47, + 0x00, 0xbd, 0xc0, 0x46, 0x11, 0x67, 0x00, 0x00, 0xb5, 0x41, 0x05, 0x00, 0x37, 0x10, 0x08, + 0x00, 0x30, 0x25, 0x08, 0x00, 0x5f, 0x44, 0x05, 0x00, 0x4e, 0x50, 0x08, 0x00, 0xed, 0x01, + 0x01, 0x00, 0x70, 0x55, 0x08, 0x00, 0x88, 0x7c, 0x1a, 0x00, 0x48, 0x31, 0x19, 0x00, 0x65, + 0xab, 0x04, 0x00, 0x7b, 0xab, 0x04, 0x00, 0x30, 0xb5, 0x01, 0x24, 0xa6, 0x46, 0xda, 0x48, + 0xfe, 0x44, 0x00, 0x47, 0xa6, 0x46, 0xd9, 0x48, 0xfe, 0x44, 0x00, 0x47, 0xa6, 0x46, 0xe5, + 0x48, 0xfe, 0x44, 0x00, 0x47, 0xa6, 0x46, 0xe4, 0x48, 0xfe, 0x44, 0x00, 0x47, 0xa6, 0x46, + 0xe3, 0x48, 0xfe, 0x44, + + 0x01, 0x05, 0xff, 0xff, 0x12, 0x74, 0x08, 0x00, 0xfa, 0x00, 0x47, 0xde, 0x4d, 0x6a, 0x78, + 0x01, 0x2a, 0x08, 0xd1, 0xa6, 0x46, 0xe0, 0x48, 0xfe, 0x44, 0x00, 0x47, 0xa6, 0x46, 0xdf, + 0x48, 0xfe, 0x44, 0x00, 0x47, 0x6a, 0x78, 0xde, 0x4b, 0x18, 0x78, 0x00, 0x28, 0x1b, 0xd0, + 0xde, 0x49, 0x01, 0x28, 0x12, 0xd0, 0xdb, 0x4d, 0x2d, 0x78, 0x03, 0x28, 0x02, 0xd0, 0x00, + 0x2d, 0x02, 0xd1, 0x11, 0xe0, 0x00, 0x2d, 0x09, 0xd0, 0x02, 0x28, 0x0d, 0xd1, 0x03, 0x20, + 0x18, 0x70, 0xa0, 0x20, 0x08, 0x70, 0x59, 0x20, 0x48, 0x70, 0x32, 0x20, 0x04, 0xe0, 0x02, + 0x20, 0x18, 0x70, 0x00, 0x20, 0x08, 0x70, 0x48, 0x70, 0x88, 0x70, 0x01, 0x2a, 0x18, 0xd1, + 0xd0, 0x48, 0x00, 0x21, 0xa6, 0x46, 0xcf, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x01, 0x1c, 0x3b, + 0x48, 0x05, 0xd1, 0x0a, 0x21, 0xa6, 0x46, 0x29, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x05, 0xe0, + 0x0a, 0x21, 0xa6, 0x46, 0x65, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x02, 0x24, 0xe1, 0x48, 0x00, + 0x68, 0x41, 0x21, 0x0c, 0x54, 0x30, 0xbd, 0xc0, 0x46, 0x0c, 0x74, 0x1a, 0x00, 0x1e, 0xf6, + 0x1a, 0x00, 0x7d, 0x51, 0x08, 0x00, 0x10, 0xb5, 0xdc, 0x4c, 0xdd, 0x48, 0x00, 0x78, 0x21, + 0x78, 0x81, 0x42, 0x0d, 0xdd, 0x07, 0x21, 0xd9, 0x48, 0x00, 0x22, 0x32, 0x23, 0x1b, 0x5c, + 0x00, 0x2b, 0x02, 0xd0, 0x52, 0x1c, 0x12, 0x06, 0x12, 0x0e, 0xac, 0x30, 0x01, 0x39, 0xf5, + 0xd1, 0x22, 0x70, 0x10, 0xbd, 0x1f, 0xac, 0x04, 0x00, 0xd6, 0x5f, 0x08, 0x00, 0x0a, 0x53, + 0x08, 0x00, 0x04, 0x7d, 0x1a, 0x00, 0xf0, 0xb5, 0x01, 0x24, 0xa6, 0x46, 0xd2, 0x48, 0xfe, + 0x44, 0x00, 0x47, 0xa6, 0x46, 0xcd, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x00, 0x28, 0x10, 0xd0, + 0x11, 0x27, 0x09, 0x26, + + 0x01, 0x05, 0xff, 0xff, 0x0c, 0x75, 0x08, 0x00, 0xfa, 0xca, 0x4d, 0x3e, 0x20, 0x40, 0x5d, + 0xff, 0x28, 0x06, 0xd0, 0x3b, 0x20, 0x47, 0x55, 0x28, 0x1c, 0xa6, 0x46, 0xc7, 0x49, 0xfe, + 0x44, 0x08, 0x47, 0x4c, 0x35, 0x01, 0x3e, 0xf1, 0xd1, 0xf0, 0xbd, 0x77, 0xae, 0x04, 0x00, + 0xfd, 0xaa, 0x04, 0x00, 0x10, 0xb5, 0x04, 0x1c, 0xc2, 0x48, 0x04, 0x21, 0x01, 0x22, 0x96, + 0x46, 0x9d, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x00, 0x28, 0x02, 0xd0, 0x84, 0x48, 0x34, 0x30, + 0x20, 0x62, 0x10, 0xbd, 0xc0, 0x46, 0xd8, 0x5f, 0x08, 0x00, 0xd1, 0xae, 0x04, 0x00, 0x1e, + 0x60, 0x1a, 0x00, 0x9f, 0xae, 0x04, 0x00, 0x47, 0xa5, 0x03, 0x00, 0x2d, 0x6a, 0x05, 0x00, + 0x44, 0x7f, 0x1a, 0x00, 0x6a, 0x0a, 0x1a, 0x00, 0x30, 0xb5, 0x04, 0x1c, 0x20, 0x69, 0xa1, + 0x69, 0x00, 0x29, 0x44, 0xd0, 0x02, 0x78, 0xff, 0x2a, 0x41, 0xd0, 0x8a, 0x88, 0x89, 0x18, + 0x08, 0x22, 0xca, 0x42, 0x3c, 0xd0, 0x09, 0x7a, 0x4a, 0x08, 0xc9, 0x07, 0xc9, 0x0f, 0xc3, + 0x78, 0x00, 0x2b, 0x0a, 0xd0, 0x11, 0x2a, 0x08, 0xd1, 0x8b, 0x42, 0x06, 0xd1, 0xc3, 0x7f, + 0xdb, 0x08, 0x03, 0xd3, 0xa6, 0x4b, 0x1b, 0x78, 0xdb, 0x08, 0x1b, 0xd2, 0x3a, 0x23, 0x1b, + 0x5c, 0x25, 0x2b, 0x01, 0xd1, 0x17, 0x2a, 0x0d, 0xd0, 0x39, 0x23, 0x1b, 0x5c, 0x0a, 0x2b, + 0x20, 0xd1, 0x0f, 0x2a, 0x1e, 0xd1, 0x0f, 0x22, 0x2a, 0x23, 0x01, 0x25, 0xae, 0x46, 0x9d, + 0x4d, 0xfe, 0x44, 0x28, 0x47, 0x13, 0xe0, 0x17, 0x22, 0x2a, 0x23, 0x01, 0x25, 0xae, 0x46, + 0x99, 0x4d, 0xfe, 0x44, 0x28, 0x47, 0x0b, 0xe0, 0xff, 0x22, 0x8a, 0x32, 0x11, 0x23, 0x13, + 0x54, 0xff, 0x22, 0x89, 0x32, 0x11, 0x54, 0x01, 0x21, 0x8e, 0x46, 0x95, 0x49, 0xfe, 0x44, + 0x08, 0x47, 0x92, 0x48, + + 0x01, 0x05, 0xff, 0xff, 0x06, 0x76, 0x08, 0x00, 0xfa, 0xf0, 0x30, 0x20, 0x62, 0x30, 0xbd, + 0x00, 0xb5, 0x92, 0x49, 0x93, 0x48, 0x92, 0x4a, 0x12, 0x18, 0x15, 0x20, 0x01, 0x23, 0x9e, + 0x46, 0x08, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x00, 0xbd, 0x4d, 0x72, 0x08, 0x00, 0xff, 0xff, + 0x00, 0x00, 0x15, 0xab, 0x04, 0x00, 0x6d, 0x62, 0x08, 0x00, 0x45, 0xee, 0x00, 0x00, 0x27, + 0x62, 0x08, 0x00, 0x5d, 0x8c, 0x01, 0x00, 0xa1, 0x69, 0x08, 0x00, 0x70, 0xb5, 0x05, 0x1c, + 0x6e, 0x69, 0x28, 0x69, 0x29, 0x7e, 0xc9, 0x1e, 0x55, 0xd0, 0x21, 0x39, 0x43, 0xd0, 0x01, + 0x39, 0x01, 0x29, 0x2d, 0xd9, 0x02, 0x39, 0x01, 0x29, 0x16, 0xd9, 0x58, 0x39, 0x77, 0xd1, + 0xff, 0x21, 0x8d, 0x31, 0x89, 0x5d, 0x0c, 0x29, 0x72, 0xd1, 0x7c, 0x49, 0xc2, 0x78, 0x4a, + 0x70, 0x02, 0x79, 0x8a, 0x70, 0x42, 0x79, 0xca, 0x70, 0x82, 0x79, 0x0a, 0x71, 0xc2, 0x79, + 0x4a, 0x71, 0x02, 0x7a, 0xca, 0x80, 0x80, 0x7a, 0x08, 0x81, 0x70, 0xbd, 0x71, 0x7e, 0x00, + 0x29, 0x5f, 0xd0, 0x26, 0x21, 0x89, 0x5d, 0x03, 0x29, 0x5b, 0xda, 0xc2, 0x78, 0xf9, 0x21, + 0x11, 0x40, 0xc1, 0x70, 0x01, 0x79, 0x49, 0x06, 0x49, 0x0e, 0x01, 0x71, 0x42, 0x79, 0xfe, + 0x21, 0x11, 0x40, 0x41, 0x71, 0x70, 0xbd, 0x31, 0x7e, 0x00, 0x29, 0x4b, 0xd0, 0x00, 0x78, + 0x03, 0x28, 0x48, 0xda, 0x71, 0x7f, 0xf9, 0x20, 0x08, 0x40, 0x70, 0x77, 0xb0, 0x7f, 0x40, + 0x06, 0x40, 0x0e, 0xb0, 0x77, 0xf1, 0x7f, 0xfe, 0x20, 0x08, 0x40, 0xf0, 0x77, 0x70, 0xbd, + 0x01, 0x24, 0xa6, 0x46, 0x57, 0x48, 0xfe, 0x44, 0x00, 0x47, 0xa6, 0x46, 0x52, 0x49, 0xfe, + 0x44, 0x08, 0x47, 0x00, 0x28, 0x30, 0xd0, 0x5d, 0x48, 0x5c, 0x49, 0x08, 0x18, 0x28, 0x62, + 0x70, 0xbd, 0x00, 0x78, + + 0x01, 0x05, 0xff, 0xff, 0x00, 0x77, 0x08, 0x00, 0xfa, 0x11, 0x28, 0x28, 0xd1, 0xff, 0x20, + 0x71, 0x30, 0x80, 0x19, 0x01, 0x24, 0xa6, 0x46, 0x58, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x81, + 0x21, 0xc9, 0x00, 0x00, 0x88, 0x88, 0x42, 0x1b, 0xd1, 0x55, 0x49, 0xb0, 0x88, 0x88, 0x42, + 0x17, 0xd1, 0x3a, 0x20, 0x80, 0x5d, 0x00, 0x28, 0x03, 0xd1, 0x39, 0x21, 0x89, 0x5d, 0x0f, + 0x29, 0x0d, 0xd0, 0x0f, 0x28, 0x0d, 0xd1, 0x39, 0x20, 0x80, 0x5d, 0x00, 0x28, 0x09, 0xd1, + 0x00, 0x21, 0xb1, 0x80, 0x30, 0x1c, 0xa6, 0x46, 0x4b, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x70, + 0xbd, 0x00, 0x20, 0xb0, 0x80, 0x70, 0xbd, 0xbb, 0x2e, 0x05, 0x00, 0x71, 0x8d, 0x02, 0x00, + 0x70, 0xb5, 0x05, 0x1c, 0x6e, 0x69, 0x49, 0x48, 0x00, 0x78, 0x01, 0x28, 0x0e, 0xd1, 0x03, + 0x20, 0x42, 0x49, 0x01, 0x24, 0xa6, 0x46, 0x42, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x30, 0x1c, + 0xa6, 0x46, 0x40, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x40, 0x48, 0x1a, 0x30, 0x28, 0x62, 0x70, + 0xbd, 0xc0, 0x46, 0xa1, 0x52, 0x08, 0x00, 0x75, 0x59, 0x04, 0x00, 0xb5, 0x74, 0x08, 0x00, + 0xf1, 0x74, 0x08, 0x00, 0xd9, 0x5b, 0x18, 0x00, 0x61, 0x5c, 0x18, 0x00, 0x22, 0x50, 0x08, + 0x00, 0x20, 0x24, 0x08, 0x00, 0x10, 0x31, 0x19, 0x00, 0x4a, 0x75, 0x1a, 0x00, 0x59, 0xae, + 0x04, 0x00, 0xf0, 0xb5, 0xa4, 0xb0, 0x06, 0x1c, 0x31, 0x7c, 0x75, 0x69, 0xa8, 0x7c, 0x00, + 0x28, 0x03, 0xd1, 0x28, 0x68, 0xc0, 0x78, 0x00, 0x28, 0x25, 0xd1, 0x04, 0x29, 0x23, 0xd1, + 0x28, 0x68, 0x01, 0x78, 0x1b, 0x20, 0x01, 0x24, 0xa6, 0x46, 0x2b, 0x4a, 0xfe, 0x44, 0x10, + 0x47, 0x01, 0x06, 0x09, 0x0e, 0x68, 0x46, 0xa6, 0x46, 0x28, 0x4a, 0xfe, 0x44, 0x10, 0x47, + 0x12, 0x21, 0x4f, 0x19, + + 0x01, 0x05, 0xff, 0xff, 0xfa, 0x77, 0x08, 0x00, 0xfa, 0x01, 0x06, 0x09, 0x0e, 0x68, 0x46, + 0x3a, 0x1c, 0xa6, 0x46, 0x24, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0xe8, 0x74, 0x15, 0x48, 0x39, + 0x1c, 0xa6, 0x46, 0x22, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x00, 0x28, 0x01, 0xd0, 0x02, 0x20, + 0x30, 0x61, 0x24, 0xb0, 0xf0, 0xbd, 0x38, 0x24, 0x08, 0x00, 0x2b, 0x10, 0x08, 0x00, 0x94, + 0x1a, 0x08, 0x00, 0x21, 0x50, 0x08, 0x00, 0xcd, 0x05, 0x01, 0x00, 0xb4, 0x46, 0x08, 0x00, + 0xd1, 0x34, 0x02, 0x00, 0xed, 0x01, 0x01, 0x00, 0x4a, 0x0c, 0x1a, 0x00, 0x99, 0x16, 0x08, + 0x00, 0xcb, 0xbf, 0x00, 0x00, 0xd1, 0xbe, 0x00, 0x00, 0xbf, 0x00, 0x03, 0x00, 0x45, 0x60, + 0x08, 0x00, 0x89, 0x02, 0x00, 0x00, 0xb9, 0xd1, 0x01, 0x00, 0x08, 0x60, 0x08, 0x00, 0x22, + 0x0c, 0x00, 0x00, 0x4d, 0xa8, 0x00, 0x00, 0x55, 0xf3, 0x03, 0x00, 0x05, 0x04, 0x00, 0x00, + 0xb7, 0xc8, 0x01, 0x00, 0xab, 0x05, 0x00, 0x00, 0x39, 0xa7, 0x04, 0x00, 0x4d, 0xee, 0x03, + 0x00, 0x7d, 0xbb, 0x03, 0x00, 0xd2, 0x5f, 0x08, 0x00, 0xaf, 0xf3, 0x04, 0x00, 0xb9, 0x08, + 0x01, 0x00, 0x87, 0x2d, 0x01, 0x00, 0xad, 0xaf, 0x02, 0x00, 0xff, 0xb5, 0x68, 0x46, 0xfe, + 0xf0, 0xfb, 0xf9, 0xff, 0xbd, 0xff, 0xb5, 0x68, 0x46, 0xff, 0xf7, 0x5b, 0xfd, 0xff, 0xbd, + 0xff, 0xb5, 0x68, 0x46, 0xff, 0xf7, 0x96, 0xfd, 0xff, 0xbd, 0xff, 0xb5, 0x68, 0x46, 0xff, + 0xf7, 0x3b, 0xfa, 0xff, 0xbd, 0xff, 0xb5, 0x68, 0x46, 0xff, 0xf7, 0x52, 0xfe, 0xff, 0xbd, + 0xff, 0xb5, 0x68, 0x46, 0xff, 0xf7, 0x43, 0xff, 0xff, 0xbd, 0xff, 0xb5, 0x68, 0x46, 0xff, + 0xf7, 0x6c, 0xff, 0xff, 0xbd, 0xff, 0xb5, 0x68, 0x46, 0xff, 0xf7, 0x8f, 0xfe, 0xff, 0xbd, + 0xff, 0xb5, 0x68, 0x46, + + 0x01, 0x05, 0xff, 0x83, 0xf4, 0x78, 0x08, 0x00, 0x7e, 0xff, 0xf7, 0xa6, 0xfe, 0xff, 0xbd, + 0xff, 0xb5, 0x68, 0x46, 0xff, 0xf7, 0x19, 0xfe, 0xff, 0xbd, 0xff, 0xb5, 0x68, 0x46, 0xff, + 0xf7, 0xef, 0xf9, 0xff, 0xbd, 0xff, 0xb5, 0x68, 0x46, 0xff, 0xf7, 0x3b, 0xfa, 0xff, 0xbd, + 0xff, 0xb5, 0x68, 0x46, 0xff, 0xf7, 0x7d, 0xfb, 0xff, 0xbd, 0xff, 0xb5, 0x68, 0x46, 0xff, + 0xf7, 0xc9, 0xf9, 0xff, 0xbd, 0xff, 0xb5, 0x68, 0x46, 0xff, 0xf7, 0xed, 0xfa, 0xff, 0xbd, + 0xff, 0xb5, 0x68, 0x46, 0xff, 0xf7, 0x97, 0xfb, 0xff, 0xbd, 0xff, 0xb5, 0x68, 0x46, 0xff, + 0xf7, 0xaa, 0xfc, 0xff, 0xbd, 0xff, 0xb5, 0x68, 0x46, 0xff, 0xf7, 0xbf, 0xfc, 0xff, 0xbd, + 0xff, 0xb5, 0x68, 0x46, 0xff, 0xf7, 0x8b, 0xfc, 0xff, 0xbd, 0xff, 0xb5, 0x68, 0x46, 0xff, + 0xf7, 0xfb, 0xfb, 0xff, 0xbd, 0xff, 0xb5, 0x68, 0x46, 0xff, 0xf7, 0x32, 0xfc, 0xff, 0xbd, + + + 0x01, 0x05, 0xff, 0x0d, 0x74, 0x7b, 0x08, 0x00, 0x08, 0x00, 0xb5, 0xf8, 0xf0, 0xf3, 0xfe, + 0x00, 0xbd, + + 0x01, 0x05, 0xff, 0x85, 0x80, 0x7b, 0x08, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x21, 0x5f, + 0x18, 0x00, 0x0f, 0x6b, 0x08, 0x00, 0x49, 0x6a, 0x08, 0x00, 0x27, 0x62, 0x08, 0x00, 0x87, + 0x62, 0x08, 0x00, 0xfb, 0x62, 0x08, 0x00, 0xe1, 0x5f, 0x08, 0x00, 0xeb, 0x6a, 0x08, 0x00, + 0x37, 0x63, 0x08, 0x00, 0x91, 0x63, 0x08, 0x00, 0x59, 0x64, 0x08, 0x00, 0xd9, 0x63, 0x08, + 0x00, 0xd1, 0x6b, 0x08, 0x00, 0x81, 0x6b, 0x08, 0x00, 0x43, 0x68, 0x08, 0x00, 0x6d, 0x68, + 0x08, 0x00, 0x99, 0x68, 0x08, 0x00, 0xaf, 0x69, 0x08, 0x00, 0x27, 0x68, 0x08, 0x00, 0x33, + 0x68, 0x08, 0x00, 0x5d, 0x5f, 0x18, 0x00, 0x29, 0x69, 0x08, 0x00, 0x71, 0x69, 0x08, 0x00, + 0xcf, 0x69, 0x08, 0x00, 0x0d, 0x6a, 0x08, 0x00, 0xd7, 0x61, 0x08, 0x00, 0xdd, 0x61, 0x08, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xc7, 0x6a, 0x08, 0x00, 0x45, 0x65, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x00, + + 0x01, 0x05, 0xff, 0x85, 0x04, 0xf3, 0x1a, 0x00, 0x80, 0xff, 0xff, 0xff, 0xff, 0xa8, 0x4e, + 0x02, 0x00, 0xb0, 0x4d, 0x02, 0x00, 0xe4, 0xc8, 0x01, 0x00, 0x62, 0x8c, 0x01, 0x00, 0xcc, + 0x22, 0x01, 0x00, 0x98, 0x9e, 0x01, 0x00, 0x5c, 0x24, 0x03, 0x00, 0x8c, 0xa1, 0x03, 0x00, + 0xc4, 0x62, 0x03, 0x00, 0x68, 0xd6, 0x02, 0x00, 0x92, 0x49, 0x02, 0x00, 0x64, 0x4c, 0x02, + 0x00, 0x8a, 0x8f, 0x02, 0x00, 0xc2, 0x95, 0x01, 0x00, 0x74, 0x31, 0x05, 0x00, 0xdc, 0x5f, + 0x03, 0x00, 0xbe, 0xd8, 0x01, 0x00, 0xd2, 0xa4, 0x03, 0x00, 0x14, 0xd8, 0x04, 0x00, 0x52, + 0x36, 0x00, 0x00, 0x78, 0x4f, 0x02, 0x00, 0x28, 0x32, 0x04, 0x00, 0x3a, 0xd5, 0x01, 0x00, + 0x0c, 0x97, 0x02, 0x00, 0x20, 0x9a, 0x01, 0x00, 0x4c, 0x9d, 0x04, 0x00, 0x4a, 0x36, 0x03, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xe6, 0x2a, 0x02, 0x00, 0x12, 0xef, 0x02, 0x00, 0xff, 0xff, + 0xff, 0xff, + + 0x01, 0x05, 0xff, 0xff, 0x00, 0x00, 0x18, 0x00, 0xfa, 0xf0, 0xb5, 0xff, 0xb0, 0xfc, 0xb0, + 0x05, 0x1c, 0x00, 0x21, 0x01, 0x24, 0xa6, 0x46, 0xe1, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0xeb, + 0x7b, 0xe0, 0x49, 0xfa, 0x2b, 0x12, 0xdc, 0xda, 0x1c, 0x92, 0x10, 0x05, 0xd0, 0x01, 0xae, + 0x07, 0x68, 0x37, 0x60, 0x04, 0x36, 0x01, 0x3a, 0xfa, 0xd1, 0x68, 0x46, 0x03, 0x70, 0x28, + 0x1c, 0x00, 0x22, 0x01, 0xab, 0xa6, 0x46, 0xd8, 0x4c, 0xfe, 0x44, 0x20, 0x47, 0x05, 0xe0, + 0x28, 0x1c, 0x1e, 0x22, 0xa6, 0x46, 0xd5, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x7f, 0xb0, 0x7c, + 0xb0, 0xf0, 0xbd, 0x7e, 0xb5, 0x0f, 0x20, 0x6d, 0x46, 0x28, 0x72, 0xd1, 0x48, 0x00, 0x78, + 0xe8, 0x80, 0x7d, 0x26, 0xf6, 0x00, 0x04, 0xe0, 0x0a, 0x20, 0xa6, 0x46, 0xce, 0x49, 0xfe, + 0x44, 0x08, 0x47, 0x68, 0x46, 0x01, 0x24, 0xa6, 0x46, 0xed, 0x49, 0xfe, 0x44, 0x08, 0x47, + 0x00, 0x28, 0x05, 0xd0, 0x30, 0x1c, 0x41, 0x1e, 0x0e, 0x04, 0x36, 0x0c, 0x00, 0x28, 0xec, + 0xd1, 0xa6, 0x46, 0xe8, 0x48, 0xfe, 0x44, 0x00, 0x47, 0x7e, 0xbd, 0xfc, 0xb5, 0x06, 0x1c, + 0xf1, 0x7a, 0x00, 0x91, 0x01, 0x21, 0x0c, 0x1c, 0x8e, 0x46, 0xbb, 0x4a, 0xfe, 0x44, 0x10, + 0x47, 0x05, 0x1c, 0xb0, 0x7d, 0x01, 0x90, 0xde, 0x48, 0x00, 0x78, 0xe0, 0x4e, 0x00, 0x28, + 0x00, 0xd0, 0xc3, 0xe0, 0x69, 0x1c, 0x00, 0xd1, 0xc0, 0xe0, 0x30, 0x1c, 0x00, 0x78, 0x01, + 0x28, 0x02, 0xd1, 0x01, 0x20, 0xc0, 0x03, 0x01, 0xe0, 0x7d, 0x20, 0x00, 0x02, 0x68, 0x43, + 0xd8, 0x49, 0x08, 0x18, 0xd8, 0x49, 0xa6, 0x46, 0xd8, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x09, + 0x04, 0x09, 0x0c, 0xd8, 0x48, 0x04, 0x30, 0x06, 0x22, 0xa6, 0x46, 0xd5, 0x4b, 0xfe, 0x44, + 0x18, 0x47, 0xd4, 0x48, + + 0x01, 0x05, 0xff, 0xff, 0xfa, 0x00, 0x18, 0x00, 0xfa, 0x5a, 0x30, 0x00, 0x21, 0xa6, 0x46, + 0xd3, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x06, 0x1c, 0xd0, 0x48, 0x08, 0x21, 0xa6, 0x46, 0xd0, + 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x86, 0x19, 0x14, 0x2e, 0x00, 0xd8, 0x14, 0x26, 0xcd, 0x4f, + 0x38, 0x1c, 0x0a, 0x21, 0xa6, 0x46, 0xcc, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x06, 0x28, 0x43, + 0xd0, 0x00, 0x98, 0x01, 0x28, 0x40, 0xd0, 0xc0, 0x48, 0x00, 0x78, 0x01, 0x28, 0x02, 0xd1, + 0x01, 0x20, 0xc0, 0x03, 0x01, 0xe0, 0x7d, 0x20, 0x00, 0x02, 0x68, 0x43, 0xbc, 0x49, 0x08, + 0x18, 0xbc, 0x49, 0xa6, 0x46, 0xbc, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x88, 0x1b, 0x01, 0x04, + 0x09, 0x0c, 0x00, 0x26, 0x38, 0x1c, 0x32, 0x1c, 0xa6, 0x46, 0xb8, 0x4b, 0xfe, 0x44, 0x18, + 0x47, 0xf0, 0x48, 0x08, 0x21, 0xa6, 0x46, 0xb7, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x07, 0x1c, + 0xec, 0x48, 0x31, 0x1c, 0xa6, 0x46, 0xb4, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0xb8, 0x42, 0x06, + 0xdd, 0xe8, 0x48, 0x31, 0x1c, 0xa6, 0x46, 0xb0, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x05, 0xe0, + 0xe5, 0x48, 0x08, 0x21, 0xa6, 0x46, 0xac, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x07, 0x1c, 0xa9, + 0x48, 0x31, 0x1c, 0xa6, 0x46, 0xa9, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x3e, 0x18, 0x08, 0x36, + 0x2c, 0xe0, 0x38, 0x1c, 0x14, 0x21, 0x00, 0x22, 0xa6, 0x46, 0xa2, 0x4b, 0xfe, 0x44, 0x18, + 0x47, 0xd9, 0x48, 0x08, 0x21, 0xa6, 0x46, 0xa1, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x07, 0x1c, + 0xd6, 0x48, 0x00, 0x21, 0xa6, 0x46, 0x9d, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0xb8, 0x42, 0x06, + 0xdd, 0xd2, 0x48, 0x00, 0x21, 0xa6, 0x46, 0x99, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x05, 0xe0, + 0xce, 0x48, 0x08, 0x21, + + 0x01, 0x05, 0xff, 0xff, 0xf4, 0x01, 0x18, 0x00, 0xfa, 0xa6, 0x46, 0x96, 0x4a, 0xfe, 0x44, + 0x10, 0x47, 0x07, 0x1c, 0x93, 0x48, 0x00, 0x21, 0xa6, 0x46, 0x92, 0x4a, 0xfe, 0x44, 0x10, + 0x47, 0x38, 0x18, 0x36, 0x18, 0x1e, 0x36, 0x89, 0x48, 0x00, 0x78, 0x01, 0x28, 0x02, 0xd1, + 0x01, 0x20, 0xc0, 0x03, 0x01, 0xe0, 0x7d, 0x20, 0x00, 0x02, 0x68, 0x43, 0x85, 0x49, 0x08, + 0x18, 0x85, 0x49, 0xa6, 0x46, 0x85, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x70, 0x18, 0x01, 0x04, + 0x09, 0x0c, 0xbd, 0x48, 0x00, 0x22, 0xa6, 0x46, 0xbd, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x93, + 0xe0, 0x01, 0x28, 0x00, 0xd0, 0xa1, 0xe0, 0x69, 0x1c, 0x00, 0xd1, 0x8f, 0xe0, 0x7e, 0x48, + 0x7e, 0x30, 0x00, 0x21, 0xa6, 0x46, 0xeb, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x07, 0x1c, 0x7a, + 0x48, 0x82, 0x30, 0x00, 0x21, 0xa6, 0x46, 0xe6, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0xc7, 0x19, + 0x76, 0x48, 0x02, 0x38, 0x00, 0x21, 0xa6, 0x46, 0xe4, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0xe3, + 0x49, 0x01, 0x28, 0x34, 0xd0, 0x00, 0x98, 0x01, 0x28, 0x31, 0xd0, 0x30, 0x78, 0x01, 0x28, + 0x02, 0xd1, 0x01, 0x20, 0xc0, 0x03, 0x01, 0xe0, 0x7d, 0x20, 0x00, 0x02, 0x68, 0x43, 0x67, + 0x49, 0x08, 0x18, 0x67, 0x49, 0xa6, 0x46, 0x67, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0xc8, 0x1b, + 0x01, 0x04, 0x09, 0x0c, 0xd7, 0x48, 0xa6, 0x46, 0xd7, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x30, + 0x78, 0x01, 0x28, 0x02, 0xd1, 0x01, 0x20, 0xc0, 0x03, 0x01, 0xe0, 0x7d, 0x20, 0x00, 0x02, + 0x68, 0x43, 0x5b, 0x49, 0x08, 0x18, 0x5b, 0x49, 0xa6, 0x46, 0x5b, 0x4a, 0xfe, 0x44, 0x10, + 0x47, 0x48, 0x1d, 0x01, 0x04, 0x09, 0x0c, 0x93, 0x48, 0x00, 0x22, 0xa6, 0x46, 0x92, 0x4b, + 0xfe, 0x44, 0x18, 0x47, + + 0x01, 0x05, 0xff, 0xff, 0xee, 0x02, 0x18, 0x00, 0xfa, 0x3e, 0xe0, 0x08, 0x1c, 0x00, 0x21, + 0xa6, 0x46, 0xc7, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x53, 0x48, 0x90, 0x30, 0x00, 0x21, 0xa6, + 0x46, 0xc3, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x30, 0x78, 0x01, 0x28, 0x02, 0xd1, 0x01, 0x20, + 0xc0, 0x03, 0x01, 0xe0, 0x7d, 0x20, 0x00, 0x02, 0x68, 0x43, 0x47, 0x49, 0x08, 0x18, 0x47, + 0x49, 0xa6, 0x46, 0x47, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x09, 0x04, 0x09, 0x0c, 0x47, 0x48, + 0x8e, 0x30, 0xa6, 0x46, 0xb7, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x30, 0x78, 0x01, 0x28, 0x02, + 0xd1, 0x01, 0x20, 0xc0, 0x03, 0x01, 0xe0, 0x7d, 0x20, 0x00, 0x02, 0x68, 0x43, 0x3b, 0x49, + 0x08, 0x18, 0x3b, 0x49, 0xa6, 0x46, 0x3b, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x78, 0x18, 0x05, + 0x30, 0x01, 0x04, 0x09, 0x0c, 0x73, 0x48, 0x00, 0x22, 0xa6, 0x46, 0x72, 0x4b, 0xfe, 0x44, + 0x18, 0x47, 0x2f, 0x48, 0x00, 0x78, 0x01, 0x28, 0x0c, 0xd1, 0x00, 0x98, 0x00, 0x28, 0x09, + 0xd0, 0x01, 0x98, 0xff, 0x28, 0x06, 0xd1, 0x32, 0x48, 0x04, 0x21, 0x08, 0x22, 0xa6, 0x46, + 0xda, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0xfc, 0xbd, 0xc0, 0x46, 0x91, 0x24, 0x00, 0x00, 0x7f, + 0xfd, 0x00, 0x00, 0x29, 0x42, 0x05, 0x00, 0xb5, 0x41, 0x05, 0x00, 0x7e, 0x51, 0x08, 0x00, + 0x3f, 0x4a, 0x04, 0x00, 0x70, 0xb5, 0x45, 0x7b, 0x86, 0x7b, 0x1e, 0x49, 0x09, 0x78, 0x01, + 0x29, 0x37, 0xd1, 0x00, 0x7b, 0x40, 0x1e, 0x07, 0xd0, 0x01, 0x38, 0x03, 0xd0, 0x01, 0x38, + 0x30, 0xd1, 0x00, 0x21, 0x02, 0xe0, 0x02, 0x21, 0x00, 0xe0, 0x03, 0x21, 0x1e, 0x48, 0x32, + 0x30, 0x07, 0x22, 0x01, 0x24, 0xa6, 0x46, 0xc7, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0xc5, 0x48, + 0x01, 0x2d, 0x11, 0xd0, + + 0x01, 0x05, 0xff, 0xff, 0xe8, 0x03, 0x18, 0x00, 0xfa, 0x00, 0x2d, 0x08, 0xd0, 0x02, 0x2d, + 0x1c, 0xd1, 0x00, 0x21, 0x0e, 0x22, 0xa6, 0x46, 0xc1, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x70, + 0xbd, 0x03, 0x21, 0x0e, 0x22, 0xa6, 0x46, 0xbd, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x70, 0xbd, + 0x00, 0x2e, 0x06, 0xd1, 0x02, 0x21, 0x0e, 0x22, 0xa6, 0x46, 0xb9, 0x4b, 0xfe, 0x44, 0x18, + 0x47, 0x70, 0xbd, 0x21, 0x1c, 0x0e, 0x22, 0xa6, 0x46, 0xb5, 0x4b, 0xfe, 0x44, 0x18, 0x47, + 0x70, 0xbd, 0xa2, 0x52, 0x08, 0x00, 0xe7, 0x63, 0x04, 0x00, 0x23, 0xda, 0x03, 0x00, 0x0b, + 0x53, 0x08, 0x00, 0x3f, 0x42, 0x0f, 0x00, 0x40, 0x42, 0x0f, 0x00, 0x2d, 0x6a, 0x05, 0x00, + 0xbd, 0xac, 0x04, 0x00, 0x16, 0x74, 0x1a, 0x00, 0xd1, 0xae, 0x04, 0x00, 0x42, 0x74, 0x1a, + 0x00, 0x81, 0xae, 0x04, 0x00, 0xf0, 0xb5, 0xdc, 0x49, 0x09, 0x78, 0x01, 0x29, 0x60, 0xd1, + 0xc2, 0x7a, 0xd4, 0x49, 0x0a, 0x70, 0xd4, 0x49, 0x03, 0x7b, 0x0b, 0x70, 0x40, 0x7b, 0xd3, + 0x4b, 0x18, 0x70, 0x00, 0x2a, 0x55, 0xd1, 0x9e, 0x4d, 0x2f, 0x1c, 0xb4, 0x3f, 0xd1, 0x4e, + 0x01, 0x24, 0xa6, 0x46, 0xd0, 0x48, 0xfe, 0x44, 0x00, 0x47, 0x39, 0x88, 0x01, 0x40, 0x48, + 0x08, 0x05, 0xd0, 0x30, 0x1c, 0x41, 0x1e, 0x0e, 0x04, 0x36, 0x0c, 0x00, 0x28, 0xf0, 0xd1, + 0xa6, 0x46, 0xc9, 0x48, 0xfe, 0x44, 0x00, 0x47, 0x39, 0x88, 0x01, 0x40, 0x48, 0x08, 0x04, + 0xd0, 0x58, 0x20, 0xa6, 0x46, 0xe8, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x00, 0x26, 0x0c, 0x20, + 0x02, 0x1c, 0xe6, 0x48, 0x31, 0x1c, 0xa6, 0x46, 0xe5, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x08, + 0x20, 0x02, 0x1c, 0x28, 0x1c, 0x28, 0x38, 0x31, 0x1c, 0xa6, 0x46, 0xe2, 0x4b, 0xfe, 0x44, + 0x18, 0x47, 0x04, 0x3d, + + 0x01, 0x05, 0xff, 0xff, 0xe2, 0x04, 0x18, 0x00, 0xfa, 0x28, 0x1c, 0x21, 0x1c, 0x0c, 0x22, + 0xa6, 0x46, 0x84, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0xde, 0x48, 0x08, 0x30, 0x08, 0x21, 0xa6, + 0x46, 0xdb, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x14, 0x20, 0xa6, 0x46, 0xdb, 0x49, 0xfe, 0x44, + 0x08, 0x47, 0xd8, 0x48, 0x07, 0x21, 0xa6, 0x46, 0x3f, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0xaa, + 0x49, 0x08, 0x70, 0x28, 0x1c, 0x31, 0x1c, 0x0c, 0x22, 0xa6, 0x46, 0x76, 0x4b, 0xfe, 0x44, + 0x18, 0x47, 0x3e, 0x80, 0xf0, 0xbd, 0xc0, 0x46, 0x44, 0x74, 0x1a, 0x00, 0x04, 0x60, 0x1a, + 0x00, 0xf3, 0xac, 0x04, 0x00, 0xf0, 0xb5, 0x85, 0xb0, 0x6c, 0x46, 0x0b, 0x21, 0x09, 0x18, + 0x68, 0x46, 0x14, 0x22, 0x01, 0x26, 0xb6, 0x46, 0xca, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x20, + 0x78, 0x01, 0x28, 0x01, 0xd0, 0x02, 0x28, 0x12, 0xd1, 0x9a, 0x48, 0x00, 0x78, 0x04, 0xab, + 0x00, 0x22, 0x99, 0x56, 0x81, 0x42, 0x0b, 0xdd, 0x99, 0x56, 0x08, 0x1a, 0x03, 0x06, 0x1b, + 0x0e, 0x10, 0x21, 0x68, 0x46, 0x40, 0x1c, 0x85, 0x56, 0xed, 0x1a, 0x05, 0x70, 0x01, 0x39, + 0xf9, 0xd1, 0x21, 0x78, 0xbd, 0x48, 0x00, 0x29, 0x30, 0xd0, 0x01, 0x39, 0x26, 0xd0, 0x01, + 0x39, 0x1d, 0xd0, 0x01, 0x39, 0x31, 0xd1, 0x67, 0x1c, 0x05, 0x1c, 0x78, 0x3d, 0x58, 0x20, + 0x40, 0x19, 0x39, 0x1c, 0x10, 0x22, 0xb6, 0x46, 0xb3, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x68, + 0x20, 0x40, 0x19, 0x39, 0x1c, 0x10, 0x22, 0xb6, 0x46, 0xaf, 0x4b, 0xfe, 0x44, 0x18, 0x47, + 0x78, 0x20, 0x40, 0x19, 0x39, 0x1c, 0x10, 0x22, 0xb6, 0x46, 0xab, 0x4b, 0xfe, 0x44, 0x18, + 0x47, 0x15, 0xe0, 0x61, 0x1c, 0x10, 0x22, 0xb6, 0x46, 0xa8, 0x4b, 0xfe, 0x44, 0x18, 0x47, + 0x0e, 0xe0, 0x61, 0x1c, + + 0x01, 0x05, 0xff, 0xff, 0xdc, 0x05, 0x18, 0x00, 0xfa, 0x10, 0x38, 0x10, 0x22, 0xb6, 0x46, + 0xa4, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x06, 0xe0, 0x61, 0x1c, 0x20, 0x38, 0x10, 0x22, 0xb6, + 0x46, 0xa0, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x60, 0x8a, 0xa0, 0x49, 0x08, 0x80, 0x05, 0xb0, + 0xf0, 0xbd, 0xc0, 0x46, 0xdb, 0xae, 0x04, 0x00, 0xf9, 0xae, 0x04, 0x00, 0x59, 0xae, 0x04, + 0x00, 0x92, 0x74, 0x1a, 0x00, 0xe9, 0xac, 0x04, 0x00, 0xf8, 0xb5, 0x04, 0x1c, 0x27, 0x7b, + 0xe0, 0x7a, 0x97, 0x49, 0x09, 0x78, 0x81, 0x42, 0x3f, 0xd1, 0x93, 0x48, 0x24, 0x38, 0x00, + 0x88, 0x61, 0x7b, 0x81, 0x42, 0x39, 0xd1, 0xa0, 0x7b, 0x00, 0x90, 0x93, 0x48, 0x05, 0x1c, + 0x02, 0x3d, 0x28, 0x1c, 0x14, 0x21, 0x01, 0x26, 0xb6, 0x46, 0x8f, 0x4a, 0xfe, 0x44, 0x10, + 0x47, 0x8e, 0x48, 0x0b, 0x21, 0x00, 0x22, 0xb6, 0x46, 0x82, 0x4b, 0xfe, 0x44, 0x18, 0x47, + 0x28, 0x1c, 0x14, 0x21, 0xb6, 0x46, 0x81, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x88, 0x4d, 0x06, + 0x3d, 0xb8, 0x01, 0xe8, 0x82, 0x2f, 0x8a, 0x19, 0x20, 0x28, 0x82, 0x02, 0x20, 0xb6, 0x46, + 0x7d, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x00, 0x98, 0x00, 0x28, 0x10, 0xd0, 0x00, 0x98, 0xc0, + 0x1c, 0x82, 0x10, 0xa1, 0x7c, 0xe0, 0x7c, 0x00, 0x02, 0x08, 0x43, 0x21, 0x7d, 0x09, 0x04, + 0x01, 0x43, 0x60, 0x7d, 0x00, 0x06, 0x08, 0x43, 0x28, 0x60, 0x04, 0x34, 0x01, 0x3a, 0xf1, + 0xd1, 0x2f, 0x82, 0xf8, 0xbd, 0x30, 0xb5, 0xc5, 0x7a, 0x01, 0x24, 0xa6, 0x46, 0x76, 0x49, + 0xfe, 0x44, 0x08, 0x47, 0x75, 0x48, 0x01, 0x78, 0x75, 0x48, 0x00, 0x2d, 0x0d, 0xd0, 0x01, + 0x2d, 0x01, 0xd0, 0x02, 0x2d, 0x12, 0xd1, 0x0c, 0x22, 0x4a, 0x43, 0x72, 0x49, 0x89, 0x18, + 0x0c, 0x22, 0xa6, 0x46, + + 0x01, 0x05, 0xff, 0xff, 0xd6, 0x06, 0x18, 0x00, 0xfa, 0x67, 0x4b, 0xfe, 0x44, 0x18, 0x47, + 0x30, 0xbd, 0x0c, 0x22, 0x4a, 0x43, 0x6e, 0x49, 0x89, 0x18, 0x0c, 0x22, 0xa6, 0x46, 0x62, + 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x30, 0xbd, 0xc0, 0x46, 0x1f, 0xac, 0x04, 0x00, 0xb4, 0x7c, + 0x1a, 0x00, 0x65, 0xab, 0x04, 0x00, 0xf0, 0xb5, 0x07, 0x1c, 0x01, 0x24, 0xa6, 0x46, 0x65, + 0x49, 0xfe, 0x44, 0x08, 0x47, 0x7e, 0x7b, 0x2f, 0x4d, 0x01, 0x3d, 0x68, 0x78, 0x71, 0x08, + 0x30, 0xd1, 0xb9, 0x7b, 0x00, 0x28, 0x17, 0xd1, 0x01, 0x29, 0x0d, 0xd1, 0x61, 0x48, 0x0a, + 0x38, 0x00, 0x21, 0x04, 0x22, 0xa6, 0x46, 0x4c, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x20, 0x1c, + 0x21, 0x1c, 0x8e, 0x46, 0x5a, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x59, 0x48, 0x68, 0x38, 0x0a, + 0x21, 0xa6, 0x46, 0x47, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x14, 0xe0, 0x01, 0x28, 0x14, 0xd1, + 0x41, 0x48, 0x00, 0x21, 0x04, 0x22, 0xa6, 0x46, 0x40, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x20, + 0x1c, 0x05, 0x21, 0xa6, 0x46, 0x4e, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x4e, 0x48, 0x00, 0x21, + 0xa6, 0x46, 0x43, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x68, 0x78, 0xb9, 0x7b, 0x00, 0x28, 0x1a, + 0xd1, 0x01, 0x29, 0x18, 0xd1, 0x02, 0x2e, 0x05, 0xd0, 0x03, 0x2e, 0x03, 0xd0, 0x04, 0x2e, + 0x01, 0xd0, 0x01, 0x2e, 0x10, 0xd1, 0xf8, 0x7b, 0x00, 0x28, 0x0d, 0xd1, 0x42, 0x48, 0x54, + 0x38, 0x00, 0x21, 0x0a, 0x1c, 0xa6, 0x46, 0x42, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x3f, 0x48, + 0x21, 0x1c, 0x8e, 0x46, 0x34, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0xf0, 0xbd, 0xc0, 0x46, 0xd4, + 0x5f, 0x08, 0x00, 0xd5, 0x5f, 0x08, 0x00, 0xd3, 0x5f, 0x08, 0x00, 0xff, 0x7f, 0x00, 0x00, + 0x1d, 0x05, 0x04, 0x00, + + 0x01, 0x05, 0xff, 0xff, 0xd0, 0x07, 0x18, 0x00, 0xfa, 0xa2, 0x52, 0x08, 0x00, 0x00, 0x20, + 0x4d, 0x49, 0x08, 0x70, 0x36, 0x49, 0x08, 0x1c, 0xbc, 0x38, 0x84, 0x22, 0x12, 0x18, 0x34, + 0x4b, 0x43, 0x62, 0x34, 0x4b, 0xd3, 0x63, 0x34, 0x4b, 0x03, 0x61, 0x34, 0x4b, 0xcb, 0x67, + 0x34, 0x4b, 0x53, 0x67, 0x34, 0x4b, 0x43, 0x61, 0x34, 0x4b, 0x93, 0x67, 0x34, 0x4b, 0xcb, + 0x66, 0x34, 0x49, 0x81, 0x65, 0x34, 0x49, 0x81, 0x62, 0x34, 0x49, 0xd1, 0x67, 0x34, 0x49, + 0x51, 0x65, 0x34, 0x49, 0x01, 0x60, 0x34, 0x49, 0xd1, 0x60, 0x34, 0x49, 0x01, 0x65, 0x34, + 0x49, 0xc1, 0x64, 0x34, 0x49, 0x11, 0x60, 0x34, 0x49, 0x11, 0x62, 0x34, 0x49, 0xc1, 0x66, + 0x37, 0x49, 0x09, 0x78, 0x01, 0x29, 0x01, 0xd1, 0x32, 0x49, 0x81, 0x64, 0x32, 0x49, 0x81, + 0x61, 0x34, 0x48, 0x01, 0x78, 0x01, 0x29, 0x05, 0xd1, 0x33, 0x21, 0x40, 0x68, 0x0a, 0x5c, + 0x12, 0x07, 0x12, 0x0f, 0x0a, 0x54, 0xf7, 0x46, 0xc0, 0x46, 0x1b, 0xa7, 0x04, 0x00, 0x16, + 0xf6, 0x1a, 0x00, 0xb9, 0xab, 0x04, 0x00, 0x7b, 0xab, 0x04, 0x00, 0xfd, 0xaa, 0x04, 0x00, + 0x00, 0xf0, 0x1a, 0x00, 0x3f, 0x4a, 0x04, 0x00, 0xc1, 0x78, 0x05, 0x00, 0x38, 0x31, 0x19, + 0x00, 0x3c, 0x20, 0x08, 0x00, 0x7d, 0x51, 0x08, 0x00, 0x15, 0xab, 0x04, 0x00, 0x06, 0x02, + 0x19, 0x00, 0x01, 0x71, 0x00, 0x00, 0xba, 0x52, 0x08, 0x00, 0x48, 0x31, 0x19, 0x00, 0x3c, + 0x09, 0x18, 0x00, 0x18, 0x09, 0x18, 0x00, 0x1d, 0x50, 0x00, 0x00, 0x85, 0x67, 0x05, 0x00, + 0x04, 0x7d, 0x1a, 0x00, 0x1e, 0xf6, 0x1a, 0x00, 0x65, 0xab, 0x04, 0x00, 0x80, 0x4e, 0x08, + 0x00, 0x05, 0x79, 0x08, 0x00, 0x23, 0x79, 0x08, 0x00, 0x2d, 0x79, 0x08, 0x00, 0x19, 0x79, + 0x08, 0x00, 0x0f, 0x79, + + 0x01, 0x05, 0xff, 0xff, 0xca, 0x08, 0x18, 0x00, 0xfa, 0x08, 0x00, 0x37, 0x79, 0x08, 0x00, + 0x5f, 0x79, 0x08, 0x00, 0x69, 0x79, 0x08, 0x00, 0x55, 0x79, 0x08, 0x00, 0x41, 0x79, 0x08, + 0x00, 0x4b, 0x79, 0x08, 0x00, 0xfb, 0x78, 0x08, 0x00, 0xb5, 0x78, 0x08, 0x00, 0xc9, 0x78, + 0x08, 0x00, 0xe7, 0x78, 0x08, 0x00, 0xbf, 0x78, 0x08, 0x00, 0xf1, 0x78, 0x08, 0x00, 0xd3, + 0x78, 0x08, 0x00, 0xdd, 0x78, 0x08, 0x00, 0xa1, 0x78, 0x08, 0x00, 0xab, 0x78, 0x08, 0x00, + 0x22, 0x50, 0x08, 0x00, 0xa2, 0x52, 0x08, 0x00, 0x34, 0x24, 0x08, 0x00, 0x00, 0x10, 0x80, + 0x0f, 0x40, 0x0f, 0x00, 0x0f, 0x80, 0x0e, 0xc0, 0x0d, 0xc0, 0x0f, 0x40, 0x0f, 0x00, 0x0f, + 0xc0, 0x0e, 0x40, 0x0e, 0xc0, 0x0d, 0x40, 0x10, 0xc0, 0x0f, 0x80, 0x0f, 0x40, 0x0f, 0xc0, + 0x0e, 0x00, 0x0e, 0x80, 0x0e, 0x40, 0x0e, 0xc0, 0x0d, 0x80, 0x0d, 0x00, 0x0d, 0x40, 0x0c, + 0xc0, 0x0d, 0x80, 0x0d, 0x40, 0x0d, 0xc0, 0x0c, 0xc0, 0x0c, 0x40, 0x0c, 0x00, 0x0e, 0x00, + 0x0e, 0x80, 0x0d, 0x80, 0x0d, 0x00, 0x0d, 0x80, 0x0c, 0xf0, 0xb5, 0x91, 0xb0, 0xd9, 0x48, + 0x06, 0xc8, 0x68, 0x46, 0x0c, 0x90, 0x06, 0xc0, 0xd8, 0x48, 0x06, 0xc8, 0x02, 0xa8, 0x06, + 0xc0, 0xd7, 0x48, 0x06, 0xc8, 0x04, 0xa8, 0x06, 0xc0, 0xd6, 0x48, 0x06, 0xc8, 0x06, 0xa8, + 0x06, 0xc0, 0xd5, 0x48, 0x06, 0xc8, 0x08, 0xa8, 0x06, 0xc0, 0xd4, 0x48, 0x06, 0xc8, 0x0a, + 0xa8, 0x06, 0xc0, 0xd3, 0x4e, 0x02, 0x20, 0x30, 0x70, 0x1f, 0x23, 0x73, 0x70, 0xb3, 0x70, + 0x7b, 0x20, 0xf0, 0x70, 0x03, 0x20, 0x02, 0x22, 0xcf, 0x4f, 0x39, 0x1c, 0x01, 0x39, 0x01, + 0x24, 0xa6, 0x46, 0xf1, 0x4d, 0xfe, 0x44, 0x28, 0x47, 0xb2, 0x78, 0xf3, 0x78, 0x03, 0x20, + 0x39, 0x1c, 0xa6, 0x46, + + 0x01, 0x05, 0xff, 0xff, 0xc4, 0x09, 0x18, 0x00, 0xfa, 0xed, 0x4d, 0xfe, 0x44, 0x28, 0x47, + 0x03, 0x20, 0x39, 0x1c, 0x01, 0x31, 0xa6, 0x46, 0xeb, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0xa6, + 0x46, 0xeb, 0x48, 0xfe, 0x44, 0x00, 0x47, 0xe8, 0x49, 0x08, 0x60, 0xea, 0x48, 0xe9, 0x49, + 0x08, 0x80, 0xea, 0x48, 0x04, 0x70, 0xff, 0x20, 0xe9, 0x49, 0x08, 0x70, 0x00, 0x25, 0xe9, + 0x48, 0x05, 0x70, 0xa6, 0x46, 0xe8, 0x48, 0xfe, 0x44, 0x00, 0x47, 0xe8, 0x4a, 0x28, 0x1c, + 0x01, 0x1c, 0x13, 0x68, 0x00, 0x2b, 0x02, 0xd0, 0x23, 0x1c, 0x8b, 0x40, 0x18, 0x43, 0x04, + 0x32, 0x01, 0x31, 0x20, 0x29, 0xf5, 0xd3, 0xe7, 0x4f, 0x39, 0x1c, 0x84, 0x31, 0x08, 0x60, + 0xe0, 0x48, 0x05, 0x60, 0xe5, 0x48, 0x40, 0x78, 0x01, 0x28, 0x08, 0xd1, 0xf0, 0x78, 0x40, + 0x06, 0x41, 0x0e, 0x1d, 0x20, 0x00, 0x02, 0x08, 0x43, 0xdb, 0x49, 0x09, 0x68, 0x88, 0x86, + 0xdb, 0x48, 0x06, 0x1c, 0xb4, 0x72, 0xda, 0x48, 0x01, 0x78, 0xda, 0x48, 0x2a, 0x1c, 0xa6, + 0x46, 0xf0, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0xf0, 0x48, 0x48, 0x30, 0x0c, 0x21, 0xa6, 0x46, + 0xed, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0xed, 0x48, 0x04, 0x21, 0xa6, 0x46, 0xea, 0x4a, 0xfe, + 0x44, 0x10, 0x47, 0x38, 0x1c, 0x05, 0x21, 0xa6, 0x46, 0xe7, 0x4a, 0xfe, 0x44, 0x10, 0x47, + 0xe9, 0x48, 0x4c, 0x38, 0x02, 0x21, 0xa6, 0x46, 0xe4, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0xff, + 0x20, 0x44, 0x30, 0x85, 0x55, 0xf2, 0x20, 0x80, 0x5d, 0xe2, 0x4e, 0x64, 0x28, 0x08, 0xda, + 0xe1, 0x48, 0x09, 0x21, 0xa6, 0x46, 0xe1, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x00, 0x06, 0x00, + 0x0e, 0x01, 0xe0, 0x80, 0x07, 0x80, 0x0f, 0xb0, 0x75, 0x0d, 0x96, 0xdd, 0x49, 0x48, 0x70, + 0xdf, 0x4f, 0x3e, 0x1c, + + 0x01, 0x05, 0xff, 0xff, 0xbe, 0x0a, 0x18, 0x00, 0xfa, 0xaa, 0x3e, 0xa5, 0x21, 0x88, 0x55, + 0xa6, 0x46, 0xda, 0x48, 0xfe, 0x44, 0x00, 0x47, 0xa6, 0x46, 0xd9, 0x48, 0xfe, 0x44, 0x00, + 0x47, 0x05, 0x20, 0x01, 0x1c, 0xd2, 0x48, 0xa6, 0x46, 0xd7, 0x4a, 0xfe, 0x44, 0x10, 0x47, + 0x01, 0x1c, 0x38, 0x1c, 0x2a, 0x1c, 0xa6, 0x46, 0xd5, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0xd7, + 0x48, 0x07, 0x1c, 0x02, 0x3f, 0x38, 0x1c, 0x05, 0x21, 0xa6, 0x46, 0xd1, 0x4a, 0xfe, 0x44, + 0x10, 0x47, 0x38, 0x1c, 0x08, 0x21, 0xa6, 0x46, 0xce, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0xce, + 0x4f, 0x38, 0x1c, 0x04, 0x21, 0x2a, 0x1c, 0xa6, 0x46, 0xc9, 0x4b, 0xfe, 0x44, 0x18, 0x47, + 0x04, 0x20, 0x02, 0x1c, 0x38, 0x1c, 0x11, 0x1c, 0xa6, 0x46, 0xc5, 0x4b, 0xfe, 0x44, 0x18, + 0x47, 0xc7, 0x48, 0x04, 0x70, 0xbc, 0x48, 0x0a, 0x30, 0x06, 0x21, 0x2a, 0x1c, 0xa6, 0x46, + 0xc0, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0xf2, 0x48, 0x1b, 0x21, 0xc1, 0x81, 0xc1, 0x48, 0x02, + 0x30, 0x02, 0x21, 0x07, 0x22, 0xa6, 0x46, 0xef, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x8d, 0x4f, + 0x7f, 0x08, 0x0e, 0x96, 0xb3, 0x4e, 0xec, 0x48, 0x80, 0x78, 0x00, 0x28, 0x32, 0xd1, 0x13, + 0x21, 0xe8, 0x48, 0xc1, 0x81, 0x94, 0x48, 0x40, 0x78, 0x00, 0x28, 0x16, 0xd0, 0x01, 0x28, + 0x29, 0xd1, 0xb5, 0x48, 0x04, 0x21, 0xa6, 0x46, 0xa5, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0xb2, + 0x48, 0x08, 0x38, 0x29, 0x1c, 0x0a, 0x1c, 0xa6, 0x46, 0xab, 0x4b, 0xfe, 0x44, 0x18, 0x47, + 0x20, 0x1c, 0x04, 0x21, 0xa6, 0x46, 0xde, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x14, 0xe0, 0x03, + 0x20, 0x01, 0x1c, 0xa9, 0x48, 0xa6, 0x46, 0x9a, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0xa7, 0x48, + 0x0a, 0x38, 0x29, 0x1c, + + 0x01, 0x05, 0xff, 0xff, 0xb8, 0x0b, 0x18, 0x00, 0xfa, 0x0c, 0x22, 0xa6, 0x46, 0xa0, 0x4b, + 0xfe, 0x44, 0x18, 0x47, 0x20, 0x1c, 0x03, 0x21, 0xa6, 0x46, 0xd3, 0x4a, 0xfe, 0x44, 0x10, + 0x47, 0xd3, 0x49, 0x08, 0x1c, 0x0f, 0x91, 0x40, 0x38, 0x0f, 0x90, 0x0a, 0x9a, 0xc2, 0x63, + 0x0c, 0x98, 0x82, 0x8d, 0x0a, 0x80, 0x21, 0x1c, 0xce, 0x48, 0x98, 0x30, 0xa6, 0x46, 0x8b, + 0x4a, 0xfe, 0x44, 0x10, 0x47, 0xcb, 0x48, 0x00, 0x99, 0x01, 0x60, 0x01, 0x99, 0x41, 0x60, + 0x02, 0x99, 0x01, 0x62, 0x03, 0x99, 0x41, 0x62, 0x04, 0x99, 0x01, 0x63, 0x05, 0x99, 0x41, + 0x63, 0x06, 0x99, 0x81, 0x64, 0x07, 0x99, 0xc1, 0x64, 0x08, 0x99, 0x01, 0x66, 0x09, 0x99, + 0x41, 0x66, 0x9c, 0x30, 0x21, 0x1c, 0xa6, 0x46, 0x7d, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x66, + 0x48, 0x40, 0x78, 0xf3, 0x49, 0x00, 0x28, 0x5d, 0xd1, 0x08, 0x27, 0x08, 0x1c, 0x4e, 0x38, + 0x07, 0x21, 0x3a, 0x1c, 0xa6, 0x46, 0xed, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x70, 0x78, 0x00, + 0x28, 0x10, 0xd0, 0x01, 0x28, 0x0e, 0xd0, 0xea, 0x48, 0x0d, 0x21, 0x2a, 0x1c, 0xa6, 0x46, + 0x6f, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0xe7, 0x48, 0x18, 0x21, 0x3a, 0x1c, 0xa6, 0x46, 0x6c, + 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x0e, 0xe0, 0xe3, 0x4f, 0x38, 0x1c, 0x10, 0x21, 0x2a, 0x1c, + 0xa6, 0x46, 0x67, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x38, 0x1c, 0x1c, 0x21, 0x08, 0x22, 0xa6, + 0x46, 0x64, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x70, 0x78, 0x00, 0x28, 0x0d, 0xd1, 0x0c, 0x20, + 0x80, 0x57, 0x00, 0x28, 0x09, 0xdd, 0x32, 0x28, 0x07, 0xda, 0xd7, 0x48, 0x42, 0x38, 0x16, + 0x21, 0x2a, 0x1c, 0xa6, 0x46, 0x5b, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0xd3, 0x48, 0x04, 0x30, + 0x05, 0x21, 0x08, 0x22, + + 0x01, 0x05, 0xff, 0xff, 0xb2, 0x0c, 0x18, 0x00, 0xfa, 0xa6, 0x46, 0xda, 0x4b, 0xfe, 0x44, + 0x18, 0x47, 0xcf, 0x48, 0x44, 0x38, 0x04, 0x21, 0x2a, 0x1c, 0xa6, 0x46, 0xcb, 0x4b, 0xfe, + 0x44, 0x18, 0x47, 0x79, 0xe1, 0x9c, 0x5f, 0x08, 0x00, 0xa4, 0x5f, 0x08, 0x00, 0xac, 0x5f, + 0x08, 0x00, 0xb4, 0x5f, 0x08, 0x00, 0xbc, 0x5f, 0x08, 0x00, 0xc4, 0x5f, 0x08, 0x00, 0x7c, + 0x7b, 0x08, 0x00, 0xc6, 0x05, 0x00, 0x00, 0x01, 0x28, 0x00, 0xd0, 0x68, 0xe1, 0xee, 0x48, + 0x06, 0x1c, 0x88, 0x3e, 0xa6, 0x46, 0xe8, 0x48, 0xfe, 0x44, 0x00, 0x47, 0x31, 0x88, 0x01, + 0x40, 0x48, 0x08, 0x05, 0xd0, 0x38, 0x1c, 0x41, 0x1e, 0x0f, 0x04, 0x3f, 0x0c, 0x00, 0x28, + 0xf1, 0xd1, 0xa6, 0x46, 0xe1, 0x48, 0xfe, 0x44, 0x00, 0x47, 0x31, 0x88, 0x01, 0x40, 0x48, + 0x08, 0x04, 0xd0, 0x58, 0x20, 0xa6, 0x46, 0xdd, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x2f, 0x1c, + 0xb1, 0x48, 0xb4, 0x30, 0x39, 0x1c, 0xa6, 0x46, 0xda, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x02, + 0x28, 0x00, 0xdc, 0x27, 0x1c, 0xac, 0x48, 0xf4, 0x30, 0x29, 0x1c, 0xa6, 0x46, 0xd5, 0x4a, + 0xfe, 0x44, 0x10, 0x47, 0x38, 0x43, 0xd4, 0x4f, 0x35, 0xd1, 0xa7, 0x48, 0xbc, 0x30, 0x29, + 0x1c, 0xa6, 0x46, 0xd0, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x01, 0x28, 0x2c, 0xd0, 0x38, 0x1c, + 0x09, 0x21, 0x06, 0x22, 0xa6, 0x46, 0x28, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x2b, 0xe0, 0xc0, + 0x46, 0x4f, 0xa7, 0x04, 0x00, 0x39, 0xa7, 0x04, 0x00, 0xdc, 0x5f, 0x08, 0x00, 0x0b, 0xd8, + 0x04, 0x00, 0xd8, 0x5f, 0x08, 0x00, 0xff, 0xff, 0x00, 0x00, 0xd5, 0x5f, 0x08, 0x00, 0xd3, + 0x5f, 0x08, 0x00, 0xd4, 0x5f, 0x08, 0x00, 0xd5, 0x07, 0x18, 0x00, 0x80, 0x7b, 0x08, 0x00, + 0xcc, 0x5f, 0x08, 0x00, + + 0x01, 0x05, 0xff, 0xff, 0xac, 0x0d, 0x18, 0x00, 0xfa, 0x38, 0x24, 0x08, 0x00, 0x5c, 0x4f, + 0x08, 0x00, 0xc8, 0x52, 0x08, 0x00, 0x02, 0x20, 0x19, 0x00, 0x00, 0xf3, 0x1a, 0x00, 0xa1, + 0x52, 0x08, 0x00, 0x38, 0x1c, 0x0c, 0x21, 0x06, 0x22, 0xa6, 0x46, 0x11, 0x4b, 0xfe, 0x44, + 0x18, 0x47, 0x38, 0x1c, 0x0c, 0x21, 0xa6, 0x46, 0x0f, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0xb3, + 0x49, 0x10, 0x91, 0x08, 0x8f, 0x38, 0x31, 0x10, 0x91, 0x04, 0x28, 0x33, 0xda, 0x82, 0x48, + 0x2a, 0x30, 0x18, 0x21, 0x2a, 0x1c, 0xa6, 0x46, 0x07, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0xab, + 0x48, 0x32, 0x30, 0x02, 0x21, 0x0a, 0x1c, 0xa6, 0x46, 0x42, 0x4b, 0xfe, 0x44, 0x18, 0x47, + 0x04, 0x20, 0x10, 0x99, 0x08, 0x80, 0x1f, 0xe0, 0x1f, 0xac, 0x04, 0x00, 0xfd, 0xaa, 0x04, + 0x00, 0x10, 0x60, 0x1a, 0x00, 0xa4, 0x52, 0x08, 0x00, 0xc4, 0x61, 0x1a, 0x00, 0x81, 0xae, + 0x04, 0x00, 0x7c, 0x51, 0x08, 0x00, 0xdd, 0x5e, 0x03, 0x00, 0x39, 0x6f, 0x03, 0x00, 0x6a, + 0x31, 0x19, 0x00, 0x9f, 0xae, 0x04, 0x00, 0xb9, 0xab, 0x04, 0x00, 0x15, 0xab, 0x04, 0x00, + 0x6e, 0x50, 0x1a, 0x00, 0x07, 0x10, 0x08, 0x00, 0x1e, 0xf6, 0x1a, 0x00, 0x2a, 0x1c, 0x97, + 0x48, 0x0c, 0x38, 0x97, 0x49, 0xa6, 0x46, 0x97, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x02, 0x20, + 0x01, 0x1c, 0x95, 0x4f, 0x38, 0x1c, 0x0a, 0x38, 0xa6, 0x46, 0x8f, 0x4a, 0xfe, 0x44, 0x10, + 0x47, 0x38, 0x1c, 0x07, 0x21, 0x2a, 0x1c, 0xa6, 0x46, 0x5d, 0x4b, 0xfe, 0x44, 0x18, 0x47, + 0x38, 0x1c, 0x07, 0x21, 0x03, 0x22, 0xa6, 0x46, 0x59, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x38, + 0x1c, 0x02, 0x38, 0x07, 0x21, 0x0c, 0x22, 0xa6, 0x46, 0x55, 0x4b, 0xfe, 0x44, 0x18, 0x47, + 0x8a, 0x48, 0x0c, 0x90, + + 0x01, 0x05, 0xff, 0xff, 0xa6, 0x0e, 0x18, 0x00, 0xfa, 0x02, 0x38, 0x0c, 0x90, 0x37, 0x21, + 0xa6, 0x46, 0x85, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x0c, 0x98, 0x08, 0x21, 0x07, 0x22, 0xa6, + 0x46, 0x82, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x82, 0x48, 0x04, 0x21, 0xa6, 0x46, 0x7e, 0x4a, + 0xfe, 0x44, 0x10, 0x47, 0x7f, 0x48, 0x02, 0x30, 0x29, 0x1c, 0xa6, 0x46, 0x76, 0x4a, 0xfe, + 0x44, 0x10, 0x47, 0x7c, 0x48, 0x05, 0x80, 0x7c, 0x48, 0x00, 0x78, 0x00, 0x28, 0x1d, 0xd0, + 0x04, 0x28, 0x29, 0xd1, 0x6f, 0x48, 0x06, 0x21, 0x08, 0x22, 0xa6, 0x46, 0x3f, 0x4b, 0xfe, + 0x44, 0x18, 0x47, 0x77, 0x48, 0x03, 0x21, 0x02, 0x22, 0xa6, 0x46, 0x88, 0x4b, 0xfe, 0x44, + 0x18, 0x47, 0x1a, 0xe0, 0xc0, 0x46, 0x04, 0x14, 0x08, 0x00, 0x65, 0xab, 0x04, 0x00, 0x0c, + 0x53, 0x08, 0x00, 0x85, 0x67, 0x05, 0x00, 0x9c, 0x0b, 0x1a, 0x00, 0x08, 0x09, 0x1a, 0x00, + 0x2a, 0x1c, 0x61, 0x48, 0x21, 0x1c, 0x8e, 0x46, 0x31, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x69, + 0x48, 0x03, 0x21, 0x2a, 0x1c, 0xa6, 0x46, 0x7a, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x2d, 0x48, + 0x78, 0x30, 0x07, 0x21, 0xa6, 0x46, 0x59, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0xa6, 0x46, 0x62, + 0x48, 0xfe, 0x44, 0x00, 0x47, 0x28, 0x48, 0x0c, 0x90, 0x32, 0x38, 0x0c, 0x90, 0x29, 0x1c, + 0x2a, 0x1c, 0xa6, 0x46, 0x23, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x03, 0x20, 0x02, 0x1c, 0x0c, + 0x98, 0x29, 0x1c, 0xa6, 0x46, 0x1f, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x1f, 0x48, 0x10, 0x30, + 0x0c, 0x21, 0xa6, 0x46, 0x4b, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0xff, 0x20, 0xd3, 0x30, 0x0f, + 0x99, 0x08, 0x80, 0x53, 0x48, 0x10, 0x99, 0xc8, 0x83, 0x18, 0x48, 0x0c, 0x90, 0x22, 0x38, + 0x0c, 0x90, 0x03, 0x21, + + 0x01, 0x05, 0xff, 0xff, 0xa0, 0x0f, 0x18, 0x00, 0xfa, 0xa6, 0x46, 0x5b, 0x4a, 0xfe, 0x44, + 0x10, 0x47, 0x96, 0x20, 0xa6, 0x46, 0x4d, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x0c, 0x98, 0x03, + 0x21, 0xa6, 0x46, 0x3d, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x35, 0x80, 0x54, 0x48, 0x40, 0x78, + 0x49, 0x4e, 0x00, 0x28, 0x1a, 0xd1, 0x0b, 0x48, 0x16, 0x30, 0x07, 0x21, 0xa6, 0x46, 0x45, + 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x00, 0x28, 0x0f, 0xd1, 0x0e, 0x98, 0x88, 0x30, 0x0d, 0x99, + 0x89, 0x7d, 0x0c, 0x22, 0x51, 0x43, 0x71, 0x18, 0xa6, 0x46, 0x40, 0x4b, 0xfe, 0x44, 0x18, + 0x47, 0x30, 0xe0, 0x7b, 0xab, 0x04, 0x00, 0x4e, 0x74, 0x1a, 0x00, 0x45, 0x48, 0x40, 0x78, + 0x01, 0x28, 0x0f, 0xd0, 0x0e, 0x98, 0x88, 0x30, 0x0d, 0x99, 0x89, 0x7d, 0x0c, 0x22, 0x51, + 0x43, 0x38, 0x4b, 0x59, 0x18, 0xa6, 0x46, 0x36, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x1b, 0xe0, + 0xc0, 0x46, 0xf7, 0xab, 0x04, 0x00, 0x07, 0x20, 0x34, 0x4f, 0xb8, 0x70, 0x0e, 0x98, 0x88, + 0x30, 0x0d, 0x99, 0x89, 0x7d, 0x0c, 0x22, 0x51, 0x43, 0x71, 0x18, 0xa6, 0x46, 0x2d, 0x4b, + 0xfe, 0x44, 0x18, 0x47, 0x38, 0x1c, 0x06, 0x21, 0xa6, 0x46, 0x32, 0x4a, 0xfe, 0x44, 0x10, + 0x47, 0x2b, 0x48, 0x05, 0x70, 0x54, 0x21, 0x0e, 0x98, 0x0d, 0x52, 0x0e, 0x98, 0x45, 0x81, + 0x94, 0x30, 0x2e, 0x49, 0x89, 0x78, 0x2a, 0x1c, 0xa6, 0x46, 0x26, 0x4b, 0xfe, 0x44, 0x18, + 0x47, 0x03, 0x20, 0xf2, 0x22, 0x2b, 0x49, 0x50, 0x54, 0x23, 0x21, 0xc9, 0x00, 0x23, 0x4a, + 0x88, 0x5c, 0x01, 0x30, 0x88, 0x54, 0x22, 0x48, 0x05, 0x70, 0x19, 0x20, 0x80, 0x01, 0x26, + 0x49, 0x08, 0x80, 0x6e, 0x21, 0x24, 0x48, 0x41, 0x74, 0x55, 0x20, 0xc0, 0x00, 0x1d, 0x49, + 0x08, 0x80, 0x11, 0xb0, + + 0x01, 0x05, 0xff, 0x93, 0x9a, 0x10, 0x18, 0x00, 0x8e, 0xf0, 0xbd, 0x1d, 0x05, 0x04, 0x00, + 0x1b, 0xa7, 0x04, 0x00, 0x77, 0xae, 0x04, 0x00, 0x6a, 0x74, 0x1a, 0x00, 0x88, 0x7c, 0x1a, + 0x00, 0xfd, 0xaa, 0x04, 0x00, 0x10, 0x60, 0x1a, 0x00, 0xdd, 0x03, 0x00, 0x00, 0xf3, 0xac, + 0x04, 0x00, 0x0c, 0x30, 0x1a, 0x00, 0x4b, 0xac, 0x04, 0x00, 0x35, 0xac, 0x04, 0x00, 0x06, + 0x0f, 0x1a, 0x00, 0x68, 0x60, 0x1a, 0x00, 0x70, 0x55, 0x08, 0x00, 0xb0, 0x7c, 0x1a, 0x00, + 0x15, 0x60, 0x03, 0x00, 0x53, 0x51, 0x00, 0x00, 0x3f, 0x4a, 0x04, 0x00, 0x59, 0xae, 0x04, + 0x00, 0x18, 0x09, 0x18, 0x00, 0xc1, 0x78, 0x05, 0x00, 0x3c, 0x09, 0x18, 0x00, 0x10, 0x20, + 0x19, 0x00, 0x9f, 0x51, 0x08, 0x00, 0x67, 0xac, 0x04, 0x00, 0x88, 0x4c, 0x08, 0x00, 0xd2, + 0x5f, 0x08, 0x00, 0xd0, 0x5f, 0x08, 0x00, 0x15, 0xab, 0x04, 0x00, 0xa1, 0x52, 0x08, 0x00, + 0x0c, 0x53, 0x08, 0x00, 0x5c, 0x4f, 0x08, 0x00, 0x04, 0x14, 0x08, 0x00, 0x65, 0xab, 0x04, + 0x00, + + 0x01, 0x05, 0xff, 0xff, 0xd8, 0x5b, 0x18, 0x00, 0xfa, 0xf0, 0xb5, 0xbe, 0x49, 0x04, 0x39, + 0x4f, 0x68, 0x33, 0x20, 0xc0, 0x5d, 0x00, 0x09, 0x84, 0x46, 0x08, 0x78, 0x01, 0x28, 0x37, + 0xd1, 0xba, 0x48, 0x06, 0x78, 0x00, 0x24, 0x25, 0x1c, 0x22, 0x1c, 0x1b, 0xe0, 0x23, 0x20, + 0x00, 0x01, 0x50, 0x43, 0xb6, 0x49, 0x0b, 0x18, 0x38, 0x20, 0xc0, 0x5c, 0x00, 0x28, 0x0f, + 0xd0, 0x18, 0x78, 0xac, 0x21, 0x41, 0x43, 0xb3, 0x48, 0x33, 0x30, 0x40, 0x5c, 0x01, 0x28, + 0x07, 0xd0, 0xff, 0x20, 0x22, 0x30, 0xc0, 0x5c, 0x01, 0x28, 0x01, 0xd1, 0x01, 0x25, 0x00, + 0xe0, 0x01, 0x24, 0x50, 0x1c, 0x02, 0x06, 0x12, 0x0e, 0xb2, 0x42, 0xe1, 0xdb, 0x00, 0x20, + 0x00, 0x2d, 0x02, 0xd0, 0x00, 0x2c, 0x00, 0xd1, 0x01, 0x20, 0x60, 0x45, 0x0b, 0xd0, 0x33, + 0x21, 0xc9, 0x19, 0x0a, 0x78, 0x12, 0x07, 0x12, 0x0f, 0x00, 0x01, 0x10, 0x43, 0x08, 0x70, + 0x01, 0x20, 0x40, 0x02, 0x9d, 0x49, 0x08, 0x80, 0xf0, 0xbd, 0x70, 0xb5, 0x07, 0x26, 0x9e, + 0x4d, 0x32, 0x20, 0x40, 0x5d, 0x02, 0x28, 0x0c, 0xd1, 0x37, 0x20, 0x40, 0x5d, 0x9c, 0x49, + 0x08, 0x18, 0x40, 0x00, 0x02, 0x21, 0x01, 0x24, 0xa6, 0x46, 0x9b, 0x4a, 0xfe, 0x44, 0x10, + 0x47, 0x00, 0x28, 0x03, 0xd1, 0xac, 0x35, 0x01, 0x3e, 0xeb, 0xd1, 0x70, 0xbd, 0x95, 0x48, + 0x09, 0x21, 0xa6, 0x46, 0x96, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x70, 0xbd, 0xf0, 0xb5, 0x8d, + 0xb0, 0x06, 0x90, 0x93, 0x4c, 0x20, 0x88, 0x40, 0x08, 0x07, 0x90, 0xe0, 0x7f, 0x00, 0x21, + 0x08, 0x91, 0x41, 0x09, 0x0f, 0xd3, 0x98, 0x4a, 0x11, 0x78, 0x00, 0x29, 0x08, 0xd0, 0x92, + 0x78, 0x91, 0x42, 0x05, 0xd0, 0x01, 0x21, 0x01, 0x43, 0x08, 0x06, 0x00, 0x0e, 0xe0, 0x77, + 0x02, 0xe0, 0x10, 0x20, + + 0x01, 0x05, 0xff, 0xff, 0xd2, 0x5c, 0x18, 0x00, 0xfa, 0xe0, 0x77, 0xe0, 0x7f, 0x8e, 0x49, + 0x09, 0x91, 0x02, 0x39, 0x09, 0x91, 0x40, 0x08, 0x1b, 0xd3, 0x67, 0x7f, 0x02, 0x2f, 0x18, + 0xdb, 0x08, 0x9e, 0x38, 0x1c, 0x03, 0x21, 0x01, 0x25, 0xae, 0x46, 0x82, 0x4a, 0xfe, 0x44, + 0x10, 0x47, 0x00, 0x28, 0x00, 0xd0, 0x2e, 0x1c, 0x38, 0x1c, 0x03, 0x21, 0xae, 0x46, 0x7e, + 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x71, 0x18, 0xa0, 0x8c, 0x40, 0x08, 0xae, 0x46, 0x7b, 0x4a, + 0xfe, 0x44, 0x10, 0x47, 0x01, 0xe0, 0xa0, 0x8c, 0x41, 0x08, 0x21, 0x85, 0x08, 0x9f, 0xa7, + 0x77, 0xe7, 0x85, 0x85, 0x20, 0x40, 0x00, 0x01, 0x25, 0xae, 0x46, 0x75, 0x49, 0xfe, 0x44, + 0x08, 0x47, 0x43, 0x20, 0x80, 0x00, 0xae, 0x46, 0x72, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x20, + 0x8d, 0x00, 0x90, 0x07, 0x98, 0x01, 0x90, 0x6b, 0x48, 0x02, 0x7b, 0xe3, 0x7f, 0x03, 0x20, + 0x82, 0x21, 0xae, 0x46, 0x6c, 0x4e, 0xfe, 0x44, 0x30, 0x47, 0x67, 0x48, 0x00, 0x7b, 0x0a, + 0x90, 0x0b, 0x97, 0x03, 0x28, 0x13, 0xd1, 0x20, 0x88, 0x41, 0x08, 0x0c, 0x91, 0x26, 0x8d, + 0x30, 0x1c, 0xae, 0x46, 0x62, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x00, 0x28, 0x07, 0xd0, 0x31, + 0x1c, 0x0c, 0x98, 0xae, 0x46, 0x5e, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x00, 0x28, 0x00, 0xd1, + 0x0b, 0x95, 0x0b, 0x9e, 0x4e, 0x48, 0x01, 0x78, 0x01, 0x29, 0x07, 0xd1, 0x3c, 0x21, 0x09, + 0x5c, 0x00, 0x29, 0x03, 0xd0, 0x40, 0x8e, 0x40, 0x09, 0x00, 0xd3, 0x08, 0x95, 0x00, 0x2e, + 0x29, 0xd0, 0x08, 0x98, 0x00, 0x28, 0x26, 0xd1, 0x27, 0x8d, 0x38, 0x1c, 0x07, 0x99, 0xae, + 0x46, 0x51, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x08, 0x04, 0x00, 0x0c, 0x0c, 0x90, 0x38, 0x1c, + 0x07, 0x99, 0xae, 0x46, + + 0x01, 0x05, 0xff, 0xff, 0xcc, 0x5d, 0x18, 0x00, 0xfa, 0x4c, 0x4a, 0xfe, 0x44, 0x10, 0x47, + 0x08, 0x04, 0x00, 0x0c, 0x01, 0xd0, 0x02, 0x21, 0x00, 0xe0, 0x29, 0x1c, 0x09, 0x98, 0x81, + 0x70, 0x07, 0x98, 0x39, 0x1c, 0x2f, 0x1c, 0xae, 0x46, 0x45, 0x4a, 0xfe, 0x44, 0x10, 0x47, + 0x0c, 0x98, 0x01, 0x43, 0x08, 0x04, 0x00, 0x0c, 0xe0, 0x85, 0x09, 0x99, 0x08, 0x80, 0x02, + 0xe0, 0x09, 0x98, 0x0a, 0x99, 0x81, 0x70, 0x09, 0x98, 0x80, 0x78, 0x41, 0x08, 0x19, 0xd3, + 0x20, 0x1c, 0x01, 0x8d, 0x00, 0x2f, 0x0d, 0xd1, 0x00, 0x2e, 0x0b, 0xd0, 0x07, 0x98, 0x88, + 0x42, 0x08, 0xdd, 0x48, 0x08, 0x09, 0x18, 0x85, 0x20, 0x40, 0x00, 0xae, 0x46, 0x38, 0x4a, + 0xfe, 0x44, 0x10, 0x47, 0x05, 0xe0, 0x85, 0x20, 0x40, 0x00, 0xae, 0x46, 0x34, 0x4a, 0xfe, + 0x44, 0x10, 0x47, 0x34, 0x48, 0x00, 0x78, 0x80, 0x08, 0x18, 0xd3, 0x00, 0x2f, 0x0f, 0xd1, + 0x00, 0x2e, 0x0d, 0xd0, 0x21, 0x8d, 0x07, 0x98, 0x81, 0x42, 0x09, 0xdb, 0x07, 0x98, 0x41, + 0x08, 0x41, 0x18, 0x43, 0x20, 0x80, 0x00, 0xae, 0x46, 0x2a, 0x4a, 0xfe, 0x44, 0x10, 0x47, + 0x06, 0xe0, 0x07, 0x99, 0x43, 0x20, 0x80, 0x00, 0xae, 0x46, 0x26, 0x4a, 0xfe, 0x44, 0x10, + 0x47, 0x1f, 0x48, 0x00, 0x78, 0x80, 0x06, 0x80, 0x0e, 0x1d, 0x49, 0x08, 0x70, 0x08, 0x1c, + 0x01, 0x7b, 0x29, 0x40, 0x68, 0x46, 0x01, 0x72, 0x21, 0x8d, 0x41, 0x81, 0x61, 0x8c, 0x49, + 0x08, 0x81, 0x81, 0x87, 0x73, 0x17, 0x49, 0x09, 0x7b, 0x49, 0x08, 0x29, 0x40, 0x01, 0x74, + 0x07, 0x99, 0x41, 0x82, 0xa1, 0x88, 0x49, 0x08, 0x81, 0x82, 0x87, 0x75, 0xa0, 0x20, 0x02, + 0xa9, 0xae, 0x46, 0x19, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x15, 0x49, 0xff, 0x31, 0x5d, 0x31, + 0x06, 0x98, 0x01, 0x62, + + 0x01, 0x05, 0xff, 0xff, 0xc6, 0x5e, 0x18, 0x00, 0xfa, 0x0d, 0xb0, 0xf0, 0xbd, 0xc0, 0x46, + 0x34, 0x24, 0x08, 0x00, 0x44, 0x7c, 0x1a, 0x00, 0x38, 0x24, 0x08, 0x00, 0x21, 0x50, 0x08, + 0x00, 0x00, 0x00, 0x08, 0x00, 0x94, 0x1a, 0x08, 0x00, 0x11, 0x01, 0x0d, 0x00, 0x46, 0x7f, + 0x1a, 0x00, 0x9f, 0xae, 0x04, 0x00, 0xfd, 0xaa, 0x04, 0x00, 0xe2, 0x11, 0x08, 0x00, 0x02, + 0x12, 0x08, 0x00, 0xe1, 0x60, 0x05, 0x00, 0xe1, 0x60, 0x05, 0x00, 0x61, 0x7d, 0x03, 0x00, + 0x6f, 0xa7, 0x04, 0x00, 0x43, 0x7a, 0x03, 0x00, 0x04, 0x10, 0x08, 0x00, 0x55, 0xf9, 0x00, + 0x00, 0x2b, 0x10, 0x08, 0x00, 0xaf, 0xf3, 0x04, 0x00, 0x30, 0xb5, 0x5b, 0x4d, 0x0a, 0x20, + 0x41, 0x19, 0x5a, 0x48, 0x04, 0x22, 0x01, 0x24, 0xa6, 0x46, 0x5d, 0x4b, 0xfe, 0x44, 0x18, + 0x47, 0xa6, 0x46, 0x57, 0x48, 0xfe, 0x44, 0x00, 0x47, 0xa6, 0x46, 0x56, 0x48, 0xfe, 0x44, + 0x00, 0x47, 0x00, 0x28, 0x05, 0xd0, 0x29, 0x8b, 0x58, 0x20, 0xa6, 0x46, 0x53, 0x4a, 0xfe, + 0x44, 0x10, 0x47, 0x53, 0x48, 0x6b, 0x30, 0x30, 0xbd, 0xfe, 0xb5, 0x00, 0x90, 0x5a, 0x48, + 0x00, 0x78, 0x01, 0x28, 0x00, 0xd0, 0x8b, 0xe0, 0x50, 0x4d, 0x3c, 0x20, 0x40, 0x19, 0x01, + 0x90, 0x47, 0x48, 0x00, 0x26, 0x01, 0x24, 0x69, 0x8e, 0x09, 0x09, 0x21, 0x40, 0x40, 0x8d, + 0x00, 0x09, 0x20, 0x40, 0x88, 0x42, 0x04, 0xd0, 0x49, 0x48, 0x00, 0x78, 0x03, 0x28, 0x00, + 0xd1, 0x26, 0x1c, 0x08, 0x20, 0x40, 0x19, 0x3e, 0x49, 0x30, 0x22, 0xa6, 0x46, 0x4c, 0x4b, + 0xfe, 0x44, 0x18, 0x47, 0x00, 0x2e, 0x03, 0xd0, 0xa6, 0x46, 0x42, 0x48, 0xfe, 0x44, 0x00, + 0x47, 0x49, 0x4e, 0x49, 0x48, 0x00, 0x78, 0x00, 0x27, 0x62, 0xe0, 0x30, 0x78, 0xff, 0x28, + 0x5c, 0xd0, 0x38, 0x20, + + 0x01, 0x05, 0xff, 0xff, 0xc0, 0x5f, 0x18, 0x00, 0xfa, 0x80, 0x5d, 0x0c, 0x28, 0x58, 0xd1, + 0x00, 0x20, 0x02, 0x90, 0x3b, 0x48, 0x0b, 0x21, 0xa6, 0x46, 0x42, 0x4a, 0xfe, 0x44, 0x10, + 0x47, 0x00, 0x28, 0x04, 0xd0, 0x2d, 0x48, 0x40, 0x8d, 0xc0, 0x08, 0x00, 0xd3, 0x02, 0x94, + 0x02, 0x98, 0x00, 0x28, 0x0b, 0xd0, 0x28, 0x78, 0x01, 0x28, 0x08, 0xd1, 0x01, 0x98, 0x00, + 0x78, 0x00, 0x28, 0x04, 0xd0, 0xff, 0x20, 0x1e, 0x30, 0x81, 0x5d, 0x01, 0x29, 0x2a, 0xd0, + 0x2d, 0x48, 0x0b, 0x21, 0xa6, 0x46, 0x34, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x00, 0x28, 0x0a, + 0xd0, 0x1f, 0x48, 0x40, 0x8d, 0xc0, 0x08, 0x06, 0xd2, 0x28, 0x78, 0x01, 0x28, 0x03, 0xd1, + 0x01, 0x98, 0x00, 0x78, 0x00, 0x28, 0x07, 0xd1, 0x23, 0x48, 0x0b, 0x21, 0xa6, 0x46, 0x2b, + 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x00, 0x28, 0x1f, 0xd1, 0xf0, 0x7e, 0xc0, 0x08, 0x1c, 0xd3, + 0x1f, 0x48, 0x00, 0x78, 0x00, 0x28, 0x18, 0xd0, 0xff, 0x20, 0x21, 0x30, 0x80, 0x5d, 0x40, + 0x08, 0x13, 0xd3, 0xff, 0x20, 0x1e, 0x30, 0x84, 0x55, 0x0f, 0xe0, 0x00, 0x21, 0x81, 0x55, + 0x70, 0x78, 0x4c, 0x21, 0x41, 0x43, 0x17, 0x48, 0x40, 0x18, 0x3b, 0x23, 0x1a, 0x5c, 0x21, + 0x1c, 0x11, 0x43, 0x19, 0x54, 0xa6, 0x46, 0x14, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x01, 0x37, + 0x17, 0x48, 0x00, 0x78, 0x87, 0x42, 0x9a, 0xd3, 0x00, 0x98, 0x41, 0x68, 0x09, 0x78, 0x41, + 0x60, 0x0f, 0x48, 0x40, 0x1d, 0xfe, 0xbd, 0x50, 0x7f, 0x1a, 0x00, 0x46, 0x24, 0x08, 0x00, + 0x25, 0x4e, 0x02, 0x00, 0xa3, 0x4a, 0x02, 0x00, 0x43, 0x7a, 0x03, 0x00, 0x4b, 0x4e, 0x02, + 0x00, 0xc1, 0x78, 0x05, 0x00, 0x34, 0x24, 0x08, 0x00, 0x0e, 0x12, 0x08, 0x00, 0x55, 0xf9, + 0x00, 0x00, 0xca, 0x74, + + 0x01, 0x05, 0xff, 0x2b, 0xba, 0x60, 0x18, 0x00, 0x26, 0x1a, 0x00, 0x3c, 0x10, 0x08, 0x00, + 0xb4, 0x46, 0x08, 0x00, 0xd1, 0x34, 0x02, 0x00, 0x75, 0x4f, 0x02, 0x00, 0xa2, 0x52, 0x08, + 0x00, 0xc1, 0x78, 0x05, 0x00, 0x00, 0x00, 0x08, 0x00, 0x21, 0x50, 0x08, 0x00, 0x59, 0xae, + 0x04, 0x00, + + 0x01, 0x83, 0xff, 0x14, 0x75, 0x7b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + + // + // + // + 0x01, 0xdc, 0xfd, 0x03, 0x00, 0x00, 0x12, + + // ##-------------------------------------------------------------------------------- + // ## Description: BTIP2.0 PHY FW Initialization Script + // ## Version: 2.54 - Modified with TPC default values + // ##-------------------------------------------------------------------------------- + // + 0x01, 0x01, 0xff, 0x06, 0x00, 0x24, 0x19, 0x00, 0x01, 0x00, + + 0x01, 0x05, 0xff, 0xff, 0x00, 0x40, 0x19, 0x00, 0xfa, 0x00, 0x0c, 0x00, 0x20, 0xb9, 0x2d, + 0x00, 0x00, 0xf7, 0x2d, 0x00, 0x00, 0xf7, 0x2d, 0x00, 0x00, 0xf7, 0x2d, 0x00, 0x00, 0xf7, + 0x2d, 0x00, 0x00, 0xf7, 0x2d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf7, 0x2d, 0x00, 0x00, 0xf7, 0x2d, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xf7, 0x2d, 0x00, 0x00, 0xf7, 0x2d, 0x00, 0x00, 0xf7, 0x2d, + 0x00, 0x00, 0xf7, 0x2d, 0x00, 0x00, 0x25, 0x27, 0x00, 0x00, 0xfb, 0x24, 0x00, 0x00, 0xf7, + 0x2d, 0x00, 0x00, 0xf7, 0x2d, 0x00, 0x00, 0xf7, 0x2d, 0x00, 0x00, 0xf7, 0x2d, 0x00, 0x00, + 0xf7, 0x2d, 0x00, 0x00, 0xf7, 0x2d, 0x00, 0x00, 0xf7, 0x2d, 0x00, 0x00, 0xf7, 0x2d, 0x00, + 0x00, 0xf7, 0x2d, 0x00, 0x00, 0xf7, 0x2d, 0x00, 0x00, 0xf7, 0x2d, 0x00, 0x00, 0xf7, 0x2d, + 0x00, 0x00, 0xf7, 0x2d, 0x00, 0x00, 0xf7, 0x2d, 0x00, 0x00, 0xf7, 0x2d, 0x00, 0x00, 0xd3, + 0x07, 0x00, 0x20, 0xf7, 0x2d, 0x00, 0x00, 0x07, 0x07, 0x00, 0x20, 0x2d, 0xe9, 0xf0, 0x43, + 0x81, 0x46, 0x00, 0x26, 0x7b, 0x4c, 0x01, 0x27, 0x7b, 0x48, 0x26, 0x73, 0x04, 0xf8, 0x04, + 0x7c, 0x00, 0x78, 0xdf, 0xf8, 0xc0, 0x82, 0x00, 0x28, 0x0c, 0xbf, 0x98, 0xf8, 0x7a, 0x10, + 0x98, 0xf8, 0x78, 0x10, 0x77, 0x48, 0x00, 0x88, 0x75, 0x4d, 0x20, 0xf4, 0x7c, 0x50, 0x40, + 0xea, 0x01, 0x20, 0x68, 0x80, 0xa8, 0x88, 0x98, 0xf8, 0x7e, 0x10, 0x20, 0xf0, 0x7f, 0x00, + 0x01, 0x43, 0x38, 0x46, 0xa9, 0x80, 0x27, 0x70, 0x02, 0xf0, 0x50, 0xfb, 0x26, 0x70, 0x38, + 0x46, 0x02, 0xf0, 0x4c, 0xfb, 0x26, 0x71, 0x27, 0x72, 0x4f, 0xf0, 0x30, 0x00, 0x05, 0xf8, + 0x01, 0x0c, 0x84, 0xf8, + + 0x01, 0x05, 0xff, 0xff, 0xfa, 0x40, 0x19, 0x00, 0xfa, 0xfc, 0x60, 0x84, 0xf8, 0x0c, 0x61, + 0x84, 0xf8, 0x2c, 0x61, 0x28, 0x88, 0x20, 0xf4, 0x00, 0x70, 0x40, 0xf4, 0x80, 0x70, 0x28, + 0x80, 0x98, 0xf8, 0x76, 0x00, 0x88, 0xb1, 0x62, 0x48, 0x00, 0x88, 0x40, 0x08, 0x0d, 0xd3, + 0x61, 0x48, 0x07, 0x72, 0x80, 0xf8, 0x40, 0x61, 0x06, 0x70, 0x28, 0x88, 0x20, 0xf0, 0x07, + 0x00, 0x28, 0x80, 0x98, 0xf8, 0x77, 0x00, 0x40, 0xf0, 0x01, 0x00, 0x03, 0xe0, 0x98, 0xf8, + 0x77, 0x00, 0x00, 0xf0, 0xf0, 0x00, 0x88, 0xf8, 0x77, 0x00, 0x84, 0xf8, 0x54, 0x70, 0x02, + 0x20, 0x84, 0xf8, 0x50, 0x70, 0x84, 0xf8, 0x4c, 0x90, 0x02, 0xf0, 0x16, 0xfb, 0xbd, 0xe8, + 0xf0, 0x83, 0x2d, 0xe9, 0xf0, 0x47, 0x52, 0x4c, 0x81, 0x46, 0x52, 0x48, 0x01, 0x25, 0x25, + 0x70, 0x00, 0x88, 0xdf, 0xf8, 0x28, 0x81, 0x92, 0x46, 0x00, 0x28, 0x40, 0x46, 0x4c, 0x4e, + 0x02, 0xd0, 0x6a, 0x30, 0x1f, 0x21, 0x01, 0x70, 0x84, 0xf8, 0x80, 0x52, 0x05, 0x20, 0x02, + 0xf0, 0xfd, 0xfa, 0x25, 0x73, 0x28, 0x46, 0x02, 0xf0, 0xf9, 0xfa, 0x00, 0x27, 0x27, 0x73, + 0xb9, 0xf1, 0x00, 0x0f, 0x25, 0x71, 0x25, 0x72, 0x44, 0x46, 0x04, 0xf1, 0xc2, 0x04, 0x14, + 0xbf, 0x40, 0xf6, 0xff, 0x70, 0x40, 0xf2, 0x73, 0x50, 0x24, 0xf8, 0xa4, 0x0c, 0x38, 0x46, + 0x02, 0xf0, 0xe6, 0xfa, 0xb9, 0xf1, 0x00, 0x0f, 0x14, 0xbf, 0x0f, 0x20, 0x05, 0x20, 0x04, + 0xf8, 0xa2, 0x0c, 0x03, 0x20, 0x04, 0xf8, 0xa1, 0x0c, 0x28, 0x46, 0x02, 0xf0, 0xd9, 0xfa, + 0x38, 0x48, 0x04, 0xf8, 0xa1, 0x7c, 0x05, 0x70, 0x86, 0xf8, 0xf0, 0x50, 0x38, 0x46, 0x02, + 0xf0, 0xd0, 0xfa, 0x20, 0x88, 0x40, 0xf0, 0x0c, 0x00, 0x20, 0x80, 0x08, 0x20, 0x02, 0xf0, + 0xc9, 0xfa, 0xba, 0xf1, + + 0x01, 0x05, 0xff, 0xff, 0xf4, 0x41, 0x19, 0x00, 0xfa, 0x00, 0x0f, 0x0f, 0xd0, 0x86, 0xf8, + 0xf0, 0x70, 0x38, 0x46, 0x02, 0xf0, 0xc1, 0xfa, 0x86, 0xf8, 0xf0, 0x50, 0x38, 0x46, 0x02, + 0xf0, 0xbc, 0xfa, 0x20, 0x88, 0x20, 0xf0, 0x08, 0x00, 0x40, 0xf0, 0x04, 0x00, 0x20, 0x80, + 0x86, 0xf8, 0x04, 0x90, 0x35, 0x70, 0xbd, 0xe8, 0xf0, 0x87, 0xf0, 0xb5, 0x11, 0x20, 0x24, + 0x4d, 0x01, 0x24, 0x24, 0x4e, 0xe8, 0x70, 0x02, 0x20, 0x34, 0x70, 0x02, 0xf0, 0xa7, 0xfa, + 0x34, 0x71, 0x02, 0x20, 0x02, 0xf0, 0xa3, 0xfa, 0x34, 0x74, 0x02, 0x20, 0x86, 0xf8, 0x34, + 0x40, 0x02, 0xf0, 0x9d, 0xfa, 0x85, 0xf8, 0x4a, 0x40, 0x20, 0x46, 0x34, 0x73, 0x02, 0xf0, + 0x97, 0xfa, 0x00, 0x27, 0x85, 0xf8, 0x4a, 0x70, 0x02, 0x20, 0x02, 0xf0, 0x91, 0xfa, 0x28, + 0x88, 0x40, 0xf4, 0xff, 0x50, 0x28, 0x80, 0x86, 0xf8, 0x28, 0x40, 0x08, 0x20, 0x85, 0xf8, + 0x20, 0x7f, 0x02, 0xf0, 0x86, 0xfa, 0x12, 0x20, 0xe8, 0x70, 0xf0, 0xbd, 0x30, 0xb1, 0x0f, + 0x49, 0x08, 0x88, 0x40, 0xf4, 0x40, 0x70, 0x08, 0x80, 0x4c, 0x20, 0x08, 0x73, 0x70, 0x47, + 0x04, 0x03, 0x04, 0x42, 0xe4, 0x08, 0x00, 0x20, 0x1a, 0x20, 0x00, 0x40, 0x1c, 0x20, 0x00, + 0x40, 0x14, 0x22, 0x00, 0x40, 0x00, 0x40, 0x04, 0x42, 0x80, 0x1b, 0x04, 0x42, 0x80, 0x04, + 0x04, 0x42, 0x0e, 0x03, 0x00, 0x20, 0xe0, 0x20, 0x00, 0x42, 0x64, 0x11, 0x00, 0x40, 0x80, + 0x2c, 0x02, 0x42, 0x4a, 0x10, 0x00, 0x40, 0x2d, 0xe9, 0xf0, 0x4f, 0xad, 0xf1, 0x40, 0x0d, + 0x86, 0x4b, 0x00, 0x90, 0x86, 0x48, 0x4f, 0xf0, 0x00, 0x09, 0x83, 0xf8, 0x32, 0x90, 0x83, + 0xf8, 0x33, 0x90, 0x80, 0xf8, 0x00, 0x90, 0x18, 0x7d, 0x22, 0x4c, 0x00, 0x28, 0x06, 0xbf, + 0xe0, 0x8e, 0x02, 0x1c, + + 0x01, 0x05, 0xff, 0xff, 0xee, 0x42, 0x19, 0x00, 0xfa, 0x94, 0xf8, 0x35, 0x20, 0xb1, 0x48, + 0xaf, 0x4e, 0x01, 0x88, 0x62, 0xf3, 0x1f, 0x31, 0x02, 0x46, 0x01, 0x92, 0x11, 0x80, 0x94, + 0xf8, 0x33, 0x10, 0x60, 0x8b, 0x40, 0x18, 0xd1, 0x88, 0x60, 0xf3, 0x1f, 0x31, 0xd1, 0x80, + 0xaa, 0x4a, 0x48, 0x46, 0x11, 0x78, 0x51, 0x29, 0x08, 0xbf, 0x01, 0x20, 0x02, 0x90, 0xa7, + 0x48, 0x4f, 0x46, 0xc5, 0x8b, 0x01, 0x8c, 0x03, 0x97, 0x04, 0x97, 0x05, 0x97, 0x06, 0x97, + 0x07, 0x93, 0xdd, 0xf8, 0x00, 0xc0, 0xa3, 0x4b, 0xa3, 0x4f, 0xbc, 0xf1, 0x00, 0x0f, 0x19, + 0xd0, 0x9c, 0x46, 0xcd, 0xf8, 0x20, 0xc0, 0x4f, 0xf4, 0x80, 0x53, 0xac, 0xf8, 0x30, 0x30, + 0xa0, 0xf8, 0x22, 0x90, 0x09, 0x91, 0xe8, 0x13, 0x82, 0x46, 0xb7, 0xf8, 0x9c, 0x00, 0x40, + 0x08, 0x34, 0xbf, 0x94, 0xf8, 0x5f, 0x10, 0x94, 0xf8, 0x61, 0x10, 0x94, 0xf8, 0x3b, 0x00, + 0x11, 0xe0, 0xc0, 0x46, 0x00, 0x02, 0x00, 0x20, 0x08, 0x93, 0x4f, 0xf0, 0x10, 0x01, 0x19, + 0x86, 0xa0, 0xf8, 0x06, 0x90, 0x45, 0x88, 0x80, 0x88, 0x09, 0x90, 0x94, 0xf8, 0x39, 0x00, + 0x94, 0xf8, 0x65, 0x10, 0xdd, 0xf8, 0x18, 0xa0, 0x01, 0x44, 0x4f, 0xea, 0xc1, 0x00, 0x08, + 0x99, 0x08, 0x80, 0x02, 0x98, 0x08, 0x99, 0x78, 0xb9, 0x01, 0x20, 0x01, 0xf8, 0x07, 0x0c, + 0x08, 0x88, 0x89, 0x88, 0x00, 0x1f, 0x88, 0x42, 0x04, 0xda, 0x11, 0x78, 0x21, 0x20, 0xff, + 0x22, 0x02, 0xf0, 0x2c, 0xfa, 0x08, 0x20, 0x02, 0xf0, 0x0a, 0xfa, 0x4f, 0xea, 0x65, 0x00, + 0x00, 0xf0, 0x1f, 0x00, 0x0a, 0x90, 0xa7, 0x48, 0x94, 0xf8, 0x77, 0x10, 0x4f, 0xf0, 0x01, + 0x08, 0x0b, 0x90, 0x07, 0x9b, 0x90, 0xf8, 0x5c, 0x0e, 0x4f, 0xea, 0xa5, 0x12, 0x02, 0xf0, + 0x7f, 0x02, 0x98, 0x72, + + 0x01, 0x05, 0xff, 0xff, 0xe8, 0x43, 0x19, 0x00, 0xfa, 0xa1, 0x48, 0x00, 0x88, 0x83, 0xf8, + 0x0b, 0x80, 0x18, 0x81, 0x60, 0x88, 0x60, 0xb9, 0x28, 0x2a, 0xbc, 0xbf, 0x02, 0xf2, 0xb1, + 0x40, 0x40, 0x00, 0x05, 0xdb, 0x4f, 0xea, 0x65, 0x10, 0x00, 0xf0, 0xfe, 0x00, 0x00, 0xf6, + 0x13, 0x10, 0x80, 0xb2, 0x0c, 0x90, 0x0c, 0x9a, 0x97, 0x48, 0x4c, 0xf2, 0x50, 0x33, 0x00, + 0xfb, 0x02, 0xf0, 0x0d, 0x90, 0x78, 0x89, 0x95, 0x4a, 0x6f, 0xf3, 0x9f, 0x20, 0x03, 0xfb, + 0x00, 0x25, 0x94, 0xf8, 0x76, 0x00, 0x30, 0xb1, 0x48, 0x09, 0x04, 0xd3, 0x0d, 0x98, 0x29, + 0x46, 0x01, 0xf0, 0xbb, 0xfd, 0xa0, 0xb9, 0xb4, 0xf8, 0xac, 0x01, 0x0c, 0x99, 0x80, 0xb9, + 0x4f, 0xf4, 0xfa, 0x30, 0x48, 0x43, 0xb4, 0xf9, 0x06, 0x10, 0xa0, 0xeb, 0x41, 0x10, 0x00, + 0xf5, 0x7a, 0x60, 0x4f, 0xf4, 0xfa, 0x51, 0xb0, 0xfb, 0xf1, 0xf0, 0x80, 0xb2, 0xcd, 0xf8, + 0x38, 0x80, 0x05, 0xe0, 0x0d, 0x98, 0x29, 0x46, 0x01, 0xf0, 0xc1, 0xfd, 0x06, 0x99, 0x0e, + 0x91, 0x81, 0x49, 0x4f, 0xf4, 0x96, 0x72, 0x81, 0x4d, 0xc1, 0xeb, 0x00, 0x51, 0xb1, 0xfb, + 0xf2, 0xf1, 0x40, 0x31, 0xc1, 0xf3, 0xd0, 0x11, 0xa6, 0xf6, 0x64, 0x72, 0x11, 0x60, 0xb4, + 0xf9, 0x08, 0x10, 0xb4, 0xf9, 0x06, 0x20, 0x89, 0x18, 0x26, 0xf8, 0x2c, 0x1c, 0x77, 0x49, + 0x01, 0xeb, 0x60, 0x01, 0xb1, 0xfb, 0xf0, 0xf0, 0x26, 0xf8, 0x2a, 0x0c, 0x00, 0x98, 0x08, + 0x99, 0x00, 0x28, 0x40, 0xf0, 0x8a, 0x80, 0xa1, 0xf8, 0x20, 0x90, 0x02, 0x20, 0x88, 0x83, + 0x0a, 0x98, 0x03, 0x28, 0x14, 0xdb, 0x78, 0x6a, 0x70, 0x65, 0xb8, 0x6a, 0xb0, 0x65, 0xf8, + 0x6a, 0xf0, 0x65, 0x38, 0x6b, 0x30, 0x66, 0x78, 0x6b, 0x70, 0x66, 0xb8, 0x6b, 0xb0, 0x66, + 0x0a, 0x98, 0x80, 0x10, + + 0x01, 0x05, 0xff, 0xff, 0xe2, 0x44, 0x19, 0x00, 0xfa, 0x86, 0xf8, 0x76, 0x00, 0x0c, 0xe0, + 0xd0, 0x08, 0x00, 0x20, 0x10, 0x01, 0x04, 0x42, 0x0a, 0x98, 0x07, 0xeb, 0xc0, 0x00, 0xc1, + 0x68, 0x71, 0x65, 0x00, 0x69, 0xb0, 0x65, 0x86, 0xf8, 0x76, 0x80, 0x4f, 0xf0, 0x3f, 0x0a, + 0x4f, 0xf4, 0x80, 0x70, 0xa6, 0xf8, 0x6c, 0xa0, 0x85, 0xf8, 0xe0, 0x9c, 0xa6, 0xf8, 0x74, + 0x00, 0x05, 0x20, 0xa6, 0xf8, 0x7a, 0x00, 0x1f, 0x20, 0xa6, 0xf8, 0x78, 0x00, 0x82, 0x20, + 0x86, 0xf8, 0x8d, 0x00, 0x4f, 0xf4, 0x9b, 0x70, 0xa6, 0xf8, 0x7e, 0x00, 0x4f, 0xf4, 0xc3, + 0x70, 0xa6, 0xf8, 0x7c, 0x00, 0x43, 0xf2, 0x3a, 0x50, 0xa6, 0xf8, 0x88, 0x00, 0x42, 0xf2, + 0x09, 0x30, 0xa6, 0xf8, 0x90, 0x00, 0x41, 0xf2, 0x1b, 0x40, 0xa6, 0xf8, 0x92, 0x00, 0x04, + 0x20, 0x86, 0xf8, 0x96, 0x00, 0x3a, 0x20, 0x86, 0xf8, 0x95, 0x00, 0x4f, 0xf4, 0xa3, 0x70, + 0xa6, 0xf8, 0xa2, 0x00, 0xe4, 0x20, 0xa6, 0xf8, 0xa6, 0x00, 0xa6, 0xf8, 0xa4, 0x00, 0x7a, + 0x20, 0xa6, 0xf8, 0xa0, 0x00, 0x6c, 0x20, 0xf0, 0x80, 0x4f, 0xf6, 0x94, 0x70, 0x30, 0x81, + 0x1a, 0x20, 0x70, 0x82, 0xf0, 0x83, 0x30, 0x8e, 0x6f, 0xf3, 0x09, 0x00, 0x40, 0xf4, 0xcd, + 0x70, 0x30, 0x86, 0x85, 0xf8, 0x20, 0x98, 0x85, 0xf8, 0x00, 0x80, 0xb0, 0x8a, 0x20, 0xf4, + 0x60, 0x60, 0x40, 0xf4, 0xa0, 0x60, 0xb0, 0x82, 0x85, 0xf8, 0x30, 0x94, 0x30, 0x88, 0x20, + 0xf4, 0x40, 0x70, 0x30, 0x80, 0xcc, 0xe0, 0xc0, 0x46, 0x68, 0x10, 0x00, 0x40, 0x08, 0x20, + 0x00, 0x40, 0x1c, 0x09, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x3c, 0x24, 0x00, 0x40, 0xc0, + 0x00, 0x00, 0x20, 0x08, 0x99, 0x31, 0x20, 0xba, 0xf1, 0x00, 0x0f, 0x08, 0x84, 0x86, 0xf8, + 0x76, 0x80, 0x0a, 0x98, + + 0x01, 0x05, 0xff, 0xff, 0xdc, 0x45, 0x19, 0x00, 0xfa, 0x00, 0xf0, 0x07, 0x00, 0x0a, 0x90, + 0x29, 0x48, 0x52, 0xd1, 0xf9, 0x6b, 0xb1, 0x65, 0x39, 0x6c, 0x31, 0x66, 0x79, 0x6c, 0xb1, + 0x66, 0x97, 0xf8, 0x95, 0x10, 0x19, 0xb1, 0x4f, 0xf0, 0x07, 0x01, 0x86, 0xf8, 0x76, 0x10, + 0x1f, 0x21, 0xa6, 0xf8, 0x6c, 0x10, 0x00, 0x88, 0xa6, 0xf8, 0x74, 0x00, 0x04, 0x20, 0xa6, + 0xf8, 0x7a, 0x00, 0x13, 0x20, 0xa6, 0xf8, 0x78, 0x00, 0xad, 0x20, 0x86, 0xf8, 0x8d, 0x00, + 0x4f, 0xf4, 0xa8, 0x70, 0xa6, 0xf8, 0xa2, 0x00, 0xee, 0x20, 0xa6, 0xf8, 0xa6, 0x00, 0xa6, + 0xf8, 0xa4, 0x00, 0x83, 0x20, 0xa6, 0xf8, 0xa0, 0x00, 0xa6, 0xf8, 0x06, 0x90, 0xa6, 0xf8, + 0x08, 0x90, 0x30, 0x8e, 0x6f, 0xf3, 0x09, 0x00, 0x40, 0xf0, 0x64, 0x00, 0x30, 0x86, 0x85, + 0xf8, 0x00, 0x90, 0xb0, 0x8a, 0x20, 0xf4, 0x70, 0x60, 0x40, 0xf4, 0x00, 0x70, 0xb0, 0x82, + 0x85, 0xf8, 0x30, 0x84, 0x30, 0x88, 0x20, 0xf4, 0x00, 0x70, 0x40, 0xf4, 0x80, 0x70, 0x48, + 0xe0, 0xc0, 0x46, 0x64, 0x8c, 0x03, 0x42, 0x18, 0x1c, 0x00, 0x40, 0x40, 0x42, 0x0f, 0x00, + 0x00, 0xab, 0x87, 0x04, 0x6a, 0xff, 0xff, 0x5f, 0xeb, 0x51, 0xb8, 0x1e, 0x00, 0x0f, 0x02, + 0x42, 0xb0, 0x03, 0x00, 0x20, 0xb7, 0xf8, 0x96, 0x10, 0xa6, 0xf8, 0x5a, 0x10, 0x0f, 0x21, + 0xa6, 0xf8, 0x6c, 0x10, 0x80, 0x1c, 0x00, 0x88, 0xa6, 0xf8, 0x74, 0x00, 0x05, 0x20, 0xa6, + 0xf8, 0x7a, 0x00, 0x1f, 0x20, 0xa6, 0xf8, 0x78, 0x00, 0x82, 0x20, 0x86, 0xf8, 0x8d, 0x00, + 0x4f, 0xf4, 0xa3, 0x70, 0xa6, 0xf8, 0xa2, 0x00, 0xe4, 0x20, 0xa6, 0xf8, 0xa6, 0x00, 0xa6, + 0xf8, 0xa4, 0x00, 0x7a, 0x20, 0xa6, 0xf8, 0xa0, 0x00, 0x6c, 0x20, 0xf0, 0x80, 0x4f, 0xf6, + 0x94, 0x70, 0x30, 0x81, + + 0x01, 0x05, 0xff, 0xff, 0xd6, 0x46, 0x19, 0x00, 0xfa, 0x30, 0x8e, 0x6f, 0xf3, 0x09, 0x00, + 0x40, 0xf4, 0xcd, 0x70, 0x30, 0x86, 0x85, 0xf8, 0x00, 0x80, 0xb0, 0x8a, 0x20, 0xf4, 0x60, + 0x60, 0x40, 0xf4, 0xa0, 0x60, 0xb0, 0x82, 0x85, 0xf8, 0x30, 0x94, 0x30, 0x88, 0x20, 0xf4, + 0x40, 0x70, 0x30, 0x80, 0xaa, 0x20, 0x85, 0xf8, 0xe0, 0x8c, 0xa6, 0xf8, 0x7e, 0x00, 0xfa, + 0x20, 0xa6, 0xf8, 0x7c, 0x00, 0x43, 0xf2, 0x28, 0x60, 0xa6, 0xf8, 0x88, 0x00, 0x41, 0xf2, + 0x08, 0x30, 0xa6, 0xf8, 0x90, 0x00, 0x00, 0xf1, 0x01, 0x00, 0xa6, 0xf8, 0x92, 0x00, 0x02, + 0x20, 0x86, 0xf8, 0x96, 0x00, 0x32, 0x20, 0x86, 0xf8, 0x95, 0x00, 0x1a, 0x20, 0x70, 0x82, + 0xf0, 0x83, 0xb4, 0xf8, 0x62, 0x00, 0x00, 0x28, 0x0c, 0xbf, 0x85, 0xf8, 0x20, 0x98, 0x85, + 0xf8, 0x20, 0x88, 0x4f, 0xf0, 0x3f, 0x0a, 0x40, 0xf6, 0x12, 0x00, 0xb0, 0x84, 0x41, 0x20, + 0x06, 0xf8, 0x12, 0x0c, 0x09, 0x98, 0x03, 0x28, 0x05, 0xd1, 0xa0, 0x88, 0x40, 0x08, 0x28, + 0xbf, 0xdd, 0xf8, 0x18, 0xb0, 0x00, 0xd2, 0xc3, 0x46, 0xa5, 0xf5, 0x70, 0x60, 0x80, 0xf8, + 0x00, 0xb0, 0xb4, 0xf9, 0x06, 0x10, 0xfa, 0x20, 0x01, 0xfb, 0x00, 0xf1, 0x0d, 0x98, 0x40, + 0x1a, 0x01, 0xf0, 0x27, 0xfb, 0x07, 0x99, 0x00, 0xf5, 0x00, 0x03, 0x09, 0x68, 0x0f, 0x91, + 0xdd, 0xf8, 0x3c, 0xc0, 0x0d, 0x9a, 0x19, 0x0e, 0x0c, 0xfb, 0x11, 0x21, 0x00, 0x29, 0xb8, + 0xbf, 0x49, 0x42, 0x74, 0x4a, 0x8a, 0x42, 0x1b, 0xdd, 0xb4, 0xf8, 0xee, 0x10, 0x01, 0xf0, + 0x01, 0x01, 0x03, 0x91, 0x03, 0xf0, 0x7f, 0x43, 0x1b, 0x1a, 0x0f, 0x98, 0x10, 0x33, 0x59, + 0x11, 0x00, 0xf5, 0x80, 0x70, 0x40, 0x0a, 0x4f, 0xf4, 0x00, 0x72, 0x00, 0xfb, 0x01, 0x20, + 0x80, 0x12, 0x4f, 0xf4, + + 0x01, 0x05, 0xff, 0xff, 0xd0, 0x47, 0x19, 0x00, 0xfa, 0x00, 0x41, 0x40, 0xf2, 0x5b, 0x32, + 0x02, 0xfb, 0x00, 0x10, 0x00, 0x14, 0x26, 0xf8, 0x14, 0x0c, 0x58, 0x46, 0xff, 0xf7, 0x59, + 0xfc, 0x07, 0x98, 0x80, 0x7b, 0x60, 0xb1, 0x02, 0x98, 0x50, 0xb9, 0x00, 0x98, 0x00, 0x28, + 0x07, 0xbf, 0x08, 0x98, 0x80, 0xf8, 0x11, 0x80, 0x08, 0x98, 0x80, 0xf8, 0x13, 0x80, 0x01, + 0xf0, 0x82, 0xfe, 0x0e, 0x9a, 0x58, 0x46, 0xff, 0xf7, 0xa7, 0xfc, 0x0c, 0x98, 0x41, 0x46, + 0x01, 0xf0, 0x0d, 0xfb, 0x07, 0x98, 0x00, 0x7d, 0x40, 0xb9, 0x06, 0x98, 0x07, 0x21, 0x01, + 0xf0, 0xe6, 0xfa, 0x0b, 0x98, 0x00, 0x78, 0x0b, 0x99, 0xc0, 0x43, 0x08, 0x70, 0x94, 0xf8, + 0x76, 0x00, 0x28, 0xb1, 0x08, 0x98, 0xa0, 0xf5, 0x0a, 0x70, 0x00, 0x88, 0x40, 0x08, 0x05, + 0xd2, 0x01, 0x98, 0x40, 0x8a, 0x01, 0x99, 0x40, 0xf0, 0x07, 0x00, 0x48, 0x82, 0xa6, 0xf6, + 0x68, 0x70, 0x80, 0xf8, 0x00, 0xa0, 0x96, 0x48, 0x0f, 0x90, 0x80, 0xf8, 0x5c, 0x80, 0xa6, + 0xf6, 0x62, 0x60, 0x02, 0x78, 0xa6, 0xf6, 0x62, 0x60, 0x00, 0x88, 0xa6, 0xf6, 0x62, 0x61, + 0x40, 0xf0, 0x0f, 0x00, 0x08, 0x80, 0xa6, 0xf6, 0x62, 0x60, 0x00, 0x88, 0x02, 0xf0, 0x0f, + 0x02, 0x20, 0xf0, 0x0f, 0x00, 0x02, 0x43, 0xa6, 0xf6, 0x62, 0x60, 0x02, 0x80, 0xff, 0xf7, + 0xcb, 0xfc, 0x08, 0x98, 0x30, 0xf8, 0x10, 0x0c, 0x07, 0x99, 0xc0, 0x11, 0x00, 0xf0, 0x01, + 0x00, 0x81, 0xf8, 0x32, 0x00, 0x40, 0x46, 0x86, 0xf8, 0x54, 0x81, 0x01, 0xf0, 0x6e, 0xff, + 0x01, 0xf0, 0x73, 0xfa, 0x94, 0xf9, 0x52, 0x10, 0x81, 0x42, 0xbc, 0xbf, 0x07, 0x98, 0x80, + 0xf8, 0x33, 0x80, 0x02, 0x98, 0x00, 0x28, 0x40, 0xf0, 0x64, 0x81, 0x03, 0x98, 0x18, 0xb1, + 0xa5, 0xf2, 0xdc, 0x50, + + 0x01, 0x05, 0xff, 0xff, 0xca, 0x48, 0x19, 0x00, 0xfa, 0x80, 0xf8, 0x00, 0x90, 0x00, 0x98, + 0x00, 0x28, 0x14, 0xbf, 0x07, 0x20, 0x03, 0x20, 0x08, 0x99, 0xdf, 0xf8, 0x34, 0xa2, 0x01, + 0xf8, 0x33, 0x0c, 0x00, 0x98, 0x20, 0xb9, 0x0a, 0x98, 0x81, 0x10, 0x50, 0x46, 0x00, 0x1d, + 0x01, 0x80, 0x09, 0x98, 0x03, 0x28, 0x4d, 0xd0, 0x00, 0x98, 0x01, 0x28, 0x08, 0xd0, 0xb7, + 0xf8, 0xa8, 0x00, 0x08, 0x99, 0xc0, 0x00, 0xa0, 0xf5, 0x18, 0x70, 0x08, 0x80, 0x88, 0x20, + 0x00, 0xe0, 0x81, 0x20, 0x01, 0xf0, 0x56, 0xff, 0x07, 0x46, 0x38, 0x0a, 0x07, 0x98, 0x03, + 0xd2, 0x90, 0xf8, 0x32, 0x00, 0x01, 0x28, 0x07, 0xd1, 0xa5, 0xf2, 0xdc, 0x50, 0x80, 0xf8, + 0x00, 0x80, 0xcd, 0xf8, 0x10, 0x80, 0x06, 0x98, 0x03, 0x90, 0x00, 0x98, 0x38, 0xbb, 0x38, + 0x0a, 0x02, 0xd3, 0x08, 0x20, 0x01, 0xf0, 0x3f, 0xff, 0x86, 0xf8, 0x54, 0x81, 0x40, 0x46, + 0x01, 0xf0, 0x1c, 0xff, 0x01, 0xf0, 0x21, 0xfa, 0x94, 0xf9, 0xc1, 0x10, 0x81, 0x42, 0x0f, + 0xdb, 0x07, 0x98, 0x90, 0xf8, 0x32, 0x00, 0x01, 0x28, 0x0a, 0xd0, 0x94, 0xf8, 0xc0, 0x00, + 0x40, 0x08, 0x0e, 0xd3, 0x09, 0x98, 0x60, 0xb9, 0x01, 0xf0, 0xcc, 0xfd, 0x0a, 0xe1, 0x28, + 0xe7, 0x09, 0x00, 0x03, 0x98, 0xff, 0xf7, 0x80, 0xfc, 0x0a, 0x20, 0x01, 0xf0, 0x00, 0xff, + 0x85, 0xf8, 0x00, 0x88, 0x09, 0x98, 0x02, 0x28, 0x01, 0xd1, 0x01, 0xf0, 0x79, 0xfb, 0x09, + 0x98, 0x03, 0x28, 0x2a, 0xd1, 0xb4, 0xf8, 0x5c, 0x00, 0x38, 0xb3, 0x86, 0xf8, 0x54, 0x81, + 0x40, 0x46, 0x01, 0xf0, 0xee, 0xfe, 0x01, 0xf0, 0xf3, 0xf9, 0x94, 0xf9, 0xc1, 0x10, 0x81, + 0x42, 0x18, 0xdb, 0x01, 0xf0, 0x66, 0xfb, 0x4f, 0xf4, 0xfa, 0x60, 0x01, 0xf0, 0x18, 0xff, + 0x91, 0x20, 0x01, 0xf0, + + 0x01, 0x05, 0xff, 0xff, 0xc4, 0x49, 0x19, 0x00, 0xfa, 0xfd, 0xfe, 0x07, 0x46, 0x17, 0xf0, + 0x81, 0x0f, 0x0b, 0xd1, 0x01, 0xf0, 0xb3, 0xfb, 0x64, 0x20, 0x01, 0xf0, 0x0c, 0xff, 0x91, + 0x20, 0x01, 0xf0, 0xf1, 0xfe, 0x07, 0x46, 0x17, 0xf0, 0x81, 0x0f, 0xdb, 0xd0, 0x38, 0x0a, + 0x01, 0xd3, 0x01, 0xf0, 0xa5, 0xfb, 0x00, 0x98, 0x01, 0x28, 0x04, 0xd1, 0x38, 0x0a, 0x02, + 0xd3, 0x40, 0x46, 0x01, 0xf0, 0xe1, 0xfe, 0x00, 0x98, 0x10, 0xb9, 0x40, 0x46, 0x01, 0xf0, + 0xdc, 0xfe, 0x28, 0x20, 0x01, 0xf0, 0xfa, 0xfe, 0x00, 0x98, 0x01, 0x28, 0x02, 0xd1, 0x03, + 0x98, 0xff, 0xf7, 0x32, 0xfc, 0xb4, 0xf8, 0x4e, 0x00, 0x00, 0xf1, 0x01, 0x00, 0xa4, 0xf8, + 0x4e, 0x00, 0x03, 0x98, 0xe0, 0xb9, 0x94, 0xf8, 0xc0, 0x00, 0xdd, 0xf8, 0x18, 0xb0, 0x00, + 0x11, 0x00, 0xf0, 0x07, 0x00, 0x02, 0x28, 0x08, 0xbf, 0xc3, 0x46, 0xbb, 0xf1, 0x00, 0x0f, + 0x0d, 0xd1, 0x01, 0x28, 0x09, 0x98, 0x0c, 0xd0, 0x58, 0xb9, 0x04, 0x98, 0x48, 0xb1, 0x07, + 0x98, 0x90, 0xf8, 0x32, 0x00, 0x28, 0xb9, 0x07, 0x98, 0x90, 0xf8, 0x33, 0x00, 0x08, 0xb9, + 0xcd, 0xf8, 0x14, 0x80, 0x84, 0xf8, 0x0c, 0x90, 0x05, 0x98, 0x18, 0xb9, 0x0a, 0x20, 0x01, + 0xf0, 0x89, 0xfe, 0x03, 0xe0, 0x01, 0xf0, 0x06, 0xfb, 0x84, 0xf8, 0x0c, 0x80, 0x00, 0x98, + 0x10, 0xb9, 0x0a, 0x98, 0x03, 0x28, 0x16, 0xdb, 0x96, 0xf8, 0x99, 0x00, 0x03, 0x28, 0x08, + 0xbf, 0x04, 0x20, 0x00, 0x99, 0x00, 0x29, 0x08, 0xbf, 0xaa, 0xf8, 0x04, 0x00, 0x0d, 0xd0, + 0x8a, 0xf8, 0x06, 0x00, 0x96, 0xf8, 0x98, 0x00, 0x00, 0xf0, 0x7f, 0x00, 0x8a, 0xf8, 0x07, + 0x00, 0x04, 0xe0, 0xc0, 0x46, 0x08, 0x20, 0x00, 0x42, 0xaa, 0xf8, 0x04, 0x90, 0x35, 0x4f, + 0x0a, 0x20, 0x87, 0xf8, + + 0x01, 0x05, 0xff, 0xff, 0xbe, 0x4a, 0x19, 0x00, 0xfa, 0x24, 0x90, 0x01, 0xf0, 0x60, 0xfe, + 0x86, 0xf8, 0x54, 0x81, 0x40, 0x46, 0x01, 0xf0, 0x5b, 0xfe, 0x87, 0xf8, 0x00, 0x90, 0x0f, + 0x98, 0x80, 0xf8, 0x00, 0x90, 0x0c, 0x20, 0x01, 0xf0, 0x7c, 0xfe, 0x08, 0x98, 0x80, 0x8b, + 0x01, 0x28, 0x08, 0xbf, 0xcd, 0xf8, 0x18, 0x80, 0xe0, 0x89, 0x84, 0xf8, 0x0d, 0x90, 0x01, + 0x28, 0x0f, 0xd1, 0x06, 0x98, 0x01, 0x28, 0x0c, 0xd1, 0x05, 0x98, 0x01, 0x28, 0x09, 0xd1, + 0xbb, 0xf1, 0x00, 0x0f, 0x06, 0xd1, 0x01, 0xf0, 0x17, 0xfb, 0x84, 0xf8, 0x0d, 0x80, 0x06, + 0xe0, 0x30, 0x00, 0x00, 0x20, 0x85, 0xf8, 0x00, 0x98, 0x06, 0x20, 0x01, 0xf0, 0x33, 0xfe, + 0x85, 0xf8, 0x40, 0x88, 0x00, 0x98, 0x08, 0x99, 0x00, 0x28, 0x2f, 0xd1, 0x04, 0x20, 0x01, + 0xf8, 0x33, 0x0c, 0x10, 0x20, 0x01, 0xf0, 0x66, 0xfe, 0x09, 0x20, 0x01, 0xf0, 0x42, 0xfe, + 0x61, 0x7b, 0x01, 0x29, 0x08, 0xbf, 0x85, 0xf8, 0x00, 0x98, 0x40, 0x08, 0x0a, 0xd3, 0x07, + 0x98, 0x90, 0xf8, 0x32, 0x00, 0x30, 0xb9, 0x07, 0x98, 0x90, 0xf8, 0x33, 0x00, 0x10, 0xb9, + 0x40, 0xf2, 0x14, 0x60, 0xb0, 0x84, 0x08, 0x98, 0x06, 0x21, 0x00, 0xf8, 0x33, 0x1c, 0x64, + 0x20, 0x01, 0xf0, 0x4a, 0xfe, 0x09, 0x20, 0x01, 0xf0, 0x31, 0xfe, 0x40, 0x08, 0x08, 0xd3, + 0x0a, 0x20, 0x01, 0xf0, 0x03, 0xfe, 0xa5, 0xf5, 0xb2, 0x65, 0x87, 0xf8, 0x1c, 0x90, 0x85, + 0xf8, 0x00, 0x80, 0x10, 0xb0, 0xbd, 0xe8, 0xf0, 0x8f, 0x90, 0x2c, 0x02, 0x42, 0x30, 0xb5, + 0x29, 0x4c, 0x00, 0x25, 0x20, 0x78, 0x01, 0x28, 0x47, 0xd1, 0x28, 0x48, 0x02, 0x46, 0xbe, + 0x3a, 0x15, 0x80, 0x95, 0x70, 0x15, 0x71, 0x95, 0x71, 0xb2, 0xf8, 0x42, 0x10, 0xc9, 0xb2, + 0xa2, 0xf8, 0x42, 0x10, + + 0x01, 0x05, 0xff, 0xff, 0xb8, 0x4b, 0x19, 0x00, 0xfa, 0x21, 0x49, 0x0d, 0x70, 0xa2, 0xf6, + 0xf4, 0x31, 0x0d, 0x80, 0xa2, 0xf6, 0xf2, 0x31, 0x0d, 0x80, 0x00, 0x88, 0x20, 0xf0, 0x03, + 0x00, 0xa2, 0xf8, 0xbe, 0x00, 0xb1, 0x48, 0x81, 0x6b, 0xa2, 0xf6, 0xfc, 0x33, 0x19, 0x60, + 0xc1, 0x6b, 0xa2, 0xf6, 0xf8, 0x33, 0x19, 0x60, 0x90, 0xf8, 0x41, 0x10, 0xac, 0x4b, 0x19, + 0x70, 0x90, 0xf8, 0x40, 0x10, 0x82, 0xf8, 0xe1, 0x15, 0x90, 0xf8, 0x42, 0x10, 0x82, 0xf8, + 0xdd, 0x14, 0x90, 0xf8, 0x43, 0x10, 0x82, 0xf8, 0xdc, 0x14, 0x41, 0x6c, 0xa6, 0x4a, 0x11, + 0x60, 0xa6, 0x49, 0x90, 0xf8, 0x48, 0x20, 0x81, 0xf8, 0x7a, 0x20, 0x90, 0xf8, 0x49, 0x00, + 0x81, 0xf8, 0x7e, 0x00, 0x28, 0x46, 0x01, 0xf0, 0xd1, 0xfa, 0x09, 0x48, 0x00, 0x78, 0x10, + 0xb9, 0x10, 0x20, 0x08, 0x49, 0x08, 0x80, 0x25, 0x70, 0x30, 0xbd, 0x01, 0x12, 0x49, 0x42, + 0x08, 0x43, 0xc0, 0xb2, 0x70, 0x47, 0x24, 0x09, 0x00, 0x20, 0x4c, 0x8c, 0x03, 0x42, 0xd6, + 0x1c, 0x00, 0x40, 0x87, 0x00, 0x00, 0x20, 0x1e, 0x24, 0x00, 0x40, 0x2d, 0xe9, 0xf0, 0x4f, + 0xad, 0xf1, 0x7c, 0x0d, 0x04, 0x93, 0x05, 0x92, 0x06, 0x91, 0x91, 0x49, 0x07, 0x90, 0x40, + 0x08, 0x08, 0x91, 0x94, 0x49, 0x09, 0x91, 0x95, 0x49, 0x0a, 0x91, 0x96, 0x49, 0x0b, 0x91, + 0xc0, 0xf0, 0x70, 0x81, 0xdf, 0xf8, 0x20, 0x82, 0x8c, 0x48, 0x01, 0x46, 0x89, 0x1e, 0x0a, + 0x68, 0xc8, 0xf8, 0x38, 0x20, 0x4a, 0x68, 0xc8, 0xf8, 0x3c, 0x20, 0x84, 0x4a, 0x12, 0x1f, + 0x92, 0xf8, 0x05, 0x31, 0x88, 0xf8, 0x40, 0x30, 0x80, 0x4d, 0x2b, 0x78, 0x88, 0xf8, 0x41, + 0x30, 0x53, 0x78, 0x88, 0xf8, 0x42, 0x30, 0x13, 0x78, 0x88, 0xf8, 0x43, 0x30, 0x52, 0x68, + 0xc8, 0xf8, 0x44, 0x20, + + 0x01, 0x05, 0xff, 0xff, 0xb2, 0x4c, 0x19, 0x00, 0xfa, 0xdd, 0xf8, 0x20, 0x90, 0x99, 0xf8, + 0x7a, 0x20, 0x88, 0xf8, 0x48, 0x20, 0x99, 0xf8, 0x7e, 0x20, 0x88, 0xf8, 0x49, 0x20, 0x99, + 0xf8, 0x78, 0x20, 0x89, 0xf8, 0x7a, 0x20, 0x99, 0xf8, 0x7c, 0x20, 0x89, 0xf8, 0x7e, 0x20, + 0x19, 0x22, 0x8a, 0x70, 0x00, 0x24, 0x72, 0x49, 0x0c, 0x91, 0x81, 0xf8, 0x20, 0x40, 0x0c, + 0x70, 0x01, 0x88, 0x21, 0xf4, 0x00, 0x61, 0x41, 0xf4, 0xe0, 0x61, 0x01, 0x80, 0x6f, 0x4f, + 0xa7, 0xf5, 0xa3, 0x71, 0x00, 0x88, 0x20, 0xf4, 0x40, 0x50, 0x08, 0x80, 0x3f, 0x20, 0xa7, + 0xf5, 0xa2, 0x71, 0x08, 0x70, 0x08, 0x20, 0xa7, 0xf2, 0x43, 0x11, 0x08, 0x70, 0x3c, 0x20, + 0xa7, 0xf5, 0xa1, 0x71, 0x08, 0x70, 0x4f, 0xf0, 0x18, 0x0b, 0xa7, 0xf2, 0x41, 0x10, 0x80, + 0xf8, 0x00, 0xb0, 0x63, 0x48, 0x01, 0xf0, 0x55, 0xf8, 0x01, 0x22, 0xc7, 0xf8, 0xf4, 0x0a, + 0x0d, 0x92, 0x2a, 0x70, 0x99, 0xf8, 0xd4, 0x00, 0x00, 0x11, 0x40, 0xf0, 0x10, 0x00, 0x87, + 0xf8, 0x91, 0x0f, 0x99, 0xf8, 0xd4, 0x00, 0x00, 0xf0, 0x0f, 0x00, 0x87, 0xf8, 0x90, 0x0f, + 0xd8, 0xf8, 0x04, 0x00, 0xc7, 0xf8, 0x94, 0x0f, 0x59, 0x48, 0x4f, 0xf4, 0xa0, 0x71, 0x09, + 0x9d, 0x84, 0x80, 0x41, 0x80, 0x85, 0xf8, 0x9f, 0x45, 0x0a, 0x9e, 0x51, 0x20, 0x96, 0xf8, + 0x00, 0xa0, 0x30, 0x70, 0x20, 0x46, 0x25, 0xf8, 0x42, 0x4c, 0x88, 0xf8, 0x14, 0x20, 0xff, + 0xf7, 0xa3, 0xfa, 0x42, 0xf2, 0x09, 0x00, 0x86, 0xf8, 0x00, 0xa0, 0x38, 0x80, 0xb9, 0xf8, + 0xae, 0x00, 0x25, 0xf8, 0x4a, 0x0c, 0x4c, 0x48, 0x0e, 0x90, 0x06, 0x98, 0x0f, 0x90, 0x05, + 0x98, 0x10, 0x90, 0x0b, 0x98, 0xdd, 0xf8, 0x10, 0xa0, 0x86, 0x1c, 0x11, 0x90, 0x45, 0xf6, + 0xe3, 0x50, 0x12, 0x90, + + 0x01, 0x05, 0xff, 0xff, 0xac, 0x4d, 0x19, 0x00, 0xfa, 0x0d, 0xf1, 0x07, 0x00, 0xcd, 0xf8, + 0x4c, 0xb0, 0x14, 0x90, 0x0d, 0xf1, 0x0b, 0x00, 0x15, 0x90, 0x0d, 0xf1, 0x03, 0x00, 0x16, + 0x90, 0xad, 0xf1, 0x01, 0x00, 0x17, 0x90, 0x40, 0xf6, 0x6c, 0x10, 0x18, 0x90, 0x3f, 0x48, + 0x19, 0x94, 0xcd, 0xf8, 0x68, 0x80, 0x1b, 0x90, 0x19, 0x98, 0x28, 0xb1, 0x25, 0xf8, 0x42, + 0x4c, 0x18, 0x98, 0x0d, 0x99, 0x01, 0xf0, 0x24, 0xf8, 0xdd, 0xf8, 0x34, 0x80, 0xdd, 0xf8, + 0x38, 0xb0, 0x40, 0x46, 0x8b, 0xf8, 0x00, 0x80, 0x01, 0xf0, 0xc5, 0xfc, 0xd7, 0xf8, 0x24, + 0x0b, 0x8b, 0xf8, 0x00, 0x40, 0x17, 0x99, 0x01, 0xf8, 0x01, 0x0f, 0x17, 0x91, 0x16, 0x9a, + 0x01, 0x0a, 0x02, 0xf8, 0x01, 0x1f, 0x16, 0x92, 0x15, 0x9a, 0x01, 0x0c, 0x02, 0xf8, 0x01, + 0x1f, 0x15, 0x92, 0x14, 0x99, 0x00, 0x0e, 0x01, 0xf8, 0x01, 0x0f, 0x14, 0x91, 0x99, 0xf8, + 0xcc, 0x10, 0x28, 0x88, 0xaa, 0xf1, 0x02, 0x0a, 0x61, 0xf3, 0x1f, 0x20, 0x28, 0x80, 0x8b, + 0xf8, 0xbc, 0x86, 0x09, 0xf1, 0xcb, 0x08, 0x4f, 0xf0, 0x05, 0x0b, 0x1a, 0x98, 0x1b, 0x99, + 0x00, 0x68, 0x13, 0x9a, 0xb0, 0xfb, 0xf1, 0xf1, 0xb9, 0xf8, 0xb2, 0x00, 0x42, 0x43, 0xb9, + 0xf8, 0xb6, 0x00, 0x40, 0x02, 0xa0, 0xeb, 0x12, 0x10, 0x00, 0x0c, 0x48, 0x43, 0x81, 0x01, + 0x01, 0xeb, 0x40, 0x11, 0x12, 0x98, 0xb1, 0xfb, 0xf0, 0xf0, 0x80, 0xb2, 0x2a, 0xf8, 0x02, + 0x0f, 0x25, 0xf8, 0x4e, 0x0c, 0x28, 0x88, 0x18, 0xf8, 0x01, 0x1f, 0x61, 0xf3, 0x1f, 0x20, + 0x28, 0x80, 0x0d, 0x98, 0xa7, 0xf2, 0x4b, 0x11, 0x08, 0x70, 0x01, 0xf0, 0x79, 0xfc, 0x4f, + 0xf4, 0x80, 0x70, 0x1d, 0xe0, 0xd0, 0x08, 0x00, 0x20, 0x00, 0x3f, 0x04, 0x42, 0xf8, 0x20, + 0x00, 0x40, 0x00, 0x02, + + 0x01, 0x05, 0xff, 0xff, 0xa6, 0x4e, 0x19, 0x00, 0xfa, 0x00, 0x20, 0x80, 0x03, 0x02, 0x42, + 0x1e, 0x10, 0x00, 0x40, 0x64, 0x11, 0x00, 0x40, 0x00, 0x09, 0x3d, 0x00, 0x5a, 0x1c, 0x00, + 0x40, 0x00, 0x00, 0x00, 0x20, 0x1c, 0x09, 0x00, 0x20, 0x90, 0x85, 0x03, 0x42, 0x40, 0x04, + 0x00, 0x20, 0xa0, 0x86, 0x01, 0x00, 0xa0, 0xf1, 0x01, 0x00, 0x0c, 0x99, 0x91, 0xf8, 0xa0, + 0x11, 0x09, 0xb9, 0x00, 0x28, 0xf7, 0xd1, 0xa7, 0xf5, 0x9c, 0x71, 0x0f, 0x9a, 0x09, 0x88, + 0x22, 0xf8, 0x02, 0x1b, 0x0f, 0x92, 0xa7, 0xf5, 0x9b, 0x71, 0x10, 0x9a, 0x09, 0x88, 0x22, + 0xf8, 0x02, 0x1b, 0x10, 0x92, 0x11, 0x99, 0x21, 0xf8, 0x08, 0x4b, 0x11, 0x91, 0x34, 0x80, + 0x74, 0x80, 0xb4, 0x80, 0x13, 0x99, 0x40, 0x31, 0x13, 0x91, 0x12, 0x99, 0x08, 0x36, 0xbb, + 0xf1, 0x01, 0x0b, 0x01, 0xf1, 0x28, 0x01, 0x12, 0x91, 0x91, 0xd1, 0x18, 0x98, 0x14, 0x30, + 0x80, 0xb2, 0x18, 0x90, 0x19, 0x98, 0x0a, 0xf1, 0x02, 0x0a, 0x40, 0x1c, 0x04, 0x28, 0x19, + 0x90, 0xff, 0xf4, 0x50, 0xaf, 0xec, 0x80, 0xb5, 0xf8, 0x7c, 0x00, 0x40, 0xf0, 0x03, 0x00, + 0xa5, 0xf8, 0x7c, 0x00, 0x0f, 0x20, 0x87, 0xf8, 0x00, 0x0b, 0x0d, 0x98, 0x01, 0xf0, 0x19, + 0xfc, 0x87, 0xf8, 0x00, 0x4b, 0x07, 0x98, 0x0a, 0x9c, 0x80, 0x08, 0xc0, 0xf0, 0x90, 0x81, + 0x20, 0x78, 0x41, 0x28, 0x12, 0xbf, 0x07, 0x25, 0x77, 0x48, 0x05, 0x78, 0x40, 0xf2, 0x6e, + 0x20, 0x01, 0xf0, 0x47, 0xfc, 0x00, 0x26, 0x37, 0x46, 0x00, 0x2d, 0xba, 0x46, 0xb0, 0x46, + 0x4f, 0xf4, 0x8e, 0x70, 0x1c, 0x94, 0x00, 0xf0, 0x6a, 0x81, 0x09, 0x9c, 0x14, 0x90, 0x4f, + 0xf4, 0x8d, 0x70, 0x15, 0x90, 0x4f, 0xf4, 0x8f, 0x70, 0x16, 0x90, 0x4f, 0xf4, 0x90, 0x70, + 0x17, 0x90, 0x4f, 0xf4, + + 0x01, 0x05, 0xff, 0xff, 0xa0, 0x4f, 0x19, 0x00, 0xfa, 0x9a, 0x70, 0x0e, 0x90, 0x69, 0x48, + 0x1d, 0x90, 0x01, 0x20, 0x0a, 0x90, 0x0d, 0x95, 0x08, 0x9d, 0xd1, 0x46, 0xdd, 0xf8, 0x2c, + 0xb0, 0x08, 0x96, 0x50, 0x46, 0x09, 0x90, 0x64, 0x48, 0x1e, 0x90, 0x04, 0x98, 0x10, 0x90, + 0x06, 0x98, 0x18, 0x90, 0x05, 0x98, 0x07, 0x90, 0x04, 0x20, 0x0c, 0x90, 0x09, 0x98, 0x19, + 0x90, 0x0d, 0xf1, 0x07, 0x00, 0x0f, 0x90, 0x0d, 0xf1, 0x0b, 0x00, 0x1a, 0x90, 0x0d, 0xf1, + 0x03, 0x00, 0x13, 0x90, 0xad, 0xf1, 0x01, 0x00, 0x12, 0x90, 0x12, 0x99, 0x11, 0xf8, 0x01, + 0x0f, 0x00, 0x02, 0x12, 0x91, 0x24, 0xf8, 0x42, 0x0c, 0x13, 0x98, 0x10, 0xf8, 0x01, 0x1f, + 0x13, 0x90, 0x04, 0xf8, 0x40, 0x1c, 0x1a, 0x98, 0x10, 0xf8, 0x01, 0x1f, 0x1a, 0x90, 0x04, + 0xf8, 0x3e, 0x1c, 0x0f, 0x98, 0x10, 0xf8, 0x01, 0x1f, 0x0f, 0x90, 0x05, 0xf1, 0xcb, 0x00, + 0x04, 0xf8, 0x3c, 0x1c, 0x11, 0x90, 0x05, 0x20, 0x1b, 0x90, 0x10, 0x98, 0x80, 0x1e, 0x10, + 0x90, 0x18, 0x98, 0x80, 0x1e, 0x18, 0x90, 0x07, 0x98, 0x80, 0x1e, 0x07, 0x90, 0x10, 0x99, + 0x31, 0xf8, 0x02, 0x0f, 0x10, 0x91, 0x24, 0xf8, 0x4e, 0x0c, 0x11, 0x98, 0x10, 0xf8, 0x01, + 0x1f, 0x11, 0x90, 0x20, 0x88, 0x61, 0xf3, 0x1f, 0x20, 0x20, 0x80, 0x18, 0x99, 0x31, 0xf8, + 0x02, 0x0f, 0x18, 0x91, 0xa4, 0xf6, 0x36, 0x41, 0x08, 0x80, 0x07, 0x99, 0x31, 0xf8, 0x02, + 0x0f, 0x07, 0x91, 0xa4, 0xf6, 0x34, 0x41, 0x08, 0x80, 0x1c, 0x98, 0x0a, 0x99, 0x00, 0x78, + 0x41, 0x28, 0x2f, 0xd0, 0xa4, 0xf6, 0x42, 0x40, 0x01, 0x70, 0x38, 0x46, 0xff, 0xf7, 0xd5, + 0xfd, 0x0b, 0xf8, 0x06, 0x00, 0x40, 0x46, 0xff, 0xf7, 0xd0, 0xfd, 0x5e, 0x44, 0x70, 0x70, + 0x50, 0x46, 0xff, 0xf7, + + 0x01, 0x05, 0xff, 0xff, 0x9a, 0x50, 0x19, 0x00, 0xfa, 0xcb, 0xfd, 0xb0, 0x70, 0x48, 0x46, + 0xff, 0xf7, 0xc7, 0xfd, 0xf0, 0x70, 0x08, 0x99, 0x8a, 0x01, 0x02, 0xeb, 0x01, 0x12, 0x19, + 0x99, 0x89, 0x18, 0x1d, 0x9a, 0x12, 0x78, 0x00, 0x2a, 0xfb, 0xd0, 0x8e, 0xb2, 0xa4, 0xf6, + 0x24, 0x41, 0x0f, 0x88, 0xa4, 0xf6, 0x26, 0x41, 0xb1, 0xf8, 0x00, 0x80, 0xa4, 0xf6, 0x2a, + 0x41, 0xb1, 0xf8, 0x00, 0xa0, 0xa4, 0xf6, 0x28, 0x41, 0xb1, 0xf8, 0x00, 0x90, 0x9e, 0xe0, + 0x0a, 0x9e, 0x30, 0x46, 0x01, 0xf0, 0x50, 0xfb, 0xa4, 0xf6, 0x42, 0x40, 0x06, 0x70, 0x09, + 0x98, 0x01, 0xf0, 0x4a, 0xfb, 0x1d, 0x98, 0x00, 0x78, 0x00, 0x28, 0xfb, 0xd0, 0xa4, 0xf6, + 0x24, 0x40, 0x07, 0x88, 0xa4, 0xf6, 0x26, 0x40, 0xb0, 0xf8, 0x00, 0x80, 0xa4, 0xf6, 0x2a, + 0x40, 0xb0, 0xf8, 0x00, 0xa0, 0x47, 0x45, 0xa4, 0xf6, 0x28, 0x40, 0xb0, 0xf8, 0x00, 0x90, + 0xb4, 0xbf, 0x40, 0x46, 0x38, 0x1c, 0xca, 0x45, 0xb4, 0xbf, 0x49, 0x46, 0x51, 0x46, 0x88, + 0x42, 0xb8, 0xbf, 0x08, 0x1c, 0x14, 0x99, 0x69, 0x5a, 0x81, 0x42, 0x0f, 0xdb, 0x15, 0x99, + 0x69, 0x5a, 0x81, 0x42, 0x46, 0xdc, 0x95, 0xf8, 0xd5, 0x00, 0x16, 0x99, 0x00, 0xf0, 0x0f, + 0x00, 0x09, 0xe0, 0x16, 0x01, 0x00, 0x20, 0x00, 0x05, 0x02, 0x42, 0x40, 0x24, 0x00, 0x40, + 0x95, 0xf8, 0xd5, 0x00, 0x00, 0x11, 0x17, 0x99, 0x6e, 0x5a, 0x00, 0x2e, 0x84, 0xf8, 0x9f, + 0x05, 0x31, 0xd0, 0xa4, 0xf6, 0x36, 0x40, 0x09, 0x9f, 0x07, 0x80, 0xa4, 0xf6, 0x34, 0x40, + 0x07, 0x80, 0xdd, 0xf8, 0x28, 0x80, 0x40, 0x46, 0x01, 0xf0, 0x03, 0xfb, 0xa4, 0xf6, 0x42, + 0x40, 0x80, 0xf8, 0x00, 0x80, 0x38, 0x46, 0x01, 0xf0, 0xfc, 0xfa, 0x1d, 0x98, 0x00, 0x78, + 0x00, 0x28, 0xfb, 0xd0, + + 0x01, 0x05, 0xff, 0xff, 0x94, 0x51, 0x19, 0x00, 0xfa, 0xa4, 0xf6, 0x24, 0x40, 0x00, 0x88, + 0x70, 0x43, 0x00, 0x12, 0x87, 0xb2, 0xa4, 0xf6, 0x26, 0x40, 0x00, 0x88, 0x70, 0x43, 0x00, + 0x12, 0x1f, 0xfa, 0x80, 0xf8, 0xa4, 0xf6, 0x2a, 0x40, 0x00, 0x88, 0x70, 0x43, 0x00, 0x12, + 0x1f, 0xfa, 0x80, 0xfa, 0xa4, 0xf6, 0x28, 0x40, 0x00, 0x88, 0x46, 0x43, 0x30, 0x12, 0x1f, + 0xfa, 0x80, 0xf9, 0x19, 0x98, 0x86, 0xb2, 0x70, 0x00, 0x3b, 0xf8, 0x00, 0x10, 0xb9, 0x42, + 0xb8, 0xbf, 0x2b, 0xf8, 0x00, 0x70, 0x0b, 0xeb, 0x46, 0x00, 0x80, 0x1c, 0x01, 0x88, 0x41, + 0x45, 0xb8, 0xbf, 0xa0, 0xf8, 0x00, 0x80, 0x41, 0x88, 0x51, 0x45, 0xb8, 0xbf, 0xa0, 0xf8, + 0x02, 0xa0, 0x81, 0x88, 0x49, 0x45, 0xb8, 0xbf, 0xa0, 0xf8, 0x04, 0x90, 0x09, 0x98, 0x84, + 0xf8, 0x9f, 0x05, 0x0a, 0x98, 0x84, 0xf8, 0xdb, 0x07, 0x1e, 0x98, 0x01, 0x88, 0x0e, 0x98, + 0x28, 0x5a, 0xb1, 0xeb, 0xc0, 0x0f, 0x32, 0xdc, 0x19, 0x99, 0x09, 0x1d, 0x19, 0x91, 0x1b, + 0x99, 0x49, 0x1e, 0x1b, 0x91, 0x7f, 0xf4, 0x08, 0xaf, 0x07, 0x99, 0x89, 0x1c, 0x07, 0x91, + 0x18, 0x99, 0x89, 0x1c, 0x18, 0x91, 0x10, 0x99, 0x89, 0x1c, 0x10, 0x91, 0x0c, 0x99, 0x49, + 0x1e, 0x0c, 0x91, 0x7f, 0xf4, 0xd3, 0xae, 0x09, 0x98, 0x01, 0xf0, 0x9c, 0xfa, 0x08, 0x99, + 0x49, 0x1c, 0x08, 0x91, 0x0d, 0x99, 0x49, 0x1e, 0x0d, 0x91, 0x7f, 0xf4, 0xb2, 0xae, 0x1c, + 0x98, 0x00, 0x78, 0x41, 0x28, 0x0d, 0xd0, 0x38, 0x46, 0x0b, 0x9a, 0xff, 0xf7, 0xe3, 0xfc, + 0x90, 0x55, 0x40, 0x46, 0xff, 0xf7, 0xdf, 0xfc, 0xb6, 0x18, 0x70, 0x70, 0x50, 0x46, 0xff, + 0xf7, 0xda, 0xfc, 0xb0, 0x70, 0x1f, 0xb0, 0xbd, 0xe8, 0xf0, 0x8f, 0x10, 0xb5, 0xad, 0xf1, + 0x78, 0x0d, 0x58, 0x4c, + + 0x01, 0x05, 0xff, 0xff, 0x8e, 0x52, 0x19, 0x00, 0xfa, 0x4f, 0xf0, 0x00, 0x00, 0x84, 0xf8, + 0x57, 0x00, 0x57, 0x48, 0x00, 0x78, 0x58, 0xb9, 0x01, 0x20, 0x56, 0x49, 0x08, 0x70, 0x14, + 0xab, 0x0a, 0xaa, 0x69, 0x46, 0x03, 0x20, 0xff, 0xf7, 0xd1, 0xfc, 0xff, 0x20, 0x84, 0xf8, + 0x57, 0x00, 0x1e, 0xb0, 0x10, 0xbd, 0x4f, 0x48, 0x01, 0x78, 0x02, 0x29, 0x03, 0xd1, 0x00, + 0x21, 0x4e, 0x4a, 0x11, 0x70, 0x01, 0x70, 0x4d, 0x49, 0x10, 0x20, 0x08, 0x80, 0x70, 0x47, + 0xf0, 0xb5, 0x4c, 0x4a, 0x11, 0x88, 0x53, 0x88, 0x8b, 0x42, 0xd8, 0xbf, 0x19, 0x1c, 0x54, + 0x88, 0x93, 0x88, 0xa2, 0xf8, 0xa0, 0x10, 0xa3, 0x42, 0xb4, 0xbf, 0x26, 0x1c, 0x1e, 0x1c, + 0x11, 0x46, 0x0d, 0x88, 0xae, 0x42, 0x05, 0xdc, 0xa3, 0x42, 0xa8, 0xbf, 0xa1, 0xf8, 0xa2, + 0x30, 0x25, 0x46, 0x01, 0xda, 0xa2, 0xf8, 0xa2, 0x50, 0x4c, 0x27, 0xa4, 0x32, 0xce, 0x88, + 0x8d, 0x88, 0x0b, 0x88, 0x4c, 0x88, 0xae, 0x42, 0xb4, 0xbf, 0xac, 0x46, 0xb4, 0x46, 0x9c, + 0x42, 0xb4, 0xbf, 0x9e, 0x46, 0xa6, 0x46, 0xf4, 0x45, 0x04, 0xdc, 0xae, 0x42, 0xa8, 0xbf, + 0x35, 0x1c, 0x2c, 0x46, 0x01, 0xe0, 0x9c, 0x42, 0x00, 0xdb, 0x23, 0x46, 0x13, 0x80, 0x7f, + 0x1e, 0x01, 0xf1, 0x02, 0x01, 0x02, 0xf1, 0x02, 0x02, 0xe2, 0xd1, 0x08, 0x88, 0x4b, 0x88, + 0x83, 0x42, 0xb4, 0xbf, 0x04, 0x1c, 0x1c, 0x1c, 0x89, 0x88, 0xa1, 0x42, 0x03, 0xdd, 0x83, + 0x42, 0xa8, 0xbf, 0x18, 0x1c, 0x01, 0x46, 0x11, 0x80, 0xf0, 0xbd, 0x2d, 0xe9, 0xf0, 0x41, + 0xad, 0xf1, 0xa0, 0x0d, 0x27, 0x4d, 0x22, 0x4c, 0x02, 0x20, 0xa9, 0x89, 0x20, 0x70, 0x4f, + 0xf6, 0xff, 0x76, 0x48, 0xb2, 0x00, 0x28, 0x0a, 0xdc, 0x00, 0x02, 0x40, 0x42, 0x80, 0xb2, + 0x01, 0xf0, 0x97, 0xfa, + + 0x01, 0x05, 0xff, 0xff, 0x88, 0x53, 0x19, 0x00, 0xfa, 0x42, 0xf6, 0x5d, 0x71, 0x41, 0x43, + 0x09, 0x0c, 0x0e, 0x46, 0xa9, 0x89, 0x16, 0x4a, 0x00, 0x23, 0x0d, 0xf1, 0x04, 0x0c, 0x6f, + 0xf0, 0x00, 0x07, 0xee, 0x46, 0x6f, 0xf0, 0xff, 0x38, 0x13, 0x25, 0x08, 0x32, 0x6d, 0x1e, + 0x03, 0xf1, 0x04, 0x03, 0x4c, 0xf8, 0x08, 0x7b, 0x42, 0xf8, 0x04, 0x8b, 0x4e, 0xf8, 0x08, + 0x7b, 0xf5, 0xd1, 0x4f, 0xf6, 0xff, 0x77, 0x0d, 0xeb, 0x43, 0x0c, 0x00, 0x25, 0x03, 0x23, + 0x5b, 0x1e, 0x02, 0xf8, 0x01, 0x5b, 0x2c, 0xf8, 0x02, 0x7b, 0xf9, 0xd1, 0x48, 0x0a, 0x06, + 0xd3, 0x68, 0x46, 0xff, 0xf7, 0x78, 0xff, 0x31, 0x46, 0x68, 0x46, 0x01, 0xf0, 0x3f, 0xfe, + 0x28, 0xb0, 0x25, 0x70, 0xbd, 0xe8, 0xf0, 0x81, 0x30, 0x00, 0x00, 0x20, 0xde, 0x08, 0x00, + 0x20, 0x24, 0x09, 0x00, 0x20, 0x87, 0x00, 0x00, 0x20, 0x1e, 0x24, 0x00, 0x40, 0x40, 0x04, + 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0xb5, 0x0a, 0x20, 0x01, 0xf0, 0xd6, 0xf9, 0x80, + 0x08, 0x05, 0xd3, 0x02, 0x20, 0x01, 0xf0, 0xb3, 0xf9, 0x02, 0x49, 0x01, 0x20, 0x08, 0x70, + 0x00, 0xbd, 0xc0, 0x46, 0x24, 0x20, 0x00, 0x42, 0x2d, 0xe9, 0xf0, 0x4f, 0xad, 0xf1, 0x38, + 0x0d, 0xa0, 0x49, 0x00, 0x90, 0xa1, 0x4a, 0x01, 0x91, 0x9f, 0x49, 0x01, 0x27, 0x02, 0x91, + 0x0f, 0x70, 0x13, 0x78, 0x00, 0x21, 0x51, 0x2b, 0x08, 0xbf, 0x39, 0x1c, 0x03, 0x91, 0x9c, + 0x4c, 0x9d, 0x4e, 0xdf, 0xf8, 0x80, 0x82, 0x31, 0xbb, 0x00, 0x98, 0x68, 0xb1, 0x40, 0x46, + 0x24, 0x30, 0x00, 0x88, 0x40, 0x08, 0x39, 0xbf, 0x94, 0xf8, 0x5e, 0x10, 0x20, 0x1c, 0x20, + 0x1c, 0x90, 0xf8, 0x60, 0x10, 0x90, 0xf8, 0x3a, 0x00, 0x03, 0xe0, 0x94, 0xf8, 0x38, 0x00, + 0x94, 0xf8, 0x64, 0x10, + + 0x01, 0x05, 0xff, 0xff, 0x82, 0x54, 0x19, 0x00, 0xfa, 0x09, 0x18, 0xc8, 0x00, 0x30, 0x80, + 0x30, 0x46, 0xc0, 0x1f, 0x07, 0x70, 0x30, 0x88, 0xb1, 0x88, 0x00, 0x1f, 0x88, 0x42, 0x04, + 0xda, 0x11, 0x78, 0x21, 0x20, 0xff, 0x22, 0x01, 0xf0, 0xb9, 0xf9, 0x08, 0x20, 0x01, 0xf0, + 0x97, 0xf9, 0x88, 0x4b, 0x89, 0x49, 0x1d, 0x88, 0x04, 0x91, 0x05, 0x96, 0xa6, 0xf1, 0x34, + 0x06, 0x05, 0x96, 0x00, 0x9a, 0x86, 0x49, 0x4f, 0xf0, 0x00, 0x06, 0x62, 0xb9, 0x06, 0x96, + 0x0a, 0x46, 0x07, 0x92, 0x31, 0x46, 0x82, 0xf8, 0x0f, 0x17, 0x05, 0x9a, 0xa2, 0xf8, 0x64, + 0x70, 0x05, 0xf0, 0x03, 0x06, 0x2a, 0x46, 0x0f, 0xe0, 0x07, 0x91, 0x81, 0xf8, 0x0f, 0x77, + 0x4f, 0xf4, 0x80, 0x71, 0x05, 0x9a, 0xa2, 0xf8, 0x64, 0x10, 0x9a, 0x8b, 0x4f, 0xea, 0xe2, + 0x31, 0x4f, 0xf0, 0x00, 0x06, 0x06, 0x96, 0x4f, 0xf0, 0x03, 0x06, 0x8e, 0x46, 0x4f, 0xea, + 0xe2, 0x01, 0x4f, 0xea, 0xe2, 0x12, 0x02, 0xf0, 0x7f, 0x02, 0x08, 0x96, 0x94, 0x46, 0x08, + 0x9a, 0x01, 0xf0, 0x0f, 0x01, 0xdf, 0xf8, 0xa4, 0x92, 0x05, 0xf0, 0x04, 0x0a, 0xa6, 0x4e, + 0xba, 0xb1, 0x52, 0x1e, 0x04, 0xd0, 0x52, 0x1e, 0x01, 0x2a, 0x4a, 0x46, 0x23, 0xd9, 0x25, + 0xe0, 0xea, 0x08, 0x0a, 0xd3, 0x1a, 0x8a, 0x12, 0x11, 0x02, 0xf0, 0x0f, 0x02, 0x8a, 0x42, + 0x03, 0xdd, 0x89, 0x1a, 0x0f, 0x31, 0xc9, 0xb2, 0x00, 0xe0, 0x0f, 0x21, 0x94, 0xf9, 0xc9, + 0x30, 0x42, 0x46, 0x13, 0xe0, 0xba, 0xf1, 0x00, 0x0f, 0x09, 0xd0, 0x1a, 0x8a, 0x02, 0xf0, + 0x0f, 0x02, 0x8a, 0x42, 0x03, 0xdd, 0x89, 0x1a, 0x0f, 0x31, 0xc9, 0xb2, 0x00, 0xe0, 0x0f, + 0x21, 0x4a, 0x46, 0x94, 0xf9, 0xc8, 0x30, 0x10, 0x32, 0x01, 0xe0, 0x94, 0xf9, 0xc7, 0x30, + 0x55, 0x56, 0xdd, 0xf8, + + 0x01, 0x05, 0xff, 0xff, 0x7c, 0x55, 0x19, 0x00, 0xfa, 0x00, 0x80, 0x94, 0xf8, 0xc6, 0x20, + 0xb8, 0xf1, 0x00, 0x0f, 0x02, 0xd1, 0xab, 0x42, 0xb8, 0xbf, 0x12, 0x11, 0x02, 0xf0, 0x01, + 0x0b, 0x92, 0x08, 0x2c, 0xbf, 0xc0, 0x22, 0x60, 0x22, 0x09, 0x92, 0x08, 0x9a, 0x04, 0xeb, + 0x41, 0x00, 0x02, 0xb3, 0x52, 0x1e, 0x19, 0xd0, 0x52, 0x1e, 0x01, 0x2a, 0x2b, 0xd8, 0x04, + 0xeb, 0x41, 0x00, 0xb0, 0xf8, 0xd4, 0x01, 0xbb, 0xf1, 0x00, 0x0f, 0x4f, 0xf4, 0x00, 0x71, + 0x09, 0xd0, 0x40, 0xf2, 0x55, 0x42, 0x02, 0xfb, 0x00, 0x10, 0x80, 0x12, 0x41, 0x0a, 0x14, + 0xbf, 0x40, 0xf2, 0xff, 0x10, 0x80, 0xb2, 0x07, 0x99, 0xa1, 0xf8, 0x41, 0x07, 0x14, 0xe0, + 0x04, 0xeb, 0x41, 0x00, 0xb0, 0xf8, 0x14, 0x22, 0x01, 0xe0, 0xb0, 0xf8, 0xf4, 0x21, 0x4f, + 0xf4, 0x00, 0x71, 0x07, 0x98, 0x40, 0xf2, 0xd5, 0x23, 0x03, 0xfb, 0x02, 0x11, 0x00, 0xf2, + 0x41, 0x70, 0x4f, 0xea, 0xa1, 0x21, 0x01, 0x80, 0x20, 0xf8, 0x02, 0x2c, 0x6e, 0x48, 0x96, + 0xf8, 0x03, 0x17, 0x01, 0x73, 0x0a, 0x90, 0x03, 0x98, 0x38, 0xb9, 0x94, 0xf9, 0x67, 0x00, + 0xa8, 0x42, 0xa4, 0xbf, 0x94, 0xf8, 0x66, 0x00, 0x86, 0xf8, 0x03, 0x07, 0x0a, 0x98, 0xc0, + 0x7c, 0x38, 0xb9, 0x06, 0x98, 0xb4, 0xf9, 0x86, 0x10, 0xa9, 0x42, 0xa8, 0xbf, 0x38, 0x1c, + 0x0a, 0x99, 0x88, 0x74, 0x0a, 0x98, 0x01, 0x99, 0x41, 0xf6, 0x11, 0x75, 0x80, 0x7c, 0xaa, + 0x46, 0xbb, 0xf1, 0x00, 0x0f, 0x81, 0xf8, 0xa4, 0x00, 0x0a, 0x98, 0x05, 0xeb, 0x06, 0x01, + 0x80, 0x7c, 0x20, 0x44, 0x90, 0xf8, 0xa4, 0x20, 0x08, 0x88, 0x20, 0xf4, 0x70, 0x60, 0x40, + 0xea, 0x02, 0x20, 0x2a, 0xf8, 0x06, 0x00, 0x37, 0xd1, 0x94, 0xf8, 0x35, 0x20, 0x31, 0xf8, + 0x0a, 0x0c, 0x62, 0xf3, + + 0x01, 0x05, 0xff, 0xff, 0x76, 0x56, 0x19, 0x00, 0xfa, 0x1f, 0x30, 0x21, 0xf8, 0x0a, 0x0c, + 0x08, 0x98, 0x80, 0x08, 0x0e, 0xd3, 0x50, 0x48, 0x00, 0x78, 0x02, 0x28, 0x18, 0xbf, 0x04, + 0x28, 0x08, 0xd1, 0x50, 0x46, 0xa0, 0xf1, 0x04, 0x00, 0x81, 0x5b, 0x6f, 0xf3, 0x1f, 0x31, + 0x41, 0xf4, 0x00, 0x51, 0x09, 0xe0, 0x94, 0xf8, 0x33, 0x00, 0x62, 0x8b, 0x12, 0x18, 0x50, + 0x46, 0xa0, 0xf1, 0x04, 0x00, 0x81, 0x5b, 0x62, 0xf3, 0x1f, 0x31, 0x81, 0x53, 0x21, 0xe0, + 0x80, 0x1d, 0x04, 0x42, 0x10, 0x01, 0x04, 0x42, 0x1c, 0x09, 0x00, 0x20, 0x00, 0x02, 0x00, + 0x20, 0x3c, 0x24, 0x00, 0x40, 0x00, 0x00, 0x00, 0x20, 0x0a, 0x03, 0x00, 0x20, 0xf1, 0x10, + 0x00, 0x40, 0x38, 0x01, 0x00, 0x20, 0x28, 0x46, 0xa0, 0xf1, 0x0a, 0x00, 0x82, 0x19, 0x94, + 0xf8, 0x34, 0x30, 0x11, 0x88, 0x63, 0xf3, 0x1f, 0x31, 0x81, 0x53, 0x94, 0xf8, 0x32, 0x10, + 0xd0, 0x88, 0x61, 0xf3, 0x1f, 0x30, 0xd0, 0x80, 0x04, 0x98, 0x00, 0x88, 0x80, 0x08, 0x24, + 0xbf, 0xa1, 0x48, 0x07, 0x70, 0x08, 0x98, 0x05, 0x99, 0xdf, 0xf8, 0x80, 0x82, 0x4f, 0xea, + 0x00, 0x10, 0x40, 0xf0, 0x01, 0x00, 0xa1, 0xf8, 0x54, 0x00, 0x60, 0x88, 0x50, 0xb9, 0xbc, + 0xf1, 0x28, 0x0f, 0xb9, 0xbf, 0x0c, 0xf2, 0xb1, 0x40, 0x40, 0x00, 0x4f, 0xea, 0x4c, 0x00, + 0x00, 0xf6, 0x13, 0x10, 0x80, 0xb2, 0x0b, 0x90, 0x09, 0x98, 0x0b, 0x99, 0xbe, 0xf1, 0x00, + 0x0f, 0x4f, 0xea, 0x00, 0x60, 0x00, 0xeb, 0x61, 0x00, 0xb0, 0xfb, 0xf1, 0xf0, 0x07, 0x99, + 0x4f, 0xea, 0x80, 0x00, 0xc1, 0xf8, 0x9f, 0x07, 0x18, 0xbf, 0x29, 0x20, 0x04, 0xd1, 0x00, + 0x98, 0x00, 0x28, 0x14, 0xbf, 0x40, 0x20, 0x52, 0x20, 0x09, 0x99, 0x48, 0x43, 0x0b, 0x99, + 0xc0, 0x02, 0x00, 0xeb, + + 0x01, 0x05, 0xff, 0xff, 0x70, 0x57, 0x19, 0x00, 0xfa, 0x61, 0x00, 0x90, 0xfb, 0xf1, 0xf0, + 0x07, 0x99, 0xa1, 0xf8, 0x2b, 0x07, 0xe1, 0x8a, 0x85, 0x48, 0x49, 0x08, 0x21, 0xd2, 0x06, + 0x99, 0x88, 0xf8, 0x00, 0x10, 0x88, 0xf8, 0x10, 0x70, 0x41, 0xf6, 0x43, 0x31, 0x8b, 0x5b, + 0x04, 0x9a, 0x23, 0xf0, 0x07, 0x03, 0x12, 0x88, 0x4f, 0xea, 0x22, 0x12, 0x02, 0xf0, 0x0f, + 0x02, 0x42, 0xea, 0x03, 0x02, 0x8a, 0x53, 0x07, 0x70, 0x40, 0xf2, 0xb6, 0x40, 0x40, 0xf2, + 0xef, 0x29, 0x13, 0xe0, 0xc0, 0x46, 0x01, 0x01, 0x00, 0x40, 0x18, 0x01, 0x00, 0x20, 0xd0, + 0x08, 0x00, 0x20, 0x5a, 0x01, 0x00, 0x20, 0x88, 0xf8, 0x00, 0x70, 0x06, 0x99, 0x88, 0xf8, + 0x10, 0x10, 0x06, 0x99, 0x01, 0x70, 0x40, 0xf2, 0xf2, 0x40, 0x40, 0xf2, 0x6d, 0x29, 0x0c, + 0x90, 0x0a, 0x98, 0x40, 0x7b, 0x60, 0xb1, 0x03, 0x98, 0x50, 0xb9, 0x00, 0x98, 0x00, 0x28, + 0x07, 0xbf, 0x05, 0x98, 0x80, 0xf8, 0x45, 0x70, 0x05, 0x98, 0x80, 0xf8, 0x47, 0x70, 0x00, + 0xf0, 0x85, 0xfe, 0x02, 0x98, 0x80, 0xf8, 0x00, 0xb2, 0x02, 0x98, 0xbb, 0xf1, 0x00, 0x0f, + 0x80, 0xf8, 0xf0, 0x71, 0x14, 0xbf, 0x94, 0xf8, 0x79, 0x10, 0x94, 0xf8, 0x78, 0x10, 0x05, + 0xf1, 0x0a, 0x05, 0xbb, 0xf1, 0x00, 0x0f, 0xa8, 0x5b, 0x20, 0xf4, 0x7c, 0x50, 0x40, 0xea, + 0x01, 0x20, 0xa8, 0x53, 0x14, 0xbf, 0x94, 0xf8, 0x7d, 0x10, 0x94, 0xf8, 0x7c, 0x10, 0x50, + 0x46, 0x00, 0xf1, 0x0c, 0x00, 0x85, 0x19, 0x2a, 0x88, 0x22, 0xf0, 0x7f, 0x02, 0x11, 0x43, + 0x81, 0x53, 0x02, 0x98, 0x80, 0xf8, 0xf4, 0x71, 0x38, 0x46, 0x00, 0xf0, 0x97, 0xff, 0x06, + 0x98, 0x02, 0x99, 0x81, 0xf8, 0xf4, 0x01, 0x38, 0x46, 0x00, 0xf0, 0x90, 0xff, 0x35, 0xf8, + 0x06, 0x0c, 0x20, 0xf0, + + 0x01, 0x05, 0xff, 0xff, 0x6a, 0x58, 0x19, 0x00, 0xfa, 0x08, 0x00, 0x40, 0xf0, 0x04, 0x00, + 0x25, 0xf8, 0x06, 0x0c, 0x07, 0x98, 0x4f, 0xf0, 0xb1, 0x0a, 0x80, 0xf8, 0x28, 0xaf, 0x10, + 0x20, 0x68, 0x80, 0x35, 0xf8, 0x04, 0x0c, 0x20, 0xf4, 0x80, 0x70, 0x40, 0xf4, 0x00, 0x70, + 0x25, 0xf8, 0x04, 0x0c, 0xb5, 0xf8, 0xd2, 0x00, 0x40, 0xf0, 0x70, 0x00, 0xa5, 0xf8, 0xd2, + 0x00, 0x30, 0x88, 0xb7, 0x4d, 0x40, 0xf0, 0x30, 0x00, 0x30, 0x80, 0x05, 0xf8, 0x98, 0x7c, + 0x06, 0x98, 0x0d, 0x90, 0x07, 0x99, 0xc1, 0xf8, 0x6f, 0x0b, 0x2f, 0x70, 0xe0, 0x8a, 0x40, + 0x08, 0x38, 0xbf, 0x2f, 0x72, 0x38, 0x46, 0x00, 0xf0, 0x5f, 0xff, 0x06, 0x98, 0x28, 0x70, + 0xe0, 0x8a, 0x40, 0x08, 0x3c, 0xbf, 0x06, 0x98, 0x28, 0x72, 0x03, 0x98, 0x60, 0xb9, 0xbb, + 0xf1, 0x01, 0x0f, 0x0e, 0xd1, 0x94, 0xf8, 0x84, 0x00, 0x07, 0x99, 0x81, 0xf8, 0x2d, 0x0b, + 0x94, 0xf8, 0x82, 0x00, 0x07, 0x99, 0x81, 0xf8, 0x2b, 0x0b, 0xbb, 0xf1, 0x01, 0x0f, 0x4f, + 0xf0, 0x2e, 0x00, 0x04, 0xd0, 0x08, 0x98, 0x80, 0x08, 0x2c, 0xbf, 0x31, 0x20, 0x50, 0x46, + 0x07, 0x99, 0xbb, 0xf1, 0x00, 0x0f, 0x81, 0xf8, 0x28, 0x0f, 0x02, 0x98, 0x80, 0xf8, 0xf0, + 0xb2, 0x0d, 0x99, 0x03, 0xd0, 0x08, 0x98, 0x80, 0x08, 0x38, 0xbf, 0x39, 0x1c, 0x02, 0x98, + 0x80, 0xf8, 0x20, 0x13, 0x0a, 0x98, 0x4f, 0xf4, 0x7a, 0x71, 0x0c, 0x9b, 0x00, 0x68, 0xb0, + 0xfb, 0xf1, 0xf2, 0x0b, 0x98, 0x58, 0x43, 0x09, 0x9b, 0x41, 0x43, 0xb1, 0xfb, 0xf2, 0xf0, + 0x19, 0x46, 0x03, 0xfb, 0x19, 0x02, 0x08, 0x02, 0xb2, 0xfb, 0xf0, 0xf0, 0x80, 0xb2, 0x03, + 0xfb, 0x00, 0xf1, 0xa2, 0xeb, 0x01, 0x22, 0xe1, 0x8a, 0x92, 0xb2, 0xb2, 0xfb, 0xf3, 0xf2, + 0x49, 0x08, 0x93, 0xb2, + + 0x01, 0x05, 0xff, 0xff, 0x64, 0x59, 0x19, 0x00, 0xfa, 0x18, 0xd3, 0x86, 0xf8, 0x33, 0x27, + 0x09, 0x99, 0xdd, 0xf8, 0x34, 0x90, 0xc0, 0x29, 0x08, 0xbf, 0xb9, 0x46, 0xb9, 0xf1, 0x00, + 0x0f, 0x03, 0xd0, 0x80, 0x2b, 0xa4, 0xbf, 0x40, 0x1c, 0x80, 0xb2, 0x40, 0x1c, 0x86, 0xf8, + 0x07, 0x07, 0x23, 0xe0, 0x40, 0x85, 0x03, 0x42, 0x90, 0x88, 0x03, 0x42, 0x14, 0x07, 0x01, + 0x42, 0x41, 0xf6, 0x43, 0x31, 0x8a, 0x5b, 0x22, 0xf0, 0xe0, 0x02, 0x42, 0xea, 0x40, 0x12, + 0x8a, 0x53, 0x86, 0xf8, 0x33, 0x37, 0x40, 0x1c, 0x86, 0xf8, 0x07, 0x07, 0x07, 0x99, 0xa1, + 0xf6, 0xb9, 0x00, 0x00, 0x88, 0x20, 0xf0, 0x1e, 0x00, 0x40, 0xf0, 0x0c, 0x00, 0xa1, 0xf6, + 0xb9, 0x01, 0x08, 0x80, 0xdd, 0xf8, 0x34, 0x90, 0x09, 0x98, 0xc0, 0x28, 0x08, 0xbf, 0xb9, + 0x46, 0x02, 0x20, 0x00, 0xf0, 0xd5, 0xfe, 0x36, 0xf8, 0x01, 0x0c, 0x40, 0xf4, 0xe0, 0x60, + 0x26, 0xf8, 0x01, 0x0c, 0x05, 0xf8, 0xd8, 0x9c, 0x05, 0xf8, 0xa4, 0x7c, 0x0d, 0x99, 0x0b, + 0x98, 0x00, 0xf0, 0x1d, 0xfa, 0x00, 0x98, 0x38, 0xb1, 0x41, 0xf6, 0x59, 0x30, 0x81, 0x5b, + 0x21, 0xf4, 0x00, 0x61, 0x41, 0xf4, 0x80, 0x61, 0x81, 0x53, 0x04, 0x9a, 0x41, 0xf6, 0x43, + 0x33, 0x98, 0x5b, 0x11, 0x88, 0x20, 0xf4, 0xc0, 0x60, 0x99, 0x46, 0x49, 0x00, 0x01, 0xf4, + 0xc0, 0x61, 0x01, 0x43, 0x48, 0x46, 0x81, 0x53, 0x10, 0x88, 0x00, 0x13, 0x00, 0xf0, 0x01, + 0x00, 0x88, 0xf8, 0x1c, 0x00, 0xb4, 0xf8, 0x88, 0x00, 0x00, 0x28, 0x40, 0xf0, 0xa4, 0x80, + 0x05, 0x20, 0x00, 0xf0, 0xe0, 0xfe, 0x0d, 0x98, 0x04, 0x21, 0x00, 0xf0, 0xd3, 0xf9, 0x98, + 0xf8, 0xd4, 0x03, 0xc0, 0x43, 0x88, 0xf8, 0xd4, 0x03, 0x96, 0xf8, 0x05, 0x11, 0xb6, 0xf8, + 0x05, 0x01, 0x40, 0xf0, + + 0x01, 0x05, 0xff, 0xff, 0x5e, 0x5a, 0x19, 0x00, 0xfa, 0x0f, 0x00, 0xa6, 0xf8, 0x05, 0x01, + 0xb6, 0xf8, 0x05, 0x01, 0x01, 0xf0, 0x0f, 0x01, 0x20, 0xf0, 0x0f, 0x00, 0x01, 0x43, 0xa6, + 0xf8, 0x05, 0x11, 0x07, 0x98, 0x00, 0xf2, 0x87, 0x7a, 0x11, 0x20, 0x8a, 0xf8, 0x00, 0x70, + 0x86, 0xf8, 0xff, 0x06, 0x01, 0x98, 0x80, 0xf8, 0x40, 0x70, 0x07, 0x71, 0x07, 0x70, 0x08, + 0x20, 0x00, 0xf0, 0x95, 0xfe, 0x2a, 0xf8, 0x44, 0x7c, 0x07, 0x20, 0x00, 0xf0, 0x72, 0xfe, + 0x06, 0x98, 0x05, 0xf8, 0xe0, 0x0c, 0x88, 0xf8, 0xbc, 0x73, 0x05, 0x9d, 0x02, 0x20, 0x28, + 0x70, 0x60, 0x8c, 0x00, 0xf0, 0xa6, 0xfe, 0x38, 0x46, 0x05, 0x21, 0x00, 0xf0, 0x99, 0xf9, + 0x0a, 0x20, 0x00, 0xf0, 0x7e, 0xfe, 0x98, 0xf8, 0xd4, 0x03, 0xc0, 0x43, 0x88, 0xf8, 0xd4, + 0x03, 0x03, 0x20, 0x28, 0x70, 0x04, 0x98, 0x4d, 0x46, 0xac, 0x19, 0x00, 0x88, 0x80, 0x08, + 0x05, 0xd2, 0x08, 0x98, 0x02, 0x28, 0x51, 0xda, 0xff, 0xf7, 0x92, 0xfc, 0x4e, 0xe0, 0x20, + 0x88, 0x6f, 0xf3, 0x9f, 0x30, 0xa8, 0x53, 0x38, 0x46, 0x00, 0xf0, 0x46, 0xfe, 0xa8, 0x5b, + 0x6f, 0xf3, 0x9f, 0x30, 0x40, 0xf4, 0x80, 0x40, 0xa8, 0x53, 0x60, 0x88, 0x20, 0xf0, 0x07, + 0x00, 0x40, 0xf0, 0x08, 0x00, 0x60, 0x80, 0x88, 0xf8, 0x20, 0x70, 0x32, 0x20, 0x88, 0xf8, + 0x24, 0x70, 0x00, 0xf0, 0x33, 0xfe, 0x60, 0x88, 0x20, 0xf0, 0x0f, 0x00, 0x40, 0xf0, 0x07, + 0x00, 0x60, 0x80, 0x28, 0x20, 0x00, 0xf0, 0x2a, 0xfe, 0x60, 0x88, 0x20, 0xf0, 0x0f, 0x00, + 0x40, 0xf0, 0x04, 0x00, 0x60, 0x80, 0x32, 0x20, 0x00, 0xf0, 0x60, 0xfe, 0x08, 0x98, 0x02, + 0x28, 0x01, 0xda, 0xff, 0xf7, 0x60, 0xfc, 0x08, 0x20, 0x00, 0xf0, 0x37, 0xfe, 0x29, 0x46, + 0x01, 0xf1, 0x02, 0x01, + + 0x01, 0x05, 0xff, 0xff, 0x58, 0x5b, 0x19, 0x00, 0xfa, 0x8c, 0x19, 0x20, 0x88, 0x20, 0xf0, + 0x0f, 0x00, 0x40, 0xf0, 0x03, 0x00, 0x88, 0x53, 0x08, 0x98, 0x02, 0x28, 0x0d, 0xd1, 0x32, + 0x20, 0x00, 0xf0, 0x09, 0xfe, 0x34, 0xf8, 0x02, 0x1c, 0x06, 0x48, 0x08, 0x43, 0x24, 0xf8, + 0x02, 0x0c, 0x03, 0xe0, 0x04, 0x21, 0x00, 0x42, 0x88, 0xf8, 0xbc, 0x73, 0x0e, 0xb0, 0xbd, + 0xe8, 0xf0, 0x8f, 0xc0, 0x46, 0x00, 0xc0, 0xff, 0xff, 0x2d, 0xe9, 0xf0, 0x4f, 0x17, 0x46, + 0x81, 0x46, 0x0e, 0x46, 0x9c, 0x4a, 0x6f, 0xf4, 0x4f, 0x70, 0x9b, 0x49, 0x10, 0x5a, 0x4f, + 0xea, 0x00, 0x2b, 0x08, 0x46, 0x14, 0x30, 0x10, 0x5a, 0x45, 0x02, 0x6f, 0xf4, 0x50, 0x70, + 0x10, 0x5a, 0x00, 0x04, 0x51, 0x5a, 0xcc, 0x02, 0x00, 0xf0, 0xf1, 0xfe, 0x80, 0x46, 0x28, + 0x46, 0x00, 0xf0, 0xed, 0xfe, 0x82, 0x46, 0x20, 0x46, 0x00, 0xf0, 0xe9, 0xfe, 0x05, 0x46, + 0x90, 0x48, 0x00, 0x78, 0x00, 0x28, 0x0c, 0xbf, 0x61, 0x24, 0x91, 0x24, 0xb9, 0xf1, 0x01, + 0x0f, 0x44, 0x44, 0xa4, 0xeb, 0x0a, 0x04, 0x10, 0xd0, 0x58, 0x46, 0x00, 0xf0, 0xd9, 0xfe, + 0x28, 0x1a, 0xb6, 0x30, 0x04, 0xd4, 0xb0, 0xf5, 0x80, 0x7f, 0xa8, 0xbf, 0xff, 0x20, 0x00, + 0xe0, 0x00, 0x20, 0x30, 0x70, 0x84, 0x48, 0x00, 0x88, 0x02, 0x28, 0x00, 0xd1, 0x2c, 0x19, + 0x00, 0x2c, 0x04, 0xd4, 0xb4, 0xf5, 0x80, 0x7f, 0xa8, 0xbf, 0xff, 0x24, 0x00, 0xe0, 0x00, + 0x24, 0x3c, 0x70, 0xbd, 0xe8, 0xf0, 0x8f, 0x7e, 0x49, 0x7d, 0x48, 0x09, 0x68, 0x01, 0x60, + 0x7d, 0x49, 0x03, 0x68, 0x0a, 0x88, 0x7d, 0x49, 0xb3, 0xeb, 0x82, 0x2f, 0x14, 0xd9, 0xb3, + 0xeb, 0xc2, 0x2f, 0x08, 0xd9, 0x02, 0x68, 0x92, 0x08, 0x02, 0x60, 0x08, 0x88, 0x20, 0xf0, + 0x04, 0x00, 0x40, 0xf0, + + 0x01, 0x05, 0xff, 0xff, 0x52, 0x5c, 0x19, 0x00, 0xfa, 0x08, 0x00, 0x0b, 0xe0, 0x02, 0x68, + 0x52, 0x08, 0x02, 0x60, 0x08, 0x88, 0x20, 0xf0, 0x08, 0x00, 0x40, 0xf0, 0x04, 0x00, 0x02, + 0xe0, 0x08, 0x88, 0x40, 0xf0, 0x0c, 0x00, 0x08, 0x80, 0x70, 0x47, 0x6c, 0x48, 0x01, 0x89, + 0x00, 0x29, 0x0c, 0xbf, 0x00, 0x68, 0x40, 0x68, 0x99, 0x49, 0xb0, 0xfb, 0xf1, 0xf0, 0x00, + 0x1d, 0xc1, 0x08, 0x64, 0x48, 0x20, 0x38, 0x01, 0x70, 0x70, 0x47, 0x10, 0xb5, 0xb0, 0xf9, + 0x00, 0x20, 0x47, 0xf6, 0xff, 0x73, 0x93, 0x42, 0x08, 0xd0, 0x4f, 0xf4, 0x2a, 0x53, 0x4b, + 0x43, 0x55, 0x24, 0x04, 0xfb, 0x12, 0x31, 0x02, 0xeb, 0xe1, 0x12, 0x00, 0xe0, 0xca, 0x01, + 0x02, 0x80, 0x10, 0xbd, 0x03, 0x78, 0x4f, 0xf0, 0x56, 0x02, 0x2b, 0xb1, 0x5a, 0x43, 0xaa, + 0x23, 0x03, 0xfb, 0x01, 0x21, 0x80, 0x31, 0x09, 0x12, 0x01, 0x70, 0x70, 0x47, 0x2d, 0xe9, + 0xf0, 0x41, 0xdf, 0xf8, 0xdc, 0xc2, 0x01, 0x28, 0x14, 0x46, 0x88, 0x46, 0x50, 0x4f, 0xb3, + 0x4e, 0x19, 0x46, 0x34, 0xd0, 0x60, 0x46, 0x80, 0x1d, 0x00, 0x88, 0x40, 0x10, 0x10, 0xf0, + 0x07, 0x0f, 0x00, 0xf0, 0x07, 0x05, 0x06, 0xd1, 0x86, 0xf8, 0x58, 0x10, 0x86, 0xf8, 0x60, + 0x80, 0x86, 0xf8, 0x68, 0x40, 0x16, 0xe0, 0x07, 0xeb, 0x45, 0x07, 0x07, 0xf1, 0x14, 0x00, + 0xff, 0xf7, 0xc0, 0xff, 0xb7, 0xf9, 0x14, 0x00, 0xad, 0x19, 0x40, 0x30, 0x41, 0x46, 0xc0, + 0x11, 0x85, 0xf8, 0x58, 0x00, 0x05, 0xf1, 0x60, 0x00, 0xff, 0xf7, 0xc7, 0xff, 0x21, 0x46, + 0x05, 0xf1, 0x68, 0x00, 0xff, 0xf7, 0xc2, 0xff, 0x3c, 0x48, 0x57, 0x30, 0x00, 0x78, 0x80, + 0x08, 0x28, 0xd3, 0x60, 0x46, 0x40, 0x88, 0x80, 0x11, 0x00, 0xf0, 0x7f, 0x00, 0x36, 0x18, + 0x34, 0x72, 0xbd, 0xe8, + + 0x01, 0x05, 0xff, 0xff, 0x4c, 0x5d, 0x19, 0x00, 0xfa, 0xf0, 0x81, 0x60, 0x46, 0x22, 0x30, + 0x00, 0x88, 0x45, 0x10, 0x05, 0xf0, 0x07, 0x05, 0x06, 0x2d, 0x12, 0xda, 0x07, 0xeb, 0x45, + 0x07, 0x07, 0xf1, 0x24, 0x00, 0xff, 0xf7, 0x93, 0xff, 0xb7, 0xf9, 0x24, 0x10, 0x70, 0x19, + 0x40, 0x31, 0xc9, 0x11, 0x80, 0xf8, 0x70, 0x10, 0x7e, 0x30, 0x21, 0x46, 0xff, 0xf7, 0x9b, + 0xff, 0xbd, 0xe8, 0xf0, 0x81, 0x76, 0x19, 0x86, 0xf8, 0x70, 0x10, 0x86, 0xf8, 0x7e, 0x40, + 0xbd, 0xe8, 0xf0, 0x81, 0x97, 0x49, 0x0b, 0x46, 0x67, 0x3b, 0xb3, 0xf9, 0x1d, 0x00, 0x1a, + 0x78, 0x40, 0x01, 0x12, 0x02, 0x00, 0xb2, 0x12, 0xb2, 0x93, 0xf8, 0x20, 0x30, 0xd2, 0x10, + 0x80, 0x1a, 0xc9, 0x5c, 0x09, 0x02, 0x09, 0xb2, 0x49, 0x10, 0x40, 0x1a, 0x80, 0x30, 0xc1, + 0x11, 0x00, 0xeb, 0x11, 0x60, 0x00, 0x12, 0x0d, 0x30, 0x00, 0xb2, 0x10, 0xf1, 0x80, 0x0f, + 0xb8, 0xbf, 0x6f, 0xf0, 0x7f, 0x00, 0x40, 0xb2, 0x70, 0x47, 0x12, 0x49, 0x09, 0x68, 0xb0, + 0xfb, 0xf1, 0xf2, 0x02, 0xfb, 0x11, 0x00, 0x80, 0x01, 0x89, 0x0a, 0xb0, 0xfb, 0xf1, 0xf0, + 0x00, 0xeb, 0x02, 0x40, 0x00, 0x02, 0x70, 0x47, 0x4a, 0x00, 0xa1, 0x49, 0x01, 0xeb, 0xc0, + 0x01, 0xa0, 0x48, 0x83, 0x5a, 0x0b, 0x80, 0x03, 0x46, 0x10, 0x33, 0x20, 0x30, 0x9b, 0x5a, + 0x4b, 0x80, 0x80, 0x5a, 0x88, 0x80, 0x70, 0x47, 0xc0, 0x46, 0x59, 0x14, 0x00, 0x40, 0xad, + 0xfc, 0xff, 0xff, 0xc0, 0x22, 0x02, 0x42, 0x58, 0x24, 0x00, 0x40, 0xd0, 0x08, 0x00, 0x20, + 0xc0, 0x00, 0x00, 0x20, 0x6c, 0x02, 0x00, 0x20, 0xf2, 0x20, 0x00, 0x40, 0x2d, 0xe9, 0xf0, + 0x43, 0x88, 0x46, 0xb8, 0xf1, 0x00, 0x0f, 0x07, 0x46, 0x14, 0xbf, 0x01, 0x20, 0x02, 0x20, + 0x8d, 0x49, 0xaf, 0x4d, + + 0x01, 0x05, 0xff, 0xff, 0x46, 0x5e, 0x19, 0x00, 0xfa, 0xb8, 0xf1, 0x00, 0x0f, 0xa1, 0xf1, + 0xb0, 0x01, 0x09, 0x88, 0x8b, 0x4b, 0x21, 0xf0, 0x03, 0x01, 0x40, 0xea, 0x01, 0x00, 0xa5, + 0xf2, 0xc4, 0x41, 0x08, 0x80, 0x10, 0xd0, 0x28, 0x88, 0x40, 0xf0, 0x70, 0x00, 0x28, 0x80, + 0x01, 0x21, 0x18, 0x46, 0xd4, 0x38, 0x01, 0x70, 0x01, 0x71, 0x80, 0xf8, 0x3c, 0x10, 0x00, + 0x22, 0xa5, 0xf5, 0x92, 0x64, 0x22, 0x60, 0x80, 0xf8, 0xd4, 0x10, 0x17, 0x48, 0xb8, 0xf1, + 0x00, 0x0f, 0xa9, 0x4c, 0x00, 0xfb, 0x07, 0xf0, 0x07, 0xd0, 0xfa, 0x22, 0x21, 0x46, 0x89, + 0x1d, 0xb1, 0xf9, 0x00, 0x10, 0x01, 0xfb, 0x02, 0xf1, 0x40, 0x1a, 0xff, 0xf7, 0x97, 0xff, + 0xa5, 0xf2, 0x9c, 0x41, 0x08, 0x60, 0x00, 0x26, 0x1e, 0x70, 0xe0, 0x8a, 0x40, 0x08, 0x03, + 0xd2, 0xb8, 0xf1, 0x00, 0x0f, 0x08, 0xbf, 0x1e, 0x72, 0xff, 0x20, 0xa5, 0xf2, 0x8c, 0x41, + 0x08, 0x70, 0x9b, 0x48, 0xb8, 0xf1, 0x00, 0x0f, 0x01, 0x78, 0x0b, 0xd1, 0xaf, 0x48, 0x00, + 0x78, 0x80, 0x00, 0x00, 0xeb, 0x41, 0x00, 0x20, 0x18, 0xb0, 0xf8, 0xa6, 0x20, 0x04, 0xe0, + 0xc0, 0x46, 0x40, 0x42, 0x0f, 0x00, 0xb4, 0xf8, 0xaa, 0x20, 0x48, 0x00, 0x07, 0xfb, 0x02, + 0xf1, 0xa5, 0xf2, 0xdc, 0x42, 0x00, 0x19, 0x09, 0x0c, 0x11, 0x80, 0xb0, 0xf8, 0xb6, 0x10, + 0xb0, 0xf8, 0xb2, 0x30, 0xa7, 0xf6, 0x62, 0x12, 0x49, 0x02, 0x03, 0xfb, 0x12, 0x11, 0x09, + 0x14, 0xa5, 0xf2, 0xe4, 0x42, 0x11, 0x80, 0xa5, 0xf5, 0x9c, 0x61, 0xb0, 0xf8, 0xae, 0x00, + 0x37, 0x46, 0x4f, 0xf0, 0x08, 0x09, 0x08, 0x80, 0xa5, 0xf2, 0x8c, 0x40, 0x06, 0x70, 0xf9, + 0xb2, 0xf8, 0xb2, 0xff, 0xf7, 0x5e, 0xff, 0x17, 0xb1, 0x48, 0x46, 0x00, 0xf0, 0x4d, 0xfc, + 0xa5, 0xf5, 0x92, 0x60, + + 0x01, 0x05, 0xff, 0xff, 0x40, 0x5f, 0x19, 0x00, 0xfa, 0x00, 0x88, 0x49, 0xfa, 0x07, 0xf1, + 0x20, 0xf0, 0x0f, 0x00, 0x01, 0x43, 0xa5, 0xf5, 0x92, 0x60, 0x01, 0x80, 0x05, 0x20, 0x00, + 0xf0, 0x55, 0xfc, 0x7f, 0x1c, 0x04, 0x2f, 0xe6, 0xdb, 0xa5, 0xf2, 0x8e, 0x40, 0x00, 0x88, + 0xa5, 0xf2, 0x8e, 0x41, 0x40, 0xf0, 0x70, 0x00, 0x08, 0x80, 0xa5, 0xf2, 0x8e, 0x40, 0x00, + 0x88, 0xa5, 0xf2, 0x8e, 0x41, 0x20, 0xf4, 0x80, 0x70, 0x40, 0xf0, 0x80, 0x00, 0x08, 0x80, + 0x48, 0x46, 0x00, 0xf0, 0x27, 0xfc, 0x82, 0x48, 0xb8, 0xf1, 0x00, 0x0f, 0x05, 0xd0, 0x94, + 0xf8, 0xc0, 0x10, 0x49, 0x09, 0x07, 0xd2, 0x04, 0x46, 0x04, 0xe0, 0x04, 0x46, 0x01, 0x20, + 0x20, 0x70, 0x00, 0xf0, 0xef, 0xfb, 0x26, 0x70, 0xbd, 0xe8, 0xf0, 0x83, 0x30, 0x00, 0x00, + 0x20, 0x00, 0x00, 0x00, 0x20, 0x10, 0xb5, 0x5e, 0x4a, 0xfa, 0x23, 0x92, 0x1d, 0xb2, 0xf9, + 0x00, 0x20, 0x02, 0xfb, 0x03, 0xf2, 0x80, 0x1a, 0xf0, 0x30, 0x4f, 0xf4, 0xf0, 0x72, 0xb0, + 0xfb, 0xf2, 0xf3, 0x71, 0x4a, 0x01, 0xeb, 0x53, 0x00, 0xb0, 0xfb, 0xf3, 0xf0, 0x8c, 0x1a, + 0x43, 0x43, 0x9c, 0x42, 0x4f, 0xf0, 0x00, 0x00, 0x03, 0xd8, 0x52, 0x18, 0x9a, 0x42, 0x28, + 0xbf, 0x01, 0x20, 0x10, 0xbd, 0x00, 0x12, 0x00, 0x40, 0x30, 0xb5, 0x02, 0x46, 0x6c, 0x48, + 0x69, 0x4d, 0x67, 0x49, 0x03, 0x68, 0x18, 0x0d, 0x0c, 0x28, 0x4f, 0xea, 0x13, 0x54, 0x05, + 0xd0, 0x18, 0x28, 0x03, 0xd0, 0x31, 0x28, 0x18, 0xbf, 0x00, 0x20, 0x05, 0xd1, 0x91, 0x42, + 0x3a, 0xbf, 0x28, 0x1c, 0x80, 0x1c, 0x28, 0x1c, 0x00, 0x88, 0x12, 0x2c, 0x18, 0xbf, 0x24, + 0x2c, 0x05, 0xd1, 0x28, 0x46, 0x00, 0x1d, 0x91, 0x42, 0x34, 0xbf, 0x40, 0x88, 0x00, 0x88, + 0x10, 0x2c, 0x18, 0xbf, + + 0x01, 0x05, 0xff, 0xff, 0x3a, 0x60, 0x19, 0x00, 0xfa, 0x20, 0x2c, 0x05, 0xd1, 0x28, 0x46, + 0x08, 0x30, 0x91, 0x42, 0x34, 0xbf, 0x40, 0x88, 0x00, 0x88, 0x56, 0x4a, 0x01, 0x21, 0x11, + 0x70, 0x4f, 0xf4, 0x7a, 0x72, 0xb3, 0xfb, 0xf2, 0xf4, 0x53, 0x4b, 0xe1, 0x0a, 0x0d, 0x1f, + 0x89, 0xb2, 0x41, 0x43, 0x1d, 0x80, 0x65, 0x08, 0x02, 0xfb, 0x01, 0x51, 0xb1, 0xfb, 0xf4, + 0xf1, 0xc9, 0x09, 0x09, 0x1f, 0x59, 0x80, 0x30, 0xbd, 0xc0, 0x46, 0xdc, 0x1c, 0x00, 0x40, + 0x70, 0x03, 0x00, 0x20, 0x04, 0x21, 0x00, 0x42, 0x2d, 0xe9, 0xf0, 0x41, 0x49, 0x4c, 0x94, + 0xf8, 0x00, 0x80, 0x20, 0x88, 0x27, 0x46, 0x0c, 0x3f, 0x20, 0xf0, 0x0f, 0x00, 0x40, 0xf0, + 0x03, 0x00, 0x20, 0x80, 0x38, 0x88, 0x54, 0x3c, 0x20, 0xf4, 0xe0, 0x60, 0x40, 0xf4, 0x00, + 0x70, 0xa4, 0xf8, 0x48, 0x00, 0x02, 0x20, 0x00, 0xf0, 0x68, 0xfb, 0xd4, 0xf8, 0x88, 0x50, + 0x38, 0x88, 0x20, 0xf4, 0xe0, 0x60, 0x38, 0x80, 0x01, 0x20, 0x00, 0xf0, 0x5f, 0xfb, 0x38, + 0x88, 0x0e, 0x4e, 0x20, 0xf0, 0x0f, 0x00, 0xa4, 0xf8, 0x48, 0x00, 0x01, 0x20, 0x00, 0xf0, + 0x56, 0xfb, 0x36, 0x48, 0x01, 0x27, 0x07, 0x70, 0x38, 0x46, 0x00, 0xf0, 0x50, 0xfb, 0x94, + 0xf8, 0x70, 0x00, 0x40, 0x00, 0x40, 0xb2, 0x40, 0x10, 0xa0, 0xeb, 0xe5, 0x20, 0x41, 0xb2, + 0xe8, 0x0a, 0x3c, 0xbf, 0x20, 0x88, 0xa0, 0xeb, 0x01, 0x20, 0x08, 0xd3, 0x02, 0xe0, 0xc0, + 0x46, 0xf0, 0x20, 0x00, 0x40, 0x20, 0x88, 0xa0, 0xeb, 0x01, 0x20, 0x00, 0xf5, 0x80, 0x70, + 0x20, 0x80, 0x38, 0x46, 0x00, 0xf0, 0x35, 0xfb, 0x27, 0x49, 0x00, 0x20, 0x84, 0xf8, 0x54, + 0x80, 0x08, 0x70, 0x30, 0x88, 0x20, 0xf0, 0x70, 0x00, 0x30, 0x80, 0xbd, 0xe8, 0xf0, 0x81, + 0x00, 0x02, 0x00, 0x20, + + 0x01, 0x05, 0xff, 0xff, 0x34, 0x61, 0x19, 0x00, 0xfa, 0x10, 0x03, 0x04, 0x42, 0xf0, 0xb5, + 0x20, 0x48, 0x01, 0x88, 0x41, 0xf0, 0x70, 0x01, 0x01, 0x80, 0x1c, 0x48, 0x01, 0x26, 0x06, + 0x70, 0x30, 0x46, 0x00, 0xf0, 0x1a, 0xfb, 0x1b, 0x48, 0x17, 0x4c, 0x01, 0x89, 0x0c, 0x3c, + 0x00, 0x27, 0x24, 0xf8, 0x48, 0x1c, 0x80, 0x7a, 0x0c, 0x4d, 0x85, 0xf8, 0x50, 0x0e, 0x07, + 0x21, 0xf8, 0xb2, 0xff, 0xf7, 0x41, 0xfe, 0x7f, 0x1c, 0x04, 0x2f, 0xf8, 0xdb, 0x20, 0x88, + 0x20, 0xf0, 0x0f, 0x00, 0x40, 0xf0, 0x01, 0x00, 0x20, 0x80, 0x2e, 0x70, 0x30, 0x46, 0x00, + 0xf0, 0xfe, 0xfa, 0x00, 0x20, 0x28, 0x70, 0xf0, 0xbd, 0xc0, 0x46, 0xe2, 0x08, 0x00, 0x20, + 0x70, 0x8c, 0x03, 0x42, 0x40, 0x0d, 0x03, 0x00, 0x00, 0x72, 0x6f, 0x91, 0xa0, 0x03, 0x00, + 0x20, 0x80, 0x42, 0x04, 0x42, 0x04, 0x22, 0x00, 0x40, 0xc0, 0x00, 0x00, 0x20, 0x6c, 0x1c, + 0x00, 0x40, 0xc0, 0x9a, 0x03, 0x42, 0x6c, 0x20, 0x00, 0x42, 0xf0, 0x20, 0x00, 0x40, 0xd0, + 0x08, 0x00, 0x20, 0x2d, 0xe9, 0xf0, 0x4f, 0xad, 0xf1, 0x34, 0x0d, 0xaa, 0x4d, 0x01, 0x90, + 0xa6, 0x48, 0x02, 0x95, 0xa5, 0xf1, 0x34, 0x05, 0x02, 0x8b, 0x4f, 0xf0, 0x00, 0x01, 0x02, + 0xb1, 0x01, 0x21, 0xa3, 0x4a, 0x29, 0x75, 0x10, 0x21, 0x11, 0x70, 0xa2, 0x4a, 0x01, 0x21, + 0x03, 0x91, 0x11, 0x70, 0xae, 0x49, 0x00, 0x24, 0x82, 0xf8, 0x4c, 0x40, 0x04, 0x91, 0xad, + 0x49, 0xac, 0x4e, 0xb1, 0x4f, 0x09, 0x88, 0xa6, 0xf6, 0xee, 0x73, 0x21, 0xf4, 0x80, 0x71, + 0x41, 0xf4, 0x00, 0x71, 0x19, 0x80, 0x41, 0x21, 0xa6, 0xf6, 0xe2, 0x73, 0x19, 0x70, 0x82, + 0xf8, 0xdc, 0x4d, 0x82, 0xf8, 0x1c, 0x4e, 0xa6, 0xf6, 0xd4, 0x61, 0x0c, 0x80, 0x05, 0x94, + 0x06, 0x90, 0x95, 0xf8, + + 0x01, 0x05, 0xff, 0xff, 0x2e, 0x62, 0x19, 0x00, 0xfa, 0x34, 0x00, 0x00, 0x28, 0x22, 0xd1, + 0x06, 0x98, 0xb0, 0xf8, 0xca, 0x00, 0xf0, 0xb1, 0x9e, 0x48, 0x00, 0x78, 0x00, 0x11, 0x02, + 0x28, 0x19, 0xd1, 0x01, 0x98, 0x20, 0xb9, 0x38, 0x46, 0x80, 0x1d, 0x00, 0x88, 0x40, 0x08, + 0x07, 0xd2, 0x01, 0x98, 0x01, 0x28, 0x0f, 0xd1, 0x38, 0x46, 0x22, 0x30, 0x00, 0x88, 0x40, + 0x08, 0x0a, 0xd3, 0xff, 0xf7, 0x95, 0xfd, 0x07, 0x90, 0x6a, 0x46, 0x01, 0x98, 0x0d, 0xf1, + 0x01, 0x01, 0xff, 0xf7, 0x8f, 0xfc, 0x03, 0x98, 0x05, 0x90, 0xff, 0x20, 0xa6, 0xf5, 0x75, + 0x71, 0x08, 0x70, 0x03, 0x98, 0x00, 0xf0, 0x7e, 0xfa, 0xa6, 0xf5, 0x75, 0x70, 0x04, 0x70, + 0xa6, 0xf5, 0x76, 0x70, 0x04, 0x80, 0xe8, 0x7a, 0x38, 0xb1, 0xec, 0x72, 0xa8, 0x7a, 0x87, + 0x49, 0x08, 0x70, 0x28, 0x89, 0xa6, 0xf5, 0x84, 0x61, 0x08, 0x80, 0x85, 0x48, 0x4f, 0xf0, + 0x0a, 0x08, 0x08, 0x90, 0x80, 0xf8, 0x3c, 0x40, 0xb6, 0xf8, 0xb8, 0x10, 0x21, 0xf0, 0x70, + 0x01, 0xa6, 0xf8, 0xb8, 0x10, 0x04, 0x70, 0x04, 0x71, 0x4f, 0xf4, 0x40, 0x50, 0x46, 0xf8, + 0x20, 0x0c, 0x70, 0x88, 0x20, 0xf0, 0x03, 0x00, 0x70, 0x80, 0x70, 0x88, 0x20, 0xf0, 0x0c, + 0x00, 0x70, 0x80, 0x79, 0x48, 0x09, 0x90, 0x80, 0xf8, 0x80, 0x42, 0x34, 0x80, 0x04, 0x71, + 0x95, 0xf8, 0x34, 0x10, 0x00, 0x29, 0x76, 0xd1, 0x0a, 0x97, 0xf8, 0x89, 0x75, 0x4a, 0x00, + 0x28, 0x0b, 0x92, 0x35, 0xd0, 0x01, 0x98, 0x00, 0x28, 0x32, 0xd1, 0x47, 0xf6, 0xff, 0x70, + 0x6f, 0xf0, 0xff, 0x3a, 0x0b, 0x99, 0x60, 0x31, 0x6f, 0xf0, 0x80, 0x32, 0x01, 0xf1, 0x08, + 0x0b, 0x0c, 0x92, 0xa1, 0xf1, 0x08, 0x09, 0x05, 0xf1, 0x1a, 0x03, 0x05, 0xf1, 0x18, 0x0c, + 0x05, 0xf1, 0x16, 0x0e, + + 0x01, 0x05, 0xff, 0xff, 0x28, 0x63, 0x19, 0x00, 0xfa, 0x4f, 0xf0, 0x02, 0x08, 0x03, 0x22, + 0x4b, 0xf8, 0x04, 0xab, 0x41, 0xf8, 0x04, 0xab, 0x0c, 0x9f, 0x07, 0x2a, 0x23, 0xf8, 0x08, + 0x0b, 0x49, 0xf8, 0x04, 0x7b, 0x2c, 0xf8, 0x08, 0x0b, 0x2e, 0xf8, 0x08, 0x0b, 0x3c, 0xbf, + 0x05, 0xeb, 0x42, 0x07, 0xf8, 0x82, 0xb8, 0xf1, 0x01, 0x08, 0x02, 0xf1, 0x04, 0x02, 0xe8, + 0xd1, 0x0a, 0x99, 0xcc, 0x81, 0x02, 0x99, 0x09, 0x78, 0x4f, 0xf0, 0x08, 0x08, 0x00, 0x29, + 0x0a, 0x99, 0x37, 0xd1, 0x89, 0x8c, 0x00, 0x29, 0x34, 0xd0, 0x01, 0x99, 0x01, 0x29, 0x31, + 0xd1, 0x6f, 0xf0, 0x80, 0x31, 0x47, 0xf6, 0xff, 0x73, 0x0c, 0x91, 0x0b, 0x99, 0x03, 0x22, + 0x4f, 0xf0, 0x02, 0x0a, 0x01, 0xf1, 0x70, 0x0b, 0x05, 0xf1, 0x28, 0x0c, 0x05, 0xf1, 0x26, + 0x0e, 0x05, 0xf1, 0x24, 0x09, 0x81, 0xf8, 0x7e, 0x40, 0x0c, 0x9f, 0x07, 0x2a, 0x81, 0xf8, + 0x81, 0x40, 0x4b, 0xf8, 0x04, 0x7b, 0x2c, 0xf8, 0x08, 0x3b, 0x81, 0xf8, 0x80, 0x40, 0x2e, + 0xf8, 0x08, 0x3b, 0x81, 0xf8, 0x7f, 0x40, 0x29, 0xf8, 0x08, 0x3b, 0x3c, 0xbf, 0x05, 0xeb, + 0x42, 0x07, 0xbb, 0x84, 0xba, 0xf1, 0x01, 0x0a, 0x01, 0xf1, 0x04, 0x01, 0x02, 0xf1, 0x04, + 0x02, 0xe2, 0xd1, 0x0a, 0x98, 0xa8, 0xf1, 0x02, 0x08, 0x84, 0x84, 0x05, 0x98, 0x48, 0xb1, + 0x01, 0x98, 0x9d, 0xf8, 0x01, 0x10, 0x07, 0x9b, 0x9d, 0xf8, 0x00, 0x20, 0xff, 0xf7, 0x6e, + 0xfc, 0xa8, 0xf1, 0x04, 0x08, 0x95, 0xf8, 0x34, 0x00, 0x18, 0xb9, 0x1f, 0xfa, 0x88, 0xf0, + 0x00, 0xf0, 0xc0, 0xf9, 0x09, 0x98, 0x04, 0x72, 0x86, 0xf8, 0x4c, 0x40, 0x04, 0x70, 0x08, + 0x98, 0x80, 0xf8, 0x34, 0x40, 0x04, 0x98, 0x34, 0x54, 0x2d, 0x48, 0x04, 0x70, 0xb6, 0xf8, + 0xa4, 0x00, 0x20, 0xf0, + + 0x01, 0x05, 0xff, 0xff, 0x22, 0x64, 0x19, 0x00, 0xfa, 0x03, 0x00, 0xa6, 0xf8, 0xa4, 0x00, + 0xb6, 0xf8, 0xa4, 0x00, 0x20, 0xf0, 0x0c, 0x00, 0xa6, 0xf8, 0xa4, 0x00, 0x06, 0x98, 0x90, + 0xf8, 0x77, 0x00, 0xf8, 0xb1, 0x25, 0x49, 0x81, 0xf8, 0x80, 0x42, 0x03, 0x98, 0x08, 0x70, + 0x81, 0xf8, 0x40, 0x01, 0x0c, 0x72, 0x06, 0x98, 0x90, 0xf8, 0x77, 0x10, 0x01, 0xf0, 0xf0, + 0x01, 0x80, 0xf8, 0x77, 0x10, 0x90, 0xf8, 0x77, 0x00, 0x68, 0xb1, 0x06, 0x98, 0x90, 0xf8, + 0x76, 0x00, 0x70, 0xb9, 0x08, 0xe0, 0xc0, 0x46, 0x00, 0x02, 0x00, 0x20, 0x67, 0x11, 0x00, + 0x40, 0x24, 0x09, 0x02, 0x42, 0x04, 0x09, 0x00, 0x20, 0x16, 0x48, 0x04, 0x70, 0x06, 0x98, + 0x80, 0xf8, 0x77, 0x40, 0x08, 0x98, 0x03, 0x99, 0x80, 0xf8, 0xb0, 0x10, 0x13, 0x48, 0xa0, + 0xf8, 0x1f, 0x40, 0x04, 0x70, 0x84, 0x70, 0x95, 0xf8, 0x34, 0x00, 0x10, 0xb9, 0x03, 0x20, + 0x00, 0xf0, 0x70, 0xf9, 0x0d, 0xb0, 0xbd, 0xe8, 0xf0, 0x8f, 0xc0, 0x46, 0xc8, 0xe0, 0xff, + 0xff, 0x38, 0x20, 0x00, 0x40, 0x4a, 0x10, 0x00, 0x40, 0x1c, 0x09, 0x00, 0x20, 0xc0, 0x9a, + 0x03, 0x42, 0x30, 0x20, 0x00, 0x42, 0x80, 0x04, 0x04, 0x42, 0x00, 0x00, 0x00, 0x20, 0x30, + 0x00, 0x00, 0x20, 0x70, 0x1c, 0x04, 0x42, 0x00, 0x40, 0x04, 0x42, 0x3c, 0x42, 0x04, 0x42, + 0x4d, 0x24, 0x00, 0x40, 0x95, 0x48, 0x94, 0x49, 0x08, 0x60, 0x95, 0x49, 0x08, 0x78, 0x20, + 0xf0, 0x03, 0x00, 0x08, 0x70, 0x08, 0x78, 0x93, 0x49, 0x08, 0x70, 0x00, 0xf0, 0x68, 0xbc, + 0x92, 0x49, 0x10, 0x20, 0x08, 0x70, 0x91, 0x48, 0x14, 0x30, 0x00, 0x78, 0x00, 0xf0, 0xc3, + 0xbc, 0x90, 0x48, 0x90, 0x49, 0x08, 0x60, 0x8a, 0x49, 0x08, 0x78, 0x20, 0xf0, 0x03, 0x00, + 0x08, 0x70, 0x08, 0x78, + + 0x01, 0x05, 0xff, 0xff, 0x1c, 0x65, 0x19, 0x00, 0xfa, 0x88, 0x49, 0x08, 0x70, 0x00, 0xf0, + 0x64, 0xbc, 0x2d, 0xe9, 0xf0, 0x4f, 0xad, 0xf1, 0x2c, 0x0d, 0x88, 0x4f, 0xdf, 0xf8, 0x1c, + 0x92, 0x71, 0x20, 0x80, 0x3f, 0xc7, 0xf8, 0x00, 0x90, 0x00, 0x90, 0x81, 0x20, 0x01, 0x90, + 0x80, 0x20, 0x02, 0x90, 0x40, 0x20, 0x03, 0x90, 0x82, 0x48, 0x04, 0x90, 0x82, 0x48, 0x05, + 0x90, 0x82, 0x48, 0x06, 0x90, 0x82, 0x48, 0x07, 0x90, 0x82, 0x48, 0x85, 0x4c, 0xdf, 0xf8, + 0x08, 0xb2, 0x08, 0x90, 0x84, 0x48, 0x84, 0x4d, 0x4f, 0xf0, 0x01, 0x0a, 0x09, 0x90, 0x7f, + 0x48, 0x4f, 0xf0, 0x00, 0x08, 0x82, 0x4e, 0x0a, 0x90, 0x13, 0xe0, 0xc7, 0xf8, 0x80, 0x90, + 0x21, 0x78, 0x41, 0xb9, 0x0a, 0x99, 0x09, 0x88, 0x49, 0x08, 0x04, 0xd3, 0x00, 0x99, 0x21, + 0x70, 0x21, 0x78, 0x31, 0x70, 0x04, 0xe0, 0x31, 0x78, 0x11, 0xb9, 0xc7, 0xf8, 0x00, 0x90, + 0x30, 0xbf, 0xc7, 0xf8, 0x00, 0x90, 0x31, 0x78, 0x00, 0x29, 0xe8, 0xd0, 0x31, 0x78, 0x30, + 0x29, 0x19, 0xdc, 0x30, 0x29, 0x59, 0xd0, 0x20, 0x29, 0x0c, 0xdc, 0x20, 0x29, 0x6b, 0xd0, + 0x10, 0x39, 0x72, 0xd0, 0x49, 0x1e, 0x73, 0xd0, 0xc9, 0x1e, 0x6e, 0xd0, 0x49, 0x1e, 0x6a, + 0xd0, 0x49, 0x1e, 0x65, 0xd0, 0x6f, 0xe0, 0x21, 0x39, 0x5a, 0xd0, 0xc9, 0x1e, 0x56, 0xd0, + 0x49, 0x1e, 0x52, 0xd0, 0x49, 0x1e, 0x4d, 0xd0, 0x66, 0xe0, 0x51, 0x29, 0x0a, 0xdc, 0x51, + 0x29, 0x2c, 0xd0, 0x31, 0x39, 0x34, 0xd0, 0x0f, 0x39, 0x0d, 0xd0, 0x49, 0x1e, 0x29, 0xd0, + 0x0f, 0x39, 0x3b, 0xd0, 0x59, 0xe0, 0x70, 0x39, 0x1e, 0xd0, 0x49, 0x1e, 0x19, 0xd0, 0x0f, + 0x39, 0x14, 0xd0, 0x49, 0x1e, 0x0e, 0xd0, 0x50, 0xe0, 0x9b, 0xf8, 0x00, 0x00, 0x41, 0x28, + 0x06, 0xd1, 0x28, 0x78, + + 0x01, 0x05, 0xff, 0xff, 0x16, 0x66, 0x19, 0x00, 0xfa, 0x20, 0xb9, 0x09, 0x98, 0x80, 0x7b, + 0x08, 0xb9, 0x01, 0x98, 0x28, 0x70, 0xfe, 0xf7, 0xb7, 0xfa, 0x42, 0xe0, 0xfe, 0xf7, 0x9b, + 0xfe, 0x02, 0x98, 0x0e, 0xe0, 0xfe, 0xf7, 0x42, 0xfe, 0x3b, 0xe0, 0x00, 0xf0, 0x0a, 0xfc, + 0x38, 0xe0, 0x00, 0xf0, 0xe4, 0xfb, 0x35, 0xe0, 0x00, 0xf0, 0xd3, 0xf9, 0x32, 0xe0, 0xfe, + 0xf7, 0x1d, 0xfe, 0x03, 0x98, 0x28, 0x70, 0x84, 0xf8, 0x00, 0x80, 0x2b, 0xe0, 0x05, 0x98, + 0x06, 0x99, 0x00, 0xf0, 0xfc, 0xf8, 0x00, 0xf0, 0xc7, 0xfd, 0x24, 0xe0, 0x05, 0x98, 0x06, + 0x99, 0x00, 0xf0, 0xf5, 0xf8, 0x00, 0xf0, 0x9e, 0xfc, 0x07, 0x98, 0x08, 0x99, 0x00, 0xf0, + 0xef, 0xf8, 0x19, 0xe0, 0x00, 0xf0, 0x06, 0xfc, 0x16, 0xe0, 0x50, 0x46, 0x02, 0xe0, 0x50, + 0x46, 0x04, 0xe0, 0x40, 0x46, 0xfd, 0xf7, 0x1b, 0xfe, 0x0e, 0xe0, 0x40, 0x46, 0xff, 0xf7, + 0x97, 0xfd, 0x0a, 0xe0, 0x00, 0xf0, 0xf4, 0xfb, 0x07, 0xe0, 0x50, 0x46, 0x03, 0xe0, 0x00, + 0xf0, 0xb3, 0xfa, 0x02, 0xe0, 0x40, 0x46, 0xfe, 0xf7, 0xbf, 0xfe, 0xc7, 0xf8, 0x80, 0x90, + 0x31, 0x78, 0x8b, 0xf8, 0x00, 0x10, 0x86, 0xf8, 0x00, 0x80, 0x09, 0x99, 0x81, 0xf8, 0x34, + 0x80, 0x21, 0x78, 0x11, 0xf0, 0x03, 0x0f, 0x17, 0xd1, 0x21, 0x78, 0x70, 0x29, 0x12, 0xd0, + 0x29, 0x78, 0x39, 0xb1, 0x22, 0x78, 0x02, 0xf0, 0x04, 0x02, 0x29, 0x78, 0x01, 0xf0, 0x04, + 0x01, 0x8a, 0x42, 0x08, 0xd0, 0x21, 0x78, 0xc9, 0x08, 0x39, 0xbf, 0x04, 0x99, 0x81, 0xf8, + 0x00, 0xa0, 0x04, 0x99, 0x81, 0xf8, 0x02, 0xa0, 0x84, 0xf8, 0x00, 0x80, 0x21, 0x78, 0x00, + 0x29, 0x7f, 0xf4, 0x4d, 0xaf, 0x29, 0x78, 0x00, 0x29, 0x3f, 0xf4, 0x49, 0xaf, 0x29, 0x78, + 0x21, 0x70, 0x21, 0x78, + + 0x01, 0x05, 0xff, 0xff, 0x10, 0x67, 0x19, 0x00, 0xfa, 0x31, 0x70, 0x85, 0xf8, 0x00, 0x80, + 0x41, 0xe7, 0x00, 0xb5, 0xff, 0xf7, 0x85, 0xfa, 0xff, 0xf7, 0xa8, 0xfa, 0x00, 0xbd, 0x07, + 0x49, 0x10, 0x20, 0x08, 0x70, 0x15, 0x48, 0x00, 0x78, 0x00, 0xf0, 0xaf, 0xbb, 0xc0, 0x46, + 0x80, 0xe1, 0x00, 0xe0, 0x0c, 0x00, 0x28, 0x00, 0x1c, 0x09, 0x00, 0x20, 0x1e, 0x09, 0x00, + 0x20, 0x02, 0x01, 0x00, 0x40, 0x34, 0x24, 0x00, 0x40, 0x0c, 0x00, 0x28, 0x00, 0x80, 0xe1, + 0x00, 0xe0, 0x4c, 0x24, 0x00, 0x40, 0x4c, 0x04, 0x00, 0x10, 0xf4, 0x03, 0x00, 0x00, 0x41, + 0x08, 0x00, 0x10, 0xea, 0x03, 0x00, 0x00, 0x1f, 0x09, 0x00, 0x20, 0xdc, 0x02, 0x00, 0x20, + 0x1c, 0x09, 0x00, 0x20, 0xd0, 0x08, 0x00, 0x20, 0x1d, 0x09, 0x00, 0x20, 0x1e, 0x09, 0x00, + 0x20, 0x44, 0x24, 0x00, 0x40, 0x8c, 0x49, 0x0a, 0x89, 0x00, 0x2a, 0x0c, 0xbf, 0x09, 0x68, + 0x49, 0x68, 0x8a, 0x4a, 0xb1, 0xfb, 0xf2, 0xf1, 0xc9, 0xb2, 0x48, 0x43, 0x81, 0x42, 0x2c, + 0xbf, 0x01, 0x20, 0x40, 0x1a, 0x87, 0x49, 0x04, 0x22, 0x20, 0xf0, 0x7f, 0x40, 0x0a, 0x80, + 0x48, 0x60, 0x00, 0x20, 0x08, 0x81, 0x05, 0x20, 0x08, 0x80, 0x48, 0x88, 0x00, 0x28, 0xfc, + 0xd0, 0x0a, 0x80, 0x70, 0x47, 0x80, 0x4a, 0x01, 0x46, 0xc8, 0x43, 0x90, 0x80, 0x10, 0x88, + 0x01, 0x42, 0x02, 0xd1, 0x20, 0xbf, 0x20, 0xbf, 0x10, 0x88, 0x70, 0x47, 0x10, 0xb5, 0x7a, + 0x4b, 0x04, 0x46, 0xe0, 0x43, 0x98, 0x80, 0x01, 0x20, 0xff, 0xf7, 0xcf, 0xff, 0x18, 0x88, + 0x20, 0x46, 0xff, 0xf7, 0xe9, 0xff, 0x10, 0xbd, 0x74, 0x4a, 0x01, 0x21, 0x51, 0x72, 0x91, + 0x8a, 0x01, 0xeb, 0xc0, 0x00, 0x50, 0x82, 0x10, 0x88, 0x70, 0x47, 0x70, 0x4a, 0x01, 0x21, + 0x51, 0x72, 0x91, 0x8a, + + 0x01, 0x05, 0xff, 0xff, 0x0a, 0x68, 0x19, 0x00, 0xfa, 0x01, 0xeb, 0xc0, 0x00, 0x10, 0x82, + 0x10, 0x88, 0x70, 0x47, 0x30, 0xb5, 0x6c, 0x4c, 0x23, 0x78, 0x65, 0x78, 0x5d, 0x1b, 0x05, + 0xf0, 0x3f, 0x05, 0x3d, 0x2d, 0x16, 0xda, 0x04, 0xeb, 0x43, 0x05, 0x68, 0x80, 0x5b, 0x1c, + 0x03, 0xf0, 0x3f, 0x03, 0x04, 0xeb, 0x43, 0x00, 0x41, 0x80, 0x5b, 0x1c, 0x03, 0xf0, 0x3f, + 0x03, 0x04, 0xeb, 0x43, 0x00, 0x42, 0x80, 0x5b, 0x1c, 0x03, 0xf0, 0x3f, 0x03, 0x23, 0x70, + 0x01, 0x21, 0x5d, 0x48, 0x0e, 0x38, 0x01, 0x80, 0x30, 0xbd, 0xf0, 0xb5, 0x5c, 0x4b, 0x06, + 0x46, 0x0c, 0x46, 0x18, 0x68, 0xb0, 0x42, 0x27, 0xd0, 0x5a, 0x4f, 0x00, 0x20, 0x38, 0x70, + 0x02, 0x20, 0xff, 0xf7, 0x8a, 0xff, 0x58, 0x48, 0x05, 0x46, 0x00, 0x88, 0xad, 0x1f, 0x20, + 0xf0, 0x07, 0x00, 0x40, 0xf0, 0x0b, 0x00, 0xe8, 0x80, 0x01, 0x20, 0x38, 0x70, 0xb0, 0x08, + 0x00, 0xf5, 0xa0, 0x60, 0xe8, 0x82, 0x19, 0x20, 0x2f, 0x8a, 0x28, 0x82, 0x02, 0x20, 0xff, + 0xf7, 0x75, 0xff, 0x00, 0x2c, 0x04, 0xf1, 0x03, 0x04, 0x06, 0xd0, 0xa1, 0x08, 0x4c, 0x4c, + 0x2a, 0x68, 0x49, 0x1e, 0x44, 0xf8, 0x04, 0x2b, 0xfa, 0xd1, 0x1e, 0x60, 0x2f, 0x82, 0xf0, + 0xbd, 0x70, 0xb5, 0xad, 0xf1, 0x1c, 0x0d, 0x01, 0x46, 0x47, 0x48, 0x6a, 0x46, 0x78, 0xc8, + 0x78, 0xc2, 0x90, 0xe8, 0x19, 0x00, 0x82, 0xe8, 0x19, 0x00, 0x06, 0x20, 0x91, 0xfb, 0xf0, + 0xf1, 0x0a, 0x12, 0xc9, 0xb2, 0x00, 0x29, 0x4f, 0xf4, 0x80, 0x30, 0x40, 0xfa, 0x02, 0xf0, + 0x08, 0xbf, 0x00, 0x01, 0x08, 0xd0, 0xca, 0x00, 0x02, 0xeb, 0x81, 0x02, 0x80, 0x32, 0x11, + 0x12, 0x3d, 0xf8, 0x11, 0x10, 0x48, 0x43, 0x00, 0x0b, 0x07, 0xb0, 0x70, 0xbd, 0xc1, 0x0b, + 0x12, 0xbf, 0x37, 0x49, + + 0x01, 0x05, 0xff, 0xff, 0x04, 0x69, 0x19, 0x00, 0xfa, 0x00, 0x04, 0x37, 0x49, 0xc3, 0x0d, + 0x37, 0x4a, 0x03, 0xd1, 0x00, 0x02, 0x13, 0x46, 0x5b, 0x00, 0xc9, 0x1a, 0xc3, 0x0e, 0x04, + 0xbf, 0x00, 0x01, 0x89, 0x1a, 0x42, 0x0f, 0x03, 0xd1, 0x80, 0x00, 0x49, 0xf6, 0x20, 0x22, + 0x89, 0x1a, 0x82, 0x0f, 0x03, 0xd1, 0x40, 0x00, 0x44, 0xf6, 0x10, 0x52, 0x89, 0x1a, 0x00, + 0xeb, 0x50, 0x02, 0x13, 0x08, 0x03, 0xd2, 0x10, 0x46, 0x42, 0xf6, 0x14, 0x52, 0x89, 0x1a, + 0x00, 0xeb, 0x90, 0x02, 0x13, 0x08, 0x03, 0xd2, 0x10, 0x46, 0x41, 0xf6, 0xcf, 0x02, 0x89, + 0x1a, 0x00, 0xeb, 0xd0, 0x02, 0x13, 0x08, 0x3c, 0xbf, 0x10, 0x1c, 0xa1, 0xf6, 0x18, 0x51, + 0x00, 0xeb, 0x10, 0x12, 0x13, 0x08, 0x3c, 0xbf, 0x10, 0x1c, 0xa1, 0xf2, 0xbd, 0x61, 0x00, + 0xeb, 0x50, 0x12, 0x13, 0x08, 0x3c, 0xbf, 0x10, 0x1c, 0xa1, 0xf2, 0x6b, 0x31, 0x00, 0xeb, + 0x90, 0x12, 0x13, 0x08, 0x3c, 0xbf, 0x10, 0x1c, 0xa1, 0xf2, 0xb9, 0x11, 0x00, 0xeb, 0xd0, + 0x12, 0x13, 0x08, 0x3c, 0xbf, 0x10, 0x1c, 0xdd, 0x39, 0xc0, 0xf1, 0x00, 0x40, 0xa1, 0xeb, + 0xd0, 0x31, 0x08, 0x46, 0x70, 0x47, 0x00, 0xb5, 0xff, 0xf7, 0xa9, 0xff, 0x00, 0xeb, 0x80, + 0x00, 0xc0, 0x12, 0x00, 0xb2, 0x00, 0xbd, 0xc0, 0x46, 0xc0, 0x00, 0x00, 0x20, 0x40, 0x42, + 0x0f, 0x00, 0x10, 0xe0, 0x00, 0xe0, 0x2c, 0x24, 0x00, 0x40, 0x70, 0x01, 0x00, 0x20, 0x20, + 0x09, 0x00, 0x20, 0xd0, 0x40, 0x00, 0x42, 0x06, 0x02, 0x00, 0x40, 0xac, 0x2f, 0x00, 0x00, + 0xe0, 0x2e, 0x00, 0x00, 0xf4, 0x83, 0x04, 0x00, 0xf0, 0xb2, 0xff, 0xff, 0x41, 0x34, 0x01, + 0x00, 0x70, 0xb5, 0x6a, 0x49, 0x68, 0x48, 0x02, 0x68, 0x08, 0x68, 0x02, 0xf0, 0x01, 0x06, + 0x00, 0x0d, 0x0c, 0x28, + + 0x01, 0x05, 0xff, 0xff, 0xfe, 0x69, 0x19, 0x00, 0xfa, 0x0b, 0xd0, 0x10, 0x28, 0x09, 0xd0, + 0x12, 0x28, 0x07, 0xd0, 0x18, 0x28, 0x05, 0xd0, 0x20, 0x28, 0x03, 0xd0, 0x24, 0x28, 0x18, + 0xbf, 0x31, 0x28, 0x00, 0xd1, 0x16, 0x46, 0x60, 0x4c, 0x00, 0x20, 0x60, 0x4d, 0xa0, 0x67, + 0x84, 0xf8, 0x7d, 0x00, 0x91, 0xf8, 0x9a, 0x00, 0x04, 0x28, 0x08, 0xd1, 0x95, 0xf8, 0x56, + 0x20, 0xb1, 0xf8, 0x9e, 0x00, 0x00, 0xf0, 0x01, 0x00, 0x90, 0x42, 0x00, 0xf0, 0xa6, 0x80, + 0x32, 0x0c, 0xb1, 0xb2, 0x01, 0x20, 0xff, 0xf7, 0xe5, 0xfe, 0x16, 0xf0, 0x09, 0x0f, 0x09, + 0xd0, 0x54, 0x48, 0x55, 0x49, 0xff, 0xf7, 0xff, 0xfe, 0x00, 0xf0, 0xa8, 0xfa, 0xa0, 0x6f, + 0x40, 0xf0, 0x08, 0x00, 0xa0, 0x67, 0x16, 0xf0, 0x81, 0x0f, 0x09, 0xd0, 0x50, 0x48, 0x50, + 0x49, 0xff, 0xf7, 0xf2, 0xfe, 0x00, 0xf0, 0x9b, 0xfa, 0xa0, 0x6f, 0x40, 0xf0, 0x80, 0x00, + 0xa0, 0x67, 0x70, 0x08, 0x09, 0xd3, 0x4c, 0x48, 0x4c, 0x49, 0xff, 0xf7, 0xe6, 0xfe, 0x00, + 0xf0, 0xd8, 0xfa, 0xa0, 0x6f, 0x40, 0xf0, 0x01, 0x00, 0xa0, 0x67, 0xf0, 0x09, 0x09, 0xd3, + 0x48, 0x48, 0x48, 0x49, 0xff, 0xf7, 0xda, 0xfe, 0x00, 0xf0, 0xf8, 0xfa, 0xa0, 0x6f, 0x40, + 0xf0, 0x40, 0x00, 0xa0, 0x67, 0xf0, 0x0a, 0x09, 0xd3, 0x44, 0x48, 0x44, 0x49, 0xff, 0xf7, + 0xce, 0xfe, 0x00, 0xf0, 0x86, 0xfb, 0xa0, 0x6f, 0x40, 0xf4, 0x80, 0x60, 0xa0, 0x67, 0x70, + 0x09, 0x0f, 0xd3, 0x40, 0x48, 0x40, 0x49, 0xff, 0xf7, 0xc2, 0xfe, 0x00, 0xf0, 0x0e, 0xfb, + 0x3f, 0x48, 0x3f, 0x49, 0xff, 0xf7, 0xbc, 0xfe, 0x00, 0xf0, 0x83, 0xfa, 0xa0, 0x6f, 0x40, + 0xf0, 0x10, 0x00, 0xa0, 0x67, 0xb0, 0x09, 0x0c, 0xd3, 0x3b, 0x48, 0x3b, 0x49, 0xff, 0xf7, + 0xb0, 0xfe, 0x00, 0xf0, + + 0x01, 0x05, 0xff, 0xff, 0xf8, 0x6a, 0x19, 0x00, 0xfa, 0x1a, 0xfb, 0x94, 0xf8, 0x7d, 0x00, + 0x18, 0xb9, 0xa0, 0x6f, 0x40, 0xf0, 0x20, 0x00, 0xa0, 0x67, 0x70, 0x0a, 0x09, 0xd3, 0x35, + 0x48, 0x36, 0x49, 0xff, 0xf7, 0xa1, 0xfe, 0x00, 0xf0, 0x61, 0xfa, 0xa0, 0x6f, 0x40, 0xf4, + 0x80, 0x70, 0xa0, 0x67, 0xb0, 0x0a, 0x09, 0xd3, 0x31, 0x48, 0x32, 0x49, 0xff, 0xf7, 0x95, + 0xfe, 0x00, 0xf0, 0xf6, 0xfa, 0xa0, 0x6f, 0x40, 0xf4, 0x00, 0x70, 0xa0, 0x67, 0x30, 0x0b, + 0x09, 0xd3, 0x2d, 0x48, 0x2e, 0x49, 0xff, 0xf7, 0x89, 0xfe, 0x00, 0xf0, 0x32, 0xfa, 0xa0, + 0x6f, 0x40, 0xf4, 0x00, 0x60, 0xa0, 0x67, 0x70, 0x0b, 0x09, 0xd3, 0x29, 0x48, 0x2a, 0x49, + 0xff, 0xf7, 0x7d, 0xfe, 0x00, 0xf0, 0xd6, 0xfa, 0xa0, 0x6f, 0x40, 0xf4, 0x80, 0x50, 0xa0, + 0x67, 0xb0, 0x0b, 0x03, 0xd3, 0xa0, 0x6f, 0x40, 0xf4, 0x00, 0x50, 0xa0, 0x67, 0xf0, 0x0b, + 0x09, 0xd3, 0x22, 0x48, 0x23, 0x49, 0xff, 0xf7, 0x6b, 0xfe, 0x00, 0xf0, 0x5e, 0xfa, 0xa0, + 0x6f, 0x40, 0xf4, 0x80, 0x40, 0xa0, 0x67, 0x08, 0x20, 0x28, 0x80, 0x70, 0xbd, 0xc0, 0x46, + 0x08, 0x00, 0x00, 0x20, 0xc0, 0x00, 0x00, 0x20, 0x30, 0x00, 0x00, 0x20, 0x1e, 0x24, 0x00, + 0x40, 0x60, 0x24, 0x00, 0x10, 0xb4, 0x00, 0x00, 0x00, 0xc0, 0x25, 0x00, 0x10, 0x6c, 0x00, + 0x00, 0x00, 0x68, 0x23, 0x00, 0x10, 0xf8, 0x00, 0x00, 0x00, 0xf8, 0x21, 0x00, 0x10, 0x6e, + 0x01, 0x00, 0x00, 0x74, 0x19, 0x00, 0x10, 0xe8, 0x02, 0x00, 0x00, 0x38, 0x20, 0x00, 0x10, + 0xc0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x4c, 0x04, 0x00, 0x00, 0x88, 0x16, 0x00, + 0x10, 0xec, 0x02, 0x00, 0x00, 0x70, 0x1e, 0x00, 0x10, 0xc8, 0x01, 0x00, 0x00, 0x2c, 0x0c, + 0x00, 0x10, 0xd0, 0x03, + + 0x01, 0x05, 0xff, 0xff, 0xf2, 0x6b, 0x19, 0x00, 0xfa, 0x00, 0x00, 0x14, 0x25, 0x00, 0x10, + 0xac, 0x00, 0x00, 0x00, 0xfc, 0x0f, 0x00, 0x10, 0x5a, 0x03, 0x00, 0x00, 0x5c, 0x1c, 0x00, + 0x10, 0x14, 0x02, 0x00, 0x00, 0x2d, 0xe9, 0xf0, 0x4f, 0xdf, 0xf8, 0x34, 0xa1, 0xdf, 0xf8, + 0x34, 0xb1, 0x4f, 0xf0, 0x01, 0x09, 0x8a, 0xf8, 0x00, 0x90, 0xbb, 0xf8, 0x88, 0x00, 0x4f, + 0x4e, 0x58, 0xb9, 0x49, 0x49, 0x4f, 0xf0, 0x00, 0x00, 0x08, 0x80, 0x30, 0x46, 0x00, 0xf1, + 0x28, 0x00, 0x00, 0x78, 0x10, 0xb9, 0x07, 0x20, 0xff, 0xf7, 0xa2, 0xfd, 0x44, 0x4d, 0x05, + 0xf6, 0x53, 0x30, 0x01, 0x88, 0x00, 0x24, 0x43, 0x4f, 0x6f, 0xf3, 0x9f, 0x31, 0x41, 0xf4, + 0x80, 0x41, 0x01, 0x80, 0x42, 0x49, 0xdf, 0xf8, 0x00, 0x81, 0xa5, 0xf6, 0xed, 0x03, 0xa1, + 0xf6, 0x15, 0x52, 0x87, 0xf8, 0x70, 0x43, 0x87, 0xf8, 0x74, 0x43, 0x88, 0xf8, 0x00, 0x90, + 0x14, 0x70, 0x32, 0x78, 0x81, 0xf8, 0x5b, 0x4f, 0x81, 0xf8, 0x5f, 0x4f, 0x1a, 0x70, 0x81, + 0xf8, 0x9b, 0x4f, 0x02, 0x88, 0x22, 0xf4, 0xc0, 0x62, 0x02, 0x80, 0x37, 0x48, 0x05, 0xf6, + 0x27, 0x76, 0x87, 0xf8, 0x60, 0x43, 0x04, 0x70, 0xa5, 0xf6, 0xf1, 0x00, 0x85, 0xf8, 0x2d, + 0x4b, 0x85, 0xf8, 0x2b, 0x4b, 0x04, 0x70, 0x4f, 0xf4, 0x40, 0x50, 0x85, 0xf8, 0x87, 0x47, + 0x30, 0x80, 0xa1, 0xf6, 0x25, 0x20, 0x04, 0x70, 0xa1, 0xf6, 0x15, 0x20, 0x04, 0x70, 0xa1, + 0xf6, 0xf5, 0x10, 0x04, 0x70, 0xa6, 0xf5, 0x6e, 0x70, 0x00, 0x88, 0xa6, 0xf5, 0x6e, 0x72, + 0x20, 0xf0, 0x0f, 0x00, 0x10, 0x80, 0xa6, 0xf2, 0xbe, 0x30, 0x87, 0xf8, 0x50, 0x93, 0x3c, + 0x70, 0x00, 0x88, 0xa6, 0xf2, 0xbe, 0x32, 0x20, 0xf4, 0x40, 0x60, 0x10, 0x80, 0x81, 0xf8, + 0xff, 0x9f, 0x36, 0xf8, + + 0x01, 0x05, 0xff, 0xff, 0xec, 0x6c, 0x19, 0x00, 0xfa, 0x06, 0x0c, 0x9b, 0xf8, 0xa5, 0x10, + 0x20, 0xf4, 0x70, 0x60, 0x40, 0xea, 0x01, 0x20, 0x26, 0xf8, 0x06, 0x0c, 0xff, 0x20, 0x85, + 0xf8, 0x73, 0x0b, 0x48, 0x46, 0xff, 0xf7, 0x3d, 0xfd, 0x85, 0xf8, 0x73, 0x4b, 0x70, 0x88, + 0x20, 0xf4, 0x40, 0x70, 0x70, 0x80, 0x87, 0xf8, 0x0c, 0x47, 0x8a, 0xf8, 0x48, 0x40, 0xb6, + 0xf8, 0xd8, 0x00, 0xa5, 0xf5, 0x7f, 0x65, 0x20, 0xf0, 0x70, 0x00, 0xa6, 0xf8, 0xd8, 0x00, + 0x8a, 0xf8, 0x3c, 0x40, 0x2c, 0x70, 0x28, 0xf8, 0x04, 0x4c, 0x08, 0xf8, 0x23, 0x4c, 0x08, + 0xf8, 0x21, 0x4c, 0x88, 0xf8, 0x00, 0x40, 0xbd, 0xe8, 0xf0, 0x8f, 0x24, 0x20, 0x00, 0x42, + 0x00, 0x02, 0x00, 0x20, 0x34, 0x18, 0x00, 0x40, 0xf1, 0x10, 0x00, 0x40, 0x40, 0x85, 0x03, + 0x42, 0x70, 0x24, 0x00, 0x40, 0x25, 0x0e, 0x04, 0x42, 0xdc, 0x08, 0x00, 0x20, 0x14, 0x07, + 0x01, 0x42, 0x00, 0x0c, 0x00, 0x20, 0xa0, 0x2e, 0x00, 0x00, 0xdc, 0x2e, 0x00, 0x00, 0x5f, + 0xf8, 0x0c, 0x00, 0x5f, 0xf8, 0x0c, 0x10, 0x88, 0x42, 0x18, 0xd0, 0x02, 0x68, 0x00, 0xf1, + 0x04, 0x00, 0x03, 0x68, 0x00, 0xf1, 0x04, 0x00, 0x00, 0x2a, 0x08, 0xd0, 0x04, 0x78, 0x1c, + 0x70, 0x00, 0xf1, 0x01, 0x00, 0x03, 0xf1, 0x01, 0x03, 0xa2, 0xf1, 0x01, 0x02, 0xf4, 0xe7, + 0x4f, 0xf0, 0x04, 0x04, 0xa4, 0xeb, 0x00, 0x04, 0x04, 0xf0, 0x03, 0x04, 0x20, 0x44, 0xe4, + 0xe7, 0x70, 0x47, 0x5f, 0xf8, 0x50, 0x00, 0x85, 0x46, 0xff, 0xf7, 0xdb, 0xff, 0xff, 0xf7, + 0xa9, 0xfc, 0xff, 0xf7, 0xad, 0xfb, 0x06, 0x48, 0x00, 0x99, 0x88, 0x42, 0x04, 0xd1, 0x03, + 0x48, 0x07, 0x90, 0x04, 0x48, 0x08, 0x90, 0x00, 0xbd, 0x02, 0xbc, 0xf4, 0xe7, 0xed, 0x2d, + 0x00, 0x00, 0xf9, 0xff, + + 0x01, 0x05, 0xff, 0xff, 0xe6, 0x6d, 0x19, 0x00, 0xfa, 0xff, 0xff, 0x00, 0x00, 0x00, 0x61, + 0x5f, 0xf8, 0x84, 0x00, 0x85, 0x46, 0xff, 0xf7, 0x97, 0xfb, 0x4f, 0xf0, 0x0a, 0x00, 0x4f, + 0xf0, 0x02, 0x01, 0x06, 0x9a, 0xff, 0xf7, 0x08, 0xfd, 0xfe, 0xe7, 0x00, 0x00, 0x70, 0xb5, + 0x1b, 0x4d, 0x1b, 0x4e, 0x01, 0x24, 0x2c, 0x72, 0xb6, 0xf8, 0xdc, 0x00, 0x00, 0x11, 0x00, + 0xf0, 0x0f, 0x00, 0xff, 0xf7, 0xb2, 0xfc, 0x2c, 0x70, 0xb6, 0xf8, 0xdc, 0x00, 0x00, 0x11, + 0x00, 0xf0, 0x0f, 0x00, 0xff, 0xf7, 0xaa, 0xfc, 0x2c, 0x73, 0xb6, 0xf8, 0xdc, 0x00, 0x00, + 0x11, 0x00, 0xf0, 0x0f, 0x00, 0xff, 0xf7, 0xa2, 0xfc, 0x2c, 0x71, 0xb6, 0xf8, 0xdc, 0x00, + 0x00, 0x12, 0xff, 0xf7, 0x9c, 0xfc, 0x70, 0xbd, 0x30, 0xb5, 0x09, 0x4d, 0x00, 0x24, 0x01, + 0x20, 0x2c, 0x71, 0xff, 0xf7, 0x94, 0xfc, 0x2c, 0x73, 0x01, 0x20, 0xff, 0xf7, 0x90, 0xfc, + 0x2c, 0x70, 0x01, 0x20, 0xff, 0xf7, 0x8c, 0xfc, 0x04, 0x49, 0x04, 0x20, 0x2c, 0x72, 0x08, + 0x70, 0x30, 0xbd, 0xc0, 0x46, 0x00, 0x01, 0x04, 0x42, 0x00, 0x02, 0x00, 0x20, 0x02, 0x01, + 0x00, 0x40, 0x01, 0x20, 0xfe, 0xf7, 0xd1, 0xba, 0x01, 0x20, 0xfd, 0xf7, 0x1a, 0xba, 0x82, + 0xb0, 0x00, 0x94, 0x01, 0x4c, 0x01, 0x94, 0x10, 0xbd, 0x00, 0xbf, 0x71, 0x06, 0x00, 0x20, + 0x01, 0x00, 0x00, 0x00, 0x1c, 0x09, 0x00, 0x20, 0x00, 0xc0, 0x46, 0xc0, 0x01, 0x00, 0x00, + 0x00, 0x1d, 0x09, 0x00, 0x20, 0x00, 0xc0, 0x46, 0xc0, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x09, + 0x00, 0x20, 0x00, 0xc0, 0x46, 0xc0, 0x01, 0x00, 0x00, 0x00, 0x1f, 0x09, 0x00, 0x20, 0x00, + 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x20, 0x09, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + + 0x01, 0x05, 0xff, 0x21, 0xe0, 0x6e, 0x19, 0x00, 0x1c, 0xff, 0xff, 0xad, 0xf1, 0x28, 0xe4, + 0x65, 0xd7, 0x58, 0xcb, 0xf8, 0xbf, 0x3b, 0xb5, 0x18, 0xab, 0x85, 0xa1, 0x7d, 0x98, 0xf5, + 0x8f, 0xe7, 0x87, 0x4d, 0x80, 0x00, 0x00, + + 0x01, 0x05, 0xff, 0xff, 0x70, 0x36, 0x19, 0x00, 0xfa, 0x70, 0xb5, 0x00, 0xf0, 0x03, 0x01, + 0x01, 0x29, 0x04, 0xd1, 0x73, 0x49, 0x01, 0x22, 0x0a, 0x70, 0x00, 0x22, 0x0a, 0x70, 0x74, + 0x4c, 0x75, 0x49, 0x22, 0x78, 0x00, 0x2a, 0x32, 0xd0, 0x0a, 0x78, 0x6e, 0x4b, 0x52, 0xb9, + 0x22, 0x78, 0x22, 0xf0, 0x03, 0x02, 0x22, 0x70, 0x22, 0x78, 0x0a, 0x70, 0x21, 0x78, 0x81, + 0x42, 0x29, 0xd0, 0x19, 0x46, 0x26, 0xe0, 0x22, 0x78, 0x68, 0x4e, 0x69, 0x4d, 0x12, 0xf0, + 0x03, 0x0f, 0x0a, 0xd1, 0x21, 0x78, 0x81, 0x42, 0x23, 0xd0, 0x18, 0x70, 0x00, 0x20, 0x29, + 0x88, 0x01, 0x29, 0x08, 0xbf, 0x01, 0x20, 0x30, 0x70, 0x70, 0xbd, 0x22, 0x78, 0x22, 0xf0, + 0x03, 0x02, 0x22, 0x70, 0x22, 0x78, 0x0a, 0x70, 0x21, 0x78, 0x81, 0x42, 0x07, 0xd0, 0x19, + 0x46, 0x08, 0x70, 0x00, 0x20, 0x29, 0x88, 0x01, 0x29, 0x08, 0xbf, 0x01, 0x20, 0x30, 0x70, + 0x00, 0xf0, 0xd1, 0xf8, 0x70, 0xbd, 0x20, 0x70, 0x20, 0x78, 0x08, 0x70, 0x59, 0x48, 0x59, + 0x49, 0x08, 0x60, 0x00, 0xf0, 0xc0, 0xf8, 0x70, 0xbd, 0xf0, 0xb5, 0x4f, 0x4e, 0x57, 0x48, + 0x19, 0x36, 0x01, 0x88, 0x96, 0xf8, 0x27, 0x20, 0x55, 0x48, 0x01, 0xf0, 0x01, 0x03, 0x93, + 0x42, 0x4f, 0xea, 0x21, 0x17, 0x4f, 0xea, 0x21, 0x25, 0x07, 0xf0, 0x03, 0x07, 0x05, 0xf0, + 0x03, 0x05, 0x4b, 0xd1, 0x49, 0x0b, 0x49, 0x4c, 0x2f, 0xd2, 0x01, 0x46, 0x27, 0xb1, 0x01, + 0xf1, 0x0d, 0x01, 0x4f, 0xf0, 0x01, 0x02, 0x0a, 0x70, 0x4f, 0xf0, 0x01, 0x01, 0x0d, 0xb1, + 0x0e, 0x30, 0x01, 0x70, 0x01, 0x2f, 0x02, 0xd1, 0x20, 0x78, 0x11, 0x28, 0x0b, 0xd0, 0x01, + 0x2d, 0x0d, 0xd1, 0x20, 0x78, 0x21, 0x28, 0x06, 0xd0, 0x20, 0x46, 0x01, 0x78, 0x31, 0x29, + 0x02, 0xd0, 0x00, 0x78, + + 0x01, 0x05, 0xff, 0xff, 0x6a, 0x37, 0x19, 0x00, 0xfa, 0x41, 0x28, 0x03, 0xd1, 0x01, 0x20, + 0x30, 0x70, 0x00, 0xf0, 0x8f, 0xf8, 0x01, 0x2f, 0x02, 0xd1, 0x20, 0x78, 0x15, 0x28, 0x04, + 0xd0, 0x01, 0x2d, 0x25, 0xd1, 0x20, 0x78, 0x25, 0x28, 0x22, 0xd1, 0x01, 0x25, 0xb5, 0x70, + 0x00, 0xf0, 0x81, 0xf8, 0xf0, 0xbd, 0x01, 0x25, 0x45, 0x73, 0x85, 0x73, 0x20, 0x78, 0x11, + 0x28, 0x08, 0xd0, 0x20, 0x78, 0x21, 0x28, 0x05, 0xd0, 0x20, 0x78, 0x31, 0x28, 0x02, 0xd0, + 0x20, 0x78, 0x41, 0x28, 0x02, 0xd1, 0x35, 0x70, 0x00, 0xf0, 0x6e, 0xf8, 0x20, 0x78, 0x15, + 0x28, 0xe6, 0xd0, 0x20, 0x78, 0x25, 0x28, 0x05, 0xd1, 0xe2, 0xe7, 0x00, 0x21, 0x41, 0x73, + 0x81, 0x73, 0x31, 0x70, 0xb1, 0x70, 0xf0, 0xbd, 0x10, 0xb5, 0x29, 0x48, 0x38, 0x38, 0x00, + 0x88, 0x40, 0x08, 0x32, 0xd3, 0x24, 0x48, 0x24, 0x4b, 0x00, 0x88, 0xc1, 0x12, 0x11, 0xf0, + 0x03, 0x0f, 0x23, 0x48, 0x04, 0xd0, 0x19, 0x46, 0x01, 0xf1, 0x76, 0x01, 0x09, 0x78, 0xd9, + 0xb9, 0x21, 0x4a, 0x00, 0x21, 0x12, 0x78, 0x22, 0xf0, 0x0f, 0x02, 0x20, 0x2a, 0x08, 0xbf, + 0x01, 0x21, 0x69, 0xb9, 0x00, 0x21, 0x80, 0xf8, 0x40, 0x11, 0xa0, 0xf5, 0xa0, 0x74, 0x01, + 0x22, 0x22, 0x70, 0x02, 0x70, 0xa0, 0xf5, 0x9c, 0x72, 0x11, 0x70, 0x80, 0xf8, 0xfc, 0x10, + 0x0c, 0xe0, 0x93, 0xf8, 0x77, 0x10, 0x01, 0xf0, 0x0f, 0x01, 0x07, 0xe0, 0x01, 0x21, 0x80, + 0xf8, 0xfc, 0x10, 0x01, 0x70, 0x93, 0xf8, 0x77, 0x10, 0x41, 0xf0, 0x10, 0x01, 0x83, 0xf8, + 0x77, 0x10, 0x10, 0xbd, 0xc0, 0x46, 0x34, 0x24, 0x00, 0x40, 0x1d, 0x09, 0x00, 0x20, 0x04, + 0x09, 0x00, 0x20, 0x0a, 0x02, 0x00, 0x20, 0x1c, 0x09, 0x00, 0x20, 0x1e, 0x09, 0x00, 0x20, + 0x0c, 0x00, 0x28, 0x00, + + 0x01, 0x05, 0xff, 0x45, 0x64, 0x38, 0x19, 0x00, 0x40, 0x80, 0xe1, 0x00, 0xe0, 0x5e, 0x01, + 0x00, 0x20, 0xd0, 0x08, 0x00, 0x20, 0xca, 0x00, 0x00, 0x20, 0x00, 0x02, 0x00, 0x20, 0x40, + 0x41, 0x04, 0x42, 0x44, 0x24, 0x00, 0x40, 0x1c, 0x09, 0x00, 0x20, 0x82, 0xb0, 0x00, 0x94, + 0x01, 0x4c, 0x01, 0x94, 0x10, 0xbd, 0x00, 0xbf, 0xcb, 0x2d, 0x00, 0x00, 0x82, 0xb0, 0x00, + 0x94, 0x01, 0x4c, 0x01, 0x94, 0x10, 0xbd, 0x00, 0xbf, 0xe1, 0x24, 0x00, 0x00, + + 0x01, 0x01, 0xff, 0x06, 0x06, 0x02, 0x19, 0x00, 0x1b, 0x00, + + 0x01, 0x01, 0xff, 0x06, 0x16, 0x02, 0x19, 0x00, 0x00, 0x05, + + 0x01, 0x01, 0xff, 0x06, 0x10, 0x02, 0x19, 0x00, 0x19, 0x00, + + 0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x70, 0xb5, 0x04, 0x46, 0x0c, 0x4d, + 0xa0, 0x08, 0x00, 0xf5, 0xa0, 0x60, 0x0e, 0x46, 0x81, 0xb2, 0x28, 0x46, 0x10, 0x30, 0x82, + 0x88, 0x91, 0x42, 0x05, 0xd0, 0x81, 0x80, 0x15, 0x21, 0x01, 0x80, 0x02, 0x20, 0xff, 0xf7, + 0xd9, 0xfb, 0x04, 0xf0, 0x03, 0x04, 0x00, 0x2e, 0x25, 0x44, 0x0c, 0xbf, 0x28, 0x78, 0x28, + 0x88, 0x70, 0xbd, 0xc0, 0x46, 0x00, 0x02, 0x00, 0x40, 0x2d, 0xe9, 0xf0, 0x4f, 0xad, 0xf1, + 0x30, 0x0d, 0xdf, 0xf8, 0x2c, 0x82, 0xdf, 0xf8, 0x34, 0x92, 0x8a, 0x4d, 0xb8, 0xf8, 0xa0, + 0x00, 0x98, 0xf8, 0xa4, 0x70, 0x29, 0x46, 0x44, 0x10, 0x78, 0xb2, 0x00, 0x90, 0x48, 0x46, + 0xcd, 0xf8, 0x04, 0x90, 0xa4, 0x38, 0x01, 0x90, 0x02, 0x95, 0x10, 0x39, 0x02, 0x91, 0x48, + 0x78, 0x09, 0x78, 0x08, 0x2f, 0x00, 0xf0, 0x1f, 0x00, 0x01, 0xf0, 0x1f, 0x01, 0x15, 0xf8, + 0x00, 0xc0, 0xa0, 0xf1, 0x01, 0x02, 0x15, 0xf8, 0x01, 0xe0, 0xd2, 0xb2, 0xa1, 0xf1, 0x01, + 0x03, 0xae, 0x5c, 0xdb, 0xb2, 0xed, 0x5c, 0x04, 0xf0, 0x0f, 0x04, 0x03, 0xda, 0x0b, 0x46, + 0x02, 0x46, 0x75, 0x46, 0x66, 0x46, 0x02, 0x99, 0x08, 0x88, 0x20, 0xf0, 0x1f, 0x00, 0x03, + 0x43, 0x0b, 0x80, 0x08, 0x88, 0x0f, 0x46, 0x20, 0xf4, 0xf8, 0x50, 0x40, 0xea, 0x02, 0x20, + 0x08, 0x80, 0xbd, 0x70, 0x02, 0x20, 0x6e, 0x4d, 0xfe, 0x70, 0x00, 0x26, 0x03, 0x96, + + 0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x2e, 0x70, 0xff, 0xf7, 0x85, 0xfb, + 0xa7, 0xf6, 0xaa, 0x70, 0x00, 0x88, 0xa7, 0xf6, 0xaa, 0x71, 0x4f, 0xf0, 0x01, 0x0a, 0x20, + 0xf0, 0x07, 0x00, 0x40, 0xf0, 0x0b, 0x00, 0x08, 0x80, 0xa7, 0xf6, 0x9c, 0x70, 0x85, 0xf8, + 0x00, 0xa0, 0x06, 0x80, 0xa7, 0xf5, 0x7a, 0x60, 0x00, 0x88, 0x04, 0x90, 0x9c, 0x48, 0x31, + 0x46, 0x00, 0x19, 0xff, 0xf7, 0x7f, 0xff, 0x35, 0x46, 0xc6, 0xb2, 0x00, 0x99, 0x99, 0x48, + 0x00, 0xeb, 0x41, 0x00, 0x51, 0x46, 0xff, 0xf7, 0x76, 0xff, 0x01, 0x46, 0x71, 0x43, 0xcd, + 0xf8, 0x14, 0x80, 0x0f, 0x22, 0x95, 0x4e, 0xc9, 0x13, 0x89, 0xb2, 0x16, 0xf8, 0x01, 0x3f, + 0x8b, 0x42, 0x02, 0xdd, 0x6d, 0x1c, 0x52, 0x1e, 0xf8, 0xd1, 0x08, 0x2d, 0xea, 0xb2, 0x3c, + 0xbf, 0xc5, 0xf1, 0x07, 0x00, 0xc2, 0xb2, 0x1f, 0x20, 0xff, 0xf7, 0x92, 0xfb, 0x03, 0x9f, + 0x9c, 0x48, 0x39, 0x46, 0x40, 0x19, 0xff, 0xf7, 0x58, 0xff, 0x01, 0x9b, 0x01, 0x11, 0xca, + 0xb2, 0xd9, 0x8c, 0x21, 0xf0, 0xf0, 0x01, 0x41, 0xea, 0x02, 0x11, 0xd9, 0x84, 0xb3, 0xf8, + 0x88, 0x60, 0x19, 0x46, 0x60, 0xf3, 0x03, 0x06, 0xa3, 0xf8, 0x88, 0x60, 0x08, 0x88, 0x62, + 0xf3, 0x1f, 0x30, 0x40, 0xf4, 0x80, 0x50, 0x18, 0x80, 0xa4, 0x48, 0x39, 0x46, 0x40, 0x19, + 0xff, 0xf7, 0x3d, 0xff, 0x02, 0x9e, 0x86, 0xf8, 0xe0, 0x0e, 0xa1, 0x48, 0x39, 0x46, + + 0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x40, 0x19, 0xff, 0xf7, 0x35, 0xff, + 0x86, 0xf8, 0xe4, 0x0e, 0x08, 0x2c, 0x06, 0x94, 0xbc, 0xbf, 0xc4, 0xf1, 0x07, 0x00, 0x06, + 0x90, 0x06, 0x98, 0x02, 0x2c, 0xc0, 0xb2, 0x02, 0xd1, 0x00, 0x99, 0x08, 0x29, 0x09, 0xdc, + 0x0a, 0x2c, 0x00, 0x99, 0x01, 0xd1, 0x08, 0x29, 0x04, 0xdc, 0x0d, 0x2c, 0x00, 0x99, 0x03, + 0xd1, 0x0a, 0x29, 0x01, 0xdb, 0x40, 0x1e, 0xc0, 0xb2, 0xc1, 0x00, 0x92, 0x4e, 0x03, 0x9d, + 0x05, 0x27, 0x01, 0xeb, 0x40, 0x01, 0x76, 0x18, 0x51, 0x46, 0x30, 0x46, 0xff, 0xf7, 0x0f, + 0xff, 0x49, 0x46, 0x09, 0x1d, 0x7f, 0x1e, 0x06, 0xf1, 0x02, 0x06, 0x48, 0x53, 0x05, 0xf1, + 0x0c, 0x05, 0xf2, 0xd1, 0x06, 0x98, 0x02, 0x2c, 0xc0, 0xb2, 0x02, 0xd1, 0x00, 0x99, 0x08, + 0x29, 0x09, 0xdc, 0x0a, 0x2c, 0x00, 0x99, 0x01, 0xd1, 0x08, 0x29, 0x04, 0xdc, 0x0d, 0x2c, + 0x00, 0x99, 0x03, 0xd1, 0x0a, 0x29, 0x01, 0xdb, 0x40, 0x1e, 0xc0, 0xb2, 0x00, 0xeb, 0x80, + 0x00, 0x03, 0x9d, 0x4f, 0x46, 0xdf, 0xf8, 0xf8, 0xb1, 0x82, 0x46, 0x2e, 0x46, 0x0a, 0xeb, + 0x06, 0x00, 0x03, 0x99, 0x58, 0x44, 0xff, 0xf7, 0xe5, 0xfe, 0x01, 0x46, 0x39, 0xf8, 0x05, + 0x00, 0x76, 0x1c, 0x20, 0xf4, 0x7f, 0x60, 0x05, 0x2e, 0x40, 0xea, 0x01, 0x10, 0x78, 0x53, + 0x05, 0xf1, 0x0c, 0x05, 0xec, 0xd3, 0x06, 0x98, 0x02, 0x2c, 0xc5, 0xb2, 0x02, 0xd1, + + 0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x00, 0x98, 0x0a, 0x28, 0x12, 0xda, + 0x0a, 0x2c, 0x00, 0x98, 0x01, 0xd1, 0x0a, 0x28, 0x0d, 0xda, 0x0d, 0x2c, 0x00, 0x98, 0x0c, + 0xd1, 0x0a, 0x28, 0x0a, 0xdb, 0x07, 0xe0, 0xc0, 0x00, 0x00, 0x20, 0xc0, 0x11, 0x00, 0x40, + 0xd0, 0x40, 0x00, 0x42, 0xa4, 0x20, 0x00, 0x40, 0x6d, 0x1e, 0xed, 0xb2, 0x03, 0x9c, 0x65, + 0x4f, 0x05, 0xeb, 0x85, 0x05, 0x26, 0x46, 0xa8, 0x19, 0x03, 0x99, 0x38, 0x18, 0xff, 0xf7, + 0xb2, 0xfe, 0x49, 0x46, 0x76, 0x1c, 0x89, 0x1c, 0x05, 0x2e, 0x08, 0x55, 0x04, 0xf1, 0x0c, + 0x04, 0xf2, 0xd3, 0x06, 0x98, 0x00, 0xeb, 0x80, 0x00, 0x07, 0x90, 0x03, 0x9d, 0xdf, 0xf8, + 0x70, 0xb1, 0xdf, 0xf8, 0x68, 0x81, 0x2f, 0x46, 0x07, 0x9e, 0xdd, 0xf8, 0x0c, 0xa0, 0xf6, + 0x19, 0x51, 0x46, 0x08, 0xeb, 0x06, 0x00, 0xff, 0xf7, 0x97, 0xfe, 0xc4, 0xb2, 0x51, 0x46, + 0x0b, 0xeb, 0x06, 0x00, 0xff, 0xf7, 0x91, 0xfe, 0x00, 0x99, 0x88, 0x42, 0xdc, 0xbf, 0xa4, + 0x1c, 0xe4, 0xb2, 0x48, 0x46, 0x7f, 0x1c, 0x40, 0x1e, 0x05, 0x2f, 0x44, 0x55, 0x05, 0xf1, + 0x0c, 0x05, 0xe3, 0xd3, 0x4d, 0x48, 0xdd, 0xf8, 0x0c, 0x90, 0x08, 0x90, 0x4c, 0x48, 0x09, + 0x90, 0x4c, 0x48, 0x4e, 0x46, 0xdf, 0xf8, 0x20, 0x81, 0x0a, 0x90, 0x0b, 0x90, 0x07, 0x9c, + 0xdd, 0xf8, 0x0c, 0xb0, 0xa4, 0x19, 0x59, 0x46, 0x08, 0xeb, 0x04, 0x00, 0xff, 0xf7, + + 0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x6f, 0xfe, 0xc1, 0x10, 0x00, 0xf0, + 0x07, 0x00, 0x05, 0x46, 0xa2, 0x46, 0x08, 0x98, 0xcf, 0xb2, 0x59, 0x46, 0x50, 0x44, 0xff, + 0xf7, 0x64, 0xfe, 0x00, 0x9a, 0x00, 0xf0, 0x0f, 0x01, 0xbb, 0x46, 0x91, 0x42, 0x19, 0xdc, + 0x00, 0x99, 0x06, 0x9c, 0xb1, 0xeb, 0x20, 0x1f, 0x23, 0xdb, 0xbb, 0x46, 0x0c, 0xb3, 0x5f, + 0x45, 0x1f, 0xd1, 0x64, 0x1e, 0x04, 0xeb, 0x84, 0x00, 0x03, 0x99, 0x30, 0x18, 0x40, 0x44, + 0xff, 0xf7, 0x4d, 0xfe, 0xc0, 0x10, 0xc7, 0xb2, 0xf1, 0xe7, 0x58, 0x13, 0x00, 0x10, 0x68, + 0x13, 0x00, 0x10, 0xe7, 0x33, 0x00, 0x00, 0x06, 0x9c, 0x5f, 0x45, 0x0b, 0xd1, 0x64, 0x1c, + 0x04, 0xeb, 0x84, 0x00, 0x03, 0x99, 0x30, 0x18, 0x40, 0x44, 0xff, 0xf7, 0x39, 0xfe, 0xc0, + 0x10, 0x10, 0x2c, 0xc7, 0xb2, 0xf1, 0xd3, 0x09, 0x98, 0x03, 0x99, 0x50, 0x44, 0xff, 0xf7, + 0x30, 0xfe, 0x00, 0x9a, 0x00, 0xf0, 0x0f, 0x01, 0x91, 0x42, 0x08, 0xdc, 0x00, 0x99, 0xb1, + 0xeb, 0x20, 0x1f, 0x06, 0xdb, 0xad, 0x1c, 0x03, 0xe0, 0xc0, 0x46, 0x80, 0x13, 0x00, 0x10, + 0xad, 0x1e, 0xed, 0xb2, 0x0a, 0x98, 0x48, 0x44, 0x01, 0x88, 0x0b, 0x9a, 0x21, 0xf4, 0xf8, + 0x71, 0x41, 0xea, 0x07, 0x11, 0x22, 0xf8, 0x09, 0x10, 0x09, 0xf1, 0x0c, 0x09, 0x81, 0x88, + 0x76, 0x1c, 0x05, 0x2e, 0x21, 0xf0, 0x07, 0x01, 0x45, 0xea, 0x01, 0x05, 0x85, 0x80, + + 0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x92, 0xd3, 0x02, 0x98, 0x04, 0x99, + 0xa0, 0xf5, 0x7a, 0x60, 0x01, 0x80, 0x01, 0x9a, 0x05, 0x99, 0xb2, 0xf8, 0xe6, 0x00, 0xb1, + 0xf8, 0xaa, 0x10, 0x0c, 0xb0, 0x20, 0xf0, 0x0f, 0x00, 0x01, 0x43, 0xa2, 0xf8, 0xe6, 0x10, + 0xbd, 0xe8, 0xf0, 0x8f, 0x90, 0x13, 0x00, 0x10, 0xa0, 0x13, 0x00, 0x10, 0xb0, 0x13, 0x00, + 0x10, 0x50, 0x14, 0x00, 0x10, 0xa0, 0x14, 0x00, 0x10, 0xf0, 0x14, 0x00, 0x10, 0x40, 0x15, + 0x00, 0x10, 0x90, 0x15, 0x00, 0x10, 0xe8, 0x15, 0x00, 0x10, 0x38, 0x16, 0x00, 0x10, 0xa0, + 0x20, 0x00, 0x40, 0xc3, 0xbc, 0xb5, 0xae, 0xa6, 0x9f, 0x98, 0x91, 0x89, 0x82, 0x7b, 0x74, + 0x6c, 0x65, 0x5e, 0x00, 0x10, 0xb5, 0x8a, 0x4a, 0x4f, 0xf0, 0x00, 0x00, 0x01, 0x46, 0x14, + 0x46, 0xa4, 0xf1, 0xbe, 0x04, 0x21, 0x80, 0xa0, 0x70, 0x20, 0x71, 0xa0, 0x71, 0xb4, 0xf8, + 0x42, 0x30, 0xdb, 0xb2, 0xa4, 0xf8, 0x42, 0x30, 0x81, 0x4b, 0x18, 0x70, 0xa4, 0xf6, 0xf4, + 0x33, 0x19, 0x80, 0xa4, 0xf6, 0xf2, 0x33, 0x19, 0x80, 0x11, 0x88, 0xa4, 0xf6, 0xfc, 0x33, + 0x21, 0xf0, 0x03, 0x01, 0xa4, 0xf8, 0xbe, 0x10, 0x7b, 0x49, 0x8a, 0x6b, 0x1a, 0x60, 0xca, + 0x6b, 0xa4, 0xf6, 0xf8, 0x33, 0x1a, 0x60, 0x91, 0xf8, 0x41, 0x20, 0x78, 0x4b, 0x1a, 0x70, + 0x91, 0xf8, 0x40, 0x20, 0x77, 0x4b, 0x84, 0xf8, 0xe1, 0x25, 0x91, 0xf8, 0x42, 0x20, + + 0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x84, 0xf8, 0xdd, 0x24, 0x91, 0xf8, + 0x43, 0x20, 0x84, 0xf8, 0xdc, 0x24, 0x4a, 0x6c, 0x1a, 0x60, 0x91, 0xf8, 0x48, 0x30, 0x91, + 0xf8, 0x49, 0x10, 0x7e, 0x4a, 0x82, 0xf8, 0x7e, 0x10, 0x8f, 0x49, 0x82, 0xf8, 0x7a, 0x30, + 0x91, 0xf8, 0x7c, 0x20, 0x3a, 0xb9, 0x01, 0x22, 0x81, 0xf8, 0x7c, 0x20, 0xff, 0xf7, 0xc0, + 0xf8, 0x68, 0x49, 0x20, 0x20, 0x08, 0x80, 0x10, 0xbd, 0x2d, 0xe9, 0xfc, 0x4f, 0x4f, 0xf4, + 0x91, 0x71, 0xdf, 0xf8, 0xcc, 0xc1, 0x4f, 0xf0, 0x06, 0x0e, 0x4f, 0xf4, 0x92, 0x7b, 0xdf, + 0xf8, 0x88, 0xa1, 0x00, 0x91, 0x0c, 0xf5, 0x81, 0x71, 0x01, 0x91, 0x00, 0x22, 0x4f, 0x21, + 0x54, 0x46, 0x14, 0xf8, 0x01, 0x3b, 0x93, 0x42, 0xa8, 0xbf, 0x1a, 0x1c, 0x49, 0x1e, 0xf8, + 0xd1, 0x00, 0x9b, 0x3c, 0xf8, 0x0b, 0x10, 0x3c, 0xf8, 0x03, 0x30, 0x02, 0xfb, 0x03, 0x11, + 0x01, 0xf5, 0x80, 0x71, 0x0c, 0x13, 0x9c, 0xf8, 0xe0, 0x10, 0xa1, 0x42, 0xa8, 0xbf, 0x0c, + 0x1c, 0x9c, 0xf8, 0xe1, 0x10, 0xa1, 0x42, 0xb4, 0xbf, 0x1f, 0xfa, 0x84, 0xf8, 0x88, 0x46, + 0x05, 0x46, 0x01, 0x99, 0xd1, 0x46, 0x00, 0x23, 0x0a, 0x78, 0x9a, 0x42, 0x12, 0xbf, 0xa6, + 0xb2, 0x46, 0x46, 0x49, 0x1c, 0x19, 0xf8, 0x01, 0x7b, 0x00, 0x22, 0xbe, 0x42, 0xd8, 0xbf, + 0x01, 0x22, 0x5b, 0x1c, 0x2e, 0x78, 0x02, 0xfa, 0x0e, 0xf2, 0x4f, 0x2b, 0x42, 0xea, + + 0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x06, 0x02, 0x05, 0xf8, 0x01, 0x2b, + 0xe9, 0xd3, 0xbe, 0xf1, 0x01, 0x0e, 0xaa, 0xf1, 0x50, 0x0a, 0xc0, 0xd5, 0xbd, 0xe8, 0xfc, + 0x8f, 0x2d, 0xe9, 0xf0, 0x4f, 0x4f, 0xf0, 0x00, 0x09, 0x4b, 0x49, 0xca, 0x46, 0x40, 0x1e, + 0xd4, 0x46, 0xc8, 0x46, 0x91, 0xf8, 0xe2, 0xb0, 0x54, 0x46, 0x91, 0xf8, 0xe3, 0x60, 0x62, + 0x46, 0x63, 0x46, 0x65, 0x46, 0x10, 0xf8, 0x01, 0x7f, 0x01, 0x2f, 0x2c, 0xd0, 0x40, 0x2f, + 0x2a, 0xd0, 0xf9, 0x43, 0x11, 0xf0, 0x1e, 0x0f, 0x0f, 0xd0, 0x11, 0xf0, 0x3c, 0x0f, 0x09, + 0xd0, 0x11, 0xf0, 0x0f, 0x0f, 0x06, 0xd0, 0x11, 0xf0, 0x78, 0x0f, 0xce, 0x46, 0x18, 0xbf, + 0x4f, 0xf0, 0x01, 0x0e, 0x00, 0xe0, 0xce, 0x46, 0x71, 0x46, 0x00, 0xe0, 0x49, 0x46, 0x5f, + 0xfa, 0x81, 0xfe, 0x1f, 0xb1, 0x09, 0x01, 0x49, 0x1c, 0xc9, 0xb2, 0x00, 0xe0, 0x49, 0x46, + 0xba, 0xf1, 0x00, 0x0f, 0x4f, 0xf0, 0x01, 0x07, 0x01, 0x70, 0x04, 0xd1, 0x11, 0xb1, 0xbe, + 0xf1, 0x00, 0x0f, 0x00, 0xd0, 0x4f, 0x46, 0x01, 0x78, 0xba, 0x46, 0x02, 0xe0, 0x49, 0x46, + 0x80, 0xf8, 0x00, 0x90, 0x12, 0xb1, 0x11, 0xb9, 0x03, 0xf1, 0x01, 0x03, 0x49, 0xb1, 0x11, + 0x29, 0x02, 0xf1, 0x01, 0x02, 0x08, 0xbf, 0x64, 0x1c, 0x9e, 0x42, 0x02, 0xd9, 0x1c, 0x19, + 0x9a, 0x18, 0x4b, 0x46, 0x4f, 0x2d, 0x18, 0xbf, 0x9e, 0x42, 0x10, 0xd1, 0x93, 0x45, + + 0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x09, 0xd3, 0x94, 0x42, 0x04, 0xd1, + 0x00, 0x2a, 0x14, 0xbf, 0x01, 0x21, 0x61, 0x46, 0x8c, 0x46, 0x5f, 0xfa, 0x8c, 0xfc, 0x01, + 0xe0, 0x4f, 0xf0, 0x10, 0x08, 0x4b, 0x46, 0x4c, 0x46, 0x4a, 0x46, 0x6d, 0x1c, 0x50, 0x2d, + 0xa4, 0xd3, 0x0c, 0xeb, 0xca, 0x10, 0x40, 0x44, 0xc0, 0xb2, 0xbd, 0xe8, 0xf0, 0x8f, 0xc0, + 0x46, 0x4c, 0x8c, 0x03, 0x42, 0xd6, 0x1c, 0x00, 0x40, 0xd0, 0x08, 0x00, 0x20, 0x00, 0x3f, + 0x04, 0x42, 0xf8, 0x20, 0x00, 0x40, 0x1e, 0x24, 0x00, 0x40, 0x20, 0x06, 0x00, 0x20, 0x2d, + 0xe9, 0xf0, 0x4f, 0xad, 0xf5, 0x92, 0x7d, 0x0a, 0x4f, 0x63, 0x48, 0x4f, 0xf0, 0x00, 0x05, + 0x05, 0x70, 0x97, 0xf8, 0xe7, 0x00, 0x38, 0xb9, 0x87, 0xf8, 0xe6, 0x50, 0x87, 0xf8, 0xe8, + 0x50, 0x87, 0xf8, 0xe9, 0x50, 0xa7, 0xf8, 0xea, 0x50, 0x5c, 0x48, 0x00, 0x78, 0x00, 0x28, + 0x40, 0xf0, 0xad, 0x80, 0x01, 0xe0, 0x00, 0x02, 0x00, 0x20, 0x59, 0x4e, 0x35, 0x70, 0x02, + 0x20, 0xff, 0xf7, 0xa9, 0xfa, 0x58, 0x48, 0x04, 0x46, 0x00, 0x88, 0xa4, 0x1f, 0x20, 0xf0, + 0x07, 0x00, 0x40, 0xf0, 0x0b, 0x00, 0xe0, 0x80, 0x01, 0x20, 0x46, 0x90, 0x30, 0x70, 0x08, + 0x48, 0x4f, 0xf0, 0x19, 0x0a, 0x4f, 0xf4, 0x00, 0x7b, 0x47, 0x90, 0x50, 0x48, 0x6f, 0xf0, + 0xff, 0x38, 0xa9, 0x46, 0x48, 0x90, 0x97, 0xf8, 0xde, 0x20, 0x4a, 0x45, 0x70, 0xd9, + + 0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x02, 0xe0, 0xc0, 0x46, 0x30, 0x00, + 0x00, 0x20, 0x14, 0x21, 0x1e, 0xaa, 0x32, 0xab, 0x49, 0x1e, 0x42, 0xf8, 0x04, 0x8b, 0x43, + 0xf8, 0x04, 0x8b, 0xf9, 0xd1, 0x14, 0xab, 0x0a, 0xaa, 0x69, 0x46, 0x03, 0x20, 0xfd, 0xf7, + 0xe1, 0xfc, 0xa4, 0xf8, 0x16, 0xb0, 0x26, 0x8a, 0x02, 0x20, 0xa4, 0xf8, 0x10, 0xa0, 0xff, + 0xf7, 0x73, 0xfa, 0x48, 0x9b, 0x8c, 0x21, 0x53, 0xf8, 0x04, 0x2b, 0x49, 0x1e, 0x22, 0x60, + 0xfa, 0xd1, 0x26, 0x82, 0x08, 0x20, 0xff, 0xf7, 0x86, 0xfa, 0x14, 0xab, 0x0a, 0xaa, 0x69, + 0x46, 0x02, 0x20, 0xfd, 0xf7, 0xc8, 0xfc, 0x28, 0x46, 0xfe, 0xf7, 0x7f, 0xff, 0x32, 0xa8, + 0xff, 0xf7, 0xc0, 0xfe, 0xa4, 0xf8, 0x16, 0xb0, 0x02, 0x20, 0xa4, 0xf8, 0x10, 0xa0, 0xff, + 0xf7, 0x55, 0xfa, 0x8c, 0x21, 0x48, 0x9b, 0x22, 0x68, 0x49, 0x1e, 0x43, 0xf8, 0x04, 0x2b, + 0xfa, 0xd1, 0x26, 0x82, 0x1e, 0xa8, 0xff, 0xf7, 0xae, 0xfe, 0x1e, 0xa8, 0xff, 0xf7, 0xfc, + 0xfe, 0x87, 0xf8, 0xe4, 0x00, 0x32, 0xa8, 0xff, 0xf7, 0xf7, 0xfe, 0x87, 0xf8, 0xe5, 0x00, + 0x97, 0xf8, 0xe5, 0x10, 0x97, 0xf8, 0xe4, 0x20, 0x97, 0xf8, 0xe6, 0x30, 0x09, 0xf1, 0x01, + 0x09, 0x11, 0x43, 0x97, 0xf8, 0xe7, 0x20, 0x52, 0x1c, 0x87, 0xf8, 0xe7, 0x20, 0x01, 0xf0, + 0x01, 0x02, 0xd2, 0x18, 0x97, 0xf8, 0xe8, 0x30, 0x87, 0xf8, 0xe6, 0x20, 0x0a, 0x11, + + 0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x02, 0xf0, 0x01, 0x02, 0xd2, 0x18, + 0x87, 0xf8, 0xe8, 0x20, 0x97, 0xf8, 0xe9, 0x20, 0x02, 0xeb, 0xe1, 0x12, 0x87, 0xf8, 0xe9, + 0x20, 0x4a, 0x09, 0x8a, 0xd2, 0x48, 0x08, 0x0d, 0xd2, 0x97, 0xf8, 0xdf, 0x00, 0x02, 0x28, + 0x09, 0xd0, 0x01, 0x28, 0x01, 0xd1, 0x48, 0x09, 0x05, 0xd2, 0x31, 0xf0, 0x7f, 0x01, 0x04, + 0xbf, 0x02, 0x20, 0x46, 0x90, 0x04, 0xd0, 0xb7, 0xf8, 0xea, 0x00, 0x40, 0x1c, 0xa7, 0xf8, + 0xea, 0x00, 0x46, 0x99, 0x47, 0x98, 0x80, 0xf8, 0x7c, 0x10, 0x07, 0x49, 0x49, 0xb0, 0x20, + 0x20, 0x08, 0x80, 0xbd, 0xe8, 0xf0, 0x8f, 0xac, 0x00, 0x00, 0x20, 0xde, 0x08, 0x00, 0x20, + 0xd0, 0x40, 0x00, 0x42, 0x06, 0x02, 0x00, 0x40, 0x40, 0x04, 0x00, 0x20, 0x1e, 0x24, 0x00, + 0x40, 0x2d, 0xe9, 0xfe, 0x4f, 0x0c, 0xaf, 0xa3, 0x4c, 0x06, 0x46, 0x8c, 0x46, 0x34, 0xf8, + 0x02, 0x5c, 0x24, 0x88, 0x39, 0x78, 0x02, 0xfb, 0x05, 0x42, 0x02, 0xf5, 0x80, 0x72, 0x4f, + 0xea, 0x22, 0x3b, 0x9d, 0x4a, 0x12, 0x88, 0x5a, 0x45, 0xa8, 0xbf, 0x93, 0x46, 0x9d, 0x4c, + 0x9b, 0x4a, 0x5d, 0x00, 0x99, 0x42, 0x2c, 0x44, 0x1a, 0x44, 0x4f, 0xf0, 0x00, 0x0e, 0x3b, + 0xdb, 0xdf, 0xf8, 0x64, 0x82, 0xad, 0x19, 0xad, 0x1e, 0xc9, 0x1a, 0x4b, 0x1c, 0xa4, 0x1e, + 0x08, 0x26, 0xb2, 0x46, 0x04, 0x21, 0x00, 0x91, 0x03, 0x21, 0x01, 0x91, 0x4f, 0xf0, + + 0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x02, 0x09, 0xcd, 0xf8, 0x08, 0xe0, + 0x34, 0xf8, 0x02, 0x7f, 0x35, 0xf8, 0x02, 0x1f, 0x39, 0x40, 0x8b, 0x45, 0x1c, 0xda, 0x98, + 0xf8, 0x50, 0x10, 0x07, 0xfb, 0x01, 0x61, 0xbc, 0xeb, 0x21, 0x1f, 0x13, 0xdc, 0x98, 0xf8, + 0x51, 0x10, 0x07, 0xfb, 0x01, 0xa1, 0xbc, 0xeb, 0x21, 0x1f, 0x09, 0xdc, 0x98, 0xf8, 0x52, + 0x10, 0x07, 0xfb, 0x01, 0xa1, 0xbc, 0xeb, 0x21, 0x1f, 0xd4, 0xbf, 0x00, 0x99, 0x01, 0x99, + 0x03, 0xe0, 0x82, 0xf8, 0x00, 0x90, 0x01, 0xe0, 0x02, 0x99, 0x11, 0x70, 0x12, 0xf8, 0x01, + 0x1b, 0x71, 0x45, 0xa8, 0xbf, 0x8e, 0x46, 0x5b, 0x1e, 0xd4, 0xd1, 0x70, 0x46, 0xbd, 0xe8, + 0xfe, 0x8f, 0x2d, 0xe9, 0xf0, 0x4f, 0xad, 0xf1, 0x70, 0x0d, 0x8c, 0x4c, 0x05, 0x91, 0x01, + 0x46, 0x06, 0x91, 0x04, 0xf5, 0x93, 0x71, 0x07, 0x91, 0x94, 0xf8, 0x2b, 0x11, 0x70, 0x4b, + 0x00, 0x25, 0x08, 0x91, 0x19, 0x80, 0x70, 0x49, 0xac, 0x46, 0x94, 0xf8, 0x2a, 0x21, 0x09, + 0x91, 0x0a, 0x95, 0x0b, 0x95, 0x01, 0x25, 0x0c, 0x95, 0x0d, 0x93, 0x6a, 0x4b, 0x81, 0x4d, + 0x0e, 0x93, 0x08, 0x23, 0x0f, 0x93, 0x10, 0x95, 0x69, 0x4d, 0x61, 0x46, 0x02, 0xf0, 0x0f, + 0x02, 0x11, 0x95, 0x12, 0x93, 0x13, 0x93, 0x14, 0x94, 0x0b, 0x9b, 0xe2, 0x46, 0x15, 0x94, + 0x16, 0x93, 0x0b, 0xe0, 0x52, 0x1e, 0x64, 0x1e, 0x40, 0xf0, 0x42, 0x81, 0x0c, 0x9a, + + 0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x52, 0x1c, 0x0c, 0x92, 0x5b, 0x4a, + 0x92, 0x1d, 0x12, 0x78, 0x02, 0xf0, 0x0f, 0x02, 0x0c, 0x9b, 0x06, 0x9d, 0x09, 0x9e, 0x9a, + 0x42, 0x09, 0x9b, 0x07, 0x9a, 0xc0, 0xf0, 0x3e, 0x81, 0xa0, 0x33, 0x15, 0x88, 0x56, 0x88, + 0x0b, 0x9a, 0x02, 0x2a, 0x05, 0xdb, 0x0a, 0x9a, 0x92, 0xb2, 0x08, 0x92, 0x0d, 0x9a, 0x08, + 0x9c, 0x14, 0x80, 0xdd, 0xf8, 0x58, 0x80, 0x4f, 0x24, 0xdd, 0xf8, 0x18, 0xe0, 0x99, 0x46, + 0x39, 0xf8, 0x02, 0x7b, 0x3e, 0xf8, 0x02, 0x2b, 0x3a, 0x40, 0x42, 0x45, 0xa8, 0xbf, 0x90, + 0x46, 0x64, 0x1e, 0x08, 0xfb, 0x05, 0x62, 0xf3, 0xd1, 0x02, 0xf5, 0x00, 0x62, 0x12, 0x13, + 0x0a, 0x92, 0x08, 0x9c, 0x94, 0x42, 0x24, 0xbf, 0x22, 0x1c, 0x0a, 0x92, 0x09, 0x9a, 0x9b, + 0x1e, 0x17, 0x93, 0x92, 0x1e, 0x18, 0x92, 0x16, 0x9c, 0xdd, 0xf8, 0x18, 0xb0, 0x19, 0x94, + 0xa1, 0x46, 0x18, 0x9a, 0x32, 0xf8, 0x02, 0x7f, 0x18, 0x92, 0x17, 0x9b, 0x33, 0xf8, 0x02, + 0x5f, 0xaf, 0x42, 0x17, 0x93, 0xb4, 0xbf, 0x2b, 0x1c, 0x3b, 0x1c, 0xbb, 0xf8, 0x00, 0x20, + 0x0a, 0x9e, 0x13, 0x40, 0x9e, 0x42, 0x84, 0xbf, 0x0c, 0xf1, 0x01, 0x03, 0x5f, 0xfa, 0x83, + 0xfc, 0x03, 0xd8, 0x49, 0x1c, 0xc9, 0xb2, 0xdd, 0xf8, 0x58, 0xc0, 0xba, 0xf1, 0x00, 0x0f, + 0x08, 0xbf, 0x01, 0x29, 0x19, 0x9b, 0x03, 0xd0, 0xba, 0xf1, 0x01, 0x0f, 0x09, 0xd0, + + 0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0xca, 0xe0, 0x5f, 0xfa, 0x83, 0xf9, + 0xdd, 0xf8, 0x58, 0xc0, 0x4f, 0xf0, 0x01, 0x0a, 0xcd, 0xf8, 0x68, 0xc0, 0xe0, 0x46, 0x14, + 0x9b, 0x03, 0xf5, 0x93, 0x73, 0x07, 0x93, 0x14, 0x9b, 0x93, 0xf8, 0x2a, 0x31, 0x1e, 0x11, + 0x14, 0x9b, 0x93, 0xf8, 0x2d, 0xe1, 0x8e, 0x45, 0x03, 0xd1, 0x61, 0x44, 0xc9, 0xb2, 0xdd, + 0xf8, 0x58, 0xc0, 0x1a, 0x9b, 0xbb, 0x42, 0xdc, 0xbf, 0x02, 0xea, 0x07, 0x03, 0x1a, 0x93, + 0x2a, 0x40, 0x42, 0x45, 0xa8, 0xbf, 0x1f, 0xfa, 0x82, 0xf8, 0x66, 0x45, 0x03, 0xd0, 0x19, + 0x9a, 0x4e, 0x2a, 0x40, 0xf0, 0xa0, 0x80, 0x15, 0x9a, 0x8e, 0x45, 0x92, 0xf8, 0x2c, 0x51, + 0x19, 0x9a, 0xa2, 0xeb, 0x0c, 0x02, 0xd6, 0xb2, 0x2a, 0xdd, 0x00, 0x29, 0x77, 0xd0, 0x8d, + 0xf8, 0x00, 0x60, 0x06, 0x98, 0x05, 0x99, 0x1a, 0x46, 0x4b, 0x46, 0xff, 0xf7, 0xcd, 0xfe, + 0x0d, 0x99, 0x1b, 0x90, 0x1a, 0x9a, 0x09, 0x88, 0x08, 0x91, 0x15, 0x99, 0x91, 0xf8, 0x2e, + 0x11, 0xb2, 0xeb, 0x01, 0x1f, 0x64, 0xdd, 0x15, 0x99, 0x08, 0x9a, 0x91, 0xf8, 0x32, 0x51, + 0x91, 0xf8, 0x30, 0x11, 0x91, 0x42, 0x57, 0xdb, 0x08, 0x91, 0x0d, 0x9a, 0x11, 0x80, 0x53, + 0xe0, 0x24, 0x03, 0x00, 0x20, 0x95, 0x33, 0x00, 0x00, 0x38, 0x00, 0x00, 0x20, 0x40, 0x04, + 0x00, 0x20, 0xc0, 0x00, 0x00, 0x20, 0x10, 0x9a, 0x12, 0x78, 0x17, 0x01, 0x11, 0x9a, + + 0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x92, 0xf8, 0x50, 0x30, 0x12, 0x9a, + 0x08, 0xfb, 0x03, 0x23, 0x05, 0x9a, 0xb2, 0xeb, 0x23, 0x1f, 0x1c, 0xdc, 0x11, 0x9a, 0x13, + 0x9b, 0x92, 0xf8, 0x51, 0xc0, 0x08, 0xfb, 0x0c, 0x3c, 0x05, 0x9b, 0xb3, 0xeb, 0x2c, 0x1f, + 0xc8, 0xbf, 0x02, 0x22, 0x11, 0xdc, 0x92, 0xf8, 0x52, 0x30, 0x0f, 0x9a, 0x08, 0xfb, 0x03, + 0x23, 0x05, 0x9a, 0xb2, 0xeb, 0x23, 0x1f, 0xcc, 0xbf, 0x03, 0x22, 0x04, 0x22, 0x05, 0xe0, + 0xc0, 0x46, 0x00, 0x02, 0x00, 0x20, 0x2f, 0x03, 0x00, 0x20, 0x16, 0x9a, 0x4e, 0x45, 0x0e, + 0x9b, 0x1b, 0x92, 0x09, 0xd3, 0xa6, 0xeb, 0x09, 0x02, 0x52, 0x1c, 0x4b, 0x44, 0xdd, 0xf8, + 0x6c, 0xc0, 0x52, 0x1e, 0x03, 0xf8, 0x01, 0xcb, 0xf9, 0xd1, 0x47, 0x45, 0x15, 0x9a, 0x12, + 0xda, 0x92, 0xf8, 0x33, 0x51, 0x92, 0xf8, 0x31, 0x21, 0x08, 0x92, 0x0d, 0x9b, 0x1a, 0x80, + 0x0b, 0x9a, 0x52, 0x1c, 0xd2, 0xb2, 0x0b, 0x92, 0xb1, 0xeb, 0x4e, 0x0f, 0x04, 0xdb, 0x0b, + 0x99, 0x01, 0xf1, 0x01, 0x01, 0xc9, 0xb2, 0x0b, 0x91, 0x1b, 0x99, 0xb9, 0xb1, 0x05, 0x2c, + 0x16, 0x99, 0x14, 0xd2, 0xb9, 0xeb, 0x05, 0x02, 0x58, 0xbf, 0x01, 0x21, 0x12, 0xb2, 0x01, + 0xfb, 0x02, 0xf1, 0x04, 0xeb, 0x0d, 0x02, 0xad, 0x19, 0x11, 0x71, 0x04, 0xeb, 0x0d, 0x01, + 0x4e, 0x2d, 0x01, 0xf1, 0x0c, 0x01, 0xd4, 0xbf, 0xea, 0xb2, 0x4e, 0x22, 0x64, 0x1c, + + 0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x0a, 0x70, 0x16, 0x99, 0x8a, 0x46, + 0x8c, 0x46, 0x19, 0x9a, 0x0b, 0xf1, 0x02, 0x0b, 0x52, 0x1c, 0x4f, 0x2a, 0x19, 0x92, 0xff, + 0xf4, 0x08, 0xaf, 0x00, 0x2c, 0x04, 0xeb, 0x0d, 0x02, 0x3f, 0xf4, 0xc2, 0xae, 0x04, 0xeb, + 0x0d, 0x03, 0x0b, 0x32, 0x1b, 0x1d, 0x13, 0xf8, 0x01, 0x5d, 0x16, 0x78, 0x16, 0x9f, 0xae, + 0x42, 0x06, 0x9e, 0xff, 0xf4, 0xb2, 0xae, 0x26, 0xf8, 0x15, 0x70, 0x6d, 0x1c, 0xf5, 0xe7, + 0x4f, 0x23, 0x16, 0x9a, 0x36, 0xf8, 0x02, 0x4b, 0x35, 0xf8, 0x02, 0x1b, 0x21, 0x40, 0x91, + 0x42, 0xa8, 0xbf, 0x0a, 0x1c, 0x5b, 0x1e, 0xf5, 0xd1, 0x4e, 0x20, 0x8d, 0xf8, 0x00, 0x00, + 0x06, 0x98, 0x05, 0x99, 0x16, 0x9b, 0xff, 0xf7, 0x0f, 0xfe, 0x1c, 0xb0, 0xbd, 0xe8, 0xf0, + 0x8f, 0x00, 0x00, 0x00, 0x00, 0x2d, 0xe9, 0xf0, 0x4f, 0x56, 0x4d, 0x8b, 0x46, 0xa5, 0xf2, + 0x75, 0x47, 0x55, 0x4c, 0x39, 0x88, 0x01, 0x26, 0x92, 0x46, 0x21, 0xf0, 0x01, 0x01, 0x41, + 0xf0, 0x02, 0x01, 0x39, 0x80, 0xa4, 0xf5, 0x96, 0x61, 0x84, 0xf8, 0xe0, 0x60, 0x0e, 0x70, + 0x4f, 0xf4, 0x80, 0x51, 0x41, 0xfa, 0x00, 0xf8, 0x58, 0x46, 0x27, 0xf8, 0x08, 0x8c, 0x26, + 0x70, 0xff, 0xf7, 0xce, 0xfb, 0x05, 0xf6, 0xbf, 0x75, 0x28, 0x88, 0x20, 0xf4, 0xe0, 0x60, + 0x40, 0xf4, 0x00, 0x70, 0x28, 0x80, 0x50, 0x46, 0xff, 0xf7, 0xc3, 0xfb, 0xc8, 0xf1, + + 0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x00, 0x00, 0xd5, 0xf8, 0x40, 0x90, + 0x27, 0xf8, 0x08, 0x0c, 0x58, 0x46, 0x26, 0x70, 0xff, 0xf7, 0xb9, 0xfb, 0x28, 0x88, 0x20, + 0xf4, 0x40, 0x70, 0x40, 0xf4, 0x80, 0x60, 0x28, 0x80, 0x50, 0x46, 0xff, 0xf7, 0xb0, 0xfb, + 0x4f, 0xf0, 0x00, 0x08, 0xd5, 0xf8, 0x40, 0xb0, 0x30, 0x46, 0x27, 0xf8, 0x08, 0x8c, 0x26, + 0x70, 0xff, 0xf7, 0xa6, 0xfb, 0xdf, 0xf8, 0xd8, 0xa0, 0x30, 0x46, 0x8a, 0xf8, 0x00, 0x80, + 0xff, 0xf7, 0x9f, 0xfb, 0x38, 0x88, 0x20, 0xf0, 0x03, 0x00, 0x38, 0x80, 0x30, 0x46, 0x84, + 0xf8, 0xe0, 0x60, 0xff, 0xf7, 0x96, 0xfb, 0xa4, 0xf5, 0x96, 0x64, 0x84, 0xf8, 0x00, 0x80, + 0x8a, 0xf8, 0x00, 0x60, 0x28, 0x88, 0xa9, 0xeb, 0x0b, 0x09, 0x20, 0xf4, 0xe0, 0x60, 0x28, + 0x80, 0x48, 0x46, 0xbd, 0xe8, 0xf0, 0x8f, 0x10, 0xb5, 0x94, 0x4a, 0x27, 0x4c, 0x92, 0xf8, + 0x8a, 0x10, 0x20, 0x78, 0x92, 0xf8, 0x8b, 0x20, 0xff, 0xf7, 0x91, 0xff, 0x21, 0x88, 0x01, + 0x22, 0xc1, 0xf1, 0x10, 0x03, 0x9a, 0x40, 0xc1, 0xf1, 0x0a, 0x01, 0x80, 0x18, 0x08, 0x41, + 0x10, 0xbd, 0x70, 0xb5, 0xaf, 0x4d, 0x28, 0x88, 0x89, 0x4e, 0x20, 0xf4, 0xc0, 0x40, 0x40, + 0xf4, 0x80, 0x50, 0x28, 0x80, 0x96, 0xf8, 0x8c, 0x00, 0xff, 0xf7, 0x66, 0xfb, 0x28, 0x88, + 0x20, 0xf4, 0xe0, 0x40, 0x40, 0xf4, 0x00, 0x50, 0x28, 0x80, 0x96, 0xf8, 0x8d, 0x00, + + 0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0xff, 0xf7, 0x5c, 0xfb, 0x2c, 0x6c, + 0x28, 0x88, 0x20, 0xf4, 0x80, 0x40, 0x40, 0xf4, 0x40, 0x50, 0x28, 0x80, 0x96, 0xf8, 0x8c, + 0x00, 0xff, 0xf7, 0x51, 0xfb, 0x28, 0x88, 0x20, 0xf4, 0x40, 0x50, 0x40, 0xf4, 0x80, 0x40, + 0x28, 0x80, 0x96, 0xf8, 0x8d, 0x00, 0xff, 0xf7, 0x47, 0xfb, 0x29, 0x6c, 0x28, 0x88, 0x64, + 0x1a, 0x20, 0xf4, 0xe0, 0x40, 0x04, 0xf5, 0x80, 0x74, 0x28, 0x80, 0x60, 0x12, 0x70, 0xbd, + 0xc0, 0x46, 0xa1, 0x0c, 0x00, 0x40, 0xc0, 0x04, 0x01, 0x42, 0x4c, 0x8c, 0x03, 0x42, 0x12, + 0x03, 0x00, 0x20, 0x2d, 0xe9, 0xf0, 0x4f, 0xad, 0xf1, 0x50, 0x0d, 0x8f, 0x48, 0x69, 0x4c, + 0x01, 0x25, 0x00, 0x68, 0x00, 0x90, 0x94, 0xf8, 0xc6, 0x00, 0x05, 0x90, 0x8a, 0x48, 0x01, + 0x46, 0x0c, 0x31, 0x09, 0x78, 0x07, 0x46, 0x0d, 0x30, 0x06, 0x91, 0x89, 0x49, 0x7f, 0x1e, + 0x07, 0x91, 0x09, 0x78, 0x08, 0x91, 0x87, 0x49, 0x0d, 0x70, 0x0d, 0x74, 0xa4, 0xf8, 0x88, + 0x50, 0x4d, 0x21, 0x09, 0x91, 0x00, 0x88, 0x00, 0x21, 0x20, 0xf0, 0x07, 0x00, 0x40, 0xf0, + 0x08, 0x00, 0xf8, 0x81, 0xb4, 0xf8, 0x12, 0x01, 0x00, 0x01, 0x58, 0x38, 0x78, 0x73, 0x0a, + 0x91, 0x40, 0xf2, 0xfa, 0x70, 0xa4, 0xf8, 0xae, 0x00, 0xa4, 0xf8, 0xb0, 0x00, 0x4b, 0xf2, + 0x8c, 0x50, 0xa4, 0xf8, 0xb6, 0x00, 0xa4, 0xf8, 0xb8, 0x00, 0x78, 0x48, 0xa4, 0xf8, + + 0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0xb2, 0x10, 0xa4, 0xf8, 0xb4, 0x10, + 0xc5, 0x74, 0x81, 0x74, 0x0b, 0x90, 0x80, 0x7c, 0x02, 0x28, 0x80, 0xf2, 0xce, 0x80, 0x11, + 0x20, 0x0c, 0x90, 0x72, 0x48, 0x0d, 0x90, 0x04, 0xf1, 0xae, 0x00, 0x0e, 0x90, 0x0a, 0x98, + 0x0f, 0x90, 0x10, 0x90, 0x10, 0x98, 0x00, 0x28, 0x0c, 0xbf, 0x0a, 0x98, 0x0c, 0x98, 0x84, + 0xf8, 0xc6, 0x00, 0x04, 0x20, 0x11, 0x90, 0xdd, 0xf8, 0x28, 0x80, 0x01, 0xa8, 0xc3, 0x46, + 0x12, 0x90, 0xad, 0xf1, 0x01, 0x00, 0x13, 0x90, 0x13, 0x98, 0x10, 0xf8, 0x01, 0x6f, 0x13, + 0x90, 0x0d, 0x99, 0xf0, 0x01, 0x40, 0xf0, 0x02, 0x00, 0x08, 0x80, 0xdd, 0xf8, 0x28, 0x90, + 0x48, 0x46, 0xfe, 0xf7, 0x1b, 0xf9, 0x78, 0x5b, 0x20, 0xf0, 0x20, 0x00, 0x40, 0xf0, 0x10, + 0x00, 0x78, 0x53, 0x06, 0x20, 0xff, 0xf7, 0xbe, 0xfa, 0x78, 0x5b, 0x20, 0xf0, 0x10, 0x00, + 0x40, 0xf0, 0x20, 0x00, 0x78, 0x53, 0x28, 0x46, 0xff, 0xf7, 0xb5, 0xfa, 0x78, 0x5b, 0x20, + 0xf0, 0x30, 0x00, 0x71, 0x00, 0x78, 0x53, 0x09, 0x98, 0x01, 0xf6, 0x13, 0x11, 0x04, 0x26, + 0x38, 0x5a, 0x00, 0x04, 0xb0, 0xfb, 0xf1, 0xf0, 0x83, 0x44, 0xff, 0xf7, 0x1e, 0xff, 0x09, + 0xeb, 0x00, 0x01, 0x76, 0x1e, 0x89, 0x46, 0xf8, 0xd1, 0x4f, 0xf0, 0x04, 0x0a, 0x0a, 0x9e, + 0xff, 0xf7, 0x28, 0xff, 0xba, 0xf1, 0x01, 0x0a, 0x06, 0x44, 0xf9, 0xd1, 0x12, 0x99, + + 0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x4f, 0xea, 0x99, 0x00, 0x41, 0xf8, + 0x04, 0x0b, 0x12, 0x91, 0xff, 0xf7, 0xd3, 0xfc, 0x08, 0xeb, 0x96, 0x08, 0x11, 0x99, 0x49, + 0x1e, 0x11, 0x91, 0xb3, 0xd1, 0x10, 0x98, 0x4f, 0xea, 0x98, 0x08, 0x4f, 0xea, 0x9b, 0x0b, + 0x40, 0xbb, 0xb4, 0xf9, 0x90, 0x00, 0x02, 0x99, 0x48, 0x43, 0xb4, 0xf9, 0x8e, 0x20, 0x01, + 0x9b, 0x03, 0xfb, 0x02, 0x00, 0xb4, 0xf9, 0x92, 0x20, 0x03, 0x9e, 0x06, 0xfb, 0x02, 0x00, + 0xb4, 0xf9, 0x94, 0x20, 0xdd, 0xf8, 0x10, 0xc0, 0x0c, 0xfb, 0x02, 0x00, 0xc0, 0x09, 0xb4, + 0xf9, 0x98, 0x20, 0x51, 0x43, 0xb4, 0xf9, 0x96, 0x20, 0x03, 0xfb, 0x02, 0x11, 0xb4, 0xf9, + 0x9a, 0x20, 0x06, 0xfb, 0x02, 0x11, 0xb4, 0xf9, 0x9c, 0x20, 0x0c, 0xfb, 0x02, 0x11, 0x8a, + 0x0a, 0x0b, 0xe0, 0xc0, 0x46, 0x00, 0x02, 0x00, 0x20, 0x01, 0x99, 0x02, 0x98, 0x40, 0x18, + 0x03, 0x99, 0x09, 0x18, 0x04, 0x98, 0x40, 0x18, 0x82, 0x08, 0x0a, 0x98, 0xdd, 0xf8, 0x38, + 0x90, 0xa9, 0xf8, 0x00, 0x80, 0x0b, 0x99, 0x0f, 0x9e, 0x89, 0x7c, 0x06, 0xeb, 0x81, 0x01, + 0x61, 0x18, 0xa1, 0xf8, 0xa6, 0xb0, 0x81, 0xb2, 0xa9, 0xf8, 0x08, 0x20, 0xa9, 0xf8, 0x04, + 0x00, 0x92, 0xb2, 0x15, 0x20, 0xff, 0xf7, 0x84, 0xfa, 0x1f, 0xfa, 0x8b, 0xf2, 0x1f, 0xfa, + 0x88, 0xf1, 0x16, 0x20, 0xff, 0xf7, 0x7d, 0xfa, 0xb6, 0x1c, 0x0f, 0x96, 0x09, 0xf1, + + 0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x02, 0x03, 0x0e, 0x93, 0x10, 0x98, + 0x40, 0x1c, 0x02, 0x28, 0x10, 0x90, 0xff, 0xf4, 0x44, 0xaf, 0x0b, 0x99, 0x88, 0x7c, 0x40, + 0x1c, 0x88, 0x74, 0x88, 0x7c, 0x02, 0x28, 0xff, 0xf6, 0x36, 0xaf, 0x0a, 0x99, 0x0b, 0x98, + 0xc1, 0x74, 0x05, 0x98, 0x84, 0xf8, 0xc6, 0x00, 0x06, 0x98, 0x78, 0x73, 0x08, 0x9a, 0x07, + 0x98, 0x14, 0xb0, 0x02, 0x70, 0xa4, 0xf8, 0x88, 0x10, 0xbd, 0xe8, 0xf0, 0x8f, 0x60, 0x1c, + 0x00, 0x40, 0x78, 0x33, 0x00, 0x00, 0x04, 0x08, 0x00, 0x40, 0x80, 0x00, 0x01, 0x42, 0xd0, + 0x08, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x2c, 0x37, 0x40, 0x4a, 0x2d, 0xe9, 0xf0, 0x41, + 0x55, 0x4c, 0x4f, 0xf0, 0x01, 0x08, 0x20, 0x46, 0x0b, 0x38, 0x80, 0xf8, 0x00, 0x80, 0x0a, + 0x20, 0xff, 0xf7, 0xe0, 0xfb, 0x20, 0x46, 0x08, 0x30, 0x26, 0x46, 0x01, 0x88, 0x20, 0x46, + 0x00, 0x24, 0x01, 0x80, 0x25, 0x46, 0x0a, 0x30, 0x00, 0x88, 0x0c, 0x3e, 0x10, 0x27, 0xf0, + 0x81, 0x86, 0xf8, 0x00, 0x80, 0x08, 0x20, 0xff, 0xf7, 0xce, 0xfb, 0x31, 0x8b, 0x7f, 0x1e, + 0x0c, 0x44, 0x71, 0x8b, 0x0d, 0x44, 0xf4, 0xd1, 0x28, 0x09, 0x80, 0xb2, 0x00, 0xeb, 0x40, + 0x00, 0x21, 0x09, 0x89, 0xb2, 0x09, 0x02, 0x91, 0xfb, 0xf0, 0xf0, 0x80, 0xb2, 0xbd, 0xe8, + 0xf0, 0x81, 0x2d, 0xe9, 0xf0, 0x4f, 0xad, 0xf1, 0x14, 0x0d, 0x80, 0x46, 0xaf, 0x48, + + 0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x00, 0x68, 0x00, 0x90, 0xae, 0x48, + 0x00, 0x88, 0x8b, 0x46, 0xad, 0xf8, 0x04, 0x00, 0x0b, 0xeb, 0x0d, 0x00, 0x00, 0x79, 0x3d, + 0xf8, 0x1b, 0xa0, 0x04, 0x25, 0x02, 0x90, 0xa9, 0x48, 0x4f, 0xf0, 0x00, 0x09, 0x10, 0x24, + 0x03, 0x90, 0x01, 0x20, 0x04, 0x90, 0xbb, 0xf1, 0x01, 0x0f, 0x03, 0x9a, 0x04, 0xd0, 0x03, + 0x98, 0x60, 0x38, 0x00, 0xf8, 0x38, 0x40, 0x16, 0xe0, 0x41, 0x46, 0xc8, 0x00, 0x00, 0xeb, + 0x81, 0x00, 0x12, 0x18, 0x00, 0x20, 0x03, 0x46, 0x07, 0x26, 0x04, 0x99, 0x99, 0x40, 0x0c, + 0x42, 0x18, 0xbf, 0x30, 0x44, 0x5b, 0x1c, 0xf1, 0x00, 0x80, 0xb2, 0x05, 0x2b, 0x8e, 0xb2, + 0xf4, 0xd3, 0x90, 0x80, 0xa4, 0xf1, 0x40, 0x00, 0x50, 0x70, 0xff, 0xf7, 0x93, 0xff, 0x06, + 0x46, 0xba, 0xeb, 0x06, 0x07, 0x54, 0xbf, 0x04, 0x9a, 0x4f, 0xf0, 0xff, 0x32, 0xb6, 0xeb, + 0x0a, 0x06, 0x54, 0xbf, 0x30, 0x1c, 0x38, 0x1c, 0x02, 0x99, 0x81, 0x42, 0x25, 0xda, 0xb9, + 0xf1, 0x00, 0x0f, 0x28, 0xb2, 0x06, 0xd0, 0x91, 0x45, 0x07, 0xd0, 0x05, 0xeb, 0xd5, 0x75, + 0x68, 0x10, 0x45, 0x42, 0x02, 0xe0, 0x00, 0xfb, 0x02, 0xf0, 0x45, 0xb2, 0x28, 0x19, 0x84, + 0xb2, 0x20, 0x2c, 0x91, 0x46, 0x02, 0xda, 0x1f, 0x2c, 0x01, 0xd0, 0x02, 0xe0, 0x1f, 0x24, + 0x01, 0x2a, 0x07, 0xd0, 0x00, 0x2c, 0x08, 0xbf, 0xb2, 0xf1, 0xff, 0x3f, 0x02, 0xd0, + +#if 0 +#if defined(__GNUC__) && (__MSP430X__ > 0) +}; +__attribute__((section (".fartext"))) +const uint8_t cc256x_init_script_2[] = { + +#endif +#endif + 0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x00, 0x2d, 0xae, 0xd1, 0x04, 0xe0, + 0x92, 0xb2, 0x21, 0x46, 0x0e, 0x20, 0xff, 0xf7, 0x92, 0xfb, 0x00, 0x2e, 0x48, 0xbf, 0x3e, + 0x1c, 0x41, 0x46, 0x1d, 0x20, 0xb2, 0xb2, 0xff, 0xf7, 0x8a, 0xfb, 0x05, 0xb0, 0xbd, 0xe8, + 0xf0, 0x8f, 0xc0, 0x46, 0x24, 0x10, 0x00, 0x40, 0x2d, 0xe9, 0xf0, 0x4f, 0xad, 0xf1, 0x14, + 0x0d, 0xdf, 0xf8, 0xc4, 0x91, 0xdf, 0xf8, 0xc4, 0xa1, 0x4c, 0x46, 0x9a, 0xf8, 0x00, 0x00, + 0xdf, 0xf8, 0xc8, 0x81, 0x4e, 0x34, 0x00, 0x90, 0x20, 0x88, 0x46, 0x46, 0xb6, 0x1e, 0x01, + 0x90, 0x30, 0x68, 0x02, 0x90, 0x70, 0x68, 0x03, 0x90, 0x6a, 0x48, 0x4f, 0xf4, 0xa0, 0x71, + 0x01, 0x25, 0x41, 0x80, 0x85, 0x80, 0x00, 0x20, 0xfd, 0xf7, 0xbc, 0xf8, 0x0a, 0x20, 0xff, + 0xf7, 0x19, 0xfb, 0x65, 0x48, 0x00, 0x27, 0x07, 0x70, 0x80, 0xf8, 0x20, 0x70, 0x64, 0x20, + 0xb0, 0x70, 0x40, 0x46, 0x01, 0x88, 0x21, 0xf4, 0x00, 0x61, 0x41, 0xf4, 0xe0, 0x61, 0x01, + 0x80, 0x00, 0x88, 0xdf, 0xf8, 0x7c, 0xb1, 0x10, 0x23, 0x20, 0xf4, 0x40, 0x50, 0x70, 0x80, + 0xab, 0xf5, 0x1f, 0x70, 0x07, 0x70, 0x3e, 0x20, 0x04, 0x90, 0x30, 0x71, 0x2f, 0x20, 0x73, + 0x71, 0xb0, 0x71, 0x2c, 0x20, 0xf0, 0x71, 0x58, 0x48, 0x07, 0x70, 0x48, 0x46, 0x82, 0x38, + 0x8a, 0xf8, 0x00, 0x50, 0x01, 0x88, 0x21, 0xf0, 0x07, 0x01, 0x01, 0x80, 0x81, 0x8a, + + 0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0xdf, 0xf8, 0x4c, 0x81, 0x1c, 0x22, + 0x21, 0xf0, 0x06, 0x01, 0x24, 0xf8, 0xbc, 0x1c, 0xa4, 0xf6, 0x78, 0x71, 0x88, 0xf8, 0x04, + 0x50, 0x0a, 0x70, 0x8b, 0xf8, 0x00, 0x50, 0x88, 0xf8, 0x00, 0x50, 0xc1, 0x8a, 0x4c, 0x46, + 0x21, 0xf0, 0x03, 0x01, 0xc1, 0x82, 0xc1, 0x8a, 0x6c, 0x3c, 0x4f, 0xf0, 0x22, 0x09, 0x41, + 0xf0, 0x0c, 0x01, 0x21, 0x80, 0x30, 0x21, 0x84, 0xf8, 0xc0, 0x71, 0x84, 0xf8, 0xc1, 0x91, + 0x86, 0xf8, 0x63, 0x11, 0x86, 0xf8, 0x62, 0x31, 0xb0, 0xf8, 0xd0, 0x10, 0x41, 0xf0, 0x70, + 0x01, 0xa0, 0xf8, 0xd0, 0x10, 0xb0, 0xf8, 0xd0, 0x10, 0x21, 0xf4, 0x80, 0x61, 0x41, 0xf4, + 0x40, 0x71, 0xa0, 0xf8, 0xd0, 0x10, 0x29, 0x46, 0x03, 0x20, 0x84, 0xf8, 0x44, 0x70, 0xff, + 0xf7, 0xf9, 0xfe, 0xb4, 0xf8, 0x94, 0x50, 0x04, 0x23, 0x36, 0x48, 0x0c, 0x21, 0x94, 0xf8, + 0x91, 0xc0, 0x42, 0x18, 0x15, 0x80, 0x5b, 0x1e, 0x02, 0xf8, 0x03, 0xcc, 0x01, 0xf1, 0x0c, + 0x01, 0xf7, 0xd1, 0x88, 0xf8, 0x00, 0x70, 0x20, 0x88, 0x40, 0xf0, 0x03, 0x00, 0x20, 0x80, + 0x20, 0x88, 0x20, 0xf0, 0x0c, 0x00, 0x20, 0x80, 0x84, 0xf8, 0xc0, 0x91, 0x84, 0xf8, 0xc1, + 0x71, 0x04, 0x98, 0x3d, 0x46, 0x86, 0xf8, 0x63, 0x01, 0x86, 0xf8, 0x62, 0x71, 0xb4, 0xf8, + 0xba, 0x00, 0x20, 0xf0, 0x70, 0x00, 0x40, 0xea, 0x05, 0x10, 0xa4, 0xf8, 0xba, 0x00, + + 0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x35, 0xb1, 0x02, 0x2d, 0xcc, 0xbf, + 0x4f, 0xf4, 0x80, 0x70, 0x4f, 0xf4, 0x00, 0x70, 0x01, 0xe0, 0x4f, 0xf4, 0x40, 0x70, 0xb4, + 0xf8, 0xba, 0x10, 0x21, 0xf4, 0xe0, 0x61, 0x08, 0x43, 0xa4, 0xf8, 0xba, 0x00, 0x39, 0x46, + 0xe8, 0xb2, 0xff, 0xf7, 0xb9, 0xfe, 0x6d, 0x1c, 0x08, 0x2d, 0xdf, 0xdb, 0x38, 0x46, 0xfe, + 0xf7, 0x8f, 0xff, 0x84, 0xf8, 0xc0, 0x71, 0x84, 0xf8, 0xc1, 0x71, 0x88, 0xf8, 0x00, 0x70, + 0x88, 0xf8, 0x04, 0x70, 0x8b, 0xf8, 0x00, 0x70, 0x00, 0x98, 0x8a, 0xf8, 0x00, 0x00, 0x01, + 0x98, 0xa4, 0xf8, 0xba, 0x00, 0x02, 0x98, 0x30, 0x60, 0x03, 0x98, 0x05, 0xb0, 0x70, 0x60, + 0xbd, 0xe8, 0xf0, 0x8f, 0x00, 0x33, 0x00, 0x00, 0x04, 0x33, 0x00, 0x00, 0xa6, 0x20, 0x00, + 0x40, 0x00, 0x3f, 0x04, 0x42, 0x00, 0x00, 0x00, 0x20, 0x80, 0x03, 0x02, 0x42, 0x1e, 0x10, + 0x00, 0x40, 0x00, 0x2f, 0x02, 0x42, 0xf9, 0x21, 0x00, 0x40, 0x00, 0x13, 0x04, 0x42, 0xaa, + 0x20, 0x00, 0x40, 0x7c, 0x01, 0x0e, 0x01, 0x0c, 0x03, 0x00, 0x00, 0x94, 0x9c, 0xa3, 0xaa, + 0xb1, 0xb9, 0xc0, 0xc7, 0x8d, 0x86, 0x7e, 0x77, 0x70, 0x69, 0x61, 0x5a, 0x81, 0x7c, 0x67, + 0x7c, 0x90, 0x7c, 0x0f, 0x7d, 0xb8, 0x7d, 0xbe, 0x7e, 0x00, 0x80, 0x73, 0x81, 0x4e, 0x83, + 0x54, 0x85, 0xa4, 0x87, 0x43, 0x8a, 0xf7, 0xe6, 0xd5, 0xc4, 0xb3, 0xa2, 0x91, 0x80, + + 0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x78, 0x69, 0x5a, 0x4b, 0x3c, 0x2d, + 0x1e, 0x0f, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, + 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, + 0x44, 0x44, 0x44, 0x44, 0x80, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, + 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, + 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x04, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x40, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + + 0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x11, 0x11, 0x01, 0x01, 0x01, 0x11, + 0x11, 0x01, 0x01, 0x01, 0x11, 0x11, 0x01, 0x01, 0x01, 0x11, 0x11, 0x01, 0x01, 0x01, 0x11, + 0x11, 0x01, 0x01, 0x01, 0x22, 0x22, 0x02, 0x02, 0x02, 0x22, 0x22, 0x02, 0x02, 0x02, 0x22, + 0x22, 0x02, 0x02, 0x02, 0x22, 0x22, 0x02, 0x02, 0x02, 0x22, 0x22, 0x02, 0x02, 0x02, 0x44, + 0x44, 0x04, 0x04, 0x04, 0x44, 0x44, 0x04, 0x04, 0x04, 0x44, 0x44, 0x04, 0x04, 0x04, 0x88, + 0x88, 0x08, 0x08, 0x08, 0x88, 0x88, 0x08, 0x08, 0x08, 0x88, 0x88, 0x08, 0x08, 0x08, 0x01, + 0x01, 0x11, 0x11, 0x11, 0x01, 0x01, 0x11, 0x11, 0x11, 0x01, 0x01, 0x11, 0x11, 0x11, 0x01, + 0x01, 0x11, 0x11, 0x11, 0x01, 0x01, 0x11, 0x11, 0x11, 0x02, 0x02, 0x22, 0x22, 0x22, 0x02, + 0x02, 0x22, 0x22, 0x22, 0x02, 0x02, 0x22, 0x22, 0x22, 0x02, 0x02, 0x22, 0x22, 0x22, 0x02, + 0x02, 0x22, 0x22, 0x22, 0x04, 0x04, 0x44, 0x44, 0x44, 0x04, 0x04, 0x44, 0x44, 0x44, 0x04, + 0x04, 0x44, 0x44, 0x44, 0x08, 0x08, 0x88, 0x88, 0x88, 0x08, 0x08, 0x88, 0x88, 0x88, 0x08, + 0x08, 0x88, 0x88, 0x88, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1a, + 0x1a, 0x1a, 0x1a, 0x1a, 0x18, 0x18, 0x18, 0x18, 0x18, 0x16, 0x16, 0x16, 0x16, 0x16, 0x14, + 0x14, 0x14, 0x14, 0x14, 0x12, 0x12, 0x12, 0x12, 0x12, 0x10, 0x10, 0x10, 0x10, 0x10, + + 0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x08, 0x08, 0x08, 0x08, 0x08, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x04, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x02, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, + 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, + 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, + 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, + 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, + 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x84, 0x84, 0x84, 0x1c, 0x1c, 0x84, + 0x84, 0x84, 0x1c, 0x1c, 0x84, 0x84, 0x84, 0x1c, 0x1c, 0x84, 0x84, 0x84, 0x1c, 0x1c, 0xc4, + 0xc4, 0xc4, 0x9c, 0x9c, 0xc4, 0xc4, 0xc4, 0x9c, 0x9c, 0xa4, 0xa4, 0xa4, 0x5c, 0x5c, 0xa4, + 0xa4, 0xa4, 0x5c, 0x5c, 0xe4, 0xe4, 0xe4, 0xdc, 0xdc, 0xe4, 0xe4, 0xe4, 0xdc, 0xdc, 0xe4, + 0xe4, 0xe4, 0xdc, 0xdc, 0x94, 0x94, 0x94, 0x3c, 0x3c, 0x94, 0x94, 0x94, 0x3c, 0x3c, 0xd4, + 0xd4, 0xd4, 0xbc, 0xbc, 0xd4, 0xd4, 0xd4, 0xbc, 0xbc, 0xb4, 0xb4, 0xb4, 0x7c, 0x7c, + + 0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0xf0, 0xf0, 0xf0, 0xf8, 0xf8, 0xc0, + 0x46, 0xc0, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, + 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, + 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, + 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, + 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, + 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, + 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, + 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, + 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, + 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, + 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0x70, 0x47, 0x2d, + 0xe9, 0xf0, 0x4f, 0xad, 0xf1, 0x18, 0x0d, 0x06, 0x46, 0x02, 0x2e, 0x06, 0xeb, 0xc1, 0x09, + 0x4f, 0xf0, 0x00, 0x01, 0x15, 0x46, 0xb8, 0xbf, 0x01, 0x21, 0xa7, 0x48, 0x00, 0x2d, + + 0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x00, 0x90, 0x10, 0xf8, 0x09, 0x00, + 0x20, 0xfa, 0x01, 0xf0, 0x44, 0xb2, 0x6c, 0xd0, 0x00, 0x20, 0x01, 0x90, 0xdf, 0xf8, 0x8c, + 0xa2, 0x01, 0x27, 0x70, 0x08, 0x2c, 0xbf, 0x02, 0x20, 0x01, 0x98, 0xa0, 0x49, 0x47, 0xf6, + 0xff, 0x7b, 0x09, 0x18, 0x02, 0x91, 0x00, 0x98, 0xdd, 0xf8, 0x04, 0x80, 0x03, 0x90, 0x9d, + 0x48, 0x04, 0x90, 0x02, 0x2e, 0xba, 0xbf, 0x60, 0x00, 0xc0, 0xb2, 0xe0, 0xb2, 0x03, 0x99, + 0x01, 0xf8, 0x09, 0x00, 0x01, 0x98, 0x8a, 0xf8, 0x00, 0x00, 0x05, 0x20, 0x8a, 0xf8, 0x00, + 0x70, 0xff, 0xf7, 0xb1, 0xfb, 0x04, 0x98, 0x07, 0x70, 0x38, 0x46, 0xff, 0xf7, 0xac, 0xfb, + 0x02, 0x98, 0x00, 0x88, 0xc0, 0x00, 0x01, 0xb2, 0x08, 0x46, 0x00, 0x28, 0xb8, 0xbf, 0x40, + 0x42, 0x83, 0x45, 0x03, 0xdd, 0x0f, 0xfa, 0x80, 0xfb, 0xe0, 0xb2, 0x05, 0x90, 0x00, 0x29, + 0x4c, 0xbf, 0x4f, 0xf0, 0xff, 0x30, 0x38, 0x1c, 0xb8, 0xf1, 0x00, 0x0f, 0x05, 0xd1, 0xb0, + 0xf1, 0xff, 0x3f, 0x04, 0xbf, 0x69, 0x42, 0x4d, 0xb2, 0x05, 0xe0, 0x80, 0x45, 0x03, 0xd0, + 0x05, 0xeb, 0xd5, 0x75, 0x69, 0x10, 0x4d, 0x42, 0x02, 0x2e, 0x0a, 0xdb, 0x1f, 0x2c, 0x08, + 0xbf, 0xb0, 0xf1, 0xff, 0x3f, 0x1a, 0xd0, 0x00, 0x2c, 0x08, 0xbf, 0x01, 0x28, 0x16, 0xd0, + 0x64, 0x1b, 0x09, 0xe0, 0x1f, 0x2c, 0x08, 0xbf, 0x01, 0x28, 0x10, 0xd0, 0x00, 0x2c, + + 0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x08, 0xbf, 0xb0, 0xf1, 0xff, 0x3f, + 0x2c, 0x44, 0x0a, 0xd0, 0x64, 0xb2, 0x20, 0x2c, 0x03, 0xda, 0x00, 0x2c, 0x48, 0xbf, 0x01, + 0x9c, 0x00, 0xe0, 0x1f, 0x24, 0x00, 0x2d, 0x80, 0x46, 0xa6, 0xd1, 0x02, 0x2e, 0xa8, 0xbf, + 0x05, 0x98, 0x02, 0xda, 0x05, 0x98, 0x40, 0x00, 0xc0, 0xb2, 0x00, 0x99, 0x06, 0xb0, 0x01, + 0xf8, 0x09, 0x00, 0xbd, 0xe8, 0xf0, 0x8f, 0x70, 0xb5, 0x05, 0x46, 0x69, 0x48, 0x01, 0x26, + 0x69, 0x4c, 0x05, 0x70, 0x63, 0x48, 0x20, 0x21, 0x08, 0x22, 0x00, 0xeb, 0xc5, 0x00, 0x26, + 0x70, 0x01, 0x70, 0x41, 0x70, 0x10, 0x21, 0x81, 0x70, 0xc1, 0x70, 0x29, 0x46, 0x02, 0x20, + 0xff, 0xf7, 0x5b, 0xff, 0x08, 0x22, 0x29, 0x46, 0x03, 0x20, 0xff, 0xf7, 0x56, 0xff, 0x00, + 0x20, 0x08, 0x22, 0x29, 0x46, 0x20, 0x70, 0xff, 0xf7, 0x50, 0xff, 0x08, 0x22, 0x29, 0x46, + 0x30, 0x46, 0xff, 0xf7, 0x4b, 0xff, 0x32, 0x46, 0x29, 0x46, 0x02, 0x20, 0xff, 0xf7, 0x46, + 0xff, 0x32, 0x46, 0x29, 0x46, 0x03, 0x20, 0xff, 0xf7, 0x41, 0xff, 0x70, 0xbd, 0x2d, 0xe9, + 0xf0, 0x4f, 0xad, 0xf1, 0x18, 0x0d, 0x3b, 0x20, 0x00, 0x27, 0x8d, 0xf8, 0x00, 0x00, 0x31, + 0x20, 0x4f, 0x49, 0x8d, 0xf8, 0x01, 0x00, 0x8d, 0xf8, 0x05, 0x70, 0x44, 0x20, 0x8d, 0xf8, + 0x02, 0x00, 0x4e, 0x20, 0x8d, 0xf8, 0x03, 0x00, 0x28, 0x20, 0x8d, 0xf8, 0x04, 0x00, + + 0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x49, 0x48, 0x81, 0xf8, 0x7d, 0x70, + 0xb9, 0x46, 0x02, 0x90, 0x00, 0x78, 0xad, 0xf1, 0x01, 0x04, 0x01, 0x26, 0x03, 0x90, 0x45, + 0x48, 0xdf, 0xf8, 0x18, 0xb1, 0x4f, 0xf0, 0x05, 0x0a, 0xb0, 0xf8, 0x52, 0x20, 0x44, 0x4d, + 0x80, 0x46, 0x04, 0x92, 0x4f, 0xf4, 0xc8, 0x62, 0x02, 0x81, 0x4f, 0xf6, 0xba, 0x72, 0xa0, + 0xf8, 0x52, 0x20, 0x05, 0x91, 0x14, 0xf8, 0x01, 0x0f, 0x80, 0x01, 0xae, 0x80, 0xa0, 0xf5, + 0x20, 0x60, 0x68, 0x80, 0x38, 0x46, 0xfd, 0xf7, 0x8e, 0xf8, 0x38, 0x46, 0xff, 0xf7, 0x0b, + 0xf8, 0x9b, 0xf8, 0x33, 0x00, 0x28, 0xb1, 0xba, 0xf1, 0x01, 0x0a, 0x09, 0xf1, 0x01, 0x09, + 0xea, 0xd1, 0x64, 0x1c, 0xa8, 0xf8, 0x08, 0x70, 0x04, 0x98, 0xb9, 0xf1, 0x05, 0x0f, 0xa8, + 0xf8, 0x52, 0x00, 0x3f, 0xd0, 0x20, 0x78, 0x80, 0x01, 0x68, 0x80, 0x38, 0x46, 0xfd, 0xf7, + 0x74, 0xf8, 0x05, 0x98, 0x22, 0x78, 0x90, 0xf8, 0x7d, 0x10, 0x19, 0x20, 0xff, 0xf7, 0x15, + 0xfb, 0x2a, 0x4c, 0x20, 0x88, 0x40, 0xf0, 0x03, 0x00, 0x20, 0x80, 0x20, 0x88, 0x40, 0xf0, + 0x0c, 0x00, 0x20, 0x80, 0x02, 0x98, 0x06, 0x70, 0x98, 0xf8, 0xd4, 0x00, 0x04, 0xf1, 0xba, + 0x05, 0x00, 0x11, 0x2e, 0x88, 0x40, 0xf0, 0x10, 0x00, 0x84, 0xf8, 0xbb, 0x00, 0x98, 0xf8, + 0xd4, 0x00, 0x00, 0xf0, 0x0f, 0x00, 0x84, 0xf8, 0xba, 0x00, 0x38, 0x46, 0xff, 0xf7, + + 0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x54, 0xff, 0x68, 0x68, 0xcb, 0xf8, + 0x04, 0x00, 0xa4, 0xf8, 0xba, 0x60, 0x3c, 0x46, 0x20, 0x46, 0xff, 0xf7, 0x4b, 0xff, 0x64, + 0x1c, 0x20, 0x2c, 0x03, 0x99, 0xf8, 0xd3, 0x02, 0x98, 0x01, 0x70, 0x0d, 0x48, 0x07, 0x70, + 0x38, 0x46, 0xfe, 0xf7, 0xbb, 0xff, 0x08, 0xe0, 0x05, 0x98, 0x80, 0xf8, 0x7d, 0x60, 0x31, + 0x46, 0x9d, 0xf8, 0x05, 0x20, 0x19, 0x20, 0xff, 0xf7, 0xd9, 0xfa, 0x06, 0xb0, 0xbd, 0xe8, + 0xf0, 0x8f, 0xf8, 0x20, 0x00, 0x40, 0x84, 0x2c, 0x02, 0x42, 0x14, 0x10, 0x00, 0x40, 0x00, + 0x02, 0x02, 0x42, 0xf9, 0x21, 0x00, 0x40, 0x00, 0x13, 0x04, 0x42, 0x30, 0x00, 0x00, 0x20, + 0x00, 0x3f, 0x04, 0x42, 0x00, 0x02, 0x00, 0x20, 0xd0, 0x08, 0x00, 0x20, 0x00, 0x00, 0x00, + 0x20, 0x3a, 0x20, 0x00, 0x40, 0x10, 0xb5, 0xab, 0x48, 0x01, 0x68, 0x4f, 0xf4, 0x80, 0x74, + 0x09, 0x03, 0x0a, 0x46, 0x03, 0x68, 0x1b, 0x03, 0x93, 0x42, 0xa8, 0xbf, 0x1a, 0x1c, 0x8b, + 0x42, 0xd8, 0xbf, 0x19, 0x1c, 0x64, 0x1e, 0xf5, 0xd1, 0x52, 0x1a, 0xa3, 0x4b, 0x00, 0x20, + 0x02, 0xeb, 0x82, 0x02, 0x18, 0x70, 0x10, 0x14, 0x10, 0xbd, 0xf0, 0xb5, 0x00, 0x20, 0xfe, + 0xf7, 0x23, 0xfa, 0x06, 0x21, 0x02, 0x20, 0xfe, 0xf7, 0x01, 0xff, 0x9d, 0x4d, 0x28, 0x78, + 0xc0, 0x43, 0x28, 0x70, 0x0a, 0x20, 0xff, 0xf7, 0xc4, 0xfb, 0x01, 0x24, 0x02, 0x20, + + 0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x2c, 0x73, 0xff, 0xf7, 0xbf, 0xfb, + 0x98, 0x48, 0x01, 0x88, 0x41, 0xf4, 0xe0, 0x61, 0x01, 0x80, 0x96, 0x48, 0x04, 0x70, 0x04, + 0x74, 0x97, 0x48, 0x40, 0xf2, 0xff, 0x31, 0x06, 0x46, 0x0a, 0x3e, 0x31, 0x80, 0x93, 0x49, + 0x04, 0x25, 0x09, 0x88, 0x4f, 0xf0, 0x40, 0x17, 0x00, 0x22, 0x41, 0xea, 0x01, 0x41, 0x83, + 0x18, 0x1f, 0x60, 0x6d, 0x1e, 0x19, 0x61, 0x02, 0xf1, 0x04, 0x02, 0xf8, 0xd1, 0x1f, 0x20, + 0x70, 0x72, 0x0f, 0x20, 0x30, 0x72, 0xf4, 0x71, 0x85, 0x48, 0x00, 0x21, 0x01, 0x74, 0x04, + 0x70, 0x05, 0x20, 0xff, 0xf7, 0x96, 0xfb, 0xf0, 0xbd, 0x2d, 0xe9, 0xf0, 0x4f, 0xad, 0xf1, + 0x24, 0x0d, 0x00, 0x20, 0x31, 0x21, 0x02, 0x90, 0x8d, 0xf8, 0x00, 0x00, 0xdf, 0xf8, 0x08, + 0x92, 0x8d, 0xf8, 0x01, 0x10, 0x3b, 0x21, 0x8d, 0xf8, 0x02, 0x10, 0x1d, 0x21, 0x8d, 0xf8, + 0x03, 0x10, 0x27, 0x21, 0x8d, 0xf8, 0x04, 0x10, 0x11, 0x21, 0x8d, 0xf8, 0x05, 0x00, 0x89, + 0xf8, 0xc6, 0x10, 0x7a, 0x49, 0x72, 0x4e, 0x08, 0x70, 0x31, 0x46, 0x08, 0x39, 0x08, 0x88, + 0x79, 0x4b, 0x78, 0x4a, 0x20, 0xf4, 0x80, 0x70, 0x40, 0xf4, 0x00, 0x70, 0xd0, 0x52, 0x97, + 0x20, 0xa2, 0xf6, 0x19, 0x62, 0x10, 0x70, 0x08, 0x88, 0x6f, 0xf3, 0x1f, 0x30, 0x08, 0x80, + 0x48, 0x88, 0x4f, 0xf0, 0xff, 0x37, 0x76, 0x1f, 0x20, 0xf0, 0x0f, 0x00, 0x40, 0xf0, + + 0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x07, 0x00, 0x6f, 0x49, 0xf0, 0x53, + 0x06, 0x20, 0x70, 0x70, 0x01, 0x20, 0x03, 0x90, 0x08, 0x70, 0x99, 0xf8, 0x33, 0x20, 0x04, + 0x92, 0x99, 0xf8, 0x28, 0x10, 0x1a, 0x20, 0x05, 0x91, 0xff, 0xf7, 0x95, 0xfb, 0x41, 0xf6, + 0x15, 0x6a, 0x99, 0xf8, 0x24, 0x50, 0x99, 0xf8, 0x25, 0x00, 0x65, 0x49, 0x4c, 0x46, 0x06, + 0x97, 0x07, 0x91, 0x21, 0x46, 0x08, 0x91, 0x04, 0xe0, 0x6d, 0x1c, 0xed, 0xb2, 0x08, 0x98, + 0x90, 0xf8, 0x25, 0x00, 0xa8, 0x42, 0x14, 0xda, 0x06, 0x98, 0xa9, 0xf8, 0x2e, 0x00, 0x04, + 0x9a, 0x89, 0xf8, 0x32, 0x20, 0x05, 0x99, 0xa9, 0xf8, 0x2a, 0x10, 0x36, 0xf8, 0x0a, 0x00, + 0x20, 0xf0, 0x0f, 0x00, 0x08, 0x43, 0x26, 0xf8, 0x0a, 0x00, 0x89, 0xb2, 0x1a, 0x20, 0xff, + 0xf7, 0x6d, 0xfb, 0x43, 0xe0, 0x99, 0xf8, 0x30, 0x00, 0x89, 0xf8, 0x32, 0x00, 0x94, 0xf8, + 0x31, 0x00, 0x94, 0xf8, 0x32, 0x10, 0xdd, 0xf8, 0x08, 0x80, 0xeb, 0x46, 0x88, 0x42, 0xd6, + 0xdb, 0x05, 0x27, 0x1b, 0xf8, 0x01, 0x0b, 0x07, 0x99, 0xc0, 0x01, 0x40, 0xf0, 0x7a, 0x00, + 0x08, 0x80, 0x36, 0xf8, 0x0a, 0x00, 0x20, 0xf0, 0x0f, 0x00, 0x28, 0x43, 0x26, 0xf8, 0x0a, + 0x00, 0xff, 0xf7, 0x33, 0xff, 0xff, 0xf7, 0x18, 0xff, 0x80, 0x45, 0x38, 0xbf, 0x80, 0x46, + 0xff, 0xf7, 0x43, 0xfd, 0x03, 0x98, 0xff, 0xf7, 0xfc, 0xfa, 0x7f, 0x1e, 0xe3, 0xd1, + + 0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x94, 0xf8, 0x32, 0x00, 0x94, 0xf8, + 0x33, 0x10, 0x81, 0x42, 0x04, 0xd1, 0x21, 0x8d, 0xa9, 0x42, 0x08, 0xbf, 0xa4, 0xf8, 0x2c, + 0x80, 0x06, 0x99, 0x41, 0x45, 0x03, 0xd9, 0x05, 0x95, 0x04, 0x90, 0xcd, 0xf8, 0x18, 0x80, + 0x94, 0xf8, 0x32, 0x00, 0x40, 0x1c, 0x84, 0xf8, 0x32, 0x00, 0x99, 0xf8, 0x31, 0x00, 0xc1, + 0xe7, 0x09, 0xb0, 0xbd, 0xe8, 0xf0, 0x8f, 0x2d, 0xe9, 0xf0, 0x4f, 0xad, 0xf1, 0x28, 0x0d, + 0x29, 0x4c, 0xdf, 0xf8, 0xb8, 0x80, 0x08, 0x22, 0x26, 0x4e, 0x6f, 0x46, 0x94, 0xf8, 0xc6, + 0x00, 0x00, 0x21, 0x04, 0xf5, 0x85, 0x75, 0x08, 0x90, 0xd8, 0xf8, 0x00, 0xb0, 0x73, 0x58, + 0x52, 0x1e, 0x47, 0xf8, 0x04, 0x3b, 0x01, 0xf1, 0x04, 0x01, 0xf8, 0xd1, 0x94, 0xf8, 0x64, + 0xa0, 0x02, 0x27, 0x84, 0xf8, 0x64, 0x70, 0x94, 0xf8, 0x22, 0x00, 0x09, 0x90, 0x67, 0x84, + 0xb5, 0xf8, 0x00, 0x90, 0x29, 0xf0, 0x02, 0x00, 0x28, 0x80, 0xff, 0xf7, 0x1f, 0xff, 0x84, + 0xf8, 0x64, 0xa0, 0x09, 0x98, 0x60, 0x84, 0x18, 0x48, 0xa5, 0xf8, 0x00, 0x90, 0x00, 0x25, + 0x05, 0x70, 0x38, 0x46, 0xff, 0xf7, 0xa8, 0xfa, 0x0d, 0x48, 0x05, 0x70, 0x08, 0x21, 0x05, + 0x74, 0x08, 0x98, 0x6b, 0x46, 0xc8, 0xf8, 0x00, 0xb0, 0x84, 0xf8, 0xc6, 0x00, 0x53, 0xf8, + 0x04, 0x2b, 0x49, 0x1e, 0x72, 0x51, 0x05, 0xf1, 0x04, 0x05, 0xf8, 0xd1, 0x0a, 0xb0, + + 0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0xbd, 0xe8, 0xf0, 0x8f, 0x0c, 0x02, + 0x00, 0x40, 0x00, 0x07, 0x03, 0x42, 0x64, 0x8c, 0x03, 0x42, 0x00, 0x01, 0x00, 0x40, 0x80, + 0x00, 0x01, 0x42, 0x26, 0x02, 0x00, 0x20, 0x3c, 0x18, 0x00, 0x40, 0x00, 0x02, 0x00, 0x20, + 0xe2, 0x08, 0x00, 0x20, 0x1d, 0x10, 0x00, 0x40, 0xe7, 0xf1, 0xff, 0xff, 0xd0, 0x40, 0x00, + 0x42, 0x00, 0x00, 0x00, 0x20, 0x38, 0x18, 0x00, 0x40, 0x30, 0xb5, 0x7d, 0x4c, 0x01, 0x25, + 0x28, 0x46, 0x25, 0x70, 0x84, 0xf8, 0xde, 0x5e, 0xff, 0xf7, 0xe3, 0xfb, 0x00, 0x20, 0x20, + 0x70, 0x28, 0x46, 0xff, 0xf7, 0xde, 0xfb, 0xa5, 0x73, 0x28, 0x46, 0xff, 0xf7, 0xda, 0xfb, + 0xa5, 0x73, 0x28, 0x46, 0xff, 0xf7, 0xd6, 0xfb, 0x73, 0x48, 0x00, 0x78, 0x30, 0xbd, 0x30, + 0xb5, 0x03, 0x11, 0x00, 0xf0, 0x0f, 0x00, 0x03, 0xf0, 0x0f, 0x03, 0x00, 0xfb, 0x03, 0xf0, + 0xc0, 0xb2, 0x12, 0x18, 0x00, 0x23, 0xd4, 0xb2, 0x50, 0xb2, 0x00, 0x28, 0x06, 0xd4, 0x0f, + 0x38, 0x40, 0xb2, 0x00, 0x28, 0x03, 0xf1, 0x01, 0x03, 0xdb, 0xb2, 0xf8, 0xd5, 0xc3, 0xeb, + 0x03, 0x10, 0x42, 0xb2, 0x94, 0x42, 0x4f, 0xf0, 0x00, 0x00, 0x05, 0xda, 0x40, 0x1c, 0xc0, + 0xb2, 0x03, 0xfb, 0x10, 0x25, 0xac, 0x42, 0xf9, 0xdb, 0xc0, 0xf1, 0x0f, 0x00, 0xc0, 0xb2, + 0x43, 0xea, 0x00, 0x13, 0x5f, 0x48, 0x0a, 0x46, 0x03, 0x70, 0x9b, 0xb2, 0x13, 0x20, + + 0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x19, 0x46, 0xff, 0xf7, 0xeb, 0xfb, + 0x30, 0xbd, 0x2d, 0xe9, 0xfe, 0x4f, 0x5a, 0x4c, 0x4f, 0xf0, 0x00, 0x00, 0x94, 0xf8, 0x94, + 0x10, 0x31, 0xb9, 0x94, 0xf8, 0x9a, 0x10, 0x31, 0xf0, 0x02, 0x02, 0x14, 0xbf, 0x04, 0x29, + 0x01, 0x20, 0x55, 0x49, 0x08, 0x80, 0x55, 0x48, 0x4f, 0xf0, 0x00, 0x0a, 0x4f, 0xf0, 0x01, + 0x08, 0xa0, 0xf8, 0x02, 0xa0, 0xa0, 0xf8, 0x04, 0x80, 0x50, 0x46, 0xfd, 0xf7, 0x25, 0xf9, + 0x4c, 0x4d, 0xa5, 0xf6, 0xd9, 0x60, 0x00, 0x78, 0x00, 0x90, 0xa5, 0xf6, 0xde, 0x60, 0x00, + 0x78, 0x01, 0x90, 0x68, 0x78, 0x00, 0xf0, 0x03, 0x00, 0x83, 0x46, 0xa5, 0xf6, 0xd9, 0x60, + 0x80, 0xf8, 0x00, 0x80, 0x25, 0xf8, 0x62, 0xac, 0xa5, 0xf6, 0xde, 0x60, 0x80, 0xf8, 0x00, + 0x80, 0x94, 0xf8, 0xa4, 0x00, 0x02, 0x28, 0x07, 0xda, 0x42, 0xf2, 0x1f, 0x20, 0x25, 0xf8, + 0x02, 0x0c, 0x40, 0x46, 0xff, 0xf7, 0x63, 0xfb, 0x0b, 0xe0, 0x42, 0xf2, 0x1f, 0x00, 0x25, + 0xf8, 0x02, 0x0c, 0x3c, 0x4c, 0x84, 0xf8, 0x00, 0x80, 0x02, 0x20, 0xff, 0xf7, 0x58, 0xfb, + 0x84, 0xf8, 0x00, 0xa0, 0x02, 0x20, 0x28, 0x71, 0x0a, 0x20, 0xff, 0xf7, 0x51, 0xfb, 0x05, + 0x20, 0x28, 0x70, 0x85, 0xf8, 0x01, 0xa0, 0xff, 0xf7, 0x5f, 0xff, 0x01, 0x28, 0x18, 0xbf, + 0xd1, 0x46, 0x56, 0x46, 0x0d, 0xd1, 0x04, 0x24, 0x10, 0x27, 0x6c, 0x70, 0xff, 0xf7, + + 0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x55, 0xff, 0x76, 0x1c, 0x01, 0x28, + 0x03, 0xd1, 0x7f, 0x1e, 0x04, 0xf1, 0x04, 0x04, 0xf5, 0xd1, 0x5f, 0xfa, 0x86, 0xf9, 0xcd, + 0xf8, 0x08, 0xa0, 0x44, 0x46, 0xa4, 0xf1, 0x10, 0x00, 0x28, 0x70, 0xff, 0xf7, 0x44, 0xff, + 0x01, 0x28, 0x03, 0xd0, 0x64, 0x1c, 0x10, 0x2c, 0xf5, 0xdb, 0x01, 0xe0, 0xcd, 0xf8, 0x08, + 0x80, 0x64, 0xb2, 0x0f, 0x26, 0x10, 0x34, 0xe7, 0xb2, 0x2f, 0x70, 0xff, 0xf7, 0x35, 0xff, + 0x01, 0x28, 0x04, 0xd0, 0x76, 0x1e, 0x04, 0xf1, 0x10, 0x04, 0xf5, 0xd1, 0x01, 0xe0, 0xcd, + 0xf8, 0x08, 0x80, 0xb9, 0xf1, 0x10, 0x0f, 0x02, 0x98, 0x05, 0xd1, 0x20, 0xb9, 0x51, 0x46, + 0x0a, 0x46, 0x13, 0x20, 0xff, 0xf7, 0x56, 0xfb, 0x28, 0x88, 0x4f, 0xea, 0x0b, 0x24, 0x20, + 0xf4, 0x40, 0x70, 0x03, 0x22, 0x49, 0x46, 0x20, 0x43, 0x28, 0x80, 0x78, 0xb2, 0xff, 0xf7, + 0x2f, 0xff, 0x00, 0x98, 0xa5, 0xf6, 0xd9, 0x61, 0x08, 0x70, 0x01, 0x98, 0xa5, 0xf6, 0xde, + 0x61, 0x08, 0x70, 0x28, 0x88, 0x20, 0xf4, 0x40, 0x70, 0x04, 0x43, 0x50, 0x46, 0x2c, 0x80, + 0xff, 0xf7, 0x12, 0xf8, 0xbd, 0xe8, 0xfe, 0x8f, 0xae, 0x11, 0x00, 0x40, 0x00, 0x37, 0x02, + 0x42, 0x86, 0x20, 0x00, 0x40, 0xc0, 0x00, 0x00, 0x20, 0x0e, 0x03, 0x00, 0x20, 0x00, 0x00, + 0x00, 0x20, 0x8c, 0x04, 0x04, 0x42, 0x10, 0xb5, 0x6a, 0x4a, 0x13, 0x68, 0x6a, 0x4a, + + 0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x12, 0x68, 0xa2, 0xfb, 0x03, 0x23, + 0x1b, 0x02, 0x12, 0x0e, 0x1a, 0x43, 0x02, 0x60, 0x67, 0x48, 0x8c, 0x1a, 0x94, 0xfb, 0xf0, + 0xf0, 0x81, 0xb2, 0x40, 0x42, 0x82, 0xb2, 0x05, 0x20, 0xff, 0xf7, 0x1f, 0xfc, 0x20, 0x46, + 0x10, 0xbd, 0x2d, 0xe9, 0xf0, 0x4f, 0xad, 0xf1, 0x14, 0x0d, 0xdf, 0xf8, 0x80, 0xa1, 0x5c, + 0x4c, 0x5f, 0x49, 0x4f, 0xf0, 0x01, 0x0b, 0x9a, 0xf8, 0xc6, 0x00, 0x5b, 0x4d, 0x26, 0x46, + 0x01, 0x90, 0x41, 0xf6, 0x82, 0x50, 0x08, 0x80, 0xaa, 0xf8, 0x88, 0xb0, 0xba, 0xf8, 0x80, + 0x00, 0x4f, 0xf0, 0x00, 0x08, 0xb4, 0x3e, 0x45, 0x43, 0x11, 0x20, 0x02, 0x95, 0x8a, 0xf8, + 0xc6, 0x00, 0x40, 0x46, 0x86, 0xf8, 0x02, 0x80, 0x86, 0xf8, 0x00, 0x80, 0xfe, 0xf7, 0x04, + 0xfa, 0x70, 0x3c, 0x20, 0x88, 0x20, 0xf0, 0x0f, 0x00, 0xa6, 0xf8, 0x44, 0x00, 0xff, 0x20, + 0x86, 0xf8, 0x48, 0x00, 0x05, 0x20, 0xff, 0xf7, 0xa4, 0xfb, 0x86, 0xf8, 0x48, 0x80, 0x29, + 0x46, 0x68, 0x46, 0xff, 0xf7, 0xb2, 0xff, 0x41, 0x46, 0xdf, 0xf8, 0x20, 0x91, 0x45, 0x46, + 0x44, 0x46, 0x05, 0x27, 0x03, 0x91, 0x04, 0x91, 0x01, 0x46, 0x00, 0x29, 0xb8, 0xbf, 0x49, + 0x42, 0x4a, 0x46, 0x52, 0x1c, 0x8a, 0x42, 0x25, 0xdc, 0x09, 0xeb, 0x01, 0x02, 0x49, 0x46, + 0x49, 0x00, 0x00, 0x28, 0x92, 0xfb, 0xf1, 0xf1, 0x4c, 0xbf, 0x61, 0x1a, 0x21, 0x44, + + 0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x0c, 0xb2, 0x60, 0x42, 0x82, 0xb2, + 0x06, 0x20, 0xa1, 0xb2, 0xff, 0xf7, 0xc5, 0xfb, 0x10, 0x2c, 0x05, 0xda, 0x14, 0xf1, 0x10, + 0x0f, 0x05, 0xda, 0x6f, 0xf0, 0x0f, 0x04, 0x00, 0xe0, 0x0f, 0x24, 0xcd, 0xf8, 0x0c, 0xb0, + 0xb4, 0x70, 0x05, 0x20, 0xff, 0xf7, 0x6e, 0xfb, 0x02, 0x99, 0x68, 0x46, 0xff, 0xf7, 0x7e, + 0xff, 0x7f, 0x1e, 0xd1, 0xd1, 0xdf, 0xf8, 0xb8, 0x90, 0x05, 0x27, 0x01, 0x46, 0x00, 0x29, + 0xb8, 0xbf, 0x49, 0x42, 0x4a, 0x46, 0x52, 0x1c, 0x8a, 0x42, 0x25, 0xdc, 0x09, 0xeb, 0x01, + 0x02, 0x49, 0x46, 0x49, 0x00, 0x00, 0x28, 0x92, 0xfb, 0xf1, 0xf1, 0x4c, 0xbf, 0x69, 0x1a, + 0x29, 0x44, 0x0d, 0xb2, 0x68, 0x42, 0x82, 0xb2, 0x07, 0x20, 0xa9, 0xb2, 0xff, 0xf7, 0x94, + 0xfb, 0x10, 0x2d, 0x05, 0xda, 0x15, 0xf1, 0x10, 0x0f, 0x05, 0xda, 0x6f, 0xf0, 0x0f, 0x05, + 0x00, 0xe0, 0x0f, 0x25, 0xcd, 0xf8, 0x10, 0xb0, 0x35, 0x70, 0x05, 0x20, 0xff, 0xf7, 0x3d, + 0xfb, 0x02, 0x99, 0x68, 0x46, 0xff, 0xf7, 0x4d, 0xff, 0x7f, 0x1e, 0xd1, 0xd1, 0xaa, 0xf8, + 0x84, 0x40, 0xaa, 0xf8, 0x82, 0x50, 0x03, 0x98, 0x20, 0xb1, 0x0f, 0x20, 0x42, 0x46, 0xa1, + 0xb2, 0xff, 0xf7, 0x74, 0xfb, 0x04, 0x98, 0x20, 0xb1, 0x10, 0x20, 0x42, 0x46, 0xa9, 0xb2, + 0xff, 0xf7, 0x6d, 0xfb, 0x01, 0x98, 0x8a, 0xf8, 0xc6, 0x00, 0x86, 0xf8, 0x02, 0x80, + + 0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x86, 0xf8, 0x00, 0x80, 0xff, 0xf7, + 0x60, 0xfd, 0x05, 0xb0, 0xaa, 0xf8, 0x88, 0x80, 0xbd, 0xe8, 0xf0, 0x8f, 0xc0, 0x46, 0xd0, + 0x1c, 0x00, 0x40, 0xd0, 0x08, 0x00, 0x20, 0x40, 0x42, 0x0f, 0x00, 0x00, 0x02, 0x00, 0x20, + 0x00, 0x00, 0x00, 0x20, 0x80, 0x96, 0x98, 0x00, 0x10, 0x55, 0x22, 0x00, 0x49, 0x10, 0x49, + 0x1c, 0x01, 0x40, 0x49, 0x42, 0x01, 0x43, 0x01, 0x20, 0x90, 0x40, 0x40, 0x1e, 0x08, 0x40, + 0x70, 0x47, 0xf8, 0xb5, 0x0e, 0x68, 0x06, 0xf0, 0x07, 0x04, 0x14, 0x19, 0x08, 0x2c, 0x4f, + 0xea, 0xe6, 0x05, 0x05, 0xf0, 0x03, 0x07, 0x06, 0xf0, 0x07, 0x03, 0x04, 0xdd, 0xf4, 0x10, + 0x04, 0xf0, 0x03, 0x04, 0x03, 0x2c, 0x11, 0xd0, 0x3f, 0x18, 0x90, 0x19, 0xb5, 0xeb, 0xe0, + 0x0f, 0x3c, 0x78, 0x18, 0xbf, 0x17, 0xf8, 0x01, 0x6f, 0x12, 0xd1, 0x01, 0x20, 0x90, 0x40, + 0x40, 0x1e, 0xc3, 0xf1, 0x08, 0x03, 0x9b, 0x1a, 0x1c, 0x41, 0x04, 0x40, 0x1f, 0xe0, 0x52, + 0x4c, 0x27, 0x68, 0x00, 0x97, 0x6d, 0x1c, 0x05, 0xf0, 0x03, 0x05, 0x1d, 0xf8, 0x05, 0x60, + 0xc4, 0x78, 0x07, 0x60, 0xc2, 0xf1, 0x08, 0x00, 0x9d, 0x18, 0xc0, 0x1a, 0x08, 0x3d, 0x08, + 0x30, 0xc3, 0xf1, 0x08, 0x03, 0xc6, 0x40, 0x01, 0x20, 0x00, 0xfa, 0x05, 0xf7, 0x00, 0xfa, + 0x03, 0xf3, 0x7f, 0x1e, 0x5b, 0x1e, 0x90, 0x40, 0x1c, 0x40, 0x37, 0x40, 0x40, 0x1e, + + 0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0xac, 0x40, 0x3c, 0x43, 0x23, 0xb2, + 0x0c, 0x68, 0x12, 0x19, 0x0a, 0x60, 0x01, 0x46, 0x10, 0x22, 0x18, 0x46, 0xff, 0xf7, 0xa9, + 0xff, 0x00, 0xb2, 0xf8, 0xbd, 0xfc, 0xb5, 0x3c, 0x4e, 0x84, 0x46, 0x30, 0x68, 0x01, 0x90, + 0x9d, 0xf8, 0x05, 0x10, 0x9d, 0xf8, 0x04, 0x00, 0xfe, 0x27, 0x9d, 0xf8, 0x06, 0x30, 0x41, + 0xea, 0x00, 0x21, 0x9d, 0xf8, 0x07, 0x00, 0x0a, 0xb2, 0x2c, 0xf8, 0x04, 0x1b, 0x40, 0xea, + 0x03, 0x20, 0x00, 0xb2, 0x04, 0x46, 0x2c, 0xf8, 0x04, 0x0b, 0x80, 0x1a, 0x05, 0xb2, 0x20, + 0x20, 0x00, 0x90, 0x00, 0x98, 0x10, 0xf0, 0x1f, 0x0f, 0x04, 0xbf, 0x30, 0x68, 0x01, 0x90, + 0x02, 0x22, 0x69, 0x46, 0x01, 0xa8, 0xff, 0xf7, 0x89, 0xff, 0x10, 0xf1, 0x02, 0x0f, 0x0a, + 0xd1, 0x00, 0x98, 0x10, 0xf0, 0x1f, 0x0f, 0x04, 0xbf, 0x30, 0x68, 0x01, 0x90, 0x01, 0xa8, + 0x08, 0x22, 0x69, 0x46, 0xff, 0xf7, 0x7b, 0xff, 0x41, 0x19, 0x0d, 0xb2, 0x7f, 0x1e, 0x05, + 0xeb, 0x04, 0x01, 0x2c, 0xf8, 0x04, 0x1b, 0x0c, 0xb2, 0xdd, 0xd1, 0xfc, 0xbd, 0x10, 0xb5, + 0x1d, 0x4c, 0x20, 0x46, 0x80, 0x1e, 0xff, 0xf7, 0xba, 0xff, 0x20, 0x46, 0xff, 0xf7, 0xb7, + 0xff, 0x10, 0xbd, 0x2d, 0xe9, 0xf0, 0x41, 0x19, 0x4e, 0x00, 0x25, 0x02, 0x20, 0x35, 0x70, + 0xff, 0xf7, 0x41, 0xfb, 0x17, 0x4c, 0x01, 0x27, 0x20, 0x88, 0x20, 0xf0, 0x07, 0x00, + + 0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x40, 0xf0, 0x0b, 0x00, 0x20, 0x80, + 0x14, 0x48, 0x37, 0x70, 0x00, 0x78, 0x04, 0x28, 0x04, 0xdb, 0x08, 0x28, 0xcc, 0xbf, 0x02, + 0x21, 0x39, 0x1c, 0x00, 0xe0, 0x29, 0x46, 0x88, 0x01, 0x20, 0x82, 0x0a, 0x02, 0x1c, 0x20, + 0xff, 0xf7, 0x70, 0xfb, 0x19, 0x20, 0xb4, 0xf8, 0x0a, 0x80, 0x60, 0x81, 0x02, 0x20, 0xff, + 0xf7, 0x21, 0xfb, 0x09, 0x4e, 0x37, 0x70, 0xff, 0xf7, 0xca, 0xff, 0x35, 0x70, 0xa4, 0xf8, + 0x0a, 0x80, 0xbd, 0xe8, 0xf0, 0x81, 0x00, 0x02, 0x00, 0x40, 0x02, 0x04, 0x00, 0x40, 0xd0, + 0x40, 0x00, 0x42, 0x06, 0x02, 0x00, 0x40, 0x64, 0x01, 0x00, 0x20, 0xc0, 0x00, 0x01, 0x42, + 0x70, 0xb5, 0x51, 0x4c, 0x04, 0xf2, 0xb2, 0x32, 0x11, 0x88, 0x21, 0xf4, 0x70, 0x61, 0x41, + 0xea, 0x00, 0x20, 0x10, 0x80, 0x02, 0x20, 0xff, 0xf7, 0xdf, 0xfb, 0x4c, 0x4e, 0x01, 0x25, + 0x02, 0x20, 0x35, 0x70, 0xff, 0xf7, 0xd9, 0xfb, 0x00, 0x20, 0x30, 0x70, 0x02, 0x20, 0xff, + 0xf7, 0xd4, 0xfb, 0x20, 0x88, 0x20, 0xf0, 0x20, 0x00, 0x40, 0xf0, 0x10, 0x00, 0x20, 0x80, + 0x06, 0x20, 0xff, 0xf7, 0xcb, 0xfb, 0x20, 0x88, 0x20, 0xf0, 0x10, 0x00, 0x40, 0xf0, 0x20, + 0x00, 0x20, 0x80, 0x28, 0x46, 0xff, 0xf7, 0xc2, 0xfb, 0x20, 0x88, 0x20, 0xf0, 0x30, 0x00, + 0x20, 0x80, 0x0a, 0x20, 0xb4, 0xf8, 0x4c, 0x40, 0xff, 0xf7, 0xb9, 0xfb, 0x20, 0x46, + + 0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x70, 0xbd, 0xf8, 0xb5, 0x38, 0x48, + 0x00, 0x27, 0x3a, 0x4d, 0x00, 0x88, 0x37, 0x49, 0x38, 0x4e, 0xad, 0xf8, 0x00, 0x00, 0xaf, + 0x74, 0x41, 0xf6, 0x82, 0x50, 0x08, 0x80, 0x01, 0x20, 0xa6, 0xf8, 0x88, 0x00, 0xe8, 0x74, + 0xa8, 0x7c, 0x02, 0x28, 0x27, 0xda, 0x38, 0x46, 0xfe, 0xf7, 0xf4, 0xf9, 0x0a, 0x20, 0xff, + 0xf7, 0x9d, 0xfb, 0xa8, 0x7c, 0x1d, 0xf8, 0x00, 0x40, 0x20, 0x46, 0xff, 0xf7, 0xab, 0xff, + 0x0e, 0x2c, 0x0a, 0xdc, 0xb6, 0xf8, 0x6a, 0x10, 0x81, 0x42, 0x06, 0xda, 0x64, 0x1c, 0xe4, + 0xb2, 0x20, 0x46, 0xff, 0xf7, 0xa0, 0xff, 0x0f, 0x2c, 0xf4, 0xdb, 0xa8, 0x7c, 0x30, 0x18, + 0x80, 0xf8, 0xa4, 0x40, 0xff, 0xf7, 0xc8, 0xfd, 0x0a, 0x20, 0xff, 0xf7, 0x81, 0xfb, 0xa8, + 0x7c, 0x40, 0x1c, 0xa8, 0x74, 0xa8, 0x7c, 0x02, 0x28, 0xd7, 0xdb, 0xa6, 0xf8, 0x88, 0x70, + 0xef, 0x74, 0xf8, 0xbd, 0x00, 0xb5, 0xff, 0xf7, 0xbd, 0xff, 0x1b, 0x4b, 0x4f, 0xf0, 0x00, + 0x01, 0x93, 0xf8, 0x9a, 0x00, 0x40, 0xb9, 0x93, 0xf8, 0xa4, 0x00, 0x0a, 0x28, 0x04, 0xdb, + 0x93, 0xf8, 0xa5, 0x00, 0x02, 0x28, 0x08, 0xbf, 0x01, 0x21, 0x12, 0x48, 0x00, 0xf1, 0x1a, + 0x00, 0x01, 0x80, 0xb3, 0xf8, 0x54, 0x00, 0xa0, 0xb1, 0x11, 0x49, 0x01, 0x20, 0x08, 0x70, + 0x93, 0xf8, 0xa4, 0x00, 0x04, 0x28, 0x04, 0xdb, 0x08, 0x28, 0xd4, 0xbf, 0x06, 0x20, + + 0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x03, 0x20, 0x00, 0xe0, 0x04, 0x20, + 0x0c, 0x4a, 0x10, 0x70, 0x93, 0xf8, 0xa4, 0x10, 0x12, 0x78, 0x20, 0x20, 0xff, 0xf7, 0x91, + 0xfb, 0x00, 0xbd, 0x60, 0x1c, 0x00, 0x40, 0x98, 0x8c, 0x03, 0x42, 0x18, 0x31, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x20, 0x00, 0x02, 0x00, 0x20, 0xd0, 0x08, 0x00, 0x20, 0xc0, 0x00, 0x00, + 0x20, 0x18, 0x02, 0x04, 0x42, 0x12, 0x20, 0x00, 0x40, 0x04, 0x04, 0x00, 0x00, 0x2d, 0xe9, + 0xf0, 0x47, 0x36, 0x48, 0x4f, 0xf4, 0x0c, 0x61, 0x41, 0x80, 0x36, 0x49, 0x4f, 0xf0, 0x01, + 0x06, 0x09, 0x88, 0x86, 0x80, 0x4f, 0xf0, 0x00, 0x00, 0x01, 0xb1, 0x30, 0x46, 0x31, 0x49, + 0xdf, 0xf8, 0xc8, 0x80, 0x08, 0x70, 0x00, 0x20, 0xfd, 0xf7, 0x76, 0xf9, 0x45, 0x46, 0x31, + 0x4c, 0x4f, 0xf0, 0x03, 0x0a, 0x0f, 0x21, 0x20, 0x46, 0x4f, 0xf0, 0x00, 0x09, 0x2c, 0x4f, + 0x80, 0x1e, 0x80, 0xf8, 0x04, 0xa0, 0x01, 0x80, 0x02, 0x20, 0x87, 0xf8, 0x00, 0x90, 0xff, + 0xf7, 0xc4, 0xfb, 0x20, 0x88, 0x20, 0xf0, 0x0f, 0x00, 0x40, 0xf0, 0x03, 0x00, 0x20, 0x80, + 0x50, 0x46, 0x3e, 0x70, 0xa4, 0xf8, 0x0a, 0x90, 0xff, 0xf7, 0xb8, 0xfb, 0x14, 0x27, 0xa0, + 0x79, 0x08, 0xf8, 0x01, 0x0b, 0x30, 0x46, 0xff, 0xf7, 0xb1, 0xfb, 0x7f, 0x1e, 0xf7, 0xd1, + 0x05, 0x24, 0x29, 0x88, 0x6a, 0x88, 0x14, 0x20, 0xff, 0xf7, 0xf1, 0xfb, 0x64, 0x1e, + + 0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x05, 0xf1, 0x04, 0x05, 0xf6, 0xd1, + 0xbd, 0xe8, 0xf0, 0x87, 0x10, 0xb5, 0x15, 0x48, 0x40, 0xf2, 0x36, 0x21, 0x08, 0x38, 0x36, + 0x22, 0x01, 0x80, 0x02, 0x21, 0x00, 0x20, 0xff, 0xf7, 0xe0, 0xfb, 0x0d, 0x48, 0x00, 0x24, + 0x01, 0x21, 0xc4, 0x80, 0xc1, 0x81, 0x81, 0x84, 0x0b, 0x48, 0x14, 0x38, 0x44, 0x73, 0x84, + 0x73, 0xc4, 0x72, 0x04, 0x74, 0xff, 0xf7, 0x9e, 0xff, 0x20, 0x46, 0xff, 0xf7, 0xa7, 0xf8, + 0x4f, 0xf0, 0x80, 0x41, 0x0f, 0x20, 0xa1, 0xf8, 0x04, 0x42, 0x81, 0xf8, 0x06, 0x02, 0x1c, + 0x20, 0x81, 0xf8, 0x08, 0x02, 0x10, 0xbd, 0x00, 0x00, 0x00, 0x20, 0xe4, 0x08, 0x00, 0x20, + 0x18, 0x02, 0x00, 0x20, 0x38, 0x00, 0x00, 0x20, 0xd0, 0x40, 0x00, 0x42, 0x06, 0x02, 0x00, + 0x40, 0x2d, 0xe9, 0xf0, 0x41, 0xfe, 0xf7, 0x3a, 0xfe, 0xfe, 0xf7, 0x5d, 0xfe, 0x22, 0x48, + 0x23, 0x49, 0x03, 0x68, 0xb1, 0xfb, 0xf3, 0xf0, 0xb1, 0xfb, 0xf3, 0xf1, 0x49, 0x1c, 0x89, + 0xb2, 0x03, 0xfb, 0x01, 0xf2, 0x1f, 0x49, 0x40, 0x1c, 0x80, 0xb2, 0x91, 0x42, 0x03, 0xfb, + 0x00, 0xf5, 0x4f, 0xf0, 0x00, 0x00, 0x23, 0xd3, 0x1b, 0x4e, 0x1c, 0x4c, 0xdf, 0xf8, 0x70, + 0xc0, 0x8e, 0x46, 0xa0, 0x46, 0xb5, 0xfb, 0xf4, 0xf1, 0x8f, 0xb2, 0x04, 0xfb, 0x17, 0x57, + 0xbc, 0x45, 0x06, 0xeb, 0x00, 0x07, 0x01, 0xf1, 0x01, 0x02, 0x03, 0xd9, 0x62, 0x39, + + 0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x87, 0xf8, 0x02, 0x11, 0x40, 0x1c, + 0x91, 0xb2, 0x08, 0xfb, 0x01, 0xf1, 0x49, 0x1b, 0x8c, 0x45, 0x06, 0xeb, 0x00, 0x01, 0x03, + 0xd9, 0x62, 0x3a, 0x81, 0xf8, 0x02, 0x21, 0x40, 0x1c, 0x5d, 0x19, 0xae, 0x45, 0xe1, 0xd2, + 0x07, 0x28, 0x08, 0xd8, 0x0b, 0x49, 0xc0, 0xf1, 0x08, 0x02, 0xff, 0x23, 0x09, 0x18, 0x52, + 0x1e, 0x01, 0xf8, 0x01, 0x3b, 0xfb, 0xd1, 0xbd, 0xe8, 0xf0, 0x81, 0xc0, 0x46, 0xd0, 0x08, + 0x00, 0x20, 0x80, 0x9c, 0x2b, 0x8f, 0x3f, 0x0e, 0xe1, 0x93, 0x00, 0x02, 0x00, 0x20, 0x40, + 0x42, 0x0f, 0x00, 0x28, 0xe7, 0x09, 0x00, 0x02, 0x03, 0x00, 0x20, 0x2d, 0xe9, 0xf0, 0x4f, + 0x00, 0x20, 0xff, 0xf7, 0x80, 0xfc, 0x25, 0x4d, 0x95, 0xf8, 0xa4, 0x10, 0x49, 0x08, 0x05, + 0xeb, 0x41, 0x01, 0xb1, 0xf8, 0x88, 0x10, 0x4f, 0xf4, 0x80, 0x3a, 0x02, 0x09, 0xa1, 0xf2, + 0x66, 0x31, 0x8e, 0xb2, 0x87, 0x35, 0x1e, 0x49, 0xdf, 0xf8, 0x7c, 0x80, 0x2f, 0x27, 0xb1, + 0xfb, 0xf2, 0xf1, 0x49, 0x09, 0x8c, 0xb2, 0xa4, 0xf2, 0xfe, 0x31, 0x1f, 0xfa, 0x81, 0xfb, + 0x07, 0xf0, 0x0f, 0x01, 0x0f, 0x29, 0x15, 0xd1, 0x0f, 0x2f, 0x06, 0xf2, 0x66, 0x31, 0x03, + 0xd1, 0x8e, 0xb2, 0xa4, 0xeb, 0x0b, 0x04, 0xa4, 0xb2, 0x95, 0xf9, 0x00, 0x10, 0xc9, 0x01, + 0xb1, 0x42, 0xbc, 0xbf, 0x70, 0x1a, 0x4f, 0xf0, 0x00, 0x09, 0x09, 0xdb, 0x89, 0x1b, + + 0x01, 0x97, 0xfd, 0xb1, 0x00, 0x02, 0x19, 0x00, 0xac, 0x1f, 0xfa, 0x81, 0xf9, 0x61, 0x10, + 0x0b, 0xe0, 0x95, 0xf9, 0x00, 0x00, 0xa6, 0xeb, 0xc0, 0x10, 0x48, 0x44, 0x80, 0xb2, 0xff, + 0xf7, 0x43, 0xfc, 0x01, 0x09, 0x04, 0xfb, 0x01, 0xa1, 0x49, 0x0c, 0xa8, 0xf8, 0x00, 0x10, + 0x7f, 0x1e, 0xa5, 0xf1, 0x01, 0x05, 0xa8, 0xf1, 0x02, 0x08, 0xd1, 0xd5, 0xbd, 0xe8, 0xf0, + 0x8f, 0xc0, 0x00, 0x00, 0x20, 0x00, 0x00, 0xc0, 0x7f, 0x32, 0x04, 0x00, 0x20, 0xad, 0xf1, + 0x0c, 0x0d, 0x11, 0x48, 0x00, 0x68, 0x00, 0x90, 0x11, 0x48, 0x00, 0x68, 0x01, 0x90, 0x10, + 0x48, 0x00, 0x68, 0x02, 0x90, 0x10, 0x48, 0x00, 0x78, 0x10, 0x4a, 0x80, 0x10, 0x10, 0xf8, + 0x0d, 0x10, 0x82, 0xf8, 0x79, 0x10, 0x18, 0x21, 0x82, 0xf8, 0x7d, 0x10, 0x00, 0xeb, 0x0d, + 0x01, 0x09, 0x79, 0x68, 0x44, 0x82, 0xf8, 0x78, 0x10, 0x00, 0x7a, 0x03, 0xb0, 0x0a, 0x21, + 0x82, 0xf8, 0x7a, 0x00, 0x82, 0xf8, 0x7e, 0x10, 0x82, 0xf8, 0x7c, 0x10, 0x70, 0x47, 0x0c, + 0x30, 0x00, 0x00, 0x10, 0x30, 0x00, 0x00, 0x14, 0x30, 0x00, 0x00, 0x64, 0x01, 0x00, 0x20, + 0x00, 0x02, 0x00, 0x20, 0x25, 0x2c, 0x33, 0x00, 0x0f, 0x0f, 0x0f, 0x00, 0x14, 0x14, 0x14, + 0x00, + + 0x01, 0x01, 0xff, 0x06, 0x20, 0x10, 0x19, 0x00, 0x3e, 0x0e, + + 0x01, 0x01, 0xff, 0x06, 0x22, 0x10, 0x19, 0x00, 0x37, 0x21, + + 0x01, 0x01, 0xff, 0x06, 0x4a, 0x10, 0x19, 0x00, 0x00, 0x02, + + 0x01, 0x01, 0xff, 0x06, 0x9a, 0x10, 0x19, 0x00, 0x10, 0x00, + + 0x01, 0x01, 0xff, 0x06, 0x84, 0x11, 0x19, 0x00, 0x01, 0x06, + + 0x01, 0x01, 0xff, 0x06, 0x86, 0x11, 0x19, 0x00, 0x00, 0x04, + + 0x01, 0x01, 0xff, 0x06, 0x94, 0x11, 0x19, 0x00, 0x1e, 0x03, + + 0x01, 0x01, 0xff, 0x06, 0xa0, 0x11, 0x19, 0x00, 0x01, 0x01, + + 0x01, 0x01, 0xff, 0x06, 0xb0, 0x11, 0x19, 0x00, 0x34, 0x28, + + 0x01, 0x01, 0xff, 0x06, 0xb2, 0x11, 0x19, 0x00, 0xd8, 0xdb, + + 0x01, 0x01, 0xff, 0x06, 0xc0, 0x11, 0x19, 0x00, 0xba, 0xc0, + + 0x01, 0x01, 0xff, 0x06, 0xc2, 0x11, 0x19, 0x00, 0xc6, 0xc9, + + 0x01, 0x01, 0xff, 0x06, 0xc4, 0x11, 0x19, 0x00, 0xcc, 0xcf, + + 0x01, 0x01, 0xff, 0x06, 0xc6, 0x11, 0x19, 0x00, 0xd2, 0xd5, + + 0x01, 0x01, 0xff, 0x06, 0xc8, 0x11, 0x19, 0x00, 0xd8, 0xdb, + + 0x01, 0x01, 0xff, 0x06, 0xca, 0x11, 0x19, 0x00, 0xde, 0xe1, + + 0x01, 0x01, 0xff, 0x06, 0xcc, 0x11, 0x19, 0x00, 0xe4, 0xe7, + + 0x01, 0x01, 0xff, 0x06, 0xce, 0x11, 0x19, 0x00, 0xf4, 0x81, + + 0x01, 0x01, 0xff, 0x06, 0xd0, 0x11, 0x19, 0x00, 0xc6, 0xcc, + + 0x01, 0x01, 0xff, 0x06, 0xd2, 0x11, 0x19, 0x00, 0xcf, 0xd2, + + 0x01, 0x01, 0xff, 0x06, 0xd4, 0x11, 0x19, 0x00, 0xd5, 0xd8, + + 0x01, 0x01, 0xff, 0x06, 0xd6, 0x11, 0x19, 0x00, 0xdb, 0xde, + + 0x01, 0x01, 0xff, 0x06, 0xd8, 0x11, 0x19, 0x00, 0xe1, 0xe4, + + 0x01, 0x01, 0xff, 0x06, 0xda, 0x11, 0x19, 0x00, 0xe7, 0xe8, + + 0x01, 0x01, 0xff, 0x06, 0xdc, 0x11, 0x19, 0x00, 0xeb, 0xee, + + 0x01, 0x01, 0xff, 0x06, 0xde, 0x11, 0x19, 0x00, 0xf4, 0x00, + + 0x01, 0x01, 0xff, 0x06, 0xe0, 0x11, 0x19, 0x00, 0xce, 0xcf, + + 0x01, 0x01, 0xff, 0x06, 0xe2, 0x11, 0x19, 0x00, 0xcf, 0xd0, + + 0x01, 0x01, 0xff, 0x06, 0xe4, 0x11, 0x19, 0x00, 0xd2, 0xd4, + + 0x01, 0x01, 0xff, 0x06, 0xe6, 0x11, 0x19, 0x00, 0xd6, 0xd9, + + 0x01, 0x01, 0xff, 0x06, 0xe8, 0x11, 0x19, 0x00, 0xdc, 0xdf, + + 0x01, 0x01, 0xff, 0x06, 0xea, 0x11, 0x19, 0x00, 0xe2, 0xe4, + + 0x01, 0x01, 0xff, 0x06, 0xec, 0x11, 0x19, 0x00, 0xe7, 0xf5, + + 0x01, 0x01, 0xff, 0x06, 0xee, 0x11, 0x19, 0x00, 0xfb, 0x7f, + + 0x01, 0x01, 0xff, 0x06, 0xf0, 0x11, 0x19, 0x00, 0xd3, 0xd4, + + 0x01, 0x01, 0xff, 0x06, 0xf2, 0x11, 0x19, 0x00, 0xd5, 0xd7, + + 0x01, 0x01, 0xff, 0x06, 0xf4, 0x11, 0x19, 0x00, 0xd9, 0xdc, + + 0x01, 0x01, 0xff, 0x06, 0xf6, 0x11, 0x19, 0x00, 0xdf, 0xe2, + + 0x01, 0x01, 0xff, 0x06, 0xf8, 0x11, 0x19, 0x00, 0xe4, 0xe7, + + 0x01, 0x01, 0xff, 0x06, 0xfa, 0x11, 0x19, 0x00, 0xec, 0xee, + + 0x01, 0x01, 0xff, 0x06, 0xfc, 0x11, 0x19, 0x00, 0xf0, 0xf5, + + 0x01, 0x01, 0xff, 0x06, 0xfe, 0x11, 0x19, 0x00, 0xfb, 0x00, + + 0x01, 0x01, 0xff, 0x06, 0x00, 0x12, 0x19, 0x00, 0x7c, 0x70, + + 0x01, 0x01, 0xff, 0x06, 0x02, 0x12, 0x19, 0x00, 0x64, 0x5e, + + 0x01, 0x01, 0xff, 0x06, 0x04, 0x12, 0x19, 0x00, 0x58, 0x52, + + 0x01, 0x01, 0xff, 0x06, 0x06, 0x12, 0x19, 0x00, 0x4c, 0x46, + + 0x01, 0x01, 0xff, 0x06, 0x08, 0x12, 0x19, 0x00, 0x40, 0x3a, + + 0x01, 0x01, 0xff, 0x06, 0x0a, 0x12, 0x19, 0x00, 0x34, 0x2e, + + 0x01, 0x01, 0xff, 0x06, 0x0c, 0x12, 0x19, 0x00, 0x28, 0x22, + + 0x01, 0x01, 0xff, 0x06, 0x0e, 0x12, 0x19, 0x00, 0x08, 0xfc, + + 0x01, 0x01, 0xff, 0x06, 0x10, 0x12, 0x19, 0x00, 0x64, 0x58, + + 0x01, 0x01, 0xff, 0x06, 0x12, 0x12, 0x19, 0x00, 0x52, 0x4c, + + 0x01, 0x01, 0xff, 0x06, 0x14, 0x12, 0x19, 0x00, 0x46, 0x40, + + 0x01, 0x01, 0xff, 0x06, 0x16, 0x12, 0x19, 0x00, 0x3a, 0x34, + + 0x01, 0x01, 0xff, 0x06, 0x18, 0x12, 0x19, 0x00, 0x2e, 0x28, + + 0x01, 0x01, 0xff, 0x06, 0x1a, 0x12, 0x19, 0x00, 0x22, 0x20, + + 0x01, 0x01, 0xff, 0x06, 0x1c, 0x12, 0x19, 0x00, 0x1a, 0x14, + + 0x01, 0x01, 0xff, 0x06, 0x1e, 0x12, 0x19, 0x00, 0x08, 0xfc, + + 0x01, 0x01, 0xff, 0x06, 0x24, 0x1c, 0x19, 0x00, 0x27, 0x00, + + 0x01, 0x01, 0xff, 0x06, 0x44, 0x1c, 0x19, 0x00, 0x1c, 0x00, + + 0x01, 0x01, 0xff, 0x06, 0x46, 0x1c, 0x19, 0x00, 0x00, 0x00, + + 0x01, 0x01, 0xff, 0x06, 0x04, 0x08, 0x19, 0x00, 0x00, 0x00, + + 0x01, 0x01, 0xff, 0x06, 0x38, 0x08, 0x19, 0x00, 0x01, 0xf0, + + 0x01, 0x01, 0xff, 0x06, 0x28, 0x20, 0x19, 0x00, 0xe3, 0x0c, + + 0x01, 0x01, 0xff, 0x06, 0x2c, 0x20, 0x19, 0x00, 0xc3, 0x0c, + + 0x01, 0x01, 0xff, 0x06, 0x30, 0x20, 0x19, 0x00, 0x83, 0x18, + + 0x01, 0x01, 0xff, 0x06, 0x34, 0x20, 0x19, 0x00, 0x03, 0x0c, + + 0x01, 0x01, 0xff, 0x06, 0xf0, 0x20, 0x19, 0x00, 0x00, 0x00, + + 0x01, 0x01, 0xff, 0x06, 0xf4, 0x20, 0x19, 0x00, 0x00, 0x11, + + 0x01, 0x01, 0xff, 0x06, 0xfc, 0x20, 0x19, 0x00, 0x00, 0x12, + + 0x01, 0x01, 0xff, 0x06, 0x04, 0x21, 0x19, 0x00, 0x00, 0x13, + + 0x01, 0x01, 0xff, 0x06, 0x0c, 0x21, 0x19, 0x00, 0x10, 0x13, + + 0x01, 0x01, 0xff, 0x06, 0x14, 0x21, 0x19, 0x00, 0x00, 0x14, + + 0x01, 0x01, 0xff, 0x06, 0x1c, 0x21, 0x19, 0x00, 0x10, 0x14, + + 0x01, 0x01, 0xff, 0x06, 0x24, 0x21, 0x19, 0x00, 0x20, 0x14, + + 0x01, 0x01, 0xff, 0x06, 0x2c, 0x21, 0x19, 0x00, 0x30, 0x14, + + 0x01, 0x01, 0xff, 0x06, 0x34, 0x21, 0x19, 0x00, 0x40, 0x14, + + 0x01, 0x01, 0xff, 0x06, 0x3c, 0x21, 0x19, 0x00, 0x50, 0x14, + + 0x01, 0x01, 0xff, 0x06, 0x44, 0x21, 0x19, 0x00, 0x41, 0x14, + + 0x01, 0x01, 0xff, 0x06, 0x4c, 0x21, 0x19, 0x00, 0x51, 0x14, + + 0x01, 0x01, 0xff, 0x06, 0x54, 0x21, 0x19, 0x00, 0x42, 0x14, + + 0x01, 0x01, 0xff, 0x06, 0x5c, 0x21, 0x19, 0x00, 0x52, 0x14, + + 0x01, 0x01, 0xff, 0x06, 0x64, 0x21, 0x19, 0x00, 0x33, 0x14, + + 0x01, 0x01, 0xff, 0x06, 0x6c, 0x21, 0x19, 0x00, 0x53, 0x14, + + 0x01, 0x01, 0xff, 0x06, 0x74, 0x21, 0x19, 0x00, 0x02, 0x11, + + 0x01, 0x01, 0xff, 0x06, 0x7c, 0x21, 0x19, 0x00, 0x02, 0x12, + + 0x01, 0x01, 0xff, 0x06, 0x84, 0x21, 0x19, 0x00, 0x12, 0x12, + + 0x01, 0x01, 0xff, 0x06, 0x8c, 0x21, 0x19, 0x00, 0x02, 0x13, + + 0x01, 0x01, 0xff, 0x06, 0x94, 0x21, 0x19, 0x00, 0x12, 0x13, + + 0x01, 0x01, 0xff, 0x06, 0x9c, 0x21, 0x19, 0x00, 0x02, 0x14, + + 0x01, 0x01, 0xff, 0x06, 0xa4, 0x21, 0x19, 0x00, 0x12, 0x14, + + 0x01, 0x01, 0xff, 0x06, 0xac, 0x21, 0x19, 0x00, 0x22, 0x14, + + 0x01, 0x01, 0xff, 0x06, 0xb4, 0x21, 0x19, 0x00, 0x32, 0x14, + + 0x01, 0x01, 0xff, 0x06, 0xbc, 0x21, 0x19, 0x00, 0x42, 0x14, + + 0x01, 0x01, 0xff, 0x06, 0xc4, 0x21, 0x19, 0x00, 0x52, 0x14, + + 0x01, 0x01, 0xff, 0x06, 0xcc, 0x21, 0x19, 0x00, 0x33, 0x12, + + 0x01, 0x01, 0xff, 0x06, 0xd4, 0x21, 0x19, 0x00, 0x43, 0x12, + + 0x01, 0x01, 0xff, 0x06, 0xdc, 0x21, 0x19, 0x00, 0x53, 0x12, + + 0x01, 0x01, 0xff, 0x06, 0xe4, 0x21, 0x19, 0x00, 0x53, 0x13, + + 0x01, 0x01, 0xff, 0x06, 0xec, 0x21, 0x19, 0x00, 0x53, 0x14, + + 0x01, 0x01, 0xff, 0x06, 0x36, 0x24, 0x19, 0x00, 0x00, 0x00, + + 0x01, 0x09, 0xfd, 0x08, 0x10, 0x20, 0x19, 0x00, 0x10, 0x00, 0x10, 0x00, + + 0x01, 0x09, 0xfd, 0x08, 0x12, 0x20, 0x19, 0x00, 0x00, 0x04, 0x00, 0x0f, + + // ############################################ END OF SCRIPT ! ! ! ############################################ + 0x01, 0x05, 0xff, 0x69, 0x00, 0x32, 0x19, 0x00, 0x64, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, + 0x60, 0x09, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc8, 0x00, + 0x0b, 0x0f, 0xff, 0x07, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x09, 0x06, + 0x06, 0x06, 0x06, 0x04, 0x00, 0x17, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xab, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x08, 0x08, + 0x44, 0x10, 0x00, 0x00, + + 0x01, 0x05, 0xff, 0x69, 0x64, 0x32, 0x19, 0x00, 0x64, 0x26, 0x10, 0x11, 0x00, 0x01, 0x00, + 0x60, 0x04, 0xc0, 0x5d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x11, + 0x2a, 0x0c, 0x00, 0x04, 0x18, 0x08, 0x00, 0x54, 0x09, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, + 0x00, 0x00, 0x20, 0x14, 0x20, 0x14, 0xfa, 0x03, 0x1c, 0x01, 0xc3, 0xfe, 0x27, 0xfc, 0x84, + 0x03, 0xb4, 0x01, 0x37, 0x00, 0x91, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, + 0x71, 0x75, 0x71, 0x75, 0x71, 0x75, 0x71, 0x75, 0x47, 0x08, 0xe8, 0x08, 0xbe, 0x49, 0x00, + 0x00, 0xb7, 0x9d, 0xbc, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x97, 0x00, 0x00, + 0x00, 0x00, 0x10, 0x14, + + 0x01, 0x05, 0xff, 0x69, 0xc8, 0x32, 0x19, 0x00, 0x64, 0xe8, 0xe8, 0x01, 0x00, 0x06, 0x02, + 0x03, 0x01, 0x05, 0x00, 0xc4, 0xc2, 0x00, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x31, + 0x03, 0x01, 0x01, 0x04, 0x05, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xc2, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x78, 0x00, 0xd2, 0x00, 0xfb, 0x03, 0x9f, 0x1f, 0xe8, 0x03, 0x14, 0x12, 0xdc, 0x05, + 0x00, 0x08, 0x42, 0x04, + + 0x01, 0x05, 0xff, 0x69, 0x2c, 0x33, 0x19, 0x00, 0x64, 0x08, 0x0d, 0x45, 0x1f, 0x08, 0x19, + 0x0a, 0x0c, 0xee, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xc5, 0x05, 0xc5, 0x05, 0xc5, 0x05, 0x87, 0x07, 0x85, 0x05, 0xa8, 0x08, 0x96, + 0x06, 0x13, 0x03, 0x02, 0x1f, 0x22, 0x1f, 0x52, 0x15, 0x9e, 0x11, 0x98, 0x11, 0x98, 0x11, + 0x91, 0x11, 0x90, 0x11, + + 0x01, 0x05, 0xff, 0x49, 0x90, 0x33, 0x19, 0x00, 0x44, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x1e, 0x1e, 0x19, 0x19, 0x15, 0x9d, 0x40, 0x9f, 0xcd, + 0x9c, 0xef, 0x9e, 0x73, 0x9c, 0x9a, 0x9f, 0x00, 0x00, 0x00, 0x00, 0x7d, 0x00, 0x47, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, + + 0x01, 0x82, 0xfd, 0x14, 0x00, 0x9c, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xdc, + 0xe6, 0xf0, 0xfa, 0x04, 0x0e, 0x18, 0xff, 0x00, 0x00, + + 0x01, 0x82, 0xfd, 0x14, 0x01, 0x9c, 0xce, 0xce, 0xce, 0xce, 0xce, 0xce, 0xce, 0xce, 0xd8, + 0xe2, 0xec, 0xf6, 0x00, 0x0a, 0x14, 0xff, 0x00, 0x00, + + 0x01, 0x82, 0xfd, 0x14, 0x02, 0x9c, 0xce, 0xce, 0xce, 0xce, 0xce, 0xce, 0xce, 0xce, 0xd8, + 0xe2, 0xec, 0xf6, 0x00, 0x0a, 0x14, 0xff, 0x00, 0x00, + + 0x01, 0x87, 0xfd, 0x03, 0x0d, 0x0d, 0x0d, + + 0x01, 0x01, 0xff, 0x06, 0x00, 0x24, 0x19, 0x00, 0x00, 0x00, + + // + // ## For SMPS/DC2DC with trim 7 (default value) use the command below: + // ## Send_HCI_VS_Class_1p5_LDO_mode 0xFD6E, 0x1, 0x7 + // ## Wait_HCI_Command_Complete_VS_Class_1p5_LDO_mode_Event 5000, any, HCI_VS_Class_1p5_LDO_mode, 0x00 + // + // ## For VBAT with trim 7 (default value) use the command below: + // ## Send_HCI_VS_Class_1p5_LDO_mode 0xFD6E, 0x0, 0x7 + // ## Wait_HCI_Command_Complete_VS_Class_1p5_LDO_mode_Event 5000, any, HCI_VS_Class_1p5_LDO_mode, 0x00 + 0x01, 0x24, 0xfd, 0x97, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0xc0, 0x00, 0x01, 0xc0, 0x07, 0x00, 0x07, 0x00, 0x01, 0xc0, 0x00, 0x1c, 0x00, 0x00, 0x07, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x03, 0x4d, 0x34, 0xdd, 0xdc, 0x77, + 0x07, 0x07, 0x01, 0xc0, 0x00, 0x00, 0x00, 0xd0, 0xd0, 0xd3, 0x77, 0x77, 0x71, 0xc7, 0x00, + 0x00, 0xd3, 0x77, 0x1c, 0x00, 0xd3, 0x70, 0x00, 0xdc, 0x73, 0x77, 0x0d, 0xc0, 0xdb, 0xf9, + 0x30, 0xdc, 0xc0, 0xdb, 0xf9, 0x20, 0x20, 0x00, 0x00, 0x5e, 0x00, 0x5e, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x34, 0x00, 0x0d, 0x0d, 0x34, 0xd3, 0x43, 0x43, 0x40, 0x00, 0x00, 0xd0, 0xd0, + 0x34, 0xd3, 0x77, 0x77, 0x40, 0x34, 0xd3, 0x77, 0x77, 0x71, 0xc0, 0x70, 0x1c, 0x70, 0x00, + 0x00, 0x1d, 0xc0, 0x0d, 0x07, 0x77, 0x03, 0x47, 0x77, 0x01, 0xc1, 0xdd, 0xc0, 0xc4, 0x43, + 0x70, 0x40, 0x0f, 0x41, 0x34, 0x34, 0x34, 0xf4, 0x47, 0x30, 0x08, 0x0b, 0xc4, 0x2f, 0xe5, + 0x34, 0xbf, 0x98, 0x08, 0xc0, + + 0x01, 0x24, 0xfd, 0x9b, 0x00, 0x01, 0x00, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0xc0, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x0d, 0x03, 0x43, 0x4d, 0xd3, 0x71, 0xdc, 0x70, + 0x70, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x34, 0x0d, 0x34, 0xdd, 0xdd, 0xdc, 0x71, 0xc0, 0x00, + 0x03, 0x4d, 0xdc, 0x1c, 0x03, 0x4d, 0xc0, 0x00, 0xdd, 0xcd, 0x37, 0x03, 0x70, 0xc7, 0xd3, + 0x03, 0x03, 0x03, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x54, 0x00, 0x54, 0x00, 0x00, 0x07, + 0x00, 0x0d, 0x00, 0x00, 0x03, 0x40, 0x00, 0x07, 0x00, 0xd3, 0x4d, 0xd0, 0xd0, 0x0d, 0x00, + 0x0d, 0x00, 0xd3, 0x43, 0x4d, 0xdd, 0xc7, 0x1c, 0x77, 0x74, 0xdc, 0x00, 0x1c, 0x1d, 0xc0, + 0x0d, 0x34, 0x00, 0x70, 0x01, 0xdd, 0x0c, 0x00, 0x1c, 0x1d, 0xd3, 0x70, 0x04, 0xd3, 0x1c, + 0x1d, 0x37, 0x11, 0xcd, 0xc7, 0x7d, 0x10, 0x30, 0xd7, 0x00, 0x40, 0xbf, 0x98, 0x0b, 0xdc, + 0x4b, 0xf9, 0x5b, 0xf9, 0xbf, 0xa0, 0x30, 0x00, 0x00, + + 0x01, 0x24, 0xfd, 0x9b, 0x00, 0x02, 0x00, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0xcd, 0x00, 0x01, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xd0, 0x00, 0x0d, 0x00, 0x34, 0x0d, 0x0d, 0x34, 0xd3, 0x77, 0x71, 0xc7, 0x1c, + 0x00, 0x70, 0x00, 0x00, 0x03, 0x40, 0xd0, 0xd3, 0x4d, 0xdd, 0xdd, 0xc7, 0x1c, 0x00, 0x00, + 0x0d, 0x37, 0x70, 0x70, 0x0d, 0x37, 0x1c, 0x0d, 0x37, 0x03, 0x77, 0x00, 0xdf, 0x77, 0x03, + 0x70, 0xdc, 0xdc, 0x80, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4b, 0x00, 0x4b, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x35, 0xc0, 0x00, 0x00, 0xd0, 0xd0, 0x00, 0x34, 0x00, 0x70, 0x00, 0x37, 0x07, + 0x74, 0x34, 0x0d, 0x31, 0xd3, 0x43, 0x40, 0xd0, 0xd0, 0x31, 0xc0, 0x00, 0x01, 0xc7, 0x1d, + 0xc1, 0xc0, 0x00, 0x01, 0xc7, 0x1b, 0xfa, 0x02, 0xc7, 0x71, 0xdd, 0xdd, 0xc1, 0xdc, 0x1d, + 0xc1, 0x00, 0x0c, 0xe0, 0x2c, 0x37, 0x5c, 0x74, 0x0d, 0xc3, 0x80, 0x83, 0x04, 0xc0, 0x70, + 0x02, 0x02, 0x2f, 0xed, 0x1e, 0x02, 0xcb, 0xf9, 0x40, + + 0x01, 0x24, 0xfd, 0x9b, 0x00, 0x00, 0x01, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0xc0, 0x1c, 0x07, 0x01, 0xc0, 0x70, 0x1c, 0x01, 0xc0, 0x1c, 0x01, 0xc0, 0x01, 0xc0, 0x00, + 0x1c, 0x00, 0x00, 0x01, 0xc0, 0x00, 0x00, 0x00, 0x34, 0x00, 0x03, 0x40, 0xd0, 0xd3, 0x77, + 0x77, 0x70, 0x70, 0x1c, 0x00, 0x00, 0x03, 0x40, 0xd3, 0x4d, 0xdd, 0xdd, 0xc7, 0x01, 0xc0, + 0x03, 0x43, 0x71, 0xc0, 0x00, 0x37, 0x70, 0x0d, 0x31, 0xc3, 0x70, 0x0d, 0xc3, 0x03, 0x7d, + 0xdf, 0x00, 0xcc, 0x50, 0x00, 0x55, 0x00, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd0, + 0xdd, 0xdd, 0xd3, 0x43, 0x40, 0x34, 0x0d, 0x34, 0xdd, 0xd3, 0x74, 0x0d, 0x34, 0xdc, 0x4d, + 0xd3, 0x77, 0x77, 0x74, 0x34, 0x03, 0x77, 0x1c, 0x77, 0x71, 0xd3, 0x43, 0x1c, 0x07, 0x1c, + 0x00, 0x77, 0x1d, 0x0d, 0xc1, 0xc0, 0x07, 0x77, 0x1d, 0x30, 0x10, 0xc0, 0x38, 0x0b, 0x70, + 0x77, 0x43, 0x41, 0xf7, 0x70, 0x6f, 0xe5, 0x1b, 0xf4, 0x52, 0xfe, 0x5e, 0x02, 0xc1, 0xbf, + 0xb8, 0x0b, 0x20, 0x2b, 0xf8, 0x20, 0x20, 0x00, 0x00, + + 0x01, 0x24, 0xfd, 0x97, 0x00, 0x01, 0x01, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0xc0, 0x00, 0x1c, 0x00, 0x70, 0x01, 0xc0, 0x00, 0x70, 0x00, 0x01, 0xc0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x40, 0x03, 0x40, 0xd0, 0xd3, 0x4d, 0xdd, 0xdc, + 0x71, 0xc0, 0x1c, 0x00, 0x00, 0x34, 0x03, 0x43, 0x4d, 0xdd, 0xdd, 0xdc, 0x70, 0x70, 0x00, + 0x0d, 0x37, 0x77, 0x00, 0x00, 0xdd, 0xc0, 0x03, 0x77, 0x03, 0x71, 0xbf, 0x90, 0xc3, 0x70, + 0x30, 0x0c, 0x0d, 0xcc, 0x80, 0x80, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x4f, 0x00, 0x00, 0x70, + 0x00, 0x00, 0x00, 0x00, 0xd3, 0x4d, 0x00, 0xd0, 0x00, 0x70, 0x03, 0x43, 0x74, 0xd3, 0x40, + 0xd0, 0x37, 0x71, 0xd3, 0x43, 0x4d, 0x00, 0xd0, 0xdc, 0x71, 0xd3, 0x4d, 0xc7, 0x13, 0x4d, + 0xc7, 0x34, 0x37, 0x5c, 0x77, 0x00, 0x1d, 0xd0, 0xdc, 0x07, 0x1d, 0xc0, 0x07, 0x07, 0x07, + 0x10, 0x3d, 0xd1, 0xc7, 0x40, 0xc1, 0xd7, 0x38, 0x0b, 0x2f, 0xe4, 0x1d, 0xd3, 0x07, 0x07, + 0x07, 0x20, 0x2b, 0xf9, 0x00, + + 0x01, 0x24, 0xfd, 0x97, 0x00, 0x02, 0x01, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0xc0, 0x00, 0x00, 0x07, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0d, 0x00, 0x00, 0xd0, 0x03, 0x40, 0x34, 0x0d, 0x0d, 0x0d, 0x34, 0xdd, 0x37, 0x77, 0x71, + 0xc7, 0x07, 0x00, 0x00, 0x00, 0x34, 0x34, 0x37, 0x4d, 0xdd, 0xc7, 0x1c, 0x70, 0x07, 0x34, + 0x0d, 0xdd, 0xdc, 0x00, 0x03, 0x77, 0x06, 0xfe, 0x40, 0xc7, 0x0d, 0x31, 0xf4, 0xc0, 0xdc, + 0x03, 0x00, 0xdc, 0xdc, 0x80, 0xa0, 0x20, 0x00, 0x00, 0x40, 0x00, 0x40, 0x00, 0x00, 0x00, + 0x01, 0xcd, 0x00, 0x00, 0xd3, 0x43, 0x41, 0xc0, 0x0d, 0x0d, 0x0d, 0x0d, 0x03, 0x40, 0x0d, + 0xdd, 0xd3, 0x74, 0xdd, 0x37, 0x40, 0x0d, 0x37, 0x1d, 0xd0, 0x34, 0x00, 0xc7, 0x38, 0x0b, + 0x07, 0x74, 0xdd, 0xc7, 0x77, 0x77, 0x01, 0x00, 0x37, 0x74, 0xd3, 0x77, 0x04, 0x0d, 0xf4, + 0x1d, 0x0d, 0xdf, 0x40, 0x01, 0xd0, 0xdc, 0xd1, 0x3d, 0x1c, 0x07, 0x74, 0xf1, 0x1b, 0xfa, + 0x02, 0x0d, 0xdf, 0x80, 0x80, + + 0x01, 0x24, 0xfd, 0x9b, 0x01, 0x00, 0x00, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x34, 0x00, 0x0d, 0x00, 0x00, 0x34, 0x00, 0x03, 0x40, 0x03, 0x40, 0x03, 0x40, 0x34, + 0x03, 0x40, 0x34, 0x0d, 0x03, 0x43, 0x40, 0xd3, 0x43, 0x4d, 0x37, 0x77, 0x77, 0x70, 0x70, + 0x70, 0x00, 0x00, 0x00, 0x34, 0x0d, 0x0d, 0x37, 0x4d, 0xdd, 0xdd, 0xc7, 0x07, 0x00, 0x0d, + 0x0d, 0x37, 0x70, 0x70, 0x03, 0x4d, 0xc7, 0x00, 0xd3, 0x1c, 0x0d, 0xc0, 0x37, 0x03, 0x70, + 0x37, 0x0c, 0x03, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x48, 0x00, 0x00, 0x07, + 0x00, 0xd0, 0x1c, 0x00, 0x0d, 0x00, 0x00, 0xd3, 0x77, 0x43, 0x40, 0x34, 0x37, 0x4d, 0x00, + 0x34, 0x03, 0x4d, 0x00, 0xd3, 0x43, 0x77, 0x77, 0x4d, 0x37, 0x71, 0xdd, 0xdc, 0x70, 0x34, + 0x71, 0xc7, 0x01, 0xc7, 0x07, 0x40, 0x00, 0xc7, 0x01, 0xd3, 0x40, 0xc0, 0x0c, 0x44, 0xdc, + 0x4d, 0xc7, 0x70, 0x1d, 0xc4, 0x00, 0x3d, 0x10, 0x6f, 0xee, 0x02, 0xf4, 0x80, 0x8e, 0xfe, + 0x20, 0x20, 0xdf, 0x80, 0x8d, 0x0b, 0xf8, 0x80, 0x90, + + 0x01, 0x24, 0xfd, 0x9b, 0x01, 0x01, 0x00, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x03, 0x40, 0x34, 0x00, 0xd0, 0x03, 0x40, 0x0d, 0x00, 0xd0, 0x34, 0x03, 0x40, 0xd0, 0xd0, + 0xd0, 0x34, 0xd0, 0xd0, 0xd3, 0x43, 0x4d, 0x34, 0xd3, 0x77, 0x4d, 0xc7, 0x71, 0xc7, 0x01, + 0xc0, 0x00, 0x00, 0x03, 0x43, 0x43, 0x4d, 0xd3, 0x77, 0x77, 0x1c, 0x70, 0x70, 0x00, 0xd0, + 0xd3, 0x77, 0x1c, 0x00, 0x00, 0xdd, 0xc7, 0x00, 0xd3, 0x1c, 0x37, 0x70, 0x0d, 0xc0, 0x37, + 0x00, 0x30, 0x0c, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x38, 0x00, 0x00, 0x00, + 0x00, 0x1c, 0x1c, 0x03, 0x43, 0x40, 0x00, 0x01, 0xc0, 0x00, 0xd0, 0xdd, 0xd0, 0x00, 0x00, + 0x03, 0x4d, 0x00, 0x00, 0x00, 0xd0, 0xd0, 0x0d, 0x37, 0x4d, 0xdd, 0xdd, 0xc0, 0x70, 0x1c, + 0x70, 0x07, 0x43, 0x4c, 0x1d, 0xdd, 0xc7, 0x1d, 0xc0, 0x04, 0x31, 0xc7, 0x10, 0xdc, 0x43, + 0x7d, 0x07, 0x4c, 0x74, 0x31, 0xc0, 0x1b, 0xf9, 0x70, 0x07, 0x17, 0xbf, 0x81, 0x4f, 0x40, + 0x13, 0x6f, 0xe8, 0x0b, 0xe0, 0x40, 0x00, 0x00, 0x00, + + 0x01, 0x24, 0xfd, 0x97, 0x01, 0x02, 0x00, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0xbf, 0x90, 0xd0, 0xd0, 0x34, 0x03, 0x40, 0xd0, 0x34, 0x0d, 0x03, 0x43, 0x43, 0x43, 0x43, + 0x43, 0x4d, 0x34, 0x34, 0xd3, 0x4d, 0x34, 0xdd, 0x37, 0x4d, 0xdd, 0xdd, 0xdc, 0x71, 0xc1, + 0xc0, 0x07, 0x00, 0x34, 0x03, 0x43, 0x4d, 0x37, 0x4d, 0xdd, 0xc7, 0x1c, 0x70, 0x00, 0x00, + 0xd3, 0x4d, 0xc7, 0x1c, 0x00, 0x34, 0x37, 0x07, 0x03, 0x4d, 0xc0, 0x0d, 0xdc, 0x0d, 0xdc, + 0x34, 0xdc, 0x37, 0x70, 0x80, 0x80, 0x00, 0x00, 0x00, 0x3a, 0x00, 0x3a, 0x00, 0x00, 0x00, + 0x00, 0x70, 0x1c, 0x34, 0x00, 0x00, 0x00, 0x03, 0x40, 0x00, 0x03, 0x4c, 0x4d, 0xdd, 0x34, + 0x0d, 0x00, 0xd3, 0x40, 0x03, 0x43, 0x40, 0x0d, 0xdd, 0x34, 0x34, 0xdd, 0xd3, 0x4c, 0x70, + 0x1c, 0x77, 0x1c, 0x00, 0x4d, 0x03, 0x70, 0x1c, 0x4d, 0xdd, 0xdc, 0x00, 0x1d, 0xc0, 0x71, + 0x37, 0x00, 0x07, 0x40, 0xdd, 0xdc, 0xd7, 0x5c, 0xdc, 0xd4, 0xbf, 0x90, 0x38, 0x09, 0xfc, + 0x41, 0xd7, 0x00, 0x00, 0x00, + + 0x01, 0x24, 0xfd, 0x97, 0x01, 0x00, 0x01, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0xc0, 0x00, 0x00, 0x07, 0x00, 0x00, 0x01, 0xc0, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x34, 0x00, 0x34, 0x0d, 0x00, 0x34, 0xd3, 0x4d, + 0xdd, 0xdc, 0x71, 0xc0, 0x07, 0x0d, 0x00, 0x34, 0xd3, 0x77, 0x77, 0x1c, 0x70, 0x1c, 0x00, + 0x34, 0xd3, 0x70, 0x70, 0x0d, 0x37, 0x70, 0x0d, 0x31, 0xc3, 0x71, 0xf7, 0x73, 0x70, 0xdc, + 0x0d, 0xbf, 0x9d, 0xbf, 0x93, 0x20, 0x20, 0x00, 0x00, 0x43, 0x00, 0x43, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x07, 0x00, 0xd0, 0x0e, 0x02, 0xc0, 0x34, 0x34, 0xd0, 0x00, 0x0d, 0x34, 0xd0, + 0x34, 0x00, 0x34, 0x0d, 0x03, 0x43, 0x43, 0x4d, 0xdd, 0xdd, 0xdd, 0xd0, 0x00, 0x0d, 0x0d, + 0xdc, 0x77, 0x74, 0xc0, 0x70, 0x01, 0xc7, 0x1d, 0xdc, 0x70, 0x1c, 0x71, 0xdd, 0x31, 0xc0, + 0x71, 0xc1, 0xc7, 0x77, 0x00, 0x01, 0x00, 0xc1, 0xdc, 0x1c, 0xd4, 0x31, 0x37, 0x07, 0x35, + 0x5b, 0xf1, 0x40, 0x00, 0x00, + + 0x01, 0x24, 0xfd, 0x9b, 0x01, 0x01, 0x01, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0xf4, 0x03, 0x40, 0x00, 0x0d, 0x00, 0x00, 0xd0, 0x00, 0xd0, 0x03, 0x40, 0x34, 0x0d, 0x03, + 0x43, 0x43, 0x43, 0x43, 0x4d, 0x0d, 0x34, 0xd3, 0x4d, 0xd3, 0x77, 0x77, 0x77, 0x71, 0xc7, + 0x1c, 0x07, 0x00, 0x00, 0x03, 0x43, 0x43, 0x74, 0xdd, 0xc7, 0x71, 0xc0, 0x70, 0x03, 0x43, + 0x4d, 0xdd, 0xc1, 0xc0, 0xd0, 0xdd, 0xc0, 0x00, 0xdd, 0xc0, 0x37, 0x70, 0xdd, 0xc3, 0x77, + 0x03, 0x70, 0xdc, 0x60, 0x20, 0x00, 0x00, 0x00, 0x00, 0x39, 0x00, 0x39, 0x00, 0x00, 0x01, + 0xc3, 0x40, 0x00, 0xd3, 0x40, 0x01, 0xc0, 0x00, 0x34, 0x0d, 0x03, 0x40, 0x0d, 0xdc, 0x4d, + 0x34, 0x34, 0x00, 0x00, 0x0d, 0x70, 0x34, 0x37, 0x1d, 0xd0, 0x00, 0xdd, 0xdc, 0x74, 0xd3, + 0x4d, 0xdc, 0x1f, 0x40, 0x10, 0xdc, 0x74, 0x0c, 0x00, 0x4d, 0x37, 0x13, 0x71, 0xd3, 0x00, + 0x04, 0x30, 0xd1, 0x03, 0xd0, 0x70, 0x4c, 0x03, 0x44, 0xbf, 0x92, 0x02, 0x0c, 0xf8, 0x08, + 0xc7, 0xe0, 0x23, 0x20, 0x2f, 0x70, 0x00, 0x00, 0x00, + + 0x01, 0x24, 0xfd, 0x93, 0x01, 0x02, 0x01, 0x8c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0xf4, 0x34, 0x03, 0x40, 0x03, 0x40, 0x34, 0x03, 0x40, 0xd0, 0x34, 0x34, 0x34, 0x34, 0xd0, + 0xd3, 0x4d, 0x37, 0x4d, 0x37, 0x4d, 0xdd, 0x37, 0x77, 0x77, 0x77, 0x1d, 0xc7, 0x1c, 0x70, + 0x70, 0x70, 0x00, 0x00, 0x00, 0x03, 0x43, 0x4d, 0xdd, 0xdc, 0x71, 0xc0, 0x1f, 0x40, 0x34, + 0xdd, 0xc7, 0x1c, 0x00, 0xd3, 0x77, 0x1c, 0x0d, 0x37, 0x70, 0xd3, 0x70, 0x0d, 0xdc, 0x0d, + 0xdc, 0xd3, 0x00, 0x50, 0x00, 0x32, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x01, 0xc0, 0x1c, + 0x00, 0x34, 0x0d, 0x0d, 0x37, 0x4d, 0x1c, 0x00, 0x00, 0x0d, 0x00, 0x34, 0x03, 0x43, 0x71, + 0xc7, 0x1d, 0x34, 0x0d, 0x0d, 0x00, 0xd3, 0x4d, 0x03, 0x40, 0xc7, 0x01, 0xd3, 0x43, 0x4d, + 0xdc, 0x74, 0xdc, 0x40, 0x31, 0xdd, 0xc7, 0x77, 0x77, 0x07, 0x74, 0x30, 0xe0, 0x2d, 0x03, + 0x31, 0x04, 0xdc, 0x74, 0xf1, 0x4c, 0x34, 0x70, 0x5f, 0x06, 0xfe, 0x20, 0x20, 0xc0, 0x40, + 0x00, + + 0x01, 0x24, 0xfd, 0x9b, 0x02, 0x00, 0x00, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0xbf, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd0, 0x00, + 0x00, 0x00, 0x00, 0xd0, 0x00, 0x03, 0x40, 0x0d, 0x03, 0x4d, 0x34, 0xdd, 0xdd, 0xc7, 0x07, + 0x01, 0xc0, 0x00, 0x00, 0x00, 0x34, 0x03, 0x43, 0x4d, 0x34, 0xdd, 0xdd, 0xdc, 0x71, 0xc0, + 0x00, 0x03, 0x4d, 0xdc, 0x70, 0x00, 0x0d, 0xdc, 0x00, 0x34, 0xc0, 0x0d, 0xc0, 0x31, 0xbf, + 0x93, 0x00, 0xc0, 0xc3, 0x73, 0x60, 0x20, 0x00, 0x00, 0x56, 0x00, 0x56, 0x00, 0x00, 0x07, + 0x00, 0x34, 0xd0, 0x0d, 0x00, 0xd3, 0x43, 0x40, 0x00, 0x34, 0xd0, 0xd0, 0x0d, 0x00, 0x00, + 0xdd, 0xd3, 0x74, 0xdd, 0x37, 0x71, 0xc4, 0xdc, 0x71, 0xc0, 0x07, 0x01, 0xbf, 0x90, 0x00, + 0x00, 0x1c, 0x1c, 0x71, 0xc0, 0x00, 0x01, 0xc1, 0x37, 0x71, 0xdd, 0xc4, 0x0c, 0x77, 0x10, + 0x37, 0x80, 0xb3, 0x1c, 0x43, 0x74, 0x34, 0x0d, 0x13, 0xdd, 0x7c, 0x01, 0x0b, 0xfa, 0x02, + 0x37, 0x4b, 0xf9, 0x4d, 0xbf, 0x86, 0x02, 0x00, 0x00, + + 0x01, 0x24, 0xfd, 0x9f, 0x02, 0x01, 0x00, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0xbf, 0x90, 0x00, 0x00, 0x00, 0xd0, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x34, 0x00, 0x03, + 0x40, 0x00, 0xd0, 0x03, 0x40, 0x34, 0x0d, 0x03, 0x4d, 0x34, 0xdd, 0xdd, 0xdc, 0x71, 0xc0, + 0x07, 0x00, 0x00, 0x34, 0x00, 0xd0, 0x34, 0xd3, 0x4d, 0x37, 0x77, 0x71, 0xc7, 0x07, 0x00, + 0x00, 0xd0, 0xdd, 0xc7, 0x07, 0x0d, 0x0d, 0xdc, 0x00, 0x37, 0x70, 0x0d, 0xc0, 0x0c, 0x00, + 0xdc, 0x37, 0x37, 0x7d, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4c, 0x00, 0x4c, 0x00, 0x00, 0x00, + 0x00, 0x0d, 0x00, 0x03, 0x43, 0x4d, 0x00, 0xd0, 0x00, 0x00, 0x03, 0x43, 0x74, 0x0d, 0x0d, + 0xdd, 0xdd, 0x00, 0xd0, 0x34, 0x34, 0xdd, 0xdd, 0x37, 0x00, 0x1c, 0x74, 0xdc, 0xd0, 0x77, + 0x1c, 0x00, 0x70, 0x00, 0x1c, 0x77, 0x40, 0x37, 0x00, 0x01, 0x1c, 0x0c, 0x1c, 0x04, 0xc7, + 0x07, 0x71, 0x13, 0x0d, 0x03, 0x70, 0x20, 0x2c, 0xbf, 0x9e, 0x02, 0x3d, 0x5e, 0xfe, 0x54, + 0xbf, 0x80, 0x48, 0x0a, 0xfe, 0xbf, 0xb8, 0x0f, 0x1f, 0x80, 0xd0, 0x00, 0x00, + + 0x01, 0x24, 0xfd, 0x9b, 0x02, 0x02, 0x00, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0xbf, 0x90, 0x00, 0xd0, 0x00, 0x00, 0xd0, 0x00, 0x0d, 0x00, 0x0d, 0x00, 0x0d, 0x00, 0xd0, + 0x03, 0x40, 0xd0, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x37, 0x4d, 0xdd, 0xdd, 0xc7, 0x07, 0x00, + 0x70, 0x00, 0x34, 0x00, 0xd0, 0x34, 0xd0, 0xdd, 0x37, 0x77, 0x77, 0x1d, 0xc1, 0xc0, 0x00, + 0x0d, 0x0d, 0xdd, 0xdc, 0x00, 0x00, 0xd3, 0x1c, 0x00, 0x37, 0x1c, 0x34, 0xc0, 0x0c, 0x70, + 0x37, 0x03, 0x70, 0xdd, 0x20, 0x20, 0x00, 0x00, 0x00, 0x48, 0x00, 0x48, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x37, 0x4d, 0x0d, 0x37, 0x40, 0x00, 0x00, 0x03, 0x40, 0x0d, 0x00, + 0x0d, 0x31, 0xdd, 0x0d, 0x03, 0x43, 0x4d, 0x37, 0x07, 0x04, 0xc7, 0x07, 0x1c, 0x70, 0x70, + 0x01, 0xd3, 0x70, 0x1c, 0x70, 0x73, 0x41, 0xd0, 0xd0, 0x0c, 0x70, 0x04, 0x0c, 0x1c, 0x47, + 0xc0, 0x04, 0x03, 0x04, 0x30, 0x1d, 0x0c, 0x40, 0x1c, 0x7c, 0x38, 0x08, 0x2f, 0xe8, 0x09, + 0xbf, 0x8d, 0x80, 0xbb, 0xfa, 0x02, 0xc0, 0x20, 0x20, + + 0x01, 0x24, 0xfd, 0x97, 0x02, 0x00, 0x01, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0xc0, 0x07, 0x00, 0x01, 0xc0, 0x01, 0xc0, 0x00, 0x01, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x40, 0x03, 0x40, 0xd0, 0xd3, 0x4d, 0xdd, 0xc7, + 0x70, 0x1c, 0x00, 0x00, 0x03, 0x40, 0xd0, 0xd3, 0x4d, 0xdd, 0xdd, 0xc7, 0x1c, 0x1c, 0x00, + 0x34, 0x37, 0x77, 0x00, 0x00, 0x37, 0x70, 0x00, 0xdc, 0x73, 0x4c, 0x00, 0xc0, 0x30, 0x0c, + 0x0c, 0x0c, 0x0c, 0x50, 0x00, 0x51, 0x00, 0x51, 0x00, 0x00, 0x00, 0x1c, 0x34, 0x34, 0x0d, + 0x00, 0xd0, 0x0d, 0x03, 0x40, 0x00, 0x34, 0xdd, 0xdd, 0x34, 0x34, 0xd3, 0x43, 0x4d, 0x37, + 0x13, 0x40, 0x00, 0x03, 0x43, 0x4d, 0xdd, 0xc0, 0x6f, 0xe4, 0xd0, 0x00, 0x1d, 0xdc, 0x1c, + 0x1c, 0x01, 0xd3, 0x00, 0x1c, 0x1c, 0x71, 0xdd, 0xd3, 0x40, 0xc7, 0x04, 0xc3, 0x50, 0x00, + 0x00, 0xc1, 0x03, 0x00, 0x01, 0x80, 0xaf, 0xec, 0x5b, 0xfb, 0x80, 0x9f, 0x04, 0x31, 0x1f, + 0x46, 0xfe, 0x40, 0x00, 0x00, + + 0x01, 0x24, 0xfd, 0x9b, 0x02, 0x01, 0x01, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0xc0, 0x00, 0x00, 0x00, 0x01, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, + 0x00, 0x0d, 0x00, 0x00, 0xd0, 0x03, 0x40, 0xd0, 0x34, 0xd3, 0x4d, 0x37, 0x77, 0x1c, 0x70, + 0x70, 0x00, 0x00, 0x0d, 0x03, 0x43, 0x4d, 0x34, 0xdd, 0xdd, 0xc7, 0x1c, 0x70, 0x07, 0xd0, + 0x0d, 0x37, 0x1c, 0x1c, 0x34, 0x37, 0x70, 0x00, 0xdd, 0xc0, 0xdd, 0xc0, 0xc7, 0xdd, 0xc0, + 0xc0, 0x37, 0x30, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x49, 0x00, 0x49, 0x00, 0x00, 0x00, + 0x00, 0x03, 0x40, 0x00, 0x00, 0x03, 0x43, 0x4d, 0xd3, 0x40, 0x00, 0xd0, 0x03, 0x43, 0x43, + 0x77, 0x00, 0x70, 0x77, 0x40, 0x00, 0xd3, 0x77, 0x70, 0x07, 0x4d, 0x0d, 0xdc, 0x77, 0x1c, + 0x1c, 0x1c, 0x07, 0x77, 0x70, 0x07, 0x1d, 0xdd, 0xdc, 0x43, 0x40, 0xdd, 0xc1, 0xd0, 0x0c, + 0x1c, 0x1d, 0xd3, 0x04, 0x30, 0x1d, 0xc7, 0x80, 0x8c, 0x30, 0xd2, 0x02, 0xf1, 0x34, 0x0c, + 0x80, 0xef, 0xed, 0x6f, 0xd7, 0x50, 0x00, 0x00, 0x00, + + 0x01, 0x24, 0xfd, 0x9f, 0x02, 0x02, 0x01, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x34, 0x00, 0x0d, 0x00, 0x0d, + 0x00, 0xd0, 0x0d, 0x0d, 0x03, 0x43, 0x4d, 0x34, 0xd3, 0x74, 0xdd, 0xdd, 0xdc, 0x71, 0xc1, + 0xc0, 0x00, 0x00, 0x00, 0xd0, 0xd0, 0xdd, 0x37, 0x77, 0x1d, 0xc7, 0x07, 0x00, 0x00, 0x00, + 0xd3, 0x77, 0x1c, 0x00, 0x0d, 0x37, 0x70, 0x03, 0x4c, 0x70, 0xdd, 0xc0, 0xdc, 0x7d, 0x30, + 0x0d, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x41, 0x00, 0x41, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x34, 0x00, 0xd3, 0x4d, 0x34, 0x34, 0x0d, 0x00, 0xd0, 0x34, 0xd3, 0x40, 0x34, + 0x31, 0xd3, 0x40, 0x37, 0x71, 0xc7, 0x74, 0x00, 0x00, 0x0d, 0x34, 0xd3, 0x77, 0x77, 0x74, + 0x37, 0x07, 0x1c, 0x07, 0x1d, 0xc0, 0x13, 0x4d, 0x34, 0xd3, 0x40, 0xc6, 0xfe, 0x47, 0x71, + 0xd3, 0x70, 0x34, 0x41, 0xf0, 0x1e, 0x02, 0xf6, 0xfe, 0x44, 0x0d, 0xc1, 0xd6, 0xfe, 0x1b, + 0xf9, 0x07, 0x4c, 0xe0, 0x23, 0x78, 0x0a, 0xfd, 0x20, 0x30, 0x00, 0x00, 0x00, + + 0x01, 0x05, 0xff, 0x65, 0xd4, 0x33, 0x19, 0x00, 0x60, 0x00, 0x00, 0x0b, 0x00, 0x0b, 0x00, + 0x0b, 0x00, 0x0b, 0x00, 0x0b, 0x00, 0x0b, 0x00, 0x0b, 0x00, 0x0b, 0x00, 0x12, 0x00, 0x1c, + 0x00, 0x2d, 0x00, 0x48, 0x00, 0x72, 0x00, 0xb5, 0x00, 0x1f, 0x01, 0x00, 0x00, 0x0e, 0x00, + 0x0e, 0x00, 0x0e, 0x00, 0x0e, 0x00, 0x0e, 0x00, 0x0e, 0x00, 0x0e, 0x00, 0x0e, 0x00, 0x17, + 0x00, 0x24, 0x00, 0x39, 0x00, 0x5a, 0x00, 0x90, 0x00, 0xe4, 0x00, 0x6a, 0x01, 0x00, 0x00, + 0x0e, 0x00, 0x0e, 0x00, 0x0e, 0x00, 0x0e, 0x00, 0x0e, 0x00, 0x0e, 0x00, 0x0e, 0x00, 0x0e, + 0x00, 0x17, 0x00, 0x24, 0x00, 0x39, 0x00, 0x5a, 0x00, 0x90, 0x00, 0xe4, 0x00, 0x6a, 0x01, + + + 0x01, 0x76, 0xfd, 0x31, 0x01, 0x21, 0x54, 0x00, 0x00, 0x61, 0x57, 0x00, 0x00, 0x14, 0x05, + 0x0a, 0x05, 0x00, 0x07, 0x06, 0x0a, 0x04, 0x05, 0x08, 0x09, 0x0b, 0x0c, 0x0d, 0x0e, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, + + 0x01, 0x80, 0xfd, 0x06, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, + + 0x01, 0x80, 0xfd, 0x06, 0x3c, 0xf0, 0x5f, 0x00, 0x00, 0x00, + + // + // + 0x01, 0xd1, 0xff, 0x02, 0x00, 0x00, + + 0x01, 0x1c, 0xfd, 0x14, 0xff, 0x88, 0x13, 0x00, 0x00, 0xd0, 0x07, 0x00, 0x00, 0xff, 0xff, + 0x04, 0xff, 0xff, 0xff, 0xfa, 0x00, 0x00, 0x00, 0x00, + + 0x01, 0x38, 0xfe, 0x00, + + // + // ################################################################# + // ## START of Panasonic Adds-On + // ################################################################# + // + // ## Enable fast clock XTAL support + 0x01, 0x1c, 0xfd, 0x14, 0x01, 0x88, 0x13, 0x00, 0x00, 0xd0, 0x07, 0x00, 0x00, 0xff, 0xff, + 0x04, 0xff, 0xff, 0xff, 0xfa, 0x00, 0x00, 0x00, 0x00, + + // + // ## Enable LPS + 0x01, 0x2e, 0xfd, 0x0d, 0x01, 0x58, 0x02, 0x06, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, + + // + // ## Enable eHCILL + 0x01, 0x2b, 0xfd, 0x05, 0x10, 0x00, 0x50, 0x00, 0x96, + + // + 0x01, 0x0c, 0xfd, 0x09, 0x01, 0x01, 0x00, 0xff, 0xff, 0xff, 0xff, 0x64, 0x00, + + // + // ################################################################# + // ## END of Panasonic Adds-On + // ################################################################# +}; + +// with eHCILL +const uint32_t cc256x_init_script_size = 41239; + +// without eHCILL +//const uint32_t cc256x_init_script_size = 41217; + diff --git a/metawatch/bluetooth_init_cc2564_2.8.bts b/metawatch/bluetooth_init_cc2564_2.8.bts new file mode 120000 index 0000000..eaabc8d --- /dev/null +++ b/metawatch/bluetooth_init_cc2564_2.8.bts @@ -0,0 +1 @@ +CC2564_BT_BLE_SP_BTS/bluetooth_init_cc2564_2.8.bts \ No newline at end of file diff --git a/metawatch/bluetooth_init_cc2564_2.8.c b/metawatch/bluetooth_init_cc2564_2.8.c new file mode 100644 index 0000000..e03d78b --- /dev/null +++ b/metawatch/bluetooth_init_cc2564_2.8.c @@ -0,0 +1,1487 @@ +// init script created from bluetooth_init_cc2564_2.8.bts +#include + +#if defined(__GNUC__) && (__MSP430X__ > 0) +__attribute__((section (".fartext"))) +#endif +const uint8_t cc256x_init_script[] = { + + // #-------------------------------------------------------------------------------- + // # Description : Orca 5500 L ROM Initialization Script + // # + // # Compatibility: Orca, 6.0.15 ROM + // # + // # Last Updated: 20-Dec-2012 14:33:32.90 + // # + // # Version : TI_P6_15.77 + // # + // # + // # + // # + // # Notes : Use this script on Orca 5500 L, 6.0.15 ROM device only (FW v6.0.15) + // #-------------------------------------------------------------------------------- + // + // ################################################################# + // ## START of CC256x Add-On + // ################################################################# + // + // ## Change UART baudrate + // + // ################################################################# + // ## END of CC256x Add-On + // ################################################################# + // + // + 0x01, 0x37, 0xfe, 0x02, 0x06, 0x0f, + + // + // + 0x01, 0x05, 0xff, 0xff, 0xa0, 0x62, 0x08, 0x00, 0xfa, 0x06, 0x0f, 0x3d, 0x4d, 0xfb, 0x01, + 0x00, 0x1f, 0x00, 0x00, 0x05, 0x00, 0x05, 0xc0, 0x03, 0xc0, 0x1e, 0x38, 0x05, 0x00, 0x05, + 0xc0, 0x01, 0x40, 0x1f, 0x30, 0x05, 0x00, 0x04, 0xc0, 0x03, 0xc0, 0x1e, 0x38, 0x3d, 0x01, + 0x04, 0xc0, 0x03, 0xc0, 0x1e, 0x38, 0x76, 0x02, 0x04, 0xc0, 0x03, 0xc0, 0x1e, 0x38, 0xae, + 0x03, 0x04, 0xc0, 0x03, 0xc0, 0x1e, 0x38, 0xae, 0x0b, 0x01, 0x00, 0x34, 0x30, 0x41, 0x02, + 0x00, 0x00, 0x00, 0x00, 0x80, 0x7f, 0x12, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x31, 0x9d, + 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xb5, 0x85, 0xb0, + 0x06, 0x06, 0x36, 0x0e, 0x6c, 0x46, 0x26, 0x70, 0x03, 0x21, 0x08, 0x1a, 0x60, 0x70, 0x02, + 0xa8, 0x04, 0xa9, 0x03, 0xaa, 0x01, 0xab, 0x01, 0x25, 0xae, 0x46, 0x0d, 0x4f, 0xfe, 0x44, + 0x38, 0x47, 0x0d, 0x48, 0x2f, 0x30, 0xa1, 0x89, 0x81, 0x42, 0x03, 0xdb, 0xa0, 0x89, 0xff, + 0x38, 0x91, 0x38, 0x01, 0xe0, 0xa0, 0x89, 0xc8, 0x30, 0xa0, 0x80, 0x6b, 0x46, 0x1e, 0x70, + 0x02, 0x98, 0x99, 0x88, 0x04, 0x9a, 0x9b, 0x89, 0xae, 0x46, 0x03, 0x4c, 0xfe, 0x44, 0x20, + 0x47, 0x05, 0xb0, 0xf0, 0xbd, 0xa5, 0xc4, 0x03, 0x00, 0x51, 0xc2, 0x03, 0x00, 0x43, 0x02, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + + 0x01, 0x05, 0xff, 0xff, 0x9a, 0x63, 0x08, 0x00, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xe2, 0x48, 0x00, 0x78, 0x02, 0x28, 0x0f, 0xd1, 0xe1, 0x48, 0x41, 0x88, 0x09, 0x09, 0x0b, + 0xd2, 0x41, 0x88, 0x49, 0x08, 0x08, 0xd2, 0x42, 0x88, 0x10, 0x21, 0x11, 0x43, 0x41, 0x80, + 0x02, 0x88, 0x01, 0x21, 0x89, 0x03, 0x11, 0x43, 0x01, 0x80, 0xf7, 0x46, 0xd8, 0x48, 0x00, + 0x78, 0x02, 0x28, 0x0f, 0xd1, 0xd7, 0x48, 0x41, 0x88, 0x09, 0x09, 0x0b, 0xd2, 0x41, 0x88, + 0x49, 0x08, 0x08, 0xd2, 0x10, 0x22, 0x41, 0x88, 0x91, 0x43, 0x41, 0x80, 0x01, 0x22, 0x92, + 0x03, 0x01, 0x88, 0x91, 0x43, 0x01, 0x80, 0xf7, 0x46, 0x10, 0xb5, 0x03, 0x7e, 0xe2, 0x49, + 0xe3, 0x4a, 0xe4, 0x48, 0x00, 0x2b, 0x09, 0xd1, 0x94, 0x38, 0x82, 0x18, 0x04, 0x20, 0x00, + 0x23, 0x01, 0x24, 0xa6, 0x46, 0xdf, 0x4c, 0xfe, 0x44, 0x20, 0x47, 0x10, 0xbd, 0x82, 0x18, + 0x04, 0x20, 0x00, 0x23, 0x01, 0x24, 0xa6, 0x46, 0xda, 0x4c, 0xfe, 0x44, 0x20, 0x47, 0x10, + 0xbd, 0xf0, 0xb5, 0x04, 0x69, 0xc7, 0x26, 0x30, 0x5d, 0x04, 0x28, 0x24, 0xd1, 0xc8, 0x25, + 0x28, 0x5d, 0x18, 0x28, 0x03, 0xd1, 0x6a, 0x20, 0x00, 0x5d, 0x04, 0x28, 0x16, 0xd0, 0x28, + 0x5d, 0x19, 0x28, 0x19, 0xd1, 0xce, 0x20, 0x00, 0x5d, 0x16, 0x28, 0x15, 0xd1, 0xb5, 0x27, + 0x38, 0x5d, 0x01, 0x21, + + 0x01, 0x05, 0xff, 0xff, 0x94, 0x64, 0x08, 0x00, 0xfa, 0x8e, 0x46, 0xce, 0x4a, 0xfe, 0x44, + 0x10, 0x47, 0x00, 0x22, 0x38, 0x5d, 0x60, 0x21, 0x41, 0x43, 0xcb, 0x48, 0x42, 0x54, 0x32, + 0x55, 0x2a, 0x55, 0xf0, 0xbd, 0x20, 0x1c, 0x01, 0x21, 0x8e, 0x46, 0xc8, 0x49, 0xfe, 0x44, + 0x08, 0x47, 0xf0, 0xbd, 0xf0, 0xb5, 0x86, 0xb0, 0x07, 0x1c, 0xbe, 0x69, 0xb9, 0x8a, 0x03, + 0x91, 0x00, 0x20, 0x6a, 0x46, 0x50, 0x71, 0x6c, 0x46, 0x20, 0x71, 0xe8, 0x48, 0x44, 0x38, + 0x08, 0x1a, 0x01, 0x28, 0x0b, 0xd9, 0x05, 0x38, 0x09, 0xd0, 0x68, 0x38, 0x01, 0x28, 0x06, + 0xd9, 0x04, 0x38, 0x04, 0xd0, 0x2f, 0x38, 0x02, 0xd0, 0x24, 0x38, 0x02, 0x28, 0x0b, 0xd8, + 0x00, 0x97, 0x03, 0x98, 0x31, 0x1c, 0x52, 0x1d, 0x01, 0xab, 0x01, 0x25, 0xae, 0x46, 0xe5, + 0x4d, 0xfe, 0x44, 0x28, 0x47, 0x00, 0x28, 0x5d, 0xd1, 0x03, 0x98, 0xd9, 0x49, 0x41, 0x1a, + 0xe2, 0x48, 0x3a, 0xd0, 0x59, 0x39, 0x46, 0xd0, 0x1c, 0x39, 0x2d, 0xd0, 0x2c, 0x39, 0x52, + 0xd1, 0x30, 0x1c, 0x00, 0x21, 0x01, 0x25, 0xae, 0x46, 0xef, 0x4a, 0xfe, 0x44, 0x10, 0x47, + 0x04, 0x90, 0xae, 0x46, 0xed, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x00, 0x28, 0x04, 0xd1, 0x02, + 0x20, 0x6a, 0x46, 0x10, 0x71, 0x7f, 0x20, 0x02, 0xe0, 0x00, 0x78, 0xe9, 0x49, 0x08, 0x56, + 0x05, 0x90, 0x02, 0xa8, 0x04, 0x99, 0xae, 0x46, 0xe7, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x05, + 0x99, 0x01, 0x70, 0x03, 0x20, 0x6a, 0x46, 0x10, 0x70, 0x30, 0x1c, 0xc2, 0x49, 0xa1, 0x31, + 0x12, 0x79, 0x02, 0xab, 0xae, 0x46, 0xe1, 0x4d, 0xfe, 0x44, 0x28, 0x47, 0x26, 0xe0, 0x0e, + 0x21, 0x01, 0x22, 0x96, 0x46, 0xde, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x01, 0x28, 0x08, 0xd0, + 0x1d, 0xe0, 0x0d, 0x21, + + 0x01, 0x05, 0xff, 0xff, 0x8e, 0x65, 0x08, 0x00, 0xfa, 0x01, 0x22, 0x96, 0x46, 0xda, 0x4a, + 0xfe, 0x44, 0x10, 0x47, 0x01, 0x28, 0x15, 0xd1, 0x0c, 0x21, 0x68, 0x46, 0x01, 0x71, 0x01, + 0x21, 0x41, 0x71, 0x13, 0xe0, 0xec, 0x48, 0xf1, 0x7a, 0x01, 0x70, 0x31, 0x7b, 0x41, 0x70, + 0x71, 0x7b, 0x81, 0x70, 0xb1, 0x7b, 0xc1, 0x70, 0x01, 0x20, 0x6a, 0x46, 0x50, 0x71, 0xe7, + 0x48, 0x9e, 0x30, 0x38, 0x62, 0x03, 0xe0, 0x6a, 0x46, 0x50, 0x79, 0x01, 0x28, 0x0b, 0xd1, + 0x30, 0x1c, 0x03, 0x99, 0x6a, 0x46, 0x12, 0x79, 0x01, 0x23, 0x9e, 0x46, 0xe1, 0x4b, 0xfe, + 0x44, 0x18, 0x47, 0xdf, 0x48, 0x9e, 0x30, 0x38, 0x62, 0x06, 0xb0, 0xf0, 0xbd, 0xf8, 0xb5, + 0x06, 0x1c, 0xb5, 0x69, 0xb2, 0x8a, 0xdc, 0x48, 0x01, 0x1c, 0x11, 0x39, 0x52, 0x1a, 0x65, + 0xd0, 0x12, 0x1a, 0xda, 0x49, 0x22, 0xd0, 0x07, 0x3a, 0x00, 0xd0, 0x8d, 0xe0, 0x0e, 0x20, + 0x40, 0x19, 0x06, 0x22, 0xaa, 0x80, 0x08, 0x22, 0x6a, 0x80, 0x09, 0x78, 0x02, 0x29, 0x0c, + 0xd1, 0xd4, 0x49, 0x01, 0x24, 0xa6, 0x46, 0xd4, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x00, 0x21, + 0xa6, 0x46, 0xd1, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x00, 0x22, 0x00, 0xe0, 0x0c, 0x22, 0x28, + 0x1c, 0x87, 0x21, 0x89, 0x00, 0x01, 0x23, 0x9e, 0x46, 0xcd, 0x4b, 0xfe, 0x44, 0x18, 0x47, + 0x6a, 0xe0, 0x08, 0x78, 0x02, 0x28, 0x33, 0xd1, 0x0b, 0x20, 0x40, 0x19, 0x01, 0x24, 0xa6, + 0x46, 0xc8, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x00, 0x90, 0xa6, 0x46, 0xc7, 0x49, 0xfe, 0x44, + 0x08, 0x47, 0x00, 0x06, 0x00, 0x0e, 0xa6, 0x46, 0xc5, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x07, + 0x1c, 0x0e, 0x20, 0x40, 0x19, 0x00, 0x99, 0xa6, 0x46, 0x9d, 0x4a, 0xfe, 0x44, 0x10, 0x47, + 0x06, 0x21, 0xa9, 0x80, + + 0x01, 0x05, 0xff, 0xff, 0x88, 0x66, 0x08, 0x00, 0xfa, 0x07, 0x21, 0x69, 0x80, 0x00, 0x2f, + 0x0b, 0xd0, 0x00, 0x99, 0xc9, 0x0a, 0x08, 0xd3, 0x3a, 0x21, 0xc9, 0x19, 0x05, 0x22, 0xa6, + 0x46, 0xba, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x00, 0x22, 0x08, 0xe0, 0x00, 0x21, 0x05, 0x22, + 0xa6, 0x46, 0xb7, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x02, 0x22, 0x00, 0xe0, 0x0c, 0x22, 0x28, + 0x1c, 0xb4, 0x49, 0x01, 0x23, 0x9e, 0x46, 0xb4, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x2a, 0xe0, + 0x2f, 0x1c, 0x06, 0x20, 0xa8, 0x80, 0x0e, 0x20, 0x40, 0x19, 0x40, 0x21, 0x01, 0x24, 0xa6, + 0x46, 0xaf, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0xae, 0x48, 0x01, 0x1c, 0xcf, 0x22, 0x0a, 0x72, + 0x08, 0x31, 0x61, 0x22, 0x0a, 0x74, 0x19, 0x21, 0x02, 0x78, 0xba, 0x73, 0x01, 0x37, 0x01, + 0x30, 0x01, 0x39, 0xf9, 0xd1, 0x04, 0x20, 0xec, 0x49, 0x0a, 0x78, 0xba, 0x73, 0x01, 0x37, + 0x01, 0x31, 0x01, 0x38, 0xf9, 0xd1, 0x40, 0x20, 0x68, 0x80, 0x28, 0x1c, 0x81, 0x21, 0x49, + 0x00, 0x00, 0x22, 0xa6, 0x46, 0x97, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0xe2, 0x48, 0xfa, 0x30, + 0x30, 0x62, 0xf8, 0xbd, 0x30, 0xb5, 0x05, 0x1c, 0xe1, 0x48, 0x00, 0x78, 0x00, 0x28, 0x17, + 0xd1, 0x01, 0x24, 0xa6, 0x46, 0xdf, 0x48, 0xfe, 0x44, 0x00, 0x47, 0x00, 0x28, 0x0b, 0xd1, + 0xa6, 0x46, 0xdd, 0x48, 0xfe, 0x44, 0x00, 0x47, 0x01, 0x28, 0x05, 0xd0, 0xa6, 0x46, 0xdb, + 0x48, 0xfe, 0x44, 0x00, 0x47, 0x01, 0x28, 0x04, 0xd1, 0x00, 0x20, 0x28, 0x60, 0xd9, 0x48, + 0x52, 0x30, 0x28, 0x62, 0x30, 0xbd, 0xc0, 0x46, 0xe8, 0x57, 0x08, 0x00, 0x60, 0x7a, 0x1a, + 0x00, 0x70, 0xb5, 0xd5, 0x49, 0x80, 0x8a, 0x88, 0x42, 0x20, 0xd1, 0xd4, 0x4b, 0xd4, 0x4a, + 0x00, 0x21, 0x40, 0x20, + + 0x01, 0x05, 0xff, 0xff, 0x82, 0x67, 0x08, 0x00, 0xfa, 0x80, 0x5c, 0x00, 0x28, 0x0e, 0xd0, + 0x18, 0x78, 0xd2, 0x4e, 0x8c, 0x00, 0xd2, 0x4d, 0x2c, 0x19, 0x25, 0x6a, 0xb5, 0x42, 0x0b, + 0xd8, 0x64, 0x68, 0xb4, 0x42, 0x08, 0xd8, 0x01, 0x24, 0x8c, 0x40, 0xa0, 0x43, 0x18, 0x70, + 0xa8, 0x32, 0x01, 0x31, 0x07, 0x29, 0xe8, 0xdb, 0x70, 0xbd, 0x0a, 0x06, 0x12, 0x0e, 0x01, + 0x21, 0x91, 0x40, 0x01, 0x43, 0x19, 0x70, 0x70, 0xbd, 0xc0, 0x46, 0xf1, 0x70, 0x08, 0x00, + 0xc9, 0x98, 0x00, 0x00, 0x33, 0x70, 0x08, 0x00, 0xd3, 0x03, 0x00, 0x00, 0xc9, 0xa2, 0x00, + 0x00, 0x76, 0xa0, 0x1b, 0x00, 0x6d, 0x97, 0x00, 0x00, 0x70, 0xb5, 0x06, 0x1c, 0xb5, 0x69, + 0x28, 0x88, 0x00, 0x0a, 0x01, 0x02, 0x35, 0x20, 0x00, 0x02, 0x08, 0x1a, 0x23, 0xd0, 0x09, + 0x21, 0x49, 0x02, 0x40, 0x1a, 0x3c, 0xd1, 0xe8, 0x48, 0x00, 0x68, 0x00, 0x28, 0x0e, 0xd1, + 0xe8, 0x88, 0x00, 0x04, 0xa9, 0x88, 0x08, 0x43, 0x01, 0x24, 0xa6, 0x46, 0x54, 0x49, 0xfe, + 0x44, 0x08, 0x47, 0x28, 0x1c, 0xa6, 0x46, 0xe2, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x24, 0xe0, + 0x7d, 0x20, 0xc0, 0x00, 0x01, 0x24, 0xa6, 0x46, 0xdf, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x28, + 0x1c, 0xa6, 0x46, 0xe9, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x17, 0xe0, 0xe8, 0x88, 0x11, 0x21, + 0x49, 0x01, 0x41, 0x43, 0xe7, 0x48, 0x40, 0x18, 0x3b, 0x21, 0x0a, 0x5c, 0x3c, 0x21, 0x09, + 0x5c, 0x11, 0x43, 0x05, 0xd1, 0x00, 0x21, 0x01, 0x22, 0x96, 0x46, 0xe3, 0x4a, 0xfe, 0x44, + 0x10, 0x47, 0x28, 0x1c, 0x01, 0x21, 0x8e, 0x46, 0xcf, 0x49, 0xfe, 0x44, 0x08, 0x47, 0xdc, + 0x49, 0x05, 0x20, 0x00, 0x02, 0x40, 0x18, 0x30, 0x62, 0x70, 0xbd, 0x5b, 0xfd, 0x00, 0x00, + 0x10, 0xb5, 0x04, 0x1c, + + 0x01, 0x05, 0xff, 0xff, 0x7c, 0x68, 0x08, 0x00, 0xfa, 0xe9, 0x48, 0x00, 0x78, 0x01, 0x28, + 0x08, 0xd1, 0x60, 0x69, 0x01, 0x21, 0x8e, 0x46, 0xc5, 0x49, 0xfe, 0x44, 0x08, 0x47, 0xe5, + 0x48, 0x1a, 0x30, 0x20, 0x62, 0x10, 0xbd, 0xf3, 0x06, 0x18, 0x00, 0xc0, 0x61, 0x1a, 0x00, + 0x30, 0xb5, 0x04, 0x1c, 0xa1, 0x69, 0x00, 0x29, 0x1c, 0xd0, 0x20, 0x69, 0x02, 0x78, 0xff, + 0x2a, 0x18, 0xd0, 0x8a, 0x88, 0x89, 0x18, 0x08, 0x22, 0xca, 0x42, 0x13, 0xd0, 0x39, 0x22, + 0x12, 0x5c, 0x0a, 0x2a, 0x0f, 0xd1, 0x09, 0x7a, 0x4a, 0x08, 0x0f, 0x2a, 0x0b, 0xd1, 0xc9, + 0x07, 0xc9, 0x0f, 0x0f, 0x22, 0x2a, 0x23, 0x01, 0x25, 0xae, 0x46, 0xdd, 0x4d, 0xfe, 0x44, + 0x28, 0x47, 0xc1, 0x48, 0xf0, 0x30, 0x20, 0x62, 0x30, 0xbd, 0xc0, 0x46, 0xd1, 0x2b, 0x00, + 0x00, 0x65, 0x8b, 0x01, 0x00, 0x50, 0x21, 0x08, 0x00, 0x69, 0x2c, 0x00, 0x00, 0x0d, 0x78, + 0x05, 0x00, 0x2f, 0x4a, 0x05, 0x00, 0x70, 0xb5, 0x85, 0xb0, 0x05, 0x1c, 0x68, 0x69, 0xec, + 0x4e, 0x01, 0x24, 0x34, 0x70, 0x01, 0x7a, 0x89, 0x06, 0x09, 0x0e, 0xea, 0x4a, 0x52, 0x58, + 0x69, 0x46, 0xa6, 0x46, 0xfe, 0x44, 0x10, 0x47, 0x00, 0x20, 0x30, 0x70, 0x68, 0x46, 0x01, + 0x7c, 0x6e, 0x46, 0x72, 0x7c, 0x14, 0x20, 0xa6, 0x46, 0xe4, 0x4b, 0xfe, 0x44, 0x18, 0x47, + 0x68, 0x46, 0x01, 0x7c, 0x06, 0x29, 0x04, 0xd0, 0xa6, 0x46, 0xe1, 0x49, 0xfe, 0x44, 0x08, + 0x47, 0x04, 0xe0, 0xe0, 0x4a, 0x34, 0x21, 0x88, 0x5c, 0x01, 0x30, 0x88, 0x54, 0xdf, 0x48, + 0x4e, 0x30, 0x28, 0x62, 0x05, 0xb0, 0x70, 0xbd, 0x68, 0x63, 0x08, 0x00, 0x81, 0x60, 0x00, + 0x00, 0x99, 0x77, 0x05, 0x00, 0x13, 0x10, 0x00, 0x00, 0x41, 0x10, 0x08, 0x00, 0xff, 0xff, + 0xff, 0x1f, 0x53, 0x2c, + + 0x01, 0x05, 0xff, 0xff, 0x76, 0x69, 0x08, 0x00, 0xfa, 0x00, 0x00, 0xc1, 0x50, 0x02, 0x00, + 0x73, 0x2c, 0x00, 0x00, 0x71, 0x8b, 0x04, 0x00, 0x9b, 0x8b, 0x04, 0x00, 0x21, 0xa7, 0x05, + 0x00, 0xc1, 0xad, 0x05, 0x00, 0x15, 0x20, 0x00, 0x00, 0xa7, 0x50, 0x02, 0x00, 0x91, 0x1c, + 0x04, 0x00, 0xb3, 0x11, 0x08, 0x00, 0xf8, 0xb5, 0x07, 0x1c, 0x7c, 0x69, 0x3d, 0x69, 0x38, + 0x7f, 0x17, 0x21, 0x40, 0x1a, 0x26, 0xd0, 0x0d, 0x38, 0x16, 0xd0, 0x5b, 0x38, 0x63, 0xd1, + 0xff, 0x20, 0x7d, 0x30, 0x00, 0x5d, 0x0c, 0x28, 0x5e, 0xd1, 0xc4, 0x48, 0xe9, 0x78, 0x41, + 0x70, 0x29, 0x79, 0x81, 0x70, 0x69, 0x79, 0xc1, 0x70, 0xa9, 0x79, 0x01, 0x71, 0xe9, 0x79, + 0x41, 0x71, 0x29, 0x7a, 0xc1, 0x80, 0xa9, 0x7a, 0x01, 0x81, 0x4e, 0xe0, 0x01, 0x25, 0xae, + 0x46, 0xbc, 0x48, 0xfe, 0x44, 0x00, 0x47, 0xae, 0x46, 0xbb, 0x49, 0xfe, 0x44, 0x08, 0x47, + 0x00, 0x28, 0x43, 0xd0, 0xb9, 0x48, 0xc4, 0x38, 0x3d, 0xe0, 0xff, 0x20, 0x7d, 0x30, 0x06, + 0x19, 0x28, 0x78, 0x30, 0x70, 0x31, 0x78, 0x02, 0x20, 0x08, 0x40, 0x30, 0x70, 0x01, 0x35, + 0x28, 0x1c, 0x01, 0x21, 0x8e, 0x46, 0xb2, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x70, 0x80, 0x02, + 0x35, 0x28, 0x1c, 0x01, 0x21, 0x8e, 0x46, 0xae, 0x49, 0xfe, 0x44, 0x08, 0x47, 0xb0, 0x80, + 0xff, 0x20, 0x83, 0x30, 0x00, 0x19, 0x00, 0x90, 0x02, 0x35, 0x28, 0x1c, 0x01, 0x21, 0x8e, + 0x46, 0xa8, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x00, 0x99, 0x08, 0x80, 0x02, 0x35, 0x28, 0x1c, + 0x01, 0x21, 0x8e, 0x46, 0xa4, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x00, 0x99, 0x48, 0x80, 0xb1, + 0x88, 0x70, 0x88, 0x08, 0x43, 0x40, 0x08, 0x1c, 0xd2, 0x00, 0x98, 0x00, 0x88, 0x00, 0x28, + 0x18, 0xd0, 0x4a, 0x08, + + 0x01, 0x05, 0xff, 0xff, 0x70, 0x6a, 0x08, 0x00, 0xfa, 0x90, 0x42, 0x15, 0xdc, 0x08, 0x29, + 0x10, 0xdb, 0x99, 0x48, 0xe1, 0x49, 0x40, 0x18, 0x38, 0x62, 0x60, 0x7e, 0x00, 0x28, 0x10, + 0xd0, 0x26, 0x20, 0x00, 0x5d, 0x04, 0x28, 0x0c, 0xda, 0x20, 0x22, 0x11, 0x5d, 0xf7, 0x20, + 0x08, 0x40, 0x10, 0x55, 0xf8, 0xbd, 0x91, 0x48, 0x12, 0x38, 0x00, 0xe0, 0xd8, 0x48, 0xd7, + 0x49, 0x40, 0x18, 0x38, 0x62, 0xf8, 0xbd, 0xc0, 0x46, 0x25, 0x00, 0x00, 0x00, 0xbc, 0x63, + 0x08, 0x00, 0xef, 0x22, 0x08, 0x00, 0x5d, 0x8b, 0x04, 0x00, 0x7b, 0x5f, 0x03, 0x00, 0xab, + 0xb9, 0x03, 0x00, 0xbf, 0x70, 0x05, 0x00, 0x76, 0x81, 0x00, 0x00, 0x65, 0x63, 0x08, 0x00, + 0x60, 0x19, 0x08, 0x00, 0x10, 0x27, 0x00, 0x00, 0xcc, 0x24, 0x08, 0x00, 0xf8, 0xb5, 0xca, + 0x4f, 0xcc, 0x48, 0x00, 0x78, 0x02, 0x28, 0x0c, 0xd1, 0x01, 0x24, 0xa6, 0x46, 0xc7, 0x48, + 0xfe, 0x44, 0x00, 0x47, 0xa6, 0x46, 0xc6, 0x48, 0xfe, 0x44, 0x00, 0x47, 0xa6, 0x46, 0xea, + 0x48, 0xfe, 0x44, 0x00, 0x47, 0x01, 0x26, 0xb6, 0x46, 0xe9, 0x48, 0xfe, 0x44, 0x00, 0x47, + 0xb6, 0x46, 0xe8, 0x48, 0xfe, 0x44, 0x00, 0x47, 0xb6, 0x46, 0xe7, 0x48, 0xfe, 0x44, 0x00, + 0x47, 0x30, 0x4d, 0x00, 0x24, 0x00, 0x94, 0x38, 0x20, 0x40, 0x5d, 0x0c, 0x28, 0x25, 0xd1, + 0xe8, 0x78, 0x00, 0x28, 0x04, 0xd0, 0x3a, 0x20, 0x40, 0x5d, 0x0e, 0x28, 0x00, 0xd1, 0x00, + 0x96, 0x3b, 0x20, 0x41, 0x5d, 0x3c, 0x20, 0x40, 0x5d, 0x08, 0x43, 0x17, 0xd1, 0xff, 0x20, + 0x6d, 0x30, 0x40, 0x19, 0xb6, 0x46, 0xe2, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x00, 0x28, 0x0e, + 0xd0, 0x04, 0x20, 0xb6, 0x46, 0xdf, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x00, 0x28, 0x07, 0xd0, + 0xc4, 0x80, 0x35, 0x21, + + 0x01, 0x05, 0xff, 0xff, 0x6a, 0x6b, 0x08, 0x00, 0xfa, 0x09, 0x02, 0x01, 0x80, 0xb6, 0x46, + 0xdb, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x11, 0x20, 0x40, 0x01, 0x45, 0x19, 0x01, 0x34, 0x07, + 0x2c, 0xcf, 0xd3, 0x00, 0x98, 0x00, 0x28, 0x03, 0xd1, 0x39, 0x78, 0xdf, 0x20, 0x08, 0x40, + 0x02, 0xe0, 0x39, 0x78, 0x20, 0x20, 0x08, 0x43, 0x38, 0x70, 0xf8, 0xbd, 0xc0, 0x46, 0x2c, + 0x51, 0x08, 0x00, 0x2d, 0x61, 0x04, 0x00, 0xbb, 0x16, 0x04, 0x00, 0x10, 0xb5, 0x97, 0x4b, + 0x15, 0x3b, 0xcd, 0x48, 0x00, 0x78, 0x19, 0x78, 0x81, 0x42, 0x0d, 0xdd, 0x07, 0x21, 0xcb, + 0x48, 0x00, 0x22, 0x40, 0x24, 0x24, 0x5c, 0x00, 0x2c, 0x02, 0xd0, 0x52, 0x1c, 0x12, 0x06, + 0x12, 0x0e, 0xa8, 0x30, 0x01, 0x39, 0xf5, 0xd1, 0x1a, 0x70, 0x10, 0xbd, 0xc0, 0x46, 0xe9, + 0x3f, 0x05, 0x00, 0xd5, 0xb4, 0x02, 0x00, 0x00, 0x00, 0x08, 0x00, 0x5b, 0xf5, 0x00, 0x00, + 0xf0, 0xb5, 0x01, 0x24, 0xa6, 0x46, 0x3a, 0x48, 0xfe, 0x44, 0x00, 0x47, 0xa6, 0x46, 0x39, + 0x49, 0xfe, 0x44, 0x08, 0x47, 0x00, 0x28, 0x10, 0xd0, 0x11, 0x27, 0x09, 0x26, 0xb9, 0x4d, + 0x3e, 0x20, 0x40, 0x5d, 0xff, 0x28, 0x06, 0xd0, 0x3b, 0x20, 0x47, 0x55, 0x28, 0x1c, 0xa6, + 0x46, 0xb6, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x50, 0x35, 0x01, 0x3e, 0xf1, 0xd1, 0xf0, 0xbd, + 0xc9, 0x63, 0x08, 0x00, 0x5d, 0xf0, 0x03, 0x00, 0x00, 0xb5, 0xb1, 0x48, 0x00, 0x88, 0x02, + 0x28, 0x01, 0xda, 0x01, 0x21, 0x02, 0xe0, 0x40, 0x1e, 0x01, 0x04, 0x09, 0x0c, 0xad, 0x48, + 0x00, 0x22, 0x01, 0x23, 0x9e, 0x46, 0xac, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x00, 0xbd, 0x55, + 0xf6, 0x00, 0x00, 0xf0, 0xb5, 0xa4, 0xb0, 0x06, 0x1c, 0x31, 0x7c, 0x75, 0x69, 0xa8, 0x7c, + 0x00, 0x28, 0x03, 0xd1, + + 0x01, 0x05, 0xff, 0xff, 0x64, 0x6c, 0x08, 0x00, 0xfa, 0x28, 0x68, 0xc0, 0x78, 0x00, 0x28, + 0x25, 0xd1, 0x04, 0x29, 0x23, 0xd1, 0x28, 0x68, 0x01, 0x78, 0x1b, 0x20, 0x01, 0x24, 0xa6, + 0x46, 0xa1, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x01, 0x06, 0x09, 0x0e, 0x68, 0x46, 0xa6, 0x46, + 0x9e, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x12, 0x21, 0x4f, 0x19, 0x01, 0x06, 0x09, 0x0e, 0x68, + 0x46, 0x3a, 0x1c, 0xa6, 0x46, 0x9a, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0xe8, 0x74, 0x0b, 0x48, + 0x39, 0x1c, 0xa6, 0x46, 0x98, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x00, 0x28, 0x01, 0xd0, 0x02, + 0x20, 0x30, 0x61, 0x24, 0xb0, 0xf0, 0xbd, 0xca, 0x63, 0x08, 0x00, 0xb4, 0x8a, 0x06, 0x00, + 0xa9, 0xd3, 0x04, 0x00, 0x61, 0x97, 0x04, 0x00, 0x28, 0x19, 0x08, 0x00, 0x57, 0x98, 0x04, + 0x00, 0xd0, 0x63, 0x08, 0x00, 0x37, 0x98, 0x01, 0x00, 0x37, 0x9b, 0x01, 0x00, 0xdc, 0x0c, + 0x00, 0x00, 0x73, 0x2c, 0x00, 0x00, 0xff, 0xb5, 0x00, 0x90, 0x88, 0x48, 0x06, 0x1c, 0x32, + 0x3e, 0x60, 0x21, 0x89, 0x19, 0x00, 0x78, 0x0a, 0x78, 0x00, 0x2a, 0x75, 0xd0, 0x09, 0x7b, + 0x00, 0x29, 0x72, 0xd1, 0xff, 0x28, 0x5f, 0xd1, 0x34, 0x1c, 0x82, 0x48, 0x05, 0x1c, 0x01, + 0x95, 0x81, 0x48, 0x02, 0x90, 0x00, 0x27, 0xe1, 0x88, 0x7e, 0x48, 0x81, 0x42, 0x2b, 0xd0, + 0xa9, 0x42, 0x15, 0xdb, 0xa9, 0x42, 0x27, 0xd1, 0x7c, 0x49, 0x78, 0x00, 0x30, 0x18, 0x4c, + 0x22, 0x10, 0x5a, 0x08, 0x1a, 0x01, 0x22, 0x96, 0x46, 0x79, 0x4a, 0xfe, 0x44, 0x10, 0x47, + 0x01, 0x04, 0x09, 0x0c, 0x20, 0x89, 0x09, 0x18, 0x01, 0x9a, 0x02, 0x98, 0x10, 0x18, 0x81, + 0x42, 0x13, 0xd2, 0xe5, 0x88, 0x20, 0x89, 0x01, 0x90, 0x38, 0x06, 0x00, 0x0e, 0x03, 0x90, + 0x6f, 0x49, 0x40, 0x00, + + 0x01, 0x05, 0xff, 0xff, 0x5e, 0x6d, 0x08, 0x00, 0xfa, 0x30, 0x18, 0x4c, 0x22, 0x10, 0x5a, + 0x08, 0x1a, 0x01, 0x22, 0x96, 0x46, 0x6c, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x00, 0x04, 0x00, + 0x0c, 0x02, 0x90, 0x10, 0x34, 0x01, 0x37, 0x03, 0x2f, 0xcb, 0xdb, 0x65, 0x48, 0x01, 0x99, + 0x81, 0x42, 0x1a, 0xd0, 0x02, 0x2d, 0x09, 0xda, 0x03, 0x98, 0x01, 0x99, 0x00, 0x22, 0xd2, + 0x43, 0x01, 0x23, 0x9e, 0x46, 0x62, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x2a, 0xe0, 0x03, 0x98, + 0x01, 0x1c, 0x09, 0x01, 0x71, 0x58, 0x69, 0x18, 0x01, 0x39, 0x89, 0x01, 0x8a, 0x09, 0x01, + 0x99, 0x01, 0x23, 0x9e, 0x46, 0x5a, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x1b, 0xe0, 0x01, 0x20, + 0x86, 0x46, 0x58, 0x48, 0xfe, 0x44, 0x00, 0x47, 0x15, 0xe0, 0x1c, 0x21, 0x41, 0x43, 0x70, + 0x18, 0x89, 0x21, 0x08, 0x5c, 0x00, 0x01, 0x30, 0x18, 0x01, 0x89, 0x03, 0x20, 0x00, 0x22, + 0xd2, 0x43, 0x01, 0x23, 0x9e, 0x46, 0x4f, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x04, 0xe0, 0x01, + 0x20, 0x86, 0x46, 0x4e, 0x48, 0xfe, 0x44, 0x00, 0x47, 0x4d, 0x49, 0xce, 0x31, 0x00, 0x98, + 0x01, 0x62, 0x00, 0x90, 0xff, 0xbd, 0x0d, 0xe2, 0x00, 0x00, 0x3a, 0x0e, 0x00, 0x00, 0xd4, + 0x0f, 0x08, 0x00, 0x53, 0x63, 0x05, 0x00, 0xad, 0x98, 0x02, 0x00, 0x41, 0x10, 0x08, 0x00, + 0xf8, 0xb5, 0x00, 0x90, 0x58, 0x21, 0x6c, 0x22, 0x60, 0x27, 0x3b, 0x4c, 0x32, 0x3c, 0x32, + 0x20, 0x03, 0x5d, 0x55, 0x20, 0x00, 0x5d, 0x41, 0x4e, 0x85, 0x07, 0x31, 0xd1, 0x40, 0x06, + 0x80, 0x0f, 0x0a, 0xd1, 0x1c, 0x20, 0x58, 0x43, 0x00, 0x19, 0x88, 0x25, 0x28, 0x5c, 0x02, + 0x28, 0x03, 0xd0, 0x08, 0x5b, 0x39, 0x49, 0x01, 0x42, 0x23, 0xd0, 0x12, 0x5d, 0x00, 0x2a, + 0x07, 0xd1, 0x00, 0x20, + + 0x01, 0x05, 0xff, 0xff, 0x58, 0x6e, 0x08, 0x00, 0xfa, 0x38, 0x55, 0x30, 0x78, 0x01, 0x30, + 0x00, 0x06, 0x00, 0x0e, 0x30, 0x70, 0x08, 0xe0, 0x02, 0x20, 0x4b, 0x21, 0xc9, 0x00, 0x01, + 0x25, 0xae, 0x46, 0x31, 0x4d, 0xfe, 0x44, 0x28, 0x47, 0x30, 0x78, 0x0a, 0x28, 0x0f, 0xdd, + 0x01, 0x25, 0x2f, 0x48, 0x05, 0x80, 0xae, 0x46, 0x2e, 0x48, 0xfe, 0x44, 0x00, 0x47, 0x2c, + 0x48, 0x05, 0x80, 0xae, 0x46, 0x2b, 0x48, 0xfe, 0x44, 0x00, 0x47, 0x3d, 0x55, 0x00, 0x20, + 0x30, 0x70, 0x29, 0x49, 0xbe, 0x31, 0x00, 0x98, 0x01, 0x62, 0xf8, 0xbd, 0xc0, 0x46, 0x15, + 0x7e, 0x04, 0x00, 0xe9, 0x6b, 0x08, 0x00, 0x2d, 0x6c, 0x08, 0x00, 0xa9, 0x6b, 0x08, 0x00, + 0x10, 0xb5, 0x04, 0x1c, 0x00, 0x20, 0x01, 0x21, 0x8e, 0x46, 0x21, 0x49, 0xfe, 0x44, 0x08, + 0x47, 0x40, 0x1c, 0x03, 0xd1, 0x1f, 0x48, 0xff, 0x30, 0x5f, 0x30, 0x20, 0x62, 0x10, 0xbd, + 0xc0, 0x46, 0xf7, 0x64, 0x04, 0x00, 0x9b, 0x60, 0x04, 0x00, 0xdb, 0x3f, 0x05, 0x00, 0x83, + 0x50, 0x08, 0x00, 0x60, 0x19, 0x08, 0x00, 0xf4, 0x46, 0x08, 0x00, 0xa5, 0x1e, 0x02, 0x00, + 0x8c, 0x18, 0x08, 0x00, 0x36, 0x02, 0x1a, 0x00, 0x15, 0x49, 0x05, 0x00, 0xa7, 0x31, 0x05, + 0x00, 0x0d, 0x9e, 0x01, 0x00, 0xf7, 0x64, 0x01, 0x00, 0x81, 0x8a, 0x02, 0x00, 0x26, 0x23, + 0x08, 0x00, 0xff, 0xff, 0x00, 0x00, 0xe2, 0x04, 0x00, 0x00, 0x6d, 0x94, 0x05, 0x00, 0x81, + 0xa3, 0x02, 0x00, 0xeb, 0xa3, 0x02, 0x00, 0x4f, 0xa3, 0x02, 0x00, 0x65, 0xad, 0x02, 0x00, + 0x20, 0x20, 0x00, 0x00, 0x5c, 0x63, 0x08, 0x00, 0xc7, 0xd6, 0x04, 0x00, 0x82, 0x07, 0x1a, + 0x00, 0xf1, 0x16, 0x04, 0x00, 0x59, 0xaa, 0x02, 0x00, 0x49, 0xa3, 0x00, 0x00, 0x8d, 0x7e, + 0x00, 0x00, 0x30, 0xb5, + + 0x01, 0x05, 0xff, 0xff, 0x52, 0x6f, 0x08, 0x00, 0xfa, 0xdc, 0x4a, 0x00, 0x28, 0x09, 0xd0, + 0x13, 0x18, 0x84, 0x18, 0xa5, 0x7b, 0x4d, 0x19, 0xa5, 0x73, 0x01, 0x28, 0x02, 0xd9, 0x5c, + 0x7b, 0x0c, 0x19, 0x5c, 0x73, 0x4e, 0x28, 0x09, 0xd2, 0x13, 0x18, 0x82, 0x18, 0x14, 0x7c, + 0x0c, 0x19, 0x14, 0x74, 0x4d, 0x28, 0x02, 0xd2, 0x58, 0x7c, 0x08, 0x18, 0x58, 0x74, 0x30, + 0xbd, 0xf0, 0xb5, 0x07, 0x1c, 0xcf, 0x4e, 0xcf, 0x4d, 0x00, 0x24, 0x2a, 0x78, 0x00, 0x2a, + 0x1e, 0xd0, 0x6b, 0x20, 0x81, 0x5d, 0x4b, 0x1c, 0xa0, 0x19, 0xc0, 0x7e, 0x00, 0x07, 0x00, + 0x0f, 0x98, 0x42, 0x0b, 0xd0, 0x98, 0x42, 0x13, 0xdd, 0x50, 0x1c, 0x01, 0x06, 0x09, 0x0e, + 0x20, 0x1c, 0x01, 0x22, 0x96, 0x46, 0xe6, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x09, 0xe0, 0x50, + 0x1c, 0x00, 0x06, 0x00, 0x0e, 0x41, 0x43, 0x20, 0x1c, 0x01, 0x22, 0x96, 0x46, 0xe1, 0x4a, + 0xfe, 0x44, 0x10, 0x47, 0x01, 0x35, 0x01, 0x34, 0x4f, 0x2c, 0xd9, 0xd3, 0x78, 0x68, 0x40, + 0x0b, 0x78, 0x60, 0xde, 0x48, 0xdc, 0x49, 0x08, 0x18, 0xf0, 0xbd, 0x00, 0xb5, 0xdc, 0x48, + 0x00, 0x78, 0x01, 0x21, 0x8e, 0x46, 0xdb, 0x49, 0xfe, 0x44, 0x08, 0x47, 0xdb, 0x48, 0xc1, + 0x30, 0x00, 0xbd, 0x70, 0xb5, 0xda, 0x48, 0x00, 0x78, 0x01, 0x24, 0xa6, 0x46, 0xd6, 0x49, + 0xfe, 0x44, 0x08, 0x47, 0xe9, 0x4d, 0x28, 0x78, 0x00, 0x28, 0x09, 0xd1, 0xe8, 0x49, 0xd3, + 0x4a, 0xad, 0x32, 0x0e, 0x20, 0x00, 0x23, 0xa6, 0x46, 0xe6, 0x4e, 0xfe, 0x44, 0x30, 0x47, + 0x2c, 0x70, 0xea, 0x48, 0x67, 0x30, 0x70, 0xbd, 0x40, 0x1e, 0x80, 0x00, 0xea, 0x4b, 0x19, + 0x50, 0xe8, 0x49, 0x0a, 0x50, 0xf7, 0x46, 0x80, 0x69, 0xb8, 0x21, 0x09, 0x5c, 0x01, 0x29, + 0x06, 0xd0, 0xb5, 0x21, + + 0x01, 0x05, 0xff, 0xff, 0x4c, 0x70, 0x08, 0x00, 0xfa, 0x08, 0x5c, 0x60, 0x21, 0x41, 0x43, + 0xe4, 0x4a, 0x00, 0x20, 0x50, 0x54, 0xe3, 0x48, 0x1b, 0x30, 0xf7, 0x46, 0x10, 0xb5, 0x04, + 0x1c, 0xe2, 0x48, 0x00, 0x68, 0x01, 0x21, 0x8e, 0x46, 0xe1, 0x49, 0xfe, 0x44, 0x08, 0x47, + 0xe0, 0x68, 0x0c, 0x30, 0xe0, 0x60, 0xe8, 0x48, 0xff, 0x30, 0x02, 0x30, 0x10, 0xbd, 0x30, + 0xb5, 0x42, 0x69, 0x11, 0x88, 0x09, 0x06, 0x0b, 0x0e, 0xe7, 0x49, 0x02, 0x2b, 0x1a, 0xd1, + 0xd7, 0x4b, 0x1b, 0x6b, 0x9b, 0x68, 0xdb, 0x88, 0x01, 0x24, 0xa4, 0x02, 0x1d, 0x05, 0xad, + 0x0f, 0xad, 0x02, 0xa5, 0x42, 0x06, 0xdb, 0x05, 0x24, 0x24, 0x02, 0x1b, 0x05, 0x1b, 0x0f, + 0x1b, 0x02, 0xa3, 0x42, 0x02, 0xdb, 0xd2, 0x88, 0x52, 0x1d, 0x01, 0xe0, 0x52, 0x88, 0x52, + 0x1c, 0x42, 0x60, 0x08, 0x1c, 0x9f, 0x30, 0x30, 0xbd, 0x08, 0x1c, 0x87, 0x30, 0x30, 0xbd, + 0x00, 0xb5, 0x01, 0x1c, 0x48, 0x68, 0xc9, 0x69, 0xb5, 0x22, 0x51, 0x5c, 0xdc, 0x22, 0x4a, + 0x43, 0xda, 0x49, 0x89, 0x18, 0x08, 0x22, 0x01, 0x23, 0x9e, 0x46, 0xd8, 0x4b, 0xfe, 0x44, + 0x18, 0x47, 0xd8, 0x48, 0x3f, 0x30, 0x00, 0xbd, 0x40, 0x69, 0x01, 0x8f, 0xc0, 0x8e, 0x40, + 0x1a, 0x00, 0x04, 0x01, 0x0c, 0xd7, 0x48, 0x40, 0x0a, 0x81, 0x42, 0x01, 0xd3, 0xd2, 0x48, + 0x00, 0xe0, 0xd3, 0x48, 0xd2, 0x49, 0x40, 0x18, 0xf7, 0x46, 0xf8, 0xb5, 0x81, 0x69, 0x08, + 0x04, 0x00, 0x0c, 0x00, 0x90, 0xe4, 0x4d, 0xe5, 0x4c, 0xc8, 0x08, 0x2a, 0xd3, 0xe1, 0x48, + 0xff, 0x21, 0x3d, 0x31, 0x0f, 0x18, 0x29, 0x5c, 0x00, 0x26, 0x21, 0xe0, 0xa8, 0x00, 0x30, + 0x58, 0xc2, 0x22, 0x12, 0x5c, 0x00, 0x2a, 0x0a, 0xd0, 0xb5, 0x21, 0x08, 0x5c, 0x0a, 0x30, + 0x00, 0x06, 0x00, 0x0e, + + 0x01, 0x05, 0xff, 0xff, 0x46, 0x71, 0x08, 0x00, 0xfa, 0x01, 0x21, 0x8e, 0x46, 0xd9, 0x49, + 0xfe, 0x44, 0x08, 0x47, 0x21, 0x78, 0x01, 0x35, 0x19, 0xe0, 0xb0, 0x00, 0x38, 0x58, 0xc2, + 0x22, 0x12, 0x5c, 0x00, 0x2a, 0x07, 0xd0, 0xb5, 0x21, 0x08, 0x5c, 0x01, 0x21, 0x8e, 0x46, + 0xd1, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x21, 0x78, 0x01, 0x36, 0x8e, 0x42, 0xee, 0xd3, 0x00, + 0x98, 0x00, 0x09, 0x07, 0xd3, 0xca, 0x48, 0xff, 0x21, 0x3d, 0x31, 0x0e, 0x18, 0x29, 0x5c, + 0x00, 0x25, 0x8d, 0x42, 0xd0, 0xd3, 0xe4, 0x48, 0x87, 0x30, 0xf8, 0xbd, 0x70, 0xb5, 0x06, + 0x1c, 0xb0, 0x68, 0xe2, 0x4d, 0x00, 0x28, 0x02, 0xd1, 0x28, 0x1c, 0xdf, 0x30, 0x70, 0xbd, + 0x91, 0x4c, 0x04, 0x3c, 0x20, 0x7a, 0x02, 0x28, 0x08, 0xd0, 0xdd, 0x49, 0x08, 0x5c, 0x01, + 0x21, 0x8e, 0x46, 0xdc, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x00, 0x28, 0x02, 0xd0, 0x28, 0x1c, + 0xcf, 0x30, 0x70, 0xbd, 0x00, 0x20, 0x20, 0x60, 0x70, 0x60, 0x28, 0x1c, 0xff, 0x30, 0x20, + 0x30, 0x70, 0xbd, 0x10, 0xb5, 0x9a, 0x49, 0x11, 0x31, 0x06, 0x22, 0x00, 0x23, 0x0c, 0x78, + 0xff, 0x2c, 0x02, 0xd1, 0x5b, 0x1c, 0x1b, 0x06, 0x1b, 0x0e, 0xdc, 0x31, 0x01, 0x3a, 0xf6, + 0xd1, 0x43, 0x60, 0xe3, 0x48, 0x19, 0x30, 0x10, 0xbd, 0x01, 0x1c, 0xe2, 0x4b, 0x1a, 0x78, + 0xe2, 0x48, 0x05, 0x2a, 0x04, 0xd1, 0xe2, 0x4a, 0x12, 0x68, 0x12, 0x78, 0x01, 0x2a, 0x02, + 0xd0, 0x4b, 0x60, 0x5b, 0x30, 0xf7, 0x46, 0x7d, 0x30, 0xf7, 0x46, 0x10, 0xb5, 0x01, 0x1c, + 0xdd, 0x48, 0x00, 0x68, 0xde, 0x4c, 0x00, 0x28, 0x0b, 0xd0, 0x88, 0x69, 0x09, 0x7a, 0x01, + 0x22, 0x96, 0x46, 0xd9, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x00, 0x28, 0x02, 0xd0, 0x20, 0x1c, + 0x21, 0x30, 0x10, 0xbd, + + 0x01, 0x05, 0xff, 0xff, 0x40, 0x72, 0x08, 0x00, 0xfa, 0x20, 0x1c, 0x33, 0x30, 0x10, 0xbd, + 0xf8, 0xb5, 0x81, 0x69, 0x00, 0x91, 0xd1, 0x4c, 0x25, 0x1c, 0x0c, 0x3d, 0xe9, 0x68, 0x08, + 0x22, 0x57, 0x18, 0x40, 0x69, 0xd0, 0x4a, 0x00, 0x28, 0x02, 0xd0, 0x10, 0x1c, 0xd3, 0x30, + 0xf8, 0xbd, 0x00, 0x26, 0x04, 0xe0, 0x70, 0x1c, 0x06, 0x06, 0x36, 0x0e, 0x06, 0x37, 0x21, + 0x68, 0x48, 0x88, 0x86, 0x42, 0x14, 0xda, 0x38, 0x1c, 0x00, 0x99, 0x01, 0x22, 0x96, 0x46, + 0xe1, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x00, 0x28, 0xee, 0xd1, 0x0c, 0x34, 0xe8, 0x68, 0x41, + 0x88, 0x01, 0x20, 0x88, 0x40, 0xe1, 0x6f, 0x81, 0x43, 0xe1, 0x67, 0xe9, 0x68, 0x48, 0x88, + 0x01, 0x38, 0x48, 0x80, 0xbd, 0x48, 0xff, 0x30, 0x14, 0x30, 0xf8, 0xbd, 0x01, 0x1c, 0xd8, + 0x48, 0x02, 0x78, 0xd6, 0x48, 0x00, 0x2a, 0x01, 0xd0, 0xed, 0x30, 0xf7, 0x46, 0x41, 0x22, + 0x4a, 0x60, 0x39, 0x30, 0xf7, 0x46, 0xd0, 0x11, 0x08, 0x00, 0x50, 0x21, 0x08, 0x00, 0x38, + 0x30, 0x19, 0x00, 0xf8, 0xb5, 0x06, 0x1c, 0x75, 0x69, 0xb7, 0x69, 0x31, 0x6a, 0x30, 0x7f, + 0x00, 0x28, 0x2d, 0xd1, 0x01, 0x21, 0xa8, 0x8d, 0x18, 0x28, 0x27, 0xdc, 0xcd, 0x48, 0x00, + 0x78, 0x00, 0x90, 0x00, 0x24, 0x01, 0x22, 0xa2, 0x40, 0x00, 0x98, 0x10, 0x42, 0x1b, 0xd0, + 0xc6, 0x48, 0x20, 0x5c, 0x11, 0x21, 0x49, 0x01, 0x41, 0x43, 0xc4, 0x48, 0x41, 0x18, 0xff, + 0x20, 0x1e, 0x30, 0x40, 0x5c, 0x01, 0x28, 0x01, 0xd1, 0x02, 0x20, 0x00, 0xe0, 0x00, 0x20, + 0xc9, 0x78, 0x08, 0x18, 0xc1, 0x49, 0x08, 0x5c, 0xa9, 0x8d, 0x01, 0x22, 0x96, 0x46, 0xc0, + 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x48, 0x1c, 0x01, 0x06, 0x09, 0x0e, 0x01, 0x34, 0x07, 0x2c, + 0xdb, 0xdb, 0xa8, 0x8d, + + 0x01, 0x05, 0xff, 0xff, 0x3a, 0x73, 0x08, 0x00, 0xfa, 0x01, 0xe0, 0x48, 0x7d, 0xa9, 0x8d, + 0x48, 0x43, 0x39, 0x68, 0x40, 0x18, 0x80, 0x01, 0x80, 0x09, 0x38, 0x60, 0x70, 0x60, 0xb3, + 0x48, 0x5d, 0x30, 0xf8, 0xbd, 0x51, 0x6f, 0x08, 0x00, 0x43, 0x02, 0x00, 0x00, 0x8d, 0x42, + 0x01, 0x00, 0x5c, 0x18, 0x08, 0x00, 0xfd, 0x62, 0x08, 0x00, 0x17, 0x38, 0x04, 0x00, 0x0c, + 0x18, 0x08, 0x00, 0x01, 0x1c, 0x4a, 0x68, 0x13, 0x06, 0x1b, 0x0e, 0xac, 0x48, 0x03, 0xd1, + 0x82, 0x4b, 0x1b, 0x78, 0x03, 0x2b, 0x05, 0xd0, 0x00, 0x2a, 0x01, 0xd0, 0x1d, 0x30, 0xf7, + 0x46, 0xff, 0x30, 0xf7, 0x46, 0x45, 0x4a, 0x30, 0x23, 0x9b, 0x5c, 0x00, 0x2b, 0x07, 0xd1, + 0x9a, 0x4b, 0x92, 0x88, 0x9a, 0x42, 0x03, 0xd1, 0xa3, 0x4a, 0x12, 0x78, 0x00, 0x2a, 0x01, + 0xd0, 0x00, 0x22, 0x00, 0xe0, 0x07, 0x22, 0x4a, 0x60, 0xff, 0x30, 0xa2, 0x30, 0xf7, 0x46, + 0x67, 0x63, 0x08, 0x00, 0xeb, 0x6f, 0x08, 0x00, 0x33, 0x70, 0x08, 0x00, 0x40, 0x69, 0x78, + 0x21, 0x09, 0x5a, 0x9a, 0x48, 0xac, 0x29, 0x01, 0xda, 0x3b, 0x30, 0xf7, 0x46, 0x89, 0x30, + 0xf7, 0x46, 0xd1, 0x8c, 0x03, 0x00, 0x04, 0xf3, 0x1a, 0x00, 0x80, 0x7b, 0x08, 0x00, 0x76, + 0xa0, 0x1b, 0x00, 0x6d, 0x97, 0x00, 0x00, 0x6c, 0x55, 0x08, 0x00, 0x4f, 0x61, 0x04, 0x00, + 0x01, 0x1c, 0x64, 0x48, 0x02, 0x78, 0xe8, 0x48, 0x05, 0x2a, 0x07, 0xd1, 0x20, 0x22, 0x51, + 0x5c, 0x01, 0x29, 0x03, 0xd1, 0xe3, 0x49, 0x09, 0x78, 0x49, 0x08, 0x01, 0xd2, 0x8f, 0x30, + 0xf7, 0x46, 0x85, 0x30, 0xf7, 0x46, 0x39, 0xc1, 0x02, 0x00, 0xe0, 0x48, 0x59, 0x30, 0xf7, + 0x46, 0xf4, 0x48, 0x67, 0x30, 0xf7, 0x46, 0x7d, 0xc4, 0x02, 0x00, 0xc1, 0x69, 0x82, 0x69, + 0x51, 0x1a, 0x01, 0x61, + + 0x01, 0x05, 0xff, 0xff, 0x34, 0x74, 0x08, 0x00, 0xfa, 0xf0, 0x48, 0x73, 0x30, 0xf7, 0x46, + 0x00, 0x21, 0x41, 0x60, 0xef, 0x48, 0xa1, 0x30, 0xf7, 0x46, 0x5c, 0x27, 0x08, 0x00, 0x4b, + 0x1e, 0x04, 0x00, 0x05, 0x5e, 0x02, 0x00, 0xe7, 0x03, 0x00, 0x00, 0xc9, 0x98, 0x00, 0x00, + 0x83, 0x05, 0x00, 0x00, 0xf0, 0xff, 0xff, 0x00, 0x81, 0xb0, 0x00, 0x90, 0x00, 0x21, 0x68, + 0x46, 0x42, 0x88, 0x03, 0x88, 0x93, 0x42, 0x03, 0xd1, 0x02, 0x78, 0x40, 0x78, 0x90, 0x42, + 0x0f, 0xd0, 0x00, 0x98, 0xc3, 0x0f, 0x1e, 0x20, 0x00, 0x9a, 0xc2, 0x40, 0xd2, 0x07, 0xd2, + 0x0f, 0x93, 0x42, 0x00, 0xd0, 0x01, 0x31, 0x18, 0x29, 0x03, 0xd8, 0x1a, 0x28, 0x03, 0xd1, + 0x02, 0x29, 0x01, 0xd2, 0x00, 0x20, 0x03, 0xe0, 0x13, 0x1c, 0x01, 0x38, 0xed, 0xd5, 0x01, + 0x20, 0x01, 0xb0, 0xf7, 0x46, 0x48, 0x25, 0x08, 0x00, 0x6a, 0x0a, 0x00, 0x00, 0x47, 0x93, + 0x02, 0x00, 0xb2, 0x2f, 0x08, 0x00, 0xf0, 0xb5, 0x06, 0x1c, 0x77, 0x68, 0x0a, 0x25, 0x05, + 0xe0, 0xa6, 0x46, 0xd8, 0x48, 0xfe, 0x44, 0x00, 0x47, 0x07, 0x1c, 0x01, 0x3d, 0x00, 0x2d, + 0x07, 0xd0, 0x38, 0x1c, 0x01, 0x24, 0xa6, 0x46, 0xd4, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x00, + 0x28, 0xef, 0xd0, 0x77, 0x60, 0xf0, 0x69, 0xb0, 0x60, 0xd1, 0x48, 0xff, 0x30, 0x34, 0x30, + 0xf0, 0xbd, 0x10, 0xb5, 0x44, 0x68, 0x3a, 0x20, 0x00, 0x5d, 0x22, 0x28, 0x06, 0xd1, 0x20, + 0x1c, 0x00, 0x21, 0x01, 0x22, 0x96, 0x46, 0xcb, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x20, 0x1c, + 0x00, 0x21, 0x01, 0x22, 0x96, 0x46, 0xc9, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0xc8, 0x48, 0x6f, + 0x30, 0x10, 0xbd, 0xc0, 0x46, 0x49, 0xa0, 0x02, 0x00, 0x25, 0x6e, 0x03, 0x00, 0x3c, 0x91, + 0x06, 0x00, 0x17, 0x62, + + 0x01, 0x05, 0xff, 0xff, 0x2e, 0x75, 0x08, 0x00, 0xfa, 0x04, 0x00, 0x30, 0xb5, 0x04, 0x1c, + 0x14, 0x48, 0xbf, 0x38, 0x01, 0x78, 0x02, 0x29, 0x01, 0xd1, 0x00, 0x21, 0x01, 0x70, 0xbf, + 0x49, 0xbf, 0x48, 0x42, 0x1c, 0x1d, 0x20, 0x00, 0x23, 0x01, 0x25, 0xae, 0x46, 0xbe, 0x4d, + 0xfe, 0x44, 0x28, 0x47, 0x60, 0x69, 0x00, 0x68, 0x60, 0x60, 0xba, 0x48, 0xff, 0x30, 0x3a, + 0x30, 0x30, 0xbd, 0x10, 0xb5, 0xba, 0x49, 0xb7, 0x4a, 0xff, 0x32, 0x38, 0x32, 0x1d, 0x20, + 0x00, 0x23, 0x01, 0x24, 0xa6, 0x46, 0xb5, 0x4c, 0xfe, 0x44, 0x20, 0x47, 0xb1, 0x48, 0xc0, + 0x1d, 0x10, 0xbd, 0xc0, 0x46, 0xef, 0x8a, 0x04, 0x00, 0x41, 0x10, 0x08, 0x00, 0xd9, 0xae, + 0x02, 0x00, 0xf4, 0x62, 0x08, 0x00, 0xec, 0x0e, 0x08, 0x00, 0x5d, 0x86, 0x01, 0x00, 0xdd, + 0xf8, 0x03, 0x00, 0xf0, 0xb5, 0x9c, 0x46, 0x17, 0x4c, 0x0e, 0x1c, 0x26, 0x40, 0x05, 0x1c, + 0x25, 0x40, 0x2f, 0x1c, 0x77, 0x43, 0x09, 0x0c, 0x00, 0x0c, 0x03, 0x1c, 0x4b, 0x43, 0x69, + 0x43, 0x70, 0x43, 0x05, 0x1c, 0x25, 0x40, 0x0c, 0x40, 0x64, 0x19, 0x00, 0x0c, 0x09, 0x0c, + 0x08, 0x18, 0x39, 0x0c, 0x61, 0x18, 0x09, 0x0c, 0x00, 0xd0, 0x01, 0x30, 0x21, 0x04, 0xcf, + 0x19, 0xc3, 0x18, 0x60, 0x46, 0x07, 0x60, 0x13, 0x60, 0xf0, 0xbd, 0x1c, 0xb5, 0x9b, 0x49, + 0x6a, 0x46, 0x01, 0xab, 0x01, 0x24, 0xa6, 0x46, 0x99, 0x4c, 0xfe, 0x44, 0x20, 0x47, 0x01, + 0x98, 0xc1, 0x0b, 0x00, 0x98, 0x40, 0x04, 0x08, 0x43, 0x1c, 0xbd, 0xc0, 0x46, 0xff, 0xff, + 0x00, 0x00, 0x79, 0x1c, 0x04, 0x00, 0xdd, 0x84, 0x01, 0x00, 0xca, 0x63, 0x08, 0x00, 0x00, + 0x16, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x09, 0x82, 0x01, 0x00, 0x65, 0x63, 0x08, 0x00, + 0x68, 0x63, 0x08, 0x00, + + 0x01, 0x05, 0xff, 0xff, 0x28, 0x76, 0x08, 0x00, 0xfa, 0x6d, 0x94, 0x05, 0x00, 0xbd, 0x7b, + 0x03, 0x00, 0xf5, 0x50, 0x08, 0x00, 0xe5, 0x85, 0x00, 0x00, 0xf0, 0xb5, 0x8d, 0xb0, 0x03, + 0xa8, 0x01, 0x21, 0x8e, 0x46, 0x86, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x86, 0x48, 0x06, 0x90, + 0x72, 0x38, 0x06, 0x90, 0x84, 0x48, 0x07, 0x90, 0x06, 0x38, 0x07, 0x90, 0x38, 0x21, 0x41, + 0x80, 0x01, 0x20, 0x86, 0x46, 0x7f, 0x48, 0xfe, 0x44, 0x00, 0x47, 0x03, 0xa8, 0x08, 0x90, + 0x4b, 0x48, 0x09, 0x90, 0x69, 0x38, 0x09, 0x90, 0x00, 0x20, 0x0a, 0x90, 0x0a, 0x98, 0x00, + 0x06, 0x00, 0x0e, 0x0b, 0x90, 0x79, 0x48, 0x0b, 0x99, 0x01, 0x22, 0x96, 0x46, 0x78, 0x4a, + 0xfe, 0x44, 0x10, 0x47, 0x00, 0x28, 0xf6, 0xd0, 0x08, 0x98, 0x00, 0x68, 0x09, 0x99, 0x89, + 0x6a, 0x01, 0x24, 0xa6, 0x46, 0x73, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x00, 0x28, 0x00, 0xd5, + 0x40, 0x42, 0xa6, 0x46, 0x71, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x05, 0x1c, 0x0b, 0x98, 0x01, + 0xa9, 0x02, 0xaa, 0x64, 0x23, 0xa6, 0x46, 0x6d, 0x4e, 0xfe, 0x44, 0x30, 0x47, 0x68, 0x46, + 0x0c, 0x90, 0x00, 0x89, 0x46, 0x1b, 0x13, 0xd5, 0x70, 0x4f, 0x39, 0x1c, 0x30, 0x1c, 0xa6, + 0x46, 0x71, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x4d, 0x42, 0x30, 0x1c, 0x39, 0x1c, 0xa6, 0x46, + 0x65, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x00, 0x28, 0x00, 0xd0, 0x01, 0x35, 0x6f, 0x43, 0xbe, + 0x19, 0x00, 0xe0, 0x00, 0x25, 0x01, 0x98, 0x40, 0x1b, 0x80, 0x01, 0x80, 0x09, 0x0a, 0x99, + 0x00, 0x29, 0x2c, 0xd1, 0x01, 0x9a, 0x06, 0x99, 0x4a, 0x60, 0x0c, 0x9a, 0x12, 0x89, 0xca, + 0x81, 0x08, 0x60, 0x8e, 0x81, 0x59, 0x4d, 0x28, 0x1c, 0x00, 0x21, 0xa6, 0x46, 0x5d, 0x4a, + 0xfe, 0x44, 0x10, 0x47, + + 0x01, 0x05, 0xff, 0xff, 0x22, 0x77, 0x08, 0x00, 0xfa, 0x02, 0x20, 0x07, 0x99, 0x08, 0x80, + 0xa6, 0x46, 0x55, 0x48, 0xfe, 0x44, 0x00, 0x47, 0xa6, 0x46, 0x53, 0x48, 0xfe, 0x44, 0x00, + 0x47, 0x4a, 0x48, 0x04, 0x21, 0xa6, 0x46, 0x4a, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x00, 0x28, + 0xf7, 0xd1, 0x28, 0x1c, 0x00, 0x21, 0xa6, 0x46, 0x4d, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0xa6, + 0x46, 0x4c, 0x48, 0xfe, 0x44, 0x00, 0x47, 0x0a, 0xe0, 0x0c, 0x9b, 0x0b, 0x99, 0x19, 0x70, + 0x31, 0x04, 0x09, 0x0c, 0x01, 0x9a, 0x1b, 0x89, 0xa6, 0x46, 0x4a, 0x4c, 0xfe, 0x44, 0x20, + 0x47, 0x09, 0x98, 0x04, 0x30, 0x09, 0x90, 0x08, 0x98, 0x04, 0x30, 0x08, 0x90, 0x0a, 0x98, + 0x01, 0x30, 0x0a, 0x90, 0x03, 0x28, 0x00, 0xd2, 0x74, 0xe7, 0x3f, 0x48, 0xff, 0x30, 0x0c, + 0x30, 0x0d, 0xb0, 0xf0, 0xbd, 0xc0, 0x46, 0x55, 0x53, 0x08, 0x00, 0x37, 0xeb, 0x03, 0x00, + 0x3d, 0x68, 0x03, 0x00, 0x30, 0xb5, 0x40, 0x69, 0x00, 0x28, 0x1f, 0xd0, 0x00, 0x68, 0x85, + 0x08, 0x01, 0x24, 0xa6, 0x46, 0x3a, 0x48, 0xfe, 0x44, 0x00, 0x47, 0x01, 0x1c, 0x28, 0x1c, + 0xa6, 0x46, 0x2a, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x00, 0x28, 0x00, 0xda, 0x40, 0x42, 0x03, + 0x21, 0x09, 0x02, 0x41, 0x43, 0xc8, 0x0b, 0x28, 0x18, 0x81, 0x00, 0x34, 0x48, 0x00, 0x88, + 0x80, 0x00, 0x08, 0x1a, 0x00, 0x01, 0x00, 0x09, 0xa6, 0x46, 0x2f, 0x49, 0xfe, 0x44, 0x08, + 0x47, 0x2e, 0x48, 0x45, 0x30, 0x30, 0xbd, 0xc0, 0x46, 0xdb, 0xf5, 0x02, 0x00, 0xd1, 0x7a, + 0x02, 0x00, 0xc9, 0x9c, 0x03, 0x00, 0x10, 0xb5, 0x04, 0x1c, 0x2a, 0x49, 0xa0, 0x8b, 0x88, + 0x42, 0x07, 0xd0, 0x60, 0x69, 0x40, 0x30, 0x2c, 0x21, 0x01, 0x22, 0x96, 0x46, 0x27, 0x4a, + 0xfe, 0x44, 0x10, 0x47, + + 0x01, 0x05, 0xff, 0xff, 0x1c, 0x78, 0x08, 0x00, 0xfa, 0x40, 0x20, 0x20, 0x62, 0x25, 0x48, + 0x29, 0x30, 0x10, 0xbd, 0xc0, 0x46, 0xdb, 0xe3, 0x03, 0x00, 0x61, 0x74, 0x08, 0x00, 0x0b, + 0xe2, 0x03, 0x00, 0x8b, 0x96, 0x01, 0x00, 0x91, 0xe5, 0x02, 0x00, 0x71, 0xe3, 0x02, 0x00, + 0x65, 0x75, 0x08, 0x00, 0xcd, 0x98, 0x01, 0x00, 0x95, 0xf4, 0x03, 0x00, 0x33, 0x70, 0x08, + 0x00, 0x31, 0x75, 0x08, 0x00, 0x00, 0xa6, 0x0e, 0x00, 0xa1, 0x75, 0x08, 0x00, 0x87, 0xca, + 0x04, 0x00, 0xfb, 0x16, 0x04, 0x00, 0x72, 0x61, 0x1a, 0x00, 0x2f, 0x4a, 0x05, 0x00, 0x65, + 0xcb, 0x04, 0x00, 0xe5, 0x75, 0x08, 0x00, 0x9b, 0xc3, 0x03, 0x00, 0x6d, 0x94, 0x05, 0x00, + 0x70, 0x61, 0x1a, 0x00, 0xf1, 0x16, 0x04, 0x00, 0x89, 0x49, 0x05, 0x00, 0xc1, 0xc0, 0x03, + 0x00, 0xfb, 0xbc, 0x03, 0x00, 0xe2, 0x04, 0x00, 0x00, 0x61, 0x48, 0x05, 0x00, 0x51, 0xc2, + 0x03, 0x00, 0x6d, 0x94, 0x05, 0x00, 0x51, 0xca, 0x04, 0x00, 0x87, 0x24, 0x04, 0x00, 0x45, + 0x25, 0x04, 0x00, 0x48, 0x53, 0x08, 0x00, 0xd9, 0xfc, 0x00, 0x00, 0x91, 0x1c, 0x04, 0x00, + 0x51, 0x8c, 0x00, 0x00, 0xff, 0xb5, 0x68, 0x46, 0xff, 0xf7, 0x6e, 0xf8, 0xff, 0xbd, 0xff, + 0xb5, 0x68, 0x46, 0xff, 0xf7, 0x07, 0xf9, 0xff, 0xbd, 0xff, 0xb5, 0x68, 0x46, 0xfe, 0xf7, + 0xe4, 0xff, 0xff, 0xbd, 0xff, 0xb5, 0x68, 0x46, 0xff, 0xf7, 0x0f, 0xf8, 0xff, 0xbd, 0xff, + 0xb5, 0x68, 0x46, 0xff, 0xf7, 0xfe, 0xf9, 0xff, 0xbd, 0xff, 0xb5, 0x68, 0x46, 0xff, 0xf7, + 0x91, 0xfa, 0xff, 0xbd, 0xff, 0xb5, 0x68, 0x46, 0xff, 0xf7, 0xdc, 0xfa, 0xff, 0xbd, 0xff, + 0xb5, 0x68, 0x46, 0xff, 0xf7, 0xa5, 0xf9, 0xff, 0xbd, 0xff, 0xb5, 0x68, 0x46, 0xfe, 0xf7, + 0xa8, 0xfd, 0xff, 0xbd, + + 0x01, 0x05, 0xff, 0x5f, 0x16, 0x79, 0x08, 0x00, 0x5a, 0xff, 0xb5, 0x68, 0x46, 0xfe, 0xf7, + 0xcf, 0xfd, 0xff, 0xbd, 0xff, 0xb5, 0x68, 0x46, 0xfe, 0xf7, 0x84, 0xfd, 0xff, 0xbd, 0xff, + 0xb5, 0x68, 0x46, 0xfe, 0xf7, 0x55, 0xfd, 0xff, 0xbd, 0xff, 0xb5, 0x68, 0x46, 0xfe, 0xf7, + 0x65, 0xfd, 0xff, 0xbd, 0xff, 0xb5, 0x68, 0x46, 0xfe, 0xf7, 0x15, 0xff, 0xff, 0xbd, 0xff, + 0xb5, 0x68, 0x46, 0xfe, 0xf7, 0x94, 0xff, 0xff, 0xbd, 0xff, 0xb5, 0x68, 0x46, 0xfe, 0xf7, + 0x41, 0xff, 0xff, 0xbd, 0xff, 0xb5, 0x68, 0x46, 0xfe, 0xf7, 0x44, 0xfe, 0xff, 0xbd, 0xff, + 0xb5, 0x68, 0x46, 0xfe, 0xf7, 0xdd, 0xfe, 0xff, 0xbd, + + 0x01, 0x05, 0xff, 0x8d, 0x78, 0x7b, 0x08, 0x00, 0x88, 0x00, 0xb5, 0xf9, 0xf0, 0xd5, 0xf8, + 0x00, 0xbd, 0xcb, 0x70, 0x08, 0x00, 0x5f, 0x70, 0x08, 0x00, 0x7f, 0x70, 0x08, 0x00, 0xf1, + 0x70, 0x08, 0x00, 0x01, 0x78, 0x08, 0x00, 0xfd, 0x02, 0x18, 0x00, 0x41, 0x70, 0x08, 0x00, + 0x11, 0x71, 0x08, 0x00, 0x95, 0x71, 0x08, 0x00, 0xd7, 0x71, 0x08, 0x00, 0xfb, 0x71, 0x08, + 0x00, 0x1b, 0x72, 0x08, 0x00, 0x01, 0x70, 0x08, 0x00, 0x89, 0x03, 0x18, 0x00, 0x61, 0x03, + 0x18, 0x00, 0xad, 0x72, 0x08, 0x00, 0xd1, 0x72, 0x08, 0x00, 0x2d, 0x74, 0x08, 0x00, 0x47, + 0x72, 0x08, 0x00, 0x71, 0x73, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc5, 0x73, 0x08, 0x00, + 0x3b, 0x74, 0x08, 0x00, 0xf5, 0x73, 0x08, 0x00, 0x1d, 0x74, 0x08, 0x00, 0x23, 0x74, 0x08, + 0x00, 0xb9, 0x74, 0x08, 0x00, 0xf1, 0x74, 0x08, 0x00, 0x65, 0x75, 0x08, 0x00, 0x39, 0x76, + 0x08, 0x00, 0xa5, 0x77, 0x08, 0x00, 0x87, 0x6f, 0x08, 0x00, + + 0x01, 0x05, 0xff, 0x85, 0x04, 0xf3, 0x1a, 0x00, 0x80, 0x36, 0x5e, 0x02, 0x00, 0x38, 0xc2, + 0x02, 0x00, 0x00, 0xc5, 0x02, 0x00, 0x9c, 0x9c, 0x00, 0x00, 0x70, 0x8c, 0x00, 0x00, 0x02, + 0x69, 0x00, 0x00, 0x84, 0x97, 0x00, 0x00, 0x6a, 0xa0, 0x02, 0x00, 0xf0, 0x6e, 0x03, 0x00, + 0xf0, 0x8a, 0x04, 0x00, 0x32, 0xaf, 0x02, 0x00, 0xf4, 0xf8, 0x03, 0x00, 0x24, 0x8d, 0x03, + 0x00, 0xa8, 0x55, 0x00, 0x00, 0x00, 0x16, 0x04, 0x00, 0x14, 0x85, 0x01, 0x00, 0x54, 0x82, + 0x01, 0x00, 0x42, 0x7b, 0x02, 0x00, 0xac, 0xf9, 0x03, 0x00, 0xd6, 0x7b, 0x03, 0x00, 0xff, + 0xff, 0xff, 0xff, 0x1c, 0x86, 0x00, 0x00, 0x68, 0x9d, 0x03, 0x00, 0xb4, 0xeb, 0x03, 0x00, + 0x78, 0x68, 0x03, 0x00, 0x3e, 0xf6, 0x02, 0x00, 0x3c, 0xe3, 0x03, 0x00, 0xdc, 0xe3, 0x02, + 0x00, 0xce, 0x98, 0x01, 0x00, 0x3a, 0xbd, 0x03, 0x00, 0x72, 0x25, 0x04, 0x00, 0xce, 0x44, + 0x01, 0x00, + + 0x01, 0x05, 0xff, 0xff, 0x00, 0x00, 0x18, 0x00, 0xfa, 0xff, 0xb5, 0x00, 0x93, 0x01, 0x92, + 0x02, 0x91, 0x06, 0x1c, 0xe4, 0x4f, 0x38, 0x78, 0x44, 0x1e, 0x01, 0x28, 0x02, 0xd1, 0x01, + 0x21, 0xc9, 0x03, 0x01, 0xe0, 0x7d, 0x21, 0x09, 0x02, 0xd2, 0x48, 0x01, 0x22, 0x96, 0x46, + 0xd1, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x03, 0x91, 0xd4, 0x48, 0x00, 0x78, 0x02, 0x28, 0x00, + 0xd0, 0xb8, 0xe0, 0xd3, 0x4d, 0xcd, 0x48, 0x01, 0x2e, 0x53, 0xd0, 0x06, 0x1c, 0xb0, 0x89, + 0x00, 0x2c, 0x02, 0xd0, 0x7d, 0x20, 0x00, 0x02, 0x01, 0xe0, 0x01, 0x20, 0xc0, 0x03, 0x02, + 0x99, 0x48, 0x43, 0xc7, 0x49, 0x08, 0x18, 0xf0, 0x49, 0x01, 0x22, 0x96, 0x46, 0xc6, 0x4a, + 0xfe, 0x44, 0x10, 0x47, 0xb1, 0x81, 0x38, 0x78, 0x01, 0x28, 0x02, 0xd1, 0x01, 0x20, 0xc0, + 0x03, 0x01, 0xe0, 0x7d, 0x20, 0x00, 0x02, 0xc1, 0x4c, 0x0f, 0x27, 0x21, 0x88, 0x39, 0x40, + 0x22, 0x88, 0x12, 0x09, 0x3a, 0x40, 0x8a, 0x42, 0x04, 0xdd, 0x21, 0x88, 0x09, 0x11, 0x09, + 0x07, 0x0f, 0x0f, 0x01, 0xe0, 0x21, 0x88, 0x0f, 0x40, 0x02, 0x99, 0x41, 0x43, 0xb6, 0x48, + 0x40, 0x18, 0xdf, 0x49, 0x01, 0x22, 0x96, 0x46, 0xb4, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x28, + 0x1c, 0x00, 0x8e, 0x1f, 0x22, 0x10, 0x40, 0x40, 0x18, 0xa1, 0x89, 0x11, 0x40, 0x08, 0x18, + 0x31, 0x8a, 0x08, 0x18, 0x29, 0x88, 0x09, 0x0a, 0x08, 0x18, 0x29, 0x89, 0x09, 0x0a, 0x08, + 0x18, 0x39, 0x18, 0x01, 0x98, 0x40, 0x18, 0x05, 0x30, 0x01, 0x04, 0x09, 0x0c, 0xdc, 0x48, + 0x00, 0x22, 0x01, 0x23, 0x9e, 0x46, 0xdb, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x54, 0xe0, 0x06, + 0x1c, 0x30, 0x88, 0x00, 0x2c, 0x02, 0xd0, 0x7d, 0x20, 0x00, 0x02, 0x01, 0xe0, 0x01, 0x20, + 0xc0, 0x03, 0x02, 0x99, + + 0x01, 0x05, 0xff, 0xff, 0xfa, 0x00, 0x18, 0x00, 0xfa, 0x48, 0x43, 0x9d, 0x49, 0x08, 0x18, + 0xc6, 0x49, 0x01, 0x22, 0x96, 0x46, 0x9c, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x31, 0x80, 0x38, + 0x78, 0x01, 0x28, 0x02, 0xd1, 0x01, 0x20, 0xc0, 0x03, 0x01, 0xe0, 0x7d, 0x20, 0x00, 0x02, + 0x97, 0x4c, 0x0f, 0x25, 0xa1, 0x88, 0x09, 0x09, 0x29, 0x40, 0xa2, 0x88, 0x2a, 0x40, 0x8a, + 0x42, 0x03, 0xdd, 0xa1, 0x88, 0x09, 0x07, 0x0d, 0x0f, 0x02, 0xe0, 0xa1, 0x88, 0x09, 0x09, + 0x0d, 0x40, 0x1f, 0x27, 0x02, 0x99, 0x41, 0x43, 0x8b, 0x48, 0x40, 0x18, 0xb4, 0x49, 0x01, + 0x22, 0x96, 0x46, 0x8a, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x30, 0x89, 0x38, 0x40, 0x40, 0x18, + 0xb1, 0x88, 0x39, 0x40, 0x08, 0x18, 0x21, 0x89, 0x39, 0x40, 0x08, 0x18, 0x87, 0x49, 0x09, + 0x88, 0x09, 0x0a, 0x08, 0x18, 0x85, 0x49, 0x09, 0x89, 0x09, 0x0a, 0x08, 0x18, 0x29, 0x18, + 0x01, 0x98, 0x40, 0x18, 0x05, 0x30, 0x01, 0x04, 0x09, 0x0c, 0xb1, 0x48, 0x00, 0x22, 0x01, + 0x23, 0x9e, 0x46, 0xb0, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x00, 0x98, 0x03, 0x99, 0x41, 0x18, + 0xae, 0x48, 0x40, 0x18, 0xaf, 0x49, 0x01, 0x22, 0x96, 0x46, 0x75, 0x4a, 0xfe, 0x44, 0x10, + 0x47, 0x08, 0xe0, 0xa9, 0x48, 0x00, 0x99, 0x40, 0x18, 0xaa, 0x49, 0x01, 0x22, 0x96, 0x46, + 0x70, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0xc8, 0x1c, 0xa5, 0x49, 0x08, 0x80, 0x09, 0x99, 0xa6, + 0x48, 0x49, 0x1c, 0x01, 0xd0, 0x59, 0x30, 0x00, 0xe0, 0x61, 0x30, 0x00, 0x90, 0xff, 0xbd, + 0xf8, 0xb5, 0x05, 0x1c, 0x9e, 0x48, 0x40, 0x19, 0x9f, 0x49, 0x01, 0x24, 0xa6, 0x46, 0x65, + 0x4a, 0xfe, 0x44, 0x10, 0x47, 0xc8, 0x1c, 0x9a, 0x49, 0x08, 0x80, 0x6b, 0x48, 0x00, 0x78, + 0x01, 0x28, 0x02, 0xd1, + + 0x01, 0x05, 0xff, 0xff, 0xf4, 0x01, 0x18, 0x00, 0xfa, 0x01, 0x20, 0xc0, 0x03, 0x01, 0xe0, + 0x7d, 0x20, 0x00, 0x02, 0x68, 0x43, 0x5c, 0x4e, 0x30, 0x18, 0x85, 0x49, 0xa6, 0x46, 0x5b, + 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x09, 0x04, 0x09, 0x0c, 0x94, 0x48, 0x04, 0x30, 0x06, 0x22, + 0xa6, 0x46, 0x91, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x90, 0x48, 0x5a, 0x30, 0x00, 0x21, 0xa6, + 0x46, 0x8f, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x07, 0x1c, 0x8c, 0x48, 0x08, 0x21, 0xa6, 0x46, + 0x8c, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0xc7, 0x19, 0x14, 0x2f, 0x00, 0xd8, 0x14, 0x27, 0x55, + 0x48, 0x00, 0x78, 0x01, 0x28, 0x02, 0xd1, 0x01, 0x20, 0xc0, 0x03, 0x01, 0xe0, 0x7d, 0x20, + 0x00, 0x02, 0x68, 0x43, 0x30, 0x18, 0x70, 0x49, 0xa6, 0x46, 0x46, 0x4a, 0xfe, 0x44, 0x10, + 0x47, 0xc8, 0x1b, 0x05, 0x38, 0x01, 0x04, 0x09, 0x0c, 0x7d, 0x48, 0x2c, 0x30, 0x00, 0x22, + 0xa6, 0x46, 0x7a, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x7d, 0x4f, 0x38, 0x1c, 0x08, 0x21, 0xa6, + 0x46, 0x79, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x00, 0x90, 0x38, 0x1c, 0x00, 0x21, 0xa6, 0x46, + 0x75, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x00, 0x99, 0x88, 0x42, 0x06, 0xdd, 0x38, 0x1c, 0x00, + 0x21, 0xa6, 0x46, 0x71, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x05, 0xe0, 0x38, 0x1c, 0x08, 0x21, + 0xa6, 0x46, 0x6d, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x07, 0x1c, 0x6a, 0x48, 0x00, 0x21, 0xa6, + 0x46, 0x6a, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x3f, 0x18, 0x08, 0x37, 0x34, 0x48, 0x00, 0x78, + 0x01, 0x28, 0x02, 0xd1, 0x01, 0x20, 0xc0, 0x03, 0x01, 0xe0, 0x7d, 0x20, 0x00, 0x02, 0x68, + 0x43, 0x30, 0x18, 0x4f, 0x49, 0xa6, 0x46, 0x25, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x78, 0x18, + 0x01, 0x04, 0x09, 0x0c, + + 0x01, 0x05, 0xff, 0xff, 0xee, 0x02, 0x18, 0x00, 0xfa, 0x56, 0x48, 0x00, 0x22, 0xa6, 0x46, + 0x55, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0xf8, 0xbd, 0x10, 0xb5, 0x43, 0x69, 0x5f, 0x49, 0x09, + 0x78, 0x5b, 0x4a, 0x12, 0x78, 0x01, 0x2a, 0x04, 0xd1, 0x1c, 0x78, 0x00, 0x2c, 0x01, 0xd1, + 0x5c, 0x49, 0x09, 0x78, 0x1a, 0x4c, 0x24, 0x78, 0x00, 0x2c, 0x1b, 0xd0, 0xff, 0x29, 0x19, + 0xd0, 0x01, 0x2a, 0x08, 0xd0, 0x58, 0x4a, 0x12, 0x78, 0x01, 0x2a, 0x13, 0xd0, 0x1a, 0x78, + 0x01, 0x2a, 0x01, 0xd0, 0x02, 0x2a, 0x0e, 0xd1, 0x10, 0x22, 0xd4, 0x56, 0x8c, 0x42, 0x0a, + 0xdd, 0x61, 0x1a, 0x09, 0x06, 0x09, 0x0e, 0x5b, 0x1c, 0x00, 0x24, 0x1c, 0x57, 0x64, 0x1a, + 0x1c, 0x70, 0x01, 0x33, 0x01, 0x3a, 0xf8, 0xd1, 0x48, 0x49, 0x81, 0x60, 0x48, 0x48, 0x15, + 0x30, 0x10, 0xbd, 0x4a, 0x48, 0x15, 0x30, 0xf7, 0x46, 0xc0, 0x46, 0x80, 0xc3, 0xc9, 0x01, + 0x6d, 0x94, 0x05, 0x00, 0xc0, 0x79, 0x1a, 0x00, 0x3f, 0x42, 0x0f, 0x00, 0x05, 0x9a, 0x05, + 0x00, 0x28, 0x79, 0x1a, 0x00, 0xe8, 0x57, 0x08, 0x00, 0x2c, 0x7a, 0x1a, 0x00, 0xff, 0xb5, + 0x05, 0x1c, 0x03, 0x48, 0x00, 0x78, 0x01, 0x28, 0x05, 0xd1, 0x01, 0x26, 0xf6, 0x03, 0x04, + 0xe0, 0xc0, 0x46, 0x5e, 0x56, 0x08, 0x00, 0x7d, 0x26, 0x36, 0x02, 0x28, 0x48, 0x00, 0x21, + 0x01, 0x24, 0xa6, 0x46, 0x38, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x01, 0x1c, 0x19, 0x48, 0x48, + 0x43, 0x31, 0x1c, 0xa6, 0x46, 0x3b, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x01, 0x91, 0x6d, 0x69, + 0xee, 0x7a, 0x28, 0x1c, 0x21, 0x1c, 0xa6, 0x46, 0x31, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x07, + 0x1c, 0x28, 0x1c, 0x05, 0x21, 0xa6, 0x46, 0x2d, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x02, 0x90, + 0x28, 0x7f, 0x03, 0x90, + + 0x01, 0x05, 0xff, 0xff, 0xe8, 0x03, 0x18, 0x00, 0xfa, 0xed, 0x7e, 0xff, 0x2e, 0x04, 0xd0, + 0x30, 0x1c, 0xa6, 0x46, 0x29, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x78, 0x1c, 0x19, 0xd0, 0x1b, + 0x48, 0x0a, 0x21, 0xa6, 0x46, 0x26, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x06, 0x28, 0x09, 0xd0, + 0x01, 0x2e, 0x07, 0xd0, 0x38, 0x1c, 0xa6, 0x46, 0x22, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x09, + 0xe0, 0x40, 0x42, 0x0f, 0x00, 0x38, 0x1c, 0x31, 0x1c, 0x03, 0x9a, 0x2b, 0x1c, 0xa6, 0x46, + 0x1e, 0x4e, 0xfe, 0x44, 0x30, 0x47, 0x02, 0x98, 0x00, 0x90, 0x28, 0x1c, 0x39, 0x1c, 0x03, + 0x9a, 0x01, 0x9b, 0xa6, 0x46, 0x1a, 0x4c, 0xfe, 0x44, 0x20, 0x47, 0x00, 0x90, 0xff, 0xbd, + 0x04, 0x60, 0x1a, 0x00, 0xc9, 0x49, 0x05, 0x00, 0xe1, 0x04, 0x00, 0x00, 0x48, 0x53, 0x08, + 0x00, 0xe2, 0x04, 0x00, 0x00, 0x71, 0x55, 0x00, 0x00, 0x93, 0x49, 0x05, 0x00, 0x16, 0x74, + 0x1a, 0x00, 0x6b, 0x4a, 0x05, 0x00, 0x42, 0x74, 0x1a, 0x00, 0x44, 0x74, 0x1a, 0x00, 0xc6, + 0x63, 0x08, 0x00, 0x10, 0x30, 0x19, 0x00, 0xef, 0x68, 0x00, 0x00, 0xc1, 0x63, 0x08, 0x00, + 0xc0, 0x63, 0x08, 0x00, 0xc3, 0x63, 0x08, 0x00, 0xff, 0x15, 0x04, 0x00, 0xa7, 0x4a, 0x05, + 0x00, 0xe5, 0x2b, 0x00, 0x00, 0x81, 0x42, 0x02, 0x00, 0x4d, 0x4a, 0x05, 0x00, 0xd3, 0x01, + 0x18, 0x00, 0x55, 0x3f, 0x02, 0x00, 0x01, 0x00, 0x18, 0x00, 0x6d, 0x94, 0x05, 0x00, 0x70, + 0xb5, 0xde, 0x4d, 0xae, 0x7f, 0x01, 0x24, 0xa6, 0x46, 0xda, 0x48, 0xfe, 0x44, 0x00, 0x47, + 0xb0, 0x42, 0xf8, 0xd1, 0x03, 0x20, 0x17, 0x21, 0x89, 0x01, 0xa6, 0x46, 0xd6, 0x4a, 0xfe, + 0x44, 0x10, 0x47, 0xad, 0x7f, 0xa6, 0x46, 0xd3, 0x48, 0xfe, 0x44, 0x00, 0x47, 0xa8, 0x42, + 0xf9, 0xd1, 0xfe, 0xe7, + + 0x01, 0x05, 0xff, 0xff, 0xe2, 0x04, 0x18, 0x00, 0xfa, 0xf0, 0xb5, 0x88, 0xb0, 0x0b, 0x21, + 0x09, 0x18, 0x68, 0x46, 0x0c, 0x22, 0x01, 0x24, 0xa6, 0x46, 0xd8, 0x4b, 0xfe, 0x44, 0x18, + 0x47, 0x68, 0x46, 0x01, 0x78, 0x03, 0x91, 0x45, 0x78, 0x81, 0x78, 0x04, 0x91, 0xc0, 0x78, + 0x05, 0x90, 0x01, 0x98, 0x06, 0x90, 0x02, 0x98, 0x07, 0x90, 0xa6, 0x46, 0xc7, 0x48, 0xfe, + 0x44, 0x00, 0x47, 0xcf, 0x4f, 0x38, 0x78, 0xc9, 0x4e, 0x81, 0x09, 0x16, 0xd3, 0x14, 0x20, + 0xb0, 0x80, 0xc8, 0x20, 0xa6, 0x46, 0xcc, 0x49, 0xfe, 0x44, 0x08, 0x47, 0xc0, 0x48, 0x00, + 0x21, 0xa6, 0x46, 0xc0, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0xbf, 0x48, 0x03, 0x21, 0xa6, 0x46, + 0xbf, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x39, 0x78, 0xdf, 0x20, 0x08, 0x40, 0x38, 0x70, 0xc0, + 0x09, 0x0a, 0xd3, 0x24, 0x20, 0xb0, 0x80, 0xc8, 0x20, 0xa6, 0x46, 0xbf, 0x49, 0xfe, 0x44, + 0x08, 0x47, 0x39, 0x78, 0xbf, 0x20, 0x08, 0x40, 0x38, 0x70, 0xb7, 0x48, 0x07, 0x2d, 0x09, + 0xd0, 0xaa, 0x00, 0xb6, 0x49, 0x0b, 0x1c, 0x38, 0x3b, 0x9b, 0x58, 0x05, 0x1c, 0xab, 0x60, + 0x88, 0x58, 0x07, 0x90, 0x02, 0xe0, 0x05, 0x1c, 0x06, 0x98, 0xa8, 0x60, 0x07, 0x98, 0x68, + 0x60, 0x28, 0x1c, 0x00, 0x21, 0xa6, 0x46, 0xaa, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x03, 0x98, + 0x80, 0x1e, 0xac, 0x49, 0x10, 0xd0, 0x01, 0x38, 0x0c, 0xd0, 0x01, 0x38, 0x01, 0xd0, 0x02, + 0x20, 0x0b, 0xe0, 0x04, 0x98, 0x40, 0x06, 0x80, 0x0c, 0x78, 0x30, 0x88, 0x83, 0x15, 0x20, + 0xb0, 0x80, 0x20, 0x20, 0x10, 0xe0, 0x20, 0x1c, 0x00, 0xe0, 0x00, 0x20, 0x80, 0x07, 0x82, + 0x0f, 0x05, 0x98, 0x00, 0x07, 0x40, 0x0e, 0x80, 0x18, 0x04, 0x9a, 0x52, 0x06, 0x92, 0x0c, + 0x10, 0x18, 0x08, 0x80, + + 0x01, 0x05, 0xff, 0xff, 0xdc, 0x05, 0x18, 0x00, 0xfa, 0x11, 0x20, 0x30, 0x80, 0x04, 0x20, + 0x39, 0x78, 0x08, 0x43, 0x38, 0x70, 0x03, 0x98, 0x00, 0x28, 0x05, 0xd0, 0x91, 0x48, 0x00, + 0x21, 0xa6, 0x46, 0x92, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0xc8, 0x20, 0xa6, 0x46, 0x97, 0x49, + 0xfe, 0x44, 0x08, 0x47, 0x8d, 0x48, 0x0c, 0x21, 0xa6, 0x46, 0x8d, 0x4a, 0xfe, 0x44, 0x10, + 0x47, 0x03, 0x98, 0x00, 0x28, 0x02, 0xd0, 0xff, 0x20, 0x02, 0x30, 0x28, 0x80, 0x08, 0xb0, + 0xf0, 0xbd, 0xf8, 0xb5, 0xc1, 0x7a, 0x00, 0x91, 0x07, 0x7b, 0x00, 0x2f, 0x03, 0xd0, 0x01, + 0x2f, 0x02, 0xd1, 0x01, 0x27, 0x00, 0xe0, 0x02, 0x27, 0x01, 0x24, 0xa6, 0x46, 0x7d, 0x48, + 0xfe, 0x44, 0x00, 0x47, 0x85, 0x4e, 0x30, 0x78, 0x7f, 0x4d, 0x81, 0x09, 0x16, 0xd3, 0x14, + 0x20, 0xa8, 0x80, 0xc8, 0x20, 0xa6, 0x46, 0x82, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x76, 0x48, + 0x00, 0x21, 0xa6, 0x46, 0x76, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x75, 0x48, 0x03, 0x21, 0xa6, + 0x46, 0x75, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x31, 0x78, 0xdf, 0x20, 0x08, 0x40, 0x30, 0x70, + 0xc0, 0x09, 0x0a, 0xd3, 0x24, 0x20, 0xa8, 0x80, 0xc8, 0x20, 0xa6, 0x46, 0x75, 0x49, 0xfe, + 0x44, 0x08, 0x47, 0x31, 0x78, 0xbf, 0x20, 0x08, 0x40, 0x30, 0x70, 0x73, 0x48, 0x01, 0x78, + 0x6e, 0x48, 0x01, 0x29, 0x12, 0xd0, 0x00, 0x99, 0x89, 0x01, 0x41, 0x80, 0x87, 0x80, 0x21, + 0x20, 0x28, 0x80, 0xc8, 0x20, 0xa6, 0x46, 0x6b, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x62, 0x48, + 0x0c, 0x21, 0xa6, 0x46, 0x61, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x02, 0x20, 0x13, 0xe0, 0x00, + 0x99, 0x8a, 0x01, 0x02, 0x21, 0x11, 0x43, 0xc1, 0x83, 0x07, 0x84, 0x25, 0x20, 0xa8, 0x80, + 0xc8, 0x20, 0xa6, 0x46, + + 0x01, 0x05, 0xff, 0xff, 0xd6, 0x06, 0x18, 0x00, 0xfa, 0x61, 0x49, 0xfe, 0x44, 0x08, 0x47, + 0x57, 0x48, 0x0c, 0x21, 0xa6, 0x46, 0x57, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x40, 0x20, 0x31, + 0x78, 0x08, 0x43, 0x30, 0x70, 0xf8, 0xbd, 0xf8, 0xb5, 0x00, 0x92, 0x0f, 0x1c, 0x05, 0x1c, + 0x61, 0x48, 0x01, 0x78, 0x01, 0x24, 0x58, 0x4e, 0xb5, 0x42, 0x0e, 0xdc, 0x5b, 0x48, 0xb5, + 0x42, 0x4e, 0xd0, 0x44, 0x4a, 0xaa, 0x1a, 0x52, 0xd0, 0x01, 0x3a, 0x49, 0xd0, 0x04, 0x3a, + 0x32, 0xd0, 0x68, 0x3a, 0x4c, 0xd0, 0x01, 0x3a, 0x50, 0xd0, 0x3a, 0xe0, 0x30, 0x1c, 0x2f, + 0x30, 0x28, 0x1a, 0x3a, 0xd0, 0x24, 0x38, 0x36, 0xd0, 0x01, 0x38, 0x18, 0xd0, 0x01, 0x38, + 0x30, 0xd1, 0x47, 0x48, 0x6d, 0x30, 0x00, 0x78, 0x02, 0x28, 0x0e, 0xd1, 0xf8, 0x7a, 0x00, + 0x07, 0x00, 0x0f, 0x47, 0x49, 0x0a, 0x1c, 0xb6, 0x3a, 0x10, 0x70, 0x02, 0x01, 0x02, 0x43, + 0x12, 0x01, 0x02, 0x43, 0x12, 0x01, 0x02, 0x43, 0x0a, 0x80, 0x0b, 0xe0, 0x0c, 0x20, 0x18, + 0x70, 0x08, 0xe0, 0x01, 0x29, 0x01, 0xd0, 0x04, 0x29, 0x04, 0xd1, 0x38, 0x1c, 0xa6, 0x46, + 0x3e, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x25, 0x1c, 0x00, 0x98, 0x05, 0x70, 0x4c, 0xe0, 0x00, + 0x29, 0x4a, 0xd1, 0xb8, 0x7d, 0x01, 0x28, 0x47, 0xd1, 0x04, 0x20, 0xa6, 0x46, 0x38, 0x49, + 0xfe, 0x44, 0x08, 0x47, 0xff, 0x20, 0xb8, 0x75, 0x3f, 0xe0, 0x00, 0x24, 0x3d, 0xe0, 0x39, + 0x48, 0x00, 0xe0, 0x2f, 0x48, 0xf9, 0x7a, 0x01, 0x70, 0xe6, 0xe7, 0x00, 0x21, 0x06, 0x22, + 0xa6, 0x46, 0x35, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x30, 0xe0, 0x03, 0x21, 0x06, 0x22, 0xa6, + 0x46, 0x32, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x31, 0x48, 0x00, 0x68, 0x00, 0x28, 0x13, 0xd1, + 0x04, 0x3e, 0xb5, 0x42, + + 0x01, 0x05, 0xff, 0xd1, 0xd0, 0x07, 0x18, 0x00, 0xcc, 0x09, 0xd0, 0x13, 0x48, 0x85, 0x42, + 0x20, 0xd1, 0x38, 0x1c, 0x25, 0x1c, 0xa6, 0x46, 0x26, 0x49, 0xfe, 0x44, 0x08, 0x47, 0xc9, + 0xe7, 0x38, 0x1c, 0x25, 0x1c, 0xa6, 0x46, 0x23, 0x49, 0xfe, 0x44, 0x08, 0x47, 0xc2, 0xe7, + 0x04, 0x20, 0xa6, 0x46, 0x25, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x47, 0x21, 0x09, 0x02, 0x01, + 0x80, 0x87, 0x80, 0x39, 0x0c, 0xc1, 0x80, 0xa6, 0x46, 0x21, 0x49, 0xfe, 0x44, 0x08, 0x47, + 0x21, 0x48, 0x9e, 0x30, 0x06, 0x99, 0x08, 0x62, 0x20, 0x1c, 0xf8, 0xbd, 0xc0, 0x46, 0x17, + 0xfd, 0x00, 0x00, 0x8b, 0x05, 0x05, 0x00, 0xf5, 0xd3, 0x04, 0x00, 0x8c, 0x4f, 0x08, 0x00, + 0x0d, 0x82, 0x03, 0x00, 0x0d, 0x18, 0x19, 0x00, 0x79, 0x48, 0x05, 0x00, 0x62, 0x1c, 0x19, + 0x00, 0x61, 0x48, 0x05, 0x00, 0x44, 0x24, 0x19, 0x00, 0x0c, 0x18, 0x19, 0x00, 0xc8, 0x8d, + 0x06, 0x00, 0x00, 0x30, 0x19, 0x00, 0x21, 0xa7, 0x05, 0x00, 0xd4, 0x0f, 0x08, 0x00, 0xbb, + 0x16, 0x04, 0x00, 0xc8, 0x63, 0x08, 0x00, 0x88, 0xfd, 0x00, 0x00, 0x4c, 0xa6, 0x1b, 0x00, + 0x6d, 0x09, 0x18, 0x00, 0xe1, 0x42, 0x02, 0x00, 0x6a, 0x0a, 0x1a, 0x00, 0x21, 0x06, 0x18, + 0x00, 0xe3, 0x04, 0x18, 0x00, 0xe8, 0x57, 0x08, 0x00, 0xc9, 0x63, 0x08, 0x00, 0x91, 0x48, + 0x05, 0x00, 0x2c, 0x51, 0x08, 0x00, 0x9b, 0x60, 0x04, 0x00, 0xe9, 0x3f, 0x05, 0x00, 0x81, + 0x60, 0x00, 0x00, + + 0x01, 0x05, 0xff, 0xff, 0xd0, 0x2d, 0x18, 0x00, 0xfa, 0xf0, 0xb5, 0xc6, 0x48, 0x00, 0x78, + 0x02, 0x28, 0x00, 0xd0, 0x9e, 0xe0, 0xc5, 0x48, 0x05, 0x21, 0x01, 0x25, 0xae, 0x46, 0xc4, + 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x01, 0x1c, 0xc0, 0x48, 0x00, 0x22, 0xae, 0x46, 0xf3, 0x4b, + 0xfe, 0x44, 0x18, 0x47, 0xf2, 0x48, 0x00, 0x78, 0x00, 0x28, 0x18, 0xd1, 0x13, 0x20, 0xbe, + 0x49, 0x08, 0x80, 0x03, 0x27, 0x39, 0x1c, 0x28, 0x1c, 0xae, 0x46, 0xbc, 0x4a, 0xfe, 0x44, + 0x10, 0x47, 0xec, 0x4e, 0x30, 0x1c, 0x0a, 0x30, 0x39, 0x1c, 0xae, 0x46, 0xb9, 0x4a, 0xfe, + 0x44, 0x10, 0x47, 0x30, 0x1c, 0x00, 0x21, 0x0c, 0x22, 0xae, 0x46, 0xe4, 0x4b, 0xfe, 0x44, + 0x18, 0x47, 0xb6, 0x4c, 0x27, 0x1c, 0x02, 0x3f, 0x38, 0x1c, 0x02, 0x21, 0x00, 0x22, 0xae, + 0x46, 0xb1, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0xb2, 0x4e, 0x30, 0x1c, 0xc8, 0x38, 0x20, 0x60, + 0x38, 0x1c, 0x03, 0x21, 0x00, 0x22, 0xae, 0x46, 0xac, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x26, + 0x60, 0x38, 0x1c, 0x04, 0x21, 0x00, 0x22, 0xae, 0x46, 0xa8, 0x4b, 0xfe, 0x44, 0x18, 0x47, + 0xa9, 0x4e, 0x30, 0x1c, 0xd1, 0x38, 0x20, 0x60, 0x38, 0x1c, 0x05, 0x21, 0x00, 0x22, 0xae, + 0x46, 0xa2, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x26, 0x60, 0x38, 0x1c, 0x06, 0x21, 0x00, 0x22, + 0xae, 0x46, 0x9e, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x30, 0x1c, 0x32, 0x30, 0x20, 0x60, 0x38, + 0x1c, 0x07, 0x21, 0x00, 0x22, 0xae, 0x46, 0x99, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x30, 0x1c, + 0x62, 0x30, 0x20, 0x60, 0x38, 0x1c, 0x08, 0x21, 0x00, 0x22, 0xae, 0x46, 0x94, 0x4b, 0xfe, + 0x44, 0x18, 0x47, 0xc2, 0x36, 0x26, 0x60, 0x38, 0x1c, 0x09, 0x21, 0x00, 0x22, 0xae, 0x46, + 0x90, 0x4b, 0xfe, 0x44, + + 0x01, 0x05, 0xff, 0xff, 0xca, 0x2e, 0x18, 0x00, 0xfa, 0x18, 0x47, 0xe9, 0x48, 0x20, 0x60, + 0x38, 0x1c, 0x0a, 0x21, 0x00, 0x22, 0xae, 0x46, 0x8b, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0xe6, + 0x48, 0x20, 0x60, 0x38, 0x1c, 0x0b, 0x21, 0x00, 0x22, 0xae, 0x46, 0x87, 0x4b, 0xfe, 0x44, + 0x18, 0x47, 0xe2, 0x48, 0x20, 0x60, 0xe2, 0x48, 0x00, 0x88, 0x80, 0x0b, 0x0e, 0xd3, 0x00, + 0x22, 0x10, 0x1c, 0xc3, 0x00, 0xe0, 0x49, 0x0c, 0x1c, 0x02, 0x3c, 0xe4, 0x18, 0x25, 0x88, + 0x2d, 0x06, 0x2d, 0x0e, 0x25, 0x80, 0xca, 0x52, 0x01, 0x30, 0x14, 0x28, 0xf2, 0xdb, 0xf0, + 0xbd, 0x10, 0xb5, 0x73, 0x48, 0x00, 0x78, 0x00, 0x28, 0x32, 0xd0, 0x02, 0x28, 0x3b, 0xd1, + 0xd7, 0x48, 0x48, 0x21, 0x09, 0x18, 0x0b, 0x88, 0x01, 0x22, 0x1a, 0x43, 0x0a, 0x80, 0xd1, + 0x4a, 0x70, 0x3a, 0x13, 0x88, 0x9b, 0x10, 0x9b, 0x00, 0x13, 0x80, 0x7c, 0x23, 0x8a, 0x8e, + 0x9a, 0x43, 0x32, 0x23, 0x13, 0x43, 0x8b, 0x86, 0xce, 0x4b, 0x19, 0x88, 0x49, 0x09, 0x4a, + 0x01, 0x08, 0x21, 0x11, 0x43, 0x19, 0x80, 0x01, 0x88, 0x49, 0x10, 0x49, 0x00, 0x01, 0x80, + 0xca, 0x4b, 0xff, 0x24, 0x19, 0x88, 0x21, 0x40, 0x03, 0x22, 0x12, 0x02, 0x0a, 0x43, 0x1a, + 0x80, 0x19, 0x89, 0x21, 0x40, 0xff, 0x22, 0x01, 0x32, 0x0a, 0x43, 0x1a, 0x81, 0x02, 0x22, + 0x01, 0x88, 0x91, 0x43, 0x01, 0x80, 0x10, 0xbd, 0x07, 0x21, 0x09, 0x02, 0xc0, 0x48, 0x0a, + 0x1c, 0x01, 0x24, 0xa6, 0x46, 0xbf, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0xbf, 0x48, 0x04, 0x70, + 0x10, 0xbd, 0xf0, 0xb5, 0xbe, 0x4d, 0x06, 0x26, 0x2e, 0x70, 0x0f, 0x20, 0x68, 0x70, 0x3d, + 0x20, 0xa8, 0x70, 0x4d, 0x20, 0xe8, 0x70, 0x03, 0x20, 0x32, 0x1c, 0x0f, 0x23, 0xd2, 0x49, + 0xe4, 0x31, 0x01, 0x24, + + 0x01, 0x05, 0xff, 0xff, 0xc4, 0x2f, 0x18, 0x00, 0xfa, 0xa6, 0x46, 0xb7, 0x4f, 0xfe, 0x44, + 0x38, 0x47, 0xaa, 0x78, 0xeb, 0x78, 0x03, 0x20, 0xcd, 0x49, 0xe5, 0x31, 0xa6, 0x46, 0xb2, + 0x4d, 0xfe, 0x44, 0x28, 0x47, 0x03, 0x20, 0xc9, 0x49, 0xe6, 0x31, 0xa6, 0x46, 0xb0, 0x4a, + 0xfe, 0x44, 0x10, 0x47, 0xa6, 0x46, 0xaf, 0x48, 0xfe, 0x44, 0x00, 0x47, 0xae, 0x4a, 0x00, + 0x21, 0x08, 0x1c, 0x13, 0x68, 0x00, 0x2b, 0x04, 0xd0, 0x03, 0x07, 0x1d, 0x0f, 0x23, 0x1c, + 0xab, 0x40, 0x19, 0x43, 0x03, 0x07, 0x1b, 0x0f, 0xa9, 0x4d, 0x0f, 0x2b, 0x04, 0xd1, 0xc7, + 0x08, 0x33, 0x1c, 0x3b, 0x40, 0xe9, 0x52, 0x00, 0x21, 0x04, 0x32, 0x01, 0x30, 0x20, 0x28, + 0xe9, 0xd3, 0xa4, 0x4e, 0x30, 0x78, 0x81, 0x08, 0x07, 0xd2, 0x28, 0x1c, 0x02, 0x30, 0x0f, + 0x21, 0xa6, 0x46, 0xa1, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x30, 0x78, 0xc0, 0x08, 0x05, 0xd2, + 0x28, 0x1c, 0x0c, 0x21, 0xa6, 0x46, 0x9c, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x9c, 0x48, 0x00, + 0x21, 0xa6, 0x46, 0x99, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x00, 0x26, 0x99, 0x48, 0x06, 0x70, + 0x99, 0x48, 0x06, 0x70, 0x46, 0x70, 0x19, 0x20, 0x40, 0x01, 0x98, 0x49, 0x08, 0x80, 0xff, + 0x21, 0x97, 0x48, 0x01, 0x70, 0x97, 0x48, 0x01, 0x70, 0x97, 0x48, 0x06, 0x70, 0x98, 0x48, + 0x97, 0x4a, 0x10, 0x60, 0x98, 0x48, 0x24, 0x22, 0x02, 0x70, 0x18, 0x22, 0x42, 0x70, 0x20, + 0x22, 0x82, 0x70, 0x10, 0x22, 0xc2, 0x70, 0x98, 0x4d, 0x28, 0x1c, 0x00, 0x0a, 0x93, 0x4a, + 0x10, 0x80, 0x93, 0x48, 0x01, 0x70, 0xa6, 0x46, 0x92, 0x48, 0xfe, 0x44, 0x00, 0x47, 0x92, + 0x4f, 0xa6, 0x46, 0x93, 0x48, 0xfe, 0x44, 0x00, 0x47, 0x39, 0x88, 0x01, 0x40, 0x48, 0x08, + 0x04, 0xd0, 0x00, 0x20, + + 0x01, 0x05, 0xff, 0xff, 0xbe, 0x30, 0x18, 0x00, 0xfa, 0xc0, 0x43, 0x45, 0x19, 0x85, 0x42, + 0xf2, 0xd1, 0xa6, 0x46, 0x8c, 0x48, 0xfe, 0x44, 0x00, 0x47, 0x39, 0x88, 0x01, 0x40, 0x48, + 0x08, 0x04, 0xd0, 0x5c, 0x20, 0xa6, 0x46, 0x89, 0x49, 0xfe, 0x44, 0x08, 0x47, 0xa6, 0x46, + 0x88, 0x48, 0xfe, 0x44, 0x00, 0x47, 0x3e, 0x80, 0xf0, 0xbd, 0xe8, 0x57, 0x08, 0x00, 0x6a, + 0x31, 0x19, 0x00, 0xc4, 0x61, 0x1a, 0x00, 0x57, 0x4a, 0x05, 0x00, 0x9e, 0x13, 0x08, 0x00, + 0x21, 0x99, 0x05, 0x00, 0x61, 0x48, 0x05, 0x00, 0xff, 0x48, 0x05, 0x00, 0x0c, 0x60, 0x1a, + 0x00, 0xdc, 0x09, 0x04, 0x00, 0x25, 0x0d, 0x04, 0x00, 0xf0, 0xb5, 0x94, 0xb0, 0x7b, 0x48, + 0x06, 0xc8, 0x6d, 0x46, 0x68, 0x46, 0x06, 0xc0, 0x7a, 0x48, 0x06, 0xc8, 0x02, 0xa8, 0x06, + 0xc0, 0x79, 0x48, 0x06, 0xc8, 0x04, 0xa8, 0x06, 0xc0, 0x78, 0x48, 0x06, 0xc8, 0x06, 0xa8, + 0x06, 0xc0, 0x77, 0x48, 0x06, 0xc8, 0x08, 0xa8, 0x06, 0xc0, 0x76, 0x48, 0x06, 0xc8, 0x0a, + 0xa8, 0x06, 0xc0, 0x75, 0x48, 0x06, 0xc8, 0x0c, 0xa8, 0x06, 0xc0, 0x74, 0x48, 0x06, 0xc8, + 0x0e, 0xa8, 0x06, 0xc0, 0x73, 0x48, 0x06, 0xc8, 0x10, 0xa8, 0x06, 0xc0, 0x72, 0x48, 0x06, + 0xc8, 0x12, 0xa8, 0x06, 0xc0, 0x0c, 0x20, 0x01, 0x1c, 0x71, 0x4e, 0x30, 0x1c, 0x48, 0x30, + 0x01, 0x24, 0xa6, 0x46, 0x72, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x10, 0x48, 0x00, 0x78, 0x00, + 0x28, 0x20, 0xd1, 0x03, 0x27, 0x39, 0x1c, 0x69, 0x48, 0xa6, 0x46, 0x6d, 0x4a, 0xfe, 0x44, + 0x10, 0x47, 0x35, 0x48, 0x39, 0x1c, 0xa6, 0x46, 0x6a, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x08, + 0x48, 0x00, 0x21, 0x0c, 0x22, 0xa6, 0x46, 0x04, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x2f, 0x48, + 0x02, 0x21, 0xa6, 0x46, + + 0x01, 0x05, 0xff, 0xff, 0xb8, 0x31, 0x18, 0x00, 0xfa, 0x40, 0x4a, 0xfe, 0x44, 0x10, 0x47, + 0x05, 0xe0, 0xd3, 0x48, 0x05, 0x00, 0x62, 0x56, 0x08, 0x00, 0x14, 0xf6, 0x1a, 0x00, 0x30, + 0x1c, 0x04, 0x21, 0xa6, 0x46, 0x3a, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x39, 0x48, 0x02, 0x21, + 0xa6, 0x46, 0x5a, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x55, 0x48, 0x0e, 0x99, 0x01, 0x60, 0xa9, + 0x8f, 0x81, 0x80, 0x10, 0x99, 0x81, 0x60, 0x11, 0xa9, 0x09, 0x88, 0x81, 0x81, 0x12, 0x99, + 0x01, 0x61, 0x13, 0xa9, 0x09, 0x88, 0x81, 0x82, 0x42, 0x21, 0x4e, 0x4d, 0x28, 0x1c, 0x60, + 0x30, 0x01, 0x60, 0x21, 0x1c, 0x28, 0x1c, 0xa6, 0x46, 0x4d, 0x4a, 0xfe, 0x44, 0x10, 0x47, + 0x28, 0x1c, 0xa0, 0x38, 0x00, 0x99, 0x01, 0x60, 0x01, 0x99, 0x41, 0x60, 0x02, 0x99, 0x81, + 0x60, 0x03, 0x99, 0xc1, 0x60, 0x04, 0x99, 0x01, 0x61, 0x05, 0x99, 0x41, 0x61, 0x06, 0x99, + 0x81, 0x62, 0x07, 0x99, 0xc1, 0x62, 0x08, 0x99, 0x81, 0x63, 0x09, 0x99, 0xc1, 0x63, 0x0a, + 0x99, 0x01, 0x65, 0x0b, 0x99, 0x41, 0x65, 0x0c, 0x99, 0x81, 0x66, 0x0d, 0x99, 0xc1, 0x66, + 0x28, 0x1c, 0x04, 0x30, 0x21, 0x1c, 0xa6, 0x46, 0x3a, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0xa6, + 0x46, 0x37, 0x48, 0xfe, 0x44, 0x00, 0x47, 0x14, 0xb0, 0xf0, 0xbd, 0xc0, 0x46, 0x1e, 0xf6, + 0x1a, 0x00, 0x2f, 0x0e, 0x04, 0x00, 0x6a, 0x12, 0x40, 0x00, 0x85, 0x12, 0x00, 0x00, 0x5c, + 0x7b, 0x1a, 0x00, 0x04, 0x09, 0x1a, 0x00, 0x24, 0x79, 0x1a, 0x00, 0x54, 0x7d, 0x1a, 0x00, + 0x2c, 0x7a, 0x1a, 0x00, 0x00, 0x74, 0x1a, 0x00, 0xdb, 0x4a, 0x05, 0x00, 0x08, 0x51, 0x08, + 0x00, 0x0c, 0x51, 0x08, 0x00, 0x0b, 0xd4, 0x04, 0x00, 0xf5, 0xd3, 0x04, 0x00, 0x89, 0x0b, + 0x18, 0x00, 0x80, 0x7b, + + 0x01, 0x05, 0xff, 0x9f, 0xb2, 0x32, 0x18, 0x00, 0x9a, 0x08, 0x00, 0x84, 0xf3, 0x1a, 0x00, + 0xb2, 0x50, 0x08, 0x00, 0x79, 0x48, 0x05, 0x00, 0x78, 0x61, 0x1a, 0x00, 0x65, 0x63, 0x08, + 0x00, 0x60, 0x63, 0x08, 0x00, 0xcc, 0x24, 0x08, 0x00, 0xc0, 0x63, 0x08, 0x00, 0xc1, 0x63, + 0x08, 0x00, 0xca, 0x63, 0x08, 0x00, 0xf4, 0x62, 0x08, 0x00, 0x36, 0xa0, 0x1b, 0x00, 0x68, + 0x63, 0x08, 0x00, 0x4c, 0x25, 0x08, 0x00, 0xc3, 0x63, 0x08, 0x00, 0x19, 0x31, 0x18, 0x00, + 0x00, 0x7c, 0x1a, 0x00, 0xf0, 0xff, 0xff, 0x00, 0x07, 0xff, 0x03, 0x00, 0xd7, 0xd3, 0x04, + 0x00, 0x1d, 0x2f, 0x18, 0x00, 0xe1, 0x04, 0x00, 0x00, 0xa4, 0x62, 0x08, 0x00, 0xac, 0x62, + 0x08, 0x00, 0xb4, 0x62, 0x08, 0x00, 0xbc, 0x62, 0x08, 0x00, 0xc4, 0x62, 0x08, 0x00, 0xcc, + 0x62, 0x08, 0x00, 0xd4, 0x62, 0x08, 0x00, 0xdc, 0x62, 0x08, 0x00, 0xe4, 0x62, 0x08, 0x00, + 0xec, 0x62, 0x08, 0x00, 0x08, 0xf0, 0x1a, 0x00, 0x10, 0x60, 0x1a, 0x00, 0x98, 0x0b, 0x1a, + 0x00, 0xa0, 0x09, 0x1a, 0x00, 0xd1, 0x2d, 0x18, 0x00, 0x61, 0x48, 0x05, 0x00, + + 0x01, 0x05, 0xff, 0xff, 0xfc, 0x08, 0x18, 0x00, 0xfa, 0xf0, 0xb5, 0xd6, 0x49, 0x0d, 0x78, + 0x14, 0x2d, 0x2c, 0xda, 0xd8, 0x4c, 0x26, 0x1c, 0x30, 0x3e, 0x68, 0x1c, 0x00, 0x06, 0x00, + 0x0e, 0x30, 0x70, 0xd1, 0x4b, 0xaa, 0x00, 0xd1, 0x4f, 0x9f, 0x50, 0x14, 0x28, 0x18, 0xda, + 0xaa, 0x1c, 0x12, 0x06, 0x12, 0x0e, 0x72, 0x70, 0x80, 0x00, 0xce, 0x4e, 0x1e, 0x50, 0x14, + 0x2a, 0x08, 0xda, 0xe8, 0x1c, 0x20, 0x70, 0x90, 0x00, 0xcc, 0x4a, 0x1a, 0x50, 0x08, 0x78, + 0x03, 0x30, 0x08, 0x70, 0xf0, 0xbd, 0x0a, 0x70, 0x01, 0x20, 0x86, 0x46, 0xc9, 0x48, 0xfe, + 0x44, 0x00, 0x47, 0xfe, 0xe7, 0x08, 0x70, 0x01, 0x20, 0x86, 0x46, 0xc5, 0x48, 0xfe, 0x44, + 0x00, 0x47, 0xfe, 0xe7, 0x01, 0x20, 0x86, 0x46, 0xc2, 0x48, 0xfe, 0x44, 0x00, 0x47, 0xfe, + 0xe7, 0xf8, 0xb5, 0x00, 0x90, 0xc5, 0x7a, 0xc0, 0x49, 0x0d, 0x70, 0x02, 0x7b, 0xbf, 0x49, + 0x0a, 0x70, 0xbf, 0x49, 0x04, 0x1c, 0x63, 0x7b, 0x0b, 0x70, 0xbe, 0x48, 0xa4, 0x7b, 0x04, + 0x70, 0xc7, 0x4e, 0x00, 0x2d, 0x00, 0xd0, 0xba, 0xe0, 0xc0, 0x4a, 0x15, 0x1c, 0x8c, 0x3d, + 0xca, 0x4f, 0xbf, 0x0b, 0x01, 0x24, 0xa6, 0x46, 0xb8, 0x48, 0xfe, 0x44, 0x00, 0x47, 0x29, + 0x88, 0x01, 0x40, 0x48, 0x08, 0x05, 0xd0, 0x38, 0x1c, 0x41, 0x1e, 0x0f, 0x04, 0x3f, 0x0c, + 0x00, 0x28, 0xf0, 0xd1, 0xa6, 0x46, 0xb1, 0x48, 0xfe, 0x44, 0x00, 0x47, 0x29, 0x88, 0x01, + 0x40, 0x48, 0x08, 0x04, 0xd0, 0x58, 0x20, 0xa6, 0x46, 0xae, 0x49, 0xfe, 0x44, 0x08, 0x47, + 0xaa, 0x48, 0x00, 0x78, 0xac, 0x4f, 0x01, 0x28, 0x32, 0xd0, 0x00, 0x20, 0x01, 0x1c, 0x0c, + 0x20, 0x02, 0x1c, 0x38, 0x1c, 0xa6, 0x46, 0xa9, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0xa8, 0x48, + 0x00, 0x21, 0x08, 0x22, + + 0x01, 0x05, 0xff, 0xff, 0xf6, 0x09, 0x18, 0x00, 0xfa, 0xa6, 0x46, 0xa7, 0x4b, 0xfe, 0x44, + 0x18, 0x47, 0xa5, 0x4f, 0x24, 0x37, 0x38, 0x1c, 0x21, 0x1c, 0x0c, 0x22, 0xa6, 0x46, 0xa4, + 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x07, 0x20, 0x01, 0x1c, 0x20, 0x1c, 0xa6, 0x46, 0xa1, 0x4a, + 0xfe, 0x44, 0x10, 0x47, 0x14, 0x20, 0xa6, 0x46, 0xa0, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x07, + 0x20, 0xa6, 0x46, 0x9f, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x30, 0x70, 0x38, 0x1c, 0x00, 0x21, + 0x0c, 0x22, 0xa6, 0x46, 0x97, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x59, 0xe0, 0x38, 0x1c, 0x00, + 0x21, 0x08, 0x22, 0xa6, 0x46, 0x90, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x38, 0x1c, 0x00, 0x21, + 0x0c, 0x22, 0xa6, 0x46, 0x8d, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x8c, 0x48, 0x00, 0x21, 0x0a, + 0x1c, 0xa6, 0x46, 0x8b, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x89, 0x48, 0x00, 0x21, 0x08, 0x22, + 0xa6, 0x46, 0x88, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x03, 0x20, 0x02, 0x1c, 0x84, 0x48, 0x02, + 0x21, 0xa6, 0x46, 0x85, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x0b, 0x20, 0x02, 0x1c, 0x80, 0x48, + 0x21, 0x1c, 0x8e, 0x46, 0x81, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x20, 0x1c, 0x06, 0x21, 0xa6, + 0x46, 0x7f, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x07, 0x27, 0x39, 0x1c, 0x20, 0x1c, 0xa6, 0x46, + 0x7b, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x14, 0x20, 0xa6, 0x46, 0x7a, 0x49, 0xfe, 0x44, 0x08, + 0x47, 0x38, 0x1c, 0xa6, 0x46, 0x79, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x07, 0x1c, 0x06, 0x20, + 0xa6, 0x46, 0x76, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x40, 0x00, 0x38, 0x43, 0x30, 0x70, 0x6d, + 0x48, 0x00, 0x21, 0x03, 0x22, 0xa6, 0x46, 0x6d, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x6a, 0x48, + 0x00, 0x21, 0x0b, 0x22, + + 0x01, 0x05, 0xff, 0xff, 0xf0, 0x0a, 0x18, 0x00, 0xfa, 0xa6, 0x46, 0x6a, 0x4b, 0xfe, 0x44, + 0x18, 0x47, 0x00, 0x20, 0x28, 0x80, 0x5f, 0x48, 0x03, 0x78, 0x5f, 0x48, 0x04, 0x78, 0x32, + 0x78, 0x00, 0xe0, 0x32, 0x70, 0x00, 0x98, 0xc0, 0x7b, 0x01, 0x2c, 0x26, 0xd1, 0x00, 0x2b, + 0x0d, 0xd1, 0x10, 0x1c, 0x09, 0xd0, 0x01, 0x38, 0x05, 0xd0, 0x01, 0x38, 0x01, 0xd0, 0x06, + 0x21, 0x16, 0xe0, 0x04, 0x21, 0x14, 0xe0, 0x02, 0x21, 0x12, 0xe0, 0x00, 0x21, 0x10, 0xe0, + 0x10, 0x1c, 0x0d, 0xd0, 0x01, 0x38, 0x09, 0xd0, 0x01, 0x38, 0x05, 0xd0, 0x01, 0x38, 0x01, + 0xd0, 0x10, 0x21, 0x06, 0xe0, 0x0e, 0x21, 0x04, 0xe0, 0x0c, 0x21, 0x02, 0xe0, 0x0a, 0x21, + 0x00, 0xe0, 0x08, 0x21, 0x00, 0x98, 0x08, 0x18, 0xc1, 0x7b, 0x55, 0x4b, 0x19, 0x70, 0x00, + 0x7c, 0x54, 0x4d, 0x28, 0x70, 0x54, 0x48, 0x11, 0x04, 0x09, 0x0c, 0x0c, 0x22, 0x01, 0x24, + 0xa6, 0x46, 0x47, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x32, 0x78, 0x2b, 0x78, 0x03, 0x20, 0x4f, + 0x49, 0xa6, 0x46, 0x4f, 0x4c, 0xfe, 0x44, 0x20, 0x47, 0xf8, 0xbd, 0x70, 0xb5, 0x00, 0x20, + 0x62, 0x49, 0x08, 0x70, 0x62, 0x49, 0xf7, 0x22, 0x0a, 0x70, 0xff, 0x22, 0x4a, 0x70, 0x8a, + 0x70, 0x7f, 0x22, 0xca, 0x70, 0x2e, 0x4b, 0x19, 0x1f, 0x48, 0x4a, 0x11, 0x60, 0x48, 0x49, + 0x08, 0x70, 0x5c, 0x49, 0x08, 0x70, 0x5c, 0x49, 0x08, 0x70, 0x46, 0x49, 0x08, 0x70, 0x47, + 0x48, 0x04, 0x1c, 0x71, 0x3c, 0x01, 0x22, 0x22, 0x70, 0x44, 0x49, 0x19, 0x60, 0x02, 0x21, + 0x01, 0x70, 0x44, 0x49, 0x59, 0x60, 0x03, 0x21, 0x21, 0x71, 0x43, 0x49, 0x99, 0x60, 0x01, + 0x1c, 0x33, 0x39, 0x04, 0x25, 0x0d, 0x70, 0x41, 0x4d, 0xdd, 0x60, 0x05, 0x25, 0xcd, 0x73, + 0x40, 0x49, 0x19, 0x61, + + 0x01, 0x05, 0xff, 0xff, 0xea, 0x0b, 0x18, 0x00, 0xfa, 0x06, 0x21, 0xa1, 0x71, 0x3f, 0x49, + 0x59, 0x61, 0x07, 0x21, 0xe1, 0x71, 0xe5, 0x1d, 0x3d, 0x49, 0x99, 0x61, 0x08, 0x26, 0x01, + 0x1c, 0x48, 0x39, 0x0e, 0x70, 0x3b, 0x49, 0xd9, 0x61, 0x09, 0x21, 0x69, 0x77, 0x3a, 0x49, + 0x19, 0x62, 0x0a, 0x21, 0x0d, 0x19, 0x29, 0x70, 0x39, 0x49, 0x59, 0x62, 0x0b, 0x21, 0xe9, + 0x75, 0x38, 0x49, 0x99, 0x62, 0x1b, 0x21, 0x09, 0x19, 0x0c, 0x25, 0x0d, 0x70, 0x36, 0x4d, + 0xdd, 0x62, 0x0d, 0x25, 0x65, 0x73, 0x35, 0x4c, 0x1c, 0x63, 0x0e, 0x24, 0x4c, 0x77, 0x34, + 0x49, 0x59, 0x63, 0x0f, 0x21, 0x21, 0x30, 0x01, 0x70, 0x32, 0x48, 0x98, 0x63, 0x03, 0x48, + 0x01, 0x70, 0x96, 0x46, 0x31, 0x48, 0xfe, 0x44, 0x00, 0x47, 0x70, 0xbd, 0xc0, 0x46, 0x64, + 0x63, 0x08, 0x00, 0x6c, 0x63, 0x08, 0x00, 0x2b, 0x79, 0x08, 0x00, 0x35, 0x79, 0x08, 0x00, + 0xfb, 0x53, 0x08, 0x00, 0x21, 0x79, 0x08, 0x00, 0xb1, 0x04, 0x18, 0x00, 0xc2, 0x63, 0x08, + 0x00, 0xc5, 0x63, 0x08, 0x00, 0xc4, 0x63, 0x08, 0x00, 0xc6, 0x63, 0x08, 0x00, 0x07, 0xff, + 0x03, 0x00, 0xd7, 0xd3, 0x04, 0x00, 0x16, 0xf6, 0x1a, 0x00, 0xd3, 0x48, 0x05, 0x00, 0x8c, + 0x7c, 0x1a, 0x00, 0xa7, 0x48, 0x05, 0x00, 0x91, 0x48, 0x05, 0x00, 0x21, 0x99, 0x05, 0x00, + 0xbb, 0x16, 0x04, 0x00, 0xc3, 0x63, 0x08, 0x00, 0x67, 0x99, 0x05, 0x00, 0xc0, 0x63, 0x08, + 0x00, 0xc1, 0x63, 0x08, 0x00, 0x08, 0x31, 0x19, 0x00, 0xae, 0x05, 0x00, 0x00, 0x0b, 0xd4, + 0x04, 0x00, 0xff, 0xff, 0xff, 0x1f, 0x88, 0x53, 0x08, 0x00, 0x66, 0x63, 0x08, 0x00, 0x67, + 0x63, 0x08, 0x00, 0xc7, 0x78, 0x08, 0x00, 0xfd, 0x53, 0x08, 0x00, 0x0d, 0x79, 0x08, 0x00, + 0x17, 0x79, 0x08, 0x00, + + 0x01, 0x05, 0xff, 0x79, 0xe4, 0x0c, 0x18, 0x00, 0x74, 0x5d, 0x79, 0x08, 0x00, 0x67, 0x79, + 0x08, 0x00, 0x53, 0x79, 0x08, 0x00, 0x3f, 0x79, 0x08, 0x00, 0x49, 0x79, 0x08, 0x00, 0xd1, + 0x78, 0x08, 0x00, 0xdb, 0x78, 0x08, 0x00, 0xbd, 0x78, 0x08, 0x00, 0x03, 0x79, 0x08, 0x00, + 0xe5, 0x78, 0x08, 0x00, 0xef, 0x78, 0x08, 0x00, 0xf9, 0x78, 0x08, 0x00, 0xfd, 0x08, 0x18, + 0x00, 0xc9, 0x63, 0x08, 0x00, 0xbc, 0x63, 0x08, 0x00, 0xc8, 0x63, 0x08, 0x00, 0x5c, 0x63, + 0x08, 0x00, 0x10, 0xb5, 0x01, 0x24, 0xa6, 0x46, 0x06, 0x48, 0xfe, 0x44, 0x00, 0x47, 0x08, + 0x20, 0x06, 0x49, 0x04, 0x22, 0x04, 0x4b, 0xa6, 0x46, 0x05, 0x4c, 0xfe, 0x44, 0x20, 0x47, + 0x10, 0xbd, 0xc0, 0x46, 0xa5, 0x2f, 0x18, 0x00, 0xd0, 0x2d, 0x18, 0x00, 0x0c, 0x04, 0x00, + 0x00, 0xd1, 0x5e, 0x04, 0x00, + + 0x01, 0x83, 0xff, 0x14, 0x79, 0x7b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + + // + // + 0x01, 0xdc, 0xfd, 0x05, 0x00, 0x00, 0x00, 0x00, 0x12, + + 0x01, 0x0f, 0xfd, 0x01, 0x01, + + 0x01, 0x1c, 0xfd, 0x14, 0xff, 0x88, 0x13, 0x00, 0x00, 0xd0, 0x07, 0x00, 0x00, 0xff, 0xff, + 0x01, 0xff, 0xff, 0xff, 0xfa, 0x01, 0x00, 0x00, 0x00, + + 0x01, 0x1c, 0xfd, 0x14, 0xff, 0x88, 0x13, 0x00, 0x00, 0xd0, 0x07, 0x00, 0x00, 0xff, 0xff, + 0x01, 0xff, 0xff, 0xff, 0xfa, 0x00, 0x00, 0x00, 0x00, + + 0x01, 0x58, 0xfd, 0x21, 0x01, 0xc4, 0xc4, 0xc4, 0xe2, 0xe2, 0xe2, 0xf1, 0xec, 0xab, 0x00, + 0x00, 0x00, 0x00, 0x03, 0x14, 0x0a, 0x90, 0x00, 0x90, 0x00, 0x3c, 0x0a, 0x32, 0x02, 0x01, + 0x01, 0x01, 0x03, 0xf6, 0xec, 0xf6, 0xec, + + 0x01, 0x09, 0xfd, 0x08, 0x7e, 0x7c, 0x1a, 0x00, 0x10, 0x00, 0x10, 0x00, + + // + // + // ##-------------------------------------------------------------------------------- + // ## Description: QRCA_L_TRIOL PHY FW Initialization Script + // ## Version: 3.17_3 (based on ROM version) + // ##-------------------------------------------------------------------------------- + 0x01, 0x01, 0xff, 0x06, 0xc6, 0x32, 0x19, 0x00, 0x10, 0x10, + + 0x01, 0x01, 0xff, 0x06, 0x60, 0x32, 0x19, 0x00, 0x32, 0x10, + + 0x01, 0x82, 0xfd, 0x14, 0x00, 0x9c, 0x18, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xdc, + 0xe6, 0xf0, 0xfa, 0x04, 0x0e, 0x18, 0xff, 0x00, 0x00, + + 0x01, 0x82, 0xfd, 0x14, 0x01, 0x9c, 0xce, 0xce, 0xce, 0xce, 0xce, 0xce, 0xce, 0xce, 0xd8, + 0xe2, 0xec, 0xf6, 0x00, 0x0a, 0x14, 0xff, 0x00, 0x00, + + 0x01, 0x82, 0xfd, 0x14, 0x02, 0x9c, 0xce, 0xce, 0xce, 0xce, 0xce, 0xce, 0xce, 0xce, 0xd8, + 0xe2, 0xec, 0xf6, 0x00, 0x0a, 0x14, 0xff, 0x00, 0x00, + + 0x01, 0x87, 0xfd, 0x03, 0x0d, 0x0d, 0x0d, + + 0x01, 0x76, 0xfd, 0x31, 0x01, 0x21, 0x54, 0x00, 0x00, 0x61, 0x57, 0x00, 0x00, 0x14, 0x05, + 0x0a, 0x05, 0x00, 0x07, 0x06, 0x0a, 0x04, 0x05, 0x08, 0x09, 0x0b, 0x0c, 0x0d, 0x0e, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, + + 0x01, 0x80, 0xfd, 0x06, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, + + 0x01, 0x80, 0xfd, 0x06, 0x3c, 0xf0, 0x5f, 0x00, 0x00, 0x00, + + // + // + // + 0x01, 0x38, 0xfe, 0x00, + + // + // #-------------------------------------------------------------------------------- + // # Description: BLE FW Initialization Script + // # + // # Compatibility: BL6450L, WL127x , WL128x, NL5500L + // # + // # Last Updated: 12-Mar-2012 19:04:40.59 + // # + // # Version: 1.2 + // # + // #-------------------------------------------------------------------------------- + // + // + // #LE Enable + 0x01, 0x5b, 0xfd, 0x02, 0x01, 0x01, + + // + // # Disable Cortex Sleep + 0x01, 0xa8, 0xfd, 0x01, 0x01, + + // + // + // # Cortex Reset (hold in reset while loading IMEM) + 0x01, 0x09, 0xfd, 0x08, 0x00, 0xc0, 0x1b, 0x00, 0x01, 0x00, 0x01, 0x00, + + // ######################## + // # Patch Start + // ######################## + // + 0x01, 0x05, 0xff, 0x19, 0xbc, 0x00, 0x1b, 0x00, 0x14, 0x37, 0x83, 0x49, 0x00, 0x01, 0xa0, + 0x40, 0x5a, 0x78, 0x44, 0x87, 0x46, 0xe8, 0x05, 0xc8, 0x05, 0x62, 0x06, 0x3c, 0x05, + + 0x01, 0x05, 0xff, 0x09, 0xfc, 0x00, 0x1b, 0x00, 0x04, 0x28, 0x46, 0x15, 0xe3, + + 0x01, 0x05, 0xff, 0x09, 0x34, 0x01, 0x1b, 0x00, 0x04, 0xfa, 0xe2, 0x40, 0xf6, + + 0x01, 0x05, 0xff, 0x09, 0x68, 0x01, 0x1b, 0x00, 0x04, 0x00, 0x20, 0xdf, 0xe2, + + 0x01, 0x05, 0xff, 0x09, 0xb0, 0x02, 0x1b, 0x00, 0x04, 0x00, 0x20, 0x3b, 0xe2, + + 0x01, 0x05, 0xff, 0x0d, 0xb4, 0x03, 0x1b, 0x00, 0x08, 0x01, 0x22, 0x00, 0x21, 0xe8, 0x7d, + 0x0b, 0x46, + + 0x01, 0x05, 0xff, 0x0d, 0xe0, 0x03, 0x1b, 0x00, 0x08, 0x53, 0x5c, 0x01, 0x22, 0x02, 0x21, + 0x00, 0xf0, + + 0x01, 0x05, 0xff, 0x09, 0x1c, 0x04, 0x1b, 0x00, 0x04, 0xcd, 0xfd, 0x85, 0xe1, + + 0x01, 0x05, 0xff, 0x09, 0x4c, 0x04, 0x1b, 0x00, 0x04, 0x00, 0xf0, 0x6e, 0x81, + + 0x01, 0x05, 0xff, 0x09, 0x34, 0x05, 0x1b, 0x00, 0x04, 0xc0, 0xf0, 0xfa, 0x80, + + 0x01, 0x05, 0xff, 0x09, 0x50, 0x05, 0x1b, 0x00, 0x04, 0xec, 0xe0, 0x04, 0xf0, + + 0x01, 0x05, 0xff, 0x09, 0xa8, 0x05, 0x1b, 0x00, 0x04, 0xcb, 0xff, 0xbf, 0xe0, + + 0x01, 0x05, 0xff, 0x0d, 0xfc, 0x05, 0x1b, 0x00, 0x08, 0x40, 0xf0, 0x88, 0x80, 0x00, 0x20, + 0x93, 0xe0, + + 0x01, 0x05, 0xff, 0x09, 0x3c, 0x06, 0x1b, 0x00, 0x04, 0x76, 0xe0, 0x94, 0xf8, + + 0x01, 0x05, 0xff, 0x09, 0x8c, 0x06, 0x1b, 0x00, 0x04, 0x23, 0x60, 0x4d, 0xe0, + + 0x01, 0x05, 0xff, 0xb9, 0xb8, 0x06, 0x1b, 0x00, 0xb4, 0x94, 0xf8, 0x34, 0x20, 0xc2, 0xf2, + 0x00, 0x05, 0xa7, 0x8c, 0x01, 0x11, 0x92, 0x1c, 0xab, 0x89, 0x01, 0xf0, 0x0f, 0x01, 0x94, + 0xf8, 0x33, 0x00, 0x62, 0xf3, 0x09, 0x03, 0x2f, 0x81, 0xab, 0x81, 0x04, 0xf0, 0xf4, 0xfa, + 0x00, 0x21, 0x94, 0xf8, 0x33, 0x00, 0x0a, 0x46, 0x04, 0xf0, 0xb4, 0xfd, 0x94, 0xf8, 0x33, + 0x00, 0x4f, 0xf0, 0x03, 0x0a, 0xc4, 0xf8, 0x00, 0xa0, 0x06, 0xeb, 0x40, 0x01, 0xb1, 0xf8, + 0x14, 0x06, 0x40, 0x1c, 0xa1, 0xf8, 0x14, 0x06, 0x96, 0xf8, 0x46, 0x06, 0x00, 0x28, 0x08, + 0xbf, 0x00, 0x20, 0x0e, 0xd0, 0x09, 0x21, 0x40, 0xf6, 0x6a, 0x20, 0xc2, 0xf2, 0x32, 0x00, + 0x05, 0xf0, 0x85, 0xff, 0x40, 0xf6, 0x6a, 0x20, 0x02, 0x21, 0xc2, 0xf2, 0x32, 0x00, 0x05, + 0xf0, 0x85, 0xff, 0x00, 0x20, 0x06, 0xb0, 0xbd, 0xe8, 0xf0, 0x87, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2d, 0xe9, 0xf8, + 0x43, 0x40, 0xf2, 0xf8, 0x54, 0xc2, 0xf2, 0x00, 0x04, 0x27, 0x88, 0x0d, 0x46, 0x04, 0x46, + 0x79, 0x08, 0x40, 0xf2, 0x00, 0x07, 0x16, 0x46, 0x98, 0x46, 0x0a, 0xd3, 0x01, 0x46, 0x4f, + 0xf4, 0xe2, 0x70, 0x13, 0x46, 0x2a, 0x46, 0xcd, 0xf8, + + 0x01, 0x05, 0xff, 0xcd, 0x84, 0x07, 0x1b, 0x00, 0xc8, 0x00, 0xf0, 0x1b, 0x82, 0x0e, 0x2c, + 0x00, 0xf0, 0xa6, 0x81, 0x11, 0x2c, 0x00, 0xf0, 0xa0, 0x81, 0x97, 0xf8, 0x48, 0x26, 0x4f, + 0xf0, 0x01, 0x09, 0x09, 0xfa, 0x04, 0xf1, 0x11, 0x40, 0x31, 0x43, 0x4f, 0xf0, 0x00, 0x06, + 0x18, 0xbf, 0x4e, 0x46, 0x01, 0x2d, 0x18, 0xbf, 0x02, 0x2d, 0x72, 0xd1, 0x97, 0xf8, 0x47, + 0x16, 0x00, 0x29, 0x6e, 0xd1, 0x47, 0xf6, 0x0e, 0x50, 0xc2, 0xf2, 0x32, 0x00, 0x41, 0xf6, + 0x44, 0x41, 0x80, 0xf8, 0x00, 0x80, 0xc2, 0xf2, 0x00, 0x01, 0x09, 0x88, 0x19, 0xb9, 0x0b, + 0x21, 0x05, 0xf0, 0x2d, 0xff, 0x02, 0xe0, 0x0b, 0x21, 0x05, 0xf0, 0x22, 0xff, 0x46, 0xf6, + 0x78, 0x68, 0xc0, 0xf2, 0x00, 0x08, 0x41, 0xf6, 0x28, 0x47, 0x18, 0xf8, 0x04, 0x00, 0xc2, + 0xf2, 0x00, 0x07, 0x6e, 0xb9, 0x10, 0x38, 0xc1, 0xb2, 0x47, 0xf6, 0x4c, 0x70, 0xc2, 0xf2, + 0x32, 0x00, 0x05, 0xf0, 0x16, 0xff, 0x18, 0xf8, 0x04, 0x00, 0x10, 0x38, 0xc4, 0xb2, 0xb8, + 0x7f, 0x09, 0xe0, 0x10, 0x38, 0xc4, 0xb2, 0x47, 0xf6, 0x4c, 0x70, 0x21, 0x46, 0xc2, 0xf2, + 0x32, 0x00, 0x05, 0xf0, 0x00, 0xff, 0xb8, 0x7f, 0x38, 0xb9, 0x47, 0xf6, 0x48, 0x70, 0xc2, + 0xf2, 0x32, 0x00, 0x21, 0x46, 0x05, 0xf0, 0xfe, 0xfe, 0x06, 0xe0, 0x21, 0x46, 0x47, 0xf6, + 0x48, 0x70, 0xc2, 0xf2, 0x32, 0x00, 0x05, 0xf0, 0xef, 0xfe, 0x02, 0x2d, 0x0e, 0xd0, + + 0x01, 0x05, 0xff, 0xcd, 0x4c, 0x08, 0x1b, 0x00, 0xc8, 0x40, 0xf6, 0x6a, 0x20, 0xc2, 0xf2, + 0x32, 0x00, 0x09, 0x21, 0x05, 0xf0, 0xed, 0xfe, 0x40, 0xf6, 0x6a, 0x20, 0x02, 0x21, 0xc2, + 0xf2, 0x32, 0x00, 0x05, 0xf0, 0xe6, 0xfe, 0x0d, 0xe0, 0x09, 0x21, 0x40, 0xf6, 0x6a, 0x20, + 0xc2, 0xf2, 0x32, 0x00, 0x05, 0xf0, 0xd7, 0xfe, 0x40, 0xf6, 0x6a, 0x20, 0x02, 0x21, 0xc2, + 0xf2, 0x32, 0x00, 0x05, 0xf0, 0xd7, 0xfe, 0x40, 0xf6, 0x6a, 0x20, 0xc2, 0xf2, 0x32, 0x00, + 0x07, 0x21, 0x05, 0xf0, 0xc9, 0xfe, 0x48, 0x46, 0xbd, 0xe8, 0xf8, 0x83, 0x0f, 0x2c, 0x08, + 0xbf, 0x05, 0x24, 0x11, 0xd0, 0x10, 0x2c, 0x08, 0xbf, 0x06, 0x24, 0x0d, 0xd0, 0x03, 0x2c, + 0x0b, 0xd9, 0x0e, 0x2c, 0x09, 0xd2, 0x24, 0x1f, 0x0c, 0x22, 0xe1, 0xb2, 0x47, 0xf6, 0x0e, + 0x50, 0xc2, 0xf2, 0x32, 0x00, 0x05, 0xf0, 0x55, 0xfe, 0x04, 0x24, 0x00, 0x2d, 0x00, 0xf0, + 0xb6, 0x80, 0xed, 0x1e, 0x47, 0xd0, 0x6d, 0x1e, 0x40, 0xf0, 0xff, 0x80, 0x40, 0xf6, 0x6a, + 0x20, 0xc2, 0xf2, 0x32, 0x00, 0x09, 0x21, 0x05, 0xf0, 0xa8, 0xfe, 0x40, 0xf6, 0x6a, 0x20, + 0x02, 0x21, 0xc2, 0xf2, 0x32, 0x00, 0x05, 0xf0, 0xa1, 0xfe, 0x40, 0xf6, 0x6a, 0x20, 0x07, + 0x21, 0xc2, 0xf2, 0x32, 0x00, 0x05, 0xf0, 0x9a, 0xfe, 0x40, 0xf6, 0x6a, 0x20, 0x02, 0x21, + 0xc2, 0xf2, 0x32, 0x00, 0x05, 0xf0, 0x93, 0xfe, 0x40, 0xf6, 0x6a, 0x20, 0x08, 0x21, + + 0x01, 0x05, 0xff, 0xcd, 0x14, 0x09, 0x1b, 0x00, 0xc8, 0xc2, 0xf2, 0x32, 0x00, 0x05, 0xf0, + 0x85, 0xfe, 0x40, 0xf6, 0x6a, 0x20, 0x06, 0x21, 0xc2, 0xf2, 0x32, 0x00, 0x05, 0xf0, 0x7e, + 0xfe, 0x97, 0xf8, 0x47, 0x06, 0x00, 0x28, 0x40, 0xf0, 0xd0, 0x80, 0x46, 0xf6, 0x78, 0x60, + 0xc0, 0xf2, 0x00, 0x00, 0x00, 0x5d, 0x10, 0x38, 0xc1, 0xb2, 0x47, 0xf6, 0x44, 0x70, 0xc2, + 0xf2, 0x32, 0x00, 0x05, 0xf0, 0x6c, 0xfe, 0x47, 0xf6, 0x0e, 0x51, 0x48, 0x46, 0xc2, 0xf2, + 0x32, 0x01, 0x81, 0xf8, 0x00, 0x80, 0xbd, 0xe8, 0xf8, 0x83, 0x97, 0xf8, 0x47, 0x06, 0x00, + 0x28, 0x37, 0xd1, 0x47, 0xf6, 0x4c, 0x70, 0xc2, 0xf2, 0x32, 0x00, 0x47, 0xf6, 0x60, 0x01, + 0x05, 0xf0, 0x73, 0xfe, 0x47, 0xf6, 0x44, 0x70, 0x47, 0xf6, 0x60, 0x01, 0xc2, 0xf2, 0x32, + 0x00, 0x05, 0xf0, 0x6b, 0xfe, 0x41, 0xf6, 0x46, 0x40, 0xc2, 0xf2, 0x00, 0x00, 0x00, 0x78, + 0x08, 0xbb, 0x46, 0xf6, 0x78, 0x60, 0xc0, 0xf2, 0x00, 0x00, 0x00, 0x5d, 0x10, 0x38, 0xc1, + 0xb2, 0x47, 0xf6, 0x48, 0x70, 0xc2, 0xf2, 0x32, 0x00, 0x05, 0xf0, 0x43, 0xfe, 0x97, 0xf8, + 0x4a, 0x06, 0x06, 0x21, 0x04, 0x28, 0x09, 0xd0, 0x01, 0x28, 0x0d, 0xd1, 0x47, 0xf6, 0x40, + 0x40, 0xc2, 0xf2, 0x32, 0x00, 0x06, 0x21, 0x05, 0xf0, 0x2e, 0xfe, 0x05, 0xe0, 0x47, 0xf6, + 0x70, 0x40, 0xc2, 0xf2, 0x32, 0x00, 0x05, 0xf0, 0x27, 0xfe, 0x40, 0xf6, 0x6a, 0x20, + + 0x01, 0x05, 0xff, 0xcd, 0xdc, 0x09, 0x1b, 0x00, 0xc8, 0xc2, 0xf2, 0x32, 0x00, 0x09, 0x21, + 0x05, 0xf0, 0x27, 0xfe, 0x40, 0xf6, 0x6a, 0x20, 0x02, 0x21, 0xc2, 0xf2, 0x32, 0x00, 0x05, + 0xf0, 0x20, 0xfe, 0x40, 0xf6, 0x6a, 0x20, 0x07, 0x21, 0xc2, 0xf2, 0x32, 0x00, 0x05, 0xf0, + 0x19, 0xfe, 0x0a, 0x20, 0x04, 0xf0, 0x84, 0xfe, 0x40, 0xf6, 0x6a, 0x20, 0x02, 0x21, 0xc2, + 0xf2, 0x32, 0x00, 0x05, 0xf0, 0x08, 0xfe, 0x40, 0xf6, 0x6a, 0x20, 0x08, 0x21, 0xc2, 0xf2, + 0x32, 0x00, 0x05, 0xf0, 0x08, 0xfe, 0x40, 0xf6, 0x6a, 0x20, 0x06, 0x21, 0xc2, 0xf2, 0x32, + 0x00, 0x05, 0xf0, 0x01, 0xfe, 0x48, 0x46, 0xbd, 0xe8, 0xf8, 0x83, 0x97, 0xf8, 0x47, 0x06, + 0x46, 0xf6, 0x78, 0x65, 0xc0, 0xf2, 0x00, 0x05, 0x00, 0x28, 0x30, 0xd1, 0x28, 0x5d, 0x86, + 0xb9, 0x10, 0x38, 0xc1, 0xb2, 0x47, 0xf6, 0x4c, 0x70, 0xc2, 0xf2, 0x32, 0x00, 0x05, 0xf0, + 0xec, 0xfd, 0x28, 0x5d, 0x10, 0x38, 0xc4, 0xb2, 0x41, 0xf6, 0x46, 0x40, 0xc2, 0xf2, 0x00, + 0x00, 0x00, 0x78, 0x0d, 0xe0, 0x10, 0x38, 0xc4, 0xb2, 0x47, 0xf6, 0x4c, 0x70, 0x21, 0x46, + 0xc2, 0xf2, 0x32, 0x00, 0x05, 0xf0, 0xd3, 0xfd, 0x41, 0xf6, 0x46, 0x40, 0xc2, 0xf2, 0x00, + 0x00, 0x00, 0x78, 0x38, 0xb9, 0x47, 0xf6, 0x48, 0x70, 0xc2, 0xf2, 0x32, 0x00, 0x21, 0x46, + 0x05, 0xf0, 0xcd, 0xfd, 0x06, 0xe0, 0x21, 0x46, 0x47, 0xf6, 0x48, 0x70, 0xc2, 0xf2, + + 0x01, 0x05, 0xff, 0xcd, 0xa4, 0x0a, 0x1b, 0x00, 0xc8, 0x32, 0x00, 0x05, 0xf0, 0xbe, 0xfd, + 0x40, 0xf6, 0x6a, 0x20, 0xc2, 0xf2, 0x32, 0x00, 0x09, 0x21, 0x05, 0xf0, 0xbe, 0xfd, 0x40, + 0xf6, 0x6a, 0x20, 0x02, 0x21, 0xc2, 0xf2, 0x32, 0x00, 0x05, 0xf0, 0xb7, 0xfd, 0x40, 0xf6, + 0x6a, 0x20, 0x07, 0x21, 0xc2, 0xf2, 0x32, 0x00, 0x05, 0xf0, 0xb0, 0xfd, 0x01, 0x20, 0xbd, + 0xe8, 0xf8, 0x83, 0x97, 0xf8, 0x47, 0x06, 0x58, 0xbb, 0x47, 0xf6, 0x4c, 0x70, 0xc2, 0xf2, + 0x32, 0x00, 0x47, 0xf6, 0x60, 0x01, 0x05, 0xf0, 0xb7, 0xfd, 0x47, 0xf6, 0x44, 0x70, 0x47, + 0xf6, 0x60, 0x01, 0xc2, 0xf2, 0x32, 0x00, 0x05, 0xf0, 0xaf, 0xfd, 0x47, 0xf6, 0x0e, 0x50, + 0x0b, 0x21, 0xc2, 0xf2, 0x32, 0x00, 0x05, 0xf0, 0x93, 0xfd, 0x97, 0xf8, 0x4a, 0x06, 0x06, + 0x21, 0x04, 0x28, 0x09, 0xd0, 0x01, 0x28, 0x0d, 0xd1, 0x47, 0xf6, 0x40, 0x40, 0xc2, 0xf2, + 0x32, 0x00, 0x06, 0x21, 0x05, 0xf0, 0x7e, 0xfd, 0x05, 0xe0, 0x47, 0xf6, 0x70, 0x40, 0xc2, + 0xf2, 0x32, 0x00, 0x05, 0xf0, 0x77, 0xfd, 0x40, 0xf6, 0x6a, 0x20, 0xc2, 0xf2, 0x32, 0x00, + 0x09, 0x21, 0x05, 0xf0, 0x77, 0xfd, 0x40, 0xf6, 0x6a, 0x20, 0x02, 0x21, 0xc2, 0xf2, 0x32, + 0x00, 0x05, 0xf0, 0x70, 0xfd, 0x40, 0xf6, 0x6a, 0x20, 0x07, 0x21, 0xc2, 0xf2, 0x32, 0x00, + 0x05, 0xf0, 0x69, 0xfd, 0x0a, 0x20, 0x04, 0xf0, 0xd4, 0xfd, 0x40, 0xf6, 0x6a, 0x20, + + 0x01, 0x05, 0xff, 0xbd, 0x6c, 0x0b, 0x1b, 0x00, 0xb8, 0x09, 0x21, 0xc2, 0xf2, 0x32, 0x00, + 0x05, 0xf0, 0x58, 0xfd, 0x40, 0xf6, 0x6a, 0x20, 0x02, 0x21, 0xc2, 0xf2, 0x32, 0x00, 0x05, + 0xf0, 0x58, 0xfd, 0x40, 0xf6, 0x6a, 0x20, 0x07, 0x21, 0xc2, 0xf2, 0x32, 0x00, 0x05, 0xf0, + 0x4a, 0xfd, 0x40, 0xf6, 0x6a, 0x20, 0x02, 0x21, 0xc2, 0xf2, 0x32, 0x00, 0x05, 0xf0, 0x43, + 0xfd, 0x40, 0xf6, 0x6a, 0x20, 0x08, 0x21, 0xc2, 0xf2, 0x32, 0x00, 0x05, 0xf0, 0x43, 0xfd, + 0x40, 0xf6, 0x6a, 0x20, 0x06, 0x21, 0xc2, 0xf2, 0x32, 0x00, 0x05, 0xf0, 0x3c, 0xfd, 0x01, + 0x20, 0xbd, 0xe8, 0xf8, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + + 0x01, 0x05, 0xff, 0x11, 0xa4, 0x12, 0x1b, 0x00, 0x0c, 0x4b, 0x46, 0xa1, 0x62, 0x20, 0x79, + 0x01, 0x22, 0x19, 0x46, 0xff, 0xf7, + + 0x01, 0x05, 0xff, 0x09, 0x30, 0x13, 0x1b, 0x00, 0x04, 0x31, 0x46, 0xff, 0xf7, + + 0x01, 0x05, 0xff, 0x0d, 0x1c, 0x14, 0x1b, 0x00, 0x08, 0x20, 0x79, 0x1a, 0x46, 0x19, 0x46, + 0xff, 0xf7, + + 0x01, 0x05, 0xff, 0xcd, 0xa4, 0x1b, 0x1b, 0x00, 0xc8, 0x2d, 0xe9, 0xf0, 0x47, 0x41, 0xf6, + 0xac, 0x31, 0xc2, 0xf2, 0x00, 0x01, 0x41, 0xf6, 0x30, 0x46, 0x41, 0xf2, 0x30, 0x14, 0x01, + 0xf1, 0x14, 0x07, 0xc2, 0xf2, 0x00, 0x06, 0xba, 0x88, 0xc2, 0xf2, 0x00, 0x04, 0x38, 0x7a, + 0x01, 0x25, 0xb2, 0x82, 0x83, 0x01, 0x41, 0xf6, 0x86, 0x42, 0xc2, 0xf2, 0x00, 0x02, 0x84, + 0xf8, 0x24, 0x00, 0x03, 0xeb, 0x40, 0x13, 0x15, 0x70, 0xc2, 0x01, 0x02, 0xeb, 0x80, 0x02, + 0xa2, 0x18, 0x28, 0x32, 0xf8, 0x79, 0x22, 0x60, 0x40, 0xf2, 0x00, 0x02, 0xa0, 0x72, 0xc2, + 0xf2, 0x00, 0x02, 0x02, 0xf2, 0x4c, 0x68, 0xb8, 0x79, 0xd2, 0x18, 0x38, 0x32, 0x62, 0x60, + 0x0a, 0x7f, 0xe0, 0x72, 0xd0, 0x01, 0x00, 0xeb, 0x82, 0x00, 0x20, 0x18, 0x54, 0x30, 0x91, + 0xe8, 0x0c, 0x00, 0x08, 0x31, 0x80, 0xe8, 0x0c, 0x00, 0x08, 0x22, 0x04, 0xf1, 0x0c, 0x00, + 0x03, 0xf0, 0x3c, 0xfc, 0xe0, 0x7a, 0x61, 0x68, 0x81, 0xf8, 0x44, 0x00, 0x20, 0x68, 0x90, + 0xf8, 0x37, 0x00, 0x00, 0x28, 0x04, 0xbf, 0x0f, 0x20, 0xf0, 0x75, 0x04, 0xd0, 0x94, 0xf8, + 0x24, 0x00, 0x00, 0x1d, 0xc0, 0xb2, 0xf0, 0x75, 0xa3, 0x7a, 0x4f, 0xf0, 0x00, 0x0a, 0x86, + 0xf8, 0x16, 0xa0, 0x52, 0x46, 0x04, 0x21, 0xfe, 0xf7, 0x74, 0xfd, 0x41, 0xf2, 0x30, 0x19, + 0xc2, 0xf2, 0x00, 0x09, 0xd9, 0xf8, 0x00, 0x10, 0xa3, 0x7a, 0xf0, 0x7d, 0x91, 0xf8, + + 0x01, 0x05, 0xff, 0xcd, 0x6c, 0x1c, 0x1b, 0x00, 0xc8, 0x3a, 0x10, 0x2a, 0x46, 0xfe, 0xf7, + 0x67, 0xfd, 0x14, 0x20, 0x03, 0xf0, 0x4b, 0xfd, 0x25, 0x72, 0x48, 0xf2, 0x22, 0x0e, 0xb5, + 0x75, 0x65, 0x72, 0x41, 0xf6, 0x2c, 0x23, 0xd9, 0xf8, 0x00, 0x20, 0xc2, 0xf2, 0x20, 0x0e, + 0x77, 0x21, 0x82, 0xf8, 0x00, 0xa0, 0x82, 0xf8, 0x06, 0xa0, 0x84, 0xf8, 0x25, 0xa0, 0xd9, + 0xf8, 0x04, 0x00, 0x4f, 0xf6, 0xff, 0x7c, 0xc2, 0xf2, 0x00, 0x03, 0x80, 0xf8, 0x42, 0xa0, + 0xae, 0xf8, 0x00, 0x10, 0xae, 0xf8, 0x06, 0xc0, 0x40, 0xf6, 0x00, 0x3c, 0xd9, 0xf8, 0x00, + 0x10, 0xc2, 0xf2, 0x00, 0x0c, 0x02, 0xf1, 0x6c, 0x0e, 0x01, 0xf1, 0x3b, 0x00, 0x0c, 0xf1, + 0x8d, 0x01, 0xa3, 0xf8, 0x70, 0xe0, 0xa3, 0xf8, 0x68, 0x00, 0xd9, 0xf8, 0x04, 0xe0, 0xa3, + 0xf8, 0x4a, 0x10, 0x0c, 0xf1, 0xcd, 0x00, 0x0e, 0xf1, 0x28, 0x01, 0x1f, 0xfa, 0x81, 0xfc, + 0x02, 0xf1, 0x54, 0x01, 0x1f, 0xfa, 0x81, 0xfe, 0xa3, 0xf8, 0x08, 0xc0, 0x02, 0xf1, 0x44, + 0x01, 0x89, 0xb2, 0xa3, 0xf8, 0x38, 0xe0, 0x19, 0x85, 0x41, 0xf6, 0x6c, 0x13, 0xc2, 0xf2, + 0x00, 0x03, 0x58, 0x87, 0xa3, 0xf8, 0x70, 0xe0, 0xa3, 0xf8, 0x08, 0xc0, 0x19, 0x85, 0x10, + 0x6c, 0xa3, 0xf8, 0x60, 0x10, 0x04, 0xf0, 0xdd, 0xf9, 0xd9, 0xf8, 0x00, 0x00, 0x01, 0x6c, + 0x49, 0x08, 0x2e, 0xbf, 0xa8, 0xf8, 0x04, 0xa0, 0x02, 0x21, 0xa8, 0xf8, 0x04, 0x10, + + 0x01, 0x05, 0xff, 0xad, 0x34, 0x1d, 0x1b, 0x00, 0xa8, 0xb8, 0xf8, 0x00, 0x10, 0x90, 0xf8, + 0x3a, 0x30, 0x94, 0xf8, 0x0a, 0xe0, 0x09, 0x07, 0x49, 0x0e, 0x43, 0xf2, 0x00, 0x02, 0x41, + 0xea, 0xce, 0x11, 0x01, 0x2b, 0x4f, 0xea, 0x8e, 0x1c, 0xc2, 0xf2, 0x31, 0x02, 0x91, 0x83, + 0xb6, 0xf8, 0x14, 0xe0, 0xa2, 0xf8, 0x1e, 0xc0, 0x15, 0x84, 0x3f, 0x68, 0x2e, 0xd0, 0x2c, + 0x30, 0x90, 0xe8, 0x03, 0x00, 0x36, 0x1d, 0x42, 0xf2, 0x48, 0x4c, 0x86, 0xe8, 0x03, 0x00, + 0xc2, 0xf2, 0x31, 0x0c, 0xac, 0xf8, 0x02, 0xe0, 0x4f, 0xf0, 0x15, 0x0a, 0xac, 0xf8, 0x00, + 0xa0, 0xbc, 0xf8, 0x00, 0x00, 0x15, 0x28, 0x02, 0xd0, 0x5e, 0x20, 0x04, 0xf0, 0x6b, 0xfc, + 0x40, 0xf2, 0x00, 0x00, 0xc2, 0xf2, 0x00, 0x00, 0x90, 0xf8, 0x05, 0x36, 0x4f, 0xf2, 0x04, + 0x01, 0xc2, 0xf2, 0x32, 0x01, 0x10, 0x2b, 0x04, 0xda, 0x0a, 0x88, 0x28, 0x46, 0x98, 0x40, + 0x10, 0x43, 0x08, 0x80, 0x28, 0x46, 0x01, 0xf0, 0x79, 0xff, 0x03, 0xf0, 0xf6, 0xf8, 0xbd, + 0xe8, 0xf0, 0x87, 0x2c, 0x30, 0x90, 0xe8, 0x03, 0x00, 0x0c, 0x36, 0x86, 0xe8, 0x03, 0x00, + 0x27, 0x83, 0x01, 0xf0, 0x64, 0xf8, 0xbd, 0xe8, 0xf0, 0x87, 0x2d, 0xe9, + + 0x01, 0x05, 0xff, 0x11, 0x2c, 0x21, 0x1b, 0x00, 0x0c, 0xf1, 0xfa, 0x00, 0x21, 0x30, 0x79, + 0x0a, 0x46, 0x0b, 0x46, 0xfe, 0xf7, + + 0x01, 0x05, 0xff, 0xcd, 0xc0, 0x21, 0x1b, 0x00, 0xc8, 0x2d, 0xe9, 0xf0, 0x43, 0xad, 0xf1, + 0x0c, 0x0d, 0x41, 0xf6, 0xac, 0x35, 0x41, 0xf6, 0x44, 0x49, 0xc2, 0xf2, 0x00, 0x05, 0xc2, + 0xf2, 0x00, 0x09, 0xa8, 0x8a, 0x03, 0x21, 0x6f, 0x8a, 0xa9, 0xf8, 0x00, 0x00, 0x2c, 0x8a, + 0x40, 0xf2, 0x0a, 0x50, 0xc2, 0xf2, 0x32, 0x00, 0x04, 0xf0, 0x5f, 0xfa, 0x40, 0xf2, 0x00, + 0x06, 0xc2, 0xf2, 0x30, 0x06, 0xb0, 0x46, 0x48, 0xea, 0x07, 0x08, 0x08, 0xf1, 0x01, 0x08, + 0x46, 0xea, 0x04, 0x06, 0x38, 0xb9, 0x03, 0x21, 0x40, 0xf2, 0x1e, 0x50, 0xc2, 0xf2, 0x32, + 0x00, 0x04, 0xf0, 0x4c, 0xfa, 0x20, 0xb1, 0xb9, 0xf8, 0x00, 0x00, 0x00, 0x28, 0x00, 0xf0, + 0xac, 0x80, 0x40, 0xf6, 0x31, 0x31, 0xc2, 0xf2, 0x00, 0x01, 0x04, 0x22, 0x68, 0x46, 0x03, + 0xf0, 0x36, 0xf9, 0x00, 0x98, 0x03, 0xf0, 0x51, 0xff, 0x01, 0xa8, 0x04, 0xf0, 0xe6, 0xf8, + 0x41, 0xf6, 0x5c, 0x34, 0xc2, 0xf2, 0x00, 0x04, 0x04, 0xf1, 0x0c, 0x07, 0x08, 0x22, 0x05, + 0xf1, 0x08, 0x01, 0x07, 0xf1, 0x0c, 0x00, 0x03, 0xf0, 0x23, 0xf9, 0xe8, 0x7d, 0x84, 0xf8, + 0x31, 0x00, 0x04, 0xf0, 0x5b, 0xf8, 0x29, 0x7e, 0x84, 0xf8, 0x36, 0x00, 0x00, 0x22, 0x84, + 0xf8, 0x30, 0x10, 0x31, 0xf0, 0x01, 0x03, 0x08, 0xbf, 0x01, 0x22, 0x01, 0x20, 0x00, 0x29, + 0x84, 0xf8, 0x2e, 0x20, 0x1c, 0xbf, 0x06, 0x29, 0x00, 0x20, 0x2a, 0x8a, 0x69, 0x8a, + + 0x01, 0x05, 0xff, 0xcd, 0x88, 0x22, 0x1b, 0x00, 0xc8, 0x84, 0xf8, 0x2f, 0x00, 0xa2, 0x84, + 0xe1, 0x84, 0x70, 0x78, 0x00, 0xf0, 0x3f, 0x00, 0xc1, 0x00, 0x50, 0x31, 0x84, 0xf8, 0x34, + 0x00, 0x21, 0x85, 0x98, 0xf8, 0x00, 0x00, 0x00, 0xf0, 0x3f, 0x00, 0xc1, 0x00, 0x50, 0x31, + 0x84, 0xf8, 0x35, 0x00, 0x61, 0x85, 0x30, 0x78, 0x06, 0x22, 0xb1, 0x1c, 0x80, 0x11, 0x00, + 0xf0, 0x01, 0x00, 0x84, 0xf8, 0x37, 0x00, 0x38, 0x46, 0x03, 0xf0, 0xeb, 0xf8, 0x94, 0xf8, + 0x30, 0x00, 0x01, 0x28, 0x09, 0xd1, 0x30, 0x78, 0x06, 0xf1, 0x08, 0x01, 0xc2, 0x11, 0xb8, + 0x1d, 0x84, 0xf8, 0x38, 0x20, 0x06, 0x22, 0x03, 0xf0, 0xdd, 0xf8, 0xa8, 0x7d, 0x4f, 0xf0, + 0x01, 0x02, 0x30, 0xb9, 0x04, 0xf0, 0x04, 0xf8, 0x84, 0xf8, 0x33, 0x00, 0x94, 0xf8, 0x30, + 0x00, 0x10, 0xe0, 0x94, 0xf8, 0x31, 0x10, 0x94, 0xf8, 0x33, 0x00, 0x40, 0x1c, 0xc0, 0xb2, + 0x03, 0x28, 0x08, 0xbf, 0x00, 0x20, 0x02, 0xfa, 0x00, 0xf3, 0x19, 0x42, 0xf6, 0xd0, 0x84, + 0xf8, 0x33, 0x00, 0x94, 0xf8, 0x30, 0x00, 0x01, 0x28, 0x07, 0xd0, 0x00, 0x25, 0x89, 0xf8, + 0x03, 0x50, 0x89, 0xf8, 0x02, 0x50, 0x28, 0x46, 0x01, 0x26, 0x06, 0xe0, 0x10, 0x20, 0x01, + 0x26, 0x89, 0xf8, 0x03, 0x00, 0x00, 0x25, 0x89, 0xf8, 0x02, 0x60, 0x94, 0xf8, 0x33, 0x10, + 0x41, 0xf6, 0x2c, 0x42, 0xc2, 0xf2, 0x00, 0x02, 0x53, 0x5c, 0x04, 0x21, 0x2a, 0x46, + + 0x01, 0x05, 0xff, 0x51, 0x50, 0x23, 0x1b, 0x00, 0x4c, 0xfe, 0xf7, 0xf7, 0xf9, 0x43, 0xf2, + 0x20, 0x00, 0x84, 0xf8, 0x39, 0x50, 0x40, 0xf2, 0x0d, 0x02, 0xc2, 0xf2, 0x31, 0x00, 0x84, + 0xf8, 0x32, 0x50, 0xc2, 0xf2, 0x00, 0x02, 0x06, 0x80, 0x21, 0x8d, 0x15, 0x70, 0x28, 0x46, + 0x00, 0xf0, 0x20, 0xfe, 0x06, 0xe0, 0x11, 0x20, 0x89, 0xf8, 0x03, 0x00, 0x00, 0x21, 0x01, + 0x20, 0x01, 0xf0, 0x4f, 0xfa, 0x03, 0xb0, 0xbd, 0xe8, 0xf0, 0x83, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x47, + + 0x01, 0x05, 0xff, 0x09, 0x7c, 0x24, 0x1b, 0x00, 0x04, 0x04, 0xf0, 0xe8, 0xfd, + + 0x01, 0x05, 0xff, 0x09, 0xd4, 0x26, 0x1b, 0x00, 0x04, 0x78, 0xb5, 0x02, 0xf0, + + 0x01, 0x05, 0xff, 0xcd, 0x14, 0x27, 0x1b, 0x00, 0xc8, 0x00, 0x28, 0x42, 0xd0, 0x0a, 0x20, + 0x02, 0xf0, 0xf9, 0xff, 0x20, 0x68, 0x90, 0xf8, 0x3a, 0x00, 0x01, 0x28, 0x2c, 0xd1, 0x96, + 0xf8, 0x47, 0x06, 0x4f, 0xf0, 0x00, 0x01, 0xa9, 0x82, 0x80, 0xb9, 0x47, 0xf6, 0x48, 0x70, + 0xc2, 0xf2, 0x32, 0x00, 0x05, 0x21, 0x03, 0xf0, 0x72, 0xff, 0x96, 0xf8, 0x47, 0x06, 0x30, + 0xb9, 0x05, 0x21, 0x47, 0xf6, 0x4c, 0x70, 0xc2, 0xf2, 0x32, 0x00, 0x03, 0xf0, 0x6f, 0xff, + 0x40, 0xf6, 0x6a, 0x20, 0xc2, 0xf2, 0x32, 0x00, 0x09, 0x21, 0x03, 0xf0, 0x68, 0xff, 0x40, + 0xf6, 0x6a, 0x20, 0x02, 0x21, 0xc2, 0xf2, 0x32, 0x00, 0x03, 0xf0, 0x61, 0xff, 0x40, 0xf6, + 0x6a, 0x20, 0x07, 0x21, 0xc2, 0xf2, 0x32, 0x00, 0x03, 0xf0, 0x5a, 0xff, 0x0d, 0xe0, 0x09, + 0x21, 0x40, 0xf6, 0x6a, 0x20, 0xc2, 0xf2, 0x32, 0x00, 0x03, 0xf0, 0x52, 0xff, 0x40, 0xf6, + 0x6a, 0x20, 0x02, 0x21, 0xc2, 0xf2, 0x32, 0x00, 0x03, 0xf0, 0x4b, 0xff, 0x03, 0xf0, 0x80, + 0xfb, 0x00, 0x20, 0x60, 0x72, 0x20, 0x68, 0x81, 0x1d, 0x91, 0xf8, 0x34, 0x20, 0x01, 0x2a, + 0x0c, 0xd1, 0x09, 0x78, 0x51, 0xb9, 0x61, 0x68, 0x4f, 0xf0, 0x01, 0x02, 0x81, 0xf8, 0x5e, + 0x20, 0x90, 0xf8, 0x37, 0x10, 0x11, 0xb9, 0x02, 0xf0, 0xe9, 0xfa, 0x20, 0x68, 0xc0, 0x6e, + 0x00, 0xf0, 0x03, 0x00, 0x03, 0x28, 0x29, 0xd1, 0x96, 0xf8, 0x0b, 0x16, 0x4f, 0xf2, + + 0x01, 0x05, 0xff, 0xcd, 0xdc, 0x27, 0x1b, 0x00, 0xc8, 0x04, 0x02, 0xc2, 0xf2, 0x32, 0x02, + 0x10, 0x29, 0x0b, 0xda, 0x13, 0x88, 0x01, 0x20, 0x00, 0xfa, 0x01, 0xf1, 0x19, 0x43, 0x11, + 0x80, 0x96, 0xf8, 0x0b, 0x36, 0x11, 0x88, 0x98, 0x40, 0x81, 0x43, 0x11, 0x80, 0x94, 0xf8, + 0x24, 0x30, 0xd9, 0x01, 0x01, 0xeb, 0x83, 0x01, 0x60, 0x18, 0x09, 0x19, 0x28, 0x31, 0x28, + 0x30, 0x82, 0x6c, 0x0c, 0x6f, 0x45, 0x6c, 0x10, 0x06, 0x91, 0xf8, 0x35, 0x20, 0x21, 0x78, + 0x40, 0xea, 0x15, 0x20, 0x00, 0x90, 0xa6, 0x20, 0x03, 0xf0, 0x46, 0xfd, 0x78, 0xbd, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, + 0xb5, 0xad, 0xf1, 0x08, 0x0d, 0x41, 0xf6, 0xbc, 0x24, 0x41, 0xf6, 0x30, 0x45, 0xc2, 0xf2, + 0x00, 0x04, 0x20, 0x88, 0xc2, 0xf2, 0x00, 0x05, 0x03, 0x21, 0xa8, 0x82, 0x40, 0xf2, 0x0a, + 0x50, 0xc2, 0xf2, 0x32, 0x00, 0x03, 0xf0, 0x1e, 0xff, 0x38, 0xb9, 0x40, 0xf2, 0x1e, 0x50, + 0xc2, 0xf2, 0x32, 0x00, 0x03, 0x21, 0x03, 0xf0, 0x16, 0xff, 0x10, 0xb1, 0xa8, 0x8a, 0x00, + 0x28, 0x7d, 0xd0, 0x40, 0xf6, 0x31, 0x31, 0xc2, 0xf2, 0x00, 0x01, 0x04, 0x22, 0x01, 0xa8, + 0x02, 0xf0, 0x02, 0xfe, 0x01, 0x98, 0x03, 0xf0, 0x1d, 0xfc, 0x41, 0xf6, 0x2c, 0x42, + + 0x01, 0x05, 0xff, 0xcd, 0xa4, 0x28, 0x1b, 0x00, 0xc8, 0xe0, 0x78, 0x01, 0x26, 0xc2, 0xf2, + 0x00, 0x02, 0xa0, 0x70, 0x20, 0x79, 0xa1, 0x78, 0xae, 0x75, 0xe8, 0x75, 0x53, 0x5c, 0x00, + 0x22, 0x04, 0x21, 0xfd, 0xf7, 0x41, 0xff, 0x20, 0x79, 0x00, 0x26, 0xe6, 0x62, 0x01, 0x28, + 0x1b, 0xd0, 0x40, 0xf6, 0x90, 0x42, 0xc2, 0xf2, 0x30, 0x02, 0x40, 0xf2, 0x00, 0x05, 0x91, + 0x1c, 0xc2, 0xf2, 0x00, 0x05, 0x02, 0x23, 0x04, 0xf1, 0x0f, 0x00, 0x62, 0x63, 0x85, 0xf8, + 0x32, 0x30, 0x06, 0x22, 0x02, 0xf0, 0xd8, 0xfd, 0x61, 0x6b, 0x06, 0x22, 0x04, 0xf1, 0x17, + 0x00, 0x08, 0x31, 0x02, 0xf0, 0xd1, 0xfd, 0x40, 0xf2, 0xf4, 0x53, 0x16, 0xe0, 0x40, 0xf2, + 0x00, 0x01, 0xc2, 0xf2, 0x30, 0x01, 0x40, 0xf2, 0x00, 0x05, 0xc2, 0xf2, 0x00, 0x05, 0x02, + 0x23, 0x01, 0xf5, 0x48, 0x62, 0xe0, 0x1d, 0x01, 0xf6, 0x82, 0x41, 0xae, 0x77, 0x6e, 0x77, + 0x2b, 0x77, 0x62, 0x63, 0x06, 0x22, 0x02, 0xf0, 0xb9, 0xfd, 0x40, 0xf2, 0xf4, 0x53, 0x02, + 0xf0, 0xd2, 0xfb, 0xe8, 0x5a, 0x80, 0x08, 0x0c, 0xd3, 0x41, 0xf6, 0xac, 0x30, 0xc2, 0xf2, + 0x00, 0x00, 0x85, 0x89, 0x83, 0x68, 0x82, 0x88, 0x01, 0x68, 0x00, 0x95, 0x40, 0xf2, 0xa5, + 0x10, 0x03, 0xf0, 0xa0, 0xfc, 0x04, 0xf1, 0x4a, 0x00, 0x31, 0x46, 0x06, 0x22, 0x03, 0xf0, + 0x06, 0xf9, 0x84, 0xf8, 0x50, 0x60, 0x06, 0x22, 0x31, 0x46, 0x04, 0xf1, 0x1e, 0x00, + + 0x01, 0x05, 0xff, 0x41, 0x6c, 0x29, 0x1b, 0x00, 0x3c, 0x03, 0xf0, 0xfe, 0xf8, 0x43, 0xf2, + 0x20, 0x00, 0x03, 0x21, 0x84, 0xf8, 0x24, 0x60, 0xc2, 0xf2, 0x31, 0x00, 0x01, 0x80, 0x03, + 0xf0, 0x0c, 0xf8, 0x04, 0xe0, 0x11, 0x20, 0xe8, 0x75, 0x01, 0x20, 0x01, 0xf0, 0x85, 0xfd, + 0x02, 0xb0, 0x70, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + + 0x01, 0x05, 0xff, 0xcd, 0x44, 0x2c, 0x1b, 0x00, 0xc8, 0xf0, 0x83, 0x2d, 0xe9, 0xf0, 0x43, + 0xad, 0xf1, 0x08, 0x0d, 0x40, 0xf2, 0x4e, 0x68, 0xc2, 0xf2, 0x00, 0x08, 0x06, 0x46, 0xb8, + 0xf8, 0x00, 0x00, 0x41, 0xf6, 0x28, 0x44, 0xc2, 0xf2, 0x00, 0x04, 0x68, 0xb1, 0x41, 0xf6, + 0x34, 0x40, 0xc2, 0xf2, 0x00, 0x00, 0x03, 0x46, 0x41, 0xf6, 0x28, 0x44, 0x6f, 0xf0, 0x01, + 0x02, 0x00, 0x21, 0x02, 0xf0, 0x02, 0xfe, 0xc2, 0xf2, 0x00, 0x04, 0x20, 0x8a, 0xa1, 0x89, + 0x48, 0xf2, 0x00, 0x05, 0xcf, 0xf6, 0xff, 0x75, 0x46, 0xf2, 0x0a, 0x07, 0xc2, 0xf2, 0x20, + 0x07, 0x28, 0x43, 0xa7, 0xf8, 0x4c, 0x10, 0xa7, 0xf8, 0x4a, 0x00, 0x32, 0x7b, 0x31, 0x68, + 0x05, 0x20, 0x02, 0xf0, 0x10, 0xfe, 0xb0, 0x7b, 0x04, 0xf1, 0x0c, 0x09, 0x14, 0x34, 0x00, + 0x28, 0x1a, 0xbf, 0x30, 0x89, 0x80, 0x1c, 0x30, 0x89, 0x71, 0x89, 0x4f, 0xf0, 0x64, 0x0e, + 0x40, 0x18, 0x45, 0xea, 0xc0, 0x00, 0x78, 0x84, 0xa7, 0xf8, 0x00, 0xe0, 0x38, 0x88, 0xc0, + 0x09, 0x02, 0xd3, 0x38, 0x88, 0xc0, 0x09, 0xfc, 0xd2, 0x48, 0xf2, 0x18, 0x01, 0x4f, 0xf6, + 0xff, 0x70, 0xc2, 0xf2, 0x20, 0x01, 0xc8, 0x81, 0xb8, 0xf8, 0x00, 0x00, 0x20, 0xb1, 0x41, + 0xf6, 0xf8, 0x60, 0xc2, 0xf2, 0x00, 0x00, 0x08, 0x80, 0xb0, 0x88, 0x08, 0x80, 0xb8, 0xf8, + 0x00, 0x00, 0x31, 0x89, 0x23, 0x46, 0x00, 0xeb, 0xc1, 0x00, 0x50, 0x30, 0x80, 0xb2, + + 0x01, 0x05, 0xff, 0x75, 0x0c, 0x2d, 0x1b, 0x00, 0x70, 0x00, 0x21, 0x02, 0xb2, 0xad, 0xf8, + 0x04, 0x00, 0x48, 0x46, 0x02, 0xf0, 0xb4, 0xfd, 0xbd, 0xf8, 0x04, 0x00, 0x6b, 0x46, 0x00, + 0x21, 0x40, 0x1c, 0x02, 0xb2, 0x48, 0x46, 0x02, 0xf0, 0xab, 0xfd, 0xbd, 0xf8, 0x04, 0x10, + 0xbd, 0xf8, 0x00, 0x00, 0x02, 0xb0, 0x0d, 0x43, 0xa7, 0xf8, 0x48, 0x00, 0xa7, 0xf8, 0x46, + 0x50, 0xbd, 0xe8, 0xf0, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, + 0xb5, + + 0x01, 0x05, 0xff, 0x09, 0xb4, 0x30, 0x1b, 0x00, 0x04, 0x5b, 0x5c, 0x02, 0x21, + + 0x01, 0x05, 0xff, 0x11, 0x38, 0x39, 0x1b, 0x00, 0x0c, 0x00, 0x21, 0xc2, 0xf2, 0x00, 0x04, + 0x0a, 0x46, 0x20, 0x79, 0x0b, 0x46, + + 0x01, 0x05, 0xff, 0x15, 0x90, 0x41, 0x1b, 0x00, 0x10, 0x30, 0x40, 0x00, 0x21, 0xc2, 0xf2, + 0x00, 0x00, 0x0a, 0x46, 0xc0, 0x7d, 0x0b, 0x46, 0xfc, 0xf7, + + 0x01, 0x05, 0xff, 0x09, 0x08, 0x4a, 0x1b, 0x00, 0x04, 0x19, 0x46, 0x1a, 0x46, + + 0x01, 0x05, 0xff, 0x71, 0x58, 0x4c, 0x1b, 0x00, 0x6c, 0x10, 0xb5, 0x04, 0x46, 0x41, 0xf2, + 0x24, 0x03, 0x46, 0xf2, 0x0e, 0x00, 0x4f, 0xf6, 0xfc, 0x71, 0x1f, 0x22, 0xc2, 0xf2, 0x20, + 0x00, 0xc2, 0xf2, 0x31, 0x03, 0xa0, 0xf8, 0x5a, 0x10, 0x06, 0x21, 0x1a, 0x80, 0x4f, 0xf4, + 0xb6, 0x42, 0x01, 0x83, 0x18, 0x21, 0xc2, 0x82, 0x4f, 0xf4, 0x08, 0x52, 0x41, 0x83, 0x07, + 0x21, 0x02, 0x80, 0x41, 0x80, 0x02, 0xf0, 0x44, 0xfa, 0x01, 0x2c, 0x0e, 0xd1, 0x43, 0xf2, + 0x00, 0x00, 0xc2, 0xf2, 0x31, 0x00, 0x00, 0x21, 0xc1, 0x83, 0x81, 0x83, 0x47, 0xf6, 0x44, + 0x70, 0xc2, 0xf2, 0x32, 0x00, 0x47, 0xf6, 0x60, 0x01, 0x01, 0xf0, 0xd4, 0xfc, 0x10, 0xbd, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + + 0x01, 0x05, 0xff, 0x09, 0xd0, 0x4f, 0x1b, 0x00, 0x04, 0xe8, 0x7d, 0x02, 0x21, + + 0x01, 0x05, 0xff, 0x69, 0x14, 0x50, 0x1b, 0x00, 0x64, 0xad, 0xf1, 0x14, 0x0d, 0x4f, 0xf0, + 0x00, 0x04, 0x03, 0xb9, 0x01, 0x24, 0x41, 0xf6, 0x28, 0x43, 0x45, 0xf2, 0x55, 0x5c, 0x41, + 0xf6, 0x0c, 0x46, 0xc2, 0xf2, 0x00, 0x03, 0x02, 0x90, 0xc0, 0xf2, 0x55, 0x0c, 0xc2, 0xf2, + 0x00, 0x06, 0x00, 0x27, 0x9a, 0x18, 0x03, 0x91, 0x8d, 0xf8, 0x11, 0x40, 0x15, 0x79, 0xcd, + 0xf8, 0x00, 0xc0, 0x03, 0xf1, 0x14, 0x00, 0x01, 0x96, 0x40, 0xf2, 0x4e, 0x62, 0xc2, 0xf2, + 0x00, 0x02, 0x8d, 0xf8, 0x10, 0x50, 0x17, 0x80, 0x01, 0xf0, 0xd4, 0xf9, 0x68, 0x46, 0xfd, + 0xf7, 0x89, 0xfe, 0x05, 0xb0, 0xf0, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xb5, + + 0x01, 0x05, 0xff, 0x59, 0x58, 0x52, 0x1b, 0x00, 0x54, 0xfc, 0x32, 0x41, 0xf6, 0x2c, 0x4c, + 0xc2, 0xf2, 0x00, 0x02, 0xc2, 0xf2, 0x00, 0x0c, 0x40, 0xf2, 0x4e, 0x63, 0x45, 0xf2, 0x55, + 0x57, 0x00, 0x26, 0x91, 0x89, 0x01, 0x25, 0x1c, 0xf8, 0x00, 0x00, 0x02, 0x24, 0xc2, 0xf2, + 0x00, 0x03, 0xc0, 0xf2, 0x55, 0x07, 0x6f, 0xf3, 0x9f, 0x21, 0x8d, 0xf8, 0x0c, 0x00, 0xad, + 0xf8, 0x0a, 0x60, 0x8d, 0xf8, 0x0e, 0x50, 0x01, 0x92, 0x1c, 0x80, 0x89, 0x1e, 0x00, 0x97, + 0x68, 0x46, 0xad, 0xf8, 0x08, 0x10, 0xfd, 0xf7, 0xd1, 0xfc, 0x04, 0xb0, 0xf0, 0xbd, 0x00, + 0x00, 0x18, 0xb5, + + 0x01, 0x05, 0xff, 0x15, 0x44, 0x55, 0x1b, 0x00, 0x10, 0x47, 0x40, 0x00, 0x21, 0xc2, 0xf2, + 0x00, 0x00, 0x0a, 0x46, 0x00, 0x78, 0x0b, 0x46, 0xfb, 0xf7, + + 0x01, 0x05, 0xff, 0x2d, 0xc4, 0x56, 0x1b, 0x00, 0x28, 0x10, 0xb5, 0x40, 0xf2, 0x00, 0x04, + 0x02, 0x20, 0xc2, 0xf2, 0x00, 0x04, 0x60, 0x77, 0xff, 0xf7, 0x0d, 0xff, 0x05, 0x20, 0x00, + 0xf0, 0x1a, 0xf8, 0x41, 0xf6, 0xc0, 0x20, 0x00, 0x21, 0x01, 0x22, 0xc2, 0xf2, 0x00, 0x00, + 0x00, 0x78, 0x0b, 0x46, + + 0x01, 0x05, 0xff, 0x09, 0x0c, 0x57, 0x1b, 0x00, 0x04, 0x11, 0x80, 0x10, 0xbd, + + 0x01, 0x05, 0xff, 0x49, 0xcc, 0x58, 0x1b, 0x00, 0x44, 0x46, 0xf2, 0x28, 0x04, 0xc2, 0xf2, + 0x20, 0x04, 0x4f, 0xf0, 0x18, 0x05, 0x40, 0xf2, 0x4e, 0x63, 0x25, 0x80, 0xc2, 0xf2, 0x00, + 0x03, 0x1b, 0x88, 0x41, 0xf6, 0x28, 0x45, 0xc2, 0xf2, 0x00, 0x05, 0x03, 0xeb, 0xc0, 0x03, + 0x63, 0x80, 0x2b, 0x78, 0x4f, 0xea, 0x01, 0x66, 0x4f, 0xea, 0x11, 0x21, 0xa1, 0x81, 0x4f, + 0xea, 0x16, 0x45, 0x65, 0x81, 0x13, 0xb1, 0x11, 0x46, 0x01, 0xf0, 0x1a, 0xfc, 0x70, 0xbd, + 0x00, 0x00, + + 0x01, 0x05, 0xff, 0x31, 0x2c, 0x59, 0x1b, 0x00, 0x2c, 0x00, 0x94, 0xad, 0xf8, 0x0a, 0x10, + 0xad, 0xf8, 0x08, 0x30, 0x38, 0x78, 0x00, 0x21, 0x8d, 0xf8, 0x0e, 0x10, 0x8d, 0xf8, 0x0c, + 0x00, 0x01, 0xf0, 0xe2, 0xfb, 0x68, 0x46, 0xfd, 0xf7, 0x7d, 0xf9, 0x04, 0xb0, 0x90, 0xbd, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0xb5, + + 0x01, 0x05, 0xff, 0x3d, 0x34, 0x5b, 0x1b, 0x00, 0x38, 0x45, 0xf2, 0x55, 0x56, 0x40, 0xf2, + 0x4e, 0x64, 0x01, 0x90, 0x01, 0x27, 0x00, 0x25, 0xc0, 0xf2, 0x55, 0x06, 0xc2, 0xf2, 0x00, + 0x04, 0x8d, 0xf8, 0x10, 0x30, 0x03, 0x91, 0x02, 0x92, 0x68, 0x46, 0x8d, 0xf8, 0x11, 0x70, + 0x00, 0x96, 0x25, 0x80, 0xfd, 0xf7, 0x0d, 0xf9, 0x05, 0xb0, 0xf0, 0xbd, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, + + 0x01, 0x05, 0xff, 0x75, 0x60, 0x5c, 0x1b, 0x00, 0x70, 0x01, 0x68, 0xb1, 0xf1, 0xff, 0x3f, + 0x1c, 0xbf, 0x49, 0x1c, 0x01, 0x60, 0x13, 0xd1, 0x41, 0x68, 0x00, 0x23, 0x03, 0x60, 0x01, + 0xf0, 0x7f, 0x02, 0x7f, 0x2a, 0x04, 0xbf, 0x21, 0xf0, 0x7f, 0x01, 0x41, 0x60, 0x4f, 0xea, + 0x41, 0x62, 0x06, 0xd0, 0x02, 0xf1, 0x00, 0x72, 0x21, 0xf0, 0x7f, 0x01, 0x41, 0xea, 0x52, + 0x61, 0x41, 0x60, 0x70, 0x47, 0x00, 0x00, 0x70, 0xb5, 0xad, 0xf1, 0x14, 0x0d, 0x41, 0xf6, + 0xcc, 0x36, 0x40, 0xf2, 0x4e, 0x65, 0x03, 0x90, 0x00, 0x24, 0xc2, 0xf2, 0x00, 0x06, 0xc2, + 0xf2, 0x00, 0x05, 0x00, 0x93, 0x8d, 0xf8, 0x10, 0x20, 0x02, 0x91, 0x68, 0x46, 0x8d, 0xf8, + 0x11, 0x40, 0x01, 0x96, 0x2c, 0x80, 0xfd, 0xf7, 0x58, 0xf8, 0x05, 0xb0, 0x70, 0xbd, 0x00, + 0x00, + + 0x01, 0x05, 0xff, 0xcd, 0x78, 0x6e, 0x1b, 0x00, 0xc8, 0x1d, 0x1c, 0x1b, 0xff, 0x15, 0x1e, + 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb5, 0xfe, 0xf7, 0x31, + 0xfb, 0x40, 0xf6, 0x6a, 0x20, 0x07, 0x21, 0xc2, 0xf2, 0x32, 0x00, 0xff, 0xf7, 0xcc, 0xfb, + 0x40, 0xf6, 0x6a, 0x20, 0x09, 0x21, 0xc2, 0xf2, 0x32, 0x00, 0xff, 0xf7, 0xc5, 0xfb, 0x40, + 0xf6, 0x6a, 0x20, 0x02, 0x21, 0xc2, 0xf2, 0x32, 0x00, 0xff, 0xf7, 0xbe, 0xfb, 0x00, 0xbd, + 0x70, 0xb5, 0x41, 0xf6, 0x48, 0x44, 0xc2, 0xf2, 0x00, 0x04, 0xe0, 0x68, 0x81, 0x79, 0x4f, + 0xf4, 0xaf, 0x70, 0xa0, 0xeb, 0xc1, 0x00, 0x80, 0xb2, 0xfe, 0xf7, 0x1d, 0xfc, 0x40, 0xf6, + 0x6a, 0x20, 0x07, 0x21, 0xc2, 0xf2, 0x32, 0x00, 0xff, 0xf7, 0xa1, 0xfb, 0x40, 0xf6, 0x6a, + 0x20, 0x09, 0x21, 0xc2, 0xf2, 0x32, 0x00, 0xff, 0xf7, 0x9a, 0xfb, 0x40, 0xf6, 0x6a, 0x20, + 0x02, 0x21, 0xc2, 0xf2, 0x32, 0x00, 0xff, 0xf7, 0x9a, 0xfb, 0x14, 0x20, 0xfe, 0xf7, 0x05, + 0xfc, 0x40, 0xf2, 0x00, 0x01, 0xc2, 0xf2, 0x00, 0x01, 0x91, 0xf8, 0x96, 0x05, 0x63, 0x7a, + 0x41, 0xf6, 0x44, 0x42, 0xc2, 0xf2, 0x00, 0x02, 0x40, 0xea, 0x03, 0x10, 0x43, 0xf2, 0x1c, + 0x03, 0x12, 0x88, 0xc0, 0x00, 0xc2, 0xf2, 0x31, 0x03, 0x00, 0x24, 0x40, 0xf2, 0x4e, 0x65, + 0x42, 0xf2, 0x48, 0x46, 0x18, 0x80, 0x4c, 0x53, 0xc2, 0xf2, 0x31, 0x06, 0x72, 0x80, + + 0x01, 0x05, 0xff, 0xcd, 0x40, 0x6f, 0x1b, 0x00, 0xc8, 0x15, 0x20, 0x30, 0x80, 0x30, 0x88, + 0x15, 0x28, 0x02, 0xd0, 0x5e, 0x20, 0xff, 0xf7, 0x8d, 0xfb, 0x40, 0xf2, 0x00, 0x00, 0xc2, + 0xf2, 0x00, 0x00, 0x90, 0xf8, 0x05, 0x36, 0x4f, 0xf2, 0x04, 0x01, 0xc2, 0xf2, 0x32, 0x01, + 0x10, 0x2b, 0x04, 0xda, 0x0a, 0x88, 0x01, 0x20, 0x98, 0x40, 0x10, 0x43, 0x08, 0x80, 0x41, + 0xf6, 0x48, 0x40, 0xc2, 0xf2, 0x00, 0x00, 0xc1, 0x68, 0x42, 0x7a, 0x41, 0xf6, 0x6c, 0x40, + 0x89, 0x79, 0xc2, 0xf2, 0x00, 0x00, 0xfe, 0xf7, 0x2b, 0xfd, 0x70, 0xbd, 0x00, 0xb5, 0x41, + 0xf6, 0x48, 0x40, 0x07, 0x21, 0xc2, 0xf2, 0x00, 0x00, 0xff, 0xf7, 0x9b, 0xfb, 0x40, 0xf6, + 0x6a, 0x20, 0x07, 0x21, 0xc2, 0xf2, 0x32, 0x00, 0xff, 0xf7, 0x3d, 0xfb, 0x14, 0x20, 0xfe, + 0xf7, 0xaf, 0xfb, 0x40, 0xf2, 0x97, 0x50, 0xc2, 0xf2, 0x00, 0x00, 0x00, 0x78, 0x43, 0xf2, + 0x20, 0x01, 0xc2, 0xf2, 0x31, 0x01, 0x08, 0x80, 0x00, 0xbd, 0x00, 0xb5, 0x41, 0xf6, 0x47, + 0x40, 0x03, 0x21, 0xc2, 0xf2, 0x00, 0x00, 0x01, 0x70, 0x40, 0xf6, 0x6a, 0x20, 0x07, 0x21, + 0xc2, 0xf2, 0x32, 0x00, 0xff, 0xf7, 0x28, 0xfb, 0x40, 0xf6, 0x6a, 0x20, 0x09, 0x21, 0xc2, + 0xf2, 0x32, 0x00, 0xff, 0xf7, 0x21, 0xfb, 0x40, 0xf6, 0x6a, 0x20, 0x02, 0x21, 0xc2, 0xf2, + 0x32, 0x00, 0xff, 0xf7, 0x1a, 0xfb, 0x40, 0xf6, 0x6a, 0x20, 0x02, 0x21, 0xc2, 0xf2, + + 0x01, 0x05, 0xff, 0xcd, 0x08, 0x70, 0x1b, 0x00, 0xc8, 0x32, 0x00, 0xff, 0xf7, 0x13, 0xfb, + 0x40, 0xf6, 0x6a, 0x20, 0x08, 0x21, 0xc2, 0xf2, 0x32, 0x00, 0xff, 0xf7, 0x05, 0xfb, 0x40, + 0xf6, 0x6a, 0x20, 0x06, 0x21, 0xc2, 0xf2, 0x32, 0x00, 0xff, 0xf7, 0xfe, 0xfa, 0x43, 0xf2, + 0x5c, 0x10, 0x00, 0x21, 0xc2, 0xf2, 0x31, 0x00, 0xff, 0xf7, 0xf7, 0xfa, 0x41, 0xf6, 0x50, + 0x40, 0xc2, 0xf2, 0x00, 0x00, 0x00, 0x78, 0x10, 0xb9, 0x00, 0xf0, 0xbc, 0xff, 0x00, 0xbd, + 0x00, 0xf0, 0x22, 0xff, 0x00, 0xbd, 0xf0, 0xb5, 0x40, 0xf2, 0x00, 0x02, 0xc2, 0xf2, 0x00, + 0x02, 0xd2, 0xf8, 0x8c, 0x35, 0x04, 0x78, 0x40, 0xf2, 0x00, 0x01, 0x6f, 0xf3, 0x1f, 0x43, + 0xc2, 0xf2, 0x30, 0x01, 0x19, 0x43, 0x42, 0xf2, 0x6c, 0x45, 0x0c, 0x80, 0x43, 0xf2, 0x00, + 0x01, 0x00, 0x23, 0xc4, 0xf2, 0x00, 0x05, 0x2b, 0x80, 0x4f, 0xf4, 0x20, 0x65, 0xc2, 0xf2, + 0x31, 0x01, 0x01, 0x24, 0x41, 0xf2, 0x08, 0x46, 0x40, 0x27, 0x4f, 0xf0, 0x78, 0x0c, 0x4d, + 0x80, 0x0e, 0x80, 0xcf, 0x83, 0xa1, 0xf8, 0x1c, 0xc0, 0x8c, 0x80, 0x0c, 0x84, 0x01, 0x78, + 0x10, 0x29, 0x29, 0xda, 0x11, 0xb3, 0x49, 0x1e, 0x16, 0xd0, 0x49, 0x1e, 0x0a, 0xd0, 0x49, + 0x1e, 0x22, 0xd1, 0x42, 0xf2, 0x46, 0x40, 0xc2, 0xf2, 0x31, 0x00, 0x83, 0x80, 0x04, 0x80, + 0x92, 0xf8, 0x49, 0x06, 0x1b, 0xe0, 0x42, 0xf2, 0x46, 0x40, 0xc2, 0xf2, 0x31, 0x00, + + 0x01, 0x05, 0xff, 0xcd, 0xd0, 0x70, 0x1b, 0x00, 0xc8, 0x02, 0x21, 0x81, 0x80, 0x04, 0x80, + 0x92, 0xf8, 0x49, 0x06, 0x11, 0xe0, 0x42, 0xf2, 0x46, 0x40, 0xc2, 0xf2, 0x31, 0x00, 0x02, + 0x21, 0x81, 0x80, 0x04, 0x80, 0x92, 0xf8, 0x49, 0x06, 0x07, 0xe0, 0x42, 0xf2, 0x46, 0x40, + 0xc2, 0xf2, 0x31, 0x00, 0x83, 0x80, 0x04, 0x80, 0x92, 0xf8, 0x49, 0x06, 0x00, 0xf0, 0x7f, + 0x00, 0x82, 0xf8, 0x49, 0x06, 0xf0, 0xbd, 0x40, 0xf2, 0x00, 0x00, 0xc2, 0xf2, 0x00, 0x00, + 0xb0, 0xf8, 0x50, 0x16, 0xa0, 0xf8, 0x4e, 0x16, 0x70, 0x47, 0x10, 0xb5, 0x41, 0xf6, 0xf8, + 0x60, 0x46, 0xf2, 0x01, 0x03, 0x42, 0xf2, 0x01, 0x02, 0xc2, 0xf2, 0x00, 0x00, 0x4f, 0xf4, + 0x00, 0x61, 0x4f, 0xf4, 0x33, 0x64, 0x43, 0x80, 0x82, 0x80, 0xc1, 0x80, 0x04, 0x80, 0x10, + 0xbd, 0x10, 0xb5, 0x40, 0xf2, 0x4e, 0x62, 0x46, 0xf6, 0x40, 0x63, 0xc2, 0xf2, 0x00, 0x02, + 0x46, 0xf2, 0x0c, 0x04, 0xc0, 0xf2, 0x00, 0x03, 0x12, 0x88, 0xc2, 0xf2, 0x20, 0x04, 0x59, + 0x5c, 0x02, 0xeb, 0xc0, 0x00, 0x20, 0x80, 0x48, 0xf2, 0xe0, 0x12, 0x08, 0x02, 0xe2, 0x80, + 0x20, 0x81, 0x10, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + + 0x01, 0x05, 0xff, 0x25, 0x98, 0x71, 0x1b, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + + 0x01, 0x05, 0xff, 0xcd, 0xf4, 0x78, 0x1b, 0x00, 0xc8, 0xf0, 0x83, 0x70, 0xb5, 0x41, 0xf6, + 0x48, 0x44, 0x06, 0x46, 0xc2, 0xf2, 0x00, 0x04, 0xe0, 0x68, 0x07, 0x21, 0x45, 0x78, 0x40, + 0xf6, 0x6a, 0x20, 0xc2, 0xf2, 0x32, 0x00, 0xfe, 0xf7, 0x90, 0xfe, 0x01, 0x20, 0xfd, 0xf7, + 0xae, 0xfb, 0x00, 0x2e, 0x40, 0xf2, 0x00, 0x01, 0x46, 0xd1, 0xc2, 0xf2, 0x00, 0x01, 0x91, + 0xf8, 0x98, 0x05, 0x01, 0xf2, 0xfc, 0x56, 0x90, 0xb9, 0xe0, 0x68, 0x2d, 0x18, 0x2a, 0x79, + 0xe9, 0x78, 0xa8, 0x78, 0xfb, 0xf7, 0x9c, 0xfe, 0x30, 0xb9, 0x61, 0x69, 0x49, 0x1c, 0x61, + 0x61, 0x2c, 0x20, 0xfe, 0xf7, 0xe2, 0xfd, 0x70, 0xbd, 0x30, 0x88, 0x40, 0x1c, 0x30, 0x80, + 0x70, 0xbd, 0xff, 0xf7, 0x5e, 0xfe, 0xe0, 0x68, 0x28, 0x18, 0x02, 0x79, 0xc1, 0x78, 0x80, + 0x78, 0xff, 0xf7, 0x92, 0xfd, 0x00, 0xf0, 0xd0, 0xf9, 0xb6, 0xf8, 0x42, 0x00, 0x80, 0x08, + 0x2c, 0xbf, 0x01, 0x22, 0x00, 0x22, 0x0e, 0x20, 0x00, 0x21, 0xfb, 0xf7, 0xe7, 0xfe, 0x06, + 0x46, 0xe0, 0x68, 0x2d, 0x18, 0xa8, 0x78, 0xe9, 0x78, 0x2a, 0x79, 0xfb, 0xf7, 0x73, 0xfe, + 0x01, 0x2e, 0x04, 0xbf, 0xa1, 0x69, 0x00, 0x28, 0x07, 0xd0, 0x4e, 0xb9, 0x01, 0x28, 0x07, + 0xd1, 0xa1, 0x69, 0x88, 0x8f, 0x40, 0x1c, 0x88, 0x87, 0x70, 0xbd, 0x48, 0x8f, 0x40, 0x1c, + 0x48, 0x87, 0x70, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + + 0x01, 0x05, 0xff, 0x75, 0xbc, 0x79, 0x1b, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, + + 0x01, 0x05, 0xff, 0x09, 0x04, 0x7b, 0x1b, 0x00, 0x04, 0x28, 0xb9, 0x0f, 0x20, + + 0x01, 0x05, 0xff, 0x55, 0x98, 0x7e, 0x1b, 0x00, 0x50, 0x00, 0x20, 0xad, 0xf8, 0x04, 0x00, + 0x00, 0x90, 0xff, 0xf7, 0x75, 0xf8, 0x41, 0xf6, 0x48, 0x44, 0x41, 0xf6, 0x74, 0x40, 0xc2, + 0xf2, 0x00, 0x04, 0x6a, 0x46, 0x69, 0x46, 0x63, 0x7a, 0xc2, 0xf2, 0x00, 0x00, 0xfd, 0xf7, + 0x38, 0xfe, 0x02, 0xb0, 0x02, 0x20, 0xe0, 0x61, 0x10, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xb5, 0x41, 0xf6, 0x48, 0x44, 0xc2, 0xf2, + 0x00, 0x04, 0xe0, 0x69, 0x01, 0x28, 0x14, 0xd1, 0xfe, 0xf7, 0xd1, 0xff, 0x60, 0x69, + + 0x01, 0x05, 0xff, 0x15, 0x0c, 0x7f, 0x1b, 0x00, 0x10, 0x10, 0xbd, 0x00, 0xb5, 0x41, 0xf6, + 0x50, 0x40, 0xc2, 0xf2, 0x00, 0x00, 0x00, 0x21, 0x02, 0x78, + + 0x01, 0x05, 0xff, 0x45, 0x30, 0x7f, 0x1b, 0x00, 0x40, 0xff, 0xf7, 0x4a, 0xf8, 0x00, 0xbd, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + + 0x01, 0x05, 0xff, 0x0d, 0xd4, 0x7f, 0x1b, 0x00, 0x08, 0x56, 0xfc, 0xfe, 0xf7, 0x70, 0xff, + 0x00, 0xbd, + + // + // ######################## + // # Patch End + // ######################## + // #release Cortex Reset + 0x01, 0x09, 0xfd, 0x08, 0x00, 0xc0, 0x1b, 0x00, 0x00, 0x00, 0x01, 0x00, + + // + // # Enable Cortex Sleep + 0x01, 0xa8, 0xfd, 0x01, 0x00, + + // + // #RESET BLE + 0x01, 0x5b, 0xfd, 0x02, 0x01, 0x00, + + // + 0x01, 0xdd, 0xfd, 0x01, 0x01, + + // + // ################################################################# + // ## START of CC256x Add-On + // ################################################################# + // + // ## Enable fast clock XTAL support + 0x01, 0x1c, 0xfd, 0x14, 0x01, 0x88, 0x13, 0x00, 0x00, 0xd0, 0x07, 0x00, 0x00, 0xff, 0xff, + 0x04, 0xff, 0xff, 0xff, 0xfa, 0x00, 0x00, 0x00, 0x00, + + // + // ## Enable eHCILL + 0x01, 0x2b, 0xfd, 0x05, 0x10, 0x00, 0x50, 0x00, 0x96, + + // + 0x01, 0x0c, 0xfd, 0x09, 0x01, 0x01, 0x00, 0xff, 0xff, 0xff, 0xff, 0x64, 0x00, + + // + // ################################################################# + // ## END of CC256x Add-On + // ################################################################# +}; + +const uint32_t cc256x_init_script_size = 17759; + diff --git a/metawatch/bluetooth_init_cc256x.h b/metawatch/bluetooth_init_cc256x.h new file mode 100644 index 0000000..6e70257 --- /dev/null +++ b/metawatch/bluetooth_init_cc256x.h @@ -0,0 +1,11 @@ +#ifndef _BT_CC2560_H +#define _BT_CC2560_H + +/* the init/patch script for CC256x chipset */ +/* see TI license for details */ + +extern const uint8_t cc256x_init_script[]; +extern const uint8_t cc256x_init_script_2[]; + +extern const uint32_t cc256x_init_script_size; +#endif diff --git a/metawatch/bt_hci.c b/metawatch/bt_hci.c new file mode 100644 index 0000000..265b00c --- /dev/null +++ b/metawatch/bt_hci.c @@ -0,0 +1,477 @@ +#include +#include +#include +#include +#include + +#include "mw_main.h" + +#include "mw_uart.h" +#include "mw_bt.h" +#include "bt_hci.h" +#include "bt_l2cap.h" + + +static uint8_t local_bdaddr[6]; + +uint8_t *bt_hci_get_local_bdaddr(void) +{ + return local_bdaddr; +} + +static void bt_print_bd_addr(uint8_t *bd_addr) +{ +#if defined MW_DEVBOARD_V2 + int i; + char nums[4]; + + for (i=5; i>=0; i--) { + snprintf(nums, 4, "%02x", bd_addr[i]); + debug_uart_tx(nums); + if (i>0) + debug_uart_tx_char(':'); + } +#endif +} + +void bt_hci_process_acl_packet(unsigned char *packet) +{ +#if defined MW_DEVBOARD_V2 + char tstr[32]; +#endif + uint16_t dlen; + uint16_t handle; + L2CAP_PB_FLAG PB; + L2CAP_BC_FLAG BC; + uint16_t channel; + uint16_t mlen; + +// debug_uart_tx("ACL packet, "); + handle = packet[0] | ((packet[1] & 0x0f) << 8); +// snprintf(tstr, 32, "handle 0x%04x ", handle); +// debug_uart_tx(tstr); + PB = (packet[1] >> 4) & 0x03; + BC = (packet[1] >> 6) & 0x03; +// snprintf(tstr, 32, "PB 0x%02x BC 0x%02x ", PB, BC); +// debug_uart_tx(tstr); + + dlen = packet[2] | ((uint16_t)packet[3] << 8); +// snprintf(tstr, 32, "len 0x%04x \n", dlen); +// debug_uart_tx(tstr); +// debug_dump_hex(dlen+4, packet); + + channel = packet[4+2] | (packet[4+3] << 8); + mlen = packet[4] | (packet[4+1] << 8); + switch (channel) { + case L2CAP_CID_SIGNALING: + bt_l2cap_proc_signalling(handle, (packet+8), mlen); + break; + case L2CAP_CID_CONNECTIONLESS_CHANNEL: + break; + case L2CAP_CID_ATTRIBUTE_PROTOCOL: + break; + case L2CAP_CID_SIGNALING_LE: + break; + case L2CAP_CID_SECURITY_MANAGER_PROTOCOL: + break; + default: + if (channel > 0x3f) { + // just for sure, add a 0 as string delimiter + packet[mlen+8] = 0x00; + bt_l2cap_proc_dyn_channel(channel, handle, (packet+8), mlen); + } else { +#if defined MW_DEVBOARD_V2 + snprintf(tstr, 32, "L2CAP unhandled CID 0x%04x\n", channel); + debug_uart_tx(tstr); +#endif + } + break; + } +} + +void bt_hci_process_event_packet(unsigned char *packet) +{ +#if defined MW_DEVBOARD_V2 + char tstr[32]; +#endif + int i; + // uint8_t bd_addr[6]; + uint32_t dev_type; + +// debug_uart_tx("Event packet, "); +// snprintf(tstr, 32, "evt 0x%02x: ", packet[0]); +// debug_uart_tx(tstr); + + switch (packet[0]) { + case HCI_EVENT_INQUIRY_COMPLETE: + debug_uart_tx("inq complete\n"); + break; + case HCI_EVENT_INQUIRY_RESULT: + debug_uart_tx("inq result\n"); + break; + case HCI_EVENT_CONNECTION_COMPLETE: + debug_uart_tx("con complete from "); +#if defined MW_DEVBOARD_V2 + bt_print_bd_addr((packet+5)); + snprintf(tstr, 32, " status 0x%02x handle 0x%02x", packet[2], packet[3]); + debug_uart_tx(tstr); + snprintf(tstr, 32, " type 0x%02x enc 0x%02x\n", packet[11], packet[12]); + debug_uart_tx(tstr); + if (packet[2] == 0x00) + debug_uart_tx("connection established\n"); + else + debug_uart_tx("connection failed\n"); +#endif + break; + case HCI_EVENT_CONNECTION_REQUEST: { + uint8_t bd_addr[7]; + + switch (packet[11]) { + case HCI_LINK_TYPE_SCO: + debug_uart_tx("SCO"); + break; + case HCI_LINK_TYPE_ACL: + debug_uart_tx("ACL"); + break; + case HCI_LINK_TYPE_ESCO: + debug_uart_tx("eSCO"); + break; + default: + debug_uart_tx("unknown type"); + break; + } + debug_uart_tx(" con req from "); + for (i=0; i<6; i++) { + bd_addr[i] = packet[i+2]; + } + bt_print_bd_addr(bd_addr); + dev_type = (uint32_t)packet[8] << 16; + dev_type |= (uint32_t)packet[9] << 8; + dev_type |= packet[10]; +#if defined MW_DEVBOARD_V2 + snprintf(tstr, 32, " rem. dtype 0x%06lx\n", dev_type); + debug_uart_tx(tstr); +#endif + //memcpy(tstr, bd_addr, 6); + //tstr[6] = 0x01; /* remain slave */ + bd_addr[6] = 0x01; /* remain slave */ + bt_hci_cmd(HCI_LINK_CTRL_OGF, HCI_ACCEPT_CONN_REQ_OCF, 7, bd_addr); + } break; + case HCI_EVENT_DISCONNECTION_COMPLETE: + debug_uart_tx("discon complete\n"); + break; + case HCI_EVENT_AUTHENTICATION_COMPLETE_EVENT: + debug_uart_tx("auth complete\n"); + break; + case HCI_EVENT_REMOTE_NAME_REQUEST_COMPLETE: + debug_uart_tx("rem name req complete\n"); + break; + case HCI_EVENT_ENCRYPTION_CHANGE: + debug_uart_tx("enc change\n"); + break; + case HCI_EVENT_CHANGE_CONNECTION_LINK_KEY_COMPLETE: + debug_uart_tx("change con link key complete\n"); + break; + case HCI_EVENT_MASTER_LINK_KEY_COMPLETE: + debug_uart_tx("master link key complete\n"); + break; + case HCI_EVENT_READ_REMOTE_SUPPORTED_FEATURES_COMPLETE: + debug_uart_tx("read rem feat. complete\n"); + break; + case HCI_EVENT_READ_REMOTE_VERSION_INFORMATION_COMPLETE: + debug_uart_tx("read rem version complete\n"); + break; + case HCI_EVENT_QOS_SETUP_COMPLETE: + debug_uart_tx("qos setup complete\n"); + break; + case HCI_EVENT_COMMAND_COMPLETE: + // snprintf(tstr, 32, "%d cmd(s) complete: 0x%02x%02x=%d", packet[2], packet[3], packet[4], packet[5]); + // debug_uart_tx(tstr); + if (packet[2] > 0 && + packet[3] == ((HCI_R_BD_ADDR_OCF | (HCI_INFO_PARAM_OGF << 10)) & 0xff) && + packet[4] == (((HCI_R_BD_ADDR_OCF | (HCI_INFO_PARAM_OGF << 10)) & 0xff00) >> 8)) { // read local bdaddr + memcpy(local_bdaddr, (packet+6), 6); +#if defined MW_DEVBOARD_V2 + debug_uart_tx("local bdaddr = "); + bt_print_bd_addr((uint8_t *)(packet+6)); + debug_uart_tx("\n"); +#endif + } + break; + case HCI_EVENT_COMMAND_STATUS: + debug_uart_tx("cmd status\n"); + break; + case HCI_EVENT_HARDWARE_ERROR: +#if defined MW_DEVBOARD_V2 + debug_uart_tx("hardw err"); + snprintf(tstr, 32, " 0x%02x\n", packet[2]); + debug_uart_tx(tstr); +#endif + break; + case HCI_EVENT_FLUSH_OCCURED: + debug_uart_tx("flush occured\n"); + break; + case HCI_EVENT_ROLE_CHANGE: + debug_uart_tx("role change\n"); + break; + case HCI_EVENT_NUMBER_OF_COMPLETED_PACKETS: + debug_uart_tx("numb compl. packets\n"); + break; + case HCI_EVENT_MODE_CHANGE_EVENT: + debug_uart_tx("mode change\n"); + break; + case HCI_EVENT_RETURN_LINK_KEYS: + debug_uart_tx("return link keys\n"); + break; + case HCI_EVENT_PIN_CODE_REQUEST: + debug_uart_tx("pin code request\n"); +#if defined MW_DEVBOARD_V2 + debug_uart_tx("from "); + bt_print_bd_addr((uint8_t *)(packet+2)); + debug_uart_tx("\n"); +#endif + memmove(packet, (packet+2), 6); + packet[6] = 0x04; // PIN has length of 4 + packet[7] = '4'; + packet[8] = '3'; + packet[9] = '1'; + packet[10] = '2'; + bt_hci_cmd(HCI_LINK_CTRL_OGF, HCI_PIN_CODE_REQ_REP_OCF, 11, packet); + break; + case HCI_EVENT_LINK_KEY_REQUEST: + debug_uart_tx("link key request\n"); + break; + case HCI_EVENT_LINK_KEY_NOTIFICATION: + debug_uart_tx("link key notify\n"); + break; + case HCI_EVENT_DATA_BUFFER_OVERFLOW: + debug_uart_tx("evt data buf overflow\n"); + break; + case HCI_EVENT_MAX_SLOTS_CHANGED: + debug_uart_tx("max slots changed\n"); + break; + case HCI_EVENT_READ_CLOCK_OFFSET_COMPLETE: + debug_uart_tx("read clock offset compl.\n"); + break; + case HCI_EVENT_PACKET_TYPE_CHANGED: + debug_uart_tx("packet type changed\n"); + break; + case HCI_EVENT_PAGE_SCAN_REPETION_MODE_CHANGE: + debug_uart_tx("page scan repetition mode changed\n"); + break; + case HCI_EVENT_INQUIRY_RESULT_WITH_RSSI: + debug_uart_tx("inq result with RSSI\n"); + break; + case HCI_EVENT_EXTENDED_INQUIRY_RESPONSE: + debug_uart_tx("ext. inq. resp.\n"); + break; + case HCI_EVENT_LE_META: + debug_uart_tx("LE meta\n"); + break; + case HCI_EVENT_VENDOR_SPECIFIC: + debug_uart_tx("vend. spec.\n"); + break; + default: + debug_uart_tx("unknown\n"); + break; + } +// debug_uart_tx("\n"); +// for (i=2; i<=(packet[1]+1); i++) { +// snprintf(tstr, 32, " 0x%02x", packet[i]); +// debug_uart_tx(tstr); +// } +// debug_uart_tx("\n"); +} + +typedef enum { + HCI_PACKET_START = 0, + HCI_CMD_PACKET, + HCI_ACL_PACKET_HEADER, + HCI_ACL_PACKET_DATA, + HCI_SCO_PACKET, + HCI_EVENT_PACKET_HEADER, + HCI_EVENT_PACKET_DATA, + HCI_EHCILL_PACKET, + EHCILL_SLEEPING +} bt_hci_state_t; + +static bt_hci_state_t state = HCI_PACKET_START; + +unsigned char bt_feed_packet_data(unsigned char pdata) +{ + char tstr[32]; + static unsigned char packet[255]; + static uint16_t bytes_left = 0; + static uint16_t pdata_pos = 0; + +// snprintf(tstr, 32, "bt 0x%02x ", pdata); +// debug_uart_tx(tstr); + switch (state) { + case HCI_PACKET_START: + switch (pdata) { + case HCI_EVENT_PACKET: + state = HCI_EVENT_PACKET_HEADER; + bytes_left = 1; + pdata_pos = 0; + memset(packet, 0, 64); + break; + case HCI_ACL_DATA_PACKET: + state = HCI_ACL_PACKET_HEADER; + bytes_left = 3; + pdata_pos = 0; + memset(packet, 0, 64); + break; + case EHCILL_GO_TO_SLEEP_IND: + debug_uart_tx("eHCILL go to sleep ind\n"); + state = HCI_PACKET_START; + // disable BT UART? + // mabye UCA1CTL1 = UCSWRST ? + pdata = EHCILL_GO_TO_SLEEP_ACK; + mw_bt_uart_tx(&pdata, 0x01); + BT_IO_POUT |= BT_IO_RTS; // pull RTS -> stop data + + P1IFG &= ~BT_IO_CTS; + P1IE |= BT_IO_CTS; + + state = EHCILL_SLEEPING; + break; + case EHCILL_GO_TO_SLEEP_ACK: + debug_uart_tx("eHCILL go to sleep ack\n"); + state = HCI_PACKET_START; + break; + case EHCILL_WAKE_UP_IND: + debug_uart_tx("eHCILL wake up ind\n"); + state = HCI_PACKET_START; + break; + case EHCILL_WAKE_UP_ACK: + debug_uart_tx("eHCILL wake up ack\n"); + state = HCI_PACKET_START; + break; + default: + debug_uart_tx("unexpected packet start\n"); + break; + } + break; + case HCI_EVENT_PACKET_HEADER: + if (bytes_left != 0) { + packet[pdata_pos++] = pdata; + bytes_left--; + } else { + state = HCI_EVENT_PACKET_DATA; + packet[pdata_pos++] = pdata; + bytes_left = pdata; + } + break; + case HCI_EVENT_PACKET_DATA: + packet[pdata_pos++] = pdata; + bytes_left--; + if (bytes_left == 0) { + state = HCI_PACKET_START; + bt_hci_process_event_packet(packet); + } + break; + case HCI_ACL_PACKET_HEADER: + if (bytes_left != 0) { + packet[pdata_pos++] = pdata; + bytes_left--; + } else { + state = HCI_ACL_PACKET_DATA; + packet[pdata_pos] = pdata; + bytes_left = (packet[pdata_pos-1] | (packet[pdata_pos] << 8)); +// snprintf(tstr, 32, "ACL data len 0x%04x\n", bytes_left); +// debug_uart_tx(tstr); +// snprintf(tstr, 32, "%d (0x%02x 0x%02x)\n", pdata_pos, packet[pdata_pos-1], packet[pdata_pos]); +// debug_uart_tx(tstr); + pdata_pos++; + } + break; + case HCI_ACL_PACKET_DATA: +// snprintf(tstr, 32, "%02x ", pdata); +// debug_uart_tx(tstr); + packet[pdata_pos++] = pdata; + bytes_left--; + if (bytes_left == 0) { +// debug_uart_tx("\n"); + state = HCI_PACKET_START; + bt_hci_process_acl_packet(packet); + } + break; + default: + debug_uart_tx("hosed HCI state!\n"); + snprintf(tstr, 32, " state = %d\n", state); + debug_uart_tx(tstr); + break; + }; + + // one byte consumed + return 1; +} + +typedef struct { + uint8_t type; + uint16_t cmd; + uint8_t length; +} __attribute__((packed)) bt_hci_cmd_t; + +void bt_hci_cmd(const uint8_t OGF, const uint8_t OCF, const uint8_t data_len, const void *data) +{ + bt_hci_cmd_t packet; + + if (state == EHCILL_SLEEPING) { + uint8_t ehcill_p = EHCILL_WAKE_UP_IND; + + debug_uart_tx("HCILL wakeup\n"); + state = HCI_PACKET_START; + mw_bt_uart_tx(&ehcill_p, 1); + __delay_cycles(300000); + BT_IO_POUT &= ~BT_IO_RTS; // drop RTS -> start data + } + packet.type = HCI_COMMAND_PACKET; + packet.cmd = OCF | (OGF<<10); + packet.length = data_len; + mw_bt_uart_tx(&packet, sizeof(bt_hci_cmd_t)); + if (data_len > 0 && data != NULL) + mw_bt_uart_tx(data, data_len); +} + +typedef struct { + uint8_t type; + uint16_t handle; + uint16_t total_length; + uint16_t data_length; + uint16_t channel; +} __attribute__((packed)) bt_hci_acl_t; + +void bt_acl_send(const uint16_t handle, const uint8_t PB, const uint8_t BC, const uint16_t channel, const uint16_t dlen, const void *dat) +{ + bt_hci_acl_t packet; + + packet.type = HCI_ACL_DATA_PACKET; + packet.handle = handle | ((PB & 0x03) << 12) | ((BC & 0x03) << 14); + packet.total_length = dlen + 4; + packet.data_length = dlen; + packet.channel = channel; + mw_bt_uart_tx(&packet, sizeof(bt_hci_acl_t)); + mw_bt_uart_tx(dat, dlen); +} + +void bt_hci_init(void) +{ + state = HCI_PACKET_START; +} + +void bt_hci_ehcill_wake(void) +{ + uint8_t ehcill_p = EHCILL_WAKE_UP_ACK; + + debug_uart_tx("HCILL wakeup\n"); + + P1IE &= ~BT_IO_CTS; + state = HCI_PACKET_START; + + BT_IO_POUT &= ~BT_IO_RTS; // drop RTS -> start data + + mw_bt_uart_tx(&ehcill_p, 1); + //__delay_cycles(160000); +} + diff --git a/metawatch/bt_hci.h b/metawatch/bt_hci.h new file mode 100644 index 0000000..deecc91 --- /dev/null +++ b/metawatch/bt_hci.h @@ -0,0 +1,92 @@ +#ifndef _BT_HCI_H +#define _BT_HCI_H + +/* HCI Command OGF */ +#define HCI_LINK_CTRL_OGF 0x01 +#define HCI_LINK_POLICY_OGF 0x02 +#define HCI_HC_BB_OGF 0x03 +#define HCI_INFO_PARAM_OGF 0x04 + +/* HCI Command OCF */ +#define HCI_DISCONN_OCF 0x06 +#define HCI_ACCEPT_CONN_REQ_OCF 0x09 +#define HCI_RESET_OCF 0x03 +#define HCI_W_SCAN_EN_OCF 0x1A +#define HCI_R_COD_OCF 0x23 +#define HCI_W_COD_OCF 0x24 +#define HCI_H_BUF_SIZE_OCF 0x33 +#define HCI_H_NUM_COMPL_OCF 0x35 +#define HCI_R_BUF_SIZE_OCF 0x05 +#define HCI_R_BD_ADDR_OCF 0x09 +#define HCI_W_LOCAL_NAME_OCF 0x13 +#define HCI_PIN_CODE_REQ_REP_OCF 0x0D +#define HCI_R_STORED_LINK_KEY_OCF 0x0D +#define HCI_W_STORED_LINK_KEY_OCF 0x11 +#define HCI_LINK_KEY_REQ_REP_OCF 0x0B + +#define HCI_COMMAND_PACKET 0x01 +#define HCI_ACL_DATA_PACKET 0x02 +#define HCI_SCO_DATA_PACKET 0x03 +#define HCI_EVENT_PACKET 0x04 + +#define HCI_EVENT_INQUIRY_COMPLETE 0x01 +#define HCI_EVENT_INQUIRY_RESULT 0x02 +#define HCI_EVENT_CONNECTION_COMPLETE 0x03 +#define HCI_EVENT_CONNECTION_REQUEST 0x04 +#define HCI_EVENT_DISCONNECTION_COMPLETE 0x05 +#define HCI_EVENT_AUTHENTICATION_COMPLETE_EVENT 0x06 +#define HCI_EVENT_REMOTE_NAME_REQUEST_COMPLETE 0x07 +#define HCI_EVENT_ENCRYPTION_CHANGE 0x08 +#define HCI_EVENT_CHANGE_CONNECTION_LINK_KEY_COMPLETE 0x09 +#define HCI_EVENT_MASTER_LINK_KEY_COMPLETE 0x0A +#define HCI_EVENT_READ_REMOTE_SUPPORTED_FEATURES_COMPLETE 0x0B +#define HCI_EVENT_READ_REMOTE_VERSION_INFORMATION_COMPLETE 0x0C +#define HCI_EVENT_QOS_SETUP_COMPLETE 0x0D +#define HCI_EVENT_COMMAND_COMPLETE 0x0E +#define HCI_EVENT_COMMAND_STATUS 0x0F +#define HCI_EVENT_HARDWARE_ERROR 0x10 +#define HCI_EVENT_FLUSH_OCCURED 0x11 +#define HCI_EVENT_ROLE_CHANGE 0x12 +#define HCI_EVENT_NUMBER_OF_COMPLETED_PACKETS 0x13 +#define HCI_EVENT_MODE_CHANGE_EVENT 0x14 +#define HCI_EVENT_RETURN_LINK_KEYS 0x15 +#define HCI_EVENT_PIN_CODE_REQUEST 0x16 +#define HCI_EVENT_LINK_KEY_REQUEST 0x17 +#define HCI_EVENT_LINK_KEY_NOTIFICATION 0x18 +#define HCI_EVENT_DATA_BUFFER_OVERFLOW 0x1A +#define HCI_EVENT_MAX_SLOTS_CHANGED 0x1B +#define HCI_EVENT_READ_CLOCK_OFFSET_COMPLETE 0x1C +#define HCI_EVENT_PACKET_TYPE_CHANGED 0x1D +#define HCI_EVENT_PAGE_SCAN_REPETION_MODE_CHANGE 0x20 +#define HCI_EVENT_INQUIRY_RESULT_WITH_RSSI 0x22 +#define HCI_EVENT_EXTENDED_INQUIRY_RESPONSE 0x2F +#define HCI_EVENT_LE_META 0x3E +#define HCI_EVENT_VENDOR_SPECIFIC 0xFF + +#define HCI_SUBEVENT_LE_CONNECTION_COMPLETE 0x01 +#define HCI_SUBEVENT_LE_ADVERTISING_REPORT 0x02 +#define HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE 0x03 +#define HCI_SUBEVENT_LE_READ_REMOTE_USED_FEATURES_COMPLETE 0x04 +#define HCI_SUBEVENT_LE_LONG_TERM_KEY_REQUEST 0x05 + +#define HCI_LINK_TYPE_SCO 0x00 +#define HCI_LINK_TYPE_ACL 0x01 +#define HCI_LINK_TYPE_ESCO 0x02 + +#define HCI_BB_SCAN_NOSCAN 0x00 +#define HCI_BB_SCAN_INQUIRY 0x01 +#define HCI_BB_SCAN_PAGE 0x02 + +/* CC256x specific eHCILL */ +#define EHCILL_GO_TO_SLEEP_IND 0x30 +#define EHCILL_GO_TO_SLEEP_ACK 0x31 +#define EHCILL_WAKE_UP_IND 0x32 +#define EHCILL_WAKE_UP_ACK 0x33 + +void bt_hci_init(void); +void bt_hci_cmd(const uint8_t OGF, const uint8_t OCF, const uint8_t data_len, const void *data); +void bt_acl_send(const uint16_t handle, const uint8_t PB, const uint8_t BC, const uint16_t channel, const uint16_t len, const void *dat); +uint8_t *bt_hci_get_local_bdaddr(void); +void bt_hci_ehcill_wake(void); +#endif + diff --git a/metawatch/bt_l2cap.c b/metawatch/bt_l2cap.c new file mode 100644 index 0000000..68015ef --- /dev/null +++ b/metawatch/bt_l2cap.c @@ -0,0 +1,274 @@ +#include +#include +#include + +#include "mw_uart.h" +#include "mw_bt.h" +#include "bt_hci.h" +#include "bt_l2cap.h" + +#include "oswald_main.h" + +static bt_l2cap_con_t _l2cap_con; + +void init_l2cap(void) +{ + memset(&_l2cap_con, 0, sizeof(bt_l2cap_con_t)); +} + +void bt_l2cap_proc_dyn_channel(const uint16_t channel, const uint16_t handle, const void *mdat, uint16_t mlen) +{ + if (channel == _l2cap_con.locCID) { + debug_uart_tx("L2CAP data rcvd: "); + debug_dump_ascii(mlen, mdat); + if (_l2cap_con.PSM == 0x1001) { + oswald_handle_comm_input(mlen, mdat); + } else if (_l2cap_con.PSM == 0x0001) { // SDP + debug_uart_tx("SDP req: "); + debug_dump_hex(mlen, mdat); + } else + debug_uart_tx("L2CAP data on unhandled PSM\n"); + } else { + debug_uart_tx("L2CAP CID does not match local CID\n"); + } +} + +uint8_t bt_l2cap_get_connected(const uint16_t channel) +{ + if (_l2cap_con.locCID == channel) + return _l2cap_con.cstate; + else + return BT_L2CAP_CON_IDLE; +} + +void bt_l2cap_send_channel(const uint16_t channel, const void *mdat, uint16_t mlen) +{ + if (_l2cap_con.cstate == BT_L2CAP_CON_CONNECTED && _l2cap_con.hci_handle != 0 && _l2cap_con.remCID != 0 && + mlen != 0 && mdat != NULL) { + bt_acl_send(_l2cap_con.hci_handle, PB_FIRST_FLUSHABLE, BC_NO_BROADCAST, _l2cap_con.remCID, mlen, mdat); + } +} + +typedef struct { + uint8_t resp; + uint8_t ident; + uint16_t length; + uint16_t DCID; + uint16_t SCID; +} __attribute__((packed)) bt_l2cap_disconn_resp_t; + +typedef struct { + uint8_t resp; + uint8_t ident; + uint16_t length; + uint16_t SCID; + uint16_t flags; + uint16_t result; + uint16_t config; +} __attribute__((packed)) bt_l2cap_conf_resp_t; + + +void bt_l2cap_proc_signalling(const uint16_t handle, unsigned char *mdat, uint16_t mlen) +{ +#if defined MW_DEVBOARD_V2 + char tstr[16]; +#endif + debug_uart_tx("ACL L2CAP signalling "); + switch (mdat[0]) { + case COMMAND_REJECT: + debug_uart_tx("command reject\n"); + break; + case CONNECTION_REQUEST: { + uint8_t ident = mdat[1]; + uint16_t PSM = mdat[4] | (mdat[5] << 8);; + uint16_t src_CID = mdat[6] | (mdat[7] << 8);; + +#if defined MW_DEVBOARD_V2 + debug_uart_tx("connection request on "); + snprintf(tstr, 16, "PSM 0x%04x ", PSM); + debug_uart_tx(tstr); + snprintf(tstr, 16, "srcCID 0x%04x\n", src_CID); + debug_uart_tx(tstr); +#endif + bt_l2cap_handle_connection_request(handle, ident, PSM, src_CID); + } break; + case CONNECTION_RESPONSE: + debug_uart_tx("connection response\n"); + break; + case CONFIGURE_REQUEST: { + uint8_t ident = mdat[1]; + uint16_t len = mdat[2] | (mdat[3] << 8); + uint16_t dst_CID = mdat[4] | (mdat[5] << 8); + uint16_t flags = mdat[6] | (mdat[7] << 8); + bt_l2cap_conf_resp_t resp; + +#if defined MW_DEVBOARD_V2 + debug_uart_tx("configure request "); + snprintf(tstr, 16, "len 0x%04x ", len); + debug_uart_tx(tstr); + snprintf(tstr, 16, "DCID 0x%04x ", dst_CID); + debug_uart_tx(tstr); + snprintf(tstr, 16, "flags 0x%04x\n", flags); + debug_uart_tx(tstr); +#if 0 + for (i=8; i<((len-4)+8); i++) { + snprintf(tstr, 16, "0x%02x ", mdat[i]); + debug_uart_tx(tstr); + } + debug_uart_tx("\n"); +#endif + debug_dump_hex(len-4+8, (mdat+8)); +#endif + resp.resp = CONFIGURE_RESPONSE; + resp.ident = ident; + resp.length = 0x06; + if (dst_CID != _l2cap_con.locCID) + debug_uart_tx("warning: DCID does not match\n"); + resp.SCID = _l2cap_con.remCID; + resp.flags = flags; + resp.result = 0x0000; // success + resp.config = 0x0000; // OK? + + bt_acl_send(handle, PB_FIRST_FLUSHABLE, BC_NO_BROADCAST, L2CAP_CID_SIGNALING, sizeof(bt_l2cap_conf_resp_t)-2, &resp); + + } break; + case CONFIGURE_RESPONSE: + debug_uart_tx("configure response\n"); + break; + case DISCONNECTION_REQUEST: { + bt_l2cap_disconn_resp_t resp; + uint8_t ident = mdat[1]; + uint16_t dst_CID = mdat[4] | (mdat[5] << 8); + uint16_t src_CID = mdat[6] | (mdat[7] << 8); + + debug_uart_tx("disconnect request\n"); + + if (dst_CID != _l2cap_con.locCID || src_CID != _l2cap_con.remCID) + debug_uart_tx("warning: discon on unknown CID\n"); + resp.resp = DISCONNECTION_RESPONSE; + resp.ident = ident; + resp.length = 0x0004; + resp.DCID = _l2cap_con.locCID; + resp.SCID = _l2cap_con.remCID; + + bt_acl_send(handle, PB_FIRST_FLUSHABLE, BC_NO_BROADCAST, L2CAP_CID_SIGNALING, sizeof(bt_l2cap_disconn_resp_t), &resp); + + init_l2cap(); + } break; + case DISCONNECTION_RESPONSE: + debug_uart_tx("disconnect response\n"); + break; + case ECHO_REQUEST: + debug_uart_tx("echo request\n"); + mdat[0] = ECHO_RESPONSE; + bt_acl_send(handle, PB_FIRST_FLUSHABLE, BC_NO_BROADCAST, L2CAP_CID_SIGNALING, mlen, mdat); + break; + case ECHO_RESPONSE: + debug_uart_tx("echo response\n"); + break; + case INFORMATION_REQUEST: { + uint16_t info_type = mdat[4] | (mdat[5] << 8); + debug_uart_tx("information request "); + switch (info_type) { + case 0x0001: + debug_uart_tx("connectionless mtu\n"); + break; + case 0x0002: + debug_uart_tx("ext. feat. support\n"); + mdat[0] = INFORMATION_RESPONSE; + mdat[2] = 0x02; + mdat[3] = 0x00; + mdat[6] = 0x01; // not supported + mdat[7] = 0x00; + bt_acl_send(handle, PB_FIRST_FLUSHABLE, BC_NO_BROADCAST, L2CAP_CID_SIGNALING, 0x08, mdat); + break; + case 0x0003: + debug_uart_tx("fixed channel support\n"); + break; + default: + debug_uart_tx("unknown\n"); + break; + }; + } break; + case INFORMATION_RESPONSE: + debug_uart_tx("information response\n"); + break; + default: + debug_uart_tx("unknown\n"); + break; + } +} + +typedef struct { + uint8_t resp; + uint8_t ident; + uint16_t length; + uint16_t DCID; + uint16_t SCID; + uint16_t result; + uint16_t status; +} __attribute__((packed)) bt_l2cap_conn_resp_t; + +typedef struct { + uint8_t resp; + uint8_t ident; + uint16_t length; + uint16_t DCID; + uint16_t flags; + uint8_t option; + uint8_t olen; + uint16_t odat; +} __attribute__((packed)) bt_l2cap_conf_req_t; + +void bt_l2cap_handle_connection_request(const uint16_t handle, const uint8_t ident, const uint16_t PSM, const uint16_t src_CID) +{ + bt_l2cap_conn_resp_t resp; + + if (_l2cap_con.cstate == BT_L2CAP_CON_IDLE) { + bt_l2cap_conf_req_t req; + + _l2cap_con.cstate = BT_L2CAP_CON_CONNECTED; + _l2cap_con.hci_handle = handle; + _l2cap_con.PSM = PSM; + + _l2cap_con.locCID = 0x0040; + _l2cap_con.remCID = src_CID; + + _l2cap_con.locMTU = 0xf0; + _l2cap_con.remMTU = 0x00; + + resp.resp = CONNECTION_RESPONSE; + resp.ident = ident; + resp.length = 0x0008; + resp.DCID = _l2cap_con.locCID; + resp.SCID = _l2cap_con.remCID; + resp.result = BT_L2CAP_CON_RES_SUCCESS; + resp.status = BT_L2CAP_CON_STAT_NOINFO; + + debug_uart_tx("l2cap accepting connection\n"); + bt_acl_send(handle, PB_FIRST_FLUSHABLE, BC_NO_BROADCAST, L2CAP_CID_SIGNALING, sizeof(bt_l2cap_conn_resp_t), &resp); + + req.resp = CONFIGURE_REQUEST; + req.ident = ident; + req.length = 0x08; + req.DCID = _l2cap_con.remCID; + req.flags = 0x00; + req.option = 0x01; // MTU + req.olen = 0x02; + req.odat = _l2cap_con.locMTU; + + bt_acl_send(handle, PB_FIRST_FLUSHABLE, BC_NO_BROADCAST, L2CAP_CID_SIGNALING, sizeof(bt_l2cap_conf_req_t), &req); + } else { + resp.resp = CONNECTION_RESPONSE; + resp.ident = ident; + resp.length = 0x0008; + resp.DCID = 0x0000; + resp.SCID = src_CID; + resp.result = BT_L2CAP_CON_RES_REFUSED_RSRC; + resp.status = BT_L2CAP_CON_STAT_NOINFO; + + debug_uart_tx("l2cap refusing connection\n"); + bt_acl_send(handle, PB_FIRST_FLUSHABLE, BC_NO_BROADCAST, L2CAP_CID_SIGNALING, sizeof(bt_l2cap_conn_resp_t), &resp); + } +} + diff --git a/metawatch/bt_l2cap.h b/metawatch/bt_l2cap.h new file mode 100644 index 0000000..075ee6b --- /dev/null +++ b/metawatch/bt_l2cap.h @@ -0,0 +1,77 @@ +#ifndef _BT_L2CAP_H +#define _BT_L2CAP_H + + +#define L2CAP_CID_SIGNALING 0x0001 +#define L2CAP_CID_CONNECTIONLESS_CHANNEL 0x0002 +#define L2CAP_CID_ATTRIBUTE_PROTOCOL 0x0004 +#define L2CAP_CID_SIGNALING_LE 0x0005 +#define L2CAP_CID_SECURITY_MANAGER_PROTOCOL 0x0006 + +typedef enum { + COMMAND_REJECT = 1, + CONNECTION_REQUEST, + CONNECTION_RESPONSE, + CONFIGURE_REQUEST, + CONFIGURE_RESPONSE, + DISCONNECTION_REQUEST, + DISCONNECTION_RESPONSE, + ECHO_REQUEST, + ECHO_RESPONSE, + INFORMATION_REQUEST, + INFORMATION_RESPONSE +} L2CAP_SIGNALING_COMMANDS; + +typedef enum { + PB_FIRST_NON_FLUSH = 0, + PB_CONTINUE_FRAGMENT, + PB_FIRST_FLUSHABLE, + PB_COMPLETE_PDU +} L2CAP_PB_FLAG; + +typedef enum { + BC_NO_BROADCAST = 0, + BC_ACTIVE_SLAVE, + BC_PARKED_SLAVE, + BC_RESERVED +} L2CAP_BC_FLAG; + +// Connection result values +#define BT_L2CAP_CON_RES_SUCCESS 0x0000 +#define BT_L2CAP_CON_RES_PENDING 0x0001 +#define BT_L2CAP_CON_RES_REFUSED_PSM 0x0002 +#define BT_L2CAP_CON_RES_REFUSED_SECURITY 0x0003 +#define BT_L2CAP_CON_RES_REFUSED_RSRC 0x0004 + +#define BT_L2CAP_CON_STAT_NOINFO 0x0000 +#define BT_L2CAP_CON_STAT_AUTHEN_PENDING 0x0001 +#define BT_L2CAP_CON_STAT_AUTHOR_PENDING 0x0002 + +typedef enum { + BT_L2CAP_CON_IDLE = 0, + BT_L2CAP_CON_CONNECTED +} bt_l2cap_con_state_t; + +// describes the L2CAP connection +typedef struct { + bt_l2cap_con_state_t cstate; + + uint16_t hci_handle; + uint16_t PSM; // PSM of this connection + + uint16_t locCID; // our local CID + uint16_t remCID; // remote host CID + + uint16_t locMTU; + uint16_t remMTU; +} bt_l2cap_con_t; + +void init_l2cap(void); +void bt_l2cap_proc_dyn_channel(const uint16_t channel, const uint16_t handle, const void *mdat, uint16_t mlen); +uint8_t bt_l2cap_get_connected(const uint16_t channel); +void bt_l2cap_send_channel(const uint16_t channel, const void *mdat, uint16_t mlen); +void bt_l2cap_proc_signalling(const uint16_t handle, unsigned char *mdat, uint16_t mlen); +void bt_l2cap_handle_connection_request(const uint16_t handle, const uint8_t ident, const uint16_t PSM, const uint16_t src_CID); + +#endif + diff --git a/metawatch/calendar.d b/metawatch/calendar.d new file mode 100644 index 0000000..20d6983 --- /dev/null +++ b/metawatch/calendar.d @@ -0,0 +1,12 @@ +calendar.o: calendar.c oswald.h \ + /opt/msp430/lib/gcc/msp430/4.7.0/../../../../msp430/include/stdio.h \ + /opt/msp430/lib/gcc/msp430/4.7.0/include/stddef.h \ + /opt/msp430/lib/gcc/msp430/4.7.0/../../../../msp430/include/sys/types.h \ + /opt/msp430/lib/gcc/msp430/4.7.0/../../../../msp430/include/sys/cdefs.h \ + /opt/msp430/lib/gcc/msp430/4.7.0/../../../../msp430/include/sys/inttypes.h \ + /opt/msp430/lib/gcc/msp430/4.7.0/../../../../msp430/include/inttypes.h \ + /opt/msp430/lib/gcc/msp430/4.7.0/../../../../msp430/include/stdint.h \ + /opt/msp430/lib/gcc/msp430/4.7.0/../../../../msp430/include/msp430libc.h \ + /opt/msp430/lib/gcc/msp430/4.7.0/include/stdarg.h \ + /opt/msp430/lib/gcc/msp430/4.7.0/../../../../msp430/include/string.h \ + calendar.h diff --git a/metawatch/hal_devboard_v2_defs.h b/metawatch/hal_devboard_v2_defs.h new file mode 100644 index 0000000..fe94d99 --- /dev/null +++ b/metawatch/hal_devboard_v2_defs.h @@ -0,0 +1,660 @@ +//============================================================================== +// Copyright 2011 Meta Watch Ltd. - http://www.MetaWatch.org/ +// +// Licensed under the Meta Watch License, Version 1.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.MetaWatch.org/licenses/license-1.0.html +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +//============================================================================== + +/******************************************************************************/ +/*! \file hal_devboard_v2_defs.h + * + * Pin and peripheral definitions for Development Board Version 2 + */ +/******************************************************************************/ + + +#ifndef HAL_DEVBOARD_V2_DEFS_H +#define HAL_DEVBOARD_V2_DEFS_H + + +// Defines for the LCD display interface, single channel SPI output +#define LCD_5V_PDIR P4DIR +#define LCD_5V_POUT P4OUT +#define LCD_5V_BIT BIT0 + +#define ENABLE_LCD_POWER() { \ + LCD_5V_PDIR |= LCD_5V_BIT; \ + LCD_5V_POUT |= LCD_5V_BIT; \ +} + +#define DISABLE_LCD_POWER() { \ + LCD_5V_PDIR |= LCD_5V_BIT; \ + LCD_5V_POUT &= ~LCD_5V_BIT; \ +} + +#define LCD_ENABLE_PDIR ( P3DIR ) +#define LCD_ENABLE_POUT ( P3OUT ) +#define LCD_ENABLE_PIN ( BIT6 ) + +#define ENABLE_LCD_ENABLE() { \ + LCD_ENABLE_PDIR |= LCD_ENABLE_PIN; \ + LCD_ENABLE_POUT |= LCD_ENABLE_PIN; \ +} + +#define DISABLE_LCD_ENABLE() { \ + LCD_ENABLE_PDIR |= LCD_ENABLE_PIN; \ + LCD_ENABLE_POUT &= ~LCD_ENABLE_PIN; \ +} + +#define LCD_CS_PDIR ( P9DIR ) +#define LCD_CS_POUT ( P9OUT ) +#define LCD_CS_PIN ( BIT0 ) + +#define LCD_SPI_PORT_SEL ( P3SEL ) +#define LCD_SPI_SIMO_BIT ( BIT1 ) +#define LCD_SPI_CLK_BIT ( BIT3 ) +#define LCD_SPI_SOMI_BIT ( BIT2 ) + +#define LCD_CS_ASSERT() { LCD_CS_POUT |= LCD_CS_PIN; } +#define LCD_CS_DEASSERT() { LCD_CS_POUT &= ~LCD_CS_PIN; } + +#define CONFIG_LCD_PINS() { \ + LCD_SPI_PORT_SEL |= LCD_SPI_SIMO_BIT; \ + LCD_SPI_PORT_SEL |= LCD_SPI_CLK_BIT; \ + LCD_SPI_PORT_SEL |= LCD_SPI_SOMI_BIT; \ + ENABLE_LCD_ENABLE(); \ + LCD_CS_PDIR |= LCD_CS_PIN; \ + LCD_CS_DEASSERT(); \ +} + +// labeled EL_EN on schematic +#define LCD_LED_PDIR ( P4DIR ) +#define LCD_LED_POUT ( P4OUT ) +#define LCD_LED_PIN ( BIT4 ) + +#define DISABLE_LCD_LED() { \ + LCD_LED_PDIR |= LCD_LED_PIN; \ + LCD_LED_POUT &= ~LCD_LED_PIN; \ +} + +#define ENABLE_LCD_LED() { \ + LCD_LED_PDIR |= LCD_LED_PIN; \ + LCD_LED_POUT |= LCD_LED_PIN; \ +} + +#define LCD_SPI_UCBxCTL0 UCB0CTL0 // Control register +#define LCD_SPI_UCBxCTL1 UCB0CTL1 // Control register +#define LCD_SPI_UCBxBR0 UCB0BR0 // Baudrate prescale +#define LCD_SPI_UCBxBR1 UCB0BR1 // Baudrate divider + +#define LCD_SPI_UCBxTXBUF UCB0TXBUF // Transmit buffer +#define LCD_SPI_UCBxRXBUF UCB0RXBUF // Receive buffer + +#define LCD_SPI_UCBxIE UCB0IE // Interrupt enable register +#define LCD_SPI_UCBxIFG UCB0IFG // Interrupt flag register +#define LCD_SPI_UCBxIV UCB0IV // Interrupt vector register +#define LCD_SPI_UCBxSTAT UCB0STAT // status register + + +// Definitions for the OLED Display +// peripheral mapping for OLED +#define OLED_I2C_CTL0 ( UCB0CTL0 ) +#define OLED_I2C_CTL1 ( UCB0CTL1 ) +#define OLED_I2C_BR0 ( UCB0BR0 ) +#define OLED_I2C_BR1 ( UCB0BR1 ) +#define OLED_I2C_I2CSA ( UCB0I2CSA ) +#define OLED_I2C_IE ( UCB0IE ) +#define OLED_I2C_IFG ( UCB0IFG ) +#define OLED_I2C_TXBUF ( UCB0TXBUF ) +#define OLED_I2C_RXBUF ( UCB0RXBUF ) +// interrupt mapping for OLED +#define USCI_OLED_I2C_VECTOR ( USCI_B0_VECTOR ) +#define USCI_OLED_I2C_IV ( UCB0IV ) + +// OLED reset is active low +#define OLED_RSTN_PDIR ( P8DIR ) +#define OLED_RSTN_POUT ( P8OUT ) +#define OLED_RSTN_PIN ( BIT7 ) + +#define OLED_RSTN_CONFIG() { OLED_RSTN_PDIR |= OLED_RSTN_PIN; OLED_RSTN_ASSERT(); } +#define OLED_RSTN_ASSERT() { OLED_RSTN_POUT &= ~OLED_RSTN_PIN; } +#define OLED_RSTN_DEASSERT() { OLED_RSTN_POUT |= OLED_RSTN_PIN; } + +#define OLED_CS1N_PDIR ( P8DIR ) +#define OLED_CS1N_POUT ( P8OUT ) +#define OLED_CS1N_PIN ( BIT0 ) + +#define OLED_CS1N_CONFIG() { OLED_CS1N_PDIR |= OLED_CS1N_PIN; OLED_CS1N_DISABLE(); } +#define OLED_CS1N_ENABLE() { OLED_CS1N_POUT &= ~OLED_CS1N_PIN; } +#define OLED_CS1N_DISABLE() { OLED_CS1N_POUT |= OLED_CS1N_PIN; } + +#define OLED_CS2N_PDIR ( P8DIR ) +#define OLED_CS2N_POUT ( P8OUT ) +#define OLED_CS2N_PIN ( BIT1 ) + +#define OLED_CS2N_CONFIG() { OLED_CS2N_PDIR |= OLED_CS2N_PIN; OLED_CS2N_DISABLE(); } +#define OLED_CS2N_ENABLE() { OLED_CS2N_POUT &= ~OLED_CS2N_PIN; } +#define OLED_CS2N_DISABLE() { OLED_CS2N_POUT |= OLED_CS2N_PIN; } + +#define OLED_SDA_PDIR ( P3DIR ) +#define OLED_SDA_POUT ( P3OUT ) +#define OLED_SDA_PIN ( BIT1 ) +#define OLED_SDA_PSEL ( P3SEL) + +#define OLED_SCL_PDIR ( P3DIR ) +#define OLED_SCL_POUT ( P3OUT ) +#define OLED_SCL_PORT ( P3 ) +#define OLED_SCL_PIN ( BIT2 ) +#define OLED_SCL_PSEL ( P3SEL ) + +// the select line overrides the pdir and pout settings +#define OLED_SDA_CONFIG_FOR_PERIPHERAL_USE() { OLED_SDA_PSEL |= OLED_SDA_PIN; } +#define OLED_SCL_CONFIG_FOR_PERIPHERAL_USE() { OLED_SCL_PSEL |= OLED_SCL_PIN; } + +#define OLED_I2C_CONFIG_FOR_PERIPHERAL_USE() { \ + OLED_SDA_CONFIG_FOR_PERIPHERAL_USE(); \ + OLED_SCL_CONFIG_FOR_PERIPHERAL_USE(); } + +#define OLED_SDA_CONFIG_FOR_SLEEP() { \ + OLED_SDA_PSEL &= ~OLED_SDA_PIN; \ + OLED_SDA_PDIR |= OLED_SDA_PIN; \ + OLED_SDA_POUT |= OLED_SDA_PIN; } + +#define OLED_SCL_CONFIG_FOR_SLEEP() { \ + OLED_SCL_PSEL &= ~OLED_SCL_PIN; \ + OLED_SCL_PDIR |= OLED_SCL_PIN; \ + OLED_SCL_POUT |= OLED_SCL_PIN; } + +#define OLED_I2C_CONFIG_FOR_SLEEP() { \ + OLED_SDA_CONFIG_FOR_SLEEP(); \ + OLED_SCL_CONFIG_FOR_SLEEP(); } + +#define OLED_POWER_ENABLE_PIN ( BIT0 ) +#define OLED_POWER_ENABLE_POUT ( P4OUT ) +#define OLED_POWER_ENABLE_PDIR ( P4DIR ) +#define OLED_POWER_CONFIG() { P4DIR |= OLED_POWER_ENABLE_PIN; OLED_POWER_DISABLE(); } +#define OLED_POWER_ENABLE() { P4OUT |= OLED_POWER_ENABLE_PIN; } +#define OLED_POWER_DISABLE() { P4OUT &= ~OLED_POWER_ENABLE_PIN; } + +// VLED_EN is active low +#define OLED_IO_POWER_ENABLE_PIN ( BIT3 ) +#define OLED_IO_POWER_ENABLE_POUT ( P5OUT ) +#define OLED_IO_POWER_ENABLE_PDIR ( P5DIR ) +#define OLED_IO_POWER_CONFIG() { P5DIR |= OLED_IO_POWER_ENABLE_PIN; OLED_IO_POWER_DISABLE(); } +#define OLED_IO_POWER_ENABLE() { P5OUT &= ~OLED_IO_POWER_ENABLE_PIN; } +#define OLED_IO_POWER_DISABLE() { P5OUT |= OLED_IO_POWER_ENABLE_PIN; } + +#ifdef ANALOG +#define CONFIG_OLED_PINS() { \ + OLED_RSTN_CONFIG(); \ + OLED_CS1N_CONFIG(); \ + OLED_CS2N_CONFIG(); \ + OLED_POWER_CONFIG(); \ + OLED_I2C_CONFIG_FOR_SLEEP(); \ + OLED_IO_POWER_CONFIG(); \ +} +#else +/* jumpers for 10V must be removed for power consumption measurements */ +#define CONFIG_OLED_PINS() { \ + OLED_RSTN_CONFIG(); \ + OLED_CS1N_CONFIG(); \ + OLED_CS1N_ENABLE(); \ + OLED_CS2N_CONFIG(); \ + OLED_CS2N_ENABLE(); \ + OLED_POWER_CONFIG(); \ + OLED_IO_POWER_CONFIG(); \ +} +#endif + + +// Real time clock defines +// RTC 1 Hz output, also used to toggle the bias on the LCD +#define RTC_1HZ_PORT_DIR ( P2DIR ) +#define RTC_1HZ_PORT_SEL ( P2SEL ) +#define RTC_1HZ_BIT ( BIT4 ) + + +// Button defines + +#define BUTTON_TIME_COUNT_ARRAY_LEN 8 +#define ALL_BUTTONS_OFF 0xFF + +#define SW_A BIT0 +#define SW_B BIT1 +#define SW_C BIT2 +#define SW_D BIT3 +// Bit 4 is not used +#define SW_E BIT5 +#define SW_F BIT6 +#define SW_P BIT7 + +#define SW_A_INDEX ( 0 ) +#define SW_B_INDEX ( 1 ) +#define SW_C_INDEX ( 2 ) +#define SW_D_INDEX ( 3 ) +#define SW_UNUSED_INDEX ( 4 ) +#define SW_E_INDEX ( 5 ) +#define SW_F_INDEX ( 6 ) +#define SW_P_INDEX ( 7 ) +#define TOTAL_BTN_NUM ( 8 ) + +#ifdef ANALOG + /* analog board has traces for all of the buttons but + * only 3 and pull switch are populated */ + #define ALL_BUTTONS (SW_A | SW_B | SW_C | SW_P) + +#elif defined(DIGITAL) + + #define ALL_BUTTONS (SW_A | SW_B | SW_C | SW_D | SW_E | SW_F) + +#endif + +#define RESISTOR_ENABLE_BUTTONS ( ALL_BUTTONS ) +#define INT_EDGE_SEL_BUTTONS (ALL_BUTTONS) + +#define BUTTON_PORT_VECTOR PORT2_VECTOR +#define BUTTON_PORT_DIR P2DIR +#define BUTTON_PORT_SEL P2SEL +#define BUTTON_PORT_OUT P2OUT +#define BUTTON_PORT_REN P2REN +#define BUTTON_PORT_IE P2IE +#define BUTTON_PORT_IES P2IES +#define BUTTON_PORT_IFG P2IFG + +#define DISABLE_BUTTONS() { \ + BUTTON_PORT_IE &= ~INT_EDGE_SEL_BUTTONS; \ + BUTTON_PORT_REN &= ~ALL_BUTTONS; \ + BUTTON_PORT_OUT &= ~ALL_BUTTONS; \ +} + +/* SHIPPING */ +/* S5 or SW_E is the button that takes the watch out of shipping mode */ +#define ENABLE_SHIPPING_WAKEUP() { \ + P1IE = 0x00; \ + PMMCTL0_H = 0xA5; \ + PMMRIE = 0x0000; \ + RTCPS0CTL = 0x0000; \ + RTCPS1CTL = 0x0000; \ + UCSCTL8 = 0x0700; \ + BUTTON_PORT_REN = SW_E; \ + BUTTON_PORT_OUT = SW_E; \ + BUTTON_PORT_DIR &= ~SW_E; \ + BUTTON_PORT_IES = SW_E; \ + BUTTON_PORT_IFG = 0x00; \ + BUTTON_PORT_IE = SW_E; \ +} + +// NOTE the the buttons are grounded. That means that we want to invert the bits +// when reading the port to have positive logic where a button press is a "1" +#define BUTTON_PORT_IN ~P2IN + +// Configure the hardware port for the button support P2.4 is excluded +#define CONFIGURE_BUTTON_PINS() { \ + BUTTON_PORT_REN = (unsigned char) RESISTOR_ENABLE_BUTTONS; \ + BUTTON_PORT_OUT = (unsigned char) ALL_BUTTONS; \ + BUTTON_PORT_DIR &= (unsigned char) ~ALL_BUTTONS; \ + BUTTON_PORT_IES |= INT_EDGE_SEL_BUTTONS; \ + BUTTON_PORT_IFG &= ~ALL_BUTTONS; \ + BUTTON_PORT_IE |= ALL_BUTTONS; \ +} + + +// Battery charger control for a BQ24080 +#define BAT_CHARGE_DIR P6DIR +#define BAT_CHARGE_REN P6REN +#define BAT_CHARGE_OUT P6OUT +#define BAT_CHARGE_IN P6IN +//#define BAT_CHARGE_IE P6IE +//#define PWR_PORT_VECTOR PORT6_VECTOR +//#define PWR_PORT_IFG P6IFG + +#define BAT_CHARGE_ENABLE_PIN BIT2 +#define BAT_CHARGE_STAT1 BIT3 +#define BAT_CHARGE_STAT2 BIT4 +#define BAT_CHARGE_PWR_BIT BIT5 + +// Enable charging, asserted low +#define BATTERY_CHARGE_ENABLE() { BAT_CHARGE_OUT &= ~BAT_CHARGE_ENABLE_PIN; } + +// disable charging, sleep the part +#define BATTERY_CHARGE_DISABLE() { BAT_CHARGE_OUT |= BAT_CHARGE_ENABLE_PIN; } + + +// +// Ambient Light Sensor +// +#define GC1_PDIR ( P6DIR ) +#define GC1_POUT ( P6OUT ) +#define GC1_PSEL ( P6SEL ) +#define GC1_PIN ( BIT0 ) + +#define GC2_PDIR ( P6DIR ) +#define GC2_POUT ( P6OUT ) +#define GC2_PSEL ( P6SEL ) +#define GC2_PIN ( BIT6 ) + +#define IOUT_PDIR ( P6DIR ) +#define IOUT_PSEL ( P6SEL ) +#define IOUT_PIN ( BIT1 ) + +#define LIGHT_SENSE_INIT() \ +{ \ + IOUT_PDIR &= ~IOUT_PIN; \ + IOUT_PSEL |= IOUT_PIN; \ + GC1_PDIR |= GC1_PIN; \ + GC2_PDIR |= GC2_PIN; \ + LIGHT_SENSE_DISABLE(); \ +} + +#define LIGHT_SENSOR_SHUTDOWN() \ +{ \ + GC1_POUT &= ~GC1_PIN; \ + GC2_POUT &= ~GC2_PIN; \ +} + +#define LIGHT_SENSOR_L_GAIN() \ +{ \ + GC1_POUT |= GC1_PIN; \ + GC2_POUT |= GC2_PIN; \ +} + +#define LIGHT_SENSE_ENABLE()\ +{ \ + LIGHT_SENSOR_L_GAIN(); \ +} + +#define LIGHT_SENSE_DISABLE() \ +{ \ + LIGHT_SENSOR_SHUTDOWN(); \ +} + + + +// +// This pin controls if the battery voltage can be read +// +#define BATTERY_READ_CONTROL_PDIR ( P4DIR ) +#define BATTERY_READ_CONTROL_POUT ( P4OUT ) +#define BATTERY_READ_CONTROL_PIN ( BIT6 ) + +#define BATTERY_SENSE_INPUT_PDIR ( P7DIR ) +#define BATTERY_SENSE_INPUT_PSEL ( P7SEL ) +#define BATTERY_SENSE_INPUT_PIN ( BIT7 ) + +#define BATTERY_SENSE_INIT() \ +{ \ + BATTERY_READ_CONTROL_PDIR |= BATTERY_READ_CONTROL_PIN; \ + BATTERY_SENSE_INPUT_PDIR &= ~BATTERY_SENSE_INPUT_PIN; \ + BATTERY_SENSE_INPUT_PSEL |= BATTERY_SENSE_INPUT_PIN; \ + BATTERY_SENSE_DISABLE(); \ +} + +#define BATTERY_SENSE_ENABLE() \ +{ \ + BATTERY_READ_CONTROL_POUT |= BATTERY_READ_CONTROL_PIN; \ +} + +#define BATTERY_SENSE_DISABLE() \ +{ \ + BATTERY_READ_CONTROL_POUT &= ~BATTERY_READ_CONTROL_PIN; \ +} + +// +// hardware configuration is a voltage divider to ADC input +// +#define HARDWARE_CFG_CONTROL_PDIR ( P5DIR ) +#define HARDWARE_CFG_CONTROL_POUT ( P5OUT ) +#define HARDWARE_CFG_CONTROL_PIN ( BIT0 ) + +#define HARDWARE_CFG_INPUT_PDIR ( P7DIR ) +#define HARDWARE_CFG_INPUT_PSEL ( P7SEL ) +#define HARDWARE_CFG_INPUT_PIN ( BIT5 ) + +#define HARDWARE_CFG_SENSE_INIT() \ +{ \ + HARDWARE_CFG_CONTROL_PDIR |= HARDWARE_CFG_CONTROL_PIN; \ + HARDWARE_CFG_INPUT_PDIR &= ~HARDWARE_CFG_INPUT_PIN; \ + HARDWARE_CFG_INPUT_PSEL |= HARDWARE_CFG_INPUT_PIN; \ + HARDWARE_CFG_SENSE_DISABLE(); \ +} + +#define HARDWARE_CFG_SENSE_ENABLE() \ +{ \ + HARDWARE_CFG_CONTROL_POUT |= HARDWARE_CFG_CONTROL_PIN; \ +} + +#define HARDWARE_CFG_SENSE_DISABLE() \ +{ \ + HARDWARE_CFG_CONTROL_POUT &= ~HARDWARE_CFG_CONTROL_PIN; \ +} + + +#define APPLE_SDA_PDIR ( P10DIR ) +#define APPLE_SDA_POUT ( P10OUT ) +#define APPLE_SDA_PIN ( BIT1 ) + +#define APPLE_SCL_PDIR ( P10DIR ) +#define APPLE_SCL_POUT ( P10OUT ) +#define APPLE_SCL_PIN ( BIT2 ) + +#define APPLE_POWER_PDIR ( P4DIR ) +#define APPLE_POWER_POUT ( P4OUT ) +#define APPLE_POWER_PIN ( BIT5 ) + +/* power enable is active low */ +#define APPLE_POWER_ENABLE() { APPLE_POWER_POUT &= ~APPLE_POWER_PIN; } +#define APPLE_POWER_DISABLE() { APPLE_POWER_POUT |= APPLE_POWER_PIN; } + +#define APPLE_POWER_CONFIG() { \ + APPLE_POWER_PDIR |= APPLE_POWER_PIN; \ + APPLE_POWER_DISABLE(); \ +} + + +/* since the apple chip is currently not powered + * the pins should be at 0 instead of 1 + */ +#define APPLE_I2C_PIN_CONFIG() { \ + APPLE_SDA_PDIR |= APPLE_SDA_PIN; \ + APPLE_SDA_POUT &= ~APPLE_SDA_PIN; \ + APPLE_SCL_PDIR |= APPLE_SCL_PIN; \ + APPLE_SCL_POUT &= ~APPLE_SCL_PIN; \ +} + +#define APPLE_CONFIG() { \ + APPLE_POWER_CONFIG(); \ + APPLE_I2C_PIN_CONFIG(); \ +} + +#define SRAM_SCLK_PSEL ( P3SEL ) +#define SRAM_SCLK_PDIR ( P3DIR ) +#define SRAM_SCLK_POUT ( P3OUT ) +#define SRAM_SCLK_PIN ( BIT0 ) + +#define SRAM_SOMI_PSEL ( P3SEL ) +#define SRAM_SOMI_PDIR ( P3DIR ) +#define SRAM_SOMI_POUT ( P3OUT ) +#define SRAM_SOMI_PIN ( BIT5 ) + +#define SRAM_SIMO_PSEL ( P3SEL ) +#define SRAM_SIMO_PDIR ( P3DIR ) +#define SRAM_SIMO_POUT ( P3OUT ) +#define SRAM_SIMO_PIN ( BIT4 ) + +#define SRAM_CSN_PDIR ( P9DIR ) +#define SRAM_CSN_POUT ( P9OUT ) +#define SRAM_CSN_PIN ( BIT6) + +#define SRAM_HOLDN_PDIR ( P9DIR ) +#define SRAM_HOLDN_POUT ( P9OUT ) +#define SRAM_HOLDN_PIN ( BIT7 ) + +#define CONFIG_SRAM_PINS() \ +{ \ + SRAM_CSN_PDIR |= SRAM_CSN_PIN; \ + SRAM_CSN_POUT |= SRAM_CSN_PIN; \ + SRAM_HOLDN_PDIR |= SRAM_HOLDN_PIN; \ + SRAM_HOLDN_POUT |= SRAM_HOLDN_PIN; \ +} + +#define SRAM_CSN_ASSERT() { SRAM_CSN_POUT &= ~SRAM_CSN_PIN; } + +#define SRAM_CSN_DEASSERT() { \ + WAIT_FOR_SRAM_SPI_SHIFT_COMPLETE(); \ + SRAM_CSN_POUT |= SRAM_CSN_PIN; \ +} + +/* wait for shift to complete ( ~3 us ) */ +#define WAIT_FOR_SRAM_SPI_SHIFT_COMPLETE() { while( (UCA0STAT & 0x01) != 0 ); } + +#define ACCELEROMETER_SDA_PIN ( BIT7 ) +#define ACCELEROMETER_SDA_PSEL ( P3SEL ) +#define ACCELEROMETER_SDA_POUT ( P3OUT ) +#define ACCELEROMETER_SDA_PDIR ( P3OUT ) +#define ACCELEROMETER_SDA_PREN ( P1REN ) + +#define ACCELEROMETER_SCL_PIN ( BIT4 ) +#define ACCELEROMETER_SCL_PSEL ( P5SEL ) +#define ACCELEROMETER_SCL_POUT ( P5OUT ) +#define ACCELEROMETER_SCL_PDIR ( P5OUT ) +#define ACCELEROMETER_SCL_PREN ( P5REN ) + +#define ACCELEROMETER_INT_PIN ( BIT7 ) +#define ACCELEROMETER_INT_PDIR ( P1DIR ) +#define ACCELEROMETER_INT_PSEL ( P1SEL ) +#define ACCELEROMETER_INT_PIFG ( P1IFG ) +#define ACCELEROMETER_INT_PIE ( P1IE ) + +#define ACCELEROMETER_POWER_POUT ( P9OUT ) +#define ACCELEROMETER_POWER_PDIR ( P9DIR ) +#define ACCELEROMETER_POWER_PINS ( BIT1 | BIT2 ) + +/* this is for reference only (it doesn't control anything) */ +#define ACCELEROMETER_INT_NUM (PIN7_INT) + +#define LED4_PIN ( BIT2 ) +#define LED5_PIN ( BIT3 ) +#define LED6_PIN ( BIT4 ) +#define LED7_PIN ( BIT5 ) + +#define LEDS_PDIR ( P8DIR ) +#define LEDS_POUT ( P8OUT ) + +#define LED4_ON() { LEDS_POUT |= LED4_PIN; } +#define LED5_ON() { LEDS_POUT |= LED5_PIN; } +#define LED6_ON() { LEDS_POUT |= LED6_PIN; } +#define LED7_ON() { LEDS_POUT |= LED7_PIN; } + +#define LED4_OFF() { LEDS_POUT &= ~LED4_PIN; } +#define LED5_OFF() { LEDS_POUT &= ~LED5_PIN; } +#define LED6_OFF() { LEDS_POUT &= ~LED6_PIN; } +#define LED7_OFF() { LEDS_POUT &= ~LED7_PIN; } + +#define LED4_TOGGLE() { LEDS_POUT ^= LED4_PIN; } +#define LED5_TOGGLE() { LEDS_POUT ^= LED5_PIN; } +#define LED6_TOGGLE() { LEDS_POUT ^= LED6_PIN; } +#define LED7_TOGGLE() { LEDS_POUT ^= LED7_PIN; } + +#define CONFIG_LED_PINS() { \ + LEDS_PDIR |= LED4_PIN | LED5_PIN | LED6_PIN | LED7_PIN; \ + LED4_OFF(); LED5_OFF(); LED6_OFF(); LED7_OFF(); \ +} + +#define DEBUG1_PIN ( BIT1 ) +#define DEBUG3_PIN ( BIT4 ) +#define DEBUG4_PIN ( BIT7 ) +#define DEBUG5_PIN ( BIT6 ) + +#define DEBUG1_PDIR ( P5DIR ) +#define DEBUG3_PDIR ( P7DIR ) +#define DEBUG4_PDIR ( P6DIR ) +#define DEBUG5_PDIR ( P7DIR ) + +#define DEBUG1_POUT ( P5OUT ) +#define DEBUG3_POUT ( P7OUT ) +#define DEBUG4_POUT ( P6OUT ) +#define DEBUG5_POUT ( P7OUT ) + +#define DEBUG1_HIGH() { DEBUG1_POUT |= DEBUG1_PIN; } +#define DEBUG3_HIGH() { DEBUG3_POUT |= DEBUG3_PIN; } +#define DEBUG4_HIGH() { DEBUG4_POUT |= DEBUG4_PIN; } +#define DEBUG5_HIGH() { DEBUG5_POUT |= DEBUG5_PIN; } + +#define DEBUG1_LOW() { DEBUG1_POUT &= ~DEBUG1_PIN; } +#define DEBUG3_LOW() { DEBUG3_POUT &= ~DEBUG3_PIN; } +#define DEBUG4_LOW() { DEBUG4_POUT &= ~DEBUG4_PIN; } +#define DEBUG5_LOW() { DEBUG5_POUT &= ~DEBUG5_PIN; } + +#define DEBUG1_PULSE() { DEBUG1_HIGH(); DEBUG1_LOW(); } +#define DEBUG3_PULSE() { DEBUG3_HIGH(); DEBUG3_LOW(); } +#define DEBUG4_PULSE() { DEBUG4_HIGH(); DEBUG4_LOW(); } +#define DEBUG5_PULSE() { DEBUG5_HIGH(); DEBUG5_LOW(); } + +#define DEBUG1_TOGGLE() { DEBUG1_POUT ^= DEBUG1_PIN; } +#define DEBUG3_TOGGLE() { DEBUG3_POUT ^= DEBUG3_PIN; } +#define DEBUG4_TOGGLE() { DEBUG4_POUT ^= DEBUG4_PIN; } +#define DEBUG5_TOGGLE() { DEBUG5_POUT ^= DEBUG5_PIN; } + +#define CONFIG_DEBUG_PINS() { \ + DEBUG1_PDIR |= DEBUG1_PIN; \ + DEBUG3_PDIR |= DEBUG3_PIN; \ + DEBUG4_PDIR |= DEBUG4_PIN; \ + DEBUG5_PDIR |= DEBUG5_PIN; \ + DEBUG1_POUT &= ~DEBUG1_PIN; \ + DEBUG3_POUT &= ~DEBUG3_PIN; \ + DEBUG4_POUT &= ~DEBUG4_PIN; \ + DEBUG5_POUT &= ~DEBUG5_PIN; \ +} + + + +/* + * Sideband signals (for lack of another word) + */ +#define BT_CLK_REQ_PDIR ( P1DIR ) +#define BT_CLK_REQ_POUT ( P1OUT ) +#define BT_CLK_REQ_PIN ( BIT4 ) + +#define BT_IO1_PDIR ( P1DIR ) +#define BT_IO1_POUT ( P1OUT ) +#define BT_IO1_PIN ( BIT5 ) + +#define BT_IO2_PDIR ( P1DIR ) +#define BT_IO2_POUT ( P1OUT ) +#define BT_IO2_PIN ( BIT6 ) + +/******************************************************************************/ + +/* peripheral mapping for accelerometer */ +#define ACCELEROMETER_CTL0 ( UCB1CTL0 ) +#define ACCELEROMETER_CTL1 ( UCB1CTL1 ) +#define ACCELEROMETER_BR0 ( UCB1BR0 ) +#define ACCELEROMETER_BR1 ( UCB1BR1 ) +#define ACCELEROMETER_I2CSA ( UCB1I2CSA ) +#define ACCELEROMETER_IE ( UCB1IE ) +#define ACCELEROMETER_IFG ( UCB1IFG ) +#define ACCELEROMETER_TXBUF ( UCB1TXBUF ) +#define ACCELEROMETER_RXBUF ( UCB1RXBUF ) +#define ACCELEROMETER_STAT ( UCB1STAT ) +/* interrupt mapping for accelerometer */ +#define USCI_ACCELEROMETER_VECTOR ( USCI_B1_VECTOR ) +#define USCI_ACCELEROMETER_IV ( UCB1IV ) + + + + +#endif // HAL_DEVBOARD_V2_DEFS_H + + + + + diff --git a/metawatch/hal_digital_v2_defs.h b/metawatch/hal_digital_v2_defs.h new file mode 100644 index 0000000..6b220ee --- /dev/null +++ b/metawatch/hal_digital_v2_defs.h @@ -0,0 +1,615 @@ +//============================================================================== +// Copyright 2011 Meta Watch Ltd. - http://www.MetaWatch.org/ +// +// Licensed under the Meta Watch License, Version 1.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.MetaWatch.org/licenses/license-1.0.html +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +//============================================================================== + +/******************************************************************************/ +/*! \file hal_digital_v2_defs.h + * + * Pin and peripheral definitions for Digital Watch Version 2 + */ +/******************************************************************************/ + +#ifndef HAL_DIGITAL_V2_DEFS_H +#define HAL_DIGITAL_V2_DEFS_H + + +// Defines for the LCD display interface, single channel SPI output +#define LCD_5V_PDIR P4DIR +#define LCD_5V_POUT P4OUT +#define LCD_5V_BIT BIT0 + +#define ENABLE_LCD_POWER() { \ + LCD_5V_PDIR |= LCD_5V_BIT; \ + LCD_5V_POUT |= LCD_5V_BIT; \ +} + +#define DISABLE_LCD_POWER() { \ + LCD_5V_PDIR |= LCD_5V_BIT; \ + LCD_5V_POUT &= ~LCD_5V_BIT; \ +} + +#define LCD_ENABLE_PDIR ( P3DIR ) +#define LCD_ENABLE_POUT ( P3OUT ) +#define LCD_ENABLE_PIN ( BIT6 ) + +#define ENABLE_LCD_ENABLE() { \ + LCD_ENABLE_PDIR |= LCD_ENABLE_PIN; \ + LCD_ENABLE_POUT |= LCD_ENABLE_PIN; \ +} + +#define DISABLE_LCD_ENABLE() { \ + LCD_ENABLE_PDIR |= LCD_ENABLE_PIN; \ + LCD_ENABLE_POUT &= ~LCD_ENABLE_PIN; \ +} + +#define LCD_CS_PDIR ( P3DIR ) +#define LCD_CS_POUT ( P3OUT ) +#define LCD_CS_PIN ( BIT2 ) + +#define LCD_SPI_PORT_SEL ( P3SEL ) +#define LCD_SPI_SIMO_BIT ( BIT1 ) +#define LCD_SPI_CLK_BIT ( BIT3 ) + +#define LCD_CS_ASSERT() { LCD_CS_POUT |= LCD_CS_PIN; } +#define LCD_CS_DEASSERT() { LCD_CS_POUT &= ~LCD_CS_PIN; } + +/* unused in this version */ +#define SPECIAL_DMA_CONFIG() { } +#define OLED_CS1N_ENABLE() { } +#define OLED_CS1N_DISABLE() { } + + +#define CONFIG_LCD_PINS() { \ + LCD_SPI_PORT_SEL |= LCD_SPI_SIMO_BIT; \ + LCD_SPI_PORT_SEL |= LCD_SPI_CLK_BIT; \ + ENABLE_LCD_ENABLE(); \ + LCD_CS_PDIR |= LCD_CS_PIN; \ + LCD_CS_DEASSERT(); \ +} + +// labeled EL_EN on schematic +#define LCD_LED_PDIR ( P4DIR ) +#define LCD_LED_POUT ( P4OUT ) +#define LCD_LED_PIN ( BIT4 ) + +#define DISABLE_LCD_LED() { \ + LCD_LED_PDIR |= LCD_LED_PIN; \ + LCD_LED_POUT &= ~LCD_LED_PIN; \ +} + +#define ENABLE_LCD_LED() { \ + LCD_LED_PDIR |= LCD_LED_PIN; \ + LCD_LED_POUT |= LCD_LED_PIN; \ +} +// Use UCB2 as the SPI port define the registers and interrupt vector to all be +// for UCB2 by replacing the x in the last section of the name with a 2 +#define LCD_SPI_UCBxCTL0 UCB0CTL0 // Control register +#define LCD_SPI_UCBxCTL1 UCB0CTL1 // Control register +#define LCD_SPI_UCBxBR0 UCB0BR0 // Baudrate prescale +#define LCD_SPI_UCBxBR1 UCB0BR1 // Baudrate divider + +#define LCD_SPI_UCBxTXBUF UCB0TXBUF // Transmit buffer +#define LCD_SPI_UCBxRXBUF UCB0RXBUF // Receive buffer + +#define LCD_SPI_UCBxIE UCB0IE // Interrupt enable register +#define LCD_SPI_UCBxIFG UCB0IFG // Interrupt flag register +#define LCD_SPI_UCBxIV UCB0IV // Interrupt vector register +#define LCD_SPI_UCBxSTAT UCB0STAT // status register + +#if 0 +// Definitions for the OLED Display +// peripheral mapping for OLED +#define OLED_I2C_CTL0 ( UCB0CTL0 ) +#define OLED_I2C_CTL1 ( UCB0CTL1 ) +#define OLED_I2C_BR0 ( UCB0BR0 ) +#define OLED_I2C_BR1 ( UCB0BR1 ) +#define OLED_I2C_I2CSA ( UCB0I2CSA ) +#define OLED_I2C_IE ( UCB0IE ) +#define OLED_I2C_IFG ( UCB0IFG ) +#define OLED_I2C_TXBUF ( UCB0TXBUF ) +#define OLED_I2C_RXBUF ( UCB0RXBUF ) +// interrupt mapping for OLED +#define USCI_OLED_I2C_VECTOR ( USCI_B0_VECTOR ) +#define USCI_OLED_I2C_IV ( UCB0IV ) + +// OLED reset is active low +#define OLED_RSTN_PDIR ( P3DIR ) +#define OLED_RSTN_POUT ( P3OUT ) +#define OLED_RSTN_PIN ( BIT3 ) + +#define OLED_RSTN_CONFIG() { OLED_RSTN_PDIR |= OLED_RSTN_PIN; OLED_RSTN_ASSERT(); } +#define OLED_RSTN_ASSERT() { OLED_RSTN_POUT &= ~OLED_RSTN_PIN; } +#define OLED_RSTN_DEASSERT() { OLED_RSTN_POUT |= OLED_RSTN_PIN; } + +#define OLED_CS1N_PDIR ( P8DIR ) +#define OLED_CS1N_POUT ( P8OUT ) +#define OLED_CS1N_PIN ( BIT0 ) + +#define OLED_CS1N_CONFIG() { OLED_CS1N_PDIR |= OLED_CS1N_PIN; OLED_CS1N_DISABLE(); } +#define OLED_CS1N_ENABLE() { OLED_CS1N_POUT &= ~OLED_CS1N_PIN; } +#define OLED_CS1N_DISABLE() { OLED_CS1N_POUT |= OLED_CS1N_PIN; } + +#define OLED_CS2N_PDIR ( P8DIR ) +#define OLED_CS2N_POUT ( P8OUT ) +#define OLED_CS2N_PIN ( BIT1 ) + +#define OLED_CS2N_CONFIG() { OLED_CS2N_PDIR |= OLED_CS2N_PIN; OLED_CS2N_DISABLE(); } +#define OLED_CS2N_ENABLE() { OLED_CS2N_POUT &= ~OLED_CS2N_PIN; } +#define OLED_CS2N_DISABLE() { OLED_CS2N_POUT |= OLED_CS2N_PIN; } + +#define OLED_SDA_PDIR ( P3DIR ) +#define OLED_SDA_POUT ( P3OUT ) +#define OLED_SDA_PIN ( BIT1 ) +#define OLED_SDA_PSEL ( P3SEL) + +#define OLED_SCL_PDIR ( P3DIR ) +#define OLED_SCL_POUT ( P3OUT ) +#define OLED_SCL_PORT ( P3 ) +#define OLED_SCL_PIN ( BIT2 ) +#define OLED_SCL_PSEL ( P3SEL ) + +// the select line overrides the pdir and pout settings +#define OLED_SDA_CONFIG_FOR_PERIPHERAL_USE() { OLED_SDA_PSEL |= OLED_SDA_PIN; } +#define OLED_SCL_CONFIG_FOR_PERIPHERAL_USE() { OLED_SCL_PSEL |= OLED_SCL_PIN; } + +#define OLED_I2C_CONFIG_FOR_PERIPHERAL_USE() { \ + OLED_SDA_CONFIG_FOR_PERIPHERAL_USE(); \ + OLED_SCL_CONFIG_FOR_PERIPHERAL_USE(); } + +#define OLED_SDA_CONFIG_FOR_SLEEP() { \ + OLED_SDA_PSEL &= ~OLED_SDA_PIN; \ + OLED_SDA_PDIR |= OLED_SDA_PIN; \ + OLED_SDA_POUT |= OLED_SDA_PIN; } + +#define OLED_SCL_CONFIG_FOR_SLEEP() { \ + OLED_SCL_PSEL &= ~OLED_SCL_PIN; \ + OLED_SCL_PDIR |= OLED_SCL_PIN; \ + OLED_SCL_POUT |= OLED_SCL_PIN; } + +#define OLED_I2C_CONFIG_FOR_SLEEP() { \ + OLED_SDA_CONFIG_FOR_SLEEP(); \ + OLED_SCL_CONFIG_FOR_SLEEP(); } + +#define OLED_POWER_ENABLE_PIN ( BIT0 ) +#define OLED_POWER_ENABLE_POUT ( P4OUT ) +#define OLED_POWER_ENABLE_PDIR ( P4DIR ) +#define OLED_POWER_CONFIG() { P4DIR |= OLED_POWER_ENABLE_PIN; OLED_POWER_DISABLE(); } +#define OLED_POWER_ENABLE() { P4OUT |= OLED_POWER_ENABLE_PIN; } +#define OLED_POWER_DISABLE() { P4OUT &= ~OLED_POWER_ENABLE_PIN; } + +// VLED_EN is active low +#define OLED_IO_POWER_ENABLE_PIN ( BIT3 ) +#define OLED_IO_POWER_ENABLE_POUT ( P5OUT ) +#define OLED_IO_POWER_ENABLE_PDIR ( P5DIR ) +#define OLED_IO_POWER_CONFIG() { P5DIR |= OLED_IO_POWER_ENABLE_PIN; OLED_IO_POWER_DISABLE(); } +#define OLED_IO_POWER_ENABLE() { P5OUT &= ~OLED_IO_POWER_ENABLE_PIN; } +#define OLED_IO_POWER_DISABLE() { P5OUT |= OLED_IO_POWER_ENABLE_PIN; } + + + + + + +#endif // OLED + +#define CONFIG_OLED_PINS() { } + + +// Real time clock defines +// RTC 1 Hz output, also used to toggle the bias on the LCD +#define RTC_1HZ_PORT_DIR ( P2DIR ) +#define RTC_1HZ_PORT_SEL ( P2SEL ) +#define RTC_1HZ_BIT ( BIT4 ) + + +// Button defines + +#define BUTTON_TIME_COUNT_ARRAY_LEN 8 +#define ALL_BUTTONS_OFF 0xFF + +#define SW_A BIT0 +#define SW_B BIT1 +#define SW_C BIT2 +#define SW_D BIT3 +// Bit 4 is not used +#define SW_E BIT5 +#define SW_F BIT6 +#define SW_P BIT7 + +#define SW_A_INDEX ( 0 ) +#define SW_B_INDEX ( 1 ) +#define SW_C_INDEX ( 2 ) +#define SW_D_INDEX ( 3 ) +#define SW_UNUSED_INDEX ( 4 ) +#define SW_E_INDEX ( 5 ) +#define SW_F_INDEX ( 6 ) +#define SW_P_INDEX ( 7 ) +/* the switch does not count */ +#define TOTAL_BTN_NUM ( 7 ) + +#ifdef ANALOG + #define ALL_BUTTONS (SW_A | SW_B | SW_C | SW_D | SW_E | SW_F | SW_P) +#elif defined(DIGITAL) + #define ALL_BUTTONS (SW_A | SW_B | SW_C | SW_D | SW_E | SW_F) +#endif + +// The digital watch version 1 has 1 Meg pull downs +// so the code below wont work +#define RESISTOR_ENABLE_BUTTONS ALL_BUTTONS + +// Setting the edge select bit high generates and interrupt on the falling edge +#define INT_EDGE_SEL_BUTTONS (ALL_BUTTONS) + +#define BUTTON_PORT_VECTOR PORT2_VECTOR +#define BUTTON_PORT_DIR P2DIR +#define BUTTON_PORT_SEL P2SEL +#define BUTTON_PORT_OUT P2OUT +#define BUTTON_PORT_REN P2REN +#define BUTTON_PORT_IE P2IE +#define BUTTON_PORT_IES P2IES +#define BUTTON_PORT_IFG P2IFG + +#define DISABLE_BUTTONS() { \ + BUTTON_PORT_IE &= ~INT_EDGE_SEL_BUTTONS; \ + BUTTON_PORT_REN &= ~ALL_BUTTONS; \ + BUTTON_PORT_OUT &= ~ALL_BUTTONS; \ +} + +/* SHIPPING */ +/* S5 or SW_E is the button that takes the watch out of shipping mode */ +#define ENABLE_SHIPPING_WAKEUP() { \ + P1IE = 0x00; \ + PMMCTL0_H = 0xA5; \ + PMMRIE = 0x0000; \ + RTCPS0CTL = 0x0000; \ + RTCPS1CTL = 0x0000; \ + UCSCTL8 = 0x0700; \ + BUTTON_PORT_REN = SW_E; \ + BUTTON_PORT_OUT = SW_E; \ + BUTTON_PORT_DIR &= ~SW_E; \ + BUTTON_PORT_IES |= SW_E; \ + BUTTON_PORT_IFG = 0x00; \ + BUTTON_PORT_IE |= SW_E; \ +} + +// NOTE the the buttons are grounded. That means that we want to invert the bits +// when reading the port to have positive logic where a button press is a "1" +#define BUTTON_PORT_IN ~P2IN + +// Configure the hardware port for the button support P2.4 is excluded +#define CONFIGURE_BUTTON_PINS() { \ + BUTTON_PORT_REN = (unsigned char) RESISTOR_ENABLE_BUTTONS; \ + BUTTON_PORT_OUT = (unsigned char) ALL_BUTTONS; \ + BUTTON_PORT_DIR &= (unsigned char) ~ALL_BUTTONS; \ + BUTTON_PORT_IES |= INT_EDGE_SEL_BUTTONS; \ + BUTTON_PORT_IFG &= ~ALL_BUTTONS; \ + BUTTON_PORT_IE |= ALL_BUTTONS; \ +} + + +// Battery charger control for a BQ24080 +#define BAT_CHARGE_DIR P6DIR +#define BAT_CHARGE_REN P6REN +#define BAT_CHARGE_OUT P6OUT +#define BAT_CHARGE_IN P6IN + +#define BAT_CHARGE_ENABLE_PIN BIT2 +#define BAT_CHARGE_STAT1 BIT3 +#define BAT_CHARGE_STAT2 BIT4 +#define BAT_CHARGE_PWR_BIT BIT5 + +// Enable charging, asserted low +#define BATTERY_CHARGE_ENABLE() { BAT_CHARGE_OUT &= ~BAT_CHARGE_ENABLE_PIN; } + +// disable charging, sleep the part +#define BATTERY_CHARGE_DISABLE() { BAT_CHARGE_OUT |= BAT_CHARGE_ENABLE_PIN; } + + +// +// Ambient Light Sensor +// +#define GC1_PDIR ( P6DIR ) +#define GC1_POUT ( P6OUT ) +#define GC1_PSEL ( P6SEL ) +#define GC1_PIN ( BIT0 ) + +#define GC2_PDIR ( P6DIR ) +#define GC2_POUT ( P6OUT ) +#define GC2_PSEL ( P6SEL ) +#define GC2_PIN ( BIT6 ) + +#define IOUT_PDIR ( P6DIR ) +#define IOUT_PSEL ( P6SEL ) +#define IOUT_PIN ( BIT1 ) + +#define LIGHT_SENSE_INIT() \ +{ \ + IOUT_PDIR &= ~IOUT_PIN; \ + IOUT_PSEL |= IOUT_PIN; \ + GC1_PDIR |= GC1_PIN; \ + GC2_PDIR |= GC2_PIN; \ + LIGHT_SENSE_DISABLE(); \ +} + +#define LIGHT_SENSOR_SHUTDOWN() \ +{ \ + GC1_POUT &= ~GC1_PIN; \ + GC2_POUT &= ~GC2_PIN; \ +} + +#define LIGHT_SENSOR_L_GAIN() \ +{ \ + GC1_POUT |= GC1_PIN; \ + GC2_POUT |= GC2_PIN; \ +} + +#define LIGHT_SENSE_ENABLE()\ +{ \ + LIGHT_SENSOR_L_GAIN(); \ +} + +#define LIGHT_SENSE_DISABLE() \ +{ \ + LIGHT_SENSOR_SHUTDOWN(); \ +} + + + +// +// This pin controls if the battery voltage can be read +// +#define BATTERY_READ_CONTROL_PDIR ( P4DIR ) +#define BATTERY_READ_CONTROL_POUT ( P4OUT ) +#define BATTERY_READ_CONTROL_PIN ( BIT6 ) + +#define BATTERY_SENSE_INPUT_PDIR ( P7DIR ) +#define BATTERY_SENSE_INPUT_PSEL ( P7SEL ) +#define BATTERY_SENSE_INPUT_PIN ( BIT7 ) + +#define BATTERY_SENSE_INIT() \ +{ \ + BATTERY_READ_CONTROL_PDIR |= BATTERY_READ_CONTROL_PIN; \ + BATTERY_SENSE_INPUT_PDIR &= ~BATTERY_SENSE_INPUT_PIN; \ + BATTERY_SENSE_INPUT_PSEL |= BATTERY_SENSE_INPUT_PIN; \ + BATTERY_SENSE_DISABLE(); \ +} + +#define BATTERY_SENSE_ENABLE() \ +{ \ + BATTERY_READ_CONTROL_POUT |= BATTERY_READ_CONTROL_PIN; \ +} + +#define BATTERY_SENSE_DISABLE() \ +{ \ + BATTERY_READ_CONTROL_POUT &= ~BATTERY_READ_CONTROL_PIN; \ +} + +// +// hardware configuration is a voltage divider to ADC input +// +#define HARDWARE_CFG_CONTROL_PDIR ( P8DIR ) +#define HARDWARE_CFG_CONTROL_POUT ( P8OUT ) +#define HARDWARE_CFG_CONTROL_PIN ( BIT2 ) + +#define HARDWARE_CFG_INPUT_PDIR ( P7DIR ) +#define HARDWARE_CFG_INPUT_PSEL ( P7SEL ) +#define HARDWARE_CFG_INPUT_PIN ( BIT5 ) + +#define HARDWARE_CFG_SENSE_INIT() \ +{ \ + HARDWARE_CFG_CONTROL_PDIR |= HARDWARE_CFG_CONTROL_PIN; \ + HARDWARE_CFG_INPUT_PDIR &= ~HARDWARE_CFG_INPUT_PIN; \ + HARDWARE_CFG_INPUT_PSEL |= HARDWARE_CFG_INPUT_PIN; \ + HARDWARE_CFG_SENSE_DISABLE(); \ +} + +#define HARDWARE_CFG_SENSE_ENABLE() \ +{ \ + HARDWARE_CFG_CONTROL_POUT |= HARDWARE_CFG_CONTROL_PIN; \ +} + +#define HARDWARE_CFG_SENSE_DISABLE() \ +{ \ + HARDWARE_CFG_CONTROL_POUT &= ~HARDWARE_CFG_CONTROL_PIN; \ +} + + +#define APPLE_SDA_PDIR ( P10DIR ) +#define APPLE_SDA_POUT ( P10OUT ) +#define APPLE_SDA_PIN ( BIT1 ) + +#define APPLE_SCL_PDIR ( P10DIR ) +#define APPLE_SCL_POUT ( P10OUT ) +#define APPLE_SCL_PIN ( BIT2 ) + +#define APPLE_POWER_PDIR ( P4DIR ) +#define APPLE_POWER_POUT ( P4OUT ) +#define APPLE_POWER_PIN ( BIT5 ) + +/* power enable is active low */ +#define APPLE_POWER_ENABLE() { APPLE_POWER_POUT &= ~APPLE_POWER_PIN; } +#define APPLE_POWER_DISABLE() { APPLE_POWER_POUT |= APPLE_POWER_PIN; } + +#define APPLE_POWER_CONFIG() { \ + APPLE_POWER_PDIR |= APPLE_POWER_PIN; \ + APPLE_POWER_DISABLE(); \ +} + + +/* since the apple chip is currently not powered + * the pins should be at 0 instead of 1 + */ +#define APPLE_I2C_PIN_CONFIG() { \ + APPLE_SDA_PDIR |= APPLE_SDA_PIN; \ + APPLE_SDA_POUT &= ~APPLE_SDA_PIN; \ + APPLE_SCL_PDIR |= APPLE_SCL_PIN; \ + APPLE_SCL_POUT &= ~APPLE_SCL_PIN; \ +} + +#define APPLE_CONFIG() { \ + APPLE_POWER_CONFIG(); \ + APPLE_I2C_PIN_CONFIG(); \ +} + +#define SRAM_SCLK_PSEL ( P3SEL ) +#define SRAM_SCLK_PDIR ( P3DIR ) +#define SRAM_SCLK_POUT ( P3OUT ) +#define SRAM_SCLK_PIN ( BIT0 ) + +#define SRAM_SOMI_PSEL ( P3SEL ) +#define SRAM_SOMI_PDIR ( P3DIR ) +#define SRAM_SOMI_POUT ( P3OUT ) +#define SRAM_SOMI_PIN ( BIT5 ) + +#define SRAM_SIMO_PSEL ( P3SEL ) +#define SRAM_SIMO_PDIR ( P3DIR ) +#define SRAM_SIMO_POUT ( P3OUT ) +#define SRAM_SIMO_PIN ( BIT4 ) + +#define SRAM_CSN_PDIR ( P9DIR ) +#define SRAM_CSN_POUT ( P9OUT ) +#define SRAM_CSN_PIN ( BIT6) + +#define SRAM_HOLDN_PDIR ( P9DIR ) +#define SRAM_HOLDN_POUT ( P9OUT ) +#define SRAM_HOLDN_PIN ( BIT7 ) + +#define CONFIG_SRAM_PINS() \ +{ \ + SRAM_CSN_PDIR |= SRAM_CSN_PIN; \ + SRAM_CSN_POUT |= SRAM_CSN_PIN; \ + SRAM_HOLDN_PDIR |= SRAM_HOLDN_PIN; \ + SRAM_HOLDN_POUT |= SRAM_HOLDN_PIN; \ +} + +#define SRAM_CSN_ASSERT() { SRAM_CSN_POUT &= ~SRAM_CSN_PIN; } + +#define SRAM_CSN_DEASSERT() { \ + WAIT_FOR_SRAM_SPI_SHIFT_COMPLETE(); \ + SRAM_CSN_POUT |= SRAM_CSN_PIN; \ +} + +/* wait for shift to complete ( ~3 us ) */ +#define WAIT_FOR_SRAM_SPI_SHIFT_COMPLETE() { while( (UCA0STAT & 0x01) != 0 ); } + +#define ACCELEROMETER_SDA_PIN ( BIT7 ) +#define ACCELEROMETER_SDA_PSEL ( P3SEL ) +#define ACCELEROMETER_SDA_POUT ( P3OUT ) +#define ACCELEROMETER_SDA_PDIR ( P3OUT ) +#define ACCELEROMETER_SDA_PREN ( P1REN ) + +#define ACCELEROMETER_SCL_PIN ( BIT4 ) +#define ACCELEROMETER_SCL_PSEL ( P5SEL ) +#define ACCELEROMETER_SCL_POUT ( P5OUT ) +#define ACCELEROMETER_SCL_PDIR ( P5OUT ) +#define ACCELEROMETER_SCL_PREN ( P5REN ) + +#define ACCELEROMETER_INT_PIN ( BIT7 ) +#define ACCELEROMETER_INT_PDIR ( P1DIR ) +#define ACCELEROMETER_INT_PSEL ( P1SEL ) +#define ACCELEROMETER_INT_PIFG ( P1IFG ) +#define ACCELEROMETER_INT_PIE ( P1IE ) + +#define ACCELEROMETER_POWER_POUT ( P9OUT ) +#define ACCELEROMETER_POWER_PDIR ( P9DIR ) +#define ACCELEROMETER_POWER_PINS ( BIT1 | BIT2 ) + +/* this is for reference only (it doesn't control anything) */ +#define ACCELEROMETER_INT_NUM (PIN7_INT) + +#define LED4_ON() { } +#define LED5_ON() { } +#define LED6_ON() { } +#define LED7_ON() { } + +#define LED4_OFF() { } +#define LED5_OFF() { } +#define LED6_OFF() { } +#define LED7_OFF() { } + +#define CONFIG_LED_PINS() { } + + + +#define DEBUG1_HIGH() { } +#define DEBUG3_HIGH() { } +#define DEBUG4_HIGH() { } +#define DEBUG5_HIGH() { } + +#define DEBUG1_LOW() { } +#define DEBUG3_LOW() { } +#define DEBUG4_LOW() { } +#define DEBUG5_LOW() { } + +#define DEBUG1_PULSE() { } +#define DEBUG3_PULSE() { } +#define DEBUG4_PULSE() { } +#define DEBUG5_PULSE() { } + +#define DEBUG1_TOGGLE() { } +#define DEBUG3_TOGGLE() { } +#define DEBUG4_TOGGLE() { } +#define DEBUG5_TOGGLE() { } + +#define CONFIG_DEBUG_PINS() { } + +/* + * Sideband signals (for lack of another word) + */ +#define BT_CLK_REQ_PDIR ( P1DIR ) +#define BT_CLK_REQ_POUT ( P1OUT ) +#define BT_CLK_REQ_PIN ( BIT4 ) + +#define BT_IO1_PDIR ( P1DIR ) +#define BT_IO1_POUT ( P1OUT ) +#define BT_IO1_PIN ( BIT5 ) + +#define BT_IO2_PDIR ( P1DIR ) +#define BT_IO2_POUT ( P1OUT ) +#define BT_IO2_PIN ( BIT6 ) + +/******************************************************************************/ + +/* peripheral mapping for accelerometer */ +#define ACCELEROMETER_CTL0 ( UCB1CTL0 ) +#define ACCELEROMETER_CTL1 ( UCB1CTL1 ) +#define ACCELEROMETER_BR0 ( UCB1BR0 ) +#define ACCELEROMETER_BR1 ( UCB1BR1 ) +#define ACCELEROMETER_I2CSA ( UCB1I2CSA ) +#define ACCELEROMETER_IE ( UCB1IE ) +#define ACCELEROMETER_IFG ( UCB1IFG ) +#define ACCELEROMETER_TXBUF ( UCB1TXBUF ) +#define ACCELEROMETER_RXBUF ( UCB1RXBUF ) +#define ACCELEROMETER_STAT ( UCB1STAT ) +/* interrupt mapping for accelerometer */ +#define USCI_ACCELEROMETER_VECTOR ( USCI_B1_VECTOR ) +#define USCI_ACCELEROMETER_IV ( UCB1IV ) + +/******************************************************************************/ + +/* IN1 on mux */ +#define MUX_CONTROL1_PDIR ( P10DIR ) +#define MUX_CONTROL1_POUT ( P10OUT ) +#define MUX_CONTROL1_PIN ( BIT7 ) + +#define MUX_CONTROL2_PDIR ( P10DIR ) +#define MUX_CONTROL2_POUT ( P10OUT ) +#define MUX_CONTROL2_PIN ( BIT6 ) + + +#endif // HAL_DIGITAL_V2_DEFS_H + + + diff --git a/metawatch/hal_io_macros.h b/metawatch/hal_io_macros.h new file mode 100644 index 0000000..861817f --- /dev/null +++ b/metawatch/hal_io_macros.h @@ -0,0 +1,116 @@ +//============================================================================== +// Copyright Meta Watch Ltd. - http://www.MetaWatch.org/ +// +// Licensed under the Meta Watch License, Version 1.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.MetaWatch.org/licenses/license-1.0.html +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +//============================================================================== + +/******************************************************************************/ +/*! \file hal_io_macros.c + * + * Separate the pin definitions for each board type from the macros + * + */ +/******************************************************************************/ + +#ifndef HAL_IO_MACROS +#define HAL_IO_MACROS + +/******************************************************************************/ + +#define BT_CLK_REQ_CONIFIG_AS_INPUT() { \ + BT_CLK_REQ_PDIR &= ~BT_CLK_REQ_PIN; \ +} + +#define BT_CLK_REQ_CONFIG_AS_OUTPUT_LOW() { \ + BT_CLK_REQ_PDIR |= BT_CLK_REQ_PIN; \ + BT_CLK_REQ_POUT &= ~BT_CLK_REQ_PIN; \ +} + +#define BT_IO1_CONFIG_AS_INPUT() { \ + BT_IO1_PDIR &= ~BT_IO1_PIN; } + +#define BT_IO1_CONFIG_AS_OUTPUT_LOW() { \ + BT_IO1_PDIR |= BT_IO1_PIN; \ + BT_IO1_POUT &= ~BT_IO1_PIN; \ +} + +#define BT_IO2_CONFIG_AS_INPUT() { \ + BT_IO2_PDIR &= ~BT_IO2_PIN; \ +} + +#define BT_IO2_CONFIG_AS_OUTPUT_LOW() { \ + BT_IO2_PDIR |= BT_IO2_PIN; \ + BT_IO2_POUT &= ~BT_IO2_PIN; } + +/******************************************************************************/ + +#define ACCELEROMETER_INT_ENABLE() { \ + ACCELEROMETER_INT_PIFG &= ~ACCELEROMETER_INT_PIN; \ + ACCELEROMETER_INT_PIE |= ACCELEROMETER_INT_PIN; \ +} + +#define ACCELEROMETER_INT_DISABLE() { \ + ACCELEROMETER_INT_PIE &= ~ACCELEROMETER_INT_PIN; \ + ACCELEROMETER_INT_PIFG &= ~ACCELEROMETER_INT_PIN; \ +} + +#define CONFIG_ACCELEROMETER_PINS() { \ + ACCELEROMETER_SDA_PSEL |= ACCELEROMETER_SDA_PIN; \ + ACCELEROMETER_SCL_PSEL |= ACCELEROMETER_SCL_PIN; \ + ACCELEROMETER_INT_PDIR &= ~ACCELEROMETER_INT_PIN; \ +} + +/* only configuration 5 and later boards support turning on/off the power + * to the accelerometer + */ +#define ENABLE_ACCELEROMETER_POWER() { \ + ACCELEROMETER_POWER_PDIR |= ACCELEROMETER_POWER_PINS; \ + ACCELEROMETER_POWER_POUT |= ACCELEROMETER_POWER_PINS; \ +} + +#define DISABLE_ACCELEROMETER_POWER() { \ + ACCELEROMETER_POWER_PDIR |= ACCELEROMETER_POWER_PINS; \ + ACCELEROMETER_POWER_POUT &= ~ACCELEROMETER_POWER_PINS; \ +} + +/******************************************************************************/ + +#define ENABLE_MUX_OUTPUT_CONTROL() { \ + MUX_CONTROL1_PDIR |= MUX_CONTROL1_PIN; \ + MUX_CONTROL2_PDIR |= MUX_CONTROL2_PIN; \ +} + +#define MUX_OUTPUT_OFF() { \ + MUX_CONTROL1_POUT &= ~MUX_CONTROL1_PIN; \ + MUX_CONTROL2_POUT &= ~MUX_CONTROL2_PIN; \ +} + +#define MUX_OUTPUT_SELECTS_SERIAL() { \ + MUX_CONTROL1_POUT |= MUX_CONTROL1_PIN; \ + MUX_CONTROL2_POUT &= ~MUX_CONTROL2_PIN; \ +} + +#define MUX_OUTPUT_SELECTS_GND() { \ + MUX_CONTROL1_POUT &= ~MUX_CONTROL1_PIN; \ + MUX_CONTROL2_POUT |= MUX_CONTROL2_PIN; \ +} + +#define MUX_OUTPUT_SELECTS_SPY() { \ + MUX_CONTROL1_POUT |= MUX_CONTROL1_PIN; \ + MUX_CONTROL2_POUT |= MUX_CONTROL2_PIN; \ +} + + +/******************************************************************************/ + +#endif /* HAL_IO_MACROS */ diff --git a/metawatch/mw_adc.c b/metawatch/mw_adc.c new file mode 100644 index 0000000..4850126 --- /dev/null +++ b/metawatch/mw_adc.c @@ -0,0 +1,83 @@ +#include +#include +#include + +#include "mw_main.h" + +#define HARDWARE_CFG_INPUT_CHANNEL ( ADC12INCH_13 ) +#define BATTERY_SENSE_INPUT_CHANNEL ( ADC12INCH_15 ) +#define LIGHT_SENSE_INPUT_CHANNEL ( ADC12INCH_1 ) + +#define ENABLE_ADC() { ADC12CTL0 |= ADC12ON; ADC12CTL0 |= ADC12ENC + ADC12SC; } +#define DISABLE_ADC() { ADC12CTL0 &= ~ADC12ENC; ADC12CTL0 &= ~ADC12ON; } +#define CLEAR_START_ADDR() { ADC12CTL1 &= 0x0FFF; } + +const double CONVERSION_FACTOR_BATTERY = ((24300.0+38300.0)*2.5*1000.0)/(4095.0*24300.0); +#define BATTERY_FULL_LEVEL (4140) +#define BATTERY_CRITICAL_LEVEL (3300) +#define BATTERY_LEVEL_RANGE (BATTERY_FULL_LEVEL - BATTERY_CRITICAL_LEVEL) + +/*! conversion factor */ +const double CONVERSION_FACTOR = 2.5*10000.0/4096.0; + + +void mw_init_adc(void) +{ + REFCTL0 = REFMSTR | REFTCOFF; + + LIGHT_SENSE_INIT(); + BATTERY_SENSE_INIT(); + HARDWARE_CFG_SENSE_INIT(); + + /* allow conditional request for modosc */ + UCSCTL8 |= MODOSCREQEN; + + /* select ADC12SC bit as sample and hold source (00) + * and use pulse mode + * use modosc / 8 because frequency must be 0.45 MHz to 2.7 MHz (0.625 MHz) + */ + ADC12CTL1 = ADC12CSTARTADD_0 + ADC12SHP + ADC12SSEL_0 + ADC12DIV_7; + + /* 12 bit resolution, only use reference when doing a conversion */ + ADC12CTL2 = ADC12TCOFF + ADC12RES_2 + ADC12REFBURST; + + /* setup input channels */ + ADC12MCTL0 = HARDWARE_CFG_INPUT_CHANNEL + ADC12EOS; + ADC12MCTL1 = BATTERY_SENSE_INPUT_CHANNEL + ADC12EOS; + ADC12MCTL2 = LIGHT_SENSE_INPUT_CHANNEL + ADC12EOS; +} + +unsigned int mw_get_battery_adc_val(void) +{ + BATTERY_SENSE_ENABLE(); + + /* low_bat_en assertion to bat_sense valid is ~100 ns */ + /* Start battery sense conversion */ + CLEAR_START_ADDR(); + ADC12CTL1 |= ADC12CSTARTADD_1; + ENABLE_ADC(); + + /* WaitForAdcBusy(); */ + while (ADC12CTL1 & ADC12BUSY); + + /* Convert the ADC count for the battery input into a voltage + * ADC12MEM1: Counts Battery Voltage in ADC counts + * Result: Battery voltage in millivolts */ + BATTERY_SENSE_DISABLE(); + + return (unsigned int)(CONVERSION_FACTOR_BATTERY * (double)ADC12MEM1); +} + +unsigned char mw_get_battery_percentage_from_val(unsigned int BattVal) +{ + if (BattVal > BATTERY_FULL_LEVEL) + BattVal = BATTERY_FULL_LEVEL; + if (BattVal < BATTERY_CRITICAL_LEVEL) + BattVal = 0; + else + BattVal -= BATTERY_CRITICAL_LEVEL; + BattVal = (BattVal > 0) ? (BattVal * 10 / (BATTERY_LEVEL_RANGE / 10)) : 0; + + return (unsigned char)BattVal; +} + diff --git a/metawatch/mw_adc.h b/metawatch/mw_adc.h new file mode 100644 index 0000000..20db9c1 --- /dev/null +++ b/metawatch/mw_adc.h @@ -0,0 +1,9 @@ +#ifndef _MW_ADC_H +#define _MW_ADC_H + +void mw_init_adc(void); +unsigned int mw_get_battery_adc_val(void); +unsigned char mw_get_battery_percentage_from_val(unsigned int BatVal); + +#endif + diff --git a/metawatch/mw_bt.c b/metawatch/mw_bt.c new file mode 100644 index 0000000..7cb24e1 --- /dev/null +++ b/metawatch/mw_bt.c @@ -0,0 +1,228 @@ +#include +#include +#include +#include +#include + +#include "mw_main.h" + +#include "mw_uart.h" +#include "mw_bt.h" +#include "bt_hci.h" +#include "bt_l2cap.h" + +#include "bluetooth_init_cc256x.h" + + +static char bt_rx_buf[BT_RX_MAX_SIZE]; +static unsigned char bt_rx_buf_wpos = 0; +static unsigned char bt_rx_buf_rpos = 0; +static uint8_t mw_bt_enabled = 0; + +const unsigned char *mw_bt_get_rx_buf(unsigned char **rpos, unsigned char *len) +{ + *rpos = &bt_rx_buf_rpos; + if (bt_rx_buf_rpos > bt_rx_buf_wpos) + *len = (BT_RX_MAX_SIZE - bt_rx_buf_rpos) + bt_rx_buf_wpos; + else + *len = bt_rx_buf_wpos - bt_rx_buf_rpos; + + if (*len > (BT_RX_MAX_SIZE-(BT_RX_MAX_SIZE/10))) + BT_IO_POUT |= BT_IO_RTS; // low == ready, high == !ready + + return (unsigned char *)bt_rx_buf; +} + +#pragma vector=USCI_A1_VECTOR +__interrupt void UCA1_ISR (void) +{ + switch (UCA1IV) { + case 2: // RXIFG + /* wake up to handle the received char */ + LPM3_EXIT; + bt_rx_buf[bt_rx_buf_wpos++] = UCA1RXBUF; + /* clear IRQ flag */ + UCA1IFG &= ~UCRXIFG; + bt_rx_buf_wpos %= BT_RX_MAX_SIZE; + _event_src |= BT_UART_RCV_EVENT; + break; + case 4: // TXIFG + break; + default: + break; + }; +} + +void mw_init_bt_uart(const bt_uart_baud_t baud) +{ + UCA1CTL1 = UCSWRST; + UCA1CTL1 |= UCSSEL__SMCLK; + switch (baud) { + case BT_UART_BD115200: + default: + UCA1BR0 = 138; + UCA1MCTL = UCBRS_7 + UCBRF_0; + break; + }; + UCA1STAT = 0; + UCA1CTL0 = UCMODE_0; // UART mode + UCA1CTL0 &= ~UC7BIT; // 8bit char + + UCA1CTL1 &= ~UCSWRST; + /* clear interrup flags */ + UCA1IFG = 0; + UCA1IE = UCRXIE; +} + +#if 0 // Does never finish, presumably trigger does not trigger, unknown :( +void mw_bt_uart_tx(const void *buf, const unsigned int len) +{ + UCA1IE &= UCTXIE; + + DMACTL0 = DMA0TSEL_21; + + DMA0DA = (unsigned int) &UCA1TXBUF; + DMA0SA = (uint32_t) buf; + DMA0SZ = len; + + //DMA0CTL = 0x03F0; + DMA0CTL = DMADT_1 | DMASRCINCR_3 | DMASBDB | DMALEVEL | DMAIE; + UCA1IFG &= ~UCTXIFG; + DMA0CTL |= DMAEN; + + while ((DMA0CTL & DMAIFG) == 0 && (DMA0CTL & DMAABORT) == 0) + nop(); +} +#else +void mw_bt_uart_tx(const void *buf, const unsigned int len) +{ + unsigned int pos; + // char txstr[8]; + + pos = 0; + // debug_uart_tx("BT tx: "); + while (pos < len) { + while ((BT_IO_PIN & BT_IO_CTS)) // wait for CTS to go low + nop(); + + UCA1TXBUF = *(unsigned char *) (buf+pos); + // debug_uart_tx_char(*(unsigned char *) (buf+pos)); + // snprintf(txstr, 8, "0x%02x ", *(unsigned char *) (buf+pos)); + // debug_uart_tx(txstr); + pos++; + while ((UCA1IFG & UCTXIFG) == 0) + nop(); + } + while (UCA1STAT & UCBUSY) + nop(); + // debug_uart_tx("\n"); +} +#endif + +static void load_cc256x_init_script(void) +{ + uint32_t pos; + unsigned char *tptr; + + pos = 0; + while (pos < cc256x_init_script_size) { + if (_event_src != 0) + handle_event(); + tptr = (unsigned char *)(cc256x_init_script + pos); + mw_bt_uart_tx(tptr, 4 + tptr[3]); + pos += 4 + tptr[3]; + // each init script part is one HCI command so wait for reply + if (_event_src != 0) + handle_event(); + } +} + +void mw_enable_bt(void) +{ + int i; + + /* make sure it resets */ + BT_SHUTDOWN(); + + /* enable 32kHz ACLK output to BT module */ + P11DIR |= BIT0; + P11SEL |= BIT0; + + // wait for clock to stabilize + __delay_cycles(16000); + + BT_IO_PDIR &= ~(BT_IO_CTS | BT_IO_PIN1 | BT_IO_PIN2 | BT_IO_CLKREQ); + BT_IO_PDIR |= BT_IO_RTS; + BT_IO_POUT &= ~(BT_IO_CTS | BT_IO_PIN1 | BT_IO_PIN2 | BT_IO_CLKREQ); + BT_IO_POUT &= ~BT_IO_RTS; // low == ready, high == !ready + + /* setup UART pins */ + BT_UART_PSEL |= BT_UART_TX_PIN | BT_UART_RX_PIN; + // P5OUT |= BT_UART_TX_PIN | BT_UART_RX_PIN; + // P5REN |= BT_UART_TX_PIN | BT_UART_RX_PIN; + + mw_init_bt_uart(BT_UART_BD115200); + + /* release BT reset pin */ + BT_ENABLE(); + + for (i=0; i<1000; i++) { + __delay_cycles(16000); + if ((BT_IO_PIN & BT_IO_CTS) == 0) // when CTS goes low module is ready + break; + } + if (i>=1000) { + debug_uart_tx("Timeout waiting for CC256x to lower CTS\n"); + } else { + debug_uart_tx("CC256x CTS low - uploading init\n"); + for (i=0; i<100; i++) { + __delay_cycles(16000); // give it some more before anyone sends data + } + load_cc256x_init_script(); + debug_uart_tx("init uploaded\n"); + } + P1IE &= ~BT_IO_CTS; + P1IES &= ~BT_IO_CTS; + bt_hci_init(); + init_l2cap(); + mw_bt_enabled = 1; +} + +#pragma vector=PORT1_VECTOR +__interrupt void BT_CTS_ISR (void) +{ + P1IFG &= ~BT_IO_CTS; + + debug_uart_tx("BTS CTS triggered\n"); + bt_hci_ehcill_wake(); + + LPM3_EXIT; +} + +void mw_disable_bt(void) +{ + mw_bt_enabled = 0; + + /* disable UART RX interrupt */ + UCA1IE &= ~UCRXIE; + + /* disable UART pins */ + BT_UART_PSEL &= ~(BT_UART_TX_PIN | BT_UART_RX_PIN); + + /* set BT reset pin */ + BT_SHUTDOWN(); + + /* disable 32kHz ACLK output to BT module */ + P11DIR &= ~BIT0; + P11SEL &= ~BIT0; + + /* make all I/O Pins inputs so we do not drive against a "deaf" module */ + BT_IO_PDIR &= ~(BT_IO_RTS | BT_IO_CTS | BT_IO_PIN1 | BT_IO_PIN2 | BT_IO_CLKREQ); + BT_IO_POUT &= ~(BT_IO_RTS | BT_IO_CTS | BT_IO_PIN1 | BT_IO_PIN2 | BT_IO_CLKREQ); +} + +uint8_t mw_bt_is_enabled(void) +{ + return mw_bt_enabled; +} + diff --git a/metawatch/mw_bt.h b/metawatch/mw_bt.h new file mode 100644 index 0000000..f7e5312 --- /dev/null +++ b/metawatch/mw_bt.h @@ -0,0 +1,65 @@ +#ifndef _MW_BT_H +#define _MW_BT_H + +#define BT_RST_PIN BIT3 +#define BT_RST_PSEL P10SEL +#define BT_RST_POUT P10OUT +#define BT_RST_PDIR P10DIR + +#define BT_IO_PSEL P1SEL +#define BT_IO_RTS BIT0 +#define BT_IO_CTS BIT3 +#define BT_IO_POUT P1OUT +#define BT_IO_PIN P1IN +#define BT_IO_PDIR P1DIR + +#define BT_IO_PIN1 BIT5 +#define BT_IO_PIN2 BIT6 +#define BT_IO_CLKREQ BIT4 + +#define BT_SHUTDOWN() { BT_RST_POUT &= ~BT_RST_PIN; } +#define BT_ENABLE() { BT_RST_POUT |= BT_RST_PIN; } + +#define BT_UART_PSEL P5SEL +#define BT_UART_PDIR P5DIR +#define BT_UART_REN P5REN +#define BT_UART_POUT P5OUT +#define BT_UART_TX_PIN BIT6 +#define BT_UART_RX_PIN BIT7 + +#define CONFIG_BT_PINS() { \ + BT_RST_PSEL &= ~BT_RST_PIN; \ + BT_RST_PDIR |= BT_RST_PIN; \ + BT_SHUTDOWN(); \ + BT_IO_PSEL &= ~(BT_IO_RTS | BT_IO_CTS | BT_IO_PIN1 | BT_IO_PIN2 | BT_IO_CLKREQ); \ + BT_IO_PDIR &= ~(BT_IO_RTS | BT_IO_CTS | BT_IO_PIN1 | BT_IO_PIN2 | BT_IO_CLKREQ); \ + BT_IO_POUT &= ~(BT_IO_RTS | BT_IO_CTS | BT_IO_PIN1 | BT_IO_PIN2 | BT_IO_CLKREQ); \ + BT_UART_PSEL &= ~(BT_UART_TX_PIN | BT_UART_RX_PIN); \ + BT_UART_PDIR &= ~(BT_UART_TX_PIN | BT_UART_RX_PIN); \ + BT_UART_REN |= BT_UART_TX_PIN | BT_UART_RX_PIN; \ + BT_UART_POUT |= BT_UART_TX_PIN | BT_UART_RX_PIN; \ +} + +void mw_enable_bt(void); +void mw_disable_bt(void); + +typedef enum { + BT_UART_BD19200 = 0, + BT_UART_BD38400, + BT_UART_BD57600, + BT_UART_BD115200, + BT_UART_BD234000, +} bt_uart_baud_t; + +#define BT_MW_DEVICE_CLASS 0x842704 /* Limited discovery, Rendering, Information, Wearable, Wrist Watch */ +#define BT_RX_MAX_SIZE 255 + +void mw_init_bt_uart(const bt_uart_baud_t baud); + +void mw_bt_uart_tx(const void *buf, const unsigned int len); +// extern char BT_UART_RX_CHAR; + +const unsigned char *mw_bt_get_rx_buf(unsigned char **rpos, unsigned char *len); +unsigned char bt_feed_packet_data(unsigned char pdata); +uint8_t mw_bt_is_enabled(void); +#endif diff --git a/metawatch/mw_lcd.c b/metawatch/mw_lcd.c new file mode 100644 index 0000000..0eb7550 --- /dev/null +++ b/metawatch/mw_lcd.c @@ -0,0 +1,284 @@ +#include +#include + +#include "mw_main.h" + +#include "mw_lcd.h" +#include "mw_uart.h" + +// SMCLK = 16MHz -> divide by 16 to get 1 MHz SPI clock, +// 1MHz maximum according to LCD spec +//#define SPI_PRESCALE_L 0x10 +// currently we only run @1MHz +#define SPI_PRESCALE_L 0x10 +#define SPI_PRESCALE_H 0x00 + +#define LCD_STATIC_CMD 0x00 +#define LCD_WRITE_CMD 0x01 +#define LCD_CLEAR_CMD 0x04 + +static const unsigned char LCD_CLEAR_COMMAND[] = {LCD_CLEAR_CMD, 0x00}; +#define LCD_CLEAR_CMD_SIZE 0x02 +static const unsigned char LCD_STATIC_COMMAND[] = {LCD_STATIC_CMD, 0x00}; +#define LCD_STATIC_CMD_SIZE 0x02 + + +/* the LCD frame buffer, 96 lines */ +tLcdLine lcd_buf[96]; + + +#define LCD_DMA +/* errata - DMA variables cannot be function scope */ +#ifdef LCD_DMA +static unsigned char LcdDmaBusy = 0; +#endif + + +void memfill(void *target, unsigned char val, unsigned int count) +{ + while (count--) { + *(unsigned char *)(target+count) = val; + } +} + +void mw_lcd_init(void) +{ + int i; + + /* basic I/O setup */ + ENABLE_LCD_POWER(); + CONFIG_LCD_PINS(); + + // DISABLE_LCD_ENABLE(); + ENABLE_LCD_ENABLE(); + + /* Put state machine in reset while it is configured */ + LCD_SPI_UCBxCTL1 |= UCSWRST; + + /* + * 3-pin, 8-bit SPI master, Clock polarity low + * Clock phase set, least sig bit first + * SMCLK is the clock source + * set the clock prescaler + */ + LCD_SPI_UCBxCTL0 |= UCMST+ UCCKPH + UCSYNC; + + LCD_SPI_UCBxCTL1 |= UCSSEL_2; + LCD_SPI_UCBxBR0 = SPI_PRESCALE_L; + LCD_SPI_UCBxBR1 = SPI_PRESCALE_H; + + /* remove reset */ + LCD_SPI_UCBxCTL1 &= ~UCSWRST; + + /* pre-fill the frame-buffer */ + for (i=0; i<96; i++) { + lcd_buf[i].Row = i+1; + memfill(lcd_buf[i].Data, 0xff, 12); + // lcd_buf[i].Data[0] = i; + lcd_buf[i].Dummy = 0x00; + }; +} + +static void mw_lcd_write_line(const void *pData, unsigned char Size) +{ +#ifndef xLCD_DMA + unsigned char Index; +#endif + + LCD_CS_ASSERT(); + +#ifdef xLCD_DMA + LcdDmaBusy = 1; + + /* USCIB0 TXIFG is the DMA trigger + * DMACTL1 controls dma2 and [dma3] + */ + DMACTL1 = DMA2TSEL_19; + + DMA2SA = (unsigned int) pData; + DMA2DA = (unsigned int) &LCD_SPI_UCBxTXBUF; + + DMA2SZ = (unsigned int)Size; + + /* + * single transfer, increment source address, source byte and dest byte, + * level sensitive, enable interrupt, clear interrupt flag + */ + DMA2CTL = DMADT_0 + DMASRCINCR_3 + DMASBDB + DMALEVEL + DMAIE; + + /* start the transfer */ + DMA2CTL |= DMAEN; + + while (LcdDmaBusy) + nop(); +#else +// debug_uart_tx("+wl1"); + for ( Index = 0; Index < Size; Index++ ) { + LCD_SPI_UCBxTXBUF = ((unsigned char *)pData)[Index]; +// debug_uart_tx("."); + while (!(LCD_SPI_UCBxIFG & UCTXIFG)) { +// debug_uart_tx("+"); + nop(); + } + } +// debug_uart_tx("\n+wl2\n"); +#endif + + /* wait for shift to complete ( ~3 us ) */ + while (LCD_SPI_UCBxSTAT & 0x01) { + nop(); +// debug_uart_tx("."); + }; + + /* now the chip select can be deasserted */ + LCD_CS_DEASSERT(); +// debug_uart_tx("\n-wl\n"); +} + + +void mw_lcd_static_mode(void) +{ + mw_lcd_write_line(LCD_STATIC_COMMAND, LCD_STATIC_CMD_SIZE); +} + +void mw_lcd_clear(void) +{ + unsigned char i; + + mw_lcd_write_line(LCD_CLEAR_COMMAND, LCD_CLEAR_CMD_SIZE); + + /* pre-fill the frame-buffer */ + for (i=0; i<96; i++) { + memfill(lcd_buf[i].Data, 0xff, 12); + }; +} + +void mw_lcd_clear_fb(void) +{ + unsigned char i; + + /* pre-fill the frame-buffer */ + for (i=0; i<96; i++) { +#if LCD_BLACK == 0 + memfill(lcd_buf[i].Data, 0xff, 12); +#else + memfill(lcd_buf[i].Data, 0x00, 12); +#endif + }; +} + +#pragma vector=DMA_VECTOR +__interrupt void DMA_ISR (void) +{ + switch (DMAIV) { + case 0: + DMA0CTL &= ~DMAEN; // disable + DMA0CTL &= ~DMAIFG; // clear IRQ flag + debug_uart_tx("DMA0 IRQ\n"); + break; + case 2: + debug_uart_tx("DMA1 IRQ\n"); + break; + case 4: + debug_uart_tx("DMA2b IRQ\n"); + break; + case 6: + DMA2CTL &= ~DMAEN; // disable + DMA2CTL &= ~DMAIFG; // clear IRQ flag +#ifdef LCD_DMA + LcdDmaBusy = 0; +#endif + //LED7_TOGGLE(); + // debug_uart_tx("DMA2 IRQ\n"); + break; + } +} + +/* writes the complete internal framebuffer to the LCD */ +void mw_lcd_update_screen(void) +{ +#ifndef LCD_DMA + unsigned int i,j; +#endif + +// debug_uart_tx("uscr1\n"); + + LCD_CS_ASSERT(); + + /* send WRITE command */ + LCD_SPI_UCBxTXBUF = LCD_WRITE_CMD; + while (!(LCD_SPI_UCBxIFG & UCTXIFG)) + nop(); + +// debug_uart_tx("uscr2\n"); + +#ifdef LCD_DMA + LcdDmaBusy = 1; + + /* USCIB0 TXIFG is the DMA trigger + * DMACTL1 controls dma2 and [dma3] + */ + DMACTL1 = DMA2TSEL_19; + + DMA2SA = (unsigned int) lcd_buf; + DMA2DA = (unsigned int) &LCD_SPI_UCBxTXBUF; + + DMA2SZ = 96 * sizeof(tLcdLine); + + /* + * single transfer, increment source address, source byte and dest byte, + * level sensitive, enable interrupt, clear interrupt flag + */ + DMA2CTL = DMADT_0 + DMASRCINCR_3 + DMASBDB + DMALEVEL + DMAIE; + + /* start the transfer */ + DMA2CTL |= DMAEN; + +// debug_uart_tx("uscr3\n"); + + // LED7_OFF(); + while (LcdDmaBusy) + nop(); + +// debug_uart_tx("uscr4\n"); +#else + for (i=0; i<96; i++) { + for ( j = 0; j < sizeof(tLcdLine); j++ ) { + LCD_SPI_UCBxTXBUF = ((unsigned char *)(&lcd_buf[i]))[j]; + while (!(LCD_SPI_UCBxIFG & UCTXIFG)) + nop(); + } + } +#endif + + /* send final trailer byte */ + LCD_SPI_UCBxTXBUF = 0x00; + while (!(LCD_SPI_UCBxIFG & UCTXIFG)) + nop(); + +// debug_uart_tx("uscr5\n"); + /* wait for shift to complete ( ~3 us ) */ + while (LCD_SPI_UCBxSTAT & 0x01) + nop(); + +// debug_uart_tx("uscr6\n"); + LCD_CS_DEASSERT(); + + mw_lcd_static_mode(); +} + +void mw_lcd_draw_pixel(unsigned char x, unsigned char y, unsigned char color) +{ + switch (color) { + case 1: + lcd_buf[y].Data[x/8] |= 1 << (x % 8); + break; + case 0: + lcd_buf[y].Data[x/8] &= ~(1 << (x % 8)); + break; + case 2: + lcd_buf[y].Data[x/8] ^= 1 << (x % 8); + break; + } +} + diff --git a/metawatch/mw_lcd.h b/metawatch/mw_lcd.h new file mode 100644 index 0000000..5211da0 --- /dev/null +++ b/metawatch/mw_lcd.h @@ -0,0 +1,31 @@ +#ifndef _MW_LCD_H +#define _MW_LCD_H + +typedef struct +{ + unsigned char Row; /* row number for LCD command */ + unsigned char Data[12]; /* 12*8 = 96bit */ + unsigned char Dummy; /* 0x00 dummy byte to latch data into LCD */ +} tLcdLine; + +extern tLcdLine lcd_buf[]; + +void memfill(void *target, unsigned char val, unsigned int count); + +void mw_lcd_init(void); +void mw_lcd_clear(void); +void mw_lcd_clear_fb(void); +void mw_lcd_update_screen(void); + +#if 0 +#define LCD_BLACK 0 +#define LCD_WHITE 1 +#else +#define LCD_BLACK 1 +#define LCD_WHITE 0 +#endif +#define LCD_XOR 2 +void mw_lcd_draw_pixel(unsigned char x, unsigned char y, unsigned char color); + +#endif + diff --git a/metawatch/mw_main.c b/metawatch/mw_main.c new file mode 100644 index 0000000..89b014e --- /dev/null +++ b/metawatch/mw_main.c @@ -0,0 +1,570 @@ +#include +#include +#include +#include + +#include "mw_main.h" + +#include "mw_uart.h" +#include "mw_lcd.h" +#include "mw_bt.h" +#include "mw_adc.h" +#include "mw_bt.h" +#include "bt_hci.h" +#include "bt_l2cap.h" + +#include "oswald_main.h" +#include "oswald_hal.h" + +#include "bluetooth_init_cc256x.h" + +unsigned int _event_src = 0; + + +static void set16mhz(void) +{ + UCSCTL0 = 0x00; // Set lowest possible DCOx, MODx + UCSCTL1 = DCORSEL_5; // Select suitable range + UCSCTL2 = 488 + FLLD_1; // Set DCO Multiplier + UCSCTL4 = SELA__XT1CLK | SELS__DCOCLKDIV | SELM__DCOCLKDIV ; + + // Worst-case settling time for the DCO when the DCO range bits have been + // changed is n x 32 x 32 x f_FLL_reference. See UCS chapter in 5xx UG + // for optimization. + // 32 x 32 x / f_FLL_reference (32,768 Hz) = .03125 = t_DCO_settle + // t_DCO_settle / (1 / 18 MHz) = 562500 = counts_DCO_settle + + // __delay_cycles(562500); + int i; + for (i=0;i<10;i++){ + __delay_cycles(56250); + } +} + +static void setup_clocks(void) +{ + unsigned long i; + + /* use external oscillator */ + P7SEL |= BIT0 + BIT1; + if ((UCSCTL6 & XT1DRIVE_3) != XT1DRIVE_3) { + UCSCTL6_L |= XT1DRIVE1_L + XT1DRIVE0_L; + } + i = 50000; + while ((SFRIFG1 & OFIFG) && i--) { + UCSCTL7 &= ~(DCOFFG + XT1LFOFFG + XT1HFOFFG + XT2OFFG); + SFRIFG1 &= ~OFIFG; + } + UCSCTL6 = (UCSCTL6 & ~(XT1DRIVE_3)) |(XT1DRIVE_0); + + set16mhz(); + + UCSCTL8 |= SMCLKREQEN; + + /* enable oscillator fault NMI IRQ */ +// SFRIE1 = OFIE; +} + +#if 0 +#pragma vector=PWR_PORT_VECTOR +__interrupt void PWR_ISR (void) +{ + /* clear all possible sources */ + PWR_PORT_IFG &= ~(BAT_CHARGE_STAT1 | BAT_CHARGE_STAT2 | BAT_CHARGE_PWR_BIT); + _event_src |= POWER_SRC_EVENT; + LPM3_EXIT(); + nop(); +} +#endif + +static void mw_init_vibrate_pwm(void) +{ +#ifdef MW_DIGITAL_V2 + // Start with P7.3 as an output + P7OUT &= ~BIT3; // Low when a digital output + P7SEL &= ~BIT3; // P7 option select = false + P7DIR |= BIT3; // P7 outputs + + TA1CTL = 0; + + // No expansion divide + TA1EX0 = 0; + + // do a PWM with 64 total steps. This gives a count up of 32 and + // a count down of 32 + TA1CCR0 = 31; + + // Compare channel 2 is used as output + TA1CCTL2 = OUTMOD_6; // PWM output mode: 6 - toggle/set + TA1CCR2 = 10; // 10 is a 2/3 duty cycle +#endif +} + + +static void setup_pins(void) +{ + CONFIG_SRAM_PINS(); + CONFIGURE_BUTTON_PINS(); +#ifdef MW_DEVBOARD_V2 + CONFIG_LED_PINS(); // debug LEDs on devboard +#endif + DISABLE_LCD_LED(); // frontlight + CONFIG_DEBUG_PINS(); + CONFIG_ACCELEROMETER_PINS(); + // DISABLE_ACCELEROMETER_POWER(); // there is no accel. power switching! + + HARDWARE_CFG_SENSE_INIT(); + + APPLE_CONFIG(); + APPLE_POWER_DISABLE(); + + CONFIG_BT_PINS(); + BT_CLK_REQ_CONFIG_AS_OUTPUT_LOW(); + BT_IO1_CONFIG_AS_OUTPUT_LOW(); + BT_IO2_CONFIG_AS_OUTPUT_LOW(); + mw_disable_bt(); + + LIGHT_SENSE_INIT(); + LIGHT_SENSOR_SHUTDOWN(); + + BATTERY_SENSE_INIT(); + BATTERY_SENSE_DISABLE(); + BAT_CHARGE_DIR &= ~(BAT_CHARGE_STAT1 | BAT_CHARGE_STAT2 | BAT_CHARGE_PWR_BIT); + BAT_CHARGE_OUT |= BAT_CHARGE_PWR_BIT | BAT_CHARGE_STAT1 | BAT_CHARGE_STAT2; // pull-up + BAT_CHARGE_REN |= BAT_CHARGE_PWR_BIT; // enable resistors + // BAT_CHARGE_IE |= BAT_CHARGE_PWR_BIT; + BAT_CHARGE_OUT |= BAT_CHARGE_ENABLE_PIN; // !CE, negative logic + BAT_CHARGE_DIR |= BAT_CHARGE_ENABLE_PIN; + + /* disable reset function, enable NMI, do not enable NMI IRQ */ + /* to avoid accidential reset on charger clip connect */ +#ifndef MW_DEVBOARD_V2 // but only on real watch + SFRRPCR &= ~SYSRSTRE; + SFRRPCR |= SYSNMI; +#endif +} + +#pragma vector=WDT_VECTOR +__interrupt void WDT_ISR (void) +{ + /* eventually we will do something here, not for now */ + _event_src |= WATCHDOG_EVENT; + nop(); +} + +static void setup_wdt(void) +{ +#if 1 + WDTCTL = WDTPW + WDTHOLD; // disable watchdog +#else + WDTCTL = WDT_ADLY_1000; // 1 second timeout + SFRIE1 |= WDTIE; // Enable WDT interrupt +#endif +} + +#if 1 +#pragma vector=UNMI_VECTOR +__interrupt void NMI_ISR (void) +{ +#if defined MW_DEVBOARD_V2 + LED7_TOGGLE(); + debug_uart_tx_char('n'); +#endif + while ((SFRIFG1 & OFIFG)) { + UCSCTL7 &= ~(DCOFFG + XT1LFOFFG + XT1HFOFFG + XT2OFFG); + SFRIFG1 &= ~OFIFG; + } +} +#endif + +#pragma vector=RTC_VECTOR +__interrupt void RTC_ISR (void) +{ + switch (RTCIV) { + case RTCIV_NONE: + break; + case RTCIV_RTCRDYIFG: + case RTCIV_RTCTEVIFG: + case RTCIV_RTCAIFG: + case RTCIV_RT0PSIFG: + break; + case RTCIV_RT1PSIFG: + RTCPS1CTL &= ~RT1PSIFG; + _event_src |= RTC_1HZ_EVENT; + LPM3_EXIT; + break; + default: + break; + }; +} + +void setup_rtc(void) +{ + // stop it + RTCCTL01 = RTCHOLD; + + // calibration + RTCCTL2 = 0x00 & 0x3f; + RTCCTL2 |= RTCCALS; + + // Set the counter for RTC mode + RTCCTL01 |= RTCMODE; + + // set 128 Hz rate for prescale 0 interrupt + RTCPS0CTL |= RT0IP_7; + + // enable 1 pulse per second interrupt using prescale 1 + RTCPS1CTL |= RT1IP_6 | RT1PSIE; + + // 1 Hz calibration output + RTCCTL23 |= RTCCALF_3; + + // setting the peripheral selection bit makes the other I/O control a don't care + // P2.4 = 1 Hz RTC calibration output + // Direction needs to be set as output + RTC_1HZ_PORT_SEL |= RTC_1HZ_BIT; + RTC_1HZ_PORT_DIR |= RTC_1HZ_BIT; + + RTCYEAR = (unsigned int) 2013; + RTCMON = (unsigned int) 1; + RTCDAY = (unsigned int) 1; + RTCDOW = (unsigned int) 2; + RTCHOUR = (unsigned int) 01; + RTCMIN = (unsigned int) 0; + RTCSEC = (unsigned int) 0; + + // Enable the RTC + RTCCTL01 &= ~RTCHOLD; + nop(); +} + +#if defined MW_DEVBOARD_V2 +static void dbg_out_rtc(void) +{ + char clk_str[16]; + snprintf(clk_str, 16, "%02d:%02d.%02d %d\n", RTCHOUR, RTCMIN, RTCSEC, RTCDOW); + debug_uart_tx(clk_str); + // bt_l2cap_send_channel(0x40, clk_str, strlen(clk_str)); +} +#endif + +static void handle_button_event(void) +{ + unsigned char _button_state = 0; +#if 0 + char clk_str[16]; + snprintf(clk_str, 16, "0x%02x\n", _button_state); + debug_uart_tx(clk_str); +#endif + while (_button_state != (BUTTON_PORT_IN & ALL_BUTTONS)) { + __delay_cycles(562500); + _button_state = (BUTTON_PORT_IN & ALL_BUTTONS); + __delay_cycles(562500); + } + // BUTTON_PORT_IE |= INT_EDGE_SEL_BUTTONS; + + if (_button_state & SW_A) { + debug_uart_tx("switch A\n"); + oswald_handle_button_press(BUTTON_A); + } + if (_button_state & SW_B) { + debug_uart_tx("switch B\n"); + oswald_handle_button_press(BUTTON_B); + } + if (_button_state & SW_C) { + debug_uart_tx("switch C\n"); + oswald_handle_button_press(BUTTON_C); + } + if (_button_state & SW_D) { + debug_uart_tx("switch D\n"); + oswald_handle_button_press(BUTTON_D); + } + if (_button_state & SW_E) { + debug_uart_tx("switch E\n"); + oswald_handle_button_press(BUTTON_E); + } + if (_button_state & SW_F) { + debug_uart_tx("switch F\n"); + oswald_handle_button_press(BUTTON_F); + } +} + +void check_pwr_state(void) +{ + if (BAT_CHARGE_IN & BAT_CHARGE_PWR_BIT) { + BAT_CHARGE_OUT |= BAT_CHARGE_ENABLE_PIN; + BAT_CHARGE_REN &= ~(BAT_CHARGE_STAT1 | BAT_CHARGE_STAT2); // disable pull-up + } else { + BAT_CHARGE_OUT &= ~BAT_CHARGE_ENABLE_PIN; + BAT_CHARGE_REN |= BAT_CHARGE_STAT1 | BAT_CHARGE_STAT2; // enable pull-up + } +} + +static void handle_bt_uart_rx_event(void) +{ + const unsigned char *rx; + unsigned char len, *rp, p; + + rx = mw_bt_get_rx_buf(&rp, &len); + + p = 0; + while (p < len) { + p += bt_feed_packet_data(rx[(*rp+p)%BT_RX_MAX_SIZE]); + } + // all consumed + *rp = (*rp + len) % BT_RX_MAX_SIZE; +} + +#if defined MW_DEVBOARD_V2 +static void handle_uart_rx_event(void) +{ + char c; +#ifndef CC256x_TRANSP + char tstr[255]; + + if (debug_uart_rx_char(&c)) { + debug_uart_tx_char(c); + if (c == 'b') { + debug_uart_tx("\nenabling BT\n"); + mw_enable_bt(); + } else if (c == 'B') { + debug_uart_tx("\ndisabling BT\n"); + mw_disable_bt(); + } else if (c == 'c') { + debug_uart_tx("\nCharger status: "); + snprintf(tstr, 16, "0x%04x 0x%04x ", BAT_CHARGE_IN, (BAT_CHARGE_IN & BAT_CHARGE_PWR_BIT)); + debug_uart_tx(tstr); + if (BAT_CHARGE_IN & BAT_CHARGE_PWR_BIT) + debug_uart_tx("no ext pwr, "); + else + debug_uart_tx("ext pwr connected, "); + switch (BAT_CHARGE_IN & (BAT_CHARGE_STAT1 | BAT_CHARGE_STAT2)) { + case BAT_CHARGE_STAT1: + debug_uart_tx("charge done\n"); + break; + case BAT_CHARGE_STAT2: + debug_uart_tx("fast charge\n"); + break; + case (BAT_CHARGE_STAT1 | BAT_CHARGE_STAT2): + debug_uart_tx("suspend, sleep or fault\n"); + break; + default: + debug_uart_tx("precharge\n"); + break; + } + if (BAT_CHARGE_IN & BAT_CHARGE_ENABLE_PIN) + debug_uart_tx(" !charge\n"); + else + debug_uart_tx(" charge\n"); + } else if (c == 'd') { + debug_uart_tx("charging disabled\n"); + BAT_CHARGE_OUT |= BAT_CHARGE_ENABLE_PIN; + } else if (c == 'e') { + debug_uart_tx("charging enabled\n"); + BAT_CHARGE_OUT &= ~BAT_CHARGE_ENABLE_PIN; + } else if (c == 'l') { + debug_uart_tx("backlight LED on\n"); + hal_lcd_set_backlight(TRUE); + } else if (c == 'L') { + debug_uart_tx("backlight LED off\n"); + hal_lcd_set_backlight(FALSE); + } else if (c == 'u') { + mw_lcd_update_screen(); + } else if (c == '+') { + nop(); + } else if (c == '-') { + nop(); + } else if (c == 't') { + int i; + debug_uart_tx("cc256x ini content:\n"); + for (i=0; i<16; i++) { + snprintf(tstr, 16, "0x%04x 0x%02x\n", i, cc256x_init_script[i]); + debug_uart_tx(tstr); + } + } else if (c == 'H') { + uint8_t dclass[3]; + dclass[0] = BT_MW_DEVICE_CLASS & 0xff; + dclass[1] = (BT_MW_DEVICE_CLASS & 0xff00) >> 8; + dclass[2] = (BT_MW_DEVICE_CLASS & 0xff0000) >> 16; + + debug_uart_tx("HCI reset\n"); + bt_hci_cmd(HCI_HC_BB_OGF, HCI_RESET_OCF, 0, NULL); + bt_hci_cmd(HCI_HC_BB_OGF, HCI_W_COD_OCF, 3, dclass); + } else if (c == 'S') { + debug_uart_tx("Scan enable\n"); + tstr[0] = HCI_BB_SCAN_INQUIRY | HCI_BB_SCAN_PAGE; + bt_hci_cmd(HCI_HC_BB_OGF, HCI_W_SCAN_EN_OCF, 1, (uint8_t *)tstr); + } else if (c == 'h') { + RTCHOUR++; + if (RTCHOUR > 23) + RTCHOUR = 0; + } else if (c == 'm') { + RTCMIN++; + if (RTCMIN > 59) + RTCMIN = 0; + } else if (c == 'N') { + debug_uart_tx("Set name\n"); + tstr[0] = 'O'; + tstr[1] = 's'; + tstr[2] = 'w'; + tstr[3] = 'a'; + tstr[4] = 'l'; + tstr[5] = 'd'; + tstr[6] = 0x00; + bt_hci_cmd(HCI_HC_BB_OGF, HCI_W_LOCAL_NAME_OCF, 0x07, (uint8_t *)tstr); + } else if (c == 'R') { + bt_hci_cmd(HCI_INFO_PARAM_OGF, HCI_R_BD_ADDR_OCF, 0, NULL); + } + } +#endif +} +#endif + +void start_timer(int cycles) +{ + TA0EX0 = TAIDEX_0; + TA0CTL = TASSEL_1 | TACLR | MC__STOP; // SMCLK, clear TAR + TA0CCTL0 = CCIE; // CCR0 interrupt enabled + TA0CCR0 = cycles; + TA0CTL |= MC_1; // Start Timer_A in continuous mode +} + +void stop_timer(void) +{ + TA0CCTL0 &= ~CCIE; // CCR0 interrupt enabled + TA0CTL = MC__STOP; // Start Timer_A in continuous mode +} + +// Timer A0 interrupt service routine +#pragma vector=TIMER0_A0_VECTOR +__interrupt void TIMER0_A0_ISR (void) +{ + TA0CTL &= ~(TAIFG); +#if defined xMW_DEVBOARD_V2 + LED6_TOGGLE(); +#endif + _event_src |= TIMER_500MS_EVENT | TIMER_100MS_EVENT; + LPM3_EXIT; +} + +uint8_t handle_event(void) +{ +#if defined MW_DEVBOARD_V2 + char tstr[64]; +#endif + if (_event_src == 0) + return 1; + + while (_event_src != 0) { + if (_event_src & WATCHDOG_EVENT) { + _event_src &= ~WATCHDOG_EVENT; + debug_uart_tx_char('w'); + } else if (_event_src & RTC_1HZ_EVENT) { + _event_src &= ~RTC_1HZ_EVENT; + check_pwr_state(); + oswald_one_second_tick(); +#if defined MW_DEVBOARD_V2 + dbg_out_rtc(); + LED7_TOGGLE(); +#endif + } else if (_event_src & BT_UART_RCV_EVENT) { + _event_src &= ~BT_UART_RCV_EVENT; + handle_bt_uart_rx_event(); + } else if (_event_src & DBG_UART_RCV_EVENT) { + _event_src &= ~DBG_UART_RCV_EVENT; +#if defined MW_DEVBOARD_V2 + handle_uart_rx_event(); +#endif + } else if (_event_src & BUTTON_EVENT) { + _event_src &= ~BUTTON_EVENT; + handle_button_event(); + } else if (_event_src & TIMER_500MS_EVENT) { + _event_src &= ~TIMER_500MS_EVENT; + oswald_halfsecond_tick(); + } else if (_event_src & TIMER_100MS_EVENT) { + _event_src &= ~TIMER_100MS_EVENT; + oswald_centisecond_tick(); + } else { +#if defined MW_DEVBOARD_V2 + snprintf(tstr, 64, "unhandled event in 0x%04x\n", _event_src); + debug_uart_tx(tstr); +#endif + } + } + return 0; +} + +#pragma vector=BUTTON_PORT_VECTOR +__interrupt void BUTTON_ISR (void) +{ + BUTTON_PORT_IFG &= ~ALL_BUTTONS; + // BUTTON_PORT_IE &= ~INT_EDGE_SEL_BUTTONS; + _event_src |= BUTTON_EVENT; + //_button_state = (BUTTON_PORT_IN & ALL_BUTTONS); + LPM3_EXIT; +} + +#if 0 +#pragma vector=NOVECTOR +__interrupt void UNEXP_ISR (void) +{ + debug_uart_tx("unexpected IRQ occured\n"); +} +#endif + + +int main(void) +{ + int idle = 0; + + setup_wdt(); + setup_pins(); + setup_clocks(); + setup_rtc(); + + /* enable interrupts, we will need them! */ + __eint(); + +#if defined MW_DEVBOARD_V2 + init_debug_uart(); + debug_uart_tx("\nOswald on MetaWatch\n"); +#endif + + mw_lcd_init(); + mw_lcd_clear(); + mw_lcd_update_screen(); + + mw_init_adc(); + mw_init_vibrate_pwm(); + +#if 0 + RTCYEAR = (unsigned int) 2013; + RTCMON = (unsigned int) 1; + RTCDAY = (unsigned int) 1; + RTCDOW = (unsigned int) 2; + RTCHOUR = (unsigned int) 01; + RTCMIN = (unsigned int) 0; + RTCSEC = (unsigned int) 0; +#endif + + oswald_set_time(RTCHOUR, RTCMIN, RTCSEC, TRUE); + oswald_set_date(RTCDAY, RTCMON, RTCYEAR, TRUE); + oswald_init(); + + while (1) { + /* handle pending events */ + if (handle_event()) + idle++; + else + idle = 0; + + /* enter LPM3 sleep mode waiting for interrupt */ + if (idle > 100) { + idle = 0; + // debug_uart_tx("z"); + LPM3; + } + }; + +return 0; +} diff --git a/metawatch/mw_main.h b/metawatch/mw_main.h new file mode 100644 index 0000000..902c469 --- /dev/null +++ b/metawatch/mw_main.h @@ -0,0 +1,35 @@ +#ifndef _GCCFWTEST_LCD_H +#define _GCCFWTEST_LCD_H + +#if defined MW_DEVBOARD_V2 +#include "hal_devboard_v2_defs.h" +#elif defined MW_DIGITAL_V2 +#include "hal_digital_v2_defs.h" +#else +#error "Define a watch type!" +#endif +#include "hal_io_macros.h" + + +#define WATCHDOG_EVENT 1 << 0 +#define RTC_1HZ_EVENT 1 << 1 +#define DBG_UART_RCV_EVENT 1 << 2 +#define BUTTON_EVENT 1 << 3 +#define TIMER_500MS_EVENT 1 << 4 +#define TIMER_100MS_EVENT 1 << 5 +#define POWER_SRC_EVENT 1 << 6 +#define BT_UART_RCV_EVENT 1 << 7 + +extern unsigned int _event_src; + +//#define TIMER_500MS_CYCLES 32768 + +#define TIMER_500MS_CYCLES 16384 +#define TIMER_100MS_CYCLES 327 + +void start_timer(int cycles); +void stop_timer(void); + +uint8_t handle_event(void); + +#endif diff --git a/metawatch/mw_uart.c b/metawatch/mw_uart.c new file mode 100644 index 0000000..16a1a29 --- /dev/null +++ b/metawatch/mw_uart.c @@ -0,0 +1,110 @@ +#include +#include +#include +#include + +#include "mw_main.h" + +#include "mw_uart.h" + +static char UART_RX_CHAR = 0; + +#if defined MW_DEVBOARD_V2 + +void debug_uart_tx_char(char c); + +#pragma vector=USCI_A3_VECTOR +__interrupt void UCA_ISR (void) +{ + /* clear IRQ flag */ + UCA3IFG &= ~UCRXIFG; + UART_RX_CHAR = UCA3RXBUF; + _event_src |= DBG_UART_RCV_EVENT; + /* wake up to handle the received char */ + LPM3_EXIT; +} + +void init_debug_uart(void) +{ + /* assert reset */ + UCA3CTL1 = UCSWRST; + + /* reset default SMCLK = 1.048MHz */ + UCA3CTL1 |= UCSSEL__SMCLK; + /* CLK baud BRx BRSx BRFx */ + /* 1,048,576 115200 9 1 0 */ + /* 16,000,000 115200 138 7 0 */ + + UCA3BR0 = 138; + UCA3MCTL = UCBRS_7 + UCBRF_0; + + /* set P10.4 & P10.5 to UCA function */ + P10SEL |= BIT4; + P10SEL |= BIT5; + + UCA3STAT = 0; + + /* deassert reset */ + UCA3CTL1 &= ~UCSWRST; + + /* enable receive interrupt */ + UCA3IE = UCRXIE; + /* clear interrup flags */ + UCA3IFG = 0; +} + +void debug_uart_tx_char(const char c) +{ + UCA3TXBUF = c; + while ((UCA3IFG & UCTXIFG) == 0 ) + nop(); +} + +void debug_uart_tx(const char *buf) +{ + unsigned char i = 0; + + while (buf[i] != 0) { + debug_uart_tx_char(buf[i]); + if (buf[i++] == '\n') + debug_uart_tx_char('\r'); + } + while (UCA3STAT & UCBUSY) + nop(); +} + +void debug_dump_hex(const uint16_t len, const void *buf) +{ + int i; + char tstr[8]; + + for (i=0; i +#include +#include +#include + +#include "mw_main.h" + +#include "mw_lcd.h" +#include "mw_adc.h" +#include "mw_bt.h" +#include "bt_hci.h" +#include "bt_l2cap.h" + +#include "oswald.h" +#include "oswald_hal.h" + +#include "calendar.h" + +void hal_lcd_set_pixel(uint8_t x, uint8_t y, uint8_t color) +{ + x %= 96; + y %= 96; + mw_lcd_draw_pixel(x, y, color ? LCD_BLACK : LCD_WHITE); +} + +void hal_lcd_clear_display(void) +{ + mw_lcd_clear_fb(); +} + +void hal_lcd_update_display(void) +{ + mw_lcd_update_screen(); +} + +void hal_lcd_set_backlight(boolean state) +{ + if (state) { + ENABLE_LCD_LED(); + } else { + DISABLE_LCD_LED(); + } +} + +boolean hal_lcd_get_backlight(void) +{ + return (LCD_LED_POUT & LCD_LED_PIN) ? TRUE : FALSE; +} + +void hal_enable_centisecond_timer(void) +{ + start_timer(TIMER_100MS_CYCLES); +} + +void hal_disable_centisecond_timer(void) +{ + stop_timer(); +} + +void hal_enable_halfsecond_timer(void) +{ + start_timer(TIMER_500MS_CYCLES); +} + +void hal_disable_halfsecond_timer(void) +{ + stop_timer(); +} + +void hal_get_rtc(clock_state *rtc) +{ + /* Update clock state from RTC */ + rtc->hour = RTCHOUR; + rtc->minute = RTCMIN; + rtc->second = RTCSEC; + rtc->day = RTCDAY; + rtc->month = RTCMON; + rtc->year = RTCYEAR; +} + +void hal_set_rtc(clock_state *rtc, boolean set_sec) +{ + /* Update clock state from RTC */ + RTCHOUR = rtc->hour; + RTCMIN = rtc->minute; + if (set_sec) + RTCSEC = rtc->second; + RTCDAY = rtc->day; + RTCMON = rtc->month; + RTCYEAR = rtc->year; + rtc->wday = getWochentag(rtc->day, rtc->month, rtc->year); + RTCDOW = rtc->wday; +} + +void hal_get_power_state(power_state *pwr) +{ + unsigned int val; + + pwr->source = (BAT_CHARGE_IN & BAT_CHARGE_PWR_BIT) ? POWER_SOURCE_BATTERY : POWER_SOURCE_EXTERNAL; + + /* unless the charger is enabled we do not get a reasonable state */ + if (!(BAT_CHARGE_IN & BAT_CHARGE_ENABLE_PIN)) { + switch (BAT_CHARGE_IN & (BAT_CHARGE_STAT1 | BAT_CHARGE_STAT2)) { + case BAT_CHARGE_STAT1: + pwr->charge_state = POWER_CHARGER_DONE; + break; + case BAT_CHARGE_STAT2: + pwr->charge_state = POWER_CHARGER_CHARGING; + break; + case (BAT_CHARGE_STAT1 | BAT_CHARGE_STAT2): + pwr->charge_state = POWER_CHARGER_UNK; + break; + default: + pwr->charge_state = POWER_CHARGER_PRECHARGE; + break; + } + } else { + pwr->charge_state = POWER_CHARGER_UNK; + } + + if ((pwr->source == POWER_SOURCE_BATTERY) && (RTCSEC != 0)) { + /* the ADC and activating the measuring shunts is + * power expensive so only do this every minute */ + return; + }; + + /* get new values and so some averaging to avoid jumps */ + val = mw_get_battery_adc_val(); + pwr->percent = mw_get_battery_percentage_from_val(val); + pwr->level = val; +} + +void hal_vibration_set_state(boolean state) +{ +#ifdef MW_DIGITAL_V2 + if (state) { + TA1CTL |= TASSEL__ACLK | MC__UPDOWN | ID_0; + P7SEL |= BIT3; + } else { + TA1CTL = 0; + P7SEL &= ~BIT3; + } +#endif +} + +boolean hal_vibration_get_state(void) +{ +#ifdef MW_DIGITAL_V2 + return (P7SEL & BIT3) ? TRUE : FALSE; +#else + return FALSE; +#endif +} + +#define BLUETOOTH_DEVICE_NAME "Oswald on MetaWatch" +static boolean bt_is_visible = FALSE; + + +bluetooth_state hal_bluetooth_set_state(bluetooth_state state) +{ + uint8_t buf[32]; + + if (state == BLUETOOTH_OFF && mw_bt_is_enabled() == 1) { + mw_disable_bt(); + bt_is_visible = FALSE; + return BLUETOOTH_OFF; + } else if (state == BLUETOOTH_ON && mw_bt_is_enabled() == 0) { + mw_enable_bt(); + // set our name + memset(buf, 0, 32); + strncpy((char *)buf, BLUETOOTH_DEVICE_NAME, strlen(BLUETOOTH_DEVICE_NAME)); + bt_hci_cmd(HCI_HC_BB_OGF, HCI_W_LOCAL_NAME_OCF, strlen(BLUETOOTH_DEVICE_NAME)+1, buf); + // read our local address + bt_hci_cmd(HCI_INFO_PARAM_OGF, HCI_R_BD_ADDR_OCF, 0, NULL); + // enable page scan + buf[0] = HCI_BB_SCAN_PAGE; + bt_hci_cmd(HCI_HC_BB_OGF, HCI_W_SCAN_EN_OCF, 1, buf); + bt_is_visible = FALSE; + return BLUETOOTH_ON; + } else + return BLUETOOTH_ILL; +} + +bluetooth_state hal_bluetooth_get_state(void) +{ + if (mw_bt_is_enabled() == 1) { + if (bt_l2cap_get_connected(0x40)) + return BLUETOOTH_CONNECTED; + else + return BLUETOOTH_ON; + } else + return BLUETOOTH_OFF; +} + +uint8_t *hal_bluetooth_get_local_bdaddr(void) +{ + return bt_hci_get_local_bdaddr(); +} + +void hal_bluetooth_set_visible(boolean visible) +{ + uint8_t buf[2]; + + if (mw_bt_is_enabled() == 0) { + bt_is_visible = FALSE; + return; + } + + if (visible) { + // enable page and inquiry scan + buf[0] = HCI_BB_SCAN_INQUIRY | HCI_BB_SCAN_PAGE; + bt_hci_cmd(HCI_HC_BB_OGF, HCI_W_SCAN_EN_OCF, 1, buf); + bt_is_visible = TRUE; + } else { + // enable page scan only + buf[0] = HCI_BB_SCAN_PAGE; + bt_hci_cmd(HCI_HC_BB_OGF, HCI_W_SCAN_EN_OCF, 1, buf); + bt_is_visible = FALSE; + } +} + +boolean hal_bluetooth_get_visible(void) +{ + return bt_is_visible; +} + +void hal_bluetooth_send_data(const void *mdat, uint16_t mlen) +{ + bt_l2cap_send_channel(0x40, mdat, mlen); +} + diff --git a/metawatch/sharp_mem_lcd.c b/metawatch/sharp_mem_lcd.c new file mode 100644 index 0000000..df5b3ed --- /dev/null +++ b/metawatch/sharp_mem_lcd.c @@ -0,0 +1,113 @@ +// taken and adapted from +// Programming Sharp’s Memory LCDs +// by Ken Green + +// LCD commands - Note: the bits are reversed per the memory LCD data +// sheets because of the order the bits are shifted out in the SPI +// port. +#define MLCD_WR 0x80 //MLCD write line command +#define MLCD_CM 0x20 //MLCD clear memory command +#define MLCD_NO 0x00 //MLCD NOP command (used to switch VCOM) + +//LCD resolution +#define MLCD_XRES 96 //pixels per horizontal line +#define MLCD_YRES 96 //pixels per vertical line +#define MLCD_BYTES_LINE MLCD_XRES / 8 //number of bytes in a line +#define MLCD_BUF_SIZE MLCD_YRES * MLCD_BYTES_LINE + +//defines the VCOM bit in the command word that goes to the LCD +#define VCOM_HI 0x40 +#define VCOM_LO 0x00 + +static char *frmbufter; //current address of buffer to be displayed +static char locbuf[MLCD_BYTES_LINE + 3]; // local line buffer +static char linenum; // current line number being transmitted + +//there are 3 stages in transmitting a buffer: +//stage 0: first line (has command in it) +//stage 1: 2nd through last line (no command) +//stage 2: null byte trailer +static int stage = 0; + +//current state of vcom. This should alternate +//between VCOM _ HI and VCOM _ LO on a 1-30 second +//period. +extern char vcom; + +//////////////////////////////////////////////////////////////// +// +// This routine transmits the contents of the pixel memory in +// a frame buffer to the memory LCD. It uses DMA to transfer +// each individual line. The address of the frame buffer to +// transfer is in the global variable show _ frm. +// +// +// NOTE: this routine also acts as the interrupt handler for SPI interrupts. +// +// +// INPUTS: +// The SPI and DMA units must have been previously initialized +// show _ frm: +// pointer to the buffer to be displayed +// +//////////////////////////////////////////////////////////////// +void show _ frame(char *show _ frm) { +int i; +unsigned long sts; + + switch(stage) { + case 0: + // stage 0: sending the first line. The command is + // included in this line + set_scs(HIGH); //set SCS high + frmbufptr = show_frm; //init pointer to frame buffer + linebuf = locbuf; //init pointer to line buffer + linenum = 1; //init line address + + //first line of data is preceeded by a write command + *linebuf++ = MLCD _ WR | vcom; //command (note: no need to swap) + *linebuf++ = swap(linenum++); //line number (address) + + for (i=0; i MLCD_YRES) + stage = 2; //all lines sent, go to next stage + break; + case 2: + // All lines sent, send a fi nal null byte trailer. The DMA + //transfer of the last line is fi nished and the channel + //disabled. All that is left is to write a trailing null + //byte. It’s not worth using DMA to transfer 1 byte, so + //it’s done by directing writing to the SPI port. + //Write the last (null) byte + Write_to_SPI(0); + //Since there is no interrupt on transmit buffer empty, loop + //here until the byte is sent, then drop SCS. + i = 0; + while (SPI_BSY); //wait until done + set_scs(LOW); + stage = 0; //go back to stage 0 - sending out first line + } +} + diff --git a/metawatch/sintab.py b/metawatch/sintab.py new file mode 100644 index 0000000..5e693b3 --- /dev/null +++ b/metawatch/sintab.py @@ -0,0 +1,9 @@ +import sys +import math + +sys.stdout.write ("int16_t sintab[]={ ") + +for i in range (0, 360): + sys.stdout.write ("%4.0f," % (math.sin(((2*3.14159265358979323846)/360)*i)*100)) + +sys.stdout.write ("};\n")