diff options
65 files changed, 8119 insertions, 3920 deletions
@@ -2,13 +2,97 @@ Changes since U-Boot 1.1.4: ====================================================================== -* Merge the new NAND code (testing-NAND brach) +* Add support for Intel Monahans CPU on Zylonite and Delta boards + (This is Work in Progress!) +* Add support for TQM8260-AI boards. + +* Minor code cleanup + +* Merge the new NAND code (testing-NAND brach); see doc/README.nand Rewrite of NAND code based on what is in 2.6.12 Linux kernel Patch by Ladislav Michl, 29 Jun 2005 +* Add lowboot target to mcc200 board + Patch by Stefan Roese, 4 Mar 2006 + +* Fix problem with flash_get_size() from CFI driver update + Patch by Stefan Roese, 1 Mar 2006 + +* Make CFG_NO_FLASH work on ARM systems + Patch by Markus Klotzbuecher, 27 Feb 2006 + +* Update mcc200 config: Disable PCI and DoC, use 133 MHz IPB clock, + use hush shell. + +* Convert mcc200 to use common CFI flash driver + Patch by Stefan Roese, 28 Feb 2006 + +* Add env-variable "unlock" to handle initial state of sectors + (locked/unlocked). + + Only the U-Boot image and it's environment is protected, + all other sectors are unprotected (unlocked) if flash + hardware protection is used (CFG_FLASH_PROTECTION) and + the environment variable "unlock" is set to "yes". + + Patch by Stefan Roese, 28 Feb 2006 + +* Update drivers/cfi_flash.c: + - find_sector() called in both versions of flash_write_cfiword() + Patch by Peter Pearse, 27th Feb 2006 + +* CFI support for a x8/x16 AMD/Spansion flash configured in x8 mode + Patch by Jose Maria Lopez, 16 Jan 2006 + +* Add support for AMD/Spansion Flashes in flash_write_cfibuffer + Patch by Alex Bastos and Thomas Schaefer, 2005-08-29 + +* Changes/fixes for drivers/cfi_flash.c: + We *should* check if there are any error bits if the previous call + returned ERR_OK (Otherwise we will have output an error message in + flash_status_check() already.) The original code would only check for + error bits if flash_status_check() returns ERR_TIMEOUT. + Patch by Marcus Hall, 23 Aug 2005 + +* Changes/fixes for drivers/cfi_flash.c: + - Add CFG_FLASH_PROTECT_CLEAR on drivers/cfi_flash.c + - Prohibit buffer write when buffer_size is 1 on drivers/cfi_flash.c + Patch by Sangmoon Kim, 19 Aug 2005 + +* Fixes for drivers/cfi_flash.c: + - Fix wrong timeout value usage in flash_status_check() + - Round write_tout up when converting to msec in flash_get_size() + - Remove clearing flash status at the end of flash_write_cfibuffer() + which sets Intel 28F640J3 flash back to command mode on CSB472 + Patch by Tolunay Orkun, 02 July 2005 + +* Add basic support for the SMMACO4 Board from PanDaCom. + Patch by Heiko Schocher, 20 Feb 2006 + +* Add GIT version information (commid ID) to untagged U-Boot versions + + As done in the linux kernel, the U-Boot version (U_BOOT_VERSION) + of all unreleased (untagged) U-Boot images will be automatically + extended upon compiletime with a part of the GIT commit ID and + possibly with "dirty" if uncommited changes are detected. + + Here an example for the resulting version: + "U-Boot 1.1.4-g3457ac18-dirty" + + The version is now maintained in the toplevel Makefile and the + version headers are autogenerated. + + Patch by Stefan Roese, 9 Feb 2006 + * Update default environment for INKA4x00 board. +* Convert CPCI750 to use common CFI flash driver + Patch by Reinhard Arlt, 8 Feb 2006 + +* Various changes to esd HH405 board specific files + Patch by Matthias Fuchs, 07 Feb 2006 + * Cleanup U-Boot boot messages on ARM. To match the U-Boot user interface on ARM platforms to the U-Boot @@ -26,8 +26,8 @@ LIST_5xx=" \ LIST_5xxx=" \ cpci5200 icecube_5100 icecube_5200 EVAL5200 \ - pf5200 PM520 Total5100 Total5200 \ - Total5200_Rev2 TQM5200_auto o2dnt \ + mcc200 o2dnt pf5200 PM520 \ + Total5100 Total5200 Total5200_Rev2 TQM5200_auto \ " ######################################################################### @@ -203,8 +203,9 @@ LIST_ARM11=" \ LIST_pxa=" \ adsvix cerf250 cradle csb226 \ - innokom lubbock pxa255_idp wepep250 \ - xaeniax xm250 xsengine \ + delta innokom lubbock pxa255_idp \ + wepep250 xaeniax xm250 xsengine \ + zylonite \ " LIST_ixp="ixdp425" @@ -1,5 +1,5 @@ # -# (C) Copyright 2000-2005 +# (C) Copyright 2000-2006 # Wolfgang Denk, DENX Software Engineering, wd@denx.de. # # See file CREDITS for list of people who contributed to this @@ -21,6 +21,13 @@ # MA 02111-1307 USA # +VERSION = 1 +PATCHLEVEL = 1 +SUBLEVEL = 4 +EXTRAVERSION = +U_BOOT_VERSION = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) +VERSION_FILE = include/version_autogenerated.h + HOSTARCH := $(shell uname -m | \ sed -e s/i.86/i386/ \ -e s/sun4u/sparc64/ \ @@ -155,14 +162,14 @@ u-boot.bin: u-boot u-boot.img: u-boot.bin ./tools/mkimage -A $(ARCH) -T firmware -C none \ -a $(TEXT_BASE) -e 0 \ - -n $(shell sed -n -e 's/.*U_BOOT_VERSION//p' include/version.h | \ + -n $(shell sed -n -e 's/.*U_BOOT_VERSION//p' $(VERSION_FILE) | \ sed -e 's/"[ ]*$$/ for $(BOARD) board"/') \ -d $< $@ u-boot.dis: u-boot $(OBJDUMP) -d $< > $@ -u-boot: depend $(SUBDIRS) $(OBJS) $(LIBS) $(LDSCRIPT) +u-boot: depend version $(SUBDIRS) $(OBJS) $(LIBS) $(LDSCRIPT) UNDEF_SYM=`$(OBJDUMP) -x $(LIBS) |sed -n -e 's/.*\(__u_boot_cmd_.*\)/-u\1/p'|sort|uniq`;\ $(LD) $(LDFLAGS) $$UNDEF_SYM $(OBJS) \ --start-group $(LIBS) --end-group $(PLATFORM_LIBS) \ @@ -174,6 +181,13 @@ $(LIBS): $(SUBDIRS): $(MAKE) -C $@ all +version: + @echo -n "#define U_BOOT_VERSION \"U-Boot " > $(VERSION_FILE); \ + echo -n "$(U_BOOT_VERSION)" >> $(VERSION_FILE); \ + echo -n $(shell $(CONFIG_SHELL) $(TOPDIR)/tools/setlocalversion \ + $(TOPDIR)) >> $(VERSION_FILE); \ + echo "\"" >> $(VERSION_FILE) + gdbtools: $(MAKE) -C tools/gdb || exit 1 @@ -278,14 +292,23 @@ icecube_5100_config: unconfig } @./mkconfig -a IceCube ppc mpc5xxx icecube -inka4x0_config: unconfig +inka4x0_config: unconfig @./mkconfig inka4x0 ppc mpc5xxx inka4x0 +mcc200_config \ +mcc200_lowboot_config: unconfig + @ >include/config.h + @[ -z "$(findstring lowboot_,$@)" ] || \ + { echo "TEXT_BASE = 0xFE000000" >board/mcc200/config.tmp ; \ + echo "... with lowboot configuration" ; \ + } + @./mkconfig mcc200 ppc mpc5xxx mcc200 + o2dnt_config: - @./mkconfig -a o2dnt ppc mpc5xxx o2dnt + @./mkconfig o2dnt ppc mpc5xxx o2dnt pf5200_config: unconfig - @./mkconfig -a pf5200 ppc mpc5xxx pf5200 esd + @./mkconfig pf5200 ppc mpc5xxx pf5200 esd PM520_config \ PM520_DDR_config \ @@ -302,6 +325,14 @@ PM520_ROMBOOT_DDR_config: unconfig } @./mkconfig -a PM520 ppc mpc5xxx pm520 +smmaco4_config: unconfig + @./mkconfig -a smmaco4 ppc mpc5xxx tqm5200 + +spieval_config: unconfig + echo "#define CONFIG_CS_AUTOCONF">>include/config.h + echo "... with automatic CS configuration" + @./mkconfig -a spieval ppc mpc5xxx tqm5200 + MINI5200_config \ EVAL5200_config \ TOP5200_config: unconfig @@ -367,11 +398,6 @@ MiniFAP_config: unconfig } @./mkconfig -a TQM5200 ppc mpc5xxx tqm5200 -spieval_config: unconfig - echo "#define CONFIG_CS_AUTOCONF">>include/config.h - echo "... with automatic CS configuration" - @./mkconfig -a spieval ppc mpc5xxx tqm5200 - ######################################################################### ## MPC8xx Systems ######################################################################### @@ -1182,18 +1208,20 @@ TQM8260_AE_config \ TQM8260_AF_config \ TQM8260_AG_config \ TQM8260_AH_config \ +TQM8260_AI_config \ TQM8265_AA_config: unconfig @case "$@" in \ - TQM8255_AA_config) CTYPE=MPC8255; CFREQ=300; CACHE=no; BMODE=8260;; \ - TQM8260_AA_config) CTYPE=MPC8260; CFREQ=200; CACHE=no; BMODE=8260;; \ - TQM8260_AB_config) CTYPE=MPC8260; CFREQ=200; CACHE=yes; BMODE=60x;; \ - TQM8260_AC_config) CTYPE=MPC8260; CFREQ=200; CACHE=yes; BMODE=60x;; \ - TQM8260_AD_config) CTYPE=MPC8260; CFREQ=300; CACHE=no; BMODE=60x;; \ - TQM8260_AE_config) CTYPE=MPC8260; CFREQ=266; CACHE=no; BMODE=8260;; \ - TQM8260_AF_config) CTYPE=MPC8260; CFREQ=300; CACHE=no; BMODE=60x;; \ - TQM8260_AG_config) CTYPE=MPC8260; CFREQ=300; CACHE=no; BMODE=8260;; \ - TQM8260_AH_config) CTYPE=MPC8260; CFREQ=300; CACHE=yes; BMODE=60x;; \ - TQM8265_AA_config) CTYPE=MPC8265; CFREQ=300; CACHE=no; BMODE=60x;; \ + TQM8255_AA_config) CTYPE=MPC8255; CFREQ=300; CACHE=no; BMODE=8260;; \ + TQM8260_AA_config) CTYPE=MPC8260; CFREQ=200; CACHE=no; BMODE=8260;; \ + TQM8260_AB_config) CTYPE=MPC8260; CFREQ=200; CACHE=yes; BMODE=60x;; \ + TQM8260_AC_config) CTYPE=MPC8260; CFREQ=200; CACHE=yes; BMODE=60x;; \ + TQM8260_AD_config) CTYPE=MPC8260; CFREQ=300; CACHE=no; BMODE=60x;; \ + TQM8260_AE_config) CTYPE=MPC8260; CFREQ=266; CACHE=no; BMODE=8260;; \ + TQM8260_AF_config) CTYPE=MPC8260; CFREQ=300; CACHE=no; BMODE=60x;; \ + TQM8260_AG_config) CTYPE=MPC8260; CFREQ=300; CACHE=no; BMODE=8260;; \ + TQM8260_AH_config) CTYPE=MPC8260; CFREQ=300; CACHE=yes; BMODE=60x;; \ + TQM8260_AI_config) CTYPE=MPC8260; CFREQ=300; CACHE=no; BMODE=60x;; \ + TQM8265_AA_config) CTYPE=MPC8265; CFREQ=300; CACHE=no; BMODE=60x;; \ esac; \ >include/config.h ; \ if [ "$${CTYPE}" != "MPC8260" ] ; then \ @@ -1618,6 +1646,9 @@ cradle_config : unconfig csb226_config : unconfig @./mkconfig $(@:_config=) arm pxa csb226 +delta_config : + @./mkconfig $(@:_config=) arm pxa delta + innokom_config : unconfig @./mkconfig $(@:_config=) arm pxa innokom @@ -1645,6 +1676,9 @@ xm250_config : unconfig xsengine_config : unconfig @./mkconfig $(@:_config=) arm pxa xsengine +zylonite_config : + @./mkconfig $(@:_config=) arm pxa zylonite + ######################################################################### ## ARM1136 Systems ######################################################################### @@ -1850,7 +1884,7 @@ clobber: clean -o -name '*.srec' -o -name '*.bin' -o -name u-boot.img \) \ -print0 \ | xargs -0 rm -f - rm -f $(OBJS) *.bak tags TAGS + rm -f $(OBJS) *.bak tags TAGS include/version_autogenerated.h rm -fr *.*~ rm -f u-boot u-boot.map u-boot.hex $(ALL) rm -f tools/crc32.c tools/environment.c tools/env/crc32.c diff --git a/board/amcc/bamboo/config.mk b/board/amcc/bamboo/config.mk index b6495de..433429b 100644 --- a/board/amcc/bamboo/config.mk +++ b/board/amcc/bamboo/config.mk @@ -35,4 +35,3 @@ endif # legacy nand support BOARDLIBS = drivers/nand_legacy/libnand_legacy.a - diff --git a/board/bmw/config.mk b/board/bmw/config.mk index 10b7a9f..f991549 100644 --- a/board/bmw/config.mk +++ b/board/bmw/config.mk @@ -30,4 +30,3 @@ TEXT_BASE = 0xFFF00000 PLATFORM_CPPFLAGS += -DEMBEDDED -DBIG_ENDIAN_HOST -DINCLUDE_5701_AX_FIX=1\ -DDBG=0 -DT3_JUMBO_RCV_RCB_ENTRY_COUNT=256\ -DTEXT_BASE=$(TEXT_BASE) - diff --git a/board/dave/PPChameleonEVB/config.mk b/board/dave/PPChameleonEVB/config.mk index 5d3df0c..1dc635f 100644 --- a/board/dave/PPChameleonEVB/config.mk +++ b/board/dave/PPChameleonEVB/config.mk @@ -32,4 +32,3 @@ BOARDLIBS = drivers/nand/libnand.a # Compile the legacy NAND code (CFG_NAND_LEGACY must be defined) #BOARDLIBS = drivers/nand_legacy/libnand_legacy.a - diff --git a/board/dave/PPChameleonEVB/nand.c b/board/dave/PPChameleonEVB/nand.c index 61edc78..40a827c 100644 --- a/board/dave/PPChameleonEVB/nand.c +++ b/board/dave/PPChameleonEVB/nand.c @@ -81,7 +81,7 @@ static int ppchameleonevb_device_ready(struct mtd_info *mtdinfo) break; } - if (in32(GPIO0_IR) & rb_gpio_pin) + if (in32(GPIO0_IR) & rb_gpio_pin) return 1; return 0; } diff --git a/board/delta/Makefile b/board/delta/Makefile new file mode 100644 index 0000000..e744eec --- /dev/null +++ b/board/delta/Makefile @@ -0,0 +1,48 @@ + +# +# (C) Copyright 2000 +# Wolfgang Denk, DENX Software Engineering, wd@denx.de. +# +# See file CREDITS for list of people who contributed to this +# project. +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, +# MA 02111-1307 USA +# + +include $(TOPDIR)/config.mk + +LIB = lib$(BOARD).a + +OBJS := delta.o nand.o +SOBJS := lowlevel_init.o + +$(LIB): $(OBJS) $(SOBJS) + $(AR) crv $@ $(OBJS) $(SOBJS) + +clean: + rm -f $(SOBJS) $(OBJS) + +distclean: clean + rm -f $(LIB) core *.bak .depend + +######################################################################### + +.depend: Makefile $(SOBJS:.o=.S) $(OBJS:.o=.c) + $(CC) -M $(CPPFLAGS) $(SOBJS:.o=.S) $(OBJS:.o=.c) > $@ + +-include .depend + +######################################################################### diff --git a/board/delta/config.mk b/board/delta/config.mk new file mode 100644 index 0000000..9564625 --- /dev/null +++ b/board/delta/config.mk @@ -0,0 +1,8 @@ +#TEXT_BASE = 0x0 +#TEXT_BASE = 0xa1700000 +#TEXT_BASE = 0xa3080000 +#TEXT_BASE = 0x9ffe0000 +TEXT_BASE = 0xa3008000 + +# Compile the new NAND code (needed iff #ifdef CONFIG_NEW_NAND_CODE) +BOARDLIBS = drivers/nand/libnand.a diff --git a/board/delta/delta.c b/board/delta/delta.c new file mode 100644 index 0000000..3ffcc2a --- /dev/null +++ b/board/delta/delta.c @@ -0,0 +1,75 @@ +/* + * (C) Copyright 2002 + * Kyle Harris, Nexus Technologies, Inc. kharris@nexus-tech.net + * + * (C) Copyright 2002 + * Sysgo Real-Time Solutions, GmbH <www.elinos.com> + * Marius Groeger <mgroeger@sysgo.de> + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ + +#include <common.h> + +/* ------------------------------------------------------------------------- */ + + +/* + * Miscelaneous platform dependent initialisations + */ + +int board_init (void) +{ + DECLARE_GLOBAL_DATA_PTR; + + /* memory and cpu-speed are setup before relocation */ + /* so we do _nothing_ here */ + + /* arch number of Lubbock-Board mk@tbd: fix this! */ + gd->bd->bi_arch_number = MACH_TYPE_LUBBOCK; + + /* adress of boot parameters */ + gd->bd->bi_boot_params = 0xa0000100; + + return 0; +} + +int board_late_init(void) +{ + setenv("stdout", "serial"); + setenv("stderr", "serial"); + return 0; +} + + +int dram_init (void) +{ + DECLARE_GLOBAL_DATA_PTR; + + gd->bd->bi_dram[0].start = PHYS_SDRAM_1; + gd->bd->bi_dram[0].size = PHYS_SDRAM_1_SIZE; + gd->bd->bi_dram[1].start = PHYS_SDRAM_2; + gd->bd->bi_dram[1].size = PHYS_SDRAM_2_SIZE; + gd->bd->bi_dram[2].start = PHYS_SDRAM_3; + gd->bd->bi_dram[2].size = PHYS_SDRAM_3_SIZE; + gd->bd->bi_dram[3].start = PHYS_SDRAM_4; + gd->bd->bi_dram[3].size = PHYS_SDRAM_4_SIZE; + + return 0; +} diff --git a/board/delta/lowlevel_init.S b/board/delta/lowlevel_init.S new file mode 100644 index 0000000..498cf7f --- /dev/null +++ b/board/delta/lowlevel_init.S @@ -0,0 +1,385 @@ +/* + * Most of this taken from Redboot hal_platform_setup.h with cleanup + * + * NOTE: I haven't clean this up considerably, just enough to get it + * running. See hal_platform_setup.h for the source. See + * board/cradle/lowlevel_init.S for another PXA250 setup that is + * much cleaner. + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ + +#include <config.h> +#include <version.h> +#include <asm/arch/pxa-regs.h> + +DRAM_SIZE: .long CFG_DRAM_SIZE + +/* wait for coprocessor write complete */ +.macro CPWAIT reg + mrc p15,0,\reg,c2,c0,0 + mov \reg,\reg + sub pc,pc,#4 +.endm + + +.macro wait time + ldr r2, =OSCR + mov r3, #0 + str r3, [r2] +0: + ldr r3, [r2] + cmp r3, \time + bls 0b +.endm + +/* + * Memory setup + */ + +.globl lowlevel_init +lowlevel_init: + /* Set up GPIO pins first ----------------------------------------- */ + mov r10, lr + + /* Configure GPIO Pins 97, 98 UART1 / altern. Fkt. 1 */ + ldr r0, =GPIO97 + ldr r1, =0x801 + str r1, [r0] + + ldr r0, =GPIO98 + ldr r1, =0x801 + str r1, [r0] + + /* tebrandt - ASCR, clear the RDH bit */ + ldr r0, =ASCR + ldr r1, [r0] + bic r1, r1, #0x80000000 + str r1, [r0] + + /* ---------------------------------------------------------------- */ + /* Enable memory interface */ + /* ---------------------------------------------------------------- */ + + /* ---------------------------------------------------------------- */ + /* Step 1: Wait for at least 200 microsedonds to allow internal */ + /* clocks to settle. Only necessary after hard reset... */ + /* FIXME: can be optimized later */ + /* ---------------------------------------------------------------- */ +; wait #300 + +mem_init: + +#define NEW_SDRAM_INIT 1 +#ifdef NEW_SDRAM_INIT + + /* Configure ACCR Register - enable DMEMC Clock at 260 / 2 MHz */ + ldr r0, =ACCR + ldr r1, [r0] + orr r1, r1, #0x3000 + str r1, [r0] + ldr r1, [r0] + + /* 2. Programm MDCNFG, leaving DMCEN de-asserted */ + ldr r0, =MDCNFG + ldr r1, =(MDCNFG_DMAP | MDCNFG_DTYPE | MDCNFG_DTC_2 | MDCNFG_DCSE0 | MDCNFG_DRAC_13) + /* ldr r1, =0x80000403 */ + str r1, [r0] + ldr r1, [r0] /* delay until written */ + + /* 3. wait nop power up waiting period (200ms) + * optimization: Steps 4+6 can be done during this + */ + wait #300 + + /* 4. Perform an initial Rcomp-calibration cycle */ + ldr r0, =RCOMP + ldr r1, =0x80000000 + str r1, [r0] + ldr r1, [r0] /* delay until written */ + /* missing: program for automatic rcomp evaluation cycles */ + + /* 5. DDR DRAM strobe delay calibration */ + ldr r0, =DDR_HCAL + ldr r1, =0x88000007 + str r1, [r0] + wait #5 + ldr r1, [r0] /* delay until written */ + + /* Set MDMRS */ + ldr r0, =MDMRS + ldr r1, =0x60000033 + str r1, [r0] + wait #300 + + /* Configure MDREFR */ + ldr r0, =MDREFR + ldr r1, =0x00000006 + str r1, [r0] + ldr r1, [r0] + + /* Enable the dynamic memory controller */ + ldr r0, =MDCNFG + ldr r1, [r0] + orr r1, r1, #MDCNFG_DMCEN + str r1, [r0] + + +#else /* NEW_SDRAM_INIT */ + + /* configure the MEMCLKCFG register */ + ldr r1, =MEMCLKCFG + ldr r2, =0x00010001 + str r2, [r1] @ WRITE + ldr r2, [r1] @ DELAY UNTIL WRITTEN + + /* set CSADRCFG[0] to data flash SRAM mode */ + ldr r1, =CSADRCFG0 + ldr r2, =0x00320809 + str r2, [r1] @ WRITE + ldr r2, [r1] @ DELAY UNTIL WRITTEN + + /* set CSADRCFG[1] to data flash SRAM mode */ + ldr r1, =CSADRCFG1 + ldr r2, =0x00320809 + str r2, [r1] @ WRITE + ldr r2, [r1] @ DELAY UNTIL WRITTEN + + /* set MSC 0 register for SRAM memory */ + ldr r1, =MSC0 + ldr r2, =0x11191119 + str r2, [r1] @ WRITE + ldr r2, [r1] @ DELAY UNTIL WRITTEN + + /* set CSADRCFG[2] to data flash SRAM mode */ + ldr r1, =CSADRCFG2 + ldr r2, =0x00320809 + str r2, [r1] @ WRITE + ldr r2, [r1] @ DELAY UNTIL WRITTEN + + /* set CSADRCFG[3] to VLIO mode */ + ldr r1, =CSADRCFG3 + ldr r2, =0x0032080B + str r2, [r1] @ WRITE + ldr r2, [r1] @ DELAY UNTIL WRITTEN + + /* set MSC 1 register for VLIO memory */ + ldr r1, =MSC1 + ldr r2, =0x123C1119 + str r2, [r1] @ WRITE + ldr r2, [r1] @ DELAY UNTIL WRITTEN + +#if 0 + /* This does not work in Zylonite. -SC */ + ldr r0, =0x15fffff0 + ldr r1, =0xb10b + str r1, [r0] + str r1, [r0, #4] +#endif + + /* Configure ACCR Register */ + ldr r0, =ACCR @ ACCR + ldr r1, =0x0180b108 + str r1, [r0] + ldr r1, [r0] + + /* Configure MDCNFG Register */ + ldr r0, =MDCNFG @ MDCNFG + ldr r1, =0x403 + str r1, [r0] + ldr r1, [r0] + + /* Perform Resistive Compensation by configuring RCOMP register */ + ldr r1, =RCOMP @ RCOMP + ldr r2, =0x000000ff + str r2, [r1] + ldr r2, [r1] + + /* Configure MDMRS Register for SDCS0 */ + ldr r1, =MDMRS @ MDMRS + ldr r2, =0x60000023 + ldr r3, [r1] + orr r2, r2, r3 + str r2, [r1] + ldr r2, [r1] + + /* Configure MDMRS Register for SDCS1 */ + ldr r1, =MDMRS @ MDMRS + ldr r2, =0xa0000023 + ldr r3, [r1] + orr r2, r2, r3 + str r2, [r1] + ldr r2, [r1] + + /* Configure MDREFR */ + ldr r1, =MDREFR @ MDREFR + ldr r2, =0x00000006 + str r2, [r1] + ldr r2, [r1] + + /* Configure EMPI */ + ldr r1, =EMPI @ EMPI + ldr r2, =0x80000000 + str r2, [r1] + ldr r2, [r1] + + /* Hardware DDR Read-Strobe Delay Calibration */ + ldr r0, =DDR_HCAL @ DDR_HCAL + ldr r1, =0x803ffc07 @ the offset is correct? -SC + str r1, [r0] + wait #5 + ldr r1, [r0] + + /* Here we assume the hardware calibration alwasy be successful. -SC */ + /* Set DMCEN bit in MDCNFG Register */ + ldr r0, =MDCNFG @ MDCNFG + ldr r1, [r0] + orr r1, r1, #0x40000000 @ enable SDRAM for Normal Access + str r1, [r0] + +#endif /* NEW_SDRAM_INIT */ + +#ifndef CFG_SKIP_DRAM_SCRUB + /* scrub/init SDRAM if enabled/present */ + ldr r8, =CFG_DRAM_BASE /* base address of SDRAM (CFG_DRAM_BASE) */ + ldr r9, =CFG_DRAM_SIZE /* size of memory to scrub (CFG_DRAM_SIZE) */ + mov r0, #0 /* scrub with 0x0000:0000 */ + mov r1, #0 + mov r2, #0 + mov r3, #0 + mov r4, #0 + mov r5, #0 + mov r6, #0 + mov r7, #0 +10: /* fastScrubLoop */ + subs r9, r9, #32 /* 8 words/line */ + stmia r8!, {r0-r7} + beq 15f + b 10b +#endif /* CFG_SKIP_DRAM_SCRUB */ + +15: + /* Mask all interrupts */ + mov r1, #0 + mcr p6, 0, r1, c1, c0, 0 @ ICMR + + /* Disable software and data breakpoints */ + mov r0, #0 + mcr p15,0,r0,c14,c8,0 /* ibcr0 */ + mcr p15,0,r0,c14,c9,0 /* ibcr1 */ + mcr p15,0,r0,c14,c4,0 /* dbcon */ + + /* Enable all debug functionality */ + mov r0,#0x80000000 + mcr p14,0,r0,c10,c0,0 /* dcsr */ + +endlowlevel_init: + + mov pc, lr + + +/* +@******************************************************************************** +@ DDR calibration +@ +@ This function is used to calibrate DQS delay lines. +@ Monahans supports three ways to do it. One is software +@ calibration. Two is hardware calibration. Three is hybrid +@ calibration. +@ +@ TBD +@ -SC +ddr_calibration: + + @ Case 1: Write the correct delay value once + @ Configure DDR_SCAL Register + ldr r0, =DDR_SCAL @ DDR_SCAL +q ldr r1, =0xaf2f2f2f + str r1, [r0] + ldr r1, [r0] +*/ +/* @ Case 2: Software Calibration + @ Write test pattern to memory + ldr r5, =0x0faf0faf @ Data Pattern + ldr r4, =0xa0000000 @ DDR ram + str r5, [r4] + + mov r1, =0x0 @ delay count + mov r6, =0x0 + mov r7, =0x0 +ddr_loop1: + add r1, r1, =0x1 + cmp r1, =0xf + ble end_loop + mov r3, r1 + mov r0, r1, lsl #30 + orr r3, r3, r0 + mov r0, r1, lsl #22 + orr r3, r3, r0 + mov r0, r1, lsl #14 + orr r3, r3, r0 + orr r3, r3, =0x80000000 + ldr r2, =DDR_SCAL + str r3, [r2] + + ldr r2, [r4] + cmp r2, r5 + bne ddr_loop1 + mov r6, r1 +ddr_loop2: + add r1, r1, =0x1 + cmp r1, =0xf + ble end_loop + mov r3, r1 + mov r0, r1, lsl #30 + orr r3, r3, r0 + mov r0, r1, lsl #22 + orr r3, r3, r0 + mov r0, r1, lsl #14 + orr r3, r3, r0 + orr r3, r3, =0x80000000 + ldr r2, =DDR_SCAL + str r3, [r2] + + ldr r2, [r4] + cmp r2, r5 + be ddr_loop2 + mov r7, r2 + + add r3, r6, r7 + lsr r3, r3, =0x1 + mov r0, r1, lsl #30 + orr r3, r3, r0 + mov r0, r1, lsl #22 + orr r3, r3, r0 + mov r0, r1, lsl #14 + orr r3, r3, r0 + orr r3, r3, =0x80000000 + ldr r2, =DDR_SCAL + +end_loop: + + @ Case 3: Hardware Calibratoin + ldr r0, =DDR_HCAL @ DDR_HCAL + ldr r1, =0x803ffc07 @ the offset is correct? -SC + str r1, [r0] + wait #5 + ldr r1, [r0] + mov pc, lr +*/ diff --git a/board/delta/nand.c b/board/delta/nand.c new file mode 100644 index 0000000..50def59 --- /dev/null +++ b/board/delta/nand.c @@ -0,0 +1,590 @@ +/* + * (C) Copyright 2006 DENX Software Engineering + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ + +#include <common.h> + +#if (CONFIG_COMMANDS & CFG_CMD_NAND) +#ifdef CONFIG_NEW_NAND_CODE + +#include <nand.h> +#include <asm/arch/pxa-regs.h> + +#ifdef CFG_DFC_DEBUG1 +# define DFC_DEBUG1(fmt, args...) printf(fmt, ##args) +#else +# define DFC_DEBUG1(fmt, args...) +#endif + +#ifdef CFG_DFC_DEBUG2 +# define DFC_DEBUG2(fmt, args...) printf(fmt, ##args) +#else +# define DFC_DEBUG2(fmt, args...) +#endif + +#ifdef CFG_DFC_DEBUG3 +# define DFC_DEBUG3(fmt, args...) printf(fmt, ##args) +#else +# define DFC_DEBUG3(fmt, args...) +#endif + +#define MIN(x, y) ((x < y) ? x : y) + +/* These really don't belong here, as they are specific to the NAND Model */ +static uint8_t scan_ff_pattern[] = { 0xff, 0xff }; + +static struct nand_bbt_descr delta_bbt_descr = { + .options = 0, + .offs = 0, + .len = 2, + .pattern = scan_ff_pattern +}; + +static struct nand_oobinfo delta_oob = { + .useecc = MTD_NANDECC_AUTOPL_USR, /* MTD_NANDECC_PLACEONLY, */ + .eccbytes = 6, + .eccpos = {2, 3, 4, 5, 6, 7}, + .oobfree = { {8, 2}, {12, 4} } +}; + + +/* + * not required for Monahans DFC + */ +static void dfc_hwcontrol(struct mtd_info *mtdinfo, int cmd) +{ + return; +} + +#if 0 +/* read device ready pin */ +static int dfc_device_ready(struct mtd_info *mtdinfo) +{ + if(NDSR & NDSR_RDY) + return 1; + else + return 0; + return 0; +} +#endif + +/* + * Write buf to the DFC Controller Data Buffer + */ +static void dfc_write_buf(struct mtd_info *mtd, const u_char *buf, int len) +{ + unsigned long bytes_multi = len & 0xfffffffc; + unsigned long rest = len & 0x3; + unsigned long *long_buf; + int i; + + DFC_DEBUG2("dfc_write_buf: writing %d bytes starting with 0x%x.\n", len, *((unsigned long*) buf)); + if(bytes_multi) { + for(i=0; i<bytes_multi; i+=4) { + long_buf = (unsigned long*) &buf[i]; + NDDB = *long_buf; + } + } + if(rest) { + printf("dfc_write_buf: ERROR, writing non 4-byte aligned data.\n"); + } + return; +} + + +/* + * These functions are quite problematic for the DFC. Luckily they are + * not used in the current nand code, except for nand_command, which + * we've defined our own anyway. The problem is, that we always need + * to write 4 bytes to the DFC Data Buffer, but in these functions we + * don't know if to buffer the bytes/half words until we've gathered 4 + * bytes or if to send them straight away. + * + * Solution: Don't use these with Mona's DFC and complain loudly. + */ +static void dfc_write_word(struct mtd_info *mtd, u16 word) +{ + printf("dfc_write_word: WARNING, this function does not work with the Monahans DFC!\n"); +} +static void dfc_write_byte(struct mtd_info *mtd, u_char byte) +{ + printf("dfc_write_byte: WARNING, this function does not work with the Monahans DFC!\n"); +} + +/* The original: + * static void dfc_read_buf(struct mtd_info *mtd, const u_char *buf, int len) + * + * Shouldn't this be "u_char * const buf" ? + */ +static void dfc_read_buf(struct mtd_info *mtd, u_char* const buf, int len) +{ + int i=0, j; + + /* we have to be carefull not to overflow the buffer if len is + * not a multiple of 4 */ + unsigned long bytes_multi = len & 0xfffffffc; + unsigned long rest = len & 0x3; + unsigned long *long_buf; + + DFC_DEBUG3("dfc_read_buf: reading %d bytes.\n", len); + /* if there are any, first copy multiple of 4 bytes */ + if(bytes_multi) { + for(i=0; i<bytes_multi; i+=4) { + long_buf = (unsigned long*) &buf[i]; + *long_buf = NDDB; + } + } + + /* ...then the rest */ + if(rest) { + unsigned long rest_data = NDDB; + for(j=0;j<rest; j++) + buf[i+j] = (u_char) ((rest_data>>j) & 0xff); + } + + return; +} + +/* + * read a word. Not implemented as not used in NAND code. + */ +static u16 dfc_read_word(struct mtd_info *mtd) +{ + printf("dfc_write_byte: UNIMPLEMENTED.\n"); + return 0; +} + +/* global var, too bad: mk@tbd: move to ->priv pointer */ +static unsigned long read_buf = 0; +static int bytes_read = -1; + +/* + * read a byte from NDDB Because we can only read 4 bytes from NDDB at + * a time, we buffer the remaining bytes. The buffer is reset when a + * new command is sent to the chip. + * + * WARNING: + * This function is currently only used to read status and id + * bytes. For these commands always 8 bytes need to be read from + * NDDB. So we read and discard these bytes right now. In case this + * function is used for anything else in the future, we must check + * what was the last command issued and read the appropriate amount of + * bytes respectively. + */ +static u_char dfc_read_byte(struct mtd_info *mtd) +{ + unsigned char byte; + unsigned long dummy; + + if(bytes_read < 0) { + read_buf = NDDB; + dummy = NDDB; + bytes_read = 0; + } + byte = (unsigned char) (read_buf>>(8 * bytes_read++)); + if(bytes_read >= 4) + bytes_read = -1; + + DFC_DEBUG2("dfc_read_byte: byte %u: 0x%x of (0x%x).\n", bytes_read - 1, byte, read_buf); + return byte; +} + +/* calculate delta between OSCR values start and now */ +static unsigned long get_delta(unsigned long start) +{ + unsigned long cur = OSCR; + + if(cur < start) /* OSCR overflowed */ + return (cur + (start^0xffffffff)); + else + return (cur - start); +} + +/* delay function, this doesn't belong here */ +static void wait_us(unsigned long us) +{ + unsigned long start = OSCR; + us *= OSCR_CLK_FREQ; + + while (get_delta(start) < us) { + /* do nothing */ + } +} + +static void dfc_clear_nddb() +{ + NDCR &= ~NDCR_ND_RUN; + wait_us(CFG_NAND_OTHER_TO); +} + +/* wait_event with timeout */ +static unsigned long dfc_wait_event(unsigned long event) +{ + unsigned long ndsr, timeout, start = OSCR; + + if(!event) + return 0xff000000; + else if(event & (NDSR_CS0_CMDD | NDSR_CS0_BBD)) + timeout = CFG_NAND_PROG_ERASE_TO * OSCR_CLK_FREQ; + else + timeout = CFG_NAND_OTHER_TO * OSCR_CLK_FREQ; + + while(1) { + ndsr = NDSR; + if(ndsr & event) { + NDSR |= event; + break; + } + if(get_delta(start) > timeout) { + DFC_DEBUG1("dfc_wait_event: TIMEOUT waiting for event: 0x%x.\n", event); + return 0xff000000; + } + + } + return ndsr; +} + +/* we don't always wan't to do this */ +static void dfc_new_cmd() +{ + int retry = 0; + unsigned long status; + + while(retry++ <= CFG_NAND_SENDCMD_RETRY) { + /* Clear NDSR */ + NDSR = 0xFFF; + + /* set NDCR[NDRUN] */ + if(!(NDCR & NDCR_ND_RUN)) + NDCR |= NDCR_ND_RUN; + + status = dfc_wait_event(NDSR_WRCMDREQ); + + if(status & NDSR_WRCMDREQ) + return; + + DFC_DEBUG2("dfc_new_cmd: FAILED to get WRITECMDREQ, retry: %d.\n", retry); + dfc_clear_nddb(); + } + DFC_DEBUG1("dfc_new_cmd: giving up after %d retries.\n", retry); +} + +/* this function is called after Programm and Erase Operations to + * check for success or failure */ +static int dfc_wait(struct mtd_info *mtd, struct nand_chip *this, int state) +{ + unsigned long ndsr=0, event=0; + + /* mk@tbd set appropriate timeouts */ + /* if (state == FL_ERASING) */ + /* timeo = CFG_HZ * 400; */ + /* else */ + /* timeo = CFG_HZ * 20; */ + if(state == FL_WRITING) { + event = NDSR_CS0_CMDD | NDSR_CS0_BBD; + } else if(state == FL_ERASING) { + event = NDSR_CS0_CMDD | NDSR_CS0_BBD; + } + + ndsr = dfc_wait_event(event); + + if((ndsr & NDSR_CS0_BBD) || (ndsr & 0xff000000)) + return(0x1); /* Status Read error */ + return 0; +} + +/* cmdfunc send commands to the DFC */ +static void dfc_cmdfunc(struct mtd_info *mtd, unsigned command, + int column, int page_addr) +{ + /* register struct nand_chip *this = mtd->priv; */ + unsigned long ndcb0=0, ndcb1=0, ndcb2=0, event=0; + + /* clear the ugly byte read buffer */ + bytes_read = -1; + read_buf = 0; + + switch (command) { + case NAND_CMD_READ0: + DFC_DEBUG3("dfc_cmdfunc: NAND_CMD_READ0, page_addr: 0x%x, column: 0x%x.\n", page_addr, (column>>1)); + dfc_new_cmd(); + ndcb0 = (NAND_CMD_READ0 | (4<<16)); + column >>= 1; /* adjust for 16 bit bus */ + ndcb1 = (((column>>1) & 0xff) | + ((page_addr<<8) & 0xff00) | + ((page_addr<<8) & 0xff0000) | + ((page_addr<<8) & 0xff000000)); /* make this 0x01000000 ? */ + event = NDSR_RDDREQ; + goto write_cmd; + case NAND_CMD_READ1: + DFC_DEBUG2("dfc_cmdfunc: NAND_CMD_READ1 unimplemented!\n"); + goto end; + case NAND_CMD_READOOB: + DFC_DEBUG1("dfc_cmdfunc: NAND_CMD_READOOB unimplemented!\n"); + goto end; + case NAND_CMD_READID: + dfc_new_cmd(); + DFC_DEBUG2("dfc_cmdfunc: NAND_CMD_READID.\n"); + ndcb0 = (NAND_CMD_READID | (3 << 21) | (1 << 16)); /* addr cycles*/ + event = NDSR_RDDREQ; + goto write_cmd; + case NAND_CMD_PAGEPROG: + /* sent as a multicommand in NAND_CMD_SEQIN */ + DFC_DEBUG2("dfc_cmdfunc: NAND_CMD_PAGEPROG empty due to multicmd.\n"); + goto end; + case NAND_CMD_ERASE1: + DFC_DEBUG2("dfc_cmdfunc: NAND_CMD_ERASE1, page_addr: 0x%x, column: 0x%x.\n", page_addr, (column>>1)); + dfc_new_cmd(); + ndcb0 = (0xd060 | (1<<25) | (2<<21) | (1<<19) | (3<<16)); + ndcb1 = (page_addr & 0x00ffffff); + goto write_cmd; + case NAND_CMD_ERASE2: + DFC_DEBUG2("dfc_cmdfunc: NAND_CMD_ERASE2 empty due to multicmd.\n"); + goto end; + case NAND_CMD_SEQIN: + /* send PAGE_PROG command(0x1080) */ + dfc_new_cmd(); + DFC_DEBUG2("dfc_cmdfunc: NAND_CMD_SEQIN/PAGE_PROG, page_addr: 0x%x, column: 0x%x.\n", page_addr, (column>>1)); + ndcb0 = (0x1080 | (1<<25) | (1<<21) | (1<<19) | (4<<16)); + column >>= 1; /* adjust for 16 bit bus */ + ndcb1 = (((column>>1) & 0xff) | + ((page_addr<<8) & 0xff00) | + ((page_addr<<8) & 0xff0000) | + ((page_addr<<8) & 0xff000000)); /* make this 0x01000000 ? */ + event = NDSR_WRDREQ; + goto write_cmd; + case NAND_CMD_STATUS: + DFC_DEBUG2("dfc_cmdfunc: NAND_CMD_STATUS.\n"); + dfc_new_cmd(); + ndcb0 = NAND_CMD_STATUS | (4<<21); + event = NDSR_RDDREQ; + goto write_cmd; + case NAND_CMD_RESET: + DFC_DEBUG2("dfc_cmdfunc: NAND_CMD_RESET.\n"); + ndcb0 = NAND_CMD_RESET | (5<<21); + event = NDSR_CS0_CMDD; + goto write_cmd; + default: + printk("dfc_cmdfunc: error, unsupported command.\n"); + goto end; + } + + write_cmd: + NDCB0 = ndcb0; + NDCB0 = ndcb1; + NDCB0 = ndcb2; + + /* wait_event: */ + dfc_wait_event(event); + end: + return; +} + +static void dfc_gpio_init() +{ + DFC_DEBUG2("Setting up DFC GPIO's.\n"); + + /* no idea what is done here, see zylonite.c */ + GPIO4 = 0x1; + + DF_ALE_WE1 = 0x00000001; + DF_ALE_WE2 = 0x00000001; + DF_nCS0 = 0x00000001; + DF_nCS1 = 0x00000001; + DF_nWE = 0x00000001; + DF_nRE = 0x00000001; + DF_IO0 = 0x00000001; + DF_IO8 = 0x00000001; + DF_IO1 = 0x00000001; + DF_IO9 = 0x00000001; + DF_IO2 = 0x00000001; + DF_IO10 = 0x00000001; + DF_IO3 = 0x00000001; + DF_IO11 = 0x00000001; + DF_IO4 = 0x00000001; + DF_IO12 = 0x00000001; + DF_IO5 = 0x00000001; + DF_IO13 = 0x00000001; + DF_IO6 = 0x00000001; + DF_IO14 = 0x00000001; + DF_IO7 = 0x00000001; + DF_IO15 = 0x00000001; + + DF_nWE = 0x1901; + DF_nRE = 0x1901; + DF_CLE_NOE = 0x1900; + DF_ALE_WE1 = 0x1901; + DF_INT_RnB = 0x1900; +} + +/* + * Board-specific NAND initialization. The following members of the + * argument are board-specific (per include/linux/mtd/nand_new.h): + * - IO_ADDR_R?: address to read the 8 I/O lines of the flash device + * - IO_ADDR_W?: address to write the 8 I/O lines of the flash device + * - hwcontrol: hardwarespecific function for accesing control-lines + * - dev_ready: hardwarespecific function for accesing device ready/busy line + * - enable_hwecc?: function to enable (reset) hardware ecc generator. Must + * only be provided if a hardware ECC is available + * - eccmode: mode of ecc, see defines + * - chip_delay: chip dependent delay for transfering data from array to + * read regs (tR) + * - options: various chip options. They can partly be set to inform + * nand_scan about special functionality. See the defines for further + * explanation + * Members with a "?" were not set in the merged testing-NAND branch, + * so they are not set here either. + */ +void board_nand_init(struct nand_chip *nand) +{ + unsigned long tCH, tCS, tWH, tWP, tRH, tRP, tRP_high, tR, tWHR, tAR; + + /* set up GPIO Control Registers */ + dfc_gpio_init(); + + /* turn on the NAND Controller Clock (104 MHz @ D0) */ + CKENA |= (CKENA_4_NAND | CKENA_9_SMC); + +#undef CFG_TIMING_TIGHT +#ifndef CFG_TIMING_TIGHT + tCH = MIN(((unsigned long) (NAND_TIMING_tCH * DFC_CLK_PER_US) + 1), + DFC_MAX_tCH); + tCS = MIN(((unsigned long) (NAND_TIMING_tCS * DFC_CLK_PER_US) + 1), + DFC_MAX_tCS); + tWH = MIN(((unsigned long) (NAND_TIMING_tWH * DFC_CLK_PER_US) + 1), + DFC_MAX_tWH); + tWP = MIN(((unsigned long) (NAND_TIMING_tWP * DFC_CLK_PER_US) + 1), + DFC_MAX_tWP); + tRH = MIN(((unsigned long) (NAND_TIMING_tRH * DFC_CLK_PER_US) + 1), + DFC_MAX_tRH); + tRP = MIN(((unsigned long) (NAND_TIMING_tRP * DFC_CLK_PER_US) + 1), + DFC_MAX_tRP); + tR = MIN(((unsigned long) (NAND_TIMING_tR * DFC_CLK_PER_US) + 1), + DFC_MAX_tR); + tWHR = MIN(((unsigned long) (NAND_TIMING_tWHR * DFC_CLK_PER_US) + 1), + DFC_MAX_tWHR); + tAR = MIN(((unsigned long) (NAND_TIMING_tAR * DFC_CLK_PER_US) + 1), + DFC_MAX_tAR); +#else /* this is the tight timing */ + + tCH = MIN(((unsigned long) (NAND_TIMING_tCH * DFC_CLK_PER_US)), + DFC_MAX_tCH); + tCS = MIN(((unsigned long) (NAND_TIMING_tCS * DFC_CLK_PER_US)), + DFC_MAX_tCS); + tWH = MIN(((unsigned long) (NAND_TIMING_tWH * DFC_CLK_PER_US)), + DFC_MAX_tWH); + tWP = MIN(((unsigned long) (NAND_TIMING_tWP * DFC_CLK_PER_US)), + DFC_MAX_tWP); + tRH = MIN(((unsigned long) (NAND_TIMING_tRH * DFC_CLK_PER_US)), + DFC_MAX_tRH); + tRP = MIN(((unsigned long) (NAND_TIMING_tRP * DFC_CLK_PER_US)), + DFC_MAX_tRP); + tR = MIN(((unsigned long) (NAND_TIMING_tR * DFC_CLK_PER_US) - tCH - 2), + DFC_MAX_tR); + tWHR = MIN(((unsigned long) (NAND_TIMING_tWHR * DFC_CLK_PER_US) - tCH - 2), + DFC_MAX_tWHR); + tAR = MIN(((unsigned long) (NAND_TIMING_tAR * DFC_CLK_PER_US) - 2), + DFC_MAX_tAR); +#endif /* CFG_TIMING_TIGHT */ + + + DFC_DEBUG2("tCH=%u, tCS=%u, tWH=%u, tWP=%u, tRH=%u, tRP=%u, tR=%u, tWHR=%u, tAR=%u.\n", tCH, tCS, tWH, tWP, tRH, tRP, tR, tWHR, tAR); + + /* tRP value is split in the register */ + if(tRP & (1 << 4)) { + tRP_high = 1; + tRP &= ~(1 << 4); + } else { + tRP_high = 0; + } + + NDTR0CS0 = (tCH << 19) | + (tCS << 16) | + (tWH << 11) | + (tWP << 8) | + (tRP_high << 6) | + (tRH << 3) | + (tRP << 0); + + NDTR1CS0 = (tR << 16) | + (tWHR << 4) | + (tAR << 0); + + /* If it doesn't work (unlikely) think about: + * - ecc enable + * - chip select don't care + * - read id byte count + * + * Intentionally enabled by not setting bits: + * - dma (DMA_EN) + * - page size = 512 + * - cs don't care, see if we can enable later! + * - row address start position (after second cycle) + * - pages per block = 32 + * - ND_RDY : clears command buffer + */ + /* NDCR_NCSX | /\* Chip select busy don't care *\/ */ + + NDCR = (NDCR_SPARE_EN | /* use the spare area */ + NDCR_DWIDTH_C | /* 16bit DFC data bus width */ + NDCR_DWIDTH_M | /* 16 bit Flash device data bus width */ + (2 << 16) | /* read id count = 7 ???? mk@tbd */ + NDCR_ND_ARB_EN | /* enable bus arbiter */ + NDCR_RDYM | /* flash device ready ir masked */ + NDCR_CS0_PAGEDM | /* ND_nCSx page done ir masked */ + NDCR_CS1_PAGEDM | + NDCR_CS0_CMDDM | /* ND_CSx command done ir masked */ + NDCR_CS1_CMDDM | + NDCR_CS0_BBDM | /* ND_CSx bad block detect ir masked */ + NDCR_CS1_BBDM | + NDCR_DBERRM | /* double bit error ir masked */ + NDCR_SBERRM | /* single bit error ir masked */ + NDCR_WRDREQM | /* write data request ir masked */ + NDCR_RDDREQM | /* read data request ir masked */ + NDCR_WRCMDREQM); /* write command request ir masked */ + + + /* wait 10 us due to cmd buffer clear reset */ + /* wait(10); */ + + + nand->hwcontrol = dfc_hwcontrol; +/* nand->dev_ready = dfc_device_ready; */ + nand->eccmode = NAND_ECC_SOFT; + nand->chip_delay = NAND_DELAY_US; + nand->options = NAND_BUSWIDTH_16; + nand->waitfunc = dfc_wait; + nand->read_byte = dfc_read_byte; + nand->write_byte = dfc_write_byte; + nand->read_word = dfc_read_word; + nand->write_word = dfc_write_word; + nand->read_buf = dfc_read_buf; + nand->write_buf = dfc_write_buf; + + nand->cmdfunc = dfc_cmdfunc; + nand->autooob = &delta_oob; + nand->badblock_pattern = &delta_bbt_descr; +} + +#else + #error "U-Boot legacy NAND support not available for Monahans DFC." +#endif +#endif diff --git a/board/delta/u-boot.lds b/board/delta/u-boot.lds new file mode 100644 index 0000000..f010239 --- /dev/null +++ b/board/delta/u-boot.lds @@ -0,0 +1,56 @@ +/* + * (C) Copyright 2000 + * Wolfgang Denk, DENX Software Engineering, wd@denx.de. + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ + +OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") +OUTPUT_ARCH(arm) +ENTRY(_start) +SECTIONS +{ + . = 0x00000000; + + . = ALIGN(4); + .text : + { + cpu/pxa/start.o (.text) + *(.text) + } + + . = ALIGN(4); + .rodata : { *(.rodata) } + + . = ALIGN(4); + .data : { *(.data) } + + . = ALIGN(4); + .got : { *(.got) } + + . = .; + __u_boot_cmd_start = .; + .u_boot_cmd : { *(.u_boot_cmd) } + __u_boot_cmd_end = .; + + . = ALIGN(4); + __bss_start = .; + .bss : { *(.bss) } + _end = .; +} diff --git a/board/esd/common/auto_update.c b/board/esd/common/auto_update.c index 5a70176..cad8211 100644 --- a/board/esd/common/auto_update.c +++ b/board/esd/common/auto_update.c @@ -42,9 +42,6 @@ #error "must define CFG_CMD_FAT" #endif - - - extern au_image_t au_image[]; extern int N_AU_IMAGES; diff --git a/board/esd/common/cmd_loadpci.c b/board/esd/common/cmd_loadpci.c index 3478f82..bf796ff 100644 --- a/board/esd/common/cmd_loadpci.c +++ b/board/esd/common/cmd_loadpci.c @@ -120,4 +120,3 @@ U_BOOT_CMD( ); #endif - diff --git a/board/esd/common/lcd.c b/board/esd/common/lcd.c index 0edc083..196171c 100644 --- a/board/esd/common/lcd.c +++ b/board/esd/common/lcd.c @@ -229,6 +229,9 @@ void lcd_init(uchar *lcd_reg, uchar *lcd_mem, S1D_REGS *regs, int reg_count, /* * Detect epson */ + lcd_reg[0] = 0x00; + lcd_reg[1] = 0x00; + if (lcd_reg[0] == 0x1c) { /* * Big epson detected diff --git a/board/esd/cpci2dp/cpci2dp.c b/board/esd/cpci2dp/cpci2dp.c index 2800420..1a27ca0 100644 --- a/board/esd/cpci2dp/cpci2dp.c +++ b/board/esd/cpci2dp/cpci2dp.c @@ -36,9 +36,9 @@ int board_early_init_f (void) cntrl0Reg = mfdcr(cntrl0); mtdcr(cntrl0, cntrl0Reg | ((CFG_EEPROM_WP | CFG_PB_LED | CFG_SELF_RST | CFG_INTA_FAKE) << 5)); - /* set output pins to high */ + /* set output pins to high */ out32(GPIO0_OR, CFG_EEPROM_WP); - /* setup for output (LED=off) */ + /* setup for output (LED=off) */ out32(GPIO0_TCR, CFG_EEPROM_WP | CFG_PB_LED); /* diff --git a/board/esd/cpci405/config.mk b/board/esd/cpci405/config.mk index 320346f..ceff4c4 100644 --- a/board/esd/cpci405/config.mk +++ b/board/esd/cpci405/config.mk @@ -41,4 +41,3 @@ endif # Compile the legacy NAND code (CFG_NAND_LEGACY must be defined) BOARDLIBS = drivers/nand_legacy/libnand_legacy.a - diff --git a/board/esd/cpci750/Makefile b/board/esd/cpci750/Makefile index 0486729..cd38b2d 100644 --- a/board/esd/cpci750/Makefile +++ b/board/esd/cpci750/Makefile @@ -29,7 +29,7 @@ SOBJS = misc.o OBJS = $(BOARD).o serial.o ../../Marvell/common/memory.o pci.o \ mv_eth.o mpsc.o i2c.o \ - sdram_init.o strataflash.o ide.o + sdram_init.o ide.o $(LIB): .depend $(OBJS) $(SOBJS) $(AR) crv $@ $(OBJS) $(SOBJS) diff --git a/board/esd/cpci750/cpci750.c b/board/esd/cpci750/cpci750.c index e4b062b..dbed597 100644 --- a/board/esd/cpci750/cpci750.c +++ b/board/esd/cpci750/cpci750.c @@ -56,6 +56,7 @@ extern void flush_data_cache (void); extern void invalidate_l1_instruction_cache (void); +extern flash_info_t flash_info[]; /* ------------------------------------------------------------------------- */ @@ -363,6 +364,21 @@ int misc_init_r () /* disable the dcache and MMU */ dcache_lock (); #endif + if (flash_info[3].size < CFG_FLASH_INCREMENT) { + unsigned int flash_offset; + unsigned int l; + + flash_offset = CFG_FLASH_INCREMENT - flash_info[3].size; + for (l = 0; l < CFG_MAX_FLASH_SECT; l++) { + if (flash_info[3].start[l] != 0) { + flash_info[3].start[l] += flash_offset; + } + } + flash_protect (FLAG_PROTECT_SET, + CFG_MONITOR_BASE, + CFG_MONITOR_BASE + monitor_flash_len - 1, + &flash_info[3]); + } return 0; } diff --git a/board/esd/cpci750/pci.c b/board/esd/cpci750/pci.c index 37c7150..c335ebf 100644 --- a/board/esd/cpci750/pci.c +++ b/board/esd/cpci750/pci.c @@ -12,7 +12,7 @@ * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License @@ -46,8 +46,8 @@ static const unsigned char pci_irq_swizzle[2][PCI_MAX_DEVICES] = { #ifdef CONFIG_USE_CPCIDVI typedef struct { - unsigned int base; - unsigned int init; + unsigned int base; + unsigned int init; } GT_CPCIDVI_ROM_T; static GT_CPCIDVI_ROM_T gt_cpcidvi_rom = {0, 0}; @@ -133,20 +133,20 @@ static const unsigned int pci_p2p_configuration[] = { /******************************************************************** * pciWriteConfigReg - Write to a PCI configuration register -* - Make sure the GT is configured as a master before writing -* to another device on the PCI. -* - The function takes care of Big/Little endian conversion. +* - Make sure the GT is configured as a master before writing +* to another device on the PCI. +* - The function takes care of Big/Little endian conversion. * * * Inputs: unsigned int regOffset: The register offset as it apears in the GT spec -* (or any other PCI device spec) -* pciDevNum: The device number needs to be addressed. +* (or any other PCI device spec) +* pciDevNum: The device number needs to be addressed. * * Configuration Address 0xCF8: * -* 31 30 24 23 16 15 11 10 8 7 2 0 <=bit Number +* 31 30 24 23 16 15 11 10 8 7 2 0 <=bit Number * |congif|Reserved| Bus |Device|Function|Register|00| -* |Enable| |Number|Number| Number | Number | | <=field Name +* |Enable| |Number|Number| Number | Number | | <=field Name * *********************************************************************/ void pciWriteConfigReg (PCI_HOST host, unsigned int regOffset, @@ -180,20 +180,20 @@ void pciWriteConfigReg (PCI_HOST host, unsigned int regOffset, /******************************************************************** * pciReadConfigReg - Read from a PCI0 configuration register -* - Make sure the GT is configured as a master before reading -* from another device on the PCI. -* - The function takes care of Big/Little endian conversion. +* - Make sure the GT is configured as a master before reading +* from another device on the PCI. +* - The function takes care of Big/Little endian conversion. * INPUTS: regOffset: The register offset as it apears in the GT spec (or PCI -* spec) -* pciDevNum: The device number needs to be addressed. +* spec) +* pciDevNum: The device number needs to be addressed. * RETURNS: data , if the data == 0xffffffff check the master abort bit in the -* cause register to make sure the data is valid +* cause register to make sure the data is valid * * Configuration Address 0xCF8: * -* 31 30 24 23 16 15 11 10 8 7 2 0 <=bit Number +* 31 30 24 23 16 15 11 10 8 7 2 0 <=bit Number * |congif|Reserved| Bus |Device|Function|Register|00| -* |Enable| |Number|Number| Number | Number | | <=field Name +* |Enable| |Number|Number| Number | Number | | <=field Name * *********************************************************************/ unsigned int pciReadConfigReg (PCI_HOST host, unsigned int regOffset, @@ -228,21 +228,21 @@ unsigned int pciReadConfigReg (PCI_HOST host, unsigned int regOffset, /******************************************************************** * pciOverBridgeWriteConfigReg - Write to a PCI configuration register where -* the agent is placed on another Bus. For more -* information read P2P in the PCI spec. +* the agent is placed on another Bus. For more +* information read P2P in the PCI spec. * * Inputs: unsigned int regOffset - The register offset as it apears in the -* GT spec (or any other PCI device spec). -* unsigned int pciDevNum - The device number needs to be addressed. -* unsigned int busNum - On which bus does the Target agent connect -* to. -* unsigned int data - data to be written. +* GT spec (or any other PCI device spec). +* unsigned int pciDevNum - The device number needs to be addressed. +* unsigned int busNum - On which bus does the Target agent connect +* to. +* unsigned int data - data to be written. * * Configuration Address 0xCF8: * -* 31 30 24 23 16 15 11 10 8 7 2 0 <=bit Number +* 31 30 24 23 16 15 11 10 8 7 2 0 <=bit Number * |congif|Reserved| Bus |Device|Function|Register|01| -* |Enable| |Number|Number| Number | Number | | <=field Name +* |Enable| |Number|Number| Number | Number | | <=field Name * * The configuration Address is configure as type-I (bits[1:0] = '01') due to * PCI spec referring to P2P. @@ -273,23 +273,23 @@ void pciOverBridgeWriteConfigReg (PCI_HOST host, /******************************************************************** * pciOverBridgeReadConfigReg - Read from a PCIn configuration register where -* the agent target locate on another PCI bus. -* - Make sure the GT is configured as a master -* before reading from another device on the PCI. -* - The function takes care of Big/Little endian -* conversion. +* the agent target locate on another PCI bus. +* - Make sure the GT is configured as a master +* before reading from another device on the PCI. +* - The function takes care of Big/Little endian +* conversion. * INPUTS: regOffset: The register offset as it apears in the GT spec (or PCI -* spec). (configuration register offset.) -* pciDevNum: The device number needs to be addressed. -* busNum: the Bus number where the agent is place. +* spec). (configuration register offset.) +* pciDevNum: The device number needs to be addressed. +* busNum: the Bus number where the agent is place. * RETURNS: data , if the data == 0xffffffff check the master abort bit in the -* cause register to make sure the data is valid +* cause register to make sure the data is valid * * Configuration Address 0xCF8: * -* 31 30 24 23 16 15 11 10 8 7 2 0 <=bit Number +* 31 30 24 23 16 15 11 10 8 7 2 0 <=bit Number * |congif|Reserved| Bus |Device|Function|Register|01| -* |Enable| |Number|Number| Number | Number | | <=field Name +* |Enable| |Number|Number| Number | Number | | <=field Name * *********************************************************************/ unsigned int pciOverBridgeReadConfigReg (PCI_HOST host, @@ -393,7 +393,7 @@ static unsigned int pciGetRemapOffset (PCI_HOST host, PCI_REGION region) /******************************************************************** * pciGetBaseAddress - Gets the base address of a PCI. -* - If the PCI size is 0 then this base address has no meaning!!! +* - If the PCI size is 0 then this base address has no meaning!!! * * * INPUT: Bus, Region - The bus and region we ask for its base address. @@ -501,13 +501,13 @@ void pciMapMemoryBank (PCI_HOST host, MEMORY_BANK bank, /******************************************************************** * pciSetRegionFeatures - This function modifys one of the 8 regions with -* feature bits given as an input. -* - Be advised to check the spec before modifying them. +* feature bits given as an input. +* - Be advised to check the spec before modifying them. * Inputs: PCI_PROTECT_REGION region - one of the eight regions. -* unsigned int features - See file: pci.h there are defintion for those -* region features. -* unsigned int baseAddress - The region base Address. -* unsigned int topAddress - The region top Address. +* unsigned int features - See file: pci.h there are defintion for those +* region features. +* unsigned int baseAddress - The region base Address. +* unsigned int topAddress - The region top Address. * Returns: false if one of the parameters is erroneous true otherwise. *********************************************************************/ bool pciSetRegionFeatures (PCI_HOST host, PCI_ACCESS_REGIONS region, @@ -541,7 +541,7 @@ bool pciSetRegionFeatures (PCI_HOST host, PCI_ACCESS_REGIONS region, /******************************************************************** * pciDisableAccessRegion - Disable The given Region by writing MAX size -* to its low Address and MIN size to its high Address. +* to its low Address and MIN size to its high Address. * * Inputs: PCI_ACCESS_REGIONS region - The region we to be Disabled. * Returns: N/A. @@ -588,12 +588,12 @@ bool pciArbiterDisable (PCI_HOST host) * pciSetArbiterAgentsPriority - Priority setup for the PCI agents (Hi or Low) * * Inputs: PCI_AGENT_PRIO internalAgent - priotity for internal agent. -* PCI_AGENT_PRIO externalAgent0 - priotity for external#0 agent. -* PCI_AGENT_PRIO externalAgent1 - priotity for external#1 agent. -* PCI_AGENT_PRIO externalAgent2 - priotity for external#2 agent. -* PCI_AGENT_PRIO externalAgent3 - priotity for external#3 agent. -* PCI_AGENT_PRIO externalAgent4 - priotity for external#4 agent. -* PCI_AGENT_PRIO externalAgent5 - priotity for external#5 agent. +* PCI_AGENT_PRIO externalAgent0 - priotity for external#0 agent. +* PCI_AGENT_PRIO externalAgent1 - priotity for external#1 agent. +* PCI_AGENT_PRIO externalAgent2 - priotity for external#2 agent. +* PCI_AGENT_PRIO externalAgent3 - priotity for external#3 agent. +* PCI_AGENT_PRIO externalAgent4 - priotity for external#4 agent. +* PCI_AGENT_PRIO externalAgent5 - priotity for external#5 agent. * Returns: true *********************************************************************/ bool pciSetArbiterAgentsPriority (PCI_HOST host, PCI_AGENT_PRIO internalAgent, @@ -619,17 +619,17 @@ bool pciSetArbiterAgentsPriority (PCI_HOST host, PCI_AGENT_PRIO internalAgent, /******************************************************************** * pciParkingDisable - Park on last option disable, with this function you can -* disable the park on last mechanism for each agent. -* disabling this option for all agents results parking -* on the internal master. +* disable the park on last mechanism for each agent. +* disabling this option for all agents results parking +* on the internal master. * * Inputs: PCI_AGENT_PARK internalAgent - parking Disable for internal agent. -* PCI_AGENT_PARK externalAgent0 - parking Disable for external#0 agent. -* PCI_AGENT_PARK externalAgent1 - parking Disable for external#1 agent. -* PCI_AGENT_PARK externalAgent2 - parking Disable for external#2 agent. -* PCI_AGENT_PARK externalAgent3 - parking Disable for external#3 agent. -* PCI_AGENT_PARK externalAgent4 - parking Disable for external#4 agent. -* PCI_AGENT_PARK externalAgent5 - parking Disable for external#5 agent. +* PCI_AGENT_PARK externalAgent0 - parking Disable for external#0 agent. +* PCI_AGENT_PARK externalAgent1 - parking Disable for external#1 agent. +* PCI_AGENT_PARK externalAgent2 - parking Disable for external#2 agent. +* PCI_AGENT_PARK externalAgent3 - parking Disable for external#3 agent. +* PCI_AGENT_PARK externalAgent4 - parking Disable for external#4 agent. +* PCI_AGENT_PARK externalAgent5 - parking Disable for external#5 agent. * Returns: true *********************************************************************/ bool pciParkingDisable (PCI_HOST host, PCI_AGENT_PARK internalAgent, @@ -655,11 +655,11 @@ bool pciParkingDisable (PCI_HOST host, PCI_AGENT_PARK internalAgent, /******************************************************************** * pciEnableBrokenAgentDetection - A master is said to be broken if it fails to -* respond to grant assertion within a window specified in -* the input value: 'brokenValue'. +* respond to grant assertion within a window specified in +* the input value: 'brokenValue'. * * Inputs: unsigned char brokenValue - A value which limits the Master to hold the -* grant without asserting frame. +* grant without asserting frame. * Returns: Error for illegal broken value otherwise true. *********************************************************************/ bool pciEnableBrokenAgentDetection (PCI_HOST host, unsigned char brokenValue) @@ -678,9 +678,9 @@ bool pciEnableBrokenAgentDetection (PCI_HOST host, unsigned char brokenValue) /******************************************************************** * pciDisableBrokenAgentDetection - This function disable the Broken agent -* Detection mechanism. -* NOTE: This operation may cause a dead lock on the -* pci0 arbitration. +* Detection mechanism. +* NOTE: This operation may cause a dead lock on the +* pci0 arbitration. * * Inputs: N/A * Returns: true. @@ -697,15 +697,15 @@ bool pciDisableBrokenAgentDetection (PCI_HOST host) /******************************************************************** * pciP2PConfig - This function set the PCI_n P2P configurate. -* For more information on the P2P read PCI spec. +* For more information on the P2P read PCI spec. * * Inputs: unsigned int SecondBusLow - Secondery PCI interface Bus Range Lower -* Boundry. -* unsigned int SecondBusHigh - Secondry PCI interface Bus Range upper -* Boundry. -* unsigned int busNum - The CPI bus number to which the PCI interface -* is connected. -* unsigned int devNum - The PCI interface's device number. +* Boundry. +* unsigned int SecondBusHigh - Secondry PCI interface Bus Range upper +* Boundry. +* unsigned int busNum - The CPI bus number to which the PCI interface +* is connected. +* unsigned int devNum - The PCI interface's device number. * * Returns: true. *********************************************************************/ @@ -723,15 +723,15 @@ bool pciP2PConfig (PCI_HOST host, unsigned int SecondBusLow, /******************************************************************** * pciSetRegionSnoopMode - This function modifys one of the 4 regions which -* supports Cache Coherency in the PCI_n interface. +* supports Cache Coherency in the PCI_n interface. * Inputs: region - One of the four regions. -* snoopType - There is four optional Types: -* 1. No Snoop. -* 2. Snoop to WT region. -* 3. Snoop to WB region. -* 4. Snoop & Invalidate to WB region. -* baseAddress - Base Address of this region. -* regionLength - Region length. +* snoopType - There is four optional Types: +* 1. No Snoop. +* 2. Snoop to WT region. +* 3. Snoop to WB region. +* 4. Snoop & Invalidate to WB region. +* baseAddress - Base Address of this region. +* regionLength - Region length. * Returns: false if one of the parameters is wrong otherwise return true. *********************************************************************/ bool pciSetRegionSnoopMode (PCI_HOST host, PCI_SNOOP_REGION region, @@ -754,7 +754,7 @@ bool pciSetRegionSnoopMode (PCI_HOST host, PCI_SNOOP_REGION region, GT_REG_WRITE (snoopXtopAddress, 0); return true; } - baseAddress = baseAddress & 0xfff00000; /* Granularity of 1MByte */ + baseAddress = baseAddress & 0xfff00000; /* Granularity of 1MByte */ data = (baseAddress >> 20) | snoopType << 12; GT_REG_WRITE (snoopXbaseAddress, data); snoopHigh = (snoopHigh & 0xfff00000) >> 20; @@ -827,7 +827,7 @@ static void gt_setup_ide (struct pci_controller *hose, static void gt_setup_cpcidvi (struct pci_controller *hose, pci_dev_t dev, struct pci_config_table *entry) { - u32 bar_value, pci_response; + u32 bar_value, pci_response; pci_hose_read_config_dword (hose, dev, PCI_COMMAND, &pci_response); pci_hose_write_config_dword (hose, dev, PCI_BASE_ADDRESS_0, 0xffffffff); @@ -843,30 +843,30 @@ static void gt_setup_cpcidvi (struct pci_controller *hose, unsigned char gt_cpcidvi_in8(unsigned int offset) { - unsigned char data; + unsigned char data; if (gt_cpcidvi_rom.init == 0) { - return(0); - } - data = in8((offset & 0x04) + 0x3f000 + gt_cpcidvi_rom.base); - return(data); + return(0); + } + data = in8((offset & 0x04) + 0x3f000 + gt_cpcidvi_rom.base); + return(data); } void gt_cpcidvi_out8(unsigned int offset, unsigned char data) { - unsigned int off; - + unsigned int off; + if (gt_cpcidvi_rom.init == 0) { - return; - } + return; + } off = data; off = ((off << 3) & 0x7f8) + (offset & 0x4) + 0x3e000 + gt_cpcidvi_rom.base; - in8(off); - return; + in8(off); + return; } #endif -/* TODO BJW: Change this for DB64360. This was pulled from the EV64260 */ +/* TODO BJW: Change this for DB64360. This was pulled from the EV64260 */ /* and is curently not called *. */ #if 0 static void gt_fixup_irq (struct pci_controller *hose, pci_dev_t dev) diff --git a/board/esd/cpci750/strataflash.c b/board/esd/cpci750/strataflash.c deleted file mode 100644 index c22fe5d..0000000 --- a/board/esd/cpci750/strataflash.c +++ /dev/null @@ -1,763 +0,0 @@ -/* - * (C) Copyright 2002 - * Brad Kemp, Seranoa Networks, Brad.Kemp@seranoa.com - * - * See file CREDITS for list of people who contributed to this - * project. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of - * the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA - */ - -#include <common.h> -#include <asm/processor.h> -#include <asm/cache.h> - -#undef DEBUG_FLASH -/* - * This file implements a Common Flash Interface (CFI) driver for U-Boot. - * The width of the port and the width of the chips are determined at initialization. - * These widths are used to calculate the address for access CFI data structures. - * It has been tested on an Intel Strataflash implementation. - * - * References - * JEDEC Standard JESD68 - Common Flash Interface (CFI) - * JEDEC Standard JEP137-A Common Flash Interface (CFI) ID Codes - * Intel Application Note 646 Common Flash Interface (CFI) and Command Sets - * Intel 290667-008 3 Volt Intel StrataFlash Memory datasheet - * - * TODO - * Use Primary Extended Query table (PRI) and Alternate Algorithm Query Table (ALT) to determine if protection is available - * Add support for other command sets Use the PRI and ALT to determine command set - * Verify erase and program timeouts. - */ - -#define FLASH_CMD_CFI 0x98 -#define FLASH_CMD_READ_ID 0x90 -#define FLASH_CMD_RESET 0xff -#define FLASH_CMD_BLOCK_ERASE 0x20 -#define FLASH_CMD_ERASE_CONFIRM 0xD0 -#define FLASH_CMD_WRITE 0x40 -#define FLASH_CMD_PROTECT 0x60 -#define FLASH_CMD_PROTECT_SET 0x01 -#define FLASH_CMD_PROTECT_CLEAR 0xD0 -#define FLASH_CMD_CLEAR_STATUS 0x50 -#define FLASH_CMD_WRITE_TO_BUFFER 0xE8 -#define FLASH_CMD_WRITE_BUFFER_CONFIRM 0xD0 - -#define FLASH_STATUS_DONE 0x80 -#define FLASH_STATUS_ESS 0x40 -#define FLASH_STATUS_ECLBS 0x20 -#define FLASH_STATUS_PSLBS 0x10 -#define FLASH_STATUS_VPENS 0x08 -#define FLASH_STATUS_PSS 0x04 -#define FLASH_STATUS_DPS 0x02 -#define FLASH_STATUS_R 0x01 -#define FLASH_STATUS_PROTECT 0x01 - -#define FLASH_OFFSET_CFI 0x55 -#define FLASH_OFFSET_CFI_RESP 0x10 -#define FLASH_OFFSET_WTOUT 0x1F -#define FLASH_OFFSET_WBTOUT 0x20 -#define FLASH_OFFSET_ETOUT 0x21 -#define FLASH_OFFSET_CETOUT 0x22 -#define FLASH_OFFSET_WMAX_TOUT 0x23 -#define FLASH_OFFSET_WBMAX_TOUT 0x24 -#define FLASH_OFFSET_EMAX_TOUT 0x25 -#define FLASH_OFFSET_CEMAX_TOUT 0x26 -#define FLASH_OFFSET_SIZE 0x27 -#define FLASH_OFFSET_INTERFACE 0x28 -#define FLASH_OFFSET_BUFFER_SIZE 0x2A -#define FLASH_OFFSET_NUM_ERASE_REGIONS 0x2C -#define FLASH_OFFSET_ERASE_REGIONS 0x2D -#define FLASH_OFFSET_PROTECT 0x02 -#define FLASH_OFFSET_USER_PROTECTION 0x85 -#define FLASH_OFFSET_INTEL_PROTECTION 0x81 - - -#define FLASH_MAN_CFI 0x01000000 - - -typedef union { - unsigned char c; - unsigned short w; - unsigned long l; -} cfiword_t; - -typedef union { - unsigned char * cp; - unsigned short *wp; - unsigned long *lp; -} cfiptr_t; - -#define NUM_ERASE_REGIONS 4 - -flash_info_t flash_info[CFG_MAX_FLASH_BANKS]; /* info for FLASH chips */ - - -/*----------------------------------------------------------------------- - * Functions - */ - - -static void flash_add_byte(flash_info_t *info, cfiword_t * cword, uchar c); -static void flash_make_cmd(flash_info_t * info, uchar cmd, void * cmdbuf); -static void flash_write_cmd(flash_info_t * info, int sect, uchar offset, uchar cmd); -static int flash_isequal(flash_info_t * info, int sect, uchar offset, uchar cmd); -static int flash_isset(flash_info_t * info, int sect, uchar offset, uchar cmd); -static int flash_detect_cfi(flash_info_t * info); -static ulong flash_get_size (ulong base, int banknum); -static int flash_write_cfiword (flash_info_t *info, ulong dest, cfiword_t cword); -static int flash_full_status_check(flash_info_t * info, ulong sector, ulong tout, char * prompt); -#ifdef CFG_FLASH_USE_BUFFER_WRITE -static int flash_write_cfibuffer(flash_info_t * info, ulong dest, uchar * cp, int len); -#endif -/*----------------------------------------------------------------------- - * create an address based on the offset and the port width - */ -inline uchar * flash_make_addr(flash_info_t * info, int sect, int offset) -{ - return ((uchar *)(info->start[sect] + (offset * info->portwidth))); -} -/*----------------------------------------------------------------------- - * read a character at a port width address - */ -inline uchar flash_read_uchar(flash_info_t * info, uchar offset) -{ - uchar *cp; - cp = flash_make_addr(info, 0, offset); - return (cp[info->portwidth - 1]); -} - -/*----------------------------------------------------------------------- - * read a short word by swapping for ppc format. - */ -ushort flash_read_ushort(flash_info_t * info, int sect, uchar offset) -{ - uchar * addr; - - addr = flash_make_addr(info, sect, offset); - return ((addr[(2*info->portwidth) - 1] << 8) | addr[info->portwidth - 1]); - -} - -/*----------------------------------------------------------------------- - * read a long word by picking the least significant byte of each maiximum - * port size word. Swap for ppc format. - */ -ulong flash_read_long(flash_info_t * info, int sect, uchar offset) -{ - uchar * addr; - - addr = flash_make_addr(info, sect, offset); - return ( (addr[(2*info->portwidth) - 1] << 24 ) | (addr[(info->portwidth) -1] << 16) | - (addr[(4*info->portwidth) - 1] << 8) | addr[(3*info->portwidth) - 1]); - -} - -/*----------------------------------------------------------------------- - */ -unsigned long flash_init (void) -{ - unsigned long size; - int i; - unsigned long address; - - - /* The flash is positioned back to back, with the demultiplexing of the chip - * based on the A24 address line. - * - */ - - address = CFG_FLASH_BASE; - size = 0; - - /* Init: no FLASHes known */ - for (i=0; i<CFG_MAX_FLASH_BANKS; ++i) { - flash_info[i].flash_id = FLASH_UNKNOWN; - size += flash_info[i].size = flash_get_size(address, i); - address += CFG_FLASH_INCREMENT; - if (flash_info[i].flash_id == FLASH_UNKNOWN) { - printf ("## Unknown FLASH on Bank %d - Size = 0x%08lx = %ld MB\n",i, - flash_info[0].size, flash_info[i].size<<20); - } - } - -#if 0 /* test-only */ - /* Monitor protection ON by default */ -#if (CFG_MONITOR_BASE >= CFG_FLASH_BASE) - for(i=0; flash_info[0].start[i] < CFG_MONITOR_BASE+monitor_flash_len-1; i++) - (void)flash_real_protect(&flash_info[0], i, 1); -#endif -#endif - - return (size); -} - -/*----------------------------------------------------------------------- - */ -int flash_erase (flash_info_t *info, int s_first, int s_last) -{ - int rcode = 0; - int prot; - int sect; - - if( info->flash_id != FLASH_MAN_CFI) { - printf ("Can't erase unknown flash type - aborted\n"); - return 1; - } - if ((s_first < 0) || (s_first > s_last)) { - printf ("- no sectors to erase\n"); - return 1; - } - - prot = 0; - for (sect=s_first; sect<=s_last; ++sect) { - if (info->protect[sect]) { - prot++; - } - } - if (prot) { - printf ("- Warning: %d protected sectors will not be erased!\n", - prot); - } else { - printf ("\n"); - } - - - for (sect = s_first; sect<=s_last; sect++) { - if (info->protect[sect] == 0) { /* not protected */ - flash_write_cmd(info, sect, 0, FLASH_CMD_CLEAR_STATUS); - flash_write_cmd(info, sect, 0, FLASH_CMD_BLOCK_ERASE); - flash_write_cmd(info, sect, 0, FLASH_CMD_ERASE_CONFIRM); - - if(flash_full_status_check(info, sect, info->erase_blk_tout, "erase")) { - rcode = 1; - } else - printf("."); - } - } - printf (" done\n"); - return rcode; -} - -/*----------------------------------------------------------------------- - */ -void flash_print_info (flash_info_t *info) -{ - int i; - - if (info->flash_id != FLASH_MAN_CFI) { - printf ("missing or unknown FLASH type\n"); - return; - } - - printf("CFI conformant FLASH (%d x %d)", - (info->portwidth << 3 ), (info->chipwidth << 3 )); - printf (" Size: %ld MB in %d Sectors\n", - info->size >> 20, info->sector_count); - printf(" Erase timeout %ld ms, write timeout %ld ms, buffer write timeout %ld ms, buffer size %d\n", - info->erase_blk_tout, info->write_tout, info->buffer_write_tout, info->buffer_size); - - printf (" Sector Start Addresses:"); - for (i=0; i<info->sector_count; ++i) { - if ((i % 5) == 0) - printf ("\n"); - printf (" %08lX%5s", - info->start[i], - info->protect[i] ? " (RO)" : " " - ); - } - printf ("\n"); - return; -} - -/*----------------------------------------------------------------------- - * Copy memory to flash, returns: - * 0 - OK - * 1 - write timeout - * 2 - Flash not erased - */ -int write_buff (flash_info_t *info, uchar *src, ulong addr, ulong cnt) -{ - ulong wp; - ulong cp; - int aln; - cfiword_t cword; - int i, rc; - - /* get lower aligned address */ - wp = (addr & ~(info->portwidth - 1)); - - /* handle unaligned start */ - if((aln = addr - wp) != 0) { - cword.l = 0; - cp = wp; - for(i=0;i<aln; ++i, ++cp) - flash_add_byte(info, &cword, (*(uchar *)cp)); - - for(; (i< info->portwidth) && (cnt > 0) ; i++) { - flash_add_byte(info, &cword, *src++); - cnt--; - cp++; - } - for(; (cnt == 0) && (i < info->portwidth); ++i, ++cp) - flash_add_byte(info, &cword, (*(uchar *)cp)); - if((rc = flash_write_cfiword(info, wp, cword)) != 0) - return rc; - wp = cp; - } - -#ifdef CFG_FLASH_USE_BUFFER_WRITE - while(cnt >= info->portwidth) { - i = info->buffer_size > cnt? cnt: info->buffer_size; - if((rc = flash_write_cfibuffer(info, wp, src,i)) != ERR_OK) - return rc; - wp += i; - src += i; - cnt -=i; - } -#else - /* handle the aligned part */ - while(cnt >= info->portwidth) { - cword.l = 0; - for(i = 0; i < info->portwidth; i++) { - flash_add_byte(info, &cword, *src++); - } - if((rc = flash_write_cfiword(info, wp, cword)) != 0) - return rc; - wp += info->portwidth; - cnt -= info->portwidth; - } -#endif /* CFG_FLASH_USE_BUFFER_WRITE */ - if (cnt == 0) { - return (0); - } - - /* - * handle unaligned tail bytes - */ - cword.l = 0; - for (i=0, cp=wp; (i<info->portwidth) && (cnt>0); ++i, ++cp) { - flash_add_byte(info, &cword, *src++); - --cnt; - } - for (; i<info->portwidth; ++i, ++cp) { - flash_add_byte(info, & cword, (*(uchar *)cp)); - } - - return flash_write_cfiword(info, wp, cword); -} - -/*----------------------------------------------------------------------- - */ -int flash_real_protect(flash_info_t *info, long sector, int prot) -{ - int retcode = 0; - - flash_write_cmd(info, sector, 0, FLASH_CMD_CLEAR_STATUS); - flash_write_cmd(info, sector, 0, FLASH_CMD_PROTECT); - if(prot) - flash_write_cmd(info, sector, 0, FLASH_CMD_PROTECT_SET); - else - flash_write_cmd(info, sector, 0, FLASH_CMD_PROTECT_CLEAR); - - if((retcode = flash_full_status_check(info, sector, info->erase_blk_tout, - prot?"protect":"unprotect")) == 0) { - - info->protect[sector] = prot; - /* Intel's unprotect unprotects all locking */ - if(prot == 0) { - int i; - for(i = 0 ; i<info->sector_count; i++) { - if(info->protect[i]) - flash_real_protect(info, i, 1); - } - } - } - - return retcode; -} -/*----------------------------------------------------------------------- - * wait for XSR.7 to be set. Time out with an error if it does not. - * This routine does not set the flash to read-array mode. - */ -static int flash_status_check(flash_info_t * info, ulong sector, ulong tout, char * prompt) -{ - ulong start; - - /* Wait for command completion */ - start = get_timer (0); - while(!flash_isset(info, sector, 0, FLASH_STATUS_DONE)) { - if (get_timer(start) > info->erase_blk_tout) { - printf("Flash %s timeout at address %lx\n", prompt, info->start[sector]); - flash_write_cmd(info, sector, 0, FLASH_CMD_RESET); - return ERR_TIMOUT; - } - } - return ERR_OK; -} -/*----------------------------------------------------------------------- - * Wait for XSR.7 to be set, if it times out print an error, otherwise do a full status check. - * This routine sets the flash to read-array mode. - */ -static int flash_full_status_check(flash_info_t * info, ulong sector, ulong tout, char * prompt) -{ - int retcode; - retcode = flash_status_check(info, sector, tout, prompt); - if((retcode == ERR_OK) && !flash_isequal(info,sector, 0, FLASH_STATUS_DONE)) { - retcode = ERR_INVAL; - printf("Flash %s error at address %lx\n", prompt,info->start[sector]); - if(flash_isset(info, sector, 0, FLASH_STATUS_ECLBS | FLASH_STATUS_PSLBS)){ - printf("Command Sequence Error.\n"); - } else if(flash_isset(info, sector, 0, FLASH_STATUS_ECLBS)){ - printf("Block Erase Error.\n"); - retcode = ERR_NOT_ERASED; - } else if (flash_isset(info, sector, 0, FLASH_STATUS_PSLBS)) { - printf("Locking Error\n"); - } - if(flash_isset(info, sector, 0, FLASH_STATUS_DPS)){ - printf("Block locked.\n"); - retcode = ERR_PROTECTED; - } - if(flash_isset(info, sector, 0, FLASH_STATUS_VPENS)) - printf("Vpp Low Error.\n"); - } - flash_write_cmd(info, sector, 0, FLASH_CMD_RESET); - return retcode; -} -/*----------------------------------------------------------------------- - */ -static void flash_add_byte(flash_info_t *info, cfiword_t * cword, uchar c) -{ - switch(info->portwidth) { - case FLASH_CFI_8BIT: - cword->c = c; - break; - case FLASH_CFI_16BIT: - cword->w = (cword->w << 8) | c; - break; - case FLASH_CFI_32BIT: - cword->l = (cword->l << 8) | c; - } -} - - -/*----------------------------------------------------------------------- - * make a proper sized command based on the port and chip widths - */ -static void flash_make_cmd(flash_info_t * info, uchar cmd, void * cmdbuf) -{ - int i; - uchar *cp = (uchar *)cmdbuf; - for(i=0; i< info->portwidth; i++) - *cp++ = ((i+1) % info->chipwidth) ? '\0':cmd; -} - -/* - * Write a proper sized command to the correct address - */ -static void flash_write_cmd(flash_info_t * info, int sect, uchar offset, uchar cmd) -{ - - volatile cfiptr_t addr; - cfiword_t cword; - addr.cp = flash_make_addr(info, sect, offset); - flash_make_cmd(info, cmd, &cword); - switch(info->portwidth) { - case FLASH_CFI_8BIT: - *addr.cp = cword.c; - break; - case FLASH_CFI_16BIT: - *addr.wp = cword.w; - break; - case FLASH_CFI_32BIT: - *addr.lp = cword.l; - break; - } -} - -/*----------------------------------------------------------------------- - */ -static int flash_isequal(flash_info_t * info, int sect, uchar offset, uchar cmd) -{ - cfiptr_t cptr; - cfiword_t cword; - int retval; - cptr.cp = flash_make_addr(info, sect, offset); - flash_make_cmd(info, cmd, &cword); - switch(info->portwidth) { - case FLASH_CFI_8BIT: - retval = (cptr.cp[0] == cword.c); - break; - case FLASH_CFI_16BIT: - retval = (cptr.wp[0] == cword.w); - break; - case FLASH_CFI_32BIT: - retval = (cptr.lp[0] == cword.l); - break; - default: - retval = 0; - break; - } - return retval; -} -/*----------------------------------------------------------------------- - */ -static int flash_isset(flash_info_t * info, int sect, uchar offset, uchar cmd) -{ - cfiptr_t cptr; - cfiword_t cword; - int retval; - cptr.cp = flash_make_addr(info, sect, offset); - flash_make_cmd(info, cmd, &cword); - switch(info->portwidth) { - case FLASH_CFI_8BIT: - retval = ((cptr.cp[0] & cword.c) == cword.c); - break; - case FLASH_CFI_16BIT: - retval = ((cptr.wp[0] & cword.w) == cword.w); - break; - case FLASH_CFI_32BIT: - retval = ((cptr.lp[0] & cword.l) == cword.l); - break; - default: - retval = 0; - break; - } - return retval; -} - -/*----------------------------------------------------------------------- - * detect if flash is compatible with the Common Flash Interface (CFI) - * http://www.jedec.org/download/search/jesd68.pdf - * - */ -static int flash_detect_cfi(flash_info_t * info) -{ - - for(info->portwidth=FLASH_CFI_8BIT; info->portwidth <= FLASH_CFI_32BIT; - info->portwidth <<= 1) { - for(info->chipwidth =FLASH_CFI_BY8; - info->chipwidth <= info->portwidth; - info->chipwidth <<= 1) { - flash_write_cmd(info, 0, 0, FLASH_CMD_RESET); - flash_write_cmd(info, 0, FLASH_OFFSET_CFI, FLASH_CMD_CFI); - if(flash_isequal(info, 0, FLASH_OFFSET_CFI_RESP,'Q') && - flash_isequal(info, 0, FLASH_OFFSET_CFI_RESP + 1, 'R') && - flash_isequal(info, 0, FLASH_OFFSET_CFI_RESP + 2, 'Y')) - return 1; - } - } - return 0; -} -/* - * The following code cannot be run from FLASH! - * - */ -static ulong flash_get_size (ulong base, int banknum) -{ - flash_info_t * info = &flash_info[banknum]; - int i, j; - int sect_cnt; - unsigned long sector; - unsigned long tmp; - int size_ratio = 0; - uchar num_erase_regions; - int erase_region_size; - int erase_region_count; - - info->start[0] = base; - - invalidate_dcache_range(base, base+0x400); - - if(flash_detect_cfi(info)){ - - size_ratio = info->portwidth / info->chipwidth; - num_erase_regions = flash_read_uchar(info, FLASH_OFFSET_NUM_ERASE_REGIONS); - - sect_cnt = 0; - sector = base; - for(i = 0 ; i < num_erase_regions; i++) { - if(i > NUM_ERASE_REGIONS) { - printf("%d erase regions found, only %d used\n", - num_erase_regions, NUM_ERASE_REGIONS); - break; - } - tmp = flash_read_long(info, 0, FLASH_OFFSET_ERASE_REGIONS); - erase_region_size = (tmp & 0xffff)? ((tmp & 0xffff) * 256): 128; - tmp >>= 16; - erase_region_count = (tmp & 0xffff) +1; - for(j = 0; j< erase_region_count; j++) { - info->start[sect_cnt] = sector; - sector += (erase_region_size * size_ratio); - info->protect[sect_cnt] = flash_isset(info, sect_cnt, FLASH_OFFSET_PROTECT, FLASH_STATUS_PROTECT); - sect_cnt++; - } - } - - info->sector_count = sect_cnt; - /* multiply the size by the number of chips */ - info->size = (1 << flash_read_uchar(info, FLASH_OFFSET_SIZE)) * size_ratio; - info->buffer_size = (1 << flash_read_ushort(info, 0, FLASH_OFFSET_BUFFER_SIZE)); - tmp = 1 << flash_read_uchar(info, FLASH_OFFSET_ETOUT); - info->erase_blk_tout = (tmp * (1 << flash_read_uchar(info, FLASH_OFFSET_EMAX_TOUT))); - tmp = 1 << flash_read_uchar(info, FLASH_OFFSET_WBTOUT); - info->buffer_write_tout = (tmp * (1 << flash_read_uchar(info, FLASH_OFFSET_WBMAX_TOUT))); - tmp = 1 << flash_read_uchar(info, FLASH_OFFSET_WTOUT); - info->write_tout = (tmp * (1 << flash_read_uchar(info, FLASH_OFFSET_WMAX_TOUT)))/ 1000; - info->flash_id = FLASH_MAN_CFI; - } - - flash_write_cmd(info, 0, 0, FLASH_CMD_RESET); -#ifdef DEBUG_FLASH - printf("portwidth=%d chipwidth=%d\n", info->portwidth, info->chipwidth); /* test-only */ -#endif -#ifdef DEBUG_FLASH - printf("found %d erase regions\n", num_erase_regions); -#endif -#ifdef DEBUG_FLASH - printf("size=%08x sectors=%08x \n", info->size, info->sector_count); -#endif - return(info->size); -} - - -/*----------------------------------------------------------------------- - */ -static int flash_write_cfiword (flash_info_t *info, ulong dest, cfiword_t cword) -{ - - cfiptr_t ctladdr; - cfiptr_t cptr; - int flag; - - ctladdr.cp = flash_make_addr(info, 0, 0); - cptr.cp = (uchar *)dest; - - - /* Check if Flash is (sufficiently) erased */ - switch(info->portwidth) { - case FLASH_CFI_8BIT: - flag = ((cptr.cp[0] & cword.c) == cword.c); - break; - case FLASH_CFI_16BIT: - flag = ((cptr.wp[0] & cword.w) == cword.w); - break; - case FLASH_CFI_32BIT: - flag = ((cptr.lp[0] & cword.l) == cword.l); - break; - default: - return 2; - } - if(!flag) - return 2; - - /* Disable interrupts which might cause a timeout here */ - flag = disable_interrupts(); - - flash_write_cmd(info, 0, 0, FLASH_CMD_CLEAR_STATUS); - flash_write_cmd(info, 0, 0, FLASH_CMD_WRITE); - - switch(info->portwidth) { - case FLASH_CFI_8BIT: - cptr.cp[0] = cword.c; - break; - case FLASH_CFI_16BIT: - cptr.wp[0] = cword.w; - break; - case FLASH_CFI_32BIT: - cptr.lp[0] = cword.l; - break; - } - - /* re-enable interrupts if necessary */ - if(flag) - enable_interrupts(); - - return flash_full_status_check(info, 0, info->write_tout, "write"); -} - -#ifdef CFG_FLASH_USE_BUFFER_WRITE - -/* loop through the sectors from the highest address - * when the passed address is greater or equal to the sector address - * we have a match - */ -static int find_sector(flash_info_t *info, ulong addr) -{ - int sector; - for(sector = info->sector_count - 1; sector >= 0; sector--) { - if(addr >= info->start[sector]) - break; - } - return sector; -} - -static int flash_write_cfibuffer(flash_info_t * info, ulong dest, uchar * cp, int len) -{ - - int sector; - int cnt; - int retcode; - volatile cfiptr_t src; - volatile cfiptr_t dst; - - src.cp = cp; - dst.cp = (uchar *)dest; - sector = find_sector(info, dest); - flash_write_cmd(info, sector, 0, FLASH_CMD_CLEAR_STATUS); - flash_write_cmd(info, sector, 0, FLASH_CMD_WRITE_TO_BUFFER); - if((retcode = flash_status_check(info, sector, info->buffer_write_tout, - "write to buffer")) == ERR_OK) { - switch(info->portwidth) { - case FLASH_CFI_8BIT: - cnt = len; - break; - case FLASH_CFI_16BIT: - cnt = len >> 1; - break; - case FLASH_CFI_32BIT: - cnt = len >> 2; - break; - default: - return ERR_INVAL; - break; - } - flash_write_cmd(info, sector, 0, (uchar)cnt-1); - while(cnt-- > 0) { - switch(info->portwidth) { - case FLASH_CFI_8BIT: - *dst.cp++ = *src.cp++; - break; - case FLASH_CFI_16BIT: - *dst.wp++ = *src.wp++; - break; - case FLASH_CFI_32BIT: - *dst.lp++ = *src.lp++; - break; - default: - return ERR_INVAL; - break; - } - } - flash_write_cmd(info, sector, 0, FLASH_CMD_WRITE_BUFFER_CONFIRM); - retcode = flash_full_status_check(info, sector, info->buffer_write_tout, - "buffer write"); - } - flash_write_cmd(info, sector, 0, FLASH_CMD_CLEAR_STATUS); - return retcode; -} -#endif /* CFG_USE_FLASH_BUFFER_WRITE */ diff --git a/board/esd/hh405/config.mk b/board/esd/hh405/config.mk index ca1f575..798a3fa 100644 --- a/board/esd/hh405/config.mk +++ b/board/esd/hh405/config.mk @@ -32,4 +32,3 @@ TEXT_BASE = 0xFFF80000 # Compile the legacy NAND code (CFG_NAND_LEGACY must be defined) BOARDLIBS = drivers/nand_legacy/libnand_legacy.a - diff --git a/board/esd/hh405/fpgadata.c b/board/esd/hh405/fpgadata.c index 58ee3a8..64bca46 100644 --- a/board/esd/hh405/fpgadata.c +++ b/board/esd/hh405/fpgadata.c @@ -1,2520 +1,2517 @@ - 0x1f,0x8b,0x08,0x08,0x9c,0xc4,0xe8,0x42,0x00,0x03,0x68,0x68,0x34,0x30,0x35,0x5f, - 0x31,0x5f,0x30,0x35,0x2e,0x62,0x69,0x74,0x00,0xec,0xfd,0x0f,0x78,0x14,0xd7,0x91, - 0x2f,0x0c,0x57,0x9f,0x6e,0x89,0xa3,0xe9,0x91,0xa6,0x91,0x84,0x57,0xb6,0x31,0x6e, - 0x8d,0x04,0x1e,0x94,0x91,0x18,0x46,0x58,0xc8,0x42,0x8c,0x5a,0x23,0xd9,0x19,0x1b, - 0x6c,0x26,0x8e,0x93,0x65,0x77,0xfd,0xe5,0x0e,0x84,0x64,0x95,0xbc,0xc4,0x2b,0x3b, - 0xb9,0x7b,0x49,0xd6,0xeb,0x1c,0x8d,0x04,0x8c,0x90,0x0c,0x03,0x28,0x31,0x4e,0x58, - 0x6f,0x23,0x64,0x5b,0x38,0x24,0x3b,0x08,0x0c,0x02,0x1c,0xdc,0xc2,0xb2,0x2d,0xfe, - 0x18,0x2b,0x0e,0xeb,0xe0,0x3f,0x71,0x06,0x47,0x26,0xb2,0x23,0xdb,0x32,0xc6,0x8e, - 0x04,0x02,0xde,0x3a,0x3d,0x92,0xa6,0x47,0x64,0xf7,0xe6,0xbe,0xf7,0xf9,0xde,0x6f, - 0x9f,0xe7,0xbb,0xf2,0xf3,0xec,0x9e,0xb4,0x8e,0x9a,0xee,0xd3,0xe7,0x54,0xfd,0xaa, - 0xea,0x57,0x55,0x90,0xe1,0x18,0x4e,0xfc,0x07,0x20,0xac,0x00,0x47,0x5d,0xdd,0x02, - 0xcf,0xad,0xff,0x6d,0xfe,0x7f,0xf3,0xdc,0x5a,0xf2,0xc0,0xd7,0x57,0xc1,0x4a,0x90, - 0xbd,0xdf,0xbd,0xd5,0xf3,0x8d,0xef,0x3d,0x38,0x7f,0xc1,0x02,0xf8,0x3a,0xfe,0x2f, - 0x8f,0xe7,0xd6,0x79,0x9e,0x85,0xf3,0xbc,0xe5,0xb0,0x0a,0x32,0xe6,0x97,0x56,0x2c, - 0xf0,0x56,0x78,0x3d,0xf0,0x0d,0x10,0x4a,0x3b,0xae,0xe2,0xcf,0x33,0x8f,0x7f,0xe5, - 0x9b,0x1e,0x60,0x02,0x00,0x4c,0xf3,0x08,0x21,0xfe,0xff,0x65,0x8f,0xa0,0x0a,0xc0, - 0xaa,0x8a,0x3d,0x60,0xf0,0xff,0x0d,0xe3,0xbf,0xcf,0xf0,0x80,0x6a,0xfd,0xdf,0x82, - 0x07,0x34,0x08,0x82,0xd6,0xca,0xb2,0xe1,0x2f,0xf8,0xa1,0x12,0x9b,0x18,0xfe,0x45, - 0xf3,0x61,0x72,0xfe,0xd5,0xe3,0xec,0x3f,0x9c,0x94,0xfc,0xa9,0x3a,0xaf,0x8f,0x8f, - 0x18,0xf1,0xfc,0xcf,0xa7,0x0b,0x01,0x98,0xb8,0xeb,0x0f,0xdf,0xfc,0x4b,0xee,0xbf, - 0xf0,0xf3,0x89,0xfb,0xff,0xaf,0xce,0x07,0xe5,0x2f,0x98,0x8e,0xef,0x3b,0x31,0xf8, - 0xa1,0x22,0x68,0xb0,0x1c,0xd2,0x41,0x60,0x10,0x82,0xbc,0xff,0x60,0xb0,0xb0,0x77, - 0x62,0xfe,0xd1,0xb4,0x31,0xef,0x29,0x71,0x61,0x7e,0xd6,0xe7,0x62,0x25,0xbc,0x0a, - 0x0b,0x8c,0xcc,0x11,0xf1,0x0a,0x8c,0x42,0x45,0x9f,0x3d,0x2e,0x8e,0xc1,0xc7,0x50, - 0x05,0x77,0xb3,0x1c,0x0f,0xd4,0x8f,0xcf,0x37,0xf2,0x9e,0x57,0x8e,0xab,0x5e,0x95, - 0x7e,0x4e,0x7e,0x01,0x2d,0xe0,0x8c,0xdb,0xbb,0xc9,0x47,0xd0,0xad,0x16,0xbc,0x69, - 0xef,0xc4,0xc1,0x06,0x56,0xa2,0xd2,0x08,0x89,0x49,0x13,0xab,0xd8,0x27,0xed,0x86, - 0x2d,0xb6,0x39,0xb0,0x61,0x01,0x91,0x60,0xab,0x50,0x62,0xe4,0x79,0xc8,0x49,0x38, - 0x2c,0xbb,0x5e,0xa4,0x1e,0x32,0x04,0x3b,0xc1,0x0d,0x54,0x99,0xe3,0x15,0x26,0xef, - 0x8f,0xf3,0x7f,0x02,0x4e,0x0f,0x8d,0x39,0x77,0x6b,0x3f,0x65,0x45,0xf1,0xbc,0x18, - 0x4e,0x3b,0xbc,0x41,0x35,0x32,0x3a,0xc8,0x50,0xd8,0x46,0x4b,0x08,0xdd,0x8c,0xf7, - 0x0f,0x8d,0xcf,0xaf,0x9e,0x3e,0x04,0xbf,0x82,0x32,0x4f,0x56,0x4c,0x74,0x85,0xdf, - 0x3a,0xeb,0x1b,0x76,0xc7,0x6a,0x86,0x60,0x94,0x55,0xf4,0xb4,0xea,0xe2,0x71,0xe9, - 0x8f,0xbf,0xf2,0x45,0xdd,0x11,0x41,0x91,0x26,0xee,0xaf,0x0b,0xcf,0xc1,0xc7,0xb4, - 0x0a,0x1c,0x9e,0x1b,0xfb,0xc8,0x7b,0xb0,0xd0,0x98,0x36,0x2c,0x8e,0x09,0x97,0x33, - 0x9e,0x37,0xb2,0x7a,0xc4,0x0f,0xe0,0xa2,0xe4,0x63,0x0e,0x2a,0x0e,0xc2,0xc4,0xfd, - 0xfb,0x95,0xdd,0xf4,0x7d,0xcd,0x0b,0xfc,0xfe,0xd2,0x1f,0x7b,0x7c,0x41,0x7b,0xac, - 0x60,0x08,0x2e,0x41,0x99,0x61,0x67,0xe2,0xfb,0xf0,0x47,0xcd,0x13,0xb5,0x47,0x65, - 0x8f,0xa4,0x4e,0xbc,0x6f,0x9a,0x8f,0xb6,0xc4,0x43,0x0b,0xe4,0x61,0xb1,0x4e,0x6a, - 0x31,0xd4,0xb7,0x6d,0x31,0x71,0x37,0xec,0x85,0x02,0x83,0x32,0x32,0xc8,0x36,0x80, - 0x93,0xd1,0x28,0x29,0xc3,0xdd,0x3f,0xf1,0xbe,0xab,0xb5,0xf6,0x3b,0x74,0xdd,0xe6, - 0x21,0x76,0xd8,0xa9,0xba,0xe2,0x19,0x7c,0x7d,0x76,0x42,0xa1,0xe1,0x82,0xf4,0x8d, - 0x64,0x07,0xa8,0x1a,0x55,0xc9,0x08,0x9e,0x95,0xc4,0xcf,0x88,0xf2,0xb5,0x8c,0x8d, - 0xb1,0xfc,0x8e,0x1b,0xbf,0x4f,0xbe,0x46,0xd7,0xeb,0x73,0x87,0xe4,0x35,0xe4,0x09, - 0xa8,0xea,0x56,0xe3,0x74,0x0d,0x79,0x27,0xf3,0x49,0x96,0x1f,0xa2,0xdf,0x82,0x2b, - 0x93,0xf7,0x0f,0xd0,0xa5,0xf0,0x6e,0xbb,0x1a,0xce,0xf2,0x88,0x76,0xf8,0xa3,0x5e, - 0x39,0x96,0xe9,0x11,0x4f,0xc2,0xa7,0xd1,0x05,0x71,0x3b,0x1f,0x9c,0x85,0x98,0xe6, - 0xae,0xa8,0x79,0x8d,0x4c,0xec,0x07,0x2d,0xad,0x55,0xfd,0x47,0xa5,0x8a,0x39,0x86, - 0xc5,0x21,0xed,0x8a,0xb2,0xb0,0x37,0x0b,0xd7,0x07,0x3e,0x85,0xaa,0x97,0x1c,0x31, - 0x1c,0xfc,0x7f,0x94,0xaa,0x5a,0xc7,0x48,0x8e,0x92,0x3e,0xb1,0x3e,0x54,0xfa,0x79, - 0xb8,0x07,0x4f,0x75,0xd6,0x01,0x71,0x35,0x9c,0x80,0x32,0x96,0x19,0x13,0x87,0x70, - 0x7e,0x59,0x9f,0x3d,0x8a,0x83,0x13,0xcc,0x1b,0xb7,0xbb,0xe4,0xa2,0xc9,0xfd,0xd3, - 0x97,0xb7,0x5d,0x5d,0x0f,0x3b,0x80,0x7e,0x57,0x9c,0x49,0x70,0xc0,0xdc,0xf5,0xe4, - 0x6d,0x38,0x00,0xfa,0xc9,0x40,0x30,0xfb,0x6d,0xfc,0x43,0xd5,0xa0,0x21,0x9b,0x77, - 0xf2,0xfb,0xaa,0xb0,0x91,0xb5,0x1a,0x05,0xaa,0xad,0xdc,0xb6,0x0c,0x1e,0x63,0xea, - 0xd9,0xeb,0xf1,0x35,0xe1,0x79,0x96,0x1f,0x2f,0x5f,0xee,0x3f,0x05,0xeb,0x71,0x80, - 0x2f,0xae,0xc2,0xc4,0xfa,0xd7,0x49,0xad,0xb0,0x35,0xa4,0xd6,0xe3,0xee,0xca,0xc4, - 0x8d,0xa4,0x0e,0x2f,0xe7,0xeb,0xb9,0x97,0xdf,0x36,0x37,0xdc,0xab,0xed,0x8d,0xaa, - 0x03,0xb8,0x03,0xb3,0x27,0xf7,0xe7,0xe0,0x8c,0x41,0x38,0x65,0x94,0x36,0x67,0xe9, - 0x05,0x7f,0x0b,0xef,0xb4,0xef,0xed,0xcc,0xd4,0xf1,0xeb,0x7f,0x0e,0x5e,0x66,0xff, - 0x40,0xfc,0x23,0x1c,0x87,0x2e,0xe6,0xd6,0xc5,0x8a,0xc9,0xe7,0x09,0x08,0x02,0x0c, - 0xfa,0x7d,0xd4,0x01,0x62,0x9c,0x0d,0x42,0x05,0xcd,0x62,0x62,0x1c,0x46,0x58,0x05, - 0x38,0x98,0xf8,0x2e,0x0c,0x82,0x0f,0x1c,0x86,0xf8,0x1a,0x4c,0xdc,0x9f,0x2a,0x4f, - 0x91,0x1e,0xf6,0x94,0x96,0x19,0x15,0x3b,0xd2,0x8f,0x41,0xf8,0x76,0x1c,0x0c,0xc0, - 0x28,0xe9,0xd2,0xec,0x8a,0x28,0xc1,0xfb,0xe0,0xd3,0x1c,0x51,0xf1,0xe8,0xe4,0xf3, - 0x30,0x58,0xd5,0xd3,0xdc,0xaf,0x06,0x6d,0xd1,0x9c,0x55,0xb0,0x0b,0xd4,0x3a,0x7b, - 0x94,0x0c,0xc0,0x41,0xcd,0xa9,0x45,0xa2,0xa4,0x10,0x9a,0xa1,0x44,0x93,0xa3,0x24, - 0x3e,0x29,0x16,0xca,0xd3,0x0a,0xd3,0x5a,0xb4,0x5f,0x04,0x68,0x34,0x7d,0x00,0x32, - 0x94,0x6f,0x6b,0xcd,0xe6,0x7c,0x8a,0xdb,0x26,0xea,0x77,0xc3,0xcf,0x61,0x9e,0x26, - 0xf7,0x93,0x97,0x26,0xf7,0x83,0x9a,0x2b,0x09,0x0d,0x9a,0xd3,0xd8,0x90,0x9b,0xbe, - 0x4a,0xd8,0xa1,0xa9,0x5a,0x9e,0x42,0x7a,0xf1,0xfe,0x6a,0xd0,0xa5,0xe0,0x09,0x5d, - 0x0b,0xc5,0x9a,0x1c,0x24,0x47,0x85,0x89,0xfd,0xb0,0x26,0x33,0x04,0x11,0x38,0x02, - 0xb8,0xdb,0x75,0xe8,0x23,0x15,0x42,0xa6,0xf9,0xbe,0xe0,0xc5,0x2b,0xb2,0xaa,0xf0, - 0xf7,0xdd,0x64,0x88,0xa7,0xc4,0x89,0xfd,0xb9,0x2d,0xed,0x3d,0xb8,0xac,0x3d,0xaf, - 0x39,0xda,0x72,0x3e,0x23,0xff,0xee,0xaf,0x0a,0x66,0xe1,0xfb,0x4a,0x97,0xb5,0xac, - 0xe0,0xbc,0xd3,0xe2,0x67,0x30,0xaa,0xf9,0x82,0x8e,0x36,0xf1,0x5c,0xfa,0xc4,0x7e, - 0xc8,0x4b,0xbb,0xc0,0x5e,0xf1,0x2c,0xd2,0xb2,0xda,0xc4,0x42,0xd7,0x2b,0x77,0x2e, - 0x0e,0xdc,0x83,0xf3,0x85,0xcb,0x01,0xaf,0x3f,0x2b,0xda,0xb8,0x4f,0x3d,0xa6,0x96, - 0x6a,0xf6,0xfe,0xc6,0x97,0x26,0xf7,0x4f,0x79,0xde,0x59,0x88,0xa8,0x4e,0x81,0x36, - 0x91,0x1d,0x42,0x04,0xda,0xa3,0x36,0x86,0xab,0xd1,0x0d,0x45,0x0a,0x6d,0x12,0xf1, - 0x57,0xe0,0x04,0xbb,0x4e,0x4e,0x4d,0xae,0x67,0xe0,0xf6,0xb5,0xb6,0x06,0xe3,0x19, - 0xcd,0x76,0x9d,0xbf,0x10,0x1a,0x84,0xc2,0xa0,0x4d,0x21,0xb5,0xb0,0x47,0x55,0xef, - 0xb2,0x29,0xfe,0x01,0x68,0xc0,0x17,0xcf,0x50,0xc8,0x6b,0x93,0xf2,0x67,0x9b,0xd4, - 0x81,0x8b,0x4c,0xb4,0x40,0x74,0x65,0x07,0xc9,0x70,0x91,0x80,0xcd,0x5c,0x4f,0x67, - 0x91,0xa6,0xb6,0x91,0x73,0xa4,0x19,0x9c,0x9a,0x2b,0x4a,0x5e,0x9a,0xdc,0x0f,0xfa, - 0x8c,0x55,0xd0,0x03,0x15,0x81,0xac,0x68,0xce,0x1c,0x68,0xd6,0x66,0x6a,0xfc,0x7d, - 0xe1,0xa0,0xee,0xd5,0xee,0xda,0x7e,0xcb,0x3a,0x38,0x06,0x8c,0x7f,0xfa,0xc1,0x49, - 0xf9,0xd3,0x27,0x74,0xc0,0xa8,0x8d,0x7f,0xf4,0x25,0x03,0x91,0x4f,0xc0,0x17,0xc2, - 0xaf,0x3f,0xa0,0x7c,0x22,0xf9,0xb4,0x7f,0xdb,0x22,0x76,0xc0,0x27,0x82,0xb9,0x1f, - 0x2e,0x4e,0xca,0x1f,0xaa,0xb0,0xea,0xbe,0xe9,0xde,0x0c,0x5c,0x6d,0x5c,0x7f,0xad, - 0x4c,0xb1,0xb3,0x02,0x5c,0xff,0xac,0x32,0xc8,0x62,0x39,0x71,0xa5,0x4f,0xf0,0x82, - 0x9b,0xa1,0xa0,0x9b,0xd8,0xff,0xae,0xb4,0x6e,0x3c,0x31,0xf9,0x51,0x9b,0x4e,0x28, - 0x6c,0x84,0x82,0xb0,0x43,0x27,0x83,0x70,0xc4,0x98,0xc3,0xec,0x7c,0xb0,0x01,0x0a, - 0x18,0x8d,0x93,0xe3,0x93,0xfb,0xc1,0x25,0xdd,0x45,0xdb,0x0d,0x97,0xc7,0x16,0xb3, - 0xa1,0xd8,0x61,0xae,0xec,0x88,0x27,0xfd,0x24,0x6e,0xfa,0x39,0x78,0x0d,0xb7,0x4d, - 0x23,0xb8,0x18,0xca,0x9f,0xe3,0x93,0xf2,0x87,0x29,0x01,0xe9,0x29,0xf8,0x82,0x62, - 0x7b,0x90,0x3c,0x07,0xb7,0x68,0x73,0xe1,0xef,0xcc,0xf3,0x9b,0x51,0xd8,0x27,0xd7, - 0xc3,0xbf,0xc3,0x7a,0x3e,0x3f,0x84,0xff,0xd0,0xc4,0xfd,0x23,0x91,0x7b,0xe1,0x17, - 0x0d,0x07,0xf5,0xac,0x11,0xf9,0x09,0xf8,0x37,0xf6,0x4b,0xd5,0xbe,0x46,0x7c,0x07, - 0x3e,0x67,0xb7,0x9e,0xcf,0x5a,0x23,0xbe,0x44,0x5e,0x60,0x07,0x75,0x7b,0x9d,0xf8, - 0xc1,0xa4,0xfc,0xa1,0x33,0x3a,0xe1,0x6f,0xa5,0x7d,0x80,0xd2,0x66,0x29,0x79,0x0b, - 0x05,0xa5,0x83,0xcb,0x93,0x8b,0xd2,0x23,0x86,0x3d,0x26,0x0e,0x10,0x14,0xbc,0xcc, - 0xa1,0x8b,0x47,0x27,0xe5,0x0f,0x48,0x87,0xb4,0x33,0x4d,0xb7,0xe9,0xf6,0x91,0x69, - 0x8f,0xc0,0x89,0xa8,0x47,0xb5,0x73,0xfd,0x75,0x85,0x79,0xcf,0x9a,0x83,0x8f,0xd9, - 0x62,0xdd,0xbe,0x4b,0x86,0xc9,0xfd,0xb3,0x8b,0xfe,0x04,0xc8,0x51,0x94,0x3f,0x0f, - 0x92,0x59,0x6c,0x67,0x7c,0x97,0xba,0xec,0x41,0x7c,0xfe,0xa1,0xa6,0x5b,0x87,0xe8, - 0x0f,0xe0,0x34,0x3e,0x7f,0x31,0xcb,0xac,0xf3,0x17,0x4d,0x7e,0x5f,0xdc,0x11,0xb0, - 0x8e,0xcc,0x65,0xd4,0x63,0xb3,0x37,0xad,0x57,0xf3,0xc3,0x94,0xbf,0xef,0x7e,0x61, - 0x76,0x5f,0xe7,0x43,0xa6,0xe0,0x2a,0x66,0x74,0xa5,0x4d,0x9b,0x94,0x3f,0xaa,0x14, - 0x21,0x1b,0x22,0xaa,0x3f,0x10,0x43,0x79,0xfe,0x33,0x4d,0x55,0x17,0x71,0xf9,0xa3, - 0xa3,0x3c,0xa7,0x3e,0x72,0x07,0x34,0x6a,0x6e,0x46,0xdd,0x24,0x20,0x4d,0x9c,0xdf, - 0xce,0x19,0x83,0xd2,0x89,0x42,0x17,0xb3,0x0f,0x8b,0x6e,0x38,0xa1,0xe3,0xf3,0x9b, - 0xef,0x1b,0xbc,0xc5,0x68,0xed,0x12,0xcf,0x6d,0xfe,0xa3,0x56,0xc2,0xe8,0xee,0xc6, - 0x6f,0x4f,0x3e,0x0f,0x13,0x9a,0x95,0x0f,0x34,0x9f,0x30,0x2f,0x26,0xfe,0x42,0xba, - 0xb8,0xd2,0x37,0xdd,0x5c,0x9f,0x4b,0xe0,0x33,0x1c,0x1e,0xdc,0x78,0x38,0x60,0xc5, - 0x3a,0x1e,0xd5,0x89,0xfd,0x9f,0xaf,0xec,0x46,0x21,0xb6,0x17,0xef,0x2f,0xcf,0xc4, - 0xf5,0x5f,0xe4,0xc9,0xe4,0xf2,0xfc,0x8a,0x34,0xdf,0xc0,0x81,0x14,0xbe,0x4a,0xab, - 0xd8,0xb2,0xf8,0x0e,0xa3,0x76,0x62,0xfe,0x0e,0xf8,0x87,0x30,0x2a,0x29,0x15,0xd5, - 0x96,0x5b,0x89,0x34,0x39,0xf3,0x32,0xb9,0xfe,0xed,0x82,0x76,0x83,0xc6,0x72,0xbe, - 0x89,0x1a,0xbf,0x04,0x37,0xa2,0x45,0xfe,0xb0,0xb4,0x22,0xd8,0xa0,0x38,0x63,0x34, - 0x46,0xdc,0xf0,0x33,0xb5,0x08,0x32,0xf8,0xfc,0x43,0xe0,0x34,0x70,0x50,0x08,0x3f, - 0x13,0x4a,0x1a,0xcc,0xf9,0x13,0xfb,0x81,0x4a,0xb4,0x21,0x1c,0x72,0x82,0xcd,0x93, - 0x6e,0x77,0xb5,0x53,0xf5,0x8e,0xb9,0x7c,0x7d,0x62,0x45,0xa1,0xa3,0xd4,0xeb,0xac, - 0xc5,0xfd,0xe6,0x66,0x4b,0xf2,0xd3,0x93,0xf2,0x07,0x6e,0x5a,0xad,0x6e,0x70,0xa1, - 0x34,0x8e,0x15,0xb8,0xe1,0x8f,0x50,0x04,0xa6,0x7e,0xb9,0xb8,0xe0,0xc1,0x5e,0x1c, - 0x14,0x12,0xfe,0xbe,0xb8,0x1f,0x8c,0x49,0xf9,0xb3,0xe3,0xa6,0x21,0xe5,0x8a,0x7a, - 0x33,0xa0,0xfe,0xdd,0x0d,0xaf,0xdb,0xaa,0xa8,0x83,0xbf,0xef,0x19,0xa1,0xca,0x70, - 0xec,0x11,0x2e,0x90,0xab,0x04,0x55,0xdb,0xd7,0xc5,0x41,0x32,0x89,0x37,0x66,0xbc, - 0x0b,0xaf,0xb2,0xaa,0x33,0x8e,0x4f,0x76,0x3e,0x04,0x57,0x03,0xa5,0xea,0x46,0x43, - 0xac,0x64,0x57,0x9d,0x8b,0xfa,0xb2,0xce,0x3b,0x71,0xa0,0x96,0x1e,0x77,0xbc,0xdb, - 0x38,0x2c,0x4c,0xca,0xe7,0xbc,0x73,0xa8,0xd4,0x4a,0x7a,0xe5,0xcf,0x89,0x53,0xda, - 0xa4,0x15,0xe5,0xd3,0x7e,0x32,0x4f,0xeb,0xee,0x77,0x0e,0x67,0x3e,0x47,0xfe,0x0d, - 0x0e,0x29,0xde,0x61,0x79,0x37,0xbe,0xef,0xa4,0xfc,0x4f,0x0b,0xc1,0x56,0x70,0xf7, - 0xc9,0x1e,0x12,0x52,0x76,0xaa,0xf8,0xe2,0xc0,0x15,0x3d,0xb8,0xfa,0xe9,0x02,0xbf, - 0x54,0xbb,0x07,0x61,0xb1,0x4d,0x55,0x8f,0x4e,0xde,0xdf,0x10,0x9e,0xa4,0x2d,0xac, - 0xc4,0x90,0x63,0x24,0x84,0xab,0x51,0x04,0x74,0x73,0xd8,0xad,0x76,0x67,0x38,0x8f, - 0xd3,0xae,0x70,0x87,0x56,0x4e,0x09,0xc1,0xf5,0x1c,0x4e,0xee,0xcf,0xdc,0x75,0xf0, - 0xa6,0x81,0x5f,0x3f,0x26,0xd6,0xe0,0xd7,0x47,0x45,0xbc,0x5b,0xfe,0x02,0xc2,0x92, - 0x8a,0xa8,0xad,0xe3,0xaf,0xe6,0xd1,0x4f,0x35,0x67,0x7f,0xd6,0x6e,0xd2,0x3f,0x29, - 0x7f,0xce,0xe2,0x96,0xbd,0x42,0xaa,0x7a,0x1c,0xb1,0x9c,0xbd,0x70,0x15,0xaa,0x6c, - 0x8e,0x6e,0x71,0x90,0x5d,0x14,0x7c,0xfa,0x3f,0x74,0x8a,0x1f,0xd1,0x2b,0x70,0xc8, - 0x70,0xec,0x16,0x47,0x26,0xe5,0x8f,0xa1,0x3c,0xcd,0x2e,0x6a,0x15,0xc6,0x26,0xcf, - 0xb4,0x1d,0xca,0x1f,0x51,0xec,0x3b,0x9a,0xe4,0xb9,0xf0,0x82,0xf6,0x50,0xdb,0xa3, - 0x6e,0xf1,0x1b,0xe4,0x84,0xe1,0x8d,0xda,0x3b,0xc4,0x24,0xfe,0x39,0x2e,0xcd,0x86, - 0x8b,0x30,0xcf,0x90,0x87,0x9d,0x2a,0xe2,0x49,0x27,0xcb,0xda,0x4c,0x70,0x87,0xa8, - 0xdf,0xd3,0x23,0x4f,0x92,0xc2,0x26,0xdc,0x5a,0x11,0xaa,0x8b,0x0f,0x4d,0xee,0x87, - 0x78,0xda,0xed,0x4a,0x97,0xea,0x32,0x70,0x7d,0x22,0xa8,0xa6,0xf5,0xdc,0x1b,0x99, - 0xad,0x57,0x43,0xb1,0xa3,0x05,0x14,0x62,0x13,0x70,0xa1,0x0c,0xaa,0x90,0xf2,0x49, - 0xf9,0xb3,0x42,0xb8,0x2e,0x30,0x27,0xf2,0x9d,0x38,0xc2,0x1e,0x4f,0xf5,0xd6,0x86, - 0xd9,0xd2,0x4f,0x96,0x93,0xd7,0x61,0x6d,0x78,0x6e,0x88,0x2e,0x27,0x37,0xdc,0xb9, - 0x93,0xe3,0x81,0xbf,0x25,0xcb,0x93,0xf8,0x27,0x90,0x5e,0xdb,0xa5,0x95,0xf7,0x39, - 0x3c,0xa4,0x99,0xfd,0x1e,0x3c,0x76,0x07,0x59,0xd2,0x1b,0x7e,0x41,0xed,0xd4,0x5c, - 0xd9,0x32,0x95,0xce,0x42,0x79,0xc0,0x7d,0xa3,0x9c,0x34,0x2a,0xb4,0xeb,0xf7,0xe5, - 0x8d,0x40,0x95,0x31,0xed,0x33,0xf1,0x34,0xfc,0xf1,0xae,0x45,0x14,0xb5,0xf9,0x02, - 0xf8,0x67,0x58,0x58,0x9b,0xd5,0x8f,0xcb,0xf2,0x5b,0x05,0x55,0xdb,0x1b,0x62,0x74, - 0x52,0xfe,0x74,0xa6,0x9d,0xc2,0x77,0x5e,0x18,0xc7,0x63,0xab,0xc2,0xa5,0x6f,0x7a, - 0xd4,0xac,0x0e,0xd1,0x4d,0x4f,0x84,0xbd,0xc6,0xd2,0x98,0x89,0x88,0xbc,0x5c,0x70, - 0x3d,0x93,0xc4,0x3f,0xc2,0x76,0xf8,0x31,0x29,0xe8,0x43,0xfc,0xac,0xd0,0x03,0x90, - 0x8f,0x07,0x21,0x6c,0xcf,0x6b,0x24,0xaa,0x11,0x40,0x04,0x28,0x35,0x72,0xa0,0x52, - 0x9f,0x7e,0x7e,0xf2,0xfb,0x1a,0xa8,0x7b,0x9f,0x60,0xb3,0x07,0x32,0xd6,0x90,0x6c, - 0xd8,0xab,0xef,0x52,0x69,0x1d,0x99,0x35,0x0e,0x7b,0xe6,0xcc,0x22,0xe3,0xf8,0x27, - 0x36,0x29,0x7f,0x02,0xb9,0xa7,0xe8,0x96,0x90,0x6a,0xe0,0xb1,0x4a,0x17,0xf6,0x82, - 0x2b,0x68,0x2b,0x27,0x0e,0xad,0x31,0xaa,0xfe,0x89,0x2e,0x5e,0x97,0xc9,0xb6,0x32, - 0x75,0x80,0xde,0x46,0x5e,0xb3,0xe0,0x9f,0x8b,0x91,0x53,0x2a,0xc2,0x36,0xdd,0x56, - 0xae,0x5e,0x84,0x45,0xdb,0xec,0x1f,0xc8,0x73,0x51,0xde,0xb7,0x47,0xdd,0x1d,0xf8, - 0xa1,0x8f,0xeb,0xb1,0x06,0xc4,0x3f,0x87,0x92,0xf8,0x07,0x76,0x66,0x71,0xa5,0x9f, - 0x05,0xb7,0xa0,0x1a,0x22,0x4f,0x11,0x44,0xcb,0x06,0xe2,0x01,0x1f,0xc7,0x3f,0x0c, - 0x06,0xb5,0x71,0xfc,0x33,0xf1,0x3c,0x34,0xf8,0x1e,0x8c,0xea,0x15,0xda,0xa6,0x68, - 0x4d,0x21,0x9a,0x15,0x5e,0xae,0xdd,0xe6,0x84,0x8e,0x45,0x2b,0x35,0x84,0xcd,0x85, - 0xd0,0xa3,0x78,0x71,0x60,0xc5,0x3f,0xd2,0x37,0x3c,0x7b,0x98,0x13,0x41,0x8e,0xad, - 0x10,0x0e,0x0a,0xd7,0x69,0x72,0x1b,0xe9,0x10,0x10,0xf6,0x84,0x22,0xb9,0x04,0x35, - 0x2c,0xea,0x5f,0xd4,0xa7,0xf1,0x49,0xf9,0x90,0x27,0xe1,0x34,0x28,0xd2,0x6e,0xe4, - 0xe8,0x68,0x0f,0x38,0x87,0x71,0x7e,0x21,0x7d,0x14,0xe6,0x05,0x68,0xff,0x96,0x87, - 0xab,0x1f,0x85,0x82,0x5a,0x3a,0x6c,0xc1,0x3f,0x54,0x92,0xe0,0x20,0x53,0x83,0x37, - 0xe6,0x22,0xda,0xd9,0xe3,0x2f,0xd4,0xe4,0x5c,0x92,0x6b,0xc2,0x1e,0x1a,0x24,0xf7, - 0xa5,0xad,0xf5,0xe7,0x6b,0x19,0x56,0xfc,0xd3,0x0d,0x21,0x65,0x04,0x4c,0x74,0xa7, - 0x9a,0xb0,0xc7,0x81,0xb0,0x07,0x61,0x46,0x09,0xe2,0x9f,0x82,0x10,0xd9,0x80,0xa2, - 0x71,0xa9,0x51,0xf3,0x51,0x12,0xff,0xfc,0xcd,0x05,0xf8,0x0c,0x38,0xc8,0x11,0xbe, - 0x87,0x68,0xa7,0x4a,0x73,0x9c,0x16,0xdf,0x23,0x1c,0xf6,0xcc,0x6b,0x13,0x9f,0x9c, - 0xc0,0x3f,0x4f,0x4d,0xe2,0x9f,0x6d,0x33,0x2e,0xc0,0x6f,0xc1,0x77,0xb7,0xdc,0x26, - 0xd6,0xc2,0x31,0xa5,0x54,0xcb,0x7c,0x4d,0x5c,0x10,0x7e,0x05,0x0e,0xe0,0xa0,0x66, - 0x01,0x7b,0x45,0xad,0xc2,0xf5,0x99,0x36,0x67,0xf2,0xfc,0x96,0x2b,0x71,0xe8,0x83, - 0x12,0xbb,0xdc,0x94,0xa3,0x42,0x67,0x6e,0x11,0xcb,0x24,0x36,0x7c,0x1e,0xb4,0x50, - 0x96,0xad,0x25,0xf9,0xda,0x88,0x5a,0x02,0x94,0x89,0x59,0xe9,0x49,0x2b,0xb6,0x97, - 0x6e,0x06,0xf7,0x9d,0xf2,0x75,0x64,0x55,0x5a,0x03,0x71,0x6a,0xf4,0xba,0x70,0x1a, - 0x87,0x3d,0xbd,0xb2,0xe2,0x97,0xa0,0xa1,0xce,0x1d,0xa4,0xb9,0x4e,0x22,0x24,0xf1, - 0x58,0x07,0xb4,0xe4,0x23,0xc8,0x54,0xd2,0x67,0x23,0xfe,0x2c,0xd2,0x10,0x1d,0x15, - 0x9a,0xcb,0x2e,0x47,0xb3,0x0b,0xb5,0xc3,0x6a,0x96,0x3f,0x10,0xcd,0x4e,0x9f,0x94, - 0x0f,0xed,0xd0,0x01,0x6f,0x08,0xbe,0x6a,0x39,0x2a,0xae,0x52,0x8e,0x81,0xf7,0x76, - 0xfb,0x8f,0xc5,0x42,0x38,0x26,0x78,0xb5,0xbb,0xa3,0xf2,0x1c,0xc4,0x3f,0x3e,0xcd, - 0x1d,0x75,0xb8,0x26,0xe5,0x43,0x27,0x74,0xd0,0x04,0xe8,0xcd,0x41,0x18,0x0c,0x3e, - 0xbf,0xe3,0x71,0xb1,0x17,0x61,0x4f,0x45,0xf5,0x46,0x05,0x07,0xef,0xb3,0xca,0x55, - 0x0e,0x05,0x0d,0xb1,0x89,0xf9,0x45,0xa0,0x6b,0x7c,0x77,0xdd,0xcd,0x61,0xcf,0x19, - 0xf0,0x0a,0x69,0xac,0x11,0x3f,0x04,0x79,0x04,0x5c,0x61,0x51,0xc7,0x4f,0xe3,0x45, - 0x44,0x04,0x16,0xfc,0x23,0xe5,0x29,0x47,0xd8,0x1c,0x86,0x42,0x86,0xc2,0x06,0x21, - 0x9f,0xd1,0x21,0xe2,0x42,0x7d,0xe4,0x63,0x91,0x38,0x0e,0x8e,0x44,0x9c,0x2c,0xa0, - 0x8b,0x1b,0x26,0x57,0xc7,0x35,0xe3,0x9e,0xb4,0xbd,0x03,0xee,0x9e,0xeb,0x3d,0xce, - 0x56,0xf8,0x29,0xc4,0xe3,0xd7,0x2f,0xb6,0x49,0xa8,0x2f,0xdd,0xd5,0xa8,0xf1,0x37, - 0x22,0x10,0x72,0xc5,0xd1,0x94,0x48,0xe2,0x9f,0xfc,0xea,0x99,0xb0,0x90,0xce,0x1e, - 0x44,0x18,0x50,0x09,0x8f,0x29,0x05,0x47,0xf3,0xea,0x71,0xff,0x1c,0xb0,0xcd,0x8d, - 0x07,0xea,0xc9,0xcc,0xc2,0x18,0x9b,0xdb,0x8f,0xbf,0xea,0x4b,0xe2,0x2b,0x3a,0x0b, - 0xfe,0x3b,0xab,0x1a,0xcc,0xbc,0x82,0x66,0xda,0xef,0xc2,0xf3,0xe3,0x99,0x6b,0xc4, - 0x59,0xf0,0x27,0xe6,0x8e,0x23,0x10,0x7a,0x02,0x07,0xdd,0x71,0xf7,0x1a,0xf1,0x78, - 0x12,0xff,0x64,0x76,0x4a,0x97,0x60,0x4e,0x7c,0xda,0x3e,0x54,0x73,0x7f,0xd4,0x1e, - 0xe6,0x82,0x9d,0xab,0xf5,0x12,0xae,0xdf,0xd1,0xb0,0x45,0xc3,0xd3,0x11,0x9b,0x16, - 0x9e,0x94,0x3f,0x5a,0xda,0x3b,0xf0,0x1b,0xb6,0xf0,0xf7,0x8e,0x31,0xd1,0x27,0xfd, - 0xee,0xeb,0xa5,0xfc,0x6e,0xfb,0xe1,0x2d,0x56,0x15,0xbf,0x7b,0x8d,0x30,0x4b,0x3b, - 0x8e,0x03,0xc7,0x88,0xd8,0x3f,0x29,0x7f,0x3a,0xa7,0x6f,0x87,0xf5,0x5b,0xf2,0x7b, - 0xe8,0x83,0xb6,0x99,0xf0,0x1b,0x25,0xbf,0x37,0x33,0xc4,0x9f,0xbf,0xa3,0xd8,0x90, - 0x1f,0x22,0x33,0xa1,0x23,0x5a,0xcc,0x45,0xf1,0x07,0x93,0xe7,0x3d,0x0a,0x33,0xe1, - 0x31,0x98,0x6d,0xd8,0xf0,0x7d,0xd5,0xad,0x0a,0x9a,0xb1,0x71,0xb2,0x1d,0x1e,0x0b, - 0x15,0xf7,0xca,0xf5,0xd7,0xdd,0x2f,0x21,0x5e,0x32,0xe4,0x7a,0xb2,0x6e,0xf2,0x7b, - 0x7d,0x3b,0xf7,0x18,0x34,0x2a,0x6a,0x0f,0x2e,0x9a,0x5d,0xdc,0x0a,0x6a,0x7f,0xc6, - 0x53,0x88,0xb7,0xf7,0x12,0x37,0xbf,0xed,0x52,0x44,0x44,0x38,0x58,0x10,0x3e,0xd3, - 0x34,0xb1,0x3f,0x5d,0xd3,0x7f,0x0e,0x6f,0xb0,0x85,0x86,0x6d,0x18,0xf1,0xc3,0xef, - 0xa0,0x4b,0x41,0x69,0xd0,0x24,0xfd,0x0a,0x66,0xe1,0xfb,0xca,0xab,0xa7,0xb7,0x70, - 0x60,0x73,0x28,0x67,0x43,0x53,0xf2,0x79,0x86,0xa4,0xd1,0x6a,0x9f,0x81,0xf6,0xf8, - 0x90,0x7a,0x49,0xf2,0xf5,0x3a,0xfa,0x11,0x36,0xff,0x13,0xf3,0x19,0xcb,0xa2,0xa8, - 0xf1,0x47,0x43,0xbe,0xc4,0x8a,0x4d,0xdc,0xbf,0x41,0x19,0x73,0x5d,0xe6,0x37,0xa9, - 0x37,0xfd,0x1b,0x39,0x47,0x33,0x4f,0x8b,0x65,0xec,0x77,0x7a,0x69,0xbf,0x63,0x58, - 0xae,0x84,0x53,0x90,0xd3,0x87,0x08,0x21,0xbe,0x6a,0x62,0x7e,0x4f,0xd3,0x4a,0xe5, - 0xa0,0x51,0x82,0xf7,0xb7,0xd9,0xc9,0xcf,0x84,0xca,0xf3,0x68,0xad,0xcf,0x81,0x16, - 0x56,0x14,0x97,0xb7,0xaf,0x74,0x6b,0xdd,0x1a,0x0e,0x62,0x24,0xae,0x25,0xf1,0x4f, - 0x09,0xca,0x93,0x12,0xe3,0x46,0x8e,0x7f,0xb6,0x42,0x49,0x3c,0x23,0x96,0x5e,0x08, - 0x2d,0xc4,0x69,0xc8,0xcf,0xe1,0x95,0xc3,0x4a,0x91,0x61,0x8b,0xa5,0xc7,0x27,0xf7, - 0x0f,0x05,0x3b,0x8a,0x29,0xb7,0x81,0xf6,0xbe,0x1b,0x61,0x40,0x89,0x41,0x55,0xdc, - 0x6f,0x8d,0x54,0x35,0x64,0xc5,0xd9,0x44,0xf7,0x00,0x35,0x5a,0xe6,0x93,0xa3,0x93, - 0xfb,0x93,0xd1,0xd5,0x30,0xea,0x32,0x9f,0xdf,0x8d,0xcf,0x3f,0xcb,0x40,0xfb,0xb4, - 0x90,0x9e,0x50,0xbd,0xfc,0x35,0xdd,0xc2,0x19,0x57,0x05,0x0e,0x0a,0xe2,0x64,0xe2, - 0x79,0xf4,0x8c,0x11,0x17,0xd7,0x5f,0x1b,0x87,0xc5,0xb7,0x51,0xbf,0xdf,0x6a,0x38, - 0xe2,0x22,0xc2,0x1e,0xb8,0xd9,0x58,0x66,0x88,0x0f,0xd3,0x31,0x40,0x89,0x34,0x2c, - 0x0e,0x4e,0xca,0x1f,0x43,0x18,0xa3,0x6f,0x1a,0xa5,0x61,0x7b,0x9f,0xf8,0x9c,0xf6, - 0x2b,0xb5,0xa2,0x0f,0x37,0xd2,0x11,0x78,0x95,0xf8,0x8e,0xda,0x47,0xc5,0x47,0xb4, - 0xab,0xd1,0xaa,0x01,0xc7,0x2e,0x71,0x38,0xe9,0xff,0x51,0x3e,0x63,0x61,0x55,0xfd, - 0x09,0x65,0x5b,0x8b,0x8d,0xf7,0x57,0x38,0xcf,0x2c,0xe9,0x22,0x6e,0xfd,0x67,0x74, - 0x5e,0xbf,0xad,0x8b,0x3b,0x6a,0xf0,0x8d,0xe4,0x76,0xc4,0x27,0x93,0xfe,0x9f,0xb4, - 0x57,0x76,0x77,0x17,0x3e,0x13,0xe9,0x64,0xa4,0x15,0xb6,0xdc,0xe0,0x3a,0x25,0x7b, - 0x49,0x2b,0x6b,0x84,0x39,0x47,0x71,0x87,0x2c,0x6d,0xda,0x9b,0x8f,0xd0,0x48,0x25, - 0xe7,0x93,0xfe,0x9f,0x19,0x4d,0xd0,0xc9,0x8a,0x8c,0x3c,0xdd,0xe9,0x06,0xe6,0x72, - 0x72,0x20,0x64,0xa7,0x3f,0x83,0x07,0x70,0x19,0xc7,0xef,0x2f,0x5a,0xf1,0x8f,0x36, - 0x7d,0x00,0x2e,0xb2,0xf2,0x88,0xbd,0x0d,0xbf,0xfe,0x1b,0x1a,0x5f,0x0d,0x1c,0xc8, - 0xf8,0xc5,0x5b,0xb9,0xfe,0xe5,0xc0,0x58,0xd6,0xc5,0x7e,0xab,0xff,0x47,0x7d,0x07, - 0x16,0xd6,0x39,0x5e,0x13,0x86,0xc0,0xdc,0x18,0x88,0x0f,0xe9,0xd5,0xf1,0x81,0x8a, - 0x88,0x88,0xaf,0xd8,0x90,0x05,0xff,0x74,0x90,0x63,0x50,0x16,0xe5,0xb0,0x53,0x79, - 0x53,0x2b,0xe3,0xda,0x1c,0x37,0x1e,0xf5,0x9a,0x3b,0x10,0x11,0xa9,0xef,0xa8,0x63, - 0x87,0x05,0xff,0x9c,0x49,0x73,0x43,0x03,0x4a,0x4b,0xea,0xc9,0x19,0x93,0x22,0x74, - 0xa1,0x41,0x9f,0xc5,0xc7,0x7e,0x1e,0x16,0xbe,0x6b,0x8b,0x39,0x87,0x38,0x7e,0x36, - 0xe4,0x5d,0x16,0xff,0x4f,0x3c,0xed,0xee,0x6a,0x02,0x85,0xac,0x05,0x70,0x5a,0x43, - 0xd3,0x2a,0xfe,0x9a,0x27,0xb5,0xbd,0x30,0xc7,0x28,0xf2,0xe0,0xf7,0xde,0x09,0xee, - 0x5e,0xb9,0xd0,0x82,0x7f,0x46,0x84,0x74,0x6d,0x1d,0xcb,0x1f,0xc8,0x08,0xf8,0x9f, - 0x10,0x1f,0x8d,0xce,0x1e,0xb4,0xad,0x21,0xef,0xd0,0x03,0x3a,0x0e,0x7e,0x40,0xde, - 0x51,0x9f,0x66,0x99,0x71,0xf9,0xdb,0xa4,0x52,0x99,0xb8,0x7f,0x80,0x66,0x19,0x47, - 0xd9,0x02,0xe6,0x98,0x4d,0x4e,0xc1,0x0b,0xb1,0x7d,0xf1,0x12,0x8f,0x78,0x52,0xbb, - 0xa4,0x2f,0x88,0x67,0x95,0xe3,0xf3,0xff,0x1e,0x2a,0x0d,0x47,0xa7,0x90,0x9d,0xf4, - 0xff,0x64,0xee,0x87,0x2b,0xca,0xcd,0x3d,0x59,0xf1,0x1a,0xee,0xfd,0xf3,0x19,0x77, - 0xe3,0xb2,0x68,0x97,0x94,0xc4,0xfa,0xe0,0x09,0xad,0xea,0xc5,0xf7,0xed,0xb7,0xe0, - 0x9f,0x01,0xf6,0x2e,0x57,0x82,0x2c,0x67,0x08,0xde,0xc0,0x6d,0x79,0x33,0x2e,0x0b, - 0xbd,0x2a,0x78,0xfb,0x33,0x63,0xb2,0x3b,0x61,0x98,0xe8,0x28,0xcf,0x27,0xf1,0xcf, - 0xf4,0xe7,0x6a,0xd7,0x49,0xf9,0x1a,0xd5,0xc8,0x3b,0xd0,0x40,0xf3,0xfb,0x6f,0xe4, - 0xf6,0xd4,0xf3,0xba,0xda,0xeb,0x42,0xf9,0xc9,0xed,0x29,0x43,0x0e,0x39,0x93,0xf8, - 0x87,0xc1,0x75,0xf0,0x73,0xa6,0x72,0xd8,0x73,0x4a,0xe3,0x68,0x47,0xe6,0xfe,0x9f, - 0x03,0xd1,0x7c,0x8e,0x88,0x66,0xc1,0x01,0x56,0x1c,0x97,0xeb,0x10,0x6f,0x4f,0xac, - 0x3f,0xe2,0x1f,0x68,0x94,0xd4,0x6a,0xd7,0x2d,0xe4,0x24,0xe5,0x68,0x4a,0xf6,0xf8, - 0x87,0x10,0x58,0x72,0xfb,0xc5,0x6f,0xc7,0x01,0xca,0x1f,0xd5,0x8a,0x7f,0xa6,0x3f, - 0x13,0x3e,0xa7,0xcd,0xd7,0xed,0x83,0x68,0xb4,0x72,0x6f,0x8f,0x69,0x2f,0x5f,0x04, - 0x2f,0x22,0xa2,0x69,0x2e,0x1c,0xa0,0x7d,0x11,0x17,0x2f,0x5a,0xf0,0x4f,0x7c,0xe6, - 0x88,0xea,0xb3,0xcf,0x63,0x62,0x9c,0x8c,0x08,0x3e,0x58,0x66,0xfa,0x43,0x10,0xf6, - 0xf0,0x2b,0xd2,0x38,0x10,0xb2,0xfa,0x7f,0x7a,0x05,0x54,0x8b,0x1a,0x8a,0x91,0x26, - 0x72,0x8c,0x95,0x85,0x36,0x21,0xfe,0x69,0x3a,0xc6,0x61,0xcf,0xe6,0x2f,0xae,0x32, - 0xf5,0xe3,0x54,0xfc,0x23,0x35,0x57,0xb7,0x7f,0x29,0x33,0x97,0xcc,0x86,0x06,0xc3, - 0xf9,0x60,0x56,0xd4,0x76,0x0b,0x34,0xbf,0xeb,0x0c,0x16,0x6f,0xc7,0x2b,0xcd,0x5a, - 0x89,0x46,0xdb,0x2c,0xf6,0x57,0x5e,0x1a,0xbf,0xe8,0x0c,0xda,0xda,0xd2,0x9f,0x84, - 0xe6,0xe0,0x9c,0xfb,0x50,0x8c,0xcc,0xe6,0x3b,0x30,0x88,0xd3,0xd2,0xf0,0x57,0x6e, - 0xfc,0xa7,0xc3,0x56,0xfc,0x93,0x66,0xce,0x97,0xdb,0xd2,0xd7,0xe2,0x40,0x0d,0xda, - 0x72,0xd3,0xd3,0x12,0x6e,0x90,0x5c,0x5b,0x1a,0x69,0xd0,0xdc,0xc1,0xf2,0x5c,0x0b, - 0xfe,0x29,0xcf,0x0c,0xb5,0x47,0x88,0x17,0x36,0xb2,0x02,0x1d,0x5a,0xa5,0x32,0x81, - 0x03,0x21,0xd4,0x6f,0x5d,0x28,0xc7,0x6a,0x42,0xd0,0x47,0x7c,0xd0,0xca,0xac,0xfe, - 0x9f,0x9b,0x2e,0xe0,0xb1,0xaa,0x0a,0x66,0xf6,0x7f,0xf9,0x1b,0x70,0xb9,0xda,0x17, - 0xcc,0x8a,0x16,0x0c,0x98,0xb0,0x67,0x53,0xc2,0xf1,0x85,0xaa,0xbf,0xdf,0xea,0xff, - 0x11,0x06,0xb4,0x13,0x33,0xbc,0xcb,0xf1,0xfc,0x16,0xb2,0x37,0xa8,0x37,0x88,0x83, - 0xd9,0x70,0x2c,0xe4,0x5b,0x8e,0xcb,0x52,0xa8,0xe1,0xd2,0xf1,0x2b,0x2f,0x25,0xf1, - 0x0f,0xf4,0xf8,0x23,0x6a,0x18,0x5c,0x08,0xc3,0x48,0x24,0xd4,0x4e,0x5d,0x8c,0xe8, - 0x61,0x86,0x08,0xcd,0x15,0xb6,0xe1,0x15,0xb5,0x1d,0x32,0x0d,0xab,0xff,0x67,0xc6, - 0x69,0xb6,0x16,0xf2,0x97,0xd3,0x7b,0xb3,0xbf,0xb2,0x63,0x2d,0xc5,0x8d,0x77,0x2f, - 0xc9,0x65,0x6b,0x57,0x15,0x07,0x69,0x30,0x8c,0x83,0xc4,0x95,0xa4,0xff,0x27,0x6f, - 0x46,0x1b,0x4d,0x5c,0x74,0xe6,0xc2,0x93,0x88,0xa8,0x10,0x16,0xb6,0xc1,0xa3,0x30, - 0xb7,0x9a,0x06,0xb3,0x39,0x50,0x44,0x7c,0xc8,0xfd,0x69,0x13,0xfb,0x41,0x9f,0x31, - 0x00,0xc7,0x34,0x6f,0xc0,0x1e,0xad,0xc1,0xaf,0x99,0xef,0xd5,0xb6,0x47,0x39,0xfe, - 0xc1,0xcf,0xda,0x9a,0x18,0x98,0xf8,0x76,0x70,0x72,0xff,0x0f,0x72,0xff,0x4f,0x0f, - 0x2e,0xc2,0x36,0x71,0x80,0x1e,0xcb,0x47,0xfc,0x63,0x2e,0x0b,0x70,0x84,0x2c,0x8e, - 0x23,0xa2,0x68,0x4e,0xd2,0xff,0xe3,0x52,0x74,0x38,0xa3,0xe1,0x6a,0xb3,0x1a,0x55, - 0xea,0x43,0xfc,0x99,0xc9,0x81,0x68,0x9f,0xe9,0x7f,0xc3,0x41,0x80,0x0f,0x0c,0xd1, - 0x36,0xb9,0xff,0x5d,0x69,0x2e,0xc5,0x74,0x32,0x77,0x38,0x5d,0xb0,0x01,0x05,0x17, - 0xd5,0x89,0x8b,0xbe,0x09,0x65,0xdd,0x36,0x1c,0xe0,0x15,0x67,0x03,0x5e,0xb1,0x25, - 0xf1,0x49,0xda,0x52,0x40,0xa3,0x20,0xbe,0xbc,0x82,0x64,0xa1,0xfe,0x0a,0xf5,0x5c, - 0x5f,0x8e,0x82,0x1a,0x0f,0xce,0x08,0xe5,0x57,0x1a,0x99,0x3a,0x1c,0x28,0xf7,0xdb, - 0xa4,0x89,0xef,0xab,0x0b,0x0b,0xe0,0x31,0x2d,0xbf,0x9f,0x7e,0x8f,0xdc,0x04,0x3f, - 0x42,0x60,0x40,0x57,0x71,0x3c,0xc0,0x66,0x6b,0xb6,0xef,0xf9,0x6f,0x82,0xf5,0xfc, - 0x57,0x0f,0xe3,0x3f,0x34,0x71,0xff,0x4e,0xb8,0x01,0xde,0x61,0x7b,0x75,0xd7,0xa0, - 0xad,0x82,0xbc,0xc6,0x4a,0xf5,0xcc,0x11,0xb9,0x0b,0x7a,0x99,0x47,0x97,0x06,0xe5, - 0x0a,0x72,0x8a,0xed,0x8d,0xbb,0x07,0xe5,0x22,0x8b,0xff,0xa7,0x03,0x3e,0xe0,0x4e, - 0x78,0xbd,0x66,0x10,0x3e,0x48,0x58,0xf7,0xab,0xf9,0xb2,0x00,0x0e,0x86,0xf8,0x79, - 0x34,0x52,0xfd,0x3f,0x69,0x57,0xa0,0x87,0x95,0x86,0xb2,0xce,0x14,0xec,0x67,0x27, - 0x58,0xe9,0x80,0xe3,0x8c,0x78,0x05,0xae,0x46,0x4b,0x07,0xec,0x67,0xc4,0xcf,0xe1, - 0x9f,0x59,0xa9,0x6a,0x5f,0x2e,0x26,0xfd,0x3f,0x9d,0x42,0x13,0x5b,0xdb,0xb1,0x33, - 0x88,0x66,0xbb,0xc4,0x7e,0xbb,0xe5,0xd9,0x38,0x0a,0xa2,0xb7,0xd1,0xb0,0x9a,0x3b, - 0x78,0xd7,0x74,0x1c,0x3c,0x2b,0x7d,0xc1,0xb0,0x2d,0x27,0x16,0xff,0x8f,0xb6,0x4d, - 0x6a,0x55,0x67,0x13,0x5b,0x30,0x1c,0xed,0x4d,0xa7,0xf9,0x7d,0xb6,0x20,0xe9,0x87, - 0x7d,0x90,0x6f,0x64,0xd4,0xe3,0xa0,0x0d,0x66,0x03,0xed,0xf3,0x43,0xd2,0xff,0x93, - 0xfb,0x92,0xc6,0xa4,0xc2,0x72,0x9a,0x87,0xaf,0xd4,0x85,0x62,0x9c,0x82,0xff,0x24, - 0xec,0x91,0x4c,0x0b,0xf7,0x24,0x9a,0x13,0xa8,0xfa,0x81,0xd0,0xc9,0xfd,0xd9,0x39, - 0x63,0x37,0x1a,0x89,0x0b,0xfa,0xb3,0xba,0x51,0x6d,0xb5,0x48,0x5e,0x2d,0x2b,0xe1, - 0xcf,0xf1,0x1a,0x99,0x89,0x81,0xa9,0x71,0x8a,0x2c,0xf2,0xf0,0xa4,0x74,0x29,0x58, - 0xd1,0x6f,0xba,0x7d,0xde,0xa8,0xf6,0x55,0x67,0x71,0xa0,0x78,0x89,0x3c,0x32,0xfe, - 0x87,0x09,0x0d,0x98,0xf4,0x3f,0x08,0xca,0x07,0xf0,0xea,0x96,0xd2,0x7e,0x7b,0x5c, - 0xbc,0x9f,0xeb,0x93,0x26,0xfb,0xe8,0x17,0x87,0xe1,0xa2,0xba,0x98,0x65,0xc5,0x0b, - 0x46,0xf8,0x42,0x19,0x8e,0x41,0x02,0xb5,0x49,0xf9,0xf3,0x40,0xb0,0xd1,0x70,0xc6, - 0x6d,0x9d,0xc4,0x2d,0xfd,0x5a,0x6b,0x67,0xf4,0x39,0xae,0x76,0x59,0x09,0x64,0xea, - 0x7c,0x60,0x94,0xa1,0xfc,0x44,0x8b,0x63,0x12,0xff,0x08,0x6e,0x68,0xb1,0xaf,0x34, - 0xe8,0x7c,0xf2,0x00,0x69,0xa1,0x45,0x9a,0x2d,0x16,0x4e,0xa8,0x69,0xd3,0x71,0x7a, - 0x98,0x3a,0x41,0xde,0x43,0xf4,0xa4,0xfc,0xc9,0xb5,0x67,0xb7,0xa8,0xed,0x88,0x7f, - 0xb2,0x37,0xa1,0x59,0xe1,0x0a,0x16,0x71,0x7f,0xe3,0xde,0x52,0x37,0x37,0xf3,0xb9, - 0xa3,0xbe,0xd0,0x68,0x89,0x85,0xc3,0x49,0xff,0x4f,0xda,0xb7,0xb4,0x13,0x21,0xd3, - 0x88,0xbe,0x7b,0x7a,0x4b,0x7d,0xf9,0x1b,0x59,0x88,0xbe,0xe0,0xa2,0x6b,0xe6,0x19, - 0xdb,0xb3,0xf8,0x9a,0x9f,0x72,0x8b,0xec,0x69,0x91,0x89,0x13,0xd3,0xf5,0x19,0x63, - 0xd2,0xd5,0xf2,0x79,0xc6,0xa6,0x61,0xf1,0xe1,0xd6,0xab,0xa1,0xb2,0x93,0x8f,0x72, - 0xb5,0x75,0x49,0xf5,0xbd,0x29,0x0f,0x0b,0x63,0x60,0xea,0x77,0x5d,0xac,0x9b,0x36, - 0x89,0x37,0xd2,0x2e,0xe2,0xfe,0x59,0xa8,0xdb,0x8f,0xe5,0x94,0xd1,0xab,0x4a,0x29, - 0xd8,0x07,0x39,0x50,0x64,0x55,0x47,0xed,0x7d,0x05,0x5e,0x18,0xa3,0x0b,0xa3,0xf6, - 0x11,0x71,0x78,0x52,0xfe,0x30,0xe5,0x23,0x44,0x83,0x4e,0x9d,0x12,0x34,0x8b,0x9e, - 0xd7,0x9c,0x40,0x55,0x34,0x04,0x5a,0xd8,0xbc,0xe1,0x00,0x02,0x21,0xb5,0xbb,0xda, - 0x19,0x40,0x20,0x14,0x9f,0xfc,0xbe,0x34,0xcd,0x80,0x06,0xa9,0xd0,0xd8,0x60,0x9b, - 0x53,0x0b,0x3b,0x57,0xaa,0x52,0x86,0x8a,0x66,0xbe,0x88,0x78,0xd8,0x16,0xdb,0x92, - 0x05,0xb1,0xce,0x42,0x83,0x7a,0xc3,0x47,0x2d,0xf8,0xe7,0xdf,0x64,0xbc,0x7f,0xbb, - 0x8d,0xda,0x56,0xe3,0x6a,0x38,0xdf,0xcd,0xc0,0x0f,0x61,0xc2,0x06,0x1b,0x47,0x98, - 0x5d,0x61,0x67,0xfc,0x86,0x58,0x0a,0xfe,0x39,0x01,0x2f,0xf4,0x2e,0xd0,0x4b,0xb6, - 0x89,0xdf,0xd4,0x2e,0x11,0x6f,0x7d,0x66,0xa7,0xec,0x26,0x27,0xf0,0x98,0x64,0xed, - 0x6b,0x2c,0xd1,0x2e,0xb2,0x32,0xc0,0xa5,0x4b,0xe2,0xff,0xb8,0xf0,0x1c,0x2e,0xc2, - 0xcd,0x2c,0xb3,0x3f,0x67,0x1f,0xa2,0x9d,0x5f,0x6a,0x25,0x3c,0xcc,0xc7,0x97,0x25, - 0xd3,0xcf,0x1d,0x83,0xb0,0x98,0xe3,0x43,0xab,0xff,0xa7,0x13,0xfe,0x18,0xf4,0x32, - 0x94,0x36,0x73,0xe0,0x8f,0xa4,0x82,0x1f,0x43,0x37,0xf0,0xfb,0x3b,0x8e,0xa0,0xfc, - 0xb9,0xa8,0x54,0xc4,0x37,0x76,0x21,0x3e,0x9c,0xd8,0xff,0x7d,0x69,0xc5,0xd0,0x12, - 0x46,0xf9,0xc3,0xc4,0xbf,0x87,0x4d,0xe0,0xac,0x96,0x75,0x5c,0x9f,0x13,0x50,0x7c, - 0xb4,0x31,0x46,0x8a,0x43,0x87,0xc1,0x19,0xca,0x3a,0x42,0xce,0x5b,0xf0,0xcf,0xd2, - 0x17,0xf6,0xc6,0x75,0x9d,0xaa,0xd9,0xb7,0xc3,0x4e,0xe2,0xe2,0xde,0x42,0x0e,0xa4, - 0xdd,0x71,0xdb,0x02,0x94,0x3f,0x7b,0xfb,0x5c,0x11,0xdb,0x82,0xec,0x64,0xfc,0x2b, - 0x24,0xcc,0x62,0xff,0x1a,0xcd,0xd7,0x5d,0xdf,0x22,0x5f,0x85,0xc6,0x68,0x7e,0x08, - 0xb5,0xff,0x2c,0x04,0x06,0x08,0x03,0xd6,0x64,0x67,0xc3,0xb3,0xd1,0x15,0x67,0x11, - 0x11,0x9d,0xb1,0xc4,0xbf,0xec,0xf0,0x69,0xdc,0xb3,0x2e,0xe0,0x91,0x43,0x88,0x76, - 0xca,0x99,0x63,0x8e,0xec,0xf6,0x6f,0x8d,0x55,0xf6,0xa1,0x22,0xb3,0xc3,0x25,0xbd, - 0xdb,0xc8,0xf2,0x88,0x96,0xf8,0xd7,0x4d,0xdb,0xa3,0x1f,0xc3,0xe2,0x06,0x5c,0x84, - 0x0b,0xf0,0xb1,0xe6,0xe3,0x68,0x70,0x4c,0x33,0xb7,0xcd,0xf0,0xf8,0x42,0xe1,0xf9, - 0xb2,0xe2,0x9f,0x21,0x78,0x81,0x3b,0xa5,0x63,0xd3,0xe6,0xc0,0x5b,0xda,0x42,0xd5, - 0xae,0x8b,0x1f,0x86,0x70,0x7d,0x5e,0xb2,0x77,0x8b,0x6e,0xd2,0x22,0xa0,0x61,0x1e, - 0x2b,0xb0,0xe2,0x9f,0xed,0xb0,0x0e,0x76,0x80,0x1c,0x14,0x17,0xc0,0xfa,0xc2,0xb9, - 0x9a,0xbd,0x1e,0xb7,0xfd,0x7a,0x14,0x0b,0xa6,0x45,0xb9,0x11,0x0d,0x4c,0xb9,0xde, - 0x69,0xf5,0xff,0xfc,0x2b,0x97,0xae,0xba,0x7c,0x86,0xfc,0x58,0xda,0xba,0x65,0xb6, - 0x27,0xa3,0x2e,0xfd,0x1d,0xc0,0xf7,0x7d,0x9f,0xae,0xb1,0xcd,0x82,0xf5,0x47,0x9f, - 0x54,0x11,0x11,0x0d,0xa7,0xe0,0x9f,0xad,0x2b,0xd4,0x98,0x1c,0x25,0x12,0x6e,0x1b, - 0x57,0xd0,0xf5,0xb8,0xf3,0x24,0x77,0xab,0x1a,0x79,0x92,0xd3,0xa9,0xb5,0x18,0x73, - 0x1e,0x42,0x44,0x6d,0xf5,0xff,0x1c,0x22,0xaf,0xc3,0xc2,0xe8,0xa6,0xb8,0xd8,0x0d, - 0x6f,0xc2,0x42,0x3d,0x73,0x40,0x1c,0x44,0x7b,0xd7,0xd7,0x30,0xb3,0x53,0x74,0xa1, - 0x7d,0xb4,0x70,0xd7,0x32,0x3d,0x05,0xff,0x9c,0xe5,0x41,0xae,0xeb,0x36,0x45,0x96, - 0xb4,0x73,0xb7,0x0f,0xcd,0x62,0x8d,0xdc,0xff,0xf3,0x30,0xcc,0x5b,0xdb,0xf8,0x7b, - 0x09,0xb5,0x86,0xe2,0x68,0x4a,0xc1,0x3f,0x03,0xa8,0xc4,0x2b,0x42,0x59,0x51,0xf1, - 0x9b,0xe3,0xfe,0x9f,0x82,0x42,0x44,0xd4,0xbe,0x6f,0x65,0x6e,0x17,0xcf,0x71,0xfd, - 0x18,0xb2,0xff,0x44,0x24,0x96,0xf8,0xd7,0x1d,0xe1,0x66,0x41,0x7d,0x88,0x46,0x71, - 0xff,0x1c,0x24,0xdc,0xed,0x30,0x1e,0xf6,0xa2,0x4f,0x90,0x3f,0xf0,0xf8,0x4b,0x2d, - 0xdd,0x46,0x54,0x0b,0xfe,0x29,0x14,0x9a,0xd5,0xa2,0x5a,0x5b,0xd4,0xe6,0xae,0xdd, - 0x05,0xe3,0x8e,0x23,0x3e,0x3f,0xa3,0x3f,0xfb,0x82,0xd6,0xcc,0x10,0xf8,0x45,0x49, - 0xba,0xd5,0xff,0x23,0x70,0x6f,0x06,0xcd,0x25,0x5f,0x84,0x3d,0x9a,0x1e,0x94,0x73, - 0x11,0x26,0x35,0x00,0xc2,0xa4,0xfb,0xc8,0x6f,0xa1,0xa1,0x5a,0x0d,0xe2,0xaf,0x88, - 0x15,0xff,0xa0,0xb6,0xad,0x80,0x7b,0x10,0x6f,0xd0,0x41,0xc1,0x03,0x9b,0x12,0xfa, - 0xd7,0x07,0x8f,0x32,0xdc,0xf6,0x7d,0xe9,0x5e,0xe6,0xd6,0xe5,0x2c,0x0b,0xfe,0x39, - 0x0d,0xbf,0x44,0xc1,0x30,0x2d,0x88,0xfb,0x67,0x54,0xab,0x0a,0x6e,0xea,0x17,0xdf, - 0xe3,0xfa,0x2b,0x38,0x4f,0x41,0xfd,0x7e,0x19,0xaf,0xa0,0xc6,0xb7,0xc6,0xbf,0x4e, - 0xc3,0xcb,0x68,0x94,0x2d,0xdb,0x57,0x50,0x09,0x6f,0x40,0x59,0x70,0xbb,0x82,0xf3, - 0x8f,0xe1,0x15,0x7b,0xbf,0x78,0x41,0xfb,0x65,0x60,0x6f,0x00,0x07,0xe9,0xc9,0xf8, - 0x97,0x12,0x87,0x88,0x50,0x02,0x32,0x23,0x21,0x36,0xa8,0x3a,0x21,0x2f,0x4c,0xce, - 0x9a,0xfe,0xa8,0x48,0x18,0x05,0x63,0x2c,0xdf,0x69,0xa3,0x61,0x92,0x65,0x91,0x3f, - 0x27,0xcd,0xb7,0x6b,0xc9,0x26,0xb5,0xae,0x3d,0x81,0xc2,0x60,0x44,0x09,0xbf,0xc8, - 0xf0,0x4a,0x90,0x2a,0x5b,0x7a,0xd9,0x1e,0x15,0xdf,0x57,0x69,0xb7,0xf8,0x7f,0x66, - 0xf0,0xf8,0x57,0x49,0x00,0x97,0x65,0x95,0xb2,0x8b,0x38,0xfd,0x94,0x8b,0x71,0xbe, - 0x9e,0x45,0x6d,0xe4,0x43,0x5c,0x31,0x04,0x96,0x31,0x92,0x6e,0x89,0x7f,0xbd,0x04, - 0xc7,0x54,0xdf,0xf2,0x65,0xdb,0xe4,0x39,0x4d,0x6f,0x90,0xb2,0x7a,0x8a,0xc0,0x86, - 0x1c,0x9b,0xe6,0xab,0xb6,0x6f,0xc3,0xef,0x3b,0xca,0xbc,0x41,0x77,0x54,0x74,0x49, - 0x49,0xfd,0xdb,0xe1,0x1f,0xe5,0xfe,0x9f,0x9f,0x14,0x3c,0x0d,0x67,0xa5,0xca,0xc0, - 0xbc,0x36,0xb1,0x17,0xd7,0xa7,0x52,0xcb,0x7c,0x3c,0x67,0x80,0x8d,0x2a,0xbe,0x7a, - 0x47,0x54,0xfe,0xc0,0x82,0x7f,0x54,0xc4,0x3f,0xb8,0xa9,0x98,0xac,0x33,0xbe,0xec, - 0x1c,0x08,0xf1,0xf5,0x97,0x32,0xd7,0xf3,0x88,0xa4,0x56,0x01,0xf6,0x70,0x4a,0xfc, - 0xeb,0x36,0x65,0x63,0x4f,0x41,0x58,0xd6,0xb3,0x2b,0x60,0x43,0x5a,0x09,0x77,0x04, - 0xd5,0x21,0xec,0x29,0xd1,0xe9,0x00,0xa9,0x70,0x6e,0x84,0x82,0x68,0x60,0xc0,0x1a, - 0xff,0x4a,0x5b,0xaa,0x6e,0xd5,0x5d,0x2b,0x51,0x3b,0x6f,0x32,0x8f,0x09,0x9a,0xa5, - 0x1c,0xff,0xb8,0x43,0x19,0xe5,0xdc,0x50,0x65,0x45,0xaf,0xb8,0xf6,0x58,0xfc,0x3f, - 0xba,0x50,0x09,0x9b,0x8c,0x7c,0x43,0x7e,0x30,0x6b,0x96,0xfa,0xb4,0x9a,0xd9,0x47, - 0x2f,0x92,0x93,0x8c,0x9f,0xdf,0xc8,0xf2,0xec,0x1b,0x10,0xff,0xac,0x60,0x78,0x90, - 0x93,0xf1,0xaf,0x4e,0x3a,0x0b,0x7e,0xc3,0xe6,0xaa,0xcb,0x2e,0xca,0x47,0xc8,0xcb, - 0xd1,0xaa,0x61,0xfb,0xc3,0xe2,0xbf,0x92,0x97,0xd9,0xe2,0x78,0xda,0x08,0x1a,0xda, - 0x2f,0xb3,0xc3,0xdc,0x11,0x64,0x89,0x7f,0xdd,0xb4,0x7b,0x3a,0x1a,0x4d,0x82,0x63, - 0x3f,0xee,0x9f,0xb7,0x34,0xdf,0xd1,0x79,0xfb,0xc5,0xef,0xe8,0xdc,0x8c,0x5a,0x16, - 0x35,0x15,0x3d,0x22,0xa2,0x98,0x15,0xff,0xcc,0xf8,0x48,0x7b,0x99,0xc3,0xaa,0xb1, - 0x02,0x1f,0x5c,0x8d,0x94,0xc6,0xed,0x63,0xa2,0x0f,0x4e,0x44,0xab,0xe2,0x68,0xbf, - 0xe3,0x15,0x56,0x1a,0x9f,0x36,0x6a,0xc5,0x3f,0xd3,0x9f,0xd0,0xd6,0x43,0x3e,0x3e, - 0x64,0x58,0x41,0xb3,0x34,0x9f,0x8b,0x9d,0x99,0x08,0xf3,0x8a,0x0d,0xd7,0x77,0x49, - 0x1e,0xec,0xc9,0xcb,0x8f,0xc8,0x67,0xc9,0x33,0x96,0xf8,0xd7,0x76,0xb6,0x5e,0xd9, - 0xc9,0x10,0xed,0xe4,0xa9,0x07,0x60,0x47,0x2f,0x7d,0x30,0x3c,0x13,0xd6,0xab,0xc5, - 0xbd,0xb6,0x7a,0xa2,0xa0,0xbd,0xb6,0x83,0x2d,0xd1,0x88,0x05,0xff,0x48,0x27,0xa5, - 0x46,0xaa,0xea,0xb8,0x8c,0x22,0xd7,0x5f,0x7c,0x3d,0xed,0xe6,0xc2,0xda,0x2a,0x89, - 0x8c,0xf8,0x41,0xcd,0xe5,0xc0,0x3d,0x89,0x7f,0xd2,0x4a,0x5a,0x99,0xd3,0x5b,0x9e, - 0x39,0x2c,0x17,0xa2,0x74,0x2d,0x7d,0xcd,0x35,0x22,0x57,0x9a,0xfa,0xcb,0x76,0xb0, - 0xb1,0x58,0xbd,0xa4,0x74,0xf5,0x2f,0xd3,0x6b,0x2c,0xf8,0x47,0x8b,0xab,0xb8,0x1a, - 0xca,0xb2,0x58,0xcd,0x7b,0x0c,0x07,0x7d,0x8e,0x2e,0x93,0x8f,0x51,0x69,0xdc,0xd9, - 0x26,0x7e,0x88,0xe6,0xb1,0x2f,0xb2,0x6c,0x9f,0x15,0xff,0xc0,0x15,0xed,0x14,0x1c, - 0x76,0x2e,0x1b,0x46,0x79,0x8b,0xf7,0x37,0xec,0xc3,0xa8,0xdf,0xd1,0xde,0xef,0xc5, - 0x63,0x35,0xa6,0x5e,0x62,0xa5,0x5c,0xb0,0x27,0xe3,0x5f,0x0d,0xb9,0xcb,0x48,0x4b, - 0x1c,0x41,0x4b,0x8c,0xdc,0x82,0x30,0xc6,0x7c,0x7e,0xb7,0x89,0x67,0x02,0xdb,0xc8, - 0x47,0xb0,0xed,0x8c,0x53,0x97,0x9f,0x4b,0xf1,0xff,0xb8,0xd5,0x16,0x56,0xd4,0xb6, - 0xc4,0x73,0x97,0xb3,0xd0,0x7c,0x5f,0x54,0xd3,0x94,0xcf,0x47,0xe0,0xf4,0x01,0xfe, - 0x61,0xbb,0x53,0xee,0x4c,0x89,0x7f,0xd9,0xa1,0x45,0x41,0xeb,0xc5,0x83,0x8b,0x56, - 0x0a,0x3a,0x9f,0x6f,0xa7,0xdc,0x2c,0x75,0x79,0x88,0xa1,0x44,0xa7,0xab,0x20,0x83, - 0xc5,0xfe,0x82,0xcc,0xd5,0x4d,0x27,0x48,0x05,0x73,0xd4,0xa3,0xd8,0xb9,0x0a,0xf3, - 0x7b,0x66,0xd6,0x8b,0x33,0x11,0xe6,0xf9,0x0c,0x34,0x2b,0xe2,0xf8,0xe2,0x68,0xb1, - 0x32,0x4b,0xfc,0x4b,0xcf,0x7c,0xbb,0xfa,0x6a,0xfe,0xad,0xcc,0x31,0x9c,0x33,0x0c, - 0x49,0xb5,0x55,0x5e,0xd5,0xe3,0xd0,0x50,0x5e,0xbd,0xad,0x3e,0xcf,0xfd,0xf3,0x16, - 0xff,0x4f,0xda,0x79,0x38,0xc1,0x6e,0x0d,0xe1,0xc5,0x4a,0xe8,0x5f,0x7b,0xeb,0x8a, - 0xcc,0x11,0xf1,0x7b,0x26,0xfe,0xc9,0x1c,0x15,0x3d,0x70,0x12,0x72,0x00,0x17,0x2a, - 0xc9,0xff,0xe1,0xf8,0xe7,0x04,0xf7,0xcf,0x47,0xc8,0x1c,0xf2,0x06,0x6b,0x0f,0xd1, - 0x6e,0x7f,0x09,0x69,0x69,0x9a,0x37,0x8c,0x2f,0xe2,0x24,0x11,0xe6,0x54,0xb9,0x7c, - 0x4e,0xca,0x9f,0xdb,0xe3,0xb4,0x05,0x0a,0xf9,0x4b,0xb9,0x21,0x06,0x85,0x5a,0x86, - 0x87,0xac,0x36,0xf7,0x43,0x86,0x17,0xc1,0x13,0xc3,0x8d,0x83,0xc0,0x2f,0x29,0x7f, - 0x8c,0xe9,0xee,0xd0,0x4f,0x5b,0x9d,0xa1,0x25,0x08,0x03,0xa4,0x6d,0xac,0x48,0x0b, - 0xc4,0x48,0x91,0x8a,0xf8,0xa7,0x87,0x7a,0x6c,0x3a,0x44,0x5c,0x4e,0xe2,0x8a,0x12, - 0x8f,0x25,0xfe,0xd5,0x00,0xc7,0x8e,0x96,0x3d,0x34,0x6d,0x83,0xec,0x66,0x67,0xf4, - 0x32,0x2d,0xd3,0x23,0xfe,0x03,0x2c,0x01,0x5f,0x4f,0x66,0x6c,0x5a,0xa1,0x76,0x02, - 0xba,0xfa,0xdd,0xcf,0xb6,0x80,0x25,0xfe,0xb5,0x0f,0xc5,0xd8,0x0f,0x35,0xc7,0x9d, - 0xe2,0x80,0x76,0x19,0x16,0x6a,0x49,0xb5,0x3e,0x2c,0x7e,0x93,0x5e,0x0a,0xfb,0x06, - 0x70,0xa9,0xad,0xf8,0xa7,0x1d,0xde,0xf7,0x57,0x2c,0xb5,0xb3,0x9c,0x0f,0xc9,0x19, - 0xa1,0x4c,0x2b,0x8e,0xd5,0x7c,0x68,0xee,0x37,0x3c,0x86,0x2f,0xc2,0xaf,0x35,0x4f, - 0x7f,0xeb,0x9e,0x69,0xb1,0x24,0xff,0x47,0x9a,0x8d,0x68,0xdf,0x19,0x72,0x3d,0x49, - 0x5e,0x86,0xfe,0x7e,0xd5,0xa0,0xdd,0xe1,0x93,0xf0,0x53,0xf8,0x87,0x1e,0x04,0xae, - 0x1f,0xa9,0x2d,0x41,0xbe,0x43,0x6a,0xba,0x92,0xf8,0x47,0xd2,0xd4,0x1d,0x50,0x57, - 0x6f,0x13,0xc8,0x29,0x95,0xb1,0xc2,0x6a,0xdc,0x6f,0x27,0x25,0xd3,0x4d,0xe1,0x21, - 0x7d,0x84,0xe1,0xd2,0xa1,0x29,0xd1,0x6d,0xc1,0x3f,0x37,0x48,0xbf,0xd4,0xf3,0x07, - 0x6c,0x01,0xff,0xeb,0x6a,0x2b,0xcb,0xff,0xbf,0x38,0xed,0x07,0x1e,0xd3,0x8b,0xe3, - 0x08,0x7b,0xde,0xd4,0x9a,0xd8,0x6c,0x95,0x7e,0x2d,0x7d,0x9b,0xc5,0xff,0x53,0xab, - 0xbd,0xaf,0x97,0x1b,0x25,0xa2,0x78,0x92,0xb0,0xd6,0x05,0x2a,0xe7,0xff,0x68,0x9f, - 0x32,0x77,0xdc,0x31,0x5f,0x3c,0x06,0xdc,0x94,0x71,0xdf,0xf0,0xe5,0x2d,0x16,0xfc, - 0xf3,0x1c,0x8c,0x28,0x55,0xc6,0xdd,0x67,0xff,0x6a,0x8c,0xeb,0x77,0xcd,0xf1,0x09, - 0xe2,0x9f,0x1f,0x22,0x9e,0x19,0x5f,0xa8,0x45,0xbd,0x38,0xb0,0xe0,0x9f,0x19,0x83, - 0x3a,0x5a,0xaf,0x3d,0x25,0x86,0x70,0x92,0xfb,0xe7,0xb5,0xcc,0x98,0x60,0xc6,0xa3, - 0x2f,0xba,0xb9,0x3d,0xf2,0x16,0x74,0x71,0xe8,0x6e,0xc5,0x3f,0xdb,0xe0,0x59,0xa1, - 0xc0,0xa0,0x21,0xe7,0x69,0xe9,0x25,0x72,0xab,0x46,0xeb,0xfd,0x6f,0xdb,0x0f,0x40, - 0x71,0x1f,0x0a,0xa2,0x33,0x74,0x1d,0x17,0x4d,0x41,0x2b,0xfe,0xd1,0x9e,0xa8,0xfd, - 0x25,0x9b,0xfb,0xc9,0x92,0xa5,0x2b,0xdf,0x44,0x51,0x34,0x57,0xc5,0xf7,0xfd,0x1d, - 0x1c,0x58,0xe7,0xe6,0x61,0xaf,0x97,0xa1,0x81,0xa9,0x21,0x3a,0x05,0xff,0xd0,0x3d, - 0x7b,0xd4,0xe1,0xb9,0xbe,0xec,0x93,0x8c,0x35,0xb9,0x07,0xf0,0x58,0x9d,0x32,0xdd, - 0x3e,0x7c,0x61,0x49,0x63,0x54,0x1d,0x70,0xe5,0xaf,0xb3,0xe0,0x9f,0xb4,0x67,0xd8, - 0xe7,0x64,0x11,0xbb,0x79,0xb5,0x78,0x89,0x7d,0x4d,0xff,0x27,0xdd,0xae,0x4f,0xbb, - 0x64,0xba,0x7d,0xec,0x3a,0x19,0x85,0x53,0x5a,0x69,0xd4,0x3e,0x64,0xc5,0x3f,0x42, - 0xc2,0xc9,0x53,0x92,0xa0,0xc1,0xfc,0xa3,0xf2,0x00,0x0e,0xca,0xc7,0xdd,0x3e,0x06, - 0x0c,0x52,0x1f,0x49,0xf5,0xff,0x00,0xda,0xfb,0x30,0x67,0xa5,0x1a,0x9d,0x56,0x08, - 0x19,0x1d,0x5e,0x04,0x42,0x66,0xe0,0xe3,0x11,0x1e,0x08,0x2b,0x54,0x7b,0xc0,0x33, - 0xc5,0xff,0x03,0xab,0xe1,0x60,0x9a,0xaa,0xd1,0xcd,0xe2,0x1d,0x91,0x06,0xc3,0xb5, - 0x26,0xd0,0xc6,0xf9,0x27,0x68,0xdf,0x21,0x10,0x9a,0x8d,0xf8,0xa7,0x3d,0xe8,0x6a, - 0x43,0xc5,0x37,0x89,0x7f,0xa4,0x0e,0xe1,0x20,0x94,0x20,0xfe,0x21,0x85,0xe1,0x5d, - 0x9a,0xb3,0xd7,0xd6,0xe6,0xc4,0xf9,0xa8,0xaf,0x97,0x28,0xa4,0x30,0x1f,0xa1,0x8e, - 0x7f,0x8a,0xff,0x27,0x3d,0xe3,0x20,0xc2,0xc2,0x1b,0xa2,0x36,0x09,0x76,0x91,0x22, - 0x6d,0x39,0xe7,0xff,0xec,0x01,0x97,0x26,0xe7,0xda,0x24,0xa1,0x81,0xf3,0xcd,0x14, - 0x92,0xb4,0xbf,0xca,0x33,0xe2,0x0a,0x7f,0xbb,0x8d,0x3a,0x82,0xae,0x41,0xe0,0x8e, - 0x20,0x31,0x4e,0x47,0x10,0x6f,0x2c,0x4b,0x28,0x62,0xd3,0x11,0x61,0x89,0x7f,0xdd, - 0x34,0x20,0x7d,0x86,0xc7,0xea,0xee,0xd3,0xe2,0x67,0xe4,0xdf,0xc9,0x62,0xee,0xd6, - 0xf8,0xcc,0xc4,0x3f,0x0e,0x3e,0xb8,0xec,0x47,0xfc,0x73,0xda,0x12,0xff,0xca,0x9b, - 0xce,0x57,0xe3,0xb6,0xa0,0xfd,0x35,0x71,0x01,0xfb,0x90,0x7b,0xa7,0xfb,0x4d,0x37, - 0xc8,0x0f,0xee,0xb2,0x73,0x7f,0xc8,0xb1,0x0c,0xaf,0xdf,0xb1,0xa5,0xe6,0x5c,0x12, - 0xff,0x00,0x67,0xfb,0x38,0x23,0xae,0x26,0x51,0xa5,0x9d,0x60,0x02,0x21,0x7e,0xa5, - 0x44,0xb1,0x11,0x72,0xf6,0xde,0x08,0x38,0x15,0x79,0xc0,0x7f,0x6a,0x72,0xfd,0x21, - 0xad,0x17,0x57,0xc3,0x15,0xa0,0xd7,0x93,0x6f,0xd0,0x7c,0x04,0x42,0x37,0x2a,0xe4, - 0x45,0xee,0x81,0xd7,0x6e,0x50,0x8e,0xbe,0x2e,0xac,0x65,0xf9,0xa1,0x96,0x2f,0xa5, - 0x27,0xed,0xaf,0xbc,0xe9,0x1d,0x26,0xdb,0x8a,0x6e,0xc9,0xfe,0x7b,0xd8,0x95,0x5f, - 0x72,0x47,0x0b,0xe2,0x9f,0xd0,0x41,0xa1,0x44,0xb3,0x45,0xfd,0xe7,0x10,0xf4,0xed, - 0xd4,0x10,0x8a,0x5b,0xf8,0x3f,0x52,0x87,0x7a,0x10,0x2a,0x78,0x34,0xf3,0xef,0x61, - 0xae,0x6a,0xb2,0x77,0xfe,0xc0,0xdf,0x57,0xdb,0x18,0xe5,0x40,0xae,0xd6,0x1b,0x74, - 0x6c,0x9f,0x96,0xe4,0xff,0x3c,0x63,0xee,0x07,0x1f,0x0f,0x72,0x75,0x28,0xa3,0x09, - 0xf6,0xd7,0x39,0x73,0xfe,0xcd,0x51,0xb1,0x97,0xe2,0xe0,0x4e,0x47,0x34,0xe7,0x03, - 0x65,0xe2,0xfe,0x2e,0xd8,0x69,0x7a,0x17,0xed,0x0d,0x35,0x3a,0x19,0x01,0xef,0xf4, - 0x4c,0x96,0x73,0x16,0x46,0xd0,0x54,0xb8,0x99,0x89,0x21,0x34,0x0f,0xbc,0xd0,0xda, - 0x2b,0xdb,0x2c,0xf1,0x2f,0x17,0xbc,0x0b,0xf3,0xba,0xe9,0x80,0xff,0x4d,0xf6,0x0e, - 0x2c,0x8c,0x51,0xee,0xd8,0x3c,0x24,0x94,0x34,0x88,0xfa,0xdf,0xba,0xc8,0x06,0x70, - 0xea,0x7d,0x29,0xfe,0x9f,0xb5,0x4b,0xf1,0x74,0x94,0xbc,0x46,0xf3,0xc2,0x11,0x12, - 0x95,0x0a,0x5f,0xcb,0x80,0x30,0x37,0xc3,0xeb,0x78,0x84,0x62,0x29,0x6c,0x0d,0xab, - 0x67,0xf3,0x5c,0xe4,0xae,0x64,0xfc,0x4b,0x98,0x09,0x4f,0xc3,0x77,0xb4,0xbc,0x20, - 0x9e,0xa6,0x1f,0x47,0x66,0x0f,0x67,0x68,0xeb,0xde,0x4e,0xb8,0x6d,0x7f,0x40,0x72, - 0xe1,0xc7,0xfe,0xd0,0xbb,0x2e,0x37,0xa9,0x4b,0xde,0x1f,0x66,0xa9,0x7f,0x42,0xb4, - 0xe3,0x5e,0x9e,0xf3,0x04,0x39,0xcd,0x6e,0x8d,0x67,0x06,0x84,0x77,0x80,0x5f,0xf9, - 0xe2,0xc3,0xe2,0x5d,0xf0,0x6b,0xb6,0x47,0xb7,0xaf,0x91,0xbf,0x3d,0xf1,0xb5,0x80, - 0x5e,0xbf,0x0b,0xd5,0xfa,0x2c,0x1e,0xe4,0x1a,0x22,0xfd,0x28,0x66,0xb3,0xd8,0x04, - 0xbf,0x65,0x7f,0x63,0x3c,0xe1,0x11,0x8a,0x89,0xe1,0xeb,0x26,0xd6,0x47,0x4b,0xfb, - 0x40,0xbb,0x1a,0x5d,0xc4,0x41,0xd4,0x5d,0x5a,0xdb,0x8f,0x0e,0x7e,0x68,0x5f,0x9e, - 0xe3,0xd3,0x5e,0x65,0xf3,0x06,0x1c,0xdd,0xe2,0x15,0x78,0x85,0x55,0x85,0x96,0x06, - 0x44,0xc5,0x8a,0x7f,0xd8,0x81,0x1d,0xf9,0xbd,0x9d,0x0f,0x6e,0x98,0xc5,0x3a,0x3a, - 0xf4,0xa1,0xcc,0x20,0x99,0xa9,0x35,0x42,0xf9,0x80,0x7c,0x49,0xb8,0x4f,0x6b,0xe2, - 0x81,0x60,0x4a,0xac,0xfe,0x96,0x6d,0xc6,0xf3,0xca,0x3c,0xd3,0x3a,0xd3,0x3a,0xc4, - 0x2f,0x18,0x11,0x8d,0xdc,0x6f,0x5b,0x0f,0xc5,0x27,0x5b,0x1e,0x42,0x33,0x66,0x6d, - 0xd0,0x0d,0xf4,0x4c,0x76,0xad,0x32,0xb1,0xfe,0xa1,0xdc,0x63,0xb0,0xb7,0x7a,0xce, - 0x99,0x3b,0xdd,0x68,0xbd,0xea,0x01,0xbd,0x3f,0x03,0xfc,0xcb,0xd8,0x56,0xc1,0xc5, - 0x03,0x19,0x1a,0xde,0x0e,0xe7,0xcf,0xc8,0xfe,0xdb,0x49,0xfe,0x8f,0x6b,0xc6,0x6e, - 0xf8,0xd4,0xef,0x1b,0xc1,0xdd,0xee,0x56,0x77,0xb1,0xf2,0x38,0xca,0x9f,0xbb,0xd9, - 0x09,0x62,0xfa,0xdb,0x51,0xd5,0x36,0xf8,0xe2,0xbb,0x3b,0xe5,0xbb,0x2c,0xcf,0x73, - 0x4e,0xbd,0xa4,0x56,0x44,0xd1,0x9e,0xda,0xed,0x1c,0x0c,0x96,0xf5,0x3a,0xd8,0xb4, - 0xdd,0x3c,0x0c,0x61,0x6c,0x8a,0xc9,0x4f,0x91,0xf3,0xac,0xf2,0x5d,0xb4,0xd0,0x3b, - 0x92,0xf8,0x27,0x38,0x26,0x5d,0x85,0x85,0x3d,0xf6,0x60,0x63,0x25,0x6c,0x97,0x16, - 0xbe,0x90,0x19,0x17,0x87,0xe8,0xab,0x09,0x7d,0x97,0x07,0xbf,0x83,0x52,0x84,0x82, - 0x8d,0x49,0x7d,0xdd,0x83,0xff,0x12,0xc2,0x9e,0x6e,0x54,0xe2,0xd3,0xc0,0x68,0x2f, - 0x8b,0x67,0x36,0x91,0xf1,0xb0,0x45,0x0c,0x25,0xc0,0x06,0x68,0x67,0x9d,0x31,0xbf, - 0x9a,0xc4,0x3f,0x28,0x39,0x0e,0xc3,0x9c,0x38,0xed,0x26,0x25,0xea,0xc1,0x86,0x39, - 0xef,0xd2,0x86,0x75,0x13,0xf3,0x9d,0xee,0xf4,0x66,0xc1,0xa9,0x6d,0x60,0xf8,0x87, - 0x13,0xfb,0x81,0xd6,0x4a,0x70,0xd8,0xc5,0xe3,0x83,0x15,0xf6,0xb9,0x9d,0x50,0x78, - 0x26,0x03,0xc8,0x50,0xc6,0x4e,0x6d,0xf5,0xb1,0x46,0x2f,0x48,0x78,0x3b,0x55,0xbb, - 0x8b,0x84,0x93,0xf6,0x17,0xd0,0x3a,0x38,0x1c,0xe2,0x4e,0xb0,0x02,0x37,0x1b,0xf1, - 0x96,0x6d,0x73,0x33,0xc4,0x7b,0xa6,0xff,0xe1,0x7c,0x83,0x8b,0xbe,0x41,0xbc,0x90, - 0xf5,0x98,0xa8,0x26,0xf1,0xcf,0xf5,0x7b,0xe0,0x53,0xf7,0x4d,0x46,0xa6,0x21,0x8e, - 0x91,0xbe,0x90,0x4f,0x5a,0x66,0xd4,0x8c,0xc1,0xef,0x54,0xdf,0xaf,0xef,0x1e,0x46, - 0xfc,0x33,0x06,0x55,0xf0,0xe8,0x96,0xaf,0xa7,0xe0,0x1f,0xf2,0x62,0xf8,0x56,0xdd, - 0x7e,0x52,0x2c,0xaf,0x3d,0xe9,0x2c,0xa5,0x76,0x43,0xac,0x8f,0xbe,0x0a,0x0b,0x25, - 0x77,0xbf,0x58,0x0f,0xbf,0x25,0x0b,0xb9,0xff,0xc4,0xc2,0x7f,0x46,0xfc,0x13,0x69, - 0x72,0xee,0xb0,0x83,0xdf,0x05,0xcd,0x01,0xe7,0xbd,0xf6,0xa6,0xc6,0xc2,0xd0,0xa6, - 0x7e,0x67,0x1e,0xdd,0x4e,0x0a,0xa4,0x66,0xad,0x88,0x04,0xba,0x1a,0xeb,0x27,0xe3, - 0xef,0x7d,0x69,0x71,0xd8,0x05,0x85,0x46,0xc6,0x16,0xe2,0x62,0x7a,0xa8,0xee,0xfa, - 0x8c,0x1c,0xc2,0x58,0xa3,0x34,0x67,0x39,0x9a,0x99,0x19,0xb0,0xa3,0xb2,0x30,0xc3, - 0xe5,0x22,0x16,0xfe,0xf3,0x8c,0xdd,0x0d,0xbb,0x98,0x53,0x77,0x75,0xa3,0x19,0xbb, - 0x8b,0xb5,0xeb,0x78,0xdb,0x12,0x4e,0xb4,0x0e,0xd1,0x6d,0xd9,0x2e,0x75,0x57,0xa4, - 0x48,0xdf,0xd6,0x45,0xea,0x93,0xf8,0x04,0xe5,0xe7,0xd9,0x9e,0x32,0x3d,0xd3,0xde, - 0xe8,0x0a,0x0f,0xc6,0x2b,0xe6,0x66,0xb6,0xd6,0x38,0xd5,0x17,0xa0,0x2c,0x2e,0xc5, - 0xc4,0x02,0xff,0x1f,0x59,0x59,0x97,0x3d,0x96,0x93,0xc2,0x7f,0xce,0x7d,0x47,0xa8, - 0x62,0x0e,0x5c,0x16,0xed,0x1d,0x5c,0x0d,0x47,0x50,0xee,0x57,0x2f,0x49,0x55,0x3c, - 0xbe,0x3c,0x02,0xbf,0xe1,0x57,0xce,0x58,0xf8,0xcf,0xbd,0xca,0x6e,0xb4,0xdf,0x39, - 0xda,0x24,0x2e,0x78,0x5f,0xf3,0x49,0x8e,0x1d,0xe2,0x7b,0xc2,0x25,0xa5,0xcc,0xc8, - 0xda,0x23,0x7e,0x41,0xba,0x74,0xaf,0x97,0x65,0x4d,0xaf,0xb9,0x60,0x89,0x7f,0x49, - 0xd0,0x3c,0xac,0x6e,0x41,0xfb,0xfd,0x1e,0xd6,0x3c,0x5c,0xb2,0x40,0xde,0x4e,0xde, - 0x6b,0x78,0x9e,0xd3,0x5a,0xb6,0x39,0x25,0x7a,0x88,0x38,0xf5,0xcc,0xc7,0x53,0xfc, - 0x3f,0xda,0xf4,0xe9,0xcc,0x15,0xa6,0x4a,0xb6,0x1d,0x8f,0x5d,0x3a,0x5b,0xe2,0xcc, - 0x3e,0xc6,0xdd,0x80,0x70,0xd7,0x0d,0xd9,0x12,0x6e,0x63,0x27,0x95,0x15,0x9c,0x3f, - 0xb1,0xdf,0x86,0x85,0xeb,0xa4,0xc7,0x58,0xc1,0x6e,0xfa,0x37,0xe4,0x6b,0xb0,0x8e, - 0x15,0x87,0x96,0x2c,0x27,0x6f,0xc2,0x01,0x3d,0x5f,0xb5,0x2d,0x9f,0x73,0x1d,0xdd, - 0xcf,0x0a,0x5c,0x19,0x75,0x64,0x6c,0xf2,0x7c,0xdd,0x49,0x89,0xf6,0x2b,0x28,0x5f, - 0x6a,0x9f,0x8e,0xf8,0xf0,0x2c,0x87,0x6d,0x2a,0xda,0x9b,0x7b,0x59,0x99,0x96,0xa5, - 0xc8,0x76,0x38,0xaf,0x2a,0x61,0x87,0x4b,0x7c,0x6d,0x32,0x7e,0xaa,0xdd,0xd4,0xa6, - 0x7d,0x0c,0x8b,0x5a,0x6f,0xf9,0xa4,0xe6,0x39,0xe9,0xb2,0x80,0xdb,0xac,0x9f,0xfb, - 0x0f,0xf1,0xbc,0xa4,0xf1,0x40,0xd8,0x79,0xb2,0xb8,0x79,0x1e,0x8f,0x27,0x4e,0xac, - 0x4f,0x67,0xda,0x00,0x7c,0x02,0x1e,0x66,0xe7,0xd1,0xe7,0xb7,0x61,0xaf,0x66,0x47, - 0xe0,0x06,0x27,0x3c,0x0b,0xcc,0x40,0x21,0x3d,0x0e,0xa4,0x1a,0xf5,0x23,0x49,0xe2, - 0x9f,0xcd,0x6d,0x70,0x80,0xd3,0x12,0x34,0x14,0xe1,0xeb,0xa0,0xa0,0x7a,0x77,0xbf, - 0xdf,0x03,0xeb,0x5d,0xf9,0x08,0x84,0xc8,0x49,0x58,0x27,0x7c,0xab,0x9a,0x6a,0x36, - 0xef,0x24,0xbe,0x62,0xf0,0x18,0x7d,0xb6,0x21,0xff,0xdd,0xc0,0x9a,0xf4,0xaf,0xc1, - 0xe6,0x9e,0xfc,0xfa,0xeb,0xeb,0xc8,0x75,0xf0,0x18,0xbb,0x85,0xe3,0x9f,0xd7,0x60, - 0xa7,0xa1,0xc7,0x07,0x03,0xce,0x3c,0x0b,0xfe,0x79,0x59,0xd8,0xcb,0x54,0xd6,0x77, - 0x6b,0xf8,0x1f,0x58,0x33,0x02,0x75,0xd4,0xe6,0xb7,0x10,0x93,0x56,0x74,0x1b,0x9a, - 0x9d,0xcf,0xf4,0x15,0x0d,0xd2,0xd6,0xf0,0x0d,0x93,0xf2,0x61,0x70,0xc6,0x61,0xf8, - 0x3c,0x52,0xaa,0x2f,0x1d,0x32,0x03,0x6b,0x68,0x48,0xc6,0x1b,0xcb,0xb5,0xd7,0x60, - 0xe1,0x2f,0xed,0xba,0x78,0x29,0xfc,0x91,0x56,0xda,0x69,0xff,0x88,0x54,0x4c,0xee, - 0x9f,0x00,0xc4,0x23,0x23,0x70,0x04,0xe6,0x31,0x61,0x87,0x36,0x12,0xf0,0x65,0x67, - 0x35,0x35,0xc6,0xb5,0x89,0xf8,0x17,0x6c,0xe3,0xa6,0x19,0xc7,0x3f,0x13,0xcf,0x4f, - 0x95,0x73,0xd1,0x63,0xaa,0x57,0x5b,0x1d,0x15,0xe7,0x90,0x63,0xcc,0x5b,0x6f,0xbf, - 0x81,0x0f,0x78,0x58,0x24,0x4f,0x94,0xe0,0x18,0x74,0xad,0x5a,0xfa,0xb8,0x48,0x26, - 0xf7,0x0f,0x93,0xee,0x80,0x66,0x40,0x50,0x17,0x25,0xb7,0x34,0x35,0x1b,0xed,0xf5, - 0xee,0x36,0xe7,0x6c,0x68,0x7e,0xad,0x4c,0xa3,0xdb,0x6d,0x85,0x0a,0xca,0x93,0x20, - 0xdd,0x92,0xea,0xff,0x81,0x16,0xea,0x0c,0x05,0x94,0xf4,0x42,0xad,0xf9,0x7a,0xa7, - 0x7f,0x5b,0x34,0x5c,0x58,0xdf,0xcc,0x61,0xcc,0x8f,0xc6,0xf9,0x42,0x78,0xab,0xac, - 0xc9,0xfd,0x06,0x68,0x7f,0x35,0x73,0x33,0x2d,0xd7,0x96,0x08,0x7b,0xe5,0x71,0xff, - 0x4f,0x23,0x14,0x9a,0xfc,0x67,0xd2,0xd0,0xa3,0x06,0x5d,0xb9,0x04,0x7f,0x37,0xfe, - 0x53,0x9e,0x19,0x22,0x11,0xe8,0x12,0xec,0x90,0x3d,0x81,0x76,0x72,0x54,0x25,0x31, - 0xf8,0xae,0x39,0x60,0x76,0x66,0xf1,0xff,0x9c,0xb9,0xe9,0x02,0x2c,0xc6,0xdd,0xb2, - 0xac,0x3f,0xe7,0x33,0xee,0xed,0xe9,0xcf,0x3a,0x2d,0x5f,0x86,0x4f,0xb4,0xaa,0xa0, - 0x8c,0x88,0x48,0x32,0xf1,0xcf,0x7d,0xe2,0xb9,0xc9,0xf5,0xcc,0x9b,0x71,0x01,0x5e, - 0x81,0xf9,0xda,0xd2,0xb6,0x9c,0x05,0xfa,0x2b,0x5a,0xd5,0xf2,0x99,0xfd,0xe2,0xad, - 0xf0,0x8a,0x0b,0xd7,0x27,0xd8,0xb8,0x80,0x7d,0x16,0x2a,0xd5,0xdc,0xaf,0x59,0xe2, - 0x5f,0x6b,0x94,0xb8,0x14,0x81,0x76,0x81,0x02,0xd9,0xc5,0x22,0x5a,0x49,0x5e,0x20, - 0xfc,0x55,0xce,0xff,0x29,0xa2,0x9d,0xcc,0x96,0x0f,0xdd,0xab,0x9e,0xb9,0x81,0xae, - 0x0b,0x9f,0x9a,0x5c,0x4f,0x9a,0x36,0x04,0x3f,0x13,0x70,0x35,0xb2,0xb3,0x9b,0xd4, - 0x06,0x6d,0x75,0x90,0xe6,0x6e,0xe0,0xfe,0x2e,0xd7,0x43,0x36,0x4f,0x7a,0x1a,0xec, - 0x35,0x42,0x41,0x3a,0x9d,0xbc,0x26,0x4c,0xcc,0xcf,0x4b,0xdb,0xcd,0x61,0x64,0xb5, - 0x6b,0x73,0x78,0xb7,0xd4,0xc2,0xa3,0x8d,0xd1,0xb0,0xbb,0xba,0x19,0x8a,0x34,0xdb, - 0x16,0x52,0x18,0x39,0xd8,0x54,0x14,0xa0,0x9c,0xff,0x3c,0x31,0x5f,0x17,0x5e,0x82, - 0xf7,0xb9,0x13,0x6f,0x9b,0xfc,0x94,0xff,0x18,0xf3,0x69,0xae,0xed,0x68,0x38,0x9b, - 0x1e,0xbf,0x6d,0x62,0x21,0x1b,0xc5,0x0f,0x61,0xff,0xb1,0x85,0xff,0xcc,0xe3,0x5f, - 0x6f,0xd4,0x1e,0x79,0x28,0x11,0xf6,0xca,0xab,0xac,0x73,0x64,0x8b,0x2f,0x21,0xd0, - 0xae,0x0c,0x64,0xe6,0x15,0xe0,0x51,0xb2,0xfb,0xaa,0x1d,0x5b,0xb6,0x9e,0x4f,0xfa, - 0x7f,0x40,0xe7,0xb4,0x2b,0xc9,0xde,0x24,0xe6,0x43,0xdf,0xbd,0x9c,0xed,0x93,0x93, - 0xcf,0x06,0x55,0x84,0x3d,0x9c,0x08,0xd4,0x27,0xf9,0xa8,0xbd,0x49,0x26,0x16,0xff, - 0x4f,0x39,0xec,0x87,0x7c,0x9d,0xea,0xc2,0xf7,0xfd,0x1b,0xd9,0xce,0x36,0x3a,0x40, - 0xca,0x61,0x9d,0x46,0x58,0x20,0x6e,0x73,0xc1,0x46,0xad,0x20,0xe2,0x1a,0xb0,0xe2, - 0x9f,0x19,0x01,0x61,0x6f,0xc8,0x34,0xc3,0x67,0x6b,0x9b,0xb5,0xc2,0x55,0x08,0x84, - 0xd2,0x61,0xab,0xa6,0x1a,0x19,0x2a,0xb9,0x83,0x36,0x6a,0xae,0x7e,0x5a,0xee,0xb4, - 0x59,0xfc,0x3f,0x79,0xf0,0xbc,0x90,0x6f,0xb8,0x1e,0x24,0xf7,0x41,0x1b,0x43,0xeb, - 0xec,0x7b,0x64,0x06,0x3c,0x06,0x6a,0x5f,0x46,0x3d,0x59,0x26,0xad,0xe7,0x1e,0x95, - 0x87,0xd1,0xfe,0x9d,0xb8,0x7f,0x67,0x84,0xb3,0x7d,0xe6,0xc7,0x97,0xfe,0x93,0xec, - 0x85,0xdf,0x22,0xfe,0x71,0x9f,0x91,0x2b,0xc8,0xa7,0x4d,0xf3,0x07,0x33,0xd7,0x88, - 0x5f,0xc3,0x13,0xb9,0x48,0xb7,0x8f,0xc8,0x4e,0xab,0xff,0x07,0xa5,0x9f,0xcf,0x58, - 0xb6,0x2f,0x27,0x0e,0x43,0xb0,0x88,0x13,0x59,0x47,0x78,0x9a,0xc0,0x0b,0xdf,0x46, - 0x09,0x43,0x2e,0x41,0x85,0xc9,0x7f,0x4e,0xda,0xbf,0x69,0xaf,0x69,0x7d,0xd1,0x2a, - 0x1d,0xcd,0xf6,0x32,0xe3,0x55,0x56,0xba,0xc2,0x0c,0x7b,0xbd,0x1c,0x9d,0xff,0xae, - 0x7d,0xcd,0xd7,0x7d,0xf0,0x6a,0xdb,0xfc,0xb3,0xf6,0x41,0x31,0xe9,0x9f,0x79,0x66, - 0x7a,0x44,0x5b,0x1f,0x2d,0x66,0xae,0x87,0x48,0xae,0xf6,0xba,0x92,0x9f,0xeb,0x0a, - 0x92,0xd3,0x6a,0x63,0x14,0x1f,0xfb,0x21,0x32,0x53,0x5a,0xaf,0xcf,0xcd,0xa1,0xab, - 0x6c,0x45,0xe9,0x13,0xf3,0x01,0xb6,0x2b,0xeb,0x55,0x8e,0x7f,0x9c,0x79,0xec,0x49, - 0x98,0x6b,0xd0,0x2f,0x91,0x7e,0x6d,0x3d,0x14,0xf0,0xf8,0xd7,0xfd,0xda,0xd3,0x3c, - 0xb1,0x25,0x68,0xf5,0xff,0x28,0x27,0xb5,0x46,0xbb,0x7b,0x55,0xe4,0x39,0x92,0x8f, - 0xd2,0xd0,0xa5,0x23,0x48,0x7f,0xc5,0xd6,0x00,0xce,0x81,0x8c,0x3c,0xb2,0x74,0xf6, - 0x4e,0x6d,0x50,0x75,0xd9,0x09,0x9d,0x9c,0xdf,0x39,0xa3,0x13,0x5e,0x60,0xbe,0x17, - 0x33,0x47,0xe4,0xd9,0xf0,0x7e,0xfc,0xd0,0x1a,0xca,0x1a,0xff,0xa0,0xbc,0x00,0x7b, - 0xcf,0x66,0x6e,0x6b,0x7c,0x80,0xfd,0xb1,0x57,0x8f,0xdb,0xbb,0xc3,0x56,0x3c,0xf6, - 0xbe,0xf3,0xd2,0x51,0x5f,0xbf,0x63,0x0f,0xc2,0xec,0xe5,0xa1,0xeb,0x72,0x1c,0xfa, - 0xde,0x81,0x28,0xf7,0x87,0x94,0xb4,0x89,0xad,0xca,0xdf,0x31,0x5f,0xc3,0xbc,0x8e, - 0x94,0xf8,0xd7,0x45,0x8d,0x07,0xb9,0xdc,0xc3,0x8d,0x2a,0x5a,0x5b,0x5e,0xc3,0x61, - 0x88,0xae,0xb4,0x2b,0x7a,0xa9,0x61,0xef,0xe7,0xf9,0x29,0x74,0x6f,0xbf,0x7d,0x4f, - 0x63,0x5f,0xd2,0xff,0x23,0x7d,0x1b,0x0e,0x37,0x78,0xe2,0x91,0x98,0xed,0x0b,0x10, - 0xe9,0x71,0x86,0x50,0x7f,0x39,0xe1,0x50,0xdc,0xd9,0x83,0xfb,0xff,0xa3,0xda,0xc6, - 0xbe,0xb2,0xcd,0x0e,0x46,0x06,0x2d,0xfe,0x1f,0x17,0x3d,0x4c,0x9d,0xf5,0x34,0xe6, - 0x77,0xf2,0xc0,0xd0,0x0a,0xb9,0xd5,0x36,0x47,0xe1,0x8e,0xa3,0xbc,0x6e,0x32,0x44, - 0x5a,0x1a,0x4c,0x8f,0x50,0x0a,0xff,0xb9,0xf6,0xb0,0xaa,0x02,0xf5,0x38,0x41,0xe1, - 0xde,0x0f,0x19,0x70,0xf5,0xf6,0x52,0xbd,0xc7,0xe6,0xf1,0x9f,0x84,0x86,0xfc,0x39, - 0x3c,0xb0,0x7d,0x74,0xed,0xe4,0xf2,0x67,0x7e,0x0b,0x2e,0x49,0x5e,0x6d,0x66,0x7d, - 0x8e,0x8b,0x70,0xb1,0x73,0x33,0x47,0x53,0x87,0xb9,0x23,0x0b,0xf5,0x0b,0x39,0xce, - 0x05,0xe9,0xb3,0xa2,0xd1,0x38,0xb9,0x3f,0x1f,0x1d,0x61,0x57,0x95,0xdb,0xb4,0x7f, - 0xe3,0xdb,0x66,0x0c,0xb8,0xb7,0x27,0x67,0x18,0x2e,0xd1,0x2a,0x43,0x46,0x45,0x26, - 0x8d,0x64,0x57,0x99,0xfe,0x9f,0xc2,0x24,0xde,0x18,0x82,0x57,0x61,0x11,0x5b,0x6a, - 0x14,0x94,0xc0,0x18,0x5b,0xbc,0x6a,0xda,0x88,0xe8,0x51,0x4e,0xa8,0xa5,0x27,0x37, - 0xc6,0xc4,0x59,0xd0,0xcb,0x4a,0x43,0x3c,0xfe,0x65,0xf1,0xff,0x0c,0xc1,0x26,0xa9, - 0x8b,0x45,0x80,0x94,0x48,0xdd,0x0d,0x25,0xd5,0x72,0x37,0x71,0x29,0xbf,0x33,0x76, - 0x9c,0x79,0xf4,0xb2,0x19,0xa8,0x42,0xa0,0xd2,0x9d,0x12,0xff,0x3a,0x39,0xbd,0x11, - 0x8a,0x18,0x55,0x6d,0x76,0x29,0x06,0xee,0x80,0xec,0xb1,0xb5,0xe6,0x35,0x2a,0xea, - 0x19,0x9b,0xc7,0x69,0x4f,0xc8,0x67,0x0f,0xb1,0xc4,0xbf,0xd2,0x76,0x43,0xa3,0x32, - 0x27,0x8a,0xeb,0xef,0x86,0x83,0x4d,0x25,0x5a,0x4b,0x8c,0xb4,0xaa,0x3f,0x35,0xf9, - 0xe4,0x78,0xa5,0x85,0xa9,0x2b,0x68,0x4a,0xfc,0x2b,0x6d,0x88,0x1e,0x63,0x15,0x51, - 0x57,0xb3,0xec,0x86,0x91,0x88,0x2f,0x24,0x7b,0x48,0xa7,0x49,0xbb,0xcd,0x8a,0x89, - 0x59,0x5a,0x4f,0x5f,0xf6,0x79,0x7b,0xcc,0xc2,0x7f,0x8e,0x0b,0xbb,0x61,0x74,0xc3, - 0xa2,0xfe,0x4d,0x88,0x0f,0x39,0x1a,0x0c,0x38,0x86,0xbf,0xb8,0x26,0x35,0xbe,0x33, - 0x2f,0x25,0xfe,0x05,0xbb,0xb9,0x92,0x6a,0xb3,0xb7,0xf3,0xfb,0xa3,0xa1,0x97,0xd9, - 0x8d,0xe8,0xe8,0x04,0x02,0x09,0xfb,0x7c,0xdc,0x3f,0xa8,0xd1,0x02,0x8e,0x2e,0x71, - 0xd8,0x92,0xff,0x55,0x39,0xbd,0x79,0x85,0x7a,0x7a,0x03,0x8f,0xd6,0x1d,0x7c,0xc3, - 0xa9,0x65,0xc5,0x50,0x86,0x3d,0xad,0xce,0xeb,0xa1,0x23,0xe4,0xa3,0x26,0xdc,0x0f, - 0x23,0xf2,0x7e,0x2b,0xfe,0x99,0xf1,0x80,0x7d,0xb3,0xa1,0x2b,0x94,0xdd,0x61,0x87, - 0x58,0xa3,0x4b,0x63,0x5e,0x88,0xd8,0x1b,0x99,0xdb,0x68,0xf6,0x38,0x4f,0x91,0x46, - 0xda,0xd9,0x2f,0x2f,0x20,0x29,0xf1,0x2f,0xf5,0x47,0xd1,0x5b,0x3a,0x6d,0x81,0xd7, - 0x67,0x49,0x47,0xf4,0x82,0xd5,0xb6,0x35,0x70,0x03,0x3c,0xad,0x17,0x0f,0xf2,0xc4, - 0x28,0x65,0x13,0x9b,0x1b,0x47,0x43,0xcc,0x1a,0xff,0xca,0xd2,0x36,0xb7,0x21,0x3e, - 0x71,0x8a,0x59,0x30,0xa2,0x97,0x0f,0xd8,0x3d,0xc2,0xa0,0xf6,0x02,0xab,0x1c,0xcc, - 0xbc,0x4d,0x3c,0x09,0x2f,0x40,0xb9,0xe6,0xa8,0xc8,0xb1,0xc6,0xbf,0x9e,0x53,0x3e, - 0x64,0xb7,0xf5,0x39,0x86,0x73,0xc6,0xe8,0x45,0xbe,0x2c,0x0f,0x8a,0x23,0x0a,0x5f, - 0x96,0x92,0xf3,0x35,0x68,0x4a,0x28,0x0b,0xa7,0xfa,0x7f,0xd0,0x3a,0x0b,0x39,0x39, - 0x2d,0x61,0x35,0x2c,0x17,0x66,0x69,0x88,0x36,0x07,0xe1,0x92,0xe1,0xed,0xcf,0xda, - 0xb7,0xd5,0x0d,0x7f,0x14,0xbc,0xf1,0x54,0xff,0x8f,0xf0,0x2f,0xb0,0x57,0x31,0xf9, - 0x3f,0x33,0xe1,0xc7,0x50,0x5c,0x9d,0x59,0x4f,0xce,0x28,0x07,0x82,0xae,0x5e,0xee, - 0x88,0x26,0xeb,0x13,0x1e,0xe9,0xf3,0x16,0xff,0x1b,0xda,0x6b,0x4c,0xd7,0x33,0x02, - 0xe9,0x5f,0x13,0xda,0xd8,0xbc,0x50,0xde,0x1a,0xc4,0x7b,0x7b,0xb9,0x07,0xec,0x36, - 0xff,0x2c,0xe1,0x69,0x76,0x8b,0xe9,0xff,0x99,0x5c,0xff,0x80,0x34,0xc4,0xf1,0xcf, - 0x49,0x1a,0x4b,0x5f,0x0a,0x51,0x28,0x09,0x65,0x70,0xf6,0xe6,0x5e,0x70,0x19,0x38, - 0x98,0x03,0x8d,0xce,0xc2,0xee,0x3b,0x3d,0xd6,0xf8,0x57,0x5a,0x27,0x5c,0xd4,0xe7, - 0xb3,0xe2,0x77,0xc5,0x3a,0x78,0x47,0xf5,0xe9,0x54,0x15,0x2f,0x32,0xce,0xff,0xc9, - 0xd2,0x0b,0x8a,0xe0,0x1c,0xec,0xdd,0xe2,0x4e,0x8d,0x7f,0xc5,0x61,0x18,0xf1,0x8f, - 0x83,0xe7,0x43,0xe5,0x41,0x96,0x64,0xa6,0x7d,0x25,0x3c,0x42,0x32,0x07,0x42,0x15, - 0x90,0x95,0xea,0xff,0x39,0xb7,0xf9,0x58,0x13,0x1e,0xd2,0xc7,0x6b,0x0a,0xe9,0x68, - 0xa1,0xaf,0x7a,0xe9,0xb6,0xea,0x5a,0x93,0x1f,0x72,0xb7,0x22,0xae,0x82,0x37,0x70, - 0xff,0x3b,0x7e,0x22,0x58,0xf9,0x3f,0xdf,0xe4,0xf1,0xa9,0xa0,0x2d,0xea,0x2f,0x84, - 0x83,0xd5,0x25,0x5a,0xe6,0xf6,0xf0,0x78,0xfc,0x0b,0x11,0x11,0x34,0xe7,0x3b,0xb5, - 0x25,0xdb,0xac,0xfc,0x9f,0x19,0x85,0x52,0xb3,0x82,0x87,0x2e,0x9a,0x5e,0x28,0x71, - 0xb7,0x0f,0xa2,0xa3,0x01,0x68,0x26,0x6e,0x2d,0x63,0x1b,0x59,0xc5,0x1e,0x57,0xbf, - 0x7d,0x87,0x1c,0x4d,0x4f,0xe1,0x3f,0x6b,0x8d,0xb5,0xce,0x7e,0x5b,0xee,0x1d,0x52, - 0xde,0x1e,0x70,0xf3,0xec,0xa7,0xb5,0x3c,0x42,0xc4,0xf1,0xcf,0x34,0x68,0xae,0x1d, - 0xd4,0x7e,0x9a,0x67,0xe5,0xff,0xa4,0xad,0x68,0x8f,0xb8,0xba,0x12,0x6c,0x93,0x8b, - 0xf8,0x9a,0xf7,0xb3,0x9c,0xb8,0x19,0xff,0xca,0x64,0x35,0x21,0xe9,0x0c,0x31,0xa9, - 0xd1,0xa7,0x84,0x49,0xff,0xcf,0x8c,0x81,0xe8,0x65,0xe9,0x66,0x04,0x39,0xf2,0x00, - 0x5c,0x86,0xc5,0xda,0x9c,0xa8,0xf8,0xdf,0xc9,0xa8,0x9f,0xd3,0x9e,0xe5,0xd3,0xf0, - 0x19,0xdc,0x6a,0x7a,0x3c,0x92,0xf8,0x27,0xed,0x02,0xfc,0xb3,0x56,0x1a,0x4c,0x3f, - 0x5d,0x54,0xc8,0x89,0xd3,0x08,0x7b,0xc4,0xc2,0xd0,0x2b,0x70,0x83,0x96,0xd5,0x2f, - 0xe6,0xc2,0x8b,0x28,0xdf,0x96,0x45,0x45,0x4b,0xfe,0x97,0x72,0x56,0x8b,0x05,0x9d, - 0xd1,0x48,0x07,0x8a,0xc1,0x43,0x84,0xd3,0xb0,0xc5,0x15,0x24,0x12,0x2c,0x23,0x8e, - 0x06,0xa2,0xb6,0x6f,0x28,0x74,0x82,0x6c,0xe5,0xff,0xd0,0xb4,0x5e,0x7d,0xaf,0xaa, - 0x2f,0x97,0xaf,0xf3,0x4b,0x12,0xbe,0xef,0x5d,0xf8,0xbe,0xab,0xc2,0x0d,0x52,0xbc, - 0xf6,0x2e,0xc4,0x7b,0xac,0x01,0x81,0xb7,0x99,0xef,0x66,0x89,0x7f,0xd1,0x83,0xf0, - 0xae,0x96,0x11,0xcd,0xc2,0xf5,0x57,0xdd,0x5a,0x5e,0x94,0xac,0x82,0x66,0xe9,0x9b, - 0x78,0x65,0x56,0x21,0x6b,0x86,0x9d,0x66,0x3e,0x9d,0x25,0xfe,0xc5,0xbd,0x55,0xde, - 0x6a,0x7c,0xbb,0xc2,0xbc,0x51,0x98,0xa5,0x15,0x23,0xd0,0x65,0x88,0x6f,0xab,0x67, - 0x45,0x73,0x38,0xff,0x27,0x7b,0xe5,0x32,0x9e,0xff,0x35,0xb1,0x3e,0x9d,0x9c,0xff, - 0x43,0x2b,0xeb,0xb3,0x6e,0xe0,0xf8,0x47,0xf2,0x05,0x38,0x10,0x62,0x9c,0xff,0xf3, - 0x35,0x13,0x11,0xd9,0xf9,0x95,0x46,0x6b,0xfc,0x6b,0x9c,0xe4,0xdc,0x84,0xeb,0x3f, - 0xa8,0x75,0x09,0x8e,0x86,0xaf,0xe7,0xd3,0x38,0xad,0xe0,0xb4,0x2b,0x13,0x7f,0x52, - 0x47,0x6a,0xfe,0x97,0x4b,0x3d,0x42,0x76,0x86,0x5d,0x71,0x14,0xcb,0x47,0x98,0xb3, - 0x61,0xc9,0x6a,0x12,0xc9,0xbc,0x42,0x4a,0x18,0x75,0x85,0xbb,0xd9,0xc6,0x90,0x33, - 0x9c,0xd5,0xee,0x4d,0x89,0x7f,0xc1,0x21,0xad,0x70,0x1b,0xbd,0x35,0x6c,0x87,0x1d, - 0x50,0x67,0xdc,0x78,0x5d,0xba,0x9d,0xb6,0x43,0x91,0x81,0x16,0xd9,0x37,0xc9,0xcf, - 0x7a,0x5d,0xf3,0x51,0x43,0x59,0xe3,0x5f,0x33,0x61,0x1f,0x14,0x32,0x54,0xfa,0xf7, - 0xc3,0xfe,0xc8,0x5c,0xe3,0xa7,0x9a,0xff,0x39,0x6d,0x9f,0x50,0x6c,0xb8,0xea,0xc9, - 0xe9,0xec,0x7f,0x83,0x5d,0x86,0xad,0x1e,0xac,0xf1,0xaf,0xeb,0x78,0xb6,0x57,0x3e, - 0x7d,0x43,0x9c,0x35,0xf3,0x5c,0xd3,0x6d,0x03,0xff,0x6d,0x79,0xce,0x2c,0xfd,0x29, - 0xb6,0xe8,0xbc,0xbd,0x5c,0xfc,0x1a,0xfc,0x81,0xdd,0x16,0x77,0xa4,0xc4,0xbf,0x32, - 0x3b,0xe0,0xa2,0x7a,0x88,0x6d,0x6a,0x93,0x77,0x4b,0x17,0xa1,0xec,0xe4,0xcd,0x51, - 0x72,0x92,0xe1,0xf9,0x3a,0x63,0x12,0x3b,0xdf,0x82,0x32,0x8d,0xc7,0xbf,0xc8,0xc4, - 0xfa,0x70,0xfe,0xcf,0x58,0x7f,0x69,0x68,0x69,0x9d,0xf8,0x08,0x7c,0xc6,0x2a,0x06, - 0xb2,0xce,0xa0,0xda,0xfa,0xbb,0xa8,0x6f,0x20,0x0b,0x11,0x11,0x5c,0x6e,0x28,0x1d, - 0x70,0x1c,0x14,0x0d,0x8b,0xff,0xa7,0x0d,0xf6,0x34,0x14,0x28,0x81,0x95,0xe2,0xfd, - 0xda,0x70,0x54,0x1d,0x94,0x83,0x05,0xf7,0xc3,0xbf,0xc7,0x2b,0xe3,0x99,0xf5,0xe2, - 0xfd,0xf0,0x4b,0x98,0xcb,0xe4,0x22,0x0b,0xff,0x19,0xa0,0x0d,0xf6,0xa9,0xf9,0xd2, - 0x5c,0x03,0xdf,0x77,0x1f,0x9d,0x6b,0xfc,0xe4,0x4b,0x68,0xb8,0xad,0x87,0xef,0x70, - 0xff,0xfc,0xcc,0xd0,0x01,0xc8,0x3f,0xfa,0x77,0x41,0xa7,0x61,0xe1,0xff,0x9c,0x84, - 0x18,0x38,0x21,0x20,0xa0,0xfc,0xd1,0x1b,0x38,0xad,0xd7,0xb6,0x14,0x36,0xc3,0x6a, - 0x43,0xf0,0x90,0x3b,0x60,0xaf,0xdf,0x75,0x9e,0x3b,0xf6,0x53,0xf8,0x3f,0x28,0x6d, - 0x9a,0x32,0xbb,0xe5,0xd5,0x52,0x77,0x74,0x91,0x91,0xa5,0x88,0x95,0xd2,0x31,0xf8, - 0xa1,0xc9,0xef,0xe5,0x82,0x74,0x18,0x07,0x1f,0x58,0xf0,0xcf,0x10,0x5c,0xd4,0x8e, - 0xb4,0x6d,0xd2,0xe5,0x21,0x18,0xa9,0x46,0xfb,0xb4,0x4d,0xdc,0xad,0x8d,0xc2,0x0d, - 0x9c,0x2f,0xfd,0x73,0x18,0xed,0x7b,0x84,0x5f,0xb1,0xe2,0x9f,0x0b,0xf4,0x0a,0x7c, - 0x97,0x2d,0x5d,0xde,0xf8,0x30,0x8c,0xe9,0x0b,0x8d,0xcc,0x33,0x39,0x0f,0xe3,0xc1, - 0xf4,0x18,0xad,0x9f,0x88,0xf5,0xf0,0x3b,0xd8,0xa9,0x6f,0x8a,0x5b,0xe3,0x5f,0xb5, - 0xab,0xe0,0x50,0x9f,0x53,0xa7,0x0d,0x3c,0x5e,0x43,0x55,0xc3,0xd6,0x86,0x82,0x7d, - 0xb3,0x51,0xc4,0x61,0x0c,0x91,0x1a,0x7a,0x9c,0xe7,0x97,0x1c,0x4e,0x8d,0x7f,0x41, - 0x8c,0x07,0x7d,0xf4,0x0d,0x6e,0xe8,0x86,0x39,0x46,0xde,0x8f,0xc9,0x6a,0x3c,0x38, - 0x26,0xec,0xf9,0x07,0x68,0x6e,0x2e,0x0a,0xc8,0xa9,0xf8,0x27,0x0d,0x62,0xf9,0x2a, - 0xa7,0xcd,0xd8,0xa1,0x5b,0x72,0xf6,0xd9,0x38,0xed,0x67,0x73,0xa8,0xae,0x9f,0x7a, - 0xb2,0x39,0x1e,0x70,0x19,0x3f,0x2d,0xb5,0xe6,0x7f,0x65,0x7e,0x03,0x2e,0xdc,0xeb, - 0x84,0x56,0x43,0x2c,0xae,0x1d,0xa9,0x5f,0x78,0x06,0xb5,0xc9,0xc3,0x30,0xaa,0x95, - 0x22,0x6c,0x13,0x43,0xf4,0x2d,0x9e,0xaf,0x14,0x6b,0xb4,0xc4,0xbf,0x6e,0x1a,0x63, - 0x23,0x65,0x26,0xc8,0x19,0x8b,0x8e,0x84,0xaa,0x4e,0x39,0x82,0xfc,0x7d,0x3d,0x55, - 0x27,0x51,0xad,0x0f,0xdb,0xc6,0x60,0x21,0x38,0x8e,0xe6,0x58,0xfd,0x3f,0x9f,0x23, - 0xc8,0xa9,0xea,0xc8,0x8c,0xdb,0xbe,0x07,0x57,0x6b,0x4b,0xf3,0xc5,0x9e,0xcd,0x0f, - 0x29,0x7d,0xec,0x0b,0x24,0x73,0x58,0xf4,0xb0,0x33,0x50,0x1a,0x72,0xbc,0x9f,0x82, - 0x7f,0xce,0x41,0x04,0x61,0x0f,0xd5,0xc9,0x93,0x06,0xc2,0x3c,0x95,0xae,0x23,0x73, - 0x68,0xc4,0xe5,0xf4,0x44,0x3a,0x49,0xc1,0xbd,0xcd,0xd1,0x22,0x4d,0xd6,0x9d,0x56, - 0xfc,0xd3,0x8b,0xdf,0xac,0x24,0xd2,0xec,0x7c,0xc9,0xf0,0xec,0x74,0x3a,0xc1,0x46, - 0x08,0xcf,0x1f,0x71,0x41,0x27,0x07,0x7e,0xdc,0xdf,0x85,0xe8,0xdf,0xca,0xff,0xe9, - 0x20,0x91,0x48,0xc9,0x51,0xbc,0xbf,0x8e,0x30,0xb2,0x5d,0xa3,0xdb,0x88,0x9b,0x20, - 0xac,0x92,0xe8,0x76,0xa2,0xb2,0x96,0x9e,0x6f,0x57,0xcb,0x7a,0xba,0x05,0xff,0xcc, - 0x78,0x09,0xfa,0xc2,0xbe,0x68,0x66,0x2c,0x67,0x95,0x72,0x09,0x3c,0xab,0x1c,0xad, - 0xe2,0x9d,0xf4,0x58,0x9b,0xcd,0x93,0x59,0x2e,0xbb,0xd8,0x31,0xc3,0x6b,0xbc,0xaa, - 0x17,0x58,0xf1,0xcf,0x01,0x4e,0x02,0xef,0xdd,0x74,0xa8,0xe6,0x7f,0xb8,0x50,0xad, - 0xb3,0x65,0xc1,0x1b,0xc7,0xa4,0x31,0xf0,0xa9,0x8e,0xb8,0x78,0x1c,0x86,0xa5,0xaa, - 0x55,0x38,0xb0,0xc6,0xbf,0x3a,0x58,0x5f,0xa0,0x22,0x9a,0xb5,0x0f,0xf5,0xe3,0x25, - 0xc5,0xa7,0x2d,0xd3,0x6b,0x7e,0x8f,0x12,0xaf,0x5e,0x29,0x66,0xa2,0x0b,0x8e,0x85, - 0xb2,0x8d,0x4d,0xba,0x68,0xcd,0x7f,0x2f,0x84,0x48,0x44,0x35,0x68,0x14,0x4f,0xd2, - 0xf3,0xdc,0x0d,0xd8,0x46,0x3e,0x0c,0xee,0x0d,0xae,0x7c,0x1b,0x11,0xf2,0x6e,0xd8, - 0xc0,0x9c,0x75,0x4b,0x7e,0x2e,0x7a,0xad,0xf9,0x5f,0xc0,0x7a,0x71,0x9b,0xe9,0x24, - 0x13,0x0e,0x6f,0x70,0x77,0xc9,0xb7,0x86,0x0d,0xe8,0x52,0x5c,0x3c,0x5e,0x23,0x81, - 0xae,0x15,0x6a,0xb2,0xcb,0xbf,0xc6,0x8a,0x7f,0x48,0x93,0x9e,0xdf,0x19,0xf9,0x96, - 0x6d,0x96,0x74,0x60,0x73,0x71,0x41,0xcb,0x72,0xf2,0x1a,0xec,0xdf,0x31,0x37,0x8e, - 0xf8,0xea,0xc7,0xca,0x93,0xbb,0x66,0xbf,0x27,0x0f,0xa2,0x62,0x9e,0xb8,0x7f,0x80, - 0x4a,0xaa,0xa1,0x57,0x18,0x25,0xb9,0xa2,0xbd,0xef,0x53,0xa9,0x92,0x39,0x0a,0xc5, - 0x17,0x11,0x08,0x75,0xf6,0xda,0x55,0x51,0x22,0x67,0xf5,0x7d,0xda,0x32,0xb5,0xe5, - 0x5e,0x0b,0xfe,0x69,0x85,0xb1,0xe9,0xcf,0x47,0x1c,0x46,0xcd,0x73,0x1c,0x16,0x6a, - 0x8e,0x5f,0x15,0x5c,0x56,0x2f,0x09,0x0b,0x0d,0x12,0x32,0xf9,0xcf,0x8b,0x0c,0x47, - 0x28,0x95,0xff,0xcc,0x49,0xb0,0x3d,0x3c,0x1b,0x91,0xd3,0xf6,0xfa,0x32,0x8d,0xfa, - 0x5d,0xd1,0x4b,0x19,0x5e,0x63,0x99,0x9a,0xe3,0x86,0x6f,0x41,0xb6,0x61,0x4f,0xe5, - 0x3f,0x6f,0xe7,0xd9,0x46,0x3c,0x49,0x36,0x17,0x0e,0xc0,0xdc,0xed,0xa8,0x4d,0xf2, - 0xe8,0x11,0xc8,0x67,0x72,0xa8,0x60,0x39,0xac,0xe3,0xf8,0x27,0x44,0xac,0xfc,0x9f, - 0x1f,0xc3,0x5a,0xf6,0x9d,0xf8,0xae,0xe5,0xf7,0xdc,0x0c,0x7b,0xa3,0xf9,0x9c,0xed, - 0x7c,0x9d,0xfd,0x59,0x36,0xbb,0xbe,0x65,0xec,0xde,0x3b,0xa6,0x37,0xb0,0x82,0x78, - 0x46,0x5d,0x4a,0xfc,0xeb,0x24,0x69,0x84,0x92,0x0e,0x6a,0x4f,0xcf,0xa2,0x87,0xc1, - 0xd5,0x2f,0x2b,0x78,0xd0,0x0e,0x6b,0x9c,0x08,0x4d,0xee,0x79,0xa9,0x31,0xbd,0xbd, - 0x77,0xae,0x9e,0xc2,0xff,0x89,0xc0,0x29,0xad,0x8a,0x15,0x0f,0x8a,0x15,0x5c,0x10, - 0x75,0x3e,0xfa,0x81,0xec,0x82,0x8b,0xca,0x01,0xe6,0xf8,0x96,0xf8,0x7d,0xf8,0x48, - 0xf3,0xb2,0xcc,0x29,0xfc,0x67,0x18,0x09,0xf8,0xc0,0xd1,0x50,0x9a,0xa0,0x3d,0x3b, - 0xd6,0xe5,0xc4,0x4d,0x22,0x90,0xa3,0x89,0x27,0x82,0xe1,0xaf,0x52,0xf1,0x8f,0x32, - 0xa0,0xbd,0xaf,0xfa,0xb4,0xac,0x68,0xe3,0x53,0x81,0x63,0xba,0xd7,0xef,0x50,0xf8, - 0x42,0xa9,0x1e,0x4d,0x8a,0x8a,0x3c,0x75,0xda,0x5b,0x67,0x7f,0xdc,0xca,0xff,0x91, - 0xfe,0x7e,0x02,0xed,0x14,0xa2,0x2e,0x71,0xf2,0xfd,0xe3,0xa6,0x07,0xb5,0x2e,0xad, - 0xae,0x8d,0xc7,0xbf,0xb4,0x76,0x2d,0x33,0x6a,0xb3,0xfa,0x7f,0x66,0xd3,0x5d,0x38, - 0x1f,0xc5,0x48,0xab,0x62,0xa6,0x29,0x6d,0xc6,0x3f,0x3c,0xa8,0x15,0x19,0xb6,0x68, - 0xfa,0x2a,0x75,0xdc,0xff,0x93,0x9e,0xe2,0x7f,0x6e,0x14,0x78,0xd2,0x93,0x3f,0x13, - 0x78,0xfe,0x7b,0x22,0x11,0xac,0xda,0xa5,0xd9,0x38,0x63,0xaa,0x01,0x20,0xf8,0x78, - 0xae,0x35,0xfe,0x95,0x19,0x42,0x6d,0x56,0x09,0x59,0x40,0x74,0xce,0x0f,0x07,0x87, - 0x2e,0xab,0x28,0xe8,0x7e,0x00,0x59,0x3a,0xe2,0x1f,0x7e,0x05,0xbf,0x6f,0x2a,0xff, - 0xe7,0x32,0x54,0x55,0x4f,0x1b,0xcf,0x76,0xe7,0xf9,0x5f,0x1c,0x21,0x94,0x7e,0x29, - 0x93,0x5f,0xb9,0xac,0x2d,0xe6,0xf8,0xe7,0x9b,0xd6,0xfc,0x77,0xf8,0x13,0x54,0xd6, - 0xde,0xbd,0xe5,0xaf,0xbe,0xa7,0xde,0x9d,0xe3,0xad,0x16,0x5f,0x63,0x6e,0xbc,0x03, - 0xd1,0xd2,0xa3,0x62,0x47,0xe4,0x8f,0xae,0xd2,0x5a,0xc7,0xaf,0x52,0xf0,0x0f,0xae, - 0xb6,0x50,0x02,0x34,0x1c,0xce,0x97,0xce,0x78,0x8a,0x40,0x6e,0xe7,0x40,0x08,0x35, - 0x0e,0x4a,0x6c,0x15,0x5a,0xa1,0x88,0xca,0x0c,0x52,0xf0,0x8f,0x19,0xed,0xca,0xc8, - 0x49,0x6f,0x42,0x75,0x84,0xdb,0x20,0x7b,0x43,0x3a,0x1c,0xa4,0x2b,0x56,0x05,0x86, - 0xc9,0x8f,0xb5,0xb5,0xa0,0x06,0xe4,0xec,0x3b,0xac,0xf8,0x67,0xf7,0xf4,0x5d,0x86, - 0x3b,0x90,0xa7,0x84,0x9f,0x84,0xc7,0xa1,0xc8,0xdf,0x82,0x1f,0x22,0x78,0x10,0xda, - 0x43,0xb4,0x3f,0xbc,0x0f,0x1e,0xd5,0x6c,0x9a,0x18,0xd5,0x52,0xf1,0xcf,0x41,0xc3, - 0x17,0xca,0xdc,0x9e,0xc3,0x89,0x5e,0x5e,0x4d,0xde,0x26,0xce,0x81,0xd1,0xa8,0x37, - 0xe8,0x6e,0x13,0x9f,0x24,0x28,0x7f,0xf8,0xfb,0x0e,0x5a,0xf9,0x3f,0x85,0xa3,0x3c, - 0xc9,0x7d,0x8b,0xbc,0x0a,0x3e,0x11,0x71,0x90,0xdd,0x78,0xae,0xdc,0x0c,0x84,0x6d, - 0x17,0x57,0xb1,0x5f,0xe9,0x66,0x44,0x2c,0x05,0xff,0x08,0x23,0x81,0x32,0xc8,0x6c, - 0xaa,0xd6,0xd4,0x3e,0x27,0x47,0x3b,0x5f,0x57,0x61,0xc4,0x56,0x29,0xd8,0x59,0x8d, - 0x06,0x27,0xcd,0x8c,0x3c,0x71,0x43,0x8a,0xff,0xe7,0x08,0x38,0x59,0x9d,0x4e,0x2b, - 0x3c,0xbf,0x30,0xda,0xa3,0x59,0x43,0x68,0xc8,0xef,0xd7,0x1e,0x61,0x2e,0x15,0x5c, - 0x74,0x03,0x94,0xe9,0x4b,0x06,0x44,0x2b,0xff,0xf9,0x6e,0x6d,0x6f,0xb4,0x90,0x4b, - 0x9b,0x2c,0xa1,0x01,0x8f,0xc9,0x8d,0x78,0x5e,0xe8,0x9e,0x2f,0xf1,0x78,0x31,0xdc, - 0x93,0x16,0x26,0x9d,0xc6,0x8d,0x3e,0x4b,0xfc,0x4b,0x17,0x72,0xe1,0x39,0x56,0x60, - 0x44,0x86,0xd3,0x73,0xe1,0x49,0x5b,0xbe,0x76,0xc3,0x7d,0xd9,0x8a,0xba,0x0f,0xe5, - 0x79,0xde,0x30,0xb9,0x09,0xc2,0x50,0xdc,0x2f,0xaf,0xce,0x76,0xa5,0xe0,0x9f,0x67, - 0xc3,0xb7,0xbe,0x6b,0x7f,0x24,0xec,0x83,0x93,0x6c,0x7e,0xdc,0x31,0x48,0x78,0x44, - 0xac,0x38,0x6e,0xaf,0x13,0xef,0x22,0x2f,0xb3,0xdb,0xce,0x3a,0x46,0xe4,0x6f,0x5b, - 0xfc,0x3f,0x1d,0x02,0x47,0x3b,0xd4,0x3b,0x4d,0x47,0xfb,0xd4,0x77,0x2f,0x2a,0xb2, - 0xb3,0x74,0x0c,0x81,0xae,0xa8,0xa2,0x60,0xbb,0x04,0xfb,0xab,0x11,0x0f,0xf8,0x2d, - 0xfc,0xe7,0xd7,0xb5,0xa1,0x68,0xd5,0xbb,0x99,0xa3,0xe4,0x07,0x81,0x57,0xd9,0xcd, - 0x3b,0x38,0xff,0x99,0x5e,0x66,0xf3,0xe2,0xee,0xe5,0x05,0x65,0xf4,0x25,0x56,0x1a, - 0x77,0x74,0xa7,0xf0,0x7f,0x7e,0xac,0xb3,0xfa,0x79,0x7d,0x91,0xef,0x92,0xbc,0xde, - 0xdf,0x40,0x31,0x20,0xfa,0xfd,0x6d,0xee,0xbe,0xee,0x62,0x4a,0x83,0xfe,0x5c,0x05, - 0xe5,0x4f,0xaf,0xfc,0x81,0x95,0xff,0x0c,0x6d,0x0d,0x1d,0xda,0x77,0x8c,0xeb,0xeb, - 0xb3,0xee,0x83,0x26,0x14,0x5c,0x72,0xc8,0x4c,0x7b,0x77,0x1b,0x19,0x1a,0x89,0xc2, - 0x01,0x86,0xf8,0xd9,0x6f,0xf5,0xff,0xe4,0xf6,0x52,0x16,0x2d,0xe9,0xa7,0xcf,0xe2, - 0xc5,0xad,0xe0,0xa6,0xb2,0xce,0x69,0xbd,0xcc,0x9d,0x97,0x61,0x27,0x8c,0x6d,0xd5, - 0xf4,0x5a,0x59,0x4d,0xe1,0x3f,0x77,0xc0,0xfb,0xa4,0xca,0x78,0x74,0x04,0x61,0xc6, - 0x31,0xce,0xe7,0x89,0x36,0x7e,0x84,0xfb,0xc7,0x17,0xcf,0xdc,0x2f,0xfe,0x1b,0x4a, - 0x18,0x6f,0xdc,0x91,0xca,0x7f,0x1e,0xe0,0x49,0xa6,0x2f,0x99,0x49,0x5e,0xa3,0x3c, - 0x1a,0xd8,0xd6,0x78,0x56,0x1b,0xa9,0xae,0x54,0xef,0x89,0x89,0xf7,0xc0,0xa0,0xfe, - 0x48,0xcf,0x14,0xfe,0xf3,0x05,0xdc,0x24,0xdc,0x5b,0xd2,0xe0,0xc6,0x3f,0x2d,0xed, - 0xcb,0x8a,0x8b,0x8f,0xe8,0x57,0xa5,0x2a,0xc3,0x1e,0x6a,0x74,0xc1,0x8b,0x6c,0x21, - 0x67,0x04,0x59,0xf0,0x0f,0xa0,0x3e,0x62,0x4e,0x23,0x10,0x13,0x43,0xca,0x60,0xbb, - 0x33,0xd2,0xb2,0x6d,0xa5,0x4a,0xbb,0xe3,0x25,0x50,0xa7,0x93,0x4e,0xa5,0x99,0xa8, - 0x9a,0x6b,0x9b,0xa8,0x27,0xf1,0x8f,0x30,0x07,0x22,0x2a,0xcf,0x2e,0x21,0x9d,0xd2, - 0x61,0x4e,0x8c,0xd9,0xb6,0x4e,0x85,0xc7,0xd9,0x03,0x86,0x29,0xc1,0x22,0x0a,0x02, - 0xa1,0xce,0xb0,0x15,0xff,0x14,0xb2,0x08,0x84,0x38,0xdb,0xa7,0x0f,0x74,0xfc,0x4f, - 0x86,0xbb,0x00,0x62,0xda,0x6a,0x4e,0x83,0x69,0x4a,0x63,0x1a,0xce,0x57,0x2d,0xf2, - 0x07,0x32,0x57,0xb1,0x3e,0x8d,0xd3,0x96,0xe4,0x0e,0x1e,0x7f,0xd7,0xee,0x61,0x39, - 0x6a,0xee,0x88,0x56,0xd2,0x63,0x67,0x05,0x2a,0x1c,0xd3,0xca,0x78,0x7c,0xc1,0x8a, - 0x7f,0xe2,0xfe,0x31,0x97,0xe9,0xcd,0xa8,0x47,0xa8,0x68,0x02,0xa1,0x61,0x9c,0x3f, - 0x4f,0xe0,0x03,0xe5,0xb2,0x80,0x1a,0xad,0x57,0xec,0xb4,0xe0,0x9f,0x31,0x36,0x06, - 0xf3,0xe3,0x77,0x9f,0x2f,0xf8,0x5b,0x9e,0x06,0xc5,0xdc,0xc3,0x5f,0xa8,0x84,0x13, - 0x0d,0x15,0x71,0xc7,0xeb,0x39,0x0b,0x22,0x97,0xd5,0x2a,0xdc,0x3f,0x5f,0xb7,0xe2, - 0x9f,0xb7,0x11,0x24,0x3b,0xe3,0x81,0x67,0x49,0x11,0x6c,0x3a,0x5a,0x12,0x8d,0x7c, - 0xd6,0x7e,0x93,0xd6,0x52,0x54,0x12,0x97,0xb7,0x12,0xb7,0x71,0xd0,0xc0,0x41,0xaa, - 0xff,0xe7,0x15,0x8e,0x87,0xb9,0xf5,0xdd,0x89,0x86,0x7f,0x49,0x13,0xf5,0xfa,0x4d, - 0x3e,0x58,0x4f,0x8b,0x27,0x5b,0x52,0xf7,0x2a,0x26,0xd1,0xc5,0x82,0x7f,0xa6,0xef, - 0x86,0x83,0x52,0x7b,0x9c,0xf2,0x68,0x63,0x0b,0x94,0x34,0x45,0x62,0x4e,0x3b,0x1f, - 0xf4,0xdc,0xd8,0x89,0xff,0xe2,0xa1,0x44,0x6a,0xbc,0x95,0xff,0x3c,0xc4,0x61,0xcf, - 0x43,0x77,0xc7,0xe4,0x08,0x27,0x86,0x65,0xdb,0x3d,0x39,0x9c,0xff,0xfc,0x03,0x63, - 0xd9,0x21,0x71,0x1e,0xbd,0xa4,0xf3,0x7c,0xc0,0x69,0x56,0xfc,0xf3,0x1c,0x5c,0xed, - 0xe0,0x24,0xde,0xf9,0xdd,0x0c,0xf5,0xbb,0x2a,0x9a,0x6e,0x1f,0xdc,0x81,0x37,0xc7, - 0x65,0x9e,0x5f,0x60,0x2e,0x9d,0x15,0xff,0xec,0x86,0xdf,0x43,0x85,0xdf,0xbe,0x57, - 0x74,0x69,0x27,0x38,0xcd,0x23,0x26,0x0e,0x85,0xcd,0xf8,0x23,0x47,0x44,0x27,0x88, - 0x99,0x88,0x67,0xf5,0xff,0x2c,0x0e,0xb4,0x04,0x9d,0xfd,0xae,0x0b,0xc2,0x77,0xb4, - 0xdf,0x21,0x86,0x96,0x3f,0x79,0xed,0x2a,0x6b,0x81,0x07,0x0c,0x59,0xcf,0xe6,0xf5, - 0x37,0xcc,0x8c,0xb6,0x14,0xfe,0xb3,0x5f,0x57,0xea,0x0c,0xba,0xcf,0x6f,0xe3,0xcb, - 0xa2,0xc9,0x95,0x78,0x5e,0x1a,0x89,0x8b,0xf3,0xe7,0x7b,0x71,0x3b,0x9a,0x8a,0x3b, - 0xc5,0xff,0x93,0xf1,0x68,0x53,0xc1,0x00,0x5d,0xe3,0xff,0x01,0xa7,0xfd,0x7c,0x43, - 0xfe,0x3e,0x79,0x07,0xd6,0x37,0x15,0x9f,0x95,0x79,0x20,0x6c,0x2d,0xcf,0x90,0xfa, - 0xc1,0x14,0xfe,0x73,0x5c,0x2d,0x37,0xec,0x1e,0x91,0x46,0x5f,0x68,0xaa,0x54,0x1d, - 0x1e,0xf1,0xa4,0xf0,0x02,0xab,0x1c,0x9a,0xa6,0x8a,0xb5,0xe4,0x28,0xc4,0x0c,0x47, - 0x45,0x0a,0xff,0xf9,0xe7,0xda,0xb3,0x7c,0x11,0x3e,0x69,0x1c,0xe4,0xde,0x30,0x69, - 0xd9,0xb0,0x78,0x19,0xae,0x2a,0x78,0x85,0xf3,0x5d,0xc7,0xf8,0xe0,0x13,0xb1,0x7f, - 0xd2,0xfe,0xea,0x4c,0xfb,0x10,0x4e,0xac,0x2a,0xe7,0xd9,0xee,0x7d,0xd2,0x89,0xe8, - 0x21,0xe6,0xde,0x9b,0x53,0x6c,0xf0,0xf5,0xd9,0xa4,0xd7,0x7c,0x80,0x1a,0xd3,0xcc, - 0xc7,0xb4,0xe2,0x9f,0x5f,0xc2,0xa3,0x4a,0xbe,0xf1,0xe8,0x43,0xf8,0x90,0xeb,0x95, - 0x02,0x46,0x1f,0x24,0x33,0xd9,0x6f,0xd0,0x7e,0x94,0x35,0xbc,0xd2,0x94,0xc8,0x27, - 0xb5,0xe2,0x1f,0x9e,0xed,0x3e,0x97,0x47,0xbb,0x2e,0x42,0x23,0xcb,0x7f,0x37,0x83, - 0xa7,0xa5,0x98,0x7c,0xef,0xba,0xf0,0x51,0x75,0x9d,0x49,0xfc,0x4e,0xc1,0x3f,0x43, - 0xd0,0xa8,0xe9,0x7a,0x46,0xcc,0xd9,0xc7,0xc3,0x5e,0xf1,0x0c,0x4f,0x91,0x3b,0x6b, - 0xab,0x84,0xdb,0x2c,0x9d,0xf4,0x00,0x33,0xcc,0xfd,0x66,0xc5,0x3f,0x9d,0xe4,0x94, - 0xb1,0x68,0xeb,0x52,0x3d,0xfb,0x4c,0xe8,0x38,0x2c,0xda,0x77,0xa7,0x8e,0xb0,0xf6, - 0x38,0x17,0x2c,0x83,0xe2,0x45,0x38,0xa5,0x9b,0x19,0x28,0x29,0xf8,0x47,0x19,0x59, - 0xce,0x49,0x3e,0x05,0x67,0x4d,0xb7,0x4f,0x96,0x64,0x12,0x81,0x7c,0x82,0x83,0xd5, - 0xc4,0xe7,0x8c,0xd0,0x6b,0xf2,0xbf,0x06,0xc6,0x93,0x80,0x72,0x0a,0x95,0x3b,0x81, - 0xa7,0xbd,0x8b,0xdc,0x9f,0x63,0xaa,0xc5,0xf1,0x7c,0xa8,0xd4,0xfc,0xaf,0x55,0xc4, - 0x24,0xe1,0x44,0xc9,0x1c,0xb6,0x4b,0x2a,0xd1,0x36,0xfc,0x98,0xe7,0x7f,0xa1,0xd9, - 0x2b,0x47,0xc7,0x89,0x3d,0x29,0xf5,0x7f,0x78,0xfc,0xab,0x99,0xb5,0x6b,0xb6,0xcd, - 0xfe,0x42,0xc6,0x81,0x50,0x24,0xea,0x2c,0xd4,0x77,0x24,0xf2,0xb5,0x87,0x26,0xe6, - 0xa7,0xfa,0x7f,0x1a,0x34,0x67,0xc8,0x86,0xb0,0x47,0xda,0x41,0xdc,0xc1,0x1b,0x78, - 0xfc,0x6b,0x47,0xb5,0x99,0x08,0x9f,0x20,0xc6,0x20,0x62,0xb4,0xe6,0x7f,0xad,0xc0, - 0xd5,0xf0,0xc2,0x3d,0xcc,0xa6,0x9a,0xd5,0x8d,0x78,0xfc,0x8b,0x0c,0x9a,0x6a,0x77, - 0x3a,0x27,0x02,0x99,0xef,0x6b,0xcd,0xff,0x7a,0xaf,0xe9,0xb2,0x56,0xa5,0xfd,0xbc, - 0x6d,0x9c,0xff,0x3c,0xaf,0x4d,0x7c,0x8f,0x67,0xb8,0x73,0x20,0xf4,0x19,0xbd,0xac, - 0x25,0x18,0x2f,0x56,0xfc,0x63,0xfc,0x56,0x2b,0xe5,0xbf,0xbd,0xc0,0x89,0xc4,0x01, - 0xfb,0xeb,0xe2,0x02,0xf6,0x7e,0x62,0x7d,0x0a,0xb5,0x63,0x2e,0x73,0x7e,0x8a,0xff, - 0xc7,0x88,0x68,0x4e,0x68,0x69,0xca,0x8e,0x93,0x08,0x94,0xdc,0x70,0x57,0x18,0x35, - 0x52,0xa7,0xda,0x0e,0x72,0x18,0x37,0x71,0x44,0x33,0x19,0x41,0xa9,0xf8,0x67,0x73, - 0x08,0x8d,0xac,0xeb,0xf8,0x69,0xd2,0xdc,0xb5,0x19,0xd7,0xe1,0xfb,0xee,0xa2,0xaa, - 0xb6,0x64,0xe6,0xd1,0xb4,0x86,0x86,0x89,0xf7,0xb5,0xf2,0x7f,0x9a,0x51,0x9e,0xe3, - 0xa2,0x7d,0x98,0xde,0x9c,0x56,0x12,0x94,0xb9,0xff,0x67,0x17,0xac,0x34,0x89,0xe8, - 0x22,0xcf,0xbf,0xbb,0x31,0x3a,0xc5,0xff,0xf3,0x06,0x78,0xb9,0x1b,0xe7,0x65,0x7f, - 0x33,0xf8,0x82,0x99,0xfc,0xfb,0x9e,0xc5,0xe7,0xdf,0xb4,0x4d,0x2c,0x34,0x8e,0x19, - 0xfc,0xf9,0x0b,0x52,0xf0,0x8f,0x3a,0x1a,0x49,0x2c,0x82,0xca,0x61,0x8f,0xc9,0x07, - 0x7b,0x83,0xf3,0xc1,0xb2,0xe5,0x73,0x30,0x6a,0xe2,0x9f,0x69,0x56,0xfc,0xc3,0xa0, - 0x4f,0xf1,0x65,0x3b,0x58,0xa3,0x2a,0xd5,0x25,0xa2,0xab,0x80,0xaa,0xa3,0x8c,0x2f, - 0x7b,0x3e,0xf4,0x69,0xe6,0xfa,0xa7,0xf0,0x9f,0x61,0x23,0xcc,0x8b,0xca,0x83,0xa4, - 0xbc,0xf0,0x22,0x94,0x34,0xc8,0x71,0x5b,0xb9,0x99,0x11,0x26,0x27,0xf2,0xbf,0x78, - 0xfd,0x96,0x95,0x56,0xff,0xcf,0xed,0xd0,0x62,0xac,0x8e,0xca,0xe5,0x44,0x36,0xf3, - 0x91,0x79,0xbe,0x2d,0x24,0x12,0x27,0xc9,0x6e,0xae,0xc1,0xf9,0xc0,0xea,0xff,0xa1, - 0xbc,0x48,0x4e,0x3f,0x8a,0xa9,0xfb,0x39,0xed,0xa7,0x4f,0x06,0xa2,0x28,0xeb,0x3d, - 0xb3,0x0d,0xb9,0x94,0xf0,0x54,0x71,0x7e,0x7e,0x9d,0xa9,0xfe,0x1f,0xce,0x76,0x76, - 0xf0,0xb4,0xf7,0x3f,0xb0,0xc5,0x67,0x1d,0x75,0xa2,0x0f,0x5e,0x8d,0xdd,0xca,0xaf, - 0x3c,0x11,0xfe,0x4d,0xe2,0x57,0x56,0xfe,0x73,0xa7,0x34,0x9a,0xe6,0x43,0x25,0x3e, - 0xcb,0x9e,0x48,0x7b,0x8f,0x8a,0x71,0x7a,0x49,0xe5,0x66,0xbe,0xfc,0xa1,0x49,0x74, - 0x49,0xe5,0x3f,0xa7,0x7d,0xae,0x1d,0x8b,0xce,0x1f,0xb0,0x8f,0x22,0xec,0x39,0xc1, - 0xbc,0xef,0x3a,0x78,0xd9,0x9f,0x57,0xc3,0xbe,0xf8,0xa6,0x51,0xf1,0xaa,0x7a,0x35, - 0x91,0xff,0x6e,0xe4,0x5a,0xf8,0x3f,0xd0,0xb4,0x23,0xbf,0x37,0xf3,0xeb,0xe2,0x13, - 0xfa,0xce,0xd8,0xdc,0x01,0x14,0x3b,0xfd,0xda,0x7a,0xb5,0x78,0x10,0xc5,0x08,0x07, - 0x36,0x8b,0xb9,0xfc,0xb1,0xfa,0x7f,0x72,0x61,0x2d,0x29,0x30,0xee,0xac,0x27,0xcf, - 0x35,0x35,0x0a,0xf9,0x06,0xee,0x36,0x9e,0xaf,0xf1,0x9d,0x3e,0xf9,0xbb,0xe4,0x6d, - 0xed,0x40,0x42,0x5e,0xa5,0xfa,0x7f,0x1a,0x7a,0xf4,0x5f,0x65,0x00,0xd9,0xc4,0x76, - 0x42,0x9d,0x81,0xbb,0xcb,0x80,0x46,0xc9,0x5c,0xc6,0x93,0x2b,0xf6,0x6a,0x09,0x62, - 0xa7,0xd5,0xff,0x93,0x7e,0x22,0xd2,0x55,0x8f,0xf6,0xe3,0x46,0x38,0x81,0x40,0xc5, - 0xc1,0xf9,0x4e,0xaf,0x02,0xae,0xc0,0x15,0xf1,0xaa,0x49,0xf4,0x75,0xc4,0x6a,0x92, - 0xfb,0x81,0x69,0x08,0x02,0xd5,0x23,0xf5,0xa8,0x7d,0x76,0xc3,0x25,0x09,0xa7,0x75, - 0x98,0x7c,0x54,0x9f,0x71,0x73,0x17,0x27,0x4a,0x29,0xd7,0xe4,0x7f,0x8d,0xa1,0xda, - 0xaa,0xf2,0x37,0x0d,0xcb,0x8b,0x79,0xf6,0xae,0xe1,0xb8,0x4b,0xbc,0x97,0x25,0xf8, - 0x3f,0x05,0x63,0xf0,0x27,0x7b,0x82,0xff,0xac,0x25,0xe3,0x5f,0x75,0xd0,0xc2,0x0a, - 0xeb,0xe9,0x3e,0xe7,0x6c,0xc5,0xa4,0xf1,0xec,0x26,0x3a,0x1b,0xe7,0xff,0x0c,0x99, - 0x8c,0xe8,0x29,0xf9,0xef,0x76,0x94,0x3f,0x25,0xf1,0x1b,0x3c,0xe1,0xd5,0x26,0xed, - 0xe7,0xa7,0xec,0x99,0xd5,0xca,0x35,0xf3,0xad,0xfc,0xe7,0x30,0x53,0x0b,0x8d,0x1b, - 0x3c,0xc4,0xce,0x1a,0x15,0x3b,0xcf,0xc6,0x6d,0x95,0x50,0xf1,0x1d,0xbd,0xd1,0x9b, - 0x9d,0x28,0xd4,0x26,0x7b,0xb2,0x2d,0xfe,0x1f,0xfb,0xd2,0x0e,0x14,0x0b,0x3d,0x1b, - 0x63,0xf2,0x6a,0xe7,0x09,0xd5,0xd7,0x8b,0xeb,0x13,0x82,0x57,0x83,0xbe,0x33,0x8e, - 0x2e,0x93,0x98,0xe1,0xe5,0x8a,0xd8,0x82,0x7f,0xee,0xde,0x0d,0x97,0x95,0x85,0x46, - 0x5a,0xbf,0x78,0x12,0xae,0x86,0xaa,0x7a,0x1d,0x71,0xd1,0x24,0x42,0x1f,0xcf,0xdc, - 0x53,0xc0,0x13,0xbd,0xf1,0xc5,0xcf,0x37,0x5a,0xfc,0x3f,0x33,0xae,0xc0,0xdb,0x6b, - 0xab,0x56,0xed,0x3e,0x2a,0x66,0x73,0x36,0x14,0xc7,0x4b,0x9f,0xc0,0x25,0xb6,0x87, - 0xda,0x5f,0x10,0xab,0xa0,0x55,0x9d,0x1f,0x7f,0x34,0x35,0xfe,0xf5,0x11,0x1c,0x0c, - 0xa3,0x7d,0xda,0x94,0xad,0xb2,0x16,0xa3,0x7d,0xba,0xd8,0x4a,0xf2,0xed,0x97,0xb8, - 0x07,0x2c,0x4c,0x28,0xfb,0x99,0xe1,0xec,0xcb,0x9c,0x12,0xff,0x82,0x28,0xac,0xd6, - 0x68,0x7a,0x58,0x55,0xf7,0x6a,0xae,0x1b,0x64,0x89,0xf4,0xb0,0xc3,0x82,0xaa,0x50, - 0xc1,0xef,0xc2,0xcf,0x59,0x77,0x74,0xee,0xd4,0xf8,0xd7,0x41,0x5e,0xed,0x44,0xd0, - 0x56,0xb0,0x9f,0x81,0x53,0x97,0x3b,0xc9,0x1c,0xbe,0x8c,0x71,0x75,0x1b,0x9e,0xdf, - 0x5d,0x68,0xd8,0x66,0x4c,0x89,0x7f,0xc1,0x1b,0x01,0x5f,0x9d,0xbd,0xb5,0x71,0x0e, - 0x8f,0x0e,0xbb,0x1c,0x33,0xe5,0x3f,0xc0,0xa7,0xa2,0x37,0xd4,0xba,0x5d,0xb4,0xc3, - 0xb1,0xea,0x72,0xa3,0x38,0x26,0xa6,0xe2,0x9f,0xcb,0xd1,0x2a,0x90,0xcf,0x88,0xfb, - 0xe1,0x65,0x2e,0x96,0xf9,0x7e,0xfb,0x98,0xfe,0xb3,0x36,0x2f,0x8a,0xaf,0xf9,0x5d, - 0x58,0x38,0x05,0xff,0xc0,0x6e,0xee,0xdf,0x0e,0xa2,0x91,0xdb,0xc1,0xde,0x02,0xdf, - 0x72,0x7b,0xd3,0xcf,0xd4,0x6a,0xd4,0xef,0x4a,0xd6,0x93,0xdc,0xff,0x43,0x2a,0x78, - 0xa0,0xcd,0x8a,0x7f,0xdc,0x70,0x5b,0xaf,0x93,0xd3,0xb6,0x5f,0x56,0x37,0x71,0x43, - 0x7e,0x23,0xb9,0xe5,0xf6,0xb7,0x50,0x91,0xd1,0x1f,0x21,0x7e,0x7b,0x03,0xc8,0x4b, - 0x99,0x29,0xf8,0x67,0xc6,0x52,0xd8,0xc3,0xe6,0x68,0x54,0xf5,0xf7,0xa0,0xd8,0x59, - 0x3d,0x7c,0x97,0x9a,0x4d,0x51,0x83,0xaf,0xd2,0xb9,0x47,0xc8,0x60,0xe0,0x1e,0xb6, - 0x4d,0xc1,0x3f,0xf0,0x4b,0xe3,0x96,0x55,0xae,0x6f,0x91,0xf3,0x64,0x7d,0x43,0x71, - 0x3b,0xfd,0x3e,0xb9,0x4e,0x5b,0x1f,0x2b,0x5e,0x65,0x5b,0x3e,0xe7,0x06,0xe5,0xc7, - 0x3d,0xb3,0xe3,0x19,0x53,0xf3,0xbf,0x3e,0xc9,0xdb,0x77,0x3b,0x55,0x44,0x83,0xbd, - 0x50,0x58,0x09,0x45,0xb9,0x22,0xf8,0x1b,0xa3,0x0b,0xb6,0x6c,0x54,0x45,0x4a,0x0c, - 0xa5,0xb2,0x6f,0x4a,0xfe,0xd7,0x73,0xf0,0x09,0xdc,0x56,0x3b,0x8d,0x87,0x4d,0x3f, - 0x06,0xb3,0x10,0xe2,0x05,0x33,0x3e,0xf8,0xca,0xaf,0x78,0x44,0x55,0x5a,0x64,0xa4, - 0xc6,0xbf,0xd2,0x78,0x51,0x0e,0x5f,0xc8,0xae,0xcb,0x59,0xfc,0xfc,0x72,0xfe,0x6a, - 0x39,0x1f,0x40,0xa6,0x21,0x0e,0x29,0x23,0xc4,0xc7,0x13,0x39,0x53,0xfd,0x3f,0x5c, - 0x68,0xb8,0x3c,0x62,0x2e,0xac,0x37,0x78,0xf4,0x41,0x7c,0x98,0xac,0x17,0xe6,0xf2, - 0x44,0xe3,0x7e,0xd8,0xaf,0x17,0xf3,0x52,0x1b,0x56,0xfc,0xf3,0x04,0x1c,0x68,0xfa, - 0x87,0x90,0xed,0x61,0xbf,0x8f,0xe3,0x9f,0x90,0x7c,0xbf,0x2d,0x9b,0x67,0x84,0xa9, - 0xcd,0x75,0xe1,0x37,0x61,0x5f,0xac,0x98,0xbf,0x6f,0x8a,0xff,0x07,0xf6,0xf6,0xaf, - 0xee,0xb1,0x3d,0xe7,0xb7,0x35,0xa0,0x18,0x0f,0xca,0x33,0x6d,0x7f,0xaf,0xe1,0xf9, - 0xfa,0x1e,0x7d,0x82,0x1c,0xd7,0x62,0x3c,0x91,0x70,0x0a,0xfe,0x81,0xcf,0xb5,0xaa, - 0xf6,0xac,0x01,0xb1,0x9c,0x07,0xca,0xda,0x51,0x3e,0x97,0xc3,0x6b,0x68,0xd8,0x65, - 0x0e,0x8a,0x23,0xca,0x15,0xcd,0xac,0x27,0x36,0xc5,0xff,0x13,0xca,0xa2,0x99,0xe1, - 0x02,0xb3,0x30,0x4b,0xb6,0x23,0x2c,0x9e,0x65,0x23,0x62,0x45,0x9e,0xc3,0x64,0x44, - 0x87,0xfe,0x0c,0xfe,0x19,0x2f,0xfb,0x53,0x88,0x0b,0x6b,0x0e,0x66,0x4b,0xc7,0xb4, - 0x8a,0x60,0xd6,0xb6,0x82,0x42,0xee,0xff,0xd1,0x4a,0xa6,0xe0,0x1f,0x38,0xa8,0x3b, - 0xb5,0x96,0xe8,0x5d,0x85,0xf4,0x20,0x71,0xd6,0x72,0xb5,0x1b,0x6e,0x66,0x6a,0x90, - 0xf3,0x7f,0x42,0x97,0x13,0xfe,0x9c,0x54,0xfc,0x73,0x50,0x75,0x6a,0x4b,0xb8,0xb5, - 0x75,0x10,0x7f,0x9b,0x11,0x45,0xd0,0x6d,0xf2,0x55,0xf6,0x10,0x89,0x0f,0x42,0xb6, - 0xe8,0xd4,0xfa,0x3f,0x7c,0x59,0x72,0xfd,0x69,0xb0,0x47,0xc0,0x81,0x92,0xcd,0xf9, - 0x3f,0x21,0x8d,0xe6,0x7a,0xd3,0x78,0x05,0xaa,0x20,0x4d,0xc5,0x3f,0xa1,0xf1,0xb2, - 0x3f,0x05,0xbc,0xfe,0x4f,0x17,0x6b,0xe6,0xf5,0x7f,0xfa,0xa0,0x82,0x6d,0xd4,0xc7, - 0x13,0xb1,0x37,0xa6,0xe2,0x9f,0x01,0xb8,0x2c,0xfc,0x12,0xf1,0x4c,0xce,0x18,0xe5, - 0xf8,0x47,0xbc,0x2f,0xe7,0x33,0xf8,0x0c,0x16,0xf7,0x2f,0x3b,0xad,0x5d,0x80,0xcb, - 0xd5,0x95,0x53,0xf1,0x0f,0x0f,0x93,0x79,0xaa,0x1d,0x6d,0xe2,0x02,0xf2,0x8a,0xab, - 0x34,0x68,0xef,0x17,0xf7,0xe9,0x2f,0xe2,0x46,0xb2,0x9f,0x16,0x67,0xc3,0xbf,0xc3, - 0x7c,0x9e,0x3f,0x95,0xea,0xff,0xe9,0xe6,0xa4,0xb8,0xb5,0xd9,0x40,0x39,0x10,0xa2, - 0x4f,0xfa,0xe7,0xea,0x11,0x68,0x57,0xe8,0x3a,0x42,0xcd,0xfa,0x87,0xae,0xa9,0xf8, - 0xe7,0x20,0xb8,0xfc,0x72,0xf6,0xca,0x81,0xce,0xcd,0xc0,0xb3,0xbd,0x48,0x13,0x67, - 0x58,0x05,0x23,0xb9,0xa4,0x29,0xfa,0x53,0x70,0x69,0x54,0x49,0x8d,0x7f,0x29,0x07, - 0xa1,0x28,0x28,0xb7,0x55,0x0c,0xc0,0xe3,0x92,0x33,0x18,0x89,0x66,0x27,0xea,0xff, - 0xd0,0x2d,0xfc,0x0f,0x95,0x22,0x8d,0x4e,0xc5,0x3f,0x9f,0xb0,0x0a,0xcd,0xb1,0x8d, - 0x70,0x18,0xd3,0x55,0x8f,0xf8,0xb6,0x23,0x80,0x9f,0xb5,0x5e,0xfa,0xb1,0xf8,0xa4, - 0xf6,0x06,0x94,0x9b,0xf9,0xef,0x56,0xfc,0x03,0xa3,0x85,0xfb,0x35,0xc7,0xf5,0xe2, - 0x9c,0xd0,0x59,0xa1,0x72,0xd5,0xbc,0x9f,0x88,0xbd,0x64,0x54,0xa8,0x0c,0xcc,0xcb, - 0x93,0x1f,0x80,0xd1,0xd6,0xfd,0xfe,0xa9,0xfe,0x1f,0xbe,0xfe,0xca,0x52,0x26,0xef, - 0x00,0xb3,0xec,0x00,0xe2,0x97,0xda,0x11,0xa5,0x2b,0xdb,0xde,0x94,0x93,0x4f,0xc6, - 0xf9,0xe7,0x29,0xf1,0x2f,0x38,0xc2,0xd9,0x3e,0x3a,0xb9,0x01,0x9e,0x61,0x05,0x51, - 0x1a,0x0a,0x2f,0x82,0x23,0xb0,0x30,0x9a,0x39,0xb0,0xe1,0x0b,0xea,0xe7,0x20,0x32, - 0x97,0x9e,0x9a,0xff,0x05,0x7b,0x07,0x18,0x9e,0x47,0xba,0x09,0xad,0xad,0xc2,0x87, - 0x32,0xca,0xd7,0xad,0x55,0xf7,0x30,0xb5,0xdf,0x96,0x17,0x76,0x34,0x35,0x6a,0xc0, - 0xa8,0xc7,0x99,0x1a,0xff,0xda,0xaf,0x15,0xf0,0xfa,0x3f,0x79,0xea,0x0e,0x3a,0x3b, - 0x78,0x3d,0x4f,0x83,0xda,0x07,0xdf,0xe0,0xc0,0x60,0xa6,0xb2,0x1f,0xf2,0x8d,0xba, - 0xa9,0xf9,0x5f,0x9c,0xff,0xd3,0x7a,0x91,0x3c,0x81,0xd6,0xd9,0xc2,0xf8,0x5c,0xb3, - 0xec,0x4f,0xc3,0xfc,0x78,0xc9,0x99,0x82,0x1b,0xc8,0x4b,0x6c,0xb3,0x3e,0x35,0xff, - 0x0b,0x86,0x39,0xff,0x27,0xf6,0xfb,0x41,0x3c,0x38,0x8b,0x78,0x76,0xea,0x30,0xcf, - 0x37,0xd1,0x50,0x9e,0xbc,0xa7,0x5f,0xe4,0x12,0x3b,0x05,0xff,0x64,0x5e,0x81,0xe7, - 0xf5,0xaa,0x77,0xed,0x17,0x1b,0x3f,0xa7,0xbf,0x63,0xa5,0xab,0xec,0x23,0x37,0x96, - 0xd1,0x57,0xd9,0x7c,0xdd,0xcd,0x03,0x61,0xc6,0xe6,0x52,0xdd,0x3d,0x62,0x8d,0x7f, - 0x09,0xdb,0x61,0xbf,0x31,0x8f,0x47,0xdb,0xc7,0xd8,0x6f,0x60,0xe7,0x3d,0x68,0x7f, - 0x4d,0x57,0xd3,0x61,0x2e,0xb3,0xad,0x20,0x33,0xb5,0x26,0xb6,0x23,0x62,0x4b,0xc5, - 0x3f,0x28,0xaf,0x68,0x31,0x67,0x07,0x9d,0x56,0xd6,0xc3,0x6c,0xad,0x9c,0xd3,0x7e, - 0x70,0xd0,0x8b,0xf2,0xaa,0x1e,0x5a,0x3d,0xb3,0x1b,0xe8,0x14,0xfc,0x23,0x75,0x55, - 0xbb,0x8d,0xf2,0x05,0x47,0x4f,0xa9,0x5b,0x61,0x4e,0x34,0xaf,0x8c,0x7c,0xdb,0x34, - 0x6c,0x6f,0x50,0xfd,0xb7,0xe3,0x77,0x29,0x04,0xdb,0xd4,0xf8,0xd7,0x25,0xb6,0xf8, - 0x35,0x7a,0x81,0xbc,0xe2,0x79,0x01,0xca,0x0a,0x29,0x88,0x7f,0x0f,0x2f,0x40,0xe1, - 0x79,0xf7,0x13,0xf2,0x77,0xe0,0xa8,0x51,0xc6,0xdc,0xd7,0xc4,0xbf,0x42,0x59,0x7d, - 0xb8,0x08,0x83,0xd2,0x25,0x5e,0x98,0xeb,0xd9,0x82,0x1d,0x0c,0x07,0x67,0x36,0xb5, - 0x8b,0xbb,0x43,0x17,0xff,0x0c,0xfe,0x81,0xab,0x7a,0xa9,0xd1,0x3a,0x2c,0x3f,0x07, - 0x27,0xa2,0xa5,0x2c,0xb3,0x41,0x74,0x0b,0xaf,0x36,0x2c,0x1a,0x44,0xa0,0x3e,0x02, - 0xa7,0xa0,0x94,0xb5,0xa6,0xf8,0x7f,0xa4,0xd5,0x10,0x3b,0xca,0xfd,0x3f,0x7e,0x97, - 0xd2,0x22,0xa0,0x5a,0xef,0xb2,0x15,0xc0,0x5b,0xf7,0x3a,0xe3,0x14,0x77,0x78,0xfa, - 0x86,0x06,0x55,0x9b,0x17,0x9b,0x12,0xff,0x3a,0x64,0xa6,0x89,0xd9,0x3a,0xe0,0xa7, - 0xb0,0xd2,0x49,0x63,0x73,0xe6,0x48,0x2d,0xf6,0x6f,0x1f,0xa5,0xdb,0xc2,0xaf,0xd0, - 0x0d,0x86,0xb3,0x61,0x0a,0xff,0xc7,0x0e,0x5d,0xea,0x78,0x5a,0x19,0xca,0x67,0xc1, - 0xc5,0xc3,0x1c,0x26,0x3f,0x13,0x10,0x58,0x86,0xd5,0x10,0xfb,0x82,0xc7,0x9a,0xff, - 0x95,0xb6,0xda,0x04,0x39,0xae,0xe1,0x9c,0x0e,0xf2,0x16,0x74,0x69,0x33,0x79,0xa1, - 0xb9,0x16,0x7c,0x4d,0x37,0xcb,0x89,0x93,0xe3,0xf9,0x5e,0xbe,0x3e,0x16,0xfc,0x33, - 0x63,0xcc,0xcc,0xdf,0xe1,0xfc,0x0d,0x0e,0x7b,0x40,0x1e,0x16,0x86,0xf3,0xfe,0xa4, - 0x56,0x71,0xe2,0xd3,0x30,0x5c,0x51,0x16,0x43,0x6a,0xfd,0x9f,0xaf,0x5c,0x51,0x2e, - 0x85,0x4a,0xcf,0x6e,0x32,0xc4,0x7b,0xe1,0x52,0x83,0x57,0xcd,0xec,0x13,0x2b,0x95, - 0x56,0xe8,0x8a,0xcf,0x1c,0x2d,0xb8,0x4e,0xbb,0x9c,0x5d,0x1a,0xb7,0x8f,0x88,0xb1, - 0x24,0xfe,0x81,0x8f,0xe0,0xf9,0x5a,0x12,0x42,0x23,0xcb,0x29,0xb5,0xa8,0x65,0x21, - 0x79,0x1b,0x79,0x5e,0x3b,0x1e,0x72,0xc6,0xcd,0x0a,0x90,0x87,0x83,0x2b,0xe3,0xb4, - 0x5b,0x4c,0xd6,0x7f,0x36,0xcf,0x97,0x47,0x35,0x96,0x84,0xb7,0xa8,0xf4,0xa7,0x2e, - 0x17,0xb7,0xce,0xec,0x10,0xc9,0xc3,0xf7,0xf5,0x66,0x4b,0x6c,0xb3,0xaa,0xf2,0xa5, - 0xe8,0x4a,0xc1,0x3f,0x87,0x21,0xdc,0x2f,0xb3,0x97,0x9c,0x6a,0x0b,0xcc,0x01,0x79, - 0x1d,0x31,0x2b,0x42,0x1b,0x75,0x31,0x52,0x02,0x87,0x99,0x19,0x58,0x4c,0xd6,0x7f, - 0x06,0xc9,0x2d,0x1d,0x06,0xef,0x30,0x2a,0x1d,0x51,0xf9,0x35,0x54,0xa8,0x99,0x92, - 0xe8,0x46,0xb3,0xc8,0x73,0x9e,0xc6,0xa6,0x95,0xb0,0x4b,0xac,0xdd,0x70,0xc7,0x84, - 0xe8,0xe4,0xf3,0xef,0xd0,0x78,0xfe,0x7b,0xd5,0x17,0x1d,0xc7,0xe4,0x98,0xeb,0x77, - 0x46,0xd5,0xf0,0xa6,0x91,0xc6,0xb7,0x6d,0x1f,0x6d,0xfe,0xe1,0x7b,0x9c,0xff,0xa3, - 0x8c,0xfb,0x7f,0x86,0x2c,0xfa,0x77,0x37,0x47,0xd7,0x31,0x07,0xe7,0x1f,0xbe,0x25, - 0x95,0x69,0x8e,0xa6,0x9a,0x8f,0x38,0xff,0xe1,0xa8,0x3d,0x26,0x7e,0xc8,0x4d,0x63, - 0xbe,0xdf,0x92,0xfc,0xe7,0x3e,0xc9,0x0d,0xcf,0x73,0x23,0x0b,0x88,0xca,0x7e,0x16, - 0x71,0xc6,0xe5,0xce,0xec,0x31,0xa5,0x1d,0xd5,0x6e,0x66,0xcc,0x3f,0x94,0xbb,0x81, - 0xa9,0xf1,0x14,0xff,0x8f,0x91,0x6b,0x87,0xc3,0x68,0x86,0xb7,0xa8,0x44,0xe0,0x34, - 0x8c,0x8e,0xbf,0x2b,0xc6,0x6d,0xd0,0x0e,0x6e,0x5c,0xcf,0xec,0x93,0xd9,0xcd,0x3b, - 0x70,0xbe,0x07,0xf5,0xfb,0xc4,0x4f,0x08,0x66,0xc1,0x81,0x1d,0xc5,0x5a,0xcb,0x08, - 0x79,0x48,0x7b,0x3a,0xd6,0x50,0x67,0xd2,0x76,0x9f,0x8e,0x16,0x7f,0xd0,0xbc,0xc6, - 0x79,0x45,0x49,0x67,0xf9,0xef,0xe2,0x95,0xb1,0xc9,0x7a,0xe0,0x81,0xbc,0x2c,0xed, - 0xd3,0x86,0xca,0xda,0x65,0x20,0xdb,0x58,0x4b,0x7b,0xee,0xee,0xff,0xe6,0x11,0x4f, - 0xda,0xdf,0xf5,0x57,0x0e,0xda,0x17,0xe5,0x9f,0x04,0xc4,0x69,0x9c,0xf8,0x6d,0xc1, - 0x3f,0xf6,0xe7,0xb4,0xab,0x1a,0x2e,0x82,0x26,0x3e,0xc7,0x3e,0x06,0x9f,0xe8,0xf8, - 0xa4,0xf1,0x6d,0xb8,0xc2,0x89,0xd3,0xc3,0xe2,0xc3,0x9a,0x19,0x3a,0xe4,0x78,0x72, - 0xe2,0x7d,0x39,0xbf,0xf4,0x92,0x5a,0x19,0xb7,0xc7,0x45,0x40,0xd8,0x53,0xb2,0x65, - 0x53,0x58,0xfc,0x30,0x74,0x11,0x3c,0xb8,0xec,0x39,0x89,0xc4,0x4c,0x5c,0xa8,0xa3, - 0xc9,0xfa,0x27,0x1c,0xff,0xd4,0x16,0x73,0xb6,0xb3,0x82,0x78,0x7b,0xbe,0xc1,0xcd, - 0x28,0x76,0x00,0x76,0x70,0xd8,0xf3,0x36,0x3d,0x07,0x1c,0xff,0xac,0x4c,0xf2,0x7f, - 0x80,0xe3,0x1f,0xbd,0x38,0x4e,0x29,0xb9,0x41,0x58,0xcf,0xbe,0x35,0x28,0xff,0x2d, - 0xbe,0x6f,0xd7,0xba,0x9d,0x3c,0x11,0x0c,0xf1,0x0f,0xc3,0x5f,0xad,0xf1,0x6f,0x4b, - 0xc5,0x3f,0xe0,0xee,0x8f,0x30,0x42,0x23,0x5b,0x25,0xb5,0x5f,0xbe,0x0d,0xd7,0xb3, - 0x0b,0xd4,0xce,0x1b,0xb8,0x19,0xab,0x07,0x57,0x73,0xfc,0xf3,0x66,0x12,0xff,0x48, - 0x9d,0xdc,0xe9,0xd7,0x84,0xcf,0x5f,0x4e,0x8f,0xef,0xa8,0xe8,0x76,0xe8,0x39,0x83, - 0xf8,0xbe,0xf3,0xb7,0x21,0xe2,0x7d,0x63,0xd5,0x95,0xa6,0x4a,0x86,0x83,0x43,0xc9, - 0xfb,0x9b,0xfa,0xc8,0xa7,0x38,0xd8,0x17,0x78,0x1a,0x0e,0x77,0x04,0xe5,0x18,0xe3, - 0x57,0xa6,0xc5,0x73,0x47,0x68,0x16,0xcc,0x63,0x05,0xaf,0x25,0xd7,0x27,0x58,0xa8, - 0x8c,0x42,0x36,0x2f,0xf3,0x3b,0x47,0x38,0xa6,0x7b,0x6b,0x97,0x6d,0x2b,0x18,0x80, - 0xf7,0xa1,0x6c,0x95,0x99,0xdf,0xd4,0x03,0xe3,0xf5,0x0f,0x27,0xe6,0xb3,0x44,0x3d, - 0xc3,0xfa,0x96,0x28,0x99,0x16,0xdd,0xc1,0x8a,0xb8,0xf5,0xc4,0x15,0xab,0x73,0x4d, - 0xa6,0x99,0x88,0xad,0xb5,0x27,0xf0,0xcf,0xc4,0x4f,0x9e,0xd4,0x01,0x7b,0xa0,0xe8, - 0x3e,0x8e,0x7f,0xb4,0x66,0x84,0xd9,0x4b,0x36,0x93,0x73,0xb8,0x91,0xe6,0x68,0x89, - 0xc4,0xed,0x66,0x13,0x11,0x59,0xf0,0x4f,0xae,0x04,0x7b,0x34,0x33,0xdb,0xab,0x90, - 0xee,0xac,0xa6,0x5a,0x8b,0x92,0xdd,0x2b,0x6c,0xd6,0x70,0x5a,0xae,0xff,0x3d,0x1e, - 0x01,0xd1,0xe6,0xa6,0xe0,0x1f,0xca,0xf1,0x4f,0x05,0x1e,0x5b,0xc4,0x3f,0x94,0x98, - 0xd1,0x96,0xb8,0xd4,0x07,0xfb,0xc1,0x94,0x3f,0x89,0x8a,0x34,0x05,0x1f,0x4d,0x9b, - 0x90,0x3f,0xdd,0xb9,0x88,0xf7,0x6a,0xab,0x34,0xc7,0x85,0x02,0x5e,0x08,0x88,0x7b, - 0x33,0x84,0xf7,0xe0,0xb7,0x7e,0xbc,0x12,0x25,0x63,0xc0,0xfd,0x3f,0x59,0x51,0xf1, - 0xa3,0xc9,0xfa,0xab,0xe5,0x88,0x7f,0x46,0x5d,0xa5,0x46,0x56,0x9b,0xbc,0x00,0xde, - 0x13,0x7c,0xd5,0xf6,0x68,0xce,0xf7,0xd4,0x63,0xb4,0x4a,0xb3,0x6f,0x16,0x07,0xb4, - 0x57,0x5c,0xbc,0xfe,0xa1,0xf8,0xd1,0xe4,0xfe,0xc9,0x83,0x38,0x2d,0xcf,0x47,0xd8, - 0xb3,0x0e,0x9f,0x27,0xe2,0xca,0x62,0x36,0x96,0x1d,0x82,0x33,0x2a,0xe7,0x23,0x89, - 0x71,0x5b,0xc4,0xc9,0xeb,0x1f,0xe2,0xfb,0x4e,0x7c,0x5f,0x0d,0x9a,0x60,0x8f,0x4b, - 0xe5,0xf5,0x9f,0x6b,0xa5,0x1d,0xa4,0x48,0x8b,0xf0,0xfa,0xcf,0x0d,0xb4,0x44,0x63, - 0xf8,0xe2,0xac,0xc1,0xe5,0xe6,0xf8,0x27,0x59,0xaf,0x32,0x2f,0xb7,0x83,0xc3,0xc8, - 0x00,0x8d,0xde,0x30,0xdb,0x0c,0x44,0xda,0xa2,0x6c,0x35,0x02,0xa1,0xa2,0xa0,0x10, - 0xc5,0x3f,0x34,0xeb,0x2f,0x71,0xfc,0x33,0xb1,0x3e,0xbc,0xfe,0xe1,0x41,0xe8,0x5a, - 0x93,0x85,0xbf,0x55,0xde,0x0f,0x3f,0x8c,0xbf,0x15,0x57,0xc1,0xb1,0x90,0xbb,0x9e, - 0x46,0x6f,0xc1,0xf5,0x37,0x78,0xfd,0x43,0xc4,0x03,0x13,0xf7,0x1f,0x54,0x3a,0x10, - 0x06,0xe3,0xb2,0xe4,0x8a,0x7f,0xa0,0xa3,0x01,0xb3,0x10,0x22,0xcf,0x7f,0xf7,0xd5, - 0x39,0xa2,0xd3,0x3a,0x12,0x11,0xc3,0x28,0xe2,0xed,0x89,0xf9,0x45,0xe6,0x7e,0x2b, - 0xe1,0xcb,0x1e,0x4a,0x54,0x97,0x6a,0x12,0xe3,0xea,0x78,0x21,0xa0,0x38,0xf4,0xa9, - 0x53,0xf0,0x0f,0x4d,0xe3,0xd5,0x0e,0x8b,0x9b,0x96,0xe8,0x35,0x87,0x8c,0x23,0xd5, - 0xdc,0xed,0xa3,0x8d,0x48,0x1b,0xe0,0xf7,0xd1,0x16,0x9d,0x0c,0x2a,0x1b,0xf1,0x20, - 0xb8,0x74,0x31,0x3c,0xb9,0x7f,0x68,0xda,0x52,0x05,0xcf,0x4b,0x1b,0x0a,0x19,0x1b, - 0xc4,0x58,0xe1,0xbb,0x72,0x39,0x4f,0x93,0x14,0xd4,0x31,0xb3,0x5e,0x4d,0x34,0xa8, - 0x26,0xf8,0x99,0x13,0xf3,0x79,0xfd,0xc3,0x03,0x85,0xc5,0x70,0xe3,0xa7,0x78,0xe8, - 0xf6,0x19,0xf9,0xfd,0x72,0x7d,0xf8,0xb7,0xb4,0xb1,0x3d,0x9f,0xbb,0x41,0xde,0x16, - 0xd7,0x31,0xce,0xdf,0x4b,0xef,0x4b,0xe2,0xb7,0x3c,0x44,0x3b,0x3b,0xfe,0x79,0x87, - 0xe3,0x07,0x68,0x5f,0x5f,0x60,0xb7,0xbe,0xeb,0xf8,0x1b,0xf1,0x54,0xc6,0xcb,0x46, - 0x7e,0x3c,0xf3,0x91,0xc6,0x2b,0xda,0xdb,0x6c,0x4f,0x88,0xae,0x11,0x8f,0xa7,0x4f, - 0x3e,0x4f,0x26,0xca,0xdb,0x2f,0xf9,0x1a,0x1c,0xe5,0x7f,0x35,0xa8,0xf8,0xe0,0x08, - 0x9a,0xf9,0x5c,0x8c,0xb8,0x7c,0x2c,0xb3,0x2b,0x67,0x75,0xef,0x78,0xe2,0x6d,0x78, - 0xd2,0xff,0x1c,0x92,0x8e,0xc0,0x55,0x63,0x7e,0x87,0xb4,0x46,0xac,0xf0,0x0f,0xb2, - 0x45,0x21,0xc7,0x88,0x78,0x91,0x71,0xb7,0x4f,0xfa,0x88,0xf8,0x0e,0xbc,0xcd,0x16, - 0x73,0xfd,0x75,0x26,0xc9,0x37,0x86,0x56,0x38,0xa0,0xec,0x68,0xcb,0x7c,0x50,0x0c, - 0x68,0xad,0x2c,0x7f,0x75,0xcb,0x83,0x68,0x2d,0x1e,0x40,0x33,0x0a,0x5f,0xf3,0x6d, - 0xf6,0x52,0xa8,0xd8,0xb0,0xaf,0xc9,0xfe,0x20,0x79,0x1e,0x11,0xff,0xec,0xe5,0x45, - 0xb3,0x87,0x49,0xb9,0xf4,0x24,0xcc,0xed,0x97,0x83,0xe4,0x0c,0xca,0xab,0xe2,0x1e, - 0x94,0x57,0x63,0x52,0x87,0xfd,0x3b,0xf8,0xbe,0xfe,0x5e,0x6d,0x62,0xbe,0x96,0xdb, - 0xca,0x9d,0x18,0x2c,0xc3,0x43,0x02,0xb9,0x0d,0xd3,0x55,0x43,0xae,0xc4,0x43,0x72, - 0xf8,0x3e,0x37,0x5f,0xc6,0x93,0xa8,0x7e,0xec,0x46,0x86,0xc7,0xff,0x9a,0x45,0x3f, - 0xee,0x46,0x7d,0xe4,0x35,0x66,0x0e,0x8b,0x9c,0x12,0x52,0x81,0xda,0xa1,0x71,0x00, - 0xae,0x86,0x7d,0x75,0x59,0xc3,0xe2,0x3b,0xec,0x03,0x7c,0x5f,0xd4,0xef,0xa7,0x92, - 0xf5,0xa6,0xa6,0x9b,0xd9,0x70,0x6d,0x8e,0x58,0xe3,0x60,0x04,0xe5,0x4f,0xad,0xa3, - 0x83,0xbb,0x7d,0x54,0x9f,0xc6,0x0b,0xaf,0xc1,0x4f,0x6a,0x79,0x69,0xc4,0x9a,0x41, - 0x29,0x89,0x7f,0x4c,0x7d,0xc7,0xeb,0x4b,0x8f,0xf0,0x40,0xd8,0x31,0xc7,0xf9,0x46, - 0x5e,0xd8,0x6d,0xa1,0x96,0x39,0x7c,0x63,0x25,0x9c,0xb2,0x55,0xf1,0xf8,0x57,0x7c, - 0x12,0xff,0xf4,0x20,0xfe,0x39,0x0c,0x6e,0xdd,0x16,0x23,0xaf,0x12,0x7d,0x03,0x1a, - 0x02,0x3a,0xf9,0x08,0xaf,0x2c,0x58,0xc3,0xf5,0x3b,0x69,0x31,0xe6,0x70,0x45,0x6f, - 0xc1,0x3f,0x92,0x99,0x1d,0xcf,0x2f,0xfe,0x11,0xb6,0x31,0x67,0xa3,0x1c,0x0d,0x7f, - 0x04,0x3f,0x83,0x39,0xa1,0x0c,0x4f,0xb6,0x5b,0x69,0x61,0x25,0x01,0x13,0xff,0x4c, - 0xc8,0x07,0x0a,0x76,0x6d,0xef,0x74,0xd3,0x08,0xed,0x43,0x30,0xda,0x09,0x37,0x02, - 0xcf,0x77,0x2e,0x2c,0xbc,0x2b,0x80,0x88,0x48,0x68,0x84,0x55,0x86,0xcb,0xeb,0x4f, - 0xd6,0x3f,0x84,0xbc,0xef,0xf0,0x6c,0x7d,0x66,0x8f,0x91,0x41,0xed,0xcc,0x97,0xbc, - 0x6d,0x78,0x3a,0x86,0xa4,0x8f,0x49,0x59,0xf0,0xee,0xcf,0x0a,0x2a,0x13,0xf5,0xd3, - 0x10,0xef,0x25,0xeb,0x1f,0x66,0x8e,0x49,0x57,0x55,0xd3,0x6c,0x3f,0x03,0x63,0x5e, - 0x14,0xcb,0x86,0x38,0x26,0x5d,0xd2,0x2a,0xef,0x9a,0xc7,0x11,0xd1,0x65,0xae,0xdf, - 0xf7,0x88,0x83,0x77,0x24,0xfd,0x3f,0x47,0xe0,0x0d,0x75,0xb1,0x6a,0x3f,0xca,0x03, - 0x2f,0x46,0xa9,0xea,0x38,0x9a,0x53,0x59,0x3b,0x96,0x7f,0xa3,0xdd,0xde,0x87,0x78, - 0xe9,0xf2,0x96,0x85,0x67,0x1d,0x29,0xfe,0x1f,0x6a,0xfa,0x7f,0x54,0xfa,0x2f,0xce, - 0x79,0xdc,0xda,0xd2,0xe5,0x46,0xff,0x62,0x56,0xee,0x71,0x2e,0xa5,0x11,0x12,0x37, - 0xd0,0x14,0xed,0xcb,0xe8,0x26,0xc3,0x93,0xf9,0x5f,0x54,0x3a,0x09,0x7b,0x14,0xde, - 0xe4,0xc2,0x6b,0x0f,0x74,0xe6,0xbb,0x42,0x4b,0x94,0x70,0x26,0xdb,0x43,0xeb,0xf0, - 0x64,0xa7,0xf7,0xaa,0x07,0x61,0xd5,0x51,0x3c,0x68,0xe7,0x85,0x89,0xef,0x6b,0x08, - 0xbb,0xe1,0xa0,0xf6,0xc0,0x8a,0xce,0x6d,0x88,0xa6,0x3a,0x59,0x51,0xb5,0x1c,0xf1, - 0xba,0xe1,0x20,0x5b,0xa9,0xda,0xa2,0xe9,0xef,0x66,0x1c,0x4e,0x14,0xd6,0x1e,0x9e, - 0xc4,0x4b,0x30,0x63,0x08,0xde,0x8a,0x96,0xb8,0xec,0x54,0xb0,0x4b,0x71,0x76,0x08, - 0x1c,0x1b,0x38,0x51,0xb9,0xaf,0x62,0x7e,0x96,0x3e,0xed,0xf7,0xf0,0xfd,0xb6,0x32, - 0x1e,0x3f,0x35,0xac,0xf9,0x5f,0xc2,0x0f,0x79,0x58,0x90,0xa7,0x35,0xbd,0x03,0x7f, - 0xc5,0x70,0xdb,0x8c,0xd9,0x47,0x85,0xc5,0x70,0xf7,0x27,0x39,0x71,0x3a,0x46,0xaa, - 0x8e,0x73,0x7c,0x98,0x12,0xff,0xba,0xa4,0xf9,0x94,0xa5,0x6d,0xe2,0x10,0xeb,0x0b, - 0x96,0xb5,0xa2,0xa1,0xea,0x86,0x0f,0xc0,0x1b,0x75,0xe8,0xe2,0xfb,0xe4,0x18,0x1a, - 0x13,0x78,0xff,0x4f,0xac,0xfe,0x1f,0xe1,0x12,0x7e,0x63,0xfa,0x2f,0xfe,0xcb,0x70, - 0xa6,0xdf,0x19,0x73,0xfc,0x2b,0xa9,0xaa,0x45,0xfb,0x51,0x5d,0x12,0x4b,0xff,0xbd, - 0x11,0x56,0xdb,0x5f,0xe3,0xf1,0x3b,0x4b,0xff,0x0b,0xbb,0x14,0x63,0x6e,0x4a,0xd5, - 0xec,0x57,0x01,0x88,0xee,0xc1,0xfd,0x96,0x05,0xcf,0x40,0x61,0x64,0x49,0x3a,0xe9, - 0x53,0xf6,0x34,0xa8,0xc3,0x22,0xc7,0x3f,0x13,0xdf,0x17,0xf1,0x8f,0xd2,0x61,0x14, - 0x17,0xd2,0xbf,0x21,0xef,0x68,0xdb,0xa3,0xf9,0xfa,0x92,0x3b,0x71,0xfe,0x5a,0x36, - 0xfb,0x9b,0x72,0x80,0xbc,0x0e,0xcf,0xb6,0x9b,0x15,0x02,0x93,0xf9,0x5f,0x81,0x3c, - 0xc4,0xdb,0x9d,0x95,0x9a,0xfd,0xd6,0xc6,0x93,0xa1,0x1e,0xed,0x7b,0x9a,0x43,0x90, - 0xed,0x6a,0x1c,0x16,0xbc,0xe8,0xf0,0x90,0x57,0xb4,0xd1,0x98,0x27,0x81,0x7f,0x26, - 0xe6,0x6b,0x79,0xcf,0x21,0x48,0xae,0xd2,0xe6,0xfd,0x4a,0x7c,0x3b,0xf4,0x99,0xf4, - 0x88,0xff,0x54,0x4f,0xce,0x98,0x74,0x19,0x16,0xd5,0x3a,0x86,0xd9,0x05,0x78,0x45, - 0x59,0xd4,0xcb,0xeb,0xff,0x4c,0xe2,0x43,0x8a,0xeb,0x3f,0x2a,0xa0,0x10,0xee,0x96, - 0x4b,0xe0,0xa8,0x54,0xe6,0x77,0x0c,0x0b,0x6e,0x5c,0xd8,0xaa,0x6a,0x7b,0x13,0x8f, - 0x80,0x98,0xfe,0x6a,0xe1,0xa8,0x85,0xff,0xbc,0x1d,0xf5,0x75,0x3e,0x0b,0xd4,0x93, - 0x59,0x84,0xb3,0x7d,0xe4,0x7a,0xff,0x4d,0xda,0x5a,0x82,0x88,0xe8,0xcb,0x68,0x61, - 0xed,0x1b,0x8f,0x7f,0x4d,0xda,0x77,0x2a,0xc7,0x3f,0xac,0x20,0xe4,0x2a,0x27,0x59, - 0xc2,0xa3,0xec,0xc9,0xc1,0x96,0xbc,0xec,0xac,0x86,0x1f,0xb3,0xd5,0xc3,0xb4,0x0e, - 0x81,0xd0,0xb3,0x88,0x7f,0x96,0xac,0x49,0x4f,0xca,0xb7,0x3a,0x8e,0x7f,0x0c,0xd5, - 0x88,0x54,0x1e,0xb5,0x53,0x34,0xf3,0x8f,0xca,0x6d,0x7e,0x77,0x5a,0x83,0xf1,0x40, - 0x28,0xb0,0x00,0x81,0x41,0xb7,0x56,0xc2,0x19,0xf2,0x6f,0x26,0xf3,0xbf,0x72,0x3b, - 0xe1,0xca,0xb6,0xd2,0x76,0xfb,0x47,0x39,0x2e,0x38,0x15,0x29,0x63,0x0e,0xce,0xff, - 0x79,0x47,0xaf,0x8a,0xba,0x75,0x71,0x94,0x5d,0x99,0xee,0xd3,0x37,0x71,0xff,0xcf, - 0xc4,0xf3,0x07,0x78,0x3e,0x4e,0x22,0xe8,0x10,0x97,0x38,0xdb,0x19,0x6d,0xe4,0x38, - 0x8c,0xd8,0x7c,0x39,0x0e,0xd6,0x78,0xb6,0x70,0x84,0x67,0x08,0xa6,0xe6,0x7f,0xa1, - 0xbe,0x63,0xde,0x55,0xee,0xcd,0x39,0x03,0x74,0x34,0x5a,0x66,0xd6,0x7f,0xe6,0xb0, - 0x27,0x98,0xc8,0xef,0x16,0xbc,0xf5,0xad,0x53,0xf0,0x0f,0x3d,0xe8,0x54,0x43,0xb4, - 0x8d,0x0c,0x44,0x0f,0xf2,0x40,0xcc,0x16,0xdb,0x9c,0xf0,0x31,0x70,0x2e,0xcf,0x8b, - 0xf1,0xfa,0x3f,0x6a,0x51,0xf0,0xcf,0xfa,0x7f,0x5c,0x66,0x9a,0x3c,0xbc,0x6b,0xf2, - 0x7f,0x34,0x33,0xc3,0x6b,0x0b,0x19,0xd0,0x33,0x12,0xfe,0xa2,0x53,0x93,0xfa,0x8b, - 0xfb,0x7f,0xf6,0x24,0x92,0xdc,0x7b,0x11,0x08,0x85,0x34,0xd3,0x11,0xc4,0x13,0xc1, - 0x28,0x4f,0x0c,0x6f,0xd0,0x5c,0xf5,0x2e,0x85,0x1c,0x4f,0xe6,0x7f,0xdd,0x14,0x32, - 0xdd,0x3e,0x11,0x56,0x13,0x1f,0x77,0x04,0x99,0xf9,0x5f,0x5d,0xdc,0xcd,0x12,0x9f, - 0xcc,0x7f,0x9f,0xc4,0xcf,0xdd,0xdc,0xff,0xa3,0x2d,0xd6,0x96,0x9d,0xce,0x79,0x0f, - 0xa5,0x0d,0x5a,0xa3,0xa7,0xc5,0xf7,0xe0,0xc3,0x6a,0x5e,0xf6,0xa7,0xe6,0x32,0x6e, - 0xa4,0x2a,0xd3,0xff,0x23,0x58,0xf1,0xcf,0x65,0x17,0x4f,0xf2,0x6a,0xbc,0xe0,0xb9, - 0x0c,0x65,0x46,0xfa,0x69,0xf1,0x56,0x78,0xbf,0xba,0x74,0x39,0x8a,0xb5,0x0b,0xec, - 0xf2,0x1d,0xa5,0xda,0xb2,0x28,0x39,0x67,0xc1,0x3f,0x3a,0x74,0xfb,0x9d,0x10,0x69, - 0x22,0x67,0x81,0xd7,0xff,0xa1,0x3c,0x30,0xd7,0x57,0xeb,0x84,0x2c,0x46,0xce,0xea, - 0xdd,0x50,0x86,0x50,0xcd,0x7f,0x6a,0x52,0xfe,0x2c,0x95,0x10,0xff,0x40,0xa1,0x46, - 0xf3,0x48,0xaf,0x74,0x90,0xce,0xe1,0x61,0xbe,0x34,0xfb,0x8e,0x90,0x6b,0x39,0xbf, - 0x12,0x3c,0xa8,0xd6,0xf1,0xf8,0xd7,0x54,0xfc,0x83,0xe8,0x91,0x57,0x2b,0xdd,0x45, - 0x39,0x7a,0x5c,0x57,0x88,0x03,0xa2,0x7d,0x01,0xf1,0x24,0x3b,0xc8,0xe6,0x04,0xcc, - 0x78,0xe2,0xc4,0x7c,0x5d,0xea,0x50,0x3e,0x81,0x05,0x01,0x7b,0x1b,0x8f,0x66,0x1a, - 0x0b,0xea,0x1d,0xdb,0xc5,0x42,0xfa,0xbe,0xe1,0x7d,0xc8,0xbe,0xad,0x66,0x00,0x1e, - 0x84,0x45,0xa9,0xfc,0x1f,0x8e,0x7f,0x0e,0xf6,0x1c,0xaa,0xd9,0x14,0x75,0xae,0x82, - 0x51,0xd5,0x57,0x9b,0x95,0x2d,0xf6,0x42,0x8f,0x71,0xa4,0xde,0xbe,0xbd,0x31,0x11, - 0x11,0xdb,0x14,0x15,0xcf,0x4f,0xf1,0xff,0xf8,0x14,0x7b,0xb3,0x68,0xd6,0x7f,0x96, - 0xf8,0xfa,0x53,0xce,0x3f,0x77,0x33,0xf1,0x2c,0xf4,0xe5,0x99,0x88,0x34,0xb9,0x7f, - 0xa8,0xe4,0x82,0x23,0x81,0x79,0xba,0x2b,0xee,0xbc,0xa4,0xee,0xd7,0x9c,0x7b,0xe4, - 0x81,0xec,0xdb,0xc0,0x46,0xe6,0xed,0xa3,0x7a,0x41,0x37,0x6c,0x94,0x0a,0x10,0x11, - 0xf9,0x93,0xfe,0x1f,0xca,0xed,0xd3,0x80,0x9b,0x6b,0xff,0x57,0xd9,0x9e,0x38,0x9e, - 0x97,0x1b,0x9c,0x77,0xe4,0x37,0x42,0x49,0x90,0x56,0x92,0x97,0x72,0xdb,0x99,0xf4, - 0x5a,0x8b,0x35,0xfe,0xa5,0x0a,0x66,0x91,0xd2,0x30,0xd5,0xb2,0x4f,0x2b,0xfb,0xb5, - 0x7c,0x4d,0x5e,0x45,0xbe,0x44,0xd7,0xab,0xc5,0x7e,0xba,0x8a,0xfc,0x14,0x9e,0x12, - 0x9e,0xe4,0x8d,0x30,0xe2,0x93,0xf9,0x5f,0xae,0x3c,0xee,0xff,0x59,0xac,0xdb,0xeb, - 0x6a,0xde,0x81,0xcb,0x6c,0xc7,0x80,0xe3,0x8c,0xfc,0x08,0x79,0x99,0x55,0xe9,0xf6, - 0xe5,0xe2,0xe7,0xe4,0xe3,0xf0,0xad,0xf1,0x69,0x6b,0xc4,0x77,0x53,0xfc,0x3f,0x07, - 0x85,0x4a,0xf6,0x0f,0xbc,0xba,0xcb,0x15,0xf0,0x05,0x1c,0x71,0x7c,0xec,0x4b,0xf5, - 0x55,0x4c,0x6e,0x6a,0xec,0x86,0xb7,0x60,0xd1,0x2a,0xee,0xff,0x99,0x5c,0x1f,0x8e, - 0x7f,0xfe,0xc4,0x4a,0x75,0xfb,0xb1,0x9a,0xd7,0xe1,0xc5,0xf0,0xc2,0xb8,0xe3,0x8c, - 0xf0,0x39,0x9c,0xe8,0x2f,0x0d,0xd1,0x51,0xb1,0x0c,0x5e,0xe5,0xfc,0x9f,0x91,0x82, - 0xa4,0xbd,0x16,0x41,0x3c,0xb3,0x5f,0xbb,0x35,0xe2,0xfa,0x12,0x39,0x8d,0xd0,0x78, - 0x47,0xf4,0x84,0x46,0x86,0xc3,0xeb,0xd9,0xad,0x41,0xfa,0xa0,0x5f,0x51,0x9a,0xf3, - 0x6f,0x35,0x96,0xfd,0x80,0x24,0xeb,0x6f,0x9b,0xfe,0x1f,0x25,0x1f,0xf2,0xbe,0xe4, - 0xec,0xd7,0x1e,0xa5,0xb3,0x0d,0xc4,0x3f,0xa7,0xe9,0xfa,0xf2,0x7c,0xa0,0x9f,0x38, - 0xef,0x83,0xf5,0xb0,0xc2,0x90,0x1f,0x4a,0xef,0x9d,0xbc,0xbf,0xa6,0xb4,0x42,0x8c, - 0x14,0x92,0x80,0x40,0x8c,0xec,0x30,0x53,0x75,0x99,0x3b,0xe9,0x1a,0x9b,0x0a,0x63, - 0x75,0x0b,0xc8,0x9d,0x68,0x98,0x7c,0x53,0x43,0xf9,0x93,0x94,0x57,0x1c,0xff,0x5c, - 0x02,0x4f,0x8f,0x7d,0x57,0x41,0x1f,0x1c,0x63,0xfb,0xc3,0x8e,0xc7,0x71,0x23,0xbd, - 0x6a,0x78,0xef,0xb5,0xef,0x93,0xbf,0x41,0x8e,0x7b,0x4d,0xfe,0x8f,0x05,0xff,0x28, - 0xbc,0xc8,0xe1,0x21,0x1d,0x37,0xd5,0x59,0xb8,0xe8,0xf7,0x29,0xcb,0x3a,0xd0,0xfe, - 0x42,0xfc,0x13,0x44,0x7d,0xd4,0x69,0x5c,0x04,0xdc,0x51,0x31,0xfc,0x95,0xd5,0xff, - 0x73,0x25,0x5a,0xc5,0x8b,0xd8,0x8c,0x48,0xaf,0x70,0x7f,0x7e,0xbf,0x49,0xe3,0xf4, - 0x85,0x97,0xbd,0xdd,0xd8,0x0b,0xaf,0x26,0x2a,0x02,0x0d,0x26,0xeb,0x45,0x23,0xfe, - 0xe9,0x66,0xbe,0x7c,0xda,0x4a,0xe2,0xa4,0x39,0x52,0x02,0x2d,0x91,0xf0,0x1f,0x78, - 0xfd,0x19,0x75,0x49,0x84,0x9c,0x93,0x1a,0x79,0x7e,0x13,0x42,0x91,0x60,0xd2,0xff, - 0xb3,0x5a,0x39,0x08,0x25,0xba,0x6b,0x33,0x4a,0x83,0x66,0x56,0xb2,0x42,0xde,0x86, - 0xa7,0xf5,0xa7,0x50,0xc2,0x3d,0x24,0x7f,0x00,0x19,0x9c,0xef,0x72,0xfc,0x33,0xb9, - 0x1f,0xa8,0x66,0x87,0x98,0xe0,0x66,0x14,0x88,0x61,0x56,0x03,0x48,0xc4,0x07,0xa9, - 0x1b,0x96,0x50,0x62,0x10,0x6e,0x7f,0x51,0xaf,0xd5,0xff,0x93,0xb7,0xda,0x94,0xb7, - 0xad,0x26,0xda,0x37,0xe3,0x35,0x5f,0x8e,0xc3,0x6f,0xcc,0x41,0x41,0x1c,0x4e,0xd4, - 0x7a,0x99,0xbd,0xab,0x31,0x9e,0x6f,0xe1,0x3f,0xc3,0x98,0xed,0x36,0xd4,0xef,0x39, - 0x66,0xb6,0xbb,0xe0,0x30,0x6a,0x86,0x39,0xbf,0x05,0xcc,0xfa,0x3f,0x97,0xd5,0xe7, - 0x35,0xd3,0x75,0x36,0x89,0x1f,0x80,0xe0,0x2e,0x00,0x17,0x27,0x50,0xfe,0xc7,0x03, - 0xb0,0xfe,0x48,0x20,0x70,0xbb,0x4a,0xf9,0xcf,0x06,0xd6,0x9f,0x26,0xc0,0xcd,0xa2, - 0xa1,0x86,0xfd,0x4f,0x06,0xff,0x3b,0xf7,0x37,0x6b,0x08,0x8d,0x93,0xa9,0xff,0xa3, - 0x81,0xe5,0xe7,0x3f,0x9f,0x98,0x18,0xfc,0xef,0xdc,0xff,0x7f,0xf5,0xe7,0xbf,0xd8, - 0xfa,0x2b,0xbc,0x97,0xdf,0x49,0xf8,0x2e,0xcc,0x34,0xfe,0x93,0x81,0xf4,0xff,0xf8, - 0xfe,0xff,0x5f,0x5e,0x7f,0x49,0x61,0x7f,0xc1,0x9a,0x0b,0x93,0xf2,0xea,0x7f,0xf5, - 0xa7,0xb2,0xf2,0x2f,0x99,0xe5,0x70,0xfc,0x3f,0xbc,0xfd,0xff,0x0b,0x3f,0x55,0x57, - 0xaf,0x5e,0x35,0xfe,0x27,0x83,0xff,0x7f,0x9e,0xff,0x5f,0xec,0x3c,0xfe,0x1f,0x79, - 0xf8,0x7f,0xe4,0xe1,0xff,0xc6,0xfa,0xff,0x1f,0x79,0xf8,0x3f,0xfb,0xf9,0xaf,0x26, - 0x7f,0xfe,0x6b,0xcd,0xe7,0xfc,0x28,0x5e,0x44,0x54,0x1e,0x11,0x1f,0x86,0x63,0x0d, - 0x8b,0x4e,0x3a,0x46,0x6a,0xc6,0x82,0xaf,0xc2,0x7c,0xf5,0xe6,0xf3,0x8d,0xa5,0xf4, - 0x24,0x2c,0xee,0x70,0xfc,0x7a,0x0a,0x3f,0xea,0x10,0xe3,0xa4,0xaf,0xf0,0x55,0xed, - 0x8d,0xc2,0x82,0xde,0x96,0x6e,0xf2,0x36,0xfb,0xdd,0xb7,0x9c,0xaa,0x5c,0x4b,0x54, - 0x68,0x0e,0x94,0xdc,0x79,0xe2,0x31,0xf2,0x89,0x25,0x3f,0xba,0x35,0xf7,0x10,0xc4, - 0x0d,0xd9,0x4b,0x4e,0x2a,0xcd,0x54,0xed,0x93,0x3d,0xbc,0x5e,0x31,0x5a,0x7d,0x68, - 0x26,0x48,0x91,0xf0,0x02,0x77,0x86,0xe9,0x1f,0x4b,0xfa,0xeb,0x56,0x9b,0xf1,0x56, - 0x99,0xdb,0xa7,0x8f,0x37,0xb4,0xf3,0x36,0x2b,0x27,0xe1,0x46,0xc1,0xa9,0xb6,0xb8, - 0x6c,0x73,0x00,0x11,0x7b,0x9f,0xdc,0x69,0xe1,0x47,0x09,0x12,0xda,0x53,0xf8,0x3c, - 0x0e,0xde,0x0d,0xa4,0x47,0xaf,0x30,0xc4,0x6e,0xb3,0x7e,0x94,0xd7,0x25,0x77,0x8b, - 0x25,0xe4,0x18,0xf3,0x45,0x1d,0xcf,0x15,0xfc,0x2a,0x19,0x1f,0xe4,0xfe,0xd2,0x76, - 0x1e,0x04,0x9c,0xfe,0x36,0xe5,0xfd,0x41,0x5e,0x1d,0x2e,0x18,0x4b,0xbb,0xc4,0x3d, - 0x66,0xc3,0xa5,0x63,0xca,0xa8,0x54,0x15,0x72,0xe8,0x30,0x98,0x8c,0x0f,0x2a,0x66, - 0x7c,0x90,0x93,0x7c,0xc6,0xe0,0x18,0xda,0xef,0xd2,0xbe,0x44,0xdb,0x2f,0x78,0x34, - 0xde,0x38,0x07,0x2e,0xf9,0xbd,0x8a,0x3b,0x66,0xcd,0x8f,0x93,0xdc,0xbc,0xde,0x1a, - 0x0f,0x62,0x5e,0x81,0x66,0xad,0xc0,0x08,0x44,0xc9,0x58,0xfa,0x26,0x68,0x07,0xfa, - 0x0c,0xf9,0x79,0xe0,0xa0,0xee,0x34,0xe8,0xcf,0x53,0xfa,0x83,0x2c,0x35,0xfb,0xc5, - 0xc8,0x66,0xf5,0x42,0x58,0x65,0xdc,0x85,0x03,0xe1,0xb0,0xa4,0x86,0x02,0x1e,0xa7, - 0x4b,0x89,0x31,0xd5,0x08,0xe4,0x59,0x7a,0x16,0x73,0x7e,0xd4,0x7e,0xc6,0xab,0x41, - 0xfa,0xdf,0x51,0x9b,0x8c,0xb3,0x43,0xbc,0x3f,0x88,0x76,0x60,0x8b,0xb8,0x92,0xde, - 0x09,0x3f,0x09,0xee,0x43,0xa3,0x81,0x2e,0x0f,0x2f,0x98,0x9c,0x1f,0xa0,0x76,0xed, - 0x3c,0xf8,0x7a,0x96,0xcd,0x17,0x4f,0xa2,0xfd,0x95,0x3b,0x68,0x2f,0x15,0x97,0xc2, - 0xa7,0xa0,0xb8,0xdd,0xf3,0x6b,0x78,0x7d,0xa4,0x98,0x61,0x77,0xcb,0x37,0x4c,0xfa, - 0xe7,0xb5,0x9b,0x9e,0xbb,0x8f,0x07,0x49,0x33,0x87,0xc5,0xdf,0xaa,0x97,0xa6,0xfb, - 0x4e,0x67,0x7e,0x52,0x30,0x06,0xaf,0x0a,0x3e,0x96,0x75,0xb6,0x66,0xbc,0x90,0xe6, - 0x0b,0x62,0xff,0x64,0xfd,0x10,0x17,0xae,0xff,0x1b,0x2c,0x51,0xcd,0x9e,0xbd,0xc0, - 0xbc,0xef,0x65,0xe9,0xe2,0x87,0xea,0x89,0xba,0x0a,0xcd,0xf1,0x26,0x0f,0xd4,0x0a, - 0x9c,0x28,0x2e,0x92,0x64,0x7f,0x4c,0x85,0xdb,0xd7,0x89,0x68,0x02,0x5b,0x0b,0x05, - 0x46,0x66,0x88,0x5c,0x8e,0xfc,0xba,0x96,0x13,0xa5,0x1a,0xef,0x97,0x9a,0x48,0xb1, - 0xb1,0xc4,0x20,0xde,0x64,0xfe,0x2f,0xf0,0xb6,0x92,0x73,0xe3,0xf2,0x9a,0x95,0xa7, - 0xd8,0xa3,0x0d,0x3b,0x06,0xef,0x5c,0x9d,0xfe,0x0e,0x5d,0xcf,0xe6,0xaa,0x6f,0x05, - 0x9c,0xb3,0xd4,0xc7,0x4c,0xa2,0xf8,0x4a,0x6b,0x7d,0xa4,0x56,0xd8,0xab,0xe9,0xc6, - 0x12,0xbe,0x9e,0x5b,0x55,0xd5,0xc8,0x28,0xc1,0xfd,0xb3,0x95,0xa8,0xaa,0x9c,0x61, - 0x5b,0x0d,0x5b,0x39,0x3f,0xb3,0x95,0x64,0x5b,0xea,0x23,0x75,0xc2,0x3b,0xa1,0x6c, - 0x96,0xa9,0x3b,0x07,0xe1,0x14,0x78,0x99,0x3c,0x90,0xc3,0x1b,0x85,0x2c,0xd2,0x1d, - 0x03,0xf2,0x22,0xfc,0xc7,0x17,0x73,0x8f,0x59,0x45,0xb2,0xfe,0x00,0xe7,0x47,0x51, - 0x9f,0xb0,0x89,0x87,0x05,0x39,0x5f,0x7a,0x1e,0x2f,0x0b,0x39,0x0c,0x3e,0x69,0x5a, - 0xb8,0x26,0x5e,0x31,0x48,0x7d,0xb0,0xa9,0xa9,0xd1,0xd2,0x1f,0x4d,0x19,0xa0,0x89, - 0x6a,0x90,0x69,0x03,0xda,0x9d,0xac,0x2c,0xe4,0xe0,0x8d,0xd2,0x8e,0x41,0x76,0x3d, - 0x8f,0x7f,0x41,0x73,0xbb,0x4f,0xb3,0xb7,0x59,0xeb,0x23,0xd5,0xae,0x1a,0x27,0x75, - 0xa7,0x9f,0x83,0xe6,0x7e,0x34,0x33,0x95,0x82,0x42,0xda,0x2c,0x54,0x86,0x6c,0xdb, - 0x79,0xbc,0xaf,0x87,0x57,0x00,0x90,0x93,0xab,0x93,0xe8,0x8f,0x56,0xa2,0xd5,0x44, - 0x9d,0x03,0x42,0x33,0x9d,0x13,0xe0,0x8d,0xd2,0xa4,0x66,0xa1,0x48,0x0b,0xb4,0xe1, - 0x95,0x5d,0xb4,0x24,0xb5,0x3e,0x36,0x98,0xfe,0x31,0x37,0x2f,0x8b,0xdd,0x4b,0xf2, - 0x6b,0xdc,0x5f,0xaa,0x89,0x66,0xa7,0x49,0x0d,0xfe,0x22,0xcd,0x96,0x4b,0x5e,0x94, - 0x1a,0xb4,0x92,0xa0,0x2b,0xf7,0x5e,0xff,0xa4,0x7d,0xba,0x86,0xaa,0xe3,0xf1,0x29, - 0x32,0x38,0x7d,0x9c,0x96,0xac,0x92,0x3e,0x52,0x04,0xad,0x90,0x13,0x27,0x75,0xb8, - 0x02,0x4b,0x99,0x58,0x32,0x19,0x1f,0xe4,0xfc,0xa8,0xcf,0x24,0x5f,0xb5,0x23,0x9a, - 0xa0,0x85,0x07,0x37,0xf5,0xcb,0x4f,0x4e,0x34,0x4a,0x3b,0x2d,0x5d,0x4e,0x0c,0x7e, - 0x91,0xc2,0x8f,0xe2,0xfc,0xb1,0xcc,0xb6,0x69,0x17,0xd8,0x2b,0x5a,0x55,0xad,0x23, - 0x9a,0xf3,0x1e,0xdb,0x55,0xf8,0x5d,0xcd,0xb1,0xb9,0x71,0x9f,0x76,0xd9,0xe3,0xd5, - 0xec,0xaf,0x8b,0x25,0x93,0xe7,0xb1,0x5c,0x89,0xd3,0x6e,0x70,0xa2,0xe1,0x9d,0x7d, - 0x96,0x46,0x20,0x2b,0x77,0x09,0x23,0x3d,0x91,0x48,0x9d,0x17,0x64,0xb6,0x24,0x4e, - 0x07,0x1f,0x72,0xda,0x32,0x3b,0xfc,0xe9,0xc9,0xf8,0xa0,0xc9,0x8f,0x2a,0xd4,0xc4, - 0x6c,0xd2,0xa4,0x35,0x14,0xba,0xfb,0x6e,0x50,0xd2,0x5f,0x84,0x06,0xa5,0x50,0x93, - 0xb3,0x89,0x9d,0xed,0x95,0xd0,0x1e,0xcf,0x21,0xd9,0xc2,0xc4,0xfa,0x6f,0x9b,0xd1, - 0x01,0x07,0x05,0xce,0x4f,0x23,0x03,0xb6,0xc7,0x55,0x93,0x5d,0x8f,0xcb,0x2e,0x98, - 0xfc,0x70,0xde,0x31,0x4d,0xd7,0xf2,0xb7,0x64,0xa7,0x27,0xeb,0x23,0x71,0x7e,0x54, - 0xfc,0xc7,0xdc,0x09,0xd6,0x0b,0xc7,0x22,0x66,0xf4,0x73,0xc0,0xf6,0x3e,0x7c,0xfe, - 0x2d,0x47,0x74,0x43,0xa1,0x36,0xba,0xc0,0xbb,0x82,0x46,0xe5,0x64,0x7f,0xb4,0x0f, - 0x84,0x42,0xb3,0x5f,0x1e,0xcf,0x0e,0x50,0xdf,0x4f,0xa4,0xc5,0xf5,0xc2,0x1b,0x50, - 0x51,0xeb,0xb8,0x6d,0xeb,0x39,0xba,0x83,0xf1,0x8e,0x2a,0xe2,0xc5,0xc9,0x7a,0x83, - 0x66,0x7c,0x50,0xe3,0x6d,0x68,0x40,0x55,0x46,0x24,0x2f,0xd8,0x78,0x61,0x8a,0x7e, - 0x52,0xa6,0x64,0x31,0x99,0x57,0x68,0xef,0xe2,0x1e,0x5a,0x4b,0x7d,0xc8,0xb5,0x2e, - 0x5e,0x0d,0x92,0xb3,0xc1,0x2b,0xa2,0x47,0x84,0x22,0xb6,0x31,0xd1,0x16,0xd6,0xd9, - 0x49,0x3b,0x48,0x39,0x3d,0xa2,0x39,0x99,0x1c,0x27,0x49,0x84,0xe2,0x92,0xc6,0x9b, - 0xe6,0x78,0xd2,0x97,0x99,0x65,0x34,0xfe,0x96,0x97,0xa9,0xd9,0x0a,0xab,0x42,0x37, - 0x94,0xa7,0xd3,0xe9,0x5d,0x6a,0xc8,0x90,0x23,0x84,0x24,0xeb,0x43,0xc2,0x4c,0x6a, - 0x92,0xa2,0xd7,0xa4,0xcf,0x04,0x1f,0xdb,0x65,0x6c,0xe0,0x07,0xb9,0xd1,0xfb,0xf5, - 0x50,0xf3,0xf7,0xc8,0x4c,0xd8,0x47,0xf2,0xfb,0x64,0x89,0xd0,0x24,0xff,0x2a,0xc2, - 0x9b,0xf8,0x2c,0x8e,0x3b,0xbe,0x2f,0x5e,0x07,0x9f,0x35,0xcd,0x0f,0x65,0xad,0x29, - 0x78,0x42,0xfb,0xcd,0x33,0x0b,0x57,0x64,0x95,0xcb,0x37,0xa0,0xea,0x99,0x3f,0x36, - 0xad,0x4e,0x4e,0xf6,0x37,0xb1,0xcd,0x4c,0xc8,0x5b,0xc7,0x1e,0x79,0x08,0x8f,0xd5, - 0x9c,0xea,0x44,0xff,0x53,0xa1,0xc2,0xc8,0x6a,0x42,0xc1,0xcb,0x25,0xf6,0x32,0xfd, - 0x8b,0x49,0x7e,0x94,0xff,0x47,0x1f,0xc1,0xd5,0xa6,0xaa,0x78,0xd6,0xc8,0xb4,0x0f, - 0xa4,0xab,0xe1,0xaa,0x90,0x7d,0xa4,0xe6,0x8a,0xfa,0x31,0xdb,0x33,0x64,0x7f,0xae, - 0xc6,0x97,0xf0,0x8f,0xf5,0x95,0x9e,0x49,0xf6,0xa7,0xbb,0xfe,0x09,0xe3,0x40,0x6c, - 0x9e,0x41,0x3f,0x21,0xd9,0xec,0x5c,0xcc,0xbd,0x6a,0x6e,0x7d,0xf8,0x6d,0x58,0x0f, - 0xea,0x60,0x66,0x80,0xe4,0x6a,0xff,0xae,0xe4,0x1b,0x8e,0xec,0xec,0xa4,0x7f,0x8c, - 0xc7,0x07,0x0f,0x68,0x26,0x69,0xb3,0x6d,0xdb,0xb3,0xaa,0xdb,0x68,0xe6,0xfd,0x64, - 0x9f,0x86,0xfc,0xa5,0x77,0x1a,0xe4,0x61,0xf8,0x11,0xe4,0x1f,0x95,0x43,0x24,0x19, - 0x1f,0x0c,0x49,0x27,0x4d,0xf9,0x1f,0x40,0xed,0x26,0xe9,0xcc,0x6d,0xdc,0xe8,0x21, - 0x43,0x42,0x23,0x84,0x7a,0x33,0xb2,0xc8,0x37,0xe1,0x71,0x70,0xc6,0xe5,0xdc,0xec, - 0xfe,0xa4,0x7f,0x0c,0xe5,0xe7,0xa7,0x28,0x54,0xd3,0x87,0x79,0xf7,0x93,0x5f,0xf9, - 0x8c,0x48,0x37,0x2a,0x9a,0x7f,0x03,0x67,0xc8,0x1e,0xfb,0xd9,0x4a,0xf6,0xa6,0x81, - 0xaa,0x79,0xb7,0xc5,0x3f,0xc6,0xb8,0x3e,0x62,0x26,0x49,0xfe,0x24,0x7c,0xa0,0xf8, - 0x12,0x65,0xe8,0x2e,0xf1,0x8c,0xcb,0x01,0x71,0xb7,0x34,0xe2,0xf1,0xf5,0x65,0xed, - 0xb0,0xf8,0xbb,0x12,0xf1,0xc1,0x52,0x2e,0xcf,0x87,0xe1,0x77,0x50,0xa0,0xc9,0x9c, - 0x06,0xf3,0x1b,0xb2,0x50,0x73,0x7c,0x4b,0xf6,0x68,0xc7,0x4c,0xff,0x58,0xe3,0xc0, - 0x24,0x3f,0xbc,0xc7,0x8c,0xf7,0x99,0xf9,0x6e,0x75,0x4a,0xbb,0xd1,0xae,0xc9,0x31, - 0x71,0xb7,0xd2,0x22,0x14,0xf5,0xca,0x8c,0xb8,0x95,0x66,0xce,0xcf,0xe9,0x9e,0xc2, - 0x8f,0x1a,0x0f,0x5a,0x75,0xc2,0x86,0xbc,0x6f,0xe3,0x7c,0xb2,0x1b,0x5a,0xa0,0x08, - 0x07,0xe1,0x0e,0x5e,0x31,0xc9,0xcc,0x8f,0x9b,0xac,0x8f,0xc1,0xf9,0x51,0x87,0x13, - 0xa4,0x20,0xbf,0xd2,0x1e,0x72,0x71,0x6f,0x21,0xaf,0xc7,0xee,0xaa,0x96,0x9d,0x5b, - 0x9a,0x78,0x6a,0x8c,0x01,0xd3,0xad,0xf1,0xc1,0xcc,0xd5,0xec,0x12,0xde,0x1f,0x9f, - 0x5f,0x8f,0x9e,0x50,0x2b,0x8e,0xe3,0x8b,0x6f,0x87,0x97,0xa1,0xcc,0xbf,0xa9,0x5d, - 0xec,0x90,0x8e,0xc1,0x5e,0xbe,0x02,0xf1,0xf4,0xc9,0xf8,0xe0,0x4d,0x97,0xe1,0x92, - 0x92,0xc8,0x8f,0xd3,0x2e,0x6a,0x65,0x47,0x1d,0xc3,0x05,0xcf,0xa5,0x5d,0x85,0x47, - 0x8e,0xdf,0xac,0x89,0xf7,0x99,0xf1,0xc1,0x79,0xaf,0x59,0xe2,0x83,0x3d,0x69,0x1c, - 0xff,0x2c,0xcc,0x72,0x1c,0xcd,0x79,0x4d,0x79,0x35,0x5a,0x65,0xb3,0xbf,0xe4,0xf4, - 0xc0,0x49,0x86,0x83,0x37,0xc4,0x7a,0xf6,0xbb,0x68,0x69,0xfc,0xe6,0xee,0x2f,0xc7, - 0x26,0xf9,0x0c,0x47,0xe9,0x47,0xbc,0xe9,0x49,0x9e,0xfc,0x28,0x89,0x43,0x8b,0x5a, - 0x92,0xc7,0x53,0xba,0xd5,0x16,0x56,0x92,0x67,0xef,0xc2,0xbd,0xff,0x33,0xd5,0x17, - 0x47,0xe0,0x11,0x9b,0x5c,0xff,0x3e,0x94,0x93,0x7b,0x55,0x17,0xc8,0xea,0x75,0x11, - 0x68,0x24,0x6e,0x42,0xd1,0x94,0x30,0x98,0xe0,0xf6,0xf7,0x45,0x89,0x56,0xb0,0x15, - 0xdf,0xd7,0x66,0xe5,0x47,0xc5,0x81,0xf3,0xa3,0x8a,0x76,0xe2,0xf9,0xfd,0x80,0xbb, - 0x25,0xe3,0x79,0xdb,0xfc,0x73,0xf0,0x1f,0x7a,0x60,0x47,0xc6,0x1e,0x52,0x24,0x8c, - 0x67,0x70,0x24,0xf9,0x51,0xf9,0x66,0x35,0xe6,0x0a,0xd5,0xd1,0x34,0x6d,0x27,0x9c, - 0x60,0x3e,0x97,0x7d,0x43,0x81,0x93,0xfb,0xcf,0x3d,0xad,0x79,0xe2,0x37,0xd9,0x5b, - 0x09,0xfe,0x52,0x92,0x1f,0xa5,0x4f,0xe7,0xfb,0xe1,0x00,0x98,0x45,0x00,0xae,0x4e, - 0x5f,0x2c,0xcc,0x1b,0x96,0xfb,0xc9,0x65,0xe1,0x61,0xed,0x81,0x61,0x71,0xb2,0xa2, - 0x78,0x12,0xff,0x9c,0x36,0xf1,0x8f,0x57,0xca,0x6a,0x9a,0xb6,0x92,0x67,0x67,0x68, - 0x76,0xb6,0xfe,0x43,0x36,0x12,0x7a,0x64,0x79,0xd6,0x16,0x31,0x0e,0x89,0xfb,0xd7, - 0xa4,0xf2,0xc3,0x0f,0x4b,0xce,0xb8,0xf8,0x64,0xce,0x07,0xda,0x09,0x28,0xa9,0x7d, - 0x3b,0x4a,0xfe,0x1e,0x25,0xf0,0x3f,0xd6,0xd3,0x7d,0xe1,0x38,0x67,0x58,0xe1,0xf3, - 0x8b,0xfb,0x53,0xe2,0x83,0x87,0x01,0x9a,0x37,0x48,0x89,0xb6,0x20,0xc6,0xcf,0x78, - 0x7f,0xb4,0x98,0xb6,0xba,0xe9,0xf1,0x5c,0xf2,0x7e,0xc3,0x78,0xa2,0x4a,0x92,0x1f, - 0x35,0xac,0xcc,0x12,0x0e,0xb0,0x7c,0x5d,0x0e,0x90,0x43,0xb0,0x5e,0xff,0xce,0x53, - 0xb6,0x1f,0x84,0x5f,0xd3,0xf6,0xb3,0x15,0x85,0x19,0xcb,0xc9,0x3b,0xe5,0x8f,0xb1, - 0xd9,0x3c,0x3f,0xee,0xca,0xe4,0xfc,0xba,0x3c,0xdc,0x6f,0xe0,0xa1,0x59,0x2a,0xb1, - 0x87,0x3f,0x55,0x7c,0x9a,0xcc,0x69,0x78,0xc3,0xcc,0xcd,0x8a,0xe7,0xa3,0xfe,0x3d, - 0xa1,0x7a,0xcc,0xfc,0xb8,0xc9,0xf9,0x5a,0x2e,0xae,0x8f,0xf2,0x3c,0x2f,0x02,0x80, - 0x68,0xc7,0xe3,0x33,0xee,0x7e,0xad,0xe6,0x7b,0x70,0x51,0xfb,0x2b,0xb6,0x61,0x78, - 0xbc,0x50,0x24,0x5f,0xcf,0xc9,0xf5,0xe1,0xe7,0xf7,0x12,0x3c,0xd4,0x90,0xb9,0x4e, - 0x1c,0x92,0x96,0x84,0x4b,0x55,0x77,0x5f,0x8e,0x87,0x9e,0x80,0x45,0xd5,0x10,0x15, - 0x2f,0x48,0x66,0xfe,0x42,0xb9,0xe8,0x9f,0x5c,0xff,0x93,0x74,0x3b,0x2f,0xcb,0xcf, - 0x96,0xd4,0x6f,0xdd,0x8e,0x62,0x07,0xcd,0xc5,0xe1,0x6c,0x85,0xae,0x0f,0x2d,0xe2, - 0xfc,0xf0,0xd3,0xe3,0xd0,0xc8,0xe6,0x4d,0xe5,0x47,0xb1,0x7c,0xf5,0xce,0xe5,0xe4, - 0x77,0xf0,0xaf,0x4c,0x5d,0x49,0x03,0x24,0x4b,0x45,0xfc,0x13,0xa2,0x6b,0xfc,0xbf, - 0xe1,0xbf,0xe2,0xf1,0xd0,0x24,0x3f,0x6a,0xa9,0xd4,0xca,0xcf,0xe3,0xaf,0x6f,0xac, - 0xc8,0x3e,0xb5,0x61,0x73,0x9b,0x5a,0x4f,0x73,0xfd,0xb3,0x11,0x6f,0x17,0xd5,0xbb, - 0x3c,0xa4,0x57,0x2d,0x4d,0xac,0xe7,0x54,0x7e,0x54,0x01,0x7b,0xf4,0x19,0x71,0x14, - 0xde,0x84,0xbd,0x31,0xfb,0x39,0xf9,0x36,0x13,0xff,0xd8,0xf5,0x9c,0x51,0x7a,0xd1, - 0xec,0x98,0x56,0x70,0x31,0x85,0x1f,0xd5,0x4d,0x8e,0x28,0x08,0x03,0x76,0xc0,0x20, - 0xf1,0xe5,0x39,0xc2,0x62,0x3c,0x3c,0xd2,0xe3,0x4b,0x77,0xf0,0x78,0x4d,0x22,0x5f, - 0x4c,0xc8,0x4e,0xc6,0x6b,0x94,0x0e,0x18,0x4d,0x2b,0x5b,0x81,0x87,0xf4,0x5c,0xd3, - 0x31,0x98,0x15,0xba,0x39,0x2a,0x9e,0x63,0xc7,0xa2,0xde,0x5a,0x3b,0x6f,0x24,0xf1, - 0x06,0x1c,0x4a,0xe4,0xc7,0x4d,0xcc,0x67,0xd2,0x2a,0x7a,0x10,0x9c,0x4b,0x69,0x34, - 0xfb,0xe5,0x70,0x33,0x31,0xfd,0xed,0x7f,0x80,0xc6,0xb8,0x73,0x25,0xdd,0xec,0x7c, - 0x8f,0x8d,0x22,0xb0,0x91,0xad,0xfc,0xa8,0x72,0x1e,0x1f,0x84,0x74,0x8d,0xc6,0xc2, - 0x66,0x1b,0x8b,0x3b,0xe4,0xcd,0x66,0x3d,0xdb,0x39,0x3d,0x08,0x7b,0x7a,0x85,0xcd, - 0x50,0x94,0x9a,0x1f,0xa7,0x9a,0xfc,0x28,0x95,0x57,0x43,0x7a,0x51,0xe0,0xdd,0xd0, - 0xe4,0x05,0xe4,0x15,0xfc,0xc3,0x50,0x90,0x2e,0x40,0xfc,0x63,0x52,0xa7,0x94,0xeb, - 0x92,0xfe,0xf9,0x35,0x3c,0x3e,0x88,0x78,0x7d,0xe9,0xb8,0x7f,0x5e,0x90,0x71,0x60, - 0xd2,0xa2,0xdc,0x7c,0xd0,0x0f,0x15,0xbc,0x63,0x88,0x85,0x1f,0x65,0xd6,0x0b,0xaa, - 0xe2,0x4d,0x60,0x4f,0x23,0x10,0x32,0xab,0x61,0xff,0x77,0x44,0x80,0x87,0x83,0x8e, - 0x7e,0xb3,0x50,0xb6,0x19,0x21,0xfd,0x68,0x12,0xff,0x94,0x9b,0xf3,0x17,0x2e,0xb5, - 0xf7,0x4f,0xbb,0x00,0xc7,0x94,0xaa,0x40,0xd6,0xeb,0x8d,0xcf,0x32,0xbc,0xc3,0x72, - 0xc7,0xaf,0x44,0x44,0x44,0xd5,0x38,0xbf,0x7f,0xda,0x47,0xa9,0xf1,0x41,0xa7,0x6a, - 0xcf,0x6c,0x4a,0x8f,0xab,0x11,0x28,0xb1,0x89,0x61,0xdc,0x32,0xdd,0x50,0x92,0x2b, - 0x87,0x9d,0x83,0x3a,0x53,0x8b,0x38,0x03,0x33,0xc9,0x8f,0x0a,0xf0,0xf8,0xa0,0xcb, - 0xdd,0x67,0xcb,0x4d,0xe7,0xd9,0xa6,0xee,0xa5,0x37,0x66,0x83,0xc4,0x36,0x4b,0xee, - 0x80,0xcc,0xe3,0xa1,0x3b,0xd4,0xc2,0xd4,0xf8,0xe0,0xb6,0x04,0x3f,0xea,0xec,0xf5, - 0x6d,0xe9,0x43,0x8c,0xf3,0xa3,0x96,0x6c,0x0e,0x17,0x73,0x84,0xe9,0x97,0xf7,0x20, - 0x10,0xda,0x65,0xae,0x67,0xb6,0xa5,0x3e,0x64,0xa2,0xde,0x75,0x20,0x6b,0xbb,0xff, - 0xbd,0x05,0xc7,0x9a,0x7c,0x7f,0xb3,0x2c,0x2a,0x3e,0xc5,0xaf,0xd4,0x3b,0xa2,0xc2, - 0x39,0xf2,0xbe,0xf9,0xbe,0x16,0x7e,0x54,0x1f,0xdf,0x0f,0xa4,0x52,0x73,0x6c,0x11, - 0xcf,0x91,0x51,0xd5,0xf7,0x90,0x23,0xaf,0x85,0xd7,0x47,0x32,0x0b,0x25,0xf5,0xde, - 0xfb,0x06,0x4c,0xe1,0x47,0x51,0x33,0x3e,0x58,0xa6,0xda,0xd7,0x89,0x7a,0xfd,0x88, - 0x59,0x96,0xaa,0x20,0x9f,0x37,0x0a,0x99,0xb9,0x11,0x81,0xa8,0x7a,0x46,0xf1,0xa6, - 0xe6,0xc7,0xf1,0xf8,0xe0,0x21,0xdc,0xcf,0x75,0xef,0xe6,0x1c,0xa4,0x3f,0x21,0xf3, - 0xf4,0xce,0x21,0x7f,0x45,0xf9,0x86,0xf0,0x2d,0xbc,0x51,0xec,0x6d,0xec,0x19,0xc9, - 0x4c,0x94,0xf3,0x4f,0xee,0x1f,0x2a,0x2d,0xc5,0xf3,0x52,0x68,0x64,0xb8,0xc9,0x33, - 0xc2,0x5e,0xde,0x36,0x25,0xcf,0x96,0x06,0x8d,0x51,0x1c,0xcc,0xb2,0x6d,0x24,0x3f, - 0x6d,0x32,0xcf,0xcb,0xd1,0x49,0xfc,0x03,0xca,0xfd,0x70,0x40,0xe5,0xdd,0xc1,0xfc, - 0xdb,0x84,0xc7,0xd4,0xe2,0x98,0x4d,0x8d,0xfd,0x18,0xd2,0x61,0x76,0x9c,0xae,0x09, - 0x6f,0xa7,0x4f,0x13,0x01,0xcf,0x6f,0x7a,0x20,0x19,0x1f,0xdf,0xf6,0x35,0xb8,0xaa, - 0xdf,0x1a,0xca,0x5c,0x23,0x3e,0x21,0xfd,0xa9,0xa3,0x2a,0x34,0x73,0xb9,0x50,0x46, - 0x5e,0x8e,0xfe,0x30,0xe4,0x3e,0x23,0x1e,0x21,0xbf,0x61,0x9b,0xe3,0xcb,0xd6,0x4c, - 0x4b,0xf2,0xa3,0x6c,0x33,0x76,0xd3,0x4b,0xb9,0x3e,0xde,0xed,0x8b,0x57,0x03,0xa8, - 0x02,0x7b,0x5c,0x44,0xf9,0x93,0x3f,0x4d,0x13,0x87,0x79,0xbf,0x4b,0x6d,0x56,0x6a, - 0x7e,0x5c,0x28,0xf7,0x08,0xbc,0xc5,0x16,0x22,0xbe,0x12,0x2a,0xa4,0x57,0x37,0x54, - 0x85,0xb2,0xce,0x7c,0xb9,0x42,0x79,0xa5,0xad,0x2a,0xdf,0x71,0x46,0xf4,0xc1,0x7b, - 0xbf,0x2a,0x3d,0xbb,0xc9,0xca,0x8f,0x7a,0x06,0xf1,0xcc,0xf3,0x2c,0x3f,0xed,0x9e, - 0xff,0x2e,0xae,0xd1,0xd6,0x4f,0x2f,0x8e,0x80,0x41,0xf2,0x24,0x96,0x57,0xbc,0x41, - 0xfe,0x55,0x38,0x57,0xfd,0x8c,0xf1,0xd6,0x27,0x53,0xe3,0x83,0xb0,0x83,0xc9,0x0f, - 0xde,0xa1,0xa8,0x4f,0xd3,0xe2,0x6a,0xe1,0x4b,0x08,0x1e,0xd7,0x4b,0xc5,0x90,0x11, - 0x24,0xcb,0xb5,0xb5,0xea,0x6c,0x6e,0xca,0xf5,0x4e,0xce,0xd7,0x72,0x5b,0x85,0xc3, - 0xa0,0xd2,0x1b,0x6e,0xbd,0x6e,0x25,0x6b,0x69,0x28,0x61,0x19,0xc5,0xc4,0xb5,0xaa, - 0x5d,0x73,0x8f,0xc8,0xba,0x33,0x04,0x7b,0x84,0x42,0xe3,0x84,0x87,0xbc,0xd6,0x34, - 0x31,0xdf,0x35,0x7d,0x88,0xf3,0xa3,0xba,0x6e,0xee,0x16,0xbf,0x40,0x3e,0x66,0xbe, - 0x3a,0x47,0x9b,0x3c,0x87,0xb4,0x30,0x5f,0xc8,0x11,0x91,0x1f,0x90,0xfe,0x48,0x38, - 0xff,0x84,0x9c,0x62,0x13,0xef,0xab,0x0b,0x5c,0xde,0x56,0x44,0x1d,0x1e,0xf1,0x7d, - 0x0e,0x14,0xb7,0x64,0xb5,0xa3,0x18,0x7f,0x2b,0xe0,0xeb,0xe7,0x65,0xb1,0xd5,0x4b, - 0x60,0xf2,0xc3,0x93,0xfc,0xa8,0x7c,0x13,0xff,0x2c,0x42,0xeb,0xbe,0xf1,0x61,0xed, - 0x55,0xce,0xc6,0x0c,0x4e,0x2b,0x84,0x93,0x50,0xac,0xd9,0x0d,0x71,0x31,0x7c,0xac, - 0x6c,0x45,0x7d,0x47,0xf4,0xc9,0xfe,0xb0,0x3b,0x4c,0x7e,0x94,0x53,0x71,0x3c,0xe7, - 0xdc,0x85,0xda,0xcd,0xa7,0x46,0xb6,0x87,0x0b,0xa0,0x2f,0x34,0x47,0xa5,0x11,0x27, - 0x6f,0x73,0xc1,0xf5,0x57,0xba,0x05,0xff,0x08,0x7c,0x7e,0x51,0x2d,0x8a,0x29,0x0e, - 0x7b,0x9c,0x2b,0xf3,0xb6,0x91,0x67,0xe0,0x71,0x56,0xe2,0x41,0xeb,0x64,0xb7,0xba, - 0x13,0x38,0xc3,0x33,0x5b,0x4f,0xf2,0xa3,0x14,0xc4,0xdb,0x6a,0x08,0x6c,0x0a,0x1a, - 0x51,0x5b,0x79,0x5b,0x22,0xb0,0x35,0xc1,0x66,0xa5,0x90,0xfb,0xf5,0x22,0xa4,0x91, - 0xee,0xee,0xa9,0xc1,0xfd,0xd6,0x30,0xb1,0xfa,0x24,0x0f,0x3f,0xba,0xab,0x02,0xe4, - 0xa8,0xd8,0xa1,0x9c,0x30,0xd9,0x08,0x44,0x37,0xeb,0xb3,0xb9,0xa2,0x62,0x44,0xfa, - 0x98,0xd7,0x47,0xda,0x27,0xea,0x4f,0x4d,0xc6,0x07,0x37,0x27,0x68,0xe1,0x8e,0xfe, - 0x9a,0x6e,0x9e,0xdf,0xc4,0xf3,0xdd,0xea,0x51,0x22,0xce,0xe3,0x83,0x87,0x71,0xc5, - 0x16,0x1a,0x8e,0xf3,0x2f,0x0c,0x5a,0xfa,0xa3,0x7d,0x64,0xe2,0x43,0xf7,0x88,0x78, - 0x8e,0x5e,0xf5,0x54,0x49,0xf6,0x41,0xf1,0x3c,0x8c,0xa9,0xa5,0x9c,0xff,0xfc,0x27, - 0x78,0x05,0x4a,0x29,0x5e,0xb1,0xf4,0x87,0xdd,0xf6,0x11,0x7d,0x3e,0xe4,0x24,0xb4, - 0x0b,0x24,0xb6,0xc9,0x53,0xc2,0x68,0xa7,0xf3,0x5d,0xe5,0x70,0x7f,0xd5,0x19,0x3a, - 0xac,0x0d,0x40,0xcb,0x51,0xa7,0x87,0x76,0x5a,0xf2,0xe3,0xfa,0xe0,0xa4,0xb4,0xf7, - 0x4e,0x67,0x5f,0xa7,0xe7,0xa5,0x42,0x7d,0x27,0xb8,0xa9,0x8d,0x77,0x97,0x3c,0x24, - 0xa9,0x47,0xe7,0x7a,0x9c,0xbd,0xac,0x51,0x53,0xa5,0x80,0xea,0x3c,0x3a,0xb9,0x7f, - 0x12,0xfc,0x70,0xe7,0x69,0x1a,0x5b,0xd9,0xc1,0xf3,0x0d,0xd9,0x86,0xa7,0xc8,0xa0, - 0x72,0x38,0xe1,0x51,0x19,0xe0,0x78,0xf2,0x38,0xe5,0xfd,0x61,0x27,0xde,0xb7,0x7a, - 0xfa,0x10,0xfd,0x84,0x75,0xf5,0xdb,0x63,0x59,0xb3,0xe1,0x67,0x60,0x1e,0x9c,0x77, - 0xd3,0x2e,0x1a,0xde,0x9e,0xd6,0x98,0xf8,0x9e,0xff,0x18,0xf3,0x80,0x5b,0x17,0xfb, - 0x6b,0x2d,0xfc,0x28,0x18,0xdd,0xe6,0xe3,0x24,0xf9,0xca,0xd6,0x8f,0xc1,0x37,0x9c, - 0x39,0xd2,0x38,0xfc,0x8d,0xab,0xca,0x34,0xe3,0xe6,0xf1,0x42,0x01,0x3a,0x42,0xa3, - 0x54,0x7e,0xd4,0x28,0x2f,0xfb,0x13,0x13,0x57,0xe0,0x7e,0xa8,0x0c,0xda,0xf7,0xe5, - 0x0c,0xd5,0x5e,0x14,0xbc,0xc6,0xb4,0xd8,0xd7,0x0b,0xb5,0x13,0xcc,0x3b,0xdd,0xbe, - 0x73,0x4a,0x7f,0xd8,0x83,0x14,0xf1,0x6d,0x4c,0xe8,0x85,0x4d,0x69,0x0f,0xf0,0x36, - 0x31,0x1f,0xc3,0xde,0x8e,0x85,0x06,0x02,0xef,0xbf,0x57,0x1a,0x79,0x7f,0xc6,0x4e, - 0x92,0xac,0x8f,0xd4,0x87,0xf2,0x67,0x4f,0x93,0xaa,0x64,0xc4,0xa0,0x97,0xa7,0x51, - 0x00,0xd8,0xb3,0x5f,0x34,0x1b,0xeb,0xc8,0x1e,0x28,0x6c,0x33,0x1d,0xbe,0xaa,0xa5, - 0x3f,0xec,0xb0,0xf2,0x35,0x78,0x96,0xe5,0x77,0xd0,0xef,0x93,0x1f,0xf3,0xb2,0x00, - 0xae,0xc8,0x9a,0x75,0xaf,0xc3,0x81,0xb6,0xd9,0x71,0xf1,0x9f,0xc8,0x57,0xb5,0x4d, - 0x8d,0x3b,0x74,0xfa,0x3e,0xb1,0xd6,0x47,0xba,0x07,0x3e,0x61,0x31,0x23,0xd3,0x43, - 0x5e,0x86,0x5f,0x47,0xdd,0x03,0x6e,0x51,0x34,0xe0,0xfc,0xbd,0x9e,0x41,0xc7,0x21, - 0xd1,0x05,0x46,0xbe,0x47,0x73,0xe7,0x8b,0x96,0xfe,0xb0,0x33,0x9e,0xd3,0xfe,0x39, - 0xca,0x41,0xe0,0x97,0x07,0x4c,0xb4,0x33,0x6d,0x4f,0x4d,0x5c,0xfd,0x34,0xb7,0xea, - 0x25,0x47,0xec,0x85,0xe1,0xec,0x3f,0x91,0xc5,0xbd,0x8e,0x15,0x72,0x32,0x3f,0x8e, - 0x72,0xfc,0xa3,0xa3,0x36,0xec,0x16,0x25,0xf8,0xe3,0x83,0x3e,0xc1,0xd6,0xb0,0x75, - 0x28,0x7a,0x9e,0x75,0x5d,0x5c,0x1a,0x6b,0x29,0x84,0x17,0xc0,0x9b,0xb7,0x54,0xaf, - 0x49,0xda,0x77,0x7d,0x79,0xdb,0x61,0x2f,0xcd,0x67,0x74,0x58,0xcc,0xa5,0x2f,0xdb, - 0x8b,0x05,0xf9,0x21,0xf2,0xb6,0x7e,0x00,0x6e,0x35,0x22,0xf5,0x64,0x01,0x59,0x27, - 0xa8,0x4d,0xae,0x90,0xcd,0x3b,0xb9,0x9e,0x26,0x3f,0xaa,0x29,0x9f,0xd7,0x07,0x28, - 0xe3,0x65,0x30,0xe3,0xb6,0x40,0xf6,0x3b,0x91,0xe7,0x1b,0x42,0xef,0xd3,0x1f,0x90, - 0xeb,0x50,0xf7,0xe6,0x87,0xe8,0xa0,0xa5,0x3e,0x49,0x1d,0xe2,0x9f,0xbd,0x51,0xd3, - 0xbe,0xa8,0x85,0x46,0xa1,0xc4,0x58,0xb2,0x80,0x9c,0x14,0xf6,0x32,0xb3,0x02,0x4c, - 0x3a,0x84,0xdf,0x56,0xcf,0xe0,0x7a,0x26,0xf1,0xc9,0xe0,0x0c,0xde,0x0d,0x76,0x2f, - 0x27,0x81,0xe7,0x19,0x1f,0x90,0xaa,0x1f,0x65,0xe9,0x39,0xef,0xab,0x57,0x88,0x97, - 0x6d,0xd7,0xc5,0xdb,0x94,0x97,0x34,0xef,0x36,0x77,0x48,0x5c,0x64,0xe9,0x0f,0x92, - 0xe0,0xab,0x2c,0x43,0x35,0x82,0x60,0x9d,0xa3,0x9d,0xc6,0x38,0x1b,0x89,0xe2,0x00, - 0xc4,0x78,0x68,0x84,0x3c,0x37,0x35,0x3f,0xce,0xd4,0x8f,0x9c,0xe4,0xdc,0xc1,0x13, - 0xc9,0xb5,0xd6,0x2d,0x78,0x4c,0x8e,0xf5,0xfa,0x12,0x44,0xa9,0x63,0xb8,0x91,0xec, - 0xd1,0x1a,0x31,0x35,0x3f,0x0e,0x61,0xc9,0x78,0x5b,0x2e,0xa7,0x86,0xd6,0xd6,0x49, - 0x68,0xf6,0x9b,0x8e,0x88,0xb4,0xe5,0x68,0x7f,0xf1,0x5f,0x25,0xeb,0x23,0x99,0xf8, - 0x47,0x2b,0xe1,0x6d,0xbc,0x3a,0xd0,0xba,0x6c,0x37,0x5c,0xbc,0x2c,0x40,0x73,0xa2, - 0x2c,0x80,0x9b,0xb4,0xa8,0x66,0x87,0xaf,0x3b,0xa6,0xe0,0x1f,0x5e,0x1f,0x89,0xbc, - 0x37,0x41,0x8b,0x3a,0x47,0x1a,0x25,0xee,0x11,0xba,0x97,0x17,0x22,0x50,0x35,0x84, - 0x46,0x5a,0x12,0xff,0x98,0xf9,0x71,0x95,0x1c,0xed,0xe8,0xf4,0x4c,0x82,0x0d,0x95, - 0xa8,0x0f,0xb9,0x0c,0x6d,0x1a,0x3a,0x9e,0xb1,0xf5,0xb5,0x64,0x7e,0xdc,0x8c,0xf1, - 0x26,0x68,0xfd,0x05,0x17,0xcc,0xfc,0xb8,0x4d,0xbc,0xad,0xd5,0x65,0x8d,0xd7,0x87, - 0x14,0x2f,0x98,0x83,0x4d,0x41,0x6b,0x7f,0x10,0xce,0x8f,0x8a,0x96,0x7e,0xc9,0x1d, - 0x25,0xab,0xe8,0xe3,0xaa,0x37,0xb8,0x94,0x27,0x12,0x5e,0x56,0xbd,0xcb,0xed,0x3f, - 0x26,0xb7,0xe2,0xa0,0x2b,0x60,0x4f,0xc9,0x8f,0xcb,0x8b,0x4b,0xdd,0xfd,0x6c,0x41, - 0x26,0x2f,0x93,0x1b,0x29,0x71,0x52,0x8a,0xf2,0x50,0x3a,0xa4,0x39,0xa9,0x2d,0x4c, - 0x50,0x46,0xdf,0xe7,0x54,0x68,0x4a,0x7f,0x58,0xce,0x0f,0x57,0x55,0x8d,0x6e,0xd9, - 0xd0,0xa1,0xe3,0xfb,0x06,0x02,0xbc,0x0c,0xd4,0x9e,0xe9,0x9d,0xcb,0xe9,0x75,0xa4, - 0x50,0xd9,0x03,0x3b,0x6e,0x47,0xe0,0x9d,0xec,0x0f,0xbb,0x4d,0xea,0xe0,0xf2,0xa7, - 0x3a,0x83,0xe7,0x1b,0x36,0x08,0xed,0xcb,0x23,0x51,0x3f,0xbf,0x52,0xc4,0xeb,0x47, - 0x15,0xba,0xf0,0x8b,0xdc,0x47,0xfb,0xc9,0xb9,0x29,0xf5,0x21,0x63,0x77,0xd8,0x95, - 0xec,0x69,0x21,0x5e,0x08,0xc2,0xad,0x88,0xb3,0x95,0xd1,0x9a,0x22,0x6d,0x69,0x54, - 0x9e,0x03,0xa3,0xd3,0xbd,0xf5,0xae,0xa8,0x90,0xe4,0x63,0xf4,0x09,0x89,0xfd,0xe0, - 0x88,0xc2,0x53,0x88,0x8e,0x2a,0x57,0x70,0x7f,0x97,0xf4,0x89,0x5e,0xa6,0xbd,0xaa, - 0x88,0xdf,0xc8,0xfe,0x84,0x1d,0x31,0xf1,0x8f,0x85,0x5f,0xa7,0xc3,0xb0,0xea,0x55, - 0xdd,0xec,0xcb,0x67,0x79,0x35,0x6c,0xc5,0xcd,0x1b,0xf5,0x8e,0xe0,0xfe,0xa2,0x26, - 0x3f,0x8a,0xc6,0x78,0x7f,0xd8,0xa9,0xf9,0x71,0x05,0x3a,0x35,0xdd,0x3e,0x52,0x49, - 0x03,0xed,0x20,0x7f,0x94,0x8e,0xf4,0x74,0xb1,0x4c,0x3d,0xfb,0x0c,0x6c,0x5c,0xe9, - 0x64,0x54,0xb7,0xd6,0x87,0x44,0xf9,0xb3,0x97,0xe9,0xe3,0xdd,0x73,0xd0,0xfe,0xfa, - 0xc9,0xc2,0xf4,0xd6,0xa6,0xae,0xe5,0x60,0xe4,0x79,0x88,0x41,0x50,0x3e,0x1b,0x54, - 0x0d,0x1f,0x4f,0xf6,0x03,0xe5,0xf8,0x47,0xcb,0x3f,0xca,0xdb,0xfa,0xb0,0xf5,0xc4, - 0xa4,0x49,0xff,0x16,0xf6,0x83,0xd0,0x97,0xf1,0x50,0xf6,0x28,0x4a,0x30,0xb3,0xbe, - 0xd9,0xe0,0xe4,0xfc,0x48,0x04,0xf1,0x0f,0xdb,0x13,0x77,0xaf,0x21,0x57,0xd4,0xf5, - 0x83,0x95,0x1f,0x64,0x2d,0x17,0x9f,0x50,0x3f,0x67,0xa5,0xe7,0xed,0x0f,0x37,0xbe, - 0x06,0x2f,0xb3,0x98,0x6e,0xaf,0x13,0x3f,0x70,0x4e,0xcc,0xa7,0x33,0x4c,0xff,0xcf, - 0x5b,0x8e,0x58,0xe9,0x87,0xec,0x52,0xc8,0x67,0x3c,0x1a,0x23,0xef,0x6f,0xef,0x82, - 0x8a,0x33,0x8e,0xfd,0x62,0x1f,0xda,0x53,0x47,0xd8,0x3c,0x3d,0x27,0x59,0x1f,0x92, - 0x34,0x1d,0x81,0xcb,0xbc,0x2c,0xf6,0x48,0xa3,0x2f,0xf4,0x2a,0xf3,0x9e,0xb3,0x5f, - 0x16,0xce,0x9b,0x11,0x8d,0xda,0x51,0x3c,0x86,0xbf,0x8b,0xed,0x8d,0xb7,0x76,0x5b, - 0xf3,0xe3,0xf2,0xb6,0x6b,0xf8,0xd1,0x35,0xfa,0xa0,0x38,0xd3,0xd8,0xd9,0xae,0x0e, - 0xe2,0xd3,0xfe,0x16,0x9e,0x55,0xd5,0x3e,0xca,0x89,0xe2,0xeb,0x3d,0xf9,0x7d,0x28, - 0x6a,0x3e,0x98,0xec,0x47,0xcf,0xf1,0xcf,0xb3,0x30,0xbb,0x9e,0x0e,0x13,0xde,0x16, - 0x2d,0xbf,0x37,0x23,0x18,0xee,0xd7,0xf6,0x4b,0xb3,0x8d,0xc0,0x83,0xfe,0x61,0xff, - 0x63,0x9e,0x50,0x43,0x60,0x8d,0x35,0x3f,0x0e,0xe5,0x4f,0x0c,0x9e,0xe2,0x6c,0xf0, - 0x12,0xed,0x67,0xa0,0xbe,0x88,0xc0,0xb2,0x8f,0x76,0xf5,0x9b,0x12,0xe9,0x03,0x5e, - 0x78,0x9c,0xd1,0xd4,0xfc,0x38,0xb3,0x09,0x6c,0xc0,0x3e,0x2c,0x2e,0x96,0x36,0x49, - 0x05,0xf1,0x47,0x79,0xfd,0xe1,0x8b,0x3d,0x9f,0x72,0xda,0xd2,0x07,0xec,0xd7,0xc4, - 0x7b,0xdf,0x49,0x26,0x7e,0x90,0xec,0x4f,0x8a,0xf8,0xe7,0x13,0xa8,0xd0,0x1c,0xb1, - 0x25,0xbb,0x55,0xce,0x96,0xcf,0xe2,0x7c,0xf2,0x8b,0xf4,0x11,0x63,0x5e,0xcc,0xff, - 0xa1,0xf2,0x7e,0x5f,0x65,0xc8,0x4c,0xd4,0x9d,0x78,0x7e,0xc4,0x3f,0xca,0x25,0xa5, - 0x54,0x73,0x73,0xed,0xc6,0xeb,0x0f,0xd8,0x2f,0xe4,0x8c,0xa0,0x59,0xb7,0xc8,0x58, - 0xca,0x3b,0x60,0xbe,0x25,0x94,0xe6,0xdb,0xfb,0x44,0xa3,0x76,0xe2,0xf9,0x39,0xfe, - 0x39,0x28,0x39,0x57,0x99,0xdd,0xd8,0xdf,0x32,0xfb,0x9d,0x39,0x7f,0xaf,0xf1,0xb2, - 0x3c,0x99,0x31,0xff,0x47,0xd0,0x6c,0xb4,0xab,0xae,0x88,0xd5,0xff,0x23,0xb8,0xb9, - 0xbd,0x10,0xa6,0x09,0xb7,0x8f,0xd3,0x30,0xd9,0x9b,0x87,0xd6,0xba,0x8d,0x48,0x8c, - 0x7c,0xf0,0x85,0x6d,0x11,0x67,0x80,0x6e,0x99,0x92,0x1f,0xb7,0x17,0xe2,0xcc,0xc5, - 0xd9,0xf2,0x5b,0x51,0x51,0xe6,0x41,0x7a,0x2f,0xed,0x92,0xdc,0x46,0xc6,0x7c,0xbc, - 0x12,0x41,0xf9,0x13,0x50,0xd6,0x59,0xf8,0x51,0x8f,0xae,0xd6,0x46,0x61,0x3e,0x4f, - 0x82,0xfb,0x17,0x65,0x53,0x68,0xfe,0x19,0xb3,0x2d,0xda,0x45,0x58,0xdc,0x6b,0x1f, - 0x2e,0x18,0x82,0x37,0x05,0x54,0x3d,0x5b,0x52,0xea,0x23,0xa1,0x12,0xa7,0x37,0x1b, - 0x8e,0x7a,0x71,0x4c,0xbf,0x34,0xb7,0xea,0xcd,0x79,0x86,0x38,0x4c,0xaf,0x40,0x55, - 0x9f,0xe3,0x7c,0xce,0x18,0x1f,0x70,0x6a,0xb4,0xb5,0x3e,0x24,0xf7,0xff,0xe0,0xc5, - 0x38,0x2a,0xe5,0xcb,0x9e,0xd2,0x01,0x47,0x8f,0xe8,0x85,0x31,0xa9,0x94,0x3a,0x46, - 0x6a,0xae,0xe0,0x41,0x2b,0x1d,0x6e,0xfd,0xf5,0x94,0xfe,0x68,0x87,0xc3,0x9c,0xfd, - 0xb5,0x45,0x65,0x91,0x6a,0x44,0x77,0x6b,0x9d,0x25,0x50,0x5e,0xef,0x54,0xe5,0x6e, - 0x4e,0xa4,0x37,0xd4,0x9e,0xc0,0x56,0x6b,0x7f,0xb4,0x34,0x33,0x5f,0xa9,0x56,0xae, - 0x20,0xb5,0x1e,0xdd,0xa3,0x06,0x96,0x64,0xa3,0x01,0x36,0xdf,0xe5,0x0a,0x9a,0xf9, - 0x17,0x5d,0x9a,0xab,0xcf,0xe6,0x4c,0xe9,0x8f,0xc6,0xf1,0x4f,0x49,0xa8,0x25,0x6a, - 0x5b,0x09,0x8d,0xac,0xa8,0x41,0xee,0x36,0xdc,0xca,0x41,0xa3,0x48,0x1f,0xaf,0xb7, - 0x50,0x64,0x20,0x7e,0xb0,0xf4,0x47,0x33,0xf7,0x8f,0xcf,0xe3,0x38,0x2b,0xae,0xa4, - 0x63,0xbc,0x9a,0x68,0x44,0x54,0xd9,0x88,0x71,0xc8,0x63,0x3a,0x4e,0x47,0xb4,0x0a, - 0x23,0x6b,0x9b,0xa8,0xa4,0xd6,0x47,0x82,0xaa,0x6a,0x44,0x83,0x31,0xb8,0x0d,0x61, - 0x90,0x23,0xf8,0x85,0x8b,0xda,0x9f,0x68,0x19,0x38,0x12,0xfe,0x8d,0xbf,0xe2,0x15, - 0x39,0x52,0xeb,0x23,0x5d,0xe2,0xdd,0x9d,0xba,0x6a,0x4a,0xe0,0x2d,0xcd,0xbb,0xc6, - 0xde,0xd4,0xe8,0x64,0x23,0x9a,0x4f,0x31,0xfb,0x7f,0x9d,0x0f,0x76,0xbd,0x9b,0x1a, - 0xff,0x32,0xfd,0x81,0x25,0xb5,0x72,0x5b,0xb8,0x48,0x3a,0xbe,0xdc,0xb9,0x19,0xda, - 0xc2,0x73,0xb9,0x86,0x5a,0x00,0xe6,0xf3,0x33,0x62,0xd4,0x3e,0x4b,0xbc,0x29,0xf1, - 0x2f,0x5c,0x9f,0x0e,0x79,0x9b,0x2d,0xa4,0x6e,0x61,0x6a,0x3f,0x2d,0xb4,0xf5,0xf0, - 0xa6,0x62,0xba,0x99,0x4f,0x11,0x13,0x9c,0x86,0xb0,0xd6,0x82,0x7f,0x78,0xfc,0xeb, - 0x40,0xb8,0x38,0x24,0x9f,0x21,0x5f,0x85,0xb5,0xac,0x60,0x80,0x2e,0x4f,0x7f,0x1d, - 0x9e,0x8d,0x16,0x0f,0xd0,0x35,0xe9,0xef,0x48,0x07,0x1a,0x10,0x2a,0xd4,0xa5,0xe0, - 0x1f,0x3b,0x7c,0xca,0x2a,0x4f,0x3a,0xbc,0xe2,0x2a,0xf8,0x35,0x8f,0x76,0xed,0x10, - 0x0d,0x2d,0x46,0x2b,0xef,0xb5,0x7b,0xc4,0x93,0x70,0xde,0xf0,0xf4,0x65,0x7a,0x6a, - 0x2c,0xf8,0xe7,0x26,0xee,0xff,0xa9,0xaa,0x9d,0x56,0x2f,0xee,0xe3,0xdd,0x72,0x7b, - 0xe6,0x0d,0x8b,0x0b,0x94,0x51,0xb3,0x62,0x92,0x30,0x06,0xbf,0x13,0x12,0xf5,0x91, - 0x52,0xea,0x03,0x5c,0x82,0x47,0x10,0x5f,0x89,0x2a,0x07,0x8a,0x46,0x89,0x51,0x30, - 0xa4,0x5f,0x81,0xbd,0x21,0x73,0x7d,0xf8,0x15,0xde,0xdf,0xf9,0x9a,0xfa,0x00,0x72, - 0x7d,0x76,0x6e,0xda,0x3e,0x61,0x05,0xaf,0xae,0xff,0xdb,0xe8,0x01,0x30,0xfb,0x83, - 0xbc,0x8d,0x4b,0xb1,0x93,0x17,0xda,0xf5,0xa6,0xd6,0x07,0x60,0xc5,0xa1,0x13,0x23, - 0xd9,0xd7,0xc1,0x7e,0x56,0x80,0xf8,0x27,0xfc,0x0e,0x8b,0x31,0x57,0x3d,0x0f,0xfc, - 0xe1,0xaf,0xe6,0xc6,0x6f,0x28,0x27,0x9e,0xa9,0xf9,0x71,0x5f,0xe5,0xd1,0xd5,0x5a, - 0xee,0x98,0xb5,0xb5,0x91,0x57,0x5e,0x3c,0xb8,0x9c,0x3e,0x64,0xf3,0x98,0xfd,0x97, - 0x8b,0x8c,0x1b,0xca,0x6c,0xd9,0x29,0xf5,0x01,0x2e,0x42,0x55,0x2c,0x33,0x2e,0x57, - 0xc0,0x95,0xf8,0x5e,0x96,0x35,0x24,0xfe,0x11,0xae,0x34,0xdc,0xa8,0x67,0xe9,0x28, - 0x88,0x3e,0x4f,0xab,0x68,0xc0,0x2b,0x15,0xa9,0xf5,0x01,0x78,0x36,0x5c,0x13,0xaf, - 0x06,0x60,0xf7,0x29,0xb7,0xaf,0xe3,0x6e,0x9f,0x9a,0x32,0x25,0x83,0xf1,0xc6,0x61, - 0xac,0x4c,0x49,0x6b,0xb8,0xa6,0x3e,0x80,0x4f,0x5b,0xa6,0x88,0x4f,0xb1,0x51,0xe6, - 0x0c,0xd9,0xb7,0xc8,0x73,0xd8,0x31,0xd5,0x89,0x6a,0xae,0x86,0xd7,0x47,0xf2,0x86, - 0x56,0xe7,0xa5,0xd4,0x87,0x1c,0x8f,0x7f,0x6d,0xb3,0x15,0xb2,0x83,0x7d,0x65,0x2b, - 0x5c,0xdb,0x9d,0x0e,0xde,0xe8,0xe4,0xde,0x8c,0xa8,0xc9,0x00,0x6f,0x0f,0x05,0xb6, - 0x4f,0xe9,0x0f,0x82,0xf3,0x5f,0xba,0x71,0xcb,0x86,0xdd,0xf4,0xb0,0x5a,0xf4,0x12, - 0x8d,0xda,0x0a,0x49,0x73,0xc2,0xed,0x83,0xf3,0x9b,0x9c,0xb5,0xae,0xfd,0xa9,0xfd, - 0x61,0x13,0x45,0x90,0x78,0x59,0x24,0x13,0x08,0x2d,0xe0,0x8a,0x5e,0xeb,0xe4,0x6e, - 0x10,0x5e,0x4a,0x91,0xf7,0x87,0xbd,0x81,0x08,0x13,0xeb,0x99,0xa8,0x0f,0xe0,0xe3, - 0x4e,0x1e,0x54,0xc4,0xe9,0x15,0x89,0xfe,0xa4,0xc7,0xc1,0x2c,0x8b,0x6d,0x32,0xc6, - 0x79,0xeb,0xe4,0x92,0x24,0xfe,0xb9,0x1e,0x5f,0x4a,0xa8,0x0a,0x2e,0x3b,0x2d,0x5e, - 0x90,0x2e,0x6b,0xb7,0x26,0xea,0x43,0x5e,0xd5,0x16,0xf2,0xc2,0x41,0x08,0x75,0xfc, - 0xb3,0xf8,0x95,0x94,0xfa,0x48,0xdc,0xff,0xa3,0x39,0x2e,0xd4,0xe4,0x4a,0x97,0xed, - 0xa5,0x5a,0xd6,0xe9,0x1a,0xc4,0x3f,0x9a,0x99,0x36,0x88,0xf3,0xa9,0x49,0x1d,0x9f, - 0x33,0xa5,0x3e,0x40,0x09,0xb4,0x34,0x11,0x95,0x75,0x6b,0x4e,0x5b,0xa6,0xee,0x54, - 0x39,0x63,0x5c,0xa1,0x2c,0x1b,0x7f,0xc5,0x2b,0x06,0xac,0xb3,0x59,0xfb,0xc3,0xe2, - 0x4b,0x11,0x77,0x70,0xc9,0x75,0x77,0xbd,0xa4,0xee,0x71,0x39,0xf9,0x8b,0x23,0x22, - 0x0a,0x71,0xe0,0x97,0xdd,0x2b,0xe0,0xfb,0xde,0x45,0x95,0x70,0x6a,0x7f,0xd8,0x83, - 0x02,0xca,0xb7,0x68,0xfa,0x00,0xdb,0x23,0x39,0xab,0xef,0x8c,0xda,0x3a,0xe8,0x61, - 0x85,0x24,0x10,0xe9,0x41,0x94,0xcf,0x91,0x1f,0x59,0xfb,0xc3,0xe6,0x22,0x9e,0x11, - 0xca,0xd6,0x6c,0xda,0x92,0x33,0x00,0xdf,0x8f,0x78,0xd6,0x38,0xb6,0x23,0xd0,0x1d, - 0x65,0x5d,0x9a,0xdb,0xac,0x7f,0xa5,0x20,0x22,0xda,0x26,0x26,0xe3,0x5f,0x9d,0xa6, - 0xbf,0xa8,0x44,0x73,0xdc,0x80,0x30,0x6f,0xd4,0x38,0xf2,0xed,0x57,0xb3,0x1b,0x57, - 0xc1,0x68,0x6b,0x65,0xdf,0xb2,0xa8,0x80,0xf3,0x39,0xfe,0xd9,0x26,0x27,0xfd,0x0f, - 0xe3,0xfc,0x70,0xd8,0xd4,0xb4,0x44,0x65,0x7d,0x37,0x78,0x73,0xed,0xe6,0xc6,0xd3, - 0x12,0x89,0x8a,0x30,0x8c,0xa2,0x64,0x53,0x58,0x4c,0xed,0x8f,0x76,0x88,0xcc,0x8b, - 0xca,0x1f,0xe1,0x52,0x6d,0x64,0x05,0xcc,0x35,0x48,0x06,0xe9,0x11,0xe6,0x64,0x4b, - 0x38,0x22,0x3a,0x24,0x15,0xb0,0x25,0x03,0x7e,0xdb,0xc4,0x71,0x07,0x77,0x42,0xfe, - 0xb8,0xe5,0x32,0xdb,0x52,0xde,0x6d,0x27,0x48,0xa7,0x2b,0xa7,0xb4,0x83,0x9a,0x99, - 0x96,0x7b,0x12,0xf6,0x30,0xd5,0x40,0xc1,0x9e,0xec,0x0f,0x32,0xce,0x0f,0x67,0x72, - 0x90,0xfc,0x90,0x87,0x81,0x12,0x65,0x3d,0x9e,0xa5,0xbb,0xfa,0x79,0x44,0x1b,0x4a, - 0xfd,0xf9,0x47,0xe5,0xef,0x59,0xe3,0x5f,0x66,0x7d,0x80,0xc5,0x21,0xc7,0xa0,0xf8, - 0x35,0xdb,0xc7,0x6c,0x6f,0xc8,0x1e,0x10,0x39,0x51,0x7c,0x7e,0xbb,0x63,0x8d,0xc8, - 0x1b,0xa5,0xed,0x89,0x3b,0x46,0x64,0x5b,0x0a,0x3f,0x9c,0xc7,0xbf,0x36,0x31,0x79, - 0x1f,0xea,0xdf,0x1f,0x6a,0x28,0xa8,0x87,0x62,0x97,0xa1,0x6c,0x9b,0x23,0xc6,0x1b, - 0xa1,0xa6,0x9b,0xf5,0xca,0x92,0xfe,0x1f,0x6d,0xc6,0x3b,0xbc,0x9b,0xa7,0x6a,0x1f, - 0x11,0x7d,0xd2,0x55,0x36,0x9f,0x67,0xc3,0x5d,0xe1,0x8c,0x68,0xde,0xd6,0xe1,0x8a, - 0x86,0xaa,0xed,0x3d,0x7b,0xb7,0xb5,0x3f,0xda,0xf5,0xdb,0xe1,0xd7,0xf8,0xfc,0x79, - 0xf7,0xda,0x66,0xd2,0x03,0x4a,0xbe,0x91,0x69,0xe2,0x99,0x48,0xb1,0x96,0xf9,0xa0, - 0x59,0x1f,0xa9,0xb8,0x27,0xf2,0xfd,0x94,0xfa,0x90,0xdc,0x4d,0x5d,0xac,0x65,0x84, - 0xb2,0xb6,0x69,0x07,0xa0,0x40,0x43,0xbc,0x74,0x5a,0xdd,0xa7,0x16,0x03,0x97,0x57, - 0xca,0x01,0xa5,0x58,0x0b,0xd4,0x87,0xd3,0x27,0xbf,0x17,0x8f,0x7f,0x6d,0x05,0x77, - 0xf8,0x7a,0x20,0x11,0xa9,0x5b,0x53,0xbb,0x11,0xff,0xbc,0x04,0x7b,0xf5,0xd5,0x79, - 0x19,0xb8,0x9e,0xca,0x5e,0xa5,0x04,0x28,0xb5,0xe5,0x35,0x4d,0xe6,0xc7,0xcd,0x68, - 0xe5,0xdd,0xbe,0xd4,0x62,0x8f,0xbc,0x1b,0x3f,0x74,0x8c,0xb6,0x46,0xc5,0x8f,0xe1, - 0x60,0xaf,0x6f,0x90,0x07,0xb6,0x32,0xf9,0x52,0xa0,0x69,0x69,0x4b,0xa9,0x0f,0x80, - 0x17,0xf5,0x8d,0x3f,0x22,0xdf,0x52,0x47,0xee,0x45,0x41,0xd4,0x86,0xf6,0xd7,0xa8, - 0x36,0xcb,0x2c,0xdc,0x27,0x7c,0x4a,0x7d,0x86,0x59,0x78,0xcd,0xca,0x0f,0x7f,0x95, - 0x7b,0x17,0x07,0xe5,0x4a,0xe5,0x64,0x5f,0x29,0x64,0x6a,0x62,0x39,0x7c,0x06,0xa5, - 0xe3,0xfd,0x20,0xd4,0x52,0x5e,0x3a,0x4f,0x4d,0xa9,0x0f,0xf0,0x33,0x52,0xa2,0x2c, - 0x89,0xe3,0x27,0x69,0x35,0xca,0xbc,0x74,0xfb,0x96,0xb9,0x4d,0xdd,0x61,0x67,0x7a, - 0x42,0xff,0x32,0x67,0x21,0x8d,0xdc,0xa5,0x86,0x2c,0xfc,0x70,0xee,0xa6,0x20,0x37, - 0xee,0xd9,0xe2,0x56,0x23,0x9a,0x73,0x47,0x46,0x37,0x71,0xc3,0x21,0xb6,0x72,0xb2, - 0x3e,0x52,0x0f,0xed,0x0e,0xab,0xd6,0xfc,0x38,0xd8,0xa9,0xb9,0x61,0x09,0x23,0x94, - 0x84,0xa5,0x39,0xd5,0x14,0x70,0x33,0xc6,0x54,0x15,0xe4,0x84,0x7c,0x56,0x8d,0x08, - 0xb4,0x5b,0x18,0x5e,0x74,0x75,0xde,0x09,0xcd,0x57,0xed,0x50,0x64,0x17,0x4f,0xab, - 0xe1,0x69,0xa1,0xaa,0x30,0x42,0xbc,0x3d,0x89,0xc0,0xa8,0xe6,0x31,0xdc,0x5d,0xa2, - 0x9a,0xcc,0x8f,0xbb,0xde,0x74,0x62,0xc0,0x32,0x43,0x1c,0x91,0xc6,0xc6,0xeb,0x43, - 0xc2,0x48,0xad,0x59,0x16,0x60,0x4c,0xba,0x5a,0xf4,0x3c,0xcc,0x4b,0xc1,0x3f,0x26, - 0xff,0xa7,0xaa,0xdf,0xde,0x23,0xde,0x0f,0x0f,0x33,0xaf,0x9a,0x79,0x4c,0x46,0xfc, - 0xc3,0x7c,0xba,0xfd,0x0c,0x59,0xa0,0x5d,0x51,0x70,0xc7,0x76,0x5b,0xf9,0x3f,0x79, - 0x1f,0xc1,0x25,0x36,0xaf,0x97,0x86,0x49,0x55,0xa0,0x9b,0x15,0xa9,0x32,0x21,0x73, - 0xa0,0x9b,0x95,0xe8,0xae,0x6d,0xe4,0x49,0xe3,0xd0,0xf7,0x9c,0x01,0xdb,0xd4,0xfa, - 0x48,0x78,0xbe,0xfa,0x78,0x3d,0x70,0xa9,0x9b,0x85,0xd4,0xeb,0x19,0x01,0x29,0x0a, - 0xab,0x59,0x5f,0xd4,0x29,0x09,0x5d,0x4c,0x5f,0x19,0xf0,0x58,0xfa,0x33,0xf2,0xfc, - 0xb8,0x9f,0x49,0x25,0xbc,0x5a,0x82,0x1b,0xba,0x55,0x27,0xdc,0x88,0x66,0x1d,0xfc, - 0x14,0x1e,0xd0,0x51,0xfe,0x3c,0x65,0xd6,0x07,0xb0,0x59,0xeb,0x23,0x41,0x1a,0x5f, - 0x64,0x9f,0x61,0xdf,0xf8,0xf5,0xd5,0x10,0x63,0x5d,0x1d,0x99,0xae,0x9c,0x22,0xed, - 0x8d,0xf0,0xc3,0x23,0xf6,0x6d,0xc2,0x2d,0x6c,0x84,0x79,0x57,0xd9,0xad,0xf9,0x71, - 0xe3,0xf8,0xc7,0x70,0xb4,0xca,0x63,0xea,0x65,0x36,0xde,0x16,0xe4,0xf2,0xed,0x38, - 0x78,0x5b,0xbc,0xa0,0xe2,0x8a,0x85,0xae,0xa9,0x8f,0x84,0xfb,0x2d,0x6e,0xdf,0xc7, - 0xd3,0xe2,0x72,0xf1,0xf4,0x35,0x89,0x6e,0x5e,0x18,0xa7,0xdf,0x8e,0x86,0x1b,0x39, - 0x4e,0x51,0x50,0x5f,0x13,0xff,0xc2,0x25,0xc6,0xa7,0xad,0xe2,0xf9,0xf2,0xbc,0xd0, - 0x5c,0x09,0x1c,0xee,0xcb,0x32,0xe8,0x36,0x72,0xae,0x70,0x03,0x73,0xae,0xa4,0x53, - 0xea,0x43,0xc2,0x5e,0xa9,0xe4,0x05,0x34,0xc3,0x97,0x91,0x9d,0x4d,0x66,0xff,0x4a, - 0x22,0x75,0x1d,0x77,0x33,0xba,0x2d,0xfc,0x22,0xfc,0x44,0x6b,0xe7,0x1d,0x63,0x53, - 0xeb,0x23,0x1d,0x60,0xdf,0xe1,0xfe,0x90,0x59,0xe1,0xc7,0xf4,0xe2,0xd0,0x8d,0x7f, - 0x63,0xe3,0xc0,0x60,0xde,0x6e,0xfa,0x77,0xe1,0x77,0x60,0x16,0xdb,0x19,0xa2,0xdf, - 0x4f,0xad,0x8f,0xa4,0x7c,0xca,0xd7,0x47,0x95,0xef,0xd1,0xcf,0x86,0x2b,0x3f,0x76, - 0x54,0x8a,0x36,0x63,0x78,0x73,0xe5,0x2f,0xdc,0x37,0xe2,0x31,0xb9,0x97,0x7a,0x34, - 0x7b,0xc5,0x94,0xfa,0x48,0xb8,0x3e,0xaf,0x4d,0x8b,0xff,0xd5,0x87,0xea,0x87,0xf4, - 0xe6,0x1e,0xc7,0xde,0x9a,0x11,0xb8,0x9a,0xbb,0xd8,0x6c,0x94,0x26,0x9d,0x33,0xeb, - 0x4b,0x4c,0x9b,0x82,0x7f,0xc8,0xac,0x41,0x94,0xf6,0x3e,0xf6,0x41,0xe8,0x91,0x3c, - 0x87,0x5a,0xa0,0x1a,0x97,0xd4,0x4a,0x3c,0x56,0x05,0x2e,0x38,0x2f,0x94,0x69,0x8e, - 0x6e,0xd9,0x8a,0x7f,0x66,0x2a,0x07,0x60,0x5e,0x1f,0x1d,0x9e,0x53,0xc9,0x7e,0xe3, - 0x59,0x5c,0x8b,0x62,0x33,0x57,0x3f,0x90,0x51,0x5c,0x4d,0x79,0x7d,0xfe,0xfd,0xb0, - 0x83,0xfb,0x93,0x93,0xf8,0xa7,0x27,0x81,0x7f,0xf0,0x7d,0x57,0xfa,0xa4,0x75,0x6c, - 0x76,0xc7,0x92,0x41,0x32,0x0b,0xf6,0x45,0x8b,0x79,0x5b,0x90,0x59,0xf0,0x3c,0x9b, - 0x1d,0x92,0xd7,0x5c,0x8b,0x7f,0x8c,0xc8,0x02,0x62,0x87,0xad,0x6a,0xa0,0x1f,0x8f, - 0xa1,0xa3,0x70,0x2f,0x2a,0x7a,0x94,0x3f,0x0f,0x54,0xef,0xd5,0xb8,0x63,0x8d,0x58, - 0xf0,0xcf,0x8f,0x3a,0x13,0xdd,0x60,0xe3,0xa2,0x0b,0x9e,0x81,0x39,0x1d,0xcb,0x86, - 0x6e,0x74,0xa9,0x17,0x95,0xc5,0x4f,0xb9,0x3b,0x6b,0x10,0x11,0xc1,0xff,0xe0,0x89, - 0x90,0xd7,0xe0,0x1f,0xd4,0x3e,0xb2,0x39,0xc8,0x75,0x34,0x8c,0x87,0xbd,0xee,0x59, - 0x6b,0x36,0x0a,0x39,0x42,0xfe,0x4c,0x7d,0x24,0x6e,0xef,0x37,0xce,0x61,0xa3,0xaa, - 0x2f,0xb4,0x29,0x8a,0xfa,0xae,0x59,0xf0,0x85,0xec,0x51,0x5e,0x1f,0xa9,0xe8,0xd0, - 0x94,0xfe,0xb0,0x13,0xf8,0x87,0xd7,0x87,0x44,0x20,0x7d,0x01,0x07,0x99,0x5c,0xc2, - 0x68,0x34,0x37,0x3c,0x5b,0x7a,0x43,0x70,0x86,0x5c,0xd7,0xe4,0xc7,0xf1,0x6c,0x14, - 0x85,0x24,0x88,0x40,0x4b,0xa2,0x37,0xbc,0x07,0xbb,0xe0,0x01,0xde,0xc6,0xab,0x90, - 0x35,0xd3,0x22,0xde,0x6a,0xed,0xa5,0xa9,0xf8,0xa7,0x7e,0x49,0xae,0x5f,0x82,0xf9, - 0x9c,0xf8,0x91,0x4b,0x3a,0xc8,0x4e,0xa1,0x44,0xd3,0xa3,0xb6,0x4c,0xd8,0xac,0x4d, - 0xa9,0x8f,0xd4,0x3d,0x8e,0x7f,0x38,0xed,0xc7,0x1c,0x9c,0xe0,0x6a,0x37,0x51,0x28, - 0x52,0xe4,0xfe,0x9f,0x43,0x2c,0xb5,0x3f,0x6c,0xe6,0x40,0xa2,0x1b,0xec,0x69,0xf9, - 0x3d,0x04,0x06,0x8f,0x68,0x8e,0xfe,0x9a,0x55,0xf0,0x86,0x64,0x36,0x7e,0xe5,0xf5, - 0x21,0x9f,0xd7,0x1c,0x8a,0x05,0xff,0x6c,0x33,0xf9,0x3f,0x8b,0xab,0xed,0x51,0xe1, - 0x02,0xef,0xf7,0x9d,0x28,0x24,0x85,0x57,0x34,0xa9,0x9f,0x7c,0xc6,0xe5,0x73,0xbf, - 0x9b,0x3b,0xca,0xa6,0xe0,0x9f,0x4a,0xfa,0x14,0x39,0x4b,0xbb,0x79,0xfd,0x10,0xb2, - 0x81,0xd7,0xc7,0x36,0xcb,0x02,0xe0,0xaf,0xea,0x79,0xc6,0x9c,0x78,0xcf,0xe4,0x7a, - 0x42,0xa2,0x3e,0xb6,0x1f,0x57,0xaf,0x57,0xdb,0x23,0xad,0xe6,0x30,0x4f,0xe2,0x0c, - 0x0d,0x9e,0x21,0xf8,0x0a,0xec,0xb1,0x3b,0xef,0x44,0x20,0x34,0x05,0xff,0xc0,0x03, - 0xd5,0xd1,0x04,0xda,0x79,0x80,0xcf,0x77,0x4b,0x07,0x95,0x12,0xcd,0x65,0x5e,0xd1, - 0xda,0x39,0x10,0xba,0x63,0x8a,0xff,0xc7,0xa7,0x49,0xdb,0xb3,0xcd,0xc1,0x8a,0x4d, - 0x51,0xf1,0x96,0xc2,0x51,0xb1,0x72,0x25,0xc7,0x6f,0xea,0x28,0xf3,0xd6,0xda,0x15, - 0xc4,0x3f,0x93,0xfa,0x77,0xdc,0xff,0xf3,0x6f,0x5b,0xc4,0x01,0x3a,0xaa,0x97,0x05, - 0x36,0xf1,0x32,0x08,0xa3,0x92,0xd9,0x3f,0x77,0x00,0x3e,0xc1,0x1d,0x32,0xa5,0x3e, - 0x64,0x62,0xd9,0xed,0x4c,0x0e,0xd1,0xbe,0x7c,0x4e,0x04,0x92,0x11,0x11,0x65,0x54, - 0x64,0xbb,0xd1,0x18,0x50,0x47,0x54,0x2f,0x49,0xad,0x0f,0x29,0xf0,0xf8,0x97,0xa3, - 0x2d,0x53,0x27,0x8b,0x60,0x83,0x51,0xd2,0xdc,0xa2,0x17,0xb9,0xe8,0x07,0xd5,0xf3, - 0xa2,0x74,0xc0,0x3b,0xaa,0x98,0x85,0xe8,0xe3,0xd6,0xfa,0x48,0x89,0xfe,0xb0,0xfc, - 0x50,0xd8,0x59,0xa3,0xb6,0x1a,0x61,0x8f,0x6d,0x53,0xef,0x5e,0xbf,0x2b,0x9e,0xb1, - 0x20,0xfc,0x0a,0x4f,0x35,0x7d,0x51,0x56,0xa7,0xf4,0x07,0xe1,0xf6,0x4b,0xcb,0x1a, - 0x72,0x33,0x59,0x9b,0x91,0xa9,0xc9,0xf5,0x08,0x24,0x9e,0x16,0x8a,0x8f,0x66,0xd4, - 0xa3,0xd8,0x89,0x69,0x3b,0x34,0x39,0x94,0x5a,0x1f,0x49,0xe1,0xdd,0x60,0xe5,0xb1, - 0xad,0xb3,0x94,0x97,0x23,0x37,0xbd,0xeb,0x48,0xd4,0x47,0xba,0x2d,0x9e,0xb9,0x46, - 0x7c,0x13,0x2e,0x34,0xcd,0xd7,0x1d,0x75,0x29,0xfd,0x41,0x4c,0x79,0xab,0x35,0xc7, - 0xc4,0x26,0x3e,0xe0,0x6e,0x9f,0x21,0xb8,0x48,0x7c,0xda,0x3d,0x3c,0x22,0x76,0x91, - 0x6b,0x34,0x2b,0xfe,0xe1,0xf6,0xfb,0xa5,0x68,0x15,0xef,0x0f,0xbb,0x1f,0x96,0xfc, - 0xa8,0x64,0x60,0xe9,0x58,0x4b,0x81,0x76,0xb1,0xd7,0x67,0x16,0x0a,0x40,0x7c,0x75, - 0x4b,0x07,0x42,0xaf,0x7e,0x4b,0x7d,0xec,0xed,0xda,0x01,0xbd,0xb8,0x97,0x3e,0x44, - 0xb2,0xb4,0x46,0xbd,0xb8,0x2e,0xb3,0x9c,0xd8,0xb4,0x3d,0x0d,0xff,0x1c,0x92,0xcb, - 0xf1,0xf9,0xf7,0x29,0xbc,0x50,0xff,0xd4,0xfa,0x48,0x8a,0xdb,0xa0,0xc3,0xd9,0x6d, - 0xb0,0x5e,0x99,0x17,0x68,0x46,0xc3,0x2d,0xba,0x5f,0x2a,0xc6,0x17,0x27,0x67,0xb4, - 0x5f,0xc2,0x93,0xbc,0x3e,0x69,0x32,0xfe,0xa5,0x26,0xe4,0x0f,0xd0,0xf9,0x04,0x6c, - 0x8d,0x7c,0xe3,0xe1,0xc2,0x52,0xb4,0xd7,0xb8,0xbd,0xdf,0x27,0xec,0x0d,0xa8,0x31, - 0x5c,0xcf,0x64,0xfc,0xbd,0x2e,0xe1,0xef,0xd2,0xdc,0x23,0xe2,0x6e,0x40,0x45,0xdf, - 0x33,0xf7,0xb3,0x9c,0x62,0x6d,0xf4,0xee,0x07,0xce,0x38,0x18,0xf9,0x18,0x81,0xee, - 0xfe,0xb8,0x43,0x9f,0x76,0x6a,0x2a,0xfe,0xe1,0x49,0x5e,0xaf,0xc0,0x68,0xc8,0x1c, - 0xbc,0x27,0xe1,0x95,0x7e,0x47,0x47,0xcd,0x47,0x08,0x84,0x7c,0x81,0x4d,0xba,0xa5, - 0x3e,0x92,0xc1,0xeb,0x23,0xc1,0xe2,0x7a,0x7b,0xbd,0xb8,0x1a,0x81,0x50,0x15,0x9b, - 0xc6,0xb5,0xdb,0xe5,0x48,0xe9,0x0b,0x8e,0xfe,0x5b,0x66,0xf2,0xf8,0x0e,0x8f,0x30, - 0x26,0xf5,0x75,0x03,0xf0,0x78,0x56,0xc9,0xb0,0x2b,0x26,0x7e,0x83,0x8b,0x9d,0x28, - 0xca,0xcf,0xdf,0x43,0x17,0xb4,0x9f,0x95,0x5d,0x7e,0xb7,0xbf,0x21,0x5f,0x2f,0x74, - 0xe9,0xd7,0xf0,0x7f,0x4a,0x82,0xbc,0xbf,0x1e,0x44,0x5c,0x25,0x47,0x6f,0xe4,0xd5, - 0x03,0xba,0xd5,0x39,0x4e,0xb9,0x95,0xac,0x56,0x9f,0x61,0xce,0x86,0x3c,0x3d,0x3b, - 0xc5,0xff,0x23,0xec,0xcd,0x37,0xab,0x25,0x2c,0x3d,0xca,0xaa,0xdd,0x5a,0xcb,0x82, - 0x70,0x8f,0x7a,0x10,0xe1,0x41,0x4b,0x7e,0xd8,0x4e,0x1b,0x25,0x9d,0xd1,0x42,0x8b, - 0xfc,0x61,0x99,0xab,0xcd,0xea,0x07,0xf6,0x61,0x71,0xb6,0xde,0xc7,0x0d,0xcf,0x7f, - 0xe4,0xf5,0xe8,0xa0,0x6c,0xe6,0xb2,0xb0,0xbc,0x1a,0x8e,0x4b,0x68,0x7f,0x75,0x88, - 0xf1,0x54,0xff,0x4f,0x82,0xff,0x33,0x00,0x63,0xda,0xe2,0xac,0x9b,0x63,0xe2,0xb0, - 0x32,0x66,0x47,0x44,0xd4,0x3e,0xed,0x82,0x74,0x85,0x67,0x08,0xc6,0x2d,0xf8,0xe7, - 0x68,0xda,0x15,0xe5,0xaa,0xa7,0x54,0x47,0x58,0x3e,0xcc,0x4e,0x69,0xa5,0xc3,0x59, - 0xcb,0x45,0x0f,0xbc,0x8a,0x3b,0xca,0xd1,0x23,0xfa,0x60,0x2c,0xba,0x30,0x6e,0x3f, - 0x5a,0x60,0xe9,0x0f,0x8b,0xf8,0xe7,0x70,0xd0,0x19,0x89,0x74,0xa6,0xff,0x1e,0x36, - 0x04,0x9d,0x5a,0xa0,0x9b,0xe4,0x9b,0x44,0x1d,0x79,0x2d,0x2a,0xfa,0x6e,0x70,0xc6, - 0xe9,0x2e,0xe2,0x49,0xf6,0x87,0x05,0xb3,0x5e,0x44,0x63,0x04,0xfc,0x71,0x3f,0x53, - 0x9d,0x7d,0x77,0xc5,0x08,0xf4,0xed,0x54,0x51,0xf0,0x12,0xa7,0x1d,0xba,0x9d,0x85, - 0x46,0x9d,0x27,0x3b,0xd9,0x1f,0x36,0x2e,0x99,0xf1,0xaf,0x1d,0xae,0xdd,0x64,0xd0, - 0x6f,0x56,0x17,0x8f,0x1d,0x77,0x2a,0x3f,0xe3,0x27,0x74,0x3b,0x47,0x44,0x09,0xfe, - 0x55,0xf9,0xa4,0x7c,0xa8,0x9e,0xc1,0xe3,0xa7,0x5d,0xf1,0x93,0x91,0xec,0x4f,0xd9, - 0x29,0xbd,0x6b,0x38,0x4b,0x11,0x6f,0x49,0x94,0x51,0xdd,0x8e,0x88,0x65,0x98,0x95, - 0x71,0x7e,0x6f,0xd2,0xff,0x13,0x43,0xfc,0x73,0x89,0x2f,0x82,0x91,0x33,0x02,0x8b, - 0xd9,0xf3,0xf5,0x8e,0x8b,0xa2,0x41,0x78,0xe1,0xd0,0x69,0x3a,0x07,0x42,0xbc,0x31, - 0x8d,0x6e,0x89,0x7f,0xf5,0x27,0xf8,0x3f,0x51,0xb3,0x1a,0xed,0x31,0xed,0x50,0x3f, - 0xa2,0xa9,0x6f,0x91,0x13,0x8a,0xd9,0x98,0x86,0x77,0x4c,0xf3,0xf1,0x7c,0xf9,0x54, - 0xff,0xcf,0xf3,0xbc,0x1a,0xed,0x16,0x34,0xc2,0x9b,0x41,0x1d,0xac,0x8b,0xf9,0x0b, - 0x02,0x6f,0xf5,0xcf,0xe9,0xe1,0xf1,0x08,0xb3,0xe3,0x12,0xda,0x53,0x65,0x16,0xfe, - 0x0f,0x8f,0xbf,0xe3,0x7c,0x17,0x91,0xd5,0x96,0x15,0x21,0xee,0x1d,0xb5,0x29,0x22, - 0x57,0x4c,0x4f,0xa3,0x06,0x8f,0xc5,0xdd,0xba,0x5c,0x19,0xf6,0x26,0xfb,0xc3,0x2a, - 0x5f,0xb3,0x1f,0x40,0x18,0x20,0xd7,0x91,0x43,0x24,0x1c,0x29,0x18,0xa0,0x23,0xbc, - 0x5f,0x6a,0x74,0x76,0x5c,0x0e,0x90,0x59,0xd2,0xbe,0x2d,0xc5,0x7a,0xcb,0x9a,0x70, - 0x65,0xb2,0x3e,0x00,0xe5,0x6c,0x67,0x0f,0xc8,0xaa,0x08,0x9e,0xa3,0x60,0x16,0xca, - 0xbe,0x3b,0xf4,0x02,0x2f,0x33,0x92,0x33,0xcd,0x0e,0xc3,0x50,0xd9,0xef,0x58,0x20, - 0x67,0x27,0xeb,0x03,0xcc,0xe0,0xeb,0x73,0x98,0x6f,0x92,0x33,0xda,0x15,0x40,0xd8, - 0x13,0xff,0xc2,0x05,0xe9,0x63,0x09,0x97,0xe5,0x57,0xd3,0xc6,0x60,0x8c,0x54,0x99, - 0xfd,0xd1,0xa6,0xf0,0x7f,0x7c,0x7a,0x80,0xd5,0x18,0xca,0x09,0xde,0x28,0xd6,0x23, - 0x2e,0x10,0x4c,0xda,0x4f,0x9c,0xfb,0xdf,0x60,0x41,0x1f,0xae,0x98,0x2d,0x89,0x7f, - 0xf2,0x4c,0x3e,0x21,0xa3,0x5a,0xf6,0xdb,0xd0,0x88,0x68,0x87,0xa2,0x3c,0xc1,0x15, - 0xdb,0x61,0x98,0x85,0xf7,0x9f,0x85,0xfc,0xa3,0x91,0x7a,0xf1,0xa1,0x64,0xfd,0xb7, - 0x44,0x7d,0x24,0x9d,0x06,0xb2,0x5f,0x87,0xf5,0xec,0xeb,0xbc,0x0d,0xca,0x2c,0xe9, - 0xe9,0x75,0xf8,0xbe,0xcb,0xc9,0x3b,0xb0,0x8f,0xcd,0xd6,0x69,0x39,0x3e,0xfd,0xc4, - 0xfa,0xd7,0x99,0xfc,0x1f,0x77,0x98,0x66,0x38,0x4f,0xb1,0x46,0xb4,0x5e,0x5d,0x2a, - 0x99,0x93,0xc6,0x19,0x0e,0x27,0x1e,0x47,0xfb,0xe2,0x70,0x48,0xcd,0xe9,0x2c,0x27, - 0x7f,0x6b,0xe1,0x3f,0x9b,0x42,0x75,0x0b,0x1d,0x12,0x47,0xc2,0xa7,0x02,0xa5,0xcc, - 0x1e,0x2a,0x58,0x84,0x57,0xca,0x98,0x63,0x48,0x1c,0x14,0xae,0xf4,0x2d,0xe8,0xb2, - 0x0f,0x8a,0x96,0xfe,0xb0,0x89,0xf8,0x97,0x30,0xcf,0x34,0xc3,0x03,0x26,0x10,0x3a, - 0x6b,0xf0,0x0a,0x42,0x9c,0x08,0x94,0x70,0x0d,0xad,0x9d,0x52,0x1f,0xc0,0xac,0x0f, - 0xb9,0xb9,0xb1,0x17,0x7a,0xd4,0x2e,0xb3,0x7f,0x16,0x1c,0xd3,0xf1,0xca,0x4f,0x4c, - 0x45,0xef,0x35,0x5a,0x95,0x94,0xfe,0xb0,0xab,0xcc,0x32,0x8f,0xf2,0x13,0xce,0x01, - 0xe9,0x0d,0xcd,0x2c,0x94,0xfd,0x34,0x69,0xd6,0xdb,0x35,0x79,0x5b,0xa2,0x02,0x64, - 0xbd,0xeb,0x27,0x44,0x4f,0xc6,0xbf,0x04,0xde,0x16,0x0d,0xad,0xad,0xa8,0xf3,0x3d, - 0x84,0x55,0xce,0xb3,0x19,0x51,0x9b,0x59,0x1f,0x00,0x11,0x54,0xd8,0x9c,0x5f,0x4b, - 0xb7,0x58,0xfa,0xc3,0xf2,0xf8,0xd7,0x41,0x04,0x39,0xa6,0xb7,0x67,0xb3,0xe6,0xfc, - 0x12,0xde,0xff,0x51,0x68,0x30,0x0b,0x05,0xd8,0x4c,0x6a,0x10,0x07,0x06,0x1b,0x26, - 0xeb,0x03,0x24,0xe2,0x5f,0x1e,0x81,0x7b,0x1b,0x08,0xef,0x06,0xc2,0xed,0x2f,0xa9, - 0x6f,0xbc,0x50,0x00,0x1d,0x86,0x2e,0x8e,0x7f,0xb2,0x52,0xe2,0x5f,0xa3,0x5a,0x55, - 0xcf,0xcd,0xfd,0x05,0x66,0x7f,0x58,0x6d,0x9c,0xf6,0xe3,0xd3,0x96,0x71,0x47,0x90, - 0x59,0x31,0xe9,0x82,0xb5,0x3f,0x1a,0x77,0x7a,0xa8,0x95,0x41,0x47,0x30,0xe7,0x42, - 0xe4,0x95,0xf2,0xf9,0xb5,0x08,0x03,0x9e,0x65,0xaf,0x68,0xb8,0x3e,0xaf,0xc9,0x85, - 0x66,0xa9,0x01,0xfb,0x6b,0x62,0xba,0x35,0xfe,0x05,0xdd,0x7a,0x89,0x20,0x23,0xda, - 0x21,0x2c,0xe4,0xa4,0xf8,0x3c,0xdf,0x0a,0x47,0xd0,0x50,0x92,0x9b,0xb2,0x55,0x94, - 0x27,0x3e,0xa0,0x4d,0x24,0x6b,0x52,0xfe,0x98,0xf1,0xaf,0x3a,0x3c,0x74,0x79,0x9c, - 0xed,0x03,0x2b,0x79,0x18,0xeb,0x45,0x5e,0x76,0x1e,0xdf,0x37,0x6c,0x02,0xa1,0x50, - 0xdd,0x74,0x92,0x9d,0xe4,0xff,0x48,0x1c,0xff,0x94,0x04,0xcc,0x6a,0xe4,0xbb,0xc0, - 0xac,0x2e,0xb5,0x8a,0x36,0x4b,0x44,0x13,0xdb,0xc6,0x11,0x26,0x1a,0x32,0x49,0x7b, - 0x5f,0x9f,0x6e,0xc2,0x9e,0x90,0xa3,0xad,0xe0,0xe5,0xd0,0xfb,0x67,0xbc,0xf7,0x67, - 0xfd,0x44,0x3c,0xc7,0xf9,0xed,0x26,0x90,0x13,0x46,0x99,0x4f,0x9b,0x89,0xa6,0xeb, - 0xd4,0xf8,0x17,0xaf,0x97,0x75,0x0e,0xde,0x60,0x47,0xb4,0x4d,0x5b,0xc4,0x5e,0x36, - 0x0a,0x47,0xaa,0x1d,0xd9,0x8d,0x7c,0xe9,0x2a,0x56,0xdd,0x6c,0xad,0x0f,0x90,0xe0, - 0xff,0xf8,0xa6,0x2f,0x65,0x05,0xf9,0x85,0x7d,0x5a,0x57,0x2e,0xbe,0x6f,0x08,0xce, - 0x24,0x0a,0x25,0x21,0x34,0x62,0x3e,0xd5,0xde,0x2a,0x92,0x94,0xf8,0x17,0xa2,0x41, - 0x46,0xe3,0xe2,0x0f,0x60,0x63,0x60,0x81,0x6e,0x53,0xc9,0x6d,0xb0,0xd1,0x28,0x61, - 0x68,0xd1,0xbb,0xe0,0x88,0x80,0x47,0x2f,0x4e,0x36,0xa4,0xc6,0xbf,0x50,0xda,0x5c, - 0x7f,0x3d,0xae,0x46,0xcb,0xbb,0x85,0xbc,0x91,0xc1,0x17,0xd5,0x66,0x2e,0x9f,0x67, - 0xa2,0xe2,0xe6,0xbf,0xe2,0x12,0x69,0x12,0xff,0x98,0xf1,0x2f,0x98,0x37,0x98,0x77, - 0x26,0xfb,0xbf,0xdb,0xd6,0xc2,0x2d,0x86,0x6d,0x98,0x4c,0x87,0x26,0x5a,0x6c,0xdc, - 0xf8,0x3d,0x32,0x53,0xe2,0xd0,0x88,0xaa,0x61,0x7d,0x32,0x1f,0x9c,0xc7,0xbf,0x10, - 0xff,0x0c,0xba,0x03,0xe2,0x75,0xd2,0xcb,0x4d,0xb7,0x22,0xec,0x29,0x78,0x84,0xfc, - 0x3b,0x67,0x44,0x9f,0x91,0x4d,0x68,0xa4,0xba,0xeb,0x44,0x4b,0x7f,0xd8,0x04,0x1e, - 0x38,0x8a,0xfb,0x8d,0x97,0x8d,0x3a,0xa2,0x99,0x6d,0xbb,0xc7,0xc0,0xec,0x17,0x3f, - 0xc4,0x2b,0x42,0x43,0x6a,0x7f,0xd8,0xb6,0x23,0x14,0xed,0xf7,0x77,0x33,0x97,0xe7, - 0x94,0xd9,0x4e,0xb1,0xd2,0x10,0x02,0x89,0xcf,0xb9,0x47,0x28,0xee,0xe8,0x43,0xfd, - 0x75,0x29,0x3a,0x9f,0xab,0xb6,0x64,0x7c,0xbc,0x53,0x49,0xf8,0x9f,0x69,0x90,0xcc, - 0x64,0x4d,0x5a,0x7e,0x6d,0x66,0x3d,0x5a,0x4f,0x4d,0xc1,0x62,0x43,0xac,0x26,0x33, - 0x11,0x1a,0xdd,0x8a,0xa2,0x49,0xfc,0xb6,0xb5,0x3f,0xac,0x39,0x3f,0x63,0x98,0xe4, - 0xd2,0xb0,0x52,0xa0,0xd1,0x61,0x72,0x9a,0x7b,0x84,0x0c,0x59,0x0b,0x23,0x14,0x0c, - 0x15,0x68,0x29,0xfd,0x61,0x0b,0xcd,0xfa,0x48,0x25,0xfd,0x94,0xb7,0x25,0x0a,0x1b, - 0x2b,0xd7,0xdc,0x59,0x89,0xab,0x17,0xe6,0xf2,0xdc,0x15,0xe6,0x54,0xcc,0x42,0xcd, - 0x05,0x24,0x90,0x7c,0x9e,0x34,0xae,0xbf,0xaa,0xce,0x64,0xe6,0x85,0x25,0xed,0x84, - 0xd1,0xd5,0x67,0x3f,0x20,0x0e,0x84,0x8e,0x99,0xfa,0x4b,0x76,0x73,0xd5,0xc3,0x43, - 0xf3,0x45,0x93,0xeb,0xc9,0xa6,0x8f,0xaf,0x4f,0xb4,0xf1,0x3d,0xed,0x93,0xa0,0x89, - 0x7f,0xce,0xda,0x47,0x6e,0x37,0xfb,0x35,0xe0,0xfa,0x04,0x7d,0x92,0xe3,0x39,0x0b, - 0xfe,0x49,0xf0,0x7f,0xaa,0x8c,0xac,0x3e,0x71,0x4e,0xfa,0xab,0x91,0xd2,0x1e,0xfb, - 0xb0,0x5c,0x99,0x28,0x13,0x14,0xe5,0xfe,0x9f,0x68,0x29,0x38,0x42,0x22,0x9d,0xf4, - 0xff,0xf0,0xf8,0xd7,0xf3,0x30,0xcf,0xa0,0xad,0xed,0xb3,0xa1,0xd5,0x28,0xd0,0x3a, - 0x3d,0xa4,0x5d,0x3d,0xc8,0x4a,0x8c,0x3b,0x23,0xdc,0x9f,0x63,0x94,0x95,0xcb,0x1d, - 0xc4,0x35,0x15,0xff,0x18,0xb6,0x06,0xa2,0x86,0x36,0xa8,0x28,0x6d,0x62,0xbc,0x9e, - 0x33,0x6f,0x63,0x11,0x09,0x0f,0xd1,0x43,0xd4,0xb9,0x03,0x07,0xea,0xe4,0x7e,0xb3, - 0xe5,0x26,0xf8,0xf6,0x68,0xad,0x14,0xe2,0x31,0xd4,0x35,0x1a,0xcb,0x6e,0x82,0x18, - 0xdf,0x81,0xbc,0x50,0xd2,0x1e,0xe0,0x1c,0x23,0x42,0x26,0xfb,0xc3,0x12,0x8e,0x7f, - 0x50,0x0d,0x65,0xb1,0x69,0x85,0x9c,0x76,0xa8,0xd9,0x79,0xe3,0x8c,0x11,0xbe,0x3e, - 0xd1,0x82,0x21,0x38,0x6f,0x0a,0x22,0x19,0x26,0xfb,0xc3,0xb6,0xcf,0x18,0x4f,0xd2, - 0x31,0xc4,0x0b,0xb8,0x6d,0x16,0x6b,0x8e,0x7a,0xd1,0x2c,0x14,0xc0,0xaf,0x8c,0x29, - 0x97,0x95,0x45,0x66,0x7d,0xc8,0x64,0x7f,0x58,0x8e,0x9f,0xd7,0x99,0x45,0xd4,0x87, - 0xef,0x3b,0xd1,0xe4,0x7d,0xc5,0xde,0x27,0x3e,0xdc,0x70,0x92,0x79,0x23,0xad,0xe7, - 0xf2,0xaf,0xc0,0x29,0xb3,0xbe,0xc4,0xd4,0xf8,0x17,0x3c,0x90,0x68,0x02,0xd2,0x02, - 0x3b,0x4f,0xa2,0x34,0xb8,0x29,0xbe,0x81,0x39,0x5b,0x1d,0x7b,0xc9,0x03,0xb0,0x41, - 0x7d,0xa6,0xaf,0xa5,0xcb,0x76,0x4d,0xfc,0x8b,0xdb,0x17,0x06,0x6b,0x14,0xd4,0xbe, - 0xe6,0x08,0xb1,0x2b,0x11,0x41,0x0d,0x47,0x9c,0xa8,0x8f,0x36,0x50,0xf5,0xa8,0xec, - 0x09,0x87,0x2d,0xf9,0x5f,0x66,0xfc,0x8b,0x7b,0xcf,0xce,0x09,0x8d,0xe0,0xec,0x99, - 0x1b,0xb5,0xb9,0xa7,0x6d,0x08,0xa9,0x71,0x5b,0x27,0x59,0x0d,0x1b,0x4c,0x3e,0x95, - 0x85,0xff,0xac,0x99,0xf1,0xaf,0x12,0x4e,0xfa,0x1a,0x20,0xbc,0x2d,0x6c,0xe6,0x2e, - 0x84,0x25,0x4c,0xf0,0xc6,0x68,0xa7,0x78,0x12,0x0c,0xe8,0xe2,0x85,0xe5,0xa3,0xd7, - 0xfa,0x7f,0x86,0x6b,0x06,0x12,0x1b,0x63,0x44,0xdc,0xce,0xcf,0x17,0xaf,0x28,0xf5, - 0x30,0x5c,0x31,0x5b,0xab,0x14,0xac,0x49,0x8d,0x7f,0xe5,0xf1,0x7c,0x04,0x31,0x02, - 0x27,0x60,0x71,0x0f,0xc2,0xa4,0x21,0x68,0xd6,0x38,0xec,0xcc,0x19,0xba,0x6f,0x54, - 0x33,0xf9,0xd5,0xd7,0xc4,0xbf,0x0c,0xb9,0x3b,0x34,0x04,0x2d,0x6c,0x9e,0x21,0xdf, - 0x4a,0xc6,0xa0,0x39,0xd7,0xd9,0x46,0x75,0xf2,0xb1,0x76,0x48,0x2b,0x33,0xe4,0x23, - 0x30,0x25,0xfe,0xc5,0x9b,0x56,0x94,0xe3,0xd7,0x35,0xab,0xf1,0x4b,0xb8,0x2c,0x0d, - 0x4a,0x21,0xe4,0xc1,0x1d,0xa7,0x50,0xbb,0xa8,0x46,0x4b,0x8c,0x4d,0x89,0x7f,0xe9, - 0x66,0x53,0x8c,0x37,0xd9,0x63,0x7a,0xf1,0xd0,0x8d,0xdf,0x26,0xef,0x90,0x4d,0x90, - 0xaf,0xba,0x02,0xce,0x77,0xe0,0x40,0xec,0x49,0xfe,0xab,0x29,0xf1,0x2f,0xbd,0x92, - 0x17,0x41,0xda,0x10,0xfe,0x75,0x67,0xe5,0xa0,0x83,0x92,0x93,0x5a,0x8f,0x1a,0xdb, - 0x6d,0x9f,0x27,0x9e,0x94,0xce,0xbb,0x62,0xbd,0x8e,0x3d,0xb2,0x25,0xfe,0x95,0x39, - 0xb1,0x3e,0x05,0x63,0xda,0xc7,0x50,0x75,0xda,0x11,0x17,0xc6,0x94,0xa7,0x9d,0x55, - 0xec,0xc6,0xa3,0x35,0x63,0xda,0xe7,0xea,0xf3,0xbc,0xf4,0x68,0xaa,0xff,0x87,0x93, - 0xc0,0x33,0x79,0xbf,0x9e,0x13,0x70,0xe8,0xa4,0x7d,0x9b,0xf8,0x1d,0xe3,0x7c,0x38, - 0x1d,0xc2,0x0c,0x3f,0x44,0x17,0xfe,0x6a,0xd3,0xd4,0xfa,0xd8,0xcf,0x9b,0x24,0xe7, - 0xf4,0x5e,0x14,0x23,0x1c,0xff,0xd8,0xee,0x57,0xf7,0xc3,0xad,0x20,0x6b,0x36,0xde, - 0x7a,0x72,0x6e,0xcf,0x35,0xfd,0x41,0x1e,0x33,0xf3,0xbf,0xc8,0x9b,0xb0,0x89,0xcd, - 0x1e,0xcc,0x58,0x4e,0x66,0xb1,0x03,0x46,0xbe,0x2a,0xaf,0xf6,0xce,0xa2,0x4f,0xb0, - 0x1d,0x66,0x7f,0x90,0xc9,0x7c,0x19,0xee,0xff,0x39,0x0c,0x2e,0x43,0xe4,0x7c,0x86, - 0x16,0x98,0x63,0xfc,0x4d,0x05,0x59,0x2d,0xed,0x85,0xc2,0x75,0xb2,0xce,0xf1,0xa4, - 0x5a,0x64,0xb4,0x4c,0xad,0x8f,0xfd,0x66,0xa2,0xe9,0xf6,0x08,0xe3,0x6d,0x41,0x9a, - 0x3f,0x12,0x5d,0x70,0xc5,0x28,0x8d,0x65,0x0d,0xf2,0x42,0x49,0x28,0x7f,0x96,0xe9, - 0x05,0x53,0xea,0x63,0xc3,0x7e,0x48,0xb4,0x85,0xad,0xae,0xc0,0xbf,0x10,0x51,0x43, - 0xa9,0x3c,0x42,0x54,0x73,0x56,0x18,0xb9,0xf7,0x3f,0xa8,0x8f,0x7d,0xf3,0x4f,0x78, - 0x9a,0x0f,0x73,0x6a,0xf6,0x2d,0x05,0x03,0x70,0xa7,0x56,0xa9,0xdd,0x13,0x15,0x57, - 0x49,0xa3,0x66,0xa0,0x87,0x4c,0xf1,0xff,0x68,0x26,0xda,0x19,0x20,0xcd,0x3b,0xda, - 0xb5,0x4c,0xb3,0xf0,0x32,0xab,0xe0,0x6e,0x87,0xd9,0xf6,0x3d,0x5a,0xd9,0x9f,0xa9, - 0x8f,0x44,0x9d,0xe3,0x69,0x4a,0x6a,0x91,0x76,0x3d,0x0e,0x94,0x5d,0x50,0x72,0x3a, - 0x2f,0x4a,0x0a,0x6b,0x0f,0x83,0xe9,0xaf,0x98,0xe2,0xff,0x41,0x90,0x23,0x8f,0x57, - 0x43,0x0a,0x0a,0x4a,0xd9,0x8b,0x30,0x5f,0xa8,0x0b,0x96,0xf3,0x46,0x69,0x07,0xb5, - 0x8e,0x60,0xf9,0x82,0x29,0xf5,0xb1,0xbb,0x71,0xbf,0x2e,0x49,0x54,0x43,0x2a,0x87, - 0x9b,0xf8,0x60,0x30,0xdd,0x07,0x4b,0x81,0x37,0x92,0x33,0xf9,0x3f,0xd6,0xfa,0xd8, - 0x99,0xe3,0x20,0x27,0x2a,0xf2,0xb2,0xd8,0x65,0xc1,0x79,0x41,0xb4,0x4f,0x7f,0x67, - 0x12,0xa1,0x0b,0xc6,0x7f,0xd5,0x6f,0x8d,0x7f,0x99,0xf3,0xbd,0xd5,0x78,0xb1,0xd0, - 0x78,0x51,0xf1,0xde,0x65,0xef,0xc7,0x8d,0xf4,0x0a,0x54,0x69,0x33,0x37,0xcb,0x0b, - 0xf2,0x2e,0xa7,0x7b,0x6b,0xed,0x6d,0x56,0xfc,0x03,0xdc,0xff,0xd3,0x8e,0x47,0x8b, - 0xe4,0x1b,0x11,0xb5,0x3d,0x0f,0x05,0xe9,0x59,0x88,0x40,0x09,0x31,0xfb,0xa3,0x75, - 0xa9,0x4e,0xea,0x32,0xa6,0xc4,0xbf,0x0e,0xbb,0x54,0x9e,0x66,0xd2,0x04,0x28,0x7f, - 0xfc,0x75,0x8a,0xff,0x45,0xb5,0x01,0xdc,0xb5,0x54,0xf1,0xe3,0xfb,0xba,0x76,0x04, - 0x5c,0xaf,0x91,0xa9,0xfe,0x1f,0xbe,0x9e,0x77,0x3c,0xe5,0x6c,0x10,0x54,0x5e,0xe8, - 0x7e,0xc0,0xd6,0x9c,0xb6,0xba,0xd6,0x95,0x4b,0xdc,0xc2,0x41,0xc8,0xd7,0xf2,0xfa, - 0xad,0xf1,0x2f,0x9e,0xff,0x65,0x96,0x3d,0x97,0x9f,0xcc,0xe3,0xfc,0x1f,0x33,0x4c, - 0x76,0x4c,0x7b,0x60,0x65,0x64,0xa2,0x22,0xba,0x5d,0x29,0x98,0xe2,0xff,0x49,0x34, - 0x85,0xc1,0xaf,0x0f,0x3c,0x51,0x8e,0x87,0x41,0x05,0x44,0x44,0x8f,0x8b,0x13,0xae, - 0x42,0x39,0xc5,0xff,0x23,0x8d,0xfb,0xdf,0x76,0xc0,0x08,0xf5,0x0a,0x76,0xd6,0x10, - 0xe7,0x85,0x49,0xf3,0x10,0x7f,0xc6,0xd5,0x41,0xe6,0xe5,0xfc,0x1f,0x4b,0xfc,0xeb, - 0x76,0x04,0x39,0xbc,0x3e,0x2d,0xef,0xe6,0x72,0x04,0xda,0x99,0x6b,0x40,0xec,0x44, - 0x74,0xf5,0x0f,0x51,0x59,0xf7,0x5f,0x84,0x43,0x46,0x3b,0xa3,0x7a,0x4a,0x7f,0xb4, - 0x04,0xfe,0xc1,0xfd,0xb0,0xdb,0x8c,0x3e,0x64,0x94,0x93,0x21,0xda,0x55,0xef,0xe6, - 0x2b,0x76,0x4a,0xdb,0xa1,0xa8,0xf1,0xe6,0xf2,0xf4,0xbb,0xae,0xf1,0xff,0x2c,0xa9, - 0x27,0x6f,0x0b,0xcf,0x83,0xda,0x97,0xc7,0xf3,0xa7,0x0e,0xc0,0x77,0xb4,0x96,0x87, - 0xf0,0xca,0x01,0xd8,0xd1,0x9f,0xf1,0x3d,0x62,0xe9,0x8f,0x06,0x3c,0xfe,0x55,0x6c, - 0x76,0x03,0x89,0xfd,0xa9,0x61,0xfa,0xa0,0x7d,0x79,0xce,0x3b,0xea,0x05,0xf3,0x4a, - 0xc1,0x3b,0x70,0x8e,0x95,0xea,0xc5,0x83,0xd6,0xfe,0x68,0x66,0xbf,0x54,0xde,0x1f, - 0xa4,0x80,0x47,0xcf,0xab,0x5e,0x72,0x44,0x73,0x7e,0x0e,0x97,0x08,0x4a,0xe0,0xfd, - 0x05,0x43,0xa6,0xab,0x36,0x4b,0x4f,0xe9,0x0f,0x72,0x85,0xf3,0x7f,0x50,0x49,0xe5, - 0x5f,0x09,0xed,0x42,0xb3,0x7d,0x69,0x67,0x81,0x2f,0x74,0x2a,0x3a,0x2f,0xe4,0x18, - 0x6b,0xf4,0x69,0x2f,0x23,0x22,0x5a,0x7a,0xa6,0x20,0xb5,0x3e,0xf6,0x78,0xfe,0xe9, - 0x49,0x6d,0x3d,0x2b,0x1e,0xa4,0x5f,0x20,0x33,0xe1,0x29,0xad,0xb8,0x0e,0xdf,0x77, - 0x1b,0x3c,0x0d,0x5f,0xd0,0xe8,0xdf,0x59,0xfd,0x3f,0x0a,0xe7,0xff,0x98,0xf3,0x7f, - 0x0b,0xfb,0x54,0x77,0x1f,0x3d,0xaa,0x2e,0x95,0xd6,0xd1,0xe2,0x3e,0xbc,0x32,0x13, - 0xd6,0xc1,0x6c,0xc8,0x08,0x4c,0xe9,0x0f,0xd2,0x05,0x3a,0xcf,0xa7,0x1b,0x12,0xb6, - 0xe1,0xc2,0x06,0xec,0xca,0x52,0xb4,0x6f,0xed,0x47,0x51,0x6d,0xb5,0xc2,0xce,0xc0, - 0x2f,0x20,0x03,0xa6,0xf6,0x87,0x15,0x78,0x34,0x87,0x8c,0x29,0x87,0x50,0xf0,0x4a, - 0x5e,0xf2,0xb0,0x12,0x66,0x6e,0x45,0x1e,0x41,0x7b,0xe4,0x04,0x94,0x99,0xfd,0x05, - 0x52,0xfc,0x3f,0x23,0x89,0x26,0x29,0x43,0xf0,0x01,0xd7,0x5f,0x4f,0xc9,0x78,0x07, - 0xed,0x91,0xaf,0xa0,0x86,0xfa,0xd0,0xec,0x0f,0x92,0x75,0x4d,0x7d,0x6c,0x28,0x35, - 0x6e,0x1e,0x13,0x79,0x20,0x6c,0xbe,0x61,0x1f,0x43,0x0d,0x78,0x0a,0x4a,0xb5,0x47, - 0x63,0x8d,0x0b,0xe0,0x94,0x52,0x6a,0x64,0xc6,0x65,0x48,0x89,0x7f,0x75,0x2b,0xe3, - 0xf9,0xd7,0x68,0x4f,0x19,0x91,0xdd,0x28,0xc6,0xdf,0x34,0x9c,0x21,0x77,0xcc,0x5f, - 0xa2,0x6c,0x68,0x70,0x1a,0xd4,0x45,0xd4,0xd4,0xfe,0xb0,0x89,0x26,0x20,0xbb,0x79, - 0xbd,0x44,0xc3,0x15,0xb5,0x2d,0xe5,0x6d,0x40,0xbf,0x8e,0x40,0xe8,0x9b,0x68,0xe1, - 0x3a,0xe3,0x79,0x5d,0x24,0x64,0xf5,0xff,0x48,0x3c,0xa9,0xd9,0x8c,0x76,0x85,0x3b, - 0xd4,0xa3,0x14,0xd2,0x97,0xc2,0x16,0x49,0xf5,0xff,0x8d,0xc7,0xc6,0x1b,0xd3,0x84, - 0x78,0xa9,0xc9,0x64,0xfe,0x29,0xaf,0x8f,0xfd,0x09,0x77,0xda,0xc7,0xc4,0x7f,0x91, - 0x22,0xdf,0x2b,0xed,0x6f,0x7d,0x4c,0x7c,0x58,0x39,0x0e,0xde,0x80,0xfd,0x13,0x71, - 0x15,0x3d,0xce,0xf9,0x93,0x7a,0xa3,0x96,0x52,0x1f,0x3b,0xd1,0x1f,0x6d,0xda,0x98, - 0x3e,0xa6,0xcd,0x3a,0xee,0xa8,0x11,0x2b,0xe1,0x08,0xf9,0xc5,0x5d,0xf7,0x9c,0xaf, - 0x39,0x9d,0x50,0x6d,0x7a,0x4a,0x7f,0x34,0x1e,0xff,0xda,0x7b,0xd2,0x7d,0x5e,0xbc, - 0x22,0x5d,0x26,0x0b,0x8d,0xcc,0xfe,0x82,0x61,0x78,0x7b,0x7e,0x29,0xb4,0xf6,0x89, - 0xc3,0xc6,0xab,0x6c,0xef,0x9f,0xc1,0x3f,0xac,0xe0,0x0c,0x1d,0x4b,0xff,0x08,0x1e, - 0x57,0x9d,0x06,0x8a,0xd9,0x8f,0x20,0x52,0x7f,0x28,0x8f,0x46,0xc8,0x59,0xa3,0x85, - 0x39,0x11,0x1a,0x39,0xf5,0x29,0xf8,0x47,0xed,0xa7,0xf3,0xc9,0xc9,0xbc,0x9f,0xd1, - 0x42,0xfd,0x2e,0x05,0xe5,0x67,0x14,0xd4,0x74,0x1b,0x2e,0x56,0x22,0xbf,0x29,0x46, - 0xc8,0xf4,0x54,0xfc,0x63,0x16,0xc1,0x1e,0x82,0x9f,0xe2,0xc6,0x41,0x7b,0x6d,0x08, - 0xad,0x88,0x39,0x2b,0xef,0xea,0x6c,0x3f,0x67,0x32,0xac,0xe4,0x58,0xba,0x05,0xff, - 0x98,0xf5,0x42,0x79,0x12,0x1f,0x7e,0xaf,0xcb,0xb0,0x30,0x9e,0xb5,0x4d,0x1c,0x85, - 0x37,0x0c,0x6f,0x7d,0x56,0x54,0xfc,0x83,0x89,0x88,0x70,0xab,0x4c,0xe5,0xff,0x2c, - 0xe6,0x4d,0xd3,0xc6,0xe0,0xb2,0x52,0xd5,0x9f,0xf9,0xb6,0xe9,0x56,0xbd,0x8d,0x15, - 0xf7,0xd7,0x9c,0x54,0xaf,0xfe,0xb9,0xfe,0x68,0x3c,0x08,0x3b,0x33,0x26,0xae,0xd6, - 0x2e,0xf1,0x40,0x49,0x54,0x9c,0x0b,0x7d,0xdc,0x3e,0xfd,0x51,0xcd,0x59,0x18,0xbf, - 0x7f,0x6a,0xfc,0x6b,0x2f,0xc7,0xcf,0xe7,0xa7,0x3d,0x80,0x07,0xa1,0xa4,0x41,0x8b, - 0x92,0x08,0x9c,0x61,0xff,0x18,0x12,0xbb,0xef,0xfd,0x03,0x7b,0xc1,0xc4,0x6f,0x39, - 0x5d,0x56,0xfc,0xc3,0xd3,0x2e,0x8c,0x80,0x17,0xb5,0xf3,0x1e,0x52,0xc2,0xdb,0x52, - 0x4b,0xd2,0x06,0x94,0xec,0xa2,0x8b,0x1c,0xa7,0x5b,0x13,0xeb,0x93,0x12,0xff,0x12, - 0xcc,0x78,0xd0,0xf7,0xc9,0x2c,0xed,0x00,0x9b,0x37,0xbc,0x6d,0x39,0x79,0x22,0xf0, - 0x58,0x74,0x85,0x2a,0xaf,0x71,0xbe,0x6e,0xb6,0x12,0x33,0xf3,0xa1,0x26,0xee,0x6f, - 0xe2,0x1f,0x7c,0x7e,0xee,0x86,0xc5,0x41,0x25,0xca,0xe7,0x1c,0x89,0xf4,0xe4,0xa9, - 0x7e,0x87,0x50,0xd3,0x43,0x7e,0x2d,0x79,0xa6,0xd4,0xc7,0x36,0xf9,0x3f,0x37,0x1b, - 0xf3,0x2e,0x34,0x8e,0x09,0x57,0x95,0xca,0xde,0x69,0xfd,0xf2,0xc3,0x08,0x9b,0xab, - 0xb4,0x9b,0x87,0x6b,0x2e,0xc0,0x9f,0x14,0x33,0xff,0x6b,0x2a,0xff,0xc7,0xf7,0x9a, - 0xa3,0x6c,0x49,0x96,0x74,0x8c,0x78,0x7b,0xed,0xdd,0x35,0xdb,0xe1,0x15,0x26,0x32, - 0x37,0x22,0x0a,0xb2,0xe4,0xda,0xfe,0x68,0x28,0x7f,0xa4,0xe2,0x33,0x2d,0x28,0x3d, - 0x94,0xa7,0x21,0xbf,0x07,0xea,0x57,0xe6,0x29,0xeb,0x25,0xb3,0x51,0xda,0xdb,0x09, - 0xc3,0xea,0x9a,0xfe,0x20,0x3c,0xa9,0x6d,0x0d,0xf9,0x1a,0xbe,0xdd,0xec,0x10,0x2d, - 0x27,0xb3,0x48,0x83,0x91,0x1f,0xa2,0x4b,0xc8,0xd1,0x44,0xa3,0xb4,0x6b,0xfa,0x83, - 0x8c,0xfb,0xf3,0xa1,0x3d,0x50,0x68,0x04,0xca,0x89,0xcc,0x1a,0x8e,0x85,0xea,0x22, - 0x1e,0xf2,0x87,0x35,0x8d,0x70,0x6d,0x7f,0x34,0xb8,0x28,0x96,0x71,0xfc,0x53,0x27, - 0xbd,0x04,0x0b,0x99,0xfb,0x19,0xf1,0x30,0x9c,0xd2,0x76,0x76,0xa2,0xd9,0x35,0x2a, - 0x99,0x8d,0xd2,0xae,0xe9,0x0f,0x02,0x09,0xb6,0x33,0x0e,0x0e,0xa1,0x62,0x5a,0x12, - 0xd7,0xcc,0x2b,0x11,0xb3,0x82,0xdf,0x2c,0xee,0x18,0x99,0x82,0x7f,0x50,0xdf,0xb9, - 0xdb,0xe4,0x42,0x54,0x73,0x26,0x2d,0xe4,0x25,0x72,0x8c,0x55,0x86,0x68,0x1b,0x4f, - 0x04,0x93,0xae,0xed,0x8f,0x66,0x3a,0x19,0xfa,0xa2,0xe1,0x42,0xe5,0x71,0x28,0xe0, - 0xd1,0xae,0x81,0xbc,0x37,0x22,0x25,0x75,0xf4,0x39,0xf2,0x87,0x09,0x62,0xf3,0x35, - 0xf1,0x2f,0xfc,0xac,0xc0,0x07,0x21,0x1e,0xf6,0x1a,0xda,0xde,0x3c,0xbd,0xe4,0xf6, - 0x0d,0x51,0xf2,0x9e,0xd4,0x2c,0xf0,0x88,0x98,0xf3,0x9a,0xf8,0x17,0x0f,0x72,0x49, - 0xf4,0x71,0xce,0x7f,0xce,0x25,0xbd,0x74,0xb3,0x1f,0xaf,0x78,0x4c,0xc7,0xc8,0x35, - 0xfd,0xd1,0x12,0xf1,0xaf,0x00,0x9b,0xa6,0xc2,0x30,0xbe,0xd6,0x52,0x26,0x70,0x20, - 0xf4,0x08,0xea,0x58,0x33,0x11,0x6c,0xd6,0xd4,0xfe,0x68,0x03,0xa8,0xd6,0xb3,0x82, - 0x8e,0xb6,0x69,0xe3,0x44,0x68,0xb3,0x2d,0x6c,0xed,0xcd,0x3c,0xbe,0x73,0x79,0x5c, - 0xbf,0x5f,0xd3,0x1f,0xc4,0xa7,0xcd,0x0c,0xf2,0x6a,0xa2,0x9e,0xd2,0xa5,0xf6,0x68, - 0x63,0x99,0xfe,0x4a,0xc8,0x2c,0x8b,0x7d,0x81,0x8d,0x43,0xa9,0xd4,0xfe,0x20,0x83, - 0x50,0x42,0x27,0xa2,0x5d,0xdb,0x8b,0x11,0x08,0xc1,0x86,0x15,0x88,0x7f,0x58,0x76, - 0x7c,0x07,0xa7,0x06,0x5d,0xd3,0x1f,0x0d,0xdf,0xf7,0x5e,0x6a,0xd2,0x7e,0x40,0xd5, - 0xb6,0x29,0x61,0xc9,0x6c,0x94,0x66,0x53,0x48,0x6f,0xef,0x1e,0x58,0x3d,0xa5,0x3f, - 0x1a,0xe2,0x9f,0x5d,0xb0,0xba,0xda,0x84,0x31,0x7b,0xa8,0xb3,0x96,0xfb,0xd3,0x10, - 0x58,0x96,0x04,0x8a,0x70,0x61,0xd9,0x44,0xbf,0xb9,0x24,0xfe,0x49,0xf8,0x7f,0xb4, - 0x40,0xb4,0xa6,0x03,0x15,0x71,0xa2,0x11,0x1e,0x41,0xfb,0x7d,0x39,0x4f,0x84,0xc7, - 0x2f,0xe2,0xbb,0xa6,0x3f,0x2c,0xf0,0xb4,0xf7,0x79,0x26,0x3b,0x28,0xfa,0x5c,0x68, - 0x9e,0x62,0x3a,0x3a,0x2a,0xb5,0xcc,0xb6,0x49,0xfc,0x73,0x4d,0x7f,0x10,0x1f,0xd8, - 0xc3,0xdc,0xdb,0xa3,0x79,0xaf,0x1b,0xe7,0x9f,0x23,0xec,0x89,0x88,0x67,0xb5,0x3e, - 0xb8,0xa6,0x3f,0xda,0xb8,0xff,0x67,0x48,0xec,0x64,0x87,0xa0,0x20,0x9a,0xa9,0x93, - 0x0f,0x60,0xa3,0xf1,0xfb,0x36,0x97,0x4e,0x2e,0x72,0x46,0x34,0x93,0x75,0x71,0xc3, - 0x35,0xf8,0xc7,0xe5,0x21,0xf7,0xf0,0xee,0x30,0xf1,0xeb,0x3d,0xf8,0x76,0x0d,0x77, - 0xa9,0xf5,0x80,0xfb,0xa1,0xb1,0xf1,0xda,0xfe,0x68,0x09,0xfc,0x43,0xd7,0x6c,0x69, - 0x83,0xe7,0xd5,0x02,0x76,0x7d,0xbd,0xb3,0x57,0x5d,0x6f,0xe4,0xfb,0x69,0x3d,0x79, - 0x47,0x18,0x3f,0xbf,0x9d,0xd6,0xf8,0x17,0x9e,0xdf,0xca,0x01,0x3b,0xef,0x8f,0xf6, - 0x27,0xa3,0x34,0x9e,0xf9,0x83,0x9c,0xd7,0xc9,0x49,0x56,0x10,0xb2,0xaf,0x69,0xfc, - 0x7c,0xa2,0x75,0x5a,0x6a,0x7f,0x10,0x94,0x27,0x27,0xe7,0x31,0x5c,0x8d,0x4f,0x13, - 0x66,0xe9,0x00,0xb7,0xdf,0x79,0xc6,0xdc,0x85,0x04,0x35,0x28,0x36,0x05,0xff,0xf0, - 0x6a,0xd8,0xf6,0xc1,0x69,0xff,0xa8,0x5d,0x8d,0xf1,0x6e,0x0e,0x8d,0x57,0x94,0x04, - 0x22,0x32,0xeb,0x43,0xa2,0x69,0x3f,0x6a,0xe5,0x3f,0x27,0xf8,0x87,0xbc,0xbb,0x47, - 0x2e,0x2f,0xfc,0xf8,0x92,0x49,0x3b,0x7c,0x3e,0x17,0x11,0xce,0xf7,0xcc,0xc6,0xf7, - 0xc5,0x53,0xfb,0xa3,0x8d,0xfb,0x8b,0x42,0xb6,0x5c,0xfb,0x81,0x67,0x78,0xf5,0x6f, - 0xf2,0xb6,0xba,0x0f,0x76,0x68,0xf2,0xd9,0x70,0xee,0x38,0x95,0x31,0xdd,0x98,0x1a, - 0xff,0xe2,0xfc,0x0d,0xc9,0xc4,0x93,0x78,0xac,0x4e,0xa9,0x7b,0x99,0x33,0x2c,0xdb, - 0x89,0xcd,0x18,0xef,0x37,0x97,0xc4,0x3f,0xbb,0x4d,0x7f,0x57,0x95,0x81,0xbb,0xdd, - 0x0d,0x9f,0x1a,0x5d,0x71,0xf7,0xb0,0xf8,0x11,0x8c,0x9e,0xf1,0x3a,0x1d,0x11,0xb9, - 0x80,0x70,0x6a,0xa5,0x63,0x2a,0xfe,0xe1,0xf6,0xfe,0x3c,0x8f,0xd8,0x01,0x97,0xf2, - 0x7d,0x3d,0xcb,0xcc,0xfc,0x77,0x5e,0xb1,0xb6,0xa9,0x71,0x10,0xfe,0xaf,0x84,0xbc, - 0x4d,0xc1,0x3f,0x02,0xea,0xbb,0x1e,0x34,0x4b,0x2b,0xf1,0x0f,0x63,0xf5,0xf6,0x61, - 0xb1,0x0d,0x7a,0x79,0xd8,0xcb,0x92,0xef,0x9c,0xda,0x1f,0xe4,0x30,0xcc,0xeb,0x89, - 0x44,0x48,0x07,0x3c,0x2f,0x15,0x2c,0xcf,0x8c,0x91,0x73,0xa8,0x7f,0x57,0x7a,0x68, - 0x1b,0x79,0x77,0xdc,0x35,0x61,0xed,0x0f,0x3b,0x6e,0xef,0xd3,0xb0,0xbf,0x70,0x5c, - 0x71,0x67,0x0f,0x69,0xcd,0x0d,0xce,0x18,0xe2,0x81,0x89,0xf9,0xd7,0xf0,0x9f,0xdd, - 0x5c,0xcd,0x35,0xe1,0x6f,0x55,0xee,0x6f,0x3c,0x49,0x78,0x9b,0x78,0x0a,0xce,0x5e, - 0x61,0xdc,0x55,0x62,0xed,0x0f,0xcb,0x9f,0x67,0xb1,0x81,0xdb,0xbe,0xd0,0x2c,0x24, - 0xee,0x8e,0xe1,0x8b,0xf7,0xa1,0x05,0x64,0xe7,0x61,0xbe,0x4b,0x89,0xf7,0x9d,0xc2, - 0x7f,0xe6,0x49,0xee,0xdc,0xff,0xc3,0xdb,0x9e,0x66,0x0d,0xe7,0x70,0x47,0xd0,0x3c, - 0xf8,0x37,0x2d,0xf9,0xbe,0x56,0xfc,0xf3,0x8e,0xd9,0xbf,0xc6,0x3e,0x32,0x6d,0x16, - 0xbc,0xc0,0xb7,0xcd,0xa0,0xf8,0x1c,0xfc,0x2e,0x7b,0xbe,0x8a,0x3b,0x36,0x1b,0xc6, - 0x58,0x95,0xbe,0x74,0x24,0xc7,0x12,0xff,0x52,0xde,0x55,0xba,0x19,0x0f,0xb2,0x23, - 0xa8,0x8b,0xe0,0x60,0x09,0xac,0x9c,0xa9,0x6e,0xca,0x75,0xaa,0xb4,0x9b,0x14,0xc1, - 0xc1,0x86,0x92,0x38,0x0e,0x62,0xc9,0xf8,0x57,0xda,0x49,0xf3,0x35,0xa9,0x47,0x71, - 0x4b,0x2d,0x5c,0x9b,0xab,0xc4,0xae,0x6d,0x55,0xbf,0xdd,0x80,0x1b,0x03,0x50,0x22, - 0x95,0xf0,0xd2,0xac,0x5e,0x8b,0xff,0x47,0xe7,0x41,0xb4,0xf1,0xfb,0xf3,0x42,0x1f, - 0x2c,0xdb,0xcd,0x61,0x4f,0x3b,0x22,0x22,0xbc,0x3f,0x2b,0xe9,0x8b,0xc4,0x48,0x2c, - 0x89,0x4f,0xb8,0xff,0x47,0x30,0x97,0xc5,0x3d,0x8e,0x46,0x64,0x37,0xbc,0x05,0xdd, - 0x7a,0x6b,0x4c,0x9c,0xc3,0x2e,0x19,0xbe,0x90,0xfb,0x97,0x16,0xfc,0xa3,0x0b,0x31, - 0x18,0xa7,0x45,0xe1,0x80,0x9a,0x6c,0xf0,0x87,0xd1,0xbe,0xc0,0x15,0x1b,0x96,0x71, - 0xe9,0xa4,0x2a,0x4e,0x74,0x49,0xcd,0xff,0x7a,0x4b,0xf1,0x1a,0x99,0xdd,0xe2,0x6a, - 0x9e,0x7f,0x17,0x5f,0x16,0xc3,0x8d,0x7c,0x42,0xf1,0x36,0xd9,0x63,0x39,0x4f,0xf2, - 0x40,0x58,0xaf,0x7d,0x7f,0x8a,0xff,0x47,0xe5,0xfd,0x85,0x73,0xf1,0xeb,0x1f,0xe5, - 0x03,0x15,0xa5,0x65,0x25,0x6c,0x0a,0x5f,0xa7,0x67,0xf2,0x8e,0x30,0x2d,0xcc,0x1d, - 0x8f,0xf8,0xc4,0x7f,0x4c,0xf1,0xff,0x6c,0x65,0xbc,0x7e,0x42,0xf6,0x29,0x68,0x34, - 0x42,0x46,0x06,0x7e,0x59,0x7c,0x5f,0x89,0xe0,0xb2,0x30,0xad,0x91,0xb9,0x35,0x54, - 0xdc,0x9e,0x49,0x7d,0x17,0x17,0xbc,0xd0,0xca,0xf2,0x0b,0x5d,0x77,0xa5,0x7f,0xaa, - 0xb6,0xb6,0xaf,0xf0,0xdc,0x78,0x67,0x98,0x77,0x50,0x9d,0x5d,0x98,0x81,0x46,0xa1, - 0xb0,0xfe,0xc5,0xe2,0x01,0x3a,0x4a,0x1e,0x99,0x8c,0x7f,0xdd,0x85,0xf8,0xe7,0xd7, - 0xe0,0xe9,0xcd,0xe4,0xec,0xfa,0xc6,0x4e,0x4f,0x5f,0xa6,0x5a,0x60,0x87,0x17,0x48, - 0xe1,0x6e,0xbb,0x47,0x64,0x8c,0x07,0xc2,0x5a,0x0b,0x6b,0x92,0xf1,0x2f,0xff,0x4d, - 0xe6,0xfa,0x48,0x8e,0x17,0x12,0x6e,0x43,0x98,0x66,0xf0,0xfe,0xb0,0x66,0x7d,0x24, - 0xdc,0x51,0xcf,0x0b,0x8b,0x7b,0xfe,0xa1,0xde,0x12,0xff,0x7a,0x26,0xed,0x14,0xe7, - 0xef,0x99,0xeb,0x63,0x0e,0x1c,0xdd,0x72,0xb1,0x71,0x89,0x96,0xeb,0x76,0xee,0x11, - 0xba,0x04,0x95,0xf1,0xd6,0xf2,0x1a,0x92,0xc4,0x3f,0x9b,0xa3,0xbc,0x09,0xec,0x44, - 0xb9,0xb4,0x62,0x68,0x09,0x22,0x10,0x3a,0xa0,0x99,0x7c,0xc2,0xd3,0x1c,0x1a,0x71, - 0x09,0xd3,0x35,0x29,0xdf,0x18,0x1a,0xb1,0xeb,0xd9,0x3c,0x93,0xef,0x34,0x81,0x76, - 0x66,0xb5,0x1e,0xd0,0xbf,0xa3,0x67,0xac,0x21,0xaf,0xc3,0x81,0x48,0xf1,0x70,0x64, - 0x0d,0xa1,0x16,0xfc,0x63,0x98,0x65,0x57,0x23,0x70,0x1d,0x7e,0x08,0xae,0x0d,0x39, - 0x7f,0x83,0x47,0xe4,0xf1,0xa0,0xbd,0x1c,0xda,0xdb,0xe0,0xee,0xa7,0x0b,0xfc,0x3f, - 0x49,0xa9,0xff,0x73,0x14,0xc5,0x2c,0xd5,0x65,0x97,0x39,0x70,0x74,0x88,0x2e,0x7a, - 0x08,0x16,0xe9,0xbc,0x2d,0x1a,0x7c,0x0e,0x55,0xba,0xfd,0xdc,0x34,0x4b,0xfc,0x0b, - 0x86,0x09,0x2e,0x8b,0x52,0x62,0x88,0x9f,0x90,0xc4,0x46,0x6a,0x34,0x11,0xd1,0xcc, - 0x8d,0x4d,0xbc,0x82,0x34,0xf3,0x09,0xf3,0xc2,0x39,0xd6,0xf8,0x97,0xe9,0xff,0xa9, - 0x5b,0xba,0x19,0x8f,0x2d,0x0f,0x7b,0xd9,0x1f,0x9f,0xc6,0xfd,0x39,0xfb,0x27,0xe3, - 0x5f,0xdf,0x76,0x6c,0x4b,0xcd,0x7f,0xe7,0x24,0xdb,0x3a,0x94,0x36,0xef,0xb1,0x66, - 0x56,0x16,0xa4,0x3f,0x76,0x0e,0x40,0xb3,0xe2,0xfc,0x12,0xef,0xe8,0x21,0x1d,0x34, - 0x1b,0xc5,0x4e,0xc1,0x3f,0xbf,0x64,0x05,0x5a,0x46,0xff,0xbd,0x9f,0x93,0x47,0xa1, - 0xa0,0x36,0xaf,0x1f,0x15,0xf7,0x66,0xea,0xd4,0x6e,0x8c,0xa6,0x73,0x47,0xb4,0x53, - 0x93,0x37,0x3b,0x4f,0x59,0xea,0xff,0xe4,0x72,0x7b,0x36,0x98,0x77,0x3f,0xf9,0x77, - 0x58,0xcb,0xbe,0x51,0x4f,0xef,0x43,0x98,0xc4,0x1b,0xa3,0xa3,0x98,0x92,0xf0,0x7c, - 0x15,0x86,0x96,0xa0,0xbe,0x4b,0xc5,0x3f,0xb8,0xe7,0x32,0x21,0xc7,0x30,0xd5,0xae, - 0x5b,0x23,0x71,0x7a,0x66,0xbc,0x10,0x50,0xa2,0xfe,0x0c,0xab,0x49,0xe2,0x9f,0x33, - 0x9c,0xff,0x0c,0xcf,0x55,0x27,0xf4,0xfb,0x34,0x53,0x9b,0xbf,0x07,0xa3,0xd5,0xfc, - 0x58,0xa1,0x20,0xfa,0x61,0x82,0x08,0x94,0xca,0x7f,0xfe,0x10,0xaa,0x6a,0xb3,0xfa, - 0xc5,0x05,0x1a,0x77,0xfb,0xe0,0xa0,0x50,0xb9,0x5c,0x37,0x9f,0x4f,0xbb,0x00,0x3d, - 0x64,0x7e,0xb5,0x3d,0x68,0xf1,0xff,0xac,0x41,0xfc,0x13,0x91,0x10,0xff,0x84,0x89, - 0xca,0x22,0x1c,0x08,0x85,0xb3,0x39,0x11,0x9a,0xc0,0x12,0xe6,0x8f,0x73,0x89,0xc1, - 0x10,0x08,0x6d,0x4c,0xb7,0xe2,0x9f,0x1d,0xc4,0x5d,0x6d,0x53,0xc2,0x4d,0xca,0x0e, - 0xc9,0xed,0xa7,0xd1,0x70,0x9a,0xba,0x27,0x1f,0x12,0x7c,0xef,0x46,0x9e,0x61,0xb7, - 0xcd,0x12,0xff,0xe2,0xf8,0xa7,0x99,0xcb,0x73,0xc5,0xcf,0xdb,0xa8,0xd9,0xab,0x4d, - 0x60,0xb9,0x07,0x12,0x1e,0x36,0xd6,0x8c,0x42,0x1a,0xe7,0xaf,0x4b,0xc6,0xbf,0x66, - 0xf0,0x6e,0x2f,0x95,0x5a,0x49,0x34,0xa7,0x83,0xbc,0x0f,0xb3,0x34,0xbb,0x62,0x33, - 0x3f,0xeb,0x7d,0x9c,0xcf,0x43,0x7b,0xc0,0x1b,0x42,0xc4,0x9b,0xf4,0xff,0x0c,0x26, - 0xe2,0x5f,0x7e,0x47,0xb4,0xa5,0x50,0xe5,0xc0,0xb8,0x38,0x5a,0xc0,0x57,0xec,0xc8, - 0x0a,0x3e,0x1f,0xf5,0x1d,0xcf,0xff,0xca,0xb9,0xa6,0x3e,0x76,0xa2,0x2d,0x6f,0x9f, - 0x9a,0xa0,0x5d,0xc1,0xa0,0x5a,0x91,0x6d,0x37,0xf9,0xf6,0x9a,0x37,0x0f,0x81,0x90, - 0x25,0xfe,0x25,0x50,0x38,0xe4,0x9c,0xd7,0x6e,0x1f,0x20,0xe5,0xb0,0x91,0xce,0x6b, - 0x0f,0xf0,0xb0,0x57,0x56,0xa8,0x20,0x4a,0xe3,0xe4,0x38,0x22,0xa2,0x5b,0x19,0x0d, - 0x91,0x54,0xff,0xcf,0x1e,0xe6,0xee,0xcf,0x58,0x60,0x7b,0x94,0x87,0x69,0xfa,0xd4, - 0x72,0xd2,0xaa,0xec,0x4c,0x77,0x69,0x79,0x15,0xb8,0x3e,0xa8,0xc1,0x7b,0x69,0xb9, - 0xd3,0x36,0x05,0xff,0xcc,0x63,0x88,0x1f,0x12,0xc4,0x60,0x3a,0x90,0xbd,0xd1,0x98, - 0x06,0xf9,0x71,0xca,0x1d,0x41,0xcf,0x0b,0xb7,0x18,0xae,0x0b,0x44,0x9d,0x8c,0xd7, - 0x74,0x8e,0xf3,0x9f,0x33,0x07,0xc5,0x43,0xc0,0xcb,0x62,0x4b,0x6b,0x6c,0x4f,0x68, - 0x5f,0x67,0xb7,0x85,0xdc,0xcb,0xc5,0xd7,0xe1,0x4f,0x91,0xf9,0x67,0xed,0x01,0x39, - 0x19,0xff,0xb2,0xdd,0xb4,0x9b,0x5e,0x42,0x89,0x89,0xf8,0x27,0x84,0x82,0x1d,0xcf, - 0xa3,0x22,0x7e,0x87,0x5d,0x4a,0x1b,0xa7,0xf5,0x2e,0x5a,0x31,0x6e,0x2f,0x4c,0xac, - 0x0f,0xac,0x35,0xf1,0xcf,0x90,0x6d,0x34,0xe7,0x23,0x8d,0xa7,0x7d,0xd9,0xcf,0xa0, - 0x21,0x7f,0x95,0x2d,0x5a,0x6d,0x1f,0x44,0xfc,0xf3,0x27,0x56,0x3a,0x60,0xe7,0xfd, - 0xd1,0x26,0xd6,0xc7,0xc4,0x3f,0xb1,0xe2,0x75,0xf4,0xcb,0xe1,0x37,0xe1,0xf9,0x0f, - 0xe6,0xce,0xa1,0x2b,0x10,0xff,0xfc,0x52,0x52,0x7f,0x7e,0x57,0x88,0xc7,0xbf,0x94, - 0xb9,0x27,0xe9,0x83,0xd9,0x1f,0xa4,0xc6,0xbf,0x84,0xe2,0x00,0xfe,0xf6,0x6d,0xfd, - 0x79,0xcf,0x6c,0x2d,0x23,0x88,0xf3,0xff,0x55,0x99,0xab,0x35,0xf7,0x13,0x1e,0xb8, - 0x2f,0x30,0xf0,0x04,0x59,0xf1,0xcf,0x2b,0xea,0x5e,0xc3,0x9e,0xe7,0x92,0xc8,0x0b, - 0xb0,0x57,0x73,0x2b,0x19,0x0a,0x19,0x52,0x50,0x03,0x0e,0xe3,0x7e,0xcb,0x52,0xf7, - 0x14,0xba,0x34,0xb3,0x35,0xfc,0xe4,0xf3,0xcc,0xf8,0x37,0xf5,0x52,0xd4,0xd7,0x6f, - 0x7b,0x8e,0x9c,0xd3,0x46,0xa3,0x65,0xc3,0xc5,0x47,0x72,0x78,0x1a,0xce,0x0f,0xb4, - 0x4c,0x1d,0x2d,0xa6,0x4b,0xe0,0x8c,0xa3,0xa0,0x9e,0x82,0x7f,0x14,0x5f,0xd4,0x61, - 0x76,0x83,0xd5,0x2a,0x02,0x59,0x1d,0x3b,0x87,0xa4,0x4b,0xda,0x23,0xf7,0x65,0x75, - 0x88,0x43,0xdc,0x10,0xab,0x77,0x74,0x4f,0xf5,0xff,0x68,0x55,0x86,0xfb,0x4d,0xf1, - 0x3c,0x8a,0xf1,0x79,0x9c,0xd8,0x30,0x46,0x5e,0x35,0x4a,0x6b,0x1c,0x86,0xf0,0x3d, - 0x76,0x15,0x4a,0x8f,0x22,0x10,0x4a,0xc6,0xbf,0x18,0xc7,0x3f,0x82,0x3b,0x86,0xf8, - 0x1f,0xd1,0x8b,0x81,0x68,0x99,0x91,0x21,0x68,0xee,0x73,0x86,0xe4,0x8d,0xce,0x21, - 0x65,0xef,0xca,0x05,0xf5,0xb8,0xff,0xaf,0x89,0x7f,0x85,0xe6,0xea,0x47,0x3b,0x18, - 0x0f,0x7b,0xdd,0xd8,0x46,0x86,0x28,0xea,0xeb,0x7a,0x39,0x42,0x56,0xc1,0xe1,0x19, - 0xce,0xb3,0x81,0x6e,0xbf,0x9a,0x82,0x7f,0x4a,0x55,0x37,0x50,0xd5,0xdf,0xe7,0xda, - 0xab,0xae,0xce,0x90,0x55,0xef,0x49,0x10,0x40,0x0d,0xf0,0x46,0x21,0xa8,0xfa,0xe7, - 0x18,0xf8,0x7f,0xc8,0x64,0xfc,0x1d,0xcc,0xf8,0x57,0x25,0x14,0x33,0xb1,0x83,0x5d, - 0xd2,0x2a,0xfd,0x0e,0x86,0x62,0xf7,0x38,0x78,0xef,0x41,0xf9,0xb3,0x4a,0xba,0x04, - 0x5d,0xac,0x30,0x26,0x26,0xe3,0x5f,0x1c,0xff,0x5c,0xd2,0xaa,0xe0,0x1f,0x38,0xed, - 0xf9,0x52,0x1d,0xc2,0x42,0xa3,0x7a,0x0c,0x15,0x59,0x65,0x40,0xd6,0x4c,0x7e,0x4b, - 0xa2,0x3f,0x1a,0x4b,0xe2,0x9f,0x61,0xf6,0x8a,0x5a,0x0a,0x59,0x01,0xb9,0x12,0xd1, - 0x0e,0xc2,0x42,0xa3,0x71,0x3e,0x3b,0xc9,0x81,0x50,0xaf,0x98,0x80,0xd6,0xa9,0xfd, - 0x41,0x94,0xdf,0x07,0x33,0x82,0xed,0x2a,0xea,0x77,0xde,0xb6,0xc3,0x09,0xb6,0x08, - 0xc9,0xd7,0x36,0xb0,0xa2,0xb8,0xbc,0xde,0x6f,0xa6,0x86,0x25,0x42,0x63,0x49,0xf9, - 0xd3,0xc7,0xdd,0xce,0xec,0xae,0x18,0xd4,0x0a,0x28,0x46,0x04,0x34,0x3c,0x01,0x25, - 0x18,0xca,0x5b,0xf0,0x4f,0x86,0xc6,0x2c,0xfc,0xe7,0x19,0x9d,0x6a,0x8b,0xcd,0xb9, - 0x07,0xd7,0xff,0x01,0x2e,0xbd,0x75,0x5b,0x24,0x7b,0x0e,0x34,0xf3,0x46,0x51,0xdd, - 0x26,0x9f,0xdc,0xc4,0x93,0x49,0xfe,0xb3,0x3a,0xe3,0x13,0x78,0xa5,0xba,0x54,0xdf, - 0xc8,0xc4,0x1f,0xc2,0x28,0xcb,0x29,0xb7,0xb7,0x8a,0x05,0xac,0x8f,0x03,0xa1,0x8d, - 0xe2,0xd0,0x04,0x3e,0x3c,0x63,0xf1,0xff,0x30,0xf2,0x19,0x1c,0x61,0xcb,0xe2,0xe2, - 0x6e,0x5c,0x8d,0x23,0x68,0xc8,0xdf,0x78,0x9a,0x5c,0x81,0xaa,0x1e,0xb3,0x70,0x3a, - 0xc7,0x87,0x72,0xaa,0xff,0x67,0x57,0xee,0x89,0x2f,0x79,0xcf,0xd8,0xf7,0x88,0xc5, - 0xe4,0x04,0xf7,0x36,0x77,0xc8,0x2e,0xde,0x98,0xc6,0xc8,0x0a,0x73,0xe0,0x9d,0xb8, - 0xbf,0xd5,0xff,0xe3,0x92,0x5a,0x98,0xba,0x97,0x7a,0xb2,0x7f,0xa1,0x36,0x72,0x3c, - 0xcc,0xc8,0x1c,0x75,0x34,0xc1,0x5f,0x9a,0x7c,0x7e,0x4b,0x7f,0xb4,0xb4,0x5a,0x60, - 0x67,0xd5,0x28,0xcd,0x23,0x76,0x88,0x92,0x67,0x78,0xa3,0x10,0x3b,0x3d,0xc8,0x97, - 0x65,0xb1,0xc9,0x87,0x5f,0x9d,0xa8,0xff,0x93,0xf4,0xff,0x5c,0x47,0x9a,0xa2,0xf9, - 0x3b,0x02,0xcb,0xb3,0x7f,0xaa,0xfd,0xa8,0x61,0xee,0x2a,0xba,0x9c,0x5c,0xa7,0x71, - 0x8f,0x90,0xfc,0x7d,0x1e,0xff,0x4a,0x20,0x84,0x24,0xff,0xb9,0x0e,0xf1,0xcf,0x71, - 0xc5,0xc3,0x5c,0xf3,0x73,0xd2,0x10,0x08,0x95,0x87,0xdd,0xb7,0x8a,0x14,0xce,0x43, - 0x65,0x6f,0x16,0x88,0x27,0xb9,0x47,0x88,0xfb,0x7f,0xde,0xb4,0xfa,0x7f,0xb4,0x2b, - 0x6d,0xcf,0xf3,0x32,0xf2,0xc3,0xca,0x1f,0xa0,0x0c,0x97,0x65,0xda,0x05,0xf8,0x23, - 0xae,0xcf,0x26,0x4b,0xfd,0x1f,0xab,0xff,0x67,0x00,0xd5,0xa2,0x87,0xa1,0xd9,0xfb, - 0x01,0x4a,0x7b,0xdc,0x3f,0xfd,0x39,0xc3,0xc2,0x9d,0x30,0xcb,0x70,0x18,0x08,0x44, - 0xff,0xe9,0x5a,0xff,0x4f,0x13,0x9e,0xe1,0x7c,0x86,0x20,0xe7,0x8c,0xb2,0x96,0x27, - 0xa2,0x06,0xc9,0x69,0x61,0xbd,0xa7,0xd8,0xf8,0x3b,0x04,0x42,0xe3,0xf6,0xd4,0x14, - 0xff,0xcf,0x3a,0x56,0xd0,0xe1,0x7a,0xd8,0xf4,0xf6,0xe4,0xeb,0xf4,0x61,0x72,0xc2, - 0xbe,0xee,0xc7,0xf8,0x9a,0x94,0xcc,0x9a,0x78,0xdf,0x54,0xff,0x4f,0x18,0xd4,0xe7, - 0x02,0xe5,0xa4,0x87,0x34,0x12,0xe7,0x51,0xd7,0x4c,0xf2,0x9e,0x6a,0x9a,0xb1,0x6d, - 0x64,0xa2,0xd4,0x5b,0xaa,0xff,0x87,0x9c,0x82,0xbd,0x51,0x94,0x96,0x23,0xf0,0x52, - 0xb8,0x74,0xb3,0xfd,0x43,0x1c,0x98,0x6e,0x9f,0x73,0x39,0x2e,0x7a,0xd1,0xf4,0xff, - 0xa4,0xc4,0xbf,0x0c,0x3c,0x4d,0x47,0x14,0x47,0x93,0x10,0x57,0x47,0xa2,0xbc,0x2d, - 0x9a,0x18,0x27,0x66,0xc7,0x90,0x71,0xfe,0xcf,0xb5,0xf1,0xaf,0x1e,0xe6,0xe1,0xde, - 0x8c,0x73,0xb8,0x3f,0xbd,0xab,0xcc,0xc1,0xb1,0x24,0xd1,0xf7,0xcf,0xf8,0x7f,0x9a, - 0x23,0x05,0xcb,0x71,0xff,0xbf,0xa7,0x1d,0xe4,0xd5,0xf8,0xa3,0xe4,0x9c,0xd2,0x12, - 0x2f,0xe1,0x30,0x86,0x7b,0x78,0xb2,0xae,0xc5,0x3f,0x8f,0x4e,0x6f,0xaf,0x45,0xb3, - 0x6b,0x40,0x3d,0xa8,0x98,0xdd,0xd3,0x06,0xfc,0x2d,0x6a,0x96,0x26,0x46,0xc7,0xf9, - 0x2a,0x62,0x6a,0xfc,0x2b,0x17,0xd6,0x26,0x48,0x3e,0x2f,0x2a,0x7b,0x40,0xed,0x77, - 0x71,0x1a,0x70,0x03,0xe1,0x44,0x44,0xdb,0x78,0x6a,0xd8,0x54,0xff,0xcf,0x49,0xee, - 0x6d,0xd0,0xcd,0xb7,0xf3,0x24,0xf3,0xdf,0x4d,0xfe,0xcf,0xf8,0xfb,0x5a,0xf8,0xcf, - 0x37,0xbd,0x47,0x78,0xda,0xfb,0x3c,0x4e,0xfb,0xb9,0x0c,0xe3,0xfe,0x9f,0xd1,0x04, - 0xed,0x67,0xe0,0xcf,0xf8,0x7f,0x84,0x73,0xf0,0x8a,0x51,0x7a,0x57,0x6b,0xbf,0xb8, - 0xb8,0xe9,0x33,0x58,0xc4,0xdb,0xa6,0xdc,0x0a,0xa6,0x5b,0xac,0x3f,0xb9,0x3e,0xe7, - 0x52,0xfc,0x3f,0x11,0x85,0x67,0x7b,0x89,0x2b,0x58,0xb7,0x80,0x83,0x26,0xee,0xff, - 0xe1,0x40,0x37,0xcc,0xf9,0x3f,0x7f,0xc6,0xff,0xa3,0x35,0xf0,0xfc,0x77,0x25,0xfb, - 0x76,0x7c,0x3b,0xd7,0x72,0x9a,0x4b,0xd2,0xd6,0x99,0x6e,0xae,0xdc,0x0d,0xf8,0xbe, - 0x92,0xfb,0x1a,0xff,0x0f,0x69,0x86,0xf6,0xaf,0xb8,0xda,0x50,0x7a,0x1f,0x54,0xd4, - 0x7a,0xda,0xc6,0xfd,0x3f,0x8a,0xe9,0xf6,0x29,0x84,0x6b,0xfd,0x3f,0xb9,0x4f,0xc1, - 0x31,0xee,0xf6,0x69,0x13,0x57,0xc1,0xe8,0x3d,0x15,0x9a,0x7b,0xdb,0x2d,0xb7,0xa8, - 0x77,0xf2,0xc7,0xde,0x9c,0x7c,0xfe,0x41,0x4b,0xfe,0x57,0x13,0xfb,0xc4,0x5d,0x59, - 0xb3,0x6c,0x4b,0xcd,0x7b,0x89,0xdf,0x66,0x0b,0xbd,0x51,0x73,0x90,0xd7,0x68,0xf1, - 0xff,0x4c,0xcc,0x4f,0xe0,0x9f,0xb2,0xc4,0xb2,0x8f,0x80,0x97,0x98,0xf9,0x5f,0x7d, - 0x56,0x46,0x7a,0xaa,0xff,0x47,0x2a,0x47,0xe9,0xb6,0x93,0xd1,0x07,0xc8,0x28,0x62, - 0xd3,0x85,0x51,0xaa,0xe3,0xf7,0xd8,0x10,0x2f,0xe1,0xb4,0x67,0x0e,0xec,0xcd,0xd2, - 0x88,0xc7,0x27,0x3e,0x2f,0xe2,0x9f,0x00,0xec,0x35,0x0a,0x83,0xd4,0x4b,0x5e,0x50, - 0x71,0x3f,0x70,0x6b,0xf4,0x65,0xd8,0x19,0xb7,0x9b,0xfc,0x9f,0x89,0xf3,0x62,0xed, - 0x0f,0x92,0x07,0x07,0xa8,0x6a,0x44,0xf0,0xd8,0xaa,0xbf,0x24,0xb3,0xa3,0x94,0x07, - 0x86,0x9e,0xe6,0xc7,0xf6,0xbe,0xe4,0xf9,0xed,0xb3,0xe4,0x7f,0xf1,0x22,0x87,0xb7, - 0x86,0xdc,0x6b,0x10,0xed,0x7c,0x86,0x6a,0x05,0x07,0x9f,0x23,0xb4,0x5f,0xcc,0xd3, - 0xbe,0x4c,0x68,0xc4,0xfd,0x3f,0xc7,0x2d,0xfe,0x9f,0xce,0x89,0x45,0x30,0x1b,0x4f, - 0x33,0x07,0x2f,0x3c,0xfb,0x46,0x60,0x82,0xff,0x93,0x90,0x27,0x96,0xfc,0xaf,0xcc, - 0x8b,0xf0,0x2a,0x5b,0xc8,0xb3,0xbd,0xbc,0xf0,0x1e,0x5b,0xb4,0xc2,0x3e,0x2a,0x7e, - 0x6e,0x02,0x21,0x93,0xff,0x73,0x35,0x6a,0xea,0x2f,0x0b,0xff,0x59,0xd8,0xc6,0xcb, - 0x8e,0xf5,0x66,0xd6,0x8b,0x0f,0x6b,0x6b,0x95,0x7c,0xc8,0x7c,0x90,0x9c,0x36,0x78, - 0xfd,0x0d,0xb9,0x9a,0x3f,0x3f,0xbb,0xc6,0xff,0xb3,0x8d,0x27,0xf5,0x6b,0x94,0xb7, - 0xe0,0x7a,0x92,0xce,0xbd,0x8f,0xd6,0x67,0x9f,0x16,0x8e,0x04,0xf2,0x0d,0x59,0x23, - 0xbc,0x14,0x92,0x39,0xbf,0x97,0x4d,0xac,0x7f,0x28,0xb7,0x0f,0x1a,0x0c,0x35,0x98, - 0x91,0xef,0xe7,0xdd,0x40,0x54,0x63,0xee,0x02,0xf2,0x01,0x57,0xd2,0x5c,0xec,0xf3, - 0x54,0x17,0x73,0x3d,0xdf,0xb4,0xe4,0x7f,0x75,0xc2,0xb1,0x07,0xbb,0x82,0xf6,0xce, - 0x9c,0x62,0x76,0x36,0x58,0xa1,0xd9,0x0f,0x8a,0xf1,0xc2,0x8b,0x0d,0xa8,0xbf,0x7e, - 0xc2,0xeb,0x1d,0x25,0xde,0xf7,0xb8,0x05,0xff,0x0c,0xe2,0xf7,0xac,0x08,0xa2,0xd1, - 0xf1,0x21,0x1a,0xba,0xbe,0x26,0xde,0xed,0x4b,0xbd,0x68,0xf2,0x61,0x1a,0x77,0x4f, - 0xcc,0xb7,0xe6,0x7f,0x9d,0xe1,0xd1,0x64,0xbf,0x3d,0x2e,0x9e,0x56,0x5f,0x01,0x4f, - 0xc4,0x3e,0x4c,0x62,0xb0,0x94,0x99,0x62,0xbc,0x72,0xc2,0x1f,0x12,0xb7,0xf8,0x7f, - 0xea,0xd0,0xbe,0x76,0xbb,0x5c,0x8c,0x7c,0xc4,0xde,0xca,0xde,0xd9,0x8d,0x82,0xe5, - 0x5d,0x88,0x04,0xb2,0x78,0xd9,0xd8,0x84,0xab,0xc7,0x91,0xd2,0x1f,0x4d,0xa8,0x23, - 0x2d,0xc6,0x03,0x21,0xba,0xd9,0xf9,0xae,0x62,0xd6,0xeb,0x88,0x91,0x77,0xd5,0x5d, - 0x0a,0xce,0x8f,0xac,0x73,0x27,0xfd,0x3f,0x13,0xfb,0x87,0xe2,0x7f,0x28,0x8d,0xab, - 0x51,0xdf,0xf5,0xc1,0xe3,0xb8,0xcd,0x5d,0xbc,0xcc,0x02,0x5a,0x28,0xc6,0x8d,0x90, - 0xce,0x4b,0x03,0x25,0xf0,0x00,0x24,0x7f,0xea,0xf2,0x4e,0x98,0x65,0xf7,0x70,0xdb, - 0x9b,0xf5,0x25,0x62,0x62,0x87,0xd4,0xc9,0x5f,0x93,0xf3,0x2b,0x2e,0xb9,0x12,0xfe, - 0xae,0x64,0xfe,0xd7,0x8c,0x33,0x1c,0xe4,0x68,0xf3,0x34,0x5e,0xdf,0x0f,0xdf,0x6e, - 0x19,0x77,0x73,0x9d,0x96,0x12,0xfc,0x1f,0x53,0x7f,0x65,0x0d,0x17,0x58,0xf2,0xbf, - 0x1e,0x35,0x41,0x8e,0x81,0xf8,0xfc,0xdd,0xda,0x57,0x7e,0x54,0x5a,0x9b,0x89,0x6a, - 0xae,0xe7,0x63,0x28,0xed,0x43,0xa0,0x58,0x09,0x1f,0x41,0x69,0x21,0x22,0x6a,0x8b, - 0xff,0x87,0xfe,0x82,0xb3,0x9b,0x9e,0x95,0xf5,0x70,0x9c,0x35,0x3b,0x6d,0x11,0xdb, - 0x58,0xf6,0xe5,0xfe,0x0d,0x75,0xce,0x61,0x79,0x37,0xf9,0x05,0x1c,0x32,0x9c,0x40, - 0xb3,0xc3,0x96,0xfa,0x87,0xd2,0x49,0x01,0x3f,0x7a,0x83,0xec,0xcc,0xee,0x6b,0x8a, - 0xa8,0x10,0xe0,0x81,0x30,0x68,0xc8,0x2d,0x7c,0x51,0x16,0x48,0x26,0x0f,0x35,0x66, - 0x50,0x48,0xf7,0x0a,0x13,0xdf,0x37,0x51,0xff,0xa7,0x64,0x58,0xee,0x20,0x83,0x10, - 0x11,0x8a,0x74,0xb3,0x10,0x01,0x13,0x9c,0xbc,0xfe,0xe4,0x6e,0x30,0x5d,0x4f,0x0d, - 0x24,0x96,0x36,0xf1,0x3c,0x42,0x82,0x7f,0x3b,0xec,0xe8,0xa8,0x89,0x5f,0xdf,0xa3, - 0x38,0x3d,0xad,0x31,0x71,0x88,0xec,0x22,0xb8,0x7f,0xf6,0x08,0x6e,0xf8,0xe0,0x2c, - 0xda,0x5f,0xdb,0xc8,0xf4,0xc9,0xe7,0x6f,0x00,0x1e,0xff,0xc2,0xf3,0x15,0x17,0x87, - 0xc9,0x65,0x66,0x1e,0xab,0x31,0xe5,0x72,0xf4,0x8a,0xe1,0xe8,0x46,0xc5,0x76,0x11, - 0xaa,0x56,0x39,0xce,0x7c,0x3d,0x59,0xff,0x70,0x20,0x91,0xff,0x15,0xb4,0xff,0x42, - 0x2e,0x52,0x02,0x50,0x71,0x9f,0x59,0x78,0xf3,0x98,0xe4,0xed,0x31,0x3d,0x96,0x17, - 0x35,0x6f,0xad,0xbb,0x51,0xfe,0xde,0xa4,0xfc,0x89,0x4b,0xee,0xdc,0xc3,0x3c,0x1e, - 0xb1,0x9b,0x14,0x41,0xa4,0x1f,0xf1,0xcf,0x08,0xe7,0xff,0x2c,0xc7,0x81,0x82,0x66, - 0x4d,0x17,0x53,0x43,0xb4,0xc9,0x99,0xe4,0xff,0x18,0x13,0xfe,0xc0,0x05,0x64,0x76, - 0x53,0xa3,0xd1,0xce,0x78,0x7f,0xc6,0xf4,0x06,0xc3,0x85,0x08,0xb9,0x88,0xb7,0xe9, - 0x55,0x59,0x60,0x9f,0x7f,0x62,0x35,0x01,0xfa,0x21,0xa1,0xf4,0xe9,0x88,0xed,0x1f, - 0x61,0xfd,0x33,0xf9,0x9d,0x74,0x0d,0x79,0xc7,0xc6,0xf4,0x7c,0x95,0xd6,0x91,0x27, - 0xe8,0x7e,0xb6,0x43,0xc7,0x2b,0xc9,0xa2,0xed,0x01,0x30,0xf3,0xdf,0x0d,0xb7,0x27, - 0x27,0x8b,0x1c,0xd7,0x3d,0xa3,0x8e,0xd2,0xc6,0x8f,0xa0,0x47,0xef,0xae,0x77,0xab, - 0xa4,0x95,0x9e,0xa7,0x5d,0xcc,0xae,0x8a,0xd9,0xc9,0xfa,0xcf,0x89,0xf5,0x34,0x6e, - 0xf1,0x08,0xad,0x70,0x31,0x5a,0xc6,0x1c,0x7b,0xbe,0x3c,0x04,0x23,0xd9,0x3e,0x6d, - 0x53,0x27,0x9e,0xc7,0x8b,0xca,0x91,0xa6,0x79,0xbb,0xc4,0xe8,0xa4,0x7d,0x64,0xd6, - 0xff,0x41,0xfb,0x37,0x2b,0x96,0x33,0x90,0xf0,0xff,0xec,0x17,0x3f,0xd4,0xdf,0x07, - 0x6f,0xc3,0xa6,0x98,0xb8,0x5b,0xfb,0x14,0x70,0xa1,0x62,0x56,0xff,0x4f,0x9e,0xe9, - 0x4f,0xd6,0x4c,0x6f,0x8f,0xe9,0x6d,0x7e,0x90,0x5c,0x86,0xb5,0x90,0xdf,0x20,0xf2, - 0x42,0xb2,0xfb,0xb9,0x3d,0x55,0x4f,0xa6,0xd6,0x3f,0x2c,0xe6,0x49,0x5e,0x57,0xe0, - 0x29,0x8e,0x76,0xfe,0x89,0x5c,0x69,0xfa,0x65,0x03,0xa7,0xfd,0xa4,0xbf,0x03,0xfb, - 0x59,0x7e,0xdc,0xc5,0xf3,0xfd,0x27,0x9e,0x27,0xc0,0xeb,0xff,0x80,0xfb,0xe1,0x8c, - 0x18,0x8f,0x2f,0x13,0xf7,0x19,0x33,0xd0,0xbc,0xd9,0x50,0x07,0x96,0xf0,0xc2,0xe3, - 0x7b,0x83,0xce,0xd7,0xa8,0x9e,0x7d,0x43,0xb2,0x3e,0x55,0xa2,0x3f,0x2c,0x0f,0x72, - 0xf5,0xc1,0x33,0x30,0x2f,0xba,0x8c,0xb3,0xdf,0x2f,0xea,0xde,0x06,0x47,0x07,0x0e, - 0xf6,0xb3,0xae,0xe8,0x6a,0x5d,0xae,0x48,0xde,0x1f,0x12,0xf6,0x78,0x16,0xaa,0x21, - 0x32,0xa6,0x3d,0x62,0xf6,0xeb,0x84,0x38,0xe5,0x86,0xc6,0x4e,0x33,0x23,0x9e,0xbb, - 0x16,0x2d,0xfd,0x61,0xcd,0x7c,0xe7,0x4a,0x2d,0x93,0x6b,0xc3,0x63,0x70,0x6f,0x60, - 0x69,0x74,0xfa,0x2a,0xf3,0x20,0x3b,0xa6,0x13,0x5e,0x0a,0xd8,0xcb,0x23,0x62,0x56, - 0xfe,0x73,0x42,0xc9,0x06,0xb6,0x90,0x39,0xd0,0x13,0x57,0x43,0x8f,0xf2,0xc4,0xae, - 0x66,0x20,0xda,0x12,0x8e,0x97,0xd0,0xe2,0x08,0x05,0xda,0xc8,0xc4,0x6c,0x5e,0x0f, - 0x30,0x31,0x7f,0x6e,0x34,0xcb,0x07,0x8f,0xb2,0x0f,0x78,0x1b,0xf7,0x5e,0xd4,0xd7, - 0xa2,0x76,0x63,0x3f,0xe9,0xa0,0xb7,0xf1,0x7c,0xf9,0x33,0xd6,0xfa,0xcf,0xb9,0x09, - 0x90,0x43,0x73,0xd3,0x6f,0x85,0x47,0x35,0x57,0x10,0xed,0xd3,0xb5,0x28,0xb1,0x79, - 0xfd,0x6d,0xc2,0x4b,0x25,0xe7,0x07,0xe9,0xfd,0xb6,0x64,0xfe,0xfb,0xf2,0x0c,0xce, - 0xff,0xe1,0x65,0xf7,0x72,0x5c,0xc2,0x49,0xa1,0x88,0xb3,0x31,0x79,0xd8,0xab,0x0b, - 0x5f,0x93,0x27,0x22,0x09,0x5e,0x58,0xaa,0xc9,0x96,0xfa,0xcf,0x33,0x06,0x72,0xcd, - 0xfa,0x87,0xd1,0x2f,0xf7,0x92,0x3f,0xc2,0x42,0x5e,0xf6,0xe7,0x1b,0xca,0x67,0xb7, - 0x9b,0xf5,0x7f,0x66,0x4b,0x97,0xab,0x7d,0xda,0x32,0x6b,0xfd,0xc3,0x3c,0x33,0x5f, - 0x6c,0x31,0x47,0x3b,0xfb,0xe0,0x95,0xb4,0xf9,0x9c,0xff,0x33,0x9b,0x5d,0xce,0xf0, - 0xfa,0xef,0xef,0x6f,0x1c,0x50,0xd1,0x34,0xab,0x75,0xfc,0x4a,0x2c,0x49,0xe2,0x13, - 0xe0,0xcf,0x53,0x32,0x83,0xfb,0x7f,0xb8,0xb7,0x27,0x2f,0xc2,0x88,0x10,0xed,0x86, - 0x32,0xc5,0xac,0x87,0x83,0x57,0xa8,0x4c,0x48,0xb2,0xfe,0x73,0xc8,0x8c,0x7f,0xb9, - 0x34,0x5b,0xf4,0xe8,0x80,0xbe,0x8b,0x16,0xfa,0xa9,0x99,0xf8,0x5f,0x34,0xde,0x21, - 0xae,0xc1,0xa4,0x42,0xa5,0xdf,0x3b,0x29,0x7f,0xba,0xd3,0x3a,0xc6,0xe3,0x89,0xf7, - 0xae,0x82,0x5d,0x40,0x7a,0x80,0xd7,0xd3,0x3e,0x28,0x9a,0x6d,0xe6,0x3a,0xcc,0x8a, - 0x4c,0xf2,0x02,0x72,0xc7,0xe4,0xf7,0x6a,0x97,0xf8,0xf7,0xad,0xf8,0x6a,0x56,0x74, - 0xe5,0x4b,0xe4,0x2c,0xc4,0x96,0x17,0x46,0x73,0x0a,0xd1,0x7e,0x69,0x0f,0xa0,0x99, - 0xdc,0x4b,0x8e,0x45,0xbc,0xf8,0xbe,0x72,0xdd,0xe4,0xfe,0x39,0x9e,0xd8,0x0f,0x9c, - 0xff,0xdc,0xc1,0xcc,0x6a,0x87,0x8a,0x3c,0xa0,0x8c,0x3e,0xee,0xd3,0xe6,0x6d,0x11, - 0x07,0xa4,0x51,0x17,0xf7,0xff,0x34,0x1e,0x9a,0xbc,0xbf,0x0d,0x26,0xf1,0x8f,0x0a, - 0x67,0x6e,0x2f,0x51,0xb6,0x37,0xc8,0x2a,0xf4,0x09,0x95,0x8a,0x9d,0xd5,0xc4,0x69, - 0x9f,0x86,0xeb,0xcf,0xe4,0x24,0xff,0x87,0xe6,0xf2,0xf8,0xd7,0x3c,0x46,0xbf,0x43, - 0x6e,0xd3,0x36,0xde,0x8e,0x83,0xb3,0xc4,0x25,0x6d,0x64,0x25,0x0c,0x81,0xd0,0x08, - 0xbc,0xae,0x39,0x3b,0x51,0x95,0x27,0xf3,0x8b,0x13,0xf1,0x88,0x42,0x46,0xdd,0x44, - 0x86,0x2d,0x71,0xb7,0xb6,0xa1,0x92,0xb4,0x72,0x37,0x35,0x97,0x57,0x7d,0x14,0x55, - 0x79,0x1c,0x07,0xfe,0x49,0xfd,0x25,0x40,0x22,0xff,0x9d,0xc6,0xc3,0xb7,0xc1,0xba, - 0xac,0x62,0xcd,0x56,0x9f,0xfe,0x04,0x5b,0xaf,0x15,0x1b,0x10,0xc4,0x6d,0xf1,0xaf, - 0x5a,0x7e,0x3c,0x12,0x0c,0x07,0x92,0x78,0x9b,0x71,0x90,0x73,0xab,0x6e,0x0f,0xdc, - 0x98,0x0d,0xa7,0x1b,0x16,0x87,0x8a,0xd6,0x88,0x4f,0x84,0x5f,0x64,0x95,0x71,0xd7, - 0x9a,0x69,0x6f,0xc2,0x8b,0x09,0x44,0x74,0xd7,0xa4,0xfc,0x29,0xca,0xe5,0xf2,0x64, - 0x16,0x9b,0x07,0x5f,0x36,0x60,0x24,0xcd,0xa7,0x65,0x7a,0x0a,0x78,0x05,0x18,0x33, - 0x0c,0x34,0x88,0xf6,0xda,0x11,0xae,0xf8,0xc2,0xc9,0xfa,0xcf,0xbc,0x3f,0x2c,0xab, - 0xd2,0xb3,0x06,0x73,0x2e,0x4a,0x1f,0xb1,0x52,0x9e,0xf6,0x55,0xc5,0xcb,0x3e,0x0f, - 0x38,0xce,0x88,0x17,0x4d,0x6a,0xd0,0xcd,0x97,0x72,0x92,0xf2,0xe1,0x19,0xb3,0xdf, - 0x6b,0x31,0x77,0x82,0x5d,0x84,0x70,0x4c,0xbd,0x53,0xfe,0x8c,0x64,0xb1,0x86,0x0e, - 0xfd,0xe4,0xac,0xe5,0xbc,0x51,0x2c,0xaf,0xff,0xfc,0xa5,0x0d,0x45,0x49,0xff,0x5e, - 0x82,0x2f,0x1d,0xb6,0x05,0xd1,0xc8,0xda,0x0d,0xb3,0x83,0x2d,0xc3,0xc4,0xbe,0x6e, - 0x5d,0x7e,0xb1,0x71,0x27,0xcf,0x77,0x7b,0x96,0x27,0x6e,0x3c,0xe4,0x94,0xac,0xf5, - 0x0f,0xb9,0xfc,0x89,0x52,0x5e,0xe6,0x2e,0xcc,0x0a,0x43,0x66,0x20,0x3e,0xa2,0x15, - 0x1a,0x4b,0xca,0x71,0x3d,0xf7,0x86,0x54,0x5e,0x91,0x43,0x99,0xac,0x7f,0x68,0xca, - 0x4f,0xc9,0xc7,0x6c,0xbc,0x3a,0xc1,0x07,0x81,0xfd,0x6b,0x1c,0x31,0xb9,0x12,0x4e, - 0x28,0x65,0xc6,0xb2,0x58,0xe3,0x20,0x1c,0xd6,0xba,0x0c,0xf9,0x39,0xd1,0x36,0x59, - 0xff,0x90,0x25,0xf4,0x51,0xd8,0xc1,0x69,0xa8,0x97,0x68,0x05,0xe7,0x87,0x0f,0x09, - 0x23,0xa4,0xc2,0xc8,0xea,0x12,0x07,0xa9,0x49,0x94,0x8a,0x4e,0x1b,0x4a,0xf6,0x87, - 0x4d,0xe8,0x3b,0x96,0x85,0x66,0x69,0xa2,0x3f,0x5a,0x1c,0x81,0xed,0xab,0x88,0xf7, - 0xec,0x17,0x11,0x21,0xec,0x81,0xad,0xa1,0x59,0x9f,0x6c,0x55,0x27,0xeb,0x1f,0xf6, - 0x48,0x6e,0x5e,0x6d,0x8f,0xc9,0x1b,0xc9,0x0b,0x2c,0xf2,0x6e,0x49,0x61,0x96,0x4e, - 0xdc,0x34,0x12,0x20,0x9c,0x91,0x82,0xcf,0xf3,0x7b,0x67,0xfc,0x46,0x46,0xf2,0xad, - 0xfd,0x61,0xa5,0xc3,0x52,0x09,0x5b,0xd2,0x99,0xfd,0x01,0x6c,0x60,0x25,0x9a,0x6d, - 0x0f,0xd9,0x4d,0x5b,0xa6,0xa7,0x27,0xe6,0x77,0x37,0x14,0xf5,0xc9,0x9c,0xb1,0x3c, - 0x89,0x7f,0x24,0x3b,0xf7,0xc6,0x33,0x59,0x25,0x83,0xe1,0x70,0xbe,0x3b,0x68,0x53, - 0xc8,0xa3,0x90,0x31,0xd7,0x0c,0x14,0xf6,0xf1,0x0a,0xe4,0x9a,0x0c,0x36,0xc2,0x26, - 0x37,0x28,0x20,0x88,0xd2,0x10,0x06,0x23,0xfe,0x61,0x7d,0x2e,0x5f,0x34,0x2b,0x26, - 0x3e,0x07,0x47,0xd5,0x32,0xc3,0xdd,0xd5,0xc8,0x89,0x2b,0xe6,0x0a,0xa8,0x4f,0x4d, - 0x3e,0xcf,0x8f,0xc6,0xe0,0xaa,0x8b,0xe7,0x37,0x89,0x67,0xd5,0x61,0x5a,0x05,0x1b, - 0x87,0xc5,0xef,0xd0,0x11,0x57,0xd5,0x51,0xdc,0x3f,0x1c,0x11,0x2d,0xd4,0x36,0x19, - 0x29,0xf5,0x7f,0x46,0xa2,0x63,0xae,0xf9,0xbc,0x7f,0x5c,0x39,0x1b,0x73,0x56,0x09, - 0x4b,0x7b,0xc5,0x61,0xfd,0x72,0xc8,0x8c,0x9f,0x8e,0xfb,0x7f,0x86,0x53,0xf8,0x3f, - 0xef,0x43,0xb7,0xe1,0x55,0x5c,0xdb,0xc9,0x5c,0xe8,0x8e,0x96,0x78,0xe8,0x7a,0xf2, - 0x7b,0x38,0x18,0x2c,0x8a,0x27,0xea,0xff,0xb0,0x12,0xde,0xff,0xdd,0x93,0xb4,0x7f, - 0xd3,0x8e,0xe5,0xc6,0xd2,0x0b,0xa7,0xd7,0xe5,0x42,0x06,0x20,0x22,0x41,0x8c,0x48, - 0x0c,0x38,0xa8,0x8e,0x33,0xa0,0xc6,0xfd,0x1b,0xde,0x14,0xff,0x4f,0x37,0x75,0x8a, - 0x34,0xea,0x77,0xb9,0x51,0x10,0x91,0x0c,0xf6,0x6e,0x5c,0x3d,0x48,0x8b,0x8c,0x96, - 0x58,0xf6,0xa4,0xff,0xc4,0x52,0xff,0x47,0x39,0x08,0x57,0xb4,0x03,0xd1,0xa5,0x71, - 0xf9,0x36,0xb8,0x42,0xaa,0xa2,0xc5,0x03,0xe2,0xa8,0x74,0xd5,0xef,0x4d,0x30,0xc4, - 0x4c,0x3c,0x5c,0x61,0xa9,0xff,0x70,0x16,0xa5,0xa7,0x99,0x04,0xa7,0xe2,0x6a,0x70, - 0xc5,0x97,0xa5,0x8f,0x03,0xc5,0x44,0x3d,0x04,0x3e,0x18,0xcd,0xb1,0xf6,0xbf,0xd8, - 0x05,0xc7,0x83,0xde,0xcd,0x4b,0xf5,0x2f,0xcf,0x55,0xfe,0x49,0xf1,0x46,0xed,0x1d, - 0x8d,0x73,0xa5,0x4b,0x1a,0x87,0x9d,0x39,0xe3,0xf7,0xd7,0xad,0xfd,0x61,0x25,0x17, - 0x0b,0x33,0xa7,0x4e,0xf5,0x9a,0x6f,0x4b,0x87,0xfb,0x55,0x16,0xe9,0x08,0x17,0x25, - 0xf8,0xf0,0x08,0xe4,0x24,0xf3,0xf9,0x75,0xf2,0xb9,0xc5,0xff,0x73,0xb7,0xda,0x10, - 0x77,0xae,0x09,0x28,0xe4,0x1e,0x29,0xc6,0x40,0xa3,0x33,0x51,0x7a,0x77,0x07,0xdc, - 0x13,0xeb,0xe3,0x4e,0xad,0xff,0xbc,0x52,0xc8,0x12,0xd6,0x46,0x77,0x84,0x02,0xcb, - 0xb3,0xbf,0xa6,0xed,0x0b,0xe7,0xaf,0xa2,0x7f,0x43,0xae,0x83,0x7d,0x11,0xd3,0x0d, - 0x32,0xe9,0xff,0x19,0x9b,0x9c,0xcf,0xfd,0x3f,0x3d,0x8a,0xc7,0x6f,0x57,0xe4,0xa5, - 0xa1,0x4f,0x20,0x56,0xeb,0x9e,0x2e,0x4b,0xfa,0x30,0x54,0xf6,0x3a,0x3c,0x13,0xfe, - 0x1f,0x10,0x5f,0xb3,0xf6,0xbf,0xf0,0x7f,0xa6,0x54,0xd5,0xce,0x3b,0x23,0x8e,0x69, - 0x97,0x95,0xc5,0xa8,0x7d,0x0a,0x2e,0xd0,0x91,0x68,0x62,0x7d,0xa4,0xab,0x3c,0x3f, - 0xae,0xc7,0xd2,0xff,0x82,0xf3,0x7f,0x78,0xd8,0x71,0xa9,0x2e,0xbb,0xe1,0x68,0xa2, - 0xda,0x8f,0x9b,0xfb,0x27,0x2d,0xeb,0x8f,0xf8,0x27,0x99,0xff,0x32,0x9d,0x57,0x3b, - 0xc7,0xdd,0x1e,0xf2,0xdb,0x61,0x1d,0x31,0xb7,0xbd,0x9d,0x86,0xc7,0x3b,0x62,0x4c, - 0xd8,0x8f,0x5e,0x4b,0xfd,0x81,0x27,0xe0,0x31,0x66,0x16,0x35,0xe2,0xfc,0x1f,0xb3, - 0x10,0xe2,0xac,0x8c,0x75,0x89,0xb2,0xcf,0xef,0x98,0xa5,0x00,0xe4,0x3c,0x0b,0xfe, - 0xe1,0xfd,0x61,0xb7,0xb2,0x76,0x83,0xce,0x43,0x6b,0xab,0x71,0x0b,0x4a,0xef,0xdb, - 0x48,0x96,0x10,0x66,0xaa,0x65,0x3d,0xaf,0x23,0x37,0xa4,0xf8,0x7f,0xde,0xdc,0xd1, - 0xd5,0xe9,0x1e,0x10,0xeb,0x78,0x7e,0x53,0xa7,0x5b,0x97,0x8b,0xc2,0xa7,0x74,0x5e, - 0xf6,0xd9,0x24,0x86,0xe1,0xd1,0x1b,0x48,0xe9,0x7f,0x71,0xd6,0xcc,0xfe,0x76,0x68, - 0x22,0xe3,0x6d,0x2f,0x12,0x44,0xa0,0xb1,0x84,0x19,0x3e,0x49,0x0d,0x4a,0xe9,0x7f, - 0x01,0xbf,0x02,0xb3,0x9a,0x0d,0xc7,0x3f,0xa6,0x23,0x48,0x82,0x1e,0xd5,0x6b,0x76, - 0x40,0x48,0x98,0xba,0xdb,0x2c,0xf8,0x47,0x87,0x2f,0x86,0x9a,0x35,0x27,0xea,0x6b, - 0xf1,0x9b,0xd0,0x1c,0x6f,0x0f,0xd1,0xed,0xe1,0x39,0x09,0xb5,0x9b,0xc8,0xc8,0xe6, - 0xa5,0x81,0x2c,0xf8,0xa7,0x5c,0x2a,0x14,0xff,0x25,0xaf,0x40,0xa3,0xfd,0xa4,0x90, - 0x3d,0xaa,0x16,0x04,0xe8,0x6b,0xb6,0x05,0xec,0x51,0x6a,0x9d,0xbf,0xd9,0x5a,0xff, - 0x07,0xd2,0x60,0xad,0x90,0x1f,0xbc,0x2b,0x38,0xe7,0x76,0x0e,0x3b,0x35,0x7a,0x1f, - 0x49,0x78,0x84,0xc6,0xeb,0xff,0xb8,0x35,0x39,0x3b,0x4c,0x92,0xf9,0xef,0x94,0x67, - 0x1b,0x75,0x81,0xdd,0xe0,0x6a,0x37,0x51,0xf6,0x59,0xe5,0x85,0xbb,0x2c,0xef,0x1b, - 0xb6,0xe2,0x9f,0x9b,0xde,0xe3,0x4d,0xde,0x83,0x8e,0xdc,0x1a,0xee,0x08,0x32,0x61, - 0xcf,0x7b,0x13,0x6d,0xdf,0xc7,0xdf,0xf7,0xb5,0xad,0x49,0xfc,0xb3,0x2d,0xed,0x73, - 0xf6,0x4a,0x47,0x69,0x9d,0xfd,0x4d,0xb1,0x0c,0x5e,0xe9,0xc4,0xc1,0xdb,0x9c,0xff, - 0xb3,0xad,0x54,0x5b,0x9a,0x08,0x0c,0xe1,0x7c,0xde,0xff,0x22,0xe9,0xff,0x41,0x90, - 0xa3,0x39,0x29,0xda,0xa7,0xf9,0x64,0x83,0xe6,0x04,0x57,0x13,0x0e,0x22,0x9a,0x73, - 0x3c,0xff,0x3d,0xe1,0xff,0x49,0x4f,0xae,0x50,0xda,0x8b,0x7a,0x43,0xb5,0xca,0xf9, - 0x3f,0x69,0x7a,0x03,0xe8,0x41,0x9a,0x4d,0x24,0x48,0x78,0x84,0xc6,0xdf,0x77,0xc9, - 0x75,0xfe,0x64,0xff,0x8b,0x84,0xff,0x87,0xa3,0x9d,0xec,0x42,0x73,0xd9,0x23,0x88, - 0x7f,0x72,0x13,0x57,0x26,0xd6,0xb3,0xcd,0x9a,0xff,0x95,0xdb,0x81,0x18,0xc9,0xa4, - 0x75,0x2d,0x80,0x63,0x26,0x9b,0x5d,0xe6,0x1f,0x7a,0xa2,0xfe,0x8f,0xf9,0x7d,0x2d, - 0xfd,0x2f,0x22,0xd0,0xe1,0xe1,0x78,0x18,0x41,0xd1,0x00,0x3c,0x48,0x2b,0x79,0x35, - 0x80,0x5e,0xf8,0x44,0xb2,0xae,0xcf,0x4c,0xf1,0xa2,0xd5,0xff,0x43,0xcf,0xa8,0x5e, - 0xc9,0xc4,0x3f,0x7d,0xc1,0xae,0x04,0x11,0xa8,0x4f,0xf5,0x5a,0xd6,0x3f,0xa5,0xff, - 0x45,0x53,0x05,0x6c,0x64,0x05,0x3a,0xea,0x77,0x17,0x6c,0xe4,0xd1,0xc0,0x41,0x3e, - 0x30,0x6e,0xe5,0x6e,0x9f,0x41,0x38,0x44,0x50,0xb5,0x0d,0x26,0xcb,0xed,0x80,0x2b, - 0x6d,0x35,0x44,0xfb,0x55,0x9d,0xaa,0x59,0x6e,0x68,0xd4,0xd4,0xf8,0xb6,0x99,0x24, - 0x0b,0x1a,0x98,0xca,0x92,0xe7,0x65,0x71,0xb6,0xa5,0xff,0x85,0x30,0x9d,0xfb,0x6f, - 0x79,0x91,0xc3,0x99,0xdc,0x91,0xd2,0x4f,0xeb,0xc3,0x37,0x41,0x13,0x9d,0xcd,0x92, - 0xe7,0xd7,0x93,0x52,0xff,0xc7,0x07,0xaf,0xb3,0x98,0xee,0xae,0xcb,0x5e,0x18,0x7e, - 0x81,0x79,0xe2,0x68,0x91,0x64,0xa1,0x6a,0x9d,0xaf,0x8f,0xd7,0xff,0x31,0xfd,0x3f, - 0xb6,0x49,0xf9,0x43,0x6f,0xea,0x20,0x23,0x02,0x0a,0x0d,0x75,0x42,0x7a,0x70,0xb7, - 0xcf,0x95,0x84,0x23,0xe8,0xcf,0xf9,0x7f,0xd2,0xae,0xd0,0xb1,0x86,0x2a,0xdd,0x3d, - 0x88,0xda,0xea,0x55,0x4e,0xe4,0xe0,0x6e,0x9f,0xcb,0xbc,0x63,0xec,0xa4,0xfe,0x1a, - 0x91,0xf3,0x2c,0xf1,0xaf,0x36,0xd8,0xc7,0xeb,0x6f,0xac,0x08,0x8f,0x69,0xeb,0xf9, - 0x8b,0x18,0xf8,0x22,0xcf,0x51,0xd3,0x23,0x9d,0xa8,0xff,0x23,0x0f,0x93,0x24,0xfe, - 0xd9,0x06,0x7c,0x7e,0x31,0xbb,0x21,0x64,0xda,0x6b,0xb3,0x35,0xaa,0xe1,0xfc,0x67, - 0x21,0x9f,0x65,0x58,0xe4,0x95,0x94,0xec,0x7f,0x91,0xdb,0xab,0xf0,0x6c,0x26,0x5b, - 0x91,0x7f,0x08,0x05,0x5d,0xa1,0xe6,0xe2,0x69,0x17,0x87,0x41,0x65,0x19,0x49,0x79, - 0x6e,0x4b,0xe2,0x9f,0xf2,0x19,0xbb,0x61,0x98,0xf8,0x7a,0xb2,0x76,0x8b,0x43,0x26, - 0xdb,0x19,0xf7,0x8f,0x5d,0x1a,0xf5,0x77,0xb1,0xe2,0xc9,0xf7,0xd5,0xe5,0x2c,0x0b, - 0xfe,0xe9,0xe5,0x1f,0xbd,0x3f,0x4d,0xcd,0x31,0xe3,0x5f,0x89,0xb4,0xaf,0x11,0x8e, - 0x70,0x26,0xe7,0xab,0x72,0xb2,0xfe,0x73,0x83,0x32,0x06,0x27,0xa5,0xd2,0xb8,0x3d, - 0x8e,0xfb,0xf3,0x55,0xee,0xd6,0xe8,0x17,0x1f,0x66,0xaf,0xd2,0x52,0x96,0xd4,0x77, - 0x86,0xa5,0xfe,0x4f,0x4f,0xd3,0xff,0xd8,0x10,0x89,0xef,0xe8,0x47,0xb4,0x5c,0x06, - 0x8d,0x86,0x33,0x2e,0x47,0x36,0x94,0xc0,0x99,0x08,0x1a,0xe6,0xb1,0x89,0xf8,0x45, - 0x33,0x29,0xb4,0xe0,0x9f,0x12,0x1a,0x69,0x70,0x9e,0xc1,0xf9,0x6e,0xd6,0x12,0x71, - 0xf2,0x6e,0x29,0x6e,0x68,0x66,0x4e,0xcb,0xfc,0xd8,0x94,0xfa,0x3f,0x9c,0xed,0xe3, - 0x52,0x89,0xc9,0x76,0x36,0x64,0xe0,0x81,0x0f,0x5c,0x9f,0x1b,0x2d,0xeb,0x93,0xc4, - 0x3f,0x8c,0xae,0xa2,0x7d,0x92,0xd7,0x08,0xf0,0x68,0xa0,0xc9,0x6f,0xe1,0x82,0x14, - 0x05,0x91,0x75,0x3f,0xc8,0xea,0xba,0x49,0xff,0xcf,0x4d,0x17,0x12,0x4d,0xa8,0xe3, - 0xe2,0x05,0xb8,0xc0,0xc3,0x3a,0xdc,0xed,0x33,0xc6,0xdb,0x18,0x4d,0xbe,0xef,0xb0, - 0x38,0xe8,0x9f,0x90,0x27,0x00,0xa4,0xd1,0x33,0xde,0x7d,0x6f,0x3d,0x1f,0x7c,0x77, - 0x62,0xa0,0xd9,0x66,0x1e,0xfd,0xff,0x6d,0x3f,0xc4,0x69,0x1e,0x1c,0x7c,0x77,0x62, - 0xa0,0x99,0x6d,0xf8,0xfe,0xcc,0xfd,0x59,0xc2,0x12,0x04,0xda,0xe8,0x9d,0x3a,0x98, - 0xf8,0x95,0xf5,0xe7,0xff,0xbd,0x7e,0x88,0xa2,0x67,0xea,0xe0,0xcf,0xfd,0xfc,0x47, - 0x6d,0x10,0xc1,0x32,0xf8,0x4b,0xd6,0x7f,0xc5,0xc4,0x20,0xff,0x2f,0x5b,0xff,0x15, - 0x13,0x83,0xfc,0xff,0xb4,0x1f,0xa2,0x96,0xda,0x06,0xd1,0xbc,0xc2,0xff,0xa1,0x6b, - 0xee,0x3f,0xd3,0xb8,0xf6,0x1f,0x5a,0xef,0xc1,0xc1,0x77,0xf1,0x57,0x7f,0x66,0xfd, - 0x95,0x94,0x85,0x44,0x81,0x40,0xf3,0xfc,0x92,0x79,0x36,0xe8,0x94,0xef,0x9b,0x98, - 0xa4,0xa4,0x2c,0x7b,0x13,0x0e,0xf2,0xb4,0x26,0x7e,0x25,0x65,0xff,0x24,0xfb,0x21, - 0xda,0xad,0xff,0x28,0x3e,0x36,0xe0,0xf3,0x9b,0x1f,0xa2,0x14,0xec,0x3d,0xff,0xa7, - 0x1f,0xe2,0x7f,0x91,0xfe,0x83,0xff,0xf5,0xe6,0x93,0x26,0x65,0x07,0x75,0xf9,0x33, - 0x38,0x01,0xe8,0x2f,0xeb,0x4f,0xea,0xc2,0x43,0x57,0x0d,0x0a,0xfb,0x4b,0xe5,0xa1, - 0x94,0x4f,0xa9,0x5f,0x50,0xb4,0xff,0x48,0x1e,0x3a,0xa7,0xdc,0x3f,0x57,0xa0,0xff, - 0x0b,0xf2,0x36,0x21,0xf4,0x88,0x13,0x22,0x93,0x82,0xf1,0x9a,0x41,0xca,0xfb,0x9a, - 0xe7,0x49,0xa0,0x76,0xff,0x5f,0x2a,0x0f,0xf1,0xf0,0x48,0x84,0xd8,0xd9,0x5f,0x2a, - 0x0f,0xf1,0xef,0x25,0x22,0x68,0x6c,0xea,0x4a,0xff,0xf9,0x1f,0xd2,0x24,0xed,0x40, - 0xdc,0x60,0x5d,0xf6,0xf5,0x9e,0xd4,0xf5,0x4f,0x91,0x27,0x1e,0x73,0x11,0xfc,0xff, - 0x0b,0xeb,0xcf,0x17,0xb9,0x3a,0xfd,0x3f,0x5e,0xff,0x29,0xf2,0x50,0x92,0x50,0x7a, - 0x3c,0x04,0x33,0xd9,0xb5,0xf2,0xf0,0x3f,0xec,0x0f,0x9b,0xa7,0x09,0x7f,0xa9,0xbe, - 0xf3,0x9a,0x2b,0x2a,0x64,0xfc,0xa5,0xeb,0xaf,0x30,0xbb,0x4a,0xe9,0x5f,0xba,0xfe, - 0x5c,0x1e,0x4a,0x53,0xbf,0xe0,0x35,0x3f,0xd6,0xfe,0xb0,0x1e,0x48,0x3a,0x8b,0xff, - 0xe7,0x3f,0x95,0x95,0xf8,0x0f,0xb0,0xa9,0x4b,0x3c,0xf5,0xc7,0x2a,0x0f,0xc5,0x9e, - 0xc6,0x1e,0xf6,0x97,0xff,0x03,0xb8,0x21,0x74,0xab,0x3b,0xe8,0x7f,0xfa,0x93,0xeb, - 0x92,0x5c,0xff,0x99,0xbe,0x9d,0xfa,0xf3,0x5f,0x4d,0xfe,0xfc,0x17,0x9b,0xbf,0xb6, - 0x5a,0xa8,0xd7,0xde,0x56,0x16,0x42,0x66,0x03,0x31,0x07,0xb9,0x99,0x2f,0xa6,0x3f, - 0x58,0x7b,0x7f,0x70,0x61,0xee,0x4d,0x2f,0x4e,0x7b,0x50,0xbb,0x3f,0xf8,0x57,0xd2, - 0x0c,0x63,0xfe,0xe4,0xfc,0xdb,0x6b,0xd3,0x1e,0x14,0xee,0xd7,0xfe,0x5a,0x81,0xde, - 0xb4,0x07,0xd3,0xf8,0x60,0x46,0xef,0x8c,0x07,0x1b,0xee,0x0f,0xe1,0xe0,0xa4,0x90, - 0xf8,0x15,0xce,0x9f,0xc0,0xc3,0xd0,0x43,0x04,0x95,0x05,0xd4,0x6c,0x2a,0x85,0x27, - 0x06,0xe9,0x38,0xd0,0xd4,0xec,0x3c,0x69,0x23,0xbf,0x12,0xc2,0x2b,0x93,0xe1,0x65, - 0x1e,0xc0,0x13,0x42,0xb0,0x1c,0xae,0x83,0x1f,0x31,0x3e,0x10,0xae,0x53,0xd2,0x58, - 0xda,0x0a,0x21,0x4f,0xbb,0x8e,0xce,0x60,0xc2,0x8a,0x86,0xe5,0xf0,0x55,0x48,0x63, - 0xaa,0x36,0x31,0xbf,0x77,0xb9,0x54,0x26,0xdc,0xcd,0xbe,0x5c,0x2d,0xf5,0xa5,0x3d, - 0x24,0xdc,0xcf,0xfe,0xda,0x35,0xe3,0xb8,0x60,0x0e,0xd4,0x34,0xf3,0x8a,0xfe,0xd7, - 0x6a,0xae,0xe5,0x79,0x7a,0x35,0x4d,0x55,0x28,0xca,0x2b,0x3c,0x4c,0x21,0xc8,0x83, - 0x74,0x10,0x26,0x07,0xe1,0xc9,0x2b,0xf9,0x93,0xcf,0xf3,0x62,0x40,0x5a,0x29,0xe4, - 0xb1,0x3b,0x54,0x68,0x96,0x9c,0x02,0x35,0xfc,0xaa,0x12,0x41,0x2b,0x91,0x32,0xff, - 0x02,0x68,0xc0,0x73,0x4d,0xc1,0xaf,0x28,0x2c,0xb9,0x3e,0x2f,0xde,0x95,0x76,0x6f, - 0xc3,0x7d,0xfa,0x57,0x5c,0x52,0x20,0xcd,0xdf,0x10,0x8c,0xdd,0xe7,0x9a,0x61,0x43, - 0xd9,0x18,0xd4,0x6b,0x5d,0x69,0xe9,0x69,0x38,0x50,0x73,0xed,0x33,0xb4,0xe4,0xf3, - 0xb0,0x99,0xc2,0x5f,0xc3,0x57,0x8c,0x19,0x41,0x69,0xa9,0x39,0x98,0x5e,0x9f,0x76, - 0xbf,0xf0,0x65,0x76,0x9f,0x31,0xc3,0x83,0x03,0x11,0x70,0x50,0x9e,0x34,0xbf,0x70, - 0xbe,0x5a,0x1b,0x00,0xde,0xe3,0x09,0x85,0x8d,0x26,0x29,0x21,0x01,0x45,0xa0,0x52, - 0xc3,0xc5,0x98,0x22,0xd8,0x11,0x73,0xa1,0x98,0x54,0x94,0x9e,0xe4,0xfc,0x17,0x43, - 0x68,0xad,0x86,0xd1,0xfe,0xc8,0x53,0xcd,0x01,0x1a,0x82,0xea,0xf8,0x15,0xea,0x4a, - 0x1f,0x1f,0x54,0x27,0x9f,0xe7,0xc5,0x60,0xda,0x2a,0xe1,0x6f,0xe0,0x3a,0x6d,0x06, - 0x4b,0x5b,0x05,0x7c,0xf0,0x95,0x68,0x1a,0xf7,0x91,0x7c,0x15,0x66,0x44,0xd3,0x54, - 0xe1,0x0c,0xfc,0x23,0xcc,0xb0,0xbc,0xef,0x5a,0x6d,0x1a,0xff,0x6d,0x19,0x8c,0x17, - 0x6e,0xf9,0x47,0x3e,0x58,0x29,0x2c,0x4f,0x5c,0x59,0x09,0xcb,0xd9,0x75,0x29,0xf3, - 0x6f,0xf7,0x4b,0x9e,0x06,0xbb,0x5a,0x43,0x69,0x78,0x7c,0xa0,0x1c,0x9d,0x1c,0xc0, - 0xf8,0xc0,0x98,0x3e,0xf9,0x3c,0x02,0x97,0x58,0x76,0x10,0xb9,0xf0,0x1b,0x1f,0x18, - 0x53,0x06,0xaa,0x66,0xd9,0xd4,0x8c,0x08,0x1e,0xb6,0x54,0xcd,0xa1,0xd2,0x51,0x73, - 0xf0,0x65,0x73,0x60,0x98,0x57,0x5e,0x10,0x3c,0x3d,0x4b,0x3d,0x5f,0x76,0xe7,0x1a, - 0x96,0xf5,0xf1,0x0b,0xa1,0x86,0xe5,0xea,0x57,0x69,0x5a,0x38,0x2d,0x31,0x98,0x81, - 0x83,0x9e,0x3c,0x3e,0x68,0x14,0xd4,0x9e,0xe5,0x9e,0xaf,0xda,0x67,0x58,0x9e,0xe7, - 0x45,0x3f,0x5f,0x30,0x5c,0x42,0x21,0x3c,0x3e,0x30,0x97,0xd0,0x8e,0x03,0x2d,0x2c, - 0xf1,0x81,0x48,0x05,0xeb,0xfb,0x12,0x08,0x35,0xe4,0xa9,0x77,0x04,0x60,0x8b,0x14, - 0x6a,0xb8,0x5e,0xbd,0x83,0x4e,0x0f,0x4b,0xab,0xf0,0x35,0xef,0x08,0x4c,0xdf,0x22, - 0xa9,0xfc,0x7d,0x03,0x8a,0x75,0xbf,0x85,0x84,0xe5,0xc2,0x57,0xe1,0x2b,0x2c,0x2d, - 0x24,0xe1,0xee,0xc7,0xb5,0x9b,0x11,0x4a,0x5b,0x2e,0xdc,0x81,0x57,0xa6,0x87,0xd2, - 0x28,0xdc,0x01,0xd3,0x99,0x64,0xd9,0x3f,0xc6,0x1d,0x69,0x5f,0x62,0xf7,0x85,0x66, - 0x6c,0x13,0xd2,0xa1,0x9a,0x05,0x43,0xb9,0x79,0x69,0xe9,0x42,0x35,0x53,0x26,0x06, - 0xe6,0x15,0x48,0x9e,0x97,0x06,0x92,0x78,0x6c,0x0d,0xb2,0xf1,0x08,0x54,0x27,0xce, - 0x82,0x84,0xe7,0x51,0x09,0x48,0xfc,0x0a,0x1f,0xe4,0x82,0x9a,0x3c,0x2f,0x77,0x90, - 0xe9,0xac,0x29,0x94,0xaf,0xc0,0x1d,0xe2,0x74,0x76,0x3a,0x74,0x6b,0x5e,0xe6,0x1d, - 0xe2,0x97,0xc6,0x07,0xd3,0xc6,0x07,0xda,0xfc,0xc9,0xfb,0xaf,0xbd,0x23,0xc3,0x94, - 0x06,0x79,0xb3,0x5f,0x4a,0x9b,0x8f,0x83,0x2f,0xe6,0xcd,0x78,0x49,0x7a,0x30,0xfc, - 0x36,0x5e,0x99,0xfe,0x52,0xda,0x83,0x0d,0x6f,0x87,0xfe,0x47,0xde,0x0c,0x23,0x99, - 0xff,0x72,0xfb,0x1d,0xe2,0x83,0xec,0xed,0xd0,0x42,0x9c,0xc6,0x07,0x2b,0x16,0xe6, - 0x65,0xbe,0x34,0xed,0xc1,0x86,0x99,0x78,0x45,0x78,0x89,0x3c,0x98,0xb8,0x83,0x31, - 0xdd,0x32,0x5f,0x30,0xef,0xbf,0x1c,0xf8,0xdd,0xee,0x5f,0xf1,0xd7,0xf8,0x87,0x38, - 0xb0,0xe3,0xfd,0xd3,0x5e,0x82,0xf9,0x38,0x10,0xf3,0xa6,0x1b,0xc2,0xe4,0xf3,0xe3, - 0x0e,0x52,0x81,0x9f,0x98,0xb4,0x84,0xfc,0x51,0x12,0x82,0xe8,0x7e,0x53,0x22,0x01, - 0x1f,0xfc,0x15,0xca,0x9f,0xe4,0xfd,0x21,0x5d,0x58,0xc1,0x96,0x87,0xd2,0xf3,0x6e, - 0x5f,0x67,0x0e,0xae,0xcb,0x4b,0xc3,0x41,0xd3,0xf8,0x20,0x9f,0x2d,0x5f,0x71,0x5d, - 0x9e,0xc4,0x92,0xd3,0x6f,0xd7,0xd2,0x3c,0xf9,0x4b,0xe9,0x97,0xa1,0x89,0xa5,0xd5, - 0x0b,0xf7,0xc3,0x5f,0x43,0xae,0x21,0xd4,0x03,0x1f,0xe0,0x6b,0x7a,0xcc,0x2b,0xd3, - 0x2d,0xfb,0xe7,0x76,0x3f,0x53,0x75,0xea,0x22,0x36,0x54,0xe3,0x21,0x3c,0x94,0xe6, - 0x11,0x4c,0x0c,0x84,0x30,0xda,0x47,0xe6,0xc0,0xf2,0x3c,0xb7,0xfb,0x9b,0x42,0x3b, - 0x70,0xff,0xd8,0x00,0x77,0x57,0x03,0x55,0xfd,0xb8,0x7f,0xb8,0xdb,0x00,0x07,0x4a, - 0x18,0x77,0x94,0x39,0xb0,0xce,0xaf,0x99,0x1d,0xec,0xb9,0xcf,0xf3,0x15,0xee,0x10, - 0xd4,0x1a,0x82,0xea,0x7d,0xf6,0x19,0xfe,0xc4,0x80,0xce,0x10,0xd3,0x82,0x89,0x01, - 0x24,0x9f,0x07,0x44,0x21,0x68,0xdc,0xe7,0x99,0x41,0xa5,0x1a,0x3e,0x50,0x67,0xd8, - 0xd3,0x6a,0x12,0x57,0xec,0x69,0xfe,0xf1,0x5f,0xa5,0x4d,0x7e,0x5d,0x04,0x1c,0x9a, - 0xa6,0x29,0x0a,0x62,0x26,0x05,0x25,0x9f,0xa4,0x34,0x20,0x04,0xa3,0x09,0x74,0xa6, - 0xa2,0x20,0xc2,0x01,0x0a,0x45,0xcb,0x6a,0xc2,0xed,0x77,0x01,0x61,0x4c,0x57,0xef, - 0x34,0xc2,0x04,0x18,0x53,0x55,0x17,0x62,0x1b,0x73,0x80,0x40,0x26,0x9d,0x0f,0x80, - 0x52,0xcb,0xf3,0xe0,0x7a,0xe2,0x09,0x80,0xeb,0x44,0x14,0xfb,0x7c,0xc0,0xa5,0xbd, - 0x10,0x22,0xdb,0x70,0x70,0x3d,0xbf,0x92,0x90,0x3f,0xc9,0x7f,0x61,0xad,0x96,0xd0, - 0x17,0x38,0x5f,0x9c,0x10,0x44,0x39,0x21,0xe9,0x7e,0x98,0x83,0x03,0xfc,0xf4,0xf7, - 0xc3,0x34,0xc8,0xb5,0x7c,0x2f,0x18,0x97,0x27,0x02,0x63,0x92,0x47,0xb0,0x03,0x8a, - 0x4e,0x03,0x07,0x79,0xe6,0x40,0xe1,0xf4,0xaf,0x3b,0x40,0xb1,0xce,0x97,0x12,0xf3, - 0x35,0x94,0x3f,0xf3,0xc1,0xae,0xe1,0xe0,0x34,0x2c,0x80,0x0c,0x7e,0xe5,0xb4,0x56, - 0xc8,0xb3,0xfd,0xf9,0xaf,0x92,0x3f,0xd3,0x84,0xf9,0xda,0xd2,0x60,0x4e,0x34,0xf7, - 0x45,0x61,0xbe,0xb1,0x54,0xcb,0xc9,0x95,0x70,0x70,0x3b,0x5e,0xc9,0x95,0x7a,0x85, - 0xfc,0xea,0xa5,0xc1,0x2f,0x2b,0xd6,0xfd,0x03,0xb7,0xa4,0xd5,0xf5,0xfc,0xad,0xe7, - 0xab,0x11,0x69,0x67,0xda,0xb7,0x70,0x70,0x6f,0xeb,0x8c,0xa7,0x13,0x57,0x70,0x20, - 0x8c,0x0f,0xac,0xf3,0x69,0x02,0xe8,0x6b,0x09,0x30,0x18,0x24,0x21,0xd8,0x0c,0xe3, - 0x8f,0xb1,0x59,0xfa,0x33,0xcf,0x03,0xab,0x42,0xd3,0xf3,0xa4,0x3b,0x04,0x88,0xd4, - 0x72,0x45,0xe6,0x17,0xa6,0x47,0xa4,0x95,0xd3,0xf3,0x9a,0xee,0xc8,0x9f,0xce,0x6a, - 0x27,0x06,0xd6,0xf9,0xb7,0x07,0xa7,0xdf,0x27,0x7d,0x45,0x90,0x20,0x8d,0x0f,0x6e, - 0x17,0xbe,0xa2,0xdd,0x8e,0x4a,0x4b,0xfa,0x0a,0xcc,0xc0,0x81,0x72,0x9f,0x34,0x43, - 0x98,0x61,0xd9,0x0f,0xdc,0xbf,0x80,0x92,0x4f,0xc1,0xbd,0x99,0xef,0xa7,0xc1,0x70, - 0xae,0x9a,0x16,0x10,0x70,0xc0,0x70,0x40,0x57,0xdc,0x9b,0x17,0xdc,0x90,0xab,0xae, - 0xb5,0xde,0xde,0x26,0x11,0x5e,0x17,0xc9,0x25,0xd9,0x04,0xc2,0x34,0x5d,0xb9,0x76, - 0xe0,0xce,0xb5,0xce,0xb7,0xa7,0xe7,0x08,0x4d,0xc6,0x0a,0xcf,0xf5,0x4b,0xc5,0x2f, - 0xc3,0x69,0xe3,0x56,0x4f,0xc6,0xc4,0x20,0x73,0x29,0x2a,0x01,0x73,0x60,0x7d,0x9e, - 0x8c,0xb4,0x87,0xaa,0xef,0x8f,0xfe,0xb5,0x7a,0x53,0x9f,0x84,0xda,0x3f,0xf2,0xd7, - 0xea,0x0c,0x84,0x01,0xf0,0x36,0xfb,0x22,0x0e,0xee,0x78,0x48,0x78,0x9b,0xfd,0xfd, - 0x9c,0x19,0x86,0x65,0xbe,0xfc,0xb7,0xfe,0xd7,0xa3,0xcf,0x76,0x14,0x67,0x7c,0xe1, - 0x2e,0x1c,0xec,0xeb,0x28,0xbe,0x53,0xbe,0xf7,0xae,0xfe,0x2d,0xcf,0x16,0xfe,0x3c, - 0x43,0xf6,0xdf,0x75,0xda,0x1c,0x58,0x9f,0x67,0xd1,0xd5,0x7b,0xae,0xfe,0xfa,0xf9, - 0x0b,0x1f,0x8e,0x56,0xfd,0x10,0x07,0x07,0x2e,0x7c,0x3c,0xba,0xe8,0xca,0xb2,0xdf, - 0x6d,0xbd,0x3a,0x70,0x79,0x74,0xd1,0x23,0xcb,0xae,0x9a,0x03,0xf8,0xdf,0xf8,0xf1, - 0x3d,0x9e,0x31,0xc7,0x7f,0x67,0x74,0xcb,0xaa,0xd9,0xa3,0x8e,0xa7,0x6a,0xae,0x46, - 0xb7,0xfc,0xb3,0xef,0x5f,0xef,0xfc,0xe1,0x6b,0x77,0x5e,0x78,0xec,0x72,0xd5,0xd5, - 0x3b,0x6f,0xe1,0x83,0x01,0xeb,0xfc,0xaa,0x47,0xee,0xf9,0xdd,0xd6,0x03,0x03,0x1f, - 0x4e,0x3c,0xc6,0x87,0x97,0x27,0x1e,0x0c,0xe7,0xdf,0xf3,0x3b,0xf3,0x09,0xad,0xf3, - 0xff,0xef,0xf6,0xce,0x2f,0xb6,0xa9,0x2a,0x8e,0xe3,0xbf,0xdb,0x9e,0x96,0x96,0xb5, - 0xe3,0x5e,0xe8,0xa0,0xe0,0xb2,0x74,0xeb,0xd8,0xa6,0x12,0x73,0xc1,0x8d,0x3f,0xc1, - 0xb0,0xb3,0xb5,0xdd,0xca,0xe4,0x4f,0x27,0xa0,0x40,0x8c,0xe9,0x90,0xa8,0xf1,0x69, - 0xc3,0x17,0x13,0x03,0xdc,0x42,0x21,0xc4,0x40,0xb2,0xcc,0xa9,0xd3,0x4c,0x1d,0x89, - 0x1a,0x62,0x40,0x63,0x8c,0xc6,0xc4,0x98,0x5c,0x88,0x08,0x84,0x87,0x2d,0x06,0x12, - 0xa3,0x89,0x40,0xdc,0x8b,0x09,0x09,0x7b,0x20,0x31,0x3e,0xcc,0xf9,0xfb,0x9d,0x7b, - 0xdb,0x9e,0x62,0x84,0x88,0xdc,0x17,0x73,0xbe,0x4f,0xdf,0x9d,0x9d,0xfe,0x76,0x7a, - 0xfa,0xbb,0xbf,0xfb,0xf9,0xdd,0xdb,0x76,0xc9,0x03,0xd9,0x6b,0x23,0x6b,0xa6,0x8f, - 0x0f,0xac,0xa7,0x07,0x7e,0x3e,0x7d,0x02,0x97,0xbd,0xe5,0x97,0x45,0x14,0x21,0x19, - 0x27,0x53,0xbc,0x39,0x20,0xcf,0xd7,0x0e,0x0d,0x66,0xea,0xf5,0xd6,0xba,0x7e,0xbb, - 0x69,0x90,0x8f,0x43,0x6b,0x2c,0x7c,0x1e,0x41,0x71,0x5c,0x6f,0x65,0xda,0x79,0xdf, - 0x90,0x8d,0xa6,0x5e,0x93,0xf7,0x93,0x1d,0x19,0x02,0xc1,0x87,0xc5,0x23,0x2e,0x0d, - 0x7e,0xe7,0x12,0x63,0xc0,0x31,0x29,0x3d,0x20,0xcf,0xf7,0x3b,0x58,0x18,0x65,0x87, - 0x0a,0x2e,0x1f,0x5a,0x58,0x66,0x85,0x39,0x2a,0x0c,0xd5,0xe7,0xaa,0x1d,0xca,0xe3, - 0x41,0x1a,0xd4,0x0b,0x2e,0xb6,0xc5,0x4b,0xd8,0x16,0x77,0x40,0xce,0x17,0xd4,0xbb, - 0xe4,0xf9,0xa1,0xf4,0x3e,0xfa,0xa7,0x0e,0x35,0x70,0x6c,0xef,0x2a,0xad,0xbe,0xd8, - 0x9b,0x30,0x2e,0x32,0x34,0x56,0x6f,0xb3,0x71,0x19,0x33,0x04,0x4d,0xc2,0xa8,0x5a, - 0x3f,0xe4,0xf5,0xd0,0x51,0x5f,0x80,0x4e,0x85,0x10,0xd7,0x89,0x06,0x39,0xd2,0x53, - 0x15,0x28,0xca,0xf1,0x23,0xac,0x89,0xbe,0xcb,0x69,0x10,0x8e,0x23,0x28,0x22,0x16, - 0xe6,0xf5,0x31,0xf6,0x02,0x99,0x41,0x7d,0x9c,0x35,0x6b,0x61,0xab,0x9b,0x57,0xd5, - 0x93,0x47,0x59,0x9f,0xb5,0xf8,0x54,0xe6,0x53,0x78,0x84,0xed,0x2e,0x2c,0x9c,0x48, - 0x9f,0x32,0xd0,0x9c,0x75,0x4d,0x9f,0x33,0x22,0xad,0xde,0x8e,0xc2,0x22,0x88,0xfd, - 0x18,0x78,0x57,0xdf,0x44,0x66,0x0a,0xda,0xb5,0x4d,0xb0,0x0d,0x98,0x1d,0x30,0xd1, - 0xf4,0xc3,0x62,0x3b,0x00,0x1a,0xaf,0x3c,0x00,0x5b,0x55,0x3d,0x81,0x34,0xd8,0x0f, - 0x74,0xcf,0x01,0xdb,0x36,0xea,0x54,0xd3,0xf8,0xac,0x58,0x4e,0x18,0x03,0x10,0x2b, - 0xca,0xb7,0xaf,0x31,0xbe,0x68,0x57,0x87,0x13,0xe0,0x5c,0x29,0xd0,0x13,0x4c,0x34, - 0x98,0x45,0x71,0x87,0x80,0x2a,0x35,0x24,0x12,0x50,0x35,0x9f,0xe5,0xb5,0x31,0x2c, - 0x92,0x71,0xaa,0xf8,0x71,0x2c,0xfd,0xc8,0x23,0x79,0x51,0x36,0xd7,0x55,0x4c,0x79, - 0xbe,0xae,0x81,0x8f,0x36,0xad,0xc5,0xf9,0xc4,0xe7,0x18,0x9a,0xf0,0x1d,0xa6,0x15, - 0xe8,0x8c,0xe6,0x8a,0x13,0x1f,0x5a,0x04,0x45,0x50,0xc5,0x87,0xcc,0x31,0xab,0x08, - 0x9c,0xda,0xac,0xca,0xf9,0x94,0x63,0x67,0x4e,0x65,0xfc,0x4e,0x3e,0x64,0x15,0x3e, - 0xf4,0xd1,0x5d,0xee,0xd2,0x0e,0x71,0xfc,0xd1,0x14,0x90,0x06,0xe7,0x24,0x53,0xac, - 0x1a,0xc1,0x13,0x81,0xbc,0x1e,0xc1,0x6f,0x21,0x38,0xec,0x1a,0x83,0x4e,0xbb,0x3b, - 0x4b,0x06,0x47,0x30,0x1f,0x2a,0xeb,0xd1,0xba,0x65,0x2c,0xfc,0x07,0x53,0xc9,0x87, - 0x1c,0xb8,0xf1,0x23,0xd5,0xf1,0x23,0x52,0xfc,0x90,0x94,0x6f,0x3c,0xc3,0xf1,0x85, - 0x8c,0x41,0x86,0x88,0xdf,0x31,0x06,0x67,0x83,0x25,0xe3,0x8c,0x68,0xdd,0x7a,0x69, - 0x3d,0x59,0x4e,0x58,0x58,0x9f,0x9f,0x17,0x47,0x3e,0xec,0x47,0x2c,0x64,0x55,0xa6, - 0xcb,0x31,0x50,0xe6,0xb1,0x2c,0x11,0x37,0x65,0xbe,0xb8,0x04,0x4c,0x8d,0x3f,0xf2, - 0x21,0x08,0x2c,0x24,0x50,0xc4,0xc6,0xcd,0xd4,0x43,0xd2,0xd5,0x10,0x9e,0x79,0x1a, - 0x69,0x90,0xe5,0x1b,0x73,0xb0,0x18,0x41,0xf1,0xaa,0xc0,0x42,0x5f,0x19,0x14,0x87, - 0xac,0x2b,0xbc,0x23,0x1e,0xe0,0x12,0xcf,0xf7,0xb0,0xa1,0xc3,0x3b,0x11,0xea,0x0c, - 0xc4,0x42,0xc4,0x3c,0xc7,0x58,0xf5,0xd2,0xc8,0xce,0x75,0x76,0x25,0xbe,0xd6,0xe3, - 0x1b,0xb2,0xc6,0xf3,0xad,0x88,0x85,0x41,0x9a,0xf6,0x62,0x3c,0x4c,0x58,0x48,0x23, - 0x64,0xc4,0xaf,0x58,0x65,0x7e,0x2e,0xd3,0x13,0x70,0xf8,0x93,0x1f,0x9d,0x37,0x64, - 0x3d,0x4b,0xb4,0xf9,0xbd,0xd3,0x9f,0x3a,0xa0,0x48,0xe8,0xc8,0xce,0x55,0x5e,0x2f, - 0xa0,0x7b,0xa3,0xc8,0x87,0x69,0x36,0x8c,0xcf,0x6e,0xa3,0x53,0x7f,0x9a,0xa9,0xfe, - 0x64,0xd9,0x88,0x53,0x9a,0xb2,0x4c,0xda,0x7f,0xcc,0xdb,0x01,0x2b,0x9e,0x0f,0x8e, - 0x19,0x1f,0xa3,0x59,0x86,0xa0,0xa8,0x1d,0x85,0x81,0x42,0xdc,0x35,0x56,0x7c,0x40, - 0x14,0xa2,0xb2,0x32,0x79,0xf6,0xaa,0x56,0x0b,0x29,0x0b,0x26,0xac,0xb5,0x5a,0x03, - 0xf8,0x2d,0xfd,0x3a,0x23,0xd3,0x6b,0x19,0x65,0x23,0xe5,0xb3,0xf6,0x14,0x7d,0x45, - 0x4e,0x9b,0x2f,0x0b,0x6f,0x58,0x09,0x6b,0xa9,0x29,0xd2,0xa6,0x99,0xb0,0x30,0xab, - 0x8d,0x38,0xa0,0x98,0x95,0xf3,0x41,0xeb,0x66,0x89,0x93,0x22,0x3f,0x5f,0xb7,0x90, - 0x06,0x27,0x82,0x4e,0xda,0xb8,0x7c,0x98,0x70,0xf9,0xb0,0xea,0xf8,0xe2,0x85,0xd8, - 0xaa,0x0c,0x1e,0x8e,0x90,0x2b,0xe8,0x66,0x20,0x62,0xa4,0x58,0x0e,0x8f,0xfb,0x74, - 0xc8,0x20,0x3e,0x14,0x06,0xa4,0xfd,0xc1,0x96,0xf2,0x62,0x0c,0xa7,0xc1,0x93,0x60, - 0xda,0xb1,0x09,0x2d,0xa2,0xa5,0x00,0xcf,0xee,0x38,0x42,0xc6,0x16,0x86,0x57,0x8e, - 0x17,0x2c,0x1f,0x66,0x8c,0xf8,0x10,0xbd,0x0f,0x2b,0x8e,0x56,0xbe,0x7a,0x97,0x90, - 0x8d,0xb4,0x9e,0xa6,0x85,0xc4,0x87,0x11,0xcb,0xdf,0x84,0xc7,0x45,0x53,0x63,0x5b, - 0x68,0xbe,0xcb,0x87,0x65,0x63,0x49,0xeb,0xd1,0x20,0x24,0x8a,0x0c,0x66,0x69,0xd1, - 0xa9,0x36,0xe5,0xfa,0x43,0x26,0x80,0xf5,0xd9,0xb7,0x4b,0xde,0x1f,0xf0,0xed,0x85, - 0xa5,0xd0,0xd2,0x35,0x35,0x7c,0x28,0x0f,0xef,0x40,0x0b,0xdf,0x38,0x5c,0xaa,0x3f, - 0xc3,0x41,0x61,0x7c,0x61,0xab,0x7c,0x49,0x8c,0x67,0xf2,0xa3,0x6b,0x81,0x5e,0xaf, - 0x63,0x13,0xc5,0xb5,0x5a,0x6d,0x38,0xe5,0xbc,0x5e,0x34,0xa2,0x5f,0x0f,0x0a,0x53, - 0x90,0xfa,0xd3,0x1c,0x3e,0xd1,0x75,0xb9,0xda,0x41,0xff,0x5b,0xf0,0x11,0xbd,0xfb, - 0x41,0xf7,0x33,0xb8,0x51,0x32,0x67,0x4b,0x46,0xaa,0x3f,0x8c,0x41,0x07,0x8f,0xe6, - 0xfc,0xbb,0xad,0x2b,0xb0,0x92,0x47,0xe9,0x9f,0xd6,0x5f,0x25,0xb0,0xcc,0xf9,0x63, - 0x64,0xb8,0x30,0x95,0xf7,0x87,0xf3,0x4c,0x8a,0x61,0x37,0x6a,0xf6,0x00,0xd5,0x07, - 0x32,0x11,0xa3,0xda,0x60,0xe9,0x30,0xe4,0xfa,0xc3,0x21,0x89,0x55,0xda,0x2d,0xe1, - 0x58,0xcb,0xe9,0x8a,0xb0,0x7b,0xd5,0xd0,0x31,0xa2,0x54,0x56,0xf6,0x27,0x9b,0x76, - 0xf9,0xd0,0xda,0xbb,0x47,0x18,0x09,0x0b,0x85,0x49,0xc9,0x7c,0x88,0xf5,0x27,0xbd, - 0xbd,0xbf,0x2e,0x98,0x49,0x41,0x6c,0x7b,0xce,0x88,0x21,0x1f,0x1a,0x3c,0x2d,0x0c, - 0xd6,0x1f,0x20,0xd3,0x85,0x46,0xca,0x1f,0x4a,0x40,0xaa,0x7c,0x05,0xaa,0x7c,0xfa, - 0xa1,0x40,0x42,0xcb,0x62,0x8e,0x53,0x6e,0x62,0xe3,0xe0,0x1a,0x90,0x84,0x10,0x88, - 0x7c,0x08,0x2b,0xf4,0x12,0x16,0xd2,0x48,0xd1,0xe1,0x43,0x70,0x41,0x11,0x34,0xbd, - 0xbc,0x9e,0xcd,0xfe,0x6d,0x5d,0xc5,0xa9,0xc6,0xd5,0xb0,0xd9,0xb7,0x88,0x5f,0x99, - 0x6a,0x6c,0x0f,0x6d,0xf6,0x6d,0x43,0xd3,0xd1,0x1e,0x75,0x46,0x3a,0xda,0x23,0xd2, - 0x7a,0xf0,0xf9,0xee,0xeb,0xaa,0x1f,0xee,0x6d,0x32,0x2e,0x35,0xef,0xc1,0xb3,0xff, - 0xe1,0x84,0x71,0x29,0xe0,0x62,0xc0,0x45,0x97,0x07,0x62,0x52,0x7f,0x0a,0x02,0x0b, - 0x89,0x0f,0x6b,0xfa,0xfa,0x64,0x3e,0xfc,0xb0,0xc4,0x87,0x7b,0xab,0xf9,0x50,0xd0, - 0x17,0xf1,0xe1,0xfa,0x83,0x5b,0x65,0x3e,0xbc,0xfd,0x80,0xf8,0x50,0x60,0xe1,0x6f, - 0xc3,0x73,0xb3,0x9d,0x7f,0x38,0xa0,0xb8,0xbf,0xf9,0x03,0xc2,0xc2,0xe1,0xb7,0x67, - 0x97,0xcf,0xb9,0x46,0x9e,0x2f,0xfe,0xfa,0xef,0xd3,0x38,0xff,0x4f,0x07,0x14,0x67, - 0xd7,0x1f,0x24,0x2c,0x9c,0xbe,0x35,0xbb,0x7e,0xce,0x35,0x55,0xf3,0x1b,0x5c,0x3e, - 0x4c,0x36,0x6c,0xb9,0x36,0xb2,0x12,0xf9,0x30,0x79,0x60,0xcb,0x05,0x41,0x98,0x49, - 0x81,0x9a,0xc5,0x5b,0xff,0x61,0xfd,0x26,0x24,0x34,0x7a,0x7b,0xaa,0x09,0xa9,0xc8, - 0xfd,0x47,0x51,0x52,0x52,0x52,0x52,0x52,0x52,0x52,0x52,0x52,0x52,0xfa,0xbf,0x4b, - 0xf4,0x0e,0x4c,0xf5,0x0e,0x4a,0x4a,0x4a,0x4a,0x4a,0x4a,0x4a,0x4a,0x4a,0x4a,0x4a, - 0x77,0x97,0xe8,0x1d,0x82,0xaa,0x77,0x50,0x52,0x52,0x52,0x52,0x52,0x52,0x52,0x52, - 0x52,0x52,0xba,0xbb,0x44,0xef,0x10,0x12,0xbd,0x03,0xfe,0x14,0x58,0xfb,0xdc,0x2e, - 0xde,0xb9,0xe1,0xb5,0x5d,0x1e,0xfd,0xb5,0xb6,0x0b,0xb0,0x82,0x27,0xd3,0x10,0xb3, - 0xbd,0x89,0xcf,0xe6,0xbf,0xf4,0x8e,0x55,0x53,0xf7,0x4d,0xd6,0x9b,0xf0,0xd0,0x39, - 0x49,0xeb,0xe7,0xd0,0x69,0x7b,0x13,0x9f,0x25,0x46,0x4f,0xda,0xcb,0xae,0x9c,0x38, - 0xe6,0x4d,0x78,0x30,0x27,0xcd,0x9b,0x3c,0x39,0x68,0x9b,0xb6,0x37,0xf1,0xa3,0x6b, - 0xf6,0x1f,0xb1,0xeb,0x3f,0x7b,0x7e,0xab,0x37,0xe1,0x71,0xff,0x9d,0xf5,0x7b,0xb5, - 0xff,0x91,0xd6,0x71,0x0b,0x9e,0x58,0x32,0xe1,0xdd,0xfe,0x2f,0xc0,0xfc,0xd9,0x0a, - 0x5e,0xed,0x7f,0x6d,0xcb,0xd7,0x33,0xf0,0xd0,0x8e,0x2f,0x37,0x7a,0x13,0x1e,0xf7, - 0xdf,0x59,0xbf,0x67,0xf9,0xff,0x58,0xdd,0x27,0xbc,0xe6,0x95,0xd1,0x7b,0x7d,0xe6, - 0xff,0x7e,0x65,0x4e,0x76,0x62,0xfe,0x1c,0xf4,0x2e,0xff,0x75,0x6d,0x35,0x2c,0x0f, - 0x3f,0xec,0x5d,0xfe,0x3b,0xeb,0xf7,0x6a,0xff,0xa3,0x8d,0xe9,0x1e,0x58,0x75,0xbb, - 0xc5,0xab,0xfc,0x31,0xe7,0x6c,0xaa,0x9f,0xe6,0x8c,0xed,0x4d,0x7c,0x16,0x1a,0x7a, - 0xd3,0x5e,0xfd,0xc5,0xa8,0x67,0xf5,0xdf,0x5d,0xff,0xdf,0xbf,0x99,0xe0,0xc1,0x88, - 0x25,0x47,0xcf,0xd8,0xc9,0x25,0x23,0x9e,0xd5,0x9f,0xb9,0x19,0xaa,0x9f,0x33,0x5e, - 0xed,0xff,0x82,0x0d,0xbf,0xde,0xb2,0x3b,0x7e,0x7a,0x66,0xd2,0x9b,0xf0,0xb8,0xff, - 0xce,0xfa,0x3d,0xdb,0xff,0x0d,0xc7,0xdf,0xb7,0x1e,0x5f,0x72,0x3a,0x7c,0xef,0xa9, - 0xf7,0x25,0x73,0x6e,0x92,0xea,0xa7,0x67,0xf9,0x1f,0x6c,0x38,0xf3,0xb2,0xd5,0xf2, - 0xed,0xcf,0x69,0x6f,0xc2,0xe3,0xfe,0x3b,0xeb,0xf7,0x6c,0xff,0x97,0xef,0xf8,0x0a, - 0x12,0x75,0xef,0x79,0x57,0x7f,0xe6,0xa8,0x7e,0x7a,0x97,0xff,0xcb,0x02,0x8d,0x7c, - 0xc3,0xe9,0xe8,0x65,0x6f,0xc2,0xd3,0x97,0x9c,0x88,0xf5,0x7b,0xb3,0xff,0xa6,0xf8, - 0x46,0x8a,0x1b,0x3f,0x98,0x60,0xd1,0x67,0x44,0xfc,0x26,0xf0,0x7f,0x7d,0x3f,0xc1, - 0x7d,0x6c,0xc0,0x84,0x09,0x4d,0x8a,0xb9,0xfb,0xce,0x79,0x7f,0x01,0xf4,0xb7,0xc1, - 0xde,0xf0,0x33,0x01,0x00, + 0x1f,0x8b,0x08,0x08,0x7a,0x8e,0xc6,0x43,0x00,0x03,0x68,0x68,0x34,0x30,0x35,0x5f, + 0x31,0x5f,0x30,0x36,0x2e,0x62,0x69,0x74,0x00,0xec,0xfd,0x7f,0x7c,0x14,0x55,0x9a, + 0x2f,0x8e,0x3f,0x75,0xaa,0x12,0x4e,0xba,0x3a,0xe9,0x22,0x09,0x4e,0x54,0xc4,0x4a, + 0x27,0x30,0x4d,0xec,0x84,0xa6,0x83,0x21,0x42,0x48,0x2a,0x9d,0xe8,0x44,0x40,0xe9, + 0x71,0xdc,0x59,0x76,0xae,0x77,0xb6,0x65,0x98,0xbd,0x99,0xb9,0xe8,0x46,0xc7,0xbb, + 0x97,0xf1,0xce,0x8f,0x93,0x4e,0x80,0x4e,0x82,0xd0,0x20,0x33,0x46,0x87,0x71,0x9b, + 0x10,0x35,0x2a,0x33,0xdb,0x04,0x94,0xf0,0x63,0xb0,0x12,0xa3,0x36,0x10,0x20,0x32, + 0xdc,0x19,0x54,0x46,0x1b,0x8c,0x4c,0xd4,0xe8,0x04,0x44,0x4d,0xf8,0xf9,0x7d,0x4e, + 0x75,0xa7,0xbb,0x1a,0x77,0xf7,0xce,0xfd,0xdc,0xd7,0xf7,0xf3,0xda,0xd7,0xeb,0x73, + 0xb3,0x7f,0xec,0x99,0xea,0x43,0x59,0x75,0xea,0x9c,0xe7,0x79,0x3f,0xbf,0xde,0x0f, + 0x64,0xd8,0x46,0x63,0xff,0x07,0x20,0xdc,0x0f,0xb6,0xfa,0xfa,0x39,0xae,0x5b,0xff, + 0x7e,0xf6,0xdf,0xbb,0xca,0x4a,0x1e,0xfc,0xde,0x72,0x58,0x06,0xb2,0xfb,0x47,0xb7, + 0xba,0xbe,0xff,0xc8,0x43,0xb3,0xe7,0xcc,0x81,0xef,0xe1,0xff,0x72,0xb9,0xca,0x66, + 0xb9,0x66,0xcf,0x9a,0xed,0x86,0xe5,0x90,0x31,0xbb,0x7c,0xde,0xec,0x39,0xf3,0x4a, + 0x6f,0x85,0xef,0x83,0x50,0xda,0x79,0x15,0xff,0x5e,0x78,0xf2,0x6f,0xfe,0xc1,0x05, + 0x4c,0x00,0x80,0x49,0x2e,0xc1,0xc7,0xff,0xbf,0xec,0x12,0x54,0x01,0x58,0x55,0xb1, + 0x0b,0x74,0xfe,0xbf,0x21,0xfe,0x7b,0x86,0x0b,0x54,0xf3,0xff,0x16,0x5c,0xa0,0x81, + 0x17,0xb4,0xb5,0x6a,0x36,0xfc,0x15,0x7f,0x92,0xc4,0x26,0x86,0x7f,0xd5,0x7c,0x48, + 0xcc,0xbf,0x7a,0x90,0xfd,0x9b,0x93,0x92,0x7f,0x55,0xe7,0x42,0xf1,0x91,0x4a,0x5c, + 0xff,0xeb,0xe9,0x42,0x2d,0x4c,0xdc,0xf5,0xbd,0xb7,0xff,0x9a,0xfb,0xcf,0xff,0x62, + 0xe2,0xfe,0xff,0xbb,0xf3,0x41,0xf9,0x2b,0xa6,0xe3,0xfb,0x4e,0x0c,0xde,0x53,0x04, + 0x1f,0xe4,0xc1,0x75,0x90,0xc6,0x80,0x0f,0xd2,0x41,0xf8,0x57,0x06,0xf3,0xfb,0x27, + 0xe6,0xeb,0x8d,0xfb,0xe0,0x08,0x2b,0x55,0xad,0x11,0xd1,0x0d,0xef,0xe5,0x57,0x45, + 0x96,0x9c,0xcb,0xd9,0xd7,0x7c,0xf5,0x7b,0x73,0x23,0xb6,0x73,0x62,0x39,0x3b,0x09, + 0x3f,0x1a,0xb5,0x8e,0xe5,0x8c,0x4a,0x0d,0x13,0xf3,0xe9,0x08,0x6d,0x65,0xee,0x7c, + 0x1a,0x90,0xed,0x70,0x48,0x29,0x19,0x92,0x1b,0x49,0xd1,0xd2,0x3d,0xd9,0x25,0x47, + 0x6c,0xfb,0x48,0x97,0x16,0x90,0xca,0x22,0x96,0x1e,0x31,0x2c,0x4d,0xac,0x62,0x44, + 0x5a,0xbb,0xa5,0x55,0x98,0xa1,0x65,0x30,0xbb,0x0f,0x1e,0x17,0x9c,0xda,0x8d,0x2e, + 0xb2,0x56,0xda,0xa1,0x3a,0x41,0xce,0x25,0x54,0xd9,0x20,0x86,0x74,0xea,0x22,0xe7, + 0x84,0xc4,0xfd,0xa5,0x6d,0xe9,0xad,0xcc,0xae,0x65,0x04,0x48,0x3e,0x6b,0xcb,0x2b, + 0xd1,0x64,0xd6,0xba,0x0d,0xf6,0x92,0x12,0x62,0x09,0xf6,0x75,0x41,0x06,0xfb,0x07, + 0xdd,0x12,0xf6,0x8c,0x4a,0xbe,0xf8,0xfc,0xea,0x29,0x2b,0x20,0xd2,0x38,0x67,0x4e, + 0x71,0xab,0x28,0xc2,0xdb,0x5a,0xa5,0xbe,0x64,0x8e,0xfc,0x5b,0xed,0x62,0xb0,0x64, + 0xb0,0x26,0x5c,0x9a,0x05,0xdf,0x09,0xd9,0x7b,0xad,0xe1,0x82,0x41,0x98,0xb8,0x7f, + 0x48,0xd8,0x0c,0x97,0x68,0x15,0xcb,0xd2,0x73,0xba,0xe1,0x8a,0x50,0xa5,0x2f,0x89, + 0x36,0xd5,0xc3,0x05,0xa8,0xd4,0xd7,0x87,0x0b,0x46,0xd8,0x85,0x8c,0xaa,0xb3,0xb6, + 0x51,0xb1,0x0b,0x26,0xee,0xdf,0xaf,0x6c,0x83,0x71,0xbf,0xdb,0x63,0x63,0xe2,0x29, + 0x38,0xa8,0xb9,0xf5,0x69,0x3b,0x73,0xb6,0xd1,0x43,0xe0,0xde,0x60,0xdd,0x29,0x3a, + 0xe1,0x10,0x2b,0xd3,0x97,0x84,0x6b,0x46,0x41,0x8d,0xcf,0x3f,0x91,0x56,0x21,0x6c, + 0xd7,0xec,0x63,0x8b,0x24,0x32,0xcc,0x5a,0xc1,0x1d,0x99,0xda,0x49,0x9c,0xd0,0x26, + 0xd9,0x19,0x2d,0xc7,0xc1,0x3b,0x7e,0xbb,0x2e,0x87,0xc9,0x17,0xb8,0xfb,0x27,0xde, + 0x77,0xb1,0xb5,0x5b,0xdb,0x16,0x92,0x67,0xa4,0xbf,0xaa,0x36,0x0a,0x85,0xa1,0x0c, + 0x17,0x59,0x0d,0x1b,0x24,0x9f,0x6e,0x71,0x10,0x02,0xcf,0xd7,0xe2,0x7c,0x17,0x19, + 0xc3,0xb3,0x12,0xfb,0x1b,0x85,0xef,0xb2,0x97,0x59,0xf1,0x29,0xd9,0x97,0x7e,0x4c, + 0x12,0x98,0x1a,0xa5,0x27,0x48,0xb6,0xba,0x69,0x63,0x7e,0xd4,0x52,0x8f,0x83,0x5d, + 0x41,0x21,0x2a,0xaf,0xd4,0xae,0x24,0xee,0x5f,0x07,0x8b,0xb5,0x6e,0xa8,0x60,0xb6, + 0x7c,0x51,0xef,0xeb,0x85,0x39,0x8a,0x1c,0x16,0x9b,0xc9,0x9b,0x10,0xd6,0x4a,0x94, + 0x36,0x20,0xef,0x87,0x82,0xba,0xcd,0x25,0x1e,0x23,0x13,0xfb,0x41,0xbb,0x69,0xdf, + 0xd0,0x17,0x50,0xaa,0xdb,0xb6,0x88,0x83,0xda,0x65,0xe5,0x95,0xda,0x59,0x1b,0xc4, + 0xf3,0xf0,0x3c,0x54,0xd5,0x66,0x0e,0x0a,0xe7,0x16,0x1f,0x82,0xf9,0xfd,0xeb,0xc3, + 0xe2,0x60,0xfa,0xc4,0xfa,0x50,0x69,0x1b,0xf4,0x41,0xf7,0x54,0x1b,0x2b,0x50,0xe1, + 0x22,0x71,0x33,0x67,0x38,0xc7,0x09,0x17,0xc1,0xad,0x5b,0x43,0xe2,0xc8,0xe4,0xcf, + 0x04,0x1c,0x84,0xc5,0x8f,0x94,0x89,0xf5,0x8f,0xe4,0x6d,0x66,0xab,0xe1,0xd6,0x81, + 0x2c,0x8d,0x04,0x95,0x1d,0xe9,0x2a,0xff,0xfa,0x79,0xb0,0x1f,0x1c,0x3a,0xf5,0x91, + 0x93,0xf0,0x12,0xb9,0x55,0xa7,0x0d,0xe4,0x5c,0xe2,0xfb,0xaa,0x30,0x0d,0x1e,0x63, + 0xf9,0x2e,0x39,0x42,0x1e,0xa7,0xcf,0xb1,0xfc,0x10,0x5d,0x49,0x9e,0x86,0x57,0x58, + 0x7e,0x14,0x07,0xef,0xc2,0xef,0x9a,0xbf,0x7e,0x9a,0xae,0xcc,0x8e,0x26,0xd6,0xbf, + 0x5e,0x5a,0x0b,0x4d,0x9a,0x53,0xb7,0xe4,0x2d,0x4b,0x63,0x3b,0x74,0x5c,0x9f,0x72, + 0x92,0xa5,0xed,0x08,0x3a,0x86,0xe8,0x6d,0xf0,0xa9,0xb6,0x7d,0xe3,0x0c,0x1f,0xfe, + 0x17,0x8f,0x25,0xf6,0xe7,0xf0,0x94,0x7a,0xfa,0x3a,0xb8,0x99,0x6d,0x79,0xd3,0x1e, + 0xeb,0x47,0x1d,0xdd,0x5d,0xd6,0x17,0xe4,0x2e,0xdc,0x0f,0x6e,0xd6,0x15,0x12,0x87, + 0xe1,0x0a,0xcc,0x60,0xce,0x50,0xc1,0x85,0xc4,0xf3,0xd4,0x55,0x87,0xc8,0x98,0x5a, + 0xa6,0xd8,0x98,0xff,0x14,0x8c,0x41,0x25,0xe0,0xc6,0x88,0xc2,0xa8,0x50,0x81,0x83, + 0x9c,0x51,0x35,0x76,0xa5,0xe6,0x18,0x4c,0xdc,0x9f,0x2a,0xcf,0x06,0x0e,0x40,0x91, + 0x36,0x29,0x98,0xf3,0x0c,0x6c,0xa7,0x2e,0xcd,0xaa,0x88,0x85,0x30,0x0e,0x6e,0xcd, + 0x1a,0x14,0x87,0xf2,0x7a,0x83,0xc6,0xa0,0x2f,0xf1,0x3c,0x4c,0xfa,0x07,0x68,0xd1, + 0x7e,0x78,0x42,0xde,0x44,0x9e,0x81,0xdd,0x60,0xd7,0xe8,0x26,0x9c,0xbf,0x1b,0x88, + 0x46,0xdb,0xed,0x1f,0x40,0x8b,0x5e,0xa4,0xd1,0x20,0x89,0x26,0xc4,0x42,0x79,0x9a, + 0x04,0x2d,0xaf,0xe3,0x26,0x09,0x6a,0xcb,0xa5,0x27,0xe1,0x96,0x5a,0x3a,0xe8,0x9f, + 0xa3,0xfd,0x0e,0x44,0x6d,0xe6,0x31,0x72,0x3e,0xd4,0xa2,0xd9,0xb5,0xfa,0xa0,0xfd, + 0xf5,0xc4,0x7e,0x50,0x73,0x25,0xad,0x05,0x1c,0xda,0x8d,0x0a,0xe9,0x87,0x5b,0xb5, + 0x7c,0x8d,0xde,0x4b,0x72,0xe1,0x25,0x2d,0xdf,0x4b,0xbd,0xe4,0x7f,0x42,0xa3,0xe6, + 0xf0,0x52,0x85,0xf4,0x4d,0x9e,0xd8,0x0f,0x2b,0xad,0x42,0x47,0x44,0xb0,0x83,0x2d, + 0x54,0x33,0x0c,0x4b,0xa1,0x1b,0x9c,0x4c,0x56,0xf1,0xc5,0xbb,0x21,0x93,0x89,0xa3, + 0x24,0x22,0xb9,0xf1,0x8a,0x78,0x44,0x9c,0xd8,0x9f,0xed,0x69,0x43,0xec,0xa7,0x50, + 0xa9,0x2d,0x69,0xc8,0xd9,0x09,0xbb,0x3d,0x95,0x5e,0xdb,0x26,0xf9,0x19,0x18,0xd7, + 0xf8,0x40,0xfc,0x00,0xae,0xd6,0xfe,0x4e,0xb3,0x05,0xc5,0x33,0xe9,0x13,0xfb,0x21, + 0x6f,0xca,0xe7,0xec,0x28,0xae,0x86,0x6d,0x50,0xcc,0x85,0x71,0x5f,0xa9,0x66,0x1d, + 0x6c,0xda,0xe9,0x38,0x30,0x7b,0xde,0x3d,0xeb,0x8f,0x89,0x73,0xd8,0x61,0xcd,0x5d, + 0x6b,0xf5,0x8a,0xe9,0x89,0xf3,0x5b,0xae,0x9c,0x62,0x01,0xb0,0x83,0xcc,0xec,0x21, + 0x29,0x90,0x66,0x57,0xa8,0xbf,0x49,0x85,0x80,0xd6,0xd1,0xee,0x58,0x65,0x51,0x03, + 0x01,0x4f,0x99,0x40,0x99,0x65,0x5d,0x62,0x3d,0xeb,0x60,0x15,0xb4,0x08,0x21,0x4d, + 0x0e,0xa6,0x17,0xc2,0x86,0xfb,0x43,0xde,0x3c,0x85,0x34,0x4b,0x8d,0x3e,0x47,0x1d, + 0x55,0xb2,0xd3,0xd4,0x36,0x9f,0xaf,0xce,0xa1,0xcc,0xc8,0x4e,0xc8,0x9f,0x76,0xa9, + 0x33,0xab,0x45,0xb1,0x57,0x2f,0x0a,0xe2,0xfa,0x37,0xe2,0xfa,0x3b,0x82,0x96,0x4e, + 0xa1,0x85,0xd8,0x35,0x08,0x92,0x42,0xc8,0x50,0x0a,0xf9,0xfa,0xaf,0x4e,0xec,0x87, + 0x50,0xda,0x10,0x3d,0x50,0xe7,0xbe,0x47,0xde,0x64,0xff,0xba,0x77,0x1c,0xba,0xf1, + 0xfb,0xe6,0x74,0xfa,0x0f,0xe4,0xcf,0xf3,0x91,0x8d,0x62,0x21,0x39,0xa0,0xbb,0x35, + 0xa7,0x52,0xe3,0x48,0xc8,0xcf,0x88,0xd0,0x09,0xe3,0xac,0x92,0x2f,0xc2,0x90,0x3a, + 0x0e,0x95,0xcb,0xe5,0x60,0x8d,0x84,0xfb,0xa1,0xe2,0x07,0xd3,0xb2,0xc5,0x7e,0x8a, + 0x3f,0xd5,0xe3,0x4f,0x17,0x12,0xf2,0x87,0x42,0x08,0x22,0x3e,0xb7,0x62,0x6b,0x2e, + 0xb8,0x1f,0x4e,0x80,0x1b,0xd6,0xb2,0xa6,0x7c,0x88,0x68,0x6e,0xc8,0x6c,0x16,0x55, + 0x75,0x8c,0xcc,0x03,0x2b,0x13,0x2d,0xd2,0xc4,0xfe,0x77,0x4c,0xe9,0x82,0xd5,0x5a, + 0x47,0xb0,0x6d,0x88,0x5c,0xef,0x68,0x25,0x6a,0x23,0x1d,0xf1,0x38,0xa0,0x55,0x2a, + 0x62,0x96,0xae,0xec,0x72,0x78,0x19,0x05,0x51,0x20,0x5a,0xb3,0x30,0xb1,0x1f,0x1c, + 0xd2,0x83,0x10,0x64,0x8e,0x63,0xf2,0x3f,0x7b,0x96,0xc0,0xe3,0x50,0x18,0xbd,0x7e, + 0x0e,0x59,0x47,0x7f,0x05,0x85,0xba,0xa5,0x9c,0x58,0xaa,0x51,0x50,0xeb,0x54,0x25, + 0x0b,0x13,0xf2,0x87,0x29,0x7f,0xa2,0x4f,0x6b,0x33,0x75,0x79,0xd0,0x52,0x01,0x6b, + 0xa0,0xd0,0x9b,0xf1,0x08,0xd9,0xac,0x3e,0xe1,0x2e,0xd6,0x2d,0x0d,0xfe,0x3c,0x78, + 0x45,0x7c,0x20,0x42,0x7d,0x30,0x3c,0xb1,0x7d,0x20,0x10,0xf8,0x27,0x72,0x9c,0xdd, + 0x76,0xda,0xb6,0xb4,0xe6,0xbb,0xf0,0xde,0xf0,0x2f,0xa2,0xc5,0xe5,0xf2,0x3a,0xf2, + 0x7b,0xf6,0x5c,0x64,0x4d,0xb9,0x3c,0x0d,0xae,0xb2,0xaa,0x31,0x67,0x3d,0xfc,0x30, + 0x21,0x7f,0x68,0xda,0x33,0xf8,0xee,0x65,0xed,0x36,0xc5,0xb6,0x4d,0xba,0xa8,0xcd, + 0xd3,0xd7,0x85,0xc5,0x15,0xf0,0x31,0xb8,0xfb,0x32,0xc3,0xe2,0x08,0xdd,0x0b,0xee, + 0xc1,0x25,0x21,0xd1,0x33,0x69,0xe2,0x7d,0x41,0x7a,0x4e,0x3b,0xc8,0xaa,0x42,0xb6, + 0x88,0xfc,0x36,0xfd,0x4b,0x70,0x7e,0x74,0xc9,0xd8,0x8d,0x95,0xd2,0xd1,0xbe,0xaa, + 0xd3,0x4b,0x7a,0xc4,0x32,0xed,0xa7,0x6c,0xc7,0xa8,0xb5,0x3e,0x87,0xe3,0x8d,0xd8, + 0x5f,0x6b,0xde,0x2f,0x61,0x75,0xb8,0x58,0x97,0xbf,0x23,0xde,0xe7,0x59,0xe3,0xca, + 0x8f,0xc8,0x63,0xe2,0x66,0xeb,0x9a,0x50,0x81,0x9e,0xf1,0x28,0xe4,0xc2,0x0e,0x96, + 0xaf,0xd3,0x1f,0x0a,0x2f,0x24,0xd6,0x13,0xe0,0xe9,0x60,0xb3,0x5a,0xcc,0xe4,0x6f, + 0x92,0x7d,0xf0,0x9c,0x30,0x53,0xbf,0xf1,0x11,0xb2,0x18,0xd6,0xa8,0xf8,0xbe,0x6e, + 0xa2,0x08,0x2f,0xc1,0x74,0x9d,0x2e,0x4b,0xd7,0x12,0xf2,0x47,0x95,0xd6,0x4a,0x8d, + 0xe0,0xec,0x94,0x15,0xff,0x61,0xad,0x0d,0xd4,0x08,0x4a,0xef,0xc7,0xa0,0xa9,0x96, + 0x72,0x41,0x27,0xab,0x3b,0xa0,0xb0,0xdf,0xa1,0x5a,0x22,0xd2,0xc4,0xf9,0xed,0x9a, + 0x32,0x42,0x0e,0x36,0x57,0x8e,0xda,0x94,0x82,0xd5,0xf0,0x2f,0x30,0x6f,0xd0,0xb6, + 0x4f,0xbc,0x0b,0x8e,0xde,0xfe,0xf7,0xa8,0x8f,0x64,0x07,0xdb,0xc1,0xe6,0x72,0x41, + 0xfa,0xc3,0xc4,0x7e,0x63,0xc2,0x36,0xe5,0x82,0x77,0x9a,0xb6,0x7e,0x93,0xbc,0x02, + 0xc5,0x6c,0xa5,0x8e,0xf3,0x47,0xe8,0x45,0x69,0x86,0x6e,0x0b,0xa3,0xbc,0xba,0xd8, + 0x38,0x4f,0xb7,0x85,0xc4,0x50,0x42,0xfe,0xe4,0x2b,0x3b,0xe1,0x12,0xec,0x3d,0x6d, + 0x7b,0xb3,0xe0,0x27,0xea,0x21,0xd8,0x11,0x91,0x47,0xc5,0x9f,0x84,0xd6,0xd0,0xb9, + 0xbd,0xd6,0x73,0xe2,0x15,0xf8,0x29,0x94,0xf6,0x66,0x45,0x45,0xbd,0x76,0x62,0xfe, + 0x16,0x69,0xb9,0x12,0xd6,0xf1,0x7c,0x3d,0x45,0xfe,0x25,0x70,0x08,0xec,0xa7,0x6c, + 0xa8,0xb6,0x50,0x53,0xd8,0xf5,0xcc,0x1e,0x72,0x46,0xda,0x3d,0x50,0xa4,0xd3,0x10, + 0x89,0x2a,0x4a,0xe2,0x79,0x0a,0x61,0x4f,0xc0,0x1e,0xb8,0x31,0x7c,0x5d,0x09,0xf0, + 0x69,0x8b,0x36,0x93,0x6d,0xf0,0x22,0xa8,0x7a,0x46,0xd8,0x3e,0xc4,0x76,0x37,0x3a, + 0x7a,0x2d,0x21,0x35,0x9a,0xd8,0x6f,0x54,0x92,0xe8,0x1e,0xb5,0x5e,0xbb,0x31,0x4c, + 0xd6,0x92,0xc7,0x71,0xda,0x8d,0xc4,0xb2,0x16,0xb6,0x42,0x48,0xbf,0xd3,0x8d,0x12, + 0x69,0xaf,0xaf,0x5e,0xaf,0x53,0xb5,0x3e,0x21,0xb1,0xfc,0xd6,0xa9,0x52,0x8f,0x1d, + 0xe5,0x73,0x58,0x74,0xd2,0xf5,0x82,0xbb,0xd7,0xb6,0xb1,0xad,0x93,0xfc,0x19,0x35, + 0x94,0x14,0x46,0xc1,0x3b,0x5e,0x77,0x9b,0x9e,0x15,0x22,0x7a,0x42,0xfe,0x3c,0x7b, + 0xd3,0x25,0xed,0x92,0x32,0x17,0x6c,0xb3,0x73,0x2e,0xc1,0x5f,0xa0,0x4a,0xcf,0x0a, + 0x8a,0x3f,0x81,0x77,0xb4,0xf9,0xba,0xed,0xb8,0x38,0x8a,0x62,0xa4,0x0a,0x55,0xdb, + 0xd7,0xea,0x13,0xf2,0x47,0x9f,0x72,0x49,0xbf,0x42,0x4b,0x07,0x6c,0xdb,0xc5,0x4b, + 0x7e,0x04,0x42,0x51,0xdb,0x58,0xc1,0x15,0xb8,0xaa,0xe2,0xa0,0x4b,0xfc,0xae,0x77, + 0x40,0xd9,0xa5,0x5b,0xe7,0x7c,0xaf,0x21,0xb1,0x7f,0x58,0xde,0x27,0xf0,0x91,0x66, + 0x3f,0x2c,0x7f,0x41,0xae,0x68,0xad,0x60,0x8f,0xca,0x3d,0xe4,0x53,0x78,0x25,0x58, + 0x14,0x95,0x43,0x7e,0x27,0x8b,0xa8,0xf6,0x68,0x66,0x30,0x5b,0x4d,0xca,0xff,0xb4, + 0xc3,0x28,0x2b,0x55,0x5d,0x9e,0x6d,0x1f,0x00,0x3f,0x1f,0xb8,0xc8,0x00,0xec,0x40, + 0x7d,0x27,0xdb,0xc9,0x62,0xf6,0x94,0x5a,0xa2,0xd7,0xd9,0x09,0x49,0xdc,0x5f,0x4f, + 0xdb,0x46,0x5f,0xc0,0x65,0x6c,0x0b,0x93,0x11,0xf0,0x07,0x0c,0xb4,0x30,0x02,0x7b, + 0xa1,0x48,0x97,0x1d,0xab,0x8b,0xa1,0x9d,0xbd,0x10,0xba,0x93,0x59,0x5c,0x89,0xfd, + 0x00,0xb9,0xdb,0xe0,0x5c,0x5e,0x37,0xff,0xfa,0x23,0x88,0x4f,0xe2,0x83,0x8b,0x80, + 0xdb,0x60,0x9b,0xf8,0x5f,0x73,0x23,0xac,0xd2,0x65,0xdd,0xd9,0xa4,0x24,0xe4,0xcf, + 0x29,0xc4,0x7b,0x57,0x48,0xa5,0x7e,0xf3,0x68,0xc1,0x25,0xd4,0x6e,0x55,0xfa,0xfa, + 0x51,0xf1,0x92,0x72,0x95,0x2f,0x4b,0x54,0xbe,0xe0,0xfd,0x98,0xe2,0xd2,0x0d,0x89, + 0x63,0x09,0xf9,0xa3,0x23,0xfe,0xb9,0x40,0xf7,0xa0,0x12,0x97,0x9d,0x70,0x10,0xd5, + 0xba,0x71,0xff,0xcf,0xf8,0xc6,0xeb,0x14,0xdf,0x87,0xb7,0x01,0xe5,0xcf,0x46,0xd1, + 0x95,0x38,0x2f,0x07,0xd3,0x2a,0x60,0x0f,0x14,0xf4,0xd2,0x51,0x32,0x15,0xf8,0x8b, + 0x18,0xcf,0xff,0x0a,0x94,0xe8,0xf2,0x8b,0x64,0x0b,0x34,0xf9,0x10,0x41,0xfa,0x6b, + 0x1e,0x4e,0xec,0x87,0xd3,0x69,0x8b,0x71,0x7d,0xba,0x74,0x84,0x3d,0x56,0x5c,0x9f, + 0xd0,0xc4,0xfa,0x38,0x75,0x19,0x2c,0x5d,0x69,0x41,0xdd,0xd1,0x49,0xc3,0x9e,0xf2, + 0x84,0xfc,0xf1,0x09,0xd3,0x60,0x7f,0x28,0x7f,0x24,0x63,0x25,0xb1,0xea,0xcf,0xb2, + 0xfc,0x61,0x99,0xc3,0x80,0x5d,0xac,0x38,0x2a,0xd7,0x59,0xf6,0x6a,0xcd,0xac,0x20, + 0x4a,0x7f,0x68,0x5f,0x9a,0xc4,0x3f,0xd4,0xaa,0x9d,0x0b,0x95,0x0f,0x67,0xee,0x11, + 0xb3,0xf0,0xf9,0x5d,0x51,0x44,0x3b,0x03,0xf8,0xfc,0x78,0xff,0x2e,0x31,0xa0,0x0d, + 0x42,0x39,0xb3,0xde,0x20,0x27,0x8d,0x0a,0xc4,0x3f,0xea,0x79,0xa8,0xea,0x5f,0x77, + 0x4e,0xbc,0x3c,0x9b,0xaf,0xcf,0x24,0x5c,0x1f,0xed,0x2a,0xc5,0xf5,0x79,0x7f,0x51, + 0x8f,0x36,0x06,0x0b,0xd8,0x2c,0x5d,0x0c,0x26,0xf0,0x4f,0x57,0xda,0x25,0x8e,0x16, + 0xfa,0xad,0x2f,0xb7,0x39,0xd9,0x85,0x89,0xf5,0xb9,0xe8,0xc0,0xf5,0x61,0xa2,0x43, + 0x42,0x68,0xc4,0xf1,0x4f,0x51,0x42,0x7f,0x45,0x26,0x6f,0x46,0xb4,0x93,0x3f,0x4c, + 0x1f,0x21,0x53,0xd9,0xcb,0x30,0x53,0xcf,0x6a,0x40,0xd8,0xb3,0x0b,0xe5,0x89,0xac, + 0x89,0x2b,0xe1,0x8f,0xb0,0x85,0x65,0x46,0x89,0x3b,0xf1,0x7d,0x75,0x78,0x9a,0xed, + 0x62,0xd1,0x28,0x7d,0xd4,0x33,0x2d,0xc0,0x61,0x4f,0xf2,0x7d,0xeb,0x2d,0x37,0xc0, + 0xba,0x80,0x7a,0x9a,0x2e,0x45,0x9b,0x65,0x62,0xfd,0xeb,0x72,0x47,0x70,0x3d,0x7d, + 0x3a,0x0d,0x5f,0x67,0x85,0xed,0xb8,0xcd,0x2c,0x89,0xf5,0x74,0xf9,0xeb,0xb4,0x5f, + 0x1d,0x50,0x07,0x33,0xac,0xad,0xd9,0x26,0xfc,0x33,0x0c,0x2f,0xbb,0xba,0x99,0x35, + 0x64,0x71,0xc0,0x15,0x0d,0x0f,0x1a,0x87,0x3d,0x88,0x87,0x99,0x6d,0x48,0x9e,0x9f, + 0x7d,0x44,0x9f,0x1d,0xb2,0x7e,0x4a,0xe6,0x25,0xf1,0x0f,0xea,0x23,0x0e,0x72,0x66, + 0xb1,0x49,0x51,0x18,0xb3,0x54,0x42,0x96,0x31,0x10,0x38,0xec,0x91,0x4f,0xa9,0x63, + 0xda,0x7e,0x82,0x2f,0x6e,0xc6,0x3f,0x43,0x70,0x00,0x2a,0x38,0xc8,0x91,0xc8,0x01, + 0xae,0xe8,0x51,0xf1,0xc1,0x5b,0x88,0x10,0x6c,0xed,0x08,0x6c,0x3e,0xd4,0xbf,0xd0, + 0xac,0x93,0x45,0x92,0x78,0x9e,0x90,0xb4,0x1c,0x41,0x0e,0xc2,0x9e,0xa0,0xa5,0x90, + 0x72,0xfd,0x2b,0x07,0xc9,0x10,0xe2,0x1f,0x34,0x04,0x14,0x32,0x89,0x19,0x3f,0x6d, + 0x12,0x7d,0x26,0xfc,0x53,0x08,0x2d,0xf7,0x96,0xe0,0x7c,0x4f,0x21,0x3c,0x29,0xf0, + 0xf9,0xf6,0xce,0xd8,0xfc,0x0d,0x96,0x42,0xed,0x79,0xcd,0xae,0x3b,0x82,0xfe,0x74, + 0x93,0xfc,0x41,0x3c,0xc0,0x41,0x4e,0x2e,0x91,0xe0,0x7a,0x4d,0xd5,0x32,0x38,0x10, + 0xda,0x0e,0x4e,0x0d,0x11,0xd7,0x74,0xc4,0x3f,0x78,0xff,0x5c,0xe2,0x49,0xc8,0x9f, + 0x76,0xaa,0x42,0x04,0xdf,0xd7,0x0a,0x35,0x2a,0xea,0xdf,0xee,0x18,0xde,0x3b,0x01, + 0x25,0x60,0x03,0x51,0x45,0x45,0x57,0x26,0x2c,0x66,0x62,0x49,0x12,0xff,0xdc,0xf4, + 0xc1,0xa4,0xcb,0x5a,0x99,0xf7,0x39,0x8e,0x76,0x3e,0xe0,0xaf,0x19,0x2c,0x18,0xe2, + 0xf8,0x87,0x23,0x9c,0xf3,0x70,0x59,0xab,0xf2,0xce,0x3a,0x3e,0x29,0x89,0x7f,0x38, + 0x5e,0xfa,0xdc,0xe1,0x5e,0x6c,0x0d,0xe6,0xcc,0xa1,0x17,0xb5,0xf8,0xfa,0x8c,0xd3, + 0x9f,0x69,0xb6,0x37,0x27,0xcd,0x81,0x4f,0x1c,0xbb,0xea,0xac,0xc7,0x9e,0x98,0x91, + 0x38,0xbf,0x79,0x4a,0x34,0x14,0x29,0xec,0xb0,0x52,0xa9,0xed,0x7e,0x3c,0x68,0x1d, + 0x08,0x84,0x50,0x1a,0xf7,0xe0,0x13,0xca,0x4c,0xf0,0x85,0x02,0xaa,0x5b,0xb2,0x3e, + 0x4b,0xb2,0xd2,0x13,0x56,0x6c,0x5a,0x7f,0x64,0x8b,0x23,0x5a,0x67,0xc9,0x29,0x4a, + 0x83,0xdd,0xaa,0xaa,0x59,0x12,0xef,0x8b,0x78,0x86,0x3d,0xef,0x98,0xa1,0x51,0xc5, + 0x4f,0x84,0x89,0xe7,0xcf,0x9b,0xd2,0x09,0x6d,0x94,0xaf,0x3f,0x59,0x6e,0xe0,0xcf, + 0xf8,0xfa,0x17,0xf1,0xc1,0x72,0x68,0x53,0xed,0xb5,0x75,0x41,0xcf,0x1d,0x09,0xf9, + 0xd0,0xa1,0x74,0x0a,0x1f,0x22,0x88,0x75,0x06,0x51,0x11,0x6c,0xd7,0x89,0x96,0x65, + 0x3c,0x3f,0xae,0xbf,0xed,0x29,0x5c,0xe1,0xe7,0xa1,0xcc,0xe3,0xfc,0x75,0x86,0x23, + 0x21,0x1f,0x02,0xd0,0x09,0xa7,0xd8,0x3e,0xc4,0xc3,0x22,0x02,0x21,0xb5,0x32,0xfe, + 0xbe,0x7c,0xa1,0x36,0x35,0xfd,0x19,0xc6,0x03,0xf3,0xee,0xcf,0x0a,0x36,0xbd,0x90, + 0xd8,0xcf,0x45,0x4a,0x88,0x8e,0xe9,0x6e,0xbe,0xcd,0x70,0xe3,0x69,0xf1,0xf5,0xe7, + 0x3b,0xf0,0xee,0x66,0xd1,0xd7,0x3c,0x0c,0x6e,0xc5,0xca,0x72,0x0e,0x26,0xf1,0x4f, + 0xad,0x03,0x3e,0x0d,0xd8,0x59,0x5d,0x48,0xac,0xc7,0xf5,0xb1,0x33,0x39,0x44,0x86, + 0x71,0xf0,0x33,0x26,0xaf,0xf0,0xf4,0xc0,0xea,0x5a,0x95,0x59,0x86,0xc4,0x83,0x89, + 0xf3,0xee,0x48,0x5b,0x21,0xec,0xe0,0x68,0x07,0xf5,0x91,0x62,0x88,0x65,0xe3,0xbc, + 0x88,0x4e,0x7e,0x70,0xee,0xd2,0xb6,0xb2,0x68,0x3f,0xdd,0x77,0xcf,0xc1,0x84,0xfc, + 0xc9,0x17,0xa6,0x0a,0x2f,0x93,0xe9,0x11,0x34,0x52,0x36,0xe3,0xb1,0x45,0x3c,0x60, + 0x9c,0x5f,0x3c,0xc8,0x72,0x83,0x7f,0x13,0xac,0xd1,0x0a,0xb4,0xa7,0x1a,0xfc,0x91, + 0x24,0xbe,0xa2,0x37,0x07,0xbe,0x64,0xbb,0x3e,0xcc,0xfa,0x19,0x9a,0x2d,0x57,0xdf, + 0xbc,0x2d,0xba,0x7e,0xa5,0xf8,0x2e,0x7c,0x89,0xe7,0x37,0x6b,0x4c,0x7c,0x94,0xfc, + 0x85,0xcd,0x8e,0x3a,0xeb,0xc5,0x83,0x49,0xfc,0x73,0xe7,0x6f,0xe1,0x23,0x98,0xd7, + 0x6f,0xeb,0x7e,0x15,0xf5,0xbb,0x56,0x66,0xc8,0x13,0x6a,0x28,0xfa,0xb0,0x38,0x44, + 0x2e,0xe0,0x51,0xc2,0x13,0xea,0x4f,0xc8,0x1f,0x6d,0xca,0x15,0xf8,0x04,0xd5,0x96, + 0x75,0x4c,0xac,0x60,0x57,0x71,0x90,0x39,0x86,0x6a,0xfd,0xa2,0xa1,0xc8,0xc4,0xfd, + 0x70,0xb4,0x71,0x76,0xd4,0xda,0x83,0x5f,0x77,0x62,0xff,0x74,0xa1,0xfc,0x61,0x79, + 0xaa,0xee,0x68,0x58,0x68,0xc5,0xc7,0x56,0x87,0x65,0x7c,0x7e,0xba,0x8b,0xdd,0xaa, + 0xcb,0xfa,0xe4,0x47,0x1a,0xdf,0xa3,0xb7,0xd6,0x65,0xd6,0xdf,0xf2,0x42,0xe2,0xfb, + 0x06,0x61,0x33,0x3c,0x07,0xf9,0xfd,0x28,0x9f,0xa7,0x6a,0xbb,0x00,0xf1,0x52,0xec, + 0x7d,0xf3,0xf1,0x7d,0xc9,0x26,0xba,0x09,0xf1,0xcf,0xf5,0x2e,0x7b,0x33,0x9b,0x58, + 0x7f,0x9f,0x34,0x00,0xad,0xb5,0x45,0x31,0x79,0xbe,0x23,0x98,0xd0,0x77,0x85,0xfa, + 0xa2,0x19,0x44,0xa5,0x7e,0xad,0xd0,0x77,0x7d,0x21,0x69,0x4f,0x9c,0x77,0x47,0xda, + 0x3e,0xf8,0xa8,0xbf,0x54,0xcf,0x1c,0x45,0xeb,0x78,0x2e,0x74,0x4c,0xe8,0x2f,0x2e, + 0x48,0x49,0x17,0xd9,0xe8,0x9d,0x73,0x36,0xb3,0x67,0x92,0x45,0x4a,0x3e,0xcf,0x08, + 0x5c,0xc0,0x65,0xc9,0x0a,0xe7,0x8c,0xc4,0xf0,0x4f,0x58,0x48,0xae,0x8f,0x84,0x83, + 0xd7,0x8f,0x36,0xe1,0x56,0x9c,0xb8,0xff,0x06,0xb6,0x82,0x5e,0xa4,0xdd,0x68,0x54, + 0x7a,0x2a,0x50,0x0d,0xa1,0x61,0x8b,0xf2,0x1c,0xff,0xe1,0xcd,0xba,0xed,0xbc,0x5c, + 0x9e,0xf6,0x29,0xda,0xb3,0x74,0x54,0x8c,0xd6,0x4e,0xc8,0x93,0xde,0xdc,0x15,0x7c, + 0xdb,0xe8,0x8e,0x30,0xc2,0x98,0xbd,0x90,0xd0,0xbf,0x0f,0xea,0x72,0x8f,0xfd,0x39, + 0xb5,0x95,0xbd,0xa0,0x77,0xb1,0x82,0x21,0x2d,0x81,0x7f,0xd2,0x9c,0xfc,0x98,0xf4, + 0xde,0x70,0xcd,0x7c,0xd4,0x77,0x0a,0xf9,0x07,0x61,0x6f,0xe3,0x0b,0xda,0x0d,0xdb, + 0x57,0x47,0x13,0xfb,0x87,0x4a,0x56,0x08,0x23,0x0c,0xb0,0x70,0x58,0xb8,0x17,0x42, + 0x6f,0xc5,0xd6,0x07,0x61,0xb6,0x2c,0x10,0x26,0xb5,0xe0,0x41,0xb3,0xa8,0xa4,0x2f, + 0x6d,0x62,0x3f,0xb0,0x0c,0xbe,0x0d,0xdc,0xfa,0xdd,0x67,0x0b,0x7e,0x43,0xbf,0x04, + 0xf7,0xdb,0x71,0xfd,0x82,0xf7,0x0f,0x8a,0xcb,0xa5,0x31,0x98,0xa7,0x65,0x3d,0xd1, + 0x94,0xb4,0x07,0x43,0x99,0xa8,0xd6,0x9d,0xaf,0xf4,0xdd,0x85,0xaf,0xc9,0xae,0x42, + 0x65,0xc4,0x78,0x5f,0x43,0xbf,0xa3,0x2a,0x23,0x97,0xa0,0xaa,0xfa,0xae,0x3e,0xb1, + 0x2b,0x2d,0x89,0x37,0x46,0xd8,0x21,0x1f,0x82,0xcc,0x73,0xe2,0xc9,0x8e,0xa3,0xf6, + 0xf9,0xf8,0x21,0xc4,0x8a,0xd0,0x51,0x75,0x7e,0x24,0xb3,0xbb,0x60,0x5f,0x33,0x02, + 0x21,0x7d,0xed,0x69,0x03,0x38,0xc5,0xe7,0x2b,0xa7,0xb4,0xd6,0x06,0xfb,0x1c,0xba, + 0x2f,0x67,0x16,0xb4,0x29,0x68,0x7f,0xfd,0xda,0xf3,0x75,0xe8,0xca,0xb5,0x0f,0xd2, + 0xed,0x24,0xa4,0x7d,0x18,0xb4,0x9f,0xb5,0x6c,0x23,0xa3,0x89,0xf5,0x8f,0xa4,0x0d, + 0x90,0x46,0xfc,0xfa,0x01,0x89,0x04,0x50,0x5a,0x39,0x06,0xf1,0x7d,0xad,0x92,0x48, + 0x0a,0x07,0xa9,0xb1,0x43,0x88,0xaa,0xd4,0x4d,0x4e,0x37,0xf9,0x7f,0x26,0x77,0x49, + 0x68,0xdf,0x11,0xca,0xfa,0xba,0xd4,0x17,0xa8,0x9d,0x58,0x82,0x7e,0x14,0xe3,0x60, + 0xef,0xa3,0xe1,0xec,0x90,0xf0,0x3c,0xb5,0x03,0x09,0x92,0xa4,0xff,0xa7,0x76,0xca, + 0x27,0x70,0x08,0x5e,0x1e,0x74,0xce,0x11,0x7f,0x23,0xbd,0xef,0x41,0xfc,0xbc,0x53, + 0x2e,0x92,0x0e,0xc1,0x05,0x65,0xed,0xf6,0xad,0xbf,0x65,0x17,0xab,0xdd,0xbd,0xd6, + 0xd0,0xa4,0xc1,0x84,0xfc,0x0c,0x09,0x61,0xbe,0x6d,0xd8,0x92,0xb0,0xf8,0x5d,0xff, + 0x3b,0xa1,0x4a,0x76,0x57,0x58,0xec,0x53,0x2e,0xc0,0x65,0x98,0x15,0x2e,0x38,0x5d, + 0xfb,0xb1,0x54,0xd1,0x67,0x0b,0xe1,0xd6,0x9a,0xb8,0xff,0xa0,0xf2,0x18,0xbc,0x2f, + 0x95,0x9d,0xb0,0x76,0x4e,0x9a,0x89,0xf8,0xca,0x35,0x68,0x9d,0x23,0x3e,0x48,0x0e, + 0x41,0x59,0x30,0xd3,0xd5,0xe4,0x94,0x3e,0xbe,0xdf,0xad,0xaf,0x0d,0x17,0x84,0x13, + 0xf2,0x27,0x92,0xe6,0x60,0x6d,0x01,0x35,0x80,0x20,0xd9,0x01,0x6f,0x7b,0xed,0x3d, + 0x81,0x30,0x9a,0x8d,0x2f,0x7e,0xd3,0xce,0x68,0x98,0xe4,0x4b,0x4d,0xba,0xbd,0x97, + 0x76,0x93,0xb2,0x84,0x7c,0x88,0x22,0xfe,0xd9,0xaa,0xaa,0x83,0x68,0x6d,0x49,0x6a, + 0x23,0x38,0x22,0xf8,0xf5,0x17,0xc3,0x8b,0x4c,0xd5,0x5b,0x80,0x64,0x0d,0x76,0xf7, + 0xab,0x9f,0x5b,0x54,0xbf,0xc9,0xff,0x23,0xa4,0x6b,0xab,0x9f,0xb9,0xbf,0x3e,0xb0, + 0x92,0x7c,0x1b,0x7e,0xc1,0xf2,0x7d,0x96,0x85,0xf6,0x69,0xd0,0xd9,0xae,0x46,0x69, + 0x9d,0x65,0x1a,0xec,0x6c,0x37,0x1c,0x41,0x3f,0x31,0xe1,0x9f,0xac,0xe0,0xa9,0x50, + 0x58,0x2f,0xc9,0x6b,0xb3,0xb2,0x5e,0xe8,0xd1,0x4b,0x1c,0xe2,0x62,0x78,0x35,0xbc, + 0x53,0xcf,0xcc,0x93,0xad,0xec,0xb3,0x70,0x18,0x4a,0xf2,0x84,0x63,0x13,0xdb,0x0d, + 0xb4,0xcc,0x7d,0xb9,0x97,0x94,0xf9,0x75,0xb6,0x37,0x6b,0xf6,0xc1,0x65,0xa5,0xaa, + 0x36,0x53,0xc7,0xfd,0xf3,0x27,0xf8,0x79,0xbf,0xed,0x4d,0x1c,0x1c,0x86,0x2a,0x29, + 0xf3,0x44,0x0a,0xfe,0x19,0x81,0x8f,0x05,0xbe,0x08,0x39,0x85,0xca,0x21,0xee,0xf6, + 0x09,0x17,0xfc,0x10,0xbf,0x88,0x5b,0xcb,0x0c,0x89,0x88,0x18,0x99,0x5b,0xc7,0xc1, + 0x47,0x26,0xfc,0x83,0x42,0x12,0xb8,0xdb,0x87,0x4a,0xd0,0x44,0x0c,0xff,0x4f,0x00, + 0x9e,0x05,0x87,0x96,0xe9,0x43,0xc4,0xe8,0x17,0x0c,0x47,0xd0,0xb9,0xc4,0xfa,0x33, + 0xf8,0x2d,0x3c,0xc7,0x1a,0xb9,0xb7,0x67,0x1a,0x3c,0xc1,0xa6,0xc7,0x06,0x5b,0x63, + 0xfe,0x9f,0xbb,0x61,0x0d,0x0a,0x52,0x84,0x82,0x51,0x13,0xfe,0x19,0x80,0xb6,0xa0, + 0x3a,0x44,0x6f,0xf3,0x58,0xe1,0x57,0xc1,0xc2,0x21,0x5a,0x4e,0x1e,0x53,0xb7,0x06, + 0x1d,0x7d,0x19,0xbb,0x71,0x61,0x9b,0x82,0xce,0x4b,0x79,0xa9,0xfe,0x9f,0x2e,0xc4, + 0xf3,0x6e,0xb6,0x4d,0x95,0x29,0x79,0x1b,0x5e,0x66,0x8e,0xdf,0x8a,0x33,0x51,0x02, + 0xbb,0xc3,0xce,0x90,0x5c,0x4f,0x0e,0xc2,0x83,0xc1,0xcc,0x17,0x44,0x93,0xff,0x07, + 0x7c,0xca,0xd8,0xc2,0x0a,0xb4,0xc7,0x6b,0x4e,0x29,0xc3,0x88,0x7e,0x6d,0xac,0x29, + 0x04,0xa8,0x7f,0xa5,0x2c,0x26,0x32,0x18,0xab,0xa6,0xca,0xcd,0xfd,0x29,0xf8,0xa7, + 0x1f,0x0e,0xe8,0x95,0xbe,0xcc,0x76,0xf1,0x59,0x18,0xd7,0xc3,0xdc,0xff,0xb3,0x1c, + 0xc6,0x37,0xba,0xb4,0xcc,0x20,0xe2,0x9f,0x03,0x50,0xf9,0x90,0x75,0x43,0x8a,0xff, + 0xe7,0xfb,0xd0,0x02,0x1d,0xb5,0x74,0x13,0x99,0xd1,0xd7,0xa2,0x77,0x78,0x2d,0xdc, + 0xed,0xb0,0x9b,0x75,0x78,0x69,0xd0,0x5e,0x28,0xb5,0x68,0x25,0xdf,0xc4,0x9f,0x92, + 0xe7,0x3d,0x2f,0x6d,0x01,0x3c,0x06,0x05,0x1e,0xf9,0x4d,0xb2,0x13,0x7e,0xa7,0x15, + 0x78,0xe9,0x20,0xd9,0x29,0x3d,0x23,0x18,0x83,0x39,0xf0,0x98,0xef,0x1f,0x35,0x7a, + 0x9c,0xbc,0x6e,0xc2,0x3f,0xb9,0x9e,0x55,0xb5,0xf9,0x5a,0x5d,0x03,0xc9,0x85,0x34, + 0x2d,0xdf,0x4b,0xbc,0xe9,0x31,0xff,0x8f,0xe3,0x5e,0x32,0x05,0x56,0xc1,0x03,0x3a, + 0xf5,0x92,0xa4,0xfd,0x55,0x9e,0x79,0x3f,0x87,0xfd,0x5c,0xed,0x86,0x60,0x25,0x0e, + 0xac,0x4c,0xe6,0xfa,0xd7,0x0d,0x77,0x81,0xac,0x12,0x0e,0x8d,0x9c,0x7a,0xc1,0x11, + 0xc1,0x84,0x7f,0xd8,0x59,0xed,0x65,0xee,0xed,0xf9,0x3e,0xc2,0x9e,0xfd,0xde,0xf5, + 0x1c,0x08,0x4d,0xf8,0x7f,0x68,0x7c,0x60,0xf2,0xff,0xa4,0x7d,0x1e,0x3a,0x5c,0x58, + 0x5a,0x67,0x1d,0x6c,0x3a,0x2f,0x1d,0x56,0x4a,0xb5,0xcc,0x8d,0xe2,0x79,0x76,0x58, + 0xa9,0xf4,0x5a,0x7f,0x29,0x4e,0x67,0x87,0x0d,0xc4,0xe8,0x37,0xfb,0x7f,0x7a,0x37, + 0x06,0x1c,0x76,0xa0,0xcd,0xe2,0x16,0x4d,0xf5,0x86,0xf2,0x1c,0xcc,0x73,0x0a,0x02, + 0xdf,0x2c,0x9a,0x5a,0xb4,0x9a,0xcc,0x6e,0x0e,0x40,0x99,0x22,0xf7,0x5b,0xb2,0x12, + 0xf6,0x75,0x5d,0x5a,0x3f,0x82,0x3a,0xd5,0x1b,0xe0,0xb0,0xa7,0x51,0x55,0xef,0x41, + 0x74,0xd7,0xaf,0x35,0xaa,0xd3,0xb5,0x3a,0x7c,0x5f,0x65,0xcb,0xed,0x33,0xbd,0x8b, + 0xbc,0x64,0x63,0x42,0xfe,0x20,0xfe,0x61,0x2d,0x6a,0x87,0x86,0xa7,0xb5,0x93,0x6e, + 0x05,0x1f,0x07,0x42,0x43,0xf8,0x45,0x66,0x72,0x47,0xd9,0x1c,0x61,0x26,0xcc,0xf2, + 0xdc,0x38,0x68,0xf6,0xff,0x4c,0x19,0x22,0x07,0x98,0x4b,0x73,0x3e,0x7d,0xcf,0x99, + 0xe0,0x01,0x35,0xe6,0xd6,0x6b,0x3a,0xa0,0x96,0xf9,0x16,0x07,0xe5,0x42,0xf2,0xa1, + 0x7d,0x5e,0x83,0xed,0x09,0xb1,0x2b,0x21,0x7f,0x86,0x85,0x4e,0x38,0x4b,0x11,0xed, + 0x3c,0x55,0x30,0xd4,0x81,0xb0,0xc7,0x63,0xe0,0x9f,0x1f,0x43,0x65,0xdd,0xcd,0x7c, + 0xf0,0x26,0x94,0xd5,0xda,0x94,0xa6,0x47,0x13,0xfb,0xdf,0xa1,0x84,0x10,0x7f,0xce, + 0x83,0xc7,0x56,0x15,0x44,0x35,0xee,0x76,0xcb,0xe2,0x8e,0xe8,0xc8,0x20,0x7e,0x88, + 0x66,0x51,0x31,0x1c,0x41,0xb6,0x55,0x05,0x26,0xfc,0x93,0x56,0x0e,0xeb,0xd4,0x02, + 0x46,0x87,0x71,0x37,0xaf,0xd3,0x70,0x10,0x22,0x11,0xb5,0xb5,0xba,0x8c,0x39,0x42, + 0x76,0x07,0x94,0xac,0xb5,0x37,0x23,0x22,0x3a,0x98,0xc4,0x27,0x69,0xcb,0x09,0xae, + 0x4f,0x6d,0x86,0x4a,0x5e,0x83,0x1d,0x2d,0x85,0x67,0xf1,0x3c,0xbe,0x0e,0x2d,0x04, + 0x0c,0xc7,0x69,0x7e,0xf7,0x16,0x90,0x64,0x0a,0x49,0xfc,0x13,0x12,0xa6,0x52,0x3c, + 0xbf,0x1a,0x1e,0xd2,0x41,0xb2,0x46,0x9b,0x3e,0x88,0x40,0xe8,0xb8,0xb4,0x1a,0x70, + 0xb0,0xdc,0x7e,0x13,0xbc,0x14,0x03,0x06,0xc3,0x89,0xfb,0x77,0xd1,0x6c,0x78,0xad, + 0x79,0x76,0x34,0x73,0x25,0x39,0x06,0x9f,0xb3,0x97,0xa2,0xce,0x95,0xe2,0xeb,0xe4, + 0x55,0xb6,0x23,0xe4,0x1c,0x93,0x2b,0xc9,0x67,0x6c,0x7b,0xd4,0xb6,0x52,0xfc,0x28, + 0x89,0x7f,0x6e,0xea,0x52,0x3e,0x4b,0xff,0xad,0xbe,0x3e,0x2c,0xea,0xca,0x38,0xcc, + 0xe3,0x86,0xff,0x10,0x5c,0x10,0x2b,0xb9,0x61,0x32,0x82,0x82,0x65,0x1a,0xbf,0xd2, + 0x97,0x90,0x3f,0x90,0xf6,0x05,0x9c,0x64,0x93,0x7c,0x4b,0x3e,0x14,0xbb,0xe1,0xa4, + 0x3e,0xdf,0x97,0xc5,0xf1,0xcf,0x97,0xac,0x6a,0x85,0xf5,0x84,0xe8,0x66,0xff,0x23, + 0x58,0x35,0x64,0x1b,0x17,0xf5,0xc4,0xfa,0x77,0x09,0x53,0x61,0x35,0xdc,0xba,0x54, + 0xce,0x27,0x5e,0xed,0xb8,0x82,0xeb,0xe3,0x22,0xc7,0xb5,0x1d,0xca,0xad,0xb5,0x54, + 0x23,0x8a,0xb4,0x7d,0x7b,0x31,0x57,0xc4,0x1f,0x25,0xed,0x6b,0x25,0x08,0xbf,0x54, + 0xa6,0xe3,0x4b,0x79,0x06,0x51,0x71,0xcf,0xd4,0x66,0xc6,0xf1,0x0f,0xcd,0x98,0x4c, + 0xb2,0x57,0xed,0xca,0x2f,0xd6,0xe4,0x86,0x74,0x3d,0xe9,0xff,0xc9,0x8d,0xd4,0xb5, + 0xfa,0x0a,0xcf,0xa1,0xf6,0xd7,0x70,0xbe,0xbd,0x19,0x81,0x50,0x3f,0xec,0x28,0x9c, + 0x01,0x19,0x40,0x54,0x6d,0x87,0x84,0x8a,0xbe,0x1c,0x8f,0xcd,0xc4,0x79,0xdf,0x36, + 0x65,0x1b,0xbc,0xa5,0x95,0x55,0xe3,0xf9,0xea,0x44,0xb3,0x6b,0x9e,0x9e,0xd9,0x23, + 0x9e,0x81,0xcf,0xa2,0x38,0x08,0x5b,0x9c,0x08,0xe4,0x0c,0x0f,0xcf,0x47,0x26,0x79, + 0x38,0xe2,0xb8,0x58,0x5d,0x59,0x6b,0x6b,0x16,0x99,0xf2,0x8e,0x56,0xd5,0x77,0xf7, + 0x76,0x71,0x48,0xbb,0x00,0x7b,0xf4,0xac,0xd0,0xa4,0x11,0xc7,0xb8,0x82,0x5b,0x6b, + 0x07,0x22,0xe4,0x89,0xfb,0x0b,0xca,0x88,0x78,0x18,0x61,0xcf,0xfa,0x80,0xd8,0x23, + 0xbc,0x11,0x42,0x45,0x3f,0x8a,0x66,0xc8,0xcf,0xd5,0xb9,0xfd,0x38,0xb8,0x24,0xad, + 0x27,0x55,0x11,0xab,0x5e,0xa3,0x6b,0x49,0xf9,0xf3,0xa0,0xb7,0xd5,0x83,0x9b,0x64, + 0x2d,0x2e,0xc2,0x8b,0x9a,0x9d,0xad,0x0d,0xe3,0xfe,0xdf,0xc3,0xec,0xc7,0x96,0x84, + 0xec,0x23,0xd2,0x3b,0xcd,0xf3,0x74,0x54,0xf4,0x49,0xf9,0xc3,0xd2,0xac,0x6a,0x40, + 0x2b,0xea,0x95,0xfd,0xe9,0x51,0x16,0x80,0x19,0x1a,0x02,0xa1,0x21,0x8d,0xe3,0x1f, + 0x1a,0xcc,0x8e,0x4a,0xcf,0xeb,0xce,0x20,0xdd,0x49,0xa2,0xd2,0xc4,0x7e,0x40,0xfc, + 0x43,0xfc,0x92,0x43,0xc3,0x45,0xd6,0x71,0x6b,0xab,0x6c,0xe1,0xec,0xf4,0x7e,0x69, + 0x87,0xf2,0x43,0xdd,0x22,0x65,0xeb,0xc2,0x76,0x5f,0x91,0xee,0x98,0x63,0x92,0x3f, + 0x90,0xf6,0x80,0xa7,0xf5,0x9b,0xf3,0x74,0x43,0xfe,0x58,0x85,0x32,0xad,0x28,0xec, + 0x19,0x42,0x0d,0x5e,0x81,0xf7,0x2f,0x88,0x4a,0x1f,0xd6,0x57,0xea,0xd6,0x9d,0xa2, + 0x2e,0x4e,0x4c,0x0f,0x4d,0xb9,0x04,0x5f,0xe4,0xef,0x12,0x6c,0x7d,0xe2,0x20,0x20, + 0xda,0x69,0x44,0x60,0x73,0x1e,0xae,0xaa,0xbb,0x74,0x5b,0xdf,0xa4,0x51,0xf8,0x93, + 0x3a,0x1f,0xd6,0xeb,0xe2,0xf0,0xa4,0x04,0xde,0x48,0xbb,0x02,0xaf,0xb3,0xb9,0xfd, + 0x8b,0x1b,0x6a,0x7e,0x4a,0x8e,0x82,0x9b,0xc3,0x66,0xc4,0x4b,0x52,0x15,0x1f,0x8c, + 0xfe,0x62,0xc4,0x55,0x9a,0x6e,0xed,0x15,0x5d,0x09,0xf9,0xc3,0x94,0x4f,0xa1,0x15, + 0x61,0x1e,0x0d,0x7b,0x16,0x68,0xeb,0xa1,0xa3,0x4f,0xee,0x21,0x57,0xb5,0x57,0x06, + 0x4b,0xa2,0x88,0x0f,0xcf,0x68,0xbb,0x5d,0x88,0x88,0xd6,0x10,0x35,0x21,0xcf,0x69, + 0xda,0x30,0xc2,0x1e,0x3b,0xc7,0x7b,0x6b,0x59,0x13,0xea,0x77,0x8e,0xf7,0xd0,0xd0, + 0x58,0x61,0x00,0x63,0xbe,0x02,0xa8,0x31,0x3c,0xfe,0x24,0xfe,0x99,0xd2,0x15,0x7a, + 0xa1,0xc5,0xee,0xb3,0xb4,0x23,0x3e,0x6f,0x83,0x22,0x5d,0x4c,0xe0,0xc9,0x30,0xf9, + 0x14,0xf6,0xf4,0x77,0x6c,0xa7,0x9b,0x49,0x38,0xb1,0x3f,0xb5,0x29,0x9f,0x4a,0x1f, + 0x37,0x97,0x8d,0x96,0x94,0xd7,0xac,0x80,0x43,0x64,0xde,0x04,0x7e,0x36,0xf0,0xf0, + 0xa7,0xc2,0x30,0x73,0xab,0xd6,0x80,0x1c,0x4c,0xec,0xff,0xa8,0xb0,0x8f,0xbc,0x47, + 0x5e,0x41,0x98,0x67,0xc1,0xd5,0x81,0xb9,0xdc,0xbf,0x31,0x42,0x0d,0x7c,0xc8,0xf7, + 0xc3,0x38,0xad,0xf4,0xcc,0x6a,0x10,0x57,0x9a,0xfc,0x3f,0x5d,0xea,0xc7,0x93,0xcb, + 0x06,0xb3,0x7a,0x26,0x39,0xe1,0x7d,0xe8,0x46,0xe0,0x6d,0x1c,0xc3,0xb8,0xa3,0xe3, + 0xad,0xbf,0x75,0x7b,0xad,0xcd,0x35,0xa3,0x26,0xfc,0x63,0x61,0x6d,0x83,0xa8,0xd6, + 0x7f,0x43,0x2a,0x60,0x7d,0x0c,0x0f,0x5f,0x82,0xf7,0xa0,0x0c,0x07,0xf6,0x11,0x34, + 0xbd,0xed,0xf7,0xd0,0x5f,0xa3,0x7e,0x9f,0xd8,0x0f,0xd1,0xb4,0x3b,0xe1,0x05,0x44, + 0x3b,0x84,0xa3,0xc1,0xad,0x13,0xfe,0xb1,0x26,0x44,0x8c,0x38,0x88,0x40,0x6b,0x23, + 0x02,0x27,0x35,0xbd,0xc7,0xe4,0xff,0xb9,0x01,0x56,0x1b,0x61,0x20,0x4b,0x56,0x5d, + 0x53,0x63,0xdc,0x1f,0xf2,0x78,0xf3,0xf7,0xf9,0xe0,0xca,0x3d,0xc6,0x4f,0xdf,0xd9, + 0x78,0x42,0x99,0xb8,0x7f,0x1d,0xa5,0x10,0x55,0xdd,0x11,0x8b,0x1b,0xef,0xff,0xbe, + 0xe0,0xfa,0x24,0x8b,0xfb,0x7f,0x5e,0x65,0xb9,0xba,0x6d,0xb6,0x38,0x40,0xf8,0x99, + 0x76,0x5a,0xc4,0x8d,0xa6,0xf8,0x57,0x3b,0x1e,0xc3,0xbd,0x6c,0xc9,0xe8,0xa4,0x4b, + 0xea,0x55,0xad,0xd2,0x58,0x16,0x5f,0x6c,0x7d,0x6a,0x4e,0x2a,0x57,0xe0,0x15,0x86, + 0x40,0x68,0xd0,0x84,0x7f,0x86,0xe1,0x6d,0x5c,0x8d,0xc5,0x61,0xd1,0xc9,0x0e,0x55, + 0x77,0xf7,0xde,0x1c,0x16,0x3f,0x51,0xdf,0x71,0xf1,0x78,0x22,0xae,0xcf,0x9f,0xfc, + 0xa5,0xd5,0xb6,0x68,0x8a,0xff,0xa7,0x1d,0xd6,0x91,0xad,0x3c,0xc8,0x55,0x61,0x5f, + 0xaf,0x1a,0xd2,0xf2,0x24,0xdb,0xe5,0x28,0xd6,0x17,0x71,0xc1,0xf2,0x98,0x90,0xaf, + 0xb5,0x8d,0x16,0x99,0xfd,0x3f,0xdd,0xf0,0x4b,0xee,0xf6,0x29,0xf7,0x3c,0xcd,0x9e, + 0x0b,0x26,0xfd,0x3f,0xa7,0x70,0x70,0x04,0x11,0xe0,0xfd,0x3e,0xb9,0x8e,0x34,0x98, + 0xf0,0x4f,0x44,0xf3,0x07,0xd4,0x51,0x4b,0x97,0x79,0x3d,0x63,0xfe,0x1f,0xfb,0x80, + 0xd6,0xa8,0x75,0x34,0xc8,0xbf,0xb0,0x98,0xfd,0x3f,0x7b,0xe0,0x5d,0xa9,0x74,0xe7, + 0xac,0x11,0xb9,0x0b,0x5e,0x80,0xb8,0xff,0xe7,0x6d,0x30,0xe4,0xed,0xdb,0xf0,0x2e, + 0x2d,0xed,0xb0,0x0d,0x8b,0x8f,0x9a,0xf0,0x0f,0x6a,0x7f,0x65,0xbf,0x94,0xb9,0xca, + 0x70,0x83,0x70,0xb7,0x0f,0x9e,0xee,0x98,0xff,0x47,0x3c,0x2d,0x8d,0xd1,0xca,0x6c, + 0xdb,0xea,0x14,0xfc,0x73,0x86,0x1d,0xc8,0xee,0xae,0xce,0x0a,0x6e,0x95,0xc8,0x87, + 0xd0,0x6d,0xd8,0xfb,0x92,0x61,0xef,0x73,0x7d,0x77,0x40,0xad,0xd4,0x9c,0x1b,0x44, + 0x8f,0x09,0xff,0xdc,0x01,0x8d,0xcc,0xae,0xd1,0x8d,0xa4,0x90,0xb6,0x4c,0xf8,0x1f, + 0x6e,0xe3,0xfe,0x1c,0x43,0x11,0x7b,0x4a,0x1e,0xa1,0x4f,0x5b,0x54,0x13,0xfe,0x29, + 0x44,0xed,0x8c,0xf6,0xd4,0x06,0xb2,0x1c,0xb6,0xa4,0x9b,0xfd,0x45,0xc6,0xfc,0x0c, + 0xee,0x1a,0x22,0x66,0xff,0x8f,0x84,0x9b,0x50,0xf5,0xd2,0x5c,0xcb,0xed,0x06,0x30, + 0x90,0x15,0x77,0xdc,0x1f,0xa2,0xe0,0xfc,0x46,0xcd,0x39,0x08,0xb9,0xd9,0xc4,0x84, + 0x7f,0x7c,0xb8,0x0d,0xdd,0xc2,0xdd,0xac,0xc6,0x47,0x87,0x05,0x37,0xac,0x9f,0xf0, + 0x3f,0x18,0x8e,0x08,0x8e,0x7f,0x16,0x33,0x31,0xcb,0xe4,0xff,0x39,0x49,0x7f,0x07, + 0x55,0x5e,0xdb,0x79,0xf1,0x99,0x98,0xdb,0x27,0x18,0xc3,0x3f,0x7c,0xf0,0x39,0xb9, + 0x5c,0x8b,0x3f,0x1d,0xaf,0x79,0xd6,0x84,0x7f,0x8e,0xa3,0xed,0xe1,0xae,0xcd,0xf2, + 0xca,0x08,0x0b,0x35,0xb7,0xd7,0x16,0xac,0x19,0x32,0xe2,0x83,0x7c,0x7d,0xd8,0x9f, + 0x7c,0xa5,0x8b,0xac,0xc7,0x9a,0x5e,0x37,0xe1,0x9f,0x28,0x84,0x55,0xfb,0x94,0xba, + 0x55,0x44,0x45,0x79,0x5b,0xc6,0xfd,0x3f,0xa7,0xa0,0xc7,0x1b,0x1f,0x04,0x7c,0xf6, + 0x3c,0xfa,0x2c,0x39,0x62,0x92,0x3f,0xfd,0xb0,0x3b,0xd3,0x59,0x67,0x51,0xfc,0xb7, + 0xbb,0x36,0x68,0x6a,0x35,0xbe,0xe6,0x6b,0xf8,0xbe,0x2a,0x7f,0xdf,0x37,0x60,0x83, + 0xae,0x7a,0xea,0x14,0x7f,0x9f,0x19,0xff,0x18,0xab,0x47,0x37,0x66,0xe1,0x42,0xa1, + 0x3c,0x8f,0xaf,0x67,0x7c,0xd0,0x22,0xd8,0x3d,0x34,0xe8,0x79,0xdd,0x84,0x7f,0xce, + 0xc0,0x59,0xa8,0xac,0xbe,0x7b,0x73,0xc1,0x72,0x78,0x2b,0xfe,0xd8,0xd2,0x38,0x79, + 0x38,0xee,0xe8,0x63,0x28,0x1f,0x36,0x8b,0xc3,0x26,0xfd,0xdb,0xc9,0xc6,0x83,0xe1, + 0x7a,0x9b,0x92,0x13,0x77,0x03,0xf2,0x69,0x67,0x63,0x83,0x7e,0xed,0xac,0xba,0x6f, + 0xe1,0xac,0xcd,0x26,0x7d,0x87,0xf8,0x87,0x0d,0x53,0x03,0xed,0xf8,0x70,0xb5,0x39, + 0xfe,0x14,0x63,0xf8,0x33,0xe6,0x88,0x63,0x6e,0x65,0x31,0xdb,0xda,0x6a,0xc2,0x3f, + 0xb7,0xb9,0xd6,0x69,0x7e,0x46,0xa3,0x68,0x7f,0xbd,0x00,0x76,0x96,0x16,0xf3,0xff, + 0xcc,0x8b,0x39,0x82,0xd6,0xa5,0xa1,0xc6,0x1f,0x21,0xad,0x26,0xfc,0x73,0x97,0x71, + 0x4c,0x68,0x79,0xba,0x95,0xb4,0xf1,0xb0,0xc5,0x84,0xbf,0x82,0x1f,0x1c,0xb2,0x81, + 0xa9,0x0d,0x54,0x49,0x6f,0x35,0xe1,0x9f,0x4a,0x58,0xad,0xe1,0xfc,0x06,0xff,0x54, + 0xb6,0x55,0x99,0x39,0x7c,0x7d,0xd2,0xff,0x83,0x82,0x6e,0x0d,0x0f,0xa4,0x5a,0x49, + 0x57,0xe2,0xfe,0xdb,0xe8,0x34,0xb4,0x5f,0x66,0x23,0xec,0xb1,0x64,0xa9,0x6f,0x84, + 0x76,0x8c,0x64,0x72,0xff,0xcf,0x67,0xec,0x56,0x0e,0x7b,0xde,0x55,0x4e,0x72,0x20, + 0xb4,0xb4,0xe6,0x05,0x13,0xfe,0xd9,0xc6,0xbd,0xaf,0x7f,0xc0,0xd3,0xb7,0x4d,0x7f, + 0xa7,0xbe,0xcc,0xe4,0xcf,0x0f,0x8b,0x03,0x93,0xae,0x40,0x15,0xb3,0xe9,0xa2,0xc7, + 0x84,0x7f,0xae,0x48,0x3f,0x67,0xf3,0xa3,0xb6,0xdd,0xa5,0x3f,0xa3,0x47,0x59,0xe9, + 0x69,0x1b,0xc7,0x3f,0x57,0xf9,0x95,0x1e,0x1c,0xfc,0x69,0x53,0xd5,0x72,0x5b,0x4f, + 0x8d,0x6e,0xf2,0xff,0xe4,0xb1,0x57,0x82,0xf9,0x43,0x6d,0x17,0x3c,0x95,0x6c,0x0d, + 0xe4,0x1b,0xfe,0x1f,0x6d,0x07,0x7f,0xfe,0x47,0x71,0xb0,0xaa,0xbc,0xf8,0x6e,0x79, + 0x66,0x8e,0x09,0xff,0xc0,0xe6,0xb4,0x5d,0xf0,0xbc,0xde,0xd6,0x40,0xee,0xf3,0xaf, + 0x49,0xfa,0x7f,0x70,0xfe,0xc3,0xf8,0xbe,0xcd,0x88,0x88,0x65,0xaf,0x3d,0x05,0xff, + 0x20,0x9a,0x42,0xb1,0xa3,0xfa,0xad,0x28,0xc6,0x93,0xf1,0x8e,0x5e,0x1c,0x1c,0x66, + 0x7e,0xea,0x6c,0x91,0xe7,0x90,0x48,0x62,0x7f,0x76,0x4d,0xf9,0x2d,0x82,0x9c,0xf9, + 0xba,0x6d,0x4f,0xc1,0x4f,0xe0,0xa8,0x50,0x1a,0x13,0x9b,0xb1,0xf7,0x15,0x06,0xa0, + 0x85,0x55,0x36,0xd8,0x7e,0xbd,0x35,0xf9,0x3c,0x8c,0xfb,0x7f,0xa0,0xf2,0xb4,0x2d, + 0x5c,0x33,0x20,0xc5,0xd5,0xdc,0x40,0x2c,0x1e,0xc1,0x1d,0x65,0x1f,0xf3,0x83,0xc6, + 0x4c,0xf1,0x2f,0x01,0x45,0xf6,0x55,0x68,0xd2,0x9d,0x0d,0xe2,0x3e,0xcb,0x22,0x04, + 0x42,0x1c,0xf6,0xa0,0xfe,0x9a,0x8b,0xf2,0xbc,0xe0,0x12,0x0c,0xf0,0xf5,0xf4,0x8a, + 0x90,0x88,0x7f,0x35,0x4a,0x0f,0x42,0xb8,0x19,0xf5,0x3b,0x23,0x4e,0x90,0xb9,0xe2, + 0xe6,0xfa,0xf7,0x45,0xc9,0x1d,0x73,0xec,0x74,0xbd,0x5e,0xe2,0x96,0x03,0x08,0xe4, + 0x4c,0xfe,0x1f,0xb6,0x97,0x39,0xf4,0xba,0x6e,0xcf,0x36,0x5a,0x80,0xef,0x9b,0xc7, + 0xa7,0xb5,0xc1,0x8c,0xd8,0xfc,0xdd,0xbd,0x25,0x3e,0xb9,0xa7,0x43,0x35,0xc9,0x1f, + 0x0a,0x7b,0xa9,0x1a,0xe1,0xde,0x0f,0x86,0x1b,0x6f,0x90,0xfb,0xe7,0x25,0x43,0x50, + 0xbb,0x71,0x7e,0x08,0xf0,0xbf,0x9a,0x9e,0x9e,0x94,0x3f,0x90,0xb9,0x1c,0x57,0x63, + 0xbe,0xbe,0xb8,0xdb,0xb3,0x4f,0xfd,0x0b,0x94,0x0e,0x5a,0x0d,0xfd,0xab,0xe0,0xc6, + 0xe8,0x6e,0x1a,0x99,0x8c,0x82,0xb4,0xda,0xb6,0xba,0x0d,0x12,0xf2,0x27,0x94,0x39, + 0x86,0xf3,0xf7,0x0f,0xda,0x86,0x70,0xda,0x7b,0x50,0xd9,0x2f,0x4f,0xf8,0x7f,0x96, + 0x8c,0x8a,0x27,0x15,0xae,0xf3,0x71,0xff,0x0c,0x27,0xe3,0x5f,0x69,0xfc,0xd7,0x52, + 0xbd,0x78,0x54,0xae,0xe4,0xdb,0x26,0x92,0xf9,0xd9,0xab,0x3f,0x83,0xab,0xae,0xb9, + 0x3e,0x9b,0x2e,0x8c,0xe2,0x89,0x2b,0x05,0x6b,0x5f,0x93,0x19,0xff,0x7c,0xa2,0xed, + 0x69,0x42,0xf9,0x3c,0x46,0x4a,0x60,0xaf,0x5a,0xf4,0x7b,0x7a,0x1e,0x07,0xaf,0xf8, + 0xe6,0x68,0xf2,0x6a,0x32,0x4b,0x0b,0xe8,0xf6,0xa0,0xe5,0x59,0xbb,0x19,0xff,0x0c, + 0x48,0x3b,0x04,0x55,0x6f,0x51,0xb8,0xb7,0x87,0x3a,0x06,0x32,0xdc,0x68,0x86,0xef, + 0x50,0x0a,0x35,0x39,0xd7,0xaf,0x01,0xab,0x56,0x95,0x3c,0x78,0x99,0x98,0xf0,0xcf, + 0x36,0xd8,0xdb,0xbc,0xac,0x16,0x85,0xb6,0xd3,0x08,0x7b,0xa1,0x21,0xe6,0xa4,0x37, + 0xc2,0x0c,0x9f,0xbc,0x89,0x94,0x08,0xad,0xcd,0xcb,0x1a,0xb3,0xbb,0x56,0xa7,0xc4, + 0xbf,0xa4,0x8b,0x2c,0xac,0x65,0xf6,0xc8,0x4e,0x63,0xdb,0x64,0xf2,0x78,0xf1,0x45, + 0x28,0xd3,0x6c,0x9b,0xe4,0xef,0x91,0x43,0xba,0x7b,0xbb,0xb5,0x5d,0x84,0x64,0xfc, + 0x0b,0xf6,0xc5,0xd0,0xd1,0x6e,0x63,0x59,0xf6,0xf7,0xc6,0xfd,0x81,0x55,0x1a,0x22, + 0x46,0xbe,0x91,0xf6,0x6f,0xb0,0x35,0xc8,0xa9,0xf1,0xaf,0x8f,0x89,0x9b,0x9b,0xed, + 0xfc,0xfe,0x65,0xfa,0x5d,0xae,0x1a,0x1e,0xff,0x9a,0xa7,0x65,0xb9,0x26,0x7d,0x08, + 0xef,0xf8,0xf6,0x04,0x9d,0x3b,0x45,0x13,0xfe,0x91,0x2a,0x59,0x93,0xb7,0xe3,0x34, + 0x5a,0xeb,0x4e,0xdc,0xf6,0x05,0xbd,0x75,0xa3,0x46,0xfc,0x0b,0x57,0xac,0x3b,0xfb, + 0x53,0xd6,0xba,0xd0,0x1e,0xa0,0x7b,0x6a,0xba,0x4d,0xf8,0xe7,0x2e,0xb6,0x95,0x15, + 0x7a,0x8a,0x14,0xbe,0x2c,0xec,0x59,0x3d,0x2f,0x7e,0x5e,0x34,0x44,0x2c,0x01,0xc1, + 0xdf,0x5b,0x42,0x64,0xbb,0x29,0xff,0xc7,0x87,0xf2,0xe7,0x97,0xa1,0xe9,0xcb,0xe9, + 0x52,0xcf,0x34,0xd8,0x15,0x88,0xa7,0xc1,0xec,0x62,0xf9,0x3e,0x5a,0xef,0x79,0x97, + 0x6e,0x0a,0x4d,0xbf,0xff,0xc6,0x1f,0xa4,0xb7,0x27,0xfd,0x3f,0x75,0xce,0xe6,0xf7, + 0x2d,0x73,0x6a,0x71,0xdb,0x5a,0xe9,0x67,0x30,0x47,0x2f,0x46,0xfc,0xa3,0x7d,0x86, + 0xe7,0x31,0xcb,0x25,0xf4,0x92,0x63,0x7a,0x45,0x70,0x3d,0xa4,0xe4,0xff,0xe0,0xfb, + 0xaa,0xf3,0x6b,0x27,0x8d,0xe5,0x5c,0x82,0x2f,0xf9,0x42,0x9d,0xe5,0xf1,0x2f,0x8e, + 0x7f,0x76,0x8a,0x63,0xf0,0x17,0xdc,0x8a,0x78,0x82,0x4c,0xf8,0x67,0xca,0xa7,0xda, + 0xef,0x71,0x59,0xd6,0x05,0xd7,0xac,0xc0,0x65,0x71,0xf3,0x83,0x8c,0x0b,0x85,0x86, + 0x30,0xce,0xaf,0xe7,0x8e,0x5c,0x6e,0xaf,0x99,0xf1,0xcf,0x3e,0xb6,0x0a,0x0a,0xf4, + 0x3a,0x6f,0xf6,0x54,0x09,0x05,0x4b,0x44,0x3e,0xbf,0x71,0x2a,0xec,0x72,0xdc,0x5a, + 0x2d,0x47,0xc5,0xfb,0x94,0x5d,0xb0,0x45,0x97,0x7d,0xa9,0xf1,0x2f,0x54,0xb9,0xd3, + 0x11,0xff,0x90,0x69,0x14,0x5f,0x73,0xe8,0xc9,0x47,0xc9,0x34,0xd8,0xf1,0xcb,0x7c, + 0x9f,0xbc,0x72,0xf5,0x34,0xfe,0xe2,0xef,0x2f,0x2a,0x4f,0x77,0xa5,0xf8,0x7f,0x9a, + 0x34,0xfb,0x50,0xcc,0xff,0x6c,0xf8,0xf3,0x2d,0x56,0xdc,0x48,0xcb,0x7d,0x72,0x37, + 0xb9,0xab,0x7a,0x87,0x57,0x1d,0x95,0xe7,0x98,0xe3,0x5f,0x88,0xdf,0x5e,0xa7,0x65, + 0x88,0x76,0x6c,0x75,0x70,0x0e,0xdc,0x8d,0x99,0x21,0xd1,0xc1,0x23,0x7a,0x5d,0xeb, + 0x43,0xe2,0x3c,0xf8,0x82,0x95,0x06,0x6d,0x23,0x93,0x52,0xe2,0x5f,0x64,0xf8,0xce, + 0x4a,0xc8,0x02,0x31,0x94,0x84,0x01,0x7c,0xb0,0xa4,0x59,0x8c,0xaa,0x88,0x7f,0xc0, + 0xd6,0x68,0xc6,0x3f,0x70,0x26,0x63,0xbc,0xba,0xc3,0xdb,0x15,0x94,0xb9,0xb7,0xc7, + 0x8e,0x6a,0xee,0x5b,0x43,0x78,0x6c,0xcb,0x34,0x67,0x58,0x9c,0xc1,0xc6,0x25,0xf7, + 0x42,0x5b,0x9e,0x29,0xfe,0xc5,0x6a,0xff,0x2c,0xec,0xf6,0xd9,0x1f,0xc6,0xfd,0x5f, + 0xa8,0x3c,0xaf,0xd9,0xb5,0x2c,0x43,0xff,0x0a,0x68,0x71,0x6f,0xcc,0xee,0xa4,0xbb, + 0x49,0xc7,0x43,0x59,0x9b,0x89,0x09,0xff,0x48,0xcf,0x34,0xf3,0xe8,0x8c,0x25,0x98, + 0x5e,0xa8,0xb5,0x68,0x2f,0x24,0xf1,0x0f,0xe5,0x19,0x2f,0xbb,0xab,0x11,0x11,0xfd, + 0x32,0x05,0xff,0xa4,0xe1,0xaf,0x0e,0xef,0x0d,0x4a,0xba,0x04,0x5b,0x34,0xea,0xb5, + 0xe4,0xf2,0x78,0x50,0x6d,0x11,0x22,0xa2,0xf4,0xe6,0x8c,0xed,0x82,0xca,0xaf,0x98, + 0xf0,0x4f,0x86,0x0f,0x7a,0x60,0x9e,0x25,0x8b,0xa7,0xd9,0x70,0x47,0x84,0x81,0x7f, + 0x78,0xbc,0x09,0x15,0xb1,0x4a,0x57,0x42,0x37,0x5b,0xc2,0xe4,0x94,0xf8,0x97,0x74, + 0xb9,0x7a,0xae,0x96,0x36,0x68,0x84,0x75,0xca,0xbc,0xeb,0x36,0xf1,0x81,0x36,0x17, + 0xcf,0xa3,0xf8,0x39,0xfd,0x5c,0xab,0xf2,0x66,0x1d,0x37,0xfb,0x7f,0x84,0xf3,0x70, + 0xd8,0x31,0xf7,0xef,0x96,0x6c,0xac,0x39,0x9f,0x7b,0xb9,0x16,0xb7,0xcd,0x2f,0x79, + 0x60,0xc8,0x37,0x4f,0xb3,0xfd,0x41,0xd8,0x09,0x87,0xd5,0xd2,0xc5,0xf0,0x7b,0x71, + 0x86,0x39,0xff,0xc7,0x1e,0x20,0x76,0x2a,0xaf,0x42,0x23,0x74,0xa7,0xda,0x41,0x65, + 0x3f,0xae,0x46,0x8f,0xcf,0x6e,0xb1,0x3d,0x6b,0xc9,0xc7,0x27,0xec,0xd8,0x5c,0xb7, + 0xc6,0x92,0x95,0x58,0x4f,0xb8,0xbd,0xbf,0xbf,0x05,0x9c,0x4b,0x65,0xc5,0xc3,0x61, + 0x9e,0xea,0x91,0x73,0x49,0x33,0x6c,0xd7,0xd0,0x02,0xcd,0x4d,0x4f,0x83,0xc6,0x5a, + 0x5c,0x58,0x85,0x10,0x33,0xfe,0x11,0x5a,0xaa,0xf9,0x32,0xa2,0x99,0xb9,0x1d,0xec, + 0xd5,0x3c,0x4c,0x06,0xdb,0x85,0x65,0xda,0x22,0x1e,0x61,0xcc,0xc0,0x2f,0xa8,0x6c, + 0x20,0xe9,0x49,0xfc,0xa3,0x74,0xe6,0x1e,0x60,0x3f,0xd3,0x96,0x24,0x61,0x5b,0x01, + 0x3e,0xbf,0x34,0xef,0xf6,0x45,0x9b,0xc5,0x19,0xfa,0x81,0x90,0xbb,0xa1,0xf0,0x69, + 0x31,0x99,0xff,0xf3,0x02,0xe0,0xaf,0xed,0x28,0x9d,0x9e,0x2a,0x8d,0x87,0xbd,0x94, + 0x9a,0xd8,0x20,0xeb,0x49,0x71,0xc8,0xf2,0xa1,0xbd,0xa2,0x76,0x52,0x7b,0x4e,0x0a, + 0xfe,0x51,0x23,0x9a,0x1b,0x8d,0x47,0x91,0xc7,0x1f,0xdd,0x42,0x7c,0xbf,0x95,0x41, + 0x66,0xba,0x98,0x2f,0x8d,0x79,0xdc,0xd4,0xda,0x68,0xf6,0xff,0x48,0xb7,0xb9,0x5e, + 0xd7,0x9a,0x98,0x25,0x54,0x5a,0x04,0xad,0xac,0xac,0x51,0x0e,0xb9,0x87,0x63,0x81, + 0xb0,0x21,0xd2,0x1a,0x7c,0x19,0xb6,0x32,0x3a,0x64,0xf6,0xff,0x34,0xaf,0x90,0x1e, + 0xd7,0x0d,0x37,0xec,0x1d,0xf0,0x78,0x48,0x35,0xcc,0x04,0x69,0x87,0x84,0xf8,0x47, + 0xc5,0x2b,0x3b,0xd4,0xc2,0x7b,0x17,0xed,0xf4,0x9b,0xe2,0x5f,0xd5,0x14,0x9a,0x68, + 0xfe,0x69,0xcb,0x4a,0x72,0x9d,0xba,0x8a,0x4e,0xe7,0x30,0x00,0xf1,0x00,0x99,0x8e, + 0xc0,0xc0,0xcf,0x81,0x01,0xfe,0xc3,0x06,0x18,0x36,0xc5,0xbf,0xee,0x81,0x3f,0x22, + 0xc8,0xb1,0x96,0xcb,0xdf,0x85,0x3f,0x04,0x66,0x47,0x6d,0x3f,0x46,0xfc,0x73,0x35, + 0x70,0xeb,0x70,0xe6,0xb0,0xf8,0x5d,0xe9,0x4b,0x36,0xc5,0x37,0xab,0xde,0xec,0xff, + 0xb9,0x3e,0x9c,0x77,0x51,0xd8,0xcf,0xfd,0xf3,0x03,0x30,0xa6,0x55,0xf6,0xdb,0x5e, + 0xe2,0x78,0xc0,0x3b,0xef,0x24,0x47,0x44,0x5c,0xf0,0xf6,0x6e,0x36,0xfb,0x7f,0xb4, + 0xb4,0x0b,0xda,0x55,0x56,0x15,0xb5,0xf6,0x88,0xd7,0xc1,0x07,0x71,0xd8,0xa3,0x5d, + 0x64,0xa5,0xa3,0xd6,0x61,0x52,0xa9,0x1d,0xda,0x38,0xb9,0xf0,0xbe,0x1e,0x53,0xfe, + 0x67,0xd7,0xe4,0xa7,0x60,0x57,0xa8,0x38,0x80,0x30,0x2c,0x17,0xfe,0xa7,0x92,0xdf, + 0xdf,0xb6,0xd2,0x8e,0x8f,0x1d,0x9e,0xdb,0x9f,0xb9,0x10,0xa6,0xde,0xb3,0xa6,0x33, + 0x7f,0x60,0xe9,0x22,0x62,0xc6,0x1b,0x41,0x6d,0x97,0x5a,0xec,0x47,0x7b,0xed,0x5e, + 0x78,0xc6,0x80,0x79,0xd9,0x27,0x15,0x1e,0xff,0xa2,0xf6,0xac,0xa9,0xda,0x13,0xe4, + 0x7d,0xed,0xb6,0xef,0xe1,0x09,0x9a,0x58,0x7f,0x5f,0xae,0x8f,0xe7,0x56,0x36,0x66, + 0xb8,0xdc,0x12,0xcf,0x1f,0x8b,0xe3,0x1f,0xa1,0x50,0xcf,0x90,0xd2,0x6d,0xbe,0xc7, + 0xeb,0xd4,0xc1,0xeb,0xb7,0x5d,0xf7,0x76,0xc2,0x3f,0xc9,0xf3,0xb5,0xc6,0xa5,0x4a, + 0xcd,0x1a,0xbe,0x65,0x39,0x02,0xd1,0xf9,0xdc,0xde,0x1c,0x31,0x34,0xb2,0xb5,0x53, + 0x2c,0x81,0xdf,0xab,0x6e,0x5f,0x46,0x8f,0x78,0xd0,0xf4,0x3c,0x51,0x18,0xf7,0x56, + 0x2a,0x86,0x5b,0x0c,0xb7,0x4d,0x2f,0x87,0x3d,0x4a,0x1c,0x08,0x8d,0x28,0x1f,0x42, + 0x65,0xf4,0xee,0x5d,0xf8,0x53,0x12,0xff,0x8c,0xc2,0x6b,0x74,0x7e,0x48,0x0a,0x4f, + 0x3a,0xaf,0x5d,0xd1,0x0d,0xfc,0xb3,0x0f,0x7e,0x6e,0xe4,0x7b,0x34,0x3d,0x20,0x5c, + 0x15,0x4a,0xfb,0x6c,0xa3,0x72,0x28,0x71,0x5e,0x7a,0x61,0x19,0x69,0x61,0x76,0xd5, + 0xc1,0xa3,0x69,0x3d,0xd0,0x81,0xfa,0xd4,0x50,0xc4,0x3f,0xc3,0xfd,0x60,0x71,0xd2, + 0xdd,0x8d,0xf6,0x21,0x79,0x8f,0x18,0x32,0xe1,0x1f,0xbb,0xd0,0xa2,0xff,0xf0,0x84, + 0x25,0x9c,0x3d,0x64,0xc4,0xbf,0x22,0x2e,0xb2,0x4d,0xda,0x9b,0x56,0xa2,0x23,0xde, + 0x76,0x66,0xbc,0xd8,0x6b,0x57,0x6e,0xec,0x9a,0x11,0x32,0xc9,0x1f,0x42,0x1b,0x55, + 0x95,0xa1,0x76,0x6b,0xe6,0xe7,0x51,0xbf,0xde,0x85,0x40,0x71,0x87,0xea,0xd0,0x45, + 0x42,0xac,0xc2,0x76,0x97,0x0a,0xbf,0x22,0x66,0xfc,0x63,0x55,0x03,0x2d,0xea,0x3c, + 0x96,0x15,0xf6,0x73,0xb7,0x4f,0x37,0x7f,0xfe,0x6d,0xf0,0xa5,0x63,0x16,0x4f,0x73, + 0x72,0xc2,0xc7,0x3c,0x22,0xec,0x6f,0x0a,0x25,0xf1,0xcf,0x4d,0xd1,0xda,0x71,0x65, + 0x01,0x7b,0x60,0xb4,0xe0,0xbc,0x74,0x19,0xaa,0x7a,0x93,0xf1,0xaf,0x46,0xf1,0x92, + 0x74,0x5e,0xe3,0xf8,0xb9,0xa0,0xcb,0x84,0x7f,0x2e,0xc0,0x09,0xa9,0x72,0xd0,0x79, + 0x3e,0x67,0x85,0xf4,0xde,0x86,0xb2,0x53,0xeb,0x7f,0x2c,0xba,0xc9,0xd1,0x6c,0x23, + 0x7e,0x7a,0x3e,0x34,0xe0,0x2e,0xc8,0x5f,0xfc,0x6a,0x8e,0xcb,0x14,0xff,0xfa,0x08, + 0x41,0xe9,0xac,0x41,0xfa,0x85,0x7d,0x41,0xf3,0x8b,0x50,0x14,0xcd,0xea,0x26,0x33, + 0x60,0x7d,0x03,0x4f,0x04,0xf2,0x7c,0x10,0x6e,0x7f,0xc4,0x1e,0xa2,0xab,0x89,0x2b, + 0x11,0x7f,0x8f,0xa0,0xfd,0xc5,0xc0,0x79,0x82,0xce,0x21,0x77,0xa9,0x4d,0xaa,0x11, + 0x5f,0x1e,0xca,0x6d,0x52,0x63,0xf6,0x45,0x63,0x50,0xb0,0x03,0x15,0x88,0xdb,0x14, + 0xff,0xfa,0x17,0xd2,0xe2,0x2f,0x41,0xd8,0x63,0x5f,0x81,0xfb,0xa1,0xa8,0x17,0xf1, + 0xe7,0x19,0x04,0xd2,0x06,0x9e,0xfc,0x94,0x3c,0xc5,0xec,0x8c,0xb6,0x13,0x57,0x32, + 0x3f,0x79,0xf2,0x47,0x10,0x89,0x54,0xea,0x8b,0xc3,0xf2,0x0a,0x84,0xb5,0x65,0xb8, + 0x1f,0x6a,0x1e,0xe4,0x03,0x7d,0x52,0x58,0xfc,0xb3,0xe3,0x40,0x9f,0x2b,0x7b,0xf1, + 0x66,0x51,0x31,0xc5,0xbf,0x7a,0xd4,0x71,0xbe,0x2c,0x61,0xdc,0x06,0x7c,0x59,0xe4, + 0xf3,0xa4,0x02,0x07,0x7b,0x39,0x3e,0x1c,0xc2,0xcd,0xf5,0x4a,0x64,0x89,0x26,0x0f, + 0x9b,0xe2,0x5f,0xdb,0xb8,0x76,0xd3,0xd7,0x86,0xc5,0xb5,0xf4,0x1d,0x63,0x9b,0xdd, + 0xe8,0x94,0x0e,0x49,0x71,0xff,0xcf,0x30,0x5f,0xff,0xb0,0x19,0xff,0xa4,0x65,0xb1, + 0xdd,0x6a,0x81,0x4e,0x47,0xc5,0x9f,0xe0,0x7c,0xdc,0x06,0x3d,0xa8,0x88,0xd7,0x4b, + 0x86,0x23,0xe8,0xe3,0xbe,0xc0,0x52,0x1c,0xfc,0xda,0x94,0xff,0x8c,0xf8,0x07,0xc2, + 0x43,0x33,0x38,0xcc,0x5b,0x8b,0xaf,0xe9,0xd4,0x33,0xb6,0x27,0x1d,0x17,0x51,0xd4, + 0x2e,0x68,0x98,0x3b,0x96,0x9d,0x4d,0xe8,0xbb,0x51,0x01,0x95,0xbe,0xdf,0x37,0x44, + 0x1f,0x25,0xdf,0x5d,0xf5,0x04,0x4f,0x83,0x59,0x49,0x2a,0xd1,0xc2,0x9a,0xce,0x07, + 0x6f,0x6b,0xbf,0x60,0xd3,0x55,0xb9,0x8e,0x5c,0x49,0x9c,0xaf,0x3b,0xa9,0x55,0x1a, + 0x0d,0x3f,0x32,0xb2,0xb8,0x5c,0xfe,0x2d,0xbc,0x2a,0x54,0x8c,0xac,0x77,0x89,0x56, + 0xf8,0x18,0xc2,0xba,0x6d,0xbe,0x18,0x81,0xcf,0xb4,0x39,0x77,0xd8,0x2a,0x9a,0x7e, + 0x4f,0x26,0xe6,0x6b,0x37,0xf1,0x65,0xb1,0x45,0xe4,0xd1,0xa6,0xd8,0xfa,0xe0,0xfe, + 0x39,0x49,0xde,0xa1,0xf3,0x0c,0x47,0x10,0x41,0xfc,0x03,0xb6,0x0d,0xe2,0x60,0xe2, + 0x3c,0xf2,0xf8,0xd7,0x25,0xa8,0x7c,0x0b,0x61,0xf9,0x8a,0xc8,0xa1,0xd8,0x31,0x74, + 0xc2,0xa1,0xe5,0x95,0xb1,0x7c,0xbc,0xdf,0x08,0x25,0x7f,0xc4,0xfd,0x46,0x92,0xf9, + 0x9f,0x1b,0x36,0xa3,0xb4,0x2c,0x3e,0x1e,0x98,0x5d,0x64,0x55,0xd7,0x40,0x31,0xca, + 0x13,0x71,0x2a,0x59,0xe3,0xb8,0x8d,0xfb,0x7f,0x4e,0xc0,0x2a,0x7e,0x45,0xb7,0xb8, + 0x4d,0xfe,0xde,0xa7,0x1d,0xbb,0xf4,0x99,0xc3,0x1c,0xe6,0x65,0x3c,0x67,0xbc,0xaf, + 0xe5,0x0a,0xc4,0x5f,0xfc,0xa0,0xb2,0x6a,0x75,0x71,0xb4,0x6d,0x25,0xc9,0x33,0xe1, + 0x9f,0x23,0x46,0xf6,0x42,0x1d,0x1e,0x43,0x61,0x2f,0x77,0xfb,0xb4,0x13,0x5b,0xe1, + 0xe3,0xb1,0xc4,0x86,0x61,0x7f,0x8b,0xb6,0x62,0x50,0xde,0x40,0x6e,0x48,0xf1,0xff, + 0x5c,0x61,0xf3,0x78,0x92,0xf3,0x30,0xf9,0x28,0xe6,0xf6,0x59,0xa9,0xc6,0xfd,0x3f, + 0xe3,0xec,0xc8,0xd2,0xca,0x6e,0xdb,0x08,0x02,0xa1,0x89,0xe7,0x37,0xfc,0x3f,0xbd, + 0x3c,0xdb,0x59,0xf0,0x49,0xdc,0xfb,0xb1,0xa4,0x11,0x81,0x50,0x2c,0x10,0x26,0x46, + 0x09,0x4a,0x6c,0x6a,0xf8,0x7f,0x26,0x9e,0x9f,0x2a,0x67,0xb4,0x03,0xfe,0x79,0x5a, + 0x49,0xf0,0xc6,0xc2,0xb8,0x7e,0x34,0x80,0x90,0x1b,0x35,0xac,0xf8,0x67,0x38,0xc0, + 0xdc,0xb5,0xb6,0x8d,0x84,0x24,0x9e,0x9f,0xfb,0x7f,0x5a,0xee,0xcc,0xd2,0x78,0xb4, + 0x0b,0x5a,0x24,0x44,0x2f,0x9b,0xb2,0x25,0x69,0xc2,0x11,0x64,0x6f,0xf1,0x76,0xe8, + 0xf2,0x53,0x29,0xfe,0x9f,0xe9,0xd0,0xa2,0x20,0xfe,0x51,0xee,0x29,0x84,0xe7,0xb9, + 0x9b,0x62,0x23,0xca,0x2b,0x9e,0x38,0x64,0x09,0x92,0x4e,0xee,0xc1,0xf0,0xe0,0x3f, + 0x5c,0x97,0xd8,0x6f,0x20,0x15,0xe2,0xaf,0xce,0x6f,0xd2,0x5c,0x82,0xda,0x5f,0x0b, + 0x55,0xcb,0x53,0xef,0x28,0xe4,0x8e,0x20,0xcd,0x70,0x8c,0x34,0xd6,0x2c,0xd7,0x0e, + 0xe5,0x66,0xb7,0x26,0xe2,0xef,0xe5,0x99,0x3e,0x88,0x08,0xe5,0x50,0xc2,0x64,0x55, + 0x19,0x8e,0xb9,0x1d,0x78,0xd8,0xcb,0x08,0xc4,0x44,0xe1,0xa0,0x54,0xc6,0xaf,0xac, + 0x4b,0xc4,0xbf,0x4e,0xdc,0x74,0xde,0x72,0xb9,0xba,0xd2,0xbb,0xc4,0x08,0x7b,0x71, + 0xfd,0xee,0x15,0x8f,0x73,0xff,0x4f,0xb5,0x2d,0x28,0x5e,0x86,0xcb,0x1a,0x02,0x9b, + 0xe3,0xe2,0x3f,0x24,0xf3,0x79,0xd2,0x76,0xc2,0x65,0x07,0x0f,0x1b,0xb5,0x15,0xaa, + 0x07,0xf8,0xfc,0x41,0x59,0x82,0xb7,0xc0,0xf0,0x9f,0xec,0xd4,0x0e,0xf3,0x2b,0xbf, + 0x8f,0xa6,0x27,0xe6,0xaf,0x54,0x10,0x7d,0x79,0xec,0x53,0xeb,0x9a,0x49,0x3e,0x04, + 0xa0,0x44,0x90,0x99,0x47,0xcd,0x38,0x11,0xf7,0xff,0x68,0x01,0x5f,0x09,0xc8,0xcd, + 0x24,0x2b,0x71,0x1e,0xa9,0x84,0xb0,0x87,0xa9,0x9e,0xfa,0xec,0x3e,0x29,0xd4,0xe8, + 0xc0,0xd3,0x94,0xbd,0x11,0xdf,0xb7,0xc8,0x78,0xdf,0x7e,0xd6,0x78,0xa7,0xb3,0x5a, + 0xce,0x26,0xd9,0xc2,0xc4,0xfc,0xbc,0x29,0xcf,0x48,0xbb,0x55,0x23,0xff,0x87,0x3b, + 0xd6,0x4a,0x34,0x3c,0xb6,0xcb,0xe1,0x49,0x5c,0xd8,0x1b,0x71,0xfd,0x2d,0x6d,0x86, + 0x63,0xad,0x23,0x3d,0x71,0xff,0xd0,0x64,0xee,0xdd,0x72,0x57,0x5b,0x83,0x62,0x21, + 0x35,0x9e,0x3f,0x4f,0x4c,0x6b,0x8a,0x01,0xdd,0x9c,0x3f,0xd7,0xb6,0x6c,0xc1,0x2b, + 0x9b,0xff,0x8b,0xc3,0x14,0xff,0x7a,0x56,0x3b,0x0b,0xfb,0xf8,0x36,0x18,0x22,0xc6, + 0xfa,0x6c,0x24,0x9d,0x19,0xa7,0x62,0xfe,0x9f,0xd7,0xe9,0xb8,0x13,0x07,0xd9,0xf2, + 0x39,0x13,0xfe,0xd9,0xa2,0x8d,0x4d,0x9e,0x07,0x25,0x50,0x83,0xeb,0x2f,0x54,0x0a, + 0x7f,0xcf,0x81,0x10,0x5a,0x59,0xb0,0x8e,0x89,0xa7,0xd4,0x08,0xb8,0x33,0x70,0xfd, + 0x89,0x39,0xfe,0xa5,0xed,0xf7,0xdb,0x1b,0x29,0xcf,0xff,0x69,0xc5,0xcf,0xb6,0x84, + 0x3b,0x82,0x5a,0x63,0x89,0x40,0x63,0x70,0x44,0xb3,0x07,0xdb,0x3e,0x20,0x16,0x93, + 0xff,0xe7,0x1b,0xc2,0x76,0x9f,0x43,0x2f,0x72,0xa5,0x3b,0x63,0xf6,0x42,0x39,0xb1, + 0x8a,0x4d,0xb1,0xc4,0xb9,0x37,0xa0,0x91,0xf9,0x74,0x39,0x0f,0xe7,0x27,0xfd,0x3f, + 0x79,0xc2,0x76,0x92,0xff,0x1a,0x37,0x63,0xf5,0x27,0xf8,0x69,0xbd,0x97,0x54,0xd0, + 0xa6,0x98,0x23,0xf7,0x2d,0xd8,0xd4,0x97,0xaf,0xc9,0xb5,0x44,0x4d,0xc4,0x3b,0xba, + 0x02,0xd7,0xa5,0xbd,0xc4,0xe6,0x8f,0x94,0xfc,0x4c,0x9c,0x06,0x5f,0x86,0x17,0x44, + 0xe5,0x31,0x79,0x1a,0xbc,0x31,0xbc,0x20,0x9a,0xb5,0x52,0xfc,0x82,0x1c,0x65,0xdb, + 0x4f,0xdb,0xc6,0xd0,0xc2,0x9b,0xd8,0x6f,0xf4,0xa6,0x2e,0xbe,0x6d,0x06,0xb3,0x76, + 0xa2,0x74,0xfd,0x18,0xe5,0x49,0x96,0xc9,0x9f,0x3f,0xa6,0x7c,0xca,0x07,0x51,0xb1, + 0x2f,0x69,0xff,0xfe,0xe2,0x0b,0xe5,0x32,0xab,0x3a,0x65,0xbd,0x64,0xab,0xd4,0x8e, + 0x06,0x2a,0xb9,0xda,0xaa,0x84,0xa3,0xec,0x96,0x21,0x1c,0x7c,0x01,0xbf,0xe1,0x89, + 0x40,0x6f,0x89,0x90,0x38,0x5f,0x3c,0xff,0xe7,0x25,0xa5,0x98,0xe3,0xbd,0xcd,0xfa, + 0x73,0x80,0x62,0xe4,0x9b,0x6d,0x28,0x7f,0x82,0x5b,0xb8,0x7c,0x18,0xd4,0x8e,0xab, + 0xf9,0x5a,0x5b,0xc6,0x3d,0x45,0xe9,0x13,0xf3,0x11,0xd1,0x23,0xa8,0x2b,0xee,0x77, + 0xcc,0x26,0x3c,0xf0,0x37,0x5d,0x6f,0xf5,0x5a,0x2a,0xe0,0x71,0xb8,0x9f,0x7b,0x84, + 0xee,0x25,0xab,0xa4,0x7c,0x26,0xdf,0x63,0x49,0xe6,0x3f,0x17,0x4a,0x07,0xa5,0xed, + 0x28,0x76,0xf0,0xfe,0x6b,0x95,0xad,0x5c,0xfe,0xe4,0x91,0x4c,0xf8,0x55,0x4c,0x9e, + 0x1f,0x80,0xa7,0x42,0x2a,0x93,0x0b,0x49,0x5d,0xf2,0x79,0xd2,0x3a,0x83,0xe3,0xbd, + 0x55,0xfa,0xe2,0xd1,0x9c,0x0a,0x38,0x1a,0x7b,0xcd,0x62,0x78,0x2f,0x16,0x5f,0xf8, + 0x00,0x0e,0x44,0xdd,0x41,0xb9,0xbd,0xe9,0x87,0x66,0xfc,0xa3,0x8c,0x77,0xc6,0xdd, + 0x3e,0xb8,0x2c,0xbd,0x4b,0x76,0x8a,0xdb,0xa4,0x8f,0x63,0xff,0xf0,0x23,0x36,0x06, + 0xfb,0xed,0x72,0xf3,0xf7,0x4c,0xfe,0x1f,0x78,0x04,0x0f,0xdd,0x02,0xae,0x8f,0x46, + 0x28,0xb7,0x5e,0x6d,0x51,0xb9,0x42,0x3d,0x1a,0x4b,0x04,0xaa,0x45,0x69,0x5e,0x5a, + 0x2b,0x87,0xb7,0x44,0x4c,0xfe,0x9f,0x65,0xb0,0x3b,0xc0,0xf5,0xaf,0x36,0x02,0x32, + 0xd7,0x5f,0x4e,0xd4,0x47,0xef,0xf0,0xfc,0x5b,0x54,0xc4,0xca,0xf3,0xfd,0xf6,0x7b, + 0x50,0xa2,0x0e,0x27,0xf1,0xcf,0x94,0x19,0xd0,0x23,0xcc,0xd0,0x49,0x98,0xac,0x80, + 0x17,0xa1,0xa4,0xb7,0xad,0x3d,0x7b,0x85,0x10,0x4f,0x04,0x3a,0x83,0x50,0x61,0x06, + 0xb3,0x6c,0x26,0xa1,0x14,0xff,0x33,0x5f,0x9f,0xa2,0x58,0x98,0xc3,0xfa,0x16,0x1e, + 0xc3,0x15,0x62,0x3c,0xf1,0xac,0x0f,0x8d,0x4b,0x15,0x64,0x21,0xbd,0x6f,0x55,0x62, + 0xf9,0x51,0xfe,0x8c,0x57,0xdf,0x3a,0x58,0x74,0x56,0xfc,0x04,0xad,0xef,0x79,0x11, + 0xdc,0xed,0x2b,0xe0,0x2f,0xd4,0x58,0x1f,0x9e,0x68,0xcf,0x25,0x52,0x23,0x4b,0xe0, + 0x9f,0x2d,0x37,0x8d,0xc2,0x02,0x87,0xed,0xe0,0x5d,0xe7,0x0a,0x2e,0x85,0x50,0x7f, + 0x9d,0xb0,0x69,0xe2,0x66,0x38,0x24,0xa1,0x22,0x3b,0xd7,0x34,0x8a,0xaa,0xea,0x15, + 0xe1,0x66,0x26,0x0e,0xd7,0x26,0xfd,0x2d,0xa3,0xf0,0x27,0x69,0x2e,0x58,0x41,0xdc, + 0x08,0x87,0xd9,0x5c,0x75,0x5a,0x40,0xac,0x94,0x06,0x89,0x81,0x7f,0x2e,0xb1,0x0b, + 0x4a,0xa9,0x86,0xd0,0x7a,0xd4,0xe4,0xff,0xf9,0x02,0xbf,0x81,0xc8,0x1c,0x8c,0xd8, + 0x11,0x28,0x16,0xe5,0xd3,0x00,0x31,0x22,0x62,0x3c,0x11,0xfa,0x92,0x8e,0x2f,0xfe, + 0x2d,0x6b,0x98,0x44,0x4d,0xfe,0x1f,0x9d,0x34,0x82,0x84,0x76,0x70,0x3a,0x43,0xc1, + 0x3b,0x03,0xbe,0x03,0xcb,0xd6,0x5a,0x37,0x4a,0xaa,0xbe,0xc8,0xe5,0x19,0x50,0xc3, + 0x6a,0xe1,0xc0,0x22,0x97,0x3d,0xe9,0x7f,0xd6,0xd3,0x50,0x68,0x07,0x10,0x44,0x35, + 0x72,0x7b,0x16,0x8a,0xa8,0x25,0x40,0xb6,0x41,0xab,0xd2,0xa1,0xdf,0x18,0x26,0x23, + 0xca,0x0e,0xa9,0x23,0x8a,0x88,0x28,0x99,0xff,0xa3,0x09,0x9f,0xc2,0xab,0x7a,0x99, + 0xdd,0x5a,0xd8,0xd4,0x84,0xda,0xa4,0x8c,0x5a,0xac,0x05,0xdb,0xe0,0x1d,0xe6,0xd6, + 0x6f,0x0e,0xe7,0x8c,0x48,0x17,0xde,0x76,0x8f,0xe2,0x42,0x0d,0x9a,0xe2,0x5f,0xeb, + 0x5a,0x0d,0x27,0x6a,0x54,0x1c,0x83,0xcb,0xc1,0xaa,0xd0,0x63,0xfa,0xa4,0x4b,0xea, + 0x95,0x40,0x3c,0xfe,0x75,0x89,0x55,0xfa,0x8b,0x47,0xcd,0xf9,0xcf,0xb0,0x0d,0x0e, + 0xdd,0x13,0x96,0xac,0x21,0x31,0x9f,0x46,0x94,0x79,0x92,0xb5,0x39,0x67,0x04,0x0e, + 0x22,0x10,0x35,0x1c,0x95,0x28,0xd8,0x83,0xce,0x54,0xfc,0xe3,0x94,0xda,0x98,0x7d, + 0x93,0x23,0x24,0x3e,0xa0,0x37,0x82,0xfa,0x0b,0xf1,0x31,0xb0,0xc1,0x0b,0x01,0xbe, + 0x7f,0xe0,0x12,0x45,0xc3,0x7c,0x23,0x84,0xcd,0xf1,0xaf,0x29,0x1a,0x2e,0x8b,0x0a, + 0xd4,0xe2,0xc1,0xc1,0x16,0x07,0x64,0x58,0xa5,0x23,0x5a,0x2b,0xab,0x8f,0x25,0xee, + 0x76,0xc3,0x83,0x0d,0xe0,0x4a,0xf1,0xff,0x5c,0x07,0xab,0x98,0xda,0xe9,0xf8,0x8e, + 0xff,0x1e,0xf2,0x6b,0x96,0xaf,0x2e,0xfa,0x3b,0x32,0x0d,0x9e,0x65,0x3f,0x30,0x02, + 0x43,0xd6,0x97,0x43,0xc5,0x68,0x94,0x13,0x73,0xfc,0x8b,0x40,0x6f,0xc8,0x05,0x56, + 0x8b,0x58,0x8d,0xe0,0xbe,0xbc,0xf6,0xa6,0xcc,0xa6,0x01,0xad,0xcf,0x5f,0xae,0xdb, + 0xca,0xc5,0x81,0xdc,0xcf,0x42,0x15,0x41,0xeb,0xfc,0x14,0xff,0xcf,0x4e,0xed,0x32, + 0xec,0x65,0x69,0x83,0x05,0xa3,0xda,0x9f,0x95,0x2a,0xcd,0xa6,0x15,0x9c,0x54,0x2e, + 0xc0,0xdc,0x7e,0xdb,0x59,0xf1,0x32,0xbd,0xa8,0x54,0x81,0x2d,0xc5,0xff,0x83,0xf8, + 0x67,0x9c,0xd8,0x17,0x5a,0x55,0xbb,0xce,0xfd,0xff,0x5c,0x1b,0x6e,0x83,0x8b,0xcc, + 0x48,0x44,0xff,0x54,0x8f,0xe0,0x41,0x58,0x12,0xae,0x31,0xe5,0xff,0x08,0x9b,0xd4, + 0x57,0x10,0xdf,0xd1,0x06,0xc8,0x23,0xab,0x20,0x1f,0xda,0x78,0x22,0xe5,0xcb,0xb1, + 0xb4,0x81,0x4b,0xd0,0x0c,0x33,0x41,0x6e,0xf0,0x24,0xeb,0xbf,0x74,0xe5,0x9f,0xb9, + 0x93,0x47,0xa5,0x11,0xf7,0x31,0xb5,0x93,0xa3,0x3b,0xdd,0xff,0xb4,0xd4,0xcd,0x66, + 0x1a,0xef,0xbb,0x61,0x83,0xff,0xfe,0xd0,0xa1,0x95,0xf6,0x64,0xfd,0x5d,0x9d,0x72, + 0x18,0x76,0x04,0x7d,0x5d,0xb4,0x1c,0x41,0xc5,0xd6,0x85,0x85,0x85,0x32,0x2d,0x5a, + 0x4b,0xbb,0xb5,0x98,0x23,0x5a,0x78,0xb2,0xdd,0xa1,0xc8,0xa9,0xf9,0x3f,0xbb,0xb5, + 0x2f,0xd8,0x8f,0x98,0xf5,0xa3,0xef,0x8d,0xe1,0x46,0x9e,0xcb,0x96,0x0c,0x93,0x2e, + 0xeb,0x15,0x57,0x51,0x2c,0x10,0xf6,0x2e,0x2b,0xdd,0x88,0x83,0x0b,0x09,0x79,0x6e, + 0xe0,0x1f,0xad,0x42,0x9a,0xc5,0x26,0x9f,0x02,0xaa,0xed,0xc9,0xb6,0x35,0x73,0x7b, + 0x1c,0x51,0xa9,0x81,0x7f,0x86,0x63,0x1e,0xa1,0xd4,0xfc,0xe7,0xf1,0x90,0x9b,0xa7, + 0xb5,0x0c,0xc1,0x81,0x66,0x77,0x9d,0x75,0x93,0xd8,0xa9,0x8d,0x37,0xfe,0x4c,0x5b, + 0x1f,0x4b,0x7c,0x75,0xff,0xd0,0xd6,0x9e,0x92,0xff,0xb3,0x9c,0xee,0xa6,0xff,0xa4, + 0xd1,0x1b,0x48,0xb3,0xd6,0xa8,0xab,0x3e,0x7a,0x9d,0xb8,0x1c,0x76,0xb7,0xcf,0xd3, + 0x32,0x0c,0xc7,0x8e,0x54,0xb4,0x4c,0x6e,0x47,0xc4,0x65,0x8e,0x7f,0xed,0x26,0x45, + 0xdf,0xb8,0xd3,0x40,0x3b,0xca,0xe9,0x18,0xec,0x49,0xc4,0xbf,0x76,0x73,0x0f,0xc6, + 0xc6,0x94,0xfc,0x1f,0x09,0x76,0x6b,0x2a,0xe2,0x1f,0x7b,0xb3,0xd0,0x04,0xaa,0x56, + 0xa4,0x78,0x6a,0xe9,0x76,0xcd,0xa9,0x65,0x28,0xf6,0xd7,0x84,0xed,0x1a,0xf5,0xca, + 0xb9,0xc4,0x9f,0xf4,0xff,0xa4,0xf9,0x10,0xff,0x17,0x09,0x99,0x8c,0x74,0x21,0xde, + 0xeb,0x66,0x77,0x33,0xc3,0xf1,0x55,0x12,0x77,0x7c,0x09,0xd9,0x7c,0x60,0xaa,0xff, + 0x9a,0xf2,0xb9,0xf4,0x53,0xed,0x15,0x2f,0x82,0x9c,0x9d,0xe4,0x8f,0x50,0xa5,0xad, + 0xf2,0x8a,0x9d,0x0a,0x87,0x3d,0x93,0x78,0x20,0xec,0xb2,0x76,0xb3,0x97,0xd7,0x7f, + 0x91,0x24,0xfe,0x19,0x0a,0xfd,0x49,0xab,0xf2,0x5a,0x8f,0xcb,0x9b,0xe0,0x03,0x98, + 0xab,0x4d,0xf3,0x8a,0x73,0xe0,0xb2,0x52,0xc2,0xe7,0xe3,0xfa,0xf8,0xe6,0xd7,0xd9, + 0x06,0xc5,0xd5,0x66,0xff,0x0f,0x04,0x08,0x1a,0x4d,0x6b,0xec,0x2a,0xc4,0x0a,0xc1, + 0xbe,0xa7,0x42,0x8f,0xf7,0x41,0x03,0xff,0x84,0x7a,0xf2,0x4b,0xa8,0xec,0xf7,0x9b, + 0xe2,0x5f,0xb7,0x0f,0xc1,0x06,0xad,0xcb,0x4b,0xb3,0x4b,0xfa,0x11,0x1f,0x2e,0x47, + 0xa0,0x68,0xa9,0x85,0xed,0xaa,0x33,0x1e,0x08,0xf3,0xad,0xb8,0x67,0x91,0x92,0x9d, + 0x1a,0xff,0x6a,0xa9,0xe1,0xf1,0xc7,0x2c,0x2e,0x7f,0x96,0xd5,0xe0,0xea,0x15,0x26, + 0xd6,0x53,0xd9,0xad,0x3c,0xe8,0xc5,0x81,0x29,0xfe,0x35,0xf9,0x0c,0xbc,0xa5,0xcd, + 0x7b,0xd8,0x19,0x2c,0xe8,0x6f,0xbe,0x9f,0x95,0x79,0xd3,0x6f,0x98,0x8e,0xdf,0x4b, + 0x2d,0x89,0x27,0x36,0xd7,0xcd,0xf3,0xad,0x0f,0x4e,0xea,0x4a,0x8d,0x7f,0x75,0xcd, + 0x5b,0x6e,0x53,0x6a,0x9e,0x85,0xf1,0xcd,0x3c,0x0d,0xfe,0x55,0x9c,0xa6,0xfe,0x2c, + 0x3e,0x5f,0xfa,0x59,0x1d,0x02,0xa7,0x8f,0x52,0xf3,0x7f,0x48,0x19,0x38,0xd9,0xab, + 0x3e,0x38,0x51,0x5b,0xa6,0x64,0x35,0x17,0xc4,0xc2,0x8e,0x36,0x56,0xc0,0xb7,0x62, + 0x59,0x9e,0xb5,0x51,0x34,0xe7,0xff,0x50,0x44,0x46,0x05,0x9b,0xe8,0x69,0x71,0x65, + 0x60,0x5d,0x60,0x2b,0x93,0x47,0x48,0x79,0x60,0x9d,0xab,0xa4,0x91,0xc7,0xbf,0xe8, + 0x9e,0xb4,0x5b,0x3a,0x68,0x57,0xb6,0x39,0xff,0x67,0x31,0xb4,0x09,0x33,0x36,0xd1, + 0x0a,0xcb,0x42,0xd8,0xa1,0xab,0xf5,0xb2,0x74,0x87,0xae,0x36,0x49,0xf5,0x13,0x81, + 0x1b,0x55,0x41,0x55,0x9e,0x92,0xff,0x23,0x20,0x6c,0x66,0x01,0x8d,0xdc,0x27,0x3c, + 0x07,0xf9,0xe4,0x46,0x8d,0x1d,0x23,0x6b,0x84,0x62,0xfd,0xc6,0x06,0xcf,0xc9,0xc6, + 0x5d,0x9b,0x66,0xaa,0xd4,0x9c,0xff,0xb3,0x8d,0x66,0xc1,0x1b,0xc1,0x5b,0x55,0xeb, + 0x98,0xfc,0x5d,0xeb,0x97,0x4d,0xb3,0x43,0x77,0xd7,0xe1,0xe9,0x78,0x83,0x2d,0x88, + 0x4e,0x5a,0x29,0xbe,0x07,0x9f,0x85,0x4a,0x55,0x67,0x6a,0xfe,0xcf,0xb6,0xec,0x8b, + 0xf9,0x95,0x60,0x48,0xd7,0x77,0x0c,0xb3,0x42,0x06,0x03,0xff,0x18,0xf5,0x5f,0x17, + 0xef,0xc0,0x2b,0xe1,0x82,0x3e,0x32,0xb1,0x3e,0x90,0x76,0x85,0xbc,0xde,0x58,0xaa, + 0x5a,0x97,0xc2,0xa3,0xf0,0x65,0xb0,0xb4,0xf0,0xa6,0x3a,0xf1,0x29,0xfa,0x06,0xc2, + 0x9e,0x25,0x63,0xe2,0x15,0xe9,0xe8,0xe8,0xac,0xce,0xf5,0x63,0x44,0x33,0xf9,0x7f, + 0xd6,0x6a,0x7e,0x4f,0x7e,0x00,0xee,0xe9,0xf8,0xcf,0xc1,0x35,0xae,0x5b,0x21,0xef, + 0x0e,0x4b,0x10,0xbe,0x80,0x05,0xfc,0x7d,0x4f,0xc2,0x9a,0x40,0xf1,0x51,0xf9,0x2c, + 0x29,0x32,0xc5,0xbf,0xd6,0xc2,0xba,0x3c,0x94,0xcf,0x83,0xb4,0x62,0xce,0xbf,0x64, + 0x14,0xe0,0x99,0x3f,0x18,0x84,0xf5,0x1a,0xca,0xab,0x87,0x70,0x7d,0xd6,0xa8,0x0f, + 0xb0,0x36,0x2f,0x31,0xc7,0xbf,0x8e,0xd2,0x56,0x4d,0x9d,0x5a,0x97,0x97,0xbe,0x84, + 0xf9,0xf5,0x42,0xa0,0xb9,0xcf,0xb2,0x78,0xfc,0x9d,0x0c,0x48,0x4d,0xcc,0xe9,0xc1, + 0x8d,0x17,0x30,0xc5,0xbf,0x66,0xb1,0x03,0x7d,0xee,0x51,0xe7,0x4e,0xd9,0x06,0xef, + 0x33,0xd7,0x70,0xa6,0x44,0x98,0xf4,0xaa,0x6e,0xe8,0xf7,0x4b,0xc4,0xd6,0x5b,0x19, + 0xe6,0xc0,0xc6,0x1c,0xff,0x52,0xc6,0x7d,0x15,0x41,0xdb,0xce,0xa6,0xdf,0x70,0x7c, + 0x08,0x59,0x9d,0xb8,0x0d,0x2e,0x7a,0x2b,0xe3,0x81,0x42,0x5a,0x19,0x34,0x80,0x41, + 0xd2,0xff,0x73,0x32,0x7f,0x40,0xcf,0x01,0xeb,0x98,0xf8,0x13,0xf8,0x4b,0xa4,0x34, + 0x60,0x3d,0x28,0x36,0x40,0x1c,0xff,0x9c,0xc4,0xc1,0x02,0xee,0x51,0xd1,0x4d,0xf8, + 0x67,0x85,0x25,0xc0,0x3a,0xca,0xe9,0x6c,0x54,0xbb,0x6d,0x60,0x57,0xf1,0x74,0x2f, + 0x63,0x2f,0xb2,0xa2,0x58,0x3c,0x0b,0xf1,0x7f,0xbd,0x23,0xec,0x89,0xa6,0xe4,0x3f, + 0x07,0xa0,0x28,0x54,0xb4,0x33,0x7d,0x1b,0xc3,0xf9,0x50,0xc7,0x3c,0x67,0xa4,0x36, + 0xdd,0xc8,0x57,0x19,0x21,0x88,0x88,0x42,0x74,0x23,0x31,0xd7,0x7f,0x59,0x81,0x09, + 0x21,0x66,0x99,0x83,0xf7,0x47,0xf9,0x03,0xbf,0x12,0x50,0x71,0xbc,0x08,0x9d,0xfa, + 0xa2,0x39,0x1c,0x11,0xe5,0x59,0x75,0x5e,0x7f,0x6a,0x8a,0x7f,0x3d,0xa0,0xad,0xbd, + 0xb7,0x08,0x10,0x06,0x77,0xf2,0xb4,0x13,0xee,0x76,0x1e,0x82,0x43,0xf1,0xc4,0x78, + 0x03,0x31,0x5a,0x7f,0x51,0xa0,0x9b,0xe2,0x5f,0x97,0xe0,0x12,0x99,0x0b,0x8f,0x71, + 0xb3,0xfd,0x12,0xfc,0x0e,0xee,0xee,0xc3,0xf7,0xbd,0xec,0x40,0xe0,0x77,0x4e,0xbc, + 0x44,0x2f,0xda,0x51,0xa3,0x1d,0x4b,0x89,0x7f,0x7d,0x01,0xaf,0xb3,0xd9,0xbe,0xc7, + 0xa2,0x62,0x8f,0x76,0x94,0x55,0x45,0x33,0x23,0xe2,0x39,0x1e,0x91,0x8c,0xa2,0xbe, + 0x73,0x85,0x06,0xd4,0x52,0x6a,0x6b,0x4a,0xc1,0x3f,0x67,0xa0,0x95,0xd9,0x7d,0xb4, + 0x8b,0x38,0x68,0x1b,0x73,0x1e,0xa0,0x3d,0xea,0xa7,0x74,0xaf,0x03,0xf1,0xcf,0x17, + 0x24,0x9f,0xb5,0xe4,0xd9,0x97,0xcb,0x6b,0x52,0xf0,0x4f,0x14,0x5a,0x89,0x43,0xcb, + 0x50,0x89,0x93,0x3d,0x0e,0xce,0x3e,0x6a,0xd4,0xbf,0x23,0xfe,0x91,0xcb,0x88,0xee, + 0x62,0x6a,0x3d,0xc8,0x8a,0x19,0xff,0x4c,0x79,0x96,0xb6,0x42,0x91,0x2f,0xb0,0xa5, + 0xb5,0x18,0x61,0x73,0x89,0x5e,0x1f,0x44,0xd8,0xb3,0x57,0xe1,0x78,0x32,0x7d,0x86, + 0xda,0xc2,0x96,0xd9,0xe5,0xf6,0x74,0x13,0xfe,0x99,0x72,0x06,0x0e,0xb1,0xf2,0xb1, + 0xcc,0x2e,0xb1,0x88,0xbc,0x23,0xe1,0x31,0xd9,0x2d,0x8e,0xd4,0x7e,0xc6,0xe6,0x71, + 0x0f,0xcf,0x19,0x1a,0x89,0xcc,0x9b,0xfd,0x8d,0x40,0x0a,0xfe,0xd9,0x07,0x57,0x36, + 0xed,0xd2,0x27,0xf5,0x88,0x17,0x8d,0xfa,0x38,0x04,0x42,0xa3,0x70,0x95,0xcd,0xea, + 0x5d,0x34,0x2a,0x2f,0x57,0x46,0xc9,0x7e,0x1d,0x05,0x91,0x39,0xfe,0xf5,0x2c,0x5c, + 0x94,0xdc,0x91,0xb5,0x8d,0xe2,0x6f,0xfc,0xdc,0xbf,0x61,0x0d,0x17,0xcc,0x82,0x8b, + 0x19,0x95,0xfa,0x92,0xed,0x72,0xbd,0x8a,0x5f,0xc4,0x6b,0xdd,0x62,0xaa,0xff,0x8a, + 0xa4,0xa5,0xd3,0xee,0x41,0x7b,0x1f,0xa5,0xc4,0xa6,0xb6,0xf1,0x34,0xb0,0x1d,0x76, + 0x27,0xe2,0x09,0xdc,0x0f,0x9f,0x93,0xe9,0xac,0xa5,0xdd,0xee,0xab,0x0b,0x12,0xb7, + 0xc9,0xff,0x53,0x0b,0x1b,0x05,0xd5,0x15,0xa8,0xd8,0xd8,0x82,0xfb,0xa1,0x44,0xb7, + 0x54,0x10,0xab,0xb4,0x83,0x39,0xb9,0xe3,0xe8,0x87,0xd0,0x01,0x85,0x21,0x4b,0x11, + 0x59,0x69,0xae,0xff,0xf2,0xbe,0xdc,0x51,0x30,0x54,0xbf,0x32,0x7b,0x9a,0x91,0xfd, + 0x6b,0x59,0x79,0xc3,0x34,0xd8,0xd5,0x53,0xcc,0x23,0x44,0xd7,0x01,0x22,0x84,0xf2, + 0xef,0xfc,0x5d,0xb6,0xb9,0xfe,0x0b,0xe0,0x1c,0x75,0xf5,0x5b,0x5d,0xe2,0x36,0xf6, + 0x2a,0x54,0x0c,0x67,0x4d,0x17,0x41,0xfa,0x2c,0x7c,0x1f,0x2f,0x7b,0xd7,0xe0,0x14, + 0xec,0x24,0xce,0x12,0xf1,0x1e,0x73,0xfd,0xbb,0x74,0xa9,0xb0,0xaa,0xdf,0xb6,0x25, + 0xe6,0x36,0xec,0x2f,0x6e,0xa8,0xb9,0x54,0x7b,0x55,0xc1,0x2b,0xdb,0x1f,0xdf,0x09, + 0x7f,0x9a,0x3c,0x9f,0x66,0x06,0x53,0xf2,0x9f,0xfb,0x71,0xfd,0xdd,0x4c,0x2a,0x2f, + 0x28,0x04,0xee,0x1f,0x43,0x45,0x70,0xc4,0xf0,0xbf,0x2d,0x09,0xe7,0x94,0x93,0x23, + 0x50,0x1a,0xb5,0xea,0xdf,0x4b,0xad,0xff,0x5a,0x2d,0x6d,0xd1,0xeb,0xbc,0x84,0xd7, + 0xcf,0xce,0xe2,0x89,0x40,0x27,0xa5,0xf5,0x88,0x7f,0xda,0xdc,0xfe,0x4d,0xb0,0x56, + 0xc8,0xd7,0xe9,0xa0,0xc5,0x1c,0xff,0x7a,0x02,0xfe,0xd9,0x7f,0x4b,0x88,0x9e,0x58, + 0x3d,0xcd,0x70,0xfb,0x64,0x20,0xec,0xc9,0x5d,0xb3,0x7a,0x7a,0x54,0x7e,0x94,0x58, + 0x84,0x27,0x98,0xea,0xfb,0x41,0x7d,0x4a,0xfd,0xd7,0x11,0xd8,0xa8,0x3b,0xde,0xa2, + 0x84,0x14,0x33,0xc3,0x9f,0x26,0x2c,0xeb,0xa5,0xcf,0x73,0xfb,0x2b,0xcc,0x81,0x41, + 0x30,0xe4,0x45,0x20,0x71,0x4d,0xfe,0x8f,0x3e,0xbf,0xdb,0x1a,0xfd,0xda,0x3c,0xc2, + 0xdd,0x3e,0x99,0x5d,0x05,0xc3,0x9e,0x83,0x21,0x1e,0x11,0xb3,0xcc,0x67,0xef,0x0a, + 0xa5,0x2c,0xf3,0x8c,0x68,0x8e,0x7f,0x9d,0xb2,0x0f,0xcf,0x2e,0x83,0x7f,0x69,0x96, + 0x4f,0x69,0x3c,0xec,0x95,0x15,0xe0,0x69,0x18,0x1e,0x03,0xf6,0x9c,0x92,0x02,0xac, + 0x32,0x3d,0xab,0xf9,0xf1,0x6b,0xf2,0x7f,0x82,0x95,0xda,0xe2,0x0d,0x05,0x67,0xd8, + 0x87,0x68,0xe6,0x5b,0x6f,0xe0,0xf5,0xef,0xd5,0x8f,0x6a,0x4b,0x36,0x8a,0x33,0x7c, + 0x07,0x1a,0xdd,0x5e,0xdb,0x53,0x82,0x29,0xfe,0x05,0x77,0xa0,0xd1,0xe4,0x6c,0xa0, + 0x4f,0x7f,0xe3,0x0c,0xe1,0xfe,0x07,0xda,0xee,0x41,0xfd,0x8b,0x88,0x48,0xde,0xdc, + 0x8a,0xfb,0x67,0xb0,0xc3,0x2b,0x6f,0x16,0x53,0xf2,0x7f,0x14,0x9c,0x56,0xeb,0x08, + 0xba,0x87,0xf0,0x35,0x9d,0x5a,0xde,0x20,0xa9,0x84,0xdd,0xa2,0x51,0xaf,0x34,0x24, + 0xb4,0x50,0x3b,0xf7,0xff,0xac,0x36,0xcb,0x1f,0xb4,0x47,0x4a,0xb8,0x90,0x79,0xcc, + 0x70,0x04,0xe5,0x9d,0x20,0xb9,0xb0,0x9d,0xfb,0x7f,0x72,0xc9,0x2a,0x85,0x3b,0x82, + 0x6e,0x9c,0x63,0xc6,0x3f,0x99,0x3e,0x1a,0x11,0x78,0xb4,0x0b,0x85,0xd8,0xb0,0x11, + 0xf6,0x92,0x5d,0x1c,0x11,0xc5,0xf0,0x5e,0xc4,0x40,0xbc,0xf2,0x3a,0x53,0xfc,0xeb, + 0x3c,0xfd,0x5c,0x58,0xc0,0x9d,0x3c,0x9f,0x1b,0xfe,0x9f,0x59,0x5c,0xad,0xff,0x94, + 0x87,0xe9,0x37,0x89,0xff,0xcd,0xa8,0xff,0xc2,0x9f,0x66,0x5c,0x93,0xff,0x53,0xaa, + 0xdd,0x75,0xac,0xe0,0x7c,0xd7,0x01,0x7c,0x11,0x3a,0x58,0x73,0x09,0xa7,0xb9,0x35, + 0xdb,0xef,0xc5,0x39,0xda,0x61,0xab,0xdb,0xb3,0xe2,0x4d,0x30,0xe7,0x3f,0x0f,0x43, + 0x0f,0x8a,0x59,0x8a,0xda,0x9c,0x75,0x21,0x0c,0xa3,0xcc,0x1e,0x85,0x1e,0xbb,0x1d, + 0x6c,0xab,0xc9,0x16,0x0f,0x47,0x44,0x74,0xd5,0x3d,0x59,0xe6,0xfc,0x9f,0x8c,0xdd, + 0x92,0xea,0x93,0x27,0x93,0xe6,0x50,0x23,0xac,0xa8,0x2b,0xcf,0x23,0xfd,0x12,0x5e, + 0xc1,0xf7,0xb5,0x4b,0x6c,0x0b,0x55,0x35,0x9a,0x6d,0x49,0x89,0x7f,0x29,0xbb,0x05, + 0x7b,0x5d,0x2b,0x8a,0x1d,0xc4,0x4b,0x3c,0x11,0xc8,0xf3,0x81,0xb6,0x9b,0xd9,0x35, + 0x94,0x3f,0xdb,0xb4,0xe7,0x61,0x99,0x97,0x06,0x67,0x98,0xe2,0x5f,0x53,0xfe,0xac, + 0x9d,0x6d,0x74,0x35,0xcc,0xda,0x2c,0x3e,0xc7,0xb3,0xd9,0x79,0xfe,0xf3,0x07,0xd2, + 0x59,0xe8,0xd6,0x96,0x04,0xe5,0xe9,0x8e,0x0f,0xa3,0x6e,0x6d,0xf1,0x53,0x93,0x1c, + 0x66,0xfc,0x83,0x68,0x67,0xbf,0x76,0xd7,0xa6,0x9a,0x21,0x3f,0xcf,0x5e,0x58,0x82, + 0x68,0xd0,0xc8,0x07,0xbb,0x4e,0x11,0x5f,0x87,0xb7,0x42,0xfb,0x86,0x6d,0x93,0x53, + 0xf2,0x7f,0xb6,0x48,0x91,0x8c,0xca,0xfc,0xb5,0xcd,0x62,0xbe,0x91,0x6d,0x6e,0xe3, + 0xfb,0x6d,0x2c,0xc8,0x97,0xdd,0x88,0x48,0x56,0xce,0x41,0xf9,0x6c,0x31,0xfb,0x7f, + 0x94,0x75,0x74,0x16,0x0b,0x9c,0x22,0xe5,0xd0,0x2a,0x94,0xb0,0xef,0x9e,0xb6,0x0f, + 0xab,0xfb,0x63,0xf1,0xaf,0xdb,0xb4,0xbb,0xbf,0x59,0xc2,0xe4,0x68,0xba,0xd9,0xff, + 0x53,0xab,0x6d,0x00,0x67,0x14,0x66,0x93,0x19,0x4a,0x93,0x80,0x62,0xca,0x81,0x68, + 0xd9,0x90,0xcf,0x53,0xc9,0x37,0xd2,0x9e,0x6c,0x76,0x46,0x17,0xe5,0xa6,0xf8,0x7f, + 0xca,0xa4,0x4d,0xc2,0x2c,0xaf,0xa3,0x3c,0x6b,0x32,0x1e,0xcd,0xe2,0xde,0x85,0xde, + 0xec,0x93,0xc0,0xcb,0xc0,0xe5,0xe5,0xe4,0x3f,0xd3,0x55,0x5a,0x71,0xa3,0xec,0x25, + 0xf5,0xa6,0xfc,0xe7,0xeb,0xf0,0xd8,0x2e,0x88,0x5a,0x97,0x8a,0x65,0x06,0xec,0x91, + 0x57,0x8a,0xef,0x4a,0x57,0x79,0xda,0xf3,0x09,0xf9,0x61,0x72,0xbc,0x69,0xc1,0x69, + 0x1c,0x14,0x99,0xf1,0x4f,0xfa,0x47,0x78,0x6c,0x51,0x08,0x0f,0x73,0xfd,0xde,0x67, + 0xa8,0xb9,0xdd,0x3c,0x1f,0x26,0x5a,0xd0,0xc3,0x5d,0xcd,0x75,0x4b,0x06,0x4d,0xf5, + 0x5f,0x90,0xf6,0x07,0x38,0xd1,0x5c,0x31,0x64,0xfd,0x50,0x3c,0x03,0x47,0x83,0x95, + 0xa7,0x9d,0x46,0xfd,0x72,0x33,0xda,0xef,0x27,0xc4,0x32,0x76,0x95,0x55,0xf9,0xac, + 0x1f,0x0a,0x66,0xfc,0xb3,0xb9,0xa3,0xf9,0x5c,0xf1,0x30,0xfd,0x0e,0x39,0x16,0xf9, + 0x23,0x38,0x87,0x2c,0x5e,0x5e,0xff,0x25,0xe4,0xf7,0xcb,0x77,0x92,0x5c,0xf5,0x25, + 0xa1,0x18,0x32,0x7f,0x90,0x6d,0xc6,0x3f,0x3b,0xa5,0xd5,0x6e,0x14,0x53,0x5a,0xfa, + 0xf1,0xc6,0x35,0xf0,0xc0,0x6b,0x34,0x16,0xe6,0x43,0xfc,0x73,0x0f,0x51,0x9e,0x7c, + 0x59,0x29,0x5e,0x4d,0x3d,0x59,0x60,0xc2,0x3f,0xb5,0xe0,0xf7,0x38,0x75,0x9a,0x99, + 0x1e,0x0d,0xa2,0xbe,0xe3,0x34,0x02,0x87,0xd5,0x1d,0x5c,0xfe,0xa8,0xc4,0xb2,0xa1, + 0xdb,0xe5,0x74,0x65,0x38,0x08,0x4d,0xec,0xcf,0x6d,0x53,0x56,0x41,0x9f,0xaf,0xc2, + 0x6f,0x0d,0xda,0x3f,0x60,0x87,0x50,0x1e,0x5a,0x7b,0x0c,0x7f,0x17,0xda,0x8f,0xc1, + 0x82,0xaf,0x4b,0xe3,0xac,0xf2,0xbc,0xb5,0xbd,0xa0,0xc8,0x84,0x7f,0x3e,0x81,0x61, + 0x5a,0xd9,0x37,0x2b,0x38,0x29,0x1a,0xcb,0xff,0x09,0x8a,0x23,0xda,0x38,0x33,0xea, + 0x91,0x3f,0xc9,0xdd,0x5d,0x9d,0xc5,0x6c,0xbf,0xd8,0x6a,0xce,0xff,0x19,0x55,0x3f, + 0x15,0x4a,0xf5,0x80,0x17,0x2f,0x1a,0xfa,0x6e,0x74,0x2b,0x9e,0x2f,0xf8,0xb9,0x6e, + 0x53,0x44,0x17,0x9c,0x97,0x4a,0xf9,0x7f,0xc8,0x84,0x7f,0xe0,0x7b,0x52,0xab,0xd7, + 0xae,0xd3,0xcd,0x4d,0x45,0xc0,0xe3,0x17,0x8b,0xf6,0xf9,0x71,0xfd,0x1b,0x1f,0xd4, + 0xe5,0xcd,0xd9,0x05,0xd0,0xb3,0x05,0x0f,0xc2,0xda,0x26,0x53,0xfc,0x4b,0x28,0xf4, + 0x75,0xc1,0x32,0xee,0xfd,0x78,0x96,0xfb,0x7f,0xb8,0xbf,0x7d,0x44,0xdb,0xdb,0x68, + 0x0c,0xfe,0x21,0xe3,0x45,0x3c,0x38,0x37,0x76,0xa5,0x9b,0xf1,0x8f,0x13,0x98,0xba, + 0x6c,0x78,0xa1,0xe2,0xaf,0x03,0x5c,0x9f,0x08,0xa2,0x41,0x84,0xd9,0x5c,0xdf,0x81, + 0x1f,0x84,0x30,0x84,0xe0,0x46,0x65,0xb5,0x3f,0xc1,0xbf,0xc1,0xfd,0x3f,0x1f,0x11, + 0xb7,0x9e,0xe5,0x47,0xb3,0xeb,0x63,0x58,0x30,0xc0,0xdf,0x17,0xc6,0xef,0x29,0xd1, + 0x97,0xf8,0xe5,0x42,0xf8,0x90,0xe7,0x57,0xac,0x31,0xe3,0x9f,0x9b,0x46,0xe1,0x4a, + 0x35,0xaa,0x2d,0x26,0xec,0xe6,0xfa,0xeb,0x04,0xee,0x96,0x4b,0xf4,0xbc,0x5a,0xc5, + 0x33,0xa8,0xb9,0xff,0x67,0x01,0x2c,0xf1,0x8b,0x0e,0x13,0xfe,0xb9,0x42,0x0e,0xc3, + 0xdc,0xa8,0x6d,0x18,0x61,0xd2,0x5f,0xf8,0x6e,0x19,0x45,0xf9,0xc3,0x81,0x90,0x6d, + 0x0c,0x81,0xd0,0x49,0x4e,0x0d,0x74,0x02,0x7f,0x4a,0xe2,0x9f,0x91,0x50,0x0b,0x8a, + 0x1c,0xb9,0x0b,0x8d,0xb0,0x36,0x56,0xe2,0x0b,0xf4,0x20,0xcc,0x42,0x45,0xcf,0x57, + 0x20,0x8a,0x50,0x10,0xa1,0x72,0x30,0x25,0xff,0x79,0x80,0xf9,0xfd,0x2a,0x8f,0x06, + 0xd6,0xa1,0xd9,0xef,0xd4,0x1c,0xdc,0xac,0xd8,0x4a,0x0c,0x3c,0xac,0x43,0x90,0xcf, + 0x57,0x88,0xc7,0x14,0xff,0x42,0xd8,0xc9,0x66,0xe8,0x72,0x07,0x71,0x6a,0xdc,0xdb, + 0x1c,0x08,0xc3,0x08,0x69,0x83,0x07,0x7b,0x51,0x7f,0x45,0x0d,0x8b,0x0f,0xef,0x9f, + 0xcc,0xff,0xd1,0x26,0xc7,0xb3,0x91,0x9d,0xe2,0xf7,0x70,0x7d,0x2a,0xfa,0x79,0x7e, + 0x94,0xf4,0xb1,0x60,0x04,0x46,0xd1,0x34,0x63,0xdd,0xb5,0x4e,0x41,0xf4,0xa6,0xe0, + 0x1f,0x1e,0xed,0xb2,0xe9,0x1c,0xf6,0x00,0xbe,0x26,0xcf,0x4f,0x8e,0xe7,0x47,0x7d, + 0xa1,0x5d,0x0e,0x56,0xf9,0x6c,0x91,0xd4,0xfa,0x77,0xe1,0x9c,0x8a,0xbb,0x6b,0x6b, + 0xec,0x3c,0x9e,0xb6,0x85,0x73,0xac,0x4a,0x3c,0x1f,0xef,0x8c,0x8a,0x1b,0xcf,0x67, + 0x6d,0x6c,0x72,0xa5,0xf8,0x7f,0xf6,0xd6,0x72,0xf4,0x2b,0x2e,0xd1,0x70,0xff,0x0c, + 0x66,0x8e,0xa2,0xa2,0x8f,0xe7,0x6f,0x9f,0x81,0xdd,0xac,0x64,0x39,0x0d,0xa4,0xe0, + 0x9f,0x15,0xb0,0x43,0x73,0xf6,0xca,0x4e,0xd2,0x17,0x5f,0x16,0xcb,0xda,0x78,0xe2, + 0x0a,0xf9,0x10,0x5e,0x28,0x2c,0x09,0x3a,0x5c,0x96,0xd4,0xfa,0xf7,0x5d,0x41,0x5e, + 0xfd,0x4d,0xbc,0x1c,0x0f,0x0c,0x5d,0xcf,0xf9,0x70,0x76,0xc5,0xe2,0x41,0x6f,0x0b, + 0x2f,0x37,0x17,0x87,0xe8,0xca,0xf4,0x3c,0x93,0xff,0x87,0xa7,0xc1,0x54,0xbc,0x66, + 0x2b,0x14,0x7b,0x7d,0xef,0xf3,0xea,0x51,0x97,0xb8,0x16,0x3e,0x0b,0x97,0x23,0xfe, + 0x29,0x88,0xb0,0x73,0xac,0xa2,0x45,0x0a,0x8b,0xd9,0x66,0xfc,0x03,0x57,0x85,0xaa, + 0x5e,0x9b,0x2a,0x0e,0xe2,0xb2,0x2c,0xa8,0xc6,0xd7,0xfc,0x29,0x5c,0x24,0x86,0x7f, + 0x6c,0x0c,0x2e,0xb8,0xaa,0x98,0x6d,0xf7,0x35,0xfe,0x1f,0x9e,0x16,0x85,0xf3,0x83, + 0xf8,0x21,0x2a,0xb4,0x8c,0x1e,0xb9,0x78,0xc2,0x5f,0x1d,0xfb,0x34,0x0f,0x74,0x5d, + 0x53,0xff,0xbe,0x4b,0xda,0xc0,0x93,0x7c,0x14,0xfa,0xb7,0x50,0xcc,0xf1,0xcf,0xaf, + 0xd9,0x2e,0xb4,0x1f,0x33,0x78,0x21,0xea,0x1a,0x1e,0x58,0x8f,0xa6,0xe4,0x3f,0x4f, + 0x83,0x1d,0xcd,0xf9,0xd1,0x45,0xf5,0xe9,0x1b,0x11,0xef,0x4d,0x5f,0x96,0x71,0x5b, + 0x36,0x4f,0x04,0x9a,0x7e,0xaa,0x8d,0x27,0x3e,0xad,0x61,0x33,0xa3,0x19,0xa9,0xf8, + 0x87,0x9f,0x26,0x95,0x8b,0x71,0x50,0xf0,0x7c,0x45,0x39,0xde,0x36,0xec,0xaf,0xeb, + 0x5d,0xe4,0x93,0xb5,0x4d,0x50,0xaf,0xd3,0x42,0xbf,0x19,0xff,0x74,0xc1,0x15,0x2b, + 0x1e,0x22,0x9f,0xd8,0x0e,0x07,0xa1,0x32,0x14,0xcf,0xff,0xa9,0x6c,0xb4,0x85,0xc4, + 0x0f,0xc9,0x41,0x6d,0x4f,0x10,0xaf,0x98,0xf1,0x4f,0x14,0x46,0x11,0x61,0xd8,0x9a, + 0x0a,0x0c,0xfe,0x1f,0xc5,0xc6,0x6a,0x26,0xea,0xdf,0xc5,0xa8,0x34,0x46,0x67,0x10, + 0xdc,0x5a,0xd7,0xf8,0x7f,0x78,0xda,0x73,0x7b,0xac,0xda,0xcb,0x8b,0xfa,0xb1,0xdf, + 0x50,0x94,0xdc,0x0d,0xa2,0xb5,0xb0,0x79,0xf7,0x5f,0xc3,0xff,0xb3,0x1c,0x76,0xfb, + 0xec,0xd5,0xf2,0x66,0x52,0xa8,0xbe,0x85,0xf8,0xc4,0xc2,0xdd,0x0e,0xcf,0xc7,0xfc, + 0x0f,0x1f,0x40,0x8b,0xd7,0xde,0x40,0x37,0x9b,0xeb,0xbf,0x04,0x5e,0x1d,0x66,0xd7, + 0x16,0x6d,0x68,0x2d,0x54,0x9e,0xc4,0x69,0x0b,0x83,0x9e,0x21,0xda,0x02,0x59,0x31, + 0xff,0xcf,0x33,0x30,0xb3,0x96,0x9e,0x4c,0xf1,0xff,0xa4,0xc5,0xb2,0x7f,0x79,0x7c, + 0x67,0x03,0xc7,0xdb,0xdc,0x0d,0xb2,0x45,0xe3,0xf9,0xcf,0xd9,0x7f,0x84,0x67,0xf4, + 0xfc,0x06,0x7a,0x6f,0x4a,0xfd,0x97,0x6f,0x22,0xdb,0x96,0xe7,0x9f,0x4c,0x8b,0x85, + 0xbd,0x62,0xfe,0x07,0x51,0xc7,0x07,0x29,0x07,0xab,0x6e,0xf6,0xff,0xdc,0x34,0x84, + 0xe8,0xc5,0xa8,0x76,0xff,0x1c,0x7e,0xcc,0xd3,0xea,0x12,0x81,0xb0,0x89,0xc2,0xff, + 0x7f,0x4c,0xe1,0xff,0x49,0x1b,0x82,0xc3,0xd4,0x08,0x93,0xcd,0x81,0x4f,0xa4,0x05, + 0x88,0x1f,0x5e,0x1d,0x92,0xc6,0x73,0x8d,0xf9,0xe7,0xb5,0x07,0xa4,0x52,0x2d,0x73, + 0x30,0x85,0xff,0x27,0x1a,0x38,0xa1,0x95,0x80,0x1c,0x12,0x7f,0x00,0x11,0x52,0x02, + 0x99,0xcd,0xd9,0xa7,0xb4,0x1e,0x04,0x42,0x32,0x43,0x79,0xd2,0xa3,0xda,0x29,0xf5, + 0x5b,0x52,0xf0,0x8f,0xda,0x18,0xab,0x76,0x4f,0x83,0x2d,0x46,0x9a,0xb7,0xa7,0x3f, + 0xb4,0x5d,0x75,0xc6,0xe2,0x5f,0x5b,0x2c,0x3e,0x4f,0x06,0xaf,0x7f,0x4f,0xe2,0x9f, + 0xe6,0xdc,0x5f,0xf9,0x8c,0xd5,0x5e,0xae,0xb5,0x90,0x12,0x6d,0x51,0x10,0x92,0xf9, + 0xe4,0x94,0x67,0x04,0xf1,0x7c,0x72,0x73,0xfd,0x17,0x1c,0x90,0x78,0x1a,0x8f,0xf8, + 0x75,0x94,0xc6,0x25,0x3e,0x5b,0xa2,0xfe,0x9d,0x0f,0x78,0xc6,0x3b,0xda,0x0b,0xd7, + 0xe0,0x1f,0xce,0xff,0xb3,0xa1,0xe9,0x75,0x15,0xf1,0xf0,0xc3,0x19,0x89,0xfa,0xf7, + 0x98,0xff,0x87,0x0f,0x9a,0x52,0xfd,0x3f,0x63,0x3e,0x23,0xc8,0x98,0x0f,0x0e,0x5c, + 0xf6,0x4c,0x5c,0x7f,0x25,0x02,0xc6,0x95,0xa8,0xce,0x03,0xaf,0x68,0x11,0x9b,0xf3, + 0x9f,0x1d,0xb0,0x5f,0x42,0xb4,0x33,0xec,0x2f,0x87,0x3d,0x50,0x1c,0xe6,0xf9,0x6a, + 0x84,0x07,0xc2,0x16,0x85,0xc8,0x05,0x58,0x17,0x28,0x68,0x76,0x0c,0xa7,0xc4,0xbf, + 0x38,0xff,0x46,0xa1,0xbe,0xa8,0x70,0x61,0x06,0x97,0xcf,0xb5,0x8d,0xae,0x74,0x1e, + 0x98,0x30,0xea,0x53,0x0e,0xc3,0x56,0xb5,0xe4,0x38,0xdd,0x46,0xcc,0xf9,0xcf,0x53, + 0xb5,0x5d,0x2c,0x9f,0x47,0xab,0xbd,0x3c,0x30,0x04,0x79,0x0d,0xe4,0x5d,0x6d,0x8d, + 0xc2,0x03,0xd9,0xe4,0x0f,0xb0,0x4a,0x9a,0xae,0x21,0x42,0x70,0x98,0xf0,0xcf,0xb4, + 0xd0,0x97,0xb1,0x6c,0xe7,0x69,0xf0,0x67,0xb6,0xc0,0x97,0xb9,0x52,0xbc,0xa2,0xbe, + 0x11,0xbb,0xf2,0x36,0xf9,0x94,0x55,0x85,0x50,0xbf,0xa4,0xe4,0x3f,0xb3,0xcf,0x24, + 0x43,0x7a,0x84,0xb8,0x18,0xd1,0x0c,0x31,0x72,0x95,0xc5,0xe4,0x49,0xee,0x05,0x61, + 0x1e,0x5f,0x28,0x73,0xfd,0xd7,0xa7,0xda,0x55,0x36,0x97,0xa7,0x15,0xed,0x21,0x6f, + 0xa0,0x21,0x5f,0x1c,0xcb,0x7f,0xae,0x8a,0xe5,0x3f,0xbf,0x87,0x86,0xfc,0x92,0x71, + 0xd1,0x9c,0xff,0xfc,0x74,0xf3,0xae,0xc9,0x88,0x5e,0x7e,0xda,0xad,0xa0,0xfd,0x75, + 0xab,0x27,0xe3,0x7f,0x88,0x9b,0x61,0x07,0x67,0x04,0x7a,0x94,0x9c,0x00,0x7f,0xf0, + 0xb6,0x88,0xbc,0x94,0xa4,0xe4,0x3f,0x33,0x03,0xed,0x3c,0x4c,0xda,0x79,0x21,0xbc, + 0x46,0x63,0xf9,0x4e,0x0f,0xf0,0x2b,0x27,0x10,0x01,0xce,0xd4,0x70,0x60,0xf6,0xff, + 0xf0,0x6c,0x1f,0xe0,0xd5,0xdf,0x80,0xf6,0x57,0xa1,0x4f,0xe0,0xf2,0x67,0x6f,0xcc, + 0xff,0x33,0x0c,0xad,0x9c,0x48,0x61,0xaa,0xdf,0x9c,0xff,0xbc,0x0f,0xbf,0x7e,0x36, + 0x2f,0xf2,0x62,0x9c,0xe6,0x48,0x43,0xfd,0xc5,0xf9,0x58,0xf8,0xfb,0x7e,0x6b,0x44, + 0x7a,0x87,0x2b,0x9a,0xee,0x94,0x7c,0xa4,0x11,0x3a,0x5e,0xcd,0x2f,0x72,0xb7,0x0f, + 0x4f,0x1b,0x4b,0x16,0xc2,0xe3,0x41,0x1b,0xd3,0x2a,0x19,0xae,0x8f,0xb9,0xfe,0xeb, + 0x12,0x7c,0x49,0x11,0xe4,0x8c,0xd9,0x54,0xae,0xe6,0x34,0x2b,0x2f,0x02,0xe7,0xfe, + 0x9f,0xac,0x51,0x3c,0x5f,0x87,0x95,0x52,0xc5,0x3a,0x96,0xea,0xff,0x51,0xf6,0xf6, + 0xdb,0x75,0x79,0x81,0xc5,0xce,0xde,0xc1,0xfd,0xe0,0x30,0xf2,0x9f,0x8d,0xfa,0x1d, + 0xf2,0x81,0x1a,0xa8,0xb3,0x4f,0xa6,0xed,0xc4,0xe4,0xff,0x11,0x9c,0x88,0x8e,0xec, + 0x5c,0x3b,0xdb,0xb9,0x9a,0xf3,0x5a,0xc2,0xd9,0x03,0xb4,0x2d,0x96,0x38,0x1d,0x85, + 0x16,0xb0,0x07,0x69,0xb7,0x3f,0xd5,0xff,0xb3,0x5d,0xf0,0xf5,0xca,0x2e,0xbf,0x4a, + 0x1e,0x47,0x1d,0x6f,0x71,0xdb,0x07,0x94,0xad,0x79,0xb8,0x03,0xdd,0x44,0x27,0x2c, + 0x23,0xc4,0xae,0xf1,0xff,0xfc,0x24,0xc6,0x06,0xd0,0x4d,0x54,0xe3,0x35,0xb3,0xc2, + 0x3c,0x7f,0x5b,0x75,0xf3,0x81,0x0e,0x07,0x34,0x37,0x58,0xbb,0x9b,0xcc,0xf8,0xe7, + 0x52,0xed,0x97,0x1c,0xe6,0x85,0x63,0xfa,0x5d,0x2b,0xde,0xc9,0xf3,0x7b,0x39,0xfe, + 0x39,0x8f,0x57,0xc6,0x1c,0x55,0x80,0xf2,0xc7,0xe4,0xff,0x99,0x72,0x05,0x61,0xf9, + 0xdc,0x83,0x59,0x67,0xc5,0x8a,0xf0,0x49,0xa8,0x2a,0xb4,0x1e,0x10,0xdd,0xd2,0x61, + 0x8e,0x9f,0x7b,0x6a,0xce,0xc1,0x97,0x6c,0xae,0x8a,0x78,0xc0,0xec,0xff,0xf9,0x94, + 0xb4,0xb1,0x82,0xb3,0xf4,0x2c,0x59,0x20,0x05,0x06,0x9d,0x94,0x6e,0xc4,0x07,0x6b, + 0x34,0xe2,0x5f,0xf6,0xd3,0xbc,0x50,0x4e,0x45,0xe0,0x67,0xf6,0xff,0x8c,0xd0,0x17, + 0x49,0x21,0x8f,0x87,0xe2,0x41,0x33,0xc0,0x1f,0x81,0xae,0x46,0x87,0x11,0x8f,0x78, + 0x3d,0x63,0x2f,0x14,0x82,0x0c,0xc4,0x1c,0xff,0xfa,0xad,0xf4,0x22,0x2c,0xc3,0xf9, + 0xca,0x0a,0x78,0x9e,0xa2,0x7d,0x17,0xc6,0xfb,0xb7,0x18,0xf1,0xc4,0xec,0x68,0xf5, + 0x5e,0xb0,0xe7,0xa3,0xa0,0x33,0xf9,0x7f,0xd2,0xfe,0xa2,0xbe,0x8a,0x5f,0x67,0x71, + 0x98,0xac,0xc8,0xc5,0xaf,0x5f,0xeb,0x64,0x93,0x66,0x90,0x88,0x62,0xc4,0x5f,0x3e, + 0x82,0xf1,0xf4,0xb2,0x3a,0xdb,0xf3,0xd7,0xf8,0x7f,0xde,0x0d,0x2d,0xd0,0x8b,0x47, + 0x17,0xe1,0x00,0x66,0xf9,0x6c,0x83,0xb7,0x7c,0xa1,0x5d,0x62,0x06,0x11,0xd0,0x18, + 0xbc,0x17,0x42,0x89,0x3d,0x66,0xae,0xff,0x82,0x90,0xf6,0xb1,0x64,0xac,0xf6,0x00, + 0x6a,0x43,0x44,0x3b,0x21,0x71,0x06,0xd7,0x08,0xb1,0x7c,0xfb,0x0f,0xa1,0x8c,0x5d, + 0x93,0xff,0x63,0x85,0x36,0xbd,0xe0,0x04,0x8c,0xda,0x2b,0x78,0xfc,0xf4,0x11,0xda, + 0xd3,0xfa,0x75,0xad,0xa7,0xc1,0x88,0x87,0x7e,0x08,0x3b,0xa6,0x76,0xf8,0xe5,0xb0, + 0xdf,0x1c,0xff,0xba,0xdb,0x55,0xc0,0xd4,0x13,0x16,0x0e,0x7b,0xd0,0x30,0xe7,0x81, + 0x45,0x07,0x27,0x46,0x30,0xf0,0xa1,0xba,0x15,0x0a,0x43,0x87,0xe8,0x75,0x63,0x29, + 0xfe,0x9f,0xf5,0x83,0xea,0x70,0xdd,0x4a,0xfb,0x3a,0xd6,0xcc,0x10,0xed,0x9c,0x20, + 0x37,0x70,0x89,0xc4,0xeb,0xa1,0xfe,0xa0,0xbd,0xcc,0xf2,0x43,0xf2,0xdf,0xa5,0x9f, + 0x30,0xf3,0xff,0xc0,0xfb,0x81,0xf0,0x70,0x56,0x58,0x5e,0x07,0xaf,0xaa,0x15,0x9d, + 0xd6,0x7c,0x91,0x6a,0x9f,0x81,0x4b,0xff,0xfb,0xf9,0x35,0x03,0xf0,0x3e,0xcc,0xd1, + 0x6c,0xf9,0x29,0xf1,0xaf,0xcd,0x70,0x59,0x99,0xdf,0x6f,0x1b,0x2d,0x58,0x80,0x66, + 0x02,0xc2,0x80,0x87,0xc4,0x31,0x9e,0x61,0x68,0xc4,0x07,0xd5,0xbd,0xbc,0xb4,0xe7, + 0x54,0x4e,0x2a,0xfe,0xf9,0xbd,0xdf,0x75,0x6c,0x6d,0x58,0x7c,0x40,0x7f,0x12,0xf7, + 0xe7,0xcd,0x8c,0x13,0x31,0x19,0xe7,0x31,0xe7,0xfd,0x19,0x87,0xa0,0x2c,0x72,0xf3, + 0xda,0xa6,0x6b,0xfc,0x3f,0x90,0x7f,0xc2,0x31,0xc7,0x3f,0x15,0x9e,0x45,0xfc,0x93, + 0x85,0xf6,0x17,0x5e,0x31,0xe4,0xe7,0x71,0x58,0x23,0xbd,0xa4,0xa3,0xfd,0x68,0xc6, + 0x3f,0xfb,0xe1,0x9f,0xd9,0x96,0x61,0xcb,0x4a,0x72,0x77,0x23,0x87,0x79,0x87,0xea, + 0x11,0xf6,0xac,0x66,0x46,0xda,0xcf,0x15,0x8e,0x88,0x46,0xe4,0x8b,0xd9,0x29,0xf8, + 0x47,0x6a,0xd2,0x54,0x7d,0x21,0xdf,0x6f,0x3c,0xfe,0x6e,0x84,0x11,0xfd,0x71,0xff, + 0xb3,0xd6,0xa4,0x17,0x9e,0x90,0xcb,0xaf,0x33,0xe3,0x9f,0x1e,0x78,0x57,0x73,0x31, + 0x6b,0xa8,0xa6,0x1e,0xde,0x55,0x2b,0x83,0x71,0xd8,0x63,0xe4,0xff,0x7c,0x04,0xaf, + 0x9f,0x78,0xb9,0xcb,0xf6,0x82,0x9c,0xe2,0xff,0x61,0x63,0xae,0x4a,0x25,0x2d,0x56, + 0x0f,0x5e,0x49,0xf0,0x7d,0xa3,0xea,0x25,0x1a,0xf3,0xff,0xc0,0x58,0xad,0x61,0xa1, + 0xa7,0xe0,0x1f,0x72,0x80,0x55,0x36,0x58,0x15,0xb9,0xd9,0x72,0x00,0xa6,0x69,0x8b, + 0x83,0xc2,0x19,0x76,0x40,0x99,0x20,0xba,0xd1,0x63,0xf2,0xdc,0x84,0x7f,0x6e,0x57, + 0x5a,0x58,0x49,0xfd,0x44,0xfe,0x49,0x43,0x71,0xbb,0xfd,0xcf,0xa4,0x45,0x7f,0x19, + 0x15,0x31,0xf9,0x24,0xf0,0xa1,0x6e,0xd7,0xdb,0x7a,0x4c,0xfc,0x63,0x79,0x69,0x85, + 0xa4,0x65,0xf2,0x0c,0xcd,0xc1,0x69,0x7f,0x5a,0x24,0x67,0x1d,0xee,0x87,0xe3,0xb0, + 0x0a,0x96,0xf1,0x0c,0xde,0x33,0x9c,0xb8,0xa6,0xfa,0xd0,0x46,0x4f,0x6a,0xfc,0x8b, + 0xe3,0x81,0x58,0xfe,0x0f,0x14,0x37,0x5c,0x7f,0x2f,0xf9,0x23,0xac,0xd2,0x0b,0x0d, + 0x60,0xc0,0x13,0xcf,0x7c,0x6d,0xae,0x14,0xfc,0x53,0x0f,0xbc,0xcc,0xca,0xca,0x08, + 0x0f,0xc4,0x54,0x02,0x45,0xd8,0x03,0x03,0x88,0x88,0x26,0xb1,0x1c,0x9e,0x88,0xbb, + 0xe7,0x9a,0xf8,0xd7,0x4d,0xc7,0xc9,0x65,0x14,0x83,0xb6,0x4d,0x05,0x1f,0x50,0x0e, + 0x84,0xe2,0x7c,0x38,0xc6,0x6b,0xf6,0x53,0xce,0x08,0xb4,0x5e,0x29,0x30,0xe3,0x9f, + 0x93,0xf0,0x27,0x61,0xee,0x9d,0xce,0xc7,0xc5,0xe5,0x08,0x0b,0x67,0x79,0xad,0x6f, + 0x22,0x70,0x3a,0xac,0x95,0x6a,0x03,0xfc,0x1f,0x5e,0x36,0x1c,0x29,0x62,0x6a,0xfd, + 0x57,0x80,0x27,0x0d,0xae,0x11,0xf3,0x23,0x5d,0x50,0x82,0x68,0x07,0xc5,0x2c,0xe3, + 0x66,0x11,0x5b,0x16,0xcd,0xeb,0x21,0x3c,0x22,0x46,0x8e,0x98,0xf8,0xc7,0x06,0x60, + 0xbb,0xa4,0x7e,0x13,0x85,0x6a,0x6d,0x7e,0x23,0xc2,0x3c,0x07,0xc2,0x1e,0x7f,0x93, + 0x6a,0xa4,0x3d,0x0f,0xa0,0x8d,0xc8,0x13,0x81,0x3c,0xa6,0xf8,0xd7,0xe4,0x67,0xc8, + 0xf3,0xbe,0x8e,0x58,0xf6,0xf8,0xf3,0x3c,0x91,0x23,0x48,0xfa,0xb9,0xfc,0xe1,0x19, + 0x41,0x1f,0xc0,0x6e,0xcd,0xae,0x1f,0x4a,0x89,0x7f,0x4d,0x79,0x43,0x1b,0xd7,0xdd, + 0xda,0xda,0xa0,0xb8,0x3c,0xef,0x40,0x61,0xa5,0x66,0x6d,0xe7,0x81,0x4e,0x7c,0x6c, + 0x67,0x50,0xfc,0xa0,0xf6,0xac,0xd6,0x5d,0x67,0x6b,0x6f,0x4a,0xa9,0xff,0x22,0x6f, + 0x19,0xfc,0x87,0xf2,0x10,0xfc,0x58,0xe7,0xf9,0x3f,0xa9,0xf8,0x67,0xff,0x42,0xbc, + 0x72,0x4d,0xfe,0xb3,0x54,0x4e,0xb2,0x40,0xd4,0x29,0xe2,0x6d,0x62,0x35,0xf2,0x7f, + 0x54,0x77,0x7c,0xbf,0x79,0x8d,0x81,0x39,0xfe,0x75,0x1b,0xa4,0x6b,0x05,0x41,0x1a, + 0xca,0xe6,0x34,0x56,0x36,0x1c,0x90,0xdb,0x60,0x9d,0xb6,0x85,0xc9,0xd1,0xec,0x61, + 0xba,0xbf,0xb9,0x23,0x2c,0x87,0x3c,0x29,0xf1,0x2f,0xd2,0x74,0x50,0x0d,0xc7,0x68, + 0xb2,0x24,0x2b,0x2f,0x7b,0xb7,0xb1,0x16,0x50,0x99,0xac,0x1a,0xf1,0xaf,0xd0,0xa8, + 0xec,0x4e,0xa9,0x7f,0xaf,0xe0,0xd1,0x1f,0x3f,0x87,0x01,0x08,0x0c,0x8a,0xbd,0xf4, + 0x27,0xf6,0x29,0xb0,0x86,0xe4,0x37,0xa2,0x45,0x73,0x02,0x5e,0x81,0xfc,0x3e,0x5e, + 0xff,0x9e,0xcc,0xff,0xa1,0xd3,0xd2,0xdf,0x60,0xae,0x50,0xd6,0xca,0xa6,0x77,0x03, + 0x5f,0x22,0xda,0x71,0x9e,0x90,0xe7,0x91,0xd7,0xd9,0xf6,0x90,0xad,0x5e,0xfc,0x83, + 0xfa,0xa5,0x7f,0x76,0xa7,0xed,0x07,0xf8,0xbe,0x13,0x7f,0xbc,0xfe,0xeb,0x2c,0xec, + 0x67,0xeb,0x5f,0x16,0x47,0x34,0xb4,0x37,0xd9,0x2c,0x9e,0x46,0x38,0x06,0x3f,0xc3, + 0xf3,0x58,0xf0,0x01,0xfb,0x0c,0x7f,0xc2,0xf7,0x35,0xe5,0xff,0xa4,0xbd,0x6d,0xa4, + 0x6d,0x3c,0x36,0xde,0x54,0xc9,0xd1,0xce,0x90,0x95,0xfb,0x7f,0x0e,0xac,0x72,0x77, + 0x5a,0x87,0x73,0xae,0xd4,0x7e,0xce,0x76,0x9c,0xb2,0xf6,0xa4,0xe0,0x9f,0xcd,0xb5, + 0x8d,0x4a,0x88,0x39,0xce,0x5a,0xac,0xd9,0x6b,0xc0,0xee,0xa0,0x5e,0x32,0x08,0xeb, + 0xba,0xf2,0x3b,0xa9,0x4f,0x3c,0x81,0x88,0x6e,0x4b,0x2d,0xfd,0x1f,0xa9,0xf8,0x87, + 0x87,0xe9,0x59,0xc6,0x43,0xe9,0x9b,0xb5,0x26,0x4e,0x83,0xe0,0xc5,0xf3,0xf5,0x84, + 0x3a,0x3d,0x90,0xe1,0x23,0xf7,0x0a,0xbb,0x94,0x02,0x9d,0xa6,0xe2,0x9f,0xc3,0x7a, + 0xa3,0x56,0xc8,0xa8,0x2b,0x7d,0x1b,0x3c,0xae,0xa9,0xe0,0x08,0xfa,0xa3,0xb4,0x1d, + 0x0a,0x59,0x86,0x4a,0xfa,0xd3,0x76,0x68,0x21,0x8d,0x66,0xa7,0xd4,0x7f,0x3d,0x06, + 0x07,0x6a,0xe7,0x30,0x34,0x93,0xf7,0xd1,0x77,0xd4,0x79,0xba,0x75,0xe7,0x37,0x46, + 0xe0,0x2d,0x14,0xe4,0xc5,0x21,0xf1,0x13,0xb8,0x18,0xc5,0xad,0xb5,0x29,0x25,0xfe, + 0xf5,0x09,0x8c,0x1f,0xe4,0xb4,0x00,0x84,0xd3,0x42,0xa2,0x7c,0x0e,0x8b,0x1f,0xd2, + 0x8f,0xb4,0x79,0x2c,0x2b,0x24,0x76,0xa9,0x17,0x39,0xbf,0x44,0xf8,0x1a,0xfc,0x73, + 0x18,0xba,0x19,0x4f,0x1b,0xce,0x7d,0xc3,0xca,0xeb,0xdf,0x0b,0x2a,0xe0,0x28,0x2d, + 0xe5,0x19,0x20,0x7b,0xd8,0x15,0xcb,0x5c,0x90,0xf5,0x14,0xfc,0xf3,0x8f,0xb0,0x85, + 0xd9,0x43,0x34,0x6c,0x77,0xc2,0x3b,0xc4,0x1e,0x76,0xf4,0x90,0x5b,0x68,0x60,0xd0, + 0xce,0xf7,0x83,0x83,0xee,0xa8,0x76,0xcf,0xe1,0x8c,0x5b,0x26,0xfc,0x53,0x62,0x6f, + 0xd1,0xff,0x61,0x2b,0x75,0x79,0x78,0xbc,0xac,0xb0,0x2e,0x63,0x03,0x99,0xce,0x5e, + 0xa4,0x46,0xbe,0x59,0x27,0x3c,0xaf,0xe1,0xc0,0x9f,0xe2,0xff,0x29,0x84,0x10,0xf8, + 0x82,0x06,0xfb,0xcd,0xe3,0xa0,0x0a,0x78,0x0c,0x71,0x57,0x41,0xc8,0xbf,0xa8,0xd0, + 0x43,0xa4,0xbd,0xb8,0x90,0x68,0xba,0x9a,0xf1,0xcf,0x0a,0x38,0xe0,0x75,0x0f,0x5a, + 0x47,0x73,0x7e,0xc3,0x69,0x67,0x16,0x5b,0x83,0x44,0xe2,0x40,0x91,0x19,0x34,0x8f, + 0x17,0xf0,0xd5,0xb8,0x21,0x96,0x90,0x3f,0x9d,0x37,0x9d,0x87,0xf3,0x50,0x15,0x98, + 0x85,0xda,0x2a,0x84,0x30,0x32,0x13,0x0d,0xb1,0x51,0x7a,0x52,0x59,0xc0,0x6c,0xa7, + 0x51,0x4d,0x5f,0x15,0x6e,0x03,0x5b,0x7f,0x0a,0xfe,0xf9,0x14,0xd1,0xf2,0xdc,0x50, + 0xd6,0x58,0xcd,0xdb,0x30,0x80,0x6a,0x0e,0x17,0x6a,0x4c,0xc5,0x8d,0xdf,0x9f,0xd5, + 0x23,0x5e,0x62,0x97,0xdd,0x55,0x0b,0xad,0x63,0xb2,0x2b,0x21,0x1f,0x18,0x7c,0x0a, + 0x7b,0x79,0x12,0x72,0x37,0xf9,0x14,0xde,0xf6,0xcf,0x3a,0x41,0xbf,0xf4,0x9f,0x22, + 0x81,0xfa,0x82,0x13,0xb8,0x50,0x57,0xb4,0xbd,0xca,0x83,0x75,0xb8,0xdf,0x5c,0x89, + 0xf5,0x77,0xa4,0x71,0xf4,0x1b,0x62,0x16,0x57,0xc7,0x41,0xd8,0x20,0x38,0x8f,0x19, + 0xf5,0x4d,0xad,0x4a,0xac,0xf0,0x0d,0x76,0xd8,0x1d,0x07,0x71,0x29,0xdc,0x89,0xf9, + 0x3a,0xea,0x53,0xbc,0x7f,0x3b,0x0d,0x67,0x7f,0x04,0x4f,0xa2,0xfc,0x09,0x84,0xc9, + 0x90,0xda,0x4a,0x79,0xc5,0x3d,0x2f,0x84,0x67,0x25,0xe1,0x8c,0xb0,0xc9,0xff,0x03, + 0xd2,0x36,0xeb,0xf6,0xba,0xb2,0xd1,0x2c,0x8e,0x76,0x22,0x81,0x4a,0xdd,0xc9,0xbf, + 0xfe,0x41,0xcd,0xdd,0x6b,0x24,0xce,0xed,0x0e,0x4d,0x8b,0x3a,0xc2,0xa2,0x92,0xd8, + 0xff,0x5b,0xc0,0x48,0xeb,0x0d,0x71,0xb4,0x23,0x5d,0xd1,0xb8,0x5a,0x47,0xb0,0x72, + 0x85,0xeb,0xeb,0xd1,0x82,0x11,0xb8,0x42,0x2b,0x39,0x30,0x1e,0x36,0xe9,0xdf,0x6d, + 0xca,0x78,0x34,0x96,0xcd,0xab,0xdd,0xa9,0xf2,0xf8,0x57,0x4d,0x3e,0x1c,0x24,0x2e, + 0xdd,0x28,0xc4,0x3b,0xe8,0x9d,0xd7,0x8e,0x83,0xb3,0x49,0xfc,0x73,0xbb,0x13,0xf6, + 0x6a,0x25,0x51,0x44,0x3b,0x07,0xe1,0xf9,0xc0,0x2c,0xfd,0xae,0x51,0xd2,0x85,0xfa, + 0xf7,0xbf,0xf6,0x1a,0x8e,0xa6,0x56,0x36,0x23,0x40,0x5d,0xe2,0xcb,0x49,0xfe,0xe7, + 0x5c,0xee,0x9f,0x29,0xe9,0x96,0x5d,0xe9,0x11,0x95,0xe9,0x4e,0x5e,0x7f,0x9a,0xc1, + 0x18,0x14,0xf6,0x52,0xbe,0x3e,0x8d,0x8d,0x25,0x0d,0x38,0x18,0x4d,0xd8,0xfb,0x3e, + 0x98,0xc6,0x10,0x06,0x84,0xd0,0x5a,0xb9,0x00,0xcf,0xb2,0xe2,0xa1,0x8c,0x47,0xd3, + 0x37,0x6a,0xcd,0xc1,0xe2,0xa8,0xe5,0x51,0xf2,0x2e,0x59,0x1d,0x9e,0xae,0xd2,0x47, + 0xf1,0x3f,0x34,0xf1,0x57,0x97,0x97,0x25,0xed,0x10,0x2a,0xfc,0xeb,0x6f,0x13,0x23, + 0xb5,0x7e,0x52,0xf9,0x5a,0xe6,0x9e,0x1a,0x07,0x59,0x18,0x44,0x44,0x3a,0x4f,0x1c, + 0x90,0xfa,0xfc,0x3f,0x89,0x38,0xe7,0x89,0xc7,0xd2,0x27,0xe6,0x6b,0x8b,0x0d,0xff, + 0x0f,0x4f,0xf2,0x19,0xc5,0xd5,0xa8,0x7a,0xcd,0x36,0xda,0x84,0x03,0x32,0x7f,0x70, + 0xfd,0x59,0x04,0xd2,0x57,0xa4,0x9f,0xf3,0x9f,0x82,0x64,0xe2,0x7d,0x11,0xdf,0xc2, + 0x67,0xcc,0x28,0xf2,0xaa,0x87,0x71,0xb5,0xec,0xb2,0xf5,0x65,0x31,0x4a,0x0f,0xc1, + 0x9e,0xf3,0xd6,0x30,0xf9,0x0b,0x3b,0x10,0xfb,0xa9,0x2f,0xb1,0xfe,0xc3,0xc2,0x66, + 0xee,0x3d,0x66,0x32,0xcf,0x76,0xde,0x65,0x29,0xee,0x43,0x6b,0x71,0x8c,0x3e,0x07, + 0x6a,0x24,0xb3,0x81,0x1c,0xee,0xe8,0x87,0x7c,0x90,0xcd,0xfc,0xcf,0x00,0x9c,0xed, + 0x79,0x7a,0x48,0x5e,0x79,0xc7,0xdb,0xf0,0x04,0x73,0x0e,0x67,0x3c,0x4a,0xfe,0x40, + 0xfc,0xac,0x78,0x98,0xae,0x4c,0x7f,0x97,0x06,0xf5,0xfc,0xd0,0x8d,0x2b,0xd1,0x34, + 0x9b,0x78,0x1e,0xee,0xff,0xe9,0x66,0x85,0x5d,0x72,0xf8,0xba,0x83,0xea,0x8e,0x3a, + 0xa7,0xde,0xe2,0x22,0x47,0x7c,0x1d,0x11,0x5e,0xd8,0x6b,0x1f,0x40,0xf4,0x1d,0xe2, + 0xf9,0x3f,0x6f,0x9b,0xea,0xbf,0xba,0xf0,0x35,0xe7,0x76,0xa1,0x74,0xfd,0x4f,0x8d, + 0x17,0x84,0x32,0x36,0x33,0x84,0x30,0xf8,0x48,0xff,0xcf,0x10,0x11,0xa1,0xbd,0xf6, + 0xb4,0x56,0xea,0x97,0x43,0xe2,0x1e,0x61,0xe2,0x79,0xea,0x14,0x15,0xc6,0x7a,0xb9, + 0xd2,0xcf,0x89,0x95,0x7d,0x19,0xfe,0x90,0xb1,0xc9,0xfb,0xe3,0xfe,0x1f,0xad,0x92, + 0x4c,0x62,0xe2,0xb1,0x64,0xfe,0xad,0xd2,0xa9,0xa0,0xbd,0xdf,0x30,0x29,0x28,0x4e, + 0x07,0xce,0x06,0x6c,0x53,0x20,0x1d,0xee,0xe4,0xf5,0x89,0x86,0xbe,0xd3,0x2a,0xeb, + 0x96,0x04,0x73,0x4c,0xf8,0xa7,0xb6,0x13,0x76,0xaf,0x2d,0xe1,0x41,0xab,0x42,0x69, + 0x2b,0x23,0x5a,0x5b,0xd0,0x33,0x03,0x15,0x31,0xcf,0x7f,0xce,0x1e,0x82,0x27,0xfb, + 0x1e,0xf4,0xb6,0x71,0xfe,0xe7,0x89,0x3f,0x23,0xff,0x27,0xbf,0x44,0xab,0x09,0xc2, + 0xf2,0xc2,0x16,0x6a,0xd4,0x2b,0x75,0xd6,0x6d,0xc7,0xf9,0x6d,0x38,0x9f,0xee,0x16, + 0x4a,0x8c,0x7c,0x95,0xd4,0xfc,0x43,0xc9,0xe9,0x95,0x73,0x8b,0x24,0x3a,0x13,0x42, + 0x3c,0xdb,0x67,0x15,0x6c,0xd7,0xc0,0x2b,0x2b,0x4a,0x3f,0x6c,0xd0,0xf0,0x27,0xb3, + 0xfd,0x55,0x3e,0xd5,0x37,0x51,0xe6,0xa6,0x2a,0x11,0x92,0x1d,0x23,0x02,0xe2,0x1e, + 0xa1,0x35,0xac,0x34,0x0a,0x17,0x84,0x12,0x58,0xc2,0x26,0x7d,0x9a,0x90,0x3f,0x3d, + 0x99,0x9d,0x08,0x5a,0xaa,0x0c,0xef,0x0d,0xda,0x6b,0x1c,0x08,0x2d,0xfa,0x6f,0xd2, + 0x27,0xda,0x7e,0xaf,0x51,0x08,0x7f,0xd9,0x33,0x17,0x07,0x93,0x3e,0x4d,0xc8,0x9f, + 0xf2,0xbf,0xe9,0xa4,0x9f,0xc3,0xfc,0x5a,0xba,0xa9,0xe6,0x3c,0x87,0x01,0x0b,0x79, + 0xda,0x33,0xc7,0x87,0x8b,0xac,0xdc,0x7f,0x75,0x19,0x4a,0xbf,0x63,0x1d,0x14,0x3f, + 0x4d,0xec,0x9f,0x3c,0x9e,0xff,0x0c,0x76,0xea,0x60,0xd9,0x51,0xda,0x23,0xcd,0xcb, + 0x93,0xfd,0x1b,0x01,0x02,0xde,0x8e,0xbc,0x4c,0x46,0x4e,0x79,0x7b,0xd4,0x0e,0x05, + 0x2d,0x88,0xd7,0x13,0xf2,0x44,0xe3,0xf9,0x4e,0xe0,0xe0,0x4a,0xa7,0x9f,0xbb,0x01, + 0x3d,0x72,0xae,0xe5,0x19,0x4e,0x04,0xe4,0xc9,0x33,0x88,0x10,0x23,0xaa,0x76,0x83, + 0x42,0x8e,0x25,0xf6,0x4f,0x9e,0xc4,0xb3,0xa7,0x78,0x91,0xbb,0x7d,0xc8,0x17,0xa7, + 0x3d,0x2c,0xa4,0x8d,0x3e,0x7b,0x3c,0xff,0x0a,0xec,0xd5,0x16,0x5e,0xff,0x3e,0x31, + 0x3f,0xc4,0xe7,0xd3,0x72,0x0d,0x9f,0xf6,0x8c,0x32,0x3e,0x58,0xc9,0xd1,0x5a,0xa7, + 0x7a,0x00,0x3a,0x34,0x89,0xcf,0x1f,0x97,0xec,0xf5,0x16,0x1e,0xca,0x99,0x98,0xff, + 0x11,0xaf,0xff,0x82,0xfd,0x75,0xeb,0x11,0x06,0x73,0x7e,0x1b,0x44,0x83,0x39,0x43, + 0x64,0x9c,0x55,0xc4,0xf2,0xc1,0xce,0x7a,0x2a,0x97,0x67,0x06,0xc5,0x0b,0x49,0x3c, + 0xc3,0xf9,0x36,0x95,0x79,0x0a,0xa7,0xfd,0x51,0xe2,0x6e,0xb7,0x7c,0x3d,0x52,0xed, + 0x16,0x16,0x1b,0xf9,0x3f,0xe0,0x56,0xad,0x66,0xfc,0x43,0x25,0x07,0x9c,0x01,0x83, + 0xf6,0xe7,0xa2,0x91,0xff,0x8c,0x6a,0xe8,0x57,0xf0,0xb6,0x60,0x67,0x16,0xbe,0x9f, + 0xf7,0xeb,0x5b,0x99,0x35,0x4a,0xfa,0x12,0xfb,0x87,0xfe,0x82,0x97,0x9d,0x3a,0x74, + 0x87,0x8b,0x1c,0x62,0x5b,0x63,0x66,0x82,0x8d,0x26,0x0a,0xb7,0xc3,0xd1,0x19,0xaa, + 0xa0,0xe2,0xfc,0x89,0xef,0x9b,0x3f,0x79,0x2a,0x5a,0x24,0x05,0xcc,0xd2,0x60,0xbf, + 0x10,0xab,0x5f,0x70,0x5b,0x36,0x2b,0x4f,0x28,0x31,0x22,0x0b,0xd8,0xa9,0xa9,0x0a, + 0xe5,0x8c,0x09,0x13,0xfb,0xcd,0x51,0x37,0x4d,0xf9,0x9c,0xdd,0x16,0xb5,0xfc,0x44, + 0x7c,0x17,0xfe,0x1c,0xb8,0x69,0x74,0xc9,0x4f,0xda,0xa6,0xc1,0x7a,0xb6,0xc3,0xa8, + 0x7f,0x87,0x2b,0xec,0xd6,0x10,0xe7,0x3f,0x4c,0xc8,0x1f,0x3a,0x79,0x1b,0x7c,0x08, + 0x15,0x2c,0xb3,0x47,0x8c,0xa0,0x84,0xab,0x3c,0xc1,0xcd,0x4c,0xe9,0x62,0x5d,0x65, + 0xdf,0x44,0x22,0x34,0x2a,0x7a,0x53,0xfe,0x8f,0x4f,0xda,0x8f,0xfa,0xab,0x34,0x62, + 0x1d,0xff,0xde,0xdb,0xca,0xd1,0xe6,0xaa,0x51,0xeb,0x98,0xe8,0xe6,0x57,0x4e,0x5b, + 0xb9,0x23,0x68,0x2c,0x58,0xa5,0xae,0x1f,0x36,0xd5,0x47,0x04,0x60,0xaa,0xf6,0x72, + 0xde,0xad,0x7e,0x3a,0xdb,0x3d,0x28,0xad,0xc9,0x2b,0xd6,0xeb,0x66,0x67,0x2b,0xf0, + 0xb1,0x5a,0x10,0xcd,0xe4,0xfe,0xe7,0x70,0xe8,0x01,0x2a,0xe7,0x93,0xa2,0xc4,0x7a, + 0x32,0xd8,0x0c,0x2f,0x01,0x82,0x9c,0x87,0xd2,0xc7,0xd4,0x55,0x1c,0x0f,0x37,0x90, + 0x3c,0x6d,0x97,0x50,0x60,0x04,0xee,0xe1,0x65,0xb5,0xf8,0xd8,0x8d,0x3e,0x8b,0x94, + 0xe0,0x3f,0xd4,0x72,0xd7,0xe2,0x69,0x2a,0xec,0xa2,0x2e,0xfb,0x41,0xc2,0x8c,0x44, + 0x68,0x0b,0xe5,0x69,0x54,0x31,0x62,0x81,0xdd,0xed,0x4e,0xdf,0x8d,0x2a,0xc9,0x36, + 0xe1,0xd5,0x6d,0x5c,0x7e,0x8e,0x5a,0x47,0x85,0x03,0x70,0x20,0xa6,0x7f,0x4b,0x50, + 0x43,0x15,0xa0,0x7e,0x41,0x7d,0xb7,0x47,0x2b,0x09,0xe1,0x17,0xa4,0x09,0x3c,0x1c, + 0x52,0x46,0x60,0xdc,0x6e,0xd4,0x7f,0x0d,0xab,0xdc,0x1f,0xb2,0xde,0x25,0x7e,0xa8, + 0x7d,0x3c,0xe1,0x6f,0xbf,0x40,0x2a,0x79,0x61,0xd4,0xb0,0x64,0xc6,0x3f,0x57,0x59, + 0x41,0xad,0x51,0xf6,0x7e,0x54,0x37,0xcc,0xd8,0x39,0xec,0xe8,0x44,0x21,0xfc,0x15, + 0x28,0x65,0x59,0x51,0x31,0x9a,0xc0,0x3f,0xbd,0xd2,0x0a,0x69,0xf7,0xdb,0x8e,0x41, + 0xd4,0xb6,0x1f,0x71,0xb7,0x61,0x6f,0x5b,0x98,0x14,0xf0,0xc4,0x1e,0xce,0x88,0x38, + 0x42,0xf7,0xf2,0xd0,0x4f,0xc8,0x6e,0xc2,0x3f,0x92,0x51,0xa6,0xdd,0x87,0x4a,0xf9, + 0x23,0x6e,0xaf,0x71,0x37,0x85,0x64,0x14,0xfe,0xc7,0xf4,0xb5,0x6e,0xef,0xc0,0x8d, + 0x67,0xe2,0x3f,0x84,0x4c,0x4e,0xb3,0x09,0x19,0x73,0x70,0x93,0x34,0x09,0xb8,0xdf, + 0xe6,0x10,0x48,0xc7,0xf9,0x11,0x3a,0x1b,0xd7,0x67,0xbb,0x1a,0xd2,0x10,0x68,0xf5, + 0x25,0xfa,0x59,0x40,0xde,0x03,0xbc,0xac,0x5b,0x2b,0xde,0x59,0x30,0x0c,0x07,0x78, + 0x18,0xe2,0x11,0xb9,0x10,0x8e,0x4e,0xfe,0x91,0xbe,0x38,0x5c,0x83,0xfb,0x21,0xd7, + 0xad,0x67,0x6d,0x11,0xa3,0x89,0xfa,0x9d,0x50,0xe6,0x25,0xf6,0x25,0x2c,0xd0,0xb3, + 0xce,0x15,0x8c,0x71,0xfe,0x1f,0x7d,0xfd,0xb9,0x9a,0x51,0x8a,0x40,0xa8,0x9f,0xe7, + 0xff,0xc0,0x65,0x17,0x8a,0xa6,0x65,0xe2,0x70,0x73,0x02,0xff,0x08,0xc7,0xa0,0x9f, + 0xcd,0x8e,0x2e,0x1e,0xcd,0xf9,0x29,0x9c,0x64,0x06,0xff,0x0f,0xe7,0x8f,0x2a,0x1d, + 0x28,0x79,0x5d,0x74,0xb1,0xf7,0x58,0xa9,0x68,0xed,0x37,0xf3,0xff,0xc0,0x19,0x25, + 0x03,0xf1,0x61,0xdd,0xcb,0xd9,0xc5,0x7d,0x01,0xd5,0x1e,0xcd,0xe0,0xfc,0xcf,0x7b, + 0x0b,0xdd,0x4a,0x71,0x30,0x5b,0x0d,0xb5,0x51,0x37,0xe7,0x9f,0x4f,0xd6,0x7f,0xd1, + 0xb4,0x21,0x34,0x33,0x1d,0x3a,0x9d,0xf3,0xec,0x00,0x04,0x68,0xfc,0x58,0xed,0xa5, + 0xea,0xa0,0x9c,0x4e,0x40,0x7f,0x11,0xba,0x08,0x95,0xcc,0xf5,0x5f,0x53,0x9e,0x81, + 0x16,0x56,0x84,0xf8,0x13,0xf1,0x24,0x77,0xfb,0x64,0xc4,0x60,0xcf,0x0c,0x2d,0xa3, + 0xdd,0x6f,0x87,0x36,0xc5,0xa2,0xd2,0xcd,0x5a,0xb2,0xfe,0x0b,0xd2,0xce,0xc0,0x81, + 0xd0,0x9e,0x90,0x35,0x8c,0xe8,0x65,0x10,0xba,0x7b,0xe3,0xfc,0xcc,0x6e,0x32,0x8b, + 0xca,0x5f,0x27,0x1f,0xea,0x37,0x34,0x38,0x37,0x9b,0xea,0xdf,0x43,0x93,0x77,0x91, + 0xcb,0x64,0x2e,0xc3,0x6d,0x70,0x9f,0xc1,0xff,0xcc,0xf9,0xc0,0xe1,0xaa,0x34,0xef, + 0x03,0xdc,0x36,0xba,0xf2,0x27,0xdc,0x38,0x36,0x9f,0x38,0x6c,0x8a,0x7f,0x3d,0xc3, + 0xd3,0x7a,0xd7,0x3e,0xc6,0x6f,0x3b,0xa6,0x4d,0xa4,0x99,0xb1,0x0a,0x4e,0xe3,0x36, + 0x93,0x1c,0xa2,0xdd,0x9b,0x9c,0xbf,0x14,0x1b,0x4c,0xfe,0x1f,0x89,0x4b,0x57,0x46, + 0x47,0x55,0x1e,0xf6,0x9a,0x37,0xc1,0x87,0x69,0x8f,0xa0,0xfd,0x58,0xa0,0x89,0x5a, + 0x11,0xd0,0xa7,0x97,0x99,0xfb,0x5f,0x48,0xd2,0xe3,0x8c,0x8d,0xce,0x0c,0x5b,0xac, + 0x10,0xc4,0xf3,0x22,0xc6,0xf9,0x6a,0xd8,0x7f,0x55,0x09,0x62,0xe3,0x60,0xb4,0x85, + 0xaa,0xe4,0x9c,0x09,0xff,0x94,0x49,0x4f,0xa0,0xd2,0xa7,0x3f,0xbe,0x6e,0x9a,0xb4, + 0x33,0x9e,0xf6,0x0c,0xbb,0x42,0x5b,0x42,0xb4,0x9e,0x5c,0x87,0x82,0xe5,0x07,0x3e, + 0x7a,0x27,0xb9,0x94,0xe4,0x7f,0x03,0x09,0x7e,0x0f,0x2e,0x3d,0x73,0xbb,0x68,0x15, + 0x06,0xd5,0x8a,0x11,0x9b,0xab,0x60,0x00,0x4f,0x5c,0x45,0xd4,0xa6,0x88,0x69,0x6a, + 0x9f,0xe6,0xf2,0x5a,0x6f,0x10,0xef,0x49,0xd6,0x7f,0x4d,0xdd,0x49,0x3e,0xe4,0xd5, + 0x4f,0x67,0xc5,0x6d,0xc2,0x65,0x88,0xf1,0xff,0x18,0xf5,0xef,0xb3,0x06,0xe5,0xf3, + 0xf0,0x25,0x57,0x6d,0x83,0xa6,0xfa,0x2f,0x3a,0x65,0x08,0xde,0x49,0xab,0x60,0x88, + 0x96,0x4b,0xb4,0x13,0x6c,0x82,0xff,0x19,0x5f,0xbc,0x58,0x2f,0xa8,0xa0,0x9f,0xc1, + 0xdc,0xa8,0x35,0x2a,0x93,0xa4,0xff,0x27,0x83,0xf3,0x1f,0x16,0xb3,0x00,0x2f,0xbb, + 0x5b,0x23,0xc5,0xc5,0x26,0x2f,0x7b,0x47,0x04,0x97,0x0b,0xbb,0x48,0xa9,0x46,0xa3, + 0xa4,0x34,0xe1,0x5f,0x52,0xe1,0x97,0x3c,0xcd,0xc9,0xee,0x78,0x34,0xeb,0x67,0xb0, + 0x2f,0x9e,0xf6,0x0c,0xbb,0x98,0x23,0x9a,0xb1,0x94,0x4c,0xe3,0xd0,0x28,0x4a,0x97, + 0x92,0x3c,0x65,0x62,0xfd,0xeb,0xa5,0xc3,0xd0,0x74,0xc8,0x19,0x42,0xf9,0xb3,0x18, + 0x78,0x61,0xaf,0xb1,0xdf,0x50,0x6d,0x0d,0xe1,0xfe,0x99,0xee,0xdb,0xa1,0xab,0xb5, + 0x8e,0x5c,0x72,0x63,0x42,0x3f,0x0e,0xe7,0xee,0x51,0x8f,0x84,0x8a,0x43,0xbc,0x5e, + 0x86,0x5e,0x09,0x77,0xc7,0xf9,0x9f,0xd9,0xfc,0x70,0xe6,0x90,0x38,0x0f,0xae,0xe4, + 0xcd,0x0d,0x59,0x3f,0x16,0xe7,0x25,0xf6,0x4f,0x1d,0x6c,0xf1,0x0f,0x8b,0x95,0x54, + 0xe0,0x30,0x60,0xd8,0x08,0x7b,0x4d,0x42,0x35,0xe4,0xad,0x24,0xb3,0x38,0x23,0xd0, + 0x98,0xb6,0x7f,0xb2,0xad,0xf9,0x5b,0xc7,0x4c,0xf6,0x7b,0xa7,0x11,0xf4,0x29,0x36, + 0x87,0x39,0xa4,0xb7,0x04,0xb7,0x96,0xb9,0x59,0x2e,0x64,0x77,0x42,0xf7,0x1d,0xb6, + 0x1b,0x4c,0xf5,0x3b,0x21,0x48,0x1f,0x6c,0xd1,0x4b,0xbc,0x14,0xd5,0x28,0x4d,0xa6, + 0x31,0x6b,0xbc,0x11,0x83,0xe7,0x39,0xd2,0x38,0x58,0xd4,0x20,0xa7,0xd4,0xbf,0xa7, + 0x15,0x0a,0x4f,0xaa,0x45,0xdf,0xa0,0x41,0x69,0x88,0xe7,0xcb,0xc5,0xe6,0x3f,0x89, + 0x6a,0x3a,0x23,0x98,0x5d,0xe8,0x68,0xe1,0x8e,0xa0,0x4d,0x37,0x64,0x99,0xed,0x2f, + 0xa1,0x71,0xb5,0xe1,0xff,0xe1,0xb0,0x27,0x16,0x06,0xc2,0x41,0xc8,0x4b,0xe7,0x10, + 0x4e,0x0d,0x5d,0xcf,0x11,0x91,0x25,0x51,0xff,0x95,0x77,0x93,0x0f,0x4e,0xc0,0x3c, + 0x61,0xaa,0x99,0xf6,0x27,0xf7,0x6d,0xc4,0x3f,0x99,0x2c,0x47,0xa5,0x07,0xd1,0x10, + 0x5b,0x82,0x36,0xa0,0xd9,0xff,0x83,0xa0,0xe5,0x1f,0xb5,0xbb,0x37,0xd5,0x3c,0x23, + 0x7d,0x3e,0xe1,0xd6,0xf8,0x1c,0xaa,0xbc,0xb3,0xce,0x8b,0x9f,0xe3,0x4f,0xaf,0x70, + 0x6a,0xa0,0x33,0x89,0xf5,0x2c,0x9f,0x72,0x1e,0x3e,0x91,0x6e,0xd5,0xac,0xbf,0x14, + 0x6f,0x5d,0xfb,0x56,0x9c,0x1f,0x09,0x2e,0x6b,0x3b,0xbc,0xff,0x78,0x8f,0x78,0x6b, + 0x10,0xf1,0x52,0xb5,0xf5,0x58,0x4d,0xb2,0xfe,0x3d,0x0f,0x42,0xd6,0x00,0x94,0x80, + 0x75,0x75,0x4e,0x3e,0xeb,0x32,0xf2,0x9f,0x89,0x81,0x88,0xa6,0x16,0x37,0x93,0x7c, + 0xd6,0xa3,0x16,0xdd,0x54,0xb7,0xba,0x35,0xc9,0xff,0x5c,0x27,0x3d,0x0b,0x5b,0x61, + 0x86,0x76,0x4b,0x2e,0xb9,0x1d,0x9e,0xa7,0xdc,0xdb,0x93,0xce,0x0b,0xe1,0xeb,0xf9, + 0x15,0x4e,0x05,0xd0,0xe9,0xa1,0x93,0xd5,0xec,0x24,0xfe,0xc9,0xe5,0x69,0xe4,0x25, + 0xb7,0xc7,0x68,0x27,0x35,0x7b,0x8c,0xf6,0x79,0xb7,0xdd,0xc1,0xf1,0x4f,0x21,0xec, + 0xcd,0x2d,0x8a,0xd0,0x8d,0x24,0x3d,0x31,0x3f,0x94,0xbb,0x1a,0x3e,0xb4,0xce,0xf1, + 0xdd,0x1d,0xcc,0x58,0x0e,0x0f,0x69,0x46,0x59,0x9f,0xe1,0xef,0xaa,0x9b,0x75,0x5c, + 0x9c,0xee,0x3b,0x0b,0xd7,0xd5,0x39,0x82,0xe6,0xfe,0x17,0xd0,0xd9,0xcc,0x83,0x5c, + 0xc5,0x8a,0x11,0x1d,0x4b,0xb8,0x7d,0xca,0xb4,0x59,0xd9,0x6d,0x67,0x60,0x5c,0x2c, + 0xe3,0x15,0x64,0xe6,0xfa,0xaf,0x0e,0x88,0xe8,0x31,0xb6,0x81,0x44,0x99,0x21,0x7e, + 0x88,0x79,0x9c,0xff,0x39,0x1f,0x22,0xab,0xdd,0x24,0xa5,0xfe,0x8b,0x4a,0xe5,0xb0, + 0x8e,0xcc,0xe2,0xf8,0x67,0x3e,0xe3,0x65,0x5f,0x8b,0x42,0x62,0x17,0xf0,0xfc,0x1f, + 0x3a,0x44,0xca,0xb5,0x75,0xb0,0xb5,0x43,0x8e,0x7a,0x92,0xfc,0x3f,0x34,0x6d,0xb1, + 0x51,0x76,0xaa,0xba,0x6e,0xf8,0x17,0xbf,0x88,0x82,0xba,0x8d,0x9f,0x97,0x3d,0xdc, + 0x71,0x0a,0x64,0x12,0x6c,0x98,0x8c,0x08,0xf0,0x06,0x53,0xfe,0x8f,0x2a,0x54,0xa8, + 0xcd,0xe9,0xc5,0x0c,0xb5,0xd5,0xda,0x8c,0xe7,0x5c,0x46,0x20,0x8c,0xd7,0x2f,0x4c, + 0xd7,0xa9,0x87,0x7c,0x0b,0x9e,0x90,0x66,0x82,0xfc,0x08,0x09,0x25,0xfc,0x3f,0x8e, + 0xbc,0xeb,0x50,0xbf,0x14,0x6f,0xb1,0x3e,0x9a,0xf3,0xb4,0x70,0x14,0x81,0xd0,0xa4, + 0x18,0xec,0xa9,0x8a,0xae,0xfb,0x89,0x5c,0x49,0x4e,0xb2,0xdb,0x7c,0xb6,0x13,0x29, + 0xf5,0x5f,0xcd,0x64,0x0c,0xa6,0xf1,0xa2,0xda,0x15,0xc2,0x3b,0x6c,0x42,0xad,0xc3, + 0x9e,0xb7,0x67,0xf5,0x88,0x3d,0xa8,0xfc,0xe7,0x72,0xfb,0xcb,0x93,0x90,0x3f,0x3e, + 0xe9,0x65,0xb8,0x1c,0x5c,0x30,0x64,0xa8,0xad,0x25,0xf1,0xb4,0x67,0xbc,0xff,0xfc, + 0x53,0x59,0x2d,0x05,0x65,0xc2,0xe1,0xe0,0xdc,0xa1,0xb5,0x27,0xc4,0x41,0x13,0xfe, + 0xd9,0x54,0xb7,0xf3,0x77,0xc5,0x5d,0x75,0x0d,0xd9,0xdf,0x95,0xfe,0x18,0xe7,0xff, + 0x81,0x6e,0xa9,0x43,0xa7,0x75,0xfe,0xc9,0xe1,0x3f,0xce,0xce,0x6f,0xa6,0xd9,0xf0, + 0x91,0xa9,0xfe,0x6b,0x13,0xec,0x54,0x67,0xae,0xbe,0xe5,0x21,0x44,0x47,0xaf,0x4c, + 0xf0,0xff,0xbc,0x4c,0x67,0xf6,0x5b,0x7e,0x44,0x36,0x29,0xfb,0x60,0xfa,0x1d,0x75, + 0x5e,0x4f,0x73,0xe2,0xfe,0x5a,0xee,0x2a,0x25,0xac,0x3b,0x55,0x34,0xdb,0x39,0xcd, + 0x4b,0x9c,0xcf,0xbf,0x9b,0x21,0x1e,0x70,0x5b,0x7e,0xcb,0x5e,0x04,0x7b,0x37,0xdd, + 0xe6,0x3f,0x61,0xf6,0x0f,0x68,0xb8,0x5b,0x3a,0x6d,0xa3,0x68,0x4f,0x7d,0xa9,0x71, + 0xf9,0x39,0x89,0xeb,0x97,0xf2,0xfa,0xbb,0x03,0xe2,0xb3,0xb0,0xdb,0x5b,0xe6,0xb5, + 0xae,0xdd,0x15,0x31,0xf1,0x2d,0x8c,0x68,0x63,0xc2,0x34,0xc4,0x3f,0x35,0x51,0xf8, + 0x4f,0x34,0xbe,0x3e,0x88,0xa8,0xfb,0x6c,0xcd,0xc2,0xfd,0xca,0x3b,0x50,0x29,0xa0, + 0x04,0x3b,0x65,0xf2,0xff,0x9c,0x87,0x81,0xc0,0x7c,0xe6,0x1c,0xcd,0xe9,0x46,0x18, + 0x90,0x13,0xe3,0x7f,0xbe,0xa2,0xcd,0xd5,0xac,0x4f,0xe6,0x8c,0x28,0x56,0x34,0x94, + 0xac,0x3a,0xee,0xcf,0xa4,0xff,0x67,0x39,0x0b,0x44,0x9d,0xae,0x3a,0x84,0x3d,0xea, + 0x5e,0xe8,0x30,0xf4,0x97,0x14,0xce,0x78,0x41,0x77,0x6c,0x26,0xa7,0xa1,0x4b,0xef, + 0x68,0xa8,0x5b,0x8b,0xa7,0x21,0x99,0xff,0xbc,0x1c,0x02,0x6a,0x56,0x07,0xa2,0x9d, + 0x6d,0xcd,0x7b,0xa1,0x68,0x42,0xdf,0xcd,0xb8,0x33,0xc0,0x36,0x9e,0x49,0x7b,0xbe, + 0xf1,0x85,0x28,0x5d,0x7b,0x8f,0x89,0xff,0x07,0xf5,0x11,0xa3,0x4e,0x12,0x70,0x11, + 0x2b,0xde,0x3f,0xc6,0x07,0x68,0x10,0xf5,0x53,0x42,0x74,0x81,0x21,0x34,0xa2,0xe0, + 0x21,0x09,0xf9,0x03,0x79,0x9c,0xf6,0xaa,0x32,0x60,0x0d,0xe7,0xac,0xe5,0x6a,0xe5, + 0xf5,0xd8,0x7e,0x50,0x76,0x79,0xad,0x7e,0x31,0x9a,0x61,0xc4,0x7f,0x37,0x08,0x6a, + 0x4a,0xfe,0xcf,0x4a,0xbe,0x08,0x9c,0x46,0xe0,0x4b,0x28,0x8b,0xf1,0x3f,0x9f,0x57, + 0x5f,0x39,0x68,0xeb,0x45,0x8b,0xfe,0x3c,0xdf,0x3f,0xfa,0xa4,0x24,0xfe,0x01,0x20, + 0xcd,0xb0,0x85,0xd3,0xcd,0x28,0xff,0xce,0x00,0xcc,0x7f,0x12,0xa0,0x75,0xa8,0xa1, + 0x04,0xfe,0x77,0x06,0xe6,0xbf,0x66,0xb4,0xe9,0x39,0xb9,0xe6,0xbf,0x37,0xf8,0x3f, + 0xb9,0x3f,0xe3,0x39,0x44,0x40,0xfe,0xdd,0x81,0xe9,0xef,0xdf,0x9f,0x18,0x1b,0xfc, + 0x9f,0xdc,0xff,0x7f,0xf7,0xef,0x3f,0xd8,0xfa,0x2b,0xbc,0x97,0xdf,0x00,0xfc,0x08, + 0xa6,0xea,0xff,0xce,0x40,0xfa,0x7f,0x7c,0xff,0xff,0x3f,0xaf,0xbf,0xa4,0xb0,0xbf, + 0x62,0xcd,0x05,0x53,0x7f,0x9f,0xff,0xbd,0xbf,0x8a,0x8a,0xbf,0x66,0x96,0xcd,0xf6, + 0xff,0xf0,0xf6,0xff,0x2f,0xfc,0x55,0x5d,0xbd,0x7a,0x55,0xff,0x5f,0x0c,0xfe,0xbf, + 0x3c,0xff,0x3f,0xd8,0x79,0xfc,0xbf,0xf2,0xf0,0xff,0xca,0xc3,0xff,0x83,0xf5,0xff, + 0xbf,0xf2,0xf0,0x7f,0xf5,0xf7,0x1f,0x4d,0xfe,0xfc,0xc7,0x9a,0xcf,0xf9,0x21,0x8f, + 0x2a,0xb3,0xf5,0xac,0x51,0xb9,0x0c,0xfe,0x02,0xa5,0xaa,0x4d,0x17,0xcb,0xc9,0x7a, + 0xb5,0xca,0x67,0x5b,0x29,0x56,0xc0,0x81,0xfe,0xd9,0x43,0xd6,0xb1,0x49,0xe6,0xfc, + 0xa8,0xa8,0xda,0xa2,0xd9,0xcf,0xd3,0xcd,0xd9,0x85,0x6c,0x7d,0x6f,0x91,0x2a,0x8b, + 0x7d,0xbf,0x91,0xd6,0x07,0x4b,0x7c,0x8b,0x7a,0xb2,0x7f,0xa7,0xb6,0xa9,0x65,0x11, + 0xca,0xf9,0x04,0x92,0xfe,0xb1,0x6d,0x5a,0xe3,0xe4,0x90,0x6e,0x99,0x4d,0x9e,0x55, + 0xb7,0x56,0xab,0xea,0x0d,0x1b,0xd3,0x1d,0x5a,0x53,0x7a,0x21,0x27,0x1e,0xc9,0x64, + 0x4d,0x85,0xf6,0x6b,0xfa,0xc3,0x4e,0x19,0x22,0x9c,0x56,0x8b,0xf3,0x03,0xb3,0x36, + 0x20,0x5a,0x4e,0xc0,0xce,0x03,0xaf,0x25,0x20,0xf7,0x90,0x6d,0xa4,0x89,0xf1,0x40, + 0x61,0x76,0x32,0x3f,0x4a,0xc8,0x7d,0x96,0x1d,0xd4,0xed,0x7a,0x96,0xd1,0x86,0x03, + 0x1e,0x66,0xb6,0xb5,0x4d,0xf9,0x81,0x43,0xe4,0x9f,0x34,0xb9,0x47,0x74,0xc2,0x9d, + 0x21,0x35,0x6a,0x0d,0x93,0x41,0x53,0x7c,0xf0,0x59,0xed,0x72,0xf0,0x77,0xba,0xed, + 0x84,0xf0,0x05,0xa7,0xc5,0x4e,0xb7,0xe9,0x35,0x97,0x94,0x8b,0xf0,0x73,0x2f,0x07, + 0xd2,0xf4,0x15,0xa1,0x6a,0xd4,0x36,0x5a,0xd0,0x65,0xaa,0x4f,0xef,0x14,0x0e,0x68, + 0xee,0x88,0x75,0xbb,0xd8,0x09,0xef,0xd1,0xca,0xe6,0xcc,0xa0,0xa8,0xa6,0x1d,0x62, + 0x2f,0x6b,0x06,0x43,0xc5,0x21,0xcd,0x48,0x9d,0x32,0xe5,0x47,0x41,0xba,0xda,0x42, + 0x6f,0x39,0x96,0xc9,0x69,0xf7,0xd6,0xf4,0x96,0x34,0xa4,0x03,0xc9,0xda,0xb0,0x9e, + 0xa7,0x6d,0x4c,0x23,0x15,0xf8,0x22,0x2f,0x9c,0xb4,0x86,0x53,0xf8,0x91,0x6a,0xa1, + 0x31,0xa2,0x0e,0xd2,0x6c,0x14,0x7e,0x8f,0x6b,0x4e,0x6f,0x0e,0x90,0x03,0x81,0x26, + 0x5e,0xbf,0x53,0x6e,0x19,0x10,0xb6,0xf2,0xfc,0x0d,0x1e,0x1f,0x9c,0xf8,0xe3,0xf9, + 0xe1,0xeb,0x79,0x52,0xf4,0xca,0xeb,0xce,0x19,0xf5,0x71,0x37,0xfc,0xc0,0xf3,0xb6, + 0xb4,0x26,0x28,0x0c,0x8b,0x3f,0xb1,0x4c,0x2b,0xfc,0x97,0xc6,0x5b,0x7c,0x94,0x27, + 0x0e,0x4d,0xfc,0xd5,0xf1,0x36,0x1c,0xe0,0xea,0xb5,0x2a,0xe2,0x5a,0xf8,0x3d,0xad, + 0xa0,0x37,0x09,0x72,0xbd,0xd4,0x24,0xe4,0xd6,0xaf,0x9f,0x23,0x8e,0x90,0xf7,0x83, + 0xae,0x08,0xef,0x0f,0x9b,0x8c,0x0f,0xde,0xb4,0xcd,0xf3,0x99,0xc2,0xdd,0x86,0x93, + 0x8e,0x6b,0x7f,0xaf,0x55,0xe9,0x37,0xf7,0xe2,0x7e,0xf8,0x79,0x6d,0x15,0xe3,0x1d, + 0xf4,0xe0,0x8f,0x02,0x27,0x56,0x15,0x07,0x13,0xf1,0x41,0x87,0xb4,0x0d,0x0e,0x08, + 0xbc,0xc8,0xa2,0xa6,0x13,0xde,0x71,0x55,0x9e,0xc0,0xfd,0x13,0x52,0x7e,0xcf,0xdc, + 0x5a,0x5b,0x58,0x74,0x7a,0x0e,0x91,0x69,0x3c,0x90,0x9a,0x8c,0x0f,0x46,0x94,0xcd, + 0xb0,0x06,0xf2,0xa3,0x4d,0x0d,0xf6,0x5c,0xfa,0x47,0xa1,0xf8,0xd8,0x22,0xdd,0x33, + 0x95,0x3e,0xa7,0x19,0xfc,0xba,0x53,0xb5,0x35,0xb1,0x8c,0x71,0x73,0x7c,0x30,0x0b, + 0xb6,0xb2,0xe7,0xa3,0x8b,0xf2,0xbc,0xbf,0x74,0xad,0x09,0x15,0x77,0xc8,0x75,0x64, + 0x23,0xac,0x09,0xe5,0xfb,0xe4,0xfa,0xec,0x69,0xb0,0x9a,0xcd,0xf2,0x05,0x56,0x92, + 0x13,0xa6,0xf8,0xe0,0x6f,0xa0,0x29,0xc3,0x30,0x4b,0x57,0xb1,0xc7,0x89,0x33,0x2a, + 0x0b,0x64,0x16,0x6c,0x85,0x2e,0x26,0x3b,0x8a,0x9c,0xb0,0x11,0x4a,0x78,0x7f,0x58, + 0x53,0x7c,0x70,0xca,0xde,0xbe,0x23,0x42,0x07,0x93,0x43,0x39,0x7b,0xe9,0x41,0xa8, + 0x64,0x47,0x87,0x6f,0xd9,0xcb,0x0e,0xc2,0x43,0xcc,0x76,0xe6,0x1b,0x0e,0xfa,0x3a, + 0x94,0x74,0x39,0x43,0xe2,0x85,0xe4,0xfd,0x61,0xc2,0x4d,0x04,0x3e,0x83,0x1f,0x7b, + 0x12,0xa7,0xa9,0x19,0x8e,0xe7,0xeb,0xc2,0xb0,0x1a,0xe3,0x07,0x30,0xc5,0x07,0x87, + 0x0c,0x36,0xa4,0x9b,0x83,0xe2,0x72,0x7a,0x00,0xca,0x7c,0x4b,0x94,0x58,0xa2,0xb8, + 0x66,0x6d,0x6f,0x8a,0x11,0x25,0x19,0xf9,0xe1,0x13,0xf3,0x99,0xb4,0x9c,0x34,0x56, + 0x93,0x6a,0xf9,0x3a,0xbb,0xd1,0x1f,0x4d,0x6f,0xe1,0x81,0xc5,0xb7,0xa4,0x2c,0xcd, + 0x92,0x6b,0x9f,0x4e,0x5b,0x88,0xbd,0xc1,0xc1,0xf3,0x3f,0x27,0xfe,0xf2,0xa4,0x42, + 0xd2,0x96,0x61,0xaf,0x95,0x83,0xa4,0x5f,0x68,0x01,0x7b,0x9d,0x11,0xcf,0x6a,0x61, + 0x33,0x34,0xcb,0x06,0xcb,0xf4,0x34,0x7e,0x85,0x9a,0xe3,0x83,0x20,0xa5,0x91,0x38, + 0x1b,0x52,0x9a,0x75,0x0b,0x7e,0xef,0x0c,0xee,0x26,0xda,0x20,0x65,0x55,0x2f,0x74, + 0x91,0x34,0xa1,0x45,0x63,0x0d,0x29,0xf9,0x99,0x2b,0x33,0xb8,0x7d,0xda,0xd1,0x78, + 0x23,0x4f,0x8b,0x8a,0xa7,0x25,0x53,0x12,0xc1,0xf3,0x98,0x15,0x23,0x4a,0x32,0x2a, + 0x76,0x3f,0x35,0xf9,0xc7,0x3e,0x27,0x57,0xb5,0x12,0x5e,0x04,0xf7,0x08,0x79,0xab, + 0xfa,0x69,0x4d,0x38,0x2e,0xbf,0x04,0xe3,0x5a,0x95,0x76,0xb4,0x41,0x7c,0x2d,0xed, + 0x32,0x2f,0x9d,0x0b,0x8a,0xbf,0x35,0xe5,0x47,0x7d,0x11,0x3a,0xdc,0x3f,0x77,0x99, + 0xed,0x98,0x38,0x24,0x1d,0xe6,0xf5,0x0b,0x9b,0x26,0xed,0x84,0xc3,0x24,0xd6,0x4f, + 0x4d,0x1b,0xf7,0x14,0x70,0x62,0xa5,0x4f,0x4d,0xf9,0x51,0xa7,0xfd,0x01,0x56,0xa6, + 0x88,0x8c,0x0c,0x33,0x7c,0x1e,0x26,0x83,0x78,0xbf,0xb7,0xeb,0xde,0x12,0x66,0xf0, + 0x23,0xf5,0x48,0x65,0x54,0x4e,0x89,0x0f,0xa6,0xf5,0x77,0x34,0xc6,0xaa,0xff,0x3a, + 0xd5,0x0d,0x38,0xf8,0xd5,0x26,0xde,0x1f,0x36,0xc6,0x07,0xde,0xdf,0xb8,0x1b,0x54, + 0xcf,0x22,0x73,0x7c,0xb0,0x7d,0xca,0x2a,0x83,0x16,0x7b,0x51,0xac,0x2d,0xc8,0x8c, + 0x5e,0x5c,0xcf,0x5a,0x2b,0xcf,0xcf,0x17,0x63,0x8e,0xca,0x19,0xb7,0x1b,0xfc,0x00, + 0x13,0xf3,0x3b,0x50,0x5e,0xf5,0xea,0x46,0xb6,0xdb,0xeb,0x9e,0xb7,0x78,0x1a,0xd8, + 0x66,0x7f,0x27,0x9e,0x88,0x9f,0xf1,0x7a,0x40,0x1e,0xff,0xed,0xd0,0x6c,0xe6,0xf8, + 0xe0,0xb0,0x50,0x98,0x68,0x8b,0xa6,0x8c,0xd3,0x58,0x7e,0x54,0x2e,0x77,0x9c,0xae, + 0x37,0x12,0xa5,0x72,0x8c,0x44,0x32,0x53,0x7c,0x50,0x51,0x8d,0x26,0x20,0x95,0xac, + 0xc9,0x07,0x83,0xb8,0xda,0x59,0xcd,0xa2,0x8f,0x8e,0x15,0x96,0x29,0xab,0x9b,0x45, + 0xa3,0x3e,0x8e,0xa6,0xe6,0x47,0x09,0x0e,0x58,0xa7,0x14,0xb0,0xcc,0x11,0x82,0x03, + 0x56,0xc4,0xa8,0x9a,0x53,0xae,0xee,0x67,0xcb,0x58,0xc6,0xb0,0xf8,0x63,0xf0,0x93, + 0x59,0x41,0x39,0x64,0x8a,0x0f,0x3a,0x24,0x2b,0x69,0xd2,0xba,0x4e,0x65,0xcc,0x21, + 0x8b,0x33,0x1e,0xd7,0xd5,0xa8,0xec,0x4a,0x5f,0x2c,0xec,0x18,0x2c,0xd4,0x2d,0xf3, + 0x88,0xcc,0x1e,0x87,0x15,0x85,0x3c,0x5f,0x2e,0x19,0x1f,0x84,0x5c,0x58,0x05,0xcf, + 0x9f,0xce,0xc8,0xf3,0x57,0x80,0x48,0xff,0xeb,0xb2,0x8c,0x87,0xc8,0x54,0xd8,0xd5, + 0x9c,0xaf,0x67,0xac,0xf4,0xff,0x27,0x78,0xc2,0xf5,0x00,0x8f,0xef,0xd7,0x25,0xe3, + 0x83,0x01,0xce,0x56,0x34,0xf3,0x94,0x75,0xe5,0xdc,0xef,0xce,0xf9,0x63,0xa3,0xc0, + 0xc3,0x82,0xdf,0x81,0xcf,0xd8,0x4b,0xd1,0x75,0x2b,0x85,0x4a,0xf2,0x47,0xff,0x4f, + 0x43,0xb6,0x95,0x5f,0x37,0xc5,0x07,0xad,0xcf,0xc0,0x98,0x36,0x47,0xcf,0x0c,0x7e, + 0xe3,0x30,0xbb,0x08,0x95,0x6f,0x67,0xbd,0xcc,0xdb,0x9e,0x72,0x47,0xbd,0xca,0x19, + 0x93,0x28,0x27,0x0a,0xf8,0x86,0x89,0x1f,0x72,0xd5,0xd5,0xc0,0x51,0xbd,0x34,0x6a, + 0x7b,0xd2,0x56,0x19,0xba,0xcc,0x4a,0x4f,0x2d,0xde,0x57,0xb3,0x1f,0x3e,0xf6,0x7f, + 0x2d,0x7a,0xf7,0x78,0x41,0x99,0x72,0xc8,0x3f,0x57,0xb5,0xee,0x16,0x93,0xf2,0xa1, + 0x6b,0xf2,0x2f,0xa3,0xab,0xe8,0x96,0x7e,0xf9,0xd1,0xd5,0x53,0xd5,0x33,0x70,0x4b, + 0x5d,0xe6,0xff,0x20,0xb9,0xca,0x9a,0x90,0xa3,0x8f,0x8e,0x91,0x4d,0x64,0x4d,0x30, + 0x5f,0x72,0xac,0x14,0x3f,0x32,0xc5,0x07,0x9f,0xae,0x5b,0xc3,0xf2,0x35,0xb9,0x9a, + 0x4c,0x6d,0x7f,0x09,0x0a,0x7a,0xaf,0x6f,0xf0,0xb7,0xe3,0x6b,0xde,0xa2,0x5b,0xce, + 0x91,0x5c,0xf8,0x67,0xf2,0x75,0x96,0xf1,0x30,0x79,0x5d,0x9b,0x98,0xef,0xcb,0x7d, + 0x03,0x02,0x3a,0x70,0xa1,0x3d,0x0b,0x3a,0x40,0x3d,0x96,0x31,0xc7,0x4e,0xc8,0xe3, + 0x50,0x3f,0x4a,0x15,0x4f,0x33,0xfc,0x8a,0xd9,0xb5,0x0c,0x17,0x09,0x26,0xbf,0x57, + 0xee,0xb3,0xe4,0x80,0xbf,0x9b,0xd9,0xda,0x49,0x25,0xcf,0xf6,0x39,0x97,0x79,0x9e, + 0x3c,0xc7,0x4e,0x80,0x7b,0x28,0xeb,0x29,0xd1,0x81,0x1a,0xa7,0x8c,0x65,0x86,0xc9, + 0x11,0xe6,0x4b,0x3c,0xcf,0x36,0xf5,0xe2,0x22,0x23,0x09,0x7c,0x45,0xf3,0x29,0xa8, + 0x0c,0xda,0xba,0xc5,0x0f,0xe1,0x23,0xcf,0x31,0x7d,0x09,0x8a,0x05,0x81,0x67,0x94, + 0x65,0x85,0x27,0x99,0xe3,0x83,0xbf,0xd4,0x0e,0x43,0x69,0x08,0x4f,0xd3,0x4f,0xe0, + 0xa0,0x32,0x97,0x97,0x45,0xa7,0x87,0x0e,0x0a,0x55,0x3a,0x5e,0x59,0xc1,0xae,0x42, + 0x01,0x4f,0x9d,0x52,0x4d,0xf1,0xc1,0x12,0x68,0x6d,0xef,0xe8,0x47,0x6d,0xe5,0x54, + 0x9e,0xaf,0xb3,0x87,0xe4,0xb0,0xa5,0x08,0x5e,0x60,0x0f,0xea,0x87,0xa6,0xa6,0x3f, + 0xcb,0x03,0x3d,0x51,0xd4,0xbf,0x66,0x7e,0x00,0x9e,0xc6,0x69,0x6f,0x5a,0xd4,0xee, + 0x59,0xc1,0xab,0xb7,0x6a,0x2d,0x61,0x32,0x1d,0xda,0xfa,0x7e,0x18,0x6b,0x14,0xbb, + 0x17,0x8a,0x4e,0xd3,0xb0,0x39,0x3e,0x28,0x59,0xed,0x22,0x84,0x98,0x9c,0xed,0xb1, + 0x42,0x08,0x54,0x41,0x76,0x3d,0x05,0x74,0xab,0xea,0xec,0xc7,0x63,0xd5,0x0c,0x3b, + 0x7c,0x54,0xa3,0x6e,0xd2,0xd7,0x9c,0xd8,0xa0,0x99,0xf7,0xc2,0x6b,0xbc,0x2d,0xe3, + 0xc6,0xa6,0x9f,0x28,0x11,0xe8,0xd6,0xb2,0xce,0x7d,0xa3,0x10,0x0e,0x39,0xe6,0x0d, + 0x1a,0x85,0x72,0x57,0x79,0x46,0x59,0x58,0xf4,0x25,0xe3,0x83,0x37,0x8d,0xc4,0xd8, + 0x2f,0xbd,0x39,0x97,0x88,0xc1,0x86,0x3d,0x6a,0x24,0x8a,0x2f,0x88,0xac,0xdf,0x20, + 0x9e,0xa7,0x5f,0xfa,0x5e,0xd2,0x6c,0xe7,0x73,0x4c,0xfc,0x48,0x69,0x5f,0xc0,0x38, + 0x73,0x83,0x6d,0x4c,0x5c,0xa6,0x1d,0xe5,0xcb,0x3e,0x26,0x8e,0x86,0x2e,0x3b,0xe6, + 0x46,0x33,0x07,0xc5,0x2b,0x70,0xd2,0x35,0x37,0xcf,0xaa,0xdf,0xe8,0x4a,0xf0,0x99, + 0xe8,0x01,0x5e,0xe4,0x65,0x77,0xf1,0x6a,0xb8,0x60,0x9b,0x6e,0x47,0xb4,0x43,0xde, + 0x87,0xdd,0x7c,0xb0,0x8f,0x8c,0xb0,0x40,0x83,0x5d,0xa1,0xab,0xd3,0x93,0xf9,0x51, + 0x11,0xb4,0x09,0xb6,0x0b,0x0e,0x09,0x6f,0xa1,0x41,0x53,0xb5,0x1a,0x69,0xe5,0x6d, + 0x2f,0x76,0x40,0x61,0x1f,0x0a,0xde,0x11,0x15,0x37,0x82,0xd5,0x22,0xf9,0x93,0xf1, + 0xc1,0xa8,0xd4,0xa9,0xe0,0xfd,0x19,0xa2,0xa3,0x57,0x2d,0x32,0xd8,0x7b,0x71,0xf5, + 0x3e,0x81,0xbd,0x0c,0x70,0x90,0x3e,0x62,0x69,0xd1,0x79,0xeb,0x10,0x53,0x7e,0x94, + 0x90,0x76,0x46,0x39,0x1b,0xea,0xce,0x46,0x34,0xf2,0x3d,0xa3,0x1a,0x2b,0xcb,0xc8, + 0x27,0xec,0x2d,0xd3,0xef,0x0a,0x8b,0x07,0xf2,0xde,0xd2,0x5f,0x6e,0xc8,0x6a,0x6f, + 0x4a,0xe6,0x47,0x85,0x26,0xef,0xd4,0x2e,0x93,0xca,0xe5,0x4b,0x2e,0xe5,0x8c,0x25, + 0xcb,0xbe,0x2e,0x73,0xfe,0xa8,0x28,0x19,0xeb,0xf8,0x5c,0x58,0xc0,0x32,0xf5,0x9a, + 0x24,0xfe,0x39,0xae,0x74,0x6a,0xe3,0x3e,0xb7,0x62,0xe5,0x69,0x57,0x3c,0x51,0x1c, + 0x07,0x1f,0xc2,0x21,0x56,0xd9,0x87,0x83,0x4f,0xe0,0xed,0x3b,0x2b,0x97,0xda,0x76, + 0x9a,0xf3,0xa3,0xd2,0x66,0xf0,0x68,0x54,0x07,0x0d,0x7b,0xa2,0xa8,0xe8,0x63,0x69, + 0x5d,0xac,0x09,0x1e,0x3c,0x41,0x43,0x64,0xc4,0xde,0xb2,0xb8,0xc4,0x27,0x6e,0x10, + 0xcd,0xf1,0xc1,0x74,0x36,0x5b,0x57,0x59,0xc6,0x1c,0xbf,0x0e,0x5b,0x25,0xbb,0x9e, + 0xe1,0xca,0x7e,0x9d,0x67,0xf0,0x0e,0xd6,0x29,0xe4,0x48,0xce,0x46,0xe6,0x0c,0xb6, + 0x3d,0x6f,0x4f,0xe2,0x9f,0x51,0xe5,0x3a,0xfa,0xbb,0x70,0x7e,0xe8,0xce,0x95,0xe4, + 0x61,0xed,0x39,0x96,0x3f,0x74,0xcb,0x4a,0x94,0xf6,0xab,0x9a,0x8b,0xa3,0xf4,0xd1, + 0xec,0x2b,0x91,0xb4,0x8e,0xe2,0x90,0x7c,0x67,0x7a,0x32,0x3f,0xaa,0x3e,0xcf,0x0a, + 0xa3,0x3d,0x2e,0x5f,0xa6,0x0b,0x41,0xc8,0xfb,0x92,0x7b,0x38,0xd3,0xe8,0x0f,0x22, + 0x94,0xe8,0xce,0x1b,0x26,0x0d,0xb0,0xc1,0xc9,0x15,0xf7,0xa0,0x46,0x36,0xf5,0x47, + 0x9b,0xb2,0x0f,0x3e,0xc7,0xd5,0x28,0x41,0x90,0xa3,0xbd,0x87,0x40,0xc8,0xc9,0x69, + 0x21,0x0d,0xf9,0x73,0xb6,0xe0,0x64,0xe0,0xf2,0xad,0x3f,0x47,0xf9,0xfc,0x8d,0x60, + 0x62,0x7d,0x1c,0x52,0x27,0x9c,0x65,0xf3,0x98,0xb5,0x3c,0x27,0x0b,0xde,0x31,0xfa, + 0xa3,0xe5,0x8c,0x28,0x47,0x25,0xa3,0x3f,0xc8,0x90,0x74,0x04,0x4a,0xc1,0x19,0x15, + 0x3d,0x89,0xf5,0x1f,0xa1,0x9b,0xe0,0x73,0x1e,0x3d,0x6f,0x10,0xef,0x83,0x35,0x7a, + 0x2c,0xcd,0x80,0xae,0xf1,0x17,0xeb,0xb2,0x2f,0x9b,0x27,0x36,0x6f,0x61,0x54,0x13, + 0x93,0xfc,0x90,0x3c,0x3f,0x6a,0x17,0x9b,0xe9,0xcb,0x58,0x69,0x9f,0x0b,0x3b,0x42, + 0x06,0x1f,0xf8,0x11,0x58,0xc3,0x2b,0x04,0x57,0xce,0xb8,0x02,0xdd,0x7e,0xd5,0x77, + 0x67,0xb9,0x29,0xff,0x61,0xb1,0xb4,0x16,0x76,0x44,0xd4,0x37,0x33,0x14,0xcf,0x1d, + 0x88,0x1e,0x3b,0x38,0xba,0x3e,0x82,0x12,0xde,0xa9,0xcb,0xd3,0xc9,0xe1,0xc5,0x19, + 0x5e,0x7b,0x43,0xc6,0x54,0x8b,0x89,0x1f,0x52,0xea,0x82,0x2b,0xda,0x6d,0xcd,0x99, + 0x5d,0x8f,0x97,0x73,0x5a,0x6c,0x66,0x45,0xb4,0xc3,0x8e,0xf0,0x08,0x69,0x54,0xbc, + 0x48,0xee,0x66,0xa5,0xa1,0xcc,0x8f,0xc4,0x79,0x26,0xfe,0xa5,0x90,0x30,0xac,0x54, + 0x42,0x09,0xcb,0x39,0x05,0x4b,0x8d,0x46,0xb1,0x08,0x0c,0x0c,0x7e,0x6c,0xd6,0x14, + 0x2d,0x1c,0x93,0x2b,0xd3,0xb3,0x58,0xd3,0x46,0x73,0x7e,0x14,0x8c,0x4f,0xae,0xf4, + 0xf1,0xb6,0x59,0xea,0x43,0xc4,0xcd,0xab,0xa5,0x86,0xb4,0x03,0x01,0xa3,0x90,0xfc, + 0x8c,0x72,0xa0,0xc3,0x5d,0x6f,0x9d,0x4a,0x88,0x09,0xff,0xfc,0x17,0x3c,0x4d,0x25, + 0x1e,0xcb,0x66,0xf2,0x01,0xdb,0x0d,0x65,0x9c,0xef,0xe8,0x0c,0x3c,0xe6,0x77,0x6a, + 0x8e,0x20,0x79,0xc3,0xd7,0xc2,0xec,0xf5,0x46,0x45,0xc6,0xc4,0x79,0x2f,0x4f,0xfb, + 0x3a,0x2a,0xe5,0xac,0xda,0xbc,0xcd,0x64,0x48,0xe3,0xfd,0x4c,0x8d,0x34,0x9e,0xb6, + 0xfc,0x07,0xef,0x47,0xd8,0xb3,0x0d,0x78,0xc6,0x14,0x35,0xf3,0x03,0xa8,0xb9,0x12, + 0x6c,0x27,0xce,0x6a,0x8b,0x72,0x0f,0x6f,0x93,0x51,0xe8,0x35,0xe2,0x83,0x8d,0xf0, + 0x20,0x87,0x3d,0x1f,0x18,0x1d,0x43,0xf2,0xcc,0xfc,0x48,0x2b,0x6f,0x8a,0xe5,0x47, + 0x59,0x63,0xf9,0x60,0x46,0x58,0xd0,0xa8,0x8f,0x13,0xac,0x3c,0x42,0xca,0x89,0x22, + 0x9d,0x4c,0xfe,0xed,0xa4,0x44,0x7e,0xd4,0xe4,0xf3,0x3c,0x3f,0xea,0x9b,0x1c,0xbd, + 0x48,0xe3,0xb1,0xfc,0xf0,0xcf,0xc9,0x65,0xc4,0x3f,0xb6,0xe3,0x39,0xc7,0x49,0x8c, + 0x1f,0xe0,0x6b,0x0f,0x26,0xf3,0xa3,0xa6,0xf0,0xf9,0xf3,0xeb,0xac,0x83,0x93,0x70, + 0xa0,0x1a,0x40,0xe2,0xbc,0x7a,0x94,0x17,0xf2,0x04,0xc5,0x5b,0x39,0x3f,0xb6,0xc7, + 0x7a,0xec,0xf5,0x4f,0x93,0xf9,0xdb,0x88,0x3f,0x7b,0x24,0xbb,0x54,0xc7,0x48,0x54, + 0x1d,0x53,0xca,0x2c,0x94,0xc7,0x07,0x03,0xd2,0x3c,0x52,0xd7,0x28,0xd6,0xb3,0x88, + 0xda,0x01,0x8e,0x66,0x13,0xfe,0xa9,0x43,0xf9,0xb3,0x1b,0x1c,0x3e,0xaa,0x64,0xf7, + 0x2b,0xdb,0x41,0xad,0xb3,0xf0,0x34,0xf8,0x46,0xe6,0xac,0xc6,0xf7,0x2d,0x64,0xdb, + 0x7f,0xa0,0x2e,0x8c,0x64,0xfb,0x8f,0x25,0xf2,0xdf,0xda,0x73,0x8d,0xfc,0x28,0x4e, + 0xe2,0x31,0x42,0x39,0xdf,0x26,0x2e,0xfb,0x10,0x69,0x91,0x68,0x35,0x0e,0x56,0x68, + 0x6d,0xd5,0xf6,0x85,0xf4,0x17,0x8a,0x29,0x3f,0x4a,0x79,0x96,0x9e,0xf5,0x95,0x6b, + 0xce,0x60,0xf6,0x19,0xef,0x6d,0x88,0x66,0x79,0x3e,0xbc,0x7e,0x00,0xf1,0x12,0x3e, + 0xff,0x8c,0xc9,0xe3,0x9c,0x3f,0xa4,0x5d,0x4d,0xe2,0x9f,0x08,0x74,0x06,0x38,0xfe, + 0x59,0xb2,0xc1,0x7e,0x46,0xe2,0x6d,0x41,0x62,0xf9,0xf3,0xfa,0xa3,0x1e,0x9b,0x22, + 0x0e,0xc9,0xbb,0x95,0x4a,0x5f,0x0a,0xfe,0xa1,0xbc,0x3e,0x4e,0x43,0x50,0xed,0xc7, + 0x65,0x1f,0x26,0x7c,0xfd,0x0b,0x4e,0x41,0x24,0xe3,0x67,0xb8,0xec,0x46,0xc5,0xa2, + 0x9b,0x2e,0x5e,0x95,0xd3,0x6a,0x8a,0x0f,0xce,0xaf,0xde,0xaf,0xcf,0x0a,0xb6,0x45, + 0x27,0xf5,0xb0,0x56,0x7f,0x51,0x63,0x16,0xef,0x86,0xb6,0x2e,0xfa,0x73,0x96,0x19, + 0x22,0x79,0x64,0x9d,0xaf,0x20,0x44,0x87,0x26,0x79,0x12,0xa7,0x8b,0x4a,0x77,0xe1, + 0xb1,0x72,0x6e,0x93,0x55,0xf7,0x80,0xb2,0x05,0xad,0xcb,0xeb,0x5d,0x33,0xfa,0x01, + 0xcf,0x0b,0xef,0x5f,0x99,0xd6,0xfb,0xbc,0xaf,0xa3,0x81,0x4e,0x4b,0x4f,0xe2,0x1f, + 0x50,0xbe,0x09,0xbb,0x68,0x31,0x3b,0xd4,0x40,0xf6,0xc3,0x16,0x3a,0x93,0xc7,0xcb, + 0x0e,0xe3,0xb1,0x9d,0xa9,0xd3,0x51,0x54,0x42,0xab,0x20,0xdf,0x53,0xe7,0x4d,0x4f, + 0xe2,0x1f,0xda,0xfe,0x6d,0x78,0x99,0x2d,0x40,0xd8,0x83,0x20,0xf3,0x19,0x56,0x7a, + 0xfa,0xa6,0x95,0xe2,0xbb,0xe4,0xb5,0xe6,0x59,0xd1,0xba,0x95,0x72,0x25,0xfc,0x89, + 0xfd,0xc8,0xe7,0x5c,0x2a,0xb6,0x26,0xf1,0xcf,0x94,0x90,0x70,0x21,0x96,0xed,0xc3, + 0xf9,0xd6,0x2a,0x23,0x3c,0x0d,0x95,0x18,0x44,0xd0,0x2e,0x71,0x94,0x5c,0x86,0x9f, + 0x6b,0xeb,0xcd,0xfc,0x00,0xbe,0xdc,0x97,0xe1,0x8f,0x46,0x37,0xd8,0x9a,0xfd,0xf4, + 0x28,0x73,0x9f,0x36,0xfa,0xa3,0x0d,0x18,0x8d,0x62,0x49,0x99,0x7e,0x94,0x55,0x85, + 0xe8,0x98,0xb8,0x34,0xb1,0xfe,0xcf,0xd3,0x0d,0xb0,0x2b,0x3b,0xbf,0x5f,0x6e,0x10, + 0x37,0xc3,0x1f,0xd5,0x5b,0x87,0xbb,0x78,0xbc,0xaf,0x79,0x72,0x7e,0x33,0x75,0x89, + 0x0d,0x1e,0xb4,0xc8,0x02,0xf4,0x3b,0xa4,0x28,0x31,0x9f,0x77,0x64,0xdd,0x17,0xcb, + 0xe7,0x1c,0xd5,0x9e,0x83,0xfb,0x79,0x63,0xdc,0x01,0xdc,0x53,0xd3,0xb9,0xe0,0x9a, + 0xca,0x56,0x41,0xb1,0xd0,0xf5,0xf0,0x31,0x29,0x19,0x1f,0x94,0x18,0x74,0xab,0x6a, + 0x50,0x2e,0x27,0x1d,0xb0,0x43,0x98,0xc1,0xe5,0xcf,0x61,0x3f,0xd3,0x50,0x11,0x54, + 0x90,0xc5,0x74,0xa3,0x8e,0x0b,0xbb,0xcd,0x63,0xca,0x8f,0x9a,0xa2,0x4b,0x9f,0x69, + 0xee,0xe7,0x11,0xc6,0x8c,0xb0,0x8f,0x85,0x02,0xae,0xbf,0x3e,0x81,0x48,0x75,0x99, + 0x6e,0xdd,0xd7,0x24,0x09,0x91,0x87,0x2a,0xeb,0x07,0x02,0x45,0xb6,0x64,0x7e,0x94, + 0xb0,0x05,0xe6,0x7b,0x2a,0x79,0x7e,0xf8,0x27,0x70,0xe3,0x44,0x7f,0x90,0xb1,0xea, + 0x79,0x7a,0x49,0x58,0x3c,0x95,0x31,0x0c,0x95,0x75,0x36,0xbf,0xd8,0x95,0x90,0x6f, + 0xf9,0x4a,0x18,0xde,0x85,0xd2,0xd7,0xf1,0x3c,0x5e,0xa5,0xaf,0x2a,0xbc,0x11,0xad, + 0x78,0x15,0x22,0xb4,0x6a,0xd8,0x1a,0x6e,0xba,0x44,0x8e,0x4f,0x72,0xf3,0x7e,0x22, + 0xf9,0xcb,0x27,0xe6,0x6f,0x91,0x96,0x41,0x6b,0xc8,0xde,0x2b,0x6f,0xf6,0xfc,0x05, + 0x5e,0x94,0x62,0xfa,0x4b,0x09,0xf4,0x97,0xf0,0x8e,0x81,0xa7,0x15,0x34,0x3d,0xca, + 0xe5,0xcd,0x7f,0x36,0xf3,0x63,0x2f,0x53,0x9e,0x52,0x3a,0x74,0xb9,0xc7,0x3f,0xc4, + 0xf9,0x94,0x8c,0x7c,0x1e,0x12,0xd0,0x4b,0xf4,0xf6,0x30,0x39,0x23,0xec,0x69,0x26, + 0x21,0xb9,0xeb,0x3a,0x35,0x89,0x7f,0xf0,0x1f,0xfe,0xca,0x30,0xea,0x3d,0xfd,0x8b, + 0xb7,0x42,0x28,0x02,0x3c,0x3e,0xc8,0x60,0x05,0xcb,0xe3,0x7c,0xc8,0x1b,0x78,0xbd, + 0x18,0x31,0xe1,0x73,0x1e,0x1f,0x3c,0xa1,0xb8,0x9b,0x8d,0x30,0xfa,0x21,0x98,0x3d, + 0x98,0xc9,0xe3,0x8f,0x11,0xb2,0x42,0x77,0x6e,0x37,0x3a,0x34,0x71,0x7e,0xec,0x36, + 0x35,0x3d,0x81,0x7f,0x7e,0x31,0x0a,0x23,0x85,0x55,0x8d,0xf8,0xbe,0xc7,0x11,0xdd, + 0x55,0xbd,0x6d,0xc4,0x07,0x2f,0xf1,0xb4,0x16,0x0e,0x84,0x46,0x38,0xbf,0x31,0xcb, + 0xe9,0x5a,0x9d,0xc4,0x3f,0xf1,0x6a,0xca,0x80,0xf8,0x85,0x72,0x84,0x55,0x45,0xd6, + 0x76,0x17,0xb8,0x39,0x3f,0x92,0x7a,0x77,0x44,0x1c,0x27,0x07,0x58,0x29,0x35,0xf2, + 0xbd,0x13,0xf3,0xdb,0x79,0x7e,0x78,0x8c,0x0d,0x80,0xb5,0xb1,0x59,0x43,0xf4,0x12, + 0xb1,0x2b,0x78,0x45,0xa5,0xed,0xe4,0xc3,0x46,0x94,0xcf,0x85,0xb4,0x87,0x03,0xbb, + 0x89,0xf3,0x9e,0xb6,0x36,0xde,0xed,0x9d,0x0c,0xa1,0x6c,0x72,0xea,0x96,0xd9,0x37, + 0x30,0x69,0x07,0x94,0x34,0x2e,0x84,0xec,0x68,0x6d,0x8b,0xa4,0x6e,0xc1,0x1d,0x42, + 0x84,0x89,0xf9,0xba,0xb4,0x2d,0x5e,0x4d,0xef,0x1f,0x51,0xdb,0x7c,0x25,0x7a,0x7d, + 0x98,0x84,0xf8,0x7f,0xf1,0x0e,0x5e,0x96,0xc8,0x5b,0x67,0xaa,0xf8,0x21,0xc2,0x89, + 0x7c,0x83,0xea,0x29,0x71,0x76,0xf4,0xb5,0x64,0x80,0xf3,0x1b,0xf7,0x2e,0x0e,0x17, + 0xbc,0xa0,0x5e,0xd4,0xf3,0xd4,0xac,0x9e,0xff,0x32,0xcc,0x5a,0xb2,0xdd,0x3e,0x67, + 0x58,0x54,0x12,0x78,0x2f,0x24,0xc4,0x69,0x9f,0x4f,0x89,0x97,0x24,0x5e,0xf6,0xd5, + 0x36,0x2a,0xfe,0x44,0xbb,0x4a,0x7e,0x0e,0xb8,0x31,0x3e,0x62,0x57,0xfd,0x15,0x7c, + 0xa1,0x52,0xf8,0xb1,0x63,0xf7,0x5f,0x25,0x3e,0x03,0x17,0xb4,0x0a,0xdd,0xea,0xca, + 0x99,0xa9,0x5d,0xe4,0x8d,0x0b,0x11,0x6f,0x6b,0x11,0xde,0x5a,0xbd,0x7b,0x52,0x0a, + 0x3f,0x64,0xec,0xf9,0xbb,0x78,0x98,0x38,0x30,0x2b,0x92,0x39,0x8a,0x86,0xc0,0x6e, + 0x6f,0x49,0x35,0xbe,0xd1,0x21,0xed,0x4d,0x86,0xfa,0xa8,0xcc,0xc4,0x0f,0xa9,0x4b, + 0x8b,0x63,0xeb,0x43,0xd3,0xfb,0xa5,0xb0,0xe4,0xe0,0xf5,0xec,0xcd,0xea,0x8e,0x6a, + 0xa7,0x26,0x3a,0x10,0x28,0x36,0xea,0x0e,0x8d,0xba,0xec,0xc9,0xfe,0x68,0x63,0xca, + 0x77,0x99,0xc1,0x06,0xb0,0x94,0xfc,0x01,0x76,0x32,0x67,0xb4,0x7e,0xfe,0x0d,0x4f, + 0x4d,0x36,0x32,0xc6,0xff,0x87,0xe7,0x5d,0xe9,0x17,0xe1,0x99,0x3e,0xca,0x0b,0x5d, + 0x27,0xee,0x5f,0x47,0xef,0xe6,0xfc,0x00,0xfd,0x36,0x59,0xec,0x87,0x73,0x50,0x11, + 0xa1,0xf3,0xe5,0x66,0xf8,0x4c,0xaf,0xe8,0x9f,0x54,0x24,0xea,0xe4,0xd5,0x50,0x39, + 0x73,0xce,0x37,0xfb,0x7f,0xa6,0xc4,0xd7,0xe7,0x18,0x0f,0xa3,0xd3,0xaa,0x41,0xdb, + 0xf6,0x9a,0x7a,0xb8,0xc8,0xf9,0x91,0xce,0x8a,0xe7,0x61,0xbb,0x34,0x97,0x77,0x0c, + 0x49,0xd6,0xc7,0x51,0xfc,0x5e,0xc6,0xfa,0xec,0x79,0x6e,0x31,0xef,0xf6,0x35,0x60, + 0xdb,0x25,0x76,0x06,0x1e,0x66,0xee,0x7b,0x6c,0xe5,0x39,0xe5,0x70,0x96,0x27,0x42, + 0x87,0xc5,0x83,0xc9,0xfd,0x90,0xc7,0xf3,0xc3,0x11,0xed,0xfc,0x93,0x7b,0xaa,0xb4, + 0x2a,0xab,0x58,0xcf,0x98,0x2d,0x4e,0x0d,0xbd,0x0c,0xb7,0xb6,0x2f,0xe2,0x88,0xe8, + 0x25,0xc8,0xaf,0x36,0xf2,0xc3,0x27,0xe6,0xab,0xf0,0x34,0x9d,0xcb,0x1e,0x88,0xca, + 0x57,0xc8,0x3f,0x49,0x4f,0x6c,0x29,0x9e,0x28,0x03,0x9c,0x39,0x2c,0xff,0x84,0xdc, + 0x00,0xfb,0x74,0x9e,0x3a,0x6e,0xaa,0x4f,0xa9,0x97,0x8c,0xfd,0xd6,0x2b,0xcf,0xf1, + 0x97,0xb0,0xc7,0x11,0xf6,0xdc,0xe9,0x22,0x6b,0xb5,0xee,0x66,0x5c,0xe1,0x0a,0xff, + 0xdd,0xda,0x76,0x9e,0x98,0xc7,0xf9,0x21,0x27,0xe6,0x0f,0x4f,0xe1,0x65,0x44,0x28, + 0x4f,0xb6,0x89,0x8f,0xb2,0xb7,0x8d,0xb2,0x38,0x79,0x18,0xae,0xe8,0xf3,0x58,0xdb, + 0x70,0x41,0xb9,0xf4,0x45,0xed,0x7f,0x67,0x06,0x3f,0xe4,0xc4,0xfb,0xd6,0x09,0xc9, + 0xb6,0x20,0x64,0x98,0x56,0x2a,0x99,0xcd,0xa8,0x3b,0xc7,0xf2,0x66,0x20,0xfe,0x89, + 0x65,0x10,0x11,0x5b,0x73,0x4a,0x7d,0x5c,0x67,0x2c,0x2d,0xea,0x29,0x5e,0x1d,0x8f, + 0xfa,0x7d,0xf1,0x0d,0xe2,0x72,0x75,0x5c,0xa8,0xf4,0xa6,0x3d,0xc9,0x15,0x1f,0xdb, + 0xc3,0x2b,0xe8,0xaf,0xe1,0x07,0x00,0xdc,0x2d,0x3d,0x08,0x63,0x9a,0x54,0xd5,0x1b, + 0xd8,0x2c,0xae,0x80,0xdd,0xd5,0x25,0xfa,0x9d,0x86,0xff,0x21,0xdb,0xe8,0xf7,0x11, + 0x35,0xe1,0x9f,0x42,0xd8,0x2d,0xf0,0x32,0xf6,0xec,0x21,0x4e,0xa3,0xed,0xa1,0xc1, + 0x8d,0xc6,0x1d,0x38,0x0d,0xd4,0x10,0x22,0xa8,0x22,0x5f,0x4a,0x7e,0xb8,0x81,0x7f, + 0x62,0xde,0x8f,0xd7,0x84,0x16,0x08,0x71,0x18,0x50,0x0b,0xdb,0x19,0xe7,0x87,0x24, + 0xaf,0xd1,0xdd,0xa0,0xfa,0xf0,0x27,0x3d,0x89,0x7f,0x0c,0x7e,0x80,0x12,0x83,0x8d, + 0x90,0x44,0x24,0xc3,0xdb,0xe3,0xe3,0x85,0x5a,0x70,0x93,0x41,0x8c,0x00,0xf3,0xf8, + 0x8b,0xbf,0x6b,0xe2,0x87,0x8c,0xa5,0x81,0x21,0xa8,0x36,0xf2,0xbd,0xbd,0xff,0xb2, + 0xc9,0x28,0x73,0x8b,0x33,0x06,0xa0,0xa1,0xe1,0xc5,0x41,0x2a,0x3f,0x40,0x3c,0x6d, + 0x6c,0xb9,0x36,0x1e,0xcb,0xbe,0x93,0xe8,0x65,0x04,0x8a,0x1c,0x41,0xa9,0x08,0xa5, + 0x38,0x3f,0xa4,0x89,0x1f,0x20,0x8f,0x67,0x43,0x19,0x6c,0x00,0x51,0x12,0x80,0x92, + 0x5c,0x79,0x15,0xef,0x0f,0x02,0xa4,0x51,0xe6,0x8d,0x62,0x7b,0x48,0x89,0xb2,0x88, + 0x59,0xd6,0x99,0xf1,0x4f,0xc6,0x44,0xf7,0x37,0xc6,0x89,0x79,0x71,0xc0,0x57,0xa0, + 0xcb,0xf0,0xff,0x74,0xe2,0x8b,0xf3,0xfc,0xf9,0xec,0x04,0xbe,0x6a,0x97,0x12,0xec, + 0x9a,0x1f,0x68,0x2d,0x86,0xdb,0xc7,0x82,0x2b,0xac,0x16,0xc5,0x13,0xd5,0x9a,0x4b, + 0xf8,0x7a,0x3e,0x6b,0xe2,0x87,0x9c,0x78,0xfe,0x7b,0xbe,0xcf,0xd9,0x6c,0xb4,0xa3, + 0x4a,0x4e,0x21,0x6e,0x7b,0xc3,0x8d,0x33,0x24,0x8c,0x43,0x49,0x3d,0x2e,0x85,0x29, + 0x3f,0x4a,0x88,0xef,0x07,0x4e,0x3b,0x90,0x74,0x04,0x05,0xca,0x78,0xbe,0xe5,0x9f, + 0x05,0x9e,0x3a,0xb5,0x1e,0xf1,0x8f,0x89,0x5f,0x3d,0xb9,0xdf,0xa4,0x13,0x42,0x25, + 0x59,0xcc,0xda,0x78,0xa2,0x54,0x25,0xb5,0x35,0x8a,0x51,0x65,0xac,0x19,0xbf,0x48, + 0x20,0xa5,0x3e,0xce,0x01,0x7b,0x78,0x5a,0x78,0xa7,0x18,0x80,0x56,0x36,0x2b,0x68, + 0x1d,0x26,0xcf,0xc3,0x3a,0x7f,0x56,0x40,0xee,0xb2,0x8f,0xa9,0xfb,0x59,0x01,0x0b, + 0x9c,0x36,0xf7,0x07,0x91,0x16,0x0b,0x86,0xfc,0x71,0x73,0x76,0xbe,0x51,0xe7,0xa0, + 0xe3,0x56,0xb2,0x9e,0x6d,0x55,0x8c,0x85,0x42,0x43,0x55,0x08,0x45,0x03,0x9c,0x1f, + 0x32,0xa1,0xef,0x94,0xfb,0x62,0xe7,0xf7,0x91,0x3b,0x36,0xa3,0xf6,0x77,0x46,0x2d, + 0x08,0x84,0xd4,0x35,0xf0,0x80,0x2e,0x22,0x90,0x50,0x5e,0x09,0xa8,0xa3,0x11,0x8d, + 0x0c,0x27,0xe6,0x07,0x02,0xdf,0x45,0xfb,0x05,0xf1,0xcf,0xd2,0x9c,0xab,0x9e,0x37, + 0xd8,0x02,0xde,0x28,0xe4,0x69,0xf8,0xb3,0xff,0x26,0xbc,0x52,0x70,0x0c,0xbe,0x34, + 0x5a,0xa7,0x89,0x1f,0xcd,0x98,0x98,0x4f,0xa7,0xc4,0xe5,0xc9,0x2f,0x39,0x1e,0xf0, + 0x55,0x32,0x4e,0x0b,0xc9,0x2e,0x0a,0x86,0xa2,0x3f,0x1f,0x6b,0x04,0x16,0xcc,0x31, + 0xf1,0x03,0x48,0xfb,0x8d,0xfe,0x20,0xb6,0x4b,0xdf,0xb8,0x92,0x7b,0x55,0xc7,0xc1, + 0x52,0xf1,0x15,0xb8,0x1a,0xfc,0xf9,0xf9,0x25,0x27,0x6a,0xe6,0xc1,0x1b,0x7e,0x83, + 0x28,0x09,0x12,0xfb,0xe7,0x85,0xbc,0xb5,0xda,0x2e,0xce,0x06,0x89,0xf8,0x27,0x80, + 0x2f,0xc2,0xeb,0xdd,0x14,0xf5,0x89,0x1e,0xbc,0xa2,0x88,0x8f,0x78,0x57,0x6f,0xcf, + 0xef,0x5f,0xe4,0x25,0x45,0xcd,0x89,0xfb,0xc3,0xe6,0x3a,0xe3,0x7d,0xff,0x1b,0x9a, + 0x69,0x2f,0xe3,0xc0,0xa2,0x11,0x94,0x60,0x85,0xc5,0x20,0x0f,0xfa,0x15,0x58,0xef, + 0xb9,0x9f,0xd7,0xf3,0x9a,0xf8,0x91,0xa4,0x18,0xbb,0x4b,0x9b,0x8b,0x3c,0xa6,0x76, + 0x6b,0x4e,0x8d,0x02,0x5a,0x37,0x8f,0x83,0x73,0xb2,0xac,0xf8,0xbf,0x0f,0x7e,0x09, + 0xe5,0x8f,0x62,0xe2,0x47,0xea,0x9a,0xc2,0xb3,0x49,0x4b,0x74,0x5b,0x8f,0x78,0x99, + 0xee,0x85,0x0a,0x2d,0x2b,0x54,0xf0,0x9c,0x36,0xc6,0x4a,0x1c,0x6b,0xda,0xc5,0x62, + 0xcf,0x21,0xf6,0xf0,0x25,0xdc,0x21,0x45,0x89,0xfd,0xc3,0x84,0xf8,0xfa,0x6c,0x10, + 0x7f,0xcb,0x37,0x92,0x9e,0xa5,0xd6,0x8c,0xd0,0xb7,0xc8,0xbc,0xbc,0xf5,0xc1,0x9c, + 0x0f,0xb4,0x71,0x65,0x3f,0x6f,0xe4,0x14,0x4d,0xec,0x9f,0x7c,0x25,0x2e,0xcf,0x2f, + 0x88,0xfb,0xa4,0xa3,0x28,0xaf,0xac,0x83,0xe2,0x3f,0x29,0x97,0x60,0x16,0x6f,0x1c, + 0x76,0x1e,0x0e,0xf3,0xfe,0x5f,0x83,0x22,0xd4,0x4e,0x3c,0xff,0x16,0x69,0x85,0xa1, + 0xbf,0xda,0x36,0x93,0x91,0xbc,0x43,0xc1,0x12,0x46,0x7f,0x75,0xdd,0x36,0xe8,0x61, + 0x25,0xfa,0xa2,0x1e,0xf2,0x67,0xd2,0xc8,0x54,0xa0,0xb9,0xe6,0xfe,0x68,0x42,0x5c, + 0xdf,0x75,0xe2,0xfe,0xc1,0xf3,0x02,0x8e,0x90,0xbd,0xb0,0x79,0x0f,0x2b,0x51,0xe4, + 0x0d,0xe4,0x53,0xb5,0xad,0xd1,0xee,0xa3,0x9b,0x3d,0xe6,0xfe,0x68,0xd6,0x38,0x1e, + 0xf0,0x0c,0x20,0xda,0x71,0xaa,0x54,0x25,0x8c,0xb7,0x81,0x00,0xc3,0x10,0x0b,0xdc, + 0xaf,0xfa,0x1c,0xe6,0xfe,0x44,0x24,0x73,0xc5,0x52,0xe3,0x7d,0x9f,0x11,0xf7,0xc5, + 0xba,0x31,0xae,0x92,0x0b,0xa5,0x0b,0x0f,0xe3,0x89,0x78,0x49,0x1c,0xa2,0x87,0x7c, + 0x68,0xb1,0x6e,0x12,0x93,0xfd,0xd1,0xb6,0xdc,0x74,0xc9,0x6a,0xbc,0x6f,0x9f,0x78, + 0x89,0x8e,0xc0,0xcd,0x60,0xd3,0x73,0x46,0xe9,0x05,0xad,0x0a,0x6c,0x0f,0xe3,0xfb, + 0x5e,0x50,0x8c,0x7e,0x70,0xc3,0x49,0x7f,0x8e,0x70,0x05,0xfe,0xb4,0xaa,0x34,0xc3, + 0xa6,0x17,0x9c,0xd7,0xbf,0x64,0xb1,0xb6,0x20,0xea,0x51,0x1c,0xf0,0xfa,0x02,0x7a, + 0x72,0x66,0x69,0xbe,0x55,0x4f,0xed,0x0f,0x2b,0xf5,0xb0,0x19,0x0b,0xe5,0x76,0xcf, + 0x29,0xcd,0xc8,0x96,0xef,0x41,0x43,0x95,0x27,0x8a,0xd3,0x1e,0x32,0xd2,0x1c,0xf0, + 0xd9,0x55,0xda,0x64,0x49,0xe1,0x47,0x42,0x04,0xbd,0xdc,0xba,0x48,0xe0,0xde,0xad, + 0x58,0xd9,0x7b,0x24,0x56,0xef,0xe6,0x22,0x23,0xea,0x06,0x8b,0x9d,0x51,0x33,0x3f, + 0x09,0xe7,0x47,0xda,0x4d,0xce,0xf8,0xe4,0x76,0x78,0x1f,0xe2,0x34,0xe3,0x9f,0x92, + 0xd6,0xec,0x8e,0x5e,0x23,0xdf,0xbe,0xc5,0x7f,0xda,0xe8,0x0f,0x92,0x8c,0x8f,0xe0, + 0xfe,0x41,0x23,0xe8,0x21,0xdb,0xda,0xad,0x23,0xd2,0xc5,0x58,0xd9,0xfe,0xfb,0xfe, + 0x48,0xc4,0x7d,0x0c,0x61,0xcf,0x80,0xef,0x44,0x28,0xfc,0xed,0xc5,0x6b,0x0b,0x94, + 0x14,0x7e,0x80,0x9f,0x06,0xe7,0x73,0xb1,0x33,0x3a,0xd1,0xff,0xa2,0x5f,0xba,0xcc, + 0xaa,0x8e,0xd9,0x46,0x6b,0xae,0xd0,0xcf,0xb9,0xc7,0xcc,0xdb,0x94,0xda,0x1f,0xed, + 0x00,0x45,0x6d,0xfe,0x78,0xc1,0x03,0x08,0x03,0x8c,0xfb,0x7f,0x02,0x07,0x95,0x6e, + 0xdd,0xf0,0xff,0x7c,0x04,0xee,0xde,0x25,0xcf,0xa4,0xf0,0x43,0x3a,0x81,0x44,0xec, + 0xdf,0x14,0x37,0x93,0x7c,0xed,0xfd,0x18,0xad,0xc4,0xa7,0xcc,0xcf,0xe6,0x9c,0xa3, + 0xdd,0xe4,0x2f,0xb5,0x2d,0x5e,0xfb,0x26,0x79,0x73,0xcd,0xc3,0xa6,0xf8,0xd7,0x62, + 0x60,0xba,0x1a,0x5c,0xe4,0x82,0x66,0x61,0xc7,0x80,0x91,0xcf,0xdc,0xcb,0x18,0x53, + 0x83,0x94,0xd7,0x73,0x75,0x28,0x85,0xb0,0x48,0x25,0xa9,0xfc,0x48,0x8f,0x05,0xbf, + 0xef,0x93,0x97,0x5a,0x9e,0x16,0xe2,0x6d,0x41,0xde,0xd5,0x9a,0x07,0xb7,0x86,0x78, + 0xd8,0x4b,0x5a,0x15,0xc4,0x2b,0x6f,0x11,0x33,0x3f,0xa4,0x15,0x7a,0xc1,0x35,0xb8, + 0xc4,0x9d,0xdd,0xcc,0x3e,0x03,0x57,0x14,0xcd,0xa8,0x08,0x39,0x34,0x59,0xd5,0x9d, + 0x2e,0xb1,0x5f,0x1d,0x56,0xe6,0x08,0xa8,0xaf,0xcd,0xfc,0x48,0x9b,0xc9,0x79,0x98, + 0xaf,0x2f,0x19,0x14,0x2b,0x62,0xeb,0x63,0x94,0xc5,0x29,0x0b,0xfa,0xf1,0xc5,0x4f, + 0x48,0x97,0x95,0xbd,0xaf,0xe3,0xd2,0xa5,0xf0,0x03,0x08,0xe3,0x7e,0xce,0x46,0x2e, + 0x6e,0x83,0x43,0x13,0x65,0x1a,0x3a,0xb8,0x86,0x8d,0xfa,0xc1,0x23,0x68,0xff,0x5e, + 0xd3,0x1f,0x76,0x73,0xda,0xcb,0x52,0xbe,0x66,0xa4,0x59,0x7e,0x19,0xa3,0x05,0x38, + 0xc9,0xf3,0x06,0x6a,0x51,0x90,0x9e,0x24,0x8f,0xa5,0xe5,0x0f,0xc8,0x5e,0x4b,0x6a, + 0x7f,0xb4,0x7d,0xfe,0x99,0x1c,0xef,0x1d,0x31,0xe2,0x7d,0x46,0x5b,0xd8,0x75,0xac, + 0x80,0xbf,0xef,0x17,0xb0,0x9a,0xfd,0xc0,0x27,0x5f,0xc3,0x8f,0x24,0xec,0x18,0x74, + 0x9c,0x90,0xa7,0xa4,0x8f,0x68,0x8f,0xc7,0xea,0x7d,0x0e,0x6b,0x6d,0x4c,0xb5,0x52, + 0xce,0x4f,0xd2,0xe2,0xad,0x1f,0x94,0x37,0x91,0x6b,0xf8,0x91,0x94,0xf9,0xc1,0x25, + 0xc3,0xe2,0x18,0xa7,0x35,0x30,0xd0,0x0e,0x1c,0x19,0x75,0x07,0x9d,0x46,0xa1,0x9c, + 0xbe,0xa7,0xd9,0xf6,0x61,0x53,0x2a,0x3f,0xd2,0x98,0xf0,0x4b,0x58,0xbf,0x1a,0x4e, + 0xc5,0x15,0x53,0x41,0xd4,0x3e,0x26,0xec,0x57,0xb8,0x86,0xa2,0x63,0xf6,0x19,0xc2, + 0x35,0xf8,0xc7,0xd0,0x8f,0xcb,0x6d,0x1b,0x72,0x86,0xb4,0x03,0x8c,0xd7,0x4f,0x15, + 0xbc,0x46,0x0e,0x4c,0x76,0x47,0x71,0x19,0x9f,0xe5,0xfd,0x41,0xaa,0x11,0x1a,0x11, + 0x33,0xfe,0x91,0x38,0x7a,0x91,0x37,0x93,0x33,0xec,0xf9,0xc0,0x44,0x9b,0x57,0x66, + 0x5f,0x89,0xf2,0x61,0x86,0xbd,0x85,0x9b,0x5a,0x4f,0xa5,0xe6,0x87,0xc3,0x5e,0xca, + 0x8b,0xe0,0x3c,0x38,0x4d,0x9d,0x98,0x0f,0x46,0x44,0xac,0x53,0x8b,0x0f,0x52,0xfb, + 0xc3,0x1a,0xf5,0x71,0x88,0x76,0xa4,0x2d,0x71,0x20,0x04,0x8d,0xb5,0x21,0x23,0x22, + 0x86,0x86,0x3f,0xe2,0x9f,0x5c,0x7b,0xd2,0x1e,0x31,0xf8,0x91,0x38,0x1f,0x54,0x08, + 0xdf,0x2e,0x92,0x6c,0x0b,0xeb,0x8e,0x15,0xca,0xc5,0xf9,0x21,0xcd,0xf9,0xe1,0x43, + 0xf8,0x59,0x67,0x79,0x97,0x4c,0xf0,0x43,0xda,0x82,0xc2,0xe7,0xbc,0x11,0x21,0x0e, + 0x6a,0x8e,0xc7,0xa8,0x93,0x1e,0x49,0xc1,0x3f,0xe7,0xe1,0xf3,0xf4,0x4a,0x4f,0xd6, + 0x60,0x13,0x0e,0x62,0x40,0xe8,0x73,0xc6,0x19,0x23,0x51,0x2c,0xff,0x37,0xf8,0x93, + 0x03,0x81,0xd0,0xb1,0xa6,0x19,0x29,0xfc,0x00,0x3d,0x42,0x49,0x3b,0x6d,0x26,0x28, + 0x71,0x62,0x40,0xe8,0x14,0x84,0xa1,0x43,0xa0,0x8c,0xa8,0x81,0x56,0x9f,0x1d,0xe4, + 0xd5,0x24,0x85,0x1f,0x89,0xe3,0x3d,0xcf,0x42,0x25,0xfd,0xb5,0xd0,0x8e,0x78,0xd8, + 0x4b,0x47,0x18,0xac,0xd5,0xf1,0xc4,0xef,0x0d,0x46,0xc6,0xb8,0x3f,0xb5,0x3f,0xda, + 0x6e,0xc5,0xa9,0x59,0xda,0x3d,0x43,0xd2,0x04,0x10,0x0a,0x6c,0x57,0x3b,0xbc,0x34, + 0x98,0x3d,0xbd,0xf9,0xc9,0x6c,0x94,0x78,0x1b,0xcd,0xfc,0x48,0xb9,0xbc,0x1b,0x5a, + 0xa5,0x2f,0xeb,0xa9,0x94,0x32,0x7f,0xdd,0xcd,0xf9,0x01,0xfe,0x0b,0xbc,0xa5,0xb9, + 0x11,0xcf,0xc8,0x8e,0x84,0x7c,0xe8,0x02,0x83,0x1f,0x29,0xf2,0x58,0x0a,0x8d,0x12, + 0xe2,0xe1,0xd8,0xe0,0x14,0xdd,0xcf,0xa9,0x96,0x3e,0x4a,0xec,0x67,0x83,0x1f,0x09, + 0x8d,0xdc,0x25,0x2c,0x27,0x2a,0x45,0x48,0x9c,0x16,0x20,0xa2,0x75,0x23,0x10,0x6d, + 0xc2,0x2f,0xa2,0x55,0xc2,0x12,0x7f,0x8d,0x89,0x1f,0x52,0x72,0xc0,0xfe,0x46,0xe2, + 0x37,0xba,0x8f,0xac,0x53,0x62,0x6d,0x41,0xf4,0x75,0x90,0x1f,0xa4,0x51,0xf2,0xce, + 0x0f,0xd7,0x31,0x84,0x46,0x1f,0x11,0xcb,0xc4,0x71,0x07,0x27,0xca,0x9f,0x1d,0x42, + 0x61,0x44,0x94,0xc9,0x51,0xe6,0xd7,0x0c,0x5a,0xb6,0x23,0xd0,0x14,0x50,0x23,0xb8, + 0x9e,0xaf,0x91,0x46,0xdd,0x19,0x95,0xa7,0xa6,0xe4,0x87,0x4f,0x85,0x97,0x02,0xd3, + 0xf5,0x36,0x1f,0x79,0x87,0x36,0x33,0xa3,0xbe,0xe3,0x5d,0xb2,0x86,0xe6,0x33,0x5a, + 0x4b,0x4e,0xd0,0x66,0x4b,0x71,0x1f,0xe2,0x01,0x9a,0xc4,0x57,0x74,0x1a,0x7c,0xd1, + 0x78,0x6b,0xa7,0xad,0xae,0xe0,0x20,0xbc,0xc6,0x76,0xf3,0xf8,0xd7,0x15,0x78,0xa3, + 0x71,0xb6,0xea,0xac,0x13,0xbf,0xc0,0x2b,0x0b,0x78,0x7e,0xb8,0xc5,0xcc,0x8f,0x94, + 0x87,0xa0,0x3a,0x60,0x94,0x69,0x8c,0x4d,0xc8,0x93,0x8b,0x02,0xef,0xc8,0x63,0xf0, + 0xfb,0x55,0x2a,0x88,0x87,0x4d,0xf1,0xaf,0x29,0x57,0xf8,0x7a,0x0e,0xad,0x39,0x31, + 0xe9,0x8c,0xf6,0x09,0xcb,0x8e,0x25,0x8a,0x1f,0xf5,0xcf,0x0e,0x59,0xc7,0xf1,0xfe, + 0xef,0xb1,0xaa,0xd1,0x25,0x11,0x53,0x7d,0x74,0xd7,0xf5,0x9b,0xe1,0xa5,0x9d,0xc5, + 0xfb,0xf0,0xb1,0x8f,0xa9,0x3b,0xc1,0x11,0x5d,0xd4,0x40,0xc6,0x60,0xb5,0x94,0x1f, + 0xa1,0xdf,0x24,0x6f,0x41,0xbf,0xc4,0xfb,0x13,0xa5,0xf0,0x63,0x6f,0x86,0x9d,0xf0, + 0x00,0xc5,0x97,0x3a,0x41,0x9f,0x89,0xe7,0x87,0xab,0x6b,0x94,0x7c,0xa8,0x6b,0x20, + 0xe7,0xb5,0x27,0xf2,0x8a,0x5f,0x97,0x35,0x53,0xbd,0x80,0x4f,0x1a,0x90,0xc2,0xb0, + 0x82,0xde,0x98,0x9d,0x1e,0xc1,0x6d,0xe9,0x88,0xb5,0x79,0x62,0x83,0x06,0x0d,0xe0, + 0xd1,0xa0,0x9f,0x39,0x83,0x72,0xda,0x3d,0x79,0x89,0xfd,0xe9,0x40,0xbc,0x87,0xdb, + 0x46,0x59,0xb2,0x96,0x77,0x77,0x8d,0xe9,0xaf,0x4f,0xc8,0x21,0x70,0x0f,0x3b,0x15, + 0x71,0x88,0xbd,0xa5,0x57,0x86,0x6c,0x3d,0xb2,0x25,0xa5,0x3f,0xec,0x18,0xab,0xcc, + 0xb5,0x75,0x09,0xc3,0x2c,0xbe,0x3e,0xc3,0xdc,0x3f,0x0f,0x47,0x37,0x89,0xc3,0x74, + 0xf8,0xfe,0xca,0x41,0x5b,0xf8,0x71,0x73,0x7f,0xb4,0x4b,0x70,0x89,0xfe,0x58,0xb5, + 0x72,0x92,0x9f,0xcb,0x31,0x5a,0xec,0xf3,0xf6,0xc3,0x33,0x0d,0xd8,0x33,0x87,0x1c, + 0x86,0x2a,0x8b,0xed,0xef,0x44,0x35,0xe1,0xff,0x69,0x44,0xfc,0x83,0xc7,0xaa,0xd0, + 0xb1,0x4d,0x7b,0x5f,0x0a,0x1b,0xb4,0xcc,0xe4,0x34,0x20,0xec,0xe1,0xfe,0x8d,0x26, + 0xa5,0x45,0x2f,0x71,0xc9,0x6b,0xfd,0xe6,0xfe,0xb0,0x2b,0xb8,0xbf,0x9a,0xd1,0x5f, + 0xc2,0x69,0x75,0x42,0x5f,0xab,0x6d,0x60,0x0f,0xd1,0x5f,0x7a,0x66,0x40,0x9b,0xce, + 0xa9,0xcc,0x88,0xc9,0xff,0x03,0x56,0x08,0x17,0x3a,0x5b,0x28,0x78,0xf4,0xe6,0xb0, + 0x5f,0x35,0xf2,0xc3,0x49,0x2b,0x18,0x7c,0x1d,0x21,0xde,0x4a,0x0c,0xcf,0x63,0x91, + 0x29,0xc3,0x8b,0xae,0x80,0x31,0xc7,0x3c,0x6a,0xb4,0x45,0x1e,0x87,0xee,0xb7,0x8d, + 0xc6,0x70,0xaf,0x72,0x43,0x2c,0x18,0x8b,0xff,0xa2,0x68,0x2a,0x50,0x4d,0xf1,0x2f, + 0xc3,0xdb,0x23,0x4d,0xd2,0xc5,0x51,0xed,0x3c,0x54,0x1d,0xe4,0xef,0x1b,0x0b,0x84, + 0x0d,0x8a,0x83,0xf4,0x12,0xe1,0xfd,0x61,0xbf,0x65,0xe6,0xc7,0x8e,0xfb,0x7f,0xc6, + 0x73,0x2a,0xc8,0xd3,0xbe,0xd2,0xc8,0x4d,0x11,0xe1,0x3e,0x6d,0x80,0xdd,0xac,0x4e, + 0x3a,0x27,0x56,0x44,0xae,0x2a,0xf9,0xaa,0xf5,0x64,0x0a,0xfe,0x19,0x09,0x19,0x6c, + 0xcf,0x61,0xb2,0xc0,0x1b,0xa8,0x2e,0x88,0x5a,0xba,0xec,0x97,0xf5,0x00,0x7b,0x30, + 0x24,0xff,0xc9,0x52,0x51,0xbb,0xf7,0x9b,0x76,0x4a,0xb3,0x53,0xf9,0x21,0x63,0x78, + 0x2f,0x48,0xac,0xc0,0x5c,0xa1,0x41,0x4e,0x4b,0xa2,0xe0,0x6b,0x56,0x1f,0x52,0x97, + 0x59,0x9b,0xbb,0xd5,0x65,0x96,0xba,0xec,0xf4,0x6b,0xfa,0xc3,0x42,0x49,0xaf,0x1c, + 0xb6,0x38,0xa1,0xd5,0x6a,0xd7,0x2d,0xdd,0xfe,0x11,0x12,0x60,0x25,0xfd,0x62,0x17, + 0x71,0x22,0x10,0xb5,0x2b,0x88,0x3f,0xcd,0xf8,0x67,0x45,0x0c,0x0f,0x97,0x8b,0x56, + 0x23,0x1b,0x07,0xad,0xa1,0x91,0x8c,0x43,0x7a,0x89,0xdb,0x66,0x74,0x8c,0x0d,0xb9, + 0x14,0xe7,0x06,0x53,0x7d,0x5c,0x34,0xee,0xff,0x59,0x7f,0x8e,0x77,0x37,0x83,0x05, + 0xbd,0xb6,0x48,0x13,0xe7,0x87,0xfc,0xb9,0x6a,0xf3,0x71,0xfe,0x79,0x5a,0x95,0x8d, + 0xf6,0x42,0x2a,0xfe,0x89,0xb3,0xd3,0x3b,0xd9,0x01,0xad,0x2c,0x82,0x68,0x73,0x84, + 0xff,0x87,0x34,0x23,0x03,0xff,0xa0,0x72,0x4e,0x75,0x6e,0x4a,0xc5,0x3f,0x0a,0xc7, + 0xc3,0x88,0xd6,0x2a,0xa0,0x15,0x0a,0x06,0xeb,0x36,0xfb,0x2f,0x6b,0x2f,0x0e,0xda, + 0xff,0x49,0x0e,0xa5,0x5f,0x92,0x5a,0xf5,0x32,0x17,0x6e,0x24,0x33,0x3f,0xe4,0x62, + 0xca,0xd7,0x27,0xc3,0x45,0xee,0x92,0x5a,0xa1,0x70,0x90,0x52,0xcf,0xa7,0xd0,0xa8, + 0xab,0x2e,0xdc,0x18,0x8f,0x31,0x54,0xdc,0x6f,0xde,0xe9,0x58,0x68,0xe2,0xc7,0xae, + 0x9e,0x66,0xb0,0x41,0xd2,0x1f,0x93,0x69,0x34,0x97,0xa9,0xa7,0xf2,0x7e,0x48,0xde, + 0x3d,0xf5,0x4c,0x20,0xbf,0xf3,0xc6,0xbf,0xf3,0xbc,0xab,0xad,0x09,0x3f,0x13,0xcd, + 0x58,0x71,0x0d,0xfe,0x41,0xa3,0xa9,0x1f,0x9f,0xdf,0xca,0x74,0x61,0x4e,0xc4,0x6a, + 0x21,0x47,0x58,0x6f,0xb6,0x0b,0x6c,0x20,0x0e,0x80,0xde,0xe9,0xd2,0xff,0xb3,0xfa, + 0x6a,0x0a,0x3f,0x36,0x5f,0x9f,0x5e,0xdb,0xa8,0xe7,0x32,0x7c,0xa4,0x54,0x71,0xe0, + 0x3d,0x02,0x9f,0x2b,0x95,0x8d,0xb6,0xfe,0x9c,0x4b,0x64,0x6c,0xce,0x2b,0xfd,0x59, + 0x1f,0xa6,0xf0,0x63,0x7f,0x8a,0xa7,0xb5,0xb2,0xd7,0xd6,0x63,0xfb,0x49,0xa4,0x95, + 0x97,0x61,0xee,0x28,0x18,0xd1,0x5b,0xa0,0xf2,0x9c,0xf5,0x92,0xb8,0xc2,0xb7,0x90, + 0xd8,0xf5,0xbb,0x42,0x35,0x66,0xfc,0xc3,0x69,0xb1,0x39,0xec,0x99,0x61,0x85,0xd7, + 0x84,0xe2,0x7e,0xf9,0x61,0x32,0xe0,0x58,0x03,0xb3,0x7a,0x33,0x7d,0xb8,0x43,0x9e, + 0x85,0x02,0xdd,0x71,0x6d,0x7f,0x58,0x03,0xf6,0x8c,0x91,0xa7,0xdb,0x9b,0xfd,0xc5, + 0xa7,0xc4,0x47,0xc9,0xbb,0xfe,0x27,0x1a,0x67,0x9d,0xa7,0x79,0xfe,0x69,0xcd,0xcd, + 0xbd,0xf9,0x5f,0xe5,0x87,0xe4,0xf5,0x3e,0x8b,0x6e,0x23,0x6b,0x49,0x1b,0x0e,0x6e, + 0xbc,0x8d,0x8c,0xa4,0x23,0x10,0x1a,0xce,0xa0,0xad,0x4e,0xa1,0x8b,0x17,0xaa,0xa8, + 0xd7,0xe0,0x9f,0x38,0xec,0x19,0x96,0xee,0xe6,0xfe,0x9f,0x4e,0x1c,0xfc,0xa1,0xb3, + 0x24,0xb4,0x36,0x9a,0xee,0x80,0x23,0xac,0x9b,0x65,0x86,0xe4,0x6b,0xf0,0x8f,0x01, + 0x03,0x2c,0x9a,0x32,0x4c,0xb3,0x62,0xfa,0x88,0xa7,0xfd,0x2c,0x31,0x0a,0xe7,0x9b, + 0xf7,0x73,0xfe,0x8d,0xaf,0xe0,0x9f,0x58,0x59,0xdc,0x01,0x28,0x5b,0xbe,0x24,0xf8, + 0xea,0x07,0xf0,0x96,0xdf,0x08,0xf4,0x7c,0x00,0x07,0x54,0x77,0xfd,0xdd,0x41,0x99, + 0x5c,0xeb,0xff,0x89,0xc3,0x18,0xc9,0xee,0xe3,0xb4,0x6c,0xd0,0x12,0xb4,0xf3,0x13, + 0x34,0x64,0x7d,0x8b,0xa9,0x3e,0xfa,0xcb,0x6b,0xf0,0x4f,0x7c,0xfe,0x19,0xee,0x1d, + 0xd5,0x10,0xdd,0xf1,0x42,0x39,0x5e,0xd8,0x95,0xfe,0x01,0xbf,0xe2,0xfd,0xe1,0xd2, + 0x6b,0xfa,0xc3,0x22,0x1e,0xe0,0x45,0x70,0x6f,0x10,0x61,0xa2,0x2d,0x5a,0x1b,0x44, + 0x71,0x60,0x7f,0x0d,0x36,0xe8,0xf9,0x5e,0x7a,0xaf,0x25,0x69,0x7f,0xf5,0x58,0x13, + 0xfc,0x00,0x51,0xa5,0x0e,0xca,0xa0,0x8d,0xa1,0x98,0x3d,0x61,0x28,0xe2,0x1c,0x8e, + 0x88,0xba,0xe1,0x6e,0x4d,0x34,0xe1,0x9f,0xcc,0xce,0x89,0xb6,0x68,0xbc,0x1b,0x48, + 0x65,0x9c,0x16,0x80,0x5f,0x39,0x2e,0x7e,0x20,0x7d,0x5e,0x1d,0x23,0xc6,0x4c,0xc8, + 0x9f,0xf6,0xb4,0x4e,0x85,0xbb,0x89,0xb2,0x36,0x89,0x9f,0x4b,0x07,0xd4,0x2a,0xde, + 0x88,0xf9,0x73,0xf5,0x70,0xac,0x7f,0xdc,0xad,0xf0,0xb9,0x6b,0x47,0x6d,0x66,0x30, + 0xa5,0x3f,0x6c,0x94,0xf5,0x70,0x5a,0x24,0x0e,0x7b,0xba,0x1c,0x31,0x7e,0x6c,0xa9, + 0x0b,0x3a,0x0c,0x31,0x2b,0xf4,0x3c,0x82,0xf2,0x87,0x90,0x75,0x49,0xf9,0x23,0xf5, + 0xab,0xf8,0xbe,0x75,0x96,0x6c,0xf2,0x1a,0x6b,0xd4,0x56,0xa0,0xfc,0xf1,0xd4,0xf2, + 0x8e,0x3c,0xb8,0x50,0x96,0x18,0x55,0xe6,0x35,0xfc,0x90,0xdc,0xff,0x83,0xf8,0x67, + 0x43,0x36,0xa7,0xe5,0x7c,0x90,0x87,0xbd,0x86,0x0c,0x7e,0x86,0x1b,0x79,0x62,0xd5, + 0x6e,0xb5,0x83,0x0b,0xea,0xd5,0x29,0xfc,0x90,0x46,0x77,0xd7,0x18,0x2d,0x52,0x85, + 0x66,0x0d,0x36,0x2d,0x87,0xde,0x46,0x77,0x5d,0x8d,0x52,0x5a,0x28,0xed,0xa6,0x6e, + 0xed,0x3f,0x73,0xfc,0x93,0xd0,0xbf,0x71,0xff,0x0f,0x0f,0x83,0xaa,0xdc,0xff,0x73, + 0x94,0xf3,0x85,0x8e,0xeb,0x95,0xd5,0x31,0xa2,0x24,0xb6,0xdf,0xf3,0x4a,0x58,0xbc, + 0x86,0x1f,0x72,0x62,0xfd,0x71,0x20,0xac,0x6f,0x6e,0x52,0xa5,0x13,0xf1,0xfe,0x74, + 0xca,0xd8,0x9d,0x6e,0x1e,0x81,0xb5,0x7c,0xc5,0xff,0x23,0x86,0xb4,0x0b,0x38,0x98, + 0xc5,0xd0,0x30,0x9f,0xc7,0xd6,0x4d,0xb6,0xaf,0x31,0x80,0xd0,0xfe,0xc5,0x05,0xc1, + 0xbc,0x90,0xb8,0x30,0x85,0x1f,0x92,0xcb,0x9f,0x1b,0x5d,0xe4,0x2f,0xdc,0x71,0x71, + 0x4c,0x9e,0x43,0x32,0xfd,0x1b,0xfa,0xd4,0x68,0xab,0x2b,0xfd,0x88,0xb0,0x47,0x5a, + 0xa6,0x17,0xcd,0x4f,0xe1,0xc7,0x9e,0xaa,0xf1,0x7e,0x61,0x6d,0x1c,0x06,0x18,0x8e, + 0x91,0xb1,0x8d,0x53,0x85,0xc7,0x68,0xac,0xd0,0x55,0x30,0x1a,0xa7,0xfa,0x52,0xf8, + 0xb1,0xa7,0xb1,0x2f,0xd9,0x82,0xd3,0x9c,0x0d,0x40,0xf9,0xb2,0x8b,0x07,0xc2,0x9a, + 0xb2,0xa4,0xbf,0x61,0xf9,0xa7,0xb3,0x78,0xa1,0xdc,0x97,0x8d,0xa5,0xa1,0x59,0x4b, + 0xc5,0x14,0x7e,0x6c,0xee,0x0f,0x89,0xd8,0x8c,0xb4,0x1f,0x4f,0x89,0x51,0xed,0xce, + 0x25,0xd8,0x09,0xa3,0x63,0xc8,0x5e,0xb2,0x9f,0xa1,0x7d,0x61,0xee,0x0f,0xfb,0x69, + 0xdc,0xff,0xd3,0xe4,0x86,0xa3,0xed,0xff,0x7d,0xc8,0x7a,0x40,0xbc,0x62,0xfd,0x4b, + 0x68,0xee,0x72,0xdb,0x6e,0xb1,0x12,0x7f,0x2a,0xdd,0x76,0xd7,0xe5,0x02,0x13,0xfe, + 0x99,0xfc,0x34,0xa7,0x75,0xd2,0x6d,0x0d,0xf6,0x5c,0x6d,0x4d,0xe0,0x56,0x66,0x29, + 0x27,0x07,0xd9,0xea,0x40,0x7e,0x48,0x5e,0x29,0xde,0xa4,0x84,0x83,0x5b,0x9a,0x1d, + 0xdf,0xf3,0x27,0xf1,0x8f,0x62,0xf0,0x43,0x1a,0x66,0x9a,0x02,0x6b,0x54,0xdc,0x2d, + 0x1a,0x39,0xa9,0xff,0x76,0xf2,0x96,0x3a,0xd1,0x9d,0x7d,0xaf,0x84,0xef,0x1b,0xb8, + 0x73,0x30,0x3b,0x19,0xff,0xf2,0xe5,0xc6,0xf4,0x9d,0xc5,0x85,0x87,0xb4,0x49,0x2b, + 0x04,0x19,0x95,0x34,0xf5,0x73,0xbe,0xa9,0x72,0x3f,0xa7,0xaa,0x40,0x7b,0x3f,0x9d, + 0x98,0xf1,0x0f,0xef,0x57,0x5e,0x85,0xcb,0x88,0xda,0x6d,0x8d,0xe6,0x82,0xcc,0xae, + 0xd9,0x23,0xe4,0xe3,0x46,0x7b,0xa3,0xbc,0xbf,0x66,0x39,0x5c,0x58,0xdb,0xcd,0x6e, + 0xea,0x42,0xfc,0x33,0xb1,0x9e,0x41,0x88,0xb1,0x41,0xae,0xdf,0x2e,0xf3,0x36,0xb2, + 0xfb,0xe1,0xee,0x5f,0x18,0xf9,0x51,0xf3,0x1a,0x6e,0xe6,0xfc,0x90,0xf8,0x93,0x32, + 0x2b,0x84,0x83,0x84,0x3c,0x51,0x62,0xec,0xc7,0x59,0xa3,0xe2,0x72,0x38,0x4a,0x77, + 0xb0,0xcc,0xa8,0x78,0x92,0xbe,0x97,0x56,0xca,0x16,0xf3,0x78,0xd0,0x45,0x44,0x44, + 0xce,0x13,0x62,0x52,0x5f,0x6f,0x88,0xfb,0x7f,0x64,0xfe,0xfc,0x08,0x63,0xc2,0x74, + 0x35,0xf9,0x0b,0x6b,0xf2,0xab,0xcb,0x1d,0x61,0xcf,0x3f,0x70,0xea,0x9e,0x10,0x6d, + 0x4e,0xc1,0x3f,0x71,0xff,0x4f,0x38,0xbb,0x9e,0xa1,0xd8,0xb9,0xe3,0xfa,0x46,0x32, + 0xa2,0xb5,0xae,0xfe,0x07,0x85,0xf2,0x7e,0x6a,0x38,0x3f,0x4c,0xed,0x24,0xc5,0xff, + 0xc3,0x0c,0x3c,0x10,0x26,0x56,0xd2,0xa6,0xaa,0x50,0x97,0x4d,0x22,0x7e,0x7f,0x00, + 0x8f,0xad,0xcb,0x5f,0x2b,0x74,0xe7,0x85,0x10,0x22,0x99,0xe4,0x0f,0xcb,0x5c,0x11, + 0xe2,0xeb,0x63,0x6b,0x10,0x7d,0xca,0x1f,0xf1,0x34,0xdd,0xd5,0x5c,0xf3,0x49,0xf3, + 0xdb,0xea,0xcb,0x60,0xed,0xe6,0xe7,0x45,0x75,0x33,0x5e,0x3a,0x6a,0xe6,0x87,0xe4, + 0xfe,0x9f,0xde,0x9b,0x47,0xf3,0x47,0x95,0x8b,0x1c,0xf6,0x34,0x35,0xe9,0xd1,0x73, + 0x50,0x29,0xdd,0xcc,0xfd,0x5d,0xe3,0xea,0x02,0x66,0xd3,0xcc,0xfc,0x48,0xab,0xae, + 0xc0,0x25,0x75,0x3e,0x0b,0xd4,0xd5,0x9c,0x0d,0x19,0x1b,0x69,0x14,0xf7,0xcf,0x25, + 0x69,0x6e,0xf4,0xae,0x57,0x73,0x5c,0xfe,0x81,0xa6,0x52,0xd7,0x92,0xfe,0x9a,0x24, + 0xfe,0xe9,0xcb,0xfb,0x14,0x76,0xd7,0xdb,0x7d,0x34,0x80,0xf2,0x27,0x1e,0x08,0xfb, + 0x94,0xd3,0x20,0x44,0xe5,0x26,0xbb,0xaa,0x07,0x1a,0xed,0x54,0x6e,0x36,0xf5,0x87, + 0x3d,0x08,0x03,0xd0,0xad,0x38,0x42,0xf5,0x90,0xae,0xb3,0x38,0xed,0xf3,0x00,0x67, + 0x4f,0xd3,0x33,0xb2,0x09,0x14,0x06,0xc0,0x51,0x27,0xa7,0x93,0xee,0x64,0xfe,0x4f, + 0xda,0x36,0xe8,0xc9,0xb3,0x47,0xe9,0x36,0x14,0x3b,0xf3,0x63,0xb4,0xd2,0x9c,0x1f, + 0xa0,0xa8,0x57,0x0e,0x58,0x66,0xa0,0x3c,0x6f,0xd5,0xe4,0x76,0xd2,0x93,0x90,0x0f, + 0xd5,0x53,0x78,0x7f,0xd2,0x79,0xdc,0x09,0x7c,0xfa,0xef,0x12,0xb4,0xcc,0x17,0x19, + 0x22,0x96,0x56,0xd1,0xbe,0xb6,0x6f,0xc3,0x0d,0x4e,0xdb,0x66,0x79,0x93,0xa9,0x3f, + 0xec,0x3e,0x8e,0x9f,0x61,0xfd,0x20,0x82,0x1c,0xbe,0x31,0x32,0xc3,0x05,0x97,0xe8, + 0x55,0x98,0x6b,0xf4,0x1f,0x44,0x41,0xf3,0x35,0xbe,0x3e,0xf5,0xc9,0xfe,0xb3,0xbc, + 0x3f,0xac,0xe2,0x6e,0xb1,0x36,0x8b,0x21,0x76,0x71,0xa2,0xff,0xa9,0x31,0xd8,0x24, + 0x16,0xb2,0x61,0x09,0x45,0xd3,0x2e,0xf1,0x7c,0x42,0xfe,0xe8,0xb8,0x1f,0x7a,0x26, + 0xab,0x7d,0xf4,0x77,0x1b,0xbf,0xce,0x8c,0x8d,0x31,0x4a,0x78,0xe3,0xc5,0x2c,0x5d, + 0x6e,0x6f,0x9d,0xce,0x55,0xd5,0x26,0x54,0x55,0xa9,0xf1,0xaf,0x1e,0x2d,0x14,0xa6, + 0x79,0x44,0x9b,0x68,0xa3,0x63,0xc5,0x15,0xb3,0xea,0x72,0xa7,0xbf,0xa4,0x76,0xcb, + 0xaf,0xad,0x9d,0x72,0xa1,0x96,0xe4,0x47,0x1a,0x55,0xb8,0x3f,0x39,0x3f,0xea,0x88, + 0x58,0xee,0x61,0x71,0x5a,0x6c,0xce,0x17,0x8d,0x83,0x3b,0x49,0xb6,0xf2,0x12,0x0f, + 0x84,0xd5,0x99,0xf9,0x01,0xe8,0xe2,0x8c,0xcf,0xc0,0xb5,0xcd,0xa9,0xe4,0x2c,0x6c, + 0xfc,0x0c,0x38,0x3f,0x00,0x02,0xc5,0x73,0x50,0xa1,0xdb,0xa0,0x46,0xd2,0x4f,0xf3, + 0x81,0x22,0x1e,0x4b,0xf2,0x03,0xc4,0xe2,0x5f,0xec,0x1f,0x7b,0x79,0xff,0x5c,0x05, + 0x81,0xcd,0xa8,0x8c,0x27,0x88,0x03,0x21,0x5d,0x3c,0x5f,0x6b,0x04,0xc2,0x10,0x48, + 0x27,0xe5,0x73,0x2c,0xfe,0xc5,0x6c,0x79,0x62,0x61,0x6c,0x59,0x46,0x8d,0x7e,0xcd, + 0xdd,0x7c,0x50,0x0e,0x17,0xf3,0x2b,0x17,0xda,0xa2,0xe2,0xc1,0x24,0xfe,0x89,0xc5, + 0xbf,0x98,0xec,0xcd,0x9e,0x2a,0xc4,0x02,0x61,0x24,0xce,0xb7,0xdf,0xe0,0xc9,0x93, + 0x76,0x29,0xc5,0xbd,0x68,0x4f,0x9d,0x4b,0xf0,0x9f,0xc4,0xf2,0x7f,0xf0,0xa5,0x96, + 0x92,0x1b,0x27,0x68,0xc0,0xdf,0x85,0x1d,0xb8,0x02,0x72,0x1e,0xb9,0x0e,0x5e,0x0e, + 0x3f,0xe0,0xc3,0x2b,0x83,0xa6,0xf8,0xd7,0x80,0xb4,0x63,0x33,0x1a,0x59,0xd9,0x64, + 0x56,0xa2,0x2d,0x11,0xec,0x08,0xa8,0xfa,0x8d,0x9b,0x88,0xa4,0xee,0xe0,0x3b,0x76, + 0x8a,0xff,0xed,0x24,0x3f,0xc0,0x94,0x61,0x4e,0x13,0xd1,0x25,0x47,0x6f,0x28,0x8f, + 0x05,0xc2,0xb8,0xbc,0xbd,0xa2,0xbb,0xd9,0xfa,0x4f,0xc5,0x79,0xec,0x42,0xa8,0x32, + 0x6c,0x1b,0x16,0x2f,0x24,0xf9,0x01,0x62,0xf1,0x2f,0x5e,0x94,0xcd,0x15,0x71,0xdc, + 0x1f,0xd2,0xa3,0xe0,0x60,0xb5,0x6c,0x34,0x8e,0xbf,0xce,0xf0,0xff,0x4c,0x3c,0x3f, + 0x8f,0x7f,0x9d,0x55,0xdc,0xf5,0x3c,0xff,0xa7,0xf6,0xad,0x09,0xff,0xc0,0x59,0xa3, + 0x51,0xac,0x98,0x26,0x1d,0x10,0x2a,0x7b,0xad,0xd9,0xa2,0x39,0xff,0x07,0xf1,0x8f, + 0x47,0xfd,0x11,0x82,0x1c,0xae,0x4f,0x93,0x6d,0xce,0xb8,0xbe,0x2e,0xe4,0x1d,0x67, + 0x6a,0x1d,0x66,0xff,0x4f,0xb9,0xc0,0xbb,0x87,0xd8,0xb5,0xfa,0x0d,0x9e,0x11,0xf5, + 0xc9,0xe4,0xfc,0x0e,0x7e,0x4c,0x0a,0x09,0x67,0x98,0x47,0x41,0x94,0x95,0x1a,0xff, + 0xd2,0x0c,0x6b,0xeb,0x35,0x88,0xa5,0x01,0x1b,0xf5,0xf2,0x46,0x86,0x30,0x67,0x8c, + 0x74,0x7a,0x69,0xae,0x25,0xc9,0x0f,0xb0,0x32,0xce,0x8f,0x6d,0xd8,0x5f,0x27,0x26, + 0xde,0xd7,0x60,0xcc,0x0e,0xa1,0xd8,0x44,0xfb,0x8b,0xcb,0x9f,0xac,0x44,0x7f,0x58, + 0x1e,0xff,0xba,0xac,0xbd,0xe2,0xfd,0xfb,0xc1,0xaf,0x7d,0x4e,0x8d,0xfa,0x77,0x23, + 0xfe,0xc5,0xdd,0x3e,0xc7,0x73,0x3e,0x37,0x1a,0x61,0xd8,0x8e,0xd7,0x9c,0xc9,0x35, + 0xc7,0xbf,0x2e,0x53,0xee,0xed,0xa9,0x99,0x13,0x4a,0xf8,0x4f,0x2e,0x5b,0xdc,0x5a, + 0xe6,0x1f,0xc4,0x39,0xda,0x01,0xa8,0xaa,0xb5,0x1d,0xbb,0x36,0xfe,0xa5,0xd9,0x39, + 0x09,0x52,0x3e,0x33,0xfc,0x3f,0xcd,0x1e,0xee,0x11,0x2a,0x03,0xf9,0x59,0x4b,0xbe, + 0x27,0x22,0x95,0x40,0xdb,0x6a,0x7f,0x56,0xa2,0xbe,0x9b,0xe7,0xff,0x6c,0x77,0x14, + 0x7a,0xdb,0x15,0x52,0xab,0x1a,0x81,0x30,0x5e,0x98,0xc0,0x07,0x19,0xb9,0x44,0x62, + 0x1b,0xc0,0x51,0x7f,0xe3,0x64,0x53,0x7f,0xd8,0x76,0x89,0xd3,0x32,0xcc,0xe0,0xf6, + 0x8b,0x09,0x88,0xf2,0xc1,0x8d,0x1b,0x49,0xb1,0xd7,0x20,0x1e,0xdf,0x64,0xe6,0x07, + 0xe0,0xf8,0x27,0xea,0xfe,0x27,0x6b,0x9e,0xbc,0x9c,0x25,0x80,0xae,0x81,0x70,0xda, + 0x6b,0x66,0x28,0x6f,0x45,0x6f,0xd0,0x6c,0xed,0xf2,0x35,0xf1,0xaf,0x50,0x8f,0x66, + 0x7b,0x2a,0xe7,0xd9,0xc4,0x7c,0xe5,0xac,0x32,0x83,0xbb,0x7d,0x5e,0xa7,0xe3,0x21, + 0xbc,0xf2,0x64,0xcd,0xb9,0x94,0xf8,0xd7,0x28,0xb8,0xa9,0x8d,0x35,0xe5,0xab,0x27, + 0x12,0x7c,0x5c,0xb1,0x44,0xe8,0xfc,0xba,0x13,0x9c,0x1f,0xd8,0x9f,0xd2,0x1f,0xd6, + 0x01,0xfb,0xeb,0x4a,0x39,0x1b,0x64,0xb9,0x12,0xe7,0x47,0x1a,0x86,0x3d,0x6a,0x07, + 0x5b,0xf4,0x91,0x65,0xbe,0xd4,0x1a,0x2a,0xe5,0x44,0x01,0x26,0x7e,0x6c,0x40,0xfc, + 0x53,0xa7,0x9e,0x97,0x6f,0x25,0x56,0xe9,0x71,0xb0,0x4e,0xb4,0x45,0x03,0xdd,0xa2, + 0xf8,0x25,0x7f,0x53,0xa8,0x70,0x59,0x46,0x7b,0x76,0x12,0xff,0xf0,0xf8,0x57,0x37, + 0x3f,0xad,0xa3,0x64,0x1a,0x18,0xfd,0x61,0x1b,0xd2,0x4f,0xe2,0x7a,0xe6,0xeb,0x37, + 0x7a,0x49,0xae,0xf5,0x31,0xf6,0x83,0x70,0xc6,0x23,0xe9,0xc9,0xfe,0xb0,0x3c,0xfe, + 0xf5,0x05,0x9b,0x8d,0xb0,0x27,0xa7,0x12,0xfe,0xc8,0x78,0x5b,0xd8,0xf4,0x77,0x8d, + 0xb0,0x57,0x56,0x44,0x2c,0x83,0xf7,0x5a,0x4b,0x7d,0xc5,0x29,0xfc,0x00,0x46,0xfc, + 0x6b,0x8f,0xb6,0xc4,0x75,0xcb,0x18,0x24,0x68,0x7f,0xc6,0x79,0xfc,0x0b,0xe5,0x8f, + 0x32,0xae,0xce,0x65,0xa8,0xca,0x4d,0xfc,0x90,0xd2,0x7e,0xed,0x12,0xde,0xf6,0xee, + 0xb1,0x1a,0xce,0x0f,0x59,0x15,0xe3,0xb7,0xb9,0xc8,0x4a,0x63,0x8e,0xa0,0x2c,0x69, + 0x81,0xcf,0x7a,0xc2,0xd4,0x1f,0xf6,0x05,0x94,0x3f,0x2f,0x4d,0x76,0xfa,0xe9,0x32, + 0x32,0xc0,0xd6,0xa0,0x59,0xc4,0x61,0x9b,0xb6,0x6b,0x67,0x3e,0x0f,0x63,0x1d,0x87, + 0x35,0xae,0xe2,0x8c,0xcc,0x7b,0x88,0xb9,0x3f,0xec,0x66,0xe5,0x25,0x98,0xa5,0x5b, + 0x1a,0xfc,0xbc,0x70,0xa3,0x38,0x12,0xe7,0x33,0xc9,0xef,0x95,0x7d,0xfe,0x93,0xf0, + 0xec,0xe4,0x59,0x9e,0x3a,0x73,0xfc,0xab,0x50,0x5a,0xab,0x74,0xdb,0x9d,0x90,0x37, + 0x87,0x1c,0x30,0x0c,0x31,0x83,0x6f,0x61,0x07,0xef,0xcf,0x58,0x41,0x86,0x1f,0x6a, + 0xd2,0x4a,0x42,0x19,0x9d,0x33,0x68,0x32,0x1f,0x7b,0xca,0x88,0xc2,0xd3,0x2a,0xb2, + 0x42,0xe2,0xac,0xb8,0xff,0x9c,0x8c,0xc4,0x18,0xa1,0xdb,0xc5,0xf7,0xc9,0x21,0xce, + 0x48,0xec,0x97,0x4d,0xfd,0x41,0x84,0x6d,0xf0,0x99,0x82,0xd3,0x9e,0x15,0xde,0x30, + 0xad,0x0f,0xea,0xbb,0xf5,0xc1,0x26,0x83,0xa8,0x3f,0x68,0xeb,0x30,0xf1,0x43,0xf2, + 0xf8,0xd7,0x5f,0x60,0xee,0xb3,0x08,0x7b,0x3e,0x55,0x8f,0xc2,0x2d,0xbd,0x69,0x3c, + 0x1f,0xe6,0x62,0xc0,0x90,0xe7,0x51,0x44,0x44,0x68,0x71,0x30,0xb1,0x2e,0x91,0xff, + 0xcc,0xe3,0x5f,0xfb,0x58,0x87,0x82,0xfa,0xfd,0x23,0xc6,0xfb,0x7d,0x2c,0x0a,0xdb, + 0x47,0x60,0x77,0x10,0x15,0xd9,0x3a,0xb4,0xb0,0x02,0x3c,0xd1,0x25,0x40,0x1c,0x29, + 0xf8,0x87,0xf3,0xf3,0x67,0x04,0x48,0x3d,0xe3,0xfd,0xb0,0x32,0xc2,0x64,0x1b,0x3f, + 0x2f,0xbd,0x08,0x0c,0x3e,0xa2,0x01,0x47,0xd1,0x32,0x1a,0xf0,0x9b,0xf0,0x4f,0xae, + 0x15,0xc2,0x6c,0x06,0x50,0xd5,0xde,0x0b,0x5b,0x61,0x85,0xe1,0xff,0x49,0xdb,0x2e, + 0x58,0x79,0x86,0x8c,0x2e,0x31,0xc1,0xa9,0x05,0xc0,0xe2,0x37,0xf5,0x87,0x5d,0x61, + 0x34,0x81,0xcd,0x44,0xb3,0x0b,0xd7,0x67,0xde,0xc9,0xbb,0x38,0x5f,0xd6,0xb8,0x3a, + 0x4d,0x8f,0x3b,0xa2,0x2b,0xb9,0x23,0xc8,0x14,0xff,0x9a,0xc2,0xbb,0x9f,0xcc,0xe7, + 0x4d,0x0a,0xc6,0xd8,0x55,0x52,0x39,0x60,0x1b,0x9d,0x84,0x57,0x62,0xfa,0x6b,0xd4, + 0x70,0x04,0xad,0xd7,0xc5,0x7a,0x53,0xfe,0x33,0xe7,0x87,0x2c,0x8e,0x5a,0xf5,0x49, + 0x2e,0x58,0xab,0xcc,0xd7,0xad,0x1f,0x8a,0x15,0xbe,0xa3,0x50,0x15,0x58,0x1b,0x10, + 0xe7,0x04,0x0e,0xb3,0x02,0xe0,0xfc,0x90,0xe6,0xf8,0x17,0xec,0xe5,0xfd,0xeb,0x03, + 0xbc,0x3f,0xa3,0x7a,0xcb,0xc9,0x4c,0x95,0x2c,0x80,0xb6,0xc7,0x4b,0x3a,0x1d,0x2a, + 0x29,0xd2,0x9e,0xb7,0xdb,0x97,0x5a,0x7a,0xfe,0x15,0xff,0x0f,0x85,0x74,0x89,0x30, + 0x70,0xbc,0x6a,0xe9,0xb0,0x5b,0x59,0x93,0xe4,0x64,0x14,0x6e,0xb0,0x0a,0x3b,0xa8, + 0x7a,0x8f,0x83,0xe7,0xff,0x98,0xfc,0x3f,0xb9,0x08,0x1b,0xfa,0x21,0x7c,0xc7,0x24, + 0xf0,0x43,0x91,0x3e,0xb9,0xab,0x75,0x71,0x76,0x9b,0x54,0x12,0xa2,0x15,0xf6,0x99, + 0xda,0x5e,0x62,0xd7,0x2c,0xe1,0x6b,0xfa,0x83,0x70,0xb5,0xeb,0x0c,0xdb,0x54,0x8a, + 0xeb,0xa3,0x67,0x39,0x10,0x9f,0x2c,0x82,0x69,0x5d,0x8b,0xb7,0xd5,0x14,0xc3,0x59, + 0xda,0x1d,0xa2,0xae,0xd4,0xf8,0x17,0x35,0xc2,0x3a,0x83,0x08,0xea,0x0c,0x47,0x47, + 0x34,0x87,0x6b,0x7c,0x9e,0xef,0x9a,0x73,0x02,0xfe,0xb2,0xb5,0xaa,0x73,0x49,0x4a, + 0x7f,0x58,0x05,0xd1,0x0e,0x9e,0x3e,0x29,0x5f,0x7e,0xa0,0x79,0xac,0x76,0x81,0x9e, + 0xb9,0xf3,0x6f,0x9d,0xd2,0xc7,0x90,0x1d,0xb4,0x6e,0x13,0x9d,0xca,0xa1,0xba,0x0a, + 0xfd,0xda,0xfe,0xb0,0x1c,0x0f,0x9f,0xa1,0xe1,0x9a,0x12,0x6e,0x7f,0xf5,0x66,0x71, + 0x47,0xd0,0x7a,0xc4,0xff,0x75,0x21,0x52,0xd4,0xd7,0xa6,0xcf,0xeb,0xb3,0xa4,0xf4, + 0x87,0x35,0xec,0xaf,0x12,0xdd,0x42,0xaf,0x93,0x21,0xcc,0x1d,0x41,0x2a,0xe2,0x9f, + 0x26,0xc9,0x51,0x47,0x01,0xd5,0x56,0xf6,0x31,0x27,0xd0,0xd4,0xfe,0xb0,0xd3,0x0c, + 0x9a,0xe8,0xa2,0xba,0xec,0x69,0xd2,0xce,0x4e,0xc4,0x03,0x3f,0xc8,0x9e,0xb6,0x7a, + 0x0d,0x9b,0x69,0xa7,0x0f,0x90,0x79,0xda,0x2f,0x43,0x33,0x7d,0x96,0x95,0x29,0xf9, + 0x3f,0x59,0x08,0x3b,0xf1,0x7c,0x81,0x48,0x43,0x67,0xa3,0x15,0xfa,0xaf,0x67,0x5a, + 0x9c,0xf0,0x6a,0x63,0x79,0xbf,0x53,0x96,0xad,0xf0,0xfb,0x70,0xa5,0xd7,0xea,0x32, + 0xf3,0x63,0x67,0xc6,0xfc,0x63,0x3f,0x68,0x10,0x0c,0xc3,0xa1,0x2f,0x2b,0x2a,0x5e, + 0x0a,0xff,0x11,0xbe,0xd6,0x6c,0xd3,0x2d,0x27,0x94,0xbf,0xa0,0x3e,0xca,0xbc,0xb6, + 0x3f,0x2c,0x5f,0xff,0x92,0x70,0x8e,0x8a,0xfb,0xb3,0xea,0x84,0xd4,0x25,0xae,0x50, + 0x3f,0x36,0xdc,0x92,0xb2,0x53,0x3a,0x40,0x0d,0xc6,0xce,0x8f,0xcc,0xf1,0x2f,0x23, + 0x7f,0x80,0x7a,0x49,0xb3,0x84,0xf2,0xe4,0x20,0xd5,0x2c,0x53,0xfd,0x6b,0x7c,0xd3, + 0x41,0xf6,0x71,0x06,0x7e,0x32,0x2b,0xb5,0xfe,0x4b,0x8f,0xe1,0x9f,0xa8,0xc5,0x31, + 0x78,0x83,0xb2,0x8a,0x39,0xa3,0x74,0xd8,0x3e,0x8d,0xad,0x61,0xc5,0xaa,0x5c,0x67, + 0xff,0x2e,0x59,0x13,0x28,0xe6,0x19,0xd1,0xa3,0x29,0xfe,0x1f,0xdc,0x6f,0xb7,0xd7, + 0xcd,0x59,0x58,0x42,0x9a,0x98,0x53,0xaf,0xc7,0xf5,0x94,0x9a,0xa0,0xb0,0x03,0xcf, + 0xd7,0x61,0x78,0x91,0x39,0xef,0xa5,0xa9,0xfd,0x61,0xbb,0x38,0xec,0x09,0x65,0x45, + 0x73,0xe6,0x91,0x23,0x37,0xa0,0x36,0x3f,0x23,0x3a,0xe0,0x23,0xa8,0xea,0xb1,0x0d, + 0x6f,0xfd,0x71,0xe1,0xc1,0x37,0xab,0x76,0x5a,0x53,0xf2,0x7f,0x12,0xfe,0x9f,0xa6, + 0x28,0xc2,0xd2,0x4a,0x81,0x0f,0x8c,0x2b,0x32,0x6b,0xda,0xe2,0x30,0x42,0x45,0x5f, + 0xe9,0x0f,0xcb,0xab,0xbd,0x26,0x1b,0x65,0x5f,0xf3,0xb4,0x69,0xc1,0x9c,0x7e,0x89, + 0x37,0x0a,0x59,0xdf,0xae,0x49,0x70,0xa8,0xd3,0x55,0xf7,0xd5,0xfe,0x20,0x1c,0x84, + 0xb4,0x5b,0xa6,0xc3,0x01,0x81,0x13,0x35,0x93,0x21,0xa9,0xc5,0xa0,0x79,0xb4,0x7c, + 0x1d,0xde,0x62,0x76,0x5f,0x66,0xf0,0xda,0xfe,0x20,0xa8,0x9d,0x39,0x3f,0x36,0x69, + 0xe1,0x6e,0x64,0x4e,0x23,0xd9,0xc2,0x23,0x68,0x93,0x5b,0x3b,0x7d,0x2d,0x82,0x41, + 0xec,0x7c,0x0d,0x3f,0x24,0xac,0xe0,0xd9,0xce,0x99,0x46,0xb6,0x33,0xcd,0x25,0xaf, + 0x11,0x41,0xe0,0xc0,0x20,0xbd,0x19,0x36,0xe0,0x95,0x7c,0xe5,0x2b,0xfd,0x41,0x2a, + 0xc0,0x3a,0x11,0xed,0x72,0xf0,0x7c,0xef,0x00,0x7f,0x4d,0xc0,0x2b,0x07,0x81,0x07, + 0x62,0xae,0xe9,0x0f,0xc2,0xdb,0x82,0xcc,0x3a,0x2e,0x5e,0x86,0x4f,0x6a,0xcb,0xbc, + 0x93,0xbc,0x05,0x1f,0x28,0x3f,0xe6,0x6d,0x61,0x07,0x6b,0xfe,0x86,0x8e,0x93,0x2a, + 0xaf,0xed,0xda,0xfe,0x20,0xe3,0xb0,0xa0,0x36,0x6b,0x10,0xad,0xb3,0x03,0xb4,0x68, + 0xe1,0x02,0xee,0x18,0x39,0x8c,0x62,0x39,0x3d,0x98,0x33,0x87,0xbd,0x06,0x55,0x8b, + 0xe9,0xb5,0xfc,0xd8,0x86,0xff,0xa7,0x99,0xdc,0x4f,0x02,0x0e,0x7b,0x1e,0x0d,0x11, + 0xde,0x2f,0xa3,0x84,0xa7,0x4d,0x86,0x68,0x97,0x5a,0xb2,0xb6,0x28,0x95,0x1f,0xbb, + 0xdf,0x8a,0xef,0xab,0x59,0xf0,0x35,0xd5,0x46,0xa8,0xf7,0xa0,0x5a,0x37,0x3a,0x86, + 0xdc,0xbe,0x08,0xf5,0xbb,0x67,0x43,0xd7,0x8a,0x48,0x06,0xbe,0x6f,0x9a,0xc9,0xff, + 0xa3,0xe0,0xfa,0xfb,0xe8,0xe6,0xf4,0xd7,0x85,0x16,0x2f,0xd1,0x2c,0xc1,0xf4,0x21, + 0xe9,0x7a,0x09,0x81,0xd0,0xe4,0x8e,0x67,0xe1,0x79,0x56,0x52,0x27,0x07,0xd3,0x5f, + 0xff,0xaa,0xff,0x87,0xc3,0x98,0x03,0xd5,0xf3,0xb4,0xac,0xcd,0x1c,0xb8,0x8a,0x95, + 0xda,0xb4,0xcd,0xe2,0x8c,0x99,0x88,0x6f,0xb5,0xe2,0xe0,0xb7,0x86,0xbf,0xe2,0xff, + 0xe1,0xf9,0x4e,0x12,0xa7,0x85,0xcc,0x7c,0xb2,0x60,0x88,0x7c,0x08,0x3f,0xf3,0xae, + 0xef,0xe1,0x8d,0x62,0xa9,0x71,0xab,0xaf,0xfa,0x7f,0x50,0xfe,0x6f,0x81,0x88,0x86, + 0x86,0x5e,0x73,0x8d,0x1e,0x8b,0x48,0x36,0xe7,0xa8,0x6a,0xbc,0xfe,0x2e,0x25,0xff, + 0x47,0x41,0xb1,0xb3,0x9a,0x76,0x90,0x0b,0xd0,0x0a,0x2f,0xf0,0xb4,0x67,0xc4,0x3f, + 0x85,0xff,0xc8,0xfb,0x83,0x5c,0x4f,0xd6,0xe9,0x76,0x46,0xa3,0x62,0xeb,0xb5,0xfe, + 0x9f,0x68,0x46,0x1e,0xf7,0x97,0x0a,0xcb,0x7b,0x05,0x57,0xfa,0x40,0xee,0x8e,0x26, + 0xc3,0x70,0x10,0xa0,0xa9,0x77,0x06,0xf7,0x97,0xa6,0xf4,0x87,0x35,0xda,0x82,0x04, + 0x1a,0xd2,0x0f,0xc0,0x13,0xea,0x03,0x91,0x8c,0x1f,0xd9,0x4f,0xf2,0xfe,0x3e,0x9a, + 0xfc,0x48,0x76,0x5e,0xce,0x1a,0x7d,0x3a,0xf7,0xff,0x74,0x99,0xfd,0x3f,0xb0,0xab, + 0x71,0x41,0xf4,0xae,0x95,0xe2,0xd3,0xf0,0x6a,0x68,0xee,0x98,0xf5,0xd1,0x57,0xdf, + 0x0b,0x7d,0x89,0x16,0xcd,0xfa,0x95,0x6d,0x37,0x40,0x3f,0xdb,0x15,0x75,0xd6,0x5f, + 0xc3,0x8f,0xbd,0x97,0x9f,0x2f,0x5e,0xc6,0xf2,0xb1,0xd7,0x3d,0x68,0xeb,0xce,0x19, + 0x11,0xf6,0x4a,0x59,0xc2,0x92,0x67,0x49,0x84,0xe7,0x9b,0x71,0x8f,0x90,0x99,0x1f, + 0x3b,0x16,0xbf,0xc8,0x1a,0xcb,0xf9,0x27,0x58,0xa2,0xff,0x68,0xf4,0xe9,0x71,0xf1, + 0x8a,0xf6,0xd8,0x86,0xd2,0xe8,0x63,0x63,0x19,0xd9,0x10,0xf1,0x97,0x46,0x9d,0xc3, + 0x66,0x7e,0x6c,0x83,0x9f,0xb6,0x18,0x78,0x7f,0x6a,0xd6,0xa6,0xde,0x1a,0x91,0x67, + 0xfb,0x2f,0x69,0x8d,0xca,0x4c,0xaf,0xec,0xf1,0xe4,0x41,0x20,0x94,0x5f,0x83,0xcf, + 0x6f,0xe2,0xc7,0x56,0x62,0xf2,0xca,0x32,0x87,0x4c,0x91,0xd6,0x08,0x31,0x37,0x97, + 0xf4,0x0b,0xc8,0xf7,0xa3,0xbc,0xba,0x4f,0x5b,0xa3,0x1a,0xfe,0x2e,0x33,0x3f,0xb6, + 0xe1,0xcf,0x57,0xe9,0x6d,0x16,0x87,0xd0,0x24,0x15,0x22,0x7e,0x30,0x12,0x5d,0x1c, + 0xd0,0xa6,0x5a,0xee,0xa4,0x4d,0x7e,0xb5,0x01,0x15,0xa5,0x99,0x1f,0x1b,0xf1,0x9e, + 0x54,0x19,0x4d,0x47,0xb3,0x9a,0x1c,0x85,0x02,0x7d,0x1a,0xc7,0x27,0x4f,0x12,0x7b, + 0xa7,0x2d,0xfc,0x8d,0x3a,0xa2,0x0b,0xdd,0x83,0x8b,0x43,0xa9,0xfd,0x61,0xb9,0xbc, + 0xdd,0x34,0x8b,0xf7,0x4b,0xbd,0x88,0x40,0xe8,0x66,0x9e,0x1f,0x8e,0x86,0x86,0xd7, + 0xf6,0x6e,0xcd,0xb3,0x8e,0x8b,0xf7,0x54,0x44,0x78,0xa8,0x3a,0x25,0xfe,0xc5,0xe5, + 0xb9,0x75,0x6c,0xd2,0x30,0x7b,0x03,0xef,0xbf,0x7e,0x54,0xae,0x80,0x5e,0x98,0x8d, + 0xdf,0x3c,0xa7,0x1c,0x0e,0xb3,0x6c,0xdd,0x1a,0x4d,0xed,0x0f,0xc2,0xbb,0x99,0x70, + 0x5a,0xec,0x28,0x69,0x8b,0xc5,0xb3,0x9c,0x28,0x4f,0xca,0x5c,0x01,0xe7,0xc6,0x99, + 0xac,0x15,0x0d,0x2b,0x7e,0xe2,0x52,0xf0,0x0f,0xc2,0xa4,0x65,0x96,0xed,0xd9,0x43, + 0x46,0x3f,0xd0,0x36,0xee,0xd8,0x79,0x92,0x33,0x1c,0xfa,0x89,0x63,0x63,0xe0,0x9b, + 0x45,0x11,0x3e,0xdf,0xec,0xff,0xe1,0xeb,0x03,0x16,0x17,0x9a,0x21,0x4d,0x31,0x7f, + 0x88,0x55,0x68,0x84,0x42,0x2d,0xc0,0x50,0x09,0xb5,0x51,0x87,0x8e,0xeb,0x63,0xe2, + 0xc7,0x4e,0x5b,0xa1,0x19,0x6d,0x70,0x79,0x3d,0xd1,0x51,0xef,0xcf,0x75,0xdb,0xe7, + 0x62,0x05,0xbc,0x75,0x0f,0x6e,0x7b,0x90,0x1d,0xf4,0x80,0x30,0x4f,0x77,0x86,0x4c, + 0xfc,0xd8,0xa1,0x29,0x97,0xd8,0x55,0x58,0x00,0xc5,0xa3,0x9c,0x0d,0x5b,0xdd,0xc5, + 0xdb,0x5e,0x70,0x44,0x84,0xb0,0xa7,0xaf,0x69,0x8c,0x53,0x01,0x6b,0x68,0x8f,0xa7, + 0xc6,0xbf,0x3e,0xe7,0xfc,0xa2,0x67,0xc5,0x13,0xec,0xaa,0x56,0x5a,0x6b,0x1d,0x13, + 0x1f,0x81,0xf7,0x54,0x1e,0x11,0xbb,0xc5,0xd5,0x3f,0xe0,0xaf,0x92,0x96,0xf4,0xa5, + 0xe6,0xff,0xc0,0xee,0xa2,0x82,0x41,0xfa,0xdf,0xc8,0x27,0xec,0x57,0x12,0x4a,0xd7, + 0x1e,0x52,0x08,0xeb,0x83,0x68,0x56,0x77,0x93,0xe9,0x3a,0xe2,0xc3,0xa5,0x72,0x8b, + 0x3d,0x15,0xff,0xec,0x56,0xd5,0x7e,0x54,0x3a,0x75,0xbe,0xbd,0x21,0xf5,0x4e,0x8b, + 0x2b,0xbb,0x56,0x79,0x3c,0xe6,0x01,0x03,0xa9,0xb1,0x79,0xc5,0xf5,0x32,0xa4,0x93, + 0xc9,0x29,0xf9,0x3f,0x31,0x36,0xce,0x0f,0x78,0xa2,0x78,0x5d,0x11,0x2f,0x6c,0x6f, + 0x8b,0x39,0x82,0x8a,0xf2,0x03,0xea,0x83,0xaa,0xdc,0x93,0x6e,0xc2,0x3f,0x53,0x10, + 0xfd,0xea,0xb3,0xf5,0xc5,0xa3,0x39,0x0f,0xc3,0x15,0x56,0x5a,0x97,0x15,0x16,0xef, + 0x30,0x1a,0x95,0xe2,0x09,0x2a,0x10,0x0e,0xb2,0xca,0xd9,0x4b,0x5a,0x6b,0x52,0xf3, + 0x7f,0x2e,0x57,0x57,0xe9,0xb3,0x46,0xe1,0x61,0xed,0x42,0xb0,0x2a,0x8a,0xda,0xfc, + 0x0b,0xaf,0x81,0x88,0xc6,0x5f,0xed,0x4f,0xbf,0xc4,0x2a,0xfd,0xeb,0x35,0x39,0x35, + 0xfe,0x35,0xe6,0x75,0xf7,0x2d,0x0e,0xcb,0xd3,0x21,0xc2,0xd0,0x2c,0x0d,0x8b,0x43, + 0x9a,0xd1,0x28,0x96,0xa1,0x46,0xc3,0x81,0xe2,0xdc,0x74,0x0d,0xfe,0xd9,0xae,0x17, + 0xe8,0xf5,0x9f,0xf7,0x15,0xc2,0x20,0x18,0x69,0x4e,0x67,0xe0,0xbd,0x58,0x47,0xce, + 0xaf,0x73,0x6a,0x3b,0x07,0x6a,0xa8,0x6b,0xf0,0x4f,0x44,0x1d,0xa5,0xe5,0x68,0x94, + 0x89,0xa0,0x72,0xf6,0x81,0xd7,0xfc,0xbc,0x3f,0x51,0xc6,0xad,0x24,0x43,0x0d,0x82, + 0x93,0x05,0xae,0xc1,0x3f,0xf0,0x3b,0x96,0x3f,0x44,0x57,0x7a,0x6e,0x24,0x4f,0x34, + 0x7f,0x2f,0x6a,0x59,0xe9,0x7f,0x57,0x7b,0x62,0x8b,0xd1,0x38,0x35,0xdb,0xe8,0xa0, + 0x4a,0x17,0x92,0xd4,0xfe,0x20,0x67,0xc1,0xdd,0x47,0xdd,0xa2,0x35,0xf4,0xaa,0x1a, + 0xee,0xb7,0xb9,0xc4,0x21,0xcf,0xab,0x6c,0xaa,0x9e,0xd9,0x2d,0xd2,0x65,0x6f,0x4e, + 0xaa,0xf0,0x2e,0x2e,0x4f,0xe9,0x0f,0xb2,0x0f,0x7e,0x07,0x25,0x7d,0x46,0x74,0xef, + 0x2a,0x54,0xf4,0xde,0x64,0xf0,0x43,0x5a,0x16,0xe8,0x25,0xa3,0xf2,0x98,0xc6,0xf1, + 0x8f,0xed,0xab,0xf8,0xc7,0x7d,0x2c,0xeb,0x65,0x34,0x72,0x0f,0x05,0x8d,0xf8,0x35, + 0x4f,0xd4,0x7f,0x54,0xb7,0xf5,0xd4,0xcc,0x91,0xf6,0x04,0xd0,0xb4,0xd7,0xaf,0xc1, + 0x3f,0x2f,0xc1,0x16,0xdd,0xe1,0x6e,0xa5,0xbc,0xdf,0x10,0x2f,0xac,0x38,0x49,0x9a, + 0x1c,0x5c,0xb0,0x88,0x86,0x3f,0x59,0xa7,0xda,0x35,0xf8,0xe7,0x25,0x56,0x38,0xcc, + 0xe3,0x7d,0xc2,0xe3,0xb1,0x7c,0xa7,0xd7,0x61,0x4d,0x68,0x66,0x54,0x1e,0x26,0xd7, + 0x09,0xff,0xbc,0x41,0xbd,0x3f,0xb0,0x34,0x15,0xff,0x48,0xbb,0xc1,0xe8,0x47,0x63, + 0x53,0x77,0x44,0x0a,0x43,0xb2,0x2b,0x7b,0xc4,0xe0,0x6b,0x95,0x6f,0x23,0xb7,0xa7, + 0xed,0x60,0x1d,0x3e,0x7a,0xfd,0x35,0xf8,0xe7,0x8a,0x56,0xd6,0x88,0x20,0x67,0x3e, + 0x79,0x57,0x7f,0x29,0x6c,0xf8,0x7f,0x0e,0x42,0x39,0xb3,0x7d,0x22,0x96,0xb3,0xa7, + 0x58,0xe9,0x46,0xe7,0xd0,0xb5,0xf8,0x47,0x2a,0x47,0xed,0x23,0x9e,0xd2,0x86,0x95, + 0x79,0xe9,0x71,0x7f,0x48,0xac,0x3f,0x48,0xe1,0x98,0xb7,0x32,0x7b,0x3d,0x6b,0xba, + 0x06,0xff,0x74,0x95,0xf9,0xac,0x9b,0x6f,0x94,0x08,0x2f,0x7b,0x77,0x6e,0x10,0x3f, + 0x40,0xf9,0x63,0x94,0xbd,0x7f,0xc0,0xed,0x7d,0x9f,0x35,0x08,0xd7,0xe2,0x1f,0xbb, + 0xcf,0xb1,0x99,0x4c,0x87,0xc3,0x46,0x7f,0x58,0x3c,0x08,0x6f,0x01,0xd1,0xe8,0x3f, + 0x93,0x0f,0xd8,0xde,0x42,0x4e,0x1d,0x39,0x29,0x94,0x82,0x7f,0xf6,0xd2,0x33,0xb5, + 0x08,0x63,0xa6,0x57,0xb7,0x4c,0x7e,0xb0,0xda,0x68,0x63,0x11,0xef,0x67,0x31,0x24, + 0x3c,0x0f,0x25,0xf7,0xd2,0xd4,0xfe,0xb0,0xdc,0xff,0xe3,0xf3,0x3a,0x0c,0x6f,0x8f, + 0x86,0x77,0xe3,0x8e,0xa0,0xc9,0x08,0x9c,0xf0,0xca,0x6b,0x46,0x68,0xcc,0xa1,0x5c, + 0x97,0xd2,0x1f,0x16,0x46,0xa1,0x8c,0xb7,0x05,0x89,0x45,0xdb,0xb9,0x23,0x48,0x8a, + 0x40,0x87,0x31,0x10,0x62,0x1d,0x63,0x85,0x75,0x29,0xf8,0xe7,0x32,0x4c,0xf3,0x2e, + 0xd9,0x24,0x5e,0xce,0xfe,0x84,0x57,0x7b,0x05,0x0b,0x3e,0xe7,0x34,0xe0,0xda,0x7a, + 0x6f,0xc1,0xe7,0xc2,0x67,0x60,0xf4,0x87,0x7d,0x36,0x05,0xff,0x5c,0x86,0x1d,0xb5, + 0xb6,0x63,0x72,0x6e,0xe8,0xb0,0xcb,0xed,0xb5,0x0e,0xd6,0x9c,0xd7,0x0f,0xa8,0xa5, + 0x9a,0xed,0x4d,0x4e,0x94,0x8d,0xf8,0xc7,0x7a,0x4d,0x7f,0x34,0xe8,0x91,0xed,0x92, + 0xec,0xf7,0xab,0x78,0x32,0xec,0x37,0x51,0x46,0xde,0xf7,0x07,0x34,0x83,0x28,0x52, + 0x0d,0xe1,0xf9,0xda,0x4c,0x9f,0xf9,0x4a,0xfe,0x8f,0xaa,0xc9,0x39,0x44,0x0a,0x71, + 0xf6,0x5d,0xaa,0x64,0xf3,0x40,0x98,0xd1,0x21,0xae,0xf9,0x20,0xf7,0x80,0xd5,0x2b, + 0x77,0x98,0xe2,0x5f,0x93,0x3b,0x71,0x7d,0x8c,0xe8,0x61,0x21,0x6e,0xa4,0x90,0x56, + 0x1e,0xcf,0xa7,0xd2,0xe4,0x97,0x16,0x16,0xc2,0xf3,0xa4,0xa4,0x0e,0x52,0xfa,0xa3, + 0xf1,0xfc,0x67,0xaf,0x9b,0x17,0xe9,0xcf,0x90,0xc6,0xa5,0x52,0xcd,0x19,0xac,0x89, + 0xf5,0x07,0xb9,0x39,0x57,0x7c,0x4e,0x3d,0xa0,0x55,0x7a,0x6b,0x37,0xa7,0xc6,0xbf, + 0xa4,0xf1,0x00,0xc7,0x3f,0x39,0x43,0xfe,0x5e,0xdd,0x00,0x42,0xfd,0x70,0x36,0x9e, + 0xff,0xc3,0xde,0x82,0x8a,0x65,0xb6,0xec,0x54,0xfc,0x23,0x8c,0x81,0x5b,0xba,0x8f, + 0xd9,0xf2,0xb5,0x48,0x0c,0x6d,0x72,0xb3,0xf7,0xe1,0x58,0xc7,0xba,0x88,0x54,0xa9, + 0x58,0x9b,0xe5,0xd4,0xf8,0xd7,0x7e,0xb6,0x95,0x39,0x4e,0xd5,0xfc,0x18,0xbe,0x03, + 0x76,0x4e,0xf3,0x3e,0x06,0x6f,0x83,0x9b,0xc9,0x1f,0x90,0xf9,0x5a,0xeb,0x37,0x67, + 0xa1,0x21,0x56,0x93,0xda,0x1f,0x6d,0x07,0xf3,0x45,0xe9,0x4e,0xb2,0xc2,0xd1,0xa4, + 0xa8,0xfa,0xf5,0x3c,0xed,0x19,0xed,0x05,0x5d,0x9e,0x6a,0xf9,0x3a,0x6d,0xd2,0x9c, + 0x0d,0x16,0x57,0x2a,0xfe,0x11,0x76,0xd1,0xfc,0x28,0x5d,0x4e,0x96,0xc2,0xe3,0xf0, + 0x3d,0x5e,0x0f,0xc5,0xdb,0x84,0xe1,0xf9,0xbd,0x97,0x58,0xf3,0xd7,0xd0,0xe2,0x37, + 0x71,0x7e,0x4a,0x7f,0x34,0x78,0x85,0x95,0xfa,0xea,0x4e,0x58,0xbe,0xcb,0xfb,0x97, + 0x8d,0x66,0x2e,0x15,0xaf,0xc0,0xab,0xec,0x99,0xa8,0x6d,0x4c,0xbe,0x0e,0xde,0x08, + 0x54,0xf9,0x4a,0x56,0x8a,0x1f,0x25,0xfd,0x3f,0x99,0xdb,0x0c,0x7b,0xf3,0x66,0x96, + 0x33,0x8c,0x40,0x71,0x9f,0x3e,0xcb,0x20,0x5a,0x27,0x31,0xa2,0x5a,0xc2,0x1b,0x5d, + 0x3d,0x16,0x4e,0xe9,0x8f,0x76,0x05,0x78,0xd9,0xfb,0x63,0x63,0xa2,0x5b,0x3b,0x1c, + 0x2e,0x1d,0xb2,0x9e,0xf8,0xd6,0x05,0xe5,0x28,0xab,0x1a,0xb2,0xdd,0x20,0xbe,0xcc, + 0x3b,0x3e,0xa8,0x37,0xaf,0x14,0xc0,0x14,0xff,0x32,0xf8,0xae,0x23,0x8e,0x65,0x35, + 0x6e,0xed,0x25,0xe5,0xd6,0x61,0x7c,0xfe,0x31,0xd2,0xc4,0xfb,0xbb,0xfd,0x1d,0x99, + 0x03,0xcd,0x50,0x2c,0xc9,0xee,0xd6,0xd4,0xfc,0x9f,0x97,0x94,0x7c,0xad,0xce,0x5b, + 0xa6,0x84,0x7e,0xa1,0xde,0x1f,0x45,0xc3,0xed,0xa4,0x41,0x0c,0xbe,0x68,0x90,0x6c, + 0x32,0xa0,0x14,0x4a,0x30,0x73,0x7f,0xd8,0x01,0xfc,0x48,0x2a,0xda,0xfb,0xa4,0x1a, + 0x0f,0x72,0xe1,0x71,0x3c,0x5f,0x67,0x0c,0x47,0x90,0x5c,0x48,0x8a,0x60,0x87,0x52, + 0xd2,0x2c,0x97,0x5f,0x67,0xee,0x0f,0xbb,0x0d,0x2e,0x68,0x3c,0x9b,0x54,0x76,0xa2, + 0x5a,0x71,0x8d,0xa2,0xb5,0xf8,0x69,0xcc,0x11,0x94,0x26,0x76,0xbc,0x7a,0x91,0x03, + 0x9b,0xdf,0x89,0x45,0x29,0xf8,0xe7,0x82,0x5e,0x19,0xcc,0xea,0x14,0xbb,0xb8,0xff, + 0xa7,0xd7,0x16,0x9e,0x14,0xe7,0x07,0xe0,0x1e,0x12,0xd9,0x52,0x19,0xf9,0x4a,0x7f, + 0x90,0x2b,0x74,0x87,0xb6,0x62,0xa9,0x5c,0xee,0x3f,0x10,0x74,0xf7,0x65,0x5e,0xc8, + 0xb9,0x44,0xde,0x80,0x1f,0xf1,0xc6,0xe8,0x2e,0x18,0x68,0xac,0xaa,0x5e,0x3b,0x7a, + 0x0d,0xfe,0xd9,0xf7,0x50,0xfe,0x36,0xfa,0xa6,0x5f,0xf1,0x3f,0xc6,0xe6,0xea,0x68, + 0x7d,0x9c,0x65,0x6d,0x70,0xba,0xb7,0x2d,0x40,0xb6,0xaa,0x81,0xd3,0x25,0x6a,0x5d, + 0x58,0x0c,0xa5,0xe0,0x9f,0x30,0x6f,0x1a,0x38,0xd1,0xc6,0x2b,0x23,0x9c,0x3d,0x22, + 0xb5,0x09,0x08,0x9c,0x02,0xc4,0xae,0x04,0xd4,0x12,0xbb,0xd1,0x28,0x6d,0x62,0x3f, + 0x18,0xfd,0xd1,0x70,0xb7,0x96,0x03,0x01,0xd6,0x08,0x33,0x5e,0x45,0x41,0x1d,0x91, + 0x9a,0x04,0x94,0xcf,0x7e,0xd2,0x2c,0x30,0x30,0xec,0xfd,0xa4,0xfc,0xe1,0xfe,0x9f, + 0x51,0x4e,0x62,0xa9,0x8a,0x8e,0xd0,0x01,0x28,0xe5,0x89,0x28,0x23,0x70,0xc8,0x6b, + 0xe7,0x8d,0x71,0x39,0xff,0x46,0xa5,0x56,0xb2,0xdd,0xdc,0x1f,0xf6,0x7a,0x9e,0xff, + 0x63,0x63,0x86,0x77,0xcb,0xe0,0x37,0x1e,0x14,0xc3,0xb1,0x44,0xd6,0x5e,0x79,0x94, + 0x1a,0x89,0x40,0xe7,0xc4,0x2e,0x13,0xfe,0x79,0xd7,0xc0,0xcf,0xd6,0x95,0xe2,0xcd, + 0x60,0xa4,0x3d,0x0f,0x8b,0x15,0xf4,0xb0,0x63,0x07,0xb3,0x72,0xff,0xe4,0x40,0xf3, + 0x6c,0xd7,0xe2,0xa5,0x05,0x49,0xfe,0x1f,0x5d,0x39,0xcd,0xb3,0xc1,0x81,0x67,0x1b, + 0x2a,0x01,0xc6,0xdb,0x12,0xf9,0xab,0x48,0x8b,0x6e,0x0f,0x5b,0xda,0xc9,0x6f,0xa1, + 0xad,0xd1,0x2e,0xa0,0xc4,0x1e,0x4d,0xc4,0xbf,0x22,0x13,0xfe,0x9f,0xb0,0xdd,0x89, + 0xcb,0xa8,0xf2,0xc6,0xaf,0x56,0x4f,0x23,0x51,0x9b,0xeb,0x18,0xb1,0x22,0x30,0xb6, + 0x53,0xdc,0x21,0xe7,0x12,0xf5,0xa7,0xfa,0x94,0x90,0xd2,0xc3,0x17,0x01,0xef,0xcf, + 0xf9,0x04,0x84,0x5b,0xd8,0x32,0x27,0xcf,0xff,0x0c,0x59,0x82,0xfe,0xdf,0xaa,0xbf, + 0x62,0x46,0x7f,0xd8,0x51,0x93,0xbf,0x28,0xe6,0x7f,0xb0,0xf2,0xb0,0xd4,0x21,0x1e, + 0x76,0xe9,0x6c,0x73,0xd2,0x03,0xcc,0xd5,0x65,0xcd,0x10,0xbf,0x0e,0x6f,0x32,0x97, + 0xc3,0xda,0x62,0xea,0x8f,0x16,0x12,0xc2,0x60,0x2c,0x82,0x6e,0x64,0xd3,0x55,0x81, + 0x55,0xff,0x16,0xe2,0xc3,0x8c,0x4a,0xb6,0x7e,0x50,0x1c,0xb5,0xfc,0x25,0xa3,0x4a, + 0xc2,0x9f,0x86,0x53,0xf0,0x0f,0x47,0x53,0xd6,0xed,0x4d,0xfc,0xfe,0x95,0xfd,0xa8, + 0x28,0xd7,0x2a,0xe3,0xe0,0x6e,0xcf,0x6a,0x9e,0x34,0x9d,0xf7,0xa7,0x53,0xd7,0x32, + 0x71,0xb6,0x09,0xff,0xf0,0xc7,0x46,0x90,0x83,0xdf,0x57,0x62,0xde,0x12,0x15,0x07, + 0x15,0xb0,0xdd,0x83,0x66,0xd7,0x1e,0x8f,0x14,0x6c,0x0b,0xd9,0x55,0x7c,0x71,0x57, + 0x0a,0xfe,0xe1,0x68,0x90,0xce,0xc9,0x5e,0x0c,0x4d,0x7a,0xc9,0x58,0xac,0x9f,0xa9, + 0xa6,0x2a,0x16,0xf0,0x58,0x0d,0xc5,0xed,0x70,0x59,0x5c,0x09,0x7d,0x17,0x15,0xdc, + 0xd0,0xcc,0x8a,0x55,0x1a,0x49,0x7f,0x18,0x9a,0x03,0xb3,0x54,0xba,0x94,0x4c,0x93, + 0x76,0xf8,0xf3,0x55,0x5a,0x87,0x46,0xe1,0x9a,0xe0,0x96,0x51,0x3a,0x46,0x2a,0x12, + 0xf1,0xaf,0x3b,0x11,0xff,0xfc,0x5e,0xaa,0xd4,0x9d,0xb3,0xc5,0xc5,0xf0,0x2a,0x54, + 0xf0,0xb2,0xc1,0xb5,0x70,0xd6,0xe5,0xa2,0xeb,0x88,0xc7,0x4a,0x5f,0xd5,0x5c,0xba, + 0xd5,0x25,0x66,0x27,0xe3,0x5f,0x37,0x25,0xd6,0x27,0xac,0x5d,0x52,0x16,0x80,0xed, + 0x4d,0xe1,0x32,0xfc,0x44,0xc1,0x2b,0x9a,0x78,0x52,0xfb,0x52,0xaa,0xea,0xb7,0x8d, + 0x99,0xf8,0xb1,0xe3,0xfe,0x9f,0xa8,0x91,0xed,0xfc,0x31,0x8b,0xe7,0x87,0x5f,0x84, + 0x8a,0x53,0xd6,0x80,0xe8,0x94,0x3e,0x23,0x6e,0xdd,0xda,0x65,0xe6,0xc7,0xde,0x10, + 0x84,0x9d,0x28,0x34,0x22,0x1a,0x19,0x44,0x55,0x9c,0x0f,0x32,0xca,0x93,0xdc,0x5d, + 0x90,0xc9,0x79,0xd3,0xa6,0x1a,0x44,0xd9,0x68,0x4f,0x75,0x27,0xe4,0x1b,0x83,0xa7, + 0x95,0x5d,0x6c,0x16,0x77,0xf2,0xbc,0x0b,0xff,0xc2,0xc3,0x5e,0x3c,0xdf,0xfb,0x25, + 0x56,0xdc,0x91,0x11,0xf1,0x4f,0x33,0x42,0x81,0x19,0xf5,0x84,0x9a,0xf0,0x8f,0x0e, + 0xf1,0xfd,0x13,0x05,0x26,0xa8,0x20,0x2b,0xe9,0x03,0xb0,0xdd,0xb7,0xa2,0xf1,0x4e, + 0xb8,0x27,0x53,0xdd,0xa1,0xd9,0xb9,0x87,0xed,0x29,0x53,0xfc,0x2b,0x00,0x17,0xa0, + 0x84,0x97,0xbd,0x0f,0x4b,0x2f,0x90,0x38,0x3f,0xf6,0x15,0xa8,0xe2,0xa1,0xb6,0xdb, + 0xe0,0x0b,0xcd,0xcd,0x8a,0x3b,0x53,0xf8,0xb1,0x63,0xdb,0x66,0x56,0x3f,0x19,0x9d, + 0x58,0xa8,0x28,0xaf,0x87,0xca,0x5e,0xcb,0x33,0x54,0xc7,0x6e,0x47,0x53,0x45,0x6f, + 0x32,0xc7,0xbf,0x62,0xfc,0x3f,0x78,0x5a,0x0b,0xf3,0x0e,0x28,0xbc,0xec,0xdd,0xd3, + 0x09,0xe3,0x8d,0x65,0xf1,0xc6,0x58,0xed,0x5f,0xe5,0xff,0x89,0xa5,0xf1,0x3c,0x6d, + 0xff,0xba,0xef,0x00,0x2b,0xd1,0x8c,0x46,0x69,0xbb,0x83,0x25,0xf7,0xb4,0x6d,0xbe, + 0xe7,0x0c,0xdd,0xad,0x95,0x69,0x81,0x6b,0xfd,0x3f,0x8f,0x09,0xdf,0xbb,0x5f,0x7e, + 0xd3,0x32,0x07,0x1e,0x8b,0xd5,0xb3,0x74,0x72,0x0f,0xa4,0x76,0x63,0xd0,0xf3,0xac, + 0xc4,0x03,0x67,0x74,0x90,0x1c,0x31,0xf1,0xff,0xf0,0x69,0xf9,0x0d,0xa8,0xad,0xa6, + 0xc0,0x2f,0x58,0xb1,0x97,0xde,0x4b,0x9a,0x73,0x79,0x3c,0xe8,0xc6,0xbc,0xec,0x7e, + 0x94,0xd8,0xcf,0x34,0x38,0xbc,0xe4,0x60,0x22,0xfe,0xc5,0xf1,0x4f,0x3c,0xdb,0xd9, + 0x90,0x36,0xb8,0x55,0x09,0xf7,0x48,0x70,0x22,0xa0,0x9a,0x10,0xbd,0x20,0xb8,0x05, + 0xab,0x5e,0x90,0xf4,0xff,0x9c,0xb8,0x89,0x27,0xde,0x56,0x18,0x6a,0x5d,0x3a,0xc5, + 0x0b,0xc1,0x82,0xe4,0xfb,0xd2,0x65,0xad,0xea,0x4d,0x9b,0x37,0xe7,0x3c,0x5c,0x16, + 0x2a,0x78,0xa0,0x27,0xc9,0x8f,0x9d,0x27,0x18,0x4d,0x40,0x6a,0x11,0xe4,0xe4,0x0a, + 0x87,0x79,0xd9,0xbb,0x22,0x0c,0xb1,0xcf,0x11,0xff,0x38,0x07,0x6b,0x2a,0x38,0xb1, + 0xb6,0x66,0x1d,0x2c,0x48,0xe2,0x9f,0x95,0xf1,0xfe,0x20,0xd4,0xc0,0x3f,0xf1,0x44, + 0x20,0xad,0x87,0xd3,0xce,0x33,0x34,0xbb,0x7a,0x88,0x71,0x25,0xc9,0x8f,0x8d,0xf8, + 0x47,0xda,0x2d,0x15,0xf2,0x78,0x9f,0xe4,0x6a,0x14,0x9c,0x9e,0x40,0xb6,0x9f,0xf3, + 0x81,0xab,0xb7,0x53,0x9e,0x91,0xc8,0x3b,0x86,0x38,0x14,0x62,0xe2,0xc7,0x9e,0xd2, + 0x39,0x75,0x37,0x74,0xf2,0xf9,0xdc,0x9f,0xe6,0xac,0xae,0xe7,0xfd,0x79,0x77,0x6b, + 0x45,0xdc,0xb1,0x36,0x1d,0x76,0xd7,0x94,0xf0,0x8e,0x69,0x29,0xf1,0xaf,0xbc,0xed, + 0x50,0x86,0xb0,0xc7,0x22,0xe1,0x87,0xab,0xc4,0x69,0x46,0x62,0xb3,0xdb,0x67,0xdd, + 0x20,0xce,0xd0,0x38,0xf0,0x73,0x9a,0xfb,0xc3,0x0e,0x73,0xff,0x8f,0x64,0x54,0x87, + 0x2d,0xe7,0xde,0x1e,0x4f,0x2c,0xff,0xb9,0xbd,0x62,0xb9,0x2d,0x28,0x9f,0xe1,0xae, + 0xa1,0x1a,0x1c,0x9c,0xbb,0xc6,0xff,0xc3,0x9d,0x3c,0x3c,0x91,0x04,0x0f,0xff,0x7a, + 0xfc,0x10,0x92,0x0e,0xf3,0x14,0x5b,0xc0,0xc8,0x48,0x77,0x0b,0x46,0xbf,0xb0,0x89, + 0xe7,0x41,0xfc,0x23,0xec,0xe1,0xfd,0x41,0xa2,0x64,0x1e,0x59,0xc7,0xe6,0x06,0xb3, + 0x42,0x77,0x38,0x60,0x9d,0x56,0x10,0x90,0xeb,0xc9,0x30,0xbc,0xab,0xcc,0x65,0xb2, + 0x2f,0xd5,0xff,0xa3,0xec,0xe0,0xdd,0x19,0x5c,0xf8,0x52,0x7e,0xa6,0x0e,0xb6,0xb8, + 0xec,0x28,0x76,0x14,0xc7,0xc3,0xf2,0x64,0xd2,0xaf,0x34,0x49,0xf6,0xe3,0xf2,0xb5, + 0xfe,0x9f,0x57,0xa0,0x40,0xcf,0x6b,0x20,0xb9,0xae,0x35,0x81,0xe9,0x44,0xbe,0x40, + 0xb2,0x60,0x0d,0xdc,0x5f,0x7d,0xa3,0x97,0x7c,0x01,0xff,0xdc,0x38,0x1d,0xef,0x6f, + 0xe2,0xc7,0x36,0xfc,0x3f,0x6c,0x36,0x57,0x2b,0x88,0x76,0x70,0x90,0xf1,0x63,0xcb, + 0x34,0xf2,0x1a,0xcb,0xf0,0x2d,0x59,0x9a,0xf3,0x07,0x8a,0x57,0x78,0xa3,0xb4,0xd3, + 0xe6,0xfc,0x1f,0xfa,0x19,0xec,0xd3,0x66,0x31,0x5c,0x96,0xcf,0x84,0x4a,0xb8,0x7b, + 0x47,0x2c,0xfe,0xc5,0xcb,0x48,0xfb,0xa5,0x8b,0xb1,0x08,0xb5,0xc9,0xff,0xb3,0xea, + 0x8a,0x37,0x5e,0xb6,0x53,0xc6,0xdb,0x9a,0x0f,0xdd,0xbc,0x9b,0x5c,0xc9,0x43,0x8d, + 0xf6,0xc1,0xda,0xb7,0x72,0xca,0xea,0x2e,0x06,0x4b,0x3b,0xd7,0xd6,0xcb,0x49,0x7c, + 0x62,0xe4,0xff,0x38,0x78,0x13,0x37,0x7b,0x2e,0xac,0x91,0x8a,0x3d,0x59,0x8f,0x92, + 0x93,0xc1,0x97,0x97,0x67,0x1e,0x7f,0xe1,0x9b,0x1b,0x73,0x23,0xbb,0x42,0xb7,0x34, + 0xd3,0xfb,0xfd,0x2f,0x98,0xe3,0x5f,0x28,0x94,0xee,0xe7,0x2f,0x35,0xd5,0xf7,0x04, + 0x14,0xf7,0xca,0x0d,0x7d,0x27,0xa5,0x5d,0x5a,0xb1,0x9f,0xea,0xf6,0xbf,0x51,0x5e, + 0xa9,0xce,0x6f,0xce,0xf0,0x5d,0x83,0x7f,0x76,0x80,0x3d,0x4f,0xb6,0x12,0x1b,0x79, + 0xdc,0xeb,0xf4,0x59,0xca,0xb3,0x07,0x94,0x6e,0xe2,0x1c,0xb6,0x48,0x9e,0x3b,0xb4, + 0xed,0xcd,0x45,0x6c,0xa6,0x9d,0x04,0x4c,0xf1,0xaf,0xdf,0x96,0x7f,0x06,0xdd,0x8a, + 0xed,0x49,0xd4,0x56,0x6f,0x1d,0x2f,0x39,0x6f,0xbb,0x64,0x1f,0x51,0x2e,0x70,0x8f, + 0x71,0x8f,0xb8,0x02,0x3e,0x0b,0xd9,0x59,0xe6,0x36,0xb9,0xe8,0x5a,0xff,0x8f,0x62, + 0xdb,0x22,0x7f,0xc0,0x3e,0xae,0xad,0x0c,0x1a,0x7c,0xda,0x17,0x08,0x6f,0x8b,0xf6, + 0x9f,0xb6,0x49,0x08,0x1d,0x95,0xac,0x6b,0xfc,0x3f,0xea,0x55,0x3a,0x37,0x6a,0x3d, + 0x11,0xab,0xf7,0xe9,0xb7,0x8e,0x36,0x71,0x84,0x80,0xf6,0x45,0xb4,0xe9,0x11,0xbc, + 0xf2,0x23,0x7d,0x71,0x54,0x8c,0x24,0xf0,0x0f,0x33,0xfc,0x3f,0x76,0x5f,0xdd,0x5a, + 0x7f,0xb4,0x79,0xef,0x01,0xe7,0xc6,0x3a,0x1e,0xff,0x0a,0x43,0xc7,0xfd,0xb2,0x13, + 0xb1,0xff,0x6e,0xcd,0xee,0xe2,0x1e,0xc5,0x6b,0xf2,0x7f,0x66,0xe4,0xd1,0x8d,0x9e, + 0x4e,0xb6,0x97,0x19,0xfd,0x4c,0x47,0x60,0xb7,0x6a,0xf7,0xc9,0xed,0x7e,0xfc,0x29, + 0x30,0x63,0xcb,0xb5,0xfe,0x1f,0xb6,0x83,0xb3,0x58,0xaa,0x1e,0xde,0xaf,0xa7,0x44, + 0xa0,0x6e,0xfb,0x80,0xd4,0x83,0x16,0xca,0xa2,0x60,0x3a,0x9e,0x47,0x55,0xe5,0x8d, + 0xe4,0xfa,0x92,0xfc,0xd8,0x99,0x3c,0xbf,0xb7,0x8c,0x59,0x15,0x31,0x44,0x79,0x9a, + 0xb7,0x73,0xf4,0x71,0xbc,0x3f,0x4a,0xd4,0x25,0x8c,0xe7,0xf7,0xe6,0x1b,0xa6,0xab, + 0xde,0x94,0xcc,0xff,0xf9,0x84,0xbf,0x26,0xcc,0xd2,0x73,0x06,0xe9,0x55,0x81,0x77, + 0xb3,0xaa,0xe6,0xef,0xbb,0xa0,0x7a,0x92,0x26,0x5e,0x82,0x2f,0x94,0x57,0x38,0xb1, + 0x89,0x99,0xff,0xe7,0x2a,0x77,0x9b,0xf0,0xfc,0xf0,0x15,0x70,0x14,0xdc,0x51,0xeb, + 0x69,0x84,0x85,0xb8,0x3e,0x14,0xcd,0xf6,0x39,0xd5,0x03,0xb7,0x23,0x42,0xe8,0x25, + 0x29,0xf9,0xcf,0x6c,0x0f,0xb3,0xd3,0xba,0xf6,0xfc,0x4f,0x69,0x2b,0xf8,0xa3,0x34, + 0xe4,0xb1,0x43,0x4f,0xb0,0xc8,0x45,0x1f,0x23,0xcf,0xe8,0x81,0xea,0x92,0xa9,0x74, + 0xf5,0x35,0xf1,0xaf,0x3d,0xa0,0x12,0xca,0x2c,0x5c,0x9b,0xdb,0x75,0x9a,0x4f,0x40, + 0xc3,0xf7,0x6d,0xa6,0x90,0x2d,0x01,0x82,0x1b,0x91,0x0a,0xa9,0xf1,0x2f,0xd8,0x13, + 0xb0,0x8b,0x68,0x8f,0x8c,0xb0,0x56,0x84,0x91,0x34,0xe4,0x57,0xd5,0x1e,0x5a,0xe4, + 0x77,0xb0,0xbe,0xce,0x82,0x17,0x59,0xc9,0x29,0xda,0x05,0x49,0xff,0x8f,0x3a,0x79, + 0x04,0xce,0xe9,0xdd,0x5e,0x6b,0x9a,0x78,0x2b,0x0c,0x84,0xc2,0xba,0x75,0x48,0x9c, + 0x5d,0x77,0xc9,0x5b,0xaa,0x58,0x5f,0x13,0x17,0x40,0x40,0xaf,0xac,0xb7,0x6e,0x16, + 0xf2,0x52,0xfc,0x3f,0xa8,0xdd,0x1c,0xb6,0x13,0x4d,0x73,0xc8,0x15,0xbd,0xaa,0x6f, + 0x56,0x54,0x3c,0x0d,0x63,0xac,0x8a,0xb7,0xf5,0x1c,0x51,0xfe,0x44,0x2b,0x61,0x16, + 0x5c,0xe3,0xff,0xb9,0xc0,0xd3,0x38,0x9b,0x51,0x2d,0x1e,0xa0,0xa8,0xdf,0x3b,0x39, + 0x2d,0xbf,0xe6,0x0e,0x5a,0x9b,0xc5,0x62,0xfd,0x84,0x56,0xe9,0x41,0xfb,0x2b,0xb5, + 0xfe,0x6b,0x0f,0xf7,0xc6,0xef,0x13,0x03,0xd0,0xd6,0x6c,0x1f,0x44,0xbc,0x97,0xaf, + 0xe1,0x7e,0x67,0x99,0x94,0x14,0x2b,0x19,0x91,0x92,0x06,0x5c,0xa8,0x64,0xfe,0xb3, + 0xce,0xed,0x2f,0x1f,0xce,0xbf,0x95,0x1c,0xd1,0x5a,0xfc,0x6a,0xbf,0x1c,0x26,0x59, + 0xa4,0x0d,0x42,0x3e,0x5a,0x6e,0xb1,0xe3,0x8a,0x95,0x84,0xa9,0x83,0x84,0x53,0xfc, + 0x3f,0x3b,0x1b,0x8d,0xfa,0xf7,0x75,0xad,0xab,0x59,0xfe,0x70,0xdb,0x4a,0x32,0x4d, + 0x5d,0xe3,0xcf,0x5f,0x96,0xf1,0x63,0x14,0xe3,0xab,0xb6,0x14,0x87,0x10,0x11,0xb5, + 0x27,0xee,0x5f,0x8f,0xf8,0xe7,0x9c,0x5a,0x01,0x36,0xd7,0x37,0x8e,0x40,0xcb,0xcc, + 0xf0,0x90,0x2d,0x2c,0x5b,0xe1,0x55,0xd5,0x15,0xb1,0xce,0x6f,0x02,0xd2,0xe7,0xad, + 0xf0,0x58,0xcb,0x9a,0x9e,0x4a,0xf1,0xff,0xec,0xe7,0x4e,0x9e,0xb3,0xe2,0x25,0x3a, + 0x51,0xff,0xa5,0x5d,0x84,0x05,0xdc,0xfe,0x3a,0x57,0xfb,0x97,0xd9,0x46,0xeb,0x61, + 0x6f,0x8a,0xff,0xc7,0x38,0xad,0xe1,0x49,0x03,0x42,0x44,0xe8,0xee,0xb5,0xf5,0x18, + 0x40,0xd4,0x68,0xf4,0x5c,0x04,0x03,0xb1,0xfa,0xca,0xd4,0xfe,0xb0,0x2f,0xa3,0x9a, + 0x8e,0x78,0xb3,0x4f,0x12,0xc6,0xcd,0x46,0x9e,0xef,0xd4,0xc4,0x03,0x37,0x2e,0x42, + 0x95,0xc7,0xa0,0x00,0xa8,0xf7,0x9a,0xfc,0xe7,0x97,0xf5,0x62,0x4e,0xea,0xf8,0x2e, + 0x5d,0xa5,0x1b,0xf8,0x67,0x1a,0x3c,0xc1,0x0c,0x22,0xa0,0x1b,0xf2,0x9a,0x59,0xfe, + 0xb2,0xc0,0x54,0x73,0xfe,0xb3,0x82,0xf6,0x97,0xea,0x5c,0x46,0x8d,0x6e,0xb0,0x88, + 0x1e,0x17,0xc5,0x1b,0x11,0x72,0x8f,0x50,0xab,0xb7,0x51,0x08,0x35,0x38,0x36,0x5f, + 0x5b,0xff,0xa5,0xfd,0x9c,0x39,0x7d,0xe2,0x45,0x38,0xa2,0xf3,0xb6,0x83,0xb2,0x83, + 0x1c,0xe3,0x15,0x99,0xaa,0x5c,0x4e,0x8e,0x44,0x4a,0x43,0xd6,0xa1,0x6b,0xf3,0x9f, + 0xb5,0x4a,0x09,0xf7,0x43,0x54,0x1d,0x8d,0xb1,0x1d,0xea,0xa8,0xd5,0x8c,0xfa,0x94, + 0x87,0x60,0x8c,0xf2,0xfa,0xf7,0xc7,0xaf,0xf1,0xff,0x30,0x54,0x82,0x9b,0x0b,0x24, + 0x38,0x90,0xeb,0xae,0xe5,0xb4,0x3f,0x2c,0x4e,0x7b,0x58,0x08,0x67,0xed,0x2e,0x9f, + 0x14,0x14,0xaf,0xc9,0x7f,0xc6,0xf9,0x68,0x44,0x14,0x42,0x8b,0xae,0x1a,0xfe,0x1c, + 0x3f,0xe2,0x7f,0xbc,0x22,0xfe,0x03,0xef,0x58,0xe1,0xa5,0x4f,0x5f,0x9b,0xff,0x9c, + 0xe7,0xe4,0x30,0xc9,0x49,0x5a,0xaa,0x8d,0x78,0xd9,0x79,0x78,0x4c,0x2d,0xd0,0x1c, + 0xc7,0xc8,0x1c,0x6d,0x37,0x25,0x0b,0x2d,0x1b,0xfe,0x95,0xfc,0x67,0x8e,0x07,0xa0, + 0x51,0xb3,0x73,0xb7,0xcf,0x71,0x61,0x15,0x6f,0xfc,0xed,0x25,0xff,0x19,0x81,0x7a, + 0xc8,0xfb,0x91,0xb9,0xfe,0x34,0x11,0xff,0x0a,0xdd,0x82,0xfa,0x97,0xd8,0x27,0xfc, + 0x0f,0xdc,0x11,0x21,0xbb,0x10,0x6a,0xbb,0x61,0xdd,0x35,0xf5,0x5f,0xf4,0x32,0xcc, + 0x8f,0x55,0xbb,0x5f,0xf5,0x54,0x69,0xb3,0x36,0xd5,0x7c,0x00,0xe3,0xbc,0x3f,0xda, + 0x26,0xf1,0x03,0x7a,0x55,0xab,0xf2,0xde,0x75,0xbc,0x26,0x25,0xfe,0xa5,0x5d,0x86, + 0x0a,0xaf,0x6d,0x30,0x67,0x8e,0x83,0x27,0x02,0xd9,0xde,0x16,0xcb,0xd4,0xc3,0x81, + 0xd2,0x7a,0xeb,0x89,0xa6,0xb9,0x80,0x88,0xc8,0x6b,0x7d,0xb3,0xe9,0x8c,0x92,0xf4, + 0xff,0x9c,0x66,0x7b,0x84,0x12,0x4e,0x72,0x98,0xaf,0xf4,0xa8,0x1d,0x80,0x66,0x63, + 0x3e,0x04,0xb4,0x0e,0xa0,0xcd,0x16,0x1c,0xa8,0x28,0x81,0x3b,0xc9,0x11,0xb3,0xff, + 0x87,0x19,0x69,0x3f,0x41,0x5e,0xe6,0xcf,0xab,0xbd,0x72,0xfd,0xbc,0x43,0xae,0xca, + 0x57,0x20,0x0d,0x1a,0xeb,0x70,0x29,0xb2,0x4d,0xfd,0xa9,0x8d,0xfc,0xe7,0xe6,0x92, + 0x3a,0x79,0xa3,0x7d,0x79,0xe7,0x6e,0x81,0x3b,0x82,0xec,0x85,0x34,0xee,0x4f,0x2b, + 0x14,0xda,0xd4,0x92,0x41,0x9a,0xd2,0x1f,0x36,0xd7,0x88,0x67,0xf9,0x6c,0xfc,0xeb, + 0x8c,0x73,0xa0,0x3b,0x88,0x86,0x3e,0x7e,0x5f,0x1f,0xc2,0x1e,0x1c,0xdc,0x5e,0xb9, + 0xdc,0xda,0x8e,0xd0,0x7a,0x62,0x7f,0x1a,0xf5,0x5f,0x50,0x59,0xbd,0xa4,0x5d,0xee, + 0x84,0xb3,0xfa,0xfe,0x89,0x7c,0xb0,0x8a,0x06,0x84,0x85,0xfd,0xf8,0x53,0x85,0x6f, + 0xd6,0xc6,0x82,0x6b,0xea,0xbf,0xa8,0x11,0xe4,0x3a,0x05,0x63,0x8d,0x0f,0x1b,0xb4, + 0x3f,0x2c,0x16,0xf6,0xca,0x51,0x03,0x11,0x1f,0xff,0x10,0x05,0xd7,0xd4,0x7f,0x05, + 0xca,0x1a,0x69,0xbd,0x7f,0x98,0x37,0x32,0xf3,0xa3,0xf6,0xb9,0x01,0x5a,0x25,0xb4, + 0xbf,0x42,0xe2,0x3c,0x78,0x57,0x2f,0x08,0xd2,0xa8,0x27,0xc9,0x30,0xed,0x10,0x16, + 0xa3,0x76,0x53,0x63,0xdd,0x18,0x51,0x31,0x9d,0x0e,0x84,0x49,0x26,0x6d,0xf2,0xfb, + 0x50,0xfe,0x90,0x3b,0xd0,0x3e,0x55,0x1f,0xa6,0x79,0xfe,0xd4,0xfa,0xaf,0x9d,0xfe, + 0xaf,0x0f,0x53,0xce,0xd6,0xf5,0x12,0xe0,0x31,0xf4,0xfa,0x33,0x61,0x8d,0x96,0xef, + 0xa1,0x8f,0x90,0x5c,0xf5,0x89,0x40,0xbe,0x97,0xde,0x77,0x6d,0xfd,0x17,0x7b,0x68, + 0xcc,0xc9,0xb3,0x9d,0xaf,0xb2,0x2d,0x51,0x5a,0x21,0x4e,0x23,0xaf,0xb2,0xed,0x3e, + 0x67,0xb9,0x7c,0x37,0x9c,0x6c,0x2e,0x0d,0x39,0x87,0x53,0xeb,0xbf,0xe0,0x1c,0x54, + 0x46,0xf0,0x34,0x0d,0xa1,0xb5,0x5e,0x81,0x66,0xbe,0xcc,0x35,0x7e,0x85,0xb6,0x3e, + 0x6c,0xf4,0xf3,0xaa,0xe2,0xfa,0xcb,0x9c,0xff,0x7c,0x05,0x2e,0x07,0x77,0x8d,0x4e, + 0x7d,0x4b,0xac,0xac,0x3e,0x12,0x2c,0xf5,0x65,0x1a,0xf5,0x5f,0xc1,0x2a,0x9f,0xf5, + 0x82,0xf8,0x05,0x1c,0xc6,0x2b,0x36,0xde,0x1f,0xc4,0xec,0xff,0xd9,0xe9,0x2a,0xd0, + 0x03,0xf7,0xe7,0xdc,0x0b,0x6b,0xcb,0xf3,0xbd,0x75,0x0d,0x9e,0x93,0xd2,0x9a,0x50, + 0x31,0x97,0x3f,0xe7,0xd9,0x2a,0x57,0xfe,0x1d,0xf2,0x77,0x52,0xfb,0xc3,0xc2,0xcb, + 0x24,0x5f,0x77,0x78,0xed,0xd6,0x8c,0xd5,0xfc,0x98,0xf0,0xfc,0x9f,0x55,0xdc,0xd0, + 0x78,0xd8,0x7e,0x7c,0x3a,0x27,0xbc,0x96,0x3d,0xa4,0x9f,0x4d,0xac,0xbf,0x2f,0x77, + 0xc4,0xda,0xad,0x15,0x0e,0x52,0x2b,0xa9,0x55,0xda,0x21,0xa4,0x39,0xc2,0xbc,0xcd, + 0x25,0xee,0x40,0x87,0x8b,0x7c,0x28,0xf8,0x75,0xb5,0x5d,0xfe,0xad,0x89,0x7f,0x95, + 0xe7,0x3f,0x8f,0x45,0x6f,0xed,0xb7,0x86,0x9b,0x0a,0xe1,0x10,0x33,0xf8,0xe5,0x46, + 0xc8,0xab,0x3c,0x91,0x3e,0x8c,0xb0,0x10,0x35,0x8e,0xcf,0xf6,0x94,0x78,0x30,0xb5, + 0xfe,0x8b,0xce,0x7b,0xcd,0xb6,0x13,0x77,0xcb,0x30,0xad,0x7c,0x33,0x2b,0x68,0xd8, + 0x9b,0x06,0x3e,0x8c,0x36,0x5e,0xbc,0xb3,0x32,0xd6,0x68,0xcf,0x84,0x7f,0xd0,0xfa, + 0x29,0xd5,0xad,0xd1,0xa6,0xf3,0xda,0x9f,0xb8,0xff,0x64,0x34,0xa7,0x02,0x8e,0xaa, + 0xee,0xda,0x15,0xe7,0xc4,0x31,0x18,0x04,0xa3,0x51,0xac,0x6a,0xf2,0xff,0xfc,0x04, + 0xfc,0x8d,0x5b,0x75,0x4b,0xf3,0xc6,0x21,0xe5,0xa4,0xee,0x68,0xa0,0x27,0x88,0x0d, + 0xda,0x58,0x19,0x0f,0xf4,0x9c,0x91,0x02,0xba,0xbd,0xa1,0x6d,0xed,0x46,0x73,0xfd, + 0xfb,0x0a,0x08,0xb0,0x19,0x68,0x14,0xc0,0x10,0xb4,0xea,0x76,0x5f,0xc6,0x76,0x32, + 0x0b,0xda,0xf0,0xe0,0xd0,0x30,0x9c,0x56,0x51,0x70,0x21,0x10,0xba,0xa6,0xfe,0x8b, + 0xb1,0x65,0xba,0xc5,0xe5,0xe9,0x9f,0x14,0x84,0x22,0x25,0x4f,0xe1,0xc0,0x40,0x35, + 0x3c,0xf6,0x3a,0x6a,0x84,0x10,0xc8,0xa8,0x00,0x13,0xab,0xcf,0xeb,0xbf,0x22,0x30, + 0x57,0x5f,0xcb,0xc8,0x50,0x75,0x84,0x18,0xf1,0x17,0xd4,0x2f,0x0e,0x94,0x9f,0x1b, + 0x50,0x10,0x1d,0xe0,0x16,0xc1,0x46,0x31,0xa5,0xfe,0x4b,0x39,0xcf,0xd5,0x96,0x26, + 0x9e,0x67,0x23,0xb0,0xc0,0x28,0xfb,0x22,0x3c,0x83,0x7a,0xc9,0xb9,0xb8,0xc7,0xc3, + 0xd6,0xf8,0x3d,0x53,0xfc,0x2b,0x93,0xc7,0x4f,0xe7,0x46,0x6d,0x0d,0xe2,0x20,0x1d, + 0x81,0x2a,0x8a,0x62,0xf9,0x13,0xb6,0xbe,0xbf,0x52,0xb4,0xae,0x2c,0xa8,0x84,0x48, + 0x6f,0xe9,0xd9,0xcd,0x63,0x66,0xfe,0x9f,0xc0,0x6f,0xf3,0xe2,0x69,0xcf,0x1f,0xe7, + 0x06,0x06,0x4b,0x6e,0x40,0x43,0xec,0x92,0xde,0xaa,0x3a,0x07,0x2d,0x68,0x7b,0x19, + 0x08,0x27,0x2f,0x4c,0x4c,0xfc,0x87,0xd2,0x00,0xc4,0xd3,0x9e,0x5f,0x95,0x3a,0xc0, + 0x29,0xdd,0x09,0xd9,0x8b,0xa5,0x46,0xe2,0x5c,0xe8,0x70,0x79,0xac,0xb0,0x31,0xbf, + 0xf0,0x80,0xc5,0xbd,0xda,0xd4,0x1f,0x2d,0x6d,0x82,0xff,0x87,0x7c,0x0a,0xad,0x7d, + 0x25,0xae,0x3b,0x03,0x88,0x27,0x79,0xfc,0xcb,0xc2,0x03,0x61,0xbf,0x62,0x2a,0x0e, + 0xec,0x26,0xfe,0x43,0x89,0xf3,0xf3,0xcc,0xd3,0x8d,0x26,0xa4,0x5d,0xac,0x32,0x54, + 0xbc,0x0f,0xf7,0xcf,0x21,0xa1,0xf2,0x36,0x09,0x17,0x4a,0x7d,0x0b,0x77,0x54,0x51, + 0x98,0x24,0xf3,0xff,0x37,0x40,0x9c,0x0f,0x61,0xb4,0xe0,0x92,0x51,0x5f,0x99,0x15, + 0xce,0x19,0xa1,0x57,0xab,0xab,0x46,0x79,0xa0,0xd0,0xfb,0x89,0xf4,0x0a,0xee,0x10, + 0x39,0xd9,0x1f,0x76,0x14,0xe2,0x7c,0x0b,0x61,0x51,0x55,0x3f,0xf2,0x3d,0xdc,0xbe, + 0x36,0x54,0xb0,0x18,0xf5,0xbb,0xeb,0x38,0xae,0xff,0x4c,0x0d,0x15,0x7d,0x24,0x33, + 0x5c,0xf3,0x48,0x92,0x4f,0x46,0x8a,0xe7,0xc3,0x8f,0x66,0x3b,0xa0,0x15,0x96,0x05, + 0x69,0x07,0xcf,0x8f,0xaa,0xb3,0x47,0x33,0x15,0xf1,0x6e,0xa5,0x89,0x75,0x0c,0xd2, + 0x9d,0x1d,0x26,0xfc,0x33,0xc1,0x87,0xe0,0xba,0x87,0x82,0x7f,0xd0,0x8e,0x68,0x27, + 0x7d,0xc0,0xde,0x14,0x50,0x0f,0xe0,0x0e,0xc9,0x64,0x8d,0x93,0x43,0x83,0xd0,0xe3, + 0x9f,0x58,0x4d,0xc0,0x0d,0x1b,0xab,0xff,0x92,0x7f,0x8c,0x62,0x6d,0x55,0x30,0x5f, + 0xa5,0x8f,0x66,0x3f,0x0d,0xab,0x83,0xf9,0x51,0x71,0x8c,0xfc,0x8c,0xae,0x09,0x1a, + 0xc0,0xa0,0x32,0x31,0xbf,0x0e,0xb2,0xf4,0xcf,0xb8,0x18,0x71,0x89,0xc0,0xfc,0x4a, + 0xc8,0xe2,0xac,0x10,0x8f,0xf0,0xe7,0x8f,0x66,0xb9,0x44,0x2b,0x7b,0x75,0xb0,0x5b, + 0x77,0x6e,0x97,0xb3,0x93,0xfc,0x3f,0x13,0x7c,0x3e,0xe1,0x45,0xc3,0xe4,0x6d,0x9e, + 0xd6,0x1b,0xce,0x46,0x04,0x9e,0x6e,0x54,0xc0,0x0d,0xc0,0x45,0x95,0xaf,0x98,0x18, + 0x4c,0xd8,0x47,0x71,0xfe,0x9f,0x28,0x5e,0x0c,0x81,0x2e,0x18,0xfc,0x93,0xc5,0xec, + 0x10,0xcc,0xd3,0xa6,0x72,0x20,0xd4,0x1b,0xab,0xe8,0x4c,0xe5,0x7f,0xe6,0xf1,0xf4, + 0x48,0x03,0xc9,0x83,0x66,0xc9,0x88,0x7f,0xdd,0xe4,0x59,0x8f,0x40,0xa8,0xb8,0x81, + 0x6c,0x26,0x6b,0xe0,0x79,0x1e,0x61,0x4f,0xda,0xbf,0xf1,0xfc,0x67,0x0e,0x7b,0xfc, + 0xb0,0x1a,0xe1,0x8b,0x65,0x65,0xeb,0x34,0xb6,0x9e,0x15,0x9f,0xca,0x38,0xc1,0xfd, + 0x5d,0xb1,0x88,0x98,0x99,0xff,0x39,0xc6,0x37,0x95,0xe1,0x22,0x16,0xb4,0x67,0xed, + 0x21,0x79,0x3f,0xc7,0x57,0x5e,0x3c,0xa1,0x4a,0xf6,0x3a,0xad,0x69,0xb0,0x84,0x23, + 0xa2,0xa4,0xfc,0x89,0x48,0x5d,0x13,0x69,0xcf,0x7b,0xc8,0xeb,0xfa,0x8e,0x9e,0xac, + 0x21,0xd1,0x01,0xaf,0x6b,0x3f,0x7f,0x3e,0xa3,0xa3,0xe0,0x06,0x58,0x27,0xfd,0x53, + 0xac,0x22,0x3e,0x71,0x7f,0x88,0xe5,0x63,0x64,0x21,0xfe,0xf1,0x8d,0xe5,0x5d,0x21, + 0x36,0x56,0xd0,0xcb,0x25,0x92,0x62,0x63,0x35,0x51,0x36,0x26,0xcd,0xe3,0x16,0xba, + 0x89,0xff,0x19,0xe2,0xf5,0x3e,0x8a,0x51,0x1f,0x64,0xd7,0xaa,0x83,0x39,0xcb,0xc9, + 0x01,0xd6,0xbd,0x3c,0xf3,0x29,0xf1,0xcc,0xda,0x03,0x8e,0xaf,0xf8,0x7f,0x12,0xf5, + 0x5c,0xdc,0x9f,0x60,0xaf,0xab,0x33,0x80,0x90,0x66,0xbf,0x3f,0xb0,0x99,0x9c,0x81, + 0x46,0x66,0x28,0xe2,0x68,0x62,0x75,0xf2,0xa4,0x42,0x69,0xb7,0x54,0xa2,0x65,0x04, + 0xfd,0x9d,0xd0,0x22,0xbc,0x50,0x2b,0x6f,0x20,0xcb,0xd5,0x16,0xf5,0xb4,0x07,0x82, + 0x9e,0x21,0xf5,0x79,0x1e,0xaf,0x0f,0xda,0xcd,0xfc,0xcf,0x09,0xfe,0x9f,0x18,0x0c, + 0xb0,0x6c,0x22,0x69,0xd6,0x36,0xcd,0xc0,0x03,0xfd,0x96,0x17,0x8d,0xd0,0x18,0x24, + 0xe3,0xef,0x4b,0x33,0xa2,0x13,0xf9,0x27,0xf1,0x6a,0x77,0x10,0x35,0x88,0x08,0x2e, + 0x70,0x86,0x38,0x23,0x5f,0x9c,0xff,0x79,0x92,0x09,0xff,0x80,0xe1,0xff,0xc9,0x35, + 0x68,0x0f,0xe7,0x7a,0x33,0x8f,0x8b,0x1f,0xc0,0xef,0x48,0x95,0xf7,0x46,0xaf,0x78, + 0x12,0xfe,0x14,0x4b,0x7d,0x49,0xf6,0x87,0xcd,0xcb,0x4c,0xf2,0xff,0xb0,0x0f,0xd5, + 0xb9,0x8b,0xad,0xbf,0xaf,0x29,0x1c,0x1c,0xd7,0xaa,0xfe,0x6e,0xea,0xa0,0x38,0x07, + 0x0e,0x6b,0x88,0x18,0x37,0x88,0xd7,0xf0,0x1f,0xc6,0xca,0xde,0xf3,0x61,0xad,0x17, + 0xad,0xad,0x49,0xa8,0x9d,0xf6,0xa9,0x25,0x79,0x79,0xcc,0xc3,0x33,0x12,0x55,0x4a, + 0xfb,0x10,0x9f,0x4c,0x7c,0x5f,0x1f,0xcf,0x7f,0x26,0xc6,0xfb,0x7e,0x5b,0x7b,0x86, + 0x19,0x8e,0xa0,0x5c,0xe5,0x25,0x70,0x7e,0x93,0xf3,0x1f,0x42,0x8b,0xca,0x43,0x1b, + 0x24,0xc9,0x7f,0xd8,0x93,0xdb,0x69,0x8d,0xaf,0xff,0x1c,0xfa,0x18,0x94,0xd4,0xd1, + 0xa0,0x65,0x0e,0x2c,0x10,0x4a,0xbc,0x74,0x03,0x4f,0x84,0x68,0xdc,0xa2,0xd3,0x41, + 0x92,0xda,0x1f,0x36,0xfe,0xfc,0xff,0x05,0x3e,0xd4,0x66,0x78,0x9c,0x1b,0x63,0x0c, + 0xcf,0x8f,0x38,0xda,0xc5,0x19,0x9e,0x5e,0xc6,0xbf,0x6f,0x4e,0x0a,0xff,0x61,0x6c, + 0xbe,0x82,0xcb,0x62,0x64,0x3b,0x1b,0xfc,0x3f,0x3a,0xae,0x58,0xfb,0xa2,0xd8,0x52, + 0xcc,0x0a,0x12,0x13,0xff,0x21,0x84,0x92,0xeb,0xbf,0x96,0x94,0x11,0xa7,0x5f,0x54, + 0xbd,0x03,0x86,0xdb,0x27,0xe7,0x14,0x44,0x18,0xf7,0xc8,0x99,0xea,0xbf,0x68,0xb3, + 0x83,0x1a,0x65,0x5f,0xbc,0xa9,0x68,0x2b,0x14,0x84,0xa8,0x4a,0x8a,0x24,0x1c,0xf4, + 0xd8,0x56,0xe0,0xb6,0x6f,0xd5,0x4a,0x10,0x08,0x79,0x92,0xfa,0x25,0xce,0xc7,0xc2, + 0x32,0xb8,0xdb,0xd9,0x0f,0x33,0x7c,0x34,0x97,0xac,0x25,0x5b,0x99,0x1a,0x91,0x15, + 0xff,0x00,0x6b,0x14,0x9c,0xa7,0x10,0x08,0x91,0x84,0xfe,0x12,0xc0,0xc8,0xff,0x61, + 0x6d,0x2e,0x3c,0xbf,0x68,0x7f,0x79,0xa8,0xf7,0x8e,0xa7,0x26,0x3f,0xa7,0xe7,0xeb, + 0x16,0xaf,0xff,0x92,0xba,0x86,0x16,0xf7,0xd1,0x9f,0x78,0x68,0xc2,0xff,0x43,0xd9, + 0xd3,0xf0,0x25,0x5b,0x10,0xca,0xac,0x17,0x9f,0x4e,0x5f,0xcd,0xe6,0xfa,0xac,0x4b, + 0xf1,0x44,0x7e,0x8a,0xf8,0x47,0x5e,0x99,0xf3,0x07,0xf2,0x7a,0xf3,0x82,0xa8,0x75, + 0xcc,0x84,0x7f,0x12,0xf5,0x14,0x21,0x31,0x22,0x9d,0x8b,0x2d,0xec,0x0a,0x78,0x3b, + 0xa6,0xdf,0xfb,0x21,0x4e,0x8d,0x98,0xf4,0xff,0x68,0xd2,0x7e,0xef,0x55,0x56,0x15, + 0xb2,0x8d,0x15,0x4c,0x83,0x77,0x79,0x20,0x23,0x22,0xee,0xcf,0x38,0xec,0xaf,0x8a, + 0x66,0x9e,0x10,0xde,0x85,0x37,0x58,0x29,0xcf,0x7f,0x4e,0xca,0x87,0x17,0x60,0x6d, + 0xac,0xfe,0xa2,0xc1,0x82,0xcf,0xef,0x98,0x15,0xa1,0x0b,0xc9,0x0d,0x7d,0xff,0x53, + 0x9d,0x05,0x16,0x2f,0x39,0xe9,0x59,0xa3,0xe4,0x6b,0x8e,0x6f,0x92,0x24,0xfe,0x0c, + 0x29,0x9b,0x15,0x63,0xbe,0x8f,0x4c,0x45,0xf9,0x53,0xac,0xd3,0x6a,0xc4,0x3f,0xab, + 0x5b,0x71,0xf0,0x10,0x1a,0x1a,0xab,0xe9,0x33,0xb5,0x19,0x4b,0x49,0x7f,0x92,0xff, + 0x30,0x26,0x7f,0x78,0x37,0x79,0x94,0xe7,0xcc,0xb9,0x9d,0x12,0xb2,0x02,0xfc,0x21, + 0x67,0xde,0x42,0x17,0x39,0xaa,0xf8,0x99,0xc1,0x50,0x3a,0x68,0xfa,0xbe,0x46,0xbd, + 0x1b,0x6f,0xa2,0x3d,0x89,0xa7,0x05,0x7e,0xdb,0xc9,0xd1,0x4b,0x1b,0xab,0x3c,0x46, + 0xc3,0xe2,0xc1,0x3b,0x5e,0x65,0x6e,0x96,0x19,0x42,0x89,0x3d,0xf1,0xbe,0x0c,0xe2, + 0xeb,0xc3,0xd1,0xd1,0x87,0x3e,0xbe,0x3e,0x93,0x42,0x70,0x51,0xac,0xf4,0x66,0x05, + 0x6b,0x3e,0xd1,0x2e,0x6a,0x95,0x83,0xd3,0x3a,0x0b,0x3e,0x4c,0xf2,0x3f,0x1b,0xfa, + 0x6e,0x3e,0x07,0x39,0x73,0xd5,0xc3,0xbd,0x55,0x9a,0xed,0x06,0xf1,0xfb,0xf4,0x5d, + 0x98,0xdd,0x25,0x45,0x11,0x4f,0x1e,0xa1,0x3b,0x42,0xd6,0xe1,0x02,0x33,0xff,0xb3, + 0x51,0xbf,0xcc,0xb2,0x54,0x1e,0xcf,0xf2,0x95,0x9c,0x5a,0xd4,0xe3,0x2f,0x04,0x3f, + 0xb1,0x97,0x67,0x76,0xf9,0xff,0xa2,0xb4,0xe6,0xdb,0x07,0x11,0x51,0xab,0xbe,0x04, + 0xfe,0x89,0xcf,0xb7,0x84,0x2d,0x78,0x9a,0x84,0x92,0xd3,0x72,0x30,0x7d,0x85,0xf4, + 0x24,0xc2,0x80,0x85,0x46,0x3c,0x48,0xb1,0x07,0xea,0x9e,0x4d,0xc1,0x3f,0x99,0xc6, + 0xfa,0x58,0x5c,0xf8,0xc9,0x1b,0xf9,0x42,0x4d,0x26,0x0e,0xd6,0xc2,0x61,0x8f,0xcb, + 0x33,0x92,0xde,0x56,0xcd,0xeb,0x73,0x6f,0x30,0x77,0x38,0x59,0x11,0x6f,0x0a,0x2c, + 0xf2,0xfb,0xf3,0xb2,0xa3,0x9c,0x07,0xaa,0xdf,0x06,0xf7,0xf1,0x69,0x3c,0x03,0x0a, + 0x15,0x19,0x73,0x86,0xc4,0x24,0xff,0x21,0xfb,0x05,0xcf,0xff,0xa9,0x62,0x59,0x3e, + 0x83,0x2d,0x13,0x15,0xfd,0x0e,0x32,0xa2,0x21,0x6c,0x06,0x04,0x7e,0x97,0xe2,0x19, + 0xbf,0xe2,0xf0,0x8c,0x04,0xde,0x10,0x8c,0xfc,0xb1,0x08,0x8f,0xfe,0x04,0xfe,0xc4, + 0xe7,0xfb,0x44,0x17,0x8b,0x38,0x4a,0x79,0x7d,0xf7,0x97,0xc2,0x80,0xef,0xe7,0x2a, + 0x9a,0xba,0xd7,0xe4,0x3f,0xab,0xb3,0x3e,0x90,0x7b,0xee,0x89,0x6a,0x2d,0x3a,0x2a, + 0xfa,0x10,0xb7,0xbf,0x74,0xfb,0x23,0xbc,0x50,0xab,0x31,0x80,0x2b,0x26,0xaf,0x36, + 0xe1,0x1f,0x23,0xff,0x39,0xc3,0xd9,0x8b,0xf8,0x47,0x4f,0x67,0xda,0x0a,0x5d,0xce, + 0x27,0x19,0x92,0x1f,0x1c,0xf8,0xbe,0x08,0x6c,0x98,0x07,0x07,0x42,0x4a,0x7f,0xd8, + 0x38,0xfe,0xd9,0xc7,0x69,0x5d,0x01,0x81,0x56,0xa8,0xd5,0xa1,0xb6,0xd2,0xd3,0xc0, + 0xef,0x4f,0xda,0x78,0xe9,0xfd,0xbe,0x85,0xa6,0xfa,0xf7,0x5c,0xee,0xf4,0xab,0xea, + 0x5d,0x72,0xa2,0x66,0x54,0x3f,0x0a,0x55,0xf5,0xb6,0xa1,0x9c,0xd9,0x68,0xfa,0xef, + 0xd0,0x97,0xec,0xac,0x19,0x81,0x8c,0x96,0x79,0x74,0xc9,0xda,0x6f,0x25,0xf1,0xcf, + 0x29,0x16,0xc7,0x3f,0x83,0x1b,0x4f,0xc3,0x8b,0xfc,0x34,0x45,0x63,0xb4,0x12,0xb1, + 0xc6,0x79,0x97,0xe9,0xcd,0x11,0x9b,0x97,0x24,0xf1,0x8f,0x51,0xff,0x3e,0xa9,0xf2, + 0xd5,0xc5,0xc1,0x9a,0xa8,0x74,0x10,0xba,0xfb,0xad,0x85,0xe2,0x4c,0x38,0x58,0xed, + 0x66,0xce,0x55,0xb2,0x93,0x45,0x3c,0x06,0xff,0xbc,0x89,0xff,0x59,0x72,0x4a,0x7b, + 0x61,0xd6,0xa8,0x65,0x63,0xf6,0xfb,0x5a,0x2b,0xb8,0xcf,0xd3,0x17,0x48,0x11,0xf1, + 0x9f,0x28,0x63,0x74,0x95,0x25,0x83,0xb4,0x0c,0xe0,0xf3,0xff,0xda,0xf3,0x45,0xaa, + 0xff,0x07,0x50,0xc8,0x80,0x32,0x92,0xdd,0x08,0x85,0x51,0x5a,0x99,0xfd,0x75,0xd6, + 0x88,0x82,0x3a,0xa3,0x1c,0xcd,0xf6,0x0e,0xb6,0x42,0x91,0xcb,0x53,0xfb,0x5f,0x28, + 0xbb,0x1a,0x8b,0xa3,0xdf,0xf9,0x71,0xf6,0xbb,0xb0,0xaa,0x31,0xbf,0xcb,0xb1,0x92, + 0x5c,0xe7,0x5b,0x15,0x9a,0xee,0xa3,0xb7,0x91,0x4a,0xdf,0x33,0x9b,0x1e,0x50,0xe5, + 0xbf,0x23,0x97,0x12,0xf6,0x5d,0xbd,0x51,0xff,0x5e,0xd1,0x37,0x30,0x7b,0xc6,0x80, + 0xaa,0xc3,0xce,0x11,0xab,0x4b,0x74,0x6a,0xaf,0xb2,0x39,0xe0,0x9c,0x2e,0x5a,0xe1, + 0x74,0x2e,0x1a,0x56,0x45,0x4d,0xe6,0xfe,0x17,0x7c,0x7d,0x16,0x1c,0xb3,0x9d,0xfd, + 0xc6,0x25,0xb8,0xc4,0xaa,0x9a,0x6d,0x67,0xe5,0x4b,0xda,0x97,0x50,0x55,0x68,0xdb, + 0x22,0x9e,0x94,0xde,0xcb,0xae,0xf2,0xd8,0x46,0x6b,0x06,0x13,0xf8,0xa7,0x2b,0x0d, + 0xd1,0x94,0xe0,0x1e,0x5e,0x1c,0xcc,0x71,0x4a,0x87,0x84,0x6e,0x01,0x0f,0xa6,0xd1, + 0xd6,0x41,0xaf,0x08,0x8b,0xdb,0xc8,0x00,0x7b,0x38,0xb0,0x44,0x37,0xc7,0xbf,0x26, + 0x23,0xc8,0x91,0x6e,0x8d,0xdc,0xd5,0x90,0x3d,0x95,0xae,0xe1,0xd6,0x93,0xcb,0x50, + 0xc4,0xf9,0x3c,0xed,0xb9,0x02,0x0d,0xab,0xfb,0x9b,0x65,0x2f,0x49,0xf2,0x3f,0xeb, + 0xf0,0x34,0x59,0x6f,0x78,0x7b,0xfc,0xd3,0xe0,0x59,0x96,0xaf,0x22,0xda,0xf9,0x2e, + 0x87,0x3d,0x21,0xba,0x14,0x81,0x5f,0x88,0x47,0xc4,0x28,0x49,0xf2,0xbb,0xd6,0xe7, + 0x0e,0x20,0x5a,0x2e,0xec,0x6d,0x29,0xf7,0x5b,0xc1,0x1f,0x54,0xcb,0xf1,0xfe,0xbc, + 0x03,0x66,0x61,0x27,0xfd,0x25,0x1e,0xb4,0xc6,0x7c,0x35,0x2a,0x07,0x3d,0xdf,0xb9, + 0xa6,0xfe,0xdd,0xcd,0xac,0x43,0xb2,0xc3,0x7a,0x84,0x94,0x76,0xdb,0x42,0x72,0x3d, + 0x39,0x88,0x98,0x8b,0x7e,0x24,0xf6,0xb0,0x23,0x01,0x77,0x17,0xee,0x90,0x47,0xff, + 0x95,0xfe,0x17,0x05,0x3a,0xb9,0x64,0x0c,0x6e,0xd9,0x42,0x46,0xab,0x6f,0x83,0x9b, + 0x59,0xac,0x3f,0x2c,0xd8,0x56,0x35,0x6d,0x4c,0xfa,0x1f,0x94,0x58,0x34,0xc4,0xc6, + 0xdb,0x5e,0xf4,0x72,0x36,0xa4,0x20,0x99,0x6e,0x44,0xc4,0x16,0x6f,0x12,0x67,0xb0, + 0x03,0x52,0xa5,0x36,0x29,0x68,0xe2,0x7f,0x0e,0xc5,0xf2,0x7f,0x38,0x69,0x4f,0x21, + 0x31,0xd2,0x4e,0x14,0x92,0xc6,0x5a,0x96,0x75,0x68,0x81,0xa0,0x65,0x86,0xf0,0x96, + 0xb7,0xa4,0x7f,0x51,0xbb,0x45,0x15,0x26,0x3e,0x70,0xb9,0x81,0x97,0x78,0xd9,0xbb, + 0x65,0xba,0xf4,0x6b,0xb0,0x73,0x36,0xbf,0x9d,0x86,0xff,0xa7,0x2e,0x98,0x6d,0x48, + 0x24,0x4d,0xde,0xe0,0xbf,0x36,0xff,0xc7,0x28,0x7b,0x9f,0x82,0xab,0x1d,0xe2,0x85, + 0xf0,0xbf,0x20,0x86,0xff,0x27,0xdb,0x3f,0x09,0x1a,0x35,0xa7,0xd6,0x66,0xe6,0x7f, + 0xee,0xa1,0x6a,0xac,0xda,0x8b,0xc7,0xbf,0x06,0xd0,0xda,0x92,0x51,0xb5,0xa2,0x16, + 0x2f,0x05,0xa7,0xbf,0x46,0x25,0xad,0xbc,0xfe,0x91,0xd5,0xfc,0x36,0x05,0xff,0x7c, + 0x0e,0x15,0xde,0xf5,0xf7,0xd6,0xbc,0x06,0x67,0x79,0xfe,0xcf,0x26,0xf1,0xfb,0x30, + 0xee,0xa9,0xf0,0xde,0x7c,0x4f,0xd3,0xf9,0xf4,0x58,0x21,0x58,0x41,0x92,0xff,0xb9, + 0x3d,0xed,0x3c,0x39,0x00,0x55,0x1e,0xa7,0xb7,0xa9,0x2c,0x74,0xb8,0xab,0x74,0xa1, + 0x75,0xa9,0x58,0xc6,0x5e,0x63,0x55,0xf5,0xd6,0xe3,0x4d,0xb7,0xe2,0x79,0x44,0xfc, + 0xf0,0xa6,0x58,0x92,0x92,0xff,0x13,0x20,0x3c,0xfe,0x9e,0x9d,0xaf,0xb4,0x6a,0x45, + 0x79,0x56,0x46,0x42,0x10,0x50,0x50,0xad,0x77,0x58,0x54,0xd6,0xa3,0xd9,0x21,0xf3, + 0x19,0x3c,0x38,0x09,0x8b,0x21,0xad,0x5f,0x6a,0xcc,0xe0,0x6c,0xcf,0x45,0x92,0x8a, + 0x78,0xcf,0x43,0xaf,0xf3,0xa7,0xf1,0xfc,0xe7,0xda,0x99,0x8a,0x05,0x97,0xc2,0xf1, + 0x02,0xbe,0x78,0x6a,0xfc,0x0b,0x5a,0x48,0x89,0xee,0x08,0xfa,0x79,0xda,0x67,0x51, + 0xf5,0x9d,0x41,0xd2,0xc9,0x38,0x11,0x62,0x46,0xd0,0x52,0x58,0xb8,0xdb,0xf7,0x43, + 0x6f,0x46,0xd0,0x93,0x9e,0xfc,0x5e,0xb9,0x9d,0xb1,0x6e,0x26,0x41,0x79,0x0e,0x39, + 0xe0,0x31,0x68,0x7f,0x0a,0x11,0xdf,0x56,0x7a,0x33,0x37,0x89,0x5f,0x87,0x71,0xad, + 0x5c,0xb3,0xfe,0x5a,0x76,0x24,0xee,0xdf,0x6a,0xe0,0x1f,0x3c,0x74,0xd9,0x22,0x4f, + 0x14,0xdf,0xb7,0x1c,0xed,0xf7,0x33,0xbc,0xfe,0x5d,0xcb,0xba,0x41,0x3c,0xa3,0x9d, + 0x45,0x43,0xfb,0x9a,0xfe,0x17,0x06,0xfe,0x51,0x17,0x37,0xcb,0xc0,0x22,0x5a,0x37, + 0xb1,0x05,0x44,0x1f,0x44,0xa8,0x5b,0x71,0xae,0x96,0xf3,0x61,0x4c,0x35,0x3e,0x8d, + 0xc9,0xff,0xd3,0x4c,0x8d,0xb2,0x77,0xfa,0xa1,0x7f,0x3e,0xac,0x86,0x82,0xa0,0xfc, + 0x11,0x6f,0x0b,0x1b,0xca,0x37,0xfa,0xc3,0xc2,0x7e,0xcd,0x1f,0x90,0xa3,0x24,0xa9, + 0x5f,0x26,0xf2,0x9f,0x03,0x4a,0xb6,0xa5,0xd6,0x0f,0xaa,0x2a,0x77,0x91,0x07,0x35, + 0x56,0xab,0x32,0xb4,0xc7,0x25,0xc7,0x76,0x56,0x18,0x91,0xdb,0x37,0x26,0xf1,0x4f, + 0xbe,0x30,0x95,0xee,0x52,0x8b,0x07,0x03,0xde,0xec,0x3c,0xb6,0x1a,0xf2,0x15,0xde, + 0xb6,0x86,0x03,0xa1,0x46,0x3c,0xbf,0xb9,0x85,0x2f,0x69,0xd3,0x75,0xb9,0xf6,0x1a, + 0xff,0xcf,0x97,0xd1,0x8a,0xa8,0x73,0xa9,0x38,0x0f,0xfa,0xd8,0x6c,0x9f,0xad,0x5e, + 0x7c,0x98,0xf4,0xb3,0x70,0xc8,0xca,0xf3,0x7f,0xae,0xb0,0x97,0x78,0x22,0x90,0x25, + 0xc9,0xff,0x7c,0x53,0xcc,0xfe,0x9a,0x14,0x14,0x87,0x3d,0x7b,0x50,0xf1,0xdd,0xcc, + 0xf3,0x09,0x71,0x05,0xd8,0xdf,0x73,0xfe,0xc3,0x2b,0x30,0x6f,0xd0,0x16,0x2d,0x48, + 0xf5,0xff,0x5c,0x65,0x95,0x85,0xd6,0x95,0x35,0x2f,0x2c,0x3c,0xd2,0x58,0xb9,0xdc, + 0x39,0x26,0xfe,0x0c,0x06,0x98,0xa1,0xd6,0xa7,0x69,0x9f,0xb0,0x1f,0x9d,0xb7,0x9d, + 0x98,0x94,0x67,0x8a,0x7f,0x19,0xf6,0x97,0xc3,0xe1,0xf5,0xdc,0xc0,0x56,0xe7,0x95, + 0xd4,0xd3,0x51,0xf2,0x0b,0xce,0x3f,0xd6,0x4c,0x1f,0xc5,0x17,0xf9,0x9f,0x90,0xdf, + 0x28,0x6b,0xe9,0x49,0xfe,0xe7,0x0d,0x46,0xfc,0xcb,0x49,0x11,0xed,0xb4,0x6b,0xab, + 0xa1,0x38,0x92,0x81,0xaf,0x89,0xf3,0x55,0x96,0x61,0xcf,0x9e,0xa3,0x36,0xc3,0x74, + 0xad,0xcd,0x4b,0xfa,0x4d,0xfd,0x2f,0x06,0x14,0x5c,0x4f,0x81,0x0a,0xa4,0x8b,0xf8, + 0xf3,0x9d,0xbc,0x91,0x41,0x33,0xa2,0x96,0xd0,0xda,0x8c,0xb0,0x85,0xc2,0x53,0xac, + 0x10,0xe4,0x22,0x13,0xfe,0x71,0x4c,0xd9,0xa6,0x5c,0xc5,0xf7,0x5d,0xbc,0x29,0xa7, + 0x8b,0x1c,0xec,0xaf,0x1c,0xcc,0x0c,0x15,0x38,0x89,0x0e,0xee,0x60,0x31,0x5a,0xdc, + 0xf0,0x61,0xe0,0x65,0xc5,0xb6,0x59,0x4e,0xe2,0x9f,0xe0,0x44,0xfc,0x2b,0x28,0xfc, + 0x80,0x3b,0xca,0xd2,0xd1,0xcc,0xff,0x0d,0x19,0x33,0xda,0x5e,0x88,0x51,0x65,0xbc, + 0x6e,0x9e,0xba,0xa4,0x91,0x24,0xfb,0xbd,0x6e,0x88,0xe5,0x3f,0x37,0xd8,0x06,0xb7, + 0xd6,0xc3,0x11,0x69,0xb6,0x4e,0x4f,0x8b,0xcb,0xd1,0x7e,0x99,0xcd,0xa6,0xbe,0x25, + 0xba,0xd4,0xb7,0x61,0x6e,0xba,0x2d,0x4c,0xa2,0x26,0xfc,0xb3,0x02,0x5e,0x41,0xfb, + 0xa2,0x6d,0x9a,0x67,0x9e,0xd2,0xca,0x69,0x7c,0xc6,0xc8,0xd7,0x20,0x10,0xe9,0x60, + 0xb4,0xa7,0x48,0x24,0x5d,0xcc,0x9e,0xd7,0xb6,0xd6,0x3f,0xa4,0x99,0xf0,0x4f,0x4c, + 0x5f,0xb7,0x93,0x92,0xf4,0xa7,0xc0,0xbe,0xcc,0x12,0xc6,0xd3,0x19,0xe0,0x8d,0x57, + 0x42,0xe4,0x16,0xe9,0xc9,0x80,0x1d,0x7f,0x4a,0x8f,0xa6,0xf8,0x7f,0x70,0x7d,0x08, + 0xca,0x1f,0x28,0xf4,0x43,0xc8,0x52,0xc4,0x8f,0x21,0x53,0x1c,0xcc,0xe1,0x46,0x7b, + 0x24,0xc4,0x89,0x02,0x72,0x3d,0x49,0xfb,0x8b,0x51,0x03,0xff,0xd4,0xd9,0x82,0xb2, + 0xc3,0x7f,0x90,0xb8,0x4f,0x64,0x85,0x73,0x9c,0x24,0xa2,0xcd,0x63,0x14,0x0d,0x01, + 0xe9,0x2d,0xce,0xaf,0x8b,0x82,0x37,0x3d,0x19,0xff,0xba,0xa4,0xf0,0xf8,0xd7,0x12, + 0xc4,0x33,0x28,0x9d,0xab,0x5a,0x33,0x79,0x61,0xc5,0x65,0x75,0x2e,0xb3,0xed,0xe4, + 0x8a,0x9e,0xbc,0x02,0x36,0xbd,0x60,0xf8,0x1b,0x13,0xf2,0xc4,0xdc,0x8f,0x6f,0x8d, + 0xeb,0x3f,0x40,0x3f,0x3e,0xd3,0xfd,0x27,0xb9,0xfe,0x9a,0xfb,0x4f,0x64,0x0a,0x59, + 0x23,0xc6,0xa0,0xd4,0x9e,0xb8,0x02,0xb4,0xc9,0xad,0x0e,0xf0,0x9f,0x74,0xd3,0xfc, + 0xff,0xb7,0xfa,0x21,0xc6,0xff,0xa3,0xa5,0xe6,0x6b,0x3c,0xe3,0xec,0xda,0x79,0xff, + 0x4a,0x1b,0xc4,0xaf,0x7c,0x88,0xff,0x17,0xd7,0xff,0xdf,0xe8,0x87,0x08,0xc9,0x2b, + 0xda,0x57,0xfb,0x21,0x0e,0xf0,0xe4,0x1d,0x7d,0x8d,0x2b,0x3e,0x30,0xdf,0x3f,0x76, + 0x25,0x75,0xfd,0x1b,0xc1,0xa0,0x03,0x93,0x26,0x06,0xa6,0x85,0x8c,0x5d,0xb9,0x66, + 0xfd,0xf3,0xf9,0x6f,0xf1,0xa7,0xe5,0x03,0xd3,0xfa,0xc7,0xaf,0x24,0x17,0xc7,0xe8, + 0x87,0x38,0x60,0xac,0x7f,0x7c,0xb5,0x53,0xbe,0x7e,0xec,0xef,0xff,0xf6,0x43,0xfc, + 0xf7,0x07,0xff,0x5f,0x9e,0x4f,0x9a,0xa5,0xd8,0xa1,0xf3,0xa4,0x1e,0xcc,0x1f,0xfd, + 0x5b,0xe7,0x31,0x0d,0x0f,0x5d,0x5a,0x35,0x28,0xec,0xaf,0x3c,0x8f,0xab,0xf9,0xa6, + 0xf5,0x88,0x5f,0x39,0x86,0xf6,0x7f,0x4b,0x1e,0x5a,0x05,0x20,0x78,0x13,0x2d,0xf5, + 0xb6,0x3f,0xfa,0x37,0xe5,0xa1,0x85,0x97,0x28,0xdb,0x51,0x09,0x4d,0x88,0xc1,0xaf, + 0x0c,0x52,0xde,0xd7,0x70,0x3a,0x0a,0x54,0xf3,0x7f,0x55,0xb0,0x11,0x85,0x35,0x7f, + 0x55,0x1e,0x4a,0x2a,0xa5,0x44,0x04,0xfd,0xab,0x62,0xd0,0xaf,0xf0,0xbc,0x86,0xaf, + 0xca,0xc3,0xf8,0xac,0xaf,0xfc,0xfd,0x6b,0xf2,0x30,0x7b,0x8d,0x73,0x0b,0x0f,0x87, + 0x4f,0xed,0xc3,0xd5,0x1e,0x98,0x58,0xff,0x01,0xb3,0x3c,0x4c,0x91,0x27,0x30,0x49, + 0xc1,0xf5,0xf7,0xfc,0xf5,0xf2,0x70,0x8d,0x9a,0x0f,0xd6,0xea,0x49,0x7f,0xbd,0x3c, + 0x74,0x26,0x84,0xde,0x5f,0xd3,0x1f,0x56,0x45,0x63,0x02,0xac,0x35,0xa2,0x97,0xfd, + 0x75,0xfa,0x2e,0x9b,0xf0,0xf5,0x23,0x19,0xe0,0xf9,0xeb,0xf4,0x91,0xc2,0x45,0xa4, + 0x55,0x14,0x81,0xfd,0x95,0xfd,0x61,0x05,0xfe,0x70,0xe2,0xbf,0xba,0xfe,0x13,0x7f, + 0x66,0x79,0xc8,0x73,0x09,0xb4,0x7f,0x7b,0xea,0x35,0x7f,0x15,0x15,0x28,0x70,0x19, + 0x5c,0xb3,0xc4,0xd7,0xfe,0x99,0xe5,0x21,0x59,0x4a,0xfe,0xfa,0xdb,0xf3,0x3f,0x7c, + 0x21,0xf6,0xbf,0x31,0x3d,0x57,0xc8,0xce,0x77,0xfd,0xaf,0xa7,0x25,0xfe,0xfe,0xa3, + 0xc9,0x9f,0xff,0x60,0xf3,0x5f,0xab,0x16,0x1b,0xb4,0x93,0xca,0x5c,0xc8,0xec,0x35, + 0x06,0xff,0x3d,0x37,0xf3,0x35,0xf1,0xa1,0xea,0xfb,0xbc,0x73,0x8d,0x81,0x36,0xb5, + 0xe1,0x6b,0xd2,0x64,0x7d,0x76,0x62,0xfe,0xed,0xb5,0x69,0x0f,0x09,0xf7,0x69,0x7f, + 0xab,0x40,0xbf,0x31,0xf0,0x2a,0x53,0x8c,0x81,0xef,0x6f,0x71,0x20,0xe4,0x1b,0x3f, + 0xa5,0xe9,0xb3,0x27,0xf0,0x2a,0x34,0x7b,0x04,0x95,0xd5,0xa9,0xd9,0x14,0xfa,0x62, + 0x83,0x3c,0xc9,0x1f,0xbf,0x22,0xad,0x16,0xf2,0x63,0x03,0x96,0xfc,0xa0,0x0c,0x04, + 0x1f,0x2c,0x85,0xeb,0xe0,0x7f,0x32,0x63,0x70,0x2f,0x4d,0x5b,0x2d,0xdc,0xcf,0x96, + 0x6a,0xd7,0x29,0x69,0x78,0x45,0x58,0xaa,0x7d,0x1b,0xd2,0x12,0xe1,0x68,0x7c,0xfe, + 0xa5,0x69,0x65,0xc2,0x5d,0xec,0x5b,0xd5,0x52,0x20,0xed,0x61,0xe1,0x3e,0xfd,0x6f, + 0xd5,0x29,0x91,0xb4,0x87,0xe1,0x3e,0xf6,0xb7,0xce,0x29,0x07,0x85,0x7b,0x84,0xfb, + 0xd8,0xb7,0xd4,0x5c,0xd3,0xf3,0xbc,0xa6,0x69,0xaa,0x42,0x25,0x22,0x00,0xef,0xf0, + 0x99,0x07,0xe9,0x20,0x30,0x25,0x3e,0x58,0x25,0xf9,0x58,0xec,0x4a,0xf2,0x7d,0x5f, + 0xab,0x93,0x96,0x09,0x79,0xec,0x0e,0x80,0x80,0x64,0x17,0x28,0xf3,0xa8,0x4a,0x40, + 0xc2,0x53,0xce,0x07,0xcd,0x92,0x2a,0x50,0x3c,0xd7,0x8a,0x79,0xfe,0xc2,0xb4,0x7b, + 0x1a,0xef,0x0d,0xfd,0x0d,0x95,0x68,0x9a,0xa7,0xd1,0x3b,0x2a,0x39,0xa6,0x58,0xd2, + 0xb4,0x46,0x6f,0xe8,0xde,0xf2,0x29,0x62,0x9a,0xc6,0xbc,0xea,0x94,0xa9,0x53,0xb4, + 0xe4,0xf3,0xb0,0xa9,0xc2,0xdf,0xc2,0xdf,0xe8,0x53,0xbc,0xa8,0x06,0xf8,0x60,0x72, + 0x43,0xda,0x7d,0xc2,0xb7,0xd8,0xbd,0xfa,0x14,0x17,0x0e,0x44,0xc0,0x41,0xb9,0x94, + 0x30,0xbf,0x70,0x3e,0xae,0x1d,0x64,0x83,0x14,0x02,0xee,0xf4,0x50,0x34,0x81,0x8b, + 0xc0,0x1a,0x2e,0x0b,0x15,0x41,0x42,0xa8,0x85,0x6a,0x4a,0x81,0x6a,0xd3,0xfa,0xf8, + 0xb8,0xa3,0x1a,0xcd,0x0e,0x30,0x3c,0xd6,0x80,0x86,0xb2,0x1a,0xbf,0x42,0xd5,0xf4, + 0xf8,0x4f,0xd5,0xa6,0xf5,0xf1,0x66,0x2c,0x17,0xfe,0x0e,0xbe,0xad,0x15,0xb2,0xb4, + 0xe5,0x69,0x7c,0x30,0x25,0x98,0xe6,0x23,0x27,0xe0,0xdb,0x80,0x03,0x55,0x38,0x01, + 0xff,0x04,0x0b,0xcc,0xef,0xab,0x89,0xbc,0x51,0x6a,0x99,0x2a,0xb1,0xd8,0x80,0x87, + 0x32,0x96,0xe1,0x60,0x86,0x31,0x10,0x96,0xb2,0xeb,0xf0,0x7b,0x99,0xf6,0x8f,0x47, + 0x72,0xf5,0x5a,0xd5,0x1a,0x9a,0xe7,0x97,0x5c,0x8d,0x7c,0xa0,0xf4,0x49,0x2e,0xdd, + 0xaa,0x56,0x53,0xe5,0x55,0x88,0x5d,0xc9,0xd3,0x27,0x27,0x9e,0x07,0xb8,0xc4,0xb2, + 0xc6,0xe4,0x5b,0x7c,0xa0,0x4f,0x0c,0x22,0xb1,0x81,0xaa,0x99,0x36,0x35,0x23,0x82, + 0x4b,0x5f,0xac,0xe6,0x50,0xdc,0x66,0x2e,0xc6,0x07,0xb5,0x7d,0x82,0xab,0xd1,0xb8, + 0x72,0x90,0xff,0xe4,0xfa,0x96,0x53,0xd2,0x4d,0xeb,0xe3,0x49,0xf3,0x35,0x2e,0x55, + 0xbf,0x8d,0xf3,0xe3,0x83,0x29,0x38,0xe8,0x35,0x06,0x4d,0x82,0xda,0xbb,0xd4,0xf5, + 0x6d,0xeb,0x14,0xf3,0xfe,0xf1,0x18,0x2b,0x97,0x58,0xc2,0xf8,0x40,0x32,0x06,0x92, + 0xca,0xac,0xaa,0x48,0x85,0xd4,0xf7,0xf5,0x35,0xe6,0xa9,0x77,0xe0,0x47,0xc3,0xc1, + 0xf5,0xea,0x1d,0x74,0xb2,0x5f,0x5a,0x8e,0xaf,0x79,0x47,0xdd,0xe4,0x8d,0x92,0xca, + 0xdf,0xb7,0x2e,0x65,0xff,0xf8,0xd2,0x96,0x0a,0xdf,0x86,0xbf,0x61,0x69,0x3e,0x29, + 0x36,0x98,0x82,0x57,0xa4,0x3b,0xe0,0x76,0x3e,0xa0,0xc2,0x1d,0x30,0x99,0x49,0xa6, + 0xfd,0xd3,0x9b,0x2e,0x3c,0xc4,0xee,0xf5,0x4d,0x69,0x4f,0xbb,0x43,0xa8,0x66,0x5e, + 0x5f,0x6e,0x9e,0x90,0x8e,0x03,0x65,0x62,0xc0,0xaf,0xa4,0x25,0xcc,0x7d,0x3c,0x8f, + 0x5c,0x8d,0x50,0x54,0x01,0x4a,0x36,0x1e,0x81,0xea,0xd8,0x59,0x90,0x18,0x1e,0x8a, + 0x3a,0x89,0x5f,0xe1,0x83,0xdc,0xa4,0x7b,0x09,0x5e,0xbb,0x83,0x4c,0x66,0xcd,0xbe, + 0x7c,0x85,0xde,0x21,0x7e,0x93,0x1d,0xf7,0xdd,0x9a,0x97,0xc9,0x07,0xf7,0x1a,0x83, + 0x49,0xf1,0x2b,0xa6,0xe7,0x79,0x2d,0x3d,0xed,0xa1,0x46,0x94,0x06,0x79,0x53,0x5e, + 0x97,0x62,0x83,0xb4,0xd7,0x13,0x57,0x70,0x70,0xd2,0xf7,0xdf,0xf3,0xa6,0x98,0xe5, + 0xc9,0x1d,0xe2,0x43,0x6c,0xb3,0x6f,0x2e,0x4e,0x23,0x7c,0xf0,0xdf,0xf3,0x32,0x5e, + 0xc7,0x2b,0xf7,0xe1,0x95,0xcc,0xd7,0x27,0x3d,0xc4,0xa6,0xfa,0xbe,0x86,0xf3,0x27, + 0x9b,0xe6,0xc7,0xee,0xb6,0x94,0xa6,0xdc,0xd6,0x6a,0x0c,0x94,0xd9,0x38,0xa8,0xe1, + 0xf3,0x4d,0xfb,0x47,0x50,0x81,0x9f,0x98,0xb4,0x84,0xd8,0xe1,0x83,0xfb,0x8c,0x01, + 0xf0,0xc1,0xd7,0x50,0xfe,0x98,0x76,0x5b,0xfa,0x64,0x94,0x36,0xbe,0xeb,0xf2,0x62, + 0x62,0xc7,0xf7,0x6d,0x63,0xd0,0x18,0xbb,0x92,0x96,0xdf,0xc8,0xaf,0x4c,0x31,0xcd, + 0xbf,0x5d,0x4b,0x73,0x09,0x8b,0xc9,0xb7,0x40,0x62,0x69,0x0d,0xc2,0x7d,0xf0,0x35, + 0xc8,0xd5,0x8d,0xc1,0xdf,0xc2,0x14,0x1d,0x7f,0x8a,0x0d,0x92,0xcf,0x73,0xbb,0x69, + 0xff,0xa0,0xb4,0x51,0xa5,0x89,0x41,0x3a,0x15,0xf8,0xf3,0x18,0x03,0x66,0x7a,0xdf, + 0xf8,0xfe,0x31,0x76,0x57,0x23,0xff,0x87,0x93,0x63,0x03,0x0f,0x55,0xfc,0xf8,0x13, + 0x1f,0x78,0xcd,0xf3,0x6b,0xd2,0xbc,0xbd,0xf7,0xba,0xfe,0x86,0xae,0x22,0x5c,0xec, + 0xa8,0xb9,0xd6,0x29,0x1e,0x49,0x6b,0xf6,0xaa,0xf7,0xd2,0x29,0xa2,0xe0,0x45,0xf9, + 0x93,0x4b,0xd3,0xc0,0xb4,0x3e,0x62,0xbe,0x37,0x72,0xaf,0x6b,0x0a,0x95,0xf0,0x57, + 0xfd,0x5e,0x75,0x8a,0x35,0xad,0x86,0x0f,0x5c,0x38,0xf0,0xc4,0x06,0x34,0x4d,0x33, + 0xad,0x0f,0x68,0x9a,0xa2,0x48,0x92,0xa0,0xc4,0x24,0x1f,0x82,0xa6,0xf8,0x40,0x45, + 0x41,0x14,0x1b,0x4c,0x36,0xcd,0xbe,0x7d,0x21,0x21,0x8c,0x85,0xd4,0xba,0x76,0x3f, + 0x02,0x21,0xa6,0xaa,0x0e,0x4a,0x62,0x03,0x04,0x99,0xe9,0xf1,0x81,0xe9,0x79,0x6e, + 0xd7,0xb8,0x90,0x47,0x69,0x93,0x8b,0x27,0x40,0xe0,0x8a,0x60,0x0a,0x0e,0xc0,0x90, + 0x3f,0xfc,0x0a,0x97,0x3f,0x53,0x4c,0xef,0xbb,0x4a,0x13,0xf9,0xaf,0xd7,0xc1,0x49, + 0x26,0xc6,0xe4,0x4f,0x1a,0xcb,0xf6,0x49,0xf7,0xc5,0x04,0x91,0x0f,0x8c,0x2f,0x62, + 0xfe,0xbe,0x90,0xeb,0x12,0xb8,0xf4,0x60,0x4c,0xe2,0x03,0x14,0x9d,0x3a,0x0e,0xf2, + 0x8c,0x81,0xa2,0xe2,0xe0,0x8e,0x54,0x28,0x25,0xc5,0x84,0x8c,0x86,0x17,0x67,0x83, + 0x55,0xc3,0xc1,0x71,0x98,0x03,0x19,0x60,0x0c,0x0a,0x71,0x40,0xb4,0x94,0xf9,0x69, + 0xc2,0x6c,0x6d,0xb1,0x37,0x27,0xb8,0x69,0x15,0x1f,0x68,0x62,0xae,0xf4,0x9a,0x30, + 0xfb,0x76,0xbc,0x92,0x2b,0xbd,0x2e,0xcc,0xae,0x5e,0xec,0xfd,0x96,0x52,0x6b,0x9e, + 0xff,0xf5,0xb4,0xfa,0xde,0xef,0xb8,0xbe,0x1d,0x48,0xdb,0x8a,0x83,0x1b,0x5c,0xf7, + 0xac,0x9d,0xf2,0x5c,0xec,0xca,0xda,0x29,0x5b,0x85,0xf8,0xc0,0x3c,0x3f,0x23,0x06, + 0xf4,0xf9,0x7f,0xd4,0x48,0x6a,0xf4,0x19,0x4d,0xc5,0x8c,0xc7,0xd8,0x24,0xfd,0x2b, + 0xcf,0x03,0xcb,0x7d,0x93,0xf3,0xa4,0x3b,0x04,0x08,0xd4,0x72,0x45,0xe6,0x11,0x26, + 0x07,0xa4,0x65,0x93,0xf3,0x9a,0xef,0xc8,0x9f,0xcc,0x6a,0x27,0x06,0xe6,0xf9,0xb7, + 0x7b,0x27,0xdf,0x2b,0xdd,0x8e,0xa8,0x32,0xcd,0x3b,0x39,0x57,0xfa,0x1b,0x61,0x8a, + 0x76,0xbb,0x17,0xee,0x95,0xfe,0x06,0x26,0x6b,0x1f,0x78,0x5d,0xf7,0x4a,0x53,0xf0, + 0x8a,0x69,0x3a,0xcd,0xe7,0x7b,0x59,0xc1,0x2d,0xc9,0x83,0xc5,0xfe,0x5c,0x35,0xad, + 0x4e,0xf0,0x38,0x14,0x96,0x8b,0xba,0x31,0xff,0x1e,0xea,0x6d,0xcd,0x55,0x57,0x99, + 0x6f,0x6f,0x11,0x78,0x16,0x94,0xd7,0x21,0xf1,0x81,0x16,0x52,0x1c,0xca,0xc4,0x60, + 0xe2,0x8a,0xd3,0xec,0x7d,0x00,0x2b,0x9e,0xad,0x66,0xfd,0xfb,0xae,0xeb,0x17,0x8b, + 0xdf,0x82,0xe3,0x7d,0xb7,0xba,0xa8,0x31,0xd0,0x6f,0x75,0x65,0x2e,0x4e,0xcf,0x31, + 0x06,0x29,0xfb,0x33,0x23,0xed,0xe1,0xea,0xfb,0x82,0x1c,0x06,0x48,0x88,0x07,0xd8, + 0x37,0x62,0x78,0xe0,0x24,0xe3,0x57,0xa6,0x2f,0x13,0x4e,0xb2,0xff,0x5e,0xf8,0xa4, + 0x6e,0x9a,0x2f,0x7f,0xc7,0xf3,0x87,0xe0,0x4b,0x9d,0xc5,0x19,0xb7,0x2c,0xc4,0xc1, + 0xce,0xce,0xe2,0x3b,0xe5,0x7b,0x16,0x0e,0x6e,0x7c,0xa9,0xf0,0x37,0x19,0xb2,0x67, + 0xe1,0x71,0x63,0x60,0x7e,0x9e,0xf9,0x57,0xef,0xbe,0xfa,0xfb,0x57,0xce,0x7f,0x32, + 0x5e,0xf5,0x73,0x1c,0xec,0x3a,0xff,0x97,0xf1,0xf9,0x57,0x96,0xbc,0xf7,0xf8,0xd5, + 0xa1,0xcb,0xe3,0xf3,0x7f,0xb6,0xe4,0xaa,0x31,0x80,0xff,0x83,0xbf,0xca,0x27,0x33, + 0x66,0x78,0xee,0x0c,0x6e,0x5c,0x3e,0x7d,0xdc,0xf6,0x6c,0xcd,0xd5,0xe0,0xc6,0x9f, + 0x56,0xfe,0xf3,0x9d,0x3f,0x3f,0x76,0xe7,0xf9,0x27,0x2e,0x57,0x5d,0xbd,0xf3,0xeb, + 0x7c,0x30,0x64,0x9e,0x5f,0xf5,0xb3,0xbb,0xdf,0x7b,0x7c,0xd7,0xd0,0x27,0x13,0x8f, + 0xf1,0xc9,0xe5,0x89,0x07,0xc3,0xf9,0x77,0xbf,0x67,0x3c,0xa1,0x79,0x7e,0xc1,0xcf, + 0xea,0xde,0xdb,0x38,0x77,0x68,0xed,0xfd,0xf3,0xf9,0x3f,0xdc,0x3e,0xf4,0x18,0x3e, + 0xf6,0xdd,0xef,0xe6,0xf0,0x3b,0x14,0xe4,0xf1,0x41,0xf3,0xc8,0xfd,0xe6,0xf9,0x82, + 0xa7,0x41,0xdb,0xac,0x7c,0x3d,0x3b,0x43,0x8f,0x0d,0x72,0x33,0x5e,0x4b,0x6f,0xd0, + 0xa7,0x2a,0x93,0xa4,0x8c,0xd7,0x08,0xe2,0x43,0xbc,0x22,0x98,0xd7,0x53,0x8a,0xe1, + 0xc3,0xa9,0x71,0x7c,0xc8,0x61,0xe1,0xa4,0x87,0xe0,0x3e,0xed,0x6b,0x0a,0x17,0xd4, + 0x38,0xa8,0x41,0x7c,0x68,0x9a,0x2f,0x4e,0xe0,0x43,0x43,0x3e,0xbb,0x10,0xda,0xb0, + 0x24,0x3e,0xe4,0x83,0xaf,0x95,0xa7,0x9e,0xdf,0x18,0x6c,0x53,0x58,0x1c,0xbf,0x71, + 0xb1,0x79,0xbf,0x71,0x45,0x60,0x70,0xbf,0x94,0x47,0xd2,0x55,0xc1,0x3c,0x9b,0xfe, + 0xff,0xda,0x39,0xbf,0xd8,0x28,0x8a,0x38,0x8e,0xff,0xe6,0x6e,0xef,0xd8,0x2b,0x77, + 0x65,0xb7,0xbd,0xc2,0x15,0x9b,0x66,0x8f,0x2b,0x47,0xfd,0x13,0xdc,0x22,0xc5,0x1a, + 0x4c,0x3b,0xed,0xed,0xb5,0x47,0xd3,0xc2,0x81,0x80,0x40,0x8c,0xb9,0x2a,0x21,0xc6, + 0x27,0xd0,0x17,0xa3,0x41,0xf6,0xca,0x41,0x8c,0xd1,0xa4,0xa9,0x35,0x96,0x04,0xf5, + 0x30,0x6a,0x8c,0x81,0xf8,0xe0,0x9f,0x90,0x18,0x93,0x05,0x8d,0x48,0x34,0x29,0x0f, + 0xf0,0xa2,0x26,0x42,0xe4,0xc5,0xc4,0x84,0x3e,0x90,0x18,0x1f,0xea,0xf9,0x9b,0x99, + 0xbd,0xee,0x1e,0x44,0x88,0xc8,0xbe,0x98,0xf9,0x3e,0x7d,0xbb,0x37,0x37,0x3b,0x37, + 0xf3,0xbb,0xdf,0x7c,0x7e,0xdb,0xdd,0xb3,0x9e,0x23,0xf1,0xc9,0x5c,0x18,0xce,0x5b, + 0xeb,0x48,0x47,0x65,0xc4,0xd0,0xd9,0x43,0x35,0x1d,0x18,0x18,0xfa,0x0f,0x18,0x21, + 0x68,0x54,0xdd,0x69,0xec,0x3f,0xa5,0x56,0x42,0x7c,0x2b,0x84,0x94,0xc6,0x68,0xd0, + 0x32,0xc4,0x89,0xca,0xee,0xa9,0x89,0x7f,0x3c,0x2a,0x62,0x21,0x26,0x0d,0x0b,0xf9, + 0xf0,0x29,0xc6,0x87,0x25,0x6d,0x56,0xd9,0x27,0xcc,0x71,0x25,0x5b,0x8e,0x31,0xe3, + 0x6f,0xff,0xa0,0x32,0x5a,0x5e,0x5e,0xcd,0xdb,0xda,0x5a,0x65,0x4f,0xb9,0xa5,0x6a, + 0x7d,0xa4,0xdf,0x07,0x7b,0xce,0xa0,0x39,0xad,0xdf,0x8f,0x2f,0xa1,0x99,0xf5,0xe5, + 0x4f,0xd5,0x49,0x40,0x2b,0xdb,0x52,0x3e,0x83,0x31,0x4c,0x5a,0xc9,0x0b,0xb0,0x9e, + 0x8c,0x01,0xee,0x36,0x4e,0xa4,0x8f,0x8c,0x91,0x56,0x58,0xce,0x36,0x19,0xea,0xbd, + 0xc1,0x89,0x22,0x0b,0x22,0x0d,0x6e,0x85,0x0a,0x05,0xf6,0x98,0x20,0x25,0x1a,0x58, + 0x98,0xc5,0x94,0x22,0xd1,0xb4,0xa4,0xa2,0x33,0xe3,0xed,0xef,0xaa,0xc3,0xca,0x55, + 0xcc,0xc2,0x5d,0xe2,0x4a,0x81,0xc6,0x36,0xa4,0x10,0xcb,0x7a,0xac,0x30,0x6b,0x61, + 0x65,0x9f,0x01,0xd0,0xd0,0x5e,0x29,0x11,0x06,0xc9,0x3c,0xe3,0xa7,0xc8,0x10,0xe3, + 0x91,0x12,0x99,0x85,0x7d,0x68,0x22,0xcc,0x0c,0x43,0x8f,0xc7,0xf3,0x1a,0xa1,0x98, + 0xa1,0x66,0x21,0x6b,0x20,0x99,0x71,0x03,0x31,0x61,0xd6,0xa1,0x01,0x66,0xd6,0x00, + 0xae,0x60,0x5d,0x94,0xf1,0x21,0x87,0x22,0x38,0xec,0xe3,0x43,0xd7,0x70,0x3e,0x1c, + 0x56,0x1d,0x47,0x5f,0x7c,0x9e,0x11,0xfe,0x89,0x0f,0x43,0x7e,0xa3,0xd5,0x67,0x88, + 0x2a,0x43,0x60,0x72,0x48,0x83,0xaf,0xeb,0xe6,0xec,0xa2,0xd1,0x84,0xa1,0x1e,0x6f, + 0xd0,0xfa,0xfe,0x1b,0x87,0x49,0x77,0x23,0xd6,0x3d,0x13,0xe1,0x06,0x3f,0xf8,0xe2, + 0xfe,0x45,0x09,0xdf,0xdf,0xd3,0x37,0xf2,0xe1,0xe2,0x8e,0xcf,0x8d,0x17,0x0f,0x45, + 0x72,0xab,0xfe,0x71,0xa3,0xe7,0xc6,0x6b,0x4f,0xf3,0x14,0xd7,0x2f,0x09,0x79,0x28, + 0xd6,0x8d,0x7e,0xb3,0x19,0x5a,0x1c,0x4f,0x01,0x57,0x6a,0xd0,0x4e,0x96,0x96,0xb0, + 0x25,0xdb,0x8a,0x58,0xa8,0x20,0x16,0x7a,0x66,0x50,0x18,0x2f,0x7c,0x0a,0xec,0x96, + 0x12,0xbb,0xce,0x8b,0x36,0x56,0x18,0xa2,0x56,0x72,0x8b,0x26,0x43,0x18,0xf0,0x8d, + 0x67,0x27,0xd2,0x20,0xf2,0x61,0x11,0x76,0x22,0x28,0x5e,0xe2,0x58,0x18,0x22,0x2e, + 0x28,0x12,0xe4,0x43,0xda,0x9b,0x8a,0x50,0x6f,0x7f,0x27,0xc3,0x88,0x85,0x1d,0xa5, + 0x91,0x54,0xfb,0xb7,0xae,0xd1,0x3d,0x13,0xe5,0x66,0x57,0xbb,0xe3,0xf5,0x4f,0x86, + 0x39,0x16,0xae,0x41,0xba,0x23,0xc2,0xc4,0x58,0xb3,0x9f,0x27,0x98,0x01,0x71,0x24, + 0xe9,0x2c,0x5e,0x9e,0x28,0xd6,0xf9,0x30,0x05,0x47,0x49,0x4f,0xf9,0x89,0x09,0x86, + 0x85,0x4b,0x0e,0x94,0xc7,0x38,0x1f,0xb6,0x09,0x74,0xb4,0xce,0x7a,0xeb,0x05,0xec, + 0xb7,0x31,0x91,0x0f,0xa9,0x32,0x45,0x4a,0xf6,0x26,0x5e,0x8d,0x92,0x2e,0x7b,0x97, + 0xd1,0x52,0x50,0xa6,0x45,0x22,0x2a,0xe0,0x91,0xc5,0xf8,0xc1,0x00,0x9e,0xb0,0x53, + 0xa5,0xe8,0x6c,0xf1,0x43,0x34,0x2b,0x4b,0xd1,0x14,0x39,0x2a,0x8e,0xb8,0x66,0x22, + 0x9a,0xc2,0xf5,0xaa,0xb7,0x87,0x7c,0x49,0x79,0x21,0xdd,0xac,0xe6,0x70,0xcf,0x53, + 0xfa,0x48,0x27,0xe4,0x6c,0xed,0xb2,0xd2,0x07,0x9d,0x30,0x62,0xeb,0x97,0xf9,0x91, + 0x11,0x9b,0x38,0xbe,0xf8,0xd9,0x06,0xa5,0xcb,0x6a,0x5f,0x68,0x0c,0xde,0xc0,0x52, + 0xaf,0x5d,0x84,0x4d,0x17,0xc3,0xc2,0x02,0x99,0x16,0x7c,0x58,0xf0,0xe5,0x1f,0x1a, + 0x09,0x29,0xc6,0x09,0xce,0x87,0xaf,0x56,0x90,0x06,0xab,0x22,0x7e,0xec,0x06,0x3e, + 0xf4,0xc5,0x1b,0xcd,0x87,0x14,0x5a,0x4e,0x1a,0x79,0xfc,0x5e,0x28,0xc5,0xb2,0x86, + 0x46,0xcf,0x41,0xf1,0x88,0x66,0x58,0xaa,0x1e,0xe6,0x47,0x2c,0x95,0x80,0x6f,0x7e, + 0xb0,0xa4,0x74,0x92,0x66,0x24,0x6e,0x8f,0x1a,0xe0,0x24,0xab,0x24,0x4e,0xb0,0xbd, + 0xcd,0x8e,0x30,0xc3,0x5f,0x22,0xd4,0xfb,0xbe,0x60,0xd6,0x30,0x05,0x1f,0x02,0x0d, + 0x61,0xfe,0xe1,0xf5,0xa9,0xcb,0x87,0x6a,0x52,0x98,0x41,0x7f,0xfc,0x0c,0xad,0x6a, + 0x61,0x7c,0x98,0xb0,0x43,0x59,0xcc,0x43,0xab,0xd2,0xdd,0x6a,0x53,0x9d,0x0f,0xeb, + 0xc6,0xf6,0x8d,0x87,0xd0,0x0a,0xcf,0x3f,0x24,0x6d,0x1f,0x45,0xa3,0xf2,0x7a,0x88, + 0xa5,0x65,0x61,0xd8,0x4b,0xa1,0xdd,0xbe,0xcf,0x4b,0xe8,0x7b,0x7b,0xe1,0x18,0x64, + 0x07,0x63,0x53,0x93,0x25,0x38,0xd6,0x94,0x65,0xf7,0x67,0xb9,0x89,0xc8,0x35,0xa1, + 0x98,0xb7,0x5e,0x14,0xd7,0xab,0x8f,0x34,0xe3,0x32,0xd9,0x55,0xd7,0xb0,0xf5,0x6a, + 0x30,0x65,0xcd,0x5b,0xaf,0x22,0x7e,0xbc,0x47,0x9c,0xe6,0xfd,0xe1,0xe3,0xf6,0x07, + 0x86,0xc9,0x7e,0xdd,0x5e,0x81,0x2b,0xe0,0x9a,0x33,0x75,0xe3,0xcb,0x3f,0x98,0x59, + 0x7b,0x69,0xa2,0x18,0x2e,0x22,0x3d,0xf6,0xd0,0x04,0x0d,0x6f,0x87,0x4b,0x0c,0x2c, + 0x8b,0xe1,0x24,0x33,0x94,0x9b,0xb3,0xbe,0xf9,0xc9,0x29,0xa5,0xc1,0xd4,0x7e,0x5c, + 0xdf,0xc3,0x4a,0xe9,0x4c,0xca,0x1c,0x8e,0xeb,0x37,0x9b,0x86,0xf9,0x11,0x7c,0xc8, + 0x2e,0x46,0xf2,0x8b,0x85,0xec,0x8a,0x70,0xc3,0xe5,0xc3,0x86,0x4b,0x85,0x94,0x14, + 0x2c,0xc1,0x87,0x36,0xa7,0x41,0x34,0x3e,0x2c,0x64,0x66,0x26,0x97,0x6e,0xcc,0x3f, + 0xd6,0xf6,0xf6,0xb6,0x68,0x3e,0xa7,0x25,0xf7,0x32,0x3e,0xcc,0x63,0xc6,0xb1,0xb8, + 0xe1,0xf9,0x07,0xcd,0x20,0x1a,0x5f,0xfc,0xf0,0x48,0x0c,0xb9,0x29,0x50,0x9b,0x8c, + 0x18,0xa4,0xc0,0x62,0x6a,0x92,0x5f,0x3b,0xd9,0x26,0x0c,0xf8,0x84,0x10,0xe8,0x40, + 0x15,0xba,0xa1,0x09,0xf8,0xed,0xf2,0xc2,0xf8,0xf9,0xb0,0xbb,0x21,0xff,0x8c,0x87, + 0x1f,0xa3,0x95,0x0b,0xe9,0xf5,0xf6,0xf8,0xaa,0x56,0xfa,0x0d,0x1a,0x75,0x3c,0xd4, + 0x4a,0x2f,0x5e,0xe8,0x5d,0x9f,0x18,0x0f,0x85,0xb9,0x89,0xfb,0xc6,0x43,0x0a,0x15, + 0xdc,0xf4,0xa7,0x70,0xf7,0x3f,0xcf,0xf8,0x10,0x5c,0xc3,0x79,0xe0,0x3b,0xd7,0x24, + 0x1d,0xdf,0x78,0x38,0x16,0x32,0x3e,0x5c,0x3a,0x3a,0xea,0xe7,0xc3,0xf7,0xeb,0x7c, + 0xb8,0xb7,0x91,0x0f,0x39,0x7d,0x31,0x3e,0xdc,0x78,0x68,0x8b,0x9f,0x0f,0xaf,0xdf, + 0x25,0x3e,0xe4,0x58,0xf8,0xdb,0x54,0x6d,0x61,0xe0,0x4f,0x01,0x8a,0x07,0xbb,0xde, + 0x65,0x58,0x38,0xf5,0xd6,0xc2,0xea,0x9a,0x6b,0xfc,0xed,0xf9,0xd9,0xff,0xb8,0x8a, + 0xed,0xff,0x12,0xa0,0xb8,0xb0,0xf1,0x10,0xc3,0xc2,0xab,0xd7,0x16,0x36,0xd6,0x5c, + 0xd3,0xd0,0xbe,0xd3,0xe5,0xc3,0x4c,0xe7,0xe6,0x5f,0xa6,0x7b,0x90,0x0f,0x33,0x2f, + 0x6f,0x3e,0xc7,0x09,0x33,0xc3,0x51,0xb3,0x72,0xed,0x3f,0x8c,0xdf,0x04,0x83,0xb0, + 0xdb,0x33,0x4c,0xc8,0xc5,0xef,0xbc,0x17,0x29,0x29,0x29,0x29,0x29,0x29,0x29,0x29, + 0x29,0x29,0xa9,0xff,0xbb,0x78,0xed,0xa0,0xc8,0xda,0x41,0x4a,0x4a,0x4a,0x4a,0x4a, + 0x4a,0x4a,0x4a,0x4a,0x4a,0xea,0xd6,0xe2,0xb5,0x43,0x54,0xd6,0x0e,0x52,0x52,0x52, + 0x52,0x52,0x52,0x52,0x52,0x52,0x52,0x52,0xb7,0x16,0xaf,0x1d,0x54,0x5e,0x3b,0xe0, + 0x5f,0x91,0xbe,0x27,0x77,0xd3,0x81,0xfe,0x97,0x76,0x07,0x74,0xb6,0xee,0x73,0xf0, + 0x00,0xcd,0x58,0xd0,0x70,0x13,0xda,0x5d,0x94,0xd2,0xf4,0xcc,0x31,0x7b,0x69,0xdb, + 0x97,0x85,0x60,0xba,0x87,0x81,0x39,0x36,0x7e,0x0a,0x03,0x4e,0x30,0xfd,0x2b,0xc6, + 0xcc,0x09,0x67,0xe5,0xc5,0xd7,0x5f,0x09,0xa6,0x7b,0x30,0xe7,0xcc,0xdf,0x69,0x66, + 0xbf,0x63,0x3a,0xc1,0xf4,0x9f,0x78,0xf8,0xe0,0x11,0xa7,0xe3,0x93,0xa7,0xb7,0x04, + 0xd3,0x3d,0xce,0xbf,0x18,0x7f,0x50,0xf3,0x1f,0x5f,0x73,0xdc,0x86,0x47,0x57,0x54, + 0x83,0x9b,0xff,0x65,0x18,0x3f,0x5b,0x20,0xa8,0xf9,0x6f,0xce,0x9e,0x9e,0x87,0x7b, + 0x76,0x7c,0xbe,0x29,0x98,0xee,0x71,0xfe,0xc5,0xf8,0x03,0x8b,0xff,0xb5,0x6d,0x1f, + 0xd3,0xa5,0xcf,0xcf,0xa8,0xb7,0x6f,0x7a,0x47,0x32,0xe7,0x06,0x30,0x7e,0x0e,0x05, + 0x17,0xff,0x1a,0xd9,0x00,0xab,0x63,0xf7,0x06,0x17,0xff,0x62,0xfc,0x41,0xcd,0x7f, + 0x22,0x6d,0x0d,0xc3,0xba,0xeb,0xd9,0xa0,0xe2,0xc7,0xac,0x39,0x2c,0x7f,0x9a,0xf3, + 0x4e,0x30,0xfd,0x2b,0xea,0x81,0x37,0x9d,0x0d,0x9f,0xce,0x04,0x96,0xff,0xdd,0xf1, + 0xdf,0xfc,0xcb,0x04,0x77,0x47,0x4a,0x66,0xe6,0x94,0x93,0x59,0x31,0x1d,0x58,0xfe, + 0xa9,0xcd,0xb3,0xfc,0x39,0x1f,0xd4,0xfc,0x2f,0xeb,0xff,0xf5,0x9a,0xd3,0xfb,0xe3, + 0xe3,0x73,0xc1,0x74,0x8f,0xf3,0x2f,0xc6,0x1f,0xd8,0xfc,0xf7,0xbf,0xf6,0x8e,0xfd, + 0xd0,0x8a,0x93,0xb1,0xdb,0x37,0xbd,0x23,0x99,0xb5,0x39,0x96,0x3f,0x03,0x8b,0xff, + 0x68,0xe7,0xa9,0x67,0xed,0xec,0x57,0x3f,0x59,0xc1,0x74,0x8f,0xf3,0x2f,0xc6,0x1f, + 0xd8,0xfc,0xaf,0xde,0xf1,0x05,0x18,0x6d,0x6f,0x07,0x97,0x7f,0x6a,0x2c,0x7f,0x06, + 0x17,0xff,0x2b,0x23,0x69,0xda,0x7f,0x32,0xf1,0x7d,0x30,0xdd,0xb3,0x1f,0x39,0xe1, + 0xe3,0x0f,0x66,0xfe,0x4d,0xf6,0x7c,0x1c,0xbc,0xd8,0x6a,0x82,0xcd,0x9e,0x5a,0x09, + 0x9b,0x40,0xff,0xf5,0xff,0x13,0xdc,0xf7,0x46,0x4c,0xa8,0x12,0xaf,0xcf,0x2b,0x7b, + 0x6e,0x6c,0xf7,0x37,0xea,0xe7,0xba,0x8f,0xf0,0x33,0x01,0x00, diff --git a/board/esd/hh405/hh405.c b/board/esd/hh405/hh405.c index a3e935a..99fd556 100644 --- a/board/esd/hh405/hh405.c +++ b/board/esd/hh405/hh405.c @@ -5,6 +5,9 @@ * (C) Copyright 2005 * Stefan Roese, DENX Software Engineering, sr@denx.de. * + * (C) Copyright 2006 + * Matthias Fuchs, esd GmbH, matthias.fuchs@esd-electronics.com + * * See file CREDITS for list of people who contributed to this * project. * @@ -31,7 +34,6 @@ #include <pci.h> #include <sm501.h> - #ifdef CONFIG_VIDEO_SM501 #define SWAP32(x) ((((x) & 0x000000ff) << 24) | (((x) & 0x0000ff00) << 8)|\ @@ -66,10 +68,12 @@ static const SMI_REGS init_regs_800x600 [] = {0x00040, SWAP32(0x00021807)}, {0x00044, SWAP32(0x221a0a01)}, {0x00054, SWAP32(0x00000000)}, + /* GPIO */ + {0x1000c, SWAP32(0xfffffff0)}, /* GPIO32..63 direction */ /* panel control regs... */ {0x80000, SWAP32(0x0f013105)}, /* panel display control: 16-bit RGB 5:6:5 mode */ {0x80004, SWAP32(0xc428bb17)}, /* panel panning control ??? */ - {0x8000C, SWAP32(0x00000000)}, /* panel fb address */ + {0x8000C, SWAP32(0x00010000)}, /* panel fb address */ {0x80010, SWAP32(0x06400640)}, /* panel fb offset/window width */ {0x80014, SWAP32(0x03200000)}, /* panel fb width (0x320=800) */ {0x80018, SWAP32(0x02580000)}, /* panel fb height (0x258=600) */ @@ -100,10 +104,12 @@ static const SMI_REGS init_regs_1024x768 [] = {0x00040, SWAP32(0x00021807)}, {0x00044, SWAP32(0x011a0a01)}, {0x00054, SWAP32(0x00000000)}, + /* GPIO */ + {0x1000c, SWAP32(0xfffffff0)}, /* GPIO32..63 direction */ /* panel control regs... */ {0x80000, SWAP32(0x0f013105)}, /* panel display control: 16-bit RGB 5:6:5 mode */ {0x80004, SWAP32(0xc428bb17)}, /* panel panning control ??? */ - {0x8000C, SWAP32(0x00000000)}, /* panel fb address */ + {0x8000C, SWAP32(0x00010000)}, /* panel fb address */ {0x80010, SWAP32(0x08000800)}, /* panel fb offset/window width */ {0x80014, SWAP32(0x04000000)}, /* panel fb width (0x400=1024) */ {0x80018, SWAP32(0x03000000)}, /* panel fb height (0x300=768) */ @@ -144,10 +150,12 @@ static const SMI_REGS init_regs_800x600 [] = {0x00040, SWAP32(0x00021807)}, {0x00044, SWAP32(0x221a0a01)}, {0x00054, SWAP32(0x00000000)}, + /* GPIO */ + {0x1000c, SWAP32(0xfffffff0)}, /* GPIO32..63 direction */ /* panel control regs... */ {0x80000, SWAP32(0x0f013106)}, /* panel display control: 32-bit RGB 8:8:8 mode */ {0x80004, SWAP32(0xc428bb17)}, /* panel panning control ??? */ - {0x8000C, SWAP32(0x00000000)}, /* panel fb address */ + {0x8000C, SWAP32(0x00010000)}, /* panel fb address */ {0x80010, SWAP32(0x0c800c80)}, /* panel fb offset/window width */ {0x80014, SWAP32(0x03200000)}, /* panel fb width (0x320=800) */ {0x80018, SWAP32(0x02580000)}, /* panel fb height (0x258=600) */ @@ -178,10 +186,12 @@ static const SMI_REGS init_regs_1024x768 [] = {0x00040, SWAP32(0x00021807)}, {0x00044, SWAP32(0x011a0a01)}, {0x00054, SWAP32(0x00000000)}, + /* GPIO */ + {0x1000c, SWAP32(0xfffffff0)}, /* GPIO32..63 direction */ /* panel control regs... */ {0x80000, SWAP32(0x0f013106)}, /* panel display control: 32-bit RGB 8:8:8 mode */ {0x80004, SWAP32(0xc428bb17)}, /* panel panning control ??? */ - {0x8000C, SWAP32(0x00000000)}, /* panel fb address */ + {0x8000C, SWAP32(0x00010000)}, /* panel fb address */ {0x80010, SWAP32(0x10001000)}, /* panel fb offset/window width */ {0x80014, SWAP32(0x04000000)}, /* panel fb width (0x400=1024) */ {0x80018, SWAP32(0x03000000)}, /* panel fb height (0x300=768) */ @@ -272,6 +282,9 @@ au_image_t au_image[] = { int N_AU_IMAGES = (sizeof(au_image) / sizeof(au_image[0])); +/* + * Get version of HH405 board from GPIO's + */ int board_revision(void) { unsigned long osrh_reg; @@ -280,10 +293,6 @@ int board_revision(void) unsigned long value; /* - * Get version of HH405 board from GPIO's - */ - - /* * Setup GPIO pins (BLAST/GPIO0 and GPIO9 as GPIO) */ osrh_reg = in32(GPIO0_OSRH); @@ -305,15 +314,13 @@ int board_revision(void) if (value & 0x80000000) { /* Revision 1.0 or 1.1 detected */ - return 0x0101; + return 1; } else { if (value & 0x00400000) { /* unused */ - return 0x0103; + return 3; } else { - /* Revision >= 2.0 detected */ - /* rev. 2.x uses four SM501 GPIOs for revision coding */ - return 0x0200; + return 2; } } } @@ -349,6 +356,38 @@ int board_early_init_f (void) return 0; } +int cf_enable(void) +{ + DECLARE_GLOBAL_DATA_PTR; + + int i; + + volatile unsigned short *fpga_ctrl = + (unsigned short *)((ulong)CFG_FPGA_BASE_ADDR + CFG_FPGA_CTRL); + volatile unsigned short *fpga_status = + (unsigned short *)((ulong)CFG_FPGA_BASE_ADDR + CFG_FPGA_CTRL + 2); + + if (gd->board_type >= 2) { + if (*fpga_status & CFG_FPGA_STATUS_CF_DETECT) { + if (!(*fpga_ctrl & CFG_FPGA_CTRL_CF_BUS_EN)) { + *fpga_ctrl &= ~CFG_FPGA_CTRL_CF_PWRN; + + for (i=0; i<300; i++) + udelay(1000); + + *fpga_ctrl |= CFG_FPGA_CTRL_CF_BUS_EN; + + for (i=0; i<20; i++) + udelay(1000); + } + } else { + *fpga_ctrl &= ~CFG_FPGA_CTRL_CF_BUS_EN; + *fpga_ctrl |= CFG_FPGA_CTRL_CF_PWRN; + } + } + + return 0; +} int misc_init_r (void) { @@ -433,9 +472,6 @@ int misc_init_r (void) * Write Board revision into FPGA */ *fpga_ctrl |= gd->board_type & 0x0003; - if (gd->board_type >= 0x0200) { - *fpga_ctrl |= CFG_FPGA_CTRL_CF_BUS_EN; - } /* * Setup and enable EEPROM write protection @@ -471,7 +507,7 @@ int misc_init_r (void) contrast0 = simple_strtol(str, NULL, 16); if (contrast0 > 255) { printf("ERROR: contrast0 value too high (0x%lx)!\n", contrast0); - contrast0 = 0; + contrast0 = 0xffffffff; } } @@ -544,9 +580,9 @@ int misc_init_r (void) */ *fpga_ctrl |= CFG_FPGA_CTRL_VGA0_BL | CFG_FPGA_CTRL_VGA0_BL_MODE; /* - * Set lcd clock (small epson) + * Set lcd clock (small epson), enable 1-wire interface */ - *fpga_ctrl |= LCD_CLK_08330; + *fpga_ctrl |= LCD_CLK_08330 | CFG_FPGA_CTRL_OW_ENABLE; lcd_setup(0, 1); lcd_init((uchar *)CFG_LCD_SMALL_REG, (uchar *)CFG_LCD_SMALL_MEM, @@ -565,8 +601,10 @@ int misc_init_r (void) puts("VGA: SM501 with 8 MB "); if (strcmp(str, "ppc221") == 0) { printf("(800*600, %dbpp)\n", BPP); + *lcd_backlight = 0x002d; /* max. allowed brightness */ } else if (strcmp(str, "ppc231") == 0) { printf("(1024*768, %dbpp)\n", BPP); + *lcd_backlight = 0x0000; } else { printf("Unsupported bd_type defined (%s) -> No display configured!\n", str); return 0; @@ -578,6 +616,8 @@ int misc_init_r (void) #endif /* CONFIG_VIDEO_SM501 */ } + cf_enable(); + return (0); } @@ -608,14 +648,7 @@ int checkboard (void) } gd->board_type = board_revision(); - printf(", Rev %ld.%ld)\n", - (gd->board_type >> 8) & 0xff, - gd->board_type & 0xff); - - /* - * Disable sleep mode in LXT971 - */ - lxt971_no_sleep(); + printf(", Rev %ld.x)\n", gd->board_type); return 0; } @@ -637,28 +670,27 @@ long int initdram (int board_type) } -int testdram (void) -{ - /* TODO: XXX XXX XXX */ - printf ("test: 16 MB - ok\n"); - - return (0); -} - - #ifdef CONFIG_IDE_RESET void ide_set_reset(int on) { + DECLARE_GLOBAL_DATA_PTR; + volatile unsigned short *fpga_mode = (unsigned short *)((ulong)CFG_FPGA_BASE_ADDR + CFG_FPGA_CTRL); + volatile unsigned short *fpga_status = + (unsigned short *)((ulong)CFG_FPGA_BASE_ADDR + CFG_FPGA_CTRL + 2); - /* - * Assert or deassert CompactFlash Reset Pin - */ - if (on) { /* assert RESET */ - *fpga_mode &= ~(CFG_FPGA_CTRL_CF_RESET); - } else { /* release RESET */ - *fpga_mode |= CFG_FPGA_CTRL_CF_RESET; + if (((gd->board_type >= 2) && (*fpga_status & CFG_FPGA_STATUS_CF_DETECT)) || + (gd->board_type < 2)) { + /* + * Assert or deassert CompactFlash Reset Pin + */ + if (on) { /* assert RESET */ + cf_enable(); + *fpga_mode &= ~(CFG_FPGA_CTRL_CF_RESET); + } else { /* release RESET */ + *fpga_mode |= CFG_FPGA_CTRL_CF_RESET; + } } } #endif /* CONFIG_IDE_RESET */ @@ -778,8 +810,7 @@ void video_get_info_str (int line_number, char *info) strcat(str, " (Missing bd_type!"); } - sprintf(str2, ", Rev %ld.%ld)", - (gd->board_type >> 8) & 0xff, gd->board_type & 0xff); + sprintf(str2, ", Rev %ld.x)", gd->board_type); strcat(str, str2); strcpy(info, str); } else { @@ -822,7 +853,11 @@ unsigned int board_video_get_fb (void) devbusfn = pci_find_device(PCI_VENDOR_SM, PCI_DEVICE_SM501, 0); if (devbusfn != -1) { pci_read_config_dword(devbusfn, PCI_BASE_ADDRESS_0, (u32 *)&addr); - return (addr & 0xfffffffe); + addr &= 0xfffffffe; +#ifdef CONFIG_VIDEO_SM501_FBMEM_OFFSET + addr += CONFIG_VIDEO_SM501_FBMEM_OFFSET; +#endif + return addr; } return 0; @@ -875,3 +910,15 @@ int board_get_height (void) } #endif /* CONFIG_VIDEO_SM501 */ + + +void reset_phy(void) +{ +#ifdef CONFIG_LXT971_NO_SLEEP + + /* + * Disable sleep mode in LXT971 + */ + lxt971_no_sleep(); +#endif +} diff --git a/board/esd/hub405/config.mk b/board/esd/hub405/config.mk index 22ff122..4c60c35 100644 --- a/board/esd/hub405/config.mk +++ b/board/esd/hub405/config.mk @@ -29,4 +29,3 @@ TEXT_BASE = 0xFFFC0000 # Compile the legacy NAND code (CFG_NAND_LEGACY must be defined) BOARDLIBS = drivers/nand_legacy/libnand_legacy.a - diff --git a/board/mcc200/Makefile b/board/mcc200/Makefile new file mode 100644 index 0000000..7fdc088 --- /dev/null +++ b/board/mcc200/Makefile @@ -0,0 +1,46 @@ +# +# (C) Copyright 2003-2006 +# Wolfgang Denk, DENX Software Engineering, wd@denx.de. +# +# See file CREDITS for list of people who contributed to this +# project. +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, +# MA 02111-1307 USA +# + +include $(TOPDIR)/config.mk + +LIB = lib$(BOARD).a + +OBJS := $(BOARD).o + +$(LIB): $(OBJS) $(SOBJS) + $(AR) crv $@ $(OBJS) + +clean: + rm -f $(SOBJS) $(OBJS) + +distclean: clean + rm -f $(LIB) core *.bak .depend + +######################################################################### + +.depend: Makefile $(SOBJS:.o=.S) $(OBJS:.o=.c) + $(CC) -M $(CPPFLAGS) $(SOBJS:.o=.S) $(OBJS:.o=.c) > $@ + +-include .depend + +######################################################################### diff --git a/board/mcc200/config.mk b/board/mcc200/config.mk new file mode 100644 index 0000000..fa55673 --- /dev/null +++ b/board/mcc200/config.mk @@ -0,0 +1,43 @@ +# +# (C) Copyright 2003-2006 +# Wolfgang Denk, DENX Software Engineering, wd@denx.de. +# +# See file CREDITS for list of people who contributed to this +# project. +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, +# MA 02111-1307 USA +# + +# +# MCC200 board: +# +# Valid values for TEXT_BASE are: +# +# 0xFFF00000 boot high (standard configuration) +# 0xFE000000 boot low +# 0x00100000 boot from RAM (for testing only) +# + +sinclude $(TOPDIR)/board/$(BOARDDIR)/config.tmp + +ifndef TEXT_BASE +## Standard: boot high +TEXT_BASE = 0xFFF00000 +## For testing: boot from RAM +# TEXT_BASE = 0x00100000 +endif + +PLATFORM_CPPFLAGS += -DTEXT_BASE=$(TEXT_BASE) -I$(TOPDIR)/board diff --git a/board/mcc200/mcc200.c b/board/mcc200/mcc200.c new file mode 100644 index 0000000..d1c99fd --- /dev/null +++ b/board/mcc200/mcc200.c @@ -0,0 +1,276 @@ +/* + * (C) Copyright 2003-2006 + * Wolfgang Denk, DENX Software Engineering, wd@denx.de. + * + * (C) Copyright 2004 + * Mark Jonas, Freescale Semiconductor, mark.jonas@motorola.com. + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ + +#include <common.h> +#include <mpc5xxx.h> +#include <pci.h> + +#include "mt48lc8m32b2-6-7.h" + +extern flash_info_t flash_info[]; /* FLASH chips info */ + +ulong flash_get_size (ulong base, int banknum); + +#ifndef CFG_RAMBOOT +static void sdram_start (int hi_addr) +{ + long hi_addr_bit = hi_addr ? 0x01000000 : 0; + + /* unlock mode register */ + *(vu_long *)MPC5XXX_SDRAM_CTRL = SDRAM_CONTROL | 0x80000000 | hi_addr_bit; + __asm__ volatile ("sync"); + + /* precharge all banks */ + *(vu_long *)MPC5XXX_SDRAM_CTRL = SDRAM_CONTROL | 0x80000002 | hi_addr_bit; + __asm__ volatile ("sync"); + +#if SDRAM_DDR + /* set mode register: extended mode */ + *(vu_long *)MPC5XXX_SDRAM_MODE = SDRAM_EMODE; + __asm__ volatile ("sync"); + + /* set mode register: reset DLL */ + *(vu_long *)MPC5XXX_SDRAM_MODE = SDRAM_MODE | 0x04000000; + __asm__ volatile ("sync"); +#endif + + /* precharge all banks */ + *(vu_long *)MPC5XXX_SDRAM_CTRL = SDRAM_CONTROL | 0x80000002 | hi_addr_bit; + __asm__ volatile ("sync"); + + /* auto refresh */ + *(vu_long *)MPC5XXX_SDRAM_CTRL = SDRAM_CONTROL | 0x80000004 | hi_addr_bit; + __asm__ volatile ("sync"); + + /* set mode register */ + *(vu_long *)MPC5XXX_SDRAM_MODE = SDRAM_MODE; + __asm__ volatile ("sync"); + + /* normal operation */ + *(vu_long *)MPC5XXX_SDRAM_CTRL = SDRAM_CONTROL | hi_addr_bit; + __asm__ volatile ("sync"); +} +#endif + +/* + * ATTENTION: Although partially referenced initdram does NOT make real use + * use of CFG_SDRAM_BASE. The code does not work if CFG_SDRAM_BASE + * is something else than 0x00000000. + */ + +long int initdram (int board_type) +{ + ulong dramsize = 0; + ulong dramsize2 = 0; +#ifndef CFG_RAMBOOT + ulong test1, test2; + + /* setup SDRAM chip selects */ + *(vu_long *)MPC5XXX_SDRAM_CS0CFG = 0x0000001e;/* 2G at 0x0 */ + *(vu_long *)MPC5XXX_SDRAM_CS1CFG = 0x80000000;/* disabled */ + __asm__ volatile ("sync"); + + /* setup config registers */ + *(vu_long *)MPC5XXX_SDRAM_CONFIG1 = SDRAM_CONFIG1; + *(vu_long *)MPC5XXX_SDRAM_CONFIG2 = SDRAM_CONFIG2; + __asm__ volatile ("sync"); + +#if SDRAM_DDR + /* set tap delay */ + *(vu_long *)MPC5XXX_CDM_PORCFG = SDRAM_TAPDELAY; + __asm__ volatile ("sync"); +#endif + + /* find RAM size using SDRAM CS0 only */ + sdram_start(0); + test1 = get_ram_size((long *)CFG_SDRAM_BASE, 0x80000000); + sdram_start(1); + test2 = get_ram_size((long *)CFG_SDRAM_BASE, 0x80000000); + if (test1 > test2) { + sdram_start(0); + dramsize = test1; + } else { + dramsize = test2; + } + + /* memory smaller than 1MB is impossible */ + if (dramsize < (1 << 20)) { + dramsize = 0; + } + + /* set SDRAM CS0 size according to the amount of RAM found */ + if (dramsize > 0) { + *(vu_long *)MPC5XXX_SDRAM_CS0CFG = 0x13 + __builtin_ffs(dramsize >> 20) - 1; + } else { + *(vu_long *)MPC5XXX_SDRAM_CS0CFG = 0; /* disabled */ + } + + /* let SDRAM CS1 start right after CS0 */ + *(vu_long *)MPC5XXX_SDRAM_CS1CFG = dramsize + 0x0000001e;/* 2G */ + + /* find RAM size using SDRAM CS1 only */ + if (!dramsize) + sdram_start(0); + test2 = test1 = get_ram_size((long *)(CFG_SDRAM_BASE + dramsize), 0x80000000); + if (!dramsize) { + sdram_start(1); + test2 = get_ram_size((long *)(CFG_SDRAM_BASE + dramsize), 0x80000000); + } + if (test1 > test2) { + sdram_start(0); + dramsize2 = test1; + } else { + dramsize2 = test2; + } + + /* memory smaller than 1MB is impossible */ + if (dramsize2 < (1 << 20)) { + dramsize2 = 0; + } + + /* set SDRAM CS1 size according to the amount of RAM found */ + if (dramsize2 > 0) { + *(vu_long *)MPC5XXX_SDRAM_CS1CFG = dramsize + | (0x13 + __builtin_ffs(dramsize2 >> 20) - 1); + } else { + *(vu_long *)MPC5XXX_SDRAM_CS1CFG = dramsize; /* disabled */ + } + +#else /* CFG_RAMBOOT */ + + /* retrieve size of memory connected to SDRAM CS0 */ + dramsize = *(vu_long *)MPC5XXX_SDRAM_CS0CFG & 0xFF; + if (dramsize >= 0x13) { + dramsize = (1 << (dramsize - 0x13)) << 20; + } else { + dramsize = 0; + } + + /* retrieve size of memory connected to SDRAM CS1 */ + dramsize2 = *(vu_long *)MPC5XXX_SDRAM_CS1CFG & 0xFF; + if (dramsize2 >= 0x13) { + dramsize2 = (1 << (dramsize2 - 0x13)) << 20; + } else { + dramsize2 = 0; + } + +#endif /* CFG_RAMBOOT */ + + return dramsize + dramsize2; +} + +int checkboard (void) +{ + puts ("Board: MCC200\n"); + return 0; +} + +int misc_init_r (void) +{ + DECLARE_GLOBAL_DATA_PTR; + + /* + * Adjust flash start and offset to detected values + */ + gd->bd->bi_flashstart = 0 - gd->bd->bi_flashsize; + gd->bd->bi_flashoffset = 0; + + /* + * Check if boot FLASH isn't max size + */ + if (gd->bd->bi_flashsize < (0 - CFG_FLASH_BASE)) { + /* adjust mapping */ + *(vu_long *)MPC5XXX_BOOTCS_START = *(vu_long *)MPC5XXX_CS0_START = + START_REG(gd->bd->bi_flashstart); + *(vu_long *)MPC5XXX_BOOTCS_STOP = *(vu_long *)MPC5XXX_CS0_STOP = + STOP_REG(gd->bd->bi_flashstart, gd->bd->bi_flashsize); + + /* + * Re-check to get correct base address + */ + flash_get_size(gd->bd->bi_flashstart, CFG_MAX_FLASH_BANKS - 1); + + /* + * Re-do flash protection upon new addresses + */ + flash_protect (FLAG_PROTECT_CLEAR, + gd->bd->bi_flashstart, 0xffffffff, + &flash_info[CFG_MAX_FLASH_BANKS - 1]); + + /* Monitor protection ON by default */ + flash_protect (FLAG_PROTECT_SET, + CFG_MONITOR_BASE, CFG_MONITOR_BASE + monitor_flash_len - 1, + &flash_info[CFG_MAX_FLASH_BANKS - 1]); + + /* Environment protection ON by default */ + flash_protect (FLAG_PROTECT_SET, + CFG_ENV_ADDR, + CFG_ENV_ADDR + CFG_ENV_SECT_SIZE - 1, + &flash_info[CFG_MAX_FLASH_BANKS - 1]); + + /* Redundant environment protection ON by default */ + flash_protect (FLAG_PROTECT_SET, + CFG_ENV_ADDR_REDUND, + CFG_ENV_ADDR_REDUND + CFG_ENV_SIZE_REDUND - 1, + &flash_info[CFG_MAX_FLASH_BANKS - 1]); + } + + return (0); +} + +#ifdef CONFIG_PCI +static struct pci_controller hose; + +extern void pci_mpc5xxx_init(struct pci_controller *); + +void pci_init_board(void) +{ + pci_mpc5xxx_init(&hose); +} +#endif + +#if defined (CFG_CMD_IDE) && defined (CONFIG_IDE_RESET) + +void init_ide_reset (void) +{ + debug ("init_ide_reset\n"); + +} + +void ide_set_reset (int idereset) +{ + debug ("ide_reset(%d)\n", idereset); + +} +#endif /* defined (CFG_CMD_IDE) && defined (CONFIG_IDE_RESET) */ + +#if (CONFIG_COMMANDS & CFG_CMD_DOC) +extern void doc_probe (ulong physadr); +void doc_init (void) +{ + doc_probe (CFG_DOC_BASE); +} +#endif diff --git a/board/mcc200/mt46v16m16-75.h b/board/mcc200/mt46v16m16-75.h new file mode 100644 index 0000000..f650faa --- /dev/null +++ b/board/mcc200/mt46v16m16-75.h @@ -0,0 +1,37 @@ +/* + * (C) Copyright 2004 + * Mark Jonas, Freescale Semiconductor, mark.jonas@motorola.com. + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ + +#define SDRAM_DDR 1 /* is DDR */ + +#if defined(CONFIG_MPC5200) +/* Settings for XLB = 132 MHz */ +#define SDRAM_MODE 0x018D0000 +#define SDRAM_EMODE 0x40090000 +#define SDRAM_CONTROL 0x714f0f00 +#define SDRAM_CONFIG1 0x73722930 +#define SDRAM_CONFIG2 0x47770000 +#define SDRAM_TAPDELAY 0x10000000 + +#else +#error CONFIG_MPC5200 not defined +#endif diff --git a/board/mcc200/mt48lc16m16a2-75.h b/board/mcc200/mt48lc16m16a2-75.h new file mode 100644 index 0000000..ffdf039 --- /dev/null +++ b/board/mcc200/mt48lc16m16a2-75.h @@ -0,0 +1,43 @@ +/* + * (C) Copyright 2004 + * Mark Jonas, Freescale Semiconductor, mark.jonas@motorola.com. + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ + +#define SDRAM_DDR 0 /* is SDR */ + +#if defined(CONFIG_MPC5200) +/* Settings for XLB = 132 MHz */ +#define SDRAM_MODE 0x00CD0000 +#define SDRAM_CONTROL 0x504F0000 +#define SDRAM_CONFIG1 0xD2322800 +#define SDRAM_CONFIG2 0x8AD70000 + +#elif defined(CONFIG_MGT5100) +/* Settings for XLB = 66 MHz */ +#define SDRAM_MODE 0x008D0000 +#define SDRAM_CONTROL 0x504F0000 +#define SDRAM_CONFIG1 0xC2222600 +#define SDRAM_CONFIG2 0x88B70004 +#define SDRAM_ADDRSEL 0x02000000 + +#else +#error Neither CONFIG_MPC5200 or CONFIG_MGT5100 defined +#endif diff --git a/board/mcc200/mt48lc8m32b2-6-7.h b/board/mcc200/mt48lc8m32b2-6-7.h new file mode 100644 index 0000000..13aebbd --- /dev/null +++ b/board/mcc200/mt48lc8m32b2-6-7.h @@ -0,0 +1,12 @@ +/* + * Configuration Registers for the MT48LC8M32B2 SDRAM on the MPC5200 platform + */ + +#define SDRAM_DDR 0 /* is SDR */ + +/* Settings for XLB = 132 MHz */ + +#define SDRAM_MODE 0x008d0000 /* CL-3 BURST-8 -> Mode Register MBAR + 0x0100 */ +#define SDRAM_CONTROL 0x504f0000 /* Control Register MBAR + 0x0104 */ +#define SDRAM_CONFIG1 0xc2222900 /* Delays between commands -> Configuration Register 1 MBAR + 0x0108 */ +#define SDRAM_CONFIG2 0x88c70000 /* Delays between commands -> Configuration Register 2 MBAR + 0x010C */ diff --git a/board/mcc200/u-boot.lds b/board/mcc200/u-boot.lds new file mode 100644 index 0000000..4fdea6b --- /dev/null +++ b/board/mcc200/u-boot.lds @@ -0,0 +1,125 @@ +/* + * (C) Copyright 2003-2006 + * Wolfgang Denk, DENX Software Engineering, wd@denx.de. + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ + +OUTPUT_ARCH(powerpc) +SEARCH_DIR(/lib); SEARCH_DIR(/usr/lib); SEARCH_DIR(/usr/local/lib); SEARCH_DIR(/usr/local/powerpc-any-elf/lib); +/* Do we need any of these for elf? + __DYNAMIC = 0; */ +SECTIONS +{ + /* Read-only sections, merged into text segment: */ + . = + SIZEOF_HEADERS; + .interp : { *(.interp) } + .hash : { *(.hash) } + .dynsym : { *(.dynsym) } + .dynstr : { *(.dynstr) } + .rel.text : { *(.rel.text) } + .rela.text : { *(.rela.text) } + .rel.data : { *(.rel.data) } + .rela.data : { *(.rela.data) } + .rel.rodata : { *(.rel.rodata) } + .rela.rodata : { *(.rela.rodata) } + .rel.got : { *(.rel.got) } + .rela.got : { *(.rela.got) } + .rel.ctors : { *(.rel.ctors) } + .rela.ctors : { *(.rela.ctors) } + .rel.dtors : { *(.rel.dtors) } + .rela.dtors : { *(.rela.dtors) } + .rel.bss : { *(.rel.bss) } + .rela.bss : { *(.rela.bss) } + .rel.plt : { *(.rel.plt) } + .rela.plt : { *(.rela.plt) } + .init : { *(.init) } + .plt : { *(.plt) } + .text : + { + cpu/mpc5xxx/start.o (.text) + *(.text) + *(.fixup) + *(.got1) + . = ALIGN(16); + *(.rodata) + *(.rodata1) + *(.rodata.str1.4) + *(.eh_frame) + } + .fini : { *(.fini) } =0 + .ctors : { *(.ctors) } + .dtors : { *(.dtors) } + + /* Read-write section, merged into data segment: */ + . = (. + 0x0FFF) & 0xFFFFF000; + _erotext = .; + PROVIDE (erotext = .); + .reloc : + { + *(.got) + _GOT2_TABLE_ = .; + *(.got2) + _FIXUP_TABLE_ = .; + *(.fixup) + } + __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >> 2; + __fixup_entries = (. - _FIXUP_TABLE_) >> 2; + + .data : + { + *(.data) + *(.data1) + *(.sdata) + *(.sdata2) + *(.dynamic) + CONSTRUCTORS + } + _edata = .; + PROVIDE (edata = .); + + . = .; + __u_boot_cmd_start = .; + .u_boot_cmd : { *(.u_boot_cmd) } + __u_boot_cmd_end = .; + + + . = .; + __start___ex_table = .; + __ex_table : { *(__ex_table) } + __stop___ex_table = .; + + . = ALIGN(4096); + __init_begin = .; + .text.init : { *(.text.init) } + .data.init : { *(.data.init) } + . = ALIGN(4096); + __init_end = .; + + __bss_start = .; + .bss : + { + *(.sbss) *(.scommon) + *(.dynbss) + *(.bss) + *(COMMON) + } + _end = . ; + PROVIDE (end = .); +} diff --git a/board/netstar/config.mk b/board/netstar/config.mk index 2e3921b..50d647a 100644 --- a/board/netstar/config.mk +++ b/board/netstar/config.mk @@ -12,4 +12,3 @@ TEXT_BASE = 0x13FC0000 # Compile the new NAND code BOARDLIBS = drivers/nand/libnand.a - diff --git a/board/netta2/config.mk b/board/netta2/config.mk index 4b636ed..de179c2 100644 --- a/board/netta2/config.mk +++ b/board/netta2/config.mk @@ -29,4 +29,3 @@ TEXT_BASE = 0x40000000 # Compile the legacy NAND code (CFG_NAND_LEGACY must be defined) BOARDLIBS = drivers/nand_legacy/libnand_legacy.a - diff --git a/board/tqm85xx/tqm85xx.c b/board/tqm85xx/tqm85xx.c index 13ea6f4..c03b60d 100644 --- a/board/tqm85xx/tqm85xx.c +++ b/board/tqm85xx/tqm85xx.c @@ -296,7 +296,7 @@ int misc_init_r (void) /* Monitor protection ON by default */ flash_protect (FLAG_PROTECT_SET, - CFG_MONITOR_BASE, 0xffffffff, + CFG_MONITOR_BASE, CFG_MONITOR_BASE + monitor_flash_len - 1, &flash_info[CFG_MAX_FLASH_BANKS - 1]); /* Environment protection ON by default */ diff --git a/board/zylonite/Makefile b/board/zylonite/Makefile new file mode 100644 index 0000000..999647f --- /dev/null +++ b/board/zylonite/Makefile @@ -0,0 +1,48 @@ + +# +# (C) Copyright 2000 +# Wolfgang Denk, DENX Software Engineering, wd@denx.de. +# +# See file CREDITS for list of people who contributed to this +# project. +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, +# MA 02111-1307 USA +# + +include $(TOPDIR)/config.mk + +LIB = lib$(BOARD).a + +OBJS := zylonite.o flash.o +SOBJS := lowlevel_init.o + +$(LIB): $(OBJS) $(SOBJS) + $(AR) crv $@ $(OBJS) $(SOBJS) + +clean: + rm -f $(SOBJS) $(OBJS) + +distclean: clean + rm -f $(LIB) core *.bak .depend + +######################################################################### + +.depend: Makefile $(SOBJS:.o=.S) $(OBJS:.o=.c) + $(CC) -M $(CPPFLAGS) $(SOBJS:.o=.S) $(OBJS:.o=.c) > $@ + +-include .depend + +######################################################################### diff --git a/board/zylonite/config.mk b/board/zylonite/config.mk new file mode 100644 index 0000000..09b0f71 --- /dev/null +++ b/board/zylonite/config.mk @@ -0,0 +1,4 @@ +#TEXT_BASE = 0x0 +#TEXT_BASE = 0xa1700000 +#TEXT_BASE = 0xa3080000 +TEXT_BASE = 0xa3008000 diff --git a/board/zylonite/flash.c b/board/zylonite/flash.c new file mode 100644 index 0000000..883c1ba --- /dev/null +++ b/board/zylonite/flash.c @@ -0,0 +1,434 @@ +/* + * (C) Copyright 2001 + * Kyle Harris, Nexus Technologies, Inc. kharris@nexus-tech.net + * + * (C) Copyright 2001 + * Wolfgang Denk, DENX Software Engineering, wd@denx.de. + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ + +#include <common.h> +#include <linux/byteorder/swab.h> + + +flash_info_t flash_info[CFG_MAX_FLASH_BANKS]; /* info for FLASH chips */ + +/* Board support for 1 or 2 flash devices */ +#define FLASH_PORT_WIDTH32 +#undef FLASH_PORT_WIDTH16 + +#ifdef FLASH_PORT_WIDTH16 +#define FLASH_PORT_WIDTH ushort +#define FLASH_PORT_WIDTHV vu_short +#define SWAP(x) __swab16(x) +#else +#define FLASH_PORT_WIDTH ulong +#define FLASH_PORT_WIDTHV vu_long +#define SWAP(x) __swab32(x) +#endif + +#define FPW FLASH_PORT_WIDTH +#define FPWV FLASH_PORT_WIDTHV + +#define mb() __asm__ __volatile__ ("" : : : "memory") + +/*----------------------------------------------------------------------- + * Functions + */ +static ulong flash_get_size (FPW *addr, flash_info_t *info); +static int write_data (flash_info_t *info, ulong dest, FPW data); +static void flash_get_offsets (ulong base, flash_info_t *info); +void inline spin_wheel (void); + +/*----------------------------------------------------------------------- + */ + +unsigned long flash_init (void) +{ +#if 0 + int i; + ulong size = 0; + + for (i = 0; i < CFG_MAX_FLASH_BANKS; i++) { + switch (i) { + case 0: + flash_get_size ((FPW *) PHYS_FLASH_1, &flash_info[i]); + flash_get_offsets (PHYS_FLASH_1, &flash_info[i]); + break; + case 1: + flash_get_size ((FPW *) PHYS_FLASH_2, &flash_info[i]); + flash_get_offsets (PHYS_FLASH_2, &flash_info[i]); + break; + default: + panic ("configured too many flash banks!\n"); + break; + } + size += flash_info[i].size; + } + + /* Protect monitor and environment sectors + */ + flash_protect ( FLAG_PROTECT_SET, + CFG_FLASH_BASE, + CFG_FLASH_BASE + monitor_flash_len - 1, + &flash_info[0] ); + + flash_protect ( FLAG_PROTECT_SET, + CFG_ENV_ADDR, + CFG_ENV_ADDR + CFG_ENV_SIZE - 1, &flash_info[0] ); + + return size; +#endif + return 0; +} + +/*----------------------------------------------------------------------- + */ +static void flash_get_offsets (ulong base, flash_info_t *info) +{ + int i; + + if (info->flash_id == FLASH_UNKNOWN) { + return; + } + + if ((info->flash_id & FLASH_VENDMASK) == FLASH_MAN_INTEL) { + for (i = 0; i < info->sector_count; i++) { + info->start[i] = base + (i * PHYS_FLASH_SECT_SIZE); + info->protect[i] = 0; + } + } +} + +/*----------------------------------------------------------------------- + */ +void flash_print_info (flash_info_t *info) +{ + int i; + + if (info->flash_id == FLASH_UNKNOWN) { + printf ("missing or unknown FLASH type\n"); + return; + } + + switch (info->flash_id & FLASH_VENDMASK) { + case FLASH_MAN_INTEL: + printf ("INTEL "); + break; + default: + printf ("Unknown Vendor "); + break; + } + + switch (info->flash_id & FLASH_TYPEMASK) { + case FLASH_28F128J3A: + printf ("28F128J3A\n"); + break; + default: + printf ("Unknown Chip Type\n"); + break; + } + + printf (" Size: %ld MB in %d Sectors\n", + info->size >> 20, info->sector_count); + + printf (" Sector Start Addresses:"); + for (i = 0; i < info->sector_count; ++i) { + if ((i % 5) == 0) + printf ("\n "); + printf (" %08lX%s", + info->start[i], + info->protect[i] ? " (RO)" : " "); + } + printf ("\n"); + return; +} + +/* + * The following code cannot be run from FLASH! + */ +static ulong flash_get_size (FPW *addr, flash_info_t *info) +{ + volatile FPW value; + + /* Write auto select command: read Manufacturer ID */ + addr[0x5555] = (FPW) 0x00AA00AA; + addr[0x2AAA] = (FPW) 0x00550055; + addr[0x5555] = (FPW) 0x00900090; + + mb (); + value = addr[0]; + + switch (value) { + + case (FPW) INTEL_MANUFACT: + info->flash_id = FLASH_MAN_INTEL; + break; + + default: + info->flash_id = FLASH_UNKNOWN; + info->sector_count = 0; + info->size = 0; + addr[0] = (FPW) 0x00FF00FF; /* restore read mode */ + return (0); /* no or unknown flash */ + } + + mb (); + value = addr[1]; /* device ID */ + + switch (value) { + + case (FPW) INTEL_ID_28F128J3A: + info->flash_id += FLASH_28F128J3A; + info->sector_count = 128; + info->size = 0x02000000; + break; /* => 16 MB */ + + default: + info->flash_id = FLASH_UNKNOWN; + break; + } + + if (info->sector_count > CFG_MAX_FLASH_SECT) { + printf ("** ERROR: sector count %d > max (%d) **\n", + info->sector_count, CFG_MAX_FLASH_SECT); + info->sector_count = CFG_MAX_FLASH_SECT; + } + + addr[0] = (FPW) 0x00FF00FF; /* restore read mode */ + + return (info->size); +} + + +/*----------------------------------------------------------------------- + */ + +int flash_erase (flash_info_t *info, int s_first, int s_last) +{ + int flag, prot, sect; + ulong type, start, last; + int rcode = 0; + + if ((s_first < 0) || (s_first > s_last)) { + if (info->flash_id == FLASH_UNKNOWN) { + printf ("- missing\n"); + } else { + printf ("- no sectors to erase\n"); + } + return 1; + } + + type = (info->flash_id & FLASH_VENDMASK); + if ((type != FLASH_MAN_INTEL)) { + printf ("Can't erase unknown flash type %08lx - aborted\n", + info->flash_id); + return 1; + } + + prot = 0; + for (sect = s_first; sect <= s_last; ++sect) { + if (info->protect[sect]) { + prot++; + } + } + + if (prot) { + printf ("- Warning: %d protected sectors will not be erased!\n", + prot); + } else { + printf ("\n"); + } + + start = get_timer (0); + last = start; + + /* Disable interrupts which might cause a timeout here */ + flag = disable_interrupts (); + + /* Start erase on unprotected sectors */ + for (sect = s_first; sect <= s_last; sect++) { + if (info->protect[sect] == 0) { /* not protected */ + FPWV *addr = (FPWV *) (info->start[sect]); + FPW status; + + printf ("Erasing sector %2d ... ", sect); + + /* arm simple, non interrupt dependent timer */ + reset_timer_masked (); + + *addr = (FPW) 0x00500050; /* clear status register */ + *addr = (FPW) 0x00200020; /* erase setup */ + *addr = (FPW) 0x00D000D0; /* erase confirm */ + + while (((status = *addr) & (FPW) 0x00800080) != (FPW) 0x00800080) { + if (get_timer_masked () > CFG_FLASH_ERASE_TOUT) { + printf ("Timeout\n"); + *addr = (FPW) 0x00B000B0; /* suspend erase */ + *addr = (FPW) 0x00FF00FF; /* reset to read mode */ + rcode = 1; + break; + } + } + + *addr = 0x00500050; /* clear status register cmd. */ + *addr = 0x00FF00FF; /* resest to read mode */ + + printf (" done\n"); + } + } + return rcode; +} + +/*----------------------------------------------------------------------- + * Copy memory to flash, returns: + * 0 - OK + * 1 - write timeout + * 2 - Flash not erased + * 4 - Flash not identified + */ + +int write_buff (flash_info_t *info, uchar *src, ulong addr, ulong cnt) +{ + ulong cp, wp; + FPW data; + int count, i, l, rc, port_width; + + if (info->flash_id == FLASH_UNKNOWN) { + return 4; + } +/* get lower word aligned address */ +#ifdef FLASH_PORT_WIDTH16 + wp = (addr & ~1); + port_width = 2; +#else + wp = (addr & ~3); + port_width = 4; +#endif + + /* + * handle unaligned start bytes + */ + if ((l = addr - wp) != 0) { + data = 0; + for (i = 0, cp = wp; i < l; ++i, ++cp) { + data = (data << 8) | (*(uchar *) cp); + } + for (; i < port_width && cnt > 0; ++i) { + data = (data << 8) | *src++; + --cnt; + ++cp; + } + for (; cnt == 0 && i < port_width; ++i, ++cp) { + data = (data << 8) | (*(uchar *) cp); + } + + if ((rc = write_data (info, wp, SWAP (data))) != 0) { + return (rc); + } + wp += port_width; + } + + /* + * handle word aligned part + */ + count = 0; + while (cnt >= port_width) { + data = 0; + for (i = 0; i < port_width; ++i) { + data = (data << 8) | *src++; + } + if ((rc = write_data (info, wp, SWAP (data))) != 0) { + return (rc); + } + wp += port_width; + cnt -= port_width; + if (count++ > 0x800) { + spin_wheel (); + count = 0; + } + } + + if (cnt == 0) { + return (0); + } + + /* + * handle unaligned tail bytes + */ + data = 0; + for (i = 0, cp = wp; i < port_width && cnt > 0; ++i, ++cp) { + data = (data << 8) | *src++; + --cnt; + } + for (; i < port_width; ++i, ++cp) { + data = (data << 8) | (*(uchar *) cp); + } + + return (write_data (info, wp, SWAP (data))); +} + +/*----------------------------------------------------------------------- + * Write a word or halfword to Flash, returns: + * 0 - OK + * 1 - write timeout + * 2 - Flash not erased + */ +static int write_data (flash_info_t *info, ulong dest, FPW data) +{ + FPWV *addr = (FPWV *) dest; + ulong status; + int flag; + + /* Check if Flash is (sufficiently) erased */ + if ((*addr & data) != data) { + printf ("not erased at %08lx (%lx)\n", (ulong) addr, *addr); + return (2); + } + /* Disable interrupts which might cause a timeout here */ + flag = disable_interrupts (); + + *addr = (FPW) 0x00400040; /* write setup */ + *addr = data; + + /* arm simple, non interrupt dependent timer */ + reset_timer_masked (); + + /* wait while polling the status register */ + while (((status = *addr) & (FPW) 0x00800080) != (FPW) 0x00800080) { + if (get_timer_masked () > CFG_FLASH_WRITE_TOUT) { + *addr = (FPW) 0x00FF00FF; /* restore read mode */ + return (1); + } + } + + *addr = (FPW) 0x00FF00FF; /* restore read mode */ + + return (0); +} + +void inline spin_wheel (void) +{ + static int p = 0; + static char w[] = "\\/-"; + + printf ("\010%c", w[p]); + (++p == 3) ? (p = 0) : 0; +} diff --git a/board/zylonite/lowlevel_init.S b/board/zylonite/lowlevel_init.S new file mode 100644 index 0000000..c3bb4eb --- /dev/null +++ b/board/zylonite/lowlevel_init.S @@ -0,0 +1,371 @@ +/* + * Most of this taken from Redboot hal_platform_setup.h with cleanup + * + * NOTE: I haven't clean this up considerably, just enough to get it + * running. See hal_platform_setup.h for the source. See + * board/cradle/lowlevel_init.S for another PXA250 setup that is + * much cleaner. + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ + +#include <config.h> +#include <version.h> +#include <asm/arch/pxa-regs.h> + +DRAM_SIZE: .long CFG_DRAM_SIZE + +/* wait for coprocessor write complete */ +.macro CPWAIT reg + mrc p15,0,\reg,c2,c0,0 + mov \reg,\reg + sub pc,pc,#4 +.endm + + +.macro wait time + ldr r2, =OSCR + mov r3, #0 + str r3, [r2] +0: + ldr r3, [r2] + cmp r3, \time + bls 0b +.endm + +/* + * Memory setup + */ + +.globl lowlevel_init +lowlevel_init: + /* Set up GPIO pins first ----------------------------------------- */ + mov r10, lr + + /* Configure GPIO Pins 41 - 48 as UART1 / altern. Fkt. 2 */ + ldr r0, =0x40E10438 @ GPIO41 FFRXD + ldr r1, =0x802 + str r1, [r0] + + ldr r0, =0x40E1043C @ GPIO42 FFTXD + ldr r1, =0x802 + str r1, [r0] + + ldr r0, =0x40E10440 @ GPIO43 FFCTS + ldr r1, =0x802 + str r1, [r0] + + ldr r0, =0x40E10444 @ GPIO 44 FFDCD + ldr r1, =0x802 + str r1, [r0] + + ldr r0, =0x40E10448 @ GPIO 45 FFDSR + ldr r1, =0x802 + str r1, [r0] + + ldr r0, =0x40E1044C @ GPIO 46 FFRI + ldr r1, =0x802 + str r1, [r0] + + ldr r0, =0x40E10450 @ GPIO 47 FFDTR + ldr r1, =0x802 + str r1, [r0] + + ldr r0, =0x40E10454 @ GPIO 48 + ldr r1, =0x802 + str r1, [r0] + + /* tebrandt - ASCR, clear the RDH bit */ + ldr r0, =ASCR + ldr r1, [r0] + bic r1, r1, #0x80000000 + str r1, [r0] + + /* ---------------------------------------------------------------- */ + /* Enable memory interface */ + /* */ + /* The sequence below is based on the recommended init steps */ + /* detailed in the Intel PXA250 Operating Systems Developers Guide, */ + /* Chapter 10. */ + /* ---------------------------------------------------------------- */ + + /* ---------------------------------------------------------------- */ + /* Step 1: Wait for at least 200 microsedonds to allow internal */ + /* clocks to settle. Only necessary after hard reset... */ + /* FIXME: can be optimized later */ + /* ---------------------------------------------------------------- */ + + /* mk: replaced with wait macro */ +/* ldr r3, =OSCR /\* reset the OS Timer Count to zero *\/ */ +/* mov r2, #0 */ +/* str r2, [r3] */ +/* ldr r4, =0x300 /\* really 0x2E1 is about 200usec, *\/ */ +/* /\* so 0x300 should be plenty *\/ */ +/* 1: */ +/* ldr r2, [r3] */ +/* cmp r4, r2 */ +/* bgt 1b */ + wait #300 + +mem_init: + + /* configure the MEMCLKCFG register */ + ldr r1, =MEMCLKCFG + ldr r2, =0x00010001 + str r2, [r1] @ WRITE + ldr r2, [r1] @ DELAY UNTIL WRITTEN + + /* set CSADRCFG[0] to data flash SRAM mode */ + ldr r1, =CSADRCFG0 + ldr r2, =0x00320809 + str r2, [r1] @ WRITE + ldr r2, [r1] @ DELAY UNTIL WRITTEN + + /* set CSADRCFG[1] to data flash SRAM mode */ + ldr r1, =CSADRCFG1 + ldr r2, =0x00320809 + str r2, [r1] @ WRITE + ldr r2, [r1] @ DELAY UNTIL WRITTEN + + /* set MSC 0 register for SRAM memory */ + ldr r1, =MSC0 + ldr r2, =0x11191119 + str r2, [r1] @ WRITE + ldr r2, [r1] @ DELAY UNTIL WRITTEN + + /* set CSADRCFG[2] to data flash SRAM mode */ + ldr r1, =CSADRCFG2 + ldr r2, =0x00320809 + str r2, [r1] @ WRITE + ldr r2, [r1] @ DELAY UNTIL WRITTEN + + /* set CSADRCFG[3] to VLIO mode */ + ldr r1, =CSADRCFG3 + ldr r2, =0x0032080B + str r2, [r1] @ WRITE + ldr r2, [r1] @ DELAY UNTIL WRITTEN + + /* set MSC 1 register for VLIO memory */ + ldr r1, =MSC1 + ldr r2, =0x123C1119 + str r2, [r1] @ WRITE + ldr r2, [r1] @ DELAY UNTIL WRITTEN + +#if 0 + /* This does not work in Zylonite. -SC */ + ldr r0, =0x15fffff0 + ldr r1, =0xb10b + str r1, [r0] + str r1, [r0, #4] +#endif + + /* Configure ACCR Register */ + ldr r0, =ACCR @ ACCR + ldr r1, =0x0180b108 + str r1, [r0] + ldr r1, [r0] + + /* Configure MDCNFG Register */ + ldr r0, =MDCNFG @ MDCNFG + ldr r1, =0x403 + str r1, [r0] + ldr r1, [r0] + + /* Perform Resistive Compensation by configuring RCOMP register */ + ldr r1, =RCOMP @ RCOMP + ldr r2, =0x000000ff + str r2, [r1] + ldr r2, [r1] + + /* Configure MDMRS Register for SDCS0 */ + ldr r1, =MDMRS @ MDMRS + ldr r2, =0x60000023 + ldr r3, [r1] + orr r2, r2, r3 + str r2, [r1] + ldr r2, [r1] + + /* Configure MDMRS Register for SDCS1 */ + ldr r1, =MDMRS @ MDMRS + ldr r2, =0xa0000023 + ldr r3, [r1] + orr r2, r2, r3 + str r2, [r1] + ldr r2, [r1] + + /* Configure MDREFR */ + ldr r1, =MDREFR @ MDREFR + ldr r2, =0x00000006 + str r2, [r1] + ldr r2, [r1] + + /* Configure EMPI */ + ldr r1, =EMPI @ EMPI + ldr r2, =0x80000000 + str r2, [r1] + ldr r2, [r1] + + /* Hardware DDR Read-Strobe Delay Calibration */ + ldr r0, =DDR_HCAL @ DDR_HCAL + ldr r1, =0x803ffc07 @ the offset is correct? -SC + str r1, [r0] + wait #5 + ldr r1, [r0] + + /* Here we assume the hardware calibration alwasy be successful. -SC */ + /* Set DMCEN bit in MDCNFG Register */ + ldr r0, =MDCNFG @ MDCNFG + ldr r1, [r0] + orr r1, r1, #0x40000000 @ enable SDRAM for Normal Access + str r1, [r0] + + /* scrub/init SDRAM if enabled/present */ +/* ldr r11, =0xa0000000 /\* base address of SDRAM (CFG_DRAM_BASE) *\/ */ +/* ldr r12, =0x04000000 /\* size of memory to scrub (CFG_DRAM_SIZE) *\/ */ +/* mov r8,r12 /\* save DRAM size (mk: why???) *\/ */ + ldr r8, =0xa0000000 /* base address of SDRAM (CFG_DRAM_BASE) */ + ldr r9, =0x04000000 /* size of memory to scrub (CFG_DRAM_SIZE) */ + mov r0, #0 /* scrub with 0x0000:0000 */ + mov r1, #0 + mov r2, #0 + mov r3, #0 + mov r4, #0 + mov r5, #0 + mov r6, #0 + mov r7, #0 +10: /* fastScrubLoop */ + subs r9, r9, #32 /* 32 bytes/line */ + stmia r8!, {r0-r7} + beq 15f + b 10b + +15: + /* Mask all interrupts */ + mov r1, #0 + mcr p6, 0, r1, c1, c0, 0 @ ICMR + + /* Disable software and data breakpoints */ + mov r0, #0 + mcr p15,0,r0,c14,c8,0 /* ibcr0 */ + mcr p15,0,r0,c14,c9,0 /* ibcr1 */ + mcr p15,0,r0,c14,c4,0 /* dbcon */ + + /* Enable all debug functionality */ + mov r0,#0x80000000 + mcr p14,0,r0,c10,c0,0 /* dcsr */ + + /* We are finished with Intel's memory controller initialisation */ + + /* ---------------------------------------------------------------- */ + /* End lowlevel_init */ + /* ---------------------------------------------------------------- */ + +endlowlevel_init: + + mov pc, lr + +/* +@******************************************************************************** +@ DDR calibration +@ +@ This function is used to calibrate DQS delay lines. +@ Monahans supports three ways to do it. One is software +@ calibration. Two is hardware calibration. Three is hybrid +@ calibration. +@ +@ TBD +@ -SC +ddr_calibration: + + @ Case 1: Write the correct delay value once + @ Configure DDR_SCAL Register + ldr r0, =DDR_SCAL @ DDR_SCAL +q ldr r1, =0xaf2f2f2f + str r1, [r0] + ldr r1, [r0] +*/ +/* @ Case 2: Software Calibration + @ Write test pattern to memory + ldr r5, =0x0faf0faf @ Data Pattern + ldr r4, =0xa0000000 @ DDR ram + str r5, [r4] + + mov r1, =0x0 @ delay count + mov r6, =0x0 + mov r7, =0x0 +ddr_loop1: + add r1, r1, =0x1 + cmp r1, =0xf + ble end_loop + mov r3, r1 + mov r0, r1, lsl #30 + orr r3, r3, r0 + mov r0, r1, lsl #22 + orr r3, r3, r0 + mov r0, r1, lsl #14 + orr r3, r3, r0 + orr r3, r3, =0x80000000 + ldr r2, =DDR_SCAL + str r3, [r2] + + ldr r2, [r4] + cmp r2, r5 + bne ddr_loop1 + mov r6, r1 +ddr_loop2: + add r1, r1, =0x1 + cmp r1, =0xf + ble end_loop + mov r3, r1 + mov r0, r1, lsl #30 + orr r3, r3, r0 + mov r0, r1, lsl #22 + orr r3, r3, r0 + mov r0, r1, lsl #14 + orr r3, r3, r0 + orr r3, r3, =0x80000000 + ldr r2, =DDR_SCAL + str r3, [r2] + + ldr r2, [r4] + cmp r2, r5 + be ddr_loop2 + mov r7, r2 + + add r3, r6, r7 + lsr r3, r3, =0x1 + mov r0, r1, lsl #30 + orr r3, r3, r0 + mov r0, r1, lsl #22 + orr r3, r3, r0 + mov r0, r1, lsl #14 + orr r3, r3, r0 + orr r3, r3, =0x80000000 + ldr r2, =DDR_SCAL + +end_loop: + + @ Case 3: Hardware Calibratoin + ldr r0, =DDR_HCAL @ DDR_HCAL + ldr r1, =0x803ffc07 @ the offset is correct? -SC + str r1, [r0] + wait #5 + ldr r1, [r0] + mov pc, lr +*/ diff --git a/board/zylonite/u-boot.lds b/board/zylonite/u-boot.lds new file mode 100644 index 0000000..f010239 --- /dev/null +++ b/board/zylonite/u-boot.lds @@ -0,0 +1,56 @@ +/* + * (C) Copyright 2000 + * Wolfgang Denk, DENX Software Engineering, wd@denx.de. + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ + +OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") +OUTPUT_ARCH(arm) +ENTRY(_start) +SECTIONS +{ + . = 0x00000000; + + . = ALIGN(4); + .text : + { + cpu/pxa/start.o (.text) + *(.text) + } + + . = ALIGN(4); + .rodata : { *(.rodata) } + + . = ALIGN(4); + .data : { *(.data) } + + . = ALIGN(4); + .got : { *(.got) } + + . = .; + __u_boot_cmd_start = .; + .u_boot_cmd : { *(.u_boot_cmd) } + __u_boot_cmd_end = .; + + . = ALIGN(4); + __bss_start = .; + .bss : { *(.bss) } + _end = .; +} diff --git a/board/zylonite/zylonite.c b/board/zylonite/zylonite.c new file mode 100644 index 0000000..e618ab9 --- /dev/null +++ b/board/zylonite/zylonite.c @@ -0,0 +1,75 @@ +/* + * (C) Copyright 2002 + * Kyle Harris, Nexus Technologies, Inc. kharris@nexus-tech.net + * + * (C) Copyright 2002 + * Sysgo Real-Time Solutions, GmbH <www.elinos.com> + * Marius Groeger <mgroeger@sysgo.de> + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ + +#include <common.h> + +/* ------------------------------------------------------------------------- */ + + +/* + * Miscelaneous platform dependent initialisations + */ + +int board_init (void) +{ + DECLARE_GLOBAL_DATA_PTR; + + /* memory and cpu-speed are setup before relocation */ + /* so we do _nothing_ here */ + + /* arch number of Lubbock-Board */ + gd->bd->bi_arch_number = MACH_TYPE_LUBBOCK; + + /* adress of boot parameters */ + gd->bd->bi_boot_params = 0xa0000100; + + return 0; +} + +int board_late_init(void) +{ + setenv("stdout", "serial"); + setenv("stderr", "serial"); + return 0; +} + + +int dram_init (void) +{ + DECLARE_GLOBAL_DATA_PTR; + + gd->bd->bi_dram[0].start = PHYS_SDRAM_1; + gd->bd->bi_dram[0].size = PHYS_SDRAM_1_SIZE; + gd->bd->bi_dram[1].start = PHYS_SDRAM_2; + gd->bd->bi_dram[1].size = PHYS_SDRAM_2_SIZE; + gd->bd->bi_dram[2].start = PHYS_SDRAM_3; + gd->bd->bi_dram[2].size = PHYS_SDRAM_3_SIZE; + gd->bd->bi_dram[3].start = PHYS_SDRAM_4; + gd->bd->bi_dram[3].size = PHYS_SDRAM_4_SIZE; + + return 0; +} diff --git a/common/cmd_nand.c b/common/cmd_nand.c index e46ed1d..bb51d91 100644 --- a/common/cmd_nand.c +++ b/common/cmd_nand.c @@ -442,8 +442,6 @@ void archflashwp(void *archdata, int wp); #define NANDRW_JFFS2 0x02 #define NANDRW_JFFS2_SKIP 0x04 - - /* * Imports from nand_legacy.c */ diff --git a/cpu/mpc5xxx/fec.c b/cpu/mpc5xxx/fec.c index 86c8ce6..2e8e549 100644 --- a/cpu/mpc5xxx/fec.c +++ b/cpu/mpc5xxx/fec.c @@ -880,8 +880,9 @@ int mpc5xxx_fec_initialize(bd_t * bis) fec->rbdBase = (FEC_RBD *)(FEC_BD_BASE + FEC_TBD_NUM * sizeof(FEC_TBD)); #if defined(CONFIG_CANMB) || defined(CONFIG_HMI1001) || \ defined(CONFIG_ICECUBE) || defined(CONFIG_INKA4X0) || \ + defined(CONFIG_MCC200) || defined(CONFIG_O2DNT) || \ defined(CONFIG_PM520) || defined(CONFIG_TOP5200) || \ - defined(CONFIG_TQM5200) || defined(CONFIG_O2DNT) + defined(CONFIG_TQM5200) # ifndef CONFIG_FEC_10MBIT fec->xcv_type = MII100; # else diff --git a/cpu/pxa/cpu.c b/cpu/pxa/cpu.c index d1551dd..b33d674 100644 --- a/cpu/pxa/cpu.c +++ b/cpu/pxa/cpu.c @@ -143,6 +143,7 @@ int dcache_status (void) return 0; /* always off */ } +#ifndef CONFIG_CPU_MONAHANS void set_GPIO_mode(int gpio_mode) { int gpio = gpio_mode & GPIO_MD_MASK_NR; @@ -160,3 +161,4 @@ void set_GPIO_mode(int gpio_mode) gafr = GAFR(gpio) & ~(0x3 << (((gpio) & 0xf)*2)); GAFR(gpio) = gafr | (fn << (((gpio) & 0xf)*2)); } +#endif /* CONFIG_CPU_MONAHANS */ diff --git a/cpu/pxa/serial.c b/cpu/pxa/serial.c index cedebfe..9bf2a7c 100644 --- a/cpu/pxa/serial.c +++ b/cpu/pxa/serial.c @@ -54,7 +54,11 @@ void serial_setbrg (void) hang (); #ifdef CONFIG_FFUART +#ifdef CONFIG_CPU_MONAHANS + CKENA |= CKENA_22_FFUART; +#else CKEN |= CKEN6_FFUART; +#endif /* CONFIG_CPU_MONAHANS */ FFIER = 0; /* Disable for now */ FFFCR = 0; /* No fifos enabled */ @@ -68,7 +72,11 @@ void serial_setbrg (void) FFIER = IER_UUE; /* Enable FFUART */ #elif defined(CONFIG_BTUART) +#ifdef CONFIG_CPU_MONAHANS + CKENA |= CKENA_21_BTUART; +#else CKEN |= CKEN7_BTUART; +#endif /* CONFIG_CPU_MONAHANS */ BTIER = 0; BTFCR = 0; @@ -82,7 +90,11 @@ void serial_setbrg (void) BTIER = IER_UUE; /* Enable BFUART */ #elif defined(CONFIG_STUART) +#ifdef CONFIG_CPU_MONAHANS + CKENA |= CKENA_23_STUART; +#else CKEN |= CKEN5_STUART; +#endif /* CONFIG_CPU_MONAHANS */ STIER = 0; STFCR = 0; diff --git a/cpu/pxa/start.S b/cpu/pxa/start.S index a8cc080..9541c9b 100644 --- a/cpu/pxa/start.S +++ b/cpu/pxa/start.S @@ -6,8 +6,8 @@ * Copyright (C) 2000 Wolfgang Denk <wd@denx.de> * Copyright (C) 2001 Alex Zuepke <azu@sysgo.de> * Copyright (C) 2002 Kyle Harris <kharris@nexus-tech.net> - * Copyright (C) 2003 Robert Schwebel <r.schwebel@pengutronix.de> - * Copyright (C) 2003 Kai-Uwe Bloem <kai-uwe.bloem@auerswald.de> + * Copyright (C) 2003 Robert Schwebel <r.schwebel@pengutronix.de> + * Copyright (C) 2003 Kai-Uwe Bloem <kai-uwe.bloem@auerswald.de> * * See file CREDITS for list of people who contributed to this * project. @@ -30,6 +30,7 @@ #include <config.h> #include <version.h> +#include <asm/arch/pxa-regs.h> .globl _start _start: b reset @@ -116,13 +117,13 @@ reset: relocate: /* relocate U-Boot to RAM */ adr r0, _start /* r0 <- current position of code */ ldr r1, _TEXT_BASE /* test if we run from flash or RAM */ - cmp r0, r1 /* don't reloc during debug */ - beq stack_setup + cmp r0, r1 /* don't reloc during debug */ + beq stack_setup ldr r2, _armboot_start ldr r3, _bss_start - sub r2, r3, r2 /* r2 <- size of armboot */ - add r2, r0, r2 /* r2 <- source end address */ + sub r2, r3, r2 /* r2 <- size of armboot */ + add r2, r0, r2 /* r2 <- source end address */ copy_loop: ldmia r0!, {r3-r10} /* copy from source address [r0] */ @@ -134,19 +135,19 @@ copy_loop: /* Set up the stack */ stack_setup: ldr r0, _TEXT_BASE /* upper 128 KiB: relocated uboot */ - sub r0, r0, #CFG_MALLOC_LEN /* malloc area */ - sub r0, r0, #CFG_GBL_DATA_SIZE /* bdinfo */ + sub r0, r0, #CFG_MALLOC_LEN /* malloc area */ + sub r0, r0, #CFG_GBL_DATA_SIZE /* bdinfo */ #ifdef CONFIG_USE_IRQ sub r0, r0, #(CONFIG_STACKSIZE_IRQ+CONFIG_STACKSIZE_FIQ) #endif sub sp, r0, #12 /* leave 3 words for abort-stack */ clear_bss: - ldr r0, _bss_start /* find start of bss segment */ - ldr r1, _bss_end /* stop here */ - mov r2, #0x00000000 /* clear */ + ldr r0, _bss_start /* find start of bss segment */ + ldr r1, _bss_end /* stop here */ + mov r2, #0x00000000 /* clear */ -clbss_l:str r2, [r0] /* clear loop... */ +clbss_l:str r2, [r0] /* clear loop... */ add r0, r0, #4 cmp r0, r1 ble clbss_l @@ -164,8 +165,16 @@ _start_armboot: .word start_armboot /* - setup memory timing */ /* */ /****************************************************************************/ +/* mk@tbd: Fix this! */ +#ifdef CONFIG_CPU_MONAHANS +#undef ICMR +#undef OSMR3 +#undef OSCR +#undef OWER +#undef OIER +#endif -/* Interrupt-Controller base address */ +/* Interrupt-Controller base address */ IC_BASE: .word 0x40d00000 #define ICMR 0x04 @@ -180,7 +189,7 @@ OSTIMER_BASE: .word 0x40a00000 #define OWER 0x18 #define OIER 0x1C -/* Clock Manager Registers */ +/* Clock Manager Registers */ #ifdef CFG_CPUSPEED CC_BASE: .word 0x41300000 #define CCCR 0x00 @@ -189,25 +198,44 @@ cpuspeed: .word CFG_CPUSPEED #error "You have to define CFG_CPUSPEED!!" #endif - - /* RS: ??? */ - .macro CPWAIT - mrc p15,0,r0,c2,c0,0 - mov r0,r0 + /* takes care the CP15 update has taken place */ + .macro CPWAIT reg + mrc p15,0,\reg,c2,c0,0 + mov \reg,\reg sub pc,pc,#4 .endm - cpu_init_crit: /* mask all IRQs */ +#ifndef CONFIG_CPU_MONAHANS ldr r0, IC_BASE mov r1, #0x00 str r1, [r0, #ICMR] +#else + /* Step 1 - Enable CP6 permission */ + mrc p15, 0, r1, c15, c1, 0 @ read CPAR + orr r1, r1, #0x40 + mcr p15, 0, r1, c15, c1, 0 + CPWAIT r1 + + /* Step 2 - Mask ICMR & ICMR2 */ + mov r1, #0 + mcr p6, 0, r1, c1, c0, 0 @ ICMR + mcr p6, 0, r1, c7, c0, 0 @ ICMR2 + + /* turn off all clocks but the ones we will definitly require */ + ldr r1, =CKENA + ldr r2, =(CKENA_22_FFUART | CKENA_10_SRAM | CKENA_9_SMC | CKENA_8_DMC) + str r2, [r1] + ldr r1, =CKENB + ldr r2, =(CKENB_6_IRQ) + str r2, [r1] +#endif -#if defined(CFG_CPUSPEED) - - /* set clock speed */ +#ifndef CONFIG_CPU_MONAHANS +#ifdef CFG_CPUSPEED + /* set clock speed tbd@mk: required for monahans? */ ldr r0, CC_BASE ldr r1, cpuspeed str r1, [r0, #CCCR] @@ -215,7 +243,9 @@ cpu_init_crit: mcr p14, 0, r0, c6, c0, 0 setspeed_done: -#endif + +#endif /* CFG_CPUSPEED */ +#endif /* CONFIG_CPU_MONAHANS */ /* * before relocating, we have to setup RAM timing @@ -227,19 +257,21 @@ setspeed_done: mov lr, ip /* Memory interfaces are working. Disable MMU and enable I-cache. */ + /* mk: hmm, this is not in the monahans docs, leave it now but + * check here if it doesn't work :-) */ ldr r0, =0x2001 /* enable access to all coproc. */ mcr p15, 0, r0, c15, c1, 0 - CPWAIT + CPWAIT r0 mcr p15, 0, r0, c7, c10, 4 /* drain the write & fill buffers */ - CPWAIT + CPWAIT r0 mcr p15, 0, r0, c7, c7, 0 /* flush Icache, Dcache and BTB */ - CPWAIT + CPWAIT r0 mcr p15, 0, r0, c8, c7, 0 /* flush instuction and data TLBs */ - CPWAIT + CPWAIT r0 /* Enable the Icache */ /* @@ -292,7 +324,7 @@ setspeed_done: ldr r2, _armboot_start sub r2, r2, #(CONFIG_STACKSIZE+CFG_MALLOC_LEN) - sub r2, r2, #(CFG_GBL_DATA_SIZE+8) @ set base 2 words into abort stack + sub r2, r2, #(CFG_GBL_DATA_SIZE+8) @ set base 2 words into abort stack ldmia r2, {r2 - r4} /* get pc, cpsr, old_r0 */ add r0, sp, #S_FRAME_SIZE /* restore sp_SVC */ @@ -419,17 +451,17 @@ fiq: #endif /****************************************************************************/ -/* */ +/* */ /* Reset function: the PXA250 doesn't have a reset function, so we have to */ -/* perform a watchdog timeout for a soft reset. */ -/* */ +/* perform a watchdog timeout for a soft reset. */ +/* */ /****************************************************************************/ .align 5 .globl reset_cpu - /* FIXME: this code is PXA250 specific. How is this handled on */ - /* other XScale processors? */ + /* FIXME: this code is PXA250 specific. How is this handled on */ + /* other XScale processors? */ reset_cpu: @@ -437,13 +469,13 @@ reset_cpu: ldr r0, OSTIMER_BASE ldr r1, [r0, #OWER] - orr r1, r1, #0x0001 /* bit0: WME */ + orr r1, r1, #0x0001 /* bit0: WME */ str r1, [r0, #OWER] /* OS timer does only wrap every 1165 seconds, so we have to set */ - /* the match register as well. */ + /* the match register as well. */ - ldr r1, [r0, #OSCR] /* read OS timer */ + ldr r1, [r0, #OSCR] /* read OS timer */ add r1, r1, #0x800 /* let OSMR3 match after */ add r1, r1, #0x800 /* 4096*(1/3.6864MHz)=1ms */ str r1, [r0, #OSMR3] diff --git a/doc/README.nand b/doc/README.nand index 0f2bdc5..f2d6a5b 100644 --- a/doc/README.nand +++ b/doc/README.nand @@ -1,5 +1,9 @@ NAND FLASH commands and notes + +See NOTE below!!! + + # (C) Copyright 2003 # Dave Ellis, SIXNET, dge@sixnetio.com # @@ -173,3 +177,33 @@ More Definitions: #define NAND_ChipID_UNKNOWN 0x00 #define NAND_MAX_FLOORS 1 #define NAND_MAX_CHIPS 1 + + +NOTE: +===== + +We now use a complete rewrite of the NAND code based on what is in +2.6.12 Linux kernel. + +The old NAND handling code has been re-factored and is now confined +to only board-specific files and - unfortunately - to the DoC code +(see below). A new configuration variable has been introduced: +CFG_NAND_LEGACY, which has to be defined in the board config file if +that board uses legacy code. If CFG_NAND_LEGACY is defined, the board +specific config.mk file should also have "BOARDLIBS = +drivers/nand_legacy/libnand_legacy.a". For boards using the new NAND +approach (PPChameleon and netstar at the moment) no variable is +necessary, but the config.mk should have "BOARDLIBS = +drivers/nand/libnand.a". + +The necessary changes have been made to all affected boards, and no +build breakage has been introduced, except for NETTA and NETTA_ISDN +targets from MAKEALL. This is due to the fact that these two boards +use JFFS, which has been adopted to use the new NAND, and at the same +time use NAND in legacy mode. The breakage will disappear when the +board-specific code is changed to the new NAND. + +As mentioned above, the legacy code is still used by the DoC subsystem. +The consequence of this is that the legacy NAND can't be removed from +the tree until the DoC is ported to use the new NAND support (or boards +with DoC will break). diff --git a/drivers/cfi_flash.c b/drivers/cfi_flash.c index 4b7a110..ff4d85f 100644 --- a/drivers/cfi_flash.c +++ b/drivers/cfi_flash.c @@ -104,12 +104,15 @@ #define AMD_CMD_ERASE_SECTOR 0x30 #define AMD_CMD_UNLOCK_START 0xAA #define AMD_CMD_UNLOCK_ACK 0x55 +#define AMD_CMD_WRITE_TO_BUFFER 0x25 +#define AMD_CMD_WRITE_BUFFER_CONFIRM 0x29 #define AMD_STATUS_TOGGLE 0x40 #define AMD_STATUS_ERROR 0x20 -#define AMD_ADDR_ERASE_START 0x555 -#define AMD_ADDR_START 0x555 -#define AMD_ADDR_ACK 0x2AA + +#define AMD_ADDR_ERASE_START ((info->portwidth == FLASH_CFI_8BIT) ? 0xAAA : 0x555) +#define AMD_ADDR_START ((info->portwidth == FLASH_CFI_8BIT) ? 0xAAA : 0x555) +#define AMD_ADDR_ACK ((info->portwidth == FLASH_CFI_8BIT) ? 0x555 : 0x2AA) #define FLASH_OFFSET_CFI 0x55 #define FLASH_OFFSET_CFI_RESP 0x10 @@ -175,6 +178,13 @@ static ulong bank_base[CFG_MAX_FLASH_BANKS] = CFG_FLASH_BANKS_LIST; flash_info_t flash_info[CFG_MAX_FLASH_BANKS]; /* FLASH chips info */ #endif +/* + * Check if chip width is defined. If not, start detecting with 8bit. + */ +#ifndef CFG_FLASH_CFI_WIDTH +#define CFG_FLASH_CFI_WIDTH FLASH_CFI_8BIT +#endif + /*----------------------------------------------------------------------- * Functions @@ -190,10 +200,10 @@ static int flash_isequal (flash_info_t * info, flash_sect_t sect, uint offset, u static int flash_isset (flash_info_t * info, flash_sect_t sect, uint offset, uchar cmd); static int flash_toggle (flash_info_t * info, flash_sect_t sect, uint offset, uchar cmd); static int flash_detect_cfi (flash_info_t * info); -ulong flash_get_size (ulong base, int banknum); static int flash_write_cfiword (flash_info_t * info, ulong dest, cfiword_t cword); static int flash_full_status_check (flash_info_t * info, flash_sect_t sector, ulong tout, char *prompt); +ulong flash_get_size (ulong base, int banknum); #if defined(CFG_ENV_IS_IN_FLASH) || defined(CFG_ENV_ADDR_REDUND) || (CFG_MONITOR_BASE >= CFG_FLASH_BASE) static flash_info_t *flash_get_info(ulong base); #endif @@ -328,6 +338,7 @@ ulong flash_read_long (flash_info_t * info, flash_sect_t sect, uint offset) return retval; } + /*----------------------------------------------------------------------- */ unsigned long flash_init (void) @@ -345,6 +356,24 @@ unsigned long flash_init (void) i, flash_info[i].size, flash_info[i].size << 20); #endif /* CFG_FLASH_QUIET_TEST */ } +#ifdef CFG_FLASH_PROTECTION + else { + char *s = getenv("unlock"); + + if (((s = getenv("unlock")) != NULL) && (strcmp(s, "yes") == 0)) { + /* + * Only the U-Boot image and it's environment is protected, + * all other sectors are unprotected (unlocked) if flash + * hardware protection is used (CFG_FLASH_PROTECTION) and + * the environment variable "unlock" is set to "yes". + */ + flash_protect (FLAG_PROTECT_CLEAR, + flash_info[i].start[0], + flash_info[i].start[0] + flash_info[i].size - 1, + &flash_info[i]); + } + } +#endif /* CFG_FLASH_PROTECTION */ } /* Monitor protection ON by default */ @@ -565,7 +594,22 @@ int write_buff (flash_info_t * info, uchar * src, ulong addr, ulong cnt) buffered_size = (info->portwidth / info->chipwidth); buffered_size *= info->buffer_size; while (cnt >= info->portwidth) { - i = buffered_size > cnt ? cnt : buffered_size; + /* prohibit buffer write when buffer_size is 1 */ + if (info->buffer_size == 1) { + cword.l = 0; + for (i = 0; i < info->portwidth; i++) + flash_add_byte (info, &cword, *src++); + if ((rc = flash_write_cfiword (info, wp, cword)) != 0) + return rc; + wp += info->portwidth; + cnt -= info->portwidth; + continue; + } + + /* write buffer until next buffered_size aligned boundary */ + i = buffered_size - (wp % buffered_size); + if (i > cnt) + i = cnt; if ((rc = flash_write_cfibuffer (info, wp, src, i)) != ERR_OK) return rc; i -= i & (info->portwidth - 1); @@ -705,7 +749,7 @@ static int flash_status_check (flash_info_t * info, flash_sect_t sector, /* Wait for command completion */ start = get_timer (0); while (flash_is_busy (info, sector)) { - if (get_timer (start) > info->erase_blk_tout * CFG_HZ) { + if (get_timer (start) > tout) { printf ("Flash %s timeout at address %lx data %lx\n", prompt, info->start[sector], flash_read_long (info, sector, 0)); @@ -729,7 +773,7 @@ static int flash_full_status_check (flash_info_t * info, flash_sect_t sector, switch (info->vendor) { case CFI_CMDSET_INTEL_EXTENDED: case CFI_CMDSET_INTEL_STANDARD: - if ((retcode != ERR_OK) + if ((retcode == ERR_OK) && !flash_isequal (info, sector, 0, FLASH_STATUS_DONE)) { retcode = ERR_INVAL; printf ("Flash %s error at address %lx\n", prompt, @@ -985,7 +1029,7 @@ static int flash_detect_cfi (flash_info_t * info) { debug ("flash detect cfi\n"); - for (info->portwidth = FLASH_CFI_8BIT; + for (info->portwidth = CFG_FLASH_CFI_WIDTH; info->portwidth <= FLASH_CFI_64BIT; info->portwidth <<= 1) { for (info->chipwidth = FLASH_CFI_BY8; info->chipwidth <= info->portwidth; @@ -1106,8 +1150,9 @@ ulong flash_get_size (ulong base, int banknum) info->erase_blk_tout = (tmp * (1 << flash_read_uchar (info, FLASH_OFFSET_EMAX_TOUT))); tmp = 1 << flash_read_uchar (info, FLASH_OFFSET_WBTOUT); info->buffer_write_tout = (tmp * (1 << flash_read_uchar (info, FLASH_OFFSET_WBMAX_TOUT))); - tmp = 1 << flash_read_uchar (info, FLASH_OFFSET_WTOUT); - info->write_tout = (tmp * (1 << flash_read_uchar (info, FLASH_OFFSET_WMAX_TOUT))) / 1000; + tmp = (1 << flash_read_uchar (info, FLASH_OFFSET_WTOUT)) * + (1 << flash_read_uchar (info, FLASH_OFFSET_WMAX_TOUT)); + info->write_tout = tmp / 1000 + (tmp % 1000 ? 1 : 0); /* round up when converting to ms */ info->flash_id = FLASH_MAN_CFI; if ((info->interface == FLASH_CFI_X8X16) && (info->chipwidth == FLASH_CFI_BY8)) { info->portwidth >>= 1; /* XXX - Need to test on x8/x16 in parallel. */ @@ -1118,13 +1163,26 @@ ulong flash_get_size (ulong base, int banknum) return (info->size); } +/* loop through the sectors from the highest address + * when the passed address is greater or equal to the sector address + * we have a match + */ +static flash_sect_t find_sector (flash_info_t * info, ulong addr) +{ + flash_sect_t sector; + + for (sector = info->sector_count - 1; sector >= 0; sector--) { + if (addr >= info->start[sector]) + break; + } + return sector; +} /*----------------------------------------------------------------------- */ static int flash_write_cfiword (flash_info_t * info, ulong dest, cfiword_t cword) { - cfiptr_t ctladdr; cfiptr_t cptr; int flag; @@ -1188,26 +1246,12 @@ static int flash_write_cfiword (flash_info_t * info, ulong dest, if (flag) enable_interrupts (); - return flash_full_status_check (info, 0, info->write_tout, "write"); + return flash_full_status_check (info, find_sector (info, dest), + info->write_tout, "write"); } #ifdef CFG_FLASH_USE_BUFFER_WRITE -/* loop through the sectors from the highest address - * when the passed address is greater or equal to the sector address - * we have a match - */ -static flash_sect_t find_sector (flash_info_t * info, ulong addr) -{ - flash_sect_t sector; - - for (sector = info->sector_count - 1; sector >= 0; sector--) { - if (addr >= info->start[sector]) - break; - } - return sector; -} - static int flash_write_cfibuffer (flash_info_t * info, ulong dest, uchar * cp, int len) { @@ -1216,66 +1260,106 @@ static int flash_write_cfibuffer (flash_info_t * info, ulong dest, uchar * cp, int retcode; volatile cfiptr_t src; volatile cfiptr_t dst; - /* buffered writes in the AMD chip set is not supported yet */ - if((info->vendor == CFI_CMDSET_AMD_STANDARD) || - (info->vendor == CFI_CMDSET_AMD_EXTENDED)) - return ERR_INVAL; - src.cp = cp; - dst.cp = (uchar *) dest; - sector = find_sector (info, dest); - flash_write_cmd (info, sector, 0, FLASH_CMD_CLEAR_STATUS); - flash_write_cmd (info, sector, 0, FLASH_CMD_WRITE_TO_BUFFER); - if ((retcode = - flash_status_check (info, sector, info->buffer_write_tout, - "write to buffer")) == ERR_OK) { - /* reduce the number of loops by the width of the port */ + switch (info->vendor) { + case CFI_CMDSET_INTEL_STANDARD: + case CFI_CMDSET_INTEL_EXTENDED: + src.cp = cp; + dst.cp = (uchar *) dest; + sector = find_sector (info, dest); + flash_write_cmd (info, sector, 0, FLASH_CMD_CLEAR_STATUS); + flash_write_cmd (info, sector, 0, FLASH_CMD_WRITE_TO_BUFFER); + if ((retcode = flash_status_check (info, sector, info->buffer_write_tout, + "write to buffer")) == ERR_OK) { + /* reduce the number of loops by the width of the port */ + switch (info->portwidth) { + case FLASH_CFI_8BIT: + cnt = len; + break; + case FLASH_CFI_16BIT: + cnt = len >> 1; + break; + case FLASH_CFI_32BIT: + cnt = len >> 2; + break; + case FLASH_CFI_64BIT: + cnt = len >> 3; + break; + default: + return ERR_INVAL; + break; + } + flash_write_cmd (info, sector, 0, (uchar) cnt - 1); + while (cnt-- > 0) { + switch (info->portwidth) { + case FLASH_CFI_8BIT: + *dst.cp++ = *src.cp++; + break; + case FLASH_CFI_16BIT: + *dst.wp++ = *src.wp++; + break; + case FLASH_CFI_32BIT: + *dst.lp++ = *src.lp++; + break; + case FLASH_CFI_64BIT: + *dst.llp++ = *src.llp++; + break; + default: + return ERR_INVAL; + break; + } + } + flash_write_cmd (info, sector, 0, + FLASH_CMD_WRITE_BUFFER_CONFIRM); + retcode = flash_full_status_check (info, sector, + info->buffer_write_tout, + "buffer write"); + } + return retcode; + + case CFI_CMDSET_AMD_STANDARD: + case CFI_CMDSET_AMD_EXTENDED: + src.cp = cp; + dst.cp = (uchar *) dest; + sector = find_sector (info, dest); + + flash_unlock_seq(info,0); + flash_write_cmd (info, sector, 0, AMD_CMD_WRITE_TO_BUFFER); + switch (info->portwidth) { case FLASH_CFI_8BIT: cnt = len; + flash_write_cmd (info, sector, 0, (uchar) cnt - 1); + while (cnt-- > 0) *dst.cp++ = *src.cp++; break; case FLASH_CFI_16BIT: cnt = len >> 1; + flash_write_cmd (info, sector, 0, (uchar) cnt - 1); + while (cnt-- > 0) *dst.wp++ = *src.wp++; break; case FLASH_CFI_32BIT: cnt = len >> 2; + flash_write_cmd (info, sector, 0, (uchar) cnt - 1); + while (cnt-- > 0) *dst.lp++ = *src.lp++; break; case FLASH_CFI_64BIT: cnt = len >> 3; + flash_write_cmd (info, sector, 0, (uchar) cnt - 1); + while (cnt-- > 0) *dst.llp++ = *src.llp++; break; default: return ERR_INVAL; - break; } - flash_write_cmd (info, sector, 0, (uchar) cnt - 1); - while (cnt-- > 0) { - switch (info->portwidth) { - case FLASH_CFI_8BIT: - *dst.cp++ = *src.cp++; - break; - case FLASH_CFI_16BIT: - *dst.wp++ = *src.wp++; - break; - case FLASH_CFI_32BIT: - *dst.lp++ = *src.lp++; - break; - case FLASH_CFI_64BIT: - *dst.llp++ = *src.llp++; - break; - default: - return ERR_INVAL; - break; - } - } - flash_write_cmd (info, sector, 0, - FLASH_CMD_WRITE_BUFFER_CONFIRM); - retcode = - flash_full_status_check (info, sector, - info->buffer_write_tout, - "buffer write"); + + flash_write_cmd (info, sector, 0, AMD_CMD_WRITE_BUFFER_CONFIRM); + retcode = flash_full_status_check (info, sector, info->buffer_write_tout, + "buffer write"); + return retcode; + + default: + debug ("Unknown Command Set\n"); + return ERR_INVAL; } - flash_write_cmd (info, sector, 0, FLASH_CMD_CLEAR_STATUS); - return retcode; } #endif /* CFG_FLASH_USE_BUFFER_WRITE */ #endif /* CFG_FLASH_CFI */ diff --git a/drivers/i8042.c b/drivers/i8042.c index 5f273a2..22c2a4e 100644 --- a/drivers/i8042.c +++ b/drivers/i8042.c @@ -12,7 +12,7 @@ * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License @@ -33,7 +33,7 @@ extern u8 gt_cpcidvi_in8(u32 offset); extern void gt_cpcidvi_out8(u32 offset, u8 data); -#define in8(a) gt_cpcidvi_in8(a) +#define in8(a) gt_cpcidvi_in8(a) #define out8(a, b) gt_cpcidvi_out8(a,b) #endif @@ -49,10 +49,10 @@ static int cursor_state = 0; /* locals */ -static int kbd_input = -1; /* no input yet */ -static int kbd_mapping = KBD_US; /* default US keyboard */ -static int kbd_flags = NORMAL; /* after reset */ -static int kbd_state = 0; /* unshift code */ +static int kbd_input = -1; /* no input yet */ +static int kbd_mapping = KBD_US; /* default US keyboard */ +static int kbd_flags = NORMAL; /* after reset */ +static int kbd_state = 0; /* unshift code */ static void kbd_conv_char (unsigned char scan_code); static void kbd_led_set (void); @@ -68,230 +68,230 @@ static int kbd_reset (void); static unsigned char kbd_fct_map [144] = { /* kbd_fct_map table for scan code */ - 0, AS, AS, AS, AS, AS, AS, AS, /* scan 0- 7 */ - AS, AS, AS, AS, AS, AS, AS, AS, /* scan 8- F */ - AS, AS, AS, AS, AS, AS, AS, AS, /* scan 10-17 */ - AS, AS, AS, AS, AS, CN, AS, AS, /* scan 18-1F */ - AS, AS, AS, AS, AS, AS, AS, AS, /* scan 20-27 */ - AS, AS, SH, AS, AS, AS, AS, AS, /* scan 28-2F */ - AS, AS, AS, AS, AS, AS, SH, AS, /* scan 30-37 */ - AS, AS, CP, 0, 0, 0, 0, 0, /* scan 38-3F */ - 0, 0, 0, 0, 0, NM, ST, ES, /* scan 40-47 */ - ES, ES, ES, ES, ES, ES, ES, ES, /* scan 48-4F */ - ES, ES, ES, ES, 0, 0, AS, 0, /* scan 50-57 */ - 0, 0, 0, 0, 0, 0, 0, 0, /* scan 58-5F */ - 0, 0, 0, 0, 0, 0, 0, 0, /* scan 60-67 */ - 0, 0, 0, 0, 0, 0, 0, 0, /* scan 68-6F */ - AS, 0, 0, AS, 0, 0, AS, 0, /* scan 70-77 */ - 0, AS, 0, 0, 0, AS, 0, 0, /* scan 78-7F */ - AS, CN, AS, AS, AK, ST, EX, EX, /* enhanced */ - AS, EX, EX, AS, EX, AS, EX, EX /* enhanced */ + 0, AS, AS, AS, AS, AS, AS, AS, /* scan 0- 7 */ + AS, AS, AS, AS, AS, AS, AS, AS, /* scan 8- F */ + AS, AS, AS, AS, AS, AS, AS, AS, /* scan 10-17 */ + AS, AS, AS, AS, AS, CN, AS, AS, /* scan 18-1F */ + AS, AS, AS, AS, AS, AS, AS, AS, /* scan 20-27 */ + AS, AS, SH, AS, AS, AS, AS, AS, /* scan 28-2F */ + AS, AS, AS, AS, AS, AS, SH, AS, /* scan 30-37 */ + AS, AS, CP, 0, 0, 0, 0, 0, /* scan 38-3F */ + 0, 0, 0, 0, 0, NM, ST, ES, /* scan 40-47 */ + ES, ES, ES, ES, ES, ES, ES, ES, /* scan 48-4F */ + ES, ES, ES, ES, 0, 0, AS, 0, /* scan 50-57 */ + 0, 0, 0, 0, 0, 0, 0, 0, /* scan 58-5F */ + 0, 0, 0, 0, 0, 0, 0, 0, /* scan 60-67 */ + 0, 0, 0, 0, 0, 0, 0, 0, /* scan 68-6F */ + AS, 0, 0, AS, 0, 0, AS, 0, /* scan 70-77 */ + 0, AS, 0, 0, 0, AS, 0, 0, /* scan 78-7F */ + AS, CN, AS, AS, AK, ST, EX, EX, /* enhanced */ + AS, EX, EX, AS, EX, AS, EX, EX /* enhanced */ }; static unsigned char kbd_key_map [2][5][144] = { { /* US keyboard */ { /* unshift code */ - 0, 0x1b, '1', '2', '3', '4', '5', '6', /* scan 0- 7 */ - '7', '8', '9', '0', '-', '=', 0x08, '\t', /* scan 8- F */ - 'q', 'w', 'e', 'r', 't', 'y', 'u', 'i', /* scan 10-17 */ - 'o', 'p', '[', ']', '\r', CN, 'a', 's', /* scan 18-1F */ - 'd', 'f', 'g', 'h', 'j', 'k', 'l', ';', /* scan 20-27 */ - '\'', '`', SH, '\\', 'z', 'x', 'c', 'v', /* scan 28-2F */ - 'b', 'n', 'm', ',', '.', '/', SH, '*', /* scan 30-37 */ - ' ', ' ', CP, 0, 0, 0, 0, 0, /* scan 38-3F */ - 0, 0, 0, 0, 0, NM, ST, '7', /* scan 40-47 */ - '8', '9', '-', '4', '5', '6', '+', '1', /* scan 48-4F */ - '2', '3', '0', '.', 0, 0, 0, 0, /* scan 50-57 */ - 0, 0, 0, 0, 0, 0, 0, 0, /* scan 58-5F */ - 0, 0, 0, 0, 0, 0, 0, 0, /* scan 60-67 */ - 0, 0, 0, 0, 0, 0, 0, 0, /* scan 68-6F */ - 0, 0, 0, 0, 0, 0, 0, 0, /* scan 70-77 */ - 0, 0, 0, 0, 0, 0, 0, 0, /* scan 78-7F */ - '\r', CN, '/', '*', ' ', ST, 'F', 'A', /* extended */ - 0, 'D', 'C', 0, 'B', 0, '@', 'P' /* extended */ + 0, 0x1b, '1', '2', '3', '4', '5', '6', /* scan 0- 7 */ + '7', '8', '9', '0', '-', '=', 0x08, '\t', /* scan 8- F */ + 'q', 'w', 'e', 'r', 't', 'y', 'u', 'i', /* scan 10-17 */ + 'o', 'p', '[', ']', '\r', CN, 'a', 's', /* scan 18-1F */ + 'd', 'f', 'g', 'h', 'j', 'k', 'l', ';', /* scan 20-27 */ + '\'', '`', SH, '\\', 'z', 'x', 'c', 'v', /* scan 28-2F */ + 'b', 'n', 'm', ',', '.', '/', SH, '*', /* scan 30-37 */ + ' ', ' ', CP, 0, 0, 0, 0, 0, /* scan 38-3F */ + 0, 0, 0, 0, 0, NM, ST, '7', /* scan 40-47 */ + '8', '9', '-', '4', '5', '6', '+', '1', /* scan 48-4F */ + '2', '3', '0', '.', 0, 0, 0, 0, /* scan 50-57 */ + 0, 0, 0, 0, 0, 0, 0, 0, /* scan 58-5F */ + 0, 0, 0, 0, 0, 0, 0, 0, /* scan 60-67 */ + 0, 0, 0, 0, 0, 0, 0, 0, /* scan 68-6F */ + 0, 0, 0, 0, 0, 0, 0, 0, /* scan 70-77 */ + 0, 0, 0, 0, 0, 0, 0, 0, /* scan 78-7F */ + '\r', CN, '/', '*', ' ', ST, 'F', 'A', /* extended */ + 0, 'D', 'C', 0, 'B', 0, '@', 'P' /* extended */ }, { /* shift code */ - 0, 0x1b, '!', '@', '#', '$', '%', '^', /* scan 0- 7 */ - '&', '*', '(', ')', '_', '+', 0x08, '\t', /* scan 8- F */ - 'Q', 'W', 'E', 'R', 'T', 'Y', 'U', 'I', /* scan 10-17 */ - 'O', 'P', '{', '}', '\r', CN, 'A', 'S', /* scan 18-1F */ - 'D', 'F', 'G', 'H', 'J', 'K', 'L', ':', /* scan 20-27 */ - '"', '~', SH, '|', 'Z', 'X', 'C', 'V', /* scan 28-2F */ - 'B', 'N', 'M', '<', '>', '?', SH, '*', /* scan 30-37 */ - ' ', ' ', CP, 0, 0, 0, 0, 0, /* scan 38-3F */ - 0, 0, 0, 0, 0, NM, ST, '7', /* scan 40-47 */ - '8', '9', '-', '4', '5', '6', '+', '1', /* scan 48-4F */ - '2', '3', '0', '.', 0, 0, 0, 0, /* scan 50-57 */ - 0, 0, 0, 0, 0, 0, 0, 0, /* scan 58-5F */ - 0, 0, 0, 0, 0, 0, 0, 0, /* scan 60-67 */ - 0, 0, 0, 0, 0, 0, 0, 0, /* scan 68-6F */ - 0, 0, 0, 0, 0, 0, 0, 0, /* scan 70-77 */ - 0, 0, 0, 0, 0, 0, 0, 0, /* scan 78-7F */ - '\r', CN, '/', '*', ' ', ST, 'F', 'A', /* extended */ - 0, 'D', 'C', 0, 'B', 0, '@', 'P' /* extended */ + 0, 0x1b, '!', '@', '#', '$', '%', '^', /* scan 0- 7 */ + '&', '*', '(', ')', '_', '+', 0x08, '\t', /* scan 8- F */ + 'Q', 'W', 'E', 'R', 'T', 'Y', 'U', 'I', /* scan 10-17 */ + 'O', 'P', '{', '}', '\r', CN, 'A', 'S', /* scan 18-1F */ + 'D', 'F', 'G', 'H', 'J', 'K', 'L', ':', /* scan 20-27 */ + '"', '~', SH, '|', 'Z', 'X', 'C', 'V', /* scan 28-2F */ + 'B', 'N', 'M', '<', '>', '?', SH, '*', /* scan 30-37 */ + ' ', ' ', CP, 0, 0, 0, 0, 0, /* scan 38-3F */ + 0, 0, 0, 0, 0, NM, ST, '7', /* scan 40-47 */ + '8', '9', '-', '4', '5', '6', '+', '1', /* scan 48-4F */ + '2', '3', '0', '.', 0, 0, 0, 0, /* scan 50-57 */ + 0, 0, 0, 0, 0, 0, 0, 0, /* scan 58-5F */ + 0, 0, 0, 0, 0, 0, 0, 0, /* scan 60-67 */ + 0, 0, 0, 0, 0, 0, 0, 0, /* scan 68-6F */ + 0, 0, 0, 0, 0, 0, 0, 0, /* scan 70-77 */ + 0, 0, 0, 0, 0, 0, 0, 0, /* scan 78-7F */ + '\r', CN, '/', '*', ' ', ST, 'F', 'A', /* extended */ + 0, 'D', 'C', 0, 'B', 0, '@', 'P' /* extended */ }, { /* control code */ - 0xff, 0x1b, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, /* scan 0- 7 */ - 0x1e, 0xff, 0xff, 0xff, 0x1f, 0xff, 0xff, '\t', /* scan 8- F */ - 0x11, 0x17, 0x05, 0x12, 0x14, 0x19, 0x15, 0x09, /* scan 10-17 */ - 0x0f, 0x10, 0x1b, 0x1d, '\r', CN, 0x01, 0x13, /* scan 18-1F */ - 0x04, 0x06, 0x07, 0x08, 0x0a, 0x0b, 0x0c, 0xff, /* scan 20-27 */ - 0xff, 0x1c, SH, 0xff, 0x1a, 0x18, 0x03, 0x16, /* scan 28-2F */ - 0x02, 0x0e, 0x0d, 0xff, 0xff, 0xff, SH, 0xff, /* scan 30-37 */ - 0xff, 0xff, CP, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 38-3F */ - 0xff, 0xff, 0xff, 0xff, 0xff, NM, ST, 0xff, /* scan 40-47 */ - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 48-4F */ - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 50-57 */ - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 58-5F */ - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 60-67 */ - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 68-6F */ - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 70-77 */ - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 78-7F */ - '\r', CN, '/', '*', ' ', ST, 0xff, 0xff, /* extended */ - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff /* extended */ + 0xff, 0x1b, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, /* scan 0- 7 */ + 0x1e, 0xff, 0xff, 0xff, 0x1f, 0xff, 0xff, '\t', /* scan 8- F */ + 0x11, 0x17, 0x05, 0x12, 0x14, 0x19, 0x15, 0x09, /* scan 10-17 */ + 0x0f, 0x10, 0x1b, 0x1d, '\r', CN, 0x01, 0x13, /* scan 18-1F */ + 0x04, 0x06, 0x07, 0x08, 0x0a, 0x0b, 0x0c, 0xff, /* scan 20-27 */ + 0xff, 0x1c, SH, 0xff, 0x1a, 0x18, 0x03, 0x16, /* scan 28-2F */ + 0x02, 0x0e, 0x0d, 0xff, 0xff, 0xff, SH, 0xff, /* scan 30-37 */ + 0xff, 0xff, CP, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 38-3F */ + 0xff, 0xff, 0xff, 0xff, 0xff, NM, ST, 0xff, /* scan 40-47 */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 48-4F */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 50-57 */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 58-5F */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 60-67 */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 68-6F */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 70-77 */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 78-7F */ + '\r', CN, '/', '*', ' ', ST, 0xff, 0xff, /* extended */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff /* extended */ }, { /* non numeric code */ - 0, 0x1b, '1', '2', '3', '4', '5', '6', /* scan 0- 7 */ - '7', '8', '9', '0', '-', '=', 0x08, '\t', /* scan 8- F */ - 'q', 'w', 'e', 'r', 't', 'y', 'u', 'i', /* scan 10-17 */ - 'o', 'p', '[', ']', '\r', CN, 'a', 's', /* scan 18-1F */ - 'd', 'f', 'g', 'h', 'j', 'k', 'l', ';', /* scan 20-27 */ - '\'', '`', SH, '\\', 'z', 'x', 'c', 'v', /* scan 28-2F */ - 'b', 'n', 'm', ',', '.', '/', SH, '*', /* scan 30-37 */ - ' ', ' ', CP, 0, 0, 0, 0, 0, /* scan 38-3F */ - 0, 0, 0, 0, 0, NM, ST, 'w', /* scan 40-47 */ - 'x', 'y', 'l', 't', 'u', 'v', 'm', 'q', /* scan 48-4F */ - 'r', 's', 'p', 'n', 0, 0, 0, 0, /* scan 50-57 */ - 0, 0, 0, 0, 0, 0, 0, 0, /* scan 58-5F */ - 0, 0, 0, 0, 0, 0, 0, 0, /* scan 60-67 */ - 0, 0, 0, 0, 0, 0, 0, 0, /* scan 68-6F */ - 0, 0, 0, 0, 0, 0, 0, 0, /* scan 70-77 */ - 0, 0, 0, 0, 0, 0, 0, 0, /* scan 78-7F */ - '\r', CN, '/', '*', ' ', ST, 'F', 'A', /* extended */ - 0, 'D', 'C', 0, 'B', 0, '@', 'P' /* extended */ + 0, 0x1b, '1', '2', '3', '4', '5', '6', /* scan 0- 7 */ + '7', '8', '9', '0', '-', '=', 0x08, '\t', /* scan 8- F */ + 'q', 'w', 'e', 'r', 't', 'y', 'u', 'i', /* scan 10-17 */ + 'o', 'p', '[', ']', '\r', CN, 'a', 's', /* scan 18-1F */ + 'd', 'f', 'g', 'h', 'j', 'k', 'l', ';', /* scan 20-27 */ + '\'', '`', SH, '\\', 'z', 'x', 'c', 'v', /* scan 28-2F */ + 'b', 'n', 'm', ',', '.', '/', SH, '*', /* scan 30-37 */ + ' ', ' ', CP, 0, 0, 0, 0, 0, /* scan 38-3F */ + 0, 0, 0, 0, 0, NM, ST, 'w', /* scan 40-47 */ + 'x', 'y', 'l', 't', 'u', 'v', 'm', 'q', /* scan 48-4F */ + 'r', 's', 'p', 'n', 0, 0, 0, 0, /* scan 50-57 */ + 0, 0, 0, 0, 0, 0, 0, 0, /* scan 58-5F */ + 0, 0, 0, 0, 0, 0, 0, 0, /* scan 60-67 */ + 0, 0, 0, 0, 0, 0, 0, 0, /* scan 68-6F */ + 0, 0, 0, 0, 0, 0, 0, 0, /* scan 70-77 */ + 0, 0, 0, 0, 0, 0, 0, 0, /* scan 78-7F */ + '\r', CN, '/', '*', ' ', ST, 'F', 'A', /* extended */ + 0, 'D', 'C', 0, 'B', 0, '@', 'P' /* extended */ }, { /* right alt mode - not used in US keyboard */ - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 0 - 7 */ - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 8 - F */ - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 10 -17 */ - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 18 -1F */ - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 20 -27 */ - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 28 -2F */ - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 30 -37 */ - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 38 -3F */ - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 40 -47 */ - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 48 -4F */ - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 50 -57 */ - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 58 -5F */ - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 60 -67 */ - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 68 -6F */ - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 70 -77 */ - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 78 -7F */ - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* extended */ - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff /* extended */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 0 - 7 */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 8 - F */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 10 -17 */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 18 -1F */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 20 -27 */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 28 -2F */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 30 -37 */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 38 -3F */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 40 -47 */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 48 -4F */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 50 -57 */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 58 -5F */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 60 -67 */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 68 -6F */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 70 -77 */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 78 -7F */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* extended */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff /* extended */ } }, { /* german keyboard */ { /* unshift code */ - 0, 0x1b, '1', '2', '3', '4', '5', '6', /* scan 0- 7 */ - '7', '8', '9', '0', 0xe1, '\'', 0x08, '\t', /* scan 8- F */ - 'q', 'w', 'e', 'r', 't', 'z', 'u', 'i', /* scan 10-17 */ - 'o', 'p', 0x81, '+', '\r', CN, 'a', 's', /* scan 18-1F */ - 'd', 'f', 'g', 'h', 'j', 'k', 'l', 0x94, /* scan 20-27 */ - 0x84, '^', SH, '#', 'y', 'x', 'c', 'v', /* scan 28-2F */ - 'b', 'n', 'm', ',', '.', '-', SH, '*', /* scan 30-37 */ - ' ', ' ', CP, 0, 0, 0, 0, 0, /* scan 38-3F */ - 0, 0, 0, 0, 0, NM, ST, '7', /* scan 40-47 */ - '8', '9', '-', '4', '5', '6', '+', '1', /* scan 48-4F */ - '2', '3', '0', ',', 0, 0, '<', 0, /* scan 50-57 */ - 0, 0, 0, 0, 0, 0, 0, 0, /* scan 58-5F */ - 0, 0, 0, 0, 0, 0, 0, 0, /* scan 60-67 */ - 0, 0, 0, 0, 0, 0, 0, 0, /* scan 68-6F */ - 0, 0, 0, 0, 0, 0, 0, 0, /* scan 70-77 */ - 0, 0, 0, 0, 0, 0, 0, 0, /* scan 78-7F */ - '\r', CN, '/', '*', ' ', ST, 'F', 'A', /* extended */ - 0, 'D', 'C', 0, 'B', 0, '@', 'P' /* extended */ + 0, 0x1b, '1', '2', '3', '4', '5', '6', /* scan 0- 7 */ + '7', '8', '9', '0', 0xe1, '\'', 0x08, '\t', /* scan 8- F */ + 'q', 'w', 'e', 'r', 't', 'z', 'u', 'i', /* scan 10-17 */ + 'o', 'p', 0x81, '+', '\r', CN, 'a', 's', /* scan 18-1F */ + 'd', 'f', 'g', 'h', 'j', 'k', 'l', 0x94, /* scan 20-27 */ + 0x84, '^', SH, '#', 'y', 'x', 'c', 'v', /* scan 28-2F */ + 'b', 'n', 'm', ',', '.', '-', SH, '*', /* scan 30-37 */ + ' ', ' ', CP, 0, 0, 0, 0, 0, /* scan 38-3F */ + 0, 0, 0, 0, 0, NM, ST, '7', /* scan 40-47 */ + '8', '9', '-', '4', '5', '6', '+', '1', /* scan 48-4F */ + '2', '3', '0', ',', 0, 0, '<', 0, /* scan 50-57 */ + 0, 0, 0, 0, 0, 0, 0, 0, /* scan 58-5F */ + 0, 0, 0, 0, 0, 0, 0, 0, /* scan 60-67 */ + 0, 0, 0, 0, 0, 0, 0, 0, /* scan 68-6F */ + 0, 0, 0, 0, 0, 0, 0, 0, /* scan 70-77 */ + 0, 0, 0, 0, 0, 0, 0, 0, /* scan 78-7F */ + '\r', CN, '/', '*', ' ', ST, 'F', 'A', /* extended */ + 0, 'D', 'C', 0, 'B', 0, '@', 'P' /* extended */ }, { /* shift code */ - 0, 0x1b, '!', '"', 0x15, '$', '%', '&', /* scan 0- 7 */ - '/', '(', ')', '=', '?', '`', 0x08, '\t', /* scan 8- F */ - 'Q', 'W', 'E', 'R', 'T', 'Z', 'U', 'I', /* scan 10-17 */ - 'O', 'P', 0x9a, '*', '\r', CN, 'A', 'S', /* scan 18-1F */ - 'D', 'F', 'G', 'H', 'J', 'K', 'L', 0x99, /* scan 20-27 */ - 0x8e, 0xf8, SH, '\'', 'Y', 'X', 'C', 'V', /* scan 28-2F */ - 'B', 'N', 'M', ';', ':', '_', SH, '*', /* scan 30-37 */ - ' ', ' ', CP, 0, 0, 0, 0, 0, /* scan 38-3F */ - 0, 0, 0, 0, 0, NM, ST, '7', /* scan 40-47 */ - '8', '9', '-', '4', '5', '6', '+', '1', /* scan 48-4F */ - '2', '3', '0', ',', 0, 0, '>', 0, /* scan 50-57 */ - 0, 0, 0, 0, 0, 0, 0, 0, /* scan 58-5F */ - 0, 0, 0, 0, 0, 0, 0, 0, /* scan 60-67 */ - 0, 0, 0, 0, 0, 0, 0, 0, /* scan 68-6F */ - 0, 0, 0, 0, 0, 0, 0, 0, /* scan 70-77 */ - 0, 0, 0, 0, 0, 0, 0, 0, /* scan 78-7F */ - '\r', CN, '/', '*', ' ', ST, 'F', 'A', /* extended */ - 0, 'D', 'C', 0, 'B', 0, '@', 'P' /* extended */ + 0, 0x1b, '!', '"', 0x15, '$', '%', '&', /* scan 0- 7 */ + '/', '(', ')', '=', '?', '`', 0x08, '\t', /* scan 8- F */ + 'Q', 'W', 'E', 'R', 'T', 'Z', 'U', 'I', /* scan 10-17 */ + 'O', 'P', 0x9a, '*', '\r', CN, 'A', 'S', /* scan 18-1F */ + 'D', 'F', 'G', 'H', 'J', 'K', 'L', 0x99, /* scan 20-27 */ + 0x8e, 0xf8, SH, '\'', 'Y', 'X', 'C', 'V', /* scan 28-2F */ + 'B', 'N', 'M', ';', ':', '_', SH, '*', /* scan 30-37 */ + ' ', ' ', CP, 0, 0, 0, 0, 0, /* scan 38-3F */ + 0, 0, 0, 0, 0, NM, ST, '7', /* scan 40-47 */ + '8', '9', '-', '4', '5', '6', '+', '1', /* scan 48-4F */ + '2', '3', '0', ',', 0, 0, '>', 0, /* scan 50-57 */ + 0, 0, 0, 0, 0, 0, 0, 0, /* scan 58-5F */ + 0, 0, 0, 0, 0, 0, 0, 0, /* scan 60-67 */ + 0, 0, 0, 0, 0, 0, 0, 0, /* scan 68-6F */ + 0, 0, 0, 0, 0, 0, 0, 0, /* scan 70-77 */ + 0, 0, 0, 0, 0, 0, 0, 0, /* scan 78-7F */ + '\r', CN, '/', '*', ' ', ST, 'F', 'A', /* extended */ + 0, 'D', 'C', 0, 'B', 0, '@', 'P' /* extended */ }, { /* control code */ - 0xff, 0x1b, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, /* scan 0- 7 */ - 0x1e, 0xff, 0xff, 0xff, 0x1f, 0xff, 0xff, '\t', /* scan 8- F */ - 0x11, 0x17, 0x05, 0x12, 0x14, 0x19, 0x15, 0x09, /* scan 10-17 */ - 0x0f, 0x10, 0x1b, 0x1d, '\r', CN, 0x01, 0x13, /* scan 18-1F */ - 0x04, 0x06, 0x07, 0x08, 0x0a, 0x0b, 0x0c, 0xff, /* scan 20-27 */ - 0xff, 0x1c, SH, 0xff, 0x1a, 0x18, 0x03, 0x16, /* scan 28-2F */ - 0x02, 0x0e, 0x0d, 0xff, 0xff, 0xff, SH, 0xff, /* scan 30-37 */ - 0xff, 0xff, CP, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 38-3F */ - 0xff, 0xff, 0xff, 0xff, 0xff, NM, ST, 0xff, /* scan 40-47 */ - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 48-4F */ - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 50-57 */ - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 58-5F */ - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 60-67 */ - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 68-6F */ - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 70-77 */ - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 78-7F */ - '\r', CN, '/', '*', ' ', ST, 0xff, 0xff, /* extended */ - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff /* extended */ + 0xff, 0x1b, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, /* scan 0- 7 */ + 0x1e, 0xff, 0xff, 0xff, 0x1f, 0xff, 0xff, '\t', /* scan 8- F */ + 0x11, 0x17, 0x05, 0x12, 0x14, 0x19, 0x15, 0x09, /* scan 10-17 */ + 0x0f, 0x10, 0x1b, 0x1d, '\r', CN, 0x01, 0x13, /* scan 18-1F */ + 0x04, 0x06, 0x07, 0x08, 0x0a, 0x0b, 0x0c, 0xff, /* scan 20-27 */ + 0xff, 0x1c, SH, 0xff, 0x1a, 0x18, 0x03, 0x16, /* scan 28-2F */ + 0x02, 0x0e, 0x0d, 0xff, 0xff, 0xff, SH, 0xff, /* scan 30-37 */ + 0xff, 0xff, CP, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 38-3F */ + 0xff, 0xff, 0xff, 0xff, 0xff, NM, ST, 0xff, /* scan 40-47 */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 48-4F */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 50-57 */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 58-5F */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 60-67 */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 68-6F */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 70-77 */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 78-7F */ + '\r', CN, '/', '*', ' ', ST, 0xff, 0xff, /* extended */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff /* extended */ }, { /* non numeric code */ - 0, 0x1b, '1', '2', '3', '4', '5', '6', /* scan 0- 7 */ - '7', '8', '9', '0', 0xe1, '\'', 0x08, '\t', /* scan 8- F */ - 'q', 'w', 'e', 'r', 't', 'z', 'u', 'i', /* scan 10-17 */ - 'o', 'p', 0x81, '+', '\r', CN, 'a', 's', /* scan 18-1F */ - 'd', 'f', 'g', 'h', 'j', 'k', 'l', 0x94, /* scan 20-27 */ - 0x84, '^', SH, 0, 'y', 'x', 'c', 'v', /* scan 28-2F */ - 'b', 'n', 'm', ',', '.', '-', SH, '*', /* scan 30-37 */ - ' ', ' ', CP, 0, 0, 0, 0, 0, /* scan 38-3F */ - 0, 0, 0, 0, 0, NM, ST, 'w', /* scan 40-47 */ - 'x', 'y', 'l', 't', 'u', 'v', 'm', 'q', /* scan 48-4F */ - 'r', 's', 'p', 'n', 0, 0, '<', 0, /* scan 50-57 */ - 0, 0, 0, 0, 0, 0, 0, 0, /* scan 58-5F */ - 0, 0, 0, 0, 0, 0, 0, 0, /* scan 60-67 */ - 0, 0, 0, 0, 0, 0, 0, 0, /* scan 68-6F */ - 0, 0, 0, 0, 0, 0, 0, 0, /* scan 70-77 */ - 0, 0, 0, 0, 0, 0, 0, 0, /* scan 78-7F */ - '\r', CN, '/', '*', ' ', ST, 'F', 'A', /* extended */ - 0, 'D', 'C', 0, 'B', 0, '@', 'P' /* extended */ + 0, 0x1b, '1', '2', '3', '4', '5', '6', /* scan 0- 7 */ + '7', '8', '9', '0', 0xe1, '\'', 0x08, '\t', /* scan 8- F */ + 'q', 'w', 'e', 'r', 't', 'z', 'u', 'i', /* scan 10-17 */ + 'o', 'p', 0x81, '+', '\r', CN, 'a', 's', /* scan 18-1F */ + 'd', 'f', 'g', 'h', 'j', 'k', 'l', 0x94, /* scan 20-27 */ + 0x84, '^', SH, 0, 'y', 'x', 'c', 'v', /* scan 28-2F */ + 'b', 'n', 'm', ',', '.', '-', SH, '*', /* scan 30-37 */ + ' ', ' ', CP, 0, 0, 0, 0, 0, /* scan 38-3F */ + 0, 0, 0, 0, 0, NM, ST, 'w', /* scan 40-47 */ + 'x', 'y', 'l', 't', 'u', 'v', 'm', 'q', /* scan 48-4F */ + 'r', 's', 'p', 'n', 0, 0, '<', 0, /* scan 50-57 */ + 0, 0, 0, 0, 0, 0, 0, 0, /* scan 58-5F */ + 0, 0, 0, 0, 0, 0, 0, 0, /* scan 60-67 */ + 0, 0, 0, 0, 0, 0, 0, 0, /* scan 68-6F */ + 0, 0, 0, 0, 0, 0, 0, 0, /* scan 70-77 */ + 0, 0, 0, 0, 0, 0, 0, 0, /* scan 78-7F */ + '\r', CN, '/', '*', ' ', ST, 'F', 'A', /* extended */ + 0, 'D', 'C', 0, 'B', 0, '@', 'P' /* extended */ }, { /* Right alt mode - is used in German keyboard */ - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 0 - 7 */ - '{', '[', ']', '}', '\\', 0xff, 0xff, 0xff, /* scan 8 - F */ - '@', 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 10 -17 */ - 0xff, 0xff, 0xff, '~', 0xff, 0xff, 0xff, 0xff, /* scan 18 -1F */ - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 20 -27 */ - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 28 -2F */ - 0xff, 0xff, 0xe6, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 30 -37 */ - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 38 -3F */ - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 40 -47 */ - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 48 -4F */ - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, '|', 0xff, /* scan 50 -57 */ - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 58 -5F */ - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 60 -67 */ - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 68 -6F */ - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 70 -77 */ - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 78 -7F */ - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* extended */ - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff /* extended */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 0 - 7 */ + '{', '[', ']', '}', '\\', 0xff, 0xff, 0xff, /* scan 8 - F */ + '@', 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 10 -17 */ + 0xff, 0xff, 0xff, '~', 0xff, 0xff, 0xff, 0xff, /* scan 18 -1F */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 20 -27 */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 28 -2F */ + 0xff, 0xff, 0xe6, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 30 -37 */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 38 -3F */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 40 -47 */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 48 -4F */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, '|', 0xff, /* scan 50 -57 */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 58 -5F */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 60 -67 */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 68 -6F */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 70 -77 */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 78 -7F */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* extended */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff /* extended */ } } }; @@ -328,8 +328,8 @@ int i8042_kbd_init (void) #ifdef CONFIG_USE_CPCIDVI if ((penv = getenv ("console")) != NULL) { - if (strncmp (penv, "serial", 7) == 0) { - return -1; + if (strncmp (penv, "serial", 7) == 0) { + return -1; } } #endif @@ -345,9 +345,9 @@ int i8042_kbd_init (void) { if (kbd_reset() == 0) { - kbd_mapping = keymap; - kbd_flags = NORMAL; - kbd_state = 0; + kbd_mapping = keymap; + kbd_flags = NORMAL; + kbd_state = 0; kbd_led_set(); return 0; } @@ -359,7 +359,7 @@ int i8042_kbd_init (void) /******************************************************************************* * * i8042_tstc - test if keyboard input is available - * option: cursor blinking if called in a loop + * option: cursor blinking if called in a loop */ int i8042_tstc (void) { @@ -395,7 +395,7 @@ int i8042_tstc (void) /******************************************************************************* * * i8042_getc - wait till keyboard input is available - * option: turn on/off cursor while waiting + * option: turn on/off cursor while waiting */ int i8042_getc (void) { @@ -448,8 +448,8 @@ static void kbd_conv_char (unsigned char scan_code) { if (scan_code == 0xe1) { - kbd_flags ^= BRK; /* reset the break flag */ - kbd_flags ^= E1; /* bitwise EXOR with E1 flag */ + kbd_flags ^= BRK; /* reset the break flag */ + kbd_flags ^= E1; /* bitwise EXOR with E1 flag */ } return; } @@ -560,7 +560,7 @@ static void kbd_caps (unsigned char scan_code) if ((kbd_flags & BRK) == NORMAL) { kbd_flags ^= CAPS; - kbd_led_set (); /* update keyboard LED */ + kbd_led_set (); /* update keyboard LED */ } } @@ -573,7 +573,7 @@ static void kbd_num (unsigned char scan_code) { kbd_flags ^= NUM; kbd_state = (kbd_flags & NUM) ? AS : NM; - kbd_led_set (); /* update keyboard LED */ + kbd_led_set (); /* update keyboard LED */ } } @@ -585,7 +585,7 @@ static void kbd_scroll (unsigned char scan_code) if ((kbd_flags & BRK) == NORMAL) { kbd_flags ^= STP; - kbd_led_set (); /* update keyboard LED */ + kbd_led_set (); /* update keyboard LED */ if (kbd_flags & STP) kbd_input = 0x13; else @@ -615,9 +615,9 @@ static void kbd_alt (unsigned char scan_code) static void kbd_led_set (void) { kbd_input_empty(); - out8 (I8042_DATA_REG, 0xed); /* SET LED command */ + out8 (I8042_DATA_REG, 0xed); /* SET LED command */ kbd_input_empty(); - out8 (I8042_DATA_REG, (kbd_flags & 0x7)); /* LED bits only */ + out8 (I8042_DATA_REG, (kbd_flags & 0x7)); /* LED bits only */ } diff --git a/drivers/nand/nand_base.c b/drivers/nand/nand_base.c index b2cd62e..d91d90b 100644 --- a/drivers/nand/nand_base.c +++ b/drivers/nand/nand_base.c @@ -1724,6 +1724,8 @@ static int nand_write_ecc (struct mtd_info *mtd, loff_t to, size_t len, numpages = min (totalpages, ppblock); page &= this->pagemask; startpage = page; + oob = 0; + this->oobdirty = 1; oobbuf = nand_prepare_oobbuf (mtd, eccbuf, oobsel, autoplace, numpages); /* Check, if we cross a chip boundary */ @@ -2148,13 +2150,14 @@ int nand_erase_nand (struct mtd_info *mtd, struct erase_info *instr, int allowbb instr->state = MTD_ERASING; while (len) { +#ifndef NAND_ALLOW_ERASE_ALL /* Check if we have a bad block, we do not erase bad blocks ! */ if (nand_block_checkbad(mtd, ((loff_t) page) << this->page_shift, 0, allowbbt)) { printk (KERN_WARNING "nand_erase: attempt to erase a bad block at page 0x%08x\n", page); instr->state = MTD_ERASE_FAILED; goto erase_exit; } - +#endif /* Invalidate the page cache, if we erase the block which contains the current cached page */ if (page <= this->pagebuf && this->pagebuf < (page + pages_per_block)) diff --git a/include/asm-arm/arch-pxa/hardware.h b/include/asm-arm/arch-pxa/hardware.h index 3ff1d26..c8c479a 100644 --- a/include/asm-arm/arch-pxa/hardware.h +++ b/include/asm-arm/arch-pxa/hardware.h @@ -92,6 +92,10 @@ typedef struct { volatile u32 offset[4096]; } __regbase; # define __REG2(x,y) (*(volatile u32 *)((u32)&__REG(x) + (y))) # else # define __REG(x) (x) +# ifdef CONFIG_CPU_MONAHANS /* Hack to make this work with mona's pxa-regs.h */ +# define __REG_2(x) (x) +# define __REG_3(x) (x) +# endif # endif #endif /* UBOOT_REG_FIX */ diff --git a/include/asm-arm/arch-pxa/pxa-regs.h b/include/asm-arm/arch-pxa/pxa-regs.h index 41d37d7..83ae5e3 100644 --- a/include/asm-arm/arch-pxa/pxa-regs.h +++ b/include/asm-arm/arch-pxa/pxa-regs.h @@ -33,12 +33,21 @@ typedef void (*ExcpHndlr) (void) ; /* * PXA Chip selects */ +#ifdef CONFIG_CPU_MONAHANS +#define PXA_CS0_PHYS 0x00000000 /* for both small and large same start */ +#define PXA_CS1_PHYS 0x04000000 /* Small partition start address (64MB) */ +#define PXA_CS1_LPHYS 0x30000000 /* Large partition start address (256MB) */ +#define PXA_CS2_PHYS 0x10000000 /* (64MB) */ +#define PXA_CS3_PHYS 0x14000000 /* (64MB) */ +#define PXA_PCMCIA_PHYS 0x20000000 /* (256MB) */ +#else #define PXA_CS0_PHYS 0x00000000 #define PXA_CS1_PHYS 0x04000000 #define PXA_CS2_PHYS 0x08000000 #define PXA_CS3_PHYS 0x0C000000 #define PXA_CS4_PHYS 0x10000000 #define PXA_CS5_PHYS 0x14000000 +#endif /* CONFIG_CPU_MONAHANS */ /* * Personal Computer Memory Card International Association (PCMCIA) sockets @@ -49,10 +58,12 @@ typedef void (*ExcpHndlr) (void) ; #define PCMCIAAttrSp PCMCIAPrtSp /* PCMCIA Attribute Space [byte] */ #define PCMCIAMemSp PCMCIAPrtSp /* PCMCIA Memory Space [byte] */ +#ifndef CONFIG_CPU_MONAHANS /* Monahans supports only one slot */ #define PCMCIA0Sp PCMCIASp /* PCMCIA 0 Space [byte] */ #define PCMCIA0IOSp PCMCIAIOSp /* PCMCIA 0 I/O Space [byte] */ #define PCMCIA0AttrSp PCMCIAAttrSp /* PCMCIA 0 Attribute Space [byte] */ #define PCMCIA0MemSp PCMCIAMemSp /* PCMCIA 0 Memory Space [byte] */ +#endif #define PCMCIA1Sp PCMCIASp /* PCMCIA 1 Space [byte] */ #define PCMCIA1IOSp PCMCIAIOSp /* PCMCIA 1 I/O Space [byte] */ @@ -72,10 +83,12 @@ typedef void (*ExcpHndlr) (void) ; #define _PCMCIA0Attr _PCMCIAAttr (0) /* PCMCIA 0 Attribute */ #define _PCMCIA0Mem _PCMCIAMem (0) /* PCMCIA 0 Memory */ +#ifndef CONFIG_CPU_MONAHANS /* Monahans supports only one slot */ #define _PCMCIA1 _PCMCIA (1) /* PCMCIA 1 */ #define _PCMCIA1IO _PCMCIAIO (1) /* PCMCIA 1 I/O */ #define _PCMCIA1Attr _PCMCIAAttr (1) /* PCMCIA 1 Attribute */ #define _PCMCIA1Mem _PCMCIAMem (1) /* PCMCIA 1 Memory */ +#endif /* * DMA Controller @@ -96,6 +109,24 @@ typedef void (*ExcpHndlr) (void) ; #define DCSR13 __REG(0x40000034) /* DMA Control / Status Register for Channel 13 */ #define DCSR14 __REG(0x40000038) /* DMA Control / Status Register for Channel 14 */ #define DCSR15 __REG(0x4000003c) /* DMA Control / Status Register for Channel 15 */ +#ifdef CONFIG_CPU_MONAHANS +#define DCSR16 __REG(0x40000040) /* DMA Control / Status Register for Channel 16 */ +#define DCSR17 __REG(0x40000044) /* DMA Control / Status Register for Channel 17 */ +#define DCSR18 __REG(0x40000048) /* DMA Control / Status Register for Channel 18 */ +#define DCSR19 __REG(0x4000004c) /* DMA Control / Status Register for Channel 19 */ +#define DCSR20 __REG(0x40000050) /* DMA Control / Status Register for Channel 20 */ +#define DCSR21 __REG(0x40000054) /* DMA Control / Status Register for Channel 21 */ +#define DCSR22 __REG(0x40000058) /* DMA Control / Status Register for Channel 22 */ +#define DCSR23 __REG(0x4000005c) /* DMA Control / Status Register for Channel 23 */ +#define DCSR24 __REG(0x40000060) /* DMA Control / Status Register for Channel 24 */ +#define DCSR25 __REG(0x40000064) /* DMA Control / Status Register for Channel 25 */ +#define DCSR26 __REG(0x40000068) /* DMA Control / Status Register for Channel 26 */ +#define DCSR27 __REG(0x4000006c) /* DMA Control / Status Register for Channel 27 */ +#define DCSR28 __REG(0x40000070) /* DMA Control / Status Register for Channel 28 */ +#define DCSR29 __REG(0x40000074) /* DMA Control / Status Register for Channel 29 */ +#define DCSR30 __REG(0x40000078) /* DMA Control / Status Register for Channel 30 */ +#define DCSR31 __REG(0x4000007c) /* DMA Control / Status Register for Channel 31 */ +#endif /* CONFIG_CPU_MONAHANS */ #define DCSR(x) __REG2(0x40000000, (x) << 2) @@ -103,7 +134,7 @@ typedef void (*ExcpHndlr) (void) ; #define DCSR_NODESC (1 << 30) /* No-Descriptor Fetch (read / write) */ #define DCSR_STOPIRQEN (1 << 29) /* Stop Interrupt Enable (read / write) */ -#if defined(CONFIG_PXA27X) +#if defined(CONFIG_PXA27X) || defined (CONFIG_CPU_MONAHANS) #define DCSR_EORIRQEN (1 << 28) /* End of Receive Interrupt Enable (R/W) */ #define DCSR_EORJMPEN (1 << 27) /* Jump to next descriptor on EOR */ #define DCSR_EORSTOPEN (1 << 26) /* STOP on an EOR */ @@ -813,15 +844,47 @@ typedef void (*ExcpHndlr) (void) ; /* * OS Timer & Match Registers */ -#define OSMR0 __REG(0x40A00000) /* */ -#define OSMR1 __REG(0x40A00004) /* */ -#define OSMR2 __REG(0x40A00008) /* */ -#define OSMR3 __REG(0x40A0000C) /* */ +#define OSMR0 __REG(0x40A00000) /* OS Timer Match Register 0 */ +#define OSMR1 __REG(0x40A00004) /* OS Timer Match Register 1 */ +#define OSMR2 __REG(0x40A00008) /* OS Timer Match Register 2 */ +#define OSMR3 __REG(0x40A0000C) /* OS Timer Match Register 3 */ #define OSCR __REG(0x40A00010) /* OS Timer Counter Register */ #define OSSR __REG(0x40A00014) /* OS Timer Status Register */ #define OWER __REG(0x40A00018) /* OS Timer Watchdog Enable Register */ #define OIER __REG(0x40A0001C) /* OS Timer Interrupt Enable Register */ +#ifdef CONFIG_CPU_MONAHANS +#define OSCR4 __REG(0x40A00040) /* OS Timer Counter Register 4 */ +#define OSCR5 __REG(0x40A00044) /* OS Timer Counter Register 5 */ +#define OSCR6 __REG(0x40A00048) /* OS Timer Counter Register 6 */ +#define OSCR7 __REG(0x40A0004C) /* OS Timer Counter Register 7 */ +#define OSCR8 __REG(0x40A00050) /* OS Timer Counter Register 8 */ +#define OSCR9 __REG(0x40A00054) /* OS Timer Counter Register 9 */ +#define OSCR10 __REG(0x40A00058) /* OS Timer Counter Register 10 */ +#define OSCR11 __REG(0x40A0005C) /* OS Timer Counter Register 11 */ + +#define OSMR4 __REG(0x40A00080) /* OS Timer Match Register 4 */ +#define OSMR5 __REG(0x40A00084) /* OS Timer Match Register 5 */ +#define OSMR6 __REG(0x40A00088) /* OS Timer Match Register 6 */ +#define OSMR7 __REG(0x40A0008C) /* OS Timer Match Register 7 */ +#define OSMR8 __REG(0x40A00090) /* OS Timer Match Register 8 */ +#define OSMR9 __REG(0x40A00094) /* OS Timer Match Register 9 */ +#define OSMR10 __REG(0x40A00098) /* OS Timer Match Register 10 */ +#define OSMR11 __REG(0x40A0009C) /* OS Timer Match Register 11 */ + +#define OMCR4 __REG(0x40A000C0) /* OS Match Control Register 4 */ +#define OMCR5 __REG(0x40A000C4) /* OS Match Control Register 5 */ +#define OMCR6 __REG(0x40A000C8) /* OS Match Control Register 6 */ +#define OMCR7 __REG(0x40A000CC) /* OS Match Control Register 7 */ +#define OMCR8 __REG(0x40A000D0) /* OS Match Control Register 8 */ +#define OMCR9 __REG(0x40A000D4) /* OS Match Control Register 9 */ +#define OMCR10 __REG(0x40A000D8) /* OS Match Control Register 10 */ +#define OMCR11 __REG(0x40A000DC) /* OS Match Control Register 11 */ + +#define OSCR_CLK_FREQ 3.250 /* MHz */ +#endif /* CONFIG_CPU_MONAHANS */ + +#define OSSR_M4 (1 << 4) /* Match status channel 4 */ #define OSSR_M3 (1 << 3) /* Match status channel 3 */ #define OSSR_M2 (1 << 2) /* Match status channel 2 */ #define OSSR_M1 (1 << 1) /* Match status channel 1 */ @@ -829,6 +892,7 @@ typedef void (*ExcpHndlr) (void) ; #define OWER_WME (1 << 0) /* Watchdog Match Enable */ +#define OIER_E4 (1 << 4) /* Interrupt enable channel 4 */ #define OIER_E3 (1 << 3) /* Interrupt enable channel 3 */ #define OIER_E2 (1 << 2) /* Interrupt enable channel 2 */ #define OIER_E1 (1 << 1) /* Interrupt enable channel 1 */ @@ -855,6 +919,19 @@ typedef void (*ExcpHndlr) (void) ; #define ICPR __REG(0x40D00010) /* Interrupt Controller Pending Register */ #define ICCR __REG(0x40D00014) /* Interrupt Controller Control Register */ +#ifdef CONFIG_CPU_MONAHANS +#define ICHP __REG(0x40D00018) /* Interrupt Controller Highest Priority Register */ +/* Missing: 32 Interrupt priority registers */ +/* mk@tbd: These are the same as beneath for PXA27x: maybe can be + * merged if GPIO Stuff is same too. */ +#define ICIP2 __REG(0x40D0009C) /* Interrupt Controller IRQ Pending Register 2 */ +#define ICMR2 __REG(0x40D000A0) /* Interrupt Controller Mask Register 2 */ +#define ICLR2 __REG(0x40D000A4) /* Interrupt Controller Level Register 2 */ +#define ICFP2 __REG(0x40D000A8) /* Interrupt Controller FIQ Pending Register 2 */ +#define ICPR2 __REG(0x40D000AC) /* Interrupt Controller Pending Register 2 */ +/* Missing: 2 Interrupt priority registers */ +#endif /* CONFIG_CPU_MONAHANS */ + /* * General Purpose I/O */ @@ -886,12 +963,287 @@ typedef void (*ExcpHndlr) (void) ; #define GEDR1 __REG(0x40E0004C) /* GPIO Edge Detect Status Register GPIO<63:32> */ #define GEDR2 __REG(0x40E00050) /* GPIO Edge Detect Status Register GPIO<80:64> */ +#ifdef CONFIG_CPU_MONAHANS +#define GPLR3 __REG(0x40E00100) /* GPIO Pin-Level Register GPIO<127:96> */ +#define GPDR3 __REG(0x40E0010C) /* GPIO Pin Direction Register GPIO<127:96> */ +#define GPSR3 __REG(0x40E00118) /* GPIO Pin Output Set Register GPIO<127:96> */ +#define GPCR3 __REG(0x40E00124) /* GPIO Pin Output Clear Register GPIO<127:96> */ +#define GRER3 __REG(0x40E00130) /* GPIO Rising-Edge Detect Register GPIO<127:96> */ +#define GFER3 __REG(0x40E0013C) /* GPIO Falling-Edge Detect Register GPIO<127:96> */ +#define GEDR3 __REG(0x40E00148) /* GPIO Edge Detect Status Register GPIO<127:96> */ + +#define GSDR0 __REG(0x40E00400) /* Bit-wise Set of GPDR[31:0] */ +#define GSDR1 __REG(0x40E00404) /* Bit-wise Set of GPDR[63:32] */ +#define GSDR2 __REG(0x40E00408) /* Bit-wise Set of GPDR[95:64] */ +#define GSDR3 __REG(0x40E0040C) /* Bit-wise Set of GPDR[127:96] */ + +#define GCDR0 __REG(0x40E00420) /* Bit-wise Clear of GPDR[31:0] */ +#define GCDR1 __REG(0x40E00424) /* Bit-wise Clear of GPDR[63:32] */ +#define GCDR2 __REG(0x40E00428) /* Bit-wise Clear of GPDR[95:64] */ +#define GCDR3 __REG(0x40E0042C) /* Bit-wise Clear of GPDR[127:96] */ + +#define GSRER0 __REG(0x40E00440) /* Set Rising Edge Det. Enable [31:0] */ +#define GSRER1 __REG(0x40E00444) /* Set Rising Edge Det. Enable [63:32] */ +#define GSRER2 __REG(0x40E00448) /* Set Rising Edge Det. Enable [95:64] */ +#define GSRER3 __REG(0x40E0044C) /* Set Rising Edge Det. Enable [127:96] */ + +#define GCRER0 __REG(0x40E00460) /* Clear Rising Edge Det. Enable [31:0] */ +#define GCRER1 __REG(0x40E00464) /* Clear Rising Edge Det. Enable [63:32] */ +#define GCRER2 __REG(0x40E00468) /* Clear Rising Edge Det. Enable [95:64] */ +#define GCRER3 __REG(0x40E0046C) /* Clear Rising Edge Det. Enable[127:96] */ + +#define GSFER0 __REG(0x40E00480) /* Set Falling Edge Det. Enable [31:0] */ +#define GSFER1 __REG(0x40E00484) /* Set Falling Edge Det. Enable [63:32] */ +#define GSFER2 __REG(0x40E00488) /* Set Falling Edge Det. Enable [95:64] */ +#define GSFER3 __REG(0x40E0048C) /* Set Falling Edge Det. Enable[127:96] */ + +#define GCFER0 __REG(0x40E004A0) /* Clr Falling Edge Det. Enable [31:0] */ +#define GCFER1 __REG(0x40E004A4) /* Clr Falling Edge Det. Enable [63:32] */ +#define GCFER2 __REG(0x40E004A8) /* Clr Falling Edge Det. Enable [95:64] */ +#define GCFER3 __REG(0x40E004AC) /* Clr Falling Edge Det. Enable[127:96] */ + +#define GSDR(x) __REG2(0x40E00400, ((x) & 0x60) >> 3) +#define GCDR(x) __REG2(0x40300420, ((x) & 0x60) >> 3) + +/* Multi-funktion Pin Registers, uncomplete, only: + * - GPIO + * - Data Flash DF_* pins defined. + */ +#define GPIO0 __REG(0x40e10124) +#define GPIO1 __REG(0x40e10128) +#define GPIO2 __REG(0x40e1012c) +#define GPIO3 __REG(0x40e10130) +#define GPIO4 __REG(0x40e10134) +#define nXCVREN __REG(0x40e10138) + +#define DF_CLE_NOE __REG(0x40e10204) +#define DF_ALE_WE1 __REG(0x40e10208) + +#define DF_SCLK_E __REG(0x40e10210) +#define nBE0 __REG(0x40e10214) +#define nBE1 __REG(0x40e10218) +#define DF_ALE_WE2 __REG(0x40e1021c) +#define DF_INT_RnB __REG(0x40e10220) +#define DF_nCS0 __REG(0x40e10224) +#define DF_nCS1 __REG(0x40e10228) +#define DF_nWE __REG(0x40e1022c) +#define DF_nRE __REG(0x40e10230) +#define nLUA __REG(0x40e10234) +#define nLLA __REG(0x40e10238) +#define DF_ADDR0 __REG(0x40e1023c) +#define DF_ADDR1 __REG(0x40e10240) +#define DF_ADDR2 __REG(0x40e10244) +#define DF_ADDR3 __REG(0x40e10248) +#define DF_IO0 __REG(0x40e1024c) +#define DF_IO8 __REG(0x40e10250) +#define DF_IO1 __REG(0x40e10254) +#define DF_IO9 __REG(0x40e10258) +#define DF_IO2 __REG(0x40e1025c) +#define DF_IO10 __REG(0x40e10260) +#define DF_IO3 __REG(0x40e10264) +#define DF_IO11 __REG(0x40e10268) +#define DF_IO4 __REG(0x40e1026c) +#define DF_IO12 __REG(0x40e10270) +#define DF_IO5 __REG(0x40e10274) +#define DF_IO13 __REG(0x40e10278) +#define DF_IO6 __REG(0x40e1027c) +#define DF_IO14 __REG(0x40e10280) +#define DF_IO7 __REG(0x40e10284) +#define DF_IO15 __REG(0x40e10288) + +#define GPIO5 __REG(0x40e1028c) +#define GPIO6 __REG(0x40e10290) +#define GPIO7 __REG(0x40e10294) +#define GPIO8 __REG(0x40e10298) +#define GPIO9 __REG(0x40e1029c) + +#define GPIO11 __REG(0x40e102a0) +#define GPIO12 __REG(0x40e102a4) +#define GPIO13 __REG(0x40e102a8) +#define GPIO14 __REG(0x40e102ac) +#define GPIO15 __REG(0x40e102b0) +#define GPIO16 __REG(0x40e102b4) +#define GPIO17 __REG(0x40e102b8) +#define GPIO18 __REG(0x40e102bc) +#define GPIO19 __REG(0x40e102c0) +#define GPIO20 __REG(0x40e102c4) +#define GPIO21 __REG(0x40e102c8) +#define GPIO22 __REG(0x40e102cc) +#define GPIO23 __REG(0x40e102d0) +#define GPIO24 __REG(0x40e102d4) +#define GPIO25 __REG(0x40e102d8) +#define GPIO26 __REG(0x40e102dc) + +#define GPIO27 __REG(0x40e10400) +#define GPIO28 __REG(0x40e10404) +#define GPIO29 __REG(0x40e10408) +#define GPIO30 __REG(0x40e1040c) +#define GPIO31 __REG(0x40e10410) +#define GPIO32 __REG(0x40e10414) +#define GPIO33 __REG(0x40e10418) +#define GPIO34 __REG(0x40e1041c) +#define GPIO35 __REG(0x40e10420) +#define GPIO36 __REG(0x40e10424) +#define GPIO37 __REG(0x40e10428) +#define GPIO38 __REG(0x40e1042c) +#define GPIO39 __REG(0x40e10430) +#define GPIO40 __REG(0x40e10434) +#define GPIO41 __REG(0x40e10438) +#define GPIO42 __REG(0x40e1043c) +#define GPIO43 __REG(0x40e10440) +#define GPIO44 __REG(0x40e10444) +#define GPIO45 __REG(0x40e10448) +#define GPIO46 __REG(0x40e1044c) +#define GPIO47 __REG(0x40e10450) +#define GPIO48 __REG(0x40e10454) + +#define GPIO10 __REG(0x40e10458) + +#define GPIO49 __REG(0x40e1045c) +#define GPIO50 __REG(0x40e10460) +#define GPIO51 __REG(0x40e10464) +#define GPIO52 __REG(0x40e10468) +#define GPIO53 __REG(0x40e1046c) +#define GPIO54 __REG(0x40e10470) +#define GPIO55 __REG(0x40e10474) +#define GPIO56 __REG(0x40e10478) +#define GPIO57 __REG(0x40e1047c) +#define GPIO58 __REG(0x40e10480) +#define GPIO59 __REG(0x40e10484) +#define GPIO60 __REG(0x40e10488) +#define GPIO61 __REG(0x40e1048c) +#define GPIO62 __REG(0x40e10490) + +#define GPIO6_2 __REG(0x40e10494) +#define GPIO7_2 __REG(0x40e10498) +#define GPIO8_2 __REG(0x40e1049c) +#define GPIO9_2 __REG(0x40e104a0) +#define GPIO10_2 __REG(0x40e104a4) +#define GPIO11_2 __REG(0x40e104a8) +#define GPIO12_2 __REG(0x40e104ac) +#define GPIO13_2 __REG(0x40e104b0) + +#define GPIO63 __REG(0x40e104b4) +#define GPIO64 __REG(0x40e104b8) +#define GPIO65 __REG(0x40e104bc) +#define GPIO66 __REG(0x40e104c0) +#define GPIO67 __REG(0x40e104c4) +#define GPIO68 __REG(0x40e104c8) +#define GPIO69 __REG(0x40e104cc) +#define GPIO70 __REG(0x40e104d0) +#define GPIO71 __REG(0x40e104d4) +#define GPIO72 __REG(0x40e104d8) +#define GPIO73 __REG(0x40e104dc) + +#define GPIO14_2 __REG(0x40e104e0) +#define GPIO15_2 __REG(0x40e104e4) +#define GPIO16_2 __REG(0x40e104e8) +#define GPIO17_2 __REG(0x40e104ec) + +#define GPIO74 __REG(0x40e104f0) +#define GPIO75 __REG(0x40e104f4) +#define GPIO76 __REG(0x40e104f8) +#define GPIO77 __REG(0x40e104fc) +#define GPIO78 __REG(0x40e10500) +#define GPIO79 __REG(0x40e10504) +#define GPIO80 __REG(0x40e10508) +#define GPIO81 __REG(0x40e1050c) +#define GPIO82 __REG(0x40e10510) +#define GPIO83 __REG(0x40e10514) +#define GPIO84 __REG(0x40e10518) +#define GPIO85 __REG(0x40e1051c) +#define GPIO86 __REG(0x40e10520) +#define GPIO87 __REG(0x40e10524) +#define GPIO88 __REG(0x40e10528) +#define GPIO89 __REG(0x40e1052c) +#define GPIO90 __REG(0x40e10530) +#define GPIO91 __REG(0x40e10534) +#define GPIO92 __REG(0x40e10538) +#define GPIO93 __REG(0x40e1053c) +#define GPIO94 __REG(0x40e10540) +#define GPIO95 __REG(0x40e10544) +#define GPIO96 __REG(0x40e10548) +#define GPIO97 __REG(0x40e1054c) +#define GPIO98 __REG(0x40e10550) + +#define GPIO99 __REG(0x40e10600) +#define GPIO100 __REG(0x40e10604) +#define GPIO101 __REG(0x40e10608) +#define GPIO102 __REG(0x40e1060c) +#define GPIO103 __REG(0x40e10610) +#define GPIO104 __REG(0x40e10614) +#define GPIO105 __REG(0x40e10618) +#define GPIO106 __REG(0x40e1061c) +#define GPIO107 __REG(0x40e10620) +#define GPIO108 __REG(0x40e10624) +#define GPIO109 __REG(0x40e10628) +#define GPIO110 __REG(0x40e1062c) +#define GPIO111 __REG(0x40e10630) +#define GPIO112 __REG(0x40e10634) + +#define GPIO113 __REG(0x40e10638) +#define GPIO114 __REG(0x40e1063c) +#define GPIO115 __REG(0x40e10640) +#define GPIO116 __REG(0x40e10644) +#define GPIO117 __REG(0x40e10648) +#define GPIO118 __REG(0x40e1064c) +#define GPIO119 __REG(0x40e10650) +#define GPIO120 __REG(0x40e10654) +#define GPIO121 __REG(0x40e10658) +#define GPIO122 __REG(0x40e1065c) +#define GPIO123 __REG(0x40e10660) +#define GPIO124 __REG(0x40e10664) +#define GPIO125 __REG(0x40e10668) +#define GPIO126 __REG(0x40e1066c) +#define GPIO127 __REG(0x40e10670) + +#define GPIO0_2 __REG(0x40e10674) +#define GPIO1_2 __REG(0x40e10678) +#define GPIO2_2 __REG(0x40e1067c) +#define GPIO3_2 __REG(0x40e10680) +#define GPIO4_2 __REG(0x40e10684) +#define GPIO5_2 __REG(0x40e10688) + +/* MFPR Bit Definitions, see 4-10, Vol. 1 */ +#define PULL_SEL 0x8000 +#define PULLUP_EN 0x4000 +#define PULLDOWN_EN 0x2000 + +#define DRIVE_FAST_1mA 0x0 +#define DRIVE_FAST_2mA 0x400 +#define DRIVE_FAST_3mA 0x800 +#define DRIVE_FAST_4mA 0xC00 +#define DRIVE_SLOW_6mA 0x1000 +#define DRIVE_FAST_6mA 0x1400 +#define DRIVE_SLOW_10mA 0x1800 +#define DRIVE_FAST_10mA 0x1C00 + +#define SLEEP_SEL 0x200 +#define SLEEP_DATA 0x100 +#define SLEEP_OE_N 0x80 +#define EDGE_CLEAR 0x40 +#define EDGE_FALL_EN 0x20 +#define EDGE_RISE_EN 0x10 + +#define AF_SEL_0 0x0 /* Alternate function 0 (reset state) */ +#define AF_SEL_1 0x1 /* Alternate function 1 */ +#define AF_SEL_2 0x2 /* Alternate function 2 */ +#define AF_SEL_3 0x3 /* Alternate function 3 */ +#define AF_SEL_4 0x4 /* Alternate function 4 */ +#define AF_SEL_5 0x5 /* Alternate function 5 */ +#define AF_SEL_6 0x6 /* Alternate function 6 */ +#define AF_SEL_7 0x7 /* Alternate function 7 */ + + +#else /* CONFIG_CPU_MONAHANS */ + #define GAFR0_L __REG(0x40E00054) /* GPIO Alternate Function Select Register GPIO<15:0> */ #define GAFR0_U __REG(0x40E00058) /* GPIO Alternate Function Select Register GPIO<31:16> */ #define GAFR1_L __REG(0x40E0005C) /* GPIO Alternate Function Select Register GPIO<47:32> */ #define GAFR1_U __REG(0x40E00060) /* GPIO Alternate Function Select Register GPIO<63:48> */ #define GAFR2_L __REG(0x40E00064) /* GPIO Alternate Function Select Register GPIO<79:64> */ #define GAFR2_U __REG(0x40E00068) /* GPIO Alternate Function Select Register GPIO 80 */ +#endif /* CONFIG_CPU_MONAHANS */ /* More handy macros. The argument is a literal GPIO number. */ @@ -1142,6 +1494,79 @@ typedef void (*ExcpHndlr) (void) ; /* * Power Manager */ +#ifdef CONFIG_CPU_MONAHANS + +#define ASCR __REG(0x40F40000) /* Application Subsystem Power Status/Control Register */ +#define ARSR __REG(0x40F40004) /* Application Subsystem Reset Status Register */ +#define AD3ER __REG(0x40F40008) /* Application Subsystem D3 state Wakeup Enable Register */ +#define AD3SR __REG(0x40F4000C) /* Application Subsystem D3 state Wakeup Status Register */ +#define AD2D0ER __REG(0x40F40010) /* Application Subsystem D2 to D0 state Wakeup Enable Register */ +#define AD2D0SR __REG(0x40F40014) /* Application Subsystem D2 to D0 state Wakeup Status Register */ +#define AD2D1ER __REG(0x40F40018) /* Application Subsystem D2 to D1 state Wakeup Enable Register */ +#define AD2D1SR __REG(0x40F4001C) /* Application Subsystem D2 to D1 state Wakeup Status Register */ +#define AD1D0ER __REG(0x40F40020) /* Application Subsystem D1 to D0 state Wakeup Enable Register */ +#define AD1D0SR __REG(0x40F40024) /* Application Subsystem D1 to D0 state Wakeup Status Register */ +#define ASDCNT __REG(0x40F40028) /* Application Subsystem SRAM Drowsy Count Register */ +#define AD3R __REG(0x40F40030) /* Application Subsystem D3 State Configuration Register */ +#define AD2R __REG(0x40F40034) /* Application Subsystem D2 State Configuration Register */ +#define AD1R __REG(0x40F40038) /* Application Subsystem D1 State Configuration Register */ + +#define PMCR __REG(0x40F50000) /* Power Manager Control Register */ +#define PSR __REG(0x40F50004) /* Power Manager S2 Status Register */ +#define PSPR __REG(0x40F50008) /* Power Manager Scratch Pad Register */ +#define PCFR __REG(0x40F5000C) /* Power Manager General Configuration Register */ +#define PWER __REG(0x40F50010) /* Power Manager Wake-up Enable Register */ +#define PWSR __REG(0x40F50014) /* Power Manager Wake-up Status Register */ +#define PECR __REG(0x40F50018) /* Power Manager EXT_WAKEUP[1:0] Control Register */ +#define DCDCSR __REG(0x40F50080) /* DC-DC Controller Status Register */ +#define PVCR __REG(0x40F50100) /* Power Manager Voltage Change Control Register */ +#define PCMD(x) __REG(0x40F50110 + x*4) +#define PCMD0 __REG(0x40F50110 + 0 * 4) +#define PCMD1 __REG(0x40F50110 + 1 * 4) +#define PCMD2 __REG(0x40F50110 + 2 * 4) +#define PCMD3 __REG(0x40F50110 + 3 * 4) +#define PCMD4 __REG(0x40F50110 + 4 * 4) +#define PCMD5 __REG(0x40F50110 + 5 * 4) +#define PCMD6 __REG(0x40F50110 + 6 * 4) +#define PCMD7 __REG(0x40F50110 + 7 * 4) +#define PCMD8 __REG(0x40F50110 + 8 * 4) +#define PCMD9 __REG(0x40F50110 + 9 * 4) +#define PCMD10 __REG(0x40F50110 + 10 * 4) +#define PCMD11 __REG(0x40F50110 + 11 * 4) +#define PCMD12 __REG(0x40F50110 + 12 * 4) +#define PCMD13 __REG(0x40F50110 + 13 * 4) +#define PCMD14 __REG(0x40F50110 + 14 * 4) +#define PCMD15 __REG(0x40F50110 + 15 * 4) +#define PCMD16 __REG(0x40F50110 + 16 * 4) +#define PCMD17 __REG(0x40F50110 + 17 * 4) +#define PCMD18 __REG(0x40F50110 + 18 * 4) +#define PCMD19 __REG(0x40F50110 + 19 * 4) +#define PCMD20 __REG(0x40F50110 + 20 * 4) +#define PCMD21 __REG(0x40F50110 + 21 * 4) +#define PCMD22 __REG(0x40F50110 + 22 * 4) +#define PCMD23 __REG(0x40F50110 + 23 * 4) +#define PCMD24 __REG(0x40F50110 + 24 * 4) +#define PCMD25 __REG(0x40F50110 + 25 * 4) +#define PCMD26 __REG(0x40F50110 + 26 * 4) +#define PCMD27 __REG(0x40F50110 + 27 * 4) +#define PCMD28 __REG(0x40F50110 + 28 * 4) +#define PCMD29 __REG(0x40F50110 + 29 * 4) +#define PCMD30 __REG(0x40F50110 + 30 * 4) +#define PCMD31 __REG(0x40F50110 + 31 * 4) + +#define PCMD_MBC (1<<12) +#define PCMD_DCE (1<<11) +#define PCMD_LC (1<<10) +#define PCMD_SQC (3<<8) /* only 00 and 01 are valid */ + +#define PVCR_FVC (0x1 << 28) +#define PVCR_VCSA (0x1<<14) +#define PVCR_CommandDelay (0xf80) +#define PVCR_ReadPointer (0x01f00000) +#define PVCR_SlaveAddress (0x7f) + +#else /* ifdef CONFIG_CPU_MONAHANS */ + #define PMCR __REG(0x40F00000) /* Power Manager Control Register */ #define PSSR __REG(0x40F00004) /* Power Manager Sleep Status Register */ #define PSPR __REG(0x40F00008) /* Power Manager Scratch Pad Register */ @@ -1225,6 +1650,8 @@ typedef void (*ExcpHndlr) (void) ; #define RCSR_WDR (1 << 1) /* Watchdog Reset */ #define RCSR_HWR (1 << 0) /* Hardware Reset */ +#endif /* CONFIG_CPU_MONAHANS */ + /* * SSP Serial Port Registers */ @@ -1259,6 +1686,67 @@ typedef void (*ExcpHndlr) (void) ; /* * Core Clock */ + +#if defined(CONFIG_CPU_MONAHANS) +#define ACCR __REG(0x41340000) /* Application Subsystem Clock Configuration Register */ +#define ACSR __REG(0x41340004) /* Application Subsystem Clock Status Register */ +#define AICSR __REG(0x41340008) /* Application Subsystem Interrupt Control/Status Register */ +#define CKENA __REG(0x4134000C) /* A Clock Enable Register */ +#define CKENB __REG(0x41340010) /* B Clock Enable Register */ +#define AC97_DIV __REG(0x41340014) /* AC97 clock divisor value register */ + +#define ACCR_SMC_MASK 0x03800000 /* Static Memory Controller Frequency Select */ +#define ACCR_SRAM_MASK 0x000c0000 /* SRAM Controller Frequency Select */ +#define ACCR_FC_MASK 0x00030000 /* Frequency Change Frequency Select */ +#define ACCR_HSIO_MASK 0x0000c000 /* High Speed IO Frequency Select */ +#define ACCR_DDR_MASK 0x00003000 /* DDR Memory Controller Frequency Select */ +#define ACCR_XN_MASK 0x00000700 /* Run Mode Frequency to Turbo Mode Frequency Multiplier */ +#define ACCR_XL_MASK 0x0000001f /* Crystal Frequency to Memory Frequency Multiplier */ +#define ACCR_XPDIS (1 << 31) +#define ACCR_SPDIS (1 << 30) +#define ACCR_13MEND1 (1 << 27) +#define ACCR_D0CS (1 << 26) +#define ACCR_13MEND2 (1 << 21) +#define ACCR_PCCE (1 << 11) + +#define CKENA_30_MSL0 (1 << 30) /* MSL0 Interface Unit Clock Enable */ +#define CKENA_29_SSP4 (1 << 29) /* SSP3 Unit Clock Enable */ +#define CKENA_28_SSP3 (1 << 28) /* SSP2 Unit Clock Enable */ +#define CKENA_27_SSP2 (1 << 27) /* SSP1 Unit Clock Enable */ +#define CKENA_26_SSP1 (1 << 26) /* SSP0 Unit Clock Enable */ +#define CKENA_25_TSI (1 << 25) /* TSI Clock Enable */ +#define CKENA_24_AC97 (1 << 24) /* AC97 Unit Clock Enable */ +#define CKENA_23_STUART (1 << 23) /* STUART Unit Clock Enable */ +#define CKENA_22_FFUART (1 << 22) /* FFUART Unit Clock Enable */ +#define CKENA_21_BTUART (1 << 21) /* BTUART Unit Clock Enable */ +#define CKENA_20_UDC (1 << 20) /* UDC Clock Enable */ +#define CKENA_19_TPM (1 << 19) /* TPM Unit Clock Enable */ +#define CKENA_18_USIM1 (1 << 18) /* USIM1 Unit Clock Enable */ +#define CKENA_17_USIM0 (1 << 17) /* USIM0 Unit Clock Enable */ +#define CKENA_15_CIR (1 << 15) /* Consumer IR Clock Enable */ +#define CKENA_14_KEY (1 << 14) /* Keypad Controller Clock Enable */ +#define CKENA_13_MMC1 (1 << 13) /* MMC1 Clock Enable */ +#define CKENA_12_MMC0 (1 << 12) /* MMC0 Clock Enable */ +#define CKENA_11_FLASH (1 << 11) /* Boot ROM Clock Enable */ +#define CKENA_10_SRAM (1 << 10) /* SRAM Controller Clock Enable */ +#define CKENA_9_SMC (1 << 9) /* Static Memory Controller */ +#define CKENA_8_DMC (1 << 8) /* Dynamic Memory Controller */ +#define CKENA_7_GRAPHICS (1 << 7) /* 2D Graphics Clock Enable */ +#define CKENA_6_USBCLI (1 << 6) /* USB Client Unit Clock Enable */ +#define CKENA_4_NAND (1 << 4) /* NAND Flash Controller Clock Enable */ +#define CKENA_3_CAMERA (1 << 3) /* Camera Interface Clock Enable */ +#define CKENA_2_USBHOST (1 << 2) /* USB Host Unit Clock Enable */ +#define CKENA_1_LCD (1 << 1) /* LCD Unit Clock Enable */ + +#define CKENB_8_1WIRE ((1 << 8) + 32) /* One Wire Interface Unit Clock Enable */ +#define CKENB_7_GPIO ((1 << 7) + 32) /* GPIO Clock Enable */ +#define CKENB_6_IRQ ((1 << 6) + 32) /* Interrupt Controller Clock Enable */ +#define CKENB_4_I2C ((1 << 4) + 32) /* I2C Unit Clock Enable */ +#define CKENB_1_PWM1 ((1 << 1) + 32) /* PWM2 & PWM3 Clock Enable */ +#define CKENB_0_PWM0 ((1 << 0) + 32) /* PWM0 & PWM1 Clock Enable */ + +#else /* if defined CONFIG_CPU_MONAHANS */ + #define CCCR __REG(0x41300000) /* Core Clock Configuration Register */ #define CKEN __REG(0x41300004) /* Clock Enable Register */ #define OSCC __REG(0x41300008) /* Oscillator Configuration Register */ @@ -1318,6 +1806,8 @@ typedef void (*ExcpHndlr) (void) ; #define CCCR_N30 (0x6 << 7) #endif +#endif /* CONFIG_CPU_MONAHANS */ + /* * LCD */ @@ -1502,6 +1992,163 @@ typedef void (*ExcpHndlr) (void) ; /* * Memory controller */ + +#ifdef CONFIG_CPU_MONAHANS +/* Static Memory Controller Registers */ +#define MSC0 __REG_2(0x4A000008) /* Static Memory Control Register 0 */ +#define MSC1 __REG_2(0x4A00000C) /* Static Memory Control Register 1 */ +#define MECR __REG_2(0x4A000014) /* Expansion Memory (PCMCIA/Compact Flash) Bus Configuration */ +#define SXCNFG __REG_2(0x4A00001C) /* Synchronous Static Memory Control Register */ +#define MCMEM0 __REG_2(0x4A000028) /* Card interface Common Memory Space Socket 0 Timing */ +#define MCATT0 __REG_2(0x4A000030) /* Card interface Attribute Space Socket 0 Timing Configuration */ +#define MCIO0 __REG_2(0x4A000038) /* Card interface I/O Space Socket 0 Timing Configuration */ +#define MEMCLKCFG __REG_2(0x4A000068) /* SCLK speed configuration */ +#define CSADRCFG0 __REG_2(0x4A000080) /* Address Configuration for chip select 0 */ +#define CSADRCFG1 __REG_2(0x4A000084) /* Address Configuration for chip select 1 */ +#define CSADRCFG2 __REG_2(0x4A000088) /* Address Configuration for chip select 2 */ +#define CSADRCFG3 __REG_2(0x4A00008C) /* Address Configuration for chip select 3 */ +#define CSADRCFG_P __REG_2(0x4A000090) /* Address Configuration for pcmcia card interface */ +#define CSMSADRCFG __REG_2(0x4A0000A0) /* Master Address Configuration Register */ +#define CLK_RET_DEL __REG_2(0x4A0000B0) /* Delay line and mux selects for return data latching for sync. flash */ +#define ADV_RET_DEL __REG_2(0x4A0000B4) /* Delay line and mux selects for return data latching for sync. flash */ + +/* Dynamic Memory Controller Registers */ +#define MDCNFG __REG_2(0x48100000) /* SDRAM Configuration Register 0 */ +#define MDREFR __REG_2(0x48100004) /* SDRAM Refresh Control Register */ +#define FLYCNFG __REG_2(0x48100020) /* Fly-by DMA DVAL[1:0] polarities */ +#define MDMRS __REG_2(0x48100040) /* MRS value to be written to SDRAM */ +#define DDR_SCAL __REG_2(0x48100050) /* Software Delay Line Calibration/Configuration for external DDR memory. */ +#define DDR_HCAL __REG_2(0x48100060) /* Hardware Delay Line Calibration/Configuration for external DDR memory. */ +#define DDR_WCAL __REG_2(0x48100068) /* DDR Write Strobe Calibration Register */ +#define DMCIER __REG_2(0x48100070) /* Dynamic MC Interrupt Enable Register. */ +#define DMCISR __REG_2(0x48100078) /* Dynamic MC Interrupt Status Register. */ +#define DDR_DLS __REG_2(0x48100080) /* DDR Delay Line Value Status register for external DDR memory. */ +#define EMPI __REG_2(0x48100090) /* EMPI Control Register */ +#define RCOMP __REG_2(0x48100100) +#define PAD_MA __REG_2(0x48100110) +#define PAD_MDMSB __REG_2(0x48100114) +#define PAD_MDLSB __REG_2(0x48100118) +#define PAD_DMEM __REG_2(0x4810011c) +#define PAD_SDCLK __REG_2(0x48100120) +#define PAD_SDCS __REG_2(0x48100124) +#define PAD_SMEM __REG_2(0x48100128) +#define PAD_SCLK __REG_2(0x4810012C) +#define TAI __REG_2(0x48100F00) /* TAI Tavor Address Isolation Register */ + +/* Some frequently used bits */ +#define MDCNFG_DMAP 0x80000000 /* SDRAM 1GB Memory Map Enable */ +#define MDCNFG_DMCEN 0x40000000 /* Enable Dynamic Memory Controller */ +#define MDCNFG_HWFREQ 0x20000000 /* Hardware Frequency Change Calibration */ +#define MDCNFG_DTYPE 0x400 /* SDRAM Type: 1=DDR SDRAM */ + +#define MDCNFG_DTC_0 0x0 /* Timing Category of SDRAM */ +#define MDCNFG_DTC_1 0x100 +#define MDCNFG_DTC_2 0x200 +#define MDCNFG_DTC_3 0x300 + +#define MDCNFG_DRAC_12 0x0 /* Number of Row Access Bits */ +#define MDCNFG_DRAC_13 0x20 +#define MDCNFG_DRAC_14 0x40 + +#define MDCNFG_DCAC_9 0x0 /* Number of Column Acess Bits */ +#define MDCNFG_DCAC_10 0x08 +#define MDCNFG_DCAC_11 0x10 + +#define MDCNFG_DBW_16 0x4 /* SDRAM Data Bus width 16bit */ +#define MDCNFG_DCSE1 0x2 /* SDRAM CS 1 Enable */ +#define MDCNFG_DCSE0 0x1 /* SDRAM CS 0 Enable */ + + +/* Data Flash Controller Registers */ + +#define NDCR __REG(0x43100000) /* Data Flash Control register */ +#define NDTR0CS0 __REG(0x43100004) /* Data Controller Timing Parameter 0 Register for ND_nCS0 */ +/* #define NDTR0CS1 __REG(0x43100008) /\* Data Controller Timing Parameter 0 Register for ND_nCS1 *\/ */ +#define NDTR1CS0 __REG(0x4310000C) /* Data Controller Timing Parameter 1 Register for ND_nCS0 */ +/* #define NDTR1CS1 __REG(0x43100010) /\* Data Controller Timing Parameter 1 Register for ND_nCS1 *\/ */ +#define NDSR __REG(0x43100014) /* Data Controller Status Register */ +#define NDPCR __REG(0x43100018) /* Data Controller Page Count Register */ +#define NDBDR0 __REG(0x4310001C) /* Data Controller Bad Block Register 0 */ +#define NDBDR1 __REG(0x43100020) /* Data Controller Bad Block Register 1 */ +#define NDDB __REG(0x43100040) /* Data Controller Data Buffer */ +#define NDCB0 __REG(0x43100048) /* Data Controller Command Buffer0 */ +#define NDCB1 __REG(0x4310004C) /* Data Controller Command Buffer1 */ +#define NDCB2 __REG(0x43100050) /* Data Controller Command Buffer2 */ + +#define NDCR_SPARE_EN (0x1<<31) +#define NDCR_ECC_EN (0x1<<30) +#define NDCR_DMA_EN (0x1<<29) +#define NDCR_ND_RUN (0x1<<28) +#define NDCR_DWIDTH_C (0x1<<27) +#define NDCR_DWIDTH_M (0x1<<26) +#define NDCR_PAGE_SZ (0x3<<24) +#define NDCR_NCSX (0x1<<23) +#define NDCR_ND_STOP (0x1<<22) +/* reserved: + * #define NDCR_ND_MODE (0x3<<21) + * #define NDCR_NAND_MODE 0x0 */ +#define NDCR_CLR_PG_CNT (0x1<<20) +#define NDCR_CLR_ECC (0x1<<19) +#define NDCR_RD_ID_CNT (0x7<<16) +#define NDCR_RA_START (0x1<<15) +#define NDCR_PG_PER_BLK (0x1<<14) +#define NDCR_ND_ARB_EN (0x1<<12) +#define NDCR_RDYM (0x1<<11) +#define NDCR_CS0_PAGEDM (0x1<<10) +#define NDCR_CS1_PAGEDM (0x1<<9) +#define NDCR_CS0_CMDDM (0x1<<8) +#define NDCR_CS1_CMDDM (0x1<<7) +#define NDCR_CS0_BBDM (0x1<<6) +#define NDCR_CS1_BBDM (0x1<<5) +#define NDCR_DBERRM (0x1<<4) +#define NDCR_SBERRM (0x1<<3) +#define NDCR_WRDREQM (0x1<<2) +#define NDCR_RDDREQM (0x1<<1) +#define NDCR_WRCMDREQM (0x1) + +#define NDSR_RDY (0x1<<11) +#define NDSR_CS0_PAGED (0x1<<10) +#define NDSR_CS1_PAGED (0x1<<9) +#define NDSR_CS0_CMDD (0x1<<8) +#define NDSR_CS1_CMDD (0x1<<7) +#define NDSR_CS0_BBD (0x1<<6) +#define NDSR_CS1_BBD (0x1<<5) +#define NDSR_DBERR (0x1<<4) +#define NDSR_SBERR (0x1<<3) +#define NDSR_WRDREQ (0x1<<2) +#define NDSR_RDDREQ (0x1<<1) +#define NDSR_WRCMDREQ (0x1) + +#define NDCB0_AUTO_RS (0x1<<25) +#define NDCB0_CSEL (0x1<<24) +#define NDCB0_CMD_TYPE (0x7<<21) +#define NDCB0_NC (0x1<<20) +#define NDCB0_DBC (0x1<<19) +#define NDCB0_ADDR_CYC (0x7<<16) +#define NDCB0_CMD2 (0xff<<8) +#define NDCB0_CMD1 (0xff) +#define MCMEM(s) MCMEM0 +#define MCATT(s) MCATT0 +#define MCIO(s) MCIO0 +#define MECR_CIT (1 << 1)/* Card Is There: 0 -> no card, 1 -> card inserted */ + +/* Maximum values for NAND Interface Timing Registers in DFC clock + * periods */ +#define DFC_MAX_tCH 7 +#define DFC_MAX_tCS 7 +#define DFC_MAX_tWH 7 +#define DFC_MAX_tWP 7 +#define DFC_MAX_tRH 7 +#define DFC_MAX_tRP 15 +#define DFC_MAX_tR 65535 +#define DFC_MAX_tWHR 15 +#define DFC_MAX_tAR 15 + +#define DFC_CLOCK 104 /* DFC Clock is 104 MHz */ +#define DFC_CLK_PER_US DFC_CLOCK/1000 /* clock period in ns */ + +#else /* CONFIG_CPU_MONAHANS */ + #define MEMC_BASE __REG(0x48000000) /* Base of Memory Controller */ #define MDCNFG_OFFSET 0x0 #define MDREFR_OFFSET 0x4 @@ -1573,6 +2220,8 @@ typedef void (*ExcpHndlr) (void) ; #define ARB_CORE_PARK (1<<24) /* Be parked with core when idle */ #define ARB_LOCK_FLAG (1<<23) /* Only Locking masters gain access to the bus */ +#endif /* CONFIG_CPU_MONAHANS */ + /* Interrupt Controller */ #define ICIP2 __REG(0x40D0009C) /* Interrupt Controller IRQ Pending Register 2 */ diff --git a/include/configs/CPCI750.h b/include/configs/CPCI750.h index 150e526..244e45a 100644 --- a/include/configs/CPCI750.h +++ b/include/configs/CPCI750.h @@ -12,7 +12,7 @@ * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License @@ -57,7 +57,7 @@ #define CONFIG_CPCI750 1 /* this is an CPCI750 board */ -#define CONFIG_BAUDRATE 9600 /* console baudrate = 9600 */ +#define CONFIG_BAUDRATE 9600 /* console baudrate = 9600 */ #undef CONFIG_ECC /* enable ECC support */ @@ -84,19 +84,19 @@ * for your console driver. * * what to do: - * to use the DUART, undef CONFIG_MPSC. If you have hacked a serial + * to use the DUART, undef CONFIG_MPSC. If you have hacked a serial * cable onto the second DUART channel, change the CFG_DUART port from 1 * to 0 below. * * to use the MPSC, #define CONFIG_MPSC. If you have wired up another * mpsc channel, change CONFIG_MPSC_PORT to the desired value. */ -#define CONFIG_MPSC +#define CONFIG_MPSC #define CONFIG_MPSC_PORT 0 /* to change the default ethernet port, use this define (options: 0, 1, 2) */ #define CONFIG_NET_MULTI -#define MV_ETH_DEVS 1 +#define MV_ETH_DEVS 1 #define CONFIG_ETHER_PORT 0 #undef CONFIG_ETHER_PORT_MII /* use RMII */ @@ -118,38 +118,38 @@ #define CONFIG_SERIAL "AA000001" #define CONFIG_SERVERIP "10.0.0.79" -#define CONFIG_ROOTPATH "/export/nfs_cpci750/%s" +#define CONFIG_ROOTPATH "/export/nfs_cpci750/%s" #define CONFIG_TESTDRAMDATA y -#define CONFIG_TESTDRAMADDRESS n +#define CONFIG_TESTDRAMADDRESS n #define CONFIG_TESETDRAMWALK n /* ----------------------------------------------------------------------------- */ -#define CONFIG_LOADS_ECHO 0 /* echo off for serial download */ -#define CFG_LOADS_BAUD_CHANGE /* allow baudrate changes */ +#define CONFIG_LOADS_ECHO 0 /* echo off for serial download */ +#define CFG_LOADS_BAUD_CHANGE /* allow baudrate changes */ #undef CONFIG_WATCHDOG /* watchdog disabled */ -#undef CONFIG_ALTIVEC /* undef to disable */ +#undef CONFIG_ALTIVEC /* undef to disable */ #define CONFIG_BOOTP_MASK (CONFIG_BOOTP_DEFAULT | \ CONFIG_BOOTP_BOOTFILESIZE) -#define CONFIG_COMMANDS (CONFIG_CMD_DFL \ +#define CONFIG_COMMANDS (CONFIG_CMD_DFL \ | CFG_CMD_ASKENV \ - | CFG_CMD_I2C \ + | CFG_CMD_I2C \ | CFG_CMD_CACHE \ | CFG_CMD_EEPROM \ - | CFG_CMD_PCI \ + | CFG_CMD_PCI \ | CFG_CMD_ELF \ | CFG_CMD_DATE \ - | CFG_CMD_NET \ - | CFG_CMD_PING \ - | CFG_CMD_IDE \ - | CFG_CMD_FAT \ - | CFG_CMD_EXT2 \ + | CFG_CMD_NET \ + | CFG_CMD_PING \ + | CFG_CMD_IDE \ + | CFG_CMD_FAT \ + | CFG_CMD_EXT2 \ ) #define CONFIG_DOS_PARTITION @@ -159,7 +159,7 @@ #define CONFIG_USE_CPCIDVI -#ifdef CONFIG_USE_CPCIDVI +#ifdef CONFIG_USE_CPCIDVI #define CONFIG_VIDEO #define CONFIG_VIDEO_CT69000 #define CONFIG_CFB_CONSOLE @@ -174,23 +174,23 @@ */ #define CFG_I2C_EEPROM_ADDR_LEN 2 #define CFG_I2C_MULTI_EEPROMS -#define CFG_I2C_SPEED 80000 /* I2C speed default */ +#define CFG_I2C_SPEED 80000 /* I2C speed default */ #define CFG_GT_DUAL_CPU /* also for JTAG even with one cpu */ -#define CFG_LONGHELP /* undef to save memory */ -#define CFG_PROMPT "=> " /* Monitor Command Prompt */ +#define CFG_LONGHELP /* undef to save memory */ +#define CFG_PROMPT "=> " /* Monitor Command Prompt */ #if (CONFIG_COMMANDS & CFG_CMD_KGDB) -#define CFG_CBSIZE 1024 /* Console I/O Buffer Size */ +#define CFG_CBSIZE 1024 /* Console I/O Buffer Size */ #else -#define CFG_CBSIZE 256 /* Console I/O Buffer Size */ +#define CFG_CBSIZE 256 /* Console I/O Buffer Size */ #endif -#define CFG_PBSIZE (CFG_CBSIZE+sizeof(CFG_PROMPT)+16) /* Print Buffer Size */ -#define CFG_MAXARGS 16 /* max number of command args */ +#define CFG_PBSIZE (CFG_CBSIZE+sizeof(CFG_PROMPT)+16) /* Print Buffer Size */ +#define CFG_MAXARGS 16 /* max number of command args */ #define CFG_BARGSIZE CFG_CBSIZE /* Boot Argument Buffer Size */ /*#define CFG_MEMTEST_START 0x00400000*/ /* memtest works on */ /*#define CFG_MEMTEST_END 0x00C00000*/ /* 4 ... 12 MB in DRAM */ -/*#define CFG_MEMTEST_END 0x07c00000*/ /* 4 ... 124 MB in DRAM */ +/*#define CFG_MEMTEST_END 0x07c00000*/ /* 4 ... 124 MB in DRAM */ /* #define CFG_DRAM_TEST @@ -198,21 +198,21 @@ * CFG_DRAM_TEST - enables the following tests. * * CFG_DRAM_TEST_DATA - Enables test for shorted or open data lines - * Environment variable 'test_dram_data' must be - * set to 'y'. + * Environment variable 'test_dram_data' must be + * set to 'y'. * CFG_DRAM_TEST_DATA - Enables test to verify that each word is uniquely - * addressable. Environment variable - * 'test_dram_address' must be set to 'y'. + * addressable. Environment variable + * 'test_dram_address' must be set to 'y'. * CFG_DRAM_TEST_WALK - Enables test a 64-bit walking ones pattern test. - * This test takes about 6 minutes to test 64 MB. - * Environment variable 'test_dram_walk' must be - * set to 'y'. + * This test takes about 6 minutes to test 64 MB. + * Environment variable 'test_dram_walk' must be + * set to 'y'. */ #define CFG_DRAM_TEST #if defined(CFG_DRAM_TEST) #define CFG_MEMTEST_START 0x00400000 /* memtest works on */ /*#define CFG_MEMTEST_END 0x00C00000*/ /* 4 ... 12 MB in DRAM */ -#define CFG_MEMTEST_END 0x07c00000 /* 4 ... 124 MB in DRAM */ +#define CFG_MEMTEST_END 0x07c00000 /* 4 ... 124 MB in DRAM */ #define CFG_DRAM_TEST_DATA #define CFG_DRAM_TEST_ADDRESS #define CFG_DRAM_TEST_WALK @@ -221,10 +221,10 @@ #define CONFIG_DISPLAY_MEMMAP /* at the end of the bootprocess show the memory map */ #undef CFG_DISPLAY_DIMM_SPD_CONTENT /* show SPD content during boot */ -#define CFG_LOAD_ADDR 0x00300000 /* default load address */ +#define CFG_LOAD_ADDR 0x00300000 /* default load address */ -#define CFG_HZ 1000 /* decr freq: 1ms ticks */ -#define CFG_BUS_HZ 133000000 /* 133 MHz (CPU = 5*Bus = 666MHz) */ +#define CFG_HZ 1000 /* decr freq: 1ms ticks */ +#define CFG_BUS_HZ 133000000 /* 133 MHz (CPU = 5*Bus = 666MHz) */ #define CFG_BUS_CLK CFG_BUS_HZ #define CFG_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200, 230400 } @@ -251,7 +251,7 @@ * To an unused memory region. The stack will remain in cache until RAM * is initialized */ -#undef CFG_INIT_RAM_LOCK +#undef CFG_INIT_RAM_LOCK /* #define CFG_INIT_RAM_ADDR 0x40000000*/ /* unused memory region */ /* #define CFG_INIT_RAM_ADDR 0xfba00000*/ /* unused memory region */ #define CFG_INIT_RAM_ADDR 0xf1080000 /* unused memory region */ @@ -261,7 +261,7 @@ #define RELOCATE_INTERNAL_RAM_ADDR #ifdef RELOCATE_INTERNAL_RAM_ADDR -/*#define CFG_INTERNAL_RAM_ADDR 0xfba00000*/ +/*#define CFG_INTERNAL_RAM_ADDR 0xfba00000*/ #define CFG_INTERNAL_RAM_ADDR 0xf1080000 #endif @@ -270,28 +270,34 @@ * (Set up by the startup code) * Please note that CFG_SDRAM_BASE _must_ start at 0 */ -#define CFG_SDRAM_BASE 0x00000000 +#define CFG_SDRAM_BASE 0x00000000 /* Dummies for BAT 4-7 */ -#define CFG_SDRAM1_BASE 0x10000000 /* each 256 MByte */ -#define CFG_SDRAM2_BASE 0x20000000 -#define CFG_SDRAM3_BASE 0x30000000 -#define CFG_SDRAM4_BASE 0x40000000 +#define CFG_SDRAM1_BASE 0x10000000 /* each 256 MByte */ +#define CFG_SDRAM2_BASE 0x20000000 +#define CFG_SDRAM3_BASE 0x30000000 +#define CFG_SDRAM4_BASE 0x40000000 #define CFG_RESET_ADDRESS 0xfff00100 -#define CFG_MONITOR_LEN (256 << 10) /* Reserve 256 kB for Monitor */ +#define CFG_MONITOR_LEN (256 << 10) /* Reserve 256 kB for Monitor */ #define CFG_MONITOR_BASE 0xfff00000 -#define CFG_MALLOC_LEN (128 << 10) /* Reserve 256 kB for malloc */ +#define CFG_MALLOC_LEN (128 << 10) /* Reserve 256 kB for malloc */ /*----------------------------------------------------------------------- * FLASH related *----------------------------------------------------------------------*/ +#define CFG_FLASH_CFI_DRIVER #define CFG_FLASH_CFI 1 /* Flash is CFI conformant */ -#define CFG_MAX_FLASH_SECT 128 /* max number of sectors on one chip */ -#define CFG_MAX_FLASH_BANKS 4 /* max number of memory banks */ -#define CFG_FLASH_INCREMENT 0x01000000 /* there is only one bank */ #define CFG_FLASH_PROTECTION 1 /* use hardware protection */ #define CFG_FLASH_USE_BUFFER_WRITE 1 /* use buffered writes (20x faster) */ -#define CFG_FLASH_BASE 0xfc000000 /* start of flash banks */ +#define CFG_FLASH_BASE 0xfc000000 /* start of flash banks */ +#define CFG_MAX_FLASH_BANKS 4 /* max number of memory banks */ +#define CFG_FLASH_INCREMENT 0x01000000 /* size of flash bank */ +#define CFG_MAX_FLASH_SECT 128 /* max number of sectors on one chip */ +#define CFG_FLASH_BANKS_LIST { CFG_FLASH_BASE, \ + CFG_FLASH_BASE + 1*CFG_FLASH_INCREMENT, \ + CFG_FLASH_BASE + 2*CFG_FLASH_INCREMENT, \ + CFG_FLASH_BASE + 3*CFG_FLASH_INCREMENT } +#define CFG_FLASH_EMPTY_INFO 1 /* show if bank is empty */ /* areas to map different things with the GT in physical space */ #define CFG_DRAM_BANKS 4 @@ -302,20 +308,20 @@ /* Peripheral Device section */ /*******************************************************/ -/* We have on the cpci750 Board : */ -/* GT-Chipset Register Area */ -/* GT-Chipset internal SRAM 256k */ -/* SRAM on external device module */ -/* Real time clock on external device module */ -/* dobble UART on external device module */ -/* Data flash on external device module */ -/* Boot flash on external device module */ +/* We have on the cpci750 Board : */ +/* GT-Chipset Register Area */ +/* GT-Chipset internal SRAM 256k */ +/* SRAM on external device module */ +/* Real time clock on external device module */ +/* dobble UART on external device module */ +/* Data flash on external device module */ +/* Boot flash on external device module */ /*******************************************************/ #define CFG_DFL_GT_REGS 0x14000000 /* boot time GT_REGS */ -#define CFG_CPCI750_RESET_ADDR 0x14000000 /* After power on Reset the CPCI750 is here */ +#define CFG_CPCI750_RESET_ADDR 0x14000000 /* After power on Reset the CPCI750 is here */ -#undef MARVEL_STANDARD_CFG -#ifndef MARVEL_STANDARD_CFG +#undef MARVEL_STANDARD_CFG +#ifndef MARVEL_STANDARD_CFG /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ #define CFG_GT_REGS 0xf1000000 /* GT Registers will be mapped here */ /*#define CFG_DEV_BASE 0xfc000000*/ /* GT Devices CS start here */ @@ -327,11 +333,11 @@ #define CFG_DEV2_SPACE 0xfe000000 /* DEV_CS2 flash 3 */ #define CFG_DEV3_SPACE 0xf0000000 /* DEV_CS3 nvram/can */ -#define CFG_BOOT_SIZE _16M /* cpci750 flash 0 */ -#define CFG_DEV0_SIZE _16M /* cpci750 flash 1 */ -#define CFG_DEV1_SIZE _16M /* cpci750 flash 2 */ -#define CFG_DEV2_SIZE _16M /* cpci750 flash 3 */ -#define CFG_DEV3_SIZE _16M /* cpci750 nvram/can */ +#define CFG_BOOT_SIZE _16M /* cpci750 flash 0 */ +#define CFG_DEV0_SIZE _16M /* cpci750 flash 1 */ +#define CFG_DEV1_SIZE _16M /* cpci750 flash 2 */ +#define CFG_DEV2_SIZE _16M /* cpci750 flash 3 */ +#define CFG_DEV3_SIZE _16M /* cpci750 nvram/can */ /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ #endif @@ -340,22 +346,22 @@ #define CFG_DEV0_PAR 0x8FDFFFFF /* 16 bit flash */ #define CFG_DEV1_PAR 0x8FDFFFFF /* 16 bit flash */ #define CFG_DEV2_PAR 0x8FDFFFFF /* 16 bit flash */ -#define CFG_DEV3_PAR 0x8FCFFFFF /* nvram/can */ +#define CFG_DEV3_PAR 0x8FCFFFFF /* nvram/can */ #define CFG_BOOT_PAR 0x8FDFFFFF /* 16 bit flash */ - /* c 4 a 8 2 4 1 c */ - /* 33 22|2222|22 22|111 1|11 11|1 1 | | */ + /* c 4 a 8 2 4 1 c */ + /* 33 22|2222|22 22|111 1|11 11|1 1 | | */ /* 10 98|7654|32 10|987 6|54 32|1 098|7 654|3 210 */ /* 11|00|0100|10 10|100|0 00|10 0|100 0|001 1|100 */ /* 3| 0|.... ..| 2| 4 | 0 | 4 | 8 | 3 | 4 */ /* MPP Control MV64360 Appendix P P. 632*/ -#define CFG_MPP_CONTROL_0 0x00002222 /* */ -#define CFG_MPP_CONTROL_1 0x11110000 /* */ -#define CFG_MPP_CONTROL_2 0x11111111 /* */ -#define CFG_MPP_CONTROL_3 0x00001111 /* */ -/* #define CFG_SERIAL_PORT_MUX 0x00000102*/ /* */ +#define CFG_MPP_CONTROL_0 0x00002222 /* */ +#define CFG_MPP_CONTROL_1 0x11110000 /* */ +#define CFG_MPP_CONTROL_2 0x11111111 /* */ +#define CFG_MPP_CONTROL_3 0x00001111 /* */ +/* #define CFG_SERIAL_PORT_MUX 0x00000102*/ /* */ #define CFG_GPP_LEVEL_CONTROL 0xffffffff /* 1111 1111 1111 1111 1111 1111 1111 1111*/ @@ -372,12 +378,12 @@ ECC disable non registered DRAM */ /* 31:26 25:22 21:20 19 18 17 16 */ - /* 100001 0000 010 0 0 0 0 */ + /* 100001 0000 010 0 0 0 0 */ /* refresh_count=0x400 phisical interleaving disable virtual interleaving enable */ /* 15 14 13:0 */ - /* 0 1 0x400 */ + /* 0 1 0x400 */ # define CFG_SDRAM_CONFIG 0x58200400 /* 0x1400 copied from Dink32 bzw. VxWorks*/ @@ -386,14 +392,14 @@ *----------------------------------------------------------------------- */ -#define PCI_HOST_ADAPTER 0 /* configure ar pci adapter */ -#define PCI_HOST_FORCE 1 /* configure as pci host */ -#define PCI_HOST_AUTO 2 /* detected via arbiter enable */ +#define PCI_HOST_ADAPTER 0 /* configure ar pci adapter */ +#define PCI_HOST_FORCE 1 /* configure as pci host */ +#define PCI_HOST_AUTO 2 /* detected via arbiter enable */ -#define CONFIG_PCI /* include pci support */ -#define CONFIG_PCI_HOST PCI_HOST_FORCE /* select pci host function */ -#define CONFIG_PCI_PNP /* do pci plug-and-play */ -#define CONFIG_PCI_SCAN_SHOW /* show devices on bus */ +#define CONFIG_PCI /* include pci support */ +#define CONFIG_PCI_HOST PCI_HOST_FORCE /* select pci host function */ +#define CONFIG_PCI_PNP /* do pci plug-and-play */ +#define CONFIG_PCI_SCAN_SHOW /* show devices on bus */ /* PCI MEMORY MAP section */ #define CFG_PCI0_MEM_BASE 0x80000000 @@ -427,21 +433,21 @@ * IDE/ATA stuff *----------------------------------------------------------------------- */ -#undef CONFIG_IDE_8xx_DIRECT /* no pcmcia interface required */ -#undef CONFIG_IDE_LED /* no led for ide supported */ -#define CONFIG_IDE_RESET /* no reset for ide supported */ -#define CONFIG_IDE_PREINIT /* check for units */ +#undef CONFIG_IDE_8xx_DIRECT /* no pcmcia interface required */ +#undef CONFIG_IDE_LED /* no led for ide supported */ +#define CONFIG_IDE_RESET /* no reset for ide supported */ +#define CONFIG_IDE_PREINIT /* check for units */ -#define CFG_IDE_MAXBUS 2 /* max. 1 IDE busses */ -#define CFG_IDE_MAXDEVICE (CFG_IDE_MAXBUS*2) /* max. 1 drives per IDE bus */ +#define CFG_IDE_MAXBUS 2 /* max. 1 IDE busses */ +#define CFG_IDE_MAXDEVICE (CFG_IDE_MAXBUS*2) /* max. 1 drives per IDE bus */ -#define CFG_ATA_BASE_ADDR 0 -#define CFG_ATA_IDE0_OFFSET 0 -#define CFG_ATA_IDE1_OFFSET 0 +#define CFG_ATA_BASE_ADDR 0 +#define CFG_ATA_IDE0_OFFSET 0 +#define CFG_ATA_IDE1_OFFSET 0 -#define CFG_ATA_DATA_OFFSET 0x0000 /* Offset for data I/O */ -#define CFG_ATA_REG_OFFSET 0x0000 /* Offset for normal register accesses */ -#define CFG_ATA_ALT_OFFSET 0x0000 /* Offset for alternate registers */ +#define CFG_ATA_DATA_OFFSET 0x0000 /* Offset for data I/O */ +#define CFG_ATA_REG_OFFSET 0x0000 /* Offset for normal register accesses */ +#define CFG_ATA_ALT_OFFSET 0x0000 /* Offset for alternate registers */ /*---------------------------------------------------------------------- @@ -545,7 +551,7 @@ * have to be in the first 8 MB of memory, since this is * the maximum mapped by the Linux kernel during initialization. */ -#define CFG_BOOTMAPSZ (8<<20) /* Initial Memory map for Linux */ +#define CFG_BOOTMAPSZ (8<<20) /* Initial Memory map for Linux */ /*----------------------------------------------------------------------- * FLASH organization @@ -557,23 +563,23 @@ #define CFG_FLASH_LOCK_TOUT 500 /* Timeout for Flash Lock (in ms) */ #if 0 -#define CFG_ENV_IS_IN_FLASH 0 -#define CFG_ENV_SIZE 0x1000 /* Total Size of Environment Sector */ +#define CFG_ENV_IS_IN_FLASH 0 +#define CFG_ENV_SIZE 0x1000 /* Total Size of Environment Sector */ #define CFG_ENV_SECT_SIZE 0x10000 #define CFG_ENV_ADDR 0xFFF78000 /* Marvell 8-Bit Bootflash last sector */ -/* #define CFG_ENV_ADDR (CFG_FLASH_BASE+CFG_MONITOR_LEN-CFG_ENV_SECT_SIZE) */ +/* #define CFG_ENV_ADDR (CFG_FLASH_BASE+CFG_MONITOR_LEN-CFG_ENV_SECT_SIZE) */ #endif #define CFG_ENV_IS_IN_EEPROM 1 /* use EEPROM for environment vars */ #define CFG_EEPROM_PAGE_WRITE_BITS 5 #define CFG_EEPROM_PAGE_WRITE_DELAY_MS 20 -#define CFG_I2C_EEPROM_ADDR 0x050 +#define CFG_I2C_EEPROM_ADDR 0x050 #define CFG_ENV_OFFSET 0x200 /* environment starts at the beginning of the EEPROM */ #define CFG_ENV_SIZE 0x600 /* 2048 bytes may be used for env vars*/ #define CFG_NVRAM_BASE_ADDR 0xf0000000 /* NVRAM base address */ #define CFG_NVRAM_SIZE (32*1024) /* NVRAM size */ -#define CFG_VXWORKS_MAC_PTR (CFG_NVRAM_BASE_ADDR+CFG_NVRAM_SIZE-0x40) +#define CFG_VXWORKS_MAC_PTR (CFG_NVRAM_BASE_ADDR+CFG_NVRAM_SIZE-0x40) /*----------------------------------------------------------------------- * Cache Configuration @@ -595,7 +601,7 @@ #if defined (CONFIG_750CX) || defined (CONFIG_750FX) #define L2_INIT 0 #else -#define L2_INIT (L2CR_L2SIZ_2M | L2CR_L2CLK_3 | L2CR_L2RAM_BURST | \ +#define L2_INIT (L2CR_L2SIZ_2M | L2CR_L2CLK_3 | L2CR_L2RAM_BURST | \ L2CR_L2OH_5 | L2CR_L2CTL | L2CR_L2WT) #endif @@ -606,9 +612,9 @@ * * Boot Flags */ -#define BOOTFLAG_COLD 0x01 /* Normal Power-On: Boot from FLASH */ +#define BOOTFLAG_COLD 0x01 /* Normal Power-On: Boot from FLASH */ #define BOOTFLAG_WARM 0x02 /* Software reboot */ -#define CFG_BOARD_ASM_INIT 1 +#define CFG_BOARD_ASM_INIT 1 #endif /* __CONFIG_H */ diff --git a/include/configs/HH405.h b/include/configs/HH405.h index 41a35d2..dc40ebc 100644 --- a/include/configs/HH405.h +++ b/include/configs/HH405.h @@ -5,6 +5,9 @@ * (C) Copyright 2005 * Stefan Roese, DENX Software Engineering, sr@denx.de. * + * (C) Copyright 2006 + * Matthias Fuchs, esd GmbH, matthias.fuchs@esd-electronics.com + * * See file CREDITS for list of people who contributed to this * project. * @@ -61,9 +64,13 @@ #define CFG_LOADS_BAUD_CHANGE 1 /* allow baudrate change */ +#define CONFIG_NET_MULTI 1 +#undef CONFIG_HAS_ETH1 + #define CONFIG_MII 1 /* MII PHY management */ -#define CONFIG_PHY_ADDR 0 /* PHY address */ +#define CONFIG_PHY_ADDR 0 /* PHY address */ #define CONFIG_LXT971_NO_SLEEP 1 /* disable sleep mode in LXT971 */ +#define CONFIG_RESET_PHY_R 1 /* use reset_phy() to disable phy sleep mode */ #define CONFIG_PHY_CLK_FREQ EMAC_STACR_CLK_66MHZ /* 66 MHz OPB clock*/ @@ -79,6 +86,7 @@ #else #define CONFIG_VIDEO_SM501_16BPP #endif +#define CONFIG_VIDEO_SM501_FBMEM_OFFSET 0x10000 #define CONFIG_CFB_CONSOLE #define CONFIG_VIDEO_LOGO #define CONFIG_VGA_AS_SINGLE_DEVICE @@ -436,9 +444,12 @@ #define CFG_FPGA_CTRL_VGA0_BL_MODE 0x0008 #define CFG_FPGA_CTRL_CF_RESET 0x0040 #define CFG_FPGA_CTRL_PS2_PWR 0x0080 -#define CFG_FPGA_CTRL_CF_PWR 0x0100 /* low active */ +#define CFG_FPGA_CTRL_CF_PWRN 0x0100 /* low active */ #define CFG_FPGA_CTRL_CF_BUS_EN 0x0200 #define CFG_FPGA_CTRL_LCD_CLK 0x7000 /* Mask for lcd clock */ +#define CFG_FPGA_CTRL_OW_ENABLE 0x8000 + +#define CFG_FPGA_STATUS_CF_DETECT 0x8000 #define LCD_CLK_OFF 0x0000 /* Off */ #define LCD_CLK_02083 0x1000 /* 2.083 MHz */ diff --git a/include/configs/PPChameleonEVB.h b/include/configs/PPChameleonEVB.h index 88e6db4..e1155e2 100644 --- a/include/configs/PPChameleonEVB.h +++ b/include/configs/PPChameleonEVB.h @@ -300,8 +300,6 @@ #define NAND_ChipID_UNKNOWN 0x00 #define NAND_MAX_FLOORS 1 - - #ifdef NAND_NO_RB /* constant delay (see also tR in the datasheet) */ #define NAND_WAIT_READY(nand) do { \ diff --git a/include/configs/delta.h b/include/configs/delta.h new file mode 100644 index 0000000..8e5e612 --- /dev/null +++ b/include/configs/delta.h @@ -0,0 +1,288 @@ +/* + * Configuation settings for the Delta board. + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ + +#ifndef __CONFIG_H +#define __CONFIG_H + +/* + * High Level Configuration Options + * (easy to change) + */ +#define CONFIG_CPU_MONAHANS 1 /* Intel Monahan CPU */ +#define CONFIG_DELTA 1 /* Delta board */ + +/* #define CONFIG_LCD 1 */ +#ifdef CONFIG_LCD +#define CONFIG_SHARP_LM8V31 +#endif +/* #define CONFIG_MMC 1 */ +#define BOARD_LATE_INIT 1 + +#undef CONFIG_SKIP_RELOCATE_UBOOT +#undef CONFIG_USE_IRQ /* we don't need IRQ/FIQ stuff */ + +/* + * Size of malloc() pool + */ +#define CFG_MALLOC_LEN (CFG_ENV_SIZE + 256*1024) +#define CFG_GBL_DATA_SIZE 128 /* size in bytes reserved for initial data */ + +/* + * Hardware drivers + */ + +#undef TURN_ON_ETHERNET +#ifdef TURN_ON_ETHERNET +# define CONFIG_DRIVER_SMC91111 1 +# define CONFIG_SMC91111_BASE 0x14000300 +# define CONFIG_SMC91111_EXT_PHY +# define CONFIG_SMC_USE_32_BIT +# undef CONFIG_SMC_USE_IOFUNCS /* just for use with the kernel */ +#endif + +/* + * select serial console configuration + */ +#define CONFIG_FFUART 1 + +/* allow to overwrite serial and ethaddr */ +#define CONFIG_ENV_OVERWRITE + +#define CONFIG_BAUDRATE 115200 + +/* #define CONFIG_COMMANDS (CONFIG_CMD_DFL | CFG_CMD_MMC | CFG_CMD_FAT) */ +#ifdef TURN_ON_ETHERNET +# define CONFIG_COMMANDS (CONFIG_CMD_DFL | CFG_CMD_PING) +#else +# define CONFIG_COMMANDS ((CONFIG_CMD_DFL | CFG_CMD_NAND) \ + & ~(CFG_CMD_NET | CFG_CMD_FLASH | \ + CFG_CMD_ENV | CFG_CMD_IMLS)) +#endif + + +/* this must be included AFTER the definition of CONFIG_COMMANDS (if any) */ +#include <cmd_confdefs.h> + +#define CONFIG_BOOTDELAY -1 +#define CONFIG_ETHADDR 08:00:3e:26:0a:5b +#define CONFIG_NETMASK 255.255.0.0 +#define CONFIG_IPADDR 192.168.0.21 +#define CONFIG_SERVERIP 192.168.0.250 +#define CONFIG_BOOTCOMMAND "bootm 80000" +#define CONFIG_BOOTARGS "root=/dev/mtdblock2 rootfstype=cramfs console=ttyS0,115200" +#define CONFIG_CMDLINE_TAG +#define CONFIG_TIMESTAMP + +#if (CONFIG_COMMANDS & CFG_CMD_KGDB) +#define CONFIG_KGDB_BAUDRATE 230400 /* speed to run kgdb serial port */ +#define CONFIG_KGDB_SER_INDEX 2 /* which serial port to use */ +#endif + +/* + * Miscellaneous configurable options + */ +#define CFG_HUSH_PARSER 1 +#define CFG_PROMPT_HUSH_PS2 "> " + +#define CFG_LONGHELP /* undef to save memory */ +#ifdef CFG_HUSH_PARSER +#define CFG_PROMPT "$ " /* Monitor Command Prompt */ +#else +#define CFG_PROMPT "=> " /* Monitor Command Prompt */ +#endif +#define CFG_CBSIZE 256 /* Console I/O Buffer Size */ +#define CFG_PBSIZE (CFG_CBSIZE+sizeof(CFG_PROMPT)+16) /* Print Buffer Size */ +#define CFG_MAXARGS 16 /* max number of command args */ +#define CFG_BARGSIZE CFG_CBSIZE /* Boot Argument Buffer Size */ +#define CFG_DEVICE_NULLDEV 1 + +#define CFG_MEMTEST_START 0xa0400000 /* memtest works on */ +#define CFG_MEMTEST_END 0xa0800000 /* 4 ... 8 MB in DRAM */ + +#undef CFG_CLKS_IN_HZ /* everything, incl board info, in Hz */ + +#define CFG_LOAD_ADDR (CFG_DRAM_BASE + 0x8000) /* default load address */ + +#define CFG_HZ 3686400 /* incrementer freq: 3.6864 MHz */ +#define CFG_CPUSPEED 0x161 /* set core clock to 400/200/100 MHz */ + + /* valid baudrates */ +#define CFG_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200 } + +/* #define CFG_MMC_BASE 0xF0000000 */ + +/* + * Stack sizes + * + * The stack sizes are set up in start.S using the settings below + */ +#define CONFIG_STACKSIZE (128*1024) /* regular stack */ +#ifdef CONFIG_USE_IRQ +#define CONFIG_STACKSIZE_IRQ (4*1024) /* IRQ stack */ +#define CONFIG_STACKSIZE_FIQ (4*1024) /* FIQ stack */ +#endif + +/* + * Physical Memory Map + */ +#define CONFIG_NR_DRAM_BANKS 4 /* we have 2 banks of DRAM */ +#define PHYS_SDRAM_1 0xa0000000 /* SDRAM Bank #1 */ +#define PHYS_SDRAM_1_SIZE 0x1000000 /* 64 MB */ +#define PHYS_SDRAM_2 0xa1000000 /* SDRAM Bank #2 */ +#define PHYS_SDRAM_2_SIZE 0x1000000 /* 64 MB */ +#define PHYS_SDRAM_3 0xa2000000 /* SDRAM Bank #3 */ +#define PHYS_SDRAM_3_SIZE 0x1000000 /* 64 MB */ +#define PHYS_SDRAM_4 0xa3000000 /* SDRAM Bank #4 */ +#define PHYS_SDRAM_4_SIZE 0x1000000 /* 64 MB */ + +#define CFG_DRAM_BASE 0xa0000000 /* at CS0 */ +#define CFG_DRAM_SIZE 0x04000000 /* 64 MB Ram */ + +#undef CFG_SKIP_DRAM_SCRUB + +/* + * NAND Flash + */ +/* Use the new NAND code. (BOARDLIBS = drivers/nand/libnand.a required) */ +#define CONFIG_NEW_NAND_CODE +#define CFG_NAND0_BASE 0x0 /* 0x43100040 */ /* 0x10000000 */ +#undef CFG_NAND1_BASE + +#define CFG_NAND_BASE_LIST { CFG_NAND0_BASE } +#define CFG_MAX_NAND_DEVICE 1 /* Max number of NAND devices */ +#define SECTORSIZE 512 +#define NAND_DELAY_US 25 /* mk@tbd: could be 0, I guess */ + +/* nand timeout values */ +#define CFG_NAND_PROG_ERASE_TO 3000 +#define CFG_NAND_OTHER_TO 100 +#define CFG_NAND_SENDCMD_RETRY 3 +#undef NAND_ALLOW_ERASE_ALL /* Allow erasing bad blocks - don't use */ + +/* NAND Timing Parameters (in ns) */ +#define NAND_TIMING_tCH 10 +#define NAND_TIMING_tCS 0 +#define NAND_TIMING_tWH 20 +#define NAND_TIMING_tWP 40 + +#define NAND_TIMING_tRH 20 +#define NAND_TIMING_tRP 40 + +#define NAND_TIMING_tR 11123 +/* #define NAND_TIMING_tWHR 110 */ +#define NAND_TIMING_tWHR 100 +#define NAND_TIMING_tAR 10 + +/* NAND debugging */ +#define CFG_DFC_DEBUG1 /* usefull */ +#undef CFG_DFC_DEBUG2 /* noisy */ +#undef CFG_DFC_DEBUG3 /* extremly noisy */ + +#define CONFIG_MTD_DEBUG +#define CONFIG_MTD_DEBUG_VERBOSE 1 + +#define ADDR_COLUMN 1 +#define ADDR_PAGE 2 +#define ADDR_COLUMN_PAGE 3 + +#define NAND_ChipID_UNKNOWN 0x00 +#define NAND_MAX_FLOORS 1 +#define NAND_MAX_CHIPS 1 + +#define CFG_NO_FLASH 1 +#ifndef CGF_NO_FLASH +/* these are required by the environment code */ +#define PHYS_FLASH_1 CFG_NAND0_BASE /* Flash Bank #1 */ +#define PHYS_FLASH_SIZE 0x04000000 /* 64 MB */ +#define PHYS_FLASH_BANK_SIZE 0x04000000 /* 64 MB Banks */ +#define PHYS_FLASH_SECT_SIZE (SECTORSIZE*1024) /* KB sectors (x2) */ +#endif + +/* + * GPIO settings + */ +#define CFG_GPSR0_VAL 0x00008000 +#define CFG_GPSR1_VAL 0x00FC0382 +#define CFG_GPSR2_VAL 0x0001FFFF +#define CFG_GPCR0_VAL 0x00000000 +#define CFG_GPCR1_VAL 0x00000000 +#define CFG_GPCR2_VAL 0x00000000 +#define CFG_GPDR0_VAL 0x0060A800 +#define CFG_GPDR1_VAL 0x00FF0382 +#define CFG_GPDR2_VAL 0x0001C000 +#define CFG_GAFR0_L_VAL 0x98400000 +#define CFG_GAFR0_U_VAL 0x00002950 +#define CFG_GAFR1_L_VAL 0x000A9558 +#define CFG_GAFR1_U_VAL 0x0005AAAA +#define CFG_GAFR2_L_VAL 0xA0000000 +#define CFG_GAFR2_U_VAL 0x00000002 + +#define CFG_PSSR_VAL 0x20 + +/* + * Memory settings + */ +#define CFG_MSC0_VAL 0x23F223F2 +#define CFG_MSC1_VAL 0x3FF1A441 +#define CFG_MSC2_VAL 0x7FF97FF1 +#define CFG_MDCNFG_VAL 0x00001AC9 +#define CFG_MDREFR_VAL 0x00018018 +#define CFG_MDMRS_VAL 0x00000000 + +/* + * PCMCIA and CF Interfaces + */ +#define CFG_MECR_VAL 0x00000000 +#define CFG_MCMEM0_VAL 0x00010504 +#define CFG_MCMEM1_VAL 0x00010504 +#define CFG_MCATT0_VAL 0x00010504 +#define CFG_MCATT1_VAL 0x00010504 +#define CFG_MCIO0_VAL 0x00004715 +#define CFG_MCIO1_VAL 0x00004715 + +#define _LED 0x08000010 +#define LED_BLANK 0x08000040 + +/* + * FLASH and environment organization + */ +#ifndef CFG_NO_FLASH +#define CFG_MAX_FLASH_BANKS 2 /* max number of memory banks */ +#define CFG_MAX_FLASH_SECT 128 /* max number of sectors on one chip */ + +/* timeout values are in ticks */ +#define CFG_FLASH_ERASE_TOUT (25*CFG_HZ) /* Timeout for Flash Erase */ +#define CFG_FLASH_WRITE_TOUT (25*CFG_HZ) /* Timeout for Flash Write */ + + +/* NOTE: many default partitioning schemes assume the kernel starts at the + * second sector, not an environment. You have been warned! + */ +#define CFG_MONITOR_LEN PHYS_FLASH_SECT_SIZE +#endif /* #ifndef CFG_NO_FLASH */ + +#define CFG_ENV_IS_NOWHERE +/* #define CFG_ENV_IS_IN_NAND 1 */ +#define CFG_ENV_OFFSET 0x40000 +#define CFG_ENV_SIZE 0x4000 + +#endif /* __CONFIG_H */ diff --git a/include/configs/mcc200.h b/include/configs/mcc200.h new file mode 100644 index 0000000..d4dee3b --- /dev/null +++ b/include/configs/mcc200.h @@ -0,0 +1,281 @@ +/* + * (C) Copyright 2006 + * Wolfgang Denk, DENX Software Engineering, wd@denx.de. + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ + +#ifndef __CONFIG_H +#define __CONFIG_H + +/* + * High Level Configuration Options + * (easy to change) + */ + +#define CONFIG_MPC5200 +#define CONFIG_MPC5xxx 1 /* This is an MPC5xxx CPU */ +#define CONFIG_MCC200 1 /* ... on MCC200 board */ + +#define CFG_MPC5XXX_CLKIN 33000000 /* ... running at 33MHz */ + +#define CONFIG_MISC_INIT_R + +#define BOOTFLAG_COLD 0x01 /* Normal Power-On: Boot from FLASH */ +#define BOOTFLAG_WARM 0x02 /* Software reboot */ + +#define CFG_CACHELINE_SIZE 32 /* For MPC5xxx CPUs */ +#if (CONFIG_COMMANDS & CFG_CMD_KGDB) +# define CFG_CACHELINE_SHIFT 5 /* log base 2 of the above value */ +#endif + +/* + * Serial console configuration + */ +#define CONFIG_PSC_CONSOLE 1 /* console is on PSC1 */ +#define CONFIG_BAUDRATE 115200 +#define CFG_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200, 230400 } + +#define CONFIG_MII 1 + +#define CONFIG_DOS_PARTITION + +/* USB */ +#define CONFIG_USB_OHCI +#define ADD_USB_CMD CFG_CMD_USB | CFG_CMD_FAT +#define CONFIG_USB_STORAGE + +/* + * Supported commands + */ +#define CONFIG_COMMANDS (CONFIG_CMD_DFL | \ + ADD_USB_CMD | \ + CFG_CMD_BEDBUG | \ + CFG_CMD_DATE | \ + CFG_CMD_DHCP | \ + CFG_CMD_EEPROM | \ + CFG_CMD_FAT | \ + CFG_CMD_I2C | \ + CFG_CMD_NFS | \ + CFG_CMD_SNTP ) + +/* this must be included AFTER the definition of CONFIG_COMMANDS (if any) */ +#include <cmd_confdefs.h> + +/* + * Autobooting + */ +#define CONFIG_BOOTDELAY 5 /* autoboot after 5 seconds */ + +#define CONFIG_PREBOOT "echo;" \ + "echo Type \"run flash_nfs\" to mount root filesystem over NFS;" \ + "echo" + +#undef CONFIG_BOOTARGS + +#define CONFIG_EXTRA_ENV_SETTINGS \ + "netdev=eth0\0" \ + "hostname=mcc200\0" \ + "nfsargs=setenv bootargs root=/dev/nfs rw " \ + "nfsroot=${serverip}:${rootpath}\0" \ + "ramargs=setenv bootargs root=/dev/ram rw\0" \ + "addip=setenv bootargs ${bootargs} " \ + "ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}" \ + ":${hostname}:${netdev}:off panic=1\0" \ + "flash_nfs=run nfsargs addip;" \ + "bootm ${kernel_addr}\0" \ + "flash_self=run ramargs addip;" \ + "bootm ${kernel_addr} ${ramdisk_addr}\0" \ + "net_nfs=tftp 200000 ${bootfile};run nfsargs addip;bootm\0" \ + "rootpath=/opt/eldk/ppc_6xx\0" \ + "bootfile=/tftpboot/mcc200/uImage\0" \ + "baudrate=115200\0" \ + "load=tftp 200000 /tftpboot/mcc200/u-boot.bin\0" \ + "update=protect off FFF00000 +${filesize};" \ + "era FFF00000 +${filesize};" \ + "cp.b 200000 FFF00000 ${filesize}\0" \ + "serverip=192.168.1.1\0" \ + "ipaddr=192.168.133.144\0" \ + "netmask=255.255.0.0\0" \ + "unlock=yes\0" \ + "ethaddr=00:02:44:7D:73:3B\0" \ + "" + +#define CONFIG_BOOTCOMMAND "run flash_self" + +#define CFG_HUSH_PARSER 1 /* use "hush" command parser */ +#define CFG_PROMPT_HUSH_PS2 "> " + +/* + * IPB Bus clocking configuration. + */ +#define CFG_IPBSPEED_133 /* define for 133MHz speed */ + +/* + * I2C configuration + */ +#define CONFIG_HARD_I2C 1 /* I2C with hardware support */ +#define CFG_I2C_MODULE 2 /* Select I2C module #1 or #2 */ + +#define CFG_I2C_SPEED 100000 /* 100 kHz */ +#define CFG_I2C_SLAVE 0x7F + +/* + * EEPROM configuration + */ +#define CFG_I2C_EEPROM_ADDR 0x58 +#define CFG_I2C_EEPROM_ADDR_LEN 1 +#define CFG_EEPROM_PAGE_WRITE_BITS 4 +#define CFG_EEPROM_PAGE_WRITE_DELAY_MS 10 + +/* + * RTC configuration + */ +#define CONFIG_RTC_PCF8563 +#define CFG_I2C_RTC_ADDR 0x51 + +/* + * Flash configuration (8,16 or 32 MB) + * TEXT base always at 0xFFF00000 + * ENV_ADDR always at 0xFFF40000 + * FLASH_BASE at 0xFC000000 for 64 MB (only 32MB are supported, not enough addr lines!!!) + * 0xFE000000 for 32 MB + * 0xFF000000 for 16 MB + * 0xFF800000 for 8 MB + */ +#define CFG_FLASH_BASE 0xfc000000 +#define CFG_FLASH_SIZE 0x04000000 + +#define CFG_FLASH_CFI /* The flash is CFI compatible */ +#define CFG_FLASH_CFI_DRIVER /* Use common CFI driver */ + +#define CFG_FLASH_BANKS_LIST { CFG_FLASH_BASE } + +#define CFG_MAX_FLASH_BANKS 1 /* max number of memory banks */ +#define CFG_MAX_FLASH_SECT 512 /* max number of sectors on one chip */ + +#define CFG_FLASH_USE_BUFFER_WRITE 1 /* use buffered writes (20x faster) */ +#define CFG_FLASH_PROTECTION 1 /* hardware flash protection */ + +#define CFG_FLASH_ERASE_TOUT 120000 /* Timeout for Flash Erase (in ms) */ +#define CFG_FLASH_WRITE_TOUT 500 /* Timeout for Flash Write (in ms) */ + +#define CFG_FLASH_EMPTY_INFO /* print 'E' for empty sector on flinfo */ +#define CFG_FLASH_QUIET_TEST 1 /* don't warn upon unknown flash */ + +#define CFG_ENV_IS_IN_FLASH 1 /* use FLASH for environment vars */ + +#define CFG_ENV_SECT_SIZE 0x40000 /* size of one complete sector */ +#define CFG_ENV_ADDR (CFG_MONITOR_BASE + CFG_MONITOR_LEN) +#define CFG_ENV_SIZE 0x2000 /* Total Size of Environment Sector */ + +/* Address and size of Redundant Environment Sector */ +#define CFG_ENV_ADDR_REDUND (CFG_ENV_ADDR + CFG_ENV_SECT_SIZE) +#define CFG_ENV_SIZE_REDUND (CFG_ENV_SIZE) + +#define CONFIG_ENV_OVERWRITE 1 /* allow modification of vendor params */ + +/* + * Memory map + */ +#define CFG_MBAR 0xf0000000 +#define CFG_SDRAM_BASE 0x00000000 +#define CFG_DEFAULT_MBAR 0x80000000 + +/* Use SRAM until RAM will be available */ +#define CFG_INIT_RAM_ADDR MPC5XXX_SRAM +#define CFG_INIT_RAM_END MPC5XXX_SRAM_SIZE /* End of used area in DPRAM */ + + +#define CFG_GBL_DATA_SIZE 128 /* size in bytes reserved for initial data */ +#define CFG_GBL_DATA_OFFSET (CFG_INIT_RAM_END - CFG_GBL_DATA_SIZE) +#define CFG_INIT_SP_OFFSET CFG_GBL_DATA_OFFSET + +#define CFG_MONITOR_BASE TEXT_BASE +#if (CFG_MONITOR_BASE < CFG_FLASH_BASE) +# define CFG_RAMBOOT 1 +#endif + +#define CFG_MONITOR_LEN (256 << 10) /* Reserve 256 kB for Monitor */ +#define CFG_MALLOC_LEN (512 << 10) /* Reserve 512 kB for malloc() */ +#define CFG_BOOTMAPSZ (8 << 20) /* Initial Memory map for Linux */ + +/* + * Ethernet configuration + */ +#define CONFIG_MPC5xxx_FEC 1 +/* + * Define CONFIG_FEC_10MBIT to force FEC at 10Mb + */ +/* #define CONFIG_FEC_10MBIT 1 */ +#define CONFIG_PHY_ADDR 1 + +/* + * GPIO configuration + */ +/* 0x10000004 = 32MB SDRAM */ +/* 0x90000004 = 64MB SDRAM */ +#define CFG_GPS_PORT_CONFIG 0x10000004 + +/* + * Miscellaneous configurable options + */ +#define CFG_LONGHELP /* undef to save memory */ +#define CFG_PROMPT "=> " /* Monitor Command Prompt */ +#if (CONFIG_COMMANDS & CFG_CMD_KGDB) +#define CFG_CBSIZE 1024 /* Console I/O Buffer Size */ +#else +#define CFG_CBSIZE 256 /* Console I/O Buffer Size */ +#endif +#define CFG_PBSIZE (CFG_CBSIZE+sizeof(CFG_PROMPT)+16) /* Print Buffer Size */ +#define CFG_MAXARGS 16 /* max number of command args */ +#define CFG_BARGSIZE CFG_CBSIZE /* Boot Argument Buffer Size */ + +#define CFG_MEMTEST_START 0x00100000 /* memtest works on */ +#define CFG_MEMTEST_END 0x00f00000 /* 1 ... 15 MB in DRAM */ + +#define CFG_LOAD_ADDR 0x100000 /* default load address */ + +#define CFG_HZ 1000 /* decrementer freq: 1 ms ticks */ + +/* + * Various low-level settings + */ +#define CFG_HID0_INIT HID0_ICE | HID0_ICFI +#define CFG_HID0_FINAL HID0_ICE + +#define CFG_BOOTCS_START CFG_FLASH_BASE +#define CFG_BOOTCS_SIZE CFG_FLASH_SIZE +#define CFG_BOOTCS_CFG 0x0004fb00 +#define CFG_CS0_START CFG_FLASH_BASE +#define CFG_CS0_SIZE CFG_FLASH_SIZE + +#define CFG_CS_BURST 0x00000000 +#define CFG_CS_DEADCYCLE 0x33333333 + +#define CFG_RESET_ADDRESS 0xff000000 + +/*----------------------------------------------------------------------- + * USB stuff + *----------------------------------------------------------------------- + */ +#define CONFIG_USB_CLOCK 0x0001BBBB +#define CONFIG_USB_CONFIG 0x00005000 + +#endif /* __CONFIG_H */ diff --git a/include/configs/smmaco4.h b/include/configs/smmaco4.h new file mode 100644 index 0000000..e106b3b --- /dev/null +++ b/include/configs/smmaco4.h @@ -0,0 +1,373 @@ +/* + * (C) Copyright 2003-2006 + * Wolfgang Denk, DENX Software Engineering, wd@denx.de. + * + * (C) Copyright 2004-2005 + * Martin Krause, TQ-Systems GmbH, martin.krause@tqs.de + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ + +#ifndef __CONFIG_H +#define __CONFIG_H + +/* + * High Level Configuration Options + * (easy to change) + */ + +#define CONFIG_MPC5xxx 1 /* This is an MPC5xxx CPU */ +#define CONFIG_MPC5200 1 /* (more precisely an MPC5200 CPU) */ +#define CONFIG_TQM5200 1 /* ... on TQM5200 module */ +#undef CONFIG_TQM5200_REV100 /* define for revision 100 modules */ + +#define CFG_MPC5XXX_CLKIN 33000000 /* ... running at 33.000000MHz */ + +#define BOOTFLAG_COLD 0x01 /* Normal Power-On: Boot from FLASH */ +#define BOOTFLAG_WARM 0x02 /* Software reboot */ + +#define CFG_CACHELINE_SIZE 32 /* For MPC5xxx CPUs */ +#if (CONFIG_COMMANDS & CFG_CMD_KGDB) +# define CFG_CACHELINE_SHIFT 5 /* log base 2 of the above value */ +#endif + +/* + * Serial console configuration + */ +#define CONFIG_PSC_CONSOLE 1 /* console is on PSC1 */ +#define CONFIG_BAUDRATE 115200 /* ... at 115200 bps */ +#define CFG_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200, 230400 } + +/* Partitions */ +#define CONFIG_MAC_PARTITION +#define CONFIG_DOS_PARTITION +#define CONFIG_ISO_PARTITION + +/* POST support */ +#define CONFIG_POST (CFG_POST_MEMORY | \ + CFG_POST_CPU | \ + CFG_POST_I2C) + +#ifdef CONFIG_POST +#define CFG_CMD_POST_DIAG CFG_CMD_DIAG +/* preserve space for the post_word at end of on-chip SRAM */ +#define MPC5XXX_SRAM_POST_SIZE MPC5XXX_SRAM_SIZE-4 +#else +#define CFG_CMD_POST_DIAG 0 +#endif + +/* + * Supported commands + */ +#define CONFIG_COMMANDS (CONFIG_CMD_DFL | \ + CFG_CMD_ASKENV | \ + CFG_CMD_DATE | \ + CFG_CMD_DHCP | \ + CFG_CMD_ECHO | \ + CFG_CMD_EEPROM | \ + CFG_CMD_I2C | \ + CFG_CMD_JFFS2 | \ + CFG_CMD_MII | \ + CFG_CMD_NFS | \ + CFG_CMD_PING | \ + CFG_CMD_POST_DIAG | \ + CFG_CMD_REGINFO | \ + CFG_CMD_SNTP ) + +/* this must be included AFTER the definition of CONFIG_COMMANDS (if any) */ +#include <cmd_confdefs.h> + +#define CONFIG_TIMESTAMP /* display image timestamps */ + +#if (TEXT_BASE == 0xFC000000) /* Boot low */ +# define CFG_LOWBOOT 1 +#endif + +/* + * Autobooting + */ +#define CONFIG_BOOTDELAY 5 /* autoboot after 5 seconds */ + +#define CONFIG_PREBOOT "echo;" \ + "echo Type \"run flash_nfs\" to mount root filesystem over NFS;" \ + "echo" + +#undef CONFIG_BOOTARGS + +#define CONFIG_EXTRA_ENV_SETTINGS \ + "netdev=eth0\0" \ + "rootpath=/opt/eldk/ppc_6xx\0" \ + "ramargs=setenv bootargs root=/dev/ram rw\0" \ + "nfsargs=setenv bootargs root=/dev/nfs rw " \ + "nfsroot=${serverip}:${rootpath}\0" \ + "addip=setenv bootargs ${bootargs} " \ + "ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}" \ + ":${hostname}:${netdev}:off panic=1\0" \ + "flash_self=run ramargs addip;" \ + "bootm ${kernel_addr} ${ramdisk_addr}\0" \ + "flash_nfs=run nfsargs addip;" \ + "bootm ${kernel_addr}\0" \ + "net_nfs=tftp 200000 ${bootfile};run nfsargs addip;bootm\0" \ + "bootfile=/tftpboot/smmaco4/uImage\0" \ + "load=tftp 200000 ${u-boot}\0" \ + "u-boot=/tftpboot/smmaco4/u-boot.bin\0" \ + "update=protect off FC000000 FC05FFFF;" \ + "erase FC000000 FC05FFFF;" \ + "cp.b 200000 FC000000 ${filesize};" \ + "protect on FC000000 FC05FFFF\0" \ + "" + +#define CONFIG_BOOTCOMMAND "run net_nfs" + +/* + * IPB Bus clocking configuration. + */ +#define CFG_IPBSPEED_133 /* define for 133MHz speed */ + +#if defined(CFG_IPBSPEED_133) +/* + * PCI Bus clocking configuration + * + * Actually a PCI Clock of 66 MHz is only set (in cpu_init.c) if + * CFG_IPBSPEED_133 is defined. This is because a PCI Clock of 66 MHz yet hasn't + * been tested with a IPB Bus Clock of 66 MHz. + */ +#define CFG_PCISPEED_66 /* define for 66MHz speed */ +#endif + +/* + * I2C configuration + */ +#define CONFIG_HARD_I2C 1 /* I2C with hardware support */ +#ifdef CONFIG_TQM5200_REV100 +#define CFG_I2C_MODULE 1 /* Select I2C module #1 for rev. 100 board */ +#else +#define CFG_I2C_MODULE 2 /* Select I2C module #2 for all other revs */ +#endif + +/* + * I2C clock frequency + * + * Please notice, that the resulting clock frequency could differ from the + * configured value. This is because the I2C clock is derived from system + * clock over a frequency divider with only a few divider values. U-boot + * calculates the best approximation for CFG_I2C_SPEED. However the calculated + * approximation allways lies below the configured value, never above. + */ +#define CFG_I2C_SPEED 100000 /* 100 kHz */ +#define CFG_I2C_SLAVE 0x7F + +/* + * EEPROM configuration for onboard EEPROM M24C32 (M24C64 should work + * also). For other EEPROMs configuration should be verified. On Mini-FAP the + * EEPROM (24C64) is on the same I2C address (but on other I2C bus), so the + * same configuration could be used. + */ +#define CFG_I2C_EEPROM_ADDR 0x50 /* 1010000x */ +#define CFG_I2C_EEPROM_ADDR_LEN 2 +#define CFG_EEPROM_PAGE_WRITE_BITS 5 /* =32 Bytes per write */ +#define CFG_EEPROM_PAGE_WRITE_DELAY_MS 20 + +/* + * Flash configuration + */ +#define CFG_FLASH_BASE TEXT_BASE /* 0xFC000000 */ + +/* use CFI flash driver if no module variant is spezified */ +#define CFG_FLASH_CFI 1 /* Flash is CFI conformant */ +#define CFG_FLASH_CFI_DRIVER 1 /* Use the common driver */ +#define CFG_FLASH_BANKS_LIST { CFG_BOOTCS_START } +#define CFG_FLASH_EMPTY_INFO +#define CFG_FLASH_SIZE 0x04000000 /* 64 MByte */ +#define CFG_MAX_FLASH_SECT 512 /* max num of sects on one chip */ +#undef CFG_FLASH_USE_BUFFER_WRITE /* not supported yet for AMD */ + +#if !defined(CFG_LOWBOOT) +#define CFG_ENV_ADDR (CFG_FLASH_BASE + 0x00760000 + 0x00800000) +#else /* CFG_LOWBOOT */ +#define CFG_ENV_ADDR (CFG_FLASH_BASE + 0x00060000) +#endif /* CFG_LOWBOOT */ +#define CFG_MAX_FLASH_BANKS 1 /* max num of flash banks + (= chip selects) */ +#define CFG_FLASH_ERASE_TOUT 240000 /* Flash Erase Timeout (in ms) */ +#define CFG_FLASH_WRITE_TOUT 500 /* Flash Write Timeout (in ms) */ + +/* Dynamic MTD partition support */ +#define CONFIG_JFFS2_CMDLINE +#define MTDIDS_DEFAULT "nor0=TQM5200-0" +#define MTDPARTS_DEFAULT "mtdparts=TQM5200-0:640k(firmware)," \ + "1408k(kernel)," \ + "2m(initrd)," \ + "4m(small-fs)," \ + "16m(big-fs)," \ + "8m(misc)" + +/* + * Environment settings + */ +#define CFG_ENV_IS_IN_FLASH 1 +#define CFG_ENV_SIZE 0x10000 +#define CFG_ENV_SECT_SIZE 0x20000 +#define CFG_ENV_ADDR_REDUND (CFG_ENV_ADDR + CFG_ENV_SECT_SIZE) +#define CFG_ENV_SIZE_REDUND (CFG_ENV_SIZE) + +/* + * Memory map + */ +#define CFG_MBAR 0xF0000000 +#define CFG_SDRAM_BASE 0x00000000 +#define CFG_DEFAULT_MBAR 0x80000000 + +/* Use ON-Chip SRAM until RAM will be available */ +#define CFG_INIT_RAM_ADDR MPC5XXX_SRAM +#ifdef CONFIG_POST +/* preserve space for the post_word at end of on-chip SRAM */ +#define CFG_INIT_RAM_END MPC5XXX_SRAM_POST_SIZE +#else +#define CFG_INIT_RAM_END MPC5XXX_SRAM_SIZE +#endif + + +#define CFG_GBL_DATA_SIZE 128 /* size in bytes reserved for initial data */ +#define CFG_GBL_DATA_OFFSET (CFG_INIT_RAM_END - CFG_GBL_DATA_SIZE) +#define CFG_INIT_SP_OFFSET CFG_GBL_DATA_OFFSET + +#define CFG_MONITOR_BASE TEXT_BASE +#if (CFG_MONITOR_BASE < CFG_FLASH_BASE) +# define CFG_RAMBOOT 1 +#endif + +#define CFG_MONITOR_LEN (384 << 10) /* Reserve 384 kB for Monitor */ +#define CFG_MALLOC_LEN (256 << 10) /* Reserve 256 kB for malloc() */ +#define CFG_BOOTMAPSZ (8 << 20) /* Initial Memory map for Linux */ + +/* + * Ethernet configuration + */ +#define CONFIG_MPC5xxx_FEC 1 +/* + * Define CONFIG_FEC_10MBIT to force FEC at 10Mb + */ +/* #define CONFIG_FEC_10MBIT 1 */ +#define CONFIG_PHY_ADDR 0x00 + +/* + * GPIO configuration + * + * use pin gpio_wkup_6 as second SDRAM chip select (mem_cs1): + * Bit 0 (mask: 0x80000000): 1 + * use ALT CAN position: Bits 2-3 (mask: 0x30000000): + * 00 -> No Alternatives, CAN1/2 on PSC2 according to PSC2 setting. + * 01 -> CAN1 on I2C1, CAN2 on Tmr0/1. + * Use for REV200 STK52XX boards. Do not use with REV100 modules + * (because, there I2C1 is used as I2C bus) + * use PSC1 as UART: Bits 28-31 (mask: 0x00000007): 0100 + * use PSC2 as CAN: Bits 25:27 (mask: 0x00000030) + * 000 -> All PSC2 pins are GIOPs + * 001 -> CAN1/2 on PSC2 pins + * Use for REV100 STK52xx boards + * use PSC6: + * on STK52xx: + * use as UART. Pins PSC6_0 to PSC6_3 are used. + * Bits 9:11 (mask: 0x00700000): + * 101 -> PSC6 : Extended POST test is not available + * on MINI-FAP and TQM5200_IB: + * use PSC6_0 to PSC6_3 as GPIO: Bits 9:11 (mask: 0x00700000): + * 000 -> PSC6 could not be used as UART, CODEC or IrDA + * GPIO on PSC6_3 is used in post_hotkeys_pressed() to enable extended POST + * tests. + */ +#if defined (CONFIG_MINIFAP) +# define CFG_GPS_PORT_CONFIG 0x91000004 +#elif defined (CONFIG_STK52XX) +# if defined (CONFIG_STK52XX_REV100) +# define CFG_GPS_PORT_CONFIG 0x81500014 +# else /* STK52xx REV200 and above */ +# if defined (CONFIG_TQM5200_REV100) +# error TQM5200 REV100 not supported on STK52XX REV200 or above +# else/* TQM5200 REV200 and above */ +# define CFG_GPS_PORT_CONFIG 0x91500004 +# endif +# endif +#else /* TMQ5200 Inbetriebnahme-Board */ +# define CFG_GPS_PORT_CONFIG 0x81000004 +#endif + +/* + * RTC configuration + */ +#define CONFIG_RTC_MPC5200 1 /* use internal MPC5200 RTC */ + +/* + * Miscellaneous configurable options + */ +#define CFG_LONGHELP /* undef to save memory */ +#define CFG_PROMPT "=> " /* Monitor Command Prompt */ +#if (CONFIG_COMMANDS & CFG_CMD_KGDB) +#define CFG_CBSIZE 1024 /* Console I/O Buffer Size */ +#else +#define CFG_CBSIZE 256 /* Console I/O Buffer Size */ +#endif +#define CFG_PBSIZE (CFG_CBSIZE+sizeof(CFG_PROMPT)+16) /* Print Buffer Size */ +#define CFG_MAXARGS 16 /* max number of command args */ +#define CFG_BARGSIZE CFG_CBSIZE /* Boot Argument Buffer Size */ + +/* Enable an alternate, more extensive memory test */ +#define CFG_ALT_MEMTEST + +#define CFG_MEMTEST_START 0x00100000 /* memtest works on */ +#define CFG_MEMTEST_END 0x00f00000 /* 1 ... 15 MB in DRAM */ + +#define CFG_LOAD_ADDR 0x100000 /* default load address */ + +#define CFG_HZ 1000 /* decrementer freq: 1 ms ticks */ + +/* + * Enable loopw commando. This has only affect, if CFG_CMD_MEM is defined, + * which is normally part of the default commands (CFV_CMD_DFL) + */ +#define CONFIG_LOOPW + +/* + * Various low-level settings + */ +#if defined(CONFIG_MPC5200) +#define CFG_HID0_INIT HID0_ICE | HID0_ICFI +#define CFG_HID0_FINAL HID0_ICE +#else +#define CFG_HID0_INIT 0 +#define CFG_HID0_FINAL 0 +#endif + +#define CFG_BOOTCS_START CFG_FLASH_BASE +#define CFG_BOOTCS_SIZE CFG_FLASH_SIZE +#ifdef CFG_PCISPEED_66 +#define CFG_BOOTCS_CFG 0x0008DF30 /* for pci_clk = 66 MHz */ +#else +#define CFG_BOOTCS_CFG 0x0004DF30 /* for pci_clk = 33 MHz */ +#endif +#define CFG_CS0_START CFG_FLASH_BASE +#define CFG_CS0_SIZE CFG_FLASH_SIZE + +#define CFG_CS_BURST 0x00000000 +#define CFG_CS_DEADCYCLE 0x33333311 /* 1 dead cycle for flash and SM501 */ + +#define CFG_RESET_ADDRESS 0xff000000 + +#endif /* __CONFIG_H */ diff --git a/include/configs/zylonite.h b/include/configs/zylonite.h new file mode 100644 index 0000000..4232d50 --- /dev/null +++ b/include/configs/zylonite.h @@ -0,0 +1,256 @@ +/* + * (C) Copyright 2002 + * Kyle Harris, Nexus Technologies, Inc. kharris@nexus-tech.net + * + * (C) Copyright 2002 + * Sysgo Real-Time Solutions, GmbH <www.elinos.com> + * Marius Groeger <mgroeger@sysgo.de> + * + * Configuation settings for the Zylonite board. + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ + +#ifndef __CONFIG_H +#define __CONFIG_H + +/* + * High Level Configuration Options + * (easy to change) + */ +#define CONFIG_CPU_MONAHANS 1 /* Intel Monahan CPU */ +#define CONFIG_ZYLONITE 1 /* Zylonite board */ + +/* #define CONFIG_LCD 1 */ +#ifdef CONFIG_LCD +#define CONFIG_SHARP_LM8V31 +#endif +/* #define CONFIG_MMC 1 */ +#define BOARD_LATE_INIT 1 + +#undef CONFIG_SKIP_RELOCATE_UBOOT +#undef CONFIG_USE_IRQ /* we don't need IRQ/FIQ stuff */ + +/* + * Size of malloc() pool + */ +#define CFG_MALLOC_LEN (CFG_ENV_SIZE + 128*1024) +#define CFG_GBL_DATA_SIZE 128 /* size in bytes reserved for initial data */ + +/* + * Hardware drivers + */ + +#undef TURN_ON_ETHERNET +#ifdef TURN_ON_ETHERNET +# define CONFIG_DRIVER_SMC91111 1 +# define CONFIG_SMC91111_BASE 0x14000300 +# define CONFIG_SMC91111_EXT_PHY +# define CONFIG_SMC_USE_32_BIT +# undef CONFIG_SMC_USE_IOFUNCS /* just for use with the kernel */ +#endif + +/* + * select serial console configuration + */ +#define CONFIG_FFUART 1 + +/* allow to overwrite serial and ethaddr */ +#define CONFIG_ENV_OVERWRITE + +#define CONFIG_BAUDRATE 115200 + +/* #define CONFIG_COMMANDS (CONFIG_CMD_DFL | CFG_CMD_MMC | CFG_CMD_FAT) */ +#ifdef TURN_ON_ETHERNET +# define CONFIG_COMMANDS (CONFIG_CMD_DFL | CFG_CMD_PING) +#else +# define CONFIG_COMMANDS (CONFIG_CMD_DFL & ~CFG_CMD_NET) +#endif + + +/* this must be included AFTER the definition of CONFIG_COMMANDS (if any) */ +#include <cmd_confdefs.h> + +#define CONFIG_BOOTDELAY -1 +#define CONFIG_ETHADDR 08:00:3e:26:0a:5b +#define CONFIG_NETMASK 255.255.0.0 +#define CONFIG_IPADDR 192.168.0.21 +#define CONFIG_SERVERIP 192.168.0.250 +#define CONFIG_BOOTCOMMAND "bootm 80000" +#define CONFIG_BOOTARGS "root=/dev/mtdblock2 rootfstype=cramfs console=ttyS0,115200" +#define CONFIG_CMDLINE_TAG +#define CONFIG_TIMESTAMP + +#if (CONFIG_COMMANDS & CFG_CMD_KGDB) +#define CONFIG_KGDB_BAUDRATE 230400 /* speed to run kgdb serial port */ +#define CONFIG_KGDB_SER_INDEX 2 /* which serial port to use */ +#endif + +/* + * Miscellaneous configurable options + */ +#define CFG_HUSH_PARSER 1 +#define CFG_PROMPT_HUSH_PS2 "> " + +#define CFG_LONGHELP /* undef to save memory */ +#ifdef CFG_HUSH_PARSER +#define CFG_PROMPT "$ " /* Monitor Command Prompt */ +#else +#define CFG_PROMPT "=> " /* Monitor Command Prompt */ +#endif +#define CFG_CBSIZE 256 /* Console I/O Buffer Size */ +#define CFG_PBSIZE (CFG_CBSIZE+sizeof(CFG_PROMPT)+16) /* Print Buffer Size */ +#define CFG_MAXARGS 16 /* max number of command args */ +#define CFG_BARGSIZE CFG_CBSIZE /* Boot Argument Buffer Size */ +#define CFG_DEVICE_NULLDEV 1 + +#define CFG_MEMTEST_START 0x9c000000 /* memtest works on */ +#define CFG_MEMTEST_END 0x9c400000 /* 4 ... 8 MB in DRAM */ + +#undef CFG_CLKS_IN_HZ /* everything, incl board info, in Hz */ + +#define CFG_LOAD_ADDR (CFG_DRAM_BASE + 0x8000) /* default load address */ + +#define CFG_HZ 3686400 /* incrementer freq: 3.6864 MHz */ +#define CFG_CPUSPEED 0x161 /* set core clock to 400/200/100 MHz */ + + /* valid baudrates */ +#define CFG_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200 } + +/* #define CFG_MMC_BASE 0xF0000000 */ + +/* + * Stack sizes + * + * The stack sizes are set up in start.S using the settings below + */ +#define CONFIG_STACKSIZE (128*1024) /* regular stack */ +#ifdef CONFIG_USE_IRQ +#define CONFIG_STACKSIZE_IRQ (4*1024) /* IRQ stack */ +#define CONFIG_STACKSIZE_FIQ (4*1024) /* FIQ stack */ +#endif + +/* + * Physical Memory Map + */ +#define CONFIG_NR_DRAM_BANKS 4 /* we have 2 banks of DRAM */ +#define PHYS_SDRAM_1 0xa0000000 /* SDRAM Bank #1 */ +#define PHYS_SDRAM_1_SIZE 0x04000000 /* 64 MB */ +#define PHYS_SDRAM_2 0xa4000000 /* SDRAM Bank #2 */ +#define PHYS_SDRAM_2_SIZE 0x00000000 /* 0 MB */ +#define PHYS_SDRAM_3 0xa8000000 /* SDRAM Bank #3 */ +#define PHYS_SDRAM_3_SIZE 0x00000000 /* 0 MB */ +#define PHYS_SDRAM_4 0xac000000 /* SDRAM Bank #4 */ +#define PHYS_SDRAM_4_SIZE 0x00000000 /* 0 MB */ + +#define PHYS_FLASH_1 0x00000000 /* Flash Bank #1 */ +#define PHYS_FLASH_2 0x04000000 /* Flash Bank #2 */ +#define PHYS_FLASH_SIZE 0x02000000 /* 32 MB */ +#define PHYS_FLASH_BANK_SIZE 0x02000000 /* 32 MB Banks */ +#define PHYS_FLASH_SECT_SIZE 0x00040000 /* 256 KB sectors (x2) */ + +#define CFG_DRAM_BASE 0xa0000000 +#define CFG_DRAM_SIZE 0x04000000 + +#define CFG_FLASH_BASE PHYS_FLASH_1 + +#define FPGA_REGS_BASE_PHYSICAL 0x08000000 + +/* + * GPIO settings + */ +#define CFG_GPSR0_VAL 0x00008000 +#define CFG_GPSR1_VAL 0x00FC0382 +#define CFG_GPSR2_VAL 0x0001FFFF +#define CFG_GPCR0_VAL 0x00000000 +#define CFG_GPCR1_VAL 0x00000000 +#define CFG_GPCR2_VAL 0x00000000 +#define CFG_GPDR0_VAL 0x0060A800 +#define CFG_GPDR1_VAL 0x00FF0382 +#define CFG_GPDR2_VAL 0x0001C000 +#define CFG_GAFR0_L_VAL 0x98400000 +#define CFG_GAFR0_U_VAL 0x00002950 +#define CFG_GAFR1_L_VAL 0x000A9558 +#define CFG_GAFR1_U_VAL 0x0005AAAA +#define CFG_GAFR2_L_VAL 0xA0000000 +#define CFG_GAFR2_U_VAL 0x00000002 + +#define CFG_PSSR_VAL 0x20 + +/* + * Memory settings + */ +#define CFG_MSC0_VAL 0x23F223F2 +#define CFG_MSC1_VAL 0x3FF1A441 +#define CFG_MSC2_VAL 0x7FF97FF1 +#define CFG_MDCNFG_VAL 0x00001AC9 +#define CFG_MDREFR_VAL 0x00018018 +#define CFG_MDMRS_VAL 0x00000000 + +/* + * PCMCIA and CF Interfaces + */ +#define CFG_MECR_VAL 0x00000000 +#define CFG_MCMEM0_VAL 0x00010504 +#define CFG_MCMEM1_VAL 0x00010504 +#define CFG_MCATT0_VAL 0x00010504 +#define CFG_MCATT1_VAL 0x00010504 +#define CFG_MCIO0_VAL 0x00004715 +#define CFG_MCIO1_VAL 0x00004715 + +#define _LED 0x08000010 +#define LED_BLANK 0x08000040 + +/* + * FLASH and environment organization + */ +#define CFG_MAX_FLASH_BANKS 2 /* max number of memory banks */ +#define CFG_MAX_FLASH_SECT 128 /* max number of sectors on one chip */ + +/* timeout values are in ticks */ +#define CFG_FLASH_ERASE_TOUT (25*CFG_HZ) /* Timeout for Flash Erase */ +#define CFG_FLASH_WRITE_TOUT (25*CFG_HZ) /* Timeout for Flash Write */ + +/* NOTE: many default partitioning schemes assume the kernel starts at the + * second sector, not an environment. You have been warned! + */ +#define CFG_MONITOR_LEN PHYS_FLASH_SECT_SIZE + +#define CFG_ENV_IS_IN_FLASH 1 +#define CFG_ENV_ADDR (PHYS_FLASH_1 + PHYS_FLASH_SECT_SIZE) +#define CFG_ENV_SECT_SIZE PHYS_FLASH_SECT_SIZE +#define CFG_ENV_SIZE (PHYS_FLASH_SECT_SIZE / 16) + + +/* + * FPGA Offsets + */ +#define WHOAMI_OFFSET 0x00 +#define HEXLED_OFFSET 0x10 +#define BLANKLED_OFFSET 0x40 +#define DISCRETELED_OFFSET 0x40 +#define CNFG_SWITCHES_OFFSET 0x50 +#define USER_SWITCHES_OFFSET 0x60 +#define MISC_WR_OFFSET 0x80 +#define MISC_RD_OFFSET 0x90 +#define INT_MASK_OFFSET 0xC0 +#define INT_CLEAR_OFFSET 0xD0 +#define GP_OFFSET 0x100 + +#endif /* __CONFIG_H */ diff --git a/include/flash.h b/include/flash.h index 069aa63..8493191 100644 --- a/include/flash.h +++ b/include/flash.h @@ -274,6 +274,12 @@ extern void flash_read_factory_serial(flash_info_t * info, void * buffer, int of #define INTEL_ID_28F64K3 0x88018801 /* 64M = 32K x 255 + 32k x 4 */ #define INTEL_ID_28F128K3 0x88028802 /* 128M = 64K x 255 + 32k x 4 */ #define INTEL_ID_28F256K3 0x88038803 /* 256M = 128K x 255 + 32k x 4 */ +#define INTEL_ID_28F64P30T 0x88178817 /* 64M = 32K x 255 + 32k x 4 */ +#define INTEL_ID_28F64P30B 0x881A881A /* 64M = 32K x 255 + 32k x 4 */ +#define INTEL_ID_28F128P30T 0x88188818 /* 128M = 64K x 255 + 32k x 4 */ +#define INTEL_ID_28F128P30B 0x881B881B /* 128M = 64K x 255 + 32k x 4 */ +#define INTEL_ID_28F256P30T 0x88198819 /* 256M = 128K x 255 + 32k x 4 */ +#define INTEL_ID_28F256P30B 0x881C881C /* 256M = 128K x 255 + 32k x 4 */ #define INTEL_ID_28F160S3 0x00D000D0 /* 16M = 512K x 32 (64kB x 32) */ #define INTEL_ID_28F320S3 0x00D400D4 /* 32M = 512K x 64 (64kB x 64) */ diff --git a/include/linux/mtd/nand.h b/include/linux/mtd/nand.h index c105ecc..a522718 100644 --- a/include/linux/mtd/nand.h +++ b/include/linux/mtd/nand.h @@ -65,7 +65,6 @@ extern void nand_release (struct mtd_info *mtd); extern int nand_read_raw (struct mtd_info *mtd, uint8_t *buf, loff_t from, size_t len, size_t ooblen); - /* This constant declares the max. oobsize / page, which * is supported now. If you add a chip with bigger oobsize/page * adjust this accordingly. diff --git a/include/version.h b/include/version.h index 4f8b498..b56d2e9 100644 --- a/include/version.h +++ b/include/version.h @@ -1,5 +1,5 @@ /* - * (C) Copyright 2000-2003 + * (C) Copyright 2000-2006 * Wolfgang Denk, DENX Software Engineering, wd@denx.de. * * See file CREDITS for list of people who contributed to this @@ -24,6 +24,6 @@ #ifndef __VERSION_H__ #define __VERSION_H__ -#define U_BOOT_VERSION "U-Boot 1.1.4" +#include "version_autogenerated.h" #endif /* __VERSION_H__ */ diff --git a/lib_arm/board.c b/lib_arm/board.c index 3048cbe..c73cf0c 100644 --- a/lib_arm/board.c +++ b/lib_arm/board.c @@ -52,6 +52,8 @@ #include "../drivers/lan91c96.h" #endif +DECLARE_GLOBAL_DATA_PTR; + #if (CONFIG_COMMANDS & CFG_CMD_NAND) void nand_init (void); #endif @@ -119,8 +121,6 @@ void *sbrk (ptrdiff_t increment) static int init_baudrate (void) { - DECLARE_GLOBAL_DATA_PTR; - uchar tmp[64]; /* long enough for environment variables */ int i = getenv_r ("baudrate", tmp, sizeof (tmp)); gd->bd->bi_baudrate = gd->baudrate = (i > 0) @@ -155,7 +155,6 @@ static int display_banner (void) */ static int display_dram_config (void) { - DECLARE_GLOBAL_DATA_PTR; int i; #ifdef DEBUG @@ -178,11 +177,13 @@ static int display_dram_config (void) return (0); } +#ifndef CFG_NO_FLASH static void display_flash_config (ulong size) { puts ("Flash: "); print_size (size, "\n"); } +#endif /* CFG_NO_FLASH */ /* @@ -234,8 +235,6 @@ init_fnc_t *init_sequence[] = { void start_armboot (void) { - DECLARE_GLOBAL_DATA_PTR; - ulong size; init_fnc_t **init_fnc_ptr; char *s; @@ -260,9 +259,11 @@ void start_armboot (void) } } +#ifndef CFG_NO_FLASH /* configure available FLASH banks */ size = flash_init (); display_flash_config (size); +#endif /* CFG_NO_FLASH */ #ifdef CONFIG_VFD # ifndef PAGE_SIZE diff --git a/tools/setlocalversion b/tools/setlocalversion new file mode 100755 index 0000000..9a23825 --- /dev/null +++ b/tools/setlocalversion @@ -0,0 +1,22 @@ +#!/bin/sh +# Print additional version information for non-release trees. + +usage() { + echo "Usage: $0 [srctree]" >&2 + exit 1 +} + +cd "${1:-.}" || usage + +# Check for git and a git repo. +if head=`git rev-parse --verify HEAD 2>/dev/null`; then + # Do we have an untagged version? + if [ "`git name-rev --tags HEAD`" = "HEAD undefined" ]; then + printf '%s%s' -g `echo "$head" | cut -c1-8` + fi + + # Are there uncommitted changes? + if git diff-files | read dummy; then + printf '%s' -dirty + fi +fi |