From fcbb27b0ec6dcbc5a5108cb8fb19eae64593d204 Mon Sep 17 00:00:00 2001 From: Timothy Pearson Date: Wed, 23 Aug 2017 14:45:25 -0500 Subject: Initial import of modified Linux 2.6.28 tree Original upstream URL: git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git | branch linux-2.6.28.y --- firmware/.gitignore | 6 + firmware/Makefile | 188 ++ firmware/WHENCE | 351 +++ firmware/atmsar11.HEX | 204 ++ firmware/cpia2/stv0672_vp4.bin.ihex | 73 + firmware/dabusb/bitstream.bin.ihex | 761 +++++ firmware/dabusb/firmware.HEX | 649 ++++ firmware/dsp56k/bootstrap.asm | 98 + firmware/dsp56k/bootstrap.bin.ihex | 26 + firmware/edgeport/boot.H16 | 29 + firmware/edgeport/boot2.H16 | 28 + firmware/edgeport/down.H16 | 29 + firmware/edgeport/down2.H16 | 29 + firmware/edgeport/down3.bin.ihex | 815 ++++++ firmware/emi26/bitstream.HEX | 4391 ++++++++++++++++++++++++++++ firmware/emi26/firmware.HEX | 1261 ++++++++ firmware/emi26/loader.HEX | 116 + firmware/emi62/bitstream.HEX | 4372 +++++++++++++++++++++++++++ firmware/emi62/loader.HEX | 107 + firmware/emi62/midi.HEX | 1266 ++++++++ firmware/emi62/spdif.HEX | 1257 ++++++++ firmware/ess/maestro3_assp_kernel.fw.ihex | 120 + firmware/ess/maestro3_assp_minisrc.fw.ihex | 51 + firmware/ihex2fw.c | 268 ++ firmware/intelliport2.bin.ihex | 2147 ++++++++++++++ firmware/kaweth/new_code.bin.ihex | 206 ++ firmware/kaweth/new_code_fix.bin.ihex | 40 + firmware/kaweth/trigger_code.bin.ihex | 13 + firmware/kaweth/trigger_code_fix.bin.ihex | 3 + firmware/keyspan/mpr.HEX | 104 + firmware/keyspan/usa18x.HEX | 141 + firmware/keyspan/usa19.HEX | 101 + firmware/keyspan/usa19qi.HEX | 101 + firmware/keyspan/usa19qw.HEX | 142 + firmware/keyspan/usa19w.HEX | 141 + firmware/keyspan/usa28.HEX | 148 + firmware/keyspan/usa28x.HEX | 141 + firmware/keyspan/usa28xa.HEX | 141 + firmware/keyspan/usa28xb.HEX | 142 + firmware/keyspan/usa49w.HEX | 145 + firmware/keyspan/usa49wlc.HEX | 153 + firmware/keyspan_pda/keyspan_pda.HEX | 83 + firmware/keyspan_pda/keyspan_pda.S | 1124 +++++++ firmware/keyspan_pda/xircom_pgs.HEX | 87 + firmware/keyspan_pda/xircom_pgs.S | 1192 ++++++++ firmware/korg/k1212.dsp.ihex | 987 +++++++ firmware/sb16/alaw_main.csp.ihex | 87 + firmware/sb16/ima_adpcm_capture.csp.ihex | 121 + firmware/sb16/ima_adpcm_init.csp.ihex | 70 + firmware/sb16/ima_adpcm_playback.csp.ihex | 122 + firmware/sb16/mulaw_main.csp.ihex | 84 + firmware/sun/cassini.bin.ihex | 143 + firmware/ti_3410.fw.ihex | 862 ++++++ firmware/ti_5052.fw.ihex | 862 ++++++ firmware/tr_smctr.bin.ihex | 477 +++ firmware/ttusb-budget/dspbootcode.bin.ihex | 820 ++++++ firmware/vicam/firmware.H16 | 7 + firmware/whiteheat.HEX | 1097 +++++++ firmware/whiteheat_loader.HEX | 314 ++ firmware/whiteheat_loader_debug.HEX | 403 +++ firmware/yamaha/ds1_ctrl.fw.ihex | 769 +++++ firmware/yamaha/ds1_dsp.fw.ihex | 9 + firmware/yamaha/ds1e_ctrl.fw.ihex | 769 +++++ 63 files changed, 30993 insertions(+) create mode 100644 firmware/.gitignore create mode 100644 firmware/Makefile create mode 100644 firmware/WHENCE create mode 100644 firmware/atmsar11.HEX create mode 100644 firmware/cpia2/stv0672_vp4.bin.ihex create mode 100644 firmware/dabusb/bitstream.bin.ihex create mode 100644 firmware/dabusb/firmware.HEX create mode 100644 firmware/dsp56k/bootstrap.asm create mode 100644 firmware/dsp56k/bootstrap.bin.ihex create mode 100644 firmware/edgeport/boot.H16 create mode 100644 firmware/edgeport/boot2.H16 create mode 100644 firmware/edgeport/down.H16 create mode 100644 firmware/edgeport/down2.H16 create mode 100644 firmware/edgeport/down3.bin.ihex create mode 100644 firmware/emi26/bitstream.HEX create mode 100644 firmware/emi26/firmware.HEX create mode 100644 firmware/emi26/loader.HEX create mode 100644 firmware/emi62/bitstream.HEX create mode 100644 firmware/emi62/loader.HEX create mode 100644 firmware/emi62/midi.HEX create mode 100644 firmware/emi62/spdif.HEX create mode 100644 firmware/ess/maestro3_assp_kernel.fw.ihex create mode 100644 firmware/ess/maestro3_assp_minisrc.fw.ihex create mode 100644 firmware/ihex2fw.c create mode 100644 firmware/intelliport2.bin.ihex create mode 100644 firmware/kaweth/new_code.bin.ihex create mode 100644 firmware/kaweth/new_code_fix.bin.ihex create mode 100644 firmware/kaweth/trigger_code.bin.ihex create mode 100644 firmware/kaweth/trigger_code_fix.bin.ihex create mode 100644 firmware/keyspan/mpr.HEX create mode 100644 firmware/keyspan/usa18x.HEX create mode 100644 firmware/keyspan/usa19.HEX create mode 100644 firmware/keyspan/usa19qi.HEX create mode 100644 firmware/keyspan/usa19qw.HEX create mode 100644 firmware/keyspan/usa19w.HEX create mode 100644 firmware/keyspan/usa28.HEX create mode 100644 firmware/keyspan/usa28x.HEX create mode 100644 firmware/keyspan/usa28xa.HEX create mode 100644 firmware/keyspan/usa28xb.HEX create mode 100644 firmware/keyspan/usa49w.HEX create mode 100644 firmware/keyspan/usa49wlc.HEX create mode 100644 firmware/keyspan_pda/keyspan_pda.HEX create mode 100644 firmware/keyspan_pda/keyspan_pda.S create mode 100644 firmware/keyspan_pda/xircom_pgs.HEX create mode 100644 firmware/keyspan_pda/xircom_pgs.S create mode 100644 firmware/korg/k1212.dsp.ihex create mode 100644 firmware/sb16/alaw_main.csp.ihex create mode 100644 firmware/sb16/ima_adpcm_capture.csp.ihex create mode 100644 firmware/sb16/ima_adpcm_init.csp.ihex create mode 100644 firmware/sb16/ima_adpcm_playback.csp.ihex create mode 100644 firmware/sb16/mulaw_main.csp.ihex create mode 100644 firmware/sun/cassini.bin.ihex create mode 100644 firmware/ti_3410.fw.ihex create mode 100644 firmware/ti_5052.fw.ihex create mode 100644 firmware/tr_smctr.bin.ihex create mode 100644 firmware/ttusb-budget/dspbootcode.bin.ihex create mode 100644 firmware/vicam/firmware.H16 create mode 100644 firmware/whiteheat.HEX create mode 100644 firmware/whiteheat_loader.HEX create mode 100644 firmware/whiteheat_loader_debug.HEX create mode 100644 firmware/yamaha/ds1_ctrl.fw.ihex create mode 100644 firmware/yamaha/ds1_dsp.fw.ihex create mode 100644 firmware/yamaha/ds1e_ctrl.fw.ihex (limited to 'firmware') diff --git a/firmware/.gitignore b/firmware/.gitignore new file mode 100644 index 0000000..d9c6901 --- /dev/null +++ b/firmware/.gitignore @@ -0,0 +1,6 @@ +*.gen.S +*.fw +*.bin +*.csp +*.dsp +ihex2fw diff --git a/firmware/Makefile b/firmware/Makefile new file mode 100644 index 0000000..ca8cd30 --- /dev/null +++ b/firmware/Makefile @@ -0,0 +1,188 @@ +# +# kbuild file for firmware/ +# + +# Create $(fwabs) from $(CONFIG_EXTRA_FIRMWARE_DIR) -- if it doesn't have a +# leading /, it's relative to $(srctree). +fwdir := $(subst ",,$(CONFIG_EXTRA_FIRMWARE_DIR)) +fwabs := $(addprefix $(srctree)/,$(filter-out /%,$(fwdir)))$(filter /%,$(fwdir)) + +fw-external-y := $(subst ",,$(CONFIG_EXTRA_FIRMWARE)) + +# There are three cases to care about: +# 1. Building kernel with CONFIG_FIRMWARE_IN_KERNEL=y -- $(fw-shipped-y) should +# include the firmware files to include, according to .config +# 2. 'make modules_install', which will install firmware for modules, and +# _also_ for the in-kernel drivers when CONFIG_FIRMWARE_IN_KERNEL=n +# 3. 'make firmware_install', which installs all firmware, unconditionally. + +# For the former two cases we want $(fw-shipped-y) and $(fw-shipped-m) to be +# accurate. In the latter case it doesn't matter -- it'll use $(fw-shipped-all). +# But be aware that the config file might not be included at all. + +fw-shipped-$(CONFIG_ATARI_DSP56K) += dsp56k/bootstrap.bin +fw-shipped-$(CONFIG_ATM_AMBASSADOR) += atmsar11.fw +fw-shipped-$(CONFIG_CASSINI) += sun/cassini.bin +fw-shipped-$(CONFIG_COMPUTONE) += intelliport2.bin +fw-shipped-$(CONFIG_DVB_TTUSB_BUDGET) += ttusb-budget/dspbootcode.bin +fw-shipped-$(CONFIG_SMCTR) += tr_smctr.bin +fw-shipped-$(CONFIG_SND_KORG1212) += korg/k1212.dsp +fw-shipped-$(CONFIG_SND_MAESTRO3) += ess/maestro3_assp_kernel.fw \ + ess/maestro3_assp_minisrc.fw +fw-shipped-$(CONFIG_SND_SB16_CSP) += sb16/mulaw_main.csp sb16/alaw_main.csp \ + sb16/ima_adpcm_init.csp \ + sb16/ima_adpcm_playback.csp \ + sb16/ima_adpcm_capture.csp +fw-shipped-$(CONFIG_SND_YMFPCI) += yamaha/ds1_ctrl.fw yamaha/ds1_dsp.fw \ + yamaha/ds1e_ctrl.fw +fw-shipped-$(CONFIG_USB_DABUSB) += dabusb/firmware.fw dabusb/bitstream.bin +fw-shipped-$(CONFIG_USB_EMI26) += emi26/loader.fw emi26/firmware.fw \ + emi26/bitstream.fw +fw-shipped-$(CONFIG_USB_EMI62) += emi62/loader.fw emi62/bitstream.fw \ + emi62/spdif.fw emi62/midi.fw +fw-shipped-$(CONFIG_USB_KAWETH) += kaweth/new_code.bin kaweth/trigger_code.bin \ + kaweth/new_code_fix.bin \ + kaweth/trigger_code_fix.bin +ifdef CONFIG_FIRMWARE_IN_KERNEL +fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_MPR) += keyspan/mpr.fw +fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_USA18X) += keyspan/usa18x.fw +fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_USA19) += keyspan/usa19.fw +fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_USA19QI) += keyspan/usa19qi.fw +fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_USA19QW) += keyspan/usa19qw.fw +fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_USA19W) += keyspan/usa19w.fw +fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_USA28) += keyspan/usa28.fw +fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_USA28XA) += keyspan/usa28xa.fw +fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_USA28XB) += keyspan/usa28xb.fw +fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_USA28X) += keyspan/usa28x.fw +fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_USA49W) += keyspan/usa49w.fw +fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_USA49WLC) += keyspan/usa49wlc.fw +else +fw-shipped- += keyspan/mpr.fw keyspan/usa18x.fw keyspan/usa19.fw \ + keyspan/usa19qi.fw keyspan/usa19qw.fw keyspan/usa19w.fw \ + keyspan/usa28.fw keyspan/usa28xa.fw keyspan/usa28xb.fw \ + keyspan/usa28x.fw keyspan/usa49w.fw keyspan/usa49wlc.fw +endif +fw-shipped-$(CONFIG_USB_SERIAL_TI) += ti_3410.fw ti_5052.fw +fw-shipped-$(CONFIG_USB_SERIAL_EDGEPORT) += edgeport/boot.fw edgeport/boot2.fw \ + edgeport/down.fw edgeport/down2.fw +fw-shipped-$(CONFIG_USB_SERIAL_EDGEPORT_TI) += edgeport/down3.bin +fw-shipped-$(CONFIG_USB_SERIAL_WHITEHEAT) += whiteheat_loader.fw whiteheat.fw \ + # whiteheat_loader_debug.fw +fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_PDA) += keyspan_pda/keyspan_pda.fw +fw-shipped-$(CONFIG_USB_SERIAL_XIRCOM) += keyspan_pda/xircom_pgs.fw +fw-shipped-$(CONFIG_USB_VICAM) += vicam/firmware.fw +fw-shipped-$(CONFIG_VIDEO_CPIA2) += cpia2/stv0672_vp4.bin + +fw-shipped-all := $(fw-shipped-y) $(fw-shipped-m) $(fw-shipped-) + +# Directories which we _might_ need to create, so we have a rule for them. +firmware-dirs := $(sort $(patsubst %,$(objtree)/$(obj)/%/,$(dir $(fw-external-y) $(fw-shipped-all)))) + +quiet_cmd_mkdir = MKDIR $(patsubst $(objtree)/%,%,$@) + cmd_mkdir = mkdir -p $@ + +quiet_cmd_ihex = IHEX $@ + cmd_ihex = $(OBJCOPY) -Iihex -Obinary $< $@ + +quiet_cmd_ihex2fw = IHEX2FW $@ + cmd_ihex2fw = $(objtree)/$(obj)/ihex2fw $< $@ + +quiet_cmd_h16tofw = H16TOFW $@ + cmd_h16tofw = $(objtree)/$(obj)/ihex2fw -w $< $@ + +quiet_cmd_fwbin = MK_FW $@ + cmd_fwbin = FWNAME="$(patsubst firmware/%.gen.S,%,$@)"; \ + FWSTR="$(subst /,_,$(subst .,_,$(subst -,_,$(patsubst \ + firmware/%.gen.S,%,$@))))"; \ + ASM_WORD=$(if $(CONFIG_64BIT),.quad,.long); \ + ASM_ALIGN=$(if $(CONFIG_64BIT),3,2); \ + PROGBITS=$(if $(CONFIG_ARM),%,@)progbits; \ + echo "/* Generated by firmware/Makefile */" > $@;\ + echo " .section .rodata" >>$@;\ + echo " .p2align $${ASM_ALIGN}" >>$@;\ + echo "_fw_$${FWSTR}_bin:" >>$@;\ + echo " .incbin \"$(2)\"" >>$@;\ + echo "_fw_end:" >>$@;\ + echo " .section .rodata.str,\"aMS\",$${PROGBITS},1" >>$@;\ + echo " .p2align $${ASM_ALIGN}" >>$@;\ + echo "_fw_$${FWSTR}_name:" >>$@;\ + echo " .string \"$$FWNAME\"" >>$@;\ + echo " .section .builtin_fw,\"a\",$${PROGBITS}" >>$@;\ + echo " .p2align $${ASM_ALIGN}" >>$@;\ + echo " $${ASM_WORD} _fw_$${FWSTR}_name" >>$@;\ + echo " $${ASM_WORD} _fw_$${FWSTR}_bin" >>$@;\ + echo " $${ASM_WORD} _fw_end - _fw_$${FWSTR}_bin" >>$@; + +# One of these files will change, or come into existence, whenever +# the configuration changes between 32-bit and 64-bit. The .S files +# need to change when that happens. +wordsize_deps := $(wildcard include/config/64bit.h include/config/32bit.h \ + include/config/ppc32.h include/config/ppc64.h \ + include/config/superh32.h include/config/superh64.h \ + include/config/x86_32.h include/config/x86_64.h) + +# Workaround for make < 3.81, where .SECONDEXPANSION doesn't work. +# It'll end up depending on these targets, so make them a PHONY rule which +# depends on _all_ the directories in $(firmware-dirs), and it'll work out OK. +PHONY += $(objtree)/$$(%) $(objtree)/$(obj)/$$(%) +$(objtree)/$$(%) $(objtree)/$(obj)/$$(%): $(firmware-dirs) + @true + +# For the $$(dir %) trick, where we need % to be expanded first. +.SECONDEXPANSION: + +$(patsubst %,$(obj)/%.gen.S, $(fw-shipped-y)): %: $(wordsize_deps) \ + | $(objtree)/$$(dir %) + $(call cmd,fwbin,$(patsubst %.gen.S,%,$@)) +$(patsubst %,$(obj)/%.gen.S, $(fw-external-y)): %: $(wordsize_deps) \ + include/config/extra/firmware/dir.h | $(objtree)/$$(dir %) + $(call cmd,fwbin,$(fwabs)/$(patsubst $(obj)/%.gen.S,%,$@)) + +# The .o files depend on the binaries directly; the .S files don't. +$(patsubst %,$(obj)/%.gen.o, $(fw-shipped-y)): %.gen.o: % +$(patsubst %,$(obj)/%.gen.o, $(fw-external-y)): $(obj)/%.gen.o: $(fwdir)/% + +# .ihex is used just as a simple way to hold binary files in a source tree +# where binaries are frowned upon. They are directly converted with objcopy. +$(obj)/%: $(obj)/%.ihex | $(objtree)/$(obj)/$$(dir %) + $(call cmd,ihex) + +# Don't depend on ihex2fw if we're installing and it already exists. +# Putting it after | in the dependencies doesn't seem sufficient when +# we're installing after a cross-compile, because ihex2fw has dependencies +# on stuff like /usr/lib/gcc/ppc64-redhat-linux/4.3.0/include/stddef.h and +# thus wants to be rebuilt. Which it can't be, if the prebuilt kernel tree +# is exported read-only for someone to run 'make install'. +ifeq ($(INSTALL):$(wildcard $(obj)/ihex2fw),install:$(obj)/ihex2fw) +ihex2fw_dep := +else +ihex2fw_dep := $(obj)/ihex2fw +endif + +# .HEX is also Intel HEX, but where the offset and length in each record +# is actually meaningful, because the firmware has to be loaded in a certain +# order rather than as a single binary blob. Thus, we convert them into our +# more compact binary representation of ihex records () +$(obj)/%.fw: $(obj)/%.HEX $(ihex2fw_dep) | $(objtree)/$(obj)/$$(dir %) + $(call cmd,ihex2fw) + +# .H16 is our own modified form of Intel HEX, with 16-bit length for records. +$(obj)/%.fw: $(obj)/%.H16 $(ihex2fw_dep) | $(objtree)/$(obj)/$$(dir %) + $(call cmd,h16tofw) + +$(firmware-dirs): + $(call cmd,mkdir) + +obj-y += $(patsubst %,%.gen.o, $(fw-external-y)) +obj-$(CONFIG_FIRMWARE_IN_KERNEL) += $(patsubst %,%.gen.o, $(fw-shipped-y)) + +# Remove .S files and binaries created from ihex +# (during 'make clean' .config isn't included so they're all in $(fw-shipped-)) +targets := $(fw-shipped-) $(patsubst $(obj)/%,%, \ + $(shell find $(obj) -name \*.gen.S 2>/dev/null)) + +# Without this, built-in.o won't be created when it's empty, and the +# final vmlinux link will fail. +obj-n := dummy + +hostprogs-y := ihex2fw diff --git a/firmware/WHENCE b/firmware/WHENCE new file mode 100644 index 0000000..57002cd --- /dev/null +++ b/firmware/WHENCE @@ -0,0 +1,351 @@ + ********** + * WHENCE * + ********** + +This file attempts to document the origin and licensing information, +if known, for each piece of firmware distributed for use with the Linux +kernel. + +-------------------------------------------------------------------------- + +Driver: korg1212 -- Korg 1212 IO audio device + +File: korg/k1212.dsp + +Licence: Unknown + +Found in alsa-firmware package in hex form; no licensing information. + +-------------------------------------------------------------------------- + +Driver: maestro3 -- ESS Allegro Maestro3 audio device + +File: ess/maestro3_assp_kernel.fw +File: ess/maestro3_assp_minisrc.fw + +Licence: Unknown + +Found in alsa-firmware package in hex form with a comment claiming to +be GPLv2+, but without source -- and with another comment saying "ESS +drops binary dsp code images on our heads, but we don't get to see +specs on the dsp." + +-------------------------------------------------------------------------- + +Driver: ymfpci -- Yamaha YMF724/740/744/754 audio devices + +File: yamaha/ds1_ctrl.fw +File: yamaha/ds1_dsp.fw +File: yamaha/ds1e_ctrl.fw + +Licence: Unknown + +Found alsa-firmware package in hex form, with the following comment: + Copyright (c) 1997-1999 Yamaha Corporation. All Rights Reserved. + +-------------------------------------------------------------------------- + +Driver: smctr -- SMC ISA/MCA Token Ring adapter + +File: tr_smctr.bin +Info: MCT.BIN v6.3C1 03/01/95 + +Original licence info: + + * This firmware is licensed to you strictly for use in conjunction + * with the use of SMC TokenRing adapters. There is no waranty + * expressed or implied about its fitness for any purpose. + +-------------------------------------------------------------------------- + +Driver: kaweth -- USB KLSI KL5USB101-based Ethernet device + +File: kaweth/new_code.bin +File: kaweth/new_code_fix.bin +File: kaweth/trigger_code.bin +File: kaweth/trigger_code_fix.bin + +Licence: Unknown + +Found in hex form in the kernel source. + +-------------------------------------------------------------------------- + +Driver: ttusb-budget -- Technotrend/Hauppauge Nova-USB devices + +File: ttusb-budget/dspbootcode.bin + +Licence: Unknown + +Found in hex form in the kernel source. + +-------------------------------------------------------------------------- + +Driver: keyspan -- USB Keyspan USA-xxx serial device + +File: keyspan/mpr.fw +File: keyspan/usa18x.fw +File: keyspan/usa19.fw +File: keyspan/usa19qi.fw +File: keyspan/usa19qw.fw +File: keyspan/usa19w.fw +File: keyspan/usa28.fw +File: keyspan/usa28xa.fw +File: keyspan/usa28xb.fw +File: keyspan/usa28x.fw +File: keyspan/usa49w.fw +File: keyspan/usa49wlc.fw + +Converted from Intel HEX files, used in our binary representation of ihex. + +Original licence information: + + Copyright (C) 1999-2001 + Keyspan, A division of InnoSys Incorporated ("Keyspan") + + as an unpublished work. This notice does not imply unrestricted or + public access to the source code from which this firmware image is + derived. Except as noted below this firmware image may not be + reproduced, used, sold or transferred to any third party without + Keyspan's prior written consent. All Rights Reserved. + + Permission is hereby granted for the distribution of this firmware + image as part of a Linux or other Open Source operating system kernel + in text or binary form as required. + + This firmware may not be modified and may only be used with + Keyspan hardware. Distribution and/or Modification of the + keyspan.c driver which includes this firmware, in whole or in + part, requires the inclusion of this statement." + +-------------------------------------------------------------------------- + +Driver: keyspan_pda -- USB Keyspan PDA single-port serial device + +File: keyspan_pda/keyspan_pda.fw +Source: keyspan_pda/keyspan_pda.S + +File: keyspan_pda/xircom_pgs.fw +Source: keyspan_pda/xircom_pgs.S + +Licence: GPLv2+ + +Compiled from original 8051 source into Intel HEX, used in our binary ihex form. + +-------------------------------------------------------------------------- + +Driver: emi26 -- EMI 2|6 USB Audio interface + +File: emi26/bitstream.fw +Info: VERSION=1.1.1.131 DATE=2001dec06 + +File: emi26/firmware.fw +Info: VERSION=1.0.2.916 DATE=12.02.2002 + +File: emi26/loader.fw + +Converted from Intel HEX files, used in our binary representation of ihex. + +Original licence information: +/* + * This firmware is for the Emagic EMI 2|6 Audio Interface + * + * The firmware contained herein is Copyright (c) 1999-2002 Emagic + * as an unpublished work. This notice does not imply unrestricted + * or public access to this firmware which is a trade secret of Emagic, + * and which may not be reproduced, used, sold or transferred to + * any third party without Emagic's written consent. All Rights Reserved. + * + * Permission is hereby granted for the distribution of this firmware + * image as part of a Linux or other Open Source operating system kernel + * in text or binary form as required. + * + * This firmware may not be modified and may only be used with the + * Emagic EMI 2|6 Audio Interface. Distribution and/or Modification of + * any driver which includes this firmware, in whole or in part, + * requires the inclusion of this statement. + */ + +-------------------------------------------------------------------------- + +Driver: emi62 -- EMI 6|2m USB Audio interface + +File: emi62/bitstream.fw +Info: VERSION=1.0.0.191 DATE= 2002oct28 + +File: emi62/loader.fw +Source: EMILOAD.HEX +Info: VERSION=1.0.2.002 DATE=10.01.2002 + +File: emi62/midi.fw +Source: EMI62MFW.HEX +Info: VERSION=1.04.062 DATE=16.10.2002 + +File: emi62/spdif.fw +Source: EMI62SFW.HEX +Info: VERSION=1.04.062 DATE=16.10.2002 + +Converted from Intel HEX files, used in our binary representation of ihex. + +Original licence information: None + +-------------------------------------------------------------------------- + +Driver: tu_usb_3410_5052 -- USB TI 3410/5052 serial device + +File: ti_3410.fw +Info: firmware 9/10/04 FW3410_Special_StartWdogOnStartPort + +File: ti_5052.fw +Info: firmware 9/18/04 + +Licence: Allegedly GPLv2+, but no source visible. Marked: + Copyright (C) 2004 Texas Instruments + +Found in hex form in kernel source. + +-------------------------------------------------------------------------- + +Driver: whiteheat -- USB ConnectTech WhiteHEAT serial device + +File: whiteheat.fw +Version: 4.06 + +File: whiteheat_loader.fw +File: whiteheat_loader_debug.fw + +Licence: Allegedly GPLv2, but no source visible. Marked: + Copyright (C) 2000-2002 ConnectTech Inc + +Debug loader claims the following behaviour: + Port 1 LED flashes when the vend_ax program is running + Port 2 LED flashes when any SETUP command arrives + Port 3 LED flashes when any valid VENDOR request occurs + Port 4 LED flashes when the EXTERNAL RAM DOWNLOAD request occurs + +Converted from Intel HEX files, used in our binary representation of ihex. + +-------------------------------------------------------------------------- + +Driver: ip2 -- Computone IntelliPort Plus serial device + +File: intelliport2.bin + +Licence: Unknown + +Found in hex form in kernel source. + +-------------------------------------------------------------------------- + +Driver: CPiA2 -- cameras based on Vision's CPiA2 + +File: cpia2/stv0672_vp4.bin + +Licence: Allegedly GPLv2+, but no source visible. Marked: + Copyright (C) 2001 STMicroelectronics, Inc. + Contact: steve.miller@st.com + Description: This file contains patch data for the CPiA2 (stv0672) VP4. + +Found in hex form in kernel source. + +-------------------------------------------------------------------------- + +Driver: DABUSB -- Digital Audio Broadcasting (DAB) Receiver for USB and Linux + +File: dabusb/firmware.fw +File: dabusb/bitstream.bin + +Licence: Distributable + + * Copyright (C) 1999 BayCom GmbH + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that redistributions of source + * code retain the above copyright notice and this comment without + * modification. + +-------------------------------------------------------------------------- + +Driver: USB_VICAM -- USB 3com HomeConnect (aka vicam) + +File: vicam/firmware.fw + +Licence: Unknown + +Found in hex form in kernel source. + +-------------------------------------------------------------------------- + +Driver: USB_SERIAL_EDGEPORT - USB Inside Out Edgeport Serial Driver + +File: edgeport/boot.fw +File: edgeport/boot2.fw +File: edgeport/down.fw +File: edgeport/down2.fw + +Licence: Allegedly GPLv2+, but no source visible. Marked: +//************************************************************** +//* Edgeport/4 Binary Image +//* Generated by HEX2C v1.06 +//* Copyright (C) 1998 Inside Out Networks, All rights reserved. +//************************************************************** + +Found in hex form in kernel source. + +-------------------------------------------------------------------------- + +Driver: USB_SERIAL_EDGEPORT_TI - USB Inside Out Edgeport Serial Driver +(TI Devices) + +File: edgeport/down3.bin + +Licence: +//************************************************************** +//* Edgeport Binary Image (for TI based products) +//* Generated by TIBin2C v2.00 (watchport) +//* Copyright (C) 2001 Inside Out Networks, All rights reserved. +//************************************************************** + +Found in hex form in kernel source. + +-------------------------------------------------------------------------- + +Driver: ATARI_DSP56K - Atari DSP56k support + +File: dsp56k/bootstrap.bin +Source: dsp56k/bootstrap.asm + +Licence: GPLv2 or later + +DSP56001 assembler, possibly buildable with a56 from +http://www.zdomain.com/a56.html + +-------------------------------------------------------------------------- + +Driver: SND_SB16_CSP - Sound Blaster 16/AWE CSP support + +File: sb16/mulaw_main.csp +File: sb16/alaw_main.csp +File: sb16/ima_adpcm_init.csp +File: sb16/ima_adpcm_playback.csp +File: sb16/ima_adpcm_capture.csp + +Licence: Allegedly GPLv2+, but no source visible. Marked: +/* + * Copyright (c) 1994 Creative Technology Ltd. + * Microcode files for SB16 Advanced Signal Processor + */ + +Found in hex form in kernel source. + +-------------------------------------------------------------------------- + +Driver: CASSINI - Sun Cassini + +File: sun/cassini.bin + +Licence: Unknown + +Found in hex form in kernel source. + +-------------------------------------------------------------------------- diff --git a/firmware/atmsar11.HEX b/firmware/atmsar11.HEX new file mode 100644 index 0000000..dfddc19 --- /dev/null +++ b/firmware/atmsar11.HEX @@ -0,0 +1,204 @@ +:04000000A0D0F0009C +:2C008000401A680000000000335B007C13600005335B10003C1AA0C0375A018003400008000000001760FFFB335B400020 +:2C00AC00401A700013600003241B0FC0AF9B45002508000803400008420000108F810C9032220002104000033C03A0D174 +:2C00D8002463F8100060F809242100011000001AAF810C9082020011AF900C480441000A34420080967D000296020012A4 +:2C01040000000000105D00110000000004110161A66200021000000DAE62000C34848000A20200114D01FFFF000000005E +:2C0130008F834C0000000000AF830FEC00E0F80903E03821000414000440FFF700000000AF80460C8E1000084D01FFFF36 +:2C015C00000000008F834C004900001DAF830FEC8F820CBC8F9D0C4C2442000197BE0000AF820CBC13C00009ACA200D872 +:2C018800A7A000003C0100D1003E08259422002C0411013FA4220002AC22000CAC2000108F9E0C5427BD000217BE00028C +:2C01B4008CA200C08F9D0C508F970FC8AF9D0C4C12E20005878040023C02A0D12442F94C0040F8090000000000E0F8094A +:2C01E00003E038214500FFDC8E11000C3C1300D1001111022C4304001060FFB900021180026298218E76003C32220008C1 +:2C020C001440FFB78E7700348E7500303C03CFB016C0000302D5102B041100BE000000001040FFA6007018264D01FFFFE5 +:2C023800000000008F824C00AF974C00AF820FECAC7600100260902132220002104000078F944A009602003A3484000492 +:2C02640014400003AF820FBC3C029000AF820FBC8E10000832943F008E11000C2694FF00128000733C1300D14901007162 +:2C0290003237000816E0006F001111022C4304001060006C0002B980000417400440003A027798211272002326D60030E0 +:2C02BC00AE56003C8E76003C8E7700348E7500303C03CFB016C0000302D5102B0411009100000000104000602E8210006B +:2C02E80014400009007018264D01FFFF000000008F824C00AF974C00AC760010AE4200341000FFD0AF80460C00E0F8090D +:2C03140003E038213C03CFB000701826AE4600344D01FFFF000000008F824C00AF974C00AF820FECAC7600101000FFC382 +:2C034000AF80460C02D5102B104000423C17CFB02E8210001440000602F0B8264D01FFFF00000000AEF600101000FFB8E9 +:2C036C00AF80460C00E0F80903E038214D01FFFF000000008F824C00AF864C00AEF60010AF820FEC1000FFAEAF80460C7F +:2C0398003084FFFB8E5700383242FFC000021182A7820FB8AF970FB4865D002A865E0008A79D0FBA279D0F1833DE00604B +:2C03C40003BEE821001EF0C203BEE8218F970C584D01FFFF000000008F834C008FA2001C12E300033C030C403C1EC0008B +:2C03F000AF9E0FBCAC620FB48FA300182442000C14430002AF80460C8FA20014AE40003CAFA2001C8E76003C8E7700340D +:2C041C008E7500303C03CFB016C0000302D5102B0411003C00000000007018264D01FFFF00000000ACA500E410400032D6 +:2C044800AF974C001000FF7FAC760010000417400440000726D60030AE56003C00E0F80903E03821AF80460C1000FF393E +:2C047400AE4600348E5700383242FFC000021182A7820FB8AF970FB48F970C5800E0F80903E0382112E600033C030C4029 +:2C04A0003C02C000AF820FBC865D002A865E0008A79D0FBA279D0F1833DE006003BEE821001EF0C203BEE8218FA2001C23 +:2C04CC004D01FFFF000000008F974C00AC620FB43084FFFB8FA300182442000C14430002AF80460C8FA20014AE40003CC2 +:2C04F800AFA2001C4D01FFFF00000000ACA500E41000FF13AF974C0000E0F80903E038211000FF0F000000001040005B50 +:2C052400867E0008279D0F1833DE006003BEE821001E10C203A2E8218FB700088FA2000C8EF6000412E2002886620008BC +:2C05500082030010000217400441001924630001106000173C02D1B0005010264D01FFFF000000008F9E4C00AC56001008 +:2C057C0026D6FFFE860200103C03CFB034632000A662002A8EE2000026F70008AE6200388FA20020AFB700082417FFFF46 +:2C05A80002C2A8214D01FFFF00000000AF9E4C0003E00008AE7500308EE2000026F70008AE6200388FA20020AFB70008DB +:2C05D4002417FFFFA677002A02C2A8213C03CFB003E00008AE750030001E18C2006518218C6300C88FA200100000000064 +:2C0600000062B0231EC000038FA1000412C0001B0022B0232EC30041146000023C1500402416004000161E80000318829E +:2C062C00007518254D01FFFF000000008F954C00001EB84000771821AC624D00005610211441000227830D008FA200004D +:2C06580002E3B821AFA2001002D71821AFA3000C4D01FFFF000000008EF600041000FFB5AF954C003C16DEADAE76003C82 +:2C068400AE60003826D5FFFF0000102103E00008AE7500302C430AB2106000052C4324B21000000424020AB210000002AF +:2C06B000240224B11060FFFD304301FF000318403C1DA0D127BDD6CC007D1821946300000002EA4200031C0027BDFFFBC1 +:2C06DC0003E0000803A3100624030FC0AF83450010000002012060213C0CCFB011E000560189602685FE00000000000089 +:2C07080013C000473C02CFB007C0002D001E1F8004610034001E1FC0046000093C02D3B000E0F80903E038214D01FFFF10 +:2C073400000000008F864C008F990FEC1000000BAF994C0001E2782600E0F80903E038214D01FFFF000000008F864C001B +:2C076000AF994C00ADEF20103C02D3B001E278268F820FC08F830FC4AF824D008DE20004A5E00000AC6200008C62000094 +:2C078C0024020380AF824D008F824D008F820F1424630004146200022419FFFF8F830F10ACA500E4AF830FC44D01FFFF93 +:2C07B800000000008F824C801000001FADE2003C00E0F80903E038214D01FFFF00000000A5E000008F864C001580002238 +:2C07E400AF8F45401000001701E2782600E0F80903E038214D01FFFF000000008F864C00AF994C00ADEF20103C02CFB097 +:2C08100001E27826A5E000004D01FFFF00000000100000078F994C0000E0F80903E038214D01FFFF000000008F864C0015 +:2C083C008F990FEC1580000AAF8F45000000782110000014AF19001400E0F80903E038214D01FFFF000000001180FFF8C1 +:2C0868008F864C0085220000012078210440000A8D290008130B0004000C1602AF1900148D7900140160C021AF994C0084 +:2C089400AD8E40103042003F01C27021000417800440018B8F824A0030818000304200041440FF8D8D4B00001020000C47 +:2C08C00030847FFF8F820C480120F021244300348C5D000C24420004AFDD000C1462FFFC27DE0004A52100001000FF82E0 +:2C08EC00250800081160005800000000857D00088D63000C9562000A8D41000407A1002600621821A563000A00031C026D +:2C091800041101A0000318C0001D16C00441001F27A2008000021CC00461000E0040E82127BD0080956200009563000293 +:2C0944003442000CAD22000C24020100A52200109562002CA5230014A5220012A520001634028000A5220000A57D0008D2 +:2C09700007A0000C8F820C4C8F830C502441FFE80023F02B13C000020020102124420400945E00002441FFFE17C0FFF994 +:2C099C00AD620010A44B0000142B001CAD400000AD400004254A00083142007F1440000E00041780044100038F820FE03A +:2C09C800100000063484000134840002244200083442100038421000AF820FE0354A0100394A010039420080AF820FE4B9 +:2C09F400001D14C00441000333A2EFFF1000FF3CA562000807A0009F33A2FFFE10000021A56200088D620024001D1CC01D +:2C0A200004610004AD42000033A3EFFF1000FF31A563000807A0000533A3FFFEA56300088D4B00001000FFAA000000001E +:2C0A4C001000008E25080008254A00083142007F1440000E00041780044100038F820FE010000006348400013484000274 +:2C0A7800244200083442100038421000AF820FE0354A0100394A010039420080AF820FE4110000038D4B00001000FF9303 +:2C0AA4002508FFF88F820FD88F830FDC8F810FD41062001D246200084D01FFFF000000008F8C4C00847F00003C1E00D11C +:2C0AD00033FD03FF001D5980017E5821857E0008001DE900001E0F0003E1F82507E00003AF820FDC879E0CA0278B0C986E +:2C0AFC0007C100423C0208403C01F7B08D62002000230826AC2200008C620004946300022442FFF8004310211000004E12 +:2C0B2800AD6200208F820FD087830CA014220007278B0C98410000513C018000ACA100E08CA100C4000000001022004C4E +:2C0B54000022E8238F9F0F0C07A10002AF810FD403E2E8232FA30041146000023C1E0040241D0040001D1E800003188256 +:2C0B8000007E18254D01FFFF000000008F8C4C00AC624CC0005D1021145F000227830CC08F820F0803A3F021AF820FD059 +:2C0BAC00AF9E0FD84D01FFFF000000001000FFC3246200088D63000C8D7D0010A563000A13A0000200031C02A7A00000F8 +:2C0BD800000318C0041100EF006818214D01FFFF000000008F820C448F830C40AD620010A5630004A563000610000021FC +:2C0C0400AF8C4C00A57D00008C7D000494630002AC5D4C4027A20008AD62001803A3E82127BDFFF4AD7D001C27BD0004D4 +:2C0C3000AD7D002037C18001001E17C00441FFE0A56100084D01FFFF000000008F820C448F830C40AD620010A563000478 +:2C0C5C00A56300068F820FD88F830FDC4D01FFFF000000001462FF9524620008AF8C4C0087830CA0278B0C980461FE97F8 +:2C0C88000004170004400005956200001178000600000000AF0E0010A70D00043084FFF7956D00048D6E001025ADFFD075 +:2C0CB40005A1FE8FAD22000C3C0CFFB001896026000D182225AD00308D7E00188D61001C4D01FFFF00000000103E0036B9 +:2C0CE0008F9D4C003C010840AC3E4C4027DE000811A00017AD7E0018000DF600019E60254D01FFFF00000000AD8E40105F +:2C0D0C008F8D0C40957E00068F8E0C4403CDF021A57E0006000CF782000C0E0203C1F021001E0F80000C6200000C6202C2 +:2C0D38000181602533DE003C019E60213401000110000008A5210000957E00064D01FFFF000000008F8D0C408F8E0C44CD +:2C0D640003CDF021A57E00064D01FFFF0000000001A3F02B17C000080003F60001A36823019E6025018960264D01FFF7CF +:2C0D9000000000001000FE58AF9D4C008D7E00188D61001C00000000143EFFCE006D18234D01FFFF000000002C61000864 +:2C0DBC001020001795610008000000000001FF8007E0000B34210002006D182100031E000183602501896026240D002CC0 +:2C0DE800A56100084D01FFFF000000001000FE40AF9D4C003C1F0C40AFFE4FA83021FFFDA56100083C0CD3CF358CE0006E +:2C0E140010000008340300023C1F0C40AFFE4FA811A0FFF9000DF60034030003019E6025018960263484000834420002C4 +:2C0E4000AD22000C95620006A5230000AD2200384D01FFFF00000000857E00088F820FA897830FACAD22000433C17FFFA6 +:2C0E6C00AD600010A56100081060FE20AF9D4C00A57E00080003190030633FF0A56300008F820FB03C030840AC624C4007 +:2C0E980024430008AD63001897830FAE2442FFF400621821AD63001C4D01FFFF000000008F8D0C408F830C44A56D000474 +:2C0EC400A56D0006AD6300101000FE0AAF9D4C008F820FE000040FC08C4300000421001B8F9F0FE48C5D0004AC4000043A +:2C0EF0001060000EAC400000000000009462002800000000005F10208C4100040000000010200003AC43000410000002B6 +:2C0F1C00AC230024AC43000017A3FFF48C6300248F820FE03BFF0080244200083442100038421000AF820FE0AF9F0FE46E +:2C0F48001000FE573084FFFE1060001000000000947D00280000000003BFE8208FA10004AFA30004102000038C5E000439 +:2C0F740010000002AC230024AFA300008C61002417C3FE48AC410000AC400004AC4000001000FE443084FFFD2C6201006F +:2C0FA0001440000E006A10213143007F01431823004318233062007FA562002800621823000319028F820FE02463FFF8BF +:2C0FCC000062182134631000100000033863100034430100386301008C6200040000000010400003AC6B000403E000089A +:0C0FF800AC4B002403E00008AC6B0000D0 +:02000004A0D08A +:2CD5000000000002A0D0E00000000000000010000000000600000008000000000000000800000002A0D0D64800000000F7 +:2CD52C00000008880000000000000000000000000000000024313200243132002431320000000000244D43522420436FB2 +:2CD558007079726967687420286329204D61646765204E6574776F726B73204C746420313939352E20416C6C207269674C +:2CD584006874732072657365727665642E004D6164676520416D6261737361646F722076312E303100000000000000012C +:2CD5B00000000001000000000000000000000000000000000000000000000000000000000000000000000000000000004E +:2CD5DC00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000023 +:2CD608000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000F6 +:0CD6340000000000FFF0400000000000BB +:2CF000000C343E2D000000003C1CA0D1279C56383C1DA0D127BDDFD03C08A0D12508DFD0AF8780080C343C1300000000E4 +:2CF02C00240400030097000D3C08BFC0350802308D08000000000000010000080000000027BDFFD0AFBF001CAFB1001864 +:2CF05800AFB000143C11FFF0000080213C18005637183B7926190200172000020319001A0007000D2401FFFF172100056B +:2CF08400000000003C01800017010002000000000006000D00001012001018403C05A0D124A5D6CC00A32021A4820000C5 +:2CF0B000261000012A0102001420FFEA000000003C06A0D124C6F9E43C07A0D124E7D648ACE600003C08A0D12508FB14D9 +:2CF0DC00ACE800043C09A0D12529FC94ACE900083C0AA0D1254AFCD4ACEA000C3C0BA0D1256BFBA8ACEB00103C0CA0D15C +:2CF10800258CFBC4ACEC00143C0DA0D125ADFBE0ACED00183C0EA0D125CEFBFCACEE001C3C0FA0D125EFFC18ACEF0020AD +:2CF134003C18A0D12718FC34ACF800243C19A0D12739FC50ACF900283C02A0D12442FC60ACE2002C3C03A0D12463FC70A6 +:2CF16000ACE300303C04A0D12484FC80ACE400343C05A0D124A5FCB4ACE500383C06A0D124C6FE08ACE6003C3C08A0D111 +:2CF18C002508FE90ACE800403C09A0D12529FA38ACE900443C0AA0D1254AFA74ACEA0048241000133C0BA0D1256BF9D8E7 +:2CF1B800001060803C0EA0D125CED64801CC6821ADAB0000261000012A0100201420FFF6000000008F988000000000006F +:2CF1E400AF0001008F828000241903FFA4590202000080218F86800024030FFF0010204024C7038000E42821A4A30000C1 +:2CF21000261000012A0100081420FFF7000000008F89800034089C40AD2803A08F8B80003C0A00FF354AFFFFAD6A03A4FC +:2CF23C00000080218F8F8000240C0FFF0010684025F80300030D7021A5CC0000261000012A0100081420FFF700000000AB +:2CF268008F82800034199C40AC5903208F8480003C0300FF3463FFFFAC8303248F868000240502FFA4C502023C08A0C00C +:2CF29400350801803C09A0D12529D5B8250A00288D0B00008D0C0004AD2B0000AD2C000425080008150AFFFA252900081B +:2CF2C0004002600000000000AFA20028240300223C04A0E034840014AC8300008FA500280000000034A6100100C01021CB +:2CF2EC00AFA600283C07FFBF34E7FFFF00C7382400E01021AFA7002840876000000000003C0800023508D8903C09FFFE59 +:2CF3180035290130AD2800008FAA00283C0BF000014B582501601021AFAB002801606021408C6000000000000000802141 +:2CF3440000107080022E7821ADE00000261000012A0104001420FFFA00000000241800013C19A0E8AF380000240200117C +:2CF370003C03A0F034630017A06200003C04F0EB348400703C05FFF034A54A00ACA400003C06FCEB34C60070ACA6000027 +:2CF39C003C07FFF034E74700ACE00000000080213C08FFF035080FC03C09FFF035294500AD280000261000012A01000433 +:2CF3C8001420FFF800000000000080213C0ADEAD001059803C0100D1002B0821AC2A003C3C0100D1002B0821AC200030C1 +:2CF3F4003C0100D1002B0821AC200038240DFFFF3C0100D1002B0821AC2D0014001071003C0100D1002B0821A42E000054 +:2CF420003C0100D1002B0821A4200004241800203C0100D1002B0821A43800083C0100D1002B0821AC200010261000017F +:2CF44C002A0104001420FFE00000000000008021001018C03C05A0D124A5E00000A32021AC8000003C07A0D124E7E000BF +:2CF4780024E8000401033021ACC00000261000012A0100091420FFF300000000240903803C0AFFF0354A4D00AD4900005F +:2CF4A4003C0CA080358C009CAD8000003C0DA08035AD00A0ADA000003C0E11003C0FA08035EF00A8ADEE000041010003A0 +:2CF4D000000000004100FFFF000000003C18A080371800E08F1900003C01A0D1AC39D6C80C343D43032020218FB00014DE +:2CF4FC008FBF001C8FB1001803E0000827BD00300080B8213C1CFFF0A3800C84A3800C888F90440000002021AF800CBC7E +:2CF52800240200A827830F002C5D004017A0000C3C1DFFB003A3E826AFB740000000000000000000000000004D01FFFFF6 +:2CF55400000000002442FFC0246300401000FFF326F700401040000D000000000002EE003C01004003A1E8253C01FFF099 +:2CF5800003A1E82603A3E826AFB740000000000000000000000000004D01FFFF000000003C05A0808F820F08000000007E +:2CF5AC00AF820FD4AF820FD0ACA200C48F820F100000000000021D82AF830FC000031D80004310233C01A0800041102542 +:2CF5D800AF820FC4AF820F108F820F1400000000004310233C01A08000411025AF820F1424030003279D0F1824BE00C823 +:2CF6040027810D008FA2000000000000AFA20010AFC20000AFA10008AFA1000C8FA2001400000000AFA2001C27BD0024B4 +:2CF6300027DE0004242100401460FFF32463FFFF8F820F0000000000AF820FC8ACA200C0278208002403000FAC4000002C +:2CF65C00244200041460FFFD2463FFFF8F830FC000000000AF834D008F834D008F830F148F820F102463FFFCAC40000091 +:2CF688001443FFFE2442000424020380AF824D00279D0F1827A100908FA200148FA3001800000000006218232C7F004017 +:2CF6B40017E000093C1F004037FF080003A0F0214D01FFFF00000000AFE20000244200401000FFF62463FFC01060000659 +:2CF6E00037FF080000031E0003E3F8254D01FFFF00000000AFE2000027BD002417A1FFE800000000000038218FC200145A +:2CF70C008FC3001800000000006218232C7F004013E000043C1F004000030E001000000203E1F8252403004037FF080084 +:2CF73800241E03E7000008214D01FFFF00000000AFE20000002308214900FFFB000000008780400217C0FFF827DEFFFFCA +:2CF7640014E0000434E7400003E7F8251000FFF0AF810C60AF810C5C3C01A0D18C22D6C8000000003C01A080AC2200E0E7 +:2CF790003C01A0808C2000E0AF800FB4A7800FB8A7800FBAA7800FBCA7800FBE27820CC0AF820FDCAF820FD83C02A0D156 +:2CF7BC002442DACCAF820C4CAF820C5024420400AF820C542402001E3C03FFF0247D0040AC7D000803A018211440FFFC55 +:2CF7E8002442FFFF3C1DFFF0AC7D00083C02C7043442DD7BAF820C583C07000024E7015808343FA9000000008E620038B9 +:2CF8140000000000144000058F830C9412A000222463000110000020AF830C94AF820FB43262FFC0000211828663002A70 +:2CF84000A7820FB83C02A000AF820FBCA7830FBA867E0008279D0F1833DE006003BEE821001EF0C203BEE8218FA2001CC6 +:2CF86C003C030C404D01FFFF000000008F974C00AC620FB48FA300182442000C14430003000000008FA2001400000000FB +:2CF89800AFA2001C4D01FFFF00000000ACA500E4AF974C0003E00008AE60003C3C0DA0D125ADD50011A00021000000005C +:2CF8C4008DA90000000000001120001D000000008DAA00048DAB00088DAC000C0009474005010004000000003C08A0D185 +:2CF8F0002508D638014850210009478005010007000000001180000D00000000AD400000254A00041000FFFB258CFFFC66 +:2CF91C0011800007000000008D6E0000256B0004AD4E0000254A00041000FFF9258CFFFC1000FFE125AD001003E00008B9 +:2CF94800000000003C021040AC574FF0000000000000000000000000000000004D01FFFF000000008F820FFC000000005B +:2CF974003042001F000210803C17A0D102E2B82126F7D6488EF700000000000002E00008000000002402FFFFAF820FFCB9 +:2CF9A0008F970FC83C021040AC570FF08F820F0426F7001016E20004AF970FC88F970F0000000000AF970FC84D01FFFFA6 +:2CF9CC000000000003E00008000000003C1FA0D127FFF02C1000FFED8F970FF03C0200D132F703FF0017B98002E2B825AA +:2CF9F800AEE0003C2402FFFFAEE20030AEE2001497830FF497820FF83C1D000027BD0698A6E30008A6E20002AF9F0FE819 +:2CFA240003A0F809A6E2002C8F9F0FE81000FFD9AEE2000C8F970FF03C0200D132F703FF0017B98002E2B82597820FF429 +:2CFA50003C03000024630698A6E20002AF9F0FE80060F809A6E2002C8F9F0FE81000FFCAAEE2000C8F970FF03C0200D174 +:2CFA7C0032F703FF0017B98002E2B82597820FF40000000096E30008A6E2000800431026304200601040FFBD8EE2003CF2 +:2CFAA800AEE0003C1040FFBA3C028800AF820FBC8EE20038AEE0003830630060279D0F1803A3E821000318C203A3E82116 +:2CFAD4008FA3001C1040FFAFAF820FB43C020C40AC430FB48FA200182463000C14430003000000008FA30014000000000E +:2CFB0000AFA3001C4D01FFFF000000001000FFA2000000008F970FF03C0200D1A7970FB80017B98032F7FFC002E2B82140 +:2CFB2C00AEE000303C02DEAD8EE3003CAEE2003C8EE200381060FF95AEE000383C038800AF830FBC86E3000827970F1821 +:2CFB58003063006002E3B821000318C202E3B8218EE3001C1040FF8AAF820FB43C020C40AC430FB48EE200182463000C84 +:2CFB840014430003000000008EE3001400000000AEE3001C4D01FFFF000000001000FF7D000000008F820FF08F970FF4B8 +:2CFBB0009041000000000000003708251000FF76A04100008F820FF08F970FF49441000000000000003708251000FF6F9E +:2CFBDC00A44100008F820FF08F970FF48C41000000000000003708251000FF68AC4100008F820FF08F970FF49041000040 +:2CFC080002E0B827003708241000FF61A04100008F820FF08F970FF49441000002E0B827003708241000FF5AA4410000DB +:2CFC34008F820FF08F970FF48C41000002E0B827003708241000FF53AC4100008F820FF08F970FF41000FF4FA05700009D +:2CFC60008F820FF08F970FF41000FF4BA45700008F820FF08F970FF41000FF47AC5700008F820FF0000000008C4200007A +:2CFC8C001000FF42AF820FF43C01A0C28C22C00000000000AF820FF03C01A0C28C22C0041000FF3AAF820FF43C01A0D14E +:2CFCB8008C22D5AC00000000AF820FF03C01A0D18C22D5B01000FF32AF820FF43C02A0F0AC400000905701530000000076 +:2CFCE400A3970C809057015700000000A3970C819057015B00000000A3970C879057015F00000000A3970C8690570163BA +:2CFD10000000000032F70007A3970C859057019300000000A3970C8B9057019700000000A3970C8A9057019B00000000AE +:2CFD3C0032F70007A3970C899057000B0000000032F700E000170942905700470000000032F700780037082590570067BE +:2CFD68000000000032F7000F0017B9C000370825905700C70000000032F7002F0017BAC000370825905701470000000019 +:2CFD940032F7001E0017BC0000370825905701830000000032F700600017BC0000370825AF810C8C3C0218408F970FC83F +:2CFDC000000000008F970FF000000000AC570C800000000000000000000000000000000000000000000000004D01FFFF17 +:2CFDEC00000000003C02A0D12442F998AF800C90AF800C94004000080000000087970FF03C1300D1A67700083C030000C2 +:2CFE180024630520AF9F0FE80060F809240200018F9F0FE81040FEDA97970FF027830F18007718210017B8C202E3B821FB +:2CFE44003C028800AF820FBC8E620038A7800FB8AF820FB48EE3001C3C020C40AC430FB48EE200182463000C1443000487 +:2CFE7000AEE3001C8EE3001400000000AEE3001C4D01FFFF000000001000FFDF000000008F820C5C8F830C60AF820FF026 +:2CFE9C001000FEBEAF830FF423890800012018212402000F206C0040AC6C0008018018211440FFFC2042FFFFAC69000884 +:2CFEC800278B0C98A56000002403FFFFAD6300143402000134420020A5620008278A0E000140102100001821AC40000038 +:2CFEF400246300042C6C01001580FFFC244200043C02A0D12442E000AF820FE03C1800D1012060210000682100007821C6 +:28FF20000000582100004021400260000000000034424001408260003C020000244206F800400008000000007A +:00000001FF +/* + Madge Ambassador ATM Adapter microcode. + Copyright (C) 1995-1999 Madge Networks Ltd. + + This microcode data is placed under the terms of the GNU General + Public License. The GPL is contained in /usr/doc/copyright/GPL on a + Debian system and in the file COPYING in the Linux kernel source. + + We would prefer you not to distribute modified versions without + consultation and not to ask for assembly/other microcode source. +*/ + +First record is start address in a __be32. diff --git a/firmware/cpia2/stv0672_vp4.bin.ihex b/firmware/cpia2/stv0672_vp4.bin.ihex new file mode 100644 index 0000000..bd0b9cf --- /dev/null +++ b/firmware/cpia2/stv0672_vp4.bin.ihex @@ -0,0 +1,73 @@ +:1000000001BCE302E303E304E305E306E3079344EF +:1000100056D4934E5651934E51D6934E4F54934EC1 +:10002000924F92A4930592F4931B929291E692368A +:100030009274924A928C928EC8D00B4202A0CA92BD +:100040000902C9100A0A0A81E3B8E3B0E3A8E3A0F1 +:10005000E398E390E100CFD70A12CC9508B20A18D2 +:10006000E10001EE0C084A12C818F09AC022F31CF5 +:100070004A13F314C8A0F214F21CEB13D3A26316B4 +:10008000489EF018A403F393C058F713519CE9203D +:10009000CFEF63F9922ED35F63FA922ED36763FB9F +:1000A000922ED36FE91A631648A7F020A406F394A2 +:1000B000C027F714F513519DF6136318C420CBEF36 +:1000C00063FC922ED37763FD922ED37F63FE922E34 +:1000D000D38763FF922ED38F6438922ED3976439DF +:1000E000922ED39FE100F53AF43BF7BFF2BCF23D0C +:1000F000E1008087908051D5022202324BD3F71164 +:100100000BDAE1000E0202400DB5E3024855E5129C +:10011000A401E81BE390F018A401E8BF8DB84BD10F +:100120004BD80BCB0BC2E100E302E30352D360597F +:10013000E6930D2252D4E6930D2AE398E390E10072 +:10014000025D0263E302C81202CAC85202C2826898 +:10015000E302C81402CAC89002C20AD0C9930ADADC +:10016000CCD20AE2631202DA0A980AA00AA8E39043 +:10017000E100E3020AD0C9930ADACCD20AE26312A0 +:1001800002DA0A980AA00AA84991E56AA404C812EA +:1001900002CAC8528289C81402CAC89002C2E39037 +:1001A000E1000860E1004853E897085AE100E302E3 +:1001B000E30354D36059E6930D52E398E390E100D2 +:1001C000029CE3025513931755139317E390E10034 +:1001D0007530E302E30355556059E6930DB2E39899 +:1001E000E390E10002AEE792E918EA9AE898E81095 +:1001F000E811E851D2DAD2F3E813D2FAE850D2EAA1 +:10020000E8D0E8D1D30A03094823E52CA003482409 +:10021000EA1C0308D2E3D303D313E10002CB059316 +:100220005793F09AAC0BE30792EAE29FE506E3B03E +:10023000A002EB1E82D7EA1EE23B859BE91EC89016 +:10024000859402DE05805793F0BAAC0692EAE2BFCD +:10025000E506A001EBBF8588E93EC8908581E93EAF +:10026000F0BAF339F03A6017F03AC090F0BAE10012 +:10027000003FE302E30358106059E6930DA25812C1 +:10028000E6930DAAE398E390E1000301E100030384 +:100290009B7D8B8BE302E30358566059E6930DBABE +:1002A000E398E390E100030F9311E100E3024A11A8 +:1002B0000B4291AFE390E100F291F091A3FEE100D7 +:1002C0006092C05FF013F013595BE213F0115A19FA +:1002D000E213E10000000327686176616E610006A9 +:1002E000032CE302E303E9385915595AF29ABC0B7F +:1002F000A40A591EF311F01AE2BB5915F011192A7C +:10030000E502A401EBBFE398E390E1000342192862 +:10031000E100E9306079E100E303E3076079934E9F +:10032000E3B8E398E100E91AF01FE233F091E292BA +:08033000E032F031E1000000B1 +:00000001FF + + Copyright 2001, STMicrolectronics, Inc. + Contact: steve.miller@st.com + + Description: + This file contains patch data for the CPiA2 (stv0672) VP4. + + 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., 675 Mass Ave, Cambridge, MA 02139, USA. diff --git a/firmware/dabusb/bitstream.bin.ihex b/firmware/dabusb/bitstream.bin.ihex new file mode 100644 index 0000000..5021a4b --- /dev/null +++ b/firmware/dabusb/bitstream.bin.ihex @@ -0,0 +1,761 @@ +:1000000000090FF00FF00FF00FF000000161000D7C +:1000100064616275736274722E6E63640062000BB9 +:10002000733130786C76713130300063000B3139C8 +:1000300039392F30392F32340064000931303A34E5 +:10004000323A3436006500002EC0FF20175F9F5BF8 +:10005000FEFBBBB7BBBBFBBFAFEFFBDFB7FBFB7F61 +:10006000BFB7EFF2FFFBFEFFFFEFFFFEFFBFFFFF9B +:10007000FFFFAFFFFAFFFFFFC9FFFFFFDFFFFFFF3B +:10008000FFFFFFFFFFFFFFFFFFFFFFFBFFA3FFFBE4 +:10009000FEFFBFEFE3FEFFBFE3FEFFBF6FFBF6FF18 +:1000A000BFFF47FFFF9FEEF9FECF9FEFFBCF9BEE19 +:1000B000F8FEEF8FEEFBFE0BFFFFFFFFFFFFFFFFE2 +:1000C000FFFFBFFFFFFBFFFFBFFFFFFC17FFFFFFAF +:1000D000FFFFFF7FFFFFFF7FFFFFFBFFFF7FFFFFB4 +:1000E000FC3FFFFFFFFFFFFFFFFFFFFBFFFFFFFFE7 +:1000F000FFFFFFFFFFFE5FFFFFFDFFFFDBFFFDFFD9 +:1001000077FFFDFFFFDFFEFDFFFFF2FFFFFFFFFFB9 +:10011000FFFDFFFFFFFDFFFFFFFFFFFFFFFFFFE111 +:100120007FFFFFFFFFFFFFFFFFFFFFFFFF3FFFFF1F +:10013000FFFFFFFFE3FFFFFFFFFFFFFFFFFFFFBF2B +:10014000FFFEFFFFFFFFFFFFFF67FFFFFFFFFFFF58 +:100150007FFFFFFF7FFFFFFFFFFFDFFFFFFF2FFF9F +:10016000F3FDFF7FDEF7FDFF7FF77DFF7FDFF7BD4C +:10017000FF7FFF1FFFEFFBFEFFBFEFFBFEFFEFFB6D +:10018000FEFFBFEFFBFEFFFF3FFE7F9FE7F9FE7F15 +:100190009FE7FA7F9FE7F9FE7F9FE7FFFC7FBFBFE6 +:1001A000EFFBFEFFBFEFFBB7BFEFFBFEFFBFEFFBB9 +:1001B000FFE0FDF9FE7F9FE7F9FE7F9DF9FE7D9D43 +:1001C000E7F9FE7F9FEDEDFFFDFF7FDFF7FDFF7F8E +:1001D000DFFDFF7FDFF7FDFF7FDFFF9BFFEFFBFE14 +:1001E000FBBFEFBBFEFFAFBBBEFFBFEFFBFEFFFFE2 +:1001F000B7BFDBF6BDBF6BDBF6F9BF5BD6F9BF6FF0 +:10020000DBF6FDBFFF0EFFFFFFFF5FFFF7FFFF7F86 +:10021000F7BDFFFFFFFFFFFFFFDF9FFFFFFFFEFFB9 +:10022000FFEFFEFEFFFF77FFFBFBFFFFFFFFF83F47 +:10023000FFFDFFFFFFFDFFFFFFFFFFFFFFFFFFFFD2 +:10024000FFFFFFF47FFFFEFDBEFFDFFEFFFFEF7F3E +:10025000FFCFFFCFFFFFFFDFE6FFFF7FDFF7DD7F91 +:100260007FDFF7FF7FDFD7FDFF7FDFF7FFCDFFF2F7 +:10027000FFFF4F7FF4FFFFFFE7EFFFFFFFFFFFFFF1 +:10028000FFFFBBFFEFFFFEFFFFFFEFFFFFEFFFFBF7 +:10029000FFFFFFFFFFFFFF65EFFFFF7FFFFDEFFFAA +:1002A000FFFFFEFFFFFFFFFFFFFFFFFECFDFFEFFB1 +:1002B000FFFBFFFFFFFFF3FFFFFFFFFFFFFFFFFF5E +:1002C000FEDFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F +:1002D000FFFFFFFFFFFEBFFFFFFFE37FFFFFFFFF0B +:1002E000FFFFEFEBFFFEBFFFEBFFFC7FFFFFFFEE2B +:1002F000FFFFFFFFFFFFDDFFD6FFFDBFFFFBFFFEA0 +:10030000FDFFFFFDEFFFFFFFFFFFFFDEFFFFFFFF32 +:10031000FFFFBFFFFDFF7FBFFF5FDFFFFFBF77FF77 +:10032000FFFF7FD7FFFFFFFFFFC3FFFFFFFFDFEFF1 +:10033000FFFFFEFBFFFFDFBFFFFFFFFFEDFFB7FF8C +:10034000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBD +:10035000FFFFFFAF7FFFFFFFFFFFFFFFFFFFFFFF7D +:10036000FFFFFFFFFFFFFFFFDFBFDFF3FDFBFF5BD3 +:10037000FDFFBFEFF7FFFF7DFFFFFFFFF83BFFBF74 +:100380006FFFFEFFBFFFEB7DFFEFFBFEFFFFFFFFF9 +:10039000FFF27FFCFF3FDFEDFEFFFFFFFFEF5FF7A8 +:1003A000B5FFEFFFFFFFE03F9F9EFFFFEFFFDFFF87 +:1003B000BF5FBFCFF3FFFFFFFFFFFF69AF33FDFF5D +:1003C000FBFFFFFFFFFCFF7FD9FFDFFFFFFFFFF514 +:1003D000A3DF6EDEFFFFBDFFFFFEFFFFFFFEE7FDB9 +:1003E000FFFFFFF9EFC6FEB7ADE5F9FFFFFFCFFF57 +:1003F000FFFFCDFB7FFFFFFFF9F60FDFECCF7FFFA5 +:10040000FB7FFFFFFFFDFFFEF9FD7FFF7FFFF95B35 +:10041000FF73DCFD7BDFFFFFFF7BFFFFF753D6FFA2 +:10042000FFFFFFD89FFEFFEF7FEEFFFFFFFBEDED2D +:10043000FDFFFEFFFFFB7FFFE27FFF6FD857F7FF57 +:10044000FFFFDFFFE8FFFFFDFFFFFC7FFFE4FFFB97 +:10045000EFFBFEDFB7EDFFFEDF7FFFFE7FB7FFFFA5 +:10046000FFFF89FFFFCFF3FE7FFFEFFFFE7E7FFBE5 +:10047000FFFFFFFFFFFFFFF1FFEB7AD5BF6FDBBE92 +:10048000FDB7D8F6E5BF6FFBFEF5BD7E06FFDFF7D3 +:10049000FBF6FF3FFFDBFFFF6FFBF7FFFFFFFBFEFE +:1004A000F7AFFFB7EDEFF7FEFFFFDFFFFEFFEFFF58 +:1004B000FFFFFFBFF7FC1FEEFBFEBDFF7F5FD7FD19 +:1004C000FB43FFFFFDFF5FFFF7FFF93FFFCFF3FDAA +:1004D000F77EEFA7F9FE8FA7E9F37E9FFBF8FFFFFA +:1004E0003FFD7F5FDFFDFFFF5FFFFD5FFFFF7FFDE4 +:1004F0007FFD9FFFE0FFFAF8BE6F9FE6F8BE3F9AD0 +:10050000F9BE6F9FE2F9FE6F9FF9FFF5FD7FCFDF28 +:10051000FDFD7FFFF5FFFFFFF7F5FD0FDBFFD3FFCD +:10052000EBFAFFFFBFFFFAFFFFCBFBFEFFFFEBFA8B +:10053000FEFFFFB7FFFFFFFFBFFFDFF5FFFFD7FFA6 +:10054000FFFFDFD7F5FF7FFE4FFFFDFF7F7FFFAD92 +:10055000EBFBFFADFFFFFFFFAFEBFBFFFC0DFFFF72 +:10056000DFD2FDFFFFFDF6FFFF7FFFFF1FFFFFFF55 +:10057000FFFB3F7DEB32FEBF2FEBFAAEBDE0FA7E14 +:10058000BFADEBFAFEBFF57FFFDEFEE3FBFFFFFF33 +:10059000DFEF4FDFFF7FDFFFF7FFFFF87FFFFFEFAA +:1005A000FBFFFFFFEFFFFFDFEDFBDFFFBFFFFFFF05 +:1005B00081FFFFFFFF3FFFFFFFFFFEDDFEEFFDFFBF +:1005C000FFFBFEF7FF93FDFB7EFFFE87E9FF7FB396 +:1005D0009FFEFEFFAFFDFE7E3FFE67FFFFF7FFFFC2 +:1005E000FCF7DFFDFF7FFFFF7F6DFFFFFEFFFF2FAB +:1005F000FFBFFFFFEEFFBEFFFFFEFFEFFFFFFEFFAF +:10060000EFFFFFFA5FFFFFFBFFFFEFFFFBFEFDFFCA +:10061000FEFFFBFFFFFF7FFFFEBFDFFFFBFFFFF7DC +:10062000FCFDFFFFFFFFFF7FFFFFFFFFFFF27FFFEC +:10063000FFFFFF7FFFFFFFFFF3FFFFFFEFFBFFFF6A +:10064000FFDFE2FFFFFBFFFFFFFFFFFFFBE7FFFD19 +:10065000FFFFFFBFFFFFFFEDEFFDFFFFDFD7F5FD62 +:100660007F5DFDFF7FDF97F4FD7B5FFFC9FFFBFE32 +:10067000FFBFFF5FFFFFF7FFEFFDFFEFFFFFFFFF94 +:10068000FFF7FFD7FD7D7FFFFFFFFFEFDFF7FDFFE8 +:10069000BBFFFF7FFFFEE3FFF9FE7FBFEFFBFEFF27 +:1006A000BFF9FEFF9FEFF9FEFFBFF3DAFF37CDF38F +:1006B0007CDF37CDF37F37CDF37CDF37CCF37F5A48 +:1006C000BDF6FDBF6FDBF6FDBF6FDEFDBF6FDBF676 +:1006D000FDBF6FFEF16FEB7ADEB7ADEB7ADEB7AF41 +:1006E0007ADEB7ADEB7ADEB7FF7EFFFECDB36CDB13 +:1006F00036CDB36CDECDB36CDB36CDB36CDFC9BFAA +:10070000F7BDEF7A9EA7A9EA7AB7BDEA7BDEA7BD5F +:10071000CA728D91FFEFFBFEFFBFEFFBFEF7EFFB11 +:10072000FEFFBFEFFBFEFFFE87FFF6FDBF6FDBF6B0 +:10073000FDBF6FF6FDBF6FDBF6FDBF6FFE4FFFBF66 +:10074000EFBBEEFBBEEFBBEFBEEFBBEEFBBEEFBB06 +:10075000EFFC5FFFFFFF3FCFF3FCFF3FCFFCFF3F0E +:10076000CFF3FCFF3FCFFD9FFEBFAFEBFAFEBFAF65 +:10077000EBFEBFAFEBFAFEBFAFEBFFE16FFDFF7F1C +:10078000DFF7FDFF7FDFFDFF7FDFF7FDFF7FDFFF8F +:100790007ABFFBFEDFB7EDFB7EDFB7FB7EDFB7ED99 +:1007A000FB7EDFB7FFC9FFFFBFEFFBFEFFBFEFFB25 +:1007B000FFBFEFFBFEFFBFEEFBFEBBFFFEFFBFEF89 +:1007C000FBFEFFBFEFFEFFBFEFFBFEFF3FCFFFE7EC +:1007D000FEFFF5FD775DD735DD77D7F5CD7B5DD7AE +:1007E000F5DD77FE27FFFF8BE2F8BE2F8BE2F9AF36 +:1007F0008BE2F8BE2F8BE2F9FE1FFF5FD7F5FD7F7E +:100800005FD7F5FF5FD7F5FD7F5FD7F5FFFA3FFEB6 +:10081000BFAFEBFAFEBFAFEBECBFAFEBFAFEBFAF83 +:10082000EBFFFE7FFD7FFFFFFFFFFFFFFFFFFFFFEF +:10083000FFFFFFFFFFFFFFE6FFFADFF7FDFF7FDFB0 +:10084000F7FCFFDFF7FDFF7FDFF7FDFFF5FFFFFFA1 +:10085000FFFFFFFFFFFFFBFFFFFFFFFFFFFFFFFFAC +:10086000FF02FFFEBFABEBFABEBF23EBDE1FAFEA1A +:10087000FAFEAFAFEBFD97FFF3FC7B1FCFF1FC7FE0 +:100880001FF1FC771FCDF1FCFF1FFE87FFAFEFFAD2 +:10089000FEFFAFEFFAFDBF2BFB7EBFBFEBFBFBFB09 +:1008A000DFFFFBF7FFFF7FF7F7FFFDDFFEFCDFFF5A +:1008B000DFFFFDFFDABFFFBBEFFBF9FFBEEFFBFB86 +:1008C000BFEFFBFEFFBFEFFBFFF77FFDD7FFFF7F13 +:1008D000FFFFFFFEF7FFFEFFF7FFFF7FFFFFECFFCD +:1008E000FFFEDFBFFFFBFEFFBB68AE1FAEFBFBFFE3 +:1008F000FFBFFFD5FF7FFFFFF7FEFEFFBFEF9FFDAE +:100900007FFFCBFFFFDFFFFFBBF7BFFFFFFFFFDF77 +:10091000FFBFFBFFFFFFDE3FFFFFFFFFFFA7FFFF64 +:10092000FFFFEFFF7FFBFDFB7FFFFFFFFFCFF37CB0 +:10093000FF7F8D7FFFFFFFFFFBFFF7FBFEFDFFFF4C +:10094000FFFFF7FDFF7FFD1FFDFFFFFFFFBFDFFF85 +:10095000FFFE5CFF6DFF7FABE7F1FFFD9FFFFFAD8B +:10096000EB7A3F1FFFFFFEBFAFF3DEF5FF8FFBDF2C +:10097000E67FFFDFF3FDFF7EFFFFFFFFFFFDF7F3E5 +:100980007FDFF7EFFFF63F9FDFFFFFEEFFFFEFFB9D +:10099000FFFFF9FBFE4FBFEFBBFF69AFAFFCFF3FAF +:1009A000DDFFFCBF8FFFFDF3BFED9EFCBF6FF5D3F6 +:1009B000DFFFDBD6F5EFFDFEFFB9FF1FD2A9AFFFCA +:1009C000DBF7BFEF46FFFFADEB7ADFEFF7FF7FF717 +:1009D0009FEDFF7FFFADEB7FF56FFFFDFBD6F4F7DB +:1009E000FBF97E7FFF5FC2FEBFFDFB33DFF95BFFDC +:1009F000FFDD677DCFEFDBECFF77DDF7FDFFFFDE8F +:100A0000A7BFD49FFFFFBFEFFEFFDFEFBBFFFFEFEE +:100A1000EBFAFFEFBDFBFFE27FFFDFDFF7FDBFBBC0 +:100A200073F7FD7FDFDEF7BFEADBF6FFD6FFFF6679 +:100A3000FFBEFFBF6BD9F6DFFFFB7E7FB77EFFFEF9 +:100A4000FFCDFFFE7FFFFCFD3FFBFBF7FFFFFBF64B +:100A50007DFE7FFFFCFFB9FFF9FAFEBFAF5BD6ED6D +:100A6000AD7BF6F9BFEFF8FAFEBFFEE6FFFFF7FD3C +:100A7000FF7FBFEFF3FFFF6FF7FEFFFFF7FDFEF70E +:100A8000EFFFFBEFFB7EDEFEFFBFFFFEFFFFFBFF86 +:100A9000FFEFFB6FFC1FFEE7FFFFFFEFFFD3B4BBD1 +:100AA000FFFFFDBF6FE3FEFFBFFCBFF7CFF7FDFF0A +:100AB0002FDFABEAFFDFE7EA9AAFEFFBFEFFF53F80 +:100AC000FD7EFFD7F5FBFFFDF7FF7FFEF7FDFFD7AC +:100AD000FFD77FEE7FFA79FE2F8BE6F9FE3F9EF976 +:100AE000BE2F0BE7F9FE2F9FFDFFFE7D7F5FD7FF37 +:100AF000FF7FFFFDFF7F5F97FFFD7F5FFFE3FFFF4E +:100B0000FAFEBFAFFBFBFFFFCFEBFEBFAFFFFAFE6E +:100B1000BFFF87FFFFF5FFFFFFFFFDFF7FFFFFFF29 +:100B2000FBFFFFF5FFFFFE0FFFFDEBFFFFF7FFEF02 +:100B30007BDFFEFFFFDFF7FDEB7FDFFF5FFFFFFFE8 +:100B4000FFFDBFFF7EFABFC7DBF7BD3FFBFFF6FF30 +:100B5000FAAFFFEBFAFE3F2FEAFA3EADC9BAF6ADA7 +:100B6000AFEBFAF6BFFE7FFFFFFDFFF17F3FCFF156 +:100B7000EFFF7FFFBCDFDFF7DDFFE07FFFFFFEFF62 +:100B8000FAECBB7F5FFFFBECFFEFB7FFF7FFFFB5B2 +:100B9000FFFF7FFFFFFFEEDF5FDFDEFFAEE777FFE8 +:100BA000FFDFF7FFE3FFFABBFEFFAFFDFBFEBFABCE +:100BB000F9FEFFBF7FBFFEBDFED7FF9FFDFFBEEF6B +:100BC000FFEEFDBB5BEFFF7FEFFFEFFF7FFF4FFF10 +:100BD000EFFBBCFCFFFFFFFEFEFDFAFEFBFFFDF39B +:100BE000FBFFF85FFFFFD7F5FDDFEFFFF3DC5FCE24 +:100BF000F5BDFFFFD7FFFFF93FFFDFF7FFFEFFFD6A +:100C0000FFFBFFF7B97DFEDFFFFFFFFFF97FFFFE70 +:100C1000FFFF7FFFFEFFFFF7F6FFBFF1F8FFFFFFCB +:100C2000FFE0FFFFFFFFF9FFFFFFFFFFEFEFFFFF19 +:100C30009BFB7FFFFFFFC1FFDFFF3F5FD7BFEFBB26 +:100C4000DEEEFF7FDFFFFEF57FDFFF99FFFFFAFF9C +:100C5000BFFDEB7AFFB7FEFEFFFFEFFFFFFDBFFF1B +:100C600097FFFDF7FF7FF7FFFFFD5FFEF3F9DFDF83 +:100C7000FFFFFCFFFF83FFFFFEFF9EECFBEEFF9FED +:100C8000BFEFFFFEED7BFFFFFFF15AFFFFFDFF7C93 +:100C9000693BDFFF7F1FDFFFFDBAFFFFFBFF5BBD8F +:100CA000FFFFFFFFD7B6EDE9FFD6BD6F5FFBFFEF9C +:100CB000FF5FFEF66FFFFFFFFFF7EB7ADFFF9F7F1F +:100CC0007FFFB7FFFFFEDFFF6CFFFBFFBB6FEBFE9D +:100CD000CCF7A5FA5CF575BBB7DFFE6F5FC5BFFD4E +:100CE0007BFEFF95E729CF4FF591EE6BDFEFFD54CB +:100CF000F5BDB1FFEFEEFBBEBFAFFEDEBD6FDAF2BA +:100D0000FFAFBEFFFFFD7EA7FFF7FFBFEF7BF6FD46 +:100D1000BD4AF28585BF5BFEB5FDFAFF4FFFFEDFE2 +:100D2000FFEDFFBFFFBF7FFEFFB76DFFF7BFBFEF58 +:100D3000FD1FFFFE7DFF67FFFFFF3F7FFEBFFFE759 +:100D4000DFE7FFEF6BFC1FFFBFEFFBFEDEBFAFFA7D +:100D5000FFB6EFF9FEFF8FEFDBEFAB6FFBFEFFFFA0 +:100D6000EFFDFF7FFFFFDEFFFFEFFFFFFF3FFF6CA9 +:100D7000FFBFFBFFFEFFFBFEDFFFFFEFFFFFBFFF3D +:100D8000FFFEFBFFD57FFFFFEFFBFFFFBFEF43B58C +:100D9000FD6FCFD6BE3F7FDBFEC3FFFDFFAFEBFB9A +:100DA000FCFF3EEFE8FABDCDAAFEFE7DCFFFB7FF08 +:100DB000F7FFFFFFFDFF75CD52D7FDFBF7DDFBEF22 +:100DC000EBFFFF4FFFBF9FE7F9FC7F8BC3F9AF8FAE +:100DD000E7E9BE7F9FE6F9FC5FFFFFF7FDFF7A5F63 +:100DE000D7EDFFFFD7FFDD7FE7FFFCFFFC3FFFFFF5 +:100DF000FFFBFFFEBFAFFFFDFFEFFFEBFFFFFFFFBE +:100E0000FFF77FFF7FDFFFFDFD7FFEF7FD7FDFFF49 +:100E1000FDFFFFDFFBFFEEFFFBFFF7FDFF7ADFF5D6 +:100E2000FDFADFF7FCFF7FDFBFEDFFC9FFDFFFBF8C +:100E30002FFBFFBCADFFF7FFFFEFD3FF7DBF6FFFC1 +:100E4000FAFFFEBFAEEAFABEADA5EBCEBFA7EB5AE6 +:100E5000DEBDAF6BFD57FFFFF47F1F7FFDFF7F36C9 +:100E6000F0DF79FFFFFFF7FDBFFF87FFFBF3FCFF1C +:100E7000FFFFFF7EFFBFDFFFFFFFFFFFFDBFF89F0C +:100E8000FFFFFFFFBFFFFFFDF7FCBDFFFEFFFFFF02 +:100E9000FFFFFBF9BFFFFFEBE2FEFFBFEFA9BA2F99 +:100EA000EBF9FE77DFF7FFFFF97FFFFF7FEFD7FF5B +:100EB000FDFFFBF5FFBF6FDFFFFFFDFFFFF0FFFF53 +:100EC000FF3FCFFFBAEE9BBFEED7FECDEFFFDFBFF8 +:100ED000FFFFC5FFFFFD7F4FFDF6D9FF4FD6FDBFDA +:100EE0006EFFFFF47FFF7F8BFFFFFFFFF7FFF9FE31 +:100EF00037FFD9FBF5AFFDFFFFFBFFFF07FFFFFF4C +:100F0000FBF7FFFDFF7CFA7E4FFCDF1DC7FFFFFFF5 +:100F1000FFAEFFFFFFFFFDFBFFFFFEFEFCFF7F7F3D +:100F2000BFEFFEFFFFFF5FFDFFFFFFFD6F5AD77BA7 +:100F3000BE5FFE39FFF7FFF7FDFEAA1FFFFFFFFFB1 +:100F4000FEFEABAFFDFEBFFFF7FF7FFE8FE3FBEEC4 +:100F50007FFFFFFFFFEBFBFFFDBFEFDFFFFFFFFFAB +:100F6000FFFFFFFBE43FFFDFFFFFFFFFF3EFBBFBF4 +:100F7000BFEFBBFFD7BFFFFFFF29AFF7FFFFFBFFAF +:100F8000FBE6FF0FFB3FDF0FFFAFFFFFFFF5C3DF08 +:100F90005FFFFFFFFE6BCABEBCFF9FF2BFFFFEFA02 +:100FA000FFFFEF16FFFFFFFFFFFCDF97FD79FF3725 +:100FB000E77FFFFFB5FFFFF62FFFFDFBFEFFFFFD05 +:100FC0005F575FFFDB52DFFFFDBFFFFFFCDBFF7BF7 +:100FD000B5FD7FFF719C6EFFF635A59BFFFFFDFF02 +:100FE000FFDB9E7FFEEFFBFFFFBDEFFFDEB7F94BA0 +:100FF000FFF5EFFFFFFFE87EFFEADFF7FFFD695B2C +:10100000FC9FEF78D6FFEBEFFFFFFFE8FFFFEDFF60 +:10101000FFFFFFE3F9F6BFFFFFFEDFFF7FFFFFFFEC +:10102000D1FFFFE7FFFFFFFFE7F9FFBF7FD9FFFD1C +:10103000FE7FFFFEFFF9FFFBD6DFBFEF5BD6FFBFF2 +:10104000FBF6FFBFEFF8F6DDBEFE16FFBFEFFFFEBB +:10105000FFBFEFFFFFFF6FFBFFFFFF6FF3FFF7EF38 +:10106000FBFFBFFFEFFEFFBFFFFFFFBEBFFFEFFFB6 +:101070007FEFFFFD17FB7BFFFFFD7FDBF6F47FFAC1 +:10108000FEF5BFEBE3F7FFFFE9BFFFAFF7FDF37E30 +:101090008FA3EAFFCBF3EEFFBFEFF7F9FFFE7FFF71 +:1010A000FFFFFFF5FBF6FFF52FFEFBD7BFFFBEDF0F +:1010B0009FFFF0FFFFF9FE7F8FA3F8FE6F9FF9F609 +:1010C0002F9FE7F9FE2F9FE1FFFFFF7FDFF7F5FD81 +:1010D0007F7FF5FF9F5FFBFEFF7FFFFFCBFFFFFBE7 +:1010E000FEFFBFAFFBFEFFDFFEFEBFF7FFFFFFFF10 +:1010F000FFC7FFFFFDFF7FDDF7FDFFFFD7FFFD7F90 +:10110000FFFBFDFFFFFEEF7FFDEFFBFEFBFDFF7F23 +:10111000DFFDFF7ADFF7FDFFFFFFFF1FFFFFD3F7C4 +:10112000FFFF6FDBFFFFEFCBF4FFFFFFFFFFFFFED3 +:1011300029FFE8DA769FAF6ADAFE35EBDAD6BFAB85 +:10114000EB7ADEBFD77FFFFEFFBFEFFDDF77BFFD8E +:1011500037EFFFEFFF3FFFFFFFFE7FFFFFFFF77E51 +:10116000DFFFFFFFFAB77FFFFFFEFFFFFFFF89FFF3 +:10117000FFFFFFFFFFFFFFFFFF9FFBFFFFFFE7FFFB +:10118000FFFFFFAAFFABFBFAEFBFFFDFFA7BB9FE61 +:10119000FEFFFDFFF7FE3FFFB7FFF7EEFF7FEFFF1C +:1011A000FF7FFF1FFBFFBFFBFEFFBDFFFF2FFFBF4A +:1011B000FF7FDFFAFFFFFCEEF5F3BEFB0FEFF3BEA0 +:1011C000EFFC5FFF5AFFF7DFFFFFFED5FC5FFBF28E +:1011D000FFFF2FBBF3FFFFBFFFEFFFEFFFFFFFFF9F +:1011E000BFFFFFFD7BFFDFB9FFFBFFD87FFFFFFFE6 +:1011F000FBFFFC7F1FBFE0DFF7EFFFFD7FFEDFFFA0 +:10120000E0FFFFFDEFFBFFFEF7DFFFEB5FFFF7FF08 +:10121000FFFFFFBFFFFDFFFDFFFFFFF7FDFF3BDC13 +:10122000FD6D7B5F57F5FD7F5FFFB1FFEBFFFFFFBC +:10123000FBFBFEFFBFFBBEFFBFEFFBFEFFAFFEF7FA +:10124000DFDFFFFFFF7FCFF3F8FFD7FBFF5FBFF7C5 +:10125000FBFF7FFE23FFFFFE7FF3FFFBFEFFFFF39D +:10126000FFFFF5F9FF3FFFFFF09AFFBE7FFFFCF99C +:10127000FFFDAFEBFEBFFFCFF3FE7FFFFF5BBDFFC8 +:10128000BCEBFFD7D4AFAFFDFFCFF7FDFF7FDFF79C +:10129000FDFEFF6FFFFBFFFFFFFD7F5EFDBFDBF687 +:1012A000FDBF6FFBEEFDFF7AFFFAFBFF3FFBB75F71 +:1012B000D6F71F71DC771DC731DC77DFF9BFF55B2F +:1012C000F4D79DAEFFBFFDBFDBF6FDBF6FDBF6FEC3 +:1012D0003D81FFEBFEFEFEFFEB7ADF7D777DF5794A +:1012E000DF57DDF57D7EE6FFD63FBF7FFFD4F53FBC +:1012F000BFFBBEEFB3EEFB9EEFBBFE8BFFFEDFB787 +:10130000EDFFF7FDFEFFEFBBEEFFBEEFBBEEEBFC2C +:101310001FFFFFFDFFE7FFF7FDFFEFFEFFBFEFFB46 +:10132000FEFFBFEBFA1FFFB7EF5BFEFFAFEBDDE7A2 +:10133000DE779DE779DE779DBFE66FFFFEFFBFEFAB +:10134000FBFEFDBF6FF6FDBF6FDBF6FDBFFF7EFF4F +:10135000FFFBFEFEFFEFFBFDEF7EF7BDEF7BDEF751 +:10136000BDEFFFD5FFBFFFEFFEFFFC3F0FE7FE7FA6 +:101370009FE7F9FE7F9FE7FEF3FFFEDFADDF67EE3D +:10138000FBBFEFFEFFBFEFFBFEFFBFEFFF23FFFF43 +:10139000FFFF7FFFF3BCDBFEFBFFFBBEF7FBFF7F26 +:1013A000DFFFCFFBFF9FE3F9BE3F8FE779FF9DE7AC +:1013B000F9FE7F9FE7F9FE5FFFCFF7FFFFFFDFF743 +:1013C000FE7FE7F9FE7FFFFFFBFEFFFFBFFFBFBF12 +:1013D000FFFEFFBFEFFFFDFFFFFFFFFFFFF7FDFF7A +:1013E000FF3FFFBFFFF7FFFF7FDFFFFFFFFFFFFFB5 +:1013F000FFFFFFFFFFE8EFFF5FF7BFF9FEDFB7FD7D +:10140000FFDFF7FDFF7FDFF7FDFFDDFFF2FFBFFF2F +:10141000FFBFFFFF2FF2FFBF2F7BD2F7BF2FFFBB16 +:10142000FFEE8FAFEBFAFE3FA769CE8FA4EAFAEE8C +:10143000B7AEEBFDC7FFF7F7FFFFFFFFFF7F3EF300 +:1014400074FF3F4FFFE7FF3FFEA7FFFFDFF7B7FF48 +:10145000F7FFBAEF37EBFBFEBFFBFEF3FFF9DFFF51 +:10146000BFFFFFFFBFFFFFFFFDDFFFFDFFFFFBFE35 +:10147000FDFFFBBFFE3FEDFFDFBE3DA7FBFA3FE6F2 +:10148000E1FEFE3FEFE3DFF57FFEFF7EFFFFFFFFA4 +:10149000EF6FF6FF7DEFD7DEFF7DEFFFF2FFFFFF7F +:1014A000FFFFFF7BDEFBE6EEEF376EF37EEB37EF01 +:1014B000FFC1FFFEFFF7EFFFFFFFBF3FD2DFBF2FF0 +:1014C0007BE2FFFE3BBDDBFFFEFFFFFFFFFFEFFE0A +:1014D000FFFBFFFFBFFFFBDFFFBFFFB7FFFFBFEF5C +:1014E000FFFFFFFFFFFF0FFF7FFF1FEFF1FDFFF685 +:1014F000AFFFFFFFFFFFEFFFFFFFFE9FFFFFFF7745 +:10150000EFF7FBFFFE5FFFFFBFCFFBF7DDF7F5FF58 +:101510005FD5F5FD7F5FD7F5FFFB0FFFFFA9EA7AE7 +:10152000FFAF8FFEDFAFEFFBFEFFBFEFFBDFE55F3F +:10153000FFFFFFFFFFBD57FFFF6F77BFF7FBFF7F89 +:10154000BFF7FFFCBFFF9FFFFFEFFFFEFFFFFF1F87 +:10155000CFFFFCFFFFFFFFFB65AFF37CFF3FDFFF2B +:10156000FDE9FE7FE7FFFE7FFFFFFFFFFDE3DFFBFF +:10157000DBF6FDEF5BFBFFDFFCFF3FDFF3FDFF7FF3 +:10158000DFEF66FFDFADEB7ADEF7F7E7D9FD9F67A8 +:10159000D9F67D9FE7DFF547FD655BD6F4FEFFEFEB +:1015A000FF6DF6DDB76DDB76DCB77DFA9BF66D9DE2 +:1015B0006759DFF7DDFFEBFEBFAFEBFAFEBFAFE32E +:1015C000D19FFFBDBFEFFEF7BFBFF7D77FDDF79D10 +:1015D000DF7FDFF7FFE07FFDC1DFF7FDC77F7FFB28 +:1015E000FFBBECFB3EFFBFECFBFFD87FBF6CFFBE39 +:1015F000FFBFEDFFEFFEFBBFEFFBFEFFBFEEFFC542 +:10160000FFAF6FFFFCFD3FE7FFFEFFEFFBFEFFBFFD +:10161000EFFBFEBF89FEFABAFEBFAFFBF6F5D97D40 +:101620009765D9745D9765D3FED6FFBFF7FDFF7F41 +:10163000BFCFFBFEFFEFFBFEFFBFEFFBFFF68FFB15 +:10164000FFEFFB7EDBFEFFBEEFEEFBBEEFBBEEFB74 +:10165000BEFFFFDFFF43FFFFFBEF5FB7FE7FE7F952 +:10166000FE7F9FE7F9FE7FF9BFFEAF77FDFF2FAF4B +:10167000A7FEFFEFFBFEFFBFEFFBFEFFF17FEFDFFB +:10168000FF97F5EFFFDFFFFFBFFFBFFFFFFEFFFF8D +:10169000FFE0FFFFF9FE2F8BE3F8BE779FF9DA77C3 +:1016A0009DE779DE779FDDFFFDFD7F5FD7FDFF7F43 +:1016B000E7FE7F97E7FBFEFFBFEFFFABFFEFFAFE12 +:1016C000BFAFFFFAFFFFDFFFFBFFF7FDFF7FDFFF8D +:1016D00067FFF7F5FFFFFFDFFDFFFFFFFFFFFFFFE6 +:1016E000FFFFFFFFFFEFFFBDEBFFFFF7ADEBFFDFFE +:1016F000FDFF3FDFF7FDFF7FDFFF5FFFF7FFFFFD30 +:10170000BFFFCBF4FF7FD3F7FD3F7FD3F7FFFC3F55 +:10171000FFEAFABEAFABEBBAF4956B52D4AD2F4AE9 +:10172000D2F6BFD27FF73FFFFFF37FFFFFF7FFBA8D +:10173000DFFBFDFFBFFFFBFFF87FEAFFFEFEDFFFE1 +:10174000F7FF7FBBFFFFBFDFFBFFFFBFFFB17FFFE7 +:10175000FBEFFFFFFFFFFFBFCFFEFFFFEFFFF7FF36 +:10176000FFFFF1FF69BEFABFAFE2FFFEFDAFF3FE80 +:10177000FFBFEFFBFCFFFF07FD95DBDF7FDFAFFF68 +:10178000F7AF36FEBF65EBF6FE9F6FFE07FFCFFF9C +:10179000F8FEFFCFFFF6FAE7FBFEFFBBEDF9FFFF18 +:1017A000FF5FFFFFFF75FFEF7EFDE0E85ED3E5F929 +:1017B0003E5FD7F7FFFA2FFBFFFFFFFFFEFFFF7F24 +:1017C0007FD7F57D5F57D5F5EFFFF37FFC7FFFC730 +:1017D000F1FFFF1FCFB0FF3FCFF3FCFF3FCEFFE491 +:1017E000FFDF7FFEF7BBFFFFDFEFEEFFBFEFFBFE8C +:1017F000BFBFEFFFD1FFFFFFFDFBFFFDFFFB9FE939 +:10180000FE7F9FE7F9FE7FBFFFB3FFFFF7FFFFAF4C +:10181000F7FFB63FEBFAFEBFAFEBFAFEBFFEA7FF46 +:10182000FFFFFFFFF7FFFFFFFE9FF7F9FF7F9FE737 +:10183000FFFFFEAF6FFFFFFF9FFFDFFF7D5FDDFF5D +:10184000FBBFE7BBFFFBDF6D5F7EFFFFFFFFFFFF1F +:10185000EBF7FFE7EFF7FFFF7FFFF7FFFC8FFFEFEF +:10186000FDFEFFBEF4F27DD7CFFF3FFFFFFFFFFF7E +:10187000FFCF6BFFBF3FFBF2FC7FEBFF9FFAFFFF49 +:101880003FFFF3FFFFFD70F7FFFFBFFFFBD7FEF544 +:1018900077FF15DD77FDFF7FDFF7FBCDBFFFFDFF96 +:1018A000FFDF37CDF9ECFEEFBBF4FB3F4FB3FFFD9D +:1018B000CBFFE97E549FE54BB7FFDD7DC771DD7738 +:1018C0005DD775CD7FD6FFD3F6F93F6D95AF7FFE1F +:1018D000FFEFFBFEFFBFEFFBFEF6C7FFAD7BCAFFCE +:1018E000BFBFEFFDE3DFB7EDFB7EDF37EDE3FBDFEF +:1018F000FF525C15FDCF7FDFFEEFEFFBFEFFBFEC7D +:101900007BFEFFFE3E7FDAF7FDFF7FFFFFFBEFBBB5 +:101910006FFBFEFFBFEFFBFFF77DFFD8FFFDBF7F33 +:10192000FBFFFF9FFBFE7F9FE7F9FE7F9FEA7FF6AD +:10193000BFBD6A5AF6E5BF775F6DDD775DD775DDB0 +:1019400077FFA5BFCFFBFFFFBFCFFBFDFFBFF3FEC0 +:10195000FFBFEFFBFEFFFDABFFBFBFFFFBFF7FEF56 +:10196000FFBEFBEEFBBEEFBBEEFBBFFFB5FFD0BC87 +:10197000FD2F4BF7FFFF9FF9FE7F9FE7F9FE7F9F4B +:10198000FA8FFDABFADABFAFB3FDFFBFFBFEFFBFBF +:10199000EFFBFEF7BFFF9FFF77F7BDFD77DFFF7E11 +:1019A000DFEDBBFEFFBEEFFBFEFFFA3FFFBE6F8F1A +:1019B000E6F9FE7F9FC7FE7F9FE7F9FE7F9FE7FB6B +:1019C0007FFF7FCFFFFDFFFFDFFBAFBFEFFFFEFF1E +:1019D0009FEFFBFFFCFFFBFEFFFFFFFFFEFFFFF79C +:1019E000FFFFFFFFFFFFFFFFFFF5FFFFFF3FDFF7F9 +:1019F000FFFF7FEFFEFFBFFFFBFFFFBFEFFFB37FE8 +:101A0000FF7B5EF7FDFF7B7FF7FF7FDFF7FDFF7F4B +:101A1000DFF7FF17FFFFFF7FFFFFDDF6FCBFCBF215 +:101A2000BCBF2FCBF2FCBFFE8FFFFA7EBFA7EBDA65 +:101A3000FCBFAF7AFEBFAFEAFAFEBFAFF4DFFEFF36 +:101A4000F33C7F3EFFCFF8BF8FE3F8FE3F8FE7E820 +:101A5000FFFC9FFFFFCFEBB3E7FB7BF3FEFFCFDB8A +:101A6000FBFBBF6F6FDFEC7FFFFFF7FDFDFFFFFFAD +:101A7000FFB2BFFFDEFDBDEFFBF6DFEAE7DBFEBB3B +:101A8000FFEBFBBF9F8FE8FE3F8FA3F8FE3F8FFF6A +:101A9000F87EFDFD7FFFFBCDFFFDFF5FEFFDFFFF4C +:101AA000DFF7FDFFBE90FFFFEEFF3FBFF3BBFEB7CA +:101AB000ABFAFEAFADEAFADEABFF63FFFEF2FFB3B7 +:101AC000FFDFEE7DFF03F1F43F1FC3F1EC7FFE6FFC +:101AD000FFFBFBFF9FFFBFFF7B5FFDFFDFF7FDFD10 +:101AE0007F7FDFFECFFBFFFFAFFBFF1FEFA5FDBF3B +:101AF000DFFB7DFFBFDFFBFFFD3BFFFFFFFFFFFDC8 +:101B0000AFF3FFFB7FBFD7FBBF7FBBF7FFF87FFFC4 +:101B1000FA5FD7FFDF7FEFFFFF7FDBF7FDFF7FDFA0 +:101B2000B7FBECFFFFF7BFEFFDFCFBFFEFF0FE3F65 +:101B30008FE3F8FE3F8FEF8DFFFFEF7FBFFFFBFFCF +:101B4000DBBFFFFFFFFFFFFFFFFFFFEFD8FF2E7F91 +:101B5000BEEFFE6EFFBFF9FFFFF3FFFFFFFFFFFFCA +:101B6000FC66BE47F37FDFFE879FFFFFFFFFE7FFB7 +:101B7000FFFFFFFFFFD66F7CFB4FD2FFFD2BFEFF69 +:101B8000FFFD5FD7D5F57DFFFFFFBF9BFFFFDFB7F1 +:101B9000FFFFDFFF3FCFFE7FBFEFFBFCFF3FFFD923 +:101BA000BFFE97EC8FB7FE9B7DFDB7DD771DC7713C +:101BB000DD775DD7F36FFD3F73DDAFFD7AFFFFAFDC +:101BC000FEFDBFEFFBFEFFBFEF667FFFFFBFBFFF66 +:101BD000FBFFF7DFFDFB7DDFB7CDF37C5F3F913F80 +:101BE000FF3DEF7BFFFCFFCAEFFEFFBDEFFB1EE7F3 +:101BF000BBEC7FB3FFFD9FFFFFFEFFFF7FBFFBFE40 +:101C0000FFBFEFFBEEFBBFDF67FFFFBFEFDBFFBCFC +:101C1000FE7FFBFF9FEFF9FE7F9FE7F9FE87FFEE58 +:101C2000FBBEE5BFEFF9D765F7DDE77DDF775DD771 +:101C30007FF89BFEFFBFEFFBFFFFBFEFFBFF7FCFF8 +:101C4000F3FCFFBFEFFFDB3FEFFBFEFFDFFFFEFB21 +:101C5000BBEFBFEFBBEEFBBEEFBBFFFC7FFD3B5B13 +:101C6000D6E5FD4FC3FBFFBFEFFBFEFFBFEFFBFF62 +:101C7000B4FFFABC8FB2E9D22ECFFBFFBFEFFBFE61 +:101C8000FFBFEFFBFFECFFFDFD7FDFF7E4DF5FFF52 +:101C9000FFFBFFFFFFFFFFFFFFFFC3FFEFE6F8FEC5 +:101CA0003F8B83F9FE7FE7F9FE7F9FE7F9FE7F1701 +:101CB000FDFFFFFF7F5FF72CFFFFFFFE7FFFE7F9D0 +:101CC000FE7F9FFE2FFFFFEFFFFEBFEFADFFFF7F09 +:101CD000FFFFFFFFFFFFFFFFFEDFFFDFFFFDFD7FD9 +:101CE000DFF7FFFFFFFFFFFFFFFFFFFFFFFA3FFEF2 +:101CF000F7FDEF7AFFB1BDFF7FF7FDFF7FDFF7FD57 +:101D0000FF7FF327FFDFFFDDFFFC9BFFCBFCBF2F37 +:101D1000CBF2FCBF2FC9FFDEFFDFAFEBDAFEBBAFBC +:101D2000EBF8F7AFE8FAFEBFAFEBF2FFFDFFFFEF16 +:101D3000BDD7BFFFFFDE8FB8DE378DA378DA3F8FC8 +:101D4000FFA1FFFFFBFBFFFFFFFFA7BDFB76FDBF72 +:101D5000EFDBFEBBBFFE277FFFFEFEFDF5FFEFF5CD +:101D6000DF1FE7FDFF7FDFF7FDFFFFCDFDAEFFFAD1 +:101D70003E3FABFDF87E8FE3F8FE3E8FE3F8FFFEBB +:101D80001FEFDFBFFEDEDFD9FFDFBCFFFF7FFFEF0E +:101D9000FD7FDFF7F93FFEFFFF6FFEDEBFF7EDEAE5 +:101DA000FD8F83F8EA3F8FEFFFF47FFFEFEF7BF3C8 +:101DB000F15FFFFFF13B7FDFF7FDFFFFFFFFE0FF7C +:101DC000FFFFF7FF6FFF7FFFFFF7DEF7BFEFFBF7C8 +:101DD000FDFFFFF5FAFFFFFBE7FFF3F87FF3DFFFFF +:101DE000FFFFFFFFFFFF1FEFBBFFFFFFFFFFFFFD39 +:101DF000FF7FFF9FFFFFFFFFFFFFFFCFFF37FFFFCB +:101E00007FDF775DE7FCFFBFF7F5FBFFFFD7F5FB53 +:101E1000FFFF45FD7FEAFDBEBFDFF7FFFFDBFBFEF7 +:101E2000FFBFEFFFFFFFFB5F7FFFFEFFFFFFFFFF37 +:101E3000FFFEFFEFFDFF7FDFFFEFFBF80FF3FFF982 +:101E40002EFBFEFCF3EFFFFFBFFFFBE7FFFE7EFF75 +:101E5000C06BCFFF34DFF1FDFFEFFFFFFFDFF7FDCA +:101E6000CF7F9CFDFD6CF7FFF6FDEB2B9FFFFCFE8B +:101E70007EFFFFFFFFD7F3F7FFFBE1BFFFEB7ADE4B +:101E8000D7FBFFF9FEFFFFF3DE7FFDE77FFFFDBB22 +:101E9000FFFF7ECCF6AF5F7FFEF47DF7FDBB6EDB10 +:101EA000B7FFF7DF66FFFFF73DCFDEBDFFFFDEDBED +:101EB0008DF77EDFB7EF7FFFF687FFFFEFFEDEBF18 +:101EC000FFFFFFBBEFFDFF7BDEF73FFFBFFBDBFF4D +:101ED000F2B6FDBD7FE7FFFFFF6FF7FFFFFFFE7765 +:101EE000FFBFF8AFFFDFBFFFBF7FFBFFFFFFDBFEE2 +:101EF000FFBFFFFAFFFDFFF67FFF9FFFFF3FEFF8F9 +:101F0000EE7E9FBAFEBF8FEFFEFEF9FFFA7FFE7EE8 +:101F1000BFAFFB96FD9FEF5E65BEEF5BB6FFBEE316 +:101F2000FFB5BFFFFDFF7FFFEFDFFEFFBFFBFEFF43 +:101F3000BFCFFFFFFFFD9BFFFEFBFEDFFF7FFFF735 +:101F4000FEFFDFFBFBFEFFFFFFFFFFB7FEFAFFAB6D +:101F5000EFFFFDB57B7FFBF7FDFFFFDDFFEF8FFFA1 +:101F60002FFFFB7CFF3FDF73EBFE3FFFEFFBFEFF2E +:101F7000EFFDFFBFFD0FFFFFFFF5F9FF7FD7FDFF6F +:101F8000DFFFF7FBFF7FBFFFFFF09FFFFE7F8BE3CD +:101F9000F9DE279BE6BE7F9BC3F8DE7F9DE7FE7FD1 +:101FA000FFFF5FD7FFFFFF4FFBFFFF7FFFAFFF9FED +:101FB0007FFBFFE8FFFFFEBFAFFFFFFEBFEFF7FFB6 +:101FC000BFFFFFFFFFFFF7FFFCFFFFFD7FFFFFFFEE +:101FD000FD3FCFFFFFFFFFF7FFFD7FFFFF93FFFFF9 +:101FE0007ADFF7FFFF7B7FB7EFFFFFFDBFFDFBFF52 +:101FF000F7FFD7FFFFFFFC9F6FCBFFF4BBDFD6FDE2 +:10200000BF2FD3F7FFDFFFCFFFFABEBDAF6ADABE47 +:10201000BBAB3ABE2DAEEBDAF63FADF5DDFFCFF14F +:10202000FFF97FFF73FEFFCFC3F4F72FF3FFFCFF31 +:102030007C1FFF3F4FFF7EFFEFBDF6FEFF2BEFDC67 +:10204000FBFDFFFBFFEA7BFFFFFFFFFFFBF7DFFF6F +:10205000E37DFFB7FFBFFFFFDFFFF8FFBFFFBFEB71 +:10206000E7FAFE3DBFE9FCBFFFFAFBFEFFFFFFD929 +:10207000FFFFFFF67FFFF67DFFDFCFFDBFFBEF7EAB +:10208000FF7FFFFFD3FFFDFBFFFBFFFFFFEFFFBF66 +:10209000FEFFF7EFFFFFFFFBFF87FFFDFFFFFFFFE7 +:1020A0007BFEFFFE3BF7F7FF3FFFFFFFFFFF0FFF4A +:1020B000FFFFFFFBFFFFFFF7FFFFADFFFEF7FFFF97 +:1020C0005FFFFFDFFFFDFFF5FFDFFFBDFFE9FFC79C +:1020D000F3FFFFF7FFF3FFF83BFFFF7BDFBFFBEFF3 +:1020E000FBFFFBF7F7BBFFFFFFFFFBFFFE7FF37F6D +:1020F0005EB7BFFD7FFFF97FFBFFEBFD7F7FFFEF4B +:10210000FBE03FFEBFBFDFFF7EFFF7FFFFFEBFFF2D +:10211000DB78FFFFFFEEA1BFF5DEFBF7FFFBFFFF64 +:10212000FFFFFBFFFFD7FFFFFFFFEFF0FFFFFFF316 +:10213000F7FFEFFFE7CFFFFBFFEFFFFF9F9FEFFCF6 +:1021400016BFFEF3E4FFFFC6FFE7FFFFFDFFBFFF83 +:10215000FF3FFFBFD6AF7FFE6B7E7FFFAFFFFFBFAE +:10216000FF5FFFFEFFFFFEFFFFBDDBFFFE5FF2FF35 +:10217000FF5FFFFFFFFFFFFFEF7FFFFFFFFFDEBF00 +:10218000FFFFEFFB77FEBD7F5FFFFFFFDF6FEDFF20 +:10219000FDFF7FFD6FFFFF77DACFFD5FFFBFFFFF22 +:1021A000DF7FFFFBFFFFFFFF667FFFFEBFE7BFFA9A +:1021B000FFFEFFFFFFDFFF59EFFFEFFB7F89FFFF10 +:1021C000E9FF6FFFF5FFFFFFFFFF7FF2F7FFFFEF74 +:1021D000F87FFBFFFDFFFFD9FFEFBBFFFFFFBFEF66 +:1021E000DEFFFF9F7FDFFFF7FFFFFFFFDFFFFFAF98 +:1021F000FFFFF73FEB9FFE7F9E7F9FFE87FFEDDB9C +:1022000056FFBFAF0BD2FFEFDB6E7DBD6FF8FE3F19 +:10221000FA5BFFFDBFEFFFBF6FDBE6FFFF3FFFDFB6 +:10222000FEFFFFFFFFDA3FFFFBFEFEFFFFDFF7BD14 +:10223000FFFDFFFEFFFBFFFFFFFFF15FFD9FDFFDE7 +:10224000FFFD7FFFFFFFFF76FAFFFF7FE3F8FFAEA2 +:10225000FFFB7E9D73FFFA7FDFFFFF7FFFFBCDFF5C +:102260007FEFFBFFFDFFF77F7FEFFFEDFFFFFFB588 +:10227000FFBFFFBFFDEFDBF7FF93FFEFE2F9BE7F8C +:102280008BE7F9FE6BE7F9FE7F9FE7F9FE7F47FFDB +:10229000FFFDFF9FFFD7FFFFFFFFF5FF9FFFF7FE4B +:1022A000FFBFFE6FFFFFFBFFFFFFAFFFFFFF7FFBE7 +:1022B000FFFEFFFFFFFFFFFDDFFFFFF7FFFFFFDF79 +:1022C000FFFFFF5FFFFFFFFF5FFBFEFFF837FFFF32 +:1022D000EFFF7FFEBFFFFFFEBFFFFF7FFFBFFDFFE2 +:1022E0007FFA7FFFFF6FFFFF7DFFCFFFFFFF4FFFF5 +:1022F000F2FFFFFFFFFFFABFFFAEEBFAFEBBADEB55 +:10230000FAF7AF6BFAF6BF25E9F27F45FFFFFDF75D +:10231000F7BFFFDFFFFFBFFBFFDFF3FFF73FCFFF9D +:10232000A1FFFFBFE7FFFF7FFF3DFFFFFFF7FF2F8D +:10233000FFFBF57FFE57FFFFFFFFFFFFFFFFFFF7EC +:102340003FFFFEFFFFFFFDFEF7EEAFFEEEE7FAFFF9 +:10235000FE9DF95EFEFFEBFFFFDFA7FFFFFFFCDB4B +:10236000FFFFFF7EFBFFFFEFFBFDFFDBFFFFFFEF4C +:10237000FFFFFFFDBFFEBFFF6F7FFFF7FFFFF9FF0E +:10238000F7FFBFDEF7FFFFFFFA7FFDBF5FFFFFBF75 +:10239000FFEDFFF7BFFFFFEFFFDFFFFFFFE6FFFBF4 +:1023A0007FFFFFFFFFFFF7FFFFFFFFFFFFFFEBFFD9 +:1023B000FDFFF5FFF67FDFBDCFFFFFFFFFDFFFFF74 +:1023C000FFF9FFFFFFFFFFE3FFEEBFFF7DEFFEFF23 +:1023D000FFFFBFFFFFFFFFFEFFFFFFFFE7FFB5AE01 +:1023E000FFFFB6FEBFFFFFBFFFFFFFFFFFFFFFFFC7 +:1023F000FF27FFEFFE7FDFFF7EFFFFFFFFFFFFFFF7 +:10240000FFFFFDFFF7F99FFF5FFFFFFFFFFFFF7F6C +:10241000FFFFFEFFFFFFFFFFFFFFFF0FFFE7BFFE16 +:10242000FFBFFFFFFFFFFCBFFFFFFEFFFFFFFFC47B +:102430006BFF291FFBAFFFFFFFFFFFEF1BFEFFFC42 +:102440006FFFFFFD6AF7D7F5BFFFFEFFFFFFFFFF3E +:10245000FEBFFFFFFAFFFFF7FBDDBFFFE7FFFFFF58 +:10246000FFFFFFFFFFFD7FFFFFF5FFFFF7FDB3EF6E +:10247000FD7E5DFFFDFFFFFFFD7FD2F5FB7ECBB74D +:10248000FFFFFFC6FFFDEE63FFFFFFFFFFF6FD65E9 +:102490005BDFFFD5FFFFFFF6E7BFF7A9FFFFEDFF0B +:1024A000FFFFFFFFEBFFFFFFAFFFFFFFF81BFFE3A7 +:1024B000D0BFFFE1FFFFFFFFFFD7FFFFFF5FFFFF81 +:1024C000FFFFAFFFDB76BFFF7FFFBFEFFEFFBFEF7A +:1024D000FBFEFFFFFFBFF27FFF9FFEBDFE7FFFFF02 +:1024E000FFFFFFFFFFFFFFFFFFF73FEC7FF695BB0E +:1024F000EFF8FEFCBF2FDAFCBF2FCBF2FCBFEFFFE3 +:10250000A9BFCFFBFFFFFFFEDDB76DF6D9B66D9B10 +:1025100076D9BFFBFDA3FFBFEFFFEFFFFFFF7FDF1C +:10252000FDEF7BDEF7FDEF7FFFFF05FFFAFE7FEF9C +:10253000E3FFFFFD7FFFFFFFFF5FFFFFFD7FFBAFBF +:10254000FF63C8FFBFEFFFFFFA7FFFFFFFFE9FF7AC +:10255000FFFABFFE9FFB7FFFFFEFD7FFFFF5FFFFF7 +:10256000FFFFFD7FFFFFBFFFF9BFFFBE279FE7F91A +:10257000FE7F8BE7FE7F9FE2F9FE7F9FE7F17FFF03 +:10258000FFFFFBFEFFFFFFD7FFFFFFFFF5FFFFFF92 +:10259000D7FFFAFFFEFFFFFFFDFFFFFFAFF7FFFFD3 +:1025A000FFEBFFFFFFAFFFC4FFF7FFFFEFFFFFFFF2 +:1025B000FF5FFFFFFFFFD7FFFFFFFFFFEBFFFB7A90 +:1025C000DFF7FDFFFFFEBFFFFF7FFFAFFFFFFFF75E +:1025D000EFE3FFDDD2FFDFFFFFF2FCBFCBF6FDBF75 +:1025E0002FCBFF7FDFDEAFFFDAEEBFAFE9FAF4BD3E +:1025F000AF5AAEBBAB6BDADEBFADD75EFFFFBFFC41 +:10260000FFDFFDFFFFFFFFDFF7FFFFFFFFFDFFFA2B +:102610001FFFFEFBEFBFFDFFFDBD77FFFFFFFF9D2F +:10262000EFFFFFFFEF7DFFFBFEEFFFFFFFFFFFF779 +:10263000FFFFFFFFFFFFFFEEBFE4FBFFFE3FFEFFDC +:10264000FFFFFFAFEAFEBFAFEBFAFEFFFFFF55F65D +:10265000FFFEF7FF7FFFEBF75FC5FD7F5FD7F5FF5D +:102660006FFBFF8AFFFFFFFFEBFFFFFFFFFBBFBF1B +:10267000EFFBFFFFFFFFFBFF77DFFBFFFD7FEFFFC0 +:10268000FFFFBF7FFFDFBFFFFBFFFFFFFEEFDFFFAF +:10269000FEFF9FEF7DFFF7FF7FFFFFDFF7FDFFEFFF +:1026A000DFFFDFFFFFFFFFFFFFFFFFFFFDFFFFFB80 +:1026B000FDFFBFDFD1FFF83BFFFFFFFFFFFFFFFF85 +:1026C0007EDBFDFF77DBB77DBFFBFFF87FED7B5E39 +:1026D000FFFEFFFF4FD7FD7FDFD7F5FF7FFFFFFF37 +:1026E000F23FFEFFBFFFFFFFFFBFEFFEFF3BEEFF2E +:1026F000FCEFFFFFFF85FFFDFEFFF5FFFFFEFFDFA5 +:10270000FBFF5FBFFFFDFFFFFFFFA8FFFF9F9EFFD7 +:10271000FFFF7FF3FFFFCFFFF7FDFF7FFFFFFC16FB +:10272000BFCFA3E5EF7FFFF3E4FFCF93FCFF3FCFE5 +:10273000FFFFFFD60F7DBF6EFBF4FCAF6DDB77B7FD +:102740006DDBF6FDBFFFFFFFBF9BFADEB7B7EDF90C +:102750007EB7ACEBD6B3ADEB7ADFFFFFFFD8BFFFA0 +:10276000B7ED9F6FDDF768DB37B36CDB36CDB37F3A +:10277000FF7FF56FFDEF793DF793E47A9EADEA7A3E +:102780009EF7BDEFFFFFFF767FFBC6FFBBEFDAFED4 +:10279000FDBFFBFEFFBFEFFBFFFFFBFFA5FFFDAB98 +:1027A0006F78DE178F79DFFDFF7FDFF7FDFFFFFB1F +:1027B000FFFBFFEFFBEFFBFEFFBBDAF3EF3BCEF3DC +:1027C000BCEF3FCFDFFFB7FFFFFFCF73FFBFEFFFD0 +:1027D000F3FF3FCFF3FCFF3DCF9FFE07FFAFEBFEC4 +:1027E000FDBFEFEBFAFFAFEBFAFEBFAFFBFE3FFB27 +:1027F0009BFF7FDFFFF3FEFFDEF7BF7BDEF7BDEF62 +:102800007BFEFFFFDF3FFEFFB7FFEFF7FFBFEDFEF1 +:10281000DFB7EDFB7EDFFFFFFFFD5FEFEBFAFEF5BD +:10282000BF6FFFFFFFFFFFFFFFFFFFFEF8FFA8FFE7 +:10283000FFBFEFFB6AFBB7EFFBFFBFEFFBFEFFBF86 +:10284000EFFBFFE0FFFFFD7F5CD77DDFF35CF5CDA5 +:10285000735ED7B5FD7FEFFFDBFFFFE2F8BE2F8F82 +:10286000E7F8BE6BE2F8BE2F8BE2F9FE7FE7FFD7F9 +:10287000F5FD7FFFF7F5FD7FD7F5FD7F5FD7F5FF0E +:10288000FFFF8FFFAFEBFAFFFFBFEBFAFF2FEBFA73 +:10289000FEBFAFEBFFFFFE5FFF5FFFFFFDFFFFD758 +:1028A000FFFFFFFFFFFFFFFFFFFFFFFFBFFEB7FDC3 +:1028B000FF7EDFF7ADFF7FF7FDFF7FDFF7FDFF7FD7 +:1028C000F67FFFFFFFDBF6FCAFFFFFFFFFF7FFFF29 +:1028D000FFFFFFFFFFECBFFFAFEBFAF6AB8FEBFAAA +:1028E000F7A5EBFABEBFAFEBFAFF6DFFFF7FDF335B +:1028F000DDFF7FFEF7FC7FFBFFFFFFFFFFFFFFA970 +:10290000FFFDFFFFFEFFFFDFFFFFEFEFFDFF7FFF9C +:10291000FFFFFFFEA7FFFFFF77DFF7FD9F7FFE773B +:10292000EFFFFFFFFFFFFFFFFFAFBFAFFFF9BEBF2E +:102930008FFBFEFEEFFBFEFFBFEFFBFFFFFDDF6F38 +:10294000EFFF7FFFBFBFDFFFFCFFDFF7FDEF7FDFA4 +:10295000FFFFFF3FF6FFCFFFDBFBF7FFEB7AFFFF49 +:10296000FFBFEFFBFFFFFFFE6DFDFF5FFBFFFFF70C +:10297000FF5FF5FFFFFFFFFFFFFFFFFFF8FFFBFF1C +:10298000FFFDFFFFFFFFE7F6BFFFFFFFFFFBFFFFBE +:10299000FFC9FFFFFFBDFFBFAFEFEF3FD1FC7FFBE4 +:1029A000C7FFFFFFFFFFE3FFFFFFFFFDFFFF77FF15 +:1029B000DFB7FDF7FDF7FFFFFFFFFF57FFF7A5FDAF +:1029C0003FDFBFBFFE7FFFFFFFDFFAFDFFFFFFFE20 +:1029D00087FFE9FFFEEFBFEFFEFEFFEFFFFFFFFF08 +:1029E000FFFFFFFFFA9FFF3FFFFDFD57DFFDF3FFF6 +:1029F000DFFDFF5FDFF5FDFFFFF98FFFFFFFEE7FDC +:102A0000FFFFBF5EFEECFB3F7F9FEFF9FFFFCD6B4B +:102A1000FFFFFFC5F3FCFA38FFAF3FEE7F9FFFD902 +:102A2000FFFFFD7AF7FFF3FFAF6FDBF2B9E9FBFFC2 +:102A3000FFFFFEFFFFEFFFFBC5BFFFEFFF5EB7AD80 +:102A4000CD797CFFFFFFFFFFFFFFFFFFFD93FFEF4F +:102A5000EAFEBFEF5BD2CDF56D77DFF7FDFF7FDFDD +:102A6000FFFF66FFD5657D5F759D657FD6FB4FFFD8 +:102A7000FFFFFFFFFFFFF6C7FFBFEFFAFEFFBFEB51 +:102A8000FFDFFF7EFFFFEFFD7ED7FF78DFFF5FDF19 +:102A9000F5BF7FDFC5FF3FF67EFF0FEFF23EBFFFC2 +:102AA000FB3FFFFB7FFFB3FEFBF6FDFFDAF7FDFF09 +:102AB0007FDFF7BFFFFA7FFFFFFFFF9FFFF3DCF928 +:102AC000BFCEE7F9FE7F9FE7FFFFE27FFEFFBFEF8C +:102AD000EBFAFF9F671EFF8FE7F8FE7F8FEFFFBDCA +:102AE000BFFFFBFFFFDFF7FFFCFFBFFFFFFFFFFFA5 +:102AF000FFFFFFFDB3FFFFEFFFFFBFEDFFFBEEFEAC +:102B0000FFFFEFFFFEFFFFFFFFB5FFB7FDFD6EFF0D +:102B1000FFFEFD2FD8FEBF8FEBF9FE3FFFFACFFF80 +:102B2000E7D9FABFDF77FCFB3FABFEFFBFEFFBFE51 +:102B3000FFFFEE1FFFDFF7FFFFFF5F9735BF5EFE72 +:102B4000BFEFFFF7FDFFFFFABFFFBE6F9FE7F8BEC5 +:102B50002F8B66947D9DE7F9FE7F9FE7F17FFFFF56 +:102B6000FFF7F5FD7F5FFBFD9EFFFBFEFFFFEFFF25 +:102B7000FFA0FFFFFFBFEFEBFAFEBFB7F7F7FFFFC6 +:102B8000FDFFFFFFFFFFDDFFFDFFFFFFD7FFFFFFA3 +:102B90007FF5FFFFEFFFFFFFBFFFFFABFEFBFEFF79 +:102BA000F7AFFFFFDEF7EB5FDFF7FDFF7FDFFFFF34 +:102BB000B3FFC9FEFFFFFFFFD6FFFFCBFFFFDFFF25 +:102BC000FFFFFFFFFC8FFFBABEBFAFEB78FEB7ADD4 +:102BD0003AFEB7AFEB7AFEBFAFFF9FFFFFDFFCFF10 +:102BE000FFFEC3FEFFFF33FCFFBFDFF3FFFFBB9F12 +:102BF000FFFFFFEBDFFFFFAFF76FF9BFEFFDFFFF59 +:102C0000FFFFFFE37FFFFFFFFBFFFFBFFDFBF7FFC2 +:102C1000DFF7FFFEEF5FBDFFFAFFF8FFBFAFFBFE80 +:102C2000FE3FEFE8FFDFF3FDFFFFFFFFFFEDFFFBE0 +:102C3000FDFFAFFFFFFEFEBFDBFFFFFFBFFFDFFFBC +:102C4000FDFFCBFFFFFFFFFFBF6FFF7FB7B3FFFFAE +:102C5000DFFFFBEFFFFFFF07FFFBFFFFFFEDFFF5D0 +:102C60007CFF7FFEFFFFEFCFFFFBFFFF2FFFFFFF8C +:102C7000FFF3FFFBFFFEFFFFFFFFFFFFBFFFFFFFB5 +:102C8000FD1BFFFFFFFFFFFFFFFFFE7CFFFFFFFFBE +:102C9000EFFFFFFFFFFBBF7FFDFFFFFFFFFFFFFF1A +:102CA000DBFFFFFFFFFFFFFDFFFFF07FFFFFFFFFE9 +:102CB000FFFFFFFFFFFBFFDFFFFFFFFFFFFDBFFE8B +:102CC0007FFFFFFFFFFFFFFFFFEFFEFFBFFFFFFFE5 +:102CD000FFFFEFFAB5FFFFFFF7F7FFFFFFFFDFFB97 +:102CE000FCFFFFFEFF7FDFBFFFCBBFF9FE7F9FE74B +:102CF000F9FE7F97E1FE799FE7FDFE7FDFFE37FF5C +:102D0000FBDEDEBDEFF3FEFBAFEBFEFFFFCFFFFE12 +:102D1000FFBFFF8FFFEFFBFEFFBFE7F95E7FEFFB1B +:102D2000DAFFBFEFFBFEFFFD1FFFFFFFFFFFFFDF2F +:102D3000FFFF7FFFFFF7FB7FFFFFFFFFFC3FFFBFB2 +:102D4000EFFBFEFFBFEF7B7FBFEFFBFEFFB5EFFBAF +:102D5000BFFA7FFCFF3FCFF3FCFF3FCFBCFF3FEF4D +:102D6000F3FCFE3FCFFFEEEFFBFEFFBFEFFB6AD7AA +:102D7000B7FBF8FFB7EFBAFEFFBF7FE9FFF97E5F51 +:102D800097E5F9FE7FBFF97E5F9FE5FBFE5FB7FF2A +:102D9000A3FFF7FDFF7FDFF7FDFF5EF77DFF77DF26 +:102DA000F7FDFF7FFFD7FFFFFFFFFFFFFDDFFB7F8B +:102DB000FFFFEFFFFEFBFFFFBFFE8FFFDFF7FDFD15 +:102DC0007FDFF7FD3EDFF5BDFF7FDFF7FDF7FF9FFC +:102DD000FFFFFFFFFFFFFFFFFFFDFFBEFFFFFFFF46 +:102DE000FFFFFFFD3FFFDFF7FDFF7FDFF7FDFFCFB9 +:102DF00077FCFF5FDFF7FDFFF47FFFFFFFFFFFFFC3 +:102E0000FFFFFFFFFFFFFFFFFFFDFFFFFFEEFFFFE5 +:102E1000FFFFFFFFFFFFFFFFEDFBFFFFBFFFFFFF18 +:102E2000FFFFE9FFFFFFFFFFFFFBFFFFFFD3FFFFF8 +:102E3000BF3FFBFFFFFFFBF3FFFFFFFFFFFFFFFFB6 +:102E4000FFFFFFFFFFFEFFF7FFFFFFFF17FFFFFF83 +:102E5000DFFFFDFFFFFFFFFFDFDFFFFDFFFFDFF70E +:102E6000FF4FFFFFFFFFFFFFFFFFFFFEFFFFFFFD25 +:102E7000FFFFFFFFFEFF9FFFFFFFFFFFFFFFFFFFC3 +:102E8000FDFFFFFFFFFF7FFFFFFF7A3FFFFFFFFF19 +:102E9000FFFFFF7FFFFFFFFFFFFFFFFFFFFFFFF2CF +:102EA0007FFFFBFEFFBFEFF8FEFFBFFBFEFF8FECD7 +:102EB000FBFEFFBFF8F7FEFFBFEFFBFEFDBFCFEC51 +:102EC000FF3FEFDBF8FFBFCFFFF9FFFFBFFFFBFFC7 +:102ED000FFFFEFFBDFFFFFFFFFFFBFFFFFFFBBFFBA +:102EE000EFFBFEEFBFEEEBFBFEFFEFFEEEBFFEEBF8 +:102EF000FFEFFF17FF7EEBBBFEBFBEFBEF5BF7BD37 +:0A2F0000FBCFBFBFBBFB7ECCEFFF91 +:00000001FF + + * Copyright (C) 1999 BayCom GmbH + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that redistributions of source + * code retain the above copyright notice and this comment without + * modification. diff --git a/firmware/dabusb/firmware.HEX b/firmware/dabusb/firmware.HEX new file mode 100644 index 0000000..7c258df --- /dev/null +++ b/firmware/dabusb/firmware.HEX @@ -0,0 +1,649 @@ +:02000000215786 +:0300030002016691 +:03000B0002016689 +:0300130002016681 +:03001B0002016679 +:0300230002016671 +:03002B0002016669 +:0300330002030FB6 +:03003B0002016659 +:03004300020100B7 +:03004B0002016649 +:0300530002016641 +:03005B000204BDDF +:0300630002016730 +:03010000020C5A94 +:030104000201ED08 +:030108000202519F +:03010C0002027C70 +:030110000202E404 +:0101140032B8 +:0101180032B4 +:03011C000205FDDC +:03012000020000DA +:03012400020000D6 +:0301280002043C92 +:03012C0002046A60 +:03013000020000CA +:03013400020000C6 +:03013800020000C2 +:03013C00020000BE +:03014000020000BA +:03014400020000B6 +:03014800020000B2 +:03014C00020000AE +:03015000020000AA +:03015400020000A6 +:0A01570075817FE5826003020161FB +:0501610012076F21648C +:010166003266 +:0E016700C0D0C086C082C083C0E0907F97E009 +:0E0175004480F0907F69F0F0F0F0F0F0F0F0D0 +:0E018300F0F0F0F0F0F0F0F0F0F0F0F0F0F04E +:0E019100F0F0F0F0F0F0F0F0F0F0907F97E07A +:03019F00557FF099 +:0E01A200907F9AE030E423907F68F0F0F0F058 +:0E01B000F0F0F0F0F0F0F0F0F0F0F0F0F0F021 +:0E01BE00F0F0F0F0F0F0F0F0F0F0F0F0F0F013 +:0E01CC00E5D8C2E3F5D8D0E0D083D082D0864B +:0301DA00D0D03250 +:0801DD0075860090FFC37C054C +:0701E500A3E582458370F9D8 +:0101EC0022F0 +:0E01ED00C0E0C0F0C082C083C002C003C0D01A +:0E01FB0075D000C086758600E591C2E4F591CE +:0D020900908800E0F541907FAB7402F0900A +:090216007FAB7402F0E5326021B7 +:04021F007A007B00E6 +:0B022300C3EA9418EB64809480501232 +:0E022E00907F69F0F0F0F0F0F0F0F00ABA0006 +:02023C00010BB4 +:02023E0080E35B +:02024000D08666 +:0E024200D0D0D003D002D083D082D0F0D0E054 +:01025000327B +:0E025100C0E0C0F0C082C083C0D075D000C035 +:0E025F0086758600E591C2E4F591907FAB7440 +:04026D0004F0D08643 +:0B027100D0D0D083D082D0F0D0E0329B +:0E027C00C0E0C0F0C082C083C002C003C00456 +:0E028A00C005C006C007C000C001C0D075D0BE +:0D02980000C086758600E591C2E4F59190E6 +:0C02A5007FAB7408F0756E00756F0212DC +:0602B1001144757039755F +:0602B700710C75720212C9 +:0C02BD001175907FD6E4F075D820D08633 +:0E02C900D0D0D001D000D007D006D005D00490 +:0D02D700D003D002D083D082D0F0D0E0322E +:0E02E400C0E0C0F0C082C083C0D075D000C0A2 +:0E02F20086758600E591C2E4F591907FAB74AD +:0403000010F0D086A3 +:0B030400D0D0D083D082D0F0D0E03207 +:0E030F00C0E0C0F0C082C083C002C003C004C2 +:0E031D00C005C006C007C000C001C0D075D02A +:0C032B0000C086758600756E00756F02BC +:0703370012114475704075BE +:06033E00710C7572021241 +:0E0344001175907FD67402F0907FD67406F08B +:0503520075D810D086F3 +:0E035700D0D0D001D000D007D006D005D00401 +:0D036500D003D002D083D082D0F0D0E0329F +:0D037200907FA57480F0907FA6749AF01221 +:0C037F00101B907FA6E542F012101B90AE +:0D038B007FA6E543F012101B907FA5744083 +:01039800F074 +:010399002241 +:0D039A00907FA57480F0907FA6749AF012F9 +:0C03A700101B907FA6E544F012101B9084 +:0C03B3007FA6E545F012101B907FA6E528 +:0B03BF0046F012101B907FA57440F068 +:0103CA002210 +:0A03CB0075440275450075460012E6 +:0903D500039A75420375430012FE +:0203DE000372A8 +:0103E00022FA +:0C03E100908800E536F09088007410252C +:0903ED0036F01201DD75420175C4 +:0903F600431812037275440275EC +:0903FF00450075460012039A75D1 +:08040800420375434412037224 +:0104100022C9 +:0E041100C0E0C0F0C082C083C0D075D000C073 +:0E041F0086758600E591C2E4F591907FAA747F +:04042D0002F0D08683 +:0B043100D0D0D083D082D0F0D0E032D9 +:0E043C00C0E0C0F0C082C083C0D075D000C048 +:0E044A0086758600E591C2E4F591907FA97455 +:0704580004F0753001D086AD +:0B045F00D0D0D083D082D0F0D0E032AB +:0E046A00C0E0C0F0C082C083C0D075D000C01A +:0E04780086758600E591C2E4F591907FAA7426 +:0704860004F0753101D0867E +:0B048D00D0D0D083D082D0F0D0E0327D +:0E049800C0E0C0F0C082C083C0D075D000C0EC +:0C04A60086758600E591C2E5F591D086D0 +:0B04B200D0D0D083D082D0F0D0E03258 +:0E04BD00C0E0C0F0C082C083C0D075D000C0C7 +:0C04CB0086758600E591C2E7F591D086A9 +:0B04D700D0D0D083D082D0F0D0E03233 +:0C04E200907FEAE0FA8A20907F96E4F018 +:0104EE0022EB +:0704EF00907FEAE0FA8A2188 +:0104F60022E3 +:0E04F700901713E0FA901715E0FB74802AFAB4 +:0E05050074802BFBEA0303543FFCEAC423542A +:0E0513001FFA2CFAEB0303543FFCEBC42354F5 +:0B0521001FFB2CFB90170AE0FC60029F +:02052C007A0053 +:07052E0090170CE0FC6002D5 +:020535007B0049 +:0B053700EA2BFCC313F53A7544028B5D +:07054200458A4612039A7579 +:090549006E08756F001211447573 +:040552007047757108 +:080556000C757202121175858B +:05055E003A731211A028 +:010563002275 +:0E056400907F96E0FA907F9674806502F0908A +:0E0572007FEBE0FA907FEAE0FB907FEFE0FC89 +:0E0580003395E0FD8C057C00907FEEE0FE33AD +:0E058E0095E0FFEC2EFCED3FFD907FE9E0FED6 +:05059C00BE0102800316 +:0305A1000205F957 +:0605A400BC0121BD001E98 +:0E05AA00EAC40354F8FCEB25E0FD2C2400FC11 +:0E05B800E43417FD907EC0E0FE8C828D83F04F +:0205C600803182 +:0E05C800EAC40354F8FAEB25E0FB2AFA2400FB +:0E05D600FBE43417FC907EC0E0FD8B828C832A +:0E05E400F074012A2400FAE43417FB907EC163 +:0705F200E0FC8A828B83F01C +:0305F90075380151 +:0105FC0022DC +:0E05FD00C0E0C0F0C082C083C002C003C004D2 +:0E060B00C005C006C007C000C001C0D075D039 +:0D06190000C086758600E591C2E4F5919061 +:0D0626007FAA7401F0120564753700D086BC +:0E063300D0D0D001D000D007D006D005D00422 +:0D064100D003D002D083D082D0F0D0E032C0 +:0E064E00907FEBE0FA907FEAE0FB907FEEE019 +:0E065C00FC3395E0FD907F96E0FE907F967453 +:0E066A00806506F0907F007401F0EAC403542E +:0E067800F8FEEB25E0FB2EFE2400FBE4341719 +:0E068600FF8B828F83E0FB74012E2400FEE4C4 +:0E0694003417FF8E828F83E0FE907FE9E0FF37 +:0306A200BF810A0B +:0A06A500907F00EBF0907F01EEF073 +:0806AF00907FE9E0FBBB821A19 +:0306B700BA010C79 +:0C06BA00907F00E4F0907F01E4F0800BE2 +:0B06C600907F00E4F0907F0174B5F01D +:0806D100907FE9E0FBBB831BF5 +:0306D900BA010D56 +:0D06DC00907F007401F0907F01E4F0800B2E +:0B06E900907F00E4F0907F017412F09D +:0806F400907FE9E0FBBB841CD0 +:0306FC00BA010D33 +:0D06FF00907F007401F0907F01E4F0800C0A +:0C070C00907F007480F0907F017401F079 +:05071800907FB5ECF03C +:01071D0022B9 +:0C071E0075360D908800741DF0756B801E +:0A072A00756C3C1210E2756B8075CF +:090734006C0F1210E2756B807568 +:09073D006C061210E2756B807568 +:070746006C011210E27A00C1 +:03074D00BAFF00F0 +:02075000500A4D +:0A075200C0021201DDD0020A80F19E +:0A075C00756B80756C3C1210E2759D +:080766006B80756C0F1210E2AC +:01076E002268 +:0E076F00907FA1E4F0907FAF7401F0907F9234 +:0E077D007402F0758E3175892175880075C87B +:0E078B0000758D4075984075C04075870075EB +:0907990020007521007522007595 +:0507A200230075470073 +:0707A700C3E5479420501147 +:0D07AE00E5472400F582E43417F583E4F0FC +:0407BB00054780E886 +:0907BF00E4F540F53FE4F53CF5DA +:0707C8003BE4F53EF53D7531 +:0B07CF003200753700753900907F93F1 +:0E07DA00743CF0907F9C74FFF0907F967480CA +:0E07E800F0907F947470F0907F9D748FF0906D +:0E07F6007F97E4F0907F9574C2F0907F987426 +:0E08040028F0907F9E7428F0907FF0E4F09032 +:0E0812007FF1E4F0907FF2E4F0907FF3E4F0E9 +:0E082000907FF4E4F0907FF5E4F0907FF6E432 +:0E082E00F0907FF7E4F0907FF8E4F0907FF90F +:0E083C007438F0907FFA74A0F0907FFB74A0E7 +:0E084A00F0907FFC74A0F0907FFD74A0F09001 +:0E0858007FFE74A0F0907FFF74A0F0907FE010 +:0E0866007403F0907FE17401F0907FDD7480E8 +:0B087400F012124312071E7A007B00F6 +:09087F00C3EA941EEB940050172B +:0C088800908800E0F54790880BE0F547F1 +:09089400907F68F00ABA00010B24 +:02089D0080E0F9 +:0C089F001203E1907FD6E4F07A007B00A9 +:0D08AB008A048B05C3EA94E0EB942E501AEA +:0E08B800C002C003C004C0051201DDD005D08F +:0A08C60004D003D0020ABA00010BAF +:0208D00080D9CD +:0D08D200907FD67402F0907FD67406F090EF +:0E08DF007FDE7405F0907FDF7405F0907FAC33 +:0E08ED00E4F0907FAD7405F075A88075F810EA +:0D08FB00907FAE740BF0907FE27488F09057 +:0C0908007FAB7408F075E81175320175C2 +:0C0914003100753000C004C0051204F76B +:0A092000D005D004753400753501D0 +:0D092A00907FAE7403F08C02BA00028003CF +:03093700020A3F72 +:0C093A00853334907F9D748FF0907F9780 +:0E0946007408F0907F9D7488F0907F9AE0FA1C +:0C09540074055AF533907F9D748FF0906D +:0D0960007F977402F0907F9D7482F0E53364 +:0D096D0025E0FA907F9AE05405FB4AF5332F +:02097A00600C0F +:0C097C00907F96E0FA907F9674804AF01D +:0B098800756E00756F00C004C0051202 +:0E0993001144D005D004901713E0FA74802AA6 +:0609A100FAE533B404295D +:0309A700BAA000F3 +:0209AA005024D7 +:0D09AC00901713E004FB0B901713EBF09075 +:0E09B9001713E0FB901715F0C002C004C00534 +:0909C7001204F7D005D004D0029F +:0509D000E533B402262E +:0609D500C374049A5020D7 +:0D09DB00901713E0FA1A1A901713EAF09023 +:0D09E8001713E0FA901715F0C004C00512B7 +:0609F50004F7D005D00458 +:0509FB00E533B4081D06 +:040A0000E534701950 +:0A0A040074012535540FF5358535D2 +:0C0A0E0075757600C004C0051213FED000 +:030A1A0005D00400 +:050A1D00E533B4011DEA +:040A2200E53470192E +:0A0A2600E53524FF540FF535853542 +:0C0A300075757600C004C0051213FED0DE +:030A3C0005D004DE +:0E0A3F00C004C0051201DDD005D004907F96E2 +:0E0A4D00E0FA907F96747F5AF0907F977408BD +:0A0A5B00F0C3EC9400ED9402400893 +:080A6500907F96E0FA20E608FC +:080A6D00C3E49C74089D5013C2 +:0E0A7500907F96E0FA907F9674406502F07CC8 +:050A8300007D0080056C +:050A88000CBC00010D93 +:050A8D00E538B4010E84 +:0D0A9200C004C0051204F7D005D00475386B +:010A9F000056 +:070AA000E531700302092A91 +:0A0AA700907FC9E0FA7003020C2DE5 +:0E0AB100907F96E0FA907F9674806502F09038 +:090ABF007DC0E0FABA2C028003AC +:030AC800020B36E8 +:050ACB007532007B0004 +:030AD000BB640004 +:020AD300501CB5 +:0E0AD500C002C003C004C0051201DDD005D070 +:0D0AE30004D003D00290880FE0F5470B808F +:010AF000DF26 +:0D0AF100C002C004C00512071E1203E1126E +:0C0AFE0004F7D005D004D002756E00751E +:0D0B0A006F01C002C004C005121144D005E7 +:090B1700D004D00275704D757117 +:0B0B20000C757202C002C004C0051278 +:0B0B2B001175D005D004D002020C2D83 +:030B3600BA2A3B9D +:0D0B3900907F987420F0C002C004C0051227 +:0E0B460001DDD005D004D002907F987428F015 +:020B54007B0024 +:030B5600BB0A00D7 +:050B59004003020C2D19 +:0E0B5E00C002C003C004C0051201DDD005D0E6 +:080B6C0004D003D0020B80E26B +:030B7400BA2B1A7F +:080B7700907FC9E0FBBB4012B6 +:0E0B7F00C002C004C005121205D005D004D07B +:040B8D0002020C2D27 +:030B9100BA101F78 +:0E0B9400907F96E0FB907F9674806503F0C022 +:0E0BA20002C004C00512103DD005D004D002E0 +:030BB000020C2D07 +:030BB300BA111262 +:0E0BB600C002C004C00512106AD005D004D0E1 +:040BC40002020C2DF0 +:030BC800BA12124C +:0E0BCB00C002C004C00512108FD005D004D0A7 +:040BD90002020C2DDB +:030BDD00BA130B3D +:0B0BE000907DC1E0FB908800F0804297 +:030BEB00BA141128 +:0E0BEE00C002C004C0051211DDD005D004D035 +:030BFC0002802E46 +:030BFF00BA151D07 +:0C0C0200907DC1E0F575907DC2E0F576B4 +:0E0C0E00C002C004C0051213FED005D004D0F1 +:030C1C0002800E45 +:030C1F00BA160BF7 +:0B0C2200C004C0051213A3D005D004CD +:0B0C2D00907FC9E4F075310002092A35 +:010C38002299 +:070C3900535550454E4400E5 +:070C4000524553554D4500DC +:060C470020566F6C200036 +:0D0C4D004441425553422076312E30300094 +:0E0C5A00C0E0C0F0C082C083C002C003C0046E +:0E0C6800C005C006C007C000C001C0D075D0D6 +:0D0C760000C086758600E591C2E4F59190FE +:0E0C83007FAB7401F0907FE8E0FA907FE9E02B +:060C9100FBBB0002800322 +:030C9700020D3813 +:030C9A00BA801409 +:0E0C9D00907F007401F0907F01E4F0907FB52D +:060CAB007402F0020ECD00 +:050CB100BA820280037D +:030CB600020D1D0F +:080CB900907FECE0FCBC01009F +:020CC1004021D0 +:060CC300C374079C401BF6 +:0E0CC900EC24FF25E0FD24C6F582E4347FF51F +:0D0CD70083E0FD530501907F00EDF0802BC0 +:030CE400BC8100D0 +:020CE7004021AA +:060CE900C374879C401B50 +:0E0CEF00EC247F25E0FC24B6F582E4347FF58A +:0D0CFD0083E0FC530401907F00ECF08005C3 +:050D0A00907F00E4F001 +:0E0D0F00907F01E4F0907FB57402F0020ECDEB +:050D1D00BA8102800311 +:030D2200020EC5F9 +:0E0D2500907F00E4F0907F01E4F0907FB574C1 +:050D330002F0020ECDEC +:030D3800BB012DCF +:060D3B00BA0003020ECD18 +:030D4100BA0211E2 +:0D0D4400755900C002C003120EF0D003D09C +:040D510002020ECDBF +:050D5500BA2102800339 +:030D5A00020ECDB9 +:0B0D5D00753701907FC5E4F0020ECD59 +:030D6800BB031FAB +:060D6B00BA0003020ECDE8 +:050D7100BA020280033C +:030D7600020ECD9D +:0D0D7900755901C002C003120EF0D003D066 +:040D860002020ECD8A +:030D8A00BB065451 +:050D8D00BA80028003A2 +:030D9200020EC589 +:080D9500907FEBE0FCBC0115AE +:0C0D9D007CFB7D0F8D067F00907FD4EE64 +:090DA900F0907FD5ECF0020ECDB4 +:0A0DB200907FEBE0FCBC020280031E +:030DBC00020EC55F +:0A0DBF00907FEAE0FCBC0002800314 +:030DC900020EC552 +:0C0DCC007C3B7D0F8D067F00907FD4EEF5 +:090DD800F0907FD5ECF0020ECD85 +:060DE100BB0703020EC572 +:030DE700BB081036 +:0D0DEA00AC48907F00ECF0907FB57401F0F4 +:030DF700020ECD1C +:030DFA00BB093101 +:050DFD00BA00028003B2 +:030E0200020EC518 +:0E0E0500907FEAE0FCC374019C5003020EC50E +:080E1300907FEAE0FCBC000A3C +:0A0E1B00901721E4F0901722E4F094 +:090E2500907FEAE0F548020ECDD1 +:030E2E00BB0A27D5 +:050E3100BA81028003FC +:030E3600020EC5E4 +:0E0E3900907FECE0FA2420FAE43417FC8A8261 +:0E0E47008C83E0FA907F00F0907FB57401F08C +:030E5500020ECDBD +:050E5800BB0B0280034A +:030E5D00020EA9D9 +:0D0E6000901720E4F0907FECE0FABA011A40 +:080E6D00907FEDE0FABA0012DB +:0E0E7500907FEAE0FA901721F0C0031204E229 +:040E8300D0038046D2 +:080E8700907FECE0FABA023E94 +:080E8F00907FEDE0FABA003695 +:0D0E9700C0031204EFD003907FEAE0FA9050 +:050EA4001722F080247C +:050EA900BB12028017DE +:050EAE00BB8102800D74 +:050EB300BB8302800872 +:050EB800BB8202800373 +:030EBD00BB8405EE +:050EC00012064E80083F +:080EC500907FB47403F0800675 +:060ECD00907FB47402F0F6 +:020ED300D086C7 +:0E0ED500D0D0D001D000D007D006D005D00478 +:0D0EE300D003D002D083D082D0F0D0E03216 +:0B0EF000907FECE0F55AC39401401D18 +:070EFB00C37407955A40166D +:0D0F0200E55A24FF25E0FA24C6F582E43408 +:090F0F007FF583AA59EAF0802263 +:070F1800C3E55A9481401B60 +:070F1F00C37487955A4014CA +:0D0F2600E55A24FF25E0FA24B6F582E434F4 +:070F33007FF583AA59EAF0E3 +:010F3A002294 +:0E0F3B000902BA000301004000090400000092 +:0E0F49000101000009240100013D0001010C1E +:0E0F570024020110070002030000000D240612 +:0E0F650003010215000300030000092403022B +:0E0F7300010100010009240304020300030031 +:0E0F8100092403050306000100090401000015 +:0E0F8F00010200000904010101010200000737 +:0E0F9D002401020101000B24020102021001D6 +:0E0FAB0080BB00090588050001010000072534 +:0E0FB900010000000009040200020000000018 +:0E0FC7000705820240000007050202400000FC +:0E0FD50009040201030000000007058202402B +:0E0FE30000000705020240000009058905A074 +:0A0FF1000101000000FFFFFFFF00F8 +:0E0FFB00120100010000004047059999000115 +:0E10090000000001000000000000000902BA13 +:0410170000030100D1 +:02101B007A0059 +:03101D00BA050011 +:02102000501767 +:08102200907FA5E0FB30E00522 +:05102A00900001800DA3 +:0A102F00C0021201DDD0020A80E4C5 +:0310390090000123 +:01103C002291 +:0E103D00907DC1E0F9A3E0FAA3E0FB7C007D0A +:04104B007EEB6012C6 +:0E104F0089828A83E0A3A982AA838C828D8382 +:04105D00F00CDBEECA +:08106100907DC3E0907FB9F01F +:011069002264 +:0E106A00907DC1E0F9A3E0FAA3E0FB7CC47D19 +:041078007DEB60E5C7 +:0E107C008C828D83E00C89828A83F0A3A98286 +:04108A00AA83DBEE6C +:01108E00223F +:0E108F00907FA57480F00586907DC1E00586F7 +:0E109D00A3F012101B907FA60586A3A3E0F916 +:0510AB006016A305869C +:0D10B000907FA60586E0A30586F0C0011222 +:0610BD00101BD001D9ED6B +:0610C300907FA57440F0CF +:0110C9002204 +:0810CA009088027401F07A0025 +:0310D200BAFF0062 +:0210D500500ABF +:0A10D700C0021201DDD0020A80F110 +:0110E10022EC +:0510E200E56BB4C0083D +:0810E700908803E56CF080061F +:0610EF00908802E56CF0A0 +:0410F5007A007B0002 +:0B10F900C3EA9432EB6480948050073F +:051104000ABA00010B16 +:0211090080EE76 +:01110B0022C1 +:0A110C00908803E56DF005397A00C4 +:03111600BA2800F4 +:02111900500381 +:03111B000A80F84F +:05111E00E539B41008E2 +:0811230090880274C0F0800EF8 +:05112B00E539B42009C4 +:091130009088027480F07539000A +:021139007A003A +:03113B00BA2800CF +:02113E0050035C +:031140000A80F82A +:011143002289 +:04114400E56F6002F1 +:0211480080071E +:07114A007A007539008005F1 +:051151007A4075391021 +:09115600E56E2AFAE56E2539F573 +:0A115F003990880274802AF07A00AB +:08116900C3EA648094A850035E +:031171000A80F5FC +:011174002258 +:06117500AA70AB71AC7220 +:0C117B008A828B838CF01214EEFD601849 +:0D1187008D6DC002C003C00412110CD00415 +:09119400D003D0020ABA00010BDD +:02119D0080DCF4 +:01119F00222D +:0D11A000E573C4540FFA53020FC374099A8B +:0211AD005006EA +:0611AF0074372AFB8004E6 +:0411B50074302AFB6D +:0C11B9008B6DC00312110CD003AA7353FD +:0811C500020FC374099A5006E1 +:0611CD0074372AFB8004C8 +:0411D30074302AFB4F +:0511D7008B6D12110CEC +:0111DC0022F0 +:0711DD00907DC3E0FA600FF2 +:0C11E400907DC1E0F56E907DC2E0F56FDB +:0311F00012114495 +:0C11F300907DFFE4F07570C475717D758F +:0511FF007201121175E0 +:0112040022C7 +:021205007A0469 +:03120700BA4000EA +:02120A0050365C +:0E120C00EA24C0F582E4347DF583E0FB7C002B +:03121A00BC08000D +:02121D0050205F +:06121F008B05ED30E70B2A +:0B122500907F967442F074C3F08008C4 +:08123000907F96E4F07481F058 +:07123800EB25E0FB0C80DB5D +:03123F000A80C55D +:011242002289 +:041243007A007BEFC3 +:03124700BA1000DA +:02124A00502032 +:0E124C0074112BFB2400FCE43418FD8C828D01 +:0E125A0083E4F0EA2400F582E43419F583E41D +:04126800F00A80DB2D +:01126C00225F +:0E126D0074F82400F58274033484F583E4F0F1 +:0E127B0074F92400F58274033484F583E4F0E2 +:0E12890074FA2400F58274033484F583E4F0D3 +:0E12970074FB2400F58274033484F583E4F0C4 +:0E12A50074FF2400F58274033484F583E4F0B2 +:0112B3002218 +:0E12B4001203CB12126D7AC07B877C0174018D +:0E12C2002AFDE43BFE8C078A828B838CF0743D +:0E12D000011214BF2DFAE43EFB8F048D828EB6 +:0E12DE00838FF074061214BF74012AFDE43BE6 +:0E12EC00FE8C078A828B838CF0E41214BF7490 +:0E12FA00012DFAE43EFB8F048D828E838FF06F +:0E130800740B1214BF74012AFDE43BFE8C0727 +:0E1316008A828B838CF074081214BF74012D30 +:0E132400FAE43EFB8F048D828E838FF07401FD +:0E1332001214BF2AFDE43BFE8C078A828B83D7 +:0E1340008CF0E41214BF74012DFAE43EFB8F12 +:0E134E00048D828E838FF074031214BF7D0015 +:03135C00BD0600CB +:02135F0050122A +:0B1361008A828B838CF00ABA00010B1B +:07136C00E41214BF0D80E93B +:0D1373008A828B838CF0E5741214BF74F92C +:0E1380002400F58274033484F583740FF07436 +:0E138E00FE2400F58274033484F5837401F0AC +:06139C001203E11204F748 +:0113A2002228 +:0D13A300907DC1E0FA2400FBE43419FC90B9 +:0E13B0007DC2E0FD8B828C83F075F011EAA403 +:0313BE00FA7B00B7 +:0313C100BB10005E +:0213C4005024B3 +:0E13C600EA2400FCE43418FDEB2CFCE43DFDB1 +:0E13D40074042B24C0F582E4347DF583E0FE22 +:0813E2008C828D83F00B80D793 +:0E13EA00EA2400FAE43418FB74102AF582E4B9 +:0513F8003BF583E4F069 +:0113FD0022CD +:0413FE00E57660022E +:02140200801652 +:0C140400740F5575FA8A752400F582E417 +:0A1410003419F583E0F5741212B4EC +:0A141A001210CA756E00756F001203 +:0614240011447570B9755A +:06142A007114757202123C +:0B1430001175E576B402047401800120 +:01143B00E4CC +:03143C00FA700F34 +:0C143F0074012575F573C0021211A0D0D5 +:03144B0002800A12 +:0A144E00857573C0021211A0D002D0 +:0C145800756E00756F01C002121144D0C7 +:0414640002EA701A0E +:0D14680075F011E575A4FA2400FAE43418BB +:09147500FB8A708B717572011283 +:04147E00117580362E +:021482007A00EE +:03148400BA10009B +:02148700502FE4 +:0D148900EA2400F582E43419F583E0FBE568 +:0414960075B5031B0A +:0E149A0075F011EAA4FB2400FBE43418FC8B6F +:0914A800708C71757201C0021212 +:0414B1001175D002DF +:0314B5000A80CCDE +:0114B8002211 +:0614B90050726F67200075 +:0E14BF00C8C0E0C8C0E0E5F0600B14600F1478 +:0714CD00601114601280158C +:0714D400D0E0A882F6800EB3 +:0514DB00D0E0F08009E3 +:0414E000D0E08005D3 +:0514E400D0E0A882F237 +:0414E900C8D0E0C8BF +:0114ED0022DC +:0E14EE00C8C0E0E5F0600D14600F14600F142C +:0614FC00601074FF800F78 +:05150200A882E6800A4A +:03150700E080077A +:04150A00E4938003E3 +:03150E00A882E2CE +:04151100F8D0E0C866 +:0115150022B3 +:00000001FF + + * Copyright (C) 1999 BayCom GmbH + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that redistributions of source + * code retain the above copyright notice and this comment without + * modification. diff --git a/firmware/dsp56k/bootstrap.asm b/firmware/dsp56k/bootstrap.asm new file mode 100644 index 0000000..10d8919 --- /dev/null +++ b/firmware/dsp56k/bootstrap.asm @@ -0,0 +1,98 @@ +; Author: Frederik Noring +; +; This file is subject to the terms and conditions of the GNU General Public +; License. See the file COPYING in the main directory of this archive +; for more details. + +; DSP56k loader + +; Host Interface +M_BCR EQU $FFFE ; Port A Bus Control Register +M_PBC EQU $FFE0 ; Port B Control Register +M_PBDDR EQU $FFE2 ; Port B Data Direction Register +M_PBD EQU $FFE4 ; Port B Data Register +M_PCC EQU $FFE1 ; Port C Control Register +M_PCDDR EQU $FFE3 ; Port C Data Direction Register +M_PCD EQU $FFE5 ; Port C Data Register + +M_HCR EQU $FFE8 ; Host Control Register +M_HSR EQU $FFE9 ; Host Status Register +M_HRX EQU $FFEB ; Host Receive Data Register +M_HTX EQU $FFEB ; Host Transmit Data Register + +; SSI, Synchronous Serial Interface +M_RX EQU $FFEF ; Serial Receive Data Register +M_TX EQU $FFEF ; Serial Transmit Data Register +M_CRA EQU $FFEC ; SSI Control Register A +M_CRB EQU $FFED ; SSI Control Register B +M_SR EQU $FFEE ; SSI Status Register +M_TSR EQU $FFEE ; SSI Time Slot Register + +; Exception Processing +M_IPR EQU $FFFF ; Interrupt Priority Register + + org P:$0 +start jmp <$40 + + org P:$40 +; ; Zero 16384 DSP X and Y words +; clr A #0,r0 +; clr B #0,r4 +; do #64,<_block1 +; rep #256 +; move A,X:(r0)+ B,Y:(r4)+ +;_block1 ; Zero (32768-512) Program words +; clr A #512,r0 +; do #126,<_block2 +; rep #256 +; move A,P:(r0)+ +;_block2 + + ; Copy DSP program control + move #real,r0 + move #upload,r1 + do #upload_end-upload,<_copy + move P:(r0)+,x0 + move x0,P:(r1)+ +_copy movep #>4,X:<$c00,X:<1,X:<0,X:<3,x0 + cmp x0,A #>1,x0 + jeq <$0 +_get_address + jclr #0,X:<2,x0 + jeq load_X + cmp x0,A + jeq load_Y + +load_P do y0,_load + jclr #0,X:< + * Copyright © 2005 Jan Harkes + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#define _GNU_SOURCE +#include + + +struct ihex_binrec { + struct ihex_binrec *next; /* not part of the real data structure */ + uint32_t addr; + uint16_t len; + uint8_t data[]; +}; + +/** + * nybble/hex are little helpers to parse hexadecimal numbers to a byte value + **/ +static uint8_t nybble(const uint8_t n) +{ + if (n >= '0' && n <= '9') return n - '0'; + else if (n >= 'A' && n <= 'F') return n - ('A' - 10); + else if (n >= 'a' && n <= 'f') return n - ('a' - 10); + return 0; +} + +static uint8_t hex(const uint8_t *data, uint8_t *crc) +{ + uint8_t val = (nybble(data[0]) << 4) | nybble(data[1]); + *crc += val; + return val; +} + +static int process_ihex(uint8_t *data, ssize_t size); +static void file_record(struct ihex_binrec *record); +static int output_records(int outfd); + +static int sort_records = 0; +static int wide_records = 0; + +int usage(void) +{ + fprintf(stderr, "ihex2fw: Convert ihex files into binary " + "representation for use by Linux kernel\n"); + fprintf(stderr, "usage: ihex2fw [] \n"); + fprintf(stderr, " -w: wide records (16-bit length)\n"); + fprintf(stderr, " -s: sort records by address\n"); + return 1; +} + +int main(int argc, char **argv) +{ + int infd, outfd; + struct stat st; + uint8_t *data; + int opt; + + while ((opt = getopt(argc, argv, "ws")) != -1) { + switch (opt) { + case 'w': + wide_records = 1; + break; + case 's': + sort_records = 1; + break; + default: + return usage(); + } + } + + if (optind + 2 != argc) + return usage(); + + if (!strcmp(argv[optind], "-")) + infd = 0; + else + infd = open(argv[optind], O_RDONLY); + if (infd == -1) { + fprintf(stderr, "Failed to open source file: %s", + strerror(errno)); + return usage(); + } + if (fstat(infd, &st)) { + perror("stat"); + return 1; + } + data = mmap(NULL, st.st_size, PROT_READ, MAP_SHARED, infd, 0); + if (data == MAP_FAILED) { + perror("mmap"); + return 1; + } + + if (!strcmp(argv[optind+1], "-")) + outfd = 1; + else + outfd = open(argv[optind+1], O_TRUNC|O_CREAT|O_WRONLY, 0644); + if (outfd == -1) { + fprintf(stderr, "Failed to open destination file: %s", + strerror(errno)); + return usage(); + } + if (process_ihex(data, st.st_size)) + return 1; + + output_records(outfd); + return 0; +} + +static int process_ihex(uint8_t *data, ssize_t size) +{ + struct ihex_binrec *record; + uint32_t offset = 0; + uint8_t type, crc = 0, crcbyte = 0; + int i, j; + int line = 1; + int len; + + i = 0; +next_record: + /* search for the start of record character */ + while (i < size) { + if (data[i] == '\n') line++; + if (data[i++] == ':') break; + } + + /* Minimum record length would be about 10 characters */ + if (i + 10 > size) { + fprintf(stderr, "Can't find valid record at line %d\n", line); + return -EINVAL; + } + + len = hex(data + i, &crc); i += 2; + if (wide_records) { + len <<= 8; + len += hex(data + i, &crc); i += 2; + } + record = malloc((sizeof (*record) + len + 3) & ~3); + if (!record) { + fprintf(stderr, "out of memory for records\n"); + return -ENOMEM; + } + memset(record, 0, (sizeof(*record) + len + 3) & ~3); + record->len = len; + + /* now check if we have enough data to read everything */ + if (i + 8 + (record->len * 2) > size) { + fprintf(stderr, "Not enough data to read complete record at line %d\n", + line); + return -EINVAL; + } + + record->addr = hex(data + i, &crc) << 8; i += 2; + record->addr |= hex(data + i, &crc); i += 2; + type = hex(data + i, &crc); i += 2; + + for (j = 0; j < record->len; j++, i += 2) + record->data[j] = hex(data + i, &crc); + + /* check CRC */ + crcbyte = hex(data + i, &crc); i += 2; + if (crc != 0) { + fprintf(stderr, "CRC failure at line %d: got 0x%X, expected 0x%X\n", + line, crcbyte, (unsigned char)(crcbyte-crc)); + return -EINVAL; + } + + /* Done reading the record */ + switch (type) { + case 0: + /* old style EOF record? */ + if (!record->len) + break; + + record->addr += offset; + file_record(record); + goto next_record; + + case 1: /* End-Of-File Record */ + if (record->addr || record->len) { + fprintf(stderr, "Bad EOF record (type 01) format at line %d", + line); + return -EINVAL; + } + break; + + case 2: /* Extended Segment Address Record (HEX86) */ + case 4: /* Extended Linear Address Record (HEX386) */ + if (record->addr || record->len != 2) { + fprintf(stderr, "Bad HEX86/HEX386 record (type %02X) at line %d\n", + type, line); + return -EINVAL; + } + + /* We shouldn't really be using the offset for HEX86 because + * the wraparound case is specified quite differently. */ + offset = record->data[0] << 8 | record->data[1]; + offset <<= (type == 2 ? 4 : 16); + goto next_record; + + case 3: /* Start Segment Address Record */ + case 5: /* Start Linear Address Record */ + if (record->addr || record->len != 4) { + fprintf(stderr, "Bad Start Address record (type %02X) at line %d\n", + type, line); + return -EINVAL; + } + + /* These records contain the CS/IP or EIP where execution + * starts. Don't really know what to do with them. */ + goto next_record; + + default: + fprintf(stderr, "Unknown record (type %02X)\n", type); + return -EINVAL; + } + + return 0; +} + +static struct ihex_binrec *records; + +static void file_record(struct ihex_binrec *record) +{ + struct ihex_binrec **p = &records; + + while ((*p) && (!sort_records || (*p)->addr < record->addr)) + p = &((*p)->next); + + record->next = *p; + *p = record; +} + +static int output_records(int outfd) +{ + unsigned char zeroes[6] = {0, 0, 0, 0, 0, 0}; + struct ihex_binrec *p = records; + + while (p) { + uint16_t writelen = (p->len + 9) & ~3; + + p->addr = htonl(p->addr); + p->len = htons(p->len); + write(outfd, &p->addr, writelen); + p = p->next; + } + /* EOF record is zero length, since we don't bother to represent + the type field in the binary version */ + write(outfd, zeroes, 6); + return 0; +} diff --git a/firmware/intelliport2.bin.ihex b/firmware/intelliport2.bin.ihex new file mode 100644 index 0000000..e9cfe8c --- /dev/null +++ b/firmware/intelliport2.bin.ihex @@ -0,0 +1,2147 @@ +:100000003C4237180201030000000000000000001D +:10001000576564204465632030312031323A3234F0 +:100020003A33302031393939000000000000000037 +:10003000E96C0F426547694E6E496E47206F462056 +:10004000634F6445CC135A15E8167618041A921BB0 +:10005000201DAE1E3C20CA215823E6247426022807 +:1000600090291E2BAC2C3A2EC82F5631E432723414 +:1000700000368E371C39AA3A383CC63D543FE24020 +:100080007042FE438C451A47A848364AC44B524D2D +:10009000E04E6E50FC518A531855A6563458C2593A +:1000A000505BDE5C6C5EFA5F88611663A464326646 +:1000B000C0674E69DC6A6A6CF86D866F1471A27253 +:1000C0003074BE754C776C778C77AC7733DB8ADC19 +:1000D0005333DB250700750A8A1E080183E30CEB06 +:1000E00020903C01750A8A1E080180E3C0EB129043 +:1000F0008A1E0D013C02750680E30CEB049080E340 +:10010000C053508B1EBA138EDBE86A65558BEC53D7 +:100110001E2BC08ED88B5E04C1E304035E06D1E3C0 +:100120002E8B9F44008D472A1E5A1F5B5DC3558B43 +:10013000EC531E2BC08ED88B5E04C1E304035E0615 +:10014000D1E32E8B9F44008D47341E5A1F5B5DC345 +:10015000FB558BEC53515256571E061E0733C08E6B +:10016000D88B5E04268A47592503008BF0D1E62EF2 +:100170008BB4C400C1E0042602471AD1E08BE82EFC +:100180008BAE4400892C268A471C88440F268A4758 +:100190001D884410268A471E884411268A471F88D6 +:1001A0004412268A4720884413268A472388441409 +:1001B000268A4724884415268A475A88440E33C025 +:1001C00089440689440888440B88440AB021B464F1 +:1001D000894404894402B05588440D88440CE86A77 +:1001E00000725BE8C900E8C110894408807C0F01F7 +:1001F0007429E82B02E87F02807C0F03741DE8A9B4 +:10020000108BF82B44083DA00F7210897C0833C076 +:1002100087440685C07504C6440AFF8A440A84C020 +:10022000750BB80800E86A4AE8A90173BFE84F01F6 +:100230008166487FFF83667ABFB002E8040E8A4475 +:100240000A98071F5F5E5A595B5DC3814E48800064 +:10025000B040E83D4AE88940732AE84D108BD8B099 +:1002600005E82E4AF6462702751AE83D102BC33DD5 +:10027000581B72EB8166487FFFB002E8C40DC6448C +:100280000A01F9C3834E7A40F8C3FBB001E8024A81 +:10029000FAE8991EE40A84C075F0B04EE60AFBB095 +:1002A00001E8EE49FAE8851EE40A84C075F0C3FA55 +:1002B000E87A1EE4EC884416E4E4884417E4F888FD +:1002C0004418E4F0884419E41088441AE41288447D +:1002D0001BE41488441CE43488441DE43688441E1E +:1002E000E4D824018AE0E4DA24020AC488441F8A9C +:1002F0004410E8CD1F8A4411E835218A4412E88968 +:10030000218A4413E84321C686A10000E414241086 +:10031000E614E412243DE6128A44153C01721E776D +:1003200016B011E634B013E636E4140C10E614E40B +:10033000120C40E612EB06E4120C02E6128A440F9D +:100340003C0174063C02740AEB0EE4120C08E6123F +:10035000EB06E4120C10E612E82FFF8A44143C026C +:100360007508B05588440C88440DB021B4648944A4 +:1003700004894402E40C0C10E60CE8ED39FBC3E8F8 +:100380005F3F7308FBB00AE80849EBF3FAE89D1DEC +:100390008A64168A441789869400E6E48AC4E6ECE7 +:1003A0008A64188A441989869600E6F08AC4E6F8B9 +:1003B0008A441AE6108A441BE6128A441CE6148A10 +:1003C000441DE6348A441EE6368A441FE6D8E6DA3F +:1003D000E9B7FE90FA8A440EE6FEE402A80175052C +:1003E00033C0FBF8C333C0E400FBF9C38A64148054 +:1003F000FC02742BFEC0FEC780FF4E721C74098085 +:10040000FF507308B00AEB17B00DEB1302DC32FF9C +:1004100080FB7F7C02B3218AC33C7F7C02B021C376 +:10042000FA807C0B047602FBC38B46243D080072E5 +:10043000F68E46028B7E228A440C8B5C02AAE8ABC5 +:10044000FFAAE8A7FFAAE8A3FFAAE89FFF88440C39 +:10045000895C0280440B04897E22836E24048346D7 +:100460001A04807E26027406806626FDFBC360B0F7 +:10047000FDE8023F61FBC3FA807C0F037509C644A7 +:100480000B00E8E538FBC3C47E148B4E3A85C97572 +:1004900035268B0D4747E3EA3B7E047622B80200FF +:1004A00039462E7707C7462E0000EB138B5E2C894A +:1004B0005E0426C70700004343895E2C29462E852B +:1004C000C978CE894E3A8A440D8B5C04268A25472A +:1004D0003AC47516FE4C0BFF4406E80FFFE2ED88A8 +:1004E000440D895C04894E3AEBA7C6440AFEE879BC +:1004F00038FBC390E8B30D8AE88A0ECB13B3078AA2 +:10050000C1EEEB00EC3AC1750902CDFECB75F0EB04 +:100510000C90880ECB138AE8BBFFFFF9C3880ECB83 +:1005200013F8C390BB3F3F8A8E9E00BAFE00EC8A50 +:10053000E832C122C37502F8C3F9C390E8E5FF733E +:1005400001C3BAD000BB03038A8E9F00EC8AE83255 +:10055000C122C37502F8C3F9C39033C08ED88EC0D0 +:10056000803EC813007507B00AE82647EBF2FB335C +:10057000DB8A1EC913434383FB7E760733DBB0025D +:10058000E80F472E8BAF4400837E080074E7881E77 +:10059000C913B002E8FB46FAF7463840007414E885 +:1005A000961BE87FFF721C33D28A969F0083C20E8F +:1005B000EB0C90E8771BE883FF7208BA4800E83339 +:1005C000FF73AB23CB898E9A0089969C00FE86B57B +:1005D00000C606C81300B00AE8670AFBEB891018CA +:1005E000082833C0A005018AC824407524C7067CAA +:1005F000128E45C70642120100C606541202B00808 +:10060000F6C1017402B004A34612A24C12A29412C5 +:10061000C3C7067C12B645A00F0184C0750E6A00E0 +:100620001FC60693121E9C0EE8B10C90C70644121A +:100630000100A342128BD8C1E304881E9412BEE2CB +:10064000052BF08BC833DB8BFB2EAC888548128AD8 +:10065000D80C05E6FE8AE0EB00E4FE32C4A83F7445 +:1006600003E99E00E400888550128AE02430BA1025 +:10067000FF3C30741280FC04740ABA0403F60608C6 +:1006800001FE7403BA080F88954C1202FA32C0F6C4 +:10069000C4087402B001888558128AC43C35745B62 +:1006A0003C3674573C3474533C04744F3C14744BC4 +:1006B0003C157447A8407425C685541204D1E7B48C +:1006C000038AC389855C128AC38AE380CC01898549 +:1006D0006412D1EF47E203EB1A90E96CFFC6855430 +:1006E0001202D1E78AE68AC30C0489855C12D1EF35 +:1006F00047E2E733C08AC7A34612C3C68554120631 +:10070000EBBBC68554120033C08885501288854CD7 +:100710001288855812EBA6C7462602128B461E8900 +:1007200046008946228B4620894624C7461A000087 +:10073000C3C7463C8000C7463801001E568B763042 +:100740008976048976148E5E0633C089044646890C +:10075000762C89463A8B4632484889462E5E1FC31E +:1007600033C089464889464AC74646AE0189464E47 +:100770008B46448946508B4642894640894608C389 +:1007800033C0894676894678C7467A1000561E8B54 +:10079000767089761089760C8E5E12C70400008B05 +:1007A00046728946741F5EC3895618895602895657 +:1007B0000689560A89560E8956128956168BD84BC9 +:1007C0004BC1E302BF0200897E1E03FB897E30031A +:1007D000FB897E4203FB897E7083EB08895E20895A +:1007E0005E32895E44895E7250E82BFFE871FFE853 +:1007F0003FFFE88BFF58C3B83075C1E8040E5B03B8 +:10080000C3A3BA13833E4212007407803E941200C1 +:10081000750E6A001FC60693121E9C0EE8BD0A9054 +:10082000B8307AC1E80440A3C0132B061201F7D8F0 +:1008300033D28BCA8A0E9412F7F13D8000770E6A8C +:10084000001FC6069312259C0EE8900A90483DFFB3 +:10085000077203B8FF07A3C21333C98A0E94123379 +:10086000F6B800092E8BAC440089464C404646E25F +:10087000F38A0E941233F68B16C013A1C2132E8B7B +:10088000AC4400E822FF03D04646E2F2C333C02E58 +:100890008BAD44008946084747E2F4C35133C00A90 +:1008A000C22E8BAD440089869E00814E38002047C1 +:1008B00047FEC480FC04720432E4FEC0E2E35983C4 +:1008C000E9107405F7D9E8C4FFC35133C00AC22E3A +:1008D0008BAD440089869E00834E3840474780C4D4 +:1008E00010790432E4FEC0E2E65983E9107405F79A +:1008F000D9E899FFC3E8D2FFC38D089C08CA08F560 +:10090000088B0E421233F6515633DB8BCB8A944858 +:10091000128A8C4C128A9C54128BFEC1E70585DB2F +:100920007502B1102EFF97F9085E5946E2D9C3014E +:10093000CC03D000E802D000E801D000E800D000ED +:10094000E804D0A8DA00DC00DE01D803CC03CC0335 +:10095000CC04D0A8DA20DC00DE03CC03CC03CC002E +:10096000D803CC03CC03CC03CC03CC03CC03CC0303 +:10097000CC03CC03CC03CC03CC03CC03CC03CC03FF +:10098000CC04D000DA20DC03DE01D803CC03CC0396 +:10099000CC03CC00D800CC00D0000056521E0E1F55 +:1009A000BE2F0933D2FCAD85C0740D8AD4EEAD855F +:1009B000C074058AD4EEEBEE1F5A5EC3E48084C097 +:1009C00074167814B027E6FCB011E634E4FC3C273A +:1009D0007506E4117502F8C3F9C383C206B0BFEE11 +:1009E00083EA02B010EE8886AF00B01183C204EE35 +:1009F00083C202EEB01383C202EE83C202EE2EA1C6 +:100A00004C2D8986940083EA0EEE83C2028AC4EEDE +:100A100083C204B003EE8886A80083EA0432C0EEE5 +:100A200083C202B089EE8886A6000C06EEB040B400 +:100A30003889461CC74636380083C20432C0EE8867 +:100A400086A700C383C206B0BFEE83EA02EC3A86F3 +:100A5000AF00752483C204EC3C11751C83C206EC04 +:100A60003C13751483EA088A86A800EE83EA02EC38 +:100A700024C03CC07502F8C3F9C333C98BD18BF1D4 +:100A80008A0E9412C1E9022E8BAC4400F74638005E +:100A900020740E8A869E00E6FE32C0E68042E8FAA6 +:100AA000FE83C608E2E185D27403E80508C333C9B2 +:100AB0008BF18A0E94122E8BAC4400F7463840001E +:100AC0007406E87316E812FF4646E2EAC333C98BA0 +:100AD000F18A0E9412C1E9022E8BAC4400F746381D +:100AE00000207416E84616E8D2FE730E6A001FC690 +:100AF0000693121C9C0EE8E3079083C608E2D9C354 +:100B000033C98BF18A0E94122E8BAC4400F7463811 +:100B100040007416E82116E82AFF730E6A001FC60B +:100B20000693121C9C0EE8B307904646E2DAC30C0B +:100B300000001000131200001400283C001B3E00AF +:100B4000002A00002C0000420014D80000DA000047 +:100B50003400113600133800113A001300005650CB +:100B600052BE2F0B2EAD85C07406922EACEEEBF468 +:100B70005A585EC3532EA16022E6E4E6F08AC4E62A +:100B8000ECE6F8E8D8FFB04BE610B050E612B0380B +:100B9000E614E8AE15B046E60AE8A715B01AE60A6C +:100BA000E8A015B022E60AE89915E8FD068BD8E41E +:100BB00016A8047518E8F2062BC33D320072F06ADD +:100BC000001FC6069312239C0EE8100790E8DA0671 +:100BD0002BC33D2400771BB031E6FC565155B910AC +:100BE000002E8BAC4400814E3880004646E2F25D18 +:100BF000595EE869FFE84B15B046E60AE844155B24 +:100C0000C333F68B0E42122E8BAC4400F7463800ED +:100C1000207406E81715E85BFF83C620E2E9C38B62 +:100C2000C20504008946282EA14C2D89868E008994 +:100C300086900089869200C686A3000AC686C300F5 +:100C4000035283C2048A86A6000C06EE5A83C202AF +:100C5000B005EE8886A500C3E803FFE8E514B042BE +:100C6000E60AF74638800074062EA19C22EB042E7B +:100C7000A16C22C7461C0C008986940089869600C8 +:100C800089868E008986900089869200E6F0E6E4E7 +:100C90008AC4E6F8E6ECC686C30003E8A514B01AD9 +:100CA000E60AB0108886A500E60CC333C98BF18A2A +:100CB0000E94122E8BAC4400F7463840007406E8C0 +:100CC0007614E85AFF4646E2EAC333C98BF18A0E2E +:100CD00094122E8BAC4400F7463800207406E84C82 +:100CE00014E874FF4646E2EAC390833E441200755E +:100CF00014B001BA0601EE2AC0EEB002EEB004EE66 +:100D0000B80002EB0FBA0601B040EEB801008A0E3F +:100D10000E01D3E0A38812C3A18812A384122D2050 +:100D200000A38A122D2000A38212C706861220007B +:100D3000C70680123200C3833E44120074768B0EC5 +:100D4000421233F68AA4541284E4745F8A844812EF +:100D50000C04E6FEF6C4047425B01BBA0000EEEBEA +:100D6000002AC0BA0200EEEB00B003EEEB0032C086 +:100D7000BA0200EEEB00BA0000B000EEEB2DB01F9F +:100D8000BA0000EEEB002AC0BA0200EEEB00B0039E +:100D9000EEEB00D1E68A845D12D1EEF6D0BA020005 +:100DA000EEEB00BA0000B00AEEEB00E404EB00E466 +:100DB0000446E290C390B81400BA3EFFEFB80600B4 +:100DC000BA32FFEFB80F00BA34FFEFBA36FFEF8345 +:100DD0003E4412007516B81100BA38FFEFB8120081 +:100DE000BA3AFFEFB81B00BA3CFFEFC3B81100BA24 +:100DF00038FFEFB81200BA3AFFEFB81B00BA3CFF59 +:100E0000EFC3B8FC00BA28FFEFFB833E4412007426 +:100E100007B8CC00BA28FFEFC300FFFF202428FF4B +:100E20002CFFFF303438FFFF3C903C0F770EBB198E +:100E30000E2ED73CFF74058AD8F8C3902ADBF9C37D +:100E4000833E4412007427A00601802606013080EC +:100E50003E0601307518B90200BFC413BA0601EC92 +:100E6000A82075F8BA0401EDABE2F1EB1690B904D5 +:100E700000BFC413BA0601ECA82075F8BA0401EC4F +:100E8000AAE2F1FA90BEC413AD80E43F80FC027484 +:100E90000E6A001FC60693120A9C0EE83E0490AD2F +:100EA0003C0F75ED8AC4E881FF72E6881E1A01C600 +:100EB000068E1200B0000A061A01BA0001EEC6063C +:100EC0008F1240833E4412007506B80C00EB04906C +:100ED000B84C00BA28FFEFC3833E4412007501C32B +:100EE000A150120B0652120AC4A80874F2A00F01F6 +:100EF0002AE450FF36BA131FE8505683C4026A0032 +:100F00001F33C0A3BC13A00F01A3BE138B1EBC13C1 +:100F10008A875012F687501208740D24078AE0BEA3 +:100F2000CC00A0BC13E8943DFF06BC13FF0EBE131B +:100F300075DAC3901E33C08ED8B001E8543D1FC38C +:100F400033C98BF18A0E94122E8BAC4400C74662D3 +:100F50003844C7467CFC3BC7467EE23BC7868000E0 +:100F6000EC3CE8AB16C686C00011837E080074070F +:100F70005156E833335E594646E2CDC333C98BF14F +:100F80008BF98A0E9412C1E902E3132E8BAC440054 +:100F90008A869E0088856C1283C60847E2EDC3FAF4 +:100FA000FCB0C0BA0001EE33C08ED88EC08ED0BF68 +:100FB0001601B9CC772BCFD1E9F3ABBC4012E8D9FD +:100FC00002E8703CBECC0FE8F23CF49033C08ED8FF +:100FD0008EC08ED0F6060A0180740BBE3555E8DB54 +:100FE0003CB001E8AC3CE8B300E8F6F5E808F8E806 +:100FF0000FF9E885FAE8B6FAE8EFFCE8C210E80372 +:101000003CE8B2FDE830FDE85402C6068F12C0E8A5 +:10101000BBFAE8EBFAE8E9FBE8AFFCE88DFCE81F77 +:10102000FFE858FFE8DBFDE816FE33C0BE5A05E8CE +:101030008A3CE8A3FEE8E0FCFBBEA444E87D3CE972 +:10104000CA2D56988BF08B425285C07527C74252E5 +:10105000010053368B9C2C01F6C301750C36896850 +:10106000523689AC2C015B5EC33689AC2C013689C3 +:10107000AC1C015B5EC356988BF033ED368B841C41 +:1010800001A80175158BE833C08742523689841C4C +:1010900001A80174053689842C015EC3565133F6CC +:1010A000B80100B9080089841C0189842C014646D6 +:1010B000E2F4595EC390BB01008BE8FF4E6E740AE8 +:1010C0008BDD8B4658A80174F0C38B4648A90800F5 +:1010D0007445F7463840007427E85C1080C2068AE1 +:1010E00086A80024BF8886A800EE60B0FEE886329D +:1010F00061B002E84CFF8B464824F7894648EB175D +:10110000E82A10814E2600408A86A5000C028886B7 +:10111000A500E60C8B4648A904007414B002E8212F +:10112000FF8B464824FB89464860B0DFE8473261C0 +:1011300033C0874658F6C301750B36894758A80156 +:10114000750DE974FFA32201A8017503E96AFF89FF +:101150001E3201C3BB01008BE8F74638400074150E +:10116000E8D50F80C20AECA840750A8BDD8B465685 +:10117000A80174E3C38B462680E4FE80CC02894636 +:1011800026B002E8BCFE33C0874656F6C301750A96 +:1011900036894756A801750BEBBDA32001A8017540 +:1011A00002EBB4891E3001C3601E062BC08ED8A08E +:1011B000901284C07549A12201A8017503E8F6FECA +:1011C000A12001A8017503E88AFFA1AC13487805A6 +:1011D0007445A3AC13A1AE134878057451A3AE13A4 +:1011E000A1B0134878057463A3B013A17E124078B0 +:1011F00003A37E12B80080BA22FFEF071F61CFA0C1 +:101200009112403C02720B33C0A29112FF167C1265 +:10121000EBA4A29112EB9FA08E1232068F12A28E27 +:10122000120A061A01BA0001EEB82C01EBA4833EA3 +:101230008412107211BA28FFED0C81EFE85337BA0F +:1012400028FFED247EEFB80400EB92C6068D120154 +:10125000E83F37C6068D1200A1B213EB8B908A1EB1 +:101260000B012AFF6BC319BA62FFEFB80A00BA601C +:10127000FFEFB801E0BA66FFEFB8FFFFBA52FFEF29 +:10128000B809C0BA56FFEFC706AC132C01C706AEAB +:10129000130400C606911200C3908A1E0B012AFF98 +:1012A0006BC305D1E8A31801C39052BA50FFED5AA1 +:1012B000C39053518B1E1801B9320590E2FE4B7555 +:1012C000F7595BC3B080BA00010A061A01EEC39059 +:1012D000B040EBF2B0C0EBEEB000EBEAFA60061EF5 +:1012E000162BDB8EDB2EA1BA4C2EA3924CA09312B0 +:1012F000988BE889262D7A803ECA13007403E96B27 +:1013000042E8C0FFE8ABFFE8A8FFB020C606901295 +:1013100000FF167C128BFD83FF0A7211E8B9FFE80B +:1013200090FFE8ABFFE88AFF83EF0AEBEA0BFF745C +:101330000FE8A4FFE87BFFE89AFFE875FF4F75F11F +:10134000E895FFE86CFFEBB98A86A50024FDEE88DE +:1013500086A500C38A86A6000C02EEC38B7638F7FA +:10136000C6010074EF8B4E368B462E3BC173028B49 +:10137000C82BC189462E014E34C47E0426010D8B34 +:101380007E2C83EA04F36C8EC1897E2C3B463C7232 +:1013900012F7C62000750B83CE20897638B000E89E +:1013A000A0FCC3F7C60400741B8BD883CE108976CB +:1013B000388A86A70024FE8886A70083C208EE83A9 +:1013C000EA088BC33D40007201C3814E380004839C +:1013D000C2028A86A50024FA8886A500EEC38A8602 +:1013E000A6000C02EEC3F74638010074F18B4E2EB6 +:1013F00032DB8ABEA30083C206C476048B7E2C83B4 +:10140000F908722CECA80174168AE083EA0AEC83CE +:10141000C20A84E77551AAFEC34983F90873E5320D +:10142000FF26011C015E34897604894E2E897E2CAC +:101430003B4E3C7211F64638207401C3834E38206F +:10144000B000E8FDFBC3F64638047415834E38102F +:101450008A86A70024FE8886A70083EA02EE83C25C +:10146000023D4000725DC332FF26031C85DB740918 +:1014700026891C8BF74747494980E41E80CCC0264B +:101480008904F6C41074278B7638F7C60010740BE5 +:1014900050FE86B200B00AE8A8FB58F7C6000174F7 +:1014A0000DE882268B76388B4E2E8B7E04AB8BF725 +:1014B00033C0AB32DB8ABEA300494983F9087217F7 +:1014C000E941FF814E38000483C2F88A86A50024D2 +:1014D000FA8886A500EEC3E945FF83C208EC88863A +:1014E000AA00C0E8048AE08AC88686A90032E08B98 +:1014F0005E3E84E3744F8AC18B4E26F6C504740C9D +:10150000A808740580E1BFEB0380C940F6C50874E4 +:101510000CA802740580E17FEB0380C980884E2609 +:101520008BF08A86A50084C97408A802741524FD6E +:10153000EB06A802750D0C028886A50083EA0AEE68 +:1015400083C20A8BC684E77501C3C686BA0001B0A0 +:101550000EE8EEFAF74638000274EE837E2E06722D +:10156000E88AA6AA00C45E048B7E2CB0FFAAB00253 +:10157000AB26830703836E2E03897E2CF646382024 +:101580007401C3834E3820B000E8B6FAC39083EAF2 +:1015900008E9B4FD83C2068B5E26F6C3C075EF8BE7 +:1015A0004E1CEC8886A40083EA0AA82075028ACD26 +:1015B00032ED8B461A3BC87318014E2A2BC189465F +:1015C0001AC57600F36E8ED98976003D2000723000 +:1015D000C385C074318BC801462AC57600F36E8E70 +:1015E000D980CB02895E26E832F1F6C701751683F1 +:1015F000C202E853FDF6C710750BB002E843FAC308 +:10160000F6C70174F0C380CB02895E26F6C7017469 +:10161000DE83C202E831FDF686A40040740B80E749 +:10162000FE80CF02895E26EBCCB004E814FAC3C07A +:10163000C2C8CAC4C6CCCED0D2D8DAD4D6DCDE90EA +:10164000E90E01E4C48AE0E4C48BD083F90872F0A7 +:1016500026833F0074048BDF49498BFB8ADE83E3DA +:101660000F2E8AA72F16ABF6C4107424F7C60010ED +:10167000740B50FE86B200B00AE8C6F958F7C600EF +:1016800001740DE8A0248B76388B4E2E8B7E04AB34 +:10169000897E0433C0AB4949894E2E897E2C8BC18B +:1016A000EB4E90EB9E90E4D684C07963E6D08AC876 +:1016B00025030003D8D1E32E8BAF4400888EAE0003 +:1016C0008B4E2EC45E048B7E2C8B7638E4862407EA +:1016D0003C0375CFE41C913BC173028BC82BC189BD +:1016E000462E014E3426010FBAC400F36C897E2CBD +:1016F0003B463C721CF7C62000750B83CE208976D2 +:1017000038B000E83CF98A86AE00243FE6D6C3F93B +:10171000C3F7C60A007435F7C61000752F83CE10C4 +:10172000897638F7C60200740E50E4D824FEE6D855 +:1017300058F7C6080074155051B9E803E40A84C08C +:10174000E0FA84C07504B024E60A59583D4000739D +:10175000B58A86A50024EF8886A500E60C81CE1008 +:1017600004897638EBA00008040C0109050D020A73 +:10177000060E030B070F004080C02060A0E0105051 +:1017800090D03070B0F0E4D2E6D08AC825030003D0 +:10179000D8D1E32E8BAF4400888EAE00E4D8C0E8E9 +:1017A000048BD82E8A8766178AE08AC88686A900A5 +:1017B00032E0E4988B5E3E84E374548AC18B4E26FB +:1017C000F6C504740CA808740580E1BFEB0380C95A +:1017D00040F6C508740CA802740580E17FEB038015 +:1017E000C980884E268BF08A86A500F6C1FD740854 +:1017F000A806741924F9EB0FA8067511F6C5017532 +:10180000040C04EB020C028886A500E60C8BC6844F +:10181000E775098A86AE00243FE6D2C3C686BA00C1 +:1018200001B00EE81CF8F74638000274E6837E2EFD +:101830000672E08A86A9008AE08686AA008AC832F3 +:10184000C480C90B22C1C0E4040AE0C45E048B7EDC +:101850002CB0FFAAB002AB26830703836E2E038948 +:101860007E2CF646382075AB834E3820B000E8D188 +:10187000F7EBA090E41224DFE61281E3FE9F895E7D +:1018800026836648F7EB7390F6C72075E7E4120CE1 +:1018900020E61232C0E6C6B083E6C680CF20895E5D +:1018A000268A86A5000C028886A500E60CEB7490BB +:1018B000F6C74075D3E4120C20E61232C0E6C6B07B +:1018C00081E6C680E7DF80CB01895E26B006E8713D +:1018D000F7908A86A50024F9E60C8886A500EB43DC +:1018E000E4D4E6D08BF825030003D8D1E32E8BAFE8 +:1018F00044008B5E26F6C76075B6F6C3C075D3BAD2 +:10190000C6008B4E1C8B461A3BC8731E014E2A2BF9 +:10191000C189461AC57600F36E8ED98976003D20BE +:1019200000723D8BC7243FE6D4C385C074398BC891 +:1019300001462AC57600F36E8ED983CB02895E26D6 +:10194000E8D9EDF6C70175398A86A50024F9E60CB9 +:101950008886A500F6C71075CAB002E8E4F6EBC3A6 +:10196000F6C70174EFEBBCF6C70174DC8A86A500EC +:10197000A802741181E3FFFE81CB0002895E26EB91 +:10198000C78A86A50024FB0C02E60C8886A500EB1E +:101990009290FDF7DF7FFEFBEFBF0004000405041B +:1019A00005040104000405040504060406040504F6 +:1019B00005040604060405040504020400040504E5 +:1019C00005040104000405040504060406040504D6 +:1019D00005040604060405040504070407040504B9 +:1019E00005040704070405040504060406040504A9 +:1019F0000504060406040504050407040704050499 +:101A00000504070407040504050406040604050488 +:101A10000504060406040504050403040004050483 +:101A20000504010400040504050406040604050475 +:101A30000504060406040504050402040004050464 +:101A40000504010400040504050406040604050455 +:101A50000504060406040504050407040704050438 +:101A60000504070407040504050406040604050428 +:101A70000504060406040504050407040704050418 +:101A80000504070407040504050406040604050408 +:101A90000504060406040504050433DB8AD88A8796 +:101AA0006C12E6FEC1E302E4CEA8047509A8027434 +:101AB00003E92CFEF9C35053E8CBFC5B58A8027431 +:101AC00003E91CFEF8C333DB8AD88A876C12E6FE72 +:101AD000C1E302E9D0FB9A1AC61A00000200040012 +:101AE00002000600020004000200080002000400D8 +:101AF000020006000200040002000A0002000400C6 +:101B000002000600020004000200080002000400B7 +:101B1000020006000200040002000C0002000400A3 +:101B20000200060002000400020008000200040097 +:101B3000020006000200040002000A000200040085 +:101B40000200060002000400020008000200040077 +:101B5000020006000200040002000E000200040061 +:101B60000200060002000400020008000200040057 +:101B7000020006000200040002000A000200040045 +:101B80000200060002000400020008000200040037 +:101B9000020006000200040002000C000200040023 +:101BA0000200060002000400020008000200040017 +:101BB000020006000200040002000A000200040005 +:101BC00002000600020004000200080002000400F7 +:101BD00002000600020004000200C390DA1494150B +:101BE0005C13E613DA1BDA1BE613DA1B8B94641220 +:101BF000C1E604A80174355033C08AC2E6FEE4A0F1 +:101C000085C074278BD82E8A9FDA1A52562E8BA83D +:101C100044008B5628ECA801750D8886AD00240E73 +:101C20008AD82EFF97DC1B5E5AEBCD58A80274367B +:101C300083C61033C08AC6E6FEE4A085C074278B35 +:101C4000D82E8A9FDA1A52562E8BA844008B56281B +:101C5000ECA801750D8886AD00240E8AD82EFF975A +:101C6000DC1B5E5AEBCDC39032E48BD88BD02E8A2E +:101C70009F9A192E2297921956528AC3240303C69B +:101C800080E304D0EB2EFF97D61A585EA955007555 +:101C9000D9C3601E062BC08ED8A15C12E6FEE400FC +:101CA00022C4740833F6E8BFFFEBEE90E40407E4C7 +:101CB000041FB80080BA22FFEF61CF90601E062B90 +:101CC000C08ED8A15E12E6FEE40022C47408BE04F1 +:101CD00000E894FFEBEDE40407E4041FB80080BAC9 +:101CE00022FFEF61CF90601E062BC08ED8A15C1240 +:101CF000E6FEE40022C4741833F6E86BFFA160121C +:101D0000E6FEE40022C474E5BE0800E85AFFEBDDFD +:101D1000A16012E6FEE40022C475EDE40407E404C9 +:101D2000A15C12E6FEE4041FE404B80080BA22FFBE +:101D3000EF61CF90601E062BC08ED8A15E12E6FE2A +:101D4000E40022C47419BE0400E81CFFA16212E67C +:101D5000FEE40022C474E4BE0C00E80BFFEBDCA13F +:101D60006212E6FEE40022C475EDE40407E404A177 +:101D70005E12E6FEE4041FE404B80080BA22FFEF1E +:101D800061CF601E062BC08ED8A15C12E6FEE480F7 +:101D900084C4740833F6E853FEEBEE90B80080BAC2 +:101DA00022FFEF071F61CF90601E062BC08ED8A1C7 +:101DB0005E12E6FEE48084C47408BE0200E82CFED5 +:101DC000EBEDB80080BA22FFEF071F61CF90601ED5 +:101DD000062BC08ED8A16012E6FEE48084C474088D +:101DE000BE0400E806FEEBEDB80080BA22FFEF0764 +:101DF0001F61CF90601E062BC08ED8A16212E6FE36 +:101E0000E48084C47408BE0600E8E0FDEBEDB80091 +:101E100080BA22FFEF071F61CF90601E062BC08E95 +:101E2000D8A15C12E6FEE40022C4741833F6E83749 +:101E3000FEA16012E6FEE48084C474E5BE0400E8FE +:101E4000AAFDEBDDA16012E6FEE48084C475EDA17D +:101E50005C12E6FEE40407E4041FB80080BA22FF27 +:101E6000EF61CF90601E062BC08ED8A15E12E6FEF9 +:101E7000E40022C47419BE0400E8ECFDA16212E67D +:101E8000FEE48084C474E4BE0600E85FFDEBDCA1E0 +:101E90006212E6FEE48084C475EDA15E12E6FEE403 +:101EA0000407E4041FB80080BA22FFEF61CF601E70 +:101EB000062BC08ED8A15C12E6FEE48084C47418A0 +:101EC00033F6E827FDA16012E6FEE40022C474E5C3 +:101ED000BE0800E892FDEBDDA16012E6FEE4002200 +:101EE000C475EDE40407E4041FB80080BA22FFEFD4 +:101EF00061CF601E062BC08ED8A15E12E6FEE48084 +:101F000084C47419BE0200E8E2FCA16212E6FEE499 +:101F10000022C474E4BE0C00E84DFDEBDCA16212AB +:101F2000E6FEE40022C475EDE40407E4041FB800F3 +:101F300080BA22FFEF61CF90601E062BC08ED8A121 +:101F40005C12E6FEE48084C4741833F6E89DFCA1BC +:101F50006012E6FEE48084C474E5BE0400E88CFCF4 +:101F6000EBDDA16012E6FEE48084C475ED071FB8C6 +:101F70000080BA22FFEF61CF601E062BC08ED8A171 +:101F80005E12E6FEE48084C47419BE0200E85CFCC4 +:101F9000A16212E6FEE48084C474E4BE0600E84B4D +:101FA000FCEBDCA16212E6FEE48084C475ED071F41 +:101FB000B80080BA22FFEF61CF90601E062BC08E62 +:101FC000D8902AC0E6FEE4CEA801741433DBE8D52D +:101FD000F6EBEF90B80080BA22FFEF071F61CF90B9 +:101FE000F60605010175EDB001E6FEE4CEA8017428 +:101FF000E3BB0400E8AFF6EBC990601E062BC08E71 +:10200000D890FB90FA2AC0E6FEE4CEA802741333FF +:10201000DBE8CCF8EBECB80080BA22FFEF071F61D9 +:10202000CF90A80474F033DBE85BF7EBD590601E2B +:10203000062BC08ED890FB90FAB001E6FEE4CEA845 +:10204000027415BB0400E897F8EBEB90B80080BA77 +:1020500022FFEF071F61CF90A80474F0BB0400E8D3 +:1020600024F7EBD26A001FC6069312099C0EE86B98 +:10207000F2906A001FC6069312299C0EE85DF2904A +:10208000722072207220CE1D921CE61C1A1E722035 +:10209000821DAE1E381F7220821D72207220381FD2 +:1020A000722072207220F41DBC1C341D641E72202C +:1020B000A81DF21E781F7220A81D72207220781FA2 +:1020C000FCB940008CCBB864202BFFAB93AB93E200 +:1020D000FAC7064C00A811833E4412007520C706BB +:1020E0003C00084BC7063000BA1FC7063400FA1F71 +:1020F000F6060501017506C70638002E20C3C7067F +:102100003C00564B33DB8A1E5412C1E302021E56BA +:10211000122E8B878020A330008A1E5512C1E30245 +:10212000021E57122E8B87A020A33400C38B869EDD +:1021300000E6FE86C4E6D0C38B869E00E6FE33D260 +:102140008AD4C351B91027E40A909084C07405E280 +:10215000F659F9C359F8C384C0781E518AE88AC871 +:10216000B80100D3E0098698003AAEA00059751076 +:10217000E8A9E5834E2602F9C39889869800EBF01A +:10218000F8C384C07812518AE08AC8B80100D3E04D +:1021900059F7D021869800C3C78698000000C383F2 +:1021A000C2048A86A6000C04EE83EA04C3E893FF07 +:1021B0007204B082E60AC38B4626A8FD74118A8693 +:1021C000A500A806740824F98886A500E60CC3F6C5 +:1021D000C401740A8A86A50024FB0C02EB0CA80239 +:1021E000750F8A86A50024FD0C043A86A50075D8D3 +:1021F000C38A86A500EBCFE4D833DB8AD8C0EB04D2 +:102200002E8A9F6617889EA9008B5E2680E33FF684 +:10221000C7047407A810750380CB40F6C70874077D +:10222000A880750380CB40885E268A86A500F6C309 +:10223000FD740DA806740824F98886A500E60CC371 +:10224000F6C70174040C02EBF0F6C30275E90C0446 +:10225000EBE7C404C4048504590448044104C303DF +:10226000820341038202570241028201410182003E +:1022700041004E02AD0157012D002B002700210027 +:102280001600F404F404A3046F045B045104F40383 +:10229000A3035103A3026D025102A3015101A30044 +:1022A00051006202D9016D01380036003100290069 +:1022B0001B005157BF0200EB0F905156BF0100EBBE +:1022C00007905156BF0300903C197602B017988BC7 +:1022D000F08A82C4002AE48BF083FE187346D1E6AC +:1022E0002E8B8C5222F74638800074052E8B8C8200 +:1022F00022F7C7020074123B8E9400740C898E94EE +:10230000008AC5E6EC8AC1E6E4F7C7010074123B17 +:102310008E9600740C898E96008AC5E6F88AC1E60E +:10232000F05E59C377068B8E8E00EBC58B8E9000C6 +:10233000EBBFD503F6003E0010000400CA043301D1 +:102340004D00140005000103050709000102030404 +:1023500080841E00A02526000000608BF033FF2E35 +:10236000A150232E8B165223BB3223F74638800010 +:10237000740C2EA154232E8B165623BB3C23B90577 +:10238000002E3B31730A4747E2F7B8FFFFEB1D9081 +:10239000D1EF2E8A8D46232AEDD1EAD1D8E2FAF781 +:1023A000F6050200C1E8022E8AA54B232EA358236E +:1023B000612EA15823C3080020008000000260099C +:1023C0000800200080000002000800000100020058 +:1023D0000300040052565785C074053D0109760379 +:1023E000B80109BF5B01F7463880007403BFB20132 +:1023F00033F62E3B84B62376044646EBF5F7E72EFC +:102400008BBCC02303C783D200D1E7F7F72E8AA481 +:10241000CA235F5E5AC3E43E80BEC30003750CF757 +:10242000467A200074050C80E63EC3247FE63EC356 +:1024300024038886C3008AE0E41024FC0AC4E61062 +:10244000808EA10042E8CEFFC390568BF083E60752 +:10245000D1E62EFFA458249068246C2470247424A0 +:102460007824872487248724B400EB0EB4C0EB0AB9 +:10247000B440EB06B420EB02B4A0E410241F0AC45D +:10248000E610808EA100425EC3903C0277128AE083 +:10249000E41024F3C0E4020AC4E610808EA10042D6 +:1024A000C3908B5E3884C0741F3C02742083CB08B9 +:1024B0008B462E3B463C770CE888FC7207B024E63E +:1024C0000A83CB10895E38C383E3F7EBF7F7C310B9 +:1024D0000074F5E86DFC72EC8A86C000E638B02323 +:1024E000E60AEBE08B5E388B462E3B463CE4D87721 +:1024F0000B24FE80CB12E6D8895E38C30C0180CB5A +:1025000002EBF35033DBC1E804250F0F8AD82E8A83 +:102510008766178ADC2E8AA7661709463E58C3507D +:1025200033DBC1E804250F0F8AD82E8A8766178A05 +:10253000DC2E8AA76617F7D021463E58C38B463E4D +:1025400033DB8AD80ADC2E8A877617E62C8AE0E409 +:102550002A240F0AC4E62A8A86A50084E4750DA8F9 +:10256000807411247F8886A500E60CC3A8807504BA +:102570000C80EBF1C31E6033C933D233F68ED98D94 +:10258000BEFD00578B0584C074168BD1428BFE4F65 +:10259000780938A3E40074084F79F788A2E400466C +:1025A0005F83C7094183F91072D989B6860089967D +:1025B0008400611FC353C7466600008B4664A94070 +:1025C00000740DB300A980007402B37F889EC1001F +:1025D00032DBA90200740380CB40A9004074038061 +:1025E000CB02A90080740380CB01A9301E74038044 +:1025F000CBBCA90020740380CB08A904017403801C +:10260000CB10A90800740380CB20889EC2005BC356 +:102610000651575016078DBEC400B91F0033C0AA1B +:1026200040E2FC8B86920089868E00898690005855 +:102630005F5907C3E4D8C0E80453250F008BD82E98 +:102640008A8766178886A9005AC30886AC00C686A2 +:10265000BA0001B00EE8EAE9C3AD36A3B413AD3653 +:10266000A3B613AD36A3B81383E90636F706B6133F +:102670000F00C38A4626F74648800074020C108873 +:1026800086BD0032C0837E1A00750E8B5E4043808B +:10269000E3FE3B5E0875020C01837E3A00750D1E59 +:1026A000C55E148B1F1F85DB75020C02F7463810C0 +:1026B0000074020C048B5E7AF7C3020074020C08EB +:1026C000F7C3040074020C10F7C3080074020C2056 +:1026D000F7C3400074020C408886BF00C3906A00B4 +:1026E0001FC60693120D9C0EE8F1EB90B002E6DADD +:1026F000F8C333C0E6DAF8C3B001E6D8F8C333C094 +:10270000E6D8F8C3B0FFE84EFAE8A1FAF8C3AC493E +:10271000E8AFFBF8C390AC49E815FDF8C390AC49AD +:10272000E867FDF8C390AC49E81FFDF8C390AC49D9 +:10273000E634F8C3AC49E636F8C3AC493C02771F2F +:1027400084C0751DE41424EFE614E412243FE6125D +:10275000E416A8047409E8EAF97204B018E60AF865 +:10276000C38AE0E4140C10E614E4120CC0F6C401B1 +:102770007402247FE612F8C3AC49E825FDF8C39043 +:10278000B80040E87DFDE8B4FDE8A8FEB001E8B976 +:10279000FEF8C390B80040E885FDE8A0FDF8C390BE +:1027A000B80010E85DFDE894FDE888FEB008E899FF +:1027B000FEF8C390B80010E865FDE880FDF8C3900E +:1027C000B80080E83DFDE874FDE868FEB002E879F5 +:1027D000FEF8C390B80080E845FDE860FDF8C390BE +:1027E000B80020E81DFDE854FDE848FEB004E859B3 +:1027F000FEF8C390B80020E825FDE840FDF8C3903E +:10280000AC49E84814E43C24E70AC4E63CF8C39029 +:10281000B8FC3B89467CE43C0C18E63CF8C3E41267 +:102820000C02E612F8C3E41224FDEBF6E8B5FCF85E +:10283000C390836638FDF8C3AC49A8017406834E83 +:102840007A20EB0483667ADFE8CBFBF8C3908A86B4 +:10285000A5000C0224FB8886A500E60C814E26010B +:1028600020AC4932E489466E834E48084946F9C394 +:102870008A86A5000C0224FB8886A500E60C814E02 +:10288000260120ACB40AF6E4EBD8E8FA13E43C24C1 +:10289000F80AC4E63CF8C390AD4949894664A901E9 +:1028A00000741B8BD883E3FA751AA90400740FE433 +:1028B0003E0C02E63EB83844894662F8C390E43ED6 +:1028C00024FCEBEFE43E24FCE63EE8E8FCB8AA403A +:1028D000EBE6E86EF87205B018E60AF8C390AC496A +:1028E000E8CFF9F8C390AC49E8CFF9F8C390E868AD +:1028F000FD750632C0E6DAF8C3B002E6DA36A0B4F7 +:102900001324103410E8160136A1B413A901007481 +:1029100005E8FCFEEB0EA90200740432C0EB02B025 +:1029200001E8DEFE36A1B413E8B513E43C24F80A4E +:10293000C4E63C36A1B413C1E805250100E8FAFE5F +:1029400036A0B5132410E859FB32C0368A26B513D9 +:10295000F6C4047409FEC0F6C4087402FEC0E8DBC5 +:10296000FD36A1B613250F00E857F936A1B613C1FD +:10297000E804250300E8B8FA36A1B613C1E8052536 +:102980000200E805FB36A1B613F6C401750432C097 +:10299000EB0980E402D0ECB0022AC4E8ACFA36F6C7 +:1029A00006B713407405E883FEEB03E884FE36F6B1 +:1029B00006B713207405E865FEEB03E868FEF8C36C +:1029C000E4120C01E612F8C3E41224FEEBF6E41460 +:1029D00024F00C05E614E42A24F00C06E62AF8C3D9 +:1029E000E42A24F0E62AE41424F00C07E614F8C3E1 +:1029F000AD4949E864F989868E00F8C3AD4949E8D4 +:102A000058F989869000F8C3834E2604E8A8F7F8A1 +:102A1000C390836626FBE89EF7F8C390AC4984C058 +:102A2000750DE41024EFE610808EA10042F8C3E497 +:102A3000100C10EBF190AC493C02760232C0C0E0C1 +:102A400004A82074020C0824188AE0E41224E70A7F +:102A5000C4E612808EA10044F8C3AC498886C00049 +:102A6000F8C3AC49E63AF8C3AC4984C07408E41230 +:102A70000C04E612F8C3E41224FBEBF6AC49E8D6EA +:102A8000F67303E827F7F8C3E412A802740424FDE0 +:102A9000E612B8F000E887FA816626FFF3E857F7F8 +:102AA000E89AFAF8C390B88000E857FA804E2708F1 +:102AB000E844F7E887FAF8C3B88000E861FA81666D +:102AC00026FFF7E831F7E874FAF8C390B81000E889 +:102AD00031FA804E2704E81EF7E861FAF8C3B8100F +:102AE00000E83BFA816626FFFBE80BF7E84EFAF8B0 +:102AF000C39033C0AC493C017304B001EB063C0CFD +:102B00007602B00C89461CF8C390814E2600208ABC +:102B100086A5000C0224FB8886A500E60C834E26C1 +:102B200001F8C390814E2600408A86A5000C0288D9 +:102B300086A500E60CF8C390AC4950E805F658723B +:102B400008E638B023E60AF8C3F9C390AC50ADE804 +:102B500082F85AF6C201741239869600740C89867E +:102B60009600E6F086E0E6F886E0F6C202741039D8 +:102B7000869400740A89869400E6E486E0E6EC8395 +:102B8000E903C390E4168886BC00E8E6FA33DBE488 +:102B90000CA806740380CB01A810740380CB02A894 +:102BA00080740380CB04E4128AE024180AD8E4DAA3 +:102BB000F6C4027407A840750380CB20A8027509EB +:102BC000E42AA80F740380CB40F74638020074094A +:102BD000E4D8A801750380CB80889EBE00FE86B431 +:102BE00000B00AE85CE4F8C3AC493C027441771FCA +:102BF00050E84FF558720C84C0740AB012E60A808F +:102C00004E3801F8C3B011E60A806638FEF8C38B6F +:102C1000463825FFF7894638A9000475E68A86A557 +:102C200000A81075DE0C108886A500E60CF8C3819C +:102C30004E3800088A86A500A81074C724EFEBE779 +:102C4000AD49493C0172113C0C770D508AE0E41407 +:102C500025F00F0AC4E614588AC484C07402E64200 +:102C6000F8C3E8CFF9FE86B900B00EE8D4E3F8C3A4 +:102C70003A86AF00741F8886AF008AE080C206B033 +:102C8000BFEE80EA028AC4EE8A86A80080C202EE05 +:102C900080EA068AC4C38B463E85C08A86A5007436 +:102CA00012A808750D0C088886A50080C202EE8067 +:102CB000EA02C3A80874FB24F7EBEC8B462684C019 +:102CC00074168A86A500A802740D24FD8886A500C6 +:102CD00083C202EE83EA02C38A86A500A80275F7C2 +:102CE0000C02EBE85283C20CECC0E8048886A90011 +:102CF0008B5E2680E33FF6C7047407A8087503803F +:102D0000CB40F6C7087407A802750380CB80885EA5 +:102D1000268A86A50084DB7410A802740A24FD8824 +:102D200086A50083EA0AEE5AC3A80275FA0C02EBE4 +:102D3000EE90FFFF00480030BA20C41A00180012BD +:102D4000000C0006000300028001C000600030009B +:102D50001800CD0100018000100010000E000C00D2 +:102D6000080000000000060004000300020001004B +:102D70005251563C1E7747988BF08A82C40032E449 +:102D800083FE18743D83FE19743E83FE1E772FD197 +:102D9000E62E8B8C322D3B8E94007422898E94000B +:102DA00083C2068A86A8008AE00C80EE83EA068A3F +:102DB000C1EE83C2028AC5EE83C2048AC4EE5E59A4 +:102DC0005AC38B8E8E00EBCE8B8E9000EBC8525187 +:102DD0003D05007703B805008BC8BA0200B800D0E3 +:102DE000F7F1050100D1E8595AC38B467AA820743F +:102DF0000B80BEC3000375040C01EB0224FE894660 +:102E00007AC324038886C3008AA6A8008ADC80E4EB +:102E1000FC0AC43AC3740B8886A80083C206EE83FA +:102E2000EA06E8C5FFC30008183828903C04772359 +:102E300032E48BD82E8A87262E8AA6A8008ADC80C8 +:102E4000E4C70AC43AC3740B8886A80083C206EE9E +:102E500083EA06C384C07402B0048AA6A8008ADC90 +:102E600080E4FB0AC43AC3740B8886A80083C206B8 +:102E7000EE83EA06C3908B5E3884C074343C0274DF +:102E80003B8A86AF000C04E8E6FD8B462E3B463CB1 +:102E9000771BF7C30004751581CB000483C2028A37 +:102EA00086A50024FA8886A500EE83EA02895E38AA +:102EB000C38A86AF0024FBE8B6FDEBF1F7C3100030 +:102EC00074EFEBED83C20CEC83EA0CC0E804888657 +:102ED000A900C3908A86A7000C018886A7008BDA18 +:102EE00080C208EE8BD3F8C38A86A70024FEEBEAE3 +:102EF0008A86A7000C02EBE28A86A70024FDEBDAA3 +:102F0000B0FFE852F2E897F2F8C3AC49E861FEF886 +:102F1000C390AC49E8EBFEF8C390AC49E835FFF844 +:102F2000C390AC49E805FFF8C3905283C206B0BF16 +:102F3000EE5283C202AC49EE5A8A86A800EE5AF8D5 +:102F4000C3905283C206B0BFEE5283C206EBE69036 +:102F5000AC493C02770D84C0750B8A86AF0024FD16 +:102F6000E80DFDF8C3508A86AF000C02E801FD5B56 +:102F700083C2088A86A700F6C301740C24DF888602 +:102F8000A700EE83EA08F8C30C20EBF2AC49E8E5B1 +:102F9000FEF8C390B80040E869F5E8F9FCE824FFC2 +:102FA000B001E8A5F6F8C390B80040E871F5E8E58F +:102FB000FCF8C390B80010E849F5E8D9FCE804FF34 +:102FC000B008E885F6F8C390B80010E851F5E8C5F8 +:102FD000FCF8C390B80080E829F5E8B9FCE8E4FE05 +:102FE000B002E865F6F8C390B80080E831F5E8A5CE +:102FF000FCF8C390B80020E809F5E899FCE8C4FEA5 +:10300000B004E845F6F8C390B80020E811F5E8856B +:10301000FCF8C390AC49E8340CF8C390B8FC3B8989 +:10302000467CF8C38A86AF000C80E843FCF8C39066 +:103030008A86AF00247FEBF28A86AF000C40E82F2F +:10304000FCF8C3908A86AF0024BFEBF2AC49A8011C +:103050007407834E7A20EB059083667ADFE88AFD59 +:10306000F8C383C2068A86A8000C408886A800EEB2 +:1030700083EA06AC4932E489466E834E2601834ECC +:103080004808B006E8BBDF4946F9C39083C2068A08 +:1030900086A8000C408886A800EE83EA06ACB40A35 +:1030A000F6E4EBD0E8E00BF8C390AD4949894664FB +:1030B000A9010074198BD883E3FA750AA904007476 +:1030C0000DB8E23FEB0BE8ECF4B8AA40EB03B838DC +:1030D00044894662F8C38A86AF00A802740A24FDB8 +:1030E000E88DFB0C02E888FBF8C3AC49E881FCF8EA +:1030F000C390AC49E879FCF8C390E85CF57505E845 +:10310000E6FDF8C3E8CDFD36A0B41324103410E872 +:10311000260136A1B413A901007405E8FEFEEB0EEA +:10312000A90200740432C0EB02B001E8E8FE36A147 +:10313000B413E8AB0B36A1B413C1E805250100E8D0 +:103140000CFF36A0B5132410E82BFD32C0368A26BA +:10315000B513F6C4047409FEC0F6C4087402FEC0B8 +:10316000E8EFFD36A1B613250F00E803FC36A1B643 +:1031700013C1E804250300E888FC36A1B613C1E8B2 +:1031800005250200E8CDFC36A1B613F6C40175048E +:1031900032C0EB0980E402D0ECB0022AC4E88CFC17 +:1031A00036F606B713407405E88DFEEB03E894FE8F +:1031B00036F606B713207405E869FEEB03E870FEE7 +:1031C000F8C3F8C38B4638A9040075230D040089A1 +:1031D000463883C2088B462E3B463C7314834E38D8 +:1031E000108A86A70024FE8886A700EE83EA08F8E6 +:1031F000C38A86A7000C01EBEE908B4638A9040029 +:10320000740625FBFF894638F8C3AD4949E8BEFB83 +:1032100089868E00F8C3AD4949E8B2FB89869000E3 +:10322000F8C3834E2604E892FAF8C390836626FB1F +:10323000E888FAF8C390AC4984C07507808EA30073 +:1032400004F8C380A6A300FBF8C3AC4983C2083CC2 +:1032500002760232C03C017412770B8A86A70024E2 +:10326000EF8886A700EE83EA08F8C38A86A7000CD9 +:1032700010EBEE905283C206B0BFEE5283C204AC94 +:1032800049EE5A8A86A800EE5AF8C3905283C206C5 +:10329000B0BFEE5283C208EBE690AC49F8C3AC492C +:1032A000E8B4EE7303E8F7EEF8C38A86AF00247F34 +:1032B000E8BDF9B8F000E866F2816626FFF3E8237E +:1032C000FAE8D2F9F8C3B88000E837F2804E270850 +:1032D000E811FAE8C0F9F8C3B88000E841F2816665 +:1032E00026FFF7E8FEF9E8ADF9F8C390B81000E85A +:1032F00011F2804E2704E8EBF9E89AF9F8C3B81008 +:1033000000E8FFF1816626FFFBE8D8F9F8C3AC4975 +:10331000F8C383C2068A86A8000C408886A800EEFF +:1033200083EA06F8C39083C2068A86A80024BFEB0E +:10333000EA90AC498AE080C20AEC80EA0AA82074CC +:10334000058AC4EEF8C30651578B4E24E3344989ED +:103350004E24FF461A8E46028B7E228AC4AA897E9C +:10336000228B462624FD89462675298A86A500A833 +:1033700002752180C2020C028886A500EE80EA0256 +:10338000EB12C47E003B7E1E760A4F268825897E7E +:1033900000FF461A5F5907F8C390ACAD83E9038577 +:1033A000C074053D00207205B8FFFFEB03C1E003C8 +:1033B0003B8694007426898694008BD85283C2067B +:1033C0008A86A8008AE00C80EE83EA068AC3EE8330 +:1033D000C2028AC7EE83C2048AC4EE5AF8C3B08818 +:1033E0008886BC00E88CF233DB8A86A500A80274CC +:1033F0000380CB01A805740380CB02A80874038066 +:10340000CB04F686A70010740380CB108A86A9002F +:10341000F6C304750A83C20CEC83EA0CC0E8048A84 +:10342000E08A86AF00A8807408F6C401750380CBDB +:1034300020F686A70002750AF74638040074038058 +:10344000CB40889EBE00FE86B400B00AE8F3DBF8ED +:10345000C3FE86B400B00AE8E8DBF8C3AC493C021E +:103460007437771084C07406804E3801F8C38066C4 +:1034700038FEF8C38B463825FFF7894638A9000483 +:1034800075EA8A86A500A80175E20C0583C2028848 +:1034900086A500EE83EA02F8C3814E3800088A86CA +:1034A000A500A80174C624FAEBE2AD4949F8C3901F +:1034B000E811FAFE86B900B00EE886DBF8C3B0FF6B +:1034C000E8BFECF8C39083667AFBB000E873DBF8E2 +:1034D000C390AC49E853D9721136881E1A0136A040 +:1034E0008E120AC352BA0001EE5AF8C3AC4932E454 +:1034F00036A38612050600368B1E88122BD8368915 +:103500001E8A12F8C390AD8BD8AD83E90403C32B98 +:103510004676894678F7467A0200740A83667AFD11 +:10352000B80000E81CDBF8C3061607AC49250F00FD +:103530006BC0098DBEFD0003F8AC49250F00AA85BC +:10354000C074082BC8518BC8F3A459E827F0E8448D +:103550000307F8C333C0AC4936A3B21336A3B01384 +:10356000F8C383667AEFE82C03F8C390834E7A1091 +:10357000EBF4E89BF0F8C390AD3C19770E3C19775B +:103580000A8BF881E7FF0088A6C400F8C390834E39 +:103590002620AC4932E4D1E08BD8C1E30203C389D1 +:1035A000466E834E4804B006E897DA4946F9C39060 +:1035B000FE86B300B00AE889DAF8C39033C0AC499C +:1035C0006BC00A89868A00F8C390AC4932E43D0A90 +:1035D000007705B80A00EB083D5A007203B85A009C +:1035E00051F7D80564008BC88B4644F7E1B96400F5 +:1035F000F7F189464659F8C3AC49E885EBF8C39022 +:10360000AC4984C07507816638FFFDF8C3814E3828 +:103610000002F74638400075088A86A9008886AA05 +:1036200000F8C3905156E87F0C5E59F8C390FE86AF +:10363000B600B00AE80BDAF8C390FE86B700B00A0D +:10364000E8FFD9F8C390FE86B800B00AE8F3D9F8CD +:10365000C39000905155AC2EA2523633C9AD8BF9B0 +:10366000C1E705A9010074232E8BAD4400837E08B9 +:103670000074182E803E523601740960B004E8BB15 +:103680000C61EB0760B0FBE8EC0C614747D1E875D3 +:10369000D24183F90472C65D5983E905F746384083 +:1036A000007405E887EAF8C3E88DEAF8C39036C6E7 +:1036B00006C81301F8C333C0AC4936A38012AC4925 +:1036C000362B068812F7D836A38212F8C390DE266E +:1036D000DE26EC26F226F826FE2604270E271627DD +:1036E0001E2726272E273427BE34C634D2343A2745 +:1036F000782780279427A027B427C027D427E0273E +:10370000F42700281028EC34DE261E2826282C2832 +:10371000322838284E288A28063528359828BE2889 +:10372000D228DE28E628543562356C35EE28C029CB +:10373000C829CE29E02972357835F029FC298E3543 +:10374000082A122A1C2AB035362ABC355A2A622A7F +:10375000682ACA357C2AF835882AA62AB82ACC2AAB +:10376000DE2AF22A00360A2B242B2436382B4C2B47 +:10377000842B2E363A3646365436E82BAE36402C5D +:10378000622CB6367028DE26DE26D42EE82EF02EE9 +:10379000F82E002F0A2F122F1A2F222F2A2F422FF6 +:1037A000BE34C634D234502F8C2F942FA82FB42F70 +:1037B000C82FD42FE82FF42F083014301C30EC34ED +:1037C000DE2624303030383044304C306230A43083 +:1037D00006352835AA30CE30D630EA30F2305435AE +:1037E00062356C35FA30C231C231C431FA317235CA +:1037F00078350A3216328E3522322C323632B035D6 +:103800004A32BC3574328C329A32CA359E32F8351F +:10381000AA32C632D832EC32FE320E3300361233C0 +:103820002633243632339A33DE332E363A36463652 +:1038300054365C34AE36AA34B034B6368C30E32815 +:10384000F7463840007532E8E3E833C0AC493D5BE9 +:103850000077198BD8D1E32EFF97CE36720B85C92E +:1038600075E88B4648E81A0CC34E41C36A001FC670 +:103870000693120C9C0EE863DAE8BCE833C0AC494E +:103880003D5B0077E78BD8D1E32EFF97863772D95F +:1038900085C975E8C3F7467A1000750F83BE8400AA +:1038A000007408B8483A89868000C381BE8000EC65 +:1038B0003C74F783BE8800007505B8EC3CEBE7F775 +:1038C000467A080075401E608B8E88003B4E7477E8 +:1038D000333B4E78772EC47E108BDF26033D47475F +:1038E00033C08ED88DB6F4008BC1F7467A010075CF +:1038F0001DF3A4260107294678014676294674B0AF +:103900000CE83ED7611FC78688000000EBACE3E3FC +:103910005090AC247FAAE2FA58EBD8908B8E8800A6 +:10392000E3468B9E8A0085DB743EBA50FFED2B8602 +:1039300082003BC372378DB6F400C47E108BDF2645 +:10394000033D47478BC1161FF7467A01007524F3E4 +:10395000A4260107294678014676294674C7868839 +:10396000000000B00CE8DAD683667AF7C3B000E84E +:10397000D0D6C3E3DC50AC247FAAE2FA58EBD29055 +:103980001E6033C08ED88DB6FD008B8688008B9666 +:1039900084003A0475108BDE468BC88DBEF400F3AC +:1039A000A674668BF39083C6094A75E68DB6FD0052 +:1039B0008B9684003A0473108BDE468BC88DBEF460 +:1039C00000F3A674768BF39083C6094A75E68DB62C +:1039D000F400ACF7467A01007402247F1EC55E1025 +:1039E0008B37884002468937FF4E78FF4676FF4E78 +:1039F000741F8B8E880049898E8800E3438DB6F44E +:103A0000008BFE46F3A4E97DFFC576108B1C85DB99 +:103A1000740803F383C60383E6FE8B8684002BC2FF +:103A2000B48089044646C7040000897610834E7A24 +:103A300004C78688000000611FF9C333C0611FC33B +:103A4000B08084C0611FC3908B4E782B8E88007627 +:103A50002789B68C008B5E743BCB72028BCB3BC844 +:103A600072028BC88BC1E34433D28EC28BD183BE2A +:103A70008800007406E98E0033C0C38B5E10031FFC +:103A8000434352F7467A0100752AAC8DBEE4008BA1 +:103A90008E8600F2AE74348807434A75ED588B5E0B +:103AA0001001072946780146762946748BC62B8675 +:103AB0008C00C390AC8DBEE4008B8E8600F2AE7499 +:103AC0000A247F8807434A75EBEBD28886F400C747 +:103AD0008688000100582BC2740E8B5E10010729E6 +:103AE000467801467629467440E894FE72BE4A75CF +:103AF0001583BE8A000074B4BA50FFED8986820037 +:103B0000834E7A08EBA68DBEF40003BE8800A4FFA6 +:103B1000868800E86AFE729479064A748FE95BFF32 +:103B20004A74CEEBE19050E811CC8B467439467262 +:103B300074271E565133C9C5760CAD74107809032D +:103B4000C805010024FE03F03B761076ED294E7681 +:103B5000014E78E837CC595E1F58C390C47E1026BA +:103B60008B1D83C30326891D4B03FBAB91AAB803AE +:103B700000294678014676294674C390C47E1026F3 +:103B80008B1D4326891D4303FBAAFF4E78FF467613 +:103B9000FF4E74C3E8E5FFC38081848582838687F6 +:103BA00050538ADC83E30ED1EB2E8A87983B08863C +:103BB000B000FE86B100B00AE887D45B58C3508AD3 +:103BC000C8B8FF00E895FF58C3908A86BB00E8ABF1 +:103BD000FFC3E8CBFFE8F2FFC390E8C3FFE8B4FF00 +:103BE000C39033C0E895FFC3B8FF0033C9E86CFF4A +:103BF000C390B8FF01B110E862FFC390C3FC3BE281 +:103C00003BF23BF23BFC3BE23BE83BE83BFC3BE26C +:103C10003BE83BE83BFC3BE23BE23BE23B00100085 +:103C20000000100000001000000010000000100054 +:103C3000000010000000100000001000000008004C +:103C40000000080000000800000008000051538B2D +:103C50004E3881E1FFEEA804740481C900018AE0B6 +:103C600080E4032418D0E40AC433DB8AD82E8B877F +:103C7000FD3B89467C2E0B8F1D3C894E38D1EB2EA7 +:103C80008AA73D3C5B59C3AC493C01721D74203C82 +:103C900003722374283C08722B74303C20723774F2 +:103CA0003ABBDA3B32E4895E7EC3BBA03BEBF5BB9B +:103CB000943BB401EBF0BBFC3BB402EBE9BBE23B51 +:103CC000B403EBE2BBBE3BB404EBDBBBCA3BAC4989 +:103CD0008886BB00EBCEBBD23BEBF3BBFC3BEBC41B +:103CE000A9040075D1A9080075DAEBD18B5E748B3D +:103CF0004E783BCB72028BCB3BC872028BC88BC118 +:103D0000E32CC47E108BDF26033D4747F7467A013C +:103D100000751CF7C70100740249A4D1E9F3A5732B +:103D200001A4260107294678014676294674C35026 +:103D300053BB7F7FF7C70100740549AC22C3AAD1EA +:103D4000E9E31D9CAD23C3AB497414AD23C3AB4958 +:103D5000740DAD23C3AB497406AD23C3ABE2E59D3F +:103D60007304AC22C3AB5B58EBB8E8CEC98B5E38AA +:103D7000F7C310047501C3F7C340007405E8B8E346 +:103D8000EB03E8A8E3816638EFFBF6C310743CF65A +:103D9000C3027406E4D80C01E6D8F6C30474118398 +:103DA000C2088A86A7000C01EE8886A70083EA086D +:103DB000F6C308740FE88BE3720A8A86C000E638FF +:103DC000B023E60AF7C300047501C3F7C300087502 +:103DD000F98A86A500F6C340750DA81075EC0C1085 +:103DE0008886A500E60CC3A80175DF83C2020C0516 +:103DF000EE8886A500C3B000E847D2EB0FB002E81A +:103E0000900EEB08836638DF834E7A0233C08ED87B +:103E1000FAA0921240A292123C05721EC60692129D +:103E200000FBB001E86B0EFAA1260123062A01A8C7 +:103E3000017507E8E207E8610990B000E837D2FBB6 +:103E400085ED74B9FAF7467A460075C08B46783D21 +:103E50000A0072B08B4E7483F950729A836638DF11 +:103E6000C576148B463A85C07558AD85C0750FE888 +:103E7000F8FEF7467A08007493E8A0FAEB8E3B76DA +:103E8000047621B90200394E2E7705C7462E000070 +:103E9000568B762C897604C7040000464689762C1A +:103EA000294E2E5E85C07917F6C4107405FF567C26 +:103EB000EB03FF567E897614B00CE885D1EB86893A +:103EC000463AFF96800029463A897614B00CE8718C +:103ED000D1E971FF0000000000000000080410029A +:103EE00001200000000000000000000000000000B1 +:103EF00000000000808080808080808080808080C2 +:103F000080808080808080808080808080808080B1 +:103F100080808080808080808080808080808080A1 +:103F20008080808080808080808080808080808091 +:103F30008080808080C0C0C0C0C0C0C0C0C0C0C0C1 +:103F4000C0C0C0C0C0C0C0C0C0C0C0C0C0C0C080B1 +:103F500080808000808080808080808080808080E1 +:103F60008080808080808080808080808080808051 +:103F70008080808080808080808080808080808041 +:103F80008080808080808080808080808080808031 +:103F90008080808080808080808080808080808021 +:103FA0008080808080808080808080808080808011 +:103FB0008080808080808080808080808080808001 +:103FC00080808080808080808080808080808080F1 +:103FD000808080804E417841D041F44106421842B1 +:103FE000C3908E46028B7E22897E6C806627FD8B75 +:103FF000562483FA0472E983EA028BD93BCA76021B +:104000008BCAB00A57518BFEF2AE8BC1595F751E39 +:1040100050402BC874062BD12BD9F3A4594B4A4AD4 +:10402000B00DAAA43BCA76028BCAE313EBD42BD9FA +:10403000F7C601007402A449D1E9F3A57301A4896C +:104040007E222B7E6C297E24017E1A8BCB807E26DD +:10405000027405806626FDC360B0FDE8180361C3E5 +:10406000C390E87C0272F990834E26208B466A89C1 +:10407000466E8B46480D040025BFFF894648B006B2 +:10408000E8BFCFC3897E222B7E6C017E1A297E2455 +:10409000807E26027405836626FDC360B0FDE8D5E8 +:1040A0000261C3908ABEC200EB24F7464840007507 +:1040B000B18E46028B7E22897E6C8B562483EA0A5F +:1040C000789E03D7806627FD33C08ABEC200E3B462 +:1040D0003BFA77B0AC49932E8A87D43E9322DF75A2 +:1040E00017AAE3A03BFA779CAC49932E8A87D43E6B +:1040F0009322DF7503AAEBD6F6C37F7505FF4666EC +:10410000EBDFF6C340750C8BD883EB08D1E32EFFB1 +:10411000A7D43FFF46662C20EBC785C0742C894688 +:104120006A834E4840897E222B7E6C017E1A297E4E +:1041300024807E26027408836626FDE8A301C360FE +:10414000B0FDE8310261E89801C3E957FF908B5E4A +:10415000664B7803895E66AA8B5E64F7C3002075A0 +:1041600003E940FFF7C3400074088A86C100AAE94A +:1041700032FFB83200EBA3908B5E66895E6883C322 +:104180000880E3F8895E668B5E6481E3001881FB3A +:104190000018742DAA85DB7425F746644000751855 +:1041A00081FB0010740C8B46662B4668C1E004E965 +:1041B00068FFB86400E962FF8A86C100AAAAE9E341 +:1041C000FE518B4E662B4E68B020F3AA59E9D4FEFF +:1041D0008B5E66895E688B5E64F7C324007410C7CB +:1041E00046660000F7C304007405B00DAAB00AAA21 +:1041F000EB489090AAF7466400407406B8D007E9EF +:1042000018FFE99FFE90AAF7466400807406B8D0B4 +:1042100007E906FFE98DFE908B5E66895E6885DBA7 +:10422000750C8B5E64F7C310007406E976FE8B5E36 +:1042300064F7C308007427B00AAAF7C32000751FEB +:10424000F7C300017503E95BFEF7C340007506B8CC +:104250006400E9C5FE8A86C100AAAAE946FEAAC78B +:1042600046660000F7C3000674F1F7C340007419F6 +:104270008A86C10081E3000681FB00047206760293 +:10428000AAAAAAAAAAAAE91BFE81E3000681FB004A +:1042900004720E7606B89600E97FFEB86400E979EC +:1042A000FE8B4668E973FE90368B0EDA1283F93284 +:1042B000731D1E0633C08ED88EC08D764CBFDC12A7 +:1042C00003F9A5A5A583C106890EDA12071FC3B09D +:1042D00008E86ECDC390836648FEE893C4E8C8FF43 +:1042E000C3F6462702750F9CFA837E1A0074098074 +:1042F0004E27019DF9C3F8C35052F7463840007469 +:104300001DE834DE83C20AECA840752783EA088AD8 +:1043100086A5000C028886A500EE5A58EBD1E80C61 +:10432000DE8A86A50024FB0C028886A500E60C5ACE +:1043300058EBBC804E27025A589DF8C30846269C6D +:10434000FA8A8EA500F7463840007514F6C1067447 +:1043500023E8D9DD8AC124F98886A500E60C9DC32F +:10436000F6C102740FE8D0DD83C2028AC124FD8841 +:1043700086A500EE9DC38B5E2622C3884626740167 +:10438000C3806627FD9CFA8A8EA500F74638400058 +:104390007516F6C104750FE893DD8AC124FD0C047F +:1043A0008886A500E60C9DC3F6C10275F9E888DD94 +:1043B00083C20AECA820750E83EA088AC10C028821 +:1043C00086A500EE9DC383EA0A33C98A4E1C8B463C +:1043D0001A3BC8731B014E2A2BC189461A1EC5768B +:1043E00000F36E1F89760083C2028A86A500EBCD9A +:1043F00085C0741201462A8BC81EC57600F36E1F55 +:10440000897600894E1AF6C701752380CB02895E32 +:1044100026E808C383C2028A86A50024FDEE8886AA +:10442000A500F6C7107505B002E816CC9DC383C27F +:10443000028A86A500EB86908BD18B46243BC876FA +:10444000028BC82BD12BC18BD9E322806627FD8E2E +:1044500046028B7E22F7C601007402A449D1E9F31B +:10446000A57301A4897E22894624015E1A8BCA8025 +:104470007E26027405806626FDC360B0FDE8F6FE68 +:1044800061C350E40A84C0750A8686A10084C074A2 +:104490000AE60A580C20894648F9C35824DF8946A1 +:1044A00048F8C390FBB002E8E807FAE82E01FBB039 +:1044B00001E8DE07FAB002E8BCCBFB85ED74E5FA53 +:1044C0008E5E0AFB90FA8B46488B7640A88C75DE90 +:1044D000A820741A50E855DC58E8A6FF7310B00203 +:1044E000E85FCBEBC99025FF008BC8EB3690A801A5 +:1044F00075224683E6FE3B76087479AD8AFCB3F0FC +:1045000022FB3AFB74E03ABEA000742EE8D2FD73A1 +:1045100077EB9B908AE024FC8846488B4E4AF6C491 +:1045200002741DE8BBFD7286E813F3897640E393BD +:10453000834E4803894E4AE974FF25FF0F8BC890CC +:104540008B86980085C0741A518A8EA000C0E90439 +:10455000BA0100D3E25923C2740803F1897640E915 +:1045600061FFFF5662E3F5834E4801894E4A897622 +:1045700040E93AFF814E2600108B46503B46467775 +:1045800003E852FDE927FF9088BEA000EBAC0A06C5 +:1045900090128AE0BA0601B004EEEC84C07512B045 +:1045A00004EE8AC4EE32E4A8807406C706841200C2 +:1045B0000088269012C30A0690128AE0BA0601EC1F +:1045C000A80175EDBA08018AC4EE32E4A88074E14E +:1045D000C7068412000088269012C39036F706247E +:1045E0000101007530368B0EDA1280F936732633EE +:1045F000C08EC08ED8BFDC1203F9B008E877CA8538 +:10460000ED740E8D764CA5A5A580C10680F9367295 +:10461000E9890EDA12C3C390F7062601010075F688 +:104620008B0E201385C975EE33C08EC08ED8BF2483 +:1046300013B93600B00AE83DCA85ED7506E91201E6 +:10464000E90A0133DB8A464C8AA6B300FECC780E19 +:1046500088A6B3000ADCB40AAB83E90276E28AA634 +:10466000B200FECC780E88A6B2000ADCB408AB8398 +:10467000E90276CC8AA6B100FECC78188ABEB000DA +:10468000750488A6B00088A6B1000ADC8AE7AB836F +:10469000E90276AC8AA6B400FECC781F88A6B400E6 +:1046A0000ADCB40BAB8A86BC008AA6BD00AB8B8645 +:1046B000BE00AB83E90676888A464C8AA6B600FE21 +:1046C000CC781988A6B6000ADCB40CABE8DBCBAB1F +:1046D0008B462AAB83E90676748A464C8AA6B700D5 +:1046E000FECC781988A6B7000ADCB40DABE8BACBCB +:1046F000AB8B4634AB83E90676538A464C8AA6B820 +:1047000000FECC781988A6B8000ADCB40EABA15024 +:1047100012ABA15212AB83E90676328A464C8AA6C6 +:10472000B500FECC781888A6B5000ADCB40FAB8BB8 +:10473000869A00AB8B869C00AB83E906760F84DB00 +:104740007503E9EFFEB00AE8F8C8E9E7FEB00AE849 +:10475000F0C8F7D983C1368BC10D800086C4A3226F +:10476000134141890E2013C3A184122BC17211A3DE +:104770008412BE2213D1E9F36F90890E2013F8C37F +:10478000F9C3C381EF6A1374F98BC70D800086C427 +:10479000A368134747893E6613C3F7062A01010041 +:1047A00075E08B0E6613E30780F92077D54949330E +:1047B000C08EC08ED8BF6A138BF703F983C6343B13 +:1047C000FE77C0B00EE8AEC885ED74B78A464C8A55 +:1047D000B6B900FECE781588B6B9008AA6A90080C1 +:1047E000CCC0AB84F67405B00EE856C88AB6BA00E1 +:1047F000FECE78CB8A9EA9008ABEAB008A563F8A3D +:10480000F332F70AB6AC00C686AC000022F2744B55 +:10481000F6C608740FB402F6C3087502B403AB8081 +:10482000E6F77437F6C601740FB400F6C3017502DB +:10483000B401AB80E6FE7423F6C602740FB404F62E +:10484000C3027502B405AB80E6FD740FF6C60474AE +:104850000AB406F6C3047502B407ABC686BA0000F4 +:10486000889EAB00E958FF90A184122BC17211A35E +:104870008412BE6813D1E9F36F90890E6613F8C3F2 +:10488000F9C3A1841241412BC17223A384128BC1AD +:10489000484832E40C8086C4EF9090909090BEDC43 +:1048A000124949D1E9F36F90890EDA12F8C3F9C3BE +:1048B0008AC88A464CB40183EB06EF9090909090A2 +:1048C000B80100EF90909090908AC1EF90909090F6 +:1048D00090E99700E9AC0033C08ED8891E8412C3DA +:1048E000368B1E8412FB90FAB00CE889C785ED74F4 +:1048F000E6C5760C83FB1472DBFB90FAAD85C078BD +:10490000AF74E28BFE03F8368B0E86123BC1770242 +:104910008BC883EB043BD977028BCB33C08A464CE0 +:10492000EF90909090908BC1EF90909090904180FC +:10493000E1FE2BD951D1E9F36F90598BC74024FE8A +:104940003BC674272BFE4E4E538B5E103BF3721307 +:10495000031F83C30380E3FEC7070000836E740256 +:10496000895E105B893C89760CEB8989760C3976F7 +:104970001077817208833C007403E977FFE80DBE6D +:10498000E962FF36891E8412B00CE8B5C633C08ECA +:10499000D8C3A184123D10007277BA04013B068887 +:1049A000127506C7067E1200008B0EDA12E30BE8C2 +:1049B000D0FE7257C7067E12FF7F8B0E2013E30BCB +:1049C000E8A5FD7246C7067E12FF7F8B0E6613E3D5 +:1049D0000BE894FE7235C7067E12FF7FA12801A95D +:1049E00001007503E8F9FE803E8D1200751DA1845B +:1049F000123D200076153B0682127609A17E123BFD +:104A0000068012720C800E901280C3B080FF167C5C +:104A100012C3800E901240C36A001FC6069312177D +:104A20009C0EE8B7C86A001FC6069312209C0EE8C9 +:104A3000AAC86A001FC6069312169C0EE89DC8906D +:104A4000BA0601ECA82075CAFB90FABA0401ED90F1 +:104A5000909090903A06941277BE33DB8AD8D1E3D7 +:104A60002E8BAF4400C47E0885FF74B9F6C4C075B0 +:104A70005532C0C1E00280E4F08BF0ED9090909050 +:104A80009085C074BB8BC84180E1FE0BC68B5E5025 +:104A90004B4B2BD9789CAB8BC1404001464ED1E9A2 +:104AA000F36D90895E50897E088B462680E4EF89FD +:104AB0004626F6C401750CF746480C007505B00291 +:104AC000E87FC5E97AFF86C48BC883E13F4180E176 +:104AD000FEE30A3C807209243FB4F0EBB0E960FFCA +:104AE000253F0033FF8EC7BF96128BF7D1E9F36DD8 +:104AF000908BC8E848EDE947FF906A001FC606930F +:104B0000121B9C0EE8D5C790601E0633C08ED88E4F +:104B1000C0BA0601ECA80474E1B006EEECA28C1257 +:104B2000A8407411A18812A38412C6068D1200E851 +:104B300060FEA08C12A8807403E804FFB80080BA5D +:104B400022FFEF071F61CF906A001FC60693121B5A +:104B50009C0EE887C790601E0633C08ED88EC0BA00 +:104B60000601ECA80474E1BA0801ECA28C12A8407A +:104B70007411A18812A38412C6068D1200E812FED9 +:104B8000A08C12A8807403E8B6FEB80080BA22FF99 +:104B9000EF071F61CF90EE86E0EE86E0EC86E0EC5A +:104BA00086E080E1FEF36C9080E1FEF36E900500FC +:104BB0007547A84B05007548A84B0500A348A84BAE +:104BC00005003549A84B06009848964B0600BA48A0 +:104BD000964B0600C348964B0600CB48964B060002 +:104BE0002049964B06002849964B06004E4A9C4B9E +:104BF00006007B4A9C4B05009E4AA24B0500EC4AEE +:104C0000A24B00001E06833E4412007409A0060158 +:104C100024303C30741A8CC88ED88EC0BBAE4B8BFF +:104C20000FE30D8B7F028B7704F3A483C306EBEFB6 +:104C3000071FC39033C0A33E01B90C01BE40018BD6 +:104C4000FE81C6B40F89048BC62BF13BC777F6A350 +:104C50003C01C3901E0660368B2E3E018B5E003BEE +:104C6000EB742B8B7602891C89770236A13C018973 +:104C7000460036892E3C018BEBFF4E0674088B6E86 +:104C800000FF4E0675F836892E3E018B66046107DB +:104C90001FC31E0660368B2E3E0198894606896624 +:104CA000043B6E0074108B6E00FF4E0675F836895B +:104CB0002E3E018B660461071FC3C3901E06609CD5 +:104CC000FA33ED8EDD8B2E3C0185ED743D8B4E006D +:104CD000890E3C018BCC8DA60A01561E06608966A2 +:104CE00004C746080F1AC7460601008B1E3E018501 +:104CF000DB741D8BC58707894600895E028BD889C6 +:104D00006F028BE19D61071FF8C39D61071FF9C307 +:104D1000892E3E01896E00896E0287E19D8BE1EB51 +:104D2000E4000D0A5465726D696E616C73207375D1 +:104D300070706F727465643A0D0A312920414E53C8 +:104D40004920636F6D70617469626C650D0A322968 +:104D500020577973652033300D0A506C6561736597 +:104D60002073656C6563743A20000D0A636F646597 +:104D7000207365676D656E743D000D0A4D6F6E6939 +:104D8000746F722076322E350A0D0A3E000D0A50DD +:104D90006172646F6E3F000D0A4E6F206164647231 +:104DA00065737320737065636966696564000D0AD5 +:104DB0003A000D0A004C6F633D000D0A4641544114 +:104DC0004C204552524F523D000D0A4D6F6E697492 +:104DD0006F7220636F6D6D616E64733A2D0D0A20E2 +:104DE0002020442C645B5B787878783A5D7878781A +:104DF000785D202D2064756D70206D656D6F727902 +:104E00000D0A2020204C2C6C5B5B787878783A5D1A +:104E1000787878785D202D2064756D702073696EC8 +:104E2000676C65206C696E650D0A202020452C6535 +:104E30005B5B787878783A5D787878785D202D209B +:104E400065646974206D656D6F72790D0A2020208C +:104E5000462C665B5B78787878205D787878785D2A +:104E6000202D2066696C6C206D656D6F72792070E5 +:104E70006172616772617068730D0A202020495B5E +:104E8000787878785D202020202020202020202D78 +:104E900020776F726420696E7075742066726F6D12 +:104EA00020706F72740D0A202020695B7878787802 +:104EB0005D202020202020202020202D20627974B9 +:104EC0006520696E7075742066726F6D20706F72E8 +:104ED000740D0A2020204F78787878207878202068 +:104EE000202020202020202D206F757470757420C4 +:104EF000776F726420746F20706F72740D0A2020B7 +:104F0000206F787878782078782020202020202042 +:104F100020202D206F75747075742062797465205F +:104F2000746F20706F72740D0A202020475B5B78CD +:104F30007878783A5D787878785D2020202D206721 +:104F40006F746F20616464726573730D0A20202092 +:104F5000575B5B787878783A5D787878785D202050 +:104F6000202D207761746368206120776F72640D53 +:104F70000A20202043202020202020202020202024 +:104F800020202020202D20696E7465727275707447 +:104F900073206F66660D0A202020532020202020D9 +:104FA00020202020202020202020202D20696E7409 +:104FB00065727275707473206F6E0D0A20202073F5 +:104FC00020202020202020202020202020202020E1 +:104FD0002D2073696E676C6520737465700D0A20EF +:104FE000202042787878782020202020202020203F +:104FF0002020202D20627265616B706F696E7420B5 +:105000007365740D0A20202062202020202020209B +:105010002020202020202020202D20627265616B1E +:10502000706F696E7420636C6561720D0A202020B8 +:10503000522020202020202020202020202020203E +:10504000202D207265737461727420627265616BC9 +:10505000706F696E740D0A2020207220202020209D +:1050600020202020202020202020202D2072656755 +:105070006973746572732061742062726B70740D51 +:105080000A202020582C78206E202020202020204C +:1050900020202020202D206578616D696E652063B9 +:1050A00068616E6E656C206E0D0A202020482C3FD2 +:1050B00020202020202020202020202020202D20E3 +:1050C00074686973206D657373616765001B5B327B +:1050D0004A1B5B313B3148414E5349205465726D48 +:1050E000696E616C0D0A0A001B5B4B001B5B4A007A +:1050F0001B5B324A1B5B313B3148001B5B44201B6E +:105100005B44001B5B313B373248001B5B003B00BC +:1051100048001B5B73001B5B75001B7A2B0B7F1B0E +:105120007A2E0C7F1B7A2D087F1B7A2C0A7F1B7A24 +:1051300022087F1A57797365203330205465726DC9 +:10514000696E616C0D0A001B54001B59001A001E89 +:105150000008200800001B3D0000001B46000D0059 +:105160003F4464456546664767486849694F6F43F1 +:1051700063537342625272577758784C6C3C60D4D8 +:1051800057D45750585058D659D659B459B4593C99 +:10519000603C606C57485726570657905790579871 +:1051A00057485F0C5F585F335F405FA057A057FEC2 +:1051B00059FE59DC57DC5788619861C061CC61D8D1 +:1051C00061F66102622262F8564A625862605920B2 +:1051D00020666C6167733D00202061783D002020CF +:1051E00062783D00202063783D00202064783D00F7 +:1051F000202063733D00202064733D0020206573F0 +:105200003D00202073733D00202064693D00202074 +:1052100073693D00202062703D00202073703D00C6 +:10522000202069703D00206368616E656C3D002040 +:105230002020207365673D002074695F7374723DA0 +:10524000002074695F746F733D002074695F6D6145 +:10525000783D002074695F6261733D002074695F6E +:1052600073697A3D002074695F7374663D00207431 +:10527000695F726F6F3D002074695F666C673D0007 +:105280002074695F746F743D002072695F70636E93 +:105290003D002072695F7374723D002072695F7314 +:1052A00074663D002072695F726F6F3D0020726905 +:1052B0005F6261733D002072695F73697A3D00200F +:1052C00072695F746F743D002072695F6D696E3D35 +:1052D000002072695F666C673D002072695F746FC1 +:1052E000733D002072695F7468723D002074685FCE +:1052F0007374663D002074685F7374723D0020749F +:10530000685F6261733D002074685F73697A3D0075 +:105310002074685F7472673D002074685F666C6714 +:105320003D002074685F636E743D002072685F7397 +:1053300074723D002072685F7374663D002072686D +:105340005F6261733D002072685F73697A3D00207F +:1053500072685F7370613D002072685F61736F3DBA +:10536000002072685F726F6F3D002072685F666C2C +:10537000673D00206D5F636172653D002070745F62 +:10538000666C6F3D002061735F666C6F3D0020723C +:105390006D5F666C6F3D00202020715F696E3D007F +:1053A0002020715F6F75743D0020715F6472616EC3 +:1053B0003D002020715F74696D3D00202020715FE9 +:1053C00066633D0020715F737461743D0020715FFE +:1053D000646174613D0020715F6D6F646D3D0020FC +:1053E00068616E645F6F3D002068616E645F623D5E +:1053F000002068616E645F653D002068616E645FD7 +:10540000693D0020206F706F73743D002020746927 +:105410006D656F3D0020637573746D313D002063D1 +:105420007573746D323D0020637573746D643D0057 +:10543000207478726174653D0020727872617465C1 +:105440003D002020635F6D61703D0020635F6164FB +:1054500064723D0020635F616973723D0020635F89 +:10546000787461673D0020635F646566723D00206B +:10547000635F666C73683D002074786D6178733D7E +:10548000002072695F656D733D002020635F6C735F +:10549000723D002020635F6965723D002020635FDC +:1054A0006663723D002020635F6D63723D002020C3 +:1054B000635F6C63723D002020635F6473733D0023 +:1054C00020635F647373693D0020635F647373726C +:1054D0003D002020635F6973723D002020635F639D +:1054E00061723D002020635F6566723D0020635F4E +:1054F000657273743D0020635F65636E743D0020C8 +:10550000635F62726B633D0020635F626F6B633D3C +:105510000020635F7265706C3D0020635F6363739E +:10552000723D0020635F737474313D0020635F73CC +:105530007474323D002BC08ED88EC0E8C200E8E5FE +:1055400000FABF8400C705DC568C4D02BF0C00C7B3 +:10555000056E5E8C4D02BF0400C705BA5E8C4D021D +:10556000E8F10090E84901E81600F490E8E500BE93 +:10557000BA4DE8090CA09312E85D0CE8C209EBE40F +:10558000E8D50CE8C40C0AC074F68B1EF8793C0D03 +:10559000742E3C0874173C7F741383FB207FE188D2 +:1055A00087D67943891EF879E8770CEBD30BDB7447 +:1055B000CF4B891EF8798B36167AE8C10BEBC19078 +:1055C000E80200EBBBC687D679000BDB741EA0D6C1 +:1055D00079BF6051B91D008BD9060E07F2AE077571 +:1055E00017412BD9D1E32EFF977D519033C0A3F8FB +:1055F00079BE894DE8870BC3BE8D4DE8800BEBEC7F +:10560000BA0002B093EEB055EEBA1002B093EEB00D +:10561000AAEEBA0002EC3C557508BA1002EC3CAA9E +:105620007403E82FF6C3BA0402B01AEEB020EEB04D +:1056300030EEB040EEB080EEBA0002B013EEB0072C +:10564000EEBA0802B080EEBA0202B0BBEEBA0402B3 +:10565000B005EEC3C606CA1301C706F8790000C636 +:1056600006F67901C706D0790000C706D279000096 +:10567000C706D4790000C706FA790000C706FC798E +:105680000000C706FE790000C706007A0000C706C2 +:10569000027ACE598C0E047AC706067A0000C70635 +:1056A000277A0000C606297A00C6062A7A00C39027 +:1056B000BE224DE8C80AE83F002C313C0177F7E8EC +:1056C00081098B360C7AE8B50ABE6A4DE8AF0A0E3E +:1056D00058E8F80ABE7A4DE8A40AC39060D1E38383 +:1056E000FB1873111EBA00008EDA2EFF97B7518B8C +:1056F000EC8946101F61CF90E84F0B0AC07505E892 +:10570000560BEBF4C390833EF879017416BED7793B +:10571000E8310A8BD0AC3C2C74043C207505E8239E +:105720000AEEC3E9D2FE833EF8790174F6BED7795A +:10573000E8110A8BD0AC3C2C74083C207404E9B707 +:10574000FE90E8FF09EFC3908B16067A833EF87946 +:1057500001740BBED779E8EB098BD0A3067AB02091 +:10576000E8570B8B16067AECE86F0BC38B16067A9C +:10577000833EF87901740BBED779E8C7098BD0A3B3 +:10578000067AB020E8330B8B16067AEDE8670BC378 +:10579000FAC606F67900C390C606F67901FBC390F7 +:1057A00006E85809B020E8110B268B05E8470BB036 +:1057B00008E8060BE8030BE8000BE8FD0AB8010057 +:1057C000E8CFF4BA0202EC24017502EBDCBA06025F +:1057D000EC07C390C706087A1000EB06C706087AE4 +:1057E0000100068E06FC798B3EFA79E80E09E80B7B +:1057F00000893EFA798C06FC7907C390BEB24DE869 +:105800007C098B16087A52E82A09E80F0AE80C0A84 +:1058100033DBB9100090268A01E8BC09E8FD094392 +:10582000E2F4E8F709E8F40933DBB9100090268ABE +:10583000013C2072053C7E760390B02EE8E30943DC +:10584000E2ECBEB24DE8360983C7105A4A75B7C3B9 +:10585000068E06007A8B3EFE79E8A008893EFE7926 +:105860008C06007A578B360E7AE81209C706087A3A +:105870001000BA0002E8E800E881FF5FBA0000E823 +:10588000DE00BEB54DE8F6088CC0E83F09B03AE846 +:1058900090098BC7E83509E87E08E8C30090E8B7AF +:1058A00009E8A6090AC074F63C0B750683EF10EBF5 +:1058B00019903C0A750683C710EB0F903C0C7504D9 +:1058C00047EB07903C0875244F908B36FE798BC7C9 +:1058D0002BC63D000172A53D1001720483EE20909D +:1058E00083C6108936FE79578BFEEB803C2E7508F7 +:1058F000BA0113E86A0007C3C6060A7A0232C990E1 +:105900003C30724C3C39760C245F3C4172423C4640 +:10591000773E2C072C3050E8CC085802C8FE0E0AFF +:105920007A740FC0E104E82F09E81E090AC074F672 +:10593000EBCE26880DE8E0078AD0E823008AC13C38 +:105940002072053C7E760390B02EE8D508E970FF02 +:10595000E8C507E80A00268A05E87C08E91DFF90EB +:10596000F606267A02750286F2528B361A7AE80D0E +:10597000085A528AC60206247AF606267A01750665 +:10598000E89F08EB0D9032E4E80D088B361C7AE8AE +:10599000EC075A8AC20206257AF606267A017506AF +:1059A000E87F08EB069032E4E8ED078B361E7AE8D4 +:1059B000CC07C390068E06047A8B3E027AE83C0739 +:1059C000893E027A8C06047A07FF1E027AC3BE97CC +:1059D0004DE8AA07CB900657BED779E866078BD863 +:1059E000E861078BC82BCB78118EC3BF0000B8FFCE +:1059F000FF51B90800F3AB59E2F75F07C39006BE49 +:105A0000D779E83F078BD8D1E32E8B9F4400BE2681 +:105A100052E8F1088BC3E8DD08B80100E873F2E84A +:105A2000E008BE2F52E8DD088B4718E8C808BE77AB +:105A300052E8D1088B4726E8BC08BE5352E8C50897 +:105A40008B471EE8B008BE5C52E8B9088B4720E8D7 +:105A5000A408BE6E52E8AD088B4724E89808BE80C3 +:105A600052E8A1088B472AE88C08E89508BE38520E +:105A7000E892088B07E87E08BE4152E887088B470A +:105A80001AE87208BE4A52E87B088B471CE8660891 +:105A9000BE6552E86F088B4722E85A08E86308BEE3 +:105AA000D152E860088B4738E84B08BEAD52E85445 +:105AB000088B4730E83F08BEB652E848088B4732AB +:105AC000E83308BEA452E83C088B472EE82708BEFE +:105AD000BF52E830088B4734E81B08E82408BE8929 +:105AE00052E821088B4704E80C08BE9252E81508DA +:105AF0008B4714E80008BE9B52E809088B472CE846 +:105B0000F407BEC852E8FD078B4736E8E807BEDA5F +:105B100052E8F1078B473AE8DC07BEE352E8E507B5 +:105B20008B473CE8D007E8D907BE1953E8D6078B66 +:105B30004748E8C107BEFE52E8CA078B4742E8B5AE +:105B400007BE0753E8BE078B4744E8A907BE7C534E +:105B5000E8B2078B474CE89D07BE8553E8A6078B44 +:105B6000474EE89107BE8E53E89A078B4750E88569 +:105B700007E88E07BE2253E88B078B474AE8760773 +:105B8000BEEC52E87F078B4708E86A07BEF552E88B +:105B900073078B4740E85E07BE1053E867078B47E3 +:105BA00046E85207E85B07BE6A53E858078B477A16 +:105BB000E84307BE3D53E84C078B4770E83707BE04 +:105BC0004653E840078B4772E82B07BE4F53E83433 +:105BD000078B4774E81F07E82807BE2B53E8250703 +:105BE0008B470CE81007BE3453E819078B4710E8C1 +:105BF0000407BE5853E80D078B4776E8F806BE61E8 +:105C000053E801078B4778E8EC06BE7353E8F506C6 +:105C10008B473EE8E006E8E906BE9753E8E6068BC8 +:105C20004752E8D106BEA053E8DA068B4754E8C5D0 +:105C300006BEA953E8CE068B4756E8B906BEB25356 +:105C4000E8C2068B4758E8AD06BEBB53E8B6068BE4 +:105C5000475AE8A106BEC453E8AA068B475CE895FC +:105C600006E89E06BECD53E89B068B475EE8860697 +:105C7000BED653E88F068B4760E87A06BEDF53E84E +:105C800083068B4762E86E06BEE853E877068B47CB +:105C90007CE86206BEF153E86B068B477EE8560649 +:105CA000BEFA53E85F068B878000E84906E8520693 +:105CB000BE4254E84F068B879E00E83906BE035467 +:105CC000E842068B4764E82D06BE0C54E836068B86 +:105CD000476EE82106BE1554E82A068B878E00E839 +:105CE0001406BE1E54E81D068B879000E80706BE0A +:105CF0002754E810068B879200E8FA05E80306BEF1 +:105D00003054E800068B879400E8EA05BE3954E871 +:105D1000F3058B879600E8DD05BE6F54E8E6058B3A +:105D2000879800E8D005BE5D54E8D9058A87A000B1 +:105D3000E8A705BE5454E8CC058A4728E89B05BE71 +:105D40006654E8C0058A87A100E88E05E8B305BE61 +:105D50007854E8B0058A87A200E87E05BE8154E841 +:105D6000A3058A87A300E87105BE8A54E896058AD0 +:105D700087A400E86405BE9354E889058A87A500D6 +:105D8000E85705BE9C54E87C058A87A600E84A05CA +:105D9000BEA554E86F058A87A700E83D05BEAE544E +:105DA000E862058A87A800E83005E85505BEB754C3 +:105DB000E852058A87A900E82005BEC054E84505D9 +:105DC0008A87AA00E81305BEC954E838058A87AB5C +:105DD00000E80605BED254E82B058A87AD00E8F935 +:105DE00004BEDB54E81E058A87AE00E8EC04BEE47E +:105DF00054E811058A87AF00E8DF04BEED54E804DB +:105E0000058A87B000E8D204E8F704BEF654E8F447 +:105E1000048A87B100E8C204BEFF54E8E7048A8719 +:105E2000B200E8B504BE0855E8DA048A87B300E892 +:105E3000A804BE1155E8CD048A87BB00E89B04E89E +:105E4000C004BE1A55E8BD048A87BC00E88B04BEB6 +:105E50002355E8B0048A87BE00E87E04BE2C55E8CE +:105E6000A3048A87BF00E87104E8960407C36006AC +:105E70001E168BECFF4E16F7461A00027401FBB893 +:105E800000008ED88EC0892E2D7AE8CB0081661A4C +:105E9000FFFEC6062A7A00E8D800B8005FA32B7A76 +:105EA000E85D00803E2A7A00740A814E1A0001C61D +:105EB000062A7A00171F0761CF9060061E168BEC2A +:105EC000F7461A00027401FBB800008ED88EC08914 +:105ED0002E2D7A81661AFFFEC6062A7A00E8920005 +:105EE000B8005FA32B7AE81700803E2A7A00740A74 +:105EF000814E1A0001C6062A7A00171F0761CF904B +:105F0000B8F000E88CEDFF262B7AC390065356803C +:105F10003E297A007403E83F00BED779E825028B5A +:105F2000D8A3277A2E8A07A2297AB0CC2E88075EBA +:105F30005B07C3C6062A7A00B80A5FA32B7AC39010 +:105F40008B2E2D7AE82B00C3C6062A7A01E80800BA +:105F5000B80A5FA32B7AC39057803E297A00740F4A +:105F60008B3E277AA0297A2E8805C606297A005FFB +:105F7000C390BEB24DE80602BED851E80002FF76DB +:105F80001458E84702BEDE51E8F301FF760E58E8E8 +:105F90003A02BEE451E8E601FF761258E82D02BE4F +:105FA000EA51E8D901FF761058E82002BE1452E801 +:105FB000CC01FF760A58E81302BE1A52E8BF01FF6F +:105FC000760C58E80602BECF51E8B201FF761A58A7 +:105FD000E8F901BEB24DE8A501BEF051E89F01FF0E +:105FE000761858E8E601BEF651E89201FF760258AD +:105FF000E8D901BEFC51E88501FF760458E8CC01E0 +:10600000BE0252E87801FF760058E8BF01BE085290 +:10601000E86B01FF760658E8B201BE0E52E85E0159 +:10602000FF760858E8A501BE2052E85101FF761618 +:1060300058E89801BE894DE84401C390BEC94DE8B7 +:106040003C01C33C0074053C017459C3C7060C7A7B +:10605000CD50C7060E7AF050C706107AE850C70632 +:10606000127AEC50C706147AF450C706167AFB5021 +:10607000C706187A0351C7061A7A0B51C7061C7A4D +:106080000E51C7061E7A1051C706207A1251C70654 +:10609000227A1651C606247A01C606257A01C6065A +:1060A000267A03C3C7060C7A1A51C7060E7A4D51D9 +:1060B000C706107A4751C706127A4A51C706147AA2 +:1060C0004F51C706167A5151C706187A5551C7065F +:1060D0001A7A5651C7061C7A5951C7061E7A5A5168 +:1060E000C706207A5B51C706227A5E51C606247A1B +:1060F00020C606257A20C606267A02C3A1F879486A +:106100007414BED779E83C008BF8AC3C3A75078E26 +:10611000C7E830008BF8C3908BC72B06FE798AF056 +:10612000240F8AD002D002D080C20BC0EE0480C6F9 +:1061300003043DC38CC0E89300B03AE8E4008BC789 +:10614000E88900C35133C990AC3C2074FB900AC06D +:1061500074262C3072223C0976143C11721A2C07DA +:106160003C0F760A3C2A72102C203C0F770A98C10B +:10617000E10403C8ACEBD7904E8BC159C390068C99 +:10618000C88EC0E8020007C3268A04460AC0740607 +:10619000E88F00EBF390C3900BC0747A5133D2B9FF +:1061A000E803F7F18BCAE803008BC159BA6400F623 +:1061B000F2E80C008AC498B20AF6F2E802008AC437 +:1061C000500AF074050430E8580058C386C4E80744 +:1061D0000086C4E80200C390C1C804E80800C1C03A +:1061E00004E80200C3905350240FBBCA622ED7E8C4 +:1061F0003000585BC39086C4E8070086C4E80200FC +:10620000C39050B908008AE032C0D1C00430E81110 +:1062100000E2F558C390B030E80700C3B020E801B1 +:1062200000C3568B36D0798884D0774681E6FF014B +:10623000FF06D4798936D079813ED479FE0175087C +:1062400056E814005EEBF1905EC3BA0202EC240142 +:106250007404BA0602ECC390803EF67900740960BB +:10626000B80100E82CEA6190BA0202ECA804742894 +:106270008B36D279833ED47900741D8A84D07746D8 +:1062800081E6FF018936D279FF0ED479BA0602EE93 +:10629000BA0202ECA80475DCA1D479C352BA060292 +:1062A000EE5AC3905250BA0202ECA8047408585A2D +:1062B000E8E9FFF9C390585AF8C35250BA0202EC09 +:1062C000A80474FB585AE8D3FFC330313233343555 +:1062D0003637383941424344454653508AE080E4DA +:1062E0000FBBCA62C0E8042ED7E8CEFF8AC42ED7FF +:1062F000E8C7FF585BC386E0E8DFFF86E0E8DAFF27 +:10630000C390BEB24D502EAC3C007405E8ABFFEB21 +:10631000F558C390C808000056578B7604BF040098 +:10632000C746FC0000C746FA0000C746F8000083D5 +:106330007E0600750E56E8B60E590BC075058BC764 +:10634000E95B018B46FC8946FE0BFF7505B8010031 +:10635000EB0233C05056E8A40D5959B4008946FCED +:106360008B5EFC83FB087603E92B01D1E32EFFA7AC +:10637000B264B80300E92601837EFA007414C746AC +:10638000FA00008A445898508A44599850E8C20F3D +:106390005959837EF800740AC746F8000056E89BF6 +:1063A0000859837E060075058BC7E9F10083FF0459 +:1063B0007503E9E6008BC7E9E400837EFE00750300 +:1063C000BF0200E9D500837EFE007503BF0100E92E +:1063D000C9008B5EFE83FB077603E98600D1E32EBE +:1063E000FFA7A26433FFE97F00BF0400807C580F41 +:1063F0007422837EF800751CFE44586A0856E87EB5 +:106400000C59598A445804805056E8720C5959C79F +:1064100046FA0100837EF800740AC746F800005669 +:10642000E8190859EB42BF0400807C5800742283AD +:106430007EF800751CFE4C586A0856E8410C595904 +:106440008A445804805056E8350C5959C746FA0119 +:1064500000837EF800740AC746F8000056E8DC079F +:1064600059EB05BF0400EB00EB31BF0400EB2CC778 +:1064700046F801006A0856E8050C5959807C58090D +:106480007D04B00FEB02B00004805056E8F00B59C9 +:1064900059BF0400EB05BF0400EB00E9A5FE5F5EF9 +:1064A000C9C3E4636364636463646364E963266427 +:1064B00051647863BA63C6639664D2636A646A643B +:1064C0006F647263C808000056578B76048B7E0891 +:1064D0006A0156E8A90B59598A4606C0E0060480AD +:1064E0005056E89A0B5959C746FE0000897EF8EBD2 +:1064F00003FF46FE8B5EF8FF46F8803F0075F2838F +:106500007EFE107D25B810002B46FED1F88946FC92 +:10651000C746FA0000EB0B6A2056E8620B5959FF98 +:1065200046FA8B46FA3B46FC7CEDEB0C8BDF478A48 +:10653000075056E8490B5959803D0075EF6A0256DD +:10654000E83C0B5959EB005F5EC9C3C80400005614 +:10655000578B7E04C746FE0000BE1400E909018B7C +:106560005EFE83C3042BDF8A87AC0B88445AC64483 +:1065700058088A46FE884459C744060000C6441994 +:1065800000C6441A00C6441B00C6441D0DC6441E66 +:1065900003C6441F00C6442000C6442100C6445B15 +:1065A00000C6445D00C6445E00C6445F00C6446049 +:1065B00000C746FC0000EB0D8B5EFCD1E3C740300A +:1065C0000000FF46FC837EFC107CEDC746FC00000B +:1065D000EB0A8B5EFCC6405000FF46FC837EFC0449 +:1065E0007CF0C744540000C7445600008A445A98BF +:1065F000BAF80023D0B805000BC28946FC9CFA8A81 +:1066000046FCBAFE00EEBA0000EC9D24088846FC69 +:10661000837EFC007502EB4AFF76FEE87A0C59682F +:10662000350256E8320A59590BC07534683802569B +:10663000E8250A59590BC0752768420256E8180A1E +:1066400059590BC0751A684C0256E80B0A59590B78 +:10665000C0750D68560256E8FE0959590BC0740200 +:10666000EB00FF46FE83C662397EFE7D03E9EFFE46 +:10667000EB005F5EC9C3C808000056578B4604BADA +:106680006200F7EA0514008BF0837E06007405B8FB +:106690001000EB03B808008944048A460888445C6B +:1066A00056E85904598BF88BC78944568944548A53 +:1066B000445D88442F0BFF751D68C20F6A0156E8C0 +:1066C00002FE83C406EB006A0156E847FC59590BE9 +:1066D000C075F4BF0100897EFAB90500BBE96A2ED6 +:1066E0008B073B46FA74074343E2F4E9A4032EFF09 +:1066F000670AC744060200C74408F4088B5E04D149 +:10670000E38B87FC0889440A33C08BF8894454E939 +:10671000800356E8BB0559BF01008A445D88446088 +:10672000E96F03837C04087530807C5C0175158AF1 +:10673000445DB400D1E08BD8FFB7E40856E8F70811 +:106740005959EB138A445DB400D1E08BD8FFB7C42C +:106750000856E8E2085959EB2E807C5C0175158AD1 +:10676000445DB400D1E08BD8FFB7D40856E8C70821 +:106770005959EB138A445DB400D1E08BD8FFB7B40C +:106780000856E8B20859596A0156E887FB59598BEF +:10679000D883FB03772AD1E32EFFA7E16ABF01006C +:1067A0008A445D88445EEB188A445D04FF240788B0 +:1067B000445DEB0C8A445DFEC0240788445DEB0019 +:1067C000E9CF028A445DB400D1E08BD8FFB7FD0267 +:1067D00056E863085959681D0356E85A0859596A1A +:1067E0000156E82FFB59598BD883FB037736D1E349 +:1067F0002EFFA7D96ABF01008A445D88445FEB245D +:106800008A445D04FF8A540480C2FF22C288445D2A +:10681000EB128A445DFEC08A540480C2FF22C28803 +:10682000445DEB00E96B028B5C0683C3FED1E38B16 +:10683000400889048B1CFF77066A0056E885FC83B4 +:10684000C4068B5C064BD1E38B40088944028B5C09 +:1068500002FF77066A0156E86AFC83C4066A01569D +:10686000E8B1FA59598BD883FB037603E91F02D1AB +:10687000E32EFFA7D16A8B5C028B47048944028B0D +:106880005C02803F44750D8B5C028A4701B4003B7B +:1068900044047DE28B4604D1E08B1C03D88B440278 +:1068A0008947088B5C064BD1E38B4402894008E999 +:1068B000DE018B5C028B47028944028B5C02803FC5 +:1068C00044750D8B5C028A4701B4003B44047DE2B1 +:1068D0008B4604D1E08B1C03D88B44028947088B7C +:1068E0005C064BD1E38B4402894008E9A201BF0159 +:1068F00000E99C018B5C028A07B4008946F8B90C58 +:1069000000BBA16A2E8B073B46F874074343E2F4B1 +:10691000E977012EFF67188B4604D1E08B5C0203F8 +:10692000D88B47088B5C06FF4406D1E38940088B6F +:106930001C807F010074128B5C028A47018B1C8AC9 +:106940005701B6008BDA884018E94001FF4C06E990 +:106950003A018B5C028A47018B1C8A5701B6008B77 +:10696000DA884018E925018B5C028A47018B1C8A72 +:106970005701B6008BDA884018FF4C06E90D018BF1 +:106980005C028A47018B1C8A5701B6008BDA3040C3 +:1069900018E9F800B8F0108BF88944548A445F88ED +:1069A000445DE9E7008A441C983D020074073D03FA +:1069B000007402EB07C746FE0000EB2B8A441C98CC +:1069C000D1E08BD8FFB7690256E86B0659596A01C6 +:1069D00056E840F959598946FE837EFE00740683C5 +:1069E0007EFE0375E9EB00837EFE0374628A441C1D +:1069F00098D1E08BD8FFB76D0256E83A0659595640 +:106A0000E84D97598946FC8B5EFC83EBFE83FB03C4 +:106A10007733D1E32EFFA7996A68AC0256E81706D0 +:106A20005959EB23688F0256E80C065959EB186840 +:106A3000750256E801065959EB0D68C60256E8F68C +:106A4000055959EB02EB006A0156E8C7F85959BFDE +:106A50000100EB3868DD0256E8DC0559596A015639 +:106A6000E8B1F85959BF0100EB22B8D0308BF88952 +:106A700044548A446088445DEB12B8E0208BF88966 +:106A800044548A445E88445DEB02EB00EB02EB0069 +:106A9000EB00E941FC5F5EC9C3196A246A2F6A3AB8 +:106AA0006A0000010002000400410042004300446B +:106AB00000800081008200FF001769546A7A6AA58D +:106AC00069526994696A6A676952697F6967694C42 +:106AD00069F4687668B268EE68F56700681268F570 +:106AE000679D67A867B4679D6700000100F010E02C +:106AF00020D0302768F266C36723671267C8040096 +:106B00000056578B76048A4459988946FC6A098B4B +:106B100046FC05840150E8930859598BF88BC7252A +:106B200000F03D001075558BC725F0003DF0007555 +:106B30004B8BC725000FC1F8088946FE8B44043BE8 +:106B400046FE7D0533C0E9EF008BC7250F00BA0F65 +:106B5000002BD03B56FE740533C0E9DB00C744026E +:106B600004098A46FE88445F88445D8B5EFCD1E35D +:106B7000C787FC080409B8F010E9BC008BC72500E2 +:106B8000F03D002075528BC725F0003DE0007548B0 +:106B90008BC725000FC1F8088946FE837EFE087E5C +:106BA0000533C0E992008BC7250F00BA0F002BD028 +:106BB0003B56FE740533C0EB7F90C744020C098A34 +:106BC00046FE88445E88445D8B5EFCD1E3C787FC4B +:106BD000080C09B8E020EB608BC72500F03D0030C1 +:106BE00075528BC725F0003DD00075488BC7250036 +:106BF0000FC1F8088946FE8B44043B46FE7D0433F2 +:106C0000C0EB358BC7250F00BA0F002BD03B56FECB +:106C1000740433C0EB22C7440214098A46FE884438 +:106C20006088445D8B5EFCD1E3C787FC081409B81B +:106C3000D030EB0433C0EB005F5EC9C3C806000070 +:106C4000568B76046A0856E8350459598A44580424 +:106C5000805056E8290459598B44543B4456750AD0 +:106C60008A445D3A442F7502EB648B445489445640 +:106C70008B5C028A470188442F8A445DB400C1E0DE +:106C8000088B54540BD08A445DB400BB0F002BD842 +:106C90000BD38956FE6A108A445998050400990559 +:106CA000400183D2005250E8540883C4068956FC40 +:106CB0008946FA8B46FE0946FA834EFC006A19FFA4 +:106CC00076FCFF76FAE8730783C406E8FE075EC920 +:106CD000C3C81C000056578B5E048A4759988BF036 +:106CE0008B5E048A475DB4008946E6837EE6007DBC +:106CF0000A8B5E048B4704488946E68B5E048B470B +:106D0000043B46E67F05C746E600008B5E048A46E4 +:106D1000E688475D8BDED1E38B9F5902C647022090 +:106D20008BDED1E38B9F5902C64703308BDED1E364 +:106D30008B9F6102C64702208BDED1E38B9F6102ED +:106D4000C64703308B46E68946FA837EFA007418FC +:106D50008B46FABB0A0033D2F7F380C2308BDED108 +:106D6000E38B9F5902885703BB0A008B46FA33D244 +:106D7000F7F38946FA837EFA0074188B46FABB0A49 +:106D80000033D2F7F380C2308BDED1E38B9F590200 +:106D90008857028B46E68946FA837EFA0074188B80 +:106DA00046FABB0A0033D2F7F380C2308BDED1E360 +:106DB0008B9F6102885703BB0A008B46FA33D2F7D8 +:106DC000F38946FA837EFA0074188B46FABB0A00F0 +:106DD00033D2F7F380C2308BDED1E38B9F61028820 +:106DE00057028B5EE6D1E3FFB712026A00FF76041A +:106DF000E8D1F683C40668D30F6A01FF7604E8C3BE +:106E0000F683C406FF76E656E8019359598956F28F +:106E10008946F0FF76E656E8149359598956EE896B +:106E200046EC9CFAC45EF0268B078946EAC45EEC09 +:106E3000268B078946E8BA50FFED8946FE9DC74676 +:106E4000E40100E8EEA0BA50FFED8946FC8B46FC59 +:106E50002B46FE3DE8037303E980019CFABA50FF1C +:106E6000ED8946FC8B46FC2B46FE8946F8C45EF055 +:106E7000268B072B46EA8946F6C45EF0268B0789E7 +:106E800046EAC45EEC268B072B46E88946F4C45ECE +:106E9000EC268B078946E8BA50FFED8946FE9D81B6 +:106EA0007EF8E803761CFF76F8FF76F6E87601595F +:106EB000598946F6FF76F8FF76F4E8680159598952 +:106EC00046F4BF0E00EB178BDED1E38B9F5902C651 +:106ED00001208BDED1E38B9F6102C601204783FF37 +:106EE0001176E48BDED1E38B9F5902C6470D308BC0 +:106EF000DED1E38B9F6102C6470D30837EF60977B2 +:106F000005B80D00EB26837EF6637705B80E00EB1F +:106F10001B817EF6E7037705B80F00EB0F817EF645 +:106F20000F277705B81000EB03B811008BF8EB259D +:106F30008B46F6BB0A0033D2F7F380C2308BDED12A +:106F4000E38B9F590288114FBB0A008B46F633D260 +:106F5000F7F38946F6837EF60075D5837EF40977CC +:106F600005B80D00EB26837EF4637705B80E00EBC1 +:106F70001B817EF4E7037705B80F00EB0F817EF4E9 +:106F80000F277705B81000EB03B811008BF8EB253D +:106F90008B46F4BB0A0033D2F7F380C2308BDED1CC +:106FA000E38B9F610288114FBB0A008B46F433D2FA +:106FB000F7F38946F4837EF40075D58BDED1E3FFC9 +:106FC000B75902FF7604E86E0059598BDED1E3FF12 +:106FD000B76102FF7604E85E0059596A00FF760443 +:106FE000E831F359598BD883FB04771FD1E32EFF87 +:106FF000A71B70EB22C746E40000FF4EE6EB0CC770 +:1070000046E40000FF46E6EB02EB00837EE40074FA +:1070100003E92AFEE9D4FC5F5EC9C3F36FF56FFF95 +:107020006FF36F0970558BEC8B4604B9E803F7E1F9 +:107030008B4E06F7F15DC3558BEC568B7606EB0E47 +:107040008BDE468A0750FF7604E833005959803CAE +:107050000075EDEB005E5DC3558BEC568B7606EB51 +:10706000148BDE468A0750FF7604E8450059590B19 +:10707000C07402EB07803C0075E7EB005E5DC3C89F +:10708000020000568B76048A445A988946FE9CFA80 +:107090008A46FEBAFE00EEBA0200ECA80274069D13 +:1070A000E8919EEBE9BA00008A4606EE9DEB005E91 +:1070B000C9C3C8040000568B76048A445A9889468E +:1070C000FEE8E6A18946FCE8E0A12B46FC3DB80BB2 +:1070D0007605B80100EB239CFA8A46FEBAFE00EE64 +:1070E000BA0200ECA80274069DE8489EEBD9BA00EB +:1070F000008A4606EE9D33C0EB005EC9C3C804009B +:107100000056578B7604837E0600740756E8030109 +:1071100059EB0556E8A200598846FF807EFF0877A4 +:10712000068A46FFE98400807EFF0F7603EB7990A4 +:107130008A46FFB4002D0A008BD883FB047767D101 +:10714000E32EFFA7AF71B000EB6156E86B0059B4B6 +:1071500000250F008946FC56E85E0059B4008BF804 +:1071600056E8550059B400C1E0088BD703D08BFA1C +:107170008B5EFCD1E3897830EB2E56E83B005988D2 +:10718000445BEB2456E831005988445056E8290006 +:107190005988445156E821005988445256E819004C +:1071A00059884453EB02EB00E95BFF5F5EC9C346BD +:1071B00071A6714A717A718471C8040000568B7689 +:1071C000048A445A988946FE9CFA8A46FEBAFE0012 +:1071D000EEBA0200ECA80175069DE8579DEBE9BAEE +:1071E0000000EC8846FD9D8A46FDEB005EC9C3C8E1 +:1071F000020000568B76048A445A988946FE9CFA0F +:107200008A46FEBAFE00EEBA0200EC32E424019D8A +:107210005EC9C3C8060000568B76048A445A988912 +:1072200046FEE885A08946FAE87FA02B46FA3DB8DD +:107230000B7604B008EB249CFA8A46FEBAFE00EEF8 +:10724000BA0200ECA80175069DE8E89CEBDABA00EA +:1072500000EC8846FD9D8A46FDEB005EC9C3558B58 +:10726000EC568B56048A4606EE33F6EB035058462E +:1072700083FE147CF85E5DC3C8020000568B560482 +:10728000EC8846FF33F6EB0350584683FE147CF837 +:107290008A46FFEB005EC9C3C802000056578B76D2 +:1072A00004833EB00B00751FBA8801B000EEBA86A9 +:1072B00001B000EE6A096A00683001E87D0183C40C +:1072C00006C706B00B01006A098BC605800150E8AD +:1072D000DA0059598BF88BC7C1E80C250F00894695 +:1072E000FE8BC7C1E808250F008B56FE83F20C3BCE +:1072F000C275218BC7C1E804250F008B56FE83F2AF +:10730000063BC2750F8BC7250F008B56FE83F20913 +:107310003BC2740D6A0756E838005959C746FE0744 +:10732000008A46FE0480A233028BC6BA6200F7EAE6 +:107330008A56FE8BD888976C006832028BC6BA6278 +:1073400000F7EA05140050E80EFD5959EB005F5EA6 +:10735000C9C3C8020000568B760683E60F8BC6C1F0 +:10736000E00C8BD683F20CC1E2080BC28BD683F201 +:1073700006C1E2040BC28BD683F2090BC28946FE1A +:107380006A196A108B46049905400183D200525055 +:10739000E86B0183C4060B46FE83CA005250E89A8C +:1073A0000083C406E82501EB005EC9C3558BEC568B +:1073B0005733FF6A01688601E8A3FE5959B1102AC4 +:1073C0004E06D3660433F6EB2E817E0400807204F1 +:1073D000B001EB02B00050688801E881FE59596A9B +:1073E00003688601E877FE59596A01688601E86DED +:1073F000FE5959D16604463B76067CCD33F6EB2424 +:10740000D1E76A03688601E854FE59596A01688623 +:1074100001E84AFE5959688801E85CFE599825013F +:10742000000BF84683FE107CD76A00688601E82DC1 +:10743000FE59598BC7EB005F5E5DC3558BEC565709 +:107440008B7E086A01688601E813FE5959B820004E +:107450002BC750FF7606FF7604E8A20083C4068996 +:10746000560689460433F6EB47817E060080720C8F +:107470007506837E04007204B001EB02B000506810 +:107480008801E8D9FD59596A03688601E8CFFD599A +:10749000596A01688601E8C5FD59596A01FF7606F7 +:1074A000FF7604E8580083C40689560689460446D8 +:1074B0003BF77CB56A00688601E8A2FD59596A006D +:1074C000688601E898FD59595F5E5DC3558BEC569F +:1074D0006A01688601E886FD595933F6EB00688831 +:1074E00001E894FD59A80175088BC6463D64007CEF +:1074F000ED6A00688601E865FD59595E5DC3C80400 +:1075000000008B46048B56068B4E08E306D1E0D173 +:10751000D2E2FA8946FC8956FE8B56FE8B46FCEB7E +:1075200000C9C300000000000000000000000000CF +:1075300050726576696F7573204D656E7500426592 +:1075400067696E00000000000000000000000000FD +:10755000000000000000000000000000000000002B +:10756000000000000000000000000000000000001B +:10757000000000000000000000000000000000000B +:1075800000000000000000000000000000000000FB +:1075900000000000000000000000000000000000EB +:1075A00000000000000000000000000000000000DB +:1075B00000000000000000000000000000000000CB +:1075C00000000000000000000000000000000000BB +:1075D00000000000000000000000000000000000AB +:1075E000000000000000000000000000000000009B +:1075F000000000000000000000000000000000008B +:10760000000000000000000000000000000000007A +:10761000000000000000000000000000000000006A +:10762000000000000000000000000000000000005A +:10763000000000000000000000000000000000004A +:10764000000000000000000000000000000000003A +:10765000000000000000000000000000000000002A +:10766000000000000000000000000000000000001A +:10767000000000000000000000000000000000000A +:1076800000000000000000000000000000000000FA +:1076900000000000000000000000000000000000EA +:1076A00000000000000000000000000000000000DA +:1076B00000000000000000000000000000000000CA +:1076C000000000000000000000000000506F727415 +:1076D000203000506F7274203100506F727420326D +:1076E00000506F7274203300506F72742034005059 +:1076F0006F7274203500506F7274203600506F72B4 +:1077000074203700506F7274203800506F727420EC +:107710003900506F727420313000506F7274203114 +:107720003100506F727420313200506F727420310A +:107730003300506F727420313400506F72742031F6 +:1077400035009C01A301AA01B101B801BF01C60126 +:10775000CD01D401DB01E201EA01F201FA010202EA +:107760000A02080000078100038080809F919591A4 +:107770009F000381848E95848484840003828484A2 +:107780008484958E8400048800B20BC60BDA0BEE5D +:107790000B020C160C2A0C3E0C520C770C9C0CBEE7 +:1077A0000CE00C020D01802054657374205061734D +:1077B000736564201F20507265737320800200017E +:1077C00080204D697373696E67205278204461741C +:1077D000611F205072657373208002000180204277 +:1077E00061642052782044617461201F20507265CA +:1077F000737320800200018020586D7472204275DE +:1078000073791F20507265737320800200018020FD +:107810006E6F742063757272656E746C791F2020B0 +:10782000696D706C656D656E7465640200240D2F62 +:107830000D3A0D450D500D5B0D660D710D7C0D87DC +:107840000D920D9D0DA80DB30DBE0DC90D53802CCD +:107850003254442053862C334454522053822C33C8 +:10786000525453201F53812C3252442053852C32C2 +:1078700043442053832C334354532053842C3344A8 +:1078800053522053872C3252492702000180202076 +:10789000444344202D2070696E2032301F275385C9 +:1078A0002E31818263908081828384858687888956 +:1078B0008A8B8C8D8E8F27020001802020445352AA +:1078C000202D2070696E2031311F2753842E318185 +:1078D000826390808182838485868788898A8B8C65 +:1078E0008D8E8F27020001802020435453202D20AD +:1078F00070696E20341F2753832E318182639080FC +:107900008182838485868788898A8B8C8D8E8F2758 +:107910000200018020205249202D2070696E203203 +:10792000321F2753872E3181826390808182838426 +:1079300085868788898A8B8C8D8E8F2702000180AF +:107940002020445452202D2070696E20362F381F7D +:107950002753862E3181826390808182838485863D +:107960008788898A8B8C8D8E8F270200018020204A +:10797000525453202D2070696E20351F2753822EBC +:107980003181826390808182838485868788898A19 +:107990008B8C8D8E8F27020001802020527844200E +:1079A0002D2070696E20321F2753812E30534D8158 +:1079B000826390808182838485868788898A8B8C84 +:1079C0008D8E8F27020001802020547844202D20A6 +:1079D00070696E20331F2753802E30534D81826390 +:1079E00090808182838485868788898A8B8C8D8E1E +:1079F0008F27020001802020444344202D207069FD +:107A00006E20351F2753852E3181826390808182BD +:107A1000838485868788898A8B8C8D8E8F27020048 +:107A200001802020445352202D2070696E20351F84 +:107A30002753842E3181826390808182838485865E +:107A40008788898A8B8C8D8E8F2702000180202069 +:107A5000435453202D2070696E20311F2753832EED +:107A60003181826390808182838485868788898A38 +:107A70008B8C8D8E8F270200018020205249202D73 +:107A800020286E2E632E291F2753872E3181826373 +:107A900090808182838485868788898A8B8C8D8E6D +:107AA0008F27020001802020445452202D2070692D +:107AB0006E20321F2753862E31818263908081820F +:107AC000838485868788898A8B8C8D8E8F27020098 +:107AD00001802020525453202D2070696E20371FC2 +:107AE0002753822E318182639080818283848586B0 +:107AF0008788898A8B8C8D8E8F27020001802020B9 +:107B0000527844202D2070696E20361F2753812E15 +:107B100030534D81826390808182838485868788FB +:107B2000898A8B8C8D8E8F270200018020205478CB +:107B300044202D2070696E20331F2753802E305330 +:107B40004D81826390808182838485868788898A3B +:107B50008B8C8D8E8F27020001802020444344208F +:107B60002D2070696E20351F202020202753852E60 +:107B700031818263888081828384858687270200A1 +:107B800001802020445352202D2070696E20351F23 +:107B9000202020202753842E318182638880818297 +:107BA0008384858687270200018020204354532048 +:107BB0002D2070696E20311F202020202753832E16 +:107BC0003181826388808182838485868727020051 +:107BD000018020205249202D20286E2E632E291F3F +:107BE000202020202753872E318182638880818244 +:107BF00083848586872702000180202044545220F8 +:107C00002D2070696E20321F202020202753862EC1 +:107C10003181826388808182838485868727020000 +:107C200001802020525453202D2070696E20371F70 +:107C3000202020202753822E3181826388808182F8 +:107C40008384858687270200018020205278442083 +:107C50002D2070696E20361F202020202753812E72 +:107C600030534D8182638880818283848586872713 +:107C7000020001802020547844202D2070696E205D +:107C8000331F202020202753802E30534D818263C4 +:107C90008880818283848586872702000180202056 +:107CA000444344202D2070696E2032301F20202054 +:107CB000202753852E318182638880818283848549 +:107CC000868727020001802020445352202D2070F7 +:107CD000696E2031311F202020202753842E3181CE +:107CE0008263888081828384858687270200018061 +:107CF0002020435453202D2070696E20341F2020F3 +:107D000020202753832E318182638880818283845F +:107D1000858687270200018020205249202D20706F +:107D2000696E2032321F202020202753872E318178 +:107D30008263888081828384858687270200018010 +:107D40002020445452202D2070696E20362F381F79 +:107D5000202020202753862E3181826388808182D3 +:107D60008384858687270200018020205254532077 +:107D70002D2070696E20351F202020202753822E51 +:107D8000318182638880818283848586872702008F +:107D900001802020527844202D2070696E20321FEF +:107DA000202020202753812E30534D8182638880EC +:107DB0008182838485868727020001802020547871 +:107DC00044202D2070696E20331F2020202027534F +:107DD000802E30534D8182638880818283848586A2 +:107DE0008727020068049604B6033C040E04890346 +:107DF0005C03E20360088A08BE0738080E0895078E +:107E00006C07E6071C057405FA05C404F004CC05EC +:107E1000A00548057806C806420728065006180738 +:107E2000F006A0060000F408F408D40D04090409C3 +:107E30000409040942000C091C09E50D020014099B +:107E40000409F40D43001C090C09050E0004040983 +:107E50001409120E2C092C092C092C0900003C09CC +:107E60006C091E0E740974097409740900014C0927 +:107E70002C092D0E740974097409740900025C0937 +:107E80003C093D0E740974097409740900036C09F6 +:107E90004C094D0E7409740974097409FF002C090A +:107EA0005C09000000058409EC095E0EF409F40980 +:107EB000F409F409000694097409680EAC0AAC0AC6 +:107EC000AC0AAC0A0007A4098409720EBC0ABC0AF9 +:107ED000BC0ABC0A0008B40994097C0ED40AD40A6E +:107EE000D40AD40A000BC409A409830EFC0AFC0AB4 +:107EF000FC0AFC0A000CD409B409900E140B140BF4 +:107F0000140B140B0002E409C409A00E2C0B2C0B5B +:107F10002C0B2C0B0400EC09D4090E00FF00740993 +:107F2000E40900008201FC09A40AAC0E8202040AE2 +:107F3000F409AF0E82030C0AFC09B20E8204140A83 +:107F4000040AB60E82051C0A0C0ABC0E8206240A1C +:107F5000140AC00E82072C0A1C0AC40E8208340AB6 +:107F6000240AC80E82093C0A2C0ACC0E820A440A52 +:107F7000340AD10E82104C0A3C0AD60E820B540AE7 +:107F8000440ADB0E82115C0A4C0AE00E820C640A81 +:107F9000540AE50E82126C0A5C0AEA0E820D740A1B +:107FA000640AEF0E820E7C0A6C0AF40E820F840AB9 +:107FB000740AFB0E82138C0A7C0A020F8214940A44 +:107FC000840A090F82159C0A8C0A100F8216A40AD3 +:107FD000940A170F8217F4099C0A1E0F8202B40A32 +:107FE000B40A260F8203AC0AAC0A2D0F8200C40A21 +:107FF000CC0A340F8201CC0ABC0A3F0F8202BC0AB1 +:10800000C40A4D0F8200DC0AF40A590F8201E40A07 +:10801000D40A630F8202EC0ADC0A6E0F8203F40AB0 +:10802000E40A7A0F8204D40AEC0A870F8200040B58 +:108030000C0B930F82010C0BFC0A9B0F8202FC0AB3 +:10804000040BA70F82001C0B240BB00F8201240B22 +:10805000140BB50F8202140B1C0BBE0F4400340B23 +:10806000A40B9C0144013C0B2C0BA3014402440BC8 +:10807000340BAA0144034C0B3C0BB1014404540BD8 +:10808000440BB80144055C0B4C0BBF014406640B68 +:10809000540BC60144076C0B5C0BCD014408740BF8 +:1080A000640BD40144097C0B6C0BDB01440A840B88 +:1080B000740BE201440B8C0B7C0BEA01440C940B17 +:1080C000840BF201440D9C0B8C0BFA01440EA40BA3 +:1080D000940B0202440F2C0B9C0B0A02171F0F2F4C +:1080E0000000018078783A20747820637073202A29 +:1080F0002A2A2A2A0200018078783A20747820639C +:108100007073202A2A2A2A2A0200018078783A20CD +:10811000747820637073202A2A2A2A2A0200018098 +:1081200078783A20747820637073202A2A2A2A2AC1 +:10813000020001C078783A20726320637073202AAD +:108140002A2A2A2A020001C078783A207263206322 +:108150007073202A2A2A2A2A020001C078783A203D +:10816000726320637073202A2A2A2A2A020001C01F +:1081700078783A20726320637073202A2A2A2A2A88 +:1081800002000180496E7374616C6C204C6F6F70DB +:108190006261636B1F5072657373208020746F205F +:1081A000737461727402000180204361626C652007 +:1081B000746F2052656D6F74651F50726573732004 +:1081C0008020746F20737461727402000180204CEF +:1081D0006F63616C204C6F6F706261636B201F2056 +:1081E0002052756E6E696E67202E2E2E0200018061 +:1081F00052656D6F7465204C6F6F706261636B20A8 +:108200001F202052756E6E696E67202E2E2E020082 +:10821000018020496E74726E6C204C6F6F706261C9 +:10822000636B1F202052756E6E696E67202E2E2E96 +:10823000020001805472616E736D69742050617424 +:108240007465726E1F202052756E6E696E67202EE7 +:108250002E2E020001802020303A2027438000018A +:10826000802020313A202743810001802020323AAB +:10827000202743820001802020333A2027438300B7 +:1082800001802020343A20274384000180202035BB +:108290003A202743850001802020363A2027438654 +:1082A0000001802020373A202743870001802020CA +:1082B000383A202743880001802020393A2027437C +:1082C000890001802031303A2027438A0001802034 +:1082D00031313A2027438B0001802031323A202768 +:1082E000438C0001802031333A2027438D000180E8 +:1082F0002031343A2027438E0001802031353A2046 +:1083000027438F002A2A204D61696E20204D656E1B +:1083100075202A2A004D6F6E69746F72206120509B +:108320006F7274004D6F6E69746F722061205369B3 +:10833000676E616C00457374696D617465204350AC +:108340005300446961676E6F7374696373004C6FA7 +:1083500063616C204C6F6F706261636B0052656D7E +:108360006F7465204C6F6F706261636B00496E744F +:10837000726E6C204C6F6F706261636B005472613F +:108380006E736D6974205061747465726E00426121 +:10839000756420526174650044617461204269749F +:1083A000730053746F702042697473005061726976 +:1083B00074790044617461205061747465726E0058 +:1083C000547820466C6F7720436F6E74726F6C0028 +:1083D000506F7274204E756D6265720035300037D3 +:1083E0003500313130003133342E35003135300035 +:1083F00032303000333030003630300031323030FF +:10840000003138303000323030300032343030001B +:1084100033363030003438303000373230300039C5 +:108420003630300031392C3230300033382C343093 +:10843000300035362C3030300035372C36303000B7 +:1084400036342C3030300037362C38303000313173 +:10845000352C323030003720626974730038206266 +:1084600069747300312073746F7020626974003115 +:108470002E352073746F702062697473003220731C +:10848000746F702062697473006E6F20706172691E +:108490007479006F64642070617269747900657624 +:1084A000656E207061726974790073706163652014 +:1084B000706172697479006D61726B2070617269AC +:1084C000747900436F6C756D6E7300426172626502 +:1084D0007220506F6C650055555555552E2E2E0047 +:1084E0004E6F6E6500586F6E2F586F66660043546E +:1084F00053005072657373208020666F72206D6523 +:108500006E750028636F756E74696E672E2E2E2946 +:108510000000654E64204F6620436F4465000000F4 +:10852000000000000000000000000000000000004B +:10853000000000000000000000000000000000003B +:10854000000000000000000000000000000000002B +:10855000000000000000000000000000000000001B +:10856000000000000000000000000000000000000B +:1085700000000000000000000000000000000000FB +:1085800000000000000000000000000000000000EB +:1085900000000000000000000000000000000000DB +:1085A00000000000000000000000000000000000CB +:1085B00000000000000000000000000000000000BB +:1085C00000000000000000000000000000000000AB +:1085D000000000000000000000000000000000009B +:1085E000000000000000000000000000000000008B +:1085F000000000000000000000000000000000007B +:00000001FF +/* Intelliport II loadware */ +/* -31232 bytes read from ff.lod */ diff --git a/firmware/kaweth/new_code.bin.ihex b/firmware/kaweth/new_code.bin.ihex new file mode 100644 index 0000000..292d40f --- /dev/null +++ b/firmware/kaweth/new_code.bin.ihex @@ -0,0 +1,206 @@ +:10000000B6C3AABBCCDD9FCFDE06E7570000C4060F +:1000100097C1E767FF1F28C0E787000424C0E76790 +:10002000FFF922C097CFD70900C0E709A2C0BE06DA +:100030009FAF3600E70500C0A7CFBC0697CFE757B4 +:100040000000B806A7A1B80697CFE757000014082C +:100050000AC0E7570000A4C0A7C07A069FAF920766 +:10006000E70700001408E757FFFFBA069FA0380013 +:10007000E759BA06BE069FA03800C809CA0608623A +:100080009FA13608C00976060060A7C07A069FAF18 +:10009000CC02E7570000B806A7C17A069FAF04005C +:1000A000E75700008E060AC1E70920C01008E7D014 +:1000B0001008E767400010089FAF920CC009D006F7 +:1000C000006005C4C059BE0602C09FAFEC009FAFE0 +:1000D0003402E7570000A6069FA07A02A7CF7A064F +:1000E0004802E709BE06D006C83704009FAF0803E0 +:1000F00097CFE7570000CE0697C0D70900C0C1DFF1 +:10010000C809C606086214C02704C6061094F00782 +:1001100010080200C107010070000400F007300160 +:10012000060050AFE707FFFFD006E7070000CE0646 +:10013000E70500C097CFD70900C0C1DF4802D0094A +:10014000C6062702C606E70500C097CF4802C83793 +:100150000400000C0C00006021C0C0373E0023C921 +:10016000C057B4051BC8C0173F00C067C0FF3000B0 +:100170000800F007000004000002C0174C00300027 +:100180000600F007A0010A004802C1070200D709D3 +:1001900000C0C1DF51AFE70500C097CF9FAF080394 +:1001A0009FAF7A0297CF9FAF7A02C9370400C1DFB1 +:1001B000C809A20650026702A206D107000027D88C +:1001C000AA06C0DF9FAFC40197CFE7570000D20651 +:1001D00097C1E7570100A80697C0C809A0060862A2 +:1001E00097C00002C0170E0027003401270C0C0036 +:1001F0003601E70750C312C0E707CC0B0200E70740 +:100200000100A806E707050090C097CFC809A4061B +:10021000086202C0106407C1E70700009E06E707F6 +:100220007204240097CF2704A406C8170E002702E3 +:100230009E06E7078004240097CFD70900C0C1DFDE +:10024000E7570000900613C19FAF0602E757000072 +:100250009E0613C0E7099E063001E707F20532014A +:10026000E707100096C0E7099E06900604CFE757FF +:1002700000009E0602C19FAF0602E70500C097CFAF +:10028000D70900C0C1DF0892E7570200AA0602C3DF +:10029000C809A4062702A606086203C1E70500C034 +:1002A00097CF2704A406E70500C0F0074000080028 +:1002B000F007000004000002C0170C003000060028 +:1002C000F00746010A00C8170400C107020051AF39 +:1002D00097CFE7570000960697C0C1DFC80996067A +:1002E000270496062752980603C1E7079606980644 +:1002F000C0DF1702C8170E009FAFBA03C805006021 +:1003000003C09FAF240397CF9FAF080397CF570237 +:10031000C907A406D70900C0C1DF08621BC050048A +:100320001102E70500C0C90597CF9702CA09D60692 +:10033000F21701000400F22700000600CA172C0083 +:10034000F87701000E0006C0CAD9F857FF000E006A +:1003500001C1CAD9221C0C00E2270000E2170100EB +:10036000E2270000CA05000C0C00C0174100C0675E +:10037000C0FF300008000002C0170C00300006006B +:10038000F007DA000A00F00700000400000C080083 +:1003900040D10100C019CE06C059C20604C949AFF8 +:1003A0009FAFEC004AAF6710CE06C8170400C10724 +:1003B0000100D70900C0C1DF50AFE70500C097CFEB +:1003C000C0070100C109AC06C177010097C1D87709 +:1003D000010012C0C9076A069FAF080404C1C177B3 +:1003E000080013C097CFC177020097C1C1771000F2 +:1003F0000CC09FAF2C0497CFC177040006C0C9077B +:1004000070069FAF080497C000CF009097CF50545C +:1004100097C1705C0200020097C1705C0400040088 +:1004200097CF8001C0006000300018000C0006006B +:100430000000CB09B206CC09B4060B5311C0C902A7 +:10044000CA071C049FAF080497C00AC882080ACFD5 +:1004500082089FAF080497C005C28930826078C1C6 +:10046000009097CF8910095379C2893082087ACFDA +:10047000C0DF97CFC0DF97CFE70996C09206E709A4 +:1004800098C094060FCFE70996C09206E70998C076 +:100490009406E7099E063001E707F2053201E707F7 +:1004A000100096C0D70900C01702C8099006C837C7 +:1004B0000E00E7772A00920630C09702CA09D606D6 +:1004C000E777200092060EC0F21701001000F22715 +:1004D00000001200E7770A009206CA051EC09702C4 +:1004E000CA09D606F21701000C00F22700000E0020 +:1004F000E7770200920607C0F21701004400F227D6 +:100500000000460006CFF21701006000F22700004D +:100510006200CA059FAF08030FCF57020902F10915 +:1005200094060C00F1DA0C00C80998065002670224 +:100530009806D1070000C905E7099E069006E7570F +:100540000000900602C09FAF0602C805E70500C084 +:10055000C0DF97CFD70900C0170017029702C00964 +:1005600092C0E707040090C0CA09D606E70700005A +:10057000A806E7076A040200C077020008C0F21765 +:1005800001005000F227000052009FCF2406C077E0 +:10059000100006C0F21701005800F22700005A00B0 +:1005A000C077800006C0F21701007000F22700003B +:1005B0007200C07708001DC1F21701000800F22781 +:1005C00000000A00C077000206C0F21701006400B4 +:1005D000F22700006600C077400006C0F217010055 +:1005E0005C00F22700005E00C077010001C01BCF55 +:1005F0001ACFF21701000000F22700000200C8091C +:100600003401CA171400D877010005C0CAD9D857D9 +:10061000FF0001C0CAD9E21994C0E2270000E21726 +:100620000100E22700009FAF40069FAFC401E757DB +:100630000000D2069FA10E0ACA05C805C005E7053D +:1006400000C0C0DF97CFC809A006086297C0270482 +:10065000A0062752A20603C1E707A006A2069FAF85 +:100660000803E7570000AA0602C027DAAA0697CFB8 +:10067000FFFFFFFFFFFF0000000000000000000080 +:10068000000000000000000000000000000000006A +:10069000000000000000000000000000000000005A +:1006A000000000000000000000000000000000004A +:1006B000000000000000000000000000000000003A +:1006C00000000000000000003F00000000000000EB +:1006D000000000000000FFFF01000000000000001B +:1006E000FFFFFB13E7570080B20006C2E707EE0BDF +:1006F0001200E707340CB200E707C607F202C80988 +:10070000B400F80702000D00D7090EC0E70700008B +:100710000EC0C809DE00C8170900C907DA06C007FD +:100720000400680A00DA7DC1E709C0007C06E70919 +:10073000BE007806E7091000BC06C807D6079FAFC1 +:10074000AE079FAF000AC809DE00000E0F004190FF +:100750009FDE060044AF2700B2062700B40627003C +:10076000B606C007740044AF2700D6060800009004 +:10077000C1073A00200001DA7DC19FAFBA09C00766 +:10078000440048AF27007A069FAF960AE7070100AA +:10079000C006E7050EC097CF49AFE78743000EC0FC +:1007A000E707FFFFBE069FAFAE0AC007010060AFBC +:1007B0004AAF97CF00080908110800DA7CC197CF2B +:1007C0006704CC02C0DF5194B1AF0600C1DFC90994 +:1007D000CC02496275C1C0DFA7CFD6020E0024004B +:1007E000800422004E05D0000E0AAA003008BE0088 +:1007F0004A0A1000200004006E0402006A04060089 +:10080000000024C0040428C0FEFB1EC0000422C057 +:10081000FFF4C000900900000000FFFF56086008C8 +:10082000D008DA0800090409080932094209500908 +:1008300052095A095A092702CA0697CFE70700004A +:10084000CA060A0E0100CA570E009FC35A09CA37CA +:1008500000009FC25A090AD2B2CF1608C809DE00AA +:1008600007069FCF6C091702C809DE00000E0F00B3 +:1008700041909FDE0600C805305006009FC85A0907 +:10088000270C0200B006C009B2062700B406E7072D +:100890000000AE0627008006001C06002700B606F2 +:1008A00041906750B0060DC067007E06270C060019 +:1008B0008206E707BC088406C8077E06419051AF50 +:1008C00097CF9FAF480CE709B606B406E709B00614 +:1008D000AE0659AF97CF270C0200AC0659AF97CFA1 +:1008E000090C020009DA49D2C919D606C8077E06E2 +:1008F000E00700006002E0070400D007CC0848DBF6 +:10090000419050AF97CF59AF97CF59AF97CFF0578E +:100910000600060025C1E7077006800641906700C3 +:100920007E06270C06008206E7078C098406C807A6 +:100930007E06419051AF97CF070C0600C7570600BF +:100940000FC1C807700615CF000C020000DA40D1B5 +:100950002700C2061ECF1DCF270C0200CC0619CFE0 +:1009600027022001E70708002201E7071300B0C0B3 +:1009700097CF419067007E06E70182062702800636 +:10098000E7078C098406C8077E06C107008050AFC0 +:1009900097CF59AF97CF006005C0E7070000C406A6 +:1009A000A7CF7C069FAF000AE7070100C40649AF46 +:1009B000D70900C007AFE70500C04AAFA7CF7C0644 +:1009C000C007FE7F44AF4000C03700014190C037F0 +:1009D0000800DFDE5006C057100002C2C00710003A +:1009E00027009A0641909FDE400644AF27009C06F0 +:1009F000C0099A06419000D200D89FDE080044AF9B +:100A00002700C80697CFE787008428C0E767FFFB69 +:100A100024C097CFE7870100D206E7570000A80659 +:100A200097C19FAF000AE787000622C0E7070000D2 +:100A300090C0E767FEFF3EC0E70726000AC0E787D1 +:100A400001003EC0E707FFFFBE069FAF100B97CF28 +:100A50001700A7AF7806C00527007606E7870100D4 +:100A6000D2069FAF000AE7070C0040C09FAF100BF3 +:100A700000902700A6062700AA06E709B206B406DA +:100A80002700AE062700AC069FAFAE0AC0070000E5 +:100A90002700B2022700B40227008E06C007060016 +:100AA000C809DE00C8170300C9077006290A00DA62 +:100AB0007DC197CFD70900C0C1DF009027009606FF +:100AC000E707960698062700A006E707A006A206F5 +:100AD0002700A6062700900627009E06C8099C0648 +:100AE000C1099A06C907A40611020902C8174006DF +:100AF00001DA7AC15194C809C806C907C606C109F6 +:100B00009A0611020902C817080001DA7AC1519445 +:100B1000E70500C097CFE7570000760697C09FAF64 +:100B20000400E709BE06BA06E757FFFFBA0604C18C +:100B3000E707100BB80697CFE7173200BA06E7674A +:100B4000FF07BA06E707460BB80697CFE75700003E +:100B5000C00623C0E707040090C0E707008080C0FC +:100B6000E707000080C0E707008080C0C0070000E2 +:100B7000C0070000C0070000E707000080C0E707CB +:100B8000008080C0E707008040C0C0070000E70782 +:100B9000000040C0E707000080C0E707040090C0E5 +:100BA000E707000240C0E7070C0240C0E70700006B +:100BB000C006E7070000B806E7070000D206D7091D +:100BC00000C0C1DF9FAF3402E70500C09FAFC40182 +:100BD00097CFD70900C0170017029702E757000008 +:100BE000A80606C0C00992C0C07709029FC15C0573 +:100BF0009FCF3206D7090EC0E70700000EC09FAF97 +:100C0000020CE7050EC097CFD70900C01702C8092C +:100C1000B0C0E767FE7FB0C0C87700209FC164EB1B +:100C2000E7570000C8029FC180EBC899CA02C86795 +:100C300004009FC196EB9FCF4CEBE7070000A6C0D6 +:100C4000E709B0C0C802E7070300B0C097CFC009EA +:100C5000B006C037010097C9C909B2060200419029 +:100C60004802C91706009FAF08049FA2720C02DA5F +:100C700077C1416071C197CF170257024304210425 +:100C8000E00043042104E00043042104E000C10724 +:100C90000100C905C80597CFE70701008E06C80700 +:100CA0008606E70700008606E70710088806E707BC +:100CB00004008A06E707BC0C8C06C107038050AF0E +:0C0CC00097CFE70700008E0697CF0000DA +:00000001FF diff --git a/firmware/kaweth/new_code_fix.bin.ihex b/firmware/kaweth/new_code_fix.bin.ihex new file mode 100644 index 0000000..fb35d3d --- /dev/null +++ b/firmware/kaweth/new_code_fix.bin.ihex @@ -0,0 +1,40 @@ +:10000000B6C3AABBCCDD0200080028002C003400D7 +:100010003C0040004800540058005E006400680046 +:100020006E006C00720076007C00800086008A0002 +:100030009000940098009E00A600AA00B000B400B2 +:10004000B800C000C600CA00D000D400D800E0004C +:10005000DE00E800F000FC0004010A0118012201A2 +:1000600028013A013E017E0198019C01A201AC01E8 +:10007000B201BA01C001C801D001D601F401FC01EE +:10008000080216021A0222022A022E023E0244022C +:100090004A025002640262026C02720286028C0200 +:1000A00090029E02BC02D002D802DC02E002E8020A +:1000B000E602F402FE0204030C0328037C0390030F +:1000C00094039C03A203C003D003D403EE03FA03FA +:1000D000FE032E0432043C0440044E0476047C04E7 +:1000E00084048A048E04A604B004B804BE04D204B6 +:1000F000DC04EE0410051A0524052A05360534052E +:100100003C05420564056A056E058605220626063D +:100110002C06300642064A064E06560654065A0675 +:1001200060066606E806EE06F406160726072C07A4 +:10013000320736073A073E07520756075A07640741 +:1001400076077A07800784078A079E07A207DA07DF +:10015000DE07E207E607EA07EE07F207F6070E08F2 +:10016000160818081A081C081E0820082208240867 +:10017000260828082A082C082E0832083A084608BB +:100180004E0854085E0878087E08820886088C08A5 +:10019000900898089E08A408AA08B008AE08B408F9 +:1001A000BE08C408C208CA08C808D408E408E80899 +:1001B000F608140912091A092009260924092A092E +:1001C0003E094C0956097009740978097E097C09B1 +:1001D000820998099C09A009A609B809DC09E8095F +:1001E000EC09FC09120A180A1E0A420A460A4E0ABB +:1001F000540A5A0A5E0A680A6E0A720A780A760A6D +:100200007C0A800A840A940AA40AB80ABE0ABC0AB4 +:10021000C20AC80AC60ACC0AD00AD40AD80ADC0A1A +:10022000E00AF20AF60AFA0A140B1A0B200B1E0B4C +:10023000260B2E0B2C0B360B3C0B420B400B4A0BA8 +:10024000AA0BB00BB60BC00BC80BDA0BE80BEC0B10 +:10025000FA0B4A0C540C620C660C960C9A0CA00C0F +:0E026000A60CA40CAC0CB20CB00CC00C000030 +:00000001FF diff --git a/firmware/kaweth/trigger_code.bin.ihex b/firmware/kaweth/trigger_code.bin.ihex new file mode 100644 index 0000000..c3e1658 --- /dev/null +++ b/firmware/kaweth/trigger_code.bin.ihex @@ -0,0 +1,13 @@ +:10000000B6C3AABBCCDDC807A000F0075E0006009F +:10001000F0070A000800F00900000200E7073600B8 +:100020000000F00700000400E70750C310C0F0090B +:100030000EC00000E78701000EC097CFD70900C0AF +:100040001702C807A000E71750C310C030D804003B +:10005000305C08000400B0C00600C805E70500C019 +:10006000C0DF97CF49AFC007000060AF4AAF000CB8 +:100070000C0040D2001C0C0040D230000800F007F9 +:1000800000000400F0078600060067CF270C02007E +:100090000000270C00000EC049AF64AFC00700008D +:1000A0004BAF4AAF5ACF0000000000000000000034 +:0600B000940005000000B1 +:00000001FF diff --git a/firmware/kaweth/trigger_code_fix.bin.ihex b/firmware/kaweth/trigger_code_fix.bin.ihex new file mode 100644 index 0000000..7712f73 --- /dev/null +++ b/firmware/kaweth/trigger_code_fix.bin.ihex @@ -0,0 +1,3 @@ +:10000000B6C3AABBCCDD0200060018003E0080008B +:060010009800AA000000A8 +:00000001FF diff --git a/firmware/keyspan/mpr.HEX b/firmware/keyspan/mpr.HEX new file mode 100644 index 0000000..a53ba10 --- /dev/null +++ b/firmware/keyspan/mpr.HEX @@ -0,0 +1,104 @@ +:0300330002001AAE +:04001A0053D8EF3296 +:100003008E568F57E5571557AE56700215564E60EC +:0700130005120FA280EE228E +:0300230002004692 +:10004600C0E0C083C082C086758600C0D075D00867 +:1000560030990E300B07A20E929B853699C299D223 +:10006600122012030202F9C2123003197E7E7F406B +:10007600751A7E751B407517007E7D7FC075187DCD +:100086007519C080177E7D7FC0751A7D751BC0757A +:1000960017017E7E7F4075187E751940200B03027E +:1000A6000184E53AC39553503C200C342009319025 +:1000B6007F9BE055387029301012AF3A053AE51BA0 +:1000C6002FF582E4351AF583E013920EAF3A053A1E +:1000D600E51B2FF582E4351AF583E0F5360202F7C3 +:1000E600C20B0202F7300311907FC7E4F0A3E0547D +:1000F60002F51DA3E0F51C8011907FC9E4F0907F06 +:03004300020F00A9 +:03000000020026D5 +:0C002600787FE4F6D8FD75815A020A3399 +:40010600C6E05402F51DA3E0F51CE51724FF9203300D0DC20D907FBB7401F0C20B0202F7E51D6005C20B0202F7851C53851982851883E013920D7512FF200C3A2009379082 +:400146007F9BE05538702F30101C851982851883A3E013920E851982851883A3A3E0F536753A030202F7753A02851982851883A3E0F5360202F7753A01C20B0202F73003FE +:400186000E907FC6E05402F51DA3E0F51C800C907FC8E05402F51DA3E0F51CE53AC395535003020268E51D6007C214C2050202F7851C53851B82851A83E013920D7512FF61 +:4001C600300C03020260300903020260907F9BE05538600302026030101B851B82851A83A3E013929B851B82851A83A3A3E0F599753A03800D851B82851A83A3E0F5997575 +:400206003A02E53AC395534026300307907FC7E4F08005907FC9E4F0E51724FF9203200D030202F7C20D907FBB7401F00202F7301012AF3A053AE51B2FF582E4351AF58394 +:40024600E013920EAF3A053AE51B2FF582E4351AF583E0F536D20B0202F7753A01C2140202F7300C030202F53009030202F5907F9BE055387079301012AF3A053AE51B2FF2 +:40028600F582E4351AF583E013929BAF3A053AE51B2FF582E4351AF583E0F599E53AC395534022300307907FC7E4F08005907FC9E4F0E51724FF9203300D36C20D907FBB0E +:4002C6007401F0802C301012AF3A053AE51B2FF582E4351AF583E013920EAF3A053AE51B2FF582E4351AF583E0F536D20B8002C214D201209803020435C298200203020383 +:40030600A2201527AF39053974802FF582E4347EF583E599F030104DAF39053974802FF582E4347EF583E598F0803A859955E555B54704D209802EE555B54604C20980251C +:40034600AF39053974802FF582E4347EF583E555F0301011AF39053974802FF582E4347EF583E598F0D20FE539C395435003020433907FB8E030E116E539C39440500302F5 +:40038600043315391539052B433401020433907FB7E539F0753900C202020433201527AF39053974002FF582E4347EF583E599F030104DAF39053974002FF582E4347EF594 +:4003C60083E598F0803A859955E555B54704D209802EE555B54604C2098025AF39053974002FF582E4347EF583E555F0301011AF39053974002FF582E4347EF583E598F0EA +:40040600D20FE539C395434024907FB6E030E112E539C39440401615391539052B433401800B907FB9E539F0753900D202D201300105C201020056D0D0D086D082D083D02F +:40044600E032907FBCE020E154E5346050E531704CE53430E10BE4F52F753401753102800EA208E433F52FC208E4F534753110E4F5567E007B0074242556F9EE3400FA12D8 +:400486000C79FF74002556F582E4347DF583EFF00556E556B40CDB907FBD740CF0907FCAE030E1030205D1E4F55674402556F582E4347DF583E0FFE5567C007B00243BF903 +:4004C600EC3400FAEF120C920556E556B418DBE53B601175C92075C836853CCA853DCBE4907F9FF0E53E139210929F853F38E540139215E5416009907F98E054FBF0800744 +:40050600907F98E04404F0E5426009907F98E0547FF08007907F98E04480F0E548600BC20CC209907F95E04402F0E549600CD209433401907F95E04402F0E54A600DC2AFBB +:40054600C20BD200E4F553F53AD2AFE54B6005301502D209E54C6015907F95E054FDF0907F9EE04402F0907F98E054FDF0E54D600AD29CC298752C0175311EE54E6007C227 +:400586009CE4F539F52CE54F6003E4F539E5506002D207E551600AE54D7002F531E5514234E552601F907FD77411F07431F07412F07432F07413F07433F07414F07434F067 +:4005C600D203D202D208E4907FCBF0A20CE433FF652960058F29433401A209E433FF652A60058F2A433401907F9BE0FF54086408F55765256006855725433401EF5410643A +:4006060010F55765266006855726433401EF54406440F55765276006855727433401EF54206420F55765286006855728433401907F9AE054406440F557652E600685572E5B +:40064600433401300735C2AF300218907FB8E020E127E5396009907FB7F0E4F539C202C2078016907FB6E020E10FE5396009907FB9F0E4F539D202C207D2AF20053D3003DB +:400686001E907FC6E020E133907E40E013920D753A01907FC7E0F553D2057512FF801C907FC8E020E115907DC0E013920D753A01907FC9E0F553D2057512FF2014332000E6 +:4006C60006E53A6553702A30051A300309E4907FC7F0C2038007E4907FC9F0D203C205E4F553F53A300D0AC20DC200907FBB7401F03014030207BF2005030207BF300C0314 +:400706000207BF3009030207BF907F9BE0553860030207BF30030C7E7E7F4075587E755940800A7E7D7FC075587D7559C0301012AF3A053AE5592FF582E43558F583E0137C +:40074600921AAF3A053AE5592FF582E43558F583E0F557E53AC39553502A301012AF3A053AE5592FF582E43558F583E013920EAF3A053AE5592FF582E43558F583E0F53688 +:40078600D20B8015C20B300309E4907FC7F0C2038007E4907FC9F0D203301004A21A929BD214C2AF855799200B0D300D0AC20DC200907FBB7401F0D2AF22907FE9E0120C70 +:4007C600A4091C0009890109E60307E306090D0809010908E90A08F80B00000A24907FEBE024FE601C14700302087924026003020A24740D907FD4F07487907FD5F0020AE6 +:400806002B907FEAE0B401047F0280027F037582D875830DEFF07582D175830DF07582CA75830DF07582C375830DF0907FEAE00475829E75830DF0907FEFE0FE907FEEE07B +:400846007C002400F55AEC3EF55975150D75169975829B75830DE0751300F514D3E514955AE51395594006855913855A14120BBA020A2B907FEAE0700B7556FF75570D7503 +:4008860058DC802D907FEAE0B4010B7556FF75570D7558E0801B907FEAE0B4020B7556FF75570D7558F080097556FF75570E75581E907FEEE0755900F55AAE57AF588E1512 +:4008C6008F168F828E83E0FEA3E08E13F514D3955AE51395594006855913855A14120BBA020A2B907F00E511F0907FB57401F0020A2B907FEAE0F511020A2B120C24907F84 +:40090600EAE0F510020A2B907F00E510F0907FB57401F0020A2B907FE8E0247F602714603424026003020A24A216E433FF25E0FFA218E4334F907F00F0E4A3F0907FB57455 +:4009460002F0020A2BE4907F00F0A3F0907FB57402F0020A2B907FECE0F45480FFC4540FFFE054072F25E024B4F582E4347FF583E054FD907F00F0E4A3F0907FB57402F00B +:40098600020A2B907FE8E024FE601724026003020A2B907FEAE064016003020A24C216020A2B907FEAE07076907FECE0F45480FFC4540FFFE054072F25E024B4F582E4348D +:4009C6007FF583E4F0907FECE05480FF131313541FFFE054072F907FD7F0E04420F08045907FE8E024FE601024027039907FEAE06401702AD216802D907FEAE07020907F77 +:400A0600ECE0F45480FFC4540FFFE054072F25E024B4F582E4347FF5837401F08007907FB4E04401F0907FB4E04402F022C210E4F510F534C209C20CC20BC214C20DC215A5 +:400A4600C211C207C212C20FC208F535F539F553F53AF533F530F52FF52EF52DF52CF52BF52AF529F528F527F526F525F524C205C217C219C216C218C204D213C206C20178 +:400A8600907F92E054FDF0D2E843D820907FDE7401F0907FDFF0907FAB74FFF0907FA9F0907FAAF05391EF907FAFE04401F0907FAEE0440FF0907FAC740EF0D2AFD2BCD247 +:400AC6001A120F7DC21730040312044830042A300627C206E51260161512907FD8E030E6047F0080027F20907F96EFF08006907F967420F0120B1480CD301707C217120741 +:400B0600C080C33019C0C219120EDC80B922E53160021531E53960556535704BE533F460020533E533C395444043C2AF30021B907FB8E020E12D907FB7E539F0C202E4F5AA +:400B460039F533F5357512FF8019907FB6E020E112907FB9E539F0D202E4F539F533F5357512FFD2AF8006853935E4F533E52C6030200F07907F9BE030E00FE52D6006E497 +:400B8600F52D433401E4F5308014E530D39545500DE530B54506752D014334010530C20F22907FD9E030E2047F0080027F20907F96EFF022E51445136057AE13AF14D3EF0F +:400BC6009440EE940040047E007F40C3E5149FF514E5139EF513E4FDEDC39FE49E501F851682851583E0FC74002DF582E4347FF583ECF00D0516E5167002051580DA907FC4 +:400C0600A97401F0907FACE04401F0907FB5EFF022907FACE054FEF0E4907FB5F022E4907F93F0907F9C7430F0907F967420F0907F947401F0907F9D74FFF0907F977486DF +:400C4600F0907F957403F0907F9E7484F0907F98F0E4907FC7F0907FC9F0907FCBF075984043A810907FDE741FF0907FDF740FF0D20422BB010689828A83E0225002E722C3 +:400C8600BBFE02E32289828A83E49322BB010689828A83F0225002F722BBFE01F322D083D082F8E4937012740193700DA3A393F8740193F5828883E4737402936860EFA367 +:400CC600A3A380DFE4907F95F0907F94F0907F93F0907F9DE04402F0907F97E04442F0907F9C7410F0E4907F96F0907F9D74BEF03016047F8080027F00907F97EFF0E49045 +:400D06007F95F0907F9EF0907F98F022C0E0C0F0C083C082C085C084C086758600C0D075D0085391EF907FA97401F0120BBAD0D0D086D084D085D082D083D0F0D0E032C06A +:400D4600E0C083C082C085C084C086758600907FC4E4F05391EF907FAB7404F0D086D084D085D082D083D0E03200000000000000000000000000000000000000000000001C +:400D86000012011001FFFFFF40CD061C010100010200020902430001010080320904000007FF00000007050102400000070502024000000705030240000007058102400002 +:400DC600010705820240000107058302400001070584024000010403090410034B00650079007300700061006E002E034B00650079007300700061006E00200055005000A3 +:400E0600530048003100310032002D00530065007200690061006C0022035500530041002D003500330020003200300030003200610070007200320036000000C0E0C083DB +:400E4600C082C085C084C0867586005391EF907FAB7402F0D206D086D084D085D082D083D0E032C0E0C083C082C085C084C086758600D2175391EF907FAB7401F0D086D01F +:400E860084D085D082D083D0E032C0E0C083C082C085C084C086758600D2195391EF907FAB7408F0D086D084D085D082D083D0E032C0E0C083C082C085C084C08675860084 +:400EC6005391EF907FA97402F0D086D084D085D082D083D0E032120CCA120FB3907FD6E030E712E04401F07F0D7E00120003907FD6E054FEF0120C242200020E6900020EA3 +:400F06004200020D4500020E9000020F1000020F1400020D1200020F1C00020EB700020F2400020F3300020F2C00020F58C0E0C083C082C085C084C0867586005391EF90A9 +:400F46007FA97404F0D086D084D085D082D083D0E032C0E0C083C082C085C084C0867586005391EF907FA97408F0D086D084D085D082D083D0E032907FD6E054FBF0E044C1 +:3D0F860008F0301A04E04402F07FF47E01120003907FD6E054F7F0E04404F0227400F58690FDA57C05A3E582458370F922907FD6E04480F04387010000000000222C +:00000001FF + + The firmware contained herein is + + Copyright (C) 1999-2001 + Keyspan, A division of InnoSys Incorporated ("Keyspan") + + as an unpublished work. This notice does not imply unrestricted or + public access to the source code from which this firmware image is + derived. Except as noted below this firmware image may not be + reproduced, used, sold or transferred to any third party without + Keyspan's prior written consent. All Rights Reserved. + + Permission is hereby granted for the distribution of this firmware + image as part of a Linux or other Open Source operating system kernel + in text or binary form as required. + + This firmware may not be modified and may only be used with + Keyspan hardware. Distribution and/or Modification of the + keyspan.c driver which includes this firmware, in whole or in + part, requires the inclusion of this statement." + +static char theFirmwareDate53[] = + "04/26/2002 02:47p 11,570 USA53"; + diff --git a/firmware/keyspan/usa18x.HEX b/firmware/keyspan/usa18x.HEX new file mode 100644 index 0000000..a9ff70e --- /dev/null +++ b/firmware/keyspan/usa18x.HEX @@ -0,0 +1,141 @@ +:030033000212F7BF +:10000300E4907F93F0907F9C7430F0E4907F96F0BF +:10001300907F94F0907F9D74FFF0E4907F97F09031 +:0F0023007F95F0907F9E7407F0E4907F98F02215 +:1000460030091812131BEFC3953C40030200D890E9 +:100056007FBF7401F0C209C200807730033B907FF6 +:10006600C6E020E16D12131BEFC394405064907EEE +:1000760040E0139209907FC7E014F5192000116043 +:100086000FF5087E7E7F41750C7E750D41120CBA08 +:10009600C203E4907FC7F08039907FC8E020E13248 +:1000A60012131BEFC394405029907DC0E0139209B0 +:1000B600907FC9E014F519200011600FF5087E7DC8 +:1000C6007FC1750C7D750DC1120CBAD203E4907F09 +:1000D600C9F0907FB6E030E1030201601211D68FBD +:1000E600191213278F36E519C3953A500F1212EBE2 +:1000F600EF30E008E53620E703300B5EC20BE5196A +:0C003600907F987410F090C000E0FF2252 +:03004300021300A5 +:03000000020E00ED +:400106006058B48003433602E53630E726E519D3942040037519208519087E7E7F80750C7E750D80AF36120F4BE51925E0907FB7F08027E519D3943F400375193F851908D4 +:40014600907E80E536F07E7E7F81750C7E750D81120CDFE51904907FB7F0907FCEE030E1062005030203C1C205E4F51874402518F582E4347CF583E0FFE5187C007B017AF1 +:400186007E79002400F9EC347EFAEF120ED20518E518B420D7907E00E06068907E03E060247F01E4FD1211B17F037DCD1211B1434680907F987414F090C000E546F0E490E0 +:4001C6007E13F08030907E01E0FF121035907E02E0FF12105B7F01907E11E0FD1211B17F037D071211B1434680907F987414F090C000E546F0907F987412F0E5404406903E +:40020600C000F0907E03E07006907E13E07008E4907E13F07525FF907E05E06012A3E0543FF544907F987413F090C000E544F0907E07E0602BA3E0600543428080035342DA +:400246007F5342FC907E09E06011434202A3E0FF1210A7907E0BE0FF1210CDAF42121081907E03E0600853427FAF42121081907E0CE06018A3E0600543460280035346FDB4 +:40028600907F987414F090C000E546F0907E0EE06018A3E0600543460180035346FE907F987414F090C000E546F0907E12E0F53AA3E013920DA3E0F53CA3E060054346108B +:4002C60080035346EF907F987414F090C000E546F0907E16E060325344BF907F987413F0E544547F90C000F0907F987411F01212DFEF54FE90C000F0533EFDE4FFAD3E120F +:4003060011B1E4F52AF529D207907E17E0600F433E02E4FFAD3E1211B1752901D207907E18E06010907F987412F0E540440490C000F0D200907E19E06011434440907F98F2 +:400346007413F0E544547F90C000F0907E1AE0600F533EFEE4FFAD3E1211B1752B01D207907E1BE0600F433E01E4FFAD3E1211B1E4F52BD207907E1CE0600E907F98741284 +:40038600F0E540440290C000F0907E1DE06002D20B907E1EE06008752C01E4F538D207907E1FE06011907FD77411F07431F07415F07435F0D203E4907FCFF0301A52E53892 +:4003C60060021538201349E513D3940040041513803E75130A301B02D2131212DFEF5401F519652A600585192AD207121333EF5480F51965266005851926D207300D11127F +:400406001333EF5410F51965256005851925D207201B030207EC300A1812136FEFC3953D40030204AE907FC17401F0C20AC200807730043B907FCAE020E16D12136FEFC35A +:4004460094405064907D40E013920A907FCBE014F519200011600FF5087E7D7F41750C7D750D41120D04C204E4907FCBF08039907FCCE020E13212136FEFC39440502990BC +:400486007CC0E013920A907FCDE014F519200011600FF5087E7C7FC1750C7C750DC1120D04D204E4907FCDF0907FBAE030E1030205361212208F1912137B8F37E519C3952B +:4004C6003B500F121357EF30E008E53720E703300C5EC20CE5196058B48003433702E53730E726E519D3942040037519208519087E7D7F80750C7D750D80AF37120F84E503 +:400506001925E0907FBBF08027E519D3943F400375193F851908907D80E537F07E7D7F81750C7D750D81120D29E51904907FBBF0907FD0E030E106200603020797C206E4F8 +:40054600F51874C02518F582E4347BF583E0FFE5187C007B017A7E79202420F9EC347EFAEF120ED20518E518B420D7907E20E06068907E23E060247F01E4FD1211FB7F0329 +:400586007DCD1211FB434780907F98740CF090C000E547F0E4907E33F08030907E21E0FF121119907E22E0FF12113F7F01907E31E0FD1211FB7F037D071211FB4347809048 +:4005C6007F98740CF090C000E547F0907F98740AF0E541440690C000F0907E23E07006907E33E07008E4907E33F0752EFF907E25E06012A3E0543FF545907F98740BF090EB +:40060600C000E545F0907E27E0602BA3E06005434380800353437F5343FC907E29E06011434302A3E0FF121165907E2BE0FF12118BAF431210F3907E23E0600853437FAFFE +:40064600431210F3907E2CE06018A3E0600543470280035347FD907F98740CF090C000E547F0907E2EE06018A3E0600543470180035347FE907F98740CF090C000E547F0D4 +:40068600907E32E0F53BA3E013920EA3E0F53DA3E0600543471080035347EF907F98740CF090C000E547F0907E36E060325345BF907F98740BF0E545547F90C000F0907F79 +:4006C600987409F012134BEF54FE90C000F0533FFDE4FFAD3F1211FBE4F533F532D208907E37E0600F433F02E4FFAD3F1211FB753201D208907E38E06010907F98740AF043 +:40070600E541440490C000F0D200907E39E06011434540907F98740BF0E545547F90C000F0907E3AE0600F533FFEE4FFAD3F1211FB753401D208907E3BE0600F433F01E4E9 +:40074600FFAD3F1211FBE4F534D208907E3CE0600E907F98740AF0E541440290C000F0907E3DE06002D20C907E3EE06008753501E4F539D208907E3FE06011907FD7741389 +:40078600F07433F07416F07436F0D204E4907FD1F0301A52E53960021539301349E513D3940040041513803E75130A301B02C21312134BEF5401F51965336005851933D279 +:4007C60008121387EF5480F519652F600585192FD208300E11121387EF5410F519652E600585192ED208301A2A907FD2E020E123907B40E06009E0F515907B42E0F5169035 +:400806007B41E06009907FD77417F07437F0E4907FD3F0907FC2E030E103020920E50A7040300739E5387035C207F5187E007B0074242518F9EE3400FA120E8CFF748025BD +:4008460018F582E4347BF583EFF00518E518B409DB907FC37409F0753810E4F52C750A0122E50A64017040300839E5397035C208F5187E007B00742D2518F9EE3400FA1297 +:400886000E8CFF74802518F582E4347BF583EFF00518E518B409DB907FC37409F0753910E4F535750A0222E50A6402703630142FC214F5187E007B00740E2518F9EE340083 +:4008C600FA120E8CFF74802518F582E4347BF583EFF00518E518B405DB907FC37405F0750A0322E51560301515E4F5187E007B0074142518F9EE3400FA120E8CFF748025F2 +:4009060018F582E4347BF583EFF00518E518B403DB907FC37403F0E4F50A22907FE9E0120EE40A08000A7C010AE80309440609FB0809F50909DD0A09EC0B00000B37907F3D +:40094600EBE024FE6019146061240260030209D37419907FD4F07400907FD5F0020B3E907FEAE070047F0280027F03758282758319EFF075827B758319F0758274758319B2 +:40098600F0758266758319F0758258758319F0907FEAE004758217758319F07419907FD4F07412907FD5F0020B3E907FEAE0FF120F0AEA49600DEA907FD4F0E9907FD5F085 +:4009C600020B3E907FB4E04401F0020B3E907FB4E04401F0020B3E907F00E509F0907FB57401F0020B3E907FEAE0F509020B3E120B46020B3E907F007401F0907FB5F00205 +:400A06000B3E907FE8E0247F60241460312402705BA210E433FF25E0FFA216E4334F907F00F0E4A3F0907FB57402F0020B3EE4907F00F0A3F0907FB57402F0020B3E907F04 +:400A4600ECE0F45480FFC4540FFFE054072F25E024B4F582E4347FF583E054FD907F00F0E4A3F0907FB57402F0020B3E907FB4E04401F0020B3E907FE8E024FE601D24020F +:400A86006003020B3E907FEAE0B40105C210020B3E907FB4E04401F0020B3E907FEAE07038907FECE0F45480FFC4540FFFE054072F25E024B4F582E4347FF583E4F0907FB6 +:400AC600ECE05480FF131313541FFFE054072F907FD7F0E04420F0805F907FB4E04401F08056907FE8E024FE60182402704A907FEAE0B40104D210803F907FB4E04401F049 +:400B06008036907FEAE07020907FECE0F45480FFC4540FFFE054072F25E024B4F582E4347FF5837401F08010907FB4E04401F08007907FB4E04401F0907FB4E04402F022D4 +:400B4600E4907F93F0907F9C7430F0E4907F96F0907F9574C0F0907F9E743FF0907F987418F0E4F58E907FDF74FFF0907FDEF0E4F5247518017B0074242518F9E43400FA8B +:400B8600E4120ED20518E518B409EA753A01E4F538F513F536C207C20BC205C200C209C213907F987413F075440390C0007403F07F0CE4FD1211B17F108F42121081907F02 +:400BC600987412F07F018F40EF440690C000F0907F987414F075468090C0007480F00FE4FD1211B1E4FF7EA3AD068D3E1211B1907F987411F090C000E4F07F057D7F12118E +:400C0600B17F0112126A7F037D071211B1201B03020CB7752D017518017B00742D2518F9E43400FAE4120ED20518E518B409EA753B01E4F539F513F537C208C20CC206C2CD +:400C460000C20AC213907F98740BF075450390C0007403F07F0CE4FD1211FB7F108F431210F3907F98740AF07F018F41EF440690C000F0907F98740CF075478090C000744E +:400C860080F00FE4FD1211FBE4FF7EA3AD068D3F1211FB907F987409F090C000E4F07F057D7F1211FB7F0112128B7F037D071211FBD21222907F987410F0AF08E50DF582A5 +:400CC600E50CF583C2AF058690C0000586E0A30586F00586DFF7D2AF22907F987410F0AF08E50DF582E50CF583C2AF058690C000E00586F0A30586DFF70586D2AF22907F20 +:400D0600987408F0AF08E50DF582E50CF583C2AF058690C0000586E0A30586F00586DFF7D2AF22907F987408F0AF08E50DF582E50CF583C2AF058690C000E00586F0A3055C +:400D460086DFF70586D2AF227400F58690FDA57C05A3E582458370F922907FD6E04480F0438701000000000022D219907F92E04402F0907FAEE0FFD39210E433FEEF4EF089 +:400D8600D2E843D820907FDE7401F0907FDFF0907FAB74FFF0907FA9F0907FAAF05391EF907FAFE04401F0907FAEE0440DF0D2AFD21A121245C211E4F50BF513C217C212D4 +:400DC600907FA104F0907FD8E065176010301205D21A120046907FD8E0F5178008301205C21A120046301107C21112092180D63018D3C21812139380CC22787FE4F6D8FDC7 +:400E0600758147020E47020D6FE493A3F8E493A34003F68001F208DFF48029E493A3F85407240CC8C333C4540F4420C8834004F456800146F6DFE4800B01020408102040F5 +:400E4600809012ACE47E019360BCA3FF543F30E509541FFEE493A360010ECF54C025E060A840B8E493A3FAE493A3F8E493A3C8C582C8CAC583CAF0A3C8C582C8CAC583CA1E +:400E8600DFE9DEE780BEBB010689828A83E0225002E722BBFE02E32289828A83E49322BB010CE58229F582E5833AF583E0225006E92582F8E622BBFE06E92582F8E222E5B8 +:400EC6008229F582E5833AF583E49322BB010689828A83F0225002F722BBFE01F322D083D082F8E4937012740193700DA3A393F8740193F5828883E4737402936860EFA3C1 +:400F0600A3A380DF8F18E4F519751AFF751B19751C86AB1AAA1BA91C900001120EA5B4031DAF190519EFB5180122120E8C7E0029FFEE3AA907751AFFF51B891C80D47B00A5 +:400F46007A007900228F1A050DE50DAE0C7002050C14F5828E83E51AF0120036050DE50DAC0C7002050C14F5828C83EFF01508E508600A1213278F1AEF423680CA228F1AFC +:400F8600050DE50DAE0C7002050C14F5828E83E51AF012133F050DE50DAC0C7002050C14F5828C83EFF01508E508600A12137B8F1AEF423780CA22C0E0C083C082C085C088 +:400FC60084C086758600907FC4E4F05391EF907FAB7404F0D086D084D085D082D083D0E032C0E0C083C082C085C084C086758600D2115391EF907FAB7401F0D086D084D0C6 +:4010060085D082D083D0E032C0E0C083C082C085C084C086758600D2185391EF907FAB7408F0D086D084D085D082D083D0E032907F987413F090C00074BFF0907F9874108A +:40104600F090C000EFF0907F987413F0E544547F90C000F022907F987413F090C00074BFF0907F987411F090C000EFF0907F987413F0E544547F90C000F022907F98741349 +:40108600F090C00074BFF0907F987412F090C000EFF0907F987413F0E544547F90C000F022907F987413F090C00074BFF0907F987414F090C000EFF0907F987413F0E544D9 +:4010C600547F90C000F022907F987413F090C00074BFF0907F987416F090C000EFF0907F987413F0E544547F90C000F022907F98740BF090C00074BFF0907F98740AF0902A +:40110600C000EFF0907F98740BF0E545547F90C000F022907F98740BF090C00074BFF0907F987408F090C000EFF0907F98740BF0E545547F90C000F022907F98740BF090AF +:40114600C00074BFF0907F987409F090C000EFF0907F98740BF0E545547F90C000F022907F98740BF090C00074BFF0907F98740CF090C000EFF0907F98740BF0E545547FEC +:4011860090C000F022907F98740BF090C00074BFF0907F98740EF090C000EFF0907F98740BF0E545547F90C000F022907F987413F0E544547F90C000F0907F987417F09075 +:4011C600C000EFF0907F987415F090C000EDF02212130F8F1A12130F8F1BE51A651B601212130F8F1AE51A651B600712130F8F1B80E8AF1A22907F98740BF0E545547F9098 +:40120600C000F0907F98740FF090C000EFF0907F98740DF090C000EDF0221213638F1A1213638F1BE51A651B60121213638F1AE51A651B60071213638F1B80E8AF1A2290C8 +:401246007FD6E054FBF0E04408F0301A04E04402F07FF47E011212C8907FD6E054F7F0E04404F022AE07E4FFE53E547FFD1211B1907F987411F090C000EEF0E4E53E4480E8 +:40128600FD1211B122AE07E4FFE53F547FFD1211FB907F987409F090C000EEF0E4E53F4480FD1211FB22050E02000000000314030000C111C118C195C110C116010A00C19C +:4012C6001B008E188F19E5191519AE18700215184E6005120D4E80EE22907F987411F090C000E0FF22907F987412F090C000E0FF2253D8EF320000000000020FE70002130A +:401306000400020FBD0002100E907F987413F090C000E0FF22907F987414F090C000E0FF22907F987415F090C000E0FF22907F987416F090C000E0FF22907F987408F09050 +:40134600C000E0FF22907F987409F090C000E0FF22907F98740AF090C000E0FF22907F98740BF090C000E0FF22907F98740CF090C000E0FF22907F98740DF090C000E0FFC5 +:4013860022907F98740EF090C000E0FF22120003120D5F120B4622000000000000000000000000000000000000000000000000000000000000000000000000000000000083 +:4013C60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E7 +:4014060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A6 +:401446000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000066 +:401486000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000026 +:4014C60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E6 +:4015060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A5 +:401546000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000065 +:401586000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000025 +:4015C60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E5 +:4016060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A4 +:401646000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064 +:401686000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024 +:4016C60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E4 +:4017060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A3 +:401746000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000063 +:401786000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000023 +:4017C60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E3 +:4018060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A2 +:401846000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000062 +:401886000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022 +:4018C6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012011001FF00BF +:401906000040CD06120100000102000209027400010100A032090400000EFF0000000705010240000007050202400000070503024000000705040240000007050502400074 +:4019460000070506024000000705070240000007058102400001070582024000010705830240000107058402400001070585024000010705860240000107058702400001F3 +:401986000403090448034B00650079007300700061006E002C002000610020006400690076006900730069006F006E0020006F006600200049006E006E006F005300790040 +:4019C6007300200049006E0063002E0036034B00650079007300700061006E0020005500530042002000530065007200690061006C002000410064006100700074006500F9 +:141A06007200100330003000300030003000300030000000F7 +:00000001FF + + The firmware contained herein is + + Copyright (C) 1999-2001 + Keyspan, A division of InnoSys Incorporated ("Keyspan") + + as an unpublished work. This notice does not imply unrestricted or + public access to the source code from which this firmware image is + derived. Except as noted below this firmware image may not be + reproduced, used, sold or transferred to any third party without + Keyspan's prior written consent. All Rights Reserved. + + Permission is hereby granted for the distribution of this firmware + image as part of a Linux or other Open Source operating system kernel + in text or binary form as required. + + This firmware may not be modified and may only be used with + Keyspan hardware. Distribution and/or Modification of the + keyspan.c driver which includes this firmware, in whole or in + part, requires the inclusion of this statement." diff --git a/firmware/keyspan/usa19.HEX b/firmware/keyspan/usa19.HEX new file mode 100644 index 0000000..c5d1496 --- /dev/null +++ b/firmware/keyspan/usa19.HEX @@ -0,0 +1,101 @@ +:0A002600120DBF120F47120D6B22DE +:0300330002001AAE +:04001A0053D8EF3296 +:100003008E138F14E5141514AE13700215134E607E +:0700130005120F3680EE22FA +:0300230002004692 +:10004600C0E0C083C082C086758600C0D075D00867 +:1000560030990E300807A20B929B853599C299D22A +:100066000F200F03020431C20F20020302025620A2 +:100076000803020127E537C39550503E2009362074 +:100086000633907F9BE030E303200E29300D12AF3C +:1000960037053774402FF582E4347EF583E01392FA +:1000A6000BAF37053774402FF582E4347EF583E0D5 +:1000B600F53502042FC20802042F907FC7E4F0C270 +:1000C60002300A0CC20A907FBB04F0C20802042F59 +:1000D600907FC8E030E105C20802042F907FC9E096 +:1000E600F550907DC0E013920A20092D20062A9033 +:1000F6007F9BE030E303200E20300D11907DC1E0A0 +:03004300020F00A9 +:03000000020C618E +:4001060013920BA3E0F53575370302042F753702907DC1E0F53502042F753701C20802042FE537C3955050030201CF907FC6E030E107C210C20302042F907FC7E0F5509004 +:400146007E40E013920A3009030201C720067220006F907F9BE030E303200E65300D10907E41E013929BA3E0F5997537038009907E41E0F599753702E537C39550401790B1 +:400186007FC7E4F0C202200A0302042FC20A907FBB04F002042F300D12AF37053774402FF582E4347EF583E013920BAF37053774402FF582E4347EF583E0F535D20802045D +:4001C6002F753701C21002042F300903020251200679907F9BE030E303200E6F300D12AF37053774402FF582E4347EF583E013929BAF37053774402FF582E4347EF583E046 +:40020600F599E537C395504017907FC7E4F0C202200A0302042FC20A907FBB04F002042F300D12AF37053774402FF582E4347EF583E013920BAF37053774402FF582E43483 +:400246007EF583E0F535D20802042FC21002042F200803020308E537C39550503E200936200633907F9BE030E303200E29300D12AF37053774C02FF582E4347DF583E013DE +:40028600920BAF37053774C02FF582E4347DF583E0F53502042FC20802042F907FC9E4F0D202300A0CC20A907FBB04F0C20802042F907FC6E030E105C20802042F907FC765 +:4002C600E0F550907E40E013920A20092D20062A907F9BE030E303200E20300D11907E41E013920BA3E0F53575370302042F753702907E41E0F53502042F753701C20802EF +:40030600042FE537C3955050030203B0907FC8E030E107C210C20302042F907FC9E0F550907DC0E013920A3009030203A820067220006F907F9BE030E303200E65300D1034 +:40034600907DC1E013929BA3E0F5997537038009907DC1E0F599753702E537C395504017907FC9E4F0D202200A0302042FC20A907FBB04F002042F300D12AF37053774C0F5 +:400386002FF582E4347DF583E013920BAF37053774C02FF582E4347DF583E0F535D20802042F753701C21002042F30090302042D200674907F9BE030E303200E6A300D128E +:4003C600AF37053774C02FF582E4347DF583E013929BAF37053774C02FF582E4347DF583E0F599E537C395504013907FC9E4F0D202300A35C20A907FBB04F0802C300D12CC +:40040600AF37053774C02FF582E4347DF583E013920BAF37053774C02FF582E4347DF583E0F535D2088002C210D21220980302056DC2982001030204DA201127AF360536F3 +:4004460074802FF582E4347EF583E599F0300D4DAF36053674802FF582E4347EF583E598F0803A859910E510B54404D206802EE510B54304C2068025AF36053674802FF5AB +:4004860082E4347EF583E510F0300D11AF36053674802FF582E4347EF583E598F0D20CE536C39540500302056B907FB8E030E116E536C39440500302056B15361536052BDD +:4004C60043330102056B907FB7E536F0753600C20102056B201127AF36053674002FF582E4347EF583E599F0300D4DAF36053674002FF582E4347EF583E598F0803A859937 +:4005060010E510B54404D206802EE510B54304C2068025AF36053674002FF582E4347EF583E510F0300D11AF36053674002FF582E4347EF583E598F0D20CE536C3954040CE +:4005460024907FB6E030E112E536C39440401615361536052B433301800B907FB9E536F0753600D201D212301205C212020056D0D0D086D082D083D0E032907FCAE030E1CA +:40058600030206ABE4F51374402513F582E4347DF583E0FFE5137C007B002438F9EC3400FAEF120D330513E513B418DBE538600C75C92075C8348539CA853ACBE53B1392BF +:4005C6000D929FE53C13920EE53D139211E53E6009907F98E054FBF08007907F98E04404F0E53F6009907F98E0547FF08007907F98E04480F0E545600BC209C206907F950E +:40060600E04402F0E546600CD206433301907F95E04402F0E547600DC2AFC208D200E4F550F537D2AFE5486005301102D206E5496015907F95E054FDF0907F9EE04402F0AA +:40064600907F98E054FDF0E54A600AD29CC298752C0175311EE54B6007C29CE4F536F52CE54C6003E4F536E54D6002D204E54E600AE54A7002F531E54E4233E54F601F9064 +:400686007FD77411F07431F07412F07432F07413F07433F07414F07434F0D202D201D205E4907FCBF0A209E433FF652960058F29433301A206E433FF652A60058F2A4333BA +:4006C60001907F9BE05408B5250AE054086408F525433301907F9BE05410B5260AE054106410F526433301907F9BE05440B5270AE054406440F527433301907F9BE0542026 +:40070600B5280AE054206420F528433301300435C2AF300118907FB8E020E127E5366009907FB7F0E4F536C201C2048016907FB6E020E10FE5366009907FB9F0E4F536D234 +:4007460001C204D2AF20033730021B907FC6E020E12D907E40E013920A753701907FC7E0F550D2038019907FC8E020E112907DC0E013920A753701907FC9E0F550D20320E9 +:400786001033200006E5376550702A30031A300209E4907FC7F0C2028007E4907FC9F0D202C203E4F550F537300A0AC20AC200907FBB7401F03010030208C5200303020805 +:4007C600C5300E0A907F9BE030E3030208C53006030208C53009030208C5300262300D12AF37053774402FF582E4347EF583E0139219AF37053774402FF582E4347EF583CF +:40080600E0F514E537C39550502A300D12AF37053774402FF582E4347EF583E013920BAF37053774402FF582E4347EF583E0F535D208806BC208E4907FC7F0C20280603081 +:400846000D12AF37053774C02FF582E4347DF583E0139219AF37053774C02FF582E4347DF583E0F514E537C39550502A300D12AF37053774C02FF582E4347DF583E013929F +:400886000BAF37053774C02FF582E4347DF583E0F535D2088009C208E4907FC9F0D202300D04A219929BD210C2AF85149920080D300A0AC20AC200907FBB7401F0D2AF9072 +:4008C6007FBCE020E151E533604DE5317049E53330E108E4F52F753301800BA205E433F52FC205E4F533E4F5137E007B0074242513F9EE3400FA120CEDFF74002513F582D8 +:40090600E4347DF583EFF00513E513B40CDB907FBD740CF075311022907FE9E0120D450A03000A77010AE30309410609F40809E80909D00A09DF0B00000B32907FEBE024EB +:40094600FE601614605724027076740F907FD4F07464907FD5F0020B39907FEAE070047F0280027F037582B575830FEFF07582AE75830FF07582A775830FF07582A07583BA +:400986000FF0907FEAE00475827B75830FF0740F907FD4F07476907FD5F0020B39907FEAE0FF120E48EA49600DEA907FD4F0E9907FD5F0020B39907FB4E04401F0020B39D4 +:4009C600907FB4E04401F0020B39907F00E519F0907FB57401F0020B39907FEAE0F519020B39907FEAE0F518120D6B020B39907F00E518F0907FB57401F0020B39907FE822 +:400A0600E0247F60241460312402705BA213E433FF25E0FFA217E4334F907F00F0E4A3F0907FB57402F0020B39E4907F00F0A3F0907FB57402F0020B39907FECE0F45480B6 +:400A4600FFC4540FFFE054072F25E024B4F582E4347FF583E054FD907F00F0E4A3F0907FB57402F0020B39907FB4E04401F0020B39907FE8E024FE601D24026003020B3904 +:400A8600907FEAE0B40105C213020B39907FB4E04401F0020B39907FEAE07038907FECE0F45480FFC4540FFFE054072F25E024B4F582E4347FF583E4F0907FECE05480FFCC +:400AC600131313541FFFE054072F907FD7F0E04420F0805F907FB4E04401F08056907FE8E024FE60182402704A907FEAE0B40104D213803F907FB4E04401F08036907FEA36 +:400B0600E07020907FECE0F45480FFC4540FFFE054072F25E024B4F582E4347FF5837401F08010907FB4E04401F08007907FB4E04401F0907FB4E04402F022201503020B3E +:400B4600D3E53160021531E536604F65347045E532F460020532E532C39541403DC2AF300118907FB8E020E127907FB7E536F0C201E4F536F532F5348016907FB6E020E13D +:400B86000F907FB9E536F0D201E4F536F532F534D2AF8006853634E4F532E52C602F200C07907F9BE030E00FE52D6006E4F52D433301E4F5308014E530D39542500DE530DB +:400BC600B54206752D014333010530C20C22751201C214C218C213C217C215C212D216E4F518907F92E054FDF0907FAEE0FFD39213E433FEEF4EF0D2E843D820907FDE74DB +:400C060001F0907FDFF0907FAB74FFF0907FA9F0907FAAF05391EF907FAFE04401F0907FAEE0440DF0D2AFD2BCD219120EDAC214301503120580907FD8E065116008E0F5CA +:400C460011120B4180EA301407C21412091E80E03018DDC21812002680D622787FE4F6D8FD758150020CA8020BD4E493A3F8E493A34003F68001F208DFF48029E493A3F83B +:400C86005407240CC8C333C4540F4420C8834004F456800146F6DFE4800B0102040810204080900E04E47E019360BCA3FF543F30E509541FFEE493A360010ECF54C025E08E +:400CC60060A840B8E493A3FAE493A3F8E493A3C8C582C8CAC583CAF0A3C8C582C8CAC583CADFE9DEE780BEBB010689828A83E0225002E722BBFE02E32289828A83E4932242 +:400D0600BB010CE58229F582E5833AF583E0225006E92582F8E622BBFE06E92582F8E222E58229F582E5833AF583E49322BB010689828A83F0225002F722BBFE01F322D0E1 +:400D460083D082F8E4937012740193700DA3A393F8740193F5828883E4737402936860EFA3A3A380DFE4907F93F0907F9C7430F0907F967410F0907F947401F0907F9D04E2 +:400D8600F0907F977420F0907F957403F0907F9E7484F0E4907F98F0907FC7F0907FC9F0907FCBF075984043A810907FDE741FF0907FDF740FF0D21522E4907F95F0907FF7 +:400DC60094F0907F93F0907F9DE04402F0907F97E04402F0907F9DE054FDF0907F9C7420F0E4907F96F0907F9DE044FDF0E4907F97F0907F9E74FFF0E4907F98F0220C24D0 +:400E0600000000000000000000000000013000013301013200013700015000013600013400C105C10CC103C10FC104C10EC111C10AC110C108C109C106C100C10DC181C109 +:400E460082008F13E4F5147515FF75160F7517B9AB15AA16A917900001120D06B4031DAF140514EFB5130122120CED7E0029FFEE3AA9077515FFF516891780D47B007A006D +:400E8600790022C0E0C083C082C085C084C086758600907FC4E4F05391EF907FAB7404F0D086D084D085D082D083D0E032C0E0C083C082C085C084C086758600D2145391C7 +:400EC600EF907FAB7401F0D086D084D085D082D083D0E032907FD6E054FBF0E04408F0301904E04402F07FF47E01120003907FD6E054F7F0E04404F02200020EB300020FC0 +:400F06000400020E8900020F0FC0E0C083C082C085C084C086758600D2185391EF907FAB7408F0D086D084D085D082D083D0E0327400F58690FDA57C05A3E582458370F9B9 +:400F460022907FD6E04480F04387010000000000220000000000000000000000000012011001FF000040CD0607010100010200020902430001010080320904000007FF008A +:400F86000000070501024000000705020240000007050302400000070581024000010705820240000107058302400001070584024000010403090410034B00650079007332 +:170FC60000700061006E000E03530065007200690061006C00000064 +:00000001FF + + The firmware contained herein is + + Copyright (C) 1999-2001 + Keyspan, A division of InnoSys Incorporated ("Keyspan") + + as an unpublished work. This notice does not imply unrestricted or + public access to the source code from which this firmware image is + derived. Except as noted below this firmware image may not be + reproduced, used, sold or transferred to any third party without + Keyspan's prior written consent. All Rights Reserved. + + Permission is hereby granted for the distribution of this firmware + image as part of a Linux or other Open Source operating system kernel + in text or binary form as required. + + This firmware may not be modified and may only be used with + Keyspan hardware. Distribution and/or Modification of the + keyspan.c driver which includes this firmware, in whole or in + part, requires the inclusion of this statement." diff --git a/firmware/keyspan/usa19qi.HEX b/firmware/keyspan/usa19qi.HEX new file mode 100644 index 0000000..353bfcf --- /dev/null +++ b/firmware/keyspan/usa19qi.HEX @@ -0,0 +1,101 @@ +:0300330002001AAE +:04001A0053D8EF3296 +:100003008E118F12E5121512AE11700215114E608A +:0700130005120F8480EE22AC +:0300230002004692 +:10004600C0E0C083C082C086758600C0D075D00867 +:1000560030990E300B07A20E929B853699C299D223 +:100066001220120302041EC21220030302024E20B3 +:100076000B03020126E53AC39553503C200C34206D +:100086000931907F9BE055387029301012AF3A0540 +:100096003A74402FF582E4347EF583E013920EAF76 +:1000A6003A053A74402FF582E4347EF583E0F5365E +:1000B60002041CC20B02041C907FC7E4F0C203308A +:1000C6000D0CC20D907FBB04F0C20B02041C907F86 +:1000D600C8E030E105C20B02041C907FC9E0F5536D +:1000E600907DC0E013920D7516FF200C2B20092879 +:1000F600907F9BE055387020301011907DC1E01341 +:03004300020E00AA +:03000000020026D5 +:0C002600787FE4F6D8FD758154020B28A9 +:40010600920EA3E0F536753A0302041C753A02907DC1E0F53602041C753A01C20B02041CE53AC3955350030201C9907FC6E030E107C214C20502041C907FC7E0F553907ECB +:4001460040E013920D7516FF200C7020096D907F9BE055387065301010907E41E013929BA3E0F599753A038009907E41E0F599753A02E53AC395534017907FC7E4F0C203F6 +:40018600200D0302041CC20D907FBB04F002041C301012AF3A053A74402FF582E4347EF583E013920EAF3A053A74402FF582E4347EF583E0F536D20B02041C753A01C214A3 +:4001C60002041C300C03020249200977907F9BE05538706F301012AF3A053A74402FF582E4347EF583E013929BAF3A053A74402FF582E4347EF583E0F599E53AC3955340AB +:4002060017907FC7E4F0C203200D0302041CC20D907FBB04F002041C301012AF3A053A74402FF582E4347EF583E013920EAF3A053A74402FF582E4347EF583E0F536D20B44 +:4002460002041CC21402041C200B030202FFE53AC39553503C200C34200931907F9BE055387029301012AF3A053A74C02FF582E4347DF583E013920EAF3A053A74C02FF5F9 +:4002860082E4347DF583E0F53602041CC20B02041C907FC9E4F0D203300D0CC20D907FBB04F0C20B02041C907FC6E030E105C20B02041C907FC7E0F553907E40E013920DAF +:4002C6007516FF200C2B200928907F9BE055387020301011907E41E013920EA3E0F536753A0302041C753A02907E41E0F53602041C753A01C20B02041CE53AC39553500381 +:400306000203A2907FC8E030E107C214C20502041C907FC9E0F553907DC0E013920D7516FF200C7020096D907F9BE055387065301010907DC1E013929BA3E0F599753A037A +:400346008009907DC1E0F599753A02E53AC395534017907FC9E4F0D203200D0302041CC20D907FBB04F002041C301012AF3A053A74C02FF582E4347DF583E013920EAF3A81 +:40038600053A74C02FF582E4347DF583E0F536D20B02041C753A01C21402041C200C75200972907F9BE05538706A301012AF3A053A74C02FF582E4347DF583E013929BAF02 +:4003C6003A053A74C02FF582E4347DF583E0F599E53AC395534013907FC9E4F0D203300D35C20D907FBB04F0802C301012AF3A053A74C02FF582E4347DF583E013920EAF3D +:400406003A053A74C02FF582E4347DF583E0F536D20B8002C214D20120980302055AC2982002030204C7201627AF39053974802FF582E4347EF583E599F030104DAF3905C8 +:400446003974802FF582E4347EF583E598F0803A859910E510B54704D209802EE510B54604C2098025AF39053974802FF582E4347EF583E510F0301011AF39053974802F11 +:40048600F582E4347EF583E598F0D20FE539C395435003020558907FB8E030E116E539C39440500302055815391539052B433401020558907FB7E539F0753900C2020205D3 +:4004C60058201627AF39053974002FF582E4347EF583E599F030104DAF39053974002FF582E4347EF583E598F0803A859910E510B54704D209802EE510B54604C209802573 +:40050600AF39053974002FF582E4347EF583E510F0301011AF39053974002FF582E4347EF583E598F0D20FE539C395434024907FB6E030E112E539C3944040161539153909 +:40054600052B433401800B907FB9E539F0753900D202D201300105C201020056D0D0D086D082D083D0E032907FBCE020E151E534604DE5317049E53430E108E4F52F7534D4 +:4005860001800BA208E433F52FC208E4F534E4F5117E007B0074242511F9EE3400FA120D06FF74002511F582E4347DF583EFF00511E511B40CDB907FBD740CF075311090CD +:4005C6007FCAE030E1030206F3E4F51174402511F582E4347DF583E0FFE5117C007B00243BF9EC3400FAEF120D1F0511E511B418DBE53B601175C92075C836853CCA853D98 +:40060600CBE4907F9FF0E53E139210929F853F38E540139216E5416009907F98E054FBF08007907F98E04404F0E5426009907F98E0547FF08007907F98E04480F0E54860BE +:400646000BC20CC209907F95E04402F0E549600CD209433401907F95E04402F0E54A600DC2AFC20BD200E4F553F53AD2AFE54B6005301602D209E54C6015907F95E054FDB4 +:40068600F0907F9EE04402F0907F98E054FDF0E54D600AD29CC298752C0175311EE54E6007C29CE4F539F52CE54F6003E4F539E5506002D207E551600AE54D7002F531E55C +:4006C600514234E552601F907FD77411F07431F07412F07432F07413F07433F07414F07434F0D203D202D208E4907FCBF0A20CE433FF652960058F29433401A209E433FF84 +:40070600652A60058F2A433401907F9BE0FF54086408FE652560058E25433401EF54106410FE652660058E26433401EF54406440FE652760058E27433401EF54206420FE1C +:40074600652860058E28433401907F9AE054406440FE652E60058E2E433401300735C2AF300218907FB8E020E127E5396009907FB7F0E4F539C202C2078016907FB6E0203B +:40078600E10FE5396009907FB9F0E4F539D202C207D2AF20053D30031E907FC6E020E133907E40E013920D753A01907FC7E0F553D2057516FF801C907FC8E020E115907DD3 +:4007C600C0E013920D753A01907FC9E0F553D2057516FF201433200006E53A6553702A30051A300309E4907FC7F0C2038007E4907FC9F0D203C205E4F553F53A300D0AC265 +:400806000DC200907FBB7401F0301403020914200503020914300C03020914300903020914907F9BE055386003020914300361301012AF3A053A74402FF582E4347EF5833F +:40084600E013921BAF3A053A74402FF582E4347EF583E0FEE53AC39553502A301012AF3A053A74402FF582E4347EF583E013920EAF3A053A74402FF582E4347EF583E0F546 +:4008860036D20B806AC20BE4907FC7F0C203805F301012AF3A053A74C02FF582E4347DF583E013921BAF3A053A74C02FF582E4347DF583E0FEE53AC39553502A301012AFE7 +:4008C6003A053A74C02FF582E4347DF583E013920EAF3A053A74C02FF582E4347DF583E0F536D20B8009C20BE4907FC9F0D203301004A21B929BD214C2AF8E99200B0D301D +:400906000D0AC20DC200907FBB7401F0D2AF22907FE9E0120D310A11000A7E010ADB030938060A020809F60909DE0A09ED0B00000B19907FEBE024FE601914605A24026041 +:4009460003020B19740D907FD4F07487907FD5F0020B20907FEAE070047F0280027F037582D875830DEFF07582D175830DF07582CA75830DF07582C375830DF0907FEAE078 +:400986000475829E75830DF0740D907FD4F07499907FD5F0020B20907FEAE0700B7511FF75120D7513DC801B907FEAE0B4010B7511FF75120D7513E080097511FF75120D19 +:4009C6007513F0AA12A913AE02EE907FD4F0AF01EF907FD5F0020B20907F00E515F0907FB57401F0020B20907FEAE0F515020B20120CB1907FEAE0F514020B20907F00E5BF +:400A060014F0907FB57401F0020B20907FE8E0247F602714603424026003020B19A217E433FF25E0FFA219E4334F907F00F0E4A3F0907FB57402F0020B20E4907F00F0A3B7 +:400A4600F0907FB57402F0020B20907FECE0F45480FFC4540FFFE054072F25E024B4F582E4347FF583E054FD907F00F0E4A3F0907FB57402F0020B20907FE8E024FE601726 +:400A860024026003020B20907FEAE064016003020B19C217020B20907FEAE07076907FECE0F45480FFC4540FFFE054072F25E024B4F582E4347FF583E4F0907FECE05480D6 +:400AC600FF131313541FFFE054072F907FD7F0E04420F08045907FE8E024FE601024027039907FEAE06401702AD217802D907FEAE07020907FECE0F45480FFC4540FFFE056 +:400B060054072F25E024B4F582E4347FF5837401F08007907FB4E04401F0907FB4E04402F022C210E4F514F534C209C20CC20BC214C20DC216C211C207C212C20FC208F538 +:400B460035F539F553F53AF533F530F52FF52EF52DF52CF52BF52AF529F528F527F526F525F524C205C218C21AC217C219C215C204D213C206C201907F92E054FDF0D2E820 +:400B860043D820907FDE7401F0907FDFF0907FAB74FFF0907FA9F0907FAAF05391EF907FAFE04401F0907FAEE0440FF0907FAC740EF0D2AFD2BCD21B120F5FC21830040316 +:400BC60012056D30042A300627C206E51660161516907FD8E030E6047F0080027F20907F96EFF08006907F967420F0120C0B80CD301807C21812091580C3301AC0C21A128E +:400C06000FBB80B922E53160021531E53960556535704BE533F460020533E533C395444043C2AF30021B907FB8E020E12D907FB7E539F0C202E4F539F533F5357516FF802D +:400C460019907FB6E020E112907FB9E539F0D202E4F539F533F5357516FFD2AF8006853935E4F533E52C6030200F07907F9BE030E00FE52D6006E4F52D433401E4F5308000 +:400C860014E530D39545500DE530B54506752D014334010530C20F22907FD9E030E2047F0080027F20907F96EFF022E4907F93F0907F9C7430F0907F967420F0907F94748A +:400CC60001F0907F9D74BFF0907F977486F0907F957403F0907F9E7484F0907F98F0E4907FC7F0907FC9F0907FCBF075984043A810907FDE741FF0907FDF740FF0D204221A +:400D0600BB010689828A83E0225002E722BBFE02E32289828A83E49322BB010689828A83F0225002F722BBFE01F322D083D082F8E4937012740193700DA3A393F8740193EB +:400D4600F5828883E4737402936860EFA3A3A380DFC0E0C083C082C085C084C086758600907FC4E4F05391EF907FAB7404F0D086D084D085D082D083D0E03200000000007B +:400D86000012011001FF000040CD060C010100010200020902430001010080320904000007FF00000007050102400000070502024000000705030240000007058102400010 +:400DC600010705820240000107058302400001070584024000010403090410034B00650079007300700061006E000E03530065007200690061006C000000020EA200020E41 +:400E06007B00020D5700020EC900020E1000020E1400020E1800020E1C00020EF000020E2400020F1500020E2C00020F3AE4907F95F0907F94F0907F93F0907F9DE044020A +:400E4600F0907F97E04402F0907F9C7410F0E4907F96F0907F9D74FEF03017047F8080027F00907F97EFF0E4907F95F0907F9EF0907F98F022C0E0C083C082C085C084C00E +:400E8600867586005391EF907FAB7402F0D206D086D084D085D082D083D0E032C0E0C083C082C085C084C086758600D2185391EF907FAB7401F0D086D084D085D082D083EB +:400EC600D0E032C0E0C083C082C085C084C086758600D21A5391EF907FAB7408F0D086D084D085D082D083D0E032C0E0C083C082C085C084C0867586005391EF907FA974C2 +:400F060002F0D086D084D085D082D083D0E032C0E0C083C082C085C084C0867586005391EF907FA97404F0D086D084D085D082D083D0E032C0E0C083C082C085C084C086D7 +:400F46007586005391EF907FA97408F0D086D084D085D082D083D0E032907FD6E054FBF0E04408F0301B04E04402F07FF47E01120003907FD6E054F7F0E04404F0227400B9 +:400F8600F58690FDA57C05A3E582458370F922907FD6E04480F0438701000000000022907FD6E04401F07F0D7E00120003907FD6E054FEF022120E33120F95907FD6E030FA +:090FC600E703120FA5120CB12281 +:00000001FF + + The firmware contained herein is + + Copyright (C) 1999-2001 + Keyspan, A division of InnoSys Incorporated ("Keyspan") + + as an unpublished work. This notice does not imply unrestricted or + public access to the source code from which this firmware image is + derived. Except as noted below this firmware image may not be + reproduced, used, sold or transferred to any third party without + Keyspan's prior written consent. All Rights Reserved. + + Permission is hereby granted for the distribution of this firmware + image as part of a Linux or other Open Source operating system kernel + in text or binary form as required. + + This firmware may not be modified and may only be used with + Keyspan hardware. Distribution and/or Modification of the + keyspan.c driver which includes this firmware, in whole or in + part, requires the inclusion of this statement." diff --git a/firmware/keyspan/usa19qw.HEX b/firmware/keyspan/usa19qw.HEX new file mode 100644 index 0000000..8a89102 --- /dev/null +++ b/firmware/keyspan/usa19qw.HEX @@ -0,0 +1,142 @@ +:0300330002002D9B +:04002D0053D8EF3283 +:10004600301019120E0FEFC3951440030200DF9013 +:100056007FBF7401F0C210C20B0200DF300D3E906C +:100066007FC6E020E173120E0FEFC39440506A90F2 +:100076007E40E0139210907FC7E014F536200B11F6 +:10008600600FF5247E7E7F4175297E752A4112090F +:1000960010C20DE4907FC7F07526FF803C907FC8A4 +:1000A600E020E135120E0FEFC39440502C907DC036 +:1000B600E0139210907FC9E014F536200B11600F03 +:1000C600F5247E7D7FC175297D752AC1120910D25E +:1000D6000DE4907FC9F07526FF907FB6E030E1030E +:1000E600020168120CFF8F36120E1B8F11E536C304 +:1000F6009513500F120DDEEF30E008E51120E703EF +:0C003600907F987410F090C000E0FF2252 +:03004300020E00AA +:10000300C0E0C083C082C085C084C086758600906E +:100013007FC4E4F05391EF907FAB7404F0D086D0AB +:0A00230084D085D082D083D0E03273 +:030000000209C52D +:4001060030135FC213E5366059B48003431102E51130E724E536D3942040037536208536247E7E7F8075297E752A80120B9AE53625E0907FB7F0802AE536D3943F4003753B +:40014600363F853624907E80E511F07E7E7F8175297E752A81120935E53604907FB7F07526FF907FCEE030E106200E030203C4E4F53574402535F582E4347CF583E0FFE589 +:40018600357C007B017A7E79002400F9EC347EFAEF120A970535E535B420D7907E00E0606E7F01907E11E0FD120CDA907E01E0FF120C1C907E02E0FF120C42D211D2127562 +:4001C6003604907E03E06005C2124336C0907E04E0B40107C21243360B8010907E04E06007C21143360980034336027F03AD36120CDA431A80907F987414F090C000E51A72 +:40020600F0907F987412F0E517440690C000F0907E05E06012A3E0543FF519907F987413F090C000E519F0907E07E06042907E13E0600543160480035316FBE4FFAD161247 +:400246000CDA907E08E06005431880800353187F5318FC907E09E06011431802A3E0FF120C8E907E0BE0FF120CB4AF18120C68907E0EE06018A3E06005431A018003531AD4 +:40028600FE907F987414F090C000E51AF0907E0CE06018A3E06005431A028003531AFD907F987414F090C000E51AF0907E12E0F513A3E0139214A3E0F514A3E06005431AC3 +:4002C600108003531AEF907F987414F090C000E51AF0907E16E060325319BF907F987413F0E519547F90C000F0907F987411F0120DD2EF54FE90C000F05316FDE4FFAD1621 +:40030600120CDAE4F50EF50DD20F907E17E0600F431602E4FFAD16120CDA750D01D20F907E18E06010907F987412F0E517440490C000F0D20B907E19E06011431940907F0D +:40034600987413F0E519547F90C000F0907E1AE0600F5316FEE4FFAD16120CDA750F01D20F907E1BE0600F431601E4FFAD16120CDAE4F50FD20F907E1CE0600E907F9874A9 +:4003860012F0E517440290C000F0907E1DE06002D213907E1EE06008751001E4F512D20F907E1FE06011907FD77411F07431F07415F07435F0D20DC20EE4907FCFF0301674 +:4003C60071E51260021512E530D3940040041530806075300A120DD2EF5401F536650E600785360ED20F8011120E27EF5410F53665096005853609D20F120E27EF5480F5C1 +:4004060036650A600585360AD20F120E27EF5420F536650B600885360B301102D20F120E27EF5440F536650C600885360C301202D20F30162A907FD2E020E123907B40E035 +:400446006009E0F532907B42E0F533907B41E06009907FD77417F07437F0E4907FD3F0907FC2E030E103020529E5277040300F39E5127035C20FF5357E007B0074082535DB +:40048600F9EE3400FA120A51FF74802535F582E4347BF583EFF00535E535B409DB907FC37409F0751210E4F51075270222E5276402703630052FC205F5357E007B00742B96 +:4004C6002535F9EE3400FA120A51FF74802535F582E4347BF583EFF00535E535B405DB907FC37405F075270322E53260337531031532E4F5357E007B0074312535F9EE34CD +:4005060000FA120A51FF74802535F582E4347BF583EFF00535E535B403DB907FC37403F0E4F52722907FE9E0120AA9060800067C0106E903054D0605F90805ED0905D50A02 +:4005460005E40B00000739907FEBE024FE60161460502402706F7419907FD4F07400907FD5F0020740907FEAE070047F0280027F03758282758319EFF0758274758319F06E +:40058600758258758319F0907FEAE004758217758319F07419907FD4F07412907FD5F0020740907FEAE0FF120B1CEA49600DEA907FD4F0E9907FD5F0020740907FB4E0449B +:4005C60001F0020740907FB4E04401F0020740907F00E525F0907FB57401F0020740907FEAE0F525020740120748907FEAE0F523020740907F00E523F0907FB57401F00216 +:400606000740907FE8E0247F60241460312402705BA201E433FF25E0FFA207E4334F907F00F0E4A3F0907FB57402F0020740E4907F00F0A3F0907FB57402F0020740907F2C +:40064600ECE0F45480FFC4540FFFE054072F25E024B4F582E4347FF583E054FD907F00F0E4A3F0907FB57402F0020740907FB4E04401F0020740907FE8E024FE601E240216 +:400686006003020740907FEAE0B40106120DF9020740907FB4E04401F0020740907FEAE07038907FECE0F45480FFC4540FFFE054072F25E024B4F582E4347FF583E4F090F8 +:4006C6007FECE05480FF131313541FFFE054072F907FD7F0E04420F08060907FB4E04401F08057907FE8E024FE60192402704B907FEAE0B40105120DF6803F907FB4E04487 +:4007060001F08036907FEAE07020907FECE0F45480FFC4540FFFE054072F25E024B4F582E4347FF5837401F08010907FB4E04401F08007907FB4E04401F0907FB4E04402F9 +:40074600F022E4907F93F0907F9C7430F0907F967420F0907F9574C0F0907F9E743FF0907F987410F0E4F58E907FDF74FFF0907FDEF0E4F5087F017B0074082FF9E4340023 +:40078600FAE4120A970FBF09EE751301E4F512F530F511C20FC213C20EC20BC210C204907F987413F075190390C0007403F07F0CE4FD120CDA7F108F18120C68907F9874C2 +:4007C60012F07F018F17EF440690C000F00FE4FD120CDAE4FF7EA3AD068D16120CDA907F987411F090C000E4F07F057D7F120CDA7F01120D6A7F037D07120CDAE4FFE5167B +:40080600547FFD120CDA120E0F8F15E4FFE5164480FD120CDAE51530E704C2088002D208907F987414F0751A8090C0007480F0D20322D215907F92E04402F0120DF9D2E87C +:4008460043D820907FDE7401F0907FDFF0907FAB74FFF0907FA9F0907FAAF05391EF907FAFE04401F0907FAE740DF0D2AFD216120D24C202E4F528F530C209F523C20390F7 +:400886007FA104F0907FD8E065346048300305D216120046E50F6022E52660161526907FD8E030E6047F2080027F30907F96EFF0801A907F967430F08012907FD9E030E2F8 +:4008C600047F3080027F20907F96EFF0907FD8E0F5348020300307C2161200468016E50F7012907FD9E030E2047F3080027F20907F96EFF0300207C20212052A8086300AE4 +:4009060083C20A120B5D02088A22907F987410F0AF24E52AF582E529F583C2AF058690C0000586E0A30586F00586DFF7D2AF22907F987410F0AF24E52AF582E529F583C2A3 +:40094600AF058690C000E00586F0A30586DFF70586D2AF22907F987408F0AF24E52AF582E529F583C2AF058690C0000586E0A30586F00586DFF7D2AF22907F987408F0AFCD +:4009860024E52AF582E529F583C2AF058690C000E00586F0A30586DFF70586D2AF227400F58690FDA57C05A3E582458370F922907FD6E04480F0438701000000000022784B +:4009C6007FE4F6D8FD758139020A0C020838E493A3F8E493A34003F68001F208DFF48029E493A3F85407240CC8C333C4540F4420C8834004F456800146F6DFE4800B010211 +:400A0600040810204080900D8BE47E019360BCA3FF543F30E509541FFEE493A360010ECF54C025E060A840B8E493A3FAE493A3F8E493A3C8C582C8CAC583CAF0A3C8C582B0 +:400A4600C8CAC583CADFE9DEE780BEBB010689828A83E0225002E722BBFE02E32289828A83E49322BB010CE58229F582E5833AF583E0225006E92582F8E622BBFE06E925BB +:400A860082F8E222E58229F582E5833AF583E49322BB010689828A83F0225002F722BBFE01F322D083D082F8E4937012740193700DA3A393F8740193F5828883E47374028F +:400AC600936860EFA3A3A380DFE4907F93F0907F9C7420F0300103FF80027F00907F96EFF0E4907F94F0907F9D74FFF0E4907F97F0300811907F95F0907F9E74FFF0907F05 +:400B0600987420F022E4907F95F0907F9E74DFF0E4907F98F0228F35E4F5367537FF753819753986AB37AA38A939900001120A6AB4031DAF360536EFB5350122120A517E5C +:400B46000029FFEE3AA9077537FFF538893980D47B007A00790022907FD8E0F535120ACF200807907F92E054FDF0907FD6E04480F01209B5907FD6E030E70E300105120D9C +:400B8600BC8006120D49EF60E1907F92E04402F012074822052AE52AAE297002052914F5828E83E511F0120036052AE52AAC297002052914F5828C83EFF01524E5246007C7 +:400BC600120E1B8F1180CD22C0E0C083C082C085C084C086758600D2025391EF907FAB7401F0D086D084D085D082D083D0E032C0E0C083C082C085C084C086758600D20A9F +:400C06005391EF907FAB7408F0D086D084D085D082D083D0E032907F987413F090C00074BFF0907F987410F090C000EFF0907F987413F0E519547F90C000F022907F9874E8 +:400C460013F090C00074BFF0907F987411F090C000EFF0907F987413F0E519547F90C000F022907F987413F090C00074BFF0907F987412F090C000EFF0907F987413F0E57C +:400C860019547F90C000F022907F987413F090C00074BFF0907F987414F090C000EFF0907F987413F0E519547F90C000F022907F987413F090C00074BFF0907F987416F0FE +:400CC60090C000EFF0907F987413F0E519547F90C000F022907F987413F0E519547F90C000F0907F987417F090C000EFF0907F987415F090C000EDF022120DEA8F37120D91 +:400D0600EA8F38E53765386012120DEA8F37E53765386007120DEA8F3880E8AF3722907FD6E054FBF0E04408F0301604E04402F07FF47E01120DA5907FD6E054F7F0E04448 +:400D460004F022907FD8E0F536120748120E27EF30E60B907FD8E0653660F17F0122120ACF7F0022AE07E4FFE516547FFD120CDA907F987411F090C000EEF0E4E516448084 +:400D8600FD120CDA22052B02000000000331030000C186C102C10AC101C107012700008E368F37E5371537AE36700215364E60051209A480EE22907FD6E04401F07F0D7E8D +:400DC60000120DA5907FD6E054FEF022907F987411F090C000E0FF22907F987412F090C000E0FF22907F987413F090C000E0FF22D20122C2012200000000020BCE00020EF1 +:400E0600040002000300020BF5907F987414F090C000E0FF22907F987415F090C000E0FF22907F987416F090C000E0FF22000000000000000000000000000000000000004E +:400E4600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006C +:400E8600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002C +:400EC60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000EC +:400F060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000AB +:400F4600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006B +:400F8600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002B +:400FC60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000EB +:4010060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000AA +:40104600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006A +:40108600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002A +:4010C60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000EA +:4011060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A9 +:401146000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000069 +:401186000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000029 +:4011C60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E9 +:4012060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A8 +:401246000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000068 +:401286000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028 +:4012C60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E8 +:4013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A7 +:401346000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000067 +:401386000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000027 +:4013C60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E7 +:4014060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A6 +:401446000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000066 +:401486000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000026 +:4014C60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E6 +:4015060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A5 +:401546000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000065 +:401586000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000025 +:4015C60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E5 +:4016060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A4 +:401646000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064 +:401686000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024 +:4016C60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E4 +:4017060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A3 +:401746000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000063 +:401786000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000023 +:4017C60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E3 +:4018060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A2 +:401846000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000062 +:401886000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022 +:4018C6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012011001FF00BF +:401906000040CD06190100000102000209027400010100A032090400000EFF000000070501024000000705020240000007050302400000070504024000000705050240006D +:4019460000070506024000000705070240000007058102400001070582024000010705830240000107058402400001070585024000010705860240000107058702400001F3 +:401986000403090448034B00650079007300700061006E002C002000610020006400690076006900730069006F006E0020006F006600200049006E006E006F005300790040 +:4019C6007300200049006E0063002E0036034B00650079007300700061006E0020005500530042002000530065007200690061006C002000410064006100700074006500F9 +:041A0600720000006A +:00000001FF + + The firmware contained herein is + + Copyright (C) 1999-2001 + Keyspan, A division of InnoSys Incorporated ("Keyspan") + + as an unpublished work. This notice does not imply unrestricted or + public access to the source code from which this firmware image is + derived. Except as noted below this firmware image may not be + reproduced, used, sold or transferred to any third party without + Keyspan's prior written consent. All Rights Reserved. + + Permission is hereby granted for the distribution of this firmware + image as part of a Linux or other Open Source operating system kernel + in text or binary form as required. + + This firmware may not be modified and may only be used with + Keyspan hardware. Distribution and/or Modification of the + keyspan.c driver which includes this firmware, in whole or in + part, requires the inclusion of this statement." diff --git a/firmware/keyspan/usa19w.HEX b/firmware/keyspan/usa19w.HEX new file mode 100644 index 0000000..a3b8431 --- /dev/null +++ b/firmware/keyspan/usa19w.HEX @@ -0,0 +1,141 @@ +:03003300020D5C5F +:10000300E4907F93F0907F9C7430F0E4907F96F0BF +:10001300907F94F0907F9D74FFF0E4907F97F09031 +:0F0023007F95F0907F9E7417F0E4907F98F02205 +:10004600300F18120D38EFC3951440030200D890F4 +:100056007FBF7401F0C20FC20A8077300C3B907FDD +:10006600C6E020E16D120D38EFC394405064907ED7 +:1000760040E013920F907FC7E014F51C200A116030 +:100086000FF5237E7E7F4175277E75284112080174 +:10009600C20CE4907FC7F08039907FC8E020E1323F +:1000A600120D38EFC394405029907DC0E013920F93 +:1000B600907FC9E014F51C200A11600FF5237E7DA0 +:1000C6007FC175277D7528C1120801D20CE4907F87 +:1000D600C9F0907FB6E030E10302015E120C418F59 +:1000E6001C120D448F11E51CC39513500F120D20E1 +:1000F600EF30E008E51120E70330125CC212E51C80 +:0C003600907F987410F090C000E0FF2252 +:03004300020E00AA +:030000000208B63D +:400106006056B48003431102E51130E724E51CD394204003751C20851C237E7E7F8075277E752880120A86E51C251C907FB7F08027E51CD3943F4003751C3F851C23907E06 +:4001460080E511F07E7E7F8175277E752881120826E51C04907FB7F0907FCEE030E106200D030203BAE4F51B7440251BF582E4347CF583E0FFE51B7C007B017A7E7900244A +:4001860000F9EC347EFAEF120A0D051BE51BB420D7907E00E0606E7F01907E11E0FD120C1C907E01E0FF120B5E907E02E0FF120B84D210D211751C04907E03E06005C211D7 +:4001C600431CC0907E04E0B40107C211431C0B8010907E04E06007C210431C098003431C027F03AD1C120C1C431980907F987414F090C000E519F0907F987412F0E51644CE +:400206000690C000F0907E05E06012A3E0543FF518907F987413F090C000E518F0907E07E06042907E13E0600543150480035315FBE4FFAD15120C1C907E08E060054317BC +:4002460080800353177F5317FC907E09E06011431702A3E0FF120BD0907E0BE0FF120BF6AF17120BAA907E0EE06018A3E0600543190180035319FE907F987414F090C00046 +:40028600E519F0907E0CE06018A3E0600543190280035319FD907F987414F090C000E519F0907E12E0F513A3E0139213A3E0F514A3E0600543191080035319EF907F98742D +:4002C60014F090C000E519F0907E16E060325318BF907F987413F0E518547F90C000F0907F987411F0120D14EF54FE90C000F05315FDE4FFAD15120C1CE4F50EF50DD20EEB +:40030600907E17E0600F431502E4FFAD15120C1C750D01D20E907E18E06010907F987412F0E516440490C000F0D20A907E19E06011431840907F987413F0E518547F90C064 +:4003460000F0907E1AE0600F5315FEE4FFAD15120C1C750F01D20E907E1BE0600F431501E4FFAD15120C1CE4F50FD20E907E1CE0600E907F987412F0E516440290C000F0D8 +:40038600907E1DE06002D212907E1EE06008751001E4F512D20E907E1FE06011907FD77411F07431F07415F07435F0D20CC20DE4907FCFF0301571E51260021512E52ED326 +:4003C60094004004152E8060752E0A120D14EF5401F51C650E6007851C0ED20E8011120D50EF5410F51C65096005851C09D20E120D50EF5480F51C650A6005851C0AD20EFB +:40040600120D50EF5420F51C650B6008851C0B301002D20E120D50EF5440F51C650C6008851C0C301102D20E30152A907FD2E020E123907B40E06009E0F530907B42E0F572 +:4004460031907B41E06009907FD77417F07437F0E4907FD3F0907FC2E030E10302051FE5257040300E39E5127035C20EF51B7E007B007408251BF9EE3400FA1209C7FF7447 +:4004860080251BF582E4347BF583EFF0051BE51BB409DB907FC37409F0751210E4F51075250222E5256402703630052FC205F51B7E007B007429251BF9EE3400FA1209C7C2 +:4004C600FF7480251BF582E4347BF583EFF0051BE51BB405DB907FC37405F075250322E5306033752F031530E4F51B7E007B00742F251BF9EE3400FA1209C7FF7480251B26 +:40050600F582E4347BF583EFF0051BE51BB403DB907FC37403F0E4F52522907FE9E0120A1F05F600066A0106D70305430605E90805E30905CB0A05DA0B00000727907FEBC9 +:40054600E024FE60161460502402706F7419907FD4F07400907FD5F002072E907FEAE070047F0280027F03758282758319EFF0758274758319F0758258758319F0907FEA65 +:40058600E004758217758319F07419907FD4F07412907FD5F002072E907FEAE0FF120A45EA49600DEA907FD4F0E9907FD5F002072E907FB4E04401F002072E907FB4E044D1 +:4005C60001F002072E907F00E524F0907FB57401F002072E907FEAE0F52402072E12073602072E907F007401F0907FB5F002072E907FE8E0247F60241460312402705BA221 +:4006060001E433FF25E0FFA207E4334F907F00F0E4A3F0907FB57402F002072EE4907F00F0A3F0907FB57402F002072E907FECE0F45480FFC4540FFFE054072F25E024B4CD +:40064600F582E4347FF583E054FD907F00F0E4A3F0907FB57402F002072E907FB4E04401F002072E907FE8E024FE601E2402600302072E907FEAE0B40106120D6302072E53 +:40068600907FB4E04401F002072E907FEAE07038907FECE0F45480FFC4540FFFE054072F25E024B4F582E4347FF583E4F0907FECE05480FF131313541FFFE054072F907F69 +:4006C600D7F0E04420F08060907FB4E04401F08057907FE8E024FE60192402704B907FEAE0B40105120D60803F907FB4E04401F08036907FEAE07020907FECE0F45480FFAD +:40070600C4540FFFE054072F25E024B4F582E4347FF5837401F08010907FB4E04401F08007907FB4E04401F0907FB4E04402F022E4907F93F0907F9C7430F0E4907F96F06B +:40074600907F9574C0F0907F9E743FF0907F987418F0E4F58E907FDF74FFF0907FDEF0E4F5087F017B0074082FF9E43400FAE4120A0D0FBF09EE751301E4F512F52EF511A2 +:40078600C20EC212C20DC20AC20FC204907F987413F075180390C0007403F07F0CE4FD120C1C7F108F17120BAA907F987412F07F018F16EF440690C000F00FE4FD120C1C71 +:4007C600E4FF7EA3AD068D15120C1C907F987411F090C000E4F07F057D7F120C1C7F01120CAC7F037D07120C1C907F987414F075198090C0007480F0D20322907F98741059 +:40080600F0AF23E528F582E527F583C2AF058690C0000586E0A30586F00586DFF7D2AF22907F987410F0AF23E528F582E527F583C2AF058690C000E00586F0A30586DFF76F +:400846000586D2AF22907F987408F0AF23E528F582E527F583C2AF058690C0000586E0A30586F00586DFF7D2AF22907F987408F0AF23E528F582E527F583C2AF058690C045 +:4008860000E00586F0A30586DFF70586D2AF227400F58690FDA57C05A3E582458370F922907FD6E04480F0438701000000000022787FE4F6D8FD7581310208FD020942E43B +:4008C60093A3F8E493A34003F68001F208DFF48029E493A3F85407240CC8C333C4540F4420C8834004F456800146F6DFE4800B0102040810204080900CCDE47E019360BC36 +:40090600A3FF543F30E509541FFEE493A360010ECF54C025E060A840B8E493A3FAE493A3F8E493A3C8C582C8CAC583CAF0A3C8C582C8CAC583CADFE9DEE780BED214907F83 +:4009460092E04402F0120D63D2E843D820907FDE7401F0907FDFF0907FAB74FFF0907FA9F0907FAAF05391EF907FAFE04401F0907FAE740DF0D2AFD215120C66C202E4F557 +:4009860026F52EC208C203907FA104F0907FD8E0651A6010300305D215120046907FD8E0F51A8008300305C215120046300207C20212052080D63009D3C209120ABA80CC40 +:4009C60022BB010689828A83E0225002E722BBFE02E32289828A83E49322BB010CE58229F582E5833AF583E0225006E92582F8E622BBFE06E92582F8E222E58229F582E51F +:400A0600833AF583E49322BB010689828A83F0225002F722BBFE01F322D083D082F8E4937012740193700DA3A393F8740193F5828883E4737402936860EFA3A3A380DF8F58 +:400A46001BE4F51C751DFF751E19751F86AB1DAA1EA91F9000011209E0B4031DAF1C051CEFB51B01221209C77E0029FFEE3AA907751DFFF51E891F80D47B007A00790022F3 +:400A86000528E528AE277002052714F5828E83E511F01200360528E528AC277002052714F5828C83EFF01523E5236007120D448F1180CD22907FD8E0F51B120003907FD6AB +:400AC600E04480F01208A6907FD6E030E70E300105120CFE8006120C8BEF60E112073622C0E0C083C082C085C084C086758600907FC4E4F05391EF907FAB7404F0D086D0DF +:400B060084D085D082D083D0E032C0E0C083C082C085C084C086758600D2025391EF907FAB7401F0D086D084D085D082D083D0E032C0E0C083C082C085C084C08675860025 +:400B4600D2095391EF907FAB7408F0D086D084D085D082D083D0E032907F987413F090C00074BFF0907F987410F090C000EFF0907F987413F0E518547F90C000F022907FDB +:400B8600987413F090C00074BFF0907F987411F090C000EFF0907F987413F0E518547F90C000F022907F987413F090C00074BFF0907F987412F090C000EFF0907F98741307 +:400BC600F0E518547F90C000F022907F987413F090C00074BFF0907F987414F090C000EFF0907F987413F0E518547F90C000F022907F987413F090C00074BFF0907F9874F2 +:400C060016F090C000EFF0907F987413F0E518547F90C000F022907F987413F0E518547F90C000F0907F987417F090C000EFF0907F987415F090C000EDF022120D2C8F1D44 +:400C4600120D2C8F1EE51D651E6012120D2C8F1DE51D651E6007120D2C8F1E80E8AF1D22907FD6E054FBF0E04408F0301504E04402F07FF47E01120CE7907FD6E054F7F0D8 +:400C8600E04404F022907FD8E0F51C120736120D50EF30E60B907FD8E0651C60F17F01221200037F0022AE07E4FFE515547FFD120C1C907F987411F090C000EEF0E4E51599 +:400CC6004480FD120C1C2205290200000000032F030000C186C102C109C101C107012500008E1C8F1DE51D151DAE1C7002151C4E600512089580EE22907FD6E04401F07F86 +:400D06000D7E00120CE7907FD6E054FEF022907F987411F090C000E0FF22907F987412F090C000E0FF22907F987413F090C000E0FF22907F987414F090C000E0FF22907F2B +:400D4600987415F090C000E0FF22907F987416F090C000E0FF2253D8EF32D20122C20122000000000000000000000000000000000000000000000000000000000000000073 +:400D8600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002D +:400DC60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020B1000020EC0 +:400E06000400020AE600020B370000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000072 +:400E4600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006C +:400E8600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002C +:400EC60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000EC +:400F060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000AB +:400F4600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006B +:400F8600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002B +:400FC60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000EB +:4010060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000AA +:40104600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006A +:40108600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002A +:4010C60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000EA +:4011060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A9 +:401146000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000069 +:401186000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000029 +:4011C60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E9 +:4012060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A8 +:401246000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000068 +:401286000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028 +:4012C60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E8 +:4013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A7 +:401346000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000067 +:401386000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000027 +:4013C60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E7 +:4014060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A6 +:401446000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000066 +:401486000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000026 +:4014C60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E6 +:4015060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A5 +:401546000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000065 +:401586000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000025 +:4015C60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E5 +:4016060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A4 +:401646000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064 +:401686000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024 +:4016C60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E4 +:4017060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A3 +:401746000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000063 +:401786000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000023 +:4017C60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E3 +:4018060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A2 +:401846000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000062 +:401886000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022 +:4018C6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012011001FF00BF +:401906000040CD06080100000102000209027400010100A032090400000EFF000000070501024000000705020240000007050302400000070504024000000705050240007E +:4019460000070506024000000705070240000007058102400001070582024000010705830240000107058402400001070585024000010705860240000107058702400001F3 +:401986000403090448034B00650079007300700061006E002C002000610020006400690076006900730069006F006E0020006F006600200049006E006E006F005300790040 +:4019C6007300200049006E0063002E0036034B00650079007300700061006E0020005500530042002000530065007200690061006C002000410064006100700074006500F9 +:041A0600720000006A +:00000001FF + + The firmware contained herein is + + Copyright (C) 1999-2001 + Keyspan, A division of InnoSys Incorporated ("Keyspan") + + as an unpublished work. This notice does not imply unrestricted or + public access to the source code from which this firmware image is + derived. Except as noted below this firmware image may not be + reproduced, used, sold or transferred to any third party without + Keyspan's prior written consent. All Rights Reserved. + + Permission is hereby granted for the distribution of this firmware + image as part of a Linux or other Open Source operating system kernel + in text or binary form as required. + + This firmware may not be modified and may only be used with + Keyspan hardware. Distribution and/or Modification of the + keyspan.c driver which includes this firmware, in whole or in + part, requires the inclusion of this statement." diff --git a/firmware/keyspan/usa28.HEX b/firmware/keyspan/usa28.HEX new file mode 100644 index 0000000..000c978 --- /dev/null +++ b/firmware/keyspan/usa28.HEX @@ -0,0 +1,148 @@ +:0A0026001217DB1218B51214C322E2 +:0300330002001DAB +:04001D0053D8EF3293 +:100006008E128F13E5131513AE12700215124E6081 +:07001600051218A480EE2280 +:03000300020046B2 +:10004600C0E0C083C082C086758600C0D075D00867 +:1000560030990E301107A217929B854699C299D204 +:100066001F30C10E301207A21892C38547C1C2C104 +:10007600D220201F03020442C21F2003030202678C +:10008600201103020138E54AC3957C503E20133601 +:10009600200B33907F9BE020E303201C29301B12AA +:1000A600AE4A054A74402EF582E4347EF583E013A9 +:1000B6009217AE4A054A74402EF582E4347EF583E3 +:1000C600E0F546020440C211020440907FC7E4F006 +:1000D600C20330150CC215907FBF04F0C211020492 +:1000E60040907FC8E030E105C211020440907FC90C +:1000F600E0F57C907DC0E013921520132D200B2A8D +:03004300021B009D +:0300230002004692 +:03003B000200467A +:0300000002163DA8 +:40010600907F9BE020E303201C20301B11907DC1E0139217A3E0F546754A03020440754A02907DC1E0F546020440754A01C211020440E54AC3957C50030201E0907FC6E08A +:4001460030E107C221C205020440907FC7E0F57C907E40E01392153013030201D8200B7220006F907F9BE020E303201C65301B10907E41E013929BA3E0F599754A038009BE +:40018600907E41E0F599754A02E54AC3957C4017907FC7E4F0C203201503020440C215907FBF04F0020440301B12AE4A054A74402EF582E4347EF583E0139217AE4A054AA7 +:4001C60074402EF582E4347EF583E0F546D211020440754A01C221020440301303020262200B79907F9BE020E303201C6F301B12AE4A054A74402EF582E4347EF583E013DC +:40020600929BAE4A054A74402EF582E4347EF583E0F599E54AC3957C4017907FC7E4F0C203201503020440C215907FBF04F0020440301B12AE4A054A74402EF582E4347EB6 +:40024600F583E0139217AE4A054A74402EF582E4347EF583E0F546D211020440C221020440201103020319E54AC3957C503E201336200B33907F9BE020E303201C29301B5F +:4002860012AE4A054A74C02EF582E4347DF583E0139217AE4A054A74C02EF582E4347DF583E0F546020440C211020440907FC9E4F0D20330150CC215907FBF04F0C2110276 +:4002C6000440907FC6E030E105C211020440907FC7E0F57C907E40E013921520132D200B2A907F9BE020E303201C20301B11907E41E0139217A3E0F546754A03020440759E +:400306004A02907E41E0F546020440754A01C211020440E54AC3957C50030203C1907FC8E030E107C221C205020440907FC9E0F57C907DC0E01392153013030203B9200B48 +:400346007220006F907F9BE020E303201C65301B10907DC1E013929BA3E0F599754A038009907DC1E0F599754A02E54AC3957C4017907FC9E4F0D203201503020440C21573 +:40038600907FBF04F0020440301B12AE4A054A74C02EF582E4347DF583E0139217AE4A054A74C02EF582E4347DF583E0F546D211020440754A01C221020440301303020463 +:4003C6003E200B74907F9BE020E303201C6A301B12AE4A054A74C02EF582E4347DF583E013929BAE4A054A74C02EF582E4347DF583E0F599E54AC3957C4013907FC9E4F09D +:40040600D203301535C215907FBF04F0802C301B12AE4A054A74C02EF582E4347DF583E0139217AE4A054A74C02EF582E4347DF583E0F546D2118002C221D2252020030230 +:40044600080CC220200403020631201203020502E54BC3957D503E201436200D33907F9AE020E503201E29301D12AE4B054B74402EF582E4347DF583E0139218AE4B054B99 +:4004860074402EF582E4347DF583E0F54702080AC21202080A907FCBE4F0C20430160CC216907FC104F0C21202080A907FCCE030E105C21202080A907FCDE0F57D907CC0BB +:4004C600E013921620142D200D2A907F9AE020E503201E20301D11907CC1E0139218A3E0F547754B0302080A754B02907CC1E0F54702080A754B01C21202080AE54BC39566 +:400506007D50030205AA907FCAE030E107C222C20602080A907FCBE0F57D907D40E01392163014030205A2200D7220006F907F9AE020E503201E65301D10907D41E013920D +:40054600C3A3E0F5C1754B038009907D41E0F5C1754B02E54BC3957D4017907FCBE4F0C20420160302080AC216907FC104F002080A301D12AE4B054B74402EF582E4347D24 +:40058600F583E0139218AE4B054B74402EF582E4347DF583E0F547D21202080A754B01C22202080A30140302062C200D79907F9AE020E503201E6F301D12AE4B054B7440E9 +:4005C6002EF582E4347DF583E01392C3AE4B054B74402EF582E4347DF583E0F5C1E54BC3957D4017907FCBE4F0C20420160302080AC216907FC104F002080A301D12AE4B91 +:40060600054B74402EF582E4347DF583E0139218AE4B054B74402EF582E4347DF583E0F547D21202080AC22202080A2012030206E3E54BC3957D503E201436200D33907F1A +:400646009AE020E503201E29301D12AE4B054B74C02EF582E4347CF583E0139218AE4B054B74C02EF582E4347CF583E0F54702080AC21202080A907FCDE4F0D20430160C43 +:40068600C216907FC104F0C21202080A907FCAE030E105C21202080A907FCBE0F57D907D40E013921620142D200D2A907F9AE020E503201E20301D11907D41E0139218A352 +:4006C600E0F547754B0302080A754B02907D41E0F54702080A754B01C21202080AE54BC3957D500302078B907FCCE030E107C222C20602080A907FCDE0F57D907CC0E013AC +:400706009216301403020783200D7220006F907F9AE020E503201E65301D10907CC1E01392C3A3E0F5C1754B038009907CC1E0F5C1754B02E54BC3957D4017907FCDE4F0AE +:40074600D20420160302080AC216907FC104F002080A301D12AE4B054B74C02EF582E4347CF583E0139218AE4B054B74C02EF582E4347CF583E0F547D21202080A754B0173 +:40078600C22202080A301403020808200D74907F9AE020E503201E6A301D12AE4B054B74C02EF582E4347CF583E01392C3AE4B054B74C02EF582E4347CF583E0F5C1E54B3F +:4007C600C3957D4013907FCDE4F0D204301635C216907FC104F0802C301D12AE4B054B74C02EF582E4347CF583E0139218AE4B054B74C02EF582E4347CF583E0F547D2122A +:400806008002C222D22520980302093EC2982001030208B0202327AE48054874802EF582E4347EF583E599F0301B49AE48054874802EF582E4347EF583E598F08036AF996E +:40084600EFB55804D20B802CEFB55704C20B8024AE48054874802EF582E4347EF583EFF0301B11AE48054874802EF582E4347EF583E598F0D219E548C39554500302093C9F +:40088600907FB8E030E115E548C39440500302093C15481548052DD20C02093C907FB7E548F0754800C20102093C202327AE48054874002EF582E4347EF583E599F0301BBF +:4008C60049AE48054874002EF582E4347EF583E598F08036AF99EFB55804D20B802CEFB55704C20B8024AE48054874002EF582E4347EF583EFF0301B11AE48054874002E51 +:40090600F582E4347EF583E598F0D219E548C395544023907FB6E030E111E548C39440401515481548052DD20C800B907FB9E548F0754800D201D22520C003020A70C2C016 +:400946002002030209E2202427AE49054974802EF582E4347DF583E5C1F0301D49AE49054974802EF582E4347DF583E5C0F08036AFC1EFB57004D20D802CEFB56F04C20DAE +:400986008024AE49054974802EF582E4347DF583EFF0301D11AE49054974802EF582E4347DF583E5C0F0D21AE549C3956C5003020A6E907FBCE030E115E549C39440500351 +:4009C600020A6E154915490539D20E020A6E907FBBE549F0754900C202020A6E202427AE49054974002EF582E4347DF583E5C1F0301D49AE49054974002EF582E4347DF555 +:400A060083E5C0F08036AFC1EFB57004D20D802CEFB56F04C20D8024AE49054974002EF582E4347DF583EFF0301D11AE49054974002EF582E4347DF583E5C0F0D21AE54983 +:400A4600C3956C4023907FBAE030E111E549C394404015154915490539D20E800B907FBDE549F0754900D202D225302505C225020056D0D0D086D082D083D0E032907FCE99 +:400A8600E030E103020BA5E4F51274402512F582E4347CF583E0FFE5127C007B00244CF9EC3400FAEF1215CD0512E512B418DBE54C600C75C92075C836854DCA854ECBE5BC +:400AC6004F13921B929FE55013921CE551139223E5526009907F98E054FBF08007907F98E04404F0E5536009907F98E0547FF08007907F98E04480F0E559600BC213C20B18 +:400B0600907F95E04402F0E55A600BD20BD20C907F95E04402F0E55B600DC2AFC211D200E4F57CF54AD2AFE55C6005302302D20BE55D6015907F95E054FDF0907F9EE044D9 +:400B460002F0907F98E054FDF0E55E600AD29CC298752E01754028E55F6007C29CE4F548F52EE5606003E4F548E5616002D207E5626008E55E7002F540D20CE56360199060 +:400B86007FD77411F07431F07412F07432F07415F07435F0D203D201D209E4907FCFF0A213E433FF652B60048F2BD20CA20BE433FF652C60048F2CD20C907F9BE054086589 +:400BC600276007E05408F527D20C907F9BE05440B52909E054406440F529D20C300735C2AF300118907FB8E020E127E5486009907FB7F0E4F548C201C2078016907FB6E0E9 +:400C060020E10FE5486009907FB9F0E4F548D201C207D2AF20053730031B907FC6E020E12D907E40E0139215754A01907FC7E0F57CD2058019907FC8E020E112907DC0E0CF +:400C4600139215754A01907FC9E0F57CD205202133200006E54A657C702A30051A300309E4907FC7F0C2038007E4907FC9F0D203C205E4F57CF54A30150AC215C200907F5C +:400C8600BF7401F0302103020D94200503020D94301C0A907F9BE020E303020D94300B03020D94301303020D94300362301B12AF4A054A74402FF582E4347EF583E01392CE +:400CC6002DAF4A054A74402FF582E4347EF583E0F513E54AC3957C502A301B12AF4A054A74402FF582E4347EF583E0139217AF4A054A74402FF582E4347EF583E0F546D266 +:400D060011806BC211E4907FC7F0C2038060301B12AF4A054A74C02FF582E4347DF583E013922DAF4A054A74C02FF582E4347DF583E0F513E54AC3957C502A301B12AF4A67 +:400D4600054A74C02FF582E4347DF583E0139217AF4A054A74C02FF582E4347DF583E0F546D2118009C211E4907FC9F0D203301B04A22D929BD221C2AF85139920110D3043 +:400D8600150AC215C200907FBF7401F0D2AF907FD0E030E103020EB5E4F51274C02512F582E4347BF583E0FFE5127C007B002464F9EC3400FAEF1215CD0512E512B418DB51 +:400DC600E564600B758960758840D2DF85658DE56713921D92C7E56813921EE569139224E56A6009907F97E054EFF08007907F97E04410F0E56B6009907F97E0547FF080A4 +:400E060007907F97E04480F0E571600BC214C20D907F94E04408F0E572600BD20DD20E907F94E04408F0E573600DC2AFC212D200E4F57DF54BD2AFE5746005302402D20D20 +:400E4600E5756015907F94E054F7F0907F9DE04408F0907F97E054F7F0E576600AD2C4C2C0753A01754128E5776007C2C4E4F549F53AE5786003E4F549E5796002D208E5F0 +:400E86007A6008E5767002F541D20EE57B6019907FD77413F07433F07414F07434F07416F07436F0D204D202D20AE4907FD1F0A214E433FF653760048F37D20EA20DE43304 +:400EC600FF653860048F38D20E907F9AE0542065336007E05420F533D20E907F9AE05440B53509E054406440F535D20E300835C2AF300218907FBCE020E127E54960099099 +:400F06007FBBF0E4F549C202C2088016907FBAE020E10FE5496009907FBDF0E4F549D202C208D2AF20063730041B907FCAE020E12D907D40E0139216754B01907FCBE0F503 +:400F46007DD2068019907FCCE020E112907CC0E0139216754B01907FCDE0F57DD206202233200006E54B657D702A30061A300409E4907FCBF0C2048007E4907FCDF0D2042C +:400F8600C206E4F57DF54B30160AC216C200907FC17401F03022030210A42006030210A4301E0A907F9AE020E5030210A4300D030210A43014030210A4300462301D12AF8E +:400FC6004B054B74402FF582E4347DF583E013922DAF4B054B74402FF582E4347DF583E0F513E54BC3957D502A301D12AF4B054B74402FF582E4347DF583E0139218AF4B78 +:40100600054B74402FF582E4347DF583E0F547D212806BC212E4907FCBF0C2048060301D12AF4B054B74C02FF582E4347CF583E013922DAF4B054B74C02FF582E4347CF5F2 +:4010460083E0F513E54BC3957D502A301D12AF4B054B74C02FF582E4347CF583E0139218AF4B054B74C02FF582E4347CF583E0F547D2128009C212E4907FCDF0D204301DF4 +:4010860004A22D92C3D222C2AF8513C120120D30160AC216C200907FC17401F0D2AF907FC2E030E10302117AE51A7046300C3FE540703BA20933F531C209C20CE4F5127E0D +:4010C600007B0074262512F9EE3400FA121587FF74802512F582E4347BF583EFF00512E512B40CDB907FC3740CF075401022751A0122E51A64017045300E3EE541703AA2C5 +:401106000A33F53DC20AC20EE4F5127E007B0074322512F9EE3400FA121587FF74802512F582E4347BF583EFF00512E512B40CDB907FC3740CF0754110751A0222E51C60CA +:4011460030151CE4F5127E007B00741B2512F9EE3400FA121587FF74802512F582E4347BF583EFF00512E512B403DB907FC37403F0E4F51A22907FE9E012161712400012A7 +:40118600B401132003119E06123308122D0912200A13760B0000136F907FEBE024FE6016146040240270697419907FD4F07400907FD5F0021376907FEAE0FF12174B8B1261 +:4011C6008A138914EA496011AE02EE907FD4F0AF01EF907FD5F0021376907FB4E04401F0021376907FEAE0FF12179A8B128A138914EA496011AE02EE907FD4F0AF01EF9083 +:401206007FD5F0021376907FB4E04401F0021376907FB4E04401F0021376907F007401F0907FB5F00213761214C3021376907F007401F0907FB5F0021376907FE8E0247FBF +:4012460060241460312402705BA226E433FF25E0FFA22BE4334F907F00F0E4A3F0907FB57402F0021376E4907F00F0A3F0907FB57402F0021376907FECE0F45480FFC45429 +:401286000FFFE054072F25E024B4F582E4347FF583E054FD907F00F0E4A3F0907FB57402F0021376907FB4E04401F0021376907FE8E024FE601D24026003021376907FEA0B +:4012C600E0B40105C226021376907FB4E04401F0021376907FEAE07038907FECE0F45480FFC4540FFFE054072F25E024B4F582E4347FF583E4F0907FECE05480FF131313A7 +:40130600541FFFE054072F907FD7F0E04420F0805F907FB4E04401F08056907FE8E024FE60182402704A907FEAE0B40104D226803F907FB4E04401F08036907FEAE07020A3 +:40134600907FECE0F45480FFC4540FFFE054072F25E024B4F582E4347FF5837401F08010907FB4E04401F08007907FB4E04401F0907FB4E04402F0222028030214C2E54063 +:4013860060021540E548604F65447045E542F460020542E542C39555403DC2AF300118907FB8E020E127907FB7E548F0C201E4F548F542F5448016907FB6E020E10F907F07 +:4013C600B9E548F0D201E4F548F542F544D2AF8006854844E4F542E52E602D201907907F9BE030E00EE52F6005E4F52FD20CE4F53E8013E53ED39556500CE53EB556057504 +:401406002F01D20C053EC219E54160021541E549604F65457045E543F460020543E543C3956D403DC2AF300218907FBCE020E127907FBBE549F0C202E4F549F543F54580E2 +:4014460016907FBAE020E10F907FBDE549F0D202E4F549F543F545D2AF8006854945E4F543E53A602D201A07907F9AE030E20EE53B6005E4F53BD20EE4F53F8013E53FD35E +:40148600956E500CE53FB56E05753B01D20E053FC21A907FD2E020E123907B40E06009E0F51C907B42E0F51D907B41E06009907FD77417F07437F0E4907FD3F022E4907FC5 +:4014C60093F0907F9C7430F0907F96E04410F0907F94740DF0907F9D749AF0907F97E054FDF0907F957423F0907F9E7484F0E4907FC7F0907FC9F0907FCFF075984043A89E +:4015060010C21BC205C221C20BC213F57CF54AC211C215F542C219F544F548C223C21CF52DF52FC207C200C21FF53EC209D20CF526907FCBF0907FCDF0907FD1F075C04043 +:4015460043A840C21DC206C222C20DC214F57DF54BC212C216F543C21AF545F549C224C21EF539F53BC208C200C220F53FC20AD20E753201907FDF74FFF0907FDEF0D228DE +:4015860022BB010689828A83E0225002E722BBFE02E32289828A83E49322BB010CE58229F582E5833AF583E0225006E92582F8E622BBFE06E92582F8E222E58229F582E553 +:4015C600833AF583E49322BB010689828A83F0225002F722BBFE01F322BB0110E58229F582E5833AF583E0F5F0A3E0225009E92582F886F008E622BBFE0AE92582F8E2F511 +:40160600F008E222E5832AF583E993F5F0A3E99322D083D082F8E4937012740193700DA3A393F8740193F5828883E4737402936860EFA3A3A380DF787FE4F6D8FD75817D0E +:401646000216840216C9E493A3F8E493A34003F68001F208DFF48029E493A3F85407240CC8C333C4540F4420C8834004F456800146F6DFE4800B010204081020408090181A +:40168600C5E47E019360BCA3FF543F30E509541FFEE493A360010ECF54C025E060A840B8E493A3FAE493A3F8E493A3C8C582C8CAC583CAF0A3C8C582C8CAC583CADFE9DE39 +:4016C600E780BE751101907F92E054FDF0907FAEE0FFD39226E433FEEF4EF0D2E843D820907FDE7401F0907FDFF0907FAB74FFF0907FA9F0907FAAF05391EF907FAFE044C5 +:4017060001F0907FAEE0440DF0D2AFD2BCD2BED22D12187FC227C225C228302803120A83907FD8E065106008E0F51012137E80EA302707C22712117B80E0302CDDC22C12C5 +:40174600002680D622E4FE7517FF751819751912AB17AA18A9199000011215A06402702DAD060EEDB50701229000021215DF85F015F5166215E5156216E516621529FDE551 +:40178600153AA9057517FFF518891980C37B007A007900228F15E4F5167517FF751819751986AB17AA18A9199000011215A0B4031DAF160516EFB51501221215877E0029BE +:4017C600FFEE3AA9077517FFF518891980D47B007A00790022E4907F93F0907F9CF0907F94F0907F9D7402F0907F97F0E4907F95F0907F9E74FFF0E4907F98F0907F9DF003 +:4018060022C0E0C083C082C085C084C086758600907FC4E4F05391EF907FAB7404F0D086D084D085D082D083D0E032C0E0C083C082C085C084C086758600D2275391EF9024 +:401846007FAB7401F0D086D084D085D082D083D0E032C0E0C083C082C085C084C086758600D22C5391EF907FAB7408F0D086D084D085D082D083D0E032907FD6E054FBF0DD +:40188600E04408F0302D04E04402F07FF47E01120006907FD6E054F7F0E04404F0227400F58690FDA57C05A3E582458370F922907FD6E04480F0438701000000000022C125 +:4018C600AA011A00031B030000C127C12CC126C12B000000000000000000000000000000000000000000000000000000000000000000000000000000000012011001FF0031 +:401906000040CD060F0100000102000109027400010100A032090400000EFF0000000705010240000007050202400000070503024000000705040240000007050502400078 +:4019460000070506024000000705070240000007058102400001070582024000010705830240000107058402400001070585024000010705860240000107058702400001F3 +:401986000403090448034B00650079007300700061006E002C002000610020006400690076006900730069006F006E0020006F006600200049006E006E006F005300790040 +:4019C6007300200049006E0063002E0036034B00650079007300700061006E0020005500530042002000530065007200690061006C002000410064006100700074006500F9 +:401A0600720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002E +:401A46000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060 +:401A86000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020 +:401AC6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002183100021B78 +:091B06000400021807000218583F +:00000001FF + + The firmware contained herein is + + Copyright (C) 1999-2001 + Keyspan, A division of InnoSys Incorporated ("Keyspan") + + as an unpublished work. This notice does not imply unrestricted or + public access to the source code from which this firmware image is + derived. Except as noted below this firmware image may not be + reproduced, used, sold or transferred to any third party without + Keyspan's prior written consent. All Rights Reserved. + + Permission is hereby granted for the distribution of this firmware + image as part of a Linux or other Open Source operating system kernel + in text or binary form as required. + + This firmware may not be modified and may only be used with + Keyspan hardware. Distribution and/or Modification of the + keyspan.c driver which includes this firmware, in whole or in + part, requires the inclusion of this statement." diff --git a/firmware/keyspan/usa28x.HEX b/firmware/keyspan/usa28x.HEX new file mode 100644 index 0000000..9f0f7fa --- /dev/null +++ b/firmware/keyspan/usa28x.HEX @@ -0,0 +1,141 @@ +:030033000212F7BF +:10000300E4907F93F0907F9C7430F0E4907F96F0BF +:10001300907F94F0907F9D74FFF0E4907F97F09031 +:0F0023007F95F0907F9E7407F0E4907F98F02215 +:1000460030091812131BEFC3953C40030200D890E9 +:100056007FBF7401F0C209C200807730033B907FF6 +:10006600C6E020E16D12131BEFC394405064907EEE +:1000760040E0139209907FC7E014F5192000116043 +:100086000FF5087E7E7F41750C7E750D41120CBA08 +:10009600C203E4907FC7F08039907FC8E020E13248 +:1000A60012131BEFC394405029907DC0E0139209B0 +:1000B600907FC9E014F519200011600FF5087E7DC8 +:1000C6007FC1750C7D750DC1120CBAD203E4907F09 +:1000D600C9F0907FB6E030E1030201601211D68FBD +:1000E600191213278F36E519C3953A500F1212EBE2 +:1000F600EF30E008E53620E703300B5EC20BE5196A +:0C003600907F987410F090C000E0FF2252 +:03004300021300A5 +:03000000020E00ED +:400106006058B48003433602E53630E726E519D3942040037519208519087E7E7F80750C7E750D80AF36120F4BE51925E0907FB7F08027E519D3943F400375193F851908D4 +:40014600907E80E536F07E7E7F81750C7E750D81120CDFE51904907FB7F0907FCEE030E1062005030203C1C205E4F51874402518F582E4347CF583E0FFE5187C007B017AF1 +:400186007E79002400F9EC347EFAEF120ED20518E518B420D7907E00E06068907E03E060247F01E4FD1211B17F037DCD1211B1434680907F987414F090C000E546F0E490E0 +:4001C6007E13F08030907E01E0FF121035907E02E0FF12105B7F01907E11E0FD1211B17F037D071211B1434680907F987414F090C000E546F0907F987412F0E5404406903E +:40020600C000F0907E03E07006907E13E07008E4907E13F07525FF907E05E06012A3E0543FF544907F987413F090C000E544F0907E07E0602BA3E0600543428080035342DA +:400246007F5342FC907E09E06011434202A3E0FF1210A7907E0BE0FF1210CDAF42121081907E03E0600853427FAF42121081907E0CE06018A3E0600543460280035346FDB4 +:40028600907F987414F090C000E546F0907E0EE06018A3E0600543460180035346FE907F987414F090C000E546F0907E12E0F53AA3E013920DA3E0F53CA3E060054346108B +:4002C60080035346EF907F987414F090C000E546F0907E16E060325344BF907F987413F0E544547F90C000F0907F987411F01212DFEF54FE90C000F0533EFDE4FFAD3E120F +:4003060011B1E4F52AF529D207907E17E0600F433E02E4FFAD3E1211B1752901D207907E18E06010907F987412F0E540440490C000F0D200907E19E06011434440907F98F2 +:400346007413F0E544547F90C000F0907E1AE0600F533EFEE4FFAD3E1211B1752B01D207907E1BE0600F433E01E4FFAD3E1211B1E4F52BD207907E1CE0600E907F98741284 +:40038600F0E540440290C000F0907E1DE06002D20B907E1EE06008752C01E4F538D207907E1FE06011907FD77411F07431F07415F07435F0D203E4907FCFF0301A52E53892 +:4003C60060021538201349E513D3940040041513803E75130A301B02D2131212DFEF5401F519652A600585192AD207121333EF5480F51965266005851926D207300D11127F +:400406001333EF5410F51965256005851925D207201B030207EC300A1812136FEFC3953D40030204AE907FC17401F0C20AC200807730043B907FCAE020E16D12136FEFC35A +:4004460094405064907D40E013920A907FCBE014F519200011600FF5087E7D7F41750C7D750D41120D04C204E4907FCBF08039907FCCE020E13212136FEFC39440502990BC +:400486007CC0E013920A907FCDE014F519200011600FF5087E7C7FC1750C7C750DC1120D04D204E4907FCDF0907FBAE030E1030205361212208F1912137B8F37E519C3952B +:4004C6003B500F121357EF30E008E53720E703300C5EC20CE5196058B48003433702E53730E726E519D3942040037519208519087E7D7F80750C7D750D80AF37120F84E503 +:400506001925E0907FBBF08027E519D3943F400375193F851908907D80E537F07E7D7F81750C7D750D81120D29E51904907FBBF0907FD0E030E106200603020797C206E4F8 +:40054600F51874C02518F582E4347BF583E0FFE5187C007B017A7E79202420F9EC347EFAEF120ED20518E518B420D7907E20E06068907E23E060247F01E4FD1211FB7F0329 +:400586007DCD1211FB434780907F98740CF090C000E547F0E4907E33F08030907E21E0FF121119907E22E0FF12113F7F01907E31E0FD1211FB7F037D071211FB4347809048 +:4005C6007F98740CF090C000E547F0907F98740AF0E541440690C000F0907E23E07006907E33E07008E4907E33F0752EFF907E25E06012A3E0543FF545907F98740BF090EB +:40060600C000E545F0907E27E0602BA3E06005434380800353437F5343FC907E29E06011434302A3E0FF121165907E2BE0FF12118BAF431210F3907E23E0600853437FAFFE +:40064600431210F3907E2CE06018A3E0600543470280035347FD907F98740CF090C000E547F0907E2EE06018A3E0600543470180035347FE907F98740CF090C000E547F0D4 +:40068600907E32E0F53BA3E013920EA3E0F53DA3E0600543471080035347EF907F98740CF090C000E547F0907E36E060325345BF907F98740BF0E545547F90C000F0907F79 +:4006C600987409F012134BEF54FE90C000F0533FFDE4FFAD3F1211FBE4F533F532D208907E37E0600F433F02E4FFAD3F1211FB753201D208907E38E06010907F98740AF043 +:40070600E541440490C000F0D200907E39E06011434540907F98740BF0E545547F90C000F0907E3AE0600F533FFEE4FFAD3F1211FB753401D208907E3BE0600F433F01E4E9 +:40074600FFAD3F1211FBE4F534D208907E3CE0600E907F98740AF0E541440290C000F0907E3DE06002D20C907E3EE06008753501E4F539D208907E3FE06011907FD7741389 +:40078600F07433F07416F07436F0D204E4907FD1F0301A52E53960021539301349E513D3940040041513803E75130A301B02C21312134BEF5401F51965336005851933D279 +:4007C60008121387EF5480F519652F600585192FD208300E11121387EF5410F519652E600585192ED208301A2A907FD2E020E123907B40E06009E0F515907B42E0F5169035 +:400806007B41E06009907FD77417F07437F0E4907FD3F0907FC2E030E103020920E50A7040300739E5387035C207F5187E007B0074242518F9EE3400FA120E8CFF748025BD +:4008460018F582E4347BF583EFF00518E518B409DB907FC37409F0753810E4F52C750A0122E50A64017040300839E5397035C208F5187E007B00742D2518F9EE3400FA1297 +:400886000E8CFF74802518F582E4347BF583EFF00518E518B409DB907FC37409F0753910E4F535750A0222E50A6402703630142FC214F5187E007B00740E2518F9EE340083 +:4008C600FA120E8CFF74802518F582E4347BF583EFF00518E518B405DB907FC37405F0750A0322E51560301515E4F5187E007B0074142518F9EE3400FA120E8CFF748025F2 +:4009060018F582E4347BF583EFF00518E518B403DB907FC37403F0E4F50A22907FE9E0120EE40A08000A7C010AE80309440609FB0809F50909DD0A09EC0B00000B37907F3D +:40094600EBE024FE6019146061240260030209D37419907FD4F07400907FD5F0020B3E907FEAE070047F0280027F03758282758319EFF075827B758319F0758274758319B2 +:40098600F0758266758319F0758258758319F0907FEAE004758217758319F07419907FD4F07412907FD5F0020B3E907FEAE0FF120F0AEA49600DEA907FD4F0E9907FD5F085 +:4009C600020B3E907FB4E04401F0020B3E907FB4E04401F0020B3E907F00E509F0907FB57401F0020B3E907FEAE0F509020B3E120B46020B3E907F007401F0907FB5F00205 +:400A06000B3E907FE8E0247F60241460312402705BA210E433FF25E0FFA216E4334F907F00F0E4A3F0907FB57402F0020B3EE4907F00F0A3F0907FB57402F0020B3E907F04 +:400A4600ECE0F45480FFC4540FFFE054072F25E024B4F582E4347FF583E054FD907F00F0E4A3F0907FB57402F0020B3E907FB4E04401F0020B3E907FE8E024FE601D24020F +:400A86006003020B3E907FEAE0B40105C210020B3E907FB4E04401F0020B3E907FEAE07038907FECE0F45480FFC4540FFFE054072F25E024B4F582E4347FF583E4F0907FB6 +:400AC600ECE05480FF131313541FFFE054072F907FD7F0E04420F0805F907FB4E04401F08056907FE8E024FE60182402704A907FEAE0B40104D210803F907FB4E04401F049 +:400B06008036907FEAE07020907FECE0F45480FFC4540FFFE054072F25E024B4F582E4347FF5837401F08010907FB4E04401F08007907FB4E04401F0907FB4E04402F022D4 +:400B4600E4907F93F0907F9C7430F0E4907F96F0907F9574C0F0907F9E743FF0907F987418F0E4F58E907FDF74FFF0907FDEF0E4F5247518017B0074242518F9E43400FA8B +:400B8600E4120ED20518E518B409EA753A01E4F538F513F536C207C20BC205C200C209C213907F987413F075440390C0007403F07F0CE4FD1211B17F108F42121081907F02 +:400BC600987412F07F018F40EF440690C000F0907F987414F075468090C0007480F00FE4FD1211B1E4FF7EA3AD068D3E1211B1907F987411F090C000E4F07F057D7F12118E +:400C0600B17F0112126A7F037D071211B1201B03020CB7752D017518017B00742D2518F9E43400FAE4120ED20518E518B409EA753B01E4F539F513F537C208C20CC206C2CD +:400C460000C20AC213907F98740BF075450390C0007403F07F0CE4FD1211FB7F108F431210F3907F98740AF07F018F41EF440690C000F0907F98740CF075478090C000744E +:400C860080F00FE4FD1211FBE4FF7EA3AD068D3F1211FB907F987409F090C000E4F07F057D7F1211FB7F0112128B7F037D071211FBD21222907F987410F0AF08E50DF582A5 +:400CC600E50CF583C2AF058690C0000586E0A30586F00586DFF7D2AF22907F987410F0AF08E50DF582E50CF583C2AF058690C000E00586F0A30586DFF70586D2AF22907F20 +:400D0600987408F0AF08E50DF582E50CF583C2AF058690C0000586E0A30586F00586DFF7D2AF22907F987408F0AF08E50DF582E50CF583C2AF058690C000E00586F0A3055C +:400D460086DFF70586D2AF227400F58690FDA57C05A3E582458370F922907FD6E04480F0438701000000000022D219907F92E04402F0907FAEE0FFD39210E433FEEF4EF089 +:400D8600D2E843D820907FDE7401F0907FDFF0907FAB74FFF0907FA9F0907FAAF05391EF907FAFE04401F0907FAEE0440DF0D2AFD21A121245C211E4F50BF513C217C212D4 +:400DC600907FA104F0907FD8E065176010301205D21A120046907FD8E0F5178008301205C21A120046301107C21112092180D63018D3C21812139380CC22787FE4F6D8FDC7 +:400E0600758147020E47020D6FE493A3F8E493A34003F68001F208DFF48029E493A3F85407240CC8C333C4540F4420C8834004F456800146F6DFE4800B01020408102040F5 +:400E4600809012ACE47E019360BCA3FF543F30E509541FFEE493A360010ECF54C025E060A840B8E493A3FAE493A3F8E493A3C8C582C8CAC583CAF0A3C8C582C8CAC583CA1E +:400E8600DFE9DEE780BEBB010689828A83E0225002E722BBFE02E32289828A83E49322BB010CE58229F582E5833AF583E0225006E92582F8E622BBFE06E92582F8E222E5B8 +:400EC6008229F582E5833AF583E49322BB010689828A83F0225002F722BBFE01F322D083D082F8E4937012740193700DA3A393F8740193F5828883E4737402936860EFA3C1 +:400F0600A3A380DF8F18E4F519751AFF751B19751C86AB1AAA1BA91C900001120EA5B4031DAF190519EFB5180122120E8C7E0029FFEE3AA907751AFFF51B891C80D47B00A5 +:400F46007A007900228F1A050DE50DAE0C7002050C14F5828E83E51AF0120036050DE50DAC0C7002050C14F5828C83EFF01508E508600A1213278F1AEF423680CA228F1AFC +:400F8600050DE50DAE0C7002050C14F5828E83E51AF012133F050DE50DAC0C7002050C14F5828C83EFF01508E508600A12137B8F1AEF423780CA22C0E0C083C082C085C088 +:400FC60084C086758600907FC4E4F05391EF907FAB7404F0D086D084D085D082D083D0E032C0E0C083C082C085C084C086758600D2115391EF907FAB7401F0D086D084D0C6 +:4010060085D082D083D0E032C0E0C083C082C085C084C086758600D2185391EF907FAB7408F0D086D084D085D082D083D0E032907F987413F090C00074BFF0907F9874108A +:40104600F090C000EFF0907F987413F0E544547F90C000F022907F987413F090C00074BFF0907F987411F090C000EFF0907F987413F0E544547F90C000F022907F98741349 +:40108600F090C00074BFF0907F987412F090C000EFF0907F987413F0E544547F90C000F022907F987413F090C00074BFF0907F987414F090C000EFF0907F987413F0E544D9 +:4010C600547F90C000F022907F987413F090C00074BFF0907F987416F090C000EFF0907F987413F0E544547F90C000F022907F98740BF090C00074BFF0907F98740AF0902A +:40110600C000EFF0907F98740BF0E545547F90C000F022907F98740BF090C00074BFF0907F987408F090C000EFF0907F98740BF0E545547F90C000F022907F98740BF090AF +:40114600C00074BFF0907F987409F090C000EFF0907F98740BF0E545547F90C000F022907F98740BF090C00074BFF0907F98740CF090C000EFF0907F98740BF0E545547FEC +:4011860090C000F022907F98740BF090C00074BFF0907F98740EF090C000EFF0907F98740BF0E545547F90C000F022907F987413F0E544547F90C000F0907F987417F09075 +:4011C600C000EFF0907F987415F090C000EDF02212130F8F1A12130F8F1BE51A651B601212130F8F1AE51A651B600712130F8F1B80E8AF1A22907F98740BF0E545547F9098 +:40120600C000F0907F98740FF090C000EFF0907F98740DF090C000EDF0221213638F1A1213638F1BE51A651B60121213638F1AE51A651B60071213638F1B80E8AF1A2290C8 +:401246007FD6E054FBF0E04408F0301A04E04402F07FF47E011212C8907FD6E054F7F0E04404F022AE07E4FFE53E547FFD1211B1907F987411F090C000EEF0E4E53E4480E8 +:40128600FD1211B122AE07E4FFE53F547FFD1211FB907F987409F090C000EEF0E4E53F4480FD1211FB22050E02000000000314030000C111C118C195C110C116010A00C19C +:4012C6009B008E188F19E5191519AE18700215184E6005120D4E80EE22907F987411F090C000E0FF22907F987412F090C000E0FF2253D8EF320000000000020FE70002138A +:401306000400020FBD0002100E907F987413F090C000E0FF22907F987414F090C000E0FF22907F987415F090C000E0FF22907F987416F090C000E0FF22907F987408F09050 +:40134600C000E0FF22907F987409F090C000E0FF22907F98740AF090C000E0FF22907F98740BF090C000E0FF22907F98740CF090C000E0FF22907F98740DF090C000E0FFC5 +:4013860022907F98740EF090C000E0FF22120003120D5F120B4622000000000000000000000000000000000000000000000000000000000000000000000000000000000083 +:4013C60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E7 +:4014060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A6 +:401446000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000066 +:401486000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000026 +:4014C60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E6 +:4015060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A5 +:401546000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000065 +:401586000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000025 +:4015C60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E5 +:4016060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A4 +:401646000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064 +:401686000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024 +:4016C60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E4 +:4017060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A3 +:401746000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000063 +:401786000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000023 +:4017C60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E3 +:4018060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A2 +:401846000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000062 +:401886000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022 +:4018C6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012011001FF00BF +:401906000040CD06100100000102000209027400010100A032090400000EFF0000000705010240000007050202400000070503024000000705040240000007050502400076 +:4019460000070506024000000705070240000007058102400001070582024000000705830240000107058402400001070585024000010705860240000107058702400001F4 +:401986000403090448034B00650079007300700061006E002C002000610020006400690076006900730069006F006E0020006F006600200049006E006E006F005300790040 +:4019C6007300200049006E0063002E0036034B00650079007300700061006E0020005500530042002000530065007200690061006C002000410064006100700074006500F9 +:041A0600720000006A +:00000001FF + + The firmware contained herein is + + Copyright (C) 1999-2001 + Keyspan, A division of InnoSys Incorporated ("Keyspan") + + as an unpublished work. This notice does not imply unrestricted or + public access to the source code from which this firmware image is + derived. Except as noted below this firmware image may not be + reproduced, used, sold or transferred to any third party without + Keyspan's prior written consent. All Rights Reserved. + + Permission is hereby granted for the distribution of this firmware + image as part of a Linux or other Open Source operating system kernel + in text or binary form as required. + + This firmware may not be modified and may only be used with + Keyspan hardware. Distribution and/or Modification of the + keyspan.c driver which includes this firmware, in whole or in + part, requires the inclusion of this statement." diff --git a/firmware/keyspan/usa28xa.HEX b/firmware/keyspan/usa28xa.HEX new file mode 100644 index 0000000..f14932e --- /dev/null +++ b/firmware/keyspan/usa28xa.HEX @@ -0,0 +1,141 @@ +:030033000212F9BD +:10000300E4907F93F0907F9C7430F0E4907F96F0BF +:10001300907F94F0907F9D74FFF0E4907F97F09031 +:0F0023007F95F0907F9E7407F0E4907F98F02215 +:10004600300918121327EFC3953C40030200D890DD +:100056007FBF7401F0C209C200807730033B907FF6 +:10006600C6E020E16D121327EFC394405064907EE2 +:1000760040E0139209907FC7E014F5192000116043 +:100086000FF5087E7E7F41750C7E750D41120CC8FA +:10009600C203E4907FC7F08039907FC8E020E13248 +:1000A600121327EFC394405029907DC0E0139209A4 +:1000B600907FC9E014F519200011600FF5087E7DC8 +:1000C6007FC1750C7D750DC1120CC8D203E4907FFB +:1000D600C9F0907FB6E030E1030201601211E48FAF +:1000E600191213338F36E519C3953A500F12130FB1 +:1000F600EF30E008E53620E703300B5EC20BE5196A +:0C003600907F987410F090C000E0FF2252 +:03004300021300A5 +:03000000020E0EDF +:400106006058B48003433602E53630E726E519D3942040037519208519087E7E7F80750C7E750D80AF36120F59E51925E0907FB7F08027E519D3943F400375193F851908C6 +:40014600907E80E536F07E7E7F81750C7E750D81120CEDE51904907FB7F0907FCEE030E1062005030203C1C205E4F51874402518F582E4347CF583E0FFE5187C007B017AE3 +:400186007E79002400F9EC347EFAEF120EE00518E518B420D7907E00E06068907E03E060247F01E4FD1211BF7F037DCD1211BF434680907F987414F090C000E546F0E490B6 +:4001C6007E13F08030907E01E0FF121043907E02E0FF1210697F01907E11E0FD1211BF7F037D071211BF434680907F987414F090C000E546F0907F987412F0E54044069006 +:40020600C000F0907E03E07006907E13E07008E4907E13F07525FF907E05E06012A3E0543FF544907F987413F090C000E544F0907E07E0602BA3E0600543428080035342DA +:400246007F5342FC907E09E06011434202A3E0FF1210B5907E0BE0FF1210DBAF4212108F907E03E0600853427FAF4212108F907E0CE06018A3E0600543460280035346FD7C +:40028600907F987414F090C000E546F0907E0EE06018A3E0600543460180035346FE907F987414F090C000E546F0907E12E0F53AA3E013920DA3E0F53CA3E060054346108B +:4002C60080035346EF907F987414F090C000E546F0907E16E060325344BF907F987413F0E544547F90C000F0907F987411F01212EDEF54FE90C000F0533EFDE4FFAD3E1201 +:4003060011BFE4F52AF529D207907E17E0600F433E02E4FFAD3E1211BF752901D207907E18E06010907F987412F0E540440490C000F0D200907E19E06011434440907F98D6 +:400346007413F0E544547F90C000F0907E1AE0600F533EFEE4FFAD3E1211BF752B01D207907E1BE0600F433E01E4FFAD3E1211BFE4F52BD207907E1CE0600E907F98741268 +:40038600F0E540440290C000F0907E1DE06002D20B907E1EE06008752C01E4F538D207907E1FE06011907FD77411F07431F07415F07435F0D203E4907FCFF0301A52E53892 +:4003C60060021538201349E513D3940040041513803E75130A301B02D2131212EDEF5401F519652A600585192AD20712133FEF5480F51965266005851926D207300D111265 +:40040600133FEF5410F51965256005851925D207201B030207EC300A1812137BEFC3953D40030204AE907FC17401F0C20AC200807730043B907FCAE020E16D12137BEFC336 +:4004460094405064907D40E013920A907FCBE014F519200011600FF5087E7D7F41750C7D750D41120D12C204E4907FCBF08039907FCCE020E13212137BEFC39440502990A2 +:400486007CC0E013920A907FCDE014F519200011600FF5087E7C7FC1750C7C750DC1120D12D204E4907FCDF0907FBAE030E10302053612122E8F191213878F37E519C39503 +:4004C6003B500F121363EF30E008E53720E703300C5EC20CE5196058B48003433702E53730E726E519D3942040037519208519087E7D7F80750C7D750D80AF37120F92E5E9 +:400506001925E0907FBBF08027E519D3943F400375193F851908907D80E537F07E7D7F81750C7D750D81120D37E51904907FBBF0907FD0E030E106200603020797C206E4EA +:40054600F51874C02518F582E4347BF583E0FFE5187C007B017A7E79202420F9EC347EFAEF120EE00518E518B420D7907E20E06068907E23E060247F01E4FD1212097F030C +:400586007DCD121209434780907F98740CF090C000E547F0E4907E33F08030907E21E0FF121127907E22E0FF12114D7F01907E31E0FD1212097F037D0712120943478090FF +:4005C6007F98740CF090C000E547F0907F98740AF0E541440690C000F0907E23E07006907E33E07008E4907E33F0752EFF907E25E06012A3E0543FF545907F98740BF090EB +:40060600C000E545F0907E27E0602BA3E06005434380800353437F5343FC907E29E06011434302A3E0FF121173907E2BE0FF121199AF43121101907E23E0600853437FAFD3 +:4006460043121101907E2CE06018A3E0600543470280035347FD907F98740CF090C000E547F0907E2EE06018A3E0600543470180035347FE907F98740CF090C000E547F0C5 +:40068600907E32E0F53BA3E013920EA3E0F53DA3E0600543471080035347EF907F98740CF090C000E547F0907E36E060325345BF907F98740BF0E545547F90C000F0907F79 +:4006C600987409F0121357EF54FE90C000F0533FFDE4FFAD3F121209E4F533F532D208907E37E0600F433F02E4FFAD3F121209753201D208907E38E06010907F98740AF019 +:40070600E541440490C000F0D200907E39E06011434540907F98740BF0E545547F90C000F0907E3AE0600F533FFEE4FFAD3F121209753401D208907E3BE0600F433F01E4DA +:40074600FFAD3F121209E4F534D208907E3CE0600E907F98740AF0E541440290C000F0907E3DE06002D20C907E3EE06008753501E4F539D208907E3FE06011907FD774137A +:40078600F07433F07416F07436F0D204E4907FD1F0301A52E53960021539301349E513D3940040041513803E75130A301B02C213121357EF5401F51965336005851933D26D +:4007C60008121393EF5480F519652F600585192FD208300E11121393EF5410F519652E600585192ED208301A2A907FD2E020E123907B40E06009E0F515907B42E0F516901D +:400806007B41E06009907FD77417F07437F0E4907FD3F0907FC2E030E103020920E50A7040300739E5387035C207F5187E007B0074242518F9EE3400FA120E9AFF748025AF +:4008460018F582E4347BF583EFF00518E518B409DB907FC37409F0753810E4F52C750A0122E50A64017040300839E5397035C208F5187E007B00742D2518F9EE3400FA1297 +:400886000E9AFF74802518F582E4347BF583EFF00518E518B409DB907FC37409F0753910E4F535750A0222E50A6402703630142FC214F5187E007B00740E2518F9EE340075 +:4008C600FA120E9AFF74802518F582E4347BF583EFF00518E518B405DB907FC37405F0750A0322E51560301515E4F5187E007B0074142518F9EE3400FA120E9AFF748025D6 +:4009060018F582E4347BF583EFF00518E518B403DB907FC37403F0E4F50A22907FE9E0120EF20A08000A7C010AE80309440609FB0809F50909DD0A09EC0B00000B37907F2F +:40094600EBE024FE6019146061240260030209D37419907FD4F07400907FD5F0020B3E907FEAE070047F0280027F03758282758319EFF075827B758319F0758274758319B2 +:40098600F0758266758319F0758258758319F0907FEAE004758217758319F07419907FD4F07412907FD5F0020B3E907FEAE0FF120F18EA49600DEA907FD4F0E9907FD5F077 +:4009C600020B3E907FB4E04401F0020B3E907FB4E04401F0020B3E907F00E509F0907FB57401F0020B3E907FEAE0F509020B3E120B46020B3E907F007401F0907FB5F00205 +:400A06000B3E907FE8E0247F60241460312402705BA210E433FF25E0FFA216E4334F907F00F0E4A3F0907FB57402F0020B3EE4907F00F0A3F0907FB57402F0020B3E907F04 +:400A4600ECE0F45480FFC4540FFFE054072F25E024B4F582E4347FF583E054FD907F00F0E4A3F0907FB57402F0020B3E907FB4E04401F0020B3E907FE8E024FE601D24020F +:400A86006003020B3E907FEAE0B40105C210020B3E907FB4E04401F0020B3E907FEAE07038907FECE0F45480FFC4540FFFE054072F25E024B4F582E4347FF583E4F0907FB6 +:400AC600ECE05480FF131313541FFFE054072F907FD7F0E04420F0805F907FB4E04401F08056907FE8E024FE60182402704A907FEAE0B40104D210803F907FB4E04401F049 +:400B06008036907FEAE07020907FECE0F45480FFC4540FFFE054072F25E024B4F582E4347FF5837401F08010907FB4E04401F08007907FB4E04401F0907FB4E04402F022D4 +:400B4600E4907F93F0907F9C7430F0E4907F96F0907F9574C0F0907F9E743FF0907F987418F0E4F58E907FDF74FFF0907FDEF0E4F5247518017B0074242518F9E43400FA8B +:400B8600E4120EE00518E518B409EA753A01E4F538F513F536C207C20BC205C200C209C213907F987413F075440390C0007403F07F0CE4FD1211BF7F108F4212108F907FD8 +:400BC600987412F07F018F40EF440690C000F0907F987414F075468090C0007480F00FE4FD1211BFE4FF7EA3AD068D3E1211BF907F987411F090C000E4F07F057D7F121172 +:400C0600BF7F011212787F037D071211BF7F137D011211BF201B03020CC5752D017518017B00742D2518F9E43400FAE4120EE00518E518B409EA753B01E4F539F513F537B7 +:400C4600C208C20CC206C200C20AC213907F98740BF075450390C0007403F07F0CE4FD1212097F108F43121101907F98740AF07F018F41EF440690C000F0907F98740CF00E +:400C860075478090C0007480F00FE4FD121209E4FF7EA3AD068D3F121209907F987409F090C000E4F07F057D7F1212097F011212997F037D071212097F137D01121209D28D +:400CC6001222907F987410F0AF08E50DF582E50CF583C2AF058690C0000586E0A30586F00586DFF7D2AF22907F987410F0AF08E50DF582E50CF583C2AF058690C000E00568 +:400D060086F0A30586DFF70586D2AF22907F987408F0AF08E50DF582E50CF583C2AF058690C0000586E0A30586F00586DFF7D2AF22907F987408F0AF08E50DF582E50CF577 +:400D460083C2AF058690C000E00586F0A30586DFF70586D2AF227400F58690FDA57C05A3E582458370F922907FD6E04480F0438701000000000022D219907F92E04402F00A +:400D8600907FAEE0FFD39210E433FEEF4EF0D2E843D820907FDE7401F0907FDFF0907FAB74FFF0907FA9F0907FAAF05391EF907FAFE04401F0907FAEE0440DF0D2AFD21A56 +:400DC600121253C211E4F50BF513C217C212907FA104F0907FD8E065176010301205D21A120046907FD8E0F5178008301205C21A120046301107C21112092180D63018D38A +:400E0600C21812139F80CC22787FE4F6D8FD758147020E55020D7DE493A3F8E493A34003F68001F208DFF48029E493A3F85407240CC8C333C4540F4420C8834004F4568031 +:400E46000146F6DFE4800B01020408102040809012BAE47E019360BCA3FF543F30E509541FFEE493A360010ECF54C025E060A840B8E493A3FAE493A3F8E493A3C8C582C828 +:400E8600CAC583CAF0A3C8C582C8CAC583CADFE9DEE780BEBB010689828A83E0225002E722BBFE02E32289828A83E49322BB010CE58229F582E5833AF583E0225006E92548 +:400EC60082F8E622BBFE06E92582F8E222E58229F582E5833AF583E49322BB010689828A83F0225002F722BBFE01F322D083D082F8E4937012740193700DA3A393F87401DE +:400F060093F5828883E4737402936860EFA3A3A380DF8F18E4F519751AFF751B19751C86AB1AAA1BA91C900001120EB3B4031DAF190519EFB5180122120E9A7E0029FFEEB6 +:400F46003AA907751AFFF51B891C80D47B007A007900228F1A050DE50DAE0C7002050C14F5828E83E51AF0120036050DE50DAC0C7002050C14F5828C83EFF01508E508607B +:400F86000A1213338F1AEF423680CA228F1A050DE50DAE0C7002050C14F5828E83E51AF012134B050DE50DAC0C7002050C14F5828C83EFF01508E508600A1213878F1AEFF8 +:400FC600423780CA22C0E0C083C082C085C084C086758600907FC4E4F05391EF907FAB7404F0D086D084D085D082D083D0E032C0E0C083C082C085C084C086758600D21123 +:401006005391EF907FAB7401F0D086D084D085D082D083D0E032C0E0C083C082C085C084C086758600D2185391EF907FAB7408F0D086D084D085D082D083D0E032907F9833 +:401046007413F090C00074BFF0907F987410F090C000EFF0907F987413F0E544547F90C000F022907F987413F090C00074BFF0907F987411F090C000EFF0907F987413F0C0 +:40108600E544547F90C000F022907F987413F090C00074BFF0907F987412F090C000EFF0907F987413F0E544547F90C000F022907F987413F090C00074BFF0907F987414B3 +:4010C600F090C000EFF0907F987413F0E544547F90C000F022907F987413F090C00074BFF0907F987416F090C000EFF0907F987413F0E544547F90C000F022907F98740BCC +:40110600F090C00074BFF0907F98740AF090C000EFF0907F98740BF0E545547F90C000F022907F98740BF090C00074BFF0907F987408F090C000EFF0907F98740BF0E54582 +:40114600547F90C000F022907F98740BF090C00074BFF0907F987409F090C000EFF0907F98740BF0E545547F90C000F022907F98740BF090C00074BFF0907F98740CF090C3 +:40118600C000EFF0907F98740BF0E545547F90C000F022907F98740BF090C00074BFF0907F98740EF090C000EFF0907F98740BF0E545547F90C000F022907F987413F0E5CC +:4011C60044547F90C000F0907F987417F090C000EFF0907F987415F090C000EDF02212131B8F1A12131B8F1BE51A651B601212131B8F1AE51A651B600712131B8F1B80E8ED +:40120600AF1A22907F98740BF0E545547F90C000F0907F98740FF090C000EFF0907F98740DF090C000EDF02212136F8F1A12136F8F1BE51A651B601212136F8F1AE51A65AD +:401246001B600712136F8F1B80E8AF1A22907FD6E054FBF0E04408F0301A04E04402F07FF47E011212D6907FD6E054F7F0E04404F022AE07E4FFE53E547FFD1211BF907F2F +:40128600987411F090C000EEF0E4E53E4480FD1211BF22AE07E4FFE53F547FFD121209907F987409F090C000EEF0E4E53F4480FD12120922050E02000000000314030000DF +:4012C600C111C118C195C110C116010A00C19B008E188F19E5191519AE18700215184E6005120D5C80EE22907F987411F090C000E0FF2253D8EF32000000020FF500021367 +:401306000400020FCB0002101C907F987412F090C000E0FF22907F987413F090C000E0FF22907F987414F090C000E0FF22907F987415F090C000E0FF22907F987416F0902A +:40134600C000E0FF22907F987408F090C000E0FF22907F987409F090C000E0FF22907F98740AF090C000E0FF22907F98740BF090C000E0FF22907F98740CF090C000E0FFCA +:4013860022907F98740DF090C000E0FF22907F98740EF090C000E0FF22120003120D6D120B462200000000000000000000000000000000000000000000000000000000000C +:4013C60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E7 +:4014060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A6 +:401446000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000066 +:401486000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000026 +:4014C60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E6 +:4015060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A5 +:401546000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000065 +:401586000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000025 +:4015C60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E5 +:4016060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A4 +:401646000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064 +:401686000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024 +:4016C60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E4 +:4017060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A3 +:401746000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000063 +:401786000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000023 +:4017C60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E3 +:4018060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A2 +:401846000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000062 +:401886000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022 +:4018C6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012011001FF00BF +:401906000040CD06150100000102000209027400010100A032090400000EFF0000000705010240000007050202400000070503024000000705040240000007050502400071 +:4019460000070506024000000705070240000007058102400001070582024000010705830240000107058402400001070585024000010705860240000107058702400001F3 +:401986000403090448034B00650079007300700061006E002C002000610020006400690076006900730069006F006E0020006F006600200049006E006E006F005300790040 +:4019C6007300200049006E0063002E0036034B00650079007300700061006E0020005500530042002000530065007200690061006C002000410064006100700074006500F9 +:041A0600720000006A +:00000001FF + + The firmware contained herein is + + Copyright (C) 1999-2001 + Keyspan, A division of InnoSys Incorporated ("Keyspan") + + as an unpublished work. This notice does not imply unrestricted or + public access to the source code from which this firmware image is + derived. Except as noted below this firmware image may not be + reproduced, used, sold or transferred to any third party without + Keyspan's prior written consent. All Rights Reserved. + + Permission is hereby granted for the distribution of this firmware + image as part of a Linux or other Open Source operating system kernel + in text or binary form as required. + + This firmware may not be modified and may only be used with + Keyspan hardware. Distribution and/or Modification of the + keyspan.c driver which includes this firmware, in whole or in + part, requires the inclusion of this statement." diff --git a/firmware/keyspan/usa28xb.HEX b/firmware/keyspan/usa28xb.HEX new file mode 100644 index 0000000..07cb708 --- /dev/null +++ b/firmware/keyspan/usa28xb.HEX @@ -0,0 +1,142 @@ +:0300330002002D9B +:04002D0053D8EF3283 +:10004600300918121333EFC3953C40030200D890D1 +:100056007FBF7401F0C209C200807730033B907FF6 +:10006600C6E020E16D121333EFC394405064907ED6 +:1000760040E0139209907FC7E014F5192000116043 +:100086000FF5087E7E7F41750C7E750D41120CCCF6 +:10009600C203E4907FC7F08039907FC8E020E13248 +:1000A600121333EFC394405029907DC0E013920998 +:1000B600907FC9E014F519200011600FF5087E7DC8 +:1000C6007FC1750C7D750DC1120CCCD203E4907FF7 +:1000D600C9F0907FB6E030E1030201601211F58F9E +:1000E6001912133F8F36E519C3953A500F12131B99 +:1000F600EF30E008E53620E703300B5EC20BE5196A +:0C003600907F987410F090C000E0FF2252 +:03004300021300A5 +:10000300C0E0C083C082C085C084C086758600906E +:100013007FC4E4F05391EF907FAB7404F0D086D0AB +:0A00230084D085D082D083D0E03273 +:03000000020E12DB +:400106006058B48003433602E53630E726E519D3942040037519208519087E7E7F80750C7E750D80AF36120F5DE51925E0907FB7F08027E519D3943F400375193F851908C2 +:40014600907E80E536F07E7E7F81750C7E750D81120CF1E51904907FB7F0907FCEE030E1062005030203C1E4F51874402518F582E4347CF583E0FFE5187C007B017A7E79AF +:40018600002400F9EC347EFAEF120EE40518E518B420D7907E00E06068907E03E060247F01E4FD1211D07F037DCD1211D0434680907F987414F090C000E546F0E4907E13F6 +:4001C600F08030907E01E0FF121054907E02E0FF12107A7F01907E11E0FD1211D07F037D071211D0434680907F987414F090C000E546F0907F987412F0E540440690C00093 +:40020600F0907E03E07006907E13E07008E4907E13F07525FF907E05E06012A3E0543FF544907F987413F090C000E544F0907E07E0602BA3E06005434280800353427F53C8 +:4002460042FC907E09E06011434202A3E0FF1210C6907E0BE0FF1210ECAF421210A0907E03E0600853427FAF421210A0907E0CE06018A3E0600543460280035346FD907FFB +:40028600987414F090C000E546F0907E0EE06018A3E0600543460180035346FE907F987414F090C000E546F0907E12E0F53AA3E013920DA3E0F53CA3E06005434610800317 +:4002C6005346EF907F987414F090C000E546F0907E16E060325344BF907F987413F0E544547F90C000F0907F987411F012130FEF54FE90C000F0533EFDE4FFAD3E1211D080 +:40030600E4F52AF529D207907E17E0600F433E02E4FFAD3E1211D0752901D207907E18E06010907F987412F0E540440490C000F0D200907E19E06011434440907F9874130E +:40034600F0E544547F90C000F0907E1AE0600F533EFEE4FFAD3E1211D0752B01D207907E1BE0600F433E01E4FFAD3E1211D0E4F52BD207907E1CE0600E907F987412F0E5F8 +:4003860040440290C000F0907E1DE06002D20B907E1EE06008752C01E4F538D207907E1FE06011907FD77411F07431F07415F07435F0D203C205E4907FCFF0301A54E5389E +:4003C6006002153820134BE513D3940040041513804075130A301B02D21312130FEF5401F519652A600585192AD20712134BEF54806480F51965266005851926D207300D71 +:400406001112134BEF5410F51965256005851925D207201B030207F0300A18121387EFC3953D40030204B0907FC17401F0C20AC200807730043B907FCAE020E16D1213879B +:40044600EFC394405064907D40E013920A907FCBE014F519200011600FF5087E7D7F41750C7D750D41120D16C204E4907FCBF08039907FCCE020E132121387EFC394405099 +:4004860029907CC0E013920A907FCDE014F519200011600FF5087E7C7FC1750C7C750DC1120D16D204E4907FCDF0907FBAE030E10302053812123F8F191213938F37E5197F +:4004C600C3953B500F12136FEF30E008E53720E703300C5EC20CE5196058B48003433702E53730E726E519D3942040037519208519087E7D7F80750C7D750D80AF37120FFC +:4005060096E51925E0907FBBF08027E519D3943F400375193F851908907D80E537F07E7D7F81750C7D750D81120D3BE51904907FBBF0907FD0E030E106200603020799E431 +:40054600F51874C02518F582E4347BF583E0FFE5187C007B017A7E79202420F9EC347EFAEF120EE40518E518B420D7907E20E06068907E23E060247F01E4FD12121A7F03F7 +:400586007DCD12121A434780907F98740CF090C000E547F0E4907E33F08030907E21E0FF121138907E22E0FF12115E7F01907E31E0FD12121A7F037D0712121A43478090AA +:4005C6007F98740CF090C000E547F0907F98740AF0E541440690C000F0907E23E07006907E33E07008E4907E33F0752EFF907E25E06012A3E0543FF545907F98740BF090EB +:40060600C000E545F0907E27E0602BA3E06005434380800353437F5343FC907E29E06011434302A3E0FF121184907E2BE0FF1211AAAF43121112907E23E0600853437FAFA0 +:4006460043121112907E2CE06018A3E0600543470280035347FD907F98740CF090C000E547F0907E2EE06018A3E0600543470180035347FE907F98740CF090C000E547F0B4 +:40068600907E32E0F53BA3E013920EA3E0F53DA3E0600543471080035347EF907F98740CF090C000E547F0907E36E060325345BF907F98740BF0E545547F90C000F0907F79 +:4006C600987409F0121363EF54FE90C000F0533FFDE4FFAD3F12121AE4F533F532D208907E37E0600F433F02E4FFAD3F12121A753201D208907E38E06010907F98740AF0EB +:40070600E541440490C000F0D200907E39E06011434540907F98740BF0E545547F90C000F0907E3AE0600F533FFEE4FFAD3F12121A753401D208907E3BE0600F433F01E4C9 +:40074600FFAD3F12121AE4F534D208907E3CE0600E907F98740AF0E541440290C000F0907E3DE06002D20C907E3EE06008753501E4F539D208907E3FE06011907FD7741369 +:40078600F07433F07416F07436F0D204C206E4907FD1F0301A54E5396002153930134BE513D3940040041513804075130A301B02C213121363EF5401F51965336005851998 +:4007C60033D20812139FEF54806480F519652F600585192FD208300E1112139FEF5410F519652E600585192ED208301A2A907FD2E020E123907B40E06009E0F515907B4297 +:40080600E0F516907B41E06009907FD77417F07437F0E4907FD3F0907FC2E030E103020924E50A7040300739E5387035C207F5187E007B0074242518F9EE3400FA120E9E44 +:40084600FF74802518F582E4347BF583EFF00518E518B409DB907FC37409F0753810E4F52C750A0122E50A64017040300839E5397035C208F5187E007B00742D2518F9EEBF +:400886003400FA120E9EFF74802518F582E4347BF583EFF00518E518B409DB907FC37409F0753910E4F535750A0222E50A6402703630142FC214F5187E007B00740E25184C +:4008C600F9EE3400FA120E9EFF74802518F582E4347BF583EFF00518E518B405DB907FC37405F0750A0322E51560301515E4F5187E007B0074142518F9EE3400FA120E9ECB +:40090600FF74802518F582E4347BF583EFF00518E518B403DB907FC37403F0E4F50A22907FE9E0120EF60A0C000A80010AEC0309480609FF0809F90909E10A09F00B000044 +:400946000B3B907FEBE024FE6019146061240260030209D77419907FD4F07400907FD5F0020B42907FEAE070047F0280027F03758282758319EFF075827B758319F07582DA +:4009860074758319F0758266758319F0758258758319F0907FEAE004758217758319F07419907FD4F07412907FD5F0020B42907FEAE0FF120F1CEA49600DEA907FD4F0E9BE +:4009C600907FD5F0020B42907FB4E04401F0020B42907FB4E04401F0020B42907F00E509F0907FB57401F0020B42907FEAE0F509020B42120B4A020B42907F007401F0903B +:400A06007FB5F0020B42907FE8E0247F60241460312402705BA210E433FF25E0FFA216E4334F907F00F0E4A3F0907FB57402F0020B42E4907F00F0A3F0907FB57402F0022E +:400A46000B42907FECE0F45480FFC4540FFFE054072F25E024B4F582E4347FF583E054FD907F00F0E4A3F0907FB57402F0020B42907FB4E04401F0020B42907FE8E024FE4E +:400A8600601D24026003020B42907FEAE0B40105C210020B42907FB4E04401F0020B42907FEAE07038907FECE0F45480FFC4540FFFE054072F25E024B4F582E4347FF583EA +:400AC600E4F0907FECE05480FF131313541FFFE054072F907FD7F0E04420F0805F907FB4E04401F08056907FE8E024FE60182402704A907FEAE0B40104D210803F907FB47B +:400B0600E04401F08036907FEAE07020907FECE0F45480FFC4540FFFE054072F25E024B4F582E4347FF5837401F08010907FB4E04401F08007907FB4E04401F0907FB4E017 +:400B46004402F022E4907F93F0907F9C7430F0E4907F96F0907F9574C0F0907F9E743FF0907F987418F0E4F58E907FDF74FFF0907FDEF0E4F5247518017B0074242518F945 +:400B8600E43400FAE4120EE40518E518B409EA753A01E4F538F513F536C207C20BC205C200C209C213907F987413F075440390C0007403F07F0CE4FD1211D07F108F42125F +:400BC60010A0907F987412F07F018F40EF440690C000F0907F987414F075468090C0007480F00FE4FD1211D0E4FF7EA3AD068D3E1211D0907F987411F090C000E4F07F05B0 +:400C06007D7F1211D07F011212897F037D071211D07F137D091211D0201B03020CC9752D017518017B00742D2518F9E43400FAE4120EE40518E518B409EA753B01E4F53978 +:400C4600F513F537C208C20CC206C200C20AC213907F98740BF075450390C0007403F07F0CE4FD12121A7F108F43121112907F98740AF07F018F41EF440690C000F0907FC0 +:400C860098740CF075478090C0007480F00FE4FD12121AE4FF7EA3AD068D3F12121A907F987409F090C000E4F07F057D7F12121A7F011212AA7F037D0712121A7F137D0927 +:400CC60012121AD21222907F987410F0AF08E50DF582E50CF583C2AF058690C0000586E0A30586F00586DFF7D2AF22907F987410F0AF08E50DF582E50CF583C2AF058690FD +:400D0600C000E00586F0A30586DFF70586D2AF22907F987408F0AF08E50DF582E50CF583C2AF058690C0000586E0A30586F00586DFF7D2AF22907F987408F0AF08E50DF53A +:400D460082E50CF583C2AF058690C000E00586F0A30586DFF70586D2AF227400F58690FDA57C05A3E582458370F922907FD6E04480F0438701000000000022D219907F92B8 +:400D8600E04402F0907FAEE0FFD39210E433FEEF4EF0D2E843D820907FDE7401F0907FDFF0907FAB74FFF0907FA9F0907FAAF05391EF907FAFE04401F0907FAEE0440DF0AD +:400DC600D2AFD21A121264C211E4F50BF513C217C212907FA104F0907FD8E065176010301205D21A120046907FD8E0F5178008301205C21A120046301107C21112092580F9 +:400E0600D63018D3C2181213AB80CC22787FE4F6D8FD758147020E59020D81E493A3F8E493A34003F68001F208DFF48029E493A3F85407240CC8C333C4540F4420C88340FA +:400E460004F456800146F6DFE4800B01020408102040809012CBE47E019360BCA3FF543F30E509541FFEE493A360010ECF54C025E060A840B8E493A3FAE493A3F8E493A320 +:400E8600C8C582C8CAC583CAF0A3C8C582C8CAC583CADFE9DEE780BEBB010689828A83E0225002E722BBFE02E32289828A83E49322BB010CE58229F582E5833AF583E022D5 +:400EC6005006E92582F8E622BBFE06E92582F8E222E58229F582E5833AF583E49322BB010689828A83F0225002F722BBFE01F322D083D082F8E4937012740193700DA3A37A +:400F060093F8740193F5828883E4737402936860EFA3A3A380DF8F18E4F519751AFF751B19751C86AB1AAA1BA91C900001120EB7B4031DAF190519EFB5180122120E9E7EC4 +:400F46000029FFEE3AA907751AFFF51B891C80D47B007A007900228F1A050DE50DAE0C7002050C14F5828E83E51AF0120036050DE50DAC0C7002050C14F5828C83EFF015BA +:400F860008E508600A12133F8F1AEF423680CA228F1A050DE50DAE0C7002050C14F5828E83E51AF0121357050DE50DAC0C7002050C14F5828C83EFF01508E508600A1213AA +:400FC600938F1AEF423780CA22E4907F93F0907F9C7430F0E4907F96F0907F95F0907F9E7427F0907F987420F0907F9E7407F0E4907F94F0907F9D74FFF0E4907F97F0227C +:40100600C0E0C083C082C085C084C086758600D2115391EF907FAB7401F0D086D084D085D082D083D0E032C0E0C083C082C085C084C086758600D2185391EF907FAB74087E +:40104600F0D086D084D085D082D083D0E032907F987413F090C00074BFF0907F987410F090C000EFF0907F987413F0E544547F90C000F022907F987413F090C00074BFF00C +:40108600907F987411F090C000EFF0907F987413F0E544547F90C000F022907F987413F090C00074BFF0907F987412F090C000EFF0907F987413F0E544547F90C000F0220A +:4010C600907F987413F090C00074BFF0907F987414F090C000EFF0907F987413F0E544547F90C000F022907F987413F090C00074BFF0907F987416F090C000EFF0907F9807 +:401106007413F0E544547F90C000F022907F98740BF090C00074BFF0907F98740AF090C000EFF0907F98740BF0E545547F90C000F022907F98740BF090C00074BFF0907FFA +:40114600987408F090C000EFF0907F98740BF0E545547F90C000F022907F98740BF090C00074BFF0907F987409F090C000EFF0907F98740BF0E545547F90C000F022907F71 +:4011860098740BF090C00074BFF0907F98740CF090C000EFF0907F98740BF0E545547F90C000F022907F98740BF090C00074BFF0907F98740EF090C000EFF0907F98740BFD +:4011C600F0E545547F90C000F022907F987413F0E544547F90C000F0907F987417F090C000EFF0907F987415F090C000EDF0221213278F1A1213278F1BE51A651B60121292 +:4012060013278F1AE51A651B60071213278F1B80E8AF1A22907F98740BF0E545547F90C000F0907F98740FF090C000EFF0907F98740DF090C000EDF02212137B8F1A121325 +:401246007B8F1BE51A651B601212137B8F1AE51A651B600712137B8F1B80E8AF1A22907FD6E054FBF0E04408F0301A04E04402F07FF47E011212E7907FD6E054F7F0E044E1 +:4012860004F022AE07E4FFE53E547FFD1211D0907F987411F090C000EEF0E4E53E4480FD1211D022AE07E4FFE53F547FFD12121A907F987409F090C000EEF0E4E53F448095 +:4012C600FD12121A22050E02000000000314030000C111C118C195C110C116010A00C19B008E188F19E5191519AE18700215184E6005120D6080EE2200000210060002137E +:4013060004000200030002102D907F987411F090C000E0FF22907F987412F090C000E0FF22907F987413F090C000E0FF22907F987414F090C000E0FF22907F987415F090F5 +:40134600C000E0FF22907F987416F090C000E0FF22907F987408F090C000E0FF22907F987409F090C000E0FF22907F98740AF090C000E0FF22907F98740BF090C000E0FFC0 +:4013860022907F98740CF090C000E0FF22907F98740DF090C000E0FF22907F98740EF090C000E0FF22120FCF120D71120B4A220000000000000000000000000000000000C1 +:4013C60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E7 +:4014060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A6 +:401446000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000066 +:401486000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000026 +:4014C60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E6 +:4015060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A5 +:401546000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000065 +:401586000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000025 +:4015C60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E5 +:4016060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A4 +:401646000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064 +:401686000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024 +:4016C60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E4 +:4017060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A3 +:401746000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000063 +:401786000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000023 +:4017C60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E3 +:4018060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A2 +:401846000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000062 +:401886000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022 +:4018C6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012011001FF00BF +:401906000040CD06100100000102000209027400010100A032090400000EFF0000000705010240000007050202400000070503024000000705040240000007050502400076 +:4019460000070506024000000705070240000007058102400001070582024000000705830240000107058402400001070585024000010705860240000107058702400001F4 +:401986000403090448034B00650079007300700061006E002C002000610020006400690076006900730069006F006E0020006F006600200049006E006E006F005300790040 +:4019C6007300200049006E0063002E0036034B00650079007300700061006E0020005500530042002000530065007200690061006C002000410064006100700074006500F9 +:041A0600720000006A +:00000001FF + + The firmware contained herein is + + Copyright (C) 1999-2001 + Keyspan, A division of InnoSys Incorporated ("Keyspan") + + as an unpublished work. This notice does not imply unrestricted or + public access to the source code from which this firmware image is + derived. Except as noted below this firmware image may not be + reproduced, used, sold or transferred to any third party without + Keyspan's prior written consent. All Rights Reserved. + + Permission is hereby granted for the distribution of this firmware + image as part of a Linux or other Open Source operating system kernel + in text or binary form as required. + + This firmware may not be modified and may only be used with + Keyspan hardware. Distribution and/or Modification of the + keyspan.c driver which includes this firmware, in whole or in + part, requires the inclusion of this statement." diff --git a/firmware/keyspan/usa49w.HEX b/firmware/keyspan/usa49w.HEX new file mode 100644 index 0000000..5e5b3d1 --- /dev/null +++ b/firmware/keyspan/usa49w.HEX @@ -0,0 +1,145 @@ +:030033000218FBB5 +:0C0036009078417401F090C000E0FF22BF +:10004600E4FF74402FF582E4347BF583E0FEE5158A +:100056002404FDE43514FAA9057B01EF7C0029F997 +:10006600EC3AFAEE1211F10FBF22D7E5152405F589 +:1000760082E43514F583E07003020134E5152409A2 +:10008600F582E43514F583E0700EE515240AF58251 +:10009600E43514F583E060187F01E4FD121647E5A8 +:1000A600152431F582E43514F583E054CFF0804110 +:1000B600E5152406F582E43514F583E0FF1216767D +:1000C600E5152407F582E43514F583E0FF120003F5 +:1000D6007F01E5152408F582E43514F583E0FD1269 +:1000E6001647E5152431F582E43514F583E04430EE +:1000F600F0E5152439F582E43514F583E04480F003 +:100003009078417403F090C00074BFF0907841740D +:1000130001F090C000EFF09078417403F0E51524EF +:1000230037F582E43514F583E0547F90C000F02265 +:03004300021B009D +:0300000002109556 +:400106009078417404F0E5152439F582E43514F583E090C000F09078417402F0E5152436F582E43514F583E0440690C000F0E515240BF582E43514F583E06032E515240C0B +:40014600F582E43514F583E0543FFFE5152437F582E43514F583EFF09078417403F0E5152437F582E43514F583E090C000F0E515240DF582E43514F583E0700302024FE588 +:40018600152417F582E43514F583E06011E5152432F582E43514F583E04404F0800FE5152432F582E43514F583E054FBF0E4FFE5152432F582E43514F583E0FD121647E55E +:4001C60015240EF582E43514F583E06011E5152433F582E43514F583E04480F0800FE5152433F582E43514F583E0547FF0E5152433F582E43514F583E054FCF0E515240FEB +:40020600F582E43514F583E0602FE5152433F582E43514F583E04402F0E5152410F582E43514F583E0FF1215E7E5152411F582E43514F583E0FF121617E5152433F582E45E +:400246003514F583E0FF1215B7E5152414F582E43514F583E06044E5152415F582E43514F583E06011E5152439F582E43514F583E04401F0800FE5152439F582E43514F581 +:4002860083E054FEF09078417404F0E5152439F582E43514F583E090C000F0E5152412F582E43514F583E06044E5152413F582E43514F583E06011E5152439F582E43514E6 +:4002C600F583E04402F0800FE5152439F582E43514F583E054FDF09078417404F0E5152439F582E43514F583E090C000F0E5152416F582E43514F583E0FFE5152435F5820A +:40030600E43514F583EFF0E5152417F582E43514F583E030E011E5152431F582E43514F583E04440F0800FE5152431F582E43514F583E054BFF0E5152418F582E43514F576 +:4003460083E0FFE515243BF582E43514F583EFF0E5152419F582E43514F583E06011E5152439F582E43514F583E04410F0800FE5152439F582E43514F583E054EFF0907869 +:40038600417404F0E5152439F582E43514F583E090C000F0E515241AF582E43514F583E0606BE5152437F582E43514F583E054BFF09078417403F0E5152437F582E43514FF +:4003C600F583E0547F90C000F09078417401F0120036EF54FE90C000F0E5152432F582E43514F583E054FDFFF0FDE4FF121647E515242CF582E43514F583E4F0E515242BB7 +:40040600F582E43514F583E4F0E5164213E515241BF582E43514F583E0700EE5152425F582E43514F583E06028E5152432F582E43514F583E04402FFF0FDE4FF121647E547 +:4004460015242BF582E43514F5837401F0E5164213E515241CF582E43514F583E0FF700EE5152425F582E43514F583E0602A9078417402F0E5152436F582E43514F583E0C6 +:40048600440490C000F0EF600FE5152431F582E43514F583E04404F0E515241DF582E43514F583E06027E5152437F582E43514F583E04440F09078417403F0E5152437F550 +:4004C60082E43514F583E0547F90C000F0E515241EF582E43514F583E06028E5152432F582E43514F583E054FEFFF0FDE4FF121647E515242DF582E43514F5837401F0E58F +:40050600164213E515241FF582E43514F583E0700EE5152425F582E43514F583E06027E5152432F582E43514F583E04401FFF0FDE4FF121647E515242DF582E43514F58397 +:40054600E4F0E5164213E5152420F582E43514F583E0700EE5152425F582E43514F583E060189078417402F0E5152436F582E43514F583E0440290C000F0E5152421F582A7 +:40058600E43514F583E0600FE5152431F582E43514F583E04402F0E5152422F582E43514F583E0601FE515242EF582E43514F5837401F0E515243AF582E43514F583E4F0F0 +:4005C600E5164213E5152423F582E43514F583E06003121885E5152424F582E43514F583E0601BE5152431F582E43514F583E04408F0907F98E0FFE516F4FEEF5EF0E5156C +:400606002425F582E43514F583E06016E5152431F582E43514F583E054F7F0907F98E04516F022907FE9E012120307830007F701086303064C0607740807680907500A07CE +:400646005F0B000008B2907FEBE024FE601C1470030206FE240260030207467419907FD4F07400907FD5F00208B9907FEAE004758217758319F0907FEAE030E0047F03802D +:40068600027F02758282758319EFF075826D758319F0758266758319F075825F758319F0758258758319F0907FEAE030E1047F6480027F3275821A758319EFF0907FEFE0FB +:4006C600FE907FEEE07C002400F519EC3EF518753319753412758214758319E0752700F528D3E5289519E527951840068518278519281213120208B9907FEAE0FF12142BC9 +:40070600EA496032907FEEE0751800F519AE02AF018E338F348F828E83E0FEA3E08E27F528D39519E527951840068518278519281213120208B9907FB4E04401F00208B99E +:40074600907FB4E04401F00208B9907F00E525F0907FB57401F00208B9907FEAE0F5250208B9907FEAE0F522120AB80208B9907F00E522F0907FB57401F00208B9907FE8BD +:40078600E0247F60241460312402705BA200E433FF25E0FFA206E4334F907F00F0E4A3F0907FB57402F00208B9E4907F00F0A3F0907FB57402F00208B9907FECE0F4548063 +:4007C600FFC4540FFFE054072F25E024B4F582E4347FF583E054FD907F00F0E4A3F0907FB57402F00208B9907FB4E04401F00208B9907FE8E024FE601D240260030208B910 +:40080600907FEAE0B40105C2000208B9907FB4E04401F00208B9907FEAE07038907FECE0F45480FFC4540FFFE054072F25E024B4F582E4347FF583E4F0907FECE05480FF67 +:40084600131313541FFFE054072F907FD7F0E04420F0805F907FB4E04401F08056907FE8E024FE60182402704A907FEAE0B40104D200803F907FB4E04401F08036907FEACB +:40088600E07020907FECE0F45480FFC4540FFFE054072F25E024B4F582E4347FF5837401F08010907FB4E04401F08007907FB4E04401F0907FB4E04402F022E511540F703D +:4008C600030209B21216A5EF20E175121703EF14F5191218CCEF2519FFE433FEC3EF9480EE648094805059851582851483E0FEA3E0FFF5828E83E030E011E5152431F58250 +:40090600E43514F583E04480F0800FE5152431F582E43514F583E0547FF0E5152431F582E43514F583E020E212E519600EF523EF2401F52DE43EF52C1214ADE4FF1214E3C0 +:40094600E5152431F582E43514F583E030E75D1218CCE515243BF582E43514F583E0FEEFC39E5048E515242FF582E43514F5837401F0E5152431F582E43514F583E0547B99 +:40098600F0E515243AF582E43514F583E4F0E5164213907FC2E030E110E5152426F582E43514F583E0F52480031212A11216D4EF30E103020AB71217D28F191218D8E515D5 +:4009C6002438F582E43514F583EFF0E5152435F582E43514F583E0FFE519C39F50281218B4EF30E021E5152438F582E43514F583E020E712E5152431F582E43514F583E0C0 +:400A060020E103020AB7E5152431F582E43514F583E054FDF0E5197003020AB7B4800FE5152438F582E43514F583E04402F0E5152438F582E43514F583E0FF30E729E519CF +:400A4600D394204003751920851923851582851483A3A3E0FCA3E08C2CF52D1213DDE51925E0FF12151922E519D3943F400375193F851923E5152438F582E43514F583E053 +:400A8600FF851582851483A3A3E0FCA3E0F5828C83EFF0851582851483A3A3E0FEA3E02401F52DE43EF52C12146CE51904FF12151922E4907F93F0907F9C74F0F0907F9677 +:400AC600F0E4907F94F090784A04F0F58E907F9574C0F0907F9E743FF0907F98741FF090784374FFF0E4907841F0907FDF749FF0907FDEF0907F92E04402F07E7B7FC07581 +:400B0600147B7515C0907F9674EFF0751601120F127E7B7FC075147B7515C0907F9674EFF0751601E5152426F582E43514F583E4F07E7E7F40851582851483747EF0A374F5 +:400B460040F07E7E7F80851582851483A3A3747EF0A37480F07E7C7F0075147C751500907F9674DFF0751602120F127E7C7F0075147C751500907F9674DFF0751602E51536 +:400B86002426F582E43514F5837401F07E7D7FC0851582851483747DF0A374C0F07E7E7F00851582851483A3A3747EF0A37400F07E7C7F4075147C751540907F9674BFF018 +:400BC600751604120F127E7C7F4075147C751540907F9674BFF0751604E5152426F582E43514F5837402F07E7D7F40851582851483747DF0A37440F07E7D7F8085158285D3 +:400C06001483A3A3747DF0A37480F07E7C7F8075147C751580907F96747FF0751608120F127E7C7F8075147C751580907F96747FF0751608E5152426F582E43514F583741C +:400C460003F07E7C7FC0851582851483747CF0A374C0F07E7D7F00851582851483A3A3747DF0A37400F0C20AC209D20222E510045403F51014601F1460311460432403701B +:400C8600527E7B7FC075147B7515C0907F9674EFF0751601803D7E7C7F0075147C751500907F9674DFF075160280287E7C7F4075147C751540907F9674BFF075160480137E +:400CC6007E7C7F8075147C751580907F96747FF0751608E53255167003020E11E516F4FF5232E526547FFE700FE52A55166024907F98E04516F0801BBE2018E5152431F543 +:400D060082E43514F583E030E309E4F52A907F98E05FF0E515243AF582E43514F583E06003E014F0E5152434F582E43514F583E06003E014F0E06003020E11740AF012009D +:400D460036EF5401FFF519E515242CF582E43514F583E06F6007E519F0E51642131218E48F19E5152427F582E43514F583E0FFE5195410FE6F6006EEF0E5164213E5152415 +:400D860028F582E43514F583E0FFE5195480FE6F6006EEF0E5164213E5152429F582E43514F583E0FFE5195420FE6F6015EEF0E5152431F582E43514F583E030E404E51665 +:400DC6004213E5125516FFF519E515242AF582E43514F583E06F6016E519F0E5152431F582E43514F583E030E504E5164213E5175516FFF519E5152430F582E43514F58380 +:400E0600E06F6007E519F0E516421322300903020F11E52414602A14604114605814606F24046003020ECF7E7B7FC075147B7515C0907F9674EFF07516011212A17524015A +:400E4600227E7C7F0075147C751500907F9674DFF07516021212A1752402227E7C7F4075147C751540907F9674BFF07516041212A1752403227E7C7F8075147C7515809051 +:400E86007F96747FF07516081212A175240422300433C2045313DFE4F5197E007B00742E2519F9EE3400FA1211ABFF74802519F582E4347BF583EFF00519E519B403DB902D +:400EC6007FC37403F075240522E536603BD5360A5313EF300A04D209C20AE4F5197E007B0074352519F9EE3400FA1211ABFF74802519F582E4347BF583EFF00519E519B467 +:400F060003DB907FC37403F0E4F52422E4F51A7E007B01E515251AF9EE3514FAE41211F1051AE51AB43CE8E5152435F582E43514F5837401F09078417403F0E5152437F569 +:400F460082E43514F5837403F090C000F07F0CE4FD1216477F10E5152433F582E43514F583EFF01215B79078417402F07F01E5152436F582E43514F583EFF0440690C000F1 +:400F8600F09078417404F0E5152439F582E43514F5837480F090C000F00FE4FD121647E4FF7EA3E5152432F582E43514F583EEF0FD1216479078417401F090C000E4F07F89 +:400FC600057D7F1216477F0112154F7F037D071216472253133F907BF1E030E3167E7B7FC075147B7515C0907F9674EFF07516011208C1907C31E030E3167E7C7F00751417 +:401006007C751500907F9674DFF07516021208C1907C71E030E3167E7C7F4075147C751540907F9674BFF07516041208C1907CB1E030E3167E7C7F8075147C751580907F37 +:4010460096747FF07516081208C10511E511540FF518701F907841E054F7F0907F99E0F517907841E04408F0907F99E0F4F51212112122E518B40104120C7322907FC2E018 +:4010860020E108E5136004120E1222120C7322787FE4F6D8FD7581370210DC021229E493A3F8E493A34003F68001F208DFF48029E493A3F85407240CC8C333C4540F44207E +:4010C600C8834004F456800146F6DFE4800B0102040810204080901850E47E019360BCA3FF543F30E509541FFEE493A360010ECF54C025E060A840B8E493A3FAE493A3F8A2 +:40110600E493A3C8C582C8CAC583CAF0A3C8C582C8CAC583CADFE9DEE780BE907FD2E030E1030211AAC209907B40E014602614603B14605024836064248070637E7B7FC01C +:4011460075147B7515C0907F9674EFF0751601120046804B7E7C7F0075147C751500907F9674DFF075160212004680337E7C7F4075147C751540907F9674BFF075160412FB +:401186000046801B7E7C7F8075147C751580907F96747FF0751608120046800312175CE4907FD3F022BB010689828A83E0225002E722BBFE02E32289828A83E49322BB0189 +:4011C6000CE58229F582E5833AF583E0225006E92582F8E622BBFE06E92582F8E222E58229F582E5833AF583E49322BB010689828A83F0225002F722BBFE01F322D083D086 +:4012060082F8E4937012740193700DA3A393F8740193F5828883E4737402936860EFA3A3A380DF907FAEE0FFD39200E433FEEF4EF0D2E843D820907FDE7401F0907FDFF08E +:40124600907FAB74FFF0907FA9F0907FAAF05391EF907FAF7401F0907FAE740DF0D2AFD20B121814C201E4F52BF531C207C2027529F0907FD8E06526600675320FE0F526C9 +:40128600300203120FD9300107C20112062980E23008DFC20812183580D822E5135516606AE515243AF582E43514F583E0705CE516F45213E5152426FFE43514FEE4FD0FA2 +:4012C600EFAA0670010E14F5828A83E0FC74802DF582E4347BF583ECF00DBD0BE2907FC3740BF0E515243AF582E43514F5837410F0E515242EF582E43514F583E4F0E515C1 +:40130600242FF582E43514F583E4F022E52845276057AE27AF28D3EF9440EE940040047E007F40C3E5289FF528E5279EF527E4FDEDC39FE49E501F853482853383E0FC7494 +:40134600002DF582E4347FF583ECF00D0534E5347002053380DA907FA97401F0907FACE04401F0907FB5EFF022907FACE054FEF0E4907FB5F022E4907F93F0907F9C74F0A7 +:40138600F0907F96F0E490784AF0907F94F0907F9D74FFF0E4907F97F0300007E52954F0FF80027F00EF4408907841F0E4907F98F0907F95F0907F9E74FFF0E4907F98F0C9 +:4013C600907F93F0907F9C74F0F0E4907F96F0907F92E054FDF0228F1A052DE52DAE2C7002052C14F5828E83E51AF01218F0052DE52DAC2C7002052C14F5828C83EFF0159D +:4014060023E523601FE5152438F582E43514F583C083C082E0FE1218D88F1AEE4FD082D083F080B5228F1AE4F51B751CFF751D19751E86AB1CAA1DA91E9000011211C4B4E1 +:40144600031DAF1B051BEFB51A01221211AB7E0029FFEE3AA907751CFFF51D891E80D47B007A00790022E4907841F090784F74C0F0E4907850F0E52C907851F0AE2CE52DF8 +:40148600907852F0907854E523F09078577404F0907FE2E04410F0E054F7F0E4907855F0907855E060FA22E4907841F0E52C90784FF0AE2CE52D907850F090785174C0F081 +:4014C600E4907852F0907854E523F09078577404F0E4907855F0907855E060FA22E5152404F582E43514F583E014600F1460131460178000907FC7EFF08013907FC9EFF081 +:40150600800C907FCBEFF08005907FCDEFF0E516422A22E5152404F582E43514F583E014600F1460131460178000907FB7EFF08013907FB9EFF0800C907FBBEFF08005903B +:401546007FBDEFF0E516422A22AE07E4FFE5152432F582E43514F583E0547FFD1216479078417401F090C000EEF0E4E5152432F582E43514F583E04480FD12164722C0E0A0 +:40158600C0F0C083C082C085C084C086758600C0D075D0085391EF907FA97401F0121312D0D0D086D084D085D082D083D0F0D0E0329078417403F090C00074BFF0907841D0 +:4015C6007402F090C000EFF09078417403F0E5152437F582E43514F583E0547F90C000F0229078417403F090C00074BFF09078417404F090C000EFF09078417403F0E5156D +:401606002437F582E43514F583E0547F90C000F0229078417403F090C00074BFF09078417406F090C000EFF09078417403F0E5152437F582E43514F583E0547F90C000F0FF +:40164600229078417403F0E5152437F582E43514F583E0547F90C000F09078417407F090C000EFF09078417405F090C000EDF0229078417403F090C00074BFF0E4907841FA +:40168600F090C000EFF09078417403F0E5152437F582E43514F583E0547F90C000F022E5152404F582E43514F583E014600E1460111460148000907FC6E0FF22907FC8E015 +:4016C600FF22907FCAE0FF22907FCCE0FF22E5152404F582E43514F583E014600E1460111460148000907FB6E0FF22907FB8E0FF22907FBAE0FF22907FBCE0FF22E515249E +:4017060004F582E43514F583E014600E1460111460148000907FC7E0FF22907FC9E0FF22907FCBE0FF22907FCDE0FF22C0E0C083C082C085C084C086758600907FC4E4F096 +:401746005391EF907FAB7404F0D086D084D085D082D083D0E032907B41E0F536431310A3E06009907FD77417F07437F0907B43E0F537A3E054F0F529E06002D20A22C0E024 +:40178600C083C082C085C084C086758600D2015391EF907FAB7401F0D086D084D085D082D083D0E032C0E0C083C082C085C084C086758600D2085391EF907FAB7408F0D0F7 +:4017C60086D084D085D082D083D0E0321218C0AE071218C0AD07EE6D60101218C0AE07EE6D60071218C0AD0780ECAF06227400F58690FDA57C05A3E582458370F922907FD5 +:40180600D6E04480F0438701000000000022907FD6E04404F0E04408F0300B04E04402F07FF47E0112186B907FD6E054F7F02212137C121804907FD6E030E70A7F057E007D +:4018460012186B12189E120AB8220335800000032E810000C185C181C108C100C106012200012400008E188F19E5191519AE18700215184E60081217F31217F380EB22E545 +:40188600152404F582E43514F583E004FF4410907FD7F0EF4430F022907FD6E04401F07F0D7E0012186B907FD6E054FEF0229078417402F090C000E0FF229078417403F0D5 +:4018C60090C000E0FF229078417404F090C000E0FF229078417405F090C000E0FF229078417406F090C000E0FF22E4907841F090C000E0FF2253D8EF320012011001FF00AB +:401906000040CD060A0100000102000409027400010100A032090400000EFF000000070501024000000705020240000007050302400000070504024000000705050240007A +:4019460000070506024000000705070240000007058102400001070582024000010705830240000107058402400001070585024000010705860240000107058702400001F3 +:401986000403090448034B00650079007300700061006E002C002000610020006400690076006900730069006F006E0020006F006600200049006E006E006F005300790040 +:4019C6007300200049006E0063002E003603550053004200200034002D0070006F00720074002000530065007200690061006C00200041006400610070007400650072003C +:401A060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A0 +:401A46000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060 +:401A86000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020 +:401AC6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002178400021B26 +:151B06000400021732000217AB00021B1000021B1400021584BE +:00000001FF + + The firmware contained herein is + + Copyright (C) 1999-2001 + Keyspan, A division of InnoSys Incorporated ("Keyspan") + + as an unpublished work. This notice does not imply unrestricted or + public access to the source code from which this firmware image is + derived. Except as noted below this firmware image may not be + reproduced, used, sold or transferred to any third party without + Keyspan's prior written consent. All Rights Reserved. + + Permission is hereby granted for the distribution of this firmware + image as part of a Linux or other Open Source operating system kernel + in text or binary form as required. + + This firmware may not be modified and may only be used with + Keyspan hardware. Distribution and/or Modification of the + keyspan.c driver which includes this firmware, in whole or in + part, requires the inclusion of this statement." diff --git a/firmware/keyspan/usa49wlc.HEX b/firmware/keyspan/usa49wlc.HEX new file mode 100644 index 0000000..8406eb1 --- /dev/null +++ b/firmware/keyspan/usa49wlc.HEX @@ -0,0 +1,153 @@ +:017F920001ED +:030033000218FBB5 +:0D003600E51104907841F090C000E0FF2239 +:10004600E4FF74402FF582E4347BF583E0FEE5158A +:100056002404FDE43514FAA9057B01EF7C0029F997 +:10006600EC3AFAEE1211EC0FBF22D7E5152405F58E +:1000760082E43514F583E07003020134E5152409A2 +:10008600F582E43514F583E0700EE515240AF58251 +:10009600E43514F583E060187F01E4FD12166BE584 +:1000A600152431F582E43514F583E054CFF0804110 +:1000B600E5152406F582E43514F583E0FF12000306 +:1000C600E5152407F582E43514F583E0FF1215AB38 +:1000D6007F01E5152408F582E43514F583E0FD1269 +:1000E600166BE5152431F582E43514F583E04430CA +:1000F600F0E5152439F582E43514F583E04480F003 +:1000030090784174F3F090C00074BFF0907841741D +:10001300F0F090C000EFF090784174F3F0E5152410 +:1000230037F582E43514F583E0547F90C000F02265 +:03004300021B009D +:030000000210905B +:4001060090784174F4F0E5152439F582E43514F583E090C000F090784174F2F0E5152436F582E43514F583E0440690C000F0E515240BF582E43514F583E06032E515240C2B +:40014600F582E43514F583E0543FFFE5152437F582E43514F583EFF090784174F3F0E5152437F582E43514F583E090C000F0E515240DF582E43514F583E0700302024FE598 +:40018600152417F582E43514F583E06011E5152432F582E43514F583E04404F0800FE5152432F582E43514F583E054FBF0E4FFE5152432F582E43514F583E0FD12166BE53A +:4001C60015240EF582E43514F583E06011E5152433F582E43514F583E04480F0800FE5152433F582E43514F583E0547FF0E5152433F582E43514F583E054FCF0E515240FEB +:40020600F582E43514F583E0602FE5152433F582E43514F583E04402F0E5152410F582E43514F583E0FF12160BE5152411F582E43514F583E0FF12163BE5152433F582E415 +:400246003514F583E0FF1215DBE5152414F582E43514F583E06044E5152415F582E43514F583E06011E5152439F582E43514F583E04401F0800FE5152439F582E43514F55D +:4002860083E054FEF090784174F4F0E5152439F582E43514F583E090C000F0E5152412F582E43514F583E06044E5152413F582E43514F583E06011E5152439F582E43514F6 +:4002C600F583E04402F0800FE5152439F582E43514F583E054FDF090784174F4F0E5152439F582E43514F583E090C000F0E5152416F582E43514F583E0FFE5152435F5821A +:40030600E43514F583EFF0E5152417F582E43514F583E030E011E5152431F582E43514F583E04440F0800FE5152431F582E43514F583E054BFF0E5152418F582E43514F576 +:4003460083E0FFE515243BF582E43514F583EFF0E5152419F582E43514F583E06011E5152439F582E43514F583E04410F0800FE5152439F582E43514F583E054EFF0907869 +:400386004174F4F0E5152439F582E43514F583E090C000F0E515241AF582E43514F583E0606BE5152437F582E43514F583E054BFF090784174F3F0E5152437F582E435141F +:4003C600F583E0547F90C000F090784174F1F0120036EF54FE90C000F0E5152432F582E43514F583E054FDFFF0FDE4FF12166BE515242CF582E43514F583E4F0E515242BA3 +:40040600F582E43514F583E4F0E5164213E515241BF582E43514F583E0700EE5152425F582E43514F583E06028E5152432F582E43514F583E04402FFF0FDE4FF12166BE523 +:4004460015242BF582E43514F5837401F0E5164213E515241CF582E43514F583E0FF700EE5152425F582E43514F583E0602A90784174F2F0E5152436F582E43514F583E0D6 +:40048600440490C000F0EF600FE5152431F582E43514F583E04404F0E515241DF582E43514F583E06027E5152437F582E43514F583E04440F090784174F3F0E5152437F560 +:4004C60082E43514F583E0547F90C000F0E515241EF582E43514F583E06028E5152432F582E43514F583E054FEFFF0FDE4FF12166BE515242DF582E43514F5837401F0E56B +:40050600164213E515241FF582E43514F583E0700EE5152425F582E43514F583E06027E5152432F582E43514F583E04401FFF0FDE4FF12166BE515242DF582E43514F58373 +:40054600E4F0E5164213E5152420F582E43514F583E0700EE5152425F582E43514F583E0601890784174F2F0E5152436F582E43514F583E0440290C000F0E5152421F582B7 +:40058600E43514F583E0600FE5152431F582E43514F583E04402F0E5152422F582E43514F583E0601FE515242EF582E43514F5837401F0E515243AF582E43514F583E4F0F0 +:4005C600E5164213E5152423F582E43514F583E0600312187AE5152424F582E43514F583E06023E5152431F582E43514F583E04408F0E516C454F0FF4211907F96E04FF000 +:40060600907841E04FF0E5152425F582E43514F583E06024E5152431F582E43514F583E054F7F0E516C454F0F4FF5211907F96E05FF0907841E05FF022907FE9E01211FE43 +:40064600079900080D01087903066206078A08077E0907660A07750B000008C8907FEBE024FE601C1470030207142402600302075C7419907FD4F07400907FD5F00208CF4C +:40068600907FEAE004758217758319F0907FEAE030E0047F0280027F03758282758319EFF075826D758319F0758266758319F075825F758319F0758258758319F0907FEA0A +:4006C600E030E1047F6480027F3275821A758319EFF0907FEFE0FE907FEEE07C002400F518EC3EF517753319753412758214758319E0752700F528D3E5289518E5279517D6 +:40070600400685172785182812130D0208CF907FEAE0FF12145FEA496032907FEEE0751700F518AE02AF018E338F348F828E83E0FEA3E08E27F528D39518E527951740068B +:4007460085172785182812130D0208CF907FB4E04401F00208CF907FB4E04401F00208CF907F00E525F0907FB57401F00208CF907FEAE0F5250208CF907FEAE0F522120A9B +:40078600CE0208CF907F00E522F0907FB57401F00208CF907FE8E0247F60241460312402705BA200E433FF25E0FFA206E4334F907F00F0E4A3F0907FB57402F00208CFE4C9 +:4007C600907F00F0A3F0907FB57402F00208CF907FECE0F45480FFC4540FFFE054072F25E024B4F582E4347FF583E054FD907F00F0E4A3F0907FB57402F00208CF907FB45C +:40080600E04401F00208CF907FE8E024FE601D240260030208CF907FEAE0B40105C2000208CF907FB4E04401F00208CF907FEAE07038907FECE0F45480FFC4540FFFE05490 +:40084600072F25E024B4F582E4347FF583E4F0907FECE05480FF131313541FFFE054072F907FD7F0E04420F0805F907FB4E04401F08056907FE8E024FE60182402704A90CA +:400886007FEAE0B40104D200803F907FB4E04401F08036907FEAE07020907FECE0F45480FFC4540FFFE054072F25E024B4F582E4347FF5837401F08010907FB4E04401F046 +:4008C6008007907FB4E04401F0907FB4E04402F022E512540F70030209C812169AEF20E1751216F8EF14F5181218C5EF2518FFE433FEC3EF9480EE64809480505985158201 +:40090600851483E0FEA3E0FFF5828E83E030E011E5152431F582E43514F583E04480F0800FE5152431F582E43514F583E0547FF0E5152431F582E43514F583E020E212E5CC +:4009460018600EF523EF2401F52DE43EF52C1214A0E4FF1214D7E5152431F582E43514F583E030E75D1218C5E515243BF582E43514F583E0FEEFC39E5048E515242FF58207 +:40098600E43514F5837401F0E5152431F582E43514F583E0547BF0E515243AF582E43514F583E4F0E5164213907FC2E030E110E5152426F582E43514F583E0F524800312C5 +:4009C600129C1216C9EF30E103020ACD1217C78F181218D3E5152438F582E43514F583EFF0E5152435F582E43514F583E0FFE518C39F50281218A9EF30E021E5152438F52E +:400A060082E43514F583E020E712E5152431F582E43514F583E020E103020ACDE5152431F582E43514F583E054FDF0E5187003020ACDB4800FE5152438F582E43514F583DE +:400A4600E04402F0E5152438F582E43514F583E0FF30E729E518D394204003751820851823851582851483A3A3E0FCA3E08C2CF52D1213CFE51825E0FF12150D22E518D3C3 +:400A8600943F400375183F851823E5152438F582E43514F583E0FF851582851483A3A3E0FCA3E0F5828C83EFF0851582851483A3A3E0FEA3E02401F52DE43EF52C12141D4F +:400AC600E51804FF12150D22E4907F93F0907F9C74FFF0E4907F96F0907F94F090784A04F0F58E907F9574C0F0907F9E743FF0907F98742FF090784374F7F0E4907841F02C +:400B0600907FDF749FF0907FDEF0907F92E04402F07E7B7FC075147B7515C0907F98742EF0751601120F287E7B7FC075147B7515C0907F98742EF0751601E5152426F58290 +:400B4600E43514F583E4F07E7E7F40851582851483747EF0A37440F07E7E7F80851582851483A3A3747EF0A37480F07E7C7F0075147C751500907F98742DF0751602120F0A +:400B8600287E7C7F0075147C751500907F98742DF0751602E5152426F582E43514F5837401F07E7D7FC0851582851483747DF0A374C0F07E7E7F00851582851483A3A374EE +:400BC6007EF0A37400F07E7C7F4075147C751540907F98742BF0751604120F287E7C7F4075147C751540907F98742BF0751604E5152426F582E43514F5837402F07E7D7F57 +:400C060040851582851483747DF0A37440F07E7D7F80851582851483A3A3747DF0A37480F07E7C7F8075147C751580907F987427F0751608120F287E7C7F8075147C751590 +:400C460080907F987427F0751608E5152426F582E43514F5837403F07E7C7FC0851582851483747CF0A374C0F07E7D7F00851582851483A3A3747DF0A37400F0C20AC209D3 +:400C8600E4F511D20222E510045403F51014601F146031146043240370527E7B7FC075147B7515C0907F98742EF0751601803D7E7C7F0075147C751500907F98742DF07564 +:400CC600160280287E7C7F4075147C751540907F98742BF075160480137E7C7F8075147C751580907F987427F0751608E53255167003020E27E516F45232E526547FFF7095 +:400D060017E52A55166034907F96E0FEE516C454F0F4FDEE5DF08023BF2020E5152431F582E43514F583E030E311E4F52A907F96E0FFE516C454F0FEEF4EF0E515243AF5C3 +:400D460082E43514F583E06003E014F0E5152434F582E43514F583E06003E014F0E06003020E27740AF0120036EF5401FFF518E515242CF582E43514F583E06F6007E518F1 +:400D8600F0E51642131218E18F18E5152427F582E43514F583E0FFE5185410FE6F6006EEF0E5164213E5152428F582E43514F583E0FFE5185480FE6F6006EEF0E516421386 +:400DC600E5152429F582E43514F583E0FFE5185420FE6F6015EEF0E5152431F582E43514F583E030E404E5164213E515242AF582E43514F583E0FFE5185440FE6F6015EE23 +:400E0600F0E5152431F582E43514F583E030E504E5164213E5152430F582E43514F583E4F022300903020F27E52414602A14604114605814606F24046003020EE57E7B7F31 +:400E4600C075147B7515C0907F98742EF075160112129C752401227E7C7F0075147C751500907F98742DF075160212129C752402227E7C7F4075147C751540907F98742B05 +:400E8600F075160412129C752403227E7C7F8075147C751580907F987427F075160812129C75240422300433C2045313DFE4F5187E007B00742E2518F9EE3400FA1211A6CA +:400EC600FF74802518F582E4347BF583EFF00518E518B403DB907FC37403F075240522E536603BD5360A5313EF300A04D209C20AE4F5187E007B0074352518F9EE3400FACC +:400F06001211A6FF74802518F582E4347BF583EFF00518E518B403DB907FC37403F0E4F52422E4F5197E007B01E5152519F9EE3514FAE41211EC0519E519B43CE8E51524FA +:400F460035F582E43514F5837401F090784174F3F0E5152437F582E43514F5837403F090C000F07F0CE4FD12166B7F10E5152433F582E43514F583EFF01215DB9078417464 +:400F8600F2F07F01E5152436F582E43514F583EFF0440690C000F090784174F4F0E5152439F582E43514F5837480F090C000F00FE4FD12166BE4FF7EA3E5152432F582E486 +:400FC6003514F583EEF0FD12166B90784174F1F090C000E4F07F057D7F12166B7F011215437F037D0712166B2253133F907BF1E030E3167E7B7FC075147B7515C0907F986B +:40100600742EF07516011208D7907C31E030E3167E7C7F0075147C751500907F98742DF07516021208D7907C71E030E3167E7C7F4075147C751540907F98742BF0751604C4 +:401046001208D7907CB1E030E3167E7C7F8075147C751580907F987427F07516081208D70512E512540FF517700412111C22E517B40104120C8C22907FC2E020E108E51370 +:401086006004120E2822120C8C22787FE4F6D8FD7581370210D7021224E493A3F8E493A34003F68001F208DFF48029E493A3F85407240CC8C333C4540F4420C8834004F4D7 +:4010C60056800146F6DFE4800B0102040810204080901845E47E019360BCA3FF543F30E509541FFEE493A360010ECF54C025E060A840B8E493A3FAE493A3F8E493A3C8C589 +:4011060082C8CAC583CAF0A3C8C582C8CAC583CADFE9DEE780BE907FD2E030E1030211A5C209907B40E014602614603B14605024836064248070637E7B7FC075147B75153A +:40114600C0907F98742EF0751601120046804B7E7C7F0075147C751500907F98742DF075160212004680337E7C7F4075147C751540907F98742BF0751604120046801B7E2B +:401186007C7F8075147C751580907F987427F07516081200468003121751E4907FD3F022BB010689828A83E0225002E722BBFE02E32289828A83E49322BB010CE58229F5B8 +:4011C60082E5833AF583E0225006E92582F8E622BBFE06E92582F8E222E58229F582E5833AF583E49322BB010689828A83F0225002F722BBFE01F322D083D082F8E49370B6 +:4012060012740193700DA3A393F8740193F5828883E4737402936860EFA3A3A380DF907FAEE0FFD39200E433FEEF4EF0D2E843D820907FDE7401F0907FDFF0907FAB74FFC2 +:40124600F0907FA9F0907FAAF05391EF907FAF7401F0907FAE740DF0D2AFD20B121809C201E4F52BF531C207C20275290F907FD8E06526600675320FE0F526300203120F8C +:40128600EF300107C20112063F80E23008DFC20812182A80D822E5135516606AE515243AF582E43514F583E0705CE516F45213E5152426FFE43514FEE4FD0FEFAA067001C7 +:4012C6000E14F5828A83E0FC74802DF582E4347BF583ECF00DBD0BE2907FC3740BF0E515243AF582E43514F5837410F0E515242EF582E43514F583E4F0E515242FF582E423 +:401306003514F583E4F022E52845276057AE27AF28D3EF9440EE940040047E007F40C3E5289FF528E5279EF527E4FDEDC39FE49E501F853482853383E0FC74002DF582E4BA +:40134600347FF583ECF00D0534E5347002053380DA907FA97401F0907FACE04401F0907FB5EFF022907FACE054FEF0E4907FB5F022907F98740FF0E490784AF0907F94F0E1 +:40138600907F9D74FFF0E4907F97F0907841F0907F93F0907F9C74FFF0300007E529540FFF80027F00907F96EFF0907F98741FF0E4907F95F0907F9E743FF0907F9874DFAD +:4013C600F0907F92E054FDF0228F19052DE52DAE2C7002052C14F5828E83E519F01218EF052DE52DAC2C7002052C14F5828C83EFF01523E523601FE5152438F582E4351416 +:40140600F583C083C082E0FE1218D38F19EE4FD082D083F080B522907841E511F090784F74C0F0E4907850F0E52C907851F0AE2CE52D907852F0907854E523F09078577470 +:4014460004F0907FE2E04410F0E054F7F0E4907855F0907855E060FA228F19E4F51A751BFF751C19751D86AB1BAA1CA91D9000011211BFB4031DAF1A051AEFB519012212F9 +:4014860011A67E0029FFEE3AA907751BFFF51C891D80D47B007A00790022907841E511F0E52C90784FF0AE2CE52D907850F090785174C0F0E4907852F0907854E523F0907D +:4014C60078577404F0E4907855F0907855E060FA22E5152404F582E43514F583E014600F1460131460178000907FC7EFF08013907FC9EFF0800C907FCBEFF08005907FCDED +:40150600EFF0E516422A22E5152404F582E43514F583E014600F1460131460178000907FB7EFF08013907FB9EFF0800C907FBBEFF08005907FBDEFF0E516422A22AE07E4A4 +:40154600FFE5152432F582E43514F583E0547FFD12166B90784174F1F090C000EEF0E4E5152432F582E43514F583E04480FD12166B22C0E0C0F0C083C082C085C084C086A1 +:40158600758600C0D075D0085391EF907FA97401F012130DD0D0D086D084D085D082D083D0F0D0E03290784174F3F090C00074BFF090784174F1F090C000EFF090784174A8 +:4015C600F3F0E5152437F582E43514F583E0547F90C000F02290784174F3F090C00074BFF090784174F2F090C000EFF090784174F3F0E5152437F582E43514F583E0547FD7 +:4016060090C000F02290784174F3F090C00074BFF090784174F4F090C000EFF090784174F3F0E5152437F582E43514F583E0547F90C000F02290784174F3F090C00074BF16 +:40164600F090784174F6F090C000EFF090784174F3F0E5152437F582E43514F583E0547F90C000F02290784174F3F0E5152437F582E43514F583E0547F90C000F09078412F +:4016860074F7F090C000EFF090784174F5F090C000EDF022E5152404F582E43514F583E014600E1460111460148000907FC6E0FF22907FC8E0FF22907FCAE0FF22907FCC19 +:4016C600E0FF22E5152404F582E43514F583E014600E1460111460148000907FB6E0FF22907FB8E0FF22907FBAE0FF22907FBCE0FF22E5152404F582E43514F583E0146000 +:401706000E1460111460148000907FC7E0FF22907FC9E0FF22907FCBE0FF22907FCDE0FF22C0E0C083C082C085C084C086758600907FC4E4F05391EF907FAB7404F0D086BF +:40174600D084D085D082D083D0E032907B41E0F536431310A3E06009907FD77417F07437F0907B43E0F537A3E054F0F529E06002D20A22C0E0C083C082C085C084C08675A6 +:401786008600D2015391EF907FAB7401F0D086D084D085D082D083D0E032C0E0C083C082C085C084C086758600D2085391EF907FAB7408F0D086D084D085D082D083D0E03C +:4017C600321218B7AE071218B7AD07EE6D60101218B7AE07EE6D60071218B7AD0780ECAF06227400F58690FDA57C05A3E582458370F922907FD6E04480F043870100000048 +:40180600000022907FD6E04404F0E04408F0300B04E04402F07FF47E01121860907FD6E054F7F0221213771217F9907FD6E030E70A7F057E00121860121893120ACE220378 +:4018460035800000032E810000C185C181C108C100C106012200012400008E178F18E5181518AE17700215174E60081217E81217E880EB22E5152404F582E43514F583E07E +:4018860004FF4410907FD7F0EF4430F022907FD6E04401F07F0D7E00121860907FD6E054FEF022E5112402907841F090C000E0FF22E5112403907841F090C000E0FF22E597 +:4018C600112404907841F090C000E0FF22E5112405907841F090C000E0FF22E5112406907841F090C000E0FF22907841E511F090C000E0FF2253D8EF320012011001FFFFDE +:40190600FF40CD062A0100000102000409027400010100A032090400000EFF000000070501024000000705020240000007050302400000070504024000000705050240005B +:4019460000070506024000000705070240000007058102400001070582024000010705830240000107058402400001070585024000010705860240000107058702400001F3 +:401986000403090448034B00650079007300700061006E002C002000610020006400690076006900730069006F006E0020006F006600200049006E006E006F005300790040 +:4019C6007300200049006E0063002E0024034B00650079007300700061006E0020005500530041002D003400390057004C00430022035500530041002D00360035002000B5 +:401A060032003000300033006A0061006E0033003100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003E +:401A46000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060 +:401A86000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020 +:401AC6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002177900021B31 +:151B06000400021727000217A000021B1000021B1400021578E0 +:00000001FF + + The firmware contained herein is + + Copyright (C) 1999-2003 + Keyspan, A division of InnoSys Incorporated ("Keyspan") + + as an unpublished work. This notice does not imply unrestricted or + public access to the source code from which this firmware image is + derived. Except as noted below this firmware image may not be + reproduced, used, sold or transferred to any third party without + Keyspan's prior written consent. All Rights Reserved. + + Permission is hereby granted for the distribution of this firmware + image as part of a Linux or other Open Source operating system kernel + in text or binary form as required. + + This firmware may not be modified and may only be used with + Keyspan hardware. Distribution and/or Modification of the + keyspan.c driver which includes this firmware, in whole or in + part, requires the inclusion of this statement." + +static char theFirmwareDate49[] = + "02/14/2002 02:37p 19,347 USA49"; + +static char theFirmwareDate65[] = + "01/31/2003 09:34a 19,331 USA65"; + diff --git a/firmware/keyspan_pda/keyspan_pda.HEX b/firmware/keyspan_pda/keyspan_pda.HEX new file mode 100644 index 0000000..6fcf02b --- /dev/null +++ b/firmware/keyspan_pda/keyspan_pda.HEX @@ -0,0 +1,83 @@ +:03000000020200F9 +:0400230002055F0073 +:0400430002010000B6 +:050030000000000000CB +:10010000020296000200000002000000020000004F +:1001100002000000020000000200000002000000D7 +:1001200002000000020000000204610002048900D5 +:1002000075815EE4F532F533F530F531F534C20031 +:10021000C201A90074FE901000F0A3D9FC74FD90F7 +:100220001100F0A3D9FC7402907F9DF07400907FC0 +:1002300097F07486907F9EF0907F957403F0907F86 +:10024000AFE0D2E0F07401907FABF0907FAEF09021 +:100250007FAC7404F0907FAD7404F0907FC9F074AB +:1002600084907F98F07400F59875C8307B059120D4 +:10027000D2CA759850D2E8D2AFD2AC7400F586904D +:100280007FD67402F0792E7A007B00DBFEDAFAD991 +:10029000F67406F080FEC086C082C083C084C0852C +:1002A000C0E0E591C2E4F591907FAB7401F0907FDE +:1002B000E8E0F9A3E0FAA3E0FBA3E0FCE95460B4B2 +:1002C0000003020339B4406EBA000B12042040034D +:1002D00002040202040ABA010302040ABA02030277 +:1002E000040ABA0303020444BA041EBB000A907F46 +:1002F00095E04402F0020402907F98E054FDF090F3 +:100300007F95E054FDF0020402BA050302040ABA24 +:100310000619BB0008E533D395320203DEBB0108A2 +:10032000E532C395330203DE02040ABA07058B34B3 +:1003300002040202040A02040ABA0020B9801090E2 +:100340007F00E4F0A3F0907FB57402F0020402B9DC +:10035000820280EBB9810280E602040ABA010FBB77 +:10036000000302040ABB010302040202040ABA03E6 +:100370000FBB000302040ABB010302040202040AC9 +:10038000BA0656BC010F907FD47406F0907FD574E6 +:1003900012F0020402BC0212BB006F907FD47406FC +:1003A000F0907FD57424F0020402BC03297404C3C6 +:1003B0009B40576055EB2B9006442582F5827400D4 +:1003C0003583F583E0F9A3E0FA907FD4E9F0907FDC +:1003D000D5EAF002040202040ABA080F7401907F01 +:1003E00000F07401907FB5F0020402BA0903020420 +:1003F00002BA0A0574000203DEBA0B030204020209 +:10040000040A907FB47402F08009907FB4E0440144 +:10041000F08000D0E0D085D084D083D082D08632E6 +:10042000EB20E71EC3940A5019EB2324FEF58274D7 +:10043000053400F583E0F5CBF5CDA3E0F5CAF5CCA6 +:10044000C322D322B94111EB64FF5484FB907F98FF +:10045000E0547B4BF0020402907F9BE064FF0203B8 +:10046000DEC086C082C083C084C085C0E0E591C282 +:10047000E4F591907FA97404F01205A0D0E0D08536 +:10048000D084D083D082D08632C086C082C083C060 +:1004900084C085C0E0E591C2E4F591907FAA740420 +:1004A000F0907FC9E0F9E4F586907DC075851085F0 +:1004B0003284E005860584F0E584B53302800905C1 +:1004C000320586A3D9EC8000907FC9F0B131D0E02D +:1004D000D085D084D083D082D08632E4F586907FD8 +:1004E000BCE020E14B907D00E532F0A3E533F0A3C2 +:1004F000E530F0A3E531F0A3E430000104F0A305FA +:10050000869010007910E0A30586F0A30586D9F641 +:10051000058674FCF0A305869011007910E0A30510 +:1005200086F0A30586D9F6E4F586907FBD7426F0A3 +:1005300022200013E532B53301220533758310857F +:100540003382E0F599D2007400B5340122E533D34B +:100550009532C3953440F5753400D2010205A0C030 +:1005600086C082C083C084C085C0E0309907C2992C +:10057000C20012053430980512058AC298D0E0D026 +:1005800085D084D083D082D0863275831185308225 +:100590000582E599F0E582B53101220530B1A0224E +:1005A000907FB8E020E138200136E530B5310122F6 +:1005B000E4F5867583110586907E00F0A3058679A3 +:1005C00001E530B5310280100531853182E00586C4 +:1005D000F0A3058609B940E9907FB9E96001F022EE +:1005E000C201E4F586907E007401F0A37402F090DD +:1005F0007FB9F022C299F5993099FDC29922E55E42 +:10060000F63CFD8FFEC8FF64FFB2FFD9FFEDFFF39C +:10061000FFFA12010001FFFFFF40CD06040189AB84 +:1006200001020301090220000101008032090400D7 +:100630000002FFFFFF0007058203400001070502DB +:1006400002400000064C0650067206A0040300009B +:100650002203410043004D00450020007500730057 +:100660006200200077006900640067006500740084 +:1006700073002E03410043004D004500200055004B +:1006800053004200200073006500720069006100A1 +:100690006C0020007700690064006700650074004A +:0606A000060334003700E0 +:00000001FF diff --git a/firmware/keyspan_pda/keyspan_pda.S b/firmware/keyspan_pda/keyspan_pda.S new file mode 100644 index 0000000..418fe69 --- /dev/null +++ b/firmware/keyspan_pda/keyspan_pda.S @@ -0,0 +1,1124 @@ +/* $Id: loop.s,v 1.23 2000/03/20 09:49:06 warner Exp $ + * + * Firmware for the Keyspan PDA Serial Adapter, a USB serial port based on + * the EzUSB microcontroller. + * + * (C) Copyright 2000 Brian Warner + * + * 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. + * + * "Keyspan PDA Serial Adapter" is probably a copyright of Keyspan, the + * company. + * + * This serial adapter is basically an EzUSB chip and an RS-232 line driver + * in a little widget that has a DB-9 on one end and a USB plug on the other. + * It uses the EzUSB's internal UART0 (using the pins from Port C) and timer2 + * as a baud-rate generator. The wiring is: + * PC0/RxD0 <- rxd (DB9 pin 2) PC4 <- dsr pin 6 + * PC1/TxD0 -> txd pin 3 PC5 <- ri pin 9 + * PC2 -> rts pin 7 PC6 <- dcd pin 1 + * PC3 <- cts pin 8 PC7 -> dtr pin 4 + * PB1 -> line driver standby + * + * The EzUSB register constants below come from their excellent documentation + * and sample code (which used to be available at www.anchorchips.com, but + * that has now been absorbed into Cypress' site and the CD-ROM contents + * don't appear to be available online anymore). If we get multiple + * EzUSB-based drivers into the kernel, it might be useful to pull them out + * into a separate .h file. + * + * THEORY OF OPERATION: + * + * There are two 256-byte ring buffers, one for tx, one for rx. + * + * EP2out is pure tx data. When it appears, the data is copied into the tx + * ring and serial transmission is started if it wasn't already running. The + * "tx buffer empty" interrupt may kick off another character if the ring + * still has data. If the host is tx-blocked because the ring filled up, + * it will request a "tx unthrottle" interrupt. If sending a serial character + * empties the ring below the desired threshold, we set a bit that will send + * up the tx unthrottle message as soon as the rx buffer becomes free. + * + * EP2in (interrupt) is used to send both rx chars and rx status messages + * (only "tx unthrottle" at this time) back up to the host. The first byte + * of the rx message indicates data (0) or status msg (1). Status messages + * are sent before any data. + * + * Incoming serial characters are put into the rx ring by the serial + * interrupt, and the EP2in buffer sent if it wasn't already in transit. + * When the EP2in buffer returns, the interrupt prompts us to send more + * rx chars (or status messages) if they are pending. + * + * Device control happens through "vendor specific" control messages on EP0. + * All messages are destined for the "Interface" (with the index always 0, + * so that if their two-port device might someday use similar firmware, we + * can use index=1 to refer to the second port). The messages defined are: + * + * bRequest = 0 : set baud/bits/parity + * 1 : unused + * 2 : reserved for setting HW flow control (CTSRTS) + * 3 : get/set "modem info" (pin states: DTR, RTS, DCD, RI, etc) + * 4 : set break (on/off) + * 5 : reserved for requesting interrupts on pin state change + * 6 : query buffer room or chars in tx buffer + * 7 : request tx unthrottle interrupt + * + * The host-side driver is set to recognize the device ID values stashed in + * serial EEPROM (0x06cd, 0x0103), program this firmware into place, then + * start it running. This firmware will use EzUSB's "renumeration" trick by + * simulating a bus disconnect, then reconnect with a different device ID + * (encoded in the desc_device descriptor below). The host driver then + * recognizes the new device ID and glues it to the real serial driver code. + * + * USEFUL DOCS: + * EzUSB Technical Reference Manual: + * 8051 manuals: everywhere, but try www.dalsemi.com because the EzUSB is + * basically the Dallas enhanced 8051 code. Remember that the EzUSB IO ports + * use totally different registers! + * USB 1.1 spec: www.usb.org + * + * HOW TO BUILD: + * gcc -x assembler-with-cpp -P -E -o keyspan_pda.asm keyspan_pda.s + * as31 -l keyspan_pda.asm + * mv keyspan_pda.obj keyspan_pda.hex + * perl ezusb_convert.pl keyspan_pda < keyspan_pda.hex > keyspan_pda_fw.h + * Get as31 from , and hack on it + * a bit to make it build. + * + * THANKS: + * Greg Kroah-Hartman, for coordinating the whole usb-serial thing. + * AnchorChips, for making such an incredibly useful little microcontroller. + * KeySpan, for making a handy, cheap ($40) widget that was so easy to take + * apart and trace with an ohmmeter. + * + * TODO: + * lots. grep for TODO. Interrupt safety needs stress-testing. Better flow + * control. Interrupting host upon change in DCD, etc, counting transitions. + * Need to find a safe device id to use (the one used by the Keyspan firmware + * under Windows would be ideal.. can anyone figure out what it is?). Parity. + * More baud rates. Oh, and the string-descriptor-length silicon bug + * workaround should be implemented, but I'm lazy, and the consequence is + * that the device name strings that show up in your kernel log will have + * lots of trailing binary garbage in them (appears as ????). Device strings + * should be made more accurate. + * + * Questions, bugs, patches to Brian. + * + * -Brian Warner + * + */ + +#define HIGH(x) (((x) & 0xff00) / 256) +#define LOW(x) ((x) & 0xff) + +#define dpl1 0x84 +#define dph1 0x85 +#define dps 0x86 + +;;; our bit assignments +#define TX_RUNNING 0 +#define DO_TX_UNTHROTTLE 1 + + ;; stack from 0x60 to 0x7f: should really set SP to 0x60-1, not 0x60 +#define STACK #0x60-1 + +#define EXIF 0x91 +#define EIE 0xe8 + .flag EUSB, EIE.0 + .flag ES0, IE.4 + +#define EP0CS #0x7fb4 +#define EP0STALLbit #0x01 +#define IN0BUF #0x7f00 +#define IN0BC #0x7fb5 +#define OUT0BUF #0x7ec0 +#define OUT0BC #0x7fc5 +#define IN2BUF #0x7e00 +#define IN2BC #0x7fb9 +#define IN2CS #0x7fb8 +#define OUT2BC #0x7fc9 +#define OUT2CS #0x7fc8 +#define OUT2BUF #0x7dc0 +#define IN4BUF #0x7d00 +#define IN4BC #0x7fbd +#define IN4CS #0x7fbc +#define OEB #0x7f9d +#define OUTB #0x7f97 +#define OEC #0x7f9e +#define OUTC #0x7f98 +#define PINSC #0x7f9b +#define PORTCCFG #0x7f95 +#define IN07IRQ #0x7fa9 +#define OUT07IRQ #0x7faa +#define IN07IEN #0x7fac +#define OUT07IEN #0x7fad +#define USBIRQ #0x7fab +#define USBIEN #0x7fae +#define USBBAV #0x7faf +#define USBCS #0x7fd6 +#define SUDPTRH #0x7fd4 +#define SUDPTRL #0x7fd5 +#define SETUPDAT #0x7fe8 + + ;; usb interrupt : enable is EIE.0 (0xe8), flag is EXIF.4 (0x91) + + .org 0 + ljmp start + ;; interrupt vectors + .org 23H + ljmp serial_int + .byte 0 + + .org 43H + ljmp USB_Jump_Table + .byte 0 ; filled in by the USB core + +;;; local variables. These are not initialized properly: do it by hand. + .org 30H +rx_ring_in: .byte 0 +rx_ring_out: .byte 0 +tx_ring_in: .byte 0 +tx_ring_out: .byte 0 +tx_unthrottle_threshold: .byte 0 + + .org 0x100H ; wants to be on a page boundary +USB_Jump_Table: + ljmp ISR_Sudav ; Setup Data Available + .byte 0 + ljmp 0 ; Start of Frame + .byte 0 + ljmp 0 ; Setup Data Loading + .byte 0 + ljmp 0 ; Global Suspend + .byte 0 + ljmp 0 ; USB Reset + .byte 0 + ljmp 0 ; Reserved + .byte 0 + ljmp 0 ; End Point 0 In + .byte 0 + ljmp 0 ; End Point 0 Out + .byte 0 + ljmp 0 ; End Point 1 In + .byte 0 + ljmp 0 ; End Point 1 Out + .byte 0 + ljmp ISR_Ep2in + .byte 0 + ljmp ISR_Ep2out + .byte 0 + + + .org 0x200 + +start: mov SP,STACK-1 ; set stack + ;; clear local variables + clr a + mov tx_ring_in, a + mov tx_ring_out, a + mov rx_ring_in, a + mov rx_ring_out, a + mov tx_unthrottle_threshold, a + clr TX_RUNNING + clr DO_TX_UNTHROTTLE + + ;; clear fifo with "fe" + mov r1, 0 + mov a, #0xfe + mov dptr, #tx_ring +clear_tx_ring_loop: + movx @dptr, a + inc dptr + djnz r1, clear_tx_ring_loop + + mov a, #0xfd + mov dptr, #rx_ring +clear_rx_ring_loop: + movx @dptr, a + inc dptr + djnz r1, clear_rx_ring_loop + +;;; turn on the RS-232 driver chip (bring the STANDBY pin low) + ;; set OEB.1 + mov a, #02H + mov dptr,OEB + movx @dptr,a + ;; clear PB1 + mov a, #00H + mov dptr,OUTB + movx @dptr,a + ;; set OEC.[127] + mov a, #0x86 + mov dptr,OEC + movx @dptr,a + ;; set PORTCCFG.[01] to route TxD0,RxD0 to serial port + mov dptr, PORTCCFG + mov a, #0x03 + movx @dptr, a + + ;; set up interrupts, autovectoring + mov dptr, USBBAV + movx a,@dptr + setb acc.0 ; AVEN bit to 0 + movx @dptr, a + + mov a,#0x01 ; enable SUDAV: setup data available (for ep0) + mov dptr, USBIRQ + movx @dptr, a ; clear SUDAVI + mov dptr, USBIEN + movx @dptr, a + + mov dptr, IN07IEN + mov a,#0x04 ; enable IN2 int + movx @dptr, a + + mov dptr, OUT07IEN + mov a,#0x04 ; enable OUT2 int + movx @dptr, a + mov dptr, OUT2BC + movx @dptr, a ; arm OUT2 + + mov a, #0x84 ; turn on RTS, DTR + mov dptr,OUTC + movx @dptr, a + ;; setup the serial port. 9600 8N1. + mov a,#01010011 ; mode 1, enable rx, clear int + mov SCON, a + ;; using timer2, in 16-bit baud-rate-generator mode + ;; (xtal 12MHz, internal fosc 24MHz) + ;; RCAP2H,RCAP2L = 65536 - fosc/(32*baud) + ;; 57600: 0xFFF2.F, say 0xFFF3 + ;; 9600: 0xFFB1.E, say 0xFFB2 + ;; 300: 0xF63C +#define BAUD 9600 +#define BAUD_TIMEOUT(rate) (65536 - (24 * 1000 * 1000) / (32 * rate)) +#define BAUD_HIGH(rate) HIGH(BAUD_TIMEOUT(rate)) +#define BAUD_LOW(rate) LOW(BAUD_TIMEOUT(rate)) + + mov T2CON, #030h ; rclk=1,tclk=1,cp=0,tr2=0(enable later) + mov r3, #5 + acall set_baud + setb TR2 + mov SCON, #050h + +#if 0 + mov r1, #0x40 + mov a, #0x41 +send: + mov SBUF, a + inc a + anl a, #0x3F + orl a, #0x40 +; xrl a, #0x02 +wait1: + jnb TI, wait1 + clr TI + djnz r1, send +;done: sjmp done + +#endif + + setb EUSB + setb EA + setb ES0 + ;acall dump_stat + + ;; hey, what say we RENUMERATE! (TRM p.62) + mov a, #0 + mov dps, a + mov dptr, USBCS + mov a, #0x02 ; DISCON=0, DISCOE=0, RENUM=1 + movx @dptr, a + ;; now presence pin is floating, simulating disconnect. wait 0.5s + mov r1, #46 +renum_wait1: + mov r2, #0 +renum_wait2: + mov r3, #0 +renum_wait3: + djnz r3, renum_wait3 + djnz r2, renum_wait2 + djnz r1, renum_wait1 ; wait about n*(256^2) 6MHz clocks + mov a, #0x06 ; DISCON=0, DISCOE=1, RENUM=1 + movx @dptr, a + ;; we are back online. the host device will now re-query us + + +main: sjmp main + + + +ISR_Sudav: + push dps + push dpl + push dph + push dpl1 + push dph1 + push acc + mov a,EXIF + clr acc.4 + mov EXIF,a ; clear INT2 first + mov dptr, USBIRQ ; clear USB int + mov a,#01h + movx @dptr,a + + ;; get request type + mov dptr, SETUPDAT + movx a, @dptr + mov r1, a ; r1 = bmRequestType + inc dptr + movx a, @dptr + mov r2, a ; r2 = bRequest + inc dptr + movx a, @dptr + mov r3, a ; r3 = wValueL + inc dptr + movx a, @dptr + mov r4, a ; r4 = wValueH + + ;; main switch on bmRequest.type: standard or vendor + mov a, r1 + anl a, #0x60 + cjne a, #0x00, setup_bmreq_type_not_standard + ;; standard request: now main switch is on bRequest + ljmp setup_bmreq_is_standard + +setup_bmreq_type_not_standard: + ;; a still has bmreq&0x60 + cjne a, #0x40, setup_bmreq_type_not_vendor + ;; Anchor reserves bRequest 0xa0-0xaf, we use small ones + ;; switch on bRequest. bmRequest will always be 0x41 or 0xc1 + cjne r2, #0x00, setup_ctrl_not_00 + ;; 00 is set baud, wValue[0] has baud rate index + lcall set_baud ; index in r3, carry set if error + jc setup_bmreq_type_not_standard__do_stall + ljmp setup_done_ack +setup_bmreq_type_not_standard__do_stall: + ljmp setup_stall +setup_ctrl_not_00: + cjne r2, #0x01, setup_ctrl_not_01 + ;; 01 is reserved for set bits (parity). TODO + ljmp setup_stall +setup_ctrl_not_01: + cjne r2, #0x02, setup_ctrl_not_02 + ;; 02 is set HW flow control. TODO + ljmp setup_stall +setup_ctrl_not_02: + cjne r2, #0x03, setup_ctrl_not_03 + ;; 03 is control pins (RTS, DTR). + ljmp control_pins ; will jump to setup_done_ack, + ; or setup_return_one_byte +setup_ctrl_not_03: + cjne r2, #0x04, setup_ctrl_not_04 + ;; 04 is send break (really "turn break on/off"). TODO + cjne r3, #0x00, setup_ctrl_do_break_on + ;; do break off: restore PORTCCFG.1 to reconnect TxD0 to serial port + mov dptr, PORTCCFG + movx a, @dptr + orl a, #0x02 + movx @dptr, a + ljmp setup_done_ack +setup_ctrl_do_break_on: + ;; do break on: clear PORTCCFG.0, set TxD high(?) (b1 low) + mov dptr, OUTC + movx a, @dptr + anl a, #0xfd ; ~0x02 + movx @dptr, a + mov dptr, PORTCCFG + movx a, @dptr + anl a, #0xfd ; ~0x02 + movx @dptr, a + ljmp setup_done_ack +setup_ctrl_not_04: + cjne r2, #0x05, setup_ctrl_not_05 + ;; 05 is set desired interrupt bitmap. TODO + ljmp setup_stall +setup_ctrl_not_05: + cjne r2, #0x06, setup_ctrl_not_06 + ;; 06 is query room + cjne r3, #0x00, setup_ctrl_06_not_00 + ;; 06, wValue[0]=0 is query write_room + mov a, tx_ring_out + setb c + subb a, tx_ring_in ; out-1-in = 255 - (in-out) + ljmp setup_return_one_byte +setup_ctrl_06_not_00: + cjne r3, #0x01, setup_ctrl_06_not_01 + ;; 06, wValue[0]=1 is query chars_in_buffer + mov a, tx_ring_in + clr c + subb a, tx_ring_out ; in-out + ljmp setup_return_one_byte +setup_ctrl_06_not_01: + ljmp setup_stall +setup_ctrl_not_06: + cjne r2, #0x07, setup_ctrl_not_07 + ;; 07 is request tx unthrottle interrupt + mov tx_unthrottle_threshold, r3; wValue[0] is threshold value + ljmp setup_done_ack +setup_ctrl_not_07: + ljmp setup_stall + +setup_bmreq_type_not_vendor: + ljmp setup_stall + + +setup_bmreq_is_standard: + cjne r2, #0x00, setup_breq_not_00 + ;; 00: Get_Status (sub-switch on bmRequestType: device, ep, int) + cjne r1, #0x80, setup_Get_Status_not_device + ;; Get_Status(device) + ;; are we self-powered? no. can we do remote wakeup? no + ;; so return two zero bytes. This is reusable +setup_return_two_zero_bytes: + mov dptr, IN0BUF + clr a + movx @dptr, a + inc dptr + movx @dptr, a + mov dptr, IN0BC + mov a, #2 + movx @dptr, a + ljmp setup_done_ack +setup_Get_Status_not_device: + cjne r1, #0x82, setup_Get_Status_not_endpoint + ;; Get_Status(endpoint) + ;; must get stall bit for ep[wIndexL], return two bytes, bit in lsb 0 + ;; for now: cheat. TODO + sjmp setup_return_two_zero_bytes +setup_Get_Status_not_endpoint: + cjne r1, #0x81, setup_Get_Status_not_interface + ;; Get_Status(interface): return two zeros + sjmp setup_return_two_zero_bytes +setup_Get_Status_not_interface: + ljmp setup_stall + +setup_breq_not_00: + cjne r2, #0x01, setup_breq_not_01 + ;; 01: Clear_Feature (sub-switch on wValueL: stall, remote wakeup) + cjne r3, #0x00, setup_Clear_Feature_not_stall + ;; Clear_Feature(stall). should clear a stall bit. TODO + ljmp setup_stall +setup_Clear_Feature_not_stall: + cjne r3, #0x01, setup_Clear_Feature_not_rwake + ;; Clear_Feature(remote wakeup). ignored. + ljmp setup_done_ack +setup_Clear_Feature_not_rwake: + ljmp setup_stall + +setup_breq_not_01: + cjne r2, #0x03, setup_breq_not_03 + ;; 03: Set_Feature (sub-switch on wValueL: stall, remote wakeup) + cjne r3, #0x00, setup_Set_Feature_not_stall + ;; Set_Feature(stall). Should set a stall bit. TODO + ljmp setup_stall +setup_Set_Feature_not_stall: + cjne r3, #0x01, setup_Set_Feature_not_rwake + ;; Set_Feature(remote wakeup). ignored. + ljmp setup_done_ack +setup_Set_Feature_not_rwake: + ljmp setup_stall + +setup_breq_not_03: + cjne r2, #0x06, setup_breq_not_06 + ;; 06: Get_Descriptor (s-switch on wValueH: dev, config[n], string[n]) + cjne r4, #0x01, setup_Get_Descriptor_not_device + ;; Get_Descriptor(device) + mov dptr, SUDPTRH + mov a, #HIGH(desc_device) + movx @dptr, a + mov dptr, SUDPTRL + mov a, #LOW(desc_device) + movx @dptr, a + ljmp setup_done_ack +setup_Get_Descriptor_not_device: + cjne r4, #0x02, setup_Get_Descriptor_not_config + ;; Get_Descriptor(config[n]) + cjne r3, #0x00, setup_stall; only handle n==0 + ;; Get_Descriptor(config[0]) + mov dptr, SUDPTRH + mov a, #HIGH(desc_config1) + movx @dptr, a + mov dptr, SUDPTRL + mov a, #LOW(desc_config1) + movx @dptr, a + ljmp setup_done_ack +setup_Get_Descriptor_not_config: + cjne r4, #0x03, setup_Get_Descriptor_not_string + ;; Get_Descriptor(string[wValueL]) + ;; if (wValueL >= maxstrings) stall + mov a, #((desc_strings_end-desc_strings)/2) + clr c + subb a,r3 ; a=4, r3 = 0..3 . if a<=0 then stall + jc setup_stall + jz setup_stall + mov a, r3 + add a, r3 ; a = 2*wValueL + mov dptr, #desc_strings + add a, dpl + mov dpl, a + mov a, #0 + addc a, dph + mov dph, a ; dph = desc_strings[a]. big endian! (handy) + ;; it looks like my adapter uses a revision of the EZUSB that + ;; contains "rev D errata number 8", as hinted in the EzUSB example + ;; code. I cannot find an actual errata description on the Cypress + ;; web site, but from the example code it looks like this bug causes + ;; the length of string descriptors to be read incorrectly, possibly + ;; sending back more characters than the descriptor has. The workaround + ;; is to manually send out all of the data. The consequence of not + ;; using the workaround is that the strings gathered by the kernel + ;; driver are too long and are filled with trailing garbage (including + ;; leftover strings). Writing this out by hand is a nuisance, so for + ;; now I will just live with the bug. + movx a, @dptr + mov r1, a + inc dptr + movx a, @dptr + mov r2, a + mov dptr, SUDPTRH + mov a, r1 + movx @dptr, a + mov dptr, SUDPTRL + mov a, r2 + movx @dptr, a + ;; done + ljmp setup_done_ack + +setup_Get_Descriptor_not_string: + ljmp setup_stall + +setup_breq_not_06: + cjne r2, #0x08, setup_breq_not_08 + ;; Get_Configuration. always 1. return one byte. + ;; this is reusable + mov a, #1 +setup_return_one_byte: + mov dptr, IN0BUF + movx @dptr, a + mov a, #1 + mov dptr, IN0BC + movx @dptr, a + ljmp setup_done_ack +setup_breq_not_08: + cjne r2, #0x09, setup_breq_not_09 + ;; 09: Set_Configuration. ignored. + ljmp setup_done_ack +setup_breq_not_09: + cjne r2, #0x0a, setup_breq_not_0a + ;; 0a: Get_Interface. get the current altsetting for int[wIndexL] + ;; since we only have one interface, ignore wIndexL, return a 0 + mov a, #0 + ljmp setup_return_one_byte +setup_breq_not_0a: + cjne r2, #0x0b, setup_breq_not_0b + ;; 0b: Set_Interface. set altsetting for interface[wIndexL]. ignored + ljmp setup_done_ack +setup_breq_not_0b: + ljmp setup_stall + + +setup_done_ack: + ;; now clear HSNAK + mov dptr, EP0CS + mov a, #0x02 + movx @dptr, a + sjmp setup_done +setup_stall: + ;; unhandled. STALL + ;EP0CS |= bmEPSTALL + mov dptr, EP0CS + movx a, @dptr + orl a, EP0STALLbit + movx @dptr, a + sjmp setup_done + +setup_done: + pop acc + pop dph1 + pop dpl1 + pop dph + pop dpl + pop dps + reti + +;;; ============================================================== + +set_baud: ; baud index in r3 + ;; verify a < 10 + mov a, r3 + jb ACC.7, set_baud__badbaud + clr c + subb a, #10 + jnc set_baud__badbaud + mov a, r3 + rl a ; a = index*2 + add a, #LOW(baud_table) + mov dpl, a + mov a, #HIGH(baud_table) + addc a, #0 + mov dph, a + ;; TODO: shut down xmit/receive + ;; TODO: wait for current xmit char to leave + ;; TODO: shut down timer to avoid partial-char glitch + movx a,@dptr ; BAUD_HIGH + mov RCAP2H, a + mov TH2, a + inc dptr + movx a,@dptr ; BAUD_LOW + mov RCAP2L, a + mov TL2, a + ;; TODO: restart xmit/receive + ;; TODO: reenable interrupts, resume tx if pending + clr c ; c=0: success + ret +set_baud__badbaud: + setb c ; c=1: failure + ret + +;;; ================================================== +control_pins: + cjne r1, #0x41, control_pins_in +control_pins_out: + mov a, r3 ; wValue[0] holds new bits: b7 is new DTR, b2 is new RTS + xrl a, #0xff ; 1 means active, 0V, +12V ? + anl a, #0x84 + mov r3, a + mov dptr, OUTC + movx a, @dptr ; only change bits 7 and 2 + anl a, #0x7b ; ~0x84 + orl a, r3 + movx @dptr, a ; other pins are inputs, bits ignored + ljmp setup_done_ack +control_pins_in: + mov dptr, PINSC + movx a, @dptr + xrl a, #0xff + ljmp setup_return_one_byte + +;;; ======================================== + +ISR_Ep2in: + push dps + push dpl + push dph + push dpl1 + push dph1 + push acc + mov a,EXIF + clr acc.4 + mov EXIF,a ; clear INT2 first + mov dptr, IN07IRQ ; clear USB int + mov a,#04h + movx @dptr,a + + ;; do stuff + lcall start_in + + pop acc + pop dph1 + pop dpl1 + pop dph + pop dpl + pop dps + reti + +ISR_Ep2out: + push dps + push dpl + push dph + push dpl1 + push dph1 + push acc + mov a,EXIF + clr acc.4 + mov EXIF,a ; clear INT2 first + mov dptr, OUT07IRQ ; clear USB int + mov a,#04h + movx @dptr,a + + ;; do stuff + + ;; copy data into buffer. for now, assume we will have enough space + mov dptr, OUT2BC ; get byte count + movx a,@dptr + mov r1, a + clr a + mov dps, a + mov dptr, OUT2BUF ; load DPTR0 with source + mov dph1, #HIGH(tx_ring) ; load DPTR1 with target + mov dpl1, tx_ring_in +OUT_loop: + movx a,@dptr ; read + inc dps ; switch to DPTR1: target + inc dpl1 ; target = tx_ring_in+1 + movx @dptr,a ; store + mov a,dpl1 + cjne a, tx_ring_out, OUT_no_overflow + sjmp OUT_overflow +OUT_no_overflow: + inc tx_ring_in ; tx_ring_in++ + inc dps ; switch to DPTR0: source + inc dptr + djnz r1, OUT_loop + sjmp OUT_done +OUT_overflow: + ;; signal overflow + ;; fall through +OUT_done: + ;; ack + mov dptr,OUT2BC + movx @dptr,a + + ;; start tx + acall maybe_start_tx + ;acall dump_stat + + pop acc + pop dph1 + pop dpl1 + pop dph + pop dpl + pop dps + reti + +dump_stat: + ;; fill in EP4in with a debugging message: + ;; tx_ring_in, tx_ring_out, rx_ring_in, rx_ring_out + ;; tx_active + ;; tx_ring[0..15] + ;; 0xfc + ;; rx_ring[0..15] + clr a + mov dps, a + + mov dptr, IN4CS + movx a, @dptr + jb acc.1, dump_stat__done; busy: cannot dump, old one still pending + mov dptr, IN4BUF + + mov a, tx_ring_in + movx @dptr, a + inc dptr + mov a, tx_ring_out + movx @dptr, a + inc dptr + + mov a, rx_ring_in + movx @dptr, a + inc dptr + mov a, rx_ring_out + movx @dptr, a + inc dptr + + clr a + jnb TX_RUNNING, dump_stat__no_tx_running + inc a +dump_stat__no_tx_running: + movx @dptr, a + inc dptr + ;; tx_ring[0..15] + inc dps + mov dptr, #tx_ring ; DPTR1: source + mov r1, #16 +dump_stat__tx_ring_loop: + movx a, @dptr + inc dptr + inc dps + movx @dptr, a + inc dptr + inc dps + djnz r1, dump_stat__tx_ring_loop + inc dps + + mov a, #0xfc + movx @dptr, a + inc dptr + + ;; rx_ring[0..15] + inc dps + mov dptr, #rx_ring ; DPTR1: source + mov r1, #16 +dump_stat__rx_ring_loop: + movx a, @dptr + inc dptr + inc dps + movx @dptr, a + inc dptr + inc dps + djnz r1, dump_stat__rx_ring_loop + + ;; now send it + clr a + mov dps, a + mov dptr, IN4BC + mov a, #38 + movx @dptr, a +dump_stat__done: + ret + +;;; ============================================================ + +maybe_start_tx: + ;; make sure the tx process is running. + jb TX_RUNNING, start_tx_done +start_tx: + ;; is there work to be done? + mov a, tx_ring_in + cjne a,tx_ring_out, start_tx__work + ret ; no work +start_tx__work: + ;; tx was not running. send the first character, setup the TI int + inc tx_ring_out ; [++tx_ring_out] + mov dph, #HIGH(tx_ring) + mov dpl, tx_ring_out + movx a, @dptr + mov sbuf, a + setb TX_RUNNING +start_tx_done: + ;; can we unthrottle the host tx process? + ;; step 1: do we care? + mov a, #0 + cjne a, tx_unthrottle_threshold, start_tx__maybe_unthrottle_tx + ;; nope +start_tx_really_done: + ret +start_tx__maybe_unthrottle_tx: + ;; step 2: is there now room? + mov a, tx_ring_out + setb c + subb a, tx_ring_in + ;; a is now write_room. If thresh >= a, we can unthrottle + clr c + subb a, tx_unthrottle_threshold + jc start_tx_really_done ; nope + ;; yes, we can unthrottle. remove the threshold and mark a request + mov tx_unthrottle_threshold, #0 + setb DO_TX_UNTHROTTLE + ;; prod rx, which will actually send the message when in2 becomes free + ljmp start_in + + +serial_int: + push dps + push dpl + push dph + push dpl1 + push dph1 + push acc + jnb TI, serial_int__not_tx + ;; tx finished. send another character if we have one + clr TI ; clear int + clr TX_RUNNING + lcall start_tx +serial_int__not_tx: + jnb RI, serial_int__not_rx + lcall get_rx_char + clr RI ; clear int +serial_int__not_rx: + ;; return + pop acc + pop dph1 + pop dpl1 + pop dph + pop dpl + pop dps + reti + +get_rx_char: + mov dph, #HIGH(rx_ring) + mov dpl, rx_ring_in + inc dpl ; target = rx_ring_in+1 + mov a, sbuf + movx @dptr, a + ;; check for overflow before incrementing rx_ring_in + mov a, dpl + cjne a, rx_ring_out, get_rx_char__no_overflow + ;; signal overflow + ret +get_rx_char__no_overflow: + inc rx_ring_in + ;; kick off USB INpipe + acall start_in + ret + +start_in: + ;; check if the inpipe is already running. + mov dptr, IN2CS + movx a, @dptr + jb acc.1, start_in__done; int will handle it + jb DO_TX_UNTHROTTLE, start_in__do_tx_unthrottle + ;; see if there is any work to do. a serial interrupt might occur + ;; during this sequence? + mov a, rx_ring_in + cjne a, rx_ring_out, start_in__have_work + ret ; nope +start_in__have_work: + ;; now copy as much data as possible into the pipe. 63 bytes max. + clr a + mov dps, a + mov dph, #HIGH(rx_ring) ; load DPTR0 with source + inc dps + mov dptr, IN2BUF ; load DPTR1 with target + movx @dptr, a ; in[0] signals that rest of IN is rx data + inc dptr + inc dps + ;; loop until we run out of data, or we have copied 64 bytes + mov r1, #1 ; INbuf size counter +start_in__loop: + mov a, rx_ring_in + cjne a, rx_ring_out, start_inlocal_irq_enablell_copying + sjmp start_in__kick +start_inlocal_irq_enablell_copying: + inc rx_ring_out + mov dpl, rx_ring_out + movx a, @dptr + inc dps + movx @dptr, a ; write into IN buffer + inc dptr + inc dps + inc r1 + cjne r1, #64, start_in__loop; loop +start_in__kick: + ;; either we ran out of data, or we copied 64 bytes. r1 has byte count + ;; kick off IN + mov dptr, IN2BC + mov a, r1 + jz start_in__done + movx @dptr, a + ;; done +start_in__done: + ;acall dump_stat + ret +start_in__do_tx_unthrottle: + ;; special sequence: send a tx unthrottle message + clr DO_TX_UNTHROTTLE + clr a + mov dps, a + mov dptr, IN2BUF + mov a, #1 + movx @dptr, a + inc dptr + mov a, #2 + movx @dptr, a + mov dptr, IN2BC + movx @dptr, a + ret + +putchar: + clr TI + mov SBUF, a +putchar_wait: + jnb TI, putchar_wait + clr TI + ret + + +baud_table: ; baud_high, then baud_low + ;; baud[0]: 110 + .byte BAUD_HIGH(110) + .byte BAUD_LOW(110) + ;; baud[1]: 300 + .byte BAUD_HIGH(300) + .byte BAUD_LOW(300) + ;; baud[2]: 1200 + .byte BAUD_HIGH(1200) + .byte BAUD_LOW(1200) + ;; baud[3]: 2400 + .byte BAUD_HIGH(2400) + .byte BAUD_LOW(2400) + ;; baud[4]: 4800 + .byte BAUD_HIGH(4800) + .byte BAUD_LOW(4800) + ;; baud[5]: 9600 + .byte BAUD_HIGH(9600) + .byte BAUD_LOW(9600) + ;; baud[6]: 19200 + .byte BAUD_HIGH(19200) + .byte BAUD_LOW(19200) + ;; baud[7]: 38400 + .byte BAUD_HIGH(38400) + .byte BAUD_LOW(38400) + ;; baud[8]: 57600 + .byte BAUD_HIGH(57600) + .byte BAUD_LOW(57600) + ;; baud[9]: 115200 + .byte BAUD_HIGH(115200) + .byte BAUD_LOW(115200) + +desc_device: + .byte 0x12, 0x01, 0x00, 0x01, 0xff, 0xff, 0xff, 0x40 + .byte 0xcd, 0x06, 0x04, 0x01, 0x89, 0xab, 1, 2, 3, 0x01 +;;; The "real" device id, which must match the host driver, is that +;;; "0xcd 0x06 0x04 0x01" sequence, which is 0x06cd, 0x0104 + +desc_config1: + .byte 0x09, 0x02, 0x20, 0x00, 0x01, 0x01, 0x00, 0x80, 0x32 + .byte 0x09, 0x04, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0x00 + .byte 0x07, 0x05, 0x82, 0x03, 0x40, 0x00, 0x01 + .byte 0x07, 0x05, 0x02, 0x02, 0x40, 0x00, 0x00 + +desc_strings: + .word string_langids, string_mfg, string_product, string_serial +desc_strings_end: + +string_langids: .byte string_langids_end-string_langids + .byte 3 + .word 0 +string_langids_end: + + ;; sigh. These strings are Unicode, meaning UTF16? 2 bytes each. Now + ;; *that* is a pain in the ass to encode. And they are little-endian + ;; too. Use this perl snippet to get the bytecodes: + /* while (<>) { + @c = split(//); + foreach $c (@c) { + printf("0x%02x, 0x00, ", ord($c)); + } + } + */ + +string_mfg: .byte string_mfg_end-string_mfg + .byte 3 +; .byte "ACME usb widgets" + .byte 0x41, 0x00, 0x43, 0x00, 0x4d, 0x00, 0x45, 0x00, 0x20, 0x00, 0x75, 0x00, 0x73, 0x00, 0x62, 0x00, 0x20, 0x00, 0x77, 0x00, 0x69, 0x00, 0x64, 0x00, 0x67, 0x00, 0x65, 0x00, 0x74, 0x00, 0x73, 0x00 +string_mfg_end: + +string_product: .byte string_product_end-string_product + .byte 3 +; .byte "ACME USB serial widget" + .byte 0x41, 0x00, 0x43, 0x00, 0x4d, 0x00, 0x45, 0x00, 0x20, 0x00, 0x55, 0x00, 0x53, 0x00, 0x42, 0x00, 0x20, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x69, 0x00, 0x61, 0x00, 0x6c, 0x00, 0x20, 0x00, 0x77, 0x00, 0x69, 0x00, 0x64, 0x00, 0x67, 0x00, 0x65, 0x00, 0x74, 0x00 +string_product_end: + +string_serial: .byte string_serial_end-string_serial + .byte 3 +; .byte "47" + .byte 0x34, 0x00, 0x37, 0x00 +string_serial_end: + +;;; ring buffer memory + ;; tx_ring_in+1 is where the next input byte will go + ;; [tx_ring_out] has been sent + ;; if tx_ring_in == tx_ring_out, theres no work to do + ;; there are (tx_ring_in - tx_ring_out) chars to be written + ;; dont let _in lap _out + ;; cannot inc if tx_ring_in+1 == tx_ring_out + ;; write [tx_ring_in+1] then tx_ring_in++ + ;; if (tx_ring_in+1 == tx_ring_out), overflow + ;; else tx_ring_in++ + ;; read/send [tx_ring_out+1], then tx_ring_out++ + + ;; rx_ring_in works the same way + + .org 0x1000 +tx_ring: + .skip 0x100 ; 256 bytes +rx_ring: + .skip 0x100 ; 256 bytes + + + .END + diff --git a/firmware/keyspan_pda/xircom_pgs.HEX b/firmware/keyspan_pda/xircom_pgs.HEX new file mode 100644 index 0000000..e9b00d7 --- /dev/null +++ b/firmware/keyspan_pda/xircom_pgs.HEX @@ -0,0 +1,87 @@ +:03000000020200F9 +:0400230002059B0037 +:050030000000000000CB +:0400430002010000B6 +:100100000202BA000200000002000000020000002B +:1001100002000000020000000200000002000000D7 +:100120000200000002000000020485000204B90081 +:1002000075815EE4F532F533F530F531F534C20031 +:10021000C201A90074FE901000F0A3D9FC74FD90F7 +:100220001100F0A3D9FC907F9474BFF0907F957477 +:10023000EFF07410907F9EF07400907F98F07440FF +:10024000907F9DF07400907F97F07482907F9EF075 +:10025000907F957403F0907FAFE0D2E0F07401904E +:100260007FABF0907FAEF0907FAC7404F0907FADE8 +:100270007404F0907FC9F07407907FAFF074209001 +:100280007F9CF07480907F98F07453F59875C83017 +:100290007B059144D2CA759850D2E8D2AFD2AC74E3 +:1002A00000F586907FD67402F0792E7A007B00DB11 +:1002B000FEDAFAD9F67406F080FEC086C082C083EA +:1002C000C084C085C0E0E591C2E4F591907FAB7435 +:1002D00001F0907FE8E0F9A3E0FAA3E0FBA3E0FCE3 +:1002E000E95460B4000302035DB4406EBA000B121F +:1002F0000444400302042602042EBA010302042E21 +:10030000BA020302042EBA0303020468BA041EBB35 +:10031000000A907F95E04402F0020426907F98E066 +:1003200054FDF0907F95E054FDF0020426BA0503D9 +:1003300002042EBA0619BB0008E533D39532020435 +:1003400002BB0108E532C3953302040202042EBA4F +:1003500007058B3402042602042E02042EBA002064 +:10036000B98010907F00E4F0A3F0907FB57402F0A4 +:10037000020426B9820280EBB9810280E602042ED3 +:10038000BA010FBB000302042EBB010302042602C4 +:10039000042EBA030FBB000302042EBB01030204A8 +:1003A0002602042EBA0656BC010F907FD47406F0C4 +:1003B000907FD5745AF0020426BC0212BB006F90E5 +:1003C0007FD47406F0907FD5746CF0020426BC03D1 +:1003D000297404C39B40576055EB2B90068C2582F3 +:1003E000F58274003583F583E0F9A3E0FA907FD4B9 +:1003F000E9F0907FD5EAF002042602042EBA080F35 +:100400007401907F00F07401907FB5F0020426BA69 +:100410000903020426BA0A057400020402BA0B0397 +:1004200002042602042E907FB47402F08009907FAB +:10043000B4E04401F08000D0E0D085D084D083D0F7 +:1004400082D08632EB20E71EC3940A5019EB232496 +:1004500046F58274063400F583E0F5CBF5CDA3E0D4 +:10046000F5CAF5CCC322D322B94111EB64FF548005 +:10047000FB907F98E0547F4BF0020426907F9BE036 +:1004800064FF020402C086C082C083C084C085C0ED +:10049000E0E591C2E4F591907FA97404F074209096 +:1004A0007F9CF01205DC7420907F9CF0D0E0D0851A +:1004B000D084D083D082D08632C086C082C083C030 +:1004C00084C085C0E07410907F9CF0E591C2E4F593 +:1004D00091907FAA7404F0907FC9E0F9E4F58690CA +:1004E0007DC0758510853284E005860584F0E5843D +:1004F000B53302800905320586A3D9EC8000907FD0 +:10050000C9F0B16D7420907F9CF0D0E0D085D0848C +:10051000D083D082D08632E4F586907FBCE020E1A3 +:100520004B907D00E532F0A3E533F0A3E530F0A376 +:10053000E531F0A3E430000104F0A305869010003B +:100540007910E0A30586F0A30586D9F6058674FC2C +:10055000F0A305869011007910E0A30586F0A305AD +:1005600086D9F6E4F586907FBD7426F0222000132C +:10057000E532B53301220533758310853382E0F50A +:1005800099D2007400B5340122E533D39532C39576 +:100590003440F5753400D2010205DCC086C082C04B +:1005A00083C084C085C0E0309907C299C20012059B +:1005B000703098051205C6C298D0E0D085D084D09E +:1005C00083D082D086327583118530820582E59989 +:1005D000F0E582B53101220530B1DC227410907F44 +:1005E0009CF0907FB8E020E13E20013CE530B53141 +:1005F0000122E4F5867583110586907E00F0A3053F +:10060000867901E530B5310280100531853182E00F +:100610000586F0A3058609B940E97410907F9CF027 +:10062000907FB9E96001F022C201E4F586907E0076 +:100630007401F0A37402F0907FB9F022C299F59989 +:100640003099FDC29922E55EF63CFD8FFEC8FF643D +:10065000FFB2FFD9FFEDFFF3FFFA12010001FFFF28 +:10066000FF40CD06040189AB01020301090220000D +:1006700001010080320904000002FFFFFF000705AE +:10068000820340000107050202400000069406981C +:1006900006BA06E8040300002203410043004D00AF +:1006A000450020007500730062002000770069009B +:1006B000640067006500740073002E03410043006E +:1006C0004D004500200055005300420020007300FB +:1006D00065007200690061006C002000770069000D +:0E06E0006400670065007400060334003700F4 +:00000001FF diff --git a/firmware/keyspan_pda/xircom_pgs.S b/firmware/keyspan_pda/xircom_pgs.S new file mode 100644 index 0000000..05d99dd --- /dev/null +++ b/firmware/keyspan_pda/xircom_pgs.S @@ -0,0 +1,1192 @@ +/* $Id: loop.s,v 1.23 2000/03/20 09:49:06 warner Exp $ + * + * Firmware for the Keyspan PDA Serial Adapter, a USB serial port based on + * the EzUSB microcontroller. + * + * (C) Copyright 2000 Brian Warner + * + * 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. + * + * "Keyspan PDA Serial Adapter" is probably a copyright of Keyspan, the + * company. + * + * This serial adapter is basically an EzUSB chip and an RS-232 line driver + * in a little widget that has a DB-9 on one end and a USB plug on the other. + * It uses the EzUSB's internal UART0 (using the pins from Port C) and timer2 + * as a baud-rate generator. The wiring is: + * PC0/RxD0 <- rxd (DB9 pin 2) PC4 <- dsr pin 6 + * PC1/TxD0 -> txd pin 3 PC5 <- ri pin 9 + * PC2 -> rts pin 7 PC6 <- dcd pin 1 + * PC3 <- cts pin 8 PC7 -> dtr pin 4 + * PB1 -> line driver standby + * + * The EzUSB register constants below come from their excellent documentation + * and sample code (which used to be available at www.anchorchips.com, but + * that has now been absorbed into Cypress' site and the CD-ROM contents + * don't appear to be available online anymore). If we get multiple + * EzUSB-based drivers into the kernel, it might be useful to pull them out + * into a separate .h file. + * + * THEORY OF OPERATION: + * + * There are two 256-byte ring buffers, one for tx, one for rx. + * + * EP2out is pure tx data. When it appears, the data is copied into the tx + * ring and serial transmission is started if it wasn't already running. The + * "tx buffer empty" interrupt may kick off another character if the ring + * still has data. If the host is tx-blocked because the ring filled up, + * it will request a "tx unthrottle" interrupt. If sending a serial character + * empties the ring below the desired threshold, we set a bit that will send + * up the tx unthrottle message as soon as the rx buffer becomes free. + * + * EP2in (interrupt) is used to send both rx chars and rx status messages + * (only "tx unthrottle" at this time) back up to the host. The first byte + * of the rx message indicates data (0) or status msg (1). Status messages + * are sent before any data. + * + * Incoming serial characters are put into the rx ring by the serial + * interrupt, and the EP2in buffer sent if it wasn't already in transit. + * When the EP2in buffer returns, the interrupt prompts us to send more + * rx chars (or status messages) if they are pending. + * + * Device control happens through "vendor specific" control messages on EP0. + * All messages are destined for the "Interface" (with the index always 0, + * so that if their two-port device might someday use similar firmware, we + * can use index=1 to refer to the second port). The messages defined are: + * + * bRequest = 0 : set baud/bits/parity + * 1 : unused + * 2 : reserved for setting HW flow control (CTSRTS) + * 3 : get/set "modem info" (pin states: DTR, RTS, DCD, RI, etc) + * 4 : set break (on/off) + * 5 : reserved for requesting interrupts on pin state change + * 6 : query buffer room or chars in tx buffer + * 7 : request tx unthrottle interrupt + * + * The host-side driver is set to recognize the device ID values stashed in + * serial EEPROM (0x06cd, 0x0103), program this firmware into place, then + * start it running. This firmware will use EzUSB's "renumeration" trick by + * simulating a bus disconnect, then reconnect with a different device ID + * (encoded in the desc_device descriptor below). The host driver then + * recognizes the new device ID and glues it to the real serial driver code. + * + * USEFUL DOCS: + * EzUSB Technical Reference Manual: + * 8051 manuals: everywhere, but try www.dalsemi.com because the EzUSB is + * basically the Dallas enhanced 8051 code. Remember that the EzUSB IO ports + * use totally different registers! + * USB 1.1 spec: www.usb.org + * + * HOW TO BUILD: + * gcc -x assembler-with-cpp -P -E -o keyspan_pda.asm keyspan_pda.s + * as31 -l keyspan_pda.asm + * mv keyspan_pda.obj keyspan_pda.hex + * perl ezusb_convert.pl keyspan_pda < keyspan_pda.hex > keyspan_pda_fw.h + * Get as31 from , and hack on it + * a bit to make it build. + * + * THANKS: + * Greg Kroah-Hartman, for coordinating the whole usb-serial thing. + * AnchorChips, for making such an incredibly useful little microcontroller. + * KeySpan, for making a handy, cheap ($40) widget that was so easy to take + * apart and trace with an ohmmeter. + * + * TODO: + * lots. grep for TODO. Interrupt safety needs stress-testing. Better flow + * control. Interrupting host upon change in DCD, etc, counting transitions. + * Need to find a safe device id to use (the one used by the Keyspan firmware + * under Windows would be ideal.. can anyone figure out what it is?). Parity. + * More baud rates. Oh, and the string-descriptor-length silicon bug + * workaround should be implemented, but I'm lazy, and the consequence is + * that the device name strings that show up in your kernel log will have + * lots of trailing binary garbage in them (appears as ????). Device strings + * should be made more accurate. + * + * Questions, bugs, patches to Brian. + * + * -Brian Warner + * + */ + +#define HIGH(x) (((x) & 0xff00) / 256) +#define LOW(x) ((x) & 0xff) + +#define dpl1 0x84 +#define dph1 0x85 +#define dps 0x86 + +;;; our bit assignments +#define TX_RUNNING 0 +#define DO_TX_UNTHROTTLE 1 + + ;; stack from 0x60 to 0x7f: should really set SP to 0x60-1, not 0x60 +#define STACK #0x60-1 + +#define EXIF 0x91 +#define EIE 0xe8 + .flag EUSB, EIE.0 + .flag ES0, IE.4 + +#define EP0CS #0x7fb4 +#define EP0STALLbit #0x01 +#define IN0BUF #0x7f00 +#define IN0BC #0x7fb5 +#define OUT0BUF #0x7ec0 +#define OUT0BC #0x7fc5 +#define IN2BUF #0x7e00 +#define IN2BC #0x7fb9 +#define IN2CS #0x7fb8 +#define OUT2BC #0x7fc9 +#define OUT2CS #0x7fc8 +#define OUT2BUF #0x7dc0 +#define IN4BUF #0x7d00 +#define IN4BC #0x7fbd +#define IN4CS #0x7fbc +#define OEB #0x7f9d +#define OUTB #0x7f97 +#define OEC #0x7f9e +#define OUTC #0x7f98 +#define PINSC #0x7f9b +#define PORTBCFG #0x7f94 +#define PORTCCFG #0x7f95 +#define OEA #0x7f9c +#define IN07IRQ #0x7fa9 +#define OUT07IRQ #0x7faa +#define IN07IEN #0x7fac +#define OUT07IEN #0x7fad +#define USBIRQ #0x7fab +#define USBIEN #0x7fae +#define USBBAV #0x7faf +#define USBCS #0x7fd6 +#define SUDPTRH #0x7fd4 +#define SUDPTRL #0x7fd5 +#define SETUPDAT #0x7fe8 + + ;; usb interrupt : enable is EIE.0 (0xe8), flag is EXIF.4 (0x91) + + .org 0 + ljmp start + ;; interrupt vectors + .org 23H + ljmp serial_int + .byte 0 + + .org 43H + ljmp USB_Jump_Table + .byte 0 ; filled in by the USB core + +;;; local variables. These are not initialized properly: do it by hand. + .org 30H +rx_ring_in: .byte 0 +rx_ring_out: .byte 0 +tx_ring_in: .byte 0 +tx_ring_out: .byte 0 +tx_unthrottle_threshold: .byte 0 + + .org 0x100H ; wants to be on a page boundary +USB_Jump_Table: + ljmp ISR_Sudav ; Setup Data Available + .byte 0 + ljmp 0 ; Start of Frame + .byte 0 + ljmp 0 ; Setup Data Loading + .byte 0 + ljmp 0 ; Global Suspend + .byte 0 + ljmp 0 ; USB Reset + .byte 0 + ljmp 0 ; Reserved + .byte 0 + ljmp 0 ; End Point 0 In + .byte 0 + ljmp 0 ; End Point 0 Out + .byte 0 + ljmp 0 ; End Point 1 In + .byte 0 + ljmp 0 ; End Point 1 Out + .byte 0 + ljmp ISR_Ep2in + .byte 0 + ljmp ISR_Ep2out + .byte 0 + + + .org 0x200 + +start: mov SP,STACK-1 ; set stack + ;; clear local variables + clr a + mov tx_ring_in, a + mov tx_ring_out, a + mov rx_ring_in, a + mov rx_ring_out, a + mov tx_unthrottle_threshold, a + clr TX_RUNNING + clr DO_TX_UNTHROTTLE + + ;; clear fifo with "fe" + mov r1, 0 + mov a, #0xfe + mov dptr, #tx_ring +clear_tx_ring_loop: + movx @dptr, a + inc dptr + djnz r1, clear_tx_ring_loop + + mov a, #0xfd + mov dptr, #rx_ring +clear_rx_ring_loop: + movx @dptr, a + inc dptr + djnz r1, clear_rx_ring_loop + +;;; turn on the RS-232 driver chip (bring the STANDBY pin low) +;;; on Xircom the STANDBY is wired to PB6 and PC4 + mov dptr, PORTBCFG + mov a, #0xBf + movx @dptr, a + mov dptr, PORTCCFG + mov a, #0xef + movx @dptr, a + + ;; set OEC.4 + mov a, #0x10 + mov dptr,OEC + movx @dptr,a + + ;; clear PC4 + mov a, #0x00 + mov dptr,OUTC + movx @dptr,a + + ;; set OEB.6 + mov a, #0x40 + mov dptr,OEB + movx @dptr,a + + ;; clear PB6 + mov a, #0x00 + mov dptr,OUTB + movx @dptr,a + + ;; set OEC.[17] + mov a, #0x82 + mov dptr,OEC + movx @dptr,a + + + ;; set PORTCCFG.[01] to route TxD0,RxD0 to serial port + mov dptr, PORTCCFG + mov a, #0x03 + movx @dptr, a + + ;; set up interrupts, autovectoring + ;; set BKPT + mov dptr, USBBAV + movx a,@dptr + setb acc.0 ; AVEN bit to 0 + movx @dptr, a + + mov a,#0x01 ; enable SUDAV: setup data available (for ep0) + mov dptr, USBIRQ + movx @dptr, a ; clear SUDAVI + mov dptr, USBIEN + movx @dptr, a + + mov dptr, IN07IEN + mov a,#0x04 ; enable IN2 int + movx @dptr, a + + mov dptr, OUT07IEN + mov a,#0x04 ; enable OUT2 int + movx @dptr, a + mov dptr, OUT2BC + movx @dptr, a ; arm OUT2 + +;; mov a, #0x84 ; turn on RTS, DTR +;; mov dptr,OUTC +;; movx @dptr, a + + mov a, #0x7 ; turn on DTR + mov dptr,USBBAV + movx @dptr, a + + mov a, #0x20 ; turn on the RED led + mov dptr,OEA + movx @dptr, a + + mov a, #0x80 ; turn on RTS + mov dptr,OUTC + movx @dptr, a + + ;; setup the serial port. 9600 8N1. + mov a,#0x53 ; mode 1, enable rx, clear int + mov SCON, a + ;; using timer2, in 16-bit baud-rate-generator mode + ;; (xtal 12MHz, internal fosc 24MHz) + ;; RCAP2H,RCAP2L = 65536 - fosc/(32*baud) + ;; 57600: 0xFFF2.F, say 0xFFF3 + ;; 9600: 0xFFB1.E, say 0xFFB2 + ;; 300: 0xF63C +#define BAUD 9600 +#define BAUD_TIMEOUT(rate) (65536 - (24 * 1000 * 1000) / (32 * rate)) +#define BAUD_HIGH(rate) HIGH(BAUD_TIMEOUT(rate)) +#define BAUD_LOW(rate) LOW(BAUD_TIMEOUT(rate)) + + mov T2CON, #030h ; rclk=1,tclk=1,cp=0,tr2=0(enable later) + mov r3, #5 + acall set_baud + setb TR2 + mov SCON, #050h + +#if 0 + mov r1, #0x40 + mov a, #0x41 +send: + mov SBUF, a + inc a + anl a, #0x3F + orl a, #0x40 +; xrl a, #0x02 +wait1: + jnb TI, wait1 + clr TI + djnz r1, send +;done: sjmp done + +#endif + + setb EUSB + setb EA + setb ES0 + ;acall dump_stat + + ;; hey, what say we RENUMERATE! (TRM p.62) + mov a, #0 + mov dps, a + mov dptr, USBCS + mov a, #0x02 ; DISCON=0, DISCOE=0, RENUM=1 + movx @dptr, a + ;; now presence pin is floating, simulating disconnect. wait 0.5s + mov r1, #46 +renum_wait1: + mov r2, #0 +renum_wait2: + mov r3, #0 +renum_wait3: + djnz r3, renum_wait3 + djnz r2, renum_wait2 + djnz r1, renum_wait1 ; wait about n*(256^2) 6MHz clocks + mov a, #0x06 ; DISCON=0, DISCOE=1, RENUM=1 + movx @dptr, a + ;; we are back online. the host device will now re-query us + + +main: sjmp main + + + +ISR_Sudav: + push dps + push dpl + push dph + push dpl1 + push dph1 + push acc + mov a,EXIF + clr acc.4 + mov EXIF,a ; clear INT2 first + mov dptr, USBIRQ ; clear USB int + mov a,#01h + movx @dptr,a + + ;; get request type + mov dptr, SETUPDAT + movx a, @dptr + mov r1, a ; r1 = bmRequestType + inc dptr + movx a, @dptr + mov r2, a ; r2 = bRequest + inc dptr + movx a, @dptr + mov r3, a ; r3 = wValueL + inc dptr + movx a, @dptr + mov r4, a ; r4 = wValueH + + ;; main switch on bmRequest.type: standard or vendor + mov a, r1 + anl a, #0x60 + cjne a, #0x00, setup_bmreq_type_not_standard + ;; standard request: now main switch is on bRequest + ljmp setup_bmreq_is_standard + +setup_bmreq_type_not_standard: + ;; a still has bmreq&0x60 + cjne a, #0x40, setup_bmreq_type_not_vendor + ;; Anchor reserves bRequest 0xa0-0xaf, we use small ones + ;; switch on bRequest. bmRequest will always be 0x41 or 0xc1 + cjne r2, #0x00, setup_ctrl_not_00 + ;; 00 is set baud, wValue[0] has baud rate index + lcall set_baud ; index in r3, carry set if error + jc setup_bmreq_type_not_standard__do_stall + ljmp setup_done_ack +setup_bmreq_type_not_standard__do_stall: + ljmp setup_stall +setup_ctrl_not_00: + cjne r2, #0x01, setup_ctrl_not_01 + ;; 01 is reserved for set bits (parity). TODO + ljmp setup_stall +setup_ctrl_not_01: + cjne r2, #0x02, setup_ctrl_not_02 + ;; 02 is set HW flow control. TODO + ljmp setup_stall +setup_ctrl_not_02: + cjne r2, #0x03, setup_ctrl_not_03 + ;; 03 is control pins (RTS, DTR). + ljmp control_pins ; will jump to setup_done_ack, + ; or setup_return_one_byte +setup_ctrl_not_03: + cjne r2, #0x04, setup_ctrl_not_04 + ;; 04 is send break (really "turn break on/off"). TODO + cjne r3, #0x00, setup_ctrl_do_break_on + ;; do break off: restore PORTCCFG.1 to reconnect TxD0 to serial port + mov dptr, PORTCCFG + movx a, @dptr + orl a, #0x02 + movx @dptr, a + ljmp setup_done_ack +setup_ctrl_do_break_on: + ;; do break on: clear PORTCCFG.0, set TxD high(?) (b1 low) + mov dptr, OUTC + movx a, @dptr + anl a, #0xfd ; ~0x02 + movx @dptr, a + mov dptr, PORTCCFG + movx a, @dptr + anl a, #0xfd ; ~0x02 + movx @dptr, a + ljmp setup_done_ack +setup_ctrl_not_04: + cjne r2, #0x05, setup_ctrl_not_05 + ;; 05 is set desired interrupt bitmap. TODO + ljmp setup_stall +setup_ctrl_not_05: + cjne r2, #0x06, setup_ctrl_not_06 + ;; 06 is query room + cjne r3, #0x00, setup_ctrl_06_not_00 + ;; 06, wValue[0]=0 is query write_room + mov a, tx_ring_out + setb c + subb a, tx_ring_in ; out-1-in = 255 - (in-out) + ljmp setup_return_one_byte +setup_ctrl_06_not_00: + cjne r3, #0x01, setup_ctrl_06_not_01 + ;; 06, wValue[0]=1 is query chars_in_buffer + mov a, tx_ring_in + clr c + subb a, tx_ring_out ; in-out + ljmp setup_return_one_byte +setup_ctrl_06_not_01: + ljmp setup_stall +setup_ctrl_not_06: + cjne r2, #0x07, setup_ctrl_not_07 + ;; 07 is request tx unthrottle interrupt + mov tx_unthrottle_threshold, r3; wValue[0] is threshold value + ljmp setup_done_ack +setup_ctrl_not_07: + ljmp setup_stall + +setup_bmreq_type_not_vendor: + ljmp setup_stall + + +setup_bmreq_is_standard: + cjne r2, #0x00, setup_breq_not_00 + ;; 00: Get_Status (sub-switch on bmRequestType: device, ep, int) + cjne r1, #0x80, setup_Get_Status_not_device + ;; Get_Status(device) + ;; are we self-powered? no. can we do remote wakeup? no + ;; so return two zero bytes. This is reusable +setup_return_two_zero_bytes: + mov dptr, IN0BUF + clr a + movx @dptr, a + inc dptr + movx @dptr, a + mov dptr, IN0BC + mov a, #2 + movx @dptr, a + ljmp setup_done_ack +setup_Get_Status_not_device: + cjne r1, #0x82, setup_Get_Status_not_endpoint + ;; Get_Status(endpoint) + ;; must get stall bit for ep[wIndexL], return two bytes, bit in lsb 0 + ;; for now: cheat. TODO + sjmp setup_return_two_zero_bytes +setup_Get_Status_not_endpoint: + cjne r1, #0x81, setup_Get_Status_not_interface + ;; Get_Status(interface): return two zeros + sjmp setup_return_two_zero_bytes +setup_Get_Status_not_interface: + ljmp setup_stall + +setup_breq_not_00: + cjne r2, #0x01, setup_breq_not_01 + ;; 01: Clear_Feature (sub-switch on wValueL: stall, remote wakeup) + cjne r3, #0x00, setup_Clear_Feature_not_stall + ;; Clear_Feature(stall). should clear a stall bit. TODO + ljmp setup_stall +setup_Clear_Feature_not_stall: + cjne r3, #0x01, setup_Clear_Feature_not_rwake + ;; Clear_Feature(remote wakeup). ignored. + ljmp setup_done_ack +setup_Clear_Feature_not_rwake: + ljmp setup_stall + +setup_breq_not_01: + cjne r2, #0x03, setup_breq_not_03 + ;; 03: Set_Feature (sub-switch on wValueL: stall, remote wakeup) + cjne r3, #0x00, setup_Set_Feature_not_stall + ;; Set_Feature(stall). Should set a stall bit. TODO + ljmp setup_stall +setup_Set_Feature_not_stall: + cjne r3, #0x01, setup_Set_Feature_not_rwake + ;; Set_Feature(remote wakeup). ignored. + ljmp setup_done_ack +setup_Set_Feature_not_rwake: + ljmp setup_stall + +setup_breq_not_03: + cjne r2, #0x06, setup_breq_not_06 + ;; 06: Get_Descriptor (s-switch on wValueH: dev, config[n], string[n]) + cjne r4, #0x01, setup_Get_Descriptor_not_device + ;; Get_Descriptor(device) + mov dptr, SUDPTRH + mov a, #HIGH(desc_device) + movx @dptr, a + mov dptr, SUDPTRL + mov a, #LOW(desc_device) + movx @dptr, a + ljmp setup_done_ack +setup_Get_Descriptor_not_device: + cjne r4, #0x02, setup_Get_Descriptor_not_config + ;; Get_Descriptor(config[n]) + cjne r3, #0x00, setup_stall; only handle n==0 + ;; Get_Descriptor(config[0]) + mov dptr, SUDPTRH + mov a, #HIGH(desc_config1) + movx @dptr, a + mov dptr, SUDPTRL + mov a, #LOW(desc_config1) + movx @dptr, a + ljmp setup_done_ack +setup_Get_Descriptor_not_config: + cjne r4, #0x03, setup_Get_Descriptor_not_string + ;; Get_Descriptor(string[wValueL]) + ;; if (wValueL >= maxstrings) stall + mov a, #((desc_strings_end-desc_strings)/2) + clr c + subb a,r3 ; a=4, r3 = 0..3 . if a<=0 then stall + jc setup_stall + jz setup_stall + mov a, r3 + add a, r3 ; a = 2*wValueL + mov dptr, #desc_strings + add a, dpl + mov dpl, a + mov a, #0 + addc a, dph + mov dph, a ; dph = desc_strings[a]. big endian! (handy) + ;; it looks like my adapter uses a revision of the EZUSB that + ;; contains "rev D errata number 8", as hinted in the EzUSB example + ;; code. I cannot find an actual errata description on the Cypress + ;; web site, but from the example code it looks like this bug causes + ;; the length of string descriptors to be read incorrectly, possibly + ;; sending back more characters than the descriptor has. The workaround + ;; is to manually send out all of the data. The consequence of not + ;; using the workaround is that the strings gathered by the kernel + ;; driver are too long and are filled with trailing garbage (including + ;; leftover strings). Writing this out by hand is a nuisance, so for + ;; now I will just live with the bug. + movx a, @dptr + mov r1, a + inc dptr + movx a, @dptr + mov r2, a + mov dptr, SUDPTRH + mov a, r1 + movx @dptr, a + mov dptr, SUDPTRL + mov a, r2 + movx @dptr, a + ;; done + ljmp setup_done_ack + +setup_Get_Descriptor_not_string: + ljmp setup_stall + +setup_breq_not_06: + cjne r2, #0x08, setup_breq_not_08 + ;; Get_Configuration. always 1. return one byte. + ;; this is reusable + mov a, #1 +setup_return_one_byte: + mov dptr, IN0BUF + movx @dptr, a + mov a, #1 + mov dptr, IN0BC + movx @dptr, a + ljmp setup_done_ack +setup_breq_not_08: + cjne r2, #0x09, setup_breq_not_09 + ;; 09: Set_Configuration. ignored. + ljmp setup_done_ack +setup_breq_not_09: + cjne r2, #0x0a, setup_breq_not_0a + ;; 0a: Get_Interface. get the current altsetting for int[wIndexL] + ;; since we only have one interface, ignore wIndexL, return a 0 + mov a, #0 + ljmp setup_return_one_byte +setup_breq_not_0a: + cjne r2, #0x0b, setup_breq_not_0b + ;; 0b: Set_Interface. set altsetting for interface[wIndexL]. ignored + ljmp setup_done_ack +setup_breq_not_0b: + ljmp setup_stall + + +setup_done_ack: + ;; now clear HSNAK + mov dptr, EP0CS + mov a, #0x02 + movx @dptr, a + sjmp setup_done +setup_stall: + ;; unhandled. STALL + ;EP0CS |= bmEPSTALL + mov dptr, EP0CS + movx a, @dptr + orl a, EP0STALLbit + movx @dptr, a + sjmp setup_done + +setup_done: + pop acc + pop dph1 + pop dpl1 + pop dph + pop dpl + pop dps + reti + +;;; ============================================================== + +set_baud: ; baud index in r3 + ;; verify a < 10 + mov a, r3 + jb ACC.7, set_baud__badbaud + clr c + subb a, #10 + jnc set_baud__badbaud + mov a, r3 + rl a ; a = index*2 + add a, #LOW(baud_table) + mov dpl, a + mov a, #HIGH(baud_table) + addc a, #0 + mov dph, a + ;; TODO: shut down xmit/receive + ;; TODO: wait for current xmit char to leave + ;; TODO: shut down timer to avoid partial-char glitch + movx a,@dptr ; BAUD_HIGH + mov RCAP2H, a + mov TH2, a + inc dptr + movx a,@dptr ; BAUD_LOW + mov RCAP2L, a + mov TL2, a + ;; TODO: restart xmit/receive + ;; TODO: reenable interrupts, resume tx if pending + clr c ; c=0: success + ret +set_baud__badbaud: + setb c ; c=1: failure + ret + +;;; ================================================== +control_pins: + cjne r1, #0x41, control_pins_in +control_pins_out: + ;TODO BKPT is DTR + mov a, r3 ; wValue[0] holds new bits: b7 is new RTS + xrl a, #0xff ; 1 means active, 0V, +12V ? + anl a, #0x80 + mov r3, a + mov dptr, OUTC + movx a, @dptr ; only change bit 7 + anl a, #0x7F ; ~0x84 + orl a, r3 + movx @dptr, a ; other pins are inputs, bits ignored + ljmp setup_done_ack +control_pins_in: + mov dptr, PINSC + movx a, @dptr + xrl a, #0xff + ljmp setup_return_one_byte + +;;; ======================================== + +ISR_Ep2in: + push dps + push dpl + push dph + push dpl1 + push dph1 + push acc + mov a,EXIF + clr acc.4 + mov EXIF,a ; clear INT2 first + mov dptr, IN07IRQ ; clear USB int + mov a,#04h + movx @dptr,a + + mov a, #0x20 ; Turn off the green LED + mov dptr,OEA + movx @dptr, a + + + ;; do stuff + lcall start_in + + mov a, #0x20 ; Turn off the green LED + mov dptr,OEA + movx @dptr, a + + + + pop acc + pop dph1 + pop dpl1 + pop dph + pop dpl + pop dps + reti + +ISR_Ep2out: + push dps + push dpl + push dph + push dpl1 + push dph1 + push acc + + mov a, #0x10 ; Turn the green LED + mov dptr,OEA + movx @dptr, a + + + + mov a,EXIF + clr acc.4 + mov EXIF,a ; clear INT2 first + mov dptr, OUT07IRQ ; clear USB int + mov a,#04h + movx @dptr,a + + ;; do stuff + + ;; copy data into buffer. for now, assume we will have enough space + mov dptr, OUT2BC ; get byte count + movx a,@dptr + mov r1, a + clr a + mov dps, a + mov dptr, OUT2BUF ; load DPTR0 with source + mov dph1, #HIGH(tx_ring) ; load DPTR1 with target + mov dpl1, tx_ring_in +OUT_loop: + movx a,@dptr ; read + inc dps ; switch to DPTR1: target + inc dpl1 ; target = tx_ring_in+1 + movx @dptr,a ; store + mov a,dpl1 + cjne a, tx_ring_out, OUT_no_overflow + sjmp OUT_overflow +OUT_no_overflow: + inc tx_ring_in ; tx_ring_in++ + inc dps ; switch to DPTR0: source + inc dptr + djnz r1, OUT_loop + sjmp OUT_done +OUT_overflow: + ;; signal overflow + ;; fall through +OUT_done: + ;; ack + mov dptr,OUT2BC + movx @dptr,a + + ;; start tx + acall maybe_start_tx + ;acall dump_stat + + mov a, #0x20 ; Turn off the green LED + mov dptr,OEA + movx @dptr, a + + pop acc + pop dph1 + pop dpl1 + pop dph + pop dpl + pop dps + reti + +dump_stat: + ;; fill in EP4in with a debugging message: + ;; tx_ring_in, tx_ring_out, rx_ring_in, rx_ring_out + ;; tx_active + ;; tx_ring[0..15] + ;; 0xfc + ;; rx_ring[0..15] + clr a + mov dps, a + + mov dptr, IN4CS + movx a, @dptr + jb acc.1, dump_stat__done; busy: cannot dump, old one still pending + mov dptr, IN4BUF + + mov a, tx_ring_in + movx @dptr, a + inc dptr + mov a, tx_ring_out + movx @dptr, a + inc dptr + + mov a, rx_ring_in + movx @dptr, a + inc dptr + mov a, rx_ring_out + movx @dptr, a + inc dptr + + clr a + jnb TX_RUNNING, dump_stat__no_tx_running + inc a +dump_stat__no_tx_running: + movx @dptr, a + inc dptr + ;; tx_ring[0..15] + inc dps + mov dptr, #tx_ring ; DPTR1: source + mov r1, #16 +dump_stat__tx_ring_loop: + movx a, @dptr + inc dptr + inc dps + movx @dptr, a + inc dptr + inc dps + djnz r1, dump_stat__tx_ring_loop + inc dps + + mov a, #0xfc + movx @dptr, a + inc dptr + + ;; rx_ring[0..15] + inc dps + mov dptr, #rx_ring ; DPTR1: source + mov r1, #16 +dump_stat__rx_ring_loop: + movx a, @dptr + inc dptr + inc dps + movx @dptr, a + inc dptr + inc dps + djnz r1, dump_stat__rx_ring_loop + + ;; now send it + clr a + mov dps, a + mov dptr, IN4BC + mov a, #38 + movx @dptr, a +dump_stat__done: + ret + +;;; ============================================================ + +maybe_start_tx: + ;; make sure the tx process is running. + jb TX_RUNNING, start_tx_done +start_tx: + ;; is there work to be done? + mov a, tx_ring_in + cjne a,tx_ring_out, start_tx__work + ret ; no work +start_tx__work: + ;; tx was not running. send the first character, setup the TI int + inc tx_ring_out ; [++tx_ring_out] + mov dph, #HIGH(tx_ring) + mov dpl, tx_ring_out + movx a, @dptr + mov sbuf, a + setb TX_RUNNING +start_tx_done: + ;; can we unthrottle the host tx process? + ;; step 1: do we care? + mov a, #0 + cjne a, tx_unthrottle_threshold, start_tx__maybe_unthrottle_tx + ;; nope +start_tx_really_done: + ret +start_tx__maybe_unthrottle_tx: + ;; step 2: is there now room? + mov a, tx_ring_out + setb c + subb a, tx_ring_in + ;; a is now write_room. If thresh >= a, we can unthrottle + clr c + subb a, tx_unthrottle_threshold + jc start_tx_really_done ; nope + ;; yes, we can unthrottle. remove the threshold and mark a request + mov tx_unthrottle_threshold, #0 + setb DO_TX_UNTHROTTLE + ;; prod rx, which will actually send the message when in2 becomes free + ljmp start_in + + +serial_int: + push dps + push dpl + push dph + push dpl1 + push dph1 + push acc + jnb TI, serial_int__not_tx + ;; tx finished. send another character if we have one + clr TI ; clear int + clr TX_RUNNING + lcall start_tx +serial_int__not_tx: + jnb RI, serial_int__not_rx + lcall get_rx_char + clr RI ; clear int +serial_int__not_rx: + ;; return + pop acc + pop dph1 + pop dpl1 + pop dph + pop dpl + pop dps + reti + +get_rx_char: + mov dph, #HIGH(rx_ring) + mov dpl, rx_ring_in + inc dpl ; target = rx_ring_in+1 + mov a, sbuf + movx @dptr, a + ;; check for overflow before incrementing rx_ring_in + mov a, dpl + cjne a, rx_ring_out, get_rx_char__no_overflow + ;; signal overflow + ret +get_rx_char__no_overflow: + inc rx_ring_in + ;; kick off USB INpipe + acall start_in + ret + +start_in: + ;; check if the inpipe is already running. + mov a,#0x10 + mov dptr, OEA + movx @dptr,a + + mov dptr, IN2CS + movx a, @dptr + jb acc.1, start_in__done; int will handle it + jb DO_TX_UNTHROTTLE, start_in__do_tx_unthrottle + ;; see if there is any work to do. a serial interrupt might occur + ;; during this sequence? + mov a, rx_ring_in + cjne a, rx_ring_out, start_in__have_work + ret ; nope +start_in__have_work: + ;; now copy as much data as possible into the pipe. 63 bytes max. + clr a + mov dps, a + mov dph, #HIGH(rx_ring) ; load DPTR0 with source + inc dps + mov dptr, IN2BUF ; load DPTR1 with target + movx @dptr, a ; in[0] signals that rest of IN is rx data + inc dptr + inc dps + ;; loop until we run out of data, or we have copied 64 bytes + mov r1, #1 ; INbuf size counter +start_in__loop: + mov a, rx_ring_in + cjne a, rx_ring_out, start_inlocal_irq_enablell_copying + sjmp start_in__kick +start_inlocal_irq_enablell_copying: + inc rx_ring_out + mov dpl, rx_ring_out + movx a, @dptr + inc dps + movx @dptr, a ; write into IN buffer + inc dptr + inc dps + inc r1 + cjne r1, #64, start_in__loop; loop +start_in__kick: + ;; either we ran out of data, or we copied 64 bytes. r1 has byte count + ;; kick off IN + mov a, #0x10 ; Turn the green LED + mov dptr,OEA + movx @dptr, a + mov dptr, IN2BC + mov a, r1 + jz start_in__done + movx @dptr, a + ;; done +start_in__done: + ;acall dump_stat + ret +start_in__do_tx_unthrottle: + ;; special sequence: send a tx unthrottle message + clr DO_TX_UNTHROTTLE + clr a + mov dps, a + mov dptr, IN2BUF + mov a, #1 + movx @dptr, a + inc dptr + mov a, #2 + movx @dptr, a + mov dptr, IN2BC + movx @dptr, a + ret + +putchar: + clr TI + mov SBUF, a +putchar_wait: + jnb TI, putchar_wait + clr TI + ret + + +baud_table: ; baud_high, then baud_low + ;; baud[0]: 110 + .byte BAUD_HIGH(110) + .byte BAUD_LOW(110) + ;; baud[1]: 300 + .byte BAUD_HIGH(300) + .byte BAUD_LOW(300) + ;; baud[2]: 1200 + .byte BAUD_HIGH(1200) + .byte BAUD_LOW(1200) + ;; baud[3]: 2400 + .byte BAUD_HIGH(2400) + .byte BAUD_LOW(2400) + ;; baud[4]: 4800 + .byte BAUD_HIGH(4800) + .byte BAUD_LOW(4800) + ;; baud[5]: 9600 + .byte BAUD_HIGH(9600) + .byte BAUD_LOW(9600) + ;; baud[6]: 19200 + .byte BAUD_HIGH(19200) + .byte BAUD_LOW(19200) + ;; baud[7]: 38400 + .byte BAUD_HIGH(38400) + .byte BAUD_LOW(38400) + ;; baud[8]: 57600 + .byte BAUD_HIGH(57600) + .byte BAUD_LOW(57600) + ;; baud[9]: 115200 + .byte BAUD_HIGH(115200) + .byte BAUD_LOW(115200) + +desc_device: + .byte 0x12, 0x01, 0x00, 0x01, 0xff, 0xff, 0xff, 0x40 + .byte 0xcd, 0x06, 0x04, 0x01, 0x89, 0xab, 1, 2, 3, 0x01 +;;; The "real" device id, which must match the host driver, is that +;;; "0xcd 0x06 0x04 0x01" sequence, which is 0x06cd, 0x0104 + +desc_config1: + .byte 0x09, 0x02, 0x20, 0x00, 0x01, 0x01, 0x00, 0x80, 0x32 + .byte 0x09, 0x04, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0x00 + .byte 0x07, 0x05, 0x82, 0x03, 0x40, 0x00, 0x01 + .byte 0x07, 0x05, 0x02, 0x02, 0x40, 0x00, 0x00 + +desc_strings: + .word string_langids, string_mfg, string_product, string_serial +desc_strings_end: + +string_langids: .byte string_langids_end-string_langids + .byte 3 + .word 0 +string_langids_end: + + ;; sigh. These strings are Unicode, meaning UTF16? 2 bytes each. Now + ;; *that* is a pain in the ass to encode. And they are little-endian + ;; too. Use this perl snippet to get the bytecodes: + /* while (<>) { + @c = split(//); + foreach $c (@c) { + printf("0x%02x, 0x00, ", ord($c)); + } + } + */ + +string_mfg: .byte string_mfg_end-string_mfg + .byte 3 +; .byte "ACME usb widgets" + .byte 0x41, 0x00, 0x43, 0x00, 0x4d, 0x00, 0x45, 0x00, 0x20, 0x00, 0x75, 0x00, 0x73, 0x00, 0x62, 0x00, 0x20, 0x00, 0x77, 0x00, 0x69, 0x00, 0x64, 0x00, 0x67, 0x00, 0x65, 0x00, 0x74, 0x00, 0x73, 0x00 +string_mfg_end: + +string_product: .byte string_product_end-string_product + .byte 3 +; .byte "ACME USB serial widget" + .byte 0x41, 0x00, 0x43, 0x00, 0x4d, 0x00, 0x45, 0x00, 0x20, 0x00, 0x55, 0x00, 0x53, 0x00, 0x42, 0x00, 0x20, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x69, 0x00, 0x61, 0x00, 0x6c, 0x00, 0x20, 0x00, 0x77, 0x00, 0x69, 0x00, 0x64, 0x00, 0x67, 0x00, 0x65, 0x00, 0x74, 0x00 +string_product_end: + +string_serial: .byte string_serial_end-string_serial + .byte 3 +; .byte "47" + .byte 0x34, 0x00, 0x37, 0x00 +string_serial_end: + +;;; ring buffer memory + ;; tx_ring_in+1 is where the next input byte will go + ;; [tx_ring_out] has been sent + ;; if tx_ring_in == tx_ring_out, theres no work to do + ;; there are (tx_ring_in - tx_ring_out) chars to be written + ;; dont let _in lap _out + ;; cannot inc if tx_ring_in+1 == tx_ring_out + ;; write [tx_ring_in+1] then tx_ring_in++ + ;; if (tx_ring_in+1 == tx_ring_out), overflow + ;; else tx_ring_in++ + ;; read/send [tx_ring_out+1], then tx_ring_out++ + + ;; rx_ring_in works the same way + + .org 0x1000 +tx_ring: + .skip 0x100 ; 256 bytes +rx_ring: + .skip 0x100 ; 256 bytes + + + .END + diff --git a/firmware/korg/k1212.dsp.ihex b/firmware/korg/k1212.dsp.ihex new file mode 100644 index 0000000..b151997 --- /dev/null +++ b/firmware/korg/k1212.dsp.ihex @@ -0,0 +1,987 @@ +:1000000001FF18FFF5FFCFFF00FF00FFFFFF00FF1C +:1000100000FF00FFFFFF00FF00FF00FFFFFF00FFEA +:1000200026FF18FFFFFF0FFF00FF00FFFFFF00FF8D +:1000300000FF00FFFFFF00FF00FF00FFFFFF00FFCA +:1000400000FF0AFFFFFF1FFF00FF00FFFFFF00FF91 +:1000500000FF00FFFFFF00FF00FF00FFFFFF00FFAA +:1000600000FF0AFFFFFF1FFF00FF00FFFFFF00FF71 +:1000700000FF00FFFFFF00FF00FF00FFFFFF00FF8A +:1000800000FF0AFFFFFF1FFF00FF00FFFFFF00FF51 +:1000900000FF00FFFFFF00FF00FF00FFFFFF00FF6A +:1000A00038FF18FFFFFFDFFF00FF00FFFFFF00FF2B +:1000B00000FF00FFFFFF00FF00FF00FFFFFF00FF4A +:1000C00000FF0AFFFFFF1FFF00FF00FFFFFF00FF11 +:1000D00000FF00FFFFFF00FF00FF00FFFFFF00FF2A +:1000E00003FF3CFFFFFFFCFF67FF40FFFFFFC0FF78 +:1000F000FFFF93FFFFFFE0FF00FF0CFFFFFF0CFF80 +:100100000CFF0CFFFFFF00FF30FF0CFFFFFF00FFA5 +:100110000FFF40FFFFFFF4FF47FF80FFFFFF0AFFD5 +:1001200082FF23FFFFFF0FFF8DFF93FFFFFF7AFF8B +:100130008DFF83FFFFFF70FF47FF90FFFFFF00FF72 +:1001400000FF48FFFFFF04FFA0FF23FFFFFF0FFF9B +:1001500046FF90FFFFFF6AFF00FF0CFFFFFF20FF3D +:1001600000FF04FFFFFF1CFF00FF04FFFFFF1CFF59 +:1001700000FF04FFFFFF1CFF00FF04FFFFFF1CFF49 +:1001800000FF04FFFFFF10FF00FF04FFFFFF10FF51 +:1001900000FF04FFFFFF10FF00FF04FFFFFF10FF41 +:1001A00000FF04FFFFFF10FF00FF04FFFFFF10FF31 +:1001B00000FF04FFFFFF10FF00FF04FFFFFF10FF21 +:1001C00000FF04FFFFFF10FF00FF04FFFFFF10FF11 +:1001D00000FF04FFFFFF10FF00FF04FFFFFF10FF01 +:1001E00072FF1CFFFFFF5FFF02FF40FFFFFF40FFAA +:1001F00011FF90FFFFFF20FF00FF48FFFFFF00FF00 +:100200008BFF93FFFFFF20FF00FF40FFFFFF00FF7A +:1002100086FF93FFFFFF70FF8BFF93FFFFFF30FF11 +:100220008DFF93FFFFFF40FF02FF91FFFFFF80FF65 +:1002300002FF91FFFFFF90FF8DFF93FFFFFFC0FFC5 +:1002400046FF90FFFFFF20FF8DFF93FFFFFFD0FFD2 +:1002500000FF48FFFFFF00FF8BFF93FFFFFF40FF02 +:10026000FFFF47FFFFFFF0FF8DFF93FFFFFFE0FF62 +:1002700000FF34FFFFFF17FF00FF38FFFFFF17FFEE +:1002800080FF37FFFFFF02FF84FF3BFFFFFF02FFFE +:1002900002FF34FFFFFF4AFF02FF38FFFFFF4AFF64 +:1002A00001FF34FFFFFF2BFF01FF38FFFFFF2BFF94 +:1002B00080FF43FFFFFF00FF82FF93FFFFFF50FF20 +:1002C00081FF43FFFFFF20FF82FF93FFFFFF60FFDF +:1002D00084FF43FFFFFF00FF82FF93FFFFFF70FFDC +:1002E00085FF43FFFFFF20FF83FF93FFFFFFC0FF5A +:1002F00082FF37FFFFFF81FF00FF34FFFFFF89FF11 +:1003000088FF43FFFFFF00FF00FF68FFFFFF07FFBD +:1003100082FF83FFFFFF60FF00FF68FFFFFF07FF13 +:100320008CFF43FFFFFF00FF00FF68FFFFFF07FF99 +:1003300083FF83FFFFFFC0FF00FF68FFFFFF07FF92 +:100340008AFF43FFFFFF00FF00FF68FFFFFF07FF7B +:1003500082FF83FFFFFF50FF00FF68FFFFFF07FFE3 +:100360008EFF43FFFFFF00FF00FF68FFFFFF07FF57 +:1003700082FF83FFFFFF70FF00FF68FFFFFF07FFA3 +:1003800083FF37FFFFFF01FF00FF34FFFFFF89FFFF +:1003900000FF34FFFFFF26FF30FF0CFFFFFF00FFD1 +:1003A00000FF40FFFFFF26FF20FF40FFFFFF04FF8D +:1003B00080FF41FFFFFF02FFE0FF20FFFFFF0FFF75 +:1003C00000FF68FFFFFFB6FF63FF22FFFFFF0FFF85 +:1003D00062FF6AFFFFFFA6FF62FF6AFFFFFFA6FF43 +:1003E00000FF68FFFFFFA6FF00FF09FFFFFF07FFF9 +:1003F00040FF41FFFFFF02FFE0FF20FFFFFF0FFF75 +:1004000000FF68FFFFFFB6FF63FF22FFFFFF0FFF44 +:1004100062FF6AFFFFFFA6FF62FF6AFFFFFFA6FF02 +:1004200000FF68FFFFFFA6FF05FF41FFFFFF02FF80 +:10043000E0FF20FFFFFF0FFF8BFF93FFFFFFBBFFDE +:1004400002FF41FFFFFF82FFE0FF20FFFFFF0FFFE2 +:100450008BFF93FFFFFFCBFF05FF41FFFFFFE2FF95 +:10046000E0FF20FFFFFF0FFF8BFF93FFFFFFDBFF8E +:1004700020FF0CFFFFFF00FF30FF0CFFFFFF00FF1E +:1004800000FF40FFFFFF26FF00FF41FFFFFF02FFCD +:10049000E0FF20FFFFFF0FFF83FF93FFFFFF82FFBF +:1004A00083FF93FFFFFF9BFF03FF41FFFFFF02FF5F +:1004B000E0FF20FFFFFF0FFF83FF93FFFFFFA2FF7F +:1004C00083FF93FFFFFFBBFF20FF0CFFFFFF00FF39 +:1004D00000FF40FFFFFF00FF44FF90FFFFFF60FFB2 +:1004E00000FF00FFFFFF00FF00FF00FFFFFF00FF16 +:1004F00000FF00FFFFFF00FF00FF00FFFFFF00FF06 +:1005000000FF00FFFFFF00FF00FF00FFFFFF00FFF5 +:1005100000FF00FFFFFF00FF00FF00FFFFFF00FFE5 +:1005200021FF40FFFFFF60FF40FF90FFFFFF20FF24 +:1005300002FF35FFFFFF00FF00FF34FFFFFF08FF52 +:1005400000FF3CFFFFFF85FF0AFF14FFFFFFAEFF28 +:1005500000FFA0FFFFFF03FF00FF35FFFFFF00FFCD +:1005600000FF34FFFFFF08FF02FF3CFFFFFF05FF16 +:100570000AFF14FFFFFFFEFF00FFA0FFFFFF03FFC6 +:1005800003FF35FFFFFF00FF00FF34FFFFFF08FF01 +:1005900002FF3CFFFFFF05FF0BFF14FFFFFF4EFFB5 +:1005A00000FFA0FFFFFF03FF00FF35FFFFFF01FF7C +:1005B00078FF1CFFFFFF5FFF03FF35FFFFFF01FF19 +:1005C00078FF1CFFFFFF5FFF5BFF40FFFFFFF0FFB7 +:1005D000FFFF93FFFFFF30FF80FF42FFFFFF70FF31 +:1005E000FFFF93FFFFFF60FFDFFF40FFFFFFF0FF14 +:1005F000FEFF93FFFFFFF0FF80FF42FFFFFF70FF52 +:10060000FFFF93FFFFFF20FFC1FF41FFFFFF80FFC0 +:10061000FFFF93FFFFFFF0FF03FF3CFFFFFFFCFF27 +:1006200000FF3CFFFFFF04FF02FF3CFFFFFF23FF33 +:1006300000FF48FFFFFF00FF8BFF93FFFFFF20FF3E +:1006400059FF18FFFFFFDFFF00FF48FFFFFF00FF1C +:100650008BFF93FFFFFF20FF18FF23FFFFFF0FFF1C +:100660000CFF14FFFFFFE4FF8BFF83FFFFFF24FF5E +:1006700000FF22FFFFFF0FFF0DFF18FFFFFF0FFF1F +:100680008BFF83FFFFFF20FF00FF40FFFFFF14FFF2 +:10069000E0FF22FFFFFF0FFF10FF18FFFFFFD0FF5B +:1006A0008BFF83FFFFFF20FF00FF40FFFFFF24FFC2 +:1006B000E0FF22FFFFFF0FFF10FF18FFFFFF30FFDB +:1006C0008BFF83FFFFFF20FF00FF40FFFFFF44FF82 +:1006D000E0FF22FFFFFF0FFF22FF18FFFFFF90FF49 +:1006E0008BFF83FFFFFF20FF00FF40FFFFFF84FF22 +:1006F000E0FF22FFFFFF0FFF22FF18FFFFFF90FF29 +:100700000CFF18FFFFFF6FFF00FF40FFFFFF00FF20 +:1007100086FF93FFFFFF70FF76FF1CFFFFFF9FFF29 +:1007200086FF83FFFFFF50FF86FF83FFFFFF64FF0D +:1007300060FF22FFFFFF0FFF74FF18FFFFFF81FF25 +:1007400000FF35FFFFFF00FF60FF1CFFFFFF7FFF83 +:1007500061FF1CFFFFFFAFFF77FF1CFFFFFFAFFF35 +:1007600063FF1CFFFFFF4FFF05FF35FFFFFF00FF8B +:1007700092FF3BFFFFFF00FF00FF34FFFFFF08FF7A +:1007800000FF38FFFFFF08FF00FF3CFFFFFF65FF92 +:100790000FFF14FFFFFF6EFF00FF60FFFFFF03FF6F +:1007A00000FF60FFFFFF13FF00FF78FFFFFF13FF55 +:1007B00000FF78FFFFFF03FF05FF35FFFFFFE0FFAE +:1007C0007FFF38FFFFFF00FF00FF34FFFFFF08FF40 +:1007D00000FF38FFFFFF08FF00FF3CFFFFFF65FF42 +:1007E00010FF14FFFFFF0EFF00FF60FFFFFF03FF7E +:1007F00000FF60FFFFFF13FF00FF58FFFFFF13FF25 +:1008000000FF58FFFFFF03FF79FF1CFFFFFFFFFF03 +:1008100000FF0AFFFFFF0FFF0EFF1CFFFFFF1FFF80 +:100820008DFF83FFFFFFE0FF78FF22FFFFFF0FFF39 +:1008300015FF1CFFFFFF85FF75FF1CFFFFFF8FFFEC +:1008400000FF40FFFFFF40FF8BFF93FFFFFF80FF94 +:1008500002FF40FFFFFF60FF11FF90FFFFFF20FF3F +:1008600016FF18FFFFFF1FFF0EFF1CFFFFFF1FFFFC +:1008700075FF1CFFFFFF8FFF80FF35FFFFFF00FFAD +:1008800000FF34FFFFFF08FF00FF40FFFFFF00FFF6 +:1008900040FF3CFFFFFF05FF11FF14FFFFFF4EFF6E +:1008A00000FF68FFFFFF03FF87FF83FFFFFFF0FFED +:1008B00086FF93FFFFFF80FF90FF37FFFFFF00FFE2 +:1008C00002FF34FFFFFF08FF00FF60FFFFFF03FF91 +:1008D00089FF93FFFFFF20FF00FF60FFFFFF03FF83 +:1008E00089FF93FFFFFF30FF00FF60FFFFFF03FF63 +:1008F00089FF93FFFFFF40FF00FF60FFFFFF03FF43 +:1009000089FF93FFFFFF50FF86FF97FFFFFF90FFD8 +:1009100003FF35FFFFFF00FF60FF1CFFFFFF7FFFAE +:1009200063FF1CFFFFFF7FFF00FF40FFFFFF00FF93 +:100930008DFF93FFFFFF60FF82FF93FFFFFF40FFEC +:1009400086FF93FFFFFFA0FF83FF37FFFFFF80FFBE +:1009500075FF1CFFFFFF1FFF83FF43FFFFFF00FF2B +:1009600087FF93FFFFFFE0FF6AFF1CFFFFFF0FFF02 +:1009700040FF41FFFFFF00FF8BFF93FFFFFF90FF52 +:1009800080FF41FFFFFF00FF8BFF93FFFFFFA0FFF2 +:100990008BFF87FFFFFF90FF7EFF38FFFFFF00FF09 +:1009A00040FF34FFFFFF08FF00FF38FFFFFF08FF95 +:1009B00000FF3CFFFFFF55FF13FF14FFFFFFBEFFCB +:1009C00000FF60FFFFFF03FF00FF60FFFFFF13FF5B +:1009D00000FF58FFFFFF13FF00FF58FFFFFF03FF5B +:1009E00000FF60FFFFFF03FF00FF60FFFFFF13FF3B +:1009F00000FF58FFFFFF13FF00FF58FFFFFF03FF3B +:100A000000FF60FFFFFF03FF00FF60FFFFFF13FF1A +:100A100000FF58FFFFFF13FF00FF58FFFFFF03FF1A +:100A200000FF60FFFFFF03FF00FF60FFFFFF03FF0A +:100A30008BFF97FFFFFF90FF05FF41FFFFFF00FFC8 +:100A400092FF43FFFFFF01FF86FF93FFFFFFF0FFD1 +:100A500086FF93FFFFFFE1FF8DFF83FFFFFFE0FFB6 +:100A600078FF22FFFFFF0FFF15FF1CFFFFFF85FF31 +:100A700075FF1CFFFFFF8FFF8DFF83FFFFFF40FF10 +:100A800078FF22FFFFFF0FFF53FF18FFFFFFB4FFA8 +:100A900072FF1CFFFFFF0FFF00FF40FFFFFF00FF83 +:100AA0008BFF93FFFFFF30FF02FF40FFFFFF60FF60 +:100AB00011FF90FFFFFF20FF16FF18FFFFFF4FFF02 +:100AC00038FF42FFFFFF50FF48FF90FFFFFFA0FFEE +:100AD00000FF00FFFFFF00FF00FF00FFFFFF00FF20 +:100AE00000FF00FFFFFF00FF00FF00FFFFFF00FF10 +:100AF00030FF40FFFFFF00FF47FF90FFFFFF50FF69 +:100B000000FF0AFFFFFF0FFF1EFF1CFFFFFF0FFF8D +:100B100020FF1CFFFFFFCFFF16FF18FFFFFF1FFF87 +:100B200000FF40FFFFFF00FF46FF90FFFFFF70FF49 +:100B300018FF1CFFFFFFEFFF6AFF1CFFFFFFBFFF57 +:100B40005CFF1CFFFFFF7FFF18FF1CFFFFFFEFFF95 +:100B500067FF1CFFFFFF3FFF5CFF1CFFFFFF7FFFE6 +:100B600008FF40FFFFFF00FF46FF90FFFFFF70FF01 +:100B700018FF1CFFFFFFEFFF69FF1CFFFFFF0FFFC8 +:100B80005DFF1CFFFFFF2FFF18FF1CFFFFFFEFFFA4 +:100B900079FF1CFFFFFF1FFF5CFF1CFFFFFF7FFFB4 +:100BA00018FF1CFFFFFFEFFF5CFF1CFFFFFF7FFF35 +:100BB00018FF1CFFFFFFEFFF5CFF1CFFFFFF7FFF25 +:100BC00018FF1CFFFFFFEFFF5DFF1CFFFFFF2FFF64 +:100BD00018FF1CFFFFFFEFFF5CFF1CFFFFFF7FFF05 +:100BE00018FF1CFFFFFFEFFF5CFF1CFFFFFF7FFFF5 +:100BF00018FF1CFFFFFFEFFF5CFF1CFFFFFF7FFFE5 +:100C000018FF1CFFFFFFEFFF5DFF1CFFFFFF2FFF23 +:100C100018FF1CFFFFFFEFFF5CFF1CFFFFFF7FFFC4 +:100C200018FF1CFFFFFFEFFF5CFF1CFFFFFF7FFFB4 +:100C300018FF1CFFFFFFEFFF5CFF1CFFFFFF7FFFA4 +:100C400018FF1CFFFFFFEFFF5DFF1CFFFFFF2FFFE3 +:100C500018FF1CFFFFFFEFFF66FF1CFFFFFF1FFFDA +:100C60005CFF1CFFFFFF7FFF16FF18FFFFFF4FFF1A +:100C70008BFF87FFFFFF61FF00FF34FFFFFF89FF4E +:100C800000FF34FFFFFF26FF00FF60FFFFFF06FFAE +:100C900083FF93FFFFFFD0FF00FF60FFFFFF06FF12 +:100CA00083FF93FFFFFFE0FF38FF22FFFFFF0FFFEF +:100CB00019FF14FFFFFF85FF8BFF83FFFFFF50FF2E +:100CC00078FF22FFFFFF0FFF00FF60FFFFFF07FF1E +:100CD00004FF0DFFFFFF30FF00FF60FFFFFF07FF76 +:100CE00083FF93FFFFFFF0FF00FF60FFFFFF07FFA1 +:100CF00008FF0DFFFFFF30FF00FF60FFFFFF07FF52 +:100D000086FF93FFFFFF40FF00FF40FFFFFF01FF53 +:100D10008BFF93FFFFFF51FF00FF34FFFFFF46FFF4 +:100D200000FF09FFFFFF06FF8BFF97FFFFFF61FF3B +:100D300083FF8BFFFFFFD0FF83FF8BFFFFFFE1FFF0 +:100D400087FF37FFFFFF01FF6EFF1CFFFFFFBFFFA5 +:100D500087FF37FFFFFF00FF92FF37FFFFFF01FF15 +:100D60007FFF38FFFFFF00FF7EFF38FFFFFF01FF1F +:100D700023FF1CFFFFFFFFFF7EFF38FFFFFF00FF89 +:100D800083FF87FFFFFFF1FF86FF8BFFFFFF41FF20 +:100D90006CFF1CFFFFFF2FFF87FF37FFFFFF00FFE8 +:100DA0008BFF8BFFFFFFA0FF00FF34FFFFFF08FF5B +:100DB00040FF38FFFFFF08FF00FF3CFFFFFF55FF2C +:100DC0001BFF14FFFFFFCEFF00FF60FFFFFF03FFCD +:100DD00000FF60FFFFFF13FF00FF78FFFFFF13FF1F +:100DE00000FF78FFFFFF03FF00FF60FFFFFF03FF2F +:100DF00000FF60FFFFFF13FF00FF78FFFFFF13FFFF +:100E000000FF78FFFFFF03FF00FF60FFFFFF03FF0E +:100E100000FF60FFFFFF13FF00FF78FFFFFF13FFDE +:100E200000FF78FFFFFF03FF8BFF83FFFFFFE1FF62 +:100E30008BFF83FFFFFFF0FF00FF78FFFFFF13FF33 +:100E400000FF78FFFFFF03FF8BFF9BFFFFFFA0FF6B +:100E50008BFF87FFFFFF90FF7EFF38FFFFFF00FF44 +:100E600040FF34FFFFFF08FF00FF38FFFFFF08FFD0 +:100E700000FF3CFFFFFF55FF1DFF14FFFFFF3EFF7C +:100E800000FF60FFFFFF03FF00FF60FFFFFF13FF96 +:100E900000FF58FFFFFF13FF00FF58FFFFFF03FF96 +:100EA00000FF60FFFFFF03FF00FF60FFFFFF13FF76 +:100EB00000FF58FFFFFF13FF00FF58FFFFFF03FF76 +:100EC00000FF60FFFFFF03FF00FF60FFFFFF13FF56 +:100ED00000FF58FFFFFF13FF00FF58FFFFFF03FF56 +:100EE00000FF60FFFFFF03FF00FF60FFFFFF03FF46 +:100EF0008BFF97FFFFFF90FF00FF0AFFFFFF0FFF31 +:100F00008BFF87FFFFFF61FF00FF34FFFFFF89FFBB +:100F100000FF34FFFFFF26FF00FF60FFFFFF06FF1B +:100F200083FF93FFFFFFD0FF00FF60FFFFFF06FF7F +:100F300083FF93FFFFFFE0FF8BFF83FFFFFF51FF66 +:100F400079FF22FFFFFF0FFF74FF18FFFFFFB4FFC1 +:100F500038FF22FFFFFF0FFF1EFF14FFFFFFD5FF2B +:100F60008BFF83FFFFFF50FF78FF22FFFFFF0FFF84 +:100F700000FF60FFFFFF07FF04FF0DFFFFFF30FFD3 +:100F800000FF60FFFFFF07FF83FF93FFFFFFF0FFFE +:100F900000FF60FFFFFF07FF08FF0DFFFFFF30FFAF +:100FA00000FF60FFFFFF07FF86FF93FFFFFF40FF8B +:100FB00000FF40FFFFFF01FF8BFF93FFFFFF51FF8B +:100FC00000FF34FFFFFF46FF00FF09FFFFFF06FFA2 +:100FD0008BFF97FFFFFF61FF83FF8BFFFFFFD0FFBA +:100FE00083FF8BFFFFFFE1FF87FF37FFFFFF01FF5D +:100FF0006EFF1CFFFFFFBFFF87FF37FFFFFF00FFF4 +:1010000092FF37FFFFFF01FF7FFF38FFFFFF00FF69 +:1010100023FF1CFFFFFFFFFF7EFF38FFFFFF00FFE6 +:1010200083FF87FFFFFFF1FF86FF8BFFFFFF41FF7D +:101030006CFF1CFFFFFF2FFF00FF0AFFFFFF0FFFEA +:101040008DFF8FFFFFFFC5FF20FF14FFFFFFAEFFE7 +:1010500000FF00FFFFFF00FF00FF0AFFFFFF0FFF81 +:101060008BFF83FFFFFF84FF00FF23FFFFFF0FFFC6 +:101070008BFF93FFFFFF8AFF64FF1CFFFFFFE0FF72 +:101080007EFF38FFFFFF00FF00FF38FFFFFF08FF74 +:1010900000FF3CFFFFFFE5FF21FF14FFFFFF5EFFA6 +:1010A00000FF40FFFFFF00FF00FF58FFFFFF03FFAF +:1010B00000FF0AFFFFFF0FFF08FF40FFFFFF10FFC9 +:1010C00047FF90FFFFFF20FF00FF04FFFFFF1CFF13 +:1010D00000FF04FFFFFF1CFF00FF04FFFFFF1CFFDA +:1010E00000FF04FFFFFF1CFF00FF04FFFFFF10FFD6 +:1010F00000FF04FFFFFF10FF00FF04FFFFFF10FFD2 +:1011000000FF04FFFFFF10FF00FF04FFFFFF10FFC1 +:1011100000FF04FFFFFF10FF00FF04FFFFFF10FFB1 +:1011200000FF04FFFFFF10FF00FF04FFFFFF10FFA1 +:1011300000FF04FFFFFF10FF00FF04FFFFFF10FF91 +:1011400000FF04FFFFFF10FF02FF40FFFFFF40FF13 +:1011500011FF90FFFFFF20FF78FF42FFFFFF50FFCE +:1011600048FF90FFFFFFA0FF00FF00FFFFFF00FF11 +:1011700000FF00FFFFFF00FF00FF00FFFFFF00FF79 +:1011800000FF00FFFFFF00FF00FF00FFFFFF00FF69 +:10119000B0FF40FFFFFF00FF47FF90FFFFFF50FF42 +:1011A00000FF40FFFFFF00FF8DFF93FFFFFF40FFA9 +:1011B0008DFF93FFFFFF50FF00FF40FFFFFF01FF88 +:1011C0008BFF93FFFFFF51FF00FF40FFFFFF00FF7A +:1011D00046FF90FFFFFF70FF8DFF83FFFFFFD0FFF3 +:1011E00078FF22FFFFFF0FFF0CFF18FFFFFF90FFAC +:1011F0000CFF18FFFFFF6FFF20FF0CFFFFFF00FF3A +:1012000000FF34FFFFFF09FF00FF34FFFFFF08FF6F +:1012100000FF38FFFFFF08FF00FF38FFFFFF09FF57 +:1012200000FF38FFFFFF06FF00FF34FFFFFF26FF30 +:1012300098FFCCFFFFFF37FF00FF3CFFFFFFA5FF3C +:1012400024FF14FFFFFFFEFF00FF60FFFFFF73FF9F +:1012500008FF0DFFFFFF14FF98FF20FFFFFF0FFFA8 +:1012600000FF50FFFFFFC6FF69FFCCFFFFFF37FF06 +:1012700000FF05FFFFFF00FF00FF58FFFFFFC6FF55 +:1012800098FF20FFFFFF0FFF00FF60FFFFFF72FFCF +:1012900008FF0DFFFFFF14FF00FF50FFFFFFC6FF19 +:1012A00069FFCCFFFFFF37FF00FF05FFFFFF00FFD7 +:1012B00000FF58FFFFFFC6FF98FF20FFFFFF0FFF53 +:1012C00000FF60FFFFFF73FF08FF0DFFFFFF14FF2C +:1012D00000FF50FFFFFFC6FF69FF20FFFFFF0FFF6A +:1012E00000FF05FFFFFF00FF00FF58FFFFFFC6FFE5 +:1012F00030FF0CFFFFFF00FF00FF0AFFFFFF0FFFA3 +:1013000000FF0CFFFFFF30FF47FF80FFFFFF58FF8C +:1013100010FF0FFFFFFF01FF66FF23FFFFFF0FFF1F +:1013200026FF18FFFFFF94FF00FF48FFFFFF00FFAD +:101330008BFF93FFFFFF40FF80FF40FFFFFF00FF99 +:1013400049FF90FFFFFF40FF16FF0FFFFFFF02FF67 +:1013500066FF23FFFFFF0FFF38FF18FFFFFFB4FFFB +:101360000FFF40FFFFFFF4FF47FF80FFFFFF0AFF73 +:1013700082FF23FFFFFF0FFF8DFF93FFFFFF7AFF29 +:101380007AFF26FFFFFF0FFF10FF27FFFFFF0FFF72 +:1013900038FF18FFFFFFB4FF27FF18FFFFFFD2FF42 +:1013A00000FF48FFFFFF00FF8BFF93FFFFFF30FFB1 +:1013B0008DFF83FFFFFF70FF47FF90FFFFFF00FFE0 +:1013C00000FF48FFFFFF04FFA0FF23FFFFFF0FFF09 +:1013D00046FF90FFFFFF6AFF00FF0CFFFFFF20FFAB +:1013E00000FF0AFFFFFF1FFF10FF27FFFFFF0FFF98 +:1013F00029FF18FFFFFF92FF46FF80FFFFFF00FF5E +:101400008BFF93FFFFFF20FF8DFF83FFFFFF70FF28 +:1014100047FF90FFFFFF00FF00FF48FFFFFF04FFB3 +:10142000A0FF23FFFFFF0FFF46FF90FFFFFF6AFFB4 +:1014300000FF0CFFFFFF20FF00FF04FFFFFF1CFF6A +:1014400000FF04FFFFFF1CFF00FF04FFFFFF1CFF66 +:1014500000FF04FFFFFF1CFF00FF04FFFFFF10FF62 +:1014600000FF04FFFFFF10FF00FF04FFFFFF10FF5E +:1014700000FF04FFFFFF10FF00FF04FFFFFF10FF4E +:1014800000FF04FFFFFF10FF00FF04FFFFFF10FF3E +:1014900000FF04FFFFFF10FF00FF04FFFFFF10FF2E +:1014A00000FF04FFFFFF10FF00FF04FFFFFF10FF1E +:1014B00000FF04FFFFFF10FF00FF04FFFFFF03FF1B +:1014C0000DFF18FFFFFF0FFF10FF27FFFFFF0FFFAC +:1014D00031FF18FFFFFF12FF30FF0CFFFFFF00FF7F +:1014E00008FF0CFFFFFF00FFFFFF4FFFFFFF89FF1B +:1014F00090FF37FFFFFF00FF02FF34FFFFFF08FFF1 +:1015000000FF34FFFFFF34FF00FF34FFFFFF55FFF4 +:1015100046FF80FFFFFF08FF00FF0EFFFFFF0FFFEA +:1015200000FF0DFFFFFF4EFFA7FF23FFFFFF0FFF91 +:1015300000FF68FFFFFFA3FF00FF0DFFFFFF4AFF53 +:1015400046FF80FFFFFF18FF00FF0EFFFFFF0FFFAA +:1015500000FF0DFFFFFF5EFFAFFF23FFFFFF0FFF49 +:1015600000FF68FFFFFFA0FF00FF0DFFFFFF5AFF16 +:1015700046FF80FFFFFF48FF10FF0FFFFFFFFEFF4A +:1015800087FF93FFFFFFFEFF00FF0DFFFFFF2EFF12 +:1015900002FF40FFFFFF06FFE0FF20FFFFFF0FFFFE +:1015A00000FF40FFFFFF01FF63FF22FFFFFF0FFF70 +:1015B00000FF0DFFFFFF4AFF49FF6AFFFFFFA3FF88 +:1015C00000FF0DFFFFFF5AFF00FF68FFFFFFA0FFB6 +:1015D00000FF0DFFFFFF5AFF63FF22FFFFFF0FFF1A +:1015E00000FF0DFFFFFF4AFF49FF6AFFFFFFA3FF58 +:1015F00000FF0DFFFFFF5AFF00FF68FFFFFFA0FF86 +:1016000063FF22FFFFFF0FFF00FF0DFFFFFF4AFFF9 +:1016100049FF6AFFFFFFA3FF00FF0DFFFFFF5AFF17 +:1016200000FF68FFFFFFA0FF63FF22FFFFFF0FFF28 +:1016300000FF0DFFFFFF4AFF49FF6AFFFFFFA3FF07 +:1016400000FF0DFFFFFF5AFF00FF68FFFFFFA0FF35 +:1016500063FF22FFFFFF0FFF00FF0DFFFFFF4AFFA9 +:1016600049FF6AFFFFFFA3FF00FF0DFFFFFF5AFFC7 +:1016700000FF68FFFFFFA0FF63FF22FFFFFF0FFFD8 +:1016800000FF0DFFFFFF4AFF49FF6AFFFFFFA3FFB7 +:1016900000FF0DFFFFFF5AFF00FF68FFFFFFA0FFE5 +:1016A00063FF22FFFFFF0FFF00FF0DFFFFFF4AFF59 +:1016B00049FF6AFFFFFFA3FF00FF0DFFFFFF5AFF77 +:1016C00000FF68FFFFFFA1FF46FF80FFFFFF28FF2D +:1016D00000FF0EFFFFFF0FFF00FF0DFFFFFF4EFF9C +:1016E000A7FF23FFFFFF0FFF00FF68FFFFFFA3FF20 +:1016F00000FF0DFFFFFF4AFF46FF80FFFFFF38FF9F +:1017000000FF0EFFFFFF0FFF00FF0DFFFFFF5EFF5B +:10171000AFFF23FFFFFF0FFF00FF68FFFFFFA0FFEA +:1017200000FF0DFFFFFF5AFF63FF22FFFFFF0FFFC8 +:1017300000FF0DFFFFFF4AFF49FF6AFFFFFFA3FF06 +:1017400000FF0DFFFFFF5AFF00FF68FFFFFFA0FF34 +:1017500063FF22FFFFFF0FFF00FF0DFFFFFF4AFFA8 +:1017600049FF6AFFFFFFA3FF00FF0DFFFFFF5AFFC6 +:1017700000FF68FFFFFFA0FF63FF22FFFFFF0FFFD7 +:1017800000FF0DFFFFFF4AFF49FF6AFFFFFFA3FFB6 +:1017900000FF0DFFFFFF5AFF00FF68FFFFFFA0FFE4 +:1017A00063FF22FFFFFF0FFF00FF0DFFFFFF4AFF58 +:1017B00049FF6AFFFFFFA3FF00FF0DFFFFFF5AFF76 +:1017C00000FF68FFFFFFA0FF63FF22FFFFFF0FFF87 +:1017D00000FF0DFFFFFF4AFF49FF6AFFFFFFA3FF66 +:1017E00000FF0DFFFFFF5AFF00FF68FFFFFFA0FF94 +:1017F00063FF22FFFFFF0FFF00FF0DFFFFFF4AFF08 +:1018000049FF6AFFFFFFA3FF00FF0DFFFFFF5AFF25 +:1018100000FF68FFFFFFA0FF63FF22FFFFFF0FFF36 +:1018200000FF0DFFFFFF4AFF49FF6AFFFFFFA3FF15 +:1018300000FF0DFFFFFF5AFF00FF68FFFFFFA3FF40 +:10184000FFFF4FFFFFFFF0FF86FF93FFFFFF50FFFB +:101850008DFF83FFFFFF70FF47FF90FFFFFF00FF3B +:1018600000FF48FFFFFF04FFA0FF23FFFFFF0FFF64 +:1018700046FF90FFFFFF6AFF00FF0CFFFFFF20FF06 +:1018800000FF0AFFFFFF1FFF10FF27FFFFFF0FFFF3 +:1018900032FF18FFFFFF42FF8BFF83FFFFFFE4FFD4 +:1018A0008BFF83FFFFFFF5FF46FF90FFFFFF44FF25 +:1018B00008FF22FFFFFF0FFFFFFF4FFFFFFF89FF22 +:1018C00000FF0DFFFFFF8AFF00FF0EFFFFFF0FFF6E +:1018D00000FF0DFFFFFF4EFFA7FF23FFFFFF0FFFDE +:1018E00046FF90FFFFFF5AFF8DFF83FFFFFF70FF52 +:1018F00047FF90FFFFFF00FF00FF48FFFFFF04FFCF +:10190000A0FF23FFFFFF0FFF46FF90FFFFFF6AFFCF +:1019100000FF0CFFFFFF20FF00FF0AFFFFFF1FFF7C +:1019200010FF27FFFFFF0FFF35FF18FFFFFFD2FF5C +:1019300000FF4CFFFFFF00FF00FF93FFFFFF00FFD2 +:101940000BFF40FFFFFF80FF11FF90FFFFFFF0FF45 +:1019500000FF40FFFFFF10FF11FF90FFFFFFE0FFC0 +:1019600046FF80FFFFFF0AFF7AFF26FFFFFF0FFF02 +:1019700035FF1CFFFFFF24FF10FF27FFFFFF0FFFB6 +:1019800033FF18FFFFFFC5FF00FF40FFFFFFC0FF51 +:1019900011FF90FFFFFF60FF8DFF93FFFFFFD0FF60 +:1019A00000FF48FFFFFF00FF8DFF83FFFFFF70FF79 +:1019B00047FF90FFFFFF00FF00FF48FFFFFF04FF0E +:1019C000A0FF23FFFFFF0FFF46FF90FFFFFF6AFF0F +:1019D00000FF0CFFFFFF20FF00FF0AFFFFFF1FFFBC +:1019E00010FF27FFFFFF0FFF34FF18FFFFFF85FFEA +:1019F00000FF40FFFFFF40FF11FF90FFFFFF60FF70 +:101A00008DFF93FFFFFFD0FF8DFF83FFFFFF70FF70 +:101A100047FF90FFFFFF00FF00FF48FFFFFF04FFAD +:101A2000A0FF23FFFFFF0FFF46FF90FFFFFF6AFFAE +:101A300000FF0CFFFFFF20FF00FF0AFFFFFF1FFF5B +:101A400000FF40FFFFFF00FF11FF90FFFFFF60FF5F +:101A50008DFF93FFFFFFD0FF8DFF83FFFFFF70FF20 +:101A600047FF90FFFFFF00FF00FF48FFFFFF04FF5D +:101A7000A0FF23FFFFFF0FFF46FF90FFFFFF6AFF5E +:101A800000FF0CFFFFFF20FF00FF0AFFFFFF1FFF0B +:101A900000FF48FFFFFF00FF8DFF93FFFFFF80FF68 +:101AA00000FF48FFFFFF00FF00FF93FFFFFF00FF65 +:101AB0000DFF40FFFFFFF0FF11FF90FFFFFFF0FF62 +:101AC00000FF40FFFFFF10FF11FF90FFFFFFE0FF4F +:101AD000FFFF40FFFFFFF0FF90FF27FFFFFF0FFF1B +:101AE00000FF0AFFFFFF0FFF10FF27FFFFFF0FFFA1 +:101AF00037FF18FFFFFF42FF46FF80FFFFFF00FF99 +:101B000089FF93FFFFFFA0FF46FF80FFFFFF10FF4D +:101B100089FF93FFFFFFB0FF46FF80FFFFFF20FF1D +:101B200089FF93FFFFFFC0FF46FF80FFFFFF30FFED +:101B300089FF93FFFFFFD0FF46FF80FFFFFF40FFBD +:101B400089FF93FFFFFFE0FF46FF80FFFFFF50FF8D +:101B500089FF93FFFFFFF0FF00FF40FFFFFF10FF33 +:101B600086FF93FFFFFF60FF8DFF83FFFFFF70FF86 +:101B700047FF90FFFFFF00FF00FF48FFFFFF04FF4C +:101B8000A0FF23FFFFFF0FFF46FF90FFFFFF6AFF4D +:101B900000FF0CFFFFFF20FF00FF0AFFFFFF1FFFFA +:101BA00010FF27FFFFFF0FFF39FF18FFFFFF22FF86 +:101BB00046FF80FFFFFF00FF8DFF93FFFFFF20FF29 +:101BC00046FF80FFFFFF10FF8DFF93FFFFFF30FFF9 +:101BD00046FF80FFFFFF20FF78FF22FFFFFF0FFF80 +:101BE00038FF1CFFFFFF84FF00FF40FFFFFF00FFE7 +:101BF00046FF90FFFFFF20FF00FF48FFFFFF00FFB1 +:101C00008DFF93FFFFFF40FF8DFF83FFFFFF70FFFE +:101C100047FF90FFFFFF00FF00FF48FFFFFF04FFAB +:101C2000A0FF23FFFFFF0FFF46FF90FFFFFF6AFFAC +:101C300000FF0CFFFFFF20FF00FF0AFFFFFF1FFF59 +:101C400000FF48FFFFFF00FF8DFF93FFFFFF50FFE6 +:101C500000FF0AFFFFFF0FFF00FF0CFFFFFF20FF49 +:101C600000FF0AFFFFFF1FFF00FF0CFFFFFF30FF19 +:101C700000FF48FFFFFF00FF8BFF93FFFFFF50FFB8 +:101C800000FF0CFFFFFF20FF00FF0AFFFFFF1FFF09 +:101C90008DFF83FFFFFF70FF0FFF40FFFFFFF4FF8B +:101CA000E0FF22FFFFFF0FFF41FF18FFFFFF30FFA4 +:101CB0008DFF83FFFFFF70FF0FFF40FFFFFFE4FF7B +:101CC000E0FF22FFFFFF0FFF42FF18FFFFFF40FF73 +:101CD0008DFF83FFFFFF70FF0FFF40FFFFFFD4FF6B +:101CE000E0FF22FFFFFF0FFF47FF18FFFFFFA0FFEE +:101CF0008DFF83FFFFFF70FF0FFF40FFFFFFC4FF5B +:101D0000E0FF22FFFFFF0FFF46FF18FFFFFFD0FF9E +:101D10008DFF83FFFFFF70FF0FFF40FFFFFFB4FF4A +:101D2000E0FF22FFFFFF0FFF48FF18FFFFFFE0FF6C +:101D30008DFF83FFFFFF70FF0FFF40FFFFFFA4FF3A +:101D4000E0FF22FFFFFF0FFF4AFF18FFFFFF60FFCA +:101D50008DFF83FFFFFF70FF0FFF40FFFFFF94FF2A +:101D6000E0FF22FFFFFF0FFF4CFF18FFFFFF00FF08 +:101D70008DFF83FFFFFF70FF0FFF40FFFFFF84FF1A +:101D8000E0FF22FFFFFF0FFF4DFF18FFFFFFE0FF07 +:101D90008DFF83FFFFFF70FF0FFF40FFFFFF74FF0A +:101DA000E0FF22FFFFFF0FFF4FFF18FFFFFF20FFA5 +:101DB0008DFF83FFFFFF70FF0FFF40FFFFFF64FFFA +:101DC000E0FF22FFFFFF0FFF4FFF18FFFFFFF0FFB5 +:101DD0008DFF83FFFFFF70FF0EFF40FFFFFFF4FF4B +:101DE000E0FF22FFFFFF0FFF44FF18FFFFFF40FF50 +:101DF0008DFF83FFFFFF70FF0EFF40FFFFFFE4FF3B +:101E0000E0FF22FFFFFF0FFF45FF18FFFFFF50FF1E +:101E10008DFF83FFFFFF70FF0AFF40FFFFFF04FFFE +:101E2000E0FF22FFFFFF0FFF3DFF18FFFFFFD0FF86 +:101E30008DFF83FFFFFF70FF0AFF40FFFFFF14FFCE +:101E4000E0FF22FFFFFF0FFF3FFF18FFFFFF10FF24 +:101E50008DFF83FFFFFF70FF0AFF40FFFFFF24FF9E +:101E6000E0FF22FFFFFF0FFF3FFF18FFFFFF80FF94 +:101E70008DFF83FFFFFF70FF0AFF40FFFFFF34FF6E +:101E8000E0FF22FFFFFF0FFF3FFF18FFFFFFF0FF04 +:101E90008DFF83FFFFFF70FF0AFF40FFFFFF44FF3E +:101EA000E0FF22FFFFFF0FFF40FF18FFFFFF60FF73 +:101EB0008DFF83FFFFFF70FF47FF90FFFFFF00FFD5 +:101EC00000FF48FFFFFF04FFA0FF23FFFFFF0FFFFE +:101ED00046FF90FFFFFF6AFF00FF0CFFFFFF20FFA0 +:101EE00000FF0AFFFFFF1FFF8DFF83FFFFFF70FF53 +:101EF00047FF90FFFFFF00FF00FF48FFFFFF04FFC9 +:101F0000A0FF23FFFFFF0FFF46FF90FFFFFF6AFFC9 +:101F100000FF0CFFFFFF08FF00FF40FFFFFF00FF77 +:101F2000FFFF93FFFFFFF0FF00FF40FFFFFF00FFF9 +:101F300044FF90FFFFFF60FF00FF00FFFFFF00FF77 +:101F400000FF00FFFFFF00FF00FF00FFFFFF00FF9B +:101F500000FF00FFFFFF00FF00FF00FFFFFF00FF8B +:101F600000FF00FFFFFF00FF00FF00FFFFFF00FF7B +:101F700000FF00FFFFFF00FF21FF40FFFFFF80FF8A +:101F8000FFFF93FFFFFFF0FF8DFF83FFFFFF70FF59 +:101F900047FF90FFFFFF00FF00FF48FFFFFF04FF28 +:101FA000A0FF23FFFFFF0FFF46FF90FFFFFF6AFF29 +:101FB00025FF40FFFFFF80FFFFFF93FFFFFFF0FFC4 +:101FC0008DFF83FFFFFF70FF47FF90FFFFFF00FFC4 +:101FD00000FF48FFFFFF04FFA0FF23FFFFFF0FFFED +:101FE00046FF90FFFFFF6AFFE9FF41FFFFFF80FF11 +:101FF000FFFF93FFFFFFF0FF8DFF83FFFFFF70FFE9 +:1020000047FF90FFFFFF00FF00FF48FFFFFF04FFB7 +:10201000A0FF23FFFFFF0FFF46FF90FFFFFF6AFFB8 +:10202000EDFF41FFFFFF80FFFFFF93FFFFFFF0FF8A +:102030008DFF83FFFFFF70FF47FF90FFFFFF00FF53 +:1020400000FF48FFFFFF04FFA0FF23FFFFFF0FFF7C +:1020500046FF90FFFFFF6AFF00FF40FFFFFF00FF0A +:1020600044FF90FFFFFF60FF00FF00FFFFFF00FF46 +:1020700000FF00FFFFFF00FF00FF00FFFFFF00FF6A +:1020800000FF00FFFFFF00FFF1FF41FFFFFF80FFA8 +:10209000FFFF93FFFFFFF0FF46FF84FFFFFF00FFFE +:1020A00000FF34FFFFFF08FF00FF60FFFFFF03FF9B +:1020B00000FF00FFFFFF00FF00FF00FFFFFF00FF2A +:1020C00000FF00FFFFFF00FF00FF00FFFFFF00FF1A +:1020D00046FF90FFFFFF60FFF7FF4FFFFFFFF4FF9A +:1020E00046FF90FFFFFF74FF8DFF83FFFFFF70FF30 +:1020F00047FF90FFFFFF00FF00FF48FFFFFF04FFC7 +:10210000A0FF23FFFFFF0FFF46FF90FFFFFF6AFFC7 +:1021100000FF0CFFFFFF20FF00FF0AFFFFFF1FFF74 +:1021200046FF84FFFFFF00FF00FF34FFFFFF08FFB3 +:1021300000FF34FFFFFF06FF00FF00FFFFFF00FF6F +:1021400000FF00FFFFFF00FF00FF00FFFFFF00FF99 +:1021500000FF00FFFFFF00FF46FF80FFFFFF10FFB3 +:1021600000FF00FFFFFF00FF00FF00FFFFFF00FF79 +:1021700000FF00FFFFFF00FF00FF00FFFFFF00FF69 +:1021800000FF68FFFFFF02FF00FF00FFFFFF00FFEF +:1021900000FF00FFFFFF00FF00FF00FFFFFF00FF49 +:1021A00000FF00FFFFFF00FF00FF60FFFFFF22FFB7 +:1021B00000FF00FFFFFF00FF00FF00FFFFFF00FF29 +:1021C00000FF00FFFFFF00FF00FF00FFFFFF00FF19 +:1021D00046FF90FFFFFF62FFF7FF4FFFFFFFF4FF97 +:1021E00046FF90FFFFFF74FF8DFF83FFFFFF70FF2F +:1021F00047FF90FFFFFF00FF00FF48FFFFFF04FFC6 +:10220000A0FF23FFFFFF0FFF46FF90FFFFFF6AFFC6 +:1022100000FF0CFFFFFF20FF00FF0AFFFFFF1FFF73 +:1022200046FF88FFFFFF00FF00FF38FFFFFF08FFAA +:1022300000FF50FFFFFF03FF00FF00FFFFFF00FF55 +:1022400000FF00FFFFFF00FF00FF00FFFFFF00FF98 +:1022500000FF00FFFFFF00FF46FF90FFFFFF60FF52 +:10226000F7FF4FFFFFFFF4FF46FF90FFFFFF74FFF4 +:102270008DFF83FFFFFF70FF47FF90FFFFFF00FF11 +:1022800000FF48FFFFFF04FFA0FF23FFFFFF0FFF3A +:1022900046FF90FFFFFF6AFF00FF0CFFFFFF20FFDC +:1022A00000FF0AFFFFFF1FFF46FF88FFFFFF00FF41 +:1022B00000FF38FFFFFF08FF00FF38FFFFFF04FFAC +:1022C00000FF00FFFFFF00FF00FF00FFFFFF00FF18 +:1022D00000FF00FFFFFF00FF00FF00FFFFFF00FF08 +:1022E00046FF80FFFFFF10FF00FF58FFFFFF03FFC7 +:1022F00000FF50FFFFFF23FF00FF00FFFFFF00FF75 +:1023000000FF00FFFFFF00FF00FF00FFFFFF00FFD7 +:1023100000FF00FFFFFF00FF46FF90FFFFFF62FF8F +:10232000F7FF4FFFFFFFF4FF46FF90FFFFFF74FF33 +:102330008DFF83FFFFFF70FF47FF90FFFFFF00FF50 +:1023400000FF48FFFFFF04FFA0FF23FFFFFF0FFF79 +:1023500046FF90FFFFFF6AFF00FF0CFFFFFF20FF1B +:1023600000FF0AFFFFFF1FFF46FF80FFFFFF00FF88 +:10237000FFFF93FFFFFFE0FFFFFF83FFFFFFE2FF91 +:1023800046FF90FFFFFF62FFF7FF4FFFFFFFF4FFE5 +:1023900046FF90FFFFFF74FF8DFF83FFFFFF70FF7D +:1023A00047FF90FFFFFF00FF00FF48FFFFFF04FF14 +:1023B000A0FF23FFFFFF0FFF46FF90FFFFFF6AFF15 +:1023C00000FF0CFFFFFF20FF00FF0AFFFFFF1FFFC2 +:1023D00003FF0DFFFFFF0FFF00FF00FFFFFF00FFE8 +:1023E00000FF00FFFFFF00FF00FF00FFFFFF00FFF7 +:1023F00000FF00FFFFFF00FF46FF90FFFFFF60FFB1 +:102400000CFF0DFFFFFFF0FF00FF00FFFFFF00FFCD +:1024100000FF00FFFFFF00FF00FF00FFFFFF00FFC6 +:1024200000FF00FFFFFF00FFF7FF4FFFFFFFF4FF7C +:1024300046FF90FFFFFF74FF8DFF83FFFFFF70FFDC +:1024400047FF90FFFFFF00FF00FF48FFFFFF04FF73 +:10245000A0FF23FFFFFF0FFF46FF90FFFFFF6AFF74 +:1024600000FF0CFFFFFF20FF00FF0AFFFFFF1FFF21 +:1024700046FF80FFFFFF02FF00FF00FFFFFF00FF9E +:1024800000FF00FFFFFF00FF00FF00FFFFFF00FF56 +:1024900000FF00FFFFFF00FF00FF00FFFFFF00FF46 +:1024A00000FF00FFFFFF00FF00FF00FFFFFF00FF36 +:1024B00000FF00FFFFFF00FF46FF80FFFFFF13FF4D +:1024C00000FF40FFFFFF00FF11FF90FFFFFF60FFD5 +:1024D0008DFF93FFFFFFD0FF11FF90FFFFFFF2FF83 +:1024E00011FF90FFFFFFE3FFF7FF4FFFFFFFF4FF38 +:1024F00046FF90FFFFFF74FF8DFF83FFFFFF70FF1C +:1025000047FF90FFFFFF00FF00FF48FFFFFF04FFB2 +:10251000A0FF23FFFFFF0FFF46FF90FFFFFF6AFFB3 +:1025200000FF0CFFFFFF20FF00FF0AFFFFFF1FFF60 +:1025300046FF84FFFFFF00FF00FF34FFFFFF08FF9F +:1025400000FF34FFFFFF06FF00FF00FFFFFF00FF5B +:1025500000FF00FFFFFF00FF00FF00FFFFFF00FF85 +:1025600000FF00FFFFFF00FF46FF80FFFFFF10FF9F +:10257000FFFF93FFFFFFE0FF00FF60FFFFFF22FF71 +:1025800067FF40FFFFFF40FFFFFF93FFFFFFE0FFFC +:1025900000FF00FFFFFF00FF00FF00FFFFFF00FF45 +:1025A00000FF00FFFFFF00FF00FF00FFFFFF00FF35 +:1025B00046FF90FFFFFF62FFF7FF4FFFFFFFF4FFB3 +:1025C00046FF90FFFFFF74FF8DFF83FFFFFF70FF4B +:1025D00047FF90FFFFFF00FF00FF48FFFFFF04FFE2 +:1025E000A0FF23FFFFFF0FFF46FF90FFFFFF6AFFE3 +:1025F00000FF0CFFFFFF20FF00FF0AFFFFFF1FFF90 +:1026000046FF84FFFFFF00FF00FF34FFFFFF08FFCE +:1026100000FF34FFFFFF06FF00FF00FFFFFF00FF8A +:1026200000FF00FFFFFF00FF46FF80FFFFFF10FFDE +:1026300000FF00FFFFFF00FF00FF00FFFFFF00FFA4 +:1026400000FF00FFFFFF00FF00FF00FFFFFF00FF94 +:1026500046FF80FFFFFF23FFFFFF93FFFFFFE0FF29 +:1026600000FF68FFFFFF32FF00FF60FFFFFF72FF08 +:1026700067FF40FFFFFF40FFFFFF93FFFFFFE0FF0B +:1026800000FF00FFFFFF00FF00FF00FFFFFF00FF54 +:1026900000FF00FFFFFF00FF00FF00FFFFFF00FF44 +:1026A00046FF90FFFFFF67FFF7FF4FFFFFFFF4FFBD +:1026B00046FF90FFFFFF74FF8DFF83FFFFFF70FF5A +:1026C00047FF90FFFFFF00FF00FF48FFFFFF04FFF1 +:1026D000A0FF23FFFFFF0FFF46FF90FFFFFF6AFFF2 +:1026E00000FF0CFFFFFF20FF00FF0AFFFFFF1FFF9F +:1026F00046FF80FFFFFF05FF03FF0DFFFFFF0FFFFA +:1027000000FF00FFFFFF00FF00FF00FFFFFF00FFD3 +:1027100000FF00FFFFFF00FF00FF00FFFFFF00FFC3 +:102720000CFF0DFFFFFFF5FF00FF00FFFFFF00FFA5 +:1027300000FF00FFFFFF00FF00FF00FFFFFF00FFA3 +:1027400000FF00FFFFFF00FFF7FF4FFFFFFFF4FF59 +:1027500046FF90FFFFFF74FF8DFF83FFFFFF70FFB9 +:1027600047FF90FFFFFF00FF00FF48FFFFFF04FF50 +:10277000A0FF23FFFFFF0FFF46FF90FFFFFF6AFF51 +:1027800000FF0CFFFFFF20FF00FF0AFFFFFF1FFFFE +:1027900046FF80FFFFFF00FF8DFF93FFFFFFC0FF9D +:1027A0008DFF83FFFFFFC7FF46FF90FFFFFF67FF1F +:1027B000F7FF4FFFFFFFF4FF46FF90FFFFFF74FF9F +:1027C0008DFF83FFFFFF70FF47FF90FFFFFF00FFBC +:1027D00000FF48FFFFFF04FFA0FF23FFFFFF0FFFE5 +:1027E00046FF90FFFFFF6AFF00FF0CFFFFFF20FF87 +:1027F00000FF0AFFFFFF1FFF46FF80FFFFFF00FFF4 +:102800008DFF93FFFFFFE0FF8DFF83FFFFFFE7FFDB +:1028100000FF00FFFFFF00FF00FF00FFFFFF00FFC2 +:1028200000FF00FFFFFF00FF00FF00FFFFFF00FFB2 +:1028300046FF90FFFFFF67FFF7FF4FFFFFFFF4FF2B +:1028400046FF90FFFFFF74FF8DFF83FFFFFF70FFC8 +:1028500047FF90FFFFFF00FF00FF48FFFFFF04FF5F +:10286000A0FF23FFFFFF0FFF46FF90FFFFFF6AFF60 +:1028700000FF0CFFFFFF20FF00FF0AFFFFFF1FFF0D +:102880008DFF83FFFFFFD0FF00FF40FFFFFF24FF0E +:10289000A0FF23FFFFFF0FFF11FF90FFFFFF6AFF65 +:1028A00000FF40FFFFFF14FF18FF23FFFFFF0FFF94 +:1028B00051FF14FFFFFF81FF90FF80FFFFFF60FFCC +:1028C00080FF23FFFFFF0FFF8DFF83FFFFFFD0FF80 +:1028D00000FF40FFFFFF14FFA0FF23FFFFFF0FFFDC +:1028E00011FF90FFFFFF6AFF30FF0CFFFFFF00FFAB +:1028F00000FF40FFFFFF16FF10FF40FFFFFF07FF35 +:1029000090FF34FFFFFF71FF00FF34FFFFFF09FF5F +:102910000FFF40FFFFFFF5FF00FF60FFFFFF07FF16 +:1029200088FF63FFFFFF27FFE8FF60FFFFFF07FF50 +:1029300062FF61FFFFFF27FF88FF2BFFFFFF8BFF79 +:10294000E8FF60FFFFFF07FF62FF61FFFFFF17FF68 +:1029500088FF2FFFFFFFFBFF89FF23FFFFFF0FFF14 +:1029600098FF20FFFFFF0FFFEAFF20FFFFFF0FFF91 +:1029700000FF0DFFFFFFABFF00FF0DFFFFFFB8FFE4 +:1029800000FF0DFFFFFFCFFF62FF21FFFFFF0FFFE3 +:1029900010FF22FFFFFF0FFF62FF21FFFFFF0FFF6E +:1029A00000FF40FFFFFF24FF90FF80FFFFFF60FF5D +:1029B00080FF23FFFFFF0FFF51FF18FFFFFF00FF06 +:1029C0008BFF93FFFFFFEBFF8BFF93FFFFFFFCFFEE +:1029D00000FF0AFFFFFF0FFF51FF1CFFFFFF0FFF6C +:1029E0008DFF93FFFFFFACFF82FF3CFFFFFF45FF22 +:1029F00054FF14FFFFFF2EFFFFFF3FFFFFFFF5FF18 +:102A000054FF14FFFFFF1EFF00FF00FFFFFF00FF4A +:102A100000FF00FFFFFF00FF51FF1CFFFFFF0FFF44 +:102A200000FF0DFFFFFF0CFF8DFF83FFFFFFA4FFE3 +:102A3000E0FF22FFFFFF0FFF53FF18FFFFFFB3FF71 +:102A40008DFF83FFFFFFD0FF00FF40FFFFFF24FF4C +:102A5000A0FF23FFFFFF0FFF00FF0DFFFFFFBAFFE7 +:102A60008BFF83FFFFFFF5FF11FF90FFFFFF6BFF61 +:102A700000FF40FFFFFF14FF18FF23FFFFFF0FFFC2 +:102A800055FF14FFFFFF21FF90FF80FFFFFF60FF56 +:102A900080FF23FFFFFF0FFF00FF40FFFFFF20FF2E +:102AA00000FF40FFFFFF01FF8BFF83FFFFFFE4FFFD +:102AB0008BFF83FFFFFFF5FF08FF0CFFFFFF00FF09 +:102AC00060FF22FFFFFF0FFF49FF2AFFFFFFEAFF22 +:102AD00000FF0DFFFFFF4EFF8BFF93FFFFFFEEFF99 +:102AE00000FF0DFFFFFF5AFF8BFF93FFFFFFFAFF71 +:102AF0008DFF83FFFFFF20FF8DFF83FFFFFF31FF6F +:102B0000E0FF22FFFFFF0FFFC9FF2AFFFFFFEAFFE1 +:102B100054FF18FFFFFFD5FF00FF0DFFFFFF4EFF23 +:102B200000FF0DFFFFFF5AFF82FF4FFFFFFFF0FF87 +:102B3000FFFF4FFFFFFFF1FFE0FF22FFFFFF0FFF4F +:102B4000C9FF2AFFFFFFEAFF56FF18FFFFFFB4FF90 +:102B500054FF18FFFFFFDFFF00FF40FFFFFF20FFD4 +:102B600047FF90FFFFFF20FF0CFF0CFFFFFF00FF60 +:102B700002FF40FFFFFF60FF11FF90FFFFFF20FFFC +:102B800016FF18FFFFFF4FFF8DFF83FFFFFFD0FFF2 +:102B900000FF40FFFFFF24FFA0FF23FFFFFF0FFF09 +:102BA00011FF90FFFFFF6AFF00FF40FFFFFF14FFD0 +:102BB00018FF23FFFFFF0FFF57FF14FFFFFF91FFD9 +:102BC00090FF80FFFFFF60FF80FF23FFFFFF0FFFED +:102BD0008DFF83FFFFFFD0FF00FF40FFFFFF14FFCB +:102BE000A0FF23FFFFFF0FFF11FF90FFFFFF6AFF12 +:102BF00030FF0CFFFFFF00FF00FF40FFFFFF16FF4D +:102C000010FF40FFFFFF07FF90FF34FFFFFF71FF42 +:102C100000FF34FFFFFF09FF0FFF40FFFFFFF5FF3D +:102C200000FF60FFFFFF07FF88FF63FFFFFF27FF35 +:102C3000E8FF60FFFFFF07FF62FF61FFFFFF27FF65 +:102C400088FF2BFFFFFF8BFFE8FF60FFFFFF07FF01 +:102C500062FF61FFFFFF17FF88FF2FFFFFFFFBFFF2 +:102C600089FF23FFFFFF0FFF98FF20FFFFFF0FFFEC +:102C7000EAFF20FFFFFF0FFF00FF0DFFFFFFABFF8D +:102C800000FF0DFFFFFFB8FF00FF0DFFFFFFCFFFAD +:102C900062FF21FFFFFF0FFF10FF22FFFFFF0FFF6B +:102CA00062FF21FFFFFF0FFF00FF40FFFFFF24FF38 +:102CB00090FF80FFFFFF60FF80FF23FFFFFF0FFFFC +:102CC00057FF18FFFFFF10FF8BFF93FFFFFFEBFF86 +:102CD0008BFF93FFFFFFFCFF5CFF1CFFFFFF3FFF2D +:102CE00000FF0AFFFFFF0FFF57FF1CFFFFFF1FFF43 +:102CF0008DFF93FFFFFFACFF82FF3CFFFFFF45FF0F +:102D00005AFF14FFFFFF4EFFFFFF3FFFFFFFF5FFDE +:102D10005AFF14FFFFFF3EFF00FF00FFFFFF00FF11 +:102D200000FF00FFFFFF00FF57FF1CFFFFFF1FFF1B +:102D300000FF0DFFFFFF0CFF8DFF83FFFFFFA4FFD0 +:102D4000E0FF22FFFFFF0FFF59FF18FFFFFFD3FF38 +:102D50005CFF1CFFFFFF3FFF8DFF83FFFFFFD0FFE6 +:102D600000FF40FFFFFF24FFA0FF23FFFFFF0FFF37 +:102D700000FF0DFFFFFFBAFF8BFF83FFFFFFF5FF93 +:102D80005CFF1CFFFFFF3FFF11FF90FFFFFF6BFF8A +:102D900000FF40FFFFFF14FF18FF23FFFFFF0FFF9F +:102DA0005BFF14FFFFFF61FF90FF80FFFFFF60FFED +:102DB00080FF23FFFFFF0FFF00FF40FFFFFF20FF0B +:102DC00000FF40FFFFFF01FF8BFF83FFFFFFE4FFDA +:102DD0008BFF83FFFFFFF5FF08FF0CFFFFFF00FFE6 +:102DE00060FF22FFFFFF0FFF49FF2AFFFFFFEAFFFF +:102DF00000FF0DFFFFFF4EFF8BFF93FFFFFFEEFF76 +:102E00008BFF93FFFFFFFAFF5EFF1CFFFFFF0FFF2B +:102E10005BFF18FFFFFF0FFF8BFF83FFFFFF20FF0C +:102E200078FF22FFFFFF0FFF0DFF18FFFFFF05FFD9 +:102E300000FF0AFFFFFF0FFF08FF0CFFFFFF00FF6F +:102E400000FF40FFFFFF14FF00FF40FFFFFF05FFF3 +:102E50008BFF83FFFFFFE0FF8BFF83FFFFFFF1FF8F +:102E600060FF22FFFFFF0FFF49FF2AFFFFFFEAFF7E +:102E70008BFF93FFFFFFFAFF8BFF93FFFFFFEEFF38 +:102E80000CFF0CFFFFFF00FF00FF0AFFFFFF0FFF1B +:102E900008FF0CFFFFFF00FF00FF40FFFFFF14FFD4 +:102EA00000FF40FFFFFF05FF8BFF83FFFFFFE0FFF9 +:102EB0008BFF83FFFFFFF1FF60FF22FFFFFF0FFF8C +:102EC00049FF2AFFFFFFEAFF8BFF93FFFFFFFAFF97 +:102ED0008BFF93FFFFFFEEFF0CFF0CFFFFFF00FFD8 +:102EE0008DFF83FFFFFF40FF78FF22FFFFFF0FFFF3 +:102EF0005EFF1CFFFFFF04FF00FF0AFFFFFF0FFF45 +:102F000008FF0CFFFFFF00FF8DFF83FFFFFF50FF57 +:102F100078FF22FFFFFF0FFF5FFF1CFFFFFF54FF43 +:102F20000FFF40FFFFFFF5FF90FF80FFFFFFA8FFAF +:102F300010FF0FFFFFFF08FF90FF80FFFFFF90FFD4 +:102F400088FF27FFFFFF0FFFB6FF27FFFFFF0FFFE1 +:102F50008BFF83FFFFFFFAFFF2FF22FFFFFF0FFF50 +:102F600000FF0DFFFFFF0AFF00FF40FFFFFF14FF00 +:102F7000E2FF22FFFFFF0FFF74FF18FFFFFFE2FFDA +:102F800038FF23FFFFFF0FFF00FF40FFFFFF24FF7D +:102F9000E2FF22FFFFFF0FFF74FF18FFFFFFE2FFBA +:102FA00000FF0AFFFFFF0FFF0FFF40FFFFFFF5FFCE +:102FB00090FF80FFFFFF80FF8BFF83FFFFFFE2FF9B +:102FC00088FF27FFFFFF0FFF98FF20FFFFFF0FFF86 +:102FD00010FF40FFFFFF07FFE8FF20FFFFFF0FFF8D +:102FE00000FF0DFFFFFFACFFF2FF22FFFFFF0FFF0F +:102FF00000FF0DFFFFFF0AFF01FF40FFFFFF04FF7F +:10300000E2FF22FFFFFF0FFF74FF18FFFFFFE2FF49 +:1030100038FF23FFFFFF0FFF02FF40FFFFFF04FF0A +:10302000E2FF22FFFFFF0FFF74FF18FFFFFFE2FF29 +:1030300000FF0AFFFFFF0FFF00FF34FFFFFF08FF45 +:1030400000FF34FFFFFFD4FF00FF34FFFFFF85FFC9 +:10305000FFFF4FFFFFFF89FF00FF09FFFFFF01FF99 +:1030600089FF83FFFFFFB8FF00FF0EFFFFFF0FFF89 +:1030700000FF0DFFFFFF4EFFA7FF23FFFFFF0FFF26 +:1030800000FF68FFFFFFA3FF89FF83FFFFFFA8FF8B +:1030900000FF0EFFFFFF0FFF00FF0DFFFFFF4EFFC2 +:1030A000A7FF23FFFFFF0FFF00FF68FFFFFFA3FF46 +:1030B00000FF09FFFFFF03FF8BFF83FFFFFFB0FF50 +:1030C00000FF68FFFFFF00FF00FF0AFFFFFF0FFF89 +:1030D00002FF35FFFFFF00FF00FF34FFFFFF08FF87 +:1030E00000FF34FFFFFF26FF89FF83FFFFFFD8FFAC +:1030F00000FF0EFFFFFF0FFF00FF0DFFFFFF4EFF62 +:10310000A7FF23FFFFFF0FFF00FF68FFFFFFA3FFE5 +:1031100089FF83FFFFFFC8FF00FF0EFFFFFF0FFFC8 +:1031200000FF0DFFFFFF4EFFA7FF23FFFFFF0FFF75 +:1031300000FF68FFFFFFA3FF00FF09FFFFFF03FF82 +:103140008BFF83FFFFFFD0FF00FF68FFFFFF02FF41 +:1031500001FF40FFFFFF80FF00FF68FFFFFF02FF4E +:1031600000FF40FFFFFF20FF00FF68FFFFFF03FF9E +:1031700000FF0AFFFFFF0FFF00FF40FFFFFF10FFF0 +:103180008BFF93FFFFFF40FF30FF40FFFFFF00FF7B +:1031900049FF90FFFFFF40FF00FF0AFFFFFF0FFF07 +:1031A00000FF40FFFFFF60FF00FF91FFFFFFF0FF08 +:1031B00000FF0AFFFFFF0FFF01FF42FFFFFF80FF3D +:1031C00000FF91FFFFFF70FF07FF42FFFFFF80FF3F +:1031D00003FF91FFFFFF70FF02FF42FFFFFF00FFB1 +:1031E00000FF91FFFFFFF0FF08FF42FFFFFF00FF1E +:1031F00003FF91FFFFFFF0FF00FF40FFFFFF20FFF5 +:1032000001FF91FFFFFF70FF00FF40FFFFFF20FF66 +:1032100004FF91FFFFFF70FF00FF0AFFFFFF0FFF9A +:1032200004FF42FFFFFF00FF49FF90FFFFFF20FF69 +:1032300062FF1CFFFFFFFFFF00FF0AFFFFFF0FFF02 +:1032400000FF40FFFFFF20FF00FF91FFFFFFF0FFA7 +:1032500001FF42FFFFFF00FF49FF90FFFFFF20FF3C +:1032600062FF1CFFFFFFFFFF00FF0AFFFFFF0FFFD2 +:1032700000FF40FFFFFF40FF8BFF93FFFFFF80FF3A +:1032800005FF35FFFFFF00FF92FF3BFFFFFF00FF41 +:1032900000FF34FFFFFF08FF00FF38FFFFFF08FFBC +:1032A00000FF3CFFFFFF65FF65FF14FFFFFF9EFF70 +:1032B00000FF60FFFFFF03FF00FF60FFFFFF13FF42 +:1032C00000FF78FFFFFF13FF00FF78FFFFFF03FF02 +:1032D00001FF42FFFFFF00FF49FF90FFFFFF20FFBC +:1032E00062FF1CFFFFFFFFFF05FF81FFFFFFC0FF25 +:1032F00078FF22FFFFFF0FFF21FF18FFFFFF71FF85 +:1033000000FF0AFFFFFF0FFF49FF80FFFFFF48FF9D +:1033100010FF0FFFFFFF03FF66FF23FFFFFF0FFFFD +:1033200074FF18FFFFFF54FF86FF83FFFFFFC0FFFE +:1033300049FF90FFFFFF20FF62FF1CFFFFFFFFFF21 +:1033400086FF83FFFFFF80FF01FF40FFFFFF04FFB9 +:10335000E0FF22FFFFFF0FFF86FF93FFFFFF8AFFC3 +:1033600067FF1CFFFFFF00FF86FF87FFFFFFD0FF07 +:1033700075FF1CFFFFFF1FFF00FF0AFFFFFF0FFF8E +:1033800000FF48FFFFFF00FF82FF93FFFFFF40FFAA +:1033900000FF0AFFFFFF0FFF08FF0CFFFFFF00FF0A +:1033A00086FF8BFFFFFFB0FF00FF38FFFFFF08FF26 +:1033B00000FF38FFFFFFF4FFFFFF4FFFFFFF89FF14 +:1033C0008DFF83FFFFFF60FF89FF83FFFFFF44FF47 +:1033D00000FF40FFFFFF01FF89FF83FFFFFF55FF55 +:1033E00060FF26FFFFFF0FFF49FF22FFFFFF0FFFD8 +:1033F00000FF78FFFFFFA3FF10FF22FFFFFF0FFF7B +:1034000000FF78FFFFFFA0FF8DFF83FFFFFF60FF3E +:1034100089FF83FFFFFF24FF00FF40FFFFFF01FF45 +:1034200089FF83FFFFFF35FF60FF26FFFFFF0FFFD0 +:1034300049FF22FFFFFF0FFF00FF78FFFFFFA3FF01 +:1034400010FF22FFFFFF0FFF00FF78FFFFFFA3FF2A +:103450008DFF83FFFFFF60FF20FF40FFFFFF04FFA2 +:1034600060FF22FFFFFF0FFF8DFF93FFFFFF6AFF4B +:103470000CFF0CFFFFFF00FF00FF0AFFFFFF0FFF25 +:1034800008FF0CFFFFFF00FF86FF87FFFFFFB0FF75 +:1034900000FF34FFFFFF08FF01FF34FFFFFF04FFC1 +:1034A00000FF34FFFFFF35FFFFFF4FFFFFFF89FFE6 +:1034B00000FF09FFFFFF01FF87FF8BFFFFFFE0FF1A +:1034C00000FF38FFFFFF88FF00FF70FFFFFF03FFD3 +:1034D00000FF68FFFFFF00FF00FF70FFFFFF03FF1B +:1034E00000FF68FFFFFF03FF87FF9BFFFFFFE0FF79 +:1034F0000CFF0CFFFFFF00FF00FF0AFFFFFF0FFFA5 +:1035000001FF3CFFFFFF05FF6AFF14FFFFFF9EFF67 +:1035100067FF1CFFFFFF3FFF69FF1CFFFFFF0FFF5F +:1035200066FF1CFFFFFF1FFF38FF22FFFFFF0FFF9B +:103530006AFF14FFFFFF85FF8BFF83FFFFFF40FF44 +:1035400078FF22FFFFFF0FFF00FF00FFFFFF00FFDC +:1035500000FF0AFFFFFF0FFF82FF83FFFFFF40FF17 +:1035600078FF22FFFFFF0FFF6AFF1CFFFFFFF4FF42 +:1035700000FF0AFFFFFF0FFF00FF40FFFFFF10FFEC +:1035800047FF90FFFFFF20FF87FF83FFFFFFF0FF54 +:1035900086FF93FFFFFF80FF00FF40FFFFFF00FF5C +:1035A0008DFF93FFFFFF60FF82FF93FFFFFF40FF50 +:1035B00086FF87FFFFFF90FF02FF34FFFFFF08FF3A +:1035C00000FF60FFFFFF03FF89FF93FFFFFF20FF66 +:1035D00000FF60FFFFFF03FF89FF93FFFFFF30FF46 +:1035E00000FF60FFFFFF03FF89FF93FFFFFF40FF26 +:1035F00000FF60FFFFFF03FF89FF93FFFFFF50FF06 +:1036000086FF97FFFFFF90FF00FF0AFFFFFF0FFFFE +:1036100000FF34FFFFFF64FF00FF34FFFFFF35FFB3 +:1036200001FF34FFFFFF96FF00FF38FFFFFF34FF6D +:1036300000FF38FFFFFF65FF01FF38FFFFFF96FF28 +:1036400000FF38FFFFFF08FF02FF34FFFFFF49FFC5 +:1036500002FF38FFFFFF49FF10FF40FFFFFF06FF9B +:1036600010FF40FFFFFF02FF30FF0CFFFFFF00FFD6 +:1036700000FF3CFFFFFF25FF6DFF14FFFFFFBEFFB4 +:1036800098FF50FFFFFF73FF88FF50FFFFFF73FF9E +:1036900083FF68FFFFFFC5FF88FF68FFFFFFC4FFD0 +:1036A00083FF68FFFFFFC5FF00FF68FFFFFFC6FF46 +:1036B00098FF50FFFFFF73FF88FF50FFFFFF73FF6E +:1036C00083FF78FFFFFFC4FF88FF78FFFFFFC5FF80 +:1036D00083FF78FFFFFFC4FF00FF78FFFFFFC6FFF7 +:1036E00098FF50FFFFFF73FF88FF50FFFFFF73FF3E +:1036F00083FF68FFFFFFC5FF88FF68FFFFFFC4FF70 +:1037000083FF68FFFFFFC5FF00FF68FFFFFFC6FFE5 +:1037100000FF3CFFFFFF25FF6EFF14FFFFFF8EFF42 +:1037200098FF50FFFFFF73FF88FF50FFFFFF73FFFD +:1037300083FF78FFFFFFC4FF88FF78FFFFFFC4FF10 +:1037400000FF78FFFFFFC4FF20FF0CFFFFFF00FF1B +:1037500000FF0AFFFFFF0FFF00FF34FFFFFFE9FF3D +:1037600001FF38FFFFFF28FF01FF38FFFFFF29FFA0 +:1037700000FF38FFFFFF66FF00FF38FFFFFF34FF49 +:1037800000FF38FFFFFF75FF10FF40FFFFFF06FF40 +:1037900000FF41FFFFFF07FF30FF0CFFFFFF00FFAF +:1037A00098FF70FFFFFF20FF00FF3CFFFFFF25FF9A +:1037B00070FF14FFFFFF2EFF80FF70FFFFFF42FF2F +:1037C00063FF72FFFFFF20FF80FF68FFFFFFA7FF7F +:1037D00000FF70FFFFFF41FF63FF72FFFFFF24FF49 +:1037E00080FF68FFFFFFA7FF00FF70FFFFFF46FF9E +:1037F00063FF72FFFFFF24FF80FF68FFFFFFA7FF4B +:1038000000FF70FFFFFF45FF63FF72FFFFFF20FF18 +:1038100000FF68FFFFFFA7FF80FF70FFFFFF42FF71 +:1038200063FF72FFFFFF20FF80FF70FFFFFF41FF7C +:1038300063FF6AFFFFFFA7FF00FF70FFFFFF24FF8A +:1038400080FF68FFFFFFA7FF00FF70FFFFFF44FF3F +:1038500063FF72FFFFFF24FF80FF68FFFFFFA7FFEA +:10386000F0FF40FFFFFF05FF00FF4FFFFFFF04FFDA +:1038700000FF0DFFFFFF0BFF80FF27FFFFFF0FFF84 +:1038800088FF23FFFFFF0FFFEAFF20FFFFFF0FFF6F +:1038900074FF22FFFFFF0FFF00FF68FFFFFFA7FF7E +:1038A00000FF70FFFFFF24FF80FF70FFFFFF44FF5A +:1038B00063FF72FFFFFF24FF80FF68FFFFFFA7FF8A +:1038C00000FF4FFFFFFF04FF00FF0DFFFFFF0BFF97 +:1038D00080FF27FFFFFF0FFF88FF23FFFFFF0FFF82 +:1038E000EAFF20FFFFFF0FFF74FF22FFFFFF0FFF24 +:1038F00000FF68FFFFFFA7FF00FF0AFFFFFF0FFFAA +:1039000038FF22FFFFFF0FFF72FF14FFFFFF35FF9D +:103910008BFF83FFFFFF30FF78FF22FFFFFF0FFFCA +:1039200000FF0AFFFFFF0FFF0EFF40FFFFFF00FF3A +:1039300010FF90FFFFFF10FF08FF40FFFFFF00FF99 +:1039400010FF90FFFFFF90FF02FF40FFFFFF40FFCF +:1039500011FF90FFFFFF20FF00FF40FFFFFF00FF70 +:1039600010FF90FFFFFFB0FFB0FF40FFFFFF00FF21 +:1039700047FF90FFFFFF50FF30FF40FFFFFF00FFBA +:1039800047FF90FFFFFF40FF78FF42FFFFFF50FF20 +:1039900048FF90FFFFFFA0FF40FF40FFFFFF00FF39 +:1039A00049FF90FFFFFF70FF18FF40FFFFFF00FF80 +:1039B00047FF90FFFFFF70FF18FF40FFFFFF10FF62 +:1039C00047FF90FFFFFF70FF18FF40FFFFFF00FF62 +:1039D00047FF90FFFFFF70FF00FF40FFFFFF00FF6A +:1039E00011FF90FFFFFF60FF8DFF93FFFFFFD0FFF0 +:1039F0000BFF40FFFFFF80FF11FF90FFFFFFF0FF75 +:103A000000FF40FFFFFF10FF11FF90FFFFFFE0FFEF +:103A100000FF48FFFFFF00FF00FF93FFFFFF00FFD5 +:103A200000FF0AFFFFFF0FFF08FF40FFFFFF00FF3F +:103A300047FF90FFFFFF20FF22FF18FFFFFF9FFFC0 +:103A400000FF48FFFFFF10FF86FF93FFFFFF70FF9F +:103A500022FF18FFFFFF9FFF00FF48FFFFFF00FF4F +:103A600086FF93FFFFFF70FF22FF18FFFFFF9FFFFE +:103A700000FF48FFFFFF20FF86FF93FFFFFF70FF5F +:103A800022FF18FFFFFF9FFF00FF34FFFFFF48FFEB +:103A900000FF60FFFFFF03FF86FF93FFFFFFB0FF04 +:103AA00000FF60FFFFFF03FF86FF93FFFFFFC0FFE4 +:103AB00086FF97FFFFFFD0FF00FF0AFFFFFF0FFF0A +:103AC00080FF37FFFFFF02FF84FF3BFFFFFF02FF86 +:103AD00000FF60FFFFFF0BFF0CFF0DFFFFFF90FFDC +:103AE00000FF70FFFFFF0BFF0CFF0DFFFFFFB0FF9C +:103AF00088FF37FFFFFF03FF8CFF3BFFFFFF03FF44 +:103B000000FF40FFFFFF01FF8BFF93FFFFFF51FF0F +:103B100082FF43FFFFFF80FF8BFF93FFFFFF60FFEC +:103B200000FF34FFFFFF89FF00FF40FFFFFF00FFA2 +:103B30000CFF0DFFFFFF80FF0CFF0DFFFFFFA0FF3D +:103B400000FF0AFFFFFF0FFF80FF37FFFFFF00FFAF +:103B500000FF34FFFFFF08FF02FF3CFFFFFF45FFB0 +:103B600076FF14FFFFFFDEFF00FFA0FFFFFF03FF54 +:103B700084FF37FFFFFF00FF00FF34FFFFFF08FF58 +:103B800002FF3CFFFFFF45FF77FF14FFFFFF2EFF03 +:103B900000FFA0FFFFFF03FF7EFF38FFFFFF00FFD6 +:103BA00000FF38FFFFFF08FF00FF3CFFFFFFE5FFBE +:103BB00077FF14FFFFFF8EFF00FF40FFFFFF00FFB6 +:103BC00000FF58FFFFFF03FF00FF0AFFFFFF0FFF8B +:103BD00064FF1CFFFFFF4FFF38FF22FFFFFF0FFFB7 +:103BE00077FF14FFFFFFE5FF8BFF83FFFFFF40FF21 +:103BF00078FF22FFFFFF0FFF64FF1CFFFFFF8FFF17 +:103C000038FF22FFFFFF0FFF78FF14FFFFFF35FF94 +:103C10008BFF83FFFFFF40FF78FF22FFFFFF0FFFB7 +:103C200000FF0AFFFFFF0FFF00FF34FFFFFF09FF48 +:103C300000FF34FFFFFF85FF00FF34FFFFFF56FF4B +:103C400000FF09FFFFFF06FF20FF40FFFFFF00FF0F +:103C500001FF40FFFFFFC1FF00FF40FFFFFF44FFE8 +:103C600000FF68FFFFFF05FF00FF68FFFFFF15FF74 +:103C700000FF68FFFFFF05FF00FF68FFFFFF45FF34 +:103C800000FF0AFFFFFF0FFF86FF87FFFFFFF0FF28 +:103C900086FF8BFFFFFFE0FF00FF34FFFFFFC8FF41 +:103CA00000FF38FFFFFFC8FF00FF60FFFFFF03FFBB +:103CB00000FF60FFFFFF13FF00FF78FFFFFF13FF10 +:103CC00000FF78FFFFFF03FF86FF97FFFFFFF0FF76 +:103CD00086FF9BFFFFFFE0FF05FF81FFFFFFC0FFA7 +:103CE00078FF22FFFFFF0FFF21FF18FFFFFF71FF8B +:103CF00000FF0AFFFFFF0FFF7FFF38FFFFFF01FFFD +:103D000000FF38FFFFFF09FF00FF38FFFFFF06FF3E +:103D10007EFF40FFFFFF00FF00FF40FFFFFFB1FFFE +:103D200008FF0CFFFFFF00FF00FF3CFFFFFFC5FF88 +:103D30007AFF14FFFFFFBEFF00FF50FFFFFF46FFAB +:103D4000E1FF22FFFFFF0FFF7AFF1CFFFFFFE0FFF5 +:103D500060FF22FFFFFF0FFF00FF58FFFFFFA7FFDD +:103D60000CFF0CFFFFFF00FF00FF0AFFFFFF0FFF2C +:103D700000FF40FFFFFFC4FF00FF0AFFFFFF0FFF30 +:103D8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF43 +:043D9000FFFFFFFF33 +:00000001FF diff --git a/firmware/sb16/alaw_main.csp.ihex b/firmware/sb16/alaw_main.csp.ihex new file mode 100644 index 0000000..0450270 --- /dev/null +++ b/firmware/sb16/alaw_main.csp.ihex @@ -0,0 +1,87 @@ +:10000000001000440800004400B1004400610044B6 +:10001000085000440DF261A8440404190000404552 +:10002000404939AC5555718B500563800000063945 +:10003000FF2E2149FF0FD4492001090E2000718BAA +:10004000A801A8808801A880A8000080D200718B38 +:100050008800A880A804B3802007B3808803B180FB +:10006000C000095CC2010082A100718BCD0004199F +:100070002120718BCF0004190000B180C200041947 +:100080000040001408400424000034490C4000449F +:1000900044040439000040453200095C00000C397A +:1000A00000004045404009EFFF2009CF000463A154 +:1000B000500333800004A38000FFC28B00D004549F +:1000C00004E000C4200380C03000008800007A0AE9 +:1000D000D001008200600044C0000099006000442C +:1000E00000FFC28B20000080000D428B083200C44C +:1000F000000E428B00A200C4001E428B0CB200C452 +:10010000008E428B006200C4009E428B085200C4E5 +:1001100000BE428B085200C40004428B047200C42B +:100120000024428B00D200C40055428B006000C402 +:1001300000004045200179800030428B088200C4D5 +:10014000000040450000718B4001008000600044C9 +:10015000FF00E2AB00B200C40FF2A8A82000B188F3 +:10016000000041024DF20039C001008200600044ED +:100170000DF2A3A84DF2003900600044FF00E2AB8D +:1001800020000088000061024DF204190060004464 +:10019000FF00E2ABA0000088000061104DF20419DE +:1001A00000600044FF20E2AB60000088000071C0E6 +:1001B0004DF20419006000440000798000E20084E0 +:1001C0000303044904C20054006004640060004456 +:1001D0000000638000000619030004490060004429 +:1001E00020016380000006190020E28B0CF20084DD +:1001F000BE00518BC020003908010044EC00518B37 +:10020000C02000390002E28B042100843F00518BA2 +:10021000C2200039001100443D00518BC22000393A +:10022000E500718BCD0000390000B180C9200419B0 +:10023000CB200419C1200419C32004191000718BAC +:10024000C7200419DE00518BCF0000390001B180B6 +:10025000C4200419C6200419C8200419CA2004198E +:100260002000718BCC200419030004490060004475 +:10027000090461A8C10004190B0461A8CA0004198B +:10028000046000D40D00610A9040098F0001004510 +:100290000F00610A0040098F000100458200092E0D +:1002A000804009CF02006122432561224033008053 +:1002B0000848004420B1495C9200094E0203092E0F +:1002C0000000A302C00071C02000EB800004C28BBC +:1002D0002004618000047A02C00000820CC3084937 +:1002E000B001F3800000103920000C890C88084907 +:1002F0000300A81800001039BDFF628B20010080A8 +:10030000000063CB00007A024000015B2000008007 +:1003100000004ACB2000138020007A80E02100C03A +:10032000080008491041098EAEAE628B00046122BC +:1003300000030045220133802001A30200007A80DF +:10034000C00000820720400A08A3008440210080EA +:1003500040059310C7200039000040450720400A9F +:100360000C930084080000820C246150400100803E +:10037000C7200039000040450004638000000639B2 +:100380004201090E0220610A000100450C20600AAA +:1003900000C300840004B180000006390C6104D45D +:1003A000002471C0203333C0E001A38222037A020B +:1003B000C301A3822001338000007A80C201B350C0 +:1003C000CC20003900007180000800440C20600A35 +:1003D00000F300840004B180000006390C6104D4ED +:1003E000000071C000009310CC20003900080044C8 +:1003F000CC200039002000C0003071C0000800444B +:1004000020010080AEAE628B20013380000083802B +:1004100020007A8020A1495C8200096E804A098E02 +:10042000E001B3822004A38000007ACB2804EA1004 +:100430000C047A107000C08B00001039900300800B +:100440004000215B900061800C8A084900001C1963 +:100450004000085B08000849200200800300A8183B +:1004600000001419400021CB000041020000EB8085 +:10047000F2010082402133020820610AC4000419FD +:10048000C70000990200610A0C0A04140100610A05 +:100490000300480A00580454C30004190C580044CF +:1004A0000800C80A0C580454C80004190A00610A5C +:1004B0000900480A00C80454C90004190CC80044C3 +:1004C0000B00C80A0CC80454CB0004190400610ACC +:1004D0000600480A00D80454C60004190CD8004489 +:1004E0000500C80A0CD80454C50004190700610AA5 +:1004F0000C00480A000A0454CC0004190C0A0044F9 +:100500000E00C80A0C0A0454CE000419000040452D +:080510002010718B0842060067 +:00000001FF +/* + * Copyright (c) 1994 Creative Technology Ltd. + * Microcode files for SB16 Advanced Signal Processor + */ diff --git a/firmware/sb16/ima_adpcm_capture.csp.ihex b/firmware/sb16/ima_adpcm_capture.csp.ihex new file mode 100644 index 0000000..9a50a58 --- /dev/null +++ b/firmware/sb16/ima_adpcm_capture.csp.ihex @@ -0,0 +1,121 @@ +:1000000000100044080000440070004408D0004480 +:1000100000F000440DF261A84404041900004045BA +:100020000004638000000639FF2E2149FF0CD449EB +:10003000404939AC5555718B5001B1800000718B2E +:10004000C2300419C0A00419C2A004198900718B20 +:10005000C83004197100718BCD000419CF00041948 +:100060008000718BCB2004192000718BC4200419EF +:100070004700518BC020003900006380C1A00419E3 +:100080009300014FCD300009CF3000090C4000141F +:1000900000600014000461A8020461A80C6004243C +:1000A000000034490850004444040439000040452D +:1000B0000830610A05B0E8180CC00454C8300419AF +:1000C000090400A80B0400A800004045090461A829 +:1000D000C10004190B0461A8CA0004190D00610ACB +:1000E000000100450F00610A0040098F0001004532 +:1000F000404009EFFF2009CF000463A15003338083 +:100100000004A38000FFC28B0C120454081200C428 +:10011000200380C03000008800007A0AD0010082ED +:1001200004500044C00000990450004400FFC28BFA +:1001300020000080000D428B044200C4000E428B60 +:10014000085200C4001E428B00E200C4008E428BA5 +:1001500008D200C4009E428B04F200C400BE428B51 +:1001600004F200C40004428B041100C40024428B3A +:100170000C6100C40055428B045000C4003F428B08 +:100180000C0100C400004045200179800030428B02 +:10019000046200C4000040450000718B40010080F3 +:1001A00004500044FF00E2AB08C200C40FF2A8A84C +:1001B0002000B188000041024DF20039C0010082E8 +:1001C000045000440DF2A3A84DF20039045000443D +:1001D000FF00E2AB20000088000061024DF204192C +:1001E00004500044FF00E2ABA00000880000611052 +:1001F0004DF2041904500044FF20E2AB6000008877 +:10020000000071C04DF204190450004400007A0A45 +:100210002001F08001A0410A001100C42001F080FB +:10022000C130041904500044000079800C4100845E +:100230008900718BC83004199700718BCD0000398B +:100240000001B1808000041982000419C120041942 +:10025000C3200419C2300419CD100419CF10041999 +:10026000B000718B84000419860004198000718B22 +:10027000CB2004199300014FCD300009CF30000985 +:100280000302044908410014045000440000638044 +:100290000000061903000449045000442001638053 +:1002A000000006190020E28B00C100844700518B3A +:1002B000C020003900006380C1A0041900E100449F +:1002C000BD00518BC02000390000B180C1A00419CD +:1002D00003000449045000440020610A0001004565 +:1002E0000230610A0C8300C40C780844045A0844A4 +:1002F000B200094F1042098E05B0E01804230084B3 +:100300000C01001108056110004908440048084428 +:10031000B200094F8000718BC00000820C013310C5 +:100320002801A31000017A808C0100800230610A4C +:10033000200004190C8300C405B0C818084300C489 +:100340000130C80A0C3800C4088800440C780844FE +:10035000045A08440000A318800004190B0461A883 +:10036000C3200039C33004190F10610ACA300419C0 +:10037000090441A8E1200039D100094F00046102BD +:10038000086300440330410A20000039A300094FEC +:100390000004610200480844088800440230610AF1 +:1003A000000800C40C780844045A0844B200090F3D +:1003B0001040098E0000685B2004B1800200615B80 +:1003C00088037A80AC01008005B0E01800D3008477 +:1003D0000049084400480844B200090F8000718BAE +:1003E000C00000820230610A000800C405B0C818CD +:1003F0000C1800C40130C80A0C3800C40888004436 +:100400000C780844000061182005B180000068CB1A +:10041000800004190D10610AC33004190B0441A8AF +:10042000090441A8E1200039083800440330410A9A +:100430002004B18000480844088800440000B180CE +:10044000C23004190CB800D40F30610A0D30C80A4C +:100450000CB800C49300014FE700016F0F30610A30 +:1004600020000088020061024104041902046102B4 +:1004700043040439CF3000092000094900590044E1 +:100480009300014FE700016F0D30610A2000618881 +:10049000C2000082C2030082CD3000092000094959 +:1004A0000F30610A0D30C80A0C5800840230610A0E +:1004B00005B0A818C2300419000000469040098F0A +:1004C0001204096E0300090E0001718220010080F0 +:1004D000000061CB8004B1800001E0600CD80414FE +:1004E0000001EB804000521B80007980C00171C286 +:1004F0002000C080080A0454C004A8828000721B37 +:10050000800000800001F0802000C0800C2A04548C +:10051000C004A8821000721B800000800001F080DF +:100520002000C080083A0454C004A8822000721B36 +:1005300080000080C003F0822000A0800001001134 +:100540004000C28B00AA00C40000E98005B0A818D2 +:100550000001A822D0010082F000E21B0620A80AB8 +:100560002D10610AD100092E0001A8020E10C80A40 +:100570000CBA04140E10610A044A00440C10C80A94 +:10058000044A04540C10610AD00100820010A8181B +:10059000A0000088000171820300090E9A0100602A +:1005A0003200092E00000046000171822001008007 +:1005B000000061CB8024B1C00031E0600CCA04149B +:1005C0000001EB804000521B80007980C00171C2A5 +:1005D0002000C08008DA0454C004A8828000721B86 +:1005E000800000800001F0802000C0800CFA0454DC +:1005F000C004A8821000721B800000800001F080FF +:100600002000C08008290454C004A8822000721B66 +:1006100080000080C003F0822000A0800001001153 +:100620004000C28B003900C40000E98005B0A81862 +:100630000001A822D0010082B000E21B0620A80A17 +:100640002F10610AF100092E0001A8020E10C80A3D +:100650000CA904140E10610A049900440C10C80A75 +:10066000049904540C10610AD00100820010A818EB +:10067000A0000088000171829F0100600000004618 +:10068000000033800000838020007A8020073380C0 +:100690000000838020047A80200100800000004652 +:1006A0000200610A041B04140100610A0300480AE5 +:1006B0000C790454C300041904C900440800C80A92 +:1006C00004C90454C80004190A00610A0900480A50 +:1006D0000CE90454C900041904D900440B00C80AE9 +:1006E00004D90454CB0004190400610A0600480A26 +:1006F0000CF90454C6000419040B00440500C80A90 +:10070000040B0454C50004190700610A0C00480AD0 +:100710000C2B0454CC000419041B00440E00C80A1E +:10072000041B0454CE000419000040459220718B34 +:04073000A6C5110049 +:00000001FF +/* + * Copyright (c) 1994 Creative Technology Ltd. + * Microcode files for SB16 Advanced Signal Processor + */ diff --git a/firmware/sb16/ima_adpcm_init.csp.ihex b/firmware/sb16/ima_adpcm_init.csp.ihex new file mode 100644 index 0000000..a899a9e --- /dev/null +++ b/firmware/sb16/ima_adpcm_init.csp.ihex @@ -0,0 +1,70 @@ +:10000000001000440000404500004045000040450D +:1000100000004045AAAA718B440404190000404521 +:10002000FF6E2149FF0FD449404939AC5555718BBA +:100030005005B1806200190E2100718B880000808C +:10004000B000718B880000804000718B88000080B8 +:100050006000718B880000805000718B88000080E8 +:100060007000718B88000080C000718B8800008058 +:10007000E000718B88000080D000718B88000080C8 +:100080000200718B880000802200718B8800008044 +:100090003200718B88000080A200718B8800008084 +:1000A000B200718B880000806200718B8800008034 +:1000B000C200718B88000080F200718B8800008084 +:1000C0001100718B88000080A100718B8800008076 +:1000D0006100718B88000080E100718B88000080D6 +:1000E0001300718B88000080B300718B8800008042 +:1000F000C300718B880000801800718B880000801D +:100100006800718B880000800A00718B8800008075 +:100110004A00718B880000802900718B8800008064 +:100120007900718B880000809B00718B88000080B3 +:100130001400718B88000080F400718B88000080AF +:10014000E600718B88000080E500718B88000080DC +:10015000D700718B880000802E00718B8800008092 +:100160009D00718B88000080EF00718B88000080FB +:10017000B220718B880000803320718B8800008052 +:100180002A20718B880000803B20718B88000080C2 +:100190004620718B880000802C20718B88000080A5 +:1001A000DD20718B880000800110718B8800008039 +:1001B0009A10718B880000801610718B8800008067 +:1001C0008E10718B88000080C230718B8800008097 +:1001D000C930718B880000803C30718B88000080B2 +:1001E0008180718B88000080D480718B88000080B2 +:1001F00010A0718B8800008034A0718B8800008073 +:100200000290718B880000807590718B880000804F +:100210009AB0718B880000801240718B880000803A +:100220000D40718B880000803C60718B88000080DD +:10023000E750718B880000800E70718B8800008001 +:10024000FFC0718B88000080C8D0718B880000804F +:1002500057F0718B88000080C822718B8800008065 +:10026000B032718B88000080DD82718B8800008045 +:1002700090B2718B880000808A62718B8800008048 +:10028000CE72718B88000080A5D2718B88000080AF +:100290009721718B88000080A2A1718B880000805B +:1002A0005C41718B88000080FEC1718B88000080EA +:1002B0007A23718B880000807893718B880000808E +:1002C0006773718B880000801728718B880000800D +:1002D0008848718B88000080DBF8718B8800008073 +:1002E0002BBA718B88000080F109718B8800008027 +:1002F000DC69718B88000080198B718B880000800D +:10030000FFFB718B880000802000718B88000080CB +:100310005200718BC2000082FFFF718BC20000820D +:10032000C2000082C2000082C20000821000718BF5 +:10033000C20000828000718BC20000829000718B2D +:10034000C20000824000718BC2000082FFFF718BEF +:10035000C2000082C2000082C2000082C20000828D +:100360001000718BC20000828000718BC20000827D +:100370009000718BC20000824000718BC20000822D +:10038000FFFB718BC20000820004718BC2000082EF +:100390004A00718BC20000820000718BC200008293 +:1003A0000000718BC2000082C2000082C2300419BA +:1003B0001000094FC2010082C2010082C201008206 +:1003C000C2010082C2010082C2010082C201008219 +:1003D000C2010082C2010082C2010082C201008209 +:1003E000C2010082C20100820010718BC130041969 +:1003F0009300014FCD300009CF300009000034498F +:0804000000080044C85411007B +:00000001FF +/* + * Copyright (c) 1994 Creative Technology Ltd. + * Microcode files for SB16 Advanced Signal Processor + */ diff --git a/firmware/sb16/ima_adpcm_playback.csp.ihex b/firmware/sb16/ima_adpcm_playback.csp.ihex new file mode 100644 index 0000000..f09f18c --- /dev/null +++ b/firmware/sb16/ima_adpcm_playback.csp.ihex @@ -0,0 +1,122 @@ +:1000000000100044080000440C50004400700044FC +:10001000047000440DF261A8440404190000404536 +:100020000004638000000639FF2E2149FF0DD449EA +:10003000404939AC5555718B5001B1800001B180F8 +:10004000C92004195100718BCD000419E420718B73 +:10005000CF0004198000718BCB2004191000718B24 +:10006000C42004196500518BC22000390000B18002 +:10007000C230041900006380C1A004199300014F2D +:10008000CD300009CF300009044000140C400014AA +:10009000000461A8020461A804600424000034493B +:1000A000005000444404043900004045000040452D +:1000B0000F00610A00010045404009EFFF2009CF11 +:1000C000000463A1500333800004A38000FFC28BAF +:1000D00008F004540CD000C4200380C03000008815 +:1000E00000007A0AD001008208500044C000009944 +:1000F0000850004400FFC28B20000080000D428B9E +:1001000000A200C4000E428B0C9200C4001E428B61 +:10011000046200C4008E428B0C5200C4009E428BCD +:1001200000C200C400BE428B00C200C40004428B67 +:1001300000F200C40024428B009100C40055428BA1 +:10014000085000C4003F428B08E200C40000404554 +:10015000200179800030428B009200C400004045AD +:100160000000718B4001008008500044FF00E2ABAA +:100170000C4200C40FF2A8A82000B1880000410280 +:100180004DF20039C0010082085000440DF2A3A8CE +:100190004DF2003908500044FF00E2AB2000008817 +:1001A000000061024DF2041908500044FF00E2AB68 +:1001B000A0000088000061104DF2041908500044AE +:1001C000FF20E2AB60000088000071C04DF204190E +:1001D0000850004400007A0A2001F08001A0410A82 +:1001E00004D200C42001F080C1300419085000443A +:1001F0000000798000A10084B500518BCF00003948 +:100200000001B180880004198A000419C82004196B +:10021000CA200419C2300419CD100419CF100419D2 +:10022000B000718B8C0004198E0004191000718BC2 +:10023000C42004199300014FCD300009CF300009CC +:100240000303044904810054085004640850004426 +:1002500000006380000006190300044908500044B0 +:1002600020016380000006190002E28B084100842F +:100270006500518BC220003900006380C1A00419C1 +:10028000086100442D00518BC22000390000B1806C +:10029000C1A0041903000449085000440220610A67 +:1002A000000100450230610A040300C405B0C8180B +:1002B000047100C4001300440079084400047980EC +:1002C000004900C4CA2004194A040419FF00E28B43 +:1002D0000CF90844CF1004190C2B08448E000419A3 +:1002E0000330610AC8200039480400390A30610A25 +:1002F0000CF90844CD1004190C2B08448C00041987 +:100300000CD908440C5A0044007908440004798050 +:10031000004900C4C3300419CA3000990CD90844FC +:10032000420A090E000133118C01A38000017A10EA +:100330008005B18005B0E01800930084007908447E +:1003400000047980004900C40C1B0844880004198B +:100350008A0000990CD90844420A090E8000718B6A +:10036000C004B1821000E00B004300840230610A37 +:100370000130C80A004300840000B180C230041973 +:100380000CA800440230610A00D300C405B0C818AC +:10039000046300C408F30044007908440004798031 +:1003A000004900C420000419FF00E28B0CF9084446 +:1003B000CD100419CF1004190C2B08448C0004191B +:1003C0008E0004190330610AC8200039CA200039A0 +:1003D000480400394A0400390CD908440C5A004436 +:1003E0000079084400047980004900C4C33004192E +:1003F0000CD90844420A090E05B0E0180018008420 +:100400000079084400047980004900C40C1B0844AA +:10041000800100800CD90844420A090E8000718BCB +:10042000C004B1821000E00B008800840230610A31 +:100430000130C80A008800840000B180C23004196D +:1004400000010011000FE28B000041CB8C00008006 +:10045000000048CB20007A8080010080820C096E69 +:100460000308090E804009CF000171C20008C21BB9 +:1004700004B800C42005A8802001F0800001C21B40 +:10048000044800C42005A8802001F0800002C21B9F +:10049000046800C42005A8802001F0802003A88003 +:1004A000000100110004C28B087800C40000E9803C +:1004B00005B0A81800004ACB2000A822D001008275 +:1004C00040010080C4000419B000E28B0620A80A95 +:1004D0002D10610AD108092E0001A8020CF9084468 +:1004E000CD1004190C2B08440308090E9A25B1609D +:1004F000A20E096E0300090F000171822001008025 +:10050000000061CB800100800300090F000171C26F +:100510000008C21B0C2A00C42005A8802001F0801E +:100520000001C21B0C1A00C42005A8802001F08025 +:100530000002C21B0C3A00C42005A8802001F080F4 +:100540002003A880000100110004C28B04AA00C48B +:100550000000E98005B0A81800004ACB2000A822BE +:10056000D001008240010080C7000419B000E28B76 +:100570000620A80A2F10610AF108092E0001A8021E +:100580000CF90844CF1004190C2B08449F35B160B6 +:100590000308090E0001718220010080000061CB78 +:1005A00080010080E420718B000100459040098F9C +:1005B0000005638000000639081904D49300014F38 +:1005C000E700016F0D30610A200461A8C2000082BB +:1005D000020461A8C2000082CD30000902000002BE +:1005E00002000002C0800009200009490F30610AA2 +:1005F0000D30C80A002900C40080C80A002900C4C0 +:100600000004B18000000639C920043900390044D3 +:1006100000046380000006390004B180C920043959 +:10062000003900440920230A00000619C9200419D2 +:10063000000040450200610A0CB904140400610A7C +:100640000600480A00A90454C60004190CA9004475 +:100650000500C80A0CA90454C50004190700610A62 +:100660000C00480A00B90454CC0004190CB9004429 +:100670000E00C80A0CB90454CE0004190C5A0044E8 +:10068000820D092E804009CF00DF718B8001008030 +:1006900002C1002203C1002200016580D2056582EB +:1006A00040210080D3030082403300800C5A004474 +:1006B0000F30610A0D30C80A08D900C49300014FF9 +:1006C000E700016F0F30610A20000088020061021C +:1006D00002000003CF3000092000094900046380B4 +:1006E00004D900440004B180000000460230610AD1 +:1006F00005B0A818C2300419000000460E10C80A40 +:100700000C0B04140E10610A042B00440C10C80AD0 +:10071000042B04540C10610A000000460010A818B5 +:10072000A0000088000171820000004600043380B0 +:100730000000838020047A802001338000008380C1 +:1007400020007A80200300800000004616CE1100B1 +:00000001FF +/* + * Copyright (c) 1994 Creative Technology Ltd. + * Microcode files for SB16 Advanced Signal Processor + */ diff --git a/firmware/sb16/mulaw_main.csp.ihex b/firmware/sb16/mulaw_main.csp.ihex new file mode 100644 index 0000000..b64b565 --- /dev/null +++ b/firmware/sb16/mulaw_main.csp.ihex @@ -0,0 +1,84 @@ +:10000000001000440800004400B1004400610044B6 +:10001000085000440DF261A8440404190000404552 +:10002000404939AC5555718B500563800000063945 +:10003000FF2E2149FF0FD4492001090E2000718BAA +:10004000A801A8808801A880A8000080D200718B38 +:100050008800A880A804B3802007B3808803B180FB +:10006000C000095CC2010082A100718BCD0004199F +:10007000A220718BCF0004190000B180C2000419C6 +:100080000040001408400424000034490C4000449F +:1000900044040439000040453200095C00000C397A +:1000A00000004045404009EFFF2009CF000463A154 +:1000B000500333800004A38000FFC28B00D004549F +:1000C00004E000C4200380C03000008800007A0AE9 +:1000D000D001008200600044C0000099006000442C +:1000E00000FFC28B20000080000D428B083200C44C +:1000F000000E428B00A200C4001E428B0CB200C452 +:10010000008E428B006200C4009E428B085200C4E5 +:1001100000BE428B085200C40004428B047200C42B +:100120000024428B00D200C40055428B006000C402 +:1001300000004045200179800030428B088200C4D5 +:10014000000040450000718B4001008000600044C9 +:10015000FF00E2AB00B200C40FF2A8A82000B188F3 +:10016000000041024DF20039C001008200600044ED +:100170000DF2A3A84DF2003900600044FF00E2AB8D +:1001800020000088000061024DF204190060004464 +:10019000FF00E2ABA0000088000061104DF20419DE +:1001A00000600044FF20E2AB60000088000071C0E6 +:1001B0004DF20419006000440000798000E20084E0 +:1001C0000303044908C20054006004640060004452 +:1001D0000000638000000619030004490060004429 +:1001E00020016380000006190020E28B0CF20084DD +:1001F0003E00518BC0200039080100446C00518B37 +:10020000C02000390002E28B04210084FD00518BE4 +:10021000C220003900110044FE00518BC220003979 +:10022000E500718BCD0000390000B180C9200419B0 +:10023000CB200419C1200419C32004191000718BAC +:10024000C72004195E00718BCF0000390000B18017 +:10025000C4200419C6200419C8200419CA2004198E +:100260002000718BCC200419030004490060004475 +:10027000090461A8C10004190B0461A8CA0004198B +:10028000046000D40D00610A9040098F0001004510 +:100290000F00610A0040098F000100458200092E0D +:1002A000804009CF02006122432561224033008053 +:1002B00008A800442031495C9200094E0203092E2F +:1002C0000000A302C00071C02000EB800004C28BBC +:1002D0002004618000047A02CB00A858B005F380A6 +:1002E0002004A81000001039B000E08B200100802D +:1002F000000063CB00007A024000015B2000008018 +:1003000000004ACB2000138020007A80E02100C04A +:10031000080008491041098EFFFF628B000461222A +:1003200000030045220133802001A30200007A80EF +:10033000C00000820720400A08830084402100801A +:1003400040059310C7200039000040450720400AAF +:100350000CA30084080000820C246150400100803E +:10036000C7200039000040450004638000000639C2 +:100370004201090E0220610A000100450C20600ABA +:10038000007300840004B180000006390C6104D4BD +:10039000002471C0203333C0E001A38222037A021B +:1003A000C301A3822001338000007A80C201B350D0 +:1003B000CC2000390000718000F300440C20600A5A +:1003C00000D300840004B180000006390C6104D41D +:1003D0000000B310CC200039000071C000F30044CD +:1003E000CC200039002071C0003071C000F30044FF +:1003F00020010080FFFF628B20013380000083809A +:1004000020007A8020E1095C8200092F804A098E51 +:10041000E001B3822004A38000007ACB0300A81877 +:10042000000010390804EA1008047A102000008047 +:10043000400021CB0C00E810000041020C00EB1042 +:10044000F2010082402133020820610AC40004192D +:10045000C70000990200610A0CE804140100610A57 +:100460000300480A00B80454C30004190CB800443F +:100470000800C80A0CB80454C80004190A00610A2C +:100480000900480A00680454C90004190C680044B3 +:100490000B00C80A0C680454CB0004190400610A5C +:1004A0000600480A00780454C60004190C78004479 +:1004B0000500C80A0C780454C50004190700610A35 +:1004C0000C00480A00E80454CC0004190CE800446D +:1004D0000E00C80A0CE80454CE0004190000404580 +:0804E0002010718B093F070099 +:00000001FF +/* + * Copyright (c) 1994 Creative Technology Ltd. + * Microcode files for SB16 Advanced Signal Processor + */ diff --git a/firmware/sun/cassini.bin.ihex b/firmware/sun/cassini.bin.ihex new file mode 100644 index 0000000..5cd7ae7 --- /dev/null +++ b/firmware/sun/cassini.bin.ihex @@ -0,0 +1,143 @@ +:1000000000827E82090000000000008E8EFFCE82FA +:1000100025FF010FCE8426FF0111CE853DDFE58649 +:1000200039B78FF87EC3C2964784F38A009747CECC +:100030008233FF010F9646840C8104270B96468479 +:100040000C810827577E8425964784F38A049747B6 +:10005000CE8254FF010F9646840C81042638B612D6 +:1000600020842026037E8425967BD67CFE8F56BD79 +:10007000F7B6FE8F4EBDEC8EBDFAF7BDF728CE82E7 +:1000800082FF010F9646840C8104260AB612208452 +:100090002027B57E8425BDF71F7E841F964784F3F5 +:1000A0008A089747DEE1AD00CE82AFFF010F7E8464 +:1000B00025964185102606962385402706BDED002E +:1000C0007E83A2DE42BDEB8E9624840827037E83C6 +:1000D000DF967BD67CFE8F56BDF7B6FE8F50BDEC0B +:1000E0008EBDFAF78611C649BDE412CE82EFFF013C +:1000F0000F9646840C81002717C649BDE491240D54 +:10010000B612208520260CCE82C1FF010F7E8425E9 +:100110007E8416FE8F52BDEC8EBDFAF7866AC64904 +:10012000BDE412CE8327FF010F9646840C81002781 +:100130000AC649BDE49125067E84257E8416B6183C +:1001400070BB19702A0481AF2E19967BF62007FA2E +:100150002027C4388138270BF62007FA2027CB0840 +:100160007E82D3BDF7668674C649BDE412CE837124 +:10017000FF010F9646840C8108260AC649BDE4910A +:1001800025067E84257E8416BDF73E260EBDE50934 +:100190002606CE82C1FF010F7E8425FE8F54BDEC62 +:1001A0008EBDFAF7BDF733860FC651BDE412CE837C +:1001B000B2FF010F9646840C8108265CB61220849B +:1001C0003F813A271C9623854027037E8425C6510C +:1001D000BDE49125037E8425CE82C1FF010F7E847C +:1001E00025BDF8377C007ACE83EEFF010F7E842593 +:1001F0009646840C81082620962484082629B61861 +:1002000082BB1982B1013B2209B6122084378132A8 +:100210002715BDF8447E82C1BDF71FBDF844BDFC63 +:1002200029CE8225FF010F39964784FC8A00974723 +:10023000CE8434FF011196468403810227037E8514 +:100240001E964784FC8A029747DEE1AD008601B71F +:100250001251BDF714B6103184FDB71031BDF81E30 +:100260009681D682FE8F5ABDF7B6FE8F5CBDEC8EAE +:10027000BDFAF78608D600C51026028B20C651BDF0 +:10028000E412CE8486FF011196468403810227037F +:100290007E850FC651BDE49125037E851E9644855B +:1002A00010260AB61250BA013C851027A8BDF76681 +:1002B000CE84B7FF01117E851E96468403810226F7 +:1002C00050B612308403810127037E851E96448533 +:1002D000102613B61250BA013C85102609CE84535D +:1002E000FF01117E851EB610318A02B71031BD851F +:1002F0001FBDF8377C0080CE84FEFF01117E851E75 +:100300009646840381022609B612308403810127B0 +:100310000FBDF844BDF70BBDFC29CE8426FF0111AB +:1003200039D622C40FB61230BA12328404270D9681 +:100330002285042705CA107E853ACA20D72239862D +:1003400000978318CE1C00BDEB4696578501270207 +:100350004F3985022701397F8F7D8604B7120486C5 +:1003600008B712078610B7120C8607B71206B68FA9 +:100370007DB712708601BA1204B71204010101019F +:100380000101B6120484FE8A02B7120401010101C0 +:10039000010186FDB41204B71204B612008408816C +:1003A000082716B68F7D810C27088B04B78F7D7EBA +:1003B000856C860397407E896E8607B712065FF7C5 +:1003C0008F825FF78F7FF78F70F78F71F78F72F7DC +:1003D0008F73F78F74F78F75F78F76F78F77F78FA7 +:1003E00078F78F79F78F7AF78F7BB612048A10B778 +:1003F000120486E4B71270B71207F71205F7120954 +:100400008608BA1204B7120486F7B41204B71204AD +:10041000010101010101B61208277F8180260B86A8 +:1004200008CE8F79BD897B7E868E8140260B86041F +:10043000CE8F76BD897B7E868E8120260B8602CE6E +:100440008F73BD897B7E868E8110260B8601CE8FB1 +:1004500070BD897B7E868E8108260B8608CE8F79BB +:10046000BD897F7E868E8104260B8604CE8F76BD65 +:10047000897F7E868E8102260B8A02CE8F73BD898C +:100480007F7E868E810126088601CE8F70BD897F92 +:10049000B68F7F810F26037E8747B61209840381BA +:1004A0000327067C12097E85FEB6120684078107A3 +:1004B00027088B01B712067E86D5B68F82260A7C66 +:1004C0008F824FB712067E85C0B61206843F813FE9 +:1004D00027108B08B71206B6120984FCB712097EE2 +:1004E00085FECE8F7018CE8F84C60CBD896FCE8FDF +:1004F0008418CE8F70C60CBD896FD683C14F2D0373 +:100500007E8740B68F7F8107270F810B2715810DCE +:10051000271B810E27217E8740F78F7B8602B78FAE +:100520007A201CF78F788602B78F772012F78F75A5 +:100530008602B78F742008F78F728602B78F717E9C +:100540008747860497407E896ECE8F72BD89F7CE2D +:100550008F75BD89F7CE8F78BD89F7CE8F7BBD892A +:10056000F74FB78F7DB78F81B68F7227477C8F7D0E +:10057000B68F75273F7C8F7DB68F7827377C8F7D30 +:10058000B68F7B272F7F8F7D7C8F817A8F72271B81 +:100590007C8F7D7A8F7527167C8F7D7A8F782711D7 +:1005A0007C8F7D7A8F7B270C7E87837A8F757A8FFD +:1005B000787A8F7BCEC1FCF68F7D3AA600B7127099 +:1005C000B68F7226037E87FAB68F75260A18CE8FED +:1005D00073BD89D57E87FAB68F78260A18CE8F76B6 +:1005E000BD89D57E87FAB68F7B260A18CE8F79BD56 +:1005F00089D57E87FA860597407E8900B68F7581FA +:10060000072EF2F61206C4F81BB71206B68F7881D1 +:10061000072EE2484848F61206C4C71BB71206B6B2 +:100620008F7B81072ECFF61205C4F81BB712058603 +:1006300000F68F71BD89948601F68F74BD8994860A +:1006400002F68F77BD89948603F68F7ABD8994CEA2 +:100650008F70A60181012707810327037E8866A684 +:1006600000B88F818401260B8C8F792C0E08080826 +:100670007E8850B612048A40B71204B6120484FB76 +:1006800084EFB71204B6120736B68F7C4848B7120B +:10069000078601BA1204B7120401010101010186A3 +:1006A000FEB41204B712048602BA1204B71204860A +:1006B000FDB41204B7120432B71207B61200840850 +:1006C0008108270F7C82082607867697407E896EF0 +:1006D0007E86ECB68F7F810F273CBDE6C7B7120D33 +:1006E000BDE6CBB612048A20B71204CEFFFFB612C5 +:1006F00000810C26050926F6271CB6120484DFB7F4 +:100700001204968381072C057C0083200696838B38 +:100710000897837E85417F8F7E8680B7120C860185 +:10072000B78F7DB6120C847FB7120C8A80B7120C7B +:10073000860ABD8A06B6120A2A09B6120CBA8F7D3D +:10074000B7120CB68F7E8160271A8B20B78F7EB6CA +:10075000120C849FBA8F7EB7120CB68F7D48B78F6C +:100760007D7E8921B612048A20B71204BD8A0A4F01 +:1007700039A60018A7000818085A26F539366C0063 +:1007800032BA8F7FB78F7FB612098403A701B612E2 +:1007900006843FA70239368603B78F8032C1002610 +:1007A00006B78F7C7E89C9C1012718C102270CC1F9 +:1007B000032700F68F800505F78F80F68F800505EB +:1007C000F78F80F68F800505F78F80F68F8053F4C2 +:1007D00012071BB7120739CE8F70A60018E6001853 +:1007E000A700E700A60118E60118A701E701A60285 +:1007F00018E60218A702E70239A6008407E600C43B +:10080000385454541BA700394A26FD399622840FC8 +:1008100097228601B78F70B61207B78F71F6120C48 +:10082000C40FC80FF78F72F68F72B68F71840327CB +:10083000148101271C81022724F48F70272A962215 +:100840008A807E8A64F48F70271E96228A107E8AA0 +:1008500064F48F70271296228A207E8A64F48F7047 +:10086000270696228A409722748F71748F71788F31 +:1008700070B68F70851027AFD622C41058B612708C +:1008800081E4273681E1260C96228420441BD6225F +:10089000C4CF20235881C6260D9622844044441B91 +:1008A000D622C4AF2011588127260F962284804477 +:1008B00044441BD622C46F1B972239270C7C820626 +:0D08C000BDD9EDB682077E8AB97F82063968 +:00000001FF +/* firmware patch for NS_DP83065 */ diff --git a/firmware/ti_3410.fw.ihex b/firmware/ti_3410.fw.ihex new file mode 100644 index 0000000..b22c042 --- /dev/null +++ b/firmware/ti_3410.fw.ihex @@ -0,0 +1,862 @@ +:10000000C2350002001E021ADBFFFFFFFFFF0232B3 +:10001000CBFFFFFFFFFFFFFFFFFFFFFFFFFF0233ED +:10002000767581CE90FDE88583A01234EAEC4D60B0 +:100030006A78AB8003760018B89CFA787F800376E4 +:100040000018B865FA78208003760018B820FA9076 +:10005000FDDDAE83AF8290FBF81200A16005E4F0F5 +:10006000A380F690FDE8A88290FDE8A982E8C399F4 +:10007000500576000880F69000FF1200AA90010358 +:100080001200AA9001071200AA90010B1200C8905A +:1000900001111200C89001171200C875D000123368 +:1000A000C802011DEF65827003EE658322E493F8B8 +:1000B000740193F9740293FE740393F5828E83E8BE +:1000C00069700122E493F6A30880F4E493FC7401C0 +:1000D00093FD740293FE740393FF740493F8740504 +:1000E00093F58288831200A1700122E493A3A88370 +:1000F000A9828C838D82F0A3AC83AD8288838982B0 +:1001000080E32121049280800492ACAE0492FDE849 +:1001100004940494FBF304990494FBF304F904F9A4 +:1001200080FED0F030F00920F303F68010F7800D48 +:1001300030F10920F303F28004F38001F020F4048D +:10014000FCD0E0CC22CCC0E012015A02014BBC0032 +:1001500005D0F0ACF022C313DCFC020121BF000982 +:10016000ED258275F001F8E622BF010FED2582F53D +:1001700082EE3583F58375F004E022ED258275F07B +:1001800002F8E222D083D082F5F0C3E493A3C5F055 +:1001900095F0C0E0C3D0F0E493A395F04012A3A380 +:1001A000C3E5F033500205832582F58250020583B2 +:1001B000740193C0E0E493C0E022D083D082F5F0D4 +:1001C000E49370097401937004A3A3800C740293E8 +:1001D00065F06005A3A3A380E7740193C0E0E493F6 +:1001E000C0E02212025B0201F21202AF0201F2121F +:1001F00002D30201F230E00720E302E622E72230D8 +:10020000E10720E302E222E32230E202E022E4936B +:10021000221202D302021A1202AF02021AABF01229 +:100220000224CBC5F0CB2230E01020E306E6F5F047 +:1002300008E622E7F5F009E7192230E11020E3068D +:10024000E2F5F008E222E3F5F009E3192230E206D4 +:10025000E0F5F0A3E022E493F5F074019322BB00F3 +:1002600003740922BB010789828A83740422BB02BA +:100270000789828A83741022740A2202027BBB00DF +:1002800007E92582F8740122BB010DE92582F58278 +:10029000EA3583F583740422BB020DE92582F582D9 +:1002A000EA3583F583741022E92582F8740222026C +:1002B00002AFBF0005EDF8740122BF01078D828EE9 +:1002C00083740422BF02078D828E83741022EDF89E +:1002D0007402220202D3BF0007ED2582F8740122C6 +:1002E000BF010DED2582F582EE3583F5837404227E +:1002F000BF020DED2582F582EE3583F58374102261 +:10030000ED2582F8740222020307C0E012025B02AC +:10031000031FC0E01202AF02031FC0E01202D302AB +:10032000031F30E00B20E304D0E0F622D0E0F722F8 +:1003300030E10B20E304D0E0F222D0E0F322D0E061 +:10034000F022C9CDC9CACECACBCFCB120352EDF928 +:10035000EEFAEFFB22BB002FBF000AFAEDF8E7F63A +:100360000809DAFA22BF01128D828E83F802036F28 +:1003700009A3E7F0D8FA2202037AFAEDF8E7F208C7 +:1003800009DAFA22020384BB014DBF001489828A74 +:1003900083F9EDF802039608A3E0F6D9FA220203E6 +:1003A000A7BF01228D828E83FB08C9C582C9CAC539 +:1003B00083CAE0A3C9C582C9CAC583CAF0A3DBEA60 +:1003C000D8E8220203CA8D828E83F9EDF8E0F208A4 +:1003D000A3D9FA220203D4BB024DBF001289828A3C +:1003E00083F9EDF80203E608A3E493F6D9F922BFF6 +:1003F00001238D828E83FB08C9C582C9CAC583CA01 +:10040000E493A3C9C582C9CAC583CAF0A3DBE9D8EE +:10041000E72202041989828A83F9EDF8E493F2084D +:10042000A3D9F92202042ABF000DFAEDF8E3F60879 +:1004300009DAFA22020434BF01128D828E83F80297 +:10044000044109A3E3F0D8FA2202044CFAEDF8E3E0 +:10045000F20809DAFA22020456E6FB08E6FA08E690 +:10046000F904F61870010622E6FF08E6FE08E6FD2C +:1004700022EFF0A3EEF0A3EDF022EBF0A3EAF0A35D +:10048000E9F022E0FFA3E0FEA3E0FD22E0FBA3E011 +:10049000FAA3E0F9220000000000000004F9006166 +:1004A00005680026058F00330A0000610A6C0066AB +:1004B000151D00610CF0006109A0006109D7006101 +:1004C0000DB700610BE800610A1300610A48006182 +:1004D00017150033172800341DF600431EA10044F1 +:1004E000200E00441FFC00471EC800471F6D004D32 +:1004F0001FBE004F1EEA0058325600617CCC7DFFC3 +:10050000121CA72290FFFCE020E72DC2AFAE59AF2E +:1005100058755A20E55A14C55A6019E4FE7F05EE55 +:100520004FCE24FFCECF34FFCF6007E490FF92F090 +:1005300080ED80E08E598F58221205017D077CB72F +:100540001232727D0F7C6E12328C789D7A06E4F640 +:1005500008DAFC7A061205C47C03120E4C12214AFA +:10056000E4FEFF7C0F1231FBD2A8221230E6E490A9 +:10057000FC38F090FFF0E030E408740190FC39F0B2 +:100580008005E490FC39F07D0A7C001225261231AA +:1005900069221230E690FC39E014700E90FFF0E012 +:1005A0004410F07C001225BF801990FC39E0700ED9 +:1005B00090FFF0E054EFF07C001225BF80057C171F +:1005C0001225BF1231692290FFF0E054ABF090FF8A +:1005D000F0E04420F0228C378D367882EDF608EC7E +:1005E000F6EDFEECFD7F019000051201EC7880F63F +:1005F0007882E6FD08E6FCEDFEECFD7F019000044C +:100600001201EC540FFC7D801217467880E6700DC5 +:10061000AD3AAE39AF38E412030F7C082290FFF0F8 +:10062000E054FEF090FFF0E054FDF0801E7882E68A +:10063000FD08E6FCEDFEECFD7F0190000812020EC5 +:1006400025E0440190FFF3F00206D07882E6FD0831 +:10065000E6FCEDFEECFD7F0190000612020E54FE5A +:1006600090FFF3F0802B7882E6FD08E6FCEDFEECCF +:10067000FD7F0190000812020EFAEB90FFF1F012DC +:1006800008BF400DAD3AAE39AF38E412030F7C1805 +:10069000227882E6FD08E6FCEDFEECFD7F0190008D +:1006A0000812020E90FFF1F01208BF400DAD3AAEF5 +:1006B00039AF38E412030F7C18227882E6FD08E691 +:1006C000FCEDFEECFD7F0190000612020E4401904D +:1006D000FFF3F07883E62403F618E63400F678801A +:1006E000E624FE500990FFF0E054FDF0800790FFF3 +:1006F000F0E04402F0E490FFF1F078817600788039 +:10070000E624FFFCE434FFFD7881E67F00FEECD3B5 +:100710009EEF6480CD64809D402F1208A4400F7826 +:1007200081E6AD3AAE39AF3812030F7C182290FF44 +:10073000F2E0FC78828683088682ECF0788106A35A +:100740007882A68308A68280B51208A4400F78811B +:10075000E6AD3AAE39AF3812030F7C182290FFF2A3 +:10076000E0FC78828683088682ECF07880E6AD3AF9 +:10077000AE39AF3812030F7C00228C378D36788269 +:10078000EDF608ECF6EDFEECFD7F019000051201A0 +:10079000EC7881F67882E6FD08E6FCEDFEECFD7F64 +:1007A000019000041201EC540FFC7D811217467871 +:1007B00081E670037C082290FFF0E054FEF090FF89 +:1007C000F0E054FDF0801B7882E6FD08E6FCEDFECB +:1007D000ECFD7F0190000812020E25E090FFF3F07F +:1007E000805B7882E6FD08E6FCEDFEECFD7F019083 +:1007F000000612020E54FE90FFF3F080217882E68C +:10080000FD08E6FCEDFEECFD7F0190000812020EF3 +:10081000FAEB90FFF1F01208BF40037C18227882B7 +:10082000E6FD08E6FCEDFEECFD7F019000081202FB +:100830000E90FFF1F01208BF40037C18227883E687 +:10084000240AF618E63400F6788076007881E624EB +:10085000FFFCE434FFFD7880E67F00FEECD39EEFE2 +:100860006480CD64809D402178828683088682E002 +:1008700090FFF1F01208BF40037C182278800678C0 +:100880008306E61870010680C390FFF0E04401F093 +:1008900078828683088682E090FFF1F01208BF40DC +:1008A000037C18227C002290FFF0E020E71290FFEA +:1008B000F0E030E50990FFF0E04420F0C32280E74B +:1008C000D32290FFF0E020E31290FFF0E030E50942 +:1008D00090FFF0E04420F0C32280E7D3228C428DC9 +:1008E000417C00ED54F0FDEC7003ED643070057553 +:1008F0003E038003753E04AC3E120F69758300858C +:100900008340E541540FF53FE5407004E53F640343 +:100910007035E53E24FD75F00AA42402F582E43426 +:10092000FCF583E030E60512104B8019E53E249D6E +:10093000F8C654FBF678A9E62405F58218E63400DB +:10094000F583740FF08059E5407004E53F6404704E +:1009500048E53E24FD75F00AA42402F582E434FC47 +:10096000F583E030E507AC42AD41121C3CE5423076 +:10097000E21578ADE630E00F78ADE630E109E4FF4E +:1009800004FE7C041231FB78A9E62406F58218E601 +:100990003400F583740FF08007E4FC7DEE121C3CFC +:1009A000C203221230E6120F6978A9E62406F58206 +:1009B00018E63400F583E090FC38F078A9E62405C9 +:1009C000F58218E63400F583E090FC39F0C2037D2F +:1009D000027C00122526123169221230E67895EC4D +:1009E000F6EC249DF8E630E1077C131225BF800F5A +:1009F00090FC39E0FD7895E6FC1213C81225BF1271 +:100A00003169221230E67895ECF67D00120F09125A +:100A100025BF123169221230E67895ECF6EC249D60 +:100A2000F8E630E2077C131225BF801B7895E62498 +:100A30009DF8E620E1077C121225BF800A7895E632 +:100A4000FC1213EC1225BF123169221230E67895A0 +:100A5000ECF6EC249DF8E620E2077C111225BF801D +:100A60000A7895E6FC1214ED1225BF1231692212A4 +:100A700030E67895ECF6120F6978A9E62409F5823C +:100A800018E63400F583E090FC3FF078A9E6240AEC +:100A9000F58218E63400F583E090FC40F078A9E692 +:100AA0002403F58218E63400F583E0FC78A9E624F7 +:100AB00004F58218E63400F583E0F56278A9E624AF +:100AC00002F58218E63400F583E0F5638C61E4EC0E +:100AD000333354017895F66008E56230E103789588 +:100AE000067895E690FC41F078A7E62402F5821896 +:100AF000E63400F583E0FDA3E0540CFCED54E68CF5 +:100B000065F564E56130E503436501E56220E50EC6 +:100B1000E561547F7008E56120E703436502E56104 +:100B200030E303436510E56130E203436520E5618E +:100B300054036003436540E56130E103436580E5AC +:100B40006130E403436401E56130E603436408E592 +:100B50006220E40EE561547F7008E56120E70343FD +:100B600064105365FB536479AD64E56590FC3ACD40 +:100B7000F0A3CDF0E56330E30DE5635430C4540FCA +:100B800090FC3DF08005E490FC3DF0E5635403905B +:100B9000FC3CF0E5635404C31390FC3EF090FC3C35 +:100BA000E0700E7D357EFC7F01740190000912011A +:100BB0004278A9E62408F58218E63400F583E07C43 +:100BC00000FD78A9E62407F58218E63400F583E0F5 +:100BD0007F004CFEEF4D90FC38F0A3CEF0CEC20368 +:100BE0007D0A7C00122526123169221230E67895A2 +:100BF000ECF6789A76010876FC0876387897760CC9 +:100C0000789A1204651202147898CBF6CB08F67F16 +:100C100000EF24EA401FE4EF25E090352CFD93CD52 +:100C200004937899667003ED1866700678977600DD +:100C300080030F80DC7896EFF6789A1204659000B6 +:100C40000212020E7898CBF6CB08F65404CB5486E9 +:100C50004B60047897760B7899E630E313789A1214 +:100C600004659000051201EC24FB50047897760D82 +:100C70007899E654C07D0064C04D70047897760B77 +:100C8000789A1204659000041201EC24FC50047858 +:100C900097760F789A1204659000061201EC24FDF5 +:100CA00050047897760E789A120465900009120124 +:100CB000EC24FD50047897760A7897E6702A7895A8 +:100CC000E6FC120F69789A12046578A7E6F978A60F +:100CD000E6FA7B01740A780012033FC2037895E6B6 +:100CE000FC1211077897ECF67897E6FC1225BF12F4 +:100CF0003169221230E67895ECF6120F697895E6A4 +:100D000024FD75F00AA42414F582E434FCF583ACC8 +:100D100082AD8378A68683088682ECF9EDFA7B0A99 +:100D200078011203A7C2037895E6FC12110712316D +:100D300069228D2B8C2AED60407527017529487535 +:100D400028FFE52A24FDFCE434FFFDEC7C0325E0CC +:100D5000CD33CDDCF9FCE5292CF529E5283DF52836 +:100D6000AD29AE28AF277480900006120317748057 +:100D7000900002120317120FB7E52B14603B752782 +:100D8000017529087528FFE52A24FDFCE434FFFDE0 +:100D9000EC7C0325E0CD33CDDCF9FCE5292CF529ED +:100DA000E5283DF528AD29AE28AF27E490000612CE +:100DB0000317E4900002120317221230E67895EC34 +:100DC000F6EC249DF8E630E2097895E6FC1214ED85 +:100DD000D2007895E6FC120F697896760090FC397F +:100DE000E030E704789676017896E6FD7895E6FCA3 +:100DF000120D2FC2033000077895E6FC1213EC7C2D +:100E0000001225BF1231692278A9E62404F5821860 +:100E1000E63400F583E04401F078A9E62404F58285 +:100E200018E63400F583E030E00280ED78A9E6248E +:100E30000BF58218E63400F583E054F8F078A9E663 +:100E40002402F58218E63400F583E04480F022C2E3 +:100E5000038C58120F6978A68683088682795D7A9A +:100E6000357B0A78011203F5120E05AC587D02128B +:100E70000D2FC203AC58121107228D538E528F5181 +:100E80008C50120F69754F0078A9E62405F5821879 +:100E9000E63400F583E020E41FE54F24F640190511 +:100EA0004FC2037C181232A990FF93E04401F0B2C4 +:100EB000B3AC50120F6980D078A9E62405F58218EA +:100EC000E63400F583E020E405C2037C022278A921 +:100ED000E62405F58218E63400F583E0540F601629 +:100EE00078A9E62405F58218E63400F583E0540F6E +:100EF000F0C2037C012278A88683088682E0AD5385 +:100F0000AE52AF5112030FC2037C00228D318C30E0 +:100F10001214EDE531600FE530B4030A7C011224B0 +:100F2000EE7C811224EEAC30120F69E531601A7844 +:100F3000AA8683088682E054E7F0A3A3A3A3E05423 +:100F4000E7F0AC307D02120D2F78A68683088682EA +:100F500079677A357B0A78011203F5C203E53024FC +:100F60009DF8C654FDF6AC30121107228C263003D2 +:100F70000512324880F87C0A12315BD203E5262440 +:100F8000FD78A3F6700778AA76FF0876E078A3E6E6 +:100F900075F010A4ADF0FC24A078A9F6ED34FF188C +:100FA000F678A3E675F00AA42400FCE434FCFD788E +:100FB000A6EDF608ECF61231F42278A9E62402F543 +:100FC0008218E63400F583E030E72278A9E62402AF +:100FD000F58218E63400F583E0547FF078A9E62422 +:100FE00002F58218E63400F583E04480F02278AA06 +:100FF0008683088682E0547FF0AD83E5822404FC7A +:10100000E43D8C82F583E0547FF078A9E6240BF56B +:101010008218E63400F583E054F8F078ABE624015A +:10102000F58218E63400F583E04403F078ABE6245B +:1010300005F58218E63400F583E04403F078A9E66C +:101040002405F58218E63400F583740FF02278AA9F +:101050008683088682E0543FF0AD83E5822404FC59 +:10106000E43D8C82F583E0543FF078A3E624A4F8B5 +:10107000E6FC78ABE62401F58218E63400F583EC53 +:10108000F078A3E624A4F8E6FC78ABE62405F58224 +:1010900018E63400F583ECF078A9E6240BF5821805 +:1010A000E63400F583E054FB4402F52678A7E624F5 +:1010B00002F58218E63400F583E030E503432601AB +:1010C00078A9E62405F58218E63400F583E030E0DF +:1010D00003120FB7E526FC78A9E6240BF58218E683 +:1010E0003400F583ECF078A9E62405F58218E6349F +:1010F00000F583740FF078AA8683088682E0448026 +:10110000F0A3A3A3A3E04480F0228C2A120F6978F5 +:10111000A7E62408F58218E63400F583E0FC78A9F8 +:10112000E6240AF58218E63400F583ECF078A7E6A9 +:101130002407F58218E63400F583E0FC78A9E6245C +:1011400009F58218E63400F583ECF078A68683086A +:101150008682E0FDA3E0FCEDFE78A9E62408F58296 +:1011600018E63400F583EEF0ECFE78A9E62407F5E6 +:101170008218E63400F583EEF08C298D28C3EC94B8 +:1011800005ED940C400575277C8033D3E529940147 +:10119000E5289403400575273C8023D3E5299481F5 +:1011A000E528940140057527188013D3E52994603C +:1011B000E5289400400575270C8003752708AF27A4 +:1011C000E4EF547C4483FF8F27E527FC78ABE624CB +:1011D00001F58218E63400F583ECF0E527FC78ABE6 +:1011E000E62405F58218E63400F583ECF0E527FCEB +:1011F00078A3E624A4F8ECF678A9E62402F5821890 +:10120000E63400F583E0F52778A7E62402F5821896 +:10121000E63400F583A3E030E3175327C778A7E649 +:101220002405F58218E63400F583E09035589342A2 +:10123000275327FB78A7E62406F58218E63400F545 +:1012400083E060034327045327FC78A7E62404F5D2 +:101250008218E63400F583E04227432780E527FC27 +:1012600078A9E62402F58218E63400F583ECF078DC +:10127000A9E62404F58218E63400F583E0F5277822 +:10128000A7E62402F58218E63400F583A3E030E1F6 +:10129000055327DF800343272078A7E62402F58241 +:1012A00018E63400F583E030E4055327EF8003436C +:1012B000271078A7E62409F58218E63400F583E0C4 +:1012C000B40203432702E527FC78A9E62404F5824B +:1012D00018E63400F583ECF078A9E62403F58218CB +:1012E000E63400F583E0F52778A7E62409F58218AF +:1012F000E63400F583E0700553277F8003432780A1 +:1013000078A7E62402F58218E63400F583A3E030DE +:10131000E00543272080035327DF78A7E62402F562 +:101320008218E63400F583E030E30543274080036C +:101330005327BF78A7E62402F58218E63400F58328 +:10134000E030E00543271080035327EF78A7E62419 +:1013500002F58218E63400F583A3E030E405432764 +:101360000880035327F778A7E62402F58218E634AD +:1013700000F583A3E030E50543270480035327FBF2 +:1013800078A7E62402F58218E63400F583A3E0305E +:10139000E60543270180035327FE78A7E62402F5DC +:1013A0008218E63400F583A3E030E7054327028086 +:1013B000035327FDE527FC78A9E62403F58218E608 +:1013C0003400F583ECF0C2037C00228D278C26EDDF +:1013D00054031460037C1022E527547C24FC400352 +:1013E0007C0B22E526249DF8C64402F67C00228C64 +:1013F00030120F69E530249DF8E620E24FAC307DD5 +:1014000002120D2FE53024FE4428FC78AA868308BA +:101410008682ECF0AF83E5822404FEE43FFFEC8E8D +:10142000828F83F07C038C2CE52CFC78ABE62401C6 +:10143000F58218E63400F583ECF0E52CFC78ABE699 +:101440002405F58218E63400F583ECF0752D01755E +:101450002F48752EFFE53024FDFCE434FFFDEC7CC5 +:101460000325E0CD33CDDCF9FCE52F2CF52FE52E5F +:101470003DF52E78ABE62404F58218E63400F583BA +:10148000E054E7F52CAD2FAE2EAF2DE49000021204 +:101490000317E49000061203171201E630E5034338 +:1014A0002C10E52CFC78ABE62404F58218E6340019 +:1014B000F583ECF012104B78A9E62406F58218E6C5 +:1014C0003400F583E0C203FCE530249DF8C64404F3 +:1014D000F68C2CE530540FC454F07E00FFEEEF4440 +:1014E000047D00FFEC4EFCED4FFD121CA77C00229A +:1014F0008C2F120F69120FEB78AA8683088682E080 +:101500005408F0A3A3A3A3E05408F0AC2F7D02126B +:101510000D2FC203E52F249DF8C654FBF67C002254 +:101520001230E67896ECF6EC249DF8E630E10A7D80 +:10153000007C131225261231697896E6249DF8C6A0 +:101540004401F67896E6FC120F697896E624FD755C +:10155000F00AA42414F582E434FCF58378A6E6FAB4 +:1015600008E6F97B0A78011203A778A68683088625 +:101570008279677A357B0A78011203F5120FB7C2B8 +:10158000037896E6FC1211077895ECF6EC600A7D7C +:10159000007C081225261231697896E6FC120F6944 +:1015A00078A9E62404F58218E63400F583E04410B7 +:1015B00054DFFC78A9E62404F58218E63400F583AC +:1015C000ECF07895ECF6C2037CC81232A97896E666 +:1015D000FC120F6978A9E62404F58218E63400F5B8 +:1015E00083E054EFF0C2037CC81232A97896E6FC7F +:1015F000120F6978A9E62404F58218E63400F58311 +:10160000E04410F0C2037CC81232A97896E6FC12BE +:101610000F6978A9E62404F58218E63400F583E022 +:101620004420F0C2037CF01232A97896E6FC120F37 +:101630006978A9E62405F58218E63400F583E030E0 +:10164000E415C2037896E644107F00FE7C07123151 +:10165000FB12316902171478A9E62404F58218E612 +:101660003400F583E054CFF0C2037CC81232A9786D +:1016700096E6FC120F6978A9E62404F58218E63490 +:1016800000F583E04430F0C2037CF01232A9789672 +:10169000E6FC120F6978A9E62405F58218E6340005 +:1016A000F583E030E414C2037896E644107F00FE30 +:1016B0007C071231FB123169805D78A9E62404F5BC +:1016C0008218E63400F583E054EFF078A9E62404AC +:1016D000F58218E63400F583E054DFF07896E624CE +:1016E000FD75F00AA42414F582E434FCF583AC8281 +:1016F000AD8378A68683088682ECF9EDFA7B0A78BA +:10170000011203A7C2037896E6FC1211077D007C44 +:101710000B122526123169221230E6E490FC39F0D2 +:101720007D027C00122526123169221230E67C00EF +:101730001225BF12316922743C90FBE0F0743E9098 +:10174000FBE0F0E490FC28F0228D358C34ECB40101 +:10175000028003D340028028B402028003D34008F1 +:10176000A835C625E0F68018B404028003D3400AE9 +:10177000A835C625E025E0F68006A835760080006D +:10178000228C3C8D3BEDFEECFD7F01756606756796 +:101790000090FC2912046E1201E6B480028006D388 +:1017A000500302184790FC29120480900003120194 +:1017B000EC54F0B430028003D3405F90FC29120453 +:1017C0008090000812020EFAFDEBFE7F0190FC2CC7 +:1017D00012046EEECD903571FCE493FF740193FE1C +:1017E000F9EFFA7B01EAFFE9FEECC39EED9F40258D +:1017F000903573E493FD740193FCEDFEECFD7F01E5 +:10180000EECDFC90FC2EE0D39C90FC2DE09D50058D +:101810007566808033121965802EB460028003D310 +:10182000400BAC3CAD3B1207778C66801BB41003B9 +:10183000B34010C3B42003B34009C3B440028003D3 +:10184000D3400075668180008075B481028003D327 +:10185000406B90FC291204809000031201EC54F0BC +:10186000B430028003D3401D90FC29120480900004 +:101870000812020EFAFDEBFE7F0190FC2F12046E9F +:101880001218CF8036B460028003D34013753A67D4 +:10189000E4F539F538AC3CAD3B1205D38C66801BC2 +:1018A000B41003B34010C3B42003B34009C3B44021 +:1018B000028003D34000756681800080028000E5CD +:1018C00066FC90FC29120480EC900002120317AC15 +:1018D000672290FC291204809000041201EC60043D +:1018E00074018001E4A2E0920190FC29120480EDD1 +:1018F0002403FD50010E90FC2C12046E90FC291262 +:1019000004809000051201ECF5679000041201ECD0 +:10191000540FFC7D67121746E56770047566082250 +:10192000756600788476007884E6C39567503890B1 +:10193000FC2F1204801201E6FC90FC2C120480ECB7 +:1019400012030F30010E90FC31E004F090FC307077 +:1019500003E004F078840690FC2EE004F090FC2D67 +:101960007003E004F080C02290FC2AE0FDA3E0FCBC +:10197000EDFEECFD7F01ED240AFD50010E90FC32DE +:1019800012046E90FC291204809000041201EC54A1 +:101990000FB401028003D3401790FC321204800D73 +:1019A000ED70010E90FC2F12046E78887601804E47 +:1019B000B402028003D3401990FC32120480ED245B +:1019C00002FD50010E90FC2F12046E788876028082 +:1019D0002DB404028003D3401990FC32120480ED30 +:1019E0002404FD50010E90FC2F12046E78887604BA +:1019F000800CB400028003D340007566082290FC7E +:101A0000291204809000051201ECF56778857600B4 +:101A10007885E6C395674003021ACD78867600780C +:101A200086E6C3788896507690FC2C1204801201CA +:101A3000E6FC90FC321204891201E0F45CFC120115 +:101A4000E0F890FC2F120480E8C0E01201E6C8D054 +:101A5000E0C8584CFC90FC2C120480EC12030F7868 +:101A600087ECF690FC31E004F090FC307003E00469 +:101A7000F009E970010A90FC3212047790FC2912F7 +:101A800004809000041201EC30E40E90FC2EE0047F +:101A9000F090FC2D7003E004F07886068081788851 +:101AA000E6FDE4FEFFEECDFC90FC31E02CF090FC76 +:101AB00030E03DF07888E6FDE4FEFFEECDFC90FCE2 +:101AC00034E02CF090FC33E03DF0788506021A0DEE +:101AD00075660022E53D053D047002B2B022C0E00B +:101AE000C0F0C082C083C0D0E8C0E0E9C0E0EAC076 +:101AF000E0EBC0E0ECC0E0EDC0E0EEC0E0EFC0E045 +:101B000090FF92E01201B71B29301B29321B383895 +:101B10001B4A3A1B5C3E1B74441B68461B80501BCF +:101B2000C2521BA1541BE35600001C0490FF92E01C +:101B30007F00FE7C011231FB021C14E4FF04FE7CDA +:101B4000031231FB742090FFFEF0021C14E4FF042A +:101B5000FE7C021231FB744090FFFEF0021C14E484 +:101B6000FF04FE7C041231FB021C14E4FF04FE7C23 +:101B7000051231FB021C14E4FF04FE7C061231FB4B +:101B8000021C1490FFA5E07D0090FBF8CDF0A3CDE2 +:101B9000F090FBF9E0FCF58390FBF8E04433FD1294 +:101BA0001CA7807390FFB5E07D0090FBFACDF0A3F9 +:101BB000CDF090FBFBE0FCF58390FBFAE04443FDA5 +:101BC000121CA7805290FFA6E07D0090FBFCCDF098 +:101BD000A3CDF090FBFDE0FCF58390FBFCE04434EA +:101BE000FD121CA7803190FFB6E07D0090FBFECD7A +:101BF000F0A3CDF090FBFFE0FCF58390FBFEE0440A +:101C000044FD121CA7801090FF92E07D00FCED4483 +:101C1000AAFD121CA78000E490FF92F0D0E0FFD054 +:101C2000E0FED0E0FDD0E0FCD0E0FBD0E0FAD0E078 +:101C3000F9D0E0F8D0D0D083D082D0F0D0E0320517 +:101C400081058105810581A881181818EDF608EC39 +:101C5000F690FF5AE020E70280F790FF59E07D0000 +:101C6000A88118CDF6CD08F67D03A881E618FCE61C +:101C7000CC25E0CC33CCDDF9CCF6CC08F6A8811825 +:101C8000E644F8F6A881181818E6FD08E6FCA881D5 +:101C9000188683088682EDF0A3ECF0740290FF5A58 +:101CA000F0158115811581158122E5812405F581C5 +:101CB000E4A88118F6A88118181818EDF608ECF6B3 +:101CC00090FBF5E024F85003021DC8E4A881181821 +:101CD000F6A88118E6FEA88118181818E6FD08E68F +:101CE000FC7F00EF24F8404DE4EF25E0247DF582F1 +:101CF000E434FCF583E0FBA3E06C7003FAEB6D7059 +:101D0000097401A8811818F6802BE4EF25E0247DE2 +:101D1000F582E434FCF5837A00E054F0CCF8CCCDC5 +:101D2000F9CDFB7800E954F0F9EA687002EB6970CC +:101D3000010E0F80AEA88118EEF6A88118181818A9 +:101D4000EDF608ECF6A881EFF6A8811818E6707990 +:101D5000A88118E624F74071A88118181818E654CD +:101D60000FA881F664046017A881E664036010A8D8 +:101D70008118181818E6FD08E6FC121C3C804A7C05 +:101D80000A12315BA88118181818E6FD08E6FC90C5 +:101D9000FBF4E025E0247DF582E434FCF583EDF0EE +:101DA000A3ECF090FBF4E0FFE4EF045407FF90FB9A +:101DB000F4F090FBF5E004F01231F490FBF6E070E3 +:101DC00008E4FEFF7C0F1231FB802790FBF7E00454 +:101DD000F0543F701D90FBF7E044FE7D00FC90FB4B +:101DE000F4E025E0247DF582E434FCF583EDF0A3F6 +:101DF000ECF0E58124FBF58122788B7600788C76F7 +:101E000000740190FBF6F01230E690FBF5E06057AD +:101E10007C0A12315B90FBF3E025E0247DF582E43F +:101E200034FCF583E0FDA3E0FC90FBF3E025E02427 +:101E30007DF582E434FCF583E4F0A3F090FBF3E05D +:101E4000FFE4EF045407FF90FBF3F090FBF5E01480 +:101E5000F07889EDF608ECF61231F47889E6FD08A1 +:101E6000E6FC1208DA80A312324890FF93E04401A6 +:101E7000F0B2B3788B06B60011788B7600788CE6DA +:101E8000F40404A2E092B4788CF6021E07E490FBFE +:101E9000F6F090FBF5E07D00FCED44CFFD121C3C1C +:101EA000123169221230E6E5706449456F60159081 +:101EB000FF83E0540F7D00D39570ED956F500512B0 +:101EC0002F2F8003122FFF123169221230E6E570A6 +:101ED0006449456F6005123039800E90FF80E04400 +:101EE00008F090FF83E0547FF0123169221230E64F +:101EF0008C54EC54F0B41015756A357569FC75682E +:101F000001E56A2403F56AE5693400F569E4F557EB +:101F1000F556E556C394015027E554540FFCAD6ABD +:101F2000AE69AF68120E778C55EC60028012056ABC +:101F3000E56A700205690557E5577002055680D2BB +:101F4000E554540F249DF8C654FEF6E554540F7F13 +:101F500000FE7C121231FBE5551470097D007C09EE +:101F60001225268007AD577C0012252612316922E2 +:101F70001230E690FFFCE04402F090FF00E030E712 +:101F80001390FF83E04480F0436D8090FFFCE044B9 +:101F900001F0801190FF82E04408F0536D7F90FFC4 +:101FA000FCE054FEF090FF81E04480F01225D990CF +:101FB000FFFEE04405F090FFFCE054FDF0123169B3 +:101FC000221230E67C011232A978ADE64402F674A2 +:101FD000FEFC04FD121CA790FF5AE030E70280F7D8 +:101FE000E4F54E754D10AC4EAD4DE54E154E7002FC +:101FF000154DEC4D600280EE4387011231692212CB +:1020000030E67C0212317578ADE654FDF612316986 +:10201000221230E678ADE630E02C78ADE630E126ED +:1020200078ADE6FCF58318E644F0FD121C3C90FF09 +:10203000FCE04420F07C021232A978ADE654FDF6B3 +:10204000741A90FFFEF078ADE6FCF58318E644F1D3 +:10205000FD121C3C12316922756D0090FFFFE0609B +:1020600003436D01756E00E4F56CF56BE4F56F7577 +:102070007049748490FF82F0748490FF80F07480C3 +:1020800090FF58F0748090FF5AF0AD46AF457E0047 +:10209000EE24FE5003022124E4EE75F007A4247F11 +:1020A000F582E434F8F583E0FFE4EF5480FDE4EFDB +:1020B000540F14FFED6038E4EF75F008A42448F5E0 +:1020C00082E434FFF5837490F0E4EF75F008A42403 +:1020D0004AF582E434FFF5837480F0E4EF75F0088C +:1020E000A4244EF582E434FFF5837480F08034E458 +:1020F000EF75F008A42408F582E434FFF5837490AA +:10210000F0E4EF75F008A4240AF582E434FFF583C7 +:10211000E4F0E4EF75F008A4240EF582E434FFF552 +:1021200083E4F00E02208D8D468E448F45747F909F +:10213000FFFDF0749090FFFCF0228C58EC24F650D8 +:1021400006E5582437FC22E5582430FC22122523CA +:10215000EC700302225E755C03AE5B7F00E55C15EC +:102160005C6480247F5035EF2400F582E434FBF575 +:1021700083E0FE24FE501EEF7D00FCE4FB7474C37C +:102180009CFAEB9DFBEE7D00FCEAC39CED6480CBEA +:1021900064809B50028005EF2EFF80C18E5B8F5ABA +:1021A000E55C6480247F500302225EE55A248E5051 +:1021B0000302225E855A5D755B00AE5AAF5B9035B7 +:1021C0009CE493F55CE55C155C6480247F5018EE1C +:1021D0002400F582E434FBF583E0FCEF90359C931A +:1021E0006C70040E0F80DE8E5A8F5BE55C64802479 +:1021F0007F406E755E017560E8755FFFE55D2402E6 +:10220000F55A755C07E55C334057AD60AE5FAF5E75 +:10221000E55CF5823395E0F5831201ECC4540FFCC4 +:10222000122137E55A2400F582E434FBF583ECF003 +:10223000055A055AAD60AE5FAF5EE55CF582339539 +:10224000E0F5831201EC540FFC122137E55A24000B +:10225000F582E434FBF583ECF0055A055A155C80F1 +:10226000A4740290F851F090F86B79757A357B2759 +:1022700078011203F5756A357569FC756801E4909B +:10228000FF83F0748090FF81F0755902E55975F075 +:1022900007A4247FF582E434F8F583E0788FF6FC18 +:1022A000540F14FC788FECF6E55975F007A42481DF +:1022B000F582E434F8F583E0789276FD0876E8FC60 +:1022C000788FE675F008A42448F582E434FFF5839E +:1022D000E4F0788FE675F008A4244FF582E434FF2B +:1022E000F583ECF07892E6FF08E67E03CFC313CFC8 +:1022F00013DEF9FE788FE675F008A42449F582E430 +:1023000034FFF583EEF0788FE675F008A4244AF5E3 +:1023100082E434FFF5837480F07890ECF67D0078E9 +:1023200093E62CF618E63DF67892E6FD08E67C0387 +:10233000CDC313CD13DCF9FC788FE675F008A42427 +:102340004DF582E434FFF583ECF0788FE675F00804 +:10235000A4244EF582E434FFF583E4F07892E6FDA0 +:1023600008E6FC788FE6FF7E00EE24FE5003022490 +:10237000DDE4EE75F007A4247FF582E434F8F583FC +:10238000E0FFE4EF5480FAE4EF540F14FFE4EE753D +:10239000F007A42481F582E434F8F583E07890F620 +:1023A000E4EE1313548024F0F8E434FDF9E8FCE97A +:1023B000FD8A5AEA700302244AE4EF75F008A42467 +:1023C00048F582E434FFF583E4F07890E6FAE4EF30 +:1023D00075F008A4244FF582E434FFF583EAF0EDAC +:1023E000FBEC7A03CBC313CB13DAF9FAE4EF75F005 +:1023F00008A42449F582E434FFF583EAF07890E6F6 +:102400007B00FAEC2AFCED3BFDFBEC7A03CBC3131B +:10241000CB13DAF9FAE4EF75F008A4244DF582E461 +:1024200034FFF583EAF0E4EF75F008A4244AF5825E +:10243000E434FFF5837480F0E4EF75F008A4244ED3 +:10244000F582E434FFF5837480F00224D9E4EF755B +:10245000F008A42408F582E434FFF583E4F07890D2 +:10246000E6FAE4EF75F008A4240FF582E434FFF5F2 +:1024700083EAF0EDFBEC7A03CBC313CB13DAF9FA62 +:10248000E4EF75F008A42409F582E434FFF583EA4B +:10249000F07890E67B00FAEC2AFCED3BFDFBEC7A51 +:1024A00003CBC313CB13DAF9FAE4EF75F008A424D5 +:1024B0000DF582E434FFF583EAF0E4EF75F008A44B +:1024C000240AF582E434FFF583E4F0E4EF75F008C4 +:1024D000A4240EF582E434FFF583E4F00E022366B3 +:1024E0008E597892EDF608ECF6788FEFF6122055BB +:1024F000228C26EC30E718E526540F1475F008A45A +:102500002448F582E434FFF583E054DFF08016E5DB +:1025100026540F1475F008A42408F582E434FFF55E +:1025200083E054DFF0227C0022EC90FC37F08C2416 +:10253000ED2403F5257D00D39572ED95714003855B +:102540007225E52524B75009752503740290FC37E0 +:10255000F0AC2512302422E4F56CF56B12255D22D7 +:1025600090FC35E06573600E740490FC37F0E4F580 +:102570006B756C0380467D73E4FEFF79357AFC7BD6 +:10258000017405780012033FE56C2403F56CE56BDC +:102590003400F56BE56CD39572E56B95714006855B +:1025A000726C85716BD3E56C9448E56B9400400CBC +:1025B000740290FC37F0E4F56B756C03AC6C123070 +:1025C0002422EC90FC37F0E4F56CF56B8C32EC6077 +:1025D0000512301580057C001230242290FF93E014 +:1025E0004401F0B2B390FF04E0F54A90FF06E0FD2D +:1025F000A3E0ED7D00FC7D00FC90FF06E0FFA3E082 +:102600007E00FFE4FEEC4EFCED4FFDC3EC9448ED84 +:102610009400502290FF06E0FDA3E0ED7D00FC7DDC +:1026200000FC90FF06E0FFA3E07E00FFE4FEEC4E1E +:10263000FCED4FFD8004E4FD7C488C728D7190FFB1 +:1026400002E0FDA3E0ED7D00FC7D00FC90FF02E0D8 +:10265000FFA3E07E00FFE4FEEC4EF54CED4FF54BA2 +:10266000756A357569FC7568017D357EFC7F017979 +:1026700073E4FAFB7405780012033F754900E549DD +:1026800024FE4019AD6AAE69AF68E412030F054934 +:102690000DED70010E8D6A8E698F6880E1756A3567 +:1026A0007569FC75680190FF00E05460B400028019 +:1026B00006D35003022C6DE54A540FF549E54A5400 +:1026C00080A2E0920290FF01E0120181000B2C68D1 +:1026D00026E528032C68290F2C6829F22A262B8D41 +:1026E0002B902BD02C112C3FE56D30E70EE54C459F +:1026F0004B7008E572640245716003022C6A90FF1A +:1027000000E0541FB400028003D34029E54A60036F +:10271000022800AD6AAE69AF68740112030F78AD8C +:10272000E630E00BAD6AAE69AF68740212030F7C4D +:102730000212302422B401028003D3401BE56D2035 +:10274000E107E54A6003022800E54A24FE5003023F +:1027500028007C0212302422B402028006D35003E7 +:102760000227FEE56D20E10DE54A6009E54A648037 +:102770006003022800AC4A1230AB4003022800E597 +:1027800049702530021190FF80E05408AD6AAE69AF +:10279000AF6812030F800F90FF82E05408AD6AAE5D +:1027A00069AF6812030F803D154930021DE5497578 +:1027B000F008A42448F582E434FFF583E05408AD22 +:1027C0006AAE69AF6812030F801BE54975F008A473 +:1027D0002408F582E434FFF583E05408AD6AAE695D +:1027E000AF6812030FAD6AAE69AF681201E6600B05 +:1027F000AD6AAE69AF68740112030F7C0212302417 +:10280000228000022C6AE56D20E706E572457160C2 +:1028100003022C6A90FF00E0541FB400028003D32F +:10282000401AE54C14454B7004E54A600302290C3C +:1028300078ADE654FEF67C0012302422B40102800A +:1028400003D3402AE56D20E108E56D20E00302296D +:102850000CE56D30E004E54A700BE56D30E109E50B +:102860004A24FE500302290C7C0012302422B402B8 +:10287000028006D3500302290AE54C454B6003024F +:10288000290CAC4A1230AB400302290CE56D20E163 +:1028900007E56D20E0028077E56D30E006E54960F0 +:1028A00002806CE549700F90FF82E054F7F090FFD2 +:1028B00080E054F7F022E549B401028003D34009D7 +:1028C0007D017C03120F098011B402028003D34002 +:1028D000097D017C04120F0980001549300215E5BD +:1028E0004975F008A42448F582E434FFF583E054E8 +:1028F000F7F08013E54975F008A42408F582E43464 +:10290000FFF583E054F7F07C0012302422800002AF +:102910002C6AE56D20E706E57245716003022C6ABA +:1029200090FF00E0541FB400028003D3401AE54C2E +:1029300014454B7004E54A60030229EF78ADE64484 +:1029400001F67C0012302422B401028003D3402916 +:10295000E56D20E108E56D20E0030229EFE56D302B +:10296000E004E549700BE56D30E108E54924FE50CF +:1029700002807F7C0012302422B402028003D34004 +:102980006FE54C454B60028069AC4A1230AB4002A7 +:102990008060E56D20E107E56D20E0028054E549A7 +:1029A000701430020990FF80E04408F0800790FF27 +:1029B00082E04408F022E56D30E13315493002151C +:1029C000E54975F008A42448F582E434FFF583E076 +:1029D0004408F08013E54975F008A42408F582E462 +:1029E00034FFF583E04408F07C001230242280029A +:1029F0008000022C6AE56D20E712E5724571700CCB +:102A0000E54A700890FF00E0541F6003022C6AE55D +:102A10004C90FFFFF090FFFFE06005436D018003E5 +:102A2000536DFE7C0012302422E56D30E70EE57216 +:102A30004571600890FF00E0541F6003022C6AADEE +:102A40004BE54CED7D00FC7D00FCBD0002800302E7 +:102A50002B88B401028003D34032E54A7005E54C6F +:102A6000FC6003022B8A756A407569F8756801D3AA +:102A7000E5729412E57194004006E4FD7C12800436 +:102A8000AC72AD718C708D6F12303922B40202803D +:102A900003D34059E54A6003022B8AE54CFC7027BA +:102AA000756A527569F8756801D3E5729419E57114 +:102AB00094004006E4FD7C198004AC72AD718C700A +:102AC0008D6F1230398025756A6B7569F8756801EC +:102AD000D3E5729427E57194004006E4FD7C2780DD +:102AE00004AC72AD718C708D6F12303922B4030258 +:102AF0008006D35003022B88E54CF549700F90FFF8 +:102B000004E0FDA3E04D6003022B8A801890FB02D5 +:102B1000E0FDA3E0FC90FF05E06C700790FF04E08F +:102B20006D60028068E4F570F56F7F00E54914C5BB +:102B300049600FEF2400F582E434FBF583E02FFFBA +:102B400080EA8F4AE54A2400F582E434FBF583E00D +:102B50007D00D39572ED95714006AC72AD71800F1A +:102B6000E54A2400F582E434FBF583E07D00FC8C2B +:102B7000708D6FE54A2400FCE434FBFDFEECFD7F24 +:102B8000018D6A8E698F68123039228000022C6AAA +:102B9000022C6AE56D30E719E5721445717012E593 +:102BA0004A700EE54C454B700890FF00E0541F60E2 +:102BB00003022C6AE56D20E008E56D20E103022C9C +:102BC0006A756A6EE4F569F568E4F56F04F57012EC +:102BD000303922E56D20E712E5724571700CE54A47 +:102BE000700890FF00E0541F6003022C6AE56D201E +:102BF000E007E56D20E1028074854C6EE56E70089B +:102C0000436D01536DFD8006536DFE436D027C00E4 +:102C100012302422E56D30E71AE572144571701305 +:102C2000E54A700FE54C454B700990FF00E0541FDA +:102C30001460028038E56D20E10280317C011230A1 +:102C40002422E56D20E715E5724571700FE54C45CE +:102C50004B700990FF00E0541F146002800FE56D77 +:102C600020E10280087C00123024228000022F2BF9 +:102C7000B440028006D35003022F2190FF01E09060 +:102C8000FC35F0E54A90FC36F0E490FC37F0E56A5C +:102C90002403F56AE5693400F569AD4BE54C856AB6 +:102CA00082856983CDF0A3CDF090FF01E01201B7DA +:102CB0002CD8012CFE022D28032D52042DA0052D09 +:102CC000DD062E03072E29082E55092E7B0B2EA17B +:102CD0000C2EB0802EB08100002F0EE56D20E7068F +:102CE0007C051225BF227D247E357F0279387AFC4F +:102CF0007B017408780012033F7D087C00122526B2 +:102D000022E56D20E7067C051225BF22E54AB403C3 +:102D1000004010B40500500BE54A7F00FE7C101205 +:102D200031FB227D007C0712252622E56D20E70677 +:102D30007C051225BF22E54AB403004010B405000B +:102D4000500BE54A7F00FE7C111231FB227D007C96 +:102D50000712252622E56D20E7067C051225BF22F5 +:102D6000E54AB405028003D3400AE4FF04FE7C0A6E +:102D70001231FB22B401028003D3400AE4FF04FEB7 +:102D80007C081231FB22B403004010B40500500B44 +:102D9000E54A7F00FE7C131231FB227D007C071286 +:102DA000252622E56D20E734D3E5729448E5719439 +:102DB000005006E572457170067C021225BF22E5BF +:102DC0004AB40103B3400BC3B403004009B4060086 +:102DD00050041230D1227C071225BF2212255D2219 +:102DE000E56D20E71DE54AB403004010B40500502E +:102DF0000BE54A7F00FE7C161231FB227C07122570 +:102E0000BF2212255D22E56D20E71DE54AB40300CF +:102E10004010B40500500BE54A7F00FE7C191231CA +:102E2000FB227C071225BF2212255D22E56D20E7DB +:102E300023748190FF93F0E54AB403004010B40579 +:102E400000500BE54A7F00FE7C171231FB227C0705 +:102E50001225BF2212255D22E56D20E71DE54AB44B +:102E600003004010B40500500BE54A7F00FE7C18BB +:102E70001231FB227C071225BF2212255D22E56D4F +:102E800020E71DE54AB403004010B40500500BE5EF +:102E90004A7F00FE7C151231FB227C071225BF22DF +:102EA00012255D22E56D20E7067C071225BF221260 +:102EB000255D22E56D30E72090FF00E0541F701083 +:102EC00090FF01E0B48005122554800312255D2295 +:102ED0007D007C051225262290FF00E0541F60062D +:102EE0007C051225BF22D3E5729448E57194005009 +:102EF0000BC3E5729407E571940050067C0312251C +:102F0000BF22E54AB405041230D1227C071225BF46 +:102F100022E56D30E7087D007C05122526227C0520 +:102F20001225BF22B420028003D340008000122F5C +:102F3000FF2275430090FF83E0540FD39543402454 +:102F4000E54324F0F582E434FEF583E0AD6AAE6932 +:102F5000AF6812030F05430DED70010E8D6A8E6987 +:102F60008F6880D1E5437D00FCC3E5709CF570E57A +:102F70006F9DF56FE570456F6006E490FF83F0226A +:102F800090FF82E04408F0E4F56F75704990FC35DD +:102F9000E0B405028003D3404090FC36E0F543B432 +:102FA00005028003D3400AE4FF04FE7C0B1231FBD0 +:102FB00022B401028003D3400AE4FF04FE7C09121C +:102FC00031FB22B403004010B40500500BE5437FF1 +:102FD00000FE7C141231FB2222B480004023B48214 +:102FE00000501E7C357DFC12177E7D008C6C8D6B35 +:102FF00090FC37E06005122FFF80057C0012302422 +:10300000222290FF83E0547FF090FF82E04408F09A +:1030100090FF80E04408F02290FF82E04408F090A6 +:10302000FF80E04408F0228C237D008C708D6F754A +:103030006A357569FC7568011230392290FF83E0AA +:10304000547FF0E5706449456F700122C3E57094C8 +:1030500008E56F94004015752108E5217D00FCC34B +:10306000E5709CF570E56F9DF56F8009857021E432 +:10307000F56F757049752200E522C395215026AD84 +:103080006AAE69AF681201E6FCE52224F8F582E435 +:1030900034FEF583ECF005220DED70010E8D6A8E85 +:1030A000698F6880D3E521547F90FF81F0228C489E +:1030B0007F00EF24FD4019E4EF75F007A4247FF5AD +:1030C00082E434F8F583E065487002D3220F80E291 +:1030D0008F47C32285727085716F90FF82E054F72D +:1030E000F090FF83E0547FF022C000C001C002C016 +:1030F00006C007E5782408F8860653067F7CFF1291 +:10310000315B7C007D00E57B6046FF90FD95E054DF +:103110007F6E700FC083C082A3E0FDA3E0FCA31507 +:103120007B8007A3A3A3DFE68026DF06D082D083BF +:10313000801EE0F8A3E0F9A3E0FAD082D083E8F0A3 +:10314000A3E9F0A3EAF0A3C083C082A3A3A380DA1B +:103150001231F4D007D006D002D001D0002285A8C9 +:103160007A75A888EC70027C3F8C7922E578240877 +:10317000F8760012324880FBC000C001C002C006D1 +:10318000C007AE047CFF12315BE57B6042FF90FD1F +:1031900095E0547F6E700BC083C082A3A3A3157B00 +:1031A0008007A3A3A3DFEA8026DF06D082D0838036 +:1031B000D8E0F8A3E0F9A3E0FAD082D083E8F0A346 +:1031C000E9F0A3EAF0A3C083C082A3A3A380DA78C6 +:1031D00008087918097C01E6547F6E70067600773E +:1031E00000800608090CBC08EE1231F4D007D006A6 +:1031F000D002D001D00022757900857AA822C0F0D3 +:10320000C082C083C3E57B24E8500512324880F4B5 +:10321000EC6031903523E493C39C4028C0047CFFCC +:1032200012315BD004430480E57B75F003A4249540 +:10323000F582E434FDF583ECF0EFA3F0EEA3F005A6 +:103240007B1231F4D083D082D0F022C0047C20D213 +:103250008CD28DD504FDD0042275A8007588007528 +:10326000B80075F00075D000E4F8900000F608B8DA +:1032700000FB020000C3ED940250047D037CE8ECE7 +:10328000F4FCEDF4FD0CBC00010D8C7F8D7E22C39F +:10329000EC94BCED940250047D077CD0ECF4FCED82 +:1032A000F4FD0CBC00010D8C7D8D7C22EC700122A4 +:1032B000C000E5782418F8A604E5782408F8C65478 +:1032C0007FF6E630E703D0002212324880F4C28C49 +:1032D000857C8C857D8AD28CC0E0C0D0C0F0C08255 +:1032E000C083C000C001C002C003C004C005C00646 +:1032F000C007121AD1E5782408F8E66024E578249E +:1033000010F8A681E57875F021A4248DF582E434C7 +:10331000FCF58378AEE58104C398F9E6F008A3D9FB +:10332000FA74082578F8057808E65480700CE5787A +:10333000B407F3780875780080EFE5782410F886F4 +:1033400081E57875F021A4248DF582E434FCF583C1 +:1033500078AEE58104C398F9E0F608A3D9FAD0075E +:10336000D006D005D004D003D002D001D000D08345 +:10337000D082D0F0D0D0D0E032C0E0C0D0C000C009 +:1033800001C002C28E857E8D857F8BD28E781979A1 +:10339000097A07E77004A600800BE6600816E6705D +:1033A00004E74480F70809DAEAE579601314F5794F +:1033B000700EE5782408F876001231F4D28CD28DA4 +:1033C000D002D001D000D0D0D0E0327581AD742AC7 +:1033D00090FF93F0757F30757EF8757D60757CF099 +:1033E00012053612347C12173490FF93E04401F03A +:1033F000B2B31234A612325680DA22C0007C01EC3D +:103400002408F8E660090CBC08F512324880EED0BA +:103410000022C0F0C082C083C000C006C007ED24F7 +:1034200010F876BCED75F021A4248DF582E434FC0F +:10343000F583C082C083A3A3E4780DF0A3D8FCEC8D +:10344000547F75F002A424EFF582E5F03434F5835F +:10345000E493FE740193F5828E83E493FE740193EA +:10346000FFD083D082EFF0A3EEF0ED2408F8EC4417 +:1034700080F6D007D006D000D083D082D0F022755D +:103480007800757B007A087918780876007700084C +:1034900009DAF8E478087480447FF674014410F582 +:1034A0008975B808D2ABD2A9227581ADD28ED28CE3 +:1034B000D2AFE57B6032FF90FD95E05480602478C8 +:1034C000087908E0547FFA7B00E6547FB502027B5E +:1034D000FF08D9F5EB700CEAF01233F8AD04AC023A +:1034E00012340FA3A3A3DFD212324880C57C017D22 +:1034F000002204F504E904ED04E104DD04D904E547 +:1035000004F1049D04A104CD04D104990499049903 +:1035100004D504B504AD04B104A904C104BD04B9C3 +:1035200004C504C904A5190103002200480200488B +:103530000E301420C81AD0180A0C05060203010226 +:103540000001CE0181010000C00080006000300059 +:1035500018001000080004000200010008183828B4 +:103560000C05100A0200000000000301100A02000E +:1035700000000000FBE0FBF209022700010200A0AE +:10358000320904000003FF0000000705810240002B +:103590000007050102400000070583030200012225 +:1035A0000354005500530042003300340031003012 +:1035B000002000200020002000200020002000200B +:0535C000000000000006 +:00000001FF diff --git a/firmware/ti_5052.fw.ihex b/firmware/ti_5052.fw.ihex new file mode 100644 index 0000000..b529e07 --- /dev/null +++ b/firmware/ti_5052.fw.ihex @@ -0,0 +1,862 @@ +:10000000C1350002001E021B32FFFFFFFFFF02325C +:100010006AFFFFFFFFFFFFFFFFFFFFFFFFFF02334E +:10002000157581C890FEF08583A012347DEC4D607B +:100030006A78A58003760018B896FA7879800376F6 +:100040000018B85FFA78208003760018B820FA907C +:10005000FEE5AE83AF8290FD001200A16005E4F0E2 +:10006000A380F690FEF0A88290FEF0A982E8C399E2 +:10007000500576000880F69000FF1200AA90010358 +:100080001200AA9001071200AA90010B1200C8905A +:1000900001111200C89001171200C875D000123368 +:1000A0006702011DEF65827003EE658322E493F819 +:1000B000740193F9740293FE740393F5828E83E8BE +:1000C00069700122E493F6A30880F4E493FC7401C0 +:1000D00093FD740293FE740393FF740493F8740504 +:1000E00093F58288831200A1700122E493A3A88370 +:1000F000A9828C838D82F0A3AC83AD8288838982B0 +:1001000080E3212104927A7A0492A6A80492FEF058 +:1001100004940494FBFB04990494FBFB04F904F994 +:1001200080FED0F030F00920F303F68010F7800D48 +:1001300030F10920F303F28004F38001F020F4048D +:10014000FCD0E0CC22CCC0E012015A02014BBC0032 +:1001500005D0F0ACF022C313DCFC020121BF000982 +:10016000ED258275F001F8E622BF010FED2582F53D +:1001700082EE3583F58375F004E022ED258275F07B +:1001800002F8E222D083D082F5F0C3E493A3C5F055 +:1001900095F0C0E0C3D0F0E493A395F04012A3A380 +:1001A000C3E5F033500205832582F58250020583B2 +:1001B000740193C0E0E493C0E022D083D082F5F0D4 +:1001C000E49370097401937004A3A3800C740293E8 +:1001D00065F06005A3A3A380E7740193C0E0E493F6 +:1001E000C0E02212025B0201F21202AF0201F2121F +:1001F00002D30201F230E00720E302E622E72230D8 +:10020000E10720E302E222E32230E202E022E4936B +:10021000221202D302021A1202AF02021AABF01229 +:100220000224CBC5F0CB2230E01020E306E6F5F047 +:1002300008E622E7F5F009E7192230E11020E3068D +:10024000E2F5F008E222E3F5F009E3192230E206D4 +:10025000E0F5F0A3E022E493F5F074019322BB00F3 +:1002600003740922BB010789828A83740422BB02BA +:100270000789828A83741022740A2202027BBB00DF +:1002800007E92582F8740122BB010DE92582F58278 +:10029000EA3583F583740422BB020DE92582F582D9 +:1002A000EA3583F583741022E92582F8740222026C +:1002B00002AFBF0005EDF8740122BF01078D828EE9 +:1002C00083740422BF02078D828E83741022EDF89E +:1002D0007402220202D3BF0007ED2582F8740122C6 +:1002E000BF010DED2582F582EE3583F5837404227E +:1002F000BF020DED2582F582EE3583F58374102261 +:10030000ED2582F8740222020307C0E012025B02AC +:10031000031FC0E01202AF02031FC0E01202D302AB +:10032000031F30E00B20E304D0E0F622D0E0F722F8 +:1003300030E10B20E304D0E0F222D0E0F322D0E061 +:10034000F022C9CDC9CACECACBCFCB120352EDF928 +:10035000EEFAEFFB22BB002FBF000AFAEDF8E7F63A +:100360000809DAFA22BF01128D828E83F802036F28 +:1003700009A3E7F0D8FA2202037AFAEDF8E7F208C7 +:1003800009DAFA22020384BB014DBF001489828A74 +:1003900083F9EDF802039608A3E0F6D9FA220203E6 +:1003A000A7BF01228D828E83FB08C9C582C9CAC539 +:1003B00083CAE0A3C9C582C9CAC583CAF0A3DBEA60 +:1003C000D8E8220203CA8D828E83F9EDF8E0F208A4 +:1003D000A3D9FA220203D4BB024DBF001289828A3C +:1003E00083F9EDF80203E608A3E493F6D9F922BFF6 +:1003F00001238D828E83FB08C9C582C9CAC583CA01 +:10040000E493A3C9C582C9CAC583CAF0A3DBE9D8EE +:10041000E72202041989828A83F9EDF8E493F2084D +:10042000A3D9F92202042ABF000DFAEDF8E3F60879 +:1004300009DAFA22020434BF01128D828E83F80297 +:10044000044109A3E3F0D8FA2202044CFAEDF8E3E0 +:10045000F20809DAFA22020456E6FB08E6FA08E690 +:10046000F904F61870010622E6FF08E6FE08E6FD2C +:1004700022EFF0A3EEF0A3EDF022EBF0A3EAF0A35D +:10048000E9F022E0FFA3E0FEA3E0FD22E0FBA3E011 +:10049000FAA3E0F9220000000000000004F9005B6C +:1004A00005730026059A00330A0B005B0A7700608B +:1004B0001552005B0CFB005B09AB005B09E2005BC3 +:1004C0000DC2005B0BF3005B0A1E005B0A53005B6E +:1004D000174A0033176000341E4D00431EF00044DD +:1004E000205D0044204B00471F1700471FBC004DF4 +:1004F000200D004F1F39005831F5005B7CCC7DFF8B +:10050000121CFE22749090FF91F090FFFCE020E717 +:100510002DC2AFAE59AF58755A20E55A14C55A606E +:1005200019E4FE7F05EE4FCE24FFCECF34FFCF601F +:1005300007E490FF92F080ED80E08E598F582212F0 +:1005400005017D077CB71232117D0F7C6E12322BB4 +:1005500078977A06E4F608DAFC7A061205CF7C036F +:10056000120E577C04120E5712218BE4FEFF7C0FF3 +:1005700012319AD2A822123085E490FD40F090FF0B +:10058000F0E030E408740190FD41F08005E490FD56 +:1005900041F07D0A7C001224B1123108221230850C +:1005A00090FD41E014700E90FFF0E04410F07C00EC +:1005B00012254A801990FD41E0700E90FFF0E05442 +:1005C000EFF07C0012254A80057C1712254A123173 +:1005D000082290FFF0E054ABF090FFF0E04420F0F0 +:1005E000228C378D36787CEDF608ECF6EDFEECFDCE +:1005F0007F019000051201EC787AF6787CE6FD0820 +:10060000E6FCEDFEECFD7F019000041201EC540FBE +:10061000FC7D7A12179D787AE6700DAD3AAE39AF4F +:1006200038E412030F7C082290FFF0E054FEF090B3 +:10063000FFF0E054FDF0801E787CE6FD08E6FCED5E +:10064000FEECFD7F0190000812020E25E0440190AF +:10065000FFF3F00206DB787CE6FD08E6FCEDFEEC3D +:10066000FD7F0190000612020E54FE90FFF3F08011 +:100670002B787CE6FD08E6FCEDFEECFD7F019000AA +:100680000812020EFAEB90FFF1F01208CA400DAD0D +:100690003AAE39AF38E412030F7C1822787CE6FDBD +:1006A00008E6FCEDFEECFD7F0190000812020E90C2 +:1006B000FFF1F01208CA400DAD3AAE39AF38E4127E +:1006C000030F7C1822787CE6FD08E6FCEDFEECFDCD +:1006D0007F0190000612020E440190FFF3F0787D36 +:1006E000E62403F618E63400F6787AE624FE50098C +:1006F00090FFF0E054FDF0800790FFF0E04402F03E +:10070000E490FFF1F0787B7600787AE624FFFCE451 +:1007100034FFFD787BE67F00FEECD39EEF6480CD56 +:1007200064809D402F1208AF400F787BE6AD3AAE53 +:1007300039AF3812030F7C182290FFF2E0FC787C6E +:100740008683088682ECF0787B06A3787CA68308F3 +:10075000A68280B51208AF400F787BE6AD3AAE397D +:10076000AF3812030F7C182290FFF2E0FC787C86F1 +:1007700083088682ECF0787AE6AD3AAE39AF38126B +:10078000030F7C00228C378D36787CEDF608ECF672 +:10079000EDFEECFD7F019000051201EC787BF67810 +:1007A0007CE6FD08E6FCEDFEECFD7F019000041206 +:1007B00001EC540FFC7D7B12179D787BE670037C67 +:1007C000082290FFF0E054FEF090FFF0E054FDF0BE +:1007D000801B787CE6FD08E6FCEDFEECFD7F0190D9 +:1007E000000812020E25E090FFF3F0805B787CE6B3 +:1007F000FD08E6FCEDFEECFD7F0190000612020E06 +:1008000054FE90FFF3F08021787CE6FD08E6FCEDD5 +:10081000FEECFD7F0190000812020EFAEB90FFF152 +:10082000F01208CA40037C1822787CE6FD08E6FC3A +:10083000EDFEECFD7F0190000812020E90FFF1F03A +:100840001208CA40037C1822787DE6240AF618E6CE +:100850003400F6787A7600787BE624FFFCE434FFF7 +:10086000FD787AE67F00FEECD39EEF6480CD648055 +:100870009D4021787C8683088682E090FFF1F0120B +:1008800008CA40037C1822787A06787D06E618703C +:10089000010680C390FFF0E04401F0787C86830875 +:1008A0008682E090FFF1F01208CA40037C18227C97 +:1008B000002290FFF0E020E71290FFF0E030E50921 +:1008C00090FFF0E04420F0C32280E7D32290FFF0B5 +:1008D000E020E31290FFF0E030E50990FFF0E04403 +:1008E00020F0C32280E7D3228C428D417C00ED545E +:1008F000F0FDEC7003ED64307005753E0380037508 +:100900003E04AC3E120F7C758300858340E5415464 +:100910000FF53FE5407004E53F64037035E53E2484 +:10092000FD75F00AA4240AF582E434FDF583E03075 +:10093000E6051210678019E53E2497F8C654FBF6C9 +:1009400078A3E62405F58218E63400F583740FF0E9 +:100950008059E5407004E53F64047048E53E24FD9D +:1009600075F00AA4240AF582E434FDF583E030E54D +:1009700007AC42AD41121C93E54230E21578A7E680 +:1009800030E00F78A7E630E109E4FF04FE7C0412B2 +:10099000319A78A3E62406F58218E63400F58374CC +:1009A0000FF08007E4FC7DEE121C93C2032212308C +:1009B00085120F7C78A3E62406F58218E63400F54C +:1009C00083E090FD40F078A3E62405F58218E63434 +:1009D00000F583E090FD41F0C2037D027C0012240B +:1009E000B112310822123085788FECF6EC2497F89A +:1009F000E630E1077C1312254A800F90FD41E0FDAF +:100A0000788FE6FC1213FD12254A123108221230AB +:100A100085788FECF67D00120F0B12254A123108F3 +:100A200022123085788FECF6EC2497F8E630E20756 +:100A30007C1312254A801B788FE62497F8E620E184 +:100A4000077C1212254A800A788FE6FC12142112C4 +:100A5000254A12310822123085788FECF6EC249763 +:100A6000F8E620E2077C1112254A800A788FE6FC1E +:100A700012152212254A12310822123085788FEC85 +:100A8000F6120F7C78A3E62409F58218E63400F507 +:100A900083E090FD47F078A3E6240AF58218E63457 +:100AA00000F583E090FD48F078A3E62403F5821872 +:100AB000E63400F583E0FC78A3E62404F58218E62A +:100AC0003400F583E0F55C78A3E62402F58218E6AD +:100AD0003400F583E0F55D8C5BE4EC33335401784E +:100AE0008FF66008E55C30E103788F06788FE6903A +:100AF000FD49F078A1E62402F58218E63400F5837A +:100B0000E0FDA3E0540CFCED54E68C5FF55EE55B84 +:100B100030E503435F01E55C20E50EE55B547F7043 +:100B200008E55B20E703435F02E55B30E303435FD7 +:100B300010E55B30E203435F20E55B540360034351 +:100B40005F40E55B30E103435F80E55B30E40343F6 +:100B50005E01E55B30E603435E08E55C20E40EE5FC +:100B60005B547F7008E55B20E703435E10535FFB37 +:100B7000535EF9AD5EE55F90FD42CDF0A3CDF0E5AB +:100B80005D30E30DE55D5430C4540F90FD45F080B9 +:100B900005E490FD45F0E55D540390FD44F0E55D0E +:100BA0005404C31390FD46F090FD44E0700E7D3D6B +:100BB0007EFD7F01740190000912014278A3E624B2 +:100BC00008F58218E63400F583E07C00FD78A3E6A2 +:100BD0002407F58218E63400F583E07F004CFEEF31 +:100BE0004D90FD40F0A3CEF0CEC2037D0A7C0012F2 +:100BF00024B112310822123085788FECF678947681 +:100C0000010876FD0876407891760C789412046598 +:100C10001202147892CBF6CB08F67F00EF24EB405B +:100C20001FE4EF25E09034BFFD93CD0493789366E5 +:100C30007003ED186670067891760080030F80DCF3 +:100C40007890EFF6789412046590000212020E7804 +:100C500092CBF6CB08F65404CB54064B6004789143 +:100C6000760B7893E630E3137894120465900005D0 +:100C70001201EC24FB50047891760D7893E654C071 +:100C80007D0064C04D70047891760B7894120465F1 +:100C90009000041201EC24FC50047891760F7894B3 +:100CA0001204659000061201EC24FD500478917640 +:100CB0000E78941204659000091201EC24FD500492 +:100CC0007891760A7891E6702A788FE6FC120F7C8C +:100CD000789412046578A1E6F978A0E6FA7B0174AD +:100CE0000A780012033FC203788FE6FC12112378C2 +:100CF00091ECF67891E6FC12254A12310822123066 +:100D000085788FECF6120F7C788FE624FD75F00A5B +:100D1000A4241CF582E434FDF583AC82AD8378A075 +:100D20008683088682ECF9EDFA7B0A78011203A724 +:100D3000C203788FE6FC121123123108228D2B8C0E +:100D40002AED60407527017529487528FFE52A249A +:100D5000FDFCE434FFFDEC7C0325E0CD33CDDCF974 +:100D6000FCE5292CF529E5283DF528AD29AE28AF6D +:100D700027748090000612031774809000021203FB +:100D800017120FD3E52B14603B75270175290875E1 +:100D900028FFE52A24FDFCE434FFFDEC7C0325E07C +:100DA000CD33CDDCF9FCE5292CF529E5283DF528E6 +:100DB000AD29AE28AF27E4900006120317E4900097 +:100DC0000212031722123085788FECF6EC2497F884 +:100DD000E630E209788FE6FC121522D200788FE621 +:100DE000FC120F7C7890760090FD41E030E70478AB +:100DF0009076017890E6FD788FE6FC120D3AC203FA +:100E0000300007788FE6FC1214217C0012254A126C +:100E100031082278A3E62404F58218E63400F5832D +:100E2000E04401F078A3E62404F58218E63400F5E6 +:100E300083E030E00280ED78A3E6240BF58218E62B +:100E40003400F583E054F8F078A3E62402F5821824 +:100E5000E63400F583E04480F022C2038C58120F80 +:100E60007C78A0868308868279EE7A347B0A7801C2 +:100E70001203F5120E10AC587D02120D3AC203ACEB +:100E800058121123228D538E528F518C50120F7C89 +:100E9000754F0078A3E62405F58218E63400F58343 +:100EA000E020E416E54F24F64010054FC2037C18FD +:100EB000123248AC50120F7C80D978A3E62405F595 +:100EC0008218E63400F583E020E405C2037C0222A8 +:100ED00078A3E62405F58218E63400F583E0540F84 +:100EE000601678A3E62405F58218E63400F583E061 +:100EF000540FF0C2037C012278A28683088682E028 +:100F0000AD53AE52AF5112030FC2037C00228D319C +:100F10008C30121522E5316020E530B4030C7C01E1 +:100F200012247C7C8112247C800FE530B4040A7C7E +:100F30000212247C7C8212247CAC30120F7CE531BE +:100F4000601A78A48683088682E054E7F0A3A3A3FE +:100F5000A3E054E7F0AC307D02120D3A78A086830E +:100F600008868279F87A347B0A78011203F5C20385 +:100F7000E5302497F8C654FDF6AC30121123228CCC +:100F8000263003051231E780F87C0A1230FAD203CA +:100F9000E52624FD789DF6700978A476FF0876E0B2 +:100FA000800778A476FF0876E2789DE675F010A4B5 +:100FB000ADF0FC24A078A3F6ED34FF18F6789DE69A +:100FC00075F00AA42408FCE434FDFD78A0EDF608D1 +:100FD000ECF61231932278A3E62402F58218E63467 +:100FE00000F583E030E72278A3E62402F58218E6D4 +:100FF0003400F583E0547FF078A3E62402F58218EC +:10100000E63400F583E04480F02278A486830886E5 +:1010100082E0547FF0AD83E5822404FCE43D8C82C1 +:10102000F583E0547FF078A3E6240BF58218E634CC +:1010300000F583E054F8F078A5E62401F58218E67F +:101040003400F583E04403F078A5E62405F5821822 +:10105000E63400F583E04403F078A3E62405F58246 +:1010600018E63400F583740FF02278A4868308868E +:1010700082E0543FF0AD83E5822404FCE43D8C82A1 +:10108000F583E0543FF0789DE6249EF8E6FC78A5D1 +:10109000E62401F58218E63400F583ECF0789DE64D +:1010A000249EF8E6FC78A5E62405F58218E63400CF +:1010B000F583ECF078A3E6240BF58218E63400F50E +:1010C00083E054FB4402F52678A1E62402F5821859 +:1010D000E63400F583E030E50343260178A3E624F7 +:1010E00005F58218E63400F583E030E003120FD3F3 +:1010F000E526FC78A3E6240BF58218E63400F58398 +:10110000ECF078A3E62405F58218E63400F5837444 +:101110000FF078A48683088682E04480F0A3A3A31E +:10112000A3E04480F0228C2A120F7C78A1E62408E8 +:10113000F58218E63400F583E0FC78A3E6240AF58E +:101140008218E63400F583ECF078A1E62407F582F6 +:1011500018E63400F583E0FC78A3E62409F582184C +:10116000E63400F583ECF078A08683088682E0FD03 +:10117000A3E0FCEDFE78A3E62408F58218E634002F +:10118000F583EEF0ECFE78A3E62407F58218E6344A +:1011900000F583EEF08C298D28C3EC9402ED9406C3 +:1011A000400575277C8033D3E5299481E528940197 +:1011B000400575273C8023D3E52994C0E528940099 +:1011C00040057527188013D3E5299430E52894004D +:1011D000400575270C8003752708AF27E4EF547C82 +:1011E0004483FF8F27E527FC78A5E62401F58218C4 +:1011F000E63400F583ECF0E527FC78A5E62405F558 +:101200008218E63400F583ECF0E527FC789DE624AF +:101210009EF8ECF678A3E62402F58218E63400F591 +:1012200083E0F52778A1E62402F58218E63400F57C +:1012300083A3E030E3175327C778A1E62405F5829E +:1012400018E63400F583E09034E993422778A1E66C +:101250002402F58218E63400F583E030E7054327E1 +:101260004080035327BF5327FB78A1E62406F5826D +:1012700018E63400F583E060034327045327FC7825 +:10128000A1E62404F58218E63400F583E042274302 +:101290002780E527FC78A3E62402F58218E63400CF +:1012A000F583ECF078A3E62404F58218E63400F523 +:1012B00083E0F52778A1E62402F58218E63400F5EC +:1012C00083A3E030E1055327DF800343272078A183 +:1012D000E62402F58218E63400F583E030E4055395 +:1012E00027EF800343271078A1E62409F58218E64A +:1012F0003400F583E0B40203432702E527FC78A31A +:10130000E62404F58218E63400F583ECF078A3E6D1 +:101310002403F58218E63400F583E0F52778A1E68A +:101320002409F58218E63400F583E0700553277F21 +:10133000800343278078A1E62402F58218E6340072 +:10134000F583A3E030E00543272080035327DF78AF +:10135000A1E62402F58218E63400F583E030E305C7 +:1013600043274080035327BF78A1E62402F5821863 +:10137000E63400F583E030E005432710800353276F +:10138000EF78A1E62402F58218E63400F583A3E0A5 +:1013900030E40543270880035327F778A1E62402A9 +:1013A000F58218E63400F583A3E030E50543270411 +:1013B00080035327FB78A1E62402F58218E6340067 +:1013C000F583A3E030E60543270180035327FE7829 +:1013D000A1E62402F58218E63400F583A3E030E7A5 +:1013E0000543270280035327FDE527FC78A3E62465 +:1013F00003F58218E63400F583ECF0C2037C00228A +:101400008D278C26ED54031460037C1022E52754AD +:101410007C24FC40037C0B22E5262497F8C644027A +:10142000F67C00228C30120F7CE5302497F8E62001 +:10143000E24FAC307D02120D3AE53024FE4428FC28 +:1014400078A48683088682ECF0AF83E5822404FECC +:10145000E43FFFEC8E828F83F07C038C2CE52CFC28 +:1014600078A5E62401F58218E63400F583ECF0E572 +:101470002CFC78A5E62405F58218E63400F583EC0B +:10148000F0752D01752F48752EFFE53024FDFCE425 +:1014900034FFFDEC7C0325E0CD33CDDCF9FCE52FFA +:1014A0002CF52FE52E3DF52E78A5E62404F58218BF +:1014B000E63400F583E054E7F52CAD2FAE2EAF2DCA +:1014C000E4900002120317E49000061203171201C1 +:1014D000E630E503432C10E52CFC78A5E62404F562 +:1014E0008218E63400F583ECF012106778A3E62446 +:1014F00006F58218E63400F583E0C203FCE53024EB +:1015000097F8C64404F68C2CE530540FC454F07E92 +:1015100000FFEEEF44047D00FFEC4EFCED4FFD12AA +:101520001CFE7C00228C2F120F7C12100778A486E0 +:1015300083088682E05408F0A3A3A3A3E05408F034 +:10154000AC2F7D02120D3AC203E52F2497F8C65442 +:10155000FBF67C00221230857890ECF6EC2497F8AC +:10156000E630E10A7D007C131224B1123108789034 +:10157000E62497F8C64401F67890E6FC120F7C78D2 +:1015800090E624FD75F00AA4241CF582E434FDF5F0 +:101590008378A0E6FA08E6F97B0A78011203A778B7 +:1015A000A0868308868279F87A347B0A7801120350 +:1015B000F5120FD3C2037890E6FC121123788FEC5A +:1015C000F6EC600A7D007C081224B1123108789094 +:1015D000E6FC120F7C78A3E62404F58218E63400BA +:1015E000F583E0441054DFFC78A3E62404F5821868 +:1015F000E63400F583ECF0788FECF6C2037CC81279 +:1016000032487890E6FC120F7C78A3E62404F58239 +:1016100018E63400F583E054EFF0C2037CC81232C0 +:10162000487890E6FC120F7C78A3E62404F5821833 +:10163000E63400F583E04410F0C2037CC81232485F +:101640007890E6FC120F7C78A3E62404F58218E675 +:101650003400F583E04420F0C2037CF01232487875 +:1016600090E6FC120F7C78A3E62405F58218E63498 +:1016700000F583E030E415C2037890E644107F0063 +:10168000FE7C0712319A12310802174978A3E6242A +:1016900004F58218E63400F583E054CFF0C2037CF1 +:1016A000C81232487890E6FC120F7C78A3E6240436 +:1016B000F58218E63400F583E04430F0C2037CF094 +:1016C0001232487890E6FC120F7C78A3E62405F5E8 +:1016D0008218E63400F583E030E414C2037890E623 +:1016E00044107F00FE7C0712319A123108805D7829 +:1016F000A3E62404F58218E63400F583E054EFF005 +:1017000078A3E62404F58218E63400F583E054DF7C +:10171000F07890E624FD75F00AA4241CF582E434E8 +:10172000FDF583AC82AD8378A08683088682ECF9D0 +:10173000EDFA7B0A78011203A7C2037890E6FC1247 +:1017400011237D007C0B1224B11231082212308546 +:1017500090FF91E090FD41F07D027C001224B112D7 +:1017600031082212308590FD40E0F4FC90FF91E0BA +:101770005CF53390FD41E0FC90FD40E05C4233E5D8 +:101780003390FF91F07C0012254A12310822743CFC +:1017900090FBE8F0743E90FBE8F0E490FD30F0221E +:1017A0008D358C34ECB401028003D340028028B420 +:1017B00002028003D34008A835C625E0F68018B49D +:1017C00004028003D3400AA835C625E025E0F68050 +:1017D00006A83576008000228C3C8D3BEDFEECFDAA +:1017E0007F0175600675610090FD3112046E120173 +:1017F000E6B480028006D3500302189E90FD311299 +:1018000004809000031201EC54F0B430028003D342 +:10181000405F90FD3112048090000812020EFAFD24 +:10182000EBFE7F0190FD3412046EEECD903502FC8C +:10183000E493FF740193FEF9EFFA7B01EAFFE9FEFE +:10184000ECC39EED9F4025903504E493FD74019315 +:10185000FCEDFEECFD7F01EECDFC90FD36E0D39C6F +:1018600090FD35E09D500575608080331219BC8075 +:101870002EB460028003D3400BAC3CAD3B12078218 +:101880008C60801BB41003B34010C3B42003B3407A +:1018900009C3B440028003D340007560818000809A +:1018A00075B481028003D3406B90FD3112048090A7 +:1018B00000031201EC54F0B430028003D3401D90B9 +:1018C000FD3112048090000812020EFAFDEBFE7F3B +:1018D0000190FD3712046E1219268036B460028022 +:1018E00003D34013753A61E4F539F538AC3CAD3BB0 +:1018F0001205DE8C60801BB41003B34010C3B4200B +:1019000003B34009C3B440028003D3400075608133 +:10191000800080028000E560FC90FD31120480ECC4 +:10192000900002120317AC612290FD3112048090E6 +:1019300000041201EC600474018001E4A2E0920151 +:1019400090FD31120480ED2403FD50010E90FD3412 +:1019500012046E90FD311204809000051201ECF526 +:10196000619000041201EC540FFC7D6112179DE59B +:1019700061700475600822756000787E7600787E5C +:10198000E6C39561503890FD371204801201E6FCE1 +:1019900090FD34120480EC12030F30010E90FD39DB +:1019A000E004F090FD387003E004F0787E0690FDCE +:1019B00036E004F090FD357003E004F080C0229022 +:1019C000FD32E0FDA3E0FCEDFEECFD7F01ED240A1D +:1019D000FD50010E90FD3A12046E90FD311204800C +:1019E0009000041201EC540FB401028003D340179D +:1019F00090FD3A1204800DED70010E90FD37120437 +:101A00006E78827601804EB402028003D340199032 +:101A1000FD3A120480ED2402FD50010E90FD3712B4 +:101A2000046E78827602802DB404028003D34019BC +:101A300090FD3A120480ED2404FD50010E90FD3714 +:101A400012046E78827604800CB400028003D340C6 +:101A5000007560082290FD3112048090000512018B +:101A6000ECF561787F7600787FE6C39561400302EC +:101A70001B24788076007880E6C378829650769032 +:101A8000FD341204801201E6FC90FD3A1204891222 +:101A900001E0F45CFC1201E0F890FD37120480E8EC +:101AA000C0E01201E6C8D0E0C8584CFC90FD3412EA +:101AB0000480EC12030F7881ECF690FD39E004F01D +:101AC00090FD387003E004F009E970010A90FD3AD6 +:101AD00012047790FD311204809000041201EC3062 +:101AE000E40E90FD36E004F090FD357003E004F064 +:101AF00078800680817882E6FDE4FEFFEECDFC90E2 +:101B0000FD39E02CF090FD38E03DF07882E6FDE410 +:101B1000FEFFEECDFC90FD3CE02CF090FD3BE03D67 +:101B2000F0787F06021A6475600022E53D053D04E9 +:101B30007002B2B022C0E0C0F0C082C083C0D0E862 +:101B4000C0E0E9C0E0EAC0E0EBC0E0ECC0E0EDC01E +:101B5000E0EEC0E0EFC0E090FF92E01201B71B8022 +:101B6000301B80321B8F381BA13A1BB33E1BCB446A +:101B70001BBF461BD7501C19521BF8541C3A560069 +:101B8000001C5B90FF92E07F00FE7C0112319A0204 +:101B90001C6BE4FF04FE7C0312319A742090FFFE5C +:101BA000F0021C6BE4FF04FE7C0212319A74409038 +:101BB000FFFEF0021C6BE4FF04FE7C0412319A026B +:101BC0001C6BE4FF04FE7C0512319A021C6BE4FFDF +:101BD00004FE7C0612319A021C6B90FFA5E07D008A +:101BE00090FD00CDF0A3CDF090FD01E0FCF58390D9 +:101BF000FD00E04433FD121CFE807390FFB5E07DD4 +:101C00000090FD02CDF0A3CDF090FD03E0FCF58344 +:101C100090FD02E04443FD121CFE805290FFA6E0BE +:101C20007D0090FD04CDF0A3CDF090FD05E0FCF526 +:101C30008390FD04E04434FD121CFE803190FFB619 +:101C4000E07D0090FD06CDF0A3CDF090FD07E0FC17 +:101C5000F58390FD06E04444FD121CFE801090FFC9 +:101C600092E07D00FCED44AAFD121CFE8000E49091 +:101C7000FF92F0D0E0FFD0E0FED0E0FDD0E0FCD05D +:101C8000E0FBD0E0FAD0E0F9D0E0F8D0D0D083D0BB +:101C900082D0F0D0E0320581058105810581A881DF +:101CA000181818EDF608ECF690FF6AE020E70280BD +:101CB000F790FF69E07D00A88118CDF6CD08F67D8C +:101CC00003A881E618FCE6CC25E0CC33CCDDF9CCCA +:101CD000F6CC08F6A88118E644F8F6A8811818187A +:101CE000E6FD08E6FCA881188683088682EDF0A34D +:101CF000ECF0740290FF6AF0158115811581158151 +:101D000022E5812405F581E4A88118F6A881181838 +:101D10001818EDF608ECF690FBFDE024F8500302ED +:101D20001E1FE4A8811818F6A88118E6FEA88118DD +:101D3000181818E6FD08E6FC7F00EF24F8404DE493 +:101D4000EF25E02485F582E434FDF583E0FBA3E094 +:101D50006C7003FAEB6D70097401A8811818F68095 +:101D60002BE4EF25E02485F582E434FDF5837A0049 +:101D7000E054F0CCF8CCCDF9CDFB7800E954F0F983 +:101D8000EA687002EB6970010E0F80AEA88118EE50 +:101D9000F6A88118181818EDF608ECF6A881EFF6E9 +:101DA000A8811818E67079A88118E624F74071A870 +:101DB0008118181818E6540FA881F664046017A853 +:101DC00081E664036010A88118181818E6FD08E67B +:101DD000FC121C93804A7C0A1230FAA88118181849 +:101DE00018E6FD08E6FC90FBFCE025E02485F58282 +:101DF000E434FDF583EDF0A3ECF090FBFCE0FFE4B0 +:101E0000EF045407FF90FBFCF090FBFDE004F012A0 +:101E1000319390FBFEE07008E4FEFF7C0F12319AD4 +:101E2000802790FBFFE004F0543F701D90FBFFE023 +:101E300044FE7D00FC90FBFCE025E02485F582E477 +:101E400034FDF583EDF0A3ECF0E58124FBF5812270 +:101E50007885760078867600740190FBFEF012306B +:101E60008590FBFDE060597C0A1230FA90FBFBE0A4 +:101E700025E02485F582E434FDF583E0FDA3E0FC54 +:101E800090FBFBE025E02485F582E434FDF583E456 +:101E9000F0A3F090FBFBE0FFE4EF045407FF90FB9E +:101EA000FBF090FBFDE014F07883EDF608ECF61201 +:101EB0003193B2B37883E6FD08E6FC1208E580A111 +:101EC0001231E7788506B60011788576007886E6C7 +:101ED000F40404A2E092B47886F68085E490FBFED8 +:101EE000F090FBFDE07D00FCED44CFFD121C931251 +:101EF000310822123085E56A64494569601590FF12 +:101F000083E0540F7D00D3956AED95695005122E3C +:101F1000CE8003122F9E12310822123085E56A64AA +:101F20004945696005122FD8800E90FF80E0440873 +:101F3000F090FF83E0547FF0123108221230858C3C +:101F400054EC54F0B4101575643D7563FD75620171 +:101F5000E5642403F564E5633400F563E4F557F5BF +:101F600056E556C394015027E554540FFCAD64AEBA +:101F700063AF62120E828C55EC600280120564E53C +:101F800064700205630557E5577002055680D2E577 +:101F900054540F2497F8C654FEF6E554540F7F00AE +:101FA000FE7C1212319AE5551470097D007C0912ED +:101FB00024B18007AD577C001224B11231082212DF +:101FC000308590FFFCE04402F090FF00E030E71322 +:101FD00090FF83E04480F043678090FFFCE0440181 +:101FE000F0801190FF82E04408F053677F90FFFC7F +:101FF000E054FEF090FF81E04480F012256490FFF1 +:10200000FEE04405F090FFFCE054FDF012310822A0 +:102010001230857C0112324878A7E64402F674FE3D +:10202000FC04FD121CFE90FF6AE030E70280F7E43A +:10203000F54E754D10AC4EAD4DE54E154E7002157A +:102040004DEC4D600280EE438701123108221230C0 +:10205000857C0212311478A7E654FDF6123108226D +:1020600012308578A7E630E02C78A7E630E12678B4 +:10207000A7E6FCF58318E644F0FD121C9390FFFCE4 +:10208000E04420F07C0212324878A7E654FDF67452 +:102090001A90FFFEF078A7E6FCF58318E644F1FD00 +:1020A000121C9312310822756700756800E4F5660A +:1020B000F565E4F569756A49748490FF82F074846B +:1020C00090FF80F0748090FF68F0748090FF6AF059 +:1020D000AD46AF457E00EE24FC500302216AE4EEDB +:1020E00075F007A4243FF582E434FCF583E0FFE4B7 +:1020F000EF5480FDE4EF540F14FFED6038E4EF750A +:10210000F008A42448F582E434FFF5837490F0E4E9 +:10211000EF75F008A4244AF582E434FFF583748057 +:10212000F0E4EF75F008A4244EF582E434FFF58363 +:102130007480F08034E4EF75F008A42408F582E49C +:1021400034FFF5837490F0E4EF75F008A4240AF5E9 +:1021500082E434FFF583E4F0E4EF75F008A4240E84 +:10216000F582E434FFF583E4F00E0220D38D468E31 +:10217000448F45747F90FFFDF0749090FFFCF090C9 +:10218000FC19E030E60790FFFCE04404F02290FCEC +:102190000DE014700490FC0CE0703990FC0079069E +:1021A0007A357B1278011203F57F00EF334015EF8B +:1021B00090354D93FCEF2480F582E434FCF583ECFC +:1021C000F00F80E78F5990FC2B79187A357B3578A2 +:1021D000011203F5E490FFFFF0745190FFFAF074E0 +:1021E0000490FFFBF0745390FFF8F0745190FFF9E6 +:1021F000F0745590FFF7F0749390FFF6F0743290FE +:10220000FFF5F075643D7563FD756201E490FF8331 +:10221000F0748090FF81F0755804E55875F007A4BC +:10222000243FF582E434FCF583E07889F6FC540F12 +:1022300014FC7889ECF6E55875F007A42441F58282 +:10224000E434FCF583E0788C76F8087600FC788935 +:10225000E675F008A42448F582E434FFF583E4F041 +:102260007889E675F008A4244FF582E434FFF583FD +:10227000ECF0788CE6FF08E67E03CFC313CF13DEC5 +:10228000F9FE7889E675F008A42449F582E434FF64 +:10229000F583EEF07889E675F008A4244AF582E427 +:1022A00034FFF5837480F0788AECF67D00788DE653 +:1022B0002CF618E63DF6788CE6FD08E67C03CDC3E7 +:1022C00013CD13DCF9FC7889E675F008A4244DF5EC +:1022D00082E434FFF583ECF07889E675F008A424F5 +:1022E0004EF582E434FFF583E4F0788CE6FD08E6F1 +:1022F000FC7889E6FF7E00EE24FC500302246BE4A8 +:10230000EE75F007A4243FF582E434FCF583E0FF8A +:10231000E4EF5480FAE4EF540F14FFE4EE75F00795 +:10232000A42441F582E434FCF583E0788AF6EE7566 +:10233000F080A42408F8E5F034F8F9E8FCE9FD8A17 +:1023400059EA70030223D8E4EF75F008A42448F595 +:1023500082E434FFF583E4F0788AE6FAE4EF75F07E +:1023600008A4244FF582E434FFF583EAF0EDFBEC9A +:102370007A03CBC313CB13DAF9FAE4EF75F008A4B0 +:102380002449F582E434FFF583EAF0788AE67B009D +:10239000FAEC2AFCED3BFDFBEC7A03CBC313CB1329 +:1023A000DAF9FAE4EF75F008A4244DF582E434FF7D +:1023B000F583EAF0E4EF75F008A4244AF582E434EA +:1023C000FFF5837480F0E4EF75F008A4244EF582E5 +:1023D000E434FFF5837480F0022467E4EF75F008BD +:1023E000A42408F582E434FFF583E4F0788AE6FA61 +:1023F000E4EF75F008A4240FF582E434FFF583EAD6 +:10240000F0EDFBEC7A03CBC313CB13DAF9FAE4EF6C +:1024100075F008A42409F582E434FFF583EAF07826 +:102420008AE67B00FAEC2AFCED3BFDFBEC7A03CB61 +:10243000C313CB13DAF9FAE4EF75F008A4240DF511 +:1024400082E434FFF583EAF0E4EF75F008A4240A8F +:10245000F582E434FFF583E4F0E4EF75F008A4249A +:102460000EF582E434FFF583E4F00E0222F48E5878 +:10247000788CEDF608ECF67889EFF61220A4228C21 +:1024800026EC30E718E526540F1475F008A424480C +:10249000F582E434FFF583E054DFF08016E526543E +:1024A0000F1475F008A42408F582E434FFF583E0E6 +:1024B00054DFF022EC90FD3FF08C24ED2403F52551 +:1024C0007D00D3956CED956B4003856C25E5252447 +:1024D000B75009752503740290FD3FF0AC25122F0B +:1024E000C322E4F566F5651224E82290FD3DE0651F +:1024F0006D600E740490FD3FF0E4F5657566038031 +:10250000467D6DE4FEFF793D7AFD7B017405780020 +:1025100012033FE5662403F566E5653400F565E5DD +:1025200066D3956CE565956B4006856C66856B6535 +:10253000D3E5669448E5659400400C740290FD3F35 +:10254000F0E4F565756603AC66122FC322EC90FDCE +:102550003FF0E4F566F5658C32EC6005122FB4802F +:10256000057C00122FC32290FF04E0F54A90FF067D +:10257000E0FDA3E0ED7D00FC7D00FC90FF06E0FFA8 +:10258000A3E07E00FFE4FEEC4EFCED4FFDC3EC94B7 +:1025900048ED9400502290FF06E0FDA3E0ED7D00A1 +:1025A000FC7D00FC90FF06E0FFA3E07E00FFE4FE60 +:1025B000EC4EFCED4FFD8004E4FD7C488C6C8D6B93 +:1025C00090FF02E0FDA3E0ED7D00FC7D00FC90FFAC +:1025D00002E0FFA3E07E00FFE4FEEC4EF54CED4F81 +:1025E000F54B75643D7563FD7562017D3D7EFD7F34 +:1025F00001796DE4FAFB7405780012033F75490018 +:10260000E54924FE4019AD64AE63AF62E412030FE6 +:1026100005490DED70010E8D648E638F6280E1754A +:10262000643D7563FD75620190FF00E05460B40085 +:10263000028006D35003022C12E54A540FF549E5F7 +:102640004A5480A2E0920290FF01E0120181000B47 +:102650002C0D266727852C0D28912C0D297429A86F +:102660002B0F2B122B522BB62BE4E56730E70EE530 +:102670004C454B7008E56C6402456B6003022C0FFF +:1026800090FF00E0541FB400028003D34029E54AC4 +:102690006003022782AD64AE63AF62740112030F60 +:1026A00078A7E630E00BAD64AE63AF62740212034C +:1026B0000F7C02122FC322B401028003D3401BE51A +:1026C0006720E107E54A6003022782E54A24FE50BD +:1026D000030227827C02122FC322B402028006D397 +:1026E0005003022780E56720E10DE54A6009E54ACD +:1026F00064806003022782AC4A12304A40030227FA +:1027000082E549702530021190FF80E05408AD64E5 +:10271000AE63AF6212030F800F90FF82E05408ADEA +:1027200064AE63AF6212030F803D154930021DE5B0 +:102730004975F008A42448F582E434FFF583E05499 +:1027400008AD64AE63AF6212030F801BE54975F0FC +:1027500008A42408F582E434FFF583E05408AD644E +:10276000AE63AF6212030FAD64AE63AF621201E6F7 +:10277000600BAD64AE63AF62740112030F7C021292 +:102780002FC3228000022C0FE56720E706E56C4589 +:102790006B6003022C0F90FF00E0541FB400028016 +:1027A00003D3401AE54C14454B7004E54A6003021C +:1027B000288E78A7E654FEF67C00122FC322B401BF +:1027C000028003D3402AE56720E108E56720E003A3 +:1027D00002288EE56730E004E54A700BE56730E1DA +:1027E00009E54A24FE500302288E7C00122FC322E2 +:1027F000B402028006D3500302288CE54C454B609E +:102800000302288EAC4A12304A400302288EE56744 +:1028100020E107E56720E0028077E56730E006E524 +:10282000496002806CE549700F90FF82E054F7F038 +:1028300090FF80E054F7F022E549B401028003D311 +:1028400040097D017C03120F0B8011B4020280034A +:10285000D340097D017C04120F0B80001549300222 +:1028600015E54975F008A42448F582E434FFF583A2 +:10287000E054F7F08013E54975F008A42408F582C8 +:10288000E434FFF583E054F7F07C00122FC322807C +:1028900000022C0FE56720E706E56C456B6003023C +:1028A0002C0F90FF00E0541FB400028003D3401AA5 +:1028B000E54C14454B7004E54A600302297178A782 +:1028C000E64401F67C00122FC322B401028003D338 +:1028D0004029E56720E108E56720E003022971E56A +:1028E0006730E004E549700BE56730E108E549240D +:1028F000FE5002807F7C00122FC322B402028003AC +:10290000D3406FE54C454B60028069AC4A12304AB7 +:1029100040028060E56720E107E56720E00280541F +:10292000E549701430020990FF80E04408F0800708 +:1029300090FF82E04408F022E56730E1331549302A +:102940000215E54975F008A42448F582E434FFF542 +:1029500083E04408F08013E54975F008A42408F5E5 +:1029600082E434FFF583E04408F07C00122FC32298 +:1029700080028000022C0FE56720E712E56C456BB2 +:10298000700CE54A700890FF00E0541F6003022CB1 +:102990000FE54C90FFFFF090FFFFE06005436701FB +:1029A00080035367FE7C00122FC322E56730E70ED9 +:1029B000E56C456B600890FF00E0541F6003022C3B +:1029C0000FAD4BE54CED7D00FC7D00FCBD000280B1 +:1029D00003022B0AB401028003D34032E54A70059A +:1029E000E54CFC6003022B0C7564007563FC75629A +:1029F00001D3E56C9412E56B94004006E4FD7C1273 +:102A00008004AC6CAD6B8C6A8D69122FD822B40235 +:102A1000028003D34059E54A6003022B0CE54CFCCD +:102A200070277564127563FC756201D3E56C9419A7 +:102A3000E56B94004006E4FD7C198004AC6CAD6B42 +:102A40008C6A8D69122FD8802575642B7563FC758F +:102A50006201D3E56C9435E56B94004006E4FD7C9F +:102A6000358004AC6CAD6B8C6A8D69122FD822B4A2 +:102A700003028006D35003022B0AE54CF549700F80 +:102A800090FF04E0FDA3E04D6003022B0C80189042 +:102A9000FC82E0FDA3E0FC90FF05E06C700790FF76 +:102AA00004E06D60028068E4F56AF5697F00E5493D +:102AB00014C549600FEF2480F582E434FCF583E00F +:102AC0002FFF80EA8F4AE54A2480F582E434FCF542 +:102AD00083E07D00D3956CED956B4006AC6CAD6BDF +:102AE000800FE54A2480F582E434FCF583E07D0024 +:102AF000FC8C6A8D69E54A2480FCE434FCFDFEEC24 +:102B0000FD7F018D648E638F62122FD822800002B8 +:102B10002C0F022C0FE56730E719E56C14456B703C +:102B200012E54A700EE54C454B700890FF00E054EA +:102B30001F6003022C0FE56720E008E56720E10332 +:102B4000022C0F756468E4F563F562E4F56904F539 +:102B50006A122FD822E56720E727E56C456B7021C4 +:102B6000E54A701DE54C6402454B600DE54C14458B +:102B70004B6006E54C454B700890FF00E0541F6029 +:102B800003022C0FE56720E008E56720E103022C33 +:102B90000F854C68E56870084367015367FD801333 +:102BA000E56864026007E56814600280655367FEAB +:102BB0004367027C00122FC322E56730E71AE56CF9 +:102BC00014456B7013E54A700FE54C454B70099046 +:102BD000FF00E0541F1460028038E56720E10280A6 +:102BE000317C01122FC322E56720E715E56C456BA8 +:102BF000700FE54C454B700990FF00E0541F1460C6 +:102C000002800FE56720E10280087C00122FC322BA +:102C10008000022ECAB440028006D35003022EC0A8 +:102C200090FF01E090FD3DF0E54A90FD3EF0E4901C +:102C3000FD3FF0E5642403F564E5633400F563AD1E +:102C40004BE54C856482856383CDF0A3CDF090FF86 +:102C500001E01201B72C7D012CA3022CCD032CF72F +:102C6000042D45052D82062DA8072DCE082DF4092B +:102C70002E1A0B2E400C2E4F802E4F8100002EADB1 +:102C8000E56720E7067C0512254A227DB77E347F62 +:102C90000279407AFD7B017408780012033F7D08B9 +:102CA0007C001224B122E56720E7067C0512254A44 +:102CB00022E54AB403004010B40500500BE54A7FFA +:102CC00000FE7C1012319A227D007C071224B12272 +:102CD000E56720E7067C0512254A22E54AB4030091 +:102CE0004010B40500500BE54A7F00FE7C11123104 +:102CF0009A227D007C071224B122E56720E7067C3A +:102D00000512254A22E54AB405028003D3400AE4AD +:102D1000FF04FE7C0A12319A22B401028003D340E0 +:102D20000AE4FF04FE7C0812319A22B4030040102A +:102D3000B40500500BE54A7F00FE7C1312319A2245 +:102D40007D007C071224B122E56720E734D3E56CCF +:102D50009448E56B94005006E56C456B70067C0268 +:102D600012254A22E54AB40103B3400BC3B4030061 +:102D70004009B406005004123070227C0712254A24 +:102D8000221224E822E56720E71DE54AB40300404B +:102D900010B40500500BE54A7F00FE7C1612319AF4 +:102DA000227C0712254A221224E822E56720E71D2B +:102DB000E54AB403004010B40500500BE54A7F001B +:102DC000FE7C1912319A227C0712254A221224E82D +:102DD00022E56720E71DE54AB403004010B4050072 +:102DE000500BE54A7F00FE7C1712319A227C0712B5 +:102DF000254A221224E822E56720E71DE54AB403AC +:102E0000004010B40500500BE54A7F00FE7C18120C +:102E1000319A227C0712254A221224E822E56720F3 +:102E2000E71DE54AB403004010B40500500BE54A25 +:102E30007F00FE7C1512319A227C0712254A22124D +:102E400024E822E56720E7067C0712254A2212249F +:102E5000E822E56730E72090FF00E0541F701090F3 +:102E6000FF01E0B480051224DF80031224E8227DF4 +:102E7000007C051224B12290FF00E0541F60067C04 +:102E80000512254A22D3E56C9448E56B9400500B5B +:102E9000C3E56C9407E56B940050067C0312254A49 +:102EA00022E54AB40504123070227C0712254A221A +:102EB000E56730E7087D007C051224B1227C05120D +:102EC000254A22B420028003D340008000122F9EA6 +:102ED0002275430090FF83E0540FD395434024E5CF +:102EE0004324F0F582E434FEF583E0AD64AE63AFD5 +:102EF0006212030F05430DED70010E8D648E638F1A +:102F00006280D1E5437D00FCC3E56A9CF56AE56912 +:102F10009DF569E56A45696006E490FF83F02290BB +:102F2000FF82E04408F0E4F569756A4990FD3DE0F0 +:102F3000B405028003D3404090FD3EE0F543B40564 +:102F4000028003D3400AE4FF04FE7C0B12319A2274 +:102F5000B401028003D3400AE4FF04FE7C0912316D +:102F60009A22B403004010B40500500BE5437F00E3 +:102F7000FE7C1412319A2222B480004023B48200D5 +:102F8000501E7C3D7DFD1217D57D008C668D6590B1 +:102F9000FD3FE06005122F9E80057C00122FC322AA +:102FA0002290FF83E0547FF090FF82E04408F0908D +:102FB000FF80E04408F02290FF82E04408F090FF98 +:102FC00080E04408F0228C237D008C6A8D69756452 +:102FD0003D7563FD756201122FD82290FF83E05486 +:102FE0007FF0E56A64494569700122C3E56A940887 +:102FF000E56994004015752108E5217D00FCC3E5D5 +:103000006A9CF56AE5699DF5698009856A21E4F5A0 +:1030100069756A49752200E522C395215026AD6481 +:10302000AE63AF621201E6FCE52224F8F582E434D7 +:10303000FEF583ECF005220DED70010E8D648E63BC +:103040008F6280D3E521547F90FF81F0228C487FEE +:1030500000EF24FB4019E4EF75F007A4243FF5824C +:10306000E434FCF583E065487002D3220F80E28FE0 +:1030700047C322856C6A856B6990FF82E054F7F044 +:1030800090FF83E0547FF022C000C001C002C00660 +:10309000C007E5722408F8860653067F7CFF1230CD +:1030A000FA7C007D00E5756046FF90FE9DE0547F50 +:1030B0006E700FC083C082A3E0FDA3E0FCA3157572 +:1030C0008007A3A3A3DFE68026DF06D082D083801B +:1030D0001EE0F8A3E0F9A3E0FAD082D083E8F0A3E1 +:1030E000E9F0A3EAF0A3C083C082A3A3A380DA120D +:1030F0003193D007D006D002D001D0002285A87429 +:1031000075A888EC70027C3F8C7322E5722408F865 +:1031100076001231E780FBC000C001C002C006C0CB +:1031200007AE047CFF1230FAE5756042FF90FE9D09 +:10313000E0547F6E700BC083C082A3A3A31575807B +:1031400007A3A3A3DFEA8026DF06D082D08380D83E +:10315000E0F8A3E0F9A3E0FAD082D083E8F0A3E995 +:10316000F0A3EAF0A3C083C082A3A3A380DA780807 +:10317000087918097C01E6547F6E700676007700A6 +:10318000800608090CBC08EE123193D007D006D097 +:1031900002D001D000227573008574A822C0F0C04F +:1031A00082C083C3E57524E850051231E780F4EC52 +:1031B00060319034B6E493C39C4028C0047CFF1275 +:1031C00030FAD004430480E57575F003A4249DF51E +:1031D00082E434FEF583ECF0EFA3F0EEA3F0057586 +:1031E000123193D083D082D0F022C0047C20D28CC4 +:1031F000D28DD504FDD0042275A80075880075B85D +:103200000075F00075D000E4F8900000F608B800F2 +:10321000FB020000C3ED940250047D037CE8ECF453 +:10322000FCEDF4FD0CBC00010D8C798D7822C3EC13 +:1032300094BCED940250047D077CD0ECF4FCEDF4DA +:10324000FD0CBC00010D8C778D7622EC700122C044 +:1032500000E5722418F8A604E5722408F8C6547F25 +:10326000F6E630E703D000221231E780F4C28C8505 +:10327000768C85778AD28CC0E0C0D0C0F0C082C086 +:1032800083C000C001C002C003C004C005C006C0A6 +:1032900007121B28E5722408F8E66024E572241062 +:1032A000F8A681E57275F021A42495F582E434FD39 +:1032B000F58378A8E58104C398F9E6F008A3D9FA64 +:1032C00074082572F8057208E65480700CE572B433 +:1032D00007F3780875720080EFE5722410F8868194 +:1032E000E57275F021A42495F582E434FDF5837828 +:1032F000A8E58104C398F9E0F608A3D9FAD007D06D +:1033000006D005D004D003D002D001D000D083D0A5 +:1033100082D0F0D0D0D0E032C0E0C0D0C000C00138 +:10332000C002C28E85788D85798BD28E7819790905 +:103330007A07E77004A600800BE6600816E67004C2 +:10334000E74480F70809DAEAE573601314F573704F +:103350000EE5722408F87600123193D28CD28DD00B +:1033600002D001D000D0D0D0E0327581A775900096 +:103370007579307578F87577607576F012053C12BE +:10338000340F12178B1234391231F580E322C0004A +:103390007C01EC2408F8E660090CBC08F51231E762 +:1033A00080EED00022C0F0C082C083C000C006C042 +:1033B00007ED2410F876B6ED75F021A42495F5827A +:1033C000E434FDF583C082C083A3A3E4780DF0A3A9 +:1033D000D8FCEC547F75F002A42482F582E5F03429 +:1033E00034F583E493FE740193F5828E83E493FEB7 +:1033F000740193FFD083D082EFF0A3EEF0ED2408A8 +:10340000F8EC4480F6D007D006D000D083D082D02C +:10341000F0227572007575007A08791878087600C0 +:1034200077000809DAF8E478087480447FF67401BC +:103430004410F58975B808D2ABD2A9227581A7D2FC +:103440008ED28CD2AFE5756032FF90FE9DE0548045 +:10345000602478087908E0547FFA7B00E6547FB551 +:1034600002027BFF08D9F5EB700CEAF012338BAD4A +:1034700004AC021233A2A3A3A3DFD21231E780C5AA +:103480007C017D002204F504E904ED04E104DD047F +:10349000D904E504F1049D04A104CD04D1049904E8 +:1034A00099049904D504B504AD04B104A904C10478 +:1034B000BD04B904C504C904A519010300220048CC +:1034C0000200240F180A10640D680C05060203019F +:1034D0000181010000E700C0008000600040003072 +:1034E0000018000C00080004000200010008183851 +:1034F000280602100A0200000000000181100A02E2 +:103500000000000000FBE8FBFA12011001FF0000C0 +:103510000851045F50160101020002090235000142 +:103520000200E0000904000005FF0000000705811B +:10353000024000000705010240000007058202402A +:103540000000070502024000000705850302000194 +:10355000040309042403540065007800610073002B +:10356000200049006E0073007400720075006D0049 +:1035700065006E00740073002A0354005500530068 +:103580004200350030003500320020005300650055 +:103590007200690061006C00200050006F00720032 +:1035A00074002203540055005300420035003000DF +:1035B00035003200200020002000200020002000E4 +:0435C00020002000C7 +:00000001FF diff --git a/firmware/tr_smctr.bin.ihex b/firmware/tr_smctr.bin.ihex new file mode 100644 index 0000000..6797451 --- /dev/null +++ b/firmware/tr_smctr.bin.ihex @@ -0,0 +1,477 @@ +:10000000BC1D123B63B4E900001F000101000205A2 +:10001000010006030100040901000A070100080BA2 +:1000200001000C000000000F0100100D01000E1374 +:10003000010014110100120000050015010016193D +:1000400001001A1701001800000E00000001000056 +:100050000004001B01001C0000070000000F00004E +:10006000000B001D01001E0000080000000200003F +:10007000000C000000060000000D0000000300005E +:10008000000A00000009000478C6BC0194049380B3 +:10009000C84062E9DA1C2C1555555555555555582B +:1000A0000BE9E5D595C19D77CEBBA06E1C05F67713 +:1000B000C602FA9670E81DC0170E02FA587DC05F9E +:1000C00072CEECA4C384907A30CD8D7919E76C247C +:1000D000279C08390738A84A4CEA4D989B244CC005 +:1000E00026D3E7545A4DF24C0C13234990326EA498 +:1000F000DF9371137726E126F8260C4C12260809A7 +:10010000828260A9307936B0B2A8A772648F9B331F +:1001100033F9B839D51173AA75265D2651932A494A +:1001200094C99589BC4DC89B809BA099064C862696 +:10013000589BA49B9937626C679B3330BF366661CE +:10014000BF36ECC5BD66825A5031D59D9818293C02 +:1001500098864C17263E2CB8693B492EB408431AA2 +:10016000A4F9B351F110F343CD086F6379B3330EA3 +:100170001398499804DA7CE05279310C982E4DACF2 +:100180002C8414EE4CFE675EE49A7529D7A9353AA3 +:10019000945BD59B58B4AF7566AF14A9EF40952515 +:1001A00008B9AD42FCD8D98C330E1398661E45AC05 +:1001B000B00C42D3CCA61262DEB4B180497DA2DE7F +:1001C000B418C02484E654F5834601681A630CC64B +:1001D0001264FA4C351C2C0EAAAAAAAAAAAAAAAA88 +:1001E000AAAAAAAAAAADD70270E04CF3A1C1D5C0B1 +:1001F0003CB96939604E58770267933C99E4CF382F +:100200001C972E401B903146A35E0E88346A35E061 +:10021000E8AA351AA9F51546A3EA7D4AA351AA9F73 +:100220007054A6572EB4CDC8A30CC1DAC6E1CB7A60 +:10023000D41C68FFCF55A8C02D851117442A300B58 +:100240004A88C24DB520D5260169516952195260BC +:100250001695168296549805A545F3DD6AF9281877 +:10026000EF003030514E445D12D143E6126F9EBA1A +:10027000CCDF25031DE006060A30CCA9EB2D008655 +:10028000A612654F56D665495F3DE837C940C77825 +:100290000181828C33184980AE40C518059C6D18C9 +:1002A000660EF3A0C61262DEF504B4AC6BC61991FB +:1002B0007305482E72948073A1C8473666642F3642 +:1002C0006664079902918E72D10F9D063173A0C3A7 +:1002D000516A1A20BF3A0C2C7387435E600223FCDC +:1002E000E0D635EF9EF5EF92818EF0030305186698 +:1002F00045CC0B482E700A4039D0E4239B3332178B +:100300009B333203CC8548C73814A5CE297ED280D2 +:10031000A1A8B448882FCE830B1CE1D0D7980488BD +:1003200087CE963173A58FF38358D7BE7B82AF9269 +:10033000818EF0030305186645CC1520B9C8290045 +:10034000E743908E6CCCC85E6CCCC80F3205231C82 +:10035000E450D45A17882FCE8310F9D023173A04CB +:1003600035E600221639C3A3FCE0D635E0BFF41809 +:10037000F22D4D43516E5A221F30D417E74191732D +:1003800005482E776900E743908E6CCCC85E6CCC34 +:10039000C80F3205231CEF4C4E0604C99E0BFF41CB +:1003A0008F22D4D43516E5A221F35A82FCE8322EEE +:1003B00060A905CE1348073A1C8473666642F3664B +:1003C000664079902918E70A989C0A9EB5125C7CD1 +:1003D000C3318B982A7CD3ED38E9D34E74ED499E16 +:1003E0000BFF418F22D4D43516E5A22DEB45338F78 +:1003F000FCF7A05F25031DE40E060A30CC0CF3EBDE +:1004000040DE61A870920A00E1241E00E1241E0073 +:10041000E1241E00E1241E00E1241E010F982A0B96 +:10042000F3A0C8B9A2A4173A6900E743908E7548B3 +:100430005E706901E6005231CC1814A5CC09829493 +:10044000730CA091F525CC070684849F30A2A47D6F +:100450005075A665014A8EB4CCC435547566A49710 +:100460007A895053138019E3495C6DCEA940350653 +:1004700078D25706F1B32A8D972362925D69991C51 +:100480006A36E6CD46126F9EE1ABE4A30CC0DEAC4B +:10049000D40D281BD012A500F84BAD332806A0DEE2 +:1004A00014973A895DC00DE30690925D699866B92C +:1004B0001995E4A8CF9D331849BE7B86AF928C3343 +:1004C00024140CF4832421C270BFF418F22D4D4380 +:1004D000516E5A221F32A82FCE8322E605A4173A66 +:1004E0006900E743908E75485E706901E642A46337 +:1004F0009802294B9A2978E9405313818132678207 +:10050000FFD063C8B5350D45AE50087CE0D05F9D87 +:100510000645CC01A4173A6900E743908E75485E02 +:10052000706901E659A463981C52973B30528E7D46 +:100530002A091F51EBA4A40AB99487AEC531380229 +:10054000FFD063C8B5350D45AE50087CEA20BF3AF0 +:100550000C8B9A16905CE9A4039D0E4239D5217943 +:1005600095480F300A918E60EB297300095404CA34 +:1005700082655265E4CA226572650932E099724C5F +:10058000C4E00BFF418F22D4D43516B94021F38A41 +:1005900082FCE8322E60A905CE9A4039D0E4239D32 +:1005A00052179954619901E640A4639804B1849864 +:1005B00018EF2D0305313802FFD063C8B5350D455E +:1005C000B968887CE0505F9D0645CC81482E713427 +:1005D0008F48014815210521E90A5203CE5A4639B0 +:1005E000CF478E60AB1AF35343EB3524B81B30076B +:1005F000098A742F7E41741E1D0D874649D595D1F9 +:10060000D5D5BBA94E829D053A0A7414E829D0427B +:10061000745BCE50C40745BCE20C40745BCE8304CF +:10062000F9954D13635E6F313BA08BA2C5398D7870 +:100630003A22A0006BC1D1546016D991A2E7438C35 +:1006400024DC1CE05117396B3BCC4B422E6B50BF66 +:100650003636654F7A185525789823E7503EF38152 +:100660004C026D3E7153AF78A9D4A629B1BCD9997B +:10067000B28E628F222E7516B0B2AB23281654525A +:1006800031BCD999B28E6619022E7516502CA9C8A4 +:10069000C6F520D3E47F4F9C0AD6167F90EE4CEB34 +:1006A000CFE288BA2F4286AEBDE5A7529F93637909 +:1006B000EB3308F9945247CD99256F3A0C13E65560 +:1006C000344C5A4DB52395A548115A0A4395AC2C84 +:1006D000BA240549B1BCCAA7726C6BC5BDE83169C3 +:1006E000525D0612653EB1504C7D4FAC0A300B3660 +:1006F0006411738A838E75129F7BD29958EE822E75 +:1007000077A0E39D5D4FBC2A532953DE9324BAB3EF +:1007100036AA4AC679D4B9DE625A11735050BF372F +:10072000366F1323BA0C24CEBDE2A752B28E6B6093 +:10073000622E751330ACA059CA646379B333651C5B +:10074000CC32045CEA2CA059DF231BD4835247DD52 +:100750007996D49EB3524BA25A1A8D5D7B82A752D2 +:10076000B28E6619022E7516502C8C321D7B8EA708 +:1007700052B1BCD9999804DA7CE2ACFE6619022E1B +:100780006550BF336664FE7418864C1726D6165221 +:100790003918DE7ACCC23E651491F36649086E833F +:1007A0000933AF31ED0D9D0612622A318D6DE7419F +:1007B000827CCAA68987092E29B1AF1039D66497E1 +:1007C000301D42759344028C24D27AB350F68905C9 +:1007D000435E6198C02C92253C8B2489490549E7EA +:1007E0000CB98498B7AD3344AE5A5186609F38A98E +:1007F000A26C6BC48EF45E49461262DEB4CD215CFD +:10080000B4A30CC13E7229A26C6BC6126247F0E819 +:10081000C33204354092A4828810927CCBD42FA49A +:1008200002118498B7AD3344AE5A5186609F38A9FF +:10083000A26C6BC48EF45E494408493E65EA17D247 +:100840000108C24C5BD699A42B9694619827CE459B +:10085000344D8D78810927CCBD12286C58AFB6F382 +:10086000A0C13E655344D8D7928E7D4BC2FA612613 +:10087000063AB36B030549E70CB96F5A66955CB449 +:10088000A30CC13E7029A26EA4DF9371137726E1F9 +:1008900026F826C6BC9473F92F0BE9849818EACC85 +:1008A000EC0C15279C32FF3D56AF928B7AD335D591 +:1008B000CB4A30CC13E7029A26C6BC947341979179 +:1008C000F483CE0420628B0516498C24C0C7569051 +:1008D000C0C15279C32E5BD5A672D294FAAD58C866 +:1008E000FA9F54B3324BB954A651866B79D0609FAE +:1008F0003205344D8D7A4D1E7AB35100A93D59A869 +:100900007B4482A1AF4A8D52A95241494F3A2E40B1 +:10091000A49950BE90085279C32E61262DEB4CD07D +:1009200015CB4A30CC13E7029A26C6BC48FE1D25DB +:1009300046A954A920A4A79D1720524CA85F48049B +:100940002309316F5A6680AE5A5186609F3814D1A0 +:100950003635E4A79D1720524CA2450D8B15F49116 +:10096000DE8BC928C24C5BD699A95CB4A30CD6F324 +:10097000A0C13E640A689B1AF16D4CAA92E03694BD +:10098000709B297813AEB3AA85D44375093AC9EB95 +:100990003524B81B328E13487E4EFD40FD40FD408D +:1009A000FD40FD40FC13F421F917458A300B335FFD +:1009B00083A22A300B335F83A2A8C02DB32070928C +:1009C000139ADE741827CCAA689B1AF70745518042 +:1009D0005B66470738A823E751113FE0E8854601E9 +:1009E0006D990612654F7A2024BAB33215257BAD76 +:1009F0003378AE0E73D047CEA730CC44FF83A2A885 +:100A0000C02CD991C1D11518059B3208BA2C518040 +:100A100059B3207092E29889FDBCEE1890FC8BA22D +:100A2000C52B0D783A22A561AF074551805B66441E +:100A30009EB3524B83ADC709BE1F9F74655D0A17F5 +:100A40007CABA0C24C3849122E384907A30CC13EDA +:100A5000655344D8D7ADE700324B9B33344A03008B +:100A60009D25CE8324B819998C02124BA199D8C028 +:100A7000274973CFF93CF47CE79804E92E7F39E3EA +:100A80004F4653C06013A4B9E53C03DE8F9CF300CE +:100A90009C6FCF3E85F9A336021E6038923E631AE2 +:100AA000109FCF181092BCD0A40CDCC00F9C9734C0 +:100AB00062B6E7F3F3A5CF1842341CC2CAFA8E68B7 +:100AC0005206AF3CA30DBF9E50E1D173CAE03AFC81 +:100AD000C1091A1E6A5C5B8E634E7773CC6167DD59 +:100AE000E66C48D1F31B24695108D4421BF467D14A +:100AF000804E2FD08CD83009C21E801C46013A4748 +:100B0000D031A106013A7F4630211804E95E8429DC +:100B100000C027CDD0007C9804F92E84628C027D21 +:100B2000BA3E7E4C027D2E8C61083009F41D0165B1 +:100B300073009F51D085201804FABD194618C027AC +:100B4000DFD194384C027D174657013009F5FA0180 +:100B50000906013E87A14B88C027DC740D39D300FC +:100B60009F73D030B39804FBBD06C483009F47D069 +:100B70003648CC0271BF3F9A17E63F0821E692A49F +:100B80008F9A1031A7F310B184AF3AACDCF773F24F +:100B90005CC62ADB9E7E7E97310863D0737B43A8B8 +:100BA000E63D34EAF3E315BF9F185F45CFE89F5F4A +:100BB0009A5B03D0F3D3CE371CD00FBB9E68783B33 +:100BC000BCCA31E8F9A20212A27351086FD1F346F0 +:100BD0000138BF40FC23009C21E84951804E91F42C +:100BE000210319804E9FD0216306013A568C02746E +:100BF000FE75495E63D34A54423513A7D1804E95A2 +:100C0000E81E9A4C027CDD1BB9E6013E4BA062A3B4 +:100C1000009F6E8CFCF3009F4BA04218CC027D0716 +:100C200043DA13009F51D03D349804FABD1C628C06 +:100C3000027DFD1C6173009F45D1F44E6013EBF4FF +:100C400025B033009F43D1A79C1804FB8E8403E991 +:100C5000804FB9E843C13009F77A0A319804FA3E67 +:100C6000844041804E82E7418709230423009D058B +:100C7000CE961C248C108C0274173A043849182123 +:100C80001804E82E7450E12460846013A0B9D411D4 +:100C9000C248C108C0274173A82384918211804EA5 +:100CA00082E7528E12460846013A0B9D401C248C66 +:100CB000108C0274173A090E12460846013A0B9836 +:100CC0006A1C24B0E11804E82E6B50E1258708C0A7 +:100CD000274173054384961C23009D05CCAA1C2440 +:100CE000B0E11804E82E70687092C3846013E54484 +:100CF000F9409D05CE5A1C24B0E11804F9D13E708C +:100D000027CF13E5442CA042CB89F2213A0B9C0A51 +:100D10001C24B0E11804F9D10B3810B3C4213936C2 +:100D20005C42C8842B79D061C2741524BAD331E5F2 +:100D300059082908E066634295128100290BC151C8 +:100D400024B81999902290B418A0914101414141D1 +:100D50005283CA4028682908BA16109C990B5694E9 +:100D600090521574C0271A2AD29025D3009D28AB23 +:100D70004A42174C0270D4842E9804E12A42174C40 +:100D8000027082904BA60138514842E9804E15A46A +:100D90002174C0270FA412E9804E82AC80ACA0ACB5 +:100DA000A959E5644565CAC84ACE0ACE4ACE95918E +:100DB000959495932925C0CCCC88A4975636647217 +:100DC00090548A9C4508B9B766129309C9B2748ECB +:100DD000BA6013E5348EBA6013E4748EBA6013E51A +:100DE000691D74C027CA291D74C027CED225D3001F +:100DF0009F38A44BA6013E5E912E9804F915225D02 +:100E00003009F3E912E9804F905225D3009DC5487F +:100E100025D3009C45CECD09C9B21A44BA6013E768 +:100E2000348974C0271C27B79C80C2D776599B93FE +:100E30000C64C31D1BF4454BC7C63A37E8814BC74A +:100E4000C63A37E8914BC7C632618EB3BCC34A225B +:100E5000E6B5249771C987B431AE73A2CF39D25D9C +:100E6000044442C0D6DE710616BBDBCE830C64C3DD +:100E70001D311304F9954D133293635E6614CC292A +:100E80002A5330A6614CC299853A72CCC299850624 +:100E90001BB30A661414249985330A08B186614C81 +:100EA000C2842168733B30A661414EA5985330AC93 +:100EB0005976614CC2B08DD6614CC2B02CF6614CF3 +:100EC000C2B18CA5985330AC0F24CC2998560F286A +:100ED0006615921A1985330ACA850CC2998565C3AD +:100EE000D985330ACE7086614CC2B397710C993B99 +:100EF000CC83580BEA779D064ABE047460E0D14E5D +:100F0000384C3EEE3EEE3EEE3EEE30BBCAE11F7781 +:100F10001F771F771F7727708FBB800E11F771F730 +:100F20007C6F3CB33602FB8DE655707F2D246955EE +:100F30004F58A9231F54F78A95252B750CCCAC5616 +:100F400051CC51E445CEA21239C0A0AF566A497FB8 +:100F5000028C09F80BEBAF56766752B28E69A71177 +:100F600073A8B1BCCAA0A936502C98E70AF566A4AC +:100F700097E25A3027BAF7834EA5330A66158DE6F5 +:100F80005539D2A7AC546016701B728E628F222E18 +:100F9000751602FB8DE60A953D62A300B701B553B5 +:100FA000DE2A5494ADD43332B15947314791173AC0 +:100FB0008848E702B017DC679D4B8DE752AA7BD4C7 +:100FC000AA92BDD699BC5602FB8CF36666C6F36640 +:100FD0006662992AF8186870B08A0D5555555552B1 +:100FE00032E1405C380BEA9B87017DC05F7017DC03 +:100FF00005F5DC9B017D614D80BEA77982A21F5063 +:10100000152A8F8B1CE5A5138458E702915405021D +:101010004BBD221A947F9C1AC05F421A21D180597D +:10102000C06D1C2C0A83555555555555555555556C +:1010300055541CB85C6E179C2F385E70E7B85E7014 +:10104000BCE179C2F385E70BCE179C299C299C292A +:101050009C230F5814EE357726219305C9B017D27B +:101060001D188A219305C9B017D187AC0A740FAE39 +:10107000F55A82A3E43A3114BBD7599974A21930B6 +:101080005C9B017D187AC0A740F843D4638925D0C2 +:1010900010D61C6A10F5558925D151661F51F5915E +:1010A000492E8915986AA3E08A9465640E1317384F +:1010B000A8864C1726C05F461EB028631F087A8C8E +:1010C0007124BA021AD00D421EAAB124BA2A2D31B7 +:1010D000F51F587492E8875A6352DEF451694A3E0C +:1010E00009694650F0E131730545BD598D8B4A7C45 +:1010F000D3ED38E9D34E74ED443260B93602FA5B71 +:10110000DE8A2D29D0E121F5A39221F219305C9BD2 +:10111000017D21F5A0C6016701B445CEA51239D4E1 +:101120001C05F440A1C2C3506AAAAAAAAAAAAAAAE4 +:10113000AAAAAAAAAAAA81AF869F191BE781F3656A +:10114000F280BE7017DFDF380BEB0DC380BEA70F38 +:10115000954F5A94C02CD8B1A7CE5A1173A83AC251 +:10116000CCB63017DC6F35A9804DA7CE2A1879C5CB +:1011700049DE61A822E75033F9986408B99542FC2A +:10118000CCD9953D62A248D448E70288B9C1A0E312 +:101190009D4E62E6CCC66BCE8310C982E4DAC2C82B +:1011A0001EC3B93602FAA9EB4E3030FA0DF0A9EBA6 +:1011B00040B90FAA7AD2C2C8FAA7AD410A47D53DB5 +:1011C00068ACF1F54F5A97547D4FA8AA551F11737B +:1011D0005AB017DE5D59A925D0552A46BCB822AEB3 +:1011E00045293E14FAE19994CA4ABE3DD699925DCA +:1011F0001517C8D7DC15178A401F0A9EACC9654968 +:101200005C1D10684A3E5BDE83169580BE91745863 +:10121000A4007C38E7563017DF75A6649745209DFB +:10122000035F70545E291DF0A9EACC865495C1D1A4 +:1012300006830FAA7BD0654945BDE962D291DF04E0 +:101240005D16291C7D4FAC1A471AA9F5676653280D +:10125000B7BD2C5A523BE3DD59A925D1A8AC086B88 +:10126000EE08ABC5202F854F566675495C1C181DCE +:1012700081C26405F080BE355CD017C255F0957C04 +:10128000255F080BE1017C7BAB3524BA1055931A1E +:10129000FB822AF148D7C2A7AB31B2A4AC639D4A06 +:1012A0008D7C7BAB3524BA1054308D7DC11578AC64 +:1012B0006F5A94601AE379D4AA4F854F5666D54980 +:1012C00058C73A9549F045D1629486BC1D13D29017 +:1012D000FFCF7A83F25031DE006060A11735A85F3E +:1012E0009B1B3707441A300B380DBC1CE0D047CE8F +:1012F000A0AA7AA1986A92953D6831805B80DAA9AC +:10130000EF41952516F7A58B4AC679B333602FAA0E +:101310009EB15180599ECAA7AC0A300B67B2ADD5B9 +:10132000DA925D17A300B32D956E08A958A1173A5C +:101330008B017D54F78E9525081CE05602FBC1D128 +:10134000151805926B3C1D1228C02CA56C11701746 +:10135000B2384D80BEE02FB4EC4AEDB39E02FB8064 +:10136000BEE02FB139933E6DE710609F32A9A26CA9 +:1013700005F440E60A953D6A2300B380DAA7D62A31 +:10138000030D7017D22E76294FBC54A6516F7A5890 +:10139000B4AC05F48BA2F40E350D492EB4CC18A5CF +:1013A000C8F84A9723E1052E47C28A5C8F85697287 +:1013B0003E1F4AC3551F5643328CA35E60A845CEDC +:1013C0000D602FA3849DD8F017D22E0E1B2384D836 +:1013D0000BEB89F380BEE02FBB3985DF2203E701E9 +:1013E0007DC05F7017D11738145BD6A2740D4B7A8D +:1013F000B33196946BCC3523D749481573290F5DCB +:101400008AC05F4D79843580BE881CC3529F59685D +:10141000C02CE036AA7BCD4A92BEF3814A7D5B594F +:1014200094CA1C24EEC780BE881CC3529F5968C052 +:101430002CE036AA7BCD4A92BEF38143849C7B3854 +:101440000BEBAF70D4EA53009B4F9C5430F38A945B +:10145000FAB6B3299422E61A85F9B05993F9D2C4A1 +:101460003260B936B0B390D977261C2722E896B4FB +:1014700023EA9EB511805965862073968D79AD5803 +:101480000BE917448A4A07D77A82A190FAEF0154F0 +:10149000BA50D4591E2CE9F38A99856B0B23159702 +:1014A00072611730D42C738748AA028125DE910D12 +:1014B0004AC05F7ED280A53EB2D0C86B80BE881C79 +:1014C000EA0917441A371A917458A371AF074454A4 +:1014D0006E35E0E8AA640F90FAD06300B380DA2C8E +:1014E000738748AA028125DE910D4AC05F48BA275A +:1014F000A300B701B74F9CB46BCC3516F566632DCE +:10150000291EBA4A40AB99487AEC508B9C0822FCC1 +:10151000F9B2553D62A92351239C0A3C730D445CEA +:10152000E15071CEA11FE7156B0B25ED0B93602FDA +:10153000AA9EAC3665495F7A2050087FEF3914497E +:10154000011181046040CC59C0AD23EB41B081F260 +:101550003A41AA5043E4D48654A087C152CA9301A9 +:1015600032549D2402000052AF1646A7916708B47A +:101570000451F16519B46E2DC0AD490092571B742A +:10158000455F2351B7440A1006A36E8B6B081F19E1 +:10159000D1E680828054042A4591A9E459C22D01E4 +:1015A000140450D3FC558461D980512FE21F465F4B +:1015B00040E020154ABC591A9E459C22D01148CBC8 +:1015C000E81408015415E2C8D4F22CE116808A46CA +:1015D0005F527CD9A8F888D05A3CD25C5B80DAA7ED +:1015E000D65A0886A45D17A0C3522E88A8221F537E +:1015F000EADACCA650E127763C05F54FAB6B329981 +:1016000043849C7B380BE927ACD492E00EDA384D4A +:1016100080BEE67D50BA51AE66EFBCDC7B871E0211 +:10162000FA93E6CD47C443CD0F349DA300B05501D6 +:10163000AE038404CE01D0E17002800E89E9221F3E +:10164000E0E896B011F4C2CE036A442DC06D48059F +:10165000B80DA300B776D5DEB150DC7D77BC54BAA7 +:10166000527F5814340F9AF381580BEAEF581460E4 +:1016700016A56C2EF7814BA56F7D5DEEB52E95807E +:10168000BEF073BD047CEAFEEB4CDE2953DD6A54E8 +:1016900094A9EA0A8C02D64C3C05F400EACD56AF78 +:1016A000C047D29C8D29CAE02FAEBD75999D4AF9DD +:1016B000EF517C940C77801818292AF8E0E8AA30BA +:1016C0000B2A987C1D1151805954C351F51B3324AA +:1016D000BB82A5195C1D1028C02C9AC7C1D1228CD1 +:1016E00002C994645C0CD68E13602FB80BEA30E309 +:1016F000C05F48DC780BE800E3C05F6C38D52E355E +:101700004F5A8A61AA9F561B32994642C8010C451E +:10171000CEA517E6C6CEA9EB151646A24738144348 +:101720002622E73D602FAA9EB512E07F017DE3E708 +:101730000293F995445CE5A0E39D4A7F9C54A9EB94 +:10174000510546B9FCC01B222E64542FCD46CCA7B0 +:10175000D586CCA65055C645CE5A0E39D4A7F9C564 +:101760004A9EB5118059C06DCFE600D9117322A1F0 +:101770007E6A36653EAC366532B017DD3E72D27990 +:10178000310C982E4C20732A8FF38AADE741827C6E +:10179000CAA689B5859FB0F017D51F5454251AA83D +:1017A000FF2A946511D74944D5CCA055D8AE0E88F0 +:1017B0001460164D6322E07286384D80BEE02FB86B +:1017C0000BEE02FB8138F017D7D71E02FAFAE3C0FE +:1017D0005F4C85900218C85B80DA300B701B4C227E +:1017E000D34C33038C2E4C4326D0F56366D095A79B +:1017F000CE45330AD61642386EE4CEBD592CD2AB54 +:10180000BA949DE61AB017D54F5A8B091A88B9C5F4 +:10181000424730D43216728865BD599925A5602F8C +:10182000B860F308B74A1A8FAB0D994651AF38A884 +:101830008E9065135218A054B1422E61A848E72D2E +:1018400016F7A805A5602FA475D251357328157613 +:101850002B83A20518059358C8B806286384D80BB3 +:10186000EE02FB80BEE02FA043A7017D4CE3C05FEA +:101870007017DC05F4642DC06D1805B80DA5BD6AA0 +:101880002386AA9EB511A46AA3EA8A8D23E117389C +:101890003469719845A6986A3EAC36651946BCE233 +:1018A000A23A41944D48628152C516F7A88B4A541A +:1018B000F5A88C02DC06D1039CB4A9EE0A95252A72 +:1018C0007AAD46016701B5D7AC0A300B6C4935E6F5 +:1018D000B567F3006C88B99150BF311B32A7B86867 +:1018E00095257BAD3378A7CD3ED38E9D34E74ED47E +:1018F00022E706848E60A8FF38AB839C2A08F9D4BF +:101900002063BC1A060AC05F4642DC06D1805B80B9 +:10191000DA22E61A848E72D16F5A80871AAA7AD494 +:1019200048C8D547D5152323E11738348CBA4B7BEB +:10193000D402D28C22DC06D51F561B328CA35E71DA +:10194000511D20CA26A43140A962B017DF9EF4B70A +:10195000C940C778018182B83839491C26C05F70F8 +:1019600017D4ABE12AF84ABE12AF8F974FCBA7012D +:101970007DDA80AA91647F4A81D522C8FE828025C3 +:1019800048B23EBBDC352E9407E88A9C03E24BA5A7 +:1019900077ABB332E94BBD598684977A04BA53E1E9 +:1019A00032EF50D4E63553EB029CC7D77AB330D22E +:1019B0005DEA02E9445D1628C02CE0369174455971 +:1019C00018D54FAC0AC435308B38692BBD5998698E +:1019D0002EF512E958674AEF50D58E3E1CA4B0CEC2 +:1019E00093216E1A481FA22AC30D577AB30D092EF0 +:1019F000F4435D288B832092384D80BEE02FAC17D6 +:101A000049B3A582E93EE93674E02FA6CE9C05F4E1 +:101A1000C22C8C52577AD48D48FAEF50D5AE35533C +:101A2000EB028621AAEF56661A4BBD44BA50C4E9B0 +:101A300053EB028681F5DEA1A8621F5DFEA25D293F +:101A400077A86A618D40FD11530C6AA7D60530C78F +:101A5000D77FA9574A5DEB481B0C7C8B9D8A53EFBF +:101A60006694CA54F5A0C6016E036A9F5676653225 +:101A70008B7BD2C5A5602FAA7D65A300B701B4C832 +:101A80005A078FED01D527916701B48B9C541C73C5 +:101A9000A8845CC150BF365660AB8C8B9C541C73C1 +:101AA000A8845CC150BF36566C05F553D6A2300BE6 +:101AB000295B19FCF69445CF150BF33CB32A7AC584 +:101AC0004601648A31239C0A5DEA34332E95C7CEE1 +:101AD0002A4FE65020B9310C9BEF391445CE45070B +:101AE0001CEA4687AB1B3684A75EAC966752B017DC +:101AF000DCFE7B4A22E78A85F99E59977A8D0CCBCA +:101B0000A527F3A0443260B937DE72288B9C8A0E79 +:101B100039D48C05F7E7B82AF92818EF0030305788 +:101B200007440A508FF07391411F3A9045C0BB188B +:101B3000E13602FBFB9E02FAEEE7F5CF017D105C79 +:101B4000F017D105CF017D53EB2D1805B80DA64236 +:101B5000DC06D31735A88B9C0A0E39D40CFE7B4AC1 +:101B600022E6550BF331B3602FBC7CE2A4FE655135 +:101B70001738141C73A819FCF69445CCAA17E66311 +:101B8000660AB8CC85A158F6A23548487F4A89959F +:101B90002121FD0502549E45910E3C05F507405557 +:101BA00048523E86A07548523EB5004A9C006BC71D +:101BB000CE4527F32A843735DEA0AB231AAEF58352 +:101BC0005918D743DE2AD094EBDE053A959FCCC353 +:101BD0002045CCAA17E666CC43264FE741222E705B +:101BE0006838E753E02FABBC12D2E9580BEAA7AD37 +:101BF00045A11FC05F7839C8A08F9D481C24EEC73F +:101C000080BEBAF56D6649770D4EA53009B4F9C5A9 +:101C1000430F38A93F9D02FBCE4511739141C73A4E +:101C2000919FCF69445CF150BF33CB32A7AC549045 +:101C30008D448E702977A8D0CCBA56B0B29D8C86D0 +:101C40004C172677261C271C249E2361BE8E124F1C +:101C500011871CEA5C05F5D7B86A752977AB0D9931 +:101C600074A54F72A0AA4AC6F36666C63982AF75DC +:101C7000A66F146BCE05707396823E7528E13AA765 +:101C8000AD44601652B61D7AB6B324BB86A75298EF +:101C900004DA7CE2A1879C55F79CB5AC2C9533B94E +:101CA0003105D953D6A2300B295B022E615A17E6B3 +:101CB0009CB32A7AC54021A891CE0527F3A5886454 +:101CC000C172654F58140C8D7EF381445CEF41C79F +:101CD0003ABE02FAA9EACECCA92953D6A24647DDDC +:101CE0007AC0A30086E29B29788B810998709B2992 +:101CF000795DD972ED94BCB976133B2A5DB29795A4 +:101D00002ED94BCA7D5B5994CA1C24EEC794BCC023 +:101D100026D3E7150C3CE2ACFE7B4A22E78A85F924 +:101D20009E59977A8D0CCBA527F3A0417262193783 +:101D3000DE70288B9C8A0E39D48D0F56366D094E75 +:101D4000BD592CCEA56B0B22D99DC9B297BEF3818C +:101D50004A7D65A300938F672978C24DC1D1068261 +:101D600031AF07383411F3A82A9EA8661AA4A54FEC +:101D70005A0C118FAA7BD0654945BDE962D2B19E4C +:101D80006CCCC6198709C38E75411F3AA513D5556A +:101D900055555555555555555555555555555555F3 +:101DA00055555555555555555555555555555555E3 +:0E1DB00055555555555555555555555ACC90C8 +:00000001FF diff --git a/firmware/ttusb-budget/dspbootcode.bin.ihex b/firmware/ttusb-budget/dspbootcode.bin.ihex new file mode 100644 index 0000000..b4b2247 --- /dev/null +++ b/firmware/ttusb-budget/dspbootcode.bin.ihex @@ -0,0 +1,820 @@ +:1000000008AA001800030800001000000180185F13 +:100010000000018077182AEB6BF8001803FF68F8DE +:100020000018FFFEF7B8F7BEF6B9F4A0F6B7F6B5BC +:10003000F6B6F02019DFF1000001F84D01ABF6B87B +:10004000F02019DFF07301A57EF80012F000000126 +:1000500047F800117E9200F80011F00000017EF8D0 +:100060000011F00000016C89019AF7B8EEFCF02055 +:10007000FFFFF1000001F84D01BFF27301B94E021C +:10008000F495F5E356027E001100FA4C01B76B03BC +:100090000001F6B8EE04F0740DA7F07401C54A1122 +:1000A0004A1672112AE610F80011FA4501DBF495A0 +:1000B000EEFF4811F0002AC68816F495F49510EE6C +:1000C000FFFFF4E36CE9FFFF01D510F82AE7F845DC +:1000D00001E210F82AE7F4E3F07401FFEE018A165A +:1000E0008A11FC00F7B8E9204A1109F82AE6F84E0F +:1000F00001F3F27301FDF495E80172112AE649114A +:1001000080E12AC6F3000001E80081F82AE68A119E +:10011000FC00F495F073020010F82A0FFC004A115D +:10012000F074020280F82A107308000940F82A15BA +:1001300082F80011F495771003E8F5A9F830022150 +:1001400071F82A102A1556F82A0CF0E34EF82A16F0 +:10015000E8004EF82A0C8A11FC004A064A074A1D9C +:1001600068F800077D3F69F80007400068F8001D47 +:10017000FFFC6BF82A0F00018A1D8A078A06F4EB40 +:10018000EEFD76F82A0F000076000000FB80194C87 +:10019000F495E80080F82A11F980190780F82A0EF2 +:1001A000F980166676002A1210F82A11F98018E3F1 +:1001B00010F82A0EF980166610F82A0EF9801687B4 +:1001C000EE03FC004A11F6B8F495F020800011F817 +:1001D0002A5AF84D029311F82A9FF84C027C7712A4 +:1001E0002A39491201F82A9F8911F495F4957181F1 +:1001F00000116CE1FFAB02936BF82A9F0001E90547 +:1002000001E2000381F82AA0F073029572112A9F7F +:10021000F49510E12A396BF82A9F000111F82A9F02 +:1002200009F82AA0F84C029376F82A5A000076F8CA +:100230002A9F000076F82AA000008811F495481142 +:100240008A11FC004A11EEFE10F82A5AF84402B254 +:1002500076F82A5A0001F07402588811F495771044 +:100260008000F4A9F83002B24811F03000FF80009D +:1002700010F82A5BF98018D6EE028A11FC00F4957A +:100280004A084A094A0A4A0B4A0C4A0D4A104A11BE +:100290004A124A134A144A154A164A174A174A1963 +:1002A0004A0E4A064A074A1A4A1D4A1B4A1C68F85F +:1002B00000077D3F69F80007400068F8001DFFFC5B +:1002C000481868F80018FFFEF495F4954A08EEFD0A +:1002D000F07402588811F49577108000F4A9F83072 +:1002E00002EF4811F03000FF800010F82A5BF9801F +:1002F00018D6EE038A18F4958A1C8A1B8A1D8A1A5E +:100300008A078A068A0E8A198A178A178A168A1510 +:100310008A148A138A128A118A108A0D8A0C8A0B0F +:100320008A0A8A098A08F4EB4A1177112A397681F8 +:10033000005577122A1810E2000180E1000110E256 +:10034000000280E1000276E10003000076E1000493 +:1003500000AAF07402988A11FC004A118811F495E1 +:10036000F49510816FF82A9E0C88E8FF18E10001CF +:100370001AF82A9EF0301FFF80F82A9E8A11FC008E +:100380004A1177112A397681005577122A1811E21D +:10039000000181E1000111E2000281E1000276E149 +:1003A0000003000248086FE100040C98F03000FFE1 +:1003B00080E1000576E1000600AAF07402988A1137 +:1003C000FC004A1177112A397681005577122A18D4 +:1003D00010E2000180E1000110E2000280E1000271 +:1003E00076E1000300044811F00000048812F4953F +:1003F00077132A76E900E598F3000001F6B8480B78 +:1004000008F82A3CF8430371768200AAF074029837 +:100410008A11FC004A11EEF08811F495F49571816F +:10042000001471E1000100154911F3000002891167 +:10043000E7826DEA0004E7836DEB000A771A000596 +:10044000F07203AA1181F2E88082E9FF19E100014C +:10045000F1A0819211E1000CF2E88083E9FF19E13B +:10046000000DF1A081936DE9000248184918700051 +:100470000015F0000004F300000A80018102F2740C +:100480000E54F4954814EE108A11FC004A11F074D1 +:100490000C5E80F82A5C77122A3976820055771133 +:1004A0002A1810E1000180E2000110E1000280E260 +:1004B000000276E20003001CF6B856F82A16F0F0A7 +:1004C000F0F880E2000756F82A16F1F0E8FFF28013 +:1004D00080E2000656F82A16F1F8E8FFF28080E282 +:1004E000000557F82A16E8FFF28080E2000456F86B +:1004F000276CF0F0F0F880E2000B56F8276CF1F072 +:10050000E8FFF28080E2000A56F8276CF1F8E8FF75 +:10051000F28080E20009E8FF57F8276CF28080E261 +:10052000000856F8276AF0F0F0F880E2000F56F85D +:10053000276AF1F0E8FFF28080E2000E56F8276AA1 +:10054000F1F8E8FFF28080E2000D57F8276AE8FF33 +:10055000F28080E2000C76E20013000076E20012E6 +:1005600000006FF82A5C0C5880E20011E8FF18F8D0 +:100570002A5C80E2001076E20017000076E20016A6 +:1005800000006FF82A9E0C5880E20015E8FF18F86A +:100590002A9E80E2001476E2001B000076E2001A38 +:1005A000000076E20019000070E20018276E76E283 +:1005B000001F000076E2001E000076E2001D000031 +:1005C00076E2001C000076E2002000AAF074029897 +:1005D0008A11FC004A11EEFE10F82A38F84504EDA5 +:1005E00077122A1810E200028811F495771000089B +:1005F0006DE9FFDFF6A9F8200475F073047DF010B3 +:100600000021F0001A8348087EF80008F4E2F07434 +:10061000030AF07304EA4812F2740323F0000004A2 +:10062000F2740336F495E800F07304EA77112A189F +:10063000E8FF6FE100040D4818E10005F274096954 +:10064000F495F2A0F0740336F07304EA77112A18D7 +:10065000E8FF6FE100040D4818E10005F27409415C +:10066000F495F2A0F0740336F07304EAF0740357C3 +:10067000F07304EA10F82A1CF07412A4F274033622 +:10068000F495E800F07304EA4812F2740380F00075 +:100690000004F2740336F495E800F07304EA10F8ED +:1006A0002A1CF07412C5F2740336F495E800F07356 +:1006B00004EA77112A18E8FF6FE100060D4818E1F7 +:1006C000000771E100050012F2A070000012800125 +:1006D00010E10004F0740E7AF2740336F495E80029 +:1006E000F07304EAF07403BC76F82A380000EE02D6 +:1006F0008A11FC004A1177112A3976810055771248 +:100700002A1810E2000180E1000110E2000280E1FD +:10071000000276E1000300094811F000000488128D +:10072000F49577132A86E900E598F3000001F6B8FE +:10073000480B08F82A3CF843050A768200AAF074B0 +:1007400002988A11FC004A1177112A3976810055E6 +:1007500077132A1810E3000180E1000110E3000282 +:1007600080E1000213E3000381E1000348117711E7 +:100770000000F84D0544F000000488124813F00012 +:1007800000048813F495F495E5986D91F6B8481136 +:1007900008F82A3CF843053AF0202A394911F500B7 +:1007A0008911F495F49576E1000400AAF07402989A +:1007B0008A11FC004A1177112A3976810055771287 +:1007C0002A1810E2000180E1000110E2000280E13D +:1007D000000276E10003000C4811F00000048812CA +:1007E000F49577132A7AE900E598F3000001F6B84A +:1007F000480B08F82A3CF843056A768200AAF07490 +:1008000002988A11FC004A1177112A397681005525 +:1008100077122A1810E2000180E1000110E20002C4 +:1008200080E1000276E1000300194811F0000004A5 +:100830008812F49577132A5DE900E598F30000012A +:10084000F6B8480B08F82A3CF8430593768200AACC +:10085000F07402988A11FC004A11881110F82A38A5 +:10086000F84405E310F82AA1F84405BA6CE1FF56F4 +:1008700005E372122AA1F49570E22A1800116BF8B0 +:100880002AA10001F07305E372122AA1F49570E227 +:100890002A18001110F82AA1F00000018812F4951E +:1008A000F4956EE2FFFC05D173122AA14811F00005 +:1008B000000580F82AA210F82AA108F82AA2F84414 +:1008C00005E36CE1FFAB05DD76F82A38000176F828 +:1008D0002AA1000076F82AA200008A11FC00F495F3 +:1008E0004A084A094A0A4A0B4A0C4A0D4A104A1158 +:1008F0004A124A134A144A154A164A174A174A19FD +:100900004A0E4A064A074A1A4A1D4A1B4A1C68F8F8 +:1009100000077D3F69F80007400068F8001DFFFCF4 +:10092000481868F80018FFFEF495F4954A08EEFFA1 +:1009300010F82A5BF9801804F07405A2EE018A18F9 +:10094000F4958A1C8A1B8A1D8A1A8A078A068A0ECF +:100950008A198A178A178A168A158A148A138A129C +:100960008A118A108A0D8A0C8A0B8A0A8A098A08D7 +:10097000F4EBEEFD76F82A38000076F82A5A0000EB +:10098000E8014E00FB8017D6F495E80180F82A5B59 +:1009900076002A8FF98016AA10F82A5BF980175C76 +:1009A00010F82A5BF980176FFB801666F495E81A39 +:1009B000FB801687F495E81AFB801666F495E81B11 +:1009C000FB801687F495E81BEE03FC004A11F495B2 +:1009D00013028811E800F84D066AF3100001891A25 +:1009E000F495F07206691C918A11FC004A11881175 +:1009F00012031102F8450679F0100001881AF495E7 +:100A0000F072067881918A11FC004A11F495710206 +:100A10000011110361F800110001F8300691F6B8D9 +:100A20006FF800110C1F8811F3E8E8FF1881F1A09E +:100A30008181F073069DF6B86FF800110C1F8811C4 +:100A4000F33000FFF020FF001881F1A081818A11AE +:100A5000FC004A11F495110261F8000B0001F82026 +:100A600006B1490BF61F8811F495F4951081F273C5 +:100A700006B8F03000FF490BF61F8811F495F49585 +:100A80001281F4788A11FC004A11F4957102001267 +:100A900013038811E800F84D06CCF3100001891A01 +:100AA000F495F07206CB1192F2C081918A11FC008C +:100AB0008812120271010013F84506DBF0100001E4 +:100AC000881AF495F07206DAE598FC004A11EEFEF9 +:100AD0008811110410067105001261F8001200015E +:100AE000F82006EAF0000001F6B8F00000016FF807 +:100AF00000120F1F48088100F47F8001F27406BACB +:100B0000F4954811EE028A11FC004A11EEFE88129B +:100B1000110410067105001361F800130001F8209C +:100B20000709F0000001F00000018811F6B86FF825 +:100B300000130F1F81004811F47F8001F27406CE6C +:100B4000F49548124811F030FFFEEE028A11FC00C5 +:100B50004A114A164A17EEFCF495800271080016F5 +:100B60001009710B00178003710A00114817F8452E +:100B7000073F700000111003F074069F80017000A1 +:100B800000161002F074067B6D916D966CEFFFFFFE +:100B9000072FEE048A178A168A11FC004A11EEFE0E +:100BA00010F82AE808F82AE9F845076476000001F9 +:100BB00062F82AE9005EF274120BF0003040721104 +:100BC0002AE97710000FF5A9F82007616BF82AE9E8 +:100BD0000001F073076476F82AE90000EE028A113A +:100BE000FC004A118811E80075F800080008E800C8 +:100BF00075F800080009F6B8F495F020FC3F75F888 +:100C00000008000DF0200C3075F80008000C76F894 +:100C10002AE8000076F82AE900006C81079276F84D +:100C20002AEA0000FB801676F495E810E80075F8D3 +:100C300000080000F07307A876F82AEA0001FB809C +:100C40001666F495E810FB801687F495E810E80026 +:100C500075F800080000F6B8F495F020FFFF75F86D +:100C6000000800008A11FC00F4954A084A094A0A63 +:100C70004A064A074A1D68F800077D3F69F80007E1 +:100C8000400068F8001DFFFC10F82AEAF84507E16B +:100C900010F82AE8F0000001F030000F80F82AE890 +:100CA00010F82AE8F84407D6F6B8F495F020FC3F8F +:100CB00075F80008000DF0200C3075F80008000CE5 +:100CC000E80075F800080000F6B8F495F020FFFF82 +:100CD00075F8000800008A1D8A078A068A0A8A09B0 +:100CE0008A08F4EBEEFFF2740767F495E801EE0171 +:100CF000FC004A074A1D68F800077D3F69F80007B5 +:100D0000400068F8001DFFFC8A1D8A07F4EB4A11B9 +:100D10007711002876812400E80075F800080001AA +:100D2000F2740767F495E8007711001D6881007F71 +:100D3000F6B8F495F020FF807711001DF030010027 +:100D40001A818081F0740A33F07411ACF980132594 +:100D5000F9801653F9801782F074062FF98014B2C7 +:100D6000F9801910F0740DE3F07407E8F07402369E +:100D70008A11FC004A1160F8277BFFFFF830083920 +:100D800071F8277B277960F82779FFFFF83008B2E0 +:100D900010F8298608F82779F0307FFF8811F4953C +:100DA00077104000F6A9F830085810F8277908F8AD +:100DB000277AF0307FFF8811F49577104000F6A96C +:100DC000F820086376F82779FFFF76F8277BFFFF86 +:100DD000F7B8F27308D9F020FFFFF6B856F8277479 +:100DE000F0F9881156F82772F0F98812F495F49505 +:100DF000E720F4A9F830088FF120277C4811F6008D +:100E00008813F495F495108308F82779F0307FFF64 +:100E10008813F49577104000F5ABF830088F6D918A +:100E20004811F03001FF8811F495E720F7A9F83058 +:100E300008746D894811F03001FFF0E7F495480817 +:100E40004EF827744808F1F98911F495F49571E189 +:100E5000277C277A60F8277BFFFFF83008AB48082B +:100E60004EF8277276F8277BFFFF76F82779FFFF89 +:100E7000F27308D9F495E80044F8277340F8277511 +:100E800082F80011F49577108000F6A9F82008D8B0 +:100E9000F6B810F82773F000800048084EF8277461 +:100EA0004808F0F98811F495F49571E1277C277AC8 +:100EB000F7B857F82774F062FFFFF040FF80F28028 +:100EC0004EF82774E8008A11FC004A114A16EEFB1E +:100ED00011F8277109F8277389118810F495F49592 +:100EE000F6A9F82008EDF273090EF495E800F62053 +:100EF00076000041F07412EE8816F495F7B86D96FE +:100F000010F80016F847090AE7617600000076013C +:100F10000080760200FF76030000F2740CB9F495AD +:100F2000E8006CE9FFFF08FB7316000EF066004155 +:100F3000EE058A168A11FC004A11F495710200131D +:100F4000F6B877117FFF57F827724811F280F0004A +:100F500080008811F640F0E0F1F1E801F28080F8BD +:100F600027787712800057F827724812F28088128B +:100F7000F495F4956C820938E80075F800080001D2 +:100F8000F073093DF020800175F8000800017081C0 +:100F900000138A11FC004A11F0307FFF11F82986F6 +:100FA000F520F3307FFF8911F49577104000F6A902 +:100FB000F8200954F2730967F495E8026FF8277A6C +:100FC0000D20F3307FFF8911F49577104000F6A9CA +:100FD000F8200964F2730967F495E80180F8277B2B +:100FE000E8008A11FC004A1111F82986F520F33037 +:100FF0007FFF8911F49577104000F6A9F820097A4F +:10100000F273098DF495E8026FF8277A0D20F3301A +:101010007FFF8911F49577104000F6A9F820098A1E +:10102000F273098DF495E80180F82779E8008A11B8 +:10103000FC004A11F495710200128811F6B857F8B5 +:101040002772F0207FFFF280F0008000808157F847 +:101050002772E801F3F1F28080F827787711800099 +:10106000481157F82772F2808811F495F4956C8135 +:1010700009B5E80075F800080001F07309BAF0201E +:10108000800175F80008000145F8277143F82773BF +:1010900083F80011F495E720F6A9F83009C9F27336 +:1010A00009E47712000057F82772F0207FFFF280E2 +:1010B0004912F500F300800061F8000B8000F83061 +:1010C00009DCF1208000F5208912F49548126FF8B0 +:1010D00027730D00F495490B4FF827728A11FE0013 +:1010E0004812F4954A114A164A17EEFCF495710815 +:1010F00000168817F0740830481870000016F27453 +:10110000098FF00000028811F495F4956C810A0AA9 +:10111000F27408DBF4954816481870000016F27453 +:10112000098FF00000028811100270010011800088 +:10113000F27406CEF495481749114817F60088173F +:10114000E760F5A9F8200A2D4816F62088114818FE +:1011500070000011F274098FF00000028811700114 +:10116000001110028000F27406CEF4954817EE04C8 +:1011700048168A178A168A11FC00EEFDE8004EF820 +:101180002770E8004EF82772E8004EF82774E80050 +:101190004EF8277676F82779FFFF76F8277A000051 +:1011A00076F8277BFFFF76F827780000E80075F8CF +:1011B000000800017600000076010200F27412DCE3 +:1011C000F020277CEE03FC004A11EEFCF4954E0063 +:1011D00077127FFFF6B84912F180F3008000891280 +:1011E000F0E0F1F14F02E901F495480BF5405602A9 +:1011F000F18081F827787711800056004911F1803D +:101200008911F495F4956C810A81E80075F800085D +:101210000001F0730A86F020800175F800080001D3 +:101220001082EE048A11FC004A11EEFEF4954E0085 +:1012300077117FFFF6B84911F180F3008000891122 +:10124000F0E0F1F1E801F28080F827785600F12013 +:101250008000F180F495490BF84D0AABF020800135 +:1012600075F800080001F0730AAFE80075F800088F +:101270000001EE0248118A11FC004A118812130283 +:1012800077110000F84D0ACBF3100001891AF4958C +:10129000F0720ACA48111CF8297E881111F8297EBB +:1012A000F200000180F8297E819248118A11FC0029 +:1012B0004A11F495710200118812F6B8F0207FFFF0 +:1012C00057F82770F280F0008000808257F827706E +:1012D000E801F3F1F28080F8277877128000481255 +:1012E00057F82770F2808812F495F4956C820AF40E +:1012F000E80075F800080001F0730AF9F020800199 +:1013000075F80008000145F82775E71043F82771C4 +:1013100083F800126DE800046D8AF6AAF8300B0A13 +:10132000F2730B257711000057F82770F0207FFF2C +:10133000F2804911F500F300800061F8000B800095 +:10134000F8300B1DF1208000F5208911F49548112B +:101350006FF827710D00F495490B4FF8277048116D +:101360008A11FC004A114A164A17EEF08817101726 +:1013700080051016800610158007711400111005E5 +:10138000F030000188101006F0300001800849118B +:101390001005F6018009100661F800080001F82028 +:1013A0000B4B1009F0000001800971080012F4AA2B +:1013B000F8300B541009F00000018009120949119E +:1013C000F47F8009F620800A56F827704E0C100929 +:1013D00080004818F2740ACEF00000048816F495D4 +:1013E000F4956C860B6DF2730C59F495E800F6B821 +:1013F000F495560CF0F98812F495F49570E2277C78 +:101400002986E800800E4811F8450BCC77100001C2 +:10141000F4A9F8300B896CE1FFFD0B8B10E700029B +:10142000800EF0730B8B1087800EE710F5AEF8205E +:101430000BB270000017700100161004F07406CE95 +:1014400048174916F60088174811F6208811100928 +:10145000F62080004818F2740ACEF00000048816C6 +:1014600010047000001770010011F07406CE4811CE +:1014700000048004F0730BBC7000001770010011B1 +:101480001004F07406CE4811000480044911481677 +:10149000F6208816F495F4956C860BCC100A800023 +:1014A0004818F2740ACEF00000048816120AF845B3 +:1014B0000C33710A0010F4AEF8300C1C4816F0E141 +:1014C00088111208F8450BDB6D891207F8450BE906 +:1014D0001007800070020011100680011004F074E3 +:1014E00006DCF0730BEF48116F000C9F1004F074D2 +:1014F0000AB3110EF1C0810E10064911F6008006E4 +:101500001005F6208811F000000148086F000C9FBC +:101510004818F2740ACEF00000041207F8450C11C6 +:101520001007800070020011100680011004F07492 +:1015300006DCF0730C1748116F000C9F1004F07458 +:101540000AB3110EF1C0810EF0730C331207F84587 +:101550000C2A10078000100680011005800210047C +:10156000F07406DCF0730C3012056F000C9F100451 +:10157000F0740AB3110EF1C0810E76000001481814 +:10158000F2740ACEF0000004710400117081298603 +:10159000100E1CF82986800E760000014818F2749F +:1015A0000ACEF0000004100E71040011808110F8C2 +:1015B0002986F0000001F0307FFF80F829861009AD +:1015C000F00000028009EE108A178A168A11FC00CA +:1015D00010F8277508F82771F01000014808FC0082 +:1015E0004A114A16EEFFF49571040016F00000014E +:1015F00048084EF8297C6DEEFFFD4816F8450C9919 +:1016000056F8297CF0740A5A881110F8297DF000E8 +:10161000000148084EF8297C10F82982F0000001EA +:101620008810F495F495F4A9FA300C9680F8298284 +:1016300056F82980F00000014EF8298073112982A4 +:101640006CEEFFFF0C76EE018A168A11FC004A113F +:1016500076F82984000076F829850001E8004EF824 +:101660002A0C76F82986000076F829870000771181 +:1016700029887681AAAA76E10001AAAA76E1000269 +:1016800000008A11FC004A11EEFCF495710600146A +:10169000710700137108001271090015771000FF1F +:1016A000F4AAF8300D44491353F82A0C4FF82A0CC9 +:1016B0007312000EF166000D8911F4957710000188 +:1016C00071E124000011F4A9F8300D177710000221 +:1016D000F4A9F8300CEC7711298A76810000E80033 +:1016E0007714000077130000F0730D486C830CFA38 +:1016F0007711298A4812F0E8F04080008081E800E4 +:1017000077140000F0730D484913F340800081F80E +:10171000298A61F800150001F8200D0769F8298A67 +:10172000400061F800140001F8200D0F69F8298AC3 +:1017300020007711298A4912F3E81B818181F07317 +:101740000D4811F82984F84C0D37771129887681D6 +:10175000AAAA11F82985F3100001F340AA0081E13B +:101760000001760000028001700200147003001373 +:10177000F2740B28F495481171F829852984F073C7 +:101780000D737600000080017602000070030013E4 +:10179000F2740B28F495E800F0730D737711298A21 +:1017A0007081001311F82984F84C0D68771129888D +:1017B0007681AAAA11F82985F3100001F340AA0046 +:1017C00081E10001760000038001700200147003C3 +:1017D0000013F2740B28F495481171F829852984B7 +:1017E000F0730D7376000001800170020014700325 +:1017F0000013F2740B28F49548116BF82984FFFF4D +:10180000EE048A11FC004A11F540F495480BF47877 +:101810008811F495F4956CE1FFB90D88F2730DA56C +:10182000F495E860F200000661F800110020F8303D +:101830000D9861F8000B0001F8200DA3F2000007DD +:10184000F0730DA361F8000B0001F8200DA1F273F5 +:101850000DA3F0000001F00000024808F47F8A1197 +:10186000FC00EEFFF07407FDF0740744F0740DB453 +:10187000F0740205F0740460F0730DAAEEFD10F828 +:101880002AA3F8440DCB10F82AA4F8450DD776000A +:101890000200F27409E8F020220076F82AA4000081 +:1018A00076F82AA70000F0730DD776000200F274D4 +:1018B00009E8F020200076F82AA3000076F82AA78D +:1018C0000001F0740C5EF0E0F0103A98F8470DE17A +:1018D00076F8276E0000EE03FC004A11EEFE771149 +:1018E00020007600AAAA76010200F274066CF49534 +:1018F000481176005555760102004811F274066CC5 +:10190000F000020076F82AA3000076F82AA400006E +:10191000E8004E00FB80153EF495E80480F82AA507 +:1019200076002AA8F980148776002AADFB8013621E +:10193000F495E80210F82AA5F9801463FB80166676 +:10194000F495E81CFB801687F495E81CE8014E002E +:10195000FB8017D6F495E80080F82AA676002AB70F +:10196000F98016AA10F82AA6F980175C10F82AA6A2 +:10197000F980176FEE028A11FC00F4954A084A09B3 +:101980004A0A4A074A1D68F800077D3F69F80007C0 +:10199000400068F8001DFFFC10F82AA7F8440E4B21 +:1019A00076F82AA30001F0730E4E76F82AA40001FF +:1019B0008A1D8A078A0A8A098A08F4EB4A114A169C +:1019C0004A17EEFE880E71080016710600171107FF +:1019D000F066000DF00025A0881176010006810058 +:1019E000F27406CEF00000017601000670000016C9 +:1019F0004811F27406CEF000000770810017EE0265 +:101A00008A178A168A11FC004A11880E7102001288 +:101A10001103F066000DF00024008811F495708128 +:101A200000126EE2FFFE0E8DF495E800E80180E101 +:101A3000000276E1000300FF76E10004000076E199 +:101A4000000B000076E1000C000081E100018A112A +:101A5000FC004A11EEFC880EF495F166000DF300CF +:101A600024008911F495F49576E1000C000076E1EC +:101A7000000B000076E10002000176000000760114 +:101A80000000800276030000F2740CB9F495E800BF +:101A9000EE048A11FC004A118819F4957319000E9E +:101AA000F166000DF2002400771525A077140000E0 +:101AB000771A001FF0720F14F6B849190985F84C0F +:101AC0000F13F100000589114915F3000001891376 +:101AD0004915F3000007891211931D91199289107D +:101AE000F495F4956C800F1311931D911992891040 +:101AF000F495F4956C800F1311931D911992891030 +:101B0000F495F4956C800F1311931D91199289101F +:101B1000F495F4956C800F1311931D91199289100F +:101B2000F495F4956C800F1311931D9119928911FE +:101B3000F495F4956C810F136D946DED000D4814C0 +:101B40008A11FC004A114A164A17EEF88817100D40 +:101B50008004100C8005710E00167317000EF066DD +:101B6000000DF0002400881110F82763F8450F32AB +:101B7000F2740E9FF495481710F82760F8440F3D53 +:101B800060E100020001F8200F6DF07311331004C2 +:101B900080001005F074069F1104F3000001810419 +:101BA0006D8E7710000171E100020012F4AAF83086 +:101BB0000F6277100002F4AAF8300F6D45E1000BB8 +:101BC000881043E1000C83F80012F495F495F4AA10 +:101BD000F8300F6DF0730F96F50081044916F5206B +:101BE000891676E1000C000076E10004000048163A +:101BF000F8451133F7B871E10002001210F8001235 +:101C0000F0100003F8460F8C10F80012F0100003DB +:101C1000F845101677100001F4AAF8300F9C7710E1 +:101C20000002F4AAF8300FA8F0730F9677100004A2 +:101C3000F4AAF83010B777100005F4AAF83010BCF9 +:101C4000F2740E9FF4954817F073113176E1000C91 +:101C5000000076E1000B000076E10004000076E170 +:101C60000002000211E1000CE803F6208912F4954D +:101C700077100003F5AAF8300FB66BF8276F000154 +:101C80008810F495F495F5AEF8200FBD481680063F +:101C90008813F49577100003F6ABF8200FC86BF8A3 +:101CA000276F00011206F845100010E100048000C3 +:101CB0001005800110048002100680034811F274A0 +:101CC000071EF0000005100600E1000480E100049A +:101CD000100600E1000C80E1000C881211061004CF +:101CE000F60080044816F62088168913F4957710BC +:101CF0000003F6ABF8200FF56BF8276F00017710A3 +:101D0000000C71E100040013F6ABF82010006BF832 +:101D1000276F00016CE2FFFD1131F6B86FE100059D +:101D20000C486FE100060C18F0300FFFF0000003C4 +:101D300080E1000B76E1000200034816F8451133FC +:101D400071E1000C001210E1000B4912F62088131B +:101D5000E80CF6208810F495F495F5ABF8201027E0 +:101D6000481380068810F495F495F5AEF8201030ED +:101D7000700600161206F845105F10E1000480009E +:101D80001005800110048002100680034811F274CF +:101D9000071EF0000005100600E1000480E10004C9 +:101DA000100600E1000C80E1000C881211061004FE +:101DB000F60080044816F6208816F4957710000C7B +:101DC00071E100040013F6ABF820105F6BF8276F89 +:101DD00000017710000CF6AAF820106BF2740E9F29 +:101DE000F495481771E1000C00127710000CF4AA6A +:101DF000F830107C7710000C71E1000B0013F6AB8B +:101E0000F83010B4E730F7AAF83010B4F2740EC10D +:101E1000F49548178812F495F4956C82108D76E14C +:101E20000004000076E100020005F07310B476E1D2 +:101E3000000200047710000C71E1000B0012F5AAFB +:101E4000F820109AF073109C7712000C76000000B6 +:101E50007001001270020017760300014811F2743D +:101E60000CB9F000000576E1000400007710000CCA +:101E700071E1000B0012F6AAF820111C4816F84573 +:101E8000113360E100020005F82010DF10E1000BC3 +:101E900008E1000C11E10004F84D10C76BF8276F42 +:101EA00000018810F495F495F5AEF82010CF48168F +:101EB000F4954808F84511166FE1000C0D0081E11A +:101EC000000C1104F50081044916F5208916F07301 +:101ED000110E10E1000B71E1000C00128810F49556 +:101EE000F495F6AAF83011164912F6208810F495E8 +:101EF000F495F5AEF82010F3481680064808F8452A +:101F000011161004700200178000760300001006FE +:101F100080011005F0740CB9100600E1000C80E19E +:101F2000000C11061004F60080044816F6208816EE +:101F300010E1000C08E1000BF845111CF0731131A1 +:101F4000F2740E9FF4954817F073113376E1000C8C +:101F5000000076E1000B000076E1000200011004B1 +:101F600080001005F074069F8812F495771000FF2A +:101F7000F4AAF83011336C860F70EE088A178A16AF +:101F80008A11FC004A11EEFCF495710600128811CA +:101F90007312000EF166000DF30024008914138102 +:101FA000F77AF330000181F8276013E10001F77C34 +:101FB000F330000381F82761E90F19E1000181F88E +:101FC000276271E400030013F6B84913F30000011F +:101FD000F330000F490B09F82762F84D117577109F +:101FE00000FFF4ABF830117557F8276CF3000001CF +:101FF0004FF8276C76F827630001F073117876F8B4 +:102000002763000070E40003276276F8276400006D +:1020100011F8276161F8000B0002F820118DE90129 +:102020006FE100020F1881F8276411F8276161F849 +:10203000000B0001F82011A910F82764F10000043A +:102040008913E9B8F52081F8276560840002F8203B +:1020500011A9700000117001001370022765F2745D +:102060000F18F4954812EE048A11FC004A114A1622 +:102070004A17EEFCE8004EF82766E8004EF827689D +:10208000E8004EF8276CE8004EF8276A77122740E0 +:1020900077112400771A001FF07211DB7092001183 +:1020A00076E10001FFFF7681000076E1000200008A +:1020B00076E1000300FF76E1000C000076E1000B02 +:1020C000000076E1000400006DE9000DF02025A07D +:1020D000F10000078911F100000181028816F495D2 +:1020E00077170020768600FF760000007601000654 +:1020F0001002F074066C7600000076010006F2749F +:10210000066CF49548111002F000000D80026DE994 +:10211000000D6DEE000D6CEFFFFF11E8F0740C9DEB +:10212000EE048A178A168A11FC004A114A164A17C9 +:10213000EEFA8811100A4911F84D129F4808F84527 +:10214000129F80041281F5788912F495F4956CE25F +:10215000FFB9128A61F800080080F830128A13E192 +:102160000001F0E8F778F1A0F2301FFF8817F4952E +:10217000771224007716000077130020F6B848176E +:1021800008E20001F84512426DEA000D6D966CEB15 +:10219000FFFF1234F073129056F8276AF000000126 +:1021A0004EF8276A60820001F83012547000001661 +:1021B000F2741138F4954811F07312907000001603 +:1021C000F2741138F495481172102A9EF495F4AF08 +:1021D000F830126E76000000760100BC7002001626 +:1021E00076030000F2740CB9F4954811F073129064 +:1021F00010F8276EF844129076000000760100BCBB +:102200007002001676030000F2740CB9F4954811C0 +:10221000F0740C5EF0E0F0101388F842129076F83B +:10222000276E0001F073129056F82766F000000147 +:102230004EF827666DE9005E56F82768F000000149 +:102240004EF82768710400126EEAFFFF121870043E +:102250000012EE068A178A168A11FC004A11EEFE59 +:10226000880EF495F066000DF00025A08811F49515 +:10227000F495768100FF7600000076010006F27486 +:10228000066CF0000001760000007601000648119F +:10229000F274066CF0000007EE028A11FC004A118D +:1022A000880EF495F066000DF00024008811F49576 +:1022B000F49576E10001FFFF7681000076E10002EF +:1022C000000076E1000300FF8A11FC004A11F4953A +:1022D00013038811FA4D12EC71020012F310000181 +:1022E000891AF495F07212EB709100128A11FC00B9 +:1022F000F4954A0B4A0C4A0DF7B8EEFE10F80008A8 +:102300001106F1C08300F4851106F7858106F6B841 +:10231000EC0F1E0661008000F8201305F484EE0225 +:102320008A0D8A0C8A0BFC00F4954A0B4A0C4A0D64 +:10233000EEFEF7B8800010F80008F4851106F78566 +:102340008106F6B8EC0F1E06F0F061008000F82060 +:102350001320F484EE028A0D8A0C8A0BFC004A11C9 +:102360007711007B76812EEC7711007BEEFF718177 +:102370000011EE0176E10001000076E100040000AA +:1023800076E10006000076E10062000076E100766A +:10239000000076E10092000076E10094000076E112 +:1023A00000B0000076E100B3000076E100BE00005E +:1023B00076E100BF000076E100C1000076E100C3D5 +:1023C000000076E100C5000076E100C700007681DC +:1023D00000008A11F495F4E44A114A164A17EEFFF8 +:1023E000F49571060016FB8016A28817F495F7B8CD +:1023F00010F80017F0100002FA4613887711000059 +:1024000010F80017F0100002F84513F910F8001743 +:10241000F845143910F80017F0100001F845141FA2 +:10242000F073145210F80017F0100003F84513D39E +:1024300010F80017F0100006F84414527712007BD1 +:102440007182001461E400070040F830145249140E +:102450004817F6008812F495771300557711005746 +:102460006DEA003BE50110E600068081481400F8A3 +:1024700000178812F4957711005510E20040808112 +:102480007711005710E6000780817711005510E2A0 +:102490000045808110E60008771100578081771190 +:1024A000005510E2004A80817711005710E60009BC +:1024B0008081F2731452771103C07712007B10826F +:1024C000F00000078813F495F495961BF830145229 +:1024D00010E300357712005580827712005710E61E +:1024E000000480827712005510E300378082771253 +:1024F000005710E6000580824811F0400010F2738A +:102500001450F04000207712007B1082F00000078A +:102510008812F495F495960DF830145210E20034B8 +:102520007713005580837713005710E600028083ED +:1025300010E200367712005580827712005710E6BD +:10254000000380824811F0400004F2731450F04000 +:1025500000087712007B1082F00000078812F495C3 +:10256000F495960EF830145210E2003377120055AD +:1025700080827712005710E6000180824811F273C2 +:102580001450F04000027712007B1082F000000728 +:102590008812F495F495960FF830145210E2003238 +:1025A000771200557713005780824811E762F04098 +:1025B0000001E5018811F4957712007B48117182C2 +:1025C00000121AE2000780E20007F980169AEE0175 +:1025D0008A1748118A168A11F4E44A118811770E75 +:1025E000000577120055E804F6B828E10002EEFF76 +:1025F000808277120057F0208000EE011A82771255 +:1026000000578082E80132E10002F5827711005420 +:10261000F693188177110054F2A080818A11F49505 +:10262000F4E44A114A16F49571040011FB8016A2D5 +:102630008816F4957712005510E600038082771211 +:10264000005610E100027713005680827712005680 +:1026500010E10003808210E10004771200568082AE +:102660007712005610E100018082E712E501F9803F +:10267000169A8A168A11F4E44A114A164A17EEF994 +:102680007711007B76000016760100177602001A9B +:102690007603001B7604001C7605001D718100176F +:1026A00071E7000600111081F84414DFF980165319 +:1026B000F6B8FB801585F020FFFFF6B8FB80160802 +:1026C000F020FFFF7711007B7181001776E700068D +:1026D00000014817771600007710000477150003F3 +:1026E0007714000277130001F000003976E7000844 +:1026F000001F76E700070000880E771A00054817CC +:10270000F0000009881248188819E800F072152CAA +:10271000731900117682000011917311001970E293 +:102720000003001670E20004001370E200050014BC +:1027300081E2000170E20006001570E2000700105F +:1027400080E20002730E0011F100001E6DEE000524 +:102750006DEB00056DEC00056DED00056DE8000505 +:10276000F000000181916DEA00087311000EEE0780 +:1027700076E70041002476E70046002576E7004B27 +:10278000002676E7005000278A178A168A11F4E49B +:102790004A114A16EEFE881156064E00F98016A21E +:1027A000F7B810F80011F010FFFFFA451560771622 +:1027B000FFFF7712007B49111082F603F000000939 +:1027C0008811F495F4951081F8441571F273157120 +:1027D000F495E7167711007B1081F000000988114D +:1027E000F495771200061081F845155C6EEAFFFF3C +:1027F00015696DE9000876860001E9015600F1804F +:1028000010F8000BF845157EFB801585F4954816E9 +:10281000F980169AEE0248168A168A11F4E44A11D3 +:10282000EEFFFB8016A28811F4957710FFFFF4A944 +:10283000F83015C410E1000377120055808277123A +:1028400000567682000077120056768200007712DA +:1028500000567682000077120056768200007712CA +:1028600000567682000010E10002F000000832F805 +:10287000000877120054E801F482F493188277126A +:102880000054F0400000808210E10001F9801676CB +:1028900010E10001F9801666F07316037711007BD2 +:1028A0007181001171E1000700127682000010E1D1 +:1028B0000009F98015857711007B7181001110E105 +:1028C0000009FB801585F00000087711007B7181FD +:1028D000001110E10009FB801585F0000010771150 +:1028E000007B7181001110E10009FB801585F0006B +:1028F00000187711007B7181001110E10009FB8045 +:102900001585F00000207711007B7181001110E126 +:102910000009FB801585F0000028F980169AEE0169 +:102920008A11F4E44A11EEFFFB8016A28811F49597 +:102930007710FFFFF4A9F830164177110055768122 +:10294000001E7711005676810000771100567681BF +:1029500000007711005676810000771100567681CD +:1029600000007711005676810000771100567681BD +:1029700000007711005676810000771100567681AD +:102980000000771100567681000077110056F2732F +:10299000164E768100007711007B7181001171E184 +:1029A000000700127682000010E10039F980160855 +:1029B000F980169AEE018A11F4E44A117711007B2E +:1029C0001081F00000048811F495F4951081FA4408 +:1029D0001663F495EEFF76810001EE018A11F4E4AE +:1029E000F01000104A1132F80008EEFF77110001D4 +:1029F000E801EE01F4821A8180818A11F495F4E4F1 +:102A0000F01000104A1132F80008EEFFE8017711CB +:102A10000000F482EE01F493188180818A11F4950C +:102A2000F4E44A11F01000107711000032F80008A9 +:102A3000EEFF1181E801EE0177110000F482F2A0AF +:102A400080818A11F495F4E4F273169EF6BBF49536 +:102A5000F495F495F495F4E4F27316A6F7BBF495A7 +:102A6000F495F495F495F4E44A114A16F49571043A +:102A70000016FB8016A28811F49571E10005001282 +:102A80007682000E10E6000E71E1000600128082D0 +:102A900071E1000500127682000D71E1000600125E +:102AA00010E6000D808271E1000500127682000CB4 +:102AB00010E6000C71E100060012808271E1000551 +:102AC00000127682000B10E6000B71E10006001286 +:102AD000808271E1000500127682000A71E1000631 +:102AE000001210E6000A808271E100050012768271 +:102AF000000910E6000971E100060012808271E110 +:102B0000000500127682000871E10006001210E64E +:102B10000008808271E1000500127682000710E64D +:102B2000000771E100060012808271E100050012C9 +:102B30007682000671E10006001210E6000680822F +:102B400071E1000500127682000571E100060012B5 +:102B500010E60005808271E1000500127682000413 +:102B600071E10006001210E60004808271E10005A8 +:102B700000127682000371E10006001210E60003E5 +:102B8000808271E1000500127682000210E60002E8 +:102B900071E100060012808271E100050012768268 +:102BA000000110E6000171E100060012808271E16F +:102BB000000500127682000071E100060013E76252 +:102BC000E501F980169A8A168A11F4E44A118811EF +:102BD000F495F49571E100050012EEFF7682000095 +:102BE000EE0171E100060011698100018A11F4957E +:102BF000F4E44A118811F495F49571E1000500128E +:102C0000EEFF76820001EE0171E10006001169819C +:102C100000018A11F495F4E44A117711007B1081C8 +:102C2000F00000948811F495F4951081FA44179CF3 +:102C3000F495EEFFF98016537711007B1081F000B8 +:102C400000948811F495F49576810001EE0176E107 +:102C50000001000076E10002002176E1000300207F +:102C600076E10004002376E10005002276E100060B +:102C7000003876E10007003976E10008001576E1BA +:102C80000009001476E1000A000076E1000B004123 +:102C900076E1000C004076E1000D004376E1000E85 +:102CA000004276E1000F004876E10010004976E12D +:102CB0000011001B76E10012001A8A11F495F4E469 +:102CC0004A11EEFD881156064E00F98016A27712C1 +:102CD000007B770E0009108228F80011F0000095A3 +:102CE0008811F495F4951081F84517F0F27317FDEB +:102CF0007711FFFF76810001E9015600F18010F89D +:102D0000000BF84517FDFB801810F4954811F98069 +:102D1000169AEE0348118A11F495F4E44A118811C9 +:102D2000F495EEFF71E100010011EE0110818A11AE +:102D3000F495F4E44A11EEFFFB8016A28811F49595 +:102D40007710FFFFF4A9F83018C371E100050012F5 +:102D50007682000071E1000600127682000071E1C7 +:102D6000000500127682000171E1000600127682F1 +:102D7000000071E1000500127682000271E1000698 +:102D800000127682000071E10005001276820003D5 +:102D900071E1000600127682000071E10005001268 +:102DA0007682000471E1000600127682000071E173 +:102DB000000500127682000571E10006001276829D +:102DC000000071E1000500127682000671E1000644 +:102DD00000127682000171E1000500127682000780 +:102DE00071E1000600127682200071E100050012F8 +:102DF0007682000871E1000600127682000071E11F +:102E0000000500127682000971E100060012768248 +:102E1000000071E1000500127682000A71E10006EF +:102E200000127682000071E1000500127682000B2C +:102E300071E1000600127682000071E100050012C7 +:102E40007682000C71E1000600127682000071E1CA +:102E5000000500127682000D71E1000600127682F4 +:102E6000000071E1000500127682000E71E100069B +:102E700000127682000010E10007F980167610E15A +:102E80000008F980167610E10007F980166610E157 +:102E90000008F9801666F07318D17711007B108155 +:102EA000FB801810F00000957711007B1081FB80EB +:102EB0001810F000009EF980169AEE018A11F4E4D1 +:102EC0004A118811EEFFF495100471E1000300111E +:102ED000EE0180818A11F495F4E44A114A16F495C2 +:102EE00071040016FB8016A28811F49571E10002AE +:102EF00000127682001010E6000171E1000300125A +:102F0000808271E10004001210E600028082E76214 +:102F100071E100020013E501F980169A8A168A1100 +:102F2000F4E44A118811EEFFEE0110E100018A116C +:102F3000F495F4E44A117711007B1081F00000B39E +:102F40008811F495F4951081FA44192AF495EEFF4E +:102F5000F98016537711007B1081F00000B38811BF +:102F6000F495F49576810001EE0176E10001000010 +:102F700076E10002001376E10003002676E100040A +:102F8000002576E10005002476E10006000076E1E8 +:102F90000007001776E10008003276E100090031F1 +:102FA00076E1000A00308A11F495F4E44A114A16D9 +:102FB0004A17EEFFF49571060017FB8016A28811E0 +:102FC000F495F7B810F80011F010FFFFFA451973E7 +:102FD0007716FFFF7712007B770E0005108228F826 +:102FE0000011F00000B48811F495F4951081F844B4 +:102FF0001984F2731984F495E7167711007B108118 +:10300000F00000B48811F495771200021081F845A1 +:10301000196F6EEAFFFF197C6DE9000561F8001772 +:103020000001FA20198F76860001FB801997F4952C +:103030004816F980169AEE018A1748168A168A11E0 +:10304000F4E44A11EEFFFB8016A28811F495771084 +:10305000FFFFF4A9F83019CC71E100020012698277 +:10306000001071E1000200126882F7FF71E10002B6 +:1030700000126882FBFF71E1000200126882FFF01B +:1030800071E1000300127682FFFF71E1000400127B +:103090007682FFFF71E1000200126982002071E177 +:1030A00000020011F27319DA6881FFEF7711007BDB +:1030B0001081FB801997F00000B47711007B10811C +:1030C000FB801997F00000B9F980169AEE018A1179 +:1030D000F4E400A4000019DF00012AE6000000016A +:1030E0002AE7000000032A120C01C34F0000000170 +:1030F0002A15000000022A160000000000192A5DAF +:103100000043006F0070007900720069006700687A +:10311000007400200054006500630068006E006FBA +:10312000005400720065006E0064002000410047FA +:10313000000000042A760030002E00300000000C51 +:103140002A7A004600650062002000320037002025 +:103150000032003000300031000000092A860031C2 +:103160000034003A00330035003A003300330000E9 +:10317000000F2A8F00000000000000010000000185 +:10318000000000000000000000000000000000003F +:10319000000000012A9E000000012A9F000000019B +:1031A0002AA0000000012AA1000000012AA20000BC +:1031B0000001297E000000022980000000000001BB +:1031C0002982FFFF00012AA7000000052AA87141FB +:1031D0002000200000230400000A2AAD00000000A7 +:1031E00000000000000000000000000000000000DF +:1031F000000F2AB7000000000000004000A082403D +:103200000008307F00800180000000000000000006 +:1032100000000001276E00000001276F0000000081 +:10322000000900001A8304E804CF04C504BA04B0FE +:1032300004AC049C048C0481007800000100F2734B +:1032400007EFF495F495F27307EFF495F495F273A4 +:1032500007EFF495F495F27307EFF495F495F27394 +:1032600007EFF495F495F27307EFF495F495F27384 +:1032700007EFF495F495F27307EFF495F495F27374 +:1032800007EFF495F495F27307EFF495F495F27364 +:1032900007EFF495F495F27307EFF495F495F27354 +:1032A00007EFF495F495F27307EFF495F495F27344 +:1032B00007EFF495F495F27307EFF495F495F27334 +:1032C00007AAF495F495F27307EFF495F495F27369 +:1032D00007EFF495F495F2730223F495F495F273E5 +:1032E00007EFF495F495F27307EFF495F495F27304 +:1032F00007EFF495F495F27307EFF495F495F273F4 +:1033000007EFF495F495F27307EFF495F495F273E3 +:1033100005E5F495F495F27302B5F495F495F2731E +:103320000E33F495F495F27307EFF495F4950000DD +:00000001FF diff --git a/firmware/vicam/firmware.H16 b/firmware/vicam/firmware.H16 new file mode 100644 index 0000000..cac0cba --- /dev/null +++ b/firmware/vicam/firmware.H16 @@ -0,0 +1,7 @@ +:0026000000B6C31F000264E767FDFF0EC0E709DE008E00C0094003C01744034BAFC00700004BAF97CF00001D +:000A000000B6C30300036418000000FB +:0008000000B6C301000664000014 +:0696000000B6C38F060264E707000008C0E70700003EC0E7075401AA00E707C805B600E7074201D200E7077C001600E70756001800E707060092C0E70700001EC0E707FFFF22C0E707040024C0E707EC2728C0E70716018E00E78701000EC097CFD70900C0E777010092C009C1E709FE052401E70904062601E707070092C0E70500C0C0DF97CF170057001702D70900C0E777010092C00AC1E757FFFFFA050DC0E7570000FA050FC09FAFC600E70500C0C805C105C005C0DF97CF27DAFA05EF0701000B0673CF9FAF78019FAF1A036ECFE709FC052401E70902062601E707070092C0E709FC05FE05E70902060406E7090006FC05E709FE05000627DAFA05E7570100FA0502CA04C097CF9FAF660597CFE70740000206C809FC059FAFDA0297CFCF170200EF57810009069FA0B601EF57800009069FA04002EF5701000B069FA04603E70701000AC046AF47AF9FAF4002E7072E000AC0EF878000090697CF000E0100C05751009FC09E02C057500020C0C057550012C0C05756009FC072029FCFD602C10B080601D06F900806C0070800C10B08069FAF280597CF2F0E02000806C0070800C10B08069FAF28059FCFD6022F0E02000906EF87800009069FCFD602EF677FFF0906E767FFFD22C0E767EFFF24C0E787100028C09FAFB805E787E02124C09FAFA805E787080024C0E767DFFF24C0C8070A00C0070000C10701009FAF28059FAFB805C0079E009FAF4405E767FFFE24C0C00920C0E787000124C0C07700020FC1E767F7FF24C0E767F7FF24C0E787080024C008DA5EC1EF078000090697CFEF0701000A0697CFEF0700000B06EF0700000A06EF677FFF0906EF0700000D06E767EFFF28C0E76717D824C0E70700001EC0E707FFFF22C097CFC8070E069FAFDA02E7070000F205E7071000F605E7070E06F405E707D602F805C807F205C107008050AF97CF2F0C020007062F0C04000606E7070000F205E7071000F605E707E205F405E707CE02F805C807F205C107008051AF97CF9FAF66049FAF1A0359AF97CFC0070E00C10B0C0641D19FAF2805C0073C009FAF44056800C0073B009FAF44056F000C066800E0070401E80B0A06E8070000E0070002E007EC01E007FCFF97CFE707FFFFFA05EF0700000B06E7070E062401E7070E06FE05E70740002601E70740000406E707070092C097CFEF0702000B069FAF7801EF77800007069FC01404EF770100070637C0EF7701000D060FC1EF0701000D06C0070200C10730009FAF2805C0070100C10702009FAF2805C807FF4F9FAFA805C00738009FAF4405C177030002C108DA75C1C17701000AC1C0070100C10702009FAF2805EF07010006062CCFC0070100C10704009FAF2805EF070000060622CFEF0700000D06EF57010006061BC0C0070100C10701009FAF2805C0070200C10730009FAF2805C807FF4F9FAFA805C00738009FAF4405C1670300C157030002C008DA73C1C0070200C1071200EF570000060602C0C10723009FAF2805C0071400C10BEA059FAF2805C0073E009FAF0A05E709E405FA0527D8FA05E7070E06FC05E7074E060006E707400002069FAF66059FAFC60097CFC10BE20541D001D2C11723009FAFDC04C0070400C10BE3059FAF2805C0070600C109E6059FAF2805C0070700C109E605C1D19FAF2805C0070B00C109E8059FAF2805C0070C00C109E805C1D19FAF2805C0070D00C10709009FAF2805C0070300C10732009FAF2805C0070F00C10700009FAF280597CFE767FFD924C0C8070A004000C0670002278024C0E787000424C0E767FFF924C001D208DA72C1E787002024C097CF27001EC0E787FF0022C0E7677FFF24C0E787800024C0E787800024C097CF9FAF0A0567001EC0E767BFFF24C0E787400024C0E787400024C097CF9FAF0A05E76700FF22C0E767FFFE24C0E767FFFE24C0C10920C0E787000124C097CFC0074000C809FC05E76700FF22C0E767FFFE24C0E767BFFF24C0E767BFFF24C000DAE80920C0E787400024C0E787400024C000DAE80920C06DC1E787000124C097CFE707320012C0E777008012C07CC097CFE707204E12C0E777008012C07CC097CF0902190001010080960904000001000000000705810240000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A1 +:0136000000B6C32F0103640E0014001A00200026004A0064006A0092009A00A000B200B800BE00C200C800CE00DC00DA00E200E000E800E600EE00EC00F200F80002010A010E0112011E01220128012C0132013601440150015E01720176017A01800188018C0194019C01A001A401AA01B001B401BA01D001DA01F601FA01020234023C0244024A0250025602740278027E0284028A02880290028E029402A202A802AE02B402BA02B802C002BE02C402D002D402E002E602EE02F802FC0206031E032403280330032E033C034A034E03540358035E0366036E037A0386038E039603B203B803C603CC03D403DA03E803F403FC03040420042A04320436043E044404420448044E044C04540452045A045E046204680474047C04800488048C0494049A04A204A604AE04B404C004CC04D8042A0546056C0500005E +:0008000000B6C301000664000014 +:0000000001FF diff --git a/firmware/whiteheat.HEX b/firmware/whiteheat.HEX new file mode 100644 index 0000000..8dae602 --- /dev/null +++ b/firmware/whiteheat.HEX @@ -0,0 +1,1097 @@ +:030000000297E381 +:03000300021312D3 +:03000B00020BB530 +:0300330002081CA4 +:03004300020A00AE +:03005B0002833BE2 +:10037000907FE9E070030204731470030204E72421 +:10038000FE700302054F24FB700302046414700323 +:1003900002045214700302043A1470030204492444 +:1003A00005600302059E907FEBE024FE601614605A +:1003B000362402707B7412907FD4F07400907FD545 +:1003C000F00205A5907FEAE0FF120A99EA49600D64 +:1003D000EA907FD4F0E9907FD5F00205A5907FB434 +:1003E000E04401F00205A5907FEAE0FF120A58EA16 +:1003F00049603312A23BF54E907FEEE0FFE54ED30D +:100400009F4003E0F54EE54ED394404003754E40C7 +:10041000AE02AF017C7F7D00AB4E129137907FB56D +:10042000E54EF00205A5907FB4E04401F00205A579 +:10043000907FB4E04401F00205A5907F00E521F033 +:10044000907FB57401F00205A5907FEAE0F52102E6 +:1004500005A5907FEAE0F535D202438810D2EBD2B1 +:10046000A80205A5907F00E535F0907FB57401F0F6 +:100470000205A5907FE8E0247F6024146031240207 +:10048000705BA200E433FF25E0FFA205E4334F9048 +:100490007F00F0E4A3F0907FB57402F00205A5E4BC +:1004A000907F00F0A3F0907FB57402F00205A59054 +:1004B0007FECE0F45480FFC4540FFFE054072F2575 +:1004C000E024B4F582E4347FF583E05401907F00AA +:1004D000F0E4A3F0907FB57402F00205A5907FB41C +:1004E000E04401F00205A5907FE8E024FE601D24B1 +:1004F0000260030205A5907FEAE0B40105C2000294 +:1005000005A5907FB4E04401F00205A5907FEAE0E4 +:100510007034907FECE0FF5407FEF54EEF30E703B8 +:10052000434E10907FD7E54EF0E54E4420F0EFF4B7 +:100530005480FDC4540F2E25E024B4F582E4347FAA +:10054000F583E4F0805F907FB4E04401F080569042 +:100550007FE8E024FE60182402704A907FEAE0B44D +:100560000104D200803F907FB4E04401F0803690D7 +:100570007FEAE07020907FECE0F45480FFC4540FD9 +:10058000FFE054072F25E024B4F582E4347FF5839F +:100590007401F08010907FB4E04401F08007907FF8 +:0C05A000B4E04401F0907FB4E04402F0AD +:0105AC00222C +:1005AD00754AFF7549FF75480F754700D203C2069E +:1005BD00C202C200C205C2019003007419F0E4909A +:1005CD0001BCF0C2049001C0F0A3F0C2AFC2A812EA +:1005DD000C22E49002AFF09001BDF0900100F0A369 +:1005ED00F0A3F0A3F0A3F0A37410F0A37401F0A393 +:1005FD007408F07E017F001219C1754C12754D0AF9 +:10060D0090010BE0FF054DE54DAC4C7002054C140F +:10061D00F5828C83EFF090010CE04480FF054DE5F1 +:10062D004DAC4C7002054C14F5828C83EFF09001AB +:10063D000DE0FF054DE54DAC4C7002054C14F582F7 +:10064D008C83EFF090010EE0FF054DE54DAC4C7045 +:10065D0002054C14F5828C83EFF090120AE493FF9F +:10066D0074019390011CCFF0A3EFF090011CE0FFFB +:10067D00A3E0FEEF6EFF90011CF0A3E06FFFF09082 +:10068D00011CE06FF0E0FEA3E0FFE4FCFD755210ED +:10069D007553027554127555AC129426754C12751E +:1006AD004DB290010DE0FF054DE54DAC4C700205CE +:1006BD004C14F5828C83EFF090010EE0FF054DE5B3 +:1006CD004DAC4C7002054C14F5828C83EFF0907F8D +:1006DD0092E0FFC4540F2441FF054DE54DAC4C7025 +:1006ED0002054C14F5828C83EFF0054DE54DAE4CB3 +:1006FD007002054C14F5828E83E4F07582107583BB +:10070D0001E0FCA3E0FDA3E0FEA3E0FF90011812C1 +:10071D00A3EE7E017F181286BE900118E0FCA3E0C7 +:10072D00FDA3E0FEA3E0FF75520A75530675541242 +:10073D007555B8129426D2E843D820907FAB74FF3C +:10074D00F05391EF907FAFE04401F0907FAEE04425 +:10075D001FF0D2AF20012E20012BA2039207120908 +:10076D00C575465075456D7544337543002001E4DC +:10077D007FFF7EFF7DFF7CFF784312A3D7EC4D4EAC +:10078D004F60D180E8300105120370C20130060AB6 +:10079D001209FB5003120AE8C20612965E9001BDC3 +:1007AD00E0600C129201E49001BDF0907FD3F090C7 +:1007BD0002AFE0B40F031299B912A095E4FF7401D2 +:1007CD00A807088002C333D8FCFE9001BCE05E6030 +:1007DD001474282FF8E6D3940A40047E0180027E1B +:1007ED00008E4B8003754B0174682FF582E4342025 +:1007FD00F583E54BF00FBF04C5E52CD3940A4004F7 +:0E080D007F0180027F0090206CEFF0020792C6 +:01081B0022BA +:04081C0053D8EF328C +:10082000E533C39401400E907F93E04430F0907F15 +:1008300095E044C0F07FF47E011209AE907F96E00F +:1008400054FEF07F0A7E001209AE907F96E04408C5 +:10085000F07F057E001209AE907F96E054FBF07F9A +:10086000057E001209AEE533C39401500E7F027D70 +:10087000FF1282EA7F057E001209AE907F96E04467 +:1008800002F0E0547FF07F057E001209AE907F9663 +:10089000E04440F07F057E001209AE907F96E05460 +:1008A000BFF07F327E001209AE907F96E04440F0A8 +:0808B0007F327E001209AE2226 +:1008B800907F96E054FDF0E04480F07F0A7E0012BD +:1008C80009AEE533C39401500E7F02E4FD1282EABB +:1008D8007F057E001209AE907F96E054BFF07F0539 +:1008E8007E001209AE907F96E04404F07F057E00FA +:1008F8001209AE907F96E054F7F07F057E0012094A +:10090800AE907F96E04401F07F057E001209AEE5C7 +:1009180033C39401400E907F93E054CFF0907F95BD +:08092800E0543FF0120B002225 +:10093000900AF4E4937076907F937430F0907F94F3 +:10094000743CF0907F9574C6F07F0A7E001209AE69 +:10095000E4907F9CF0907F967408F0907F9C74CF19 +:10096000F07F0A7E001209AE902070E0FFC4540FA1 +:10097000F533C394015007907F96E04480F0E490F3 +:100980007F97F0907F9D7402F0E533C39401400B94 +:10099000E4907F98F0907F9E74C0F0907FE2741294 +:0E09A000F01208207582F475830A74FFF022AD +:1009AE008E5D8F5EE55E155EAE5D7002155D4E600E +:0709BE00051209EA80EE2298 +:1009C500907FD6E054FBF0E04408F0300704E044A3 +:1009D50002F07FD07E071209AE907FD6E054F7F083 +:0509E500E04404F022D3 +:1009EA007400F58690FDA57C05A3E582458370F920 +:0109FA0022DA +:0509FB001208B8D32230 +:100A0000020C4E00020C8100020C6600020CC000B9 +:100A1000020CAA00020AED00020AEE00020AEF0030 +:100A2000020CDB00020DCB00020D1700020E2B00A2 +:100A3000020D5300020E8B00020D8F00020EEB0020 +:100A4000020AF000020AF200020AF100020AF300B0 +:080A5000020F4B00020F6100D0 +:020A58008F4FBE +:100A5A00E4F5507551FF75521275536AAB51AA529B +:100A6A00A95390000112A254B4031DAF500550EFD0 +:100A7A00B54F012212A23B7E0029FFEE3AA9077563 +:0E0A8A0051FFF552895380D47B007A00790029 +:010A9800223B +:100A9900E4FE7551FF755212755312AB51AA52A952 +:100AA9005390000112A2546402702DAD060EEDB5EB +:100AB90007012290000212A2AD85F04FF550624F56 +:100AC900E54F6250E550624F29FDE54F3AA905759A +:0E0AD90051FFF552895380C37B007A007900EB +:010AE70022EC +:050AE800120820D322DA +:010AED0032D6 +:010AEE0032D5 +:010AEF0032D4 +:010AF00032D3 +:010AF10032D2 +:010AF20032D1 +:010AF30032D0 +:030AF400000407F4 +:090B0000907FD6E04480F080747F +:100B7D00438701000000000000000000000000227B +:100B8D00538EF7E58954F14401F589758CB1D2A9DD +:100B9D0075984075CBFF75CAF375C834E4FF7F05B2 +:070BAD007828E4F608DFFCE4 +:010BB400221E +:100BB500C0E0C083C082C0D075D000C000C006C0F0 +:010BC5000728 +:100BC600300416758CF8758A307F2FAE071FEE60DD +:100BD6003C9020007455F080F2758CB17F28EFD3DD +:100BE600942C5009A807E66001160F80F1900300C7 +:100BF600E0600214F09001C0E07002A3E0600E9085 +:0D0C060001C1E024FFF09001C0E034FFF0D8 +:0F0C1300D007D006D000D0D0D082D083D0E0322E +:100C2200D200758E10120930E533C394014008904A +:100C32007F927402F08005E4907F92F0128000129D +:0C0C42000F7D1294F7121B0C120B8D2278 +:100C4E00C0E0C083C082D2015391EF907FAB74019C +:080C5E00F0D082D083D0E03217 +:100C6600C0E0C083C082907FC4E4F05391EF907FD0 +:0B0C7600AB7404F0D082D083D0E032D9 +:100C8100C0E0C083C0825391EF907FAB7402F090BB +:100C91007FD8E0700D907FD9E07007E52C70037567 +:090CA1002C14D082D083D0E03283 +:100CAA00C0E0C083C0825391EF907FAB7410F0D044 +:060CBA0082D083D0E0327D +:100CC000C0E0C083C082300202D2065391EF907F11 +:0B0CD000AB7408F0D082D083D0E0327B +:100CDB00C0E0C083C082C0D075D0105391EF907F1D +:100CEB00A97402F0E53430E013E53230E0079020D0 +:100CFB0004E04401F0902001E04401F0E52C700386 +:0C0D0B00752C14D0D0D082D083D0E03200 +:100D1700C0E0C083C082C0D075D0105391EF907FE0 +:100D2700A97404F0E53430E113E53230E10790208F +:100D37000CE04401F0902009E04401F0E52C700339 +:0C0D4700752C14D0D0D082D083D0E032C4 +:100D5300C0E0C083C082C0D075D0105391EF907FA4 +:100D6300A97408F0E53430E213E53230E20790204D +:100D730014E04401F0902011E04401F0E52C7003ED +:0C0D8300752C14D0D0D082D083D0E03288 +:100D8F00C0E0C083C082C0D075D0105391EF907F68 +:100D9F00A97410F0E53430E313E53230E307902007 +:100DAF001CE04401F0902019E04401F0E52C7003A1 +:0C0DBF00752C14D0D0D082D083D0E0324C +:100DCB00C0E0C083C082C085C084C086758600C069 +:100DDB00D075D0105391EF907FAA7402F0E53420B8 +:100DEB00E006907FC7F08022E53130E00A907FC7A4 +:100DFB00E09002F8F08013E52230E007902004E049 +:100E0B004402F0902001E04402F0E52C7003752CB5 +:100E1B0014D0D0D086D084D085D082D083D0E0328D +:100E2B00C0E0C083C082C085C084C086758600C008 +:100E3B00D075D0105391EF907FAA7404F0E5342055 +:100E4B00E106907FC9F08022E53130E10A907FC93D +:100E5B00E09002F9F08013E52230E10790200CE0DE +:100E6B004402F0902009E04402F0E52C7003752C4D +:100E7B0014D0D0D086D084D085D082D083D0E0322D +:100E8B00C0E0C083C082C085C084C086758600C0A8 +:100E9B00D075D0105391EF907FAA7408F0E53420F1 +:100EAB00E206907FCBF08022E53130E20A907FCBD7 +:100EBB00E09002FAF08013E52230E207902014E074 +:100ECB004402F0902011E04402F0E52C7003752CE5 +:100EDB0014D0D0D086D084D085D082D083D0E032CD +:100EEB00C0E0C083C082C085C084C086758600C048 +:100EFB00D075D0105391EF907FAA7410F0E5342089 +:100F0B00E306907FCDF08022E53130E30A907FCD70 +:100F1B00E09002FBF08013E52230E30790201CE009 +:100F2B004402F0902019E04402F0E52C7003752C7C +:100F3B0014D0D0D086D084D085D082D083D0E0326C +:100F4B00C0E0C083C0825391EF907FA97480F0D032 +:060F5B0082D083D0E032D9 +:100F6100C0E0C083C0825391EF907FAA7480F0905B +:0C0F710001BD74FFF0D082D083D0E032CC +:100F7D0090012012A3FA000025809001247408F03E +:100F8D00A37401F0A3746EF0A3F0A37413F0A37413 +:100F9D0011F0E4A3F0A3F090011EF090011EE0FF0C +:100FAD0004A3F0EF75F00DA42401F9740335F0A836 +:100FBD0001FC7D017B017A01791F7E007F0D12A25C +:100FCD00127E017F1F1287A690011EE004F0E0C380 +:100FDD00940440C7E4F52790011EF090011EE0FF38 +:100FED00C39404501A74F82FF582E43402F583E4A7 +:100FFD00F074232FF8E4F690011EE004F080DCE499 +:10100D00F534E5C0602F90011E7401F090011EE0D3 +:10101D00FFD39404501FEF14FF7401A8070880023A +:10102D00C333D8FC42347E017F1E12844190011ED1 +:10103D00E004F080D7E4F53EF522F531F53290016C +:10104D001EF090011EE0FF75F008A42406F582E461 +:10105D003420F583E054F0FE74C52FF582E434019D +:10106D00F583EEF0743A2FF8A60674362FF8E4F6F1 +:10107D00742D2FF8E4F674FC2FF582E43402F58319 +:10108D00E4F090011EE004F0E0B404B6902060E0BE +:04109D00540FF54EA9 +:1010A1007003021126E490011EF090011EE0FFC3BF +:1010B100940450E47401A807088002C333D8FC5596 +:1010C1004E605A90011EE0FE75F008A42402F582DC +:1010D100E43420F583E0FFEE75F008A42405F582E1 +:1010E100E43420F583E0EE75F008A42406F582E4EB +:1010F1003420F583E0FFAF06EE75F00DA42402F570 +:1011010082E43403F583E0FCA3E0FDA3E0FEA3E069 +:10111100F5668E658D648C637D061283DF90011EFA +:06112100E004F0808522CD +:02112700AC0713 +:10112900907FA5E04480F0EC25E04441907FA6F053 +:101139007B3CAF031BEF7016907FA5E04440F09015 +:101149007FA6E0FD7D32AF051DEF60D480F8907F6A +:10115900A5E0FD30E0DC20E109E04440F07EFF7FBE +:10116900F922ED30E20C907FA5E04440F07EFF7F4C +:10117900FA22907FA5E04420F0907FA6E0FD7B1E37 +:10118900AF031BEF7016907FA5E04440F0907FA657 +:10119900E0FD7D32AF051DEF608680F8907FA5E008 +:1011A900FD20E0DC7B3CAF031BEF7019907FA5E0CD +:1011B9004440F0907FA6E0FD7D32AF051DEF70033E +:1011C90002112980F5907FA5E0FD30E0D930E209D0 +:1011D900E04440F07EFF7FFA22C2AF907FA5E04451 +:0C11E90040F0907FA6E0FDD2AFFF7E003A +:0111F50022D7 +:1012000012010001FFFFFF401007018042000102B0 +:10121000030109025800010104803C090400000A8E +:10122000FFFFFF050705810240000007050102409E +:10123000000007058202400000070502024000008E +:101240000705830240000007050302400000070570 +:1012500084024000000705040240000007058702E1 +:1012600040000007050702400000040309042403AE +:1012700043006F006E006E00650063007400200084 +:101280005400650063006800200049006E006300A0 +:101290002E001803570068006900740065004800BC +:1012A0004500410054002D0034001A035800580036 +:1012B0002D00580058002D005800580058005800C4 +:1012C000580058002A0343006F006E006600690052 +:1012D0006700750072006100740069006F006E00A5 +:1012E000200053007400720069006E006700220342 +:1012F00049006E00740065007200660061006300C2 +:101300006500200053007400720069006E006700E1 +:021310000000DB +:10131200C0E0C0F0C083C082C085C084C086C0D097 +:1013220075860075D018902060E0540FF5F07011AA +:10133200D0D0D086D084D085D082D083D0F0D0E0F7 +:101342003275860010F00B10F11210F21910F32012 +:1013520080D4E528700375281402137CE5297003F4 +:1013620075291402150DE52A7003752A1402169EBA +:10137200E52B7003752B1402182F902002E0543FC6 +:1013820020E23A20E10B20E40B20E514600902136D +:1013920043021465021343438204E0F53A02134305 +:1013A200438204E0432D010213435382F843820532 +:1013B200E042365382FBE054FBF002134330E10279 +:1013C20080E8F585E53230E00A5382F8438204E092 +:1013D20054FEF0E58520E3569020507400F09020F2 +:1013E200587401F0907FE2E04440F0907FE305867C +:1013F200907E800586E585F0A3E584F00586907FE2 +:10140200E5E53FFD030303FEF0F0F0F0F0F0F0F04D +:10141200DEF6907FE2E054BFF09020587400F09026 +:101422007FB7EDF0902001E054FEF00213437F40BD +:10143200907E800586902000E584FE2405FD8D8443 +:10144200E08E8430E009E00586F0A30586DFEF0533 +:1014520086C374409F907FB7F00586A3E054FEF0E8 +:10146200021343532DFAE5236008752300D2E7FEE9 +:10147200800A907FC7E0FE70030214FF9020507430 +:1014820000F09020587401F0907FE2E04440F09028 +:101492007FE30586907E400586E585F0A3E584F02E +:1014A2000586907FE5EE30E7080586E02438F005F2 +:1014B20086EE547FFE5407FBEE547860300303033C +:1014C20030E30474077B08FDFCE0E0E0E0E0E0E0EC +:1014D200E0DDF6EBFE6019EC640770118B23907F60 +:1014E200E2E054BFF09020587400F0801BE0DEFD73 +:1014F200907FE2E054BFF09020587400F0902001F9 +:10150200E054FDF0907FC7F002134390200AE054AC +:101512003F20E23A20E10B20E40B20E514600902AF +:1015220013430215F6021343438204E0F53B021310 +:1015320043438204E0432E010213435382F8438261 +:1015420005E042375382FBE054FBF002134330E1E3 +:101552000280E8F585E53230E10A5382F8438204DD +:10156200E054FEF0E58520E3569020507401F0909F +:1015720020587401F0907FE2E04440F0907FE30550 +:1015820086907E000586E585F0A3E584F0058690C9 +:101592007FE5E540FD030303FEF0F0F0F0F0F0F02C +:1015A200F0DEF6907FE2E054BFF09020587400F035 +:1015B200907FB9EDF0902009E054FEF00213437FD2 +:1015C20040907E000586902008E584FE2405FD8D6E +:1015D20084E08E8430E009E00586F0A30586DFEF23 +:1015E2000586C374409F907FB9F00586A3E054FE40 +:1015F200F0021343532EFAE5246008752400D2E763 +:10160200FE800A907FC9E0FE70030216909020507F +:101612007401F09020587401F0907FE2E04440F0B1 +:10162200907FE30586907DC00586E585F0A3E5847D +:10163200F00586907FE5EE30E7080586E02438F075 +:101642000586EE547FFE5407FBEE547860300303A8 +:101652000330E30474077B08FDFCE0E0E0E0E0E037 +:10166200E0E0DDF6EBFE6019EC640770118B24906C +:101672007FE2E054BFF09020587400F0801BE0DE5F +:0E168200FD907FE2E054BFF09020587400F01D +:10169000902009E054FDF0907FC9F00213439020A0 +:1016A00012E0543F20E23A20E10B20E40B20E51445 +:1016B0006009021343021787021343438204E0F5D3 +:1016C0003C021343438204E0432F0102134353823D +:1016D000F8438205E042385382FBE054FBF00213EA +:1016E0004330E10280E8F585E53230E20A5382F8C2 +:1016F000438204E054FEF0E58520E35690205074C8 +:1017000002F09020587401F0907FE2E04440F090A5 +:101710007FE30586907D800586E585F0A3E584F06E +:101720000586907FE5E541FD030303FEF0F0F0F050 +:10173000F0F0F0F0DEF6907FE2E054BFF090205839 +:101740007400F0907FBBEDF0902011E054FEF002A9 +:1017500013437F40907D800586902010E584FE2411 +:1017600005FD8D84E08E8430E009E00586F0A30558 +:1017700086DFEF0586C374409F907FBBF00586A38C +:10178000E054FEF0021343532FFAE5256008752557 +:1017900000D2E7FE800A907FCBE0FE7003021821A2 +:1017A0009020507402F09020587401F0907FE2E095 +:1017B0004440F0907FE30586907D400586E585F006 +:1017C000A3E584F00586907FE5EE30E7080586E026 +:1017D0002438F00586EE547FFE5407FBEE54786003 +:1017E0003003030330E30474077B08FDFCE0E0E012 +:1017F000E0E0E0E0E0DDF6EBFE6019EC640770117C +:101800008B25907FE2E054BFF09020587400F08068 +:101810001BE0DEFD907FE2E054BFF09020587400A2 +:10182000F0902011E054FDF0907FCBF00213439034 +:10183000201AE0543F20E23A20E10B20E40B20E59F +:10184000146009021343021918021343438204E08F +:10185000F53D021343438204E04330010213435336 +:1018600082F8438205E042395382FBE054FBF002E8 +:10187000134330E10280E8F585E53230E30A538214 +:10188000F8438204E054FEF0E58520E356902050B2 +:101890007403F09020587401F0907FE2E04440F02F +:1018A000907FE30586907D000586E585F0A3E584BD +:1018B000F00586907FE5E542FD030303FEF0F0F0BE +:1018C000F0F0F0F0F0DEF6907FE2E054BFF0902010 +:1018D000587400F0907FBDEDF0902019E054FEF0B8 +:1018E0000213437F40907D000586902018E584FE1A +:1018F0002405FD8D84E08E8430E009E00586F0A3A8 +:101900000586DFEF0586C374409F907FBDF0058696 +:10191000A3E054FEF00213435330FAE52660087545 +:101920002600D2E7FE800A907FCDE0FE7003021908 +:10193000B29020507403F09020587401F0907FE230 +:10194000E04440F0907FE30586907CC00586E58505 +:10195000F0A3E584F00586907FE5EE30E708058684 +:10196000E02438F00586EE547FFE5407FBEE5478F1 +:10197000603003030330E30474077B08FDFCE0E000 +:10198000E0E0E0E0E0E0DDF6EBFE6019EC6407701B +:10199000118B26907FE2E054BFF09020587400F045 +:1019A000801BE0DEFD907FE2E054BFF09020587491 +:1019B00000F0902019E054FDF0907FCDF002134329 +:0119C00032F4 +:0419C100AD07AC06BC +:1019C5007906ED2404F582E43CF583E0FAA3E0FB17 +:1019D5004A7003021B09E9B407004003021ADB90B1 +:1019E50019EBF8282873021AB9021A71021A5A0259 +:1019F5001A40021A2F021A1A021A00907FA5E04413 +:101A050080F08D828C83A3E0FF25E044A0907FA623 +:101A1500F019021ADB198D828C83E0C39420400AE9 +:101A2500A3A3E0907FA6F0021ADB8D828C83A3A38B +:101A3500E0A3E0907FA6F019021ADB907FA5E044B1 +:101A450080F08D828C83A3E0FF25E044A1907FA6E2 +:101A5500F019021ADBEB64014A7008907FA5E04497 +:101A650020F019907FA6E0F55919806AED2404F558 +:101A750082E43CF583E0FEA3E064024E7008907FAB +:101A8500A5E04420F019907FA6E0FFED2406F5823D +:101A9500E43CF583E475F00112A29785F082F583A5 +:101AA500EFF0ED2404F582E43CF58374FFF5F012C4 +:101AB500A2818022907FA5E04440F0907FA6E0FFC0 +:101AC500ED2406F582E43CF583E0FAA3E0F5828A8D +:101AD50083EFF07F0822907FA5E0F55930E0F730DD +:101AE500E207E04440F07F0622E9D3940250030266 +:101AF50019C7E55930E1030219C7907FA5E04440B5 +:061B0500F07F07227F08BB +:011B0B0022B7 +:101B0C00E533C39401501C7F057E001209AE7F02A1 +:101B1C007DFF1282EA7F057E001209AE7F037DFFF6 +:041B2C001282EA2215 +:108000007BFF7A12791B90000412A254FD8B5075ED +:108010005112755224E4907FE1F0907FE0F0F54E2C +:10802000F54F9002AEF0907FDFF0907FDEF0907F12 +:10803000A974FFF0907FAAF0E4FCEC25E024B4F5ED +:1080400082E4347FF583E4F00CBC10EEE4907FDD35 +:10805000F0AF051DEF70030281C6AB50AA51A952C3 +:1080600090000112A254640560030281B5900003E0 +:1080700012A2546401600302813C90000212A254D7 +:10808000FF547FFCD394075003028116ECC3941075 +:108090004003028116EF30E742E54FAE4E7802CE44 +:1080A000C313CE13D8F9FF74F02CF582E4347FF5B6 +:1080B00083EFF0907FE0E0FFEC24F8FE7401A80667 +:1080C000088002C333D8FC4F907FE0F09002AEE00E +:1080D00004F0907FDDE04480F0803EE54FAE4E78C6 +:1080E00002CEC313CE13D8F9FF74E82CF582E43422 +:1080F0007FF583EFF0907FE1E0FFEC24F8FE740160 +:10810000A806088002C333D8FC4F907FE1F09002AC +:10811000AEE004F080037FFF2290000412A25425F9 +:108120004FF54FE4354EF54E90000512A254FEE493 +:10813000254FF54FEE354EF54E0281B8AB50AA51A2 +:10814000A95290000312A254FF64026005EF640379 +:10815000706090000212A254FF547FFCD394075029 +:108160004EEF30E71E907FDEE0FF7401A804088028 +:1081700002C333D8FCFE4F907FDEF0907FACE04E20 +:10818000F08035907FDFE0FF7401A804088002C30F +:1081900033D8FCFE4F907FDFF0907FADE04EF0ECE7 +:1081A00025E024C5F582E4347FF583ECF080097F77 +:1081B000FF227FFF227FFF2274072552F552E4350C +:1081C00051F55102805120030D9002AEE0600790FE +:0881D0007FAEE04402F07F00E5 +:0181D8002284 +:0481D9008E598F5AD2 +:1081DD00755B03E55A2404F582E43559F583E0FE19 +:1081ED00A3E04E70030282E7E55B604E1460381425 +:1081FD00602014600302828B907FA5E04480F0859F +:10820D005A82855983A3E0FF25E044A0907FA6F014 +:10821D00806C855A82855983E0C394204009A3A3BD +:10822D00E0907FA6F08057155B855A82855983A310 +:10823D00A3E0A3E0907FA6F08044E55A2406F582E2 +:10824D00E43559F583E475F00112A29785F082F5B6 +:10825D0083E0907FA6F0907FA5E04440F0E55A249E +:10826D0004F582E43559F58374FFF5F012A281858A +:10827D005A82855983A3A3E475F00112A281907FE0 +:10828D00A5E0F55C30E0F730E207E04440F07F0612 +:10829D0022E55C20E10A907FA5E04440F07F0722B3 +:1082AD00E55B70317F017E001209AE907FA5E04441 +:1082BD0080F0855A82855983A3E0FF25E044A09084 +:1082CD007FA6F0907FA5E0F55C30E0F730E1D57545 +:0C82DD005B030281E0155B0281E07F087A +:0182E9002272 +:0282EA00AE07DD +:1082EC007C02EC14601514701E907FA5E04480F0A5 +:1082FC00EE25E04440907FA6F0800C907FA6EDF038 +:10830C00907FA5E04440F0907FA5E0FB30E0F8BC06 +:10831C00020A20E107E04440F07F0722EB30E20A3A +:0E832C00907FA5E04440F07F0622DCB67F087B +:01833A002220 +:10833B00C0E0C083C082C2A99003007419F0D2A917 +:0F834B0053917F9001C4E4F0D082D083D0E03210 +:10835A00EF75F008A42400F582E43420AB82FAF524 +:10836A0083A3E4F08B828A83A3A3A3E0F56174BF9D +:10837A00F08B828A83A3A3E04410F08B828A83A3C2 +:10838A00A3A3E4F08B828A83A3F0F9ED601D740144 +:10839A007E00A807088005C333CE33CED8F9FFE4A0 +:1083AA00EF5531600479098002790D8B828A83A3A3 +:1083BA00A3A374BFF08B828A83A3A3E054EFF08B4C +:1083CA00828A83A3A3A3E561F0AE02AF038F828EF4 +:0483DA0083A3E9F0A0 +:0183DE00227C +:0483DF008F618D62BB +:1083E300E4F567743F2FF876087F807E257D007C57 +:1083F30000AB66AA65A964A863D312A3B340267F22 +:10840300007E967D007C00A863D312A3B3500C7545 +:108413006740743F2561F87610800A756780743F62 +:108423002561F87638E56745624401FFE56175F03B +:0D84330008A42402F582E43420F583EFF064 +:018440002219 +:108441008F828E83E014F557C3940440037FFF228B +:10845100E55775F008A42400F582E43420AF82F5D5 +:10846100588F59E55725E024C6F582E4347FF5831A +:10847100E020E10FE55725E024C7F582E4347FF5DC +:1084810083E4F074232557F8E4F6E5592404F582D2 +:10849100E43558F583E04403F0E55775F00DA42465 +:1084A10002F582E43403F583E0FCA3E0FDA3E0FEE2 +:1084B100A3E0F5668E658D648C637D06AF571283EC +:1084C100DFAF577D0112835A855982855883A3A353 +:1084D100E020E043E0FFE5592405F582E43558F555 +:1084E10083E0E5592406F582E43558F583E0FFE59C +:1084F1005775F00DA42402F582E43403F583E0FC02 +:10850100A3E0FDA3E0FEA3E0F5668E658D648C63B8 +:108511007D06AF571283DF74F82557F582E43402E4 +:10852100F583E4F0E55725E0FFC3740C9F75F04037 +:10853100A42440F582E5F0347BAF82FEE55725E0C7 +:1085410024EFF582E43402F583EEF0A3EFF0AF57A8 +:0F8551007401A807088002C333D8FC42347F00AE +:0185600022F8 +:108561008F828E83E014F557C3940440037FFF226A +:10857100AF57E4FD12835A74F82557F582E43402AB +:10858100F583E4F0E55775F008A42400F582E4349E +:1085910020AF82F5598F5AF583E5822404F582E4F0 +:1085A1003583F583E054FCF0E55775F00DA4240CF8 +:1085B100F582E43403F583E4F0E55775F00DA42466 +:1085C10002F582E43403F583E0FCA3E0FDA3E0FEC1 +:1085D100A3E0F5668E658D648C637D06AF571283CB +:1085E100DFE55A2405F582E43559F583E030E009E9 +:1085F100855A82855983E0F558AF577401A8070859 +:108601008002C333D8FCF45234E55725E024C6F583 +:1086110082E4347FF583E020E10FE55725E024C7AC +:0B862100F582E4347FF583E4F07F0075 +:01862C00222B +:04862D008E578F587D +:108631008F828E83E014F559C3940440037FFF2297 +:10864100E55975F008A42401F582E43420F583E0AE +:1086510054037066855882855783A3E030E028E58E +:108661005975F00DA42402F582E43403F583E0FC8E +:10867100A3E0FDA3E0FEA3E0F5668E658D648C6347 +:108681007D02AF591283DF855882855783A3E0307D +:10869100E128E55975F00DA42402F582E43403F5CF +:1086A10083E0FCA3E0FDA3E0FEA3E0F5668E658D0B +:0C86B100648C637D04AF591283DF7F00EE +:0186BD00229A +:1086BE008F828E83C083C082E0FDA3A3A3E0FCED76 +:1086CE006CD082D083F08F828E83A3A3A3C083C08D +:1086DE0082E0FD8F828E83E0FCED6CD082D083F041 +:1086EE008F828E83C083C082A3A3A3E0FDEC6DD0E6 +:1086FE0082D083F08F828E83A3C083C082E0FD8FF1 +:10870E00828E83A3A3E0FCED6CD082D083F08F82A7 +:10871E008E83A3A3C083C082E0FD8F828E83A3E0ED +:10872E00FCED6CD082D083F08F828E83A3C083C089 +:10873E0082E0FD8F828E83A3A3E0FFED6FD082D007 +:03874E0083F02293 +:04875100AD07AC06BE +:10875500790D8D828C83E014FEC3940440037FFF62 +:10876500228C578D58EE75F00DA42401F582E43462 +:1087750003AF82FEAD0119ED60240FEFAC06700169 +:108785000E14F5828C83E0FD0558E558AA57700252 +:10879500055714F5828A83E06D60D97F01227F0039 +:0187A50022B1 +:0487A6008E578F5803 +:1087AA008F828E83E014F55EC3940440037FFF2218 +:1087BA00E55E75F008A42400F582E43420AF82F562 +:1087CA005F8F60855882855783A3E0FCA3E0FDA3F1 +:1087DA00E0FEA3E0FF7B087A0079007800D312A3B9 +:1087EA00B34010855882855783A312A3FA0000006C +:1087FA0008802E855882855783A3E0FCA3E0FDA359 +:10880A00E0FEA3E0FF7B007A0879077800C312A391 +:10881A00B3500E855882855783A312A3FA0007081E +:10882A0000855882855783A3E0F8A3E0F9A3E0FA0C +:10883A00A3E0FB7F007E507D467C0012A3218F5C63 +:10884A008E5B8D5A8C597B0A7A007900780012A3C4 +:10885A0021AF038F5DAF5CAE5BAD5AAC597B0A7A30 +:10886A00007900780012A3218F5C8E5B8D5A8C5997 +:10887A00E55DC394054015E55C2401F55CE4355BD0 +:10888A00F55BE4355AF55AE43559F5598560828520 +:10889A005F83A3E4F0856082855F83A3A3A3E0449A +:1088AA0080F0856082855F83E55CF0AF5CAE5BAD8E +:1088BA005AAC59780812A3C4856082855F83A3EFF6 +:1088CA00F0856082855F83A3A3A3E0547FF0E4F57B +:1088DA005DE558240BF582E43557F583E0FF30E077 +:1088EA00235401F0E5602404F582E4355FF583E062 +:1088FA0054FDF0AF5E7401A807088002C333D8FCA8 +:10890A004222803674017E00A85E088005C333CEF9 +:10891A0033CED8F9FFE4EF5522601FE5602404F551 +:10892A0082E4355FF583E04402F0AF5E7401A80784 +:10893A00088002C333D8FCF45222E5582408F58291 +:10894A00E43557F583E0FFB46205435D0A801AEF08 +:10895A00B47205435D088011EFB47405435D02806B +:10896A0008EF646E60037FFF22E558240BF582E46A +:10897A003557F583E0FF30E303435D80EF30E712BC +:10898A00435D40E5602404F582E4355FF583E04405 +:10899A0002F0E558240BF582E43557F583E030E11F +:1089AA0020AF5E7401A807088002C333D8FC4232A4 +:1089BA00E5602404F582E4355FF583E04401F08044 +:1089CA0010AF5E7401A807088002C333D8FCF452C2 +:1089DA0032E558240BF582E43557F583E0FF30E49D +:1089EA0011AE5E7401A806088002C333D8FC423176 +:1089FA008010AE5E7401A806088002C333D8FCF466 +:108A0A005231EF20E10330E403E4F55D85608285AD +:108A1A005F83A3A3A374BFF0856082855F83A3A34A +:108A2A00E4F0E55DF0E558240AF582E43557F5836C +:108A3A00E0FFE5602404F582E4355FF583EFF0E5B5 +:108A4A0058240AF582E43557F583E0FFE5602405EA +:108A5A00F582E4355FF583EFF0E5582409F582E401 +:108A6A003557F583E0FFE5602406F582E4355FF5C6 +:108A7A0083EFF0E5582409F582E43557F583E0FFE2 +:108A8A00E5602407F582E4355FF583EFF0856082BF +:108A9A00855F83A3A3A3E4F0856082855F83A3A394 +:108AAA00F0855882855783A3E0FCA3E0FDA3E0FE8E +:108ABA00A3E0F5668E658D648C637D06AF5E1283D6 +:108ACA00DF755D08E558240CF582E43557F583E037 +:108ADA006003435D10E5602404F582E4355FF583A5 +:108AEA00E05403455DF0E5582405F582E43557F571 +:108AFA0083E0FEC394054006EED3940840037FFF4B +:108B0A0022E5582406F582E43557F583E0FDC3943F +:108B1A00014006EDD3940240037FFF22ED14FF25A6 +:108B2A00E025E0FFEE24FB4FF55DE5582407F582CA +:108B3A00E43557F583E024D0601814601A24C36022 +:108B4A001E146009240A7014435D188012435D08DC +:108B5A00800D435D388008435D2880037FFF2285AE +:108B6A006082855F83A3A3A3E55DF074017E00A8FC +:108B7A005E088005C333CE33CED8F9FFE4EF55340F +:108B8A006007AF5E7D0112835AAA57A9587B01C0BC +:108B9A0003C001E55E75F00DA42401F9740335F0F4 +:108BAA00A801FCAD03D001D0037E007F0D12A212F2 +:028BBA007F003A +:018BBC002296 +:108BBD008F828E83E014FEC3940440037FFF22EE68 +:108BCD0075F008A42400F582E43420AD82FC9001F8 +:108BDD002C7408F0EE04A3F0E4A3F08D828C83E5F1 +:108BED00822406F582E43583F583E090012FF08D24 +:108BFD00828C83E5822405F582E43583F583E05488 +:108C0D001E900130F0742D2EF8E6A3F0AF0674011E +:108C1D00A807088002C333D8FCF557E533C3940188 +:108C2D00400D902078E0540F755800F55980097F5C +:108C3D00021211278E588F59C3E5586480948040D5 +:108C4D00DAE5575559900132F07E017F2C7D0712E0 +:048C5D00916A7F0099 +:018C610022F0 +:108C62008F828E83E014FEC3940440037FFF22EEC2 +:108C720075F008A42400F582E43420AF82FE90014E +:108C820033740AF08F828E83E5822404F582E43500 +:108C920083F583E0900134F07E017F337D021291EF +:038CA2006A7F00E6 +:018CA50022AC +:048CA6008E578F58FE +:108CAA008F828E83E014FEC3940440037FFF22EE7A +:108CBA0075F008A42400F582E43420AD82FC8558BE +:108CCA0082855783A3E0600FED2404F582E43CF526 +:108CDA0083E04402F08043EE75F00DA4240CF58283 +:108CEA00E43403F583E030E020EE25E024C6F58283 +:108CFA00E4347FF583E030E1F07F60ED2405F5820E +:108D0A00E43CF583E05FB507F2AE04AF05EF240457 +:0C8D1A00F582E43EF583E054FDF07F009C +:018D2600222A +:048D2700AD07AC06E2 +:108D2B008D828C83E014FEC3940440037FFF22EEFC +:108D3B0075F008A42400F582E43420AF82FE8D8206 +:108D4B008C83A3E0600FEF2404F582E43EF583E00F +:108D5B004401F0800DEF2404F582E43EF583E054EA +:048D6B00FEF07F0097 +:018D6F0022E1 +:048D7000AD07AC0699 +:108D74008D828C83E014FEC3940440037FFF22EEB3 +:108D840075F008A42400F582E43420AF82FE8D82BD +:108D94008C83A3E0600D8F828E83A3A3A3E0444061 +:108DA400F0800B8F828E83A3A3A3E054BFF07F00D7 +:018DB400229C +:108DB5008F828E83E014FEC3940440037FFF22AFAD +:108DC500067401A807088002C333D8FC423E7F0021 +:018DD500227B +:048DD6008E578F58CD +:108DDA008F828E83A3E0F55C8F828E83E0F559D370 +:108DEA00940440037FFF22E55924FE601614601F95 +:108DFA001460282403702E7E7E7F80755A7E755BF0 +:108E0A008080227E7E7F00755A7E755B0080167E8A +:108E1A007D7F80755A7D755B80800A7E7D7F0075B7 +:108E2A005A7D755B00E55C701B855B82855A83748D +:108E3A00FFF0E55925E024B5F582E4347FF5837423 +:108E4A0001F08048E5582402FFE43557FEE55C60EE +:108E5A00230FEFAC0670010E14F5828C83E0FD053A +:108E6A005BE55BAA5A7002055A14F5828A83EDF013 +:108E7A00155C80D9855882855783A3E0FFE559257B +:0E8E8A00E024B5F582E4347FF583EFF07F003D +:018E980022B7 +:108E9900EF2405F558E43EF5579001357407F09035 +:108EA900017A7401F0A37436F0855882855783A33B +:108EB900A3A3E0FEA3E08E59F55A8558828557830E +:108EC900E0249E606124F9600E24F17003028F7A18 +:108ED90024146003028FC8855882855783A3E0FE56 +:108EE900A3E0FFC3E49FF55C74019EF55BD3E55CE9 +:108EF900943FE55B94004006755B00755C3FD3E5E4 +:108F09005A955CE559955B5003028FCBAE5BAF5C1C +:108F1900855882855783A3A3A3EEF0FEA3EFF08EB5 +:108F290059F55A028FCB855882855783A3E0FEA352 +:108F3900E0FFC374309FF55CE49EF55BD3E55C9478 +:108F490010E55B94004006755B00755C10D3E55A2B +:108F5900955CE559955B406AAE5BAF5C8558828547 +:108F69005783A3A3A3EEF0FEA3EFF08E59F55A8021 +:108F790051855882855783A3E0FEA3E0FFC3E49F90 +:108F8900F55CE49EF55B455C600BD3E55C943FE5DD +:108F99005B94004006755B00755C3FD3E55A955CB0 +:108FA900E559955B401CAE5BAF5C8558828557835C +:108FB900A3A3A3EEF0FEA3EFF08E59F55A80037F29 +:108FC9000122855882855783E0249E700302908B85 +:108FD90024F9605824F170030290DB241460030221 +:108FE900911F855882855783A3E0FEA3E0FFD394A0 +:108FF900FFEE9400400302911F900175EFF0E55ACE +:10900900155AAE59700215594E700302911F9001FD +:1090190075E0FF04F0A807E6FF90017AE475F00116 +:1090290012A29785F082F583EFF080D28558828568 +:109039005783A3E0FEA3E0FFC39480EE940050039E +:1090490002911FD3EF94FFEE9400400302911F9009 +:109059000176EFF0E55A155AAE59700215594E705E +:109069000302911F900176E0FF04F0A807E6FF9044 +:10907900017AE475F00112A29785F082F583EFF089 +:1090890080D2855882855783A3E0FEA3E0FFC3946D +:1090990020EE9400500302911FD3EF942FEE940019 +:1090A9005074900177EFF0E55A155AAE59700215D0 +:1090B900594E6062900177E0FF04F0A807E6FF903F +:1090C900017AE475F00112A29785F082F583EFF039 +:1090D90080D5855882855783A3E0FFA3E090017866 +:1090E900CFF0A3EFF0E55A155AAE59700215594E53 +:1090F9006024900178E475F00112A29785F082F559 +:1091090083E0FF90017AE475F00112A29785F0825D +:10911900F583EFF080CF7E017F35855882855783AF +:0D912900A3A3A3E0A3E004FD12916A7F0060 +:019136002216 +:109137008E628F638C648D65AF031BEF60240563BC +:10914700E563AE627002056214F5828E83E0FF0567 +:1091570065E565AC647002056414F5828C83EFF0F5 +:0391670080D6228D +:06916A008D5DAB07AA06B3 +:1091700075614075600D755F03755E00907FC2E09C +:1091800020E1F9AF61AE60AD5FAC5EEC4D4E4F706B +:1091900008907FC27402F080D7907FC2E020E11671 +:1091A000AF03AE027C7B7D80AB5D129137907FC3B5 +:0891B000E55DF07F01227F0064 +:0191B8002294 +:1091B900900184740BF0A3E533F0900AF5E49390E1 +:1091C9000186F0900AF6E493900187F0E490017C1F +:1091D900F0A3F0A3F0A3F0A3F0A37410F0A374011B +:1091E900F0A37488F07E017F7C1219C17E017F840F +:0791F9007D1412916A7F0052 +:01920000224B +:109201007E7B7F40754E7B754F40907FD3E0FF851D +:109211004E51854F52E5522401F556E43551F5552D +:10922100E4F550855282855183E0FE14B40C005060 +:109231005B909239F828287302925D02925D029246 +:109241006702927102927102927102928502925D9D +:1092510002927B02925D02928D02925DEF64026046 +:109261002B7550FF8026EF640E60217550FF801C26 +:10927100EF640360177550FF8012EF6403600D7592 +:1092810050FF8008EF640660037550FFE5506015DC +:109291009001987411F0A3EEF07E017F987D021287 +:1092A100916AAF5022E4F550855282855183E014D2 +:1092B100B40F0040030293CF9092C0F828287302A4 +:1092C10092ED0292F902930502935302935E029387 +:1092D1006902937402937F02938A0293950293A089 +:1092E1000293A70293CF0293B20293BDAF56AE553C +:1092F1001284418F500293D2AF56AE551285618FC1 +:10930100500293D2855553855654E5542401FFE408 +:109311003553FE1286BEAF54AE531287518F50EFB4 +:10932100640160030293D2AF54AE531287A68F50EB +:10933100E55070030293D2855482855383E075F022 +:109341000DA424F4F582E43402AF82FE1287A60252 +:1093510093D2AF56AE55128CA68F508074AF56AED5 +:1093610055128D278F508069AF56AE55128D708F73 +:1093710050805EAF4FAE4E128E998F508053AF56D4 +:10938100AE55128BBD8F508048AF56AE5512862D0B +:109391008F50803DAF56AE55128C628F5080321285 +:1093A10091B98F50802BAF56AE55128DB58F50802D +:1093B10020AF56AE55128DD68F508015AF4FAE4EA1 +:1093C1007C027DAF7B40129137E4F55080037550EC +:1093D100FFE550601D9001987411F085528285510E +:1093E10083E0900199F07E017F987D0212916AAF2E +:1093F1005022855282855183E0FF1424FA500424BF +:10940100FE701F9001987410F0A3EFF085568285CD +:109411005583E090019AF07E017F987D0312916A55 +:049421008F50AF5069 +:019425002224 +:089426008F518E508D4F8C4ECA +:10942E0075580175599CE4F557AF531553EF7003FA +:10943E000294C4AF52E4FCFDFEF8F9FAAB07AF514B +:10944E00AE50AD4FAC4E12A321AF038F56AF51AEFF +:10945E0050AD4FAC4EC004C005C006C007AF52E4BD +:10946E00FCFDFEF8F9FAAB07D007D006D005D00404 +:10947E0012A3218F518E508D4F8C4EE5562430F510 +:10948E0056D39439400674072556F5560559E559B5 +:10949E00AE587002055814F5828E83E4F00559E536 +:1094AE0059AE587002055814F5828E83E556F005B4 +:1094BE00570557029437E559155970021558AF578D +:1094CE001557EF6023E5591559AE5870021558F52A +:1094DE00828E83E0FF0555E555AC54700205541499 +:0894EE00F5828C83EFF080D6BB +:0194F6002253 +:1094F700E49001C9F07E017FCA9001BEEEF0A3EFB0 +:0A950700F09001C2EEF0A3EFF02295 +:10951100AA07A9059001C9E0C394405061AC027447 +:10952100017E00A804088005C333CE33CED8F9FFED +:10953100E4EF55346045EA04FF9001C2E0FCA3E08A +:10954100FDF5828C83EFF0A3E9F08D828C83A3A3D8 +:10955100EBF09001C2E475F00312A281FCD3E5F0B7 +:109561009487EC9402400A9001C27401F0A374CA7A +:10957100F0C2AF9001C9E004F0D2AF7F01227F00B9 +:0195810022C7 +:109582009001C9E0D3940040559001BEE0FCA3E0F5 +:10959200AA04F97B01C003C002C001AA06A907A858 +:1095A20001AC02AD03D001D002D0037E007F0312D2 +:1095B200A2129001BEE475F00312A281FCD3E5F081 +:1095C2009487EC9402400A9001BE7401F0A374CA1D +:1095D200F0C2AF9001C9E014F0D2AF7F01227F0048 +:0195E2002266 +:1095E300907FC2E020E1737E7B7F8075537B75544F +:1095F30080E5542401FFE43553A9077B018B55F51E +:10960300568957FE129582EF6050AB55AA56A9575B +:1096130012A23B14FF90000112A254B40216C2AF6F +:10962300EF75F008A42401F582E43420F583E044C7 +:1096330004F0D2AF74017E00A807088005C333CEBF +:1096430033CED8F9FFE4EF5534600F855482855348 +:0A96530083740DF0907FC37404F0DF +:01965D0022EA +:10965E001295E3E4F54E743A254EF8E654F0F54FC4 +:10966E0074C5254EF582E43401F583E0654FFFC4E1 +:10967E00540FF550602274C5254EF582E43401F581 +:10968E0083E54FF0AF4E7D01E54F4550FB1295112E +:10969E00EF70051295E380EC054EE54EC394044041 +:1096AE00B51295E3E53E6048E4F54EAF4E7401A861 +:1096BE0007088002C333D8FCF54F553E6029E54EAE +:1096CE0075F008A42405F582E43420F583E030E635 +:1096DE0016AF4E7D047B80129511EF70051295E347 +:1096EE0080EFE54FF4523E054EE54EC3940440BB69 +:1096FE00900300E060030297DF7419F0E533C39422 +:10970E0001400D902078E0540F755100F5528009FC +:10971E007F021211278E518F52C3E55164809480BF +:10972E0040DA9001BCE06552F06037E4F54EAF4E82 +:10973E007401A807088002C333D8FCF54F9001BC12 +:10974E00E0554F6014AF4E7D08E54F5552FB129514 +:10975E0011EF70051295E380EC054EE54EC39404AF +:10976E0040CC9001BCE552F0E4F54EC2AF74362504 +:10977E004EF8E6F54FE4F6D2AF534F1EE54F6011AB +:10978E00AF4E7D02AB4F129511EF70051295E3802F +:10979E00EF742D254EF8E6F54F74FC254EF582E458 +:1097AE003402F583E0654F6011AF4E7D04AB4F126E +:1097BE009511EF70051295E380EF74FC254EF5823E +:1097CE00E43402F583E54FF0054EE54EC3940440B4 +:0497DE009A1295E363 +:0197E2002264 +:0C97E300787FE4F6D8FD75816702982AB3 +:1097EF000205ADE493A3F8E493A34003F68001F2DE +:1097FF0008DFF48029E493A3F85407240CC8C3337B +:10980F00C4540F4420C8834004F456800146F6DF49 +:10981F00E4800B010204081020408090986FE47ED2 +:10982F00019360BCA3FF543F30E509541FFEE4933E +:10983F00A360010ECF54C025E060A840B8E493A305 +:10984F00FAE493A3F8E493A3C8C582C8CAC583CA30 +:10985F00F0A3C8C582C8CAC583CADFE9DEE780BEE8 +:10986F006024028A010204081020408081828488CB +:10987F0090A0C0C1C2C4C8D0E0E1E2E4E8F0F1F2C8 +:08988F00F4F8F9FAFCFDFEFFFC +:0198970000D0 +:089898008B598A5A895B8D5C33 +:1098A000E4F55DF55EAF5C155CEF6036AB59055BCA +:1098B000E55BAA5A7002055A14F912A23BFFE55D56 +:1098C000E55E6F25E0FFE433FE74952FF582EE34FC +:1098D0009EF583E55DFFE493F55D7401936FF55E9E +:0698E00080C3AE5DAF5E27 +:0198E600225F +:0B98E700C0E0C083C082C0D075D01864 +:1098F200902060E0540FFE30E005902002E0FFEE81 +:1099020030E10590200AE0FFEE30E205902012E0FF +:10991200FFEE30E30590201AE0FF9001C4E0B51E8F +:0A99220004E4F080059001C4EEF0AB +:09992C00D0D0D082D083D0E0320B +:02993500A90384 +:10993700EF75F008A42400F582E43420AB82FAE541 +:109947005C455DF55EE960148A83E5822404F5824F +:10995700E43583F583E04DF0E4FE8013EB2404F552 +:1099670082E43AF583E0FFEDF4FCEF5CF0AE5EEBEA +:109977002406F582E43AF583E0555EFCB50603AFAD +:109987000522E55C5CFEE55D5CFDE96016EE7004B2 +:109997007F0180027F00AE07ED70047F0180027FA8 +:1099A70000AD07EE6003AF5C22ED6003AF5D227F81 +:0199B70000AF +:0199B800228C +:1099B9007555027556B0900335740FF0855682853A +:1099C9005583A3E0FF900337F0855682855583E0E0 +:1099D900900336F090033874FFF0755703755839C2 +:1099E900EF14B40B004003029E5D9099FAF8282801 +:1099F90073029A1B029ABA029BBF029BDE029BDE8C +:109A0900029C94029CCF029CF4029DB2029DE20248 +:109A19009E0EE4F54EE54E75F008A42400F582E4A7 +:109A29003420AF82F5538F54E4FFE4FEEF601074E5 +:109A39008A2EF582E43402F583E0F4F54F800D7443 +:109A49008A2EF582E43402F583E0F54FE5542407C4 +:109A5900F582E43553F583E54FF0E0F550654F6045 +:109A690038E4900338F0E54E04FD0558E558AA5747 +:109A79007002055714F5828A83EDF00558E558AC54 +:109A8900577002055714F5828C83E54FF08558828B +:109A9900855783E550F0029E630EBE248F0FEF6455 +:109AA900027087054EE54E64046003029A1E029E09 +:109AB90063E4F54EAF4EE4FD12835A054EE54ED3ED +:109AC900940340F09000047498F0A374E7F0E4F56F +:109AD900507E207F00755320755400F54EAF4E74AB +:109AE90001A807088002C333D8FCF54F9001C4F0E0 +:109AF9009001C0E4F0A3740AF0855482855383A3CE +:109B09007402F09001C4E0B54F349001C0E07002D6 +:109B1900A3E070EF900338F0E54E04FF0558E558CF +:109B2900AC577002055714F5828C83EFF085588283 +:109B390085578374FFF0E49001C4F07550FF9001DC +:109B4900C4E0FF6037E4900338F0E54E04FE0558A1 +:109B5900E558AC577002055714F5828C83EEF00571 +:109B690058E558AC577002055714F5828C83EFF00D +:109B7900855882855783E54FF07550FFE55070167B +:109B890074082554F554E43553F553054EE54E64F0 +:109B9900046003029AE6E4F54EAF4E7D0112835A42 +:109BA900054EE54ED3940340F09000047413F0A3DE +:109BB9007412F0029E63855682855583E014FF7402 +:109BC90001A807088002C333D8FC9002F7F090017E +:109BD900C4F0029E639001C07403F0A374E8F0E43A +:109BE900F5509002F7E0FF9001C4E0B50719900124 +:109BF900C0E07002A3E070EA900338F085588285CE +:109C0900578374FFF0F550E5506003029E6390019D +:109C1900C0F0A37496F09001C0E07002A3E070F662 +:109C2900E533C39401400D902078E0540F7551003D +:109C3900F55280097F021211278E518F52C3E551C7 +:109C49006480948040DAE552540FF5509002F7E0B1 +:109C5900555070047F0180027F008F4F85568285A1 +:109C69005583A3E0B4050CE54F70047F0180027FA2 +:109C7900008F4FE54F7003029E63E4900338F0852F +:109C89005882855783E550F0029E63E4FFFD1283F5 +:109C99005A7E207F00755320755400855482855360 +:109CA90083A3A3A3E04480F0855482855383740180 +:109CB900F0A3E4F0855482855383A3A3A3E0547FE2 +:109CC900F0D204029E63C2047E207F007553207582 +:109CD9005400E5542405F582E43553F583E030E674 +:109CE900F1E4FF7D0112835A029E63E4F550F54EBB +:109CF900AF4EE4FD12835AE54E75F008A42400F531 +:109D090082E43420AF82F5538F54F583E58224042D +:109D1900F582E43583F583E054FCF0AF4E7D017B99 +:109D290001755C80755D401299358F50E550701151 +:109D3900AF4E7D027B01755C10755D201299358FE0 +:109D490050E5507010AF4E7D01FB755C80755D402C +:109D59001299358F50E5507010AF4E7D02FB755C3E +:109D690010755D201299358F50AF4E7D0112835ABF +:109D7900E5506026E4900338F0E54E04FF0558E508 +:109D890058AC577002055714F5828C83EFF085584B +:109D990082855783E550F0029E63054EE54ED394C4 +:109DA900035003029CF9029E63E4900359F0A3F067 +:109DB900A3F0A3F0A3F0A37410F0A3749EF0A3740E +:109DC90085F07E037F591281D9EF64087003029EE2 +:109DD90063E4900338F0029E63E4900359F0A3F022 +:109DE900A3F0A3F0A3F0A37410F0A3E557F0A3E543 +:109DF90058F07E037F591219C1EF6408605CE49042 +:109E09000338F08055E5562402FFE43555FAA907D1 +:109E19007B017D10129898EF4E7032900359F0A390 +:109E2900F0A3F0A3F0A3F0A37410F0E55624029078 +:109E39000360F0E4355590035FF07E037F5912818A +:109E4900D9EF64086014E4900338F0800DE49003BE +:109E590038F080069003387401F09001C0E4F0A353 +:109E6900740AF09001C0E07002A3E070F67E037FEF +:0B9E7900357D2412916AE49002AFF0E6 +:019E840022BB +:109E8500FFFEFCF8F0E0C080000103070F1F3F7FD5 +:109E95000000C0C1C1810140C30103C00280C241AD +:109EA500C60106C00780C7410500C5C1C48104407D +:109EB500CC010CC00D80CD410F00CFC1CE810E402D +:109EC5000A00CAC1CB810B40C90109C00880C8413D +:109ED500D80118C01980D9411B00DBC1DA811A40AD +:109EE5001E00DEC1DF811F40DD011DC01C80DC417D +:109EF5001400D4C1D5811540D70117C01680D641AD +:109F0500D20112C01380D3411100D1C1D0811040BC +:109F1500F00130C03180F1413300F3C1F2813240AC +:109F25003600F6C1F7813740F50135C03480F4417C +:109F35003C00FCC1FD813D40FF013FC03E80FE412C +:109F4500FA013AC03B80FB413900F9C1F88138403C +:109F55002800E8C1E9812940EB012BC02A80EA41AC +:109F6500EE012EC02F80EF412D00EDC1EC812C407C +:109F7500E40124C02580E5412700E7C1E6812640AC +:109F85002200E2C1E3812340E10121C02080E041BC +:109F9500A00160C06180A1416300A3C1A2816240AC +:109FA5006600A6C1A7816740A50165C06480A4417C +:109FB5006C00ACC1AD816D40AF016FC06E80AE412C +:109FC500AA016AC06B80AB416900A9C1A88168403C +:109FD5007800B8C1B9817940BB017BC07A80BA41AC +:109FE500BE017EC07F80BF417D00BDC1BC817C407C +:109FF500B40174C07580B5417700B7C1B6817640AC +:10A005007200B2C1B3817340B10171C07080B041BB +:10A01500500090C191815140930153C052809241AB +:10A02500960156C057809741550095C1948154407B +:10A035009C015CC05D809D415F009FC19E815E402B +:10A045005A009AC19B815B40990159C0588098413B +:10A05500880148C0498089414B008BC18A814A40AB +:10A065004E008EC18F814F408D014DC04C808C417B +:10A07500440084C185814540870147C046808641AB +:10A08500820142C043808341410081C180814040BB +:10A09500E4FF74F82FF582E43402F583E0700302DF +:10A0A500A138743A2FF8E620E50302A138EF75F0E0 +:10A0B50008A42400F582E43420AD82FCF583E58212 +:10A0C5002405F582E43583F583E0546064607063AC +:10A0D500EF25E024EFF582E43402F583E475F00121 +:10A0E50012A29785F082F583E08D828C83F074F857 +:10A0F5002FF582E43402F583E014F07036EF25E0A5 +:10A1050024C7F582E4347FF583E4F0EF25E0FEC350 +:10A11500740C9E75F040A42440F582E5F0347BADC7 +:10A1250082FCEF25E024EFF582E43402F583ECF0C0 +:0CA13500A3EDF00FEF6404600302A0979C +:01A1410022FB +:10A14200E709F608DFFA8046E709F208DFFA803EFF +:10A1520088828C83E709F0A3DFFA8032E309F608EC +:10A16200DFFA8078E309F208DFFA807088828C8354 +:10A17200E309F0A3DFFA806489828A83E0A3F60808 +:10A18200DFFA805889828A83E0A3F208DFFA804CE2 +:10A1920080D280FA80C680D4806980F280338010B9 +:10A1A20080A680EA809A80A880DA80E280CA803322 +:10A1B20089828A83ECFAE493A3C8C582C8CCC5839A +:10A1C200CCF0A3C8C582C8CCC583CCDFE9DEE7806A +:10A1D2000D89828A83E493A3F608DFF9ECFAA9F0E9 +:10A1E200EDFB2289828A83ECFAE0A3C8C582C8CC3F +:10A1F200C583CCF0A3C8C582C8CCC583CCDFEADE58 +:10A20200E880DB89828A83E493A3F208DFF980CCB9 +:10A2120088F0ED2402B4040050C2F582EB2402B4AB +:10A22200040050B823234582F582EF4E60AEEF6002 +:09A23200010EE5822390A1927354 +:10A23B00BB010689828A83E0225002E722BBFE0221 +:09A24B00E32289828A83E4932254 +:10A25400BB010CE58229F582E5833AF583E02250BF +:10A2640006E92582F8E622BBFE06E92582F8E22209 +:0DA27400E58229F582E5833AF583E4932223 +:10A28100C5F0F8A3E028F0C5F0F8E5821582700268 +:06A291001583E038F02205 +:10A29700A3F8E0C5F025F0F0E5821582700215837A +:06A2A700E0C838F0E822D7 +:10A2AD00BB0110E58229F582E5833AF583E0F5F0EF +:10A2BD00A3E0225009E92582F886F008E622BBFECC +:10A2CD000AE92582F8E2F5F008E222E5832AF58312 +:08A2DD00E993F5F0A3E99322D7 +:10A2E50075F008758200EF2FFFEE33FECD33CDCC30 +:10A2F50033CCC58233C5829BED9AEC99E5829840B3 +:10A305000CF582EE9BFEED9AFDEC99FC0FD5F0D68F +:10A31500E4CEFBE4CDFAE4CCF9A88222B800C1B9B9 +:10A325000059BA002DEC8BF084CFCECDFCE5F0CBF7 +:10A33500F97818EF2FFFEE33FEED33FDEC33FCEB30 +:10A3450033FB10D703994004EB99FB0FD8E5E4F9EB +:10A35500FA227818EF2FFFEE33FEED33FDEC33FCD8 +:10A36500C933C910D7059BE99A4007EC9BFCE99ACC +:10A37500F90FD8E0E4C9FAE4CCFB2275F010EF2F11 +:10A38500FFEE33FEED33FDCC33CCC833C810D70711 +:10A395009BEC9AE899400AED9BFDEC9AFCE899F84C +:0EA3A5000FD5F0DAE4CDFBE4CCFAE4C8F922DF +:10A3B300EB9FF5F0EA9E42F0E99D42F0E89C45F000 +:01A3C3002277 +:10A3C400E8600FECC313FCED13FDEE13FEEF13FF77 +:03A3D400D8F1229B +:10A3D700080808E6CF2FF618E6CE3EF618E6CD3D7C +:07A3E700F618E6CC3CF6225B +:0CA3EE00ECF0A3EDF0A3EEF0A3EFF022E2 +:10A3FA00A8828583F0D083D08212A41112A41112EC +:10A40A00A41112A411E473E493A3C583C5F0C58310 +:10A41A00C8C582C8F0A3C583C5F0C583C8C582C8AC +:01A42A00220F +:00000001FF +/***************************************************************************** + * + * whiteheat.h -- ConnectTech WhiteHEAT Firmware. + * + * Copyright (C) 2000-2002 ConnectTech Inc (http://www.connecttech.com/) + * + * 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., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * (10/09/2002) Stuart MacDonald + * Firmware 4.06 + * + * (04/09/2000) gkh + * Updated the firmware with the latest provided by ConnectTech. + * + * (01/16/2000) gkh + * Fixed my intel hex processing tool, so now the firmware actually + * matches the original file (this was causing a few problems...) + * + * (01/15/2000) gkh + * Added debug loader firmware if DEBUG is #defined: + * Port 1 LED flashes when the vend_ax program is running + * Port 2 LED flashes when any SETUP command arrives + * Port 3 LED flashes when any valid VENDOR request occurs + * Port 4 LED flashes when the EXTERNAL RAM DOWNLOAD request occurs + * + * version 1.0 (01/09/2000) gkh + * Original firmware from ConnectTech massaged a little to be program + * readable. + * + *****************************************************************************/ + +#define whiteheat_DATE "20000106" diff --git a/firmware/whiteheat_loader.HEX b/firmware/whiteheat_loader.HEX new file mode 100644 index 0000000..5f663f6 --- /dev/null +++ b/firmware/whiteheat_loader.HEX @@ -0,0 +1,314 @@ +:0300000002098D65 +:030033000208FBC5 +:03004300020B00AD +:03004B000205AA01 +:10010000907FA5E05410FFC4540F4450F50F13E442 +:1001100033F511907FE9E0245EB407004003020349 +:1001200078900128F82828730201BC0201BC020162 +:100130009102013D02015302016F02019A907F007A +:10014000E511F0907FB57401F0907FB4E04402F0C7 +:10015000020378907F92E0FFC4540F907F00F090EC +:100160007FB57401F0907FB4E04402F0020378128E +:100170000A895007E4907F00F08006907F00740F9A +:10018000F0907FB57401F0907FB4E04402F0020378 +:1001900078907FEAE0F50F020378907F007407F013 +:1001A000907FB57401F0907FB4E04402F07FE87E68 +:1001B00003120D94D206120CCC020378907FEAE071 +:1001C000752800F529A3E0FEE4EE4228907FEEE0DA +:1001D000752A00F52BA3E0FEE4EE422A907FE8E0CA +:1001E00064C060030202C9E52B452A70030203784C +:1001F000C3E52B9440E52A94005008852A2C852BD2 +:100200002D8006752C00752D40907FE9E064A37069 +:1002100034F530F531C3E531952DE530952C505C42 +:10022000E5292531F582E5303528F583E0FF7400B6 +:100230002531F582E4347FF583EFF00531E5317047 +:1002400002053080D0E4F530F531C3E531952DE578 +:1002500030952C501874002531F582E4347FF583F5 +:1002600074CDF00531E5317002053080DDAF29AE87 +:1002700028AD2D7A7F79007B00120BF4907FB5E5D5 +:100280002DF0E52D2529F529E52C3528F528C3E5A0 +:100290002B952DF52BE52A952CF52A907F92E0FFE2 +:1002A000C4540F752E00F52FD39400E52E94005002 +:1002B0000C907FB4E020E1030201E780F4907FB46A +:1002C000E020E2030201E780F4907FE8E064406010 +:1002D00003020378E52B452A7003020378E4907F3C +:1002E000C5F0907F92E0FFC4540F752E00F52FD318 +:1002F0009400E52E94005009907FC4E030E109801D +:10030000F7907FB4E020E3F9907FC5E0752C00F50D +:100310002D907FE9E064A37034F530F531C3E53109 +:10032000952DE530952C503474C02531F582E43498 +:010330007E4E +:10033100F583E0FFE5292531F582E5303528F583A0 +:10034100EFF00531E5317002053080D0AF29AE28DC +:10035100AD2D7A7E79C07BC0120C3FE52D2529F5A4 +:1003610029E52C3528F528C3E52B952DF52BE52A14 +:09037100952CF52A0202D4C322E6 +:10037A00907FE9E070030204521470030204CE2451 +:10038A00FE700302054224FB700302044C1470033E +:10039A0002044614700302043A147003020440244F +:1003AA00056003020596120E4440030205A2907FDF +:1003BA00EBE024FE60161460402402706974119008 +:1003CA007FD4F07400907FD5F00205A2907FEAE016 +:1003DA00FF120B588B258A268927EA496011AE023B +:1003EA00EE907FD4F0AF01EF907FD5F00205A29096 +:1003FA007FB4E04401F00205A2907FEAE0FF120810 +:10040A00BA8B258A268927EA496011AE02EE907FC7 +:10041A00D4F0AF01EF907FD5F00205A2907FB4E04F +:10042A004401F00205A2907FB4E04401F00205A263 +:10043A00120E1F0205A2120E2D0205A2120AF702BF +:10044A0005A2120E110205A2120E4640030205A2CF +:10045A00907FE8E0247F60241460312402705BA25C +:10046A0000E433FF25E0FFA202E4334F907F00F05F +:10047A00E4A3F0907FB57402F00205A2E4907F0035 +:10048A00F0A3F0907FB57402F00205A2907FECE031 +:10049A00F45480FFC4540FFFE054072F25E024B41E +:1004AA00F582E4347FF583E054FD907F00F0E4A305 +:1004BA00F0907FB57402F00205A2907FB4E0440187 +:1004CA00F00205A2120E4840030205A2907FE8E05E +:1004DA0024FE601D240260030205A2907FEAE0B4B4 +:1004EA000105C2000205A2907FB4E04401F00205B2 +:1004FA00A2907FEAE07038907FECE0F45480FFC469 +:10050A00540FFFE054072F25E024B4F582E4347F2A +:10051A00F583E4F0907FECE05480FF131313541F2B +:10052A00FFE054072F907FD7F0E04420F0806990D5 +:10053A007FB4E04401F08060120E4A505B907FE87D +:10054A00E024FE60182402704F907FEAE0B40104B0 +:10055A00D2008044907FB4E04401F0803B907FEA6F +:10056A00E07020907FECE0F45480FFC4540FFFE069 +:10057A0054072F25E024B4F582E4347FF58374010F +:10058A00F08015907FB4E04401F0800C1201005015 +:10059A0007907FB4E04401F0907FB4E04402F02277 +:1005AA00C0E0C083C082C085C084C086758600C092 +:1005BA00D0C000C001C002C003C006C007907FA51A +:1005CA00E030E206750D06020676907FA5E020E18E +:1005DA000CE50D64026006750D07020676AF0DEF95 +:1005EA0024FE604814602C24FE6077240460030211 +:1005FA000676AB09AA0AA90BAF0C050C8F82758384 +:10060A0000120822907FA6F0E50C6508705E750D51 +:10061A00058059907FA6E0AB09AA0AA90BAE0C8EF9 +:10062A008275830012084F750D028040E50824FE8A +:10063A00B50C07907FA5E04420F0E50814B50C0A34 +:10064A00907FA5E04440F0E4F50D907FA6E0AB0969 +:10065A00AA0AA90BAE0C8E8275830012084F050CEC +:10066A00800A907FA5E04440F0E4F50D5391DFD075 +:10067A0007D006D003D002D001D000D0D0D086D087 +:0A068A0084D085D082D083D0E03206 +:100694008C338D34907F95E044C0F0E4F535F53625 +:1006A400C3E5369534E53595335069EF2536F58243 +:1006B400E5353EF58374FFF0F46002C322EF25367E +:1006C400F582E5353EF583E4F06002C322EF25367A +:1006D400F582E5353EF58374AAF064AA6002C3226C +:1006E400EF2536F582E5353EF5837455F0645560A3 +:1006F40002C322AD36E5362FF582E5353EF583EDAE +:10070400F0FCAC05ED6C6002C3220536E5367002E0 +:100714000535808CE4F535F536C3E5369534E53595 +:1007240095335027EF2536F582E5353EF583E065B0 +:10073400366002C322EF2536F582E5353EF583E4C3 +:0D074400F00536E5367002053580CED32273 +:10075100C204D205C203C200C202C201120E3DD2BE +:10076100E843D820907FAB74FFF0907FA9F0907F91 +:10077100AAF05391EF907F95E044C0F0907F93747D +:1007810030F0120A19907FAFE04401F0907FAEE0A3 +:10079100440DF0D2AF120E352001427524007523AD +:1007A100007522007521007F487E927D007C00ABA0 +:1007B10024AA23A922A821C31208A950DB2001D809 +:1007C1007A0079007800E5242401F524EA3523F53F +:1007D10023E93522F522E83521F52180CA300105CA +:1007E10012037AC20130041A120E4050131209008A +:1007F100300007907FD6E030E7F3120D4A120E4227 +:08080100C2031208FF80D62299 +:10080900BB010689828A83E0225002E722BBFE02ED +:09081900E32289828A83E4932220 +:10082200BB010CE58229F582E5833AF583E022508B +:1008320006E92582F8E622BBFE06E92582F8E222D5 +:0D084200E58229F582E5833AF583E49322EF +:10084F00F8BB010DE58229F582E5833AF583E8F0DF +:10085F00225006E92582C8F622BBFE05E92582C88B +:02086F00F22273 +:10087100BB0110E58229F582E5833AF583E0F5F0C5 +:10088100A3E0225009E92582F886F008E622BBFEA2 +:100891000AE92582F8E2F5F008E222E5832AF583E8 +:0808A100E993F5F0A3E99322AD +:1008A900EB9FF5F0EA9E42F0E99D42F0E89C45F0A5 +:0108B900221C +:0208BA008F2885 +:1008BC00E4F529752AFF752B11752C32AB2AAA2B5E +:1008CC00A92C900001120822B4031DAF290529EFB1 +:1008DC00B52801221208097E0029FFEE3AA90775F6 +:0E08EC002AFFF52B892C80D47B007A0079003E +:0108FA0022DB +:0408FB0053D8EF32AD +:0108FF0022D6 +:09090000907FD6E04480F0807481 +:10097D00438701000000000000000000000000227D +:0C098D00787FE4F6D8FD7581390209D4AA +:10099900020751E493A3F8E493A34003F68001F21C +:1009A90008DFF48029E493A3F85407240CC8C3335F +:1009B900C4540F4420C8834004F456800146F6DF2E +:1009C900E4800B0102040810204080900DECE47EC5 +:1009D900019360BCA3FF543F30E509541FFEE49323 +:1009E900A360010ECF54C025E060A840B8E493A3EA +:1009F900FAE493A3F8E493A3C8C582C8CAC583CA15 +:100A0900F0A3C8C582C8CAC583CADFE9DEE780BECC +:100A1900E4907F9CF07F0AFE120D94907F96748972 +:100A2900F0907F9C74CFF07FF47E01120D94907F3B +:100A390096E054FEF07F0A7E00120D947F057E0039 +:100A4900120D94907F96E04402F0E0547FF07F0508 +:100A59007E00120D94907F96E04440F07F057E0061 +:100A6900120D94907F96E054BFF07F327E00120DF4 +:100A790094907F96E04440F07F327E00120D9422DC +:100A8900753201E532601B7F01120DD77F007E0EA2 +:100A99007D007C01120694E433F53270057F0F1254 +:100AA9000DD7E532601B7F02120DD77F007E807D56 +:100AB900007C80120694E433F53270057F0F120D25 +:100AC900D7E532601B7F03120DD77F007E207D4062 +:100AD9007C5B120694E433F53270057F0F120DD753 +:0E0AE900E5326005E4FF120DD7E53224FF224E +:080AF700907FEAE0F510D32224 +:010AFF0032C4 +:100B0000020D6400020DAB00020D2F00020D7C00EF +:100B1000020DC100020AFF00020E4C00020E4D0041 +:100B2000020E4E00020E4F00020E5000020E510047 +:100B3000020E5200020E5300020E5400020E550027 +:100B4000020E5600020E5700020E5800020E590007 +:080B5000020E5A00020E5B00C8 +:100B5800E4FE752AFF752B11752C12AB2AAA2BA956 +:100B68002C9000011208226402702DAD060EEDB51E +:100B780007012290000212087185F028F5296228E1 +:100B8800E5286229E529622829FDE5283AA905759D +:0E0B98002AFFF52B892C80C37B007A007900A0 +:010BA600222C +:100BA700AB07AA06AC05E4FDE5116011EAFFAE0547 +:100BB7000DEE2410F582E4340FF583EFF0EBAE056C +:100BC7000D74102EF582E4340FF583EBF0AF050DAD +:100BD70074102FF582E4340FF583ECF0AF0F7A0F22 +:0D0BE7007B10120D107F0A7E00120D94226B +:100BF4008E328F338D348A358B36E4FDF537E5112B +:100C04006012E532FFAE050DEE2413F582E4340FD5 +:100C1400F583EFF0E533AE050D74132EF582E4345D +:100C24000FF583E533F0AF0F7A0F7B13120D10AF7E +:0B0C34000FAD34AB36AA35120CF122D4 +:100C3F008E328F338D348A358B36E4F537E537C3F3 +:100C4F00953450200533E533AE327002053214FF70 +:100C5F00E5362537F582E43535F583E0FD120BA730 +:050C6F00053780D922C9 +:100C7400A907E50D7025907FA5E04480F0E925E003 +:100C84004401907FA6F08D08AF03A9077509018A76 +:0D0C94000A890BE4F50C750D03D322C32271 +:100CA100A907E50D7023907FA5E04480F0E925E0D8 +:100CB100907FA6F08D08AF03A9077509018A0A89FB +:0B0CC1000BE4F50C750D01D322C322DB +:100CCC00907FD6E054FBF0E04408F0300604E0449A +:100CDC0002F07FD07E07120D94907FD6E054F7F08F +:050CEC00E04404F022C9 +:100CF100120C74E50D24FA6010146007240770F3D8 +:0F0D01007F0822E4F50D7F0722E4F50D7F06221F +:100D1000120CA1E50D24FA6010146007240770F38B +:0F0D20007F0822E4F50D7F0722E4F50D7F062200 +:100D2F00C0E0C083C082907FC4E4F05391EF907F06 +:0B0D3F00AB7404F0D082D083D0E0320F +:100D4A00907FD6E030E712E04401F07F147E001273 +:0A0D5A000D94907FD6E054FEF022C5 +:100D6400C0E0C083C082D2015391EF907FAB740185 +:080D7400F0D082D083D0E03200 +:100D7C00C0E0C083C082D2035391EF907FAB740864 +:080D8C00F0D082D083D0E032E8 +:100D94008E388F39E5391539AE38700215384E6002 +:070DA40005120E0080EE2293 +:100DAB00C0E0C083C0825391EF907FAB7402F0D050 +:060DBB0082D083D0E0327B +:100DC100C0E0C083C0825391EF907FAB7410F0D02C +:060DD10082D083D0E03265 +:100DD700AE077F217D0174002EF582E4340FAB82CC +:050DE700FA120D1022BC +:100DEC00500F00C0F9A4B0999282F880988883C6FD +:030DFC00A1868E3F +:010DFF0000F3 +:100E00007400F58690FDA57C05A3E582458370F905 +:010E100022BF +:0E0E1100907F00E510F0907FB57401F0D322C1 +:0E0E1F00907F00E50EF0907FB57401F0D322B5 +:080E2D00907FEAE0F50ED322EC +:080E3500E4F50DD2E9D2AF2271 +:030E3D00D20022BE +:020E4000D322BB +:020E4200D322B9 +:020E4400D322B7 +:020E4600D322B5 +:020E4800D322B3 +:020E4A00D322B1 +:010E4C003273 +:010E4D003272 +:010E4E003271 +:010E4F003270 +:010E5000326F +:010E5100326E +:010E5200326D +:010E5300326C +:010E5400326B +:010E5500326A +:010E56003269 +:010E57003268 +:010E58003267 +:010E59003266 +:010E5A003265 +:010E5B003264 +:101100001201000100000040470510270100010204 +:10111000000109022000010103A0000904000002EF +:10112000FF0000040705820240000007050202409C +:10113000000004030904260341006E0063006800F8 +:101140006F007200200043006800690070007300A7 +:101150002C00200049006E0063002E00280346008A +:10116000690072006D007700610072006500200068 +:101170004600720061006D00650057006F0072004C +:101180006B0073002A0343006F006E006600690065 +:101190006700750072006100740069006F006E00E6 +:1011A000200053007400720069006E006700220383 +:1011B00049006E0074006500720066006100630003 +:1011C0006500200053007400720069006E00670023 +:0211D00000001D +:00000001FF +/***************************************************************************** + * + * whiteheat.h -- ConnectTech WhiteHEAT Firmware. + * + * Copyright (C) 2000-2002 ConnectTech Inc (http://www.connecttech.com/) + * + * 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., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * (10/09/2002) Stuart MacDonald + * Firmware 4.06 + * + * (04/09/2000) gkh + * Updated the firmware with the latest provided by ConnectTech. + * + * (01/16/2000) gkh + * Fixed my intel hex processing tool, so now the firmware actually + * matches the original file (this was causing a few problems...) + * + * (01/15/2000) gkh + * Added debug loader firmware if DEBUG is #defined: + * Port 1 LED flashes when the vend_ax program is running + * Port 2 LED flashes when any SETUP command arrives + * Port 3 LED flashes when any valid VENDOR request occurs + * Port 4 LED flashes when the EXTERNAL RAM DOWNLOAD request occurs + * + * version 1.0 (01/09/2000) gkh + * Original firmware from ConnectTech massaged a little to be program + * readable. + * + *****************************************************************************/ + +#define whiteheat_DATE "20000106" diff --git a/firmware/whiteheat_loader_debug.HEX b/firmware/whiteheat_loader_debug.HEX new file mode 100644 index 0000000..5633d58 --- /dev/null +++ b/firmware/whiteheat_loader_debug.HEX @@ -0,0 +1,403 @@ +:10000000000000000302098D0000003303020E709F +:100010000000004303020B000000004B030205B385 +:100020000000010010907FA5E05410FFC4540F445D +:1000300050F50F13E4000110000001101033F5110A +:10004000907FE9E0245EB407004003020300012032 +:1000500000000120107C900128F82828730201BCC0 +:100060000201BC02010001300000013010910201C8 +:100070003D02015302016F02019A907F000001408E +:100080000000014010E511F0907FB57401F0907F01 +:10009000B4E04402F0000150000001501002037C63 +:1000A000907F92E0FFC4540F907F00F090000160B9 +:1000B00000000160107FB57401F0907FB4E044024D +:1000C000F002037C1200017000000170100A8950D8 +:1000D00007E4907F00F08006907F00740F0001809D +:1000E0000000018010F0907FB57401F0907FB4E0C3 +:1000F0004402F0020300019000000190107C907F08 +:10010000EAE0F50F02037C907F007407F00001A085 +:10011000000001A010907FB57401F0907FB4E0441E +:1001200002F07FE87E0001B0000001B01003120D64 +:10013000D5D206120D0D02037C907FEAE00001C0CB +:10014000000001C010752900F52AA3E0FEE4EE428C +:1001500029907FEEE00001D0000001D010752B0047 +:10016000F52CA3E0FEE4EE422B907FE8E00001E0F6 +:10017000000001E01064C060030202C9E52C452BB9 +:10018000700302037C0001F0000001F010C3E52CB5 +:100190009440E52B94005008852B2D852C000200FF +:1001A00000000200102E8006752D00752E40907FF5 +:1001B000E9E064A370000210000002101034F53171 +:1001C000F532C3E532952EE531952D505C000220C5 +:1001D0000000022010E52A2532F582E5313529F5A7 +:1001E00083E0FF740000023000000230102532F579 +:1001F00082E4347FF583EFF00532E532700002408F +:10020000000002401002053180D0E4F531F532C320 +:10021000E532952EE5000250000002501031952D78 +:10022000501874002532F582E4347FF583000260B3 +:10023000000002601074CDF00532E5327002053125 +:1002400080DDAF2AAE000270000002701029AD2ED2 +:100250007A7F79007B00120BF4907FB5E500028075 +:1002600000000280102EF0E52E252AF52AE52D3516 +:1002700029F529C3E500029000000290102C952E6C +:10028000F52CE52B952DF52B907F92E0FF0002A039 +:10029000000002A010C4540F752F00F530D3940055 +:1002A000E52F9400500002B0000002B0100C907FC7 +:1002B000B4E020E1030201E780F4907FB40002C0C3 +:1002C000000002C010E020E2030201E780F4907F0A +:1002D000E8E06440600002D0000002D01003020396 +:1002E0007CE52C452B700302037CE4907F0002E048 +:1002F000000002E010C5F0907F92E0FFC4540F753B +:100300002F00F530D30002F0000002F0109400E559 +:100310002F94005009907FC4E030E1098000030071 +:100320000000030010F7907FB4E020E3F9907FC550 +:10033000E0752D00F500031000000310102E907FD3 +:10034000E9E064A3703890206BF0F531F5000320EC +:10035000000003201032C3E532952EE531952D5073 +:100360003474C025320003300000033010F582E4FD +:10037000347EF583E0FFE52A2532F582E50003406F +:100380000000034010313529F583EFF00532E532E6 +:1003900070020531800003500000035010D0AF2AD6 +:1003A000AE29AD2E7A7E79C07BC0120C800003602E +:1003B0000000036010E52E252AF52AE52D3529F5E4 +:1003C00029C3E52C95000370000003700D2EF52C59 +:1003D000E52B952DF52B0202D4C300000000037D10 +:1003E000012200000000037E10907FE9E07003020C +:1003F00004561470030204D22400038E0000038EFE +:1004000010FE700302054624FB70030204501470B2 +:100410000300039E0000039E1002044A14700302AE +:10042000043E147003020444240003AE000003AE33 +:100430001005600302059A120E7B40030205AB9083 +:100440007F0003BE000003BE10EBE024FE60161424 +:100450006040240270697411900003CE000003CE46 +:10046000107FD4F07400907FD5F00205AB907FEA46 +:10047000E00003DE000003DE10FF120B588B268A1B +:10048000278928EA496011AE020003EE000003EE5E +:1004900010EE907FD4F0AF01EF907FD5F00205AB66 +:1004A000900003FE000003FE107FB4E04401F00260 +:1004B00005AB907FEAE0FF120C00040E0000040E72 +:1004C000103F8B268A278928EA496011AE02EE90F8 +:1004D0007F00041E0000041E10D4F0AF01EF907FD7 +:1004E000D5F00205AB907FB4E000042E0000042E8E +:1004F000104401F00205AB907FB4E04401F0020526 +:10050000AB00043E0000043E10120E520205AB1276 +:100510000E600205AB120AF70200044E0000044E02 +:100520001005AB1208F10205AB120E7D4003020567 +:10053000AB00045E0000045E10907FE8E0247F6062 +:10054000241460312402705BA200046E0000046E6B +:100550001000E433FF25E0FFA202E4334F907F0058 +:10056000F000047E0000047E10E4A3F0907FB574D8 +:1005700002F00205ABE4907F0000048E0000048EC0 +:1005800010F0A3F0907FB57402F00205AB907FEC01 +:10059000E000049E0000049E10F45480FFC4540F39 +:1005A000FFE054072F25E024B40004AE000004AEA1 +:1005B00010F582E4347FF583E054FD907F00F0E491 +:1005C000A30004BE000004BE10F0907FB57402F0DA +:1005D0000205AB907FB4E044010004CE000004CEDD +:1005E00010F00205AB120E7F40030205AB907FE8CE +:1005F000E00004DE000004DE1024FE601D24026022 +:10060000030205AB907FEAE0B40004EE000004EEC4 +:10061000100105C2000205AB907FB4E04401F00276 +:10062000050004FE000004FE10AB907FEAE0703885 +:10063000907FECE0F45480FFC400050E0000050E2E +:1006400010540FFFE054072F25E024B4F582E43462 +:100650007F00051E0000051E10F583E4F0907FEC7E +:10066000E05480FF131313541F00052E0000052EC5 +:1006700010FFE054072F907FD7F0E04420F0806E09 +:100680009000053E0000053E107FB4E04401F0807C +:1006900065120E815060907FE800054E0000054E07 +:1006A00010E024FE601824027054907FEAE0B40148 +:1006B0000400055E0000055E10D2008049907FB402 +:1006C000E04401F08040907FEA00056E0000056E76 +:1006D00010E07020907FECE0F45480FFC4540FFFD2 +:1006E000E000057E0000057E1054072F25E024B4AD +:1006F000F582E4347FF583740100058E0000058ED9 +:1007000010F0801A907FB4E04401F08011E4902052 +:100710006A00059E0000059E10F01201005007902F +:100720007FB4E04401F0907FB40005AE000005AE58 +:1007300004E04402F0000000000005B201220000C5 +:10074000000005B310C0E0C083C082C085C084C073 +:1007500086758600C00005C3000005C310D0C00028 +:10076000C001C002C003C006C007907FA50005D32A +:10077000000005D310E030E206750D0602067F90FA +:100780007FA5E020E10005E3000005E3100CE50D86 +:1007900064026006750D0702067FAF0DEF0005F3DA +:1007A000000005F31024FE604814602C24FE6077DE +:1007B00024046003020006030000060310067FAB5A +:1007C00009AA0AA90BAF0C050C8F827583000613CA +:1007D000000006131000120785907FA6F0E50C6557 +:1007E00008705E750D000623000006231005805971 +:1007F000907FA6E0AB09AA0AA90BAE0C8E000633C7 +:100800000000063310827583001207B2750D028056 +:1008100040E50824FE0006430000064310B50C071F +:10082000907FA5E04420F0E50814B50C0A000653BB +:100830000000065310907FA5E04440F0E4F50D90D1 +:100840007FA6E0AB090006630000066310AA0AA9B0 +:100850000BAE0C8E827583001207B2050C00067376 +:100860000000067310800A907FA5E04440F0E4F594 +:100870000D5391DFD0000683000006831007D006D9 +:10088000D003D002D001D000D0D0D086D0000693C3 +:10089000000006930A84D085D082D083D0E0320055 +:1008A0000000069D10C204D205E4F525C203C20073 +:1008B000C202C201120006AD000006AD100E74D2D5 +:1008C000E843D820907FAB74FFF0907FA90006BD6D +:1008D000000006BD10F0907FAAF05391EF907F9535 +:1008E000E044C0F0900006CD000006CD107F937468 +:1008F00030F0120A1975244875239275220006DD1E +:10090000000006DD1000752100E4FFFE7E0590204A +:10091000687401F0A30006ED000006ED10DEFC7E19 +:10092000007F05907FAFE04401F0907FAE0006FDB0 +:10093000000006FD10E0440DF0D2AF120E68300149 +:100940000AE490206900070D0000070D10F0120363 +:100950007EC20130041A120E775013120900071DCF +:100960000000071D1000300007907FD6E030E7F34D +:10097000120D8B120E00072D0000072D1079C203F7 +:100980007FFF7EFF7DFF7CFF782112081D00073D61 +:100990000000073D107B007A0079007800C3120840 +:1009A0000C701B752400074D0000074D104875237F +:1009B00092F522F5216325FF902068E52500075D6B +:1009C0000000075D0EF0A37401F0A3F0A3F012087D +:1009D000FF809B000000076B012200000000076CF5 +:1009E00010BB010689828A83E0225002E722BBFE07 +:1009F0000200077C0000077C09E32289828A83E4E5 +:100A0000932200000000078510BB010CE58229F548 +:100A100082E5833AF583E0225000079500000795B0 +:100A20001006E92582F8E622BBFE06E92582F8E2F7 +:100A3000220007A5000007A50DE58229F582E583C0 +:100A40003AF583E493220000000007B210F8BB01DE +:100A50000DE58229F582E5833AF583E8F00007C2C7 +:100A6000000007C210225006E92582C8F622BBFE0C +:100A700005E92582C80007D2000007D202F2220051 +:100A8000000007D410BB0110E58229F582E5833A06 +:100A9000F583E0F5F00007E4000007E410A3E0228E +:100AA0005009E92582F886F008E622BBFE0007F42B +:100AB000000007F4100AE92582F8E2F5F008E222C6 +:100AC000E5832AF5830008040000080408E993F58B +:100AD000F0A3E993220000000000080C10EB9FF542 +:100AE000F0EA9E42F0E99D42F0E89C45F000081CC7 +:100AF0000000081C012200000000081D1008080862 +:100B0000E62FFFF618E63EFEF618E63DFD00082D3E +:100B10000000082D07F618E63CFCF6220000083419 +:100B2000048C348D350000000000083810907F954B +:100B3000E044C0F0E4F536F537C3E53795000848E2 +:100B4000000008481035E53695345069EF2537F533 +:100B500082E5363EF500085800000858108374FFFF +:100B6000F0F46002C322EF2537F582E5360008680D +:100B700000000868103EF583E4F06002C322EF2510 +:100B800037F582E53600087800000878103EF583D6 +:100B900074AAF064AA6002C322EF2537F500088822 +:100BA000000008881082E5363EF5837455F06455E0 +:100BB0006002C322AD000898000008981037E5379E +:100BC0002FF582E5363EF583EDF0FCAC050008A874 +:100BD000000008A810ED6C6002C3220537E53770ED +:100BE000020536808C0008B8000008B810E4F5361D +:100BF000F537C3E5379535E536953450270008C8F5 +:100C0000000008C810EF2537F582E5363EF583E091 +:100C100065376002C30008D8000008D81022EF250D +:100C200037F582E5363EF583E4F00537E50008E860 +:100C3000000008E808377002053680CED3000000B7 +:100C4000000008F001220000000008F10E907F0073 +:100C5000E510F0907FB57401F0D32200000008FF8A +:100C6000012200000000090009907FD6E04480F0D6 +:100C7000807400000000097D10438701000000001F +:100C800000000000000000002200098D0000098D16 +:100C90000C787FE4F6D8FD75813A0209D400000093 +:100CA000000009991002069DE493A3F8E493A34081 +:100CB00003F68001F20009A9000009A91008DFF479 +:100CC0008029E493A3F85407240CC8C3330009B95E +:100CD000000009B910C4540F4420C8834004F456DE +:100CE000800146F6DF0009C9000009C910E4800B45 +:100CF0000102040810204080900E2DE47E0009D9E6 +:100D0000000009D910019360BCA3FF543F30E509EE +:100D1000541FFEE4930009E9000009E910A36001F3 +:100D20000ECF54C025E060A840B8E493A30009F9B1 +:100D3000000009F910FAE493A3F8E493A3C8C5826C +:100D4000C8CAC583CA000A0900000A0910F0A3C86E +:100D5000C582C8CAC583CADFE9DEE780BE000A19BA +:100D600000000A1910E4907F9CF07F0AFE120DD556 +:100D7000907F967489000A2900000A2910F0907F5C +:100D80009C74CFF07FF47E01120DD5907F000A395C +:100D900000000A391096E054FEF07F0A7E00120D22 +:100DA000D57F057E00000A4900000A4910120DD5C2 +:100DB000907F96E04402F0E0547FF07F05000A59EE +:100DC00000000A59107E00120DD5907F96E0444035 +:100DD000F07F057E00000A6900000A6910120DD537 +:100DE000907F96E054BFF07F327E00120D000A79AA +:100DF00000000A7910D5907F96E04440F07F327E63 +:100E000000120DD522000A8900000A8910753301ED +:100E1000E533601B7F01120E187F007E0E000A99D9 +:100E200000000A99107D007C01120834E433F53388 +:100E300070057F0F12000AA900000AA9100E18E51C +:100E400033601B7F02120E187F007E807D000AB97E +:100E500000000AB910007C80120834E433F53370C6 +:100E6000057F0F120E000AC900000AC91018E533E9 +:100E7000601B7F03120E187F007E207D40000AD980 +:100E800000000AD9107C5B120834E433F533700596 +:100E90007F0F120E18000AE900000AE90DE5336021 +:100EA00005E4FF120E18E53324FF000000000AF6E7 +:100EB0000122000000000AF708907FEAE0F510D355 +:100EC0002200000000000AFF0132000000000B00B9 +:100ED00010020DA500020DEC00020D7000020DBD08 +:100EE00000000B1000000B1010020E0200020AFF9F +:100EF00000020E8300020E8400000B2000000B2075 +:100F000010020E8500020E8600020E8700020E8877 +:100F100000000B3000000B3010020E8900020E8A18 +:100F200000020E8B00020E8C00000B4000000B40F4 +:100F300010020E8D00020E8E00020E8F00020E9027 +:100F400000000B5000000B5008020E9100020E92A0 +:100F50000000000000000B5810E4FE752BFF752CFC +:100F600011752D12AB2BAA2CA9000B6800000B6881 +:100F7000102D9000011207856402702DAD060EED54 +:100F8000B5000B7800000B781007012290000212C8 +:100F900007D485F029F52A6229000B8800000B8808 +:100FA00010E529622AE52A622929FDE5293AA905E1 +:100FB00075000B9800000B980E2BFFF52C892D80E7 +:100FC000C37B007A0079000000000BA6012200001C +:100FD00000000BA706AB07AA06AC050000000BAD8E +:100FE00010E4FDE5116011EAFFAE050DEE2410F5E9 +:100FF00082000BBD00000BBD10E4340FF583EFF051 +:10100000EBAE050D74102EF582000BCD00000BCD5C +:1010100010E4340FF583EBF0AF050D74102FF5825B +:10102000E4000BDD00000BDD10340FF583ECF0AFB6 +:101030000F7A0F7B10120D517F000BED00000BEDAE +:10104000060A7E00120DD50000000BF301220000FD +:1010500000000BF40A8E338F348D358A368B3700BF +:1010600000000BFE10E4FDF538E5116012E533FFDA +:10107000AE050DEE24000C0E00000C0E1013F582D0 +:10108000E4340FF583EFF0E534AE050D74000C1E6B +:1010900000000C1E10132EF582E4340FF583E534A6 +:1010A000F0AF0F7A0F000C2E00000C2E107B1312E5 +:1010B0000D51AF0FAD35AB37AA36120D32000C3ED5 +:1010C00000000C3E0122000000000C3F028F2900AE +:1010D00000000C4110E4F52A752BFF752C11752DBD +:1010E00032AB2BAA2C000C5100000C5110A92D90F2 +:1010F0000001120785B4031DAF2A052AEF000C6119 +:1011000000000C6110B529012212076C7E0029FF36 +:10111000EE3AA90775000C7100000C710E2BFFF55B +:101120002C892D80D47B007A0079000000000C7F90 +:101130000122000000000C800A8E338F348D358A26 +:10114000368B370000000C8A10E4F538E538C3957B +:101150003550200534E534AE33000C9A00000C9A6B +:10116000107002053314FFE5372538F582E4353673 +:10117000F5000CAA00000CAA0A83E0FD120BA705DB +:101180003880D90000000CB40122000000000CB52A +:1011900010A907E50D7025907FA5E04480F0E925B2 +:1011A000E0000CC500000CC5104401907FA6F08D36 +:1011B00008AF03A9077509018A000CD500000CD5FA +:1011C0000D0A890BE4F50C750D03D322C322000030 +:1011D00000000CE210A907E50D7023907FA5E04404 +:1011E00080F0E925E0000CF200000CF210907FA6E0 +:1011F000F08D08AF03A9077509018A0A89000D025D +:1012000000000D020B0BE4F50C750D01D322C32277 +:1012100000000D0D10907FD6E054FBF0E04408F084 +:10122000300604E044000D1D00000D1D1002F07F8B +:10123000D07E07120DD5907FD6E054F7F0000D2D2B +:1012400000000D2D05E04404F022000000000D32E6 +:1012500010120CB5E50D24FA601014600724077015 +:10126000F3000D4200000D420F7F0822E4F50D7FD0 +:101270000722E4F50D7F062200000D5110120CE24A +:10128000E50D24FA6010146007240770F3000D6167 +:1012900000000D610F7F0822E4F50D7F0722E4F5C1 +:1012A0000D7F062200000D7010C0E0C083C0829048 +:1012B0007FC4E4F05391EF907F000D8000000D801B +:1012C0000BAB7404F0D082D083D0E03200000D8BE1 +:1012D00010907FD6E030E712E04401F07F147E00EA +:1012E00012000D9B00000D9B0A0DD5907FD6E05497 +:1012F000FEF0220000000DA510C0E0C083C082D225 +:10130000015391EF907FAB7401000DB500000DB556 +:1013100008F0D082D083D0E03200000000000DBD84 +:1013200010C0E0C083C082D2035391EF907FAB74B2 +:1013300008000DCD00000DCD08F0D082D083D0E0A4 +:101340003200000000000DD5108E398F3AE53A15B5 +:101350003AAE39700215394E60000DE500000DE51A +:101360000705120E4180EE2200000DEC10C0E0C017 +:1013700083C0825391EF907FAB7402F0D0000DFCDC +:1013800000000DFC0682D083D0E0320000000E0287 +:1013900010C0E0C083C0825391EF907FAB7410F017 +:1013A000D0000E1200000E120682D083D0E0320070 +:1013B00000000E1810AE077F217D0174002EF5820B +:1013C000E4340FAB82000E2800000E2805FA120D3F +:1013D0005122000000000E2D10500F00C0F9A4B0E3 +:1013E000999282F880988883C6000E3D00000E3DD9 +:1013F00003A1868E00000E400100000000000E4197 +:10140000107400F58690FDA57C05A3E582458370E8 +:10141000F9000E5100000E510122000000000E5292 +:101420000E907F00E50EF0907FB57401F0D322009E +:1014300000000E6008907FEAE0F50ED32200000065 +:1014400000000E6808E4F50DD2E9D2AF22000000DA +:1014500000000E700453D8EF3200000000000E743C +:1014600003D2002200000E7702D3220000000E7982 +:1014700002D3220000000E7B02D3220000000E7D6A +:1014800002D3220000000E7F02D3220000000E8152 +:1014900002D3220000000E830132000000000E84FF +:1014A0000132000000000E850132000000000E86AF +:1014B0000132000000000E870132000000000E889B +:1014C0000132000000000E890132000000000E8A87 +:1014D0000132000000000E8B0132000000000E8C73 +:1014E0000132000000000E8D0132000000000E8E5F +:1014F0000132000000000E8F0132000000000E904B +:101500000132000000000E910132000000000E9236 +:101510000132000000001100101201000100000063 +:1015200040470510270100010200111000001110B2 +:1015300010000109022000010103A00009040000BD +:10154000020011200000112010FF00000407058296 +:101550000240000007050202400011300000113077 +:1015600010000004030904260341006E00630068B4 +:101570000000114000001140106F00720020004375 +:1015800000680069007000730000115000001150E5 +:10159000102C00200049006E0063002E0028034636 +:1015A000000011600000116010690072006D00778A +:1015B00000610072006500200000117000001170D1 +:1015C000104600720061006D00650057006F0072E8 +:1015D0000000118000001180106B0073002A03438B +:1015E000006F006E0066006900001190000011900D +:1015F000106700750072006100740069006F006E72 +:10160000000011A0000011A010200053007400720F +:101610000069006E00670022030011B0000011B0E5 +:101620001049006E0074006500720066006100637E +:10163000000011C0000011C01065002000530074AC +:1016400000720069006E0067000011D0000011D028 +:091650000200000000000000008F +:00000001FF +/***************************************************************************** + * + * whiteheat.h -- ConnectTech WhiteHEAT Firmware. + * + * Copyright (C) 2000-2002 ConnectTech Inc (http://www.connecttech.com/) + * + * 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., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * (10/09/2002) Stuart MacDonald + * Firmware 4.06 + * + * (04/09/2000) gkh + * Updated the firmware with the latest provided by ConnectTech. + * + * (01/16/2000) gkh + * Fixed my intel hex processing tool, so now the firmware actually + * matches the original file (this was causing a few problems...) + * + * (01/15/2000) gkh + * Added debug loader firmware if DEBUG is #defined: + * Port 1 LED flashes when the vend_ax program is running + * Port 2 LED flashes when any SETUP command arrives + * Port 3 LED flashes when any valid VENDOR request occurs + * Port 4 LED flashes when the EXTERNAL RAM DOWNLOAD request occurs + * + * version 1.0 (01/09/2000) gkh + * Original firmware from ConnectTech massaged a little to be program + * readable. + * + *****************************************************************************/ + +#define whiteheat_DATE "20000106" diff --git a/firmware/yamaha/ds1_ctrl.fw.ihex b/firmware/yamaha/ds1_ctrl.fw.ihex new file mode 100644 index 0000000..aa9b1d7 --- /dev/null +++ b/firmware/yamaha/ds1_ctrl.fw.ihex @@ -0,0 +1,769 @@ +:10000000070000000700240007000C0007001C0088 +:1000100007000600020070002000000040000300FE +:100020000471000086420000400003000D0F000034 +:10003000100800003A042000820200000D020000B7 +:10004000100800003A04200082120000820E2000F6 +:10005000821A00000D2D0300100800003A04100061 +:100060008DD30200100800003A0418000D010000B2 +:1000700015000200FD000000200000006088030061 +:100080006090030060800300408003004080030014 +:1000900040800300408001007D0A00004080030092 +:1000A000408003004080010002042000820800001C +:1000B0001A0008000409000086590100070000002A +:1000C000070026000700000007000000068A010064 +:1000D000070000008D0C0300100800003A0418000F +:1000E000070026007D080000428001000A1600007B +:1000F00006A20400070000008D2100001008000087 +:100100003A04080006C2210007000000FD070000B5 +:10011000428001000A0008000409000086930200E2 +:1001200095010000040D09000700000020080000F0 +:10013000F50000007D0B000060F00100FD000000F4 +:1001400006220300408001007D0A00004280030077 +:100150004A8013000A001800201800006090050073 +:100160006088050040800100FD0000004280010021 +:100170000A007000150100004411070086230300E7 +:100180000000030020700000064A030040800100C8 +:100190008D340000100800003A04080006EA21002F +:1001A000070000008DD30200100800003A04180078 +:1001B0000682010007000000070024008D0F0000E8 +:1001C000100800003A16000002240000025C000043 +:1001D000FD28000020000000408001000D00080004 +:1001E0001508000084095100070000004D000000C0 +:1001F0005D0E0000020E00008D410000100800009E +:100200003A040800068A2C00070000008D00000058 +:1002100024090000020F00008D45000010080000B6 +:100220003A040800068A2C00070000007D38000010 +:10023000428001000A000800151000008409010036 +:10024000868301000700000006AA010007000000E5 +:10025000FD080000428001000A0018000419000097 +:100260008680210007002800101800003A042800AA +:10027000020C28000D000000100800003A142800AD +:100280008D80080020080000FD0200004080010071 +:10029000070020000D02000004991800070000006C +:1002A0002D400000BD000000FD0200004280010062 +:1002B0000A00080004090000865A05000700000033 +:1002C00000010000200A00007D04000040800100C1 +:1002D000428001000A002000153000004421010086 +:1002E000864903000700000004210000864903003E +:1002F000070000008D0F0000100800003A0C2800D5 +:100300004439020086C906000700000010180000EA +:100310003A0428000D81080020080000FD020000BA +:100320004080010007002000102800003A007800FB +:100330008D680000100800003A040800068A2800B2 +:10034000070000000D40000015100000049918007F +:1003500004292900043939000700000006020600BC +:1003600007000000F50400007D00000020000000F0 +:100370008D00000060080100408001007D04000045 +:10038000428003004A8021000A001800441902003C +:1003900086582100070000007540000004F171003C +:1003A00007000000420001000A00280004290000A4 +:1003B00086202100070000000D3C000004A9300049 +:1003C000070000007D070000428001000A000800CD +:1003D0000409000086DA07007D05000020280000DF +:1003E00060B0030006F207004080010020300000EA +:1003F00060A8030040800100FD020000428001006F +:100400000A0008000409000086FA0700070000003F +:100410007D050000428001000A0428008D0E0000C6 +:10042000100800003A0C28000D0000001008000021 +:100430003A1428000D00090020080000FD02000009 +:100440004080010007002000FD3D0000200000006A +:10045000408001007D1000008D8D0000100800001C +:100460003A040800068A280007000000150800006A +:100470001A00080084090100865109007D1300005C +:1004800000052000200F2800608F3300608F3B00A4 +:10049000608F4300608F4B00608F5300608F5B0064 +:1004A000608A030040800100BD7F0000C43D380029 +:1004B000070000007D1A0000751300004280010053 +:1004C0004A0009000A001000048D0B000495130077 +:1004D00007000000200800006090010004110000E7 +:1004E0008620210040000100FD170000428001002D +:1004F0000A0008000409000086222100070000000D +:100500007D190000428003004A8009000A001000A3 +:100510002409000064160000FD1100004280030061 +:100520004A802B004A8019008D0000004489210078 +:10053000070000004422000086E10A0007000000D6 +:10054000641A0000242A00007D190000020108003E +:10055000220110002008000060900300408001008C +:10056000FD3D00008D0000002008000040800100DB +:10057000751300007D1A0000420001004A80090046 +:100580000A0010001D020000E4890100E492290025 +:1005900044913000070000000D060000150A00001D +:1005A0001D0C000025100000E4A90000E42B010050 +:1005B00064040000E4B30100E432020064040000BB +:1005C0006404000064040000640400000D040000E2 +:1005D000C4B108000700000020080000F50B00006F +:1005E000400003007D190000428003004A8009009A +:1005F000240A00000A000800640E0800070000003A +:1006000022011000200800006010030040000100DB +:10061000AC6400007D02000020000000408001006A +:100620007D10000042800100FD1100004A803B0067 +:100630004A8009000A0020009500000044111A00B9 +:1006400044A1000086200D000D04000084B90000C4 +:1006500086210D00FD18000042800100FD10000001 +:100660004A8009000A0028009500000024090100C2 +:10067000642A000086110D00070000000429000014 +:1006800086220D0007000000062A0D000200080067 +:100690008D0000007D38000020080000408001002F +:1006A0007D120000428001000A00100004390000A1 +:1006B00086D10D000D080000B5FF7F0084B9000051 +:1006C00086A10D0025000000067A0E002D00000016 +:1006D000150000002D0800008DC702002008000052 +:1006E00006C20E000D00000035807F0084B90000B6 +:1006F00086710E00250040008D00000044091100A5 +:10070000070000008D0100000495100007000000A4 +:10071000649100002404000024040000240400006C +:1007200002011000020028008DC60200200800000F +:1007300006C20E008D0100002D0400008D00000097 +:1007400004951000070000000D02000084911000C5 +:10075000070000000DC70200200800008D00000007 +:10076000FD38000040800100FD3B0000201000002B +:1007700060A80300150800008431310084212100A5 +:100780000700000060B0030060A00300408001008B +:10079000FD2200009500000024090100240400004F +:1007A0002404000064120000020110002008000070 +:1007B0006090030040800100241900008DFB0000C0 +:1007C0007D390000200800004080050042800300C1 +:1007D0004A840900060600000A04080024040000F8 +:1007E000240400007D110000428001000A0008007E +:1007F000240A000002052800020C28000D800900D0 +:1008000020080000FD0200004080010007002000D9 +:10081000FD220000428001000A000800950000004F +:10082000C40D2800241901007D1900004280010038 +:10083000FD1100004A8009000A001000B500000008 +:1008400044311100048D0A0007000000440A08002A +:100850000495120007000000FD2300002010000096 +:100860004080030044121000070000002008000030 +:100870006090030040800100FD0200004280010002 +:100880000A0008000409000086FA100007000000B2 +:10089000FD3B000000010000100A00007A800B0000 +:1008A0004A80130084090900070000009500000039 +:1008B000043D0100868011000A00100002001000B3 +:1008C0008409090007000000428003004A801100EB +:1008D000040D0900070000000A001000840D090043 +:1008E000070000007D250000200800004080010076 +:1008F0000D010000100800003A1428007D120000CD +:10090000428001000A0020007D19000042800100A1 +:100910007D1100004A8031000A00100024310000DF +:100920000D2801007D3900002008000040800500EE +:10093000428003004A840900060600000A040800F9 +:1009400002013000243100002404000024040000CF +:1009500024120000020528004C1A00008601130032 +:10096000020070002D000000000003007D38000030 +:10097000428001000A001000062A13002421000012 +:10098000AD000000020010000D010000240900006D +:10099000246B00008D3601007D3900002008000026 +:1009A00040800500428003004A84090006060000DA +:1009B0000A040800643200008D000000240A0000D0 +:1009C000201000007D220000408001000D3C01004D +:1009D000100800003A04080006D2290007000000B1 +:1009E000202800007D200000408001007D110000D3 +:1009F000428003004A8013000A8033007D380000E3 +:100A0000428001000A00080004090000863A16002E +:100A1000070000008D000000640903008D470100FD +:100A20007D3900002008000040800500428003005E +:100A30004A840900060600000A0408000201380082 +:100A4000240400002404000024120000FD02000021 +:100A5000428001000A0008000409000086A2140078 +:100A600007000000020528004C1A00008639160015 +:100A700007000000642103002C630000FD3D00001E +:100A8000428001000A0008009500000004090900E6 +:100A900007000000200800004C1A000086611500C5 +:100AA0004080010000000300067A150024210000A8 +:100AB0000D01000024090000246B00008D5B010083 +:100AC0007D390000200800004080050042800300BE +:100AD0004A840900060600000A040800643A00007F +:100AE0009500000024120000FD0200004280010079 +:100AF0000A0008000409000086DA1500070000005B +:100B00008D620100100800003A04080006D2290096 +:100B10000700000006D2140007000000207000004B +:100B20000A0108002A011000FD200000608803006F +:100B300060900300408001007D220000428001009F +:100B4000FD3D00000A0008004A843100040900004D +:100B500086D816008B0018008D000000049918003C +:100B60002C31000006AA1700070000004C320000DC +:100B700086331700070000000419000086301700B4 +:100B80000700000095000000449119002C2200008D +:100B9000243100006C6300003D0E0000751300005E +:100BA000FD0B0000420001004A8009000A0010000D +:100BB000EC8A0300EC9303004C22000086A9170086 +:100BC000070000008D000000049918006C2200004E +:100BD0002C3200000A053000AB1D300083200000DD +:100BE000FD180000428001000A000800248901006D +:100BF000020530008310000075180000420001005B +:100C00000A0010008D000000240901007513000087 +:100C100042053300CB0C3300CB2C3300CB343300F4 +:100C2000CB3C3300CB443300CB4C3300CB543300AC +:100C30008B5C300083600000F50200004200010080 +:100C40000A00080004090000867A18000700000066 +:100C50002D1E0000FD050000428001000A00080072 +:100C600024890200020528000D060000100800007B +:100C70003A0C28008D000000100800003A142800EB +:100C80008D800A0020080000F502000040000100ED +:100C90000700220075120000420003004A002100F4 +:100CA0008D00000044091A00070000000D980100A3 +:100CB000100800003A04080006222B00070000007C +:100CC000F5010000420003004A000D000A00100078 +:100CD00044910800070000002008000040000100C7 +:100CE000F525000044310A0007000000200800003C +:100CF00060280300400003007D21000042800300C3 +:100D00004A800B000A001000200800006010030059 +:100D1000400003008D000000240100002C010000B1 +:100D2000640E0000641A00006C6300000A010800F1 +:100D30002A0110002008000060100300400003009A +:100D4000FD200000428001000A0008007D22000012 +:100D5000428001000A00100020080000601003001B +:100D6000400003007D190000428001000A000800D5 +:100D7000FD220000428003000A001000200800004D +:100D80006010030040000300040D0900070000008C +:100D90002008000040000300428003004A800B004E +:100DA0000A0010002008000060100300400003004B +:100DB000428003004A8013004A801900040D11008C +:100DC000048D1900070000000A0008002010000030 +:100DD0006018030060080300400003008D0000005D +:100DE00044090B000700000020080000400001003B +:100DF000F5050000420003000A000800200800007A +:100E000040000100F5000000420001000A00080057 +:100E10000409000086601C00751E000042000300EB +:100E20004A0401000A0C000006721C0007000000C2 +:100E300002040000020C00007D170000F51A0000FB +:100E4000428001004A1403004A1C03004A240300A4 +:100E50004A2C03004A3403004A3C03004A4403007E +:100E60000A4C00003D040000F5130000FD1A0000CC +:100E7000420003004A000B004A801B004A80130016 +:100E80000A0020004491080044A11900E4890300ED +:100E9000EC990300025500000A5D000042000300C7 +:100EA0004A000B004A801B004A8013000A00200001 +:100EB0004491080044A11900E4890300EC9903005F +:100EC000026500000A6D0000420003004A000B00AA +:100ED0004A0019004A802B004A8013004A802100F2 +:100EE0000A0030004491080044A1190044B12A00CE +:100EF000E4890300EC990300027500000A7D0000FC +:100F0000E4A90300020700007D10000015040000A2 +:100F1000428001000A000800E4090100020F0000FD +:100F2000F52A0000FD190000420001004A80090076 +:100F30000A0010003409000074160000F5290000B2 +:100F4000420001000A0010007C91000075200000A2 +:100F5000420001000A0008000409000086D21E00B9 +:100F6000F5260000F5270000420003004A000900B2 +:100F70000A0010003C0A00007C160000751A0000F0 +:100F8000FD0B0000420001004A8051000A004800A9 +:100F90000700160075100000420001000A2C28000E +:100FA000121D280012252800321F000007001E0015 +:100FB00007000E007519000042000100F52D000029 +:100FC0004A000D000A0010004491000086B21F0084 +:100FD000420001000A3428005D0E00008D00000070 +:100FE000750300002008000040000100F4D2050055 +:100FF00004D154005C7300008653200007000000F9 +:1010000007000C000700080007000A000D0402009A +:10101000100800003A040800062233000700000010 +:10102000065A200007000000070008007522000093 +:10103000420001000A002000042100008620210057 +:101040002D1E0000F5020000420001000A00080009 +:101050000409000086922000070000001020000014 +:101060003A0430007D050000C38001000A0008003A +:101070002489020002052800020C28000D810A00C4 +:1010800020080000F50200004000010007002200D7 +:10109000FD040000428001000A007000000003000F +:1010A0002070000006FA0600408001000D180200C2 +:1010B000100800003A04080006222B000700000078 +:1010C000FD020000428001000A000800040900003F +:1010D000868A21000700000006F2010007000000D8 +:1010E00075080000FD0900000D010000060A22003D +:1010F00095020000750B00007D0900000D00000046 +:1011000015050000420001000A0018000419000043 +:1011100086782800F506000020100000400001003D +:10112000F5040000200800004000010075070000E1 +:10113000420001004A8009000A001000241100004A +:101140000409000086BA2200150800000201080008 +:101150000412100006DA22007505000004120800CF +:1011600007000000020110007505000025040000C2 +:10117000241102000201100020080000601003008A +:101180004000010024190000867828008D0000002E +:1011900064040000049D00008688270002011800F6 +:1011A00075050000420001000A0428008D010000BE +:1011B00024090000020D28000D0000002409000091 +:1011C000021528000D00100020080000F5020000A4 +:1011D000400001000700200075110000FD02000022 +:1011E000428001000A0008000409000086C22300B2 +:1011F0000700000000010000200B0800600B130036 +:10120000600B1B00600A0300400001004200050063 +:101210004A003D004A0035004A002D000A00200027 +:10122000F5060000420001000A142800F504000041 +:10123000420001000A00080015030000040D01002F +:1012400086CA24001540000095000000040D01002E +:1012500086B82400220010002A00100006E22400B4 +:10126000070000000431330004A92A000700000031 +:10127000242103000205280024110000240400009A +:1012800024040000243200002C2900006C630000BC +:1012900086F325000700000064B10200640400002A +:1012A000640400008D000000640A0000020D2800A4 +:1012B0008D00100020080000F50200004000010031 +:1012C000070022008D00000004B93800070000006C +:1012D0006C2903000A013000F50200004200010001 +:1012E0000A0008000409000086BA25000700000073 +:1012F0002C3102000A0528008D0000006C09010055 +:101300000A0D28000D01100020080000F502000061 +:101310004000010007002200241100002404000006 +:10132000240400002432000002013000442903009C +:10133000867A26000700000002003000F504000055 +:10134000420001000A00080015030000040D01001E +:1013500086C0260024310000640400000201300031 +:10136000F5020000420001000A0008000409000024 +:1013700086CA260007000000243100000205300064 +:10138000243900008305300083080000F5050000C3 +:10139000420001000A0428008D00000024810000A2 +:1013A000020D28008D000000248100000215280095 +:1013B0008D01100020080000F5020000400001002F +:1013C0000700220025100000750500004200030000 +:1013D0004A0009000A00100004090A000411120062 +:1013E0000700000020100000600805004000050014 +:1013F000FD060000428001004A0009000A001000BA +:10140000A500000004090A000411120007000000F2 +:10141000200800006090010040000100F50200007B +:10142000420001000A00080004090000864228006A +:1014300007000000060A230007000000060600005F +:1014400007000000F5020000420001000A00080049 +:101450000409000086922800070000000001000037 +:10146000200B0800608B1300608B1B00608B230037 +:10147000608B2B00608B3300608B3B00608B4300E4 +:10148000608B4B00608B5300608B5B00608B630054 +:10149000608B6B00608B7300608B7B00608F030040 +:1014A000608F0B00608F1300608F1B00608F230024 +:1014B000608F2B00608F3300608F3B00608F430094 +:1014C000608F4B00608F5300608F5B00608F630004 +:1014D000608F6B00608F7300608F7B00608A0300F9 +:1014E00006060000408001008D000000640A000034 +:1014F000020D2800240A00007D0200004280010045 +:101500000A00100024120000FD03000042800100C8 +:101510000A0008000409000086822A000700000073 +:101520008D010000240A000064040000640400002F +:101530000201080024090000240400002404000023 +:10154000020110000D0002004491000086D92A001B +:1015500007000000FD010000428001000A000800B1 +:10156000440A000086BB2A00428001000D000A00E8 +:1015700020080000FD02000040800100070020005C +:101580007D020000201000000606000040800100DF +:10159000F5020000420001000A00080004090000F2 +:1015A000862A2B00070000007D0300004280010016 +:1015B0000A00080004090000865A2B0007000000FA +:1015C000750000007D2E0000420001004A800B00E3 +:1015D0002000000004090000860600004000010011 +:1015E0004A8431008B043000830800008D00000025 +:1015F000100800003A1428008D00000010080000B8 +:101600003A0C280075060000420001000A0008009C +:101610001538000024090100020528000D000B0008 +:1016200020080000F502000040000100060600004E +:1016300007002200640400006404000006060000A5 +:1016400007000000340100008D7F00003C0900000D +:10165000121D280012252800321F000007000E006E +:101660000D0100007D030000200800004080010003 +:10167000F4D2050007000000070008007D03000009 +:10168000428001000A0008000409000086022D00C3 +:101690000700000006060000070000000700000029 +:1016A0001200000007001000070032000700600071 +:1016B000800010001A0048000449000086612D00D7 +:1016C00007000000101200003A0058004501000019 +:1016D000045D5C0007000000800000001A00480064 +:1016E0000449000086B12D00070000001012000020 +:1016F0003A0050000459000086082E004500000002 +:10170000C5000000F5FF7F007DFF7F0024D50700A6 +:101710002442000002015000020520008200000067 +:101720001A0040000441000086392E000700000026 +:10173000653800001A004000204000004D100000F5 +:1017400084C10400861B3000400000000700040034 +:10175000650100004501000020400000400000003D +:1017600065070000800008001A00400004410000E6 +:1017700086C92E0007000000101200003A00400049 +:101780000441000086222F004D000000CD00000023 +:10179000104800003A042000820800001A004000AF +:1017A0000441000086312F0007000000204800009F +:1017B000045900008608300040000000E5070000E2 +:1017C00080042000A0162800E0163200E0163A003F +:1017D000E0164200601202004000000032000000EB +:1017E000750040007D00000074D507001205200040 +:1017F000820000001A0040000441000086E12F0032 +:1018000007000000067203000700640007000600DE +:10181000E50000002000000040000000650A000014 +:1018200020000000400002004000020040000000D4 +:1018300065010000420000000A0070000471000011 +:1018400086A2300007000000068201000700640045 +:101850000000050020700000400000000672030038 +:1018600007006400070000006D300000608802007F +:10187000609002000A0008006088020040800000BA +:10188000120010000D10000084910000864131000C +:101890000D0E000084910000865132000700000008 +:1018A00007003000201000006D3B00004080000069 +:1018B000800000001A000800040900008661310061 +:1018C0000700000020120000ED0D00004080000025 +:1018D000428000000A0010000D00400044951000F6 +:1018E0000700000020100000ED0D00004080000007 +:1018F000428000000A042000820000001A00080054 +:101900000409000086F13100070000006D3B000073 +:10191000428000000A000800150E00008409010042 +:10192000869B3200070060001A000800150C0000BA +:1019300084090100868332002000000007001A009D +:10194000ED02000040800000070062006D300000E2 +:10195000428002004A800A00200800004A800A00F3 +:10196000060600004A80100007000000122528002B +:10197000321F0000F4D2050004D154005C73000053 +:10198000860700000700000007000C0007000A009F +:1019900007001C00653400004000020020480000E1 +:1019A000605002000A004000604002004000000059 +:1019B000444945000700000020400000E53A0000CF +:1019C00040000000E5280000420000000A00480036 +:1019D0000449000086683800652C000042000000C1 +:1019E0000A004000D5000000044145000700000047 +:1019F000550600000445050086F23400D5010000BC +:101A00000445050086F03400652B0000420000000C +:101A1000E53A00004A0050000A004000D4C34500E7 +:101A2000070000000445450007000000CD0000004D +:101A30004449440007000000044545000700000039 +:101A40004D010000444955000700000044510400C6 +:101A500086E93400652C0000420000000A004800BE +:101A600004D14C000700000044C1040086F3340098 +:101A70000700000007001600E52C000042000400EB +:101A80000A004000204000004000000065290000DE +:101A9000420000000A00400004410000866035005A +:101AA000070000000224000006A23600025C0000CD +:101AB000E5250000420000000A00400074420000DA +:101AC000E52A0000420000000A00400074420000C5 +:101AD00012015000E5290000420000000A00400009 +:101AE000344200000441450007000000204000008F +:101AF00040000000E53E0000200000004000000023 +:101B0000E52D0000520140000A005000445104003D +:101B1000864A3600C5000000E53E00002040000077 +:101B200040000000E52B0000420000000A004000D9 +:101B30005442400007000000E52A00002040000059 +:101B400040000000320150003401040074560000CF +:101B5000E5290000420002000A00420042000000A5 +:101B60000A0050007C410500E5280000420000000A +:101B70000A004800C500000044C14C008610370030 +:101B8000E5260000E5270000420002004A00400070 +:101B90000A0050003C4200007C560000E52800008E +:101BA0002048000040000000121D280012252800D7 +:101BB000721F000065290000420000000A0040007A +:101BC0000441000086AA370007000E000700160037 +:101BD00007001E00E53E0000420000000A00400031 +:101BE0000441000086E83700652D00004200000037 +:101BF0000A34280065340000420002004A00420016 +:101C0000204000004A004A004A005000F4D205007B +:101C100004D154005C7300008651380007000000B6 +:101C2000060600000700080007000C000700080077 +:101C300007000A00E5010000450002002040000006 +:101C4000600000006503000040000000652E0000F9 +:101C5000201A0000601A0A004000000065340000ED +:101C6000420002004A004200204000004A004A00B0 +:101C7000060600004A0050000000000000000000BE +:101C80000000000000000000000000000000000054 +:101C90000000000000000000000000000000000044 +:101CA0000000000000000000000000000000000034 +:101CB0000000000000000000000000000000000024 +:101CC0000000000000000000000000000000000014 +:101CD0000000000000000000000000000000000004 +:101CE00000000000000000000000000000000000F4 +:101CF00000000000000000000000000000000000E4 +:101D000000000000000000000000000000000000D3 +:101D100000000000000000000000000000000000C3 +:101D200000000000000000000000000000000000B3 +:101D300000000000000000000000000000000000A3 +:101D40000000000000000000000000000000000093 +:101D50000000000000000000000000000000000083 +:101D60000000000000000000000000000000000073 +:101D70000000000000000000000000000000000063 +:101D80000000000000000000000000000000000053 +:101D90000000000000000000000000000000000043 +:101DA0000000000000000000000000000000000033 +:101DB0000000000000000000000000000000000023 +:101DC0000000000000000000000000000000000013 +:101DD0000000000000000000000000000000000003 +:101DE00000000000000000000000000000000000F3 +:101DF00000000000000000000000000000000000E3 +:101E000000000000000000000000000000000000D2 +:101E100000000000000000000000000000000000C2 +:101E200000000000000000000000000000000000B2 +:101E300000000000000000000000000000000000A2 +:101E40000000000000000000000000000000000092 +:101E50000000000000000000000000000000000082 +:101E60000000000000000000000000000000000072 +:101E70000000000000000000000000000000000062 +:101E80000000000000000000000000000000000052 +:101E90000000000000000000000000000000000042 +:101EA0000000000000000000000000000000000032 +:101EB0000000000000000000000000000000000022 +:101EC0000000000000000000000000000000000012 +:101ED0000000000000000000000000000000000002 +:101EE00000000000000000000000000000000000F2 +:101EF00000000000000000000000000000000000E2 +:101F000000000000000000000000000000000000D1 +:101F100000000000000000000000000000000000C1 +:101F200000000000000000000000000000000000B1 +:101F300000000000000000000000000000000000A1 +:101F40000000000000000000000000000000000091 +:101F50000000000000000000000000000000000081 +:101F60000000000000000000000000000000000071 +:101F70000000000000000000000000000000000061 +:101F80000000000000000000000000000000000051 +:101F90000000000000000000000000000000000041 +:101FA0000000000000000000000000000000000031 +:101FB0000000000000000000000000000000000021 +:101FC0000000000000000000000000000000000011 +:101FD0000000000000000000000000000000000001 +:101FE00000000000000000000000000000000000F1 +:101FF00000000000000000000000000000000000E1 +:1020000000000000000000000000000000000000D0 +:1020100000000000000000000000000000000000C0 +:1020200000000000000000000000000000000000B0 +:1020300000000000000000000000000000000000A0 +:102040000000000000000000000000000000000090 +:102050000000000000000000000000000000000080 +:102060000000000000000000000000000000000070 +:102070000000000000000000000000000000000060 +:102080000000000000000000000000000000000050 +:102090000000000000000000000000000000000040 +:1020A0000000000000000000000000000000000030 +:1020B0000000000000000000000000000000000020 +:1020C0000000000000000000000000000000000010 +:1020D0000000000000000000000000000000000000 +:1020E00000000000000000000000000000000000F0 +:1020F00000000000000000000000000000000000E0 +:1021000000000000000000000000000000000000CF +:1021100000000000000000000000000000000000BF +:1021200000000000000000000000000000000000AF +:10213000000000000000000000000000000000009F +:10214000000000000000000000000000000000008F +:10215000000000000000000000000000000000007F +:10216000000000000000000000000000000000006F +:10217000000000000000000000000000000000005F +:10218000000000000000000000000000000000004F +:10219000000000000000000000000000000000003F +:1021A000000000000000000000000000000000002F +:1021B000000000000000000000000000000000001F +:1021C000000000000000000000000000000000000F +:1021D00000000000000000000000000000000000FF +:1021E00000000000000000000000000000000000EF +:1021F00000000000000000000000000000000000DF +:1022000000000000000000000000000000000000CE +:1022100000000000000000000000000000000000BE +:1022200000000000000000000000000000000000AE +:10223000000000000000000000000000000000009E +:10224000000000000000000000000000000000008E +:10225000000000000000000000000000000000007E +:10226000000000000000000000000000000000006E +:10227000000000000000000000000000000000005E +:10228000000000000000000000000000000000004E +:10229000000000000000000000000000000000003E +:1022A000000000000000000000000000000000002E +:1022B000000000000000000000000000000000001E +:1022C000000000000000000000000000000000000E +:1022D00000000000000000000000000000000000FE +:1022E00000000000000000000000000000000000EE +:1022F00000000000000000000000000000000000DE +:1023000000000000000000000000000000000000CD +:1023100000000000000000000000000000000000BD +:1023200000000000000000000000000000000000AD +:10233000000000000000000000000000000000009D +:10234000000000000000000000000000000000008D +:10235000000000000000000000000000000000007D +:10236000000000000000000000000000000000006D +:10237000000000000000000000000000000000005D +:10238000000000000000000000000000000000004D +:10239000000000000000000000000000000000003D +:1023A000000000000000000000000000000000002D +:1023B000000000000000000000000000000000001D +:1023C000000000000000000000000000000000000D +:1023D00000000000000000000000000000000000FD +:1023E00000000000000000000000000000000000ED +:1023F00000000000000000000000000000000000DD +:1024000000000000000000000000000000000000CC +:1024100000000000000000000000000000000000BC +:1024200000000000000000000000000000000000AC +:10243000000000000000000000000000000000009C +:10244000000000000000000000000000000000008C +:10245000000000000000000000000000000000007C +:10246000000000000000000000000000000000006C +:10247000000000000000000000000000000000005C +:10248000000000000000000000000000000000004C +:10249000000000000000000000000000000000003C +:1024A000000000000000000000000000000000002C +:1024B000000000000000000000000000000000001C +:1024C000000000000000000000000000000000000C +:1024D00000000000000000000000000000000000FC +:1024E00000000000000000000000000000000000EC +:1024F00000000000000000000000000000000000DC +:1025000000000000000000000000000000000000CB +:1025100000000000000000000000000000000000BB +:1025200000000000000000000000000000000000AB +:10253000000000000000000000000000000000009B +:10254000000000000000000000000000000000008B +:10255000000000000000000000000000000000007B +:10256000000000000000000000000000000000006B +:10257000000000000000000000000000000000005B +:10258000000000000000000000000000000000004B +:10259000000000000000000000000000000000003B +:1025A000000000000000000000000000000000002B +:1025B000000000000000000000000000000000001B +:1025C000000000000000000000000000000000000B +:1025D00000000000000000000000000000000000FB +:1025E00000000000000000000000000000000000EB +:1025F00000000000000000000000000000000000DB +:1026000000000000000000000000000000000000CA +:1026100000000000000000000000000000000000BA +:1026200000000000000000000000000000000000AA +:10263000000000000000000000000000000000009A +:10264000000000000000000000000000000000008A +:10265000000000000000000000000000000000007A +:10266000000000000000000000000000000000006A +:10267000000000000000000000000000000000005A +:10268000000000000000000000000000000000004A +:10269000000000000000000000000000000000003A +:1026A000000000000000000000000000000000002A +:1026B000000000000000000000000000000000001A +:1026C000000000000000000000000000000000000A +:1026D00000000000000000000000000000000000FA +:1026E00000000000000000000000000000000000EA +:1026F00000000000000000000000000000000000DA +:1027000000000000000000000000000000000000C9 +:1027100000000000000000000000000000000000B9 +:1027200000000000000000000000000000000000A9 +:102730000000000000000000000000000000000099 +:102740000000000000000000000000000000000089 +:102750000000000000000000000000000000000079 +:102760000000000000000000000000000000000069 +:102770000000000000000000000000000000000059 +:102780000000000000000000000000000000000049 +:102790000000000000000000000000000000000039 +:1027A0000000000000000000000000000000000029 +:1027B0000000000000000000000000000000000019 +:1027C0000000000000000000000000000000000009 +:1027D00000000000000000000000000000000000F9 +:1027E00000000000000000000000000000000000E9 +:1027F00000000000000000000000000000000000D9 +:1028000000000000000000000000000000000000C8 +:1028100000000000000000000000000000000000B8 +:1028200000000000000000000000000000000000A8 +:102830000000000000000000000000000000000098 +:102840000000000000000000000000000000000088 +:102850000000000000000000000000000000000078 +:102860000000000000000000000000000000000068 +:102870000000000000000000000000000000000058 +:102880000000000000000000000000000000000048 +:102890000000000000000000000000000000000038 +:1028A0000000000000000000000000000000000028 +:1028B0000000000000000000000000000000000018 +:1028C0000000000000000000000000000000000008 +:1028D00000000000000000000000000000000000F8 +:1028E00000000000000000000000000000000000E8 +:1028F00000000000000000000000000000000000D8 +:1029000000000000000000000000000000000000C7 +:1029100000000000000000000000000000000000B7 +:1029200000000000000000000000000000000000A7 +:102930000000000000000000000000000000000097 +:102940000000000000000000000000000000000087 +:102950000000000000000000000000000000000077 +:102960000000000000000000000000000000000067 +:102970000000000000000000000000000000000057 +:102980000000000000000000000000000000000047 +:102990000000000000000000000000000000000037 +:1029A0000000000000000000000000000000000027 +:1029B0000000000000000000000000000000000017 +:1029C0000000000000000000000000000000000007 +:1029D00000000000000000000000000000000000F7 +:1029E00000000000000000000000000000000000E7 +:1029F00000000000000000000000000000000000D7 +:102A000000000000000000000000000000000000C6 +:102A100000000000000000000000000000000000B6 +:102A200000000000000000000000000000000000A6 +:102A30000000000000000000000000000000000096 +:102A40000000000000000000000000000000000086 +:102A50000000000000000000000000000000000076 +:102A60000000000000000000000000000000000066 +:102A70000000000000000000000000000000000056 +:102A80000000000000000000000000000000000046 +:102A90000000000000000000000000000000000036 +:102AA0000000000000000000000000000000000026 +:102AB0000000000000000000000000000000000016 +:102AC0000000000000000000000000000000000006 +:102AD00000000000000000000000000000000000F6 +:102AE00000000000000000000000000000000000E6 +:102AF00000000000000000000000000000000000D6 +:102B000000000000000000000000000000000000C5 +:102B100000000000000000000000000000000000B5 +:102B200000000000000000000000000000000000A5 +:102B30000000000000000000000000000000000095 +:102B40000000000000000000000000000000000085 +:102B50000000000000000000000000000000000075 +:102B60000000000000000000000000000000000065 +:102B70000000000000000000000000000000000055 +:102B80000000000000000000000000000000000045 +:102B90000000000000000000000000000000000035 +:102BA0000000000000000000000000000000000025 +:102BB0000000000000000000000000000000000015 +:102BC0000000000000000000000000000000000005 +:102BD00000000000000000000000000000000000F5 +:102BE00000000000000000000000000000000000E5 +:102BF00000000000000000000000000000000000D5 +:102C000000000000000000000000000000000000C4 +:102C100000000000000000000000000000000000B4 +:102C200000000000000000000000000000000000A4 +:102C30000000000000000000000000000000000094 +:102C40000000000000000000000000000000000084 +:102C50000000000000000000000000000000000074 +:102C60000000000000000000000000000000000064 +:102C70000000000000000000000000000000000054 +:102C80000000000000000000000000000000000044 +:102C90000000000000000000000000000000000034 +:102CA0000000000000000000000000000000000024 +:102CB0000000000000000000000000000000000014 +:102CC0000000000000000000000000000000000004 +:102CD00000000000000000000000000000000000F4 +:102CE00000000000000000000000000000000000E4 +:102CF00000000000000000000000000000000000D4 +:102D000000000000000000000000000000000000C3 +:102D100000000000000000000000000000000000B3 +:102D200000000000000000000000000000000000A3 +:102D30000000000000000000000000000000000093 +:102D40000000000000000000000000000000000083 +:102D50000000000000000000000000000000000073 +:102D60000000000000000000000000000000000063 +:102D70000000000000000000000000000000000053 +:102D80000000000000000000000000000000000043 +:102D90000000000000000000000000000000000033 +:102DA0000000000000000000000000000000000023 +:102DB0000000000000000000000000000000000013 +:102DC0000000000000000000000000000000000003 +:102DD00000000000000000000000000000000000F3 +:102DE00000000000000000000000000000000000E3 +:102DF00000000000000000000000000000000000D3 +:102E000000000000000000000000000000000000C2 +:102E100000000000000000000000000000000000B2 +:102E200000000000000000000000000000000000A2 +:102E30000000000000000000000000000000000092 +:102E40000000000000000000000000000000000082 +:102E50000000000000000000000000000000000072 +:102E60000000000000000000000000000000000062 +:102E70000000000000000000000000000000000052 +:102E80000000000000000000000000000000000042 +:102E90000000000000000000000000000000000032 +:102EA0000000000000000000000000000000000022 +:102EB0000000000000000000000000000000000012 +:102EC0000000000000000000000000000000000002 +:102ED00000000000000000000000000000000000F2 +:102EE00000000000000000000000000000000000E2 +:102EF00000000000000000000000000000000000D2 +:102F000000000000000000000000000000000000C1 +:102F100000000000000000000000000000000000B1 +:102F200000000000000000000000000000000000A1 +:102F30000000000000000000000000000000000091 +:102F40000000000000000000000000000000000081 +:102F50000000000000000000000000000000000071 +:102F60000000000000000000000000000000000061 +:102F70000000000000000000000000000000000051 +:102F80000000000000000000000000000000000041 +:102F90000000000000000000000000000000000031 +:102FA0000000000000000000000000000000000021 +:102FB0000000000000000000000000000000000011 +:102FC0000000000000000000000000000000000001 +:102FD00000000000000000000000000000000000F1 +:102FE00000000000000000000000000000000000E1 +:102FF00000000000000000000000000000000000D1 +:00000001FF diff --git a/firmware/yamaha/ds1_dsp.fw.ihex b/firmware/yamaha/ds1_dsp.fw.ihex new file mode 100644 index 0000000..acb0ba4 --- /dev/null +++ b/firmware/yamaha/ds1_dsp.fw.ihex @@ -0,0 +1,9 @@ +:1000000081000000A40100000A0000002F00000091 +:1000100053020800170380017B4000003F8400006A +:100020003C4801003C9401003CD805003C1C000009 +:100030007BC000003F0C05003C5021010000000087 +:1000400000000000000000000000000000000000B0 +:1000500000000000000000000000000000000000A0 +:100060000000000000000000000000000000000090 +:100070000000000000000000000000000000000080 +:00000001FF diff --git a/firmware/yamaha/ds1e_ctrl.fw.ihex b/firmware/yamaha/ds1e_ctrl.fw.ihex new file mode 100644 index 0000000..597f429 --- /dev/null +++ b/firmware/yamaha/ds1e_ctrl.fw.ihex @@ -0,0 +1,769 @@ +:10000000070000000700240007000C0007001C0088 +:1000100007000600020070002000000040000300FE +:100020000471000086420000400003000D0F000034 +:10003000100800003A042000820200000D020000B7 +:10004000100800003A04200082120000820E2000F6 +:100050000D800000100800003A042000821A000001 +:100060000D460300100800003A0410000DEC0200D9 +:10007000100800003A0418000D01000015000200ED +:10008000FD00000020000000608803006090030075 +:100090006080030040800300408003004080030034 +:1000A000408001007D0A0000408003004080030082 +:1000B0004080010002042000820800001A000800AD +:1000C00004090000867101000700000007002600F7 +:1000D00007004000070000008D2503001008000005 +:1000E0003A04180007002600024428007D0800009A +:1000F000428001000A16000006A205000700000069 +:10010000070044000D230000100800003A04080016 +:1001100006FA220007000000FD07000042800100EF +:100120000A0008000409000086AB020095010000E7 +:10013000040D09000700000020080000F500000081 +:100140007D0B000060F00100FD000000063A030096 +:10015000408001007D0A0000428003004A801300B5 +:100160000A00180020180000609005006088050053 +:1001700040800100FD000000428001000A00700084 +:100180001501000044110700863B03000000030036 +:100190002070000006620300408001000D36000060 +:1001A000100800003A04080006222300070000009F +:1001B0000DEC0200100800003A041800069A010035 +:1001C00007000000070024008D0F00001008000049 +:1001D0003A16000002240000025C0000FD28000026 +:1001E00020000000408001000D00080015080000FC +:1001F00084095100070000004D0000005D0E000062 +:10020000020E00000D430000100800003A04080030 +:1002100006122E00070000008D00000024090000D7 +:10022000020F00000D470000100800003A0408000B +:1002300006122E0007000000800448001012000083 +:100240003A0428008D770000100800003A0C2800BE +:100250008D060000100800003A142800024428000F +:100260008D250300100800003A0418008DFF0700D8 +:1002700020080000FD020000408001000700260069 +:1002800007002000FD020000428001000A00080073 +:100290000409000086120500070000000700240082 +:1002A0000DEC0200100800003A0418007D38000030 +:1002B000428001000A0008001510000084090100B6 +:1002C000869B01000700000006B201000700000045 +:1002D000FD080000428001000A0018000419000017 +:1002E00086B8220007002800101800003A042800F1 +:1002F000020C28000D000000100800003A1428002D +:100300008D80080020080000FD02000040800100F0 +:10031000070020000D0200000499180007000000EB +:100320002D400000BD000000FD02000042800100E1 +:100330000A00080004090000865A060007000000B1 +:1003400000010000200A00007D0400004080010040 +:10035000428001000A002000153000004421010005 +:10036000866103000700000004210000866103008D +:10037000070000008D0F0000100800003A0C280054 +:100380004439020086C90700070000001018000069 +:100390003A0428000D81080020080000FD0200003A +:1003A0004080010007002000102800003A0078007B +:1003B0008D780000100800003A04080006122A0098 +:1003C000070000000D4000001510000004991800FF +:1003D000042929000439390007000000060207003B +:1003E00007000000F50400007D0000002000000070 +:1003F0008D00000060080100408001007D040000C5 +:10040000428003004A8021000A00180044190200BB +:1004100086902200070000007540000004F1710082 +:1004200007000000420001000A0028000429000023 +:1004300086582200070000000D3C000004A930008F +:10044000070000007D070000428001000A0008004C +:100450000409000086DA08007D050000202800005D +:1004600060B0030006F20800408001002030000068 +:1004700060A8030040800100FD02000042800100EE +:100480000A0008000409000086FA080007000000BE +:100490007D050000428001000A0428008D0E000046 +:1004A000100800003A0C28000D00000010080000A1 +:1004B0003A1428000D00090020080000FD02000089 +:1004C0004080010007002000FD3D000020000000EA +:1004D000408001007D1000008D9D0000100800008C +:1004E0003A04080006122A00070000001508000060 +:1004F0001A0008008409010086510A007D130000DB +:1005000000052000200F2800608F3300608F3B0023 +:10051000608F4300608F4B00608F5300608F5B00E3 +:10052000608A0300408001007D10000042800100CD +:100530000A000800150200008409010086813A00C3 +:1005400007000000BD7F0000C43D38000700000028 +:100550007D1A000075130000428001004A00090066 +:100560000A001000048D0B00049513000700000022 +:10057000200800006090010004110000865822004D +:1005800040000100FD170000428001000A00080041 +:1005900004090000865A2200070000007D190000AF +:1005A000428003004A8009000A001000240900006C +:1005B00064160000FD110000428003004A802B00F9 +:1005C0004A8019008D0000004489210007000000C6 +:1005D0004422000086190C0007000000641A000085 +:1005E000242A00007D1900000201080022011000E9 +:1005F000200800006090030040800100FD3D0000E5 +:100600008D000000200800004080010075130000EC +:100610007D1A0000420001004A8009000A00100013 +:100620001D020000E4890100E49229004491300099 +:10063000070000000D060000150A00001D0C000058 +:1006400025100000E4A90000E42B01006404000070 +:10065000E4B30100E432020064040000640400001A +:1006600064040000640400000D040000C4B108002C +:100670000700000020080000F50B00004000030008 +:100680007D190000428003004A800900240A00000E +:100690000A000800640E0800070000002201100094 +:1006A000200800006010030040000100AC6400005E +:1006B0007D02000020000000408001007D1000004D +:1006C00042800100FD1100004A803B004A80090081 +:1006D0000A0020009500000044111A0044A1000007 +:1006E00086580E000D04000084B9000086590E00E3 +:1006F000FD18000042800100FD1000004A80090042 +:100700000A0028009500000024090100642A000066 +:1007100086490E000700000004290000865A0E00DA +:100720000700000006620E00020008008D000000B5 +:100730007D38000020080000408001007D1200008C +:10074000428001000A0010000439000086090F00F1 +:100750000D080000B5FF7F0084B9000086D90E00A7 +:100760002500000006B20F002D000000150000005B +:100770002D0800000DE002002008000006FA0F001E +:100780000D00000035807F0084B9000086A90F00AD +:10079000250040008D000000440911000700000002 +:1007A0008D01000004951000070000006491000016 +:1007B00024040000240400002404000002011000AE +:1007C000020028000DDF02002008000006FA0F00DA +:1007D0008D0100002D0400008D0000000495100024 +:1007E000070000000D0200008491100007000000C7 +:1007F0008DDF0200200800008D000000FD380000A1 +:1008000040800100FD3B00002010000060A80300B4 +:100810001508000084313100842121000700000008 +:1008200060B0030060A0030040800100FD220000D2 +:1008300095000000240901002404000024040000A5 +:100840006412000002011000200800006090030004 +:1008500040800100241900000D0F01007D390000C7 +:100860002008000040800500428003004A840900FF +:10087000060600000A040800240400002404000006 +:100880007D110000428001000A000800240A0000D7 +:1008900002052800020C28000D8009002008000035 +:1008A000FD0200004080010007002000FD22000042 +:1008B000428001000A00080095000000C40D2800D5 +:1008C000241901007D19000042800100FD11000083 +:1008D0004A8009000A001000B500000044311100F0 +:1008E000048D0A0007000000440A08000495120065 +:1008F00007000000FD2300002010000040800300DE +:10090000441210000700000020080000609003005F +:1009100040800100FD020000428001000A00080042 +:10092000040900008632120007000000FD3B0000B1 +:1009300000010000100A00007A800B004A801300BA +:10094000840909000700000095000000043D010033 +:1009500086B812000A001000020010008409090085 +:1009600007000000428003004A801100040D0900C6 +:10097000070000000A001000840D090007000000B5 +:100980007D25000020080000408001000D010000CE +:10099000100800003A1428007D1200004280010077 +:1009A0000A0020007D190000428001007D11000036 +:1009B0004A8031000A001000243100008D3B010004 +:1009C0007D390000200800004080050042800300BF +:1009D0004A840900060600000A04080002013000EB +:1009E000243100002404000024040000241200002C +:1009F000020528004C1A000086391400020070001D +:100A00002D000000000003007D380000428001003E +:100A10000A0010000662140024210000AD0000004E +:100A2000020010000D01000024090000246B0000EA +:100A30000D4A01007D3900002008000040800500BB +:100A4000428003004A840900060600000A040800E8 +:100A5000643200008D000000240A00002010000015 +:100A60007D220000408001008D4F01001008000031 +:100A70003A040800065A2B00070000002028000056 +:100A80007D200000408001007D11000042800300B5 +:100A90004A8013000A8033007D3800004280010044 +:100AA0000A00080004090000867217000700000011 +:100AB0008D000000640903000D5B01007D3900001A +:100AC0002008000040800500428003004A8409009D +:100AD000060600000A040800020138002404000091 +:100AE0002404000024120000FD02000042800100E6 +:100AF0000A0008000409000086DA1500070000005B +:100B0000020528004C1A000086711700070000003B +:100B1000642103002C630000FD3D000042800100C1 +:100B20000A00080095000000040909000700000001 +:100B3000200800004C1A0000869916004080010031 +:100B40000000030006B21600242100000D01000081 +:100B500024090000246B00000D6F01007D390000A6 +:100B60002008000040800500428003004A840900FC +:100B7000060600000A040800643A00009500000020 +:100B800024120000FD020000428001000A0008005B +:100B90000409000086121700070000000D7601000E +:100BA000100800003A040800065A2B000700000055 +:100BB000060A160007000000207000000A01080065 +:100BC0002A011000FD2000006088030060900300EF +:100BD000408001007D22000042800100FD3D0000B8 +:100BE0000A0008004A843100040900008610180039 +:100BF0008B0018008D000000049918002C310000B3 +:100C000006E21800070000004C320000866B180056 +:100C100007000000041900008668180007000000A3 +:100C200095000000449119002C220000243100009E +:100C30006C6300003D0E000075130000FD0B00000A +:100C4000420001004A8009000A001000EC8A0300FB +:100C5000EC9303004C22000086E11800070000001E +:100C60008D000000049918006C2200002C32000056 +:100C70000A053000AB1D300083200000FD18000085 +:100C8000428001000A0008002489010002053000AA +:100C90008310000075180000420001000A001000D7 +:100CA0008D00000024090100751300004205330087 +:100CB000CB0C3300CB2C3300CB343300CB3C330094 +:100CC000CB443300CB4C3300CB5433008B5C30002F +:100CD00083600000F5020000420001000A000800E5 +:100CE0000409000086B21900070000002D1E000054 +:100CF000FD050000428001000A000800248902006E +:100D0000020528000D060000100800003A0C28001B +:100D10008D000000100800003A1428008D800A00A1 +:100D200020080000F502000040000100070022003A +:100D300075120000420003004A0021008D000000EF +:100D400044091A00070000008DAB010010080000E4 +:100D50003A04080006AA2C0007000000F501000074 +:100D6000420003004A000D000A00100044910800F0 +:100D7000070000002008000040000100F5250000E9 +:100D800044310A000700000020080000602803002A +:100D9000400003007D210000428003004A800B00D8 +:100DA0000A0010002008000060100300400003004B +:100DB0008D000000240100002C010000640E0000E2 +:100DC000641A00006C6300000A0108002A01100088 +:100DD000200800006010030040000300FD20000018 +:100DE000428001000A0008007D22000042800100CC +:100DF0000A001000200800006010030040000300FB +:100E00007D190000428001000A000800FD22000058 +:100E1000428003000A001000200800006010030058 +:100E200040000300040D0900070000002008000036 +:100E300040000300428003004A800B000A001000BB +:100E400020080000601003004000030042800300FF +:100E50004A8013004A801900040D1100048D190006 +:100E6000070000000A0008002010000060180300BE +:100E700060080300400003008D00000044090B00DF +:100E8000070000002008000040000100F5050000F8 +:100E9000420003000A000800200800004000010092 +:100EA000F5000000420001000A00080004090000EB +:100EB00086981D00751E0000420003004A040100D0 +:100EC0000A0C000006AA1D00070000000204000032 +:100ED000020C00007D170000F51A0000428001009E +:100EE0004A1403004A1C03004A2403004A2C03004E +:100EF0004A3403004A3C03004A4403000A4C000001 +:100F00003D040000F5130000FD1A0000420003003C +:100F10004A000B004A801B004A8013000A00200090 +:100F20004491080044A11900E4890300EC990300EE +:100F3000025500000A5D0000420003004A000B0059 +:100F40004A801B004A8013000A00200044910800D8 +:100F500044A11900E4890300EC9903000265000034 +:100F60000A6D0000420003004A000B004A0019000D +:100F70004A802B004A8013004A8021000A0030007A +:100F80004491080044A1190044B12A00E4890300F7 +:100F9000EC990300027500000A7D0000E4A903003B +:100FA000020700007D1000001504000042800100CF +:100FB0000A000800E4090100020F0000F52A000001 +:100FC000FD190000420001004A8009000A001000DB +:100FD0003409000074160000F529000042000100E9 +:100FE0000A0010007C910000752000004200010002 +:100FF0000A00080004090000860A2000F526000007 +:10100000F5270000420003004A0009000A00100012 +:101010003C0A00007C160000751A0000FD0B000061 +:10102000420001004A8051000A00480007001600F3 +:1010300075100000420001000A2C2800121D280033 +:1010400012252800321F000007001E0007000E00B6 +:101050007519000042000100F52D00004A000D0046 +:101060000A0010004491000086EA200042000100BE +:101070000A3428005D0E00008D000000750300009A +:101080002008000040000100F4D2050004D1540003 +:101090005C730000868B21000700000007000C0035 +:1010A0000700080007000A008D1702001008000062 +:1010B0003A04080006B2340007000000069221003E +:1010C0000700000007000800752200004200010030 +:1010D0000A00200004210000865822002D1E000076 +:1010E000F5020000420001000A00080004090000A7 +:1010F00086CA210007000000102000003A043000DA +:101100007D050000C38001000A0008002489020058 +:1011100002052800020C28000D810A0020080000AA +:10112000F50200004000010007002200FD0400005D +:10113000428001000A0070000000030020700000DF +:1011400006FA0700408001008D2B02001008000005 +:101150003A04080006AA2C0007000000FD02000067 +:10116000428001000A0008000409000086C2220033 +:1011700007000000060202000700000075080000DA +:10118000FD0900000D010000064223009502000049 +:10119000750B00007D0900000D0000001505000022 +:1011A000420001000A0018000419000086002A000D +:1011B000F50600002010000040000100F5040000CA +:1011C00020080000400001007507000042000100F7 +:1011D0004A8009000A0010002411000004090000E0 +:1011E00086F2230015080000020108000412100016 +:1011F0000612240075050000041208000700000014 +:1012000002011000750500002504000024110200F1 +:1012100002011000200800006010030040000100DF +:101220002419000086002A008D00000064040000DC +:10123000049D0000861029000201180075050000B9 +:10124000420001000A0428008D010000240900006A +:10125000020D28000D0000002409000002152800DE +:101260000D00100020080000F50200004000010001 +:101270000700200075110000FD02000042800100FF +:101280000A0008000409000086FA24000700000094 +:1012900000010000200B0800600B1300600B1B0016 +:1012A000600A030040000100420005004A003D00C2 +:1012B0004A0035004A002D000A002000F506000013 +:1012C000420001000A142800F50400004200010059 +:1012D0000A00080015030000040D01008602260024 +:1012E0001540000095000000040D010086F0250067 +:1012F000220010002A001000061A26000700000035 +:101300000431330004A92A0007000000242103004F +:1013100002052800024428002411000002014000B8 +:101320002404000024040000243200002C290000C2 +:101330006C630000867327000700000064B10200A0 +:1013400064040000640400008D000000640A0000D2 +:10135000020D28008D00100020080000F50200009A +:1013600040000100070022008D00000004B9380091 +:10137000070000006C2903000A013000F50200009C +:10138000420001000A00080004090000860227004C +:10139000070000002C2100000A0528006C31000025 +:1013A0006C0400006C0400000A45280024110000B1 +:1013B000646B0000020110008D0000006C09010048 +:1013C0000A0D28000D01100020080000F5020000A1 +:1013D0004000010007002200244100002404000016 +:1013E00024040000243200000201300044290300DC +:1013F00086FA27000700000002003000F504000014 +:10140000420001000A00080015030000040D01005D +:1014100086402800243100006404000002013000EE +:10142000F5020000420001000A0008000409000063 +:10143000864A2800070000000244280024310000EA +:1014400002053000243900008305300083080000C5 +:10145000F5050000420001000A0428008D0000008C +:1014600024810000020D28008D000000248100006E +:10147000021528008D01100020080000F502000070 +:101480004000010007002200251000007505000043 +:10149000420003004A0009000A00100004090A0083 +:1014A0000411120007000000201000006008050071 +:1014B00040000500FD060000428001004A000900CE +:1014C0000A001000A500000004090A00041112001F +:1014D00007000000200800006090010040000100AB +:1014E000F5020000420001000A00080004090000A3 +:1014F00086CA2900070000000642240007000000F9 +:101500000606000007000000F5020000420001008E +:101510000A00080004090000861A2A0007000000DB +:1015200000010000200B0800608B1300608B1B0083 +:10153000608B2300608B2B00608B3300608B3B0043 +:10154000608B4300608B4B00608B5300608B5B00B3 +:10155000608B6300608B6B00608B7300608B7B0023 +:10156000608F0300608F0B00608F1300608F1B0083 +:10157000608F2300608F2B00608F3300608F3B00F3 +:10158000608F4300608F4B00608F5300608F5B0063 +:10159000608F6300608F6B00608F7300608F7B00D3 +:1015A000608A030006060000408001008D000000F4 +:1015B000640A0000020D2800240A00007D020000D9 +:1015C000428001000A00100024120000FD03000008 +:1015D000428001000A00080004090000860A2C006D +:1015E000070000008D010000240A000064040000D0 +:1015F0006404000002010800240900002404000023 +:1016000024040000020110000D00020044910000BB +:1016100086612C0007000000FD01000042800100EF +:101620000A000800440A000086432C0042800100A2 +:101630000D000A0020080000FD02000040800100AB +:10164000070020007D0200002010000006060000B8 +:1016500040800100F5020000420001000A0008007D +:101660000409000086B22C00070000007D03000082 +:10167000428001000A0008000409000086E22C00F4 +:1016800007000000750000007D2E000042000100F0 +:101690004A800B00200000000409000086060000BC +:1016A000400001004A8431008B04300083080000B0 +:1016B0008D000000100800003A1428008D00000082 +:1016C000100800003A0C28007506000042000100D6 +:1016D0000A0008001538000024090100020528004E +:1016E0000D000B0020080000F50200004000010082 +:1016F00006060000070022006404000064040000E5 +:101700000606000007000000340100008D7F000085 +:101710003C090000121D280012252800321F00007D +:1017200007000E000D0100007D03000020080000EE +:1017300040800100F4D20500070000000700080007 +:101740007D030000428001000A0008000409000037 +:10175000868A2E0007000000060600000700000031 +:101760000700000012000000070010000700320010 +:101770000700600007004600800010001A004800C3 +:101780000449000086F12E0007000000101200003E +:101790003A00580045010000045D5C0007000000AD +:1017A000800000001A0048000449000086412F0014 +:1017B00007000000101200003A0050000459000019 +:1017C00086982F0045000000C5000000F5FF7F004F +:1017D0007DFF7F0024D50700244200000201500055 +:1017E00002052000820000001A00400004410000B1 +:1017F00086C92F0007000000653800001A0040006D +:10180000204000004D10000084C1040086AB310070 +:1018100040000000070004006501000045010000D1 +:101820002040000040000000650700008000080024 +:101830001A004000044100008659300007000000F3 +:10184000101200003A0040000441000086B230004F +:101850004D000000CD000000104800003A042000B8 +:10186000820800001A0040000441000086C13000D8 +:10187000070000002048000004590000869831004D +:1018800040000000E507000080042000A0162800AA +:10189000E0163200E0163A00E01642006012020044 +:1018A0004000000032000000750040007D00000094 +:1018B00074D5070012052000820000001A004000C5 +:1018C000044100008671310007000000068A030011 +:1018D00007006400E5000000200000004000000058 +:1018E000650A0000200000004000020040000200E5 +:1018F0004000000065010000420000000A00700086 +:101900000471000086323200070000000700060064 +:10191000069A010007006400000005002070000026 +:1019200040000000068A0300070064000700000072 +:101930006D30000060880200609002000A0008001C +:101940006088020040800000120010000D100000AE +:101950008491000086D132000D0E000084910000B9 +:1019600086E133000700000007003000201000006F +:101970006D3B000040800000800000001A0008005D +:101980000409000086F13200070000002012000068 +:10199000ED0D000040800000428000000A001000B1 +:1019A0000D004000449510000700000020100000CA +:1019B000ED0D000040800000428000000A0420007D +:1019C000820000001A00080004090000868133002C +:1019D000070000006D3B0000428000000A00080084 +:1019E000150E000084090100862B340007006000FA +:1019F0001A000800150C0000840901008613340049 +:101A00002000000007001A00ED02000040800000E6 +:101A1000070062006D300000428002004A800A0028 +:101A2000200800004A800A00060600004A801000D4 +:101A30000700000012252800321F0000F4D2050024 +:101A400004D154005C73000086070000070000000A +:101A500007000C0007000A0007001C0065340000A6 +:101A60004000020020480000605002000A004000D0 +:101A700060400200400000004449450007000000AB +:101A800020400000E53A000040000000E52800008A +:101A9000420000000A0048000449000086F83900AE +:101AA000652C0000420000000A004000D500000044 +:101AB00004414500070000005506000004450500EC +:101AC00086823600D5010000044505008680360078 +:101AD000652B000042000000E53A00004A0050007B +:101AE0000A004000D4C3450007000000044545003B +:101AF00007000000CD00000044494400070000003A +:101B000004454500070000004D0100004449550010 +:101B1000070000004451040086793600652C00005F +:101B2000420000000A00480004D14C0007000000F9 +:101B300044C1040086833600070000000700160039 +:101B4000E52C0000420004000A0040002040000094 +:101B50004000000065290000420000000A0040002B +:101B60000441000086F03600070000000224000057 +:101B700006323800025C0000E5250000420000004B +:101B80000A00400074420000E52A00004200000004 +:101B90000A0040007442000012015000E5290000D4 +:101BA000420000000A0040003442000004414500A9 +:101BB000070000002040000040000000E53E00005B +:101BC0002000000040000000E52D00005201400010 +:101BD0000A0050004451040086DA3700C5000000B6 +:101BE000E53E00002040000040000000E52B000022 +:101BF000420000000A00400054424000070000007C +:101C0000E52A0000204000004000000032015000A2 +:101C10003401040074560000E5290000420002006F +:101C20000A004200420000000A0050007C4105000A +:101C3000E5280000420000000A004800C50000003E +:101C400044C14C0086A03800E5260000E5270000CE +:101C5000420002004A0040000A0050003C420000DE +:101C60007C560000E52800002048000040000000ED +:101C7000121D280012252800721F0000652900008F +:101C8000420000000A00400004410000863A39008A +:101C900007000E000700160007001E00E53E0000CA +:101CA000420000000A00400004410000867839002C +:101CB000652D0000420000000A3428006534000051 +:101CC000420002004A004200204000004A004A0050 +:101CD0004A005000F4D2050004D154005C730000A7 +:101CE00086E1390007000000060600000700080032 +:101CF00007000C000700080007000A00E5010000CB +:101D00004500020020400000600000006503000064 +:101D100040000000652E0000201A0000601A0A0032 +:101D20004000000065340000420002004A0042000A +:101D3000204000004A004A00060600004A00500009 +:101D4000FD170000428001000A000800040900009D +:101D5000865A2200070000007D100000428001002A +:101D6000FD1100004A8033004A8019000A0020005B +:101D70009500000044112A0044A1010086903B0018 +:101D80000D04000084B1000086913B00FD180000A6 +:101D900042800100FD1000004A8009000A0038005E +:101DA0009500000024090100643A000086813B0090 +:101DB000070000000439000086923B000700000085 +:101DC000069A3B000D0000008D0000002008000076 +:101DD0007D38000040800100020070007D1100008D +:101DE000428001007D1900004A8029000A0030006D +:101DF0000200380024310000240400002404000004 +:101E0000242A0000020528008D06000010080000AA +:101E10003A1428000D75000024B10000642200006F +:101E200086033D0002442800100800003A0C2800F8 +:101E30000D800B0020080000FD0200004080010022 +:101E4000070020008D75000024B100000201100081 +:101E50004421010086493E00101800003A0010009D +:101E60007D380000428001000A00080004090000DB +:101E700086483E0000000300064A3E00BD00000008 +:101E80008D00000064310200640A0000020D280089 +:101E90008D800B0020080000FD0200004080010042 +:101EA000070020007D380000428001000A00080081 +:101EB0000409000086323E0000000300FD0200001D +:101EC000428001000A0008000409000086823D00EB +:101ED00007000000102800003A0428000D750000DB +:101EE0002409030064220000020D28006C31020066 +:101EF0000A4528000D810B0020080000FD020000AB +:101F000040800100070020008D000000240A00002E +:101F1000064A3E0002011000101800003A001000AE +:101F2000BD000000103800003A0430007D180000A9 +:101F300042800100FD1800004A8009000A002000CC +:101F4000AD000000248902002C21070010100000C1 +:101F5000830530008B0D3000BB143000831C300033 +:101F6000832000007D130000428003004A84330078 +:101F7000CBAC3300CBB43300CBBC3300CBC4330089 +:101F8000CBCC3300CBD433008B5C300083600000BB +:101F90000D1E0000FD050000428001000A00200027 +:101FA000240902008D0600006CA900009D000000BD +:101FB000FD020000428001000A0008000409000040 +:101FC000866A3F0007000000020528000A0D28006D +:101FD00002442800101800003A1428008D000C005C +:101FE00020080000FD0200004080010007002200E0 +:101FF00004390000865822000D1E00007D050000F7 +:10200000428001000A00200024090200A50000000F +:10201000FD020000428001000A00080004090000DF +:10202000862A40000700000002052800020C280054 +:10203000102000003A1428000D010C0020080000B8 +:10204000FD02000040800100065A22000700220025 +:102050000000000000000000000000000000000080 +:102060000000000000000000000000000000000070 +:102070000000000000000000000000000000000060 +:102080000000000000000000000000000000000050 +:102090000000000000000000000000000000000040 +:1020A0000000000000000000000000000000000030 +:1020B0000000000000000000000000000000000020 +:1020C0000000000000000000000000000000000010 +:1020D0000000000000000000000000000000000000 +:1020E00000000000000000000000000000000000F0 +:1020F00000000000000000000000000000000000E0 +:1021000000000000000000000000000000000000CF +:1021100000000000000000000000000000000000BF +:1021200000000000000000000000000000000000AF +:10213000000000000000000000000000000000009F +:10214000000000000000000000000000000000008F +:10215000000000000000000000000000000000007F +:10216000000000000000000000000000000000006F +:10217000000000000000000000000000000000005F +:10218000000000000000000000000000000000004F +:10219000000000000000000000000000000000003F +:1021A000000000000000000000000000000000002F +:1021B000000000000000000000000000000000001F +:1021C000000000000000000000000000000000000F +:1021D00000000000000000000000000000000000FF +:1021E00000000000000000000000000000000000EF +:1021F00000000000000000000000000000000000DF +:1022000000000000000000000000000000000000CE +:1022100000000000000000000000000000000000BE +:1022200000000000000000000000000000000000AE +:10223000000000000000000000000000000000009E +:10224000000000000000000000000000000000008E +:10225000000000000000000000000000000000007E +:10226000000000000000000000000000000000006E +:10227000000000000000000000000000000000005E +:10228000000000000000000000000000000000004E +:10229000000000000000000000000000000000003E +:1022A000000000000000000000000000000000002E +:1022B000000000000000000000000000000000001E +:1022C000000000000000000000000000000000000E +:1022D00000000000000000000000000000000000FE +:1022E00000000000000000000000000000000000EE +:1022F00000000000000000000000000000000000DE +:1023000000000000000000000000000000000000CD +:1023100000000000000000000000000000000000BD +:1023200000000000000000000000000000000000AD +:10233000000000000000000000000000000000009D +:10234000000000000000000000000000000000008D +:10235000000000000000000000000000000000007D +:10236000000000000000000000000000000000006D +:10237000000000000000000000000000000000005D +:10238000000000000000000000000000000000004D +:10239000000000000000000000000000000000003D +:1023A000000000000000000000000000000000002D +:1023B000000000000000000000000000000000001D +:1023C000000000000000000000000000000000000D +:1023D00000000000000000000000000000000000FD +:1023E00000000000000000000000000000000000ED +:1023F00000000000000000000000000000000000DD +:1024000000000000000000000000000000000000CC +:1024100000000000000000000000000000000000BC +:1024200000000000000000000000000000000000AC +:10243000000000000000000000000000000000009C +:10244000000000000000000000000000000000008C +:10245000000000000000000000000000000000007C +:10246000000000000000000000000000000000006C +:10247000000000000000000000000000000000005C +:10248000000000000000000000000000000000004C +:10249000000000000000000000000000000000003C +:1024A000000000000000000000000000000000002C +:1024B000000000000000000000000000000000001C +:1024C000000000000000000000000000000000000C +:1024D00000000000000000000000000000000000FC +:1024E00000000000000000000000000000000000EC +:1024F00000000000000000000000000000000000DC +:1025000000000000000000000000000000000000CB +:1025100000000000000000000000000000000000BB +:1025200000000000000000000000000000000000AB +:10253000000000000000000000000000000000009B +:10254000000000000000000000000000000000008B +:10255000000000000000000000000000000000007B +:10256000000000000000000000000000000000006B +:10257000000000000000000000000000000000005B +:10258000000000000000000000000000000000004B +:10259000000000000000000000000000000000003B +:1025A000000000000000000000000000000000002B +:1025B000000000000000000000000000000000001B +:1025C000000000000000000000000000000000000B +:1025D00000000000000000000000000000000000FB +:1025E00000000000000000000000000000000000EB +:1025F00000000000000000000000000000000000DB +:1026000000000000000000000000000000000000CA +:1026100000000000000000000000000000000000BA +:1026200000000000000000000000000000000000AA +:10263000000000000000000000000000000000009A +:10264000000000000000000000000000000000008A +:10265000000000000000000000000000000000007A +:10266000000000000000000000000000000000006A +:10267000000000000000000000000000000000005A +:10268000000000000000000000000000000000004A +:10269000000000000000000000000000000000003A +:1026A000000000000000000000000000000000002A +:1026B000000000000000000000000000000000001A +:1026C000000000000000000000000000000000000A +:1026D00000000000000000000000000000000000FA +:1026E00000000000000000000000000000000000EA +:1026F00000000000000000000000000000000000DA +:1027000000000000000000000000000000000000C9 +:1027100000000000000000000000000000000000B9 +:1027200000000000000000000000000000000000A9 +:102730000000000000000000000000000000000099 +:102740000000000000000000000000000000000089 +:102750000000000000000000000000000000000079 +:102760000000000000000000000000000000000069 +:102770000000000000000000000000000000000059 +:102780000000000000000000000000000000000049 +:102790000000000000000000000000000000000039 +:1027A0000000000000000000000000000000000029 +:1027B0000000000000000000000000000000000019 +:1027C0000000000000000000000000000000000009 +:1027D00000000000000000000000000000000000F9 +:1027E00000000000000000000000000000000000E9 +:1027F00000000000000000000000000000000000D9 +:1028000000000000000000000000000000000000C8 +:1028100000000000000000000000000000000000B8 +:1028200000000000000000000000000000000000A8 +:102830000000000000000000000000000000000098 +:102840000000000000000000000000000000000088 +:102850000000000000000000000000000000000078 +:102860000000000000000000000000000000000068 +:102870000000000000000000000000000000000058 +:102880000000000000000000000000000000000048 +:102890000000000000000000000000000000000038 +:1028A0000000000000000000000000000000000028 +:1028B0000000000000000000000000000000000018 +:1028C0000000000000000000000000000000000008 +:1028D00000000000000000000000000000000000F8 +:1028E00000000000000000000000000000000000E8 +:1028F00000000000000000000000000000000000D8 +:1029000000000000000000000000000000000000C7 +:1029100000000000000000000000000000000000B7 +:1029200000000000000000000000000000000000A7 +:102930000000000000000000000000000000000097 +:102940000000000000000000000000000000000087 +:102950000000000000000000000000000000000077 +:102960000000000000000000000000000000000067 +:102970000000000000000000000000000000000057 +:102980000000000000000000000000000000000047 +:102990000000000000000000000000000000000037 +:1029A0000000000000000000000000000000000027 +:1029B0000000000000000000000000000000000017 +:1029C0000000000000000000000000000000000007 +:1029D00000000000000000000000000000000000F7 +:1029E00000000000000000000000000000000000E7 +:1029F00000000000000000000000000000000000D7 +:102A000000000000000000000000000000000000C6 +:102A100000000000000000000000000000000000B6 +:102A200000000000000000000000000000000000A6 +:102A30000000000000000000000000000000000096 +:102A40000000000000000000000000000000000086 +:102A50000000000000000000000000000000000076 +:102A60000000000000000000000000000000000066 +:102A70000000000000000000000000000000000056 +:102A80000000000000000000000000000000000046 +:102A90000000000000000000000000000000000036 +:102AA0000000000000000000000000000000000026 +:102AB0000000000000000000000000000000000016 +:102AC0000000000000000000000000000000000006 +:102AD00000000000000000000000000000000000F6 +:102AE00000000000000000000000000000000000E6 +:102AF00000000000000000000000000000000000D6 +:102B000000000000000000000000000000000000C5 +:102B100000000000000000000000000000000000B5 +:102B200000000000000000000000000000000000A5 +:102B30000000000000000000000000000000000095 +:102B40000000000000000000000000000000000085 +:102B50000000000000000000000000000000000075 +:102B60000000000000000000000000000000000065 +:102B70000000000000000000000000000000000055 +:102B80000000000000000000000000000000000045 +:102B90000000000000000000000000000000000035 +:102BA0000000000000000000000000000000000025 +:102BB0000000000000000000000000000000000015 +:102BC0000000000000000000000000000000000005 +:102BD00000000000000000000000000000000000F5 +:102BE00000000000000000000000000000000000E5 +:102BF00000000000000000000000000000000000D5 +:102C000000000000000000000000000000000000C4 +:102C100000000000000000000000000000000000B4 +:102C200000000000000000000000000000000000A4 +:102C30000000000000000000000000000000000094 +:102C40000000000000000000000000000000000084 +:102C50000000000000000000000000000000000074 +:102C60000000000000000000000000000000000064 +:102C70000000000000000000000000000000000054 +:102C80000000000000000000000000000000000044 +:102C90000000000000000000000000000000000034 +:102CA0000000000000000000000000000000000024 +:102CB0000000000000000000000000000000000014 +:102CC0000000000000000000000000000000000004 +:102CD00000000000000000000000000000000000F4 +:102CE00000000000000000000000000000000000E4 +:102CF00000000000000000000000000000000000D4 +:102D000000000000000000000000000000000000C3 +:102D100000000000000000000000000000000000B3 +:102D200000000000000000000000000000000000A3 +:102D30000000000000000000000000000000000093 +:102D40000000000000000000000000000000000083 +:102D50000000000000000000000000000000000073 +:102D60000000000000000000000000000000000063 +:102D70000000000000000000000000000000000053 +:102D80000000000000000000000000000000000043 +:102D90000000000000000000000000000000000033 +:102DA0000000000000000000000000000000000023 +:102DB0000000000000000000000000000000000013 +:102DC0000000000000000000000000000000000003 +:102DD00000000000000000000000000000000000F3 +:102DE00000000000000000000000000000000000E3 +:102DF00000000000000000000000000000000000D3 +:102E000000000000000000000000000000000000C2 +:102E100000000000000000000000000000000000B2 +:102E200000000000000000000000000000000000A2 +:102E30000000000000000000000000000000000092 +:102E40000000000000000000000000000000000082 +:102E50000000000000000000000000000000000072 +:102E60000000000000000000000000000000000062 +:102E70000000000000000000000000000000000052 +:102E80000000000000000000000000000000000042 +:102E90000000000000000000000000000000000032 +:102EA0000000000000000000000000000000000022 +:102EB0000000000000000000000000000000000012 +:102EC0000000000000000000000000000000000002 +:102ED00000000000000000000000000000000000F2 +:102EE00000000000000000000000000000000000E2 +:102EF00000000000000000000000000000000000D2 +:102F000000000000000000000000000000000000C1 +:102F100000000000000000000000000000000000B1 +:102F200000000000000000000000000000000000A1 +:102F30000000000000000000000000000000000091 +:102F40000000000000000000000000000000000081 +:102F50000000000000000000000000000000000071 +:102F60000000000000000000000000000000000061 +:102F70000000000000000000000000000000000051 +:102F80000000000000000000000000000000000041 +:102F90000000000000000000000000000000000031 +:102FA0000000000000000000000000000000000021 +:102FB0000000000000000000000000000000000011 +:102FC0000000000000000000000000000000000001 +:102FD00000000000000000000000000000000000F1 +:102FE00000000000000000000000000000000000E1 +:102FF00000000000000000000000000000000000D1 +:00000001FF -- cgit v1.1