From 1553c23cf33de5d8a193ffc8c7014cf826fc9fd3 Mon Sep 17 00:00:00 2001 From: Nils Faerber Date: Sat, 27 Apr 2013 22:22:32 +0200 Subject: [PATCH] Here we are! MetaWatch support in Oswald! --- ...W-#255737-v2-WBU_TSPA_Software_License.txt | 46 + .../bluetooth_init_cc2560_2.44.bts | Bin 0 -> 50699 bytes ...W-#255737-v2-WBU_TSPA_Software_License.txt | 46 + .../bluetooth_init_cc2564_2.8.bts | Bin 0 -> 23440 bytes metawatch/Makefile | 123 + metawatch/bluetooth_init_cc2560_2.44.bts | 1 + metawatch/bluetooth_init_cc2560_2.44.c | 3287 +++++++++++++++++ metawatch/bluetooth_init_cc2564_2.8.bts | 1 + metawatch/bluetooth_init_cc2564_2.8.c | 1487 ++++++++ metawatch/bluetooth_init_cc256x.h | 11 + metawatch/bt_hci.c | 477 +++ metawatch/bt_hci.h | 92 + metawatch/bt_l2cap.c | 274 ++ metawatch/bt_l2cap.h | 77 + metawatch/calendar.d | 12 + metawatch/hal_devboard_v2_defs.h | 660 ++++ metawatch/hal_digital_v2_defs.h | 615 +++ metawatch/hal_io_macros.h | 116 + metawatch/mw_adc.c | 83 + metawatch/mw_adc.h | 9 + metawatch/mw_bt.c | 228 ++ metawatch/mw_bt.h | 65 + metawatch/mw_lcd.c | 284 ++ metawatch/mw_lcd.h | 31 + metawatch/mw_main.c | 570 +++ metawatch/mw_main.h | 35 + metawatch/mw_uart.c | 110 + metawatch/mw_uart.h | 19 + metawatch/oswald_hal.c | 234 ++ metawatch/sharp_mem_lcd.c | 113 + metawatch/sintab.py | 9 + 31 files changed, 9115 insertions(+) create mode 100644 metawatch/CC2560_BT_SP_BTS/TILAW-#255737-v2-WBU_TSPA_Software_License.txt create mode 100644 metawatch/CC2560_BT_SP_BTS/bluetooth_init_cc2560_2.44.bts create mode 100644 metawatch/CC2564_BT_BLE_SP_BTS/TILAW-#255737-v2-WBU_TSPA_Software_License.txt create mode 100644 metawatch/CC2564_BT_BLE_SP_BTS/bluetooth_init_cc2564_2.8.bts create mode 100644 metawatch/Makefile create mode 120000 metawatch/bluetooth_init_cc2560_2.44.bts create mode 100644 metawatch/bluetooth_init_cc2560_2.44.c create mode 120000 metawatch/bluetooth_init_cc2564_2.8.bts create mode 100644 metawatch/bluetooth_init_cc2564_2.8.c create mode 100644 metawatch/bluetooth_init_cc256x.h create mode 100644 metawatch/bt_hci.c create mode 100644 metawatch/bt_hci.h create mode 100644 metawatch/bt_l2cap.c create mode 100644 metawatch/bt_l2cap.h create mode 100644 metawatch/calendar.d create mode 100644 metawatch/hal_devboard_v2_defs.h create mode 100644 metawatch/hal_digital_v2_defs.h create mode 100644 metawatch/hal_io_macros.h create mode 100644 metawatch/mw_adc.c create mode 100644 metawatch/mw_adc.h create mode 100644 metawatch/mw_bt.c create mode 100644 metawatch/mw_bt.h create mode 100644 metawatch/mw_lcd.c create mode 100644 metawatch/mw_lcd.h create mode 100644 metawatch/mw_main.c create mode 100644 metawatch/mw_main.h create mode 100644 metawatch/mw_uart.c create mode 100644 metawatch/mw_uart.h create mode 100644 metawatch/oswald_hal.c create mode 100644 metawatch/sharp_mem_lcd.c create mode 100644 metawatch/sintab.py 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 0000000000000000000000000000000000000000..c869e322f087c10fb8e30becd7cbf0e5701cd3ec GIT binary patch literal 50699 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 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..bb2bee13708ab3af704898e6682663fe7c6520ac GIT binary patch literal 23440 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 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") -- 2.39.2