diff -urNp 2.4.19rc1/drivers/scsi/Config.in qlogic/drivers/scsi/Config.in --- 2.4.19rc1/drivers/scsi/Config.in Mon Jul 15 18:47:36 2002 +++ qlogic/drivers/scsi/Config.in Tue Jul 16 17:44:36 2002 @@ -182,6 +182,7 @@ if [ "$CONFIG_PCI" = "y" ]; then bool ' Include loadable firmware in driver' CONFIG_SCSI_QLOGIC_FC_FIRMWARE fi dep_tristate 'Qlogic QLA 1280 SCSI support' CONFIG_SCSI_QLOGIC_1280 $CONFIG_SCSI + source drivers/scsi/qla2xxx/Config.in fi if [ "$CONFIG_X86" = "y" ]; then dep_tristate 'Seagate ST-02 and Future Domain TMC-8xx SCSI support' CONFIG_SCSI_SEAGATE $CONFIG_SCSI diff -urNp 2.4.19rc1/drivers/scsi/Makefile qlogic/drivers/scsi/Makefile --- 2.4.19rc1/drivers/scsi/Makefile Mon Jul 15 18:47:36 2002 +++ qlogic/drivers/scsi/Makefile Tue Jul 16 17:59:26 2002 @@ -27,6 +27,7 @@ mod-subdirs := pcmcia ../acorn/scsi subdir-$(CONFIG_SCSI_AACRAID) += aacraid subdir-$(CONFIG_SCSI_AIC7XXX) += aic7xxx +subdir-$(CONFIG_SCSI_QLOGIC_QLA2XXX) += qla2xxx subdir-$(CONFIG_PCMCIA) += pcmcia @@ -84,6 +85,10 @@ obj-$(CONFIG_SCSI_QLOGIC_FAS) += qlogicf obj-$(CONFIG_SCSI_QLOGIC_ISP) += qlogicisp.o obj-$(CONFIG_SCSI_QLOGIC_FC) += qlogicfc.o obj-$(CONFIG_SCSI_QLOGIC_1280) += qla1280.o +ifeq ($(CONFIG_SCSI_QLOGIC_QLA2XXX),y) + obj-$(CONFIG_SCSI_QLOGIC_QLA2XXX_QLA2200) += qla2xxx/qla2200.o + obj-$(CONFIG_SCSI_QLOGIC_QLA2XXX_QLA2300) += qla2xxx/qla2300.o +endif obj-$(CONFIG_SCSI_PAS16) += pas16.o obj-$(CONFIG_SCSI_SEAGATE) += seagate.o obj-$(CONFIG_SCSI_FD_8xx) += seagate.o @@ -209,3 +214,9 @@ sim710.o : sim710_d.h mv script.h 53c700_d.h 53c700.o: 53c700_d.h + +qla2xxx/qla2200.o: + cd qla2xxx; make qla2200.o + +qla2xxx/qla2300.o: + cd qla2xxx; make qla2300.o diff -urNp 2.4.19rc1/drivers/scsi/qla2xxx/Config.in qlogic/drivers/scsi/qla2xxx/Config.in --- 2.4.19rc1/drivers/scsi/qla2xxx/Config.in Thu Jan 1 01:00:00 1970 +++ qlogic/drivers/scsi/qla2xxx/Config.in Mon Jul 8 12:05:21 2002 @@ -0,0 +1,5 @@ +bool 'Qlogic QLA 2XXX v6 FC SCSI support' CONFIG_SCSI_QLOGIC_QLA2XXX +if [ "$CONFIG_SCSI_QLOGIC_QLA2XXX" != "n" ]; then + dep_tristate ' Qlogic QLA 2200 v6 FC SCSI support' CONFIG_SCSI_QLOGIC_QLA2XXX_QLA2200 $CONFIG_SCSI + dep_tristate ' Qlogic QLA 2300 v6 FC SCSI support' CONFIG_SCSI_QLOGIC_QLA2XXX_QLA2300 $CONFIG_SCSI +fi diff -urNp 2.4.19rc1/drivers/scsi/qla2xxx/Makefile qlogic/drivers/scsi/qla2xxx/Makefile --- 2.4.19rc1/drivers/scsi/qla2xxx/Makefile Thu Jan 1 01:00:00 1970 +++ qlogic/drivers/scsi/qla2xxx/Makefile Tue Jul 16 17:37:08 2002 @@ -0,0 +1,32 @@ +# +# drivers/scsi/qla2xxx/Makefile +# +# Makefile for the Linux Qlogic QLA 2XXX v6 FC SCSI support +# + +include $(TOPDIR)/Rules.make + +SRC_FILES=qla_settings.h qla2x00.h qla2x00.c qla_cfg.c qla_cfg.h qla_cfgln.c \ +qla_fo.h qla_fo.c qla_dbg.h qla_def.h qlfo.h qla2x00_ioctl.c qla_inioct.c \ +qla_mbx.c qla_mbx.h qla_debug.h + +QLA_FLAGS = -I../ + +ifeq ($(CONFIG_SMP),y) + QLA_FLAGS += -D__SMP__ -DCONFIG_SMP +endif + +qla2200.o: $(SRC_FILES) + $(CC) $(CFLAGS) $(QLA_FLAGS) -DISP2200 -c qla2200.c -o $@ + +qla2300.o: $(SRC_FILES) + $(CC) $(CFLAGS) $(QLA_FLAGS) -DISP2300 -c qla2300.c -o $@ + +modules_install: + echo HERE!!!! + mkdir $(MODLIB)/kernel/drivers/scsi/qla2xxx/ + cp qla2200.o qla2300.o $(MODLIB)/kernel/drivers/scsi/qla2xxx/ + +clean: + rm -f qla2200.o qla2300.o + diff -urNp 2.4.19rc1/drivers/scsi/qla2xxx/README.qla2x00 qlogic/drivers/scsi/qla2xxx/README.qla2x00 --- 2.4.19rc1/drivers/scsi/qla2xxx/README.qla2x00 Thu Jan 1 01:00:00 1970 +++ qlogic/drivers/scsi/qla2xxx/README.qla2x00 Mon Jul 8 12:54:54 2002 @@ -0,0 +1,781 @@ +QLogic Fibre Channel Driver for SuSE 7.3/Enterprise 7 and RedHat 7.1/7.2 + +Products supported: QLA2200, QLA2300 + +05/07/2002 + + + +Contents +-------- + +1. OS Support + +2. Supported Features + +3. Release History + +4. Creating the Driver Diskette + +5. Installing the driver + + 5.1 Building a Custom Kernel to Load the Driver + 5.2 Building the driver from the Source + 5.2.1. Building an Uni-Processor (UP) version of the driver + 5.2.2. Building a Symmetric Multi-Processor(SMP) version of the driver + 5.3 Load the Driver Manually + 5.4 Making a RAMDISK to Load the Driver + +6. Driver Parameters + + 6.1 System Parameters + 6.2 NVRAM Parameters + 6.3 Driver Command Line Parameters + +7. Limitations + +8. Additional Notes + + 8.1 Proc Filesystem Support + 8.2 Co-existence of QLogic 4.x and 6.x Linux drivers + +9. Diskette Content + +10. Contacting QLogic + + +********************************************************************** + + +1. OS Support +------------- + +This driver works with Linux kernel 2.4.X. +Earlier or later versions of Linux are not supported in this beta +release. + + +********************************************************************** + + +2. Supported Features +--------------------- + +* FCAL - direct attach loop +* Point-to-point +* Fabric support +* Initiator mode only +* Fault recovery on down loops +* Persistent binding +* Extended LUN support up to 255 LUNs +* FC tape support +* IPFC support + + +********************************************************************** + + +3. Release History +------------------ + +Please refer to Release Notes. + + +********************************************************************** + + +4. Creating the Driver Disks +---------------------------- + +Download qla2x00src-vx.yy.tgz file from QLogic's website. If prompted +"What would you like to do with this file?" choose "Save this file +to disk". Insert a blank diskette and download to the diskette +directly. + + +********************************************************************** + + +5. Installing the driver +------------------------ + + +5.1 Building a Custom Kernel to Load the Driver +------------------------------------------------- + +This process is only supported on RedHat 7.1/7.2 and SuSE 7.3/ +Enterprise 7. The kernel source tree is referenced below +as /usr/src/linux. Under the RedHat distribution, the normal +directory path is /usr/src/linux-2.4. For SuSE distributions, +the kernel source is usually located in /usr/src/linux. + +Prerequisites: + + a) Verify that both kernel-headers and kernel-source + RPMS are already installed. + + # rpm -qa | grep kernel + + If the kernel-headers and kernel-source RPMs are + not installed, install from the distribution's CD + with the following commands: + + # rpm -i kernel-sources* + # rpm -i kernel-headers* + +1. Make special Qlogic Directory under kernel source tree + + # mkdir /usr/src/linux/drivers/scsi/qla2xxx/ + # cd /usr/src/linux/drivers/scsi/qla2xxx/ + # tar xvzf qla2x00src-vx.yy.tgz + # rm -f makefile + # cp -f Makefile.kernel Makefile + +2. Edit the Makefile under the kernel scsi directory + + # cd /usr/src/linux/drivers/scsi + # vi Makefile + + Look for the following line + + subdir-$(CONFIG_SCSI_AIC7XXX) += aic7xxx + + And add the following lines + + subdir-$(CONFIG_SCSI_QLOGIC_QLA2XXX) += qla2xxx + ifeq ($(CONFIG_SCSI_QLOGIC_QLA2XXX_QLA2200),y) + SUB_DIRS += qla2xxx + MOD_IN_SUB_DIRS += qla2xxx + else + ifeq ($(CONFIG_SCSI_QLOGIC_QLA2XXX_QLA2200),m) + MOD_IN_SUB_DIRS += qla2xxx + endif + endif + ifeq ($(CONFIG_SCSI_QLOGIC_QLA2XXX_QLA2300),y) + SUB_DIRS += qla2xxx + MOD_IN_SUB_DIRS += qla2xxx + else + ifeq ($(CONFIG_SCSI_QLOGIC_QLA2XXX_QLA2300),m) + MOD_IN_SUB_DIRS += qla2xxx + endif + endif + + The edited lines should read as: + + subdir-$(CONFIG_SCSI_AIC7XXX) += aic7xxx + subdir-$(CONFIG_SCSI_QLOGIC_QLA2XXX) += qla2xxx + ifeq ($(CONFIG_SCSI_QLOGIC_QLA2XXX_QLA2200),y) + SUB_DIRS += qla2xxx + MOD_IN_SUB_DIRS += qla2xxx + else + ifeq ($(CONFIG_SCSI_QLOGIC_QLA2XXX_QLA2200),m) + MOD_IN_SUB_DIRS += qla2xxx + endif + endif + ifeq ($(CONFIG_SCSI_QLOGIC_QLA2XXX_QLA2300),y) + SUB_DIRS += qla2xxx + MOD_IN_SUB_DIRS += qla2xxx + else + ifeq ($(CONFIG_SCSI_QLOGIC_QLA2XXX_QLA2300),m) + MOD_IN_SUB_DIRS += qla2xxx + endif + endif + + NOTE: For Redhat Distributions (7.1 and 7.2) :- + + Locate the following line + + obj-$(CONFIG_SCSI_QLOGIC_QLA2100) += qla2x00.o + + Add the following lines below that: + + obj-$(CONFIG_SCSI_QLOGIC_QLA2XXX_QLA2200) += qla2xxx/qla2200.o + obj-$(CONFIG_SCSI_QLOGIC_QLA2XXX_QLA2300) += qla2xxx/qla2300.o + + Append the following lines to the end of the Makefile: + + qla2xxx/qla2200.o: + cd qla2xxx; make qla2200.o + + qla2xxx/qla2300.o: + cd qla2xxx; make qla2300.o + + NOTE: For SuSE Distributions (7.2 and 7.3) :- + + Locate the following line + + obj-$(CONFIG_SCSI_QLOGIC_QLA2200) += qla2200.o + obj-$(CONFIG_SCSI_QLOGIC_QLA2300) += qla2300.o + + Add the following lines below that: + + obj-$(CONFIG_SCSI_QLOGIC_QLA2XXX_QLA2200) += qla2xxx/qla2200.o + obj-$(CONFIG_SCSI_QLOGIC_QLA2XXX_QLA2300) += qla2xxx/qla2300.o + + Append the following lines to the end of the Makefile: + + qla2xxx/qla2200.o: + cd qla2xxx; make qla2200.o + + qla2xxx/qla2300.o: + cd qla2xxx; make qla2300.o + +4. Edit the Config.in file under the kernel scsi directory + + # cd /usr/src/linux/drivers/scsi + # vi Config.in + + NOTE: For Redhat Distributions (7.1 and 7.2) :- + + Locate the following lines + + dep_tristate 'Qlogic QLA 2100 FC SCSI support' CONFIG_SCSI_QLOGIC_QLA2100 $CONFIG_SCSI + dep_tristate 'Qlogic QLA 2200 FC SCSI support' CONFIG_SCSI_QLOGIC_QLA2200 $CONFIG_SCSI + + Add the following line below that: + + source drivers/scsi/qla2xxx/Config.in + + NOTE: For SuSE Distributions (7.2 and 7.3) :- + + Locate the following lines + + dep_tristate 'Qlogic QLA2200 SCSI support' CONFIG_SCSI_QLOGIC_QLA2200 $CONFIG_SCSI + dep_tristate 'Qlogic QLA2300 SCSI support' CONFIG_SCSI_QLOGIC_QLA2300 $CONFIG_SCSI + + Add the following lines below that: + + source drivers/scsi/qla2xxx/Config.in + +5. Remove any reference to older QLogic FC drivers + + NOTE: To ensure that the older driver binary included in the original + distribution does not interfere with the updated version, please + rename the old driver binary as follows: + + For Redhat Distributions (7.2 with 2.4.9-21 or above) :- + + # cd /usr/src/linux/drivers/addon/qla2200 + # mv qla2200.o qla2200_rh.o + # mv qla2300.o qla2300_rh.o + # cd /lib/modules//drivers/addon/qla2200 + # mv qla2200.o qla2200_rh.o + # mv qla2300.o qla2300_rh.o + + For SuSE Distributions (Enterprise 7 and above, 7.3 and above) :- + + # cd /usr/src/linux/drivers/scsi + # mv qla2200.o qla2200_su.o + # mv qla2300.o qla2300_su.o + # cd /lib/modules//drivers/scsi + # mv qla2200.o qla2200_su.o + # mv qla2300.o qla2300_su.o + +6. Configure the kernel to load the new QLogic driver. + + # cd /usr/src/linux + # make menuconfig + + - Select "SCSI Support" + + - Select "SCSI Generic Support" + + - Select "SCSI low-level drivers" + + - Select "Qlogic QLA 2XXX v6 FC SCSI support" + + - Select "Qlogic QLA 2200 v6 FC SCSI support" + + OR + + - Select "Qlogic QLA 2300 v6 FC SCSI support" + + - Select Exit to go back to the "SCSI Support" menu. + + - Select Exit to go back to the "Main Menu". + + - Select Exit to exit the Main Menu. + + The system prompts: "Do you wish to save your new kernel + configuration?". Select "Yes". The system saves a new config + file called ".config" in the current directory. + +7. Build kernel + + # make dep bzImage modules modules_install + + +5.2 Building a Driver from the Sources Code +-------------------------------------------- + +From the source code you can build a qla2200.o or qla2300.o for +your UP or SMP systems, and load the driver manually or automatically +using a RAMDISK image during system boot time. + + +5.2.1 Building a Uni-Processor (UP) Version of the Driver +--------------------------------------------------------- + +1. Extract the kernel-headers and kernel-sources RPM files from the + first RedHat CD: + + # cd /mnt/cdrom/RedHat/RPMS + # rpm -iv kernel-headers*.rpm + # rpm -iv kernel-source*.rpm + +3. Prepare source headers by first changing to the kernel source + directory: + + (For Redhat 7.1 SMP) + # cd /usr/src/linux-2.4 + +3. Type "make menuconfig" to configure additional support: + + - Select "SCSI Support" + + - Select "SCSI Generic Support" + + - Select Exit to exit the Main Menu. + + The system prompts: "Do you wish to save your new kernel + configuration?". Select "Yes". The system saves a new config + file called ".config" in the current directory. + +4. Under the kernel source directory type the following: + + # make dep + +5. Using Diskette you created in Section 4, copy the + qla2x00src-vx.yy.tgz file to /qla2x00. Follow these steps: + + # mkdir qla2x00 + # cd qla2x00 + # mcopy a:*.tgz . + # tar -xvzf *.tgz + +6. Build the driver qla2200.o and qla2300.o from the Source Code by + typing: + + (For Redhat 7.1 UP) + + # make all OSVER=linux-2.4 + +7. To load the driver manually, see section 5.3. + To make a RAMDISK to load the driver during system boot time, see + section 5.4. + + +5.2.2. Building Symmetric Multi-Processor (SMP) Version of the Driver +--------------------------------------------------------------------- + +1. Extract the kernel-headers and kernel-source RPM files from the + first RedHat CD: + + # cd /mnt/cdrom/RedHat/RPMS + # rpm -iv kernel-headers*.rpm + # rpm -iv kernel-source*.rpm + +2. Prepare source headers for a SMP module build by first changing + to the kernel source directory: + + (For Redhat 7.1 SMP) + # cd /usr/src/linux-2.4 + +3. Type "make menuconfig" to configure additional support: + + - Select "Processor type and features" + + - Select "Symmetric multiproccessor" + + - Select Exit to exit the Processor Menu. + + - Select "SCSI Support" + + - Select "SCSI Generic Support" + + - Select Exit to exit the SCSI Menu. + + - Select Exit to exit the Main Menu. + + The system prompts: "Do you wish to save your new kernel + configuration?". Select "Yes". The system saves a new config + file called ".config" in the current directory. + +4. Under kernel source directory type the following: + + # make dep + +5. Using the diskette you created in Section 4. Copy the + qla2x00src-vx.yy.tgz file to /qla2x00. Follow these steps: + + # mkdir qla2x00 + # cd qla2x00 + # mcopy a:*.tgz . + # tar -xvzf *.tgz + +6. Build the driver qla2200.o and qla2300.o from the Source Code by + typing: + + (For Redhat 7.1 SMP) + + # make all SMP=1 OSVER=linux-2.4 + +7. To load the driver manually, see section 5.3. + To make a RAMDISK to load the driver during system boot time, see + section 5.4. + + +5.3 Load the Driver Manually +------------------------------ + +Before loading the driver manually, first build the driver binary from +the driver source files as described in sections 5.2.1 and 5.2.2. + +- To load the driver directly from the local build directory, type + the following: + + # insmod qla2200.o + or + # insmod qla2300.o + +- To load the driver using modprobe: + + 1. Copy driver binary files. Type the following: + + # cp qla2200.o qla2300.o /lib/modules//kernel/drivers/scsi/ + + 2. Update the module dependency file. You can either run "depmod -a" + or make sure that the following line is in the + /lib/modules//modules.dep file: + + /lib/modules//kernel/drivers/scsi/qla2200.o: /lib/modules//kernel/drivers/scsi/scsi_mod.o + + and/or + + /lib/modules//kernel/drivers/scsi/qla2300.o: /lib/modules//kernel/drivers/scsi/scsi_mod.o + + 3. Type the following to load the driver: + + # modprobe qla2200.o + or + # modprobe qla2300.o + + + NOTE: For Redhat Distributions v7.2 with kernel 2.4.9-21 and above: + + To ensure that the older driver binary included in the original + distribution does not interfere with the updated version, please + rename the old driver binary as follows: + + # cd /lib/modules//drivers/addon/qla2200 + # mv qla2200.o qla2200_rh.o + # mv qla2300.o qla2300_rh.o + + After renaming the older version of the drivers, you can load + the new driver using 'modprobe' after updating the modules + dependency file. + + +5.4 Making a RAMDISK to Load the Driver +----------------------------------------- + +1. Build the driver binary files (see 5.2.1 and 5.2.2). + +2. Copy the files to /lib/modules//kernel/drivers/scsi/ + +NOTE: For Redhat Distributions (7.2 with 2.4.9-21 or above) : + + To ensure that the older driver binary included in the original + distribution does not interfere with the updated version, please + rename the old driver binary as follows: + + # cd /lib/modules//drivers/addon/qla2200 + # mv qla2200.o qla2200_rh.o + # mv qla2300.o qla2300_rh.o + +3. Add the following line to /etc/modules.conf. + + alias scsi_hostadapter0 qla2200 + or + alias scsi_hostadapter0 qla2300 + +4. For RedHat Distribution: + + - Type the following command: + + # mkinitrd -f + + - Copy the file to /boot. + + For SuSE Distribution: + + - Type the following command: + + # /sbin/mk_initrd + + NOTE: By default, the RAMDISK images created are: + + /boot/initrd + /boot/initrd.suse + +5. Configure the boot loader with the new RAMDISK image. + + For LILO: + + Add "initrd=/boot/" in + /etc/lilo.conf under one of the kernel entries + to use the ram disk image. + + Run "lilo" and reboot system. Select the kernel + with the new ramdisk image to come up. + + For GRUB: + + Add "initrd=/boot/" in + /etc/grub.conf under one of the kernel entries + to use the ram disk image. + +********************************************************************** + + +6. Driver Parameters +-------------------- + +The driver parameters are divided into System Parameters and NVRAM +Parameters sections. + + +6.1 System parameters +---------------------- + +1. Type in the following at the boot prompt to support 128 LUNs: + + boot: linux max_scsi_luns=128 + +2. The /etc/lilo.conf file can be changed to automatically make the + kernel to enable more than 1 LUN. If you have multiple kernel + images,the "append=" line must be added to each kernel image + listed in the lilo.conf file. + + For example, add the following line to support 128 LUNs: + + append="max_scsi_luns=128" + + Note: If you have multiple adapters, set max_scsi_luns to maximum + LUN supported between adapters. + + +6.2 NVRAM Parameters +--------------------- + +The NVRAM features described below are hard-coded in the driver. The +changes made for the particular NVRAM feature in the Fast!Util do not +take effect unless otherwise noted. + +None. + + +6.3 Driver Command Line Parameters +----------------------------------- + +'verbose' and 'quiet' are command line options available. + + verbose - Verbose detail debug information + + quiet - Driver does not display: + Waiting for LIP to complete.... + scsi%d: Topology - %s, Host Loop address 0x%x + scsi(%d): LIP occurred + scsi(%d): LIP reset occurred + + Usage examples: + + # insmod qla2200.o options = verbose + # insmod qla2300.o options = verbose + # insmod qla2200.o ql2xopts = quiet + # insmod qla2300.o ql2xopts = quiet + + +********************************************************************** + + +7. Limitations +-------------- + + N/A + + +********************************************************************** + + +8. Additional Notes +--------------------- + + +8.1 Proc Filesystem Support +----------------------------- + +The /proc filesystem for the QLA2200 and QLA2300 driver can be found in the +/proc/scsi/qla2200/ and /proc/scsi/qla2300/ directory. This directory contains +a file for each QLogic Fibre Channel adapter in the system. Each file will +present information about the adapter and transfer statistics for each +discovered LUN. + + +8.2 Co-existence of QLogic 4.x and 6.x Linux drivers +----------------------------------------------------- + +The 4.x driver provides support for QLA2100, QLA2200, and QLA23xx. The 6.x +driver supports the QLA2200, and QLA23xx only. To make the drivers "co-exist", +perform the following: + + Option 1. 4.x support for QLA2100 + 6.x support for QLA2200,and QLA23xx + + o Remove QLA2200/QLA2300/QLA2312 support from the 4.x series driver: + + - Edit the qla2x00.c file + + - Look for the following line: + + {"QLA2300 ", QLA2300_DEVICE_ID, MAX_BUSES, + + OR + + {"QLA2312 ", QLA2312_DEVICE_ID, MAX_BUSES, + + - Above the found line, add this line: + + #if 0 + + - The resultant lines should read as: + + #if 0 + {"QLA2300 ", QLA2300_DEVICE_ID, MAX_BUSES, + + OR + + #if 0 + {"QLA2312 ", QLA2312_DEVICE_ID, MAX_BUSES, + + - Look for the following line: + + {"QLA2100 ", QLA2100_DEVICE_ID, MAX_BUSES, + + - Above the found line, add this line: + + #endif + + - The resultant lines should read as: + + #endif + {"QLA2100 ", QLA2100_DEVICE_ID, MAX_BUSES, + + + + Option 2. 4.x support for QLA2100,and QLA2200 + 6.x support for QLA23xx. + + o Remove QLA2300/QLA2312 support from the 4.x series driver: + + - Edit the qla2x00.c file + + - Look for the following line: + + {"QLA2300 ", QLA2300_DEVICE_ID, MAX_BUSES, + + OR + + {"QLA2312 ", QLA2312_DEVICE_ID, MAX_BUSES, + + - Above the found line, add this line: + + #if 0 + + - The resultant lines should read as: + + #if 0 + {"QLA2300 ", QLA2300_DEVICE_ID, MAX_BUSES, + + OR + + #if 0 + {"QLA2312 ", QLA2312_DEVICE_ID, MAX_BUSES, + + - Look for the following line: + + {"QLA2200 ", QLA2200_DEVICE_ID, MAX_BUSES, + + - Above the found line, add this line: + + #endif + + - The resulting lines should read as: + + #endif + {"QLA2200 ", QLA2200_DEVICE_ID, MAX_BUSES, + +********************************************************************** + + +9. Diskette Content +-------------------- + +The qla2x00src-vx.yy.tgz files can be extracted into the following +files: + + Makefile.kernel + Config.in + makefile + qla_settings.h + qla_debug.h + ql2200_fw.h + ql2300_fw.h + ql2200ip_fw.h + ql2300ip_fw.h + qla2200.c + qla2300.c + qla2x00.c + qla2x00.h + qla2x00_ioctl.c + qla_vendor.c + qla_cfg.c + qla_cfgln.c + qla_fo.c + qla_fo.cfg + qla_inioct.c + qla_ip.c + exioctln.h + exioct.h + inioct.h + qla_cfg.h + qla_dbg.h + qla_def.h + qla_fo.h + qla_gbl.h + qla_ip.h + qlfo.h + qlfolimits.h + qlfoln.h + sdm_fo.h + qla_version.h + revision.notes - Revision history. + release.txt - Release notes. + README.qla2x00 - This file. + + +********************************************************************** + + +10. Contacting QLogic +--------------------- + +Please visit QLogic's website (www.qlogic.com). On this site you will +find product information, our latest drivers and links for technical +assistance if needed. + + +====================================================================== + + + Copyright (c) 2002 QLogic Corporation. All rights reserved. diff -urNp 2.4.19rc1/drivers/scsi/qla2xxx/exioct.h qlogic/drivers/scsi/qla2xxx/exioct.h --- 2.4.19rc1/drivers/scsi/qla2xxx/exioct.h Thu Jan 1 01:00:00 1970 +++ qlogic/drivers/scsi/qla2xxx/exioct.h Mon Jul 8 12:05:21 2002 @@ -0,0 +1,966 @@ +/****************************************************************************** + * QLOGIC LINUX SOFTWARE + * + * QLogic ISP2x00 device driver for Linux 2.4.x + * Copyright (C) 2002 Qlogic Corporation + * (www.qlogic.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, 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. + * + ******************************************************************************/ + +/* + * File Name: exioct.h + * + * San/Device Management Ioctl Header + * File is created to adhere to Solaris requirement using 8-space tabs. + * + * !!!!! PLEASE DO NOT REMOVE THE TABS !!!!! + * !!!!! PLEASE NO SINGLE LINE COMMENTS: // !!!!! + * !!!!! PLEASE NO MORE THAN 80 CHARS PER LINE !!!!! + * + * Revision History: + * + * Rev. 0 March 1, 2000 + * YPL - Created. + * + * Rev. 1 March 2, 2000 + * RLU - Updated with latest definitions. Added more comments. + * + * Rev. 2 May 16, 2000 + * SP - Updated definitions and changed structures (March 27, 2000) + * SP - Addded structures + * + * Rev. 3 June 1, 2000 + * THL - Made major changes to include all changes talked in our meeting. + * + * Rev. 4 June 5, 2000 + * RLU - Added new definitions/structures for SDM_GET_AEN and SDM_REG_AEN + * functions. + * - Major definition/structure name changes as discussed in meetings. + * - Deleted duplicated command code and structure definitions. + * + * Rev. 4.1 June 14, 2000 + * WTR - Moved Solaris specific defines to exioctso.h. This makes it + * possible for application developers to include only exioct.h + * in their Solaris application development. + * + * Rev. 4.2 June 15, 2000 + * THL - Changed UINT16 and UINT32 back to WORD and DWORD for NT; otherwise, + * NT will get a compilation error for redefining UINT16 and UINT32. + * Added RISC_CODE/FLASH_RAM macros. + * + * Rev. 4.3 June 22, 2000 + * THL - Changed SDM_FC_ADDR according to External Ioctls document. + * Added SDM_DEF_TYPE macros. + * + * Rev. 4.4 June 22, 2000 + * THL - Moved NT specific defines to exioctnt.h. + * + * Rev. 4.5 August 15, 2000 + * SP - Rolled back some changes made by Todd R. + * Kept new status code SDM_STATUS_NO_MEMORY + * Port types fabric and tape device + * + * Rev. 4.7 Sep 6, 2000 + * YPL - Replace SDM_ with EXT_, _ISP with _CHIP. + * Add vendor specific statuses, device update, config defines. + * + * Rev. 5.0 Sep 13, 2000 + * YPL - Update version to 5, remove max defines, make port type bit. + * Change HBA_PORT_PROPERTY to have bus/target/lun defined as UINT16 + * + * Rev. 5.1 Sep 22, 2000 + * THL - Add destination address for specify scsi address or FC address. + * Remove "not support" comment and add more macros. + * + * Rev. 5.2 Sep 27, 2000 + * THL - Add new macros and structure for add and swap target device. + * Create new data structure for get port database. + * TLE - Merge changes needed for FailOver + * + * Rev. 5.3 Sep 29, 2000 + * THL - Add access mode for NVRAM. + * + * Rev. 5.4 Oct 03, 2000 + * THL - Add EXT_SC_GET_FC_STATISTICS. + * + * Rev. 5.5 Oct 18, 2000 + * THL - Remove duplicated EXT_DEF_ADDR_MODE_32 and EXT_DEF_ADDR_MODE_16. + * Reformat new data structures and defines. + * + * Rev. 5.6 Oct 19, 2000 + * RLU - Changed file name from ExIoct.h to exioct.h. + * - Added definition of EXT_RNID_DATA for API implementation. + * - Reformat some lines to conform to the format agreed + * upon in IOCTL meeting (and mentioned at beginning of + * this file). + * + * Rev. 5.7 Oct 25, 2000 + * BN - Added LUN bitmask structure and macros + * + * Rev. 5.8 Oct 25, 2000 + * BN - Added EXT_CC_DRIVER_PROP define + * + * Rev. 5.9 Oct 26, 2000 + * BN - Sync with UnixApi project + * + * Rev. 5.10 Oct 30, 2000 + * BN - Remove not needed #define for EXT_CC_DRIVER_PROP + * - Add EXT_ to IS_LUN_BIT_SET, SET_LUN_BIT, CLR_LUN_BIT + * + * Rev. 5.11 Nov 1, 2000 + * BN - Increased [1] of EXT_DEVICEDATA to [EXT_MAX_TARGET] + * TLE - Decreased [EXT_MAX_TARGET] of EXT_DEVICEDATA to [1] + * + * Rev. 5.12 Nov 7, 2000 + * RLU - Deleted EXT_DEF_MAX_LUNS define and changed all references + * to it to use EXT_MAX_LUN. + * - Changed the revision numbers for the last 2 revisions down + * to use 5.x. + * + * Rev. 5.13 Nov 14, 2000 + * WTR - Fixed pointer referencing problem in the LUN_BIT_MASK macros. + * Updated comment at bit mask definition. + * + * Rev. 5.14 Dec 6, 2000 + * THL - Added Local and LoopID to discovered port/target property. + * + * Rev. 5.15 Dec 24, 2000 + * YPL - Enhance port connection modes and driver attrib + * + * Rev. 5.16 Dec 27, 2000 + * TLE - Add BufferHandle member to _EXT_ASYNC_EVENT data structure for + * SCTP support + * + * Rev. 5.17 Jan 10, 2001 + * YPL - Add edtov, ratov & fabric name in port property + * + * Rev. 5.18 Feb 28, 2001 + * YPL - Remove SCTP fields and add fabric parameter flags in port property + * + * Rev. 5.19 Mar 08, 2001 + * YPL - Remove SCTP fields from hba port prop + * + * Rev. 5.20 June 11, 2001 + * YPL - Change to reserved fields and add fabric name field in port property + * + * Rev. 5.21 June 29, 2001 + * YPL - Merge in changes decided long time ago (use _DEF_ for defines) & + * reserved some EXT_CC for legacy ioctls, plus add RNID dataformat + * values definition + * + * Rev. 5.21 Sep 18, 2001 + * SP - Added New return status codes + * + * Rev. 5.22 Oct 23, 2001 + * SP - Change reserve fields to add fields to EXT_HBA_PORT + * Added port speeds and FC4Types fields and related definitions + * + * Rev. 5.23 Dec 04, 2001 + * RL - Added port speed value definition. + * + * Rev. 5.24 Jan 20, 2002 + * JJ - Added PCI device function bits field in EXT_CHIP structure. + * + * Rev. 5.25 Feb 04, 2002 + * JJ - Added 16 bytes CDB support. Also added SenseLength field + * in SCSI_PASSTHRU structure. + * + * Rev. 5.26 Feb 12, 2002 + * AV - Changed type size used in SCSI_PASSTHRU structure definitions + * to re-enable gcc's automatic structure padding for backward + * compatibility. + * + * Rev. 5.27 Mar 01, 2002 + * RL - Added new SC value for SCSI3 command passthru. + */ + +#ifndef _EXIOCT_H +#define _EXIOCT_H + +/* + * NOTE: the following version defines must be updated each time the + * changes made may affect the backward compatibility of the + * input/output relations of the SDM IOCTL functions. + */ +#define EXT_VERSION 5 + + +/* + * OS independent General definitions + */ +#define EXT_DEF_SIGNATURE_SIZE 8 +#define EXT_DEF_WWN_NAME_SIZE 8 +#define EXT_DEF_WWP_NAME_SIZE 8 +#define EXT_DEF_SERIAL_NUM_SIZE 4 +#define EXT_DEF_PORTID_SIZE 4 +#define EXT_DEF_PORTID_SIZE_ACTUAL 3 +#define EXT_DEF_MAX_STR_SIZE 128 +#define EXT_DEF_SCSI_PASSTHRU_CDB_LENGTH 16 + +#define EXT_DEF_ADDR_MODE_32 1 +#define EXT_DEF_ADDR_MODE_64 2 + +/* + * *********************************************************************** + * X OS type definitions + * *********************************************************************** + */ +#ifdef _MSC_VER /* NT */ + +#pragma pack(1) +#include "ExIoctNT.h" + +#elif defined(linux) /* Linux */ + +#include "exioctln.h" + +#elif defined(sun) || defined(__sun) /* Solaris */ + +#include "exioctso.h" + +#endif + +/* + * *********************************************************************** + * OS dependent General configuration defines + * *********************************************************************** + */ +#define EXT_DEF_MAX_HBA EXT_DEF_MAX_HBA_OS +#define EXT_DEF_MAX_BUS EXT_DEF_MAX_BUS_OS +#define EXT_DEF_MAX_TARGET EXT_DEF_MAX_TARGET_OS +#define EXT_DEF_MAX_LUN EXT_DEF_MAX_LUN_OS + +/* + * *********************************************************************** + * Common header struct definitions for San/Device Mgmt + * *********************************************************************** + */ +typedef struct +{ + UINT64 Signature; /* 8 chars string */ + UINT16 AddrMode; /* 2 */ + UINT16 Version; /* 2 */ + UINT16 SubCode; /* 2 */ + UINT16 Instance; /* 2 */ + UINT32 Status; /* 4 */ + UINT32 DetailStatus; /* 4 */ + UINT32 Reserved1; /* 4 */ + UINT32 RequestLen; /* 4 */ + UINT32 ResponseLen; /* 4 */ + UINT64 RequestAdr; /* 8 */ + UINT64 ResponseAdr; /* 8 */ + UINT16 HbaSelect; /* 2 */ + UINT16 VendorSpecificStatus[11]; /* 22 */ + UINT64 VendorSpecificData; /* 8 chars string */ +} +EXT_IOCTL, *PEXT_IOCTL; /* 84 / 0x54 */ + +/* + * Addressing mode used by the user application + */ +#define EXT_ADDR_MODE EXT_ADDR_MODE_OS + +/* + * Status. These macros are being used for setting Status field in + * EXT_IOCTL structure. + */ +#define EXT_STATUS_OK 0 +#define EXT_STATUS_ERR 1 +#define EXT_STATUS_BUSY 2 +#define EXT_STATUS_PENDING 3 +#define EXT_STATUS_SUSPENDED 4 +#define EXT_STATUS_RETRY_PENDING 5 +#define EXT_STATUS_INVALID_PARAM 6 +#define EXT_STATUS_DATA_OVERRUN 7 +#define EXT_STATUS_DATA_UNDERRUN 8 +#define EXT_STATUS_DEV_NOT_FOUND 9 +#define EXT_STATUS_COPY_ERR 10 +#define EXT_STATUS_MAILBOX 11 +#define EXT_STATUS_UNSUPPORTED_SUBCODE 12 +#define EXT_STATUS_UNSUPPORTED_VERSION 13 +#define EXT_STATUS_MS_NO_RESPONSE 14 +#define EXT_STATUS_SCSI_STATUS 15 +#define EXT_STATUS_BUFFER_TOO_SMALL 16 +#define EXT_STATUS_NO_MEMORY 17 +#define EXT_STATUS_UNKNOWN 18 +#define EXT_STATUS_UNKNOWN_DSTATUS 19 +#define EXT_STATUS_INVALID_REQUEST 20 + +#define EXT_STATUS_DEVICE_NOT_READY 21 +#define EXT_STATUS_DEVICE_OFFLINE 22 +#define EXT_STATUS_HBA_NOT_READY 23 +#define EXT_STATUS_HBA_QUEUE_FULL 24 + +/* + * Detail Status contains the SCSI bus status codes. + */ + +#define EXT_DSTATUS_GOOD 0x00 +#define EXT_DSTATUS_CHECK_CONDITION 0x02 +#define EXT_DSTATUS_CONDITION_MET 0x04 +#define EXT_DSTATUS_BUSY 0x08 +#define EXT_DSTATUS_INTERMEDIATE 0x10 +#define EXT_DSTATUS_INTERMEDIATE_COND_MET 0x14 +#define EXT_DSTATUS_RESERVATION_CONFLICT 0x18 +#define EXT_DSTATUS_COMMAND_TERMINATED 0x22 +#define EXT_DSTATUS_QUEUE_FULL 0x28 + +/* + * Detail Status contains the needed Response buffer space(bytes) + * when Status = EXT_STATUS_BUFFER_TOO_SMALL + */ + + +/* + * Detail Status contains one of the following codes + * when Status = EXT_STATUS_INVALID_PARAM or + * = EXT_STATUS_DEV_NOT_FOUND + */ +#define EXT_DSTATUS_NOADNL_INFO 0x00 +#define EXT_DSTATUS_HBA_INST 0x01 +#define EXT_DSTATUS_TARGET 0x02 +#define EXT_DSTATUS_LUN 0x03 +#define EXT_DSTATUS_REQUEST_LEN 0x04 +#define EXT_DSTATUS_PATH_INDEX 0x05 + +/* + * Currently supported DeviceControl / ioctl command codes + */ +#define EXT_CC_QUERY EXT_CC_QUERY_OS +#define EXT_CC_SEND_FCCT_PASSTHRU EXT_CC_SEND_FCCT_PASSTHRU_OS +#define EXT_CC_REG_AEN EXT_CC_REG_AEN_OS +#define EXT_CC_GET_AEN EXT_CC_GET_AEN_OS +#define EXT_CC_SEND_ELS_RNID EXT_CC_SEND_ELS_RNID_OS +#define EXT_CC_SEND_SCSI_PASSTHRU EXT_CC_SCSI_PASSTHRU_OS + +/* + * HBA port operations + */ +#define EXT_CC_GET_DATA EXT_CC_GET_DATA_OS +#define EXT_CC_SET_DATA EXT_CC_SET_DATA_OS + + +/* Reserved command codes. */ +#define EXT_CC_RESERVED0A EXT_CC_RESERVED0A_OS +#define EXT_CC_RESERVED0B EXT_CC_RESERVED0B_OS +#define EXT_CC_RESERVED0C EXT_CC_RESERVED0C_OS +#define EXT_CC_RESERVED0D EXT_CC_RESERVED0D_OS +#define EXT_CC_RESERVED0E EXT_CC_RESERVED0E_OS +#define EXT_CC_RESERVED0F EXT_CC_RESERVED0F_OS +#define EXT_CC_RESERVED0G EXT_CC_RESERVED0G_OS +#define EXT_CC_RESERVED0H EXT_CC_RESERVED0H_OS +#define EXT_CC_RESERVED0I EXT_CC_RESERVED0I_OS +#define EXT_CC_RESERVED0J EXT_CC_RESERVED0J_OS +#define EXT_CC_RESERVED0Z EXT_CC_RESERVED0Z_OS + + +/* + * *********************************************************************** + * EXT_IOCTL SubCode definition. + * These macros are being used for setting SubCode field in EXT_IOCTL + * structure. + * *********************************************************************** + */ + +/* + * Query. + * Uses with EXT_QUERY as the ioctl code. + */ +#define EXT_SC_QUERY_HBA_NODE 1 +#define EXT_SC_QUERY_HBA_PORT 2 +#define EXT_SC_QUERY_DISC_PORT 3 +#define EXT_SC_QUERY_DISC_TGT 4 +#define EXT_SC_QUERY_DISC_LUN 5 /* Currently Not Supported */ +#define EXT_SC_QUERY_DRIVER 6 +#define EXT_SC_QUERY_FW 7 +#define EXT_SC_QUERY_CHIP 8 + +/* + * Sub codes for Get Data. + * Use in combination with EXT_GET_DATA as the ioctl code + */ +/* 1 - 99 Common */ +#define EXT_SC_GET_SCSI_ADDR 1 /* Currently Not Supported */ +#define EXT_SC_GET_ERR_DETECTIONS 2 /* Currently Not Supported */ +#define EXT_SC_GET_STATISTICS 3 +#define EXT_SC_GET_BUS_MODE 4 /* Currently Not Supported */ +#define EXT_SC_GET_DR_DUMP_BUF 5 /* Currently Not Supported */ +#define EXT_SC_GET_RISC_CODE 6 /* Currently Not Supported */ +#define EXT_SC_GET_FLASH_RAM 7 /* for backward compatible */ + +/* 100 - 199 FC_INTF_TYPE */ +#define EXT_SC_GET_LINK_STATUS 101 /* Currently Not Supported */ +#define EXT_SC_GET_LOOP_ID 102 /* Currently Not Supported */ +#define EXT_SC_GET_LUN_BITMASK 103 +#define EXT_SC_GET_PORT_DATABASE 104 /* Currently Not Supported */ +#define EXT_SC_GET_PORT_DATABASE_MEM 105 /* Currently Not Supported */ +#define EXT_SC_GET_PORT_SUMMARY 106 +#define EXT_SC_GET_POSITION_MAP 107 +#define EXT_SC_GET_RETRY_CNT 108 /* Currently Not Supported */ +#define EXT_SC_GET_RNID 109 +#define EXT_SC_GET_RTIN 110 /* Currently Not Supported */ +#define EXT_SC_GET_FC_LUN_BITMASK 111 +#define EXT_SC_GET_FC_STATISTICS 112 /* for backward compatible */ + +/* 200 - 299 SCSI_INTF_TYPE */ +#define EXT_SC_GET_SEL_TIMEOUT 201 /* Currently Not Supported */ + + +/* + * Sub codes for Set Data. + * Use in combination with EXT_SET_DATA as the ioctl code + */ +/* 1 - 99 Common */ +#define EXT_SC_RST_STATISTICS 3 +#define EXT_SC_RESERVED_BC7 7 + +/* 100 - 199 FC_INTF_TYPE */ +#define EXT_SC_SET_LUN_BITMASK 103 +#define EXT_SC_SET_RNID 109 +#define EXT_SC_SET_FC_LUN_BITMASK 111 +#define EXT_SC_RESERVED_BC112 112 +#define EXT_SC_RESERVED_BC113 113 + +/* 200 - 299 SCSI_INTF_TYPE */ + +/* SCSI passthrough */ +#define EXT_SC_SEND_SCSI_PASSTHRU 0 +#define EXT_SC_SEND_FC_SCSI_PASSTHRU 1 +#define EXT_SC_SCSI3_PASSTHRU 2 + +/* Read */ + +/* Write */ + +/* Reset */ + +/* Request struct */ + + +/* + * Response struct + */ +typedef struct _EXT_HBA_NODE +{ + UINT8 WWNN [EXT_DEF_WWN_NAME_SIZE]; /* 8 */ + UINT8 Manufacturer [EXT_DEF_MAX_STR_SIZE]; /* 128; "QLOGIC" */ + UINT8 Model [EXT_DEF_MAX_STR_SIZE]; /* 128; "QLA2200" */ + UINT8 SerialNum [EXT_DEF_SERIAL_NUM_SIZE];/* 4; 123 */ + UINT8 DriverVersion[EXT_DEF_MAX_STR_SIZE]; /* 128; "7.4.3" */ + UINT8 FWVersion [EXT_DEF_MAX_STR_SIZE]; /* 128; "2.1.6" */ + + /* The following field is currently not supported */ + UINT8 OptRomVersion[EXT_DEF_MAX_STR_SIZE]; /* 128; "1.44" */ + + UINT16 PortCount; /* 2; 1 */ + UINT16 InterfaceType; /* 2; FC/SCSI */ + + /* The following two fields are not yet supported */ + UINT32 DriverAttr; /* 4 */ + UINT32 FWAttr; /* 4 */ + + UINT32 Reserved[8]; /* 32 */ +} +EXT_HBA_NODE, *PEXT_HBA_NODE; /* 696 */ + +/* HBA node query interface type */ +#define EXT_DEF_FC_INTF_TYPE 1 +#define EXT_DEF_SCSI_INTF_TYPE 2 + +typedef struct _EXT_HBA_PORT +{ + UINT8 WWPN[EXT_DEF_WWN_NAME_SIZE]; /* 8 */ + UINT8 Id [EXT_DEF_PORTID_SIZE]; /* 4; 3 bytes valid Port Id. */ + UINT16 Type; /* 2; Port Type */ + UINT16 State; /* 2; Port State */ + UINT16 Mode; /* 2 */ + UINT16 DiscPortCount; /* 2 */ + UINT16 DiscPortNameType; /* 2; USE_NODE_NAME or */ + /* USE_PORT_NAME */ + UINT16 DiscTargetCount; /* 2 */ + UINT16 Bus; /* 2 */ + UINT16 Target; /* 2 */ + UINT16 Lun; /* 2 */ + /* 2 */ + UINT8 PortSupportedFC4Types; + UINT8 PortActiveFC4Types; + UINT8 FabricName[EXT_DEF_WWN_NAME_SIZE]; /* 8 */ + + /* 2*/ + UINT8 PortSupportedSpeed; + UINT8 PortSpeed; + UINT16 Unused; /* 2 */ + UINT32 Reserved[3]; /* 12 */ +} +EXT_HBA_PORT, *PEXT_HBA_PORT; /* 56 */ + +/* port type */ +#define EXT_DEF_INITIATOR_DEV 1 +#define EXT_DEF_TARGET_DEV 2 +#define EXT_DEF_TAPE_DEV 4 +#define EXT_DEF_FABRIC_DEV 8 + + +/* HBA port state */ +#define EXT_DEF_HBA_OK 0 +#define EXT_DEF_HBA_SUSPENDED 1 +#define EXT_DEF_HBA_LOOP_DOWN 2 + +/* Connection mode */ +#define EXT_DEF_UNKNOWN_MODE 0 +#define EXT_DEF_P2P_MODE 1 +#define EXT_DEF_LOOP_MODE 2 +#define EXT_DEF_FL_MODE 3 +#define EXT_DEF_N_MODE 4 + +/* Valid name type for Disc. port/target */ +#define EXT_DEF_USE_NODE_NAME 1 +#define EXT_DEF_USE_PORT_NAME 2 + +/* FC4 type values */ +#define EXT_DEF_FC4_TYPE_SCSI 0x1 +#define EXT_DEF_FC4_TYPE_IP 0x2 +#define EXT_DEF_FC4_TYPE_SCTP 0x4 +#define EXT_DEF_FC4_TYPE_VI 0x8 + +/* Port Speed values */ +#define EXT_DEF_PORTSPEED_1GBIT 1 +#define EXT_DEF_PORTSPEED_2GBIT 2 +#define EXT_DEF_PORTSPEED_10GBIT 4 + +typedef struct _EXT_DISC_PORT +{ + UINT8 WWNN[EXT_DEF_WWN_NAME_SIZE]; /* 8 */ + UINT8 WWPN[EXT_DEF_WWN_NAME_SIZE]; /* 8 */ + UINT8 Id [EXT_DEF_PORTID_SIZE]; + /* 4; last 3 bytes used. big endian */ + + /* The following fields currently are not supported */ + UINT16 Type; /* 2; Port Type */ + UINT16 Status; /* 2; Port Status */ + UINT16 Bus; /* 2; n/a for Solaris */ + + UINT16 TargetId; /* 2 */ + UINT8 Local; /* 1; Local or Remote */ + UINT8 ReservedByte[1]; /* 1 */ + + UINT16 LoopID; /* 2; Loop ID */ + + UINT32 Reserved[7]; /* 28 */ +} +EXT_DISC_PORT, *PEXT_DISC_PORT; /* 60 */ + +typedef struct _EXT_DISC_TARGET +{ + UINT8 WWNN[EXT_DEF_WWN_NAME_SIZE]; /* 8 */ + UINT8 WWPN[EXT_DEF_WWN_NAME_SIZE]; /* 8 */ + UINT8 Id [EXT_DEF_PORTID_SIZE]; + /* 4; last 3 bytes used. big endian */ + + /* The following fields currently are not supported */ + UINT16 Type; /* 2; Target Type */ + UINT16 Status; /* 2; Target Status*/ + UINT16 Bus; /* 2; n/a for Solaris */ + + UINT16 TargetId; /* 2 */ + + /* The following field is currently not supported */ + UINT16 LunCount; /* 2; n/a for nt */ + + UINT8 Local; /* 1; Local or Remote */ + UINT8 ReservedByte[1]; /* 1 */ + + UINT16 LoopID; /* 2; Loop ID */ + + UINT16 Reserved[13]; /* 26 */ +} +EXT_DISC_TARGET, *PEXT_DISC_TARGET; /* 60 */ + +/* The following command is not supported */ +typedef struct _EXT_DISC_LUN +{ /* n/a for nt */ + UINT16 Id; /* 2 */ + UINT16 State; /* 2 */ + UINT16 IoCount; /* 2 */ + UINT16 Reserved[15]; /* 30 */ +} +EXT_DISC_LUN, *PEXT_DISC_LUN; /* 36 */ + + +/* SCSI address */ +typedef struct _EXT_SCSI_ADDR +{ + UINT16 Bus; /* 2 */ + UINT16 Target; /* 2 */ + UINT16 Lun; /* 2 */ + UINT16 Padding[5]; /* 10 */ +} +EXT_SCSI_ADDR, *PEXT_SCSI_ADDR; /* 16 */ + + +/* Fibre Channel address */ +typedef struct _EXT_FC_ADDR +{ + union { + UINT8 WWNN[EXT_DEF_WWN_NAME_SIZE]; /* 8 */ + UINT8 WWPN[EXT_DEF_WWN_NAME_SIZE]; /* 8 */ + UINT8 Id[EXT_DEF_PORTID_SIZE]; /* 4 */ + } FcAddr; + UINT16 Type; /* 2 */ + UINT16 Padding[2]; /* 2 */ +} +EXT_FC_ADDR, *PEXT_FC_ADDR; /* 24 */ + +#define EXT_DEF_TYPE_WWNN 1 +#define EXT_DEF_TYPE_WWPN 2 +#define EXT_DEF_TYPE_PORTID 3 +#define EXT_DEF_TYPE_FABRIC 4 + + +/* Destination address */ +typedef struct _EXT_DEST_ADDR +{ + union { + UINT8 WWNN[EXT_DEF_WWN_NAME_SIZE]; /* 8 */ + UINT8 WWPN[EXT_DEF_WWN_NAME_SIZE]; /* 8 */ + UINT8 Id[EXT_DEF_PORTID_SIZE]; /* 4 */ + struct { + UINT16 Bus; /* 2 */ + UINT16 Target; /* 2 */ + } + ScsiAddr; + } DestAddr; + UINT16 DestType; /* 2 */ + UINT16 Lun; /* 2 */ + UINT16 Padding[2]; /* 4 */ +} +EXT_DEST_ADDR, *PEXT_DEST_ADDR; /* 16 */ + + +#define EXT_DEF_DESTTYPE_WWNN 1 +#define EXT_DEF_DESTTYPE_WWPN 2 +#define EXT_DEF_DESTTYPE_PORTID 3 +#define EXT_DEF_DESTTYPE_FABRIC 4 +#define EXT_DEF_DESTTYPE_SCSI 5 + +/* Statistic */ +typedef struct _EXT_HBA_PORT_STAT +{ + UINT32 ControllerErrorCount; /* 4 */ + UINT32 DeviceErrorCount; /* 4 */ + UINT32 TotalIoCount; /* 4 */ + UINT32 TotalMBytes; /* 4; MB of data processed */ + UINT32 TotalLipResets; /* 4; Total no. of LIP Reset */ + UINT32 Reserved2; /* 4 */ + UINT32 TotalLinkFailures; /* 4 */ + UINT32 TotalLossOfSync; /* 4 */ + UINT32 TotalLossOfSignals; /* 4 */ + UINT32 PrimitiveSeqProtocolErrorCount;/* 4 */ + UINT32 InvalidTransmissionWordCount; /* 4 */ + UINT32 InvalidCRCCount; /* 4 */ + UINT32 Reserved[16]; /* 64 */ +} +EXT_HBA_PORT_STAT, *PEXT_HBA_PORT_STAT; /* 112 */ + + +/* Driver property */ +typedef struct _EXT_DRIVER +{ + UINT8 Version[EXT_DEF_MAX_STR_SIZE];/* 128 */ + UINT16 NumOfBus; /* 2; Port Type */ + UINT16 TargetsPerBus; /* 2; Port Status */ + UINT16 LunsPerTarget; /* 2 */ + UINT32 MaxTransferLen; /* 4 */ + UINT32 MaxDataSegments; /* 4 */ + UINT16 DmaBitAddresses; /* 2 */ + UINT16 IoMapType; /* 2 */ + UINT32 Attrib; /* 4 */ + UINT32 InternalFlags[4]; /* 16 */ + UINT32 Reserved[8]; /* 32 */ +} +EXT_DRIVER, *PEXT_DRIVER; /* 198 */ + + +/* Firmware property */ +typedef struct _EXT_FW +{ + UINT8 Version[EXT_DEF_MAX_STR_SIZE];/* 128 */ + UINT32 Attrib; /* 4 */ + UINT16 Reserved[33]; /* 66 */ +} +EXT_FW, *PEXT_FW; /* 198 */ + + +/* ISP/Chip property */ +typedef struct _EXT_CHIP +{ + UINT16 VendorId; /* 2 */ + UINT16 DeviceId; /* 2 */ + UINT16 SubVendorId; /* 2 */ + UINT16 SubSystemId; /* 2 */ + UINT16 PciBusNumber; /* 2 */ + UINT16 PciSlotNumber; /* 2 */ + UINT32 IoAddr; /* 4 */ + UINT32 IoAddrLen; /* 4 */ + UINT32 MemAddr; /* 4 */ + UINT32 MemAddrLen; /* 4 */ + UINT16 ChipType; /* 2 */ + UINT16 InterruptLevel; /* 2 */ + UINT16 OutMbx[8]; /* 16 */ + UINT16 PciDevFunc; /* 2 */ + UINT16 Reserved[15]; /* 30 */ +} +EXT_CHIP, *PEXT_CHIP; /* 80 */ + + +/* Request Buffer for RNID */ +typedef struct _EXT_RNID_REQ +{ + EXT_FC_ADDR Addr; + UINT8 DataFormat; + UINT32 Reserved[16]; +} +EXT_RNID_REQ, *PEXT_RNID_REQ; + +#define EXT_DEF_RNID_DFORMAT_NONE 0 +#define EXT_DEF_RNID_DFORMAT_TOPO_DISC 0xDF + +/* Request Buffer for Set RNID */ +typedef struct _EXT_SET_RNID_REQ +{ + UINT8 IPVersion[2]; + UINT8 UDPPortNumber[2]; + UINT8 IPAddress[16]; + UINT32 Reserved[16]; +} +EXT_SET_RNID_REQ, *PEXT_SET_RNID_REQ; + +/* RNID definition and data struct */ +#define SEND_RNID_RSP_SIZE 72 + +typedef struct _RNID_DATA +{ + UINT8 WWN[16]; /* 16 */ + UINT32 UnitType; /* 4 */ + UINT8 PortId[4]; /* 4 */ + UINT32 NumOfAttachedNodes; /* 4 */ + UINT8 IPVersion[2]; /* 2 */ + UINT8 UDPPortNumber[2]; /* 2 */ + UINT8 IPAddress[16]; /* 16 */ + UINT16 Reserved; /* 2 */ + UINT16 TopoDiscFlags; /* 2 */ +} +EXT_RNID_DATA, *PEXT_RNID_DATA; /* 52 */ + + +/* SCSI pass-through */ +typedef struct _EXT_SCSI_PASSTHRU +{ + EXT_SCSI_ADDR TargetAddr; + UINT8 Direction; + UINT8 CdbLength; + UINT8 Cdb[EXT_DEF_SCSI_PASSTHRU_CDB_LENGTH]; + UINT32 Reserved[14]; + UINT16 Reserved2; + UINT16 SenseLength; + UINT8 SenseData[256]; +} +EXT_SCSI_PASSTHRU, *PEXT_SCSI_PASSTHRU; + +/* FC SCSI pass-through */ +typedef struct _EXT_FC_SCSI_PASSTHRU +{ + EXT_DEST_ADDR FCScsiAddr; + UINT8 Direction; + UINT8 CdbLength; + UINT8 Cdb[EXT_DEF_SCSI_PASSTHRU_CDB_LENGTH]; + UINT32 Reserved[14]; + UINT16 Reserved2; + UINT16 SenseLength; + UINT8 SenseData[256]; +} +EXT_FC_SCSI_PASSTHRU, *PEXT_FC_SCSI_PASSTHRU; + +/* SCSI pass-through direction */ +#define EXT_DEF_SCSI_PASSTHRU_DATA_IN 1 +#define EXT_DEF_SCSI_PASSTHRU_DATA_OUT 2 + + +/* EXT_REG_AEN Request struct */ +typedef struct _EXT_REG_AEN +{ + UINT32 Enable; /* 4; non-0 to enable, 0 to disable. */ + UINT32 Reserved; /* 4 */ +} +EXT_REG_AEN, *PEXT_REG_AEN; /* 8 */ + +/* EXT_GET_AEN Response struct */ +typedef struct _EXT_ASYNC_EVENT +{ + UINT32 AsyncEventCode; /* 4 */ + union { + struct { + UINT8 RSCNInfo[EXT_DEF_PORTID_SIZE_ACTUAL];/* 3, BE */ + UINT8 AddrFormat; /* 1 */ + UINT32 Rsvd_1[2]; /* 8 */ + } + RSCN; + + UINT32 Reserved[3]; /* 12 */ + } Payload; +} +EXT_ASYNC_EVENT, *PEXT_ASYNC_EVENT; /* 16 */ + + +/* Asynchronous Event Codes */ +#define EXT_DEF_LIP_OCCURRED 0x8010 +#define EXT_DEF_LINK_UP 0x8011 +#define EXT_DEF_LINK_DOWN 0x8012 +#define EXT_DEF_LIP_RESET 0x8013 +#define EXT_DEF_RSCN 0x8015 +#define EXT_DEF_DEVICE_UPDATE 0x8014 + +/* Required # of entries in the queue buffer allocated. */ +#define EXT_DEF_MAX_AEN_QUEUE EXT_DEF_MAX_AEN_QUEUE_OS + +/* Device type to get for EXT_SC_GET_PORT_SUMMARY */ +#define EXT_DEF_GET_KNOWN_DEVICE 0x1 +#define EXT_DEF_GET_VISIBLE_DEVICE 0x2 +#define EXT_DEF_GET_HIDDEN_DEVICE 0x4 +#define EXT_DEF_GET_FABRIC_DEVICE 0x8 +#define EXT_DEF_GET_LOOP_DEVICE 0x10 + +/* Each entry in device database */ +typedef struct _EXT_DEVICEDATAENTRY +{ + UINT8 NodeWWN[8]; /* Node World Wide Name for device */ + UINT8 PortWWN[8]; /* Port World Wide Name for device */ + UINT8 PortID[3]; /* Current PortId for device */ + UINT8 ControlFlags; /* Control flag */ + EXT_SCSI_ADDR TargetAddress; /* scsi address */ + UINT32 DeviceFlags; /* Flags for device */ + UINT16 LoopID; /* Loop ID */ + UINT16 BaseLunNumber; + UINT32 Reserved[32]; +} +EXT_DEVICEDATAENTRY, *PEXT_DEVICEDATAENTRY; + +/* Device database information */ +typedef struct _EXT_DEVICEDATA +{ + UINT32 TotalDevices; /* Set to total number of device. */ + UINT32 ReturnListEntryCount; /* Set to number of device entries */ + /* returned in list. */ + + EXT_DEVICEDATAENTRY EntryList[1]; /* Variable length */ +} +EXT_DEVICEDATA, *PEXT_DEVICEDATA; + + +/* Swap Target Device Data structure */ +typedef struct _EXT_SWAPTARGETDEVICE +{ + EXT_DEVICEDATAENTRY CurrentExistDevice; + EXT_DEVICEDATAENTRY NewDevice; +} +EXT_SWAPTARGETDEVICE, *PEXT_SWAPTARGETDEVICE; + +/* LUN BitMask structure definition, array of 8bit bytes, + * 1 bit per lun. When bit == 1, the lun is masked. + * Most significant bit of mask[0] is lun 0. + * Least significant bit of mask[0] is lun 7. + */ +typedef struct _EXT_LUN_BIT_MASK +{ +#if ((EXT_DEF_MAX_LUN & 0x7) == 0) + UINT8 mask[EXT_DEF_MAX_LUN >> 3]; +#else + + UINT8 mask[(EXT_DEF_MAX_LUN + 8) >> 3 ]; +#endif +} +EXT_LUN_BIT_MASK, *PEXT_LUN_BIT_MASK; + +/* + * LUN mask bit manipulation macros + * + * P = Pointer to an EXT_LUN_BIT_MASK union. + * L = LUN number. + */ +#define EXT_IS_LUN_BIT_SET(P,L) \ + (((P)->mask[L/8] & (0x80 >> (L%8)))?1:0) + +#define EXT_SET_LUN_BIT(P,L) \ + ((P)->mask[L/8] |= (0x80 >> (L%8))) + +#define EXT_CLR_LUN_BIT(P,L) \ + ((P)->mask[L/8] &= ~(0x80 >> (L%8))) + +#define EXT_DEF_LUN_BITMASK_LIST_MIN_ENTRIES 1 +#define EXT_DEF_LUN_BITMASK_LIST_MAX_ENTRIES 256 + +#ifdef _WIN64 +#define EXT_DEF_LUN_BITMASK_LIST_HEADER_SIZE 32 +#else +#define EXT_DEF_LUN_BITMASK_LIST_HEADER_SIZE \ + offsetof(LUN_BITMASK_LIST_BUFFER, asBitmaskEntry) +#endif + +#define EXT_DEF_LUN_COUNT 2048 +#define EXT_DEF_LUN_BITMASK_BYTES (EXT_DEF_LUN_COUNT / 8) + +typedef struct _EXT_LUN_BITMASK_ENTRY +{ + UINT8 NodeName[EXT_DEF_WWN_NAME_SIZE]; + UINT8 PortName[EXT_DEF_WWN_NAME_SIZE]; + + UINT32 Reserved2; + UINT32 Reserved3; + UINT32 Reserved4; + UINT32 Reserved5; /* Pad to 32-byte header.*/ + + UINT8 Bitmask[EXT_DEF_LUN_BITMASK_BYTES]; +} +EXT_LUN_BITMASK_ENTRY, *PEXT_LUN_BITMASK_ENTRY; + +/* Structure as it is stored in the config file.*/ +typedef struct _LUN_BITMASK_LIST +{ + UINT16 Version; /* Should be LUN_BITMASK_REGISTRY_VERSION */ + UINT16 EntryCount; /* Count of variable entries following.*/ + UINT32 Reserved1; + UINT32 Reserved2; + UINT32 Reserved3; + UINT32 Reserved4; + UINT32 Reserved5; + UINT32 Reserved6; + UINT32 Reserved7; /* Pad to 32-byte header.*/ + + EXT_LUN_BITMASK_ENTRY BitmaskEntry[1]; /* Variable-length data.*/ + +} +EXT_LUN_BITMASK_LIST, *PEXT_LUN_BITMASK_LIST; + + +#define EXT_DEF_LUN_BITMASK_LIST_MIN_SIZE \ + (EXT_DEF_LUN_BITMASK_LIST_HEADER_SIZE + \ + (sizeof(EXT_DEF_LUN_BITMASK_ENTRY) * EXT_DEF_LUN_BITMASK_LIST_MIN_ENTRIES)) +#define EXT_DEF_LUN_BITMASK_LIST_MAX_SIZE \ + (EXT_DEF_LUN_BITMASK_LIST_HEADER_SIZE + \ + (sizeof(EXT_DEF_LUN_BITMASK_ENTRY) * EXT_DEF_LUN_BITMASK_LIST_MAX_ENTRIES)) + +#ifdef _MSC_VER +#pragma pack() +#endif + +#endif /* _EXIOCT_H */ diff -urNp 2.4.19rc1/drivers/scsi/qla2xxx/exioctln.h qlogic/drivers/scsi/qla2xxx/exioctln.h --- 2.4.19rc1/drivers/scsi/qla2xxx/exioctln.h Thu Jan 1 01:00:00 1970 +++ qlogic/drivers/scsi/qla2xxx/exioctln.h Mon Jul 8 12:05:21 2002 @@ -0,0 +1,203 @@ +/***************************************************************************** +* QLOGIC LINUX SOFTWARE +* +* QLogic ISP2x00 device driver for Linux 2.4.x +* Copyright (C) 2002 Qlogic Corporation +* (www.qlogic.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, 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. +****************************************************************************/ + +/* + Rev 10 October 26, 2001 RL + - Corrected MAX_HBA, MAX_TARGET and MAX_LUN values to 255. + + Rev 9 July 26, 2001 RL + - Added definition of signed types. + + Rev 8 July 05, 2001 RL + - Redefined ioctl command values. + + Rev 7 Nov 06, 2000 BN + - Added EXT_DEF_MAX_AEN_QUEUE_OS define + - Added define for handle_hba_t + + Rev 6 Oct 25, 2000 BN + - Added EXT_CC_DRIVER_PROP_OS define + + Rev 5 Oct 25, 2000 BN + - Redo the copyright header and add AEN details + + Rev 4 Oct 23, 2000 BN + - Added definition for BOOLEAN + + Rev 3 Oct 23, 2000 BN + - Added definitions for EXT_ADDR_MODE_OS + and also include of + + Rev 2 Oct 18, 2000 BN + - Enable API Exention support + + Rev 1 Original version Sep 7, 2000 BN + +*/ + + +#ifndef _EXIOCT_LN_H_ +#define _EXIOCT_LN_H_ + +#include + +#ifdef APILIB +#include +#endif + + +#define INT8 int8_t +#define INT16 int16_t +#define INT32 int32_t +#define UINT8 uint8_t +#define UINT16 uint16_t +#define UINT32 uint32_t +#define UINT64 void * +#define BOOLEAN uint8_t + +typedef struct track_instance +{ + + int handle; + +} +track_instance_t; + + +#if BITS_PER_LONG <= 32 +#define EXT_ADDR_MODE_OS EXT_DEF_ADDR_MODE_32 +#else +#define EXT_ADDR_MODE_OS EXT_DEF_ADDR_MODE_64 +#endif + + +#define QLMULTIPATH_MAGIC 'y' + +#define _QLBUILD /* for exioct.h to enable include of qinsdmgt.h */ + + + +#define EXT_DEF_MAX_HBA_OS 255 /* 0 - 0xFE */ +#define EXT_DEF_MAX_BUS_OS 1 +#define EXT_DEF_MAX_TARGET_OS 255 /* 0 - 0xFE */ +#define EXT_DEF_MAX_LUN_OS 255 /* 0 - 0xFE */ + +#define EXT_DEF_MAX_AEN_QUEUE_OS 64 + + + +/*****************/ +/* Command codes */ +/*****************/ + +/****************************************************/ +/* These are regular command codes, starting from 0 */ +/****************************************************/ + +#define EXT_CC_QUERY_OS /* QUERY */ \ + _IOWR(QLMULTIPATH_MAGIC, 0x00, sizeof(EXT_IOCTL)) +#define EXT_CC_SEND_FCCT_PASSTHRU_OS /* FCCT_PASSTHRU */ \ + _IOWR(QLMULTIPATH_MAGIC, 0x01, sizeof(EXT_IOCTL)) +#define EXT_CC_REG_AEN_OS /* REG_AEN */ \ + _IOWR(QLMULTIPATH_MAGIC, 0x02, sizeof(EXT_IOCTL)) +#define EXT_CC_GET_AEN_OS /* GET_AEN */ \ + _IOWR(QLMULTIPATH_MAGIC, 0x03, sizeof(EXT_IOCTL)) +#define EXT_CC_SEND_ELS_RNID_OS /* SEND_ELS_RNID */ \ + _IOWR(QLMULTIPATH_MAGIC, 0x04, sizeof(EXT_IOCTL)) +#define EXT_CC_SCSI_PASSTHRU_OS /* SCSI_PASSTHRU */ \ + _IOWR(QLMULTIPATH_MAGIC, 0x05, sizeof(EXT_IOCTL)) + +#define EXT_CC_GET_DATA_OS /* GET_DATA */ \ + _IOWR(QLMULTIPATH_MAGIC, 0x06, sizeof(EXT_IOCTL)) +#define EXT_CC_SET_DATA_OS /* SET_DATA */ \ + _IOWR(QLMULTIPATH_MAGIC, 0x07, sizeof(EXT_IOCTL)) + +/* following are internal command codes. */ +#define EXT_CC_RESERVED0A_OS \ + _IOWR(QLMULTIPATH_MAGIC, 0x08, sizeof(EXT_IOCTL)) +#define EXT_CC_RESERVED0B_OS \ + _IOWR(QLMULTIPATH_MAGIC, 0x09, sizeof(EXT_IOCTL)) + +#define EXT_CC_RESERVED0C_OS \ + _IOWR(QLMULTIPATH_MAGIC, 0x0a, sizeof(EXT_IOCTL)) +#define EXT_CC_RESERVED0D_OS \ + _IOWR(QLMULTIPATH_MAGIC, 0x0b, sizeof(EXT_IOCTL)) + +#define EXT_CC_RESERVED0E_OS \ + _IOWR(QLMULTIPATH_MAGIC, 0x0c, sizeof(EXT_IOCTL)) +#define EXT_CC_RESERVED0F_OS \ + _IOWR(QLMULTIPATH_MAGIC, 0x0d, sizeof(EXT_IOCTL)) + +#define EXT_CC_RESERVED0G_OS \ + _IOWR(QLMULTIPATH_MAGIC, 0x0e, sizeof(EXT_IOCTL)) +#define EXT_CC_RESERVED0H_OS \ + _IOWR(QLMULTIPATH_MAGIC, 0x0f, sizeof(EXT_IOCTL)) + +#define EXT_CC_RESERVED0I_OS \ + _IOWR(QLMULTIPATH_MAGIC, 0x10, sizeof(EXT_IOCTL)) +#define EXT_CC_RESERVED0J_OS \ + _IOWR(QLMULTIPATH_MAGIC, 0x11, sizeof(EXT_IOCTL)) + +#define EXT_CC_RESERVED0Z_OS \ + _IOWR(QLMULTIPATH_MAGIC, 0x21, sizeof(EXT_IOCTL)) + + +/********************************************************/ +/* Failover ioctl command codes range from 0xc0 to 0xdf */ +/********************************************************/ + + +/* + * These are Linux driver implementation specific commands. Values + * start from highest possible value and in decreasing order. + */ + +#define EXT_CC_STARTIOCTL /* STARTIOCTL */ \ + _IOWR(QLMULTIPATH_MAGIC, 0xff, sizeof(EXT_IOCTL)) +#define EXT_CC_SETINSTANCE /* SETINSTANCE */ \ + _IOWR(QLMULTIPATH_MAGIC, 0xfe, sizeof(EXT_IOCTL)) +#define EXT_CC_WWPN_TO_SCSIADDR /* WWPN_TO_SCSIADDR */ \ + _IOWR(QLMULTIPATH_MAGIC, 0xfd, sizeof(EXT_IOCTL)) + + + + + + + +/* + * Overrides for Emacs so that we almost follow Linus's tabbing style. + * Emacs will notice this stuff at the end of the file and automatically + * adjust the settings for this buffer only. This must remain at the end + * of the file. + * --------------------------------------------------------------------------- + * Local variables: + * c-indent-level: 2 + * c-brace-imaginary-offset: 0 + * c-brace-offset: -2 + * c-argdecl-indent: 2 + * c-label-offset: -2 + * c-continued-statement-offset: 2 + * c-continued-brace-offset: 0 + * indent-tabs-mode: nil + * tab-width: 8 + * End: + */ + +#endif /* _EXIOCT_LN_H_ */ + diff -urNp 2.4.19rc1/drivers/scsi/qla2xxx/inioct.h qlogic/drivers/scsi/qla2xxx/inioct.h --- 2.4.19rc1/drivers/scsi/qla2xxx/inioct.h Thu Jan 1 01:00:00 1970 +++ qlogic/drivers/scsi/qla2xxx/inioct.h Mon Jul 8 12:05:21 2002 @@ -0,0 +1,122 @@ +/****************************************************************************** + * QLOGIC LINUX SOFTWARE + * + * QLogic ISP2x00 device driver for Linux 2.4.x + * Copyright (C) 2002 Qlogic Corporation + * (www.qlogic.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, 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. + * + ******************************************************************************/ + +/* + * File Name: inioct.h + * + * San/Device Management Ioctl Header + * File is created to adhere to Solaris requirement using 8-space tabs. + * + * !!!!! PLEASE DO NOT REMOVE THE TABS !!!!! + * !!!!! PLEASE NO SINGLE LINE COMMENTS: // !!!!! + * !!!!! PLEASE NO MORE THAN 80 CHARS PER LINE !!!!! + * + * + * Revision History: + * + * Rev. 0 June 15, 2001 + * YPL - Created. + * + * Rev. 1 June 26, 2001 + * YPL - Change the loop back structure and delete cc that is not used. + * + * Rev. 2 June 29, 2001 + * YPL - Use new EXT_CC defines from exioct.h + * + * Rev. 3 July 12, 2001 + * RL - Added definitions for loopback mbx command completion codes. + * + */ + +#ifndef _INIOCT_H +#define _INIOCT_H + +/* + * *********************************************************************** + * X OS type definitions + * *********************************************************************** + */ +#ifdef _MSC_VER /* NT */ +#pragma pack(1) +#endif + +/* + * *********************************************************************** + * INT_IOCTL SubCode definition. + * These macros are being used for setting SubCode field in EXT_IOCTL + * structure. + * *********************************************************************** + */ + +/* + * Currently supported DeviceControl / ioctl command codes + */ +#define INT_CC_GET_PORT_STAT_FC EXT_CC_RESERVED0A_OS +#define INT_CC_LOOPBACK EXT_CC_RESERVED0B_OS +#define INT_CC_UPDATE_OPTION_ROM EXT_CC_RESERVED0C_OS +#define INT_CC_ADD_TARGET_DEVICE EXT_CC_RESERVED0D_OS +#define INT_CC_READ_NVRAM EXT_CC_RESERVED0E_OS +#define INT_CC_UPDATE_NVRAM EXT_CC_RESERVED0F_OS +#define INT_CC_SWAP_TARGET_DEVICE EXT_CC_RESERVED0G_OS +#define INT_CC_LEGACY_LOOPBACK EXT_CC_RESERVED0Z_OS + + + +/* NVRAM */ +#define INT_SC_NVRAM_HARDWARE 0 /* Save */ +#define INT_SC_NVRAM_DRIVER 1 /* Driver (Apply) */ +#define INT_SC_NVRAM_ALL 2 /* NVRAM/Driver (Save+Apply) */ + +/* Loopback */ +typedef struct _INT_LOOPBACK_REQ +{ + UINT16 Options; /* 2 */ + UINT32 TransferCount; /* 4 */ + UINT32 IterationCount; /* 4 */ + UINT64 BufferAddress; /* 8 */ + UINT32 BufferLength; /* 4 */ + UINT16 Reserved[9]; /* 18 */ +} +INT_LOOPBACK_REQ, *PINT_LOOPBACK_REQ; /* 408 */ + +typedef struct _INT_LOOPBACK_RSP +{ + UINT64 BufferAddress; /* 8 */ + UINT32 BufferLength; /* 4 */ + UINT16 CompletionStatus; /* 2 */ + UINT16 CrcErrorCount; /* 2 */ + UINT16 DisparityErrorCount; /* 2 */ + UINT16 FrameLengthErrorCount; /* 2 */ + UINT32 IterationCountLastError; /* 4 */ + UINT16 Reserved[8]; /* 16 */ +} +INT_LOOPBACK_RSP, *PINT_LOOPBACK_RSP; /* 40 */ + +/* definition for interpreting CompletionStatus values */ +#define INT_DEF_LB_COMPLETE 0x4000 +#define INT_DEF_LB_PARAM_ERR 0x4006 +#define INT_DEF_LB_LOOP_DOWN 0x400b +#define INT_DEF_LB_CMD_ERROR 0x400c + + +#ifdef _MSC_VER +#pragma pack() +#endif + +#endif /* _INIOCT_H */ diff -urNp 2.4.19rc1/drivers/scsi/qla2xxx/listops.h qlogic/drivers/scsi/qla2xxx/listops.h --- 2.4.19rc1/drivers/scsi/qla2xxx/listops.h Thu Jan 1 01:00:00 1970 +++ qlogic/drivers/scsi/qla2xxx/listops.h Mon Jul 8 12:05:21 2002 @@ -0,0 +1,399 @@ +/****************************************************************************** + * QLOGIC LINUX SOFTWARE + * + * QLogic ISP2x00 device driver for Linux 2.4.x + * Copyright (C) 2002 Qlogic Corporation + * (www.qlogic.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, 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. + * + ******************************************************************************/ + +/* Management functions for various lists */ + +/* + * Found in kernel 2.4.9 and higher in include/linux/lists.h + * + * Iterate over a list safe against removal of list. + * + */ +#ifndef list_for_each_safe +#define list_for_each_safe(pos, n, head) \ + for( pos= (head)->next, n = pos->next; pos != (head); \ + pos = n, n = pos->next ) +#endif + +/* __add_to_done_queue() + * + * Place SRB command on done queue. + * + * Input: + * ha = host pointer + * sp = srb pointer. + * Locking: + * this function assumes the ha->list_lock is already taken + */ +static inline void +__add_to_done_queue(struct scsi_qla_host * ha, srb_t * sp) +{ + /* + if (sp->state != SRB_NO_QUEUE_STATE && + sp->state != SRB_ACTIVE_STATE) + BUG(); + */ + + /* Place block on done queue */ + sp->cmd->host_scribble = (unsigned char *) NULL; + sp->state = SRB_DONE_STATE; + list_add_tail(&sp->list,&ha->done_queue); + ha->done_q_cnt++; + sp->ha = ha; +} + +/* __add_to_free_queue() + * + * Place SRB command on free queue. + * + * Input: + * ha = host pointer + * sp = srb pointer. + * Locking: + * this function assumes the ha->list_lock is already taken + */ +static inline void +__add_to_free_queue(struct scsi_qla_host * ha, srb_t * sp) +{ + /* + if (atomic_read(&sp->ref_count) != 0) + BUG(); + */ + + + /* Place block on free queue */ + sp->state = SRB_FREE_STATE; + list_add_tail(&sp->list,&ha->free_queue); + ha->srb_cnt++; +} + +static inline void +__add_to_retry_queue(struct scsi_qla_host * ha, srb_t * sp) +{ + /* + if( sp->state != SRB_NO_QUEUE_STATE && + sp->state != SRB_ACTIVE_STATE) + BUG(); + */ + + /* Place block on retry queue */ + list_add_tail(&sp->list,&ha->retry_queue); + ha->retry_q_cnt++; + sp->flags |= SRB_WATCHDOG; + ha->flags.watchdog_enabled = TRUE; + sp->state = SRB_RETRY_STATE; + sp->ha = ha; +} + +static inline void +__add_to_scsi_retry_queue(struct scsi_qla_host * ha, srb_t * sp) +{ + /* + if( sp->state != SRB_NO_QUEUE_STATE && + sp->state != SRB_ACTIVE_STATE) + BUG(); + */ + + /* Place block on retry queue */ + list_add_tail(&sp->list,&ha->scsi_retry_queue); + ha->scsi_retry_q_cnt++; + sp->state = SRB_SCSI_RETRY_STATE; + sp->ha = ha; +} + +static inline void +add_to_done_queue(struct scsi_qla_host * ha, srb_t * sp) +{ + unsigned long flags; + + spin_lock_irqsave(&ha->list_lock, flags); + __add_to_done_queue(ha,sp); + spin_unlock_irqrestore(&ha->list_lock, flags); +} + +static inline void +add_to_free_queue(struct scsi_qla_host * ha, srb_t * sp) +{ + unsigned long flags; + + spin_lock_irqsave(&ha->list_lock, flags); + __add_to_free_queue(ha,sp); + spin_unlock_irqrestore(&ha->list_lock, flags); +} + +static inline void +add_to_retry_queue(struct scsi_qla_host * ha, srb_t * sp) +{ + unsigned long flags; + + spin_lock_irqsave(&ha->list_lock, flags); + __add_to_retry_queue(ha,sp); + spin_unlock_irqrestore(&ha->list_lock, flags); +} + +static inline void +add_to_scsi_retry_queue(struct scsi_qla_host * ha, srb_t * sp) +{ + unsigned long flags; + + spin_lock_irqsave(&ha->list_lock, flags); + __add_to_scsi_retry_queue(ha,sp); + spin_unlock_irqrestore(&ha->list_lock, flags); +} + +/* + * __del_from_retry_queue + * Function used to remove a command block from the + * watchdog timer queue. + * + * Note: Must insure that command is on watchdog + * list before calling del_from_retry_queue + * if (sp->flags & SRB_WATCHDOG) + * + * Input: + * ha = adapter block pointer. + * sp = srb pointer. + * Locking: + * this function assumes the list_lock is already taken + */ +static inline void +__del_from_retry_queue(struct scsi_qla_host * ha, srb_t * sp) +{ + list_del_init(&sp->list); + + if (list_empty(&ha->retry_queue)) + ha->flags.watchdog_enabled = FALSE; + sp->flags &= ~(SRB_WATCHDOG | SRB_BUSY); + sp->state = SRB_NO_QUEUE_STATE; + ha->retry_q_cnt--; +} + +/* + * __del_from_scsi_retry_queue + * Function used to remove a command block from the + * scsi retry queue. + * + * Input: + * ha = adapter block pointer. + * sp = srb pointer. + * Locking: + * this function assumes the list_lock is already taken + */ +static inline void +__del_from_scsi_retry_queue(struct scsi_qla_host * ha, srb_t * sp) +{ + list_del_init(&sp->list); + + ha->scsi_retry_q_cnt--; + sp->state = SRB_NO_QUEUE_STATE; +} + +/* + * del_from_retry_queue + * Function used to remove a command block from the + * watchdog timer queue. + * + * Note: Must insure that command is on watchdog + * list before calling del_from_retry_queue + * if (sp->flags & SRB_WATCHDOG) + * + * Input: + * ha = adapter block pointer. + * sp = srb pointer. + * Locking: + * this function takes and releases the list_lock + */ +static inline void +del_from_retry_queue(struct scsi_qla_host * ha, srb_t * sp) +{ + unsigned long flags; + + /* if (unlikely(!(sp->flags & SRB_WATCHDOG))) + BUG();*/ + spin_lock_irqsave(&ha->list_lock, flags); + + /* if (unlikely(list_empty(&ha->retry_queue))) + BUG();*/ + + __del_from_retry_queue(ha,sp); + + spin_unlock_irqrestore(&ha->list_lock, flags); +} +/* + * del_from_scsi_retry_queue + * Function used to remove a command block from the + * scsi retry queue. + * + * Input: + * ha = adapter block pointer. + * sp = srb pointer. + * Locking: + * this function takes and releases the list_lock + */ +static inline void +del_from_scsi_retry_queue(struct scsi_qla_host * ha, srb_t * sp) +{ + unsigned long flags; + + spin_lock_irqsave(&ha->list_lock, flags); + + /* if (unlikely(list_empty(&ha->scsi_retry_queue))) + BUG();*/ + + __del_from_scsi_retry_queue(ha,sp); + + spin_unlock_irqrestore(&ha->list_lock, flags); +} + +static inline void +__del_from_free_queue(struct scsi_qla_host * ha, srb_t * sp) +{ + ha->srb_cnt--; + list_del_init(&sp->list); + sp->state = SRB_NO_QUEUE_STATE; +} + +/* + * __add_to_pending_queue + * Add the standard SCB job to the bottom of standard SCB commands. + * + * Input: + * COMPLETE!!! + * q = SCSI LU pointer. + * sp = srb pointer. + * SCSI_LU_Q lock must be already obtained. + */ +static inline void +__add_to_pending_queue(struct scsi_qla_host *ha, srb_t * sp) +{ + /* + if( sp->state != SRB_NO_QUEUE_STATE && + sp->state != SRB_FREE_STATE && + sp->state != SRB_ACTIVE_STATE) + BUG(); + */ + + list_add_tail(&sp->list, &ha->pending_queue); + ha->qthreads++; + sp->state = SRB_PENDING_STATE; +} + +static inline void +__add_to_pending_queue_head(struct scsi_qla_host *ha, srb_t * sp) +{ + /* + if( sp->state != SRB_NO_QUEUE_STATE && + sp->state != SRB_FREE_STATE && + sp->state != SRB_ACTIVE_STATE) + BUG(); + */ + + list_add(&sp->list, &ha->pending_queue); + ha->qthreads++; + sp->state = SRB_PENDING_STATE; +} + +static inline void +add_to_pending_queue(struct scsi_qla_host *ha, srb_t *sp) +{ + unsigned long flags; + + spin_lock_irqsave(&ha->list_lock, flags); + __add_to_pending_queue(ha, sp); + spin_unlock_irqrestore(&ha->list_lock, flags); +} +static inline void +add_to_pending_queue_head(struct scsi_qla_host *ha, srb_t *sp) +{ + unsigned long flags; + + spin_lock_irqsave(&ha->list_lock, flags); + __add_to_pending_queue_head(ha, sp); + spin_unlock_irqrestore(&ha->list_lock, flags); +} + +static inline void +__del_from_pending_queue(struct scsi_qla_host *ha, srb_t *sp) +{ + list_del_init(&sp->list); + ha->qthreads--; + sp->state = SRB_NO_QUEUE_STATE; +} + +#if MPIO_SUPPORT +/* + * Failover Stuff. + */ +static inline void +__add_to_failover_queue(struct scsi_qla_host * ha, srb_t * sp) +{ + /* + if( sp->state != SRB_NO_QUEUE_STATE && + sp->state != SRB_ACTIVE_STATE) + BUG(); + */ + + list_add_tail(&sp->list,&ha->failover_queue); + ha->failover_cnt++; + sp->state = SRB_FAILOVER_STATE; + sp->ha = ha; +} + +static inline void add_to_failover_queue(struct scsi_qla_host * ha, srb_t * sp) +{ + unsigned long flags; + + spin_lock_irqsave(&ha->list_lock, flags); + + __add_to_failover_queue(ha,sp); + + spin_unlock_irqrestore(&ha->list_lock, flags); +} +static inline void __del_from_failover_queue(struct scsi_qla_host * ha, srb_t * + sp) +{ + ha->failover_cnt--; + list_del_init(&sp->list); + sp->state = SRB_NO_QUEUE_STATE; +} + +static inline void del_from_failover_queue(struct scsi_qla_host * ha, srb_t * sp) +{ + unsigned long flags; + + spin_lock_irqsave(&ha->list_lock, flags); + + __del_from_failover_queue(ha,sp); + + spin_unlock_irqrestore(&ha->list_lock, flags); +} + +static inline void +del_from_pending_queue(struct scsi_qla_host * ha, srb_t * sp) +{ + unsigned long flags; + + spin_lock_irqsave(&ha->list_lock, flags); + + __del_from_pending_queue(ha,sp); + + spin_unlock_irqrestore(&ha->list_lock, flags); +} + +#endif diff -urNp 2.4.19rc1/drivers/scsi/qla2xxx/ql2200_fw.h qlogic/drivers/scsi/qla2xxx/ql2200_fw.h --- 2.4.19rc1/drivers/scsi/qla2xxx/ql2200_fw.h Thu Jan 1 01:00:00 1970 +++ qlogic/drivers/scsi/qla2xxx/ql2200_fw.h Mon Jul 8 12:05:21 2002 @@ -0,0 +1,5314 @@ +/****************************************************************************** + * QLOGIC LINUX SOFTWARE + * + * QLogic ISP2x00 device driver for Linux 2.4.x + * Copyright (C) 2002 Qlogic Corporation + * (www.qlogic.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, 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. + * + *************************************************************************/ + +/************************************************************************ + * * + * --- ISP2200 Initiator/Target Firmware --- * + * with Fabric (Public Loop), Point-point, and * + * expanded LUN addressing for FCTAPE * + * * + ************************************************************************ + */ +/* + * Firmware Version 2.02.03 (08:58 May 02, 2002) + */ + +#ifdef UNIQUE_FW_NAME +unsigned short fw2200tp_version = 2*1024+2; +#else +unsigned short risc_code_version = 2*1024+2; +#endif + +#ifdef UNIQUE_FW_NAME +unsigned char fw2200tp_version_str[] = {2,2,3}; +#else +unsigned char firmware_version[] = {2,2,3}; +#endif + +#ifdef UNIQUE_FW_NAME +#define fw2200tp_VERSION_STRING "2.02.03" +#else +#define FW_VERSION_STRING "2.02.03" +#endif + +#ifdef UNIQUE_FW_NAME +unsigned short fw2200tp_addr01 = 0x1000 ; +#else +unsigned short risc_code_addr01 = 0x1000 ; +#endif + +#ifdef UNIQUE_FW_NAME +unsigned short fw2200tp_code01[] = { +#else +unsigned short risc_code01[] = { +#endif + 0x0470, 0x0000, 0x0000, 0xa3f2, 0x0000, 0x0002, 0x0002, 0x0003, + 0x0017, 0x2043, 0x4f50, 0x5952, 0x4947, 0x4854, 0x2032, 0x3030, + 0x3120, 0x514c, 0x4f47, 0x4943, 0x2043, 0x4f52, 0x504f, 0x5241, + 0x5449, 0x4f4e, 0x2049, 0x5350, 0x3232, 0x3030, 0x2046, 0x6972, + 0x6d77, 0x6172, 0x6520, 0x2056, 0x6572, 0x7369, 0x6f6e, 0x2030, + 0x322e, 0x3032, 0x2e30, 0x3320, 0x2020, 0x2020, 0x2400, 0x20c1, + 0x0005, 0x2001, 0x017f, 0x2003, 0x0000, 0x20c9, 0xb9ff, 0x2091, + 0x2000, 0x2059, 0x0000, 0x2b78, 0x7823, 0x0004, 0x2089, 0x2930, + 0x2051, 0xb400, 0x2a70, 0x2029, 0xec00, 0x2031, 0xffff, 0x2039, + 0xebe9, 0x2021, 0x0200, 0x0804, 0x1464, 0x20a1, 0xb3f2, 0xa00e, + 0x20a9, 0x080e, 0x41a4, 0x3400, 0x7562, 0x7666, 0x775e, 0x746a, + 0x746e, 0x20a1, 0xbc00, 0x7164, 0x810d, 0x810d, 0x810d, 0x810d, + 0xa18c, 0x000f, 0x2001, 0x000b, 0xa112, 0xa00e, 0x21a8, 0x41a4, + 0x3400, 0x8211, 0x1dd8, 0x7164, 0x3400, 0xa102, 0x0120, 0x0218, + 0x20a8, 0xa00e, 0x41a4, 0x3800, 0xd08c, 0x01d8, 0x2009, 0xb400, + 0x810d, 0x810d, 0x810d, 0x810d, 0xa18c, 0x000f, 0x2001, 0x0001, + 0xa112, 0x20a1, 0x1000, 0xa00e, 0x21a8, 0x41a4, 0x8211, 0x1de0, + 0x2009, 0xb400, 0x3400, 0xa102, 0x0120, 0x0218, 0x20a8, 0xa00e, + 0x41a4, 0x080c, 0x140d, 0x080c, 0x162e, 0x080c, 0x17c7, 0x080c, + 0x1f73, 0x080c, 0x4bb9, 0x080c, 0x8562, 0x080c, 0x15b7, 0x080c, + 0x2e88, 0x080c, 0x5d4b, 0x080c, 0x5302, 0x080c, 0x6893, 0x080c, + 0x24d9, 0x080c, 0x6b26, 0x080c, 0x637c, 0x080c, 0x239b, 0x080c, + 0x24a7, 0x2091, 0x3009, 0x7823, 0x0000, 0x1004, 0x10c5, 0x7820, + 0xa086, 0x0002, 0x1150, 0x7823, 0x4000, 0x0e04, 0x10bd, 0x781b, + 0x0001, 0x2091, 0x5000, 0x2091, 0x4080, 0x2a70, 0x7003, 0x0000, + 0x2a70, 0x7000, 0xa08e, 0x0003, 0x1158, 0x080c, 0x3ec6, 0x080c, + 0x2eaf, 0x080c, 0x5d99, 0x080c, 0x54b1, 0x080c, 0x68be, 0x0c80, + 0x000b, 0x0c98, 0x10e4, 0x10e5, 0x1210, 0x10e2, 0x12d9, 0x140a, + 0x140b, 0x140c, 0x080c, 0x1511, 0x0005, 0x0126, 0x00f6, 0x2091, + 0x8000, 0x7000, 0xa086, 0x0001, 0x1904, 0x11ed, 0x080c, 0x1584, + 0x080c, 0x5a90, 0x0150, 0x080c, 0x5ab6, 0x15c0, 0x2079, 0x0100, + 0x7828, 0xa085, 0x1800, 0x782a, 0x0488, 0x080c, 0x59c8, 0x7000, + 0xa086, 0x0001, 0x1904, 0x11ed, 0x708c, 0xa086, 0x0028, 0x1904, + 0x11ed, 0x2001, 0x0161, 0x2003, 0x0001, 0x2079, 0x0100, 0x7827, + 0xffff, 0x7a28, 0xa295, 0x1e2f, 0x7a2a, 0x2011, 0x5963, 0x080c, + 0x6961, 0x2011, 0x5956, 0x080c, 0x6a21, 0x2011, 0x59a5, 0x080c, + 0x6961, 0x2011, 0x4a96, 0x080c, 0x6961, 0x2011, 0x8030, 0x2019, + 0x0000, 0x708b, 0x0000, 0x080c, 0x1db8, 0x00e8, 0x080c, 0x4449, + 0x2079, 0x0100, 0x7844, 0xa005, 0x1904, 0x11ed, 0x2011, 0x4a96, + 0x080c, 0x6961, 0x2011, 0x59a5, 0x080c, 0x6961, 0x080c, 0x1db8, + 0x2001, 0xb68d, 0x2004, 0x780e, 0x7840, 0xa084, 0xfffb, 0x7842, + 0x2011, 0x8010, 0x73cc, 0x080c, 0x3e8a, 0x723c, 0xc284, 0x723e, + 0x2001, 0xb40c, 0x200c, 0xc1ac, 0x2102, 0x080c, 0x7edf, 0x2011, + 0x0004, 0x080c, 0x9bf1, 0x080c, 0x520e, 0x080c, 0x5a90, 0x0158, + 0x080c, 0x4ba2, 0x0140, 0x708b, 0x0001, 0x70c7, 0x0000, 0x080c, + 0x45e6, 0x0804, 0x11ed, 0x080c, 0x52ca, 0x0120, 0x7a0c, 0xc2b4, + 0x7a0e, 0x0060, 0x7073, 0x0000, 0x080c, 0x9f99, 0x70d4, 0xd09c, + 0x1128, 0x70a0, 0xa005, 0x0110, 0x080c, 0x4b80, 0x70df, 0x0000, + 0x70db, 0x0000, 0x72d4, 0x080c, 0x5a90, 0x1178, 0x2011, 0x0000, + 0x0016, 0x080c, 0x28b1, 0x2019, 0xb68f, 0x211a, 0x001e, 0x7053, + 0xffff, 0x7057, 0x00ef, 0x7077, 0x0000, 0x2079, 0xb452, 0x7804, + 0xd0ac, 0x0108, 0xc295, 0x72d6, 0x080c, 0x5a90, 0x0118, 0xa296, + 0x0004, 0x0548, 0x2011, 0x0001, 0x080c, 0x9bf1, 0x709b, 0x0000, + 0x709f, 0xffff, 0x7003, 0x0002, 0x2079, 0x0100, 0x7827, 0x0003, + 0x7828, 0xa085, 0x0003, 0x782a, 0x00fe, 0x080c, 0x2a7e, 0x2011, + 0x0005, 0x080c, 0x801f, 0x080c, 0x7134, 0x080c, 0x5a90, 0x0148, + 0x00c6, 0x2061, 0x0100, 0x0016, 0x080c, 0x28b1, 0x61e2, 0x001e, + 0x00ce, 0x012e, 0x0420, 0x709b, 0x0000, 0x709f, 0xffff, 0x7003, + 0x0002, 0x00f6, 0x2079, 0x0100, 0x7827, 0x0003, 0x7828, 0xa085, + 0x0003, 0x782a, 0x00fe, 0x2011, 0x0005, 0x080c, 0x801f, 0x080c, + 0x7134, 0x080c, 0x5a90, 0x0148, 0x00c6, 0x2061, 0x0100, 0x0016, + 0x080c, 0x28b1, 0x61e2, 0x001e, 0x00ce, 0x00fe, 0x012e, 0x0005, + 0x00c6, 0x080c, 0x5a90, 0x1118, 0x20a9, 0x0100, 0x0010, 0x20a9, + 0x0082, 0x080c, 0x5a90, 0x1118, 0x2009, 0x0000, 0x0010, 0x2009, + 0x007e, 0x080c, 0x2d5b, 0x8108, 0x1f04, 0x1201, 0x00ce, 0x7073, + 0x0000, 0x7074, 0xa084, 0x00ff, 0x7076, 0x70a3, 0x0000, 0x0005, + 0x0126, 0x2091, 0x8000, 0x7000, 0xa086, 0x0002, 0x1904, 0x12d7, + 0x709c, 0xa086, 0xffff, 0x0130, 0x080c, 0x2a7e, 0x080c, 0x7134, + 0x0804, 0x12d7, 0x70d4, 0xd0ac, 0x1110, 0xd09c, 0x0540, 0xd084, + 0x0530, 0x0006, 0x0016, 0x2001, 0x0103, 0x2009, 0xb68d, 0x210c, + 0x2102, 0x001e, 0x000e, 0xd08c, 0x01d0, 0x70d8, 0xa086, 0xffff, + 0x0190, 0x080c, 0x2bdd, 0x080c, 0x7134, 0x70d4, 0xd094, 0x1904, + 0x12d7, 0x2011, 0x0001, 0x2019, 0x0000, 0x080c, 0x2c13, 0x080c, + 0x7134, 0x0804, 0x12d7, 0x70dc, 0xa005, 0x1904, 0x12d7, 0x7098, + 0xa005, 0x1904, 0x12d7, 0x70d4, 0xd0a4, 0x0118, 0xd0b4, 0x0904, + 0x12d7, 0x080c, 0x52ca, 0x1904, 0x12d7, 0x2001, 0xb453, 0x2004, + 0xd0ac, 0x01c8, 0x0156, 0x00c6, 0x20a9, 0x007f, 0x2009, 0x0000, + 0x0016, 0x080c, 0x4f6a, 0x1118, 0x6000, 0xd0ec, 0x1138, 0x001e, + 0x8108, 0x1f04, 0x1268, 0x00ce, 0x015e, 0x0028, 0x001e, 0x00ce, + 0x015e, 0x0804, 0x12d7, 0x0006, 0x0016, 0x2001, 0x0103, 0x2009, + 0xb68d, 0x210c, 0x2102, 0x001e, 0x000e, 0xa006, 0x2009, 0x0700, + 0x20a9, 0x0002, 0x20a1, 0xb6ce, 0x40a1, 0x7070, 0x8007, 0x7174, + 0x810f, 0x20a9, 0x0002, 0x40a1, 0x2009, 0x0000, 0x080c, 0x14f7, + 0x2001, 0x0000, 0x810f, 0x20a9, 0x0002, 0x40a1, 0xa006, 0x2009, + 0x0200, 0x20a9, 0x0002, 0x20a1, 0xb6de, 0x40a1, 0x7030, 0xc08c, + 0x7032, 0x7003, 0x0003, 0x709f, 0xffff, 0x080c, 0x157d, 0xa006, + 0x080c, 0x2789, 0x080c, 0x3efc, 0x00f6, 0x2079, 0x0100, 0x080c, + 0x5ab6, 0x0150, 0x080c, 0x5a90, 0x7828, 0x0118, 0xa084, 0xe1ff, + 0x0010, 0xa084, 0xffdf, 0x782a, 0x00fe, 0x2001, 0xb6e1, 0x2004, + 0xa086, 0x0005, 0x1120, 0x2011, 0x0000, 0x080c, 0x801f, 0x2011, + 0x0000, 0x080c, 0x8029, 0x080c, 0x7134, 0x080c, 0x71f1, 0x012e, + 0x0005, 0x0016, 0x0046, 0x00f6, 0x0126, 0x2091, 0x8000, 0x2079, + 0x0100, 0x2009, 0xb434, 0x2104, 0xa005, 0x1110, 0x080c, 0x28dd, + 0x2009, 0x00f7, 0x080c, 0x4b69, 0x7940, 0xa18c, 0x0010, 0x7942, + 0x7924, 0xd1b4, 0x0110, 0x7827, 0x0040, 0xd19c, 0x0110, 0x7827, + 0x0008, 0x0006, 0x0036, 0x0156, 0x7954, 0xd1ac, 0x1904, 0x1347, + 0x080c, 0x5aa2, 0x0158, 0x080c, 0x5ab6, 0x1128, 0x2001, 0xb69e, + 0x2003, 0x0000, 0x0070, 0x080c, 0x5a98, 0x0dc0, 0x2001, 0xb69e, + 0x2003, 0xaaaa, 0x2001, 0xb69f, 0x2003, 0x0001, 0x080c, 0x59c8, + 0x0058, 0x080c, 0x5a90, 0x0140, 0x2009, 0x00f8, 0x080c, 0x4b69, + 0x7843, 0x0090, 0x7843, 0x0010, 0x20a9, 0x09c4, 0x7820, 0xd09c, + 0x1138, 0x080c, 0x5a90, 0x0138, 0x7824, 0xd0ac, 0x1904, 0x13f1, + 0x1f04, 0x1326, 0x0070, 0x7824, 0x080c, 0x5aac, 0x0118, 0xd0ac, + 0x1904, 0x13f1, 0xa084, 0x1800, 0x0d98, 0x7003, 0x0001, 0x0804, + 0x13f1, 0x2001, 0x0001, 0x080c, 0x2789, 0x0804, 0x1400, 0x7850, + 0xa084, 0x0180, 0x7852, 0x782f, 0x0020, 0x20a9, 0x0046, 0x1d04, + 0x134f, 0x080c, 0x6a09, 0x1f04, 0x134f, 0x7850, 0xa084, 0x0180, + 0xa085, 0x0400, 0x7852, 0x782f, 0x0000, 0x080c, 0x5aa2, 0x0158, + 0x080c, 0x5ab6, 0x1128, 0x2001, 0xb69e, 0x2003, 0x0000, 0x0070, + 0x080c, 0x5a98, 0x0dc0, 0x2001, 0xb69e, 0x2003, 0xaaaa, 0x2001, + 0xb69f, 0x2003, 0x0001, 0x080c, 0x59c8, 0x0020, 0x2009, 0x00f8, + 0x080c, 0x4b69, 0x20a9, 0x000e, 0xe000, 0x1f04, 0x137c, 0x7850, + 0xa084, 0x0180, 0xa085, 0x1400, 0x7852, 0x080c, 0x5a90, 0x0120, + 0x7843, 0x0090, 0x7843, 0x0010, 0x2021, 0xe678, 0x2019, 0xea60, + 0x7820, 0xd09c, 0x1558, 0x080c, 0x5a90, 0x05d8, 0x7824, 0xd0ac, + 0x1904, 0x13f1, 0x080c, 0x5ab6, 0x1508, 0x0046, 0x2021, 0x0190, + 0x8421, 0x1df0, 0x004e, 0x8421, 0x11c8, 0x7827, 0x0048, 0x20a9, + 0x01f4, 0x1d04, 0x13a9, 0x080c, 0x6a09, 0x1f04, 0x13a9, 0x7824, + 0xa084, 0x0068, 0x15c8, 0x2001, 0xb69e, 0x2003, 0xaaaa, 0x2001, + 0xb69f, 0x2003, 0x0001, 0x7003, 0x0001, 0x0498, 0x1d04, 0x13c2, + 0x080c, 0x6a09, 0x8319, 0x1960, 0x2009, 0xb434, 0x2104, 0x8000, + 0x200a, 0xa084, 0xfff0, 0x0120, 0x200b, 0x0000, 0x080c, 0x28dd, + 0x00d8, 0x080c, 0x5aa2, 0x1140, 0xa4a2, 0x0064, 0x1128, 0x080c, + 0x5a67, 0x7003, 0x0001, 0x00a8, 0x7827, 0x1800, 0xe000, 0xe000, + 0x7824, 0x080c, 0x5aac, 0x0110, 0xd0ac, 0x1158, 0xa084, 0x1800, + 0x09a8, 0x7003, 0x0001, 0x0028, 0x2001, 0x0001, 0x080c, 0x2789, + 0x0048, 0x2001, 0xb434, 0x2003, 0x0000, 0x7827, 0x0048, 0x7828, + 0xc09d, 0x782a, 0x7850, 0xa084, 0x0180, 0xa085, 0x0400, 0x7852, + 0x015e, 0x003e, 0x000e, 0x080c, 0x1554, 0x012e, 0x00fe, 0x004e, + 0x001e, 0x0005, 0x0005, 0x0005, 0x0005, 0x2a70, 0x2061, 0xb6c1, + 0x2063, 0x0002, 0x6007, 0x0002, 0x600b, 0x0003, 0x600f, 0x0017, + 0x2001, 0xb69e, 0x2003, 0x0000, 0x708b, 0x0000, 0x2009, 0x0100, + 0x2104, 0xa082, 0x0002, 0x0218, 0x7053, 0xffff, 0x0010, 0x7053, + 0x0000, 0x705b, 0xffff, 0x7073, 0x0000, 0x7077, 0x0000, 0x080c, + 0x9f99, 0x2061, 0xb68e, 0x6003, 0x0909, 0x6007, 0x0000, 0x600b, + 0x8800, 0x600f, 0x0200, 0x6013, 0x00ff, 0x6017, 0x000f, 0x601b, + 0x0000, 0x601f, 0x07d0, 0x2061, 0xb696, 0x6003, 0x8000, 0x6007, + 0x0000, 0x600b, 0x0000, 0x600f, 0x0200, 0x6013, 0x00ff, 0x6017, + 0x0000, 0x601b, 0x0001, 0x601f, 0x0000, 0x2061, 0xb6b9, 0x6003, + 0x514c, 0x6007, 0x4f47, 0x600b, 0x4943, 0x600f, 0x2020, 0x2001, + 0xb428, 0x2003, 0x0000, 0x0005, 0x04a0, 0x2011, 0x0000, 0x81ff, + 0x0570, 0xa186, 0x0001, 0x1148, 0x2031, 0x8fff, 0x2039, 0xd401, + 0x2021, 0x0100, 0x2029, 0xd400, 0x00e8, 0xa186, 0x0002, 0x1118, + 0x2011, 0x0000, 0x00b8, 0xa186, 0x0005, 0x1118, 0x2011, 0x0001, + 0x0088, 0xa186, 0x0009, 0x1118, 0x2011, 0x0002, 0x0058, 0xa186, + 0x000a, 0x1118, 0x2011, 0x0002, 0x0028, 0xa186, 0x0055, 0x1110, + 0x2011, 0x0003, 0x3800, 0xa084, 0xfffc, 0xa205, 0x20c0, 0x0804, + 0x104d, 0xa00e, 0x2011, 0x0003, 0x2019, 0x14a0, 0x0804, 0x14f1, + 0x2019, 0xaaaa, 0x2061, 0xffff, 0x2c14, 0x2362, 0xe000, 0xe000, + 0x2c04, 0xa306, 0x2262, 0x1110, 0xc1b5, 0xc1a5, 0x2011, 0x0000, + 0x2019, 0x14b3, 0x04f0, 0x2019, 0xaaaa, 0x2061, 0xffff, 0x2c14, + 0x2362, 0xe000, 0xe000, 0x2c1c, 0x2061, 0x7fff, 0xe000, 0xe000, + 0x2c04, 0x2061, 0xffff, 0x2262, 0xa306, 0x0110, 0xc18d, 0x0008, + 0xc185, 0x2011, 0x0002, 0x2019, 0x14ce, 0x0418, 0x2061, 0xffff, + 0x2019, 0xaaaa, 0x2c14, 0x2362, 0xe000, 0xe000, 0x2c04, 0x2262, + 0xa306, 0x1180, 0x2c14, 0x2362, 0xe000, 0xe000, 0x2c1c, 0x2061, + 0x7fff, 0x2c04, 0x2061, 0xffff, 0x2262, 0xa306, 0x1110, 0xc195, + 0x0008, 0xc19d, 0x2011, 0x0001, 0x2019, 0x14ef, 0x0010, 0x0804, + 0x1465, 0x3800, 0xa084, 0xfffc, 0xa205, 0x20c0, 0x0837, 0x2011, + 0x0000, 0x080c, 0x4f6a, 0x1178, 0x6004, 0xa0c4, 0x00ff, 0xa8c6, + 0x0006, 0x0128, 0xa0c4, 0xff00, 0xa8c6, 0x0600, 0x1120, 0xa186, + 0x0080, 0x0108, 0x8210, 0x8108, 0xa186, 0x0100, 0x1d50, 0x2208, + 0x0005, 0x2091, 0x8000, 0x0e04, 0x1513, 0x0006, 0x0016, 0x2079, + 0x0000, 0x7818, 0xd084, 0x1de8, 0x001e, 0x792e, 0x000e, 0x782a, + 0x000e, 0x7826, 0x3900, 0x783a, 0x7823, 0x8002, 0x781b, 0x0001, + 0x2091, 0x5000, 0x0126, 0x0156, 0x0146, 0x20a9, 0x0010, 0x20a1, + 0xb80c, 0x2091, 0x2000, 0x40a1, 0x20a9, 0x0010, 0x2091, 0x2200, + 0x40a1, 0x20a9, 0x0010, 0x2091, 0x2400, 0x40a1, 0x20a9, 0x0010, + 0x2091, 0x2600, 0x40a1, 0x20a9, 0x0010, 0x2091, 0x2800, 0x40a1, + 0x014e, 0x015e, 0x012e, 0x2079, 0xb400, 0x7803, 0x0005, 0x2091, + 0x4080, 0x04c9, 0x0cf8, 0x0005, 0x0006, 0x080c, 0x159f, 0x1518, + 0x00f6, 0x2079, 0xb424, 0x2f04, 0x8000, 0x207a, 0xa082, 0x000f, + 0x0258, 0xa006, 0x207a, 0x2079, 0xb426, 0x2f04, 0xa084, 0x0001, + 0xa086, 0x0001, 0x207a, 0x0070, 0x2079, 0xb426, 0x2f7c, 0x8fff, + 0x1128, 0x2001, 0x0c03, 0x2003, 0x0040, 0x0020, 0x2001, 0x0c03, + 0x2003, 0x00c0, 0x00fe, 0x000e, 0x0005, 0x0409, 0x1120, 0x2001, + 0x0c03, 0x2003, 0x0080, 0x0005, 0x00d1, 0x1120, 0x2001, 0x0c03, + 0x2003, 0x0040, 0x0005, 0x0006, 0x0091, 0x1178, 0x2001, 0x0c03, + 0x2003, 0x0040, 0x2009, 0x0fff, 0x00a1, 0x2001, 0x0c03, 0x2003, + 0x0080, 0x2009, 0x0fff, 0x0069, 0x0c88, 0x000e, 0x0005, 0x00c6, + 0x2061, 0x0c00, 0x2c04, 0xa084, 0x00ff, 0xa086, 0x00aa, 0x00ce, + 0x0005, 0x0156, 0x0126, 0xa18c, 0x0fff, 0x21a8, 0x1d04, 0x15ae, + 0x2091, 0x6000, 0x1f04, 0x15ae, 0x012e, 0x015e, 0x0005, 0x2071, + 0xb400, 0x7160, 0x712e, 0x2021, 0x0001, 0xa190, 0x0030, 0xa298, + 0x0030, 0x0240, 0x7064, 0xa302, 0x1228, 0x220a, 0x2208, 0x2310, + 0x8420, 0x0ca8, 0x3800, 0xd08c, 0x0148, 0x7064, 0xa086, 0xb400, + 0x0128, 0x7067, 0xb400, 0x2011, 0x1000, 0x0c48, 0x200b, 0x0000, + 0x74b2, 0x74b6, 0x0005, 0x00e6, 0x0126, 0x2091, 0x8000, 0x2071, + 0xb400, 0x70b4, 0xa0ea, 0x0010, 0x0268, 0x8001, 0x70b6, 0x702c, + 0x2068, 0x2d04, 0x702e, 0x206b, 0x0000, 0x6807, 0x0000, 0x012e, + 0x00ee, 0x0005, 0xa06e, 0x0cd8, 0x00e6, 0x2071, 0xb400, 0x0126, + 0x2091, 0x8000, 0x70b4, 0x8001, 0x0260, 0x70b6, 0x702c, 0x2068, + 0x2d04, 0x702e, 0x206b, 0x0000, 0x6807, 0x0000, 0x012e, 0x00ee, + 0x0005, 0xa06e, 0x0cd8, 0x00e6, 0x0126, 0x2091, 0x8000, 0x2071, + 0xb400, 0x702c, 0x206a, 0x2d00, 0x702e, 0x70b4, 0x8000, 0x70b6, + 0x012e, 0x00ee, 0x0005, 0x8dff, 0x0138, 0x6804, 0x6807, 0x0000, + 0x0006, 0x0c49, 0x00de, 0x0cb8, 0x0005, 0x00e6, 0x2071, 0xb400, + 0x70b4, 0xa08a, 0x0010, 0xa00d, 0x00ee, 0x0005, 0x00e6, 0x2071, + 0xb712, 0x7007, 0x0000, 0x701b, 0x0000, 0x701f, 0x0000, 0x2071, + 0x0000, 0x7010, 0xa085, 0x8004, 0x7012, 0x00ee, 0x0005, 0x00e6, + 0x2270, 0x700b, 0x0000, 0x2071, 0xb712, 0x7018, 0xa088, 0xb71b, + 0x220a, 0x8000, 0xa084, 0x0007, 0x701a, 0x7004, 0xa005, 0x1128, + 0x00f6, 0x2079, 0x0010, 0x0081, 0x00fe, 0x00ee, 0x0005, 0x00e6, + 0x2071, 0xb712, 0x7004, 0xa005, 0x1128, 0x00f6, 0x2079, 0x0010, + 0x0019, 0x00fe, 0x00ee, 0x0005, 0x7000, 0x0002, 0x166a, 0x16ce, + 0x16eb, 0x16eb, 0x7018, 0x711c, 0xa106, 0x1118, 0x7007, 0x0000, + 0x0005, 0x00d6, 0xa180, 0xb71b, 0x2004, 0x700a, 0x2068, 0x8108, + 0xa18c, 0x0007, 0x711e, 0x7803, 0x0026, 0x6824, 0x7832, 0x6828, + 0x7836, 0x682c, 0x783a, 0x6830, 0x783e, 0x6810, 0x700e, 0x680c, + 0x7016, 0x6804, 0x00de, 0xd084, 0x0120, 0x7007, 0x0001, 0x0029, + 0x0005, 0x7007, 0x0002, 0x00b1, 0x0005, 0x0016, 0x0026, 0x710c, + 0x2011, 0x0040, 0xa182, 0x0040, 0x1210, 0x2110, 0xa006, 0x700e, + 0x7212, 0x8203, 0x7822, 0x7803, 0x0020, 0x7803, 0x0041, 0x002e, + 0x001e, 0x0005, 0x0016, 0x0026, 0x0136, 0x0146, 0x0156, 0x7014, + 0x2098, 0x20a1, 0x0014, 0x7803, 0x0026, 0x710c, 0x2011, 0x0040, + 0xa182, 0x0040, 0x1210, 0x2110, 0xa006, 0x700e, 0x22a8, 0x53a6, + 0x8203, 0x7822, 0x7803, 0x0020, 0x3300, 0x7016, 0x7803, 0x0001, + 0x015e, 0x014e, 0x013e, 0x002e, 0x001e, 0x0005, 0x0136, 0x0146, + 0x0156, 0x2099, 0xb4fa, 0x20a1, 0x0018, 0x20a9, 0x0008, 0x53a3, + 0x7803, 0x0020, 0x0126, 0x2091, 0x8000, 0x7803, 0x0041, 0x7007, + 0x0003, 0x7000, 0xc084, 0x7002, 0x700b, 0xb4f5, 0x012e, 0x015e, + 0x014e, 0x013e, 0x0005, 0x0136, 0x0146, 0x0156, 0x2001, 0xb529, + 0x209c, 0x20a1, 0x0014, 0x7803, 0x0026, 0x2001, 0xb52a, 0x20ac, + 0x53a6, 0x2099, 0xb52b, 0x20a1, 0x0018, 0x20a9, 0x0008, 0x53a3, + 0x7803, 0x0020, 0x0126, 0x2091, 0x8000, 0x7803, 0x0001, 0x7007, + 0x0004, 0x7000, 0xc08c, 0x7002, 0x700b, 0xb526, 0x012e, 0x015e, + 0x014e, 0x013e, 0x0005, 0x0016, 0x00e6, 0x2071, 0xb712, 0x00f6, + 0x2079, 0x0010, 0x7904, 0x7803, 0x0002, 0xd1fc, 0x0120, 0xa18c, + 0x0700, 0x7004, 0x0023, 0x00fe, 0x00ee, 0x001e, 0x0005, 0x1664, + 0x172e, 0x175c, 0x1786, 0x17b6, 0x172d, 0x0cf8, 0xa18c, 0x0700, + 0x1528, 0x0136, 0x0146, 0x0156, 0x7014, 0x20a0, 0x2099, 0x0014, + 0x7803, 0x0040, 0x7010, 0x20a8, 0x53a5, 0x3400, 0x7016, 0x015e, + 0x014e, 0x013e, 0x700c, 0xa005, 0x0570, 0x7830, 0x7832, 0x7834, + 0x7836, 0x080c, 0x1695, 0x0005, 0x7008, 0xa080, 0x0002, 0x2003, + 0x0100, 0x7007, 0x0000, 0x080c, 0x1664, 0x0005, 0x7008, 0xa080, + 0x0002, 0x2003, 0x0200, 0x0ca8, 0xa18c, 0x0700, 0x1150, 0x700c, + 0xa005, 0x0188, 0x7830, 0x7832, 0x7834, 0x7836, 0x080c, 0x16aa, + 0x0005, 0x7008, 0xa080, 0x0002, 0x2003, 0x0200, 0x7007, 0x0000, + 0x080c, 0x1664, 0x0005, 0x00d6, 0x7008, 0x2068, 0x7830, 0x6826, + 0x7834, 0x682a, 0x7838, 0x682e, 0x783c, 0x6832, 0x680b, 0x0100, + 0x00de, 0x7007, 0x0000, 0x080c, 0x1664, 0x0005, 0xa18c, 0x0700, + 0x1540, 0x0136, 0x0146, 0x0156, 0x2001, 0xb4f8, 0x2004, 0xa080, + 0x000d, 0x20a0, 0x2099, 0x0014, 0x7803, 0x0040, 0x20a9, 0x0020, + 0x53a5, 0x2001, 0xb4fa, 0x2004, 0xd0bc, 0x0148, 0x2001, 0xb503, + 0x2004, 0xa080, 0x000d, 0x20a0, 0x20a9, 0x0020, 0x53a5, 0x015e, + 0x014e, 0x013e, 0x7007, 0x0000, 0x080c, 0x5e30, 0x080c, 0x1664, + 0x0005, 0x2011, 0x8003, 0x080c, 0x3e8a, 0x0cf8, 0xa18c, 0x0700, + 0x1148, 0x2001, 0xb528, 0x2003, 0x0100, 0x7007, 0x0000, 0x080c, + 0x1664, 0x0005, 0x2011, 0x8004, 0x080c, 0x3e8a, 0x0cf8, 0x0126, + 0x2091, 0x2200, 0x2079, 0x0030, 0x2071, 0xb723, 0x7003, 0x0000, + 0x700f, 0xb72f, 0x7013, 0xb72f, 0x780f, 0x00f6, 0x7803, 0x0004, + 0x012e, 0x0005, 0x6934, 0xa184, 0x0007, 0x0002, 0x17e6, 0x1824, + 0x17e6, 0x17e6, 0x17e6, 0x180c, 0x17f3, 0x17ea, 0xa085, 0x0001, + 0x0804, 0x183e, 0x684c, 0xd0bc, 0x0dc8, 0x6860, 0x682e, 0x685c, + 0x682a, 0x6858, 0x04c8, 0xa18c, 0x00ff, 0xa186, 0x001e, 0x1d70, + 0x684c, 0xd0bc, 0x0d58, 0x6860, 0x682e, 0x685c, 0x682a, 0x6804, + 0x681a, 0xa080, 0x000d, 0x2004, 0xa084, 0x000f, 0xa080, 0x22b6, + 0x2005, 0x6832, 0x6858, 0x0440, 0xa18c, 0x00ff, 0xa186, 0x0015, + 0x19a8, 0x684c, 0xd0ac, 0x0990, 0x6804, 0x681a, 0xa080, 0x000d, + 0x2004, 0xa084, 0x000f, 0xa080, 0x22b6, 0x2005, 0x6832, 0xa006, + 0x682e, 0x682a, 0x6858, 0x0080, 0x684c, 0xd0ac, 0x0904, 0x17e6, + 0xa006, 0x682e, 0x682a, 0x6858, 0xa18c, 0x000f, 0xa188, 0x22b6, + 0x210d, 0x6932, 0x2d08, 0x691a, 0x6826, 0x684c, 0xc0dd, 0x684e, + 0xa006, 0x680a, 0x697c, 0x6912, 0x6980, 0x6916, 0x0005, 0x684c, + 0xd0ac, 0x090c, 0x1511, 0x6833, 0x22b3, 0x2d08, 0x691a, 0x6858, + 0x8001, 0x6826, 0x684c, 0xc0dd, 0x684e, 0xa006, 0x680a, 0x682e, + 0x682a, 0x697c, 0x6912, 0x6980, 0x6916, 0x0005, 0x20e1, 0x0007, + 0x20e1, 0x2000, 0x2001, 0x020a, 0x2004, 0x82ff, 0x01e8, 0xa280, + 0x0004, 0x00d6, 0x206c, 0x684c, 0xd0dc, 0x1190, 0xa280, 0x0007, + 0x2004, 0xa086, 0x000a, 0x1110, 0x0891, 0x0010, 0x080c, 0x17da, + 0x0138, 0x00de, 0xa280, 0x0000, 0x2003, 0x0002, 0xa016, 0x0020, + 0x6808, 0x8000, 0x680a, 0x00de, 0x0126, 0x0046, 0x0036, 0x0026, + 0x2091, 0x2200, 0x002e, 0x003e, 0x004e, 0x7000, 0xa005, 0x01d0, + 0x710c, 0x220a, 0x8108, 0x230a, 0x8108, 0x240a, 0x8108, 0xa182, + 0xb74a, 0x0210, 0x2009, 0xb72f, 0x710e, 0x7010, 0xa102, 0xa082, + 0x0009, 0x0118, 0xa080, 0x001b, 0x1118, 0x2009, 0x0138, 0x200a, + 0x012e, 0x0005, 0x7206, 0x2001, 0x18a0, 0x0006, 0x2260, 0x0804, + 0x19cc, 0x0126, 0x0026, 0x0036, 0x00c6, 0x0006, 0x2091, 0x2200, + 0x000e, 0x004e, 0x003e, 0x002e, 0x00d6, 0x00c6, 0x2460, 0x6110, + 0x2168, 0x6a62, 0x6b5e, 0xa005, 0x0904, 0x1901, 0x6808, 0xa005, + 0x0904, 0x1938, 0x7000, 0xa005, 0x1108, 0x0488, 0x700c, 0x7110, + 0xa106, 0x1904, 0x1940, 0x7004, 0xa406, 0x1548, 0x2001, 0x0005, + 0x2004, 0xd08c, 0x0168, 0x0046, 0x080c, 0x1ad5, 0x004e, 0x2460, + 0x6010, 0xa080, 0x0002, 0x2004, 0xa005, 0x0904, 0x1938, 0x0c10, + 0x2001, 0x0207, 0x2004, 0xd09c, 0x1d48, 0x7804, 0xa084, 0x6000, + 0x0120, 0xa086, 0x6000, 0x0108, 0x0c08, 0x7818, 0x6812, 0x781c, + 0x6816, 0x7803, 0x0004, 0x7003, 0x0000, 0x7004, 0x2060, 0x6100, + 0xa18e, 0x0004, 0x1904, 0x1940, 0x2009, 0x0048, 0x080c, 0x85ef, + 0x04f8, 0x6808, 0xa005, 0x05a0, 0x7000, 0xa005, 0x0588, 0x700c, + 0x7110, 0xa106, 0x1118, 0x7004, 0xa406, 0x1550, 0x2001, 0x0005, + 0x2004, 0xd08c, 0x0160, 0x0046, 0x080c, 0x1ad5, 0x004e, 0x2460, + 0x6010, 0xa080, 0x0002, 0x2004, 0xa005, 0x01d0, 0x0c28, 0x2001, + 0x0207, 0x2004, 0xd09c, 0x1d50, 0x2001, 0x0005, 0x2004, 0xd08c, + 0x1d50, 0x7804, 0xa084, 0x6000, 0x0118, 0xa086, 0x6000, 0x19f0, + 0x7818, 0x6812, 0x781c, 0x6816, 0x7803, 0x0004, 0x7003, 0x0000, + 0x6100, 0xa18e, 0x0004, 0x1120, 0x2009, 0x0048, 0x080c, 0x85ef, + 0x00ce, 0x00de, 0x012e, 0x0005, 0x00f6, 0x00e6, 0x0026, 0x0036, + 0x0046, 0x0056, 0x2071, 0xb723, 0x7000, 0xa086, 0x0000, 0x0904, + 0x19aa, 0x7004, 0xac06, 0x1904, 0x199c, 0x2079, 0x0030, 0x7000, + 0xa086, 0x0003, 0x0904, 0x199c, 0x7804, 0xd0fc, 0x15c8, 0x20e1, + 0x6000, 0x2011, 0x0032, 0x2001, 0x0208, 0x200c, 0x2001, 0x0209, + 0x2004, 0xa106, 0x1d88, 0x8211, 0x1db0, 0x7804, 0xd0fc, 0x1540, + 0x080c, 0x1e3f, 0x0026, 0x0056, 0x7803, 0x0004, 0x7804, 0xd0ac, + 0x1de8, 0x7803, 0x0002, 0x7803, 0x0009, 0x7003, 0x0003, 0x7007, + 0x0000, 0x005e, 0x002e, 0x2001, 0x015d, 0x2003, 0x0000, 0x080c, + 0x5a90, 0x1138, 0x0066, 0x2031, 0x0001, 0x080c, 0x5b12, 0x006e, + 0x0058, 0x2001, 0x0160, 0x2502, 0x2001, 0x0138, 0x2202, 0x0020, + 0x080c, 0x1ad5, 0x0804, 0x194c, 0x0156, 0x20a9, 0x0009, 0x2009, + 0xb72f, 0x2104, 0xac06, 0x1108, 0x200a, 0xa188, 0x0003, 0x1f04, + 0x19a1, 0x015e, 0x005e, 0x004e, 0x003e, 0x002e, 0x00ee, 0x00fe, + 0x0005, 0x700c, 0x7110, 0xa106, 0x0904, 0x1a40, 0x2104, 0x7006, + 0x2060, 0x8108, 0x211c, 0x8108, 0x2124, 0x8108, 0xa182, 0xb74a, + 0x0210, 0x2009, 0xb72f, 0x7112, 0x700c, 0xa106, 0x1128, 0x080c, + 0x28b1, 0x2001, 0x0138, 0x2102, 0x8cff, 0x0598, 0x6010, 0x2068, + 0x2d58, 0x6828, 0xa406, 0x1590, 0x682c, 0xa306, 0x1578, 0x7004, + 0x2060, 0x6020, 0xc0d4, 0x6022, 0x684c, 0xd0f4, 0x0128, 0x6817, + 0xffff, 0x6813, 0xffff, 0x00e8, 0x6850, 0xd0f4, 0x1130, 0x7803, + 0x0004, 0x6810, 0x781a, 0x6814, 0x781e, 0x6824, 0x2050, 0x6818, + 0x2060, 0x6830, 0x2040, 0x6034, 0xa0cc, 0x000f, 0x2009, 0x0011, + 0x080c, 0x1a43, 0x0120, 0x2009, 0x0001, 0x080c, 0x1a43, 0x2d58, + 0x0005, 0x080c, 0x1dac, 0x0904, 0x19b1, 0x0cd0, 0x6020, 0xd0f4, + 0x11e0, 0xd0d4, 0x01b8, 0x6038, 0xa402, 0x6034, 0xa303, 0x0108, + 0x1288, 0x643a, 0x6336, 0x6c2a, 0x6b2e, 0x0046, 0x0036, 0x2400, + 0x6c7c, 0xa402, 0x6812, 0x2300, 0x6b80, 0xa303, 0x6816, 0x003e, + 0x004e, 0x0018, 0x080c, 0x9f2b, 0x09e0, 0x601c, 0xa08e, 0x0008, + 0x0904, 0x19d7, 0xa08e, 0x000a, 0x0904, 0x19d7, 0x2001, 0xb474, + 0x2004, 0xd0b4, 0x1140, 0x6018, 0x2004, 0xd0bc, 0x1120, 0x6817, + 0x7fff, 0x6813, 0xffff, 0x080c, 0x22d6, 0x1918, 0x0804, 0x19d7, + 0x7003, 0x0000, 0x0005, 0x8aff, 0x0904, 0x1aaf, 0xa03e, 0x2730, + 0x6850, 0xd0fc, 0x11b8, 0xd0f4, 0x1528, 0x00d6, 0x2805, 0xac68, + 0x2900, 0x0002, 0x1a93, 0x1a78, 0x1a78, 0x1a93, 0x1a93, 0x1a8c, + 0x1a93, 0x1a78, 0x1a93, 0x1a7d, 0x1a7d, 0x1a93, 0x1a93, 0x1a93, + 0x1a84, 0x1a7d, 0x7803, 0x0004, 0xc0fc, 0x6852, 0x6b6c, 0x6a70, + 0x6d1c, 0x6c20, 0x00d6, 0xd99c, 0x0548, 0x2805, 0xac68, 0x6f08, + 0x6e0c, 0x0420, 0xc0f4, 0x6852, 0x6b6c, 0x6a70, 0x00d6, 0x0458, + 0x6b08, 0x6a0c, 0x6d00, 0x6c04, 0x00c8, 0x6b10, 0x6a14, 0x6d00, + 0x6c04, 0x6f08, 0x6e0c, 0x0090, 0x00de, 0x00d6, 0x6834, 0xa084, + 0x00ff, 0xa086, 0x001e, 0x1138, 0x00de, 0x080c, 0x2278, 0x1904, + 0x1a43, 0xa00e, 0x00e0, 0x00de, 0x080c, 0x1511, 0x7b22, 0x7a26, + 0x7d32, 0x7c36, 0x7f3a, 0x7e3e, 0x7316, 0x721a, 0x751e, 0x7422, + 0x7726, 0x762a, 0x7902, 0x7000, 0x8000, 0x7002, 0x00de, 0x6828, + 0xa300, 0x682a, 0x682c, 0xa201, 0x682e, 0x080c, 0x2278, 0x0005, + 0x080c, 0x1511, 0x080c, 0x1f26, 0x7004, 0x2060, 0x00d6, 0x6010, + 0x2068, 0x7003, 0x0000, 0x080c, 0x1dcd, 0x080c, 0x9beb, 0x0170, + 0x6808, 0x8001, 0x680a, 0x697c, 0x6912, 0x6980, 0x6916, 0x682b, + 0xffff, 0x682f, 0xffff, 0x6850, 0xc0bd, 0x6852, 0x00de, 0x080c, + 0x98c3, 0x0804, 0x1cfa, 0x080c, 0x1511, 0x0126, 0x2091, 0x2200, + 0x0006, 0x0016, 0x2b68, 0x6818, 0x2060, 0x7904, 0x7803, 0x0002, + 0xa184, 0x0700, 0x1978, 0xa184, 0x0003, 0xa086, 0x0003, 0x0d58, + 0x7000, 0x0002, 0x1af2, 0x1af8, 0x1c09, 0x1cd5, 0x1ce9, 0x1af2, + 0x1af2, 0x1af2, 0x7804, 0xd09c, 0x1904, 0x1cfa, 0x080c, 0x1511, + 0x8001, 0x7002, 0xd1bc, 0x11a0, 0xd19c, 0x1904, 0x1b8d, 0xd1dc, + 0x1178, 0x8aff, 0x0904, 0x1b8d, 0x2009, 0x0001, 0x080c, 0x1a43, + 0x0904, 0x1cfa, 0x2009, 0x0001, 0x080c, 0x1a43, 0x0804, 0x1cfa, + 0x7803, 0x0004, 0x7003, 0x0000, 0xd1bc, 0x1904, 0x1b6d, 0x0026, + 0x0036, 0x7c20, 0x7d24, 0x7e30, 0x7f34, 0x7818, 0x6812, 0x781c, + 0x6816, 0x2001, 0x0201, 0x2004, 0xa005, 0x0140, 0x7808, 0xd0ec, + 0x1128, 0x7803, 0x0009, 0x7003, 0x0004, 0x0010, 0x080c, 0x1cfe, + 0x6b28, 0x6a2c, 0x2400, 0x686e, 0xa31a, 0x2500, 0x6872, 0xa213, + 0x6b2a, 0x6a2e, 0x00c6, 0x7004, 0x2060, 0x6020, 0xd0f4, 0x1110, + 0x633a, 0x6236, 0x00ce, 0x003e, 0x002e, 0x6e1e, 0x6f22, 0x2500, + 0xa405, 0x0128, 0x080c, 0x228e, 0x6850, 0xc0fd, 0x6852, 0x2a00, + 0x6826, 0x2c00, 0x681a, 0x2800, 0x6832, 0x6808, 0x8001, 0x680a, + 0x1148, 0x684c, 0xd0e4, 0x0130, 0x7004, 0x2060, 0x2009, 0x0048, + 0x080c, 0x85ef, 0x7000, 0xa086, 0x0004, 0x0904, 0x1cfa, 0x7003, + 0x0000, 0x080c, 0x19b1, 0x0804, 0x1cfa, 0x0056, 0x7d0c, 0xd5bc, + 0x1110, 0x080c, 0xb38a, 0x005e, 0x080c, 0x1dcd, 0x00f6, 0x7004, + 0x2078, 0x080c, 0x52c6, 0x0118, 0x7820, 0xc0f5, 0x7822, 0x00fe, + 0x682b, 0xffff, 0x682f, 0xffff, 0x6808, 0x8001, 0x680a, 0x697c, + 0x791a, 0x6980, 0x791e, 0x0804, 0x1cfa, 0x7004, 0x00c6, 0x2060, + 0x6020, 0x00ce, 0xd0f4, 0x0120, 0x6808, 0x8001, 0x680a, 0x04c0, + 0x7818, 0x6812, 0x7a1c, 0x6a16, 0xd19c, 0x0160, 0xa205, 0x0150, + 0x7004, 0xa080, 0x0007, 0x2004, 0xa084, 0xfffd, 0xa086, 0x0008, + 0x1904, 0x1b10, 0x684c, 0xc0f5, 0x684e, 0x7814, 0xa005, 0x1520, + 0x7003, 0x0000, 0x6808, 0x8001, 0x680a, 0x01a0, 0x7004, 0x2060, + 0x601c, 0xa086, 0x000a, 0x11a0, 0x0156, 0x20a9, 0x0009, 0x2009, + 0xb72f, 0x2104, 0xac06, 0x1108, 0x200a, 0xa188, 0x0003, 0x1f04, + 0x1bc1, 0x015e, 0x7004, 0x2060, 0x2009, 0x0048, 0x080c, 0x85ef, + 0x080c, 0x19b1, 0x0804, 0x1cfa, 0x7818, 0x6812, 0x781c, 0x6816, + 0x7814, 0x7908, 0xa18c, 0x0fff, 0xa192, 0x0841, 0x1a04, 0x1ab2, + 0xa188, 0x0007, 0x8114, 0x8214, 0x8214, 0xa10a, 0x8104, 0x8004, + 0x8004, 0xa20a, 0x810b, 0x810b, 0x810b, 0x080c, 0x1e6a, 0x7803, + 0x0004, 0x780f, 0xffff, 0x7803, 0x0001, 0x7804, 0xd0fc, 0x0de8, + 0x7803, 0x0002, 0x7803, 0x0004, 0x780f, 0x00f6, 0x7004, 0x7007, + 0x0000, 0x2060, 0x2009, 0x0048, 0x080c, 0x85ef, 0x080c, 0x1ec0, + 0x0838, 0x8001, 0x7002, 0xd194, 0x01b0, 0x7804, 0xd0fc, 0x1904, + 0x1ca5, 0xd09c, 0x0138, 0x7804, 0xd0fc, 0x1904, 0x1ca5, 0xd09c, + 0x1904, 0x1ca9, 0x8aff, 0x0904, 0x1cfa, 0x2009, 0x0001, 0x080c, + 0x1a43, 0x0804, 0x1cfa, 0xa184, 0x0888, 0x1148, 0x8aff, 0x0904, + 0x1cfa, 0x2009, 0x0001, 0x080c, 0x1a43, 0x0804, 0x1cfa, 0x7818, + 0x6812, 0x7a1c, 0x6a16, 0xa205, 0x0904, 0x1baa, 0x7803, 0x0004, + 0x7003, 0x0000, 0xd1bc, 0x1904, 0x1c87, 0x6834, 0xa084, 0x00ff, + 0xa086, 0x0029, 0x1118, 0xd19c, 0x1904, 0x1baa, 0x0026, 0x0036, + 0x7c20, 0x7d24, 0x7e30, 0x7f34, 0x7818, 0x6812, 0x781c, 0x6816, + 0x2001, 0x0201, 0x2004, 0xa005, 0x0140, 0x7808, 0xd0ec, 0x1128, + 0x7803, 0x0009, 0x7003, 0x0004, 0x0020, 0x0016, 0x080c, 0x1cfe, + 0x001e, 0x6b28, 0x6a2c, 0x080c, 0x228e, 0x00d6, 0x2805, 0xac68, + 0x6034, 0xd09c, 0x1128, 0x6808, 0xa31a, 0x680c, 0xa213, 0x0020, + 0x6810, 0xa31a, 0x6814, 0xa213, 0x00de, 0xd194, 0x0904, 0x1b32, + 0x2a00, 0x6826, 0x2c00, 0x681a, 0x2800, 0x6832, 0x6808, 0x8001, + 0x680a, 0x6b2a, 0x6a2e, 0x003e, 0x002e, 0x0804, 0x1bd0, 0x0056, + 0x7d0c, 0x080c, 0xb38a, 0x005e, 0x080c, 0x1dcd, 0x00f6, 0x7004, + 0x2078, 0x080c, 0x52c6, 0x0118, 0x7820, 0xc0f5, 0x7822, 0x00fe, + 0x682b, 0xffff, 0x682f, 0xffff, 0x6808, 0x8001, 0x680a, 0x697c, + 0x791a, 0x6980, 0x791e, 0x0804, 0x1cfa, 0x7804, 0xd09c, 0x0904, + 0x1add, 0x7c20, 0x7824, 0xa405, 0x1904, 0x1add, 0x7818, 0x6812, + 0x7c1c, 0x6c16, 0xa405, 0x1120, 0x7803, 0x0002, 0x0804, 0x1baa, + 0x751c, 0x7420, 0x7724, 0x7628, 0x7014, 0xa528, 0x7018, 0xa421, + 0xa7b9, 0x0000, 0xa6b1, 0x0000, 0x7830, 0xa506, 0x1150, 0x7834, + 0xa406, 0x1138, 0x7838, 0xa706, 0x1120, 0x783c, 0xa606, 0x0904, + 0x1add, 0x7803, 0x0002, 0x0804, 0x1c36, 0x7803, 0x0004, 0x7003, + 0x0000, 0x7004, 0xa00d, 0x0150, 0x6808, 0x8001, 0x680a, 0x1130, + 0x7004, 0x2060, 0x2009, 0x0048, 0x080c, 0x85ef, 0x080c, 0x19b1, + 0x0088, 0x7803, 0x0004, 0x7003, 0x0000, 0x7004, 0x2060, 0x6010, + 0xa005, 0x0da0, 0x2068, 0x6808, 0x8000, 0x680a, 0x6c28, 0x6b2c, + 0x080c, 0x19cc, 0x001e, 0x000e, 0x012e, 0x0005, 0x700c, 0x7110, + 0xa106, 0x0904, 0x1da0, 0x7004, 0x0016, 0x210c, 0xa106, 0x001e, + 0x0904, 0x1da0, 0x00d6, 0x00c6, 0x216c, 0x2d00, 0xa005, 0x0904, + 0x1d9e, 0x681c, 0xa086, 0x0008, 0x0904, 0x1d9e, 0x6820, 0xd0d4, + 0x1904, 0x1d9e, 0x6810, 0x2068, 0x6850, 0xd0fc, 0x05a8, 0x8108, + 0x2104, 0x6b2c, 0xa306, 0x1904, 0x1d9e, 0x8108, 0x2104, 0x6a28, + 0xa206, 0x1904, 0x1d9e, 0x6850, 0xc0fc, 0xc0f5, 0x6852, 0x686c, + 0x7822, 0x7016, 0x6870, 0x7826, 0x701a, 0x681c, 0x7832, 0x701e, + 0x6820, 0x7836, 0x7022, 0x6818, 0x2060, 0x6034, 0xd09c, 0x0168, + 0x6830, 0x2005, 0x00d6, 0xac68, 0x6808, 0x783a, 0x7026, 0x680c, + 0x783e, 0x702a, 0x00de, 0x0804, 0x1d98, 0xa006, 0x783a, 0x783e, + 0x7026, 0x702a, 0x0804, 0x1d98, 0x8108, 0x2104, 0xa005, 0x1904, + 0x1d9e, 0x6b2c, 0xa306, 0x1904, 0x1d9e, 0x8108, 0x2104, 0xa005, + 0x15e8, 0x6a28, 0xa206, 0x15d0, 0x6850, 0xc0f5, 0x6852, 0x6830, + 0x2005, 0x6918, 0xa160, 0xa180, 0x000d, 0x2004, 0xd09c, 0x11a0, + 0x6008, 0x7822, 0x7016, 0x686e, 0x600c, 0x7826, 0x701a, 0x6872, + 0x6000, 0x7832, 0x701e, 0x6004, 0x7836, 0x7022, 0xa006, 0x783a, + 0x783e, 0x7026, 0x702a, 0x00a0, 0x6010, 0x7822, 0x7016, 0x686e, + 0x6014, 0x7826, 0x701a, 0x6872, 0x6000, 0x7832, 0x701e, 0x6004, + 0x7836, 0x7022, 0x6008, 0x783a, 0x7026, 0x600c, 0x783e, 0x702a, + 0x6810, 0x781a, 0x6814, 0x781e, 0x7803, 0x0011, 0x00ce, 0x00de, + 0x0005, 0x2011, 0x0201, 0x2009, 0x003c, 0x2204, 0xa005, 0x1118, + 0x8109, 0x1dd8, 0x0005, 0x0005, 0x0ca1, 0x0118, 0x780c, 0xd0a4, + 0x0120, 0x00d9, 0xa085, 0x0001, 0x0010, 0x080c, 0x1ec0, 0x0005, + 0x0126, 0x2091, 0x2200, 0x7000, 0xa086, 0x0003, 0x1160, 0x700c, + 0x7110, 0xa106, 0x0140, 0x080c, 0x2922, 0x20e1, 0x9028, 0x700f, + 0xb72f, 0x7013, 0xb72f, 0x012e, 0x0005, 0x00c6, 0x080c, 0x5a90, + 0x11b8, 0x2001, 0x0160, 0x2003, 0x0000, 0x2001, 0x0138, 0x2003, + 0x0000, 0x2011, 0x00c8, 0xe000, 0xe000, 0x8211, 0x1de0, 0x04c1, + 0x0066, 0x2031, 0x0000, 0x080c, 0x5b12, 0x006e, 0x00ce, 0x0005, + 0x080c, 0x1e3f, 0x080c, 0x2922, 0x20e1, 0x9028, 0x700c, 0x7110, + 0xa106, 0x01d0, 0x2104, 0xa005, 0x0130, 0x2060, 0x6010, 0x2060, + 0x6008, 0x8001, 0x600a, 0xa188, 0x0003, 0xa182, 0xb74a, 0x0210, + 0x2009, 0xb72f, 0x7112, 0x700c, 0xa106, 0x1d40, 0x080c, 0x28b1, + 0x2001, 0x0138, 0x2102, 0x0c10, 0x2001, 0x015d, 0x2003, 0x0000, + 0x2001, 0x0160, 0x2502, 0x2001, 0x0138, 0x2202, 0x00ce, 0x0005, + 0x080c, 0x2922, 0x20e1, 0x9028, 0x2001, 0x015d, 0x2003, 0x0000, + 0x00e6, 0x00c6, 0x0016, 0x2071, 0xb723, 0x700c, 0x7110, 0xa106, + 0x0190, 0x2104, 0xa005, 0x0130, 0x2060, 0x6010, 0x2060, 0x6008, + 0x8001, 0x600a, 0xa188, 0x0003, 0xa182, 0xb74a, 0x0210, 0x2009, + 0xb72f, 0x7112, 0x0c50, 0x001e, 0x00ce, 0x00ee, 0x0005, 0x2001, + 0x0138, 0x2014, 0x2003, 0x0000, 0x2001, 0x0160, 0x202c, 0x2003, + 0x0000, 0x080c, 0x5a90, 0x1148, 0x2021, 0x0002, 0x1d04, 0x1e4e, + 0x2091, 0x6000, 0x8421, 0x1dd0, 0x0005, 0x2021, 0xb015, 0x2001, + 0x0141, 0x201c, 0xd3dc, 0x1168, 0x2001, 0x0109, 0x201c, 0xa39c, + 0x0048, 0x1138, 0x2001, 0x0111, 0x201c, 0x83ff, 0x1110, 0x8421, + 0x1d70, 0x0005, 0x00e6, 0x2071, 0x0200, 0x7808, 0xa084, 0xf000, + 0xa10d, 0x0869, 0x2001, 0x0105, 0x2004, 0xa084, 0x0003, 0x1130, + 0x2001, 0xb74a, 0x2004, 0xa086, 0x0000, 0x0548, 0xa026, 0x2019, + 0xf000, 0x8319, 0x1148, 0x2001, 0x012b, 0x2003, 0x95f5, 0x2001, + 0x0129, 0x2003, 0x95f5, 0x00d8, 0x2001, 0x0105, 0x2004, 0xa084, + 0x0003, 0x1130, 0x2001, 0xb74a, 0x2004, 0xa086, 0x0000, 0x0178, + 0x2001, 0x0132, 0x2004, 0xa436, 0x0110, 0x2020, 0x0c00, 0x2001, + 0x0021, 0x2004, 0xd0fc, 0x09e8, 0x080c, 0x211b, 0x08c0, 0x20e1, + 0x7000, 0x7324, 0x7420, 0x7028, 0x7028, 0x7426, 0x7037, 0x0001, + 0x810f, 0x712e, 0x702f, 0x0100, 0x7037, 0x0008, 0x7326, 0x7422, + 0x2001, 0x0160, 0x2502, 0x2001, 0x0138, 0x2202, 0x00ee, 0x0005, + 0x0026, 0x2001, 0x015d, 0x2003, 0x0000, 0x7908, 0xa18c, 0x0fff, + 0xa182, 0x0ffd, 0x0210, 0x2009, 0x0000, 0xa190, 0x0007, 0xa294, + 0x1ff8, 0x8214, 0x8214, 0x8214, 0x2001, 0x020a, 0x82ff, 0x0140, + 0x20e1, 0x6000, 0x200c, 0x200c, 0x200c, 0x200c, 0x8211, 0x1dd0, + 0x20e1, 0x7000, 0x200c, 0x200c, 0x7003, 0x0000, 0x20e1, 0x6000, + 0x2001, 0x0208, 0x200c, 0x2001, 0x0209, 0x2004, 0xa106, 0x0158, + 0x080c, 0x1da1, 0x0130, 0x7908, 0xd1ec, 0x1128, 0x790c, 0xd1a4, + 0x0960, 0x080c, 0x1dcd, 0xa006, 0x002e, 0x0005, 0x00f6, 0x00e6, + 0x0016, 0x0026, 0x2071, 0xb723, 0x2079, 0x0030, 0x2011, 0x0050, + 0x7000, 0xa086, 0x0000, 0x01a8, 0x8211, 0x0188, 0x2001, 0x0005, + 0x2004, 0xd08c, 0x0dc8, 0x7904, 0xa18c, 0x0780, 0x0016, 0x080c, + 0x1ad5, 0x001e, 0x81ff, 0x1118, 0x2011, 0x0050, 0x0c48, 0xa085, + 0x0001, 0x002e, 0x001e, 0x00ee, 0x00fe, 0x0005, 0x7803, 0x0004, + 0x2009, 0x0064, 0x7804, 0xd0ac, 0x0904, 0x1f72, 0x8109, 0x1dd0, + 0x2009, 0x0100, 0x210c, 0xa18a, 0x0003, 0x0a0c, 0x1511, 0x080c, + 0x2222, 0x00e6, 0x00f6, 0x2071, 0xb712, 0x2079, 0x0010, 0x7004, + 0xa086, 0x0000, 0x0538, 0x7800, 0x0006, 0x7820, 0x0006, 0x7830, + 0x0006, 0x7834, 0x0006, 0x7838, 0x0006, 0x783c, 0x0006, 0x7803, + 0x0004, 0xe000, 0xe000, 0x2079, 0x0030, 0x7804, 0xd0ac, 0x190c, + 0x1511, 0x2079, 0x0010, 0x000e, 0x783e, 0x000e, 0x783a, 0x000e, + 0x7836, 0x000e, 0x7832, 0x000e, 0x7822, 0x000e, 0x7802, 0x00fe, + 0x00ee, 0x0030, 0x00fe, 0x00ee, 0x7804, 0xd0ac, 0x190c, 0x1511, + 0x080c, 0x71f1, 0x0005, 0x00e6, 0x2071, 0xb74a, 0x7003, 0x0000, + 0x00ee, 0x0005, 0x00d6, 0xa280, 0x0004, 0x206c, 0x694c, 0xd1dc, + 0x1904, 0x1ff0, 0x6934, 0xa184, 0x0007, 0x0002, 0x1f8e, 0x1fdb, + 0x1f8e, 0x1f8e, 0x1f8e, 0x1fc2, 0x1fa1, 0x1f90, 0x080c, 0x1511, + 0x684c, 0xd0b4, 0x0904, 0x20d8, 0x6860, 0x682e, 0x6816, 0x685c, + 0x682a, 0x6812, 0x687c, 0x680a, 0x6880, 0x680e, 0x6958, 0x0804, + 0x1fe3, 0x6834, 0xa084, 0x00ff, 0xa086, 0x001e, 0x1d38, 0x684c, + 0xd0b4, 0x0904, 0x20d8, 0x6860, 0x682e, 0x6816, 0x685c, 0x682a, + 0x6812, 0x687c, 0x680a, 0x6880, 0x680e, 0x6804, 0x681a, 0xa080, + 0x000d, 0x2004, 0xa084, 0x000f, 0xa080, 0x22b6, 0x2005, 0x6832, + 0x6958, 0x0450, 0xa18c, 0x00ff, 0xa186, 0x0015, 0x1548, 0x684c, + 0xd0b4, 0x0904, 0x20d8, 0x6804, 0x681a, 0xa080, 0x000d, 0x2004, + 0xa084, 0x000f, 0xa080, 0x22b6, 0x2005, 0x6832, 0x6958, 0xa006, + 0x682e, 0x682a, 0x0088, 0x684c, 0xd0b4, 0x0904, 0x1ab0, 0x6958, + 0xa006, 0x682e, 0x682a, 0x2d00, 0x681a, 0x6834, 0xa084, 0x000f, + 0xa080, 0x22b6, 0x2005, 0x6832, 0x6926, 0x684c, 0xc0dd, 0x684e, + 0x00de, 0x0005, 0x00f6, 0x2079, 0x0020, 0x7804, 0xd0fc, 0x190c, + 0x211b, 0x00e6, 0x00d6, 0x2071, 0xb74a, 0x7000, 0xa005, 0x1904, + 0x2058, 0x00c6, 0x7206, 0xa280, 0x0004, 0x205c, 0x7004, 0x2068, + 0x7803, 0x0004, 0x6818, 0x00d6, 0x2068, 0x686c, 0x7812, 0x6890, + 0x00f6, 0x20e1, 0x9040, 0x2079, 0x0200, 0x781a, 0x2079, 0x0100, + 0x8004, 0x78d6, 0x00fe, 0x00de, 0x2b68, 0x6824, 0x2050, 0x6818, + 0x2060, 0x6830, 0x2040, 0x6034, 0xa0cc, 0x000f, 0x6908, 0x791a, + 0x7116, 0x680c, 0x781e, 0x701a, 0xa006, 0x700e, 0x7012, 0x7004, + 0x692c, 0x6814, 0xa106, 0x1120, 0x6928, 0x6810, 0xa106, 0x0158, + 0x0036, 0x0046, 0x6b14, 0x6c10, 0x080c, 0x22d6, 0x004e, 0x003e, + 0x0110, 0x00ce, 0x00a8, 0x8aff, 0x1120, 0x00ce, 0xa085, 0x0001, + 0x0078, 0x0126, 0x2091, 0x8000, 0x2079, 0x0020, 0x2009, 0x0001, + 0x0059, 0x0118, 0x2009, 0x0001, 0x0039, 0x012e, 0x00ce, 0xa006, + 0x00de, 0x00ee, 0x00fe, 0x0005, 0x0076, 0x0066, 0x0056, 0x0046, + 0x0036, 0x0026, 0x8aff, 0x0904, 0x20d1, 0x700c, 0x7214, 0xa23a, + 0x7010, 0x7218, 0xa203, 0x0a04, 0x20d0, 0xa705, 0x0904, 0x20d0, + 0xa03e, 0x2730, 0x6850, 0xd0fc, 0x11a8, 0x00d6, 0x2805, 0xac68, + 0x2900, 0x0002, 0x20b3, 0x2098, 0x2098, 0x20b3, 0x20b3, 0x20ac, + 0x20b3, 0x2098, 0x20b3, 0x209d, 0x209d, 0x20b3, 0x20b3, 0x20b3, + 0x20a4, 0x209d, 0xc0fc, 0x6852, 0x6b6c, 0x6a70, 0x6d1c, 0x6c20, + 0xd99c, 0x0528, 0x00d6, 0x2805, 0xac68, 0x6f08, 0x6e0c, 0x00f0, + 0x6b08, 0x6a0c, 0x6d00, 0x6c04, 0x00c8, 0x6b10, 0x6a14, 0x6d00, + 0x6c04, 0x6f08, 0x6e0c, 0x0090, 0x00de, 0x00d6, 0x6834, 0xa084, + 0x00ff, 0xa086, 0x001e, 0x1138, 0x00de, 0x080c, 0x2278, 0x1904, + 0x2062, 0xa00e, 0x00f0, 0x00de, 0x080c, 0x1511, 0x00de, 0x7b22, + 0x7a26, 0x7d32, 0x7c36, 0x7f3a, 0x7e3e, 0x7902, 0x7000, 0x8000, + 0x7002, 0x6828, 0xa300, 0x682a, 0x682c, 0xa201, 0x682e, 0x700c, + 0xa300, 0x700e, 0x7010, 0xa201, 0x7012, 0x080c, 0x2278, 0x0008, + 0xa006, 0x002e, 0x003e, 0x004e, 0x005e, 0x006e, 0x007e, 0x0005, + 0x080c, 0x1511, 0x0026, 0x2001, 0x0105, 0x2003, 0x0010, 0x20e1, + 0x9040, 0x7803, 0x0004, 0x7003, 0x0000, 0x7004, 0x2060, 0x00d6, + 0x6010, 0x2068, 0x080c, 0x9beb, 0x0118, 0x6850, 0xc0bd, 0x6852, + 0x601c, 0xa086, 0x0006, 0x1180, 0x2061, 0x0100, 0x62c8, 0x2001, + 0x00fa, 0x8001, 0x1df0, 0x60c8, 0xa206, 0x1dc0, 0x60c4, 0x686a, + 0x60c8, 0x6866, 0x7004, 0x2060, 0x00de, 0x00c6, 0x080c, 0x98c3, + 0x00ce, 0x2001, 0xb6ef, 0x2004, 0xac06, 0x1150, 0x20e1, 0x9040, + 0x080c, 0x8200, 0x2011, 0x0000, 0x080c, 0x8029, 0x080c, 0x71f1, + 0x002e, 0x0804, 0x21d5, 0x0126, 0x2091, 0x2400, 0x0006, 0x0016, + 0x00f6, 0x00e6, 0x00d6, 0x00c6, 0x2079, 0x0020, 0x2071, 0xb74a, + 0x2b68, 0x6818, 0x2060, 0x7904, 0x7803, 0x0002, 0xa184, 0x0700, + 0x1904, 0x20da, 0x7000, 0x0002, 0x21d5, 0x2138, 0x21a8, 0x21d3, + 0x8001, 0x7002, 0xd19c, 0x1170, 0x8aff, 0x05d0, 0x2009, 0x0001, + 0x080c, 0x205c, 0x0904, 0x21d5, 0x2009, 0x0001, 0x080c, 0x205c, + 0x0804, 0x21d5, 0x7803, 0x0004, 0xd194, 0x0148, 0x6850, 0xc0fc, + 0x6852, 0x8aff, 0x11d8, 0x684c, 0xc0f5, 0x684e, 0x00b8, 0x0026, + 0x0036, 0x6b28, 0x6a2c, 0x7820, 0x686e, 0xa31a, 0x7824, 0x6872, + 0xa213, 0x7830, 0x681e, 0x7834, 0x6822, 0x6b2a, 0x6a2e, 0x003e, + 0x002e, 0x080c, 0x228e, 0x6850, 0xc0fd, 0x6852, 0x2a00, 0x6826, + 0x2c00, 0x681a, 0x2800, 0x6832, 0x7003, 0x0000, 0x0804, 0x21d5, + 0x00f6, 0x0026, 0x781c, 0x0006, 0x7818, 0x0006, 0x2079, 0x0100, + 0x7a14, 0xa284, 0x0184, 0xa085, 0x0012, 0x7816, 0x0036, 0x2019, + 0x1000, 0x8319, 0x090c, 0x1511, 0x7820, 0xd0bc, 0x1dd0, 0x003e, + 0x79c8, 0x000e, 0xa102, 0x001e, 0x0006, 0x0016, 0x79c4, 0x000e, + 0xa103, 0x78c6, 0x000e, 0x78ca, 0xa284, 0x0184, 0xa085, 0x0012, + 0x7816, 0x002e, 0x00fe, 0x7803, 0x0008, 0x7003, 0x0000, 0x0468, + 0x8001, 0x7002, 0xd194, 0x0168, 0x7804, 0xd0fc, 0x1904, 0x212b, + 0xd19c, 0x11f8, 0x8aff, 0x0508, 0x2009, 0x0001, 0x080c, 0x205c, + 0x00e0, 0x0026, 0x0036, 0x6b28, 0x6a2c, 0x080c, 0x228e, 0x00d6, + 0x2805, 0xac68, 0x6034, 0xd09c, 0x1128, 0x6808, 0xa31a, 0x680c, + 0xa213, 0x0020, 0x6810, 0xa31a, 0x6814, 0xa213, 0x00de, 0x0804, + 0x215b, 0x0804, 0x2157, 0x080c, 0x1511, 0x00ce, 0x00de, 0x00ee, + 0x00fe, 0x001e, 0x000e, 0x012e, 0x0005, 0x00f6, 0x00e6, 0x2071, + 0xb74a, 0x7000, 0xa086, 0x0000, 0x05d0, 0x2079, 0x0020, 0x0016, + 0x2009, 0x0207, 0x210c, 0xd194, 0x0198, 0x2009, 0x020c, 0x210c, + 0xa184, 0x0003, 0x0168, 0x080c, 0xb3d3, 0x2001, 0x0133, 0x2004, + 0xa005, 0x090c, 0x1511, 0x20e1, 0x9040, 0x2001, 0x020c, 0x2102, + 0x2009, 0x0206, 0x2104, 0x2009, 0x0203, 0x210c, 0xa106, 0x1110, + 0x20e1, 0x9040, 0x7804, 0xd0fc, 0x09d8, 0x080c, 0x211b, 0x7000, + 0xa086, 0x0000, 0x19a8, 0x001e, 0x7803, 0x0004, 0x7804, 0xd0ac, + 0x1de8, 0x20e1, 0x9040, 0x7803, 0x0002, 0x7003, 0x0000, 0x00ee, + 0x00fe, 0x0005, 0x0026, 0x00c6, 0x00d6, 0x00e6, 0x00f6, 0x2071, + 0xb74a, 0x2079, 0x0020, 0x7000, 0xa086, 0x0000, 0x0540, 0x7004, + 0x2060, 0x6010, 0x2068, 0x080c, 0x9beb, 0x0158, 0x6850, 0xc0b5, + 0x6852, 0x680c, 0x7a1c, 0xa206, 0x1120, 0x6808, 0x7a18, 0xa206, + 0x01e0, 0x2001, 0x0105, 0x2003, 0x0010, 0x20e1, 0x9040, 0x7803, + 0x0004, 0x7003, 0x0000, 0x7004, 0x2060, 0x080c, 0x98c3, 0x20e1, + 0x9040, 0x080c, 0x8200, 0x2011, 0x0000, 0x080c, 0x8029, 0x00fe, + 0x00ee, 0x00de, 0x00ce, 0x002e, 0x0005, 0x6810, 0x6a14, 0xa205, + 0x1d00, 0x684c, 0xc0dc, 0x684e, 0x2c10, 0x080c, 0x1f7a, 0x2001, + 0x0105, 0x2003, 0x0010, 0x20e1, 0x9040, 0x7803, 0x0004, 0x7003, + 0x0000, 0x2069, 0xb6e0, 0x6833, 0x0000, 0x683f, 0x0000, 0x08f8, + 0x8840, 0x2805, 0xa005, 0x1170, 0x6004, 0xa005, 0x0168, 0x681a, + 0x2060, 0x6034, 0xa084, 0x000f, 0xa080, 0x22b6, 0x2045, 0x88ff, + 0x090c, 0x1511, 0x8a51, 0x0005, 0x2050, 0x0005, 0x8a50, 0x8841, + 0x2805, 0xa005, 0x1190, 0x2c00, 0xad06, 0x0120, 0x6000, 0xa005, + 0x1108, 0x2d00, 0x2060, 0x681a, 0x6034, 0xa084, 0x000f, 0xa080, + 0x22c6, 0x2045, 0x88ff, 0x090c, 0x1511, 0x0005, 0x0000, 0x0011, + 0x0015, 0x0019, 0x001d, 0x0021, 0x0025, 0x0029, 0x0000, 0x000f, + 0x0015, 0x001b, 0x0021, 0x0027, 0x0000, 0x0000, 0x0000, 0x22ab, + 0x22a7, 0x0000, 0x0000, 0x22b5, 0x0000, 0x22ab, 0x0000, 0x22b2, + 0x22af, 0x0000, 0x0000, 0x0000, 0x22b5, 0x22b2, 0x0000, 0x22ad, + 0x22ad, 0x0000, 0x0000, 0x22b5, 0x0000, 0x22ad, 0x0000, 0x22b3, + 0x22b3, 0x0000, 0x0000, 0x0000, 0x22b5, 0x22b3, 0x00a6, 0x0096, + 0x0086, 0x6b2e, 0x6c2a, 0x6858, 0xa055, 0x0904, 0x2367, 0x2d60, + 0x6034, 0xa0cc, 0x000f, 0xa9c0, 0x22b6, 0xa986, 0x0007, 0x0130, + 0xa986, 0x000e, 0x0118, 0xa986, 0x000f, 0x1120, 0x605c, 0xa422, + 0x6060, 0xa31a, 0x2805, 0xa045, 0x1140, 0x0310, 0x0804, 0x2367, + 0x6004, 0xa065, 0x0904, 0x2367, 0x0c18, 0x2805, 0xa005, 0x01a8, + 0xac68, 0xd99c, 0x1128, 0x6808, 0xa422, 0x680c, 0xa31b, 0x0020, + 0x6810, 0xa422, 0x6814, 0xa31b, 0x0620, 0x2300, 0xa405, 0x0150, + 0x8a51, 0x0904, 0x2367, 0x8840, 0x0c40, 0x6004, 0xa065, 0x0904, + 0x2367, 0x0830, 0x8a51, 0x0904, 0x2367, 0x8840, 0x2805, 0xa005, + 0x1158, 0x6004, 0xa065, 0x0904, 0x2367, 0x6034, 0xa0cc, 0x000f, + 0xa9c0, 0x22b6, 0x2805, 0x2040, 0x2b68, 0x6850, 0xc0fc, 0x6852, + 0x0458, 0x8422, 0x8420, 0x831a, 0xa399, 0x0000, 0x00d6, 0x2b68, + 0x6c6e, 0x6b72, 0x00de, 0xd99c, 0x1168, 0x6908, 0x2400, 0xa122, + 0x690c, 0x2300, 0xa11b, 0x0a0c, 0x1511, 0x6800, 0xa420, 0x6804, + 0xa319, 0x0060, 0x6910, 0x2400, 0xa122, 0x6914, 0x2300, 0xa11b, + 0x0a0c, 0x1511, 0x6800, 0xa420, 0x6804, 0xa319, 0x2b68, 0x6c1e, + 0x6b22, 0x6850, 0xc0fd, 0x6852, 0x2c00, 0x681a, 0x2800, 0x6832, + 0x2a00, 0x6826, 0x000e, 0x000e, 0x000e, 0xa006, 0x0028, 0x008e, + 0x009e, 0x00ae, 0xa085, 0x0001, 0x0005, 0x2001, 0x0005, 0x2004, + 0xa084, 0x0007, 0x0002, 0x237b, 0x237c, 0x237f, 0x2382, 0x2387, + 0x238a, 0x238f, 0x2394, 0x0005, 0x080c, 0x211b, 0x0005, 0x080c, + 0x1ad5, 0x0005, 0x080c, 0x1ad5, 0x080c, 0x211b, 0x0005, 0x080c, + 0x1713, 0x0005, 0x080c, 0x211b, 0x080c, 0x1713, 0x0005, 0x080c, + 0x1ad5, 0x080c, 0x1713, 0x0005, 0x080c, 0x1ad5, 0x080c, 0x211b, + 0x080c, 0x1713, 0x0005, 0x0126, 0x2091, 0x2600, 0x2079, 0x0200, + 0x2071, 0xba80, 0x2069, 0xb400, 0x080c, 0x2489, 0x080c, 0x2479, + 0x2009, 0x0004, 0x7912, 0x7817, 0x0004, 0x080c, 0x27be, 0x781b, + 0x0002, 0x20e1, 0x9080, 0x20e1, 0x4000, 0x20a9, 0x0080, 0x782f, + 0x0000, 0x1f04, 0x23b7, 0x20e1, 0x9080, 0x783b, 0x001f, 0x20e1, + 0x8700, 0x012e, 0x0005, 0x0126, 0x2091, 0x2600, 0x781c, 0xd0a4, + 0x190c, 0x2476, 0xa084, 0x0007, 0x0002, 0x23e7, 0x23d5, 0x23d8, + 0x23db, 0x23e0, 0x23e2, 0x23e4, 0x23e6, 0x080c, 0x6385, 0x0078, + 0x080c, 0x63c4, 0x0060, 0x080c, 0x6385, 0x080c, 0x63c4, 0x0038, + 0x0041, 0x0028, 0x0031, 0x0018, 0x0021, 0x0008, 0x0011, 0x012e, + 0x0005, 0x0006, 0x0016, 0x0026, 0x080c, 0xb3d3, 0x7930, 0xa184, + 0x0003, 0x0170, 0x2001, 0xb6ef, 0x2004, 0xa005, 0x0130, 0x2001, + 0x0133, 0x2004, 0xa005, 0x090c, 0x1511, 0x20e1, 0x9040, 0x04a0, + 0xa184, 0x0030, 0x01e0, 0x6a00, 0xa286, 0x0003, 0x1108, 0x00a0, + 0x080c, 0x5a90, 0x1178, 0x2001, 0xb69f, 0x2003, 0x0001, 0x2001, + 0xb400, 0x2003, 0x0001, 0xa085, 0x0001, 0x080c, 0x5ad4, 0x080c, + 0x59c8, 0x0010, 0x080c, 0x4ad9, 0x080c, 0x2479, 0x00a8, 0xa184, + 0x00c0, 0x0168, 0x00e6, 0x0036, 0x0046, 0x0056, 0x2071, 0xb723, + 0x080c, 0x1dcd, 0x005e, 0x004e, 0x003e, 0x00ee, 0x0028, 0xa184, + 0x0300, 0x0110, 0x20e1, 0x9020, 0x7932, 0x002e, 0x001e, 0x000e, + 0x0005, 0x0016, 0x00e6, 0x00f6, 0x2071, 0xb400, 0x7128, 0x2001, + 0xb691, 0x2102, 0x2001, 0xb699, 0x2102, 0xa182, 0x0211, 0x1218, + 0x2009, 0x0008, 0x0400, 0xa182, 0x0259, 0x1218, 0x2009, 0x0007, + 0x00d0, 0xa182, 0x02c1, 0x1218, 0x2009, 0x0006, 0x00a0, 0xa182, + 0x0349, 0x1218, 0x2009, 0x0005, 0x0070, 0xa182, 0x0421, 0x1218, + 0x2009, 0x0004, 0x0040, 0xa182, 0x0581, 0x1218, 0x2009, 0x0003, + 0x0010, 0x2009, 0x0002, 0x2079, 0x0200, 0x7912, 0x7817, 0x0004, + 0x080c, 0x27be, 0x00fe, 0x00ee, 0x001e, 0x0005, 0x7938, 0x080c, + 0x1511, 0x00e6, 0x0026, 0x2071, 0x0200, 0x20e1, 0x1000, 0x7220, + 0x7028, 0x7020, 0xa206, 0x0de0, 0x20e1, 0x9010, 0x002e, 0x00ee, + 0x0005, 0x20e1, 0xa000, 0x7837, 0x0001, 0x782f, 0x0000, 0x782f, + 0x0000, 0x782f, 0x0000, 0x782f, 0x0000, 0x7837, 0x0005, 0x20a9, + 0x0210, 0x7830, 0xd0bc, 0x1110, 0x1f04, 0x2499, 0x7837, 0x0001, + 0x7837, 0x0000, 0xe000, 0xe000, 0x20e1, 0xa000, 0x0005, 0x0126, + 0x2091, 0x2800, 0x2061, 0x0100, 0x2071, 0xb400, 0x6024, 0x6026, + 0x6053, 0x0030, 0x080c, 0x27fd, 0x6050, 0xa084, 0xfe7f, 0x6052, + 0x2009, 0x00ef, 0x6132, 0x6136, 0x080c, 0x280d, 0x60e7, 0x0000, + 0x61ea, 0x60e3, 0x0008, 0x604b, 0xf7f7, 0x6043, 0x0000, 0x602f, + 0x0080, 0x602f, 0x0000, 0x6007, 0x0e9f, 0x601b, 0x001e, 0x600f, + 0x00ff, 0x2001, 0xb68d, 0x2003, 0x00ff, 0x602b, 0x002f, 0x012e, + 0x0005, 0x2001, 0xb432, 0x2003, 0x0000, 0x2001, 0xb431, 0x2003, + 0x0001, 0x0005, 0x0126, 0x2091, 0x2800, 0x0006, 0x0016, 0x0026, + 0x6124, 0xa184, 0x1e2c, 0x1118, 0xa184, 0x0007, 0x002a, 0xa195, + 0x0004, 0xa284, 0x0007, 0x0002, 0x2516, 0x24fc, 0x24ff, 0x2502, + 0x2507, 0x2509, 0x250d, 0x2511, 0x080c, 0x6b39, 0x00b8, 0x080c, + 0x6c14, 0x00a0, 0x080c, 0x6c14, 0x080c, 0x6b39, 0x0078, 0x0099, + 0x0068, 0x080c, 0x6b39, 0x0079, 0x0048, 0x080c, 0x6c14, 0x0059, + 0x0028, 0x080c, 0x6c14, 0x080c, 0x6b39, 0x0029, 0x002e, 0x001e, + 0x000e, 0x012e, 0x0005, 0x6124, 0xd19c, 0x1904, 0x272c, 0x080c, + 0x5a90, 0x0578, 0x7000, 0xa086, 0x0003, 0x0198, 0x6024, 0xa084, + 0x1800, 0x0178, 0x080c, 0x5ab6, 0x0118, 0x080c, 0x5aa2, 0x1148, + 0x6027, 0x0020, 0x6043, 0x0000, 0x2001, 0xb69e, 0x2003, 0xaaaa, + 0x0458, 0x080c, 0x5ab6, 0x15d0, 0x6024, 0xa084, 0x1800, 0x1108, + 0x04a8, 0x2001, 0xb69e, 0x2003, 0xaaaa, 0x2001, 0xb69f, 0x2003, + 0x0001, 0x2001, 0xb400, 0x2003, 0x0001, 0x080c, 0x59c8, 0x0804, + 0x272c, 0xd1ac, 0x1518, 0x6024, 0xd0dc, 0x1170, 0xd0e4, 0x1188, + 0xd0d4, 0x11a0, 0xd0cc, 0x0130, 0x708c, 0xa086, 0x0028, 0x1110, + 0x080c, 0x5c1f, 0x0804, 0x272c, 0x2001, 0xb69f, 0x2003, 0x0000, + 0x0048, 0x2001, 0xb69f, 0x2003, 0x0002, 0x0020, 0x080c, 0x5b92, + 0x0804, 0x272c, 0x080c, 0x5cc4, 0x0804, 0x272c, 0xd1ac, 0x0904, + 0x2674, 0x080c, 0x5a90, 0x11d8, 0x6027, 0x0020, 0x0006, 0x0026, + 0x0036, 0x080c, 0x5aac, 0x1170, 0x2001, 0xb69f, 0x2003, 0x0001, + 0x2001, 0xb400, 0x2003, 0x0001, 0x080c, 0x59c8, 0x003e, 0x002e, + 0x000e, 0x0005, 0x003e, 0x002e, 0x000e, 0x080c, 0x5a67, 0x0016, + 0x0046, 0x00c6, 0x644c, 0xa486, 0xf0f0, 0x1138, 0x2061, 0x0100, + 0x644a, 0x6043, 0x0090, 0x6043, 0x0010, 0x74ce, 0xa48c, 0xff00, + 0x7034, 0xd084, 0x0178, 0xa186, 0xf800, 0x1160, 0x703c, 0xd084, + 0x1148, 0xc085, 0x703e, 0x0036, 0x2418, 0x2011, 0x8016, 0x080c, + 0x3e8a, 0x003e, 0xa196, 0xff00, 0x05b8, 0x7054, 0xa084, 0x00ff, + 0x810f, 0xa116, 0x0588, 0x7130, 0xd184, 0x1570, 0x2011, 0xb453, + 0x2214, 0xd2ec, 0x0138, 0xc18d, 0x7132, 0x2011, 0xb453, 0x2214, + 0xd2ac, 0x1510, 0x6240, 0xa294, 0x0010, 0x0130, 0x6248, 0xa294, + 0xff00, 0xa296, 0xff00, 0x01c0, 0x7030, 0xd08c, 0x0904, 0x2641, + 0x7034, 0xd08c, 0x1140, 0x2001, 0xb40c, 0x200c, 0xd1ac, 0x1904, + 0x2641, 0xc1ad, 0x2102, 0x0036, 0x73cc, 0x2011, 0x8013, 0x080c, + 0x3e8a, 0x003e, 0x0804, 0x2641, 0x7034, 0xd08c, 0x1140, 0x2001, + 0xb40c, 0x200c, 0xd1ac, 0x1904, 0x2641, 0xc1ad, 0x2102, 0x0036, + 0x73cc, 0x2011, 0x8013, 0x080c, 0x3e8a, 0x003e, 0x7130, 0xc185, + 0x7132, 0x2011, 0xb453, 0x220c, 0xd1a4, 0x01d0, 0x0016, 0x2009, + 0x0001, 0x2011, 0x0100, 0x080c, 0x6adf, 0x2019, 0x000e, 0x080c, + 0xafe8, 0xa484, 0x00ff, 0xa080, 0x2d88, 0x200d, 0xa18c, 0xff00, + 0x810f, 0x8127, 0xa006, 0x2009, 0x000e, 0x080c, 0xb06b, 0x001e, + 0xd1ac, 0x1148, 0x0016, 0x2009, 0x0000, 0x2019, 0x0004, 0x080c, + 0x2c33, 0x001e, 0x0070, 0x0156, 0x20a9, 0x007f, 0x2009, 0x0000, + 0x080c, 0x4f6a, 0x1110, 0x080c, 0x4bc5, 0x8108, 0x1f04, 0x2638, + 0x015e, 0x00ce, 0x004e, 0x2011, 0x0003, 0x080c, 0x801f, 0x2011, + 0x0002, 0x080c, 0x8029, 0x080c, 0x7f03, 0x0036, 0x2019, 0x0000, + 0x080c, 0x7f8e, 0x003e, 0x60e3, 0x0000, 0x001e, 0x2001, 0xb400, + 0x2014, 0xa296, 0x0004, 0x1128, 0xd19c, 0x11b0, 0x6228, 0xc29d, + 0x622a, 0x2003, 0x0001, 0x2001, 0xb423, 0x2003, 0x0000, 0x6027, + 0x0020, 0x080c, 0x5ab6, 0x1140, 0x0016, 0x2009, 0x07d0, 0x2011, + 0x59a5, 0x080c, 0x69e7, 0x001e, 0xd194, 0x0904, 0x272c, 0x0016, + 0x6220, 0xd2b4, 0x0904, 0x26dd, 0x080c, 0x69d5, 0x080c, 0x7d24, + 0x6027, 0x0004, 0x00f6, 0x2019, 0xb6e9, 0x2304, 0xa07d, 0x0570, + 0x7804, 0xa086, 0x0032, 0x1550, 0x00d6, 0x00c6, 0x00e6, 0x2069, + 0x0140, 0x618c, 0x6288, 0x7818, 0x608e, 0x7808, 0x608a, 0x6043, + 0x0002, 0x2001, 0x0003, 0x8001, 0x1df0, 0x6043, 0x0000, 0x6803, + 0x1000, 0x6803, 0x0000, 0x618e, 0x628a, 0x080c, 0x7055, 0x080c, + 0x7134, 0x7810, 0x2070, 0x7037, 0x0103, 0x2f60, 0x080c, 0x85c0, + 0x00ee, 0x00ce, 0x00de, 0x00fe, 0x001e, 0x0005, 0x00fe, 0x00d6, + 0x2069, 0x0140, 0x6804, 0xa084, 0x4000, 0x0120, 0x6803, 0x1000, + 0x6803, 0x0000, 0x00de, 0x00c6, 0x2061, 0xb6e0, 0x6028, 0xa09a, + 0x00c8, 0x1238, 0x8000, 0x602a, 0x00ce, 0x080c, 0x7d17, 0x0804, + 0x272b, 0x2019, 0xb6e9, 0x2304, 0xa065, 0x0120, 0x2009, 0x0027, + 0x080c, 0x85ef, 0x00ce, 0x0804, 0x272b, 0xd2bc, 0x0904, 0x272b, + 0x080c, 0x69e2, 0x6014, 0xa084, 0x0184, 0xa085, 0x0010, 0x6016, + 0x6027, 0x0004, 0x00d6, 0x2069, 0x0140, 0x6804, 0xa084, 0x4000, + 0x0120, 0x6803, 0x1000, 0x6803, 0x0000, 0x00de, 0x00c6, 0x2061, + 0xb6e0, 0x6044, 0xa09a, 0x00c8, 0x12f0, 0x8000, 0x6046, 0x603c, + 0x00ce, 0xa005, 0x0540, 0x2009, 0x07d0, 0x080c, 0x69da, 0xa080, + 0x0007, 0x2004, 0xa086, 0x0006, 0x1138, 0x6114, 0xa18c, 0x0184, + 0xa18d, 0x0012, 0x6116, 0x00b8, 0x6114, 0xa18c, 0x0184, 0xa18d, + 0x0016, 0x6116, 0x0080, 0x0036, 0x2019, 0x0001, 0x080c, 0x7f8e, + 0x003e, 0x2019, 0xb6ef, 0x2304, 0xa065, 0x0120, 0x2009, 0x004f, + 0x080c, 0x85ef, 0x00ce, 0x001e, 0xd19c, 0x0904, 0x2785, 0x7034, + 0xd0ac, 0x1560, 0x0016, 0x0156, 0x6027, 0x0008, 0x602f, 0x0020, + 0x20a9, 0x0006, 0x1d04, 0x273a, 0x2091, 0x6000, 0x1f04, 0x273a, + 0x602f, 0x0000, 0x6150, 0xa185, 0x1400, 0x6052, 0x20a9, 0x0366, + 0x1d04, 0x2748, 0x2091, 0x6000, 0x6020, 0xd09c, 0x1130, 0x015e, + 0x6152, 0x001e, 0x6027, 0x0008, 0x0480, 0x080c, 0x28cd, 0x1f04, + 0x2748, 0x015e, 0x6152, 0x001e, 0x6027, 0x0008, 0x0016, 0x6028, + 0xc09c, 0x602a, 0x2011, 0x0003, 0x080c, 0x801f, 0x2011, 0x0002, + 0x080c, 0x8029, 0x080c, 0x7f03, 0x0036, 0x2019, 0x0000, 0x080c, + 0x7f8e, 0x003e, 0x60e3, 0x0000, 0x080c, 0xb3b2, 0x080c, 0xb3cd, + 0xa085, 0x0001, 0x080c, 0x5ad4, 0x2001, 0xb400, 0x2003, 0x0004, + 0x6027, 0x0008, 0x080c, 0x12d9, 0x001e, 0xa18c, 0xffd0, 0x6126, + 0x0005, 0x0006, 0x0016, 0x0026, 0x00e6, 0x00f6, 0x0126, 0x2091, + 0x8000, 0x2071, 0xb400, 0x71c4, 0x70c6, 0xa116, 0x0500, 0x81ff, + 0x0128, 0x2011, 0x8011, 0x080c, 0x3e8a, 0x00c8, 0x2011, 0x8012, + 0x080c, 0x3e8a, 0x2001, 0xb472, 0x2004, 0xd0fc, 0x1180, 0x0036, + 0x00c6, 0x080c, 0x2858, 0x080c, 0x7edf, 0x2061, 0x0100, 0x2019, + 0x0028, 0x2009, 0x0000, 0x080c, 0x2c33, 0x00ce, 0x003e, 0x012e, + 0x00fe, 0x00ee, 0x002e, 0x001e, 0x000e, 0x0005, 0x00c6, 0x00f6, + 0x0006, 0x0026, 0x2061, 0x0100, 0xa190, 0x27d1, 0x2205, 0x60f2, + 0x2011, 0x27de, 0x2205, 0x60ee, 0x002e, 0x000e, 0x00fe, 0x00ce, + 0x0005, 0x0840, 0x0840, 0x0840, 0x0580, 0x0420, 0x0348, 0x02c0, + 0x0258, 0x0210, 0x01a8, 0x01a8, 0x01a8, 0x01a8, 0x0140, 0x00f8, + 0x00d0, 0x00b0, 0x00a0, 0x2028, 0xa18c, 0x00ff, 0x2130, 0xa094, + 0xff00, 0x1110, 0x81ff, 0x0118, 0x080c, 0x6672, 0x0038, 0xa080, + 0x2d88, 0x200d, 0xa18c, 0xff00, 0x810f, 0xa006, 0x0005, 0xa080, + 0x2d88, 0x200d, 0xa18c, 0x00ff, 0x0005, 0x00d6, 0x2069, 0x0140, + 0x2001, 0xb415, 0x2003, 0x00ef, 0x20a9, 0x0010, 0xa006, 0x6852, + 0x6856, 0x1f04, 0x2808, 0x00de, 0x0005, 0x0006, 0x00d6, 0x0026, + 0x2069, 0x0140, 0x2001, 0xb415, 0x2102, 0x8114, 0x8214, 0x8214, + 0x8214, 0x20a9, 0x0010, 0x6853, 0x0000, 0xa006, 0x82ff, 0x1128, + 0xa184, 0x000f, 0xa080, 0xb3e1, 0x2005, 0x6856, 0x8211, 0x1f04, + 0x281d, 0x002e, 0x00de, 0x000e, 0x0005, 0x00c6, 0x2061, 0xb400, + 0x6030, 0x0110, 0xc09d, 0x0008, 0xc09c, 0x6032, 0x00ce, 0x0005, + 0x0156, 0x00d6, 0x0026, 0x0016, 0x0006, 0x2069, 0x0140, 0x6980, + 0xa116, 0x0180, 0xa112, 0x1230, 0x8212, 0x8210, 0x22a8, 0x2001, + 0x0402, 0x0018, 0x22a8, 0x2001, 0x0404, 0x680e, 0x1f04, 0x284d, + 0x680f, 0x0000, 0x000e, 0x001e, 0x002e, 0x00de, 0x015e, 0x0005, + 0x2001, 0xb453, 0x2004, 0xd0c4, 0x0150, 0xd0a4, 0x0140, 0xa006, + 0x0046, 0x2020, 0x2009, 0x002e, 0x080c, 0xb06b, 0x004e, 0x0005, + 0x00f6, 0x0016, 0x0026, 0x2079, 0x0140, 0x78c4, 0xd0dc, 0x0548, + 0xa084, 0x0700, 0xa08e, 0x0300, 0x1520, 0x2011, 0x0000, 0x2009, + 0x0002, 0x2300, 0xa080, 0x0020, 0x2018, 0x2300, 0x080c, 0x6b05, + 0x2011, 0x0030, 0x2200, 0x8007, 0xa085, 0x004c, 0x78c2, 0x2009, + 0x0204, 0x210c, 0x2200, 0xa100, 0x2009, 0x0138, 0x200a, 0x080c, + 0x5a90, 0x1118, 0x2009, 0xb68f, 0x200a, 0x002e, 0x001e, 0x00fe, + 0x0005, 0x78c3, 0x0000, 0x0cc8, 0x0126, 0x2091, 0x2800, 0x0006, + 0x0016, 0x0026, 0x2001, 0x0170, 0x200c, 0x8000, 0x2014, 0xa184, + 0x0003, 0x0110, 0x0804, 0x1ad3, 0x002e, 0x001e, 0x000e, 0x012e, + 0x0005, 0x0006, 0x2001, 0x0100, 0x2004, 0xa082, 0x0005, 0x000e, + 0x0268, 0x2001, 0x0170, 0x200c, 0xa18c, 0x00ff, 0xa18e, 0x004c, + 0x1128, 0x200c, 0xa18c, 0xff00, 0x810f, 0x0010, 0x2009, 0x0000, + 0x2001, 0x0204, 0x2004, 0xa108, 0x0005, 0x0006, 0x0156, 0x00f6, + 0x2079, 0x0100, 0x20a9, 0x000a, 0x7854, 0xd08c, 0x1110, 0x1f04, + 0x28d4, 0x00fe, 0x015e, 0x000e, 0x0005, 0x0016, 0x00c6, 0x0006, + 0x2061, 0x0100, 0x6030, 0x0006, 0x6048, 0x0006, 0x60e4, 0x0006, + 0x60e8, 0x0006, 0x6050, 0x0006, 0x60f0, 0x0006, 0x60ec, 0x0006, + 0x600c, 0x0006, 0x6004, 0x0006, 0x6028, 0x0006, 0x60e0, 0x0006, + 0x602f, 0x0100, 0x602f, 0x0000, 0xe000, 0xe000, 0xe000, 0xe000, + 0x602f, 0x0040, 0x602f, 0x0000, 0x000e, 0x60e2, 0x000e, 0x602a, + 0x000e, 0x6006, 0x000e, 0x600e, 0x000e, 0x60ee, 0x000e, 0x60f2, + 0x000e, 0x6052, 0x000e, 0x60ea, 0x000e, 0x60e6, 0x000e, 0x604a, + 0x000e, 0x6032, 0x6036, 0x2008, 0x080c, 0x280d, 0x000e, 0x00ce, + 0x001e, 0x0005, 0x2009, 0x0171, 0x2104, 0xd0dc, 0x0140, 0x2009, + 0x0170, 0x2104, 0x200b, 0x0080, 0xe000, 0xe000, 0x200a, 0x0005, + 0x29c0, 0x29c4, 0x29c8, 0x29ce, 0x29d4, 0x29da, 0x29e0, 0x29e8, + 0x29f0, 0x29f6, 0x29fc, 0x2a04, 0x2a0c, 0x2a14, 0x2a1c, 0x2a26, + 0x2a73, 0x2a73, 0x2a73, 0x2a73, 0x2a73, 0x2a73, 0x2a73, 0x2a73, + 0x2a73, 0x2a73, 0x2a73, 0x2a73, 0x2a73, 0x2a73, 0x2a73, 0x2a73, + 0x2a30, 0x2a30, 0x2a30, 0x2a30, 0x2a30, 0x2a30, 0x2a30, 0x2a30, + 0x2a30, 0x2a30, 0x2a30, 0x2a30, 0x2a30, 0x2a30, 0x2a30, 0x2a30, + 0x2a73, 0x2a73, 0x2a73, 0x2a73, 0x2a73, 0x2a73, 0x2a73, 0x2a73, + 0x2a73, 0x2a73, 0x2a73, 0x2a73, 0x2a73, 0x2a73, 0x2a73, 0x2a73, + 0x2a32, 0x2a32, 0x2a38, 0x2a38, 0x2a3f, 0x2a3f, 0x2a46, 0x2a46, + 0x2a4f, 0x2a4f, 0x2a56, 0x2a56, 0x2a5f, 0x2a5f, 0x2a68, 0x2a68, + 0x2a73, 0x2a73, 0x2a73, 0x2a73, 0x2a73, 0x2a73, 0x2a73, 0x2a73, + 0x2a73, 0x2a73, 0x2a73, 0x2a73, 0x2a73, 0x2a73, 0x2a73, 0x2a73, + 0x2a30, 0x2a30, 0x2a30, 0x2a30, 0x2a30, 0x2a30, 0x2a30, 0x2a30, + 0x2a30, 0x2a30, 0x2a30, 0x2a30, 0x2a30, 0x2a30, 0x2a30, 0x2a30, + 0x2a73, 0x2a73, 0x2a73, 0x2a73, 0x2a73, 0x2a73, 0x2a73, 0x2a73, + 0x2a73, 0x2a73, 0x2a73, 0x2a73, 0x2a73, 0x2a73, 0x2a73, 0x2a73, + 0x2a30, 0x2a30, 0x2a30, 0x2a30, 0x2a30, 0x2a30, 0x2a30, 0x2a30, + 0x2a30, 0x2a30, 0x2a30, 0x2a30, 0x2a30, 0x2a30, 0x2a30, 0x2a30, + 0x0106, 0x0006, 0x0804, 0x2a7b, 0x0106, 0x0006, 0x0804, 0x2a7b, + 0x0106, 0x0006, 0x080c, 0x24e2, 0x0804, 0x2a7b, 0x0106, 0x0006, + 0x080c, 0x24e2, 0x0804, 0x2a7b, 0x0106, 0x0006, 0x080c, 0x236d, + 0x0804, 0x2a7b, 0x0106, 0x0006, 0x080c, 0x236d, 0x0804, 0x2a7b, + 0x0106, 0x0006, 0x080c, 0x24e2, 0x080c, 0x236d, 0x0804, 0x2a7b, + 0x0106, 0x0006, 0x080c, 0x24e2, 0x080c, 0x236d, 0x0804, 0x2a7b, + 0x0106, 0x0006, 0x080c, 0x23c3, 0x0804, 0x2a7b, 0x0106, 0x0006, + 0x080c, 0x23c3, 0x0804, 0x2a7b, 0x0106, 0x0006, 0x080c, 0x24e2, + 0x080c, 0x23c3, 0x0804, 0x2a7b, 0x0106, 0x0006, 0x080c, 0x24e2, + 0x080c, 0x23c3, 0x0804, 0x2a7b, 0x0106, 0x0006, 0x080c, 0x236d, + 0x080c, 0x23c3, 0x0804, 0x2a7b, 0x0106, 0x0006, 0x080c, 0x236d, + 0x080c, 0x23c3, 0x0804, 0x2a7b, 0x0106, 0x0006, 0x080c, 0x24e2, + 0x080c, 0x236d, 0x080c, 0x23c3, 0x0804, 0x2a7b, 0x0106, 0x0006, + 0x080c, 0x24e2, 0x080c, 0x236d, 0x080c, 0x23c3, 0x0804, 0x2a7b, + 0xe000, 0x0cf0, 0x0106, 0x0006, 0x080c, 0x289c, 0x0804, 0x2a7b, + 0x0106, 0x0006, 0x080c, 0x289c, 0x080c, 0x24e2, 0x04e0, 0x0106, + 0x0006, 0x080c, 0x289c, 0x080c, 0x236d, 0x04a8, 0x0106, 0x0006, + 0x080c, 0x289c, 0x080c, 0x24e2, 0x080c, 0x236d, 0x0460, 0x0106, + 0x0006, 0x080c, 0x289c, 0x080c, 0x23c3, 0x0428, 0x0106, 0x0006, + 0x080c, 0x289c, 0x080c, 0x24e2, 0x080c, 0x23c3, 0x00e0, 0x0106, + 0x0006, 0x080c, 0x289c, 0x080c, 0x236d, 0x080c, 0x23c3, 0x0098, + 0x0106, 0x0006, 0x080c, 0x289c, 0x080c, 0x24e2, 0x080c, 0x236d, + 0x080c, 0x23c3, 0x0040, 0x20d1, 0x0000, 0x20d1, 0x0001, 0x20d1, + 0x0000, 0x080c, 0x1511, 0x000e, 0x010e, 0x000d, 0x00c6, 0x0026, + 0x0046, 0x2021, 0x0000, 0x080c, 0x52ca, 0x1904, 0x2b5b, 0x72d4, + 0x2001, 0xb69e, 0x2004, 0xa005, 0x1110, 0xd29c, 0x0148, 0xd284, + 0x1138, 0xd2bc, 0x1904, 0x2b5b, 0x080c, 0x2b5f, 0x0804, 0x2b5b, + 0xd2cc, 0x1904, 0x2b5b, 0x080c, 0x5a90, 0x1120, 0x709f, 0xffff, + 0x0804, 0x2b5b, 0xd294, 0x0120, 0x709f, 0xffff, 0x0804, 0x2b5b, + 0x2001, 0xb415, 0x203c, 0x7288, 0xd284, 0x0904, 0x2afd, 0xd28c, + 0x1904, 0x2afd, 0x0036, 0x739c, 0xa38e, 0xffff, 0x1110, 0x2019, + 0x0001, 0x8314, 0xa2e0, 0xbbc0, 0x2c04, 0xa38c, 0x0001, 0x0120, + 0xa084, 0xff00, 0x8007, 0x0010, 0xa084, 0x00ff, 0xa70e, 0x0560, + 0xa08e, 0x0000, 0x0548, 0xa08e, 0x00ff, 0x1150, 0x7230, 0xd284, + 0x1538, 0x7288, 0xc28d, 0x728a, 0x709f, 0xffff, 0x003e, 0x0428, + 0x2009, 0x0000, 0x080c, 0x27e3, 0x080c, 0x4f0e, 0x11b8, 0x6004, + 0xa084, 0x00ff, 0xa086, 0x0006, 0x1150, 0x7030, 0xd08c, 0x0118, + 0x6000, 0xd0bc, 0x0120, 0x080c, 0x2b72, 0x0140, 0x0028, 0x080c, + 0x2ca1, 0x080c, 0x2ba0, 0x0110, 0x8318, 0x0818, 0x739e, 0x0010, + 0x709f, 0xffff, 0x003e, 0x0804, 0x2b5b, 0xa780, 0x2d88, 0x203d, + 0xa7bc, 0xff00, 0x873f, 0x2041, 0x007e, 0x709c, 0xa096, 0xffff, + 0x1120, 0x2009, 0x0000, 0x28a8, 0x0050, 0xa812, 0x0220, 0x2008, + 0xa802, 0x20a8, 0x0020, 0x709f, 0xffff, 0x0804, 0x2b5b, 0x2700, + 0x0156, 0x0016, 0xa106, 0x05a0, 0xc484, 0x080c, 0x4f6a, 0x0120, + 0x080c, 0x4f0e, 0x15a8, 0x0008, 0xc485, 0x6004, 0xa084, 0x00ff, + 0xa086, 0x0006, 0x1130, 0x7030, 0xd08c, 0x01e8, 0x6000, 0xd0bc, + 0x11d0, 0x7288, 0xd28c, 0x0188, 0x6004, 0xa084, 0x00ff, 0xa082, + 0x0006, 0x02b0, 0xd484, 0x1118, 0x080c, 0x4f2d, 0x0028, 0x080c, + 0x2d2e, 0x0170, 0x080c, 0x2d5b, 0x0058, 0x080c, 0x2ca1, 0x080c, + 0x2ba0, 0x0170, 0x0028, 0x080c, 0x2d2e, 0x0110, 0x0419, 0x0140, + 0x001e, 0x8108, 0x015e, 0x1f04, 0x2b17, 0x709f, 0xffff, 0x0018, + 0x001e, 0x015e, 0x719e, 0x004e, 0x002e, 0x00ce, 0x0005, 0x00c6, + 0x0016, 0x709f, 0x0001, 0x2009, 0x007e, 0x080c, 0x4f0e, 0x1138, + 0x080c, 0x2ca1, 0x04a9, 0x0118, 0x70d4, 0xc0bd, 0x70d6, 0x001e, + 0x00ce, 0x0005, 0x0016, 0x0076, 0x00d6, 0x00c6, 0x2c68, 0x2001, + 0xb457, 0x2004, 0xa084, 0x00ff, 0x6842, 0x080c, 0x9e67, 0x01d8, + 0x2d00, 0x601a, 0x080c, 0x9fb8, 0x601f, 0x0001, 0x2001, 0x0000, + 0x080c, 0x4eac, 0x2001, 0x0000, 0x080c, 0x4ebe, 0x0126, 0x2091, + 0x8000, 0x7098, 0x8000, 0x709a, 0x012e, 0x2009, 0x0004, 0x080c, + 0x85ef, 0xa085, 0x0001, 0x00ce, 0x00de, 0x007e, 0x001e, 0x0005, + 0x0016, 0x0076, 0x00d6, 0x00c6, 0x2c68, 0x2001, 0xb457, 0x2004, + 0xa084, 0x00ff, 0x6842, 0x080c, 0x9e67, 0x0550, 0x2d00, 0x601a, + 0x6800, 0xc0c4, 0x6802, 0x68a0, 0xa086, 0x007e, 0x0140, 0x6804, + 0xa084, 0x00ff, 0xa086, 0x0006, 0x1110, 0x080c, 0x2c60, 0x080c, + 0x9fb8, 0x601f, 0x0001, 0x2001, 0x0000, 0x080c, 0x4eac, 0x2001, + 0x0002, 0x080c, 0x4ebe, 0x0126, 0x2091, 0x8000, 0x7098, 0x8000, + 0x709a, 0x012e, 0x2009, 0x0002, 0x080c, 0x85ef, 0xa085, 0x0001, + 0x00ce, 0x00de, 0x007e, 0x001e, 0x0005, 0x00c6, 0x0026, 0x2009, + 0x0080, 0x080c, 0x4f0e, 0x1120, 0x0031, 0x0110, 0x70db, 0xffff, + 0x002e, 0x00ce, 0x0005, 0x0016, 0x0076, 0x00d6, 0x00c6, 0x2c68, + 0x080c, 0x856a, 0x01d8, 0x2d00, 0x601a, 0x080c, 0x9fb8, 0x601f, + 0x0001, 0x2001, 0x0000, 0x080c, 0x4eac, 0x2001, 0x0002, 0x080c, + 0x4ebe, 0x0126, 0x2091, 0x8000, 0x70dc, 0x8000, 0x70de, 0x012e, + 0x2009, 0x0002, 0x080c, 0x85ef, 0xa085, 0x0001, 0x00ce, 0x00de, + 0x007e, 0x001e, 0x0005, 0x00c6, 0x00d6, 0x0126, 0x2091, 0x8000, + 0x2009, 0x007f, 0x080c, 0x4f0e, 0x1190, 0x2c68, 0x080c, 0x856a, + 0x0170, 0x2d00, 0x601a, 0x6312, 0x601f, 0x0001, 0x620a, 0x080c, + 0x9fb8, 0x2009, 0x0022, 0x080c, 0x85ef, 0xa085, 0x0001, 0x012e, + 0x00de, 0x00ce, 0x0005, 0x00e6, 0x00c6, 0x0066, 0x0036, 0x0026, + 0x080c, 0x6dc6, 0x080c, 0x6d69, 0x080c, 0x900f, 0x2130, 0x81ff, + 0x0128, 0x20a9, 0x007e, 0x2009, 0x0000, 0x0020, 0x20a9, 0x007f, + 0x2009, 0x0000, 0x0016, 0x080c, 0x4f6a, 0x1120, 0x080c, 0x516b, + 0x080c, 0x4bc5, 0x001e, 0x8108, 0x1f04, 0x2c4a, 0x86ff, 0x1110, + 0x080c, 0x11f0, 0x002e, 0x003e, 0x006e, 0x00ce, 0x00ee, 0x0005, + 0x00e6, 0x00c6, 0x0036, 0x0026, 0x0016, 0x6218, 0x2270, 0x72a0, + 0x0026, 0x2019, 0x0029, 0x080c, 0x6dba, 0x0076, 0x2039, 0x0000, + 0x080c, 0x6cc7, 0x2c08, 0x080c, 0xae05, 0x007e, 0x001e, 0x2e60, + 0x080c, 0x516b, 0x6210, 0x6314, 0x080c, 0x4bc5, 0x6212, 0x6316, + 0x001e, 0x002e, 0x003e, 0x00ce, 0x00ee, 0x0005, 0x00e6, 0x0006, + 0x6018, 0xa080, 0x0028, 0x2004, 0xa086, 0x0080, 0x0150, 0x2071, + 0xb400, 0x7098, 0xa005, 0x0110, 0x8001, 0x709a, 0x000e, 0x00ee, + 0x0005, 0x2071, 0xb400, 0x70dc, 0xa005, 0x0dc0, 0x8001, 0x70de, + 0x0ca8, 0x6000, 0xc08c, 0x6002, 0x0005, 0x00f6, 0x00e6, 0x00c6, + 0x0036, 0x0026, 0x0016, 0x0156, 0x2178, 0x81ff, 0x1118, 0x20a9, + 0x0001, 0x0098, 0x2001, 0xb453, 0x2004, 0xd0c4, 0x0150, 0xd0a4, + 0x0140, 0xa006, 0x0046, 0x2020, 0x2009, 0x002d, 0x080c, 0xb06b, + 0x004e, 0x20a9, 0x00ff, 0x2011, 0x0000, 0x0026, 0xa28e, 0x007e, + 0x0904, 0x2d0d, 0xa28e, 0x007f, 0x0904, 0x2d0d, 0xa28e, 0x0080, + 0x05e0, 0xa288, 0xb535, 0x210c, 0x81ff, 0x05b8, 0x8fff, 0x1148, + 0x2001, 0xb6be, 0x0006, 0x2003, 0x0001, 0x04d9, 0x000e, 0x2003, + 0x0000, 0x00c6, 0x2160, 0x2001, 0x0001, 0x080c, 0x52d4, 0x00ce, + 0x2019, 0x0029, 0x080c, 0x6dba, 0x0076, 0x2039, 0x0000, 0x080c, + 0x6cc7, 0x00c6, 0x0026, 0x2160, 0x6204, 0xa294, 0x00ff, 0xa286, + 0x0006, 0x1118, 0x6007, 0x0404, 0x0028, 0x2001, 0x0004, 0x8007, + 0xa215, 0x6206, 0x002e, 0x00ce, 0x0016, 0x2c08, 0x080c, 0xae05, + 0x001e, 0x007e, 0x2160, 0x080c, 0x516b, 0x002e, 0x8210, 0x1f04, + 0x2cc5, 0x015e, 0x001e, 0x002e, 0x003e, 0x00ce, 0x00ee, 0x00fe, + 0x0005, 0x0046, 0x0026, 0x0016, 0x2001, 0xb453, 0x2004, 0xd0c4, + 0x0148, 0xd0a4, 0x0138, 0xa006, 0x2220, 0x8427, 0x2009, 0x0029, + 0x080c, 0xb06b, 0x001e, 0x002e, 0x004e, 0x0005, 0x0016, 0x0026, + 0x0036, 0x00c6, 0x7288, 0x82ff, 0x01f8, 0x2011, 0xb453, 0x2214, + 0xd2ac, 0x11d0, 0x2100, 0x080c, 0x27f7, 0x81ff, 0x01b8, 0x2019, + 0x0001, 0x8314, 0xa2e0, 0xbbc0, 0x2c04, 0xd384, 0x0120, 0xa084, + 0xff00, 0x8007, 0x0010, 0xa084, 0x00ff, 0xa116, 0x0138, 0xa096, + 0x00ff, 0x0110, 0x8318, 0x0c68, 0xa085, 0x0001, 0x00ce, 0x003e, + 0x002e, 0x001e, 0x0005, 0x0016, 0x00c6, 0x0126, 0x2091, 0x8000, + 0x0016, 0x0026, 0x0036, 0x2110, 0x0026, 0x2019, 0x0029, 0x080c, + 0x823c, 0x002e, 0x080c, 0xb310, 0x003e, 0x002e, 0x001e, 0xa180, + 0xb535, 0x2004, 0xa065, 0x0158, 0x0016, 0x00c6, 0x2061, 0xb7f4, + 0x001e, 0x611a, 0x080c, 0x2c60, 0x001e, 0x080c, 0x4f2d, 0x012e, + 0x00ce, 0x001e, 0x0005, 0x2001, 0xb435, 0x2004, 0xd0cc, 0x0005, + 0x7eef, 0x7de8, 0x7ce4, 0x80e2, 0x7be1, 0x80e0, 0x80dc, 0x80da, + 0x7ad9, 0x80d6, 0x80d5, 0x80d4, 0x80d3, 0x80d2, 0x80d1, 0x79ce, + 0x78cd, 0x80cc, 0x80cb, 0x80ca, 0x80c9, 0x80c7, 0x80c6, 0x77c5, + 0x76c3, 0x80bc, 0x80ba, 0x75b9, 0x80b6, 0x74b5, 0x73b4, 0x72b3, + 0x80b2, 0x80b1, 0x80ae, 0x71ad, 0x80ac, 0x70ab, 0x6faa, 0x6ea9, + 0x80a7, 0x6da6, 0x6ca5, 0x6ba3, 0x6a9f, 0x699e, 0x689d, 0x809b, + 0x8098, 0x6797, 0x6690, 0x658f, 0x6488, 0x6384, 0x6282, 0x8081, + 0x8080, 0x617c, 0x607a, 0x8079, 0x5f76, 0x8075, 0x8074, 0x8073, + 0x8072, 0x8071, 0x806e, 0x5e6d, 0x806c, 0x5d6b, 0x5c6a, 0x5b69, + 0x8067, 0x5a66, 0x5965, 0x5863, 0x575c, 0x565a, 0x5559, 0x8056, + 0x8055, 0x5454, 0x5353, 0x5252, 0x5151, 0x504e, 0x4f4d, 0x804c, + 0x804b, 0x4e4a, 0x4d49, 0x8047, 0x4c46, 0x8045, 0x8043, 0x803c, + 0x803a, 0x8039, 0x8036, 0x4b35, 0x8034, 0x4a33, 0x4932, 0x4831, + 0x802e, 0x472d, 0x462c, 0x452b, 0x442a, 0x4329, 0x4227, 0x8026, + 0x8025, 0x4123, 0x401f, 0x3f1e, 0x3e1d, 0x3d1b, 0x3c18, 0x8017, + 0x8010, 0x3b0f, 0x3a08, 0x8004, 0x3902, 0x8001, 0x8000, 0x8000, + 0x3800, 0x3700, 0x3600, 0x8000, 0x3500, 0x8000, 0x8000, 0x8000, + 0x3400, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x3300, + 0x3200, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x3100, + 0x3000, 0x8000, 0x8000, 0x2f00, 0x8000, 0x2e00, 0x2d00, 0x2c00, + 0x8000, 0x8000, 0x8000, 0x2b00, 0x8000, 0x2a00, 0x2900, 0x2800, + 0x8000, 0x2700, 0x2600, 0x2500, 0x2400, 0x2300, 0x2200, 0x8000, + 0x8000, 0x2100, 0x2000, 0x1f00, 0x1e00, 0x1d00, 0x1c00, 0x8000, + 0x8000, 0x1b00, 0x1a00, 0x8000, 0x1900, 0x8000, 0x8000, 0x8000, + 0x8000, 0x8000, 0x8000, 0x1800, 0x8000, 0x1700, 0x1600, 0x1500, + 0x8000, 0x1400, 0x1300, 0x1200, 0x1100, 0x1000, 0x0f00, 0x8000, + 0x8000, 0x0e00, 0x0d00, 0x0c00, 0x0b00, 0x0a00, 0x0900, 0x8000, + 0x8000, 0x0800, 0x0700, 0x8000, 0x0600, 0x8000, 0x8000, 0x8000, + 0x0500, 0x0400, 0x0300, 0x8000, 0x0200, 0x8000, 0x8000, 0x8000, + 0x0100, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x0000, + 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, + 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, + 0x2071, 0xb482, 0x7003, 0x0002, 0xa006, 0x7012, 0x7016, 0x703a, + 0x703e, 0x7033, 0xb492, 0x7037, 0xb492, 0x7007, 0x0001, 0x2061, + 0xb4d2, 0x6003, 0x0002, 0x0005, 0x1004, 0x2eae, 0x0e04, 0x2eae, + 0x2071, 0xb482, 0x2b78, 0x7818, 0xd084, 0x1140, 0x2a60, 0x7820, + 0xa08e, 0x0069, 0x1904, 0x2f93, 0x0804, 0x2f2c, 0x0005, 0x2071, + 0xb482, 0x7004, 0x0002, 0x2eb7, 0x2eb8, 0x2ec1, 0x2ed2, 0x0005, + 0x1004, 0x2ec0, 0x0e04, 0x2ec0, 0x2b78, 0x7818, 0xd084, 0x01e8, + 0x0005, 0x2b78, 0x2061, 0xb4d2, 0x6008, 0xa08e, 0x0100, 0x0128, + 0xa086, 0x0200, 0x0904, 0x2f8d, 0x0005, 0x7014, 0x2068, 0x2a60, + 0x7018, 0x0807, 0x7010, 0x2068, 0x6834, 0xa086, 0x0103, 0x0108, + 0x0005, 0x2a60, 0x2b78, 0x7018, 0x0807, 0x2a60, 0x7820, 0xa08a, + 0x0040, 0x1210, 0x61c4, 0x0042, 0x2100, 0xa08a, 0x003f, 0x1a04, + 0x2f8a, 0x61c4, 0x0804, 0x2f2c, 0x2f6e, 0x2f99, 0x2fa1, 0x2fa5, + 0x2fad, 0x2fb3, 0x2fb7, 0x2fc3, 0x2fc6, 0x2fd0, 0x2fd3, 0x2f8a, + 0x2f8a, 0x2f8a, 0x2fd6, 0x2f8a, 0x2fe5, 0x2ffc, 0x3013, 0x308d, + 0x3092, 0x30bb, 0x310c, 0x311d, 0x313c, 0x3174, 0x317e, 0x318b, + 0x319e, 0x31bf, 0x31c8, 0x31fe, 0x3204, 0x2f8a, 0x322d, 0x2f8a, + 0x2f8a, 0x2f8a, 0x2f8a, 0x2f8a, 0x3234, 0x323e, 0x2f8a, 0x2f8a, + 0x2f8a, 0x2f8a, 0x2f8a, 0x2f8a, 0x2f8a, 0x2f8a, 0x3246, 0x2f8a, + 0x2f8a, 0x2f8a, 0x2f8a, 0x2f8a, 0x3258, 0x3262, 0x2f8a, 0x2f8a, + 0x2f8a, 0x2f8a, 0x2f8a, 0x2f8a, 0x0002, 0x328c, 0x32e0, 0x333b, + 0x334e, 0x2f8a, 0x337f, 0x37b2, 0x41f1, 0x2f8a, 0x2f8a, 0x2f8a, + 0x2f8a, 0x2f8a, 0x2f8a, 0x2f8a, 0x2f8a, 0x2fd0, 0x2fd3, 0x37b4, + 0x2f8a, 0x37c1, 0x428a, 0x42e5, 0x4349, 0x2f8a, 0x43ac, 0x43d2, + 0x43f1, 0x4423, 0x2f8a, 0x2f8a, 0x2f8a, 0x37c5, 0x396a, 0x3984, + 0x39a2, 0x3a03, 0x3a63, 0x3a6e, 0x3aa6, 0x3ab5, 0x3ac4, 0x3ac7, + 0x3aea, 0x3b34, 0x3baa, 0x3bb7, 0x3cb8, 0x3de1, 0x3e0a, 0x3f08, + 0x3f2a, 0x3f36, 0x3f6f, 0x4033, 0x2f8a, 0x2f8a, 0x2f8a, 0x2f8a, + 0x409b, 0x40b6, 0x4128, 0x41da, 0x713c, 0x0000, 0x2021, 0x4000, + 0x080c, 0x3e67, 0x0126, 0x2091, 0x8000, 0x0e04, 0x2f7a, 0x7818, + 0xd084, 0x0110, 0x012e, 0x0cb0, 0x7c22, 0x7926, 0x7a2a, 0x7b2e, + 0x781b, 0x0001, 0x2091, 0x4080, 0x7007, 0x0001, 0x2091, 0x5000, + 0x012e, 0x0005, 0x2021, 0x4001, 0x0c18, 0x2021, 0x4002, 0x0c00, + 0x2021, 0x4003, 0x08e8, 0x2021, 0x4005, 0x08d0, 0x2021, 0x4006, + 0x08b8, 0xa02e, 0x2520, 0x7b28, 0x7a2c, 0x7824, 0x7930, 0x0804, + 0x3e74, 0x7823, 0x0004, 0x7824, 0x0807, 0xa02e, 0x2520, 0x7b28, + 0x7a2c, 0x7824, 0x7930, 0x0804, 0x3e77, 0x7924, 0x7828, 0x2114, + 0x200a, 0x0804, 0x2f6e, 0x7924, 0x2114, 0x0804, 0x2f6e, 0x2099, + 0x0009, 0x20a1, 0x0009, 0x20a9, 0x0007, 0x53a3, 0x7924, 0x7a28, + 0x7b2c, 0x0804, 0x2f6e, 0x7824, 0x2060, 0x0090, 0x2009, 0x0002, + 0x2011, 0x0002, 0x2019, 0x0003, 0x783b, 0x0017, 0x0804, 0x2f6e, + 0x7d38, 0x7c3c, 0x0840, 0x7d38, 0x7c3c, 0x0888, 0x2061, 0x1000, + 0xe10c, 0xa006, 0x2c15, 0xa200, 0x8c60, 0x8109, 0x1dd8, 0x2010, + 0xa005, 0x0904, 0x2f6e, 0x0804, 0x2f90, 0x2069, 0xb452, 0x7824, + 0x7930, 0xa11a, 0x1a04, 0x2f96, 0x8019, 0x0904, 0x2f96, 0x684a, + 0x6942, 0x782c, 0x6852, 0x7828, 0x6856, 0xa006, 0x685a, 0x685e, + 0x080c, 0x5d66, 0x0804, 0x2f6e, 0x2069, 0xb452, 0x7824, 0x7934, + 0xa11a, 0x1a04, 0x2f96, 0x8019, 0x0904, 0x2f96, 0x684e, 0x6946, + 0x782c, 0x6862, 0x7828, 0x6866, 0xa006, 0x686a, 0x686e, 0x080c, + 0x5396, 0x0804, 0x2f6e, 0xa02e, 0x2520, 0x81ff, 0x1904, 0x2f93, + 0x7924, 0x7b28, 0x7a2c, 0x20a9, 0x0005, 0x20a1, 0xb489, 0x41a1, + 0x080c, 0x3e33, 0x0904, 0x2f93, 0x2009, 0x0020, 0x080c, 0x3e74, + 0x701b, 0x302b, 0x0005, 0x6834, 0x2008, 0xa084, 0x00ff, 0xa096, + 0x0011, 0x0138, 0xa096, 0x0019, 0x0120, 0xa096, 0x0015, 0x1904, + 0x2f93, 0x810f, 0xa18c, 0x00ff, 0x0904, 0x2f93, 0x710e, 0x700c, + 0x8001, 0x0528, 0x700e, 0x080c, 0x3e33, 0x0904, 0x2f93, 0x2009, + 0x0020, 0x2061, 0xb4d2, 0x6224, 0x6328, 0x642c, 0x6530, 0xa290, + 0x0040, 0xa399, 0x0000, 0xa4a1, 0x0000, 0xa5a9, 0x0000, 0x080c, + 0x3e74, 0x701b, 0x305c, 0x0005, 0x6834, 0xa084, 0x00ff, 0xa096, + 0x0002, 0x0120, 0xa096, 0x000a, 0x1904, 0x2f93, 0x08c0, 0x7010, + 0x2068, 0x6838, 0xc0fd, 0x683a, 0x080c, 0x4e0a, 0x1128, 0x7007, + 0x0003, 0x701b, 0x3076, 0x0005, 0x080c, 0x549c, 0x0126, 0x2091, + 0x8000, 0x20a9, 0x0005, 0x2099, 0xb489, 0x530a, 0x2100, 0xa210, + 0xa399, 0x0000, 0xa4a1, 0x0000, 0xa5a9, 0x0000, 0xad80, 0x000d, + 0x2009, 0x0020, 0x012e, 0x0804, 0x3e77, 0x61ac, 0x7824, 0x60ae, + 0x0804, 0x2f6e, 0x2091, 0x8000, 0x7823, 0x4000, 0x7827, 0x4953, + 0x782b, 0x5020, 0x782f, 0x2020, 0x2009, 0x017f, 0x2104, 0x7832, + 0x3f00, 0x7836, 0x2061, 0x0100, 0x6200, 0x2061, 0x0200, 0x603c, + 0x8007, 0xa205, 0x783a, 0x2009, 0x04fd, 0x2104, 0x783e, 0x781b, + 0x0001, 0x2091, 0x5000, 0x2091, 0x4080, 0x2071, 0x0010, 0x20c1, + 0x00f0, 0x0804, 0x0427, 0x81ff, 0x1904, 0x2f93, 0x7924, 0x810f, + 0xa18c, 0x00ff, 0x080c, 0x4f6a, 0x1904, 0x2f96, 0x7e38, 0xa684, + 0x3fff, 0xa082, 0x4000, 0x0210, 0x0804, 0x2f96, 0x7c28, 0x7d2c, + 0x080c, 0x5132, 0xd28c, 0x1118, 0x080c, 0x50db, 0x0010, 0x080c, + 0x510b, 0x1518, 0x2061, 0xbc00, 0x0126, 0x2091, 0x8000, 0x6000, + 0xa086, 0x0000, 0x0148, 0x6010, 0xa06d, 0x0130, 0x683c, 0xa406, + 0x1118, 0x6840, 0xa506, 0x0150, 0x012e, 0xace0, 0x0018, 0x2001, + 0xb417, 0x2004, 0xac02, 0x1a04, 0x2f93, 0x0c30, 0x080c, 0x98c3, + 0x012e, 0x0904, 0x2f93, 0x0804, 0x2f6e, 0xa00e, 0x2001, 0x0005, + 0x080c, 0x549c, 0x0126, 0x2091, 0x8000, 0x080c, 0x9e63, 0x080c, + 0x53c9, 0x012e, 0x0804, 0x2f6e, 0x81ff, 0x1904, 0x2f93, 0x080c, + 0x3e48, 0x0904, 0x2f96, 0x080c, 0x5030, 0x0904, 0x2f93, 0x080c, + 0x513e, 0x0904, 0x2f93, 0x0804, 0x2f6e, 0x81ff, 0x1904, 0x2f93, + 0x080c, 0x3e58, 0x0904, 0x2f96, 0x080c, 0x51aa, 0x0904, 0x2f93, + 0x2019, 0x0005, 0x7924, 0x080c, 0x5159, 0x0904, 0x2f93, 0x7828, + 0xa08a, 0x1000, 0x1a04, 0x2f96, 0x8003, 0x800b, 0x810b, 0xa108, + 0x080c, 0x696d, 0x0804, 0x2f6e, 0x0126, 0x2091, 0x8000, 0x81ff, + 0x0118, 0x2009, 0x0001, 0x0450, 0x2029, 0x00ff, 0x6450, 0x2400, + 0xa506, 0x01f8, 0x2508, 0x080c, 0x4f6a, 0x11d8, 0x080c, 0x51aa, + 0x1128, 0x2009, 0x0002, 0x62b4, 0x2518, 0x00c0, 0x2019, 0x0004, + 0xa00e, 0x080c, 0x5159, 0x1118, 0x2009, 0x0006, 0x0078, 0x7824, + 0xa08a, 0x1000, 0x1270, 0x8003, 0x800b, 0x810b, 0xa108, 0x080c, + 0x696d, 0x8529, 0x1ae0, 0x012e, 0x0804, 0x2f6e, 0x012e, 0x0804, + 0x2f93, 0x012e, 0x0804, 0x2f96, 0x080c, 0x3e48, 0x0904, 0x2f96, + 0x080c, 0x5096, 0x080c, 0x5132, 0x0804, 0x2f6e, 0x81ff, 0x1904, + 0x2f93, 0x080c, 0x3e48, 0x0904, 0x2f96, 0x080c, 0x5087, 0x080c, + 0x5132, 0x0804, 0x2f6e, 0x81ff, 0x1904, 0x2f93, 0x080c, 0x3e48, + 0x0904, 0x2f96, 0x080c, 0x510d, 0x0904, 0x2f93, 0x080c, 0x4e4e, + 0x080c, 0x50d4, 0x080c, 0x5132, 0x0804, 0x2f6e, 0x080c, 0x3e48, + 0x0904, 0x2f96, 0x080c, 0x5030, 0x0904, 0x2f93, 0x62a0, 0x2019, + 0x0005, 0x00c6, 0x080c, 0x516b, 0x2061, 0x0000, 0x080c, 0x6dba, + 0x0076, 0x2039, 0x0000, 0x080c, 0x6cc7, 0x2009, 0x0000, 0x080c, + 0xae05, 0x007e, 0x00ce, 0x080c, 0x5132, 0x0804, 0x2f6e, 0x080c, + 0x3e48, 0x0904, 0x2f96, 0x080c, 0x5132, 0x2208, 0x0804, 0x2f6e, + 0x0156, 0x00d6, 0x00e6, 0x2069, 0xb514, 0x6810, 0x6914, 0xa10a, + 0x1210, 0x2009, 0x0000, 0x6816, 0x2011, 0x0000, 0x2019, 0x0000, + 0x20a9, 0x007e, 0x2069, 0xb535, 0x2d04, 0xa075, 0x0130, 0x704c, + 0x0071, 0xa210, 0x7080, 0x0059, 0xa318, 0x8d68, 0x1f04, 0x31dc, + 0x2300, 0xa218, 0x00ee, 0x00de, 0x015e, 0x0804, 0x2f6e, 0x00f6, + 0x0016, 0xa07d, 0x0140, 0x2001, 0x0000, 0x8000, 0x2f0c, 0x81ff, + 0x0110, 0x2178, 0x0cd0, 0x001e, 0x00fe, 0x0005, 0x2069, 0xb514, + 0x6910, 0x62b0, 0x0804, 0x2f6e, 0x81ff, 0x1904, 0x2f93, 0x6150, + 0xa190, 0x2d88, 0x2215, 0xa294, 0x00ff, 0x6370, 0x83ff, 0x0108, + 0x6274, 0x67d4, 0xd79c, 0x0118, 0x2031, 0x0001, 0x0090, 0xd7ac, + 0x0118, 0x2031, 0x0003, 0x0068, 0xd7a4, 0x0118, 0x2031, 0x0002, + 0x0040, 0x080c, 0x5a90, 0x1118, 0x2031, 0x0004, 0x0010, 0x2031, + 0x0000, 0x7e3a, 0x7f3e, 0x0804, 0x2f6e, 0x6140, 0x6244, 0x2019, + 0xb6b6, 0x231c, 0x0804, 0x2f6e, 0x0126, 0x2091, 0x8000, 0x6134, + 0xa006, 0x2010, 0x6338, 0x012e, 0x0804, 0x2f6e, 0x080c, 0x3e58, + 0x0904, 0x2f96, 0x6244, 0x6338, 0x0804, 0x2f6e, 0x6140, 0x6244, + 0x7824, 0x6042, 0x7b28, 0x6346, 0x2069, 0xb452, 0x831f, 0xa305, + 0x6816, 0x782c, 0x2069, 0xb6b6, 0x2d1c, 0x206a, 0x0804, 0x2f6e, + 0x0126, 0x2091, 0x8000, 0x7824, 0x6036, 0x782c, 0x603a, 0x012e, + 0x0804, 0x2f6e, 0x7838, 0xa005, 0x01a8, 0x7828, 0xa025, 0x0904, + 0x2f96, 0x782c, 0xa02d, 0x0904, 0x2f96, 0xa00e, 0x080c, 0x4f6a, + 0x1120, 0x6244, 0x6338, 0x6446, 0x653a, 0xa186, 0x00ff, 0x0190, + 0x8108, 0x0ca0, 0x080c, 0x3e58, 0x0904, 0x2f96, 0x7828, 0xa00d, + 0x0904, 0x2f96, 0x782c, 0xa005, 0x0904, 0x2f96, 0x6244, 0x6146, + 0x6338, 0x603a, 0x0804, 0x2f6e, 0x2001, 0xb400, 0x2004, 0xa086, + 0x0003, 0x1904, 0x2f93, 0x00c6, 0x2061, 0x0100, 0x7924, 0x810f, + 0xa18c, 0x00ff, 0xa196, 0x00ff, 0x1130, 0x2001, 0xb415, 0x2004, + 0xa085, 0xff00, 0x0078, 0xa182, 0x007f, 0x16a0, 0xa188, 0x2d88, + 0x210d, 0xa18c, 0x00ff, 0x2001, 0xb415, 0x2004, 0xa116, 0x0550, + 0x810f, 0xa105, 0x0126, 0x2091, 0x8000, 0x0006, 0x080c, 0x856a, + 0x000e, 0x01e0, 0x601a, 0x600b, 0xbc09, 0x601f, 0x0001, 0x080c, + 0x3e33, 0x01d8, 0x6837, 0x0000, 0x7007, 0x0003, 0x6833, 0x0000, + 0x6838, 0xc0fd, 0x683a, 0x701b, 0x3334, 0x2d00, 0x6012, 0x2009, + 0x0032, 0x080c, 0x85ef, 0x012e, 0x00ce, 0x0005, 0x012e, 0x00ce, + 0x0804, 0x2f93, 0x00ce, 0x0804, 0x2f96, 0x080c, 0x85c0, 0x0cb0, + 0x2001, 0xb400, 0x2004, 0xa086, 0x0003, 0x1904, 0x2f93, 0x00c6, + 0x2061, 0x0100, 0x7924, 0x810f, 0xa18c, 0x00ff, 0xa196, 0x00ff, + 0x1130, 0x2001, 0xb415, 0x2004, 0xa085, 0xff00, 0x0078, 0xa182, + 0x007f, 0x16a0, 0xa188, 0x2d88, 0x210d, 0xa18c, 0x00ff, 0x2001, + 0xb415, 0x2004, 0xa116, 0x0550, 0x810f, 0xa105, 0x0126, 0x2091, + 0x8000, 0x0006, 0x080c, 0x856a, 0x000e, 0x01e0, 0x601a, 0x600b, + 0xbc05, 0x601f, 0x0001, 0x080c, 0x3e33, 0x01d8, 0x6837, 0x0000, + 0x7007, 0x0003, 0x6833, 0x0000, 0x6838, 0xc0fd, 0x683a, 0x701b, + 0x3334, 0x2d00, 0x6012, 0x2009, 0x0032, 0x080c, 0x85ef, 0x012e, + 0x00ce, 0x0005, 0x012e, 0x00ce, 0x0804, 0x2f93, 0x00ce, 0x0804, + 0x2f96, 0x080c, 0x85c0, 0x0cb0, 0x6830, 0xa086, 0x0100, 0x0904, + 0x2f93, 0x0804, 0x2f6e, 0x2061, 0xb774, 0x0126, 0x2091, 0x8000, + 0x6000, 0xd084, 0x0140, 0x6104, 0x6208, 0x2019, 0xb412, 0x231c, + 0x012e, 0x0804, 0x2f6e, 0x012e, 0x0804, 0x2f96, 0x81ff, 0x1904, + 0x2f93, 0x080c, 0x5a90, 0x0904, 0x2f93, 0x0126, 0x2091, 0x8000, + 0x6248, 0x6068, 0xa202, 0x0248, 0xa085, 0x0001, 0x080c, 0x282d, + 0x080c, 0x45e6, 0x012e, 0x0804, 0x2f6e, 0x012e, 0x0804, 0x2f96, + 0x0006, 0x0016, 0x00c6, 0x00e6, 0x2001, 0xb6bf, 0x2070, 0x2061, + 0xb452, 0x6008, 0x2072, 0x2009, 0x0000, 0x2011, 0x1000, 0x080c, + 0x6b05, 0x7206, 0x00ee, 0x00ce, 0x001e, 0x000e, 0x0005, 0x0126, + 0x2091, 0x8000, 0x7824, 0xa084, 0x0007, 0x0002, 0x3391, 0x339a, + 0x33a1, 0x338e, 0x338e, 0x338e, 0x338e, 0x338e, 0x012e, 0x0804, + 0x2f96, 0x2009, 0x0114, 0x2104, 0xa085, 0x0800, 0x200a, 0x080c, + 0x350c, 0x0070, 0x2009, 0x010b, 0x200b, 0x0010, 0x080c, 0x350c, + 0x0038, 0x81ff, 0x0128, 0x012e, 0x2021, 0x400b, 0x0804, 0x2f70, + 0x0086, 0x0096, 0x00a6, 0x00b6, 0x00c6, 0x00d6, 0x00e6, 0x00f6, + 0x080c, 0x3368, 0x2009, 0x0101, 0x210c, 0x0016, 0x2001, 0x0138, + 0x200c, 0x2003, 0x0001, 0x0016, 0x2001, 0x007a, 0x2034, 0x2001, + 0x007b, 0x202c, 0xa006, 0x2048, 0x2050, 0x2058, 0x080c, 0x3757, + 0x080c, 0x36bb, 0xa03e, 0x2720, 0x00f6, 0x00e6, 0x00c6, 0x2d60, + 0x2071, 0xb74a, 0x2079, 0x0020, 0x00d6, 0x2069, 0x0000, 0x6824, + 0xd0b4, 0x0140, 0x2001, 0x007d, 0x2004, 0x783e, 0x2001, 0x007c, + 0x2004, 0x783a, 0x00de, 0x2011, 0x0001, 0x080c, 0x3667, 0x080c, + 0x3667, 0x00ce, 0x00ee, 0x00fe, 0x080c, 0x35b2, 0x080c, 0x368f, + 0x080c, 0x360c, 0x080c, 0x3571, 0x080c, 0x35a2, 0x00f6, 0x2079, + 0x0100, 0x7824, 0xd094, 0x0530, 0x7814, 0xa084, 0x0184, 0xa085, + 0x0010, 0x7816, 0x2079, 0x0140, 0x080c, 0x34ea, 0x1110, 0x00fe, + 0x0430, 0x7804, 0xd0dc, 0x0dc0, 0x2079, 0x0100, 0x7827, 0x0086, + 0x7814, 0xa084, 0x0184, 0xa085, 0x0032, 0x7816, 0x080c, 0x34ea, + 0x1110, 0x00fe, 0x00a0, 0x7824, 0xd0bc, 0x0dc0, 0x7827, 0x0080, + 0xa026, 0x7c16, 0x7824, 0xd0ac, 0x0130, 0x8b58, 0x080c, 0x34f4, + 0x00fe, 0x0804, 0x34b4, 0x00fe, 0x080c, 0x34ea, 0x1150, 0x8948, + 0x2001, 0x007a, 0x2602, 0x2001, 0x007b, 0x2502, 0x080c, 0x34f4, + 0x0088, 0x87ff, 0x0140, 0x2001, 0x0201, 0x2004, 0xa005, 0x1904, + 0x33ee, 0x8739, 0x0038, 0x2001, 0xb723, 0x2004, 0xa086, 0x0000, + 0x1904, 0x33ee, 0x2001, 0x0033, 0x2003, 0x00f6, 0x8631, 0x1208, + 0x8529, 0x2500, 0xa605, 0x0904, 0x34b4, 0x7824, 0xd0bc, 0x0128, + 0x2900, 0xaa05, 0xab05, 0x1904, 0x34b4, 0x6033, 0x000d, 0x2001, + 0x0030, 0x2003, 0x0004, 0x7824, 0xd0ac, 0x1148, 0x2001, 0xb723, + 0x2003, 0x0003, 0x2001, 0x0030, 0x2003, 0x0009, 0x0040, 0x6027, + 0x0001, 0x2001, 0x0075, 0x2004, 0xa005, 0x0108, 0x6026, 0x2c00, + 0x601a, 0x20e1, 0x9040, 0x2d00, 0x681a, 0x6833, 0x000d, 0x7824, + 0xd0a4, 0x1180, 0x6827, 0x0000, 0x00c6, 0x20a9, 0x0004, 0x2061, + 0x0020, 0x6003, 0x0008, 0x2001, 0x0203, 0x2004, 0x1f04, 0x3489, + 0x00ce, 0x0040, 0x6827, 0x0001, 0x2001, 0x0074, 0x2004, 0xa005, + 0x0108, 0x6826, 0x00f6, 0x00c6, 0x2079, 0x0100, 0x2061, 0x0020, + 0x7827, 0x0002, 0x2001, 0x0072, 0x2004, 0xa084, 0xfff8, 0x601a, + 0x0006, 0x2001, 0x0073, 0x2004, 0x601e, 0x78c6, 0x000e, 0x78ca, + 0x00ce, 0x00fe, 0x0804, 0x33cc, 0x2061, 0x0100, 0x6027, 0x0002, + 0x001e, 0x61e2, 0x001e, 0x6106, 0x7824, 0xa084, 0x0003, 0xa086, + 0x0002, 0x0188, 0x20e1, 0x9028, 0x6050, 0xa084, 0xf7ef, 0x6052, + 0x602f, 0x0000, 0x602c, 0xc0ac, 0x602e, 0x604b, 0xf7f7, 0x6043, + 0x0090, 0x6043, 0x0010, 0x2908, 0x2a10, 0x2b18, 0x2b00, 0xaa05, + 0xa905, 0x00fe, 0x00ee, 0x00de, 0x00ce, 0x00be, 0x00ae, 0x009e, + 0x008e, 0x1118, 0x012e, 0x0804, 0x2f6e, 0x012e, 0x2021, 0x400c, + 0x0804, 0x2f70, 0xa085, 0x0001, 0x1d04, 0x34f3, 0x2091, 0x6000, + 0x8420, 0xa486, 0x0064, 0x0005, 0x2001, 0x0105, 0x2003, 0x0010, + 0x2001, 0x0030, 0x2003, 0x0004, 0x2001, 0x0020, 0x2003, 0x0004, + 0x2001, 0xb723, 0x2003, 0x0000, 0x2001, 0xb74a, 0x2003, 0x0000, + 0x20e1, 0xf000, 0xa026, 0x0005, 0x00f6, 0x2079, 0x0100, 0x2001, + 0xb415, 0x200c, 0x7932, 0x7936, 0x080c, 0x280d, 0x7850, 0xa084, + 0x0980, 0xa085, 0x0030, 0x7852, 0x2019, 0x01f4, 0x8319, 0x1df0, + 0xa084, 0x0980, 0x7852, 0x782c, 0xc0ad, 0x782e, 0x20a9, 0x0046, + 0x1d04, 0x3528, 0x2091, 0x6000, 0x1f04, 0x3528, 0x7850, 0xa085, + 0x0400, 0x7852, 0x2001, 0x0009, 0x2004, 0xa084, 0x0003, 0xa086, + 0x0001, 0x1118, 0x782c, 0xc0ac, 0x782e, 0x784b, 0xf7f7, 0x7843, + 0x0090, 0x7843, 0x0010, 0x20a9, 0x000e, 0xe000, 0x1f04, 0x3545, + 0x7850, 0xa085, 0x1400, 0x7852, 0x2019, 0x61a8, 0x7854, 0xe000, + 0xe000, 0xd08c, 0x1110, 0x8319, 0x1dc8, 0x7827, 0x0048, 0x7850, + 0xa085, 0x0400, 0x7852, 0x7843, 0x0040, 0x2019, 0x01f4, 0xe000, + 0xe000, 0x8319, 0x1de0, 0x2001, 0x0140, 0x2003, 0x0100, 0x7827, + 0x0020, 0x7843, 0x0000, 0x2003, 0x0000, 0x7827, 0x0048, 0x00fe, + 0x0005, 0x7824, 0xd0ac, 0x11c8, 0x00f6, 0x00e6, 0x2071, 0xb723, + 0x2079, 0x0030, 0x2001, 0x0201, 0x2004, 0xa005, 0x0160, 0x7000, + 0xa086, 0x0000, 0x1140, 0x0051, 0xd0bc, 0x0108, 0x8738, 0x7003, + 0x0003, 0x7803, 0x0019, 0x00ee, 0x00fe, 0x0005, 0x780c, 0xa08c, + 0x0070, 0x0178, 0x2009, 0x007a, 0x260a, 0x2009, 0x007b, 0x250a, + 0xd0b4, 0x0108, 0x8a50, 0xd0ac, 0x0108, 0x8948, 0xd0a4, 0x0108, + 0x8b58, 0x0005, 0x00f6, 0x2079, 0x0200, 0x781c, 0xd084, 0x0140, + 0x20e1, 0x0007, 0x20e1, 0x2000, 0x2001, 0x020a, 0x2004, 0x0ca8, + 0x00fe, 0x0005, 0x00e6, 0x2071, 0x0100, 0x2001, 0xb6c0, 0x2004, + 0x70e2, 0x2009, 0xb415, 0x210c, 0x716e, 0x7063, 0x0100, 0x7166, + 0x719e, 0x706b, 0x0000, 0x7073, 0x0809, 0x7077, 0x0008, 0x7078, + 0xa080, 0x0100, 0x707a, 0x7080, 0x8000, 0x7082, 0x7087, 0xaaaa, + 0xa006, 0x708a, 0x708e, 0x707e, 0x70d6, 0x70ab, 0x0036, 0x70af, + 0x95d5, 0x7027, 0x0080, 0x7014, 0xa084, 0x0184, 0xa085, 0x0032, + 0x7016, 0x080c, 0x368f, 0x080c, 0x34ea, 0x1110, 0x8421, 0x0028, + 0x7024, 0xd0bc, 0x0db0, 0x7027, 0x0080, 0x00f6, 0x00e6, 0x2071, + 0xb723, 0x2079, 0x0030, 0x00d6, 0x2069, 0x0000, 0x6824, 0xd0b4, + 0x0120, 0x683c, 0x783e, 0x6838, 0x783a, 0x00de, 0x2011, 0x0011, + 0x080c, 0x3667, 0x2011, 0x0001, 0x080c, 0x3667, 0x00ee, 0x00fe, + 0x7017, 0x0000, 0x00ee, 0x0005, 0x00f6, 0x00e6, 0x2071, 0xb723, + 0x2079, 0x0030, 0x7904, 0xd1fc, 0x0904, 0x3664, 0x7803, 0x0002, + 0xa026, 0xd19c, 0x1904, 0x3660, 0x7000, 0x0002, 0x3664, 0x3622, + 0x3646, 0x3660, 0xd1bc, 0x1150, 0xd1dc, 0x1150, 0x8001, 0x7002, + 0x2011, 0x0001, 0x04e1, 0x05c0, 0x04d1, 0x04b0, 0x780f, 0x0000, + 0x7820, 0x7924, 0x7803, 0x0004, 0x7822, 0x7926, 0x2001, 0x0201, + 0x200c, 0x81ff, 0x0de8, 0x080c, 0x358e, 0x2009, 0x0001, 0x7808, + 0xd0ec, 0x0110, 0x2009, 0x0011, 0x7902, 0x00f0, 0x8001, 0x7002, + 0xa184, 0x0880, 0x1138, 0x7804, 0xd0fc, 0x1940, 0x2011, 0x0001, + 0x00b1, 0x0090, 0x6030, 0xa092, 0x0004, 0xa086, 0x0009, 0x1120, + 0x6000, 0x601a, 0x2011, 0x0025, 0x6232, 0xd1dc, 0x1988, 0x0870, + 0x7803, 0x0004, 0x7003, 0x0000, 0x00ee, 0x00fe, 0x0005, 0x6024, + 0xa005, 0x0520, 0x8001, 0x6026, 0x6018, 0x6130, 0xa140, 0x2804, + 0x7832, 0x8840, 0x2804, 0x7836, 0x8840, 0x2804, 0x7822, 0x8840, + 0x2804, 0x7826, 0x8840, 0x7a02, 0x7000, 0x8000, 0x7002, 0x6018, + 0xa802, 0xa08a, 0x0029, 0x1138, 0x6018, 0xa080, 0x0001, 0x2004, + 0x601a, 0x2001, 0x000d, 0x6032, 0xa085, 0x0001, 0x0005, 0x00f6, + 0x00e6, 0x00c6, 0x2071, 0xb74a, 0x2079, 0x0020, 0x7904, 0xd1fc, + 0x01f0, 0x7803, 0x0002, 0x2d60, 0xa026, 0x7000, 0x0002, 0x36b7, + 0x36a2, 0x36ae, 0x8001, 0x7002, 0xd19c, 0x1188, 0x2011, 0x0001, + 0x080c, 0x3667, 0x0160, 0x080c, 0x3667, 0x0048, 0x8001, 0x7002, + 0x7804, 0xd0fc, 0x1d30, 0x2011, 0x0001, 0x080c, 0x3667, 0x00ce, + 0x00ee, 0x00fe, 0x0005, 0x00f6, 0x00e6, 0x00c6, 0x2061, 0x0200, + 0x2001, 0xb6c0, 0x2004, 0x601a, 0x2061, 0x0100, 0x2001, 0xb6bf, + 0x2004, 0x60ce, 0x6004, 0xc0ac, 0xa085, 0x0200, 0x6006, 0x2001, + 0x0074, 0x2004, 0xa005, 0x01f8, 0x2038, 0x2001, 0x0076, 0x2024, + 0x2001, 0x0077, 0x201c, 0x080c, 0x3e33, 0x6833, 0x000d, 0x6f26, + 0x2d00, 0x681a, 0xa78a, 0x0007, 0x0220, 0x2138, 0x2009, 0x0007, + 0x0010, 0x2708, 0xa03e, 0x6818, 0xa080, 0x000d, 0x04b1, 0x1d90, + 0x2d00, 0x681a, 0x0088, 0x080c, 0x3e33, 0x6833, 0x000d, 0x2070, + 0x6827, 0x0001, 0x2d00, 0x681a, 0x2001, 0x0076, 0x2004, 0x2072, + 0x2001, 0x0077, 0x2004, 0x7006, 0x2061, 0x0020, 0x2079, 0x0100, + 0x2001, 0xb6bf, 0x2004, 0x6012, 0x20e1, 0x9040, 0x2001, 0x0072, + 0x2004, 0xa084, 0xfff8, 0x700a, 0x601a, 0x0006, 0x2001, 0x0073, + 0x2004, 0x700e, 0x601e, 0x78c6, 0x000e, 0x78ca, 0xa006, 0x603a, + 0x603e, 0x00ce, 0x00ee, 0x00fe, 0x0005, 0x00e6, 0x2071, 0x0010, + 0x20a0, 0x2099, 0x0014, 0x7003, 0x0026, 0x7432, 0x7336, 0xa006, + 0x703a, 0x703e, 0x810b, 0x810b, 0x21a8, 0x810b, 0x7122, 0x7003, + 0x0041, 0x7004, 0xd0fc, 0x0de8, 0x7003, 0x0002, 0x7003, 0x0040, + 0x53a5, 0x7430, 0x7334, 0x87ff, 0x0180, 0x00c6, 0x00d6, 0x2d60, + 0x00c6, 0x080c, 0x3e33, 0x00ce, 0x6018, 0x2070, 0x2d00, 0x7006, + 0x601a, 0x00de, 0x00ce, 0xa085, 0x0001, 0x00ee, 0x0005, 0x00e6, + 0x2001, 0x0075, 0x2004, 0xa005, 0x0508, 0x2038, 0x2001, 0x0078, + 0x2024, 0x2001, 0x0079, 0x201c, 0x080c, 0x3e33, 0x2d60, 0x6833, + 0x000d, 0x6f26, 0x2d00, 0x681a, 0xa78a, 0x0007, 0x0220, 0x2138, + 0x2009, 0x0007, 0x0010, 0x2708, 0xa03e, 0x6818, 0xa080, 0x000d, + 0x080c, 0x3725, 0x1d88, 0x2d00, 0x681a, 0x00e0, 0x080c, 0x3e33, + 0x2d60, 0x6033, 0x000d, 0x2070, 0x6027, 0x0001, 0x2c00, 0x601a, + 0x2001, 0x0078, 0x2004, 0x2072, 0x2001, 0x0079, 0x2004, 0x7006, + 0x2001, 0x0072, 0x2004, 0xa084, 0xfff8, 0x700a, 0x2001, 0x0073, + 0x2004, 0x700e, 0x2001, 0x0030, 0x2003, 0x0004, 0x7824, 0xd0ac, + 0x1178, 0x2001, 0x0101, 0x200c, 0xc1ed, 0x2102, 0x6027, 0x0000, + 0x2001, 0xb723, 0x2003, 0x0003, 0x2001, 0x0030, 0x2003, 0x0009, + 0x00ee, 0x0005, 0x0804, 0x2f6e, 0x0126, 0x2091, 0x8000, 0x20a9, + 0x0012, 0x2001, 0xb440, 0x20a0, 0xa006, 0x40a4, 0x012e, 0x0804, + 0x2f6e, 0x7d38, 0x7c3c, 0x0804, 0x3015, 0x080c, 0x3e33, 0x0904, + 0x2f93, 0x080c, 0x5a90, 0x0110, 0x080c, 0x4baa, 0x2009, 0x001c, + 0x7a2c, 0x7b28, 0x7c3c, 0x7d38, 0x080c, 0x3e74, 0x701b, 0x37d9, + 0x0005, 0xade8, 0x000d, 0x6800, 0xa005, 0x0904, 0x2f96, 0x6804, + 0xd0ac, 0x0118, 0xd0a4, 0x0904, 0x2f96, 0xd094, 0x00c6, 0x2061, + 0x0100, 0x6104, 0x0138, 0x6200, 0xa292, 0x0005, 0x0218, 0xa18c, + 0xffdf, 0x0010, 0xa18d, 0x0020, 0x6106, 0x00ce, 0xd08c, 0x00c6, + 0x2061, 0x0100, 0x6104, 0x0118, 0xa18d, 0x0010, 0x0010, 0xa18c, + 0xffef, 0x6106, 0x00ce, 0x2009, 0x0100, 0x210c, 0xa18a, 0x0002, + 0x0268, 0xd084, 0x0158, 0x6a28, 0xa28a, 0x007f, 0x1a04, 0x2f96, + 0xa288, 0x2d88, 0x210d, 0xa18c, 0x00ff, 0x615a, 0xd0dc, 0x0130, + 0x6828, 0xa08a, 0x007f, 0x1a04, 0x2f96, 0x6052, 0x6808, 0xa08a, + 0x0100, 0x0a04, 0x2f96, 0xa08a, 0x0841, 0x1a04, 0x2f96, 0xa084, + 0x0007, 0x1904, 0x2f96, 0x680c, 0xa005, 0x0904, 0x2f96, 0x6810, + 0xa005, 0x0904, 0x2f96, 0x6848, 0x6940, 0xa10a, 0x1a04, 0x2f96, + 0x8001, 0x0904, 0x2f96, 0x684c, 0x6944, 0xa10a, 0x1a04, 0x2f96, + 0x8001, 0x0904, 0x2f96, 0x6804, 0xd0fc, 0x0560, 0x080c, 0x3e33, + 0x0904, 0x2f93, 0x2009, 0x0014, 0x7a2c, 0x7b28, 0x7c3c, 0x7d38, + 0xa290, 0x0038, 0xa399, 0x0000, 0x080c, 0x3e74, 0x701b, 0x3859, + 0x0005, 0xade8, 0x000d, 0x20a9, 0x0014, 0x2d98, 0x2069, 0xb46e, + 0x2da0, 0x53a3, 0x7010, 0xa0e8, 0x000d, 0x2001, 0xb472, 0x200c, + 0xd1e4, 0x0140, 0x00c6, 0x2061, 0x0100, 0x6004, 0xa085, 0x0b00, + 0x6006, 0x00ce, 0x2009, 0xb6b1, 0x200b, 0x0000, 0x2001, 0xb474, + 0x2004, 0xd0ac, 0x0158, 0x7824, 0x200a, 0x2009, 0x017f, 0x200a, + 0x3200, 0xa084, 0x003f, 0xa085, 0x3020, 0x2090, 0x20a9, 0x001c, + 0x2d98, 0x2069, 0xb452, 0x2da0, 0x53a3, 0x6814, 0xa08c, 0x00ff, + 0x6142, 0x8007, 0xa084, 0x00ff, 0x6046, 0x080c, 0x5d66, 0x080c, + 0x532d, 0x080c, 0x5396, 0x6000, 0xa086, 0x0000, 0x1904, 0x3954, + 0x6808, 0x602a, 0x080c, 0x2439, 0x0006, 0x2001, 0x0100, 0x2004, + 0xa082, 0x0005, 0x000e, 0x0268, 0x2009, 0x0170, 0x200b, 0x0080, + 0xe000, 0xe000, 0x200b, 0x0000, 0x0036, 0x6b08, 0x080c, 0x2868, + 0x003e, 0x6818, 0x691c, 0x6a20, 0x6b24, 0x8007, 0x810f, 0x8217, + 0x831f, 0x6016, 0x611a, 0x621e, 0x6322, 0x6c04, 0xd4f4, 0x0148, + 0x6830, 0x6934, 0x6a38, 0x6b3c, 0x8007, 0x810f, 0x8217, 0x831f, + 0x0010, 0xa084, 0xf0ff, 0x6006, 0x610a, 0x620e, 0x6312, 0x8007, + 0x810f, 0x8217, 0x831f, 0x20a9, 0x0004, 0x20a1, 0xb6c6, 0x40a1, + 0x080c, 0x6a2d, 0x6904, 0xd1fc, 0x0520, 0x00c6, 0x2009, 0x0000, + 0x20a9, 0x0001, 0x6b70, 0xd384, 0x01c8, 0x0020, 0x839d, 0x12b0, + 0x3508, 0x8109, 0x080c, 0x631d, 0x6878, 0x6016, 0x6874, 0x2008, + 0xa084, 0xff00, 0x8007, 0x600a, 0xa184, 0x00ff, 0x6006, 0x8108, + 0x1118, 0x6003, 0x0003, 0x0010, 0x6003, 0x0001, 0x1f04, 0x38ee, + 0x00ce, 0x2069, 0xb452, 0x2001, 0xb69e, 0x6a80, 0xa294, 0x0030, + 0xa28e, 0x0000, 0x0170, 0xa28e, 0x0010, 0x0118, 0xa28e, 0x0020, + 0x0140, 0x2003, 0xaaaa, 0x080c, 0x28b1, 0x2001, 0xb68f, 0x2102, + 0x0008, 0x2102, 0x00c6, 0x2061, 0x0100, 0x602f, 0x0040, 0x602f, + 0x0000, 0x00ce, 0x080c, 0x5a90, 0x0128, 0x080c, 0x408d, 0x0110, + 0x080c, 0x282d, 0x60c8, 0xa005, 0x01d0, 0x6003, 0x0001, 0x2009, + 0x393a, 0x00e0, 0x080c, 0x5a90, 0x1178, 0x2011, 0x5963, 0x080c, + 0x6961, 0x2011, 0x5956, 0x080c, 0x6a21, 0x2001, 0xb69f, 0x2003, + 0x0000, 0x080c, 0x59c8, 0x0040, 0x080c, 0x4ad9, 0x0028, 0x6003, + 0x0004, 0x2009, 0x3954, 0x0010, 0x0804, 0x2f6e, 0x2001, 0x0100, + 0x2004, 0xa082, 0x0005, 0x0258, 0x2001, 0x0170, 0x2004, 0xa084, + 0x00ff, 0xa086, 0x004c, 0x1118, 0x2091, 0x309d, 0x0817, 0x2091, + 0x301d, 0x0817, 0x6000, 0xa086, 0x0000, 0x0904, 0x2f93, 0x2069, + 0xb452, 0x7830, 0x6842, 0x7834, 0x6846, 0x6804, 0xd0fc, 0x0118, + 0x2009, 0x0030, 0x0010, 0x2009, 0x001c, 0x2d00, 0x7a2c, 0x7b28, + 0x7c3c, 0x7d38, 0x0804, 0x3e77, 0xa006, 0x080c, 0x282d, 0x81ff, + 0x1904, 0x2f93, 0x080c, 0x5a90, 0x1178, 0x2001, 0xb69f, 0x2003, + 0x0001, 0x2001, 0xb400, 0x2003, 0x0001, 0xa085, 0x0001, 0x080c, + 0x5ad4, 0x080c, 0x59c8, 0x0020, 0x080c, 0x4baa, 0x080c, 0x4ad9, + 0x0804, 0x2f6e, 0x81ff, 0x1904, 0x2f93, 0x080c, 0x5a90, 0x1110, + 0x0804, 0x2f93, 0x6188, 0x81ff, 0x0198, 0x703f, 0x0000, 0x2001, + 0xbbc0, 0x2009, 0x0040, 0x7a2c, 0x7b28, 0x7c3c, 0x7d38, 0x0126, + 0x2091, 0x8000, 0x080c, 0x3e77, 0x701b, 0x2f6c, 0x012e, 0x0005, + 0x703f, 0x0001, 0x00d6, 0x2069, 0xbbc0, 0x20a9, 0x0040, 0x20a1, + 0xbbc0, 0x2019, 0xffff, 0x43a4, 0x6550, 0xa588, 0x2d88, 0x210d, + 0xa18c, 0x00ff, 0x216a, 0xa00e, 0x2011, 0x0002, 0x2100, 0xa506, + 0x01a8, 0x080c, 0x4f6a, 0x1190, 0x6014, 0x821c, 0x0238, 0xa398, + 0xbbc0, 0xa085, 0xff00, 0x8007, 0x201a, 0x0038, 0xa398, 0xbbc0, + 0x2324, 0xa4a4, 0xff00, 0xa405, 0x201a, 0x8210, 0x8108, 0xa182, + 0x0080, 0x1208, 0x0c18, 0x8201, 0x8007, 0x2d0c, 0xa105, 0x206a, + 0x00de, 0x20a9, 0x0040, 0x20a1, 0xbbc0, 0x2099, 0xbbc0, 0x080c, + 0x4b49, 0x0804, 0x39af, 0x080c, 0x3e58, 0x0904, 0x2f96, 0x00c6, + 0x080c, 0x3e33, 0x00ce, 0x1120, 0x2009, 0x0002, 0x0804, 0x2f93, + 0x2001, 0xb453, 0x2004, 0xd0b4, 0x0550, 0x7824, 0xa084, 0xff00, + 0xa08e, 0x7e00, 0x0520, 0xa08e, 0x7f00, 0x0508, 0xa08e, 0x8000, + 0x01f0, 0x6000, 0xd08c, 0x11d8, 0x6004, 0xa084, 0x00ff, 0xa086, + 0x0006, 0x11a8, 0x6837, 0x0000, 0x6838, 0xc0fd, 0x683a, 0x080c, + 0x9d6b, 0x1120, 0x2009, 0x0003, 0x0804, 0x2f93, 0x7007, 0x0003, + 0x701b, 0x3a3b, 0x0005, 0x080c, 0x3e58, 0x0904, 0x2f96, 0x20a9, + 0x002b, 0x2c98, 0xade8, 0x0002, 0x2da0, 0x53a3, 0x20a9, 0x0004, + 0xac80, 0x0006, 0x2098, 0xad80, 0x0006, 0x20a0, 0x080c, 0x4b49, + 0x20a9, 0x0004, 0xac80, 0x000a, 0x2098, 0xad80, 0x000a, 0x20a0, + 0x080c, 0x4b49, 0x2d00, 0x2009, 0x002b, 0x7a2c, 0x7b28, 0x7c3c, + 0x7d38, 0x0804, 0x3e77, 0x81ff, 0x1904, 0x2f93, 0x080c, 0x3e48, + 0x0904, 0x2f96, 0x080c, 0x5147, 0x0804, 0x2f6e, 0x81ff, 0x1904, + 0x2f93, 0x7828, 0xa08a, 0x1000, 0x1a04, 0x2f96, 0x080c, 0x3e58, + 0x0904, 0x2f96, 0x080c, 0x51aa, 0x0904, 0x2f93, 0x2019, 0x0004, + 0xa00e, 0x080c, 0x5159, 0x7924, 0x810f, 0x7a28, 0x0011, 0x0804, + 0x2f6e, 0xa186, 0x00ff, 0x0110, 0x0071, 0x0060, 0x2029, 0x007e, + 0x2061, 0xb400, 0x6450, 0x2400, 0xa506, 0x0110, 0x2508, 0x0019, + 0x8529, 0x1ec8, 0x0005, 0x080c, 0x4f6a, 0x1138, 0x2200, 0x8003, + 0x800b, 0x810b, 0xa108, 0x080c, 0x696d, 0x0005, 0x81ff, 0x1904, + 0x2f93, 0x080c, 0x3e48, 0x0904, 0x2f96, 0x080c, 0x5030, 0x0904, + 0x2f93, 0x080c, 0x5150, 0x0804, 0x2f6e, 0x81ff, 0x1904, 0x2f93, + 0x080c, 0x3e48, 0x0904, 0x2f96, 0x080c, 0x5030, 0x0904, 0x2f93, + 0x080c, 0x513e, 0x0804, 0x2f6e, 0x6100, 0x0804, 0x2f6e, 0x080c, + 0x3e58, 0x0904, 0x2f96, 0x2001, 0xb400, 0x2004, 0xa086, 0x0003, + 0x1904, 0x2f93, 0x00d6, 0xace8, 0x000a, 0x7924, 0xd184, 0x0110, + 0xace8, 0x0006, 0x680c, 0x8007, 0x783e, 0x6808, 0x8007, 0x783a, + 0x6b04, 0x831f, 0x6a00, 0x8217, 0x00de, 0x6100, 0xa18c, 0x0200, + 0x0804, 0x2f6e, 0x7824, 0xa09c, 0x00ff, 0xa39a, 0x0003, 0x1a04, + 0x2f93, 0x6250, 0xa294, 0x00ff, 0xa084, 0xff00, 0x8007, 0xa206, + 0x1150, 0x2001, 0xb440, 0x2009, 0x000c, 0x7a2c, 0x7b28, 0x7c3c, + 0x7d38, 0x0804, 0x3e77, 0x81ff, 0x1904, 0x2f93, 0x080c, 0x3e58, + 0x0904, 0x2f96, 0x6004, 0xa084, 0x00ff, 0xa086, 0x0006, 0x1904, + 0x2f93, 0x00c6, 0x080c, 0x3e33, 0x00ce, 0x0904, 0x2f93, 0x6837, + 0x0000, 0x6838, 0xc0fd, 0x683a, 0x080c, 0x9d17, 0x0904, 0x2f93, + 0x7007, 0x0003, 0x701b, 0x3b25, 0x0005, 0x6830, 0xa086, 0x0100, + 0x0904, 0x2f93, 0xad80, 0x000e, 0x2009, 0x000c, 0x7a2c, 0x7b28, + 0x7c3c, 0x7d38, 0x0804, 0x3e77, 0xa006, 0x080c, 0x282d, 0x7824, + 0xa084, 0x00ff, 0xa086, 0x00ff, 0x0118, 0x81ff, 0x1904, 0x2f93, + 0x080c, 0x5a90, 0x0110, 0x080c, 0x4baa, 0x7828, 0xa08a, 0x1000, + 0x1a04, 0x2f96, 0x7924, 0xa18c, 0xff00, 0x810f, 0xa186, 0x00ff, + 0x0138, 0xa182, 0x007f, 0x1a04, 0x2f96, 0x2100, 0x080c, 0x27f7, + 0x0026, 0x00c6, 0x0126, 0x2091, 0x8000, 0x2061, 0xb6f3, 0x601b, + 0x0000, 0x601f, 0x0000, 0x080c, 0x5a90, 0x1178, 0x2001, 0xb69f, + 0x2003, 0x0001, 0x2001, 0xb400, 0x2003, 0x0001, 0xa085, 0x0001, + 0x080c, 0x5ad4, 0x080c, 0x59c8, 0x0420, 0x2011, 0x0003, 0x080c, + 0x801f, 0x2011, 0x0002, 0x080c, 0x8029, 0x080c, 0x7f03, 0x0036, + 0x2019, 0x0000, 0x080c, 0x7f8e, 0x003e, 0x2061, 0x0100, 0x2001, + 0xb415, 0x2004, 0xa084, 0x00ff, 0x810f, 0xa105, 0x604a, 0x6043, + 0x0090, 0x6043, 0x0010, 0x2009, 0x002d, 0x2011, 0x4b0e, 0x080c, + 0x69e7, 0x7924, 0xa18c, 0xff00, 0x810f, 0x080c, 0x5a90, 0x1110, + 0x2009, 0x00ff, 0x7a28, 0x080c, 0x3a89, 0x012e, 0x00ce, 0x002e, + 0x0804, 0x2f6e, 0x7924, 0xa18c, 0xff00, 0x810f, 0x00c6, 0x080c, + 0x4f0e, 0x2c08, 0x00ce, 0x1904, 0x2f96, 0x0804, 0x2f6e, 0x81ff, + 0x0120, 0x2009, 0x0001, 0x0804, 0x2f93, 0x60d4, 0xd0ac, 0x1130, + 0xd09c, 0x1120, 0x2009, 0x0005, 0x0804, 0x2f93, 0x080c, 0x3e33, + 0x1120, 0x2009, 0x0002, 0x0804, 0x2f93, 0x7924, 0x7a2c, 0x7b28, + 0x7c3c, 0x7d38, 0x080c, 0x3e74, 0x701b, 0x3bd7, 0x0005, 0x2009, + 0x0080, 0x080c, 0x4f6a, 0x1130, 0x6004, 0xa084, 0x00ff, 0xa086, + 0x0006, 0x0120, 0x2021, 0x400a, 0x0804, 0x2f70, 0x00d6, 0xade8, + 0x000d, 0x6900, 0x6a08, 0x6b0c, 0x6c10, 0x6d14, 0x6e18, 0x6820, + 0xa0be, 0x0100, 0x0904, 0x3c4e, 0xa0be, 0x0112, 0x0904, 0x3c4e, + 0xa0be, 0x0113, 0x0904, 0x3c4e, 0xa0be, 0x0114, 0x0904, 0x3c4e, + 0xa0be, 0x0117, 0x0904, 0x3c4e, 0xa0be, 0x011a, 0x0904, 0x3c4e, + 0xa0be, 0x011c, 0x0904, 0x3c4e, 0xa0be, 0x0121, 0x05b0, 0xa0be, + 0x0131, 0x0598, 0xa0be, 0x0171, 0x05c8, 0xa0be, 0x0173, 0x05b0, + 0xa0be, 0x01a1, 0x1120, 0x6830, 0x8007, 0x6832, 0x04a8, 0xa0be, + 0x0212, 0x0540, 0xa0be, 0x0213, 0x0528, 0xa0be, 0x0214, 0x01b0, + 0xa0be, 0x0217, 0x0168, 0xa0be, 0x021a, 0x1120, 0x6838, 0x8007, + 0x683a, 0x00e0, 0xa0be, 0x0300, 0x01c8, 0x00de, 0x0804, 0x2f96, + 0xad80, 0x0010, 0x20a9, 0x0007, 0x080c, 0x3c94, 0xad80, 0x000e, + 0x20a9, 0x0001, 0x080c, 0x3c94, 0x0048, 0xad80, 0x000c, 0x080c, + 0x3ca2, 0x0050, 0xad80, 0x000e, 0x080c, 0x3ca2, 0xad80, 0x000c, + 0x20a9, 0x0001, 0x080c, 0x3c94, 0x00c6, 0x080c, 0x3e33, 0x0568, + 0x6838, 0xc0fd, 0x683a, 0x6837, 0x0119, 0x6853, 0x0000, 0x684f, + 0x0020, 0x685b, 0x0001, 0x810b, 0x697e, 0x6883, 0x0000, 0x6a86, + 0x6b8a, 0x6c8e, 0x6d92, 0x6996, 0x689b, 0x0000, 0x00ce, 0x00de, + 0x6837, 0x0000, 0x6838, 0xc0fd, 0x683a, 0x6823, 0x0000, 0x6804, + 0x2068, 0x080c, 0x9d33, 0x1120, 0x2009, 0x0003, 0x0804, 0x2f93, + 0x7007, 0x0003, 0x701b, 0x3c8b, 0x0005, 0x00ce, 0x00de, 0x2009, + 0x0002, 0x0804, 0x2f93, 0x6820, 0xa086, 0x8001, 0x1904, 0x2f6e, + 0x2009, 0x0004, 0x0804, 0x2f93, 0x0016, 0x2008, 0x2044, 0x8000, + 0x204c, 0x8000, 0x290a, 0x8108, 0x280a, 0x8108, 0x1f04, 0x3c96, + 0x001e, 0x0005, 0x0016, 0x00a6, 0x00b6, 0x2008, 0x2044, 0x8000, + 0x204c, 0x8000, 0x2054, 0x8000, 0x205c, 0x2b0a, 0x8108, 0x2a0a, + 0x8108, 0x290a, 0x8108, 0x280a, 0x00be, 0x00ae, 0x001e, 0x0005, + 0x81ff, 0x0120, 0x2009, 0x0001, 0x0804, 0x2f93, 0x60d4, 0xd0ac, + 0x1130, 0xd09c, 0x1120, 0x2009, 0x0005, 0x0804, 0x2f93, 0x7924, + 0x2140, 0xa18c, 0xff00, 0x810f, 0x60d4, 0xd0ac, 0x1120, 0xa182, + 0x0080, 0x0a04, 0x2f96, 0xa182, 0x00ff, 0x1a04, 0x2f96, 0x7a2c, + 0x7b28, 0x6070, 0xa306, 0x1140, 0x6074, 0xa24e, 0x0904, 0x2f96, + 0xa9cc, 0xff00, 0x0904, 0x2f96, 0x00c6, 0x080c, 0x3d81, 0x2c68, + 0x00ce, 0x0538, 0xa0c6, 0x4000, 0x1180, 0x00c6, 0x0006, 0x2d60, + 0x2009, 0x0000, 0x080c, 0x520b, 0x1108, 0xc185, 0x6000, 0xd0bc, + 0x0108, 0xc18d, 0x000e, 0x00ce, 0x0088, 0xa0c6, 0x4007, 0x1110, + 0x2408, 0x0060, 0xa0c6, 0x4008, 0x1118, 0x2708, 0x2610, 0x0030, + 0xa0c6, 0x4009, 0x1108, 0x0010, 0x2001, 0x4006, 0x2020, 0x0804, + 0x2f70, 0x2d00, 0x7022, 0x0016, 0x00b6, 0x00c6, 0x00e6, 0x2c70, + 0x080c, 0x856a, 0x05d8, 0x2d00, 0x601a, 0x080c, 0x9fb8, 0x2e58, + 0x00ee, 0x00e6, 0x00c6, 0x080c, 0x3e33, 0x00ce, 0x2b70, 0x1150, + 0x080c, 0x85c0, 0x00ee, 0x00ce, 0x00be, 0x001e, 0x2009, 0x0002, + 0x0804, 0x2f93, 0x6837, 0x0000, 0x683b, 0x0000, 0x2d00, 0x6012, + 0x6833, 0x0000, 0x6838, 0xc0fd, 0xd88c, 0x0108, 0xc0f5, 0x683a, + 0x0126, 0x2091, 0x8000, 0x080c, 0x2c60, 0x012e, 0x601f, 0x0001, + 0x2001, 0x0000, 0x080c, 0x4eac, 0x2001, 0x0002, 0x080c, 0x4ebe, + 0x2009, 0x0002, 0x080c, 0x85ef, 0xa085, 0x0001, 0x00ee, 0x00ce, + 0x00be, 0x001e, 0x1120, 0x2009, 0x0003, 0x0804, 0x2f93, 0x7007, + 0x0003, 0x701b, 0x3d64, 0x0005, 0x6830, 0xa086, 0x0100, 0x7020, + 0x2060, 0x1138, 0x2009, 0x0004, 0x6204, 0xa294, 0x00ff, 0x0804, + 0x2f93, 0x2009, 0x0000, 0x6838, 0xd0f4, 0x1904, 0x2f6e, 0x080c, + 0x520b, 0x1108, 0xc185, 0x6000, 0xd0bc, 0x0108, 0xc18d, 0x0804, + 0x2f6e, 0x00e6, 0x00d6, 0x2029, 0x0000, 0x2001, 0xb435, 0x2004, + 0xd0ac, 0x0138, 0x2021, 0x0000, 0x20a9, 0x00ff, 0x2071, 0xb535, + 0x0030, 0x2021, 0x0080, 0x20a9, 0x007f, 0x2071, 0xb5b5, 0x2e04, + 0xa005, 0x1130, 0x2100, 0xa406, 0x1570, 0x2428, 0xc5fd, 0x0458, + 0x2068, 0x6f10, 0x2700, 0xa306, 0x11b0, 0x6e14, 0x2600, 0xa206, + 0x1190, 0x2400, 0xa106, 0x1160, 0x2d60, 0xd884, 0x0568, 0x6004, + 0xa084, 0x00ff, 0xa086, 0x0006, 0x1538, 0x2001, 0x4000, 0x0428, + 0x2001, 0x4007, 0x0410, 0x2400, 0xa106, 0x1168, 0x6e14, 0x87ff, + 0x1138, 0x86ff, 0x09d0, 0x2001, 0xb435, 0x2004, 0xd0ac, 0x19a8, + 0x2001, 0x4008, 0x0090, 0x8420, 0x8e70, 0x1f04, 0x3d97, 0x85ff, + 0x1130, 0x2001, 0x4009, 0x0048, 0x2001, 0x0001, 0x0030, 0x080c, + 0x4f0e, 0x1dd0, 0x6312, 0x6216, 0xa006, 0xa005, 0x00de, 0x00ee, + 0x0005, 0x81ff, 0x1904, 0x2f93, 0x080c, 0x3e33, 0x0904, 0x2f93, + 0x6837, 0x0000, 0x6838, 0xc0fd, 0x683a, 0x7824, 0xa005, 0x0904, + 0x2f96, 0xa096, 0x00ff, 0x0120, 0xa092, 0x0004, 0x1a04, 0x2f96, + 0x2010, 0x2d18, 0x080c, 0x2c13, 0x0904, 0x2f93, 0x7007, 0x0003, + 0x701b, 0x3e03, 0x0005, 0x6830, 0xa086, 0x0100, 0x0904, 0x2f93, + 0x0804, 0x2f6e, 0x7924, 0xa18c, 0xff00, 0x810f, 0x60d4, 0xd0ac, + 0x1120, 0xa182, 0x0080, 0x0a04, 0x2f96, 0xa182, 0x00ff, 0x1a04, + 0x2f96, 0x0126, 0x2091, 0x8000, 0x080c, 0x9c1b, 0x1188, 0xa190, + 0xb535, 0x2204, 0xa065, 0x0160, 0x080c, 0x4bc5, 0x2001, 0xb435, + 0x2004, 0xd0ac, 0x0110, 0x6017, 0x0000, 0x012e, 0x0804, 0x2f6e, + 0x012e, 0x0804, 0x2f93, 0x080c, 0x15f4, 0x0188, 0xa006, 0x6802, + 0x7010, 0xa005, 0x1120, 0x2d00, 0x7012, 0x7016, 0x0030, 0x7014, + 0x6802, 0x2060, 0x2d00, 0x6006, 0x7016, 0xad80, 0x000d, 0x0005, + 0x7924, 0x810f, 0xa18c, 0x00ff, 0x080c, 0x4f6a, 0x1130, 0x7e28, + 0xa684, 0x3fff, 0xa082, 0x4000, 0x0208, 0xa066, 0x8cff, 0x0005, + 0x7e24, 0x860f, 0xa18c, 0x00ff, 0x080c, 0x4f6a, 0x1128, 0xa6b4, + 0x00ff, 0xa682, 0x4000, 0x0208, 0xa066, 0x8cff, 0x0005, 0x0016, + 0x7110, 0x81ff, 0x0128, 0x2168, 0x6904, 0x080c, 0x160b, 0x0cc8, + 0x7112, 0x7116, 0x001e, 0x0005, 0x2031, 0x0001, 0x0010, 0x2031, + 0x0000, 0x2061, 0xb4d2, 0x6606, 0x6112, 0x600e, 0x6226, 0x632a, + 0x642e, 0x6532, 0x2c10, 0x080c, 0x163f, 0x7007, 0x0002, 0x701b, + 0x2f6e, 0x0005, 0x00f6, 0x0126, 0x2091, 0x8000, 0x2079, 0x0000, + 0x2001, 0xb490, 0x2004, 0xa005, 0x1168, 0x0e04, 0x3ea2, 0x7818, + 0xd084, 0x1140, 0x7a22, 0x7b26, 0x7c2a, 0x781b, 0x0001, 0x2091, + 0x4080, 0x0408, 0x0016, 0x00c6, 0x00e6, 0x2071, 0xb482, 0x7138, + 0xa182, 0x0010, 0x0218, 0x7030, 0x2060, 0x0078, 0x7030, 0xa0e0, + 0x0004, 0xac82, 0xb4d2, 0x0210, 0x2061, 0xb492, 0x2c00, 0x7032, + 0x81ff, 0x1108, 0x7036, 0x8108, 0x713a, 0x2262, 0x6306, 0x640a, + 0x00ee, 0x00ce, 0x001e, 0x012e, 0x00fe, 0x0005, 0x00e6, 0x2071, + 0xb482, 0x7038, 0xa005, 0x0570, 0x0126, 0x2091, 0x8000, 0x0e04, + 0x3ef9, 0x00f6, 0x2079, 0x0000, 0x7818, 0xd084, 0x1508, 0x00c6, + 0x7034, 0x2060, 0x2c04, 0x7822, 0x6004, 0x7826, 0x6008, 0x782a, + 0x781b, 0x0001, 0x2091, 0x4080, 0x7038, 0x8001, 0x703a, 0xa005, + 0x1130, 0x7033, 0xb492, 0x7037, 0xb492, 0x00ce, 0x0048, 0xac80, + 0x0004, 0xa0fa, 0xb4d2, 0x0210, 0x2001, 0xb492, 0x7036, 0x00ce, + 0x00fe, 0x012e, 0x00ee, 0x0005, 0x0026, 0x2001, 0xb453, 0x2004, + 0xd0c4, 0x0120, 0x2011, 0x8014, 0x080c, 0x3e8a, 0x002e, 0x0005, + 0x81ff, 0x1904, 0x2f93, 0x0126, 0x2091, 0x8000, 0x6030, 0xc08d, + 0xc085, 0xc0ac, 0x6032, 0x080c, 0x5a90, 0x1178, 0x2001, 0xb69f, + 0x2003, 0x0001, 0x2001, 0xb400, 0x2003, 0x0001, 0xa085, 0x0001, + 0x080c, 0x5ad4, 0x080c, 0x59c8, 0x0010, 0x080c, 0x4ad9, 0x012e, + 0x0804, 0x2f6e, 0x7824, 0x2008, 0xa18c, 0xfffd, 0x1128, 0x61e0, + 0xa10d, 0x61e2, 0x0804, 0x2f6e, 0x0804, 0x2f96, 0x81ff, 0x1904, + 0x2f93, 0x6000, 0xa086, 0x0003, 0x1904, 0x2f93, 0x2001, 0xb453, + 0x2004, 0xd0ac, 0x1904, 0x2f93, 0x080c, 0x3e58, 0x0904, 0x2f96, + 0x6004, 0xa084, 0x00ff, 0xa086, 0x0006, 0x1120, 0x7828, 0xa005, + 0x0904, 0x2f6e, 0x00c6, 0x080c, 0x3e33, 0x00ce, 0x0904, 0x2f93, + 0x6837, 0x0000, 0x6833, 0x0000, 0x6838, 0xc0fd, 0x683a, 0x080c, + 0x9dfc, 0x0904, 0x2f93, 0x7007, 0x0003, 0x701b, 0x3f68, 0x0005, + 0x6830, 0xa086, 0x0100, 0x0904, 0x2f93, 0x0804, 0x2f6e, 0x2001, + 0xb400, 0x2004, 0xa086, 0x0003, 0x1904, 0x2f93, 0x7f24, 0x7a2c, + 0x7b28, 0x7c3c, 0x7d38, 0x080c, 0x3e33, 0x0904, 0x2f93, 0x2009, + 0x0000, 0x2031, 0x0000, 0x7023, 0x0000, 0x702f, 0x0000, 0xad80, + 0x0005, 0x7026, 0x20a0, 0x080c, 0x4f6a, 0x1904, 0x3fe2, 0x6004, + 0xa0c4, 0x00ff, 0xa8c6, 0x0006, 0x0130, 0xa0c4, 0xff00, 0xa8c6, + 0x0600, 0x1904, 0x3fe2, 0x2001, 0xb453, 0x2004, 0xd0ac, 0x1128, + 0x080c, 0x520b, 0x1110, 0xd79c, 0x05e8, 0xd794, 0x1110, 0xd784, + 0x0158, 0xac80, 0x0006, 0x2098, 0x3400, 0x20a9, 0x0004, 0x53a3, + 0x080c, 0x3ca2, 0xd794, 0x0148, 0xac80, 0x000a, 0x2098, 0x3400, + 0x20a9, 0x0004, 0x53a3, 0x080c, 0x3ca2, 0x21a2, 0xd794, 0x01d8, + 0xac80, 0x0000, 0x2098, 0x94a0, 0x20a9, 0x0002, 0x53a3, 0xac80, + 0x0003, 0x20a6, 0x94a0, 0xac80, 0x0004, 0x2098, 0x3400, 0x20a9, + 0x0002, 0x53a3, 0x080c, 0x3c94, 0xac80, 0x0026, 0x2098, 0x20a9, + 0x0002, 0x53a3, 0x0008, 0x94a0, 0xd794, 0x0110, 0xa6b0, 0x000b, + 0xa6b0, 0x0005, 0x8108, 0x2001, 0xb435, 0x2004, 0xd0ac, 0x0118, + 0xa186, 0x0100, 0x0040, 0xd78c, 0x0120, 0xa186, 0x0100, 0x0170, + 0x0018, 0xa186, 0x007e, 0x0150, 0xd794, 0x0118, 0xa686, 0x0020, + 0x0010, 0xa686, 0x0028, 0x0150, 0x0804, 0x3f8b, 0x86ff, 0x1120, + 0x7120, 0x810b, 0x0804, 0x2f6e, 0x702f, 0x0001, 0x711e, 0x7020, + 0xa600, 0x7022, 0x772a, 0x2061, 0xb4d2, 0x6007, 0x0000, 0x6612, + 0x7024, 0x600e, 0x6226, 0x632a, 0x642e, 0x6532, 0x2c10, 0x080c, + 0x163f, 0x7007, 0x0002, 0x701b, 0x401e, 0x0005, 0x702c, 0xa005, + 0x1170, 0x711c, 0x7024, 0x20a0, 0x7728, 0x2031, 0x0000, 0x2061, + 0xb4d2, 0x6224, 0x6328, 0x642c, 0x6530, 0x0804, 0x3f8b, 0x7120, + 0x810b, 0x0804, 0x2f6e, 0x2029, 0x007e, 0x7924, 0x7a28, 0x7b2c, + 0x7c38, 0xa184, 0xff00, 0x8007, 0xa0e2, 0x0020, 0x0a04, 0x2f96, + 0xa502, 0x0a04, 0x2f96, 0xa184, 0x00ff, 0xa0e2, 0x0020, 0x0a04, + 0x2f96, 0xa502, 0x0a04, 0x2f96, 0xa284, 0xff00, 0x8007, 0xa0e2, + 0x0020, 0x0a04, 0x2f96, 0xa502, 0x0a04, 0x2f96, 0xa284, 0x00ff, + 0xa0e2, 0x0020, 0x0a04, 0x2f96, 0xa502, 0x0a04, 0x2f96, 0xa384, + 0xff00, 0x8007, 0xa0e2, 0x0020, 0x0a04, 0x2f96, 0xa502, 0x0a04, + 0x2f96, 0xa384, 0x00ff, 0xa0e2, 0x0020, 0x0a04, 0x2f96, 0xa502, + 0x0a04, 0x2f96, 0xa484, 0xff00, 0x8007, 0xa0e2, 0x0020, 0x0a04, + 0x2f96, 0xa502, 0x0a04, 0x2f96, 0xa484, 0x00ff, 0xa0e2, 0x0020, + 0x0a04, 0x2f96, 0xa502, 0x0a04, 0x2f96, 0x2061, 0xb6b9, 0x6102, + 0x6206, 0x630a, 0x640e, 0x0804, 0x2f6e, 0x0006, 0x2001, 0xb453, + 0x2004, 0xd0cc, 0x000e, 0x0005, 0x0006, 0x2001, 0xb472, 0x2004, + 0xd0bc, 0x000e, 0x0005, 0x6168, 0x7a24, 0x6300, 0x82ff, 0x1118, + 0x7926, 0x0804, 0x2f6e, 0x83ff, 0x1904, 0x2f96, 0x2001, 0xfff0, + 0xa200, 0x1a04, 0x2f96, 0x2019, 0xffff, 0x606c, 0xa302, 0xa200, + 0x0a04, 0x2f96, 0x7926, 0x626a, 0x0804, 0x2f6e, 0x2001, 0xb400, + 0x2004, 0xa086, 0x0003, 0x1904, 0x2f93, 0x7c28, 0x7d24, 0x7e38, + 0x7f2c, 0x080c, 0x3e33, 0x0904, 0x2f93, 0x2009, 0x0000, 0x2019, + 0x0000, 0x7023, 0x0000, 0x702f, 0x0000, 0xad80, 0x0003, 0x7026, + 0x20a0, 0xa1e0, 0xb535, 0x2c64, 0x8cff, 0x01b8, 0x6004, 0xa084, + 0x00ff, 0xa086, 0x0006, 0x0130, 0x6004, 0xa084, 0xff00, 0xa086, + 0x0600, 0x1158, 0x6014, 0x20a2, 0x94a0, 0x6010, 0x8007, 0xa105, + 0x8007, 0x20a2, 0x94a0, 0xa398, 0x0002, 0x8108, 0xa182, 0x00ff, + 0x0120, 0xa386, 0x002a, 0x0148, 0x08e0, 0x83ff, 0x1120, 0x7120, + 0x810c, 0x0804, 0x2f6e, 0x702f, 0x0001, 0x711e, 0x7020, 0xa300, + 0x7022, 0x2061, 0xb4d2, 0x6007, 0x0000, 0x6312, 0x7024, 0x600e, + 0x6426, 0x652a, 0x662e, 0x6732, 0x2c10, 0x080c, 0x163f, 0x7007, + 0x0002, 0x701b, 0x4114, 0x0005, 0x702c, 0xa005, 0x1168, 0x711c, + 0x7024, 0x20a0, 0x2019, 0x0000, 0x2061, 0xb4d2, 0x6424, 0x6528, + 0x662c, 0x6730, 0x0804, 0x40d1, 0x7120, 0x810c, 0x0804, 0x2f6e, + 0x81ff, 0x1904, 0x2f93, 0x60d4, 0xd0ac, 0x1118, 0xd09c, 0x0904, + 0x2f93, 0x080c, 0x3e33, 0x0904, 0x2f93, 0x7924, 0x7a2c, 0x7b28, + 0x7c3c, 0x7d38, 0x080c, 0x3e74, 0x701b, 0x413f, 0x0005, 0x00d6, + 0xade8, 0x000d, 0x6828, 0xa0be, 0x7000, 0x0148, 0xa0be, 0x7100, + 0x0130, 0xa0be, 0x7200, 0x0118, 0x00de, 0x0804, 0x2f96, 0x6820, + 0x6924, 0x080c, 0x27e3, 0x1510, 0x080c, 0x4f0e, 0x11f8, 0x7122, + 0x6612, 0x6516, 0x6e18, 0x00c6, 0x080c, 0x3e33, 0x01b8, 0x080c, + 0x3e33, 0x01a0, 0x00ce, 0x00de, 0x6837, 0x0000, 0x6838, 0xc0fd, + 0x683a, 0x6823, 0x0000, 0x6804, 0x2068, 0x080c, 0x9d4f, 0x0904, + 0x2f93, 0x7007, 0x0003, 0x701b, 0x4179, 0x0005, 0x00de, 0x0804, + 0x2f93, 0x7120, 0x080c, 0x2d5b, 0x6820, 0xa086, 0x8001, 0x0904, + 0x2f93, 0x2d00, 0x701e, 0x6804, 0xa080, 0x0002, 0x0006, 0x20a9, + 0x002a, 0x2098, 0x20a0, 0x080c, 0x4b49, 0x000e, 0xade8, 0x000d, + 0x6a08, 0x6b0c, 0x6c10, 0x6d14, 0x2061, 0xb4d2, 0x6007, 0x0000, + 0x6e00, 0x6f28, 0xa7c6, 0x7000, 0x1108, 0x0018, 0xa7c6, 0x7100, + 0x1140, 0xa6c2, 0x0004, 0x0a04, 0x2f96, 0x2009, 0x0004, 0x0804, + 0x3e77, 0xa7c6, 0x7200, 0x1904, 0x2f96, 0xa6c2, 0x0054, 0x0a04, + 0x2f96, 0x600e, 0x6013, 0x002a, 0x6226, 0x632a, 0x642e, 0x6532, + 0x2c10, 0x080c, 0x163f, 0x7007, 0x0002, 0x701b, 0x41c0, 0x0005, + 0x701c, 0x2068, 0x6804, 0xa080, 0x0001, 0x2004, 0xa080, 0x0002, + 0x0006, 0x20a9, 0x002a, 0x2098, 0x20a0, 0x080c, 0x4b49, 0x000e, + 0x2009, 0x002a, 0x2061, 0xb4d2, 0x6224, 0x6328, 0x642c, 0x6530, + 0x0804, 0x3e77, 0x81ff, 0x1904, 0x2f93, 0x792c, 0x2001, 0xb6a0, + 0x2102, 0x080c, 0x3e48, 0x0904, 0x2f96, 0x080c, 0x5030, 0x0904, + 0x2f93, 0x0126, 0x2091, 0x8000, 0x080c, 0x5162, 0x012e, 0x0804, + 0x2f6e, 0x7824, 0xd08c, 0x1118, 0xd084, 0x0904, 0x3a03, 0x080c, + 0x3e58, 0x0904, 0x2f96, 0x00c6, 0x080c, 0x3e33, 0x00ce, 0x1120, + 0x2009, 0x0002, 0x0804, 0x2f93, 0x6004, 0xa084, 0x00ff, 0xa086, + 0x0006, 0x0128, 0xa08e, 0x0004, 0x0110, 0xa08e, 0x0005, 0x15b8, + 0x7824, 0xd08c, 0x0120, 0x6000, 0xc08c, 0x6002, 0x0030, 0x2001, + 0xb453, 0x2004, 0xd0b4, 0x0904, 0x3a3f, 0x7824, 0xa084, 0xff00, + 0xa08e, 0x7e00, 0x0904, 0x3a3f, 0xa08e, 0x7f00, 0x0904, 0x3a3f, + 0xa08e, 0x8000, 0x0904, 0x3a3f, 0x6000, 0xd08c, 0x1904, 0x3a3f, + 0x6837, 0x0000, 0x6838, 0xc0fd, 0x683a, 0x080c, 0x9d6b, 0x1120, + 0x2009, 0x0003, 0x0804, 0x2f93, 0x7007, 0x0003, 0x701b, 0x4241, + 0x0005, 0x080c, 0x3e58, 0x0904, 0x2f96, 0x0804, 0x3a3f, 0x2009, + 0xb431, 0x210c, 0x81ff, 0x0120, 0x2009, 0x0001, 0x0804, 0x2f93, + 0x2001, 0xb400, 0x2004, 0xa086, 0x0003, 0x0120, 0x2009, 0x0007, + 0x0804, 0x2f93, 0x2001, 0xb453, 0x2004, 0xd0ac, 0x0120, 0x2009, + 0x0008, 0x0804, 0x2f93, 0x609c, 0xd0a4, 0x1118, 0xd0ac, 0x1904, + 0x3a3f, 0x6837, 0x0000, 0x6833, 0x0000, 0x6838, 0xc0fd, 0x683a, + 0x080c, 0x9dfc, 0x1120, 0x2009, 0x0003, 0x0804, 0x2f93, 0x7007, + 0x0003, 0x701b, 0x427c, 0x0005, 0x6830, 0xa086, 0x0100, 0x1120, + 0x2009, 0x0004, 0x0804, 0x2f93, 0x080c, 0x3e58, 0x0904, 0x2f96, + 0x0804, 0x4210, 0x81ff, 0x2009, 0x0001, 0x1904, 0x2f93, 0x6000, + 0xa086, 0x0003, 0x2009, 0x0007, 0x1904, 0x2f93, 0x2001, 0xb453, + 0x2004, 0xd0ac, 0x2009, 0x0008, 0x1904, 0x2f93, 0x080c, 0x3e58, + 0x0904, 0x2f96, 0x6004, 0xa084, 0x00ff, 0xa086, 0x0006, 0x2009, + 0x0009, 0x1904, 0x2f93, 0x00c6, 0x080c, 0x3e33, 0x00ce, 0x2009, + 0x0002, 0x0904, 0x2f93, 0x6837, 0x0000, 0x6833, 0x0000, 0x6838, + 0xc0fd, 0x683a, 0x7928, 0xa194, 0xff00, 0xa18c, 0x00ff, 0xa006, + 0x82ff, 0x1128, 0xc0ed, 0x6952, 0x792c, 0x6956, 0x0048, 0xa28e, + 0x0100, 0x1904, 0x2f96, 0xc0e5, 0x6853, 0x0000, 0x6857, 0x0000, + 0x683e, 0x080c, 0x9fb9, 0x2009, 0x0003, 0x0904, 0x2f93, 0x7007, + 0x0003, 0x701b, 0x42dc, 0x0005, 0x6830, 0xa086, 0x0100, 0x2009, + 0x0004, 0x0904, 0x2f93, 0x0804, 0x2f6e, 0x81ff, 0x2009, 0x0001, + 0x1904, 0x2f93, 0x6000, 0xa086, 0x0003, 0x2009, 0x0007, 0x1904, + 0x2f93, 0x080c, 0x3e58, 0x0904, 0x2f96, 0x6004, 0xa084, 0x00ff, + 0xa086, 0x0006, 0x2009, 0x0009, 0x1904, 0x2f93, 0x00c6, 0x080c, + 0x3e33, 0x00ce, 0x2009, 0x0002, 0x0904, 0x2f93, 0xad80, 0x000f, + 0x2009, 0x0008, 0x7a2c, 0x7b28, 0x7c3c, 0x7d38, 0x080c, 0x3e74, + 0x701b, 0x4313, 0x0005, 0x00d6, 0xade8, 0x000f, 0x6800, 0xa086, + 0x0500, 0x1140, 0x6804, 0xa005, 0x1128, 0x6808, 0xa084, 0xff00, + 0x1108, 0x0018, 0x00de, 0x1904, 0x2f96, 0x00de, 0x6837, 0x0000, + 0x6833, 0x0000, 0x6838, 0xc0fd, 0x683a, 0x00c6, 0x080c, 0x3e58, + 0x1118, 0x00ce, 0x0804, 0x2f96, 0x080c, 0xa008, 0x2009, 0x0003, + 0x00ce, 0x0904, 0x2f93, 0x7007, 0x0003, 0x701b, 0x4340, 0x0005, + 0x6830, 0xa086, 0x0100, 0x2009, 0x0004, 0x0904, 0x2f93, 0x0804, + 0x2f6e, 0x81ff, 0x0120, 0x2009, 0x0001, 0x0804, 0x2f93, 0x6000, + 0xa086, 0x0003, 0x0120, 0x2009, 0x0007, 0x0804, 0x2f93, 0x7e24, + 0x860f, 0xa18c, 0x00ff, 0xa6b4, 0x00ff, 0x080c, 0x4f6a, 0x1904, + 0x2f96, 0xa186, 0x007f, 0x0150, 0x6004, 0xa084, 0x00ff, 0xa086, + 0x0006, 0x0120, 0x2009, 0x0009, 0x0804, 0x2f93, 0x00c6, 0x080c, + 0x3e33, 0x00ce, 0x1120, 0x2009, 0x0002, 0x0804, 0x2f93, 0x6837, + 0x0000, 0x6838, 0xc0fd, 0x683a, 0x2001, 0x0100, 0x8007, 0x680a, + 0x080c, 0x9d86, 0x1120, 0x2009, 0x0003, 0x0804, 0x2f93, 0x7007, + 0x0003, 0x701b, 0x438c, 0x0005, 0x6808, 0x8007, 0xa086, 0x0100, + 0x1120, 0x2009, 0x0004, 0x0804, 0x2f93, 0x68b0, 0x6836, 0x6810, + 0x8007, 0xa084, 0x00ff, 0x800c, 0x6814, 0x8007, 0xa084, 0x00ff, + 0x8004, 0xa080, 0x0002, 0xa108, 0xad80, 0x0004, 0x7a2c, 0x7b28, + 0x7c3c, 0x7d38, 0x0804, 0x3e77, 0x080c, 0x3e33, 0x1120, 0x2009, + 0x0002, 0x0804, 0x2f93, 0x7924, 0xa194, 0xff00, 0xa18c, 0x00ff, + 0x8217, 0x82ff, 0x0110, 0x0804, 0x2f96, 0x2009, 0x001a, 0x7a2c, + 0x7b28, 0x7c3c, 0x7d38, 0x080c, 0x3e74, 0x701b, 0x43c8, 0x0005, + 0xad80, 0x000d, 0x2098, 0x20a9, 0x001a, 0x20a1, 0xb6c6, 0x53a3, + 0x0804, 0x2f6e, 0x080c, 0x3e33, 0x1120, 0x2009, 0x0002, 0x0804, + 0x2f93, 0x7924, 0xa194, 0xff00, 0xa18c, 0x00ff, 0x8217, 0x82ff, + 0x0110, 0x0804, 0x2f96, 0x2099, 0xb6c6, 0x20a0, 0x20a9, 0x001a, + 0x53a3, 0x2009, 0x001a, 0x7a2c, 0x7b28, 0x7c3c, 0x7d38, 0x0804, + 0x3e77, 0x7824, 0xa08a, 0x1000, 0x1a04, 0x2f96, 0x0126, 0x2091, + 0x8000, 0x8003, 0x800b, 0x810b, 0xa108, 0x00c6, 0x2061, 0xb6f3, + 0x6142, 0x00ce, 0x012e, 0x0804, 0x2f6e, 0x00c6, 0x080c, 0x5a90, + 0x1188, 0x2001, 0xb69f, 0x2003, 0x0001, 0x2001, 0xb400, 0x2003, + 0x0001, 0xa085, 0x0001, 0x080c, 0x5ad4, 0x080c, 0x59c8, 0x080c, + 0x1511, 0x0038, 0x2061, 0xb400, 0x6030, 0xc09d, 0x6032, 0x080c, + 0x4ad9, 0x00ce, 0x0005, 0x0126, 0x2091, 0x8000, 0x00c6, 0x2061, + 0xb6f3, 0x7924, 0x6152, 0x614e, 0x6057, 0x0000, 0x604b, 0x0009, + 0x7838, 0x606a, 0x783c, 0x6066, 0x7828, 0x6062, 0x782c, 0x605e, + 0x2061, 0xb6a1, 0x2001, 0xb708, 0x600e, 0x6013, 0x0001, 0x6017, + 0x0002, 0x6007, 0x0000, 0x6037, 0x0000, 0x00ce, 0x012e, 0x0804, + 0x2f6e, 0x0126, 0x00c6, 0x00e6, 0x2061, 0x0100, 0x2071, 0xb400, + 0x6044, 0xd0a4, 0x11b0, 0xd084, 0x0118, 0x080c, 0x45c0, 0x0068, + 0xd08c, 0x0118, 0x080c, 0x44e1, 0x0040, 0xd094, 0x0118, 0x080c, + 0x44b2, 0x0018, 0xd09c, 0x0108, 0x0061, 0x00ee, 0x00ce, 0x012e, + 0x0005, 0x0016, 0x6128, 0xd19c, 0x1110, 0xc19d, 0x612a, 0x001e, + 0x0ca0, 0x624c, 0xa286, 0xf0f0, 0x1150, 0x6048, 0xa086, 0xf0f0, + 0x0130, 0x624a, 0x6043, 0x0090, 0x6043, 0x0010, 0x0490, 0xa294, + 0xff00, 0xa296, 0xf700, 0x0178, 0x7134, 0xd1a4, 0x1160, 0x6240, + 0xa295, 0x0100, 0x6242, 0xa294, 0x0010, 0x0128, 0x2009, 0x00f7, + 0x080c, 0x4b69, 0x00f0, 0x6040, 0xa084, 0x0010, 0xa085, 0x0140, + 0x6042, 0x6043, 0x0000, 0x707b, 0x0000, 0x7097, 0x0001, 0x70bb, + 0x0000, 0x70d7, 0x0000, 0x2009, 0xbbc0, 0x200b, 0x0000, 0x708b, + 0x0000, 0x707f, 0x000a, 0x2009, 0x000a, 0x2011, 0x4a8f, 0x080c, + 0x69e7, 0x0005, 0x0156, 0x2001, 0xb474, 0x2004, 0xd08c, 0x0110, + 0x7053, 0xffff, 0x707c, 0xa005, 0x1510, 0x2011, 0x4a8f, 0x080c, + 0x6961, 0x6040, 0xa094, 0x0010, 0xa285, 0x0020, 0x6042, 0x20a9, + 0x00c8, 0x6044, 0xd08c, 0x1168, 0x1f04, 0x44c9, 0x6242, 0x708f, + 0x0000, 0x6040, 0xa094, 0x0010, 0xa285, 0x0080, 0x6042, 0x6242, + 0x0030, 0x6242, 0x708f, 0x0000, 0x7083, 0x0000, 0x0000, 0x015e, + 0x0005, 0x7080, 0xa08a, 0x0003, 0x1210, 0x0023, 0x0010, 0x080c, + 0x1511, 0x0005, 0x44ed, 0x453d, 0x45bf, 0x00f6, 0x7083, 0x0001, + 0x20e1, 0xa000, 0xe000, 0x20e1, 0x8700, 0x080c, 0x2439, 0x20e1, + 0x9080, 0x20e1, 0x4000, 0x2079, 0xba00, 0x207b, 0x2200, 0x7807, + 0x00ef, 0x780b, 0x0000, 0x780f, 0x00ef, 0x7813, 0x0138, 0x7817, + 0x0000, 0x781b, 0x0000, 0x781f, 0x0000, 0x7823, 0xffff, 0x7827, + 0xffff, 0x782b, 0x0000, 0x782f, 0x0000, 0x2079, 0xba0c, 0x207b, + 0x1101, 0x7807, 0x0000, 0x2099, 0xb405, 0x20a1, 0xba0e, 0x20a9, + 0x0004, 0x53a3, 0x2079, 0xba12, 0x207b, 0x0000, 0x7807, 0x0000, + 0x2099, 0xba00, 0x20a1, 0x020b, 0x20a9, 0x0014, 0x53a6, 0x60c3, + 0x000c, 0x600f, 0x0000, 0x080c, 0x4ac0, 0x00fe, 0x7087, 0x0000, + 0x6043, 0x0008, 0x6043, 0x0000, 0x0005, 0x00d6, 0x7084, 0x7087, + 0x0000, 0xa025, 0x0904, 0x45a7, 0x6020, 0xd0b4, 0x1904, 0x45a5, + 0x7194, 0x81ff, 0x0904, 0x4595, 0xa486, 0x000c, 0x1904, 0x45a0, + 0xa480, 0x0018, 0x8004, 0x20a8, 0x2011, 0xba80, 0x2019, 0xba00, + 0x220c, 0x2304, 0xa106, 0x11b8, 0x8210, 0x8318, 0x1f04, 0x4558, + 0x6043, 0x0004, 0x608b, 0xbc94, 0x608f, 0xf0f0, 0x6043, 0x0006, + 0x7083, 0x0002, 0x708f, 0x0002, 0x2009, 0x07d0, 0x2011, 0x4a96, + 0x080c, 0x69e7, 0x0490, 0x2069, 0xba80, 0x6930, 0xa18e, 0x1101, + 0x1538, 0x6834, 0xa005, 0x1520, 0x6900, 0xa18c, 0x00ff, 0x1118, + 0x6804, 0xa005, 0x0190, 0x2011, 0xba8e, 0x2019, 0xb405, 0x20a9, + 0x0004, 0x220c, 0x2304, 0xa102, 0x0230, 0x1190, 0x8210, 0x8318, + 0x1f04, 0x4589, 0x0068, 0x7097, 0x0000, 0x20e1, 0x9080, 0x20e1, + 0x4000, 0x2099, 0xba80, 0x20a1, 0x020b, 0x20a9, 0x0014, 0x53a6, + 0x6043, 0x0008, 0x6043, 0x0000, 0x0010, 0x00de, 0x0005, 0x6040, + 0xa085, 0x0100, 0x6042, 0x6020, 0xd0b4, 0x1db8, 0x60c3, 0x000c, + 0x2011, 0xb6ea, 0x2013, 0x0000, 0x7087, 0x0000, 0x20e1, 0x9080, + 0x60a3, 0x0056, 0x60a7, 0x9575, 0x080c, 0x7d1b, 0x0c30, 0x0005, + 0x708c, 0xa08a, 0x001d, 0x1210, 0x0023, 0x0010, 0x080c, 0x1511, + 0x0005, 0x45f3, 0x4602, 0x462a, 0x4643, 0x4667, 0x468f, 0x46b3, + 0x46e4, 0x4708, 0x4730, 0x4767, 0x478f, 0x47ab, 0x47c1, 0x47e1, + 0x47f4, 0x47fc, 0x482c, 0x4850, 0x4878, 0x489c, 0x48cd, 0x490a, + 0x4939, 0x4955, 0x4994, 0x49b4, 0x49cd, 0x49ce, 0x00c6, 0x2061, + 0xb400, 0x6003, 0x0007, 0x2061, 0x0100, 0x6004, 0xa084, 0xfff9, + 0x6006, 0x00ce, 0x0005, 0x608b, 0xbc94, 0x608f, 0xf0f0, 0x6043, + 0x0002, 0x708f, 0x0001, 0x2009, 0x07d0, 0x2011, 0x4a96, 0x080c, + 0x69e7, 0x0005, 0x00f6, 0x7084, 0xa086, 0x0014, 0x1508, 0x6043, + 0x0000, 0x6020, 0xd0b4, 0x11e0, 0x2079, 0xba80, 0x7a30, 0xa296, + 0x1102, 0x11a0, 0x7834, 0xa005, 0x1188, 0x7a38, 0xd2fc, 0x0128, + 0x70b8, 0xa005, 0x1110, 0x70bb, 0x0001, 0x2011, 0x4a96, 0x080c, + 0x6961, 0x708f, 0x0010, 0x080c, 0x47fc, 0x0010, 0x080c, 0x4ad9, + 0x00fe, 0x0005, 0x708f, 0x0003, 0x6043, 0x0004, 0x2011, 0x4a96, + 0x080c, 0x6961, 0x080c, 0x4b51, 0x20a3, 0x1102, 0x20a3, 0x0000, + 0x20a9, 0x000a, 0x20a3, 0x0000, 0x1f04, 0x463a, 0x60c3, 0x0014, + 0x080c, 0x4ac0, 0x0005, 0x00f6, 0x7084, 0xa005, 0x01f0, 0x2011, + 0x4a96, 0x080c, 0x6961, 0xa086, 0x0014, 0x11a8, 0x2079, 0xba80, + 0x7a30, 0xa296, 0x1102, 0x1178, 0x7834, 0xa005, 0x1160, 0x7a38, + 0xd2fc, 0x0128, 0x70b8, 0xa005, 0x1110, 0x70bb, 0x0001, 0x708f, + 0x0004, 0x0029, 0x0010, 0x080c, 0x4ad9, 0x00fe, 0x0005, 0x708f, + 0x0005, 0x080c, 0x4b51, 0x20a3, 0x1103, 0x20a3, 0x0000, 0x3430, + 0x2011, 0xba8e, 0x080c, 0x4ba2, 0x1160, 0x7078, 0xa005, 0x1148, + 0x7150, 0xa186, 0xffff, 0x0128, 0x080c, 0x4a5a, 0x0110, 0x080c, + 0x4b80, 0x20a9, 0x0008, 0x2298, 0x26a0, 0x53a6, 0x20a3, 0x0000, + 0x20a3, 0x0000, 0x60c3, 0x0014, 0x080c, 0x4ac0, 0x0005, 0x00f6, + 0x7084, 0xa005, 0x01f0, 0x2011, 0x4a96, 0x080c, 0x6961, 0xa086, + 0x0014, 0x11a8, 0x2079, 0xba80, 0x7a30, 0xa296, 0x1103, 0x1178, + 0x7834, 0xa005, 0x1160, 0x7a38, 0xd2fc, 0x0128, 0x70b8, 0xa005, + 0x1110, 0x70bb, 0x0001, 0x708f, 0x0006, 0x0029, 0x0010, 0x080c, + 0x4ad9, 0x00fe, 0x0005, 0x708f, 0x0007, 0x080c, 0x4b51, 0x20a3, + 0x1104, 0x20a3, 0x0000, 0x3430, 0x2011, 0xba8e, 0x080c, 0x4ba2, + 0x11a8, 0x7078, 0xa005, 0x1190, 0x7158, 0xa186, 0xffff, 0x0170, + 0xa180, 0x2d88, 0x200d, 0xa18c, 0xff00, 0x810f, 0x080c, 0x4a5a, + 0x0128, 0x080c, 0x4094, 0x0110, 0x080c, 0x282d, 0x20a9, 0x0008, + 0x2298, 0x26a0, 0x53a6, 0x20a3, 0x0000, 0x20a3, 0x0000, 0x60c3, + 0x0014, 0x080c, 0x4ac0, 0x0005, 0x00f6, 0x7084, 0xa005, 0x01f0, + 0x2011, 0x4a96, 0x080c, 0x6961, 0xa086, 0x0014, 0x11a8, 0x2079, + 0xba80, 0x7a30, 0xa296, 0x1104, 0x1178, 0x7834, 0xa005, 0x1160, + 0x7a38, 0xd2fc, 0x0128, 0x70b8, 0xa005, 0x1110, 0x70bb, 0x0001, + 0x708f, 0x0008, 0x0029, 0x0010, 0x080c, 0x4ad9, 0x00fe, 0x0005, + 0x708f, 0x0009, 0x080c, 0x4b51, 0x20a3, 0x1105, 0x20a3, 0x0100, + 0x3430, 0x080c, 0x4ba2, 0x1150, 0x7078, 0xa005, 0x1138, 0x080c, + 0x49cf, 0x1170, 0xa085, 0x0001, 0x080c, 0x282d, 0x20a9, 0x0008, + 0x2099, 0xba8e, 0x26a0, 0x53a6, 0x20a3, 0x0000, 0x20a3, 0x0000, + 0x60c3, 0x0014, 0x080c, 0x4ac0, 0x0010, 0x080c, 0x45e6, 0x0005, + 0x00f6, 0x7084, 0xa005, 0x0588, 0x2011, 0x4a96, 0x080c, 0x6961, + 0xa086, 0x0014, 0x1540, 0x2079, 0xba80, 0x7a30, 0xa296, 0x1105, + 0x1510, 0x7834, 0x2011, 0x0100, 0xa21e, 0x1160, 0x7a38, 0xd2fc, + 0x0128, 0x70b8, 0xa005, 0x1110, 0x70bb, 0x0001, 0x708f, 0x000a, + 0x00b1, 0x0098, 0xa005, 0x1178, 0x7a38, 0xd2fc, 0x0128, 0x70b8, + 0xa005, 0x1110, 0x70bb, 0x0001, 0x708b, 0x0000, 0x708f, 0x000e, + 0x080c, 0x47e1, 0x0010, 0x080c, 0x4ad9, 0x00fe, 0x0005, 0x708f, + 0x000b, 0x2011, 0xba0e, 0x22a0, 0x20a9, 0x0040, 0x2019, 0xffff, + 0x43a4, 0x20a9, 0x0002, 0x2009, 0x0000, 0x41a4, 0x080c, 0x4b51, + 0x20a3, 0x1106, 0x20a3, 0x0000, 0x080c, 0x4ba2, 0x0118, 0x2013, + 0x0000, 0x0020, 0x7054, 0xa085, 0x0100, 0x2012, 0x2298, 0x20a9, + 0x0042, 0x53a6, 0x60c3, 0x0084, 0x080c, 0x4ac0, 0x0005, 0x00f6, + 0x7084, 0xa005, 0x01b0, 0x2011, 0x4a96, 0x080c, 0x6961, 0xa086, + 0x0084, 0x1168, 0x2079, 0xba80, 0x7a30, 0xa296, 0x1106, 0x1138, + 0x7834, 0xa005, 0x1120, 0x708f, 0x000c, 0x0029, 0x0010, 0x080c, + 0x4ad9, 0x00fe, 0x0005, 0x708f, 0x000d, 0x080c, 0x4b51, 0x20a3, + 0x1107, 0x20a3, 0x0000, 0x2099, 0xba8e, 0x20a9, 0x0040, 0x53a6, + 0x20a3, 0x0000, 0x20a3, 0x0000, 0x60c3, 0x0084, 0x080c, 0x4ac0, + 0x0005, 0x00f6, 0x7084, 0xa005, 0x01d0, 0x2011, 0x4a96, 0x080c, + 0x6961, 0xa086, 0x0084, 0x1188, 0x2079, 0xba80, 0x7a30, 0xa296, + 0x1107, 0x1158, 0x7834, 0xa005, 0x1140, 0x708b, 0x0001, 0x080c, + 0x4b43, 0x708f, 0x000e, 0x0029, 0x0010, 0x080c, 0x4ad9, 0x00fe, + 0x0005, 0x708f, 0x000f, 0x7087, 0x0000, 0x608b, 0xbc85, 0x608f, + 0xb5b5, 0x6043, 0x0005, 0x6043, 0x0004, 0x2009, 0x07d0, 0x2011, + 0x4a96, 0x080c, 0x6955, 0x0005, 0x7084, 0xa005, 0x0120, 0x2011, + 0x4a96, 0x080c, 0x6961, 0x0005, 0x708f, 0x0011, 0x080c, 0x4ba2, + 0x11a0, 0x7170, 0x81ff, 0x0188, 0x2009, 0x0000, 0x7074, 0xa084, + 0x00ff, 0x080c, 0x27e3, 0xa186, 0x007e, 0x0138, 0xa186, 0x0080, + 0x0120, 0x2011, 0xba8e, 0x080c, 0x4a5a, 0x20e1, 0x9080, 0x20e1, + 0x4000, 0x2099, 0xba80, 0x20a1, 0x020b, 0x7484, 0xa480, 0x0018, + 0xa080, 0x0007, 0xa084, 0x03f8, 0x8004, 0x20a8, 0x53a6, 0x60c3, + 0x0014, 0x080c, 0x4ac0, 0x0005, 0x00f6, 0x7084, 0xa005, 0x01f0, + 0x2011, 0x4a96, 0x080c, 0x6961, 0xa086, 0x0014, 0x11a8, 0x2079, + 0xba80, 0x7a30, 0xa296, 0x1103, 0x1178, 0x7834, 0xa005, 0x1160, + 0x7a38, 0xd2fc, 0x0128, 0x70b8, 0xa005, 0x1110, 0x70bb, 0x0001, + 0x708f, 0x0012, 0x0029, 0x0010, 0x080c, 0x4ad9, 0x00fe, 0x0005, + 0x708f, 0x0013, 0x080c, 0x4b5d, 0x20a3, 0x1103, 0x20a3, 0x0000, + 0x3430, 0x2011, 0xba8e, 0x080c, 0x4ba2, 0x1160, 0x7078, 0xa005, + 0x1148, 0x7150, 0xa186, 0xffff, 0x0128, 0x080c, 0x4a5a, 0x0110, + 0x080c, 0x4b80, 0x20a9, 0x0008, 0x2298, 0x26a0, 0x53a6, 0x20a3, + 0x0000, 0x20a3, 0x0000, 0x60c3, 0x0014, 0x080c, 0x4ac0, 0x0005, + 0x00f6, 0x7084, 0xa005, 0x01f0, 0x2011, 0x4a96, 0x080c, 0x6961, + 0xa086, 0x0014, 0x11a8, 0x2079, 0xba80, 0x7a30, 0xa296, 0x1104, + 0x1178, 0x7834, 0xa005, 0x1160, 0x7a38, 0xd2fc, 0x0128, 0x70b8, + 0xa005, 0x1110, 0x70bb, 0x0001, 0x708f, 0x0014, 0x0029, 0x0010, + 0x080c, 0x4ad9, 0x00fe, 0x0005, 0x708f, 0x0015, 0x080c, 0x4b5d, + 0x20a3, 0x1104, 0x20a3, 0x0000, 0x3430, 0x2011, 0xba8e, 0x080c, + 0x4ba2, 0x11a8, 0x7078, 0xa005, 0x1190, 0x7158, 0xa186, 0xffff, + 0x0170, 0xa180, 0x2d88, 0x200d, 0xa18c, 0xff00, 0x810f, 0x080c, + 0x4a5a, 0x0128, 0x080c, 0x4094, 0x0110, 0x080c, 0x282d, 0x20a9, + 0x0008, 0x2298, 0x26a0, 0x53a6, 0x20a3, 0x0000, 0x20a3, 0x0000, + 0x60c3, 0x0014, 0x080c, 0x4ac0, 0x0005, 0x00f6, 0x7084, 0xa005, + 0x05b8, 0x2011, 0x4a96, 0x080c, 0x6961, 0xa086, 0x0014, 0x1570, + 0x2079, 0xba80, 0x7a30, 0xa296, 0x1105, 0x1540, 0x7834, 0x2011, + 0x0100, 0xa21e, 0x1148, 0x7a38, 0xd2fc, 0x0128, 0x70b8, 0xa005, + 0x1110, 0x70bb, 0x0001, 0x0060, 0xa005, 0x11c0, 0x7a38, 0xd2fc, + 0x0128, 0x70b8, 0xa005, 0x1110, 0x70bb, 0x0001, 0x708b, 0x0000, + 0x7a38, 0xd2f4, 0x0138, 0x2001, 0xb474, 0x2004, 0xd0a4, 0x1110, + 0x70d7, 0x0008, 0x708f, 0x0016, 0x0029, 0x0010, 0x080c, 0x4ad9, + 0x00fe, 0x0005, 0x20e1, 0x9080, 0x20e1, 0x4000, 0x2099, 0xba80, + 0x20a1, 0x020b, 0x20a9, 0x000e, 0x53a6, 0x3430, 0x2011, 0xba8e, + 0x708f, 0x0017, 0x080c, 0x4ba2, 0x1150, 0x7078, 0xa005, 0x1138, + 0x080c, 0x49cf, 0x1170, 0xa085, 0x0001, 0x080c, 0x282d, 0x20a9, + 0x0008, 0x2099, 0xba8e, 0x26a0, 0x53a6, 0x20a3, 0x0000, 0x20a3, + 0x0000, 0x60c3, 0x0014, 0x080c, 0x4ac0, 0x0010, 0x080c, 0x45e6, + 0x0005, 0x00f6, 0x7084, 0xa005, 0x01b0, 0x2011, 0x4a96, 0x080c, + 0x6961, 0xa086, 0x0084, 0x1168, 0x2079, 0xba80, 0x7a30, 0xa296, + 0x1106, 0x1138, 0x7834, 0xa005, 0x1120, 0x708f, 0x0018, 0x0029, + 0x0010, 0x080c, 0x4ad9, 0x00fe, 0x0005, 0x708f, 0x0019, 0x080c, + 0x4b5d, 0x20a3, 0x1106, 0x20a3, 0x0000, 0x3430, 0x2099, 0xba8e, + 0x2039, 0xba0e, 0x27a0, 0x20a9, 0x0040, 0x53a3, 0x080c, 0x4ba2, + 0x11e8, 0x2728, 0x2514, 0x8207, 0xa084, 0x00ff, 0x8000, 0x2018, + 0xa294, 0x00ff, 0x8007, 0xa205, 0x202a, 0x7054, 0x2310, 0x8214, + 0xa2a0, 0xba0e, 0x2414, 0xa38c, 0x0001, 0x0118, 0xa294, 0xff00, + 0x0018, 0xa294, 0x00ff, 0x8007, 0xa215, 0x2222, 0x2798, 0x26a0, + 0x20a9, 0x0040, 0x53a6, 0x20a3, 0x0000, 0x20a3, 0x0000, 0x60c3, + 0x0084, 0x080c, 0x4ac0, 0x0005, 0x00f6, 0x7084, 0xa005, 0x01d0, + 0x2011, 0x4a96, 0x080c, 0x6961, 0xa086, 0x0084, 0x1188, 0x2079, + 0xba80, 0x7a30, 0xa296, 0x1107, 0x1158, 0x7834, 0xa005, 0x1140, + 0x708b, 0x0001, 0x080c, 0x4b43, 0x708f, 0x001a, 0x0029, 0x0010, + 0x080c, 0x4ad9, 0x00fe, 0x0005, 0x708f, 0x001b, 0x20e1, 0x9080, + 0x20e1, 0x4000, 0x2099, 0xba80, 0x20a1, 0x020b, 0x7484, 0xa480, + 0x0018, 0xa080, 0x0007, 0xa084, 0x03f8, 0x8004, 0x20a8, 0x53a6, + 0x60c3, 0x0084, 0x080c, 0x4ac0, 0x0005, 0x0005, 0x0005, 0x0086, + 0x0096, 0x2029, 0xb453, 0x252c, 0x20a9, 0x0008, 0x2041, 0xba0e, + 0x28a0, 0x2099, 0xba8e, 0x53a3, 0x20a9, 0x0008, 0x2011, 0x0007, + 0xd5d4, 0x0110, 0x2011, 0x0000, 0x2800, 0xa200, 0x200c, 0xa1a6, + 0xffff, 0x1148, 0xd5d4, 0x0110, 0x8210, 0x0008, 0x8211, 0x1f04, + 0x49e4, 0x0804, 0x4a52, 0x82ff, 0x1160, 0xd5d4, 0x0120, 0xa1a6, + 0x3fff, 0x0d90, 0x0020, 0xa1a6, 0x3fff, 0x0904, 0x4a52, 0xa18d, + 0xc000, 0x20a9, 0x0010, 0x2019, 0x0001, 0xd5d4, 0x0110, 0x2019, + 0x0010, 0x2120, 0xd5d4, 0x0110, 0x8423, 0x0008, 0x8424, 0x1240, + 0xd5d4, 0x0110, 0x8319, 0x0008, 0x8318, 0x1f04, 0x4a0a, 0x04d0, + 0x23a8, 0x2021, 0x0001, 0x8426, 0x8425, 0x1f04, 0x4a1c, 0x2328, + 0x8529, 0xa2be, 0x0007, 0x0158, 0x0006, 0x2039, 0x0007, 0x2200, + 0xa73a, 0x000e, 0x27a8, 0xa5a8, 0x0010, 0x1f04, 0x4a2b, 0x7552, + 0xa5c8, 0x2d88, 0x292d, 0xa5ac, 0x00ff, 0x7576, 0x6532, 0x6536, + 0x0016, 0x2508, 0x080c, 0x280d, 0x001e, 0x60e7, 0x0000, 0x65ea, + 0x2018, 0x2304, 0xa405, 0x201a, 0x707b, 0x0001, 0x26a0, 0x2898, + 0x20a9, 0x0008, 0x53a6, 0x20a3, 0x0000, 0x20a3, 0x0000, 0xa085, + 0x0001, 0x0028, 0xa006, 0x0018, 0xa006, 0x080c, 0x1511, 0x009e, + 0x008e, 0x0005, 0x2118, 0x2021, 0x0000, 0x2001, 0x0007, 0xa39a, + 0x0010, 0x0218, 0x8420, 0x8001, 0x0cd0, 0x2118, 0x84ff, 0x0120, + 0xa39a, 0x0010, 0x8421, 0x1de0, 0x2021, 0x0001, 0x83ff, 0x0118, + 0x8423, 0x8319, 0x1de8, 0xa238, 0x2704, 0xa42c, 0x11b8, 0xa405, + 0x203a, 0x7152, 0xa1a0, 0x2d88, 0x242d, 0xa5ac, 0x00ff, 0x7576, + 0x6532, 0x6536, 0x0016, 0x2508, 0x080c, 0x280d, 0x001e, 0x60e7, + 0x0000, 0x65ea, 0x707b, 0x0001, 0xa084, 0x0000, 0x0005, 0x00e6, + 0x2071, 0xb400, 0x707f, 0x0000, 0x00ee, 0x0005, 0x00e6, 0x00f6, + 0x2079, 0x0100, 0x2071, 0x0140, 0x080c, 0x7d24, 0x7004, 0xa084, + 0x4000, 0x0120, 0x7003, 0x1000, 0x7003, 0x0000, 0x0126, 0x2091, + 0x8000, 0x2071, 0xb423, 0x2073, 0x0000, 0x7840, 0x0026, 0x0016, + 0x2009, 0x00f7, 0x080c, 0x4b69, 0x001e, 0xa094, 0x0010, 0xa285, + 0x0080, 0x7842, 0x7a42, 0x002e, 0x012e, 0x00fe, 0x00ee, 0x0005, + 0x0126, 0x2091, 0x8000, 0x2011, 0xb6ea, 0x2013, 0x0000, 0x7087, + 0x0000, 0x012e, 0x20e1, 0x9080, 0x60a3, 0x0056, 0x60a7, 0x9575, + 0x080c, 0x7d1b, 0x2009, 0x07d0, 0x2011, 0x4a96, 0x080c, 0x69e7, + 0x0005, 0x0016, 0x0026, 0x00c6, 0x0126, 0x2091, 0x8000, 0x2011, + 0x0003, 0x080c, 0x801f, 0x2011, 0x0002, 0x080c, 0x8029, 0x080c, + 0x7f03, 0x0036, 0x2019, 0x0000, 0x080c, 0x7f8e, 0x003e, 0x2009, + 0x00f7, 0x080c, 0x4b69, 0x2061, 0xb6f3, 0x601b, 0x0000, 0x601f, + 0x0000, 0x2061, 0xb400, 0x6003, 0x0001, 0x2061, 0x0100, 0x6043, + 0x0090, 0x6043, 0x0010, 0x2009, 0x002d, 0x2011, 0x4b0e, 0x080c, + 0x6955, 0x012e, 0x00ce, 0x002e, 0x001e, 0x0005, 0x00e6, 0x0006, + 0x0126, 0x2091, 0x8000, 0x2071, 0x0100, 0x080c, 0x7d24, 0x2071, + 0x0140, 0x7004, 0xa084, 0x4000, 0x0120, 0x7003, 0x1000, 0x7003, + 0x0000, 0x080c, 0x5a98, 0x01a8, 0x080c, 0x5ab6, 0x1190, 0x2001, + 0xb69e, 0x2003, 0xaaaa, 0x0016, 0x080c, 0x28b1, 0x2001, 0xb68f, + 0x2102, 0x001e, 0x2001, 0xb69f, 0x2003, 0x0000, 0x080c, 0x59c8, + 0x0030, 0x2001, 0x0001, 0x080c, 0x2789, 0x080c, 0x4ad9, 0x012e, + 0x000e, 0x00ee, 0x0005, 0x20a9, 0x0040, 0x20a1, 0xbbc0, 0x2099, + 0xba8e, 0x3304, 0x8007, 0x20a2, 0x9398, 0x94a0, 0x1f04, 0x4b49, + 0x0005, 0x20e1, 0x9080, 0x20e1, 0x4000, 0x2099, 0xba00, 0x20a1, + 0x020b, 0x20a9, 0x000c, 0x53a6, 0x0005, 0x20e1, 0x9080, 0x20e1, + 0x4000, 0x2099, 0xba80, 0x20a1, 0x020b, 0x20a9, 0x000c, 0x53a6, + 0x0005, 0x00c6, 0x0006, 0x2061, 0x0100, 0x810f, 0x2001, 0xb431, + 0x2004, 0xa005, 0x1138, 0x2001, 0xb415, 0x2004, 0xa084, 0x00ff, + 0xa105, 0x0010, 0xa185, 0x00f7, 0x604a, 0x000e, 0x00ce, 0x0005, + 0x0016, 0x0046, 0x2001, 0xb453, 0x2004, 0xd0a4, 0x0158, 0xa006, + 0x2020, 0x2009, 0x002a, 0x080c, 0xb06b, 0x2001, 0xb40c, 0x200c, + 0xc195, 0x2102, 0x2019, 0x002a, 0x2009, 0x0000, 0x080c, 0x2c33, + 0x004e, 0x001e, 0x0005, 0x080c, 0x4ad9, 0x708f, 0x0000, 0x7087, + 0x0000, 0x0005, 0x0006, 0x2001, 0xb40c, 0x2004, 0xd09c, 0x0100, + 0x000e, 0x0005, 0x0006, 0x0016, 0x0126, 0x2091, 0x8000, 0x2001, + 0x0101, 0x200c, 0xa18d, 0x0006, 0x2102, 0x012e, 0x001e, 0x000e, + 0x0005, 0x0156, 0x20a9, 0x00ff, 0x2009, 0xb535, 0xa006, 0x200a, + 0x8108, 0x1f04, 0x4bbf, 0x015e, 0x0005, 0x00d6, 0x0036, 0x0156, + 0x0136, 0x0146, 0x2069, 0xb452, 0xa006, 0x6002, 0x6007, 0x0707, + 0x600a, 0x600e, 0x6012, 0xa198, 0x2d88, 0x231d, 0xa39c, 0x00ff, + 0x6316, 0x20a9, 0x0004, 0xac98, 0x0006, 0x23a0, 0x40a4, 0x20a9, + 0x0004, 0xac98, 0x000a, 0x23a0, 0x40a4, 0x603e, 0x6042, 0x604e, + 0x6052, 0x6056, 0x605a, 0x605e, 0x6062, 0x6066, 0x606a, 0x606e, + 0x6072, 0x6076, 0x607a, 0x607e, 0x6082, 0x6086, 0x608a, 0x608e, + 0x6092, 0x6096, 0x609a, 0x609e, 0x60ae, 0x61a2, 0x00d6, 0x60a4, + 0xa06d, 0x0110, 0x080c, 0x160b, 0x60a7, 0x0000, 0x60a8, 0xa06d, + 0x0110, 0x080c, 0x160b, 0x60ab, 0x0000, 0x00de, 0xa006, 0x604a, + 0x6810, 0x603a, 0x680c, 0x6046, 0x6814, 0xa084, 0x00ff, 0x6042, + 0x014e, 0x013e, 0x015e, 0x003e, 0x00de, 0x0005, 0x0126, 0x2091, + 0x8000, 0x6944, 0x6e48, 0xa684, 0x3fff, 0xa082, 0x4000, 0x1a04, + 0x4cd4, 0xa18c, 0xff00, 0x810f, 0xa182, 0x00ff, 0x1a04, 0x4cd9, + 0x2001, 0xb40c, 0x2004, 0xa084, 0x0003, 0x01c0, 0x2001, 0xb40c, + 0x2004, 0xd084, 0x1904, 0x4cbc, 0xa188, 0xb535, 0x2104, 0xa065, + 0x0904, 0x4cbc, 0x6004, 0xa084, 0x00ff, 0xa08e, 0x0006, 0x1904, + 0x4cbc, 0x6000, 0xd0c4, 0x0904, 0x4cbc, 0x0068, 0xa188, 0xb535, + 0x2104, 0xa065, 0x0904, 0x4ca0, 0x6004, 0xa084, 0x00ff, 0xa08e, + 0x0006, 0x1904, 0x4ca5, 0x60a4, 0xa00d, 0x0118, 0x080c, 0x5195, + 0x05d0, 0x60a8, 0xa00d, 0x0188, 0x080c, 0x51e0, 0x1170, 0x694c, + 0xd1fc, 0x1118, 0x080c, 0x4e9f, 0x0448, 0x080c, 0x4e4e, 0x694c, + 0xd1ec, 0x1520, 0x080c, 0x5087, 0x0408, 0x694c, 0xa184, 0xa000, + 0x0178, 0xd1ec, 0x0140, 0xd1fc, 0x0118, 0x080c, 0x5096, 0x0028, + 0x080c, 0x5096, 0x0028, 0xd1fc, 0x0118, 0x080c, 0x4e4e, 0x0070, + 0x6050, 0xa00d, 0x0130, 0x2d00, 0x200a, 0x6803, 0x0000, 0x6052, + 0x0028, 0x2d00, 0x6052, 0x604e, 0x6803, 0x0000, 0x080c, 0x6c6f, + 0xa006, 0x012e, 0x0005, 0x2001, 0x0005, 0x2009, 0x0000, 0x04e8, + 0x2001, 0x0028, 0x2009, 0x0000, 0x04c0, 0xa082, 0x0006, 0x12a0, + 0x2001, 0xb435, 0x2004, 0xd0ac, 0x1160, 0x60a0, 0xd0bc, 0x1148, + 0x6100, 0xd1fc, 0x0904, 0x4c5b, 0x2001, 0x0029, 0x2009, 0x1000, + 0x0420, 0x2001, 0x0028, 0x00a8, 0x2009, 0xb40c, 0x210c, 0xd18c, + 0x0118, 0x2001, 0x0004, 0x0068, 0xd184, 0x0118, 0x2001, 0x0004, + 0x0040, 0x2001, 0x0029, 0x6100, 0xd1fc, 0x0118, 0x2009, 0x1000, + 0x0060, 0x2009, 0x0000, 0x0048, 0x2001, 0x0029, 0x2009, 0x0000, + 0x0020, 0x2001, 0x0029, 0x2009, 0x0000, 0xa005, 0x012e, 0x0005, + 0x00e6, 0x0126, 0x2091, 0x8000, 0x6844, 0x8007, 0xa084, 0x00ff, + 0x2008, 0xa182, 0x00ff, 0x1a04, 0x4d33, 0xa188, 0xb535, 0x2104, + 0xa065, 0x01c0, 0x6004, 0xa084, 0x00ff, 0xa08e, 0x0006, 0x11a8, + 0x2c70, 0x080c, 0x856a, 0x05e8, 0x2e00, 0x601a, 0x2d00, 0x6012, + 0x600b, 0xffff, 0x601f, 0x000a, 0x2009, 0x0003, 0x080c, 0x85ef, + 0xa006, 0x0460, 0x2001, 0x0028, 0x0440, 0xa082, 0x0006, 0x1298, + 0x2001, 0xb435, 0x2004, 0xd0ac, 0x1158, 0x60a0, 0xd0bc, 0x1140, + 0x6100, 0xd1fc, 0x09e8, 0x2001, 0x0029, 0x2009, 0x1000, 0x00a8, + 0x2001, 0x0028, 0x0090, 0x2009, 0xb40c, 0x210c, 0xd18c, 0x0118, + 0x2001, 0x0004, 0x0050, 0xd184, 0x0118, 0x2001, 0x0004, 0x0028, + 0x2001, 0x0029, 0x0010, 0x2001, 0x0029, 0xa005, 0x012e, 0x00ee, + 0x0005, 0x2001, 0x002c, 0x0cc8, 0x00f6, 0x00e6, 0x0126, 0x2091, + 0x8000, 0x2011, 0x0000, 0x2079, 0xb400, 0x6944, 0xa18c, 0xff00, + 0x810f, 0xa182, 0x00ff, 0x1a04, 0x4e05, 0x2001, 0xb40c, 0x2004, + 0xa084, 0x0003, 0x1904, 0x4df3, 0x080c, 0x4f6a, 0x11a0, 0x6004, + 0xa084, 0x00ff, 0xa082, 0x0006, 0x1270, 0x6864, 0xa0c6, 0x006f, + 0x0150, 0x2001, 0xb435, 0x2004, 0xd0ac, 0x1904, 0x4dee, 0x60a0, + 0xd0bc, 0x1904, 0x4dee, 0x6864, 0xa0c6, 0x006f, 0x0118, 0x2008, + 0x0804, 0x4db7, 0x6968, 0x2140, 0xa18c, 0xff00, 0x810f, 0x78d4, + 0xd0ac, 0x1118, 0xa182, 0x0080, 0x06d0, 0xa182, 0x00ff, 0x16b8, + 0x6a70, 0x6b6c, 0x7870, 0xa306, 0x1160, 0x7874, 0xa24e, 0x1118, + 0x2208, 0x2310, 0x0460, 0xa9cc, 0xff00, 0x1118, 0x2208, 0x2310, + 0x0430, 0x080c, 0x3d81, 0x2c70, 0x0550, 0x2009, 0x0000, 0x2011, + 0x0000, 0xa0c6, 0x4000, 0x1160, 0x0006, 0x2e60, 0x080c, 0x520b, + 0x1108, 0xc185, 0x7000, 0xd0bc, 0x0108, 0xc18d, 0x000e, 0x0088, + 0xa0c6, 0x4007, 0x1110, 0x2408, 0x0060, 0xa0c6, 0x4008, 0x1118, + 0x2708, 0x2610, 0x0030, 0xa0c6, 0x4009, 0x1108, 0x0010, 0x2001, + 0x4006, 0x6866, 0x696a, 0x6a6e, 0x2001, 0x0030, 0x0450, 0x080c, + 0x856a, 0x1138, 0x2001, 0x4005, 0x2009, 0x0003, 0x2011, 0x0000, + 0x0c80, 0x2e00, 0x601a, 0x080c, 0x9fb8, 0x2d00, 0x6012, 0x601f, + 0x0001, 0x6838, 0xd88c, 0x0108, 0xc0f5, 0x683a, 0x0126, 0x2091, + 0x8000, 0x080c, 0x2c60, 0x012e, 0x2001, 0x0000, 0x080c, 0x4eac, + 0x2001, 0x0002, 0x080c, 0x4ebe, 0x2009, 0x0002, 0x080c, 0x85ef, + 0xa006, 0xa005, 0x012e, 0x00ee, 0x00fe, 0x0005, 0x2001, 0x0028, + 0x2009, 0x0000, 0x0cb0, 0x2009, 0xb40c, 0x210c, 0xd18c, 0x0118, + 0x2001, 0x0004, 0x0038, 0xd184, 0x0118, 0x2001, 0x0004, 0x0010, + 0x2001, 0x0029, 0x2009, 0x0000, 0x0c20, 0x2001, 0x0029, 0x2009, + 0x0000, 0x08f8, 0x6944, 0x6e48, 0xa684, 0x3fff, 0xa082, 0x4000, + 0x16b8, 0xa18c, 0xff00, 0x810f, 0xa182, 0x00ff, 0x12e0, 0xa188, + 0xb535, 0x2104, 0xa065, 0x01b8, 0x6004, 0xa084, 0x00ff, 0xa08e, + 0x0006, 0x11b0, 0x684c, 0xd0ec, 0x0120, 0x080c, 0x5096, 0x0431, + 0x0030, 0x0421, 0x684c, 0xd0fc, 0x0110, 0x080c, 0x5087, 0x080c, + 0x50d4, 0xa006, 0x00c8, 0x2001, 0x0028, 0x2009, 0x0000, 0x00a0, + 0xa082, 0x0006, 0x1240, 0x6100, 0xd1fc, 0x0d20, 0x2001, 0x0029, + 0x2009, 0x1000, 0x0048, 0x2001, 0x0029, 0x2009, 0x0000, 0x0020, + 0x2001, 0x0029, 0x2009, 0x0000, 0xa005, 0x0005, 0x0126, 0x2091, + 0x8000, 0x6050, 0xa00d, 0x0138, 0x2d00, 0x200a, 0x6803, 0x0000, + 0x6052, 0x012e, 0x0005, 0x2d00, 0x6052, 0x604e, 0x6803, 0x0000, + 0x0cc0, 0x0126, 0x2091, 0x8000, 0x604c, 0xa005, 0x0170, 0x00e6, + 0x2071, 0xb6e0, 0x7004, 0xa086, 0x0002, 0x0168, 0x00ee, 0x604c, + 0x6802, 0x2d00, 0x604e, 0x012e, 0x0005, 0x2d00, 0x6052, 0x604e, + 0x6803, 0x0000, 0x0cc0, 0x701c, 0xac06, 0x1d80, 0x604c, 0x2070, + 0x7000, 0x6802, 0x2d00, 0x7002, 0x00ee, 0x012e, 0x0005, 0x0126, + 0x2091, 0x8000, 0x604c, 0xa06d, 0x0130, 0x6800, 0xa005, 0x1108, + 0x6052, 0x604e, 0xad05, 0x012e, 0x0005, 0x604c, 0xa06d, 0x0130, + 0x6800, 0xa005, 0x1108, 0x6052, 0x604e, 0xad05, 0x0005, 0x6803, + 0x0000, 0x6084, 0xa00d, 0x0120, 0x2d00, 0x200a, 0x6086, 0x0005, + 0x2d00, 0x6086, 0x6082, 0x0cd8, 0x0126, 0x00c6, 0x0026, 0x2091, + 0x8000, 0x6218, 0x2260, 0x6200, 0xa005, 0x0110, 0xc285, 0x0008, + 0xc284, 0x6202, 0x002e, 0x00ce, 0x012e, 0x0005, 0x0126, 0x00c6, + 0x2091, 0x8000, 0x6218, 0x2260, 0x6204, 0x0006, 0xa086, 0x0006, + 0x1180, 0x609c, 0xd0ac, 0x0168, 0x2001, 0xb453, 0x2004, 0xd0a4, + 0x0140, 0xa284, 0xff00, 0x8007, 0xa086, 0x0007, 0x1110, 0x2011, + 0x0600, 0x000e, 0xa294, 0xff00, 0xa215, 0x6206, 0x0006, 0xa086, + 0x0006, 0x1128, 0x6290, 0x82ff, 0x1110, 0x080c, 0x1511, 0x000e, + 0x00ce, 0x012e, 0x0005, 0x0126, 0x00c6, 0x2091, 0x8000, 0x6218, + 0x2260, 0x6204, 0x0006, 0xa086, 0x0006, 0x1178, 0x609c, 0xd0a4, + 0x0160, 0x2001, 0xb453, 0x2004, 0xd0ac, 0x1138, 0xa284, 0x00ff, + 0xa086, 0x0007, 0x1110, 0x2011, 0x0006, 0x000e, 0xa294, 0x00ff, + 0x8007, 0xa215, 0x6206, 0x00ce, 0x012e, 0x0005, 0x0026, 0xa182, + 0x00ff, 0x0218, 0xa085, 0x0001, 0x00b0, 0xa190, 0xb535, 0x2204, + 0xa065, 0x1180, 0x0016, 0x00d6, 0x080c, 0x15db, 0x2d60, 0x00de, + 0x001e, 0x0d80, 0x2c00, 0x2012, 0x60a7, 0x0000, 0x60ab, 0x0000, + 0x080c, 0x4bc5, 0xa006, 0x002e, 0x0005, 0x0126, 0x2091, 0x8000, + 0x0026, 0xa182, 0x00ff, 0x0218, 0xa085, 0x0001, 0x0480, 0x00d6, + 0xa190, 0xb535, 0x2204, 0xa06d, 0x0540, 0x2013, 0x0000, 0x00d6, + 0x00c6, 0x2d60, 0x60a4, 0xa06d, 0x0110, 0x080c, 0x160b, 0x60a8, + 0xa06d, 0x0110, 0x080c, 0x160b, 0x00ce, 0x00de, 0x00d6, 0x00c6, + 0x68ac, 0x2060, 0x8cff, 0x0168, 0x600c, 0x0006, 0x6010, 0x2068, + 0x080c, 0x9beb, 0x0110, 0x080c, 0x161b, 0x080c, 0x85c0, 0x00ce, + 0x0c88, 0x00ce, 0x00de, 0x080c, 0x160b, 0x00de, 0xa006, 0x002e, + 0x012e, 0x0005, 0x0016, 0xa182, 0x00ff, 0x0218, 0xa085, 0x0001, + 0x0030, 0xa188, 0xb535, 0x2104, 0xa065, 0x0dc0, 0xa006, 0x001e, + 0x0005, 0x00d6, 0x0156, 0x0136, 0x0146, 0x600b, 0x0000, 0x600f, + 0x0000, 0x6000, 0xc08c, 0x6002, 0x080c, 0x5a90, 0x1558, 0x60a0, + 0xa086, 0x007e, 0x2069, 0xba90, 0x0130, 0x2001, 0xb435, 0x2004, + 0xd0ac, 0x1500, 0x0098, 0x2d04, 0xd0e4, 0x01e0, 0x00d6, 0x2069, + 0xba8e, 0x00c6, 0x2061, 0xb6b2, 0x6810, 0x2062, 0x6814, 0x6006, + 0x6818, 0x600a, 0x681c, 0x600e, 0x00ce, 0x00de, 0x8d69, 0x2d04, + 0x2069, 0x0140, 0xa005, 0x1110, 0x2001, 0x0001, 0x6886, 0x2069, + 0xb400, 0x68a6, 0x2069, 0xba8e, 0x6808, 0x605e, 0x6810, 0x6062, + 0x6138, 0xa10a, 0x0208, 0x603a, 0x6814, 0x6066, 0x2099, 0xba96, + 0xac88, 0x000a, 0x21a0, 0x20a9, 0x0004, 0x53a3, 0x2099, 0xba9a, + 0xac88, 0x0006, 0x21a0, 0x20a9, 0x0004, 0x53a3, 0x2069, 0xbaae, + 0x6808, 0x606a, 0x690c, 0x616e, 0x6810, 0x6072, 0x6818, 0x6076, + 0x60a0, 0xa086, 0x007e, 0x1120, 0x2069, 0xba8e, 0x690c, 0x616e, + 0xa182, 0x0211, 0x1218, 0x2009, 0x0008, 0x0400, 0xa182, 0x0259, + 0x1218, 0x2009, 0x0007, 0x00d0, 0xa182, 0x02c1, 0x1218, 0x2009, + 0x0006, 0x00a0, 0xa182, 0x0349, 0x1218, 0x2009, 0x0005, 0x0070, + 0xa182, 0x0421, 0x1218, 0x2009, 0x0004, 0x0040, 0xa182, 0x0581, + 0x1218, 0x2009, 0x0003, 0x0010, 0x2009, 0x0002, 0x6192, 0x014e, + 0x013e, 0x015e, 0x00de, 0x0005, 0x0016, 0x0026, 0x00e6, 0x2071, + 0xba8d, 0x2e04, 0x6896, 0x2071, 0xba8e, 0x7004, 0x689a, 0x701c, + 0x689e, 0x6a00, 0x2009, 0xb472, 0x210c, 0xd0bc, 0x0120, 0xd1ec, + 0x0110, 0xc2ad, 0x0008, 0xc2ac, 0xd0c4, 0x0120, 0xd1e4, 0x0110, + 0xc2bd, 0x0008, 0xc2bc, 0x6a02, 0x00ee, 0x002e, 0x001e, 0x0005, + 0x00d6, 0x0126, 0x2091, 0x8000, 0x60a4, 0xa06d, 0x01c0, 0x6900, + 0x81ff, 0x1540, 0x6a04, 0xa282, 0x0010, 0x1648, 0xad88, 0x0004, + 0x20a9, 0x0010, 0x2104, 0xa086, 0xffff, 0x0128, 0x8108, 0x1f04, + 0x5042, 0x080c, 0x1511, 0x260a, 0x8210, 0x6a06, 0x0098, 0x080c, + 0x15f4, 0x01a8, 0x2d00, 0x60a6, 0x6803, 0x0000, 0xad88, 0x0004, + 0x20a9, 0x0010, 0x200b, 0xffff, 0x8108, 0x1f04, 0x505a, 0x6807, + 0x0001, 0x6e12, 0xa085, 0x0001, 0x012e, 0x00de, 0x0005, 0xa006, + 0x0cd8, 0x0126, 0x2091, 0x8000, 0x00d6, 0x60a4, 0xa00d, 0x01a0, + 0x2168, 0x6800, 0xa005, 0x1160, 0x080c, 0x5195, 0x1168, 0x200b, + 0xffff, 0x6804, 0xa08a, 0x0002, 0x0218, 0x8001, 0x6806, 0x0020, + 0x080c, 0x160b, 0x60a7, 0x0000, 0x00de, 0x012e, 0x0005, 0x0126, + 0x2091, 0x8000, 0x080c, 0x51f3, 0x0010, 0x080c, 0x4e4e, 0x080c, + 0x510d, 0x1dd8, 0x080c, 0x50d4, 0x012e, 0x0005, 0x00d6, 0x0126, + 0x2091, 0x8000, 0x60a8, 0xa06d, 0x01c0, 0x6950, 0x81ff, 0x1540, + 0x6a54, 0xa282, 0x0010, 0x1670, 0xad88, 0x0018, 0x20a9, 0x0010, + 0x2104, 0xa086, 0xffff, 0x0128, 0x8108, 0x1f04, 0x50a8, 0x080c, + 0x1511, 0x260a, 0x8210, 0x6a56, 0x0098, 0x080c, 0x15f4, 0x01d0, + 0x2d00, 0x60aa, 0x6853, 0x0000, 0xad88, 0x0018, 0x20a9, 0x0010, + 0x200b, 0xffff, 0x8108, 0x1f04, 0x50c0, 0x6857, 0x0001, 0x6e62, + 0x0010, 0x080c, 0x4e9f, 0x0089, 0x1de0, 0xa085, 0x0001, 0x012e, + 0x00de, 0x0005, 0xa006, 0x0cd8, 0x0126, 0x2091, 0x8000, 0x080c, + 0x6c6f, 0x012e, 0x0005, 0xa01e, 0x0010, 0x2019, 0x0001, 0xa00e, + 0x0126, 0x2091, 0x8000, 0x604c, 0x2068, 0x6000, 0xd0dc, 0x1170, + 0x8dff, 0x01f8, 0x83ff, 0x0120, 0x6848, 0xa606, 0x0158, 0x0030, + 0x683c, 0xa406, 0x1118, 0x6840, 0xa506, 0x0120, 0x2d08, 0x6800, + 0x2068, 0x0c70, 0x080c, 0x80c8, 0x6a00, 0x604c, 0xad06, 0x1110, + 0x624e, 0x0018, 0xa180, 0x0000, 0x2202, 0x82ff, 0x1110, 0x6152, + 0x8dff, 0x012e, 0x0005, 0xa01e, 0x0010, 0x2019, 0x0001, 0xa00e, + 0x6080, 0x2068, 0x8dff, 0x01e8, 0x83ff, 0x0120, 0x6848, 0xa606, + 0x0158, 0x0030, 0x683c, 0xa406, 0x1118, 0x6840, 0xa506, 0x0120, + 0x2d08, 0x6800, 0x2068, 0x0c70, 0x6a00, 0x6080, 0xad06, 0x1110, + 0x6282, 0x0018, 0xa180, 0x0000, 0x2202, 0x82ff, 0x1110, 0x6186, + 0x8dff, 0x0005, 0xa016, 0x080c, 0x518f, 0x1110, 0x2011, 0x0001, + 0x080c, 0x51da, 0x1110, 0xa295, 0x0002, 0x0005, 0x080c, 0x520b, + 0x0118, 0x080c, 0x9ca0, 0x0010, 0xa085, 0x0001, 0x0005, 0x080c, + 0x520b, 0x0118, 0x080c, 0x9c30, 0x0010, 0xa085, 0x0001, 0x0005, + 0x080c, 0x520b, 0x0118, 0x080c, 0x9c83, 0x0010, 0xa085, 0x0001, + 0x0005, 0x080c, 0x520b, 0x0118, 0x080c, 0x9c4c, 0x0010, 0xa085, + 0x0001, 0x0005, 0x080c, 0x520b, 0x0118, 0x080c, 0x9cbc, 0x0010, + 0xa085, 0x0001, 0x0005, 0x0126, 0x0006, 0x00d6, 0x2091, 0x8000, + 0x6080, 0xa06d, 0x01a0, 0x6800, 0x0006, 0x6837, 0x0103, 0x6b4a, + 0x6847, 0x0000, 0x080c, 0x9e5d, 0x0006, 0x6000, 0xd0fc, 0x0110, + 0x080c, 0xb30c, 0x000e, 0x080c, 0x53c9, 0x000e, 0x0c50, 0x6083, + 0x0000, 0x6087, 0x0000, 0x00de, 0x000e, 0x012e, 0x0005, 0x60a4, + 0xa00d, 0x1118, 0xa085, 0x0001, 0x0005, 0x00e6, 0x2170, 0x7000, + 0xa005, 0x1168, 0x20a9, 0x0010, 0xae88, 0x0004, 0x2104, 0xa606, + 0x0130, 0x8108, 0x1f04, 0x519e, 0xa085, 0x0001, 0x0008, 0xa006, + 0x00ee, 0x0005, 0x00d6, 0x0126, 0x2091, 0x8000, 0x60a4, 0xa06d, + 0x1128, 0x080c, 0x15f4, 0x01a0, 0x2d00, 0x60a6, 0x6803, 0x0001, + 0x6807, 0x0000, 0xad88, 0x0004, 0x20a9, 0x0010, 0x200b, 0xffff, + 0x8108, 0x1f04, 0x51be, 0xa085, 0x0001, 0x012e, 0x00de, 0x0005, + 0xa006, 0x0cd8, 0x00d6, 0x0126, 0x2091, 0x8000, 0x60a4, 0xa06d, + 0x0130, 0x60a7, 0x0000, 0x080c, 0x160b, 0xa085, 0x0001, 0x012e, + 0x00de, 0x0005, 0x60a8, 0xa00d, 0x1118, 0xa085, 0x0001, 0x0005, + 0x00e6, 0x2170, 0x7050, 0xa005, 0x1160, 0x20a9, 0x0010, 0xae88, + 0x0018, 0x2104, 0xa606, 0x0128, 0x8108, 0x1f04, 0x51e9, 0xa085, + 0x0001, 0x00ee, 0x0005, 0x0126, 0x2091, 0x8000, 0x0c19, 0x1188, + 0x200b, 0xffff, 0x00d6, 0x60a8, 0x2068, 0x6854, 0xa08a, 0x0002, + 0x0218, 0x8001, 0x6856, 0x0020, 0x080c, 0x160b, 0x60ab, 0x0000, + 0x00de, 0x012e, 0x0005, 0x609c, 0xd0a4, 0x0005, 0x00f6, 0x080c, + 0x5a90, 0x01b0, 0x71b8, 0x81ff, 0x1198, 0x71d4, 0xd19c, 0x0180, + 0x2001, 0x007e, 0xa080, 0xb535, 0x2004, 0xa07d, 0x0148, 0x7804, + 0xa084, 0x00ff, 0xa086, 0x0006, 0x1118, 0x7800, 0xc0ed, 0x7802, + 0x2079, 0xb452, 0x7804, 0xd0a4, 0x01e8, 0x0156, 0x00c6, 0x20a9, + 0x007f, 0x2009, 0x0000, 0x0016, 0x080c, 0x4f6a, 0x1168, 0x6004, + 0xa084, 0xff00, 0x8007, 0xa096, 0x0004, 0x0118, 0xa086, 0x0006, + 0x1118, 0x6000, 0xc0ed, 0x6002, 0x001e, 0x8108, 0x1f04, 0x5233, + 0x00ce, 0x015e, 0x080c, 0x52ca, 0x0120, 0x2001, 0xb6b5, 0x200c, + 0x0038, 0x2079, 0xb452, 0x7804, 0xd0a4, 0x0130, 0x2009, 0x07d0, + 0x2011, 0x525e, 0x080c, 0x69e7, 0x00fe, 0x0005, 0x2011, 0x525e, + 0x080c, 0x6961, 0x080c, 0x52ca, 0x01f0, 0x2001, 0xb5b3, 0x2004, + 0xa080, 0x0000, 0x200c, 0xc1ec, 0x2102, 0x2001, 0xb453, 0x2004, + 0xd0a4, 0x0130, 0x2009, 0x07d0, 0x2011, 0x525e, 0x080c, 0x69e7, + 0x00e6, 0x2071, 0xb400, 0x7073, 0x0000, 0x7077, 0x0000, 0x080c, + 0x2a7e, 0x00ee, 0x04b0, 0x0156, 0x00c6, 0x20a9, 0x007f, 0x2009, + 0x0000, 0x0016, 0x080c, 0x4f6a, 0x1530, 0x6000, 0xd0ec, 0x0518, + 0x0046, 0x62a0, 0xa294, 0x00ff, 0x8227, 0xa006, 0x2009, 0x0029, + 0x080c, 0xb06b, 0x6000, 0xc0e5, 0xc0ec, 0x6002, 0x6004, 0xa084, + 0x00ff, 0xa085, 0x0700, 0x6006, 0x2019, 0x0029, 0x080c, 0x6dba, + 0x0076, 0x2039, 0x0000, 0x080c, 0x6cc7, 0x2009, 0x0000, 0x080c, + 0xae05, 0x007e, 0x004e, 0x001e, 0x8108, 0x1f04, 0x5289, 0x00ce, + 0x015e, 0x0005, 0x00c6, 0x6018, 0x2060, 0x6000, 0xc0ec, 0x6002, + 0x00ce, 0x0005, 0x7818, 0x2004, 0xd0ac, 0x0005, 0x7818, 0x2004, + 0xd0bc, 0x0005, 0x00f6, 0x2001, 0xb5b3, 0x2004, 0xa07d, 0x0110, + 0x7800, 0xd0ec, 0x00fe, 0x0005, 0x0126, 0x0026, 0x2091, 0x8000, + 0x0006, 0x62a0, 0xa290, 0xb535, 0x2204, 0xac06, 0x190c, 0x1511, + 0x000e, 0x6200, 0xa005, 0x0110, 0xc2fd, 0x0008, 0xc2fc, 0x6202, + 0x002e, 0x012e, 0x0005, 0x2011, 0xb435, 0x2204, 0xd0cc, 0x0138, + 0x2001, 0xb6b3, 0x200c, 0x2011, 0x52f8, 0x080c, 0x69e7, 0x0005, + 0x2011, 0x52f8, 0x080c, 0x6961, 0x2011, 0xb435, 0x2204, 0xc0cc, + 0x2012, 0x0005, 0x2071, 0xb514, 0x7003, 0x0001, 0x7007, 0x0000, + 0x7013, 0x0000, 0x7017, 0x0000, 0x701b, 0x0000, 0x701f, 0x0000, + 0x700b, 0x0000, 0x704b, 0x0001, 0x704f, 0x0000, 0x705b, 0x0020, + 0x705f, 0x0040, 0x707f, 0x0000, 0x2071, 0xb67d, 0x7003, 0xb514, + 0x7007, 0x0000, 0x700b, 0x0000, 0x700f, 0xb65d, 0x7013, 0x0020, + 0x7017, 0x0040, 0x7037, 0x0000, 0x0005, 0x0016, 0x00e6, 0x2071, + 0xb635, 0xa00e, 0x7186, 0x718a, 0x7097, 0x0001, 0x2001, 0xb453, + 0x2004, 0xd0fc, 0x1150, 0x2001, 0xb453, 0x2004, 0xa00e, 0xd09c, + 0x0108, 0x8108, 0x7102, 0x0804, 0x5393, 0x2001, 0xb472, 0x200c, + 0xa184, 0x000f, 0x2009, 0xb473, 0x210c, 0x0002, 0x533b, 0x536e, + 0x5375, 0x537f, 0x5384, 0x533b, 0x533b, 0x533b, 0x535e, 0x533b, + 0x533b, 0x533b, 0x533b, 0x533b, 0x533b, 0x533b, 0x7003, 0x0004, + 0x0136, 0x0146, 0x0156, 0x2099, 0xb476, 0x20a1, 0xb686, 0x20a9, + 0x0004, 0x53a3, 0x015e, 0x014e, 0x013e, 0x0428, 0x708f, 0x0005, + 0x7007, 0x0122, 0x2001, 0x0002, 0x0030, 0x708f, 0x0002, 0x7007, + 0x0121, 0x2001, 0x0003, 0x7002, 0x7097, 0x0001, 0x0088, 0x7007, + 0x0122, 0x2001, 0x0002, 0x0020, 0x7007, 0x0121, 0x2001, 0x0003, + 0x7002, 0xa006, 0x7096, 0x708e, 0xa184, 0xff00, 0x8007, 0x709a, + 0xa184, 0x00ff, 0x7092, 0x00ee, 0x001e, 0x0005, 0x00e6, 0x2071, + 0xb514, 0x684c, 0xa005, 0x1130, 0x7028, 0xc085, 0x702a, 0xa085, + 0x0001, 0x0428, 0x6a60, 0x7236, 0x6b64, 0x733a, 0x6868, 0x703e, + 0x7076, 0x686c, 0x7042, 0x707a, 0x684c, 0x702e, 0x6844, 0x7032, + 0x2009, 0x000d, 0x200a, 0x700b, 0x0000, 0x8007, 0x8006, 0x8006, + 0xa08c, 0x003f, 0xa084, 0xffc0, 0xa210, 0x2100, 0xa319, 0x726e, + 0x7372, 0x7028, 0xc084, 0x702a, 0x7007, 0x0001, 0xa006, 0x00ee, + 0x0005, 0x0156, 0x00e6, 0x0026, 0x6838, 0xd0fc, 0x1904, 0x5422, + 0x6804, 0xa00d, 0x0188, 0x00d6, 0x2071, 0xb400, 0xa016, 0x702c, + 0x2168, 0x6904, 0x206a, 0x8210, 0x2d00, 0x81ff, 0x1dc8, 0x702e, + 0x70b4, 0xa200, 0x70b6, 0x00de, 0x2071, 0xb514, 0x701c, 0xa005, + 0x1904, 0x5432, 0x20a9, 0x0032, 0x0f04, 0x5430, 0x0e04, 0x53ec, + 0x2071, 0xb635, 0x7200, 0x82ff, 0x05d8, 0x6934, 0xa186, 0x0103, + 0x1904, 0x5440, 0x6948, 0x6844, 0xa105, 0x1540, 0x2009, 0x8020, + 0x2200, 0x0002, 0x5430, 0x5407, 0x5458, 0x5464, 0x5430, 0x2071, + 0x0000, 0x20a9, 0x0032, 0x0f04, 0x5430, 0x7018, 0xd084, 0x1dd8, + 0x7122, 0x683c, 0x7026, 0x6840, 0x702a, 0x701b, 0x0001, 0x2091, + 0x4080, 0x2071, 0xb400, 0x702c, 0x206a, 0x2d00, 0x702e, 0x70b4, + 0x8000, 0x70b6, 0x002e, 0x00ee, 0x015e, 0x0005, 0x6844, 0xa086, + 0x0100, 0x1130, 0x6868, 0xa005, 0x1118, 0x2009, 0x8020, 0x0880, + 0x2071, 0xb514, 0x2d08, 0x206b, 0x0000, 0x7010, 0x8000, 0x7012, + 0x7018, 0xa06d, 0x711a, 0x0110, 0x6902, 0x0008, 0x711e, 0x0c10, + 0xa18c, 0x00ff, 0xa186, 0x0017, 0x0130, 0xa186, 0x001e, 0x0118, + 0xa18e, 0x001f, 0x1d28, 0x684c, 0xd0cc, 0x0d10, 0x6850, 0xa084, + 0x00ff, 0xa086, 0x0001, 0x19e0, 0x2009, 0x8021, 0x0804, 0x5400, + 0x7084, 0x8008, 0xa092, 0x001e, 0x1a98, 0x7186, 0xae90, 0x0003, + 0xa210, 0x683c, 0x2012, 0x0078, 0x7084, 0x8008, 0xa092, 0x000f, + 0x1a38, 0x7186, 0xae90, 0x0003, 0x8003, 0xa210, 0x683c, 0x2012, + 0x8210, 0x6840, 0x2012, 0x7088, 0xa10a, 0x0a04, 0x5419, 0x718c, + 0x7084, 0xa10a, 0x0a04, 0x5419, 0x2071, 0x0000, 0x7018, 0xd084, + 0x1904, 0x5419, 0x2071, 0xb635, 0x7000, 0xa086, 0x0002, 0x1150, + 0x080c, 0x56e3, 0x2071, 0x0000, 0x701b, 0x0001, 0x2091, 0x4080, + 0x0804, 0x5419, 0x080c, 0x570d, 0x2071, 0x0000, 0x701b, 0x0001, + 0x2091, 0x4080, 0x0804, 0x5419, 0x0006, 0x684c, 0x0006, 0x6837, + 0x0103, 0x20a9, 0x001c, 0xad80, 0x0011, 0x20a0, 0x2001, 0x0000, + 0x40a4, 0x000e, 0xa084, 0x00ff, 0x684e, 0x000e, 0x684a, 0x6952, + 0x0005, 0x2071, 0xb514, 0x7004, 0x0002, 0x54bf, 0x54d0, 0x56ce, + 0x56cf, 0x56dc, 0x56e2, 0x54c0, 0x56bf, 0x5655, 0x56ab, 0x0005, + 0x0126, 0x2091, 0x8000, 0x0e04, 0x54cf, 0x2009, 0x000d, 0x7030, + 0x200a, 0x2091, 0x4080, 0x7007, 0x0001, 0x700b, 0x0000, 0x012e, + 0x2069, 0xb6f3, 0x683c, 0xa005, 0x03f8, 0x11f0, 0x0126, 0x2091, + 0x8000, 0x2069, 0x0000, 0x6934, 0x2001, 0xb520, 0x2004, 0xa10a, + 0x0170, 0x0e04, 0x54f3, 0x2069, 0x0000, 0x6818, 0xd084, 0x1158, + 0x2009, 0x8040, 0x6922, 0x681b, 0x0001, 0x2091, 0x4080, 0x2069, + 0xb6f3, 0x683f, 0xffff, 0x012e, 0x2069, 0xb400, 0x6848, 0x6968, + 0xa102, 0x2069, 0xb635, 0x688a, 0x6984, 0x701c, 0xa06d, 0x0120, + 0x81ff, 0x0904, 0x5549, 0x00a0, 0x81ff, 0x0904, 0x560f, 0x2071, + 0xb635, 0x7184, 0x7088, 0xa10a, 0x1258, 0x7190, 0x2071, 0xb6f3, + 0x7038, 0xa005, 0x0128, 0x1b04, 0x560f, 0x713a, 0x0804, 0x560f, + 0x2071, 0xb635, 0x718c, 0x0126, 0x2091, 0x8000, 0x7084, 0xa10a, + 0x0a04, 0x562a, 0x0e04, 0x55cb, 0x2071, 0x0000, 0x7018, 0xd084, + 0x1904, 0x55cb, 0x2001, 0xffff, 0x2071, 0xb6f3, 0x703a, 0x2071, + 0xb635, 0x7000, 0xa086, 0x0002, 0x1150, 0x080c, 0x56e3, 0x2071, + 0x0000, 0x701b, 0x0001, 0x2091, 0x4080, 0x0804, 0x55cb, 0x080c, + 0x570d, 0x2071, 0x0000, 0x701b, 0x0001, 0x2091, 0x4080, 0x0804, + 0x55cb, 0x2071, 0xb635, 0x7000, 0xa005, 0x0904, 0x55f1, 0x6934, + 0xa186, 0x0103, 0x1904, 0x55ce, 0x684c, 0xd0bc, 0x1904, 0x55f1, + 0x6948, 0x6844, 0xa105, 0x1904, 0x55e6, 0x2009, 0x8020, 0x2071, + 0xb635, 0x7000, 0x0002, 0x55f1, 0x55b1, 0x5589, 0x559b, 0x5568, + 0x0136, 0x0146, 0x0156, 0x2099, 0xb476, 0x20a1, 0xb686, 0x20a9, + 0x0004, 0x53a3, 0x015e, 0x014e, 0x013e, 0x2071, 0xb67d, 0xad80, + 0x000f, 0x700e, 0x7013, 0x0002, 0x7007, 0x0002, 0x700b, 0x0000, + 0x2e10, 0x080c, 0x163f, 0x2071, 0xb514, 0x7007, 0x0009, 0x0804, + 0x560f, 0x7084, 0x8008, 0xa092, 0x001e, 0x1a04, 0x560f, 0xae90, + 0x0003, 0xa210, 0x683c, 0x2012, 0x7186, 0x2071, 0xb514, 0x080c, + 0x5764, 0x0804, 0x560f, 0x7084, 0x8008, 0xa092, 0x000f, 0x1a04, + 0x560f, 0xae90, 0x0003, 0x8003, 0xa210, 0x683c, 0x2012, 0x8210, + 0x6840, 0x2012, 0x7186, 0x2071, 0xb514, 0x080c, 0x5764, 0x0804, + 0x560f, 0x0126, 0x2091, 0x8000, 0x0e04, 0x55cb, 0x2071, 0x0000, + 0x7018, 0xd084, 0x1180, 0x7122, 0x683c, 0x7026, 0x6840, 0x702a, + 0x701b, 0x0001, 0x2091, 0x4080, 0x012e, 0x2071, 0xb514, 0x080c, + 0x5764, 0x0804, 0x560f, 0x012e, 0x0804, 0x560f, 0xa18c, 0x00ff, + 0xa186, 0x0017, 0x0130, 0xa186, 0x001e, 0x0118, 0xa18e, 0x001f, + 0x11c0, 0x684c, 0xd0cc, 0x01a8, 0x6850, 0xa084, 0x00ff, 0xa086, + 0x0001, 0x1178, 0x2009, 0x8021, 0x0804, 0x555f, 0x6844, 0xa086, + 0x0100, 0x1138, 0x6868, 0xa005, 0x1120, 0x2009, 0x8020, 0x0804, + 0x555f, 0x2071, 0xb514, 0x080c, 0x5776, 0x01c8, 0x2071, 0xb514, + 0x700f, 0x0001, 0x6934, 0xa184, 0x00ff, 0xa086, 0x0003, 0x1130, + 0x810f, 0xa18c, 0x00ff, 0x8101, 0x0108, 0x710e, 0x7007, 0x0003, + 0x080c, 0x578f, 0x7050, 0xa086, 0x0100, 0x0904, 0x56cf, 0x0126, + 0x2091, 0x8000, 0x2071, 0xb514, 0x7008, 0xa086, 0x0001, 0x1180, + 0x0e04, 0x5628, 0x2009, 0x000d, 0x7030, 0x200a, 0x2091, 0x4080, + 0x700b, 0x0000, 0x7004, 0xa086, 0x0006, 0x1110, 0x7007, 0x0001, + 0x012e, 0x0005, 0x2071, 0xb514, 0x080c, 0x5776, 0x0518, 0x2071, + 0xb635, 0x7084, 0x700a, 0x20a9, 0x0020, 0x2099, 0xb636, 0x20a1, + 0xb65d, 0x53a3, 0x7087, 0x0000, 0x2071, 0xb514, 0x2069, 0xb67d, + 0x706c, 0x6826, 0x7070, 0x682a, 0x7074, 0x682e, 0x7078, 0x6832, + 0x2d10, 0x080c, 0x163f, 0x7007, 0x0008, 0x2001, 0xffff, 0x2071, + 0xb6f3, 0x703a, 0x012e, 0x0804, 0x560f, 0x2069, 0xb67d, 0x6808, + 0xa08e, 0x0000, 0x0904, 0x56aa, 0xa08e, 0x0200, 0x0904, 0x56a8, + 0xa08e, 0x0100, 0x1904, 0x56aa, 0x0126, 0x2091, 0x8000, 0x0e04, + 0x56a6, 0x2069, 0x0000, 0x6818, 0xd084, 0x15c0, 0x702c, 0x7130, + 0x8108, 0xa102, 0x0230, 0xa00e, 0x7034, 0x706e, 0x7038, 0x7072, + 0x0048, 0x706c, 0xa080, 0x0040, 0x706e, 0x1220, 0x7070, 0xa081, + 0x0000, 0x7072, 0x7132, 0x6936, 0x700b, 0x0000, 0x2001, 0xb65a, + 0x2004, 0xa005, 0x1190, 0x6934, 0x2069, 0xb635, 0x689c, 0x699e, + 0x2069, 0xb6f3, 0xa102, 0x1118, 0x683c, 0xa005, 0x1368, 0x2001, + 0xb65b, 0x200c, 0x810d, 0x693e, 0x0038, 0x2009, 0x8040, 0x6922, + 0x681b, 0x0001, 0x2091, 0x4080, 0x7007, 0x0001, 0x012e, 0x0010, + 0x7007, 0x0005, 0x0005, 0x2001, 0xb67f, 0x2004, 0xa08e, 0x0100, + 0x1128, 0x7007, 0x0001, 0x080c, 0x5764, 0x0005, 0xa08e, 0x0000, + 0x0de0, 0xa08e, 0x0200, 0x1dc8, 0x7007, 0x0005, 0x0005, 0x701c, + 0xa06d, 0x0158, 0x080c, 0x5776, 0x0140, 0x7007, 0x0003, 0x080c, + 0x578f, 0x7050, 0xa086, 0x0100, 0x0110, 0x0005, 0x0005, 0x7050, + 0xa09e, 0x0100, 0x1118, 0x7007, 0x0004, 0x0030, 0xa086, 0x0200, + 0x1110, 0x7007, 0x0005, 0x0005, 0x080c, 0x5732, 0x7006, 0x080c, + 0x5764, 0x0005, 0x0005, 0x00e6, 0x0156, 0x2071, 0xb635, 0x7184, + 0x81ff, 0x0500, 0xa006, 0x7086, 0xae80, 0x0003, 0x2071, 0x0000, + 0x21a8, 0x2014, 0x7226, 0x8000, 0x0f04, 0x5707, 0x2014, 0x722a, + 0x8000, 0x0f04, 0x5707, 0x2014, 0x722e, 0x8000, 0x0f04, 0x5707, + 0x2014, 0x723a, 0x8000, 0x0f04, 0x5707, 0x2014, 0x723e, 0xa180, + 0x8030, 0x7022, 0x015e, 0x00ee, 0x0005, 0x00e6, 0x0156, 0x2071, + 0xb635, 0x7184, 0x81ff, 0x01d8, 0xa006, 0x7086, 0xae80, 0x0003, + 0x2071, 0x0000, 0x21a8, 0x2014, 0x7226, 0x8000, 0x2014, 0x722a, + 0x8000, 0x0f04, 0x5729, 0x2014, 0x723a, 0x8000, 0x2014, 0x723e, + 0x0018, 0x2001, 0x8020, 0x0010, 0x2001, 0x8042, 0x7022, 0x015e, + 0x00ee, 0x0005, 0x702c, 0x7130, 0x8108, 0xa102, 0x0230, 0xa00e, + 0x7034, 0x706e, 0x7038, 0x7072, 0x0048, 0x706c, 0xa080, 0x0040, + 0x706e, 0x1220, 0x7070, 0xa081, 0x0000, 0x7072, 0x7132, 0x700c, + 0x8001, 0x700e, 0x1180, 0x0126, 0x2091, 0x8000, 0x0e04, 0x575e, + 0x2001, 0x000d, 0x2102, 0x2091, 0x4080, 0x2001, 0x0001, 0x700b, + 0x0000, 0x012e, 0x0005, 0x2001, 0x0007, 0x0005, 0x2001, 0x0006, + 0x700b, 0x0001, 0x012e, 0x0005, 0x701c, 0xa06d, 0x0170, 0x0126, + 0x2091, 0x8000, 0x7010, 0x8001, 0x7012, 0x2d04, 0x701e, 0xa005, + 0x1108, 0x701a, 0x012e, 0x080c, 0x160b, 0x0005, 0x2019, 0x000d, + 0x2304, 0x230c, 0xa10e, 0x0130, 0x2304, 0x230c, 0xa10e, 0x0110, + 0xa006, 0x0060, 0x732c, 0x8319, 0x7130, 0xa102, 0x1118, 0x2300, + 0xa005, 0x0020, 0x0210, 0xa302, 0x0008, 0x8002, 0x0005, 0x2d00, + 0x7026, 0xa080, 0x000d, 0x7056, 0x7053, 0x0000, 0x0126, 0x2091, + 0x8000, 0x2009, 0xb712, 0x2104, 0xc08d, 0x200a, 0x012e, 0x080c, + 0x1657, 0x0005, 0x708c, 0xa08a, 0x0029, 0x1220, 0xa082, 0x001d, + 0x0033, 0x0010, 0x080c, 0x1511, 0x6027, 0x1e00, 0x0005, 0x589d, + 0x5818, 0x5830, 0x586d, 0x588e, 0x58c8, 0x58da, 0x5830, 0x58b4, + 0x57bc, 0x57ea, 0x57bb, 0x0005, 0x00d6, 0x2069, 0x0200, 0x6804, + 0xa005, 0x1180, 0x6808, 0xa005, 0x1518, 0x708f, 0x0028, 0x2069, + 0xb6c5, 0x2d04, 0x7002, 0x080c, 0x5b92, 0x6028, 0xa085, 0x0600, + 0x602a, 0x00b0, 0x708f, 0x0028, 0x2069, 0xb6c5, 0x2d04, 0x7002, + 0x6028, 0xa085, 0x0600, 0x602a, 0x00e6, 0x0036, 0x0046, 0x0056, + 0x2071, 0xb723, 0x080c, 0x1dcd, 0x005e, 0x004e, 0x003e, 0x00ee, + 0x00de, 0x0005, 0x00d6, 0x2069, 0x0200, 0x6804, 0xa005, 0x1180, + 0x6808, 0xa005, 0x1518, 0x708f, 0x0028, 0x2069, 0xb6c5, 0x2d04, + 0x7002, 0x080c, 0x5c1f, 0x6028, 0xa085, 0x0600, 0x602a, 0x00b0, + 0x708f, 0x0028, 0x2069, 0xb6c5, 0x2d04, 0x7002, 0x6028, 0xa085, + 0x0600, 0x602a, 0x00e6, 0x0036, 0x0046, 0x0056, 0x2071, 0xb723, + 0x080c, 0x1dcd, 0x005e, 0x004e, 0x003e, 0x00ee, 0x00de, 0x0005, + 0x6803, 0x0090, 0x6124, 0xd1e4, 0x1190, 0x080c, 0x5945, 0xd1d4, + 0x1160, 0xd1dc, 0x1138, 0xd1cc, 0x0150, 0x708f, 0x0020, 0x080c, + 0x5945, 0x0028, 0x708f, 0x001d, 0x0010, 0x708f, 0x001f, 0x0005, + 0x6803, 0x0088, 0x6124, 0xd1cc, 0x1590, 0xd1dc, 0x1568, 0xd1e4, + 0x1540, 0xa184, 0x1e00, 0x1580, 0x60e3, 0x0001, 0x600c, 0xc0b4, + 0x600e, 0x080c, 0x5ac0, 0x080c, 0x2479, 0x0156, 0x6803, 0x0100, + 0x20a9, 0x0014, 0x6804, 0xd0dc, 0x1118, 0x1f04, 0x584a, 0x0048, + 0x20a9, 0x0014, 0x6803, 0x0080, 0x6804, 0xd0d4, 0x1130, 0x1f04, + 0x5854, 0x080c, 0x5ae1, 0x015e, 0x0078, 0x015e, 0x708f, 0x0028, + 0x0058, 0x708f, 0x001e, 0x0040, 0x708f, 0x001d, 0x0028, 0x708f, + 0x0020, 0x0010, 0x708f, 0x001f, 0x0005, 0x60e3, 0x0001, 0x600c, + 0xc0b4, 0x600e, 0x080c, 0x5ac0, 0x080c, 0x2479, 0x6803, 0x0080, + 0x6124, 0xd1d4, 0x1180, 0xd1dc, 0x1158, 0xd1e4, 0x1130, 0xa184, + 0x1e00, 0x1158, 0x708f, 0x0028, 0x0040, 0x708f, 0x001e, 0x0028, + 0x708f, 0x001d, 0x0010, 0x708f, 0x001f, 0x0005, 0x6803, 0x00a0, + 0x6124, 0xd1dc, 0x1138, 0xd1e4, 0x0138, 0x080c, 0x1e18, 0x708f, + 0x001e, 0x0010, 0x708f, 0x001d, 0x0005, 0x080c, 0x59b7, 0x6124, + 0xd1dc, 0x1188, 0x080c, 0x5945, 0x0016, 0x080c, 0x1e18, 0x001e, + 0xd1d4, 0x1128, 0xd1e4, 0x0138, 0x708f, 0x001e, 0x0020, 0x708f, + 0x001f, 0x080c, 0x5945, 0x0005, 0x6803, 0x00a0, 0x6124, 0xd1d4, + 0x1160, 0xd1cc, 0x1150, 0xd1dc, 0x1128, 0xd1e4, 0x0140, 0x708f, + 0x001e, 0x0028, 0x708f, 0x001d, 0x0010, 0x708f, 0x0021, 0x0005, + 0x080c, 0x59b7, 0x6124, 0xd1d4, 0x1150, 0xd1dc, 0x1128, 0xd1e4, + 0x0140, 0x708f, 0x001e, 0x0028, 0x708f, 0x001d, 0x0010, 0x708f, + 0x001f, 0x0005, 0x6803, 0x0090, 0x6124, 0xd1d4, 0x1178, 0xd1cc, + 0x1150, 0xd1dc, 0x1128, 0xd1e4, 0x0158, 0x708f, 0x001e, 0x0040, + 0x708f, 0x001d, 0x0028, 0x708f, 0x0020, 0x0010, 0x708f, 0x001f, + 0x0005, 0x0016, 0x00c6, 0x00d6, 0x00e6, 0x0126, 0x2061, 0x0100, + 0x2069, 0x0140, 0x2071, 0xb400, 0x2091, 0x8000, 0x080c, 0x5a90, + 0x11e8, 0x2001, 0xb40c, 0x200c, 0xd1b4, 0x01c0, 0xc1b4, 0x2102, + 0x6027, 0x0200, 0xe000, 0xe000, 0x6024, 0xd0cc, 0x0158, 0x6803, + 0x00a0, 0x2001, 0xb69f, 0x2003, 0x0001, 0x2001, 0xb400, 0x2003, + 0x0001, 0x0428, 0x6028, 0xc0cd, 0x602a, 0x0408, 0x080c, 0x5aac, + 0x0150, 0x080c, 0x5aa2, 0x1138, 0x2001, 0x0001, 0x080c, 0x2789, + 0x080c, 0x5a67, 0x00a0, 0x080c, 0x59b4, 0x0178, 0x2001, 0x0001, + 0x080c, 0x2789, 0x708c, 0xa086, 0x001e, 0x0120, 0x708c, 0xa086, + 0x0022, 0x1118, 0x708f, 0x0025, 0x0010, 0x708f, 0x0021, 0x012e, + 0x00ee, 0x00de, 0x00ce, 0x001e, 0x0005, 0x0026, 0x2011, 0x5956, + 0x080c, 0x6a21, 0x002e, 0x0016, 0x0026, 0x2009, 0x0064, 0x2011, + 0x5956, 0x080c, 0x6a18, 0x002e, 0x001e, 0x0005, 0x00e6, 0x00f6, + 0x0016, 0x080c, 0x7d24, 0x2071, 0xb400, 0x080c, 0x58f1, 0x001e, + 0x00fe, 0x00ee, 0x0005, 0x0016, 0x0026, 0x0036, 0x00c6, 0x00d6, + 0x00e6, 0x00f6, 0x0126, 0x080c, 0x7d24, 0x2061, 0x0100, 0x2069, + 0x0140, 0x2071, 0xb400, 0x2091, 0x8000, 0x6028, 0xc09c, 0x602a, + 0x2011, 0x0003, 0x080c, 0x801f, 0x2011, 0x0002, 0x080c, 0x8029, + 0x080c, 0x7f03, 0x080c, 0x69d5, 0x0036, 0x2019, 0x0000, 0x080c, + 0x7f8e, 0x003e, 0x60e3, 0x0000, 0x080c, 0xb3b2, 0x080c, 0xb3cd, + 0x2001, 0xb400, 0x2003, 0x0004, 0x6027, 0x0008, 0x080c, 0x12d9, + 0x2001, 0x0001, 0x080c, 0x2789, 0x012e, 0x00fe, 0x00ee, 0x00de, + 0x00ce, 0x003e, 0x002e, 0x001e, 0x0005, 0x2001, 0xb400, 0x2004, + 0xa086, 0x0004, 0x0140, 0x2001, 0xb69e, 0x2003, 0xaaaa, 0x2001, + 0xb69f, 0x2003, 0x0000, 0x0005, 0x6020, 0xd09c, 0x0005, 0x6800, + 0xa086, 0x00c0, 0x0160, 0x6803, 0x00c0, 0x0156, 0x20a9, 0x002d, + 0x1d04, 0x59c0, 0x2091, 0x6000, 0x1f04, 0x59c0, 0x015e, 0x0005, + 0x00c6, 0x00d6, 0x00e6, 0x2061, 0x0100, 0x2069, 0x0140, 0x2071, + 0xb400, 0x2001, 0xb69f, 0x200c, 0xa186, 0x0000, 0x0158, 0xa186, + 0x0001, 0x0158, 0xa186, 0x0002, 0x0158, 0xa186, 0x0003, 0x0158, + 0x0804, 0x5a55, 0x708f, 0x0022, 0x0040, 0x708f, 0x0021, 0x0028, + 0x708f, 0x0023, 0x0020, 0x708f, 0x0024, 0x6043, 0x0000, 0x60e3, + 0x0000, 0x6887, 0x0001, 0x2001, 0x0001, 0x080c, 0x2838, 0x0026, + 0x2011, 0x0003, 0x080c, 0x801f, 0x2011, 0x0002, 0x080c, 0x8029, + 0x080c, 0x7f03, 0x0036, 0x2019, 0x0000, 0x080c, 0x7f8e, 0x003e, + 0x002e, 0x7000, 0xa08e, 0x0004, 0x0118, 0x602b, 0x0028, 0x0010, + 0x602b, 0x0020, 0x0156, 0x0126, 0x2091, 0x8000, 0x20a9, 0x0005, + 0x6024, 0xd0ac, 0x0120, 0x012e, 0x015e, 0x0804, 0x5a63, 0x6800, + 0xa084, 0x00a0, 0xc0bd, 0x6802, 0x6904, 0xd1d4, 0x1130, 0x6803, + 0x0100, 0x1f04, 0x5a18, 0x080c, 0x5ae1, 0x012e, 0x015e, 0x080c, + 0x5aa2, 0x01a8, 0x6044, 0xa005, 0x0168, 0x6050, 0x0006, 0xa085, + 0x0020, 0x6052, 0x080c, 0x5ae1, 0xa006, 0x8001, 0x1df0, 0x000e, + 0x6052, 0x0028, 0x6804, 0xd0d4, 0x1110, 0x080c, 0x5ae1, 0x0016, + 0x0026, 0x2009, 0x00c8, 0x2011, 0x5963, 0x080c, 0x69e7, 0x002e, + 0x001e, 0x2001, 0xb69f, 0x2003, 0x0004, 0x080c, 0x57a2, 0x080c, + 0x5aa2, 0x0148, 0x6804, 0xd0d4, 0x1130, 0xd0dc, 0x1100, 0x2001, + 0xb69f, 0x2003, 0x0000, 0x00ee, 0x00de, 0x00ce, 0x0005, 0x00c6, + 0x00d6, 0x00e6, 0x2061, 0x0100, 0x2069, 0x0140, 0x2071, 0xb400, + 0x2001, 0xb69e, 0x2003, 0x0000, 0x2001, 0xb68f, 0x2003, 0x0000, + 0x708f, 0x0000, 0x60e3, 0x0000, 0x6887, 0x0000, 0x2001, 0x0000, + 0x080c, 0x2838, 0x6803, 0x0000, 0x6043, 0x0090, 0x6043, 0x0010, + 0x6027, 0xffff, 0x602b, 0x182f, 0x00ee, 0x00de, 0x00ce, 0x0005, + 0x0006, 0x2001, 0xb69e, 0x2004, 0xa086, 0xaaaa, 0x000e, 0x0005, + 0x0006, 0x2001, 0xb472, 0x2004, 0xa084, 0x0030, 0xa086, 0x0000, + 0x000e, 0x0005, 0x0006, 0x2001, 0xb472, 0x2004, 0xa084, 0x0030, + 0xa086, 0x0030, 0x000e, 0x0005, 0x0006, 0x2001, 0xb472, 0x2004, + 0xa084, 0x0030, 0xa086, 0x0010, 0x000e, 0x0005, 0x0006, 0x2001, + 0xb472, 0x2004, 0xa084, 0x0030, 0xa086, 0x0020, 0x000e, 0x0005, + 0x2001, 0xb40c, 0x2004, 0xd0a4, 0x0170, 0x080c, 0x2858, 0x0036, + 0x0016, 0x2009, 0x0000, 0x2019, 0x0028, 0x080c, 0x2c33, 0x001e, + 0x003e, 0xa006, 0x0009, 0x0005, 0x00e6, 0x2071, 0xb40c, 0x2e04, + 0x0118, 0xa085, 0x0010, 0x0010, 0xa084, 0xffef, 0x2072, 0x00ee, + 0x0005, 0x6050, 0x0006, 0x60f0, 0x0006, 0x60ec, 0x0006, 0x600c, + 0x0006, 0x6004, 0x0006, 0x6028, 0x0006, 0x602f, 0x0100, 0x602f, + 0x0000, 0x602f, 0x0040, 0x602f, 0x0000, 0x000e, 0x602a, 0x000e, + 0x6006, 0x000e, 0x600e, 0x000e, 0x60ee, 0x000e, 0x60f2, 0x60e3, + 0x0000, 0x6887, 0x0001, 0x2001, 0x0001, 0x080c, 0x2838, 0x6800, + 0xa084, 0x00a0, 0xc0bd, 0x6802, 0x6803, 0x00a0, 0x000e, 0x6052, + 0x6050, 0x0005, 0x0156, 0x0016, 0x0026, 0x0036, 0x00c6, 0x00d6, + 0x00e6, 0x2061, 0x0100, 0x2069, 0x0140, 0x2071, 0xb400, 0x6020, + 0xa084, 0x0080, 0x0138, 0x2001, 0xb40c, 0x200c, 0xc1bd, 0x2102, + 0x0804, 0x5b8a, 0x2001, 0xb40c, 0x200c, 0xc1bc, 0x2102, 0x6028, + 0xa084, 0xe1ff, 0x602a, 0x6027, 0x0200, 0x6803, 0x0090, 0x20a9, + 0x0384, 0x6024, 0xd0cc, 0x1508, 0x1d04, 0x5b39, 0x2091, 0x6000, + 0x1f04, 0x5b39, 0x2011, 0x0003, 0x080c, 0x801f, 0x2011, 0x0002, + 0x080c, 0x8029, 0x080c, 0x7f03, 0x2019, 0x0000, 0x080c, 0x7f8e, + 0x6803, 0x00a0, 0x2001, 0xb69f, 0x2003, 0x0001, 0x2001, 0xb400, + 0x2003, 0x0001, 0xa085, 0x0001, 0x0468, 0x86ff, 0x1110, 0x080c, + 0x1e18, 0x60e3, 0x0000, 0x2001, 0xb68f, 0x2004, 0x080c, 0x2838, + 0x60e2, 0x080c, 0x2479, 0x6803, 0x0080, 0x20a9, 0x0384, 0x6027, + 0x1e00, 0x2009, 0x1e00, 0xe000, 0x6024, 0xa10c, 0x0138, 0x1d04, + 0x5b6f, 0x2091, 0x6000, 0x1f04, 0x5b6f, 0x0820, 0x6028, 0xa085, + 0x1e00, 0x602a, 0x70a4, 0xa005, 0x1118, 0x6887, 0x0001, 0x0008, + 0x6886, 0xa006, 0x00ee, 0x00de, 0x00ce, 0x003e, 0x002e, 0x001e, + 0x015e, 0x0005, 0x0156, 0x0016, 0x0026, 0x0036, 0x00c6, 0x00d6, + 0x00e6, 0x2061, 0x0100, 0x2071, 0xb400, 0x2069, 0x0140, 0x6020, + 0xa084, 0x00c0, 0x0120, 0x6884, 0xa005, 0x1904, 0x5be6, 0x6803, + 0x0088, 0x60e3, 0x0000, 0x6887, 0x0000, 0x2001, 0x0000, 0x080c, + 0x2838, 0x2069, 0x0200, 0x6804, 0xa005, 0x1118, 0x6808, 0xa005, + 0x01c0, 0x6028, 0xa084, 0xfbff, 0x602a, 0x6027, 0x0400, 0x2069, + 0xb6c5, 0x7000, 0x206a, 0x708f, 0x0026, 0x7003, 0x0001, 0x20a9, + 0x0002, 0x1d04, 0x5bc9, 0x2091, 0x6000, 0x1f04, 0x5bc9, 0x0804, + 0x5c17, 0x2069, 0x0140, 0x20a9, 0x0384, 0x6027, 0x1e00, 0x2009, + 0x1e00, 0xe000, 0x6024, 0xa10c, 0x0520, 0xa084, 0x1a00, 0x1508, + 0x1d04, 0x5bd5, 0x2091, 0x6000, 0x1f04, 0x5bd5, 0x2011, 0x0003, + 0x080c, 0x801f, 0x2011, 0x0002, 0x080c, 0x8029, 0x080c, 0x7f03, + 0x2019, 0x0000, 0x080c, 0x7f8e, 0x6803, 0x00a0, 0x2001, 0xb69f, + 0x2003, 0x0001, 0x2001, 0xb400, 0x2003, 0x0001, 0xa085, 0x0001, + 0x00b0, 0x080c, 0x2479, 0x6803, 0x0080, 0x2069, 0x0140, 0x60e3, + 0x0000, 0x70a4, 0xa005, 0x1118, 0x6887, 0x0001, 0x0008, 0x6886, + 0x2001, 0xb68f, 0x2004, 0x080c, 0x2838, 0x60e2, 0xa006, 0x00ee, + 0x00de, 0x00ce, 0x003e, 0x002e, 0x001e, 0x015e, 0x0005, 0x0156, + 0x0016, 0x0026, 0x0036, 0x00c6, 0x00d6, 0x00e6, 0x2061, 0x0100, + 0x2071, 0xb400, 0x6020, 0xa084, 0x00c0, 0x01e0, 0x2011, 0x0003, + 0x080c, 0x801f, 0x2011, 0x0002, 0x080c, 0x8029, 0x080c, 0x7f03, + 0x2019, 0x0000, 0x080c, 0x7f8e, 0x2069, 0x0140, 0x6803, 0x00a0, + 0x2001, 0xb69f, 0x2003, 0x0001, 0x2001, 0xb400, 0x2003, 0x0001, + 0x0804, 0x5cbc, 0x2001, 0xb40c, 0x200c, 0xd1b4, 0x1160, 0xc1b5, + 0x2102, 0x080c, 0x594b, 0x2069, 0x0140, 0x080c, 0x2479, 0x6803, + 0x0080, 0x60e3, 0x0000, 0x2069, 0x0200, 0x6804, 0xa005, 0x1118, + 0x6808, 0xa005, 0x01c0, 0x6028, 0xa084, 0xfdff, 0x602a, 0x6027, + 0x0200, 0x2069, 0xb6c5, 0x7000, 0x206a, 0x708f, 0x0027, 0x7003, + 0x0001, 0x20a9, 0x0002, 0x1d04, 0x5c73, 0x2091, 0x6000, 0x1f04, + 0x5c73, 0x0804, 0x5cbc, 0x6027, 0x1e00, 0x2009, 0x1e00, 0xe000, + 0x6024, 0xa10c, 0x01c8, 0xa084, 0x1c00, 0x11b0, 0x1d04, 0x5c7b, + 0x0006, 0x0016, 0x00c6, 0x00d6, 0x00e6, 0x080c, 0x68be, 0x00ee, + 0x00de, 0x00ce, 0x001e, 0x000e, 0x00e6, 0x2071, 0xb6f3, 0x7018, + 0x00ee, 0xa005, 0x1d00, 0x0500, 0x0026, 0x2011, 0x5963, 0x080c, + 0x6961, 0x2011, 0x5956, 0x080c, 0x6a21, 0x002e, 0x2069, 0x0140, + 0x60e3, 0x0000, 0x70a4, 0xa005, 0x1118, 0x6887, 0x0001, 0x0008, + 0x6886, 0x2001, 0xb68f, 0x2004, 0x080c, 0x2838, 0x60e2, 0x2001, + 0xb40c, 0x200c, 0xc1b4, 0x2102, 0x00ee, 0x00de, 0x00ce, 0x003e, + 0x002e, 0x001e, 0x015e, 0x0005, 0x0156, 0x0016, 0x0026, 0x0036, + 0x0046, 0x00c6, 0x00e6, 0x2061, 0x0100, 0x2071, 0xb400, 0x7130, + 0xd184, 0x1180, 0x2011, 0xb453, 0x2214, 0xd2ec, 0x0138, 0xc18d, + 0x7132, 0x2011, 0xb453, 0x2214, 0xd2ac, 0x1120, 0x7030, 0xd08c, + 0x0904, 0x5d29, 0x7130, 0xc185, 0x7132, 0x2011, 0xb453, 0x220c, + 0xd1a4, 0x0530, 0x0016, 0x2019, 0x000e, 0x080c, 0xafe8, 0x0156, + 0x20a9, 0x007f, 0x2009, 0x0000, 0xa186, 0x007e, 0x01a0, 0xa186, + 0x0080, 0x0188, 0x080c, 0x4f6a, 0x1170, 0x8127, 0xa006, 0x0016, + 0x2009, 0x000e, 0x080c, 0xb06b, 0x2009, 0x0001, 0x2011, 0x0100, + 0x080c, 0x6adf, 0x001e, 0x8108, 0x1f04, 0x5cf4, 0x015e, 0x001e, + 0xd1ac, 0x1148, 0x0016, 0x2009, 0x0000, 0x2019, 0x0004, 0x080c, + 0x2c33, 0x001e, 0x0070, 0x0156, 0x20a9, 0x007f, 0x2009, 0x0000, + 0x080c, 0x4f6a, 0x1110, 0x080c, 0x4bc5, 0x8108, 0x1f04, 0x5d20, + 0x015e, 0x080c, 0x1e18, 0x2011, 0x0003, 0x080c, 0x801f, 0x2011, + 0x0002, 0x080c, 0x8029, 0x080c, 0x7f03, 0x0036, 0x2019, 0x0000, + 0x080c, 0x7f8e, 0x003e, 0x60e3, 0x0000, 0x2001, 0xb400, 0x2003, + 0x0001, 0x080c, 0x59c8, 0x00ee, 0x00ce, 0x004e, 0x003e, 0x002e, + 0x001e, 0x015e, 0x0005, 0x2071, 0xb4e2, 0x7003, 0x0000, 0x7007, + 0x0000, 0x700f, 0x0000, 0x702b, 0x0001, 0x704f, 0x0000, 0x7053, + 0x0001, 0x705f, 0x0020, 0x7063, 0x0040, 0x7083, 0x0000, 0x708b, + 0x0000, 0x708f, 0x0001, 0x70bf, 0x0000, 0x0005, 0x00e6, 0x2071, + 0xb4e2, 0x6848, 0xa005, 0x1130, 0x7028, 0xc085, 0x702a, 0xa085, + 0x0001, 0x0428, 0x6a50, 0x7236, 0x6b54, 0x733a, 0x6858, 0x703e, + 0x707a, 0x685c, 0x7042, 0x707e, 0x6848, 0x702e, 0x6840, 0x7032, + 0x2009, 0x000c, 0x200a, 0x8007, 0x8006, 0x8006, 0xa08c, 0x003f, + 0xa084, 0xffc0, 0xa210, 0x2100, 0xa319, 0x7272, 0x7376, 0x7028, + 0xc084, 0x702a, 0x7007, 0x0001, 0x700f, 0x0000, 0xa006, 0x00ee, + 0x0005, 0x2b78, 0x2071, 0xb4e2, 0x7004, 0x0043, 0x700c, 0x0002, + 0x5da5, 0x5d9c, 0x5d9c, 0x5d9c, 0x5d9c, 0x0005, 0x5dfb, 0x5dfc, + 0x5e2e, 0x5e2f, 0x5df9, 0x5e7d, 0x5e82, 0x5eb3, 0x5eb4, 0x5ecf, + 0x5ed0, 0x5ed1, 0x5ed2, 0x5ed3, 0x5ed4, 0x5f8a, 0x5fb1, 0x700c, + 0x0002, 0x5dbe, 0x5df9, 0x5df9, 0x5dfa, 0x5dfa, 0x7830, 0x7930, + 0xa106, 0x0120, 0x7830, 0x7930, 0xa106, 0x1510, 0x7030, 0xa10a, + 0x01f8, 0x1210, 0x712c, 0xa10a, 0xa18a, 0x0002, 0x12d0, 0x080c, + 0x15db, 0x01b0, 0x2d00, 0x705a, 0x7063, 0x0040, 0x2001, 0x0003, + 0x7057, 0x0000, 0x0126, 0x0006, 0x2091, 0x8000, 0x2009, 0xb712, + 0x2104, 0xc085, 0x200a, 0x000e, 0x700e, 0x012e, 0x080c, 0x1657, + 0x0005, 0x080c, 0x15db, 0x0de0, 0x2d00, 0x705a, 0x080c, 0x15db, + 0x1108, 0x0c10, 0x2d00, 0x7086, 0x7063, 0x0080, 0x2001, 0x0004, + 0x08f8, 0x0005, 0x0005, 0x0005, 0x700c, 0x0002, 0x5e03, 0x5e06, + 0x5e14, 0x5e2d, 0x5e2d, 0x080c, 0x5db7, 0x0005, 0x0126, 0x8001, + 0x700e, 0x7058, 0x0006, 0x080c, 0x6304, 0x0120, 0x2091, 0x8000, + 0x080c, 0x5db7, 0x00de, 0x0048, 0x0126, 0x8001, 0x700e, 0x080c, + 0x6304, 0x7058, 0x2068, 0x7084, 0x705a, 0x6803, 0x0000, 0x6807, + 0x0000, 0x6834, 0xa084, 0x00ff, 0xa08a, 0x003a, 0x1218, 0x00db, + 0x012e, 0x0005, 0x012e, 0x080c, 0x5ed5, 0x0005, 0x0005, 0x0005, + 0x00e6, 0x2071, 0xb4e2, 0x700c, 0x0002, 0x5e3a, 0x5e3a, 0x5e3a, + 0x5e3c, 0x5e3f, 0x00ee, 0x0005, 0x700f, 0x0001, 0x0010, 0x700f, + 0x0002, 0x00ee, 0x0005, 0x5ed5, 0x5ed5, 0x5ef1, 0x5ed5, 0x606e, + 0x5ed5, 0x5ed5, 0x5ed5, 0x5ed5, 0x5ed5, 0x5ef1, 0x60b0, 0x60f3, + 0x613c, 0x6150, 0x5ed5, 0x5ed5, 0x5f0d, 0x5ef1, 0x5ed5, 0x5ed5, + 0x5f67, 0x61fc, 0x6217, 0x5ed5, 0x5f0d, 0x5ed5, 0x5ed5, 0x5ed5, + 0x5ed5, 0x5f5d, 0x6217, 0x5ed5, 0x5ed5, 0x5ed5, 0x5ed5, 0x5ed5, + 0x5ed5, 0x5ed5, 0x5ed5, 0x5ed5, 0x5f21, 0x5ed5, 0x5ed5, 0x5ed5, + 0x5ed5, 0x5ed5, 0x5ed5, 0x5ed5, 0x5ed5, 0x5ed5, 0x6322, 0x5ed5, + 0x5ed5, 0x5ed5, 0x5ed5, 0x5ed5, 0x5f36, 0x7020, 0x2068, 0x080c, + 0x160b, 0x0005, 0x700c, 0x0002, 0x5e89, 0x5e8c, 0x5e9a, 0x5eb2, + 0x5eb2, 0x080c, 0x5db7, 0x0005, 0x0126, 0x8001, 0x700e, 0x7058, + 0x0006, 0x080c, 0x6304, 0x0120, 0x2091, 0x8000, 0x080c, 0x5db7, + 0x00de, 0x0048, 0x0126, 0x8001, 0x700e, 0x080c, 0x6304, 0x7058, + 0x2068, 0x7084, 0x705a, 0x6803, 0x0000, 0x6807, 0x0000, 0x6834, + 0xa084, 0x00ff, 0xa08a, 0x001a, 0x1218, 0x003b, 0x012e, 0x0005, + 0x012e, 0x0419, 0x0005, 0x0005, 0x0005, 0x5ed5, 0x5ef1, 0x605a, + 0x5ed5, 0x5ef1, 0x5ed5, 0x5ef1, 0x5ef1, 0x5ed5, 0x5ef1, 0x605a, + 0x5ef1, 0x5ef1, 0x5ef1, 0x5ef1, 0x5ef1, 0x5ed5, 0x5ef1, 0x605a, + 0x5ed5, 0x5ed5, 0x5ef1, 0x5ed5, 0x5ed5, 0x5ed5, 0x5ef1, 0x0005, + 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x7007, 0x0001, 0x6838, + 0xa084, 0x00ff, 0xc0d5, 0x683a, 0x0126, 0x2091, 0x8000, 0x080c, + 0x53c9, 0x012e, 0x0005, 0x7007, 0x0001, 0x6838, 0xa084, 0x00ff, + 0xc0e5, 0x683a, 0x0126, 0x2091, 0x8000, 0x080c, 0x53c9, 0x012e, + 0x0005, 0x7007, 0x0001, 0x6838, 0xa084, 0x00ff, 0xc0ed, 0x683a, + 0x0126, 0x2091, 0x8000, 0x080c, 0x53c9, 0x012e, 0x0005, 0x7007, + 0x0001, 0x6838, 0xa084, 0x00ff, 0xc0dd, 0x683a, 0x0126, 0x2091, + 0x8000, 0x080c, 0x53c9, 0x012e, 0x0005, 0x6834, 0x8007, 0xa084, + 0x00ff, 0x0988, 0x8001, 0x1120, 0x7007, 0x0001, 0x0804, 0x601a, + 0x7007, 0x0006, 0x7012, 0x2d00, 0x7016, 0x701a, 0x704b, 0x601a, + 0x0005, 0x6834, 0x8007, 0xa084, 0x00ff, 0x0904, 0x5ee3, 0x8001, + 0x1120, 0x7007, 0x0001, 0x0804, 0x6037, 0x7007, 0x0006, 0x7012, + 0x2d00, 0x7016, 0x701a, 0x704b, 0x6037, 0x0005, 0x6834, 0x8007, + 0xa084, 0x00ff, 0xa086, 0x0001, 0x1904, 0x5ee3, 0x7007, 0x0001, + 0x2009, 0xb431, 0x210c, 0x81ff, 0x11a8, 0x6838, 0xa084, 0x00ff, + 0x683a, 0x6853, 0x0000, 0x080c, 0x4d3c, 0x1108, 0x0005, 0x0126, + 0x2091, 0x8000, 0x6837, 0x0139, 0x684a, 0x6952, 0x080c, 0x53c9, + 0x012e, 0x0ca0, 0x2001, 0x0028, 0x0c90, 0x684c, 0xa084, 0x00c0, + 0xa086, 0x00c0, 0x1120, 0x7007, 0x0001, 0x0804, 0x622f, 0x2d00, + 0x7016, 0x701a, 0x20a9, 0x0004, 0xa080, 0x0024, 0x2098, 0x20a1, + 0xb50d, 0x53a3, 0x6858, 0x7012, 0xa082, 0x0401, 0x1a04, 0x5eff, + 0x6a84, 0xa28a, 0x0002, 0x1a04, 0x5eff, 0x82ff, 0x1138, 0x6888, + 0x698c, 0xa105, 0x0118, 0x2001, 0x5fed, 0x0018, 0xa280, 0x5fe3, + 0x2005, 0x70c6, 0x7010, 0xa015, 0x0904, 0x5fcf, 0x080c, 0x15db, + 0x1118, 0x7007, 0x000f, 0x0005, 0x2d00, 0x7022, 0x70c4, 0x2060, + 0x2c05, 0x6836, 0xe004, 0xad00, 0x7096, 0xe008, 0xa20a, 0x1210, + 0xa00e, 0x2200, 0x7112, 0xe20c, 0x8003, 0x800b, 0xa296, 0x0004, + 0x0108, 0xa108, 0x719a, 0x810b, 0x719e, 0xae90, 0x0022, 0x080c, + 0x163f, 0x7090, 0xa08e, 0x0100, 0x0170, 0xa086, 0x0200, 0x0118, + 0x7007, 0x0010, 0x0005, 0x7020, 0x2068, 0x080c, 0x160b, 0x7014, + 0x2068, 0x0804, 0x5eff, 0x7020, 0x2068, 0x7018, 0x6802, 0x6807, + 0x0000, 0x2d08, 0x2068, 0x6906, 0x711a, 0x0804, 0x5f8a, 0x7014, + 0x2068, 0x7007, 0x0001, 0x6884, 0xa005, 0x1128, 0x6888, 0x698c, + 0xa105, 0x0108, 0x00b1, 0x6834, 0xa084, 0x00ff, 0xa086, 0x001e, + 0x0904, 0x622f, 0x04b8, 0x5fe5, 0x5fe9, 0x0002, 0x0011, 0x0007, + 0x0004, 0x000a, 0x000f, 0x0005, 0x0006, 0x000a, 0x0011, 0x0005, + 0x0004, 0x00f6, 0x00e6, 0x00c6, 0x0076, 0x0066, 0x6f88, 0x6e8c, + 0x6804, 0x2060, 0xacf0, 0x0021, 0xacf8, 0x0027, 0x2009, 0x0005, + 0x700c, 0x7816, 0x7008, 0x7812, 0x7004, 0x7806, 0x7000, 0x7802, + 0x7e0e, 0x7f0a, 0x8109, 0x0128, 0xaef2, 0x0004, 0xaffa, 0x0006, + 0x0c78, 0x6004, 0xa065, 0x1d30, 0x006e, 0x007e, 0x00ce, 0x00ee, + 0x00fe, 0x0005, 0x2009, 0xb431, 0x210c, 0x81ff, 0x1198, 0x6838, + 0xa084, 0x00ff, 0x683a, 0x080c, 0x4c1e, 0x1108, 0x0005, 0x080c, + 0x549c, 0x0126, 0x2091, 0x8000, 0x080c, 0x9e5d, 0x080c, 0x53c9, + 0x012e, 0x0ca0, 0x2001, 0x0028, 0x2009, 0x0000, 0x0c80, 0x2009, + 0xb431, 0x210c, 0x81ff, 0x11b0, 0x6858, 0xa005, 0x01c0, 0x6838, + 0xa084, 0x00ff, 0x683a, 0x6853, 0x0000, 0x080c, 0x4ce0, 0x1108, + 0x0005, 0x0126, 0x2091, 0x8000, 0x684a, 0x6952, 0x080c, 0x53c9, + 0x012e, 0x0cb0, 0x2001, 0x0028, 0x2009, 0x0000, 0x0c90, 0x2001, + 0x0000, 0x0c78, 0x7018, 0x6802, 0x2d08, 0x2068, 0x6906, 0x711a, + 0x7010, 0x8001, 0x7012, 0x0118, 0x7007, 0x0006, 0x0030, 0x7014, + 0x2068, 0x7007, 0x0001, 0x7048, 0x080f, 0x0005, 0x7007, 0x0001, + 0x6944, 0x810f, 0xa18c, 0x00ff, 0x6848, 0xa084, 0x00ff, 0x20a9, + 0x0001, 0xa096, 0x0001, 0x01b0, 0x2009, 0x0000, 0x20a9, 0x00ff, + 0xa096, 0x0002, 0x0178, 0xa005, 0x11f0, 0x6944, 0x810f, 0xa18c, + 0x00ff, 0x080c, 0x4f6a, 0x11b8, 0x0066, 0x6e50, 0x080c, 0x5069, + 0x006e, 0x0088, 0x0046, 0x2011, 0xb40c, 0x2224, 0xc484, 0x2412, + 0x004e, 0x00c6, 0x080c, 0x4f6a, 0x1110, 0x080c, 0x51ca, 0x8108, + 0x1f04, 0x609a, 0x00ce, 0x684c, 0xd084, 0x1118, 0x080c, 0x160b, + 0x0005, 0x0126, 0x2091, 0x8000, 0x080c, 0x53c9, 0x012e, 0x0005, + 0x0126, 0x2091, 0x8000, 0x7007, 0x0001, 0x2001, 0xb453, 0x2004, + 0xd0a4, 0x0580, 0x2061, 0xb774, 0x6100, 0xd184, 0x0178, 0x6858, + 0xa084, 0x00ff, 0x1550, 0x6000, 0xd084, 0x0520, 0x6004, 0xa005, + 0x1538, 0x6003, 0x0000, 0x600b, 0x0000, 0x00c8, 0x2011, 0x0001, + 0x6860, 0xa005, 0x1110, 0x2001, 0x001e, 0x8000, 0x6016, 0x6858, + 0xa084, 0x00ff, 0x0178, 0x6006, 0x6858, 0x8007, 0xa084, 0x00ff, + 0x0148, 0x600a, 0x6858, 0x8000, 0x1108, 0xc28d, 0x6202, 0x012e, + 0x0804, 0x62f3, 0x012e, 0x0804, 0x62ed, 0x012e, 0x0804, 0x62e7, + 0x012e, 0x0804, 0x62ea, 0x0126, 0x2091, 0x8000, 0x7007, 0x0001, + 0x2001, 0xb453, 0x2004, 0xd0a4, 0x05e0, 0x2061, 0xb774, 0x6000, + 0xd084, 0x05b8, 0x6204, 0x6308, 0xd08c, 0x1530, 0x6c48, 0xa484, + 0x0003, 0x0170, 0x6958, 0xa18c, 0x00ff, 0x8001, 0x1120, 0x2100, + 0xa210, 0x0620, 0x0028, 0x8001, 0x1508, 0x2100, 0xa212, 0x02f0, + 0xa484, 0x000c, 0x0188, 0x6958, 0x810f, 0xa18c, 0x00ff, 0xa082, + 0x0004, 0x1120, 0x2100, 0xa318, 0x0288, 0x0030, 0xa082, 0x0004, + 0x1168, 0x2100, 0xa31a, 0x0250, 0x6860, 0xa005, 0x0110, 0x8000, + 0x6016, 0x6206, 0x630a, 0x012e, 0x0804, 0x62f3, 0x012e, 0x0804, + 0x62f0, 0x012e, 0x0804, 0x62ed, 0x0126, 0x2091, 0x8000, 0x7007, + 0x0001, 0x2061, 0xb774, 0x6300, 0xd38c, 0x1120, 0x6308, 0x8318, + 0x0220, 0x630a, 0x012e, 0x0804, 0x6301, 0x012e, 0x0804, 0x62f0, + 0x0126, 0x00c6, 0x2091, 0x8000, 0x7007, 0x0001, 0x684c, 0xd0ac, + 0x0148, 0x00c6, 0x2061, 0xb774, 0x6000, 0xa084, 0xfcff, 0x6002, + 0x00ce, 0x0448, 0x6858, 0xa005, 0x05d0, 0x685c, 0xa065, 0x0598, + 0x2001, 0xb431, 0x2004, 0xa005, 0x0118, 0x080c, 0x9dae, 0x0068, + 0x6013, 0x0400, 0x6057, 0x0000, 0x694c, 0xd1a4, 0x0110, 0x6950, + 0x6156, 0x2009, 0x0041, 0x080c, 0x85ef, 0x6958, 0xa18c, 0xff00, + 0xa186, 0x2000, 0x1140, 0x0026, 0x2009, 0x0000, 0x2011, 0xfdff, + 0x080c, 0x6adf, 0x002e, 0x684c, 0xd0c4, 0x0148, 0x2061, 0xb774, + 0x6000, 0xd08c, 0x1120, 0x6008, 0x8000, 0x0208, 0x600a, 0x00ce, + 0x012e, 0x0804, 0x62f3, 0x00ce, 0x012e, 0x0804, 0x62ed, 0x6954, + 0xa186, 0x002e, 0x0d40, 0xa186, 0x002d, 0x0d28, 0xa186, 0x0045, + 0x0528, 0xa186, 0x002a, 0x1130, 0x2001, 0xb40c, 0x200c, 0xc194, + 0x2102, 0x08c8, 0xa186, 0x0020, 0x0170, 0xa186, 0x0029, 0x1d18, + 0x6944, 0xa18c, 0xff00, 0x810f, 0x080c, 0x4f6a, 0x1960, 0x6000, + 0xc0e4, 0x6002, 0x0840, 0x685c, 0xa065, 0x09a8, 0x6007, 0x0024, + 0x2001, 0xb6b6, 0x2004, 0x6016, 0x0804, 0x618b, 0x685c, 0xa065, + 0x0950, 0x00e6, 0x6860, 0xa075, 0x2001, 0xb431, 0x2004, 0xa005, + 0x0150, 0x080c, 0x9dae, 0x8eff, 0x0118, 0x2e60, 0x080c, 0x9dae, + 0x00ee, 0x0804, 0x618b, 0x6020, 0xc0dc, 0xc0d5, 0x6022, 0x2e60, + 0x6007, 0x003a, 0x6870, 0xa005, 0x0130, 0x6007, 0x003b, 0x6874, + 0x602a, 0x6878, 0x6012, 0x6003, 0x0001, 0x080c, 0x6c52, 0x080c, + 0x7134, 0x00ee, 0x0804, 0x618b, 0x2061, 0xb774, 0x6000, 0xd084, + 0x0190, 0xd08c, 0x1904, 0x6301, 0x0126, 0x2091, 0x8000, 0x6204, + 0x8210, 0x0220, 0x6206, 0x012e, 0x0804, 0x6301, 0x012e, 0x6853, + 0x0016, 0x0804, 0x62fa, 0x6853, 0x0007, 0x0804, 0x62fa, 0x6834, + 0x8007, 0xa084, 0x00ff, 0x1118, 0x080c, 0x5ee3, 0x0078, 0x2030, + 0x8001, 0x1120, 0x7007, 0x0001, 0x0051, 0x0040, 0x7007, 0x0006, + 0x7012, 0x2d00, 0x7016, 0x701a, 0x704b, 0x622f, 0x0005, 0x00e6, + 0x0126, 0x2091, 0x8000, 0xa03e, 0x2009, 0xb431, 0x210c, 0x81ff, + 0x1904, 0x62ad, 0x2009, 0xb40c, 0x210c, 0xd194, 0x1904, 0x62d7, + 0x6848, 0x2070, 0xae82, 0xbc00, 0x0a04, 0x62a1, 0x2001, 0xb417, + 0x2004, 0xae02, 0x1a04, 0x62a1, 0x711c, 0xa186, 0x0006, 0x1904, + 0x6290, 0x7018, 0xa005, 0x0904, 0x62ad, 0x2004, 0xd0e4, 0x1904, + 0x62d2, 0x2061, 0xb774, 0x6100, 0xa184, 0x0301, 0xa086, 0x0001, + 0x1550, 0x7020, 0xd0dc, 0x1904, 0x62da, 0x6853, 0x0000, 0x6803, + 0x0000, 0x2d08, 0x7010, 0xa005, 0x1158, 0x7112, 0x684c, 0xd0f4, + 0x1904, 0x62dd, 0x2e60, 0x080c, 0x6a3b, 0x012e, 0x00ee, 0x0005, + 0x2068, 0x6800, 0xa005, 0x1de0, 0x6902, 0x2168, 0x684c, 0xd0f4, + 0x1904, 0x62dd, 0x012e, 0x00ee, 0x0005, 0x012e, 0x00ee, 0x6853, + 0x0006, 0x0804, 0x62fa, 0xd184, 0x0dc0, 0xd1c4, 0x11a8, 0x00b8, + 0x6944, 0xa18c, 0xff00, 0x810f, 0x080c, 0x4f6a, 0x15d8, 0x6000, + 0xd0e4, 0x15c0, 0x711c, 0xa186, 0x0007, 0x1118, 0x6853, 0x0002, + 0x0498, 0x6853, 0x0008, 0x0480, 0x6853, 0x000e, 0x0468, 0x6853, + 0x0017, 0x0450, 0x6853, 0x0035, 0x0438, 0x2001, 0xb472, 0x2004, + 0xd0fc, 0x01e8, 0x6848, 0x2070, 0xae82, 0xbc00, 0x02c0, 0x605c, + 0xae02, 0x12a8, 0x711c, 0xa186, 0x0006, 0x1188, 0x7018, 0xa005, + 0x0170, 0x2004, 0xd0bc, 0x0158, 0x2039, 0x0001, 0x7000, 0xa086, + 0x0007, 0x1904, 0x623a, 0x7003, 0x0002, 0x0804, 0x623a, 0x6853, + 0x0028, 0x0010, 0x6853, 0x0029, 0x012e, 0x00ee, 0x0418, 0x6853, + 0x002a, 0x0cd0, 0x6853, 0x0045, 0x0cb8, 0x2e60, 0x2019, 0x0002, + 0x6017, 0x0014, 0x080c, 0xac63, 0x012e, 0x00ee, 0x0005, 0x2009, + 0x003e, 0x0058, 0x2009, 0x0004, 0x0040, 0x2009, 0x0006, 0x0028, + 0x2009, 0x0016, 0x0010, 0x2009, 0x0001, 0x6854, 0xa084, 0xff00, + 0xa105, 0x6856, 0x0126, 0x2091, 0x8000, 0x080c, 0x53c9, 0x012e, + 0x0005, 0x080c, 0x160b, 0x0005, 0x702c, 0x7130, 0x8108, 0xa102, + 0x0230, 0xa00e, 0x7034, 0x7072, 0x7038, 0x7076, 0x0058, 0x7070, + 0xa080, 0x0040, 0x7072, 0x1230, 0x7074, 0xa081, 0x0000, 0x7076, + 0xa085, 0x0001, 0x7932, 0x7132, 0x0005, 0x00d6, 0x080c, 0x6a32, + 0x00de, 0x0005, 0x00d6, 0x00c6, 0x0036, 0x0026, 0x0016, 0x7007, + 0x0001, 0x6a44, 0xa282, 0x0004, 0x1a04, 0x636d, 0xd284, 0x0170, + 0x6a4c, 0xa290, 0xb535, 0x2204, 0xa065, 0x6004, 0x05e0, 0x8007, + 0xa084, 0x00ff, 0xa084, 0x0006, 0x1108, 0x04a8, 0x2c10, 0x080c, + 0x856a, 0x1118, 0x080c, 0x9e67, 0x05a0, 0x621a, 0x6844, 0x0002, + 0x634c, 0x6351, 0x6354, 0x635a, 0x2019, 0x0002, 0x080c, 0xafe8, + 0x0060, 0x080c, 0xaf7f, 0x0048, 0x2019, 0x0002, 0x6950, 0x080c, + 0xaf9a, 0x0018, 0x6950, 0x080c, 0xaf7f, 0x080c, 0x85c0, 0x6857, + 0x0000, 0x0126, 0x2091, 0x8000, 0x080c, 0x53c9, 0x012e, 0x001e, + 0x002e, 0x003e, 0x00ce, 0x00de, 0x0005, 0x6857, 0x0006, 0x0c88, + 0x6857, 0x0002, 0x0c70, 0x6857, 0x0005, 0x0c58, 0x6857, 0x0004, + 0x0c40, 0x6857, 0x0007, 0x0c28, 0x00d6, 0x2011, 0x0004, 0x2204, + 0xa085, 0x8002, 0x2012, 0x00de, 0x0005, 0x20e1, 0x0002, 0x3d08, + 0x20e1, 0x2000, 0x3d00, 0xa084, 0x7000, 0x0118, 0xa086, 0x1000, + 0x1570, 0x20e1, 0x0000, 0x3d00, 0xa094, 0xff00, 0x8217, 0xa084, + 0xf000, 0xa086, 0x3000, 0x1160, 0xa184, 0xff00, 0x8007, 0xa086, + 0x0008, 0x11e8, 0x080c, 0x2d83, 0x11d0, 0x080c, 0x65c4, 0x0098, + 0x20e1, 0x0004, 0x3d60, 0xd1bc, 0x1108, 0x3e60, 0xac84, 0x0007, + 0x1170, 0xac82, 0xbc00, 0x0258, 0x685c, 0xac02, 0x1240, 0x2009, + 0x0047, 0x080c, 0x85ef, 0x7a1c, 0xd284, 0x1938, 0x0005, 0xa016, + 0x080c, 0x1856, 0x0cc0, 0x0cd8, 0x781c, 0xd08c, 0x0500, 0x0156, + 0x0136, 0x0146, 0x20e1, 0x3000, 0x3d20, 0x3e28, 0xa584, 0x0076, + 0x1538, 0xa484, 0x7000, 0xa086, 0x1000, 0x11a8, 0x080c, 0x643f, + 0x01f8, 0x20e1, 0x3000, 0x7828, 0x7828, 0x080c, 0x645b, 0x014e, + 0x013e, 0x015e, 0x2009, 0xb6e8, 0x2104, 0xa005, 0x1108, 0x0005, + 0x080c, 0x7134, 0x0ce0, 0xa484, 0x7000, 0x1548, 0x080c, 0x643f, + 0x01d8, 0x7000, 0xa084, 0xff00, 0xa086, 0x8100, 0x0d10, 0x00a0, + 0xd5a4, 0x0178, 0x0056, 0x0046, 0x080c, 0x1e3f, 0x080c, 0x2479, + 0x2001, 0x0160, 0x2502, 0x2001, 0x0138, 0x2202, 0x004e, 0x005e, + 0x0048, 0x04a9, 0x6887, 0x0000, 0x080c, 0xb362, 0x20e1, 0x3000, + 0x7828, 0x7828, 0x00b9, 0x014e, 0x013e, 0x015e, 0x0880, 0x0439, + 0x1130, 0x7000, 0xa084, 0xff00, 0xa086, 0x8100, 0x1d68, 0x080c, + 0xb362, 0x20e1, 0x3000, 0x7828, 0x7828, 0x0056, 0x080c, 0x6839, + 0x005e, 0x0c40, 0x2001, 0xb40e, 0x2004, 0xd08c, 0x0178, 0x2001, + 0xb400, 0x2004, 0xa086, 0x0003, 0x1148, 0x0026, 0x0036, 0x2011, + 0x8048, 0x2518, 0x080c, 0x3e8a, 0x003e, 0x002e, 0x0005, 0xa484, + 0x01ff, 0x6886, 0xa005, 0x0160, 0xa080, 0x001f, 0xa084, 0x03f8, + 0x80ac, 0x20e1, 0x1000, 0x2ea0, 0x2099, 0x020a, 0x53a5, 0x0005, + 0x20a9, 0x000c, 0x20e1, 0x1000, 0x2ea0, 0x2099, 0x020a, 0x53a5, + 0xa085, 0x0001, 0x0ca0, 0x7000, 0xa084, 0xff00, 0xa08c, 0xf000, + 0x8007, 0xa196, 0x0000, 0x1118, 0x0804, 0x66c9, 0x0005, 0xa196, + 0x2000, 0x1148, 0x6900, 0xa18e, 0x0001, 0x1118, 0x080c, 0x4449, + 0x0ca8, 0x0039, 0x0c98, 0xa196, 0x8000, 0x1d80, 0x080c, 0x6779, + 0x0c68, 0x00c6, 0x6a84, 0x82ff, 0x0904, 0x65be, 0x7110, 0xa18c, + 0xff00, 0x810f, 0xa196, 0x0001, 0x0120, 0xa196, 0x0023, 0x1904, + 0x65be, 0xa08e, 0x0023, 0x1570, 0x080c, 0x6814, 0x0904, 0x65be, + 0x7124, 0x610a, 0x7030, 0xa08e, 0x0200, 0x1150, 0x7034, 0xa005, + 0x1904, 0x65be, 0x2009, 0x0015, 0x080c, 0x85ef, 0x0804, 0x65be, + 0xa08e, 0x0214, 0x0118, 0xa08e, 0x0210, 0x1130, 0x2009, 0x0015, + 0x080c, 0x85ef, 0x0804, 0x65be, 0xa08e, 0x0100, 0x1904, 0x65be, + 0x7034, 0xa005, 0x1904, 0x65be, 0x2009, 0x0016, 0x080c, 0x85ef, + 0x0804, 0x65be, 0xa08e, 0x0022, 0x1904, 0x65be, 0x7030, 0xa08e, + 0x0300, 0x1580, 0x68d4, 0xd0a4, 0x0528, 0xc0b5, 0x68d6, 0x7100, + 0xa18c, 0x00ff, 0x6972, 0x7004, 0x6876, 0x00f6, 0x2079, 0x0100, + 0x79e6, 0x78ea, 0x0006, 0xa084, 0x00ff, 0x0016, 0x2008, 0x080c, + 0x280d, 0x7932, 0x7936, 0x001e, 0x000e, 0x00fe, 0x080c, 0x27e3, + 0x6952, 0x703c, 0x00e6, 0x2071, 0x0140, 0x7086, 0x2071, 0xb400, + 0x70a6, 0x00ee, 0x7034, 0xa005, 0x1904, 0x65be, 0x2009, 0x0017, + 0x0804, 0x6584, 0xa08e, 0x0400, 0x1158, 0x7034, 0xa005, 0x1904, + 0x65be, 0x68d4, 0xc0a5, 0x68d6, 0x2009, 0x0030, 0x0804, 0x6584, + 0xa08e, 0x0500, 0x1140, 0x7034, 0xa005, 0x1904, 0x65be, 0x2009, + 0x0018, 0x0804, 0x6584, 0xa08e, 0x2010, 0x1120, 0x2009, 0x0019, + 0x0804, 0x6584, 0xa08e, 0x2110, 0x1120, 0x2009, 0x001a, 0x0804, + 0x6584, 0xa08e, 0x5200, 0x1140, 0x7034, 0xa005, 0x1904, 0x65be, + 0x2009, 0x001b, 0x0804, 0x6584, 0xa08e, 0x5000, 0x1140, 0x7034, + 0xa005, 0x1904, 0x65be, 0x2009, 0x001c, 0x0804, 0x6584, 0xa08e, + 0x1300, 0x1120, 0x2009, 0x0034, 0x0804, 0x6584, 0xa08e, 0x1200, + 0x1140, 0x7034, 0xa005, 0x1904, 0x65be, 0x2009, 0x0024, 0x0804, + 0x6584, 0xa08c, 0xff00, 0xa18e, 0x2400, 0x1118, 0x2009, 0x002d, + 0x04d8, 0xa08c, 0xff00, 0xa18e, 0x5300, 0x1118, 0x2009, 0x002a, + 0x0498, 0xa08e, 0x0f00, 0x1118, 0x2009, 0x0020, 0x0468, 0xa08e, + 0x5300, 0x1108, 0x00d8, 0xa08e, 0x6104, 0x11c0, 0x2011, 0xba8d, + 0x8208, 0x2204, 0xa082, 0x0004, 0x20a8, 0x95ac, 0x95ac, 0x2011, + 0x8015, 0x211c, 0x8108, 0x0046, 0x2124, 0x080c, 0x3e8a, 0x004e, + 0x8108, 0x1f04, 0x6567, 0x2009, 0x0023, 0x0070, 0xa08e, 0x6000, + 0x1118, 0x2009, 0x003f, 0x0040, 0xa08e, 0x7800, 0x1118, 0x2009, + 0x0045, 0x0010, 0x2009, 0x001d, 0x0016, 0x2011, 0xba83, 0x2204, + 0x8211, 0x220c, 0x080c, 0x27e3, 0x1598, 0x080c, 0x4f0e, 0x1580, + 0x6612, 0x6516, 0x86ff, 0x01e8, 0x001e, 0x0016, 0xa186, 0x0017, + 0x1158, 0x6870, 0xa606, 0x11a8, 0x6874, 0xa506, 0xa084, 0xff00, + 0x1180, 0x6000, 0xc0f5, 0x6002, 0xa186, 0x0046, 0x1150, 0x6870, + 0xa606, 0x1138, 0x6874, 0xa506, 0xa084, 0xff00, 0x1110, 0x001e, + 0x0068, 0x00c6, 0x080c, 0x856a, 0x0168, 0x001e, 0x611a, 0x601f, + 0x0004, 0x7120, 0x610a, 0x001e, 0x080c, 0x85ef, 0x00ce, 0x0005, + 0x001e, 0x0ce0, 0x00ce, 0x0ce0, 0x00c6, 0x0046, 0x080c, 0x6618, + 0x1904, 0x6615, 0xa28e, 0x0033, 0x11e8, 0x080c, 0x6814, 0x0904, + 0x6615, 0x7124, 0x610a, 0x7030, 0xa08e, 0x0200, 0x1140, 0x7034, + 0xa005, 0x15d8, 0x2009, 0x0015, 0x080c, 0x85ef, 0x04b0, 0xa08e, + 0x0100, 0x1598, 0x7034, 0xa005, 0x1580, 0x2009, 0x0016, 0x080c, + 0x85ef, 0x0458, 0xa28e, 0x0032, 0x1540, 0x7030, 0xa08e, 0x1400, + 0x1520, 0x2009, 0x0038, 0x0016, 0x2011, 0xba83, 0x2204, 0x8211, + 0x220c, 0x080c, 0x27e3, 0x11c0, 0x080c, 0x4f0e, 0x11a8, 0x6612, + 0x6516, 0x00c6, 0x080c, 0x856a, 0x0170, 0x001e, 0x611a, 0x080c, + 0x9fb8, 0x601f, 0x0004, 0x7120, 0x610a, 0x001e, 0x080c, 0x85ef, + 0x080c, 0x7134, 0x0010, 0x00ce, 0x001e, 0x004e, 0x00ce, 0x0005, + 0x00f6, 0x00d6, 0x0026, 0x0016, 0x0136, 0x0146, 0x0156, 0x3c00, + 0x0006, 0x2079, 0x0030, 0x2069, 0x0200, 0x080c, 0x1efe, 0x1590, + 0x080c, 0x1da1, 0x05e0, 0x04f1, 0x1130, 0x7908, 0xa18c, 0x1fff, + 0xa182, 0x0011, 0x1688, 0x20a9, 0x000c, 0x20e1, 0x0000, 0x2ea0, + 0x2099, 0x020a, 0x53a5, 0x20e1, 0x2000, 0x2001, 0x020a, 0x2004, + 0x7a0c, 0x7808, 0xa080, 0x0007, 0xa084, 0x1ff8, 0x0419, 0x1120, + 0xa08a, 0x0140, 0x1a0c, 0x1511, 0x80ac, 0x20e1, 0x6000, 0x2099, + 0x020a, 0x53a5, 0x20e1, 0x7000, 0x6828, 0x6828, 0x7803, 0x0004, + 0xa294, 0x0070, 0x000e, 0x20e0, 0x015e, 0x014e, 0x013e, 0x001e, + 0x002e, 0x00de, 0x00fe, 0x0005, 0xa016, 0x080c, 0x1856, 0xa085, + 0x0001, 0x0c80, 0x0006, 0x2001, 0x0111, 0x2004, 0xa084, 0x0003, + 0x000e, 0x0005, 0x0046, 0x00e6, 0x00d6, 0x2028, 0x2130, 0xa696, + 0x00ff, 0x1198, 0xa596, 0xfffd, 0x1120, 0x2009, 0x007f, 0x0804, + 0x66c4, 0xa596, 0xfffe, 0x1118, 0x2009, 0x007e, 0x04e8, 0xa596, + 0xfffc, 0x1118, 0x2009, 0x0080, 0x04b8, 0x2011, 0x0000, 0x2019, + 0xb435, 0x231c, 0xd3ac, 0x0138, 0x2021, 0x0000, 0x20a9, 0x00ff, + 0x2071, 0xb535, 0x0030, 0x2021, 0x0081, 0x20a9, 0x007e, 0x2071, + 0xb5b6, 0x2e1c, 0x83ff, 0x1128, 0x82ff, 0x1198, 0x2410, 0xc2fd, + 0x0080, 0x2368, 0x6f10, 0x0006, 0x2100, 0xa706, 0x000e, 0x6b14, + 0x1120, 0xa346, 0x1110, 0x2408, 0x0078, 0x87ff, 0x1110, 0x83ff, + 0x0d58, 0x8420, 0x8e70, 0x1f04, 0x66a1, 0x82ff, 0x1118, 0xa085, + 0x0001, 0x0018, 0xc2fc, 0x2208, 0xa006, 0x00de, 0x00ee, 0x004e, + 0x0005, 0xa084, 0x0007, 0x000a, 0x0005, 0x66d5, 0x66d5, 0x66d5, + 0x6826, 0x66d5, 0x66d6, 0x66eb, 0x6764, 0x0005, 0x7110, 0xd1bc, + 0x0188, 0x7120, 0x2160, 0xac8c, 0x0007, 0x1160, 0xac8a, 0xbc00, + 0x0248, 0x685c, 0xac02, 0x1230, 0x7124, 0x610a, 0x2009, 0x0046, + 0x080c, 0x85ef, 0x0005, 0x00c6, 0xa484, 0x01ff, 0x0904, 0x6742, + 0x7110, 0xd1bc, 0x1904, 0x6742, 0x2011, 0xba83, 0x2204, 0x8211, + 0x220c, 0x080c, 0x27e3, 0x1904, 0x6742, 0x080c, 0x4f0e, 0x1904, + 0x6742, 0x6612, 0x6516, 0x6000, 0xd0ec, 0x15e0, 0x6204, 0xa294, + 0xff00, 0x8217, 0xa286, 0x0006, 0x0160, 0x080c, 0x5a90, 0x11d0, + 0x6204, 0xa294, 0x00ff, 0xa286, 0x0006, 0x11a0, 0xa295, 0x0600, + 0x6206, 0x00c6, 0x080c, 0x856a, 0x001e, 0x0530, 0x611a, 0x601f, + 0x0006, 0x7120, 0x610a, 0x7130, 0x6152, 0x2009, 0x0044, 0x080c, + 0x85ef, 0x00c0, 0x00c6, 0x080c, 0x856a, 0x001e, 0x0198, 0x611a, + 0x601f, 0x0004, 0x7120, 0x610a, 0xa286, 0x0004, 0x1118, 0x6007, + 0x0005, 0x0010, 0x6007, 0x0001, 0x6003, 0x0001, 0x080c, 0x6c98, + 0x080c, 0x7134, 0x00ce, 0x0005, 0x2001, 0xb40d, 0x2004, 0xd0ec, + 0x0120, 0x2011, 0x8049, 0x080c, 0x3e8a, 0x00c6, 0x080c, 0x9e67, + 0x001e, 0x0d80, 0x611a, 0x601f, 0x0006, 0x7120, 0x610a, 0x7130, + 0x6152, 0x6013, 0x0300, 0x6003, 0x0001, 0x6007, 0x0041, 0x080c, + 0x6c52, 0x080c, 0x7134, 0x08f0, 0x7110, 0xd1bc, 0x0188, 0x7020, + 0x2060, 0xac84, 0x0007, 0x1160, 0xac82, 0xbc00, 0x0248, 0x685c, + 0xac02, 0x1230, 0x7124, 0x610a, 0x2009, 0x0045, 0x080c, 0x85ef, + 0x0005, 0x0006, 0x080c, 0x2d83, 0x000e, 0x1168, 0x7110, 0xa18c, + 0xff00, 0x810f, 0xa18e, 0x0000, 0x1130, 0xa084, 0x000f, 0xa08a, + 0x0006, 0x1208, 0x000b, 0x0005, 0x6792, 0x6793, 0x6792, 0x6792, + 0x67fc, 0x6808, 0x0005, 0x7110, 0xd1bc, 0x0120, 0x702c, 0xd084, + 0x0904, 0x67fb, 0x700c, 0x7108, 0x080c, 0x27e3, 0x1904, 0x67fb, + 0x080c, 0x4f0e, 0x1904, 0x67fb, 0x6612, 0x6516, 0x6204, 0x7110, + 0xd1bc, 0x01f8, 0xa28c, 0x00ff, 0xa186, 0x0004, 0x0118, 0xa186, + 0x0006, 0x15c8, 0x00c6, 0x080c, 0x6814, 0x00ce, 0x0904, 0x67fb, + 0x00c6, 0x080c, 0x856a, 0x001e, 0x05f0, 0x611a, 0x080c, 0x9fb8, + 0x601f, 0x0002, 0x7120, 0x610a, 0x2009, 0x0088, 0x080c, 0x85ef, + 0x0490, 0xa28c, 0x00ff, 0xa186, 0x0006, 0x0160, 0xa186, 0x0004, + 0x0148, 0xa294, 0xff00, 0x8217, 0xa286, 0x0004, 0x0118, 0xa286, + 0x0006, 0x1188, 0x00c6, 0x080c, 0x856a, 0x001e, 0x01e0, 0x611a, + 0x080c, 0x9fb8, 0x601f, 0x0005, 0x7120, 0x610a, 0x2009, 0x0088, + 0x080c, 0x85ef, 0x0080, 0x00c6, 0x080c, 0x856a, 0x001e, 0x0158, + 0x611a, 0x080c, 0x9fb8, 0x601f, 0x0004, 0x7120, 0x610a, 0x2009, + 0x0001, 0x080c, 0x85ef, 0x0005, 0x7110, 0xd1bc, 0x0140, 0x00a1, + 0x0130, 0x7124, 0x610a, 0x2009, 0x0089, 0x080c, 0x85ef, 0x0005, + 0x7110, 0xd1bc, 0x0140, 0x0041, 0x0130, 0x7124, 0x610a, 0x2009, + 0x008a, 0x080c, 0x85ef, 0x0005, 0x7020, 0x2060, 0xac84, 0x0007, + 0x1158, 0xac82, 0xbc00, 0x0240, 0x2001, 0xb417, 0x2004, 0xac02, + 0x1218, 0xa085, 0x0001, 0x0005, 0xa006, 0x0ce8, 0x7110, 0xd1bc, + 0x1178, 0x7024, 0x2060, 0xac84, 0x0007, 0x1150, 0xac82, 0xbc00, + 0x0238, 0x685c, 0xac02, 0x1220, 0x2009, 0x0051, 0x080c, 0x85ef, + 0x0005, 0x2031, 0x0105, 0x0069, 0x0005, 0x2031, 0x0206, 0x0049, + 0x0005, 0x2031, 0x0207, 0x0029, 0x0005, 0x2031, 0x0213, 0x0009, + 0x0005, 0x00c6, 0x00d6, 0x00f6, 0x7000, 0xa084, 0xf000, 0xa086, + 0xc000, 0x05b0, 0x080c, 0x856a, 0x0598, 0x0066, 0x00c6, 0x0046, + 0x2011, 0xba83, 0x2204, 0x8211, 0x220c, 0x080c, 0x27e3, 0x1580, + 0x080c, 0x4f0e, 0x1568, 0x6612, 0x6516, 0x2c00, 0x004e, 0x00ce, + 0x601a, 0x080c, 0x9fb8, 0x080c, 0x15f4, 0x01f0, 0x2d00, 0x6056, + 0x6803, 0x0000, 0x6837, 0x0000, 0x6c3a, 0xadf8, 0x000f, 0x20a9, + 0x000e, 0x2fa0, 0x2e98, 0x53a3, 0x006e, 0x6612, 0x6007, 0x003e, + 0x601f, 0x0001, 0x6003, 0x0001, 0x080c, 0x6c98, 0x080c, 0x7134, + 0x00fe, 0x00de, 0x00ce, 0x0005, 0x080c, 0x85c0, 0x006e, 0x0cc0, + 0x004e, 0x00ce, 0x0cc8, 0x2071, 0xb6f3, 0x7003, 0x0003, 0x700f, + 0x0361, 0xa006, 0x701a, 0x7076, 0x7012, 0x7017, 0xbc00, 0x7007, + 0x0000, 0x7026, 0x702b, 0x7d3b, 0x7032, 0x7037, 0x7d9b, 0x703b, + 0xffff, 0x703f, 0xffff, 0x7042, 0x7047, 0x4405, 0x704a, 0x705b, + 0x69f0, 0x2001, 0xb6a1, 0x2003, 0x0003, 0x2001, 0xb6a3, 0x2003, + 0x0100, 0x3a00, 0xa084, 0x0005, 0x706e, 0x0005, 0x2071, 0xb6f3, + 0x1d04, 0x6950, 0x2091, 0x6000, 0x700c, 0x8001, 0x700e, 0x1518, + 0x700f, 0x0361, 0x7007, 0x0001, 0x0126, 0x2091, 0x8000, 0x7040, + 0xa00d, 0x0128, 0x8109, 0x7142, 0x1110, 0x7044, 0x080f, 0x00c6, + 0x2061, 0xb400, 0x6034, 0x00ce, 0xd0cc, 0x0180, 0x3a00, 0xa084, + 0x0005, 0x726c, 0xa216, 0x0150, 0x706e, 0x2011, 0x8043, 0x2018, + 0x080c, 0x3e8a, 0x0018, 0x0126, 0x2091, 0x8000, 0x7024, 0xa00d, + 0x0188, 0x7020, 0x8001, 0x7022, 0x1168, 0x7023, 0x0009, 0x8109, + 0x7126, 0xa186, 0x03e8, 0x1110, 0x7028, 0x080f, 0x81ff, 0x1110, + 0x7028, 0x080f, 0x7030, 0xa00d, 0x0180, 0x702c, 0x8001, 0x702e, + 0x1160, 0x702f, 0x0009, 0x8109, 0x7132, 0x0128, 0xa184, 0x007f, + 0x090c, 0x7de0, 0x0010, 0x7034, 0x080f, 0x7038, 0xa005, 0x0118, + 0x0310, 0x8001, 0x703a, 0x703c, 0xa005, 0x0118, 0x0310, 0x8001, + 0x703e, 0x704c, 0xa00d, 0x0168, 0x7048, 0x8001, 0x704a, 0x1148, + 0x704b, 0x0009, 0x8109, 0x714e, 0x1120, 0x7150, 0x714e, 0x7058, + 0x080f, 0x7018, 0xa00d, 0x01d8, 0x0016, 0x7074, 0xa00d, 0x0158, + 0x7070, 0x8001, 0x7072, 0x1138, 0x7073, 0x0009, 0x8109, 0x7176, + 0x1110, 0x7078, 0x080f, 0x001e, 0x7008, 0x8001, 0x700a, 0x1138, + 0x700b, 0x0009, 0x8109, 0x711a, 0x1110, 0x701c, 0x080f, 0x012e, + 0x7004, 0x0002, 0x6976, 0x6977, 0x698f, 0x00e6, 0x2071, 0xb6f3, + 0x7018, 0xa005, 0x1120, 0x711a, 0x721e, 0x700b, 0x0009, 0x00ee, + 0x0005, 0x00e6, 0x0006, 0x2071, 0xb6f3, 0x701c, 0xa206, 0x1110, + 0x701a, 0x701e, 0x000e, 0x00ee, 0x0005, 0x00e6, 0x2071, 0xb6f3, + 0x6088, 0xa102, 0x0208, 0x618a, 0x00ee, 0x0005, 0x0005, 0x7110, + 0x080c, 0x4f6a, 0x1158, 0x6088, 0x8001, 0x0240, 0x608a, 0x1130, + 0x0126, 0x2091, 0x8000, 0x080c, 0x7134, 0x012e, 0x8108, 0xa182, + 0x00ff, 0x0218, 0xa00e, 0x7007, 0x0002, 0x7112, 0x0005, 0x7014, + 0x2060, 0x0126, 0x2091, 0x8000, 0x603c, 0xa005, 0x0128, 0x8001, + 0x603e, 0x1110, 0x080c, 0x9ea6, 0x6014, 0xa005, 0x0500, 0x8001, + 0x6016, 0x11e8, 0x611c, 0xa186, 0x0003, 0x0118, 0xa186, 0x0006, + 0x11a0, 0x6010, 0x2068, 0x6854, 0xa08a, 0x199a, 0x0270, 0xa082, + 0x1999, 0x6856, 0xa08a, 0x199a, 0x0210, 0x2001, 0x1999, 0x8003, + 0x800b, 0x810b, 0xa108, 0x6116, 0x0010, 0x080c, 0x997e, 0x012e, + 0xac88, 0x0018, 0x7116, 0x2001, 0xec00, 0xa102, 0x0220, 0x7017, + 0xbc00, 0x7007, 0x0000, 0x0005, 0x00e6, 0x2071, 0xb6f3, 0x7027, + 0x07d0, 0x7023, 0x0009, 0x00ee, 0x0005, 0x2001, 0xb6fc, 0x2003, + 0x0000, 0x0005, 0x00e6, 0x2071, 0xb6f3, 0x7132, 0x702f, 0x0009, + 0x00ee, 0x0005, 0x2011, 0xb6ff, 0x2013, 0x0000, 0x0005, 0x00e6, + 0x2071, 0xb6f3, 0x711a, 0x721e, 0x700b, 0x0009, 0x00ee, 0x0005, + 0x00c6, 0x0026, 0x7054, 0x8000, 0x7056, 0x2061, 0xb6a1, 0x6008, + 0xa086, 0x0000, 0x0158, 0x7068, 0x6032, 0x7064, 0x602e, 0x7060, + 0x602a, 0x705c, 0x6026, 0x2c10, 0x080c, 0x163f, 0x002e, 0x00ce, + 0x0005, 0x0006, 0x0016, 0x00c6, 0x00d6, 0x00e6, 0x00f6, 0x080c, + 0x68be, 0x00fe, 0x00ee, 0x00de, 0x00ce, 0x001e, 0x000e, 0x0005, + 0x00e6, 0x2071, 0xb6f3, 0x7176, 0x727a, 0x7073, 0x0009, 0x00ee, + 0x0005, 0x00e6, 0x0006, 0x2071, 0xb6f3, 0x7078, 0xa206, 0x1110, + 0x7076, 0x707a, 0x000e, 0x00ee, 0x0005, 0x00c6, 0x2061, 0xb774, + 0x00ce, 0x0005, 0xa184, 0x000f, 0x8003, 0x8003, 0x8003, 0xa080, + 0xb774, 0x2060, 0x0005, 0x6854, 0xa08a, 0x199a, 0x0210, 0x2001, + 0x1999, 0xa005, 0x1150, 0x00c6, 0x2061, 0xb774, 0x6014, 0x00ce, + 0xa005, 0x1138, 0x2001, 0x001e, 0x0020, 0xa08e, 0xffff, 0x1108, + 0xa006, 0x8003, 0x800b, 0x810b, 0xa108, 0x6116, 0x684c, 0xa08c, + 0x00c0, 0xa18e, 0x00c0, 0x05e8, 0xd0b4, 0x1138, 0xd0bc, 0x1550, + 0x2009, 0x0006, 0x080c, 0x6ab6, 0x0005, 0xd0fc, 0x0138, 0xa084, + 0x0003, 0x0120, 0xa086, 0x0003, 0x1904, 0x6ab0, 0x6020, 0xd0d4, + 0x0130, 0xc0d4, 0x6022, 0x6860, 0x602a, 0x685c, 0x602e, 0x2009, + 0xb474, 0x2104, 0xd084, 0x0138, 0x87ff, 0x1120, 0x2009, 0x0042, + 0x080c, 0x85ef, 0x0005, 0x87ff, 0x1120, 0x2009, 0x0043, 0x080c, + 0x85ef, 0x0005, 0xd0fc, 0x0130, 0xa084, 0x0003, 0x0118, 0xa086, + 0x0003, 0x11f0, 0x87ff, 0x1120, 0x2009, 0x0042, 0x080c, 0x85ef, + 0x0005, 0xd0fc, 0x0160, 0xa084, 0x0003, 0xa08e, 0x0002, 0x0148, + 0x87ff, 0x1120, 0x2009, 0x0041, 0x080c, 0x85ef, 0x0005, 0x0061, + 0x0ce8, 0x87ff, 0x1dd8, 0x2009, 0x0043, 0x080c, 0x85ef, 0x0cb0, + 0x2009, 0x0004, 0x0019, 0x0005, 0x2009, 0x0001, 0x00d6, 0x6010, + 0xa0ec, 0xf000, 0x0510, 0x2068, 0x6952, 0x6800, 0x6012, 0xa186, + 0x0001, 0x1188, 0x694c, 0xa18c, 0x8100, 0xa18e, 0x8100, 0x1158, + 0x00c6, 0x2061, 0xb774, 0x6200, 0xd28c, 0x1120, 0x6204, 0x8210, + 0x0208, 0x6206, 0x00ce, 0x080c, 0x53c9, 0x6010, 0xa06d, 0x0076, + 0x2039, 0x0000, 0x190c, 0x6a3b, 0x007e, 0x00de, 0x0005, 0x0156, + 0x00c6, 0x2061, 0xb774, 0x6000, 0x81ff, 0x0110, 0xa205, 0x0008, + 0xa204, 0x6002, 0x00ce, 0x015e, 0x0005, 0x6800, 0xd08c, 0x1138, + 0x6808, 0xa005, 0x0120, 0x8001, 0x680a, 0xa085, 0x0001, 0x0005, + 0x20a9, 0x0010, 0xa006, 0x8004, 0x8086, 0x818e, 0x1208, 0xa200, + 0x1f04, 0x6afc, 0x8086, 0x818e, 0x0005, 0x0156, 0x20a9, 0x0010, + 0xa005, 0x01b8, 0xa11a, 0x12a8, 0x8213, 0x818d, 0x0228, 0xa11a, + 0x1220, 0x1f04, 0x6b0c, 0x0028, 0xa11a, 0x2308, 0x8210, 0x1f04, + 0x6b0c, 0x0006, 0x3200, 0xa084, 0xefff, 0x2080, 0x000e, 0x015e, + 0x0005, 0x0006, 0x3200, 0xa085, 0x1000, 0x0cb8, 0x0126, 0x2091, + 0x2800, 0x2079, 0xb6e0, 0x012e, 0x00d6, 0x2069, 0xb6e0, 0x6803, + 0x0005, 0x2069, 0x0004, 0x2d04, 0xa085, 0x8001, 0x206a, 0x00de, + 0x0005, 0x00c6, 0x6027, 0x0001, 0x7804, 0xa084, 0x0007, 0x0002, + 0x6b4a, 0x6b6b, 0x6bbe, 0x6b50, 0x6b6b, 0x6b4a, 0x6b48, 0x6b48, + 0x080c, 0x1511, 0x080c, 0x69d5, 0x080c, 0x7134, 0x00ce, 0x0005, + 0x62c0, 0x82ff, 0x1110, 0x00ce, 0x0005, 0x2011, 0x4a96, 0x080c, + 0x6961, 0x7828, 0xa092, 0x00c8, 0x1228, 0x8000, 0x782a, 0x080c, + 0x4ad0, 0x0c88, 0x080c, 0x4a96, 0x7807, 0x0003, 0x7827, 0x0000, + 0x782b, 0x0000, 0x0c40, 0x080c, 0x69d5, 0x3c00, 0x0006, 0x2011, + 0x0209, 0x20e1, 0x4000, 0x2214, 0x000e, 0x20e0, 0x82ff, 0x0178, + 0x62c0, 0x82ff, 0x1160, 0x782b, 0x0000, 0x7824, 0xa065, 0x090c, + 0x1511, 0x2009, 0x0013, 0x080c, 0x85ef, 0x00ce, 0x0005, 0x3900, + 0xa082, 0xb82c, 0x1210, 0x080c, 0x82d5, 0x00c6, 0x7824, 0xa065, + 0x090c, 0x1511, 0x7804, 0xa086, 0x0004, 0x0904, 0x6bfe, 0x7828, + 0xa092, 0x2710, 0x1230, 0x8000, 0x782a, 0x00ce, 0x080c, 0x7d17, + 0x0c20, 0x6104, 0xa186, 0x0003, 0x1188, 0x00e6, 0x2071, 0xb400, + 0x70e0, 0x00ee, 0xd08c, 0x0150, 0x00c6, 0x00e6, 0x2061, 0x0100, + 0x2071, 0xb400, 0x080c, 0x4ad9, 0x00ee, 0x00ce, 0x080c, 0xb3c7, + 0x2009, 0x0014, 0x080c, 0x85ef, 0x00ce, 0x0838, 0x2001, 0xb6fc, + 0x2003, 0x0000, 0x62c0, 0x82ff, 0x1160, 0x782b, 0x0000, 0x7824, + 0xa065, 0x090c, 0x1511, 0x2009, 0x0013, 0x080c, 0x8643, 0x00ce, + 0x0005, 0x00c6, 0x00d6, 0x3900, 0xa082, 0xb82c, 0x1210, 0x080c, + 0x82d5, 0x7824, 0xa005, 0x090c, 0x1511, 0x781c, 0xa06d, 0x090c, + 0x1511, 0x6800, 0xc0dc, 0x6802, 0x7924, 0x2160, 0x080c, 0x85c0, + 0x693c, 0x81ff, 0x090c, 0x1511, 0x8109, 0x693e, 0x6854, 0xa015, + 0x0110, 0x7a1e, 0x0010, 0x7918, 0x791e, 0x7807, 0x0000, 0x7827, + 0x0000, 0x00de, 0x00ce, 0x080c, 0x7134, 0x0888, 0x6104, 0xa186, + 0x0002, 0x0128, 0xa186, 0x0004, 0x0110, 0x0804, 0x6b97, 0x7808, + 0xac06, 0x0904, 0x6b97, 0x080c, 0x7055, 0x080c, 0x6c98, 0x00ce, + 0x080c, 0x7134, 0x0804, 0x6b85, 0x00c6, 0x6027, 0x0002, 0x62c8, + 0x60c4, 0xa205, 0x1178, 0x793c, 0xa1e5, 0x0000, 0x0130, 0x2009, + 0x0049, 0x080c, 0x85ef, 0x00ce, 0x0005, 0x2011, 0xb6ff, 0x2013, + 0x0000, 0x0cc8, 0x3908, 0xa192, 0xb82c, 0x1210, 0x080c, 0x82d5, + 0x793c, 0x81ff, 0x0d90, 0x7944, 0xa192, 0x7530, 0x12b8, 0x8108, + 0x7946, 0x793c, 0xa188, 0x0007, 0x210c, 0xa18e, 0x0006, 0x1138, + 0x6014, 0xa084, 0x0184, 0xa085, 0x0012, 0x6016, 0x08e0, 0x6014, + 0xa084, 0x0184, 0xa085, 0x0016, 0x6016, 0x08a8, 0x7848, 0xc085, + 0x784a, 0x0888, 0x0006, 0x0016, 0x00c6, 0x0126, 0x2091, 0x8000, + 0x600f, 0x0000, 0x2c08, 0x2061, 0xb6e0, 0x6020, 0x8000, 0x6022, + 0x6010, 0xa005, 0x0148, 0xa080, 0x0003, 0x2102, 0x6112, 0x012e, + 0x00ce, 0x001e, 0x000e, 0x0005, 0x6116, 0x6112, 0x0cc0, 0x00d6, + 0x2069, 0xb6e0, 0x6000, 0xd0d4, 0x0168, 0x6820, 0x8000, 0x6822, + 0xa086, 0x0001, 0x1110, 0x2c00, 0x681e, 0x6804, 0xa084, 0x0007, + 0x0804, 0x713a, 0xc0d5, 0x6002, 0x6818, 0xa005, 0x0158, 0x6056, + 0x605b, 0x0000, 0x0006, 0x2c00, 0x681a, 0x00de, 0x685a, 0x2069, + 0xb6e0, 0x0c18, 0x6056, 0x605a, 0x2c00, 0x681a, 0x681e, 0x08e8, + 0x0006, 0x0016, 0x00c6, 0x0126, 0x2091, 0x8000, 0x600f, 0x0000, + 0x2c08, 0x2061, 0xb6e0, 0x6020, 0x8000, 0x6022, 0x6008, 0xa005, + 0x0148, 0xa080, 0x0003, 0x2102, 0x610a, 0x012e, 0x00ce, 0x001e, + 0x000e, 0x0005, 0x610e, 0x610a, 0x0cc0, 0x00c6, 0x600f, 0x0000, + 0x2c08, 0x2061, 0xb6e0, 0x6034, 0xa005, 0x0130, 0xa080, 0x0003, + 0x2102, 0x6136, 0x00ce, 0x0005, 0x613a, 0x6136, 0x0cd8, 0x00f6, + 0x00e6, 0x00d6, 0x00c6, 0x0076, 0x0066, 0x0056, 0x0036, 0x0026, + 0x0016, 0x0006, 0x0126, 0xa02e, 0x2071, 0xb6e0, 0x7638, 0x2660, + 0x2678, 0x2091, 0x8000, 0x8cff, 0x0904, 0x6d40, 0x6018, 0xa080, + 0x0028, 0x2004, 0xa206, 0x1904, 0x6d3b, 0x87ff, 0x0120, 0x6050, + 0xa106, 0x1904, 0x6d3b, 0x703c, 0xac06, 0x1190, 0x0036, 0x2019, + 0x0001, 0x080c, 0x7f8e, 0x7033, 0x0000, 0x703f, 0x0000, 0x7043, + 0x0000, 0x7047, 0x0000, 0x704b, 0x0000, 0x003e, 0x2029, 0x0001, + 0x7038, 0xac36, 0x1110, 0x660c, 0x763a, 0x7034, 0xac36, 0x1140, + 0x2c00, 0xaf36, 0x0118, 0x2f00, 0x7036, 0x0010, 0x7037, 0x0000, + 0x660c, 0x0066, 0x2c00, 0xaf06, 0x0110, 0x7e0e, 0x0008, 0x2678, + 0x600f, 0x0000, 0x080c, 0x9beb, 0x01c8, 0x6010, 0x2068, 0x601c, + 0xa086, 0x0003, 0x1580, 0x6837, 0x0103, 0x6b4a, 0x6847, 0x0000, + 0x0016, 0x0036, 0x0076, 0x080c, 0x9e5d, 0x080c, 0xb303, 0x080c, + 0x53c9, 0x007e, 0x003e, 0x001e, 0x080c, 0x9da2, 0x080c, 0x9dae, + 0x00ce, 0x0804, 0x6cdb, 0x2c78, 0x600c, 0x2060, 0x0804, 0x6cdb, + 0x85ff, 0x0120, 0x0036, 0x080c, 0x71f1, 0x003e, 0x012e, 0x000e, + 0x001e, 0x002e, 0x003e, 0x005e, 0x006e, 0x007e, 0x00ce, 0x00de, + 0x00ee, 0x00fe, 0x0005, 0x601c, 0xa086, 0x0006, 0x1158, 0x0016, + 0x0036, 0x0076, 0x080c, 0xb303, 0x080c, 0xb01c, 0x007e, 0x003e, + 0x001e, 0x08a0, 0x601c, 0xa086, 0x000a, 0x0904, 0x6d25, 0x0804, + 0x6d23, 0x0006, 0x0066, 0x00c6, 0x00d6, 0x00f6, 0x2031, 0x0000, + 0x0126, 0x2091, 0x8000, 0x2079, 0xb6e0, 0x7838, 0xa065, 0x0568, + 0x600c, 0x0006, 0x600f, 0x0000, 0x783c, 0xac06, 0x1180, 0x0036, + 0x2019, 0x0001, 0x080c, 0x7f8e, 0x7833, 0x0000, 0x783f, 0x0000, + 0x7843, 0x0000, 0x7847, 0x0000, 0x784b, 0x0000, 0x003e, 0x080c, + 0x9beb, 0x0178, 0x6010, 0x2068, 0x601c, 0xa086, 0x0003, 0x11b0, + 0x6837, 0x0103, 0x6b4a, 0x6847, 0x0000, 0x080c, 0x53c9, 0x080c, + 0x9da2, 0x080c, 0x9dae, 0x000e, 0x0888, 0x7e3a, 0x7e36, 0x012e, + 0x00fe, 0x00de, 0x00ce, 0x006e, 0x000e, 0x0005, 0x601c, 0xa086, + 0x0006, 0x1118, 0x080c, 0xb01c, 0x0c60, 0x601c, 0xa086, 0x000a, + 0x0d08, 0x08f0, 0x0016, 0x0026, 0x0086, 0x2041, 0x0000, 0x0099, + 0x080c, 0x6e88, 0x008e, 0x002e, 0x001e, 0x0005, 0x00f6, 0x0126, + 0x2079, 0xb6e0, 0x2091, 0x8000, 0x080c, 0x6f15, 0x080c, 0x6f87, + 0x012e, 0x00fe, 0x0005, 0x00f6, 0x00e6, 0x00d6, 0x00c6, 0x0066, + 0x0016, 0x0006, 0x0126, 0x2091, 0x8000, 0x2071, 0xb6e0, 0x7614, + 0x2660, 0x2678, 0x8cff, 0x0904, 0x6e5e, 0x6018, 0xa080, 0x0028, + 0x2004, 0xa206, 0x1904, 0x6e59, 0x88ff, 0x0120, 0x6050, 0xa106, + 0x1904, 0x6e59, 0x7024, 0xac06, 0x1538, 0x2069, 0x0100, 0x68c0, + 0xa005, 0x01f0, 0x080c, 0x69d5, 0x080c, 0x7d24, 0x68c3, 0x0000, + 0x080c, 0x81f0, 0x7027, 0x0000, 0x0036, 0x2069, 0x0140, 0x6b04, + 0xa384, 0x1000, 0x0120, 0x6803, 0x0100, 0x6803, 0x0000, 0x2069, + 0x0100, 0x6824, 0xd084, 0x0110, 0x6827, 0x0001, 0x003e, 0x0020, + 0x6003, 0x0009, 0x630a, 0x04e8, 0x7014, 0xac36, 0x1110, 0x660c, + 0x7616, 0x7010, 0xac36, 0x1140, 0x2c00, 0xaf36, 0x0118, 0x2f00, + 0x7012, 0x0010, 0x7013, 0x0000, 0x660c, 0x0066, 0x2c00, 0xaf06, + 0x0110, 0x7e0e, 0x0008, 0x2678, 0x600f, 0x0000, 0x6010, 0x2068, + 0x080c, 0x9beb, 0x01b8, 0x601c, 0xa086, 0x0003, 0x1540, 0x6837, + 0x0103, 0x6b4a, 0x6847, 0x0000, 0x0016, 0x0036, 0x0086, 0x080c, + 0x9e5d, 0x080c, 0xb303, 0x080c, 0x53c9, 0x008e, 0x003e, 0x001e, + 0x080c, 0x9da2, 0x080c, 0x9dae, 0x080c, 0x80c8, 0x00ce, 0x0804, + 0x6de2, 0x2c78, 0x600c, 0x2060, 0x0804, 0x6de2, 0x012e, 0x000e, + 0x001e, 0x006e, 0x00ce, 0x00de, 0x00ee, 0x00fe, 0x0005, 0x601c, + 0xa086, 0x0006, 0x1158, 0x0016, 0x0036, 0x0086, 0x080c, 0xb303, + 0x080c, 0xb01c, 0x008e, 0x003e, 0x001e, 0x08e0, 0x601c, 0xa086, + 0x0002, 0x1128, 0x6004, 0xa086, 0x0085, 0x0908, 0x0898, 0x601c, + 0xa086, 0x0005, 0x1978, 0x6004, 0xa086, 0x0085, 0x0d20, 0x0850, + 0x00c6, 0x0006, 0x0126, 0x2091, 0x8000, 0xa280, 0xb535, 0x2004, + 0xa065, 0x0904, 0x6f11, 0x00f6, 0x00e6, 0x00d6, 0x0066, 0x2071, + 0xb6e0, 0x6654, 0x7018, 0xac06, 0x1108, 0x761a, 0x701c, 0xac06, + 0x1130, 0x86ff, 0x1118, 0x7018, 0x701e, 0x0008, 0x761e, 0x6058, + 0xa07d, 0x0108, 0x7e56, 0xa6ed, 0x0000, 0x0110, 0x2f00, 0x685a, + 0x6057, 0x0000, 0x605b, 0x0000, 0x6000, 0xc0d4, 0xc0dc, 0x6002, + 0x080c, 0x4e95, 0x0904, 0x6f0d, 0x7624, 0x86ff, 0x05e8, 0xa680, + 0x0004, 0x2004, 0xad06, 0x15c0, 0x00d6, 0x2069, 0x0100, 0x68c0, + 0xa005, 0x0548, 0x080c, 0x69d5, 0x080c, 0x7d24, 0x68c3, 0x0000, + 0x080c, 0x81f0, 0x7027, 0x0000, 0x0036, 0x2069, 0x0140, 0x6b04, + 0xa384, 0x1000, 0x0120, 0x6803, 0x0100, 0x6803, 0x0000, 0x2069, + 0x0100, 0x6824, 0xd084, 0x0110, 0x6827, 0x0001, 0x003e, 0x00de, + 0x00c6, 0x603c, 0xa005, 0x0110, 0x8001, 0x603e, 0x2660, 0x080c, + 0x9dae, 0x00ce, 0x0048, 0x00de, 0x00c6, 0x2660, 0x6003, 0x0009, + 0x630a, 0x00ce, 0x0804, 0x6eb8, 0x8dff, 0x0158, 0x6837, 0x0103, + 0x6b4a, 0x6847, 0x0000, 0x080c, 0x9e5d, 0x080c, 0xb303, 0x080c, + 0x53c9, 0x080c, 0x80c8, 0x0804, 0x6eb8, 0x006e, 0x00de, 0x00ee, + 0x00fe, 0x012e, 0x000e, 0x00ce, 0x0005, 0x0006, 0x0066, 0x00c6, + 0x00d6, 0x2031, 0x0000, 0x7814, 0xa065, 0x0904, 0x6f67, 0x600c, + 0x0006, 0x600f, 0x0000, 0x7824, 0xac06, 0x1540, 0x2069, 0x0100, + 0x68c0, 0xa005, 0x01f0, 0x080c, 0x69d5, 0x080c, 0x7d24, 0x68c3, + 0x0000, 0x080c, 0x81f0, 0x7827, 0x0000, 0x0036, 0x2069, 0x0140, + 0x6b04, 0xa384, 0x1000, 0x0120, 0x6803, 0x0100, 0x6803, 0x0000, + 0x2069, 0x0100, 0x6824, 0xd084, 0x0110, 0x6827, 0x0001, 0x003e, + 0x0028, 0x6003, 0x0009, 0x630a, 0x2c30, 0x00b0, 0x6010, 0x2068, + 0x080c, 0x9beb, 0x0168, 0x601c, 0xa086, 0x0003, 0x11b8, 0x6837, + 0x0103, 0x6b4a, 0x6847, 0x0000, 0x080c, 0x53c9, 0x080c, 0x9da2, + 0x080c, 0x9dae, 0x080c, 0x80c8, 0x000e, 0x0804, 0x6f1c, 0x7e16, + 0x7e12, 0x00de, 0x00ce, 0x006e, 0x000e, 0x0005, 0x601c, 0xa086, + 0x0006, 0x1118, 0x080c, 0xb01c, 0x0c58, 0x601c, 0xa086, 0x0002, + 0x1128, 0x6004, 0xa086, 0x0085, 0x09d0, 0x0c10, 0x601c, 0xa086, + 0x0005, 0x19f0, 0x6004, 0xa086, 0x0085, 0x0d60, 0x08c8, 0x0006, + 0x0066, 0x00c6, 0x00d6, 0x7818, 0xa065, 0x0904, 0x6fed, 0x6054, + 0x0006, 0x6057, 0x0000, 0x605b, 0x0000, 0x6000, 0xc0d4, 0xc0dc, + 0x6002, 0x080c, 0x4e95, 0x0904, 0x6fea, 0x7e24, 0x86ff, 0x05e8, + 0xa680, 0x0004, 0x2004, 0xad06, 0x15c0, 0x00d6, 0x2069, 0x0100, + 0x68c0, 0xa005, 0x0548, 0x080c, 0x69d5, 0x080c, 0x7d24, 0x68c3, + 0x0000, 0x080c, 0x81f0, 0x7827, 0x0000, 0x0036, 0x2069, 0x0140, + 0x6b04, 0xa384, 0x1000, 0x0120, 0x6803, 0x0100, 0x6803, 0x0000, + 0x2069, 0x0100, 0x6824, 0xd084, 0x0110, 0x6827, 0x0001, 0x003e, + 0x00de, 0x00c6, 0x603c, 0xa005, 0x0110, 0x8001, 0x603e, 0x2660, + 0x080c, 0x9dae, 0x00ce, 0x0048, 0x00de, 0x00c6, 0x2660, 0x6003, + 0x0009, 0x630a, 0x00ce, 0x0804, 0x6f99, 0x8dff, 0x0138, 0x6837, + 0x0103, 0x6b4a, 0x6847, 0x0000, 0x080c, 0x53c9, 0x080c, 0x80c8, + 0x0804, 0x6f99, 0x000e, 0x0804, 0x6f8c, 0x781e, 0x781a, 0x00de, + 0x00ce, 0x006e, 0x000e, 0x0005, 0x00e6, 0x00d6, 0x0066, 0x6000, + 0xd0dc, 0x01a0, 0x604c, 0xa06d, 0x0188, 0x6848, 0xa606, 0x1170, + 0x2071, 0xb6e0, 0x7024, 0xa035, 0x0148, 0xa080, 0x0004, 0x2004, + 0xad06, 0x1120, 0x6000, 0xc0dc, 0x6002, 0x0021, 0x006e, 0x00de, + 0x00ee, 0x0005, 0x00f6, 0x2079, 0x0100, 0x78c0, 0xa005, 0x1138, + 0x00c6, 0x2660, 0x6003, 0x0009, 0x630a, 0x00ce, 0x04a0, 0x080c, + 0x7d24, 0x78c3, 0x0000, 0x080c, 0x81f0, 0x7027, 0x0000, 0x0036, + 0x2079, 0x0140, 0x7b04, 0xa384, 0x1000, 0x0120, 0x7803, 0x0100, + 0x7803, 0x0000, 0x2079, 0x0100, 0x7824, 0xd084, 0x0110, 0x7827, + 0x0001, 0x080c, 0x81f0, 0x003e, 0x080c, 0x4e95, 0x00c6, 0x603c, + 0xa005, 0x0110, 0x8001, 0x603e, 0x2660, 0x080c, 0x85c0, 0x00ce, + 0x6837, 0x0103, 0x6b4a, 0x6847, 0x0000, 0x080c, 0x9e5d, 0x080c, + 0x53c9, 0x080c, 0x80c8, 0x00fe, 0x0005, 0x00e6, 0x00c6, 0x2071, + 0xb6e0, 0x7004, 0xa084, 0x0007, 0x0002, 0x7067, 0x706a, 0x7080, + 0x7099, 0x70d2, 0x7067, 0x7065, 0x7065, 0x080c, 0x1511, 0x00ce, + 0x00ee, 0x0005, 0x7024, 0xa065, 0x0148, 0x7020, 0x8001, 0x7022, + 0x600c, 0xa015, 0x0150, 0x7216, 0x600f, 0x0000, 0x7007, 0x0000, + 0x7027, 0x0000, 0x00ce, 0x00ee, 0x0005, 0x7216, 0x7212, 0x0cb0, + 0x6018, 0x2060, 0x080c, 0x4e95, 0x6000, 0xc0dc, 0x6002, 0x7020, + 0x8001, 0x7022, 0x0120, 0x6054, 0xa015, 0x0140, 0x721e, 0x7007, + 0x0000, 0x7027, 0x0000, 0x00ce, 0x00ee, 0x0005, 0x7218, 0x721e, + 0x0cb0, 0x7024, 0xa065, 0x0598, 0x700c, 0xac06, 0x1160, 0x080c, + 0x80c8, 0x600c, 0xa015, 0x0120, 0x720e, 0x600f, 0x0000, 0x0428, + 0x720e, 0x720a, 0x0410, 0x7014, 0xac06, 0x1160, 0x080c, 0x80c8, + 0x600c, 0xa015, 0x0120, 0x7216, 0x600f, 0x0000, 0x00b0, 0x7216, + 0x7212, 0x0098, 0x6018, 0x2060, 0x080c, 0x4e95, 0x6000, 0xc0dc, + 0x6002, 0x080c, 0x80c8, 0x701c, 0xa065, 0x0138, 0x6054, 0xa015, + 0x0110, 0x721e, 0x0010, 0x7218, 0x721e, 0x7027, 0x0000, 0x00ce, + 0x00ee, 0x0005, 0x7024, 0xa065, 0x0140, 0x080c, 0x80c8, 0x600c, + 0xa015, 0x0150, 0x720e, 0x600f, 0x0000, 0x080c, 0x81f0, 0x7027, + 0x0000, 0x00ce, 0x00ee, 0x0005, 0x720e, 0x720a, 0x0cb0, 0x00d6, + 0x2069, 0xb6e0, 0x6830, 0xa084, 0x0003, 0x0002, 0x70f4, 0x70f6, + 0x711a, 0x70f2, 0x080c, 0x1511, 0x00de, 0x0005, 0x00c6, 0x6840, + 0xa086, 0x0001, 0x01b8, 0x683c, 0xa065, 0x0130, 0x600c, 0xa015, + 0x0170, 0x6a3a, 0x600f, 0x0000, 0x6833, 0x0000, 0x683f, 0x0000, + 0x2011, 0xb6ff, 0x2013, 0x0000, 0x00ce, 0x00de, 0x0005, 0x683a, + 0x6836, 0x0c90, 0x6843, 0x0000, 0x6838, 0xa065, 0x0d68, 0x6003, + 0x0003, 0x0c50, 0x00c6, 0x6843, 0x0000, 0x6847, 0x0000, 0x684b, + 0x0000, 0x683c, 0xa065, 0x0168, 0x600c, 0xa015, 0x0130, 0x6a3a, + 0x600f, 0x0000, 0x683f, 0x0000, 0x0020, 0x683f, 0x0000, 0x683a, + 0x6836, 0x00ce, 0x00de, 0x0005, 0x00d6, 0x2069, 0xb6e0, 0x6804, + 0xa084, 0x0007, 0x0002, 0x7145, 0x71e1, 0x71e1, 0x71e1, 0x71e1, + 0x71e3, 0x7143, 0x7143, 0x080c, 0x1511, 0x6820, 0xa005, 0x1110, + 0x00de, 0x0005, 0x00c6, 0x680c, 0xa065, 0x0150, 0x6807, 0x0004, + 0x6826, 0x682b, 0x0000, 0x080c, 0x7233, 0x00ce, 0x00de, 0x0005, + 0x6814, 0xa065, 0x0150, 0x6807, 0x0001, 0x6826, 0x682b, 0x0000, + 0x080c, 0x7233, 0x00ce, 0x00de, 0x0005, 0x00e6, 0x0036, 0x6a1c, + 0xa2f5, 0x0000, 0x0904, 0x71dd, 0x704c, 0xa00d, 0x0118, 0x7088, + 0xa005, 0x01a0, 0x7054, 0xa075, 0x0120, 0xa20e, 0x0904, 0x71dd, + 0x0028, 0x6818, 0xa20e, 0x0904, 0x71dd, 0x2070, 0x704c, 0xa00d, + 0x0d88, 0x7088, 0xa005, 0x1d70, 0x2e00, 0x681e, 0x733c, 0x7038, + 0xa302, 0x1e40, 0x080c, 0x8597, 0x0904, 0x71dd, 0x8318, 0x733e, + 0x6112, 0x2e10, 0x621a, 0xa180, 0x0014, 0x2004, 0xa084, 0x00ff, + 0x605a, 0xa180, 0x0014, 0x2003, 0x0000, 0xa180, 0x0015, 0x2004, + 0xa08a, 0x199a, 0x0210, 0x2001, 0x1999, 0x8003, 0x801b, 0x831b, + 0xa318, 0x6316, 0x003e, 0x00f6, 0x2c78, 0x71a0, 0x2001, 0xb435, + 0x2004, 0xd0ac, 0x1110, 0xd1bc, 0x0150, 0x7100, 0xd1f4, 0x0120, + 0x7114, 0xa18c, 0x00ff, 0x0040, 0x2009, 0x0000, 0x0028, 0xa1e0, + 0x2d88, 0x2c0d, 0xa18c, 0x00ff, 0x2061, 0x0100, 0x619a, 0x080c, + 0x785c, 0x7300, 0xc3dd, 0x7302, 0x6807, 0x0002, 0x2f18, 0x6b26, + 0x682b, 0x0000, 0x781f, 0x0003, 0x7803, 0x0001, 0x7807, 0x0040, + 0x00fe, 0x00ee, 0x00ce, 0x00de, 0x0005, 0x003e, 0x00ee, 0x00ce, + 0x0cd0, 0x00de, 0x0005, 0x00c6, 0x680c, 0xa065, 0x0138, 0x6807, + 0x0004, 0x6826, 0x682b, 0x0000, 0x080c, 0x7233, 0x00ce, 0x00de, + 0x0005, 0x00f6, 0x00d6, 0x2069, 0xb6e0, 0x6830, 0xa086, 0x0000, + 0x11d0, 0x2001, 0xb40c, 0x200c, 0xd1bc, 0x1560, 0x6838, 0xa07d, + 0x0190, 0x6833, 0x0001, 0x683e, 0x6847, 0x0000, 0x684b, 0x0000, + 0x0126, 0x00f6, 0x2091, 0x2400, 0x002e, 0x080c, 0x1ff2, 0x1130, + 0x012e, 0x080c, 0x7b95, 0x00de, 0x00fe, 0x0005, 0x012e, 0xe000, + 0x6843, 0x0000, 0x7803, 0x0002, 0x780c, 0xa015, 0x0140, 0x6a3a, + 0x780f, 0x0000, 0x6833, 0x0000, 0x683f, 0x0000, 0x0c60, 0x683a, + 0x6836, 0x0cc0, 0xc1bc, 0x2102, 0x0066, 0x2031, 0x0001, 0x080c, + 0x5b12, 0x006e, 0x0858, 0x601c, 0xa084, 0x000f, 0x000b, 0x0005, + 0x7241, 0x7246, 0x76fd, 0x7819, 0x7246, 0x76fd, 0x7819, 0x7241, + 0x7246, 0x080c, 0x7055, 0x080c, 0x7134, 0x0005, 0x0156, 0x0136, + 0x0146, 0x00c6, 0x00f6, 0x6004, 0xa08a, 0x0080, 0x1a0c, 0x1511, + 0x6118, 0x2178, 0x79a0, 0x2011, 0xb435, 0x2214, 0xd2ac, 0x1110, + 0xd1bc, 0x0150, 0x7900, 0xd1f4, 0x0120, 0x7914, 0xa18c, 0x00ff, + 0x0040, 0x2009, 0x0000, 0x0028, 0xa1f8, 0x2d88, 0x2f0d, 0xa18c, + 0x00ff, 0x2c78, 0x2061, 0x0100, 0x619a, 0xa08a, 0x0040, 0x1a04, + 0x72ba, 0x0033, 0x00fe, 0x00ce, 0x014e, 0x013e, 0x015e, 0x0005, + 0x7369, 0x73b4, 0x73e1, 0x74ae, 0x74dc, 0x74e4, 0x750a, 0x751b, + 0x752c, 0x7534, 0x754a, 0x7534, 0x75a4, 0x751b, 0x75c5, 0x75cd, + 0x752c, 0x75cd, 0x75de, 0x72b8, 0x72b8, 0x72b8, 0x72b8, 0x72b8, + 0x72b8, 0x72b8, 0x72b8, 0x72b8, 0x72b8, 0x72b8, 0x7e2f, 0x7e54, + 0x7e69, 0x7e8c, 0x7ead, 0x750a, 0x72b8, 0x750a, 0x7534, 0x72b8, + 0x73e1, 0x74ae, 0x72b8, 0x82f2, 0x7534, 0x72b8, 0x8312, 0x7534, + 0x72b8, 0x752c, 0x7362, 0x72cd, 0x72b8, 0x8337, 0x83ac, 0x8483, + 0x72b8, 0x8494, 0x7505, 0x84b0, 0x72b8, 0x7ec2, 0x850b, 0x72b8, + 0x080c, 0x1511, 0x2100, 0x0033, 0x00fe, 0x00ce, 0x014e, 0x013e, + 0x015e, 0x0005, 0x72cb, 0x72cb, 0x72cb, 0x7301, 0x731f, 0x7335, + 0x72cb, 0x72cb, 0x72cb, 0x080c, 0x1511, 0x00d6, 0x20a1, 0x020b, + 0x080c, 0x75fb, 0x7810, 0x2068, 0x20a3, 0x2414, 0x20a3, 0x0018, + 0x20a3, 0x0800, 0x683c, 0x20a2, 0x20a3, 0x0000, 0x20a3, 0x0000, + 0x20a3, 0x0000, 0x20a3, 0x0000, 0x6850, 0x20a2, 0x6854, 0x20a2, + 0x20a3, 0x0000, 0x20a3, 0x0000, 0x60c3, 0x0018, 0x080c, 0x7d11, + 0x00de, 0x0005, 0x00d6, 0x7818, 0x2068, 0x68a0, 0x2069, 0xb400, + 0x6ad4, 0xd2ac, 0x1110, 0xd0bc, 0x0110, 0xa085, 0x0001, 0x00de, + 0x0005, 0x00d6, 0x20a1, 0x020b, 0x080c, 0x75fb, 0x20a3, 0x0500, + 0x20a3, 0x0000, 0x7810, 0xa0e8, 0x000f, 0x6808, 0x20a2, 0x680c, + 0x20a2, 0x6810, 0x20a2, 0x6814, 0x20a2, 0x6818, 0x20a2, 0x681c, + 0x20a2, 0x60c3, 0x0010, 0x080c, 0x7d11, 0x00de, 0x0005, 0x0156, + 0x0146, 0x20a1, 0x020b, 0x080c, 0x75fb, 0x20a3, 0x7800, 0x20a3, + 0x0000, 0x7808, 0x8007, 0x20a2, 0x20a3, 0x0000, 0x60c3, 0x0008, + 0x080c, 0x7d11, 0x014e, 0x015e, 0x0005, 0x0156, 0x0146, 0x20a1, + 0x020b, 0x080c, 0x7697, 0x20a3, 0x0200, 0x20a3, 0x0000, 0x20a3, + 0xdf10, 0x20a3, 0x0034, 0x2099, 0xb405, 0x20a9, 0x0004, 0x53a6, + 0x2099, 0xb401, 0x20a9, 0x0004, 0x53a6, 0x2099, 0xb6c6, 0x20a9, + 0x001a, 0x3304, 0x8007, 0x20a2, 0x9398, 0x1f04, 0x7351, 0x20a3, + 0x0000, 0x20a3, 0x0000, 0x60c3, 0x004c, 0x080c, 0x7d11, 0x014e, + 0x015e, 0x0005, 0x2001, 0xb415, 0x2004, 0x609a, 0x080c, 0x7d11, + 0x0005, 0x20a1, 0x020b, 0x080c, 0x75fb, 0x20a3, 0x5200, 0x20a3, + 0x0000, 0x00d6, 0x2069, 0xb452, 0x6804, 0xd084, 0x0150, 0x6828, + 0x20a3, 0x0000, 0x0016, 0x080c, 0x27f7, 0x21a2, 0x001e, 0x00de, + 0x0028, 0x00de, 0x20a3, 0x0000, 0x20a3, 0x0000, 0x20a9, 0x0004, + 0x2099, 0xb405, 0x53a6, 0x20a9, 0x0004, 0x2099, 0xb401, 0x53a6, + 0x2001, 0xb435, 0x2004, 0xd0ac, 0x1138, 0x7818, 0xa080, 0x0028, + 0x2004, 0xa082, 0x007f, 0x0238, 0x2001, 0xb41c, 0x20a6, 0x2001, + 0xb41d, 0x20a6, 0x0040, 0x20a3, 0x0000, 0x2001, 0xb415, 0x2004, + 0xa084, 0x00ff, 0x20a2, 0x20a3, 0x0000, 0x20a3, 0x0000, 0x60c3, + 0x001c, 0x080c, 0x7d11, 0x0005, 0x20a1, 0x020b, 0x080c, 0x75fb, + 0x20a3, 0x0500, 0x20a3, 0x0000, 0x2001, 0xb435, 0x2004, 0xd0ac, + 0x1138, 0x7818, 0xa080, 0x0028, 0x2004, 0xa082, 0x007f, 0x0238, + 0x2001, 0xb41c, 0x20a6, 0x2001, 0xb41d, 0x20a6, 0x0040, 0x20a3, + 0x0000, 0x2001, 0xb415, 0x2004, 0xa084, 0x00ff, 0x20a2, 0x20a9, + 0x0004, 0x2099, 0xb405, 0x53a6, 0x60c3, 0x0010, 0x080c, 0x7d11, + 0x0005, 0x20a1, 0x020b, 0x080c, 0x75fb, 0x00c6, 0x7818, 0x2060, + 0x2001, 0x0000, 0x080c, 0x52d4, 0x00ce, 0x7818, 0xa080, 0x0028, + 0x2004, 0xa086, 0x007e, 0x1130, 0x20a3, 0x0400, 0x620c, 0xc2b4, + 0x620e, 0x0010, 0x20a3, 0x0300, 0x20a3, 0x0000, 0x7818, 0xa080, + 0x0028, 0x2004, 0xa086, 0x007e, 0x1904, 0x7470, 0x2001, 0xb435, + 0x2004, 0xd0a4, 0x01c8, 0x2099, 0xb68e, 0x33a6, 0x9398, 0x20a3, + 0x0000, 0x9398, 0x3304, 0xa084, 0x2000, 0x20a2, 0x9398, 0x33a6, + 0x9398, 0x20a3, 0x0000, 0x9398, 0x2001, 0x2710, 0x20a2, 0x9398, + 0x33a6, 0x9398, 0x33a6, 0x00d0, 0x2099, 0xb68e, 0x33a6, 0x9398, + 0x33a6, 0x9398, 0x3304, 0x080c, 0x5a90, 0x1118, 0xa084, 0x37ff, + 0x0010, 0xa084, 0x3fff, 0x20a2, 0x9398, 0x33a6, 0x20a3, 0x0000, + 0x20a3, 0x0000, 0x20a3, 0x0000, 0x20a3, 0x0000, 0x20a9, 0x0004, + 0x2099, 0xb405, 0x53a6, 0x20a9, 0x0004, 0x2099, 0xb401, 0x53a6, + 0x20a9, 0x0008, 0x20a3, 0x0000, 0x1f04, 0x744a, 0x20a9, 0x0008, + 0x20a3, 0x0000, 0x1f04, 0x7450, 0x2099, 0xb696, 0x3304, 0xc0dd, + 0x20a2, 0x2001, 0xb472, 0x2004, 0xd0e4, 0x0158, 0x20a3, 0x0000, + 0x20a3, 0x0000, 0x9398, 0x9398, 0x9398, 0x33a6, 0x20a9, 0x0004, + 0x0010, 0x20a9, 0x0007, 0x20a3, 0x0000, 0x1f04, 0x746b, 0x0468, + 0x2001, 0xb435, 0x2004, 0xd0a4, 0x0140, 0x2001, 0xb68f, 0x2004, + 0x60e3, 0x0000, 0x080c, 0x2838, 0x60e2, 0x2099, 0xb68e, 0x20a9, + 0x0008, 0x53a6, 0x20a9, 0x0004, 0x2099, 0xb405, 0x53a6, 0x20a9, + 0x0004, 0x2099, 0xb401, 0x53a6, 0x20a9, 0x0008, 0x20a3, 0x0000, + 0x1f04, 0x748e, 0x20a9, 0x0008, 0x20a3, 0x0000, 0x1f04, 0x7494, + 0x2099, 0xb696, 0x20a9, 0x0008, 0x53a6, 0x20a9, 0x0008, 0x20a3, + 0x0000, 0x1f04, 0x749f, 0x20a9, 0x000a, 0x20a3, 0x0000, 0x1f04, + 0x74a5, 0x60c3, 0x0074, 0x080c, 0x7d11, 0x0005, 0x20a1, 0x020b, + 0x080c, 0x75fb, 0x20a3, 0x2010, 0x20a3, 0x0014, 0x20a3, 0x0800, + 0x20a3, 0x2000, 0xa006, 0x20a2, 0x20a2, 0x20a2, 0x20a2, 0x20a2, + 0x00f6, 0x2079, 0xb452, 0x7904, 0x00fe, 0xd1ac, 0x1110, 0xa085, + 0x0020, 0xd1a4, 0x0110, 0xa085, 0x0010, 0xa085, 0x0002, 0x00d6, + 0x0804, 0x7586, 0x20a2, 0x20a3, 0x0000, 0x20a3, 0x0000, 0x60c3, + 0x0014, 0x080c, 0x7d11, 0x0005, 0x20a1, 0x020b, 0x080c, 0x75fb, + 0x20a3, 0x5000, 0x0804, 0x73fc, 0x20a1, 0x020b, 0x080c, 0x75fb, + 0x20a3, 0x2110, 0x20a3, 0x0014, 0x20a3, 0x0000, 0x20a3, 0x0000, + 0x20a3, 0x0000, 0x20a3, 0x0000, 0x20a3, 0x0000, 0x20a3, 0x0000, + 0x20a3, 0x0000, 0x20a3, 0x0000, 0x20a3, 0x0000, 0x20a3, 0x0000, + 0x60c3, 0x0014, 0x080c, 0x7d11, 0x0005, 0x20a1, 0x020b, 0x080c, + 0x768f, 0x0020, 0x20a1, 0x020b, 0x080c, 0x7697, 0x20a3, 0x0200, + 0x20a3, 0x0000, 0x20a3, 0x0000, 0x20a3, 0x0000, 0x60c3, 0x0004, + 0x080c, 0x7d11, 0x0005, 0x20a1, 0x020b, 0x080c, 0x7697, 0x20a3, + 0x0100, 0x20a3, 0x0000, 0x20a3, 0x0003, 0x20a3, 0x2a00, 0x60c3, + 0x0008, 0x080c, 0x7d11, 0x0005, 0x20a1, 0x020b, 0x080c, 0x7697, + 0x20a3, 0x0200, 0x0804, 0x73fc, 0x20a1, 0x020b, 0x080c, 0x7697, + 0x20a3, 0x0100, 0x20a3, 0x0000, 0x7828, 0xa005, 0x0110, 0x20a2, + 0x0010, 0x20a3, 0x0003, 0x7810, 0x20a2, 0x60c3, 0x0008, 0x080c, + 0x7d11, 0x0005, 0x00d6, 0x20a1, 0x020b, 0x080c, 0x7697, 0x20a3, + 0x0210, 0x20a3, 0x0014, 0x20a3, 0x0800, 0x7818, 0x2068, 0x6894, + 0xa086, 0x0014, 0x1178, 0x6998, 0xa184, 0xc000, 0x1140, 0xd1ec, + 0x0118, 0x20a3, 0x2100, 0x0040, 0x20a3, 0x0100, 0x0028, 0x20a3, + 0x0400, 0x0010, 0x20a3, 0x0700, 0xa006, 0x20a2, 0x20a2, 0x20a2, + 0x20a2, 0x20a2, 0x00f6, 0x2079, 0xb452, 0x7904, 0x00fe, 0xd1ac, + 0x1110, 0xa085, 0x0020, 0xd1a4, 0x0110, 0xa085, 0x0010, 0x2009, + 0xb474, 0x210c, 0xd184, 0x1110, 0xa085, 0x0002, 0x0026, 0x2009, + 0xb472, 0x210c, 0xd1e4, 0x0130, 0xc0c5, 0xa094, 0x0030, 0xa296, + 0x0010, 0x0140, 0xd1ec, 0x0130, 0xa094, 0x0030, 0xa296, 0x0010, + 0x0108, 0xc0bd, 0x002e, 0x20a2, 0x20a2, 0x20a2, 0x60c3, 0x0014, + 0x080c, 0x7d11, 0x00de, 0x0005, 0x20a1, 0x020b, 0x080c, 0x7697, + 0x20a3, 0x0210, 0x20a3, 0x0014, 0x20a3, 0x0000, 0x20a3, 0x0100, + 0x20a3, 0x0000, 0x20a3, 0x0000, 0x20a3, 0x0000, 0x20a3, 0x0000, + 0x20a3, 0x0000, 0x20a3, 0x0000, 0x20a3, 0x0000, 0x20a3, 0x0000, + 0x60c3, 0x0014, 0x080c, 0x7d11, 0x0005, 0x20a1, 0x020b, 0x080c, + 0x7697, 0x20a3, 0x0200, 0x0804, 0x736f, 0x20a1, 0x020b, 0x080c, + 0x7697, 0x20a3, 0x0100, 0x20a3, 0x0000, 0x20a3, 0x0003, 0x20a3, + 0x2a00, 0x60c3, 0x0008, 0x080c, 0x7d11, 0x0005, 0x20e1, 0x9080, + 0x20e1, 0x4000, 0x20a1, 0x020b, 0x080c, 0x7697, 0x20a3, 0x0100, + 0x20a3, 0x0000, 0x20a3, 0x000b, 0x20a3, 0x0000, 0x60c3, 0x0008, + 0x080c, 0x7d11, 0x0005, 0x0026, 0x0036, 0x0046, 0x2019, 0x3200, + 0x2021, 0x0800, 0x0038, 0x0026, 0x0036, 0x0046, 0x2019, 0x2200, + 0x2021, 0x0100, 0x20e1, 0x9080, 0x20e1, 0x4000, 0x7818, 0xa080, + 0x0028, 0x2014, 0xa286, 0x007e, 0x11a0, 0xa385, 0x00ff, 0x20a2, + 0x20a3, 0xfffe, 0x20a3, 0x0000, 0x2011, 0xb415, 0x2214, 0x2001, + 0xb69e, 0x2004, 0xa005, 0x0118, 0x2011, 0xb41d, 0x2214, 0x22a2, + 0x04d0, 0xa286, 0x007f, 0x1138, 0x00d6, 0xa385, 0x00ff, 0x20a2, + 0x20a3, 0xfffd, 0x00c8, 0x2001, 0xb435, 0x2004, 0xd0ac, 0x1110, + 0xd2bc, 0x01c8, 0xa286, 0x0080, 0x00d6, 0x1130, 0xa385, 0x00ff, + 0x20a2, 0x20a3, 0xfffc, 0x0040, 0xa2e8, 0xb535, 0x2d6c, 0x6810, + 0xa305, 0x20a2, 0x6814, 0x20a2, 0x2069, 0xb41c, 0x2da6, 0x8d68, + 0x2da6, 0x00de, 0x0080, 0x00d6, 0xa2e8, 0xb535, 0x2d6c, 0x6810, + 0xa305, 0x20a2, 0x6814, 0x20a2, 0x00de, 0x20a3, 0x0000, 0x2011, + 0xb415, 0x2214, 0x22a2, 0xa485, 0x0029, 0x20a2, 0x004e, 0x003e, + 0x20a3, 0x0000, 0x080c, 0x7d00, 0x22a2, 0x20a3, 0x0000, 0x2fa2, + 0x20a3, 0xffff, 0x20a3, 0x0000, 0x20a3, 0x0000, 0x002e, 0x0005, + 0x0026, 0x20e1, 0x9080, 0x20e1, 0x4000, 0x20a3, 0x02ff, 0x2011, + 0xfffc, 0x22a2, 0x00d6, 0x2069, 0xb41c, 0x2da6, 0x8d68, 0x2da6, + 0x00de, 0x20a3, 0x2029, 0x20a3, 0x0000, 0x08e0, 0x20a3, 0x0100, + 0x20a3, 0x0000, 0x20a3, 0xfc02, 0x20a3, 0x0000, 0x0005, 0x0026, + 0x0036, 0x0046, 0x2019, 0x3300, 0x2021, 0x0800, 0x0038, 0x0026, + 0x0036, 0x0046, 0x2019, 0x2300, 0x2021, 0x0100, 0x20e1, 0x9080, + 0x20e1, 0x4000, 0x7818, 0xa080, 0x0028, 0x2004, 0x2011, 0xb435, + 0x2214, 0xd2ac, 0x1118, 0xa092, 0x007e, 0x02d8, 0x00d6, 0xa0e8, + 0xb535, 0x2d6c, 0x6810, 0xa305, 0x20a2, 0x6814, 0x20a2, 0x6810, + 0xa005, 0x1140, 0x6814, 0xa005, 0x1128, 0x20a3, 0x00ff, 0x20a3, + 0xfffe, 0x0028, 0x2069, 0xb41c, 0x2da6, 0x8d68, 0x2da6, 0x00de, + 0x0080, 0x00d6, 0xa0e8, 0xb535, 0x2d6c, 0x6810, 0xa305, 0x20a2, + 0x6814, 0x20a2, 0x00de, 0x20a3, 0x0000, 0x2011, 0xb415, 0x2214, + 0x22a2, 0xa485, 0x0098, 0x20a2, 0x20a3, 0x0000, 0x004e, 0x003e, + 0x080c, 0x7d00, 0x22a2, 0x20a3, 0x0000, 0x7a08, 0x22a2, 0x2fa2, + 0x20a3, 0x0000, 0x20a3, 0x0000, 0x002e, 0x0005, 0x080c, 0x7d00, + 0x22a2, 0x20a3, 0x0000, 0x7a08, 0x22a2, 0x7810, 0x20a2, 0x20a3, + 0x0000, 0x20a3, 0x0000, 0x002e, 0x0005, 0x00c6, 0x00f6, 0x6004, + 0xa08a, 0x0085, 0x0a0c, 0x1511, 0xa08a, 0x008c, 0x1a0c, 0x1511, + 0x6118, 0x2178, 0x79a0, 0x2011, 0xb435, 0x2214, 0xd2ac, 0x1110, + 0xd1bc, 0x0150, 0x7900, 0xd1f4, 0x0120, 0x7914, 0xa18c, 0x00ff, + 0x0040, 0x2009, 0x0000, 0x0028, 0xa1f8, 0x2d88, 0x2f0d, 0xa18c, + 0x00ff, 0x2c78, 0x2061, 0x0100, 0x619a, 0xa082, 0x0085, 0x001b, + 0x00fe, 0x00ce, 0x0005, 0x7734, 0x773e, 0x7759, 0x7732, 0x7732, + 0x7732, 0x7734, 0x080c, 0x1511, 0x0146, 0x20a1, 0x020b, 0x04a1, + 0x60c3, 0x0000, 0x080c, 0x7d11, 0x014e, 0x0005, 0x0146, 0x20a1, + 0x020b, 0x080c, 0x77a5, 0x20a3, 0x0000, 0x20a3, 0x0000, 0x7808, + 0x20a2, 0x7810, 0x20a2, 0x20a3, 0x0000, 0x20a3, 0xffff, 0x20a3, + 0x0000, 0x20a3, 0x0000, 0x60c3, 0x000c, 0x080c, 0x7d11, 0x014e, + 0x0005, 0x0146, 0x20a1, 0x020b, 0x080c, 0x77df, 0x20a3, 0x0003, + 0x20a3, 0x0300, 0x20a3, 0x0000, 0x20a3, 0x0000, 0x60c3, 0x0004, + 0x080c, 0x7d11, 0x014e, 0x0005, 0x0026, 0x20e1, 0x9080, 0x20e1, + 0x4000, 0x7818, 0xa080, 0x0028, 0x2004, 0x2011, 0xb435, 0x2214, + 0xd2ac, 0x1118, 0xa092, 0x007e, 0x0288, 0x00d6, 0xa0e8, 0xb535, + 0x2d6c, 0x6810, 0xa085, 0x8100, 0x20a2, 0x6814, 0x20a2, 0x2069, + 0xb41c, 0x2da6, 0x8d68, 0x2da6, 0x00de, 0x0088, 0x00d6, 0xa0e8, + 0xb535, 0x2d6c, 0x6810, 0xa085, 0x8100, 0x20a2, 0x6814, 0x20a2, + 0x00de, 0x20a3, 0x0000, 0x2011, 0xb415, 0x2214, 0x22a2, 0x20a3, + 0x0009, 0x20a3, 0x0000, 0x0804, 0x7662, 0x0026, 0x20e1, 0x9080, + 0x20e1, 0x4000, 0x7818, 0xa080, 0x0028, 0x2004, 0x2011, 0xb435, + 0x2214, 0xd2ac, 0x1118, 0xa092, 0x007e, 0x0288, 0x00d6, 0xa0e8, + 0xb535, 0x2d6c, 0x6810, 0xa085, 0x8400, 0x20a2, 0x6814, 0x20a2, + 0x2069, 0xb41c, 0x2da6, 0x8d68, 0x2da6, 0x00de, 0x0088, 0x00d6, + 0xa0e8, 0xb535, 0x2d6c, 0x6810, 0xa085, 0x8400, 0x20a2, 0x6814, + 0x20a2, 0x00de, 0x20a3, 0x0000, 0x2011, 0xb415, 0x2214, 0x22a2, + 0x2001, 0x0099, 0x20a2, 0x20a3, 0x0000, 0x0804, 0x76ee, 0x0026, + 0x20e1, 0x9080, 0x20e1, 0x4000, 0x7818, 0xa080, 0x0028, 0x2004, + 0x2011, 0xb435, 0x2214, 0xd2ac, 0x1118, 0xa092, 0x007e, 0x0288, + 0x00d6, 0xa0e8, 0xb535, 0x2d6c, 0x6810, 0xa085, 0x8500, 0x20a2, + 0x6814, 0x20a2, 0x2069, 0xb41c, 0x2da6, 0x8d68, 0x2da6, 0x00de, + 0x0088, 0x00d6, 0xa0e8, 0xb535, 0x2d6c, 0x6810, 0xa085, 0x8500, + 0x20a2, 0x6814, 0x20a2, 0x00de, 0x20a3, 0x0000, 0x2011, 0xb415, + 0x2214, 0x22a2, 0x2001, 0x0099, 0x20a2, 0x20a3, 0x0000, 0x0804, + 0x76ee, 0x00c6, 0x00f6, 0x2c78, 0x7804, 0xa08a, 0x0040, 0x0a0c, + 0x1511, 0xa08a, 0x0053, 0x1a0c, 0x1511, 0x7918, 0x2160, 0x61a0, + 0x2011, 0xb435, 0x2214, 0xd2ac, 0x1110, 0xd1bc, 0x0150, 0x6100, + 0xd1f4, 0x0120, 0x6114, 0xa18c, 0x00ff, 0x0040, 0x2009, 0x0000, + 0x0028, 0xa1e0, 0x2d88, 0x2c0d, 0xa18c, 0x00ff, 0x2061, 0x0100, + 0x619a, 0xa082, 0x0040, 0x001b, 0x00fe, 0x00ce, 0x0005, 0x785c, + 0x7968, 0x7905, 0x7b0a, 0x785a, 0x785a, 0x785a, 0x785a, 0x785a, + 0x785a, 0x785a, 0x8081, 0x8091, 0x80a1, 0x80b1, 0x785a, 0x84c1, + 0x785a, 0x8070, 0x080c, 0x1511, 0x00d6, 0x0156, 0x0146, 0x780b, + 0xffff, 0x20a1, 0x020b, 0x080c, 0x78bc, 0x7910, 0x2168, 0x6948, + 0x7952, 0x21a2, 0xa016, 0x22a2, 0x22a2, 0x22a2, 0x694c, 0xa184, + 0x000f, 0x1118, 0x2001, 0x0005, 0x0040, 0xd184, 0x0118, 0x2001, + 0x0004, 0x0018, 0xa084, 0x0006, 0x8004, 0x0016, 0x2008, 0x7858, + 0xa084, 0x00ff, 0x8007, 0xa105, 0x001e, 0x20a2, 0xd1ac, 0x0118, + 0x20a3, 0x0002, 0x0048, 0xd1b4, 0x0118, 0x20a3, 0x0001, 0x0020, + 0x20a3, 0x0000, 0x2230, 0x0010, 0x6a80, 0x6e7c, 0x20a9, 0x0008, + 0x0136, 0xad88, 0x0017, 0x2198, 0x20a1, 0x021b, 0x53a6, 0x013e, + 0x20a1, 0x020b, 0x22a2, 0x26a2, 0x60c3, 0x0020, 0x20e1, 0x9080, + 0x6014, 0xa084, 0x0004, 0xa085, 0x0009, 0x6016, 0x2001, 0xb6fc, + 0x2003, 0x07d0, 0x2001, 0xb6fb, 0x2003, 0x0009, 0x080c, 0x17da, + 0x014e, 0x015e, 0x00de, 0x0005, 0x20e1, 0x9080, 0x20e1, 0x4000, + 0x7a18, 0xa280, 0x0023, 0x2014, 0x8210, 0xa294, 0x00ff, 0x2202, + 0x8217, 0x7818, 0xa080, 0x0028, 0x2004, 0x2019, 0xb435, 0x231c, + 0xd3ac, 0x1110, 0xd0bc, 0x0188, 0x00d6, 0xa0e8, 0xb535, 0x2d6c, + 0x6810, 0xa085, 0x0600, 0x20a2, 0x6814, 0x20a2, 0x2069, 0xb41c, + 0x2da6, 0x8d68, 0x2da6, 0x00de, 0x0088, 0x00d6, 0xa0e8, 0xb535, + 0x2d6c, 0x6810, 0xa085, 0x0600, 0x20a2, 0x6814, 0x20a2, 0x00de, + 0x20a3, 0x0000, 0x2009, 0xb415, 0x210c, 0x21a2, 0x20a3, 0x0829, + 0x20a3, 0x0000, 0x22a2, 0x20a3, 0x0000, 0x2fa2, 0x20a3, 0xffff, + 0x20a3, 0x0000, 0x20a3, 0x0000, 0x0005, 0x00d6, 0x0156, 0x0136, + 0x0146, 0x20a1, 0x020b, 0x00c1, 0x7810, 0x2068, 0x6860, 0x20a2, + 0x685c, 0x20a2, 0x6880, 0x20a2, 0x687c, 0x20a2, 0xa006, 0x20a2, + 0x20a2, 0x20a2, 0x20a2, 0x60c3, 0x000c, 0x080c, 0x7d11, 0x014e, + 0x013e, 0x015e, 0x00de, 0x0005, 0x0026, 0x20e1, 0x9080, 0x20e1, + 0x4000, 0x7818, 0xa080, 0x0028, 0x2004, 0x2011, 0xb435, 0x2214, + 0xd2ac, 0x1110, 0xd0bc, 0x0188, 0x00d6, 0xa0e8, 0xb535, 0x2d6c, + 0x6810, 0xa085, 0x0500, 0x20a2, 0x6814, 0x20a2, 0x2069, 0xb41c, + 0x2da6, 0x8d68, 0x2da6, 0x00de, 0x0088, 0x00d6, 0xa0e8, 0xb535, + 0x2d6c, 0x6810, 0xa085, 0x0500, 0x20a2, 0x6814, 0x20a2, 0x00de, + 0x20a3, 0x0000, 0x2011, 0xb415, 0x2214, 0x22a2, 0x20a3, 0x0889, + 0x20a3, 0x0000, 0x080c, 0x7d00, 0x22a2, 0x20a3, 0x0000, 0x7a08, + 0x22a2, 0x2fa2, 0x20a3, 0x0000, 0x20a3, 0x0000, 0x002e, 0x0005, + 0x00d6, 0x0156, 0x0136, 0x0146, 0x7810, 0xa0ec, 0xf000, 0x0168, + 0xa06d, 0x080c, 0x52c2, 0x0148, 0x684c, 0xa084, 0x2020, 0xa086, + 0x2020, 0x1118, 0x7820, 0xc0cd, 0x7822, 0x20a1, 0x020b, 0x080c, + 0x7ac0, 0xa016, 0x22a2, 0x22a2, 0x22a2, 0x22a2, 0x22a2, 0x7810, + 0xa084, 0xf000, 0x1130, 0x7810, 0xa084, 0x0700, 0x8007, 0x0043, + 0x0010, 0xa006, 0x002b, 0x014e, 0x013e, 0x015e, 0x00de, 0x0005, + 0x79a2, 0x7a37, 0x7a40, 0x7a69, 0x7a7c, 0x7a97, 0x7aa0, 0x79a0, + 0x080c, 0x1511, 0x0016, 0x0036, 0x694c, 0xa18c, 0x0003, 0x0118, + 0xa186, 0x0003, 0x1170, 0x6b78, 0x7820, 0xd0cc, 0x0108, 0xc3e5, + 0x23a2, 0x6868, 0x20a2, 0x6864, 0x20a2, 0x003e, 0x001e, 0x0804, + 0x7a73, 0xa186, 0x0001, 0x190c, 0x1511, 0x6b78, 0x7820, 0xd0cc, + 0x0108, 0xc3e5, 0x23a2, 0x6868, 0x20a2, 0x6864, 0x20a2, 0x22a2, + 0x6874, 0x20a2, 0x22a2, 0x687c, 0x20a2, 0x2009, 0x0018, 0xa384, + 0x0300, 0x0904, 0x7a31, 0xd3c4, 0x0110, 0x687c, 0xa108, 0xd3cc, + 0x0110, 0x6874, 0xa108, 0x0156, 0x20a9, 0x000d, 0xad80, 0x0020, + 0x201c, 0x831f, 0x23a2, 0x8000, 0x1f04, 0x79e0, 0x015e, 0x22a2, + 0x22a2, 0x22a2, 0xa184, 0x0003, 0x0904, 0x7a31, 0x20a1, 0x020b, + 0x20e1, 0x9080, 0x20e1, 0x4000, 0x0006, 0x7818, 0xa080, 0x0028, + 0x2004, 0x2011, 0xb435, 0x2214, 0xd2ac, 0x1110, 0xd0bc, 0x0188, + 0x00d6, 0xa0e8, 0xb535, 0x2d6c, 0x6810, 0xa085, 0x0700, 0x20a2, + 0x6814, 0x20a2, 0x2069, 0xb41c, 0x2da6, 0x8d68, 0x2da6, 0x00de, + 0x0088, 0x00d6, 0xa0e8, 0xb535, 0x2d6c, 0x6810, 0xa085, 0x0700, + 0x20a2, 0x6814, 0x20a2, 0x00de, 0x20a3, 0x0000, 0x2011, 0xb415, + 0x2214, 0x22a2, 0x000e, 0x7b20, 0xd3cc, 0x0118, 0x20a3, 0x0889, + 0x0010, 0x20a3, 0x0898, 0x20a2, 0x080c, 0x7d00, 0x22a2, 0x20a3, + 0x0000, 0x61c2, 0x003e, 0x001e, 0x080c, 0x7d11, 0x0005, 0x2011, + 0x0008, 0x7820, 0xd0cc, 0x0108, 0xc2e5, 0x22a2, 0xa016, 0x0488, + 0x2011, 0x0302, 0x7820, 0xd0cc, 0x0108, 0xc2e5, 0x22a2, 0xa016, + 0x22a2, 0x22a2, 0x22a2, 0x20a3, 0x0012, 0x22a2, 0x20a3, 0x0008, + 0x22a2, 0x22a2, 0x22a2, 0x22a2, 0x20a3, 0x7000, 0x20a3, 0x0500, + 0x22a2, 0x20a3, 0x000a, 0x22a2, 0x22a2, 0x20a3, 0x2500, 0x22a2, + 0x22a2, 0x22a2, 0x22a2, 0x22a2, 0x60c3, 0x0032, 0x080c, 0x7d11, + 0x0005, 0x2011, 0x0028, 0x7820, 0xd0cc, 0x0108, 0xc2e5, 0x22a2, + 0xa016, 0x22a2, 0x22a2, 0x22a2, 0x22a2, 0x22a2, 0x22a2, 0x60c3, + 0x0018, 0x080c, 0x7d11, 0x0005, 0x2011, 0x0100, 0x7820, 0xd0cc, + 0x0108, 0xc2e5, 0x22a2, 0xa016, 0x22a2, 0x22a2, 0x22a2, 0x22a2, + 0x22a2, 0x20a3, 0x0008, 0x22a2, 0x7854, 0xa084, 0x00ff, 0x20a2, + 0x22a2, 0x22a2, 0x60c3, 0x0020, 0x080c, 0x7d11, 0x0005, 0x2011, + 0x0008, 0x7820, 0xd0cc, 0x0108, 0xc2e5, 0x22a2, 0xa016, 0x0888, + 0x0036, 0x7b10, 0xa384, 0xff00, 0x7812, 0xa384, 0x00ff, 0x8001, + 0x1138, 0x7820, 0xd0cc, 0x0108, 0xc2e5, 0x22a2, 0x003e, 0x0808, + 0x0046, 0x2021, 0x0800, 0x0006, 0x7820, 0xd0cc, 0x000e, 0x0108, + 0xc4e5, 0x24a2, 0x004e, 0x22a2, 0x20a2, 0x003e, 0x0804, 0x7a73, + 0x0026, 0x20e1, 0x9080, 0x20e1, 0x4000, 0x7818, 0xa080, 0x0028, + 0x2004, 0x2011, 0xb435, 0x2214, 0xd2ac, 0x1110, 0xd0bc, 0x0188, + 0x00d6, 0xa0e8, 0xb535, 0x2d6c, 0x6810, 0xa085, 0x0700, 0x20a2, + 0x6814, 0x20a2, 0x2069, 0xb41c, 0x2da6, 0x8d68, 0x2da6, 0x00de, + 0x0088, 0x00d6, 0xa0e8, 0xb535, 0x2d6c, 0x6810, 0xa085, 0x0700, + 0x20a2, 0x6814, 0x20a2, 0x00de, 0x20a3, 0x0000, 0x2011, 0xb415, + 0x2214, 0x22a2, 0x7820, 0xd0cc, 0x0118, 0x20a3, 0x0889, 0x0010, + 0x20a3, 0x0898, 0x20a3, 0x0000, 0x080c, 0x7d00, 0x22a2, 0x20a3, + 0x0000, 0x7a08, 0x22a2, 0x2fa2, 0x20a3, 0x0000, 0x20a3, 0x0000, + 0x002e, 0x0005, 0x00d6, 0x0156, 0x0136, 0x0146, 0x0016, 0x0036, + 0x7810, 0xa084, 0x0700, 0x8007, 0x003b, 0x003e, 0x001e, 0x014e, + 0x013e, 0x015e, 0x00de, 0x0005, 0x7b24, 0x7b24, 0x7b26, 0x7b24, + 0x7b24, 0x7b24, 0x7b48, 0x7b24, 0x080c, 0x1511, 0x7910, 0xa18c, + 0xf8ff, 0xa18d, 0x0600, 0x7912, 0x20a1, 0x020b, 0x2009, 0x0003, + 0x00f9, 0x00d6, 0x2069, 0xb452, 0x6804, 0xd0bc, 0x0130, 0x682c, + 0xa084, 0x00ff, 0x8007, 0x20a2, 0x0010, 0x20a3, 0x3f00, 0x00de, + 0x22a2, 0x22a2, 0x22a2, 0x60c3, 0x0001, 0x080c, 0x7d11, 0x0005, + 0x20a1, 0x020b, 0x2009, 0x0003, 0x0019, 0x20a3, 0x7f00, 0x0c80, + 0x0026, 0x20e1, 0x9080, 0x20e1, 0x4000, 0x7818, 0xa080, 0x0028, + 0x2004, 0x2011, 0xb435, 0x2214, 0xd2ac, 0x1110, 0xd0bc, 0x0188, + 0x00d6, 0xa0e8, 0xb535, 0x2d6c, 0x6810, 0xa085, 0x0100, 0x20a2, + 0x6814, 0x20a2, 0x2069, 0xb41c, 0x2da6, 0x8d68, 0x2da6, 0x00de, + 0x0088, 0x00d6, 0xa0e8, 0xb535, 0x2d6c, 0x6810, 0xa085, 0x0100, + 0x20a2, 0x6814, 0x20a2, 0x00de, 0x20a3, 0x0000, 0x2011, 0xb415, + 0x2214, 0x22a2, 0x20a3, 0x0888, 0xa18d, 0x0008, 0x21a2, 0x080c, + 0x7d00, 0x22a2, 0x20a3, 0x0000, 0x7a08, 0x22a2, 0x2fa2, 0x20a3, + 0x0000, 0x20a3, 0x0000, 0x002e, 0x0005, 0x00e6, 0x00d6, 0x00c6, + 0x0056, 0x0046, 0x0036, 0x2061, 0x0100, 0x2071, 0xb400, 0x7154, + 0x7818, 0x2068, 0x68a0, 0x2028, 0x76d4, 0xd6ac, 0x1130, 0xd0bc, + 0x1120, 0x6910, 0x6a14, 0x7454, 0x0020, 0x6910, 0x6a14, 0x7370, + 0x7474, 0x781c, 0xa0be, 0x0006, 0x0904, 0x7c4b, 0xa0be, 0x000a, + 0x15e8, 0xa185, 0x0200, 0x6062, 0x6266, 0x636a, 0x646e, 0x6073, + 0x2029, 0x6077, 0x0000, 0x688c, 0x8000, 0xa084, 0x00ff, 0x688e, + 0x8007, 0x607a, 0x607f, 0x0000, 0x2f00, 0x6082, 0x7808, 0x6086, + 0x7810, 0x2070, 0x7014, 0x608a, 0x7010, 0x608e, 0x700c, 0x60c6, + 0x7008, 0x60ca, 0x686c, 0x60ce, 0x60af, 0x95d5, 0x60d7, 0x0000, + 0x609f, 0x0000, 0x080c, 0x855c, 0x2009, 0x07d0, 0x60c4, 0xa084, + 0xfff0, 0xa005, 0x0110, 0x2009, 0x1b58, 0x080c, 0x69da, 0x003e, + 0x004e, 0x005e, 0x00ce, 0x00de, 0x00ee, 0x0005, 0x70d4, 0xd0ac, + 0x1110, 0xd5bc, 0x0138, 0xa185, 0x0100, 0x6062, 0x6266, 0x636a, + 0x646e, 0x0038, 0xa185, 0x0100, 0x6062, 0x6266, 0x606b, 0x0000, + 0x646e, 0x6073, 0x0809, 0x6077, 0x0008, 0x688c, 0x8000, 0xa084, + 0x00ff, 0x688e, 0x8007, 0x607a, 0x607f, 0x0000, 0x2f00, 0x6082, + 0x7808, 0x6086, 0x7810, 0x2070, 0x7014, 0x608a, 0x7010, 0x608e, + 0x700c, 0x60c6, 0x7008, 0x60ca, 0x686c, 0x60ce, 0x60af, 0x95d5, + 0x60d7, 0x0000, 0xa582, 0x0080, 0x0248, 0x6a00, 0xd2f4, 0x0120, + 0x6a14, 0xa294, 0x00ff, 0x0010, 0x2011, 0x0000, 0x629e, 0x080c, + 0x855c, 0x2009, 0x07d0, 0x60c4, 0xa084, 0xfff0, 0xa005, 0x0110, + 0x2009, 0x1b58, 0x080c, 0x69da, 0x003e, 0x004e, 0x005e, 0x00ce, + 0x00de, 0x00ee, 0x0005, 0x7810, 0x2070, 0x704c, 0xa084, 0x0003, + 0xa086, 0x0002, 0x0904, 0x7ca1, 0x2001, 0xb435, 0x2004, 0xd0ac, + 0x1110, 0xd5bc, 0x0138, 0xa185, 0x0100, 0x6062, 0x6266, 0x636a, + 0x646e, 0x0038, 0xa185, 0x0100, 0x6062, 0x6266, 0x606b, 0x0000, + 0x646e, 0x6073, 0x0880, 0x6077, 0x0008, 0x688c, 0x8000, 0xa084, + 0x00ff, 0x688e, 0x8007, 0x607a, 0x7834, 0x607e, 0x2f00, 0x6086, + 0x7808, 0x6082, 0x7060, 0x608a, 0x705c, 0x608e, 0x7080, 0x60c6, + 0x707c, 0x60ca, 0x707c, 0x792c, 0xa108, 0x792e, 0x7080, 0x7928, + 0xa109, 0x792a, 0x686c, 0x60ce, 0x60af, 0x95d5, 0x60d7, 0x0000, + 0xa582, 0x0080, 0x0248, 0x6a00, 0xd2f4, 0x0120, 0x6a14, 0xa294, + 0x00ff, 0x0010, 0x2011, 0x0000, 0x629e, 0x080c, 0x8559, 0x0804, + 0x7c39, 0x2001, 0xb435, 0x2004, 0xd0ac, 0x1110, 0xd5bc, 0x0138, + 0xa185, 0x0700, 0x6062, 0x6266, 0x636a, 0x646e, 0x0038, 0xa185, + 0x0700, 0x6062, 0x6266, 0x606b, 0x0000, 0x646e, 0x080c, 0x52c2, + 0x0180, 0x00d6, 0x7810, 0xa06d, 0x684c, 0x00de, 0xa084, 0x2020, + 0xa086, 0x2020, 0x1130, 0x7820, 0xc0cd, 0x7822, 0x6073, 0x0889, + 0x0010, 0x6073, 0x0898, 0x6077, 0x0000, 0x688c, 0x8000, 0xa084, + 0x00ff, 0x688e, 0x8007, 0x607a, 0x607f, 0x0000, 0x2f00, 0x6086, + 0x7808, 0x6082, 0x7014, 0x608a, 0x7010, 0x608e, 0x700c, 0x60c6, + 0x7008, 0x60ca, 0x686c, 0x60ce, 0x60af, 0x95d5, 0x60d7, 0x0000, + 0xa582, 0x0080, 0x0248, 0x6a00, 0xd2f4, 0x0120, 0x6a14, 0xa294, + 0x00ff, 0x0010, 0x2011, 0x0000, 0x629e, 0x7820, 0xd0cc, 0x0120, + 0x080c, 0x855c, 0x0804, 0x7c39, 0x080c, 0x8559, 0x0804, 0x7c39, + 0x7a18, 0xa280, 0x0023, 0x2014, 0x8210, 0xa294, 0x00ff, 0x2202, + 0x8217, 0x0005, 0x00d6, 0x2069, 0xb6e0, 0x6843, 0x0001, 0x00de, + 0x0005, 0x20e1, 0x9080, 0x60a3, 0x0056, 0x60a7, 0x9575, 0x0019, + 0x080c, 0x69cc, 0x0005, 0x0006, 0x6014, 0xa084, 0x0004, 0xa085, + 0x0009, 0x6016, 0x000e, 0x0005, 0x0016, 0x00c6, 0x0006, 0x2061, + 0x0100, 0x61a4, 0x60a7, 0x95f5, 0x6014, 0xa084, 0x0004, 0xa085, + 0x0008, 0x6016, 0x000e, 0xe000, 0xe000, 0xe000, 0xe000, 0x61a6, + 0x00ce, 0x001e, 0x0005, 0x00c6, 0x00d6, 0x0016, 0x0026, 0x2061, + 0x0100, 0x2069, 0x0140, 0x080c, 0x5a90, 0x1198, 0x2001, 0xb6fc, + 0x2004, 0xa005, 0x15b8, 0x0066, 0x2031, 0x0001, 0x080c, 0x5b12, + 0x006e, 0x1118, 0x080c, 0x69cc, 0x0468, 0x00c6, 0x2061, 0xb6e0, + 0x00d8, 0x6904, 0xa194, 0x4000, 0x0550, 0x0831, 0x6803, 0x1000, + 0x6803, 0x0000, 0x00c6, 0x2061, 0xb6e0, 0x6128, 0xa192, 0x00c8, + 0x1258, 0x8108, 0x612a, 0x6124, 0x00ce, 0x81ff, 0x0198, 0x080c, + 0x69cc, 0x080c, 0x7d1b, 0x0070, 0x6124, 0xa1e5, 0x0000, 0x0140, + 0x080c, 0xb3c7, 0x080c, 0x69d5, 0x2009, 0x0014, 0x080c, 0x85ef, + 0x00ce, 0x0000, 0x002e, 0x001e, 0x00de, 0x00ce, 0x0005, 0x2001, + 0xb6fc, 0x2004, 0xa005, 0x1db0, 0x00c6, 0x2061, 0xb6e0, 0x6128, + 0xa192, 0x0003, 0x1e08, 0x8108, 0x612a, 0x00ce, 0x080c, 0x69cc, + 0x080c, 0x4ad9, 0x0c38, 0x00c6, 0x00d6, 0x00e6, 0x0016, 0x0026, + 0x080c, 0x69e2, 0x2071, 0xb6e0, 0x713c, 0x81ff, 0x0590, 0x2061, + 0x0100, 0x2069, 0x0140, 0x080c, 0x5a90, 0x11a8, 0x0036, 0x2019, + 0x0002, 0x080c, 0x7f8e, 0x003e, 0x713c, 0x2160, 0x080c, 0xb3c7, + 0x2009, 0x004a, 0x080c, 0x85ef, 0x0066, 0x2031, 0x0001, 0x080c, + 0x5b12, 0x006e, 0x00b0, 0x6904, 0xa194, 0x4000, 0x01c0, 0x6803, + 0x1000, 0x6803, 0x0000, 0x0036, 0x2019, 0x0001, 0x080c, 0x7f8e, + 0x003e, 0x713c, 0x2160, 0x080c, 0xb3c7, 0x2009, 0x004a, 0x080c, + 0x85ef, 0x002e, 0x001e, 0x00ee, 0x00de, 0x00ce, 0x0005, 0x0c58, + 0x0026, 0x00e6, 0x2071, 0xb6e0, 0x7048, 0xd084, 0x01c0, 0x713c, + 0x81ff, 0x01a8, 0x2071, 0x0100, 0xa188, 0x0007, 0x2114, 0xa28e, + 0x0006, 0x1138, 0x7014, 0xa084, 0x0184, 0xa085, 0x0012, 0x7016, + 0x0030, 0x7014, 0xa084, 0x0184, 0xa085, 0x0016, 0x7016, 0x00ee, + 0x002e, 0x0005, 0x00e6, 0x00d6, 0x00c6, 0x0066, 0x0056, 0x0046, + 0x0006, 0x0126, 0x2091, 0x8000, 0x6018, 0x2068, 0x6ca0, 0x2071, + 0xb6e0, 0x7018, 0x2068, 0x8dff, 0x0188, 0x68a0, 0xa406, 0x0118, + 0x6854, 0x2068, 0x0cc0, 0x6010, 0x2060, 0x643c, 0x6540, 0x6648, + 0x2d60, 0x080c, 0x50db, 0x0110, 0xa085, 0x0001, 0x012e, 0x000e, + 0x004e, 0x005e, 0x006e, 0x00ce, 0x00de, 0x00ee, 0x0005, 0x20a1, + 0x020b, 0x080c, 0x75fb, 0x20a3, 0x1200, 0x20a3, 0x0000, 0x20a3, + 0x0000, 0x781c, 0xa086, 0x0004, 0x1110, 0x6098, 0x0018, 0x2001, + 0xb415, 0x2004, 0x20a2, 0x7834, 0x20a2, 0x7838, 0x20a2, 0x20a9, + 0x0010, 0xa006, 0x20a2, 0x1f04, 0x7e4a, 0x20a2, 0x20a2, 0x60c3, + 0x002c, 0x080c, 0x7d11, 0x0005, 0x0156, 0x0146, 0x20a1, 0x020b, + 0x080c, 0x75fb, 0x20a3, 0x0f00, 0x20a3, 0x0000, 0x20a3, 0x0000, + 0x7808, 0x20a2, 0x60c3, 0x0008, 0x080c, 0x7d11, 0x014e, 0x015e, + 0x0005, 0x0156, 0x0146, 0x20a1, 0x020b, 0x080c, 0x7697, 0x20a3, + 0x0200, 0x20a3, 0x0000, 0x20a9, 0x0006, 0x2011, 0xb440, 0x2019, + 0xb441, 0x23a6, 0x22a6, 0xa398, 0x0002, 0xa290, 0x0002, 0x1f04, + 0x7e79, 0x20a3, 0x0000, 0x20a3, 0x0000, 0x60c3, 0x001c, 0x080c, + 0x7d11, 0x014e, 0x015e, 0x0005, 0x0156, 0x0146, 0x0016, 0x0026, + 0x20a1, 0x020b, 0x080c, 0x7670, 0x080c, 0x7686, 0x7810, 0xa080, + 0x0000, 0x2004, 0xa080, 0x0015, 0x2098, 0x7808, 0xa088, 0x0002, + 0x21a8, 0x53a6, 0xa080, 0x0004, 0x8003, 0x60c2, 0x080c, 0x7d11, + 0x002e, 0x001e, 0x014e, 0x015e, 0x0005, 0x0156, 0x0146, 0x20a1, + 0x020b, 0x080c, 0x75fb, 0x20a3, 0x6200, 0x20a3, 0x0000, 0x20a3, + 0x0000, 0x7808, 0x20a2, 0x60c3, 0x0008, 0x080c, 0x7d11, 0x014e, + 0x015e, 0x0005, 0x0156, 0x0146, 0x0016, 0x0026, 0x20a1, 0x020b, + 0x080c, 0x75fb, 0x7810, 0xa080, 0x0000, 0x2004, 0xa080, 0x0017, + 0x2098, 0x7808, 0xa088, 0x0002, 0x21a8, 0x53a6, 0x8003, 0x60c2, + 0x080c, 0x7d11, 0x002e, 0x001e, 0x014e, 0x015e, 0x0005, 0x00e6, + 0x00c6, 0x0006, 0x0126, 0x2091, 0x8000, 0x2071, 0xb6e0, 0x700c, + 0x2060, 0x8cff, 0x0178, 0x080c, 0x9de9, 0x1110, 0x080c, 0x8bbc, + 0x600c, 0x0006, 0x080c, 0x9fb0, 0x080c, 0x85c0, 0x080c, 0x80c8, + 0x00ce, 0x0c78, 0x700f, 0x0000, 0x700b, 0x0000, 0x012e, 0x000e, + 0x00ce, 0x00ee, 0x0005, 0x0126, 0x0156, 0x00f6, 0x00e6, 0x00d6, + 0x00c6, 0x0026, 0x0016, 0x0006, 0x2091, 0x8000, 0x2069, 0x0100, + 0x2079, 0x0140, 0x2071, 0xb6e0, 0x7024, 0x2060, 0x8cff, 0x05a0, + 0x080c, 0x7d24, 0x68c3, 0x0000, 0x080c, 0x69d5, 0x2009, 0x0013, + 0x080c, 0x85ef, 0x20a9, 0x01f4, 0x6824, 0xd094, 0x0158, 0x6827, + 0x0004, 0x7804, 0xa084, 0x4000, 0x01a0, 0x7803, 0x1000, 0x7803, + 0x0000, 0x0078, 0xd084, 0x0118, 0x6827, 0x0001, 0x0010, 0x1f04, + 0x7f24, 0x7804, 0xa084, 0x1000, 0x0120, 0x7803, 0x0100, 0x7803, + 0x0000, 0x6824, 0x000e, 0x001e, 0x002e, 0x00ce, 0x00de, 0x00ee, + 0x00fe, 0x015e, 0x012e, 0x0005, 0x2001, 0xb400, 0x2004, 0xa096, + 0x0001, 0x0590, 0xa096, 0x0004, 0x0578, 0x080c, 0x69d5, 0x6814, + 0xa084, 0x0001, 0x0110, 0x68a7, 0x95f5, 0x6817, 0x0008, 0x68c3, + 0x0000, 0x2011, 0x4a96, 0x080c, 0x6961, 0x20a9, 0x01f4, 0x6824, + 0xd094, 0x0158, 0x6827, 0x0004, 0x7804, 0xa084, 0x4000, 0x01a0, + 0x7803, 0x1000, 0x7803, 0x0000, 0x0078, 0xd084, 0x0118, 0x6827, + 0x0001, 0x0010, 0x1f04, 0x7f67, 0x7804, 0xa084, 0x1000, 0x0120, + 0x7803, 0x0100, 0x7803, 0x0000, 0x000e, 0x001e, 0x002e, 0x00ce, + 0x00de, 0x00ee, 0x00fe, 0x015e, 0x012e, 0x0005, 0x0126, 0x0156, + 0x00f6, 0x00e6, 0x00d6, 0x00c6, 0x0026, 0x0016, 0x0006, 0x2091, + 0x8000, 0x2069, 0x0100, 0x2079, 0x0140, 0x2071, 0xb6e0, 0x703c, + 0x2060, 0x8cff, 0x0904, 0x8015, 0xa386, 0x0002, 0x1128, 0x6814, + 0xa084, 0x0002, 0x0904, 0x8015, 0x68af, 0x95f5, 0x6817, 0x0010, + 0x2009, 0x00fa, 0x8109, 0x1df0, 0x68c7, 0x0000, 0x68cb, 0x0008, + 0x080c, 0x69e2, 0x080c, 0x21dd, 0x0046, 0x2009, 0x017f, 0x200b, + 0x00a5, 0x2021, 0x0169, 0x2404, 0xa084, 0x000f, 0xa086, 0x0004, + 0x1500, 0x68af, 0x95f5, 0x68c7, 0x0000, 0x68cb, 0x0008, 0x00e6, + 0x00f6, 0x2079, 0x0020, 0x2071, 0xb74a, 0x6814, 0xa084, 0x0184, + 0xa085, 0x0012, 0x6816, 0x7803, 0x0008, 0x7003, 0x0000, 0x00fe, + 0x00ee, 0xa386, 0x0002, 0x1128, 0x7884, 0xa005, 0x1110, 0x7887, + 0x0001, 0x2001, 0xb6b1, 0x2004, 0x200a, 0x004e, 0xa39d, 0x0000, + 0x1120, 0x2009, 0x0049, 0x080c, 0x85ef, 0x20a9, 0x03e8, 0x6824, + 0xd094, 0x0158, 0x6827, 0x0004, 0x7804, 0xa084, 0x4000, 0x01a0, + 0x7803, 0x1000, 0x7803, 0x0000, 0x0078, 0xd08c, 0x0118, 0x6827, + 0x0002, 0x0010, 0x1f04, 0x7ff7, 0x7804, 0xa084, 0x1000, 0x0120, + 0x7803, 0x0100, 0x7803, 0x0000, 0x6824, 0x000e, 0x001e, 0x002e, + 0x00ce, 0x00de, 0x00ee, 0x00fe, 0x015e, 0x012e, 0x0005, 0x00d6, + 0x0126, 0x2091, 0x8000, 0x2069, 0xb6e0, 0x6a06, 0x012e, 0x00de, + 0x0005, 0x00d6, 0x0126, 0x2091, 0x8000, 0x2069, 0xb6e0, 0x6a32, + 0x012e, 0x00de, 0x0005, 0x00f6, 0x00e6, 0x00c6, 0x0066, 0x0006, + 0x0126, 0x2071, 0xb6e0, 0x7614, 0x2660, 0x2678, 0x2091, 0x8000, + 0x8cff, 0x0538, 0x601c, 0xa206, 0x1500, 0x7014, 0xac36, 0x1110, + 0x660c, 0x7616, 0x7010, 0xac36, 0x1140, 0x2c00, 0xaf36, 0x0118, + 0x2f00, 0x7012, 0x0010, 0x7013, 0x0000, 0x660c, 0x0066, 0x2c00, + 0xaf06, 0x0110, 0x7e0e, 0x0008, 0x2678, 0x600f, 0x0000, 0x080c, + 0x9dae, 0x080c, 0x80c8, 0x00ce, 0x08d8, 0x2c78, 0x600c, 0x2060, + 0x08b8, 0x012e, 0x000e, 0x006e, 0x00ce, 0x00ee, 0x00fe, 0x0005, + 0x0156, 0x0146, 0x20a1, 0x020b, 0x080c, 0x78bc, 0x7810, 0x20a2, + 0xa006, 0x20a2, 0x20a2, 0x20a2, 0x20a2, 0x20a3, 0x1000, 0x0804, + 0x80c0, 0x0156, 0x0146, 0x20a1, 0x020b, 0x080c, 0x78bc, 0x7810, + 0x20a2, 0xa006, 0x20a2, 0x20a2, 0x20a2, 0x20a2, 0x20a3, 0x4000, + 0x0478, 0x0156, 0x0146, 0x20a1, 0x020b, 0x080c, 0x78bc, 0x7810, + 0x20a2, 0xa006, 0x20a2, 0x20a2, 0x20a2, 0x20a2, 0x20a3, 0x2000, + 0x00f8, 0x0156, 0x0146, 0x20a1, 0x020b, 0x080c, 0x78bc, 0x7810, + 0x20a2, 0xa006, 0x20a2, 0x20a2, 0x20a2, 0x20a2, 0x20a3, 0x0400, + 0x0078, 0x0156, 0x0146, 0x20a1, 0x020b, 0x080c, 0x78bc, 0x7810, + 0x20a2, 0xa006, 0x20a2, 0x20a2, 0x20a2, 0x20a2, 0x20a3, 0x0200, + 0x0089, 0x60c3, 0x0020, 0x080c, 0x7d11, 0x014e, 0x015e, 0x0005, + 0x00e6, 0x2071, 0xb6e0, 0x7020, 0xa005, 0x0110, 0x8001, 0x7022, + 0x00ee, 0x0005, 0x20a9, 0x0008, 0x20a2, 0x1f04, 0x80d4, 0x20a2, + 0x20a2, 0x0005, 0x00f6, 0x00e6, 0x00d6, 0x00c6, 0x0076, 0x0066, + 0x0006, 0x0126, 0x2091, 0x8000, 0x2071, 0xb6e0, 0x7614, 0x2660, + 0x2678, 0x2039, 0x0001, 0x87ff, 0x0904, 0x8169, 0x8cff, 0x0904, + 0x8169, 0x601c, 0xa086, 0x0006, 0x1904, 0x8164, 0x88ff, 0x0138, + 0x2800, 0xac06, 0x1904, 0x8164, 0x2039, 0x0000, 0x0050, 0x6018, + 0xa206, 0x1904, 0x8164, 0x85ff, 0x0120, 0x6050, 0xa106, 0x1904, + 0x8164, 0x7024, 0xac06, 0x1560, 0x2069, 0x0100, 0x68c0, 0xa005, + 0x0518, 0x080c, 0x69d5, 0x6820, 0xd0b4, 0x0110, 0x68a7, 0x95f5, + 0x6817, 0x0008, 0x68c3, 0x0000, 0x080c, 0x81f0, 0x7027, 0x0000, + 0x0036, 0x2069, 0x0140, 0x6b04, 0xa384, 0x1000, 0x0120, 0x6803, + 0x0100, 0x6803, 0x0000, 0x2069, 0x0100, 0x6824, 0xd084, 0x0110, + 0x6827, 0x0001, 0x003e, 0x0020, 0x6003, 0x0009, 0x630a, 0x0460, + 0x7014, 0xac36, 0x1110, 0x660c, 0x7616, 0x7010, 0xac36, 0x1140, + 0x2c00, 0xaf36, 0x0118, 0x2f00, 0x7012, 0x0010, 0x7013, 0x0000, + 0x660c, 0x0066, 0x2c00, 0xaf06, 0x0110, 0x7e0e, 0x0008, 0x2678, + 0x89ff, 0x1158, 0x600f, 0x0000, 0x6010, 0x2068, 0x080c, 0x9beb, + 0x0110, 0x080c, 0xb01c, 0x080c, 0x9dae, 0x080c, 0x80c8, 0x88ff, + 0x1190, 0x00ce, 0x0804, 0x80eb, 0x2c78, 0x600c, 0x2060, 0x0804, + 0x80eb, 0xa006, 0x012e, 0x000e, 0x006e, 0x007e, 0x00ce, 0x00de, + 0x00ee, 0x00fe, 0x0005, 0x6017, 0x0000, 0x00ce, 0xa8c5, 0x0001, + 0x0c88, 0x00f6, 0x00e6, 0x00d6, 0x00c6, 0x0066, 0x0026, 0x0006, + 0x0126, 0x2091, 0x8000, 0x2071, 0xb6e0, 0x7638, 0x2660, 0x2678, + 0x8cff, 0x0904, 0x81e0, 0x601c, 0xa086, 0x0006, 0x1904, 0x81db, + 0x87ff, 0x0128, 0x2700, 0xac06, 0x1904, 0x81db, 0x0048, 0x6018, + 0xa206, 0x1904, 0x81db, 0x85ff, 0x0118, 0x6050, 0xa106, 0x15d8, + 0x703c, 0xac06, 0x1180, 0x0036, 0x2019, 0x0001, 0x080c, 0x7f8e, + 0x7033, 0x0000, 0x703f, 0x0000, 0x7043, 0x0000, 0x7047, 0x0000, + 0x704b, 0x0000, 0x003e, 0x7038, 0xac36, 0x1110, 0x660c, 0x763a, + 0x7034, 0xac36, 0x1140, 0x2c00, 0xaf36, 0x0118, 0x2f00, 0x7036, + 0x0010, 0x7037, 0x0000, 0x660c, 0x0066, 0x2c00, 0xaf06, 0x0110, + 0x7e0e, 0x0008, 0x2678, 0x600f, 0x0000, 0x6010, 0x2068, 0x080c, + 0x9beb, 0x0110, 0x080c, 0xb01c, 0x080c, 0x9dae, 0x87ff, 0x1190, + 0x00ce, 0x0804, 0x8188, 0x2c78, 0x600c, 0x2060, 0x0804, 0x8188, + 0xa006, 0x012e, 0x000e, 0x002e, 0x006e, 0x00ce, 0x00de, 0x00ee, + 0x00fe, 0x0005, 0x6017, 0x0000, 0x00ce, 0xa7bd, 0x0001, 0x0c88, + 0x00e6, 0x2071, 0xb6e0, 0x2001, 0xb400, 0x2004, 0xa086, 0x0002, + 0x1118, 0x7007, 0x0005, 0x0010, 0x7007, 0x0000, 0x00ee, 0x0005, + 0x00f6, 0x00e6, 0x00c6, 0x0066, 0x0026, 0x0006, 0x0126, 0x2091, + 0x8000, 0x2071, 0xb6e0, 0x2c10, 0x7638, 0x2660, 0x2678, 0x8cff, + 0x0518, 0x2200, 0xac06, 0x11e0, 0x7038, 0xac36, 0x1110, 0x660c, + 0x763a, 0x7034, 0xac36, 0x1140, 0x2c00, 0xaf36, 0x0118, 0x2f00, + 0x7036, 0x0010, 0x7037, 0x0000, 0x660c, 0x2c00, 0xaf06, 0x0110, + 0x7e0e, 0x0008, 0x2678, 0x600f, 0x0000, 0xa085, 0x0001, 0x0020, + 0x2c78, 0x600c, 0x2060, 0x08d8, 0x012e, 0x000e, 0x002e, 0x006e, + 0x00ce, 0x00ee, 0x00fe, 0x0005, 0x00f6, 0x00e6, 0x00d6, 0x00c6, + 0x0066, 0x0006, 0x0126, 0x2091, 0x8000, 0x2071, 0xb6e0, 0x760c, + 0x2660, 0x2678, 0x8cff, 0x0904, 0x82c6, 0x6018, 0xa080, 0x0028, + 0x2004, 0xa206, 0x1904, 0x82c1, 0x7024, 0xac06, 0x1508, 0x2069, + 0x0100, 0x68c0, 0xa005, 0x0904, 0x829d, 0x080c, 0x7d24, 0x68c3, + 0x0000, 0x080c, 0x81f0, 0x7027, 0x0000, 0x0036, 0x2069, 0x0140, + 0x6b04, 0xa384, 0x1000, 0x0120, 0x6803, 0x0100, 0x6803, 0x0000, + 0x2069, 0x0100, 0x6824, 0xd084, 0x0110, 0x6827, 0x0001, 0x003e, + 0x700c, 0xac36, 0x1110, 0x660c, 0x760e, 0x7008, 0xac36, 0x1140, + 0x2c00, 0xaf36, 0x0118, 0x2f00, 0x700a, 0x0010, 0x700b, 0x0000, + 0x660c, 0x0066, 0x2c00, 0xaf06, 0x0110, 0x7e0e, 0x0008, 0x2678, + 0x600f, 0x0000, 0x080c, 0x9dd8, 0x1158, 0x080c, 0x2c86, 0x080c, + 0x9de9, 0x11f0, 0x080c, 0x8bbc, 0x00d8, 0x080c, 0x81f0, 0x08c0, + 0x080c, 0x9de9, 0x1118, 0x080c, 0x8bbc, 0x0090, 0x6010, 0x2068, + 0x080c, 0x9beb, 0x0168, 0x601c, 0xa086, 0x0003, 0x11f8, 0x6837, + 0x0103, 0x6b4a, 0x6847, 0x0000, 0x080c, 0x53c9, 0x080c, 0x9da2, + 0x080c, 0x9fb0, 0x080c, 0x9dae, 0x080c, 0x80c8, 0x00ce, 0x0804, + 0x824a, 0x2c78, 0x600c, 0x2060, 0x0804, 0x824a, 0x012e, 0x000e, + 0x006e, 0x00ce, 0x00de, 0x00ee, 0x00fe, 0x0005, 0x601c, 0xa086, + 0x0006, 0x1d30, 0x080c, 0xb01c, 0x0c18, 0x0036, 0x0156, 0x0136, + 0x0146, 0x3908, 0xa006, 0xa190, 0x0020, 0x221c, 0xa39e, 0x2a7d, + 0x1118, 0x8210, 0x8000, 0x0cc8, 0xa005, 0x0138, 0x20a9, 0x0020, + 0x2198, 0xa110, 0x22a0, 0x22c8, 0x53a3, 0x014e, 0x013e, 0x015e, + 0x003e, 0x0005, 0x00d6, 0x20a1, 0x020b, 0x080c, 0x7697, 0x20a3, + 0x0200, 0x20a3, 0x0014, 0x60c3, 0x0014, 0x20a3, 0x0000, 0x20a3, + 0x0000, 0x2099, 0xb6b9, 0x20a9, 0x0004, 0x53a6, 0x20a3, 0x0004, + 0x20a3, 0x7878, 0x20a3, 0x0000, 0x20a3, 0x0000, 0x080c, 0x7d11, + 0x00de, 0x0005, 0x20a1, 0x020b, 0x080c, 0x7697, 0x20a3, 0x0214, + 0x20a3, 0x0018, 0x20a3, 0x0800, 0x7810, 0xa084, 0xff00, 0x20a2, + 0x20a3, 0x0000, 0x20a3, 0x0000, 0x20a3, 0x0000, 0x20a3, 0x0000, + 0x7810, 0xa084, 0x00ff, 0x20a2, 0x7828, 0x20a2, 0x20a3, 0x0000, + 0x20a3, 0x0000, 0x60c3, 0x0018, 0x080c, 0x7d11, 0x0005, 0x00d6, + 0x0016, 0x2f68, 0x2009, 0x0035, 0x080c, 0xa09b, 0x1904, 0x83a5, + 0x20a1, 0x020b, 0x080c, 0x75fb, 0x20a3, 0x1300, 0x20a3, 0x0000, + 0x7828, 0x2068, 0x681c, 0xa086, 0x0003, 0x0580, 0x7818, 0xa080, + 0x0028, 0x2014, 0x2001, 0xb435, 0x2004, 0xd0ac, 0x11d0, 0xa286, + 0x007e, 0x1128, 0x20a3, 0x00ff, 0x20a3, 0xfffe, 0x04b8, 0xa286, + 0x007f, 0x1128, 0x20a3, 0x00ff, 0x20a3, 0xfffd, 0x0478, 0xd2bc, + 0x0180, 0xa286, 0x0080, 0x1128, 0x20a3, 0x00ff, 0x20a3, 0xfffc, + 0x0428, 0xa2e8, 0xb535, 0x2d6c, 0x6810, 0x20a2, 0x6814, 0x20a2, + 0x00e8, 0x20a3, 0x0000, 0x6098, 0x20a2, 0x00c0, 0x2001, 0xb435, + 0x2004, 0xd0ac, 0x1138, 0x7818, 0xa080, 0x0028, 0x2004, 0xa082, + 0x007e, 0x0240, 0x00d6, 0x2069, 0xb41c, 0x2da6, 0x8d68, 0x2da6, + 0x00de, 0x0020, 0x20a3, 0x0000, 0x6034, 0x20a2, 0x7834, 0x20a2, + 0x7838, 0x20a2, 0x20a3, 0x0000, 0x20a3, 0x0000, 0x60c3, 0x000c, + 0x080c, 0x7d11, 0x001e, 0x00de, 0x0005, 0x7817, 0x0001, 0x7803, + 0x0006, 0x001e, 0x00de, 0x0005, 0x00d6, 0x0026, 0x7928, 0x2168, + 0x691c, 0xa186, 0x0006, 0x01c0, 0xa186, 0x0003, 0x0904, 0x841b, + 0xa186, 0x0005, 0x0904, 0x8404, 0xa186, 0x0004, 0x05b8, 0xa186, + 0x0008, 0x0904, 0x840c, 0x7807, 0x0037, 0x7813, 0x1700, 0x080c, + 0x8483, 0x002e, 0x00de, 0x0005, 0x080c, 0x843f, 0x2009, 0x4000, + 0x6800, 0x0002, 0x83e5, 0x83f0, 0x83e7, 0x83f0, 0x83ec, 0x83e5, + 0x83e5, 0x83f0, 0x83f0, 0x83f0, 0x83f0, 0x83e5, 0x83e5, 0x83e5, + 0x83e5, 0x83e5, 0x83f0, 0x83e5, 0x83f0, 0x080c, 0x1511, 0x6820, + 0xd0e4, 0x0110, 0xd0cc, 0x0110, 0xa00e, 0x0010, 0x2009, 0x2000, + 0x6828, 0x20a2, 0x682c, 0x20a2, 0x0804, 0x8435, 0x080c, 0x843f, + 0x20a3, 0x0000, 0x20a3, 0x0000, 0x2009, 0x4000, 0x6a00, 0xa286, + 0x0002, 0x1108, 0xa00e, 0x0488, 0x04d1, 0x20a3, 0x0000, 0x20a3, + 0x0000, 0x2009, 0x4000, 0x0448, 0x0491, 0x20a3, 0x0000, 0x20a3, + 0x0000, 0x2009, 0x4000, 0xa286, 0x0005, 0x0118, 0xa286, 0x0002, + 0x1108, 0xa00e, 0x00d0, 0x0419, 0x6810, 0x2068, 0x697c, 0x6810, + 0xa112, 0x6980, 0x6814, 0xa103, 0x20a2, 0x22a2, 0x7928, 0xa180, + 0x0000, 0x2004, 0xa08e, 0x0002, 0x0130, 0xa08e, 0x0004, 0x0118, + 0x2009, 0x4000, 0x0010, 0x2009, 0x0000, 0x21a2, 0x20a3, 0x0000, + 0x60c3, 0x0018, 0x080c, 0x7d11, 0x002e, 0x00de, 0x0005, 0x0036, + 0x0046, 0x0056, 0x0066, 0x20a1, 0x020b, 0x080c, 0x7697, 0xa006, + 0x20a3, 0x0200, 0x20a2, 0x7934, 0x21a2, 0x7938, 0x21a2, 0x7818, + 0xa080, 0x0028, 0x2004, 0x2011, 0xb435, 0x2214, 0xd2ac, 0x1118, + 0xa092, 0x007e, 0x0268, 0x00d6, 0x2069, 0xb41c, 0x2d2c, 0x8d68, + 0x2d34, 0xa0e8, 0xb535, 0x2d6c, 0x6b10, 0x6c14, 0x00de, 0x0030, + 0x2019, 0x0000, 0x6498, 0x2029, 0x0000, 0x6634, 0x7828, 0xa080, + 0x0007, 0x2004, 0xa086, 0x0003, 0x1128, 0x25a2, 0x26a2, 0x23a2, + 0x24a2, 0x0020, 0x23a2, 0x24a2, 0x25a2, 0x26a2, 0x006e, 0x005e, + 0x004e, 0x003e, 0x0005, 0x20a1, 0x020b, 0x080c, 0x7697, 0x20a3, + 0x0100, 0x20a3, 0x0000, 0x20a3, 0x0009, 0x7810, 0x20a2, 0x60c3, + 0x0008, 0x080c, 0x7d11, 0x0005, 0x20a1, 0x020b, 0x080c, 0x75f3, + 0x20a3, 0x1400, 0x20a3, 0x0000, 0x7834, 0x20a2, 0x7838, 0x20a2, + 0x7828, 0x20a2, 0x782c, 0x20a2, 0x7830, 0xa084, 0x00ff, 0x8007, + 0x20a2, 0x20a3, 0x0000, 0x60c3, 0x0010, 0x080c, 0x7d11, 0x0005, + 0x20a1, 0x020b, 0x080c, 0x768f, 0x20a3, 0x0100, 0x20a3, 0x0000, + 0x7828, 0x20a2, 0x7810, 0x20a2, 0x60c3, 0x0008, 0x080c, 0x7d11, + 0x0005, 0x0146, 0x20a1, 0x020b, 0x0031, 0x60c3, 0x0000, 0x080c, + 0x7d11, 0x014e, 0x0005, 0x20e1, 0x9080, 0x20e1, 0x4000, 0x7818, + 0xa080, 0x0028, 0x2004, 0x2011, 0xb435, 0x2214, 0xd2ac, 0x1110, + 0xd0bc, 0x0188, 0x00d6, 0xa0e8, 0xb535, 0x2d6c, 0x6810, 0xa085, + 0x0300, 0x20a2, 0x6814, 0x20a2, 0x2069, 0xb41c, 0x2da6, 0x8d68, + 0x2da6, 0x00de, 0x0078, 0x00d6, 0xa0e8, 0xb535, 0x2d6c, 0x6810, + 0xa085, 0x0300, 0x20a2, 0x6814, 0x20a2, 0x00de, 0x20a3, 0x0000, + 0x6234, 0x22a2, 0x20a3, 0x0819, 0x20a3, 0x0000, 0x080c, 0x7d00, + 0x22a2, 0x20a3, 0x0000, 0x2fa2, 0x7a08, 0x22a2, 0x20a3, 0x0000, + 0x20a3, 0x0000, 0x0005, 0x20a1, 0x020b, 0x0079, 0x7910, 0x21a2, + 0x20a3, 0x0000, 0x60c3, 0x0000, 0x20e1, 0x9080, 0x60a7, 0x9575, + 0x080c, 0x7d1b, 0x080c, 0x69cc, 0x0005, 0x0156, 0x0136, 0x0036, + 0x00d6, 0x00e6, 0x20e1, 0x9080, 0x20e1, 0x4000, 0x7854, 0x2068, + 0xadf0, 0x000f, 0x7210, 0xa296, 0x00c0, 0xa294, 0xfffd, 0x7212, + 0x7214, 0xa294, 0x0300, 0x7216, 0x7100, 0xa194, 0x00ff, 0x7308, + 0xa384, 0x00ff, 0xa08d, 0xc200, 0x7102, 0xa384, 0xff00, 0xa215, + 0x720a, 0x7004, 0x720c, 0x700e, 0x7206, 0x20a9, 0x000a, 0x2e98, + 0x53a6, 0x60a3, 0x0035, 0x6a38, 0xa294, 0x7000, 0xa286, 0x3000, + 0x0110, 0x60a3, 0x0037, 0x00ee, 0x00de, 0x003e, 0x013e, 0x015e, + 0x0005, 0x2009, 0x0092, 0x0010, 0x2009, 0x0096, 0x60ab, 0x0036, + 0x6116, 0x0005, 0x2061, 0xbc00, 0x2a70, 0x7068, 0x704a, 0x704f, + 0xbc00, 0x0005, 0x00e6, 0x0126, 0x2071, 0xb400, 0x2091, 0x8000, + 0x7548, 0xa582, 0x0010, 0x0608, 0x704c, 0x2060, 0x6000, 0xa086, + 0x0000, 0x0148, 0xace0, 0x0018, 0x705c, 0xac02, 0x1208, 0x0cb0, + 0x2061, 0xbc00, 0x0c98, 0x6003, 0x0008, 0x8529, 0x754a, 0xaca8, + 0x0018, 0x705c, 0xa502, 0x1230, 0x754e, 0xa085, 0x0001, 0x012e, + 0x00ee, 0x0005, 0x704f, 0xbc00, 0x0cc0, 0xa006, 0x0cc0, 0x00e6, + 0x2071, 0xb400, 0x7548, 0xa582, 0x0010, 0x0600, 0x704c, 0x2060, + 0x6000, 0xa086, 0x0000, 0x0148, 0xace0, 0x0018, 0x705c, 0xac02, + 0x1208, 0x0cb0, 0x2061, 0xbc00, 0x0c98, 0x6003, 0x0008, 0x8529, + 0x754a, 0xaca8, 0x0018, 0x705c, 0xa502, 0x1228, 0x754e, 0xa085, + 0x0001, 0x00ee, 0x0005, 0x704f, 0xbc00, 0x0cc8, 0xa006, 0x0cc8, + 0xac82, 0xbc00, 0x0a0c, 0x1511, 0x2001, 0xb417, 0x2004, 0xac02, + 0x1a0c, 0x1511, 0xa006, 0x6006, 0x600a, 0x600e, 0x6012, 0x6016, + 0x601a, 0x601f, 0x0000, 0x6003, 0x0000, 0x6052, 0x6056, 0x6022, + 0x6026, 0x602a, 0x602e, 0x6032, 0x6036, 0x603a, 0x603e, 0x2061, + 0xb400, 0x6048, 0x8000, 0x604a, 0xa086, 0x0001, 0x0108, 0x0005, + 0x0126, 0x2091, 0x8000, 0x080c, 0x7134, 0x012e, 0x0cc0, 0x601c, + 0xa084, 0x000f, 0x0002, 0x85fe, 0x860d, 0x8628, 0x8643, 0xa0df, + 0xa0fa, 0xa115, 0x85fe, 0x860d, 0x85fe, 0x865e, 0xa186, 0x0013, + 0x1128, 0x080c, 0x7055, 0x080c, 0x7134, 0x0005, 0xa18e, 0x0047, + 0x1118, 0xa016, 0x080c, 0x1856, 0x0005, 0x0066, 0x6000, 0xa0b2, + 0x0010, 0x1a0c, 0x1511, 0x0013, 0x006e, 0x0005, 0x8626, 0x8a3e, + 0x8bf6, 0x8626, 0x8c6b, 0x871c, 0x8626, 0x8626, 0x89d0, 0x908f, + 0x8626, 0x8626, 0x8626, 0x8626, 0x8626, 0x8626, 0x080c, 0x1511, + 0x0066, 0x6000, 0xa0b2, 0x0010, 0x1a0c, 0x1511, 0x0013, 0x006e, + 0x0005, 0x8641, 0x96bb, 0x8641, 0x8641, 0x8641, 0x8641, 0x8641, + 0x8641, 0x9666, 0x9827, 0x8641, 0x96e8, 0x975f, 0x96e8, 0x975f, + 0x8641, 0x080c, 0x1511, 0x0066, 0x6000, 0xa0b2, 0x0010, 0x1a0c, + 0x1511, 0x0013, 0x006e, 0x0005, 0x865c, 0x90d0, 0x919a, 0x92ce, + 0x942a, 0x865c, 0x865c, 0x865c, 0x90aa, 0x9616, 0x9619, 0x865c, + 0x865c, 0x865c, 0x865c, 0x9643, 0x080c, 0x1511, 0x0066, 0x6000, + 0xa0b2, 0x0010, 0x1a0c, 0x1511, 0x0013, 0x006e, 0x0005, 0x8677, + 0x8677, 0x8677, 0x86a5, 0x86f2, 0x8677, 0x8677, 0x8677, 0x8679, + 0x8677, 0x8677, 0x8677, 0x8677, 0x8677, 0x8677, 0x8677, 0x080c, + 0x1511, 0xa186, 0x0003, 0x190c, 0x1511, 0x00d6, 0x6003, 0x0003, + 0x6106, 0x6010, 0x2068, 0x684f, 0x0040, 0x687c, 0x680a, 0x6880, + 0x680e, 0x6813, 0x0000, 0x6817, 0x0000, 0x6854, 0xa092, 0x199a, + 0x0210, 0x2001, 0x1999, 0x8003, 0x8013, 0x8213, 0xa210, 0x6216, + 0x00de, 0x2c10, 0x080c, 0x1f7a, 0x080c, 0x6cb5, 0x0126, 0x2091, + 0x8000, 0x080c, 0x71f1, 0x012e, 0x0005, 0xa182, 0x0047, 0x0002, + 0x86b1, 0x86b1, 0x86b3, 0x86cc, 0x86b1, 0x86b1, 0x86b1, 0x86b1, + 0x86de, 0x080c, 0x1511, 0x00d6, 0x0016, 0x080c, 0x70e7, 0x080c, + 0x71f1, 0x6003, 0x0004, 0x6110, 0x2168, 0x684f, 0x0020, 0x685c, + 0x685a, 0x6874, 0x687e, 0x6878, 0x6882, 0x6897, 0x0000, 0x689b, + 0x0000, 0x001e, 0x00de, 0x0005, 0x080c, 0x70e7, 0x00d6, 0x6110, + 0x2168, 0x080c, 0x9beb, 0x0120, 0x684b, 0x0006, 0x080c, 0x53c9, + 0x00de, 0x080c, 0x85c0, 0x080c, 0x71f1, 0x0005, 0x080c, 0x70e7, + 0x080c, 0x2c60, 0x00d6, 0x6110, 0x2168, 0x080c, 0x9beb, 0x0120, + 0x684b, 0x0029, 0x080c, 0x53c9, 0x00de, 0x080c, 0x85c0, 0x080c, + 0x71f1, 0x0005, 0xa182, 0x0047, 0x0002, 0x8700, 0x870f, 0x86fe, + 0x86fe, 0x86fe, 0x86fe, 0x86fe, 0x86fe, 0x86fe, 0x080c, 0x1511, + 0x00d6, 0x6010, 0x2068, 0x684c, 0xc0f4, 0x684e, 0x00de, 0x20e1, + 0x0005, 0x3d18, 0x3e20, 0x2c10, 0x080c, 0x1856, 0x0005, 0x00d6, + 0x6110, 0x2168, 0x684b, 0x0000, 0x6853, 0x0000, 0x080c, 0x53c9, + 0x00de, 0x080c, 0x85c0, 0x0005, 0xa1b6, 0x0015, 0x1118, 0x080c, + 0x85c0, 0x0030, 0xa1b6, 0x0016, 0x190c, 0x1511, 0x080c, 0x85c0, + 0x0005, 0x20a9, 0x000e, 0x2e98, 0x6010, 0x20a0, 0x53a3, 0x20a9, + 0x0006, 0x3310, 0x3420, 0x9398, 0x94a0, 0x3318, 0x3428, 0x222e, + 0x2326, 0xa290, 0x0002, 0xa5a8, 0x0002, 0xa398, 0x0002, 0xa4a0, + 0x0002, 0x1f04, 0x8737, 0x00e6, 0x080c, 0x9beb, 0x0130, 0x6010, + 0x2070, 0x7007, 0x0000, 0x7037, 0x0103, 0x00ee, 0x080c, 0x85c0, + 0x0005, 0x00d6, 0x0036, 0x7330, 0xa386, 0x0200, 0x1130, 0x6018, + 0x2068, 0x6813, 0x00ff, 0x6817, 0xfffd, 0x6010, 0xa005, 0x0130, + 0x2068, 0x6807, 0x0000, 0x6837, 0x0103, 0x6b32, 0x080c, 0x85c0, + 0x003e, 0x00de, 0x0005, 0x0016, 0x20a9, 0x002a, 0xae80, 0x000c, + 0x2098, 0x6010, 0xa080, 0x0002, 0x20a0, 0x53a3, 0x20a9, 0x002a, + 0x6010, 0xa080, 0x0001, 0x2004, 0xa080, 0x0002, 0x20a0, 0x53a3, + 0x00e6, 0x6010, 0x2004, 0x2070, 0x7037, 0x0103, 0x00ee, 0x080c, + 0x85c0, 0x001e, 0x0005, 0x0016, 0x2009, 0x0000, 0x7030, 0xa086, + 0x0100, 0x0140, 0x7038, 0xa084, 0x00ff, 0x800c, 0x703c, 0xa084, + 0x00ff, 0x8004, 0xa080, 0x0004, 0xa108, 0x21a8, 0xae80, 0x000c, + 0x2098, 0x6010, 0xa080, 0x0002, 0x20a0, 0x080c, 0x4b49, 0x00e6, + 0x080c, 0x9beb, 0x0140, 0x6010, 0x2070, 0x7007, 0x0000, 0x7034, + 0x70b2, 0x7037, 0x0103, 0x00ee, 0x080c, 0x85c0, 0x001e, 0x0005, + 0x00e6, 0x00d6, 0x603f, 0x0000, 0x2c68, 0x0016, 0x2009, 0x0035, + 0x080c, 0xa09b, 0x001e, 0x1168, 0x0026, 0x6228, 0x2268, 0x002e, + 0x2071, 0xba8c, 0x6b1c, 0xa386, 0x0003, 0x0130, 0xa386, 0x0006, + 0x0128, 0x080c, 0x85c0, 0x0020, 0x0031, 0x0010, 0x080c, 0x8899, + 0x00de, 0x00ee, 0x0005, 0x00f6, 0x6810, 0x2078, 0xa186, 0x0015, + 0x0904, 0x8880, 0xa18e, 0x0016, 0x1904, 0x8897, 0x700c, 0xa08c, + 0xff00, 0xa186, 0x1700, 0x0120, 0xa186, 0x0300, 0x1904, 0x885f, + 0x8fff, 0x1138, 0x6800, 0xa086, 0x000f, 0x0904, 0x8843, 0x0804, + 0x8895, 0x6808, 0xa086, 0xffff, 0x1904, 0x8882, 0x784c, 0xa084, + 0x0060, 0xa086, 0x0020, 0x1150, 0x797c, 0x7810, 0xa106, 0x1904, + 0x8882, 0x7980, 0x7814, 0xa106, 0x1904, 0x8882, 0x080c, 0x9da2, + 0x6858, 0x7852, 0x784c, 0xc0dc, 0xc0f4, 0xc0d4, 0x784e, 0x0026, + 0xa00e, 0x6a14, 0x2001, 0x000a, 0x080c, 0x6b05, 0x7854, 0xa20a, + 0x0208, 0x8011, 0x7a56, 0x82ff, 0x002e, 0x1138, 0x00c6, 0x2d60, + 0x080c, 0x99a2, 0x00ce, 0x0804, 0x8895, 0x00c6, 0x00d6, 0x2f68, + 0x6838, 0xd0fc, 0x1118, 0x080c, 0x4c1e, 0x0010, 0x080c, 0x4e0a, + 0x00de, 0x00ce, 0x1904, 0x8882, 0x00c6, 0x2d60, 0x080c, 0x85c0, + 0x00ce, 0x0804, 0x8895, 0x00c6, 0x080c, 0x9e67, 0x0190, 0x6013, + 0x0000, 0x6818, 0x601a, 0x080c, 0x9fb8, 0x601f, 0x0003, 0x6904, + 0x00c6, 0x2d60, 0x080c, 0x85c0, 0x00ce, 0x080c, 0x85ef, 0x00ce, + 0x04e0, 0x2001, 0xb6b8, 0x2004, 0x683e, 0x00ce, 0x04b0, 0x7008, + 0xa086, 0x000b, 0x11a0, 0x6018, 0x200c, 0xc1bc, 0x2102, 0x00c6, + 0x2d60, 0x7853, 0x0003, 0x6007, 0x0085, 0x6003, 0x000b, 0x601f, + 0x0002, 0x080c, 0x6c52, 0x080c, 0x7134, 0x00ce, 0x00f0, 0x700c, + 0xa086, 0x2a00, 0x1138, 0x2001, 0xb6b8, 0x2004, 0x683e, 0x00a8, + 0x0481, 0x00a8, 0x8fff, 0x090c, 0x1511, 0x00c6, 0x00d6, 0x2d60, + 0x2f68, 0x6837, 0x0103, 0x684b, 0x0003, 0x080c, 0x9896, 0x080c, + 0x9da2, 0x080c, 0x9dae, 0x00de, 0x00ce, 0x080c, 0x85c0, 0x00fe, + 0x0005, 0xa186, 0x0015, 0x1128, 0x2001, 0xb6b8, 0x2004, 0x683e, + 0x0068, 0xa18e, 0x0016, 0x1160, 0x00c6, 0x2d00, 0x2060, 0x080c, + 0xb2bd, 0x080c, 0x6ab4, 0x080c, 0x85c0, 0x00ce, 0x080c, 0x85c0, + 0x0005, 0x0026, 0x0036, 0x0046, 0x7228, 0x7c80, 0x7b7c, 0xd2f4, + 0x0130, 0x2001, 0xb6b8, 0x2004, 0x683e, 0x0804, 0x8913, 0x00c6, + 0x2d60, 0x080c, 0x98b6, 0x00ce, 0x6804, 0xa086, 0x0050, 0x1168, + 0x00c6, 0x2d00, 0x2060, 0x6003, 0x0001, 0x6007, 0x0050, 0x080c, + 0x6c52, 0x080c, 0x7134, 0x00ce, 0x04f0, 0x6800, 0xa086, 0x000f, + 0x01c8, 0x8fff, 0x090c, 0x1511, 0x6820, 0xd0dc, 0x1198, 0x6800, + 0xa086, 0x0004, 0x1198, 0x784c, 0xd0ac, 0x0180, 0x784c, 0xc0dc, + 0xc0f4, 0x784e, 0x7850, 0xc0f4, 0xc0fc, 0x7852, 0x2001, 0x0001, + 0x682e, 0x00e0, 0x2001, 0x0007, 0x682e, 0x00c0, 0x784c, 0xd0b4, + 0x1130, 0xd0ac, 0x0db8, 0x784c, 0xd0f4, 0x1da0, 0x0c38, 0xd2ec, + 0x1d88, 0x7024, 0xa306, 0x1118, 0x7020, 0xa406, 0x0d58, 0x7020, + 0x6836, 0x7024, 0x683a, 0x2001, 0x0005, 0x682e, 0x080c, 0x9ef4, + 0x080c, 0x7134, 0x0010, 0x080c, 0x85c0, 0x004e, 0x003e, 0x002e, + 0x0005, 0x00e6, 0x00d6, 0x0026, 0x6034, 0x2068, 0x6a1c, 0xa286, + 0x0007, 0x0904, 0x8977, 0xa286, 0x0002, 0x0904, 0x8977, 0xa286, + 0x0000, 0x0904, 0x8977, 0x6808, 0x6338, 0xa306, 0x1904, 0x8977, + 0x2071, 0xba8c, 0xa186, 0x0015, 0x05e0, 0xa18e, 0x0016, 0x1190, + 0x6030, 0xa084, 0x00ff, 0xa086, 0x0001, 0x1160, 0x700c, 0xa086, + 0x2a00, 0x1140, 0x6034, 0xa080, 0x0008, 0x200c, 0xc1dd, 0xc1f5, + 0x2102, 0x0438, 0x00c6, 0x6034, 0x2060, 0x6104, 0xa186, 0x004b, + 0x01a0, 0xa186, 0x004c, 0x0188, 0xa186, 0x004d, 0x0170, 0xa186, + 0x004e, 0x0158, 0xa186, 0x0052, 0x0140, 0x6010, 0x2068, 0x080c, + 0x9beb, 0x090c, 0x1511, 0x6853, 0x0003, 0x6007, 0x0085, 0x6003, + 0x000b, 0x601f, 0x0002, 0x080c, 0x6c52, 0x080c, 0x7134, 0x00ce, + 0x0030, 0x6034, 0x2070, 0x2001, 0xb6b8, 0x2004, 0x703e, 0x080c, + 0x85c0, 0x002e, 0x00de, 0x00ee, 0x0005, 0x00d6, 0x20a9, 0x000e, + 0x2e98, 0x6010, 0x20a0, 0x53a3, 0xa1b6, 0x0015, 0x1558, 0x6018, + 0x2068, 0x0156, 0x0036, 0x0026, 0xae90, 0x000c, 0xa290, 0x0004, + 0x20a9, 0x0004, 0xad98, 0x000a, 0x080c, 0x907a, 0x002e, 0x003e, + 0x015e, 0x11d8, 0x0156, 0x0036, 0x0026, 0xae90, 0x000c, 0xa290, + 0x0008, 0x20a9, 0x0004, 0xad98, 0x0006, 0x080c, 0x907a, 0x002e, + 0x003e, 0x015e, 0x1150, 0x7038, 0x680a, 0x703c, 0x680e, 0x6800, + 0xc08d, 0x6802, 0x00de, 0x0804, 0x8743, 0x080c, 0x2c60, 0x00c6, + 0x080c, 0x856a, 0x2f00, 0x601a, 0x6013, 0x0000, 0x601f, 0x0001, + 0x6007, 0x0001, 0x6003, 0x0001, 0x2001, 0x0007, 0x080c, 0x4ebe, + 0x080c, 0x4eeb, 0x080c, 0x6c98, 0x080c, 0x7134, 0x00ce, 0x0c10, + 0x2100, 0xa1b2, 0x0080, 0x1a0c, 0x1511, 0xa1b2, 0x0040, 0x1a04, + 0x8a34, 0x0002, 0x8a28, 0x8a1c, 0x8a28, 0x8a28, 0x8a28, 0x8a28, + 0x8a1a, 0x8a1a, 0x8a1a, 0x8a1a, 0x8a1a, 0x8a1a, 0x8a1a, 0x8a1a, + 0x8a1a, 0x8a1a, 0x8a1a, 0x8a1a, 0x8a1a, 0x8a1a, 0x8a1a, 0x8a1a, + 0x8a1a, 0x8a1a, 0x8a1a, 0x8a1a, 0x8a1a, 0x8a1a, 0x8a1a, 0x8a1a, + 0x8a1a, 0x8a28, 0x8a1a, 0x8a28, 0x8a28, 0x8a1a, 0x8a1a, 0x8a1a, + 0x8a1a, 0x8a1a, 0x8a28, 0x8a1a, 0x8a1a, 0x8a1a, 0x8a1a, 0x8a1a, + 0x8a1a, 0x8a1a, 0x8a1a, 0x8a1a, 0x8a28, 0x8a28, 0x8a1a, 0x8a1a, + 0x8a1a, 0x8a1a, 0x8a1a, 0x8a1a, 0x8a1a, 0x8a1a, 0x8a1a, 0x8a28, + 0x8a1a, 0x8a1a, 0x080c, 0x1511, 0x6003, 0x0001, 0x6106, 0x080c, + 0x6c98, 0x0126, 0x2091, 0x8000, 0x080c, 0x7134, 0x012e, 0x0005, + 0x6003, 0x0001, 0x6106, 0x080c, 0x6c98, 0x0126, 0x2091, 0x8000, + 0x080c, 0x7134, 0x012e, 0x0005, 0x2600, 0x0002, 0x8a28, 0x8a28, + 0x8a3c, 0x8a28, 0x8a28, 0x8a3c, 0x080c, 0x1511, 0x6004, 0xa0b2, + 0x0080, 0x1a0c, 0x1511, 0xa1b6, 0x0013, 0x0904, 0x8aee, 0xa1b6, + 0x0027, 0x1904, 0x8ab4, 0x080c, 0x7055, 0x6004, 0x080c, 0x9dd8, + 0x0190, 0x080c, 0x9de9, 0x0904, 0x8aae, 0xa08e, 0x0021, 0x0904, + 0x8ab1, 0xa08e, 0x0022, 0x0904, 0x8aae, 0xa08e, 0x003d, 0x0904, + 0x8ab1, 0x0804, 0x8aa7, 0x080c, 0x2c86, 0x2001, 0x0007, 0x080c, + 0x4ebe, 0x6018, 0xa080, 0x0028, 0x200c, 0x080c, 0x8bbc, 0xa186, + 0x007e, 0x1148, 0x2001, 0xb435, 0x2014, 0xc285, 0x080c, 0x5a90, + 0x1108, 0xc2ad, 0x2202, 0x0016, 0x0026, 0x0036, 0x2110, 0x0026, + 0x2019, 0x0028, 0x080c, 0x823c, 0x002e, 0x080c, 0xb310, 0x003e, + 0x002e, 0x001e, 0x0016, 0x0026, 0x0036, 0x2110, 0x2019, 0x0028, + 0x080c, 0x6dba, 0x0076, 0x2039, 0x0000, 0x080c, 0x6cc7, 0x00c6, + 0x6018, 0xa065, 0x0110, 0x080c, 0x516b, 0x00ce, 0x2c08, 0x080c, + 0xae05, 0x007e, 0x003e, 0x002e, 0x001e, 0x080c, 0x4f2d, 0x080c, + 0x9fb0, 0x080c, 0x85c0, 0x080c, 0x7134, 0x0005, 0x080c, 0x8bbc, + 0x0cb0, 0x080c, 0x8bea, 0x0c98, 0xa186, 0x0014, 0x1db0, 0x080c, + 0x7055, 0x080c, 0x2c60, 0x080c, 0x9dd8, 0x1188, 0x080c, 0x2c86, + 0x6018, 0xa080, 0x0028, 0x200c, 0x080c, 0x8bbc, 0xa186, 0x007e, + 0x1128, 0x2001, 0xb435, 0x200c, 0xc185, 0x2102, 0x08c0, 0x080c, + 0x9de9, 0x1118, 0x080c, 0x8bbc, 0x0890, 0x6004, 0xa08e, 0x0032, + 0x1158, 0x00e6, 0x00f6, 0x2071, 0xb482, 0x2079, 0x0000, 0x080c, + 0x2f93, 0x00fe, 0x00ee, 0x0818, 0x6004, 0xa08e, 0x0021, 0x0d50, + 0xa08e, 0x0022, 0x090c, 0x8bbc, 0x0804, 0x8aa7, 0xa0b2, 0x0040, + 0x1a04, 0x8bb1, 0x2008, 0x0002, 0x8b36, 0x8b37, 0x8b3a, 0x8b3d, + 0x8b40, 0x8b43, 0x8b34, 0x8b34, 0x8b34, 0x8b34, 0x8b34, 0x8b34, + 0x8b34, 0x8b34, 0x8b34, 0x8b34, 0x8b34, 0x8b34, 0x8b34, 0x8b34, + 0x8b34, 0x8b34, 0x8b34, 0x8b34, 0x8b34, 0x8b34, 0x8b34, 0x8b34, + 0x8b34, 0x8b34, 0x8b46, 0x8b55, 0x8b34, 0x8b57, 0x8b55, 0x8b34, + 0x8b34, 0x8b34, 0x8b34, 0x8b34, 0x8b55, 0x8b55, 0x8b34, 0x8b34, + 0x8b34, 0x8b34, 0x8b34, 0x8b34, 0x8b34, 0x8b34, 0x8b91, 0x8b55, + 0x8b34, 0x8b51, 0x8b34, 0x8b34, 0x8b34, 0x8b52, 0x8b34, 0x8b34, + 0x8b34, 0x8b55, 0x8b88, 0x8b34, 0x080c, 0x1511, 0x00f0, 0x2001, + 0x000b, 0x0460, 0x2001, 0x0003, 0x0448, 0x2001, 0x0005, 0x0430, + 0x2001, 0x0001, 0x0418, 0x2001, 0x0009, 0x0400, 0x080c, 0x7055, + 0x6003, 0x0005, 0x2001, 0xb6b8, 0x2004, 0x603e, 0x080c, 0x7134, + 0x00a0, 0x0018, 0x0010, 0x080c, 0x4ebe, 0x0804, 0x8ba2, 0x080c, + 0x7055, 0x2001, 0xb6b6, 0x2004, 0x6016, 0x2001, 0xb6b8, 0x2004, + 0x603e, 0x6003, 0x0004, 0x080c, 0x7134, 0x0005, 0x080c, 0x4ebe, + 0x080c, 0x7055, 0x6003, 0x0002, 0x2001, 0xb6b8, 0x2004, 0x603e, + 0x0036, 0x2019, 0xb45d, 0x2304, 0xa084, 0xff00, 0x1120, 0x2001, + 0xb6b6, 0x201c, 0x0040, 0x8007, 0xa09a, 0x0004, 0x0ec0, 0x8003, + 0x801b, 0x831b, 0xa318, 0x6316, 0x003e, 0x080c, 0x7134, 0x08e8, + 0x080c, 0x7055, 0x080c, 0x9fb0, 0x080c, 0x85c0, 0x080c, 0x7134, + 0x08a0, 0x00e6, 0x00f6, 0x2071, 0xb482, 0x2079, 0x0000, 0x080c, + 0x2f93, 0x00fe, 0x00ee, 0x080c, 0x7055, 0x080c, 0x85c0, 0x080c, + 0x7134, 0x0818, 0x080c, 0x7055, 0x2001, 0xb6b8, 0x2004, 0x603e, + 0x6003, 0x0002, 0x2001, 0xb6b6, 0x2004, 0x6016, 0x080c, 0x7134, + 0x0005, 0x2600, 0x2008, 0x0002, 0x8bba, 0x8bba, 0x8bba, 0x8ba2, + 0x8ba2, 0x8bba, 0x080c, 0x1511, 0x00e6, 0x0026, 0x0016, 0x080c, + 0x9beb, 0x0508, 0x6010, 0x2070, 0x7034, 0xa086, 0x0139, 0x1148, + 0x2001, 0x0030, 0x2009, 0x0000, 0x2011, 0x4005, 0x080c, 0xa067, + 0x0090, 0x7038, 0xd0fc, 0x0178, 0x7007, 0x0000, 0x0016, 0x6004, + 0xa08e, 0x0021, 0x0160, 0xa08e, 0x003d, 0x0148, 0x001e, 0x7037, + 0x0103, 0x7033, 0x0100, 0x001e, 0x002e, 0x00ee, 0x0005, 0x001e, + 0x0009, 0x0cc8, 0x00e6, 0xacf0, 0x0004, 0x2e74, 0x7000, 0x2070, + 0x7037, 0x0103, 0x7023, 0x8001, 0x00ee, 0x0005, 0x00d6, 0x6618, + 0x2668, 0x6804, 0xa084, 0x00ff, 0x00de, 0xa0b2, 0x000c, 0x1a0c, + 0x1511, 0x6604, 0xa6b6, 0x0043, 0x1120, 0x080c, 0xa023, 0x0804, + 0x8c5b, 0x6604, 0xa6b6, 0x0033, 0x1120, 0x080c, 0x9fd3, 0x0804, + 0x8c5b, 0x6604, 0xa6b6, 0x0028, 0x1120, 0x080c, 0x9e19, 0x0804, + 0x8c5b, 0x6604, 0xa6b6, 0x0029, 0x1118, 0x080c, 0x9e30, 0x04d8, + 0x6604, 0xa6b6, 0x001f, 0x1118, 0x080c, 0x8729, 0x04a0, 0x6604, + 0xa6b6, 0x0000, 0x1118, 0x080c, 0x897d, 0x0468, 0x6604, 0xa6b6, + 0x0022, 0x1118, 0x080c, 0x8751, 0x0430, 0x6604, 0xa6b6, 0x0035, + 0x1118, 0x080c, 0x87b8, 0x00f8, 0x6604, 0xa6b6, 0x0039, 0x1118, + 0x080c, 0x8919, 0x00c0, 0x6604, 0xa6b6, 0x003d, 0x1118, 0x080c, + 0x876b, 0x0088, 0x6604, 0xa6b6, 0x0044, 0x1118, 0x080c, 0x878b, + 0x0050, 0xa1b6, 0x0015, 0x1110, 0x0053, 0x0028, 0xa1b6, 0x0016, + 0x1118, 0x0804, 0x8e1f, 0x0005, 0x080c, 0x8606, 0x0ce0, 0x8c82, + 0x8c85, 0x8c82, 0x8cc7, 0x8c82, 0x8dac, 0x8e2d, 0x8c82, 0x8c82, + 0x8dfb, 0x8c82, 0x8e0f, 0xa1b6, 0x0048, 0x0140, 0x20e1, 0x0005, + 0x3d18, 0x3e20, 0x2c10, 0x080c, 0x1856, 0x0005, 0x00e6, 0xacf0, + 0x0004, 0x2e74, 0x7000, 0x2070, 0x7037, 0x0103, 0x00ee, 0x080c, + 0x85c0, 0x0005, 0xe000, 0xe000, 0x0005, 0x00e6, 0x2071, 0xb400, + 0x7084, 0xa086, 0x0074, 0x1530, 0x080c, 0xaddc, 0x11b0, 0x00d6, + 0x6018, 0x2068, 0x7030, 0xd08c, 0x0128, 0x6800, 0xd0bc, 0x0110, + 0xc0c5, 0x6802, 0x00d9, 0x00de, 0x2001, 0x0006, 0x080c, 0x4ebe, + 0x080c, 0x2c86, 0x080c, 0x85c0, 0x0078, 0x2001, 0x000a, 0x080c, + 0x4ebe, 0x080c, 0x2c86, 0x6003, 0x0001, 0x6007, 0x0001, 0x080c, + 0x6c98, 0x0010, 0x080c, 0x8d99, 0x00ee, 0x0005, 0x6800, 0xd084, + 0x0168, 0x2001, 0x0000, 0x080c, 0x4eac, 0x2069, 0xb452, 0x6804, + 0xd0a4, 0x0120, 0x2001, 0x0006, 0x080c, 0x4eeb, 0x0005, 0x00d6, + 0x2011, 0xb421, 0x2204, 0xa086, 0x0074, 0x1904, 0x8d96, 0x6018, + 0x2068, 0x6aa0, 0xa286, 0x007e, 0x1120, 0x080c, 0x8f42, 0x0804, + 0x8d35, 0x080c, 0x8f38, 0x6018, 0x2068, 0xa080, 0x0028, 0x2014, + 0xa286, 0x0080, 0x11c0, 0x6813, 0x00ff, 0x6817, 0xfffc, 0x6010, + 0xa005, 0x0138, 0x2068, 0x6807, 0x0000, 0x6837, 0x0103, 0x6833, + 0x0200, 0x2001, 0x0006, 0x080c, 0x4ebe, 0x080c, 0x2c86, 0x080c, + 0x85c0, 0x0804, 0x8d97, 0x00e6, 0x2071, 0xb435, 0x2e04, 0xd09c, + 0x0188, 0x2071, 0xba80, 0x7108, 0x720c, 0xa18c, 0x00ff, 0x1118, + 0xa284, 0xff00, 0x0138, 0x6018, 0x2070, 0x70a0, 0xd0bc, 0x1110, + 0x7112, 0x7216, 0x00ee, 0x6010, 0xa005, 0x0198, 0x2068, 0x6838, + 0xd0f4, 0x0178, 0x6834, 0xa084, 0x00ff, 0xa086, 0x0039, 0x1958, + 0x2001, 0x0000, 0x2009, 0x0000, 0x2011, 0x4000, 0x080c, 0xa067, + 0x0840, 0x2001, 0x0004, 0x080c, 0x4ebe, 0x6003, 0x0001, 0x6007, + 0x0003, 0x080c, 0x6c98, 0x0804, 0x8d97, 0x685c, 0xd0e4, 0x01d8, + 0x080c, 0x9f63, 0x080c, 0x5a90, 0x0118, 0xd0dc, 0x1904, 0x8cf1, + 0x2011, 0xb435, 0x2204, 0xc0ad, 0x2012, 0x2001, 0xb68f, 0x2004, + 0x00f6, 0x2079, 0x0100, 0x78e3, 0x0000, 0x080c, 0x2838, 0x78e2, + 0x00fe, 0x0804, 0x8cf1, 0x080c, 0x9f99, 0x2011, 0xb435, 0x2204, + 0xc0a5, 0x2012, 0x0006, 0x080c, 0xaefe, 0x000e, 0x1904, 0x8cf1, + 0xc0b5, 0x2012, 0x2001, 0x0006, 0x080c, 0x4ebe, 0x2001, 0x0000, + 0x080c, 0x4eac, 0x00c6, 0x2009, 0x00ef, 0x00f6, 0x2079, 0x0100, + 0x79ea, 0x7932, 0x7936, 0x00fe, 0x080c, 0x280d, 0x00f6, 0x2079, + 0xb400, 0x7976, 0x2100, 0x2009, 0x0000, 0x080c, 0x27e3, 0x7952, + 0x00fe, 0x8108, 0x080c, 0x4f0e, 0x2c00, 0x00ce, 0x1904, 0x8cf1, + 0x601a, 0x2001, 0x0002, 0x080c, 0x4ebe, 0x601f, 0x0001, 0x6003, + 0x0001, 0x6007, 0x0002, 0x080c, 0x6c98, 0x0008, 0x0011, 0x00de, + 0x0005, 0x2001, 0x0007, 0x080c, 0x4ebe, 0x2001, 0xb400, 0x2004, + 0xa086, 0x0003, 0x1120, 0x2001, 0x0007, 0x080c, 0x4eeb, 0x080c, + 0x2c86, 0x080c, 0x85c0, 0x0005, 0x00e6, 0x0026, 0x0016, 0x2071, + 0xb400, 0x7084, 0xa086, 0x0014, 0x15f0, 0x7000, 0xa086, 0x0003, + 0x1128, 0x6010, 0xa005, 0x1110, 0x080c, 0x3efc, 0x00d6, 0x6018, + 0x2068, 0x080c, 0x500c, 0x080c, 0x8cb6, 0x00de, 0x080c, 0x8ff1, + 0x1550, 0x00d6, 0x6018, 0x2068, 0x6890, 0x00de, 0xa005, 0x0518, + 0x2001, 0x0006, 0x080c, 0x4ebe, 0x00e6, 0x6010, 0xa075, 0x01a8, + 0x7034, 0xa084, 0x00ff, 0xa086, 0x0039, 0x1148, 0x2001, 0x0000, + 0x2009, 0x0000, 0x2011, 0x4000, 0x080c, 0xa067, 0x0030, 0x7007, + 0x0000, 0x7037, 0x0103, 0x7033, 0x0200, 0x00ee, 0x080c, 0x2c86, + 0x080c, 0x85c0, 0x0020, 0x080c, 0x8bbc, 0x080c, 0x8d99, 0x001e, + 0x002e, 0x00ee, 0x0005, 0x2011, 0xb421, 0x2204, 0xa086, 0x0014, + 0x1158, 0x2001, 0x0002, 0x080c, 0x4ebe, 0x6003, 0x0001, 0x6007, + 0x0001, 0x080c, 0x6c98, 0x0010, 0x080c, 0x8d99, 0x0005, 0x2011, + 0xb421, 0x2204, 0xa086, 0x0004, 0x1138, 0x2001, 0x0007, 0x080c, + 0x4ebe, 0x080c, 0x85c0, 0x0010, 0x080c, 0x8d99, 0x0005, 0x000b, + 0x0005, 0x8c82, 0x8e38, 0x8c82, 0x8e6c, 0x8c82, 0x8ef4, 0x8e2d, + 0x8c82, 0x8c82, 0x8f07, 0x8c82, 0x8f17, 0x6604, 0xa686, 0x0003, + 0x0904, 0x8dac, 0xa6b6, 0x001e, 0x1110, 0x080c, 0x85c0, 0x0005, + 0x00d6, 0x00c6, 0x080c, 0x8f27, 0x1178, 0x2001, 0x0000, 0x080c, + 0x4eac, 0x2001, 0x0002, 0x080c, 0x4ebe, 0x6003, 0x0001, 0x6007, + 0x0002, 0x080c, 0x6c98, 0x00e8, 0x2009, 0xba8e, 0x2104, 0xa086, + 0x0009, 0x1160, 0x6018, 0x2068, 0x6840, 0xa084, 0x00ff, 0xa005, + 0x0170, 0x8001, 0x6842, 0x6017, 0x000a, 0x0058, 0x2009, 0xba8f, + 0x2104, 0xa084, 0xff00, 0xa086, 0x1900, 0x1108, 0x08d0, 0x080c, + 0x8d99, 0x00ce, 0x00de, 0x0005, 0x0026, 0x2011, 0x0000, 0x080c, + 0x8f35, 0x00d6, 0x2069, 0xb69e, 0x2d04, 0xa005, 0x0168, 0x6018, + 0x2068, 0x68a0, 0xa086, 0x007e, 0x1138, 0x2069, 0xb41d, 0x2d04, + 0x8000, 0x206a, 0x00de, 0x0010, 0x00de, 0x0078, 0x2001, 0x0000, + 0x080c, 0x4eac, 0x2001, 0x0002, 0x080c, 0x4ebe, 0x6003, 0x0001, + 0x6007, 0x0002, 0x080c, 0x6c98, 0x0468, 0x00d6, 0x6010, 0x2068, + 0x080c, 0x9beb, 0x00de, 0x0108, 0x6a34, 0x080c, 0x8bbc, 0x2009, + 0xba8e, 0x2134, 0xa6b4, 0x00ff, 0xa686, 0x0005, 0x01e8, 0xa686, + 0x000b, 0x01b0, 0x2009, 0xba8f, 0x2104, 0xa084, 0xff00, 0x1118, + 0xa686, 0x0009, 0x0188, 0xa086, 0x1900, 0x1150, 0xa686, 0x0009, + 0x0158, 0x2001, 0x0004, 0x080c, 0x4ebe, 0x080c, 0x85c0, 0x0010, + 0x080c, 0x8d99, 0x002e, 0x0005, 0x00d6, 0xa286, 0x0139, 0x0160, + 0x6010, 0x2068, 0x080c, 0x9beb, 0x0148, 0x6834, 0xa086, 0x0139, + 0x0118, 0x6838, 0xd0fc, 0x0110, 0x00de, 0x0c50, 0x6018, 0x2068, + 0x6840, 0xa084, 0x00ff, 0xa005, 0x0140, 0x8001, 0x6842, 0x6017, + 0x000a, 0x6007, 0x0016, 0x00de, 0x08e8, 0x68a0, 0xa086, 0x007e, + 0x1138, 0x00e6, 0x2071, 0xb400, 0x080c, 0x4b80, 0x00ee, 0x0010, + 0x080c, 0x2c60, 0x00de, 0x0860, 0x080c, 0x8f35, 0x1158, 0x2001, + 0x0004, 0x080c, 0x4ebe, 0x6003, 0x0001, 0x6007, 0x0003, 0x080c, + 0x6c98, 0x0020, 0x080c, 0x8bbc, 0x080c, 0x8d99, 0x0005, 0x0469, + 0x1158, 0x2001, 0x0008, 0x080c, 0x4ebe, 0x6003, 0x0001, 0x6007, + 0x0005, 0x080c, 0x6c98, 0x0010, 0x080c, 0x8d99, 0x0005, 0x00e9, + 0x1158, 0x2001, 0x000a, 0x080c, 0x4ebe, 0x6003, 0x0001, 0x6007, + 0x0001, 0x080c, 0x6c98, 0x0010, 0x080c, 0x8d99, 0x0005, 0x2009, + 0xba8e, 0x2104, 0xa086, 0x0003, 0x1138, 0x2009, 0xba8f, 0x2104, + 0xa084, 0xff00, 0xa086, 0x2a00, 0x0005, 0xa085, 0x0001, 0x0005, + 0x00c6, 0x0016, 0xac88, 0x0006, 0x2164, 0x080c, 0x4f79, 0x001e, + 0x00ce, 0x0005, 0x00f6, 0x00e6, 0x00d6, 0x0036, 0x0016, 0x6018, + 0x2068, 0x2071, 0xb435, 0x2e04, 0xa085, 0x0003, 0x2072, 0x080c, + 0x8fc6, 0x0560, 0x2009, 0xb435, 0x2104, 0xc0cd, 0x200a, 0x2001, + 0xb453, 0x2004, 0xd0a4, 0x0158, 0xa006, 0x2020, 0x2009, 0x002a, + 0x080c, 0xb06b, 0x2001, 0xb40c, 0x200c, 0xc195, 0x2102, 0x2019, + 0x002a, 0x2009, 0x0001, 0x080c, 0x2c33, 0x2071, 0xb400, 0x080c, + 0x2a7e, 0x00c6, 0x0156, 0x20a9, 0x0081, 0x2009, 0x007f, 0x080c, + 0x2d5b, 0x8108, 0x1f04, 0x8f77, 0x015e, 0x00ce, 0x080c, 0x8f38, + 0x6813, 0x00ff, 0x6817, 0xfffe, 0x2071, 0xba80, 0x2079, 0x0100, + 0x2e04, 0xa084, 0x00ff, 0x2069, 0xb41c, 0x206a, 0x78e6, 0x0006, + 0x8e70, 0x2e04, 0x2069, 0xb41d, 0x206a, 0x78ea, 0x7832, 0x7836, + 0x2010, 0xa084, 0xff00, 0x001e, 0xa105, 0x2009, 0xb428, 0x200a, + 0x2200, 0xa084, 0x00ff, 0x2008, 0x080c, 0x280d, 0x080c, 0x5a90, + 0x0170, 0x2069, 0xba8e, 0x2071, 0xb6b2, 0x6810, 0x2072, 0x6814, + 0x7006, 0x6818, 0x700a, 0x681c, 0x700e, 0x080c, 0x9f63, 0x0040, + 0x2001, 0x0006, 0x080c, 0x4ebe, 0x080c, 0x2c86, 0x080c, 0x85c0, + 0x001e, 0x003e, 0x00de, 0x00ee, 0x00fe, 0x0005, 0x0026, 0x0036, + 0x00e6, 0x0156, 0x2019, 0xb428, 0x231c, 0x83ff, 0x01e8, 0x2071, + 0xba80, 0x2e14, 0xa294, 0x00ff, 0x7004, 0xa084, 0xff00, 0xa205, + 0xa306, 0x1190, 0x2011, 0xba96, 0xad98, 0x000a, 0x20a9, 0x0004, + 0x080c, 0x907a, 0x1148, 0x2011, 0xba9a, 0xad98, 0x0006, 0x20a9, + 0x0004, 0x080c, 0x907a, 0x1100, 0x015e, 0x00ee, 0x003e, 0x002e, + 0x0005, 0x00e6, 0x2071, 0xba8c, 0x7004, 0xa086, 0x0014, 0x11a8, + 0x7008, 0xa086, 0x0800, 0x1188, 0x700c, 0xd0ec, 0x0160, 0xa084, + 0x0f00, 0xa086, 0x0100, 0x1138, 0x7024, 0xd0a4, 0x1110, 0xd0ac, + 0x0110, 0xa006, 0x0010, 0xa085, 0x0001, 0x00ee, 0x0005, 0x00e6, + 0x00d6, 0x00c6, 0x0076, 0x0056, 0x0046, 0x0026, 0x0006, 0x0126, + 0x2091, 0x8000, 0x2029, 0xb6e9, 0x252c, 0x2021, 0xb6ef, 0x2424, + 0x2061, 0xbc00, 0x2071, 0xb400, 0x7248, 0x7068, 0xa202, 0x16f0, + 0x080c, 0xb093, 0x05a0, 0x671c, 0xa786, 0x0001, 0x0580, 0xa786, + 0x0007, 0x0568, 0x2500, 0xac06, 0x0550, 0x2400, 0xac06, 0x0538, + 0x00c6, 0x6000, 0xa086, 0x0004, 0x1110, 0x080c, 0x1944, 0xa786, + 0x0008, 0x1148, 0x080c, 0x9de9, 0x1130, 0x00ce, 0x080c, 0x8bbc, + 0x080c, 0x9dae, 0x00a0, 0x6010, 0x2068, 0x080c, 0x9beb, 0x0160, + 0xa786, 0x0003, 0x11e8, 0x6837, 0x0103, 0x6b4a, 0x6847, 0x0000, + 0x080c, 0x53c9, 0x080c, 0x9da2, 0x080c, 0x9dae, 0x00ce, 0xace0, + 0x0018, 0x705c, 0xac02, 0x1210, 0x0804, 0x9024, 0x012e, 0x000e, + 0x002e, 0x004e, 0x005e, 0x007e, 0x00ce, 0x00de, 0x00ee, 0x0005, + 0xa786, 0x0006, 0x1118, 0x080c, 0xb01c, 0x0c30, 0xa786, 0x000a, + 0x09e0, 0x08c8, 0x220c, 0x2304, 0xa106, 0x1130, 0x8210, 0x8318, + 0x1f04, 0x907a, 0xa006, 0x0005, 0x2304, 0xa102, 0x0218, 0x2001, + 0x0001, 0x0010, 0x2001, 0x0000, 0xa18d, 0x0001, 0x0005, 0x6004, + 0xa08a, 0x0080, 0x1a0c, 0x1511, 0x080c, 0x9dd8, 0x0120, 0x080c, + 0x9de9, 0x0168, 0x0028, 0x080c, 0x2c86, 0x080c, 0x9de9, 0x0138, + 0x080c, 0x7055, 0x080c, 0x85c0, 0x080c, 0x7134, 0x0005, 0x080c, + 0x8bbc, 0x0cb0, 0xa182, 0x0040, 0x0002, 0x90c0, 0x90c0, 0x90c0, + 0x90c0, 0x90c0, 0x90c0, 0x90c0, 0x90c0, 0x90c0, 0x90c0, 0x90c0, + 0x90c2, 0x90c2, 0x90c2, 0x90c2, 0x90c0, 0x90c0, 0x90c0, 0x90c2, + 0x080c, 0x1511, 0x600b, 0xffff, 0x6003, 0x0001, 0x6106, 0x080c, + 0x6c52, 0x0126, 0x2091, 0x8000, 0x080c, 0x7134, 0x012e, 0x0005, + 0xa186, 0x0013, 0x1128, 0x6004, 0xa082, 0x0040, 0x0804, 0x915c, + 0xa186, 0x0027, 0x11e8, 0x080c, 0x7055, 0x080c, 0x2c60, 0x00d6, + 0x6110, 0x2168, 0x080c, 0x9beb, 0x0168, 0x6837, 0x0103, 0x684b, + 0x0029, 0x6847, 0x0000, 0x694c, 0xc1c5, 0x694e, 0x080c, 0x53c9, + 0x080c, 0x9da2, 0x00de, 0x080c, 0x85c0, 0x080c, 0x7134, 0x0005, + 0xa186, 0x0014, 0x1120, 0x6004, 0xa082, 0x0040, 0x0428, 0xa186, + 0x0046, 0x0138, 0xa186, 0x0045, 0x0120, 0xa186, 0x0047, 0x190c, + 0x1511, 0x2001, 0x0109, 0x2004, 0xd084, 0x0198, 0x0126, 0x2091, + 0x2800, 0x0006, 0x0016, 0x0026, 0x080c, 0x6b39, 0x002e, 0x001e, + 0x000e, 0x012e, 0xe000, 0x6000, 0xa086, 0x0002, 0x1110, 0x0804, + 0x919a, 0x080c, 0x8606, 0x0005, 0x0002, 0x913a, 0x9138, 0x9138, + 0x9138, 0x9138, 0x9138, 0x9138, 0x9138, 0x9138, 0x9138, 0x9138, + 0x9155, 0x9155, 0x9155, 0x9155, 0x9138, 0x9155, 0x9138, 0x9155, + 0x080c, 0x1511, 0x080c, 0x7055, 0x00d6, 0x6110, 0x2168, 0x080c, + 0x9beb, 0x0168, 0x6837, 0x0103, 0x684b, 0x0006, 0x6847, 0x0000, + 0x6850, 0xc0ec, 0x6852, 0x080c, 0x53c9, 0x080c, 0x9da2, 0x00de, + 0x080c, 0x85c0, 0x080c, 0x7134, 0x0005, 0x080c, 0x7055, 0x080c, + 0x85c0, 0x080c, 0x7134, 0x0005, 0x0002, 0x9172, 0x9170, 0x9170, + 0x9170, 0x9170, 0x9170, 0x9170, 0x9170, 0x9170, 0x9170, 0x9170, + 0x9184, 0x9184, 0x9184, 0x9184, 0x9170, 0x9193, 0x9170, 0x9184, + 0x080c, 0x1511, 0x080c, 0x7055, 0x2001, 0xb6b8, 0x2004, 0x603e, + 0x6003, 0x0002, 0x080c, 0x7134, 0x6010, 0xa088, 0x0013, 0x2104, + 0xa085, 0x0400, 0x200a, 0x0005, 0x080c, 0x7055, 0x2001, 0xb6b6, + 0x2004, 0x6016, 0x2001, 0xb6b8, 0x2004, 0x603e, 0x6003, 0x000f, + 0x080c, 0x7134, 0x0005, 0x080c, 0x7055, 0x080c, 0x85c0, 0x080c, + 0x7134, 0x0005, 0xa182, 0x0040, 0x0002, 0x91b0, 0x91b0, 0x91b0, + 0x91b0, 0x91b0, 0x91b2, 0x9290, 0x92bf, 0x91b0, 0x91b0, 0x91b0, + 0x91b0, 0x91b0, 0x91b0, 0x91b0, 0x91b0, 0x91b0, 0x91b0, 0x91b0, + 0x080c, 0x1511, 0x00e6, 0x00d6, 0x603f, 0x0000, 0x2071, 0xba80, + 0x7124, 0x610a, 0x2071, 0xba8c, 0x6110, 0x2168, 0x7614, 0xa6b4, + 0x0fff, 0x86ff, 0x0904, 0x925a, 0xa68c, 0x0c00, 0x01e8, 0x00f6, + 0x2c78, 0x080c, 0x52c6, 0x00fe, 0x0198, 0x684c, 0xd0ac, 0x0180, + 0x6020, 0xd0dc, 0x1168, 0x6850, 0xd0bc, 0x1150, 0x7318, 0x6814, + 0xa306, 0x1904, 0x926c, 0x731c, 0x6810, 0xa306, 0x1904, 0x926c, + 0x7318, 0x6b62, 0x731c, 0x6b5e, 0xa68c, 0x00ff, 0xa186, 0x0002, + 0x0518, 0xa186, 0x0028, 0x1128, 0x080c, 0x9dc7, 0x684b, 0x001c, + 0x00e8, 0xd6dc, 0x01a0, 0x684b, 0x0015, 0x684c, 0xd0ac, 0x0170, + 0x6914, 0x6a10, 0x2100, 0xa205, 0x0148, 0x7018, 0xa106, 0x1118, + 0x701c, 0xa206, 0x0118, 0x6962, 0x6a5e, 0xc6dc, 0x0038, 0xd6d4, + 0x0118, 0x684b, 0x0007, 0x0010, 0x684b, 0x0000, 0x6837, 0x0103, + 0x6e46, 0xa01e, 0xd6c4, 0x01f0, 0xa686, 0x0100, 0x1140, 0x2001, + 0xba99, 0x2004, 0xa005, 0x1118, 0xc6c4, 0x0804, 0x91c1, 0x7328, + 0x732c, 0x6b56, 0x83ff, 0x0170, 0xa38a, 0x0009, 0x0210, 0x2019, + 0x0008, 0x0036, 0x2308, 0x2019, 0xba98, 0xad90, 0x0019, 0x080c, + 0x98a6, 0x003e, 0xd6cc, 0x0904, 0x927f, 0x7124, 0x695a, 0x81ff, + 0x0904, 0x927f, 0xa192, 0x0021, 0x1260, 0x2071, 0xba98, 0x831c, + 0x2300, 0xae18, 0xad90, 0x001d, 0x080c, 0x98a6, 0x080c, 0xa0c8, + 0x04b0, 0x6838, 0xd0fc, 0x0120, 0x2009, 0x0020, 0x695a, 0x0c68, + 0x00f6, 0x2d78, 0x080c, 0x984b, 0x00fe, 0x080c, 0xa0c8, 0x080c, + 0x9896, 0x0438, 0x00f6, 0x2c78, 0x080c, 0x52c6, 0x00fe, 0x0188, + 0x684c, 0xd0ac, 0x0170, 0x6020, 0xd0dc, 0x1158, 0x6850, 0xd0bc, + 0x1140, 0x684c, 0xd0f4, 0x1128, 0x080c, 0x9ec6, 0x00de, 0x00ee, + 0x00f0, 0x684b, 0x0000, 0x6837, 0x0103, 0x6e46, 0x684c, 0xd0ac, + 0x0130, 0x6810, 0x6914, 0xa115, 0x0110, 0x080c, 0x941c, 0x080c, + 0x53c9, 0x6218, 0x2268, 0x6a3c, 0x82ff, 0x0110, 0x8211, 0x6a3e, + 0x080c, 0x9e94, 0x00de, 0x00ee, 0x1110, 0x080c, 0x85c0, 0x0005, + 0x00f6, 0x6003, 0x0003, 0x2079, 0xba8c, 0x7c04, 0x7b00, 0x7e0c, + 0x7d08, 0x6010, 0x2078, 0x784c, 0xd0ac, 0x0138, 0x6003, 0x0002, + 0x00fe, 0x0005, 0x2130, 0x2228, 0x0058, 0x2400, 0x797c, 0xa10a, + 0x2300, 0x7a80, 0xa213, 0x2600, 0xa102, 0x2500, 0xa203, 0x0e90, + 0x7c12, 0x7b16, 0x7e0a, 0x7d0e, 0x00fe, 0x603f, 0x0000, 0x2c10, + 0x080c, 0x1f7a, 0x080c, 0x6cb5, 0x080c, 0x71f1, 0x0005, 0x2001, + 0xb6b8, 0x2004, 0x603e, 0x6003, 0x0004, 0x6110, 0x20e1, 0x0005, + 0x3d18, 0x3e20, 0x2c10, 0x080c, 0x1856, 0x0005, 0xa182, 0x0040, + 0x0002, 0x92e4, 0x92e4, 0x92e4, 0x92e4, 0x92e4, 0x92e6, 0x9379, + 0x92e4, 0x92e4, 0x938f, 0x93f3, 0x92e4, 0x92e4, 0x92e4, 0x92e4, + 0x9402, 0x92e4, 0x92e4, 0x92e4, 0x080c, 0x1511, 0x0076, 0x00f6, + 0x00e6, 0x00d6, 0x2071, 0xba8c, 0x6110, 0x2178, 0x7614, 0xa6b4, + 0x0fff, 0x7e46, 0x7f4c, 0xc7e5, 0x7f4e, 0x6218, 0x2268, 0x6a3c, + 0x82ff, 0x0110, 0x8211, 0x6a3e, 0x86ff, 0x0904, 0x9374, 0xa694, + 0xff00, 0xa284, 0x0c00, 0x0120, 0x7018, 0x7862, 0x701c, 0x785e, + 0xa284, 0x0300, 0x0904, 0x9374, 0x080c, 0x15f4, 0x090c, 0x1511, + 0x2d00, 0x784a, 0x7f4c, 0xc7cd, 0x7f4e, 0x6837, 0x0103, 0x7838, + 0x683a, 0x783c, 0x683e, 0x7840, 0x6842, 0x6e46, 0xa68c, 0x0c00, + 0x0120, 0x7318, 0x6b62, 0x731c, 0x6b5e, 0xa68c, 0x00ff, 0xa186, + 0x0002, 0x0180, 0xa186, 0x0028, 0x1118, 0x684b, 0x001c, 0x0060, + 0xd6dc, 0x0118, 0x684b, 0x0015, 0x0038, 0xd6d4, 0x0118, 0x684b, + 0x0007, 0x0010, 0x684b, 0x0000, 0x6f4e, 0x7850, 0x6852, 0x7854, + 0x6856, 0xa01e, 0xd6c4, 0x0198, 0x7328, 0x732c, 0x6b56, 0x83ff, + 0x0170, 0xa38a, 0x0009, 0x0210, 0x2019, 0x0008, 0x0036, 0x2308, + 0x2019, 0xba98, 0xad90, 0x0019, 0x080c, 0x98a6, 0x003e, 0xd6cc, + 0x01d8, 0x7124, 0x695a, 0x81ff, 0x01b8, 0xa192, 0x0021, 0x1250, + 0x2071, 0xba98, 0x831c, 0x2300, 0xae18, 0xad90, 0x001d, 0x080c, + 0x98a6, 0x0050, 0x7838, 0xd0fc, 0x0120, 0x2009, 0x0020, 0x695a, + 0x0c78, 0x2d78, 0x080c, 0x984b, 0x00de, 0x00ee, 0x00fe, 0x007e, + 0x0005, 0x00f6, 0x6003, 0x0003, 0x2079, 0xba8c, 0x7c04, 0x7b00, + 0x7e0c, 0x7d08, 0x6010, 0x2078, 0x7c12, 0x7b16, 0x7e0a, 0x7d0e, + 0x00fe, 0x2c10, 0x080c, 0x1f7a, 0x080c, 0x7d0a, 0x0005, 0x00d6, + 0x00f6, 0x2c78, 0x080c, 0x52c6, 0x00fe, 0x0120, 0x2001, 0xb6b8, + 0x2004, 0x603e, 0x6003, 0x0002, 0x080c, 0x70e7, 0x080c, 0x71f1, + 0x6110, 0x2168, 0x694c, 0xd1e4, 0x0904, 0x93f1, 0xd1cc, 0x0540, + 0x6948, 0x6838, 0xd0fc, 0x01e8, 0x0016, 0x684c, 0x0006, 0x6850, + 0x0006, 0xad90, 0x000d, 0xa198, 0x000d, 0x2009, 0x0020, 0x0156, + 0x21a8, 0x2304, 0x2012, 0x8318, 0x8210, 0x1f04, 0x93b9, 0x015e, + 0x000e, 0x6852, 0x000e, 0x684e, 0x001e, 0x2168, 0x080c, 0x161b, + 0x0418, 0x0016, 0x080c, 0x161b, 0x00de, 0x080c, 0x9896, 0x00e0, + 0x6837, 0x0103, 0x6944, 0xa184, 0x00ff, 0xa0b6, 0x0002, 0x0180, + 0xa086, 0x0028, 0x1118, 0x684b, 0x001c, 0x0060, 0xd1dc, 0x0118, + 0x684b, 0x0015, 0x0038, 0xd1d4, 0x0118, 0x684b, 0x0007, 0x0010, + 0x684b, 0x0000, 0x080c, 0x53c9, 0x080c, 0x9e94, 0x1110, 0x080c, + 0x85c0, 0x00de, 0x0005, 0x2019, 0x0001, 0x080c, 0x7f8e, 0x6003, + 0x0002, 0x2001, 0xb6b8, 0x2004, 0x603e, 0x080c, 0x70e7, 0x080c, + 0x71f1, 0x0005, 0x080c, 0x70e7, 0x080c, 0x2c60, 0x00d6, 0x6110, + 0x2168, 0x080c, 0x9beb, 0x0150, 0x6837, 0x0103, 0x684b, 0x0029, + 0x6847, 0x0000, 0x080c, 0x53c9, 0x080c, 0x9da2, 0x00de, 0x080c, + 0x85c0, 0x080c, 0x71f1, 0x0005, 0x684b, 0x0015, 0xd1fc, 0x0138, + 0x684b, 0x0007, 0x8002, 0x8000, 0x810a, 0xa189, 0x0000, 0x6962, + 0x685e, 0x0005, 0xa182, 0x0040, 0x0002, 0x9440, 0x9440, 0x9440, + 0x9440, 0x9440, 0x9442, 0x9440, 0x94fd, 0x9509, 0x9440, 0x9440, + 0x9440, 0x9440, 0x9440, 0x9440, 0x9440, 0x9440, 0x9440, 0x9440, + 0x080c, 0x1511, 0x0076, 0x00f6, 0x00e6, 0x00d6, 0x2071, 0xba8c, + 0x6110, 0x2178, 0x7614, 0xa6b4, 0x0fff, 0x00f6, 0x2c78, 0x080c, + 0x52c6, 0x00fe, 0x0150, 0xa684, 0x00ff, 0x1138, 0x6020, 0xd0f4, + 0x0120, 0x080c, 0x9ec6, 0x0804, 0x94f8, 0x7e46, 0x7f4c, 0xc7e5, + 0x7f4e, 0x6218, 0x2268, 0x6a3c, 0x82ff, 0x0110, 0x8211, 0x6a3e, + 0x86ff, 0x0904, 0x94ee, 0xa694, 0xff00, 0xa284, 0x0c00, 0x0120, + 0x7018, 0x7862, 0x701c, 0x785e, 0xa284, 0x0300, 0x0904, 0x94ec, + 0xa686, 0x0100, 0x1140, 0x2001, 0xba99, 0x2004, 0xa005, 0x1118, + 0xc6c4, 0x7e46, 0x0c28, 0x080c, 0x15f4, 0x090c, 0x1511, 0x2d00, + 0x784a, 0x7f4c, 0xa7bd, 0x0200, 0x7f4e, 0x6837, 0x0103, 0x7838, + 0x683a, 0x783c, 0x683e, 0x7840, 0x6842, 0x6e46, 0xa68c, 0x0c00, + 0x0120, 0x7318, 0x6b62, 0x731c, 0x6b5e, 0xa68c, 0x00ff, 0xa186, + 0x0002, 0x0180, 0xa186, 0x0028, 0x1118, 0x684b, 0x001c, 0x0060, + 0xd6dc, 0x0118, 0x684b, 0x0015, 0x0038, 0xd6d4, 0x0118, 0x684b, + 0x0007, 0x0010, 0x684b, 0x0000, 0x6f4e, 0x7850, 0x6852, 0x7854, + 0x6856, 0xa01e, 0xd6c4, 0x0198, 0x7328, 0x732c, 0x6b56, 0x83ff, + 0x0170, 0xa38a, 0x0009, 0x0210, 0x2019, 0x0008, 0x0036, 0x2308, + 0x2019, 0xba98, 0xad90, 0x0019, 0x080c, 0x98a6, 0x003e, 0xd6cc, + 0x01d8, 0x7124, 0x695a, 0x81ff, 0x01b8, 0xa192, 0x0021, 0x1250, + 0x2071, 0xba98, 0x831c, 0x2300, 0xae18, 0xad90, 0x001d, 0x080c, + 0x98a6, 0x0050, 0x7838, 0xd0fc, 0x0120, 0x2009, 0x0020, 0x695a, + 0x0c78, 0x2d78, 0x080c, 0x984b, 0xd6dc, 0x1110, 0xa006, 0x0030, + 0x2001, 0x0001, 0x2071, 0xba8c, 0x7218, 0x731c, 0x080c, 0x18a9, + 0x00de, 0x00ee, 0x00fe, 0x007e, 0x0005, 0x2001, 0xb6b8, 0x2004, + 0x603e, 0x20e1, 0x0005, 0x3d18, 0x3e20, 0x2c10, 0x080c, 0x1856, + 0x0005, 0x2001, 0xb6b8, 0x2004, 0x603e, 0x00d6, 0x6003, 0x0002, + 0x6110, 0x2168, 0x694c, 0xd1e4, 0x0904, 0x9614, 0x603f, 0x0000, + 0x00f6, 0x2c78, 0x080c, 0x52c6, 0x00fe, 0x0560, 0x6814, 0x6910, + 0xa115, 0x0540, 0x6a60, 0xa206, 0x1118, 0x685c, 0xa106, 0x0510, + 0x684c, 0xc0e4, 0x684e, 0x6847, 0x0000, 0x6863, 0x0000, 0x685f, + 0x0000, 0x6020, 0xd0f4, 0x1158, 0x697c, 0x6810, 0xa102, 0x603a, + 0x6980, 0x6814, 0xa103, 0x6036, 0x6020, 0xc0f5, 0x6022, 0x00d6, + 0x6018, 0x2068, 0x683c, 0x8000, 0x683e, 0x00de, 0x080c, 0x9ec6, + 0x0804, 0x9614, 0x694c, 0xd1cc, 0x0904, 0x95e4, 0x6948, 0x6838, + 0xd0fc, 0x0904, 0x95a7, 0x0016, 0x684c, 0x0006, 0x6850, 0x0006, + 0x00f6, 0x2178, 0x7944, 0xa184, 0x00ff, 0xa0b6, 0x0002, 0x01e0, + 0xa086, 0x0028, 0x1128, 0x684b, 0x001c, 0x784b, 0x001c, 0x00e8, + 0xd1dc, 0x0158, 0x684b, 0x0015, 0x784b, 0x0015, 0x080c, 0xa050, + 0x0118, 0x7944, 0xc1dc, 0x7946, 0x0080, 0xd1d4, 0x0128, 0x684b, + 0x0007, 0x784b, 0x0007, 0x0048, 0x684c, 0xd0ac, 0x0130, 0x6810, + 0x6914, 0xa115, 0x0110, 0x080c, 0x941c, 0x6848, 0x784a, 0x6860, + 0x7862, 0x685c, 0x785e, 0xad90, 0x000d, 0xaf98, 0x000d, 0x2009, + 0x0020, 0x0156, 0x21a8, 0x2304, 0x2012, 0x8318, 0x8210, 0x1f04, + 0x9593, 0x015e, 0x00fe, 0x000e, 0x6852, 0x000e, 0x684e, 0x080c, + 0xa0c8, 0x001e, 0x2168, 0x080c, 0x161b, 0x0804, 0x960f, 0x0016, + 0x00f6, 0x2178, 0x7944, 0xa184, 0x00ff, 0xa0b6, 0x0002, 0x01e0, + 0xa086, 0x0028, 0x1128, 0x684b, 0x001c, 0x784b, 0x001c, 0x00e8, + 0xd1dc, 0x0158, 0x684b, 0x0015, 0x784b, 0x0015, 0x080c, 0xa050, + 0x0118, 0x7944, 0xc1dc, 0x7946, 0x0080, 0xd1d4, 0x0128, 0x684b, + 0x0007, 0x784b, 0x0007, 0x0048, 0x684c, 0xd0ac, 0x0130, 0x6810, + 0x6914, 0xa115, 0x0110, 0x080c, 0x941c, 0x6860, 0x7862, 0x685c, + 0x785e, 0x684c, 0x784e, 0x00fe, 0x080c, 0x161b, 0x00de, 0x080c, + 0xa0c8, 0x080c, 0x9896, 0x0458, 0x6837, 0x0103, 0x6944, 0xa184, + 0x00ff, 0xa0b6, 0x0002, 0x01b0, 0xa086, 0x0028, 0x1118, 0x684b, + 0x001c, 0x00d8, 0xd1dc, 0x0148, 0x684b, 0x0015, 0x080c, 0xa050, + 0x0118, 0x6944, 0xc1dc, 0x6946, 0x0080, 0xd1d4, 0x0118, 0x684b, + 0x0007, 0x0058, 0x684b, 0x0000, 0x684c, 0xd0ac, 0x0130, 0x6810, + 0x6914, 0xa115, 0x0110, 0x080c, 0x941c, 0x080c, 0x53c9, 0x080c, + 0x9e94, 0x1110, 0x080c, 0x85c0, 0x00de, 0x0005, 0x080c, 0x7055, + 0x0010, 0x080c, 0x70e7, 0x080c, 0x9beb, 0x01c0, 0x00d6, 0x6110, + 0x2168, 0x6837, 0x0103, 0x2009, 0xb40c, 0x210c, 0xd18c, 0x11c0, + 0xd184, 0x1198, 0x6108, 0x694a, 0xa18e, 0x0029, 0x1110, 0x080c, + 0xb303, 0x6847, 0x0000, 0x080c, 0x53c9, 0x00de, 0x080c, 0x85c0, + 0x080c, 0x7134, 0x080c, 0x71f1, 0x0005, 0x684b, 0x0004, 0x0c88, + 0x684b, 0x0004, 0x0c70, 0xa182, 0x0040, 0x0002, 0x9659, 0x9659, + 0x9659, 0x9659, 0x9659, 0x965b, 0x9659, 0x965e, 0x9659, 0x9659, + 0x9659, 0x9659, 0x9659, 0x9659, 0x9659, 0x9659, 0x9659, 0x9659, + 0x9659, 0x080c, 0x1511, 0x080c, 0x85c0, 0x0005, 0x0006, 0x0026, + 0xa016, 0x080c, 0x1856, 0x002e, 0x000e, 0x0005, 0xa182, 0x0085, + 0x0002, 0x9672, 0x9670, 0x9670, 0x967e, 0x9670, 0x9670, 0x9670, + 0x080c, 0x1511, 0x6003, 0x0001, 0x6106, 0x080c, 0x6c52, 0x0126, + 0x2091, 0x8000, 0x080c, 0x7134, 0x012e, 0x0005, 0x0026, 0x0056, + 0x00d6, 0x00e6, 0x2071, 0xba80, 0x7224, 0x6212, 0x7220, 0x080c, + 0x9bdb, 0x01a0, 0x2268, 0x6800, 0xa086, 0x0000, 0x0178, 0x6018, + 0x6d18, 0xa52e, 0x1158, 0x00c6, 0x2d60, 0x080c, 0x98b6, 0x00ce, + 0x0128, 0x6803, 0x0002, 0x6007, 0x0086, 0x0010, 0x6007, 0x0087, + 0x6003, 0x0001, 0x080c, 0x6c52, 0x080c, 0x7134, 0x00f6, 0x2278, + 0x080c, 0x52c6, 0x00fe, 0x0150, 0x6820, 0xd0ec, 0x0138, 0x00c6, + 0x2260, 0x603f, 0x0000, 0x080c, 0x9ec6, 0x00ce, 0x00ee, 0x00de, + 0x005e, 0x002e, 0x0005, 0xa186, 0x0013, 0x1160, 0x6004, 0xa08a, + 0x0085, 0x0a0c, 0x1511, 0xa08a, 0x008c, 0x1a0c, 0x1511, 0xa082, + 0x0085, 0x0072, 0xa186, 0x0027, 0x0120, 0xa186, 0x0014, 0x190c, + 0x1511, 0x080c, 0x7055, 0x080c, 0x9dae, 0x080c, 0x7134, 0x0005, + 0x96df, 0x96e1, 0x96e1, 0x96df, 0x96df, 0x96df, 0x96df, 0x080c, + 0x1511, 0x080c, 0x7055, 0x080c, 0x9dae, 0x080c, 0x7134, 0x0005, + 0xa186, 0x0013, 0x1128, 0x6004, 0xa082, 0x0085, 0x2008, 0x04a8, + 0xa186, 0x0027, 0x11e8, 0x080c, 0x7055, 0x080c, 0x2c60, 0x00d6, + 0x6010, 0x2068, 0x080c, 0x9beb, 0x0150, 0x6837, 0x0103, 0x6847, + 0x0000, 0x684b, 0x0029, 0x080c, 0x53c9, 0x080c, 0x9da2, 0x00de, + 0x080c, 0x85c0, 0x080c, 0x7134, 0x0005, 0x080c, 0x8606, 0x0ce0, + 0xa186, 0x0014, 0x1dd0, 0x080c, 0x7055, 0x00d6, 0x6010, 0x2068, + 0x080c, 0x9beb, 0x0d60, 0x6837, 0x0103, 0x6847, 0x0000, 0x684b, + 0x0006, 0x6850, 0xc0ec, 0x6852, 0x08f0, 0x0002, 0x972f, 0x972d, + 0x972d, 0x972d, 0x972d, 0x972d, 0x9747, 0x080c, 0x1511, 0x080c, + 0x7055, 0x6030, 0xa08c, 0xff00, 0x810f, 0xa186, 0x0039, 0x0118, + 0xa186, 0x0035, 0x1118, 0x2001, 0xb6b6, 0x0010, 0x2001, 0xb6b7, + 0x2004, 0x6016, 0x6003, 0x000c, 0x080c, 0x7134, 0x0005, 0x080c, + 0x7055, 0x6030, 0xa08c, 0xff00, 0x810f, 0xa186, 0x0039, 0x0118, + 0xa186, 0x0035, 0x1118, 0x2001, 0xb6b6, 0x0010, 0x2001, 0xb6b7, + 0x2004, 0x6016, 0x6003, 0x000e, 0x080c, 0x7134, 0x0005, 0xa182, + 0x008c, 0x1220, 0xa182, 0x0085, 0x0208, 0x001a, 0x080c, 0x8606, + 0x0005, 0x9770, 0x9770, 0x9770, 0x9770, 0x9772, 0x97cb, 0x9770, + 0x080c, 0x1511, 0x00d6, 0x00f6, 0x2c78, 0x080c, 0x52c6, 0x00fe, + 0x0168, 0x6030, 0xa08c, 0xff00, 0x810f, 0xa186, 0x0039, 0x0118, + 0xa186, 0x0035, 0x1118, 0x00de, 0x0804, 0x97de, 0x080c, 0x9beb, + 0x1118, 0x080c, 0x9da2, 0x00f0, 0x6010, 0x2068, 0x684c, 0xd0e4, + 0x1110, 0x080c, 0x9da2, 0x6837, 0x0103, 0x6850, 0xd0b4, 0x0128, + 0x684b, 0x0006, 0xc0ec, 0x6852, 0x0048, 0xd0bc, 0x0118, 0x684b, + 0x0002, 0x0020, 0x684b, 0x0005, 0x080c, 0x9e63, 0x6847, 0x0000, + 0x080c, 0x53c9, 0x2c68, 0x080c, 0x856a, 0x01c0, 0x6003, 0x0001, + 0x6007, 0x001e, 0x600b, 0xffff, 0x2009, 0xba8e, 0x210c, 0x6136, + 0x2009, 0xba8f, 0x210c, 0x613a, 0x6918, 0x611a, 0x080c, 0x9fb8, + 0x6950, 0x6152, 0x601f, 0x0001, 0x080c, 0x6c52, 0x2d60, 0x080c, + 0x85c0, 0x00de, 0x0005, 0x00f6, 0x2c78, 0x080c, 0x52c6, 0x00fe, + 0x0598, 0x6030, 0xa08c, 0xff00, 0x810f, 0xa186, 0x0035, 0x0130, + 0xa186, 0x001e, 0x0118, 0xa186, 0x0039, 0x1530, 0x00d6, 0x2c68, + 0x080c, 0xa09b, 0x1904, 0x9823, 0x080c, 0x856a, 0x01d8, 0x6106, + 0x6003, 0x0001, 0x601f, 0x0001, 0x6918, 0x611a, 0x6928, 0x612a, + 0x692c, 0x612e, 0x6930, 0xa18c, 0x00ff, 0x6132, 0x6934, 0x6136, + 0x6938, 0x613a, 0x6950, 0x6152, 0x080c, 0x9fb8, 0x080c, 0x6c52, + 0x080c, 0x7134, 0x2d60, 0x00f8, 0x00d6, 0x6010, 0x2068, 0x080c, + 0x9beb, 0x01c8, 0x6837, 0x0103, 0x6850, 0xd0b4, 0x0128, 0xc0ec, + 0x6852, 0x684b, 0x0006, 0x0048, 0xd0bc, 0x0118, 0x684b, 0x0002, + 0x0020, 0x684b, 0x0005, 0x080c, 0x9e63, 0x6847, 0x0000, 0x080c, + 0x53c9, 0x080c, 0x9da2, 0x00de, 0x080c, 0x85c0, 0x0005, 0x0016, + 0x00d6, 0x6010, 0x2068, 0x080c, 0x9beb, 0x0140, 0x6837, 0x0103, + 0x684b, 0x0028, 0x6847, 0x0000, 0x080c, 0x53c9, 0x00de, 0x001e, + 0xa186, 0x0013, 0x0148, 0xa186, 0x0014, 0x0130, 0xa186, 0x0027, + 0x0118, 0x080c, 0x8606, 0x0030, 0x080c, 0x7055, 0x080c, 0x9dae, + 0x080c, 0x7134, 0x0005, 0x0056, 0x0066, 0x00d6, 0x00f6, 0x2029, + 0x0001, 0xa182, 0x0101, 0x1208, 0x0010, 0x2009, 0x0100, 0x2130, + 0x2069, 0xba98, 0x831c, 0x2300, 0xad18, 0x2009, 0x0020, 0xaf90, + 0x001d, 0x080c, 0x98a6, 0xa6b2, 0x0020, 0x7804, 0xa06d, 0x0110, + 0x080c, 0x161b, 0x080c, 0x15f4, 0x0500, 0x8528, 0x6837, 0x0110, + 0x683b, 0x0000, 0x2d20, 0x7c06, 0xa68a, 0x003d, 0x1228, 0x2608, + 0xad90, 0x000f, 0x0459, 0x0088, 0xa6b2, 0x003c, 0x2009, 0x003c, + 0x2d78, 0xad90, 0x000f, 0x0411, 0x0c28, 0x00fe, 0x852f, 0xa5ad, + 0x0003, 0x7d36, 0xa5ac, 0x0000, 0x0028, 0x00fe, 0x852f, 0xa5ad, + 0x0003, 0x7d36, 0x00de, 0x006e, 0x005e, 0x0005, 0x00f6, 0x8dff, + 0x0158, 0x6804, 0xa07d, 0x0130, 0x6807, 0x0000, 0x080c, 0x53c9, + 0x2f68, 0x0cb8, 0x080c, 0x53c9, 0x00fe, 0x0005, 0x0156, 0xa184, + 0x0001, 0x0108, 0x8108, 0x810c, 0x21a8, 0x2304, 0x8007, 0x2012, + 0x8318, 0x8210, 0x1f04, 0x98ad, 0x015e, 0x0005, 0x0066, 0x0126, + 0x2091, 0x8000, 0x2031, 0x0001, 0x601c, 0xa084, 0x000f, 0x0083, + 0x012e, 0x006e, 0x0005, 0x0126, 0x2091, 0x8000, 0x0066, 0x2031, + 0x0000, 0x601c, 0xa084, 0x000f, 0x001b, 0x006e, 0x012e, 0x0005, + 0x98ed, 0x98ed, 0x98e8, 0x990f, 0x98db, 0x98e8, 0x990f, 0x98e8, + 0x98e8, 0x98db, 0x98e8, 0x080c, 0x1511, 0x0036, 0x2019, 0x0010, + 0x080c, 0xac63, 0x601f, 0x0006, 0x6003, 0x0007, 0x003e, 0x0005, + 0xa006, 0x0005, 0xa085, 0x0001, 0x0005, 0x00d6, 0x86ff, 0x11d8, + 0x6010, 0x2068, 0x080c, 0x9beb, 0x01c0, 0x6834, 0xa086, 0x0139, + 0x1128, 0x684b, 0x0005, 0x6853, 0x0000, 0x0028, 0xa00e, 0x2001, + 0x0005, 0x080c, 0x549c, 0x080c, 0x9e63, 0x080c, 0x53c9, 0x080c, + 0x85c0, 0xa085, 0x0001, 0x00de, 0x0005, 0xa006, 0x0ce0, 0x6000, + 0xa08a, 0x0010, 0x1a0c, 0x1511, 0x000b, 0x0005, 0x9926, 0x9947, + 0x9928, 0x9966, 0x9944, 0x9926, 0x98e8, 0x98ed, 0x98ed, 0x98e8, + 0x98e8, 0x98e8, 0x98e8, 0x98e8, 0x98e8, 0x98e8, 0x080c, 0x1511, + 0x86ff, 0x11b8, 0x601c, 0xa086, 0x0006, 0x0198, 0x00d6, 0x6010, + 0x2068, 0x080c, 0x9beb, 0x0110, 0x080c, 0x9e63, 0x00de, 0x6007, + 0x0085, 0x6003, 0x000b, 0x601f, 0x0002, 0x080c, 0x6c52, 0x080c, + 0x7134, 0xa085, 0x0001, 0x0005, 0x080c, 0x1944, 0x0c08, 0x00e6, + 0x2071, 0xb6e0, 0x7024, 0xac06, 0x1110, 0x080c, 0x7f03, 0x601c, + 0xa084, 0x000f, 0xa086, 0x0006, 0x1150, 0x0086, 0x0096, 0x2049, + 0x0001, 0x2c40, 0x080c, 0x80da, 0x009e, 0x008e, 0x0010, 0x080c, + 0x7e02, 0x00ee, 0x1928, 0x080c, 0x98e8, 0x0005, 0x0036, 0x00e6, + 0x2071, 0xb6e0, 0x703c, 0xac06, 0x1140, 0x2019, 0x0000, 0x080c, + 0x7f8e, 0x00ee, 0x003e, 0x0804, 0x9928, 0x080c, 0x8200, 0x00ee, + 0x003e, 0x1904, 0x9928, 0x080c, 0x98e8, 0x0005, 0x00c6, 0x601c, + 0xa084, 0x000f, 0x0013, 0x00ce, 0x0005, 0x9997, 0x9a04, 0x9b4a, + 0x99a2, 0x9dae, 0x9997, 0xac55, 0x85c0, 0x9a04, 0x9990, 0x9bb5, + 0x080c, 0x1511, 0x080c, 0x9de9, 0x1110, 0x080c, 0x8bbc, 0x0005, + 0x080c, 0x7055, 0x080c, 0x7134, 0x080c, 0x85c0, 0x0005, 0x6017, + 0x0001, 0x0005, 0x080c, 0x9beb, 0x0120, 0x6010, 0xa080, 0x0019, + 0x2c02, 0x6000, 0xa08a, 0x0010, 0x1a0c, 0x1511, 0x000b, 0x0005, + 0x99c0, 0x99c2, 0x99e2, 0x99f4, 0x9a01, 0x99c0, 0x9997, 0x9997, + 0x9997, 0x99f4, 0x99f4, 0x99c0, 0x99c0, 0x99c0, 0x99c0, 0x99fe, + 0x080c, 0x1511, 0x00e6, 0x6010, 0x2070, 0x7050, 0xc0b5, 0x7052, + 0x2071, 0xb6e0, 0x7024, 0xac06, 0x0190, 0x080c, 0x7e02, 0x6007, + 0x0085, 0x6003, 0x000b, 0x601f, 0x0002, 0x2001, 0xb6b7, 0x2004, + 0x6016, 0x080c, 0x6c52, 0x080c, 0x7134, 0x00ee, 0x0005, 0x6017, + 0x0001, 0x0cd8, 0x00d6, 0x6010, 0x2068, 0x6850, 0xc0b5, 0x6852, + 0x00de, 0x6007, 0x0085, 0x6003, 0x000b, 0x601f, 0x0002, 0x080c, + 0x6c52, 0x080c, 0x7134, 0x0005, 0x00d6, 0x6017, 0x0001, 0x6010, + 0x2068, 0x6850, 0xc0b5, 0x6852, 0x00de, 0x0005, 0x080c, 0x85c0, + 0x0005, 0x080c, 0x1944, 0x08f0, 0x6000, 0xa08a, 0x0010, 0x1a0c, + 0x1511, 0x000b, 0x0005, 0x9a1b, 0x999f, 0x9a1d, 0x9a1b, 0x9a1d, + 0x9a1d, 0x9998, 0x9a1b, 0x9992, 0x9992, 0x9a1b, 0x9a1b, 0x9a1b, + 0x9a1b, 0x9a1b, 0x9a1b, 0x080c, 0x1511, 0x00d6, 0x6018, 0x2068, + 0x6804, 0xa084, 0x00ff, 0x00de, 0xa08a, 0x000c, 0x1a0c, 0x1511, + 0x000b, 0x0005, 0x9a36, 0x9af0, 0x9a38, 0x9a72, 0x9a38, 0x9a72, + 0x9a38, 0x9a42, 0x9a36, 0x9a72, 0x9a36, 0x9a5e, 0x080c, 0x1511, + 0x6004, 0xa08e, 0x0016, 0x0588, 0xa08e, 0x0004, 0x0570, 0xa08e, + 0x0002, 0x0558, 0x6004, 0x080c, 0x9de9, 0x0904, 0x9b09, 0xa08e, + 0x0021, 0x0904, 0x9b0d, 0xa08e, 0x0022, 0x0904, 0x9b09, 0xa08e, + 0x003d, 0x0904, 0x9b0d, 0xa08e, 0x0039, 0x0904, 0x9b11, 0xa08e, + 0x0035, 0x0904, 0x9b11, 0xa08e, 0x001e, 0x0188, 0xa08e, 0x0001, + 0x1150, 0x00d6, 0x6018, 0x2068, 0x6804, 0xa084, 0x00ff, 0x00de, + 0xa086, 0x0006, 0x0110, 0x080c, 0x2c60, 0x080c, 0x8bbc, 0x080c, + 0x9dae, 0x0005, 0x00c6, 0x00d6, 0x6104, 0xa186, 0x0016, 0x0904, + 0x9ae1, 0xa186, 0x0002, 0x15d8, 0x2001, 0xb435, 0x2004, 0xd08c, + 0x1198, 0x080c, 0x5a90, 0x1180, 0x2001, 0xb69f, 0x2003, 0x0001, + 0x2001, 0xb400, 0x2003, 0x0001, 0xa085, 0x0001, 0x080c, 0x5ad4, + 0x080c, 0x59c8, 0x0804, 0x9b33, 0x6018, 0x2068, 0x2001, 0xb435, + 0x2004, 0xd0ac, 0x1904, 0x9b33, 0x68a0, 0xd0bc, 0x1904, 0x9b33, + 0x6840, 0xa084, 0x00ff, 0xa005, 0x0190, 0x8001, 0x6842, 0x6013, + 0x0000, 0x601f, 0x0007, 0x6017, 0x0398, 0x603f, 0x0000, 0x080c, + 0x856a, 0x0128, 0x2d00, 0x601a, 0x601f, 0x0001, 0x0450, 0x00de, + 0x00ce, 0x6004, 0xa08e, 0x0002, 0x11a8, 0x6018, 0xa080, 0x0028, + 0x2004, 0xa086, 0x007e, 0x1170, 0x2009, 0xb435, 0x2104, 0xc085, + 0x200a, 0x00e6, 0x2071, 0xb400, 0x080c, 0x4b80, 0x00ee, 0x080c, + 0x8bbc, 0x0020, 0x080c, 0x8bbc, 0x080c, 0x2c60, 0x00e6, 0x0126, + 0x2091, 0x8000, 0x080c, 0x2c86, 0x012e, 0x00ee, 0x080c, 0x9dae, + 0x0005, 0x2001, 0x0002, 0x080c, 0x4ebe, 0x6003, 0x0001, 0x6007, + 0x0002, 0x080c, 0x6c98, 0x080c, 0x7134, 0x00de, 0x00ce, 0x0c80, + 0x00c6, 0x00d6, 0x6104, 0xa186, 0x0016, 0x0d58, 0x6018, 0x2068, + 0x6840, 0xa084, 0x00ff, 0xa005, 0x0904, 0x9ab7, 0x8001, 0x6842, + 0x6003, 0x0001, 0x080c, 0x6c98, 0x080c, 0x7134, 0x00de, 0x00ce, + 0x08b8, 0x080c, 0x8bbc, 0x0804, 0x9a6f, 0x080c, 0x8bea, 0x0804, + 0x9a6f, 0x00d6, 0x2c68, 0x6104, 0x080c, 0xa09b, 0x00de, 0x0118, + 0x080c, 0x85c0, 0x00b8, 0x6004, 0x8007, 0x6130, 0xa18c, 0x00ff, + 0xa105, 0x6032, 0x6007, 0x0085, 0x6003, 0x000b, 0x601f, 0x0002, + 0x6038, 0x600a, 0x2001, 0xb6b7, 0x2004, 0x6016, 0x080c, 0x6c52, + 0x080c, 0x7134, 0x0005, 0x00de, 0x00ce, 0x080c, 0x8bbc, 0x080c, + 0x2c60, 0x00e6, 0x0126, 0x2091, 0x8000, 0x080c, 0x2c86, 0x6013, + 0x0000, 0x601f, 0x0007, 0x6017, 0x0398, 0x603f, 0x0000, 0x012e, + 0x00ee, 0x0005, 0x6000, 0xa08a, 0x0010, 0x1a0c, 0x1511, 0x000b, + 0x0005, 0x9b61, 0x9b61, 0x9b61, 0x9b61, 0x9b61, 0x9b61, 0x9b61, + 0x9b61, 0x9b61, 0x9997, 0x9b61, 0x999f, 0x9b63, 0x999f, 0x9b70, + 0x9b61, 0x080c, 0x1511, 0x6004, 0xa086, 0x008b, 0x0148, 0x6007, + 0x008b, 0x6003, 0x000d, 0x080c, 0x6c52, 0x080c, 0x7134, 0x0005, + 0x080c, 0x9da2, 0x080c, 0x9beb, 0x0580, 0x080c, 0x2c60, 0x00d6, + 0x080c, 0x9beb, 0x0168, 0x6010, 0x2068, 0x6837, 0x0103, 0x684b, + 0x0006, 0x6847, 0x0000, 0x6850, 0xc0ed, 0x6852, 0x080c, 0x53c9, + 0x2c68, 0x080c, 0x856a, 0x0150, 0x6818, 0x601a, 0x080c, 0x9fb8, + 0x00c6, 0x2d60, 0x080c, 0x9dae, 0x00ce, 0x0008, 0x2d60, 0x00de, + 0x6013, 0x0000, 0x601f, 0x0001, 0x6007, 0x0001, 0x6003, 0x0001, + 0x080c, 0x6c98, 0x080c, 0x7134, 0x0078, 0x6030, 0xa08c, 0xff00, + 0x810f, 0xa186, 0x0039, 0x0118, 0xa186, 0x0035, 0x1118, 0x080c, + 0x2c60, 0x08b0, 0x080c, 0x9dae, 0x0005, 0x6000, 0xa08a, 0x0010, + 0x1a0c, 0x1511, 0x000b, 0x0005, 0x9bcc, 0x9bcc, 0x9bcc, 0x9bce, + 0x9bce, 0x9bcc, 0x9bcc, 0x9bcc, 0x9bcc, 0x9bcc, 0x9bcc, 0x9bcc, + 0x9bcc, 0x9bcc, 0x9bcc, 0x9bcc, 0x080c, 0x1511, 0x080c, 0x8200, + 0x190c, 0x1511, 0x6110, 0x2168, 0x684b, 0x0006, 0x080c, 0x53c9, + 0x080c, 0x85c0, 0x0005, 0xa284, 0x0007, 0x1158, 0xa282, 0xbc00, + 0x0240, 0x2001, 0xb417, 0x2004, 0xa202, 0x1218, 0xa085, 0x0001, + 0x0005, 0xa006, 0x0ce8, 0x0026, 0x6210, 0xa294, 0xf000, 0x002e, + 0x0005, 0x00e6, 0x00c6, 0x0036, 0x0006, 0x0126, 0x2091, 0x8000, + 0x2061, 0xbc00, 0x2071, 0xb400, 0x7348, 0x7068, 0xa302, 0x12a8, + 0x601c, 0xa206, 0x1160, 0x080c, 0x9f43, 0x0148, 0x080c, 0x9de9, + 0x1110, 0x080c, 0x8bbc, 0x00c6, 0x080c, 0x85c0, 0x00ce, 0xace0, + 0x0018, 0x705c, 0xac02, 0x1208, 0x0c38, 0x012e, 0x000e, 0x003e, + 0x00ce, 0x00ee, 0x0005, 0x00e6, 0x00c6, 0x0016, 0xa188, 0xb535, + 0x210c, 0x81ff, 0x0128, 0x2061, 0xb7f4, 0x611a, 0x080c, 0x2c60, + 0xa006, 0x0010, 0xa085, 0x0001, 0x001e, 0x00ce, 0x00ee, 0x0005, + 0x00c6, 0x0056, 0x0126, 0x2091, 0x8000, 0x00c6, 0x080c, 0x856a, + 0x005e, 0x0180, 0x6612, 0x651a, 0x080c, 0x9fb8, 0x601f, 0x0003, + 0x2009, 0x004b, 0x080c, 0x85ef, 0xa085, 0x0001, 0x012e, 0x005e, + 0x00ce, 0x0005, 0xa006, 0x0cd0, 0x00c6, 0x0056, 0x0126, 0x2091, + 0x8000, 0x62a0, 0x00c6, 0x080c, 0x9e67, 0x005e, 0x0550, 0x6013, + 0x0000, 0x651a, 0x080c, 0x9fb8, 0x601f, 0x0003, 0x0016, 0x00c6, + 0x2560, 0x080c, 0x516b, 0x00ce, 0x080c, 0x6dba, 0x0076, 0x2039, + 0x0000, 0x080c, 0x6cc7, 0x2c08, 0x080c, 0xae05, 0x007e, 0x001e, + 0xd184, 0x0128, 0x080c, 0x85c0, 0xa085, 0x0001, 0x0030, 0x2009, + 0x004c, 0x080c, 0x85ef, 0xa085, 0x0001, 0x012e, 0x005e, 0x00ce, + 0x0005, 0xa006, 0x0cd0, 0x00f6, 0x00c6, 0x0046, 0x00c6, 0x080c, + 0x856a, 0x2c78, 0x00ce, 0x0180, 0x7e12, 0x2c00, 0x781a, 0x781f, + 0x0003, 0x2021, 0x0005, 0x080c, 0x9ce1, 0x2f60, 0x2009, 0x004d, + 0x080c, 0x85ef, 0xa085, 0x0001, 0x004e, 0x00ce, 0x00fe, 0x0005, + 0x00f6, 0x00c6, 0x0046, 0x00c6, 0x080c, 0x856a, 0x2c78, 0x00ce, + 0x0178, 0x7e12, 0x2c00, 0x781a, 0x781f, 0x0003, 0x2021, 0x0005, + 0x0481, 0x2f60, 0x2009, 0x004e, 0x080c, 0x85ef, 0xa085, 0x0001, + 0x004e, 0x00ce, 0x00fe, 0x0005, 0x00f6, 0x00c6, 0x0046, 0x00c6, + 0x080c, 0x856a, 0x2c78, 0x00ce, 0x01c0, 0x7e12, 0x2c00, 0x781a, + 0x781f, 0x0003, 0x2021, 0x0004, 0x00a1, 0x2001, 0xb6a0, 0x2004, + 0xd0fc, 0x0120, 0x2f60, 0x080c, 0x85c0, 0x0028, 0x2f60, 0x2009, + 0x0052, 0x080c, 0x85ef, 0xa085, 0x0001, 0x004e, 0x00ce, 0x00fe, + 0x0005, 0x0096, 0x0076, 0x0126, 0x2091, 0x8000, 0x080c, 0x510d, + 0x0118, 0x2001, 0x9ce6, 0x0028, 0x080c, 0x50dd, 0x0158, 0x2001, + 0x9cec, 0x0006, 0xa00e, 0x2400, 0x080c, 0x549c, 0x080c, 0x53c9, + 0x000e, 0x0807, 0x2418, 0x080c, 0x6ff4, 0x62a0, 0x0086, 0x2041, + 0x0001, 0x2039, 0x0001, 0x2608, 0x080c, 0x6dd3, 0x008e, 0x080c, + 0x6cc7, 0x2f08, 0x2648, 0x080c, 0xae05, 0x613c, 0x81ff, 0x090c, + 0x6e88, 0x080c, 0x7134, 0x012e, 0x007e, 0x009e, 0x0005, 0x00c6, + 0x0126, 0x2091, 0x8000, 0x00c6, 0x080c, 0x856a, 0x001e, 0x0188, + 0x660a, 0x611a, 0x080c, 0x9fb8, 0x601f, 0x0001, 0x2d00, 0x6012, + 0x2009, 0x001f, 0x080c, 0x85ef, 0xa085, 0x0001, 0x012e, 0x00ce, + 0x0005, 0xa006, 0x0cd8, 0x00c6, 0x0126, 0x2091, 0x8000, 0x00c6, + 0x080c, 0x856a, 0x001e, 0x0188, 0x660a, 0x611a, 0x080c, 0x9fb8, + 0x601f, 0x0008, 0x2d00, 0x6012, 0x2009, 0x0021, 0x080c, 0x85ef, + 0xa085, 0x0001, 0x012e, 0x00ce, 0x0005, 0xa006, 0x0cd8, 0x00c6, + 0x0126, 0x2091, 0x8000, 0x00c6, 0x080c, 0x856a, 0x001e, 0x0188, + 0x660a, 0x611a, 0x080c, 0x9fb8, 0x601f, 0x0001, 0x2d00, 0x6012, + 0x2009, 0x003d, 0x080c, 0x85ef, 0xa085, 0x0001, 0x012e, 0x00ce, + 0x0005, 0xa006, 0x0cd8, 0x00c6, 0x0126, 0x2091, 0x8000, 0x00c6, + 0x080c, 0x9e67, 0x001e, 0x0180, 0x611a, 0x080c, 0x9fb8, 0x601f, + 0x0001, 0x2d00, 0x6012, 0x2009, 0x0000, 0x080c, 0x85ef, 0xa085, + 0x0001, 0x012e, 0x00ce, 0x0005, 0xa006, 0x0cd8, 0x00c6, 0x0126, + 0x2091, 0x8000, 0x00c6, 0x080c, 0x856a, 0x001e, 0x0188, 0x660a, + 0x611a, 0x080c, 0x9fb8, 0x601f, 0x0001, 0x2d00, 0x6012, 0x2009, + 0x0044, 0x080c, 0x85ef, 0xa085, 0x0001, 0x012e, 0x00ce, 0x0005, + 0xa006, 0x0cd8, 0x0026, 0x00d6, 0x6218, 0x2268, 0x6a3c, 0x82ff, + 0x0110, 0x8211, 0x6a3e, 0x00de, 0x002e, 0x0005, 0x0006, 0x6000, + 0xa086, 0x0000, 0x0190, 0x6013, 0x0000, 0x601f, 0x0007, 0x2001, + 0xb6b6, 0x2004, 0x0006, 0xa082, 0x0051, 0x000e, 0x0208, 0x8004, + 0x6016, 0x080c, 0xb2bd, 0x603f, 0x0000, 0x000e, 0x0005, 0x0066, + 0x00c6, 0x00d6, 0x2031, 0xb453, 0x2634, 0xd6e4, 0x0128, 0x6618, + 0x2660, 0x6e48, 0x080c, 0x5096, 0x00de, 0x00ce, 0x006e, 0x0005, + 0x0006, 0x0016, 0x6004, 0xa08e, 0x0002, 0x0140, 0xa08e, 0x0003, + 0x0128, 0xa08e, 0x0004, 0x0110, 0xa085, 0x0001, 0x001e, 0x000e, + 0x0005, 0x0006, 0x00d6, 0x6010, 0xa06d, 0x0148, 0x6834, 0xa086, + 0x0139, 0x0138, 0x6838, 0xd0fc, 0x0110, 0xa006, 0x0010, 0xa085, + 0x0001, 0x00de, 0x000e, 0x0005, 0x00c6, 0x0126, 0x2091, 0x8000, + 0x00c6, 0x080c, 0x856a, 0x001e, 0x0190, 0x611a, 0x080c, 0x9fb8, + 0x601f, 0x0001, 0x2d00, 0x6012, 0x080c, 0x2c60, 0x2009, 0x0028, + 0x080c, 0x85ef, 0xa085, 0x0001, 0x012e, 0x00ce, 0x0005, 0xa006, + 0x0cd8, 0xa186, 0x0015, 0x1178, 0x2011, 0xb421, 0x2204, 0xa086, + 0x0074, 0x1148, 0x080c, 0x8f38, 0x6003, 0x0001, 0x6007, 0x0029, + 0x080c, 0x6c98, 0x0020, 0x080c, 0x8bbc, 0x080c, 0x85c0, 0x0005, + 0xa186, 0x0016, 0x1128, 0x2001, 0x0004, 0x080c, 0x4ebe, 0x00e8, + 0xa186, 0x0015, 0x11e8, 0x2011, 0xb421, 0x2204, 0xa086, 0x0014, + 0x11b8, 0x00d6, 0x6018, 0x2068, 0x080c, 0x500c, 0x00de, 0x080c, + 0x8ff1, 0x1170, 0x00d6, 0x6018, 0x2068, 0x6890, 0x00de, 0xa005, + 0x0138, 0x2001, 0x0006, 0x080c, 0x4ebe, 0x080c, 0x8743, 0x0020, + 0x080c, 0x8bbc, 0x080c, 0x85c0, 0x0005, 0x6848, 0xa086, 0x0005, + 0x1108, 0x0009, 0x0005, 0x6850, 0xc0ad, 0x6852, 0x0005, 0x00e6, + 0x0126, 0x2071, 0xb400, 0x2091, 0x8000, 0x7548, 0xa582, 0x0001, + 0x0608, 0x704c, 0x2060, 0x6000, 0xa086, 0x0000, 0x0148, 0xace0, + 0x0018, 0x705c, 0xac02, 0x1208, 0x0cb0, 0x2061, 0xbc00, 0x0c98, + 0x6003, 0x0008, 0x8529, 0x754a, 0xaca8, 0x0018, 0x705c, 0xa502, + 0x1230, 0x754e, 0xa085, 0x0001, 0x012e, 0x00ee, 0x0005, 0x704f, + 0xbc00, 0x0cc0, 0xa006, 0x0cc0, 0x00e6, 0x2071, 0xba8c, 0x7014, + 0xd0e4, 0x0150, 0x6013, 0x0000, 0x6003, 0x0001, 0x6007, 0x0050, + 0x080c, 0x6c52, 0x080c, 0x7134, 0x00ee, 0x0005, 0x00c6, 0x00f6, + 0x2c78, 0x080c, 0x52c6, 0x00fe, 0x0120, 0x601c, 0xa084, 0x000f, + 0x0013, 0x00ce, 0x0005, 0x9997, 0x9ebe, 0x9ec1, 0x9ec4, 0xb0aa, + 0xb0c5, 0xb0c8, 0x9997, 0x9997, 0x080c, 0x1511, 0xe000, 0xe000, + 0x0005, 0xe000, 0xe000, 0x0005, 0x0009, 0x0005, 0x00f6, 0x2c78, + 0x080c, 0x52c6, 0x0538, 0x080c, 0x856a, 0x1128, 0x2001, 0xb6b8, + 0x2004, 0x783e, 0x00f8, 0x7818, 0x601a, 0x080c, 0x9fb8, 0x781c, + 0xa086, 0x0003, 0x0128, 0x7808, 0x6036, 0x2f00, 0x603a, 0x0020, + 0x7808, 0x603a, 0x2f00, 0x6036, 0x602a, 0x601f, 0x0001, 0x6007, + 0x0035, 0x6003, 0x0001, 0x7950, 0x6152, 0x080c, 0x6c52, 0x080c, + 0x7134, 0x2f60, 0x00fe, 0x0005, 0x0016, 0x00f6, 0x682c, 0x6032, + 0xa08e, 0x0001, 0x0138, 0xa086, 0x0005, 0x0140, 0xa006, 0x602a, + 0x602e, 0x00a0, 0x6820, 0xc0f4, 0xc0d5, 0x6822, 0x6810, 0x2078, + 0x787c, 0x6938, 0xa102, 0x7880, 0x6934, 0xa103, 0x1e78, 0x6834, + 0x602a, 0x6838, 0xa084, 0xfffc, 0x683a, 0x602e, 0x2d00, 0x6036, + 0x6808, 0x603a, 0x6918, 0x611a, 0x6950, 0x6152, 0x601f, 0x0001, + 0x6007, 0x0039, 0x6003, 0x0001, 0x080c, 0x6c52, 0x6803, 0x0002, + 0x00fe, 0x001e, 0x0005, 0x00f6, 0x2c78, 0x080c, 0x52c6, 0x1118, + 0xa085, 0x0001, 0x0070, 0x6020, 0xd0f4, 0x1150, 0xc0f5, 0x6022, + 0x6010, 0x2078, 0x7828, 0x603a, 0x782c, 0x6036, 0x080c, 0x1944, + 0xa006, 0x00fe, 0x0005, 0x0006, 0x0016, 0x6004, 0xa08e, 0x0034, + 0x01b8, 0xa08e, 0x0035, 0x01a0, 0xa08e, 0x0036, 0x0188, 0xa08e, + 0x0037, 0x0170, 0xa08e, 0x0038, 0x0158, 0xa08e, 0x0039, 0x0140, + 0xa08e, 0x003a, 0x0128, 0xa08e, 0x003b, 0x0110, 0xa085, 0x0001, + 0x001e, 0x000e, 0x0005, 0x0006, 0x0016, 0x0026, 0x0036, 0x00e6, + 0x2001, 0xb6b2, 0x200c, 0x8000, 0x2014, 0x2001, 0x0032, 0x080c, + 0x6b05, 0x2001, 0xb6b6, 0x82ff, 0x1110, 0x2011, 0x0014, 0x2202, + 0x2001, 0xb6b4, 0x200c, 0x8000, 0x2014, 0x2071, 0xb68e, 0x711a, + 0x721e, 0x2001, 0x0064, 0x080c, 0x6b05, 0x2001, 0xb6b7, 0x82ff, + 0x1110, 0x2011, 0x0014, 0x2202, 0x2009, 0xb6b8, 0xa280, 0x000a, + 0x200a, 0x080c, 0x52eb, 0x00ee, 0x003e, 0x002e, 0x001e, 0x000e, + 0x0005, 0x0006, 0x00e6, 0x2001, 0xb6b6, 0x2003, 0x0028, 0x2001, + 0xb6b7, 0x2003, 0x0014, 0x2071, 0xb68e, 0x701b, 0x0000, 0x701f, + 0x07d0, 0x2001, 0xb6b8, 0x2003, 0x001e, 0x00ee, 0x000e, 0x0005, + 0x00d6, 0x6054, 0xa06d, 0x0110, 0x080c, 0x160b, 0x00de, 0x0005, + 0x0005, 0x00c6, 0x0126, 0x2091, 0x8000, 0x00c6, 0x080c, 0x856a, + 0x001e, 0x0178, 0x611a, 0x0ca1, 0x601f, 0x0001, 0x2d00, 0x6012, + 0x2009, 0x0033, 0x080c, 0x85ef, 0xa085, 0x0001, 0x012e, 0x00ce, + 0x0005, 0xa006, 0x0cd8, 0x00d6, 0x00e6, 0x00f6, 0x2071, 0xb400, + 0xa186, 0x0015, 0x1500, 0x7084, 0xa086, 0x0018, 0x11e0, 0x6010, + 0x2068, 0x6a3c, 0xd2e4, 0x1160, 0x2c78, 0x080c, 0x72f2, 0x01d8, + 0x7070, 0x6a50, 0xa206, 0x1160, 0x7074, 0x6a54, 0xa206, 0x1140, + 0x6218, 0xa290, 0x0028, 0x2214, 0x2009, 0x0000, 0x080c, 0x2ca5, + 0x080c, 0x8743, 0x0020, 0x080c, 0x8bbc, 0x080c, 0x85c0, 0x00fe, + 0x00ee, 0x00de, 0x0005, 0x7054, 0x6a54, 0xa206, 0x0d48, 0x0c80, + 0x00c6, 0x0126, 0x2091, 0x8000, 0x00c6, 0x080c, 0x856a, 0x001e, + 0x0180, 0x611a, 0x080c, 0x9fb8, 0x601f, 0x0001, 0x2d00, 0x6012, + 0x2009, 0x0043, 0x080c, 0x85ef, 0xa085, 0x0001, 0x012e, 0x00ce, + 0x0005, 0xa006, 0x0cd8, 0x00d6, 0x00e6, 0x00f6, 0x2071, 0xb400, + 0xa186, 0x0015, 0x11c0, 0x7084, 0xa086, 0x0004, 0x11a0, 0x6010, + 0xa0e8, 0x000f, 0x2c78, 0x080c, 0x72f2, 0x01a8, 0x7070, 0x6a08, + 0xa206, 0x1130, 0x7074, 0x6a0c, 0xa206, 0x1110, 0x080c, 0x2c60, + 0x080c, 0x8743, 0x0020, 0x080c, 0x8bbc, 0x080c, 0x85c0, 0x00fe, + 0x00ee, 0x00de, 0x0005, 0x7054, 0x6a0c, 0xa206, 0x0d78, 0x0c80, + 0x0016, 0x0026, 0x684c, 0xd0ac, 0x0178, 0x6914, 0x6a10, 0x2100, + 0xa205, 0x0150, 0x6860, 0xa106, 0x1118, 0x685c, 0xa206, 0x0120, + 0x6962, 0x6a5e, 0xa085, 0x0001, 0x002e, 0x001e, 0x0005, 0x00d6, + 0x0036, 0x6310, 0x2368, 0x684a, 0x6952, 0xa29e, 0x4000, 0x11a0, + 0x00c6, 0x6318, 0x2360, 0x2009, 0x0000, 0x6838, 0xd0f4, 0x1140, + 0x080c, 0x520b, 0x1108, 0xc185, 0x6000, 0xd0bc, 0x0108, 0xc18d, + 0x6a66, 0x696a, 0x00ce, 0x0080, 0x6a66, 0x3918, 0xa398, 0x0006, + 0x231c, 0x686b, 0x0004, 0x6b72, 0x00c6, 0x6318, 0x2360, 0x6004, + 0xa084, 0x00ff, 0x686e, 0x00ce, 0x080c, 0x53c9, 0x6013, 0x0000, + 0x003e, 0x00de, 0x0005, 0x00c6, 0x0026, 0x0016, 0xa186, 0x0035, + 0x0110, 0x6a34, 0x0008, 0x6a28, 0x080c, 0x9bdb, 0x01f0, 0x2260, + 0x611c, 0xa186, 0x0003, 0x0118, 0xa186, 0x0006, 0x1190, 0x6834, + 0xa206, 0x0140, 0x6838, 0xa206, 0x1160, 0x6108, 0x6834, 0xa106, + 0x1140, 0x0020, 0x6008, 0x6938, 0xa106, 0x1118, 0x6018, 0x6918, + 0xa106, 0x001e, 0x002e, 0x00ce, 0x0005, 0xa085, 0x0001, 0x0cc8, + 0x6944, 0xd1cc, 0x0198, 0xa18c, 0x00ff, 0xa18e, 0x0002, 0x1170, + 0xad88, 0x001e, 0x210c, 0xa18c, 0x0f00, 0x810f, 0xa18e, 0x0001, + 0x1128, 0x6810, 0x6914, 0xa115, 0x190c, 0x941c, 0x0005, 0x0066, + 0x6000, 0xa0b2, 0x0010, 0x1a0c, 0x1511, 0x0013, 0x006e, 0x0005, + 0xa0f8, 0xa5cf, 0xa6f5, 0xa0f8, 0xa0f8, 0xa0f8, 0xa0f8, 0xa0f8, + 0xa130, 0xa779, 0xa0f8, 0xa0f8, 0xa0f8, 0xa0f8, 0xa0f8, 0xa0f8, + 0x080c, 0x1511, 0x0066, 0x6000, 0xa0b2, 0x0010, 0x1a0c, 0x1511, + 0x0013, 0x006e, 0x0005, 0xa113, 0xabfa, 0xa113, 0xa113, 0xa113, + 0xa113, 0xa113, 0xa113, 0xabbe, 0xac42, 0xa113, 0xb1ef, 0xb21f, + 0xb1ef, 0xb21f, 0xa113, 0x080c, 0x1511, 0x0066, 0x6000, 0xa0b2, + 0x0010, 0x1a0c, 0x1511, 0x0013, 0x006e, 0x0005, 0xa12e, 0xa8c5, + 0xa992, 0xa9bf, 0xaa43, 0xa12e, 0xab30, 0xaadb, 0xa785, 0xab94, + 0xaba9, 0xa12e, 0xa12e, 0xa12e, 0xa12e, 0xa12e, 0x080c, 0x1511, + 0xa1b2, 0x0080, 0x1a0c, 0x1511, 0x2100, 0xa1b2, 0x0040, 0x1a04, + 0xa543, 0x0002, 0xa17a, 0xa345, 0xa17a, 0xa17a, 0xa17a, 0xa34c, + 0xa17a, 0xa17a, 0xa17a, 0xa17a, 0xa17a, 0xa17a, 0xa17a, 0xa17a, + 0xa17a, 0xa17a, 0xa17a, 0xa17a, 0xa17a, 0xa17a, 0xa17a, 0xa17a, + 0xa17a, 0xa17c, 0xa1da, 0xa1e9, 0xa237, 0xa255, 0xa2d3, 0xa332, + 0xa17a, 0xa17a, 0xa34f, 0xa17a, 0xa17a, 0xa362, 0xa36d, 0xa17a, + 0xa17a, 0xa17a, 0xa17a, 0xa17a, 0xa3f8, 0xa17a, 0xa17a, 0xa407, + 0xa17a, 0xa17a, 0xa3c3, 0xa17a, 0xa17a, 0xa17a, 0xa41f, 0xa17a, + 0xa17a, 0xa17a, 0xa499, 0xa17a, 0xa17a, 0xa17a, 0xa17a, 0xa17a, + 0xa17a, 0xa50a, 0x080c, 0x1511, 0x080c, 0x52ca, 0x1150, 0x2001, + 0xb435, 0x2004, 0xd0cc, 0x1128, 0xa084, 0x0009, 0xa086, 0x0008, + 0x1140, 0x6007, 0x0009, 0x602b, 0x0009, 0x6013, 0x0000, 0x0804, + 0xa340, 0x080c, 0x52ba, 0x00e6, 0x00c6, 0x0036, 0x0026, 0x0016, + 0x6218, 0x2270, 0x72a0, 0x0026, 0x2019, 0x0029, 0x080c, 0x6dba, + 0x0076, 0x2039, 0x0000, 0x080c, 0x6cc7, 0x2c08, 0x080c, 0xae05, + 0x007e, 0x001e, 0x2e60, 0x080c, 0x516b, 0x001e, 0x002e, 0x003e, + 0x00ce, 0x00ee, 0x6618, 0x00c6, 0x2660, 0x080c, 0x4f79, 0x00ce, + 0xa6b0, 0x0001, 0x2634, 0xa684, 0x00ff, 0xa082, 0x0006, 0x0278, + 0x080c, 0xad49, 0x1904, 0xa231, 0x080c, 0xace9, 0x1120, 0x6007, + 0x0008, 0x0804, 0xa340, 0x6007, 0x0009, 0x0804, 0xa340, 0x080c, + 0xaefe, 0x0128, 0x080c, 0xad49, 0x0d78, 0x0804, 0xa231, 0x6013, + 0x1900, 0x0c88, 0x080c, 0x2d83, 0x1904, 0xa540, 0x6106, 0x080c, + 0xaca3, 0x6007, 0x0006, 0x0804, 0xa340, 0x6007, 0x0007, 0x0804, + 0xa340, 0x080c, 0xb253, 0x1904, 0xa540, 0x080c, 0x2d83, 0x1904, + 0xa540, 0x00d6, 0x6618, 0x2668, 0x6e04, 0xa684, 0x00ff, 0xa082, + 0x0006, 0x1220, 0x2001, 0x0001, 0x080c, 0x4eac, 0xa6b4, 0xff00, + 0x8637, 0xa686, 0x0006, 0x0188, 0xa686, 0x0004, 0x0170, 0x6e04, + 0xa6b4, 0x00ff, 0xa686, 0x0006, 0x0140, 0xa686, 0x0004, 0x0128, + 0xa686, 0x0005, 0x0110, 0x00de, 0x00e0, 0x080c, 0xada7, 0x11a0, + 0xa686, 0x0006, 0x1150, 0x0026, 0x6218, 0xa290, 0x0028, 0x2214, + 0x2009, 0x0000, 0x080c, 0x2ca5, 0x002e, 0x080c, 0x500c, 0x6007, + 0x000a, 0x00de, 0x0804, 0xa340, 0x6007, 0x000b, 0x00de, 0x0804, + 0xa340, 0x080c, 0x2c60, 0x6007, 0x0001, 0x0804, 0xa340, 0x080c, + 0xb253, 0x1904, 0xa540, 0x080c, 0x2d83, 0x1904, 0xa540, 0x6618, + 0x00d6, 0x2668, 0x6e04, 0x00de, 0xa686, 0x0707, 0x0d50, 0x0026, + 0x6218, 0xa290, 0x0028, 0x2214, 0x2009, 0x0000, 0x080c, 0x2ca5, + 0x002e, 0x6007, 0x000c, 0x0804, 0xa340, 0x080c, 0x52ca, 0x1140, + 0x2001, 0xb435, 0x2004, 0xa084, 0x0009, 0xa086, 0x0008, 0x1110, + 0x0804, 0xa189, 0x080c, 0x52ba, 0x6618, 0xa6b0, 0x0001, 0x2634, + 0xa684, 0x00ff, 0xa082, 0x0006, 0x06e8, 0x1138, 0x0026, 0x2001, + 0x0006, 0x080c, 0x4eeb, 0x002e, 0x0050, 0xa6b4, 0xff00, 0x8637, + 0xa686, 0x0004, 0x0120, 0xa686, 0x0006, 0x1904, 0xa231, 0x080c, + 0xadb4, 0x1120, 0x6007, 0x000e, 0x0804, 0xa340, 0x0046, 0x6418, + 0xa4a0, 0x0028, 0x2424, 0xa4a4, 0x00ff, 0x8427, 0x0046, 0x080c, + 0x2c60, 0x004e, 0x0016, 0xa006, 0x2009, 0xb453, 0x210c, 0xd1a4, + 0x0158, 0x2009, 0x0029, 0x080c, 0xb06b, 0x6018, 0x00d6, 0x2068, + 0x6800, 0xc0e5, 0x6802, 0x00de, 0x001e, 0x004e, 0x6007, 0x0001, + 0x0804, 0xa340, 0x2001, 0x0001, 0x080c, 0x4eac, 0x0156, 0x0016, + 0x0026, 0x0036, 0x20a9, 0x0004, 0x2019, 0xb405, 0x2011, 0xba90, + 0x080c, 0x907a, 0x003e, 0x002e, 0x001e, 0x015e, 0xa005, 0x0168, + 0xa6b4, 0xff00, 0x8637, 0xa682, 0x0004, 0x0a04, 0xa231, 0xa682, + 0x0007, 0x0a04, 0xa27f, 0x0804, 0xa231, 0x6013, 0x1900, 0x6007, + 0x0009, 0x0804, 0xa340, 0x080c, 0x52ca, 0x1140, 0x2001, 0xb435, + 0x2004, 0xa084, 0x0009, 0xa086, 0x0008, 0x1110, 0x0804, 0xa189, + 0x080c, 0x52ba, 0x6618, 0xa6b0, 0x0001, 0x2634, 0xa684, 0x00ff, + 0xa082, 0x0006, 0x06b8, 0xa6b4, 0xff00, 0x8637, 0xa686, 0x0004, + 0x0120, 0xa686, 0x0006, 0x1904, 0xa231, 0x080c, 0xaddc, 0x1138, + 0x080c, 0xace9, 0x1120, 0x6007, 0x0010, 0x0804, 0xa340, 0x0046, + 0x6418, 0xa4a0, 0x0028, 0x2424, 0xa4a4, 0x00ff, 0x8427, 0x0046, + 0x080c, 0x2c60, 0x004e, 0x0016, 0xa006, 0x2009, 0xb453, 0x210c, + 0xd1a4, 0x0158, 0x2009, 0x0029, 0x080c, 0xb06b, 0x6018, 0x00d6, + 0x2068, 0x6800, 0xc0e5, 0x6802, 0x00de, 0x001e, 0x004e, 0x6007, + 0x0001, 0x00f0, 0x080c, 0xaefe, 0x0140, 0xa6b4, 0xff00, 0x8637, + 0xa686, 0x0006, 0x0950, 0x0804, 0xa231, 0x6013, 0x1900, 0x6007, + 0x0009, 0x0070, 0x080c, 0x2d83, 0x1904, 0xa540, 0x080c, 0xb253, + 0x1904, 0xa540, 0x080c, 0xa568, 0x1904, 0xa231, 0x6007, 0x0012, + 0x6003, 0x0001, 0x080c, 0x6c98, 0x0005, 0x6007, 0x0001, 0x6003, + 0x0001, 0x080c, 0x6c98, 0x0cc0, 0x6007, 0x0005, 0x0cc0, 0x080c, + 0xb253, 0x1904, 0xa540, 0x080c, 0x2d83, 0x1904, 0xa540, 0x080c, + 0xa568, 0x1904, 0xa231, 0x6007, 0x0020, 0x6003, 0x0001, 0x080c, + 0x6c98, 0x0005, 0x080c, 0x2d83, 0x1904, 0xa540, 0x6007, 0x0023, + 0x6003, 0x0001, 0x080c, 0x6c98, 0x0005, 0x080c, 0xb253, 0x1904, + 0xa540, 0x080c, 0x2d83, 0x1904, 0xa540, 0x080c, 0xa568, 0x1904, + 0xa231, 0x0016, 0x0026, 0x2011, 0xba91, 0x2214, 0xa286, 0xffff, + 0x0190, 0x2c08, 0x080c, 0x9bdb, 0x01e0, 0x2260, 0x2011, 0xba90, + 0x2214, 0x6008, 0xa206, 0x11a8, 0x6018, 0xa190, 0x0006, 0x2214, + 0xa206, 0x01e8, 0x0070, 0x2011, 0xba90, 0x2214, 0x2c08, 0xa006, + 0x080c, 0xb03d, 0x11a0, 0x2011, 0xba91, 0x2214, 0xa286, 0xffff, + 0x01c0, 0x2160, 0x6007, 0x0026, 0x6013, 0x1700, 0x2011, 0xba89, + 0x2214, 0xa296, 0xffff, 0x1180, 0x6007, 0x0025, 0x0068, 0x601c, + 0xa086, 0x0007, 0x1d70, 0x6004, 0xa086, 0x0024, 0x1110, 0x080c, + 0x85c0, 0x2160, 0x6007, 0x0025, 0x6003, 0x0001, 0x080c, 0x6c98, + 0x002e, 0x001e, 0x0005, 0x2001, 0x0001, 0x080c, 0x4eac, 0x0156, + 0x0016, 0x0026, 0x0036, 0x20a9, 0x0004, 0x2019, 0xb405, 0x2011, + 0xba96, 0x080c, 0x907a, 0x003e, 0x002e, 0x001e, 0x015e, 0x0120, + 0x6007, 0x0031, 0x0804, 0xa340, 0x080c, 0x8d99, 0x080c, 0x5a90, + 0x11b0, 0x0006, 0x0026, 0x0036, 0x080c, 0x5aac, 0x1158, 0x2001, + 0xb69f, 0x2003, 0x0001, 0x2001, 0xb400, 0x2003, 0x0001, 0x080c, + 0x59c8, 0x0010, 0x080c, 0x5a67, 0x003e, 0x002e, 0x000e, 0x0005, + 0x080c, 0x2d83, 0x1904, 0xa540, 0x6106, 0x080c, 0xa584, 0x6007, + 0x002b, 0x0804, 0xa340, 0x6007, 0x002c, 0x0804, 0xa340, 0x080c, + 0xb253, 0x1904, 0xa540, 0x080c, 0x2d83, 0x1904, 0xa540, 0x080c, + 0xa568, 0x1904, 0xa231, 0x6106, 0x080c, 0xa588, 0x1120, 0x6007, + 0x002e, 0x0804, 0xa340, 0x6007, 0x002f, 0x0804, 0xa340, 0x080c, + 0x2d83, 0x1904, 0xa540, 0x00e6, 0x00d6, 0x00c6, 0x6018, 0xa080, + 0x0001, 0x200c, 0xa184, 0x00ff, 0xa086, 0x0006, 0x0158, 0xa184, + 0xff00, 0x8007, 0xa086, 0x0006, 0x0128, 0x00ce, 0x00de, 0x00ee, + 0x0804, 0xa345, 0x2001, 0xb472, 0x2004, 0xd0e4, 0x0904, 0xa496, + 0x2071, 0xba8c, 0x7010, 0x6036, 0x7014, 0x603a, 0x7108, 0x720c, + 0x2001, 0xb453, 0x2004, 0xd0a4, 0x0140, 0x6018, 0x2068, 0x6810, + 0xa106, 0x1118, 0x6814, 0xa206, 0x01f8, 0x2001, 0xb453, 0x2004, + 0xd0ac, 0x1590, 0x2069, 0xb400, 0x6874, 0xa206, 0x1568, 0x6870, + 0xa106, 0x1550, 0x7210, 0x080c, 0x9bdb, 0x0558, 0x080c, 0xb0d7, + 0x0540, 0x622a, 0x6007, 0x0036, 0x6003, 0x0001, 0x080c, 0x6c52, + 0x00ce, 0x00de, 0x00ee, 0x0005, 0x7214, 0xa286, 0xffff, 0x0150, + 0x080c, 0x9bdb, 0x01b0, 0xa280, 0x0002, 0x2004, 0x7110, 0xa106, + 0x1180, 0x0c08, 0x7210, 0x2c08, 0xa085, 0x0001, 0x080c, 0xb03d, + 0x2c10, 0x2160, 0x0130, 0x08b8, 0x6007, 0x0037, 0x6013, 0x1500, + 0x08d8, 0x6007, 0x0037, 0x6013, 0x1700, 0x08b0, 0x6007, 0x0012, + 0x0898, 0x080c, 0x2d83, 0x1904, 0xa540, 0x6018, 0xa080, 0x0001, + 0x2004, 0xa084, 0xff00, 0x8007, 0xa086, 0x0006, 0x1904, 0xa345, + 0x00e6, 0x00d6, 0x00c6, 0x2001, 0xb472, 0x2004, 0xd0e4, 0x0904, + 0xa502, 0x2069, 0xb400, 0x2071, 0xba8c, 0x7008, 0x6036, 0x720c, + 0x623a, 0xa286, 0xffff, 0x1150, 0x7208, 0x00c6, 0x2c08, 0xa085, + 0x0001, 0x080c, 0xb03d, 0x2c10, 0x00ce, 0x0588, 0x080c, 0x9bdb, + 0x0570, 0x00c6, 0x0026, 0x2260, 0x080c, 0x98b6, 0x002e, 0x00ce, + 0x7118, 0xa18c, 0xff00, 0x810f, 0xa186, 0x0001, 0x0158, 0xa186, + 0x0005, 0x0118, 0xa186, 0x0007, 0x1178, 0xa280, 0x0004, 0x2004, + 0xa005, 0x0150, 0x0056, 0x7510, 0x7614, 0x080c, 0xb0ee, 0x005e, + 0x00ce, 0x00de, 0x00ee, 0x0005, 0x6007, 0x003b, 0x602b, 0x0009, + 0x6013, 0x2a00, 0x6003, 0x0001, 0x080c, 0x6c52, 0x0c88, 0x6007, + 0x003b, 0x602b, 0x0009, 0x6013, 0x1700, 0x6003, 0x0001, 0x080c, + 0x6c52, 0x0c30, 0x6007, 0x003b, 0x602b, 0x000b, 0x6013, 0x0000, + 0x0804, 0xa46c, 0x00e6, 0x0026, 0x080c, 0x52ca, 0x0558, 0x080c, + 0x52ba, 0x080c, 0xb2ce, 0x1520, 0x2071, 0xb400, 0x70d4, 0xc085, + 0x70d6, 0x00f6, 0x2079, 0x0100, 0x72a0, 0xa284, 0x00ff, 0x7072, + 0x78e6, 0xa284, 0xff00, 0x7274, 0xa205, 0x7076, 0x78ea, 0x00fe, + 0x70df, 0x0000, 0x2001, 0xb453, 0x2004, 0xd0a4, 0x0120, 0x2011, + 0xb6f9, 0x2013, 0x07d0, 0xd0ac, 0x1128, 0x080c, 0x2a7e, 0x0010, + 0x080c, 0xb2fa, 0x002e, 0x00ee, 0x080c, 0x85c0, 0x0804, 0xa344, + 0x080c, 0x85c0, 0x0005, 0x2600, 0x0002, 0xa54e, 0xa54e, 0xa54e, + 0xa54e, 0xa54e, 0xa550, 0xa54e, 0xa54e, 0xa54e, 0x080c, 0x1511, + 0x080c, 0xb253, 0x1d68, 0x080c, 0x2d83, 0x1d50, 0x0089, 0x1138, + 0x6007, 0x0045, 0x6003, 0x0001, 0x080c, 0x6c98, 0x0005, 0x080c, + 0x2c60, 0x6007, 0x0001, 0x6003, 0x0001, 0x080c, 0x6c98, 0x0005, + 0x00d6, 0x0066, 0x6618, 0x2668, 0x6e04, 0xa6b4, 0xff00, 0x8637, + 0xa686, 0x0006, 0x0170, 0xa686, 0x0004, 0x0158, 0x6e04, 0xa6b4, + 0x00ff, 0xa686, 0x0006, 0x0128, 0xa686, 0x0004, 0x0110, 0xa085, + 0x0001, 0x006e, 0x00de, 0x0005, 0x00d6, 0x0449, 0x00de, 0x0005, + 0x00d6, 0x0491, 0x11f0, 0x680c, 0xa08c, 0xff00, 0x6820, 0xa084, + 0x00ff, 0xa115, 0x6212, 0x6824, 0x602a, 0xd1e4, 0x0118, 0x2009, + 0x0001, 0x0060, 0xd1ec, 0x0168, 0x6920, 0xa18c, 0x00ff, 0x6824, + 0x080c, 0x27e3, 0x1130, 0x2110, 0x2009, 0x0000, 0x080c, 0x2ca5, + 0x0018, 0xa085, 0x0001, 0x0008, 0xa006, 0x00de, 0x0005, 0x2069, + 0xba8d, 0x6800, 0xa082, 0x0010, 0x1228, 0x6013, 0x0000, 0xa085, + 0x0001, 0x0008, 0xa006, 0x0005, 0x6013, 0x0000, 0x2069, 0xba8c, + 0x6808, 0xa084, 0xff00, 0xa086, 0x0800, 0x1140, 0x6800, 0xa084, + 0x00ff, 0xa08e, 0x0014, 0x0110, 0xa08e, 0x0010, 0x0005, 0x6004, + 0xa0b2, 0x0080, 0x1a0c, 0x1511, 0xa1b6, 0x0013, 0x1130, 0x2008, + 0xa1b2, 0x0040, 0x1a04, 0xa6cf, 0x0092, 0xa1b6, 0x0027, 0x0120, + 0xa1b6, 0x0014, 0x190c, 0x1511, 0x2001, 0x0007, 0x080c, 0x4eeb, + 0x080c, 0x7055, 0x080c, 0x9dae, 0x080c, 0x7134, 0x0005, 0xa62f, + 0xa631, 0xa62f, 0xa62f, 0xa62f, 0xa631, 0xa643, 0xa6c8, 0xa693, + 0xa6c8, 0xa6a4, 0xa6c8, 0xa643, 0xa6c8, 0xa6c0, 0xa6c8, 0xa6c0, + 0xa6c8, 0xa6c8, 0xa62f, 0xa62f, 0xa62f, 0xa62f, 0xa62f, 0xa62f, + 0xa62f, 0xa62f, 0xa62f, 0xa62f, 0xa62f, 0xa631, 0xa62f, 0xa6c8, + 0xa62f, 0xa62f, 0xa6c8, 0xa62f, 0xa6c5, 0xa6c8, 0xa62f, 0xa62f, + 0xa62f, 0xa62f, 0xa6c8, 0xa6c8, 0xa62f, 0xa6c8, 0xa6c8, 0xa62f, + 0xa63d, 0xa62f, 0xa62f, 0xa62f, 0xa62f, 0xa6c4, 0xa6c8, 0xa62f, + 0xa62f, 0xa6c8, 0xa6c8, 0xa62f, 0xa62f, 0xa62f, 0xa62f, 0x080c, + 0x1511, 0x080c, 0x7055, 0x2001, 0xb6b6, 0x2004, 0x6016, 0x6003, + 0x0002, 0x080c, 0x7134, 0x0804, 0xa6ce, 0x2001, 0x0000, 0x080c, + 0x4eac, 0x0804, 0xa6c8, 0x00f6, 0x2079, 0xb452, 0x7804, 0x00fe, + 0xd0ac, 0x1904, 0xa6c8, 0x2001, 0x0000, 0x080c, 0x4eac, 0x6018, + 0xa080, 0x0004, 0x2004, 0xa086, 0x00ff, 0x1140, 0x00f6, 0x2079, + 0xb400, 0x7898, 0x8000, 0x789a, 0x00fe, 0x00e0, 0x00c6, 0x6018, + 0x2060, 0x6000, 0xd0f4, 0x1140, 0x6010, 0xa005, 0x0128, 0x00ce, + 0x080c, 0x3efc, 0x0804, 0xa6c8, 0x00ce, 0x2001, 0xb400, 0x2004, + 0xa086, 0x0002, 0x1138, 0x00f6, 0x2079, 0xb400, 0x7898, 0x8000, + 0x789a, 0x00fe, 0x2001, 0x0002, 0x080c, 0x4ebe, 0x080c, 0x7055, + 0x601f, 0x0001, 0x6003, 0x0001, 0x6007, 0x0002, 0x080c, 0x6c98, + 0x080c, 0x7134, 0x00c6, 0x6118, 0x2160, 0x2009, 0x0001, 0x080c, + 0x696d, 0x00ce, 0x04d8, 0x6618, 0x00d6, 0x2668, 0x6e04, 0x00de, + 0xa6b4, 0xff00, 0x8637, 0xa686, 0x0006, 0x0550, 0xa686, 0x0004, + 0x0538, 0x2001, 0x0004, 0x0410, 0x2001, 0xb400, 0x2004, 0xa086, + 0x0003, 0x1110, 0x080c, 0x3efc, 0x2001, 0x0006, 0x04a1, 0x6618, + 0x00d6, 0x2668, 0x6e04, 0x00de, 0xa6b4, 0xff00, 0x8637, 0xa686, + 0x0006, 0x0170, 0x2001, 0x0006, 0x0048, 0x2001, 0x0004, 0x0030, + 0x2001, 0x0006, 0x0401, 0x0020, 0x0018, 0x0010, 0x080c, 0x4eeb, + 0x080c, 0x7055, 0x080c, 0x85c0, 0x080c, 0x7134, 0x0005, 0x2600, + 0x0002, 0xa6da, 0xa6da, 0xa6da, 0xa6da, 0xa6da, 0xa6dc, 0xa6da, + 0xa6da, 0xa6da, 0x080c, 0x1511, 0x080c, 0x7055, 0x080c, 0x85c0, + 0x080c, 0x7134, 0x0005, 0x0016, 0x00d6, 0x6118, 0x2168, 0x6900, + 0xd184, 0x0140, 0x080c, 0x4ebe, 0x2001, 0x0000, 0x080c, 0x4eac, + 0x080c, 0x2c86, 0x00de, 0x001e, 0x0005, 0x00d6, 0x6618, 0x2668, + 0x6804, 0xa084, 0xff00, 0x8007, 0x00de, 0xa0b2, 0x000c, 0x1a0c, + 0x1511, 0xa1b6, 0x0015, 0x1110, 0x003b, 0x0028, 0xa1b6, 0x0016, + 0x190c, 0x1511, 0x006b, 0x0005, 0x8c82, 0x8c82, 0x8c82, 0x8c82, + 0x8c82, 0x8c82, 0xa765, 0xa724, 0x8c82, 0x8c82, 0x8c82, 0x8c82, + 0x8c82, 0x8c82, 0x8c82, 0x8c82, 0x8c82, 0x8c82, 0xa765, 0xa76c, + 0x8c82, 0x8c82, 0x8c82, 0x8c82, 0x00f6, 0x2079, 0xb452, 0x7804, + 0xd0ac, 0x11e0, 0x6018, 0xa07d, 0x01c8, 0x7800, 0xd0f4, 0x1118, + 0x7810, 0xa005, 0x1198, 0x2001, 0x0000, 0x080c, 0x4eac, 0x2001, + 0x0002, 0x080c, 0x4ebe, 0x601f, 0x0001, 0x6003, 0x0001, 0x6007, + 0x0002, 0x080c, 0x6c98, 0x080c, 0x7134, 0x00e8, 0x2011, 0xba83, + 0x2204, 0x8211, 0x220c, 0x080c, 0x27e3, 0x11a8, 0x00c6, 0x080c, + 0x4f6a, 0x0120, 0x00ce, 0x080c, 0x85c0, 0x0068, 0x6010, 0x0006, + 0x6014, 0x0006, 0x080c, 0x4bc5, 0x000e, 0x6016, 0x000e, 0x6012, + 0x00ce, 0x080c, 0x85c0, 0x00fe, 0x0005, 0x6604, 0xa6b6, 0x001e, + 0x1110, 0x080c, 0x85c0, 0x0005, 0x080c, 0x8f35, 0x1138, 0x6003, + 0x0001, 0x6007, 0x0001, 0x080c, 0x6c98, 0x0010, 0x080c, 0x85c0, + 0x0005, 0x6004, 0xa08a, 0x0080, 0x1a0c, 0x1511, 0x080c, 0x7055, + 0x080c, 0x9dae, 0x080c, 0x7134, 0x0005, 0xa182, 0x0040, 0x0002, + 0xa79b, 0xa79b, 0xa79b, 0xa79b, 0xa79d, 0xa79b, 0xa79b, 0xa79b, + 0xa79b, 0xa79b, 0xa79b, 0xa79b, 0xa79b, 0xa79b, 0xa79b, 0xa79b, + 0xa79b, 0xa79b, 0xa79b, 0x080c, 0x1511, 0x00d6, 0x00e6, 0x00f6, + 0x0156, 0x0046, 0x0026, 0x6218, 0xa280, 0x002b, 0x2004, 0xa005, + 0x0120, 0x2021, 0x0000, 0x080c, 0xb29f, 0x6106, 0x2071, 0xba80, + 0x7444, 0xa4a4, 0xff00, 0x0904, 0xa801, 0xa486, 0x2000, 0x1130, + 0x2009, 0x0001, 0x2011, 0x0200, 0x080c, 0x6adf, 0x080c, 0x15f4, + 0x090c, 0x1511, 0x6003, 0x0007, 0x2d00, 0x6837, 0x010d, 0x6803, + 0x0000, 0x683b, 0x0000, 0x6c5a, 0x2c00, 0x685e, 0x6008, 0x68b2, + 0x6018, 0x2078, 0x78a0, 0x8007, 0x7130, 0x694a, 0x0016, 0xa084, + 0xff00, 0x6846, 0x684f, 0x0000, 0x6853, 0x0000, 0x6857, 0x0036, + 0x080c, 0x53c9, 0x001e, 0xa486, 0x2000, 0x1130, 0x2019, 0x0017, + 0x080c, 0xafe8, 0x0804, 0xa85e, 0xa486, 0x0400, 0x1130, 0x2019, + 0x0002, 0x080c, 0xaf9a, 0x0804, 0xa85e, 0xa486, 0x0200, 0x1110, + 0x080c, 0xaf7f, 0xa486, 0x1000, 0x1110, 0x080c, 0xafcd, 0x0804, + 0xa85e, 0x2069, 0xb774, 0x6a00, 0xd284, 0x0904, 0xa8c1, 0xa284, + 0x0300, 0x1904, 0xa8ba, 0x6804, 0xa005, 0x0904, 0xa8a2, 0x2d78, + 0x6003, 0x0007, 0x080c, 0x15db, 0x0904, 0xa865, 0x7800, 0xd08c, + 0x1118, 0x7804, 0x8001, 0x7806, 0x6013, 0x0000, 0x6803, 0x0000, + 0x6837, 0x0116, 0x683b, 0x0000, 0x6008, 0x68b2, 0x2c00, 0x684a, + 0x6018, 0x2078, 0x78a0, 0x8007, 0x7130, 0x6986, 0x6846, 0x7928, + 0x698a, 0x792c, 0x698e, 0x7930, 0x6992, 0x7934, 0x6996, 0x6853, + 0x003d, 0x7244, 0xa294, 0x0003, 0xa286, 0x0002, 0x1118, 0x684f, + 0x0040, 0x0040, 0xa286, 0x0001, 0x1118, 0x684f, 0x0080, 0x0010, + 0x684f, 0x0000, 0x20a9, 0x000a, 0x2001, 0xba90, 0xad90, 0x0015, + 0x200c, 0x810f, 0x2112, 0x8000, 0x8210, 0x1f04, 0xa850, 0x200c, + 0x6982, 0x8000, 0x200c, 0x697e, 0x080c, 0x53c9, 0x002e, 0x004e, + 0x015e, 0x00fe, 0x00ee, 0x00de, 0x0005, 0x2001, 0xb40e, 0x2004, + 0xd084, 0x0120, 0x080c, 0x15f4, 0x1904, 0xa816, 0x6013, 0x0100, + 0x6003, 0x0001, 0x6007, 0x0041, 0x080c, 0x6c52, 0x080c, 0x7134, + 0x0c28, 0x2069, 0xba92, 0x2d04, 0xa084, 0xff00, 0xa086, 0x1200, + 0x11a8, 0x2069, 0xba80, 0x686c, 0xa084, 0x00ff, 0x0016, 0x6110, + 0xa18c, 0x0700, 0xa10d, 0x6112, 0x001e, 0x6003, 0x0001, 0x6007, + 0x0043, 0x080c, 0x6c52, 0x080c, 0x7134, 0x0840, 0x6013, 0x0200, + 0x6003, 0x0001, 0x6007, 0x0041, 0x080c, 0x6c52, 0x080c, 0x7134, + 0x0804, 0xa85e, 0x2001, 0xb40d, 0x2004, 0xd0ec, 0x0120, 0x2011, + 0x8049, 0x080c, 0x3e8a, 0x6013, 0x0300, 0x0010, 0x6013, 0x0100, + 0x6003, 0x0001, 0x6007, 0x0041, 0x080c, 0x6c52, 0x080c, 0x7134, + 0x0804, 0xa85e, 0x6013, 0x0500, 0x0c98, 0x6013, 0x0600, 0x0804, + 0xa879, 0x6013, 0x0200, 0x0804, 0xa879, 0xa186, 0x0013, 0x1170, + 0x6004, 0xa08a, 0x0040, 0x0a0c, 0x1511, 0xa08a, 0x0053, 0x1a0c, + 0x1511, 0xa082, 0x0040, 0x2008, 0x0804, 0xa94f, 0xa186, 0x0051, + 0x0138, 0xa186, 0x0047, 0x11d8, 0x6004, 0xa086, 0x0041, 0x0518, + 0x2001, 0x0109, 0x2004, 0xd084, 0x01f0, 0x0126, 0x2091, 0x2800, + 0x0006, 0x0016, 0x0026, 0x080c, 0x6b39, 0x002e, 0x001e, 0x000e, + 0x012e, 0x6000, 0xa086, 0x0002, 0x1170, 0x0804, 0xa992, 0xa186, + 0x0027, 0x0120, 0xa186, 0x0014, 0x190c, 0x1511, 0x6004, 0xa082, + 0x0040, 0x2008, 0x001a, 0x080c, 0x8606, 0x0005, 0xa919, 0xa91b, + 0xa91b, 0xa93f, 0xa919, 0xa919, 0xa919, 0xa919, 0xa919, 0xa919, + 0xa919, 0xa919, 0xa919, 0xa919, 0xa919, 0xa919, 0xa919, 0xa919, + 0xa919, 0x080c, 0x1511, 0x080c, 0x7055, 0x080c, 0x7134, 0x0036, + 0x00d6, 0x6010, 0xa06d, 0x01c0, 0xad84, 0xf000, 0x01a8, 0x6003, + 0x0002, 0x6018, 0x2004, 0xd0bc, 0x1178, 0x2019, 0x0004, 0x080c, + 0xb01c, 0x6013, 0x0000, 0x6014, 0xa005, 0x1120, 0x2001, 0xb6b7, + 0x2004, 0x6016, 0x6003, 0x0007, 0x00de, 0x003e, 0x0005, 0x00d6, + 0x080c, 0x7055, 0x080c, 0x7134, 0x080c, 0x9beb, 0x0120, 0x6010, + 0x2068, 0x080c, 0x160b, 0x080c, 0x9dae, 0x00de, 0x0005, 0x0002, + 0xa963, 0xa980, 0xa96c, 0xa98c, 0xa963, 0xa963, 0xa963, 0xa963, + 0xa963, 0xa963, 0xa963, 0xa963, 0xa963, 0xa963, 0xa963, 0xa963, + 0xa963, 0xa963, 0xa963, 0x080c, 0x1511, 0x6010, 0xa088, 0x0013, + 0x2104, 0xa085, 0x0400, 0x200a, 0x080c, 0x7055, 0x6010, 0xa080, + 0x0013, 0x2004, 0xd0b4, 0x0138, 0x6003, 0x0007, 0x2009, 0x0043, + 0x080c, 0x85ef, 0x0010, 0x6003, 0x0002, 0x080c, 0x7134, 0x0005, + 0x080c, 0x7055, 0x080c, 0xb25a, 0x1120, 0x080c, 0x6ab4, 0x080c, + 0x85c0, 0x080c, 0x7134, 0x0005, 0x080c, 0x7055, 0x2009, 0x0041, + 0x0804, 0xaadb, 0xa182, 0x0040, 0x0002, 0xa9a8, 0xa9aa, 0xa9a8, + 0xa9a8, 0xa9a8, 0xa9a8, 0xa9a8, 0xa9ab, 0xa9a8, 0xa9a8, 0xa9a8, + 0xa9a8, 0xa9a8, 0xa9a8, 0xa9a8, 0xa9a8, 0xa9a8, 0xa9b6, 0xa9a8, + 0x080c, 0x1511, 0x0005, 0x6003, 0x0004, 0x6110, 0x20e1, 0x0005, + 0x3d18, 0x3e20, 0x2c10, 0x080c, 0x1856, 0x0005, 0x00d6, 0x080c, + 0x6ab4, 0x00de, 0x080c, 0xb2bd, 0x080c, 0x85c0, 0x0005, 0xa182, + 0x0040, 0x0002, 0xa9d5, 0xa9d5, 0xa9d5, 0xa9d5, 0xa9d5, 0xa9d5, + 0xa9d5, 0xa9d7, 0xa9d5, 0xa9da, 0xaa13, 0xa9d5, 0xa9d5, 0xa9d5, + 0xa9d5, 0xaa13, 0xa9d5, 0xa9d5, 0xa9d5, 0x080c, 0x1511, 0x080c, + 0x8606, 0x0005, 0x2001, 0xb472, 0x2004, 0xd0e4, 0x0158, 0x2001, + 0x0100, 0x2004, 0xa082, 0x0005, 0x0228, 0x2001, 0x011f, 0x2004, + 0x6036, 0x0010, 0x6037, 0x0000, 0x080c, 0x70e7, 0x080c, 0x71f1, + 0x6010, 0x00d6, 0x2068, 0x684c, 0xd0fc, 0x0150, 0xa08c, 0x0003, + 0xa18e, 0x0002, 0x0168, 0x2009, 0x0041, 0x00de, 0x0804, 0xaadb, + 0x6003, 0x0007, 0x6017, 0x0000, 0x080c, 0x6ab4, 0x00de, 0x0005, + 0x080c, 0xb25a, 0x0110, 0x00de, 0x0005, 0x080c, 0x6ab4, 0x080c, + 0x85c0, 0x00de, 0x0ca0, 0x0036, 0x080c, 0x70e7, 0x080c, 0x71f1, + 0x6010, 0x00d6, 0x2068, 0x6018, 0x2004, 0xd0bc, 0x0188, 0x684c, + 0xa084, 0x0003, 0xa086, 0x0002, 0x0140, 0x687c, 0x632c, 0xa31a, + 0x632e, 0x6880, 0x6328, 0xa31b, 0x632a, 0x6003, 0x0002, 0x0080, + 0x2019, 0x0004, 0x080c, 0xb01c, 0x6014, 0xa005, 0x1128, 0x2001, + 0xb6b7, 0x2004, 0x8003, 0x6016, 0x6013, 0x0000, 0x6003, 0x0007, + 0x00de, 0x003e, 0x0005, 0xa186, 0x0013, 0x1150, 0x6004, 0xa086, + 0x0042, 0x190c, 0x1511, 0x080c, 0x7055, 0x080c, 0x7134, 0x0005, + 0xa186, 0x0027, 0x0118, 0xa186, 0x0014, 0x1180, 0x6004, 0xa086, + 0x0042, 0x190c, 0x1511, 0x2001, 0x0007, 0x080c, 0x4eeb, 0x080c, + 0x7055, 0x080c, 0x9dae, 0x080c, 0x7134, 0x0005, 0xa182, 0x0040, + 0x0002, 0xaa7c, 0xaa7c, 0xaa7c, 0xaa7c, 0xaa7c, 0xaa7c, 0xaa7c, + 0xaa7e, 0xaa8a, 0xaa7c, 0xaa7c, 0xaa7c, 0xaa7c, 0xaa7c, 0xaa7c, + 0xaa7c, 0xaa7c, 0xaa7c, 0xaa7c, 0x080c, 0x1511, 0x0036, 0x0046, + 0x20e1, 0x0005, 0x3d18, 0x3e20, 0x2c10, 0x080c, 0x1856, 0x004e, + 0x003e, 0x0005, 0x6010, 0x00d6, 0x2068, 0x6810, 0x6a14, 0x0006, + 0x0046, 0x0056, 0x6c7c, 0xa422, 0x6d80, 0x2200, 0xa52b, 0x602c, + 0xa420, 0x642e, 0x6028, 0xa529, 0x652a, 0x005e, 0x004e, 0x000e, + 0xa20d, 0x1178, 0x684c, 0xd0fc, 0x0120, 0x2009, 0x0041, 0x00de, + 0x0490, 0x6003, 0x0007, 0x6017, 0x0000, 0x080c, 0x6ab4, 0x00de, + 0x0005, 0x0006, 0x00f6, 0x2c78, 0x080c, 0x52c6, 0x00fe, 0x000e, + 0x0120, 0x6003, 0x0002, 0x00de, 0x0005, 0x2009, 0xb40d, 0x210c, + 0xd19c, 0x0118, 0x6003, 0x0007, 0x0010, 0x6003, 0x0006, 0x0021, + 0x080c, 0x6ab6, 0x00de, 0x0005, 0xd2fc, 0x0140, 0x8002, 0x8000, + 0x8212, 0xa291, 0x0000, 0x2009, 0x0009, 0x0010, 0x2009, 0x0015, + 0x6a6a, 0x6866, 0x0005, 0xa182, 0x0040, 0x0208, 0x0062, 0xa186, + 0x0013, 0x0120, 0xa186, 0x0014, 0x190c, 0x1511, 0x6020, 0xd0dc, + 0x090c, 0x1511, 0x0005, 0xaafe, 0xab05, 0xab11, 0xab1d, 0xaafe, + 0xaafe, 0xaafe, 0xab2c, 0xaafe, 0xab00, 0xab00, 0xaafe, 0xaafe, + 0xaafe, 0xaafe, 0xab00, 0xaafe, 0xab00, 0xaafe, 0x080c, 0x1511, + 0x6020, 0xd0dc, 0x090c, 0x1511, 0x0005, 0x6003, 0x0001, 0x6106, + 0x080c, 0x6c52, 0x0126, 0x2091, 0x8000, 0x080c, 0x7134, 0x012e, + 0x0005, 0x6003, 0x0001, 0x6106, 0x080c, 0x6c52, 0x0126, 0x2091, + 0x8000, 0x080c, 0x7134, 0x012e, 0x0005, 0x6003, 0x0003, 0x6106, + 0x2c10, 0x080c, 0x1f7a, 0x0126, 0x2091, 0x8000, 0x080c, 0x6cb5, + 0x080c, 0x71f1, 0x012e, 0x0005, 0xa016, 0x080c, 0x1856, 0x0005, + 0x0126, 0x2091, 0x8000, 0x0036, 0x00d6, 0xa182, 0x0040, 0x0023, + 0x00de, 0x003e, 0x012e, 0x0005, 0xab4c, 0xab4e, 0xab60, 0xab7b, + 0xab4c, 0xab4c, 0xab4c, 0xab90, 0xab4c, 0xab4c, 0xab4c, 0xab4c, + 0xab4c, 0xab4c, 0xab4c, 0xab4c, 0x080c, 0x1511, 0x6010, 0x2068, + 0x684c, 0xd0fc, 0x01f8, 0xa09c, 0x0003, 0xa39e, 0x0003, 0x01d0, + 0x6003, 0x0001, 0x6106, 0x080c, 0x6c52, 0x080c, 0x7134, 0x0498, + 0x6010, 0x2068, 0x684c, 0xd0fc, 0x0168, 0xa09c, 0x0003, 0xa39e, + 0x0003, 0x0140, 0x6003, 0x0001, 0x6106, 0x080c, 0x6c52, 0x080c, + 0x7134, 0x0408, 0x6013, 0x0000, 0x6017, 0x0000, 0x2019, 0x0004, + 0x080c, 0xb01c, 0x00c0, 0x6010, 0x2068, 0x684c, 0xd0fc, 0x0d90, + 0xa09c, 0x0003, 0xa39e, 0x0003, 0x0d68, 0x6003, 0x0003, 0x6106, + 0x2c10, 0x080c, 0x1f7a, 0x080c, 0x6cb5, 0x080c, 0x71f1, 0x0018, + 0xa016, 0x080c, 0x1856, 0x0005, 0x080c, 0x7055, 0x6110, 0x81ff, + 0x0158, 0x00d6, 0x2168, 0x080c, 0xb303, 0x0036, 0x2019, 0x0029, + 0x080c, 0xb01c, 0x003e, 0x00de, 0x080c, 0x9dae, 0x080c, 0x7134, + 0x0005, 0x080c, 0x70e7, 0x6110, 0x81ff, 0x0158, 0x00d6, 0x2168, + 0x080c, 0xb303, 0x0036, 0x2019, 0x0029, 0x080c, 0xb01c, 0x003e, + 0x00de, 0x080c, 0x9dae, 0x080c, 0x71f1, 0x0005, 0xa182, 0x0085, + 0x0002, 0xabca, 0xabc8, 0xabc8, 0xabd6, 0xabc8, 0xabc8, 0xabc8, + 0x080c, 0x1511, 0x6003, 0x000b, 0x6106, 0x080c, 0x6c52, 0x0126, + 0x2091, 0x8000, 0x080c, 0x7134, 0x012e, 0x0005, 0x0026, 0x00e6, + 0x080c, 0xb253, 0x0118, 0x080c, 0x85c0, 0x00c8, 0x2071, 0xba80, + 0x7224, 0x6212, 0x7220, 0x080c, 0xaeca, 0x0118, 0x6007, 0x0086, + 0x0040, 0x6007, 0x0087, 0x7224, 0xa296, 0xffff, 0x1110, 0x6007, + 0x0086, 0x6003, 0x0001, 0x080c, 0x6c52, 0x080c, 0x7134, 0x00ee, + 0x002e, 0x0005, 0xa186, 0x0013, 0x1160, 0x6004, 0xa08a, 0x0085, + 0x0a0c, 0x1511, 0xa08a, 0x008c, 0x1a0c, 0x1511, 0xa082, 0x0085, + 0x00a2, 0xa186, 0x0027, 0x0130, 0xa186, 0x0014, 0x0118, 0x080c, + 0x8606, 0x0050, 0x2001, 0x0007, 0x080c, 0x4eeb, 0x080c, 0x7055, + 0x080c, 0x9dae, 0x080c, 0x7134, 0x0005, 0xac24, 0xac26, 0xac26, + 0xac24, 0xac24, 0xac24, 0xac24, 0x080c, 0x1511, 0x080c, 0x7055, + 0x080c, 0x9dae, 0x080c, 0x7134, 0x0005, 0xa182, 0x0085, 0x0a0c, + 0x1511, 0xa182, 0x008c, 0x1a0c, 0x1511, 0xa182, 0x0085, 0x0002, + 0xac3f, 0xac3f, 0xac3f, 0xac41, 0xac3f, 0xac3f, 0xac3f, 0x080c, + 0x1511, 0x0005, 0xa186, 0x0013, 0x0148, 0xa186, 0x0014, 0x0130, + 0xa186, 0x0027, 0x0118, 0x080c, 0x8606, 0x0030, 0x080c, 0x7055, + 0x080c, 0x9dae, 0x080c, 0x7134, 0x0005, 0x0036, 0x080c, 0xb2bd, + 0x603f, 0x0000, 0x2019, 0x000b, 0x0031, 0x601f, 0x0006, 0x6003, + 0x0007, 0x003e, 0x0005, 0x0126, 0x0036, 0x2091, 0x8000, 0x0086, + 0x2c40, 0x0096, 0x2049, 0x0000, 0x080c, 0x80da, 0x009e, 0x008e, + 0x1578, 0x0076, 0x2c38, 0x080c, 0x8179, 0x007e, 0x1548, 0x6000, + 0xa086, 0x0000, 0x0528, 0x601c, 0xa086, 0x0007, 0x0508, 0x00d6, + 0x6000, 0xa086, 0x0004, 0x1150, 0x080c, 0xb2bd, 0x601f, 0x0007, + 0x2001, 0xb6b6, 0x2004, 0x6016, 0x080c, 0x1944, 0x6010, 0x2068, + 0x080c, 0x9beb, 0x0110, 0x080c, 0xb01c, 0x00de, 0x6013, 0x0000, + 0x080c, 0xb2bd, 0x601f, 0x0007, 0x2001, 0xb6b6, 0x2004, 0x6016, + 0x003e, 0x012e, 0x0005, 0x00f6, 0x00c6, 0x0036, 0x0156, 0x2079, + 0xba80, 0x7938, 0x783c, 0x080c, 0x27e3, 0x15b0, 0x0016, 0x00c6, + 0x080c, 0x4f6a, 0x1578, 0x001e, 0x002e, 0x0026, 0x0016, 0x2019, + 0x0029, 0x080c, 0x823c, 0x080c, 0x6dba, 0x0076, 0x2039, 0x0000, + 0x080c, 0x6cc7, 0x007e, 0x001e, 0x0076, 0x2039, 0x0000, 0x080c, + 0xae05, 0x007e, 0x080c, 0x516b, 0x0026, 0x6204, 0xa294, 0xff00, + 0x8217, 0xa286, 0x0006, 0x0118, 0xa286, 0x0004, 0x1118, 0x62a0, + 0x080c, 0x2d19, 0x002e, 0x001e, 0x080c, 0x4bc5, 0x6612, 0x6516, + 0xa006, 0x0010, 0x00ce, 0x001e, 0x015e, 0x003e, 0x00ce, 0x00fe, + 0x0005, 0x00c6, 0x00d6, 0x00e6, 0x0016, 0x2009, 0xb421, 0x2104, + 0xa086, 0x0074, 0x1904, 0xad3e, 0x2069, 0xba8e, 0x690c, 0xa182, + 0x0100, 0x06c0, 0x6908, 0xa184, 0x8000, 0x05e8, 0x2001, 0xb69e, + 0x2004, 0xa005, 0x1160, 0x6018, 0x2070, 0x7010, 0xa084, 0x00ff, + 0x0118, 0x7000, 0xd0f4, 0x0118, 0xa184, 0x0800, 0x0560, 0x6910, + 0xa18a, 0x0001, 0x0610, 0x6914, 0x2069, 0xbaae, 0x6904, 0x81ff, + 0x1198, 0x690c, 0xa182, 0x0100, 0x02a8, 0x6908, 0x81ff, 0x1178, + 0x6910, 0xa18a, 0x0001, 0x0288, 0x6918, 0xa18a, 0x0001, 0x0298, + 0x00d0, 0x6013, 0x0100, 0x00a0, 0x6013, 0x0300, 0x0088, 0x6013, + 0x0500, 0x0070, 0x6013, 0x0700, 0x0058, 0x6013, 0x0900, 0x0040, + 0x6013, 0x0b00, 0x0028, 0x6013, 0x0f00, 0x0010, 0x6013, 0x2d00, + 0xa085, 0x0001, 0x0008, 0xa006, 0x001e, 0x00ee, 0x00de, 0x00ce, + 0x0005, 0x00c6, 0x00d6, 0x0026, 0x0036, 0x0156, 0x6218, 0x2268, + 0x6b04, 0xa394, 0x00ff, 0xa286, 0x0006, 0x0190, 0xa286, 0x0004, + 0x0178, 0xa394, 0xff00, 0x8217, 0xa286, 0x0006, 0x0148, 0xa286, + 0x0004, 0x0130, 0x00c6, 0x2d60, 0x080c, 0x4f79, 0x00ce, 0x04c0, + 0x2011, 0xba96, 0xad98, 0x000a, 0x20a9, 0x0004, 0x080c, 0x907a, + 0x1580, 0x2011, 0xba9a, 0xad98, 0x0006, 0x20a9, 0x0004, 0x080c, + 0x907a, 0x1538, 0x0046, 0x0016, 0x6aa0, 0xa294, 0x00ff, 0x8227, + 0xa006, 0x2009, 0xb453, 0x210c, 0xd1a4, 0x0138, 0x2009, 0x0029, + 0x080c, 0xb06b, 0x6800, 0xc0e5, 0x6802, 0x2019, 0x0029, 0x080c, + 0x6dba, 0x0076, 0x2039, 0x0000, 0x080c, 0x6cc7, 0x2c08, 0x080c, + 0xae05, 0x007e, 0x2001, 0x0007, 0x080c, 0x4eeb, 0x001e, 0x004e, + 0xa006, 0x015e, 0x003e, 0x002e, 0x00de, 0x00ce, 0x0005, 0x00d6, + 0x2069, 0xba8e, 0x6800, 0xa086, 0x0800, 0x0118, 0x6013, 0x0000, + 0x0008, 0xa006, 0x00de, 0x0005, 0x00c6, 0x00f6, 0x0016, 0x0026, + 0x0036, 0x0156, 0x2079, 0xba8c, 0x7930, 0x7834, 0x080c, 0x27e3, + 0x11a0, 0x080c, 0x4f6a, 0x1188, 0x2011, 0xba90, 0xac98, 0x000a, + 0x20a9, 0x0004, 0x080c, 0x907a, 0x1140, 0x2011, 0xba94, 0xac98, + 0x0006, 0x20a9, 0x0004, 0x080c, 0x907a, 0x015e, 0x003e, 0x002e, + 0x001e, 0x00fe, 0x00ce, 0x0005, 0x00c6, 0x0006, 0x0016, 0x0026, + 0x0036, 0x0156, 0x2011, 0xba83, 0x2204, 0x8211, 0x220c, 0x080c, + 0x27e3, 0x11a0, 0x080c, 0x4f6a, 0x1188, 0x2011, 0xba96, 0xac98, + 0x000a, 0x20a9, 0x0004, 0x080c, 0x907a, 0x1140, 0x2011, 0xba9a, + 0xac98, 0x0006, 0x20a9, 0x0004, 0x080c, 0x907a, 0x015e, 0x003e, + 0x002e, 0x001e, 0x000e, 0x00ce, 0x0005, 0x00e6, 0x00c6, 0x0086, + 0x0076, 0x0066, 0x0056, 0x0046, 0x0026, 0x0126, 0x2091, 0x8000, + 0x2740, 0x2029, 0xb6e9, 0x252c, 0x2021, 0xb6ef, 0x2424, 0x2061, + 0xbc00, 0x2071, 0xb400, 0x7648, 0x7068, 0x81ff, 0x0150, 0x0006, + 0xa186, 0xb7f4, 0x000e, 0x0128, 0x8001, 0xa602, 0x1a04, 0xae86, + 0x0018, 0xa606, 0x0904, 0xae86, 0x2100, 0xac06, 0x0904, 0xae7d, + 0x080c, 0xb093, 0x0904, 0xae7d, 0x671c, 0xa786, 0x0001, 0x0904, + 0xaea1, 0xa786, 0x0004, 0x0904, 0xaea1, 0xa786, 0x0007, 0x05e8, + 0x2500, 0xac06, 0x05d0, 0x2400, 0xac06, 0x05b8, 0x080c, 0xb0a3, + 0x15a0, 0x88ff, 0x0118, 0x6050, 0xa906, 0x1578, 0x00d6, 0x6000, + 0xa086, 0x0004, 0x1120, 0x0016, 0x080c, 0x1944, 0x001e, 0xa786, + 0x0008, 0x1148, 0x080c, 0x9de9, 0x1130, 0x080c, 0x8bbc, 0x00de, + 0x080c, 0x9dae, 0x00d0, 0x6010, 0x2068, 0x080c, 0x9beb, 0x0190, + 0xa786, 0x0003, 0x1528, 0x6837, 0x0103, 0x6b4a, 0x6847, 0x0000, + 0x080c, 0xb303, 0x0016, 0x080c, 0x9e5d, 0x080c, 0x53c9, 0x001e, + 0x080c, 0x9da2, 0x00de, 0x080c, 0x9dae, 0xace0, 0x0018, 0x2001, + 0xb417, 0x2004, 0xac02, 0x1210, 0x0804, 0xae19, 0x012e, 0x002e, + 0x004e, 0x005e, 0x006e, 0x007e, 0x008e, 0x00ce, 0x00ee, 0x0005, + 0xa786, 0x0006, 0x1150, 0xa386, 0x0005, 0x0128, 0x080c, 0xb303, + 0x080c, 0xb01c, 0x08f8, 0x00de, 0x0c00, 0xa786, 0x000a, 0x0968, + 0x0850, 0x080c, 0xb0a3, 0x19c8, 0x81ff, 0x09b8, 0xa180, 0x0001, + 0x2004, 0xa086, 0x0018, 0x0130, 0xa180, 0x0001, 0x2004, 0xa086, + 0x002d, 0x1958, 0x6000, 0xa086, 0x0002, 0x1938, 0x080c, 0x9dd8, + 0x0130, 0x080c, 0x9de9, 0x1908, 0x080c, 0x8bbc, 0x0038, 0x080c, + 0x2c86, 0x080c, 0x9de9, 0x1110, 0x080c, 0x8bbc, 0x080c, 0x9dae, + 0x0804, 0xae7d, 0x00c6, 0x00e6, 0x0016, 0x2c08, 0x2170, 0xa006, + 0x080c, 0xb03d, 0x001e, 0x0120, 0x601c, 0xa084, 0x000f, 0x001b, + 0x00ee, 0x00ce, 0x0005, 0xaee3, 0xaee3, 0xaee3, 0xaee3, 0xaee3, + 0xaee3, 0xaee5, 0xaee3, 0xa006, 0x0005, 0x0046, 0x0016, 0x7018, + 0xa080, 0x0028, 0x2024, 0xa4a4, 0x00ff, 0x8427, 0x2c00, 0x2009, + 0x0020, 0x080c, 0xb06b, 0x001e, 0x004e, 0x0036, 0x2019, 0x0002, + 0x080c, 0xac63, 0x003e, 0xa085, 0x0001, 0x0005, 0x2001, 0x0001, + 0x080c, 0x4eac, 0x0156, 0x0016, 0x0026, 0x0036, 0x20a9, 0x0004, + 0x2019, 0xb405, 0x2011, 0xba96, 0x080c, 0x907a, 0x003e, 0x002e, + 0x001e, 0x015e, 0xa005, 0x0005, 0x00f6, 0x00e6, 0x00c6, 0x0086, + 0x0076, 0x0066, 0x0026, 0x0126, 0x2091, 0x8000, 0x2740, 0x2061, + 0xbc00, 0x2079, 0x0001, 0x8fff, 0x0904, 0xaf72, 0x2071, 0xb400, + 0x7648, 0x7068, 0x8001, 0xa602, 0x1a04, 0xaf72, 0x88ff, 0x0128, + 0x2800, 0xac06, 0x15b0, 0x2079, 0x0000, 0x080c, 0xb093, 0x0588, + 0x2400, 0xac06, 0x0570, 0x671c, 0xa786, 0x0006, 0x1550, 0xa786, + 0x0007, 0x0538, 0x88ff, 0x1140, 0x6018, 0xa206, 0x1510, 0x85ff, + 0x0118, 0x6050, 0xa106, 0x11e8, 0x00d6, 0x6000, 0xa086, 0x0004, + 0x1150, 0x080c, 0xb2bd, 0x601f, 0x0007, 0x2001, 0xb6b6, 0x2004, + 0x6016, 0x080c, 0x1944, 0x6010, 0x2068, 0x080c, 0x9beb, 0x0120, + 0x0046, 0x080c, 0xb01c, 0x004e, 0x00de, 0x080c, 0x9dae, 0x88ff, + 0x1198, 0xace0, 0x0018, 0x2001, 0xb417, 0x2004, 0xac02, 0x1210, + 0x0804, 0xaf23, 0xa006, 0x012e, 0x002e, 0x006e, 0x007e, 0x008e, + 0x00ce, 0x00ee, 0x00fe, 0x0005, 0xa8c5, 0x0001, 0x0ca0, 0x0076, + 0x0056, 0x0086, 0x2041, 0x0000, 0x2029, 0x0001, 0x2c20, 0x2019, + 0x0002, 0x6218, 0x0096, 0x2049, 0x0000, 0x080c, 0x80da, 0x009e, + 0x008e, 0x2039, 0x0000, 0x080c, 0x8179, 0x080c, 0xaf14, 0x005e, + 0x007e, 0x0005, 0x0026, 0x0046, 0x0056, 0x0076, 0x00c6, 0x0156, + 0x2c20, 0x2128, 0x20a9, 0x007f, 0x2009, 0x0000, 0x0016, 0x0036, + 0x080c, 0x4f6a, 0x11b0, 0x2c10, 0x0056, 0x0086, 0x2041, 0x0000, + 0x2508, 0x2029, 0x0001, 0x0096, 0x2049, 0x0000, 0x080c, 0x80da, + 0x009e, 0x008e, 0x2039, 0x0000, 0x080c, 0x8179, 0x080c, 0xaf14, + 0x005e, 0x003e, 0x001e, 0x8108, 0x1f04, 0xafa6, 0x015e, 0x00ce, + 0x007e, 0x005e, 0x004e, 0x002e, 0x0005, 0x0076, 0x0056, 0x6218, + 0x0086, 0x2041, 0x0000, 0x2029, 0x0001, 0x2019, 0x0048, 0x0096, + 0x2049, 0x0000, 0x080c, 0x80da, 0x009e, 0x008e, 0x2039, 0x0000, + 0x080c, 0x8179, 0x2c20, 0x080c, 0xaf14, 0x005e, 0x007e, 0x0005, + 0x0026, 0x0046, 0x0056, 0x0076, 0x00c6, 0x0156, 0x2c20, 0x20a9, + 0x007f, 0x2009, 0x0000, 0x0016, 0x0036, 0x080c, 0x4f6a, 0x11c0, + 0x2c10, 0x0086, 0x2041, 0x0000, 0x2828, 0x0046, 0x2021, 0x0001, + 0x080c, 0xb29f, 0x004e, 0x0096, 0x2049, 0x0000, 0x080c, 0x80da, + 0x009e, 0x008e, 0x2039, 0x0000, 0x080c, 0x8179, 0x080c, 0xaf14, + 0x003e, 0x001e, 0x8108, 0x1f04, 0xaff3, 0x015e, 0x00ce, 0x007e, + 0x005e, 0x004e, 0x002e, 0x0005, 0x0016, 0x00f6, 0x3800, 0xd08c, + 0x0130, 0xad82, 0x1000, 0x02b0, 0xad82, 0xb400, 0x0230, 0xad82, + 0xec00, 0x0280, 0xad82, 0xffff, 0x1268, 0x6800, 0xa07d, 0x0138, + 0x6803, 0x0000, 0x6b52, 0x080c, 0x53c9, 0x2f68, 0x0cb0, 0x6b52, + 0x080c, 0x53c9, 0x00fe, 0x001e, 0x0005, 0x00e6, 0x0046, 0x0036, + 0x2061, 0xbc00, 0xa005, 0x1138, 0x2071, 0xb400, 0x7448, 0x7068, + 0x8001, 0xa402, 0x12d8, 0x2100, 0xac06, 0x0168, 0x6000, 0xa086, + 0x0000, 0x0148, 0x6008, 0xa206, 0x1130, 0x6018, 0xa1a0, 0x0006, + 0x2424, 0xa406, 0x0140, 0xace0, 0x0018, 0x2001, 0xb417, 0x2004, + 0xac02, 0x1220, 0x0c40, 0xa085, 0x0001, 0x0008, 0xa006, 0x003e, + 0x004e, 0x00ee, 0x0005, 0x00d6, 0x0006, 0x080c, 0x15f4, 0x000e, + 0x090c, 0x1511, 0x6837, 0x010d, 0x685e, 0x0026, 0x2010, 0x080c, + 0x9bdb, 0x2001, 0x0000, 0x0120, 0x2200, 0xa080, 0x0014, 0x2004, + 0x002e, 0x684a, 0x6956, 0x6c46, 0x684f, 0x0000, 0x2001, 0xb6be, + 0x2004, 0x6852, 0xa006, 0x68b2, 0x6802, 0x683a, 0x685a, 0x080c, + 0x53c9, 0x00de, 0x0005, 0x6700, 0xa786, 0x0000, 0x0158, 0xa786, + 0x0001, 0x0140, 0xa786, 0x000a, 0x0128, 0xa786, 0x0009, 0x0110, + 0xa085, 0x0001, 0x0005, 0x00e6, 0x6018, 0x2070, 0x70a0, 0xa206, + 0x00ee, 0x0005, 0x0016, 0x6004, 0xa08e, 0x001e, 0x11a0, 0x8007, + 0x6130, 0xa18c, 0x00ff, 0xa105, 0x6032, 0x6007, 0x0085, 0x6003, + 0x000b, 0x601f, 0x0005, 0x2001, 0xb6b7, 0x2004, 0x6016, 0x080c, + 0x6c52, 0x080c, 0x7134, 0x001e, 0x0005, 0xe000, 0xe000, 0x0005, + 0x6020, 0xd0e4, 0x0158, 0xd0cc, 0x0118, 0x080c, 0x9ec6, 0x0030, + 0x080c, 0xb2bd, 0x080c, 0x6ab4, 0x080c, 0x85c0, 0x0005, 0xa280, + 0x0007, 0x2004, 0xa084, 0x000f, 0x0002, 0xb0e6, 0xb0e6, 0xb0e6, + 0xb0eb, 0xb0e6, 0xb0e8, 0xb0e8, 0xb0e6, 0xb0e8, 0xa006, 0x0005, + 0x00c6, 0x2260, 0x00ce, 0xa085, 0x0001, 0x0005, 0xa280, 0x0007, + 0x2004, 0xa084, 0x000f, 0x0002, 0xb0fd, 0xb0fd, 0xb0fd, 0xb0fd, + 0xb0fd, 0xb0fd, 0xb108, 0xb0fd, 0xb0fd, 0x6007, 0x003b, 0x602b, + 0x0009, 0x6013, 0x2a00, 0x6003, 0x0001, 0x080c, 0x6c52, 0x0005, + 0x00c6, 0x2260, 0x080c, 0xb2bd, 0x603f, 0x0000, 0x6020, 0xc0f4, + 0xc0cc, 0x6022, 0x6037, 0x0000, 0x00ce, 0x00d6, 0x2268, 0xa186, + 0x0007, 0x1904, 0xb163, 0x6810, 0xa005, 0x0138, 0xa080, 0x0013, + 0x2004, 0xd0fc, 0x1110, 0x00de, 0x08c0, 0x6007, 0x003a, 0x6003, + 0x0001, 0x080c, 0x6c52, 0x080c, 0x7134, 0x00c6, 0x2d60, 0x6100, + 0xa186, 0x0002, 0x1904, 0xb1ec, 0x6010, 0xa005, 0x1138, 0x6000, + 0xa086, 0x0007, 0x190c, 0x1511, 0x0804, 0xb1ec, 0xa08c, 0xf000, + 0x1130, 0x0028, 0x2068, 0x6800, 0xa005, 0x1de0, 0x2d00, 0xa080, + 0x0013, 0x2004, 0xa084, 0x0003, 0xa086, 0x0002, 0x1180, 0x6010, + 0x2068, 0x684c, 0xc0dc, 0xc0f4, 0x684e, 0x6850, 0xc0f4, 0xc0fc, + 0x6852, 0x2009, 0x0043, 0x080c, 0xaadb, 0x0804, 0xb1ec, 0x2009, + 0x0041, 0x0804, 0xb1e6, 0xa186, 0x0005, 0x15f0, 0x6810, 0xa080, + 0x0013, 0x2004, 0xd0bc, 0x1118, 0x00de, 0x0804, 0xb0fd, 0xd0b4, + 0x0128, 0xd0fc, 0x090c, 0x1511, 0x0804, 0xb11b, 0x6007, 0x003a, + 0x6003, 0x0001, 0x080c, 0x6c52, 0x080c, 0x7134, 0x00c6, 0x2d60, + 0x6100, 0xa186, 0x0002, 0x0120, 0xa186, 0x0004, 0x1904, 0xb1ec, + 0x2071, 0xb723, 0x7000, 0xa086, 0x0003, 0x1128, 0x7004, 0xac06, + 0x1110, 0x7003, 0x0000, 0x6810, 0xa080, 0x0013, 0x200c, 0xc1f4, + 0xc1dc, 0x2102, 0x8000, 0x200c, 0xc1f4, 0xc1fc, 0xc1bc, 0x2102, + 0x2009, 0x0042, 0x0804, 0xb1e6, 0x0036, 0x00d6, 0x00d6, 0x080c, + 0x15f4, 0x003e, 0x090c, 0x1511, 0x6837, 0x010d, 0x6803, 0x0000, + 0x683b, 0x0000, 0x685b, 0x0000, 0x6b5e, 0x6857, 0x0045, 0x2c00, + 0x6862, 0x6034, 0x6872, 0x2360, 0x6020, 0xc0dd, 0x6022, 0x6018, + 0xa080, 0x0028, 0x2004, 0xa084, 0x00ff, 0x8007, 0x6350, 0x6b4a, + 0x6846, 0x684f, 0x0000, 0x6853, 0x0000, 0x6d6a, 0x6e66, 0x686f, + 0x0001, 0x080c, 0x53c9, 0x2019, 0x0045, 0x6008, 0x2068, 0x080c, + 0xac63, 0x2d00, 0x600a, 0x601f, 0x0006, 0x6003, 0x0007, 0x6017, + 0x0000, 0x603f, 0x0000, 0x00de, 0x003e, 0x0038, 0x603f, 0x0000, + 0x6003, 0x0007, 0x080c, 0xaadb, 0x00ce, 0x00de, 0x0005, 0xa186, + 0x0013, 0x1128, 0x6004, 0xa082, 0x0085, 0x2008, 0x00c2, 0xa186, + 0x0027, 0x1178, 0x080c, 0x7055, 0x0036, 0x00d6, 0x6010, 0x2068, + 0x2019, 0x0004, 0x080c, 0xb01c, 0x00de, 0x003e, 0x080c, 0x7134, + 0x0005, 0xa186, 0x0014, 0x0d70, 0x080c, 0x8606, 0x0005, 0xb218, + 0xb216, 0xb216, 0xb216, 0xb216, 0xb216, 0xb218, 0x080c, 0x1511, + 0x080c, 0x7055, 0x6003, 0x000c, 0x080c, 0x7134, 0x0005, 0xa182, + 0x008c, 0x1220, 0xa182, 0x0085, 0x0208, 0x001a, 0x080c, 0x8606, + 0x0005, 0xb230, 0xb230, 0xb230, 0xb230, 0xb232, 0xb250, 0xb230, + 0x080c, 0x1511, 0x00d6, 0x2c68, 0x080c, 0x856a, 0x01a0, 0x6003, + 0x0001, 0x6007, 0x001e, 0x2009, 0xba8e, 0x210c, 0x6136, 0x2009, + 0xba8f, 0x210c, 0x613a, 0x600b, 0xffff, 0x6918, 0x611a, 0x601f, + 0x0004, 0x080c, 0x6c52, 0x2d60, 0x080c, 0x85c0, 0x00de, 0x0005, + 0x080c, 0x85c0, 0x0005, 0x00e6, 0x6018, 0x2070, 0x7000, 0xd0ec, + 0x00ee, 0x0005, 0x6010, 0xa08c, 0xf000, 0x0904, 0xb29e, 0xa080, + 0x0013, 0x200c, 0xd1ec, 0x05d0, 0x2001, 0xb472, 0x2004, 0xd0ec, + 0x05a8, 0x6003, 0x0002, 0x6020, 0xc0e5, 0x6022, 0xd1ac, 0x0180, + 0x00f6, 0x2c78, 0x080c, 0x52c2, 0x00fe, 0x0150, 0x2001, 0xb6b8, + 0x2004, 0x603e, 0x2009, 0xb472, 0x210c, 0xd1f4, 0x11e8, 0x0080, + 0x2009, 0xb472, 0x210c, 0xd1f4, 0x0128, 0x6020, 0xc0e4, 0x6022, + 0xa006, 0x00a0, 0x2001, 0xb6b8, 0x200c, 0x8103, 0xa100, 0x603e, + 0x6018, 0xa088, 0x002b, 0x2104, 0xa005, 0x0118, 0xa088, 0x0003, + 0x0cd0, 0x2c0a, 0x600f, 0x0000, 0xa085, 0x0001, 0x0005, 0x0016, + 0x00c6, 0x00e6, 0x6150, 0xa2f0, 0x002b, 0x2e04, 0x2060, 0x8cff, + 0x0180, 0x84ff, 0x1118, 0x6050, 0xa106, 0x1138, 0x600c, 0x2072, + 0x080c, 0x6ab4, 0x080c, 0x85c0, 0x0010, 0xacf0, 0x0003, 0x2e64, + 0x0c70, 0x00ee, 0x00ce, 0x001e, 0x0005, 0x00d6, 0x6018, 0xa0e8, + 0x002b, 0x2d04, 0xa005, 0x0140, 0xac06, 0x0120, 0x2d04, 0xa0e8, + 0x0003, 0x0cb8, 0x600c, 0x206a, 0x00de, 0x0005, 0x0026, 0x0036, + 0x0156, 0x2011, 0xb428, 0x2204, 0xa084, 0x00ff, 0x2019, 0xba8e, + 0x2334, 0xa636, 0x11d8, 0x8318, 0x2334, 0x2204, 0xa084, 0xff00, + 0xa636, 0x11a0, 0x2011, 0xba90, 0x6018, 0xa098, 0x000a, 0x20a9, + 0x0004, 0x080c, 0x907a, 0x1150, 0x2011, 0xba94, 0x6018, 0xa098, + 0x0006, 0x20a9, 0x0004, 0x080c, 0x907a, 0x1100, 0x015e, 0x003e, + 0x002e, 0x0005, 0x00e6, 0x2071, 0xb400, 0x080c, 0x4b80, 0x080c, + 0x2a7e, 0x00ee, 0x0005, 0x00e6, 0x6018, 0x2070, 0x7000, 0xd0fc, + 0x0108, 0x0011, 0x00ee, 0x0005, 0x6850, 0xc0e5, 0x6852, 0x0005, + 0x00e6, 0x00c6, 0x0076, 0x0066, 0x0056, 0x0046, 0x0026, 0x0016, + 0x0126, 0x2091, 0x8000, 0x2029, 0xb6e9, 0x252c, 0x2021, 0xb6ef, + 0x2424, 0x2061, 0xbc00, 0x2071, 0xb400, 0x7648, 0x7068, 0xa606, + 0x0578, 0x671c, 0xa786, 0x0001, 0x0118, 0xa786, 0x0008, 0x1500, + 0x2500, 0xac06, 0x01e8, 0x2400, 0xac06, 0x01d0, 0x080c, 0xb093, + 0x01b8, 0x080c, 0xb0a3, 0x11a0, 0x6000, 0xa086, 0x0004, 0x1120, + 0x0016, 0x080c, 0x1944, 0x001e, 0x080c, 0x9dd8, 0x1110, 0x080c, + 0x2c86, 0x080c, 0x9de9, 0x1110, 0x080c, 0x8bbc, 0x080c, 0x9dae, + 0xace0, 0x0018, 0x2001, 0xb417, 0x2004, 0xac02, 0x1208, 0x0858, + 0x012e, 0x001e, 0x002e, 0x004e, 0x005e, 0x006e, 0x007e, 0x00ce, + 0x00ee, 0x0005, 0x0126, 0x0006, 0x00e6, 0x0016, 0x2091, 0x8000, + 0x2071, 0xb440, 0xd5a4, 0x0118, 0x7034, 0x8000, 0x7036, 0xd5b4, + 0x0118, 0x7030, 0x8000, 0x7032, 0xd5ac, 0x0178, 0x2500, 0xa084, + 0x0007, 0xa08e, 0x0003, 0x0148, 0xa08e, 0x0004, 0x0130, 0xa08e, + 0x0005, 0x0118, 0x2071, 0xb44a, 0x04c9, 0x001e, 0x00ee, 0x000e, + 0x012e, 0x0005, 0x0126, 0x0006, 0x00e6, 0x0016, 0x2091, 0x8000, + 0x2071, 0xb440, 0xd5a4, 0x0118, 0x7034, 0x8000, 0x7036, 0xd5b4, + 0x0118, 0x7030, 0x8000, 0x7032, 0xd5ac, 0x0178, 0x2500, 0xa084, + 0x0007, 0xa08e, 0x0003, 0x0148, 0xa08e, 0x0004, 0x0130, 0xa08e, + 0x0005, 0x0118, 0x2071, 0xb44a, 0x0089, 0x001e, 0x00ee, 0x000e, + 0x012e, 0x0005, 0x0126, 0x0006, 0x00e6, 0x2091, 0x8000, 0x2071, + 0xb442, 0x0021, 0x00ee, 0x000e, 0x012e, 0x0005, 0x2e04, 0x8000, + 0x2072, 0x1220, 0x8e70, 0x2e04, 0x8000, 0x2072, 0x0005, 0x00e6, + 0x2071, 0xb440, 0x0c99, 0x00ee, 0x0005, 0x00e6, 0x2071, 0xb444, + 0x0c69, 0x00ee, 0x0005, 0x0126, 0x0006, 0x00e6, 0x2091, 0x8000, + 0x2071, 0xb440, 0x7044, 0x8000, 0x7046, 0x00ee, 0x000e, 0x012e, + 0x0005, 0x0001, 0x0002, 0x0004, 0x0008, 0x0010, 0x0020, 0x0040, + 0x0080, 0x0100, 0x0200, 0x0400, 0x0800, 0x1000, 0x2000, 0x4000, + 0x8000, 0x622c +}; +#ifdef UNIQUE_FW_NAME +unsigned short fw2200tp_length01 = 0xa3f2; +#else +unsigned short risc_code_length01 = 0xa3f2; +#endif + diff -urNp 2.4.19rc1/drivers/scsi/qla2xxx/ql2200ip_fw.h qlogic/drivers/scsi/qla2xxx/ql2200ip_fw.h --- 2.4.19rc1/drivers/scsi/qla2xxx/ql2200ip_fw.h Thu Jan 1 01:00:00 1970 +++ qlogic/drivers/scsi/qla2xxx/ql2200ip_fw.h Mon Jul 8 12:05:21 2002 @@ -0,0 +1,5868 @@ +/****************************************************************************** + * QLOGIC LINUX SOFTWARE + * + * QLogic ISP2x00 device driver for Linux 2.4.x + * Copyright (C) 2002 Qlogic Corporation + * (www.qlogic.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, 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. + * + *************************************************************************/ + +/************************************************************************ + * * + * -- ISP2200 Initiator/Target Firmware --- * + * IP and SCSI, Fabric (Public Loop), Point-point, and * + * expanded LUN addressing for FCTAPE * + * * + ************************************************************************ + */ +/* + * Firmware Version 2.02.03 (08:56 May 02, 2002) + */ + +#ifdef UNIQUE_FW_NAME +unsigned short fw2200ip_version = 2*1024+2; +#else +unsigned short risc_code_version = 2*1024+2; +#endif + +#ifdef UNIQUE_FW_NAME +unsigned char fw2200ip_version_str[] = {2,2,3}; +#else +unsigned char firmware_version[] = {2,2,3}; +#endif + +#ifdef UNIQUE_FW_NAME +#define fw2200ip_VERSION_STRING "2.02.03" +#else +#define FW_VERSION_STRING "2.02.03" +#endif + +#ifdef UNIQUE_FW_NAME +unsigned short fw2200ip_addr01 = 0x1000 ; +#else +unsigned short risc_code_addr01 = 0x1000 ; +#endif + +#ifdef UNIQUE_FW_NAME +unsigned short fw2200ip_code01[] = { +#else +unsigned short risc_code01[] = { +#endif + 0x0470, 0x0000, 0x0000, 0xb548, 0x0000, 0x0002, 0x0002, 0x0003, + 0x0037, 0x2043, 0x4f50, 0x5952, 0x4947, 0x4854, 0x2032, 0x3030, + 0x3120, 0x514c, 0x4f47, 0x4943, 0x2043, 0x4f52, 0x504f, 0x5241, + 0x5449, 0x4f4e, 0x2049, 0x5350, 0x3232, 0x3030, 0x2046, 0x6972, + 0x6d77, 0x6172, 0x6520, 0x2056, 0x6572, 0x7369, 0x6f6e, 0x2030, + 0x322e, 0x3032, 0x2e30, 0x3320, 0x2020, 0x2020, 0x2400, 0x20c1, + 0x0005, 0x2001, 0x017f, 0x2003, 0x0000, 0x20c9, 0xcbff, 0x2091, + 0x2000, 0x2059, 0x0000, 0x2b78, 0x7823, 0x0004, 0x2089, 0x2ada, + 0x2051, 0xc600, 0x2a70, 0x2029, 0xfe00, 0x2031, 0xffff, 0x2039, + 0xfde9, 0x2021, 0x0200, 0x0804, 0x1468, 0x20a1, 0xc548, 0xa00e, + 0x20a9, 0x08b8, 0x41a4, 0x3400, 0x7562, 0x7666, 0x775e, 0x746a, + 0x746e, 0x20a1, 0xce00, 0x7164, 0x810d, 0x810d, 0x810d, 0x810d, + 0xa18c, 0x000f, 0x2001, 0x000c, 0xa112, 0xa00e, 0x21a8, 0x41a4, + 0x3400, 0x8211, 0x1dd8, 0x7164, 0x3400, 0xa102, 0x0120, 0x0218, + 0x20a8, 0xa00e, 0x41a4, 0x3800, 0xd08c, 0x01d8, 0x2009, 0xc600, + 0x810d, 0x810d, 0x810d, 0x810d, 0xa18c, 0x000f, 0x2001, 0x0001, + 0xa112, 0x20a1, 0x1000, 0xa00e, 0x21a8, 0x41a4, 0x8211, 0x1de0, + 0x2009, 0xc600, 0x3400, 0xa102, 0x0120, 0x0218, 0x20a8, 0xa00e, + 0x41a4, 0x080c, 0x1411, 0x080c, 0x1638, 0x080c, 0x17d6, 0x080c, + 0x2032, 0x080c, 0x4ef4, 0x080c, 0x9527, 0x080c, 0x15bb, 0x080c, + 0x3032, 0x080c, 0x619d, 0x080c, 0x5703, 0x080c, 0x710b, 0x080c, + 0x6ea3, 0x080c, 0x2624, 0x080c, 0x7824, 0x080c, 0x6880, 0x080c, + 0x24e6, 0x080c, 0x25f2, 0x2091, 0x3009, 0x7823, 0x0000, 0x1004, + 0x10c7, 0x7820, 0xa086, 0x0002, 0x1150, 0x7823, 0x4000, 0x0e04, + 0x10bf, 0x781b, 0x0001, 0x2091, 0x5000, 0x2091, 0x4080, 0x2a70, + 0x7003, 0x0000, 0x2a70, 0x7000, 0xa08e, 0x0003, 0x1168, 0x080c, + 0x4076, 0x080c, 0x3059, 0x080c, 0x61eb, 0x080c, 0x5903, 0x080c, + 0x7148, 0x080c, 0x6ece, 0x0c70, 0x000b, 0x0c88, 0x10e8, 0x10e9, + 0x1214, 0x10e6, 0x12dd, 0x140e, 0x140f, 0x1410, 0x080c, 0x1515, + 0x0005, 0x0126, 0x00f6, 0x2091, 0x8000, 0x7000, 0xa086, 0x0001, + 0x1904, 0x11f1, 0x080c, 0x1588, 0x080c, 0x5ee2, 0x0150, 0x080c, + 0x5f08, 0x15c0, 0x2079, 0x0100, 0x7828, 0xa085, 0x1800, 0x782a, + 0x0488, 0x080c, 0x5e1a, 0x7000, 0xa086, 0x0001, 0x1904, 0x11f1, + 0x708c, 0xa086, 0x0028, 0x1904, 0x11f1, 0x2001, 0x0161, 0x2003, + 0x0001, 0x2079, 0x0100, 0x7827, 0xffff, 0x7a28, 0xa295, 0x1e2f, + 0x7a2a, 0x2011, 0x5db5, 0x080c, 0x6f71, 0x2011, 0x5da8, 0x080c, + 0x7034, 0x2011, 0x5df7, 0x080c, 0x6f71, 0x2011, 0x4dd1, 0x080c, + 0x6f71, 0x2011, 0x8030, 0x2019, 0x0000, 0x708b, 0x0000, 0x080c, + 0x1e7f, 0x00e8, 0x080c, 0x4784, 0x2079, 0x0100, 0x7844, 0xa005, + 0x1904, 0x11f1, 0x2011, 0x4dd1, 0x080c, 0x6f71, 0x2011, 0x5df7, + 0x080c, 0x6f71, 0x080c, 0x1e7f, 0x2001, 0xc8d4, 0x2004, 0x780e, + 0x7840, 0xa084, 0xfffb, 0x7842, 0x2011, 0x8010, 0x73cc, 0x080c, + 0x403a, 0x723c, 0xc284, 0x723e, 0x2001, 0xc60c, 0x200c, 0xc1ac, + 0x2102, 0x080c, 0x8d73, 0x2011, 0x0004, 0x080c, 0xac27, 0x080c, + 0x55a1, 0x080c, 0x5ee2, 0x0158, 0x080c, 0x4edd, 0x0140, 0x708b, + 0x0001, 0x70c7, 0x0000, 0x080c, 0x4921, 0x0804, 0x11f1, 0x080c, + 0x56cb, 0x0120, 0x7a0c, 0xc2b4, 0x7a0e, 0x0060, 0x7073, 0x0000, + 0x080c, 0xafcf, 0x70d4, 0xd09c, 0x1128, 0x70a0, 0xa005, 0x0110, + 0x080c, 0x4ebb, 0x70df, 0x0000, 0x70db, 0x0000, 0x72d4, 0x080c, + 0x5ee2, 0x1178, 0x2011, 0x0000, 0x0016, 0x080c, 0x2a5b, 0x2019, + 0xc8d6, 0x211a, 0x001e, 0x7053, 0xffff, 0x7057, 0x00ef, 0x7077, + 0x0000, 0x2079, 0xc652, 0x7804, 0xd0ac, 0x0108, 0xc295, 0x72d6, + 0x080c, 0x5ee2, 0x0118, 0xa296, 0x0004, 0x0548, 0x2011, 0x0001, + 0x080c, 0xac27, 0x709b, 0x0000, 0x709f, 0xffff, 0x7003, 0x0002, + 0x2079, 0x0100, 0x7827, 0x0003, 0x7828, 0xa085, 0x0003, 0x782a, + 0x00fe, 0x080c, 0x2c28, 0x2011, 0x0005, 0x080c, 0x8eb7, 0x080c, + 0x7e54, 0x080c, 0x5ee2, 0x0148, 0x00c6, 0x2061, 0x0100, 0x0016, + 0x080c, 0x2a5b, 0x61e2, 0x001e, 0x00ce, 0x012e, 0x0420, 0x709b, + 0x0000, 0x709f, 0xffff, 0x7003, 0x0002, 0x00f6, 0x2079, 0x0100, + 0x7827, 0x0003, 0x7828, 0xa085, 0x0003, 0x782a, 0x00fe, 0x2011, + 0x0005, 0x080c, 0x8eb7, 0x080c, 0x7e54, 0x080c, 0x5ee2, 0x0148, + 0x00c6, 0x2061, 0x0100, 0x0016, 0x080c, 0x2a5b, 0x61e2, 0x001e, + 0x00ce, 0x00fe, 0x012e, 0x0005, 0x00c6, 0x080c, 0x5ee2, 0x1118, + 0x20a9, 0x0100, 0x0010, 0x20a9, 0x0082, 0x080c, 0x5ee2, 0x1118, + 0x2009, 0x0000, 0x0010, 0x2009, 0x007e, 0x080c, 0x2f05, 0x8108, + 0x1f04, 0x1205, 0x00ce, 0x7073, 0x0000, 0x7074, 0xa084, 0x00ff, + 0x7076, 0x70a3, 0x0000, 0x0005, 0x0126, 0x2091, 0x8000, 0x7000, + 0xa086, 0x0002, 0x1904, 0x12db, 0x709c, 0xa086, 0xffff, 0x0130, + 0x080c, 0x2c28, 0x080c, 0x7e54, 0x0804, 0x12db, 0x70d4, 0xd0ac, + 0x1110, 0xd09c, 0x0540, 0xd084, 0x0530, 0x0006, 0x0016, 0x2001, + 0x0103, 0x2009, 0xc8d4, 0x210c, 0x2102, 0x001e, 0x000e, 0xd08c, + 0x01d0, 0x70d8, 0xa086, 0xffff, 0x0190, 0x080c, 0x2d87, 0x080c, + 0x7e54, 0x70d4, 0xd094, 0x1904, 0x12db, 0x2011, 0x0001, 0x2019, + 0x0000, 0x080c, 0x2dbd, 0x080c, 0x7e54, 0x0804, 0x12db, 0x70dc, + 0xa005, 0x1904, 0x12db, 0x7098, 0xa005, 0x1904, 0x12db, 0x70d4, + 0xd0a4, 0x0118, 0xd0b4, 0x0904, 0x12db, 0x080c, 0x56cb, 0x1904, + 0x12db, 0x2001, 0xc653, 0x2004, 0xd0ac, 0x01c8, 0x0156, 0x00c6, + 0x20a9, 0x007f, 0x2009, 0x0000, 0x0016, 0x080c, 0x52fd, 0x1118, + 0x6000, 0xd0ec, 0x1138, 0x001e, 0x8108, 0x1f04, 0x126c, 0x00ce, + 0x015e, 0x0028, 0x001e, 0x00ce, 0x015e, 0x0804, 0x12db, 0x0006, + 0x0016, 0x2001, 0x0103, 0x2009, 0xc8d4, 0x210c, 0x2102, 0x001e, + 0x000e, 0xa006, 0x2009, 0x0700, 0x20a9, 0x0002, 0x20a1, 0xc915, + 0x40a1, 0x7070, 0x8007, 0x7174, 0x810f, 0x20a9, 0x0002, 0x40a1, + 0x2009, 0x0000, 0x080c, 0x14fb, 0x2001, 0x0000, 0x810f, 0x20a9, + 0x0002, 0x40a1, 0xa006, 0x2009, 0x0200, 0x20a9, 0x0002, 0x20a1, + 0xc925, 0x40a1, 0x7030, 0xc08c, 0x7032, 0x7003, 0x0003, 0x709f, + 0xffff, 0x080c, 0x1581, 0xa006, 0x080c, 0x2933, 0x080c, 0x40ac, + 0x00f6, 0x2079, 0x0100, 0x080c, 0x5f08, 0x0150, 0x080c, 0x5ee2, + 0x7828, 0x0118, 0xa084, 0xe1ff, 0x0010, 0xa084, 0xffdf, 0x782a, + 0x00fe, 0x2001, 0xc928, 0x2004, 0xa086, 0x0005, 0x1120, 0x2011, + 0x0000, 0x080c, 0x8eb7, 0x2011, 0x0000, 0x080c, 0x8ec1, 0x080c, + 0x7e54, 0x080c, 0x7f2e, 0x012e, 0x0005, 0x0016, 0x0046, 0x00f6, + 0x0126, 0x2091, 0x8000, 0x2079, 0x0100, 0x2009, 0xc634, 0x2104, + 0xa005, 0x1110, 0x080c, 0x2a87, 0x2009, 0x00f7, 0x080c, 0x4ea4, + 0x7940, 0xa18c, 0x0010, 0x7942, 0x7924, 0xd1b4, 0x0110, 0x7827, + 0x0040, 0xd19c, 0x0110, 0x7827, 0x0008, 0x0006, 0x0036, 0x0156, + 0x7954, 0xd1ac, 0x1904, 0x134b, 0x080c, 0x5ef4, 0x0158, 0x080c, + 0x5f08, 0x1128, 0x2001, 0xc8e5, 0x2003, 0x0000, 0x0070, 0x080c, + 0x5eea, 0x0dc0, 0x2001, 0xc8e5, 0x2003, 0xaaaa, 0x2001, 0xc8e6, + 0x2003, 0x0001, 0x080c, 0x5e1a, 0x0058, 0x080c, 0x5ee2, 0x0140, + 0x2009, 0x00f8, 0x080c, 0x4ea4, 0x7843, 0x0090, 0x7843, 0x0010, + 0x20a9, 0x09c4, 0x7820, 0xd09c, 0x1138, 0x080c, 0x5ee2, 0x0138, + 0x7824, 0xd0ac, 0x1904, 0x13f5, 0x1f04, 0x132a, 0x0070, 0x7824, + 0x080c, 0x5efe, 0x0118, 0xd0ac, 0x1904, 0x13f5, 0xa084, 0x1800, + 0x0d98, 0x7003, 0x0001, 0x0804, 0x13f5, 0x2001, 0x0001, 0x080c, + 0x2933, 0x0804, 0x1404, 0x7850, 0xa084, 0x0180, 0x7852, 0x782f, + 0x0020, 0x20a9, 0x0046, 0x1d04, 0x1353, 0x080c, 0x701c, 0x1f04, + 0x1353, 0x7850, 0xa084, 0x0180, 0xa085, 0x0400, 0x7852, 0x782f, + 0x0000, 0x080c, 0x5ef4, 0x0158, 0x080c, 0x5f08, 0x1128, 0x2001, + 0xc8e5, 0x2003, 0x0000, 0x0070, 0x080c, 0x5eea, 0x0dc0, 0x2001, + 0xc8e5, 0x2003, 0xaaaa, 0x2001, 0xc8e6, 0x2003, 0x0001, 0x080c, + 0x5e1a, 0x0020, 0x2009, 0x00f8, 0x080c, 0x4ea4, 0x20a9, 0x000e, + 0xe000, 0x1f04, 0x1380, 0x7850, 0xa084, 0x0180, 0xa085, 0x1400, + 0x7852, 0x080c, 0x5ee2, 0x0120, 0x7843, 0x0090, 0x7843, 0x0010, + 0x2021, 0xe678, 0x2019, 0xea60, 0x7820, 0xd09c, 0x1558, 0x080c, + 0x5ee2, 0x05d8, 0x7824, 0xd0ac, 0x1904, 0x13f5, 0x080c, 0x5f08, + 0x1508, 0x0046, 0x2021, 0x0190, 0x8421, 0x1df0, 0x004e, 0x8421, + 0x11c8, 0x7827, 0x0048, 0x20a9, 0x01f4, 0x1d04, 0x13ad, 0x080c, + 0x701c, 0x1f04, 0x13ad, 0x7824, 0xa084, 0x0068, 0x15c8, 0x2001, + 0xc8e5, 0x2003, 0xaaaa, 0x2001, 0xc8e6, 0x2003, 0x0001, 0x7003, + 0x0001, 0x0498, 0x1d04, 0x13c6, 0x080c, 0x701c, 0x8319, 0x1960, + 0x2009, 0xc634, 0x2104, 0x8000, 0x200a, 0xa084, 0xfff0, 0x0120, + 0x200b, 0x0000, 0x080c, 0x2a87, 0x00d8, 0x080c, 0x5ef4, 0x1140, + 0xa4a2, 0x0064, 0x1128, 0x080c, 0x5eb9, 0x7003, 0x0001, 0x00a8, + 0x7827, 0x1800, 0xe000, 0xe000, 0x7824, 0x080c, 0x5efe, 0x0110, + 0xd0ac, 0x1158, 0xa084, 0x1800, 0x09a8, 0x7003, 0x0001, 0x0028, + 0x2001, 0x0001, 0x080c, 0x2933, 0x0048, 0x2001, 0xc634, 0x2003, + 0x0000, 0x7827, 0x0048, 0x7828, 0xc09d, 0x782a, 0x7850, 0xa084, + 0x0180, 0xa085, 0x0400, 0x7852, 0x015e, 0x003e, 0x000e, 0x080c, + 0x1558, 0x012e, 0x00fe, 0x004e, 0x001e, 0x0005, 0x0005, 0x0005, + 0x0005, 0x2a70, 0x2061, 0xc908, 0x2063, 0x0002, 0x6007, 0x0002, + 0x600b, 0x0003, 0x600f, 0x0037, 0x2001, 0xc8e5, 0x2003, 0x0000, + 0x708b, 0x0000, 0x2009, 0x0100, 0x2104, 0xa082, 0x0002, 0x0218, + 0x7053, 0xffff, 0x0010, 0x7053, 0x0000, 0x705b, 0xffff, 0x7073, + 0x0000, 0x7077, 0x0000, 0x080c, 0xafcf, 0x2061, 0xc8d5, 0x6003, + 0x0909, 0x6007, 0x0000, 0x600b, 0x8800, 0x600f, 0x0200, 0x6013, + 0x00ff, 0x6017, 0x001f, 0x601b, 0x0000, 0x601f, 0x07d0, 0x2061, + 0xc8dd, 0x6003, 0x8000, 0x6007, 0x0000, 0x600b, 0x0000, 0x600f, + 0x0200, 0x6013, 0x00ff, 0x6017, 0x0000, 0x601b, 0x0001, 0x601f, + 0x0000, 0x2061, 0xc900, 0x6003, 0x514c, 0x6007, 0x4f47, 0x600b, + 0x4943, 0x600f, 0x2020, 0x2001, 0xc628, 0x2003, 0x0000, 0x0005, + 0x04a0, 0x2011, 0x0000, 0x81ff, 0x0570, 0xa186, 0x0001, 0x1148, + 0x2031, 0x8fff, 0x2039, 0xe601, 0x2021, 0x0100, 0x2029, 0xe600, + 0x00e8, 0xa186, 0x0002, 0x1118, 0x2011, 0x0000, 0x00b8, 0xa186, + 0x0005, 0x1118, 0x2011, 0x0001, 0x0088, 0xa186, 0x0009, 0x1118, + 0x2011, 0x0002, 0x0058, 0xa186, 0x000a, 0x1118, 0x2011, 0x0002, + 0x0028, 0xa186, 0x0055, 0x1110, 0x2011, 0x0003, 0x3800, 0xa084, + 0xfffc, 0xa205, 0x20c0, 0x0804, 0x104d, 0xa00e, 0x2011, 0x0003, + 0x2019, 0x14a4, 0x0804, 0x14f5, 0x2019, 0xaaaa, 0x2061, 0xffff, + 0x2c14, 0x2362, 0xe000, 0xe000, 0x2c04, 0xa306, 0x2262, 0x1110, + 0xc1b5, 0xc1a5, 0x2011, 0x0000, 0x2019, 0x14b7, 0x04f0, 0x2019, + 0xaaaa, 0x2061, 0xffff, 0x2c14, 0x2362, 0xe000, 0xe000, 0x2c1c, + 0x2061, 0x7fff, 0xe000, 0xe000, 0x2c04, 0x2061, 0xffff, 0x2262, + 0xa306, 0x0110, 0xc18d, 0x0008, 0xc185, 0x2011, 0x0002, 0x2019, + 0x14d2, 0x0418, 0x2061, 0xffff, 0x2019, 0xaaaa, 0x2c14, 0x2362, + 0xe000, 0xe000, 0x2c04, 0x2262, 0xa306, 0x1180, 0x2c14, 0x2362, + 0xe000, 0xe000, 0x2c1c, 0x2061, 0x7fff, 0x2c04, 0x2061, 0xffff, + 0x2262, 0xa306, 0x1110, 0xc195, 0x0008, 0xc19d, 0x2011, 0x0001, + 0x2019, 0x14f3, 0x0010, 0x0804, 0x1469, 0x3800, 0xa084, 0xfffc, + 0xa205, 0x20c0, 0x0837, 0x2011, 0x0000, 0x080c, 0x52fd, 0x1178, + 0x6004, 0xa0c4, 0x00ff, 0xa8c6, 0x0006, 0x0128, 0xa0c4, 0xff00, + 0xa8c6, 0x0600, 0x1120, 0xa186, 0x0080, 0x0108, 0x8210, 0x8108, + 0xa186, 0x0100, 0x1d50, 0x2208, 0x0005, 0x2091, 0x8000, 0x0e04, + 0x1517, 0x0006, 0x0016, 0x2079, 0x0000, 0x7818, 0xd084, 0x1de8, + 0x001e, 0x792e, 0x000e, 0x782a, 0x000e, 0x7826, 0x3900, 0x783a, + 0x7823, 0x8002, 0x781b, 0x0001, 0x2091, 0x5000, 0x0126, 0x0156, + 0x0146, 0x20a9, 0x0010, 0x20a1, 0xca54, 0x2091, 0x2000, 0x40a1, + 0x20a9, 0x0010, 0x2091, 0x2200, 0x40a1, 0x20a9, 0x0010, 0x2091, + 0x2400, 0x40a1, 0x20a9, 0x0010, 0x2091, 0x2600, 0x40a1, 0x20a9, + 0x0010, 0x2091, 0x2800, 0x40a1, 0x014e, 0x015e, 0x012e, 0x2079, + 0xc600, 0x7803, 0x0005, 0x2091, 0x4080, 0x04c9, 0x0cf8, 0x0005, + 0x0006, 0x080c, 0x15a3, 0x1518, 0x00f6, 0x2079, 0xc624, 0x2f04, + 0x8000, 0x207a, 0xa082, 0x000f, 0x0258, 0xa006, 0x207a, 0x2079, + 0xc626, 0x2f04, 0xa084, 0x0001, 0xa086, 0x0001, 0x207a, 0x0070, + 0x2079, 0xc626, 0x2f7c, 0x8fff, 0x1128, 0x2001, 0x0c03, 0x2003, + 0x0040, 0x0020, 0x2001, 0x0c03, 0x2003, 0x00c0, 0x00fe, 0x000e, + 0x0005, 0x0409, 0x1120, 0x2001, 0x0c03, 0x2003, 0x0080, 0x0005, + 0x00d1, 0x1120, 0x2001, 0x0c03, 0x2003, 0x0040, 0x0005, 0x0006, + 0x0091, 0x1178, 0x2001, 0x0c03, 0x2003, 0x0040, 0x2009, 0x0fff, + 0x00a1, 0x2001, 0x0c03, 0x2003, 0x0080, 0x2009, 0x0fff, 0x0069, + 0x0c88, 0x000e, 0x0005, 0x00c6, 0x2061, 0x0c00, 0x2c04, 0xa084, + 0x00ff, 0xa086, 0x00aa, 0x00ce, 0x0005, 0x0156, 0x0126, 0xa18c, + 0x0fff, 0x21a8, 0x1d04, 0x15b2, 0x2091, 0x6000, 0x1f04, 0x15b2, + 0x012e, 0x015e, 0x0005, 0x2071, 0xc600, 0x7160, 0x712e, 0x2021, + 0x0001, 0xa190, 0x0030, 0xa298, 0x0030, 0x0240, 0x7064, 0xa302, + 0x1228, 0x220a, 0x2208, 0x2310, 0x8420, 0x0ca8, 0x3800, 0xd08c, + 0x0148, 0x7064, 0xa086, 0xc600, 0x0128, 0x7067, 0xc600, 0x2011, + 0x1000, 0x0c48, 0x200b, 0x0000, 0x74b2, 0x74b6, 0x70eb, 0x0010, + 0x0005, 0x00e6, 0x0126, 0x2091, 0x8000, 0x2071, 0xc600, 0x70b4, + 0x0016, 0x2008, 0x70e8, 0xa16a, 0x2100, 0x001e, 0x0268, 0x8001, + 0x70b6, 0x702c, 0x2068, 0x2d04, 0x702e, 0x206b, 0x0000, 0x6807, + 0x0000, 0x012e, 0x00ee, 0x0005, 0xa06e, 0x0cd8, 0x00e6, 0x2071, + 0xc600, 0x0126, 0x2091, 0x8000, 0x70b4, 0x8001, 0x0260, 0x70b6, + 0x702c, 0x2068, 0x2d04, 0x702e, 0x206b, 0x0000, 0x6807, 0x0000, + 0x012e, 0x00ee, 0x0005, 0xa06e, 0x0cd8, 0x00e6, 0x0126, 0x2091, + 0x8000, 0x2071, 0xc600, 0x702c, 0x206a, 0x2d00, 0x702e, 0x70b4, + 0x8000, 0x70b6, 0x012e, 0x00ee, 0x0005, 0x8dff, 0x0138, 0x6804, + 0x6807, 0x0000, 0x0006, 0x0c49, 0x00de, 0x0cb8, 0x0005, 0x00e6, + 0x2071, 0xc600, 0x70b4, 0xa08a, 0x0010, 0xa00d, 0x00ee, 0x0005, + 0x00e6, 0x2071, 0xc959, 0x7007, 0x0000, 0x701b, 0x0000, 0x701f, + 0x0000, 0x2071, 0x0000, 0x7010, 0xa085, 0x8004, 0x7012, 0x00ee, + 0x0005, 0x00e6, 0x2270, 0x700b, 0x0000, 0x2071, 0xc959, 0x7018, + 0xa088, 0xc962, 0x220a, 0x8000, 0xa084, 0x0007, 0x701a, 0x7004, + 0xa005, 0x1128, 0x00f6, 0x2079, 0x0010, 0x0081, 0x00fe, 0x00ee, + 0x0005, 0x00e6, 0x2071, 0xc959, 0x7004, 0xa005, 0x1128, 0x00f6, + 0x2079, 0x0010, 0x0019, 0x00fe, 0x00ee, 0x0005, 0x7000, 0x0002, + 0x1678, 0x16dc, 0x16f9, 0x16f9, 0x23b8, 0x16dc, 0x16f9, 0x16dc, + 0x7018, 0x711c, 0xa106, 0x1118, 0x7007, 0x0000, 0x0005, 0x00d6, + 0xa180, 0xc962, 0x2004, 0x700a, 0x2068, 0x8108, 0xa18c, 0x0007, + 0x711e, 0x7803, 0x0026, 0x6824, 0x7832, 0x6828, 0x7836, 0x682c, + 0x783a, 0x6830, 0x783e, 0x6810, 0x700e, 0x680c, 0x7016, 0x6804, + 0x00de, 0xd084, 0x0120, 0x7007, 0x0001, 0x0029, 0x0005, 0x7007, + 0x0002, 0x00b1, 0x0005, 0x0016, 0x0026, 0x710c, 0x2011, 0x0040, + 0xa182, 0x0040, 0x1210, 0x2110, 0xa006, 0x700e, 0x7212, 0x8203, + 0x7822, 0x7803, 0x0020, 0x7803, 0x0041, 0x002e, 0x001e, 0x0005, + 0x0016, 0x0026, 0x0136, 0x0146, 0x0156, 0x7014, 0x2098, 0x20a1, + 0x0014, 0x7803, 0x0026, 0x710c, 0x2011, 0x0040, 0xa182, 0x0040, + 0x1210, 0x2110, 0xa006, 0x700e, 0x22a8, 0x53a6, 0x8203, 0x7822, + 0x7803, 0x0020, 0x3300, 0x7016, 0x7803, 0x0001, 0x015e, 0x014e, + 0x013e, 0x002e, 0x001e, 0x0005, 0x0136, 0x0146, 0x0156, 0x2099, + 0xc71a, 0x20a1, 0x0018, 0x20a9, 0x0008, 0x53a3, 0x7803, 0x0020, + 0x0126, 0x2091, 0x8000, 0x7803, 0x0041, 0x7007, 0x0003, 0x7000, + 0xc084, 0x7002, 0x700b, 0xc715, 0x012e, 0x015e, 0x014e, 0x013e, + 0x0005, 0x0136, 0x0146, 0x0156, 0x2001, 0xc749, 0x209c, 0x20a1, + 0x0014, 0x7803, 0x0026, 0x2001, 0xc74a, 0x20ac, 0x53a6, 0x2099, + 0xc74b, 0x20a1, 0x0018, 0x20a9, 0x0008, 0x53a3, 0x7803, 0x0020, + 0x0126, 0x2091, 0x8000, 0x7803, 0x0001, 0x7007, 0x0004, 0x7000, + 0xc08c, 0x7002, 0x700b, 0xc746, 0x012e, 0x015e, 0x014e, 0x013e, + 0x0005, 0x0016, 0x00e6, 0x2071, 0xc959, 0x00f6, 0x2079, 0x0010, + 0x7904, 0x7803, 0x0002, 0xd1fc, 0x0120, 0xa18c, 0x0700, 0x7004, + 0x0023, 0x00fe, 0x00ee, 0x001e, 0x0005, 0x166e, 0x173d, 0x176b, + 0x1795, 0x17c5, 0x23d5, 0x173c, 0x0cf8, 0xa18c, 0x0700, 0x1528, + 0x0136, 0x0146, 0x0156, 0x7014, 0x20a0, 0x2099, 0x0014, 0x7803, + 0x0040, 0x7010, 0x20a8, 0x53a5, 0x3400, 0x7016, 0x015e, 0x014e, + 0x013e, 0x700c, 0xa005, 0x0570, 0x7830, 0x7832, 0x7834, 0x7836, + 0x080c, 0x16a3, 0x0005, 0x7008, 0xa080, 0x0002, 0x2003, 0x0100, + 0x7007, 0x0000, 0x080c, 0x166e, 0x0005, 0x7008, 0xa080, 0x0002, + 0x2003, 0x0200, 0x0ca8, 0xa18c, 0x0700, 0x1150, 0x700c, 0xa005, + 0x0188, 0x7830, 0x7832, 0x7834, 0x7836, 0x080c, 0x16b8, 0x0005, + 0x7008, 0xa080, 0x0002, 0x2003, 0x0200, 0x7007, 0x0000, 0x080c, + 0x166e, 0x0005, 0x00d6, 0x7008, 0x2068, 0x7830, 0x6826, 0x7834, + 0x682a, 0x7838, 0x682e, 0x783c, 0x6832, 0x680b, 0x0100, 0x00de, + 0x7007, 0x0000, 0x080c, 0x166e, 0x0005, 0xa18c, 0x0700, 0x1540, + 0x0136, 0x0146, 0x0156, 0x2001, 0xc718, 0x2004, 0xa080, 0x000d, + 0x20a0, 0x2099, 0x0014, 0x7803, 0x0040, 0x20a9, 0x0020, 0x53a5, + 0x2001, 0xc71a, 0x2004, 0xd0bc, 0x0148, 0x2001, 0xc723, 0x2004, + 0xa080, 0x000d, 0x20a0, 0x20a9, 0x0020, 0x53a5, 0x015e, 0x014e, + 0x013e, 0x7007, 0x0000, 0x080c, 0x6282, 0x080c, 0x166e, 0x0005, + 0x2011, 0x8003, 0x080c, 0x403a, 0x0cf8, 0xa18c, 0x0700, 0x1148, + 0x2001, 0xc748, 0x2003, 0x0100, 0x7007, 0x0000, 0x080c, 0x166e, + 0x0005, 0x2011, 0x8004, 0x080c, 0x403a, 0x0cf8, 0x0126, 0x2091, + 0x2200, 0x2079, 0x0030, 0x2071, 0xc96a, 0x7003, 0x0000, 0x700f, + 0xc977, 0x7013, 0xc977, 0x780f, 0x00f6, 0x7803, 0x0004, 0x012e, + 0x0005, 0x6934, 0xa184, 0x0007, 0x0002, 0x17f5, 0x1836, 0x17f5, + 0x17f5, 0x17f9, 0x181e, 0x1805, 0x17fc, 0xa085, 0x0001, 0x0804, + 0x1850, 0x080c, 0x7648, 0x05d0, 0x684c, 0xd0bc, 0x0db0, 0x6860, + 0x682e, 0x685c, 0x682a, 0x6858, 0x04c8, 0xa18c, 0x00ff, 0xa186, + 0x001e, 0x1d58, 0x684c, 0xd0bc, 0x0d40, 0x6860, 0x682e, 0x685c, + 0x682a, 0x6804, 0x681a, 0xa080, 0x000d, 0x2004, 0xa084, 0x000f, + 0xa080, 0x2398, 0x2005, 0x6832, 0x6858, 0x0440, 0xa18c, 0x00ff, + 0xa186, 0x0015, 0x1990, 0x684c, 0xd0ac, 0x0978, 0x6804, 0x681a, + 0xa080, 0x000d, 0x2004, 0xa084, 0x000f, 0xa080, 0x2398, 0x2005, + 0x6832, 0xa006, 0x682e, 0x682a, 0x6858, 0x0080, 0x684c, 0xd0ac, + 0x0904, 0x17f5, 0xa006, 0x682e, 0x682a, 0x6858, 0xa18c, 0x000f, + 0xa188, 0x2398, 0x210d, 0x6932, 0x2d08, 0x691a, 0x6826, 0x684c, + 0xc0dd, 0x684e, 0xa006, 0x680a, 0x697c, 0x6912, 0x6980, 0x6916, + 0x0005, 0x684c, 0xd0ac, 0x090c, 0x1515, 0x6833, 0x2395, 0x2d08, + 0x691a, 0x6858, 0x8001, 0x6826, 0x684c, 0xc0dd, 0x684e, 0xa006, + 0x680a, 0x682e, 0x682a, 0x697c, 0x6912, 0x6980, 0x6916, 0x0005, + 0x20e1, 0x0007, 0x20e1, 0x2000, 0x2001, 0x020a, 0x2004, 0x82ff, + 0x01e8, 0xa280, 0x0004, 0x00d6, 0x206c, 0x684c, 0xd0dc, 0x1190, + 0xa280, 0x0007, 0x2004, 0xa086, 0x000a, 0x1110, 0x0891, 0x0010, + 0x080c, 0x17e9, 0x0138, 0x00de, 0xa280, 0x0000, 0x2003, 0x0002, + 0xa016, 0x0020, 0x6808, 0x8000, 0x680a, 0x00de, 0x0126, 0x0046, + 0x0036, 0x0026, 0x2091, 0x2200, 0x002e, 0x003e, 0x004e, 0x7000, + 0xa005, 0x0178, 0x710c, 0x220a, 0x8108, 0x230a, 0x8108, 0x240a, + 0x8108, 0xa182, 0xc992, 0x0210, 0x2009, 0xc977, 0x710e, 0x012e, + 0x0005, 0x7206, 0x2001, 0x18a7, 0x0006, 0x2260, 0x0804, 0x19cb, + 0x0126, 0x0026, 0x0036, 0x00c6, 0x0006, 0x2091, 0x2200, 0x000e, + 0x004e, 0x003e, 0x002e, 0x00d6, 0x00c6, 0x2460, 0x6110, 0x2168, + 0x6a62, 0x6b5e, 0xa005, 0x0904, 0x1908, 0x6808, 0xa005, 0x0904, + 0x193f, 0x7000, 0xa005, 0x1108, 0x0488, 0x700c, 0x7110, 0xa106, + 0x1904, 0x1947, 0x7004, 0xa406, 0x1548, 0x2001, 0x0005, 0x2004, + 0xd08c, 0x0168, 0x0046, 0x080c, 0x1b54, 0x004e, 0x2460, 0x6010, + 0xa080, 0x0002, 0x2004, 0xa005, 0x0904, 0x193f, 0x0c10, 0x2001, + 0x0207, 0x2004, 0xd09c, 0x1d48, 0x7804, 0xa084, 0x6000, 0x0120, + 0xa086, 0x6000, 0x0108, 0x0c08, 0x7818, 0x6812, 0x781c, 0x6816, + 0x7803, 0x0004, 0x7003, 0x0000, 0x7004, 0x2060, 0x6100, 0xa18e, + 0x0004, 0x1904, 0x1947, 0x2009, 0x0048, 0x080c, 0x95b5, 0x04f8, + 0x6808, 0xa005, 0x05a0, 0x7000, 0xa005, 0x0588, 0x700c, 0x7110, + 0xa106, 0x1118, 0x7004, 0xa406, 0x1550, 0x2001, 0x0005, 0x2004, + 0xd08c, 0x0160, 0x0046, 0x080c, 0x1b54, 0x004e, 0x2460, 0x6010, + 0xa080, 0x0002, 0x2004, 0xa005, 0x01d0, 0x0c28, 0x2001, 0x0207, + 0x2004, 0xd09c, 0x1d50, 0x2001, 0x0005, 0x2004, 0xd08c, 0x1d50, + 0x7804, 0xa084, 0x6000, 0x0118, 0xa086, 0x6000, 0x19f0, 0x7818, + 0x6812, 0x781c, 0x6816, 0x7803, 0x0004, 0x7003, 0x0000, 0x6100, + 0xa18e, 0x0004, 0x1120, 0x2009, 0x0048, 0x080c, 0x95b5, 0x00ce, + 0x00de, 0x012e, 0x0005, 0x00f6, 0x00e6, 0x0026, 0x0036, 0x0046, + 0x0056, 0x2071, 0xc96a, 0x7000, 0xa086, 0x0000, 0x0904, 0x19b1, + 0x7004, 0xac06, 0x1904, 0x19a3, 0x2079, 0x0030, 0x7000, 0xa086, + 0x0003, 0x0904, 0x19a3, 0x7804, 0xd0fc, 0x15c8, 0x20e1, 0x6000, + 0x2011, 0x0032, 0x2001, 0x0208, 0x200c, 0x2001, 0x0209, 0x2004, + 0xa106, 0x1d88, 0x8211, 0x1db0, 0x7804, 0xd0fc, 0x1540, 0x080c, + 0x1efe, 0x0026, 0x0056, 0x7803, 0x0004, 0x7804, 0xd0ac, 0x1de8, + 0x7803, 0x0002, 0x7803, 0x0009, 0x7003, 0x0003, 0x7007, 0x0000, + 0x005e, 0x002e, 0x2001, 0x015d, 0x2003, 0x0000, 0x080c, 0x5ee2, + 0x1138, 0x0066, 0x2031, 0x0001, 0x080c, 0x5f64, 0x006e, 0x0058, + 0x2001, 0x0160, 0x2502, 0x2001, 0x0138, 0x2202, 0x0020, 0x080c, + 0x1b54, 0x0804, 0x1953, 0x0156, 0x20a9, 0x0009, 0x2009, 0xc977, + 0x2104, 0xac06, 0x1108, 0x200a, 0xa188, 0x0003, 0x1f04, 0x19a8, + 0x015e, 0x005e, 0x004e, 0x003e, 0x002e, 0x00ee, 0x00fe, 0x0005, + 0x700c, 0x7110, 0xa106, 0x0904, 0x1a54, 0x2104, 0x7006, 0x2060, + 0x8108, 0x211c, 0x8108, 0x2124, 0x8108, 0xa182, 0xc992, 0x0210, + 0x2009, 0xc977, 0x7112, 0x8cff, 0x05e8, 0x6010, 0x2068, 0x2d58, + 0x080c, 0x77e8, 0x6828, 0xa406, 0x15e0, 0x682c, 0xa306, 0x15c8, + 0x7004, 0x2060, 0x6020, 0xc0d4, 0x6022, 0x684c, 0xd0f4, 0x0128, + 0x6817, 0xffff, 0x6813, 0xffff, 0x0428, 0x6850, 0xd0f4, 0x1130, + 0x7803, 0x0004, 0x6810, 0x781a, 0x6814, 0x781e, 0x6824, 0x2050, + 0x6818, 0x2060, 0x6830, 0x2040, 0x6034, 0xa0cc, 0x000f, 0x080c, + 0x7648, 0x1128, 0x2009, 0x0011, 0x080c, 0x1a57, 0x0048, 0x2009, + 0x0011, 0x080c, 0x1a57, 0x0120, 0x2009, 0x0001, 0x080c, 0x1a57, + 0x2d58, 0x0005, 0x7803, 0x0004, 0x080c, 0x1e73, 0x0904, 0x19b8, + 0x0cc0, 0x080c, 0x7648, 0x1128, 0x080c, 0x194b, 0x080c, 0x75de, + 0x0c88, 0x6020, 0xd0f4, 0x11e0, 0xd0d4, 0x01b8, 0x6038, 0xa402, + 0x6034, 0xa303, 0x0108, 0x1288, 0x643a, 0x6336, 0x6c2a, 0x6b2e, + 0x0046, 0x0036, 0x2400, 0x6c7c, 0xa402, 0x6812, 0x2300, 0x6b80, + 0xa303, 0x6816, 0x003e, 0x004e, 0x0018, 0x080c, 0xaf61, 0x0990, + 0x601c, 0xa08e, 0x0008, 0x0904, 0x19d8, 0xa08e, 0x000a, 0x0904, + 0x19d8, 0x2001, 0xc674, 0x2004, 0xd0b4, 0x1140, 0x6018, 0x2004, + 0xd0bc, 0x1120, 0x6817, 0x7fff, 0x6813, 0xffff, 0x080c, 0x23ec, + 0x1904, 0x1a0a, 0x0804, 0x19d8, 0x7003, 0x0000, 0x0005, 0x8aff, + 0x0904, 0x1b2e, 0xa03e, 0x2730, 0x6850, 0xd0fc, 0x11b8, 0xd0f4, + 0x1538, 0x00d6, 0x2805, 0xac68, 0x2900, 0x0002, 0x1ac2, 0x1a8f, + 0x1a8f, 0x1ac2, 0x1ac5, 0x1aba, 0x1ac2, 0x1a8f, 0x1ac2, 0x1aa0, + 0x1aa0, 0x1ac2, 0x1ac5, 0x1ac2, 0x1ab2, 0x1aa0, 0x7803, 0x0004, + 0xc0fc, 0x6852, 0x6b6c, 0x6a70, 0x6d1c, 0x6c20, 0x00d6, 0xd99c, + 0x0904, 0x1b15, 0x2805, 0xac68, 0x6f08, 0x6e0c, 0x0804, 0x1b15, + 0xc0f4, 0x6852, 0x6b6c, 0x6a70, 0x00d6, 0x0804, 0x1b22, 0x2d10, + 0x00de, 0x00d6, 0x6834, 0x2268, 0xa084, 0x00ff, 0xa096, 0x0024, + 0x0904, 0x1af5, 0x6b08, 0x6a0c, 0x6d00, 0x6c04, 0x0804, 0x1b15, + 0x2d10, 0x00de, 0x00d6, 0x6834, 0x2268, 0xa084, 0x00ff, 0xa096, + 0x002c, 0x0540, 0x6b10, 0x6a14, 0x6d00, 0x6c04, 0x6f08, 0x6e0c, + 0x0804, 0x1b15, 0x00de, 0x00d6, 0x6834, 0xa084, 0x00ff, 0xa086, + 0x001e, 0x1140, 0x00de, 0x080c, 0x235a, 0x1904, 0x1a57, 0xa00e, + 0x0804, 0x1b2e, 0x00de, 0x080c, 0x1515, 0x2d10, 0x00de, 0x00d6, + 0x6834, 0x2268, 0xa084, 0x00ff, 0xa096, 0x0024, 0x0530, 0xa096, + 0x002c, 0x1d80, 0x6b10, 0xa3a6, 0xffff, 0x1130, 0x2d10, 0x00de, + 0x00d6, 0x080c, 0x72be, 0x2268, 0x2d10, 0x00de, 0x00d6, 0x7314, + 0x685c, 0xa086, 0x0001, 0x1120, 0x6868, 0xa005, 0x0108, 0x2018, + 0x2268, 0x2011, 0x0000, 0x6d00, 0x6c04, 0x6f08, 0x6e0c, 0x780f, + 0x00f0, 0xe000, 0xe000, 0xe000, 0x0400, 0x6b08, 0xa3a6, 0xffff, + 0x1130, 0x2d10, 0x00de, 0x00d6, 0x080c, 0x72be, 0x2268, 0x2d10, + 0x00de, 0x00d6, 0x7314, 0x685c, 0xa086, 0x0001, 0x1120, 0x6868, + 0xa005, 0x0108, 0x2018, 0x2268, 0x2011, 0x0000, 0x6d00, 0x6c04, + 0x780f, 0x00f0, 0xe000, 0xe000, 0xe000, 0x7b22, 0x7a26, 0x7d32, + 0x7c36, 0x7f3a, 0x7e3e, 0x731a, 0x721e, 0x7522, 0x7426, 0x772a, + 0x762e, 0x7902, 0x7000, 0x8000, 0x7002, 0x00de, 0x6828, 0xa300, + 0x682a, 0x682c, 0xa201, 0x682e, 0x080c, 0x235a, 0x0005, 0x080c, + 0x1515, 0x080c, 0x1fe5, 0x7004, 0x2060, 0x00d6, 0x6010, 0x2068, + 0x7003, 0x0000, 0x080c, 0x1e94, 0x080c, 0xac21, 0x0170, 0x6808, + 0x8001, 0x680a, 0x697c, 0x6912, 0x6980, 0x6916, 0x682b, 0xffff, + 0x682f, 0xffff, 0x6850, 0xc0bd, 0x6852, 0x00de, 0x080c, 0xa8f9, + 0x0804, 0x1dbd, 0x080c, 0x1515, 0x0126, 0x2091, 0x2200, 0x0006, + 0x0016, 0x2b68, 0x6818, 0x2060, 0x7904, 0x7803, 0x0002, 0xa184, + 0x0700, 0x1978, 0xa184, 0x0003, 0xa086, 0x0003, 0x0d58, 0x7000, + 0x0002, 0x1b71, 0x1b77, 0x1cc6, 0x1d92, 0x1dac, 0x1b71, 0x1b71, + 0x1b71, 0x7804, 0xd09c, 0x1904, 0x1dbd, 0x080c, 0x1515, 0x8001, + 0x7002, 0xd1bc, 0x15c0, 0x080c, 0x7648, 0x1508, 0xd1dc, 0x1598, + 0x6864, 0x8000, 0x6866, 0xd19c, 0x0140, 0x7004, 0x2060, 0x2009, + 0x0102, 0x080c, 0x95b5, 0x0804, 0x1c8d, 0x8aff, 0x0130, 0x2009, + 0x0001, 0x080c, 0x1a57, 0x0804, 0x1dbd, 0x7004, 0x2060, 0x080c, + 0x24b1, 0x080c, 0x75de, 0x7007, 0x0000, 0x0804, 0x1c16, 0xd19c, + 0x1904, 0x1c4a, 0xd1dc, 0x1178, 0x8aff, 0x0904, 0x1c4a, 0x2009, + 0x0001, 0x080c, 0x1a57, 0x0904, 0x1dbd, 0x2009, 0x0001, 0x080c, + 0x1a57, 0x0804, 0x1dbd, 0x7803, 0x0004, 0x7003, 0x0000, 0xd1bc, + 0x1904, 0x1c1c, 0x080c, 0x7648, 0x1130, 0xd19c, 0x0120, 0x6864, + 0x8000, 0x6866, 0x0810, 0x0026, 0x0036, 0x7c20, 0x7d24, 0x7e30, + 0x7f34, 0x7818, 0x6812, 0x781c, 0x6816, 0x2001, 0x0201, 0x2004, + 0xa005, 0x0140, 0x7808, 0xd0ec, 0x1128, 0x7803, 0x0009, 0x7003, + 0x0004, 0x0028, 0x080c, 0x7648, 0x0110, 0x080c, 0x1dc1, 0x6b28, + 0x6a2c, 0x2400, 0x686e, 0xa31a, 0x2500, 0x6872, 0xa213, 0x6b2a, + 0x6a2e, 0x00c6, 0x7004, 0x2060, 0x6020, 0xd0f4, 0x1110, 0x633a, + 0x6236, 0x00ce, 0x003e, 0x002e, 0x6e1e, 0x6f22, 0x2500, 0xa405, + 0x0128, 0x080c, 0x2370, 0x6850, 0xc0fd, 0x6852, 0x2a00, 0x6826, + 0x2c00, 0x681a, 0x2800, 0x6832, 0x6808, 0x8001, 0x680a, 0x1148, + 0x684c, 0xd0e4, 0x0130, 0x7004, 0x2060, 0x2009, 0x0048, 0x080c, + 0x95b5, 0x7000, 0xa086, 0x0004, 0x0904, 0x1dbd, 0x7003, 0x0000, + 0x080c, 0x19b8, 0x0804, 0x1dbd, 0x0056, 0x7d0c, 0xd5bc, 0x1110, + 0x080c, 0xc4e0, 0x005e, 0x080c, 0x1e94, 0x7004, 0x2060, 0x601c, + 0xa086, 0x0009, 0x1140, 0x2009, 0x0106, 0x080c, 0x95b5, 0x7007, + 0x0000, 0x0804, 0x1dbd, 0x00f6, 0x7004, 0x2078, 0x080c, 0x5683, + 0x0118, 0x7820, 0xc0f5, 0x7822, 0x00fe, 0x682b, 0xffff, 0x682f, + 0xffff, 0x6808, 0x8001, 0x680a, 0x697c, 0x791a, 0x6980, 0x791e, + 0x0804, 0x1dbd, 0x7004, 0x00c6, 0x2060, 0x6020, 0x00ce, 0xd0f4, + 0x0120, 0x6808, 0x8001, 0x680a, 0x04c0, 0x7818, 0x6812, 0x7a1c, + 0x6a16, 0xd19c, 0x0160, 0xa205, 0x0150, 0x7004, 0xa080, 0x0007, + 0x2004, 0xa084, 0xfffd, 0xa086, 0x0008, 0x1904, 0x1bb3, 0x684c, + 0xc0f5, 0x684e, 0x7814, 0xa005, 0x1520, 0x7003, 0x0000, 0x6808, + 0x8001, 0x680a, 0x01a0, 0x7004, 0x2060, 0x601c, 0xa086, 0x000a, + 0x11a0, 0x0156, 0x20a9, 0x0009, 0x2009, 0xc977, 0x2104, 0xac06, + 0x1108, 0x200a, 0xa188, 0x0003, 0x1f04, 0x1c7e, 0x015e, 0x7004, + 0x2060, 0x2009, 0x0048, 0x080c, 0x95b5, 0x080c, 0x19b8, 0x0804, + 0x1dbd, 0x7818, 0x6812, 0x781c, 0x6816, 0x7814, 0x7908, 0xa18c, + 0x0fff, 0xa192, 0x0841, 0x1a04, 0x1b31, 0xa188, 0x0007, 0x8114, + 0x8214, 0x8214, 0xa10a, 0x8104, 0x8004, 0x8004, 0xa20a, 0x810b, + 0x810b, 0x810b, 0x080c, 0x1f29, 0x7803, 0x0004, 0x780f, 0xffff, + 0x7803, 0x0001, 0x7804, 0xd0fc, 0x0de8, 0x7803, 0x0002, 0x7803, + 0x0004, 0x780f, 0x00f6, 0x7004, 0x7007, 0x0000, 0x2060, 0x2009, + 0x0048, 0x080c, 0x95b5, 0x080c, 0x1f7f, 0x0838, 0x8001, 0x7002, + 0xd194, 0x01b0, 0x7804, 0xd0fc, 0x1904, 0x1d62, 0xd09c, 0x0138, + 0x7804, 0xd0fc, 0x1904, 0x1d62, 0xd09c, 0x1904, 0x1d66, 0x8aff, + 0x0904, 0x1dbd, 0x2009, 0x0001, 0x080c, 0x1a57, 0x0804, 0x1dbd, + 0xa184, 0x0888, 0x1148, 0x8aff, 0x0904, 0x1dbd, 0x2009, 0x0001, + 0x080c, 0x1a57, 0x0804, 0x1dbd, 0x7818, 0x6812, 0x7a1c, 0x6a16, + 0xa205, 0x0904, 0x1c67, 0x7803, 0x0004, 0x7003, 0x0000, 0xd1bc, + 0x1904, 0x1d44, 0x6834, 0xa084, 0x00ff, 0xa086, 0x0029, 0x1118, + 0xd19c, 0x1904, 0x1c67, 0x0026, 0x0036, 0x7c20, 0x7d24, 0x7e30, + 0x7f34, 0x7818, 0x6812, 0x781c, 0x6816, 0x2001, 0x0201, 0x2004, + 0xa005, 0x0140, 0x7808, 0xd0ec, 0x1128, 0x7803, 0x0009, 0x7003, + 0x0004, 0x0020, 0x0016, 0x080c, 0x1dc1, 0x001e, 0x6b28, 0x6a2c, + 0x080c, 0x2370, 0x00d6, 0x2805, 0xac68, 0x6034, 0xd09c, 0x1128, + 0x6808, 0xa31a, 0x680c, 0xa213, 0x0020, 0x6810, 0xa31a, 0x6814, + 0xa213, 0x00de, 0xd194, 0x0904, 0x1be1, 0x2a00, 0x6826, 0x2c00, + 0x681a, 0x2800, 0x6832, 0x6808, 0x8001, 0x680a, 0x6b2a, 0x6a2e, + 0x003e, 0x002e, 0x0804, 0x1c8d, 0x0056, 0x7d0c, 0x080c, 0xc4e0, + 0x005e, 0x080c, 0x1e94, 0x00f6, 0x7004, 0x2078, 0x080c, 0x5683, + 0x0118, 0x7820, 0xc0f5, 0x7822, 0x00fe, 0x682b, 0xffff, 0x682f, + 0xffff, 0x6808, 0x8001, 0x680a, 0x697c, 0x791a, 0x6980, 0x791e, + 0x0804, 0x1dbd, 0x7804, 0xd09c, 0x0904, 0x1b5c, 0x7c20, 0x7824, + 0xa405, 0x1904, 0x1b5c, 0x7818, 0x6812, 0x7c1c, 0x6c16, 0xa405, + 0x1120, 0x7803, 0x0002, 0x0804, 0x1c67, 0x7520, 0x7424, 0x7728, + 0x762c, 0x7018, 0xa528, 0x701c, 0xa421, 0xa7b9, 0x0000, 0xa6b1, + 0x0000, 0x7830, 0xa506, 0x1150, 0x7834, 0xa406, 0x1138, 0x7838, + 0xa706, 0x1120, 0x783c, 0xa606, 0x0904, 0x1b5c, 0x7803, 0x0002, + 0x0804, 0x1cf3, 0x7803, 0x0004, 0x7003, 0x0000, 0x7004, 0xa00d, + 0x0180, 0x6808, 0x8001, 0x680a, 0x1160, 0x7004, 0x2060, 0x2009, + 0x0048, 0x601c, 0xa086, 0x0009, 0x1110, 0x080c, 0x1515, 0x080c, + 0x95b5, 0x080c, 0x19b8, 0x0088, 0x7803, 0x0004, 0x7003, 0x0000, + 0x7004, 0x2060, 0x6010, 0xa005, 0x0da0, 0x2068, 0x6808, 0x8000, + 0x680a, 0x6c28, 0x6b2c, 0x080c, 0x19cb, 0x001e, 0x000e, 0x012e, + 0x0005, 0x700c, 0x7110, 0xa106, 0x0904, 0x1e67, 0x7004, 0x0016, + 0x210c, 0xa106, 0x001e, 0x0904, 0x1e67, 0x00d6, 0x00c6, 0x216c, + 0x2d00, 0xa005, 0x0904, 0x1e65, 0x681c, 0xa086, 0x0008, 0x0904, + 0x1e65, 0x6820, 0xd0d4, 0x1904, 0x1e65, 0x6810, 0x2068, 0x080c, + 0x7648, 0x0904, 0x1e65, 0x6850, 0xd0fc, 0x05a8, 0x8108, 0x2104, + 0x6b2c, 0xa306, 0x1904, 0x1e65, 0x8108, 0x2104, 0x6a28, 0xa206, + 0x1904, 0x1e65, 0x6850, 0xc0fc, 0xc0f5, 0x6852, 0x686c, 0x7822, + 0x701a, 0x6870, 0x7826, 0x701e, 0x681c, 0x7832, 0x7022, 0x6820, + 0x7836, 0x7026, 0x6818, 0x2060, 0x6034, 0xd09c, 0x0168, 0x6830, + 0x2005, 0x00d6, 0xac68, 0x6808, 0x783a, 0x702a, 0x680c, 0x783e, + 0x702e, 0x00de, 0x0804, 0x1e5f, 0xa006, 0x783a, 0x783e, 0x702a, + 0x702e, 0x0804, 0x1e5f, 0x8108, 0x2104, 0xa005, 0x1904, 0x1e65, + 0x6b2c, 0xa306, 0x1904, 0x1e65, 0x8108, 0x2104, 0xa005, 0x15e8, + 0x6a28, 0xa206, 0x15d0, 0x6850, 0xc0f5, 0x6852, 0x6830, 0x2005, + 0x6918, 0xa160, 0xa180, 0x000d, 0x2004, 0xd09c, 0x11a0, 0x6008, + 0x7822, 0x701a, 0x686e, 0x600c, 0x7826, 0x701e, 0x6872, 0x6000, + 0x7832, 0x7022, 0x6004, 0x7836, 0x7026, 0xa006, 0x783a, 0x783e, + 0x702a, 0x702e, 0x00a0, 0x6010, 0x7822, 0x701a, 0x686e, 0x6014, + 0x7826, 0x701e, 0x6872, 0x6000, 0x7832, 0x7022, 0x6004, 0x7836, + 0x7026, 0x6008, 0x783a, 0x702a, 0x600c, 0x783e, 0x702e, 0x6810, + 0x781a, 0x6814, 0x781e, 0x7803, 0x0011, 0x00ce, 0x00de, 0x0005, + 0x2011, 0x0201, 0x2009, 0x003c, 0x2204, 0xa005, 0x1118, 0x8109, + 0x1dd8, 0x0005, 0x0005, 0x0ca1, 0x0118, 0x780c, 0xd0a4, 0x0120, + 0x00d9, 0xa085, 0x0001, 0x0010, 0x080c, 0x1f7f, 0x0005, 0x0126, + 0x2091, 0x2200, 0x7000, 0xa086, 0x0003, 0x1160, 0x700c, 0x7110, + 0xa106, 0x0140, 0x080c, 0x2acc, 0x20e1, 0x9028, 0x700f, 0xc977, + 0x7013, 0xc977, 0x012e, 0x0005, 0x00c6, 0x080c, 0x5ee2, 0x11b8, + 0x2001, 0x0160, 0x2003, 0x0000, 0x2001, 0x0138, 0x2003, 0x0000, + 0x2011, 0x00c8, 0xe000, 0xe000, 0x8211, 0x1de0, 0x0481, 0x0066, + 0x2031, 0x0000, 0x080c, 0x5f64, 0x006e, 0x00ce, 0x0005, 0x080c, + 0x1efe, 0x080c, 0x2acc, 0x20e1, 0x9028, 0x700c, 0x7110, 0xa106, + 0x0190, 0x2104, 0xa005, 0x0130, 0x2060, 0x6010, 0x2060, 0x6008, + 0x8001, 0x600a, 0xa188, 0x0003, 0xa182, 0xc992, 0x0210, 0x2009, + 0xc977, 0x7112, 0x0c50, 0x2001, 0x015d, 0x2003, 0x0000, 0x2001, + 0x0160, 0x2502, 0x2001, 0x0138, 0x2202, 0x00ce, 0x0005, 0x080c, + 0x2acc, 0x20e1, 0x9028, 0x2001, 0x015d, 0x2003, 0x0000, 0x00e6, + 0x00c6, 0x0016, 0x2071, 0xc96a, 0x700c, 0x7110, 0xa106, 0x0190, + 0x2104, 0xa005, 0x0130, 0x2060, 0x6010, 0x2060, 0x6008, 0x8001, + 0x600a, 0xa188, 0x0003, 0xa182, 0xc992, 0x0210, 0x2009, 0xc977, + 0x7112, 0x0c50, 0x001e, 0x00ce, 0x00ee, 0x0005, 0x2001, 0x0138, + 0x2014, 0x2003, 0x0000, 0x2001, 0x0160, 0x202c, 0x2003, 0x0000, + 0x080c, 0x5ee2, 0x1148, 0x2021, 0x0002, 0x1d04, 0x1f0d, 0x2091, + 0x6000, 0x8421, 0x1dd0, 0x0005, 0x2021, 0xb015, 0x2001, 0x0141, + 0x201c, 0xd3dc, 0x1168, 0x2001, 0x0109, 0x201c, 0xa39c, 0x0048, + 0x1138, 0x2001, 0x0111, 0x201c, 0x83ff, 0x1110, 0x8421, 0x1d70, + 0x0005, 0x00e6, 0x2071, 0x0200, 0x7808, 0xa084, 0xf000, 0xa10d, + 0x0869, 0x2001, 0x0105, 0x2004, 0xa084, 0x0003, 0x1130, 0x2001, + 0xc992, 0x2004, 0xa086, 0x0000, 0x0548, 0xa026, 0x2019, 0xf000, + 0x8319, 0x1148, 0x2001, 0x012b, 0x2003, 0x95f5, 0x2001, 0x0129, + 0x2003, 0x95f5, 0x00d8, 0x2001, 0x0105, 0x2004, 0xa084, 0x0003, + 0x1130, 0x2001, 0xc992, 0x2004, 0xa086, 0x0000, 0x0178, 0x2001, + 0x0132, 0x2004, 0xa436, 0x0110, 0x2020, 0x0c00, 0x2001, 0x0021, + 0x2004, 0xd0fc, 0x09e8, 0x080c, 0x21fd, 0x08c0, 0x20e1, 0x7000, + 0x7324, 0x7420, 0x7028, 0x7028, 0x7426, 0x7037, 0x0001, 0x810f, + 0x712e, 0x702f, 0x0100, 0x7037, 0x0008, 0x7326, 0x7422, 0x2001, + 0x0160, 0x2502, 0x2001, 0x0138, 0x2202, 0x00ee, 0x0005, 0x0026, + 0x2001, 0x015d, 0x2003, 0x0000, 0x7908, 0xa18c, 0x0fff, 0xa182, + 0x0ffd, 0x0210, 0x2009, 0x0000, 0xa190, 0x0007, 0xa294, 0x1ff8, + 0x8214, 0x8214, 0x8214, 0x2001, 0x020a, 0x82ff, 0x0140, 0x20e1, + 0x6000, 0x200c, 0x200c, 0x200c, 0x200c, 0x8211, 0x1dd0, 0x20e1, + 0x7000, 0x200c, 0x200c, 0x7003, 0x0000, 0x20e1, 0x6000, 0x2001, + 0x0208, 0x200c, 0x2001, 0x0209, 0x2004, 0xa106, 0x0158, 0x080c, + 0x1e68, 0x0130, 0x7908, 0xd1ec, 0x1128, 0x790c, 0xd1a4, 0x0960, + 0x080c, 0x1e94, 0xa006, 0x002e, 0x0005, 0x00f6, 0x00e6, 0x0016, + 0x0026, 0x2071, 0xc96a, 0x2079, 0x0030, 0x2011, 0x0050, 0x7000, + 0xa086, 0x0000, 0x01a8, 0x8211, 0x0188, 0x2001, 0x0005, 0x2004, + 0xd08c, 0x0dc8, 0x7904, 0xa18c, 0x0780, 0x0016, 0x080c, 0x1b54, + 0x001e, 0x81ff, 0x1118, 0x2011, 0x0050, 0x0c48, 0xa085, 0x0001, + 0x002e, 0x001e, 0x00ee, 0x00fe, 0x0005, 0x7803, 0x0004, 0x2009, + 0x0064, 0x7804, 0xd0ac, 0x0904, 0x2031, 0x8109, 0x1dd0, 0x2009, + 0x0100, 0x210c, 0xa18a, 0x0003, 0x0a0c, 0x1515, 0x080c, 0x2304, + 0x00e6, 0x00f6, 0x2071, 0xc959, 0x2079, 0x0010, 0x7004, 0xa086, + 0x0000, 0x0538, 0x7800, 0x0006, 0x7820, 0x0006, 0x7830, 0x0006, + 0x7834, 0x0006, 0x7838, 0x0006, 0x783c, 0x0006, 0x7803, 0x0004, + 0xe000, 0xe000, 0x2079, 0x0030, 0x7804, 0xd0ac, 0x190c, 0x1515, + 0x2079, 0x0010, 0x000e, 0x783e, 0x000e, 0x783a, 0x000e, 0x7836, + 0x000e, 0x7832, 0x000e, 0x7822, 0x000e, 0x7802, 0x00fe, 0x00ee, + 0x0030, 0x00fe, 0x00ee, 0x7804, 0xd0ac, 0x190c, 0x1515, 0x080c, + 0x7f2e, 0x0005, 0x00e6, 0x2071, 0xc992, 0x7003, 0x0000, 0x00ee, + 0x0005, 0x00d6, 0xa280, 0x0004, 0x206c, 0x694c, 0xd1dc, 0x1904, + 0x20be, 0x6934, 0xa184, 0x0007, 0x0002, 0x204d, 0x20a9, 0x204d, + 0x204f, 0x204d, 0x2090, 0x206f, 0x205e, 0x080c, 0x1515, 0x2100, + 0xa084, 0x00ff, 0xa086, 0x0013, 0x0904, 0x20a9, 0x2100, 0xa084, + 0x00ff, 0xa086, 0x001b, 0x0904, 0x20a9, 0x0c78, 0x684c, 0xd0b4, + 0x0904, 0x21ba, 0x6860, 0x682e, 0x6816, 0x685c, 0x682a, 0x6812, + 0x687c, 0x680a, 0x6880, 0x680e, 0x6958, 0x0804, 0x20b1, 0x6834, + 0xa084, 0x00ff, 0xa086, 0x001e, 0x19c0, 0x684c, 0xd0b4, 0x0904, + 0x21ba, 0x6860, 0x682e, 0x6816, 0x685c, 0x682a, 0x6812, 0x687c, + 0x680a, 0x6880, 0x680e, 0x6804, 0x681a, 0xa080, 0x000d, 0x2004, + 0xa084, 0x000f, 0xa080, 0x2398, 0x2005, 0x6832, 0x6958, 0x0450, + 0xa18c, 0x00ff, 0xa186, 0x0015, 0x1548, 0x684c, 0xd0b4, 0x0904, + 0x21ba, 0x6804, 0x681a, 0xa080, 0x000d, 0x2004, 0xa084, 0x000f, + 0xa080, 0x2398, 0x2005, 0x6832, 0x6958, 0xa006, 0x682e, 0x682a, + 0x0088, 0x684c, 0xd0b4, 0x0904, 0x1b2f, 0x6958, 0xa006, 0x682e, + 0x682a, 0x2d00, 0x681a, 0x6834, 0xa084, 0x000f, 0xa080, 0x2398, + 0x2005, 0x6832, 0x6926, 0x684c, 0xc0dd, 0x684e, 0x00de, 0x0005, + 0x00f6, 0x2079, 0x0020, 0x7804, 0xd0fc, 0x190c, 0x21fd, 0x00e6, + 0x00d6, 0x2071, 0xc992, 0x7000, 0xa005, 0x1904, 0x2126, 0x00c6, + 0x7206, 0xa280, 0x0004, 0x205c, 0x7004, 0x2068, 0x7803, 0x0004, + 0x6818, 0x00d6, 0x2068, 0x686c, 0x7812, 0x6890, 0x00f6, 0x20e1, + 0x9040, 0x2079, 0x0200, 0x781a, 0x2079, 0x0100, 0x8004, 0x78d6, + 0x00fe, 0x00de, 0x2b68, 0x6824, 0x2050, 0x6818, 0x2060, 0x6830, + 0x2040, 0x6034, 0xa0cc, 0x000f, 0x6908, 0x791a, 0x7116, 0x680c, + 0x781e, 0x701a, 0xa006, 0x700e, 0x7012, 0x7004, 0x692c, 0x6814, + 0xa106, 0x1120, 0x6928, 0x6810, 0xa106, 0x0158, 0x0036, 0x0046, + 0x6b14, 0x6c10, 0x080c, 0x23ec, 0x004e, 0x003e, 0x0110, 0x00ce, + 0x00a8, 0x8aff, 0x1120, 0x00ce, 0xa085, 0x0001, 0x0078, 0x0126, + 0x2091, 0x8000, 0x2079, 0x0020, 0x2009, 0x0001, 0x0059, 0x0118, + 0x2009, 0x0001, 0x0039, 0x012e, 0x00ce, 0xa006, 0x00de, 0x00ee, + 0x00fe, 0x0005, 0x0076, 0x0066, 0x0056, 0x0046, 0x0036, 0x0026, + 0x8aff, 0x0904, 0x21b3, 0x700c, 0x7214, 0xa23a, 0x7010, 0x7218, + 0xa203, 0x0a04, 0x21b2, 0xa705, 0x0904, 0x21b2, 0xa03e, 0x2730, + 0x6850, 0xd0fc, 0x11a8, 0x00d6, 0x2805, 0xac68, 0x2900, 0x0002, + 0x2181, 0x2166, 0x2166, 0x2181, 0x2181, 0x217a, 0x2181, 0x2166, + 0x2181, 0x216b, 0x216b, 0x2181, 0x2181, 0x2181, 0x2172, 0x216b, + 0xc0fc, 0x6852, 0x6b6c, 0x6a70, 0x6d1c, 0x6c20, 0xd99c, 0x05c8, + 0x00d6, 0x2805, 0xac68, 0x6f08, 0x6e0c, 0x0490, 0x6b08, 0x6a0c, + 0x6d00, 0x6c04, 0x0468, 0x6b10, 0x6a14, 0x6d00, 0x6c04, 0x6f08, + 0x6e0c, 0x0430, 0x00de, 0x00d6, 0x6834, 0xa084, 0x00ff, 0xa086, + 0x001e, 0x1138, 0x00de, 0x080c, 0x235a, 0x1904, 0x2130, 0xa00e, + 0x0490, 0x2d10, 0x00de, 0x00d6, 0x6834, 0xa084, 0x00ff, 0xa086, + 0x0013, 0x2268, 0x09d8, 0x2d10, 0x00de, 0x00d6, 0x6834, 0xa084, + 0x00ff, 0xa086, 0x001b, 0x2268, 0x09b0, 0x00de, 0x080c, 0x1515, + 0x00de, 0x7b22, 0x7a26, 0x7d32, 0x7c36, 0x7f3a, 0x7e3e, 0x7902, + 0x7000, 0x8000, 0x7002, 0x6828, 0xa300, 0x682a, 0x682c, 0xa201, + 0x682e, 0x700c, 0xa300, 0x700e, 0x7010, 0xa201, 0x7012, 0x080c, + 0x235a, 0x0008, 0xa006, 0x002e, 0x003e, 0x004e, 0x005e, 0x006e, + 0x007e, 0x0005, 0x080c, 0x1515, 0x0026, 0x2001, 0x0105, 0x2003, + 0x0010, 0x20e1, 0x9040, 0x7803, 0x0004, 0x7003, 0x0000, 0x7004, + 0x2060, 0x00d6, 0x6010, 0x2068, 0x080c, 0xac21, 0x0118, 0x6850, + 0xc0bd, 0x6852, 0x601c, 0xa086, 0x0006, 0x1180, 0x2061, 0x0100, + 0x62c8, 0x2001, 0x00fa, 0x8001, 0x1df0, 0x60c8, 0xa206, 0x1dc0, + 0x60c4, 0x686a, 0x60c8, 0x6866, 0x7004, 0x2060, 0x00de, 0x00c6, + 0x080c, 0xa8f9, 0x00ce, 0x2001, 0xc936, 0x2004, 0xac06, 0x1150, + 0x20e1, 0x9040, 0x080c, 0x9098, 0x2011, 0x0000, 0x080c, 0x8ec1, + 0x080c, 0x7f2e, 0x002e, 0x0804, 0x22b7, 0x0126, 0x2091, 0x2400, + 0x0006, 0x0016, 0x00f6, 0x00e6, 0x00d6, 0x00c6, 0x2079, 0x0020, + 0x2071, 0xc992, 0x2b68, 0x6818, 0x2060, 0x7904, 0x7803, 0x0002, + 0xa184, 0x0700, 0x1904, 0x21bc, 0x7000, 0x0002, 0x22b7, 0x221a, + 0x228a, 0x22b5, 0x8001, 0x7002, 0xd19c, 0x1170, 0x8aff, 0x05d0, + 0x2009, 0x0001, 0x080c, 0x212a, 0x0904, 0x22b7, 0x2009, 0x0001, + 0x080c, 0x212a, 0x0804, 0x22b7, 0x7803, 0x0004, 0xd194, 0x0148, + 0x6850, 0xc0fc, 0x6852, 0x8aff, 0x11d8, 0x684c, 0xc0f5, 0x684e, + 0x00b8, 0x0026, 0x0036, 0x6b28, 0x6a2c, 0x7820, 0x686e, 0xa31a, + 0x7824, 0x6872, 0xa213, 0x7830, 0x681e, 0x7834, 0x6822, 0x6b2a, + 0x6a2e, 0x003e, 0x002e, 0x080c, 0x2370, 0x6850, 0xc0fd, 0x6852, + 0x2a00, 0x6826, 0x2c00, 0x681a, 0x2800, 0x6832, 0x7003, 0x0000, + 0x0804, 0x22b7, 0x00f6, 0x0026, 0x781c, 0x0006, 0x7818, 0x0006, + 0x2079, 0x0100, 0x7a14, 0xa284, 0x0184, 0xa085, 0x0012, 0x7816, + 0x0036, 0x2019, 0x1000, 0x8319, 0x090c, 0x1515, 0x7820, 0xd0bc, + 0x1dd0, 0x003e, 0x79c8, 0x000e, 0xa102, 0x001e, 0x0006, 0x0016, + 0x79c4, 0x000e, 0xa103, 0x78c6, 0x000e, 0x78ca, 0xa284, 0x0184, + 0xa085, 0x0012, 0x7816, 0x002e, 0x00fe, 0x7803, 0x0008, 0x7003, + 0x0000, 0x0468, 0x8001, 0x7002, 0xd194, 0x0168, 0x7804, 0xd0fc, + 0x1904, 0x220d, 0xd19c, 0x11f8, 0x8aff, 0x0508, 0x2009, 0x0001, + 0x080c, 0x212a, 0x00e0, 0x0026, 0x0036, 0x6b28, 0x6a2c, 0x080c, + 0x2370, 0x00d6, 0x2805, 0xac68, 0x6034, 0xd09c, 0x1128, 0x6808, + 0xa31a, 0x680c, 0xa213, 0x0020, 0x6810, 0xa31a, 0x6814, 0xa213, + 0x00de, 0x0804, 0x223d, 0x0804, 0x2239, 0x080c, 0x1515, 0x00ce, + 0x00de, 0x00ee, 0x00fe, 0x001e, 0x000e, 0x012e, 0x0005, 0x00f6, + 0x00e6, 0x2071, 0xc992, 0x7000, 0xa086, 0x0000, 0x05d0, 0x2079, + 0x0020, 0x0016, 0x2009, 0x0207, 0x210c, 0xd194, 0x0198, 0x2009, + 0x020c, 0x210c, 0xa184, 0x0003, 0x0168, 0x080c, 0xc529, 0x2001, + 0x0133, 0x2004, 0xa005, 0x090c, 0x1515, 0x20e1, 0x9040, 0x2001, + 0x020c, 0x2102, 0x2009, 0x0206, 0x2104, 0x2009, 0x0203, 0x210c, + 0xa106, 0x1110, 0x20e1, 0x9040, 0x7804, 0xd0fc, 0x09d8, 0x080c, + 0x21fd, 0x7000, 0xa086, 0x0000, 0x19a8, 0x001e, 0x7803, 0x0004, + 0x7804, 0xd0ac, 0x1de8, 0x20e1, 0x9040, 0x7803, 0x0002, 0x7003, + 0x0000, 0x00ee, 0x00fe, 0x0005, 0x0026, 0x00c6, 0x00d6, 0x00e6, + 0x00f6, 0x2071, 0xc992, 0x2079, 0x0020, 0x7000, 0xa086, 0x0000, + 0x0540, 0x7004, 0x2060, 0x6010, 0x2068, 0x080c, 0xac21, 0x0158, + 0x6850, 0xc0b5, 0x6852, 0x680c, 0x7a1c, 0xa206, 0x1120, 0x6808, + 0x7a18, 0xa206, 0x01e0, 0x2001, 0x0105, 0x2003, 0x0010, 0x20e1, + 0x9040, 0x7803, 0x0004, 0x7003, 0x0000, 0x7004, 0x2060, 0x080c, + 0xa8f9, 0x20e1, 0x9040, 0x080c, 0x9098, 0x2011, 0x0000, 0x080c, + 0x8ec1, 0x00fe, 0x00ee, 0x00de, 0x00ce, 0x002e, 0x0005, 0x6810, + 0x6a14, 0xa205, 0x1d00, 0x684c, 0xc0dc, 0x684e, 0x2c10, 0x080c, + 0x2039, 0x2001, 0x0105, 0x2003, 0x0010, 0x20e1, 0x9040, 0x7803, + 0x0004, 0x7003, 0x0000, 0x2069, 0xc927, 0x6833, 0x0000, 0x683f, + 0x0000, 0x08f8, 0x8840, 0x2805, 0xa005, 0x1170, 0x6004, 0xa005, + 0x0168, 0x681a, 0x2060, 0x6034, 0xa084, 0x000f, 0xa080, 0x2398, + 0x2045, 0x88ff, 0x090c, 0x1515, 0x8a51, 0x0005, 0x2050, 0x0005, + 0x8a50, 0x8841, 0x2805, 0xa005, 0x1190, 0x2c00, 0xad06, 0x0120, + 0x6000, 0xa005, 0x1108, 0x2d00, 0x2060, 0x681a, 0x6034, 0xa084, + 0x000f, 0xa080, 0x23a8, 0x2045, 0x88ff, 0x090c, 0x1515, 0x0005, + 0x0000, 0x0011, 0x0015, 0x0019, 0x001d, 0x0021, 0x0025, 0x0029, + 0x0000, 0x000f, 0x0015, 0x001b, 0x0021, 0x0027, 0x0000, 0x0000, + 0x0000, 0x238d, 0x2389, 0x238d, 0x238d, 0x2397, 0x0000, 0x238d, + 0x0000, 0x2394, 0x2391, 0x2394, 0x2394, 0x0000, 0x2397, 0x2394, + 0x0000, 0x238f, 0x238f, 0x0000, 0x238f, 0x2397, 0x0000, 0x238f, + 0x0000, 0x2395, 0x2395, 0x0000, 0x2395, 0x0000, 0x2397, 0x2395, + 0x0136, 0x0146, 0x0156, 0x2099, 0xc765, 0x20a1, 0x0018, 0x20a9, + 0x0008, 0x53a3, 0x7803, 0x0020, 0x0126, 0x2091, 0x8000, 0x7803, + 0x0041, 0x7007, 0x0005, 0x7000, 0xc094, 0x7002, 0x700b, 0xc760, + 0x012e, 0x015e, 0x014e, 0x013e, 0x0005, 0x2099, 0x0014, 0x7803, + 0x0040, 0x2001, 0xc765, 0x2004, 0x2010, 0x080c, 0x7271, 0x2009, + 0xc699, 0x2104, 0xa084, 0xfffc, 0x200a, 0x080c, 0x71e3, 0x7007, + 0x0000, 0x080c, 0x166e, 0x0005, 0x00a6, 0x0096, 0x0086, 0x6b2e, + 0x6c2a, 0x6858, 0xa055, 0x0904, 0x247d, 0x2d60, 0x6034, 0xa0cc, + 0x000f, 0xa9c0, 0x2398, 0xa986, 0x0007, 0x0130, 0xa986, 0x000e, + 0x0118, 0xa986, 0x000f, 0x1120, 0x605c, 0xa422, 0x6060, 0xa31a, + 0x2805, 0xa045, 0x1140, 0x0310, 0x0804, 0x247d, 0x6004, 0xa065, + 0x0904, 0x247d, 0x0c18, 0x2805, 0xa005, 0x01a8, 0xac68, 0xd99c, + 0x1128, 0x6808, 0xa422, 0x680c, 0xa31b, 0x0020, 0x6810, 0xa422, + 0x6814, 0xa31b, 0x0620, 0x2300, 0xa405, 0x0150, 0x8a51, 0x0904, + 0x247d, 0x8840, 0x0c40, 0x6004, 0xa065, 0x0904, 0x247d, 0x0830, + 0x8a51, 0x0904, 0x247d, 0x8840, 0x2805, 0xa005, 0x1158, 0x6004, + 0xa065, 0x0904, 0x247d, 0x6034, 0xa0cc, 0x000f, 0xa9c0, 0x2398, + 0x2805, 0x2040, 0x2b68, 0x6850, 0xc0fc, 0x6852, 0x0458, 0x8422, + 0x8420, 0x831a, 0xa399, 0x0000, 0x00d6, 0x2b68, 0x6c6e, 0x6b72, + 0x00de, 0xd99c, 0x1168, 0x6908, 0x2400, 0xa122, 0x690c, 0x2300, + 0xa11b, 0x0a0c, 0x1515, 0x6800, 0xa420, 0x6804, 0xa319, 0x0060, + 0x6910, 0x2400, 0xa122, 0x6914, 0x2300, 0xa11b, 0x0a0c, 0x1515, + 0x6800, 0xa420, 0x6804, 0xa319, 0x2b68, 0x6c1e, 0x6b22, 0x6850, + 0xc0fd, 0x6852, 0x2c00, 0x681a, 0x2800, 0x6832, 0x2a00, 0x6826, + 0x000e, 0x000e, 0x000e, 0xa006, 0x0028, 0x008e, 0x009e, 0x00ae, + 0xa085, 0x0001, 0x0005, 0x2001, 0x0005, 0x2004, 0xa084, 0x0007, + 0x0002, 0x2491, 0x2492, 0x2495, 0x2498, 0x249d, 0x24a0, 0x24a5, + 0x24aa, 0x0005, 0x080c, 0x21fd, 0x0005, 0x080c, 0x1b54, 0x0005, + 0x080c, 0x1b54, 0x080c, 0x21fd, 0x0005, 0x080c, 0x1721, 0x0005, + 0x080c, 0x21fd, 0x080c, 0x1721, 0x0005, 0x080c, 0x1b54, 0x080c, + 0x1721, 0x0005, 0x080c, 0x1b54, 0x080c, 0x21fd, 0x080c, 0x1721, + 0x0005, 0x0006, 0x0016, 0x0156, 0x20a9, 0x0009, 0x2009, 0xc977, + 0x2104, 0xac06, 0x1108, 0x200a, 0xa188, 0x0003, 0x1f04, 0x24b8, + 0x015e, 0x001e, 0x000e, 0x0005, 0x00e6, 0x00d6, 0x2071, 0xc96a, + 0x700c, 0x7110, 0xa106, 0x01b8, 0x2104, 0xa005, 0x0138, 0xa080, + 0x0004, 0x2004, 0x2068, 0x080c, 0x7648, 0x0158, 0xa188, 0x0003, + 0xa182, 0xc992, 0x0210, 0x2009, 0xc977, 0x700c, 0xa106, 0x1d60, + 0x0010, 0xa085, 0x0001, 0x00de, 0x00ee, 0x0005, 0x0126, 0x2091, + 0x2600, 0x2079, 0x0200, 0x2071, 0xcc80, 0x2069, 0xc600, 0x080c, + 0x25d4, 0x080c, 0x25c4, 0x2009, 0x0004, 0x7912, 0x7817, 0x0004, + 0x080c, 0x2968, 0x781b, 0x0002, 0x20e1, 0x9080, 0x20e1, 0x4000, + 0x20a9, 0x0080, 0x782f, 0x0000, 0x1f04, 0x2502, 0x20e1, 0x9080, + 0x783b, 0x001f, 0x20e1, 0x8700, 0x012e, 0x0005, 0x0126, 0x2091, + 0x2600, 0x781c, 0xd0a4, 0x190c, 0x25c1, 0xa084, 0x0007, 0x0002, + 0x2532, 0x2520, 0x2523, 0x2526, 0x252b, 0x252d, 0x252f, 0x2531, + 0x080c, 0x6889, 0x0078, 0x080c, 0x68d6, 0x0060, 0x080c, 0x6889, + 0x080c, 0x68d6, 0x0038, 0x0041, 0x0028, 0x0031, 0x0018, 0x0021, + 0x0008, 0x0011, 0x012e, 0x0005, 0x0006, 0x0016, 0x0026, 0x080c, + 0xc529, 0x7930, 0xa184, 0x0003, 0x0170, 0x2001, 0xc936, 0x2004, + 0xa005, 0x0130, 0x2001, 0x0133, 0x2004, 0xa005, 0x090c, 0x1515, + 0x20e1, 0x9040, 0x04a0, 0xa184, 0x0030, 0x01e0, 0x6a00, 0xa286, + 0x0003, 0x1108, 0x00a0, 0x080c, 0x5ee2, 0x1178, 0x2001, 0xc8e6, + 0x2003, 0x0001, 0x2001, 0xc600, 0x2003, 0x0001, 0xa085, 0x0001, + 0x080c, 0x5f26, 0x080c, 0x5e1a, 0x0010, 0x080c, 0x4e14, 0x080c, + 0x25c4, 0x00a8, 0xa184, 0x00c0, 0x0168, 0x00e6, 0x0036, 0x0046, + 0x0056, 0x2071, 0xc96a, 0x080c, 0x1e94, 0x005e, 0x004e, 0x003e, + 0x00ee, 0x0028, 0xa184, 0x0300, 0x0110, 0x20e1, 0x9020, 0x7932, + 0x002e, 0x001e, 0x000e, 0x0005, 0x0016, 0x00e6, 0x00f6, 0x2071, + 0xc600, 0x7128, 0x2001, 0xc8d8, 0x2102, 0x2001, 0xc8e0, 0x2102, + 0xa182, 0x0211, 0x1218, 0x2009, 0x0008, 0x0400, 0xa182, 0x0259, + 0x1218, 0x2009, 0x0007, 0x00d0, 0xa182, 0x02c1, 0x1218, 0x2009, + 0x0006, 0x00a0, 0xa182, 0x0349, 0x1218, 0x2009, 0x0005, 0x0070, + 0xa182, 0x0421, 0x1218, 0x2009, 0x0004, 0x0040, 0xa182, 0x0581, + 0x1218, 0x2009, 0x0003, 0x0010, 0x2009, 0x0002, 0x2079, 0x0200, + 0x7912, 0x7817, 0x0004, 0x080c, 0x2968, 0x00fe, 0x00ee, 0x001e, + 0x0005, 0x7938, 0x080c, 0x1515, 0x00e6, 0x0026, 0x2071, 0x0200, + 0x20e1, 0x1000, 0x7220, 0x7028, 0x7020, 0xa206, 0x0de0, 0x20e1, + 0x9010, 0x002e, 0x00ee, 0x0005, 0x20e1, 0xa000, 0x7837, 0x0001, + 0x782f, 0x0000, 0x782f, 0x0000, 0x782f, 0x0000, 0x782f, 0x0000, + 0x7837, 0x0005, 0x20a9, 0x0210, 0x7830, 0xd0bc, 0x1110, 0x1f04, + 0x25e4, 0x7837, 0x0001, 0x7837, 0x0000, 0xe000, 0xe000, 0x20e1, + 0xa000, 0x0005, 0x0126, 0x2091, 0x2800, 0x2061, 0x0100, 0x2071, + 0xc600, 0x6024, 0x6026, 0x6053, 0x0030, 0x080c, 0x29a7, 0x6050, + 0xa084, 0xfe7f, 0x6052, 0x2009, 0x00ef, 0x6132, 0x6136, 0x080c, + 0x29b7, 0x60e7, 0x0000, 0x61ea, 0x60e3, 0x0008, 0x604b, 0xf7f7, + 0x6043, 0x0000, 0x602f, 0x0080, 0x602f, 0x0000, 0x6007, 0x0e9f, + 0x601b, 0x001e, 0x600f, 0x00ff, 0x2001, 0xc8d4, 0x2003, 0x00ff, + 0x602b, 0x002f, 0x012e, 0x0005, 0x2001, 0xc632, 0x2003, 0x0000, + 0x2001, 0xc631, 0x2003, 0x0001, 0x0005, 0x0126, 0x2091, 0x2800, + 0x0006, 0x0016, 0x0026, 0x6124, 0x0066, 0x2031, 0xc635, 0x2634, + 0xa6b4, 0x0028, 0x006e, 0x11c0, 0x6020, 0xd0bc, 0x01a8, 0xd1bc, + 0x0198, 0x783c, 0xa005, 0x0180, 0x00e6, 0x0006, 0x2070, 0x701c, + 0xa086, 0x0009, 0x000e, 0x00ee, 0x1138, 0x00e6, 0x783c, 0x2070, + 0x7008, 0xd0fc, 0x00ee, 0x1130, 0xa184, 0x1e2c, 0x1118, 0xa184, + 0x0007, 0x002a, 0xa195, 0x0004, 0xa284, 0x0007, 0x0002, 0x2681, + 0x2667, 0x266a, 0x266d, 0x2672, 0x2674, 0x2678, 0x267c, 0x080c, + 0x7837, 0x00b8, 0x080c, 0x7912, 0x00a0, 0x080c, 0x7912, 0x080c, + 0x7837, 0x0078, 0x0099, 0x0068, 0x080c, 0x7837, 0x0079, 0x0048, + 0x080c, 0x7912, 0x0059, 0x0028, 0x080c, 0x7912, 0x080c, 0x7837, + 0x0029, 0x002e, 0x001e, 0x000e, 0x012e, 0x0005, 0x6124, 0xd19c, + 0x1904, 0x28d6, 0x080c, 0x5ee2, 0x0578, 0x7000, 0xa086, 0x0003, + 0x0198, 0x6024, 0xa084, 0x1800, 0x0178, 0x080c, 0x5f08, 0x0118, + 0x080c, 0x5ef4, 0x1148, 0x6027, 0x0020, 0x6043, 0x0000, 0x2001, + 0xc8e5, 0x2003, 0xaaaa, 0x0458, 0x080c, 0x5f08, 0x15d0, 0x6024, + 0xa084, 0x1800, 0x1108, 0x04a8, 0x2001, 0xc8e5, 0x2003, 0xaaaa, + 0x2001, 0xc8e6, 0x2003, 0x0001, 0x2001, 0xc600, 0x2003, 0x0001, + 0x080c, 0x5e1a, 0x0804, 0x28d6, 0xd1ac, 0x1518, 0x6024, 0xd0dc, + 0x1170, 0xd0e4, 0x1188, 0xd0d4, 0x11a0, 0xd0cc, 0x0130, 0x708c, + 0xa086, 0x0028, 0x1110, 0x080c, 0x6071, 0x0804, 0x28d6, 0x2001, + 0xc8e6, 0x2003, 0x0000, 0x0048, 0x2001, 0xc8e6, 0x2003, 0x0002, + 0x0020, 0x080c, 0x5fe4, 0x0804, 0x28d6, 0x080c, 0x6116, 0x0804, + 0x28d6, 0x6220, 0xd1bc, 0x0568, 0xd2bc, 0x0558, 0x783c, 0xa005, + 0x0540, 0x00e6, 0x2070, 0x7008, 0xd0fc, 0x00ee, 0x0510, 0x6028, + 0xc0bc, 0x602a, 0x0026, 0x0036, 0x6288, 0x638c, 0x608b, 0xbc91, + 0x608f, 0xffff, 0x6043, 0x0001, 0xe000, 0xe000, 0x6027, 0x0080, + 0x6017, 0x0000, 0x6043, 0x0000, 0x628a, 0x638e, 0x003e, 0x002e, + 0x0016, 0x2001, 0xc696, 0x200c, 0xc184, 0x2102, 0x001e, 0x0804, + 0x292f, 0xd1ac, 0x0904, 0x2812, 0x0036, 0x6328, 0xc3bc, 0x632a, + 0x003e, 0x080c, 0x5ee2, 0x11d8, 0x6027, 0x0020, 0x0006, 0x0026, + 0x0036, 0x080c, 0x5efe, 0x1170, 0x2001, 0xc8e6, 0x2003, 0x0001, + 0x2001, 0xc600, 0x2003, 0x0001, 0x080c, 0x5e1a, 0x003e, 0x002e, + 0x000e, 0x0005, 0x003e, 0x002e, 0x000e, 0x080c, 0x5eb9, 0x0016, + 0x0046, 0x00c6, 0x644c, 0xa486, 0xf0f0, 0x1138, 0x2061, 0x0100, + 0x644a, 0x6043, 0x0090, 0x6043, 0x0010, 0x74ce, 0xa48c, 0xff00, + 0x7034, 0xd084, 0x0178, 0xa186, 0xf800, 0x1160, 0x703c, 0xd084, + 0x1148, 0xc085, 0x703e, 0x0036, 0x2418, 0x2011, 0x8016, 0x080c, + 0x403a, 0x003e, 0xa196, 0xff00, 0x05b8, 0x7054, 0xa084, 0x00ff, + 0x810f, 0xa116, 0x0588, 0x7130, 0xd184, 0x1570, 0x2011, 0xc653, + 0x2214, 0xd2ec, 0x0138, 0xc18d, 0x7132, 0x2011, 0xc653, 0x2214, + 0xd2ac, 0x1510, 0x6240, 0xa294, 0x0010, 0x0130, 0x6248, 0xa294, + 0xff00, 0xa296, 0xff00, 0x01c0, 0x7030, 0xd08c, 0x0904, 0x27df, + 0x7034, 0xd08c, 0x1140, 0x2001, 0xc60c, 0x200c, 0xd1ac, 0x1904, + 0x27df, 0xc1ad, 0x2102, 0x0036, 0x73cc, 0x2011, 0x8013, 0x080c, + 0x403a, 0x003e, 0x0804, 0x27df, 0x7034, 0xd08c, 0x1140, 0x2001, + 0xc60c, 0x200c, 0xd1ac, 0x1904, 0x27df, 0xc1ad, 0x2102, 0x0036, + 0x73cc, 0x2011, 0x8013, 0x080c, 0x403a, 0x003e, 0x7130, 0xc185, + 0x7132, 0x2011, 0xc653, 0x220c, 0xd1a4, 0x01d0, 0x0016, 0x2009, + 0x0001, 0x2011, 0x0100, 0x080c, 0x70f2, 0x2019, 0x000e, 0x080c, + 0xc08f, 0xa484, 0x00ff, 0xa080, 0x2f32, 0x200d, 0xa18c, 0xff00, + 0x810f, 0x8127, 0xa006, 0x2009, 0x000e, 0x080c, 0xc112, 0x001e, + 0x0016, 0x2009, 0x0000, 0x2019, 0x0004, 0x080c, 0x2ddd, 0x001e, + 0x0070, 0x0156, 0x20a9, 0x007f, 0x2009, 0x0000, 0x080c, 0x52fd, + 0x1110, 0x080c, 0x4f00, 0x8108, 0x1f04, 0x27d6, 0x015e, 0x00ce, + 0x004e, 0x2011, 0x0003, 0x080c, 0x8eb7, 0x2011, 0x0002, 0x080c, + 0x8ec1, 0x080c, 0x8d97, 0x0036, 0x2019, 0x0000, 0x080c, 0x8e22, + 0x003e, 0x60e3, 0x0000, 0x001e, 0x2001, 0xc600, 0x2014, 0xa296, + 0x0004, 0x1128, 0xd19c, 0x11b0, 0x6228, 0xc29d, 0x622a, 0x2003, + 0x0001, 0x2001, 0xc623, 0x2003, 0x0000, 0x6027, 0x0020, 0x080c, + 0x5f08, 0x1140, 0x0016, 0x2009, 0x07d0, 0x2011, 0x5df7, 0x080c, + 0x6ffa, 0x001e, 0xd194, 0x0904, 0x28d6, 0x0016, 0x6220, 0xd2b4, + 0x0904, 0x287b, 0x080c, 0x6fe8, 0x080c, 0x8b9e, 0x6027, 0x0004, + 0x00f6, 0x2019, 0xc930, 0x2304, 0xa07d, 0x0570, 0x7804, 0xa086, + 0x0032, 0x1550, 0x00d6, 0x00c6, 0x00e6, 0x2069, 0x0140, 0x618c, + 0x6288, 0x7818, 0x608e, 0x7808, 0x608a, 0x6043, 0x0002, 0x2001, + 0x0003, 0x8001, 0x1df0, 0x6043, 0x0000, 0x6803, 0x1000, 0x6803, + 0x0000, 0x618e, 0x628a, 0x080c, 0x7d75, 0x080c, 0x7e54, 0x7810, + 0x2070, 0x7037, 0x0103, 0x2f60, 0x080c, 0x9585, 0x00ee, 0x00ce, + 0x00de, 0x00fe, 0x001e, 0x0005, 0x00fe, 0x00d6, 0x2069, 0x0140, + 0x6804, 0xa084, 0x4000, 0x0120, 0x6803, 0x1000, 0x6803, 0x0000, + 0x00de, 0x00c6, 0x2061, 0xc927, 0x6028, 0xa09a, 0x00c8, 0x1238, + 0x8000, 0x602a, 0x00ce, 0x080c, 0x8b91, 0x0804, 0x28d5, 0x2019, + 0xc930, 0x2304, 0xa065, 0x0120, 0x2009, 0x0027, 0x080c, 0x95b5, + 0x00ce, 0x0804, 0x28d5, 0xd2bc, 0x0904, 0x28d5, 0x080c, 0x6ff5, + 0x6014, 0xa084, 0x0184, 0xa085, 0x0010, 0x6016, 0x6027, 0x0004, + 0x00d6, 0x2069, 0x0140, 0x6804, 0xa084, 0x4000, 0x0120, 0x6803, + 0x1000, 0x6803, 0x0000, 0x00de, 0x00c6, 0x2061, 0xc927, 0x6044, + 0xa09a, 0x00c8, 0x1620, 0x8000, 0x6046, 0x603c, 0x00ce, 0xa005, + 0x05a0, 0x2009, 0x07d0, 0x080c, 0x6fed, 0xa080, 0x0007, 0x2004, + 0xa086, 0x0006, 0x1138, 0x6114, 0xa18c, 0x0184, 0xa18d, 0x0012, + 0x6116, 0x0418, 0xa080, 0x0007, 0x2004, 0xa086, 0x0009, 0x0d98, + 0x6114, 0xa18c, 0x0184, 0xa18d, 0x0016, 0x6116, 0x00b0, 0x0036, + 0x2019, 0x0001, 0x080c, 0x8e22, 0x003e, 0x2019, 0xc936, 0x2304, + 0xa065, 0x0150, 0x2009, 0x004f, 0x601c, 0xa086, 0x0009, 0x1110, + 0x2009, 0x0105, 0x080c, 0x95b5, 0x00ce, 0x001e, 0xd19c, 0x0904, + 0x292f, 0x7034, 0xd0ac, 0x1560, 0x0016, 0x0156, 0x6027, 0x0008, + 0x602f, 0x0020, 0x20a9, 0x0006, 0x1d04, 0x28e4, 0x2091, 0x6000, + 0x1f04, 0x28e4, 0x602f, 0x0000, 0x6150, 0xa185, 0x1400, 0x6052, + 0x20a9, 0x0366, 0x1d04, 0x28f2, 0x2091, 0x6000, 0x6020, 0xd09c, + 0x1130, 0x015e, 0x6152, 0x001e, 0x6027, 0x0008, 0x0480, 0x080c, + 0x2a77, 0x1f04, 0x28f2, 0x015e, 0x6152, 0x001e, 0x6027, 0x0008, + 0x0016, 0x6028, 0xc09c, 0x602a, 0x2011, 0x0003, 0x080c, 0x8eb7, + 0x2011, 0x0002, 0x080c, 0x8ec1, 0x080c, 0x8d97, 0x0036, 0x2019, + 0x0000, 0x080c, 0x8e22, 0x003e, 0x60e3, 0x0000, 0x080c, 0xc508, + 0x080c, 0xc523, 0xa085, 0x0001, 0x080c, 0x5f26, 0x2001, 0xc600, + 0x2003, 0x0004, 0x6027, 0x0008, 0x080c, 0x12dd, 0x001e, 0xa18c, + 0xffd0, 0x6126, 0x0005, 0x0006, 0x0016, 0x0026, 0x00e6, 0x00f6, + 0x0126, 0x2091, 0x8000, 0x2071, 0xc600, 0x71c4, 0x70c6, 0xa116, + 0x0500, 0x81ff, 0x0128, 0x2011, 0x8011, 0x080c, 0x403a, 0x00c8, + 0x2011, 0x8012, 0x080c, 0x403a, 0x2001, 0xc672, 0x2004, 0xd0fc, + 0x1180, 0x0036, 0x00c6, 0x080c, 0x2a02, 0x080c, 0x8d73, 0x2061, + 0x0100, 0x2019, 0x0028, 0x2009, 0x0000, 0x080c, 0x2ddd, 0x00ce, + 0x003e, 0x012e, 0x00fe, 0x00ee, 0x002e, 0x001e, 0x000e, 0x0005, + 0x00c6, 0x00f6, 0x0006, 0x0026, 0x2061, 0x0100, 0xa190, 0x297b, + 0x2205, 0x60f2, 0x2011, 0x2988, 0x2205, 0x60ee, 0x002e, 0x000e, + 0x00fe, 0x00ce, 0x0005, 0x0840, 0x0840, 0x0840, 0x0580, 0x0420, + 0x0348, 0x02c0, 0x0258, 0x0210, 0x01a8, 0x01a8, 0x01a8, 0x01a8, + 0x0140, 0x00f8, 0x00d0, 0x00b0, 0x00a0, 0x2028, 0xa18c, 0x00ff, + 0x2130, 0xa094, 0xff00, 0x1110, 0x81ff, 0x0118, 0x080c, 0x6ba0, + 0x0038, 0xa080, 0x2f32, 0x200d, 0xa18c, 0xff00, 0x810f, 0xa006, + 0x0005, 0xa080, 0x2f32, 0x200d, 0xa18c, 0x00ff, 0x0005, 0x00d6, + 0x2069, 0x0140, 0x2001, 0xc615, 0x2003, 0x00ef, 0x20a9, 0x0010, + 0xa006, 0x6852, 0x6856, 0x1f04, 0x29b2, 0x00de, 0x0005, 0x0006, + 0x00d6, 0x0026, 0x2069, 0x0140, 0x2001, 0xc615, 0x2102, 0x8114, + 0x8214, 0x8214, 0x8214, 0x20a9, 0x0010, 0x6853, 0x0000, 0xa006, + 0x82ff, 0x1128, 0xa184, 0x000f, 0xa080, 0xc537, 0x2005, 0x6856, + 0x8211, 0x1f04, 0x29c7, 0x002e, 0x00de, 0x000e, 0x0005, 0x00c6, + 0x2061, 0xc600, 0x6030, 0x0110, 0xc09d, 0x0008, 0xc09c, 0x6032, + 0x00ce, 0x0005, 0x0156, 0x00d6, 0x0026, 0x0016, 0x0006, 0x2069, + 0x0140, 0x6980, 0xa116, 0x0180, 0xa112, 0x1230, 0x8212, 0x8210, + 0x22a8, 0x2001, 0x0402, 0x0018, 0x22a8, 0x2001, 0x0404, 0x680e, + 0x1f04, 0x29f7, 0x680f, 0x0000, 0x000e, 0x001e, 0x002e, 0x00de, + 0x015e, 0x0005, 0x2001, 0xc653, 0x2004, 0xd0c4, 0x0150, 0xd0a4, + 0x0140, 0xa006, 0x0046, 0x2020, 0x2009, 0x002e, 0x080c, 0xc112, + 0x004e, 0x0005, 0x00f6, 0x0016, 0x0026, 0x2079, 0x0140, 0x78c4, + 0xd0dc, 0x0548, 0xa084, 0x0700, 0xa08e, 0x0300, 0x1520, 0x2011, + 0x0000, 0x2009, 0x0002, 0x2300, 0xa080, 0x0020, 0x2018, 0x2300, + 0x080c, 0x7803, 0x2011, 0x0030, 0x2200, 0x8007, 0xa085, 0x004c, + 0x78c2, 0x2009, 0x0204, 0x210c, 0x2200, 0xa100, 0x2009, 0x0138, + 0x200a, 0x080c, 0x5ee2, 0x1118, 0x2009, 0xc8d6, 0x200a, 0x002e, + 0x001e, 0x00fe, 0x0005, 0x78c3, 0x0000, 0x0cc8, 0x0126, 0x2091, + 0x2800, 0x0006, 0x0016, 0x0026, 0x2001, 0x0170, 0x200c, 0x8000, + 0x2014, 0xa184, 0x0003, 0x0110, 0x0804, 0x1b52, 0x002e, 0x001e, + 0x000e, 0x012e, 0x0005, 0x0006, 0x2001, 0x0100, 0x2004, 0xa082, + 0x0005, 0x000e, 0x0268, 0x2001, 0x0170, 0x200c, 0xa18c, 0x00ff, + 0xa18e, 0x004c, 0x1128, 0x200c, 0xa18c, 0xff00, 0x810f, 0x0010, + 0x2009, 0x0000, 0x2001, 0x0204, 0x2004, 0xa108, 0x0005, 0x0006, + 0x0156, 0x00f6, 0x2079, 0x0100, 0x20a9, 0x000a, 0x7854, 0xd08c, + 0x1110, 0x1f04, 0x2a7e, 0x00fe, 0x015e, 0x000e, 0x0005, 0x0016, + 0x00c6, 0x0006, 0x2061, 0x0100, 0x6030, 0x0006, 0x6048, 0x0006, + 0x60e4, 0x0006, 0x60e8, 0x0006, 0x6050, 0x0006, 0x60f0, 0x0006, + 0x60ec, 0x0006, 0x600c, 0x0006, 0x6004, 0x0006, 0x6028, 0x0006, + 0x60e0, 0x0006, 0x602f, 0x0100, 0x602f, 0x0000, 0xe000, 0xe000, + 0xe000, 0xe000, 0x602f, 0x0040, 0x602f, 0x0000, 0x000e, 0x60e2, + 0x000e, 0x602a, 0x000e, 0x6006, 0x000e, 0x600e, 0x000e, 0x60ee, + 0x000e, 0x60f2, 0x000e, 0x6052, 0x000e, 0x60ea, 0x000e, 0x60e6, + 0x000e, 0x604a, 0x000e, 0x6032, 0x6036, 0x2008, 0x080c, 0x29b7, + 0x000e, 0x00ce, 0x001e, 0x0005, 0x2009, 0x0171, 0x2104, 0xd0dc, + 0x0140, 0x2009, 0x0170, 0x2104, 0x200b, 0x0080, 0xe000, 0xe000, + 0x200a, 0x0005, 0x2b6a, 0x2b6e, 0x2b72, 0x2b78, 0x2b7e, 0x2b84, + 0x2b8a, 0x2b92, 0x2b9a, 0x2ba0, 0x2ba6, 0x2bae, 0x2bb6, 0x2bbe, + 0x2bc6, 0x2bd0, 0x2c1d, 0x2c1d, 0x2c1d, 0x2c1d, 0x2c1d, 0x2c1d, + 0x2c1d, 0x2c1d, 0x2c1d, 0x2c1d, 0x2c1d, 0x2c1d, 0x2c1d, 0x2c1d, + 0x2c1d, 0x2c1d, 0x2bda, 0x2bda, 0x2bda, 0x2bda, 0x2bda, 0x2bda, + 0x2bda, 0x2bda, 0x2bda, 0x2bda, 0x2bda, 0x2bda, 0x2bda, 0x2bda, + 0x2bda, 0x2bda, 0x2c1d, 0x2c1d, 0x2c1d, 0x2c1d, 0x2c1d, 0x2c1d, + 0x2c1d, 0x2c1d, 0x2c1d, 0x2c1d, 0x2c1d, 0x2c1d, 0x2c1d, 0x2c1d, + 0x2c1d, 0x2c1d, 0x2bdc, 0x2bdc, 0x2be2, 0x2be2, 0x2be9, 0x2be9, + 0x2bf0, 0x2bf0, 0x2bf9, 0x2bf9, 0x2c00, 0x2c00, 0x2c09, 0x2c09, + 0x2c12, 0x2c12, 0x2c1d, 0x2c1d, 0x2c1d, 0x2c1d, 0x2c1d, 0x2c1d, + 0x2c1d, 0x2c1d, 0x2c1d, 0x2c1d, 0x2c1d, 0x2c1d, 0x2c1d, 0x2c1d, + 0x2c1d, 0x2c1d, 0x2bda, 0x2bda, 0x2bda, 0x2bda, 0x2bda, 0x2bda, + 0x2bda, 0x2bda, 0x2bda, 0x2bda, 0x2bda, 0x2bda, 0x2bda, 0x2bda, + 0x2bda, 0x2bda, 0x2c1d, 0x2c1d, 0x2c1d, 0x2c1d, 0x2c1d, 0x2c1d, + 0x2c1d, 0x2c1d, 0x2c1d, 0x2c1d, 0x2c1d, 0x2c1d, 0x2c1d, 0x2c1d, + 0x2c1d, 0x2c1d, 0x2bda, 0x2bda, 0x2bda, 0x2bda, 0x2bda, 0x2bda, + 0x2bda, 0x2bda, 0x2bda, 0x2bda, 0x2bda, 0x2bda, 0x2bda, 0x2bda, + 0x2bda, 0x2bda, 0x0106, 0x0006, 0x0804, 0x2c25, 0x0106, 0x0006, + 0x0804, 0x2c25, 0x0106, 0x0006, 0x080c, 0x262d, 0x0804, 0x2c25, + 0x0106, 0x0006, 0x080c, 0x262d, 0x0804, 0x2c25, 0x0106, 0x0006, + 0x080c, 0x2483, 0x0804, 0x2c25, 0x0106, 0x0006, 0x080c, 0x2483, + 0x0804, 0x2c25, 0x0106, 0x0006, 0x080c, 0x262d, 0x080c, 0x2483, + 0x0804, 0x2c25, 0x0106, 0x0006, 0x080c, 0x262d, 0x080c, 0x2483, + 0x0804, 0x2c25, 0x0106, 0x0006, 0x080c, 0x250e, 0x0804, 0x2c25, + 0x0106, 0x0006, 0x080c, 0x250e, 0x0804, 0x2c25, 0x0106, 0x0006, + 0x080c, 0x262d, 0x080c, 0x250e, 0x0804, 0x2c25, 0x0106, 0x0006, + 0x080c, 0x262d, 0x080c, 0x250e, 0x0804, 0x2c25, 0x0106, 0x0006, + 0x080c, 0x2483, 0x080c, 0x250e, 0x0804, 0x2c25, 0x0106, 0x0006, + 0x080c, 0x2483, 0x080c, 0x250e, 0x0804, 0x2c25, 0x0106, 0x0006, + 0x080c, 0x262d, 0x080c, 0x2483, 0x080c, 0x250e, 0x0804, 0x2c25, + 0x0106, 0x0006, 0x080c, 0x262d, 0x080c, 0x2483, 0x080c, 0x250e, + 0x0804, 0x2c25, 0xe000, 0x0cf0, 0x0106, 0x0006, 0x080c, 0x2a46, + 0x0804, 0x2c25, 0x0106, 0x0006, 0x080c, 0x2a46, 0x080c, 0x262d, + 0x04e0, 0x0106, 0x0006, 0x080c, 0x2a46, 0x080c, 0x2483, 0x04a8, + 0x0106, 0x0006, 0x080c, 0x2a46, 0x080c, 0x262d, 0x080c, 0x2483, + 0x0460, 0x0106, 0x0006, 0x080c, 0x2a46, 0x080c, 0x250e, 0x0428, + 0x0106, 0x0006, 0x080c, 0x2a46, 0x080c, 0x262d, 0x080c, 0x250e, + 0x00e0, 0x0106, 0x0006, 0x080c, 0x2a46, 0x080c, 0x2483, 0x080c, + 0x250e, 0x0098, 0x0106, 0x0006, 0x080c, 0x2a46, 0x080c, 0x262d, + 0x080c, 0x2483, 0x080c, 0x250e, 0x0040, 0x20d1, 0x0000, 0x20d1, + 0x0001, 0x20d1, 0x0000, 0x080c, 0x1515, 0x000e, 0x010e, 0x000d, + 0x00c6, 0x0026, 0x0046, 0x2021, 0x0000, 0x080c, 0x56cb, 0x1904, + 0x2d05, 0x72d4, 0x2001, 0xc8e5, 0x2004, 0xa005, 0x1110, 0xd29c, + 0x0148, 0xd284, 0x1138, 0xd2bc, 0x1904, 0x2d05, 0x080c, 0x2d09, + 0x0804, 0x2d05, 0xd2cc, 0x1904, 0x2d05, 0x080c, 0x5ee2, 0x1120, + 0x709f, 0xffff, 0x0804, 0x2d05, 0xd294, 0x0120, 0x709f, 0xffff, + 0x0804, 0x2d05, 0x2001, 0xc615, 0x203c, 0x7288, 0xd284, 0x0904, + 0x2ca7, 0xd28c, 0x1904, 0x2ca7, 0x0036, 0x739c, 0xa38e, 0xffff, + 0x1110, 0x2019, 0x0001, 0x8314, 0xa2e0, 0xcdc0, 0x2c04, 0xa38c, + 0x0001, 0x0120, 0xa084, 0xff00, 0x8007, 0x0010, 0xa084, 0x00ff, + 0xa70e, 0x0560, 0xa08e, 0x0000, 0x0548, 0xa08e, 0x00ff, 0x1150, + 0x7230, 0xd284, 0x1538, 0x7288, 0xc28d, 0x728a, 0x709f, 0xffff, + 0x003e, 0x0428, 0x2009, 0x0000, 0x080c, 0x298d, 0x080c, 0x52a1, + 0x11b8, 0x6004, 0xa084, 0x00ff, 0xa086, 0x0006, 0x1150, 0x7030, + 0xd08c, 0x0118, 0x6000, 0xd0bc, 0x0120, 0x080c, 0x2d1c, 0x0140, + 0x0028, 0x080c, 0x2e4b, 0x080c, 0x2d4a, 0x0110, 0x8318, 0x0818, + 0x739e, 0x0010, 0x709f, 0xffff, 0x003e, 0x0804, 0x2d05, 0xa780, + 0x2f32, 0x203d, 0xa7bc, 0xff00, 0x873f, 0x2041, 0x007e, 0x709c, + 0xa096, 0xffff, 0x1120, 0x2009, 0x0000, 0x28a8, 0x0050, 0xa812, + 0x0220, 0x2008, 0xa802, 0x20a8, 0x0020, 0x709f, 0xffff, 0x0804, + 0x2d05, 0x2700, 0x0156, 0x0016, 0xa106, 0x05a0, 0xc484, 0x080c, + 0x52fd, 0x0120, 0x080c, 0x52a1, 0x15a8, 0x0008, 0xc485, 0x6004, + 0xa084, 0x00ff, 0xa086, 0x0006, 0x1130, 0x7030, 0xd08c, 0x01e8, + 0x6000, 0xd0bc, 0x11d0, 0x7288, 0xd28c, 0x0188, 0x6004, 0xa084, + 0x00ff, 0xa082, 0x0006, 0x02b0, 0xd484, 0x1118, 0x080c, 0x52c0, + 0x0028, 0x080c, 0x2ed8, 0x0170, 0x080c, 0x2f05, 0x0058, 0x080c, + 0x2e4b, 0x080c, 0x2d4a, 0x0170, 0x0028, 0x080c, 0x2ed8, 0x0110, + 0x0419, 0x0140, 0x001e, 0x8108, 0x015e, 0x1f04, 0x2cc1, 0x709f, + 0xffff, 0x0018, 0x001e, 0x015e, 0x719e, 0x004e, 0x002e, 0x00ce, + 0x0005, 0x00c6, 0x0016, 0x709f, 0x0001, 0x2009, 0x007e, 0x080c, + 0x52a1, 0x1138, 0x080c, 0x2e4b, 0x04a9, 0x0118, 0x70d4, 0xc0bd, + 0x70d6, 0x001e, 0x00ce, 0x0005, 0x0016, 0x0076, 0x00d6, 0x00c6, + 0x2c68, 0x2001, 0xc657, 0x2004, 0xa084, 0x00ff, 0x6842, 0x080c, + 0xae9d, 0x01d8, 0x2d00, 0x601a, 0x080c, 0xafee, 0x601f, 0x0001, + 0x2001, 0x0000, 0x080c, 0x523f, 0x2001, 0x0000, 0x080c, 0x5251, + 0x0126, 0x2091, 0x8000, 0x7098, 0x8000, 0x709a, 0x012e, 0x2009, + 0x0004, 0x080c, 0x95b5, 0xa085, 0x0001, 0x00ce, 0x00de, 0x007e, + 0x001e, 0x0005, 0x0016, 0x0076, 0x00d6, 0x00c6, 0x2c68, 0x2001, + 0xc657, 0x2004, 0xa084, 0x00ff, 0x6842, 0x080c, 0xae9d, 0x0550, + 0x2d00, 0x601a, 0x6800, 0xc0c4, 0x6802, 0x68a0, 0xa086, 0x007e, + 0x0140, 0x6804, 0xa084, 0x00ff, 0xa086, 0x0006, 0x1110, 0x080c, + 0x2e0a, 0x080c, 0xafee, 0x601f, 0x0001, 0x2001, 0x0000, 0x080c, + 0x523f, 0x2001, 0x0002, 0x080c, 0x5251, 0x0126, 0x2091, 0x8000, + 0x7098, 0x8000, 0x709a, 0x012e, 0x2009, 0x0002, 0x080c, 0x95b5, + 0xa085, 0x0001, 0x00ce, 0x00de, 0x007e, 0x001e, 0x0005, 0x00c6, + 0x0026, 0x2009, 0x0080, 0x080c, 0x52a1, 0x1120, 0x0031, 0x0110, + 0x70db, 0xffff, 0x002e, 0x00ce, 0x0005, 0x0016, 0x0076, 0x00d6, + 0x00c6, 0x2c68, 0x080c, 0x952f, 0x01d8, 0x2d00, 0x601a, 0x080c, + 0xafee, 0x601f, 0x0001, 0x2001, 0x0000, 0x080c, 0x523f, 0x2001, + 0x0002, 0x080c, 0x5251, 0x0126, 0x2091, 0x8000, 0x70dc, 0x8000, + 0x70de, 0x012e, 0x2009, 0x0002, 0x080c, 0x95b5, 0xa085, 0x0001, + 0x00ce, 0x00de, 0x007e, 0x001e, 0x0005, 0x00c6, 0x00d6, 0x0126, + 0x2091, 0x8000, 0x2009, 0x007f, 0x080c, 0x52a1, 0x1190, 0x2c68, + 0x080c, 0x952f, 0x0170, 0x2d00, 0x601a, 0x6312, 0x601f, 0x0001, + 0x620a, 0x080c, 0xafee, 0x2009, 0x0022, 0x080c, 0x95b5, 0xa085, + 0x0001, 0x012e, 0x00de, 0x00ce, 0x0005, 0x00e6, 0x00c6, 0x0066, + 0x0036, 0x0026, 0x080c, 0x7ae6, 0x080c, 0x7a7f, 0x080c, 0xa02f, + 0x2130, 0x81ff, 0x0128, 0x20a9, 0x007e, 0x2009, 0x0000, 0x0020, + 0x20a9, 0x007f, 0x2009, 0x0000, 0x0016, 0x080c, 0x52fd, 0x1120, + 0x080c, 0x54fe, 0x080c, 0x4f00, 0x001e, 0x8108, 0x1f04, 0x2df4, + 0x86ff, 0x1110, 0x080c, 0x11f4, 0x002e, 0x003e, 0x006e, 0x00ce, + 0x00ee, 0x0005, 0x00e6, 0x00c6, 0x0036, 0x0026, 0x0016, 0x6218, + 0x2270, 0x72a0, 0x0026, 0x2019, 0x0029, 0x080c, 0x7ada, 0x0076, + 0x2039, 0x0000, 0x080c, 0x79d2, 0x2c08, 0x080c, 0xbe79, 0x007e, + 0x001e, 0x2e60, 0x080c, 0x54fe, 0x6210, 0x6314, 0x080c, 0x4f00, + 0x6212, 0x6316, 0x001e, 0x002e, 0x003e, 0x00ce, 0x00ee, 0x0005, + 0x00e6, 0x0006, 0x6018, 0xa080, 0x0028, 0x2004, 0xa086, 0x0080, + 0x0150, 0x2071, 0xc600, 0x7098, 0xa005, 0x0110, 0x8001, 0x709a, + 0x000e, 0x00ee, 0x0005, 0x2071, 0xc600, 0x70dc, 0xa005, 0x0dc0, + 0x8001, 0x70de, 0x0ca8, 0x6000, 0xc08c, 0x6002, 0x0005, 0x00f6, + 0x00e6, 0x00c6, 0x0036, 0x0026, 0x0016, 0x0156, 0x2178, 0x81ff, + 0x1118, 0x20a9, 0x0001, 0x0098, 0x2001, 0xc653, 0x2004, 0xd0c4, + 0x0150, 0xd0a4, 0x0140, 0xa006, 0x0046, 0x2020, 0x2009, 0x002d, + 0x080c, 0xc112, 0x004e, 0x20a9, 0x00ff, 0x2011, 0x0000, 0x0026, + 0xa28e, 0x007e, 0x0904, 0x2eb7, 0xa28e, 0x007f, 0x0904, 0x2eb7, + 0xa28e, 0x0080, 0x05e0, 0xa288, 0xc77b, 0x210c, 0x81ff, 0x05b8, + 0x8fff, 0x1148, 0x2001, 0xc905, 0x0006, 0x2003, 0x0001, 0x04d9, + 0x000e, 0x2003, 0x0000, 0x00c6, 0x2160, 0x2001, 0x0001, 0x080c, + 0x56d5, 0x00ce, 0x2019, 0x0029, 0x080c, 0x7ada, 0x0076, 0x2039, + 0x0000, 0x080c, 0x79d2, 0x00c6, 0x0026, 0x2160, 0x6204, 0xa294, + 0x00ff, 0xa286, 0x0006, 0x1118, 0x6007, 0x0404, 0x0028, 0x2001, + 0x0004, 0x8007, 0xa215, 0x6206, 0x002e, 0x00ce, 0x0016, 0x2c08, + 0x080c, 0xbe79, 0x001e, 0x007e, 0x2160, 0x080c, 0x54fe, 0x002e, + 0x8210, 0x1f04, 0x2e6f, 0x015e, 0x001e, 0x002e, 0x003e, 0x00ce, + 0x00ee, 0x00fe, 0x0005, 0x0046, 0x0026, 0x0016, 0x2001, 0xc653, + 0x2004, 0xd0c4, 0x0148, 0xd0a4, 0x0138, 0xa006, 0x2220, 0x8427, + 0x2009, 0x0029, 0x080c, 0xc112, 0x001e, 0x002e, 0x004e, 0x0005, + 0x0016, 0x0026, 0x0036, 0x00c6, 0x7288, 0x82ff, 0x01f8, 0x2011, + 0xc653, 0x2214, 0xd2ac, 0x11d0, 0x2100, 0x080c, 0x29a1, 0x81ff, + 0x01b8, 0x2019, 0x0001, 0x8314, 0xa2e0, 0xcdc0, 0x2c04, 0xd384, + 0x0120, 0xa084, 0xff00, 0x8007, 0x0010, 0xa084, 0x00ff, 0xa116, + 0x0138, 0xa096, 0x00ff, 0x0110, 0x8318, 0x0c68, 0xa085, 0x0001, + 0x00ce, 0x003e, 0x002e, 0x001e, 0x0005, 0x0016, 0x00c6, 0x0126, + 0x2091, 0x8000, 0x0016, 0x0026, 0x0036, 0x2110, 0x0026, 0x2019, + 0x0029, 0x080c, 0x90d4, 0x002e, 0x080c, 0xc466, 0x003e, 0x002e, + 0x001e, 0xa180, 0xc77b, 0x2004, 0xa065, 0x0158, 0x0016, 0x00c6, + 0x2061, 0xca3c, 0x001e, 0x611a, 0x080c, 0x2e0a, 0x001e, 0x080c, + 0x52c0, 0x012e, 0x00ce, 0x001e, 0x0005, 0x2001, 0xc635, 0x2004, + 0xd0cc, 0x0005, 0x7eef, 0x7de8, 0x7ce4, 0x80e2, 0x7be1, 0x80e0, + 0x80dc, 0x80da, 0x7ad9, 0x80d6, 0x80d5, 0x80d4, 0x80d3, 0x80d2, + 0x80d1, 0x79ce, 0x78cd, 0x80cc, 0x80cb, 0x80ca, 0x80c9, 0x80c7, + 0x80c6, 0x77c5, 0x76c3, 0x80bc, 0x80ba, 0x75b9, 0x80b6, 0x74b5, + 0x73b4, 0x72b3, 0x80b2, 0x80b1, 0x80ae, 0x71ad, 0x80ac, 0x70ab, + 0x6faa, 0x6ea9, 0x80a7, 0x6da6, 0x6ca5, 0x6ba3, 0x6a9f, 0x699e, + 0x689d, 0x809b, 0x8098, 0x6797, 0x6690, 0x658f, 0x6488, 0x6384, + 0x6282, 0x8081, 0x8080, 0x617c, 0x607a, 0x8079, 0x5f76, 0x8075, + 0x8074, 0x8073, 0x8072, 0x8071, 0x806e, 0x5e6d, 0x806c, 0x5d6b, + 0x5c6a, 0x5b69, 0x8067, 0x5a66, 0x5965, 0x5863, 0x575c, 0x565a, + 0x5559, 0x8056, 0x8055, 0x5454, 0x5353, 0x5252, 0x5151, 0x504e, + 0x4f4d, 0x804c, 0x804b, 0x4e4a, 0x4d49, 0x8047, 0x4c46, 0x8045, + 0x8043, 0x803c, 0x803a, 0x8039, 0x8036, 0x4b35, 0x8034, 0x4a33, + 0x4932, 0x4831, 0x802e, 0x472d, 0x462c, 0x452b, 0x442a, 0x4329, + 0x4227, 0x8026, 0x8025, 0x4123, 0x401f, 0x3f1e, 0x3e1d, 0x3d1b, + 0x3c18, 0x8017, 0x8010, 0x3b0f, 0x3a08, 0x8004, 0x3902, 0x8001, + 0x8000, 0x8000, 0x3800, 0x3700, 0x3600, 0x8000, 0x3500, 0x8000, + 0x8000, 0x8000, 0x3400, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, + 0x8000, 0x3300, 0x3200, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, + 0x8000, 0x3100, 0x3000, 0x8000, 0x8000, 0x2f00, 0x8000, 0x2e00, + 0x2d00, 0x2c00, 0x8000, 0x8000, 0x8000, 0x2b00, 0x8000, 0x2a00, + 0x2900, 0x2800, 0x8000, 0x2700, 0x2600, 0x2500, 0x2400, 0x2300, + 0x2200, 0x8000, 0x8000, 0x2100, 0x2000, 0x1f00, 0x1e00, 0x1d00, + 0x1c00, 0x8000, 0x8000, 0x1b00, 0x1a00, 0x8000, 0x1900, 0x8000, + 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x1800, 0x8000, 0x1700, + 0x1600, 0x1500, 0x8000, 0x1400, 0x1300, 0x1200, 0x1100, 0x1000, + 0x0f00, 0x8000, 0x8000, 0x0e00, 0x0d00, 0x0c00, 0x0b00, 0x0a00, + 0x0900, 0x8000, 0x8000, 0x0800, 0x0700, 0x8000, 0x0600, 0x8000, + 0x8000, 0x8000, 0x0500, 0x0400, 0x0300, 0x8000, 0x0200, 0x8000, + 0x8000, 0x8000, 0x0100, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, + 0x8000, 0x0000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, + 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, + 0x8000, 0x8000, 0x2071, 0xc6a2, 0x7003, 0x0002, 0xa006, 0x7012, + 0x7016, 0x703a, 0x703e, 0x7033, 0xc6b2, 0x7037, 0xc6b2, 0x7007, + 0x0001, 0x2061, 0xc6f2, 0x6003, 0x0002, 0x0005, 0x1004, 0x3058, + 0x0e04, 0x3058, 0x2071, 0xc6a2, 0x2b78, 0x7818, 0xd084, 0x1140, + 0x2a60, 0x7820, 0xa08e, 0x0069, 0x1904, 0x313d, 0x0804, 0x30d6, + 0x0005, 0x2071, 0xc6a2, 0x7004, 0x0002, 0x3061, 0x3062, 0x306b, + 0x307c, 0x0005, 0x1004, 0x306a, 0x0e04, 0x306a, 0x2b78, 0x7818, + 0xd084, 0x01e8, 0x0005, 0x2b78, 0x2061, 0xc6f2, 0x6008, 0xa08e, + 0x0100, 0x0128, 0xa086, 0x0200, 0x0904, 0x3137, 0x0005, 0x7014, + 0x2068, 0x2a60, 0x7018, 0x0807, 0x7010, 0x2068, 0x6834, 0xa086, + 0x0103, 0x0108, 0x0005, 0x2a60, 0x2b78, 0x7018, 0x0807, 0x2a60, + 0x7820, 0xa08a, 0x0040, 0x1210, 0x61c4, 0x0042, 0x2100, 0xa08a, + 0x003f, 0x1a04, 0x3134, 0x61c4, 0x0804, 0x30d6, 0x3118, 0x3143, + 0x314b, 0x314f, 0x3157, 0x315d, 0x3161, 0x316d, 0x3170, 0x317a, + 0x317d, 0x3134, 0x3134, 0x3134, 0x3180, 0x3134, 0x318f, 0x31a6, + 0x31bd, 0x3237, 0x323c, 0x3265, 0x32b6, 0x32c7, 0x32e6, 0x331e, + 0x3328, 0x3335, 0x3348, 0x3369, 0x3372, 0x33a8, 0x33ae, 0x3134, + 0x33d7, 0x3134, 0x3134, 0x3134, 0x3134, 0x3134, 0x33de, 0x33e8, + 0x3134, 0x3134, 0x3134, 0x3134, 0x3134, 0x3134, 0x3134, 0x3134, + 0x33f0, 0x3134, 0x3134, 0x3134, 0x3134, 0x3134, 0x3402, 0x340c, + 0x3134, 0x3134, 0x3134, 0x3134, 0x3134, 0x3134, 0x0002, 0x3436, + 0x348a, 0x34e5, 0x34f8, 0x3134, 0x3529, 0x395c, 0x452c, 0x3134, + 0x3134, 0x3134, 0x3134, 0x3134, 0x3134, 0x3134, 0x3134, 0x317a, + 0x317d, 0x395e, 0x3134, 0x396b, 0x45c5, 0x4620, 0x4684, 0x3134, + 0x46e7, 0x470d, 0x472c, 0x475e, 0x3134, 0x3134, 0x3134, 0x396f, + 0x3b14, 0x3b2e, 0x3b4c, 0x3bad, 0x3c0d, 0x3c18, 0x3c50, 0x3c5f, + 0x3c6e, 0x3c71, 0x3c94, 0x3cde, 0x3d54, 0x3d61, 0x3e62, 0x3f91, + 0x3fba, 0x40b8, 0x40da, 0x40e6, 0x411f, 0x41ef, 0x4249, 0x430f, + 0x4361, 0x43c1, 0x43d6, 0x43f1, 0x4463, 0x4515, 0x713c, 0x0000, + 0x2021, 0x4000, 0x080c, 0x4017, 0x0126, 0x2091, 0x8000, 0x0e04, + 0x3124, 0x7818, 0xd084, 0x0110, 0x012e, 0x0cb0, 0x7c22, 0x7926, + 0x7a2a, 0x7b2e, 0x781b, 0x0001, 0x2091, 0x4080, 0x7007, 0x0001, + 0x2091, 0x5000, 0x012e, 0x0005, 0x2021, 0x4001, 0x0c18, 0x2021, + 0x4002, 0x0c00, 0x2021, 0x4003, 0x08e8, 0x2021, 0x4005, 0x08d0, + 0x2021, 0x4006, 0x08b8, 0xa02e, 0x2520, 0x7b28, 0x7a2c, 0x7824, + 0x7930, 0x0804, 0x4024, 0x7823, 0x0004, 0x7824, 0x0807, 0xa02e, + 0x2520, 0x7b28, 0x7a2c, 0x7824, 0x7930, 0x0804, 0x4027, 0x7924, + 0x7828, 0x2114, 0x200a, 0x0804, 0x3118, 0x7924, 0x2114, 0x0804, + 0x3118, 0x2099, 0x0009, 0x20a1, 0x0009, 0x20a9, 0x0007, 0x53a3, + 0x7924, 0x7a28, 0x7b2c, 0x0804, 0x3118, 0x7824, 0x2060, 0x0090, + 0x2009, 0x0002, 0x2011, 0x0002, 0x2019, 0x0003, 0x783b, 0x0037, + 0x0804, 0x3118, 0x7d38, 0x7c3c, 0x0840, 0x7d38, 0x7c3c, 0x0888, + 0x2061, 0x1000, 0xe10c, 0xa006, 0x2c15, 0xa200, 0x8c60, 0x8109, + 0x1dd8, 0x2010, 0xa005, 0x0904, 0x3118, 0x0804, 0x313a, 0x2069, + 0xc652, 0x7824, 0x7930, 0xa11a, 0x1a04, 0x3140, 0x8019, 0x0904, + 0x3140, 0x684a, 0x6942, 0x782c, 0x6852, 0x7828, 0x6856, 0xa006, + 0x685a, 0x685e, 0x080c, 0x61b8, 0x0804, 0x3118, 0x2069, 0xc652, + 0x7824, 0x7934, 0xa11a, 0x1a04, 0x3140, 0x8019, 0x0904, 0x3140, + 0x684e, 0x6946, 0x782c, 0x6862, 0x7828, 0x6866, 0xa006, 0x686a, + 0x686e, 0x080c, 0x5797, 0x0804, 0x3118, 0xa02e, 0x2520, 0x81ff, + 0x1904, 0x313d, 0x7924, 0x7b28, 0x7a2c, 0x20a9, 0x0005, 0x20a1, + 0xc6a9, 0x41a1, 0x080c, 0x3fe3, 0x0904, 0x313d, 0x2009, 0x0020, + 0x080c, 0x4024, 0x701b, 0x31d5, 0x0005, 0x6834, 0x2008, 0xa084, + 0x00ff, 0xa096, 0x0011, 0x0138, 0xa096, 0x0019, 0x0120, 0xa096, + 0x0015, 0x1904, 0x313d, 0x810f, 0xa18c, 0x00ff, 0x0904, 0x313d, + 0x710e, 0x700c, 0x8001, 0x0528, 0x700e, 0x080c, 0x3fe3, 0x0904, + 0x313d, 0x2009, 0x0020, 0x2061, 0xc6f2, 0x6224, 0x6328, 0x642c, + 0x6530, 0xa290, 0x0040, 0xa399, 0x0000, 0xa4a1, 0x0000, 0xa5a9, + 0x0000, 0x080c, 0x4024, 0x701b, 0x3206, 0x0005, 0x6834, 0xa084, + 0x00ff, 0xa096, 0x0002, 0x0120, 0xa096, 0x000a, 0x1904, 0x313d, + 0x08c0, 0x7010, 0x2068, 0x6838, 0xc0fd, 0x683a, 0x080c, 0x519d, + 0x1128, 0x7007, 0x0003, 0x701b, 0x3220, 0x0005, 0x080c, 0x58ee, + 0x0126, 0x2091, 0x8000, 0x20a9, 0x0005, 0x2099, 0xc6a9, 0x530a, + 0x2100, 0xa210, 0xa399, 0x0000, 0xa4a1, 0x0000, 0xa5a9, 0x0000, + 0xad80, 0x000d, 0x2009, 0x0020, 0x012e, 0x0804, 0x4027, 0x61ac, + 0x7824, 0x60ae, 0x0804, 0x3118, 0x2091, 0x8000, 0x7823, 0x4000, + 0x7827, 0x4953, 0x782b, 0x5020, 0x782f, 0x2020, 0x2009, 0x017f, + 0x2104, 0x7832, 0x3f00, 0x7836, 0x2061, 0x0100, 0x6200, 0x2061, + 0x0200, 0x603c, 0x8007, 0xa205, 0x783a, 0x2009, 0x04fd, 0x2104, + 0x783e, 0x781b, 0x0001, 0x2091, 0x5000, 0x2091, 0x4080, 0x2071, + 0x0010, 0x20c1, 0x00f0, 0x0804, 0x0427, 0x81ff, 0x1904, 0x313d, + 0x7924, 0x810f, 0xa18c, 0x00ff, 0x080c, 0x52fd, 0x1904, 0x3140, + 0x7e38, 0xa684, 0x3fff, 0xa082, 0x4000, 0x0210, 0x0804, 0x3140, + 0x7c28, 0x7d2c, 0x080c, 0x54c5, 0xd28c, 0x1118, 0x080c, 0x546e, + 0x0010, 0x080c, 0x549e, 0x1518, 0x2061, 0xce00, 0x0126, 0x2091, + 0x8000, 0x6000, 0xa086, 0x0000, 0x0148, 0x6010, 0xa06d, 0x0130, + 0x683c, 0xa406, 0x1118, 0x6840, 0xa506, 0x0150, 0x012e, 0xace0, + 0x0018, 0x2001, 0xc617, 0x2004, 0xac02, 0x1a04, 0x313d, 0x0c30, + 0x080c, 0xa8f9, 0x012e, 0x0904, 0x313d, 0x0804, 0x3118, 0xa00e, + 0x2001, 0x0005, 0x080c, 0x58ee, 0x0126, 0x2091, 0x8000, 0x080c, + 0xae99, 0x080c, 0x57ca, 0x012e, 0x0804, 0x3118, 0x81ff, 0x1904, + 0x313d, 0x080c, 0x3ff8, 0x0904, 0x3140, 0x080c, 0x53c3, 0x0904, + 0x313d, 0x080c, 0x54d1, 0x0904, 0x313d, 0x0804, 0x3118, 0x81ff, + 0x1904, 0x313d, 0x080c, 0x4008, 0x0904, 0x3140, 0x080c, 0x553d, + 0x0904, 0x313d, 0x2019, 0x0005, 0x7924, 0x080c, 0x54ec, 0x0904, + 0x313d, 0x7828, 0xa08a, 0x1000, 0x1a04, 0x3140, 0x8003, 0x800b, + 0x810b, 0xa108, 0x080c, 0x6f7d, 0x0804, 0x3118, 0x0126, 0x2091, + 0x8000, 0x81ff, 0x0118, 0x2009, 0x0001, 0x0450, 0x2029, 0x00ff, + 0x6450, 0x2400, 0xa506, 0x01f8, 0x2508, 0x080c, 0x52fd, 0x11d8, + 0x080c, 0x553d, 0x1128, 0x2009, 0x0002, 0x62b4, 0x2518, 0x00c0, + 0x2019, 0x0004, 0xa00e, 0x080c, 0x54ec, 0x1118, 0x2009, 0x0006, + 0x0078, 0x7824, 0xa08a, 0x1000, 0x1270, 0x8003, 0x800b, 0x810b, + 0xa108, 0x080c, 0x6f7d, 0x8529, 0x1ae0, 0x012e, 0x0804, 0x3118, + 0x012e, 0x0804, 0x313d, 0x012e, 0x0804, 0x3140, 0x080c, 0x3ff8, + 0x0904, 0x3140, 0x080c, 0x5429, 0x080c, 0x54c5, 0x0804, 0x3118, + 0x81ff, 0x1904, 0x313d, 0x080c, 0x3ff8, 0x0904, 0x3140, 0x080c, + 0x541a, 0x080c, 0x54c5, 0x0804, 0x3118, 0x81ff, 0x1904, 0x313d, + 0x080c, 0x3ff8, 0x0904, 0x3140, 0x080c, 0x54a0, 0x0904, 0x313d, + 0x080c, 0x51e1, 0x080c, 0x5467, 0x080c, 0x54c5, 0x0804, 0x3118, + 0x080c, 0x3ff8, 0x0904, 0x3140, 0x080c, 0x53c3, 0x0904, 0x313d, + 0x62a0, 0x2019, 0x0005, 0x00c6, 0x080c, 0x54fe, 0x2061, 0x0000, + 0x080c, 0x7ada, 0x0076, 0x2039, 0x0000, 0x080c, 0x79d2, 0x2009, + 0x0000, 0x080c, 0xbe79, 0x007e, 0x00ce, 0x080c, 0x54c5, 0x0804, + 0x3118, 0x080c, 0x3ff8, 0x0904, 0x3140, 0x080c, 0x54c5, 0x2208, + 0x0804, 0x3118, 0x0156, 0x00d6, 0x00e6, 0x2069, 0xc734, 0x6810, + 0x6914, 0xa10a, 0x1210, 0x2009, 0x0000, 0x6816, 0x2011, 0x0000, + 0x2019, 0x0000, 0x20a9, 0x007e, 0x2069, 0xc77b, 0x2d04, 0xa075, + 0x0130, 0x704c, 0x0071, 0xa210, 0x7080, 0x0059, 0xa318, 0x8d68, + 0x1f04, 0x3386, 0x2300, 0xa218, 0x00ee, 0x00de, 0x015e, 0x0804, + 0x3118, 0x00f6, 0x0016, 0xa07d, 0x0140, 0x2001, 0x0000, 0x8000, + 0x2f0c, 0x81ff, 0x0110, 0x2178, 0x0cd0, 0x001e, 0x00fe, 0x0005, + 0x2069, 0xc734, 0x6910, 0x62b0, 0x0804, 0x3118, 0x81ff, 0x1904, + 0x313d, 0x6150, 0xa190, 0x2f32, 0x2215, 0xa294, 0x00ff, 0x6370, + 0x83ff, 0x0108, 0x6274, 0x67d4, 0xd79c, 0x0118, 0x2031, 0x0001, + 0x0090, 0xd7ac, 0x0118, 0x2031, 0x0003, 0x0068, 0xd7a4, 0x0118, + 0x2031, 0x0002, 0x0040, 0x080c, 0x5ee2, 0x1118, 0x2031, 0x0004, + 0x0010, 0x2031, 0x0000, 0x7e3a, 0x7f3e, 0x0804, 0x3118, 0x6140, + 0x6244, 0x2019, 0xc8fd, 0x231c, 0x0804, 0x3118, 0x0126, 0x2091, + 0x8000, 0x6134, 0xa006, 0x2010, 0x6338, 0x012e, 0x0804, 0x3118, + 0x080c, 0x4008, 0x0904, 0x3140, 0x6244, 0x6338, 0x0804, 0x3118, + 0x6140, 0x6244, 0x7824, 0x6042, 0x7b28, 0x6346, 0x2069, 0xc652, + 0x831f, 0xa305, 0x6816, 0x782c, 0x2069, 0xc8fd, 0x2d1c, 0x206a, + 0x0804, 0x3118, 0x0126, 0x2091, 0x8000, 0x7824, 0x6036, 0x782c, + 0x603a, 0x012e, 0x0804, 0x3118, 0x7838, 0xa005, 0x01a8, 0x7828, + 0xa025, 0x0904, 0x3140, 0x782c, 0xa02d, 0x0904, 0x3140, 0xa00e, + 0x080c, 0x52fd, 0x1120, 0x6244, 0x6338, 0x6446, 0x653a, 0xa186, + 0x00ff, 0x0190, 0x8108, 0x0ca0, 0x080c, 0x4008, 0x0904, 0x3140, + 0x7828, 0xa00d, 0x0904, 0x3140, 0x782c, 0xa005, 0x0904, 0x3140, + 0x6244, 0x6146, 0x6338, 0x603a, 0x0804, 0x3118, 0x2001, 0xc600, + 0x2004, 0xa086, 0x0003, 0x1904, 0x313d, 0x00c6, 0x2061, 0x0100, + 0x7924, 0x810f, 0xa18c, 0x00ff, 0xa196, 0x00ff, 0x1130, 0x2001, + 0xc615, 0x2004, 0xa085, 0xff00, 0x0078, 0xa182, 0x007f, 0x16a0, + 0xa188, 0x2f32, 0x210d, 0xa18c, 0x00ff, 0x2001, 0xc615, 0x2004, + 0xa116, 0x0550, 0x810f, 0xa105, 0x0126, 0x2091, 0x8000, 0x0006, + 0x080c, 0x952f, 0x000e, 0x01e0, 0x601a, 0x600b, 0xbc09, 0x601f, + 0x0001, 0x080c, 0x3fe3, 0x01d8, 0x6837, 0x0000, 0x7007, 0x0003, + 0x6833, 0x0000, 0x6838, 0xc0fd, 0x683a, 0x701b, 0x34de, 0x2d00, + 0x6012, 0x2009, 0x0032, 0x080c, 0x95b5, 0x012e, 0x00ce, 0x0005, + 0x012e, 0x00ce, 0x0804, 0x313d, 0x00ce, 0x0804, 0x3140, 0x080c, + 0x9585, 0x0cb0, 0x2001, 0xc600, 0x2004, 0xa086, 0x0003, 0x1904, + 0x313d, 0x00c6, 0x2061, 0x0100, 0x7924, 0x810f, 0xa18c, 0x00ff, + 0xa196, 0x00ff, 0x1130, 0x2001, 0xc615, 0x2004, 0xa085, 0xff00, + 0x0078, 0xa182, 0x007f, 0x16a0, 0xa188, 0x2f32, 0x210d, 0xa18c, + 0x00ff, 0x2001, 0xc615, 0x2004, 0xa116, 0x0550, 0x810f, 0xa105, + 0x0126, 0x2091, 0x8000, 0x0006, 0x080c, 0x952f, 0x000e, 0x01e0, + 0x601a, 0x600b, 0xbc05, 0x601f, 0x0001, 0x080c, 0x3fe3, 0x01d8, + 0x6837, 0x0000, 0x7007, 0x0003, 0x6833, 0x0000, 0x6838, 0xc0fd, + 0x683a, 0x701b, 0x34de, 0x2d00, 0x6012, 0x2009, 0x0032, 0x080c, + 0x95b5, 0x012e, 0x00ce, 0x0005, 0x012e, 0x00ce, 0x0804, 0x313d, + 0x00ce, 0x0804, 0x3140, 0x080c, 0x9585, 0x0cb0, 0x6830, 0xa086, + 0x0100, 0x0904, 0x313d, 0x0804, 0x3118, 0x2061, 0xc9bc, 0x0126, + 0x2091, 0x8000, 0x6000, 0xd084, 0x0140, 0x6104, 0x6208, 0x2019, + 0xc612, 0x231c, 0x012e, 0x0804, 0x3118, 0x012e, 0x0804, 0x3140, + 0x81ff, 0x1904, 0x313d, 0x080c, 0x5ee2, 0x0904, 0x313d, 0x0126, + 0x2091, 0x8000, 0x6248, 0x6068, 0xa202, 0x0248, 0xa085, 0x0001, + 0x080c, 0x29d7, 0x080c, 0x4921, 0x012e, 0x0804, 0x3118, 0x012e, + 0x0804, 0x3140, 0x0006, 0x0016, 0x00c6, 0x00e6, 0x2001, 0xc906, + 0x2070, 0x2061, 0xc652, 0x6008, 0x2072, 0x2009, 0x0000, 0x2011, + 0x1000, 0x080c, 0x7803, 0x7206, 0x00ee, 0x00ce, 0x001e, 0x000e, + 0x0005, 0x0126, 0x2091, 0x8000, 0x7824, 0xa084, 0x0007, 0x0002, + 0x353b, 0x3544, 0x354b, 0x3538, 0x3538, 0x3538, 0x3538, 0x3538, + 0x012e, 0x0804, 0x3140, 0x2009, 0x0114, 0x2104, 0xa085, 0x0800, + 0x200a, 0x080c, 0x36b6, 0x0070, 0x2009, 0x010b, 0x200b, 0x0010, + 0x080c, 0x36b6, 0x0038, 0x81ff, 0x0128, 0x012e, 0x2021, 0x400b, + 0x0804, 0x311a, 0x0086, 0x0096, 0x00a6, 0x00b6, 0x00c6, 0x00d6, + 0x00e6, 0x00f6, 0x080c, 0x3512, 0x2009, 0x0101, 0x210c, 0x0016, + 0x2001, 0x0138, 0x200c, 0x2003, 0x0001, 0x0016, 0x2001, 0x007a, + 0x2034, 0x2001, 0x007b, 0x202c, 0xa006, 0x2048, 0x2050, 0x2058, + 0x080c, 0x3901, 0x080c, 0x3865, 0xa03e, 0x2720, 0x00f6, 0x00e6, + 0x00c6, 0x2d60, 0x2071, 0xc992, 0x2079, 0x0020, 0x00d6, 0x2069, + 0x0000, 0x6824, 0xd0b4, 0x0140, 0x2001, 0x007d, 0x2004, 0x783e, + 0x2001, 0x007c, 0x2004, 0x783a, 0x00de, 0x2011, 0x0001, 0x080c, + 0x3811, 0x080c, 0x3811, 0x00ce, 0x00ee, 0x00fe, 0x080c, 0x375c, + 0x080c, 0x3839, 0x080c, 0x37b6, 0x080c, 0x371b, 0x080c, 0x374c, + 0x00f6, 0x2079, 0x0100, 0x7824, 0xd094, 0x0530, 0x7814, 0xa084, + 0x0184, 0xa085, 0x0010, 0x7816, 0x2079, 0x0140, 0x080c, 0x3694, + 0x1110, 0x00fe, 0x0430, 0x7804, 0xd0dc, 0x0dc0, 0x2079, 0x0100, + 0x7827, 0x0086, 0x7814, 0xa084, 0x0184, 0xa085, 0x0032, 0x7816, + 0x080c, 0x3694, 0x1110, 0x00fe, 0x00a0, 0x7824, 0xd0bc, 0x0dc0, + 0x7827, 0x0080, 0xa026, 0x7c16, 0x7824, 0xd0ac, 0x0130, 0x8b58, + 0x080c, 0x369e, 0x00fe, 0x0804, 0x365e, 0x00fe, 0x080c, 0x3694, + 0x1150, 0x8948, 0x2001, 0x007a, 0x2602, 0x2001, 0x007b, 0x2502, + 0x080c, 0x369e, 0x0088, 0x87ff, 0x0140, 0x2001, 0x0201, 0x2004, + 0xa005, 0x1904, 0x3598, 0x8739, 0x0038, 0x2001, 0xc96a, 0x2004, + 0xa086, 0x0000, 0x1904, 0x3598, 0x2001, 0x0033, 0x2003, 0x00f6, + 0x8631, 0x1208, 0x8529, 0x2500, 0xa605, 0x0904, 0x365e, 0x7824, + 0xd0bc, 0x0128, 0x2900, 0xaa05, 0xab05, 0x1904, 0x365e, 0x6033, + 0x000d, 0x2001, 0x0030, 0x2003, 0x0004, 0x7824, 0xd0ac, 0x1148, + 0x2001, 0xc96a, 0x2003, 0x0003, 0x2001, 0x0030, 0x2003, 0x0009, + 0x0040, 0x6027, 0x0001, 0x2001, 0x0075, 0x2004, 0xa005, 0x0108, + 0x6026, 0x2c00, 0x601a, 0x20e1, 0x9040, 0x2d00, 0x681a, 0x6833, + 0x000d, 0x7824, 0xd0a4, 0x1180, 0x6827, 0x0000, 0x00c6, 0x20a9, + 0x0004, 0x2061, 0x0020, 0x6003, 0x0008, 0x2001, 0x0203, 0x2004, + 0x1f04, 0x3633, 0x00ce, 0x0040, 0x6827, 0x0001, 0x2001, 0x0074, + 0x2004, 0xa005, 0x0108, 0x6826, 0x00f6, 0x00c6, 0x2079, 0x0100, + 0x2061, 0x0020, 0x7827, 0x0002, 0x2001, 0x0072, 0x2004, 0xa084, + 0xfff8, 0x601a, 0x0006, 0x2001, 0x0073, 0x2004, 0x601e, 0x78c6, + 0x000e, 0x78ca, 0x00ce, 0x00fe, 0x0804, 0x3576, 0x2061, 0x0100, + 0x6027, 0x0002, 0x001e, 0x61e2, 0x001e, 0x6106, 0x7824, 0xa084, + 0x0003, 0xa086, 0x0002, 0x0188, 0x20e1, 0x9028, 0x6050, 0xa084, + 0xf7ef, 0x6052, 0x602f, 0x0000, 0x602c, 0xc0ac, 0x602e, 0x604b, + 0xf7f7, 0x6043, 0x0090, 0x6043, 0x0010, 0x2908, 0x2a10, 0x2b18, + 0x2b00, 0xaa05, 0xa905, 0x00fe, 0x00ee, 0x00de, 0x00ce, 0x00be, + 0x00ae, 0x009e, 0x008e, 0x1118, 0x012e, 0x0804, 0x3118, 0x012e, + 0x2021, 0x400c, 0x0804, 0x311a, 0xa085, 0x0001, 0x1d04, 0x369d, + 0x2091, 0x6000, 0x8420, 0xa486, 0x0064, 0x0005, 0x2001, 0x0105, + 0x2003, 0x0010, 0x2001, 0x0030, 0x2003, 0x0004, 0x2001, 0x0020, + 0x2003, 0x0004, 0x2001, 0xc96a, 0x2003, 0x0000, 0x2001, 0xc992, + 0x2003, 0x0000, 0x20e1, 0xf000, 0xa026, 0x0005, 0x00f6, 0x2079, + 0x0100, 0x2001, 0xc615, 0x200c, 0x7932, 0x7936, 0x080c, 0x29b7, + 0x7850, 0xa084, 0x0980, 0xa085, 0x0030, 0x7852, 0x2019, 0x01f4, + 0x8319, 0x1df0, 0xa084, 0x0980, 0x7852, 0x782c, 0xc0ad, 0x782e, + 0x20a9, 0x0046, 0x1d04, 0x36d2, 0x2091, 0x6000, 0x1f04, 0x36d2, + 0x7850, 0xa085, 0x0400, 0x7852, 0x2001, 0x0009, 0x2004, 0xa084, + 0x0003, 0xa086, 0x0001, 0x1118, 0x782c, 0xc0ac, 0x782e, 0x784b, + 0xf7f7, 0x7843, 0x0090, 0x7843, 0x0010, 0x20a9, 0x000e, 0xe000, + 0x1f04, 0x36ef, 0x7850, 0xa085, 0x1400, 0x7852, 0x2019, 0x61a8, + 0x7854, 0xe000, 0xe000, 0xd08c, 0x1110, 0x8319, 0x1dc8, 0x7827, + 0x0048, 0x7850, 0xa085, 0x0400, 0x7852, 0x7843, 0x0040, 0x2019, + 0x01f4, 0xe000, 0xe000, 0x8319, 0x1de0, 0x2001, 0x0140, 0x2003, + 0x0100, 0x7827, 0x0020, 0x7843, 0x0000, 0x2003, 0x0000, 0x7827, + 0x0048, 0x00fe, 0x0005, 0x7824, 0xd0ac, 0x11c8, 0x00f6, 0x00e6, + 0x2071, 0xc96a, 0x2079, 0x0030, 0x2001, 0x0201, 0x2004, 0xa005, + 0x0160, 0x7000, 0xa086, 0x0000, 0x1140, 0x0051, 0xd0bc, 0x0108, + 0x8738, 0x7003, 0x0003, 0x7803, 0x0019, 0x00ee, 0x00fe, 0x0005, + 0x780c, 0xa08c, 0x0070, 0x0178, 0x2009, 0x007a, 0x260a, 0x2009, + 0x007b, 0x250a, 0xd0b4, 0x0108, 0x8a50, 0xd0ac, 0x0108, 0x8948, + 0xd0a4, 0x0108, 0x8b58, 0x0005, 0x00f6, 0x2079, 0x0200, 0x781c, + 0xd084, 0x0140, 0x20e1, 0x0007, 0x20e1, 0x2000, 0x2001, 0x020a, + 0x2004, 0x0ca8, 0x00fe, 0x0005, 0x00e6, 0x2071, 0x0100, 0x2001, + 0xc907, 0x2004, 0x70e2, 0x2009, 0xc615, 0x210c, 0x716e, 0x7063, + 0x0100, 0x7166, 0x719e, 0x706b, 0x0000, 0x7073, 0x0809, 0x7077, + 0x0008, 0x7078, 0xa080, 0x0100, 0x707a, 0x7080, 0x8000, 0x7082, + 0x7087, 0xaaaa, 0xa006, 0x708a, 0x708e, 0x707e, 0x70d6, 0x70ab, + 0x0036, 0x70af, 0x95d5, 0x7027, 0x0080, 0x7014, 0xa084, 0x0184, + 0xa085, 0x0032, 0x7016, 0x080c, 0x3839, 0x080c, 0x3694, 0x1110, + 0x8421, 0x0028, 0x7024, 0xd0bc, 0x0db0, 0x7027, 0x0080, 0x00f6, + 0x00e6, 0x2071, 0xc96a, 0x2079, 0x0030, 0x00d6, 0x2069, 0x0000, + 0x6824, 0xd0b4, 0x0120, 0x683c, 0x783e, 0x6838, 0x783a, 0x00de, + 0x2011, 0x0011, 0x080c, 0x3811, 0x2011, 0x0001, 0x080c, 0x3811, + 0x00ee, 0x00fe, 0x7017, 0x0000, 0x00ee, 0x0005, 0x00f6, 0x00e6, + 0x2071, 0xc96a, 0x2079, 0x0030, 0x7904, 0xd1fc, 0x0904, 0x380e, + 0x7803, 0x0002, 0xa026, 0xd19c, 0x1904, 0x380a, 0x7000, 0x0002, + 0x380e, 0x37cc, 0x37f0, 0x380a, 0xd1bc, 0x1150, 0xd1dc, 0x1150, + 0x8001, 0x7002, 0x2011, 0x0001, 0x04e1, 0x05c0, 0x04d1, 0x04b0, + 0x780f, 0x0000, 0x7820, 0x7924, 0x7803, 0x0004, 0x7822, 0x7926, + 0x2001, 0x0201, 0x200c, 0x81ff, 0x0de8, 0x080c, 0x3738, 0x2009, + 0x0001, 0x7808, 0xd0ec, 0x0110, 0x2009, 0x0011, 0x7902, 0x00f0, + 0x8001, 0x7002, 0xa184, 0x0880, 0x1138, 0x7804, 0xd0fc, 0x1940, + 0x2011, 0x0001, 0x00b1, 0x0090, 0x6030, 0xa092, 0x0004, 0xa086, + 0x0009, 0x1120, 0x6000, 0x601a, 0x2011, 0x0025, 0x6232, 0xd1dc, + 0x1988, 0x0870, 0x7803, 0x0004, 0x7003, 0x0000, 0x00ee, 0x00fe, + 0x0005, 0x6024, 0xa005, 0x0520, 0x8001, 0x6026, 0x6018, 0x6130, + 0xa140, 0x2804, 0x7832, 0x8840, 0x2804, 0x7836, 0x8840, 0x2804, + 0x7822, 0x8840, 0x2804, 0x7826, 0x8840, 0x7a02, 0x7000, 0x8000, + 0x7002, 0x6018, 0xa802, 0xa08a, 0x0029, 0x1138, 0x6018, 0xa080, + 0x0001, 0x2004, 0x601a, 0x2001, 0x000d, 0x6032, 0xa085, 0x0001, + 0x0005, 0x00f6, 0x00e6, 0x00c6, 0x2071, 0xc992, 0x2079, 0x0020, + 0x7904, 0xd1fc, 0x01f0, 0x7803, 0x0002, 0x2d60, 0xa026, 0x7000, + 0x0002, 0x3861, 0x384c, 0x3858, 0x8001, 0x7002, 0xd19c, 0x1188, + 0x2011, 0x0001, 0x080c, 0x3811, 0x0160, 0x080c, 0x3811, 0x0048, + 0x8001, 0x7002, 0x7804, 0xd0fc, 0x1d30, 0x2011, 0x0001, 0x080c, + 0x3811, 0x00ce, 0x00ee, 0x00fe, 0x0005, 0x00f6, 0x00e6, 0x00c6, + 0x2061, 0x0200, 0x2001, 0xc907, 0x2004, 0x601a, 0x2061, 0x0100, + 0x2001, 0xc906, 0x2004, 0x60ce, 0x6004, 0xc0ac, 0xa085, 0x0200, + 0x6006, 0x2001, 0x0074, 0x2004, 0xa005, 0x01f8, 0x2038, 0x2001, + 0x0076, 0x2024, 0x2001, 0x0077, 0x201c, 0x080c, 0x3fe3, 0x6833, + 0x000d, 0x6f26, 0x2d00, 0x681a, 0xa78a, 0x0007, 0x0220, 0x2138, + 0x2009, 0x0007, 0x0010, 0x2708, 0xa03e, 0x6818, 0xa080, 0x000d, + 0x04b1, 0x1d90, 0x2d00, 0x681a, 0x0088, 0x080c, 0x3fe3, 0x6833, + 0x000d, 0x2070, 0x6827, 0x0001, 0x2d00, 0x681a, 0x2001, 0x0076, + 0x2004, 0x2072, 0x2001, 0x0077, 0x2004, 0x7006, 0x2061, 0x0020, + 0x2079, 0x0100, 0x2001, 0xc906, 0x2004, 0x6012, 0x20e1, 0x9040, + 0x2001, 0x0072, 0x2004, 0xa084, 0xfff8, 0x700a, 0x601a, 0x0006, + 0x2001, 0x0073, 0x2004, 0x700e, 0x601e, 0x78c6, 0x000e, 0x78ca, + 0xa006, 0x603a, 0x603e, 0x00ce, 0x00ee, 0x00fe, 0x0005, 0x00e6, + 0x2071, 0x0010, 0x20a0, 0x2099, 0x0014, 0x7003, 0x0026, 0x7432, + 0x7336, 0xa006, 0x703a, 0x703e, 0x810b, 0x810b, 0x21a8, 0x810b, + 0x7122, 0x7003, 0x0041, 0x7004, 0xd0fc, 0x0de8, 0x7003, 0x0002, + 0x7003, 0x0040, 0x53a5, 0x7430, 0x7334, 0x87ff, 0x0180, 0x00c6, + 0x00d6, 0x2d60, 0x00c6, 0x080c, 0x3fe3, 0x00ce, 0x6018, 0x2070, + 0x2d00, 0x7006, 0x601a, 0x00de, 0x00ce, 0xa085, 0x0001, 0x00ee, + 0x0005, 0x00e6, 0x2001, 0x0075, 0x2004, 0xa005, 0x0508, 0x2038, + 0x2001, 0x0078, 0x2024, 0x2001, 0x0079, 0x201c, 0x080c, 0x3fe3, + 0x2d60, 0x6833, 0x000d, 0x6f26, 0x2d00, 0x681a, 0xa78a, 0x0007, + 0x0220, 0x2138, 0x2009, 0x0007, 0x0010, 0x2708, 0xa03e, 0x6818, + 0xa080, 0x000d, 0x080c, 0x38cf, 0x1d88, 0x2d00, 0x681a, 0x00e0, + 0x080c, 0x3fe3, 0x2d60, 0x6033, 0x000d, 0x2070, 0x6027, 0x0001, + 0x2c00, 0x601a, 0x2001, 0x0078, 0x2004, 0x2072, 0x2001, 0x0079, + 0x2004, 0x7006, 0x2001, 0x0072, 0x2004, 0xa084, 0xfff8, 0x700a, + 0x2001, 0x0073, 0x2004, 0x700e, 0x2001, 0x0030, 0x2003, 0x0004, + 0x7824, 0xd0ac, 0x1178, 0x2001, 0x0101, 0x200c, 0xc1ed, 0x2102, + 0x6027, 0x0000, 0x2001, 0xc96a, 0x2003, 0x0003, 0x2001, 0x0030, + 0x2003, 0x0009, 0x00ee, 0x0005, 0x0804, 0x3118, 0x0126, 0x2091, + 0x8000, 0x20a9, 0x0012, 0x2001, 0xc640, 0x20a0, 0xa006, 0x40a4, + 0x012e, 0x0804, 0x3118, 0x7d38, 0x7c3c, 0x0804, 0x31bf, 0x080c, + 0x3fe3, 0x0904, 0x313d, 0x080c, 0x5ee2, 0x0110, 0x080c, 0x4ee5, + 0x2009, 0x001c, 0x7a2c, 0x7b28, 0x7c3c, 0x7d38, 0x080c, 0x4024, + 0x701b, 0x3983, 0x0005, 0xade8, 0x000d, 0x6800, 0xa005, 0x0904, + 0x3140, 0x6804, 0xd0ac, 0x0118, 0xd0a4, 0x0904, 0x3140, 0xd094, + 0x00c6, 0x2061, 0x0100, 0x6104, 0x0138, 0x6200, 0xa292, 0x0005, + 0x0218, 0xa18c, 0xffdf, 0x0010, 0xa18d, 0x0020, 0x6106, 0x00ce, + 0xd08c, 0x00c6, 0x2061, 0x0100, 0x6104, 0x0118, 0xa18d, 0x0010, + 0x0010, 0xa18c, 0xffef, 0x6106, 0x00ce, 0x2009, 0x0100, 0x210c, + 0xa18a, 0x0002, 0x0268, 0xd084, 0x0158, 0x6a28, 0xa28a, 0x007f, + 0x1a04, 0x3140, 0xa288, 0x2f32, 0x210d, 0xa18c, 0x00ff, 0x615a, + 0xd0dc, 0x0130, 0x6828, 0xa08a, 0x007f, 0x1a04, 0x3140, 0x6052, + 0x6808, 0xa08a, 0x0100, 0x0a04, 0x3140, 0xa08a, 0x0841, 0x1a04, + 0x3140, 0xa084, 0x0007, 0x1904, 0x3140, 0x680c, 0xa005, 0x0904, + 0x3140, 0x6810, 0xa005, 0x0904, 0x3140, 0x6848, 0x6940, 0xa10a, + 0x1a04, 0x3140, 0x8001, 0x0904, 0x3140, 0x684c, 0x6944, 0xa10a, + 0x1a04, 0x3140, 0x8001, 0x0904, 0x3140, 0x6804, 0xd0fc, 0x0560, + 0x080c, 0x3fe3, 0x0904, 0x313d, 0x2009, 0x0014, 0x7a2c, 0x7b28, + 0x7c3c, 0x7d38, 0xa290, 0x0038, 0xa399, 0x0000, 0x080c, 0x4024, + 0x701b, 0x3a03, 0x0005, 0xade8, 0x000d, 0x20a9, 0x0014, 0x2d98, + 0x2069, 0xc66e, 0x2da0, 0x53a3, 0x7010, 0xa0e8, 0x000d, 0x2001, + 0xc672, 0x200c, 0xd1e4, 0x0140, 0x00c6, 0x2061, 0x0100, 0x6004, + 0xa085, 0x0b00, 0x6006, 0x00ce, 0x2009, 0xc8f8, 0x200b, 0x0000, + 0x2001, 0xc674, 0x2004, 0xd0ac, 0x0158, 0x7824, 0x200a, 0x2009, + 0x017f, 0x200a, 0x3200, 0xa084, 0x003f, 0xa085, 0x3020, 0x2090, + 0x20a9, 0x001c, 0x2d98, 0x2069, 0xc652, 0x2da0, 0x53a3, 0x6814, + 0xa08c, 0x00ff, 0x6142, 0x8007, 0xa084, 0x00ff, 0x6046, 0x080c, + 0x61b8, 0x080c, 0x572e, 0x080c, 0x5797, 0x6000, 0xa086, 0x0000, + 0x1904, 0x3afe, 0x6808, 0x602a, 0x080c, 0x2584, 0x0006, 0x2001, + 0x0100, 0x2004, 0xa082, 0x0005, 0x000e, 0x0268, 0x2009, 0x0170, + 0x200b, 0x0080, 0xe000, 0xe000, 0x200b, 0x0000, 0x0036, 0x6b08, + 0x080c, 0x2a12, 0x003e, 0x6818, 0x691c, 0x6a20, 0x6b24, 0x8007, + 0x810f, 0x8217, 0x831f, 0x6016, 0x611a, 0x621e, 0x6322, 0x6c04, + 0xd4f4, 0x0148, 0x6830, 0x6934, 0x6a38, 0x6b3c, 0x8007, 0x810f, + 0x8217, 0x831f, 0x0010, 0xa084, 0xf0ff, 0x6006, 0x610a, 0x620e, + 0x6312, 0x8007, 0x810f, 0x8217, 0x831f, 0x20a9, 0x0004, 0x20a1, + 0xc90d, 0x40a1, 0x080c, 0x7040, 0x6904, 0xd1fc, 0x0520, 0x00c6, + 0x2009, 0x0000, 0x20a9, 0x0001, 0x6b70, 0xd384, 0x01c8, 0x0020, + 0x839d, 0x12b0, 0x3508, 0x8109, 0x080c, 0x67ad, 0x6878, 0x6016, + 0x6874, 0x2008, 0xa084, 0xff00, 0x8007, 0x600a, 0xa184, 0x00ff, + 0x6006, 0x8108, 0x1118, 0x6003, 0x0003, 0x0010, 0x6003, 0x0001, + 0x1f04, 0x3a98, 0x00ce, 0x2069, 0xc652, 0x2001, 0xc8e5, 0x6a80, + 0xa294, 0x0030, 0xa28e, 0x0000, 0x0170, 0xa28e, 0x0010, 0x0118, + 0xa28e, 0x0020, 0x0140, 0x2003, 0xaaaa, 0x080c, 0x2a5b, 0x2001, + 0xc8d6, 0x2102, 0x0008, 0x2102, 0x00c6, 0x2061, 0x0100, 0x602f, + 0x0040, 0x602f, 0x0000, 0x00ce, 0x080c, 0x5ee2, 0x0128, 0x080c, + 0x43c8, 0x0110, 0x080c, 0x29d7, 0x60c8, 0xa005, 0x01d0, 0x6003, + 0x0001, 0x2009, 0x3ae4, 0x00e0, 0x080c, 0x5ee2, 0x1178, 0x2011, + 0x5db5, 0x080c, 0x6f71, 0x2011, 0x5da8, 0x080c, 0x7034, 0x2001, + 0xc8e6, 0x2003, 0x0000, 0x080c, 0x5e1a, 0x0040, 0x080c, 0x4e14, + 0x0028, 0x6003, 0x0004, 0x2009, 0x3afe, 0x0010, 0x0804, 0x3118, + 0x2001, 0x0100, 0x2004, 0xa082, 0x0005, 0x0258, 0x2001, 0x0170, + 0x2004, 0xa084, 0x00ff, 0xa086, 0x004c, 0x1118, 0x2091, 0x309d, + 0x0817, 0x2091, 0x301d, 0x0817, 0x6000, 0xa086, 0x0000, 0x0904, + 0x313d, 0x2069, 0xc652, 0x7830, 0x6842, 0x7834, 0x6846, 0x6804, + 0xd0fc, 0x0118, 0x2009, 0x0030, 0x0010, 0x2009, 0x001c, 0x2d00, + 0x7a2c, 0x7b28, 0x7c3c, 0x7d38, 0x0804, 0x4027, 0xa006, 0x080c, + 0x29d7, 0x81ff, 0x1904, 0x313d, 0x080c, 0x5ee2, 0x1178, 0x2001, + 0xc8e6, 0x2003, 0x0001, 0x2001, 0xc600, 0x2003, 0x0001, 0xa085, + 0x0001, 0x080c, 0x5f26, 0x080c, 0x5e1a, 0x0020, 0x080c, 0x4ee5, + 0x080c, 0x4e14, 0x0804, 0x3118, 0x81ff, 0x1904, 0x313d, 0x080c, + 0x5ee2, 0x1110, 0x0804, 0x313d, 0x6188, 0x81ff, 0x0198, 0x703f, + 0x0000, 0x2001, 0xcdc0, 0x2009, 0x0040, 0x7a2c, 0x7b28, 0x7c3c, + 0x7d38, 0x0126, 0x2091, 0x8000, 0x080c, 0x4027, 0x701b, 0x3116, + 0x012e, 0x0005, 0x703f, 0x0001, 0x00d6, 0x2069, 0xcdc0, 0x20a9, + 0x0040, 0x20a1, 0xcdc0, 0x2019, 0xffff, 0x43a4, 0x6550, 0xa588, + 0x2f32, 0x210d, 0xa18c, 0x00ff, 0x216a, 0xa00e, 0x2011, 0x0002, + 0x2100, 0xa506, 0x01a8, 0x080c, 0x52fd, 0x1190, 0x6014, 0x821c, + 0x0238, 0xa398, 0xcdc0, 0xa085, 0xff00, 0x8007, 0x201a, 0x0038, + 0xa398, 0xcdc0, 0x2324, 0xa4a4, 0xff00, 0xa405, 0x201a, 0x8210, + 0x8108, 0xa182, 0x0080, 0x1208, 0x0c18, 0x8201, 0x8007, 0x2d0c, + 0xa105, 0x206a, 0x00de, 0x20a9, 0x0040, 0x20a1, 0xcdc0, 0x2099, + 0xcdc0, 0x080c, 0x4e84, 0x0804, 0x3b59, 0x080c, 0x4008, 0x0904, + 0x3140, 0x00c6, 0x080c, 0x3fe3, 0x00ce, 0x1120, 0x2009, 0x0002, + 0x0804, 0x313d, 0x2001, 0xc653, 0x2004, 0xd0b4, 0x0550, 0x7824, + 0xa084, 0xff00, 0xa08e, 0x7e00, 0x0520, 0xa08e, 0x7f00, 0x0508, + 0xa08e, 0x8000, 0x01f0, 0x6000, 0xd08c, 0x11d8, 0x6004, 0xa084, + 0x00ff, 0xa086, 0x0006, 0x11a8, 0x6837, 0x0000, 0x6838, 0xc0fd, + 0x683a, 0x080c, 0xada1, 0x1120, 0x2009, 0x0003, 0x0804, 0x313d, + 0x7007, 0x0003, 0x701b, 0x3be5, 0x0005, 0x080c, 0x4008, 0x0904, + 0x3140, 0x20a9, 0x002b, 0x2c98, 0xade8, 0x0002, 0x2da0, 0x53a3, + 0x20a9, 0x0004, 0xac80, 0x0006, 0x2098, 0xad80, 0x0006, 0x20a0, + 0x080c, 0x4e84, 0x20a9, 0x0004, 0xac80, 0x000a, 0x2098, 0xad80, + 0x000a, 0x20a0, 0x080c, 0x4e84, 0x2d00, 0x2009, 0x002b, 0x7a2c, + 0x7b28, 0x7c3c, 0x7d38, 0x0804, 0x4027, 0x81ff, 0x1904, 0x313d, + 0x080c, 0x3ff8, 0x0904, 0x3140, 0x080c, 0x54da, 0x0804, 0x3118, + 0x81ff, 0x1904, 0x313d, 0x7828, 0xa08a, 0x1000, 0x1a04, 0x3140, + 0x080c, 0x4008, 0x0904, 0x3140, 0x080c, 0x553d, 0x0904, 0x313d, + 0x2019, 0x0004, 0xa00e, 0x080c, 0x54ec, 0x7924, 0x810f, 0x7a28, + 0x0011, 0x0804, 0x3118, 0xa186, 0x00ff, 0x0110, 0x0071, 0x0060, + 0x2029, 0x007e, 0x2061, 0xc600, 0x6450, 0x2400, 0xa506, 0x0110, + 0x2508, 0x0019, 0x8529, 0x1ec8, 0x0005, 0x080c, 0x52fd, 0x1138, + 0x2200, 0x8003, 0x800b, 0x810b, 0xa108, 0x080c, 0x6f7d, 0x0005, + 0x81ff, 0x1904, 0x313d, 0x080c, 0x3ff8, 0x0904, 0x3140, 0x080c, + 0x53c3, 0x0904, 0x313d, 0x080c, 0x54e3, 0x0804, 0x3118, 0x81ff, + 0x1904, 0x313d, 0x080c, 0x3ff8, 0x0904, 0x3140, 0x080c, 0x53c3, + 0x0904, 0x313d, 0x080c, 0x54d1, 0x0804, 0x3118, 0x6100, 0x0804, + 0x3118, 0x080c, 0x4008, 0x0904, 0x3140, 0x2001, 0xc600, 0x2004, + 0xa086, 0x0003, 0x1904, 0x313d, 0x00d6, 0xace8, 0x000a, 0x7924, + 0xd184, 0x0110, 0xace8, 0x0006, 0x680c, 0x8007, 0x783e, 0x6808, + 0x8007, 0x783a, 0x6b04, 0x831f, 0x6a00, 0x8217, 0x00de, 0x6100, + 0xa18c, 0x0200, 0x0804, 0x3118, 0x7824, 0xa09c, 0x00ff, 0xa39a, + 0x0003, 0x1a04, 0x313d, 0x6250, 0xa294, 0x00ff, 0xa084, 0xff00, + 0x8007, 0xa206, 0x1150, 0x2001, 0xc640, 0x2009, 0x000c, 0x7a2c, + 0x7b28, 0x7c3c, 0x7d38, 0x0804, 0x4027, 0x81ff, 0x1904, 0x313d, + 0x080c, 0x4008, 0x0904, 0x3140, 0x6004, 0xa084, 0x00ff, 0xa086, + 0x0006, 0x1904, 0x313d, 0x00c6, 0x080c, 0x3fe3, 0x00ce, 0x0904, + 0x313d, 0x6837, 0x0000, 0x6838, 0xc0fd, 0x683a, 0x080c, 0xad4d, + 0x0904, 0x313d, 0x7007, 0x0003, 0x701b, 0x3ccf, 0x0005, 0x6830, + 0xa086, 0x0100, 0x0904, 0x313d, 0xad80, 0x000e, 0x2009, 0x000c, + 0x7a2c, 0x7b28, 0x7c3c, 0x7d38, 0x0804, 0x4027, 0xa006, 0x080c, + 0x29d7, 0x7824, 0xa084, 0x00ff, 0xa086, 0x00ff, 0x0118, 0x81ff, + 0x1904, 0x313d, 0x080c, 0x5ee2, 0x0110, 0x080c, 0x4ee5, 0x7828, + 0xa08a, 0x1000, 0x1a04, 0x3140, 0x7924, 0xa18c, 0xff00, 0x810f, + 0xa186, 0x00ff, 0x0138, 0xa182, 0x007f, 0x1a04, 0x3140, 0x2100, + 0x080c, 0x29a1, 0x0026, 0x00c6, 0x0126, 0x2091, 0x8000, 0x2061, + 0xc93a, 0x601b, 0x0000, 0x601f, 0x0000, 0x080c, 0x5ee2, 0x1178, + 0x2001, 0xc8e6, 0x2003, 0x0001, 0x2001, 0xc600, 0x2003, 0x0001, + 0xa085, 0x0001, 0x080c, 0x5f26, 0x080c, 0x5e1a, 0x0420, 0x2011, + 0x0003, 0x080c, 0x8eb7, 0x2011, 0x0002, 0x080c, 0x8ec1, 0x080c, + 0x8d97, 0x0036, 0x2019, 0x0000, 0x080c, 0x8e22, 0x003e, 0x2061, + 0x0100, 0x2001, 0xc615, 0x2004, 0xa084, 0x00ff, 0x810f, 0xa105, + 0x604a, 0x6043, 0x0090, 0x6043, 0x0010, 0x2009, 0x002d, 0x2011, + 0x4e49, 0x080c, 0x6ffa, 0x7924, 0xa18c, 0xff00, 0x810f, 0x080c, + 0x5ee2, 0x1110, 0x2009, 0x00ff, 0x7a28, 0x080c, 0x3c33, 0x012e, + 0x00ce, 0x002e, 0x0804, 0x3118, 0x7924, 0xa18c, 0xff00, 0x810f, + 0x00c6, 0x080c, 0x52a1, 0x2c08, 0x00ce, 0x1904, 0x3140, 0x0804, + 0x3118, 0x81ff, 0x0120, 0x2009, 0x0001, 0x0804, 0x313d, 0x60d4, + 0xd0ac, 0x1130, 0xd09c, 0x1120, 0x2009, 0x0005, 0x0804, 0x313d, + 0x080c, 0x3fe3, 0x1120, 0x2009, 0x0002, 0x0804, 0x313d, 0x7924, + 0x7a2c, 0x7b28, 0x7c3c, 0x7d38, 0x080c, 0x4024, 0x701b, 0x3d81, + 0x0005, 0x2009, 0x0080, 0x080c, 0x52fd, 0x1130, 0x6004, 0xa084, + 0x00ff, 0xa086, 0x0006, 0x0120, 0x2021, 0x400a, 0x0804, 0x311a, + 0x00d6, 0xade8, 0x000d, 0x6900, 0x6a08, 0x6b0c, 0x6c10, 0x6d14, + 0x6e18, 0x6820, 0xa0be, 0x0100, 0x0904, 0x3df8, 0xa0be, 0x0112, + 0x0904, 0x3df8, 0xa0be, 0x0113, 0x0904, 0x3df8, 0xa0be, 0x0114, + 0x0904, 0x3df8, 0xa0be, 0x0117, 0x0904, 0x3df8, 0xa0be, 0x011a, + 0x0904, 0x3df8, 0xa0be, 0x011c, 0x0904, 0x3df8, 0xa0be, 0x0121, + 0x05b0, 0xa0be, 0x0131, 0x0598, 0xa0be, 0x0171, 0x05c8, 0xa0be, + 0x0173, 0x05b0, 0xa0be, 0x01a1, 0x1120, 0x6830, 0x8007, 0x6832, + 0x04a8, 0xa0be, 0x0212, 0x0540, 0xa0be, 0x0213, 0x0528, 0xa0be, + 0x0214, 0x01b0, 0xa0be, 0x0217, 0x0168, 0xa0be, 0x021a, 0x1120, + 0x6838, 0x8007, 0x683a, 0x00e0, 0xa0be, 0x0300, 0x01c8, 0x00de, + 0x0804, 0x3140, 0xad80, 0x0010, 0x20a9, 0x0007, 0x080c, 0x3e3e, + 0xad80, 0x000e, 0x20a9, 0x0001, 0x080c, 0x3e3e, 0x0048, 0xad80, + 0x000c, 0x080c, 0x3e4c, 0x0050, 0xad80, 0x000e, 0x080c, 0x3e4c, + 0xad80, 0x000c, 0x20a9, 0x0001, 0x080c, 0x3e3e, 0x00c6, 0x080c, + 0x3fe3, 0x0568, 0x6838, 0xc0fd, 0x683a, 0x6837, 0x0119, 0x6853, + 0x0000, 0x684f, 0x0020, 0x685b, 0x0001, 0x810b, 0x697e, 0x6883, + 0x0000, 0x6a86, 0x6b8a, 0x6c8e, 0x6d92, 0x6996, 0x689b, 0x0000, + 0x00ce, 0x00de, 0x6837, 0x0000, 0x6838, 0xc0fd, 0x683a, 0x6823, + 0x0000, 0x6804, 0x2068, 0x080c, 0xad69, 0x1120, 0x2009, 0x0003, + 0x0804, 0x313d, 0x7007, 0x0003, 0x701b, 0x3e35, 0x0005, 0x00ce, + 0x00de, 0x2009, 0x0002, 0x0804, 0x313d, 0x6820, 0xa086, 0x8001, + 0x1904, 0x3118, 0x2009, 0x0004, 0x0804, 0x313d, 0x0016, 0x2008, + 0x2044, 0x8000, 0x204c, 0x8000, 0x290a, 0x8108, 0x280a, 0x8108, + 0x1f04, 0x3e40, 0x001e, 0x0005, 0x0016, 0x00a6, 0x00b6, 0x2008, + 0x2044, 0x8000, 0x204c, 0x8000, 0x2054, 0x8000, 0x205c, 0x2b0a, + 0x8108, 0x2a0a, 0x8108, 0x290a, 0x8108, 0x280a, 0x00be, 0x00ae, + 0x001e, 0x0005, 0x81ff, 0x0120, 0x2009, 0x0001, 0x0804, 0x313d, + 0x60d4, 0xd0ac, 0x1130, 0xd09c, 0x1120, 0x2009, 0x0005, 0x0804, + 0x313d, 0x7924, 0x2140, 0xa18c, 0xff00, 0x810f, 0x60d4, 0xd0ac, + 0x1120, 0xa182, 0x0080, 0x0a04, 0x3140, 0xa182, 0x00ff, 0x1a04, + 0x3140, 0x7a2c, 0x7b28, 0x6070, 0xa306, 0x1140, 0x6074, 0xa24e, + 0x0904, 0x3140, 0xa9cc, 0xff00, 0x0904, 0x3140, 0x00c6, 0x080c, + 0x3f2b, 0x2c68, 0x00ce, 0x0538, 0xa0c6, 0x4000, 0x1180, 0x00c6, + 0x0006, 0x2d60, 0x2009, 0x0000, 0x080c, 0x559e, 0x1108, 0xc185, + 0x6000, 0xd0bc, 0x0108, 0xc18d, 0x000e, 0x00ce, 0x0088, 0xa0c6, + 0x4007, 0x1110, 0x2408, 0x0060, 0xa0c6, 0x4008, 0x1118, 0x2708, + 0x2610, 0x0030, 0xa0c6, 0x4009, 0x1108, 0x0010, 0x2001, 0x4006, + 0x2020, 0x0804, 0x311a, 0x2d00, 0x7022, 0x0016, 0x00b6, 0x00c6, + 0x00e6, 0x2c70, 0x080c, 0x952f, 0x05d8, 0x2d00, 0x601a, 0x080c, + 0xafee, 0x2e58, 0x00ee, 0x00e6, 0x00c6, 0x080c, 0x3fe3, 0x00ce, + 0x2b70, 0x1150, 0x080c, 0x9585, 0x00ee, 0x00ce, 0x00be, 0x001e, + 0x2009, 0x0002, 0x0804, 0x313d, 0x6837, 0x0000, 0x683b, 0x0000, + 0x2d00, 0x6012, 0x6833, 0x0000, 0x6838, 0xc0fd, 0xd88c, 0x0108, + 0xc0f5, 0x683a, 0x0126, 0x2091, 0x8000, 0x080c, 0x2e0a, 0x012e, + 0x601f, 0x0001, 0x2001, 0x0000, 0x080c, 0x523f, 0x2001, 0x0002, + 0x080c, 0x5251, 0x2009, 0x0002, 0x080c, 0x95b5, 0xa085, 0x0001, + 0x00ee, 0x00ce, 0x00be, 0x001e, 0x1120, 0x2009, 0x0003, 0x0804, + 0x313d, 0x7007, 0x0003, 0x701b, 0x3f0e, 0x0005, 0x6830, 0xa086, + 0x0100, 0x7020, 0x2060, 0x1138, 0x2009, 0x0004, 0x6204, 0xa294, + 0x00ff, 0x0804, 0x313d, 0x2009, 0x0000, 0x6838, 0xd0f4, 0x1904, + 0x3118, 0x080c, 0x559e, 0x1108, 0xc185, 0x6000, 0xd0bc, 0x0108, + 0xc18d, 0x0804, 0x3118, 0x00e6, 0x00d6, 0x2029, 0x0000, 0x2001, + 0xc635, 0x2004, 0xd0ac, 0x0138, 0x2021, 0x0000, 0x20a9, 0x00ff, + 0x2071, 0xc77b, 0x0030, 0x2021, 0x0080, 0x20a9, 0x007f, 0x2071, + 0xc7fb, 0x2e04, 0xa005, 0x1130, 0x2100, 0xa406, 0x15a0, 0x2428, + 0xc5fd, 0x0488, 0x2068, 0x6f10, 0x2700, 0xa306, 0x11e0, 0x6e14, + 0x2600, 0xa206, 0x11c0, 0x2400, 0xa106, 0x1190, 0x2d60, 0xd884, + 0x0598, 0x080c, 0x56ad, 0x1580, 0x2001, 0x4000, 0x0470, 0x6004, + 0xa084, 0x00ff, 0xa086, 0x0006, 0x1538, 0x2001, 0x4000, 0x0428, + 0x2001, 0x4007, 0x0410, 0x2400, 0xa106, 0x1168, 0x6e14, 0x87ff, + 0x1138, 0x86ff, 0x09a0, 0x2001, 0xc635, 0x2004, 0xd0ac, 0x1978, + 0x2001, 0x4008, 0x0090, 0x8420, 0x8e70, 0x1f04, 0x3f41, 0x85ff, + 0x1130, 0x2001, 0x4009, 0x0048, 0x2001, 0x0001, 0x0030, 0x080c, + 0x52a1, 0x1dd0, 0x6312, 0x6216, 0xa006, 0xa005, 0x00de, 0x00ee, + 0x0005, 0x81ff, 0x1904, 0x313d, 0x080c, 0x3fe3, 0x0904, 0x313d, + 0x6837, 0x0000, 0x6838, 0xc0fd, 0x683a, 0x7824, 0xa005, 0x0904, + 0x3140, 0xa096, 0x00ff, 0x0120, 0xa092, 0x0004, 0x1a04, 0x3140, + 0x2010, 0x2d18, 0x080c, 0x2dbd, 0x0904, 0x313d, 0x7007, 0x0003, + 0x701b, 0x3fb3, 0x0005, 0x6830, 0xa086, 0x0100, 0x0904, 0x313d, + 0x0804, 0x3118, 0x7924, 0xa18c, 0xff00, 0x810f, 0x60d4, 0xd0ac, + 0x1120, 0xa182, 0x0080, 0x0a04, 0x3140, 0xa182, 0x00ff, 0x1a04, + 0x3140, 0x0126, 0x2091, 0x8000, 0x080c, 0xac51, 0x1188, 0xa190, + 0xc77b, 0x2204, 0xa065, 0x0160, 0x080c, 0x4f00, 0x2001, 0xc635, + 0x2004, 0xd0ac, 0x0110, 0x6017, 0x0000, 0x012e, 0x0804, 0x3118, + 0x012e, 0x0804, 0x313d, 0x080c, 0x15fe, 0x0188, 0xa006, 0x6802, + 0x7010, 0xa005, 0x1120, 0x2d00, 0x7012, 0x7016, 0x0030, 0x7014, + 0x6802, 0x2060, 0x2d00, 0x6006, 0x7016, 0xad80, 0x000d, 0x0005, + 0x7924, 0x810f, 0xa18c, 0x00ff, 0x080c, 0x52fd, 0x1130, 0x7e28, + 0xa684, 0x3fff, 0xa082, 0x4000, 0x0208, 0xa066, 0x8cff, 0x0005, + 0x7e24, 0x860f, 0xa18c, 0x00ff, 0x080c, 0x52fd, 0x1128, 0xa6b4, + 0x00ff, 0xa682, 0x4000, 0x0208, 0xa066, 0x8cff, 0x0005, 0x0016, + 0x7110, 0x81ff, 0x0128, 0x2168, 0x6904, 0x080c, 0x1615, 0x0cc8, + 0x7112, 0x7116, 0x001e, 0x0005, 0x2031, 0x0001, 0x0010, 0x2031, + 0x0000, 0x2061, 0xc6f2, 0x6606, 0x6112, 0x600e, 0x6226, 0x632a, + 0x642e, 0x6532, 0x2c10, 0x080c, 0x1649, 0x7007, 0x0002, 0x701b, + 0x3118, 0x0005, 0x00f6, 0x0126, 0x2091, 0x8000, 0x2079, 0x0000, + 0x2001, 0xc6b0, 0x2004, 0xa005, 0x1168, 0x0e04, 0x4052, 0x7818, + 0xd084, 0x1140, 0x7a22, 0x7b26, 0x7c2a, 0x781b, 0x0001, 0x2091, + 0x4080, 0x0408, 0x0016, 0x00c6, 0x00e6, 0x2071, 0xc6a2, 0x7138, + 0xa182, 0x0010, 0x0218, 0x7030, 0x2060, 0x0078, 0x7030, 0xa0e0, + 0x0004, 0xac82, 0xc6f2, 0x0210, 0x2061, 0xc6b2, 0x2c00, 0x7032, + 0x81ff, 0x1108, 0x7036, 0x8108, 0x713a, 0x2262, 0x6306, 0x640a, + 0x00ee, 0x00ce, 0x001e, 0x012e, 0x00fe, 0x0005, 0x00e6, 0x2071, + 0xc6a2, 0x7038, 0xa005, 0x0570, 0x0126, 0x2091, 0x8000, 0x0e04, + 0x40a9, 0x00f6, 0x2079, 0x0000, 0x7818, 0xd084, 0x1508, 0x00c6, + 0x7034, 0x2060, 0x2c04, 0x7822, 0x6004, 0x7826, 0x6008, 0x782a, + 0x781b, 0x0001, 0x2091, 0x4080, 0x7038, 0x8001, 0x703a, 0xa005, + 0x1130, 0x7033, 0xc6b2, 0x7037, 0xc6b2, 0x00ce, 0x0048, 0xac80, + 0x0004, 0xa0fa, 0xc6f2, 0x0210, 0x2001, 0xc6b2, 0x7036, 0x00ce, + 0x00fe, 0x012e, 0x00ee, 0x0005, 0x0026, 0x2001, 0xc653, 0x2004, + 0xd0c4, 0x0120, 0x2011, 0x8014, 0x080c, 0x403a, 0x002e, 0x0005, + 0x81ff, 0x1904, 0x313d, 0x0126, 0x2091, 0x8000, 0x6030, 0xc08d, + 0xc085, 0xc0ac, 0x6032, 0x080c, 0x5ee2, 0x1178, 0x2001, 0xc8e6, + 0x2003, 0x0001, 0x2001, 0xc600, 0x2003, 0x0001, 0xa085, 0x0001, + 0x080c, 0x5f26, 0x080c, 0x5e1a, 0x0010, 0x080c, 0x4e14, 0x012e, + 0x0804, 0x3118, 0x7824, 0x2008, 0xa18c, 0xfffd, 0x1128, 0x61e0, + 0xa10d, 0x61e2, 0x0804, 0x3118, 0x0804, 0x3140, 0x81ff, 0x1904, + 0x313d, 0x6000, 0xa086, 0x0003, 0x1904, 0x313d, 0x2001, 0xc653, + 0x2004, 0xd0ac, 0x1904, 0x313d, 0x080c, 0x4008, 0x0904, 0x3140, + 0x6004, 0xa084, 0x00ff, 0xa086, 0x0006, 0x1120, 0x7828, 0xa005, + 0x0904, 0x3118, 0x00c6, 0x080c, 0x3fe3, 0x00ce, 0x0904, 0x313d, + 0x6837, 0x0000, 0x6833, 0x0000, 0x6838, 0xc0fd, 0x683a, 0x080c, + 0xae32, 0x0904, 0x313d, 0x7007, 0x0003, 0x701b, 0x4118, 0x0005, + 0x6830, 0xa086, 0x0100, 0x0904, 0x313d, 0x0804, 0x3118, 0x2001, + 0xc600, 0x2004, 0xa086, 0x0003, 0x1904, 0x313d, 0x7f24, 0x7a2c, + 0x7b28, 0x7c3c, 0x7d38, 0x080c, 0x3fe3, 0x0904, 0x313d, 0x2009, + 0x0000, 0x2031, 0x0000, 0x7023, 0x0000, 0x702f, 0x0000, 0xad80, + 0x0005, 0x7026, 0x20a0, 0x080c, 0x52fd, 0x1904, 0x419e, 0x6004, + 0xa0c4, 0x00ff, 0xa8c6, 0x0006, 0x0148, 0xa0c4, 0xff00, 0xa8c6, + 0x0600, 0x0120, 0x080c, 0x56ad, 0x1904, 0x419e, 0xd794, 0x1110, + 0xd784, 0x0158, 0xac80, 0x0006, 0x2098, 0x3400, 0x20a9, 0x0004, + 0x53a3, 0x080c, 0x3e4c, 0xd794, 0x0148, 0xac80, 0x000a, 0x2098, + 0x3400, 0x20a9, 0x0004, 0x53a3, 0x080c, 0x3e4c, 0xa186, 0x007e, + 0x0178, 0xa186, 0x0080, 0x0160, 0x6004, 0xa084, 0x00ff, 0xa0c2, + 0x0006, 0x1210, 0xc1fd, 0x0020, 0x080c, 0x559e, 0x1108, 0xc1fd, + 0x21a2, 0xc1fc, 0xd794, 0x01d8, 0xac80, 0x0000, 0x2098, 0x94a0, + 0x20a9, 0x0002, 0x53a3, 0xac80, 0x0003, 0x20a6, 0x94a0, 0xac80, + 0x0004, 0x2098, 0x3400, 0x20a9, 0x0002, 0x53a3, 0x080c, 0x3e3e, + 0xac80, 0x0026, 0x2098, 0x20a9, 0x0002, 0x53a3, 0x0008, 0x94a0, + 0xd794, 0x0110, 0xa6b0, 0x000b, 0xa6b0, 0x0005, 0x8108, 0x2001, + 0xc635, 0x2004, 0xd0ac, 0x0118, 0xa186, 0x0100, 0x0040, 0xd78c, + 0x0120, 0xa186, 0x0100, 0x0170, 0x0018, 0xa186, 0x007e, 0x0150, + 0xd794, 0x0118, 0xa686, 0x0020, 0x0010, 0xa686, 0x0028, 0x0150, + 0x0804, 0x413b, 0x86ff, 0x1120, 0x7120, 0x810b, 0x0804, 0x3118, + 0x702f, 0x0001, 0x711e, 0x7020, 0xa600, 0x7022, 0x772a, 0x2061, + 0xc6f2, 0x6007, 0x0000, 0x6612, 0x7024, 0x600e, 0x6226, 0x632a, + 0x642e, 0x6532, 0x2c10, 0x080c, 0x1649, 0x7007, 0x0002, 0x701b, + 0x41da, 0x0005, 0x702c, 0xa005, 0x1170, 0x711c, 0x7024, 0x20a0, + 0x7728, 0x2031, 0x0000, 0x2061, 0xc6f2, 0x6224, 0x6328, 0x642c, + 0x6530, 0x0804, 0x413b, 0x7120, 0x810b, 0x0804, 0x3118, 0x2029, + 0x007e, 0x7924, 0x7a28, 0x7b2c, 0x7c38, 0xa184, 0xff00, 0x8007, + 0xa0e2, 0x0020, 0x0a04, 0x3140, 0xa502, 0x0a04, 0x3140, 0xa184, + 0x00ff, 0xa0e2, 0x0020, 0x0a04, 0x3140, 0xa502, 0x0a04, 0x3140, + 0xa284, 0xff00, 0x8007, 0xa0e2, 0x0020, 0x0a04, 0x3140, 0xa502, + 0x0a04, 0x3140, 0xa284, 0x00ff, 0xa0e2, 0x0020, 0x0a04, 0x3140, + 0xa502, 0x0a04, 0x3140, 0xa384, 0xff00, 0x8007, 0xa0e2, 0x0020, + 0x0a04, 0x3140, 0xa502, 0x0a04, 0x3140, 0xa384, 0x00ff, 0xa0e2, + 0x0020, 0x0a04, 0x3140, 0xa502, 0x0a04, 0x3140, 0xa484, 0xff00, + 0x8007, 0xa0e2, 0x0020, 0x0a04, 0x3140, 0xa502, 0x0a04, 0x3140, + 0xa484, 0x00ff, 0xa0e2, 0x0020, 0x0a04, 0x3140, 0xa502, 0x0a04, + 0x3140, 0x2061, 0xc900, 0x6102, 0x6206, 0x630a, 0x640e, 0x0804, + 0x3118, 0x080c, 0x3fe3, 0x0904, 0x313d, 0x2009, 0x0020, 0x7a2c, + 0x7b28, 0x7c3c, 0x7d38, 0x080c, 0x4024, 0x701b, 0x4258, 0x0005, + 0x0126, 0xade8, 0x000d, 0x2001, 0x0138, 0x2003, 0x0000, 0x00e6, + 0x2071, 0xc96a, 0x700c, 0x7110, 0xa106, 0x1de0, 0x00ee, 0x2091, + 0x8000, 0x6800, 0xa005, 0x0904, 0x42ec, 0x6804, 0x2008, 0xa18c, + 0xffe0, 0x1904, 0x42ec, 0x680c, 0xa005, 0x0904, 0x42ec, 0xa082, + 0xff01, 0x1a04, 0x42ec, 0x6810, 0xa082, 0x005c, 0x0a04, 0x42ec, + 0x6824, 0x2008, 0xa082, 0x0008, 0x0a04, 0x42ec, 0xa182, 0x0400, + 0x1a04, 0x42ec, 0x080c, 0x7358, 0x6820, 0x8000, 0x6822, 0x6944, + 0x6820, 0xa102, 0x0a04, 0x42ec, 0x6828, 0x6944, 0x810c, 0xa102, + 0x0a04, 0x42ec, 0x6840, 0xa082, 0x000f, 0x1a04, 0x42ec, 0x00d6, + 0x6848, 0xa005, 0x0148, 0x2008, 0x2069, 0xc600, 0x68e8, 0xa108, + 0x68b0, 0xa102, 0x1208, 0x69ea, 0x00de, 0x20a9, 0x0020, 0x2d98, + 0x2069, 0xc682, 0x2da0, 0x53a3, 0x00d6, 0x080c, 0x15e1, 0x2d00, + 0x00de, 0x0904, 0x4303, 0x684e, 0x080c, 0x721f, 0x05d8, 0x080c, + 0x711c, 0x080c, 0x5655, 0x0580, 0x00c6, 0x2061, 0x0100, 0x6104, + 0xa18d, 0x8000, 0x6106, 0x610c, 0xa18d, 0x0300, 0xa18c, 0xffbf, + 0x610e, 0x2001, 0xc8d4, 0x200c, 0xa18d, 0x0300, 0xa18c, 0xffbf, + 0x2102, 0x6b10, 0x2061, 0xc96a, 0x6316, 0x00ce, 0x685f, 0x0000, + 0x2001, 0xc696, 0x2003, 0x0000, 0x080c, 0x2a5b, 0x2001, 0x0138, + 0x2102, 0x012e, 0x0804, 0x3118, 0x080c, 0x2a5b, 0x2001, 0x0138, + 0x2102, 0x012e, 0x0804, 0x3140, 0x080c, 0x7439, 0x080c, 0x7448, + 0x080c, 0x710b, 0x2001, 0xc695, 0x206c, 0x080c, 0x1615, 0x2001, + 0xc695, 0x2003, 0x0000, 0x2001, 0xc63a, 0x2003, 0x0010, 0x080c, + 0x2a5b, 0x2001, 0x0138, 0x2102, 0x012e, 0x0804, 0x313d, 0x2001, + 0xc756, 0x2004, 0xa086, 0x0000, 0x0904, 0x313d, 0x080c, 0x7653, + 0x1904, 0x313d, 0x2001, 0xc8e5, 0x2004, 0xa086, 0xaaaa, 0x0138, + 0x2001, 0xc635, 0x2004, 0xa084, 0x0028, 0x0904, 0x3134, 0x2001, + 0xc600, 0x2004, 0xa086, 0x0003, 0x1904, 0x313d, 0x7924, 0x810c, + 0x7a2c, 0x7b28, 0x7c3c, 0x7d38, 0x080c, 0x3fe3, 0x0904, 0x313d, + 0x080c, 0x4024, 0x701b, 0x433d, 0x0005, 0x080c, 0x952f, 0x0904, + 0x313d, 0x2001, 0xc8d3, 0x2004, 0x601a, 0x0016, 0x0026, 0x2001, + 0xc61c, 0x2004, 0x8007, 0x6934, 0xa105, 0x6836, 0x2001, 0xc61d, + 0x2004, 0x8007, 0x683a, 0x002e, 0x001e, 0x2d00, 0x6012, 0x601f, + 0x0001, 0x2009, 0x0040, 0x080c, 0x95b5, 0x0804, 0x3118, 0x0804, + 0x313d, 0x2001, 0xc756, 0x200c, 0xa18e, 0x0000, 0x0904, 0x43bf, + 0x2001, 0x0101, 0x200c, 0xa18c, 0x7fff, 0x2102, 0x2001, 0x0103, + 0x200c, 0xa18c, 0xfeff, 0xa18c, 0xfdff, 0xa18d, 0x0040, 0x2102, + 0x2001, 0xc8d4, 0x200c, 0xa18c, 0xfeff, 0xa18c, 0xfdff, 0xa18d, + 0x0040, 0x2102, 0x2001, 0x0138, 0x2003, 0x0000, 0x0126, 0x2091, + 0x8000, 0x080c, 0x24c4, 0x012e, 0x0128, 0x20a9, 0x006e, 0x1f04, + 0x438f, 0x0ca0, 0x2001, 0xc756, 0x2003, 0x0000, 0x080c, 0x2a5b, + 0x2001, 0x0138, 0x2102, 0x0126, 0x2091, 0x8000, 0x2001, 0xc695, + 0x200c, 0x81ff, 0x0138, 0x2168, 0x080c, 0x1615, 0x2001, 0xc695, + 0x2003, 0x0000, 0x2001, 0xc8d3, 0x200c, 0x81ff, 0x0138, 0x2168, + 0x080c, 0x1615, 0x2001, 0xc8d3, 0x2003, 0x0000, 0x2001, 0xc63a, + 0x2003, 0x0010, 0x080c, 0x7439, 0x080c, 0x7448, 0x012e, 0x0804, + 0x3118, 0x7824, 0x00e6, 0x2071, 0xc682, 0x00ee, 0x0804, 0x3118, + 0x0006, 0x2001, 0xc653, 0x2004, 0xd0cc, 0x000e, 0x0005, 0x0006, + 0x2001, 0xc672, 0x2004, 0xd0bc, 0x000e, 0x0005, 0x6168, 0x7a24, + 0x6300, 0x82ff, 0x1118, 0x7926, 0x0804, 0x3118, 0x83ff, 0x1904, + 0x3140, 0x2001, 0xfff0, 0xa200, 0x1a04, 0x3140, 0x2019, 0xffff, + 0x606c, 0xa302, 0xa200, 0x0a04, 0x3140, 0x7926, 0x626a, 0x0804, + 0x3118, 0x2001, 0xc600, 0x2004, 0xa086, 0x0003, 0x1904, 0x313d, + 0x7c28, 0x7d24, 0x7e38, 0x7f2c, 0x080c, 0x3fe3, 0x0904, 0x313d, + 0x2009, 0x0000, 0x2019, 0x0000, 0x7023, 0x0000, 0x702f, 0x0000, + 0xad80, 0x0003, 0x7026, 0x20a0, 0xa1e0, 0xc77b, 0x2c64, 0x8cff, + 0x01b8, 0x6004, 0xa084, 0x00ff, 0xa086, 0x0006, 0x0130, 0x6004, + 0xa084, 0xff00, 0xa086, 0x0600, 0x1158, 0x6014, 0x20a2, 0x94a0, + 0x6010, 0x8007, 0xa105, 0x8007, 0x20a2, 0x94a0, 0xa398, 0x0002, + 0x8108, 0xa182, 0x00ff, 0x0120, 0xa386, 0x002a, 0x0148, 0x08e0, + 0x83ff, 0x1120, 0x7120, 0x810c, 0x0804, 0x3118, 0x702f, 0x0001, + 0x711e, 0x7020, 0xa300, 0x7022, 0x2061, 0xc6f2, 0x6007, 0x0000, + 0x6312, 0x7024, 0x600e, 0x6426, 0x652a, 0x662e, 0x6732, 0x2c10, + 0x080c, 0x1649, 0x7007, 0x0002, 0x701b, 0x444f, 0x0005, 0x702c, + 0xa005, 0x1168, 0x711c, 0x7024, 0x20a0, 0x2019, 0x0000, 0x2061, + 0xc6f2, 0x6424, 0x6528, 0x662c, 0x6730, 0x0804, 0x440c, 0x7120, + 0x810c, 0x0804, 0x3118, 0x81ff, 0x1904, 0x313d, 0x60d4, 0xd0ac, + 0x1118, 0xd09c, 0x0904, 0x313d, 0x080c, 0x3fe3, 0x0904, 0x313d, + 0x7924, 0x7a2c, 0x7b28, 0x7c3c, 0x7d38, 0x080c, 0x4024, 0x701b, + 0x447a, 0x0005, 0x00d6, 0xade8, 0x000d, 0x6828, 0xa0be, 0x7000, + 0x0148, 0xa0be, 0x7100, 0x0130, 0xa0be, 0x7200, 0x0118, 0x00de, + 0x0804, 0x3140, 0x6820, 0x6924, 0x080c, 0x298d, 0x1510, 0x080c, + 0x52a1, 0x11f8, 0x7122, 0x6612, 0x6516, 0x6e18, 0x00c6, 0x080c, + 0x3fe3, 0x01b8, 0x080c, 0x3fe3, 0x01a0, 0x00ce, 0x00de, 0x6837, + 0x0000, 0x6838, 0xc0fd, 0x683a, 0x6823, 0x0000, 0x6804, 0x2068, + 0x080c, 0xad85, 0x0904, 0x313d, 0x7007, 0x0003, 0x701b, 0x44b4, + 0x0005, 0x00de, 0x0804, 0x313d, 0x7120, 0x080c, 0x2f05, 0x6820, + 0xa086, 0x8001, 0x0904, 0x313d, 0x2d00, 0x701e, 0x6804, 0xa080, + 0x0002, 0x0006, 0x20a9, 0x002a, 0x2098, 0x20a0, 0x080c, 0x4e84, + 0x000e, 0xade8, 0x000d, 0x6a08, 0x6b0c, 0x6c10, 0x6d14, 0x2061, + 0xc6f2, 0x6007, 0x0000, 0x6e00, 0x6f28, 0xa7c6, 0x7000, 0x1108, + 0x0018, 0xa7c6, 0x7100, 0x1140, 0xa6c2, 0x0004, 0x0a04, 0x3140, + 0x2009, 0x0004, 0x0804, 0x4027, 0xa7c6, 0x7200, 0x1904, 0x3140, + 0xa6c2, 0x0054, 0x0a04, 0x3140, 0x600e, 0x6013, 0x002a, 0x6226, + 0x632a, 0x642e, 0x6532, 0x2c10, 0x080c, 0x1649, 0x7007, 0x0002, + 0x701b, 0x44fb, 0x0005, 0x701c, 0x2068, 0x6804, 0xa080, 0x0001, + 0x2004, 0xa080, 0x0002, 0x0006, 0x20a9, 0x002a, 0x2098, 0x20a0, + 0x080c, 0x4e84, 0x000e, 0x2009, 0x002a, 0x2061, 0xc6f2, 0x6224, + 0x6328, 0x642c, 0x6530, 0x0804, 0x4027, 0x81ff, 0x1904, 0x313d, + 0x792c, 0x2001, 0xc8e7, 0x2102, 0x080c, 0x3ff8, 0x0904, 0x3140, + 0x080c, 0x53c3, 0x0904, 0x313d, 0x0126, 0x2091, 0x8000, 0x080c, + 0x54f5, 0x012e, 0x0804, 0x3118, 0x7824, 0xd08c, 0x1118, 0xd084, + 0x0904, 0x3bad, 0x080c, 0x4008, 0x0904, 0x3140, 0x00c6, 0x080c, + 0x3fe3, 0x00ce, 0x1120, 0x2009, 0x0002, 0x0804, 0x313d, 0x6004, + 0xa084, 0x00ff, 0xa086, 0x0006, 0x0128, 0xa08e, 0x0004, 0x0110, + 0xa08e, 0x0005, 0x15b8, 0x7824, 0xd08c, 0x0120, 0x6000, 0xc08c, + 0x6002, 0x0030, 0x2001, 0xc653, 0x2004, 0xd0b4, 0x0904, 0x3be9, + 0x7824, 0xa084, 0xff00, 0xa08e, 0x7e00, 0x0904, 0x3be9, 0xa08e, + 0x7f00, 0x0904, 0x3be9, 0xa08e, 0x8000, 0x0904, 0x3be9, 0x6000, + 0xd08c, 0x1904, 0x3be9, 0x6837, 0x0000, 0x6838, 0xc0fd, 0x683a, + 0x080c, 0xada1, 0x1120, 0x2009, 0x0003, 0x0804, 0x313d, 0x7007, + 0x0003, 0x701b, 0x457c, 0x0005, 0x080c, 0x4008, 0x0904, 0x3140, + 0x0804, 0x3be9, 0x2009, 0xc631, 0x210c, 0x81ff, 0x0120, 0x2009, + 0x0001, 0x0804, 0x313d, 0x2001, 0xc600, 0x2004, 0xa086, 0x0003, + 0x0120, 0x2009, 0x0007, 0x0804, 0x313d, 0x2001, 0xc653, 0x2004, + 0xd0ac, 0x0120, 0x2009, 0x0008, 0x0804, 0x313d, 0x609c, 0xd0a4, + 0x1118, 0xd0ac, 0x1904, 0x3be9, 0x6837, 0x0000, 0x6833, 0x0000, + 0x6838, 0xc0fd, 0x683a, 0x080c, 0xae32, 0x1120, 0x2009, 0x0003, + 0x0804, 0x313d, 0x7007, 0x0003, 0x701b, 0x45b7, 0x0005, 0x6830, + 0xa086, 0x0100, 0x1120, 0x2009, 0x0004, 0x0804, 0x313d, 0x080c, + 0x4008, 0x0904, 0x3140, 0x0804, 0x454b, 0x81ff, 0x2009, 0x0001, + 0x1904, 0x313d, 0x6000, 0xa086, 0x0003, 0x2009, 0x0007, 0x1904, + 0x313d, 0x2001, 0xc653, 0x2004, 0xd0ac, 0x2009, 0x0008, 0x1904, + 0x313d, 0x080c, 0x4008, 0x0904, 0x3140, 0x6004, 0xa084, 0x00ff, + 0xa086, 0x0006, 0x2009, 0x0009, 0x1904, 0x313d, 0x00c6, 0x080c, + 0x3fe3, 0x00ce, 0x2009, 0x0002, 0x0904, 0x313d, 0x6837, 0x0000, + 0x6833, 0x0000, 0x6838, 0xc0fd, 0x683a, 0x7928, 0xa194, 0xff00, + 0xa18c, 0x00ff, 0xa006, 0x82ff, 0x1128, 0xc0ed, 0x6952, 0x792c, + 0x6956, 0x0048, 0xa28e, 0x0100, 0x1904, 0x3140, 0xc0e5, 0x6853, + 0x0000, 0x6857, 0x0000, 0x683e, 0x080c, 0xafef, 0x2009, 0x0003, + 0x0904, 0x313d, 0x7007, 0x0003, 0x701b, 0x4617, 0x0005, 0x6830, + 0xa086, 0x0100, 0x2009, 0x0004, 0x0904, 0x313d, 0x0804, 0x3118, + 0x81ff, 0x2009, 0x0001, 0x1904, 0x313d, 0x6000, 0xa086, 0x0003, + 0x2009, 0x0007, 0x1904, 0x313d, 0x080c, 0x4008, 0x0904, 0x3140, + 0x6004, 0xa084, 0x00ff, 0xa086, 0x0006, 0x2009, 0x0009, 0x1904, + 0x313d, 0x00c6, 0x080c, 0x3fe3, 0x00ce, 0x2009, 0x0002, 0x0904, + 0x313d, 0xad80, 0x000f, 0x2009, 0x0008, 0x7a2c, 0x7b28, 0x7c3c, + 0x7d38, 0x080c, 0x4024, 0x701b, 0x464e, 0x0005, 0x00d6, 0xade8, + 0x000f, 0x6800, 0xa086, 0x0500, 0x1140, 0x6804, 0xa005, 0x1128, + 0x6808, 0xa084, 0xff00, 0x1108, 0x0018, 0x00de, 0x1904, 0x3140, + 0x00de, 0x6837, 0x0000, 0x6833, 0x0000, 0x6838, 0xc0fd, 0x683a, + 0x00c6, 0x080c, 0x4008, 0x1118, 0x00ce, 0x0804, 0x3140, 0x080c, + 0xb03e, 0x2009, 0x0003, 0x00ce, 0x0904, 0x313d, 0x7007, 0x0003, + 0x701b, 0x467b, 0x0005, 0x6830, 0xa086, 0x0100, 0x2009, 0x0004, + 0x0904, 0x313d, 0x0804, 0x3118, 0x81ff, 0x0120, 0x2009, 0x0001, + 0x0804, 0x313d, 0x6000, 0xa086, 0x0003, 0x0120, 0x2009, 0x0007, + 0x0804, 0x313d, 0x7e24, 0x860f, 0xa18c, 0x00ff, 0xa6b4, 0x00ff, + 0x080c, 0x52fd, 0x1904, 0x3140, 0xa186, 0x007f, 0x0150, 0x6004, + 0xa084, 0x00ff, 0xa086, 0x0006, 0x0120, 0x2009, 0x0009, 0x0804, + 0x313d, 0x00c6, 0x080c, 0x3fe3, 0x00ce, 0x1120, 0x2009, 0x0002, + 0x0804, 0x313d, 0x6837, 0x0000, 0x6838, 0xc0fd, 0x683a, 0x2001, + 0x0100, 0x8007, 0x680a, 0x080c, 0xadbc, 0x1120, 0x2009, 0x0003, + 0x0804, 0x313d, 0x7007, 0x0003, 0x701b, 0x46c7, 0x0005, 0x6808, + 0x8007, 0xa086, 0x0100, 0x1120, 0x2009, 0x0004, 0x0804, 0x313d, + 0x68b0, 0x6836, 0x6810, 0x8007, 0xa084, 0x00ff, 0x800c, 0x6814, + 0x8007, 0xa084, 0x00ff, 0x8004, 0xa080, 0x0002, 0xa108, 0xad80, + 0x0004, 0x7a2c, 0x7b28, 0x7c3c, 0x7d38, 0x0804, 0x4027, 0x080c, + 0x3fe3, 0x1120, 0x2009, 0x0002, 0x0804, 0x313d, 0x7924, 0xa194, + 0xff00, 0xa18c, 0x00ff, 0x8217, 0x82ff, 0x0110, 0x0804, 0x3140, + 0x2009, 0x001a, 0x7a2c, 0x7b28, 0x7c3c, 0x7d38, 0x080c, 0x4024, + 0x701b, 0x4703, 0x0005, 0xad80, 0x000d, 0x2098, 0x20a9, 0x001a, + 0x20a1, 0xc90d, 0x53a3, 0x0804, 0x3118, 0x080c, 0x3fe3, 0x1120, + 0x2009, 0x0002, 0x0804, 0x313d, 0x7924, 0xa194, 0xff00, 0xa18c, + 0x00ff, 0x8217, 0x82ff, 0x0110, 0x0804, 0x3140, 0x2099, 0xc90d, + 0x20a0, 0x20a9, 0x001a, 0x53a3, 0x2009, 0x001a, 0x7a2c, 0x7b28, + 0x7c3c, 0x7d38, 0x0804, 0x4027, 0x7824, 0xa08a, 0x1000, 0x1a04, + 0x3140, 0x0126, 0x2091, 0x8000, 0x8003, 0x800b, 0x810b, 0xa108, + 0x00c6, 0x2061, 0xc93a, 0x6142, 0x00ce, 0x012e, 0x0804, 0x3118, + 0x00c6, 0x080c, 0x5ee2, 0x1188, 0x2001, 0xc8e6, 0x2003, 0x0001, + 0x2001, 0xc600, 0x2003, 0x0001, 0xa085, 0x0001, 0x080c, 0x5f26, + 0x080c, 0x5e1a, 0x080c, 0x1515, 0x0038, 0x2061, 0xc600, 0x6030, + 0xc09d, 0x6032, 0x080c, 0x4e14, 0x00ce, 0x0005, 0x0126, 0x2091, + 0x8000, 0x00c6, 0x2061, 0xc93a, 0x7924, 0x6152, 0x614e, 0x6057, + 0x0000, 0x604b, 0x0009, 0x7838, 0x606a, 0x783c, 0x6066, 0x7828, + 0x6062, 0x782c, 0x605e, 0x2061, 0xc8e8, 0x2001, 0xc94f, 0x600e, + 0x6013, 0x0001, 0x6017, 0x0002, 0x6007, 0x0000, 0x6037, 0x0000, + 0x00ce, 0x012e, 0x0804, 0x3118, 0x0126, 0x00c6, 0x00e6, 0x2061, + 0x0100, 0x2071, 0xc600, 0x6044, 0xd0a4, 0x11b0, 0xd084, 0x0118, + 0x080c, 0x48fb, 0x0068, 0xd08c, 0x0118, 0x080c, 0x481c, 0x0040, + 0xd094, 0x0118, 0x080c, 0x47ed, 0x0018, 0xd09c, 0x0108, 0x0061, + 0x00ee, 0x00ce, 0x012e, 0x0005, 0x0016, 0x6128, 0xd19c, 0x1110, + 0xc19d, 0x612a, 0x001e, 0x0ca0, 0x624c, 0xa286, 0xf0f0, 0x1150, + 0x6048, 0xa086, 0xf0f0, 0x0130, 0x624a, 0x6043, 0x0090, 0x6043, + 0x0010, 0x0490, 0xa294, 0xff00, 0xa296, 0xf700, 0x0178, 0x7134, + 0xd1a4, 0x1160, 0x6240, 0xa295, 0x0100, 0x6242, 0xa294, 0x0010, + 0x0128, 0x2009, 0x00f7, 0x080c, 0x4ea4, 0x00f0, 0x6040, 0xa084, + 0x0010, 0xa085, 0x0140, 0x6042, 0x6043, 0x0000, 0x707b, 0x0000, + 0x7097, 0x0001, 0x70bb, 0x0000, 0x70d7, 0x0000, 0x2009, 0xcdc0, + 0x200b, 0x0000, 0x708b, 0x0000, 0x707f, 0x000a, 0x2009, 0x000a, + 0x2011, 0x4dca, 0x080c, 0x6ffa, 0x0005, 0x0156, 0x2001, 0xc674, + 0x2004, 0xd08c, 0x0110, 0x7053, 0xffff, 0x707c, 0xa005, 0x1510, + 0x2011, 0x4dca, 0x080c, 0x6f71, 0x6040, 0xa094, 0x0010, 0xa285, + 0x0020, 0x6042, 0x20a9, 0x00c8, 0x6044, 0xd08c, 0x1168, 0x1f04, + 0x4804, 0x6242, 0x708f, 0x0000, 0x6040, 0xa094, 0x0010, 0xa285, + 0x0080, 0x6042, 0x6242, 0x0030, 0x6242, 0x708f, 0x0000, 0x7083, + 0x0000, 0x0000, 0x015e, 0x0005, 0x7080, 0xa08a, 0x0003, 0x1210, + 0x0023, 0x0010, 0x080c, 0x1515, 0x0005, 0x4828, 0x4878, 0x48fa, + 0x00f6, 0x7083, 0x0001, 0x20e1, 0xa000, 0xe000, 0x20e1, 0x8700, + 0x080c, 0x2584, 0x20e1, 0x9080, 0x20e1, 0x4000, 0x2079, 0xcc00, + 0x207b, 0x2200, 0x7807, 0x00ef, 0x780b, 0x0000, 0x780f, 0x00ef, + 0x7813, 0x0138, 0x7817, 0x0000, 0x781b, 0x0000, 0x781f, 0x0000, + 0x7823, 0xffff, 0x7827, 0xffff, 0x782b, 0x0000, 0x782f, 0x0000, + 0x2079, 0xcc0c, 0x207b, 0x1101, 0x7807, 0x0000, 0x2099, 0xc605, + 0x20a1, 0xcc0e, 0x20a9, 0x0004, 0x53a3, 0x2079, 0xcc12, 0x207b, + 0x0000, 0x7807, 0x0000, 0x2099, 0xcc00, 0x20a1, 0x020b, 0x20a9, + 0x0014, 0x53a6, 0x60c3, 0x000c, 0x600f, 0x0000, 0x080c, 0x4dfb, + 0x00fe, 0x7087, 0x0000, 0x6043, 0x0008, 0x6043, 0x0000, 0x0005, + 0x00d6, 0x7084, 0x7087, 0x0000, 0xa025, 0x0904, 0x48e2, 0x6020, + 0xd0b4, 0x1904, 0x48e0, 0x7194, 0x81ff, 0x0904, 0x48d0, 0xa486, + 0x000c, 0x1904, 0x48db, 0xa480, 0x0018, 0x8004, 0x20a8, 0x2011, + 0xcc80, 0x2019, 0xcc00, 0x220c, 0x2304, 0xa106, 0x11b8, 0x8210, + 0x8318, 0x1f04, 0x4893, 0x6043, 0x0004, 0x608b, 0xbc94, 0x608f, + 0xf0f0, 0x6043, 0x0006, 0x7083, 0x0002, 0x708f, 0x0002, 0x2009, + 0x07d0, 0x2011, 0x4dd1, 0x080c, 0x6ffa, 0x0490, 0x2069, 0xcc80, + 0x6930, 0xa18e, 0x1101, 0x1538, 0x6834, 0xa005, 0x1520, 0x6900, + 0xa18c, 0x00ff, 0x1118, 0x6804, 0xa005, 0x0190, 0x2011, 0xcc8e, + 0x2019, 0xc605, 0x20a9, 0x0004, 0x220c, 0x2304, 0xa102, 0x0230, + 0x1190, 0x8210, 0x8318, 0x1f04, 0x48c4, 0x0068, 0x7097, 0x0000, + 0x20e1, 0x9080, 0x20e1, 0x4000, 0x2099, 0xcc80, 0x20a1, 0x020b, + 0x20a9, 0x0014, 0x53a6, 0x6043, 0x0008, 0x6043, 0x0000, 0x0010, + 0x00de, 0x0005, 0x6040, 0xa085, 0x0100, 0x6042, 0x6020, 0xd0b4, + 0x1db8, 0x60c3, 0x000c, 0x2011, 0xc931, 0x2013, 0x0000, 0x7087, + 0x0000, 0x20e1, 0x9080, 0x60a3, 0x0056, 0x60a7, 0x9575, 0x080c, + 0x8b95, 0x0c30, 0x0005, 0x708c, 0xa08a, 0x001d, 0x1210, 0x0023, + 0x0010, 0x080c, 0x1515, 0x0005, 0x492e, 0x493d, 0x4965, 0x497e, + 0x49a2, 0x49ca, 0x49ee, 0x4a1f, 0x4a43, 0x4a6b, 0x4aa2, 0x4aca, + 0x4ae6, 0x4afc, 0x4b1c, 0x4b2f, 0x4b37, 0x4b67, 0x4b8b, 0x4bb3, + 0x4bd7, 0x4c08, 0x4c45, 0x4c74, 0x4c90, 0x4ccf, 0x4cef, 0x4d08, + 0x4d09, 0x00c6, 0x2061, 0xc600, 0x6003, 0x0007, 0x2061, 0x0100, + 0x6004, 0xa084, 0xfff9, 0x6006, 0x00ce, 0x0005, 0x608b, 0xbc94, + 0x608f, 0xf0f0, 0x6043, 0x0002, 0x708f, 0x0001, 0x2009, 0x07d0, + 0x2011, 0x4dd1, 0x080c, 0x6ffa, 0x0005, 0x00f6, 0x7084, 0xa086, + 0x0014, 0x1508, 0x6043, 0x0000, 0x6020, 0xd0b4, 0x11e0, 0x2079, + 0xcc80, 0x7a30, 0xa296, 0x1102, 0x11a0, 0x7834, 0xa005, 0x1188, + 0x7a38, 0xd2fc, 0x0128, 0x70b8, 0xa005, 0x1110, 0x70bb, 0x0001, + 0x2011, 0x4dd1, 0x080c, 0x6f71, 0x708f, 0x0010, 0x080c, 0x4b37, + 0x0010, 0x080c, 0x4e14, 0x00fe, 0x0005, 0x708f, 0x0003, 0x6043, + 0x0004, 0x2011, 0x4dd1, 0x080c, 0x6f71, 0x080c, 0x4e8c, 0x20a3, + 0x1102, 0x20a3, 0x0000, 0x20a9, 0x000a, 0x20a3, 0x0000, 0x1f04, + 0x4975, 0x60c3, 0x0014, 0x080c, 0x4dfb, 0x0005, 0x00f6, 0x7084, + 0xa005, 0x01f0, 0x2011, 0x4dd1, 0x080c, 0x6f71, 0xa086, 0x0014, + 0x11a8, 0x2079, 0xcc80, 0x7a30, 0xa296, 0x1102, 0x1178, 0x7834, + 0xa005, 0x1160, 0x7a38, 0xd2fc, 0x0128, 0x70b8, 0xa005, 0x1110, + 0x70bb, 0x0001, 0x708f, 0x0004, 0x0029, 0x0010, 0x080c, 0x4e14, + 0x00fe, 0x0005, 0x708f, 0x0005, 0x080c, 0x4e8c, 0x20a3, 0x1103, + 0x20a3, 0x0000, 0x3430, 0x2011, 0xcc8e, 0x080c, 0x4edd, 0x1160, + 0x7078, 0xa005, 0x1148, 0x7150, 0xa186, 0xffff, 0x0128, 0x080c, + 0x4d95, 0x0110, 0x080c, 0x4ebb, 0x20a9, 0x0008, 0x2298, 0x26a0, + 0x53a6, 0x20a3, 0x0000, 0x20a3, 0x0000, 0x60c3, 0x0014, 0x080c, + 0x4dfb, 0x0005, 0x00f6, 0x7084, 0xa005, 0x01f0, 0x2011, 0x4dd1, + 0x080c, 0x6f71, 0xa086, 0x0014, 0x11a8, 0x2079, 0xcc80, 0x7a30, + 0xa296, 0x1103, 0x1178, 0x7834, 0xa005, 0x1160, 0x7a38, 0xd2fc, + 0x0128, 0x70b8, 0xa005, 0x1110, 0x70bb, 0x0001, 0x708f, 0x0006, + 0x0029, 0x0010, 0x080c, 0x4e14, 0x00fe, 0x0005, 0x708f, 0x0007, + 0x080c, 0x4e8c, 0x20a3, 0x1104, 0x20a3, 0x0000, 0x3430, 0x2011, + 0xcc8e, 0x080c, 0x4edd, 0x11a8, 0x7078, 0xa005, 0x1190, 0x7158, + 0xa186, 0xffff, 0x0170, 0xa180, 0x2f32, 0x200d, 0xa18c, 0xff00, + 0x810f, 0x080c, 0x4d95, 0x0128, 0x080c, 0x43cf, 0x0110, 0x080c, + 0x29d7, 0x20a9, 0x0008, 0x2298, 0x26a0, 0x53a6, 0x20a3, 0x0000, + 0x20a3, 0x0000, 0x60c3, 0x0014, 0x080c, 0x4dfb, 0x0005, 0x00f6, + 0x7084, 0xa005, 0x01f0, 0x2011, 0x4dd1, 0x080c, 0x6f71, 0xa086, + 0x0014, 0x11a8, 0x2079, 0xcc80, 0x7a30, 0xa296, 0x1104, 0x1178, + 0x7834, 0xa005, 0x1160, 0x7a38, 0xd2fc, 0x0128, 0x70b8, 0xa005, + 0x1110, 0x70bb, 0x0001, 0x708f, 0x0008, 0x0029, 0x0010, 0x080c, + 0x4e14, 0x00fe, 0x0005, 0x708f, 0x0009, 0x080c, 0x4e8c, 0x20a3, + 0x1105, 0x20a3, 0x0100, 0x3430, 0x080c, 0x4edd, 0x1150, 0x7078, + 0xa005, 0x1138, 0x080c, 0x4d0a, 0x1170, 0xa085, 0x0001, 0x080c, + 0x29d7, 0x20a9, 0x0008, 0x2099, 0xcc8e, 0x26a0, 0x53a6, 0x20a3, + 0x0000, 0x20a3, 0x0000, 0x60c3, 0x0014, 0x080c, 0x4dfb, 0x0010, + 0x080c, 0x4921, 0x0005, 0x00f6, 0x7084, 0xa005, 0x0588, 0x2011, + 0x4dd1, 0x080c, 0x6f71, 0xa086, 0x0014, 0x1540, 0x2079, 0xcc80, + 0x7a30, 0xa296, 0x1105, 0x1510, 0x7834, 0x2011, 0x0100, 0xa21e, + 0x1160, 0x7a38, 0xd2fc, 0x0128, 0x70b8, 0xa005, 0x1110, 0x70bb, + 0x0001, 0x708f, 0x000a, 0x00b1, 0x0098, 0xa005, 0x1178, 0x7a38, + 0xd2fc, 0x0128, 0x70b8, 0xa005, 0x1110, 0x70bb, 0x0001, 0x708b, + 0x0000, 0x708f, 0x000e, 0x080c, 0x4b1c, 0x0010, 0x080c, 0x4e14, + 0x00fe, 0x0005, 0x708f, 0x000b, 0x2011, 0xcc0e, 0x22a0, 0x20a9, + 0x0040, 0x2019, 0xffff, 0x43a4, 0x20a9, 0x0002, 0x2009, 0x0000, + 0x41a4, 0x080c, 0x4e8c, 0x20a3, 0x1106, 0x20a3, 0x0000, 0x080c, + 0x4edd, 0x0118, 0x2013, 0x0000, 0x0020, 0x7054, 0xa085, 0x0100, + 0x2012, 0x2298, 0x20a9, 0x0042, 0x53a6, 0x60c3, 0x0084, 0x080c, + 0x4dfb, 0x0005, 0x00f6, 0x7084, 0xa005, 0x01b0, 0x2011, 0x4dd1, + 0x080c, 0x6f71, 0xa086, 0x0084, 0x1168, 0x2079, 0xcc80, 0x7a30, + 0xa296, 0x1106, 0x1138, 0x7834, 0xa005, 0x1120, 0x708f, 0x000c, + 0x0029, 0x0010, 0x080c, 0x4e14, 0x00fe, 0x0005, 0x708f, 0x000d, + 0x080c, 0x4e8c, 0x20a3, 0x1107, 0x20a3, 0x0000, 0x2099, 0xcc8e, + 0x20a9, 0x0040, 0x53a6, 0x20a3, 0x0000, 0x20a3, 0x0000, 0x60c3, + 0x0084, 0x080c, 0x4dfb, 0x0005, 0x00f6, 0x7084, 0xa005, 0x01d0, + 0x2011, 0x4dd1, 0x080c, 0x6f71, 0xa086, 0x0084, 0x1188, 0x2079, + 0xcc80, 0x7a30, 0xa296, 0x1107, 0x1158, 0x7834, 0xa005, 0x1140, + 0x708b, 0x0001, 0x080c, 0x4e7e, 0x708f, 0x000e, 0x0029, 0x0010, + 0x080c, 0x4e14, 0x00fe, 0x0005, 0x708f, 0x000f, 0x7087, 0x0000, + 0x608b, 0xbc85, 0x608f, 0xb5b5, 0x6043, 0x0005, 0x6043, 0x0004, + 0x2009, 0x07d0, 0x2011, 0x4dd1, 0x080c, 0x6f65, 0x0005, 0x7084, + 0xa005, 0x0120, 0x2011, 0x4dd1, 0x080c, 0x6f71, 0x0005, 0x708f, + 0x0011, 0x080c, 0x4edd, 0x11a0, 0x7170, 0x81ff, 0x0188, 0x2009, + 0x0000, 0x7074, 0xa084, 0x00ff, 0x080c, 0x298d, 0xa186, 0x007e, + 0x0138, 0xa186, 0x0080, 0x0120, 0x2011, 0xcc8e, 0x080c, 0x4d95, + 0x20e1, 0x9080, 0x20e1, 0x4000, 0x2099, 0xcc80, 0x20a1, 0x020b, + 0x7484, 0xa480, 0x0018, 0xa080, 0x0007, 0xa084, 0x03f8, 0x8004, + 0x20a8, 0x53a6, 0x60c3, 0x0014, 0x080c, 0x4dfb, 0x0005, 0x00f6, + 0x7084, 0xa005, 0x01f0, 0x2011, 0x4dd1, 0x080c, 0x6f71, 0xa086, + 0x0014, 0x11a8, 0x2079, 0xcc80, 0x7a30, 0xa296, 0x1103, 0x1178, + 0x7834, 0xa005, 0x1160, 0x7a38, 0xd2fc, 0x0128, 0x70b8, 0xa005, + 0x1110, 0x70bb, 0x0001, 0x708f, 0x0012, 0x0029, 0x0010, 0x080c, + 0x4e14, 0x00fe, 0x0005, 0x708f, 0x0013, 0x080c, 0x4e98, 0x20a3, + 0x1103, 0x20a3, 0x0000, 0x3430, 0x2011, 0xcc8e, 0x080c, 0x4edd, + 0x1160, 0x7078, 0xa005, 0x1148, 0x7150, 0xa186, 0xffff, 0x0128, + 0x080c, 0x4d95, 0x0110, 0x080c, 0x4ebb, 0x20a9, 0x0008, 0x2298, + 0x26a0, 0x53a6, 0x20a3, 0x0000, 0x20a3, 0x0000, 0x60c3, 0x0014, + 0x080c, 0x4dfb, 0x0005, 0x00f6, 0x7084, 0xa005, 0x01f0, 0x2011, + 0x4dd1, 0x080c, 0x6f71, 0xa086, 0x0014, 0x11a8, 0x2079, 0xcc80, + 0x7a30, 0xa296, 0x1104, 0x1178, 0x7834, 0xa005, 0x1160, 0x7a38, + 0xd2fc, 0x0128, 0x70b8, 0xa005, 0x1110, 0x70bb, 0x0001, 0x708f, + 0x0014, 0x0029, 0x0010, 0x080c, 0x4e14, 0x00fe, 0x0005, 0x708f, + 0x0015, 0x080c, 0x4e98, 0x20a3, 0x1104, 0x20a3, 0x0000, 0x3430, + 0x2011, 0xcc8e, 0x080c, 0x4edd, 0x11a8, 0x7078, 0xa005, 0x1190, + 0x7158, 0xa186, 0xffff, 0x0170, 0xa180, 0x2f32, 0x200d, 0xa18c, + 0xff00, 0x810f, 0x080c, 0x4d95, 0x0128, 0x080c, 0x43cf, 0x0110, + 0x080c, 0x29d7, 0x20a9, 0x0008, 0x2298, 0x26a0, 0x53a6, 0x20a3, + 0x0000, 0x20a3, 0x0000, 0x60c3, 0x0014, 0x080c, 0x4dfb, 0x0005, + 0x00f6, 0x7084, 0xa005, 0x05b8, 0x2011, 0x4dd1, 0x080c, 0x6f71, + 0xa086, 0x0014, 0x1570, 0x2079, 0xcc80, 0x7a30, 0xa296, 0x1105, + 0x1540, 0x7834, 0x2011, 0x0100, 0xa21e, 0x1148, 0x7a38, 0xd2fc, + 0x0128, 0x70b8, 0xa005, 0x1110, 0x70bb, 0x0001, 0x0060, 0xa005, + 0x11c0, 0x7a38, 0xd2fc, 0x0128, 0x70b8, 0xa005, 0x1110, 0x70bb, + 0x0001, 0x708b, 0x0000, 0x7a38, 0xd2f4, 0x0138, 0x2001, 0xc674, + 0x2004, 0xd0a4, 0x1110, 0x70d7, 0x0008, 0x708f, 0x0016, 0x0029, + 0x0010, 0x080c, 0x4e14, 0x00fe, 0x0005, 0x20e1, 0x9080, 0x20e1, + 0x4000, 0x2099, 0xcc80, 0x20a1, 0x020b, 0x20a9, 0x000e, 0x53a6, + 0x3430, 0x2011, 0xcc8e, 0x708f, 0x0017, 0x080c, 0x4edd, 0x1150, + 0x7078, 0xa005, 0x1138, 0x080c, 0x4d0a, 0x1170, 0xa085, 0x0001, + 0x080c, 0x29d7, 0x20a9, 0x0008, 0x2099, 0xcc8e, 0x26a0, 0x53a6, + 0x20a3, 0x0000, 0x20a3, 0x0000, 0x60c3, 0x0014, 0x080c, 0x4dfb, + 0x0010, 0x080c, 0x4921, 0x0005, 0x00f6, 0x7084, 0xa005, 0x01b0, + 0x2011, 0x4dd1, 0x080c, 0x6f71, 0xa086, 0x0084, 0x1168, 0x2079, + 0xcc80, 0x7a30, 0xa296, 0x1106, 0x1138, 0x7834, 0xa005, 0x1120, + 0x708f, 0x0018, 0x0029, 0x0010, 0x080c, 0x4e14, 0x00fe, 0x0005, + 0x708f, 0x0019, 0x080c, 0x4e98, 0x20a3, 0x1106, 0x20a3, 0x0000, + 0x3430, 0x2099, 0xcc8e, 0x2039, 0xcc0e, 0x27a0, 0x20a9, 0x0040, + 0x53a3, 0x080c, 0x4edd, 0x11e8, 0x2728, 0x2514, 0x8207, 0xa084, + 0x00ff, 0x8000, 0x2018, 0xa294, 0x00ff, 0x8007, 0xa205, 0x202a, + 0x7054, 0x2310, 0x8214, 0xa2a0, 0xcc0e, 0x2414, 0xa38c, 0x0001, + 0x0118, 0xa294, 0xff00, 0x0018, 0xa294, 0x00ff, 0x8007, 0xa215, + 0x2222, 0x2798, 0x26a0, 0x20a9, 0x0040, 0x53a6, 0x20a3, 0x0000, + 0x20a3, 0x0000, 0x60c3, 0x0084, 0x080c, 0x4dfb, 0x0005, 0x00f6, + 0x7084, 0xa005, 0x01d0, 0x2011, 0x4dd1, 0x080c, 0x6f71, 0xa086, + 0x0084, 0x1188, 0x2079, 0xcc80, 0x7a30, 0xa296, 0x1107, 0x1158, + 0x7834, 0xa005, 0x1140, 0x708b, 0x0001, 0x080c, 0x4e7e, 0x708f, + 0x001a, 0x0029, 0x0010, 0x080c, 0x4e14, 0x00fe, 0x0005, 0x708f, + 0x001b, 0x20e1, 0x9080, 0x20e1, 0x4000, 0x2099, 0xcc80, 0x20a1, + 0x020b, 0x7484, 0xa480, 0x0018, 0xa080, 0x0007, 0xa084, 0x03f8, + 0x8004, 0x20a8, 0x53a6, 0x60c3, 0x0084, 0x080c, 0x4dfb, 0x0005, + 0x0005, 0x0005, 0x0086, 0x0096, 0x2029, 0xc653, 0x252c, 0x20a9, + 0x0008, 0x2041, 0xcc0e, 0x28a0, 0x2099, 0xcc8e, 0x53a3, 0x20a9, + 0x0008, 0x2011, 0x0007, 0xd5d4, 0x0110, 0x2011, 0x0000, 0x2800, + 0xa200, 0x200c, 0xa1a6, 0xffff, 0x1148, 0xd5d4, 0x0110, 0x8210, + 0x0008, 0x8211, 0x1f04, 0x4d1f, 0x0804, 0x4d8d, 0x82ff, 0x1160, + 0xd5d4, 0x0120, 0xa1a6, 0x3fff, 0x0d90, 0x0020, 0xa1a6, 0x3fff, + 0x0904, 0x4d8d, 0xa18d, 0xc000, 0x20a9, 0x0010, 0x2019, 0x0001, + 0xd5d4, 0x0110, 0x2019, 0x0010, 0x2120, 0xd5d4, 0x0110, 0x8423, + 0x0008, 0x8424, 0x1240, 0xd5d4, 0x0110, 0x8319, 0x0008, 0x8318, + 0x1f04, 0x4d45, 0x04d0, 0x23a8, 0x2021, 0x0001, 0x8426, 0x8425, + 0x1f04, 0x4d57, 0x2328, 0x8529, 0xa2be, 0x0007, 0x0158, 0x0006, + 0x2039, 0x0007, 0x2200, 0xa73a, 0x000e, 0x27a8, 0xa5a8, 0x0010, + 0x1f04, 0x4d66, 0x7552, 0xa5c8, 0x2f32, 0x292d, 0xa5ac, 0x00ff, + 0x7576, 0x6532, 0x6536, 0x0016, 0x2508, 0x080c, 0x29b7, 0x001e, + 0x60e7, 0x0000, 0x65ea, 0x2018, 0x2304, 0xa405, 0x201a, 0x707b, + 0x0001, 0x26a0, 0x2898, 0x20a9, 0x0008, 0x53a6, 0x20a3, 0x0000, + 0x20a3, 0x0000, 0xa085, 0x0001, 0x0028, 0xa006, 0x0018, 0xa006, + 0x080c, 0x1515, 0x009e, 0x008e, 0x0005, 0x2118, 0x2021, 0x0000, + 0x2001, 0x0007, 0xa39a, 0x0010, 0x0218, 0x8420, 0x8001, 0x0cd0, + 0x2118, 0x84ff, 0x0120, 0xa39a, 0x0010, 0x8421, 0x1de0, 0x2021, + 0x0001, 0x83ff, 0x0118, 0x8423, 0x8319, 0x1de8, 0xa238, 0x2704, + 0xa42c, 0x11b8, 0xa405, 0x203a, 0x7152, 0xa1a0, 0x2f32, 0x242d, + 0xa5ac, 0x00ff, 0x7576, 0x6532, 0x6536, 0x0016, 0x2508, 0x080c, + 0x29b7, 0x001e, 0x60e7, 0x0000, 0x65ea, 0x707b, 0x0001, 0xa084, + 0x0000, 0x0005, 0x00e6, 0x2071, 0xc600, 0x707f, 0x0000, 0x00ee, + 0x0005, 0x00e6, 0x00f6, 0x2079, 0x0100, 0x2071, 0x0140, 0x080c, + 0x8b9e, 0x7004, 0xa084, 0x4000, 0x0120, 0x7003, 0x1000, 0x7003, + 0x0000, 0x0126, 0x2091, 0x8000, 0x2071, 0xc623, 0x2073, 0x0000, + 0x7840, 0x0026, 0x0016, 0x2009, 0x00f7, 0x080c, 0x4ea4, 0x001e, + 0xa094, 0x0010, 0xa285, 0x0080, 0x7842, 0x7a42, 0x002e, 0x012e, + 0x00fe, 0x00ee, 0x0005, 0x0126, 0x2091, 0x8000, 0x2011, 0xc931, + 0x2013, 0x0000, 0x7087, 0x0000, 0x012e, 0x20e1, 0x9080, 0x60a3, + 0x0056, 0x60a7, 0x9575, 0x080c, 0x8b95, 0x2009, 0x07d0, 0x2011, + 0x4dd1, 0x080c, 0x6ffa, 0x0005, 0x0016, 0x0026, 0x00c6, 0x0126, + 0x2091, 0x8000, 0x2011, 0x0003, 0x080c, 0x8eb7, 0x2011, 0x0002, + 0x080c, 0x8ec1, 0x080c, 0x8d97, 0x0036, 0x2019, 0x0000, 0x080c, + 0x8e22, 0x003e, 0x2009, 0x00f7, 0x080c, 0x4ea4, 0x2061, 0xc93a, + 0x601b, 0x0000, 0x601f, 0x0000, 0x2061, 0xc600, 0x6003, 0x0001, + 0x2061, 0x0100, 0x6043, 0x0090, 0x6043, 0x0010, 0x2009, 0x002d, + 0x2011, 0x4e49, 0x080c, 0x6f65, 0x012e, 0x00ce, 0x002e, 0x001e, + 0x0005, 0x00e6, 0x0006, 0x0126, 0x2091, 0x8000, 0x2071, 0x0100, + 0x080c, 0x8b9e, 0x2071, 0x0140, 0x7004, 0xa084, 0x4000, 0x0120, + 0x7003, 0x1000, 0x7003, 0x0000, 0x080c, 0x5eea, 0x01a8, 0x080c, + 0x5f08, 0x1190, 0x2001, 0xc8e5, 0x2003, 0xaaaa, 0x0016, 0x080c, + 0x2a5b, 0x2001, 0xc8d6, 0x2102, 0x001e, 0x2001, 0xc8e6, 0x2003, + 0x0000, 0x080c, 0x5e1a, 0x0030, 0x2001, 0x0001, 0x080c, 0x2933, + 0x080c, 0x4e14, 0x012e, 0x000e, 0x00ee, 0x0005, 0x20a9, 0x0040, + 0x20a1, 0xcdc0, 0x2099, 0xcc8e, 0x3304, 0x8007, 0x20a2, 0x9398, + 0x94a0, 0x1f04, 0x4e84, 0x0005, 0x20e1, 0x9080, 0x20e1, 0x4000, + 0x2099, 0xcc00, 0x20a1, 0x020b, 0x20a9, 0x000c, 0x53a6, 0x0005, + 0x20e1, 0x9080, 0x20e1, 0x4000, 0x2099, 0xcc80, 0x20a1, 0x020b, + 0x20a9, 0x000c, 0x53a6, 0x0005, 0x00c6, 0x0006, 0x2061, 0x0100, + 0x810f, 0x2001, 0xc631, 0x2004, 0xa005, 0x1138, 0x2001, 0xc615, + 0x2004, 0xa084, 0x00ff, 0xa105, 0x0010, 0xa185, 0x00f7, 0x604a, + 0x000e, 0x00ce, 0x0005, 0x0016, 0x0046, 0x2001, 0xc653, 0x2004, + 0xd0a4, 0x0158, 0xa006, 0x2020, 0x2009, 0x002a, 0x080c, 0xc112, + 0x2001, 0xc60c, 0x200c, 0xc195, 0x2102, 0x2019, 0x002a, 0x2009, + 0x0000, 0x080c, 0x2ddd, 0x004e, 0x001e, 0x0005, 0x080c, 0x4e14, + 0x708f, 0x0000, 0x7087, 0x0000, 0x0005, 0x0006, 0x2001, 0xc60c, + 0x2004, 0xd09c, 0x0100, 0x000e, 0x0005, 0x0006, 0x0016, 0x0126, + 0x2091, 0x8000, 0x2001, 0x0101, 0x200c, 0xa18d, 0x0006, 0x2102, + 0x012e, 0x001e, 0x000e, 0x0005, 0x0156, 0x20a9, 0x00ff, 0x2009, + 0xc77b, 0xa006, 0x200a, 0x8108, 0x1f04, 0x4efa, 0x015e, 0x0005, + 0x00d6, 0x0036, 0x0156, 0x0136, 0x0146, 0x2069, 0xc652, 0xa006, + 0x6002, 0x6007, 0x0707, 0x600a, 0x600e, 0x6012, 0xa198, 0x2f32, + 0x231d, 0xa39c, 0x00ff, 0x6316, 0x20a9, 0x0004, 0xac98, 0x0006, + 0x23a0, 0x40a4, 0x20a9, 0x0004, 0xac98, 0x000a, 0x23a0, 0x40a4, + 0x603e, 0x6042, 0x604e, 0x6052, 0x6056, 0x605a, 0x605e, 0x6062, + 0x6066, 0x606a, 0x606e, 0x6072, 0x6076, 0x607a, 0x607e, 0x6082, + 0x6086, 0x608a, 0x608e, 0x6092, 0x6096, 0x609a, 0x609e, 0x60be, + 0x61a2, 0x00d6, 0x60a4, 0xa06d, 0x0110, 0x080c, 0x1615, 0x60a7, + 0x0000, 0x60a8, 0xa06d, 0x0110, 0x080c, 0x1615, 0x60ab, 0x0000, + 0x00de, 0xa006, 0x604a, 0x6810, 0x603a, 0x680c, 0x6046, 0xa006, + 0x60b2, 0x60ae, 0x60b6, 0x60bb, 0x0520, 0x6814, 0xa084, 0x00ff, + 0x6042, 0x014e, 0x013e, 0x015e, 0x003e, 0x00de, 0x0005, 0x0126, + 0x2091, 0x8000, 0x6944, 0x6e48, 0xa684, 0x3fff, 0xa082, 0x4000, + 0x1a04, 0x5015, 0xa18c, 0xff00, 0x810f, 0xa182, 0x00ff, 0x1a04, + 0x501a, 0x2001, 0xc60c, 0x2004, 0xa084, 0x0003, 0x01c0, 0x2001, + 0xc60c, 0x2004, 0xd084, 0x1904, 0x4ffd, 0xa188, 0xc77b, 0x2104, + 0xa065, 0x0904, 0x4ffd, 0x6004, 0xa084, 0x00ff, 0xa08e, 0x0006, + 0x1904, 0x4ffd, 0x6000, 0xd0c4, 0x0904, 0x4ffd, 0x0068, 0xa188, + 0xc77b, 0x2104, 0xa065, 0x0904, 0x4fe1, 0x6004, 0xa084, 0x00ff, + 0xa08e, 0x0006, 0x1904, 0x4fe6, 0x60a4, 0xa00d, 0x0118, 0x080c, + 0x5528, 0x05d0, 0x60a8, 0xa00d, 0x0188, 0x080c, 0x5573, 0x1170, + 0x694c, 0xd1fc, 0x1118, 0x080c, 0x5232, 0x0448, 0x080c, 0x51e1, + 0x694c, 0xd1ec, 0x1520, 0x080c, 0x541a, 0x0408, 0x694c, 0xa184, + 0xa000, 0x0178, 0xd1ec, 0x0140, 0xd1fc, 0x0118, 0x080c, 0x5429, + 0x0028, 0x080c, 0x5429, 0x0028, 0xd1fc, 0x0118, 0x080c, 0x51e1, + 0x0070, 0x6050, 0xa00d, 0x0130, 0x2d00, 0x200a, 0x6803, 0x0000, + 0x6052, 0x0028, 0x2d00, 0x6052, 0x604e, 0x6803, 0x0000, 0x080c, + 0x797a, 0xa006, 0x012e, 0x0005, 0x2001, 0x0005, 0x2009, 0x0000, + 0x04e8, 0x2001, 0x0028, 0x2009, 0x0000, 0x04c0, 0xa082, 0x0006, + 0x12a0, 0x2001, 0xc635, 0x2004, 0xd0ac, 0x1160, 0x60a0, 0xd0bc, + 0x1148, 0x6100, 0xd1fc, 0x0904, 0x4f9c, 0x2001, 0x0029, 0x2009, + 0x1000, 0x0420, 0x2001, 0x0028, 0x00a8, 0x2009, 0xc60c, 0x210c, + 0xd18c, 0x0118, 0x2001, 0x0004, 0x0068, 0xd184, 0x0118, 0x2001, + 0x0004, 0x0040, 0x2001, 0x0029, 0x6100, 0xd1fc, 0x0118, 0x2009, + 0x1000, 0x0060, 0x2009, 0x0000, 0x0048, 0x2001, 0x0029, 0x2009, + 0x0000, 0x0020, 0x2001, 0x0029, 0x2009, 0x0000, 0xa005, 0x012e, + 0x0005, 0x00e6, 0x0126, 0x2091, 0x8000, 0x6844, 0xa084, 0xff00, + 0xa08e, 0xff00, 0x1120, 0x2001, 0xc8d3, 0x2064, 0x0080, 0x6844, + 0x8007, 0xa084, 0x00ff, 0x2008, 0xa182, 0x00ff, 0x1698, 0xa188, + 0xc77b, 0x2104, 0xa065, 0x01d8, 0x080c, 0x56ad, 0x11d8, 0x2c70, + 0x080c, 0x952f, 0x0568, 0x2e00, 0x601a, 0x2d00, 0x6012, 0x601f, + 0x0009, 0x600b, 0x0000, 0x6844, 0xa08e, 0xff00, 0x1110, 0x600b, + 0x8000, 0x2009, 0x0100, 0x080c, 0x95b5, 0xa006, 0x00b0, 0x2001, + 0x0028, 0x0090, 0x2009, 0xc60c, 0x210c, 0xd18c, 0x0118, 0x2001, + 0x0004, 0x0038, 0xd184, 0x0118, 0x2001, 0x0004, 0x0010, 0x2001, + 0x0029, 0x0010, 0x2001, 0x0029, 0xa005, 0x012e, 0x00ee, 0x0005, + 0x2001, 0x002c, 0x0cc8, 0x00e6, 0x0126, 0x2091, 0x8000, 0x6844, + 0x8007, 0xa084, 0x00ff, 0x2008, 0xa182, 0x00ff, 0x1a04, 0x50c6, + 0xa188, 0xc77b, 0x2104, 0xa065, 0x01c0, 0x6004, 0xa084, 0x00ff, + 0xa08e, 0x0006, 0x11a8, 0x2c70, 0x080c, 0x952f, 0x05e8, 0x2e00, + 0x601a, 0x2d00, 0x6012, 0x600b, 0xffff, 0x601f, 0x000a, 0x2009, + 0x0003, 0x080c, 0x95b5, 0xa006, 0x0460, 0x2001, 0x0028, 0x0440, + 0xa082, 0x0006, 0x1298, 0x2001, 0xc635, 0x2004, 0xd0ac, 0x1158, + 0x60a0, 0xd0bc, 0x1140, 0x6100, 0xd1fc, 0x09e8, 0x2001, 0x0029, + 0x2009, 0x1000, 0x00a8, 0x2001, 0x0028, 0x0090, 0x2009, 0xc60c, + 0x210c, 0xd18c, 0x0118, 0x2001, 0x0004, 0x0050, 0xd184, 0x0118, + 0x2001, 0x0004, 0x0028, 0x2001, 0x0029, 0x0010, 0x2001, 0x0029, + 0xa005, 0x012e, 0x00ee, 0x0005, 0x2001, 0x002c, 0x0cc8, 0x00f6, + 0x00e6, 0x0126, 0x2091, 0x8000, 0x2011, 0x0000, 0x2079, 0xc600, + 0x6944, 0xa18c, 0xff00, 0x810f, 0xa182, 0x00ff, 0x1a04, 0x5198, + 0x2001, 0xc60c, 0x2004, 0xa084, 0x0003, 0x1904, 0x5186, 0x080c, + 0x52fd, 0x11a0, 0x6004, 0xa084, 0x00ff, 0xa082, 0x0006, 0x1270, + 0x6864, 0xa0c6, 0x006f, 0x0150, 0x2001, 0xc635, 0x2004, 0xd0ac, + 0x1904, 0x5181, 0x60a0, 0xd0bc, 0x1904, 0x5181, 0x6864, 0xa0c6, + 0x006f, 0x0118, 0x2008, 0x0804, 0x514a, 0x6968, 0x2140, 0xa18c, + 0xff00, 0x810f, 0x78d4, 0xd0ac, 0x1118, 0xa182, 0x0080, 0x06d0, + 0xa182, 0x00ff, 0x16b8, 0x6a70, 0x6b6c, 0x7870, 0xa306, 0x1160, + 0x7874, 0xa24e, 0x1118, 0x2208, 0x2310, 0x0460, 0xa9cc, 0xff00, + 0x1118, 0x2208, 0x2310, 0x0430, 0x080c, 0x3f2b, 0x2c70, 0x0550, + 0x2009, 0x0000, 0x2011, 0x0000, 0xa0c6, 0x4000, 0x1160, 0x0006, + 0x2e60, 0x080c, 0x559e, 0x1108, 0xc185, 0x7000, 0xd0bc, 0x0108, + 0xc18d, 0x000e, 0x0088, 0xa0c6, 0x4007, 0x1110, 0x2408, 0x0060, + 0xa0c6, 0x4008, 0x1118, 0x2708, 0x2610, 0x0030, 0xa0c6, 0x4009, + 0x1108, 0x0010, 0x2001, 0x4006, 0x6866, 0x696a, 0x6a6e, 0x2001, + 0x0030, 0x0450, 0x080c, 0x952f, 0x1138, 0x2001, 0x4005, 0x2009, + 0x0003, 0x2011, 0x0000, 0x0c80, 0x2e00, 0x601a, 0x080c, 0xafee, + 0x2d00, 0x6012, 0x601f, 0x0001, 0x6838, 0xd88c, 0x0108, 0xc0f5, + 0x683a, 0x0126, 0x2091, 0x8000, 0x080c, 0x2e0a, 0x012e, 0x2001, + 0x0000, 0x080c, 0x523f, 0x2001, 0x0002, 0x080c, 0x5251, 0x2009, + 0x0002, 0x080c, 0x95b5, 0xa006, 0xa005, 0x012e, 0x00ee, 0x00fe, + 0x0005, 0x2001, 0x0028, 0x2009, 0x0000, 0x0cb0, 0x2009, 0xc60c, + 0x210c, 0xd18c, 0x0118, 0x2001, 0x0004, 0x0038, 0xd184, 0x0118, + 0x2001, 0x0004, 0x0010, 0x2001, 0x0029, 0x2009, 0x0000, 0x0c20, + 0x2001, 0x0029, 0x2009, 0x0000, 0x08f8, 0x6944, 0x6e48, 0xa684, + 0x3fff, 0xa082, 0x4000, 0x16b8, 0xa18c, 0xff00, 0x810f, 0xa182, + 0x00ff, 0x12e0, 0xa188, 0xc77b, 0x2104, 0xa065, 0x01b8, 0x6004, + 0xa084, 0x00ff, 0xa08e, 0x0006, 0x11b0, 0x684c, 0xd0ec, 0x0120, + 0x080c, 0x5429, 0x0431, 0x0030, 0x0421, 0x684c, 0xd0fc, 0x0110, + 0x080c, 0x541a, 0x080c, 0x5467, 0xa006, 0x00c8, 0x2001, 0x0028, + 0x2009, 0x0000, 0x00a0, 0xa082, 0x0006, 0x1240, 0x6100, 0xd1fc, + 0x0d20, 0x2001, 0x0029, 0x2009, 0x1000, 0x0048, 0x2001, 0x0029, + 0x2009, 0x0000, 0x0020, 0x2001, 0x0029, 0x2009, 0x0000, 0xa005, + 0x0005, 0x0126, 0x2091, 0x8000, 0x6050, 0xa00d, 0x0138, 0x2d00, + 0x200a, 0x6803, 0x0000, 0x6052, 0x012e, 0x0005, 0x2d00, 0x6052, + 0x604e, 0x6803, 0x0000, 0x0cc0, 0x0126, 0x2091, 0x8000, 0x604c, + 0xa005, 0x0170, 0x00e6, 0x2071, 0xc927, 0x7004, 0xa086, 0x0002, + 0x0168, 0x00ee, 0x604c, 0x6802, 0x2d00, 0x604e, 0x012e, 0x0005, + 0x2d00, 0x6052, 0x604e, 0x6803, 0x0000, 0x0cc0, 0x701c, 0xac06, + 0x1d80, 0x604c, 0x2070, 0x7000, 0x6802, 0x2d00, 0x7002, 0x00ee, + 0x012e, 0x0005, 0x0126, 0x2091, 0x8000, 0x604c, 0xa06d, 0x0130, + 0x6800, 0xa005, 0x1108, 0x6052, 0x604e, 0xad05, 0x012e, 0x0005, + 0x604c, 0xa06d, 0x0130, 0x6800, 0xa005, 0x1108, 0x6052, 0x604e, + 0xad05, 0x0005, 0x6803, 0x0000, 0x6084, 0xa00d, 0x0120, 0x2d00, + 0x200a, 0x6086, 0x0005, 0x2d00, 0x6086, 0x6082, 0x0cd8, 0x0126, + 0x00c6, 0x0026, 0x2091, 0x8000, 0x6218, 0x2260, 0x6200, 0xa005, + 0x0110, 0xc285, 0x0008, 0xc284, 0x6202, 0x002e, 0x00ce, 0x012e, + 0x0005, 0x0126, 0x00c6, 0x2091, 0x8000, 0x6218, 0x2260, 0x6204, + 0x0006, 0xa086, 0x0006, 0x1180, 0x609c, 0xd0ac, 0x0168, 0x2001, + 0xc653, 0x2004, 0xd0a4, 0x0140, 0xa284, 0xff00, 0x8007, 0xa086, + 0x0007, 0x1110, 0x2011, 0x0600, 0x000e, 0xa294, 0xff00, 0xa215, + 0x6206, 0x0006, 0xa086, 0x0006, 0x1128, 0x6290, 0x82ff, 0x1110, + 0x080c, 0x1515, 0x000e, 0x00ce, 0x012e, 0x0005, 0x0126, 0x00c6, + 0x2091, 0x8000, 0x6218, 0x2260, 0x6204, 0x0006, 0xa086, 0x0006, + 0x1178, 0x609c, 0xd0a4, 0x0160, 0x2001, 0xc653, 0x2004, 0xd0ac, + 0x1138, 0xa284, 0x00ff, 0xa086, 0x0007, 0x1110, 0x2011, 0x0006, + 0x000e, 0xa294, 0x00ff, 0x8007, 0xa215, 0x6206, 0x00ce, 0x012e, + 0x0005, 0x0026, 0xa182, 0x00ff, 0x0218, 0xa085, 0x0001, 0x00b0, + 0xa190, 0xc77b, 0x2204, 0xa065, 0x1180, 0x0016, 0x00d6, 0x080c, + 0x15e1, 0x2d60, 0x00de, 0x001e, 0x0d80, 0x2c00, 0x2012, 0x60a7, + 0x0000, 0x60ab, 0x0000, 0x080c, 0x4f00, 0xa006, 0x002e, 0x0005, + 0x0126, 0x2091, 0x8000, 0x0026, 0xa182, 0x00ff, 0x0218, 0xa085, + 0x0001, 0x0480, 0x00d6, 0xa190, 0xc77b, 0x2204, 0xa06d, 0x0540, + 0x2013, 0x0000, 0x00d6, 0x00c6, 0x2d60, 0x60a4, 0xa06d, 0x0110, + 0x080c, 0x1615, 0x60a8, 0xa06d, 0x0110, 0x080c, 0x1615, 0x00ce, + 0x00de, 0x00d6, 0x00c6, 0x68bc, 0x2060, 0x8cff, 0x0168, 0x600c, + 0x0006, 0x6010, 0x2068, 0x080c, 0xac21, 0x0110, 0x080c, 0x1625, + 0x080c, 0x9585, 0x00ce, 0x0c88, 0x00ce, 0x00de, 0x080c, 0x1615, + 0x00de, 0xa006, 0x002e, 0x012e, 0x0005, 0x0016, 0xa182, 0x00ff, + 0x0218, 0xa085, 0x0001, 0x0030, 0xa188, 0xc77b, 0x2104, 0xa065, + 0x0dc0, 0xa006, 0x001e, 0x0005, 0x00d6, 0x0156, 0x0136, 0x0146, + 0x600b, 0x0000, 0x600f, 0x0000, 0x6000, 0xc08c, 0x6002, 0x080c, + 0x5ee2, 0x1558, 0x60a0, 0xa086, 0x007e, 0x2069, 0xcc90, 0x0130, + 0x2001, 0xc635, 0x2004, 0xd0ac, 0x1500, 0x0098, 0x2d04, 0xd0e4, + 0x01e0, 0x00d6, 0x2069, 0xcc8e, 0x00c6, 0x2061, 0xc8f9, 0x6810, + 0x2062, 0x6814, 0x6006, 0x6818, 0x600a, 0x681c, 0x600e, 0x00ce, + 0x00de, 0x8d69, 0x2d04, 0x2069, 0x0140, 0xa005, 0x1110, 0x2001, + 0x0001, 0x6886, 0x2069, 0xc600, 0x68a6, 0x2069, 0xcc8e, 0x6808, + 0x605e, 0x6810, 0x6062, 0x6138, 0xa10a, 0x0208, 0x603a, 0x6814, + 0x6066, 0x2099, 0xcc96, 0xac88, 0x000a, 0x21a0, 0x20a9, 0x0004, + 0x53a3, 0x2099, 0xcc9a, 0xac88, 0x0006, 0x21a0, 0x20a9, 0x0004, + 0x53a3, 0x2069, 0xccae, 0x6808, 0x606a, 0x690c, 0x616e, 0x6810, + 0x6072, 0x6818, 0x6076, 0x60a0, 0xa086, 0x007e, 0x1120, 0x2069, + 0xcc8e, 0x690c, 0x616e, 0xa182, 0x0211, 0x1218, 0x2009, 0x0008, + 0x0400, 0xa182, 0x0259, 0x1218, 0x2009, 0x0007, 0x00d0, 0xa182, + 0x02c1, 0x1218, 0x2009, 0x0006, 0x00a0, 0xa182, 0x0349, 0x1218, + 0x2009, 0x0005, 0x0070, 0xa182, 0x0421, 0x1218, 0x2009, 0x0004, + 0x0040, 0xa182, 0x0581, 0x1218, 0x2009, 0x0003, 0x0010, 0x2009, + 0x0002, 0x6192, 0x014e, 0x013e, 0x015e, 0x00de, 0x0005, 0x0016, + 0x0026, 0x00e6, 0x2071, 0xcc8d, 0x2e04, 0x6896, 0x2071, 0xcc8e, + 0x7004, 0x689a, 0x701c, 0x689e, 0x6a00, 0x2009, 0xc672, 0x210c, + 0xd0bc, 0x0120, 0xd1ec, 0x0110, 0xc2ad, 0x0008, 0xc2ac, 0xd0c4, + 0x0120, 0xd1e4, 0x0110, 0xc2bd, 0x0008, 0xc2bc, 0x6a02, 0x00ee, + 0x002e, 0x001e, 0x0005, 0x00d6, 0x0126, 0x2091, 0x8000, 0x60a4, + 0xa06d, 0x01c0, 0x6900, 0x81ff, 0x1540, 0x6a04, 0xa282, 0x0010, + 0x1648, 0xad88, 0x0004, 0x20a9, 0x0010, 0x2104, 0xa086, 0xffff, + 0x0128, 0x8108, 0x1f04, 0x53d5, 0x080c, 0x1515, 0x260a, 0x8210, + 0x6a06, 0x0098, 0x080c, 0x15fe, 0x01a8, 0x2d00, 0x60a6, 0x6803, + 0x0000, 0xad88, 0x0004, 0x20a9, 0x0010, 0x200b, 0xffff, 0x8108, + 0x1f04, 0x53ed, 0x6807, 0x0001, 0x6e12, 0xa085, 0x0001, 0x012e, + 0x00de, 0x0005, 0xa006, 0x0cd8, 0x0126, 0x2091, 0x8000, 0x00d6, + 0x60a4, 0xa00d, 0x01a0, 0x2168, 0x6800, 0xa005, 0x1160, 0x080c, + 0x5528, 0x1168, 0x200b, 0xffff, 0x6804, 0xa08a, 0x0002, 0x0218, + 0x8001, 0x6806, 0x0020, 0x080c, 0x1615, 0x60a7, 0x0000, 0x00de, + 0x012e, 0x0005, 0x0126, 0x2091, 0x8000, 0x080c, 0x5586, 0x0010, + 0x080c, 0x51e1, 0x080c, 0x54a0, 0x1dd8, 0x080c, 0x5467, 0x012e, + 0x0005, 0x00d6, 0x0126, 0x2091, 0x8000, 0x60a8, 0xa06d, 0x01c0, + 0x6950, 0x81ff, 0x1540, 0x6a54, 0xa282, 0x0010, 0x1670, 0xad88, + 0x0018, 0x20a9, 0x0010, 0x2104, 0xa086, 0xffff, 0x0128, 0x8108, + 0x1f04, 0x543b, 0x080c, 0x1515, 0x260a, 0x8210, 0x6a56, 0x0098, + 0x080c, 0x15fe, 0x01d0, 0x2d00, 0x60aa, 0x6853, 0x0000, 0xad88, + 0x0018, 0x20a9, 0x0010, 0x200b, 0xffff, 0x8108, 0x1f04, 0x5453, + 0x6857, 0x0001, 0x6e62, 0x0010, 0x080c, 0x5232, 0x0089, 0x1de0, + 0xa085, 0x0001, 0x012e, 0x00de, 0x0005, 0xa006, 0x0cd8, 0x0126, + 0x2091, 0x8000, 0x080c, 0x797a, 0x012e, 0x0005, 0xa01e, 0x0010, + 0x2019, 0x0001, 0xa00e, 0x0126, 0x2091, 0x8000, 0x604c, 0x2068, + 0x6000, 0xd0dc, 0x1170, 0x8dff, 0x01f8, 0x83ff, 0x0120, 0x6848, + 0xa606, 0x0158, 0x0030, 0x683c, 0xa406, 0x1118, 0x6840, 0xa506, + 0x0120, 0x2d08, 0x6800, 0x2068, 0x0c70, 0x080c, 0x8f60, 0x6a00, + 0x604c, 0xad06, 0x1110, 0x624e, 0x0018, 0xa180, 0x0000, 0x2202, + 0x82ff, 0x1110, 0x6152, 0x8dff, 0x012e, 0x0005, 0xa01e, 0x0010, + 0x2019, 0x0001, 0xa00e, 0x6080, 0x2068, 0x8dff, 0x01e8, 0x83ff, + 0x0120, 0x6848, 0xa606, 0x0158, 0x0030, 0x683c, 0xa406, 0x1118, + 0x6840, 0xa506, 0x0120, 0x2d08, 0x6800, 0x2068, 0x0c70, 0x6a00, + 0x6080, 0xad06, 0x1110, 0x6282, 0x0018, 0xa180, 0x0000, 0x2202, + 0x82ff, 0x1110, 0x6186, 0x8dff, 0x0005, 0xa016, 0x080c, 0x5522, + 0x1110, 0x2011, 0x0001, 0x080c, 0x556d, 0x1110, 0xa295, 0x0002, + 0x0005, 0x080c, 0x559e, 0x0118, 0x080c, 0xacd6, 0x0010, 0xa085, + 0x0001, 0x0005, 0x080c, 0x559e, 0x0118, 0x080c, 0xac66, 0x0010, + 0xa085, 0x0001, 0x0005, 0x080c, 0x559e, 0x0118, 0x080c, 0xacb9, + 0x0010, 0xa085, 0x0001, 0x0005, 0x080c, 0x559e, 0x0118, 0x080c, + 0xac82, 0x0010, 0xa085, 0x0001, 0x0005, 0x080c, 0x559e, 0x0118, + 0x080c, 0xacf2, 0x0010, 0xa085, 0x0001, 0x0005, 0x0126, 0x0006, + 0x00d6, 0x2091, 0x8000, 0x6080, 0xa06d, 0x01a0, 0x6800, 0x0006, + 0x6837, 0x0103, 0x6b4a, 0x6847, 0x0000, 0x080c, 0xae93, 0x0006, + 0x6000, 0xd0fc, 0x0110, 0x080c, 0xc462, 0x000e, 0x080c, 0x57ca, + 0x000e, 0x0c50, 0x6083, 0x0000, 0x6087, 0x0000, 0x00de, 0x000e, + 0x012e, 0x0005, 0x60a4, 0xa00d, 0x1118, 0xa085, 0x0001, 0x0005, + 0x00e6, 0x2170, 0x7000, 0xa005, 0x1168, 0x20a9, 0x0010, 0xae88, + 0x0004, 0x2104, 0xa606, 0x0130, 0x8108, 0x1f04, 0x5531, 0xa085, + 0x0001, 0x0008, 0xa006, 0x00ee, 0x0005, 0x00d6, 0x0126, 0x2091, + 0x8000, 0x60a4, 0xa06d, 0x1128, 0x080c, 0x15fe, 0x01a0, 0x2d00, + 0x60a6, 0x6803, 0x0001, 0x6807, 0x0000, 0xad88, 0x0004, 0x20a9, + 0x0010, 0x200b, 0xffff, 0x8108, 0x1f04, 0x5551, 0xa085, 0x0001, + 0x012e, 0x00de, 0x0005, 0xa006, 0x0cd8, 0x00d6, 0x0126, 0x2091, + 0x8000, 0x60a4, 0xa06d, 0x0130, 0x60a7, 0x0000, 0x080c, 0x1615, + 0xa085, 0x0001, 0x012e, 0x00de, 0x0005, 0x60a8, 0xa00d, 0x1118, + 0xa085, 0x0001, 0x0005, 0x00e6, 0x2170, 0x7050, 0xa005, 0x1160, + 0x20a9, 0x0010, 0xae88, 0x0018, 0x2104, 0xa606, 0x0128, 0x8108, + 0x1f04, 0x557c, 0xa085, 0x0001, 0x00ee, 0x0005, 0x0126, 0x2091, + 0x8000, 0x0c19, 0x1188, 0x200b, 0xffff, 0x00d6, 0x60a8, 0x2068, + 0x6854, 0xa08a, 0x0002, 0x0218, 0x8001, 0x6856, 0x0020, 0x080c, + 0x1615, 0x60ab, 0x0000, 0x00de, 0x012e, 0x0005, 0x609c, 0xd0a4, + 0x0005, 0x00f6, 0x080c, 0x5ee2, 0x01b0, 0x71b8, 0x81ff, 0x1198, + 0x71d4, 0xd19c, 0x0180, 0x2001, 0x007e, 0xa080, 0xc77b, 0x2004, + 0xa07d, 0x0148, 0x7804, 0xa084, 0x00ff, 0xa086, 0x0006, 0x1118, + 0x7800, 0xc0ed, 0x7802, 0x2079, 0xc652, 0x7804, 0xd0a4, 0x01e8, + 0x0156, 0x00c6, 0x20a9, 0x007f, 0x2009, 0x0000, 0x0016, 0x080c, + 0x52fd, 0x1168, 0x6004, 0xa084, 0xff00, 0x8007, 0xa096, 0x0004, + 0x0118, 0xa086, 0x0006, 0x1118, 0x6000, 0xc0ed, 0x6002, 0x001e, + 0x8108, 0x1f04, 0x55c6, 0x00ce, 0x015e, 0x080c, 0x56cb, 0x0120, + 0x2001, 0xc8fc, 0x200c, 0x0038, 0x2079, 0xc652, 0x7804, 0xd0a4, + 0x0130, 0x2009, 0x07d0, 0x2011, 0x55f1, 0x080c, 0x6ffa, 0x00fe, + 0x0005, 0x2011, 0x55f1, 0x080c, 0x6f71, 0x080c, 0x56cb, 0x01f0, + 0x2001, 0xc7f9, 0x2004, 0xa080, 0x0000, 0x200c, 0xc1ec, 0x2102, + 0x2001, 0xc653, 0x2004, 0xd0a4, 0x0130, 0x2009, 0x07d0, 0x2011, + 0x55f1, 0x080c, 0x6ffa, 0x00e6, 0x2071, 0xc600, 0x7073, 0x0000, + 0x7077, 0x0000, 0x080c, 0x2c28, 0x00ee, 0x04b0, 0x0156, 0x00c6, + 0x20a9, 0x007f, 0x2009, 0x0000, 0x0016, 0x080c, 0x52fd, 0x1530, + 0x6000, 0xd0ec, 0x0518, 0x0046, 0x62a0, 0xa294, 0x00ff, 0x8227, + 0xa006, 0x2009, 0x0029, 0x080c, 0xc112, 0x6000, 0xc0e5, 0xc0ec, + 0x6002, 0x6004, 0xa084, 0x00ff, 0xa085, 0x0700, 0x6006, 0x2019, + 0x0029, 0x080c, 0x7ada, 0x0076, 0x2039, 0x0000, 0x080c, 0x79d2, + 0x2009, 0x0000, 0x080c, 0xbe79, 0x007e, 0x004e, 0x001e, 0x8108, + 0x1f04, 0x561c, 0x00ce, 0x015e, 0x0005, 0x00c6, 0x6018, 0x2060, + 0x6000, 0xc0ec, 0x6002, 0x00ce, 0x0005, 0x00c6, 0x00d6, 0x080c, + 0x15e1, 0x2d60, 0x0508, 0x2009, 0x00ff, 0x60a7, 0x0000, 0x60ab, + 0x0000, 0x080c, 0x4f00, 0x6007, 0x0006, 0x6013, 0x00ff, 0x6017, + 0xffff, 0x606f, 0x0200, 0x606c, 0x6093, 0x0002, 0x60bb, 0x0520, + 0x60a3, 0x00ff, 0x60b7, 0x0000, 0x60af, 0x0000, 0x2c08, 0x2001, + 0xc8d3, 0x2102, 0xa085, 0x0001, 0x00de, 0x00ce, 0x0005, 0x7818, + 0x2004, 0xd0ac, 0x0005, 0x7818, 0x2004, 0xd0bc, 0x0005, 0x0156, + 0x00e6, 0x00d6, 0x00c6, 0x0026, 0x20a9, 0x00ff, 0x2009, 0x0000, + 0x0016, 0x080c, 0x52fd, 0x1178, 0x2c70, 0x70ac, 0xa005, 0x0158, + 0x2060, 0x620c, 0x0026, 0x6010, 0x2068, 0x080c, 0x75de, 0x002e, + 0x2260, 0x82ff, 0x1db0, 0x001e, 0x8108, 0x1f04, 0x5690, 0x002e, + 0x00ce, 0x00de, 0x00ee, 0x015e, 0x0005, 0x0006, 0x0016, 0x0026, + 0x6004, 0xa08c, 0x00ff, 0xa196, 0x0006, 0x0188, 0xa196, 0x0004, + 0x0170, 0xa196, 0x0005, 0x0158, 0xa08c, 0xff00, 0x810f, 0xa196, + 0x0006, 0x0128, 0xa196, 0x0004, 0x0110, 0xa196, 0x0005, 0x002e, + 0x001e, 0x000e, 0x0005, 0x00f6, 0x2001, 0xc7f9, 0x2004, 0xa07d, + 0x0110, 0x7800, 0xd0ec, 0x00fe, 0x0005, 0x0126, 0x0026, 0x2091, + 0x8000, 0x0006, 0x62a0, 0xa290, 0xc77b, 0x2204, 0xac06, 0x190c, + 0x1515, 0x000e, 0x6200, 0xa005, 0x0110, 0xc2fd, 0x0008, 0xc2fc, + 0x6202, 0x002e, 0x012e, 0x0005, 0x2011, 0xc635, 0x2204, 0xd0cc, + 0x0138, 0x2001, 0xc8fa, 0x200c, 0x2011, 0x56f9, 0x080c, 0x6ffa, + 0x0005, 0x2011, 0x56f9, 0x080c, 0x6f71, 0x2011, 0xc635, 0x2204, + 0xc0cc, 0x2012, 0x0005, 0x2071, 0xc734, 0x7003, 0x0001, 0x7007, + 0x0000, 0x7013, 0x0000, 0x7017, 0x0000, 0x701b, 0x0000, 0x701f, + 0x0000, 0x700b, 0x0000, 0x704b, 0x0001, 0x704f, 0x0000, 0x705b, + 0x0020, 0x705f, 0x0040, 0x707f, 0x0000, 0x2071, 0xc8c3, 0x7003, + 0xc734, 0x7007, 0x0000, 0x700b, 0x0000, 0x700f, 0xc8a3, 0x7013, + 0x0020, 0x7017, 0x0040, 0x7037, 0x0000, 0x0005, 0x0016, 0x00e6, + 0x2071, 0xc87b, 0xa00e, 0x7186, 0x718a, 0x7097, 0x0001, 0x2001, + 0xc653, 0x2004, 0xd0fc, 0x1150, 0x2001, 0xc653, 0x2004, 0xa00e, + 0xd09c, 0x0108, 0x8108, 0x7102, 0x0804, 0x5794, 0x2001, 0xc672, + 0x200c, 0xa184, 0x000f, 0x2009, 0xc673, 0x210c, 0x0002, 0x573c, + 0x576f, 0x5776, 0x5780, 0x5785, 0x573c, 0x573c, 0x573c, 0x575f, + 0x573c, 0x573c, 0x573c, 0x573c, 0x573c, 0x573c, 0x573c, 0x7003, + 0x0004, 0x0136, 0x0146, 0x0156, 0x2099, 0xc676, 0x20a1, 0xc8cc, + 0x20a9, 0x0004, 0x53a3, 0x015e, 0x014e, 0x013e, 0x0428, 0x708f, + 0x0005, 0x7007, 0x0122, 0x2001, 0x0002, 0x0030, 0x708f, 0x0002, + 0x7007, 0x0121, 0x2001, 0x0003, 0x7002, 0x7097, 0x0001, 0x0088, + 0x7007, 0x0122, 0x2001, 0x0002, 0x0020, 0x7007, 0x0121, 0x2001, + 0x0003, 0x7002, 0xa006, 0x7096, 0x708e, 0xa184, 0xff00, 0x8007, + 0x709a, 0xa184, 0x00ff, 0x7092, 0x00ee, 0x001e, 0x0005, 0x00e6, + 0x2071, 0xc734, 0x684c, 0xa005, 0x1130, 0x7028, 0xc085, 0x702a, + 0xa085, 0x0001, 0x0428, 0x6a60, 0x7236, 0x6b64, 0x733a, 0x6868, + 0x703e, 0x7076, 0x686c, 0x7042, 0x707a, 0x684c, 0x702e, 0x6844, + 0x7032, 0x2009, 0x000d, 0x200a, 0x700b, 0x0000, 0x8007, 0x8006, + 0x8006, 0xa08c, 0x003f, 0xa084, 0xffc0, 0xa210, 0x2100, 0xa319, + 0x726e, 0x7372, 0x7028, 0xc084, 0x702a, 0x7007, 0x0001, 0xa006, + 0x00ee, 0x0005, 0x0156, 0x00e6, 0x0026, 0x6838, 0xd0fc, 0x1904, + 0x5823, 0x6804, 0xa00d, 0x0188, 0x00d6, 0x2071, 0xc600, 0xa016, + 0x702c, 0x2168, 0x6904, 0x206a, 0x8210, 0x2d00, 0x81ff, 0x1dc8, + 0x702e, 0x70b4, 0xa200, 0x70b6, 0x00de, 0x2071, 0xc734, 0x701c, + 0xa005, 0x1904, 0x5833, 0x20a9, 0x0032, 0x0f04, 0x5831, 0x0e04, + 0x57ed, 0x2071, 0xc87b, 0x7200, 0x82ff, 0x05d8, 0x6934, 0xa186, + 0x0103, 0x1904, 0x5841, 0x6948, 0x6844, 0xa105, 0x1540, 0x2009, + 0x8020, 0x2200, 0x0002, 0x5831, 0x5808, 0x58a8, 0x58b5, 0x5831, + 0x2071, 0x0000, 0x20a9, 0x0032, 0x0f04, 0x5831, 0x7018, 0xd084, + 0x1dd8, 0x7122, 0x683c, 0x7026, 0x6840, 0x702a, 0x701b, 0x0001, + 0x2091, 0x4080, 0x2071, 0xc600, 0x702c, 0x206a, 0x2d00, 0x702e, + 0x70b4, 0x8000, 0x70b6, 0x002e, 0x00ee, 0x015e, 0x0005, 0x6844, + 0xa086, 0x0100, 0x1130, 0x6868, 0xa005, 0x1118, 0x2009, 0x8020, + 0x0880, 0x2071, 0xc734, 0x2d08, 0x206b, 0x0000, 0x7010, 0x8000, + 0x7012, 0x7018, 0xa06d, 0x711a, 0x0110, 0x6902, 0x0008, 0x711e, + 0x0c10, 0xa18c, 0x00ff, 0xa186, 0x0013, 0x01e0, 0xa186, 0x001b, + 0x01c8, 0xa186, 0x0023, 0x01e8, 0xa186, 0x0017, 0x0130, 0xa186, + 0x001e, 0x0118, 0xa18e, 0x001f, 0x19e0, 0x684c, 0xd0cc, 0x09c8, + 0x6850, 0xa084, 0x00ff, 0xa086, 0x0001, 0x1998, 0x2009, 0x8021, + 0x0804, 0x5801, 0x6848, 0xa005, 0x1960, 0x2009, 0x8022, 0x0804, + 0x5801, 0x2071, 0x0000, 0x7018, 0xd084, 0x1918, 0x00e6, 0x2071, + 0xc682, 0x7140, 0x00ee, 0x6838, 0xa102, 0x0a04, 0x5831, 0x684c, + 0xa005, 0x1158, 0x00e6, 0x2071, 0xc682, 0x7004, 0x00ee, 0xd08c, + 0x1904, 0x5831, 0x2001, 0x8024, 0x0040, 0x6848, 0xd084, 0x1118, + 0x2001, 0x8023, 0x0010, 0x2001, 0x8027, 0x7022, 0x6840, 0x7026, + 0x683c, 0x702a, 0x6850, 0x702e, 0x0026, 0x0036, 0x6b38, 0x2e10, + 0xa290, 0x0072, 0x2d00, 0xa080, 0x0015, 0x200c, 0x2112, 0x8000, + 0x200c, 0x8210, 0x8319, 0x1dd0, 0x003e, 0x002e, 0x0804, 0x5816, + 0x7084, 0x8008, 0xa092, 0x001e, 0x1a04, 0x5831, 0x7186, 0xae90, + 0x0003, 0xa210, 0x683c, 0x2012, 0x0080, 0x7084, 0x8008, 0xa092, + 0x000f, 0x1a04, 0x5831, 0x7186, 0xae90, 0x0003, 0x8003, 0xa210, + 0x683c, 0x2012, 0x8210, 0x6840, 0x2012, 0x7088, 0xa10a, 0x0a04, + 0x581a, 0x718c, 0x7084, 0xa10a, 0x0a04, 0x581a, 0x2071, 0x0000, + 0x7018, 0xd084, 0x1904, 0x581a, 0x2071, 0xc87b, 0x7000, 0xa086, + 0x0002, 0x1150, 0x080c, 0x5b35, 0x2071, 0x0000, 0x701b, 0x0001, + 0x2091, 0x4080, 0x0804, 0x581a, 0x080c, 0x5b5f, 0x2071, 0x0000, + 0x701b, 0x0001, 0x2091, 0x4080, 0x0804, 0x581a, 0x0006, 0x684c, + 0x0006, 0x6837, 0x0103, 0x20a9, 0x001c, 0xad80, 0x0011, 0x20a0, + 0x2001, 0x0000, 0x40a4, 0x000e, 0xa084, 0x00ff, 0x684e, 0x000e, + 0x684a, 0x6952, 0x0005, 0x2071, 0xc734, 0x7004, 0x0002, 0x5911, + 0x5922, 0x5b20, 0x5b21, 0x5b2e, 0x5b34, 0x5912, 0x5b11, 0x5aa7, + 0x5afd, 0x0005, 0x0126, 0x2091, 0x8000, 0x0e04, 0x5921, 0x2009, + 0x000d, 0x7030, 0x200a, 0x2091, 0x4080, 0x7007, 0x0001, 0x700b, + 0x0000, 0x012e, 0x2069, 0xc93a, 0x683c, 0xa005, 0x03f8, 0x11f0, + 0x0126, 0x2091, 0x8000, 0x2069, 0x0000, 0x6934, 0x2001, 0xc740, + 0x2004, 0xa10a, 0x0170, 0x0e04, 0x5945, 0x2069, 0x0000, 0x6818, + 0xd084, 0x1158, 0x2009, 0x8040, 0x6922, 0x681b, 0x0001, 0x2091, + 0x4080, 0x2069, 0xc93a, 0x683f, 0xffff, 0x012e, 0x2069, 0xc600, + 0x6848, 0x6968, 0xa102, 0x2069, 0xc87b, 0x688a, 0x6984, 0x701c, + 0xa06d, 0x0120, 0x81ff, 0x0904, 0x599b, 0x00a0, 0x81ff, 0x0904, + 0x5a61, 0x2071, 0xc87b, 0x7184, 0x7088, 0xa10a, 0x1258, 0x7190, + 0x2071, 0xc93a, 0x7038, 0xa005, 0x0128, 0x1b04, 0x5a61, 0x713a, + 0x0804, 0x5a61, 0x2071, 0xc87b, 0x718c, 0x0126, 0x2091, 0x8000, + 0x7084, 0xa10a, 0x0a04, 0x5a7c, 0x0e04, 0x5a1d, 0x2071, 0x0000, + 0x7018, 0xd084, 0x1904, 0x5a1d, 0x2001, 0xffff, 0x2071, 0xc93a, + 0x703a, 0x2071, 0xc87b, 0x7000, 0xa086, 0x0002, 0x1150, 0x080c, + 0x5b35, 0x2071, 0x0000, 0x701b, 0x0001, 0x2091, 0x4080, 0x0804, + 0x5a1d, 0x080c, 0x5b5f, 0x2071, 0x0000, 0x701b, 0x0001, 0x2091, + 0x4080, 0x0804, 0x5a1d, 0x2071, 0xc87b, 0x7000, 0xa005, 0x0904, + 0x5a43, 0x6934, 0xa186, 0x0103, 0x1904, 0x5a20, 0x684c, 0xd0bc, + 0x1904, 0x5a43, 0x6948, 0x6844, 0xa105, 0x1904, 0x5a38, 0x2009, + 0x8020, 0x2071, 0xc87b, 0x7000, 0x0002, 0x5a43, 0x5a03, 0x59db, + 0x59ed, 0x59ba, 0x0136, 0x0146, 0x0156, 0x2099, 0xc676, 0x20a1, + 0xc8cc, 0x20a9, 0x0004, 0x53a3, 0x015e, 0x014e, 0x013e, 0x2071, + 0xc8c3, 0xad80, 0x000f, 0x700e, 0x7013, 0x0002, 0x7007, 0x0002, + 0x700b, 0x0000, 0x2e10, 0x080c, 0x1649, 0x2071, 0xc734, 0x7007, + 0x0009, 0x0804, 0x5a61, 0x7084, 0x8008, 0xa092, 0x001e, 0x1a04, + 0x5a61, 0xae90, 0x0003, 0xa210, 0x683c, 0x2012, 0x7186, 0x2071, + 0xc734, 0x080c, 0x5bb6, 0x0804, 0x5a61, 0x7084, 0x8008, 0xa092, + 0x000f, 0x1a04, 0x5a61, 0xae90, 0x0003, 0x8003, 0xa210, 0x683c, + 0x2012, 0x8210, 0x6840, 0x2012, 0x7186, 0x2071, 0xc734, 0x080c, + 0x5bb6, 0x0804, 0x5a61, 0x0126, 0x2091, 0x8000, 0x0e04, 0x5a1d, + 0x2071, 0x0000, 0x7018, 0xd084, 0x1180, 0x7122, 0x683c, 0x7026, + 0x6840, 0x702a, 0x701b, 0x0001, 0x2091, 0x4080, 0x012e, 0x2071, + 0xc734, 0x080c, 0x5bb6, 0x0804, 0x5a61, 0x012e, 0x0804, 0x5a61, + 0xa18c, 0x00ff, 0xa186, 0x0017, 0x0130, 0xa186, 0x001e, 0x0118, + 0xa18e, 0x001f, 0x11c0, 0x684c, 0xd0cc, 0x01a8, 0x6850, 0xa084, + 0x00ff, 0xa086, 0x0001, 0x1178, 0x2009, 0x8021, 0x0804, 0x59b1, + 0x6844, 0xa086, 0x0100, 0x1138, 0x6868, 0xa005, 0x1120, 0x2009, + 0x8020, 0x0804, 0x59b1, 0x2071, 0xc734, 0x080c, 0x5bc8, 0x01c8, + 0x2071, 0xc734, 0x700f, 0x0001, 0x6934, 0xa184, 0x00ff, 0xa086, + 0x0003, 0x1130, 0x810f, 0xa18c, 0x00ff, 0x8101, 0x0108, 0x710e, + 0x7007, 0x0003, 0x080c, 0x5be1, 0x7050, 0xa086, 0x0100, 0x0904, + 0x5b21, 0x0126, 0x2091, 0x8000, 0x2071, 0xc734, 0x7008, 0xa086, + 0x0001, 0x1180, 0x0e04, 0x5a7a, 0x2009, 0x000d, 0x7030, 0x200a, + 0x2091, 0x4080, 0x700b, 0x0000, 0x7004, 0xa086, 0x0006, 0x1110, + 0x7007, 0x0001, 0x012e, 0x0005, 0x2071, 0xc734, 0x080c, 0x5bc8, + 0x0518, 0x2071, 0xc87b, 0x7084, 0x700a, 0x20a9, 0x0020, 0x2099, + 0xc87c, 0x20a1, 0xc8a3, 0x53a3, 0x7087, 0x0000, 0x2071, 0xc734, + 0x2069, 0xc8c3, 0x706c, 0x6826, 0x7070, 0x682a, 0x7074, 0x682e, + 0x7078, 0x6832, 0x2d10, 0x080c, 0x1649, 0x7007, 0x0008, 0x2001, + 0xffff, 0x2071, 0xc93a, 0x703a, 0x012e, 0x0804, 0x5a61, 0x2069, + 0xc8c3, 0x6808, 0xa08e, 0x0000, 0x0904, 0x5afc, 0xa08e, 0x0200, + 0x0904, 0x5afa, 0xa08e, 0x0100, 0x1904, 0x5afc, 0x0126, 0x2091, + 0x8000, 0x0e04, 0x5af8, 0x2069, 0x0000, 0x6818, 0xd084, 0x15c0, + 0x702c, 0x7130, 0x8108, 0xa102, 0x0230, 0xa00e, 0x7034, 0x706e, + 0x7038, 0x7072, 0x0048, 0x706c, 0xa080, 0x0040, 0x706e, 0x1220, + 0x7070, 0xa081, 0x0000, 0x7072, 0x7132, 0x6936, 0x700b, 0x0000, + 0x2001, 0xc8a0, 0x2004, 0xa005, 0x1190, 0x6934, 0x2069, 0xc87b, + 0x689c, 0x699e, 0x2069, 0xc93a, 0xa102, 0x1118, 0x683c, 0xa005, + 0x1368, 0x2001, 0xc8a1, 0x200c, 0x810d, 0x693e, 0x0038, 0x2009, + 0x8040, 0x6922, 0x681b, 0x0001, 0x2091, 0x4080, 0x7007, 0x0001, + 0x012e, 0x0010, 0x7007, 0x0005, 0x0005, 0x2001, 0xc8c5, 0x2004, + 0xa08e, 0x0100, 0x1128, 0x7007, 0x0001, 0x080c, 0x5bb6, 0x0005, + 0xa08e, 0x0000, 0x0de0, 0xa08e, 0x0200, 0x1dc8, 0x7007, 0x0005, + 0x0005, 0x701c, 0xa06d, 0x0158, 0x080c, 0x5bc8, 0x0140, 0x7007, + 0x0003, 0x080c, 0x5be1, 0x7050, 0xa086, 0x0100, 0x0110, 0x0005, + 0x0005, 0x7050, 0xa09e, 0x0100, 0x1118, 0x7007, 0x0004, 0x0030, + 0xa086, 0x0200, 0x1110, 0x7007, 0x0005, 0x0005, 0x080c, 0x5b84, + 0x7006, 0x080c, 0x5bb6, 0x0005, 0x0005, 0x00e6, 0x0156, 0x2071, + 0xc87b, 0x7184, 0x81ff, 0x0500, 0xa006, 0x7086, 0xae80, 0x0003, + 0x2071, 0x0000, 0x21a8, 0x2014, 0x7226, 0x8000, 0x0f04, 0x5b59, + 0x2014, 0x722a, 0x8000, 0x0f04, 0x5b59, 0x2014, 0x722e, 0x8000, + 0x0f04, 0x5b59, 0x2014, 0x723a, 0x8000, 0x0f04, 0x5b59, 0x2014, + 0x723e, 0xa180, 0x8030, 0x7022, 0x015e, 0x00ee, 0x0005, 0x00e6, + 0x0156, 0x2071, 0xc87b, 0x7184, 0x81ff, 0x01d8, 0xa006, 0x7086, + 0xae80, 0x0003, 0x2071, 0x0000, 0x21a8, 0x2014, 0x7226, 0x8000, + 0x2014, 0x722a, 0x8000, 0x0f04, 0x5b7b, 0x2014, 0x723a, 0x8000, + 0x2014, 0x723e, 0x0018, 0x2001, 0x8020, 0x0010, 0x2001, 0x8042, + 0x7022, 0x015e, 0x00ee, 0x0005, 0x702c, 0x7130, 0x8108, 0xa102, + 0x0230, 0xa00e, 0x7034, 0x706e, 0x7038, 0x7072, 0x0048, 0x706c, + 0xa080, 0x0040, 0x706e, 0x1220, 0x7070, 0xa081, 0x0000, 0x7072, + 0x7132, 0x700c, 0x8001, 0x700e, 0x1180, 0x0126, 0x2091, 0x8000, + 0x0e04, 0x5bb0, 0x2001, 0x000d, 0x2102, 0x2091, 0x4080, 0x2001, + 0x0001, 0x700b, 0x0000, 0x012e, 0x0005, 0x2001, 0x0007, 0x0005, + 0x2001, 0x0006, 0x700b, 0x0001, 0x012e, 0x0005, 0x701c, 0xa06d, + 0x0170, 0x0126, 0x2091, 0x8000, 0x7010, 0x8001, 0x7012, 0x2d04, + 0x701e, 0xa005, 0x1108, 0x701a, 0x012e, 0x080c, 0x1615, 0x0005, + 0x2019, 0x000d, 0x2304, 0x230c, 0xa10e, 0x0130, 0x2304, 0x230c, + 0xa10e, 0x0110, 0xa006, 0x0060, 0x732c, 0x8319, 0x7130, 0xa102, + 0x1118, 0x2300, 0xa005, 0x0020, 0x0210, 0xa302, 0x0008, 0x8002, + 0x0005, 0x2d00, 0x7026, 0xa080, 0x000d, 0x7056, 0x7053, 0x0000, + 0x0126, 0x2091, 0x8000, 0x2009, 0xc959, 0x2104, 0xc08d, 0x200a, + 0x012e, 0x080c, 0x1661, 0x0005, 0x708c, 0xa08a, 0x0029, 0x1220, + 0xa082, 0x001d, 0x0033, 0x0010, 0x080c, 0x1515, 0x6027, 0x1e00, + 0x0005, 0x5cef, 0x5c6a, 0x5c82, 0x5cbf, 0x5ce0, 0x5d1a, 0x5d2c, + 0x5c82, 0x5d06, 0x5c0e, 0x5c3c, 0x5c0d, 0x0005, 0x00d6, 0x2069, + 0x0200, 0x6804, 0xa005, 0x1180, 0x6808, 0xa005, 0x1518, 0x708f, + 0x0028, 0x2069, 0xc90c, 0x2d04, 0x7002, 0x080c, 0x5fe4, 0x6028, + 0xa085, 0x0600, 0x602a, 0x00b0, 0x708f, 0x0028, 0x2069, 0xc90c, + 0x2d04, 0x7002, 0x6028, 0xa085, 0x0600, 0x602a, 0x00e6, 0x0036, + 0x0046, 0x0056, 0x2071, 0xc96a, 0x080c, 0x1e94, 0x005e, 0x004e, + 0x003e, 0x00ee, 0x00de, 0x0005, 0x00d6, 0x2069, 0x0200, 0x6804, + 0xa005, 0x1180, 0x6808, 0xa005, 0x1518, 0x708f, 0x0028, 0x2069, + 0xc90c, 0x2d04, 0x7002, 0x080c, 0x6071, 0x6028, 0xa085, 0x0600, + 0x602a, 0x00b0, 0x708f, 0x0028, 0x2069, 0xc90c, 0x2d04, 0x7002, + 0x6028, 0xa085, 0x0600, 0x602a, 0x00e6, 0x0036, 0x0046, 0x0056, + 0x2071, 0xc96a, 0x080c, 0x1e94, 0x005e, 0x004e, 0x003e, 0x00ee, + 0x00de, 0x0005, 0x6803, 0x0090, 0x6124, 0xd1e4, 0x1190, 0x080c, + 0x5d97, 0xd1d4, 0x1160, 0xd1dc, 0x1138, 0xd1cc, 0x0150, 0x708f, + 0x0020, 0x080c, 0x5d97, 0x0028, 0x708f, 0x001d, 0x0010, 0x708f, + 0x001f, 0x0005, 0x6803, 0x0088, 0x6124, 0xd1cc, 0x1590, 0xd1dc, + 0x1568, 0xd1e4, 0x1540, 0xa184, 0x1e00, 0x1580, 0x60e3, 0x0001, + 0x600c, 0xc0b4, 0x600e, 0x080c, 0x5f12, 0x080c, 0x25c4, 0x0156, + 0x6803, 0x0100, 0x20a9, 0x0014, 0x6804, 0xd0dc, 0x1118, 0x1f04, + 0x5c9c, 0x0048, 0x20a9, 0x0014, 0x6803, 0x0080, 0x6804, 0xd0d4, + 0x1130, 0x1f04, 0x5ca6, 0x080c, 0x5f33, 0x015e, 0x0078, 0x015e, + 0x708f, 0x0028, 0x0058, 0x708f, 0x001e, 0x0040, 0x708f, 0x001d, + 0x0028, 0x708f, 0x0020, 0x0010, 0x708f, 0x001f, 0x0005, 0x60e3, + 0x0001, 0x600c, 0xc0b4, 0x600e, 0x080c, 0x5f12, 0x080c, 0x25c4, + 0x6803, 0x0080, 0x6124, 0xd1d4, 0x1180, 0xd1dc, 0x1158, 0xd1e4, + 0x1130, 0xa184, 0x1e00, 0x1158, 0x708f, 0x0028, 0x0040, 0x708f, + 0x001e, 0x0028, 0x708f, 0x001d, 0x0010, 0x708f, 0x001f, 0x0005, + 0x6803, 0x00a0, 0x6124, 0xd1dc, 0x1138, 0xd1e4, 0x0138, 0x080c, + 0x1ed7, 0x708f, 0x001e, 0x0010, 0x708f, 0x001d, 0x0005, 0x080c, + 0x5e09, 0x6124, 0xd1dc, 0x1188, 0x080c, 0x5d97, 0x0016, 0x080c, + 0x1ed7, 0x001e, 0xd1d4, 0x1128, 0xd1e4, 0x0138, 0x708f, 0x001e, + 0x0020, 0x708f, 0x001f, 0x080c, 0x5d97, 0x0005, 0x6803, 0x00a0, + 0x6124, 0xd1d4, 0x1160, 0xd1cc, 0x1150, 0xd1dc, 0x1128, 0xd1e4, + 0x0140, 0x708f, 0x001e, 0x0028, 0x708f, 0x001d, 0x0010, 0x708f, + 0x0021, 0x0005, 0x080c, 0x5e09, 0x6124, 0xd1d4, 0x1150, 0xd1dc, + 0x1128, 0xd1e4, 0x0140, 0x708f, 0x001e, 0x0028, 0x708f, 0x001d, + 0x0010, 0x708f, 0x001f, 0x0005, 0x6803, 0x0090, 0x6124, 0xd1d4, + 0x1178, 0xd1cc, 0x1150, 0xd1dc, 0x1128, 0xd1e4, 0x0158, 0x708f, + 0x001e, 0x0040, 0x708f, 0x001d, 0x0028, 0x708f, 0x0020, 0x0010, + 0x708f, 0x001f, 0x0005, 0x0016, 0x00c6, 0x00d6, 0x00e6, 0x0126, + 0x2061, 0x0100, 0x2069, 0x0140, 0x2071, 0xc600, 0x2091, 0x8000, + 0x080c, 0x5ee2, 0x11e8, 0x2001, 0xc60c, 0x200c, 0xd1b4, 0x01c0, + 0xc1b4, 0x2102, 0x6027, 0x0200, 0xe000, 0xe000, 0x6024, 0xd0cc, + 0x0158, 0x6803, 0x00a0, 0x2001, 0xc8e6, 0x2003, 0x0001, 0x2001, + 0xc600, 0x2003, 0x0001, 0x0428, 0x6028, 0xc0cd, 0x602a, 0x0408, + 0x080c, 0x5efe, 0x0150, 0x080c, 0x5ef4, 0x1138, 0x2001, 0x0001, + 0x080c, 0x2933, 0x080c, 0x5eb9, 0x00a0, 0x080c, 0x5e06, 0x0178, + 0x2001, 0x0001, 0x080c, 0x2933, 0x708c, 0xa086, 0x001e, 0x0120, + 0x708c, 0xa086, 0x0022, 0x1118, 0x708f, 0x0025, 0x0010, 0x708f, + 0x0021, 0x012e, 0x00ee, 0x00de, 0x00ce, 0x001e, 0x0005, 0x0026, + 0x2011, 0x5da8, 0x080c, 0x7034, 0x002e, 0x0016, 0x0026, 0x2009, + 0x0064, 0x2011, 0x5da8, 0x080c, 0x702b, 0x002e, 0x001e, 0x0005, + 0x00e6, 0x00f6, 0x0016, 0x080c, 0x8b9e, 0x2071, 0xc600, 0x080c, + 0x5d43, 0x001e, 0x00fe, 0x00ee, 0x0005, 0x0016, 0x0026, 0x0036, + 0x00c6, 0x00d6, 0x00e6, 0x00f6, 0x0126, 0x080c, 0x8b9e, 0x2061, + 0x0100, 0x2069, 0x0140, 0x2071, 0xc600, 0x2091, 0x8000, 0x6028, + 0xc09c, 0x602a, 0x2011, 0x0003, 0x080c, 0x8eb7, 0x2011, 0x0002, + 0x080c, 0x8ec1, 0x080c, 0x8d97, 0x080c, 0x6fe8, 0x0036, 0x2019, + 0x0000, 0x080c, 0x8e22, 0x003e, 0x60e3, 0x0000, 0x080c, 0xc508, + 0x080c, 0xc523, 0x2001, 0xc600, 0x2003, 0x0004, 0x6027, 0x0008, + 0x080c, 0x12dd, 0x2001, 0x0001, 0x080c, 0x2933, 0x012e, 0x00fe, + 0x00ee, 0x00de, 0x00ce, 0x003e, 0x002e, 0x001e, 0x0005, 0x2001, + 0xc600, 0x2004, 0xa086, 0x0004, 0x0140, 0x2001, 0xc8e5, 0x2003, + 0xaaaa, 0x2001, 0xc8e6, 0x2003, 0x0000, 0x0005, 0x6020, 0xd09c, + 0x0005, 0x6800, 0xa086, 0x00c0, 0x0160, 0x6803, 0x00c0, 0x0156, + 0x20a9, 0x002d, 0x1d04, 0x5e12, 0x2091, 0x6000, 0x1f04, 0x5e12, + 0x015e, 0x0005, 0x00c6, 0x00d6, 0x00e6, 0x2061, 0x0100, 0x2069, + 0x0140, 0x2071, 0xc600, 0x2001, 0xc8e6, 0x200c, 0xa186, 0x0000, + 0x0158, 0xa186, 0x0001, 0x0158, 0xa186, 0x0002, 0x0158, 0xa186, + 0x0003, 0x0158, 0x0804, 0x5ea7, 0x708f, 0x0022, 0x0040, 0x708f, + 0x0021, 0x0028, 0x708f, 0x0023, 0x0020, 0x708f, 0x0024, 0x6043, + 0x0000, 0x60e3, 0x0000, 0x6887, 0x0001, 0x2001, 0x0001, 0x080c, + 0x29e2, 0x0026, 0x2011, 0x0003, 0x080c, 0x8eb7, 0x2011, 0x0002, + 0x080c, 0x8ec1, 0x080c, 0x8d97, 0x0036, 0x2019, 0x0000, 0x080c, + 0x8e22, 0x003e, 0x002e, 0x7000, 0xa08e, 0x0004, 0x0118, 0x602b, + 0x0028, 0x0010, 0x602b, 0x0020, 0x0156, 0x0126, 0x2091, 0x8000, + 0x20a9, 0x0005, 0x6024, 0xd0ac, 0x0120, 0x012e, 0x015e, 0x0804, + 0x5eb5, 0x6800, 0xa084, 0x00a0, 0xc0bd, 0x6802, 0x6904, 0xd1d4, + 0x1130, 0x6803, 0x0100, 0x1f04, 0x5e6a, 0x080c, 0x5f33, 0x012e, + 0x015e, 0x080c, 0x5ef4, 0x01a8, 0x6044, 0xa005, 0x0168, 0x6050, + 0x0006, 0xa085, 0x0020, 0x6052, 0x080c, 0x5f33, 0xa006, 0x8001, + 0x1df0, 0x000e, 0x6052, 0x0028, 0x6804, 0xd0d4, 0x1110, 0x080c, + 0x5f33, 0x0016, 0x0026, 0x2009, 0x00c8, 0x2011, 0x5db5, 0x080c, + 0x6ffa, 0x002e, 0x001e, 0x2001, 0xc8e6, 0x2003, 0x0004, 0x080c, + 0x5bf4, 0x080c, 0x5ef4, 0x0148, 0x6804, 0xd0d4, 0x1130, 0xd0dc, + 0x1100, 0x2001, 0xc8e6, 0x2003, 0x0000, 0x00ee, 0x00de, 0x00ce, + 0x0005, 0x00c6, 0x00d6, 0x00e6, 0x2061, 0x0100, 0x2069, 0x0140, + 0x2071, 0xc600, 0x2001, 0xc8e5, 0x2003, 0x0000, 0x2001, 0xc8d6, + 0x2003, 0x0000, 0x708f, 0x0000, 0x60e3, 0x0000, 0x6887, 0x0000, + 0x2001, 0x0000, 0x080c, 0x29e2, 0x6803, 0x0000, 0x6043, 0x0090, + 0x6043, 0x0010, 0x6027, 0xffff, 0x602b, 0x182f, 0x00ee, 0x00de, + 0x00ce, 0x0005, 0x0006, 0x2001, 0xc8e5, 0x2004, 0xa086, 0xaaaa, + 0x000e, 0x0005, 0x0006, 0x2001, 0xc672, 0x2004, 0xa084, 0x0030, + 0xa086, 0x0000, 0x000e, 0x0005, 0x0006, 0x2001, 0xc672, 0x2004, + 0xa084, 0x0030, 0xa086, 0x0030, 0x000e, 0x0005, 0x0006, 0x2001, + 0xc672, 0x2004, 0xa084, 0x0030, 0xa086, 0x0010, 0x000e, 0x0005, + 0x0006, 0x2001, 0xc672, 0x2004, 0xa084, 0x0030, 0xa086, 0x0020, + 0x000e, 0x0005, 0x2001, 0xc60c, 0x2004, 0xd0a4, 0x0170, 0x080c, + 0x2a02, 0x0036, 0x0016, 0x2009, 0x0000, 0x2019, 0x0028, 0x080c, + 0x2ddd, 0x001e, 0x003e, 0xa006, 0x0009, 0x0005, 0x00e6, 0x2071, + 0xc60c, 0x2e04, 0x0118, 0xa085, 0x0010, 0x0010, 0xa084, 0xffef, + 0x2072, 0x00ee, 0x0005, 0x6050, 0x0006, 0x60f0, 0x0006, 0x60ec, + 0x0006, 0x600c, 0x0006, 0x6004, 0x0006, 0x6028, 0x0006, 0x602f, + 0x0100, 0x602f, 0x0000, 0x602f, 0x0040, 0x602f, 0x0000, 0x000e, + 0x602a, 0x000e, 0x6006, 0x000e, 0x600e, 0x000e, 0x60ee, 0x000e, + 0x60f2, 0x60e3, 0x0000, 0x6887, 0x0001, 0x2001, 0x0001, 0x080c, + 0x29e2, 0x6800, 0xa084, 0x00a0, 0xc0bd, 0x6802, 0x6803, 0x00a0, + 0x000e, 0x6052, 0x6050, 0x0005, 0x0156, 0x0016, 0x0026, 0x0036, + 0x00c6, 0x00d6, 0x00e6, 0x2061, 0x0100, 0x2069, 0x0140, 0x2071, + 0xc600, 0x6020, 0xa084, 0x0080, 0x0138, 0x2001, 0xc60c, 0x200c, + 0xc1bd, 0x2102, 0x0804, 0x5fdc, 0x2001, 0xc60c, 0x200c, 0xc1bc, + 0x2102, 0x6028, 0xa084, 0xe1ff, 0x602a, 0x6027, 0x0200, 0x6803, + 0x0090, 0x20a9, 0x0384, 0x6024, 0xd0cc, 0x1508, 0x1d04, 0x5f8b, + 0x2091, 0x6000, 0x1f04, 0x5f8b, 0x2011, 0x0003, 0x080c, 0x8eb7, + 0x2011, 0x0002, 0x080c, 0x8ec1, 0x080c, 0x8d97, 0x2019, 0x0000, + 0x080c, 0x8e22, 0x6803, 0x00a0, 0x2001, 0xc8e6, 0x2003, 0x0001, + 0x2001, 0xc600, 0x2003, 0x0001, 0xa085, 0x0001, 0x0468, 0x86ff, + 0x1110, 0x080c, 0x1ed7, 0x60e3, 0x0000, 0x2001, 0xc8d6, 0x2004, + 0x080c, 0x29e2, 0x60e2, 0x080c, 0x25c4, 0x6803, 0x0080, 0x20a9, + 0x0384, 0x6027, 0x1e00, 0x2009, 0x1e00, 0xe000, 0x6024, 0xa10c, + 0x0138, 0x1d04, 0x5fc1, 0x2091, 0x6000, 0x1f04, 0x5fc1, 0x0820, + 0x6028, 0xa085, 0x1e00, 0x602a, 0x70a4, 0xa005, 0x1118, 0x6887, + 0x0001, 0x0008, 0x6886, 0xa006, 0x00ee, 0x00de, 0x00ce, 0x003e, + 0x002e, 0x001e, 0x015e, 0x0005, 0x0156, 0x0016, 0x0026, 0x0036, + 0x00c6, 0x00d6, 0x00e6, 0x2061, 0x0100, 0x2071, 0xc600, 0x2069, + 0x0140, 0x6020, 0xa084, 0x00c0, 0x0120, 0x6884, 0xa005, 0x1904, + 0x6038, 0x6803, 0x0088, 0x60e3, 0x0000, 0x6887, 0x0000, 0x2001, + 0x0000, 0x080c, 0x29e2, 0x2069, 0x0200, 0x6804, 0xa005, 0x1118, + 0x6808, 0xa005, 0x01c0, 0x6028, 0xa084, 0xfbff, 0x602a, 0x6027, + 0x0400, 0x2069, 0xc90c, 0x7000, 0x206a, 0x708f, 0x0026, 0x7003, + 0x0001, 0x20a9, 0x0002, 0x1d04, 0x601b, 0x2091, 0x6000, 0x1f04, + 0x601b, 0x0804, 0x6069, 0x2069, 0x0140, 0x20a9, 0x0384, 0x6027, + 0x1e00, 0x2009, 0x1e00, 0xe000, 0x6024, 0xa10c, 0x0520, 0xa084, + 0x1a00, 0x1508, 0x1d04, 0x6027, 0x2091, 0x6000, 0x1f04, 0x6027, + 0x2011, 0x0003, 0x080c, 0x8eb7, 0x2011, 0x0002, 0x080c, 0x8ec1, + 0x080c, 0x8d97, 0x2019, 0x0000, 0x080c, 0x8e22, 0x6803, 0x00a0, + 0x2001, 0xc8e6, 0x2003, 0x0001, 0x2001, 0xc600, 0x2003, 0x0001, + 0xa085, 0x0001, 0x00b0, 0x080c, 0x25c4, 0x6803, 0x0080, 0x2069, + 0x0140, 0x60e3, 0x0000, 0x70a4, 0xa005, 0x1118, 0x6887, 0x0001, + 0x0008, 0x6886, 0x2001, 0xc8d6, 0x2004, 0x080c, 0x29e2, 0x60e2, + 0xa006, 0x00ee, 0x00de, 0x00ce, 0x003e, 0x002e, 0x001e, 0x015e, + 0x0005, 0x0156, 0x0016, 0x0026, 0x0036, 0x00c6, 0x00d6, 0x00e6, + 0x2061, 0x0100, 0x2071, 0xc600, 0x6020, 0xa084, 0x00c0, 0x01e0, + 0x2011, 0x0003, 0x080c, 0x8eb7, 0x2011, 0x0002, 0x080c, 0x8ec1, + 0x080c, 0x8d97, 0x2019, 0x0000, 0x080c, 0x8e22, 0x2069, 0x0140, + 0x6803, 0x00a0, 0x2001, 0xc8e6, 0x2003, 0x0001, 0x2001, 0xc600, + 0x2003, 0x0001, 0x0804, 0x610e, 0x2001, 0xc60c, 0x200c, 0xd1b4, + 0x1160, 0xc1b5, 0x2102, 0x080c, 0x5d9d, 0x2069, 0x0140, 0x080c, + 0x25c4, 0x6803, 0x0080, 0x60e3, 0x0000, 0x2069, 0x0200, 0x6804, + 0xa005, 0x1118, 0x6808, 0xa005, 0x01c0, 0x6028, 0xa084, 0xfdff, + 0x602a, 0x6027, 0x0200, 0x2069, 0xc90c, 0x7000, 0x206a, 0x708f, + 0x0027, 0x7003, 0x0001, 0x20a9, 0x0002, 0x1d04, 0x60c5, 0x2091, + 0x6000, 0x1f04, 0x60c5, 0x0804, 0x610e, 0x6027, 0x1e00, 0x2009, + 0x1e00, 0xe000, 0x6024, 0xa10c, 0x01c8, 0xa084, 0x1c00, 0x11b0, + 0x1d04, 0x60cd, 0x0006, 0x0016, 0x00c6, 0x00d6, 0x00e6, 0x080c, + 0x6ece, 0x00ee, 0x00de, 0x00ce, 0x001e, 0x000e, 0x00e6, 0x2071, + 0xc93a, 0x7018, 0x00ee, 0xa005, 0x1d00, 0x0500, 0x0026, 0x2011, + 0x5db5, 0x080c, 0x6f71, 0x2011, 0x5da8, 0x080c, 0x7034, 0x002e, + 0x2069, 0x0140, 0x60e3, 0x0000, 0x70a4, 0xa005, 0x1118, 0x6887, + 0x0001, 0x0008, 0x6886, 0x2001, 0xc8d6, 0x2004, 0x080c, 0x29e2, + 0x60e2, 0x2001, 0xc60c, 0x200c, 0xc1b4, 0x2102, 0x00ee, 0x00de, + 0x00ce, 0x003e, 0x002e, 0x001e, 0x015e, 0x0005, 0x0156, 0x0016, + 0x0026, 0x0036, 0x0046, 0x00c6, 0x00e6, 0x2061, 0x0100, 0x2071, + 0xc600, 0x7130, 0xd184, 0x1180, 0x2011, 0xc653, 0x2214, 0xd2ec, + 0x0138, 0xc18d, 0x7132, 0x2011, 0xc653, 0x2214, 0xd2ac, 0x1120, + 0x7030, 0xd08c, 0x0904, 0x617b, 0x7130, 0xc185, 0x7132, 0x2011, + 0xc653, 0x220c, 0xd1a4, 0x0530, 0x0016, 0x2019, 0x000e, 0x080c, + 0xc08f, 0x0156, 0x20a9, 0x007f, 0x2009, 0x0000, 0xa186, 0x007e, + 0x01a0, 0xa186, 0x0080, 0x0188, 0x080c, 0x52fd, 0x1170, 0x8127, + 0xa006, 0x0016, 0x2009, 0x000e, 0x080c, 0xc112, 0x2009, 0x0001, + 0x2011, 0x0100, 0x080c, 0x70f2, 0x001e, 0x8108, 0x1f04, 0x6146, + 0x015e, 0x001e, 0xd1ac, 0x1148, 0x0016, 0x2009, 0x0000, 0x2019, + 0x0004, 0x080c, 0x2ddd, 0x001e, 0x0070, 0x0156, 0x20a9, 0x007f, + 0x2009, 0x0000, 0x080c, 0x52fd, 0x1110, 0x080c, 0x4f00, 0x8108, + 0x1f04, 0x6172, 0x015e, 0x080c, 0x1ed7, 0x2011, 0x0003, 0x080c, + 0x8eb7, 0x2011, 0x0002, 0x080c, 0x8ec1, 0x080c, 0x8d97, 0x0036, + 0x2019, 0x0000, 0x080c, 0x8e22, 0x003e, 0x60e3, 0x0000, 0x2001, + 0xc600, 0x2003, 0x0001, 0x080c, 0x5e1a, 0x00ee, 0x00ce, 0x004e, + 0x003e, 0x002e, 0x001e, 0x015e, 0x0005, 0x2071, 0xc702, 0x7003, + 0x0000, 0x7007, 0x0000, 0x700f, 0x0000, 0x702b, 0x0001, 0x704f, + 0x0000, 0x7053, 0x0001, 0x705f, 0x0020, 0x7063, 0x0040, 0x7083, + 0x0000, 0x708b, 0x0000, 0x708f, 0x0001, 0x70bf, 0x0000, 0x0005, + 0x00e6, 0x2071, 0xc702, 0x6848, 0xa005, 0x1130, 0x7028, 0xc085, + 0x702a, 0xa085, 0x0001, 0x0428, 0x6a50, 0x7236, 0x6b54, 0x733a, + 0x6858, 0x703e, 0x707a, 0x685c, 0x7042, 0x707e, 0x6848, 0x702e, + 0x6840, 0x7032, 0x2009, 0x000c, 0x200a, 0x8007, 0x8006, 0x8006, + 0xa08c, 0x003f, 0xa084, 0xffc0, 0xa210, 0x2100, 0xa319, 0x7272, + 0x7376, 0x7028, 0xc084, 0x702a, 0x7007, 0x0001, 0x700f, 0x0000, + 0xa006, 0x00ee, 0x0005, 0x2b78, 0x2071, 0xc702, 0x7004, 0x0043, + 0x700c, 0x0002, 0x61f7, 0x61ee, 0x61ee, 0x61ee, 0x61ee, 0x0005, + 0x624d, 0x624e, 0x6280, 0x6281, 0x624b, 0x62cf, 0x62d4, 0x6305, + 0x6306, 0x6321, 0x6322, 0x6323, 0x6324, 0x6325, 0x6326, 0x63f1, + 0x6418, 0x700c, 0x0002, 0x6210, 0x624b, 0x624b, 0x624c, 0x624c, + 0x7830, 0x7930, 0xa106, 0x0120, 0x7830, 0x7930, 0xa106, 0x1510, + 0x7030, 0xa10a, 0x01f8, 0x1210, 0x712c, 0xa10a, 0xa18a, 0x0002, + 0x12d0, 0x080c, 0x15e1, 0x01b0, 0x2d00, 0x705a, 0x7063, 0x0040, + 0x2001, 0x0003, 0x7057, 0x0000, 0x0126, 0x0006, 0x2091, 0x8000, + 0x2009, 0xc959, 0x2104, 0xc085, 0x200a, 0x000e, 0x700e, 0x012e, + 0x080c, 0x1661, 0x0005, 0x080c, 0x15e1, 0x0de0, 0x2d00, 0x705a, + 0x080c, 0x15e1, 0x1108, 0x0c10, 0x2d00, 0x7086, 0x7063, 0x0080, + 0x2001, 0x0004, 0x08f8, 0x0005, 0x0005, 0x0005, 0x700c, 0x0002, + 0x6255, 0x6258, 0x6266, 0x627f, 0x627f, 0x080c, 0x6209, 0x0005, + 0x0126, 0x8001, 0x700e, 0x7058, 0x0006, 0x080c, 0x6794, 0x0120, + 0x2091, 0x8000, 0x080c, 0x6209, 0x00de, 0x0048, 0x0126, 0x8001, + 0x700e, 0x080c, 0x6794, 0x7058, 0x2068, 0x7084, 0x705a, 0x6803, + 0x0000, 0x6807, 0x0000, 0x6834, 0xa084, 0x00ff, 0xa08a, 0x003a, + 0x1218, 0x00db, 0x012e, 0x0005, 0x012e, 0x080c, 0x6327, 0x0005, + 0x0005, 0x0005, 0x00e6, 0x2071, 0xc702, 0x700c, 0x0002, 0x628c, + 0x628c, 0x628c, 0x628e, 0x6291, 0x00ee, 0x0005, 0x700f, 0x0001, + 0x0010, 0x700f, 0x0002, 0x00ee, 0x0005, 0x6327, 0x6327, 0x6343, + 0x6327, 0x64fe, 0x6327, 0x6327, 0x6327, 0x6327, 0x6327, 0x6343, + 0x6540, 0x6583, 0x65cc, 0x65e0, 0x6327, 0x6327, 0x635f, 0x6343, + 0x6373, 0x6327, 0x63ce, 0x668c, 0x66a7, 0x6327, 0x635f, 0x6327, + 0x6373, 0x6327, 0x6327, 0x63c4, 0x66a7, 0x6327, 0x6327, 0x6327, + 0x6327, 0x6327, 0x6327, 0x6327, 0x6327, 0x6327, 0x6388, 0x6327, + 0x6327, 0x6327, 0x6327, 0x6327, 0x6327, 0x6327, 0x6327, 0x6327, + 0x6826, 0x6327, 0x67b2, 0x6327, 0x67b2, 0x6327, 0x639d, 0x7020, + 0x2068, 0x080c, 0x1615, 0x0005, 0x700c, 0x0002, 0x62db, 0x62de, + 0x62ec, 0x6304, 0x6304, 0x080c, 0x6209, 0x0005, 0x0126, 0x8001, + 0x700e, 0x7058, 0x0006, 0x080c, 0x6794, 0x0120, 0x2091, 0x8000, + 0x080c, 0x6209, 0x00de, 0x0048, 0x0126, 0x8001, 0x700e, 0x080c, + 0x6794, 0x7058, 0x2068, 0x7084, 0x705a, 0x6803, 0x0000, 0x6807, + 0x0000, 0x6834, 0xa084, 0x00ff, 0xa08a, 0x001a, 0x1218, 0x003b, + 0x012e, 0x0005, 0x012e, 0x0419, 0x0005, 0x0005, 0x0005, 0x6327, + 0x6343, 0x64ea, 0x6327, 0x6343, 0x6327, 0x6343, 0x6343, 0x6327, + 0x6343, 0x64ea, 0x6343, 0x6343, 0x6343, 0x6343, 0x6343, 0x6327, + 0x6343, 0x64ea, 0x6327, 0x6327, 0x6343, 0x6327, 0x6327, 0x6327, + 0x6343, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x7007, + 0x0001, 0x6838, 0xa084, 0x00ff, 0xc0d5, 0x683a, 0x0126, 0x2091, + 0x8000, 0x080c, 0x57ca, 0x012e, 0x0005, 0x7007, 0x0001, 0x6838, + 0xa084, 0x00ff, 0xc0e5, 0x683a, 0x0126, 0x2091, 0x8000, 0x080c, + 0x57ca, 0x012e, 0x0005, 0x7007, 0x0001, 0x6838, 0xa084, 0x00ff, + 0xc0ed, 0x683a, 0x0126, 0x2091, 0x8000, 0x080c, 0x57ca, 0x012e, + 0x0005, 0x7007, 0x0001, 0x6838, 0xa084, 0x00ff, 0xc0dd, 0x683a, + 0x0126, 0x2091, 0x8000, 0x080c, 0x57ca, 0x012e, 0x0005, 0x6834, + 0x8007, 0xa084, 0x00ff, 0x0988, 0x8001, 0x1120, 0x7007, 0x0001, + 0x0804, 0x6481, 0x7007, 0x0006, 0x7012, 0x2d00, 0x7016, 0x701a, + 0x704b, 0x6481, 0x0005, 0x6834, 0x8007, 0xa084, 0x00ff, 0x0904, + 0x6335, 0x8001, 0x1120, 0x7007, 0x0001, 0x0804, 0x649e, 0x7007, + 0x0006, 0x7012, 0x2d00, 0x7016, 0x701a, 0x704b, 0x649e, 0x0005, + 0x6834, 0x8007, 0xa084, 0x00ff, 0x0904, 0x6335, 0x8001, 0x1120, + 0x7007, 0x0001, 0x0804, 0x64c7, 0x7007, 0x0006, 0x7012, 0x2d00, + 0x7016, 0x701a, 0x704b, 0x64c7, 0x0005, 0x6834, 0x8007, 0xa084, + 0x00ff, 0xa086, 0x0001, 0x1904, 0x6335, 0x7007, 0x0001, 0x2009, + 0xc631, 0x210c, 0x81ff, 0x11a8, 0x6838, 0xa084, 0x00ff, 0x683a, + 0x6853, 0x0000, 0x080c, 0x50cf, 0x1108, 0x0005, 0x0126, 0x2091, + 0x8000, 0x6837, 0x0139, 0x684a, 0x6952, 0x080c, 0x57ca, 0x012e, + 0x0ca0, 0x2001, 0x0028, 0x0c90, 0x684c, 0xa084, 0x00c0, 0xa086, + 0x00c0, 0x1120, 0x7007, 0x0001, 0x0804, 0x66bf, 0x2d00, 0x7016, + 0x701a, 0x20a9, 0x0004, 0xa080, 0x0024, 0x2098, 0x20a1, 0xc72d, + 0x53a3, 0x6858, 0x7012, 0xa082, 0x0401, 0x1a04, 0x6351, 0x6a84, + 0xa28a, 0x0002, 0x1a04, 0x6351, 0x82ff, 0x1138, 0x6888, 0x698c, + 0xa105, 0x0118, 0x2001, 0x6454, 0x0018, 0xa280, 0x644a, 0x2005, + 0x70c6, 0x7010, 0xa015, 0x0904, 0x6436, 0x080c, 0x15e1, 0x1118, + 0x7007, 0x000f, 0x0005, 0x2d00, 0x7022, 0x70c4, 0x2060, 0x2c05, + 0x6836, 0xe004, 0xad00, 0x7096, 0xe008, 0xa20a, 0x1210, 0xa00e, + 0x2200, 0x7112, 0xe20c, 0x8003, 0x800b, 0xa296, 0x0004, 0x0108, + 0xa108, 0x719a, 0x810b, 0x719e, 0xae90, 0x0022, 0x080c, 0x1649, + 0x7090, 0xa08e, 0x0100, 0x0170, 0xa086, 0x0200, 0x0118, 0x7007, + 0x0010, 0x0005, 0x7020, 0x2068, 0x080c, 0x1615, 0x7014, 0x2068, + 0x0804, 0x6351, 0x7020, 0x2068, 0x7018, 0x6802, 0x6807, 0x0000, + 0x2d08, 0x2068, 0x6906, 0x711a, 0x0804, 0x63f1, 0x7014, 0x2068, + 0x7007, 0x0001, 0x6884, 0xa005, 0x1128, 0x6888, 0x698c, 0xa105, + 0x0108, 0x00b1, 0x6834, 0xa084, 0x00ff, 0xa086, 0x001e, 0x0904, + 0x66bf, 0x04b8, 0x644c, 0x6450, 0x0002, 0x0011, 0x0007, 0x0004, + 0x000a, 0x000f, 0x0005, 0x0006, 0x000a, 0x0011, 0x0005, 0x0004, + 0x00f6, 0x00e6, 0x00c6, 0x0076, 0x0066, 0x6f88, 0x6e8c, 0x6804, + 0x2060, 0xacf0, 0x0021, 0xacf8, 0x0027, 0x2009, 0x0005, 0x700c, + 0x7816, 0x7008, 0x7812, 0x7004, 0x7806, 0x7000, 0x7802, 0x7e0e, + 0x7f0a, 0x8109, 0x0128, 0xaef2, 0x0004, 0xaffa, 0x0006, 0x0c78, + 0x6004, 0xa065, 0x1d30, 0x006e, 0x007e, 0x00ce, 0x00ee, 0x00fe, + 0x0005, 0x2009, 0xc631, 0x210c, 0x81ff, 0x1198, 0x6838, 0xa084, + 0x00ff, 0x683a, 0x080c, 0x4f5f, 0x1108, 0x0005, 0x080c, 0x58ee, + 0x0126, 0x2091, 0x8000, 0x080c, 0xae93, 0x080c, 0x57ca, 0x012e, + 0x0ca0, 0x2001, 0x0028, 0x2009, 0x0000, 0x0c80, 0x2009, 0xc631, + 0x210c, 0x81ff, 0x11d8, 0x6858, 0xa005, 0x01d8, 0x2001, 0xc756, + 0x2004, 0xa086, 0x0000, 0x01c0, 0x6838, 0xa084, 0x00ff, 0x683a, + 0x6853, 0x0000, 0x080c, 0x5021, 0x1108, 0x0005, 0x684a, 0x0126, + 0x2091, 0x8000, 0x080c, 0x57ca, 0x012e, 0x0cb8, 0x2001, 0x0028, + 0x0ca8, 0x2001, 0x0000, 0x0c90, 0x2001, 0x002c, 0x0c78, 0x2009, + 0xc631, 0x210c, 0x81ff, 0x11b0, 0x6858, 0xa005, 0x01c0, 0x6838, + 0xa084, 0x00ff, 0x683a, 0x6853, 0x0000, 0x080c, 0x5073, 0x1108, + 0x0005, 0x0126, 0x2091, 0x8000, 0x684a, 0x6952, 0x080c, 0x57ca, + 0x012e, 0x0cb0, 0x2001, 0x0028, 0x2009, 0x0000, 0x0c90, 0x2001, + 0x0000, 0x0c78, 0x7018, 0x6802, 0x2d08, 0x2068, 0x6906, 0x711a, + 0x7010, 0x8001, 0x7012, 0x0118, 0x7007, 0x0006, 0x0030, 0x7014, + 0x2068, 0x7007, 0x0001, 0x7048, 0x080f, 0x0005, 0x7007, 0x0001, + 0x6944, 0x810f, 0xa18c, 0x00ff, 0x6848, 0xa084, 0x00ff, 0x20a9, + 0x0001, 0xa096, 0x0001, 0x01b0, 0x2009, 0x0000, 0x20a9, 0x00ff, + 0xa096, 0x0002, 0x0178, 0xa005, 0x11f0, 0x6944, 0x810f, 0xa18c, + 0x00ff, 0x080c, 0x52fd, 0x11b8, 0x0066, 0x6e50, 0x080c, 0x53fc, + 0x006e, 0x0088, 0x0046, 0x2011, 0xc60c, 0x2224, 0xc484, 0x2412, + 0x004e, 0x00c6, 0x080c, 0x52fd, 0x1110, 0x080c, 0x555d, 0x8108, + 0x1f04, 0x652a, 0x00ce, 0x684c, 0xd084, 0x1118, 0x080c, 0x1615, + 0x0005, 0x0126, 0x2091, 0x8000, 0x080c, 0x57ca, 0x012e, 0x0005, + 0x0126, 0x2091, 0x8000, 0x7007, 0x0001, 0x2001, 0xc653, 0x2004, + 0xd0a4, 0x0580, 0x2061, 0xc9bc, 0x6100, 0xd184, 0x0178, 0x6858, + 0xa084, 0x00ff, 0x1550, 0x6000, 0xd084, 0x0520, 0x6004, 0xa005, + 0x1538, 0x6003, 0x0000, 0x600b, 0x0000, 0x00c8, 0x2011, 0x0001, + 0x6860, 0xa005, 0x1110, 0x2001, 0x001e, 0x8000, 0x6016, 0x6858, + 0xa084, 0x00ff, 0x0178, 0x6006, 0x6858, 0x8007, 0xa084, 0x00ff, + 0x0148, 0x600a, 0x6858, 0x8000, 0x1108, 0xc28d, 0x6202, 0x012e, + 0x0804, 0x6783, 0x012e, 0x0804, 0x677d, 0x012e, 0x0804, 0x6777, + 0x012e, 0x0804, 0x677a, 0x0126, 0x2091, 0x8000, 0x7007, 0x0001, + 0x2001, 0xc653, 0x2004, 0xd0a4, 0x05e0, 0x2061, 0xc9bc, 0x6000, + 0xd084, 0x05b8, 0x6204, 0x6308, 0xd08c, 0x1530, 0x6c48, 0xa484, + 0x0003, 0x0170, 0x6958, 0xa18c, 0x00ff, 0x8001, 0x1120, 0x2100, + 0xa210, 0x0620, 0x0028, 0x8001, 0x1508, 0x2100, 0xa212, 0x02f0, + 0xa484, 0x000c, 0x0188, 0x6958, 0x810f, 0xa18c, 0x00ff, 0xa082, + 0x0004, 0x1120, 0x2100, 0xa318, 0x0288, 0x0030, 0xa082, 0x0004, + 0x1168, 0x2100, 0xa31a, 0x0250, 0x6860, 0xa005, 0x0110, 0x8000, + 0x6016, 0x6206, 0x630a, 0x012e, 0x0804, 0x6783, 0x012e, 0x0804, + 0x6780, 0x012e, 0x0804, 0x677d, 0x0126, 0x2091, 0x8000, 0x7007, + 0x0001, 0x2061, 0xc9bc, 0x6300, 0xd38c, 0x1120, 0x6308, 0x8318, + 0x0220, 0x630a, 0x012e, 0x0804, 0x6791, 0x012e, 0x0804, 0x6780, + 0x0126, 0x00c6, 0x2091, 0x8000, 0x7007, 0x0001, 0x684c, 0xd0ac, + 0x0148, 0x00c6, 0x2061, 0xc9bc, 0x6000, 0xa084, 0xfcff, 0x6002, + 0x00ce, 0x0448, 0x6858, 0xa005, 0x05d0, 0x685c, 0xa065, 0x0598, + 0x2001, 0xc631, 0x2004, 0xa005, 0x0118, 0x080c, 0xade4, 0x0068, + 0x6013, 0x0400, 0x6057, 0x0000, 0x694c, 0xd1a4, 0x0110, 0x6950, + 0x6156, 0x2009, 0x0041, 0x080c, 0x95b5, 0x6958, 0xa18c, 0xff00, + 0xa186, 0x2000, 0x1140, 0x0026, 0x2009, 0x0000, 0x2011, 0xfdff, + 0x080c, 0x70f2, 0x002e, 0x684c, 0xd0c4, 0x0148, 0x2061, 0xc9bc, + 0x6000, 0xd08c, 0x1120, 0x6008, 0x8000, 0x0208, 0x600a, 0x00ce, + 0x012e, 0x0804, 0x6783, 0x00ce, 0x012e, 0x0804, 0x677d, 0x6954, + 0xa186, 0x002e, 0x0d40, 0xa186, 0x002d, 0x0d28, 0xa186, 0x0045, + 0x0528, 0xa186, 0x002a, 0x1130, 0x2001, 0xc60c, 0x200c, 0xc194, + 0x2102, 0x08c8, 0xa186, 0x0020, 0x0170, 0xa186, 0x0029, 0x1d18, + 0x6944, 0xa18c, 0xff00, 0x810f, 0x080c, 0x52fd, 0x1960, 0x6000, + 0xc0e4, 0x6002, 0x0840, 0x685c, 0xa065, 0x09a8, 0x6007, 0x0024, + 0x2001, 0xc8fd, 0x2004, 0x6016, 0x0804, 0x661b, 0x685c, 0xa065, + 0x0950, 0x00e6, 0x6860, 0xa075, 0x2001, 0xc631, 0x2004, 0xa005, + 0x0150, 0x080c, 0xade4, 0x8eff, 0x0118, 0x2e60, 0x080c, 0xade4, + 0x00ee, 0x0804, 0x661b, 0x6020, 0xc0dc, 0xc0d5, 0x6022, 0x2e60, + 0x6007, 0x003a, 0x6870, 0xa005, 0x0130, 0x6007, 0x003b, 0x6874, + 0x602a, 0x6878, 0x6012, 0x6003, 0x0001, 0x080c, 0x795d, 0x080c, + 0x7e54, 0x00ee, 0x0804, 0x661b, 0x2061, 0xc9bc, 0x6000, 0xd084, + 0x0190, 0xd08c, 0x1904, 0x6791, 0x0126, 0x2091, 0x8000, 0x6204, + 0x8210, 0x0220, 0x6206, 0x012e, 0x0804, 0x6791, 0x012e, 0x6853, + 0x0016, 0x0804, 0x678a, 0x6853, 0x0007, 0x0804, 0x678a, 0x6834, + 0x8007, 0xa084, 0x00ff, 0x1118, 0x080c, 0x6335, 0x0078, 0x2030, + 0x8001, 0x1120, 0x7007, 0x0001, 0x0051, 0x0040, 0x7007, 0x0006, + 0x7012, 0x2d00, 0x7016, 0x701a, 0x704b, 0x66bf, 0x0005, 0x00e6, + 0x0126, 0x2091, 0x8000, 0xa03e, 0x2009, 0xc631, 0x210c, 0x81ff, + 0x1904, 0x673d, 0x2009, 0xc60c, 0x210c, 0xd194, 0x1904, 0x6767, + 0x6848, 0x2070, 0xae82, 0xce00, 0x0a04, 0x6731, 0x2001, 0xc617, + 0x2004, 0xae02, 0x1a04, 0x6731, 0x711c, 0xa186, 0x0006, 0x1904, + 0x6720, 0x7018, 0xa005, 0x0904, 0x673d, 0x2004, 0xd0e4, 0x1904, + 0x6762, 0x2061, 0xc9bc, 0x6100, 0xa184, 0x0301, 0xa086, 0x0001, + 0x1550, 0x7020, 0xd0dc, 0x1904, 0x676a, 0x6853, 0x0000, 0x6803, + 0x0000, 0x2d08, 0x7010, 0xa005, 0x1158, 0x7112, 0x684c, 0xd0f4, + 0x1904, 0x676d, 0x2e60, 0x080c, 0x704e, 0x012e, 0x00ee, 0x0005, + 0x2068, 0x6800, 0xa005, 0x1de0, 0x6902, 0x2168, 0x684c, 0xd0f4, + 0x1904, 0x676d, 0x012e, 0x00ee, 0x0005, 0x012e, 0x00ee, 0x6853, + 0x0006, 0x0804, 0x678a, 0xd184, 0x0dc0, 0xd1c4, 0x11a8, 0x00b8, + 0x6944, 0xa18c, 0xff00, 0x810f, 0x080c, 0x52fd, 0x15d8, 0x6000, + 0xd0e4, 0x15c0, 0x711c, 0xa186, 0x0007, 0x1118, 0x6853, 0x0002, + 0x0498, 0x6853, 0x0008, 0x0480, 0x6853, 0x000e, 0x0468, 0x6853, + 0x0017, 0x0450, 0x6853, 0x0035, 0x0438, 0x2001, 0xc672, 0x2004, + 0xd0fc, 0x01e8, 0x6848, 0x2070, 0xae82, 0xce00, 0x02c0, 0x605c, + 0xae02, 0x12a8, 0x711c, 0xa186, 0x0006, 0x1188, 0x7018, 0xa005, + 0x0170, 0x2004, 0xd0bc, 0x0158, 0x2039, 0x0001, 0x7000, 0xa086, + 0x0007, 0x1904, 0x66ca, 0x7003, 0x0002, 0x0804, 0x66ca, 0x6853, + 0x0028, 0x0010, 0x6853, 0x0029, 0x012e, 0x00ee, 0x0418, 0x6853, + 0x002a, 0x0cd0, 0x6853, 0x0045, 0x0cb8, 0x2e60, 0x2019, 0x0002, + 0x6017, 0x0014, 0x080c, 0xbcd7, 0x012e, 0x00ee, 0x0005, 0x2009, + 0x003e, 0x0058, 0x2009, 0x0004, 0x0040, 0x2009, 0x0006, 0x0028, + 0x2009, 0x0016, 0x0010, 0x2009, 0x0001, 0x6854, 0xa084, 0xff00, + 0xa105, 0x6856, 0x0126, 0x2091, 0x8000, 0x080c, 0x57ca, 0x012e, + 0x0005, 0x080c, 0x1615, 0x0005, 0x702c, 0x7130, 0x8108, 0xa102, + 0x0230, 0xa00e, 0x7034, 0x7072, 0x7038, 0x7076, 0x0058, 0x7070, + 0xa080, 0x0040, 0x7072, 0x1230, 0x7074, 0xa081, 0x0000, 0x7076, + 0xa085, 0x0001, 0x7932, 0x7132, 0x0005, 0x00d6, 0x080c, 0x7045, + 0x00de, 0x0005, 0x2001, 0xc756, 0x2004, 0xa086, 0x0000, 0x0904, + 0x680d, 0x080c, 0x7653, 0x0904, 0x6810, 0x6868, 0xa084, 0x0007, + 0x0904, 0x6804, 0x080c, 0x952f, 0x0904, 0x6807, 0x2d00, 0x6012, + 0x6834, 0xa084, 0x00ff, 0xa086, 0x0035, 0x1198, 0x2001, 0xc8e5, + 0x2004, 0xa086, 0xaaaa, 0x0130, 0x2001, 0xc635, 0x2004, 0xa084, + 0x0028, 0x05c8, 0x6008, 0xc0fd, 0x600a, 0x2001, 0xc8d3, 0x2004, + 0x0098, 0x6870, 0xa084, 0x00ff, 0x696c, 0xa18c, 0xff00, 0xa105, + 0x696c, 0xa18c, 0x00ff, 0x080c, 0x298d, 0x11e0, 0x00c6, 0x080c, + 0x52fd, 0x2c00, 0x00ce, 0x11b0, 0x601a, 0x601f, 0x0001, 0x2009, + 0x0040, 0x6834, 0xa084, 0x00ff, 0xa086, 0x0035, 0x0110, 0x2009, + 0x0041, 0x080c, 0x95b5, 0x0005, 0x684b, 0x0101, 0x0078, 0x684b, + 0x002c, 0x0060, 0x684b, 0x0028, 0x0080, 0x684b, 0x0104, 0x0030, + 0x684b, 0x0105, 0x0018, 0x684b, 0x0106, 0x0038, 0x0126, 0x2091, + 0x8000, 0x080c, 0x57ca, 0x012e, 0x0005, 0x0126, 0x2091, 0x8000, + 0x080c, 0x57ca, 0x012e, 0x080c, 0x9585, 0x0005, 0x00d6, 0x00c6, + 0x0036, 0x0026, 0x0016, 0x7007, 0x0001, 0x6a44, 0xa282, 0x0004, + 0x1a04, 0x6871, 0xd284, 0x0170, 0x6a4c, 0xa290, 0xc77b, 0x2204, + 0xa065, 0x6004, 0x05e0, 0x8007, 0xa084, 0x00ff, 0xa084, 0x0006, + 0x1108, 0x04a8, 0x2c10, 0x080c, 0x952f, 0x1118, 0x080c, 0xae9d, + 0x05a0, 0x621a, 0x6844, 0x0002, 0x6850, 0x6855, 0x6858, 0x685e, + 0x2019, 0x0002, 0x080c, 0xc08f, 0x0060, 0x080c, 0xc026, 0x0048, + 0x2019, 0x0002, 0x6950, 0x080c, 0xc041, 0x0018, 0x6950, 0x080c, + 0xc026, 0x080c, 0x9585, 0x6857, 0x0000, 0x0126, 0x2091, 0x8000, + 0x080c, 0x57ca, 0x012e, 0x001e, 0x002e, 0x003e, 0x00ce, 0x00de, + 0x0005, 0x6857, 0x0006, 0x0c88, 0x6857, 0x0002, 0x0c70, 0x6857, + 0x0005, 0x0c58, 0x6857, 0x0004, 0x0c40, 0x6857, 0x0007, 0x0c28, + 0x00d6, 0x2011, 0x0004, 0x2204, 0xa085, 0x8002, 0x2012, 0x00de, + 0x0005, 0x20e1, 0x0002, 0x3d08, 0x20e1, 0x2000, 0x3d00, 0xa084, + 0x7000, 0x0118, 0xa086, 0x1000, 0x15e0, 0x20e1, 0x0000, 0x3d00, + 0xa094, 0xff00, 0x8217, 0xa084, 0xf000, 0xa086, 0x3000, 0x1160, + 0xa184, 0xff00, 0x8007, 0xa086, 0x0008, 0x1558, 0x080c, 0x2f2d, + 0x1540, 0x080c, 0x6af2, 0x0400, 0x20e1, 0x0004, 0x3d60, 0xd1bc, + 0x1170, 0x2100, 0xa084, 0xff00, 0xa086, 0x0500, 0x1138, 0x0026, + 0x2c10, 0x080c, 0x6d54, 0x002e, 0x01a0, 0x0070, 0x3e60, 0xac84, + 0x0007, 0x1178, 0xac82, 0xce00, 0x0260, 0x685c, 0xac02, 0x1248, + 0x2009, 0x0047, 0x080c, 0x95b5, 0x7a1c, 0xd284, 0x1904, 0x6889, + 0x0005, 0xa016, 0x080c, 0x1868, 0x0cb8, 0x0cd8, 0x781c, 0xd08c, + 0x0500, 0x0156, 0x0136, 0x0146, 0x20e1, 0x3000, 0x3d20, 0x3e28, + 0xa584, 0x0076, 0x1538, 0xa484, 0x7000, 0xa086, 0x1000, 0x11a8, + 0x080c, 0x6951, 0x01f8, 0x20e1, 0x3000, 0x7828, 0x7828, 0x080c, + 0x696d, 0x014e, 0x013e, 0x015e, 0x2009, 0xc92f, 0x2104, 0xa005, + 0x1108, 0x0005, 0x080c, 0x7e54, 0x0ce0, 0xa484, 0x7000, 0x1548, + 0x080c, 0x6951, 0x01d8, 0x7000, 0xa084, 0xff00, 0xa086, 0x8100, + 0x0d10, 0x00a0, 0xd5a4, 0x0178, 0x0056, 0x0046, 0x080c, 0x1efe, + 0x080c, 0x25c4, 0x2001, 0x0160, 0x2502, 0x2001, 0x0138, 0x2202, + 0x004e, 0x005e, 0x0048, 0x04a9, 0x6887, 0x0000, 0x080c, 0xc4b8, + 0x20e1, 0x3000, 0x7828, 0x7828, 0x00b9, 0x014e, 0x013e, 0x015e, + 0x0880, 0x0439, 0x1130, 0x7000, 0xa084, 0xff00, 0xa086, 0x8100, + 0x1d68, 0x080c, 0xc4b8, 0x20e1, 0x3000, 0x7828, 0x7828, 0x0056, + 0x080c, 0x6de3, 0x005e, 0x0c40, 0x2001, 0xc60e, 0x2004, 0xd08c, + 0x0178, 0x2001, 0xc600, 0x2004, 0xa086, 0x0003, 0x1148, 0x0026, + 0x0036, 0x2011, 0x8048, 0x2518, 0x080c, 0x403a, 0x003e, 0x002e, + 0x0005, 0xa484, 0x01ff, 0x6886, 0xa005, 0x0160, 0xa080, 0x001f, + 0xa084, 0x03f8, 0x80ac, 0x20e1, 0x1000, 0x2ea0, 0x2099, 0x020a, + 0x53a5, 0x0005, 0x20a9, 0x000c, 0x20e1, 0x1000, 0x2ea0, 0x2099, + 0x020a, 0x53a5, 0xa085, 0x0001, 0x0ca0, 0x7000, 0xa084, 0xff00, + 0xa08c, 0xf000, 0x8007, 0xa196, 0x0000, 0x1118, 0x0804, 0x6bf7, + 0x0005, 0xa196, 0x2000, 0x1148, 0x6900, 0xa18e, 0x0001, 0x1118, + 0x080c, 0x4784, 0x0ca8, 0x0039, 0x0c98, 0xa196, 0x8000, 0x1d80, + 0x080c, 0x6ca7, 0x0c68, 0x00c6, 0x6a84, 0x82ff, 0x0904, 0x6aec, + 0x7110, 0xa18c, 0xff00, 0x810f, 0xa196, 0x0001, 0x0120, 0xa196, + 0x0023, 0x1904, 0x6aec, 0xa08e, 0x0023, 0x1570, 0x080c, 0x6d42, + 0x0904, 0x6aec, 0x7124, 0x610a, 0x7030, 0xa08e, 0x0200, 0x1150, + 0x7034, 0xa005, 0x1904, 0x6aec, 0x2009, 0x0015, 0x080c, 0x95b5, + 0x0804, 0x6aec, 0xa08e, 0x0214, 0x0118, 0xa08e, 0x0210, 0x1130, + 0x2009, 0x0015, 0x080c, 0x95b5, 0x0804, 0x6aec, 0xa08e, 0x0100, + 0x1904, 0x6aec, 0x7034, 0xa005, 0x1904, 0x6aec, 0x2009, 0x0016, + 0x080c, 0x95b5, 0x0804, 0x6aec, 0xa08e, 0x0022, 0x1904, 0x6aec, + 0x7030, 0xa08e, 0x0300, 0x1580, 0x68d4, 0xd0a4, 0x0528, 0xc0b5, + 0x68d6, 0x7100, 0xa18c, 0x00ff, 0x6972, 0x7004, 0x6876, 0x00f6, + 0x2079, 0x0100, 0x79e6, 0x78ea, 0x0006, 0xa084, 0x00ff, 0x0016, + 0x2008, 0x080c, 0x29b7, 0x7932, 0x7936, 0x001e, 0x000e, 0x00fe, + 0x080c, 0x298d, 0x6952, 0x703c, 0x00e6, 0x2071, 0x0140, 0x7086, + 0x2071, 0xc600, 0x70a6, 0x00ee, 0x7034, 0xa005, 0x1904, 0x6aec, + 0x2009, 0x0017, 0x0804, 0x6ab2, 0xa08e, 0x0400, 0x1158, 0x7034, + 0xa005, 0x1904, 0x6aec, 0x68d4, 0xc0a5, 0x68d6, 0x2009, 0x0030, + 0x0804, 0x6ab2, 0xa08e, 0x0500, 0x1140, 0x7034, 0xa005, 0x1904, + 0x6aec, 0x2009, 0x0018, 0x0804, 0x6ab2, 0xa08e, 0x2010, 0x1120, + 0x2009, 0x0019, 0x0804, 0x6ab2, 0xa08e, 0x2110, 0x1120, 0x2009, + 0x001a, 0x0804, 0x6ab2, 0xa08e, 0x5200, 0x1140, 0x7034, 0xa005, + 0x1904, 0x6aec, 0x2009, 0x001b, 0x0804, 0x6ab2, 0xa08e, 0x5000, + 0x1140, 0x7034, 0xa005, 0x1904, 0x6aec, 0x2009, 0x001c, 0x0804, + 0x6ab2, 0xa08e, 0x1300, 0x1120, 0x2009, 0x0034, 0x0804, 0x6ab2, + 0xa08e, 0x1200, 0x1140, 0x7034, 0xa005, 0x1904, 0x6aec, 0x2009, + 0x0024, 0x0804, 0x6ab2, 0xa08c, 0xff00, 0xa18e, 0x2400, 0x1120, + 0x2009, 0x002d, 0x0804, 0x6ab2, 0xa08c, 0xff00, 0xa18e, 0x5300, + 0x1120, 0x2009, 0x002a, 0x0804, 0x6ab2, 0xa08e, 0x0f00, 0x1120, + 0x2009, 0x0020, 0x0804, 0x6ab2, 0xa08e, 0x5300, 0x1108, 0x00d8, + 0xa08e, 0x6104, 0x11c0, 0x2011, 0xcc8d, 0x8208, 0x2204, 0xa082, + 0x0004, 0x20a8, 0x95ac, 0x95ac, 0x2011, 0x8015, 0x211c, 0x8108, + 0x0046, 0x2124, 0x080c, 0x403a, 0x004e, 0x8108, 0x1f04, 0x6a7c, + 0x2009, 0x0023, 0x0438, 0xa08e, 0x6000, 0x1118, 0x2009, 0x003f, + 0x0408, 0xa08e, 0x5400, 0x1158, 0x080c, 0x6e3d, 0x1904, 0x6aec, + 0x2009, 0x0046, 0x0016, 0x2001, 0xc8d3, 0x2064, 0x0498, 0xa08e, + 0x5500, 0x1140, 0x080c, 0x6e70, 0x2009, 0x0041, 0x0158, 0x2009, + 0x0042, 0x0040, 0xa08e, 0x7800, 0x1118, 0x2009, 0x0045, 0x0010, + 0x2009, 0x001d, 0x0016, 0x2011, 0xcc83, 0x2204, 0x8211, 0x220c, + 0x080c, 0x298d, 0x1598, 0x080c, 0x52a1, 0x1580, 0x6612, 0x6516, + 0x86ff, 0x01e8, 0x001e, 0x0016, 0xa186, 0x0017, 0x1158, 0x6870, + 0xa606, 0x11a8, 0x6874, 0xa506, 0xa084, 0xff00, 0x1180, 0x6000, + 0xc0f5, 0x6002, 0xa186, 0x0046, 0x1150, 0x6870, 0xa606, 0x1138, + 0x6874, 0xa506, 0xa084, 0xff00, 0x1110, 0x001e, 0x0068, 0x00c6, + 0x080c, 0x952f, 0x0168, 0x001e, 0x611a, 0x601f, 0x0004, 0x7120, + 0x610a, 0x001e, 0x080c, 0x95b5, 0x00ce, 0x0005, 0x001e, 0x0ce0, + 0x00ce, 0x0ce0, 0x00c6, 0x0046, 0x080c, 0x6b46, 0x1904, 0x6b43, + 0xa28e, 0x0033, 0x11e8, 0x080c, 0x6d42, 0x0904, 0x6b43, 0x7124, + 0x610a, 0x7030, 0xa08e, 0x0200, 0x1140, 0x7034, 0xa005, 0x15d8, + 0x2009, 0x0015, 0x080c, 0x95b5, 0x04b0, 0xa08e, 0x0100, 0x1598, + 0x7034, 0xa005, 0x1580, 0x2009, 0x0016, 0x080c, 0x95b5, 0x0458, + 0xa28e, 0x0032, 0x1540, 0x7030, 0xa08e, 0x1400, 0x1520, 0x2009, + 0x0038, 0x0016, 0x2011, 0xcc83, 0x2204, 0x8211, 0x220c, 0x080c, + 0x298d, 0x11c0, 0x080c, 0x52a1, 0x11a8, 0x6612, 0x6516, 0x00c6, + 0x080c, 0x952f, 0x0170, 0x001e, 0x611a, 0x080c, 0xafee, 0x601f, + 0x0004, 0x7120, 0x610a, 0x001e, 0x080c, 0x95b5, 0x080c, 0x7e54, + 0x0010, 0x00ce, 0x001e, 0x004e, 0x00ce, 0x0005, 0x00f6, 0x00d6, + 0x0026, 0x0016, 0x0136, 0x0146, 0x0156, 0x3c00, 0x0006, 0x2079, + 0x0030, 0x2069, 0x0200, 0x080c, 0x1fbd, 0x1590, 0x080c, 0x1e68, + 0x05e0, 0x04f1, 0x1130, 0x7908, 0xa18c, 0x1fff, 0xa182, 0x0011, + 0x1688, 0x20a9, 0x000c, 0x20e1, 0x0000, 0x2ea0, 0x2099, 0x020a, + 0x53a5, 0x20e1, 0x2000, 0x2001, 0x020a, 0x2004, 0x7a0c, 0x7808, + 0xa080, 0x0007, 0xa084, 0x1ff8, 0x0419, 0x1120, 0xa08a, 0x0140, + 0x1a0c, 0x1515, 0x80ac, 0x20e1, 0x6000, 0x2099, 0x020a, 0x53a5, + 0x20e1, 0x7000, 0x6828, 0x6828, 0x7803, 0x0004, 0xa294, 0x0070, + 0x000e, 0x20e0, 0x015e, 0x014e, 0x013e, 0x001e, 0x002e, 0x00de, + 0x00fe, 0x0005, 0xa016, 0x080c, 0x1868, 0xa085, 0x0001, 0x0c80, + 0x0006, 0x2001, 0x0111, 0x2004, 0xa084, 0x0003, 0x000e, 0x0005, + 0x0046, 0x00e6, 0x00d6, 0x2028, 0x2130, 0xa696, 0x00ff, 0x1198, + 0xa596, 0xfffd, 0x1120, 0x2009, 0x007f, 0x0804, 0x6bf2, 0xa596, + 0xfffe, 0x1118, 0x2009, 0x007e, 0x04e8, 0xa596, 0xfffc, 0x1118, + 0x2009, 0x0080, 0x04b8, 0x2011, 0x0000, 0x2019, 0xc635, 0x231c, + 0xd3ac, 0x0138, 0x2021, 0x0000, 0x20a9, 0x00ff, 0x2071, 0xc77b, + 0x0030, 0x2021, 0x0081, 0x20a9, 0x007e, 0x2071, 0xc7fc, 0x2e1c, + 0x83ff, 0x1128, 0x82ff, 0x1198, 0x2410, 0xc2fd, 0x0080, 0x2368, + 0x6f10, 0x0006, 0x2100, 0xa706, 0x000e, 0x6b14, 0x1120, 0xa346, + 0x1110, 0x2408, 0x0078, 0x87ff, 0x1110, 0x83ff, 0x0d58, 0x8420, + 0x8e70, 0x1f04, 0x6bcf, 0x82ff, 0x1118, 0xa085, 0x0001, 0x0018, + 0xc2fc, 0x2208, 0xa006, 0x00de, 0x00ee, 0x004e, 0x0005, 0xa084, + 0x0007, 0x000a, 0x0005, 0x6c03, 0x6c03, 0x6c03, 0x6dd0, 0x6c03, + 0x6c04, 0x6c19, 0x6c92, 0x0005, 0x7110, 0xd1bc, 0x0188, 0x7120, + 0x2160, 0xac8c, 0x0007, 0x1160, 0xac8a, 0xce00, 0x0248, 0x685c, + 0xac02, 0x1230, 0x7124, 0x610a, 0x2009, 0x0046, 0x080c, 0x95b5, + 0x0005, 0x00c6, 0xa484, 0x01ff, 0x0904, 0x6c70, 0x7110, 0xd1bc, + 0x1904, 0x6c70, 0x2011, 0xcc83, 0x2204, 0x8211, 0x220c, 0x080c, + 0x298d, 0x1904, 0x6c70, 0x080c, 0x52a1, 0x1904, 0x6c70, 0x6612, + 0x6516, 0x6000, 0xd0ec, 0x15e0, 0x6204, 0xa294, 0xff00, 0x8217, + 0xa286, 0x0006, 0x0160, 0x080c, 0x5ee2, 0x11d0, 0x6204, 0xa294, + 0x00ff, 0xa286, 0x0006, 0x11a0, 0xa295, 0x0600, 0x6206, 0x00c6, + 0x080c, 0x952f, 0x001e, 0x0530, 0x611a, 0x601f, 0x0006, 0x7120, + 0x610a, 0x7130, 0x6152, 0x2009, 0x0044, 0x080c, 0x95b5, 0x00c0, + 0x00c6, 0x080c, 0x952f, 0x001e, 0x0198, 0x611a, 0x601f, 0x0004, + 0x7120, 0x610a, 0xa286, 0x0004, 0x1118, 0x6007, 0x0005, 0x0010, + 0x6007, 0x0001, 0x6003, 0x0001, 0x080c, 0x79a3, 0x080c, 0x7e54, + 0x00ce, 0x0005, 0x2001, 0xc60d, 0x2004, 0xd0ec, 0x0120, 0x2011, + 0x8049, 0x080c, 0x403a, 0x00c6, 0x080c, 0xae9d, 0x001e, 0x0d80, + 0x611a, 0x601f, 0x0006, 0x7120, 0x610a, 0x7130, 0x6152, 0x6013, + 0x0300, 0x6003, 0x0001, 0x6007, 0x0041, 0x080c, 0x795d, 0x080c, + 0x7e54, 0x08f0, 0x7110, 0xd1bc, 0x0188, 0x7020, 0x2060, 0xac84, + 0x0007, 0x1160, 0xac82, 0xce00, 0x0248, 0x685c, 0xac02, 0x1230, + 0x7124, 0x610a, 0x2009, 0x0045, 0x080c, 0x95b5, 0x0005, 0x0006, + 0x080c, 0x2f2d, 0x000e, 0x1168, 0x7110, 0xa18c, 0xff00, 0x810f, + 0xa18e, 0x0000, 0x1130, 0xa084, 0x000f, 0xa08a, 0x0006, 0x1208, + 0x000b, 0x0005, 0x6cc0, 0x6cc1, 0x6cc0, 0x6cc0, 0x6d2a, 0x6d36, + 0x0005, 0x7110, 0xd1bc, 0x0120, 0x702c, 0xd084, 0x0904, 0x6d29, + 0x700c, 0x7108, 0x080c, 0x298d, 0x1904, 0x6d29, 0x080c, 0x52a1, + 0x1904, 0x6d29, 0x6612, 0x6516, 0x6204, 0x7110, 0xd1bc, 0x01f8, + 0xa28c, 0x00ff, 0xa186, 0x0004, 0x0118, 0xa186, 0x0006, 0x15c8, + 0x00c6, 0x080c, 0x6d42, 0x00ce, 0x0904, 0x6d29, 0x00c6, 0x080c, + 0x952f, 0x001e, 0x05f0, 0x611a, 0x080c, 0xafee, 0x601f, 0x0002, + 0x7120, 0x610a, 0x2009, 0x0088, 0x080c, 0x95b5, 0x0490, 0xa28c, + 0x00ff, 0xa186, 0x0006, 0x0160, 0xa186, 0x0004, 0x0148, 0xa294, + 0xff00, 0x8217, 0xa286, 0x0004, 0x0118, 0xa286, 0x0006, 0x1188, + 0x00c6, 0x080c, 0x952f, 0x001e, 0x01e0, 0x611a, 0x080c, 0xafee, + 0x601f, 0x0005, 0x7120, 0x610a, 0x2009, 0x0088, 0x080c, 0x95b5, + 0x0080, 0x00c6, 0x080c, 0x952f, 0x001e, 0x0158, 0x611a, 0x080c, + 0xafee, 0x601f, 0x0004, 0x7120, 0x610a, 0x2009, 0x0001, 0x080c, + 0x95b5, 0x0005, 0x7110, 0xd1bc, 0x0140, 0x00a1, 0x0130, 0x7124, + 0x610a, 0x2009, 0x0089, 0x080c, 0x95b5, 0x0005, 0x7110, 0xd1bc, + 0x0140, 0x0041, 0x0130, 0x7124, 0x610a, 0x2009, 0x008a, 0x080c, + 0x95b5, 0x0005, 0x7020, 0x2060, 0xac84, 0x0007, 0x1158, 0xac82, + 0xce00, 0x0240, 0x2001, 0xc617, 0x2004, 0xac02, 0x1218, 0xa085, + 0x0001, 0x0005, 0xa006, 0x0ce8, 0x00c6, 0x00d6, 0x00e6, 0x080c, + 0x2f2d, 0x1904, 0x6dcb, 0x2001, 0xc756, 0x2004, 0xa086, 0x0000, + 0x0904, 0x6dcb, 0x20e1, 0x0000, 0x3d08, 0xa18c, 0x00ff, 0xa18e, + 0x00ff, 0x1500, 0x3e00, 0xa086, 0xffff, 0x11e0, 0x2001, 0xc8d3, + 0x2064, 0x2009, 0x00ff, 0x0006, 0x0016, 0x2001, 0xc61d, 0x2004, + 0x20e1, 0x0001, 0x3e08, 0xa106, 0x1130, 0x2001, 0xc61c, 0x2004, + 0x3d08, 0xa106, 0x0118, 0x001e, 0x000e, 0x00a8, 0x001e, 0x000e, + 0x0804, 0x6dcb, 0x20e1, 0x0001, 0x3d08, 0x3e00, 0x0156, 0x080c, + 0x298d, 0x015e, 0x15c0, 0x080c, 0x52fd, 0x0128, 0x2001, 0xc8d3, + 0x2064, 0x2009, 0x00ff, 0x2138, 0x873f, 0x2c00, 0x2070, 0x20e1, + 0x0003, 0x3d18, 0x831f, 0xa39c, 0x00ff, 0x20e1, 0x2000, 0x3d00, + 0xa084, 0x7000, 0xa086, 0x1000, 0x0120, 0x080c, 0x75ae, 0x11d8, + 0x0080, 0x080c, 0x952f, 0x01b8, 0x20e1, 0x0002, 0x3e08, 0xd19c, + 0x0118, 0x6124, 0xc19d, 0x6126, 0x2e00, 0x601a, 0x620a, 0x601f, + 0x0009, 0x2009, 0x0101, 0x080c, 0x95b5, 0xa085, 0x0001, 0x00ee, + 0x00de, 0x00ce, 0x0005, 0xa006, 0x00ee, 0x00de, 0x00ce, 0x0005, + 0x7110, 0xd1bc, 0x1178, 0x7024, 0x2060, 0xac84, 0x0007, 0x1150, + 0xac82, 0xce00, 0x0238, 0x685c, 0xac02, 0x1220, 0x2009, 0x0051, + 0x080c, 0x95b5, 0x0005, 0x2031, 0x0105, 0x0069, 0x0005, 0x2031, + 0x0206, 0x0049, 0x0005, 0x2031, 0x0207, 0x0029, 0x0005, 0x2031, + 0x0213, 0x0009, 0x0005, 0x00c6, 0x00d6, 0x00f6, 0x7000, 0xa084, + 0xf000, 0xa086, 0xc000, 0x05b0, 0x080c, 0x952f, 0x0598, 0x0066, + 0x00c6, 0x0046, 0x2011, 0xcc83, 0x2204, 0x8211, 0x220c, 0x080c, + 0x298d, 0x1580, 0x080c, 0x52a1, 0x1568, 0x6612, 0x6516, 0x2c00, + 0x004e, 0x00ce, 0x601a, 0x080c, 0xafee, 0x080c, 0x15fe, 0x01f0, + 0x2d00, 0x6056, 0x6803, 0x0000, 0x6837, 0x0000, 0x6c3a, 0xadf8, + 0x000f, 0x20a9, 0x000e, 0x2fa0, 0x2e98, 0x53a3, 0x006e, 0x6612, + 0x6007, 0x003e, 0x601f, 0x0001, 0x6003, 0x0001, 0x080c, 0x79a3, + 0x080c, 0x7e54, 0x00fe, 0x00de, 0x00ce, 0x0005, 0x080c, 0x9585, + 0x006e, 0x0cc0, 0x004e, 0x00ce, 0x0cc8, 0x0156, 0x0046, 0x2e00, + 0xa0a0, 0x000e, 0x2404, 0x2020, 0x8427, 0xa4a4, 0x0007, 0xd484, + 0x0148, 0x20a9, 0x0003, 0x2019, 0xc606, 0x2011, 0xcc9b, 0x080c, + 0xa0a2, 0x11d8, 0xd48c, 0x0148, 0x20a9, 0x0003, 0x2019, 0xc602, + 0x2011, 0xcc9f, 0x080c, 0xa0a2, 0x1180, 0xd494, 0x0170, 0x080c, + 0x7658, 0x0148, 0x20a9, 0x0008, 0x2019, 0xc69a, 0x2011, 0xccaa, + 0x080c, 0xa0b7, 0x0010, 0xa085, 0x0001, 0x004e, 0x015e, 0x0005, + 0x0156, 0x0046, 0x2e00, 0xa0a0, 0x000e, 0x2404, 0x2020, 0x8427, + 0xa4a4, 0x0007, 0xd484, 0x0148, 0x20a9, 0x0003, 0x2019, 0xc606, + 0x2011, 0xcc93, 0x080c, 0xa0a2, 0x11d8, 0xd48c, 0x0148, 0x20a9, + 0x0003, 0x2019, 0xc602, 0x2011, 0xcc97, 0x080c, 0xa0a2, 0x1180, + 0xd494, 0x0170, 0x080c, 0x7658, 0x0148, 0x20a9, 0x0008, 0x2019, + 0xc69a, 0x2011, 0xcca2, 0x080c, 0xa0b7, 0x0010, 0xa085, 0x0001, + 0x004e, 0x015e, 0x0005, 0x2071, 0xc93a, 0x7003, 0x0003, 0x700f, + 0x0361, 0xa006, 0x701a, 0x7076, 0x7012, 0x7017, 0xce00, 0x7007, + 0x0000, 0x7026, 0x702b, 0x8bb5, 0x7032, 0x7037, 0x8c15, 0x703b, + 0xffff, 0x703f, 0xffff, 0x7042, 0x7047, 0x4740, 0x704a, 0x705b, + 0x7003, 0x2001, 0xc8e8, 0x2003, 0x0003, 0x2001, 0xc8ea, 0x2003, + 0x0100, 0x3a00, 0xa084, 0x0005, 0x706e, 0x0005, 0x2071, 0xc93a, + 0x1d04, 0x6f60, 0x2091, 0x6000, 0x700c, 0x8001, 0x700e, 0x1518, + 0x700f, 0x0361, 0x7007, 0x0001, 0x0126, 0x2091, 0x8000, 0x7040, + 0xa00d, 0x0128, 0x8109, 0x7142, 0x1110, 0x7044, 0x080f, 0x00c6, + 0x2061, 0xc600, 0x6034, 0x00ce, 0xd0cc, 0x0180, 0x3a00, 0xa084, + 0x0005, 0x726c, 0xa216, 0x0150, 0x706e, 0x2011, 0x8043, 0x2018, + 0x080c, 0x403a, 0x0018, 0x0126, 0x2091, 0x8000, 0x7024, 0xa00d, + 0x0188, 0x7020, 0x8001, 0x7022, 0x1168, 0x7023, 0x0009, 0x8109, + 0x7126, 0xa186, 0x03e8, 0x1110, 0x7028, 0x080f, 0x81ff, 0x1110, + 0x7028, 0x080f, 0x7030, 0xa00d, 0x0180, 0x702c, 0x8001, 0x702e, + 0x1160, 0x702f, 0x0009, 0x8109, 0x7132, 0x0128, 0xa184, 0x007f, + 0x090c, 0x8c71, 0x0010, 0x7034, 0x080f, 0x7038, 0xa005, 0x0118, + 0x0310, 0x8001, 0x703a, 0x703c, 0xa005, 0x0118, 0x0310, 0x8001, + 0x703e, 0x704c, 0xa00d, 0x0168, 0x7048, 0x8001, 0x704a, 0x1148, + 0x704b, 0x0009, 0x8109, 0x714e, 0x1120, 0x7150, 0x714e, 0x7058, + 0x080f, 0x7018, 0xa00d, 0x01d8, 0x0016, 0x7074, 0xa00d, 0x0158, + 0x7070, 0x8001, 0x7072, 0x1138, 0x7073, 0x0009, 0x8109, 0x7176, + 0x1110, 0x7078, 0x080f, 0x001e, 0x7008, 0x8001, 0x700a, 0x1138, + 0x700b, 0x0009, 0x8109, 0x711a, 0x1110, 0x701c, 0x080f, 0x012e, + 0x7004, 0x0002, 0x6f86, 0x6f87, 0x6f9f, 0x00e6, 0x2071, 0xc93a, + 0x7018, 0xa005, 0x1120, 0x711a, 0x721e, 0x700b, 0x0009, 0x00ee, + 0x0005, 0x00e6, 0x0006, 0x2071, 0xc93a, 0x701c, 0xa206, 0x1110, + 0x701a, 0x701e, 0x000e, 0x00ee, 0x0005, 0x00e6, 0x2071, 0xc93a, + 0x6088, 0xa102, 0x0208, 0x618a, 0x00ee, 0x0005, 0x0005, 0x7110, + 0x080c, 0x52fd, 0x1158, 0x6088, 0x8001, 0x0240, 0x608a, 0x1130, + 0x0126, 0x2091, 0x8000, 0x080c, 0x7e54, 0x012e, 0x8108, 0xa182, + 0x00ff, 0x0218, 0xa00e, 0x7007, 0x0002, 0x7112, 0x0005, 0x7014, + 0x2060, 0x0126, 0x2091, 0x8000, 0x603c, 0xa005, 0x0128, 0x8001, + 0x603e, 0x1110, 0x080c, 0xaedc, 0x6014, 0xa005, 0x0518, 0x8001, + 0x6016, 0x1500, 0x611c, 0xa186, 0x0003, 0x0130, 0xa186, 0x0006, + 0x0118, 0xa186, 0x0009, 0x11a0, 0x6010, 0x2068, 0x6854, 0xa08a, + 0x199a, 0x0270, 0xa082, 0x1999, 0x6856, 0xa08a, 0x199a, 0x0210, + 0x2001, 0x1999, 0x8003, 0x800b, 0x810b, 0xa108, 0x6116, 0x0010, + 0x080c, 0xa9b4, 0x012e, 0xac88, 0x0018, 0x7116, 0x2001, 0xfe00, + 0xa102, 0x0220, 0x7017, 0xce00, 0x7007, 0x0000, 0x0005, 0x00e6, + 0x2071, 0xc93a, 0x7027, 0x07d0, 0x7023, 0x0009, 0x00ee, 0x0005, + 0x2001, 0xc943, 0x2003, 0x0000, 0x0005, 0x00e6, 0x2071, 0xc93a, + 0x7132, 0x702f, 0x0009, 0x00ee, 0x0005, 0x2011, 0xc946, 0x2013, + 0x0000, 0x0005, 0x00e6, 0x2071, 0xc93a, 0x711a, 0x721e, 0x700b, + 0x0009, 0x00ee, 0x0005, 0x00c6, 0x0026, 0x7054, 0x8000, 0x7056, + 0x2061, 0xc8e8, 0x6008, 0xa086, 0x0000, 0x0158, 0x7068, 0x6032, + 0x7064, 0x602e, 0x7060, 0x602a, 0x705c, 0x6026, 0x2c10, 0x080c, + 0x1649, 0x002e, 0x00ce, 0x0005, 0x0006, 0x0016, 0x00c6, 0x00d6, + 0x00e6, 0x00f6, 0x080c, 0x6ece, 0x00fe, 0x00ee, 0x00de, 0x00ce, + 0x001e, 0x000e, 0x0005, 0x00e6, 0x2071, 0xc93a, 0x7176, 0x727a, + 0x7073, 0x0009, 0x00ee, 0x0005, 0x00e6, 0x0006, 0x2071, 0xc93a, + 0x7078, 0xa206, 0x1110, 0x7076, 0x707a, 0x000e, 0x00ee, 0x0005, + 0x00c6, 0x2061, 0xc9bc, 0x00ce, 0x0005, 0xa184, 0x000f, 0x8003, + 0x8003, 0x8003, 0xa080, 0xc9bc, 0x2060, 0x0005, 0x6854, 0xa08a, + 0x199a, 0x0210, 0x2001, 0x1999, 0xa005, 0x1150, 0x00c6, 0x2061, + 0xc9bc, 0x6014, 0x00ce, 0xa005, 0x1138, 0x2001, 0x001e, 0x0020, + 0xa08e, 0xffff, 0x1108, 0xa006, 0x8003, 0x800b, 0x810b, 0xa108, + 0x6116, 0x684c, 0xa08c, 0x00c0, 0xa18e, 0x00c0, 0x05e8, 0xd0b4, + 0x1138, 0xd0bc, 0x1550, 0x2009, 0x0006, 0x080c, 0x70c9, 0x0005, + 0xd0fc, 0x0138, 0xa084, 0x0003, 0x0120, 0xa086, 0x0003, 0x1904, + 0x70c3, 0x6020, 0xd0d4, 0x0130, 0xc0d4, 0x6022, 0x6860, 0x602a, + 0x685c, 0x602e, 0x2009, 0xc674, 0x2104, 0xd084, 0x0138, 0x87ff, + 0x1120, 0x2009, 0x0042, 0x080c, 0x95b5, 0x0005, 0x87ff, 0x1120, + 0x2009, 0x0043, 0x080c, 0x95b5, 0x0005, 0xd0fc, 0x0130, 0xa084, + 0x0003, 0x0118, 0xa086, 0x0003, 0x11f0, 0x87ff, 0x1120, 0x2009, + 0x0042, 0x080c, 0x95b5, 0x0005, 0xd0fc, 0x0160, 0xa084, 0x0003, + 0xa08e, 0x0002, 0x0148, 0x87ff, 0x1120, 0x2009, 0x0041, 0x080c, + 0x95b5, 0x0005, 0x0061, 0x0ce8, 0x87ff, 0x1dd8, 0x2009, 0x0043, + 0x080c, 0x95b5, 0x0cb0, 0x2009, 0x0004, 0x0019, 0x0005, 0x2009, + 0x0001, 0x00d6, 0x6010, 0xa0ec, 0xf000, 0x0510, 0x2068, 0x6952, + 0x6800, 0x6012, 0xa186, 0x0001, 0x1188, 0x694c, 0xa18c, 0x8100, + 0xa18e, 0x8100, 0x1158, 0x00c6, 0x2061, 0xc9bc, 0x6200, 0xd28c, + 0x1120, 0x6204, 0x8210, 0x0208, 0x6206, 0x00ce, 0x080c, 0x57ca, + 0x6010, 0xa06d, 0x0076, 0x2039, 0x0000, 0x190c, 0x704e, 0x007e, + 0x00de, 0x0005, 0x0156, 0x00c6, 0x2061, 0xc9bc, 0x6000, 0x81ff, + 0x0110, 0xa205, 0x0008, 0xa204, 0x6002, 0x00ce, 0x015e, 0x0005, + 0x6800, 0xd08c, 0x1138, 0x6808, 0xa005, 0x0120, 0x8001, 0x680a, + 0xa085, 0x0001, 0x0005, 0x2071, 0xc755, 0x7003, 0x0006, 0x7007, + 0x0000, 0x700f, 0x0000, 0x7013, 0x0001, 0x702f, 0x0006, 0x7033, + 0x0001, 0x7063, 0x0000, 0x0005, 0x00e6, 0x2071, 0xc755, 0x6a2c, + 0x721e, 0x6b30, 0x7322, 0x6834, 0x7026, 0x705a, 0x6838, 0x702a, + 0x705e, 0x6824, 0x7016, 0x683c, 0x701a, 0x2009, 0x0070, 0x200a, + 0xa005, 0x0150, 0x2009, 0x0000, 0xa188, 0x000c, 0x8001, 0x1de0, + 0x2100, 0xa210, 0x1208, 0x8318, 0x7252, 0x7356, 0x7010, 0xc084, + 0x7012, 0x7007, 0x0001, 0x700f, 0x0000, 0xa006, 0x00ee, 0x0005, + 0x2b78, 0x2071, 0xc755, 0x7004, 0x004b, 0x700c, 0x0002, 0x7152, + 0x714b, 0x714b, 0x0005, 0x715c, 0x71ad, 0x71ae, 0x71af, 0x71b0, + 0x71c3, 0x71c4, 0x700c, 0x0cba, 0x2f00, 0xa080, 0x0070, 0x2004, + 0x2f08, 0xa188, 0x0070, 0x210c, 0xa106, 0x0150, 0x2f00, 0xa080, + 0x0070, 0x2004, 0x2f08, 0xa188, 0x0070, 0x210c, 0xa106, 0x15e0, + 0x7018, 0xa10a, 0x1118, 0x080c, 0x71f1, 0x04b0, 0x1210, 0x7114, + 0xa10a, 0xa192, 0x000a, 0x0210, 0x2009, 0x000a, 0x00d6, 0x0016, + 0x2001, 0xc682, 0xa080, 0x0011, 0x2014, 0x2001, 0xc76f, 0xa080, + 0x0005, 0x2004, 0xa100, 0xa202, 0x001e, 0x00de, 0x0e20, 0x080c, + 0x7240, 0x2200, 0xa102, 0x0208, 0x2208, 0x713a, 0x080c, 0x733b, + 0x2100, 0x7042, 0x2001, 0x0002, 0x7037, 0x0000, 0x0126, 0x0006, + 0x2091, 0x8000, 0x2009, 0xc959, 0x2104, 0xc095, 0x200a, 0x000e, + 0x700e, 0x012e, 0x080c, 0x1661, 0x0005, 0x0005, 0x0005, 0x0005, + 0x700c, 0x0002, 0x71b5, 0x71b8, 0x71c2, 0x080c, 0x715a, 0x0005, + 0x0126, 0x8001, 0x700e, 0x7138, 0x0041, 0x2091, 0x8000, 0x080c, + 0x715a, 0x012e, 0x0005, 0x0005, 0x0005, 0x7018, 0xa100, 0x7214, + 0xa21a, 0x1130, 0x701c, 0x7052, 0x7020, 0x7056, 0xa006, 0x0068, + 0x0006, 0x080c, 0x733b, 0x2100, 0x7250, 0xa210, 0x7252, 0x1220, + 0x7054, 0xa081, 0x0000, 0x7056, 0x000e, 0x2f08, 0xa188, 0x0070, + 0x200a, 0x701a, 0x0005, 0x00e6, 0x2071, 0xc755, 0x700c, 0x0002, + 0x71eb, 0x71eb, 0x71ed, 0x00ee, 0x0005, 0x700f, 0x0001, 0x00ee, + 0x0005, 0x0126, 0x2091, 0x8000, 0x00d6, 0x00e6, 0x2071, 0xc76f, + 0x702c, 0xa005, 0x0178, 0x2068, 0x6964, 0x080c, 0x7240, 0x2100, + 0x2208, 0xa102, 0x0238, 0x6800, 0x702e, 0x080c, 0x757d, 0x080c, + 0x1625, 0x0c70, 0x00ee, 0x00de, 0x012e, 0x0005, 0x00e6, 0x2071, + 0xc76f, 0x702c, 0x6802, 0x2d00, 0x702e, 0x6858, 0x7120, 0xa102, + 0x0a0c, 0x1515, 0x7022, 0x685b, 0x0000, 0x00ee, 0x0005, 0x00d6, + 0x00e6, 0x2071, 0xc76f, 0xa006, 0x7006, 0x700e, 0x701a, 0x701e, + 0x7022, 0x7016, 0x702a, 0x7026, 0x702f, 0x0000, 0x080c, 0x73ef, + 0x0168, 0x080c, 0x7421, 0x2d00, 0x7002, 0x700a, 0x701a, 0x7013, + 0x0001, 0x701f, 0x0007, 0x00ee, 0x00de, 0x0005, 0xa00e, 0x0cd8, + 0x00e6, 0x00d6, 0x00c6, 0x2071, 0xc76f, 0x721c, 0x2100, 0xa202, + 0x1618, 0x080c, 0x7421, 0x090c, 0x1515, 0x7018, 0xa005, 0x1160, + 0x2d00, 0x7002, 0x700a, 0x701a, 0xa006, 0x7006, 0x700e, 0x6806, + 0x6802, 0x7012, 0x701e, 0x0038, 0x2060, 0x6806, 0x2d00, 0x6002, + 0x701a, 0x6803, 0x0000, 0x7010, 0x8000, 0x7012, 0x701c, 0xa080, + 0x0007, 0x701e, 0x721c, 0x08d0, 0x721c, 0x00ce, 0x00de, 0x00ee, + 0x0005, 0x0156, 0x0136, 0x0146, 0x00e6, 0x0126, 0x2091, 0x8000, + 0x2071, 0xc76f, 0x7300, 0xa398, 0x0003, 0x7104, 0x080c, 0x733b, + 0x810c, 0x2100, 0xa318, 0x8003, 0x2228, 0x2021, 0x0054, 0xa402, + 0xa532, 0x0208, 0x2028, 0x2500, 0x8004, 0x20a8, 0x23a0, 0xe000, + 0xe000, 0xe000, 0x53a5, 0x2508, 0x080c, 0x7344, 0x2130, 0x7014, + 0xa600, 0x7016, 0x2600, 0x711c, 0xa102, 0x701e, 0x7004, 0xa600, + 0x2008, 0xa082, 0x0007, 0x1180, 0x7000, 0x2004, 0xa005, 0x1140, + 0x2009, 0x0001, 0x0026, 0x080c, 0x7240, 0x002e, 0x7000, 0x2004, + 0x7002, 0x7007, 0x0000, 0x0008, 0x7106, 0x2500, 0xa212, 0x1910, + 0x012e, 0x00ee, 0x014e, 0x013e, 0x015e, 0x0005, 0x0016, 0x0026, + 0x00e6, 0x00d6, 0x080c, 0x7304, 0x15e0, 0x2170, 0x2805, 0xac68, + 0x2900, 0x0002, 0x72da, 0x72da, 0x72de, 0x72da, 0x72de, 0x72da, + 0x72da, 0x72da, 0x72da, 0x72da, 0x72e7, 0x72da, 0x72e7, 0x72da, + 0x72da, 0x72da, 0x080c, 0x1515, 0xa005, 0x00f0, 0x7000, 0x6802, + 0x7004, 0x6806, 0x7010, 0x680a, 0x680f, 0x0000, 0x0060, 0x7010, + 0x6812, 0x6817, 0x0000, 0x7000, 0x6802, 0x7004, 0x6806, 0x7008, + 0x680a, 0x700c, 0x680e, 0x00de, 0x685c, 0x8000, 0x685e, 0x6858, + 0x8001, 0x685a, 0x00d6, 0xa006, 0x00de, 0x00ee, 0x002e, 0x001e, + 0x0005, 0xa085, 0x0001, 0x0cc0, 0x00e6, 0x0036, 0x2071, 0xc76f, + 0x7014, 0xa005, 0x0568, 0x8001, 0x7016, 0x7020, 0x8001, 0x7022, + 0x7008, 0xa080, 0x0003, 0x710c, 0x2110, 0x0429, 0x810c, 0xa118, + 0x8210, 0xa282, 0x0007, 0x11b0, 0x7008, 0x2004, 0xa005, 0x0178, + 0x00d6, 0x0006, 0x7008, 0x2068, 0x080c, 0x7430, 0x000e, 0x2068, + 0x6807, 0x0000, 0x700a, 0x00de, 0x7010, 0x8001, 0x7012, 0x700f, + 0x0000, 0x0008, 0x720e, 0x2308, 0xa006, 0x003e, 0x00ee, 0x0005, + 0xa085, 0x0001, 0x0cd0, 0x0006, 0x810b, 0x810b, 0x2100, 0x810b, + 0xa100, 0x2008, 0x000e, 0x0005, 0x0006, 0x0026, 0x2100, 0xa005, + 0x0160, 0xa092, 0x000c, 0x0248, 0x2009, 0x0000, 0x8108, 0xa082, + 0x000c, 0x1de0, 0x002e, 0x000e, 0x0005, 0x2009, 0x0000, 0x0cd0, + 0x2d00, 0xa0b8, 0x0008, 0x690c, 0x6810, 0x2019, 0x0001, 0x2031, + 0x7386, 0xa112, 0x0220, 0x0118, 0x8318, 0x2208, 0x0cd0, 0x6808, + 0xa005, 0x0108, 0x8318, 0x233a, 0x6804, 0xd084, 0x2300, 0x2021, + 0x0001, 0x1150, 0xa082, 0x0003, 0x0967, 0x0a67, 0x8420, 0xa082, + 0x0007, 0x0967, 0x0a67, 0x0cd0, 0xa082, 0x0002, 0x0967, 0x0a67, + 0x8420, 0xa082, 0x0005, 0x0967, 0x0a67, 0x0cd0, 0x6c1a, 0x2d00, + 0xa0b8, 0x0007, 0x00e6, 0x2071, 0xc600, 0x7128, 0x6810, 0x2019, + 0x0001, 0xa10a, 0x0118, 0x0210, 0x8318, 0x0cd8, 0x2031, 0x7399, + 0x0870, 0x6c16, 0x00ee, 0x0005, 0x00e6, 0x00c6, 0x0126, 0x2091, + 0x8000, 0x2e00, 0x2060, 0x2071, 0xc76f, 0x2009, 0x0001, 0x0026, + 0x080c, 0x7240, 0x002e, 0x7300, 0xa398, 0x0003, 0x7104, 0x080c, + 0x733b, 0x810c, 0x2100, 0xa318, 0x6834, 0xa084, 0x00ff, 0xa086, + 0x0024, 0x00d6, 0x2368, 0x1138, 0x6000, 0x6802, 0x6004, 0x6806, + 0x6008, 0x6812, 0x0050, 0x6000, 0x6802, 0x6004, 0x6806, 0x6008, + 0x680a, 0x600c, 0x680e, 0x6010, 0x6812, 0x00de, 0x7014, 0x8000, + 0x7016, 0x711c, 0x8109, 0x711e, 0x7004, 0x8000, 0x2008, 0xa082, + 0x0007, 0x1180, 0x7000, 0x2004, 0xa005, 0x1140, 0x2009, 0x0001, + 0x0026, 0x080c, 0x7240, 0x002e, 0x7000, 0x2004, 0x7002, 0x7007, + 0x0000, 0x0008, 0x7106, 0x012e, 0x00ce, 0x00ee, 0x0005, 0x00d6, + 0x0046, 0x0126, 0x2091, 0x8000, 0x2001, 0xc682, 0xa080, 0x0011, + 0x2004, 0x8003, 0x2020, 0x080c, 0x15e1, 0x01d0, 0x2d00, 0x7026, + 0x6803, 0x0000, 0x6807, 0x0000, 0x080c, 0x15e1, 0x0188, 0x7024, + 0x6802, 0x6807, 0x0000, 0x2d00, 0x7026, 0xa4a2, 0x0007, 0x0110, + 0x0208, 0x0c90, 0xa085, 0x0001, 0x012e, 0x004e, 0x00de, 0x0005, + 0x7024, 0xa005, 0x0dc8, 0x2068, 0x2024, 0x080c, 0x1615, 0x2400, + 0x0cc0, 0x0126, 0x2091, 0x8000, 0x7024, 0x2068, 0xa005, 0x0130, + 0x2004, 0x7026, 0x6803, 0x0000, 0x6807, 0x0000, 0x012e, 0x0005, + 0x0126, 0x2091, 0x8000, 0x7024, 0x6802, 0x2d00, 0x7026, 0x012e, + 0x0005, 0x00d6, 0x2001, 0xc778, 0x2004, 0xa005, 0x0138, 0x2068, + 0x6800, 0x0006, 0x080c, 0x1615, 0x000e, 0x0cb8, 0x00de, 0x0005, + 0x00d6, 0x00e6, 0x2071, 0xc76f, 0x7008, 0xa005, 0x0138, 0x2068, + 0x6800, 0x0006, 0x080c, 0x1615, 0x000e, 0x0cb8, 0xa006, 0x7002, + 0x700a, 0x7006, 0x700e, 0x701a, 0x701e, 0x7022, 0x702a, 0x7026, + 0x702e, 0x00ee, 0x00de, 0x0005, 0x00f6, 0x00e6, 0x00d6, 0x00c6, + 0x0086, 0x0046, 0x0056, 0x0026, 0x2031, 0x0000, 0x2001, 0xc756, + 0x2004, 0xa005, 0x0904, 0x74f6, 0x2071, 0xc682, 0x20e1, 0x0002, + 0x3d08, 0xd19c, 0x0140, 0x2069, 0xc600, 0x6a28, 0x761c, 0x7114, + 0x2041, 0x0000, 0x0028, 0x7118, 0x720c, 0x7620, 0x7008, 0x2040, + 0x080c, 0x75eb, 0x0904, 0x74f6, 0x7004, 0xd084, 0x1128, 0x2021, + 0x0024, 0x2029, 0x0002, 0x0020, 0x2021, 0x002c, 0x2029, 0x000a, + 0x080c, 0x15fe, 0x0904, 0x74ee, 0x2d00, 0x2060, 0x6436, 0x0016, + 0x20e1, 0x0001, 0x3d08, 0x3e00, 0xa18c, 0x00ff, 0x6142, 0x603e, + 0x001e, 0x6746, 0x2700, 0xa086, 0xff00, 0x1118, 0x6063, 0x0000, + 0x0010, 0x6063, 0x0003, 0xa006, 0x6002, 0x602a, 0x602e, 0x6006, + 0x603a, 0x604a, 0x6052, 0x6057, 0x0005, 0x605e, 0x6066, 0x604e, + 0x2800, 0x606a, 0x604c, 0xc0ad, 0x604e, 0x665a, 0x2c00, 0x2078, + 0x0479, 0x607f, 0xffff, 0x6083, 0x0000, 0x8109, 0x0180, 0x080c, + 0x15fe, 0x01c0, 0x2d00, 0x7806, 0x2f00, 0x6802, 0x6d36, 0xa006, + 0x2d00, 0x2520, 0x00e9, 0x2d00, 0x2078, 0x8109, 0x1d80, 0x2c00, + 0xa005, 0x002e, 0x005e, 0x004e, 0x008e, 0x00ce, 0x00de, 0x00ee, + 0x00fe, 0x0005, 0x2c00, 0x2068, 0x080c, 0x1625, 0x2600, 0x2071, + 0xc76f, 0x7120, 0xa102, 0x0a0c, 0x1515, 0x7022, 0xa006, 0x0c48, + 0x00d6, 0x00c6, 0x0136, 0x0146, 0x0156, 0x0016, 0x2068, 0x2400, + 0xa084, 0x000f, 0xa080, 0x2398, 0x2005, 0x2005, 0xad60, 0x2c00, + 0x2d08, 0xa188, 0x0030, 0xa102, 0x20a8, 0x2c00, 0x20a0, 0x2001, + 0xffff, 0x40a4, 0x001e, 0x015e, 0x014e, 0x013e, 0x00ce, 0x00de, + 0x0005, 0x00c6, 0x00e6, 0x00f6, 0x6858, 0x2071, 0xc76f, 0x7120, + 0xa102, 0x0a0c, 0x1515, 0x7022, 0x6960, 0x694e, 0x697c, 0x2009, + 0xffff, 0x7818, 0xa102, 0xe000, 0x6852, 0x684b, 0x0000, 0x6868, + 0xa005, 0x0118, 0x6848, 0xc085, 0x684a, 0x2d00, 0xa080, 0x0015, + 0x2038, 0x2031, 0x0018, 0x6864, 0x2020, 0x683a, 0x685c, 0xa08a, + 0x00ff, 0x1a0c, 0x1515, 0x2028, 0x2d00, 0x2060, 0x2078, 0x6934, + 0xa18c, 0x000f, 0xa188, 0x2398, 0x2145, 0x685c, 0x2050, 0xa005, + 0x0530, 0x2805, 0xac70, 0x6834, 0xa084, 0x00ff, 0xa086, 0x0024, + 0x1110, 0x7008, 0x0040, 0x6834, 0xa084, 0x00ff, 0xa086, 0x002c, + 0x190c, 0x1515, 0x7010, 0x0006, 0x2400, 0xa005, 0x000e, 0x0168, + 0x203a, 0x8738, 0x8631, 0x090c, 0x1515, 0x8421, 0x8529, 0x0138, + 0x080c, 0x235a, 0x090c, 0x1515, 0x08e0, 0x080c, 0x739c, 0x6837, + 0x0023, 0x00fe, 0x00ee, 0x00ce, 0x0005, 0x00e6, 0x00c6, 0x00a6, + 0x0086, 0x0056, 0x2d00, 0x2060, 0x6934, 0xa18c, 0x000f, 0xa188, + 0x2398, 0x2145, 0x685c, 0x2050, 0xa005, 0x01d0, 0x2028, 0x2805, + 0xac70, 0x6834, 0xa084, 0x00ff, 0xa086, 0x0024, 0x1110, 0x7008, + 0x0008, 0x7010, 0x0006, 0xa086, 0xffff, 0x000e, 0x0110, 0x080c, + 0x739c, 0x8529, 0x0128, 0x080c, 0x235a, 0x090c, 0x1515, 0x0c38, + 0x005e, 0x008e, 0x00ae, 0x00ce, 0x00ee, 0x0005, 0x70ac, 0xa005, + 0x0120, 0x2060, 0x6008, 0xa306, 0x0005, 0xa085, 0x0001, 0x0ce0, + 0x70ac, 0x600e, 0x2c00, 0x70ae, 0x0005, 0x00f6, 0x00d6, 0x0036, + 0x70ac, 0xa005, 0x01b8, 0x2068, 0x2079, 0x0000, 0x2c08, 0xa11e, + 0x1118, 0x680c, 0x70ae, 0x0060, 0xa106, 0x0140, 0x2d00, 0x2078, + 0x680c, 0xa005, 0x090c, 0x1515, 0x2068, 0x0cb0, 0x6b0c, 0x7b0e, + 0x600f, 0x0000, 0x003e, 0x00de, 0x00fe, 0x0005, 0x00e6, 0x080c, + 0x720e, 0x6018, 0x2070, 0xa006, 0x70b2, 0x70b6, 0x08b1, 0x080c, + 0x9585, 0x00ee, 0x0005, 0x00d6, 0x0026, 0x0016, 0x2061, 0xc76f, + 0x6020, 0x6414, 0xa600, 0xa42a, 0x02f0, 0x6022, 0x2069, 0xc682, + 0x6828, 0x6114, 0xa102, 0x1288, 0x685c, 0xd08c, 0x1130, 0xc08d, + 0x685e, 0x2011, 0x8025, 0x080c, 0x403a, 0x2001, 0xc695, 0x2004, + 0xa080, 0x0000, 0x200c, 0x8108, 0x2102, 0xa085, 0x0001, 0x001e, + 0x002e, 0x00de, 0x0005, 0x2069, 0xc682, 0x6804, 0xd094, 0x0148, + 0x685c, 0xd084, 0x1130, 0xc085, 0x685e, 0x2011, 0x8026, 0x080c, + 0x403a, 0x2001, 0xc695, 0x2004, 0xa080, 0x0001, 0x200c, 0x8108, + 0x2102, 0xa006, 0x2031, 0x0000, 0x0c10, 0x0006, 0x0016, 0x00c6, + 0x6018, 0x2060, 0x6010, 0xa005, 0x0178, 0x2001, 0xc756, 0x2004, + 0xa005, 0x0150, 0x2001, 0xc600, 0x2004, 0xa086, 0x0003, 0x1120, + 0x2011, 0x8014, 0x080c, 0x403a, 0x00ce, 0x001e, 0x000e, 0x0005, + 0x0016, 0x6834, 0xa08c, 0x00ff, 0xa186, 0x0024, 0x0110, 0xa186, + 0x002c, 0x001e, 0x0005, 0x2001, 0xc683, 0x2004, 0xd09c, 0x0005, + 0x2001, 0xc683, 0x2004, 0xd0a4, 0x0005, 0x0066, 0x6000, 0xa0b2, + 0x0010, 0x1a0c, 0x1515, 0x0013, 0x006e, 0x0005, 0x7676, 0x7676, + 0x7676, 0x7678, 0x76d3, 0x7676, 0x7676, 0x7676, 0x7711, 0x7676, + 0x776e, 0x7676, 0x7676, 0x7676, 0x7676, 0x7676, 0x080c, 0x1515, + 0xa182, 0x0100, 0x0002, 0x768a, 0x768a, 0x768a, 0x768c, 0x76a5, + 0x76bf, 0x768a, 0x768a, 0x768a, 0x768a, 0x768a, 0x768a, 0x768a, + 0x768a, 0x768a, 0x080c, 0x1515, 0x00d6, 0x080c, 0x7e07, 0x080c, + 0x7f2e, 0x6110, 0x2168, 0x684b, 0x0000, 0x00d6, 0x6018, 0x2068, + 0x6008, 0x68b6, 0x68bb, 0x0500, 0xa006, 0x68b2, 0x00de, 0x080c, + 0x57ca, 0x080c, 0x9585, 0x00de, 0x0005, 0x080c, 0x7e07, 0x00f6, + 0x00d6, 0x6110, 0x2178, 0x080c, 0xac21, 0x0150, 0x00e6, 0x6018, + 0x2070, 0xa006, 0x70b2, 0x70b6, 0x00ee, 0x2f68, 0x080c, 0x57ca, + 0x00de, 0x00fe, 0x080c, 0x9585, 0x080c, 0x7f2e, 0x0005, 0x080c, + 0x7e07, 0x080c, 0x2e0a, 0x00d6, 0x6110, 0x2168, 0x080c, 0xac21, + 0x0120, 0x684b, 0x0029, 0x080c, 0x57ca, 0x00de, 0x080c, 0x9585, + 0x080c, 0x7f2e, 0x0005, 0xa182, 0x0100, 0x0002, 0x76e5, 0x76e7, + 0x76ef, 0x76e5, 0x76e5, 0x76e5, 0x770c, 0x76e5, 0x76e5, 0x76e5, + 0x76e5, 0x76e5, 0x76e5, 0x76e5, 0x76e5, 0x080c, 0x1515, 0x20e1, + 0x0005, 0x3d18, 0x3e20, 0x2c10, 0x080c, 0x1868, 0x0005, 0x00d6, + 0x00e6, 0x2001, 0xc756, 0x2004, 0xa086, 0x0000, 0x6110, 0x1118, + 0x080c, 0x1625, 0x0028, 0x2168, 0x080c, 0x7519, 0x080c, 0x57ca, + 0x6018, 0x2070, 0xa006, 0x70b2, 0x70b6, 0x080c, 0x75bd, 0x00ee, + 0x00de, 0x080c, 0x9585, 0x0005, 0x080c, 0x75de, 0x080c, 0x5687, + 0x0005, 0xa182, 0x0100, 0x0002, 0x7726, 0x774c, 0x7724, 0x7724, + 0x7724, 0x7724, 0x7724, 0x7724, 0x7724, 0x7724, 0x7724, 0x7724, + 0x7724, 0x7724, 0x7724, 0x7724, 0x080c, 0x1515, 0x00d6, 0x6003, + 0x0003, 0x6106, 0x6010, 0x2068, 0x687c, 0x680a, 0x6880, 0x680e, + 0x6813, 0x0000, 0x6817, 0x0000, 0x6854, 0xa092, 0x199a, 0x0210, + 0x2001, 0x1999, 0x8003, 0x8013, 0x8213, 0xa210, 0x6216, 0x00de, + 0x2c10, 0x080c, 0x2039, 0x080c, 0x79c0, 0x0126, 0x2091, 0x8000, + 0x080c, 0x7f2e, 0x012e, 0x0005, 0x6003, 0x0004, 0x630a, 0x080c, + 0x7464, 0x0168, 0x6012, 0x600f, 0x0000, 0x080c, 0x75b8, 0x20e1, + 0x0005, 0x3d18, 0x3e20, 0x2c10, 0x080c, 0x1868, 0x0005, 0x2011, + 0x0000, 0x080c, 0x1868, 0x00e6, 0x6018, 0x2070, 0x70b3, 0x0000, + 0x70b7, 0x0000, 0x00ee, 0x080c, 0x9585, 0x0005, 0x00d6, 0x080c, + 0x7e07, 0x080c, 0x7f2e, 0x6110, 0x2168, 0x684b, 0x0000, 0x00d6, + 0x6018, 0x2068, 0x6008, 0x68b6, 0x68bb, 0x0500, 0xa006, 0x68b2, + 0x00de, 0x080c, 0x57ca, 0x080c, 0x9585, 0x00de, 0x0005, 0x6000, + 0xa08a, 0x0010, 0x1a0c, 0x1515, 0x000b, 0x0005, 0x779e, 0x779e, + 0x779e, 0x77a0, 0x77b5, 0x779e, 0x779e, 0x779e, 0x779e, 0x779e, + 0x779e, 0x779e, 0x779e, 0x779e, 0x779e, 0x779e, 0x080c, 0x1515, + 0x080c, 0x9098, 0x6110, 0x2168, 0x684b, 0x0006, 0x00d6, 0x6018, + 0x2068, 0x6008, 0x68b6, 0x68bb, 0x0500, 0xa006, 0x68b2, 0x00de, + 0x080c, 0x57ca, 0x080c, 0x9585, 0x0005, 0x080c, 0x75de, 0x0005, + 0x6000, 0xa08a, 0x0010, 0x1a0c, 0x1515, 0x000b, 0x0005, 0x77cf, + 0x77cf, 0x77cf, 0x77d1, 0x77e1, 0x77cf, 0x77cf, 0x77cf, 0x77cf, + 0x77cf, 0x77cf, 0x77cf, 0x77cf, 0x77cf, 0x77cf, 0x77cf, 0x080c, + 0x1515, 0x0036, 0x00e6, 0x2071, 0xc927, 0x703c, 0xac06, 0x1120, + 0x2019, 0x0000, 0x080c, 0x8e22, 0x080c, 0x9098, 0x00ee, 0x003e, + 0x0005, 0x00d6, 0x6010, 0x2068, 0x080c, 0x75de, 0x00de, 0x0005, + 0x080c, 0x7648, 0x1150, 0x6024, 0xd09c, 0x1138, 0x6810, 0x2009, + 0xffff, 0xa102, 0x2020, 0x2019, 0x0000, 0x0005, 0x20a9, 0x0010, + 0xa006, 0x8004, 0x8086, 0x818e, 0x1208, 0xa200, 0x1f04, 0x77fa, + 0x8086, 0x818e, 0x0005, 0x0156, 0x20a9, 0x0010, 0xa005, 0x01b8, + 0xa11a, 0x12a8, 0x8213, 0x818d, 0x0228, 0xa11a, 0x1220, 0x1f04, + 0x780a, 0x0028, 0xa11a, 0x2308, 0x8210, 0x1f04, 0x780a, 0x0006, + 0x3200, 0xa084, 0xefff, 0x2080, 0x000e, 0x015e, 0x0005, 0x0006, + 0x3200, 0xa085, 0x1000, 0x0cb8, 0x0126, 0x2091, 0x2800, 0x2079, + 0xc927, 0x012e, 0x00d6, 0x2069, 0xc927, 0x6803, 0x0005, 0x2069, + 0x0004, 0x2d04, 0xa085, 0x8001, 0x206a, 0x00de, 0x0005, 0x00c6, + 0x6027, 0x0001, 0x7804, 0xa084, 0x0007, 0x0002, 0x7848, 0x7869, + 0x78bc, 0x784e, 0x7869, 0x7848, 0x7846, 0x7846, 0x080c, 0x1515, + 0x080c, 0x6fe8, 0x080c, 0x7e54, 0x00ce, 0x0005, 0x62c0, 0x82ff, + 0x1110, 0x00ce, 0x0005, 0x2011, 0x4dd1, 0x080c, 0x6f71, 0x7828, + 0xa092, 0x00c8, 0x1228, 0x8000, 0x782a, 0x080c, 0x4e0b, 0x0c88, + 0x080c, 0x4dd1, 0x7807, 0x0003, 0x7827, 0x0000, 0x782b, 0x0000, + 0x0c40, 0x080c, 0x6fe8, 0x3c00, 0x0006, 0x2011, 0x0209, 0x20e1, + 0x4000, 0x2214, 0x000e, 0x20e0, 0x82ff, 0x0178, 0x62c0, 0x82ff, + 0x1160, 0x782b, 0x0000, 0x7824, 0xa065, 0x090c, 0x1515, 0x2009, + 0x0013, 0x080c, 0x95b5, 0x00ce, 0x0005, 0x3900, 0xa082, 0xca74, + 0x1210, 0x080c, 0x916d, 0x00c6, 0x7824, 0xa065, 0x090c, 0x1515, + 0x7804, 0xa086, 0x0004, 0x0904, 0x78fc, 0x7828, 0xa092, 0x2710, + 0x1230, 0x8000, 0x782a, 0x00ce, 0x080c, 0x8b91, 0x0c20, 0x6104, + 0xa186, 0x0003, 0x1188, 0x00e6, 0x2071, 0xc600, 0x70e0, 0x00ee, + 0xd08c, 0x0150, 0x00c6, 0x00e6, 0x2061, 0x0100, 0x2071, 0xc600, + 0x080c, 0x4e14, 0x00ee, 0x00ce, 0x080c, 0xc51d, 0x2009, 0x0014, + 0x080c, 0x95b5, 0x00ce, 0x0838, 0x2001, 0xc943, 0x2003, 0x0000, + 0x62c0, 0x82ff, 0x1160, 0x782b, 0x0000, 0x7824, 0xa065, 0x090c, + 0x1515, 0x2009, 0x0013, 0x080c, 0x9609, 0x00ce, 0x0005, 0x00c6, + 0x00d6, 0x3900, 0xa082, 0xca74, 0x1210, 0x080c, 0x916d, 0x7824, + 0xa005, 0x090c, 0x1515, 0x781c, 0xa06d, 0x090c, 0x1515, 0x6800, + 0xc0dc, 0x6802, 0x7924, 0x2160, 0x080c, 0x9585, 0x693c, 0x81ff, + 0x090c, 0x1515, 0x8109, 0x693e, 0x6854, 0xa015, 0x0110, 0x7a1e, + 0x0010, 0x7918, 0x791e, 0x7807, 0x0000, 0x7827, 0x0000, 0x00de, + 0x00ce, 0x080c, 0x7e54, 0x0888, 0x6104, 0xa186, 0x0002, 0x0128, + 0xa186, 0x0004, 0x0110, 0x0804, 0x7895, 0x7808, 0xac06, 0x0904, + 0x7895, 0x080c, 0x7d75, 0x080c, 0x79a3, 0x00ce, 0x080c, 0x7e54, + 0x0804, 0x7883, 0x00c6, 0x6027, 0x0002, 0x62c8, 0x60c4, 0xa205, + 0x11a8, 0x793c, 0xa1e5, 0x0000, 0x0160, 0x2009, 0x0049, 0x601c, + 0xa086, 0x0009, 0x1110, 0x2009, 0x0103, 0x080c, 0x95b5, 0x00ce, + 0x0005, 0x2011, 0xc946, 0x2013, 0x0000, 0x0cc8, 0x3908, 0xa192, + 0xca74, 0x1210, 0x080c, 0x916d, 0x793c, 0x81ff, 0x0d90, 0x7944, + 0xa192, 0x7530, 0x12f0, 0x8108, 0x7946, 0x793c, 0xa188, 0x0007, + 0x210c, 0xa18e, 0x0006, 0x1138, 0x6014, 0xa084, 0x0184, 0xa085, + 0x0012, 0x6016, 0x08e0, 0x793c, 0xa188, 0x0007, 0x210c, 0xa18e, + 0x0009, 0x0d90, 0x6014, 0xa084, 0x0184, 0xa085, 0x0016, 0x6016, + 0x0870, 0x7848, 0xc085, 0x784a, 0x0850, 0x0006, 0x0016, 0x00c6, + 0x0126, 0x2091, 0x8000, 0x600f, 0x0000, 0x2c08, 0x2061, 0xc927, + 0x6020, 0x8000, 0x6022, 0x6010, 0xa005, 0x0148, 0xa080, 0x0003, + 0x2102, 0x6112, 0x012e, 0x00ce, 0x001e, 0x000e, 0x0005, 0x6116, + 0x6112, 0x0cc0, 0x00d6, 0x2069, 0xc927, 0x6000, 0xd0d4, 0x0168, + 0x6820, 0x8000, 0x6822, 0xa086, 0x0001, 0x1110, 0x2c00, 0x681e, + 0x6804, 0xa084, 0x0007, 0x0804, 0x7e5a, 0xc0d5, 0x6002, 0x6818, + 0xa005, 0x0158, 0x6056, 0x605b, 0x0000, 0x0006, 0x2c00, 0x681a, + 0x00de, 0x685a, 0x2069, 0xc927, 0x0c18, 0x6056, 0x605a, 0x2c00, + 0x681a, 0x681e, 0x08e8, 0x0006, 0x0016, 0x00c6, 0x0126, 0x2091, + 0x8000, 0x600f, 0x0000, 0x2c08, 0x2061, 0xc927, 0x6020, 0x8000, + 0x6022, 0x6008, 0xa005, 0x0148, 0xa080, 0x0003, 0x2102, 0x610a, + 0x012e, 0x00ce, 0x001e, 0x000e, 0x0005, 0x610e, 0x610a, 0x0cc0, + 0x00c6, 0x600f, 0x0000, 0x2c08, 0x2061, 0xc927, 0x6034, 0xa005, + 0x0130, 0xa080, 0x0003, 0x2102, 0x6136, 0x00ce, 0x0005, 0x613a, + 0x6136, 0x0cd8, 0x00f6, 0x00e6, 0x00d6, 0x00c6, 0x0076, 0x0066, + 0x0056, 0x0036, 0x0026, 0x0016, 0x0006, 0x0126, 0xa02e, 0x2071, + 0xc927, 0x7638, 0x2660, 0x2678, 0x2091, 0x8000, 0x8cff, 0x0904, + 0x7a4b, 0x6018, 0xa080, 0x0028, 0x2004, 0xa206, 0x1904, 0x7a46, + 0x87ff, 0x0120, 0x6050, 0xa106, 0x1904, 0x7a46, 0x703c, 0xac06, + 0x1190, 0x0036, 0x2019, 0x0001, 0x080c, 0x8e22, 0x7033, 0x0000, + 0x703f, 0x0000, 0x7043, 0x0000, 0x7047, 0x0000, 0x704b, 0x0000, + 0x003e, 0x2029, 0x0001, 0x7038, 0xac36, 0x1110, 0x660c, 0x763a, + 0x7034, 0xac36, 0x1140, 0x2c00, 0xaf36, 0x0118, 0x2f00, 0x7036, + 0x0010, 0x7037, 0x0000, 0x660c, 0x0066, 0x2c00, 0xaf06, 0x0110, + 0x7e0e, 0x0008, 0x2678, 0x600f, 0x0000, 0x080c, 0xac21, 0x01c8, + 0x6010, 0x2068, 0x601c, 0xa086, 0x0003, 0x1580, 0x6837, 0x0103, + 0x6b4a, 0x6847, 0x0000, 0x0016, 0x0036, 0x0076, 0x080c, 0xae93, + 0x080c, 0xc459, 0x080c, 0x57ca, 0x007e, 0x003e, 0x001e, 0x080c, + 0xadd8, 0x080c, 0xade4, 0x00ce, 0x0804, 0x79e6, 0x2c78, 0x600c, + 0x2060, 0x0804, 0x79e6, 0x85ff, 0x0120, 0x0036, 0x080c, 0x7f2e, + 0x003e, 0x012e, 0x000e, 0x001e, 0x002e, 0x003e, 0x005e, 0x006e, + 0x007e, 0x00ce, 0x00de, 0x00ee, 0x00fe, 0x0005, 0x601c, 0xa086, + 0x0006, 0x0158, 0x601c, 0xa086, 0x0009, 0x1190, 0x684b, 0x0006, + 0x080c, 0x57ca, 0x080c, 0x9585, 0x08b0, 0x0016, 0x0036, 0x0076, + 0x080c, 0xc459, 0x080c, 0xc0c3, 0x007e, 0x003e, 0x001e, 0x0848, + 0x601c, 0xa086, 0x000a, 0x0904, 0x7a30, 0x0804, 0x7a2e, 0x0006, + 0x0066, 0x00c6, 0x00d6, 0x00f6, 0x2031, 0x0000, 0x0126, 0x2091, + 0x8000, 0x2079, 0xc927, 0x7838, 0xa065, 0x0568, 0x600c, 0x0006, + 0x600f, 0x0000, 0x783c, 0xac06, 0x1180, 0x0036, 0x2019, 0x0001, + 0x080c, 0x8e22, 0x7833, 0x0000, 0x783f, 0x0000, 0x7843, 0x0000, + 0x7847, 0x0000, 0x784b, 0x0000, 0x003e, 0x080c, 0xac21, 0x0178, + 0x6010, 0x2068, 0x601c, 0xa086, 0x0003, 0x11b0, 0x6837, 0x0103, + 0x6b4a, 0x6847, 0x0000, 0x080c, 0x57ca, 0x080c, 0xadd8, 0x080c, + 0xade4, 0x000e, 0x0888, 0x7e3a, 0x7e36, 0x012e, 0x00fe, 0x00de, + 0x00ce, 0x006e, 0x000e, 0x0005, 0x601c, 0xa086, 0x0006, 0x0150, + 0x601c, 0xa086, 0x0009, 0x1148, 0x6b4a, 0x080c, 0x57ca, 0x080c, + 0x9585, 0x0c38, 0x080c, 0xc0c3, 0x0c10, 0x601c, 0xa086, 0x000a, + 0x09b8, 0x08a0, 0x0016, 0x0026, 0x0086, 0x2041, 0x0000, 0x0099, + 0x080c, 0x7ba8, 0x008e, 0x002e, 0x001e, 0x0005, 0x00f6, 0x0126, + 0x2079, 0xc927, 0x2091, 0x8000, 0x080c, 0x7c35, 0x080c, 0x7ca7, + 0x012e, 0x00fe, 0x0005, 0x00f6, 0x00e6, 0x00d6, 0x00c6, 0x0066, + 0x0016, 0x0006, 0x0126, 0x2091, 0x8000, 0x2071, 0xc927, 0x7614, + 0x2660, 0x2678, 0x8cff, 0x0904, 0x7b7e, 0x6018, 0xa080, 0x0028, + 0x2004, 0xa206, 0x1904, 0x7b79, 0x88ff, 0x0120, 0x6050, 0xa106, + 0x1904, 0x7b79, 0x7024, 0xac06, 0x1538, 0x2069, 0x0100, 0x68c0, + 0xa005, 0x01f0, 0x080c, 0x6fe8, 0x080c, 0x8b9e, 0x68c3, 0x0000, + 0x080c, 0x9088, 0x7027, 0x0000, 0x0036, 0x2069, 0x0140, 0x6b04, + 0xa384, 0x1000, 0x0120, 0x6803, 0x0100, 0x6803, 0x0000, 0x2069, + 0x0100, 0x6824, 0xd084, 0x0110, 0x6827, 0x0001, 0x003e, 0x0020, + 0x6003, 0x0009, 0x630a, 0x04e8, 0x7014, 0xac36, 0x1110, 0x660c, + 0x7616, 0x7010, 0xac36, 0x1140, 0x2c00, 0xaf36, 0x0118, 0x2f00, + 0x7012, 0x0010, 0x7013, 0x0000, 0x660c, 0x0066, 0x2c00, 0xaf06, + 0x0110, 0x7e0e, 0x0008, 0x2678, 0x600f, 0x0000, 0x6010, 0x2068, + 0x080c, 0xac21, 0x01b8, 0x601c, 0xa086, 0x0003, 0x1540, 0x6837, + 0x0103, 0x6b4a, 0x6847, 0x0000, 0x0016, 0x0036, 0x0086, 0x080c, + 0xae93, 0x080c, 0xc459, 0x080c, 0x57ca, 0x008e, 0x003e, 0x001e, + 0x080c, 0xadd8, 0x080c, 0xade4, 0x080c, 0x8f60, 0x00ce, 0x0804, + 0x7b02, 0x2c78, 0x600c, 0x2060, 0x0804, 0x7b02, 0x012e, 0x000e, + 0x001e, 0x006e, 0x00ce, 0x00de, 0x00ee, 0x00fe, 0x0005, 0x601c, + 0xa086, 0x0006, 0x1158, 0x0016, 0x0036, 0x0086, 0x080c, 0xc459, + 0x080c, 0xc0c3, 0x008e, 0x003e, 0x001e, 0x08e0, 0x601c, 0xa086, + 0x0002, 0x1128, 0x6004, 0xa086, 0x0085, 0x0908, 0x0898, 0x601c, + 0xa086, 0x0005, 0x1978, 0x6004, 0xa086, 0x0085, 0x0d20, 0x0850, + 0x00c6, 0x0006, 0x0126, 0x2091, 0x8000, 0xa280, 0xc77b, 0x2004, + 0xa065, 0x0904, 0x7c31, 0x00f6, 0x00e6, 0x00d6, 0x0066, 0x2071, + 0xc927, 0x6654, 0x7018, 0xac06, 0x1108, 0x761a, 0x701c, 0xac06, + 0x1130, 0x86ff, 0x1118, 0x7018, 0x701e, 0x0008, 0x761e, 0x6058, + 0xa07d, 0x0108, 0x7e56, 0xa6ed, 0x0000, 0x0110, 0x2f00, 0x685a, + 0x6057, 0x0000, 0x605b, 0x0000, 0x6000, 0xc0d4, 0xc0dc, 0x6002, + 0x080c, 0x5228, 0x0904, 0x7c2d, 0x7624, 0x86ff, 0x05e8, 0xa680, + 0x0004, 0x2004, 0xad06, 0x15c0, 0x00d6, 0x2069, 0x0100, 0x68c0, + 0xa005, 0x0548, 0x080c, 0x6fe8, 0x080c, 0x8b9e, 0x68c3, 0x0000, + 0x080c, 0x9088, 0x7027, 0x0000, 0x0036, 0x2069, 0x0140, 0x6b04, + 0xa384, 0x1000, 0x0120, 0x6803, 0x0100, 0x6803, 0x0000, 0x2069, + 0x0100, 0x6824, 0xd084, 0x0110, 0x6827, 0x0001, 0x003e, 0x00de, + 0x00c6, 0x603c, 0xa005, 0x0110, 0x8001, 0x603e, 0x2660, 0x080c, + 0xade4, 0x00ce, 0x0048, 0x00de, 0x00c6, 0x2660, 0x6003, 0x0009, + 0x630a, 0x00ce, 0x0804, 0x7bd8, 0x8dff, 0x0158, 0x6837, 0x0103, + 0x6b4a, 0x6847, 0x0000, 0x080c, 0xae93, 0x080c, 0xc459, 0x080c, + 0x57ca, 0x080c, 0x8f60, 0x0804, 0x7bd8, 0x006e, 0x00de, 0x00ee, + 0x00fe, 0x012e, 0x000e, 0x00ce, 0x0005, 0x0006, 0x0066, 0x00c6, + 0x00d6, 0x2031, 0x0000, 0x7814, 0xa065, 0x0904, 0x7c87, 0x600c, + 0x0006, 0x600f, 0x0000, 0x7824, 0xac06, 0x1540, 0x2069, 0x0100, + 0x68c0, 0xa005, 0x01f0, 0x080c, 0x6fe8, 0x080c, 0x8b9e, 0x68c3, + 0x0000, 0x080c, 0x9088, 0x7827, 0x0000, 0x0036, 0x2069, 0x0140, + 0x6b04, 0xa384, 0x1000, 0x0120, 0x6803, 0x0100, 0x6803, 0x0000, + 0x2069, 0x0100, 0x6824, 0xd084, 0x0110, 0x6827, 0x0001, 0x003e, + 0x0028, 0x6003, 0x0009, 0x630a, 0x2c30, 0x00b0, 0x6010, 0x2068, + 0x080c, 0xac21, 0x0168, 0x601c, 0xa086, 0x0003, 0x11b8, 0x6837, + 0x0103, 0x6b4a, 0x6847, 0x0000, 0x080c, 0x57ca, 0x080c, 0xadd8, + 0x080c, 0xade4, 0x080c, 0x8f60, 0x000e, 0x0804, 0x7c3c, 0x7e16, + 0x7e12, 0x00de, 0x00ce, 0x006e, 0x000e, 0x0005, 0x601c, 0xa086, + 0x0006, 0x1118, 0x080c, 0xc0c3, 0x0c58, 0x601c, 0xa086, 0x0002, + 0x1128, 0x6004, 0xa086, 0x0085, 0x09d0, 0x0c10, 0x601c, 0xa086, + 0x0005, 0x19f0, 0x6004, 0xa086, 0x0085, 0x0d60, 0x08c8, 0x0006, + 0x0066, 0x00c6, 0x00d6, 0x7818, 0xa065, 0x0904, 0x7d0d, 0x6054, + 0x0006, 0x6057, 0x0000, 0x605b, 0x0000, 0x6000, 0xc0d4, 0xc0dc, + 0x6002, 0x080c, 0x5228, 0x0904, 0x7d0a, 0x7e24, 0x86ff, 0x05e8, + 0xa680, 0x0004, 0x2004, 0xad06, 0x15c0, 0x00d6, 0x2069, 0x0100, + 0x68c0, 0xa005, 0x0548, 0x080c, 0x6fe8, 0x080c, 0x8b9e, 0x68c3, + 0x0000, 0x080c, 0x9088, 0x7827, 0x0000, 0x0036, 0x2069, 0x0140, + 0x6b04, 0xa384, 0x1000, 0x0120, 0x6803, 0x0100, 0x6803, 0x0000, + 0x2069, 0x0100, 0x6824, 0xd084, 0x0110, 0x6827, 0x0001, 0x003e, + 0x00de, 0x00c6, 0x603c, 0xa005, 0x0110, 0x8001, 0x603e, 0x2660, + 0x080c, 0xade4, 0x00ce, 0x0048, 0x00de, 0x00c6, 0x2660, 0x6003, + 0x0009, 0x630a, 0x00ce, 0x0804, 0x7cb9, 0x8dff, 0x0138, 0x6837, + 0x0103, 0x6b4a, 0x6847, 0x0000, 0x080c, 0x57ca, 0x080c, 0x8f60, + 0x0804, 0x7cb9, 0x000e, 0x0804, 0x7cac, 0x781e, 0x781a, 0x00de, + 0x00ce, 0x006e, 0x000e, 0x0005, 0x00e6, 0x00d6, 0x0066, 0x6000, + 0xd0dc, 0x01a0, 0x604c, 0xa06d, 0x0188, 0x6848, 0xa606, 0x1170, + 0x2071, 0xc927, 0x7024, 0xa035, 0x0148, 0xa080, 0x0004, 0x2004, + 0xad06, 0x1120, 0x6000, 0xc0dc, 0x6002, 0x0021, 0x006e, 0x00de, + 0x00ee, 0x0005, 0x00f6, 0x2079, 0x0100, 0x78c0, 0xa005, 0x1138, + 0x00c6, 0x2660, 0x6003, 0x0009, 0x630a, 0x00ce, 0x04a0, 0x080c, + 0x8b9e, 0x78c3, 0x0000, 0x080c, 0x9088, 0x7027, 0x0000, 0x0036, + 0x2079, 0x0140, 0x7b04, 0xa384, 0x1000, 0x0120, 0x7803, 0x0100, + 0x7803, 0x0000, 0x2079, 0x0100, 0x7824, 0xd084, 0x0110, 0x7827, + 0x0001, 0x080c, 0x9088, 0x003e, 0x080c, 0x5228, 0x00c6, 0x603c, + 0xa005, 0x0110, 0x8001, 0x603e, 0x2660, 0x080c, 0x9585, 0x00ce, + 0x6837, 0x0103, 0x6b4a, 0x6847, 0x0000, 0x080c, 0xae93, 0x080c, + 0x57ca, 0x080c, 0x8f60, 0x00fe, 0x0005, 0x00e6, 0x00c6, 0x2071, + 0xc927, 0x7004, 0xa084, 0x0007, 0x0002, 0x7d87, 0x7d8a, 0x7da0, + 0x7db9, 0x7df2, 0x7d87, 0x7d85, 0x7d85, 0x080c, 0x1515, 0x00ce, + 0x00ee, 0x0005, 0x7024, 0xa065, 0x0148, 0x7020, 0x8001, 0x7022, + 0x600c, 0xa015, 0x0150, 0x7216, 0x600f, 0x0000, 0x7007, 0x0000, + 0x7027, 0x0000, 0x00ce, 0x00ee, 0x0005, 0x7216, 0x7212, 0x0cb0, + 0x6018, 0x2060, 0x080c, 0x5228, 0x6000, 0xc0dc, 0x6002, 0x7020, + 0x8001, 0x7022, 0x0120, 0x6054, 0xa015, 0x0140, 0x721e, 0x7007, + 0x0000, 0x7027, 0x0000, 0x00ce, 0x00ee, 0x0005, 0x7218, 0x721e, + 0x0cb0, 0x7024, 0xa065, 0x0598, 0x700c, 0xac06, 0x1160, 0x080c, + 0x8f60, 0x600c, 0xa015, 0x0120, 0x720e, 0x600f, 0x0000, 0x0428, + 0x720e, 0x720a, 0x0410, 0x7014, 0xac06, 0x1160, 0x080c, 0x8f60, + 0x600c, 0xa015, 0x0120, 0x7216, 0x600f, 0x0000, 0x00b0, 0x7216, + 0x7212, 0x0098, 0x6018, 0x2060, 0x080c, 0x5228, 0x6000, 0xc0dc, + 0x6002, 0x080c, 0x8f60, 0x701c, 0xa065, 0x0138, 0x6054, 0xa015, + 0x0110, 0x721e, 0x0010, 0x7218, 0x721e, 0x7027, 0x0000, 0x00ce, + 0x00ee, 0x0005, 0x7024, 0xa065, 0x0140, 0x080c, 0x8f60, 0x600c, + 0xa015, 0x0150, 0x720e, 0x600f, 0x0000, 0x080c, 0x9088, 0x7027, + 0x0000, 0x00ce, 0x00ee, 0x0005, 0x720e, 0x720a, 0x0cb0, 0x00d6, + 0x2069, 0xc927, 0x6830, 0xa084, 0x0003, 0x0002, 0x7e14, 0x7e16, + 0x7e3a, 0x7e12, 0x080c, 0x1515, 0x00de, 0x0005, 0x00c6, 0x6840, + 0xa086, 0x0001, 0x01b8, 0x683c, 0xa065, 0x0130, 0x600c, 0xa015, + 0x0170, 0x6a3a, 0x600f, 0x0000, 0x6833, 0x0000, 0x683f, 0x0000, + 0x2011, 0xc946, 0x2013, 0x0000, 0x00ce, 0x00de, 0x0005, 0x683a, + 0x6836, 0x0c90, 0x6843, 0x0000, 0x6838, 0xa065, 0x0d68, 0x6003, + 0x0003, 0x0c50, 0x00c6, 0x6843, 0x0000, 0x6847, 0x0000, 0x684b, + 0x0000, 0x683c, 0xa065, 0x0168, 0x600c, 0xa015, 0x0130, 0x6a3a, + 0x600f, 0x0000, 0x683f, 0x0000, 0x0020, 0x683f, 0x0000, 0x683a, + 0x6836, 0x00ce, 0x00de, 0x0005, 0x00d6, 0x2069, 0xc927, 0x6804, + 0xa084, 0x0007, 0x0006, 0xa005, 0x11c8, 0x2001, 0xc635, 0x2004, + 0xa084, 0x0028, 0x1198, 0x2001, 0xc8e5, 0x2004, 0xa086, 0xaaaa, + 0x0168, 0x2001, 0xc696, 0x2004, 0xd08c, 0x1118, 0xd084, 0x1118, + 0x0028, 0x080c, 0x7f2e, 0x000e, 0x00de, 0x0005, 0x000e, 0x0002, + 0x7e82, 0x7f1e, 0x7f1e, 0x7f1e, 0x7f1e, 0x7f20, 0x7e80, 0x7e80, + 0x080c, 0x1515, 0x6820, 0xa005, 0x1110, 0x00de, 0x0005, 0x00c6, + 0x680c, 0xa065, 0x0150, 0x6807, 0x0004, 0x6826, 0x682b, 0x0000, + 0x080c, 0x7fb0, 0x00ce, 0x00de, 0x0005, 0x6814, 0xa065, 0x0150, + 0x6807, 0x0001, 0x6826, 0x682b, 0x0000, 0x080c, 0x7fb0, 0x00ce, + 0x00de, 0x0005, 0x00e6, 0x0036, 0x6a1c, 0xa2f5, 0x0000, 0x0904, + 0x7f1a, 0x704c, 0xa00d, 0x0118, 0x7088, 0xa005, 0x01a0, 0x7054, + 0xa075, 0x0120, 0xa20e, 0x0904, 0x7f1a, 0x0028, 0x6818, 0xa20e, + 0x0904, 0x7f1a, 0x2070, 0x704c, 0xa00d, 0x0d88, 0x7088, 0xa005, + 0x1d70, 0x2e00, 0x681e, 0x733c, 0x7038, 0xa302, 0x1e40, 0x080c, + 0x955c, 0x0904, 0x7f1a, 0x8318, 0x733e, 0x6112, 0x2e10, 0x621a, + 0xa180, 0x0014, 0x2004, 0xa084, 0x00ff, 0x605a, 0xa180, 0x0014, + 0x2003, 0x0000, 0xa180, 0x0015, 0x2004, 0xa08a, 0x199a, 0x0210, + 0x2001, 0x1999, 0x8003, 0x801b, 0x831b, 0xa318, 0x6316, 0x003e, + 0x00f6, 0x2c78, 0x71a0, 0x2001, 0xc635, 0x2004, 0xd0ac, 0x1110, + 0xd1bc, 0x0150, 0x7100, 0xd1f4, 0x0120, 0x7114, 0xa18c, 0x00ff, + 0x0040, 0x2009, 0x0000, 0x0028, 0xa1e0, 0x2f32, 0x2c0d, 0xa18c, + 0x00ff, 0x2061, 0x0100, 0x619a, 0x080c, 0x85d9, 0x7300, 0xc3dd, + 0x7302, 0x6807, 0x0002, 0x2f18, 0x6b26, 0x682b, 0x0000, 0x781f, + 0x0003, 0x7803, 0x0001, 0x7807, 0x0040, 0x00fe, 0x00ee, 0x00ce, + 0x00de, 0x0005, 0x003e, 0x00ee, 0x00ce, 0x0cd0, 0x00de, 0x0005, + 0x00c6, 0x680c, 0xa065, 0x0138, 0x6807, 0x0004, 0x6826, 0x682b, + 0x0000, 0x080c, 0x7fb0, 0x00ce, 0x00de, 0x0005, 0x00f6, 0x00d6, + 0x2069, 0xc927, 0x6830, 0xa086, 0x0000, 0x1904, 0x7f8b, 0x2001, + 0xc60c, 0x200c, 0xd1bc, 0x1904, 0x7fa6, 0x6838, 0xa07d, 0x0904, + 0x7f8b, 0x2001, 0xc635, 0x2004, 0xa084, 0x0028, 0x11f8, 0x2001, + 0xc8e5, 0x2004, 0xa086, 0xaaaa, 0x01c8, 0x781c, 0xa086, 0x0009, + 0x11a8, 0x7808, 0xd0fc, 0x0190, 0x2001, 0xc928, 0x2004, 0xa005, + 0x1138, 0x2001, 0xc696, 0x200c, 0xc185, 0xc18c, 0x2102, 0x0030, + 0x2011, 0xc696, 0x2204, 0xc08d, 0x2012, 0x0428, 0x2f00, 0x6833, + 0x0001, 0x683e, 0x6847, 0x0000, 0x684b, 0x0000, 0x0126, 0x00f6, + 0x2091, 0x2400, 0x002e, 0x080c, 0x20c0, 0x11c0, 0x012e, 0xe000, + 0xe000, 0xe000, 0x6a3c, 0x2278, 0x781c, 0xa086, 0x0009, 0x1148, + 0x7808, 0xd0fc, 0x0118, 0x080c, 0x8912, 0x0028, 0x080c, 0x898b, + 0x0010, 0x080c, 0x8a0f, 0x00de, 0x00fe, 0x0005, 0x012e, 0xe000, + 0x6843, 0x0000, 0x781c, 0xa086, 0x0009, 0x0110, 0x7803, 0x0002, + 0x780c, 0xa015, 0x0140, 0x6a3a, 0x780f, 0x0000, 0x6833, 0x0000, + 0x683f, 0x0000, 0x0c40, 0x683a, 0x6836, 0x0cc0, 0xc1bc, 0x2102, + 0x0066, 0x2031, 0x0001, 0x080c, 0x5f64, 0x006e, 0x0804, 0x7f3d, + 0x601c, 0xa084, 0x000f, 0x000b, 0x0005, 0x7fbe, 0x7fc3, 0x847a, + 0x8596, 0x7fc3, 0x847a, 0x8596, 0x7fbe, 0x7fc3, 0x080c, 0x7d75, + 0x080c, 0x7e54, 0x0005, 0x0156, 0x0136, 0x0146, 0x00c6, 0x00f6, + 0x6004, 0xa08a, 0x0080, 0x1a0c, 0x1515, 0x6118, 0x2178, 0x79a0, + 0x2011, 0xc635, 0x2214, 0xd2ac, 0x1110, 0xd1bc, 0x0150, 0x7900, + 0xd1f4, 0x0120, 0x7914, 0xa18c, 0x00ff, 0x0040, 0x2009, 0x0000, + 0x0028, 0xa1f8, 0x2f32, 0x2f0d, 0xa18c, 0x00ff, 0x2c78, 0x2061, + 0x0100, 0x619a, 0xa08a, 0x0040, 0x1a04, 0x8037, 0x0033, 0x00fe, + 0x00ce, 0x014e, 0x013e, 0x015e, 0x0005, 0x80e6, 0x8131, 0x815e, + 0x822b, 0x8259, 0x8261, 0x8287, 0x8298, 0x82a9, 0x82b1, 0x82c7, + 0x82b1, 0x8321, 0x8298, 0x8342, 0x834a, 0x82a9, 0x834a, 0x835b, + 0x8035, 0x8035, 0x8035, 0x8035, 0x8035, 0x8035, 0x8035, 0x8035, + 0x8035, 0x8035, 0x8035, 0x8cc3, 0x8ce8, 0x8cfd, 0x8d20, 0x8d41, + 0x8287, 0x8035, 0x8287, 0x82b1, 0x8035, 0x815e, 0x822b, 0x8035, + 0x918a, 0x82b1, 0x8035, 0x91aa, 0x82b1, 0x8035, 0x82a9, 0x80df, + 0x804a, 0x8035, 0x91cf, 0x9244, 0x931b, 0x8035, 0x932c, 0x8282, + 0x9348, 0x8035, 0x8d56, 0x93a3, 0x8035, 0x080c, 0x1515, 0x2100, + 0x0033, 0x00fe, 0x00ce, 0x014e, 0x013e, 0x015e, 0x0005, 0x93fa, + 0x94a9, 0x8048, 0x807e, 0x809c, 0x80b2, 0x8048, 0x8287, 0x8048, + 0x080c, 0x1515, 0x00d6, 0x20a1, 0x020b, 0x080c, 0x8378, 0x7810, + 0x2068, 0x20a3, 0x2414, 0x20a3, 0x0018, 0x20a3, 0x0800, 0x683c, + 0x20a2, 0x20a3, 0x0000, 0x20a3, 0x0000, 0x20a3, 0x0000, 0x20a3, + 0x0000, 0x6850, 0x20a2, 0x6854, 0x20a2, 0x20a3, 0x0000, 0x20a3, + 0x0000, 0x60c3, 0x0018, 0x080c, 0x8b8b, 0x00de, 0x0005, 0x00d6, + 0x7818, 0x2068, 0x68a0, 0x2069, 0xc600, 0x6ad4, 0xd2ac, 0x1110, + 0xd0bc, 0x0110, 0xa085, 0x0001, 0x00de, 0x0005, 0x00d6, 0x20a1, + 0x020b, 0x080c, 0x8378, 0x20a3, 0x0500, 0x20a3, 0x0000, 0x7810, + 0xa0e8, 0x000f, 0x6808, 0x20a2, 0x680c, 0x20a2, 0x6810, 0x20a2, + 0x6814, 0x20a2, 0x6818, 0x20a2, 0x681c, 0x20a2, 0x60c3, 0x0010, + 0x080c, 0x8b8b, 0x00de, 0x0005, 0x0156, 0x0146, 0x20a1, 0x020b, + 0x080c, 0x8378, 0x20a3, 0x7800, 0x20a3, 0x0000, 0x7808, 0x8007, + 0x20a2, 0x20a3, 0x0000, 0x60c3, 0x0008, 0x080c, 0x8b8b, 0x014e, + 0x015e, 0x0005, 0x0156, 0x0146, 0x20a1, 0x020b, 0x080c, 0x8414, + 0x20a3, 0x0200, 0x20a3, 0x0000, 0x20a3, 0xdf10, 0x20a3, 0x0034, + 0x2099, 0xc605, 0x20a9, 0x0004, 0x53a6, 0x2099, 0xc601, 0x20a9, + 0x0004, 0x53a6, 0x2099, 0xc90d, 0x20a9, 0x001a, 0x3304, 0x8007, + 0x20a2, 0x9398, 0x1f04, 0x80ce, 0x20a3, 0x0000, 0x20a3, 0x0000, + 0x60c3, 0x004c, 0x080c, 0x8b8b, 0x014e, 0x015e, 0x0005, 0x2001, + 0xc615, 0x2004, 0x609a, 0x080c, 0x8b8b, 0x0005, 0x20a1, 0x020b, + 0x080c, 0x8378, 0x20a3, 0x5200, 0x20a3, 0x0000, 0x00d6, 0x2069, + 0xc652, 0x6804, 0xd084, 0x0150, 0x6828, 0x20a3, 0x0000, 0x0016, + 0x080c, 0x29a1, 0x21a2, 0x001e, 0x00de, 0x0028, 0x00de, 0x20a3, + 0x0000, 0x20a3, 0x0000, 0x20a9, 0x0004, 0x2099, 0xc605, 0x53a6, + 0x20a9, 0x0004, 0x2099, 0xc601, 0x53a6, 0x2001, 0xc635, 0x2004, + 0xd0ac, 0x1138, 0x7818, 0xa080, 0x0028, 0x2004, 0xa082, 0x007f, + 0x0238, 0x2001, 0xc61c, 0x20a6, 0x2001, 0xc61d, 0x20a6, 0x0040, + 0x20a3, 0x0000, 0x2001, 0xc615, 0x2004, 0xa084, 0x00ff, 0x20a2, + 0x20a3, 0x0000, 0x20a3, 0x0000, 0x60c3, 0x001c, 0x080c, 0x8b8b, + 0x0005, 0x20a1, 0x020b, 0x080c, 0x8378, 0x20a3, 0x0500, 0x20a3, + 0x0000, 0x2001, 0xc635, 0x2004, 0xd0ac, 0x1138, 0x7818, 0xa080, + 0x0028, 0x2004, 0xa082, 0x007f, 0x0238, 0x2001, 0xc61c, 0x20a6, + 0x2001, 0xc61d, 0x20a6, 0x0040, 0x20a3, 0x0000, 0x2001, 0xc615, + 0x2004, 0xa084, 0x00ff, 0x20a2, 0x20a9, 0x0004, 0x2099, 0xc605, + 0x53a6, 0x60c3, 0x0010, 0x080c, 0x8b8b, 0x0005, 0x20a1, 0x020b, + 0x080c, 0x8378, 0x00c6, 0x7818, 0x2060, 0x2001, 0x0000, 0x080c, + 0x56d5, 0x00ce, 0x7818, 0xa080, 0x0028, 0x2004, 0xa086, 0x007e, + 0x1130, 0x20a3, 0x0400, 0x620c, 0xc2b4, 0x620e, 0x0010, 0x20a3, + 0x0300, 0x20a3, 0x0000, 0x7818, 0xa080, 0x0028, 0x2004, 0xa086, + 0x007e, 0x1904, 0x81ed, 0x2001, 0xc635, 0x2004, 0xd0a4, 0x01c8, + 0x2099, 0xc8d5, 0x33a6, 0x9398, 0x20a3, 0x0000, 0x9398, 0x3304, + 0xa084, 0x2000, 0x20a2, 0x9398, 0x33a6, 0x9398, 0x20a3, 0x0000, + 0x9398, 0x2001, 0x2710, 0x20a2, 0x9398, 0x33a6, 0x9398, 0x33a6, + 0x00d0, 0x2099, 0xc8d5, 0x33a6, 0x9398, 0x33a6, 0x9398, 0x3304, + 0x080c, 0x5ee2, 0x1118, 0xa084, 0x37ff, 0x0010, 0xa084, 0x3fff, + 0x20a2, 0x9398, 0x33a6, 0x20a3, 0x0000, 0x20a3, 0x0000, 0x20a3, + 0x0000, 0x20a3, 0x0000, 0x20a9, 0x0004, 0x2099, 0xc605, 0x53a6, + 0x20a9, 0x0004, 0x2099, 0xc601, 0x53a6, 0x20a9, 0x0008, 0x20a3, + 0x0000, 0x1f04, 0x81c7, 0x20a9, 0x0008, 0x20a3, 0x0000, 0x1f04, + 0x81cd, 0x2099, 0xc8dd, 0x3304, 0xc0dd, 0x20a2, 0x2001, 0xc672, + 0x2004, 0xd0e4, 0x0158, 0x20a3, 0x0000, 0x20a3, 0x0000, 0x9398, + 0x9398, 0x9398, 0x33a6, 0x20a9, 0x0004, 0x0010, 0x20a9, 0x0007, + 0x20a3, 0x0000, 0x1f04, 0x81e8, 0x0468, 0x2001, 0xc635, 0x2004, + 0xd0a4, 0x0140, 0x2001, 0xc8d6, 0x2004, 0x60e3, 0x0000, 0x080c, + 0x29e2, 0x60e2, 0x2099, 0xc8d5, 0x20a9, 0x0008, 0x53a6, 0x20a9, + 0x0004, 0x2099, 0xc605, 0x53a6, 0x20a9, 0x0004, 0x2099, 0xc601, + 0x53a6, 0x20a9, 0x0008, 0x20a3, 0x0000, 0x1f04, 0x820b, 0x20a9, + 0x0008, 0x20a3, 0x0000, 0x1f04, 0x8211, 0x2099, 0xc8dd, 0x20a9, + 0x0008, 0x53a6, 0x20a9, 0x0008, 0x20a3, 0x0000, 0x1f04, 0x821c, + 0x20a9, 0x000a, 0x20a3, 0x0000, 0x1f04, 0x8222, 0x60c3, 0x0074, + 0x080c, 0x8b8b, 0x0005, 0x20a1, 0x020b, 0x080c, 0x8378, 0x20a3, + 0x2010, 0x20a3, 0x0014, 0x20a3, 0x0800, 0x20a3, 0x2000, 0xa006, + 0x20a2, 0x20a2, 0x20a2, 0x20a2, 0x20a2, 0x00f6, 0x2079, 0xc652, + 0x7904, 0x00fe, 0xd1ac, 0x1110, 0xa085, 0x0020, 0xd1a4, 0x0110, + 0xa085, 0x0010, 0xa085, 0x0002, 0x00d6, 0x0804, 0x8303, 0x20a2, + 0x20a3, 0x0000, 0x20a3, 0x0000, 0x60c3, 0x0014, 0x080c, 0x8b8b, + 0x0005, 0x20a1, 0x020b, 0x080c, 0x8378, 0x20a3, 0x5000, 0x0804, + 0x8179, 0x20a1, 0x020b, 0x080c, 0x8378, 0x20a3, 0x2110, 0x20a3, + 0x0014, 0x20a3, 0x0000, 0x20a3, 0x0000, 0x20a3, 0x0000, 0x20a3, + 0x0000, 0x20a3, 0x0000, 0x20a3, 0x0000, 0x20a3, 0x0000, 0x20a3, + 0x0000, 0x20a3, 0x0000, 0x20a3, 0x0000, 0x60c3, 0x0014, 0x080c, + 0x8b8b, 0x0005, 0x20a1, 0x020b, 0x080c, 0x840c, 0x0020, 0x20a1, + 0x020b, 0x080c, 0x8414, 0x20a3, 0x0200, 0x20a3, 0x0000, 0x20a3, + 0x0000, 0x20a3, 0x0000, 0x60c3, 0x0004, 0x080c, 0x8b8b, 0x0005, + 0x20a1, 0x020b, 0x080c, 0x8414, 0x20a3, 0x0100, 0x20a3, 0x0000, + 0x20a3, 0x0003, 0x20a3, 0x2a00, 0x60c3, 0x0008, 0x080c, 0x8b8b, + 0x0005, 0x20a1, 0x020b, 0x080c, 0x8414, 0x20a3, 0x0200, 0x0804, + 0x8179, 0x20a1, 0x020b, 0x080c, 0x8414, 0x20a3, 0x0100, 0x20a3, + 0x0000, 0x7828, 0xa005, 0x0110, 0x20a2, 0x0010, 0x20a3, 0x0003, + 0x7810, 0x20a2, 0x60c3, 0x0008, 0x080c, 0x8b8b, 0x0005, 0x00d6, + 0x20a1, 0x020b, 0x080c, 0x8414, 0x20a3, 0x0210, 0x20a3, 0x0014, + 0x20a3, 0x0800, 0x7818, 0x2068, 0x6894, 0xa086, 0x0014, 0x1178, + 0x6998, 0xa184, 0xc000, 0x1140, 0xd1ec, 0x0118, 0x20a3, 0x2100, + 0x0040, 0x20a3, 0x0100, 0x0028, 0x20a3, 0x0400, 0x0010, 0x20a3, + 0x0700, 0xa006, 0x20a2, 0x20a2, 0x20a2, 0x20a2, 0x20a2, 0x00f6, + 0x2079, 0xc652, 0x7904, 0x00fe, 0xd1ac, 0x1110, 0xa085, 0x0020, + 0xd1a4, 0x0110, 0xa085, 0x0010, 0x2009, 0xc674, 0x210c, 0xd184, + 0x1110, 0xa085, 0x0002, 0x0026, 0x2009, 0xc672, 0x210c, 0xd1e4, + 0x0130, 0xc0c5, 0xa094, 0x0030, 0xa296, 0x0010, 0x0140, 0xd1ec, + 0x0130, 0xa094, 0x0030, 0xa296, 0x0010, 0x0108, 0xc0bd, 0x002e, + 0x20a2, 0x20a2, 0x20a2, 0x60c3, 0x0014, 0x080c, 0x8b8b, 0x00de, + 0x0005, 0x20a1, 0x020b, 0x080c, 0x8414, 0x20a3, 0x0210, 0x20a3, + 0x0014, 0x20a3, 0x0000, 0x20a3, 0x0100, 0x20a3, 0x0000, 0x20a3, + 0x0000, 0x20a3, 0x0000, 0x20a3, 0x0000, 0x20a3, 0x0000, 0x20a3, + 0x0000, 0x20a3, 0x0000, 0x20a3, 0x0000, 0x60c3, 0x0014, 0x080c, + 0x8b8b, 0x0005, 0x20a1, 0x020b, 0x080c, 0x8414, 0x20a3, 0x0200, + 0x0804, 0x80ec, 0x20a1, 0x020b, 0x080c, 0x8414, 0x20a3, 0x0100, + 0x20a3, 0x0000, 0x20a3, 0x0003, 0x20a3, 0x2a00, 0x60c3, 0x0008, + 0x080c, 0x8b8b, 0x0005, 0x20e1, 0x9080, 0x20e1, 0x4000, 0x20a1, + 0x020b, 0x080c, 0x8414, 0x20a3, 0x0100, 0x20a3, 0x0000, 0x20a3, + 0x000b, 0x20a3, 0x0000, 0x60c3, 0x0008, 0x080c, 0x8b8b, 0x0005, + 0x0026, 0x0036, 0x0046, 0x2019, 0x3200, 0x2021, 0x0800, 0x0038, + 0x0026, 0x0036, 0x0046, 0x2019, 0x2200, 0x2021, 0x0100, 0x20e1, + 0x9080, 0x20e1, 0x4000, 0x7818, 0xa080, 0x0028, 0x2014, 0xa286, + 0x007e, 0x11a0, 0xa385, 0x00ff, 0x20a2, 0x20a3, 0xfffe, 0x20a3, + 0x0000, 0x2011, 0xc615, 0x2214, 0x2001, 0xc8e5, 0x2004, 0xa005, + 0x0118, 0x2011, 0xc61d, 0x2214, 0x22a2, 0x04d0, 0xa286, 0x007f, + 0x1138, 0x00d6, 0xa385, 0x00ff, 0x20a2, 0x20a3, 0xfffd, 0x00c8, + 0x2001, 0xc635, 0x2004, 0xd0ac, 0x1110, 0xd2bc, 0x01c8, 0xa286, + 0x0080, 0x00d6, 0x1130, 0xa385, 0x00ff, 0x20a2, 0x20a3, 0xfffc, + 0x0040, 0xa2e8, 0xc77b, 0x2d6c, 0x6810, 0xa305, 0x20a2, 0x6814, + 0x20a2, 0x2069, 0xc61c, 0x2da6, 0x8d68, 0x2da6, 0x00de, 0x0080, + 0x00d6, 0xa2e8, 0xc77b, 0x2d6c, 0x6810, 0xa305, 0x20a2, 0x6814, + 0x20a2, 0x00de, 0x20a3, 0x0000, 0x2011, 0xc615, 0x2214, 0x22a2, + 0xa485, 0x0029, 0x20a2, 0x004e, 0x003e, 0x20a3, 0x0000, 0x080c, + 0x8b7a, 0x22a2, 0x20a3, 0x0000, 0x2fa2, 0x20a3, 0xffff, 0x20a3, + 0x0000, 0x20a3, 0x0000, 0x002e, 0x0005, 0x0026, 0x20e1, 0x9080, + 0x20e1, 0x4000, 0x20a3, 0x02ff, 0x2011, 0xfffc, 0x22a2, 0x00d6, + 0x2069, 0xc61c, 0x2da6, 0x8d68, 0x2da6, 0x00de, 0x20a3, 0x2029, + 0x20a3, 0x0000, 0x08e0, 0x20a3, 0x0100, 0x20a3, 0x0000, 0x20a3, + 0xfc02, 0x20a3, 0x0000, 0x0005, 0x0026, 0x0036, 0x0046, 0x2019, + 0x3300, 0x2021, 0x0800, 0x0038, 0x0026, 0x0036, 0x0046, 0x2019, + 0x2300, 0x2021, 0x0100, 0x20e1, 0x9080, 0x20e1, 0x4000, 0x7818, + 0xa080, 0x0028, 0x2004, 0x2011, 0xc635, 0x2214, 0xd2ac, 0x1118, + 0xa092, 0x007e, 0x02d8, 0x00d6, 0xa0e8, 0xc77b, 0x2d6c, 0x6810, + 0xa305, 0x20a2, 0x6814, 0x20a2, 0x6810, 0xa005, 0x1140, 0x6814, + 0xa005, 0x1128, 0x20a3, 0x00ff, 0x20a3, 0xfffe, 0x0028, 0x2069, + 0xc61c, 0x2da6, 0x8d68, 0x2da6, 0x00de, 0x0080, 0x00d6, 0xa0e8, + 0xc77b, 0x2d6c, 0x6810, 0xa305, 0x20a2, 0x6814, 0x20a2, 0x00de, + 0x20a3, 0x0000, 0x2011, 0xc615, 0x2214, 0x22a2, 0xa485, 0x0098, + 0x20a2, 0x20a3, 0x0000, 0x004e, 0x003e, 0x080c, 0x8b7a, 0x22a2, + 0x20a3, 0x0000, 0x7a08, 0x22a2, 0x2fa2, 0x20a3, 0x0000, 0x20a3, + 0x0000, 0x002e, 0x0005, 0x080c, 0x8b7a, 0x22a2, 0x20a3, 0x0000, + 0x7a08, 0x22a2, 0x7810, 0x20a2, 0x20a3, 0x0000, 0x20a3, 0x0000, + 0x002e, 0x0005, 0x00c6, 0x00f6, 0x6004, 0xa08a, 0x0085, 0x0a0c, + 0x1515, 0xa08a, 0x008c, 0x1a0c, 0x1515, 0x6118, 0x2178, 0x79a0, + 0x2011, 0xc635, 0x2214, 0xd2ac, 0x1110, 0xd1bc, 0x0150, 0x7900, + 0xd1f4, 0x0120, 0x7914, 0xa18c, 0x00ff, 0x0040, 0x2009, 0x0000, + 0x0028, 0xa1f8, 0x2f32, 0x2f0d, 0xa18c, 0x00ff, 0x2c78, 0x2061, + 0x0100, 0x619a, 0xa082, 0x0085, 0x001b, 0x00fe, 0x00ce, 0x0005, + 0x84b1, 0x84bb, 0x84d6, 0x84af, 0x84af, 0x84af, 0x84b1, 0x080c, + 0x1515, 0x0146, 0x20a1, 0x020b, 0x04a1, 0x60c3, 0x0000, 0x080c, + 0x8b8b, 0x014e, 0x0005, 0x0146, 0x20a1, 0x020b, 0x080c, 0x8522, + 0x20a3, 0x0000, 0x20a3, 0x0000, 0x7808, 0x20a2, 0x7810, 0x20a2, + 0x20a3, 0x0000, 0x20a3, 0xffff, 0x20a3, 0x0000, 0x20a3, 0x0000, + 0x60c3, 0x000c, 0x080c, 0x8b8b, 0x014e, 0x0005, 0x0146, 0x20a1, + 0x020b, 0x080c, 0x855c, 0x20a3, 0x0003, 0x20a3, 0x0300, 0x20a3, + 0x0000, 0x20a3, 0x0000, 0x60c3, 0x0004, 0x080c, 0x8b8b, 0x014e, + 0x0005, 0x0026, 0x20e1, 0x9080, 0x20e1, 0x4000, 0x7818, 0xa080, + 0x0028, 0x2004, 0x2011, 0xc635, 0x2214, 0xd2ac, 0x1118, 0xa092, + 0x007e, 0x0288, 0x00d6, 0xa0e8, 0xc77b, 0x2d6c, 0x6810, 0xa085, + 0x8100, 0x20a2, 0x6814, 0x20a2, 0x2069, 0xc61c, 0x2da6, 0x8d68, + 0x2da6, 0x00de, 0x0088, 0x00d6, 0xa0e8, 0xc77b, 0x2d6c, 0x6810, + 0xa085, 0x8100, 0x20a2, 0x6814, 0x20a2, 0x00de, 0x20a3, 0x0000, + 0x2011, 0xc615, 0x2214, 0x22a2, 0x20a3, 0x0009, 0x20a3, 0x0000, + 0x0804, 0x83df, 0x0026, 0x20e1, 0x9080, 0x20e1, 0x4000, 0x7818, + 0xa080, 0x0028, 0x2004, 0x2011, 0xc635, 0x2214, 0xd2ac, 0x1118, + 0xa092, 0x007e, 0x0288, 0x00d6, 0xa0e8, 0xc77b, 0x2d6c, 0x6810, + 0xa085, 0x8400, 0x20a2, 0x6814, 0x20a2, 0x2069, 0xc61c, 0x2da6, + 0x8d68, 0x2da6, 0x00de, 0x0088, 0x00d6, 0xa0e8, 0xc77b, 0x2d6c, + 0x6810, 0xa085, 0x8400, 0x20a2, 0x6814, 0x20a2, 0x00de, 0x20a3, + 0x0000, 0x2011, 0xc615, 0x2214, 0x22a2, 0x2001, 0x0099, 0x20a2, + 0x20a3, 0x0000, 0x0804, 0x846b, 0x0026, 0x20e1, 0x9080, 0x20e1, + 0x4000, 0x7818, 0xa080, 0x0028, 0x2004, 0x2011, 0xc635, 0x2214, + 0xd2ac, 0x1118, 0xa092, 0x007e, 0x0288, 0x00d6, 0xa0e8, 0xc77b, + 0x2d6c, 0x6810, 0xa085, 0x8500, 0x20a2, 0x6814, 0x20a2, 0x2069, + 0xc61c, 0x2da6, 0x8d68, 0x2da6, 0x00de, 0x0088, 0x00d6, 0xa0e8, + 0xc77b, 0x2d6c, 0x6810, 0xa085, 0x8500, 0x20a2, 0x6814, 0x20a2, + 0x00de, 0x20a3, 0x0000, 0x2011, 0xc615, 0x2214, 0x22a2, 0x2001, + 0x0099, 0x20a2, 0x20a3, 0x0000, 0x0804, 0x846b, 0x00c6, 0x00f6, + 0x2c78, 0x7804, 0xa08a, 0x0040, 0x0a0c, 0x1515, 0xa08a, 0x0053, + 0x1a0c, 0x1515, 0x7918, 0x2160, 0x61a0, 0x2011, 0xc635, 0x2214, + 0xd2ac, 0x1110, 0xd1bc, 0x0150, 0x6100, 0xd1f4, 0x0120, 0x6114, + 0xa18c, 0x00ff, 0x0040, 0x2009, 0x0000, 0x0028, 0xa1e0, 0x2f32, + 0x2c0d, 0xa18c, 0x00ff, 0x2061, 0x0100, 0x619a, 0xa082, 0x0040, + 0x001b, 0x00fe, 0x00ce, 0x0005, 0x85d9, 0x86e5, 0x8682, 0x8887, + 0x85d7, 0x85d7, 0x85d7, 0x85d7, 0x85d7, 0x85d7, 0x85d7, 0x8f19, + 0x8f29, 0x8f39, 0x8f49, 0x85d7, 0x9359, 0x85d7, 0x8f08, 0x080c, + 0x1515, 0x00d6, 0x0156, 0x0146, 0x780b, 0xffff, 0x20a1, 0x020b, + 0x080c, 0x8639, 0x7910, 0x2168, 0x6948, 0x7952, 0x21a2, 0xa016, + 0x22a2, 0x22a2, 0x22a2, 0x694c, 0xa184, 0x000f, 0x1118, 0x2001, + 0x0005, 0x0040, 0xd184, 0x0118, 0x2001, 0x0004, 0x0018, 0xa084, + 0x0006, 0x8004, 0x0016, 0x2008, 0x7858, 0xa084, 0x00ff, 0x8007, + 0xa105, 0x001e, 0x20a2, 0xd1ac, 0x0118, 0x20a3, 0x0002, 0x0048, + 0xd1b4, 0x0118, 0x20a3, 0x0001, 0x0020, 0x20a3, 0x0000, 0x2230, + 0x0010, 0x6a80, 0x6e7c, 0x20a9, 0x0008, 0x0136, 0xad88, 0x0017, + 0x2198, 0x20a1, 0x021b, 0x53a6, 0x013e, 0x20a1, 0x020b, 0x22a2, + 0x26a2, 0x60c3, 0x0020, 0x20e1, 0x9080, 0x6014, 0xa084, 0x0004, + 0xa085, 0x0009, 0x6016, 0x2001, 0xc943, 0x2003, 0x07d0, 0x2001, + 0xc942, 0x2003, 0x0009, 0x080c, 0x17e9, 0x014e, 0x015e, 0x00de, + 0x0005, 0x20e1, 0x9080, 0x20e1, 0x4000, 0x7a18, 0xa280, 0x0023, + 0x2014, 0x8210, 0xa294, 0x00ff, 0x2202, 0x8217, 0x7818, 0xa080, + 0x0028, 0x2004, 0x2019, 0xc635, 0x231c, 0xd3ac, 0x1110, 0xd0bc, + 0x0188, 0x00d6, 0xa0e8, 0xc77b, 0x2d6c, 0x6810, 0xa085, 0x0600, + 0x20a2, 0x6814, 0x20a2, 0x2069, 0xc61c, 0x2da6, 0x8d68, 0x2da6, + 0x00de, 0x0088, 0x00d6, 0xa0e8, 0xc77b, 0x2d6c, 0x6810, 0xa085, + 0x0600, 0x20a2, 0x6814, 0x20a2, 0x00de, 0x20a3, 0x0000, 0x2009, + 0xc615, 0x210c, 0x21a2, 0x20a3, 0x0829, 0x20a3, 0x0000, 0x22a2, + 0x20a3, 0x0000, 0x2fa2, 0x20a3, 0xffff, 0x20a3, 0x0000, 0x20a3, + 0x0000, 0x0005, 0x00d6, 0x0156, 0x0136, 0x0146, 0x20a1, 0x020b, + 0x00c1, 0x7810, 0x2068, 0x6860, 0x20a2, 0x685c, 0x20a2, 0x6880, + 0x20a2, 0x687c, 0x20a2, 0xa006, 0x20a2, 0x20a2, 0x20a2, 0x20a2, + 0x60c3, 0x000c, 0x080c, 0x8b8b, 0x014e, 0x013e, 0x015e, 0x00de, + 0x0005, 0x0026, 0x20e1, 0x9080, 0x20e1, 0x4000, 0x7818, 0xa080, + 0x0028, 0x2004, 0x2011, 0xc635, 0x2214, 0xd2ac, 0x1110, 0xd0bc, + 0x0188, 0x00d6, 0xa0e8, 0xc77b, 0x2d6c, 0x6810, 0xa085, 0x0500, + 0x20a2, 0x6814, 0x20a2, 0x2069, 0xc61c, 0x2da6, 0x8d68, 0x2da6, + 0x00de, 0x0088, 0x00d6, 0xa0e8, 0xc77b, 0x2d6c, 0x6810, 0xa085, + 0x0500, 0x20a2, 0x6814, 0x20a2, 0x00de, 0x20a3, 0x0000, 0x2011, + 0xc615, 0x2214, 0x22a2, 0x20a3, 0x0889, 0x20a3, 0x0000, 0x080c, + 0x8b7a, 0x22a2, 0x20a3, 0x0000, 0x7a08, 0x22a2, 0x2fa2, 0x20a3, + 0x0000, 0x20a3, 0x0000, 0x002e, 0x0005, 0x00d6, 0x0156, 0x0136, + 0x0146, 0x7810, 0xa0ec, 0xf000, 0x0168, 0xa06d, 0x080c, 0x567f, + 0x0148, 0x684c, 0xa084, 0x2020, 0xa086, 0x2020, 0x1118, 0x7820, + 0xc0cd, 0x7822, 0x20a1, 0x020b, 0x080c, 0x883d, 0xa016, 0x22a2, + 0x22a2, 0x22a2, 0x22a2, 0x22a2, 0x7810, 0xa084, 0xf000, 0x1130, + 0x7810, 0xa084, 0x0700, 0x8007, 0x0043, 0x0010, 0xa006, 0x002b, + 0x014e, 0x013e, 0x015e, 0x00de, 0x0005, 0x871f, 0x87b4, 0x87bd, + 0x87e6, 0x87f9, 0x8814, 0x881d, 0x871d, 0x080c, 0x1515, 0x0016, + 0x0036, 0x694c, 0xa18c, 0x0003, 0x0118, 0xa186, 0x0003, 0x1170, + 0x6b78, 0x7820, 0xd0cc, 0x0108, 0xc3e5, 0x23a2, 0x6868, 0x20a2, + 0x6864, 0x20a2, 0x003e, 0x001e, 0x0804, 0x87f0, 0xa186, 0x0001, + 0x190c, 0x1515, 0x6b78, 0x7820, 0xd0cc, 0x0108, 0xc3e5, 0x23a2, + 0x6868, 0x20a2, 0x6864, 0x20a2, 0x22a2, 0x6874, 0x20a2, 0x22a2, + 0x687c, 0x20a2, 0x2009, 0x0018, 0xa384, 0x0300, 0x0904, 0x87ae, + 0xd3c4, 0x0110, 0x687c, 0xa108, 0xd3cc, 0x0110, 0x6874, 0xa108, + 0x0156, 0x20a9, 0x000d, 0xad80, 0x0020, 0x201c, 0x831f, 0x23a2, + 0x8000, 0x1f04, 0x875d, 0x015e, 0x22a2, 0x22a2, 0x22a2, 0xa184, + 0x0003, 0x0904, 0x87ae, 0x20a1, 0x020b, 0x20e1, 0x9080, 0x20e1, + 0x4000, 0x0006, 0x7818, 0xa080, 0x0028, 0x2004, 0x2011, 0xc635, + 0x2214, 0xd2ac, 0x1110, 0xd0bc, 0x0188, 0x00d6, 0xa0e8, 0xc77b, + 0x2d6c, 0x6810, 0xa085, 0x0700, 0x20a2, 0x6814, 0x20a2, 0x2069, + 0xc61c, 0x2da6, 0x8d68, 0x2da6, 0x00de, 0x0088, 0x00d6, 0xa0e8, + 0xc77b, 0x2d6c, 0x6810, 0xa085, 0x0700, 0x20a2, 0x6814, 0x20a2, + 0x00de, 0x20a3, 0x0000, 0x2011, 0xc615, 0x2214, 0x22a2, 0x000e, + 0x7b20, 0xd3cc, 0x0118, 0x20a3, 0x0889, 0x0010, 0x20a3, 0x0898, + 0x20a2, 0x080c, 0x8b7a, 0x22a2, 0x20a3, 0x0000, 0x61c2, 0x003e, + 0x001e, 0x080c, 0x8b8b, 0x0005, 0x2011, 0x0008, 0x7820, 0xd0cc, + 0x0108, 0xc2e5, 0x22a2, 0xa016, 0x0488, 0x2011, 0x0302, 0x7820, + 0xd0cc, 0x0108, 0xc2e5, 0x22a2, 0xa016, 0x22a2, 0x22a2, 0x22a2, + 0x20a3, 0x0012, 0x22a2, 0x20a3, 0x0008, 0x22a2, 0x22a2, 0x22a2, + 0x22a2, 0x20a3, 0x7000, 0x20a3, 0x0500, 0x22a2, 0x20a3, 0x000a, + 0x22a2, 0x22a2, 0x20a3, 0x2500, 0x22a2, 0x22a2, 0x22a2, 0x22a2, + 0x22a2, 0x60c3, 0x0032, 0x080c, 0x8b8b, 0x0005, 0x2011, 0x0028, + 0x7820, 0xd0cc, 0x0108, 0xc2e5, 0x22a2, 0xa016, 0x22a2, 0x22a2, + 0x22a2, 0x22a2, 0x22a2, 0x22a2, 0x60c3, 0x0018, 0x080c, 0x8b8b, + 0x0005, 0x2011, 0x0100, 0x7820, 0xd0cc, 0x0108, 0xc2e5, 0x22a2, + 0xa016, 0x22a2, 0x22a2, 0x22a2, 0x22a2, 0x22a2, 0x20a3, 0x0008, + 0x22a2, 0x7854, 0xa084, 0x00ff, 0x20a2, 0x22a2, 0x22a2, 0x60c3, + 0x0020, 0x080c, 0x8b8b, 0x0005, 0x2011, 0x0008, 0x7820, 0xd0cc, + 0x0108, 0xc2e5, 0x22a2, 0xa016, 0x0888, 0x0036, 0x7b10, 0xa384, + 0xff00, 0x7812, 0xa384, 0x00ff, 0x8001, 0x1138, 0x7820, 0xd0cc, + 0x0108, 0xc2e5, 0x22a2, 0x003e, 0x0808, 0x0046, 0x2021, 0x0800, + 0x0006, 0x7820, 0xd0cc, 0x000e, 0x0108, 0xc4e5, 0x24a2, 0x004e, + 0x22a2, 0x20a2, 0x003e, 0x0804, 0x87f0, 0x0026, 0x20e1, 0x9080, + 0x20e1, 0x4000, 0x7818, 0xa080, 0x0028, 0x2004, 0x2011, 0xc635, + 0x2214, 0xd2ac, 0x1110, 0xd0bc, 0x0188, 0x00d6, 0xa0e8, 0xc77b, + 0x2d6c, 0x6810, 0xa085, 0x0700, 0x20a2, 0x6814, 0x20a2, 0x2069, + 0xc61c, 0x2da6, 0x8d68, 0x2da6, 0x00de, 0x0088, 0x00d6, 0xa0e8, + 0xc77b, 0x2d6c, 0x6810, 0xa085, 0x0700, 0x20a2, 0x6814, 0x20a2, + 0x00de, 0x20a3, 0x0000, 0x2011, 0xc615, 0x2214, 0x22a2, 0x7820, + 0xd0cc, 0x0118, 0x20a3, 0x0889, 0x0010, 0x20a3, 0x0898, 0x20a3, + 0x0000, 0x080c, 0x8b7a, 0x22a2, 0x20a3, 0x0000, 0x7a08, 0x22a2, + 0x2fa2, 0x20a3, 0x0000, 0x20a3, 0x0000, 0x002e, 0x0005, 0x00d6, + 0x0156, 0x0136, 0x0146, 0x0016, 0x0036, 0x7810, 0xa084, 0x0700, + 0x8007, 0x003b, 0x003e, 0x001e, 0x014e, 0x013e, 0x015e, 0x00de, + 0x0005, 0x88a1, 0x88a1, 0x88a3, 0x88a1, 0x88a1, 0x88a1, 0x88c5, + 0x88a1, 0x080c, 0x1515, 0x7910, 0xa18c, 0xf8ff, 0xa18d, 0x0600, + 0x7912, 0x20a1, 0x020b, 0x2009, 0x0003, 0x00f9, 0x00d6, 0x2069, + 0xc652, 0x6804, 0xd0bc, 0x0130, 0x682c, 0xa084, 0x00ff, 0x8007, + 0x20a2, 0x0010, 0x20a3, 0x3f00, 0x00de, 0x22a2, 0x22a2, 0x22a2, + 0x60c3, 0x0001, 0x080c, 0x8b8b, 0x0005, 0x20a1, 0x020b, 0x2009, + 0x0003, 0x0019, 0x20a3, 0x7f00, 0x0c80, 0x0026, 0x20e1, 0x9080, + 0x20e1, 0x4000, 0x7818, 0xa080, 0x0028, 0x2004, 0x2011, 0xc635, + 0x2214, 0xd2ac, 0x1110, 0xd0bc, 0x0188, 0x00d6, 0xa0e8, 0xc77b, + 0x2d6c, 0x6810, 0xa085, 0x0100, 0x20a2, 0x6814, 0x20a2, 0x2069, + 0xc61c, 0x2da6, 0x8d68, 0x2da6, 0x00de, 0x0088, 0x00d6, 0xa0e8, + 0xc77b, 0x2d6c, 0x6810, 0xa085, 0x0100, 0x20a2, 0x6814, 0x20a2, + 0x00de, 0x20a3, 0x0000, 0x2011, 0xc615, 0x2214, 0x22a2, 0x20a3, + 0x0888, 0xa18d, 0x0008, 0x21a2, 0x080c, 0x8b7a, 0x22a2, 0x20a3, + 0x0000, 0x7a08, 0x22a2, 0x2fa2, 0x20a3, 0x0000, 0x20a3, 0x0000, + 0x002e, 0x0005, 0x00e6, 0x00d6, 0x00c6, 0x0066, 0x0056, 0x0046, + 0x0036, 0x2061, 0x0100, 0x2071, 0xc600, 0x2009, 0xc615, 0x210c, + 0x7818, 0x2068, 0x2031, 0xc635, 0x2634, 0xa6b4, 0x0028, 0x0110, + 0x7370, 0x7474, 0x2500, 0x2031, 0xc635, 0x2634, 0xa6b4, 0x0028, + 0x0140, 0x2001, 0x04ff, 0x6062, 0x6067, 0xffff, 0x636a, 0x646e, + 0x0050, 0x2001, 0x00ff, 0xa085, 0x0400, 0x6062, 0x6067, 0xffff, + 0x606b, 0x0000, 0x616e, 0x68b8, 0x6073, 0x0530, 0x6077, 0x0008, + 0x688c, 0x8000, 0xa084, 0x00ff, 0x688e, 0x8007, 0xa085, 0x0020, + 0x607a, 0x68b4, 0x607f, 0x0000, 0x2d00, 0x6082, 0x6087, 0xffff, + 0x7810, 0x2070, 0x7014, 0x608a, 0x7010, 0x608e, 0x700c, 0x60c6, + 0x7008, 0x60ca, 0x686c, 0x60ce, 0x60ab, 0x0036, 0x60af, 0x95d5, + 0x60d7, 0x0000, 0x2001, 0xc635, 0x2004, 0xa084, 0x0028, 0x0128, + 0x609f, 0x0000, 0x2001, 0x0092, 0x0048, 0x6028, 0xc0bd, 0x602a, + 0x609f, 0x00ff, 0x6027, 0xffff, 0x2001, 0x00b2, 0x6016, 0x2009, + 0x07d0, 0x080c, 0x6fed, 0x003e, 0x004e, 0x005e, 0x006e, 0x00ce, + 0x00de, 0x00ee, 0x0005, 0x00e6, 0x00d6, 0x00c6, 0x0066, 0x0056, + 0x0046, 0x0036, 0x2061, 0x0100, 0x2071, 0xc600, 0x2009, 0xc615, + 0x210c, 0x7818, 0x2068, 0x68a0, 0x2028, 0x2031, 0xc635, 0x2634, + 0xd6ac, 0x1160, 0xa582, 0x007e, 0x1248, 0x2500, 0xd0bc, 0x1130, + 0xa080, 0x2f32, 0x2015, 0xa294, 0x00ff, 0x0020, 0x6910, 0x6a14, + 0x7370, 0x7474, 0x2001, 0xc635, 0x2004, 0xd0ac, 0x1128, 0xa582, + 0x007e, 0x1210, 0xd5bc, 0x0138, 0xa185, 0x0400, 0x6062, 0x6266, + 0x636a, 0x646e, 0x0030, 0x6063, 0x0400, 0x6266, 0x606b, 0x0000, + 0x616e, 0x68b8, 0x6072, 0x6077, 0x0000, 0x6864, 0xd0a4, 0x0110, + 0x6077, 0x0008, 0x688c, 0x8000, 0xa084, 0x00ff, 0x688e, 0x8007, + 0xa085, 0x0020, 0x607a, 0x68b4, 0x607f, 0x0000, 0x2d00, 0x6082, + 0x6087, 0xffff, 0x7810, 0x2070, 0x7014, 0x608a, 0x7010, 0x608e, + 0x700c, 0x60c6, 0x7008, 0x60ca, 0x686c, 0x60ce, 0x60ab, 0x0036, + 0x60af, 0x95d5, 0x60d7, 0x0000, 0xa582, 0x007e, 0x0210, 0x2011, + 0x0000, 0x629e, 0x00f6, 0x2079, 0x0140, 0x7803, 0x0000, 0x00fe, + 0x2009, 0x0092, 0x6116, 0x2009, 0x07d0, 0x080c, 0x6fed, 0x003e, + 0x004e, 0x005e, 0x006e, 0x00ce, 0x00de, 0x00ee, 0x0005, 0x00e6, + 0x00d6, 0x00c6, 0x0056, 0x0046, 0x0036, 0x2061, 0x0100, 0x2071, + 0xc600, 0x7154, 0x7818, 0x2068, 0x68a0, 0x2028, 0x76d4, 0xd6ac, + 0x1130, 0xd0bc, 0x1120, 0x6910, 0x6a14, 0x7454, 0x0020, 0x6910, + 0x6a14, 0x7370, 0x7474, 0x781c, 0xa0be, 0x0006, 0x0904, 0x8ac5, + 0xa0be, 0x000a, 0x15e8, 0xa185, 0x0200, 0x6062, 0x6266, 0x636a, + 0x646e, 0x6073, 0x2029, 0x6077, 0x0000, 0x688c, 0x8000, 0xa084, + 0x00ff, 0x688e, 0x8007, 0x607a, 0x607f, 0x0000, 0x2f00, 0x6082, + 0x7808, 0x6086, 0x7810, 0x2070, 0x7014, 0x608a, 0x7010, 0x608e, + 0x700c, 0x60c6, 0x7008, 0x60ca, 0x686c, 0x60ce, 0x60af, 0x95d5, + 0x60d7, 0x0000, 0x609f, 0x0000, 0x080c, 0x93f4, 0x2009, 0x07d0, + 0x60c4, 0xa084, 0xfff0, 0xa005, 0x0110, 0x2009, 0x1b58, 0x080c, + 0x6fed, 0x003e, 0x004e, 0x005e, 0x00ce, 0x00de, 0x00ee, 0x0005, + 0x70d4, 0xd0ac, 0x1110, 0xd5bc, 0x0138, 0xa185, 0x0100, 0x6062, + 0x6266, 0x636a, 0x646e, 0x0038, 0xa185, 0x0100, 0x6062, 0x6266, + 0x606b, 0x0000, 0x646e, 0x6073, 0x0809, 0x6077, 0x0008, 0x688c, + 0x8000, 0xa084, 0x00ff, 0x688e, 0x8007, 0x607a, 0x607f, 0x0000, + 0x2f00, 0x6082, 0x7808, 0x6086, 0x7810, 0x2070, 0x7014, 0x608a, + 0x7010, 0x608e, 0x700c, 0x60c6, 0x7008, 0x60ca, 0x686c, 0x60ce, + 0x60af, 0x95d5, 0x60d7, 0x0000, 0xa582, 0x0080, 0x0248, 0x6a00, + 0xd2f4, 0x0120, 0x6a14, 0xa294, 0x00ff, 0x0010, 0x2011, 0x0000, + 0x629e, 0x080c, 0x93f4, 0x2009, 0x07d0, 0x60c4, 0xa084, 0xfff0, + 0xa005, 0x0110, 0x2009, 0x1b58, 0x080c, 0x6fed, 0x003e, 0x004e, + 0x005e, 0x00ce, 0x00de, 0x00ee, 0x0005, 0x7810, 0x2070, 0x704c, + 0xa084, 0x0003, 0xa086, 0x0002, 0x0904, 0x8b1b, 0x2001, 0xc635, + 0x2004, 0xd0ac, 0x1110, 0xd5bc, 0x0138, 0xa185, 0x0100, 0x6062, + 0x6266, 0x636a, 0x646e, 0x0038, 0xa185, 0x0100, 0x6062, 0x6266, + 0x606b, 0x0000, 0x646e, 0x6073, 0x0880, 0x6077, 0x0008, 0x688c, + 0x8000, 0xa084, 0x00ff, 0x688e, 0x8007, 0x607a, 0x7834, 0x607e, + 0x2f00, 0x6086, 0x7808, 0x6082, 0x7060, 0x608a, 0x705c, 0x608e, + 0x7080, 0x60c6, 0x707c, 0x60ca, 0x707c, 0x792c, 0xa108, 0x792e, + 0x7080, 0x7928, 0xa109, 0x792a, 0x686c, 0x60ce, 0x60af, 0x95d5, + 0x60d7, 0x0000, 0xa582, 0x0080, 0x0248, 0x6a00, 0xd2f4, 0x0120, + 0x6a14, 0xa294, 0x00ff, 0x0010, 0x2011, 0x0000, 0x629e, 0x080c, + 0x93f1, 0x0804, 0x8ab3, 0x2001, 0xc635, 0x2004, 0xd0ac, 0x1110, + 0xd5bc, 0x0138, 0xa185, 0x0700, 0x6062, 0x6266, 0x636a, 0x646e, + 0x0038, 0xa185, 0x0700, 0x6062, 0x6266, 0x606b, 0x0000, 0x646e, + 0x080c, 0x567f, 0x0180, 0x00d6, 0x7810, 0xa06d, 0x684c, 0x00de, + 0xa084, 0x2020, 0xa086, 0x2020, 0x1130, 0x7820, 0xc0cd, 0x7822, + 0x6073, 0x0889, 0x0010, 0x6073, 0x0898, 0x6077, 0x0000, 0x688c, + 0x8000, 0xa084, 0x00ff, 0x688e, 0x8007, 0x607a, 0x607f, 0x0000, + 0x2f00, 0x6086, 0x7808, 0x6082, 0x7014, 0x608a, 0x7010, 0x608e, + 0x700c, 0x60c6, 0x7008, 0x60ca, 0x686c, 0x60ce, 0x60af, 0x95d5, + 0x60d7, 0x0000, 0xa582, 0x0080, 0x0248, 0x6a00, 0xd2f4, 0x0120, + 0x6a14, 0xa294, 0x00ff, 0x0010, 0x2011, 0x0000, 0x629e, 0x7820, + 0xd0cc, 0x0120, 0x080c, 0x93f4, 0x0804, 0x8ab3, 0x080c, 0x93f1, + 0x0804, 0x8ab3, 0x7a18, 0xa280, 0x0023, 0x2014, 0x8210, 0xa294, + 0x00ff, 0x2202, 0x8217, 0x0005, 0x00d6, 0x2069, 0xc927, 0x6843, + 0x0001, 0x00de, 0x0005, 0x20e1, 0x9080, 0x60a3, 0x0056, 0x60a7, + 0x9575, 0x0019, 0x080c, 0x6fdf, 0x0005, 0x0006, 0x6014, 0xa084, + 0x0004, 0xa085, 0x0009, 0x6016, 0x000e, 0x0005, 0x0016, 0x00c6, + 0x0006, 0x2061, 0x0100, 0x61a4, 0x60a7, 0x95f5, 0x6014, 0xa084, + 0x0004, 0xa085, 0x0008, 0x6016, 0x000e, 0xe000, 0xe000, 0xe000, + 0xe000, 0x61a6, 0x00ce, 0x001e, 0x0005, 0x00c6, 0x00d6, 0x0016, + 0x0026, 0x2061, 0x0100, 0x2069, 0x0140, 0x080c, 0x5ee2, 0x1198, + 0x2001, 0xc943, 0x2004, 0xa005, 0x15b8, 0x0066, 0x2031, 0x0001, + 0x080c, 0x5f64, 0x006e, 0x1118, 0x080c, 0x6fdf, 0x0468, 0x00c6, + 0x2061, 0xc927, 0x00d8, 0x6904, 0xa194, 0x4000, 0x0550, 0x0831, + 0x6803, 0x1000, 0x6803, 0x0000, 0x00c6, 0x2061, 0xc927, 0x6128, + 0xa192, 0x00c8, 0x1258, 0x8108, 0x612a, 0x6124, 0x00ce, 0x81ff, + 0x0198, 0x080c, 0x6fdf, 0x080c, 0x8b95, 0x0070, 0x6124, 0xa1e5, + 0x0000, 0x0140, 0x080c, 0xc51d, 0x080c, 0x6fe8, 0x2009, 0x0014, + 0x080c, 0x95b5, 0x00ce, 0x0000, 0x002e, 0x001e, 0x00de, 0x00ce, + 0x0005, 0x2001, 0xc943, 0x2004, 0xa005, 0x1db0, 0x00c6, 0x2061, + 0xc927, 0x6128, 0xa192, 0x0003, 0x1e08, 0x8108, 0x612a, 0x00ce, + 0x080c, 0x6fdf, 0x080c, 0x4e14, 0x0c38, 0x00c6, 0x00d6, 0x00e6, + 0x0016, 0x0026, 0x080c, 0x6ff5, 0x2071, 0xc927, 0x713c, 0x81ff, + 0x0904, 0x8c6a, 0x2061, 0x0100, 0x2069, 0x0140, 0x080c, 0x5ee2, + 0x1500, 0x0036, 0x2019, 0x0002, 0x080c, 0x8e22, 0x003e, 0x713c, + 0x2160, 0x080c, 0xc51d, 0x2009, 0x004a, 0x621c, 0xa296, 0x0009, + 0x1138, 0x6110, 0xa188, 0x0012, 0x200b, 0x0006, 0x2009, 0x0104, + 0x080c, 0x95b5, 0x0066, 0x2031, 0x0001, 0x080c, 0x5f64, 0x006e, + 0x0408, 0x6904, 0xa194, 0x4000, 0x0518, 0x6803, 0x1000, 0x6803, + 0x0000, 0x0036, 0x2019, 0x0001, 0x080c, 0x8e22, 0x003e, 0x713c, + 0x2160, 0x080c, 0xc51d, 0x2009, 0x004a, 0x621c, 0xa296, 0x0009, + 0x1138, 0x6110, 0xa188, 0x0012, 0x200b, 0x0006, 0x2009, 0x0104, + 0x080c, 0x95b5, 0x002e, 0x001e, 0x00ee, 0x00de, 0x00ce, 0x0005, + 0x0c00, 0x0026, 0x00e6, 0x2071, 0xc927, 0x7048, 0xd084, 0x01d8, + 0x713c, 0x81ff, 0x01c0, 0x2071, 0x0100, 0xa188, 0x0007, 0x2114, + 0xa28e, 0x0006, 0x1138, 0x7014, 0xa084, 0x0184, 0xa085, 0x0012, + 0x7016, 0x0048, 0xa28e, 0x0009, 0x0db0, 0x7014, 0xa084, 0x0184, + 0xa085, 0x0016, 0x7016, 0x00ee, 0x002e, 0x0005, 0x00e6, 0x00d6, + 0x00c6, 0x0066, 0x0056, 0x0046, 0x0006, 0x0126, 0x2091, 0x8000, + 0x6018, 0x2068, 0x6ca0, 0x2071, 0xc927, 0x7018, 0x2068, 0x8dff, + 0x0188, 0x68a0, 0xa406, 0x0118, 0x6854, 0x2068, 0x0cc0, 0x6010, + 0x2060, 0x643c, 0x6540, 0x6648, 0x2d60, 0x080c, 0x546e, 0x0110, + 0xa085, 0x0001, 0x012e, 0x000e, 0x004e, 0x005e, 0x006e, 0x00ce, + 0x00de, 0x00ee, 0x0005, 0x20a1, 0x020b, 0x080c, 0x8378, 0x20a3, + 0x1200, 0x20a3, 0x0000, 0x20a3, 0x0000, 0x781c, 0xa086, 0x0004, + 0x1110, 0x6098, 0x0018, 0x2001, 0xc615, 0x2004, 0x20a2, 0x7834, + 0x20a2, 0x7838, 0x20a2, 0x20a9, 0x0010, 0xa006, 0x20a2, 0x1f04, + 0x8cde, 0x20a2, 0x20a2, 0x60c3, 0x002c, 0x080c, 0x8b8b, 0x0005, + 0x0156, 0x0146, 0x20a1, 0x020b, 0x080c, 0x8378, 0x20a3, 0x0f00, + 0x20a3, 0x0000, 0x20a3, 0x0000, 0x7808, 0x20a2, 0x60c3, 0x0008, + 0x080c, 0x8b8b, 0x014e, 0x015e, 0x0005, 0x0156, 0x0146, 0x20a1, + 0x020b, 0x080c, 0x8414, 0x20a3, 0x0200, 0x20a3, 0x0000, 0x20a9, + 0x0006, 0x2011, 0xc640, 0x2019, 0xc641, 0x23a6, 0x22a6, 0xa398, + 0x0002, 0xa290, 0x0002, 0x1f04, 0x8d0d, 0x20a3, 0x0000, 0x20a3, + 0x0000, 0x60c3, 0x001c, 0x080c, 0x8b8b, 0x014e, 0x015e, 0x0005, + 0x0156, 0x0146, 0x0016, 0x0026, 0x20a1, 0x020b, 0x080c, 0x83ed, + 0x080c, 0x8403, 0x7810, 0xa080, 0x0000, 0x2004, 0xa080, 0x0015, + 0x2098, 0x7808, 0xa088, 0x0002, 0x21a8, 0x53a6, 0xa080, 0x0004, + 0x8003, 0x60c2, 0x080c, 0x8b8b, 0x002e, 0x001e, 0x014e, 0x015e, + 0x0005, 0x0156, 0x0146, 0x20a1, 0x020b, 0x080c, 0x8378, 0x20a3, + 0x6200, 0x20a3, 0x0000, 0x20a3, 0x0000, 0x7808, 0x20a2, 0x60c3, + 0x0008, 0x080c, 0x8b8b, 0x014e, 0x015e, 0x0005, 0x0156, 0x0146, + 0x0016, 0x0026, 0x20a1, 0x020b, 0x080c, 0x8378, 0x7810, 0xa080, + 0x0000, 0x2004, 0xa080, 0x0017, 0x2098, 0x7808, 0xa088, 0x0002, + 0x21a8, 0x53a6, 0x8003, 0x60c2, 0x080c, 0x8b8b, 0x002e, 0x001e, + 0x014e, 0x015e, 0x0005, 0x00e6, 0x00c6, 0x0006, 0x0126, 0x2091, + 0x8000, 0x2071, 0xc927, 0x700c, 0x2060, 0x8cff, 0x0178, 0x080c, + 0xae1f, 0x1110, 0x080c, 0x9bab, 0x600c, 0x0006, 0x080c, 0xafe6, + 0x080c, 0x9585, 0x080c, 0x8f60, 0x00ce, 0x0c78, 0x700f, 0x0000, + 0x700b, 0x0000, 0x012e, 0x000e, 0x00ce, 0x00ee, 0x0005, 0x0126, + 0x0156, 0x00f6, 0x00e6, 0x00d6, 0x00c6, 0x0026, 0x0016, 0x0006, + 0x2091, 0x8000, 0x2069, 0x0100, 0x2079, 0x0140, 0x2071, 0xc927, + 0x7024, 0x2060, 0x8cff, 0x05a0, 0x080c, 0x8b9e, 0x68c3, 0x0000, + 0x080c, 0x6fe8, 0x2009, 0x0013, 0x080c, 0x95b5, 0x20a9, 0x01f4, + 0x6824, 0xd094, 0x0158, 0x6827, 0x0004, 0x7804, 0xa084, 0x4000, + 0x01a0, 0x7803, 0x1000, 0x7803, 0x0000, 0x0078, 0xd084, 0x0118, + 0x6827, 0x0001, 0x0010, 0x1f04, 0x8db8, 0x7804, 0xa084, 0x1000, + 0x0120, 0x7803, 0x0100, 0x7803, 0x0000, 0x6824, 0x000e, 0x001e, + 0x002e, 0x00ce, 0x00de, 0x00ee, 0x00fe, 0x015e, 0x012e, 0x0005, + 0x2001, 0xc600, 0x2004, 0xa096, 0x0001, 0x0590, 0xa096, 0x0004, + 0x0578, 0x080c, 0x6fe8, 0x6814, 0xa084, 0x0001, 0x0110, 0x68a7, + 0x95f5, 0x6817, 0x0008, 0x68c3, 0x0000, 0x2011, 0x4dd1, 0x080c, + 0x6f71, 0x20a9, 0x01f4, 0x6824, 0xd094, 0x0158, 0x6827, 0x0004, + 0x7804, 0xa084, 0x4000, 0x01a0, 0x7803, 0x1000, 0x7803, 0x0000, + 0x0078, 0xd084, 0x0118, 0x6827, 0x0001, 0x0010, 0x1f04, 0x8dfb, + 0x7804, 0xa084, 0x1000, 0x0120, 0x7803, 0x0100, 0x7803, 0x0000, + 0x000e, 0x001e, 0x002e, 0x00ce, 0x00de, 0x00ee, 0x00fe, 0x015e, + 0x012e, 0x0005, 0x0126, 0x0156, 0x00f6, 0x00e6, 0x00d6, 0x00c6, + 0x0026, 0x0016, 0x0006, 0x2091, 0x8000, 0x2069, 0x0100, 0x2079, + 0x0140, 0x2071, 0xc927, 0x703c, 0x2060, 0x8cff, 0x0904, 0x8ead, + 0xa386, 0x0002, 0x1128, 0x6814, 0xa084, 0x0002, 0x0904, 0x8ead, + 0x68af, 0x95f5, 0x6817, 0x0010, 0x2009, 0x00fa, 0x8109, 0x1df0, + 0x68c7, 0x0000, 0x68cb, 0x0008, 0x080c, 0x6ff5, 0x080c, 0x22bf, + 0x0046, 0x2009, 0x017f, 0x200b, 0x00a5, 0x2021, 0x0169, 0x2404, + 0xa084, 0x000f, 0xa086, 0x0004, 0x1500, 0x68af, 0x95f5, 0x68c7, + 0x0000, 0x68cb, 0x0008, 0x00e6, 0x00f6, 0x2079, 0x0020, 0x2071, + 0xc992, 0x6814, 0xa084, 0x0184, 0xa085, 0x0012, 0x6816, 0x7803, + 0x0008, 0x7003, 0x0000, 0x00fe, 0x00ee, 0xa386, 0x0002, 0x1128, + 0x7884, 0xa005, 0x1110, 0x7887, 0x0001, 0x2001, 0xc8f8, 0x2004, + 0x200a, 0x004e, 0xa39d, 0x0000, 0x1140, 0x2009, 0x0049, 0x601c, + 0xa086, 0x0009, 0x0110, 0x080c, 0x95b5, 0x20a9, 0x03e8, 0x6824, + 0xd094, 0x0158, 0x6827, 0x0004, 0x7804, 0xa084, 0x4000, 0x01a0, + 0x7803, 0x1000, 0x7803, 0x0000, 0x0078, 0xd08c, 0x0118, 0x6827, + 0x0002, 0x0010, 0x1f04, 0x8e8f, 0x7804, 0xa084, 0x1000, 0x0120, + 0x7803, 0x0100, 0x7803, 0x0000, 0x6824, 0x000e, 0x001e, 0x002e, + 0x00ce, 0x00de, 0x00ee, 0x00fe, 0x015e, 0x012e, 0x0005, 0x00d6, + 0x0126, 0x2091, 0x8000, 0x2069, 0xc927, 0x6a06, 0x012e, 0x00de, + 0x0005, 0x00d6, 0x0126, 0x2091, 0x8000, 0x2069, 0xc927, 0x6a32, + 0x012e, 0x00de, 0x0005, 0x00f6, 0x00e6, 0x00c6, 0x0066, 0x0006, + 0x0126, 0x2071, 0xc927, 0x7614, 0x2660, 0x2678, 0x2091, 0x8000, + 0x8cff, 0x0538, 0x601c, 0xa206, 0x1500, 0x7014, 0xac36, 0x1110, + 0x660c, 0x7616, 0x7010, 0xac36, 0x1140, 0x2c00, 0xaf36, 0x0118, + 0x2f00, 0x7012, 0x0010, 0x7013, 0x0000, 0x660c, 0x0066, 0x2c00, + 0xaf06, 0x0110, 0x7e0e, 0x0008, 0x2678, 0x600f, 0x0000, 0x080c, + 0xade4, 0x080c, 0x8f60, 0x00ce, 0x08d8, 0x2c78, 0x600c, 0x2060, + 0x08b8, 0x012e, 0x000e, 0x006e, 0x00ce, 0x00ee, 0x00fe, 0x0005, + 0x0156, 0x0146, 0x20a1, 0x020b, 0x080c, 0x8639, 0x7810, 0x20a2, + 0xa006, 0x20a2, 0x20a2, 0x20a2, 0x20a2, 0x20a3, 0x1000, 0x0804, + 0x8f58, 0x0156, 0x0146, 0x20a1, 0x020b, 0x080c, 0x8639, 0x7810, + 0x20a2, 0xa006, 0x20a2, 0x20a2, 0x20a2, 0x20a2, 0x20a3, 0x4000, + 0x0478, 0x0156, 0x0146, 0x20a1, 0x020b, 0x080c, 0x8639, 0x7810, + 0x20a2, 0xa006, 0x20a2, 0x20a2, 0x20a2, 0x20a2, 0x20a3, 0x2000, + 0x00f8, 0x0156, 0x0146, 0x20a1, 0x020b, 0x080c, 0x8639, 0x7810, + 0x20a2, 0xa006, 0x20a2, 0x20a2, 0x20a2, 0x20a2, 0x20a3, 0x0400, + 0x0078, 0x0156, 0x0146, 0x20a1, 0x020b, 0x080c, 0x8639, 0x7810, + 0x20a2, 0xa006, 0x20a2, 0x20a2, 0x20a2, 0x20a2, 0x20a3, 0x0200, + 0x0089, 0x60c3, 0x0020, 0x080c, 0x8b8b, 0x014e, 0x015e, 0x0005, + 0x00e6, 0x2071, 0xc927, 0x7020, 0xa005, 0x0110, 0x8001, 0x7022, + 0x00ee, 0x0005, 0x20a9, 0x0008, 0x20a2, 0x1f04, 0x8f6c, 0x20a2, + 0x20a2, 0x0005, 0x00f6, 0x00e6, 0x00d6, 0x00c6, 0x0076, 0x0066, + 0x0006, 0x0126, 0x2091, 0x8000, 0x2071, 0xc927, 0x7614, 0x2660, + 0x2678, 0x2039, 0x0001, 0x87ff, 0x0904, 0x9001, 0x8cff, 0x0904, + 0x9001, 0x601c, 0xa086, 0x0006, 0x1904, 0x8ffc, 0x88ff, 0x0138, + 0x2800, 0xac06, 0x1904, 0x8ffc, 0x2039, 0x0000, 0x0050, 0x6018, + 0xa206, 0x1904, 0x8ffc, 0x85ff, 0x0120, 0x6050, 0xa106, 0x1904, + 0x8ffc, 0x7024, 0xac06, 0x1560, 0x2069, 0x0100, 0x68c0, 0xa005, + 0x0518, 0x080c, 0x6fe8, 0x6820, 0xd0b4, 0x0110, 0x68a7, 0x95f5, + 0x6817, 0x0008, 0x68c3, 0x0000, 0x080c, 0x9088, 0x7027, 0x0000, + 0x0036, 0x2069, 0x0140, 0x6b04, 0xa384, 0x1000, 0x0120, 0x6803, + 0x0100, 0x6803, 0x0000, 0x2069, 0x0100, 0x6824, 0xd084, 0x0110, + 0x6827, 0x0001, 0x003e, 0x0020, 0x6003, 0x0009, 0x630a, 0x0460, + 0x7014, 0xac36, 0x1110, 0x660c, 0x7616, 0x7010, 0xac36, 0x1140, + 0x2c00, 0xaf36, 0x0118, 0x2f00, 0x7012, 0x0010, 0x7013, 0x0000, + 0x660c, 0x0066, 0x2c00, 0xaf06, 0x0110, 0x7e0e, 0x0008, 0x2678, + 0x89ff, 0x1158, 0x600f, 0x0000, 0x6010, 0x2068, 0x080c, 0xac21, + 0x0110, 0x080c, 0xc0c3, 0x080c, 0xade4, 0x080c, 0x8f60, 0x88ff, + 0x1190, 0x00ce, 0x0804, 0x8f83, 0x2c78, 0x600c, 0x2060, 0x0804, + 0x8f83, 0xa006, 0x012e, 0x000e, 0x006e, 0x007e, 0x00ce, 0x00de, + 0x00ee, 0x00fe, 0x0005, 0x6017, 0x0000, 0x00ce, 0xa8c5, 0x0001, + 0x0c88, 0x00f6, 0x00e6, 0x00d6, 0x00c6, 0x0066, 0x0026, 0x0006, + 0x0126, 0x2091, 0x8000, 0x2071, 0xc927, 0x7638, 0x2660, 0x2678, + 0x8cff, 0x0904, 0x9078, 0x601c, 0xa086, 0x0006, 0x1904, 0x9073, + 0x87ff, 0x0128, 0x2700, 0xac06, 0x1904, 0x9073, 0x0048, 0x6018, + 0xa206, 0x1904, 0x9073, 0x85ff, 0x0118, 0x6050, 0xa106, 0x15d8, + 0x703c, 0xac06, 0x1180, 0x0036, 0x2019, 0x0001, 0x080c, 0x8e22, + 0x7033, 0x0000, 0x703f, 0x0000, 0x7043, 0x0000, 0x7047, 0x0000, + 0x704b, 0x0000, 0x003e, 0x7038, 0xac36, 0x1110, 0x660c, 0x763a, + 0x7034, 0xac36, 0x1140, 0x2c00, 0xaf36, 0x0118, 0x2f00, 0x7036, + 0x0010, 0x7037, 0x0000, 0x660c, 0x0066, 0x2c00, 0xaf06, 0x0110, + 0x7e0e, 0x0008, 0x2678, 0x600f, 0x0000, 0x6010, 0x2068, 0x080c, + 0xac21, 0x0110, 0x080c, 0xc0c3, 0x080c, 0xade4, 0x87ff, 0x1190, + 0x00ce, 0x0804, 0x9020, 0x2c78, 0x600c, 0x2060, 0x0804, 0x9020, + 0xa006, 0x012e, 0x000e, 0x002e, 0x006e, 0x00ce, 0x00de, 0x00ee, + 0x00fe, 0x0005, 0x6017, 0x0000, 0x00ce, 0xa7bd, 0x0001, 0x0c88, + 0x00e6, 0x2071, 0xc927, 0x2001, 0xc600, 0x2004, 0xa086, 0x0002, + 0x1118, 0x7007, 0x0005, 0x0010, 0x7007, 0x0000, 0x00ee, 0x0005, + 0x00f6, 0x00e6, 0x00c6, 0x0066, 0x0026, 0x0006, 0x0126, 0x2091, + 0x8000, 0x2071, 0xc927, 0x2c10, 0x7638, 0x2660, 0x2678, 0x8cff, + 0x0518, 0x2200, 0xac06, 0x11e0, 0x7038, 0xac36, 0x1110, 0x660c, + 0x763a, 0x7034, 0xac36, 0x1140, 0x2c00, 0xaf36, 0x0118, 0x2f00, + 0x7036, 0x0010, 0x7037, 0x0000, 0x660c, 0x2c00, 0xaf06, 0x0110, + 0x7e0e, 0x0008, 0x2678, 0x600f, 0x0000, 0xa085, 0x0001, 0x0020, + 0x2c78, 0x600c, 0x2060, 0x08d8, 0x012e, 0x000e, 0x002e, 0x006e, + 0x00ce, 0x00ee, 0x00fe, 0x0005, 0x00f6, 0x00e6, 0x00d6, 0x00c6, + 0x0066, 0x0006, 0x0126, 0x2091, 0x8000, 0x2071, 0xc927, 0x760c, + 0x2660, 0x2678, 0x8cff, 0x0904, 0x915e, 0x6018, 0xa080, 0x0028, + 0x2004, 0xa206, 0x1904, 0x9159, 0x7024, 0xac06, 0x1508, 0x2069, + 0x0100, 0x68c0, 0xa005, 0x0904, 0x9135, 0x080c, 0x8b9e, 0x68c3, + 0x0000, 0x080c, 0x9088, 0x7027, 0x0000, 0x0036, 0x2069, 0x0140, + 0x6b04, 0xa384, 0x1000, 0x0120, 0x6803, 0x0100, 0x6803, 0x0000, + 0x2069, 0x0100, 0x6824, 0xd084, 0x0110, 0x6827, 0x0001, 0x003e, + 0x700c, 0xac36, 0x1110, 0x660c, 0x760e, 0x7008, 0xac36, 0x1140, + 0x2c00, 0xaf36, 0x0118, 0x2f00, 0x700a, 0x0010, 0x700b, 0x0000, + 0x660c, 0x0066, 0x2c00, 0xaf06, 0x0110, 0x7e0e, 0x0008, 0x2678, + 0x600f, 0x0000, 0x080c, 0xae0e, 0x1158, 0x080c, 0x2e30, 0x080c, + 0xae1f, 0x11f0, 0x080c, 0x9bab, 0x00d8, 0x080c, 0x9088, 0x08c0, + 0x080c, 0xae1f, 0x1118, 0x080c, 0x9bab, 0x0090, 0x6010, 0x2068, + 0x080c, 0xac21, 0x0168, 0x601c, 0xa086, 0x0003, 0x11f8, 0x6837, + 0x0103, 0x6b4a, 0x6847, 0x0000, 0x080c, 0x57ca, 0x080c, 0xadd8, + 0x080c, 0xafe6, 0x080c, 0xade4, 0x080c, 0x8f60, 0x00ce, 0x0804, + 0x90e2, 0x2c78, 0x600c, 0x2060, 0x0804, 0x90e2, 0x012e, 0x000e, + 0x006e, 0x00ce, 0x00de, 0x00ee, 0x00fe, 0x0005, 0x601c, 0xa086, + 0x0006, 0x1d30, 0x080c, 0xc0c3, 0x0c18, 0x0036, 0x0156, 0x0136, + 0x0146, 0x3908, 0xa006, 0xa190, 0x0020, 0x221c, 0xa39e, 0x2c27, + 0x1118, 0x8210, 0x8000, 0x0cc8, 0xa005, 0x0138, 0x20a9, 0x0020, + 0x2198, 0xa110, 0x22a0, 0x22c8, 0x53a3, 0x014e, 0x013e, 0x015e, + 0x003e, 0x0005, 0x00d6, 0x20a1, 0x020b, 0x080c, 0x8414, 0x20a3, + 0x0200, 0x20a3, 0x0014, 0x60c3, 0x0014, 0x20a3, 0x0000, 0x20a3, + 0x0000, 0x2099, 0xc900, 0x20a9, 0x0004, 0x53a6, 0x20a3, 0x0004, + 0x20a3, 0x7878, 0x20a3, 0x0000, 0x20a3, 0x0000, 0x080c, 0x8b8b, + 0x00de, 0x0005, 0x20a1, 0x020b, 0x080c, 0x8414, 0x20a3, 0x0214, + 0x20a3, 0x0018, 0x20a3, 0x0800, 0x7810, 0xa084, 0xff00, 0x20a2, + 0x20a3, 0x0000, 0x20a3, 0x0000, 0x20a3, 0x0000, 0x20a3, 0x0000, + 0x7810, 0xa084, 0x00ff, 0x20a2, 0x7828, 0x20a2, 0x20a3, 0x0000, + 0x20a3, 0x0000, 0x60c3, 0x0018, 0x080c, 0x8b8b, 0x0005, 0x00d6, + 0x0016, 0x2f68, 0x2009, 0x0035, 0x080c, 0xb0d1, 0x1904, 0x923d, + 0x20a1, 0x020b, 0x080c, 0x8378, 0x20a3, 0x1300, 0x20a3, 0x0000, + 0x7828, 0x2068, 0x681c, 0xa086, 0x0003, 0x0580, 0x7818, 0xa080, + 0x0028, 0x2014, 0x2001, 0xc635, 0x2004, 0xd0ac, 0x11d0, 0xa286, + 0x007e, 0x1128, 0x20a3, 0x00ff, 0x20a3, 0xfffe, 0x04b8, 0xa286, + 0x007f, 0x1128, 0x20a3, 0x00ff, 0x20a3, 0xfffd, 0x0478, 0xd2bc, + 0x0180, 0xa286, 0x0080, 0x1128, 0x20a3, 0x00ff, 0x20a3, 0xfffc, + 0x0428, 0xa2e8, 0xc77b, 0x2d6c, 0x6810, 0x20a2, 0x6814, 0x20a2, + 0x00e8, 0x20a3, 0x0000, 0x6098, 0x20a2, 0x00c0, 0x2001, 0xc635, + 0x2004, 0xd0ac, 0x1138, 0x7818, 0xa080, 0x0028, 0x2004, 0xa082, + 0x007e, 0x0240, 0x00d6, 0x2069, 0xc61c, 0x2da6, 0x8d68, 0x2da6, + 0x00de, 0x0020, 0x20a3, 0x0000, 0x6034, 0x20a2, 0x7834, 0x20a2, + 0x7838, 0x20a2, 0x20a3, 0x0000, 0x20a3, 0x0000, 0x60c3, 0x000c, + 0x080c, 0x8b8b, 0x001e, 0x00de, 0x0005, 0x7817, 0x0001, 0x7803, + 0x0006, 0x001e, 0x00de, 0x0005, 0x00d6, 0x0026, 0x7928, 0x2168, + 0x691c, 0xa186, 0x0006, 0x01c0, 0xa186, 0x0003, 0x0904, 0x92b3, + 0xa186, 0x0005, 0x0904, 0x929c, 0xa186, 0x0004, 0x05b8, 0xa186, + 0x0008, 0x0904, 0x92a4, 0x7807, 0x0037, 0x7813, 0x1700, 0x080c, + 0x931b, 0x002e, 0x00de, 0x0005, 0x080c, 0x92d7, 0x2009, 0x4000, + 0x6800, 0x0002, 0x927d, 0x9288, 0x927f, 0x9288, 0x9284, 0x927d, + 0x927d, 0x9288, 0x9288, 0x9288, 0x9288, 0x927d, 0x927d, 0x927d, + 0x927d, 0x927d, 0x9288, 0x927d, 0x9288, 0x080c, 0x1515, 0x6820, + 0xd0e4, 0x0110, 0xd0cc, 0x0110, 0xa00e, 0x0010, 0x2009, 0x2000, + 0x6828, 0x20a2, 0x682c, 0x20a2, 0x0804, 0x92cd, 0x080c, 0x92d7, + 0x20a3, 0x0000, 0x20a3, 0x0000, 0x2009, 0x4000, 0x6a00, 0xa286, + 0x0002, 0x1108, 0xa00e, 0x0488, 0x04d1, 0x20a3, 0x0000, 0x20a3, + 0x0000, 0x2009, 0x4000, 0x0448, 0x0491, 0x20a3, 0x0000, 0x20a3, + 0x0000, 0x2009, 0x4000, 0xa286, 0x0005, 0x0118, 0xa286, 0x0002, + 0x1108, 0xa00e, 0x00d0, 0x0419, 0x6810, 0x2068, 0x697c, 0x6810, + 0xa112, 0x6980, 0x6814, 0xa103, 0x20a2, 0x22a2, 0x7928, 0xa180, + 0x0000, 0x2004, 0xa08e, 0x0002, 0x0130, 0xa08e, 0x0004, 0x0118, + 0x2009, 0x4000, 0x0010, 0x2009, 0x0000, 0x21a2, 0x20a3, 0x0000, + 0x60c3, 0x0018, 0x080c, 0x8b8b, 0x002e, 0x00de, 0x0005, 0x0036, + 0x0046, 0x0056, 0x0066, 0x20a1, 0x020b, 0x080c, 0x8414, 0xa006, + 0x20a3, 0x0200, 0x20a2, 0x7934, 0x21a2, 0x7938, 0x21a2, 0x7818, + 0xa080, 0x0028, 0x2004, 0x2011, 0xc635, 0x2214, 0xd2ac, 0x1118, + 0xa092, 0x007e, 0x0268, 0x00d6, 0x2069, 0xc61c, 0x2d2c, 0x8d68, + 0x2d34, 0xa0e8, 0xc77b, 0x2d6c, 0x6b10, 0x6c14, 0x00de, 0x0030, + 0x2019, 0x0000, 0x6498, 0x2029, 0x0000, 0x6634, 0x7828, 0xa080, + 0x0007, 0x2004, 0xa086, 0x0003, 0x1128, 0x25a2, 0x26a2, 0x23a2, + 0x24a2, 0x0020, 0x23a2, 0x24a2, 0x25a2, 0x26a2, 0x006e, 0x005e, + 0x004e, 0x003e, 0x0005, 0x20a1, 0x020b, 0x080c, 0x8414, 0x20a3, + 0x0100, 0x20a3, 0x0000, 0x20a3, 0x0009, 0x7810, 0x20a2, 0x60c3, + 0x0008, 0x080c, 0x8b8b, 0x0005, 0x20a1, 0x020b, 0x080c, 0x8370, + 0x20a3, 0x1400, 0x20a3, 0x0000, 0x7834, 0x20a2, 0x7838, 0x20a2, + 0x7828, 0x20a2, 0x782c, 0x20a2, 0x7830, 0xa084, 0x00ff, 0x8007, + 0x20a2, 0x20a3, 0x0000, 0x60c3, 0x0010, 0x080c, 0x8b8b, 0x0005, + 0x20a1, 0x020b, 0x080c, 0x840c, 0x20a3, 0x0100, 0x20a3, 0x0000, + 0x7828, 0x20a2, 0x7810, 0x20a2, 0x60c3, 0x0008, 0x080c, 0x8b8b, + 0x0005, 0x0146, 0x20a1, 0x020b, 0x0031, 0x60c3, 0x0000, 0x080c, + 0x8b8b, 0x014e, 0x0005, 0x20e1, 0x9080, 0x20e1, 0x4000, 0x7818, + 0xa080, 0x0028, 0x2004, 0x2011, 0xc635, 0x2214, 0xd2ac, 0x1110, + 0xd0bc, 0x0188, 0x00d6, 0xa0e8, 0xc77b, 0x2d6c, 0x6810, 0xa085, + 0x0300, 0x20a2, 0x6814, 0x20a2, 0x2069, 0xc61c, 0x2da6, 0x8d68, + 0x2da6, 0x00de, 0x0078, 0x00d6, 0xa0e8, 0xc77b, 0x2d6c, 0x6810, + 0xa085, 0x0300, 0x20a2, 0x6814, 0x20a2, 0x00de, 0x20a3, 0x0000, + 0x6234, 0x22a2, 0x20a3, 0x0819, 0x20a3, 0x0000, 0x080c, 0x8b7a, + 0x22a2, 0x20a3, 0x0000, 0x2fa2, 0x7a08, 0x22a2, 0x20a3, 0x0000, + 0x20a3, 0x0000, 0x0005, 0x20a1, 0x020b, 0x0079, 0x7910, 0x21a2, + 0x20a3, 0x0000, 0x60c3, 0x0000, 0x20e1, 0x9080, 0x60a7, 0x9575, + 0x080c, 0x8b95, 0x080c, 0x6fdf, 0x0005, 0x0156, 0x0136, 0x0036, + 0x00d6, 0x00e6, 0x20e1, 0x9080, 0x20e1, 0x4000, 0x7854, 0x2068, + 0xadf0, 0x000f, 0x7210, 0xa296, 0x00c0, 0xa294, 0xfffd, 0x7212, + 0x7214, 0xa294, 0x0300, 0x7216, 0x7100, 0xa194, 0x00ff, 0x7308, + 0xa384, 0x00ff, 0xa08d, 0xc200, 0x7102, 0xa384, 0xff00, 0xa215, + 0x720a, 0x7004, 0x720c, 0x700e, 0x7206, 0x20a9, 0x000a, 0x2e98, + 0x53a6, 0x60a3, 0x0035, 0x6a38, 0xa294, 0x7000, 0xa286, 0x3000, + 0x0110, 0x60a3, 0x0037, 0x00ee, 0x00de, 0x003e, 0x013e, 0x015e, + 0x0005, 0x2009, 0x0092, 0x0010, 0x2009, 0x0096, 0x60ab, 0x0036, + 0x6116, 0x0005, 0x609b, 0x0000, 0x20a1, 0x020b, 0x20e1, 0x9080, + 0x20e1, 0x4000, 0x20a3, 0x22ff, 0x20a3, 0xffff, 0x00d6, 0x2069, + 0xc61c, 0x2da6, 0x8d68, 0x2da6, 0x00de, 0x20a3, 0x0138, 0x20a3, + 0x0000, 0x0026, 0x080c, 0x8b7a, 0x22a2, 0x20a3, 0x0000, 0x2fa2, + 0x20a3, 0xffff, 0x20a3, 0x0000, 0x20a3, 0x0000, 0x002e, 0x20a3, + 0x5400, 0x20a3, 0x0000, 0x080c, 0x7653, 0x11b8, 0x0016, 0x7810, + 0xa080, 0x000d, 0x20a9, 0x0014, 0x200c, 0x810f, 0x21a2, 0x8000, + 0x1f04, 0x942c, 0x20a9, 0x0012, 0x2001, 0x0000, 0x20a3, 0x0000, + 0x1f04, 0x9436, 0x001e, 0x0804, 0x94a4, 0x7810, 0x0016, 0x00c6, + 0x00d6, 0x7810, 0x2068, 0x2061, 0xc600, 0x6070, 0xa084, 0x00ff, + 0x6968, 0x810f, 0xa18c, 0xff00, 0xa105, 0x20a2, 0x6074, 0x20a2, + 0x6968, 0xa18c, 0xff00, 0x21a2, 0x20a3, 0x0000, 0x20a9, 0x0004, + 0x2009, 0xc605, 0x2104, 0x20a2, 0x8108, 0x1f04, 0x945a, 0x20a9, + 0x0004, 0x2009, 0xc601, 0x2104, 0x20a2, 0x8108, 0x1f04, 0x9463, + 0x20a9, 0x0004, 0x2d08, 0xa188, 0x001d, 0x2104, 0x8007, 0x20a2, + 0x8108, 0x1f04, 0x946d, 0x20a9, 0x0004, 0x2d08, 0xa188, 0x0021, + 0x2104, 0x8007, 0x20a2, 0x8108, 0x1f04, 0x9478, 0x080c, 0x7658, + 0x1138, 0x20a9, 0x0008, 0x20a3, 0x0000, 0x1f04, 0x9483, 0x0050, + 0x20a9, 0x0008, 0x2009, 0xc69a, 0x2104, 0x8007, 0x20a2, 0x8108, + 0x1f04, 0x948c, 0x20a9, 0x0008, 0x2d08, 0xa188, 0x0025, 0x2104, + 0x8007, 0x20a2, 0x8108, 0x1f04, 0x9497, 0x00de, 0x00ce, 0x001e, + 0x20a3, 0x0000, 0x20a3, 0x0000, 0x60c3, 0x004c, 0x080c, 0x8b8b, + 0x0005, 0x20a1, 0x020b, 0x080c, 0x8378, 0x20a3, 0x5500, 0x20a3, + 0x0000, 0x7810, 0x0016, 0x00c6, 0x00d6, 0x7810, 0x2068, 0x686c, + 0xa084, 0x00ff, 0x6968, 0x810f, 0xa18c, 0xff00, 0xa105, 0x20a2, + 0x696c, 0xa18c, 0xff00, 0x6870, 0xa084, 0x00ff, 0xa105, 0x20a2, + 0x6968, 0xa18c, 0xff00, 0x2061, 0xc600, 0x6070, 0xa084, 0x00ff, + 0xa10d, 0x21a2, 0x6174, 0x21a2, 0x20a9, 0x0004, 0x2d08, 0xa188, + 0x001d, 0x2104, 0x8007, 0x20a2, 0x8108, 0x1f04, 0x94d9, 0x20a9, + 0x0004, 0x2d08, 0xa188, 0x0021, 0x2104, 0x8007, 0x20a2, 0x8108, + 0x1f04, 0x94e4, 0x20a9, 0x0004, 0x2009, 0xc605, 0x2104, 0x20a2, + 0x8108, 0x1f04, 0x94ee, 0x20a9, 0x0004, 0x2009, 0xc601, 0x2104, + 0x20a2, 0x8108, 0x1f04, 0x94f7, 0x20a9, 0x0008, 0x2d08, 0xa188, + 0x0025, 0x2104, 0x8007, 0x20a2, 0x8108, 0x1f04, 0x9501, 0x080c, + 0x7658, 0x1138, 0x20a9, 0x0008, 0x20a3, 0x0000, 0x1f04, 0x950c, + 0x0050, 0x20a9, 0x0008, 0x2009, 0xc69a, 0x2104, 0x8007, 0x20a2, + 0x8108, 0x1f04, 0x9515, 0x00de, 0x00ce, 0x001e, 0x20a3, 0x0000, + 0x20a3, 0x0000, 0x60c3, 0x004c, 0x080c, 0x8b8b, 0x0005, 0x2061, + 0xce00, 0x2a70, 0x7068, 0x704a, 0x704f, 0xce00, 0x0005, 0x00e6, + 0x0126, 0x2071, 0xc600, 0x2091, 0x8000, 0x7548, 0xa582, 0x0010, + 0x0608, 0x704c, 0x2060, 0x6000, 0xa086, 0x0000, 0x0148, 0xace0, + 0x0018, 0x705c, 0xac02, 0x1208, 0x0cb0, 0x2061, 0xce00, 0x0c98, + 0x6003, 0x0008, 0x8529, 0x754a, 0xaca8, 0x0018, 0x705c, 0xa502, + 0x1230, 0x754e, 0xa085, 0x0001, 0x012e, 0x00ee, 0x0005, 0x704f, + 0xce00, 0x0cc0, 0xa006, 0x0cc0, 0x00e6, 0x2071, 0xc600, 0x7548, + 0xa582, 0x0010, 0x0600, 0x704c, 0x2060, 0x6000, 0xa086, 0x0000, + 0x0148, 0xace0, 0x0018, 0x705c, 0xac02, 0x1208, 0x0cb0, 0x2061, + 0xce00, 0x0c98, 0x6003, 0x0008, 0x8529, 0x754a, 0xaca8, 0x0018, + 0x705c, 0xa502, 0x1228, 0x754e, 0xa085, 0x0001, 0x00ee, 0x0005, + 0x704f, 0xce00, 0x0cc8, 0xa006, 0x0cc8, 0xac82, 0xce00, 0x0a0c, + 0x1515, 0x2001, 0xc617, 0x2004, 0xac02, 0x1a0c, 0x1515, 0xa006, + 0x6006, 0x600a, 0x600e, 0x6012, 0x6016, 0x601a, 0x601f, 0x0000, + 0x6003, 0x0000, 0x6052, 0x6056, 0x6022, 0x6026, 0x602a, 0x602e, + 0x6032, 0x6036, 0x603a, 0x603e, 0x6026, 0x2061, 0xc600, 0x6048, + 0x8000, 0x604a, 0xa086, 0x0001, 0x0108, 0x0005, 0x0126, 0x2091, + 0x8000, 0x080c, 0x7e54, 0x012e, 0x0cc0, 0x601c, 0xa084, 0x000f, + 0x0002, 0x95c4, 0x95d3, 0x95ee, 0x9609, 0xb115, 0xb130, 0xb14b, + 0x95c4, 0x95d3, 0x765d, 0x9624, 0xa186, 0x0013, 0x1128, 0x080c, + 0x7d75, 0x080c, 0x7e54, 0x0005, 0xa18e, 0x0047, 0x1118, 0xa016, + 0x080c, 0x1868, 0x0005, 0x0066, 0x6000, 0xa0b2, 0x0010, 0x1a0c, + 0x1515, 0x0013, 0x006e, 0x0005, 0x95ec, 0x9a1a, 0x9be5, 0x95ec, + 0x9c62, 0x96e2, 0x95ec, 0x95ec, 0x99ac, 0xa0c5, 0x95ec, 0x95ec, + 0x95ec, 0x95ec, 0x95ec, 0x95ec, 0x080c, 0x1515, 0x0066, 0x6000, + 0xa0b2, 0x0010, 0x1a0c, 0x1515, 0x0013, 0x006e, 0x0005, 0x9607, + 0xa6f1, 0x9607, 0x9607, 0x9607, 0x9607, 0x9607, 0x9607, 0xa69c, + 0xa85d, 0x9607, 0xa71e, 0xa795, 0xa71e, 0xa795, 0x9607, 0x080c, + 0x1515, 0x0066, 0x6000, 0xa0b2, 0x0010, 0x1a0c, 0x1515, 0x0013, + 0x006e, 0x0005, 0x9622, 0xa106, 0xa1d0, 0xa304, 0xa460, 0x9622, + 0x9622, 0x9622, 0xa0e0, 0xa64c, 0xa64f, 0x9622, 0x9622, 0x9622, + 0x9622, 0xa679, 0x080c, 0x1515, 0x0066, 0x6000, 0xa0b2, 0x0010, + 0x1a0c, 0x1515, 0x0013, 0x006e, 0x0005, 0x963d, 0x963d, 0x963d, + 0x966b, 0x96b8, 0x963d, 0x963d, 0x963d, 0x963f, 0x963d, 0x963d, + 0x963d, 0x963d, 0x963d, 0x963d, 0x963d, 0x080c, 0x1515, 0xa186, + 0x0003, 0x190c, 0x1515, 0x00d6, 0x6003, 0x0003, 0x6106, 0x6010, + 0x2068, 0x684f, 0x0040, 0x687c, 0x680a, 0x6880, 0x680e, 0x6813, + 0x0000, 0x6817, 0x0000, 0x6854, 0xa092, 0x199a, 0x0210, 0x2001, + 0x1999, 0x8003, 0x8013, 0x8213, 0xa210, 0x6216, 0x00de, 0x2c10, + 0x080c, 0x2039, 0x080c, 0x79c0, 0x0126, 0x2091, 0x8000, 0x080c, + 0x7f2e, 0x012e, 0x0005, 0xa182, 0x0047, 0x0002, 0x9677, 0x9677, + 0x9679, 0x9692, 0x9677, 0x9677, 0x9677, 0x9677, 0x96a4, 0x080c, + 0x1515, 0x00d6, 0x0016, 0x080c, 0x7e07, 0x080c, 0x7f2e, 0x6003, + 0x0004, 0x6110, 0x2168, 0x684f, 0x0020, 0x685c, 0x685a, 0x6874, + 0x687e, 0x6878, 0x6882, 0x6897, 0x0000, 0x689b, 0x0000, 0x001e, + 0x00de, 0x0005, 0x080c, 0x7e07, 0x00d6, 0x6110, 0x2168, 0x080c, + 0xac21, 0x0120, 0x684b, 0x0006, 0x080c, 0x57ca, 0x00de, 0x080c, + 0x9585, 0x080c, 0x7f2e, 0x0005, 0x080c, 0x7e07, 0x080c, 0x2e0a, + 0x00d6, 0x6110, 0x2168, 0x080c, 0xac21, 0x0120, 0x684b, 0x0029, + 0x080c, 0x57ca, 0x00de, 0x080c, 0x9585, 0x080c, 0x7f2e, 0x0005, + 0xa182, 0x0047, 0x0002, 0x96c6, 0x96d5, 0x96c4, 0x96c4, 0x96c4, + 0x96c4, 0x96c4, 0x96c4, 0x96c4, 0x080c, 0x1515, 0x00d6, 0x6010, + 0x2068, 0x684c, 0xc0f4, 0x684e, 0x00de, 0x20e1, 0x0005, 0x3d18, + 0x3e20, 0x2c10, 0x080c, 0x1868, 0x0005, 0x00d6, 0x6110, 0x2168, + 0x684b, 0x0000, 0x6853, 0x0000, 0x080c, 0x57ca, 0x00de, 0x080c, + 0x9585, 0x0005, 0xa1b6, 0x0015, 0x1118, 0x080c, 0x9585, 0x0030, + 0xa1b6, 0x0016, 0x190c, 0x1515, 0x080c, 0x9585, 0x0005, 0x20a9, + 0x000e, 0x2e98, 0x6010, 0x20a0, 0x53a3, 0x20a9, 0x0006, 0x3310, + 0x3420, 0x9398, 0x94a0, 0x3318, 0x3428, 0x222e, 0x2326, 0xa290, + 0x0002, 0xa5a8, 0x0002, 0xa398, 0x0002, 0xa4a0, 0x0002, 0x1f04, + 0x96fd, 0x00e6, 0x080c, 0xac21, 0x0130, 0x6010, 0x2070, 0x7007, + 0x0000, 0x7037, 0x0103, 0x00ee, 0x080c, 0x9585, 0x0005, 0x00d6, + 0x0036, 0x7330, 0xa386, 0x0200, 0x1130, 0x6018, 0x2068, 0x6813, + 0x00ff, 0x6817, 0xfffd, 0x6010, 0xa005, 0x0130, 0x2068, 0x6807, + 0x0000, 0x6837, 0x0103, 0x6b32, 0x080c, 0x9585, 0x003e, 0x00de, + 0x0005, 0x0016, 0x20a9, 0x002a, 0xae80, 0x000c, 0x2098, 0x6010, + 0xa080, 0x0002, 0x20a0, 0x53a3, 0x20a9, 0x002a, 0x6010, 0xa080, + 0x0001, 0x2004, 0xa080, 0x0002, 0x20a0, 0x53a3, 0x00e6, 0x6010, + 0x2004, 0x2070, 0x7037, 0x0103, 0x00ee, 0x080c, 0x9585, 0x001e, + 0x0005, 0x0016, 0x2009, 0x0000, 0x7030, 0xa086, 0x0100, 0x0140, + 0x7038, 0xa084, 0x00ff, 0x800c, 0x703c, 0xa084, 0x00ff, 0x8004, + 0xa080, 0x0004, 0xa108, 0x21a8, 0xae80, 0x000c, 0x2098, 0x6010, + 0xa080, 0x0002, 0x20a0, 0x080c, 0x4e84, 0x00e6, 0x080c, 0xac21, + 0x0140, 0x6010, 0x2070, 0x7007, 0x0000, 0x7034, 0x70b2, 0x7037, + 0x0103, 0x00ee, 0x080c, 0x9585, 0x001e, 0x0005, 0x0016, 0x2009, + 0x0000, 0x7030, 0xa086, 0x0200, 0x0110, 0x2009, 0x0001, 0x00d6, + 0x6010, 0xa06d, 0x090c, 0x1515, 0x694a, 0x080c, 0x57ca, 0x00de, + 0x080c, 0x9585, 0x001e, 0x0005, 0x00e6, 0x00d6, 0x603f, 0x0000, + 0x2c68, 0x0016, 0x2009, 0x0035, 0x080c, 0xb0d1, 0x001e, 0x1168, + 0x0026, 0x6228, 0x2268, 0x002e, 0x2071, 0xcc8c, 0x6b1c, 0xa386, + 0x0003, 0x0130, 0xa386, 0x0006, 0x0128, 0x080c, 0x9585, 0x0020, + 0x0031, 0x0010, 0x080c, 0x9875, 0x00de, 0x00ee, 0x0005, 0x00f6, + 0x6810, 0x2078, 0xa186, 0x0015, 0x0904, 0x985c, 0xa18e, 0x0016, + 0x1904, 0x9873, 0x700c, 0xa08c, 0xff00, 0xa186, 0x1700, 0x0120, + 0xa186, 0x0300, 0x1904, 0x983b, 0x8fff, 0x1138, 0x6800, 0xa086, + 0x000f, 0x0904, 0x981f, 0x0804, 0x9871, 0x6808, 0xa086, 0xffff, + 0x1904, 0x985e, 0x784c, 0xa084, 0x0060, 0xa086, 0x0020, 0x1150, + 0x797c, 0x7810, 0xa106, 0x1904, 0x985e, 0x7980, 0x7814, 0xa106, + 0x1904, 0x985e, 0x080c, 0xadd8, 0x6858, 0x7852, 0x784c, 0xc0dc, + 0xc0f4, 0xc0d4, 0x784e, 0x0026, 0xa00e, 0x6a14, 0x2001, 0x000a, + 0x080c, 0x7803, 0x7854, 0xa20a, 0x0208, 0x8011, 0x7a56, 0x82ff, + 0x002e, 0x1138, 0x00c6, 0x2d60, 0x080c, 0xa9d8, 0x00ce, 0x0804, + 0x9871, 0x00c6, 0x00d6, 0x2f68, 0x6838, 0xd0fc, 0x1118, 0x080c, + 0x4f5f, 0x0010, 0x080c, 0x519d, 0x00de, 0x00ce, 0x1904, 0x985e, + 0x00c6, 0x2d60, 0x080c, 0x9585, 0x00ce, 0x0804, 0x9871, 0x00c6, + 0x080c, 0xae9d, 0x0190, 0x6013, 0x0000, 0x6818, 0x601a, 0x080c, + 0xafee, 0x601f, 0x0003, 0x6904, 0x00c6, 0x2d60, 0x080c, 0x9585, + 0x00ce, 0x080c, 0x95b5, 0x00ce, 0x04e0, 0x2001, 0xc8ff, 0x2004, + 0x683e, 0x00ce, 0x04b0, 0x7008, 0xa086, 0x000b, 0x11a0, 0x6018, + 0x200c, 0xc1bc, 0x2102, 0x00c6, 0x2d60, 0x7853, 0x0003, 0x6007, + 0x0085, 0x6003, 0x000b, 0x601f, 0x0002, 0x080c, 0x795d, 0x080c, + 0x7e54, 0x00ce, 0x00f0, 0x700c, 0xa086, 0x2a00, 0x1138, 0x2001, + 0xc8ff, 0x2004, 0x683e, 0x00a8, 0x0481, 0x00a8, 0x8fff, 0x090c, + 0x1515, 0x00c6, 0x00d6, 0x2d60, 0x2f68, 0x6837, 0x0103, 0x684b, + 0x0003, 0x080c, 0xa8cc, 0x080c, 0xadd8, 0x080c, 0xade4, 0x00de, + 0x00ce, 0x080c, 0x9585, 0x00fe, 0x0005, 0xa186, 0x0015, 0x1128, + 0x2001, 0xc8ff, 0x2004, 0x683e, 0x0068, 0xa18e, 0x0016, 0x1160, + 0x00c6, 0x2d00, 0x2060, 0x080c, 0xc364, 0x080c, 0x70c7, 0x080c, + 0x9585, 0x00ce, 0x080c, 0x9585, 0x0005, 0x0026, 0x0036, 0x0046, + 0x7228, 0x7c80, 0x7b7c, 0xd2f4, 0x0130, 0x2001, 0xc8ff, 0x2004, + 0x683e, 0x0804, 0x98ef, 0x00c6, 0x2d60, 0x080c, 0xa8ec, 0x00ce, + 0x6804, 0xa086, 0x0050, 0x1168, 0x00c6, 0x2d00, 0x2060, 0x6003, + 0x0001, 0x6007, 0x0050, 0x080c, 0x795d, 0x080c, 0x7e54, 0x00ce, + 0x04f0, 0x6800, 0xa086, 0x000f, 0x01c8, 0x8fff, 0x090c, 0x1515, + 0x6820, 0xd0dc, 0x1198, 0x6800, 0xa086, 0x0004, 0x1198, 0x784c, + 0xd0ac, 0x0180, 0x784c, 0xc0dc, 0xc0f4, 0x784e, 0x7850, 0xc0f4, + 0xc0fc, 0x7852, 0x2001, 0x0001, 0x682e, 0x00e0, 0x2001, 0x0007, + 0x682e, 0x00c0, 0x784c, 0xd0b4, 0x1130, 0xd0ac, 0x0db8, 0x784c, + 0xd0f4, 0x1da0, 0x0c38, 0xd2ec, 0x1d88, 0x7024, 0xa306, 0x1118, + 0x7020, 0xa406, 0x0d58, 0x7020, 0x6836, 0x7024, 0x683a, 0x2001, + 0x0005, 0x682e, 0x080c, 0xaf2a, 0x080c, 0x7e54, 0x0010, 0x080c, + 0x9585, 0x004e, 0x003e, 0x002e, 0x0005, 0x00e6, 0x00d6, 0x0026, + 0x6034, 0x2068, 0x6a1c, 0xa286, 0x0007, 0x0904, 0x9953, 0xa286, + 0x0002, 0x0904, 0x9953, 0xa286, 0x0000, 0x0904, 0x9953, 0x6808, + 0x6338, 0xa306, 0x1904, 0x9953, 0x2071, 0xcc8c, 0xa186, 0x0015, + 0x05e0, 0xa18e, 0x0016, 0x1190, 0x6030, 0xa084, 0x00ff, 0xa086, + 0x0001, 0x1160, 0x700c, 0xa086, 0x2a00, 0x1140, 0x6034, 0xa080, + 0x0008, 0x200c, 0xc1dd, 0xc1f5, 0x2102, 0x0438, 0x00c6, 0x6034, + 0x2060, 0x6104, 0xa186, 0x004b, 0x01a0, 0xa186, 0x004c, 0x0188, + 0xa186, 0x004d, 0x0170, 0xa186, 0x004e, 0x0158, 0xa186, 0x0052, + 0x0140, 0x6010, 0x2068, 0x080c, 0xac21, 0x090c, 0x1515, 0x6853, + 0x0003, 0x6007, 0x0085, 0x6003, 0x000b, 0x601f, 0x0002, 0x080c, + 0x795d, 0x080c, 0x7e54, 0x00ce, 0x0030, 0x6034, 0x2070, 0x2001, + 0xc8ff, 0x2004, 0x703e, 0x080c, 0x9585, 0x002e, 0x00de, 0x00ee, + 0x0005, 0x00d6, 0x20a9, 0x000e, 0x2e98, 0x6010, 0x20a0, 0x53a3, + 0xa1b6, 0x0015, 0x1558, 0x6018, 0x2068, 0x0156, 0x0036, 0x0026, + 0xae90, 0x000c, 0xa290, 0x0004, 0x20a9, 0x0004, 0xad98, 0x000a, + 0x080c, 0xa0a2, 0x002e, 0x003e, 0x015e, 0x11d8, 0x0156, 0x0036, + 0x0026, 0xae90, 0x000c, 0xa290, 0x0008, 0x20a9, 0x0004, 0xad98, + 0x0006, 0x080c, 0xa0a2, 0x002e, 0x003e, 0x015e, 0x1150, 0x7038, + 0x680a, 0x703c, 0x680e, 0x6800, 0xc08d, 0x6802, 0x00de, 0x0804, + 0x9709, 0x080c, 0x2e0a, 0x00c6, 0x080c, 0x952f, 0x2f00, 0x601a, + 0x6013, 0x0000, 0x601f, 0x0001, 0x6007, 0x0001, 0x6003, 0x0001, + 0x2001, 0x0007, 0x080c, 0x5251, 0x080c, 0x527e, 0x080c, 0x79a3, + 0x080c, 0x7e54, 0x00ce, 0x0c10, 0x2100, 0xa1b2, 0x0080, 0x1a0c, + 0x1515, 0xa1b2, 0x0040, 0x1a04, 0x9a10, 0x0002, 0x9a04, 0x99f8, + 0x9a04, 0x9a04, 0x9a04, 0x9a04, 0x99f6, 0x99f6, 0x99f6, 0x99f6, + 0x99f6, 0x99f6, 0x99f6, 0x99f6, 0x99f6, 0x99f6, 0x99f6, 0x99f6, + 0x99f6, 0x99f6, 0x99f6, 0x99f6, 0x99f6, 0x99f6, 0x99f6, 0x99f6, + 0x99f6, 0x99f6, 0x99f6, 0x99f6, 0x99f6, 0x9a04, 0x99f6, 0x9a04, + 0x9a04, 0x99f6, 0x99f6, 0x99f6, 0x99f6, 0x99f6, 0x9a04, 0x99f6, + 0x99f6, 0x99f6, 0x99f6, 0x99f6, 0x99f6, 0x99f6, 0x99f6, 0x99f6, + 0x9a04, 0x9a04, 0x99f6, 0x99f6, 0x99f6, 0x99f6, 0x99f6, 0x99f6, + 0x99f6, 0x99f6, 0x99f6, 0x9a04, 0x99f6, 0x99f6, 0x080c, 0x1515, + 0x6003, 0x0001, 0x6106, 0x080c, 0x79a3, 0x0126, 0x2091, 0x8000, + 0x080c, 0x7e54, 0x012e, 0x0005, 0x6003, 0x0001, 0x6106, 0x080c, + 0x79a3, 0x0126, 0x2091, 0x8000, 0x080c, 0x7e54, 0x012e, 0x0005, + 0x2600, 0x0002, 0x9a04, 0x9a04, 0x9a18, 0x9a04, 0x9a04, 0x9a18, + 0x080c, 0x1515, 0x6004, 0xa0b2, 0x0080, 0x1a0c, 0x1515, 0xa1b6, + 0x0013, 0x0904, 0x9aca, 0xa1b6, 0x0027, 0x1904, 0x9a90, 0x080c, + 0x7d75, 0x6004, 0x080c, 0xae0e, 0x0190, 0x080c, 0xae1f, 0x0904, + 0x9a8a, 0xa08e, 0x0021, 0x0904, 0x9a8d, 0xa08e, 0x0022, 0x0904, + 0x9a8a, 0xa08e, 0x003d, 0x0904, 0x9a8d, 0x0804, 0x9a83, 0x080c, + 0x2e30, 0x2001, 0x0007, 0x080c, 0x5251, 0x6018, 0xa080, 0x0028, + 0x200c, 0x080c, 0x9bab, 0xa186, 0x007e, 0x1148, 0x2001, 0xc635, + 0x2014, 0xc285, 0x080c, 0x5ee2, 0x1108, 0xc2ad, 0x2202, 0x0016, + 0x0026, 0x0036, 0x2110, 0x0026, 0x2019, 0x0028, 0x080c, 0x90d4, + 0x002e, 0x080c, 0xc466, 0x003e, 0x002e, 0x001e, 0x0016, 0x0026, + 0x0036, 0x2110, 0x2019, 0x0028, 0x080c, 0x7ada, 0x0076, 0x2039, + 0x0000, 0x080c, 0x79d2, 0x00c6, 0x6018, 0xa065, 0x0110, 0x080c, + 0x54fe, 0x00ce, 0x2c08, 0x080c, 0xbe79, 0x007e, 0x003e, 0x002e, + 0x001e, 0x080c, 0x52c0, 0x080c, 0xafe6, 0x080c, 0x9585, 0x080c, + 0x7e54, 0x0005, 0x080c, 0x9bab, 0x0cb0, 0x080c, 0x9bd9, 0x0c98, + 0xa186, 0x0014, 0x1db0, 0x080c, 0x7d75, 0x080c, 0x2e0a, 0x080c, + 0xae0e, 0x1188, 0x080c, 0x2e30, 0x6018, 0xa080, 0x0028, 0x200c, + 0x080c, 0x9bab, 0xa186, 0x007e, 0x1128, 0x2001, 0xc635, 0x200c, + 0xc185, 0x2102, 0x08c0, 0x080c, 0xae1f, 0x1118, 0x080c, 0x9bab, + 0x0890, 0x6004, 0xa08e, 0x0032, 0x1158, 0x00e6, 0x00f6, 0x2071, + 0xc6a2, 0x2079, 0x0000, 0x080c, 0x313d, 0x00fe, 0x00ee, 0x0818, + 0x6004, 0xa08e, 0x0021, 0x0d50, 0xa08e, 0x0022, 0x090c, 0x9bab, + 0x0804, 0x9a83, 0xa0b2, 0x0040, 0x1a04, 0x9b8d, 0x2008, 0x0002, + 0x9b12, 0x9b13, 0x9b16, 0x9b19, 0x9b1c, 0x9b1f, 0x9b10, 0x9b10, + 0x9b10, 0x9b10, 0x9b10, 0x9b10, 0x9b10, 0x9b10, 0x9b10, 0x9b10, + 0x9b10, 0x9b10, 0x9b10, 0x9b10, 0x9b10, 0x9b10, 0x9b10, 0x9b10, + 0x9b10, 0x9b10, 0x9b10, 0x9b10, 0x9b10, 0x9b10, 0x9b22, 0x9b31, + 0x9b10, 0x9b33, 0x9b31, 0x9b10, 0x9b10, 0x9b10, 0x9b10, 0x9b10, + 0x9b31, 0x9b31, 0x9b10, 0x9b10, 0x9b10, 0x9b10, 0x9b10, 0x9b10, + 0x9b10, 0x9b10, 0x9b6d, 0x9b31, 0x9b10, 0x9b2d, 0x9b10, 0x9b10, + 0x9b10, 0x9b2e, 0x9b10, 0x9b10, 0x9b10, 0x9b31, 0x9b64, 0x9b10, + 0x080c, 0x1515, 0x00f0, 0x2001, 0x000b, 0x0460, 0x2001, 0x0003, + 0x0448, 0x2001, 0x0005, 0x0430, 0x2001, 0x0001, 0x0418, 0x2001, + 0x0009, 0x0400, 0x080c, 0x7d75, 0x6003, 0x0005, 0x2001, 0xc8ff, + 0x2004, 0x603e, 0x080c, 0x7e54, 0x00a0, 0x0018, 0x0010, 0x080c, + 0x5251, 0x0804, 0x9b7e, 0x080c, 0x7d75, 0x2001, 0xc8fd, 0x2004, + 0x6016, 0x2001, 0xc8ff, 0x2004, 0x603e, 0x6003, 0x0004, 0x080c, + 0x7e54, 0x0005, 0x080c, 0x5251, 0x080c, 0x7d75, 0x6003, 0x0002, + 0x2001, 0xc8ff, 0x2004, 0x603e, 0x0036, 0x2019, 0xc65d, 0x2304, + 0xa084, 0xff00, 0x1120, 0x2001, 0xc8fd, 0x201c, 0x0040, 0x8007, + 0xa09a, 0x0004, 0x0ec0, 0x8003, 0x801b, 0x831b, 0xa318, 0x6316, + 0x003e, 0x080c, 0x7e54, 0x08e8, 0x080c, 0x7d75, 0x080c, 0xafe6, + 0x080c, 0x9585, 0x080c, 0x7e54, 0x08a0, 0x00e6, 0x00f6, 0x2071, + 0xc6a2, 0x2079, 0x0000, 0x080c, 0x313d, 0x00fe, 0x00ee, 0x080c, + 0x7d75, 0x080c, 0x9585, 0x080c, 0x7e54, 0x0818, 0x080c, 0x7d75, + 0x2001, 0xc8ff, 0x2004, 0x603e, 0x6003, 0x0002, 0x2001, 0xc8fd, + 0x2004, 0x6016, 0x080c, 0x7e54, 0x0005, 0x2600, 0x2008, 0x0002, + 0x9b98, 0x9b7e, 0x9b96, 0x9b7e, 0x9b7e, 0x9b96, 0x080c, 0x1515, + 0x080c, 0x7d75, 0x00d6, 0x6010, 0x2068, 0x080c, 0x7653, 0x1118, + 0x080c, 0x1615, 0x0010, 0x080c, 0x57ca, 0x00de, 0x080c, 0x9585, + 0x080c, 0x7e54, 0x0005, 0x00e6, 0x0026, 0x0016, 0x080c, 0xac21, + 0x0508, 0x6010, 0x2070, 0x7034, 0xa086, 0x0139, 0x1148, 0x2001, + 0x0030, 0x2009, 0x0000, 0x2011, 0x4005, 0x080c, 0xb09d, 0x0090, + 0x7038, 0xd0fc, 0x0178, 0x7007, 0x0000, 0x0016, 0x6004, 0xa08e, + 0x0021, 0x0160, 0xa08e, 0x003d, 0x0148, 0x001e, 0x7037, 0x0103, + 0x7033, 0x0100, 0x001e, 0x002e, 0x00ee, 0x0005, 0x001e, 0x0009, + 0x0cc8, 0x00e6, 0xacf0, 0x0004, 0x2e74, 0x7000, 0x2070, 0x7037, + 0x0103, 0x7023, 0x8001, 0x00ee, 0x0005, 0x00d6, 0x6618, 0x2668, + 0x6804, 0xa084, 0x00ff, 0x00de, 0xa0b2, 0x000c, 0x1a0c, 0x1515, + 0x6604, 0xa6b6, 0x0043, 0x1120, 0x080c, 0xb059, 0x0804, 0x9c52, + 0x6604, 0xa6b6, 0x0033, 0x1120, 0x080c, 0xb009, 0x0804, 0x9c52, + 0x6604, 0xa6b6, 0x0028, 0x1120, 0x080c, 0xae4f, 0x0804, 0x9c52, + 0x6604, 0xa6b6, 0x0029, 0x1120, 0x080c, 0xae66, 0x0804, 0x9c52, + 0x6604, 0xa6b6, 0x001f, 0x1118, 0x080c, 0x96ef, 0x04d8, 0x6604, + 0xa6b6, 0x0000, 0x1118, 0x080c, 0x9959, 0x04a0, 0x6604, 0xa6b6, + 0x0022, 0x1118, 0x080c, 0x9717, 0x0468, 0x6604, 0xa6b6, 0x0035, + 0x1118, 0x080c, 0x9794, 0x0430, 0x6604, 0xa6b6, 0x0039, 0x1118, + 0x080c, 0x98f5, 0x00f8, 0x6604, 0xa6b6, 0x003d, 0x1118, 0x080c, + 0x9731, 0x00c0, 0x6604, 0xa6b6, 0x0044, 0x1118, 0x080c, 0x9751, + 0x0088, 0x6604, 0xa6b6, 0x0041, 0x1118, 0x080c, 0x977e, 0x0050, + 0xa1b6, 0x0015, 0x1110, 0x0053, 0x0028, 0xa1b6, 0x0016, 0x1118, + 0x0804, 0x9e35, 0x0005, 0x080c, 0x95cc, 0x0ce0, 0x9c7c, 0x9c7f, + 0x9c7c, 0x9cc3, 0x9c7c, 0x9dbc, 0x9e43, 0x9c7c, 0x9c7c, 0x9e0d, + 0x9c7c, 0x9e23, 0xa1b6, 0x0048, 0x0140, 0x20e1, 0x0005, 0x3d18, + 0x3e20, 0x2c10, 0x080c, 0x1868, 0x0005, 0x00e6, 0xacf0, 0x0004, + 0x2e74, 0x7000, 0x2070, 0x7037, 0x0103, 0x00ee, 0x080c, 0x9585, + 0x0005, 0x080c, 0x9585, 0x0005, 0xe000, 0xe000, 0x0005, 0x00e6, + 0x2071, 0xc600, 0x7084, 0xa086, 0x0074, 0x1530, 0x080c, 0xbe50, + 0x11b0, 0x00d6, 0x6018, 0x2068, 0x7030, 0xd08c, 0x0128, 0x6800, + 0xd0bc, 0x0110, 0xc0c5, 0x6802, 0x00e9, 0x00de, 0x2001, 0x0006, + 0x080c, 0x5251, 0x080c, 0x2e30, 0x080c, 0x9585, 0x0088, 0x2001, + 0x000a, 0x080c, 0x5251, 0x080c, 0x2e30, 0x6003, 0x0001, 0x6007, + 0x0001, 0x080c, 0x79a3, 0x0020, 0x2001, 0x0001, 0x080c, 0x9d97, + 0x00ee, 0x0005, 0x6800, 0xd084, 0x0168, 0x2001, 0x0000, 0x080c, + 0x523f, 0x2069, 0xc652, 0x6804, 0xd0a4, 0x0120, 0x2001, 0x0006, + 0x080c, 0x527e, 0x0005, 0x00d6, 0x2011, 0xc621, 0x2204, 0xa086, + 0x0074, 0x1904, 0x9d92, 0x6018, 0x2068, 0x6aa0, 0xa286, 0x007e, + 0x1120, 0x080c, 0x9f62, 0x0804, 0x9d31, 0x080c, 0x9f58, 0x6018, + 0x2068, 0xa080, 0x0028, 0x2014, 0xa286, 0x0080, 0x11c0, 0x6813, + 0x00ff, 0x6817, 0xfffc, 0x6010, 0xa005, 0x0138, 0x2068, 0x6807, + 0x0000, 0x6837, 0x0103, 0x6833, 0x0200, 0x2001, 0x0006, 0x080c, + 0x5251, 0x080c, 0x2e30, 0x080c, 0x9585, 0x0804, 0x9d95, 0x00e6, + 0x2071, 0xc635, 0x2e04, 0xd09c, 0x0188, 0x2071, 0xcc80, 0x7108, + 0x720c, 0xa18c, 0x00ff, 0x1118, 0xa284, 0xff00, 0x0138, 0x6018, + 0x2070, 0x70a0, 0xd0bc, 0x1110, 0x7112, 0x7216, 0x00ee, 0x6010, + 0xa005, 0x0198, 0x2068, 0x6838, 0xd0f4, 0x0178, 0x6834, 0xa084, + 0x00ff, 0xa086, 0x0039, 0x1958, 0x2001, 0x0000, 0x2009, 0x0000, + 0x2011, 0x4000, 0x080c, 0xb09d, 0x0840, 0x2001, 0x0004, 0x080c, + 0x5251, 0x6003, 0x0001, 0x6007, 0x0003, 0x080c, 0x79a3, 0x0804, + 0x9d95, 0x685c, 0xd0e4, 0x01d8, 0x080c, 0xaf99, 0x080c, 0x5ee2, + 0x0118, 0xd0dc, 0x1904, 0x9ced, 0x2011, 0xc635, 0x2204, 0xc0ad, + 0x2012, 0x2001, 0xc8d6, 0x2004, 0x00f6, 0x2079, 0x0100, 0x78e3, + 0x0000, 0x080c, 0x29e2, 0x78e2, 0x00fe, 0x0804, 0x9ced, 0x080c, + 0xafcf, 0x2011, 0xc635, 0x2204, 0xc0a5, 0x2012, 0x0006, 0x080c, + 0xbfa5, 0x000e, 0x1904, 0x9ced, 0xc0b5, 0x2012, 0x2001, 0x0006, + 0x080c, 0x5251, 0x2001, 0x0000, 0x080c, 0x523f, 0x00c6, 0x2009, + 0x00ef, 0x00f6, 0x2079, 0x0100, 0x79ea, 0x7932, 0x7936, 0x00fe, + 0x080c, 0x29b7, 0x00f6, 0x2079, 0xc600, 0x7976, 0x2100, 0x2009, + 0x0000, 0x080c, 0x298d, 0x7952, 0x00fe, 0x8108, 0x080c, 0x52a1, + 0x2c00, 0x00ce, 0x1904, 0x9ced, 0x601a, 0x2001, 0x0002, 0x080c, + 0x5251, 0x601f, 0x0001, 0x6003, 0x0001, 0x6007, 0x0002, 0x080c, + 0x79a3, 0x0018, 0x2001, 0x0001, 0x0011, 0x00de, 0x0005, 0x0066, + 0x2030, 0xa005, 0x0170, 0x2001, 0x0007, 0x080c, 0x5251, 0x2001, + 0xc600, 0x2004, 0xa086, 0x0003, 0x1120, 0x2001, 0x0007, 0x080c, + 0x527e, 0x2600, 0xa005, 0x1150, 0x6010, 0xa080, 0x000e, 0x2004, + 0xd0fc, 0x1120, 0x2011, 0x8014, 0x080c, 0x403a, 0x080c, 0x2e30, + 0x080c, 0x9585, 0x006e, 0x0005, 0x00e6, 0x0026, 0x0016, 0x2071, + 0xc600, 0x7084, 0xa086, 0x0014, 0x15f0, 0x7000, 0xa086, 0x0003, + 0x1128, 0x6010, 0xa005, 0x1110, 0x080c, 0x40ac, 0x00d6, 0x6018, + 0x2068, 0x080c, 0x539f, 0x080c, 0x9cb2, 0x00de, 0x080c, 0xa011, + 0x1550, 0x00d6, 0x6018, 0x2068, 0x6890, 0x00de, 0xa005, 0x0518, + 0x2001, 0x0006, 0x080c, 0x5251, 0x00e6, 0x6010, 0xa075, 0x01a8, + 0x7034, 0xa084, 0x00ff, 0xa086, 0x0039, 0x1148, 0x2001, 0x0000, + 0x2009, 0x0000, 0x2011, 0x4000, 0x080c, 0xb09d, 0x0030, 0x7007, + 0x0000, 0x7037, 0x0103, 0x7033, 0x0200, 0x00ee, 0x080c, 0x2e30, + 0x080c, 0x9585, 0x0030, 0x080c, 0x9bab, 0x2001, 0x0000, 0x080c, + 0x9d97, 0x001e, 0x002e, 0x00ee, 0x0005, 0x2011, 0xc621, 0x2204, + 0xa086, 0x0014, 0x1158, 0x2001, 0x0002, 0x080c, 0x5251, 0x6003, + 0x0001, 0x6007, 0x0001, 0x080c, 0x79a3, 0x0020, 0x2001, 0x0001, + 0x080c, 0x9d97, 0x0005, 0x2011, 0xc621, 0x2204, 0xa086, 0x0004, + 0x1138, 0x2001, 0x0007, 0x080c, 0x5251, 0x080c, 0x9585, 0x0020, + 0x2001, 0x0001, 0x080c, 0x9d97, 0x0005, 0x000b, 0x0005, 0x9c7c, + 0x9e4e, 0x9c7c, 0x9e84, 0x9c7c, 0x9f0e, 0x9e43, 0x9c79, 0x9c7c, + 0x9f23, 0x9c7c, 0x9f35, 0x6604, 0xa686, 0x0003, 0x0904, 0x9dbc, + 0xa6b6, 0x001e, 0x1110, 0x080c, 0x9585, 0x0005, 0x00d6, 0x00c6, + 0x080c, 0x9f47, 0x1178, 0x2001, 0x0000, 0x080c, 0x523f, 0x2001, + 0x0002, 0x080c, 0x5251, 0x6003, 0x0001, 0x6007, 0x0002, 0x080c, + 0x79a3, 0x00f8, 0x2009, 0xcc8e, 0x2104, 0xa086, 0x0009, 0x1160, + 0x6018, 0x2068, 0x6840, 0xa084, 0x00ff, 0xa005, 0x0170, 0x8001, + 0x6842, 0x6017, 0x000a, 0x0068, 0x2009, 0xcc8f, 0x2104, 0xa084, + 0xff00, 0xa086, 0x1900, 0x1108, 0x08d0, 0x2001, 0x0001, 0x080c, + 0x9d97, 0x00ce, 0x00de, 0x0005, 0x0026, 0x2011, 0x0000, 0x080c, + 0x9f55, 0x00d6, 0x2069, 0xc8e5, 0x2d04, 0xa005, 0x0168, 0x6018, + 0x2068, 0x68a0, 0xa086, 0x007e, 0x1138, 0x2069, 0xc61d, 0x2d04, + 0x8000, 0x206a, 0x00de, 0x0010, 0x00de, 0x0078, 0x2001, 0x0000, + 0x080c, 0x523f, 0x2001, 0x0002, 0x080c, 0x5251, 0x6003, 0x0001, + 0x6007, 0x0002, 0x080c, 0x79a3, 0x0478, 0x00d6, 0x6010, 0x2068, + 0x080c, 0xac21, 0x00de, 0x0108, 0x6a34, 0x080c, 0x9bab, 0x2009, + 0xcc8e, 0x2134, 0xa6b4, 0x00ff, 0xa686, 0x0005, 0x01f8, 0xa686, + 0x000b, 0x01b0, 0x2009, 0xcc8f, 0x2104, 0xa084, 0xff00, 0x1118, + 0xa686, 0x0009, 0x0198, 0xa086, 0x1900, 0x1150, 0xa686, 0x0009, + 0x0168, 0x2001, 0x0004, 0x080c, 0x5251, 0x080c, 0x9585, 0x0020, + 0x2001, 0x0001, 0x080c, 0x9d97, 0x002e, 0x0005, 0x00d6, 0xa286, + 0x0139, 0x0160, 0x6010, 0x2068, 0x080c, 0xac21, 0x0148, 0x6834, + 0xa086, 0x0139, 0x0118, 0x6838, 0xd0fc, 0x0110, 0x00de, 0x0c40, + 0x6018, 0x2068, 0x6840, 0xa084, 0x00ff, 0xa005, 0x0140, 0x8001, + 0x6842, 0x6017, 0x000a, 0x6007, 0x0016, 0x00de, 0x08e8, 0x68a0, + 0xa086, 0x007e, 0x1138, 0x00e6, 0x2071, 0xc600, 0x080c, 0x4ebb, + 0x00ee, 0x0010, 0x080c, 0x2e0a, 0x00de, 0x0850, 0x080c, 0x9f55, + 0x1158, 0x2001, 0x0004, 0x080c, 0x5251, 0x6003, 0x0001, 0x6007, + 0x0003, 0x080c, 0x79a3, 0x0030, 0x080c, 0x9bab, 0x2001, 0x0000, + 0x080c, 0x9d97, 0x0005, 0x0489, 0x1158, 0x2001, 0x0008, 0x080c, + 0x5251, 0x6003, 0x0001, 0x6007, 0x0005, 0x080c, 0x79a3, 0x0020, + 0x2001, 0x0001, 0x080c, 0x9d97, 0x0005, 0x00f9, 0x1158, 0x2001, + 0x000a, 0x080c, 0x5251, 0x6003, 0x0001, 0x6007, 0x0001, 0x080c, + 0x79a3, 0x0020, 0x2001, 0x0001, 0x080c, 0x9d97, 0x0005, 0x2009, + 0xcc8e, 0x2104, 0xa086, 0x0003, 0x1138, 0x2009, 0xcc8f, 0x2104, + 0xa084, 0xff00, 0xa086, 0x2a00, 0x0005, 0xa085, 0x0001, 0x0005, + 0x00c6, 0x0016, 0xac88, 0x0006, 0x2164, 0x080c, 0x530c, 0x001e, + 0x00ce, 0x0005, 0x00f6, 0x00e6, 0x00d6, 0x0036, 0x0016, 0x6018, + 0x2068, 0x2071, 0xc635, 0x2e04, 0xa085, 0x0003, 0x2072, 0x080c, + 0x9fe6, 0x0560, 0x2009, 0xc635, 0x2104, 0xc0cd, 0x200a, 0x2001, + 0xc653, 0x2004, 0xd0a4, 0x0158, 0xa006, 0x2020, 0x2009, 0x002a, + 0x080c, 0xc112, 0x2001, 0xc60c, 0x200c, 0xc195, 0x2102, 0x2019, + 0x002a, 0x2009, 0x0001, 0x080c, 0x2ddd, 0x2071, 0xc600, 0x080c, + 0x2c28, 0x00c6, 0x0156, 0x20a9, 0x0081, 0x2009, 0x007f, 0x080c, + 0x2f05, 0x8108, 0x1f04, 0x9f97, 0x015e, 0x00ce, 0x080c, 0x9f58, + 0x6813, 0x00ff, 0x6817, 0xfffe, 0x2071, 0xcc80, 0x2079, 0x0100, + 0x2e04, 0xa084, 0x00ff, 0x2069, 0xc61c, 0x206a, 0x78e6, 0x0006, + 0x8e70, 0x2e04, 0x2069, 0xc61d, 0x206a, 0x78ea, 0x7832, 0x7836, + 0x2010, 0xa084, 0xff00, 0x001e, 0xa105, 0x2009, 0xc628, 0x200a, + 0x2200, 0xa084, 0x00ff, 0x2008, 0x080c, 0x29b7, 0x080c, 0x5ee2, + 0x0170, 0x2069, 0xcc8e, 0x2071, 0xc8f9, 0x6810, 0x2072, 0x6814, + 0x7006, 0x6818, 0x700a, 0x681c, 0x700e, 0x080c, 0xaf99, 0x0040, + 0x2001, 0x0006, 0x080c, 0x5251, 0x080c, 0x2e30, 0x080c, 0x9585, + 0x001e, 0x003e, 0x00de, 0x00ee, 0x00fe, 0x0005, 0x0026, 0x0036, + 0x00e6, 0x0156, 0x2019, 0xc628, 0x231c, 0x83ff, 0x01e8, 0x2071, + 0xcc80, 0x2e14, 0xa294, 0x00ff, 0x7004, 0xa084, 0xff00, 0xa205, + 0xa306, 0x1190, 0x2011, 0xcc96, 0xad98, 0x000a, 0x20a9, 0x0004, + 0x080c, 0xa0a2, 0x1148, 0x2011, 0xcc9a, 0xad98, 0x0006, 0x20a9, + 0x0004, 0x080c, 0xa0a2, 0x1100, 0x015e, 0x00ee, 0x003e, 0x002e, + 0x0005, 0x00e6, 0x2071, 0xcc8c, 0x7004, 0xa086, 0x0014, 0x11a8, + 0x7008, 0xa086, 0x0800, 0x1188, 0x700c, 0xd0ec, 0x0160, 0xa084, + 0x0f00, 0xa086, 0x0100, 0x1138, 0x7024, 0xd0a4, 0x1110, 0xd0ac, + 0x0110, 0xa006, 0x0010, 0xa085, 0x0001, 0x00ee, 0x0005, 0x00e6, + 0x00d6, 0x00c6, 0x0076, 0x0056, 0x0046, 0x0026, 0x0006, 0x0126, + 0x2091, 0x8000, 0x2029, 0xc930, 0x252c, 0x2021, 0xc936, 0x2424, + 0x2061, 0xce00, 0x2071, 0xc600, 0x7248, 0x7068, 0xa202, 0x16f0, + 0x080c, 0xc13a, 0x05a0, 0x671c, 0xa786, 0x0001, 0x0580, 0xa786, + 0x0007, 0x0568, 0x2500, 0xac06, 0x0550, 0x2400, 0xac06, 0x0538, + 0x00c6, 0x6000, 0xa086, 0x0004, 0x1110, 0x080c, 0x194b, 0xa786, + 0x0008, 0x1148, 0x080c, 0xae1f, 0x1130, 0x00ce, 0x080c, 0x9bab, + 0x080c, 0xade4, 0x00a0, 0x6010, 0x2068, 0x080c, 0xac21, 0x0160, + 0xa786, 0x0003, 0x11e8, 0x6837, 0x0103, 0x6b4a, 0x6847, 0x0000, + 0x080c, 0x57ca, 0x080c, 0xadd8, 0x080c, 0xade4, 0x00ce, 0xace0, + 0x0018, 0x705c, 0xac02, 0x1210, 0x0804, 0xa044, 0x012e, 0x000e, + 0x002e, 0x004e, 0x005e, 0x007e, 0x00ce, 0x00de, 0x00ee, 0x0005, + 0xa786, 0x0006, 0x1118, 0x080c, 0xc0c3, 0x0c30, 0xa786, 0x0009, + 0x1128, 0x2009, 0x0106, 0x080c, 0x95b5, 0x0c00, 0xa786, 0x000a, + 0x09a0, 0x0888, 0x220c, 0x2304, 0xa106, 0x1130, 0x8210, 0x8318, + 0x1f04, 0xa0a2, 0xa006, 0x0005, 0x2304, 0xa102, 0x0218, 0x2001, + 0x0001, 0x0010, 0x2001, 0x0000, 0xa18d, 0x0001, 0x0005, 0x220c, + 0x810f, 0x2304, 0xa106, 0x1130, 0x8210, 0x8318, 0x1f04, 0xa0b7, + 0xa006, 0x0005, 0xa18d, 0x0001, 0x0005, 0x6004, 0xa08a, 0x0080, + 0x1a0c, 0x1515, 0x080c, 0xae0e, 0x0120, 0x080c, 0xae1f, 0x0168, + 0x0028, 0x080c, 0x2e30, 0x080c, 0xae1f, 0x0138, 0x080c, 0x7d75, + 0x080c, 0x9585, 0x080c, 0x7e54, 0x0005, 0x080c, 0x9bab, 0x0cb0, + 0xa182, 0x0040, 0x0002, 0xa0f6, 0xa0f6, 0xa0f6, 0xa0f6, 0xa0f6, + 0xa0f6, 0xa0f6, 0xa0f6, 0xa0f6, 0xa0f6, 0xa0f6, 0xa0f8, 0xa0f8, + 0xa0f8, 0xa0f8, 0xa0f6, 0xa0f6, 0xa0f6, 0xa0f8, 0x080c, 0x1515, + 0x600b, 0xffff, 0x6003, 0x0001, 0x6106, 0x080c, 0x795d, 0x0126, + 0x2091, 0x8000, 0x080c, 0x7e54, 0x012e, 0x0005, 0xa186, 0x0013, + 0x1128, 0x6004, 0xa082, 0x0040, 0x0804, 0xa192, 0xa186, 0x0027, + 0x11e8, 0x080c, 0x7d75, 0x080c, 0x2e0a, 0x00d6, 0x6110, 0x2168, + 0x080c, 0xac21, 0x0168, 0x6837, 0x0103, 0x684b, 0x0029, 0x6847, + 0x0000, 0x694c, 0xc1c5, 0x694e, 0x080c, 0x57ca, 0x080c, 0xadd8, + 0x00de, 0x080c, 0x9585, 0x080c, 0x7e54, 0x0005, 0xa186, 0x0014, + 0x1120, 0x6004, 0xa082, 0x0040, 0x0428, 0xa186, 0x0046, 0x0138, + 0xa186, 0x0045, 0x0120, 0xa186, 0x0047, 0x190c, 0x1515, 0x2001, + 0x0109, 0x2004, 0xd084, 0x0198, 0x0126, 0x2091, 0x2800, 0x0006, + 0x0016, 0x0026, 0x080c, 0x7837, 0x002e, 0x001e, 0x000e, 0x012e, + 0xe000, 0x6000, 0xa086, 0x0002, 0x1110, 0x0804, 0xa1d0, 0x080c, + 0x95cc, 0x0005, 0x0002, 0xa170, 0xa16e, 0xa16e, 0xa16e, 0xa16e, + 0xa16e, 0xa16e, 0xa16e, 0xa16e, 0xa16e, 0xa16e, 0xa18b, 0xa18b, + 0xa18b, 0xa18b, 0xa16e, 0xa18b, 0xa16e, 0xa18b, 0x080c, 0x1515, + 0x080c, 0x7d75, 0x00d6, 0x6110, 0x2168, 0x080c, 0xac21, 0x0168, + 0x6837, 0x0103, 0x684b, 0x0006, 0x6847, 0x0000, 0x6850, 0xc0ec, + 0x6852, 0x080c, 0x57ca, 0x080c, 0xadd8, 0x00de, 0x080c, 0x9585, + 0x080c, 0x7e54, 0x0005, 0x080c, 0x7d75, 0x080c, 0x9585, 0x080c, + 0x7e54, 0x0005, 0x0002, 0xa1a8, 0xa1a6, 0xa1a6, 0xa1a6, 0xa1a6, + 0xa1a6, 0xa1a6, 0xa1a6, 0xa1a6, 0xa1a6, 0xa1a6, 0xa1ba, 0xa1ba, + 0xa1ba, 0xa1ba, 0xa1a6, 0xa1c9, 0xa1a6, 0xa1ba, 0x080c, 0x1515, + 0x080c, 0x7d75, 0x2001, 0xc8ff, 0x2004, 0x603e, 0x6003, 0x0002, + 0x080c, 0x7e54, 0x6010, 0xa088, 0x0013, 0x2104, 0xa085, 0x0400, + 0x200a, 0x0005, 0x080c, 0x7d75, 0x2001, 0xc8fd, 0x2004, 0x6016, + 0x2001, 0xc8ff, 0x2004, 0x603e, 0x6003, 0x000f, 0x080c, 0x7e54, + 0x0005, 0x080c, 0x7d75, 0x080c, 0x9585, 0x080c, 0x7e54, 0x0005, + 0xa182, 0x0040, 0x0002, 0xa1e6, 0xa1e6, 0xa1e6, 0xa1e6, 0xa1e6, + 0xa1e8, 0xa2c6, 0xa2f5, 0xa1e6, 0xa1e6, 0xa1e6, 0xa1e6, 0xa1e6, + 0xa1e6, 0xa1e6, 0xa1e6, 0xa1e6, 0xa1e6, 0xa1e6, 0x080c, 0x1515, + 0x00e6, 0x00d6, 0x603f, 0x0000, 0x2071, 0xcc80, 0x7124, 0x610a, + 0x2071, 0xcc8c, 0x6110, 0x2168, 0x7614, 0xa6b4, 0x0fff, 0x86ff, + 0x0904, 0xa290, 0xa68c, 0x0c00, 0x01e8, 0x00f6, 0x2c78, 0x080c, + 0x5683, 0x00fe, 0x0198, 0x684c, 0xd0ac, 0x0180, 0x6020, 0xd0dc, + 0x1168, 0x6850, 0xd0bc, 0x1150, 0x7318, 0x6814, 0xa306, 0x1904, + 0xa2a2, 0x731c, 0x6810, 0xa306, 0x1904, 0xa2a2, 0x7318, 0x6b62, + 0x731c, 0x6b5e, 0xa68c, 0x00ff, 0xa186, 0x0002, 0x0518, 0xa186, + 0x0028, 0x1128, 0x080c, 0xadfd, 0x684b, 0x001c, 0x00e8, 0xd6dc, + 0x01a0, 0x684b, 0x0015, 0x684c, 0xd0ac, 0x0170, 0x6914, 0x6a10, + 0x2100, 0xa205, 0x0148, 0x7018, 0xa106, 0x1118, 0x701c, 0xa206, + 0x0118, 0x6962, 0x6a5e, 0xc6dc, 0x0038, 0xd6d4, 0x0118, 0x684b, + 0x0007, 0x0010, 0x684b, 0x0000, 0x6837, 0x0103, 0x6e46, 0xa01e, + 0xd6c4, 0x01f0, 0xa686, 0x0100, 0x1140, 0x2001, 0xcc99, 0x2004, + 0xa005, 0x1118, 0xc6c4, 0x0804, 0xa1f7, 0x7328, 0x732c, 0x6b56, + 0x83ff, 0x0170, 0xa38a, 0x0009, 0x0210, 0x2019, 0x0008, 0x0036, + 0x2308, 0x2019, 0xcc98, 0xad90, 0x0019, 0x080c, 0xa8dc, 0x003e, + 0xd6cc, 0x0904, 0xa2b5, 0x7124, 0x695a, 0x81ff, 0x0904, 0xa2b5, + 0xa192, 0x0021, 0x1260, 0x2071, 0xcc98, 0x831c, 0x2300, 0xae18, + 0xad90, 0x001d, 0x080c, 0xa8dc, 0x080c, 0xb0fe, 0x04b0, 0x6838, + 0xd0fc, 0x0120, 0x2009, 0x0020, 0x695a, 0x0c68, 0x00f6, 0x2d78, + 0x080c, 0xa881, 0x00fe, 0x080c, 0xb0fe, 0x080c, 0xa8cc, 0x0438, + 0x00f6, 0x2c78, 0x080c, 0x5683, 0x00fe, 0x0188, 0x684c, 0xd0ac, + 0x0170, 0x6020, 0xd0dc, 0x1158, 0x6850, 0xd0bc, 0x1140, 0x684c, + 0xd0f4, 0x1128, 0x080c, 0xaefc, 0x00de, 0x00ee, 0x00f0, 0x684b, + 0x0000, 0x6837, 0x0103, 0x6e46, 0x684c, 0xd0ac, 0x0130, 0x6810, + 0x6914, 0xa115, 0x0110, 0x080c, 0xa452, 0x080c, 0x57ca, 0x6218, + 0x2268, 0x6a3c, 0x82ff, 0x0110, 0x8211, 0x6a3e, 0x080c, 0xaeca, + 0x00de, 0x00ee, 0x1110, 0x080c, 0x9585, 0x0005, 0x00f6, 0x6003, + 0x0003, 0x2079, 0xcc8c, 0x7c04, 0x7b00, 0x7e0c, 0x7d08, 0x6010, + 0x2078, 0x784c, 0xd0ac, 0x0138, 0x6003, 0x0002, 0x00fe, 0x0005, + 0x2130, 0x2228, 0x0058, 0x2400, 0x797c, 0xa10a, 0x2300, 0x7a80, + 0xa213, 0x2600, 0xa102, 0x2500, 0xa203, 0x0e90, 0x7c12, 0x7b16, + 0x7e0a, 0x7d0e, 0x00fe, 0x603f, 0x0000, 0x2c10, 0x080c, 0x2039, + 0x080c, 0x79c0, 0x080c, 0x7f2e, 0x0005, 0x2001, 0xc8ff, 0x2004, + 0x603e, 0x6003, 0x0004, 0x6110, 0x20e1, 0x0005, 0x3d18, 0x3e20, + 0x2c10, 0x080c, 0x1868, 0x0005, 0xa182, 0x0040, 0x0002, 0xa31a, + 0xa31a, 0xa31a, 0xa31a, 0xa31a, 0xa31c, 0xa3af, 0xa31a, 0xa31a, + 0xa3c5, 0xa429, 0xa31a, 0xa31a, 0xa31a, 0xa31a, 0xa438, 0xa31a, + 0xa31a, 0xa31a, 0x080c, 0x1515, 0x0076, 0x00f6, 0x00e6, 0x00d6, + 0x2071, 0xcc8c, 0x6110, 0x2178, 0x7614, 0xa6b4, 0x0fff, 0x7e46, + 0x7f4c, 0xc7e5, 0x7f4e, 0x6218, 0x2268, 0x6a3c, 0x82ff, 0x0110, + 0x8211, 0x6a3e, 0x86ff, 0x0904, 0xa3aa, 0xa694, 0xff00, 0xa284, + 0x0c00, 0x0120, 0x7018, 0x7862, 0x701c, 0x785e, 0xa284, 0x0300, + 0x0904, 0xa3aa, 0x080c, 0x15fe, 0x090c, 0x1515, 0x2d00, 0x784a, + 0x7f4c, 0xc7cd, 0x7f4e, 0x6837, 0x0103, 0x7838, 0x683a, 0x783c, + 0x683e, 0x7840, 0x6842, 0x6e46, 0xa68c, 0x0c00, 0x0120, 0x7318, + 0x6b62, 0x731c, 0x6b5e, 0xa68c, 0x00ff, 0xa186, 0x0002, 0x0180, + 0xa186, 0x0028, 0x1118, 0x684b, 0x001c, 0x0060, 0xd6dc, 0x0118, + 0x684b, 0x0015, 0x0038, 0xd6d4, 0x0118, 0x684b, 0x0007, 0x0010, + 0x684b, 0x0000, 0x6f4e, 0x7850, 0x6852, 0x7854, 0x6856, 0xa01e, + 0xd6c4, 0x0198, 0x7328, 0x732c, 0x6b56, 0x83ff, 0x0170, 0xa38a, + 0x0009, 0x0210, 0x2019, 0x0008, 0x0036, 0x2308, 0x2019, 0xcc98, + 0xad90, 0x0019, 0x080c, 0xa8dc, 0x003e, 0xd6cc, 0x01d8, 0x7124, + 0x695a, 0x81ff, 0x01b8, 0xa192, 0x0021, 0x1250, 0x2071, 0xcc98, + 0x831c, 0x2300, 0xae18, 0xad90, 0x001d, 0x080c, 0xa8dc, 0x0050, + 0x7838, 0xd0fc, 0x0120, 0x2009, 0x0020, 0x695a, 0x0c78, 0x2d78, + 0x080c, 0xa881, 0x00de, 0x00ee, 0x00fe, 0x007e, 0x0005, 0x00f6, + 0x6003, 0x0003, 0x2079, 0xcc8c, 0x7c04, 0x7b00, 0x7e0c, 0x7d08, + 0x6010, 0x2078, 0x7c12, 0x7b16, 0x7e0a, 0x7d0e, 0x00fe, 0x2c10, + 0x080c, 0x2039, 0x080c, 0x8b84, 0x0005, 0x00d6, 0x00f6, 0x2c78, + 0x080c, 0x5683, 0x00fe, 0x0120, 0x2001, 0xc8ff, 0x2004, 0x603e, + 0x6003, 0x0002, 0x080c, 0x7e07, 0x080c, 0x7f2e, 0x6110, 0x2168, + 0x694c, 0xd1e4, 0x0904, 0xa427, 0xd1cc, 0x0540, 0x6948, 0x6838, + 0xd0fc, 0x01e8, 0x0016, 0x684c, 0x0006, 0x6850, 0x0006, 0xad90, + 0x000d, 0xa198, 0x000d, 0x2009, 0x0020, 0x0156, 0x21a8, 0x2304, + 0x2012, 0x8318, 0x8210, 0x1f04, 0xa3ef, 0x015e, 0x000e, 0x6852, + 0x000e, 0x684e, 0x001e, 0x2168, 0x080c, 0x1625, 0x0418, 0x0016, + 0x080c, 0x1625, 0x00de, 0x080c, 0xa8cc, 0x00e0, 0x6837, 0x0103, + 0x6944, 0xa184, 0x00ff, 0xa0b6, 0x0002, 0x0180, 0xa086, 0x0028, + 0x1118, 0x684b, 0x001c, 0x0060, 0xd1dc, 0x0118, 0x684b, 0x0015, + 0x0038, 0xd1d4, 0x0118, 0x684b, 0x0007, 0x0010, 0x684b, 0x0000, + 0x080c, 0x57ca, 0x080c, 0xaeca, 0x1110, 0x080c, 0x9585, 0x00de, + 0x0005, 0x2019, 0x0001, 0x080c, 0x8e22, 0x6003, 0x0002, 0x2001, + 0xc8ff, 0x2004, 0x603e, 0x080c, 0x7e07, 0x080c, 0x7f2e, 0x0005, + 0x080c, 0x7e07, 0x080c, 0x2e0a, 0x00d6, 0x6110, 0x2168, 0x080c, + 0xac21, 0x0150, 0x6837, 0x0103, 0x684b, 0x0029, 0x6847, 0x0000, + 0x080c, 0x57ca, 0x080c, 0xadd8, 0x00de, 0x080c, 0x9585, 0x080c, + 0x7f2e, 0x0005, 0x684b, 0x0015, 0xd1fc, 0x0138, 0x684b, 0x0007, + 0x8002, 0x8000, 0x810a, 0xa189, 0x0000, 0x6962, 0x685e, 0x0005, + 0xa182, 0x0040, 0x0002, 0xa476, 0xa476, 0xa476, 0xa476, 0xa476, + 0xa478, 0xa476, 0xa533, 0xa53f, 0xa476, 0xa476, 0xa476, 0xa476, + 0xa476, 0xa476, 0xa476, 0xa476, 0xa476, 0xa476, 0x080c, 0x1515, + 0x0076, 0x00f6, 0x00e6, 0x00d6, 0x2071, 0xcc8c, 0x6110, 0x2178, + 0x7614, 0xa6b4, 0x0fff, 0x00f6, 0x2c78, 0x080c, 0x5683, 0x00fe, + 0x0150, 0xa684, 0x00ff, 0x1138, 0x6020, 0xd0f4, 0x0120, 0x080c, + 0xaefc, 0x0804, 0xa52e, 0x7e46, 0x7f4c, 0xc7e5, 0x7f4e, 0x6218, + 0x2268, 0x6a3c, 0x82ff, 0x0110, 0x8211, 0x6a3e, 0x86ff, 0x0904, + 0xa524, 0xa694, 0xff00, 0xa284, 0x0c00, 0x0120, 0x7018, 0x7862, + 0x701c, 0x785e, 0xa284, 0x0300, 0x0904, 0xa522, 0xa686, 0x0100, + 0x1140, 0x2001, 0xcc99, 0x2004, 0xa005, 0x1118, 0xc6c4, 0x7e46, + 0x0c28, 0x080c, 0x15fe, 0x090c, 0x1515, 0x2d00, 0x784a, 0x7f4c, + 0xa7bd, 0x0200, 0x7f4e, 0x6837, 0x0103, 0x7838, 0x683a, 0x783c, + 0x683e, 0x7840, 0x6842, 0x6e46, 0xa68c, 0x0c00, 0x0120, 0x7318, + 0x6b62, 0x731c, 0x6b5e, 0xa68c, 0x00ff, 0xa186, 0x0002, 0x0180, + 0xa186, 0x0028, 0x1118, 0x684b, 0x001c, 0x0060, 0xd6dc, 0x0118, + 0x684b, 0x0015, 0x0038, 0xd6d4, 0x0118, 0x684b, 0x0007, 0x0010, + 0x684b, 0x0000, 0x6f4e, 0x7850, 0x6852, 0x7854, 0x6856, 0xa01e, + 0xd6c4, 0x0198, 0x7328, 0x732c, 0x6b56, 0x83ff, 0x0170, 0xa38a, + 0x0009, 0x0210, 0x2019, 0x0008, 0x0036, 0x2308, 0x2019, 0xcc98, + 0xad90, 0x0019, 0x080c, 0xa8dc, 0x003e, 0xd6cc, 0x01d8, 0x7124, + 0x695a, 0x81ff, 0x01b8, 0xa192, 0x0021, 0x1250, 0x2071, 0xcc98, + 0x831c, 0x2300, 0xae18, 0xad90, 0x001d, 0x080c, 0xa8dc, 0x0050, + 0x7838, 0xd0fc, 0x0120, 0x2009, 0x0020, 0x695a, 0x0c78, 0x2d78, + 0x080c, 0xa881, 0xd6dc, 0x1110, 0xa006, 0x0030, 0x2001, 0x0001, + 0x2071, 0xcc8c, 0x7218, 0x731c, 0x080c, 0x18b0, 0x00de, 0x00ee, + 0x00fe, 0x007e, 0x0005, 0x2001, 0xc8ff, 0x2004, 0x603e, 0x20e1, + 0x0005, 0x3d18, 0x3e20, 0x2c10, 0x080c, 0x1868, 0x0005, 0x2001, + 0xc8ff, 0x2004, 0x603e, 0x00d6, 0x6003, 0x0002, 0x6110, 0x2168, + 0x694c, 0xd1e4, 0x0904, 0xa64a, 0x603f, 0x0000, 0x00f6, 0x2c78, + 0x080c, 0x5683, 0x00fe, 0x0560, 0x6814, 0x6910, 0xa115, 0x0540, + 0x6a60, 0xa206, 0x1118, 0x685c, 0xa106, 0x0510, 0x684c, 0xc0e4, + 0x684e, 0x6847, 0x0000, 0x6863, 0x0000, 0x685f, 0x0000, 0x6020, + 0xd0f4, 0x1158, 0x697c, 0x6810, 0xa102, 0x603a, 0x6980, 0x6814, + 0xa103, 0x6036, 0x6020, 0xc0f5, 0x6022, 0x00d6, 0x6018, 0x2068, + 0x683c, 0x8000, 0x683e, 0x00de, 0x080c, 0xaefc, 0x0804, 0xa64a, + 0x694c, 0xd1cc, 0x0904, 0xa61a, 0x6948, 0x6838, 0xd0fc, 0x0904, + 0xa5dd, 0x0016, 0x684c, 0x0006, 0x6850, 0x0006, 0x00f6, 0x2178, + 0x7944, 0xa184, 0x00ff, 0xa0b6, 0x0002, 0x01e0, 0xa086, 0x0028, + 0x1128, 0x684b, 0x001c, 0x784b, 0x001c, 0x00e8, 0xd1dc, 0x0158, + 0x684b, 0x0015, 0x784b, 0x0015, 0x080c, 0xb086, 0x0118, 0x7944, + 0xc1dc, 0x7946, 0x0080, 0xd1d4, 0x0128, 0x684b, 0x0007, 0x784b, + 0x0007, 0x0048, 0x684c, 0xd0ac, 0x0130, 0x6810, 0x6914, 0xa115, + 0x0110, 0x080c, 0xa452, 0x6848, 0x784a, 0x6860, 0x7862, 0x685c, + 0x785e, 0xad90, 0x000d, 0xaf98, 0x000d, 0x2009, 0x0020, 0x0156, + 0x21a8, 0x2304, 0x2012, 0x8318, 0x8210, 0x1f04, 0xa5c9, 0x015e, + 0x00fe, 0x000e, 0x6852, 0x000e, 0x684e, 0x080c, 0xb0fe, 0x001e, + 0x2168, 0x080c, 0x1625, 0x0804, 0xa645, 0x0016, 0x00f6, 0x2178, + 0x7944, 0xa184, 0x00ff, 0xa0b6, 0x0002, 0x01e0, 0xa086, 0x0028, + 0x1128, 0x684b, 0x001c, 0x784b, 0x001c, 0x00e8, 0xd1dc, 0x0158, + 0x684b, 0x0015, 0x784b, 0x0015, 0x080c, 0xb086, 0x0118, 0x7944, + 0xc1dc, 0x7946, 0x0080, 0xd1d4, 0x0128, 0x684b, 0x0007, 0x784b, + 0x0007, 0x0048, 0x684c, 0xd0ac, 0x0130, 0x6810, 0x6914, 0xa115, + 0x0110, 0x080c, 0xa452, 0x6860, 0x7862, 0x685c, 0x785e, 0x684c, + 0x784e, 0x00fe, 0x080c, 0x1625, 0x00de, 0x080c, 0xb0fe, 0x080c, + 0xa8cc, 0x0458, 0x6837, 0x0103, 0x6944, 0xa184, 0x00ff, 0xa0b6, + 0x0002, 0x01b0, 0xa086, 0x0028, 0x1118, 0x684b, 0x001c, 0x00d8, + 0xd1dc, 0x0148, 0x684b, 0x0015, 0x080c, 0xb086, 0x0118, 0x6944, + 0xc1dc, 0x6946, 0x0080, 0xd1d4, 0x0118, 0x684b, 0x0007, 0x0058, + 0x684b, 0x0000, 0x684c, 0xd0ac, 0x0130, 0x6810, 0x6914, 0xa115, + 0x0110, 0x080c, 0xa452, 0x080c, 0x57ca, 0x080c, 0xaeca, 0x1110, + 0x080c, 0x9585, 0x00de, 0x0005, 0x080c, 0x7d75, 0x0010, 0x080c, + 0x7e07, 0x080c, 0xac21, 0x01c0, 0x00d6, 0x6110, 0x2168, 0x6837, + 0x0103, 0x2009, 0xc60c, 0x210c, 0xd18c, 0x11c0, 0xd184, 0x1198, + 0x6108, 0x694a, 0xa18e, 0x0029, 0x1110, 0x080c, 0xc459, 0x6847, + 0x0000, 0x080c, 0x57ca, 0x00de, 0x080c, 0x9585, 0x080c, 0x7e54, + 0x080c, 0x7f2e, 0x0005, 0x684b, 0x0004, 0x0c88, 0x684b, 0x0004, + 0x0c70, 0xa182, 0x0040, 0x0002, 0xa68f, 0xa68f, 0xa68f, 0xa68f, + 0xa68f, 0xa691, 0xa68f, 0xa694, 0xa68f, 0xa68f, 0xa68f, 0xa68f, + 0xa68f, 0xa68f, 0xa68f, 0xa68f, 0xa68f, 0xa68f, 0xa68f, 0x080c, + 0x1515, 0x080c, 0x9585, 0x0005, 0x0006, 0x0026, 0xa016, 0x080c, + 0x1868, 0x002e, 0x000e, 0x0005, 0xa182, 0x0085, 0x0002, 0xa6a8, + 0xa6a6, 0xa6a6, 0xa6b4, 0xa6a6, 0xa6a6, 0xa6a6, 0x080c, 0x1515, + 0x6003, 0x0001, 0x6106, 0x080c, 0x795d, 0x0126, 0x2091, 0x8000, + 0x080c, 0x7e54, 0x012e, 0x0005, 0x0026, 0x0056, 0x00d6, 0x00e6, + 0x2071, 0xcc80, 0x7224, 0x6212, 0x7220, 0x080c, 0xac11, 0x01a0, + 0x2268, 0x6800, 0xa086, 0x0000, 0x0178, 0x6018, 0x6d18, 0xa52e, + 0x1158, 0x00c6, 0x2d60, 0x080c, 0xa8ec, 0x00ce, 0x0128, 0x6803, + 0x0002, 0x6007, 0x0086, 0x0010, 0x6007, 0x0087, 0x6003, 0x0001, + 0x080c, 0x795d, 0x080c, 0x7e54, 0x00f6, 0x2278, 0x080c, 0x5683, + 0x00fe, 0x0150, 0x6820, 0xd0ec, 0x0138, 0x00c6, 0x2260, 0x603f, + 0x0000, 0x080c, 0xaefc, 0x00ce, 0x00ee, 0x00de, 0x005e, 0x002e, + 0x0005, 0xa186, 0x0013, 0x1160, 0x6004, 0xa08a, 0x0085, 0x0a0c, + 0x1515, 0xa08a, 0x008c, 0x1a0c, 0x1515, 0xa082, 0x0085, 0x0072, + 0xa186, 0x0027, 0x0120, 0xa186, 0x0014, 0x190c, 0x1515, 0x080c, + 0x7d75, 0x080c, 0xade4, 0x080c, 0x7e54, 0x0005, 0xa715, 0xa717, + 0xa717, 0xa715, 0xa715, 0xa715, 0xa715, 0x080c, 0x1515, 0x080c, + 0x7d75, 0x080c, 0xade4, 0x080c, 0x7e54, 0x0005, 0xa186, 0x0013, + 0x1128, 0x6004, 0xa082, 0x0085, 0x2008, 0x04a8, 0xa186, 0x0027, + 0x11e8, 0x080c, 0x7d75, 0x080c, 0x2e0a, 0x00d6, 0x6010, 0x2068, + 0x080c, 0xac21, 0x0150, 0x6837, 0x0103, 0x6847, 0x0000, 0x684b, + 0x0029, 0x080c, 0x57ca, 0x080c, 0xadd8, 0x00de, 0x080c, 0x9585, + 0x080c, 0x7e54, 0x0005, 0x080c, 0x95cc, 0x0ce0, 0xa186, 0x0014, + 0x1dd0, 0x080c, 0x7d75, 0x00d6, 0x6010, 0x2068, 0x080c, 0xac21, + 0x0d60, 0x6837, 0x0103, 0x6847, 0x0000, 0x684b, 0x0006, 0x6850, + 0xc0ec, 0x6852, 0x08f0, 0x0002, 0xa765, 0xa763, 0xa763, 0xa763, + 0xa763, 0xa763, 0xa77d, 0x080c, 0x1515, 0x080c, 0x7d75, 0x6030, + 0xa08c, 0xff00, 0x810f, 0xa186, 0x0039, 0x0118, 0xa186, 0x0035, + 0x1118, 0x2001, 0xc8fd, 0x0010, 0x2001, 0xc8fe, 0x2004, 0x6016, + 0x6003, 0x000c, 0x080c, 0x7e54, 0x0005, 0x080c, 0x7d75, 0x6030, + 0xa08c, 0xff00, 0x810f, 0xa186, 0x0039, 0x0118, 0xa186, 0x0035, + 0x1118, 0x2001, 0xc8fd, 0x0010, 0x2001, 0xc8fe, 0x2004, 0x6016, + 0x6003, 0x000e, 0x080c, 0x7e54, 0x0005, 0xa182, 0x008c, 0x1220, + 0xa182, 0x0085, 0x0208, 0x001a, 0x080c, 0x95cc, 0x0005, 0xa7a6, + 0xa7a6, 0xa7a6, 0xa7a6, 0xa7a8, 0xa801, 0xa7a6, 0x080c, 0x1515, + 0x00d6, 0x00f6, 0x2c78, 0x080c, 0x5683, 0x00fe, 0x0168, 0x6030, + 0xa08c, 0xff00, 0x810f, 0xa186, 0x0039, 0x0118, 0xa186, 0x0035, + 0x1118, 0x00de, 0x0804, 0xa814, 0x080c, 0xac21, 0x1118, 0x080c, + 0xadd8, 0x00f0, 0x6010, 0x2068, 0x684c, 0xd0e4, 0x1110, 0x080c, + 0xadd8, 0x6837, 0x0103, 0x6850, 0xd0b4, 0x0128, 0x684b, 0x0006, + 0xc0ec, 0x6852, 0x0048, 0xd0bc, 0x0118, 0x684b, 0x0002, 0x0020, + 0x684b, 0x0005, 0x080c, 0xae99, 0x6847, 0x0000, 0x080c, 0x57ca, + 0x2c68, 0x080c, 0x952f, 0x01c0, 0x6003, 0x0001, 0x6007, 0x001e, + 0x600b, 0xffff, 0x2009, 0xcc8e, 0x210c, 0x6136, 0x2009, 0xcc8f, + 0x210c, 0x613a, 0x6918, 0x611a, 0x080c, 0xafee, 0x6950, 0x6152, + 0x601f, 0x0001, 0x080c, 0x795d, 0x2d60, 0x080c, 0x9585, 0x00de, + 0x0005, 0x00f6, 0x2c78, 0x080c, 0x5683, 0x00fe, 0x0598, 0x6030, + 0xa08c, 0xff00, 0x810f, 0xa186, 0x0035, 0x0130, 0xa186, 0x001e, + 0x0118, 0xa186, 0x0039, 0x1530, 0x00d6, 0x2c68, 0x080c, 0xb0d1, + 0x1904, 0xa859, 0x080c, 0x952f, 0x01d8, 0x6106, 0x6003, 0x0001, + 0x601f, 0x0001, 0x6918, 0x611a, 0x6928, 0x612a, 0x692c, 0x612e, + 0x6930, 0xa18c, 0x00ff, 0x6132, 0x6934, 0x6136, 0x6938, 0x613a, + 0x6950, 0x6152, 0x080c, 0xafee, 0x080c, 0x795d, 0x080c, 0x7e54, + 0x2d60, 0x00f8, 0x00d6, 0x6010, 0x2068, 0x080c, 0xac21, 0x01c8, + 0x6837, 0x0103, 0x6850, 0xd0b4, 0x0128, 0xc0ec, 0x6852, 0x684b, + 0x0006, 0x0048, 0xd0bc, 0x0118, 0x684b, 0x0002, 0x0020, 0x684b, + 0x0005, 0x080c, 0xae99, 0x6847, 0x0000, 0x080c, 0x57ca, 0x080c, + 0xadd8, 0x00de, 0x080c, 0x9585, 0x0005, 0x0016, 0x00d6, 0x6010, + 0x2068, 0x080c, 0xac21, 0x0140, 0x6837, 0x0103, 0x684b, 0x0028, + 0x6847, 0x0000, 0x080c, 0x57ca, 0x00de, 0x001e, 0xa186, 0x0013, + 0x0148, 0xa186, 0x0014, 0x0130, 0xa186, 0x0027, 0x0118, 0x080c, + 0x95cc, 0x0030, 0x080c, 0x7d75, 0x080c, 0xade4, 0x080c, 0x7e54, + 0x0005, 0x0056, 0x0066, 0x00d6, 0x00f6, 0x2029, 0x0001, 0xa182, + 0x0101, 0x1208, 0x0010, 0x2009, 0x0100, 0x2130, 0x2069, 0xcc98, + 0x831c, 0x2300, 0xad18, 0x2009, 0x0020, 0xaf90, 0x001d, 0x080c, + 0xa8dc, 0xa6b2, 0x0020, 0x7804, 0xa06d, 0x0110, 0x080c, 0x1625, + 0x080c, 0x15fe, 0x0500, 0x8528, 0x6837, 0x0110, 0x683b, 0x0000, + 0x2d20, 0x7c06, 0xa68a, 0x003d, 0x1228, 0x2608, 0xad90, 0x000f, + 0x0459, 0x0088, 0xa6b2, 0x003c, 0x2009, 0x003c, 0x2d78, 0xad90, + 0x000f, 0x0411, 0x0c28, 0x00fe, 0x852f, 0xa5ad, 0x0003, 0x7d36, + 0xa5ac, 0x0000, 0x0028, 0x00fe, 0x852f, 0xa5ad, 0x0003, 0x7d36, + 0x00de, 0x006e, 0x005e, 0x0005, 0x00f6, 0x8dff, 0x0158, 0x6804, + 0xa07d, 0x0130, 0x6807, 0x0000, 0x080c, 0x57ca, 0x2f68, 0x0cb8, + 0x080c, 0x57ca, 0x00fe, 0x0005, 0x0156, 0xa184, 0x0001, 0x0108, + 0x8108, 0x810c, 0x21a8, 0x2304, 0x8007, 0x2012, 0x8318, 0x8210, + 0x1f04, 0xa8e3, 0x015e, 0x0005, 0x0066, 0x0126, 0x2091, 0x8000, + 0x2031, 0x0001, 0x601c, 0xa084, 0x000f, 0x0083, 0x012e, 0x006e, + 0x0005, 0x0126, 0x2091, 0x8000, 0x0066, 0x2031, 0x0000, 0x601c, + 0xa084, 0x000f, 0x001b, 0x006e, 0x012e, 0x0005, 0xa923, 0xa923, + 0xa91e, 0xa945, 0xa911, 0xa91e, 0xa945, 0xa91e, 0xa911, 0x77b8, + 0xa91e, 0x080c, 0x1515, 0x0036, 0x2019, 0x0010, 0x080c, 0xbcd7, + 0x601f, 0x0006, 0x6003, 0x0007, 0x003e, 0x0005, 0xa006, 0x0005, + 0xa085, 0x0001, 0x0005, 0x00d6, 0x86ff, 0x11d8, 0x6010, 0x2068, + 0x080c, 0xac21, 0x01c0, 0x6834, 0xa086, 0x0139, 0x1128, 0x684b, + 0x0005, 0x6853, 0x0000, 0x0028, 0xa00e, 0x2001, 0x0005, 0x080c, + 0x58ee, 0x080c, 0xae99, 0x080c, 0x57ca, 0x080c, 0x9585, 0xa085, + 0x0001, 0x00de, 0x0005, 0xa006, 0x0ce0, 0x6000, 0xa08a, 0x0010, + 0x1a0c, 0x1515, 0x000b, 0x0005, 0xa95c, 0xa97d, 0xa95e, 0xa99c, + 0xa97a, 0xa95c, 0xa91e, 0xa923, 0xa923, 0xa91e, 0xa91e, 0xa91e, + 0xa91e, 0xa91e, 0xa91e, 0xa91e, 0x080c, 0x1515, 0x86ff, 0x11b8, + 0x601c, 0xa086, 0x0006, 0x0198, 0x00d6, 0x6010, 0x2068, 0x080c, + 0xac21, 0x0110, 0x080c, 0xae99, 0x00de, 0x6007, 0x0085, 0x6003, + 0x000b, 0x601f, 0x0002, 0x080c, 0x795d, 0x080c, 0x7e54, 0xa085, + 0x0001, 0x0005, 0x080c, 0x194b, 0x0c08, 0x00e6, 0x2071, 0xc927, + 0x7024, 0xac06, 0x1110, 0x080c, 0x8d97, 0x601c, 0xa084, 0x000f, + 0xa086, 0x0006, 0x1150, 0x0086, 0x0096, 0x2049, 0x0001, 0x2c40, + 0x080c, 0x8f72, 0x009e, 0x008e, 0x0010, 0x080c, 0x8c96, 0x00ee, + 0x1928, 0x080c, 0xa91e, 0x0005, 0x0036, 0x00e6, 0x2071, 0xc927, + 0x703c, 0xac06, 0x1140, 0x2019, 0x0000, 0x080c, 0x8e22, 0x00ee, + 0x003e, 0x0804, 0xa95e, 0x080c, 0x9098, 0x00ee, 0x003e, 0x1904, + 0xa95e, 0x080c, 0xa91e, 0x0005, 0x00c6, 0x601c, 0xa084, 0x000f, + 0x0013, 0x00ce, 0x0005, 0xa9cd, 0xaa3a, 0xab80, 0xa9d8, 0xade4, + 0xa9cd, 0xbcc9, 0x9585, 0xaa3a, 0x7787, 0xabeb, 0x080c, 0x1515, + 0x080c, 0xae1f, 0x1110, 0x080c, 0x9bab, 0x0005, 0x080c, 0x7d75, + 0x080c, 0x7e54, 0x080c, 0x9585, 0x0005, 0x6017, 0x0001, 0x0005, + 0x080c, 0xac21, 0x0120, 0x6010, 0xa080, 0x0019, 0x2c02, 0x6000, + 0xa08a, 0x0010, 0x1a0c, 0x1515, 0x000b, 0x0005, 0xa9f6, 0xa9f8, + 0xaa18, 0xaa2a, 0xaa37, 0xa9f6, 0xa9cd, 0xa9cd, 0xa9cd, 0xaa2a, + 0xaa2a, 0xa9f6, 0xa9f6, 0xa9f6, 0xa9f6, 0xaa34, 0x080c, 0x1515, + 0x00e6, 0x6010, 0x2070, 0x7050, 0xc0b5, 0x7052, 0x2071, 0xc927, + 0x7024, 0xac06, 0x0190, 0x080c, 0x8c96, 0x6007, 0x0085, 0x6003, + 0x000b, 0x601f, 0x0002, 0x2001, 0xc8fe, 0x2004, 0x6016, 0x080c, + 0x795d, 0x080c, 0x7e54, 0x00ee, 0x0005, 0x6017, 0x0001, 0x0cd8, + 0x00d6, 0x6010, 0x2068, 0x6850, 0xc0b5, 0x6852, 0x00de, 0x6007, + 0x0085, 0x6003, 0x000b, 0x601f, 0x0002, 0x080c, 0x795d, 0x080c, + 0x7e54, 0x0005, 0x00d6, 0x6017, 0x0001, 0x6010, 0x2068, 0x6850, + 0xc0b5, 0x6852, 0x00de, 0x0005, 0x080c, 0x9585, 0x0005, 0x080c, + 0x194b, 0x08f0, 0x6000, 0xa08a, 0x0010, 0x1a0c, 0x1515, 0x000b, + 0x0005, 0xaa51, 0xa9d5, 0xaa53, 0xaa51, 0xaa53, 0xaa53, 0xa9ce, + 0xaa51, 0xa9c8, 0xa9c8, 0xaa51, 0xaa51, 0xaa51, 0xaa51, 0xaa51, + 0xaa51, 0x080c, 0x1515, 0x00d6, 0x6018, 0x2068, 0x6804, 0xa084, + 0x00ff, 0x00de, 0xa08a, 0x000c, 0x1a0c, 0x1515, 0x000b, 0x0005, + 0xaa6c, 0xab26, 0xaa6e, 0xaaa8, 0xaa6e, 0xaaa8, 0xaa6e, 0xaa78, + 0xaa6c, 0xaaa8, 0xaa6c, 0xaa94, 0x080c, 0x1515, 0x6004, 0xa08e, + 0x0016, 0x0588, 0xa08e, 0x0004, 0x0570, 0xa08e, 0x0002, 0x0558, + 0x6004, 0x080c, 0xae1f, 0x0904, 0xab3f, 0xa08e, 0x0021, 0x0904, + 0xab43, 0xa08e, 0x0022, 0x0904, 0xab3f, 0xa08e, 0x003d, 0x0904, + 0xab43, 0xa08e, 0x0039, 0x0904, 0xab47, 0xa08e, 0x0035, 0x0904, + 0xab47, 0xa08e, 0x001e, 0x0188, 0xa08e, 0x0001, 0x1150, 0x00d6, + 0x6018, 0x2068, 0x6804, 0xa084, 0x00ff, 0x00de, 0xa086, 0x0006, + 0x0110, 0x080c, 0x2e0a, 0x080c, 0x9bab, 0x080c, 0xade4, 0x0005, + 0x00c6, 0x00d6, 0x6104, 0xa186, 0x0016, 0x0904, 0xab17, 0xa186, + 0x0002, 0x15d8, 0x2001, 0xc635, 0x2004, 0xd08c, 0x1198, 0x080c, + 0x5ee2, 0x1180, 0x2001, 0xc8e6, 0x2003, 0x0001, 0x2001, 0xc600, + 0x2003, 0x0001, 0xa085, 0x0001, 0x080c, 0x5f26, 0x080c, 0x5e1a, + 0x0804, 0xab69, 0x6018, 0x2068, 0x2001, 0xc635, 0x2004, 0xd0ac, + 0x1904, 0xab69, 0x68a0, 0xd0bc, 0x1904, 0xab69, 0x6840, 0xa084, + 0x00ff, 0xa005, 0x0190, 0x8001, 0x6842, 0x6013, 0x0000, 0x601f, + 0x0007, 0x6017, 0x0398, 0x603f, 0x0000, 0x080c, 0x952f, 0x0128, + 0x2d00, 0x601a, 0x601f, 0x0001, 0x0450, 0x00de, 0x00ce, 0x6004, + 0xa08e, 0x0002, 0x11a8, 0x6018, 0xa080, 0x0028, 0x2004, 0xa086, + 0x007e, 0x1170, 0x2009, 0xc635, 0x2104, 0xc085, 0x200a, 0x00e6, + 0x2071, 0xc600, 0x080c, 0x4ebb, 0x00ee, 0x080c, 0x9bab, 0x0020, + 0x080c, 0x9bab, 0x080c, 0x2e0a, 0x00e6, 0x0126, 0x2091, 0x8000, + 0x080c, 0x2e30, 0x012e, 0x00ee, 0x080c, 0xade4, 0x0005, 0x2001, + 0x0002, 0x080c, 0x5251, 0x6003, 0x0001, 0x6007, 0x0002, 0x080c, + 0x79a3, 0x080c, 0x7e54, 0x00de, 0x00ce, 0x0c80, 0x00c6, 0x00d6, + 0x6104, 0xa186, 0x0016, 0x0d58, 0x6018, 0x2068, 0x6840, 0xa084, + 0x00ff, 0xa005, 0x0904, 0xaaed, 0x8001, 0x6842, 0x6003, 0x0001, + 0x080c, 0x79a3, 0x080c, 0x7e54, 0x00de, 0x00ce, 0x08b8, 0x080c, + 0x9bab, 0x0804, 0xaaa5, 0x080c, 0x9bd9, 0x0804, 0xaaa5, 0x00d6, + 0x2c68, 0x6104, 0x080c, 0xb0d1, 0x00de, 0x0118, 0x080c, 0x9585, + 0x00b8, 0x6004, 0x8007, 0x6130, 0xa18c, 0x00ff, 0xa105, 0x6032, + 0x6007, 0x0085, 0x6003, 0x000b, 0x601f, 0x0002, 0x6038, 0x600a, + 0x2001, 0xc8fe, 0x2004, 0x6016, 0x080c, 0x795d, 0x080c, 0x7e54, + 0x0005, 0x00de, 0x00ce, 0x080c, 0x9bab, 0x080c, 0x2e0a, 0x00e6, + 0x0126, 0x2091, 0x8000, 0x080c, 0x2e30, 0x6013, 0x0000, 0x601f, + 0x0007, 0x6017, 0x0398, 0x603f, 0x0000, 0x012e, 0x00ee, 0x0005, + 0x6000, 0xa08a, 0x0010, 0x1a0c, 0x1515, 0x000b, 0x0005, 0xab97, + 0xab97, 0xab97, 0xab97, 0xab97, 0xab97, 0xab97, 0xab97, 0xab97, + 0xa9cd, 0xab97, 0xa9d5, 0xab99, 0xa9d5, 0xaba6, 0xab97, 0x080c, + 0x1515, 0x6004, 0xa086, 0x008b, 0x0148, 0x6007, 0x008b, 0x6003, + 0x000d, 0x080c, 0x795d, 0x080c, 0x7e54, 0x0005, 0x080c, 0xadd8, + 0x080c, 0xac21, 0x0580, 0x080c, 0x2e0a, 0x00d6, 0x080c, 0xac21, + 0x0168, 0x6010, 0x2068, 0x6837, 0x0103, 0x684b, 0x0006, 0x6847, + 0x0000, 0x6850, 0xc0ed, 0x6852, 0x080c, 0x57ca, 0x2c68, 0x080c, + 0x952f, 0x0150, 0x6818, 0x601a, 0x080c, 0xafee, 0x00c6, 0x2d60, + 0x080c, 0xade4, 0x00ce, 0x0008, 0x2d60, 0x00de, 0x6013, 0x0000, + 0x601f, 0x0001, 0x6007, 0x0001, 0x6003, 0x0001, 0x080c, 0x79a3, + 0x080c, 0x7e54, 0x0078, 0x6030, 0xa08c, 0xff00, 0x810f, 0xa186, + 0x0039, 0x0118, 0xa186, 0x0035, 0x1118, 0x080c, 0x2e0a, 0x08b0, + 0x080c, 0xade4, 0x0005, 0x6000, 0xa08a, 0x0010, 0x1a0c, 0x1515, + 0x000b, 0x0005, 0xac02, 0xac02, 0xac02, 0xac04, 0xac04, 0xac02, + 0xac02, 0xac02, 0xac02, 0xac02, 0xac02, 0xac02, 0xac02, 0xac02, + 0xac02, 0xac02, 0x080c, 0x1515, 0x080c, 0x9098, 0x190c, 0x1515, + 0x6110, 0x2168, 0x684b, 0x0006, 0x080c, 0x57ca, 0x080c, 0x9585, + 0x0005, 0xa284, 0x0007, 0x1158, 0xa282, 0xce00, 0x0240, 0x2001, + 0xc617, 0x2004, 0xa202, 0x1218, 0xa085, 0x0001, 0x0005, 0xa006, + 0x0ce8, 0x0026, 0x6210, 0xa294, 0xf000, 0x002e, 0x0005, 0x00e6, + 0x00c6, 0x0036, 0x0006, 0x0126, 0x2091, 0x8000, 0x2061, 0xce00, + 0x2071, 0xc600, 0x7348, 0x7068, 0xa302, 0x12a8, 0x601c, 0xa206, + 0x1160, 0x080c, 0xaf79, 0x0148, 0x080c, 0xae1f, 0x1110, 0x080c, + 0x9bab, 0x00c6, 0x080c, 0x9585, 0x00ce, 0xace0, 0x0018, 0x705c, + 0xac02, 0x1208, 0x0c38, 0x012e, 0x000e, 0x003e, 0x00ce, 0x00ee, + 0x0005, 0x00e6, 0x00c6, 0x0016, 0xa188, 0xc77b, 0x210c, 0x81ff, + 0x0128, 0x2061, 0xca3c, 0x611a, 0x080c, 0x2e0a, 0xa006, 0x0010, + 0xa085, 0x0001, 0x001e, 0x00ce, 0x00ee, 0x0005, 0x00c6, 0x0056, + 0x0126, 0x2091, 0x8000, 0x00c6, 0x080c, 0x952f, 0x005e, 0x0180, + 0x6612, 0x651a, 0x080c, 0xafee, 0x601f, 0x0003, 0x2009, 0x004b, + 0x080c, 0x95b5, 0xa085, 0x0001, 0x012e, 0x005e, 0x00ce, 0x0005, + 0xa006, 0x0cd0, 0x00c6, 0x0056, 0x0126, 0x2091, 0x8000, 0x62a0, + 0x00c6, 0x080c, 0xae9d, 0x005e, 0x0550, 0x6013, 0x0000, 0x651a, + 0x080c, 0xafee, 0x601f, 0x0003, 0x0016, 0x00c6, 0x2560, 0x080c, + 0x54fe, 0x00ce, 0x080c, 0x7ada, 0x0076, 0x2039, 0x0000, 0x080c, + 0x79d2, 0x2c08, 0x080c, 0xbe79, 0x007e, 0x001e, 0xd184, 0x0128, + 0x080c, 0x9585, 0xa085, 0x0001, 0x0030, 0x2009, 0x004c, 0x080c, + 0x95b5, 0xa085, 0x0001, 0x012e, 0x005e, 0x00ce, 0x0005, 0xa006, + 0x0cd0, 0x00f6, 0x00c6, 0x0046, 0x00c6, 0x080c, 0x952f, 0x2c78, + 0x00ce, 0x0180, 0x7e12, 0x2c00, 0x781a, 0x781f, 0x0003, 0x2021, + 0x0005, 0x080c, 0xad17, 0x2f60, 0x2009, 0x004d, 0x080c, 0x95b5, + 0xa085, 0x0001, 0x004e, 0x00ce, 0x00fe, 0x0005, 0x00f6, 0x00c6, + 0x0046, 0x00c6, 0x080c, 0x952f, 0x2c78, 0x00ce, 0x0178, 0x7e12, + 0x2c00, 0x781a, 0x781f, 0x0003, 0x2021, 0x0005, 0x0481, 0x2f60, + 0x2009, 0x004e, 0x080c, 0x95b5, 0xa085, 0x0001, 0x004e, 0x00ce, + 0x00fe, 0x0005, 0x00f6, 0x00c6, 0x0046, 0x00c6, 0x080c, 0x952f, + 0x2c78, 0x00ce, 0x01c0, 0x7e12, 0x2c00, 0x781a, 0x781f, 0x0003, + 0x2021, 0x0004, 0x00a1, 0x2001, 0xc8e7, 0x2004, 0xd0fc, 0x0120, + 0x2f60, 0x080c, 0x9585, 0x0028, 0x2f60, 0x2009, 0x0052, 0x080c, + 0x95b5, 0xa085, 0x0001, 0x004e, 0x00ce, 0x00fe, 0x0005, 0x0096, + 0x0076, 0x0126, 0x2091, 0x8000, 0x080c, 0x54a0, 0x0118, 0x2001, + 0xad1c, 0x0028, 0x080c, 0x5470, 0x0158, 0x2001, 0xad22, 0x0006, + 0xa00e, 0x2400, 0x080c, 0x58ee, 0x080c, 0x57ca, 0x000e, 0x0807, + 0x2418, 0x080c, 0x7d14, 0x62a0, 0x0086, 0x2041, 0x0001, 0x2039, + 0x0001, 0x2608, 0x080c, 0x7af3, 0x008e, 0x080c, 0x79d2, 0x2f08, + 0x2648, 0x080c, 0xbe79, 0x613c, 0x81ff, 0x090c, 0x7ba8, 0x080c, + 0x7e54, 0x012e, 0x007e, 0x009e, 0x0005, 0x00c6, 0x0126, 0x2091, + 0x8000, 0x00c6, 0x080c, 0x952f, 0x001e, 0x0188, 0x660a, 0x611a, + 0x080c, 0xafee, 0x601f, 0x0001, 0x2d00, 0x6012, 0x2009, 0x001f, + 0x080c, 0x95b5, 0xa085, 0x0001, 0x012e, 0x00ce, 0x0005, 0xa006, + 0x0cd8, 0x00c6, 0x0126, 0x2091, 0x8000, 0x00c6, 0x080c, 0x952f, + 0x001e, 0x0188, 0x660a, 0x611a, 0x080c, 0xafee, 0x601f, 0x0008, + 0x2d00, 0x6012, 0x2009, 0x0021, 0x080c, 0x95b5, 0xa085, 0x0001, + 0x012e, 0x00ce, 0x0005, 0xa006, 0x0cd8, 0x00c6, 0x0126, 0x2091, + 0x8000, 0x00c6, 0x080c, 0x952f, 0x001e, 0x0188, 0x660a, 0x611a, + 0x080c, 0xafee, 0x601f, 0x0001, 0x2d00, 0x6012, 0x2009, 0x003d, + 0x080c, 0x95b5, 0xa085, 0x0001, 0x012e, 0x00ce, 0x0005, 0xa006, + 0x0cd8, 0x00c6, 0x0126, 0x2091, 0x8000, 0x00c6, 0x080c, 0xae9d, + 0x001e, 0x0180, 0x611a, 0x080c, 0xafee, 0x601f, 0x0001, 0x2d00, + 0x6012, 0x2009, 0x0000, 0x080c, 0x95b5, 0xa085, 0x0001, 0x012e, + 0x00ce, 0x0005, 0xa006, 0x0cd8, 0x00c6, 0x0126, 0x2091, 0x8000, + 0x00c6, 0x080c, 0x952f, 0x001e, 0x0188, 0x660a, 0x611a, 0x080c, + 0xafee, 0x601f, 0x0001, 0x2d00, 0x6012, 0x2009, 0x0044, 0x080c, + 0x95b5, 0xa085, 0x0001, 0x012e, 0x00ce, 0x0005, 0xa006, 0x0cd8, + 0x0026, 0x00d6, 0x6218, 0x2268, 0x6a3c, 0x82ff, 0x0110, 0x8211, + 0x6a3e, 0x00de, 0x002e, 0x0005, 0x0006, 0x6000, 0xa086, 0x0000, + 0x0190, 0x6013, 0x0000, 0x601f, 0x0007, 0x2001, 0xc8fd, 0x2004, + 0x0006, 0xa082, 0x0051, 0x000e, 0x0208, 0x8004, 0x6016, 0x080c, + 0xc364, 0x603f, 0x0000, 0x000e, 0x0005, 0x0066, 0x00c6, 0x00d6, + 0x2031, 0xc653, 0x2634, 0xd6e4, 0x0128, 0x6618, 0x2660, 0x6e48, + 0x080c, 0x5429, 0x00de, 0x00ce, 0x006e, 0x0005, 0x0006, 0x0016, + 0x6004, 0xa08e, 0x0002, 0x0140, 0xa08e, 0x0003, 0x0128, 0xa08e, + 0x0004, 0x0110, 0xa085, 0x0001, 0x001e, 0x000e, 0x0005, 0x0006, + 0x00d6, 0x6010, 0xa06d, 0x0148, 0x6834, 0xa086, 0x0139, 0x0138, + 0x6838, 0xd0fc, 0x0110, 0xa006, 0x0010, 0xa085, 0x0001, 0x00de, + 0x000e, 0x0005, 0x00c6, 0x0126, 0x2091, 0x8000, 0x00c6, 0x080c, + 0x952f, 0x001e, 0x0190, 0x611a, 0x080c, 0xafee, 0x601f, 0x0001, + 0x2d00, 0x6012, 0x080c, 0x2e0a, 0x2009, 0x0028, 0x080c, 0x95b5, + 0xa085, 0x0001, 0x012e, 0x00ce, 0x0005, 0xa006, 0x0cd8, 0xa186, + 0x0015, 0x1178, 0x2011, 0xc621, 0x2204, 0xa086, 0x0074, 0x1148, + 0x080c, 0x9f58, 0x6003, 0x0001, 0x6007, 0x0029, 0x080c, 0x79a3, + 0x0020, 0x080c, 0x9bab, 0x080c, 0x9585, 0x0005, 0xa186, 0x0016, + 0x1128, 0x2001, 0x0004, 0x080c, 0x5251, 0x00e8, 0xa186, 0x0015, + 0x11e8, 0x2011, 0xc621, 0x2204, 0xa086, 0x0014, 0x11b8, 0x00d6, + 0x6018, 0x2068, 0x080c, 0x539f, 0x00de, 0x080c, 0xa011, 0x1170, + 0x00d6, 0x6018, 0x2068, 0x6890, 0x00de, 0xa005, 0x0138, 0x2001, + 0x0006, 0x080c, 0x5251, 0x080c, 0x9709, 0x0020, 0x080c, 0x9bab, + 0x080c, 0x9585, 0x0005, 0x6848, 0xa086, 0x0005, 0x1108, 0x0009, + 0x0005, 0x6850, 0xc0ad, 0x6852, 0x0005, 0x00e6, 0x0126, 0x2071, + 0xc600, 0x2091, 0x8000, 0x7548, 0xa582, 0x0001, 0x0608, 0x704c, + 0x2060, 0x6000, 0xa086, 0x0000, 0x0148, 0xace0, 0x0018, 0x705c, + 0xac02, 0x1208, 0x0cb0, 0x2061, 0xce00, 0x0c98, 0x6003, 0x0008, + 0x8529, 0x754a, 0xaca8, 0x0018, 0x705c, 0xa502, 0x1230, 0x754e, + 0xa085, 0x0001, 0x012e, 0x00ee, 0x0005, 0x704f, 0xce00, 0x0cc0, + 0xa006, 0x0cc0, 0x00e6, 0x2071, 0xcc8c, 0x7014, 0xd0e4, 0x0150, + 0x6013, 0x0000, 0x6003, 0x0001, 0x6007, 0x0050, 0x080c, 0x795d, + 0x080c, 0x7e54, 0x00ee, 0x0005, 0x00c6, 0x00f6, 0x2c78, 0x080c, + 0x5683, 0x00fe, 0x0120, 0x601c, 0xa084, 0x000f, 0x0013, 0x00ce, + 0x0005, 0xa9cd, 0xaef4, 0xaef7, 0xaefa, 0xc151, 0xc16c, 0xc16f, + 0xa9cd, 0xa9cd, 0x080c, 0x1515, 0xe000, 0xe000, 0x0005, 0xe000, + 0xe000, 0x0005, 0x0009, 0x0005, 0x00f6, 0x2c78, 0x080c, 0x5683, + 0x0538, 0x080c, 0x952f, 0x1128, 0x2001, 0xc8ff, 0x2004, 0x783e, + 0x00f8, 0x7818, 0x601a, 0x080c, 0xafee, 0x781c, 0xa086, 0x0003, + 0x0128, 0x7808, 0x6036, 0x2f00, 0x603a, 0x0020, 0x7808, 0x603a, + 0x2f00, 0x6036, 0x602a, 0x601f, 0x0001, 0x6007, 0x0035, 0x6003, + 0x0001, 0x7950, 0x6152, 0x080c, 0x795d, 0x080c, 0x7e54, 0x2f60, + 0x00fe, 0x0005, 0x0016, 0x00f6, 0x682c, 0x6032, 0xa08e, 0x0001, + 0x0138, 0xa086, 0x0005, 0x0140, 0xa006, 0x602a, 0x602e, 0x00a0, + 0x6820, 0xc0f4, 0xc0d5, 0x6822, 0x6810, 0x2078, 0x787c, 0x6938, + 0xa102, 0x7880, 0x6934, 0xa103, 0x1e78, 0x6834, 0x602a, 0x6838, + 0xa084, 0xfffc, 0x683a, 0x602e, 0x2d00, 0x6036, 0x6808, 0x603a, + 0x6918, 0x611a, 0x6950, 0x6152, 0x601f, 0x0001, 0x6007, 0x0039, + 0x6003, 0x0001, 0x080c, 0x795d, 0x6803, 0x0002, 0x00fe, 0x001e, + 0x0005, 0x00f6, 0x2c78, 0x080c, 0x5683, 0x1118, 0xa085, 0x0001, + 0x0070, 0x6020, 0xd0f4, 0x1150, 0xc0f5, 0x6022, 0x6010, 0x2078, + 0x7828, 0x603a, 0x782c, 0x6036, 0x080c, 0x194b, 0xa006, 0x00fe, + 0x0005, 0x0006, 0x0016, 0x6004, 0xa08e, 0x0034, 0x01b8, 0xa08e, + 0x0035, 0x01a0, 0xa08e, 0x0036, 0x0188, 0xa08e, 0x0037, 0x0170, + 0xa08e, 0x0038, 0x0158, 0xa08e, 0x0039, 0x0140, 0xa08e, 0x003a, + 0x0128, 0xa08e, 0x003b, 0x0110, 0xa085, 0x0001, 0x001e, 0x000e, + 0x0005, 0x0006, 0x0016, 0x0026, 0x0036, 0x00e6, 0x2001, 0xc8f9, + 0x200c, 0x8000, 0x2014, 0x2001, 0x0032, 0x080c, 0x7803, 0x2001, + 0xc8fd, 0x82ff, 0x1110, 0x2011, 0x0014, 0x2202, 0x2001, 0xc8fb, + 0x200c, 0x8000, 0x2014, 0x2071, 0xc8d5, 0x711a, 0x721e, 0x2001, + 0x0064, 0x080c, 0x7803, 0x2001, 0xc8fe, 0x82ff, 0x1110, 0x2011, + 0x0014, 0x2202, 0x2009, 0xc8ff, 0xa280, 0x000a, 0x200a, 0x080c, + 0x56ec, 0x00ee, 0x003e, 0x002e, 0x001e, 0x000e, 0x0005, 0x0006, + 0x00e6, 0x2001, 0xc8fd, 0x2003, 0x0028, 0x2001, 0xc8fe, 0x2003, + 0x0014, 0x2071, 0xc8d5, 0x701b, 0x0000, 0x701f, 0x07d0, 0x2001, + 0xc8ff, 0x2003, 0x001e, 0x00ee, 0x000e, 0x0005, 0x00d6, 0x6054, + 0xa06d, 0x0110, 0x080c, 0x1615, 0x00de, 0x0005, 0x0005, 0x00c6, + 0x0126, 0x2091, 0x8000, 0x00c6, 0x080c, 0x952f, 0x001e, 0x0178, + 0x611a, 0x0ca1, 0x601f, 0x0001, 0x2d00, 0x6012, 0x2009, 0x0033, + 0x080c, 0x95b5, 0xa085, 0x0001, 0x012e, 0x00ce, 0x0005, 0xa006, + 0x0cd8, 0x00d6, 0x00e6, 0x00f6, 0x2071, 0xc600, 0xa186, 0x0015, + 0x1500, 0x7084, 0xa086, 0x0018, 0x11e0, 0x6010, 0x2068, 0x6a3c, + 0xd2e4, 0x1160, 0x2c78, 0x080c, 0x806f, 0x01d8, 0x7070, 0x6a50, + 0xa206, 0x1160, 0x7074, 0x6a54, 0xa206, 0x1140, 0x6218, 0xa290, + 0x0028, 0x2214, 0x2009, 0x0000, 0x080c, 0x2e4f, 0x080c, 0x9709, + 0x0020, 0x080c, 0x9bab, 0x080c, 0x9585, 0x00fe, 0x00ee, 0x00de, + 0x0005, 0x7054, 0x6a54, 0xa206, 0x0d48, 0x0c80, 0x00c6, 0x0126, + 0x2091, 0x8000, 0x00c6, 0x080c, 0x952f, 0x001e, 0x0180, 0x611a, + 0x080c, 0xafee, 0x601f, 0x0001, 0x2d00, 0x6012, 0x2009, 0x0043, + 0x080c, 0x95b5, 0xa085, 0x0001, 0x012e, 0x00ce, 0x0005, 0xa006, + 0x0cd8, 0x00d6, 0x00e6, 0x00f6, 0x2071, 0xc600, 0xa186, 0x0015, + 0x11c0, 0x7084, 0xa086, 0x0004, 0x11a0, 0x6010, 0xa0e8, 0x000f, + 0x2c78, 0x080c, 0x806f, 0x01a8, 0x7070, 0x6a08, 0xa206, 0x1130, + 0x7074, 0x6a0c, 0xa206, 0x1110, 0x080c, 0x2e0a, 0x080c, 0x9709, + 0x0020, 0x080c, 0x9bab, 0x080c, 0x9585, 0x00fe, 0x00ee, 0x00de, + 0x0005, 0x7054, 0x6a0c, 0xa206, 0x0d78, 0x0c80, 0x0016, 0x0026, + 0x684c, 0xd0ac, 0x0178, 0x6914, 0x6a10, 0x2100, 0xa205, 0x0150, + 0x6860, 0xa106, 0x1118, 0x685c, 0xa206, 0x0120, 0x6962, 0x6a5e, + 0xa085, 0x0001, 0x002e, 0x001e, 0x0005, 0x00d6, 0x0036, 0x6310, + 0x2368, 0x684a, 0x6952, 0xa29e, 0x4000, 0x11a0, 0x00c6, 0x6318, + 0x2360, 0x2009, 0x0000, 0x6838, 0xd0f4, 0x1140, 0x080c, 0x559e, + 0x1108, 0xc185, 0x6000, 0xd0bc, 0x0108, 0xc18d, 0x6a66, 0x696a, + 0x00ce, 0x0080, 0x6a66, 0x3918, 0xa398, 0x0006, 0x231c, 0x686b, + 0x0004, 0x6b72, 0x00c6, 0x6318, 0x2360, 0x6004, 0xa084, 0x00ff, + 0x686e, 0x00ce, 0x080c, 0x57ca, 0x6013, 0x0000, 0x003e, 0x00de, + 0x0005, 0x00c6, 0x0026, 0x0016, 0xa186, 0x0035, 0x0110, 0x6a34, + 0x0008, 0x6a28, 0x080c, 0xac11, 0x01f0, 0x2260, 0x611c, 0xa186, + 0x0003, 0x0118, 0xa186, 0x0006, 0x1190, 0x6834, 0xa206, 0x0140, + 0x6838, 0xa206, 0x1160, 0x6108, 0x6834, 0xa106, 0x1140, 0x0020, + 0x6008, 0x6938, 0xa106, 0x1118, 0x6018, 0x6918, 0xa106, 0x001e, + 0x002e, 0x00ce, 0x0005, 0xa085, 0x0001, 0x0cc8, 0x6944, 0xd1cc, + 0x0198, 0xa18c, 0x00ff, 0xa18e, 0x0002, 0x1170, 0xad88, 0x001e, + 0x210c, 0xa18c, 0x0f00, 0x810f, 0xa18e, 0x0001, 0x1128, 0x6810, + 0x6914, 0xa115, 0x190c, 0xa452, 0x0005, 0x0066, 0x6000, 0xa0b2, + 0x0010, 0x1a0c, 0x1515, 0x0013, 0x006e, 0x0005, 0xb12e, 0xb641, + 0xb769, 0xb12e, 0xb12e, 0xb12e, 0xb12e, 0xb12e, 0xb166, 0xb7ed, + 0xb12e, 0xb12e, 0xb12e, 0xb12e, 0xb12e, 0xb12e, 0x080c, 0x1515, + 0x0066, 0x6000, 0xa0b2, 0x0010, 0x1a0c, 0x1515, 0x0013, 0x006e, + 0x0005, 0xb149, 0xbc6e, 0xb149, 0xb149, 0xb149, 0xb149, 0xb149, + 0xb149, 0xbc32, 0xbcb6, 0xb149, 0xc296, 0xc2c6, 0xc296, 0xc2c6, + 0xb149, 0x080c, 0x1515, 0x0066, 0x6000, 0xa0b2, 0x0010, 0x1a0c, + 0x1515, 0x0013, 0x006e, 0x0005, 0xb164, 0xb939, 0xba06, 0xba33, + 0xbab7, 0xb164, 0xbba4, 0xbb4f, 0xb7f9, 0xbc08, 0xbc1d, 0xb164, + 0xb164, 0xb164, 0xb164, 0xb164, 0x080c, 0x1515, 0xa1b2, 0x0080, + 0x1a0c, 0x1515, 0x2100, 0xa1b2, 0x0040, 0x1a04, 0xb579, 0x0002, + 0xb1b0, 0xb37b, 0xb1b0, 0xb1b0, 0xb1b0, 0xb382, 0xb1b0, 0xb1b0, + 0xb1b0, 0xb1b0, 0xb1b0, 0xb1b0, 0xb1b0, 0xb1b0, 0xb1b0, 0xb1b0, + 0xb1b0, 0xb1b0, 0xb1b0, 0xb1b0, 0xb1b0, 0xb1b0, 0xb1b0, 0xb1b2, + 0xb210, 0xb21f, 0xb26d, 0xb28b, 0xb309, 0xb368, 0xb1b0, 0xb1b0, + 0xb385, 0xb1b0, 0xb1b0, 0xb398, 0xb3a3, 0xb1b0, 0xb1b0, 0xb1b0, + 0xb1b0, 0xb1b0, 0xb42e, 0xb1b0, 0xb1b0, 0xb43d, 0xb1b0, 0xb1b0, + 0xb3f9, 0xb1b0, 0xb1b0, 0xb1b0, 0xb455, 0xb1b0, 0xb1b0, 0xb1b0, + 0xb4cf, 0xb1b0, 0xb1b0, 0xb1b0, 0xb1b0, 0xb1b0, 0xb1b0, 0xb540, + 0x080c, 0x1515, 0x080c, 0x56cb, 0x1150, 0x2001, 0xc635, 0x2004, + 0xd0cc, 0x1128, 0xa084, 0x0009, 0xa086, 0x0008, 0x1140, 0x6007, + 0x0009, 0x602b, 0x0009, 0x6013, 0x0000, 0x0804, 0xb376, 0x080c, + 0x564d, 0x00e6, 0x00c6, 0x0036, 0x0026, 0x0016, 0x6218, 0x2270, + 0x72a0, 0x0026, 0x2019, 0x0029, 0x080c, 0x7ada, 0x0076, 0x2039, + 0x0000, 0x080c, 0x79d2, 0x2c08, 0x080c, 0xbe79, 0x007e, 0x001e, + 0x2e60, 0x080c, 0x54fe, 0x001e, 0x002e, 0x003e, 0x00ce, 0x00ee, + 0x6618, 0x00c6, 0x2660, 0x080c, 0x530c, 0x00ce, 0xa6b0, 0x0001, + 0x2634, 0xa684, 0x00ff, 0xa082, 0x0006, 0x0278, 0x080c, 0xbdbd, + 0x1904, 0xb267, 0x080c, 0xbd5d, 0x1120, 0x6007, 0x0008, 0x0804, + 0xb376, 0x6007, 0x0009, 0x0804, 0xb376, 0x080c, 0xbfa5, 0x0128, + 0x080c, 0xbdbd, 0x0d78, 0x0804, 0xb267, 0x6013, 0x1900, 0x0c88, + 0x080c, 0x2f2d, 0x1904, 0xb576, 0x6106, 0x080c, 0xbd17, 0x6007, + 0x0006, 0x0804, 0xb376, 0x6007, 0x0007, 0x0804, 0xb376, 0x080c, + 0xc2fa, 0x1904, 0xb576, 0x080c, 0x2f2d, 0x1904, 0xb576, 0x00d6, + 0x6618, 0x2668, 0x6e04, 0xa684, 0x00ff, 0xa082, 0x0006, 0x1220, + 0x2001, 0x0001, 0x080c, 0x523f, 0xa6b4, 0xff00, 0x8637, 0xa686, + 0x0006, 0x0188, 0xa686, 0x0004, 0x0170, 0x6e04, 0xa6b4, 0x00ff, + 0xa686, 0x0006, 0x0140, 0xa686, 0x0004, 0x0128, 0xa686, 0x0005, + 0x0110, 0x00de, 0x00e0, 0x080c, 0xbe1b, 0x11a0, 0xa686, 0x0006, + 0x1150, 0x0026, 0x6218, 0xa290, 0x0028, 0x2214, 0x2009, 0x0000, + 0x080c, 0x2e4f, 0x002e, 0x080c, 0x539f, 0x6007, 0x000a, 0x00de, + 0x0804, 0xb376, 0x6007, 0x000b, 0x00de, 0x0804, 0xb376, 0x080c, + 0x2e0a, 0x6007, 0x0001, 0x0804, 0xb376, 0x080c, 0xc2fa, 0x1904, + 0xb576, 0x080c, 0x2f2d, 0x1904, 0xb576, 0x6618, 0x00d6, 0x2668, + 0x6e04, 0x00de, 0xa686, 0x0707, 0x0d50, 0x0026, 0x6218, 0xa290, + 0x0028, 0x2214, 0x2009, 0x0000, 0x080c, 0x2e4f, 0x002e, 0x6007, + 0x000c, 0x0804, 0xb376, 0x080c, 0x56cb, 0x1140, 0x2001, 0xc635, + 0x2004, 0xa084, 0x0009, 0xa086, 0x0008, 0x1110, 0x0804, 0xb1bf, + 0x080c, 0x564d, 0x6618, 0xa6b0, 0x0001, 0x2634, 0xa684, 0x00ff, + 0xa082, 0x0006, 0x06e8, 0x1138, 0x0026, 0x2001, 0x0006, 0x080c, + 0x527e, 0x002e, 0x0050, 0xa6b4, 0xff00, 0x8637, 0xa686, 0x0004, + 0x0120, 0xa686, 0x0006, 0x1904, 0xb267, 0x080c, 0xbe28, 0x1120, + 0x6007, 0x000e, 0x0804, 0xb376, 0x0046, 0x6418, 0xa4a0, 0x0028, + 0x2424, 0xa4a4, 0x00ff, 0x8427, 0x0046, 0x080c, 0x2e0a, 0x004e, + 0x0016, 0xa006, 0x2009, 0xc653, 0x210c, 0xd1a4, 0x0158, 0x2009, + 0x0029, 0x080c, 0xc112, 0x6018, 0x00d6, 0x2068, 0x6800, 0xc0e5, + 0x6802, 0x00de, 0x001e, 0x004e, 0x6007, 0x0001, 0x0804, 0xb376, + 0x2001, 0x0001, 0x080c, 0x523f, 0x0156, 0x0016, 0x0026, 0x0036, + 0x20a9, 0x0004, 0x2019, 0xc605, 0x2011, 0xcc90, 0x080c, 0xa0a2, + 0x003e, 0x002e, 0x001e, 0x015e, 0xa005, 0x0168, 0xa6b4, 0xff00, + 0x8637, 0xa682, 0x0004, 0x0a04, 0xb267, 0xa682, 0x0007, 0x0a04, + 0xb2b5, 0x0804, 0xb267, 0x6013, 0x1900, 0x6007, 0x0009, 0x0804, + 0xb376, 0x080c, 0x56cb, 0x1140, 0x2001, 0xc635, 0x2004, 0xa084, + 0x0009, 0xa086, 0x0008, 0x1110, 0x0804, 0xb1bf, 0x080c, 0x564d, + 0x6618, 0xa6b0, 0x0001, 0x2634, 0xa684, 0x00ff, 0xa082, 0x0006, + 0x06b8, 0xa6b4, 0xff00, 0x8637, 0xa686, 0x0004, 0x0120, 0xa686, + 0x0006, 0x1904, 0xb267, 0x080c, 0xbe50, 0x1138, 0x080c, 0xbd5d, + 0x1120, 0x6007, 0x0010, 0x0804, 0xb376, 0x0046, 0x6418, 0xa4a0, + 0x0028, 0x2424, 0xa4a4, 0x00ff, 0x8427, 0x0046, 0x080c, 0x2e0a, + 0x004e, 0x0016, 0xa006, 0x2009, 0xc653, 0x210c, 0xd1a4, 0x0158, + 0x2009, 0x0029, 0x080c, 0xc112, 0x6018, 0x00d6, 0x2068, 0x6800, + 0xc0e5, 0x6802, 0x00de, 0x001e, 0x004e, 0x6007, 0x0001, 0x00f0, + 0x080c, 0xbfa5, 0x0140, 0xa6b4, 0xff00, 0x8637, 0xa686, 0x0006, + 0x0950, 0x0804, 0xb267, 0x6013, 0x1900, 0x6007, 0x0009, 0x0070, + 0x080c, 0x2f2d, 0x1904, 0xb576, 0x080c, 0xc2fa, 0x1904, 0xb576, + 0x080c, 0xb5da, 0x1904, 0xb267, 0x6007, 0x0012, 0x6003, 0x0001, + 0x080c, 0x79a3, 0x0005, 0x6007, 0x0001, 0x6003, 0x0001, 0x080c, + 0x79a3, 0x0cc0, 0x6007, 0x0005, 0x0cc0, 0x080c, 0xc2fa, 0x1904, + 0xb576, 0x080c, 0x2f2d, 0x1904, 0xb576, 0x080c, 0xb5da, 0x1904, + 0xb267, 0x6007, 0x0020, 0x6003, 0x0001, 0x080c, 0x79a3, 0x0005, + 0x080c, 0x2f2d, 0x1904, 0xb576, 0x6007, 0x0023, 0x6003, 0x0001, + 0x080c, 0x79a3, 0x0005, 0x080c, 0xc2fa, 0x1904, 0xb576, 0x080c, + 0x2f2d, 0x1904, 0xb576, 0x080c, 0xb5da, 0x1904, 0xb267, 0x0016, + 0x0026, 0x2011, 0xcc91, 0x2214, 0xa286, 0xffff, 0x0190, 0x2c08, + 0x080c, 0xac11, 0x01e0, 0x2260, 0x2011, 0xcc90, 0x2214, 0x6008, + 0xa206, 0x11a8, 0x6018, 0xa190, 0x0006, 0x2214, 0xa206, 0x01e8, + 0x0070, 0x2011, 0xcc90, 0x2214, 0x2c08, 0xa006, 0x080c, 0xc0e4, + 0x11a0, 0x2011, 0xcc91, 0x2214, 0xa286, 0xffff, 0x01c0, 0x2160, + 0x6007, 0x0026, 0x6013, 0x1700, 0x2011, 0xcc89, 0x2214, 0xa296, + 0xffff, 0x1180, 0x6007, 0x0025, 0x0068, 0x601c, 0xa086, 0x0007, + 0x1d70, 0x6004, 0xa086, 0x0024, 0x1110, 0x080c, 0x9585, 0x2160, + 0x6007, 0x0025, 0x6003, 0x0001, 0x080c, 0x79a3, 0x002e, 0x001e, + 0x0005, 0x2001, 0x0001, 0x080c, 0x523f, 0x0156, 0x0016, 0x0026, + 0x0036, 0x20a9, 0x0004, 0x2019, 0xc605, 0x2011, 0xcc96, 0x080c, + 0xa0a2, 0x003e, 0x002e, 0x001e, 0x015e, 0x0120, 0x6007, 0x0031, + 0x0804, 0xb376, 0x080c, 0x9d97, 0x080c, 0x5ee2, 0x11b0, 0x0006, + 0x0026, 0x0036, 0x080c, 0x5efe, 0x1158, 0x2001, 0xc8e6, 0x2003, + 0x0001, 0x2001, 0xc600, 0x2003, 0x0001, 0x080c, 0x5e1a, 0x0010, + 0x080c, 0x5eb9, 0x003e, 0x002e, 0x000e, 0x0005, 0x080c, 0x2f2d, + 0x1904, 0xb576, 0x6106, 0x080c, 0xb5f6, 0x6007, 0x002b, 0x0804, + 0xb376, 0x6007, 0x002c, 0x0804, 0xb376, 0x080c, 0xc2fa, 0x1904, + 0xb576, 0x080c, 0x2f2d, 0x1904, 0xb576, 0x080c, 0xb5da, 0x1904, + 0xb267, 0x6106, 0x080c, 0xb5fa, 0x1120, 0x6007, 0x002e, 0x0804, + 0xb376, 0x6007, 0x002f, 0x0804, 0xb376, 0x080c, 0x2f2d, 0x1904, + 0xb576, 0x00e6, 0x00d6, 0x00c6, 0x6018, 0xa080, 0x0001, 0x200c, + 0xa184, 0x00ff, 0xa086, 0x0006, 0x0158, 0xa184, 0xff00, 0x8007, + 0xa086, 0x0006, 0x0128, 0x00ce, 0x00de, 0x00ee, 0x0804, 0xb37b, + 0x2001, 0xc672, 0x2004, 0xd0e4, 0x0904, 0xb4cc, 0x2071, 0xcc8c, + 0x7010, 0x6036, 0x7014, 0x603a, 0x7108, 0x720c, 0x2001, 0xc653, + 0x2004, 0xd0a4, 0x0140, 0x6018, 0x2068, 0x6810, 0xa106, 0x1118, + 0x6814, 0xa206, 0x01f8, 0x2001, 0xc653, 0x2004, 0xd0ac, 0x1590, + 0x2069, 0xc600, 0x6874, 0xa206, 0x1568, 0x6870, 0xa106, 0x1550, + 0x7210, 0x080c, 0xac11, 0x0558, 0x080c, 0xc17e, 0x0540, 0x622a, + 0x6007, 0x0036, 0x6003, 0x0001, 0x080c, 0x795d, 0x00ce, 0x00de, + 0x00ee, 0x0005, 0x7214, 0xa286, 0xffff, 0x0150, 0x080c, 0xac11, + 0x01b0, 0xa280, 0x0002, 0x2004, 0x7110, 0xa106, 0x1180, 0x0c08, + 0x7210, 0x2c08, 0xa085, 0x0001, 0x080c, 0xc0e4, 0x2c10, 0x2160, + 0x0130, 0x08b8, 0x6007, 0x0037, 0x6013, 0x1500, 0x08d8, 0x6007, + 0x0037, 0x6013, 0x1700, 0x08b0, 0x6007, 0x0012, 0x0898, 0x080c, + 0x2f2d, 0x1904, 0xb576, 0x6018, 0xa080, 0x0001, 0x2004, 0xa084, + 0xff00, 0x8007, 0xa086, 0x0006, 0x1904, 0xb37b, 0x00e6, 0x00d6, + 0x00c6, 0x2001, 0xc672, 0x2004, 0xd0e4, 0x0904, 0xb538, 0x2069, + 0xc600, 0x2071, 0xcc8c, 0x7008, 0x6036, 0x720c, 0x623a, 0xa286, + 0xffff, 0x1150, 0x7208, 0x00c6, 0x2c08, 0xa085, 0x0001, 0x080c, + 0xc0e4, 0x2c10, 0x00ce, 0x0588, 0x080c, 0xac11, 0x0570, 0x00c6, + 0x0026, 0x2260, 0x080c, 0xa8ec, 0x002e, 0x00ce, 0x7118, 0xa18c, + 0xff00, 0x810f, 0xa186, 0x0001, 0x0158, 0xa186, 0x0005, 0x0118, + 0xa186, 0x0007, 0x1178, 0xa280, 0x0004, 0x2004, 0xa005, 0x0150, + 0x0056, 0x7510, 0x7614, 0x080c, 0xc195, 0x005e, 0x00ce, 0x00de, + 0x00ee, 0x0005, 0x6007, 0x003b, 0x602b, 0x0009, 0x6013, 0x2a00, + 0x6003, 0x0001, 0x080c, 0x795d, 0x0c88, 0x6007, 0x003b, 0x602b, + 0x0009, 0x6013, 0x1700, 0x6003, 0x0001, 0x080c, 0x795d, 0x0c30, + 0x6007, 0x003b, 0x602b, 0x000b, 0x6013, 0x0000, 0x0804, 0xb4a2, + 0x00e6, 0x0026, 0x080c, 0x56cb, 0x0558, 0x080c, 0x564d, 0x080c, + 0xc375, 0x1520, 0x2071, 0xc600, 0x70d4, 0xc085, 0x70d6, 0x00f6, + 0x2079, 0x0100, 0x72a0, 0xa284, 0x00ff, 0x7072, 0x78e6, 0xa284, + 0xff00, 0x7274, 0xa205, 0x7076, 0x78ea, 0x00fe, 0x70df, 0x0000, + 0x2001, 0xc653, 0x2004, 0xd0a4, 0x0120, 0x2011, 0xc940, 0x2013, + 0x07d0, 0xd0ac, 0x1128, 0x080c, 0x2c28, 0x0010, 0x080c, 0xc3a1, + 0x002e, 0x00ee, 0x080c, 0x9585, 0x0804, 0xb37a, 0x080c, 0x9585, + 0x0005, 0x2600, 0x0002, 0xb584, 0xb5b8, 0xb5c9, 0xb584, 0xb584, + 0xb586, 0xb59f, 0xb584, 0xb584, 0x080c, 0x1515, 0x080c, 0xc2fa, + 0x1d68, 0x080c, 0x2f2d, 0x1d50, 0x080c, 0xb5da, 0x1138, 0x6007, + 0x0045, 0x6003, 0x0001, 0x080c, 0x79a3, 0x0005, 0x080c, 0x2e0a, + 0x6007, 0x0001, 0x6003, 0x0001, 0x080c, 0x79a3, 0x0005, 0x080c, + 0x2f2d, 0x19a0, 0x080c, 0x7653, 0x1160, 0x2e00, 0xa080, 0x0010, + 0x2004, 0x8007, 0xd084, 0x0110, 0x080c, 0xc3aa, 0x080c, 0x9585, + 0x0005, 0x2009, 0x0046, 0x080c, 0xc3d0, 0x080c, 0x9585, 0x0005, + 0x080c, 0x2f2d, 0x1904, 0xb576, 0x2009, 0x0041, 0x080c, 0xc3d0, + 0x6007, 0x0047, 0x6003, 0x0001, 0x080c, 0x79a3, 0x080c, 0x7e54, + 0x0005, 0x080c, 0x2f2d, 0x1904, 0xb576, 0x2009, 0x0042, 0x080c, + 0xc3d0, 0x6007, 0x0047, 0x6003, 0x0001, 0x080c, 0x79a3, 0x080c, + 0x7e54, 0x0005, 0x00d6, 0x0066, 0x6618, 0x2668, 0x6e04, 0xa6b4, + 0xff00, 0x8637, 0xa686, 0x0006, 0x0170, 0xa686, 0x0004, 0x0158, + 0x6e04, 0xa6b4, 0x00ff, 0xa686, 0x0006, 0x0128, 0xa686, 0x0004, + 0x0110, 0xa085, 0x0001, 0x006e, 0x00de, 0x0005, 0x00d6, 0x0449, + 0x00de, 0x0005, 0x00d6, 0x0491, 0x11f0, 0x680c, 0xa08c, 0xff00, + 0x6820, 0xa084, 0x00ff, 0xa115, 0x6212, 0x6824, 0x602a, 0xd1e4, + 0x0118, 0x2009, 0x0001, 0x0060, 0xd1ec, 0x0168, 0x6920, 0xa18c, + 0x00ff, 0x6824, 0x080c, 0x298d, 0x1130, 0x2110, 0x2009, 0x0000, + 0x080c, 0x2e4f, 0x0018, 0xa085, 0x0001, 0x0008, 0xa006, 0x00de, + 0x0005, 0x2069, 0xcc8d, 0x6800, 0xa082, 0x0010, 0x1228, 0x6013, + 0x0000, 0xa085, 0x0001, 0x0008, 0xa006, 0x0005, 0x6013, 0x0000, + 0x2069, 0xcc8c, 0x6808, 0xa084, 0xff00, 0xa086, 0x0800, 0x1140, + 0x6800, 0xa084, 0x00ff, 0xa08e, 0x0014, 0x0110, 0xa08e, 0x0010, + 0x0005, 0x6004, 0xa0b2, 0x0080, 0x1a0c, 0x1515, 0xa1b6, 0x0013, + 0x1130, 0x2008, 0xa1b2, 0x0040, 0x1a04, 0xb743, 0x0092, 0xa1b6, + 0x0027, 0x0120, 0xa1b6, 0x0014, 0x190c, 0x1515, 0x2001, 0x0007, + 0x080c, 0x527e, 0x080c, 0x7d75, 0x080c, 0xade4, 0x080c, 0x7e54, + 0x0005, 0xb6a1, 0xb6a3, 0xb6a1, 0xb6a1, 0xb6a1, 0xb6a3, 0xb6b5, + 0xb73c, 0xb705, 0xb73c, 0xb718, 0xb73c, 0xb6b5, 0xb73c, 0xb734, + 0xb73c, 0xb734, 0xb73c, 0xb73c, 0xb6a1, 0xb6a1, 0xb6a1, 0xb6a1, + 0xb6a1, 0xb6a1, 0xb6a1, 0xb6a1, 0xb6a1, 0xb6a1, 0xb6a1, 0xb6a3, + 0xb6a1, 0xb73c, 0xb6a1, 0xb6a1, 0xb73c, 0xb6a1, 0xb739, 0xb73c, + 0xb6a1, 0xb6a1, 0xb6a1, 0xb6a1, 0xb73c, 0xb73c, 0xb6a1, 0xb73c, + 0xb73c, 0xb6a1, 0xb6af, 0xb6a1, 0xb6a1, 0xb6a1, 0xb6a1, 0xb738, + 0xb73c, 0xb6a1, 0xb6a1, 0xb73c, 0xb73c, 0xb6a1, 0xb6a1, 0xb6a1, + 0xb6a1, 0x080c, 0x1515, 0x080c, 0x7d75, 0x2001, 0xc8fd, 0x2004, + 0x6016, 0x6003, 0x0002, 0x080c, 0x7e54, 0x0804, 0xb742, 0x2001, + 0x0000, 0x080c, 0x523f, 0x0804, 0xb73c, 0x00f6, 0x2079, 0xc652, + 0x7804, 0x00fe, 0xd0ac, 0x1904, 0xb73c, 0x2001, 0x0000, 0x080c, + 0x523f, 0x6018, 0xa080, 0x0004, 0x2004, 0xa086, 0x00ff, 0x1140, + 0x00f6, 0x2079, 0xc600, 0x7898, 0x8000, 0x789a, 0x00fe, 0x00e0, + 0x00c6, 0x6018, 0x2060, 0x6000, 0xd0f4, 0x1140, 0x6010, 0xa005, + 0x0128, 0x00ce, 0x080c, 0x40ac, 0x0804, 0xb73c, 0x00ce, 0x2001, + 0xc600, 0x2004, 0xa086, 0x0002, 0x1138, 0x00f6, 0x2079, 0xc600, + 0x7898, 0x8000, 0x789a, 0x00fe, 0x2001, 0x0002, 0x080c, 0x5251, + 0x080c, 0x7d75, 0x601f, 0x0001, 0x6003, 0x0001, 0x6007, 0x0002, + 0x080c, 0x79a3, 0x080c, 0x7e54, 0x00c6, 0x6118, 0x2160, 0x2009, + 0x0001, 0x080c, 0x6f7d, 0x00ce, 0x04e8, 0x6618, 0x00d6, 0x2668, + 0x6e04, 0x00de, 0xa6b4, 0xff00, 0x8637, 0xa686, 0x0006, 0x0560, + 0xa686, 0x0004, 0x0548, 0x080c, 0x762d, 0x2001, 0x0004, 0x0410, + 0x2001, 0xc600, 0x2004, 0xa086, 0x0003, 0x1110, 0x080c, 0x40ac, + 0x2001, 0x0006, 0x04a1, 0x6618, 0x00d6, 0x2668, 0x6e04, 0x00de, + 0xa6b4, 0xff00, 0x8637, 0xa686, 0x0006, 0x0170, 0x2001, 0x0006, + 0x0048, 0x2001, 0x0004, 0x0030, 0x2001, 0x0006, 0x0401, 0x0020, + 0x0018, 0x0010, 0x080c, 0x527e, 0x080c, 0x7d75, 0x080c, 0x9585, + 0x080c, 0x7e54, 0x0005, 0x2600, 0x0002, 0xb74e, 0xb74e, 0xb74e, + 0xb74e, 0xb74e, 0xb750, 0xb74e, 0xb750, 0xb74e, 0x080c, 0x1515, + 0x080c, 0x7d75, 0x080c, 0x9585, 0x080c, 0x7e54, 0x0005, 0x0016, + 0x00d6, 0x6118, 0x2168, 0x6900, 0xd184, 0x0140, 0x080c, 0x5251, + 0x2001, 0x0000, 0x080c, 0x523f, 0x080c, 0x2e30, 0x00de, 0x001e, + 0x0005, 0x00d6, 0x6618, 0x2668, 0x6804, 0xa084, 0xff00, 0x8007, + 0x00de, 0xa0b2, 0x000c, 0x1a0c, 0x1515, 0xa1b6, 0x0015, 0x1110, + 0x003b, 0x0028, 0xa1b6, 0x0016, 0x190c, 0x1515, 0x006b, 0x0005, + 0x9c7c, 0x9c7c, 0x9c7c, 0x9c7c, 0x9c7c, 0x9c7c, 0xb7d9, 0xb798, + 0x9c7c, 0x9c7c, 0x9c7c, 0x9c7c, 0x9c7c, 0x9c7c, 0x9c7c, 0x9c7c, + 0x9c7c, 0x9c7c, 0xb7d9, 0xb7e0, 0x9c7c, 0x9c7c, 0x9c7c, 0x9c7c, + 0x00f6, 0x2079, 0xc652, 0x7804, 0xd0ac, 0x11e0, 0x6018, 0xa07d, + 0x01c8, 0x7800, 0xd0f4, 0x1118, 0x7810, 0xa005, 0x1198, 0x2001, + 0x0000, 0x080c, 0x523f, 0x2001, 0x0002, 0x080c, 0x5251, 0x601f, + 0x0001, 0x6003, 0x0001, 0x6007, 0x0002, 0x080c, 0x79a3, 0x080c, + 0x7e54, 0x00e8, 0x2011, 0xcc83, 0x2204, 0x8211, 0x220c, 0x080c, + 0x298d, 0x11a8, 0x00c6, 0x080c, 0x52fd, 0x0120, 0x00ce, 0x080c, + 0x9585, 0x0068, 0x6010, 0x0006, 0x6014, 0x0006, 0x080c, 0x4f00, + 0x000e, 0x6016, 0x000e, 0x6012, 0x00ce, 0x080c, 0x9585, 0x00fe, + 0x0005, 0x6604, 0xa6b6, 0x001e, 0x1110, 0x080c, 0x9585, 0x0005, + 0x080c, 0x9f55, 0x1138, 0x6003, 0x0001, 0x6007, 0x0001, 0x080c, + 0x79a3, 0x0010, 0x080c, 0x9585, 0x0005, 0x6004, 0xa08a, 0x0080, + 0x1a0c, 0x1515, 0x080c, 0x7d75, 0x080c, 0xade4, 0x080c, 0x7e54, + 0x0005, 0xa182, 0x0040, 0x0002, 0xb80f, 0xb80f, 0xb80f, 0xb80f, + 0xb811, 0xb80f, 0xb80f, 0xb80f, 0xb80f, 0xb80f, 0xb80f, 0xb80f, + 0xb80f, 0xb80f, 0xb80f, 0xb80f, 0xb80f, 0xb80f, 0xb80f, 0x080c, + 0x1515, 0x00d6, 0x00e6, 0x00f6, 0x0156, 0x0046, 0x0026, 0x6218, + 0xa280, 0x002f, 0x2004, 0xa005, 0x0120, 0x2021, 0x0000, 0x080c, + 0xc346, 0x6106, 0x2071, 0xcc80, 0x7444, 0xa4a4, 0xff00, 0x0904, + 0xb875, 0xa486, 0x2000, 0x1130, 0x2009, 0x0001, 0x2011, 0x0200, + 0x080c, 0x70f2, 0x080c, 0x15fe, 0x090c, 0x1515, 0x6003, 0x0007, + 0x2d00, 0x6837, 0x010d, 0x6803, 0x0000, 0x683b, 0x0000, 0x6c5a, + 0x2c00, 0x685e, 0x6008, 0x68b2, 0x6018, 0x2078, 0x78a0, 0x8007, + 0x7130, 0x694a, 0x0016, 0xa084, 0xff00, 0x6846, 0x684f, 0x0000, + 0x6853, 0x0000, 0x6857, 0x0036, 0x080c, 0x57ca, 0x001e, 0xa486, + 0x2000, 0x1130, 0x2019, 0x0017, 0x080c, 0xc08f, 0x0804, 0xb8d2, + 0xa486, 0x0400, 0x1130, 0x2019, 0x0002, 0x080c, 0xc041, 0x0804, + 0xb8d2, 0xa486, 0x0200, 0x1110, 0x080c, 0xc026, 0xa486, 0x1000, + 0x1110, 0x080c, 0xc074, 0x0804, 0xb8d2, 0x2069, 0xc9bc, 0x6a00, + 0xd284, 0x0904, 0xb935, 0xa284, 0x0300, 0x1904, 0xb92e, 0x6804, + 0xa005, 0x0904, 0xb916, 0x2d78, 0x6003, 0x0007, 0x080c, 0x15e1, + 0x0904, 0xb8d9, 0x7800, 0xd08c, 0x1118, 0x7804, 0x8001, 0x7806, + 0x6013, 0x0000, 0x6803, 0x0000, 0x6837, 0x0116, 0x683b, 0x0000, + 0x6008, 0x68b2, 0x2c00, 0x684a, 0x6018, 0x2078, 0x78a0, 0x8007, + 0x7130, 0x6986, 0x6846, 0x7928, 0x698a, 0x792c, 0x698e, 0x7930, + 0x6992, 0x7934, 0x6996, 0x6853, 0x003d, 0x7244, 0xa294, 0x0003, + 0xa286, 0x0002, 0x1118, 0x684f, 0x0040, 0x0040, 0xa286, 0x0001, + 0x1118, 0x684f, 0x0080, 0x0010, 0x684f, 0x0000, 0x20a9, 0x000a, + 0x2001, 0xcc90, 0xad90, 0x0015, 0x200c, 0x810f, 0x2112, 0x8000, + 0x8210, 0x1f04, 0xb8c4, 0x200c, 0x6982, 0x8000, 0x200c, 0x697e, + 0x080c, 0x57ca, 0x002e, 0x004e, 0x015e, 0x00fe, 0x00ee, 0x00de, + 0x0005, 0x2001, 0xc60e, 0x2004, 0xd084, 0x0120, 0x080c, 0x15fe, + 0x1904, 0xb88a, 0x6013, 0x0100, 0x6003, 0x0001, 0x6007, 0x0041, + 0x080c, 0x795d, 0x080c, 0x7e54, 0x0c28, 0x2069, 0xcc92, 0x2d04, + 0xa084, 0xff00, 0xa086, 0x1200, 0x11a8, 0x2069, 0xcc80, 0x686c, + 0xa084, 0x00ff, 0x0016, 0x6110, 0xa18c, 0x0700, 0xa10d, 0x6112, + 0x001e, 0x6003, 0x0001, 0x6007, 0x0043, 0x080c, 0x795d, 0x080c, + 0x7e54, 0x0840, 0x6013, 0x0200, 0x6003, 0x0001, 0x6007, 0x0041, + 0x080c, 0x795d, 0x080c, 0x7e54, 0x0804, 0xb8d2, 0x2001, 0xc60d, + 0x2004, 0xd0ec, 0x0120, 0x2011, 0x8049, 0x080c, 0x403a, 0x6013, + 0x0300, 0x0010, 0x6013, 0x0100, 0x6003, 0x0001, 0x6007, 0x0041, + 0x080c, 0x795d, 0x080c, 0x7e54, 0x0804, 0xb8d2, 0x6013, 0x0500, + 0x0c98, 0x6013, 0x0600, 0x0804, 0xb8ed, 0x6013, 0x0200, 0x0804, + 0xb8ed, 0xa186, 0x0013, 0x1170, 0x6004, 0xa08a, 0x0040, 0x0a0c, + 0x1515, 0xa08a, 0x0053, 0x1a0c, 0x1515, 0xa082, 0x0040, 0x2008, + 0x0804, 0xb9c3, 0xa186, 0x0051, 0x0138, 0xa186, 0x0047, 0x11d8, + 0x6004, 0xa086, 0x0041, 0x0518, 0x2001, 0x0109, 0x2004, 0xd084, + 0x01f0, 0x0126, 0x2091, 0x2800, 0x0006, 0x0016, 0x0026, 0x080c, + 0x7837, 0x002e, 0x001e, 0x000e, 0x012e, 0x6000, 0xa086, 0x0002, + 0x1170, 0x0804, 0xba06, 0xa186, 0x0027, 0x0120, 0xa186, 0x0014, + 0x190c, 0x1515, 0x6004, 0xa082, 0x0040, 0x2008, 0x001a, 0x080c, + 0x95cc, 0x0005, 0xb98d, 0xb98f, 0xb98f, 0xb9b3, 0xb98d, 0xb98d, + 0xb98d, 0xb98d, 0xb98d, 0xb98d, 0xb98d, 0xb98d, 0xb98d, 0xb98d, + 0xb98d, 0xb98d, 0xb98d, 0xb98d, 0xb98d, 0x080c, 0x1515, 0x080c, + 0x7d75, 0x080c, 0x7e54, 0x0036, 0x00d6, 0x6010, 0xa06d, 0x01c0, + 0xad84, 0xf000, 0x01a8, 0x6003, 0x0002, 0x6018, 0x2004, 0xd0bc, + 0x1178, 0x2019, 0x0004, 0x080c, 0xc0c3, 0x6013, 0x0000, 0x6014, + 0xa005, 0x1120, 0x2001, 0xc8fe, 0x2004, 0x6016, 0x6003, 0x0007, + 0x00de, 0x003e, 0x0005, 0x00d6, 0x080c, 0x7d75, 0x080c, 0x7e54, + 0x080c, 0xac21, 0x0120, 0x6010, 0x2068, 0x080c, 0x1615, 0x080c, + 0xade4, 0x00de, 0x0005, 0x0002, 0xb9d7, 0xb9f4, 0xb9e0, 0xba00, + 0xb9d7, 0xb9d7, 0xb9d7, 0xb9d7, 0xb9d7, 0xb9d7, 0xb9d7, 0xb9d7, + 0xb9d7, 0xb9d7, 0xb9d7, 0xb9d7, 0xb9d7, 0xb9d7, 0xb9d7, 0x080c, + 0x1515, 0x6010, 0xa088, 0x0013, 0x2104, 0xa085, 0x0400, 0x200a, + 0x080c, 0x7d75, 0x6010, 0xa080, 0x0013, 0x2004, 0xd0b4, 0x0138, + 0x6003, 0x0007, 0x2009, 0x0043, 0x080c, 0x95b5, 0x0010, 0x6003, + 0x0002, 0x080c, 0x7e54, 0x0005, 0x080c, 0x7d75, 0x080c, 0xc301, + 0x1120, 0x080c, 0x70c7, 0x080c, 0x9585, 0x080c, 0x7e54, 0x0005, + 0x080c, 0x7d75, 0x2009, 0x0041, 0x0804, 0xbb4f, 0xa182, 0x0040, + 0x0002, 0xba1c, 0xba1e, 0xba1c, 0xba1c, 0xba1c, 0xba1c, 0xba1c, + 0xba1f, 0xba1c, 0xba1c, 0xba1c, 0xba1c, 0xba1c, 0xba1c, 0xba1c, + 0xba1c, 0xba1c, 0xba2a, 0xba1c, 0x080c, 0x1515, 0x0005, 0x6003, + 0x0004, 0x6110, 0x20e1, 0x0005, 0x3d18, 0x3e20, 0x2c10, 0x080c, + 0x1868, 0x0005, 0x00d6, 0x080c, 0x70c7, 0x00de, 0x080c, 0xc364, + 0x080c, 0x9585, 0x0005, 0xa182, 0x0040, 0x0002, 0xba49, 0xba49, + 0xba49, 0xba49, 0xba49, 0xba49, 0xba49, 0xba4b, 0xba49, 0xba4e, + 0xba87, 0xba49, 0xba49, 0xba49, 0xba49, 0xba87, 0xba49, 0xba49, + 0xba49, 0x080c, 0x1515, 0x080c, 0x95cc, 0x0005, 0x2001, 0xc672, + 0x2004, 0xd0e4, 0x0158, 0x2001, 0x0100, 0x2004, 0xa082, 0x0005, + 0x0228, 0x2001, 0x011f, 0x2004, 0x6036, 0x0010, 0x6037, 0x0000, + 0x080c, 0x7e07, 0x080c, 0x7f2e, 0x6010, 0x00d6, 0x2068, 0x684c, + 0xd0fc, 0x0150, 0xa08c, 0x0003, 0xa18e, 0x0002, 0x0168, 0x2009, + 0x0041, 0x00de, 0x0804, 0xbb4f, 0x6003, 0x0007, 0x6017, 0x0000, + 0x080c, 0x70c7, 0x00de, 0x0005, 0x080c, 0xc301, 0x0110, 0x00de, + 0x0005, 0x080c, 0x70c7, 0x080c, 0x9585, 0x00de, 0x0ca0, 0x0036, + 0x080c, 0x7e07, 0x080c, 0x7f2e, 0x6010, 0x00d6, 0x2068, 0x6018, + 0x2004, 0xd0bc, 0x0188, 0x684c, 0xa084, 0x0003, 0xa086, 0x0002, + 0x0140, 0x687c, 0x632c, 0xa31a, 0x632e, 0x6880, 0x6328, 0xa31b, + 0x632a, 0x6003, 0x0002, 0x0080, 0x2019, 0x0004, 0x080c, 0xc0c3, + 0x6014, 0xa005, 0x1128, 0x2001, 0xc8fe, 0x2004, 0x8003, 0x6016, + 0x6013, 0x0000, 0x6003, 0x0007, 0x00de, 0x003e, 0x0005, 0xa186, + 0x0013, 0x1150, 0x6004, 0xa086, 0x0042, 0x190c, 0x1515, 0x080c, + 0x7d75, 0x080c, 0x7e54, 0x0005, 0xa186, 0x0027, 0x0118, 0xa186, + 0x0014, 0x1180, 0x6004, 0xa086, 0x0042, 0x190c, 0x1515, 0x2001, + 0x0007, 0x080c, 0x527e, 0x080c, 0x7d75, 0x080c, 0xade4, 0x080c, + 0x7e54, 0x0005, 0xa182, 0x0040, 0x0002, 0xbaf0, 0xbaf0, 0xbaf0, + 0xbaf0, 0xbaf0, 0xbaf0, 0xbaf0, 0xbaf2, 0xbafe, 0xbaf0, 0xbaf0, + 0xbaf0, 0xbaf0, 0xbaf0, 0xbaf0, 0xbaf0, 0xbaf0, 0xbaf0, 0xbaf0, + 0x080c, 0x1515, 0x0036, 0x0046, 0x20e1, 0x0005, 0x3d18, 0x3e20, + 0x2c10, 0x080c, 0x1868, 0x004e, 0x003e, 0x0005, 0x6010, 0x00d6, + 0x2068, 0x6810, 0x6a14, 0x0006, 0x0046, 0x0056, 0x6c7c, 0xa422, + 0x6d80, 0x2200, 0xa52b, 0x602c, 0xa420, 0x642e, 0x6028, 0xa529, + 0x652a, 0x005e, 0x004e, 0x000e, 0xa20d, 0x1178, 0x684c, 0xd0fc, + 0x0120, 0x2009, 0x0041, 0x00de, 0x0490, 0x6003, 0x0007, 0x6017, + 0x0000, 0x080c, 0x70c7, 0x00de, 0x0005, 0x0006, 0x00f6, 0x2c78, + 0x080c, 0x5683, 0x00fe, 0x000e, 0x0120, 0x6003, 0x0002, 0x00de, + 0x0005, 0x2009, 0xc60d, 0x210c, 0xd19c, 0x0118, 0x6003, 0x0007, + 0x0010, 0x6003, 0x0006, 0x0021, 0x080c, 0x70c9, 0x00de, 0x0005, + 0xd2fc, 0x0140, 0x8002, 0x8000, 0x8212, 0xa291, 0x0000, 0x2009, + 0x0009, 0x0010, 0x2009, 0x0015, 0x6a6a, 0x6866, 0x0005, 0xa182, + 0x0040, 0x0208, 0x0062, 0xa186, 0x0013, 0x0120, 0xa186, 0x0014, + 0x190c, 0x1515, 0x6020, 0xd0dc, 0x090c, 0x1515, 0x0005, 0xbb72, + 0xbb79, 0xbb85, 0xbb91, 0xbb72, 0xbb72, 0xbb72, 0xbba0, 0xbb72, + 0xbb74, 0xbb74, 0xbb72, 0xbb72, 0xbb72, 0xbb72, 0xbb74, 0xbb72, + 0xbb74, 0xbb72, 0x080c, 0x1515, 0x6020, 0xd0dc, 0x090c, 0x1515, + 0x0005, 0x6003, 0x0001, 0x6106, 0x080c, 0x795d, 0x0126, 0x2091, + 0x8000, 0x080c, 0x7e54, 0x012e, 0x0005, 0x6003, 0x0001, 0x6106, + 0x080c, 0x795d, 0x0126, 0x2091, 0x8000, 0x080c, 0x7e54, 0x012e, + 0x0005, 0x6003, 0x0003, 0x6106, 0x2c10, 0x080c, 0x2039, 0x0126, + 0x2091, 0x8000, 0x080c, 0x79c0, 0x080c, 0x7f2e, 0x012e, 0x0005, + 0xa016, 0x080c, 0x1868, 0x0005, 0x0126, 0x2091, 0x8000, 0x0036, + 0x00d6, 0xa182, 0x0040, 0x0023, 0x00de, 0x003e, 0x012e, 0x0005, + 0xbbc0, 0xbbc2, 0xbbd4, 0xbbef, 0xbbc0, 0xbbc0, 0xbbc0, 0xbc04, + 0xbbc0, 0xbbc0, 0xbbc0, 0xbbc0, 0xbbc0, 0xbbc0, 0xbbc0, 0xbbc0, + 0x080c, 0x1515, 0x6010, 0x2068, 0x684c, 0xd0fc, 0x01f8, 0xa09c, + 0x0003, 0xa39e, 0x0003, 0x01d0, 0x6003, 0x0001, 0x6106, 0x080c, + 0x795d, 0x080c, 0x7e54, 0x0498, 0x6010, 0x2068, 0x684c, 0xd0fc, + 0x0168, 0xa09c, 0x0003, 0xa39e, 0x0003, 0x0140, 0x6003, 0x0001, + 0x6106, 0x080c, 0x795d, 0x080c, 0x7e54, 0x0408, 0x6013, 0x0000, + 0x6017, 0x0000, 0x2019, 0x0004, 0x080c, 0xc0c3, 0x00c0, 0x6010, + 0x2068, 0x684c, 0xd0fc, 0x0d90, 0xa09c, 0x0003, 0xa39e, 0x0003, + 0x0d68, 0x6003, 0x0003, 0x6106, 0x2c10, 0x080c, 0x2039, 0x080c, + 0x79c0, 0x080c, 0x7f2e, 0x0018, 0xa016, 0x080c, 0x1868, 0x0005, + 0x080c, 0x7d75, 0x6110, 0x81ff, 0x0158, 0x00d6, 0x2168, 0x080c, + 0xc459, 0x0036, 0x2019, 0x0029, 0x080c, 0xc0c3, 0x003e, 0x00de, + 0x080c, 0xade4, 0x080c, 0x7e54, 0x0005, 0x080c, 0x7e07, 0x6110, + 0x81ff, 0x0158, 0x00d6, 0x2168, 0x080c, 0xc459, 0x0036, 0x2019, + 0x0029, 0x080c, 0xc0c3, 0x003e, 0x00de, 0x080c, 0xade4, 0x080c, + 0x7f2e, 0x0005, 0xa182, 0x0085, 0x0002, 0xbc3e, 0xbc3c, 0xbc3c, + 0xbc4a, 0xbc3c, 0xbc3c, 0xbc3c, 0x080c, 0x1515, 0x6003, 0x000b, + 0x6106, 0x080c, 0x795d, 0x0126, 0x2091, 0x8000, 0x080c, 0x7e54, + 0x012e, 0x0005, 0x0026, 0x00e6, 0x080c, 0xc2fa, 0x0118, 0x080c, + 0x9585, 0x00c8, 0x2071, 0xcc80, 0x7224, 0x6212, 0x7220, 0x080c, + 0xbf71, 0x0118, 0x6007, 0x0086, 0x0040, 0x6007, 0x0087, 0x7224, + 0xa296, 0xffff, 0x1110, 0x6007, 0x0086, 0x6003, 0x0001, 0x080c, + 0x795d, 0x080c, 0x7e54, 0x00ee, 0x002e, 0x0005, 0xa186, 0x0013, + 0x1160, 0x6004, 0xa08a, 0x0085, 0x0a0c, 0x1515, 0xa08a, 0x008c, + 0x1a0c, 0x1515, 0xa082, 0x0085, 0x00a2, 0xa186, 0x0027, 0x0130, + 0xa186, 0x0014, 0x0118, 0x080c, 0x95cc, 0x0050, 0x2001, 0x0007, + 0x080c, 0x527e, 0x080c, 0x7d75, 0x080c, 0xade4, 0x080c, 0x7e54, + 0x0005, 0xbc98, 0xbc9a, 0xbc9a, 0xbc98, 0xbc98, 0xbc98, 0xbc98, + 0x080c, 0x1515, 0x080c, 0x7d75, 0x080c, 0xade4, 0x080c, 0x7e54, + 0x0005, 0xa182, 0x0085, 0x0a0c, 0x1515, 0xa182, 0x008c, 0x1a0c, + 0x1515, 0xa182, 0x0085, 0x0002, 0xbcb3, 0xbcb3, 0xbcb3, 0xbcb5, + 0xbcb3, 0xbcb3, 0xbcb3, 0x080c, 0x1515, 0x0005, 0xa186, 0x0013, + 0x0148, 0xa186, 0x0014, 0x0130, 0xa186, 0x0027, 0x0118, 0x080c, + 0x95cc, 0x0030, 0x080c, 0x7d75, 0x080c, 0xade4, 0x080c, 0x7e54, + 0x0005, 0x0036, 0x080c, 0xc364, 0x603f, 0x0000, 0x2019, 0x000b, + 0x0031, 0x601f, 0x0006, 0x6003, 0x0007, 0x003e, 0x0005, 0x0126, + 0x0036, 0x2091, 0x8000, 0x0086, 0x2c40, 0x0096, 0x2049, 0x0000, + 0x080c, 0x8f72, 0x009e, 0x008e, 0x1578, 0x0076, 0x2c38, 0x080c, + 0x9011, 0x007e, 0x1548, 0x6000, 0xa086, 0x0000, 0x0528, 0x601c, + 0xa086, 0x0007, 0x0508, 0x00d6, 0x6000, 0xa086, 0x0004, 0x1150, + 0x080c, 0xc364, 0x601f, 0x0007, 0x2001, 0xc8fd, 0x2004, 0x6016, + 0x080c, 0x194b, 0x6010, 0x2068, 0x080c, 0xac21, 0x0110, 0x080c, + 0xc0c3, 0x00de, 0x6013, 0x0000, 0x080c, 0xc364, 0x601f, 0x0007, + 0x2001, 0xc8fd, 0x2004, 0x6016, 0x003e, 0x012e, 0x0005, 0x00f6, + 0x00c6, 0x0036, 0x0156, 0x2079, 0xcc80, 0x7938, 0x783c, 0x080c, + 0x298d, 0x15b0, 0x0016, 0x00c6, 0x080c, 0x52fd, 0x1578, 0x001e, + 0x002e, 0x0026, 0x0016, 0x2019, 0x0029, 0x080c, 0x90d4, 0x080c, + 0x7ada, 0x0076, 0x2039, 0x0000, 0x080c, 0x79d2, 0x007e, 0x001e, + 0x0076, 0x2039, 0x0000, 0x080c, 0xbe79, 0x007e, 0x080c, 0x54fe, + 0x0026, 0x6204, 0xa294, 0xff00, 0x8217, 0xa286, 0x0006, 0x0118, + 0xa286, 0x0004, 0x1118, 0x62a0, 0x080c, 0x2ec3, 0x002e, 0x001e, + 0x080c, 0x4f00, 0x6612, 0x6516, 0xa006, 0x0010, 0x00ce, 0x001e, + 0x015e, 0x003e, 0x00ce, 0x00fe, 0x0005, 0x00c6, 0x00d6, 0x00e6, + 0x0016, 0x2009, 0xc621, 0x2104, 0xa086, 0x0074, 0x1904, 0xbdb2, + 0x2069, 0xcc8e, 0x690c, 0xa182, 0x0100, 0x06c0, 0x6908, 0xa184, + 0x8000, 0x05e8, 0x2001, 0xc8e5, 0x2004, 0xa005, 0x1160, 0x6018, + 0x2070, 0x7010, 0xa084, 0x00ff, 0x0118, 0x7000, 0xd0f4, 0x0118, + 0xa184, 0x0800, 0x0560, 0x6910, 0xa18a, 0x0001, 0x0610, 0x6914, + 0x2069, 0xccae, 0x6904, 0x81ff, 0x1198, 0x690c, 0xa182, 0x0100, + 0x02a8, 0x6908, 0x81ff, 0x1178, 0x6910, 0xa18a, 0x0001, 0x0288, + 0x6918, 0xa18a, 0x0001, 0x0298, 0x00d0, 0x6013, 0x0100, 0x00a0, + 0x6013, 0x0300, 0x0088, 0x6013, 0x0500, 0x0070, 0x6013, 0x0700, + 0x0058, 0x6013, 0x0900, 0x0040, 0x6013, 0x0b00, 0x0028, 0x6013, + 0x0f00, 0x0010, 0x6013, 0x2d00, 0xa085, 0x0001, 0x0008, 0xa006, + 0x001e, 0x00ee, 0x00de, 0x00ce, 0x0005, 0x00c6, 0x00d6, 0x0026, + 0x0036, 0x0156, 0x6218, 0x2268, 0x6b04, 0xa394, 0x00ff, 0xa286, + 0x0006, 0x0190, 0xa286, 0x0004, 0x0178, 0xa394, 0xff00, 0x8217, + 0xa286, 0x0006, 0x0148, 0xa286, 0x0004, 0x0130, 0x00c6, 0x2d60, + 0x080c, 0x530c, 0x00ce, 0x04c0, 0x2011, 0xcc96, 0xad98, 0x000a, + 0x20a9, 0x0004, 0x080c, 0xa0a2, 0x1580, 0x2011, 0xcc9a, 0xad98, + 0x0006, 0x20a9, 0x0004, 0x080c, 0xa0a2, 0x1538, 0x0046, 0x0016, + 0x6aa0, 0xa294, 0x00ff, 0x8227, 0xa006, 0x2009, 0xc653, 0x210c, + 0xd1a4, 0x0138, 0x2009, 0x0029, 0x080c, 0xc112, 0x6800, 0xc0e5, + 0x6802, 0x2019, 0x0029, 0x080c, 0x7ada, 0x0076, 0x2039, 0x0000, + 0x080c, 0x79d2, 0x2c08, 0x080c, 0xbe79, 0x007e, 0x2001, 0x0007, + 0x080c, 0x527e, 0x001e, 0x004e, 0xa006, 0x015e, 0x003e, 0x002e, + 0x00de, 0x00ce, 0x0005, 0x00d6, 0x2069, 0xcc8e, 0x6800, 0xa086, + 0x0800, 0x0118, 0x6013, 0x0000, 0x0008, 0xa006, 0x00de, 0x0005, + 0x00c6, 0x00f6, 0x0016, 0x0026, 0x0036, 0x0156, 0x2079, 0xcc8c, + 0x7930, 0x7834, 0x080c, 0x298d, 0x11a0, 0x080c, 0x52fd, 0x1188, + 0x2011, 0xcc90, 0xac98, 0x000a, 0x20a9, 0x0004, 0x080c, 0xa0a2, + 0x1140, 0x2011, 0xcc94, 0xac98, 0x0006, 0x20a9, 0x0004, 0x080c, + 0xa0a2, 0x015e, 0x003e, 0x002e, 0x001e, 0x00fe, 0x00ce, 0x0005, + 0x00c6, 0x0006, 0x0016, 0x0026, 0x0036, 0x0156, 0x2011, 0xcc83, + 0x2204, 0x8211, 0x220c, 0x080c, 0x298d, 0x11a0, 0x080c, 0x52fd, + 0x1188, 0x2011, 0xcc96, 0xac98, 0x000a, 0x20a9, 0x0004, 0x080c, + 0xa0a2, 0x1140, 0x2011, 0xcc9a, 0xac98, 0x0006, 0x20a9, 0x0004, + 0x080c, 0xa0a2, 0x015e, 0x003e, 0x002e, 0x001e, 0x000e, 0x00ce, + 0x0005, 0x00e6, 0x00c6, 0x0086, 0x0076, 0x0066, 0x0056, 0x0046, + 0x0026, 0x0126, 0x2091, 0x8000, 0x2740, 0x2029, 0xc930, 0x252c, + 0x2021, 0xc936, 0x2424, 0x2061, 0xce00, 0x2071, 0xc600, 0x7648, + 0x7068, 0x81ff, 0x0150, 0x0006, 0xa186, 0xca3c, 0x000e, 0x0128, + 0x8001, 0xa602, 0x1a04, 0xbefa, 0x0018, 0xa606, 0x0904, 0xbefa, + 0x2100, 0xac06, 0x0904, 0xbef1, 0x080c, 0xc13a, 0x0904, 0xbef1, + 0x671c, 0xa786, 0x0001, 0x0904, 0xbf43, 0xa786, 0x0004, 0x0904, + 0xbf43, 0xa786, 0x0007, 0x05e8, 0x2500, 0xac06, 0x05d0, 0x2400, + 0xac06, 0x05b8, 0x080c, 0xc14a, 0x15a0, 0x88ff, 0x0118, 0x6050, + 0xa906, 0x1578, 0x00d6, 0x6000, 0xa086, 0x0004, 0x1120, 0x0016, + 0x080c, 0x194b, 0x001e, 0xa786, 0x0008, 0x1148, 0x080c, 0xae1f, + 0x1130, 0x080c, 0x9bab, 0x00de, 0x080c, 0xade4, 0x00d0, 0x6010, + 0x2068, 0x080c, 0xac21, 0x0190, 0xa786, 0x0003, 0x1528, 0x6837, + 0x0103, 0x6b4a, 0x6847, 0x0000, 0x080c, 0xc459, 0x0016, 0x080c, + 0xae93, 0x080c, 0x57ca, 0x001e, 0x080c, 0xadd8, 0x00de, 0x080c, + 0xade4, 0xace0, 0x0018, 0x2001, 0xc617, 0x2004, 0xac02, 0x1210, + 0x0804, 0xbe8d, 0x012e, 0x002e, 0x004e, 0x005e, 0x006e, 0x007e, + 0x008e, 0x00ce, 0x00ee, 0x0005, 0xa786, 0x0006, 0x1150, 0xa386, + 0x0005, 0x0128, 0x080c, 0xc459, 0x080c, 0xc0c3, 0x08f8, 0x00de, + 0x0c00, 0xa786, 0x0009, 0x1548, 0x6000, 0xa086, 0x0004, 0x1128, + 0x00c6, 0x080c, 0x75de, 0x00ce, 0x00e8, 0x6000, 0xa086, 0x0003, + 0x11c8, 0x080c, 0x7e07, 0x00e6, 0x00d6, 0x6110, 0x2168, 0x080c, + 0xac21, 0x0140, 0x6018, 0x2070, 0x70b3, 0x0000, 0x70b7, 0x0000, + 0x080c, 0x57ca, 0x00de, 0x00ee, 0x00c6, 0x080c, 0x9585, 0x00ce, + 0x080c, 0x7f2e, 0x00de, 0x0804, 0xbef1, 0xa786, 0x000a, 0x0904, + 0xbee1, 0x0804, 0xbedf, 0x080c, 0xc14a, 0x1904, 0xbef1, 0x81ff, + 0x0904, 0xbef1, 0xa180, 0x0001, 0x2004, 0xa086, 0x0018, 0x0138, + 0xa180, 0x0001, 0x2004, 0xa086, 0x002d, 0x1904, 0xbef1, 0x6000, + 0xa086, 0x0002, 0x1904, 0xbef1, 0x080c, 0xae0e, 0x0138, 0x080c, + 0xae1f, 0x1904, 0xbef1, 0x080c, 0x9bab, 0x0038, 0x080c, 0x2e30, + 0x080c, 0xae1f, 0x1110, 0x080c, 0x9bab, 0x080c, 0xade4, 0x0804, + 0xbef1, 0x00c6, 0x00e6, 0x0016, 0x2c08, 0x2170, 0xa006, 0x080c, + 0xc0e4, 0x001e, 0x0120, 0x601c, 0xa084, 0x000f, 0x001b, 0x00ee, + 0x00ce, 0x0005, 0xbf8a, 0xbf8a, 0xbf8a, 0xbf8a, 0xbf8a, 0xbf8a, + 0xbf8c, 0xbf8a, 0xa006, 0x0005, 0x0046, 0x0016, 0x7018, 0xa080, + 0x0028, 0x2024, 0xa4a4, 0x00ff, 0x8427, 0x2c00, 0x2009, 0x0020, + 0x080c, 0xc112, 0x001e, 0x004e, 0x0036, 0x2019, 0x0002, 0x080c, + 0xbcd7, 0x003e, 0xa085, 0x0001, 0x0005, 0x2001, 0x0001, 0x080c, + 0x523f, 0x0156, 0x0016, 0x0026, 0x0036, 0x20a9, 0x0004, 0x2019, + 0xc605, 0x2011, 0xcc96, 0x080c, 0xa0a2, 0x003e, 0x002e, 0x001e, + 0x015e, 0xa005, 0x0005, 0x00f6, 0x00e6, 0x00c6, 0x0086, 0x0076, + 0x0066, 0x0026, 0x0126, 0x2091, 0x8000, 0x2740, 0x2061, 0xce00, + 0x2079, 0x0001, 0x8fff, 0x0904, 0xc019, 0x2071, 0xc600, 0x7648, + 0x7068, 0x8001, 0xa602, 0x1a04, 0xc019, 0x88ff, 0x0128, 0x2800, + 0xac06, 0x15b0, 0x2079, 0x0000, 0x080c, 0xc13a, 0x0588, 0x2400, + 0xac06, 0x0570, 0x671c, 0xa786, 0x0006, 0x1550, 0xa786, 0x0007, + 0x0538, 0x88ff, 0x1140, 0x6018, 0xa206, 0x1510, 0x85ff, 0x0118, + 0x6050, 0xa106, 0x11e8, 0x00d6, 0x6000, 0xa086, 0x0004, 0x1150, + 0x080c, 0xc364, 0x601f, 0x0007, 0x2001, 0xc8fd, 0x2004, 0x6016, + 0x080c, 0x194b, 0x6010, 0x2068, 0x080c, 0xac21, 0x0120, 0x0046, + 0x080c, 0xc0c3, 0x004e, 0x00de, 0x080c, 0xade4, 0x88ff, 0x1198, + 0xace0, 0x0018, 0x2001, 0xc617, 0x2004, 0xac02, 0x1210, 0x0804, + 0xbfca, 0xa006, 0x012e, 0x002e, 0x006e, 0x007e, 0x008e, 0x00ce, + 0x00ee, 0x00fe, 0x0005, 0xa8c5, 0x0001, 0x0ca0, 0x0076, 0x0056, + 0x0086, 0x2041, 0x0000, 0x2029, 0x0001, 0x2c20, 0x2019, 0x0002, + 0x6218, 0x0096, 0x2049, 0x0000, 0x080c, 0x8f72, 0x009e, 0x008e, + 0x2039, 0x0000, 0x080c, 0x9011, 0x080c, 0xbfbb, 0x005e, 0x007e, + 0x0005, 0x0026, 0x0046, 0x0056, 0x0076, 0x00c6, 0x0156, 0x2c20, + 0x2128, 0x20a9, 0x007f, 0x2009, 0x0000, 0x0016, 0x0036, 0x080c, + 0x52fd, 0x11b0, 0x2c10, 0x0056, 0x0086, 0x2041, 0x0000, 0x2508, + 0x2029, 0x0001, 0x0096, 0x2049, 0x0000, 0x080c, 0x8f72, 0x009e, + 0x008e, 0x2039, 0x0000, 0x080c, 0x9011, 0x080c, 0xbfbb, 0x005e, + 0x003e, 0x001e, 0x8108, 0x1f04, 0xc04d, 0x015e, 0x00ce, 0x007e, + 0x005e, 0x004e, 0x002e, 0x0005, 0x0076, 0x0056, 0x6218, 0x0086, + 0x2041, 0x0000, 0x2029, 0x0001, 0x2019, 0x0048, 0x0096, 0x2049, + 0x0000, 0x080c, 0x8f72, 0x009e, 0x008e, 0x2039, 0x0000, 0x080c, + 0x9011, 0x2c20, 0x080c, 0xbfbb, 0x005e, 0x007e, 0x0005, 0x0026, + 0x0046, 0x0056, 0x0076, 0x00c6, 0x0156, 0x2c20, 0x20a9, 0x007f, + 0x2009, 0x0000, 0x0016, 0x0036, 0x080c, 0x52fd, 0x11c0, 0x2c10, + 0x0086, 0x2041, 0x0000, 0x2828, 0x0046, 0x2021, 0x0001, 0x080c, + 0xc346, 0x004e, 0x0096, 0x2049, 0x0000, 0x080c, 0x8f72, 0x009e, + 0x008e, 0x2039, 0x0000, 0x080c, 0x9011, 0x080c, 0xbfbb, 0x003e, + 0x001e, 0x8108, 0x1f04, 0xc09a, 0x015e, 0x00ce, 0x007e, 0x005e, + 0x004e, 0x002e, 0x0005, 0x0016, 0x00f6, 0x3800, 0xd08c, 0x0130, + 0xad82, 0x1000, 0x02b0, 0xad82, 0xc600, 0x0230, 0xad82, 0xfe00, + 0x0280, 0xad82, 0xffff, 0x1268, 0x6800, 0xa07d, 0x0138, 0x6803, + 0x0000, 0x6b52, 0x080c, 0x57ca, 0x2f68, 0x0cb0, 0x6b52, 0x080c, + 0x57ca, 0x00fe, 0x001e, 0x0005, 0x00e6, 0x0046, 0x0036, 0x2061, + 0xce00, 0xa005, 0x1138, 0x2071, 0xc600, 0x7448, 0x7068, 0x8001, + 0xa402, 0x12d8, 0x2100, 0xac06, 0x0168, 0x6000, 0xa086, 0x0000, + 0x0148, 0x6008, 0xa206, 0x1130, 0x6018, 0xa1a0, 0x0006, 0x2424, + 0xa406, 0x0140, 0xace0, 0x0018, 0x2001, 0xc617, 0x2004, 0xac02, + 0x1220, 0x0c40, 0xa085, 0x0001, 0x0008, 0xa006, 0x003e, 0x004e, + 0x00ee, 0x0005, 0x00d6, 0x0006, 0x080c, 0x15fe, 0x000e, 0x090c, + 0x1515, 0x6837, 0x010d, 0x685e, 0x0026, 0x2010, 0x080c, 0xac11, + 0x2001, 0x0000, 0x0120, 0x2200, 0xa080, 0x0014, 0x2004, 0x002e, + 0x684a, 0x6956, 0x6c46, 0x684f, 0x0000, 0x2001, 0xc905, 0x2004, + 0x6852, 0xa006, 0x68b2, 0x6802, 0x683a, 0x685a, 0x080c, 0x57ca, + 0x00de, 0x0005, 0x6700, 0xa786, 0x0000, 0x0158, 0xa786, 0x0001, + 0x0140, 0xa786, 0x000a, 0x0128, 0xa786, 0x0009, 0x0110, 0xa085, + 0x0001, 0x0005, 0x00e6, 0x6018, 0x2070, 0x70a0, 0xa206, 0x00ee, + 0x0005, 0x0016, 0x6004, 0xa08e, 0x001e, 0x11a0, 0x8007, 0x6130, + 0xa18c, 0x00ff, 0xa105, 0x6032, 0x6007, 0x0085, 0x6003, 0x000b, + 0x601f, 0x0005, 0x2001, 0xc8fe, 0x2004, 0x6016, 0x080c, 0x795d, + 0x080c, 0x7e54, 0x001e, 0x0005, 0xe000, 0xe000, 0x0005, 0x6020, + 0xd0e4, 0x0158, 0xd0cc, 0x0118, 0x080c, 0xaefc, 0x0030, 0x080c, + 0xc364, 0x080c, 0x70c7, 0x080c, 0x9585, 0x0005, 0xa280, 0x0007, + 0x2004, 0xa084, 0x000f, 0x0002, 0xc18d, 0xc18d, 0xc18d, 0xc192, + 0xc18d, 0xc18f, 0xc18f, 0xc18d, 0xc18f, 0xa006, 0x0005, 0x00c6, + 0x2260, 0x00ce, 0xa085, 0x0001, 0x0005, 0xa280, 0x0007, 0x2004, + 0xa084, 0x000f, 0x0002, 0xc1a4, 0xc1a4, 0xc1a4, 0xc1a4, 0xc1a4, + 0xc1a4, 0xc1af, 0xc1a4, 0xc1a4, 0x6007, 0x003b, 0x602b, 0x0009, + 0x6013, 0x2a00, 0x6003, 0x0001, 0x080c, 0x795d, 0x0005, 0x00c6, + 0x2260, 0x080c, 0xc364, 0x603f, 0x0000, 0x6020, 0xc0f4, 0xc0cc, + 0x6022, 0x6037, 0x0000, 0x00ce, 0x00d6, 0x2268, 0xa186, 0x0007, + 0x1904, 0xc20a, 0x6810, 0xa005, 0x0138, 0xa080, 0x0013, 0x2004, + 0xd0fc, 0x1110, 0x00de, 0x08c0, 0x6007, 0x003a, 0x6003, 0x0001, + 0x080c, 0x795d, 0x080c, 0x7e54, 0x00c6, 0x2d60, 0x6100, 0xa186, + 0x0002, 0x1904, 0xc293, 0x6010, 0xa005, 0x1138, 0x6000, 0xa086, + 0x0007, 0x190c, 0x1515, 0x0804, 0xc293, 0xa08c, 0xf000, 0x1130, + 0x0028, 0x2068, 0x6800, 0xa005, 0x1de0, 0x2d00, 0xa080, 0x0013, + 0x2004, 0xa084, 0x0003, 0xa086, 0x0002, 0x1180, 0x6010, 0x2068, + 0x684c, 0xc0dc, 0xc0f4, 0x684e, 0x6850, 0xc0f4, 0xc0fc, 0x6852, + 0x2009, 0x0043, 0x080c, 0xbb4f, 0x0804, 0xc293, 0x2009, 0x0041, + 0x0804, 0xc28d, 0xa186, 0x0005, 0x15f0, 0x6810, 0xa080, 0x0013, + 0x2004, 0xd0bc, 0x1118, 0x00de, 0x0804, 0xc1a4, 0xd0b4, 0x0128, + 0xd0fc, 0x090c, 0x1515, 0x0804, 0xc1c2, 0x6007, 0x003a, 0x6003, + 0x0001, 0x080c, 0x795d, 0x080c, 0x7e54, 0x00c6, 0x2d60, 0x6100, + 0xa186, 0x0002, 0x0120, 0xa186, 0x0004, 0x1904, 0xc293, 0x2071, + 0xc96a, 0x7000, 0xa086, 0x0003, 0x1128, 0x7004, 0xac06, 0x1110, + 0x7003, 0x0000, 0x6810, 0xa080, 0x0013, 0x200c, 0xc1f4, 0xc1dc, + 0x2102, 0x8000, 0x200c, 0xc1f4, 0xc1fc, 0xc1bc, 0x2102, 0x2009, + 0x0042, 0x0804, 0xc28d, 0x0036, 0x00d6, 0x00d6, 0x080c, 0x15fe, + 0x003e, 0x090c, 0x1515, 0x6837, 0x010d, 0x6803, 0x0000, 0x683b, + 0x0000, 0x685b, 0x0000, 0x6b5e, 0x6857, 0x0045, 0x2c00, 0x6862, + 0x6034, 0x6872, 0x2360, 0x6020, 0xc0dd, 0x6022, 0x6018, 0xa080, + 0x0028, 0x2004, 0xa084, 0x00ff, 0x8007, 0x6350, 0x6b4a, 0x6846, + 0x684f, 0x0000, 0x6853, 0x0000, 0x6d6a, 0x6e66, 0x686f, 0x0001, + 0x080c, 0x57ca, 0x2019, 0x0045, 0x6008, 0x2068, 0x080c, 0xbcd7, + 0x2d00, 0x600a, 0x601f, 0x0006, 0x6003, 0x0007, 0x6017, 0x0000, + 0x603f, 0x0000, 0x00de, 0x003e, 0x0038, 0x603f, 0x0000, 0x6003, + 0x0007, 0x080c, 0xbb4f, 0x00ce, 0x00de, 0x0005, 0xa186, 0x0013, + 0x1128, 0x6004, 0xa082, 0x0085, 0x2008, 0x00c2, 0xa186, 0x0027, + 0x1178, 0x080c, 0x7d75, 0x0036, 0x00d6, 0x6010, 0x2068, 0x2019, + 0x0004, 0x080c, 0xc0c3, 0x00de, 0x003e, 0x080c, 0x7e54, 0x0005, + 0xa186, 0x0014, 0x0d70, 0x080c, 0x95cc, 0x0005, 0xc2bf, 0xc2bd, + 0xc2bd, 0xc2bd, 0xc2bd, 0xc2bd, 0xc2bf, 0x080c, 0x1515, 0x080c, + 0x7d75, 0x6003, 0x000c, 0x080c, 0x7e54, 0x0005, 0xa182, 0x008c, + 0x1220, 0xa182, 0x0085, 0x0208, 0x001a, 0x080c, 0x95cc, 0x0005, + 0xc2d7, 0xc2d7, 0xc2d7, 0xc2d7, 0xc2d9, 0xc2f7, 0xc2d7, 0x080c, + 0x1515, 0x00d6, 0x2c68, 0x080c, 0x952f, 0x01a0, 0x6003, 0x0001, + 0x6007, 0x001e, 0x2009, 0xcc8e, 0x210c, 0x6136, 0x2009, 0xcc8f, + 0x210c, 0x613a, 0x600b, 0xffff, 0x6918, 0x611a, 0x601f, 0x0004, + 0x080c, 0x795d, 0x2d60, 0x080c, 0x9585, 0x00de, 0x0005, 0x080c, + 0x9585, 0x0005, 0x00e6, 0x6018, 0x2070, 0x7000, 0xd0ec, 0x00ee, + 0x0005, 0x6010, 0xa08c, 0xf000, 0x0904, 0xc345, 0xa080, 0x0013, + 0x200c, 0xd1ec, 0x05d0, 0x2001, 0xc672, 0x2004, 0xd0ec, 0x05a8, + 0x6003, 0x0002, 0x6020, 0xc0e5, 0x6022, 0xd1ac, 0x0180, 0x00f6, + 0x2c78, 0x080c, 0x567f, 0x00fe, 0x0150, 0x2001, 0xc8ff, 0x2004, + 0x603e, 0x2009, 0xc672, 0x210c, 0xd1f4, 0x11e8, 0x0080, 0x2009, + 0xc672, 0x210c, 0xd1f4, 0x0128, 0x6020, 0xc0e4, 0x6022, 0xa006, + 0x00a0, 0x2001, 0xc8ff, 0x200c, 0x8103, 0xa100, 0x603e, 0x6018, + 0xa088, 0x002f, 0x2104, 0xa005, 0x0118, 0xa088, 0x0003, 0x0cd0, + 0x2c0a, 0x600f, 0x0000, 0xa085, 0x0001, 0x0005, 0x0016, 0x00c6, + 0x00e6, 0x6150, 0xa2f0, 0x002f, 0x2e04, 0x2060, 0x8cff, 0x0180, + 0x84ff, 0x1118, 0x6050, 0xa106, 0x1138, 0x600c, 0x2072, 0x080c, + 0x70c7, 0x080c, 0x9585, 0x0010, 0xacf0, 0x0003, 0x2e64, 0x0c70, + 0x00ee, 0x00ce, 0x001e, 0x0005, 0x00d6, 0x6018, 0xa0e8, 0x002f, + 0x2d04, 0xa005, 0x0140, 0xac06, 0x0120, 0x2d04, 0xa0e8, 0x0003, + 0x0cb8, 0x600c, 0x206a, 0x00de, 0x0005, 0x0026, 0x0036, 0x0156, + 0x2011, 0xc628, 0x2204, 0xa084, 0x00ff, 0x2019, 0xcc8e, 0x2334, + 0xa636, 0x11d8, 0x8318, 0x2334, 0x2204, 0xa084, 0xff00, 0xa636, + 0x11a0, 0x2011, 0xcc90, 0x6018, 0xa098, 0x000a, 0x20a9, 0x0004, + 0x080c, 0xa0a2, 0x1150, 0x2011, 0xcc94, 0x6018, 0xa098, 0x0006, + 0x20a9, 0x0004, 0x080c, 0xa0a2, 0x1100, 0x015e, 0x003e, 0x002e, + 0x0005, 0x00e6, 0x2071, 0xc600, 0x080c, 0x4ebb, 0x080c, 0x2c28, + 0x00ee, 0x0005, 0x00d6, 0x080c, 0x15e1, 0x0500, 0x2d10, 0xa290, + 0x000d, 0x2013, 0x0134, 0x8210, 0x2013, 0x0000, 0x8210, 0x703c, + 0x2012, 0x8210, 0x7038, 0x2012, 0x8210, 0x2218, 0x7048, 0x2012, + 0x8210, 0x704c, 0x2012, 0x8210, 0x7050, 0x2012, 0x8210, 0x7054, + 0x2012, 0x2300, 0x080c, 0x3e4c, 0x080c, 0x57ca, 0x00de, 0x0005, + 0x00d6, 0x0026, 0x080c, 0x15fe, 0x090c, 0x1515, 0xad90, 0x000e, + 0x20a9, 0x000c, 0x22a0, 0xa016, 0x42a4, 0xa186, 0x0046, 0x1118, + 0x6837, 0x0136, 0x0038, 0x6837, 0x0138, 0xa186, 0x0041, 0x0110, + 0x684b, 0x0001, 0x7038, 0xa084, 0xff00, 0x7240, 0xa294, 0xff00, + 0x8007, 0xa215, 0x6a6a, 0xa186, 0x0046, 0x1168, 0x7038, 0xa084, + 0x00ff, 0x723c, 0xa294, 0xff00, 0xa215, 0x6a6e, 0x723c, 0xa294, + 0x00ff, 0x6a72, 0x0060, 0x7040, 0xa084, 0x00ff, 0x7244, 0xa294, + 0xff00, 0xa215, 0x6a6e, 0x7244, 0xa294, 0x00ff, 0x6a72, 0xa186, + 0x0046, 0x1118, 0xae90, 0x0012, 0x0010, 0xae90, 0x001a, 0x2204, + 0x8007, 0x6876, 0x8210, 0x2204, 0x8007, 0x687a, 0x8210, 0x2204, + 0x8007, 0x687e, 0x8210, 0x2204, 0x8007, 0x6882, 0x8210, 0xa186, + 0x0046, 0x1118, 0xae90, 0x0016, 0x0010, 0xae90, 0x001e, 0x2204, + 0x8007, 0x6886, 0x8210, 0x2204, 0x8007, 0x688a, 0x8210, 0x2204, + 0x8007, 0x688e, 0x8210, 0x2204, 0x8007, 0x6892, 0x8210, 0xa186, + 0x0046, 0x1118, 0xae90, 0x0022, 0x0010, 0xae90, 0x002a, 0x00d6, + 0xade8, 0x0025, 0x20a9, 0x0008, 0x2204, 0x8007, 0x206a, 0x8210, + 0x8d68, 0x1f04, 0xc44c, 0x00de, 0x002e, 0x080c, 0x57ca, 0x00de, + 0x0005, 0x00e6, 0x6018, 0x2070, 0x7000, 0xd0fc, 0x0108, 0x0011, + 0x00ee, 0x0005, 0x6850, 0xc0e5, 0x6852, 0x0005, 0x00e6, 0x00c6, + 0x0076, 0x0066, 0x0056, 0x0046, 0x0026, 0x0016, 0x0126, 0x2091, + 0x8000, 0x2029, 0xc930, 0x252c, 0x2021, 0xc936, 0x2424, 0x2061, + 0xce00, 0x2071, 0xc600, 0x7648, 0x7068, 0xa606, 0x0578, 0x671c, + 0xa786, 0x0001, 0x0118, 0xa786, 0x0008, 0x1500, 0x2500, 0xac06, + 0x01e8, 0x2400, 0xac06, 0x01d0, 0x080c, 0xc13a, 0x01b8, 0x080c, + 0xc14a, 0x11a0, 0x6000, 0xa086, 0x0004, 0x1120, 0x0016, 0x080c, + 0x194b, 0x001e, 0x080c, 0xae0e, 0x1110, 0x080c, 0x2e30, 0x080c, + 0xae1f, 0x1110, 0x080c, 0x9bab, 0x080c, 0xade4, 0xace0, 0x0018, + 0x2001, 0xc617, 0x2004, 0xac02, 0x1208, 0x0858, 0x012e, 0x001e, + 0x002e, 0x004e, 0x005e, 0x006e, 0x007e, 0x00ce, 0x00ee, 0x0005, + 0x0126, 0x0006, 0x00e6, 0x0016, 0x2091, 0x8000, 0x2071, 0xc640, + 0xd5a4, 0x0118, 0x7034, 0x8000, 0x7036, 0xd5b4, 0x0118, 0x7030, + 0x8000, 0x7032, 0xd5ac, 0x0178, 0x2500, 0xa084, 0x0007, 0xa08e, + 0x0003, 0x0148, 0xa08e, 0x0004, 0x0130, 0xa08e, 0x0005, 0x0118, + 0x2071, 0xc64a, 0x04c9, 0x001e, 0x00ee, 0x000e, 0x012e, 0x0005, + 0x0126, 0x0006, 0x00e6, 0x0016, 0x2091, 0x8000, 0x2071, 0xc640, + 0xd5a4, 0x0118, 0x7034, 0x8000, 0x7036, 0xd5b4, 0x0118, 0x7030, + 0x8000, 0x7032, 0xd5ac, 0x0178, 0x2500, 0xa084, 0x0007, 0xa08e, + 0x0003, 0x0148, 0xa08e, 0x0004, 0x0130, 0xa08e, 0x0005, 0x0118, + 0x2071, 0xc64a, 0x0089, 0x001e, 0x00ee, 0x000e, 0x012e, 0x0005, + 0x0126, 0x0006, 0x00e6, 0x2091, 0x8000, 0x2071, 0xc642, 0x0021, + 0x00ee, 0x000e, 0x012e, 0x0005, 0x2e04, 0x8000, 0x2072, 0x1220, + 0x8e70, 0x2e04, 0x8000, 0x2072, 0x0005, 0x00e6, 0x2071, 0xc640, + 0x0c99, 0x00ee, 0x0005, 0x00e6, 0x2071, 0xc644, 0x0c69, 0x00ee, + 0x0005, 0x0126, 0x0006, 0x00e6, 0x2091, 0x8000, 0x2071, 0xc640, + 0x7044, 0x8000, 0x7046, 0x00ee, 0x000e, 0x012e, 0x0005, 0x0001, + 0x0002, 0x0004, 0x0008, 0x0010, 0x0020, 0x0040, 0x0080, 0x0100, + 0x0200, 0x0400, 0x0800, 0x1000, 0x2000, 0x4000, 0x8000, 0xbb49 +}; +#ifdef UNIQUE_FW_NAME +unsigned short fw2200ip_length01 = 0xb548; +#else +unsigned short risc_code_length01 = 0xb548; +#endif + diff -urNp 2.4.19rc1/drivers/scsi/qla2xxx/ql2300_fw.h qlogic/drivers/scsi/qla2xxx/ql2300_fw.h --- 2.4.19rc1/drivers/scsi/qla2xxx/ql2300_fw.h Thu Jan 1 01:00:00 1970 +++ qlogic/drivers/scsi/qla2xxx/ql2300_fw.h Mon Jul 8 12:05:21 2002 @@ -0,0 +1,6199 @@ +/****************************************************************************** + * QLOGIC LINUX SOFTWARE + * + * QLogic ISP2x00 device driver for Linux 2.4.x + * Copyright (C) 2002 Qlogic Corporation + * (www.qlogic.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, 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. + * + ******************************************************************************/ + +/************************************************************************ + * * + * --- ISP2300 Initiator/Target Firmware --- * + * with Fabric (Public Loop), Point-point, and * + * expanded LUN addressing for FCTAPE * + * * + ************************************************************************ + */ +/* + * Firmware Version 3.01.11 (14:56 Jul 02, 2002) + */ + +#ifdef UNIQUE_FW_NAME +unsigned short fw2300tp_version = 3*1024+1; +#else +unsigned short risc_code_version = 3*1024+1; +#endif + +#ifdef UNIQUE_FW_NAME +unsigned char fw2300tp_version_str[] = {3, 1,11}; +#else +unsigned char firmware_version[] = {3, 1,11}; +#endif + +#ifdef UNIQUE_FW_NAME +#define fw2300tp_VERSION_STRING "3.01.11" +#else +#define FW_VERSION_STRING "3.01.11" +#endif + +#ifdef UNIQUE_FW_NAME +unsigned short fw2300tp_addr01 = 0x0800 ; +#else +unsigned short risc_code_addr01 = 0x0800 ; +#endif + +#ifdef UNIQUE_FW_NAME +unsigned short fw2300tp_code01[] = { +#else +unsigned short risc_code01[] = { +#endif + 0x0470, 0x0000, 0x0000, 0xbfa0, 0x0000, 0x0003, 0x0001, 0x000b, + 0x0017, 0x2043, 0x4f50, 0x5952, 0x4947, 0x4854, 0x2032, 0x3030, + 0x3120, 0x514c, 0x4f47, 0x4943, 0x2043, 0x4f52, 0x504f, 0x5241, + 0x5449, 0x4f4e, 0x2049, 0x5350, 0x3233, 0x3030, 0x2046, 0x6972, + 0x6d77, 0x6172, 0x6520, 0x2056, 0x6572, 0x7369, 0x6f6e, 0x2030, + 0x332e, 0x3031, 0x2e31, 0x3120, 0x2020, 0x2020, 0x2400, 0x20a9, + 0x000f, 0x2001, 0x0000, 0x400f, 0x2091, 0x2200, 0x20a9, 0x000f, + 0x2001, 0x0000, 0x400f, 0x2091, 0x2400, 0x20a9, 0x000f, 0x2001, + 0x0000, 0x400f, 0x2091, 0x2600, 0x20a9, 0x000f, 0x2001, 0x0000, + 0x400f, 0x2091, 0x2800, 0x20a9, 0x000f, 0x2001, 0x0000, 0x400f, + 0x2091, 0x2a00, 0x20a9, 0x000f, 0x2001, 0x0000, 0x400f, 0x2091, + 0x2c00, 0x20a9, 0x000f, 0x2001, 0x0000, 0x400f, 0x2091, 0x2e00, + 0x20a9, 0x000f, 0x2001, 0x0000, 0x400f, 0x2091, 0x2000, 0x2001, + 0x0000, 0x20c1, 0x0004, 0x2001, 0x017f, 0x2003, 0x0000, 0x20c9, + 0x14ff, 0x2059, 0x0000, 0x2b78, 0x7883, 0x0004, 0x2089, 0x238d, + 0x2051, 0x1100, 0x2a70, 0x20e1, 0x0001, 0x20e9, 0x0001, 0x2029, + 0x45c0, 0x2031, 0xffff, 0x2039, 0x45a9, 0x2021, 0x0200, 0x20e9, + 0x0001, 0x20a1, 0x1000, 0x900e, 0x20a9, 0x05c0, 0x4104, 0x7566, + 0x766a, 0x7762, 0x746e, 0x7472, 0x20a1, 0x15c0, 0x7168, 0x810d, + 0x810d, 0x810d, 0x810d, 0x918c, 0x000f, 0x2001, 0x0001, 0x9112, + 0x900e, 0x21a8, 0x4104, 0x8211, 0x1de0, 0x7168, 0x3400, 0x8001, + 0x9102, 0x0120, 0x0218, 0x20a8, 0x900e, 0x4104, 0x2009, 0x1100, + 0x810d, 0x810d, 0x810d, 0x810d, 0x810d, 0x918c, 0x001f, 0x2001, + 0x0001, 0x9112, 0x20e9, 0x0001, 0x20a1, 0x0800, 0x900e, 0x20a9, + 0x0800, 0x4104, 0x8211, 0x1dd8, 0x2009, 0x1100, 0x3400, 0x9102, + 0x0120, 0x0218, 0x20a8, 0x900e, 0x4104, 0x080c, 0x0ece, 0x080c, + 0x107b, 0x080c, 0x15ac, 0x080c, 0x0cdd, 0x080c, 0x50dd, 0x080c, + 0x8dea, 0x080c, 0x0e38, 0x080c, 0x2a64, 0x080c, 0x6584, 0x080c, + 0x58d4, 0x080c, 0x711b, 0x080c, 0x1bc7, 0x080c, 0x7402, 0x080c, + 0x6bc0, 0x080c, 0x198d, 0x080c, 0x1b3c, 0x080c, 0x1bbc, 0x2091, + 0x3009, 0x7883, 0x0000, 0x1004, 0x090b, 0x7880, 0x9086, 0x0002, + 0x1190, 0x7883, 0x4000, 0x7837, 0x4000, 0x7833, 0x0010, 0x0e04, + 0x08ff, 0x2091, 0x5000, 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, + 0xd084, 0x190c, 0x0f7c, 0x2a70, 0x7003, 0x0000, 0x2a70, 0x7000, + 0x908e, 0x0003, 0x1168, 0x080c, 0x3f48, 0x080c, 0x2a8a, 0x080c, + 0x65e7, 0x080c, 0x5da9, 0x080c, 0x7142, 0x080c, 0x2330, 0x0c70, + 0x000b, 0x0c88, 0x092c, 0x092d, 0x0a84, 0x092a, 0x0b56, 0x0cda, + 0x0cdb, 0x0cdc, 0x080c, 0x0d4e, 0x0005, 0x0126, 0x00f6, 0x2091, + 0x8000, 0x7000, 0x9086, 0x0001, 0x1904, 0x0a61, 0x7034, 0xd0b4, + 0x1130, 0x0026, 0x2011, 0x0080, 0x080c, 0x0ded, 0x002e, 0x080c, + 0x62c5, 0x0150, 0x080c, 0x62eb, 0x1590, 0x2079, 0x0100, 0x7828, + 0x9085, 0x1800, 0x782a, 0x0458, 0x080c, 0x61f5, 0x7000, 0x9086, + 0x0001, 0x1904, 0x0a61, 0x7090, 0x9086, 0x0028, 0x1904, 0x0a61, + 0x2001, 0x0161, 0x2003, 0x0001, 0x2079, 0x0100, 0x7827, 0xffff, + 0x7a28, 0x9295, 0x1e2f, 0x7a2a, 0x2011, 0x618c, 0x080c, 0x71e2, + 0x2011, 0x617f, 0x080c, 0x72a4, 0x2011, 0x4f44, 0x080c, 0x71e2, + 0x2011, 0x8030, 0x2019, 0x0000, 0x708f, 0x0000, 0x00d8, 0x080c, + 0x481a, 0x2079, 0x0100, 0x7844, 0x9005, 0x1904, 0x0a61, 0x2011, + 0x4f44, 0x080c, 0x71e2, 0x2001, 0x0265, 0x2001, 0x0205, 0x2003, + 0x0000, 0x780f, 0x006b, 0x7840, 0x9084, 0xfffb, 0x7842, 0x2011, + 0x8010, 0x73d0, 0x080c, 0x2205, 0x080c, 0x3ecb, 0x7240, 0xc284, + 0x7242, 0x2001, 0x110c, 0x200c, 0xc1ac, 0xc1cc, 0x2102, 0x080c, + 0x8714, 0x2011, 0x0004, 0x080c, 0xa859, 0x080c, 0x57e0, 0x080c, + 0x62c5, 0x1120, 0x080c, 0x2249, 0x02c8, 0x00e8, 0x080c, 0x5099, + 0x0140, 0x708f, 0x0001, 0x70cb, 0x0000, 0x080c, 0x49d6, 0x0804, + 0x0a61, 0x2001, 0x1153, 0x2004, 0xd094, 0x0168, 0x2011, 0x110c, + 0x2204, 0xc0cd, 0x2012, 0x080c, 0x2249, 0x1250, 0x2011, 0x110c, + 0x2204, 0xc0bc, 0x0098, 0x2011, 0x110c, 0x2204, 0xc0bd, 0x0070, + 0x2011, 0x110c, 0x2204, 0xc0bd, 0x2012, 0x2001, 0x1153, 0x2004, + 0xd0ac, 0x1128, 0xd0a4, 0x0118, 0x2204, 0xc0fd, 0x2012, 0x080c, + 0x589c, 0x0120, 0x7a0c, 0xc2b4, 0x7a0e, 0x0060, 0x7077, 0x0000, + 0x080c, 0xac47, 0x70d4, 0xd09c, 0x1128, 0x70a4, 0x9005, 0x0110, + 0x080c, 0x5077, 0x70df, 0x0000, 0x70db, 0x0000, 0x72d4, 0x080c, + 0x62c5, 0x1178, 0x2011, 0x0000, 0x0016, 0x080c, 0x1fee, 0x2019, + 0x1298, 0x211a, 0x001e, 0x7057, 0xffff, 0x705b, 0x00ef, 0x707b, + 0x0000, 0x2079, 0x1152, 0x7804, 0xd0ac, 0x0108, 0xc295, 0x72d6, + 0x080c, 0x62c5, 0x0118, 0x9296, 0x0004, 0x0548, 0x2011, 0x0001, + 0x080c, 0xa859, 0x709f, 0x0000, 0x70a3, 0xffff, 0x7003, 0x0002, + 0x2079, 0x0100, 0x7827, 0x0003, 0x7828, 0x9085, 0x0003, 0x782a, + 0x00fe, 0x080c, 0x2658, 0x2011, 0x0005, 0x080c, 0x885b, 0x080c, + 0x7a7b, 0x080c, 0x62c5, 0x0148, 0x00c6, 0x2061, 0x0100, 0x0016, + 0x080c, 0x1fee, 0x61e2, 0x001e, 0x00ce, 0x012e, 0x0420, 0x709f, + 0x0000, 0x70a3, 0xffff, 0x7003, 0x0002, 0x00f6, 0x2079, 0x0100, + 0x7827, 0x0003, 0x7828, 0x9085, 0x0003, 0x782a, 0x00fe, 0x2011, + 0x0005, 0x080c, 0x885b, 0x080c, 0x7a7b, 0x080c, 0x62c5, 0x0148, + 0x00c6, 0x2061, 0x0100, 0x0016, 0x080c, 0x1fee, 0x61e2, 0x001e, + 0x00ce, 0x00fe, 0x012e, 0x0005, 0x00c6, 0x080c, 0x62c5, 0x1118, + 0x20a9, 0x0100, 0x0010, 0x20a9, 0x0082, 0x080c, 0x62c5, 0x1118, + 0x2009, 0x0000, 0x0010, 0x2009, 0x007e, 0x080c, 0x2937, 0x8108, + 0x1f04, 0x0a75, 0x00ce, 0x7077, 0x0000, 0x7078, 0x9084, 0x00ff, + 0x707a, 0x70a7, 0x0000, 0x0005, 0x0126, 0x2091, 0x8000, 0x7000, + 0x9086, 0x0002, 0x1904, 0x0b54, 0x70a0, 0x9086, 0xffff, 0x0130, + 0x080c, 0x2658, 0x080c, 0x7a7b, 0x0804, 0x0b54, 0x70d4, 0xd0ac, + 0x1110, 0xd09c, 0x0520, 0xd084, 0x0510, 0x0006, 0x2001, 0x0103, + 0x2003, 0x002b, 0x000e, 0xd08c, 0x01d0, 0x70d8, 0x9086, 0xffff, + 0x0190, 0x080c, 0x27c0, 0x080c, 0x7a7b, 0x70d4, 0xd094, 0x1904, + 0x0b54, 0x2011, 0x0001, 0x2019, 0x0000, 0x080c, 0x27f6, 0x080c, + 0x7a7b, 0x0804, 0x0b54, 0x70dc, 0x9005, 0x1904, 0x0b54, 0x709c, + 0x9005, 0x1904, 0x0b54, 0x70d4, 0xd0a4, 0x0118, 0xd0b4, 0x0904, + 0x0b54, 0x080c, 0x589c, 0x1904, 0x0b54, 0x2001, 0x1153, 0x2004, + 0xd0ac, 0x01c8, 0x0156, 0x00c6, 0x20a9, 0x007f, 0x2009, 0x0000, + 0x0016, 0x080c, 0x560e, 0x1118, 0x6000, 0xd0ec, 0x1138, 0x001e, + 0x8108, 0x1f04, 0x0ad8, 0x00ce, 0x015e, 0x0028, 0x001e, 0x00ce, + 0x015e, 0x0804, 0x0b54, 0x0006, 0x2001, 0x0103, 0x2003, 0x006b, + 0x000e, 0x9006, 0x2009, 0x0700, 0x20a9, 0x0002, 0x20a1, 0x12f1, + 0x20e9, 0x0001, 0x4001, 0x7074, 0x8007, 0x7178, 0x810f, 0x20a9, + 0x0002, 0x4001, 0x2009, 0x0000, 0x080c, 0x0d34, 0x2001, 0x0000, + 0x810f, 0x20a9, 0x0002, 0x4001, 0x9006, 0x2009, 0x0200, 0x20a9, + 0x0002, 0x20a1, 0x1301, 0x4001, 0x7030, 0xc08c, 0x7032, 0x7003, + 0x0003, 0x70a3, 0xffff, 0x7034, 0xd0b4, 0x1130, 0x0026, 0x2011, + 0x0040, 0x080c, 0x0ded, 0x002e, 0x9006, 0x080c, 0x1eae, 0x0036, + 0x0046, 0x2019, 0xffff, 0x2021, 0x0006, 0x080c, 0x3fce, 0x004e, + 0x003e, 0x00f6, 0x2079, 0x0100, 0x080c, 0x62eb, 0x0150, 0x080c, + 0x62c5, 0x7828, 0x0118, 0x9084, 0xe1ff, 0x0010, 0x9084, 0xffdf, + 0x782a, 0x00fe, 0x2001, 0x1304, 0x2004, 0x9086, 0x0005, 0x1120, + 0x2011, 0x0000, 0x080c, 0x885b, 0x2011, 0x0000, 0x080c, 0x8865, + 0x080c, 0x7a7b, 0x080c, 0x7b49, 0x012e, 0x0005, 0x0016, 0x0046, + 0x00f6, 0x0126, 0x2091, 0x8000, 0x2079, 0x0100, 0x7904, 0x918c, + 0xfffd, 0x7906, 0x2009, 0x00f7, 0x080c, 0x5060, 0x7940, 0x918c, + 0x0010, 0x7942, 0x7924, 0xd1b4, 0x0110, 0x7827, 0x0040, 0xd19c, + 0x0110, 0x7827, 0x0008, 0x0006, 0x0036, 0x0156, 0x7954, 0xd1ac, + 0x1904, 0x0be4, 0x080c, 0x22c8, 0x1148, 0x2001, 0x0001, 0x080c, + 0x2234, 0x2001, 0x0001, 0x080c, 0x2217, 0x00b8, 0x080c, 0x22d0, + 0x1138, 0x9006, 0x080c, 0x2234, 0x9006, 0x080c, 0x2217, 0x0068, + 0x080c, 0x22d8, 0x1d50, 0x2001, 0x12d2, 0x2004, 0xd0fc, 0x0108, + 0x0020, 0x080c, 0x201b, 0x0804, 0x0cb8, 0x080c, 0x62d7, 0x0158, + 0x080c, 0x62eb, 0x1128, 0x2001, 0x12a7, 0x2003, 0x0000, 0x0070, + 0x080c, 0x62cd, 0x0dc0, 0x2001, 0x12a7, 0x2003, 0xaaaa, 0x2001, + 0x12a8, 0x2003, 0x0001, 0x080c, 0x61f5, 0x0058, 0x080c, 0x62c5, + 0x0140, 0x2009, 0x00f8, 0x080c, 0x5060, 0x7843, 0x0090, 0x7843, + 0x0010, 0x20a9, 0x09c4, 0x7820, 0xd09c, 0x1138, 0x080c, 0x62c5, + 0x0138, 0x7824, 0xd0ac, 0x1904, 0x0cbd, 0x1f04, 0x0bc3, 0x0070, + 0x7824, 0x080c, 0x62e1, 0x0118, 0xd0ac, 0x1904, 0x0cbd, 0x9084, + 0x1800, 0x0d98, 0x7003, 0x0001, 0x0804, 0x0cbd, 0x2001, 0x0001, + 0x080c, 0x1eae, 0x0804, 0x0ccb, 0x080c, 0x22c8, 0x1148, 0x2001, + 0x0001, 0x080c, 0x2234, 0x2001, 0x0001, 0x080c, 0x2217, 0x00b8, + 0x080c, 0x22d0, 0x1138, 0x9006, 0x080c, 0x2234, 0x9006, 0x080c, + 0x2217, 0x0068, 0x080c, 0x22d8, 0x1d50, 0x2001, 0x12d2, 0x2004, + 0xd0fc, 0x0108, 0x0020, 0x080c, 0x201b, 0x0804, 0x0cb8, 0x7850, + 0x9085, 0x0040, 0x7852, 0x7938, 0x7850, 0x9084, 0xfbcf, 0x7852, + 0x080c, 0x22e0, 0x9085, 0x2000, 0x7852, 0x793a, 0x20a9, 0x0046, + 0x1d04, 0x0c18, 0x080c, 0x728a, 0x1f04, 0x0c18, 0x7850, 0x9085, + 0x0400, 0x9084, 0xdfbf, 0x7852, 0x793a, 0x080c, 0x62d7, 0x0158, + 0x080c, 0x62eb, 0x1128, 0x2001, 0x12a7, 0x2003, 0x0000, 0x0070, + 0x080c, 0x62cd, 0x0dc0, 0x2001, 0x12a7, 0x2003, 0xaaaa, 0x2001, + 0x12a8, 0x2003, 0x0001, 0x080c, 0x61f5, 0x0020, 0x2009, 0x00f8, + 0x080c, 0x5060, 0x20a9, 0x0028, 0xa001, 0x1f04, 0x0c44, 0x7850, + 0x9085, 0x1400, 0x7852, 0x080c, 0x62c5, 0x0120, 0x7843, 0x0090, + 0x7843, 0x0010, 0x2021, 0xe678, 0x2019, 0xea60, 0x7820, 0xd09c, + 0x1550, 0x080c, 0x62c5, 0x0904, 0x0c9d, 0x7824, 0xd0ac, 0x1904, + 0x0cbd, 0x080c, 0x62eb, 0x11f8, 0x0046, 0x2021, 0x0320, 0x8421, + 0x1df0, 0x004e, 0x7827, 0x1800, 0x080c, 0x22e0, 0x7824, 0x9084, + 0x1800, 0x1110, 0x8421, 0x1178, 0x1d04, 0x0c78, 0x080c, 0x728a, + 0x2001, 0x12a7, 0x2003, 0xaaaa, 0x2001, 0x12a8, 0x2003, 0x0001, + 0x7003, 0x0001, 0x04d0, 0x8319, 0x1988, 0x1d04, 0x0c89, 0x080c, + 0x728a, 0x2009, 0x12d5, 0x2104, 0x8001, 0x200a, 0x1168, 0x7827, + 0x0048, 0x20a9, 0x0002, 0x080c, 0x22c1, 0x7924, 0x080c, 0x22e0, + 0xd19c, 0x0110, 0x080c, 0x2205, 0x00d8, 0x080c, 0x62d7, 0x1140, + 0x94a2, 0x03e8, 0x1128, 0x080c, 0x629c, 0x7003, 0x0001, 0x00a8, + 0x7827, 0x1800, 0x080c, 0x22e0, 0x7824, 0x080c, 0x62e1, 0x0110, + 0xd0ac, 0x1158, 0x9084, 0x1800, 0x0970, 0x7003, 0x0001, 0x0028, + 0x2001, 0x0001, 0x080c, 0x1eae, 0x0050, 0x7904, 0x918d, 0x0002, + 0x7906, 0x7827, 0x0048, 0x7828, 0x9085, 0x0028, 0x782a, 0x7850, + 0x9085, 0x0400, 0x7852, 0x9006, 0x78f2, 0x015e, 0x003e, 0x000e, + 0x7034, 0xd0b4, 0x1110, 0x080c, 0x0da6, 0x012e, 0x00fe, 0x004e, + 0x001e, 0x0005, 0x0005, 0x0005, 0x0005, 0x2a70, 0x2061, 0x12e2, + 0x2063, 0x0003, 0x6007, 0x0001, 0x600b, 0x000b, 0x600f, 0x0017, + 0x2001, 0x12a7, 0x2003, 0x0000, 0x708f, 0x0000, 0x2009, 0x0100, + 0x2104, 0x9082, 0x0002, 0x0218, 0x7057, 0xffff, 0x0010, 0x7057, + 0x0000, 0x705f, 0xffff, 0x7077, 0x0000, 0x707b, 0x0000, 0x080c, + 0xac47, 0x2061, 0x1297, 0x6003, 0x0909, 0x6007, 0x0000, 0x600b, + 0x8800, 0x600f, 0x0200, 0x6013, 0x00ff, 0x6017, 0x000f, 0x601b, + 0x0000, 0x601f, 0x07d0, 0x2061, 0x129f, 0x6003, 0x8000, 0x6007, + 0x0000, 0x600b, 0x0000, 0x600f, 0x0200, 0x6013, 0x00ff, 0x6017, + 0x0000, 0x601b, 0x0001, 0x601f, 0x0000, 0x2061, 0x12c3, 0x6003, + 0x514c, 0x6007, 0x4f47, 0x600b, 0x4943, 0x600f, 0x2020, 0x2001, + 0x1129, 0x2003, 0x0000, 0x0005, 0x2011, 0x0000, 0x080c, 0x560e, + 0x1178, 0x6004, 0x90c4, 0x00ff, 0x98c6, 0x0006, 0x0128, 0x90c4, + 0xff00, 0x98c6, 0x0600, 0x1120, 0x9186, 0x0080, 0x0108, 0x8210, + 0x8108, 0x9186, 0x0100, 0x1d50, 0x2208, 0x0005, 0x2091, 0x8000, + 0x0e04, 0x0d50, 0x0006, 0x0016, 0x2079, 0x0000, 0x001e, 0x798e, + 0x000e, 0x788a, 0x000e, 0x7886, 0x3900, 0x789a, 0x7883, 0x8002, + 0x7837, 0x8002, 0x7833, 0x0012, 0x2091, 0x5000, 0x0156, 0x00d6, + 0x0036, 0x0026, 0x2079, 0x0300, 0x2069, 0x137b, 0x7a18, 0x226a, + 0x8d68, 0x7a1c, 0x226a, 0x7803, 0x0000, 0x2069, 0x135b, 0x901e, + 0x20a9, 0x0020, 0x7b26, 0x7a28, 0x226a, 0x8d68, 0x8318, 0x1f04, + 0x0d7a, 0x002e, 0x003e, 0x00de, 0x015e, 0x2079, 0x1100, 0x7803, + 0x0005, 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, 0x0180, + 0x2001, 0x1335, 0x2004, 0x9005, 0x0128, 0x2001, 0x008b, 0x2004, + 0xd0fc, 0x0dd8, 0x2001, 0x008a, 0x2003, 0x0002, 0x2003, 0x1001, + 0x7834, 0xd0b4, 0x1108, 0x04b9, 0x0cd8, 0x0005, 0x00f6, 0x0006, + 0x2079, 0x1125, 0x2f04, 0x8000, 0x207a, 0x080c, 0x22d8, 0x1150, + 0x0006, 0x2001, 0x12d2, 0x2004, 0xd0fc, 0x000e, 0x1118, 0x9082, + 0x7530, 0x0010, 0x9082, 0x000f, 0x0258, 0x9006, 0x207a, 0x2079, + 0x1127, 0x2f04, 0x9084, 0x0001, 0x9086, 0x0001, 0x207a, 0x0080, + 0x2079, 0x1127, 0x2f7c, 0x8fff, 0x1130, 0x0026, 0x2011, 0x0080, + 0x00e1, 0x002e, 0x0028, 0x0026, 0x2011, 0x0000, 0x00b1, 0x002e, + 0x000e, 0x00fe, 0x0005, 0x0026, 0x2011, 0x0080, 0x0071, 0x002e, + 0x2009, 0x0fff, 0x00b9, 0x0026, 0x2011, 0x0040, 0x0031, 0x002e, + 0x2009, 0x0fff, 0x0079, 0x0c78, 0x0005, 0x0016, 0x3b08, 0x3a00, + 0x9104, 0x918d, 0x00c0, 0x21d8, 0x9084, 0xff3f, 0x9205, 0x20d0, + 0x001e, 0x0005, 0x0156, 0x0126, 0x918c, 0x0fff, 0x21a8, 0x1d04, + 0x0dff, 0x2091, 0x6000, 0x1f04, 0x0dff, 0x012e, 0x015e, 0x0005, + 0x890b, 0x810b, 0x810b, 0x810b, 0x810b, 0x810b, 0x9994, 0xfc00, + 0x8217, 0x8214, 0x8214, 0x0005, 0x0006, 0x814c, 0x894c, 0x894c, + 0x894c, 0x894c, 0x894c, 0x9284, 0x003f, 0x8007, 0x8003, 0x8003, + 0x994d, 0x000e, 0x0005, 0x0016, 0x0026, 0x0096, 0x3348, 0x0c01, + 0x2100, 0x9300, 0x2098, 0x22e0, 0x009e, 0x002e, 0x001e, 0x3518, + 0x20a9, 0x0001, 0x4002, 0x8007, 0x4004, 0x8319, 0x1dd8, 0x0005, + 0x2071, 0x1100, 0x7164, 0x712e, 0x2021, 0x0001, 0x9190, 0x0040, + 0x9298, 0x0040, 0x0240, 0x7068, 0x9302, 0x1228, 0x220a, 0x2208, + 0x2310, 0x8420, 0x0ca8, 0x200b, 0x0000, 0x74b6, 0x74ba, 0x0005, + 0x00e6, 0x0126, 0x2091, 0x8000, 0x2071, 0x1100, 0x70b8, 0x90ea, + 0x0010, 0x0268, 0x8001, 0x70ba, 0x702c, 0x2068, 0x2d04, 0x702e, + 0x206b, 0x0000, 0x6807, 0x0000, 0x012e, 0x00ee, 0x0005, 0x906e, + 0x0cd8, 0x00e6, 0x2071, 0x1100, 0x0126, 0x2091, 0x8000, 0x70b8, + 0x8001, 0x0270, 0x70ba, 0x702c, 0x2068, 0x9085, 0x0001, 0x2d04, + 0x702e, 0x206b, 0x0000, 0x6807, 0x0000, 0x012e, 0x00ee, 0x0005, + 0x906e, 0x0cd8, 0x00e6, 0x0126, 0x2091, 0x8000, 0x2071, 0x1100, + 0x702c, 0x206a, 0x2d00, 0x702e, 0x70b8, 0x8000, 0x70ba, 0x012e, + 0x00ee, 0x0005, 0x8dff, 0x0138, 0x6804, 0x6807, 0x0000, 0x0006, + 0x0c49, 0x00de, 0x0cb8, 0x0005, 0x00e6, 0x2071, 0x1100, 0x70b8, + 0x908a, 0x0010, 0x900d, 0x00ee, 0x0005, 0x00d6, 0x0811, 0x0148, + 0x0016, 0x0026, 0x2d08, 0x2011, 0x0001, 0x080c, 0x0e14, 0x002e, + 0x001e, 0x00de, 0x0005, 0x00d6, 0x080c, 0x0e50, 0x0148, 0x0016, + 0x0026, 0x2d08, 0x2011, 0x0001, 0x080c, 0x0e14, 0x002e, 0x001e, + 0x00de, 0x0005, 0x00d6, 0x0016, 0x0026, 0x080c, 0x0e08, 0x2168, + 0x002e, 0x001e, 0x080c, 0x0e82, 0x00de, 0x0005, 0x00e6, 0x2071, + 0x1334, 0x7007, 0x0000, 0x701f, 0x0000, 0x7023, 0x0000, 0x7003, + 0x0000, 0x2071, 0x0000, 0x7010, 0x9085, 0x8004, 0x7012, 0x00ee, + 0x0005, 0x00e6, 0x2270, 0x700b, 0x0000, 0x2071, 0x1334, 0x701c, + 0x9088, 0x133e, 0x220a, 0x8000, 0x9084, 0x0007, 0x701e, 0x7004, + 0x9005, 0x1128, 0x00f6, 0x2079, 0x0080, 0x0081, 0x00fe, 0x00ee, + 0x0005, 0x00e6, 0x2071, 0x1334, 0x7004, 0x9005, 0x1128, 0x00f6, + 0x2079, 0x0080, 0x0019, 0x00fe, 0x00ee, 0x0005, 0x7007, 0x0006, + 0x7000, 0x0002, 0x0f12, 0x0d4e, 0x0d4e, 0x0d4e, 0x106a, 0x106a, + 0x106a, 0x106a, 0x701c, 0x7120, 0x9106, 0x1118, 0x7007, 0x0000, + 0x0005, 0x00d6, 0x9180, 0x133e, 0x2004, 0x700a, 0x2068, 0x8108, + 0x918c, 0x0007, 0x7122, 0x782b, 0x0026, 0x6828, 0x7802, 0x682c, + 0x7806, 0x6830, 0x780a, 0x6834, 0x780e, 0x6814, 0x700e, 0x680c, + 0x7016, 0x6810, 0x701a, 0x6804, 0x00de, 0xd084, 0x0120, 0x7007, + 0x0001, 0x0029, 0x0005, 0x7007, 0x0002, 0x00b1, 0x0005, 0x0016, + 0x0026, 0x710c, 0x2011, 0x0040, 0x9182, 0x0040, 0x1210, 0x2110, + 0x9006, 0x700e, 0x7212, 0x8203, 0x7812, 0x782b, 0x0020, 0x782b, + 0x0041, 0x002e, 0x001e, 0x0005, 0x0016, 0x0026, 0x0136, 0x0146, + 0x0156, 0x7014, 0x20e0, 0x7018, 0x2098, 0x20e9, 0x0000, 0x20a1, + 0x0088, 0x782b, 0x0026, 0x710c, 0x2011, 0x0040, 0x9182, 0x0040, + 0x1210, 0x2110, 0x9006, 0x700e, 0x22a8, 0x4006, 0x8203, 0x7812, + 0x782b, 0x0020, 0x3300, 0x701a, 0x782b, 0x0001, 0x015e, 0x014e, + 0x013e, 0x002e, 0x001e, 0x0005, 0x2009, 0x1334, 0x2104, 0xc095, + 0x200a, 0x080c, 0x0ef9, 0x0005, 0x0016, 0x00e6, 0x2071, 0x1334, + 0x00f6, 0x2079, 0x0080, 0x792c, 0x782b, 0x0002, 0xd1fc, 0x0120, + 0x918c, 0x0700, 0x7004, 0x0023, 0x00fe, 0x00ee, 0x001e, 0x0005, + 0x0f06, 0x0f9e, 0x0fd0, 0x0d4e, 0x0d4e, 0x1076, 0x918c, 0x0700, + 0x1548, 0x0136, 0x0146, 0x0156, 0x7014, 0x20e8, 0x7018, 0x20a0, + 0x20e1, 0x0000, 0x2099, 0x0088, 0x782b, 0x0040, 0x7010, 0x20a8, + 0x4005, 0x3400, 0x701a, 0x015e, 0x014e, 0x013e, 0x700c, 0x9005, + 0x0560, 0x7800, 0x7802, 0x7804, 0x7806, 0x080c, 0x0f3f, 0x0005, + 0x7008, 0x9080, 0x0002, 0x2003, 0x0100, 0x7007, 0x0000, 0x080c, + 0x0f06, 0x0005, 0x7008, 0x9080, 0x0002, 0x2003, 0x0200, 0x0ca8, + 0x918c, 0x0700, 0x1150, 0x700c, 0x9005, 0x0178, 0x7800, 0x7802, + 0x7804, 0x7806, 0x080c, 0x0f54, 0x0005, 0x7008, 0x9080, 0x0002, + 0x2003, 0x0200, 0x7007, 0x0000, 0x0080, 0x00d6, 0x7008, 0x2068, + 0x7800, 0x682a, 0x7804, 0x682e, 0x7808, 0x6832, 0x780c, 0x6836, + 0x680b, 0x0100, 0x00de, 0x7007, 0x0000, 0x00c6, 0x00d6, 0x7008, + 0x2060, 0x9086, 0x11fb, 0x1128, 0x6038, 0x080f, 0x00de, 0x00ce, + 0x0078, 0x00de, 0x00ce, 0x00c6, 0x00d6, 0x7008, 0x2060, 0x0059, + 0x0128, 0x6038, 0x080f, 0x00de, 0x00ce, 0x0005, 0x00de, 0x00ce, + 0x080c, 0x0f06, 0x0005, 0x00e6, 0x2071, 0x1100, 0x8cff, 0x0140, + 0x7064, 0x9c02, 0x0238, 0x9c82, 0xffff, 0x1220, 0x9085, 0x0001, + 0x00ee, 0x0005, 0x9006, 0x0ce0, 0x603c, 0x906d, 0x090c, 0x0d4e, + 0x6008, 0x908e, 0x0100, 0x0130, 0x687b, 0x0030, 0x6883, 0x0000, + 0x6897, 0x4002, 0x080c, 0x5b7a, 0x603b, 0x0000, 0x603f, 0x0000, + 0x2c00, 0x2068, 0x080c, 0x0e82, 0x0005, 0x00f6, 0x603c, 0x906d, + 0x090c, 0x0d4e, 0x6008, 0x908e, 0x0100, 0x0128, 0x687b, 0x0001, + 0x6883, 0x0000, 0x0080, 0x680c, 0x2078, 0x7804, 0x9005, 0x0158, + 0x680e, 0x2078, 0x9080, 0x0002, 0x6012, 0x7800, 0x6016, 0x2c10, + 0x080c, 0x0ee1, 0x0068, 0x00d6, 0x080c, 0x5b7a, 0x00de, 0x687c, + 0xd0f4, 0x0130, 0x6894, 0x00c6, 0x2060, 0x080c, 0x8e49, 0x00ce, + 0x00fe, 0x0005, 0x0126, 0x2091, 0x8000, 0x782b, 0x1001, 0x7007, + 0x0005, 0x7000, 0xc094, 0x7002, 0x012e, 0x0005, 0x7007, 0x0000, + 0x080c, 0x0f06, 0x0005, 0x0126, 0x2091, 0x2200, 0x2079, 0x0300, + 0x2071, 0x1346, 0x7003, 0x0000, 0x78bf, 0x00f6, 0x00c1, 0x7803, + 0x0003, 0x780f, 0x0000, 0x20a9, 0x01e8, 0x2061, 0xc3c1, 0x2c0d, + 0x7912, 0xe104, 0x9ce0, 0x0002, 0x7916, 0x1f04, 0x108f, 0x7807, + 0x0001, 0x7803, 0x0000, 0x7803, 0x0001, 0x012e, 0x0005, 0x00c6, + 0x7803, 0x0000, 0x7808, 0xd09c, 0x0110, 0x7820, 0x0cd8, 0x2001, + 0x1347, 0x2003, 0x0000, 0x78ab, 0x0004, 0x78ac, 0xd0ac, 0x1de8, + 0x78ab, 0x0002, 0x7807, 0x0001, 0x7827, 0x0030, 0x782b, 0x0400, + 0x7827, 0x0031, 0x782b, 0x135b, 0x781f, 0xff00, 0x781b, 0xff00, + 0x2061, 0x135b, 0x602f, 0x15c0, 0x6033, 0x3000, 0x603b, 0x18a2, + 0x00ce, 0x0005, 0x0126, 0x2091, 0x2200, 0x7808, 0xd09c, 0x0158, + 0x7820, 0x908c, 0xf000, 0x1578, 0x908c, 0x0fe0, 0x190c, 0x0d4e, + 0x0043, 0x012e, 0x0005, 0x9084, 0x0070, 0x190c, 0x0d4e, 0x012e, + 0x0005, 0x1101, 0x1101, 0x110a, 0x110e, 0x1112, 0x1117, 0x1148, + 0x114c, 0x1159, 0x115e, 0x1101, 0x11ed, 0x11f1, 0x124d, 0x1101, + 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, + 0x1101, 0x1101, 0x1101, 0x1101, 0x1123, 0x1101, 0x1101, 0x1101, + 0x1101, 0x080c, 0x0d4e, 0x2009, 0x0048, 0x2060, 0x080c, 0x8ebf, + 0x012e, 0x0005, 0x7004, 0xc085, 0x7006, 0x0005, 0x7004, 0xc085, + 0x7006, 0x0005, 0x080c, 0x1254, 0x080c, 0x12ed, 0x0005, 0x080c, + 0x0d4e, 0x0005, 0x2001, 0x020d, 0x2003, 0x0050, 0x2003, 0x0020, + 0x080c, 0x1259, 0x0005, 0x080c, 0x1254, 0x2060, 0x6014, 0x9080, + 0x000e, 0x2003, 0xffff, 0x2009, 0x0048, 0x080c, 0x8ebf, 0x2001, + 0x015d, 0x2003, 0x0000, 0x2009, 0x03e8, 0x8109, 0x0160, 0x2001, + 0x0201, 0x2004, 0x9005, 0x0dc8, 0x2001, 0x0218, 0x2004, 0xd0ec, + 0x1110, 0x080c, 0x1259, 0x2001, 0x0307, 0x2003, 0x8000, 0x0005, + 0x7004, 0xc095, 0x7006, 0x0005, 0x080c, 0x1254, 0x2060, 0x6014, + 0x9080, 0x000e, 0x2003, 0xffff, 0x2009, 0x0048, 0x080c, 0x8ebf, + 0x0005, 0x080c, 0x1254, 0x080c, 0x0d4e, 0x0005, 0x080c, 0x1254, + 0x080c, 0x11d8, 0x7827, 0x0018, 0x79ac, 0xd1dc, 0x0540, 0x7827, + 0x0015, 0x7828, 0x782b, 0x0000, 0x9065, 0x0138, 0x2001, 0x020d, + 0x2003, 0x0050, 0x2003, 0x0020, 0x0400, 0x7004, 0x9005, 0x1180, + 0x78ab, 0x0004, 0x7827, 0x0018, 0x782b, 0x0000, 0xd1bc, 0x090c, + 0x0d4e, 0x2001, 0x020d, 0x2003, 0x0050, 0x2003, 0x0020, 0x04a0, + 0x78ab, 0x0004, 0x7803, 0x0001, 0x080c, 0x11f1, 0x0005, 0x7828, + 0x782b, 0x0000, 0x9065, 0x090c, 0x0d4e, 0x6014, 0x2068, 0x78ab, + 0x0004, 0x918c, 0x0700, 0x01d8, 0x080c, 0x152f, 0x080c, 0xa853, + 0x0158, 0x69ac, 0x6936, 0x69b0, 0x693a, 0x683f, 0xffff, 0x6843, + 0xffff, 0x6880, 0xc0bd, 0x6882, 0x7827, 0x0015, 0x782b, 0x0000, + 0x781f, 0x0300, 0x7803, 0x0001, 0x080c, 0xa50b, 0x0005, 0x6010, + 0x2004, 0xd0bc, 0x190c, 0xabe0, 0x2029, 0x00c8, 0x8529, 0x0128, + 0x2001, 0x0201, 0x2004, 0x9005, 0x0dc8, 0x7dbc, 0x080c, 0xc36a, + 0xd5a4, 0x1118, 0x080c, 0x1259, 0x0005, 0x080c, 0x152f, 0x7827, + 0x0015, 0x782b, 0x0000, 0x781f, 0x0300, 0x7803, 0x0001, 0x0005, + 0x0016, 0x0066, 0x0076, 0x00f6, 0x2079, 0x0300, 0x7908, 0x918c, + 0x0007, 0x9186, 0x0003, 0x0120, 0x2001, 0x0016, 0x080c, 0x12c2, + 0x00fe, 0x007e, 0x006e, 0x001e, 0x0005, 0x7004, 0xc09d, 0x7006, + 0x0005, 0x7104, 0x9184, 0x0004, 0x190c, 0x0d4e, 0xd184, 0x1189, + 0xd19c, 0x0158, 0xc19c, 0x7106, 0x2001, 0x020d, 0x2003, 0x0050, + 0x2003, 0x0020, 0x080c, 0x1259, 0x0005, 0x81ff, 0x190c, 0x0d4e, + 0x0005, 0xc184, 0x7106, 0x0016, 0x00e6, 0x2071, 0x0200, 0x080c, + 0x12e1, 0x6014, 0x9005, 0x0588, 0x9080, 0x0019, 0x2004, 0x9084, + 0x00ff, 0x908e, 0x0029, 0x0148, 0x908e, 0x0048, 0x1530, 0x00f6, + 0x2c78, 0x080c, 0x132d, 0x00fe, 0x00a8, 0x00f6, 0x2c78, 0x080c, + 0x13e5, 0x00fe, 0x2009, 0x01f4, 0x8109, 0x0160, 0x2001, 0x0201, + 0x2004, 0x9005, 0x0dc8, 0x2001, 0x0218, 0x2004, 0xd0ec, 0x1110, + 0x0401, 0x0040, 0x2001, 0x020d, 0x2003, 0x0020, 0x080c, 0x109f, + 0x7803, 0x0001, 0x00ee, 0x001e, 0x0005, 0x2001, 0x020d, 0x2003, + 0x0050, 0x2003, 0x0020, 0x0069, 0x0ca8, 0x0031, 0x2060, 0x2009, + 0x0053, 0x080c, 0x8ebf, 0x0005, 0x7808, 0xd09c, 0x0de8, 0x7820, + 0x0005, 0x080c, 0x11d8, 0x00d6, 0x2069, 0x0200, 0x2009, 0x01f4, + 0x8109, 0x0508, 0x6804, 0x9005, 0x0dd8, 0x2001, 0x015d, 0x2003, + 0x0000, 0x79bc, 0xd1a4, 0x1520, 0x79b8, 0x918c, 0x0fff, 0x0178, + 0x9182, 0x0841, 0x1260, 0x9188, 0x0007, 0x918c, 0x0ff8, 0x810c, + 0x810c, 0x810c, 0x04c9, 0x6827, 0x0001, 0x8109, 0x1dd8, 0x04a1, + 0x6827, 0x0002, 0x0489, 0x6804, 0x9005, 0x1130, 0x682c, 0xd0e4, + 0x11c8, 0x6804, 0x9005, 0x0de8, 0x79b8, 0xd1ec, 0x1118, 0x08c8, + 0x080c, 0x152f, 0x7827, 0x0015, 0x782b, 0x0000, 0x2001, 0x020d, + 0x2003, 0x0020, 0x2001, 0x0307, 0x2003, 0x0300, 0x7803, 0x0001, + 0x00de, 0x0005, 0x682c, 0x9084, 0x5400, 0x9086, 0x5400, 0x0d50, + 0x7827, 0x0015, 0x782b, 0x0000, 0x7803, 0x0001, 0x6800, 0x9085, + 0x1800, 0x6802, 0x00de, 0x0005, 0x6824, 0x9084, 0x0003, 0x1de0, + 0x0005, 0x2001, 0x0030, 0x2c08, 0x621c, 0x0021, 0x7830, 0x9086, + 0x0041, 0x0005, 0x00f6, 0x2079, 0x0300, 0x0006, 0x7808, 0xd09c, + 0x0140, 0x0016, 0x0026, 0x00c6, 0x080c, 0x10ca, 0x00ce, 0x002e, + 0x001e, 0x000e, 0x7832, 0x7936, 0x7a3a, 0x781b, 0x8080, 0x2009, + 0xff00, 0x8109, 0x090c, 0x0d4e, 0x7818, 0xd0bc, 0x1dd0, 0x00fe, + 0x0005, 0x7037, 0x0001, 0x7150, 0x7037, 0x0002, 0x7050, 0x2060, + 0xd1bc, 0x1110, 0x7054, 0x2060, 0x0005, 0x00e6, 0x0016, 0x2071, + 0x0200, 0x0c79, 0x7358, 0x745c, 0x6014, 0x905d, 0x0550, 0x2b68, + 0x6010, 0x2004, 0xd0bc, 0x190c, 0xabbb, 0x6b42, 0x6c3e, 0x2001, + 0x1174, 0x2004, 0xd0b4, 0x1140, 0x6010, 0x2004, 0xd0bc, 0x1120, + 0x683b, 0x7fff, 0x6837, 0xffff, 0x080c, 0x18c2, 0x1190, 0x080c, + 0x1433, 0x2a00, 0x6816, 0x0130, 0x2c00, 0x680e, 0x2805, 0x680a, + 0x2800, 0x6812, 0x7037, 0x0020, 0x781f, 0x0300, 0x001e, 0x00ee, + 0x0005, 0x7037, 0x0050, 0x7037, 0x0020, 0x001e, 0x00ee, 0x080c, + 0x1259, 0x0005, 0x080c, 0x0d4e, 0x0005, 0x2ff0, 0x0126, 0x2091, + 0x2200, 0x3e60, 0x6014, 0x2068, 0x2d60, 0x903e, 0x2730, 0x6964, + 0x691a, 0x9184, 0x000f, 0x9088, 0x18a2, 0x2145, 0x0002, 0x134f, + 0x13b6, 0x134f, 0x134f, 0x134f, 0x138f, 0x134f, 0x1353, 0x134f, + 0x13a4, 0x134f, 0x134f, 0x134f, 0x134f, 0x1379, 0x1365, 0x9085, + 0x0001, 0x0804, 0x13dd, 0x687c, 0xd0bc, 0x0dc8, 0x6890, 0x6842, + 0x688c, 0x683e, 0x6888, 0x00d6, 0x2805, 0x9c68, 0x6b08, 0x6a0c, + 0x6d00, 0x6c04, 0x00de, 0x0804, 0x13c5, 0x687c, 0xd0bc, 0x0d38, + 0x6890, 0x6842, 0x688c, 0x683e, 0x6888, 0x00d6, 0x2805, 0x9c68, + 0x6b10, 0x6a14, 0x6d00, 0x6c04, 0x6f08, 0x6e0c, 0x00de, 0x0804, + 0x13c5, 0x687c, 0xd0bc, 0x0998, 0x6890, 0x6842, 0x688c, 0x683e, + 0x6804, 0x2060, 0x9080, 0x0019, 0x200c, 0x691a, 0x91cc, 0x000f, + 0x9980, 0x18a2, 0x2045, 0x6888, 0xd19c, 0x11e8, 0x0470, 0x687c, + 0xd0ac, 0x0904, 0x134f, 0x6804, 0x2060, 0x9080, 0x0019, 0x200c, + 0x691a, 0x91cc, 0x000f, 0x9980, 0x18a2, 0x2045, 0x9006, 0x6842, + 0x683e, 0xd19c, 0x1140, 0x00c8, 0x687c, 0xd0ac, 0x0904, 0x134f, + 0x9006, 0x6842, 0x683e, 0x00d6, 0x2805, 0x9c68, 0x6b10, 0x6a14, + 0x6d00, 0x6c04, 0x6f08, 0x6e0c, 0x00de, 0x0078, 0x687c, 0xd0ac, + 0x0904, 0x134f, 0x9006, 0x6842, 0x683e, 0x00d6, 0x2805, 0x9c68, + 0x6b08, 0x6a0c, 0x6d00, 0x6c04, 0x00de, 0x6b2e, 0x6a32, 0x6d1e, + 0x6c22, 0x6f26, 0x6e2a, 0x6988, 0x8840, 0x281d, 0x68ac, 0x6ab0, + 0x6836, 0x6a3a, 0x8109, 0x6916, 0x1150, 0x3e60, 0x601c, 0xc085, + 0x601e, 0x687c, 0xc0dd, 0x687e, 0x9006, 0x012e, 0x0005, 0x2c00, + 0x680e, 0x6b0a, 0x2800, 0x6812, 0x0c80, 0x2ff0, 0x0126, 0x2091, + 0x2200, 0x3e60, 0x6014, 0x2068, 0x2d60, 0x680e, 0x2041, 0x189f, + 0x680b, 0x189f, 0x2805, 0x6812, 0x6964, 0x691a, 0x687c, 0xd0ac, + 0x090c, 0x0d4e, 0x9006, 0x6842, 0x683e, 0x00d6, 0x2805, 0x9c68, + 0x6b10, 0x6a14, 0x6d00, 0x6c04, 0x6f08, 0x6e0c, 0x00de, 0x6b2e, + 0x6a32, 0x6d1e, 0x6c22, 0x6f26, 0x6e2a, 0x68ac, 0x6ab0, 0x6836, + 0x6a3a, 0x6988, 0x918a, 0x0002, 0x6916, 0x1150, 0x3e60, 0x601c, + 0xc085, 0x601e, 0x687c, 0xc0dd, 0x687e, 0x9006, 0x012e, 0x0005, + 0x6804, 0x9065, 0x090c, 0x0d4e, 0x680e, 0x6064, 0x681a, 0x9084, + 0x000f, 0x9080, 0x18a2, 0x2015, 0x82ff, 0x090c, 0x0d4e, 0x6a0a, + 0x2205, 0x6812, 0x0c18, 0x903e, 0x2730, 0x6880, 0xd0fc, 0x11a8, + 0x00d6, 0x2805, 0x9c68, 0x2900, 0x0002, 0x1475, 0x145b, 0x145b, + 0x1475, 0x1475, 0x146f, 0x1475, 0x145b, 0x1475, 0x1460, 0x1460, + 0x1475, 0x1475, 0x1475, 0x1467, 0x1460, 0xc0fc, 0x6882, 0x6b2c, + 0x6a30, 0x6d1c, 0x6c20, 0x00d6, 0xd99c, 0x0510, 0x2805, 0x9c68, + 0x6f08, 0x6e0c, 0x00e8, 0x6b08, 0x6a0c, 0x6d00, 0x6c04, 0x00c0, + 0x6b10, 0x6a14, 0x6d00, 0x6c04, 0x6f08, 0x6e0c, 0x0088, 0x00de, + 0x00d6, 0x6864, 0x9084, 0x00ff, 0x9086, 0x001e, 0x1130, 0x00de, + 0x080c, 0x1862, 0x1900, 0x900e, 0x0060, 0x00de, 0x080c, 0x0d4e, + 0x00de, 0x6b2e, 0x6a32, 0x6d1e, 0x6c22, 0x6f26, 0x6e2a, 0x080c, + 0x1862, 0x0005, 0x2001, 0x020b, 0x2004, 0xd0e4, 0x0110, 0xd0d4, + 0x1140, 0x6014, 0x9080, 0x0021, 0x6118, 0x2102, 0x601b, 0x0002, + 0x0005, 0x0126, 0x00c6, 0x2091, 0x2200, 0x00ce, 0x2001, 0x0037, + 0x2c08, 0x080c, 0x12c2, 0x7808, 0xd09c, 0x0140, 0x0016, 0x0026, + 0x00c6, 0x080c, 0x10ca, 0x00ce, 0x002e, 0x001e, 0x6000, 0x9086, + 0x0004, 0x1120, 0x2009, 0x0048, 0x080c, 0x8ebf, 0x012e, 0x0005, + 0x0126, 0x00c6, 0x2091, 0x2200, 0x00ce, 0x7908, 0x918c, 0x0007, + 0x9186, 0x0000, 0x0904, 0x1524, 0x9186, 0x0003, 0x0904, 0x1524, + 0x6020, 0x6023, 0x0000, 0x0006, 0x2031, 0x0190, 0x00c6, 0x7808, + 0xd09c, 0x190c, 0x10ca, 0x00ce, 0x2001, 0x0038, 0x2c08, 0x621c, + 0x080c, 0x12c2, 0x7930, 0x9186, 0x0040, 0x0904, 0x1520, 0x9186, + 0x0042, 0x190c, 0x0d4e, 0x2001, 0x001e, 0x8001, 0x1df0, 0x8631, + 0x1d28, 0x080c, 0x1574, 0x0026, 0x0056, 0x2001, 0x00d2, 0x8001, + 0x1df0, 0x2031, 0x2000, 0x8631, 0x090c, 0x152f, 0x2001, 0x020b, + 0x2004, 0xd0e4, 0x0dc0, 0x78ab, 0x0004, 0x080c, 0x109f, 0x781f, + 0x8080, 0x78ab, 0x0009, 0x601c, 0xc084, 0x601e, 0x080c, 0x62c5, + 0x1198, 0x0066, 0x2031, 0x0001, 0x2001, 0x020b, 0x2004, 0x9084, + 0x0028, 0x0138, 0x2001, 0x0207, 0x2004, 0xd08c, 0x0110, 0x2031, + 0x0000, 0x080c, 0x6356, 0x006e, 0x7803, 0x0000, 0x7803, 0x0001, + 0x005e, 0x002e, 0x2001, 0x0160, 0x2502, 0x2001, 0x0138, 0x2202, + 0x000e, 0x6022, 0x012e, 0x0005, 0x601c, 0xc084, 0x601e, 0x7827, + 0x0015, 0x7828, 0x9c06, 0x1db0, 0x782b, 0x0000, 0x0c98, 0x080c, + 0x11d8, 0x080c, 0x62c5, 0x11b0, 0x2001, 0x0138, 0x2003, 0x0000, + 0x2001, 0x0160, 0x2003, 0x0000, 0x2011, 0x012c, 0xa001, 0xa001, + 0x8211, 0x1de0, 0x0081, 0x0066, 0x2031, 0x0000, 0x080c, 0x6356, + 0x006e, 0x0005, 0x0449, 0x0039, 0x2001, 0x0160, 0x2502, 0x2001, + 0x0138, 0x2202, 0x0005, 0x00e6, 0x2071, 0x0200, 0x080c, 0x22e6, + 0x2009, 0x003c, 0x080c, 0x1b29, 0x2001, 0x015d, 0x2003, 0x0000, + 0x7000, 0x9084, 0x003c, 0x1de0, 0x70a0, 0x70a2, 0x7098, 0x709a, + 0x709c, 0x709e, 0x00f6, 0x2079, 0x0300, 0x080c, 0x109f, 0x7803, + 0x0001, 0x00fe, 0x00ee, 0x0005, 0x2001, 0x0138, 0x2014, 0x2003, + 0x0000, 0x2001, 0x0160, 0x202c, 0x2003, 0x0000, 0x080c, 0x62c5, + 0x1108, 0x0005, 0x2021, 0x0260, 0x2001, 0x0141, 0x201c, 0xd3dc, + 0x1168, 0x2001, 0x0109, 0x201c, 0x939c, 0x0048, 0x1160, 0x2001, + 0x0111, 0x201c, 0x83ff, 0x1110, 0x8421, 0x1d70, 0x2001, 0x015d, + 0x2003, 0x0000, 0x0005, 0x0046, 0x2021, 0x0019, 0x2003, 0x0048, + 0xa001, 0xa001, 0x201c, 0x939c, 0x0048, 0x0120, 0x8421, 0x1db0, + 0x004e, 0x0c60, 0x004e, 0x0c40, 0x00e6, 0x2071, 0x1349, 0x7003, + 0x0000, 0x00ee, 0x0005, 0x00d6, 0x9280, 0x0005, 0x206c, 0x697c, + 0xd1dc, 0x1904, 0x1629, 0x6964, 0x9184, 0x0007, 0x0002, 0x15c7, + 0x1614, 0x15c7, 0x15c7, 0x15c7, 0x15fb, 0x15da, 0x15c9, 0x080c, + 0x0d4e, 0x687c, 0xd0b4, 0x0904, 0x1711, 0x6890, 0x6842, 0x683a, + 0x688c, 0x683e, 0x6836, 0x68ac, 0x6846, 0x68b0, 0x684a, 0x6988, + 0x0804, 0x161c, 0x6864, 0x9084, 0x00ff, 0x9086, 0x001e, 0x1d38, + 0x687c, 0xd0b4, 0x0904, 0x1711, 0x6890, 0x6842, 0x683a, 0x688c, + 0x683e, 0x6836, 0x68ac, 0x6846, 0x68b0, 0x684a, 0x6804, 0x685a, + 0x9080, 0x0019, 0x2004, 0x9084, 0x000f, 0x9080, 0x18a2, 0x2005, + 0x6812, 0x6988, 0x0450, 0x918c, 0x00ff, 0x9186, 0x0015, 0x1548, + 0x687c, 0xd0b4, 0x0904, 0x1711, 0x6804, 0x685a, 0x9080, 0x0019, + 0x2004, 0x9084, 0x000f, 0x9080, 0x18a2, 0x2005, 0x6812, 0x6988, + 0x9006, 0x6842, 0x683e, 0x0088, 0x687c, 0xd0b4, 0x0904, 0x1711, + 0x6988, 0x9006, 0x6842, 0x683e, 0x2d00, 0x685a, 0x6864, 0x9084, + 0x000f, 0x9080, 0x18a2, 0x2005, 0x6812, 0x6916, 0x687c, 0xc0dd, + 0x687e, 0x00de, 0x0005, 0x00f6, 0x2079, 0x0090, 0x782c, 0xd0fc, + 0x190c, 0x1754, 0x00e6, 0x00d6, 0x2071, 0x1349, 0x7000, 0x9005, + 0x1904, 0x1682, 0x00c6, 0x7206, 0x9280, 0x0005, 0x205c, 0x7004, + 0x2068, 0x782b, 0x0004, 0x6810, 0x00d6, 0x2068, 0x686c, 0x7836, + 0x6890, 0x00f6, 0x2009, 0x0040, 0x080c, 0x1b29, 0x781a, 0x2079, + 0x0100, 0x8004, 0x78d6, 0x00fe, 0x00de, 0x2b68, 0x6814, 0x2050, + 0x6858, 0x2060, 0x6810, 0x2040, 0x6064, 0x90cc, 0x000f, 0x6944, + 0x791a, 0x7116, 0x6848, 0x781e, 0x701a, 0x9006, 0x700e, 0x7012, + 0x7004, 0x6940, 0x6838, 0x9106, 0x11c8, 0x693c, 0x6834, 0x9106, + 0x11a8, 0x8aff, 0x01f0, 0x0126, 0x2091, 0x8000, 0x2079, 0x0090, + 0x2009, 0x0001, 0x00d1, 0x0118, 0x2009, 0x0001, 0x00b1, 0x012e, + 0x00ce, 0x9006, 0x00de, 0x00ee, 0x00fe, 0x0005, 0x0036, 0x0046, + 0x6b38, 0x6c34, 0x080c, 0x18c2, 0x004e, 0x003e, 0x0d10, 0x00ce, + 0x0c88, 0x00ce, 0x9085, 0x0001, 0x0c68, 0x0076, 0x0066, 0x0056, + 0x0046, 0x0036, 0x0026, 0x8aff, 0x0904, 0x170a, 0x700c, 0x7214, + 0x923a, 0x7010, 0x7218, 0x9203, 0x0a04, 0x1709, 0x9705, 0x0904, + 0x1709, 0x903e, 0x2730, 0x6880, 0xd0fc, 0x11a8, 0x00d6, 0x2805, + 0x9c68, 0x2900, 0x0002, 0x16ec, 0x16d1, 0x16d1, 0x16ec, 0x16ec, + 0x16e5, 0x16ec, 0x16d1, 0x16ec, 0x16d6, 0x16d6, 0x16ec, 0x16ec, + 0x16ec, 0x16dd, 0x16d6, 0xc0fc, 0x6882, 0x6b2c, 0x6a30, 0x6d1c, + 0x6c20, 0xd99c, 0x0528, 0x00d6, 0x2805, 0x9c68, 0x6f08, 0x6e0c, + 0x00f0, 0x6b08, 0x6a0c, 0x6d00, 0x6c04, 0x00c8, 0x6b10, 0x6a14, + 0x6d00, 0x6c04, 0x6f08, 0x6e0c, 0x0090, 0x00de, 0x00d6, 0x6864, + 0x9084, 0x00ff, 0x9086, 0x001e, 0x1138, 0x00de, 0x080c, 0x1862, + 0x1904, 0x169b, 0x900e, 0x00f0, 0x00de, 0x080c, 0x0d4e, 0x00de, + 0x7b12, 0x7a16, 0x7d02, 0x7c06, 0x7f0a, 0x7e0e, 0x792a, 0x7000, + 0x8000, 0x7002, 0x683c, 0x9300, 0x683e, 0x6840, 0x9201, 0x6842, + 0x700c, 0x9300, 0x700e, 0x7010, 0x9201, 0x7012, 0x080c, 0x1862, + 0x0008, 0x9006, 0x002e, 0x003e, 0x004e, 0x005e, 0x006e, 0x007e, + 0x0005, 0x080c, 0x0d4e, 0x0026, 0x2001, 0x0105, 0x2003, 0x0010, + 0x782b, 0x0004, 0x7003, 0x0000, 0x7004, 0x2060, 0x00d6, 0x6014, + 0x2068, 0x080c, 0xa853, 0x0118, 0x6880, 0xc0bd, 0x6882, 0x6020, + 0x9086, 0x0006, 0x1180, 0x2061, 0x0100, 0x62c8, 0x2001, 0x00fa, + 0x8001, 0x1df0, 0x60c8, 0x9206, 0x1dc0, 0x60c4, 0x689a, 0x60c8, + 0x6896, 0x7004, 0x2060, 0x00de, 0x00c6, 0x080c, 0xa50b, 0x00ce, + 0x2001, 0x1312, 0x2004, 0x9c06, 0x1160, 0x2009, 0x0040, 0x080c, + 0x1b29, 0x080c, 0x8a07, 0x2011, 0x0000, 0x080c, 0x8865, 0x080c, + 0x7b49, 0x002e, 0x0804, 0x180e, 0x0126, 0x2091, 0x2400, 0x0006, + 0x0016, 0x00f6, 0x00e6, 0x00d6, 0x00c6, 0x2079, 0x0090, 0x2071, + 0x1349, 0x2b68, 0x6858, 0x2060, 0x792c, 0x782b, 0x0002, 0x9184, + 0x0700, 0x1904, 0x1713, 0x7000, 0x0002, 0x180e, 0x1771, 0x17e1, + 0x180c, 0x8001, 0x7002, 0xd19c, 0x1170, 0x8aff, 0x05d0, 0x2009, + 0x0001, 0x080c, 0x1695, 0x0904, 0x180e, 0x2009, 0x0001, 0x080c, + 0x1695, 0x0804, 0x180e, 0x782b, 0x0004, 0xd194, 0x0148, 0x6880, + 0xc0fc, 0x6882, 0x8aff, 0x11d8, 0x687c, 0xc0f5, 0x687e, 0x00b8, + 0x0026, 0x0036, 0x6b3c, 0x6a40, 0x7810, 0x682e, 0x931a, 0x7814, + 0x6832, 0x9213, 0x7800, 0x681e, 0x7804, 0x6822, 0x6b3e, 0x6a42, + 0x003e, 0x002e, 0x080c, 0x187a, 0x6880, 0xc0fd, 0x6882, 0x2a00, + 0x6816, 0x2c00, 0x685a, 0x2800, 0x6812, 0x7003, 0x0000, 0x0804, + 0x180e, 0x00f6, 0x0026, 0x781c, 0x0006, 0x7818, 0x0006, 0x2079, + 0x0100, 0x7a14, 0x9284, 0x1984, 0x9085, 0x0012, 0x7816, 0x0036, + 0x2019, 0x1000, 0x8319, 0x090c, 0x0d4e, 0x7820, 0xd0bc, 0x1dd0, + 0x003e, 0x79c8, 0x000e, 0x9102, 0x001e, 0x0006, 0x0016, 0x79c4, + 0x000e, 0x9103, 0x78c6, 0x000e, 0x78ca, 0x9284, 0x1984, 0x9085, + 0x0012, 0x7816, 0x002e, 0x00fe, 0x782b, 0x0008, 0x7003, 0x0000, + 0x0468, 0x8001, 0x7002, 0xd194, 0x0168, 0x782c, 0xd0fc, 0x1904, + 0x1764, 0xd19c, 0x11f8, 0x8aff, 0x0508, 0x2009, 0x0001, 0x080c, + 0x1695, 0x00e0, 0x0026, 0x0036, 0x6b3c, 0x6a40, 0x080c, 0x187a, + 0x00d6, 0x2805, 0x9c68, 0x6064, 0xd09c, 0x1128, 0x6808, 0x931a, + 0x680c, 0x9213, 0x0020, 0x6810, 0x931a, 0x6814, 0x9213, 0x00de, + 0x0804, 0x1794, 0x0804, 0x1790, 0x080c, 0x0d4e, 0x00ce, 0x00de, + 0x00ee, 0x00fe, 0x001e, 0x000e, 0x012e, 0x0005, 0x00f6, 0x00e6, + 0x2071, 0x1349, 0x7000, 0x9086, 0x0000, 0x0904, 0x185f, 0x2079, + 0x0090, 0x2009, 0x0207, 0x210c, 0xd194, 0x01b8, 0x2009, 0x020c, + 0x210c, 0x9184, 0x0003, 0x0188, 0x080c, 0xc3b3, 0x2001, 0x0133, + 0x2004, 0x9005, 0x090c, 0x0d4e, 0x0016, 0x2009, 0x0040, 0x080c, + 0x1b29, 0x001e, 0x2001, 0x020c, 0x2102, 0x2009, 0x0206, 0x2104, + 0x2009, 0x0203, 0x210c, 0x9106, 0x1120, 0x2009, 0x0040, 0x080c, + 0x1b29, 0x782c, 0xd0fc, 0x09a8, 0x080c, 0x1754, 0x7000, 0x9086, + 0x0000, 0x1978, 0x782b, 0x0004, 0x782c, 0xd0ac, 0x1de8, 0x2009, + 0x0040, 0x080c, 0x1b29, 0x782b, 0x0002, 0x7003, 0x0000, 0x00ee, + 0x00fe, 0x0005, 0x8840, 0x2805, 0x9005, 0x0110, 0x8a51, 0x0005, + 0x6004, 0x9005, 0x0168, 0x685a, 0x2060, 0x6064, 0x9084, 0x000f, + 0x9080, 0x18a2, 0x2045, 0x88ff, 0x090c, 0x0d4e, 0x8a51, 0x0005, + 0x2050, 0x0005, 0x8a50, 0x8841, 0x2805, 0x9005, 0x1190, 0x2c00, + 0x9d06, 0x0120, 0x6000, 0x9005, 0x1108, 0x2d00, 0x2060, 0x685a, + 0x6064, 0x9084, 0x000f, 0x9080, 0x18b2, 0x2045, 0x88ff, 0x090c, + 0x0d4e, 0x0005, 0x0000, 0x001d, 0x0021, 0x0025, 0x0029, 0x002d, + 0x0031, 0x0035, 0x0000, 0x001b, 0x0021, 0x0027, 0x002d, 0x0033, + 0x0000, 0x0000, 0x0000, 0x1897, 0x1893, 0x0000, 0x0000, 0x18a1, + 0x0000, 0x1897, 0x0000, 0x189e, 0x189b, 0x0000, 0x0000, 0x0000, + 0x18a1, 0x189e, 0x0000, 0x1899, 0x1899, 0x0000, 0x0000, 0x18a1, + 0x0000, 0x1899, 0x0000, 0x189f, 0x189f, 0x0000, 0x0000, 0x0000, + 0x18a1, 0x189f, 0x00a6, 0x0096, 0x0086, 0x6b42, 0x6c3e, 0x6888, + 0x9055, 0x0904, 0x1953, 0x2d60, 0x6064, 0x90cc, 0x000f, 0x99c0, + 0x18a2, 0x9986, 0x0007, 0x0130, 0x9986, 0x000e, 0x0118, 0x9986, + 0x000f, 0x1120, 0x608c, 0x9422, 0x6090, 0x931a, 0x2805, 0x9045, + 0x1140, 0x0310, 0x0804, 0x1953, 0x6004, 0x9065, 0x0904, 0x1953, + 0x0c18, 0x2805, 0x9005, 0x01a8, 0x9c68, 0xd99c, 0x1128, 0x6808, + 0x9422, 0x680c, 0x931b, 0x0020, 0x6810, 0x9422, 0x6814, 0x931b, + 0x0620, 0x2300, 0x9405, 0x0150, 0x8a51, 0x0904, 0x1953, 0x8840, + 0x0c40, 0x6004, 0x9065, 0x0904, 0x1953, 0x0830, 0x8a51, 0x0904, + 0x1953, 0x8840, 0x2805, 0x9005, 0x1158, 0x6004, 0x9065, 0x0904, + 0x1953, 0x6064, 0x90cc, 0x000f, 0x99c0, 0x18a2, 0x2805, 0x2040, + 0x2b68, 0x6880, 0xc0fc, 0x6882, 0x0458, 0x8422, 0x8420, 0x831a, + 0x9399, 0x0000, 0x00d6, 0x2b68, 0x6c2e, 0x6b32, 0x00de, 0xd99c, + 0x1168, 0x6908, 0x2400, 0x9122, 0x690c, 0x2300, 0x911b, 0x0a0c, + 0x0d4e, 0x6800, 0x9420, 0x6804, 0x9319, 0x0060, 0x6910, 0x2400, + 0x9122, 0x6914, 0x2300, 0x911b, 0x0a0c, 0x0d4e, 0x6800, 0x9420, + 0x6804, 0x9319, 0x2b68, 0x6c1e, 0x6b22, 0x6880, 0xc0fd, 0x6882, + 0x2c00, 0x685a, 0x2800, 0x6812, 0x2a00, 0x6816, 0x000e, 0x000e, + 0x000e, 0x9006, 0x0028, 0x008e, 0x009e, 0x00ae, 0x9085, 0x0001, + 0x0005, 0x2008, 0x9026, 0x2410, 0x780f, 0x0000, 0x7810, 0x9420, + 0x9291, 0x0000, 0x7814, 0x9210, 0x8109, 0x1dc0, 0x9284, 0x000f, + 0x9405, 0x0005, 0x2001, 0x0005, 0x2004, 0x9084, 0x0007, 0x0002, + 0x1978, 0x1754, 0x1979, 0x197a, 0x197d, 0x1980, 0x1985, 0x1988, + 0x0005, 0x0005, 0x080c, 0x1754, 0x0005, 0x080c, 0x0f84, 0x0005, + 0x080c, 0x1754, 0x080c, 0x0f84, 0x0005, 0x080c, 0x0f84, 0x0005, + 0x080c, 0x1754, 0x080c, 0x0f84, 0x0005, 0x0126, 0x2091, 0x2600, + 0x2079, 0x0200, 0x2071, 0x0260, 0x2069, 0x1100, 0x7817, 0x0000, + 0x789b, 0x0814, 0x78a3, 0x0406, 0x789f, 0x0410, 0x2009, 0x013b, + 0x200b, 0x0400, 0x781b, 0x0002, 0x783b, 0x001f, 0x7837, 0x0020, + 0x7803, 0x1600, 0x012e, 0x0005, 0x2091, 0x2600, 0x781c, 0xd0a4, + 0x190c, 0x1b26, 0x7900, 0xd1dc, 0x1118, 0x9084, 0x0006, 0x001a, + 0x9084, 0x000e, 0x0002, 0x19db, 0x19cb, 0x6bdd, 0x19cd, 0x19cf, + 0x19d1, 0x19d3, 0x19d5, 0x6bc1, 0x19cb, 0x19d7, 0x19cb, 0x19cf, + 0x19cb, 0x19cf, 0x19cb, 0x080c, 0x0d4e, 0x080c, 0x0d4e, 0x0061, + 0x0050, 0x0051, 0x0040, 0x0041, 0x0030, 0x0031, 0x0020, 0x080c, + 0x6bc1, 0x080c, 0x6bdd, 0x0005, 0x0006, 0x0016, 0x0026, 0x080c, + 0xc3b3, 0x7930, 0x9184, 0x0003, 0x01c0, 0x2001, 0x1312, 0x2004, + 0x9005, 0x0170, 0x2001, 0x0133, 0x2004, 0x9005, 0x090c, 0x0d4e, + 0x00c6, 0x2001, 0x1312, 0x2064, 0x080c, 0xa50b, 0x00ce, 0x0488, + 0x2009, 0x0040, 0x080c, 0x1b29, 0x0460, 0x9184, 0x0014, 0x01d8, + 0x6a00, 0x9286, 0x0003, 0x1108, 0x00a0, 0x080c, 0x62c5, 0x1178, + 0x2001, 0x12a8, 0x2003, 0x0001, 0x2001, 0x1100, 0x2003, 0x0001, + 0x9085, 0x0001, 0x080c, 0x6309, 0x080c, 0x61f5, 0x0010, 0x080c, + 0x4f94, 0x0099, 0x0070, 0x9184, 0x1400, 0x0110, 0x0071, 0x0048, + 0x9184, 0x0140, 0x0110, 0x0049, 0x0020, 0x9184, 0x8000, 0x0108, + 0x0021, 0x002e, 0x001e, 0x000e, 0x0005, 0x00e6, 0x0036, 0x0046, + 0x0056, 0x2071, 0x1346, 0x080c, 0x152f, 0x005e, 0x004e, 0x003e, + 0x00ee, 0x0005, 0x0016, 0x0026, 0x0036, 0x0046, 0x00e6, 0x00f6, + 0x2071, 0x1100, 0x7128, 0x2001, 0x129a, 0x2102, 0x2001, 0x12a2, + 0x2102, 0x2001, 0x013b, 0x2102, 0x2079, 0x0200, 0x9198, 0x0007, + 0x831c, 0x831c, 0x831c, 0x2320, 0x9182, 0x0224, 0x1228, 0x2011, + 0x0004, 0x8423, 0x8423, 0x0088, 0x9182, 0x02d4, 0x1228, 0x2011, + 0x0003, 0x8403, 0x9420, 0x0048, 0x9182, 0x0444, 0x1220, 0x2011, + 0x0002, 0x8423, 0x0010, 0x2011, 0x0001, 0x9482, 0x0110, 0x8002, + 0x8020, 0x8301, 0x9402, 0x0110, 0x0208, 0x8321, 0x8217, 0x8203, + 0x9405, 0x2001, 0x0201, 0x789e, 0x9198, 0x0007, 0x831c, 0x831c, + 0x831c, 0x9398, 0x0003, 0x2320, 0x9182, 0x0204, 0x1228, 0x2011, + 0x0004, 0x8423, 0x8423, 0x0088, 0x9182, 0x02b4, 0x1228, 0x2011, + 0x0003, 0x8403, 0x9420, 0x0048, 0x9182, 0x041c, 0x1220, 0x2011, + 0x0002, 0x8423, 0x0010, 0x2011, 0x0001, 0x9482, 0x010c, 0x8002, + 0x8020, 0x8301, 0x9402, 0x0110, 0x0208, 0x8321, 0x8217, 0x8203, + 0x9405, 0x2001, 0x0200, 0x78a2, 0x9198, 0x0007, 0x831c, 0x831c, + 0x831c, 0x9398, 0x0005, 0x2320, 0x9182, 0x0204, 0x1230, 0x2011, + 0x0008, 0x8423, 0x8423, 0x8423, 0x0488, 0x9182, 0x024c, 0x1240, + 0x2011, 0x0007, 0x8403, 0x8003, 0x9400, 0x9400, 0x9420, 0x0430, + 0x9182, 0x02bc, 0x1238, 0x2011, 0x0006, 0x8403, 0x8003, 0x9400, + 0x9420, 0x00e0, 0x9182, 0x034c, 0x1230, 0x2011, 0x0005, 0x8403, + 0x8003, 0x9420, 0x0098, 0x9182, 0x042c, 0x1228, 0x2011, 0x0004, + 0x8423, 0x8423, 0x0058, 0x9182, 0x059c, 0x1228, 0x2011, 0x0003, + 0x8403, 0x9420, 0x0018, 0x2011, 0x0002, 0x8423, 0x9482, 0x0228, + 0x8002, 0x8020, 0x8301, 0x9402, 0x0110, 0x0208, 0x8321, 0x8217, + 0x8203, 0x9405, 0x789a, 0x00fe, 0x00ee, 0x004e, 0x003e, 0x002e, + 0x001e, 0x0005, 0x0006, 0x00d6, 0x2069, 0x0200, 0x6814, 0x9084, + 0xffc0, 0x910d, 0x6916, 0x00de, 0x000e, 0x0005, 0x00d6, 0x2069, + 0x0200, 0x9005, 0x6810, 0x0110, 0xc0a5, 0x0008, 0xc0a4, 0x6812, + 0x00de, 0x0005, 0x0006, 0x00d6, 0x2069, 0x0200, 0x6810, 0x9084, + 0xfff8, 0x910d, 0x6912, 0x00de, 0x000e, 0x0005, 0x7938, 0x080c, + 0x0d4e, 0x00f6, 0x2079, 0x0200, 0x7902, 0xa001, 0xa001, 0xa001, + 0xa001, 0xa001, 0xa001, 0x7902, 0xa001, 0xa001, 0xa001, 0xa001, + 0xa001, 0xa001, 0x00fe, 0x0005, 0x0126, 0x2091, 0x2800, 0x2061, + 0x0100, 0x2071, 0x1100, 0x080c, 0x2205, 0x6054, 0x8004, 0x8004, + 0x8004, 0x8004, 0x9084, 0x000c, 0x6150, 0x918c, 0xfff3, 0x9105, + 0x6052, 0x6050, 0x9084, 0xfbff, 0x9085, 0x2000, 0x6052, 0x2009, + 0x12d7, 0x2011, 0x12d8, 0x6358, 0x939c, 0x38f0, 0x2320, 0x080c, + 0x2249, 0x1238, 0x939d, 0x4003, 0x94a5, 0x8603, 0x230a, 0x2412, + 0x0030, 0x939d, 0x0203, 0x94a5, 0x8603, 0x230a, 0x2412, 0x9006, + 0x080c, 0x2234, 0x9006, 0x080c, 0x2217, 0x20a9, 0x0012, 0x1d04, + 0x1b77, 0x2091, 0x6000, 0x1f04, 0x1b77, 0x602f, 0x0100, 0x602f, + 0x0000, 0x6050, 0x9085, 0x0400, 0x9084, 0xdfff, 0x6052, 0x6024, + 0x6026, 0x080c, 0x1f08, 0x2009, 0x00ef, 0x6132, 0x6136, 0x080c, + 0x1f18, 0x60e7, 0x0000, 0x61ea, 0x60e3, 0x0008, 0x604b, 0xf7f7, + 0x6043, 0x0000, 0x602f, 0x0080, 0x602f, 0x0000, 0x6007, 0x049f, + 0x60bb, 0x0000, 0x20a9, 0x0018, 0x60bf, 0x0000, 0x1f04, 0x1ba4, + 0x60bb, 0x0000, 0x60bf, 0x0108, 0x60bf, 0x0012, 0x60bf, 0x0320, + 0x60bf, 0x0018, 0x601b, 0x001e, 0x601f, 0x001e, 0x600f, 0x006b, + 0x602b, 0x402f, 0x012e, 0x0005, 0x00f6, 0x2079, 0x0140, 0x78c3, + 0x0080, 0x78c3, 0x0083, 0x78c3, 0x0000, 0x00fe, 0x0005, 0x2001, + 0x1133, 0x2003, 0x0000, 0x2001, 0x1132, 0x2003, 0x0001, 0x0005, + 0x0126, 0x2091, 0x2800, 0x0006, 0x0016, 0x0026, 0x6124, 0x9184, + 0x5e2c, 0x1118, 0x9184, 0x0007, 0x002a, 0x9195, 0x0004, 0x9284, + 0x0007, 0x0002, 0x1c04, 0x1bea, 0x1bed, 0x1bf0, 0x1bf5, 0x1bf7, + 0x1bfb, 0x1bff, 0x080c, 0x745f, 0x00b8, 0x080c, 0x7530, 0x00a0, + 0x080c, 0x7530, 0x080c, 0x745f, 0x0078, 0x0099, 0x0068, 0x080c, + 0x745f, 0x0079, 0x0048, 0x080c, 0x7530, 0x0059, 0x0028, 0x080c, + 0x7530, 0x080c, 0x745f, 0x0029, 0x002e, 0x001e, 0x000e, 0x012e, + 0x0005, 0x6124, 0x6028, 0xd09c, 0x0118, 0xd19c, 0x1904, 0x1e33, + 0xd1f4, 0x0110, 0x080c, 0x0d4e, 0x080c, 0x62c5, 0x0588, 0x7000, + 0x9086, 0x0003, 0x01a8, 0x6024, 0x9084, 0x1800, 0x0188, 0x080c, + 0x62eb, 0x0118, 0x080c, 0x62d7, 0x1158, 0x6027, 0x0020, 0x6043, + 0x0000, 0x080c, 0x6316, 0x2001, 0x12a7, 0x2003, 0xaaaa, 0x0458, + 0x080c, 0x62eb, 0x15d0, 0x6024, 0x9084, 0x1800, 0x1108, 0x04a8, + 0x2001, 0x12a7, 0x2003, 0xaaaa, 0x2001, 0x12a8, 0x2003, 0x0001, + 0x2001, 0x1100, 0x2003, 0x0001, 0x080c, 0x61f5, 0x0804, 0x1e33, + 0xd1ac, 0x1518, 0x6024, 0xd0dc, 0x1170, 0xd0e4, 0x1188, 0xd0d4, + 0x11a0, 0xd0cc, 0x0130, 0x7090, 0x9086, 0x0028, 0x1110, 0x080c, + 0x6461, 0x0804, 0x1e33, 0x2001, 0x12a8, 0x2003, 0x0000, 0x0048, + 0x2001, 0x12a8, 0x2003, 0x0002, 0x0020, 0x080c, 0x63d5, 0x0804, + 0x1e33, 0x080c, 0x64fd, 0x0804, 0x1e33, 0xd1ac, 0x0904, 0x1d64, + 0x080c, 0x62c5, 0x11d8, 0x6027, 0x0020, 0x0006, 0x0026, 0x0036, + 0x080c, 0x62e1, 0x1170, 0x2001, 0x12a8, 0x2003, 0x0001, 0x2001, + 0x1100, 0x2003, 0x0001, 0x080c, 0x61f5, 0x003e, 0x002e, 0x000e, + 0x0005, 0x003e, 0x002e, 0x000e, 0x080c, 0x629c, 0x0016, 0x0046, + 0x00c6, 0x644c, 0x9486, 0xf0f0, 0x1138, 0x2061, 0x0100, 0x644a, + 0x6043, 0x0090, 0x6043, 0x0010, 0x74d2, 0x948c, 0xff00, 0x7034, + 0xd084, 0x0178, 0x9186, 0xf800, 0x1160, 0x7040, 0xd084, 0x1148, + 0xc085, 0x7042, 0x0036, 0x2418, 0x2011, 0x8016, 0x080c, 0x3ecb, + 0x003e, 0x9196, 0xff00, 0x05b8, 0x7058, 0x9084, 0x00ff, 0x810f, + 0x9116, 0x0588, 0x7130, 0xd184, 0x1570, 0x2011, 0x1153, 0x2214, + 0xd2ec, 0x0138, 0xc18d, 0x7132, 0x2011, 0x1153, 0x2214, 0xd2ac, + 0x1510, 0x6240, 0x9294, 0x0010, 0x0130, 0x6248, 0x9294, 0xff00, + 0x9296, 0xff00, 0x01c0, 0x7030, 0xd08c, 0x0904, 0x1d3c, 0x7034, + 0xd08c, 0x1140, 0x2001, 0x110c, 0x200c, 0xd1ac, 0x1904, 0x1d3c, + 0xc1ad, 0x2102, 0x0036, 0x73d0, 0x2011, 0x8013, 0x080c, 0x3ecb, + 0x003e, 0x0804, 0x1d3c, 0x7034, 0xd08c, 0x1140, 0x2001, 0x110c, + 0x200c, 0xd1ac, 0x1904, 0x1d3c, 0xc1ad, 0x2102, 0x0036, 0x73d0, + 0x2011, 0x8013, 0x080c, 0x3ecb, 0x003e, 0x7130, 0xc185, 0x7132, + 0x2011, 0x1153, 0x220c, 0xd1a4, 0x01f0, 0x0016, 0x2009, 0x0001, + 0x2011, 0x0100, 0x080c, 0x7391, 0x2019, 0x000e, 0x00c6, 0x2061, + 0x0000, 0x080c, 0xbfd0, 0x00ce, 0x9484, 0x00ff, 0x9080, 0x2964, + 0x200d, 0x918c, 0xff00, 0x810f, 0x8127, 0x9006, 0x2009, 0x000e, + 0x080c, 0xc04a, 0x001e, 0xd1ac, 0x1148, 0x0016, 0x2009, 0x0000, + 0x2019, 0x0004, 0x080c, 0x2816, 0x001e, 0x0070, 0x0156, 0x20a9, + 0x007f, 0x2009, 0x0000, 0x080c, 0x560e, 0x1110, 0x080c, 0x50e9, + 0x8108, 0x1f04, 0x1d33, 0x015e, 0x00ce, 0x004e, 0x2011, 0x0003, + 0x080c, 0x885b, 0x2011, 0x0002, 0x080c, 0x8865, 0x080c, 0x8738, + 0x0036, 0x2019, 0x0000, 0x080c, 0x87ca, 0x003e, 0x60e3, 0x0000, + 0x001e, 0x2001, 0x1100, 0x2014, 0x9296, 0x0004, 0x1128, 0xd19c, + 0x1158, 0x6228, 0xc29d, 0x622a, 0x2003, 0x0001, 0x2001, 0x1124, + 0x2003, 0x0000, 0x6027, 0x0020, 0xd194, 0x0904, 0x1e33, 0x0016, + 0x6220, 0xd2b4, 0x0904, 0x1de2, 0x080c, 0x7256, 0x080c, 0x8570, + 0x6027, 0x0004, 0x00f6, 0x2019, 0x130c, 0x2304, 0x907d, 0x05f0, + 0x7804, 0x9086, 0x0032, 0x15d0, 0x00d6, 0x00c6, 0x00e6, 0x2069, + 0x0140, 0x7810, 0x685e, 0x7808, 0x685a, 0x6043, 0x0002, 0x2001, + 0x0003, 0x8001, 0x1df0, 0x6043, 0x0000, 0x2001, 0x003c, 0x8001, + 0x1df0, 0x6803, 0x1000, 0x6803, 0x0000, 0x2001, 0x001e, 0x8001, + 0x0240, 0x20a9, 0x0009, 0x080c, 0x22c1, 0x6904, 0xd1dc, 0x1128, + 0x0cb0, 0x6803, 0x1000, 0x6803, 0x0000, 0x080c, 0x797f, 0x080c, + 0x7a7b, 0x7814, 0x2070, 0x7067, 0x0103, 0x2f60, 0x080c, 0x8e49, + 0x00ee, 0x00ce, 0x00de, 0x00fe, 0x001e, 0x0005, 0x00fe, 0x00d6, + 0x2069, 0x0140, 0x6804, 0x9084, 0x4000, 0x0120, 0x6803, 0x1000, + 0x6803, 0x0000, 0x00de, 0x00c6, 0x2061, 0x1303, 0x6028, 0x909a, + 0x00c8, 0x1238, 0x8000, 0x602a, 0x00ce, 0x080c, 0x854c, 0x0804, + 0x1e32, 0x2061, 0x0100, 0x62c0, 0x080c, 0x8d40, 0x2019, 0x130c, + 0x2304, 0x9065, 0x0120, 0x2009, 0x0027, 0x080c, 0x8ebf, 0x00ce, + 0x0804, 0x1e32, 0xd2bc, 0x05d8, 0x080c, 0x7263, 0x6014, 0x9084, + 0x1984, 0x9085, 0x0010, 0x6016, 0x6027, 0x0004, 0x00d6, 0x2069, + 0x0140, 0x6804, 0x9084, 0x4000, 0x0120, 0x6803, 0x1000, 0x6803, + 0x0000, 0x00de, 0x00c6, 0x2061, 0x1303, 0x6044, 0x909a, 0x00c8, + 0x1608, 0x8000, 0x6046, 0x603c, 0x00ce, 0x9005, 0x0558, 0x2009, + 0x07d0, 0x080c, 0x725b, 0x9080, 0x0008, 0x2004, 0x9086, 0x0006, + 0x1138, 0x6114, 0x918c, 0x1984, 0x918d, 0x0012, 0x6116, 0x00d0, + 0x6114, 0x918c, 0x1984, 0x918d, 0x0016, 0x6116, 0x0098, 0x6027, + 0x0004, 0x0080, 0x0036, 0x2019, 0x0001, 0x080c, 0x87ca, 0x003e, + 0x2019, 0x1312, 0x2304, 0x9065, 0x0120, 0x2009, 0x004f, 0x080c, + 0x8ebf, 0x00ce, 0x001e, 0xd19c, 0x0904, 0x1eaa, 0x7034, 0xd0ac, + 0x1904, 0x1e7a, 0x0016, 0x0156, 0x6027, 0x0008, 0x6050, 0x9085, + 0x0040, 0x6052, 0x6050, 0x9084, 0xfbcf, 0x6052, 0x080c, 0x22e0, + 0x9085, 0x2000, 0x6052, 0x20a9, 0x0012, 0x1d04, 0x1e4d, 0x2091, + 0x6000, 0x1f04, 0x1e4d, 0x6050, 0x9085, 0x0400, 0x9084, 0xdfbf, + 0x6052, 0x20a9, 0x0028, 0xa001, 0x1f04, 0x1e5b, 0x6150, 0x9185, + 0x1400, 0x6052, 0x20a9, 0x0366, 0x1d04, 0x1e64, 0x2091, 0x6000, + 0x6020, 0xd09c, 0x1130, 0x015e, 0x6152, 0x001e, 0x6027, 0x0008, + 0x04c8, 0x080c, 0x22a4, 0x1f04, 0x1e64, 0x015e, 0x6152, 0x001e, + 0x6027, 0x0008, 0x0016, 0x6028, 0xc09c, 0x602a, 0x2011, 0x0003, + 0x080c, 0x885b, 0x2011, 0x0002, 0x080c, 0x8865, 0x080c, 0x8738, + 0x0036, 0x2019, 0x0000, 0x080c, 0x87ca, 0x003e, 0x60e3, 0x0000, + 0x080c, 0xc392, 0x080c, 0xc3ad, 0x2001, 0x1172, 0x2004, 0xd0fc, + 0x1120, 0x9085, 0x0001, 0x080c, 0x6309, 0x2001, 0x0140, 0x2003, + 0x0000, 0x2001, 0x1100, 0x2003, 0x0004, 0x6027, 0x0008, 0x080c, + 0x0b56, 0x001e, 0x918c, 0xffd0, 0x6126, 0x0005, 0x0006, 0x0016, + 0x0026, 0x0036, 0x00e6, 0x00f6, 0x0126, 0x2091, 0x8000, 0x2071, + 0x1100, 0x71c8, 0x70ca, 0x9116, 0x0548, 0x81ff, 0x0180, 0x2011, + 0x8011, 0x2019, 0x010e, 0x231c, 0x939e, 0x0007, 0x1118, 0x2019, + 0x0001, 0x0010, 0x2019, 0x0000, 0x080c, 0x3ecb, 0x00b8, 0x2011, + 0x8012, 0x080c, 0x3ecb, 0x2001, 0x1172, 0x2004, 0xd0fc, 0x1170, + 0x00c6, 0x080c, 0x1f63, 0x080c, 0x8714, 0x2061, 0x0100, 0x2019, + 0x0028, 0x2009, 0x0000, 0x080c, 0x2816, 0x00ce, 0x012e, 0x00fe, + 0x00ee, 0x003e, 0x002e, 0x001e, 0x000e, 0x0005, 0x2028, 0x918c, + 0x00ff, 0x2130, 0x9094, 0xff00, 0x1110, 0x81ff, 0x0118, 0x080c, + 0x6e40, 0x0038, 0x9080, 0x2964, 0x200d, 0x918c, 0xff00, 0x810f, + 0x9006, 0x0005, 0x9080, 0x2964, 0x200d, 0x918c, 0x00ff, 0x0005, + 0x00d6, 0x2069, 0x0140, 0x2001, 0x1116, 0x2003, 0x00ef, 0x20a9, + 0x0010, 0x9006, 0x6852, 0x6856, 0x1f04, 0x1f13, 0x00de, 0x0005, + 0x0006, 0x00d6, 0x0026, 0x2069, 0x0140, 0x2001, 0x1116, 0x2102, + 0x8114, 0x8214, 0x8214, 0x8214, 0x20a9, 0x0010, 0x6853, 0x0000, + 0x9006, 0x82ff, 0x1128, 0x9184, 0x000f, 0x9080, 0xc78f, 0x2005, + 0x6856, 0x8211, 0x1f04, 0x1f28, 0x002e, 0x00de, 0x000e, 0x0005, + 0x00c6, 0x2061, 0x1100, 0x6030, 0x0110, 0xc09d, 0x0008, 0xc09c, + 0x6032, 0x00ce, 0x0005, 0x0156, 0x00d6, 0x0026, 0x0016, 0x0006, + 0x2069, 0x0140, 0x6980, 0x9116, 0x0180, 0x9112, 0x1230, 0x8212, + 0x8210, 0x22a8, 0x2001, 0x0402, 0x0018, 0x22a8, 0x2001, 0x0404, + 0x680e, 0x1f04, 0x1f58, 0x680f, 0x0000, 0x000e, 0x001e, 0x002e, + 0x00de, 0x015e, 0x0005, 0x2001, 0x1153, 0x2004, 0xd0c4, 0x0150, + 0xd0a4, 0x0140, 0x9006, 0x0046, 0x2020, 0x2009, 0x002e, 0x080c, + 0xc04a, 0x004e, 0x0005, 0x00f6, 0x0016, 0x0026, 0x2079, 0x0140, + 0x78c4, 0xd0dc, 0x0904, 0x1fd6, 0x080c, 0x2249, 0x0690, 0x9084, + 0x0700, 0x908e, 0x0600, 0x1128, 0x2011, 0x4000, 0x2009, 0x0000, + 0x0480, 0x908e, 0x0500, 0x1128, 0x2011, 0x8000, 0x2009, 0x0000, + 0x0440, 0x908e, 0x0400, 0x1128, 0x2011, 0x0000, 0x2009, 0x0001, + 0x0400, 0x908e, 0x0300, 0x1128, 0x2011, 0x0000, 0x2009, 0x0002, + 0x00c0, 0x908e, 0x0200, 0x1128, 0x2011, 0x0000, 0x2009, 0x0004, + 0x0080, 0x908e, 0x0100, 0x1550, 0x2011, 0x0000, 0x2009, 0x0008, + 0x0040, 0x9084, 0x0700, 0x908e, 0x0300, 0x1500, 0x2011, 0x0030, + 0x0058, 0x2300, 0x9080, 0x0020, 0x2018, 0x080c, 0x73d2, 0x928c, + 0xff00, 0x0110, 0x2011, 0x00ff, 0x2200, 0x8007, 0x9085, 0x004c, + 0x78c2, 0x2009, 0x0138, 0x220a, 0x080c, 0x62c5, 0x1118, 0x2009, + 0x1298, 0x220a, 0x002e, 0x001e, 0x00fe, 0x0005, 0x78c3, 0x0000, + 0x0cc8, 0x0126, 0x2091, 0x2800, 0x0006, 0x0016, 0x0026, 0x2001, + 0x0170, 0x200c, 0x8000, 0x2014, 0x9184, 0x0003, 0x0110, 0x0804, + 0x0d4e, 0x002e, 0x001e, 0x000e, 0x012e, 0x0005, 0x2001, 0x0171, + 0x2004, 0xd0dc, 0x0168, 0x2001, 0x0170, 0x200c, 0x918c, 0x00ff, + 0x918e, 0x004c, 0x1128, 0x200c, 0x918c, 0xff00, 0x810f, 0x0005, + 0x2009, 0x0000, 0x2001, 0x0227, 0x2004, 0x8007, 0x9084, 0x00ff, + 0x8004, 0x9108, 0x2001, 0x0226, 0x2004, 0x8007, 0x9084, 0x00ff, + 0x8004, 0x9108, 0x0005, 0x0018, 0x000c, 0x0018, 0x0020, 0x1000, + 0x0800, 0x1000, 0x1800, 0x0156, 0x0006, 0x0016, 0x0026, 0x00e6, + 0x2001, 0x12ca, 0x2004, 0x908a, 0x0007, 0x1210, 0x004b, 0x0010, + 0x080c, 0x0d4e, 0x00ee, 0x002e, 0x001e, 0x000e, 0x015e, 0x0005, + 0x2037, 0x2056, 0x207b, 0x207e, 0x20a8, 0x20ab, 0x20ae, 0x2001, + 0x0001, 0x080c, 0x1eae, 0x080c, 0x229f, 0x2001, 0x12cc, 0x2003, + 0x0000, 0x7828, 0x9084, 0xe1d7, 0x782a, 0x2001, 0x0000, 0x20a9, + 0x0009, 0x080c, 0x225d, 0x2001, 0x12ca, 0x2003, 0x0006, 0x2009, + 0x001e, 0x2011, 0x20af, 0x080c, 0x7268, 0x0005, 0x2009, 0x12cf, + 0x200b, 0x0000, 0x2001, 0x12d4, 0x2003, 0x0036, 0x2001, 0x12d3, + 0x2003, 0x002a, 0x2001, 0x12cc, 0x2003, 0x0001, 0x2001, 0x0000, + 0x080c, 0x2217, 0x2001, 0xffff, 0x20a9, 0x0009, 0x080c, 0x225d, + 0x2001, 0x12ca, 0x2003, 0x0006, 0x2009, 0x001e, 0x2011, 0x20af, + 0x080c, 0x7268, 0x0005, 0x080c, 0x0d4e, 0x0005, 0x2001, 0x12d4, + 0x2003, 0x0036, 0x2001, 0x12cc, 0x2003, 0x0003, 0x7a38, 0x9294, + 0x0005, 0x9296, 0x0004, 0x0118, 0x2001, 0x0000, 0x0010, 0x2001, + 0x0001, 0x080c, 0x2217, 0x2001, 0x12d0, 0x2003, 0x0000, 0x2001, + 0xffff, 0x20a9, 0x0009, 0x080c, 0x225d, 0x2001, 0x12ca, 0x2003, + 0x0006, 0x2009, 0x001e, 0x2011, 0x20af, 0x080c, 0x7268, 0x0005, + 0x080c, 0x0d4e, 0x0005, 0x080c, 0x0d4e, 0x0005, 0x0005, 0x0006, + 0x0016, 0x0026, 0x00e6, 0x00f6, 0x0156, 0x0126, 0x2091, 0x8000, + 0x2079, 0x0100, 0x2001, 0x12cc, 0x2004, 0x908a, 0x0007, 0x1210, + 0x005b, 0x0010, 0x080c, 0x0d4e, 0x012e, 0x015e, 0x00fe, 0x00ee, + 0x002e, 0x001e, 0x000e, 0x0005, 0x20d3, 0x20f3, 0x2134, 0x2164, + 0x2188, 0x2198, 0x219b, 0x080c, 0x2251, 0x11b0, 0x7850, 0x9084, + 0xefff, 0x7852, 0x2009, 0x12d2, 0x2104, 0x7a38, 0x9294, 0x0005, + 0x9296, 0x0004, 0x0110, 0xc08d, 0x0008, 0xc085, 0x200a, 0x2001, + 0x12ca, 0x2003, 0x0001, 0x0030, 0x080c, 0x21c3, 0x2001, 0xffff, + 0x080c, 0x2047, 0x0005, 0x080c, 0x219e, 0x05e8, 0x2009, 0x12d3, + 0x2104, 0x8001, 0x200a, 0x080c, 0x2251, 0x1178, 0x7850, 0x9084, + 0xefff, 0x7852, 0x7a38, 0x9294, 0x0005, 0x9296, 0x0005, 0x0520, + 0x2009, 0x12d2, 0x2104, 0xc085, 0x200a, 0x2009, 0x12cf, 0x2104, + 0x8000, 0x200a, 0x9086, 0x0005, 0x0118, 0x080c, 0x21a7, 0x00c8, + 0x200b, 0x0000, 0x7a38, 0x9294, 0x0006, 0x9296, 0x0004, 0x0118, + 0x2001, 0x0000, 0x0010, 0x2001, 0x0001, 0x080c, 0x2234, 0x2001, + 0x12cc, 0x2003, 0x0002, 0x0028, 0x2001, 0x12ca, 0x2003, 0x0003, + 0x0010, 0x080c, 0x206a, 0x0005, 0x080c, 0x219e, 0x0560, 0x2009, + 0x12d3, 0x2104, 0x8001, 0x200a, 0x080c, 0x2251, 0x1168, 0x7850, + 0x9084, 0xefff, 0x7852, 0x2001, 0x12ca, 0x2003, 0x0003, 0x2001, + 0x12cb, 0x2003, 0x0000, 0x00b8, 0x2009, 0x12d3, 0x2104, 0x9005, + 0x1118, 0x080c, 0x21e8, 0x0010, 0x080c, 0x21b5, 0x080c, 0x21a7, + 0x2009, 0x12cf, 0x200b, 0x0000, 0x2001, 0x12cc, 0x2003, 0x0001, + 0x080c, 0x206a, 0x0000, 0x0005, 0x04c9, 0x0508, 0x080c, 0x2251, + 0x11b8, 0x7850, 0x9084, 0xefff, 0x7852, 0x2009, 0x12d0, 0x2104, + 0x8000, 0x200a, 0x9086, 0x0007, 0x0108, 0x0078, 0x2001, 0x12d5, + 0x2003, 0x000a, 0x2009, 0x12d2, 0x2104, 0xc0fd, 0x200a, 0x0038, + 0x0431, 0x2001, 0x12cc, 0x2003, 0x0004, 0x080c, 0x2097, 0x0005, + 0x00a9, 0x0168, 0x080c, 0x2251, 0x1138, 0x7850, 0x9084, 0xefff, + 0x7852, 0x080c, 0x2082, 0x0018, 0x0091, 0x080c, 0x2097, 0x0005, + 0x080c, 0x0d4e, 0x0005, 0x080c, 0x0d4e, 0x0005, 0x2009, 0x12d4, + 0x2104, 0x8001, 0x200a, 0x1110, 0x080c, 0x2205, 0x0005, 0x7a38, + 0x9294, 0x0005, 0x9296, 0x0005, 0x0118, 0x2001, 0x0000, 0x0010, + 0x2001, 0x0001, 0x080c, 0x2234, 0x0005, 0x7a38, 0x9294, 0x0006, + 0x9296, 0x0006, 0x0118, 0x2001, 0x0000, 0x0010, 0x2001, 0x0001, + 0x080c, 0x2217, 0x0005, 0x2009, 0x12cf, 0x2104, 0x8000, 0x200a, + 0x9086, 0x0005, 0x0108, 0x0070, 0x200b, 0x0000, 0x7a38, 0x9294, + 0x0006, 0x9296, 0x0006, 0x0118, 0x2001, 0x0000, 0x0010, 0x2001, + 0x0001, 0x04e9, 0x7a38, 0x9294, 0x0005, 0x9296, 0x0005, 0x0118, + 0x2001, 0x0000, 0x0010, 0x2001, 0x0001, 0x080c, 0x2234, 0x0005, + 0x0086, 0x2001, 0x12d2, 0x2004, 0x9084, 0x7fff, 0x090c, 0x0d4e, + 0x2009, 0x12d1, 0x2144, 0x8846, 0x280a, 0x9844, 0x0dd8, 0xd08c, + 0x1120, 0xd084, 0x1128, 0x080c, 0x0d4e, 0x2001, 0x0000, 0x0010, + 0x2001, 0x0001, 0x00a1, 0x008e, 0x0005, 0x0006, 0x0156, 0x2001, + 0x12ca, 0x20a9, 0x0009, 0x2003, 0x0000, 0x8000, 0x1f04, 0x220b, + 0x2001, 0x12d1, 0x2003, 0x8000, 0x015e, 0x000e, 0x0005, 0x00f6, + 0x2079, 0x0100, 0x9085, 0x0000, 0x0158, 0x7838, 0x9084, 0xfff9, + 0x9085, 0x0004, 0x783a, 0x2009, 0x12d7, 0x210c, 0x795a, 0x0050, + 0x7838, 0x9084, 0xfffb, 0x9085, 0x0006, 0x783a, 0x2009, 0x12d8, + 0x210c, 0x795a, 0x00fe, 0x0005, 0x00f6, 0x2079, 0x0100, 0x9085, + 0x0000, 0x0138, 0x7838, 0x9084, 0xfffa, 0x9085, 0x0004, 0x783a, + 0x0030, 0x7838, 0x9084, 0xfffb, 0x9085, 0x0005, 0x783a, 0x00fe, + 0x0005, 0x0006, 0x2001, 0x0100, 0x2004, 0x9082, 0x0007, 0x000e, + 0x0005, 0x0156, 0x20a9, 0x0064, 0x7820, 0x080c, 0x22e0, 0xd09c, + 0x1110, 0x1f04, 0x2254, 0x015e, 0x0005, 0x0126, 0x0016, 0x0006, + 0x2091, 0x8000, 0x7850, 0x9085, 0x0040, 0x7852, 0x7850, 0x9084, + 0xfbcf, 0x7852, 0x080c, 0x22e0, 0x9085, 0x2000, 0x7852, 0x000e, + 0x2008, 0x9186, 0x0000, 0x1118, 0x783b, 0x0007, 0x0090, 0x9186, + 0x0001, 0x1118, 0x783b, 0x0006, 0x0060, 0x9186, 0x0002, 0x1118, + 0x783b, 0x0005, 0x0030, 0x9186, 0x0003, 0x1118, 0x783b, 0x0004, + 0x0000, 0x0006, 0x1d04, 0x228a, 0x080c, 0x728a, 0x1f04, 0x228a, + 0x7850, 0x9085, 0x0400, 0x9084, 0xdfbf, 0x7852, 0x080c, 0x22e0, + 0x9085, 0x1000, 0x7852, 0x000e, 0x001e, 0x012e, 0x0005, 0x7850, + 0x9084, 0xffcf, 0x7852, 0x0005, 0x0006, 0x0156, 0x00f6, 0x2079, + 0x0100, 0x20a9, 0x000a, 0x7854, 0xd0ac, 0x1130, 0x7820, 0xd0e4, + 0x1140, 0x1f04, 0x22ae, 0x0028, 0x7854, 0xd08c, 0x1110, 0x1f04, + 0x22b4, 0x00fe, 0x015e, 0x000e, 0x0005, 0x7820, 0x0409, 0xd09c, + 0x0005, 0x1d04, 0x22c1, 0x080c, 0x728a, 0x1f04, 0x22c1, 0x0005, + 0x0006, 0x2001, 0x12d6, 0x2004, 0x9086, 0x0000, 0x000e, 0x0005, + 0x0006, 0x2001, 0x12d6, 0x2004, 0x9086, 0x0001, 0x000e, 0x0005, + 0x0006, 0x2001, 0x12d6, 0x2004, 0x9086, 0x0002, 0x000e, 0x0005, + 0xa001, 0xa001, 0xa001, 0xa001, 0xa001, 0x0005, 0x2009, 0x0171, + 0x2104, 0xd0dc, 0x0140, 0x2009, 0x0170, 0x2104, 0x200b, 0x0080, + 0xa001, 0xa001, 0x200a, 0x0005, 0x0036, 0x0046, 0x2001, 0x0141, + 0x200c, 0x918c, 0xff00, 0x9186, 0x2000, 0x0118, 0x9186, 0x0100, + 0x1560, 0x2009, 0x017f, 0x200b, 0x00a2, 0x2009, 0x0169, 0x2019, + 0x0160, 0x2324, 0x2011, 0x0003, 0x2104, 0x9084, 0x0007, 0x9086, + 0x0003, 0x11b8, 0x2304, 0x9402, 0x02a0, 0x1d98, 0x8211, 0x1da0, + 0x84ff, 0x0170, 0x2001, 0x0141, 0x200c, 0x918c, 0xff00, 0x9186, + 0x0100, 0x0130, 0x2009, 0x110c, 0x2104, 0xc0dd, 0x200a, 0x0008, + 0x0419, 0x2001, 0x017f, 0x2003, 0x0000, 0x004e, 0x003e, 0x0005, + 0x2001, 0x110c, 0x2004, 0xd0dc, 0x01b0, 0x2001, 0x0160, 0x2004, + 0x9005, 0x0140, 0x2001, 0x0141, 0x2004, 0x9084, 0xff00, 0x9086, + 0x0100, 0x1148, 0x0126, 0x2091, 0x8000, 0x0016, 0x0026, 0x0021, + 0x002e, 0x001e, 0x012e, 0x0005, 0x00c6, 0x2061, 0x0100, 0x6014, + 0x0006, 0x2001, 0x0161, 0x2003, 0x0000, 0x6017, 0x0018, 0xa001, + 0xa001, 0x602f, 0x0008, 0x6104, 0x918e, 0x0010, 0x6106, 0x918e, + 0x0010, 0x6106, 0x6017, 0x0040, 0x2001, 0x0140, 0x2003, 0x1000, + 0x2003, 0x0000, 0x001e, 0x9184, 0x0003, 0x01c0, 0x0036, 0x2019, + 0x0141, 0x2304, 0x9084, 0xff00, 0x9086, 0x0800, 0x1dd0, 0x919c, + 0xffe4, 0x9184, 0x0001, 0x0118, 0x9385, 0x0009, 0x6016, 0x9184, + 0x0002, 0x0118, 0x9385, 0x0012, 0x6016, 0x003e, 0x2001, 0x110c, + 0x200c, 0xc1dc, 0x2102, 0x00ce, 0x0005, 0x2657, 0x2657, 0x241d, + 0x2429, 0x2435, 0x2441, 0x244d, 0x245b, 0x2469, 0x2475, 0x2481, + 0x248f, 0x249d, 0x24ab, 0x24b9, 0x24c9, 0x24db, 0x24db, 0x24e7, + 0x24e7, 0x24f5, 0x24f5, 0x2513, 0x2513, 0x2533, 0x2533, 0x2503, + 0x2503, 0x2523, 0x2523, 0x2541, 0x2541, 0x24d9, 0x24d9, 0x24d9, + 0x24d9, 0x24d9, 0x24d9, 0x24d9, 0x24d9, 0x24d9, 0x24d9, 0x24d9, + 0x24d9, 0x24d9, 0x24d9, 0x24d9, 0x24d9, 0x24d9, 0x24d9, 0x24d9, + 0x24d9, 0x24d9, 0x24d9, 0x24d9, 0x24d9, 0x24d9, 0x24d9, 0x24d9, + 0x24d9, 0x24d9, 0x24d9, 0x24d9, 0x24d9, 0x2553, 0x2553, 0x255f, + 0x255f, 0x256d, 0x256d, 0x257b, 0x257b, 0x258b, 0x258b, 0x2599, + 0x2599, 0x25a9, 0x25a9, 0x25b9, 0x25b9, 0x25cb, 0x25cb, 0x25d9, + 0x25d9, 0x25e9, 0x25e9, 0x260b, 0x260b, 0x262d, 0x262d, 0x25f9, + 0x25f9, 0x261c, 0x261c, 0x263c, 0x263c, 0x24d9, 0x24d9, 0x24d9, + 0x24d9, 0x24d9, 0x24d9, 0x24d9, 0x24d9, 0x24d9, 0x24d9, 0x24d9, + 0x24d9, 0x24d9, 0x24d9, 0x24d9, 0x24d9, 0x24d9, 0x24d9, 0x24d9, + 0x24d9, 0x24d9, 0x24d9, 0x24d9, 0x24d9, 0x24d9, 0x24d9, 0x24d9, + 0x24d9, 0x24d9, 0x24d9, 0x24d9, 0x24d9, 0x24d9, 0x24d9, 0x24d9, + 0x24d9, 0x24d9, 0x24d9, 0x24d9, 0x24d9, 0x24d9, 0x24d9, 0x24d9, + 0x24d9, 0x24d9, 0x24d9, 0x24d9, 0x24d9, 0x0106, 0x0006, 0x0126, + 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x1bd0, 0x0804, + 0x264f, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, + 0x0156, 0x080c, 0x1bd0, 0x0804, 0x264f, 0x0106, 0x0006, 0x0126, + 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x196a, 0x0804, + 0x264f, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, + 0x0156, 0x080c, 0x196a, 0x0804, 0x264f, 0x0106, 0x0006, 0x0126, + 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x196a, 0x080c, + 0x1bd0, 0x0804, 0x264f, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, + 0x0136, 0x0146, 0x0156, 0x080c, 0x196a, 0x080c, 0x1bd0, 0x0804, + 0x264f, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, + 0x0156, 0x080c, 0x19ac, 0x0804, 0x264f, 0x0106, 0x0006, 0x0126, + 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x19ac, 0x0804, + 0x264f, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, + 0x0156, 0x080c, 0x1bd0, 0x080c, 0x19ac, 0x0804, 0x264f, 0x0106, + 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, + 0x1bd0, 0x080c, 0x19ac, 0x0804, 0x264f, 0x0106, 0x0006, 0x0126, + 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x196a, 0x080c, + 0x19ac, 0x0804, 0x264f, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, + 0x0136, 0x0146, 0x0156, 0x080c, 0x196a, 0x080c, 0x19ac, 0x0804, + 0x264f, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, + 0x0156, 0x080c, 0x196a, 0x080c, 0x1bd0, 0x080c, 0x19ac, 0x0804, + 0x264f, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, + 0x0156, 0x080c, 0x196a, 0x080c, 0x1bd0, 0x080c, 0x19ac, 0x0804, + 0x264f, 0xa001, 0x0cf0, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, + 0x0136, 0x0146, 0x0156, 0x080c, 0x10ca, 0x0804, 0x264f, 0x0106, + 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, + 0x1bd0, 0x080c, 0x10ca, 0x0804, 0x264f, 0x0106, 0x0006, 0x0126, + 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x196a, 0x080c, + 0x10ca, 0x0804, 0x264f, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, + 0x0136, 0x0146, 0x0156, 0x080c, 0x1bd0, 0x080c, 0x10ca, 0x080c, + 0x19ac, 0x0804, 0x264f, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, + 0x0136, 0x0146, 0x0156, 0x080c, 0x196a, 0x080c, 0x1bd0, 0x080c, + 0x10ca, 0x0804, 0x264f, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, + 0x0136, 0x0146, 0x0156, 0x080c, 0x196a, 0x080c, 0x10ca, 0x080c, + 0x19ac, 0x0804, 0x264f, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, + 0x0136, 0x0146, 0x0156, 0x080c, 0x10ca, 0x080c, 0x19ac, 0x0804, + 0x264f, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, + 0x0156, 0x080c, 0x196a, 0x080c, 0x1bd0, 0x080c, 0x10ca, 0x080c, + 0x19ac, 0x0804, 0x264f, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, + 0x0136, 0x0146, 0x0156, 0x080c, 0x1fd9, 0x0804, 0x264f, 0x0106, + 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, + 0x1fd9, 0x080c, 0x1bd0, 0x0804, 0x264f, 0x0106, 0x0006, 0x0126, + 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x1fd9, 0x080c, + 0x196a, 0x0804, 0x264f, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, + 0x0136, 0x0146, 0x0156, 0x080c, 0x1fd9, 0x080c, 0x196a, 0x080c, + 0x1bd0, 0x0804, 0x264f, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, + 0x0136, 0x0146, 0x0156, 0x080c, 0x1fd9, 0x080c, 0x19ac, 0x0804, + 0x264f, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, + 0x0156, 0x080c, 0x1fd9, 0x080c, 0x1bd0, 0x080c, 0x19ac, 0x0804, + 0x264f, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, + 0x0156, 0x080c, 0x1fd9, 0x080c, 0x196a, 0x080c, 0x19ac, 0x0804, + 0x264f, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, + 0x0156, 0x080c, 0x1fd9, 0x080c, 0x196a, 0x080c, 0x1bd0, 0x080c, + 0x19ac, 0x0804, 0x264f, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, + 0x0136, 0x0146, 0x0156, 0x080c, 0x1fd9, 0x080c, 0x10ca, 0x0804, + 0x264f, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, + 0x0156, 0x080c, 0x1fd9, 0x080c, 0x1bd0, 0x080c, 0x10ca, 0x0804, + 0x264f, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, + 0x0156, 0x080c, 0x1fd9, 0x080c, 0x196a, 0x080c, 0x10ca, 0x0804, + 0x264f, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, + 0x0156, 0x080c, 0x1fd9, 0x080c, 0x1bd0, 0x080c, 0x10ca, 0x080c, + 0x19ac, 0x0804, 0x264f, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, + 0x0136, 0x0146, 0x0156, 0x080c, 0x1fd9, 0x080c, 0x196a, 0x080c, + 0x1bd0, 0x080c, 0x10ca, 0x0498, 0x0106, 0x0006, 0x0126, 0x01c6, + 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x1fd9, 0x080c, 0x196a, + 0x080c, 0x10ca, 0x080c, 0x19ac, 0x0410, 0x0106, 0x0006, 0x0126, + 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x1fd9, 0x080c, + 0x10ca, 0x080c, 0x19ac, 0x0098, 0x0106, 0x0006, 0x0126, 0x01c6, + 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x1fd9, 0x080c, 0x196a, + 0x080c, 0x1bd0, 0x080c, 0x10ca, 0x080c, 0x19ac, 0x0000, 0x015e, + 0x014e, 0x013e, 0x01de, 0x01ce, 0x012e, 0x000e, 0x010e, 0x000d, + 0x00c6, 0x0026, 0x0046, 0x2021, 0x0000, 0x080c, 0x589c, 0x1904, + 0x273e, 0x72d4, 0x2001, 0x12a7, 0x2004, 0x9005, 0x1110, 0xd29c, + 0x0148, 0xd284, 0x1138, 0xd2bc, 0x1904, 0x273e, 0x080c, 0x2742, + 0x0804, 0x273e, 0xd2cc, 0x1904, 0x273e, 0x080c, 0x62c5, 0x1120, + 0x70a3, 0xffff, 0x0804, 0x273e, 0xd294, 0x0120, 0x70a3, 0xffff, + 0x0804, 0x273e, 0x2001, 0x1174, 0x2004, 0xd0bc, 0x0120, 0x70a3, + 0xffff, 0x0804, 0x273e, 0x2001, 0x1116, 0x203c, 0x728c, 0xd284, + 0x0904, 0x26e0, 0xd28c, 0x1904, 0x26e0, 0x0036, 0x73a0, 0x938e, + 0xffff, 0x1110, 0x2019, 0x0001, 0x8314, 0x92e0, 0x1580, 0x2c04, + 0x938c, 0x0001, 0x0120, 0x9084, 0xff00, 0x8007, 0x0010, 0x9084, + 0x00ff, 0x970e, 0x0560, 0x908e, 0x0000, 0x0548, 0x908e, 0x00ff, + 0x1150, 0x7230, 0xd284, 0x1538, 0x728c, 0xc28d, 0x728e, 0x70a3, + 0xffff, 0x003e, 0x0428, 0x2009, 0x0000, 0x080c, 0x1eee, 0x080c, + 0x55b9, 0x11b8, 0x6004, 0x9084, 0x00ff, 0x9086, 0x0006, 0x1150, + 0x7030, 0xd08c, 0x0118, 0x6000, 0xd0bc, 0x0120, 0x080c, 0x2755, + 0x0140, 0x0028, 0x080c, 0x2880, 0x080c, 0x2783, 0x0110, 0x8318, + 0x0818, 0x73a2, 0x0010, 0x70a3, 0xffff, 0x003e, 0x0804, 0x273e, + 0x9780, 0x2964, 0x203d, 0x97bc, 0xff00, 0x873f, 0x2041, 0x007e, + 0x70a0, 0x9096, 0xffff, 0x1120, 0x2009, 0x0000, 0x28a8, 0x0050, + 0x9812, 0x0220, 0x2008, 0x9802, 0x20a8, 0x0020, 0x70a3, 0xffff, + 0x0804, 0x273e, 0x2700, 0x0156, 0x0016, 0x9106, 0x05a0, 0xc484, + 0x080c, 0x560e, 0x0120, 0x080c, 0x55b9, 0x15a8, 0x0008, 0xc485, + 0x6004, 0x9084, 0x00ff, 0x9086, 0x0006, 0x1130, 0x7030, 0xd08c, + 0x01e8, 0x6000, 0xd0bc, 0x11d0, 0x728c, 0xd28c, 0x0188, 0x6004, + 0x9084, 0x00ff, 0x9082, 0x0006, 0x02b0, 0xd484, 0x1118, 0x080c, + 0x55d6, 0x0028, 0x080c, 0x290a, 0x0170, 0x080c, 0x2937, 0x0058, + 0x080c, 0x2880, 0x080c, 0x2783, 0x0170, 0x0028, 0x080c, 0x290a, + 0x0110, 0x0419, 0x0140, 0x001e, 0x8108, 0x015e, 0x1f04, 0x26fa, + 0x70a3, 0xffff, 0x0018, 0x001e, 0x015e, 0x71a2, 0x004e, 0x002e, + 0x00ce, 0x0005, 0x00c6, 0x0016, 0x70a3, 0x0001, 0x2009, 0x007e, + 0x080c, 0x55b9, 0x1138, 0x080c, 0x2880, 0x04a9, 0x0118, 0x70d4, + 0xc0bd, 0x70d6, 0x001e, 0x00ce, 0x0005, 0x0016, 0x0076, 0x00d6, + 0x00c6, 0x2c68, 0x2001, 0x1157, 0x2004, 0x9084, 0x00ff, 0x6842, + 0x080c, 0x8e92, 0x01d8, 0x2d00, 0x6012, 0x080c, 0xac70, 0x6023, + 0x0001, 0x2001, 0x0000, 0x080c, 0x5557, 0x2001, 0x0000, 0x080c, + 0x5569, 0x0126, 0x2091, 0x8000, 0x709c, 0x8000, 0x709e, 0x012e, + 0x2009, 0x0004, 0x080c, 0x8ebf, 0x9085, 0x0001, 0x00ce, 0x00de, + 0x007e, 0x001e, 0x0005, 0x0016, 0x0076, 0x00d6, 0x00c6, 0x2c68, + 0x2001, 0x1157, 0x2004, 0x9084, 0x00ff, 0x6842, 0x080c, 0x8e92, + 0x0550, 0x2d00, 0x6012, 0x6800, 0xc0c4, 0x6802, 0x68a0, 0x9086, + 0x007e, 0x0140, 0x6804, 0x9084, 0x00ff, 0x9086, 0x0006, 0x1110, + 0x080c, 0x2841, 0x080c, 0xac70, 0x6023, 0x0001, 0x2001, 0x0000, + 0x080c, 0x5557, 0x2001, 0x0002, 0x080c, 0x5569, 0x0126, 0x2091, + 0x8000, 0x709c, 0x8000, 0x709e, 0x012e, 0x2009, 0x0002, 0x080c, + 0x8ebf, 0x9085, 0x0001, 0x00ce, 0x00de, 0x007e, 0x001e, 0x0005, + 0x00c6, 0x0026, 0x2009, 0x0080, 0x080c, 0x55b9, 0x1120, 0x0031, + 0x0110, 0x70db, 0xffff, 0x002e, 0x00ce, 0x0005, 0x0016, 0x0076, + 0x00d6, 0x00c6, 0x2c68, 0x080c, 0x8df3, 0x01d8, 0x2d00, 0x6012, + 0x080c, 0xac70, 0x6023, 0x0001, 0x2001, 0x0000, 0x080c, 0x5557, + 0x2001, 0x0002, 0x080c, 0x5569, 0x0126, 0x2091, 0x8000, 0x70dc, + 0x8000, 0x70de, 0x012e, 0x2009, 0x0002, 0x080c, 0x8ebf, 0x9085, + 0x0001, 0x00ce, 0x00de, 0x007e, 0x001e, 0x0005, 0x00c6, 0x00d6, + 0x0126, 0x2091, 0x8000, 0x2009, 0x007f, 0x080c, 0x55b9, 0x1190, + 0x2c68, 0x080c, 0x8df3, 0x0170, 0x2d00, 0x6012, 0x6316, 0x6023, + 0x0001, 0x620a, 0x080c, 0xac70, 0x2009, 0x0022, 0x080c, 0x8ebf, + 0x9085, 0x0001, 0x012e, 0x00de, 0x00ce, 0x0005, 0x00e6, 0x00c6, + 0x0066, 0x0036, 0x0026, 0x080c, 0x76f0, 0x080c, 0x7693, 0x080c, + 0x9c1b, 0x2130, 0x81ff, 0x0128, 0x20a9, 0x007e, 0x2009, 0x0000, + 0x0020, 0x20a9, 0x007f, 0x2009, 0x0000, 0x0016, 0x080c, 0x560e, + 0x1110, 0x080c, 0x50e9, 0x001e, 0x8108, 0x1f04, 0x282d, 0x86ff, + 0x1110, 0x080c, 0x0a64, 0x002e, 0x003e, 0x006e, 0x00ce, 0x00ee, + 0x0005, 0x00e6, 0x00c6, 0x0036, 0x0026, 0x0016, 0x6210, 0x2270, + 0x72a0, 0x0026, 0x2019, 0x0029, 0x080c, 0x76e4, 0x0076, 0x2039, + 0x0000, 0x080c, 0x75f1, 0x2c08, 0x080c, 0xbdcb, 0x007e, 0x001e, + 0x2e60, 0x6210, 0x6314, 0x080c, 0x50e9, 0x6212, 0x6316, 0x001e, + 0x002e, 0x003e, 0x00ce, 0x00ee, 0x0005, 0x00e6, 0x0006, 0x6010, + 0x9080, 0x0028, 0x2004, 0x9086, 0x0080, 0x0150, 0x2071, 0x1100, + 0x709c, 0x9005, 0x0110, 0x8001, 0x709e, 0x000e, 0x00ee, 0x0005, + 0x2071, 0x1100, 0x70dc, 0x9005, 0x0dc0, 0x8001, 0x70de, 0x0ca8, + 0x6000, 0xc08c, 0x6002, 0x0005, 0x00f6, 0x00e6, 0x00c6, 0x0036, + 0x0026, 0x0016, 0x0156, 0x2178, 0x81ff, 0x1118, 0x20a9, 0x0001, + 0x0098, 0x2001, 0x1153, 0x2004, 0xd0c4, 0x0150, 0xd0a4, 0x0140, + 0x9006, 0x0046, 0x2020, 0x2009, 0x002d, 0x080c, 0xc04a, 0x004e, + 0x20a9, 0x00ff, 0x2011, 0x0000, 0x0026, 0x928e, 0x007e, 0x0904, + 0x28e9, 0x928e, 0x007f, 0x05e8, 0x928e, 0x0080, 0x05d0, 0x9288, + 0x1000, 0x210c, 0x81ff, 0x05a8, 0x8fff, 0x1148, 0x2001, 0x12c8, + 0x0006, 0x2003, 0x0001, 0x04c9, 0x000e, 0x2003, 0x0000, 0x00c6, + 0x2160, 0x2001, 0x0001, 0x080c, 0x58a6, 0x00ce, 0x2019, 0x0029, + 0x080c, 0x76e4, 0x0076, 0x2039, 0x0000, 0x080c, 0x75f1, 0x00c6, + 0x0026, 0x2160, 0x6204, 0x9294, 0x00ff, 0x9286, 0x0006, 0x1118, + 0x6007, 0x0404, 0x0028, 0x2001, 0x0004, 0x8007, 0x9215, 0x6206, + 0x002e, 0x00ce, 0x0016, 0x2c08, 0x080c, 0xbdcb, 0x001e, 0x007e, + 0x2160, 0x002e, 0x8210, 0x1f04, 0x28a4, 0x015e, 0x001e, 0x002e, + 0x003e, 0x00ce, 0x00ee, 0x00fe, 0x0005, 0x0046, 0x0026, 0x0016, + 0x2001, 0x1153, 0x2004, 0xd0c4, 0x0148, 0xd0a4, 0x0138, 0x9006, + 0x2220, 0x8427, 0x2009, 0x0029, 0x080c, 0xc04a, 0x001e, 0x002e, + 0x004e, 0x0005, 0x0016, 0x0026, 0x0036, 0x00c6, 0x728c, 0x82ff, + 0x01f8, 0x2011, 0x1153, 0x2214, 0xd2ac, 0x11d0, 0x2100, 0x080c, + 0x1f02, 0x81ff, 0x01b8, 0x2019, 0x0001, 0x8314, 0x92e0, 0x1580, + 0x2c04, 0xd384, 0x0120, 0x9084, 0xff00, 0x8007, 0x0010, 0x9084, + 0x00ff, 0x9116, 0x0138, 0x9096, 0x00ff, 0x0110, 0x8318, 0x0c68, + 0x9085, 0x0001, 0x00ce, 0x003e, 0x002e, 0x001e, 0x0005, 0x0016, + 0x00c6, 0x0126, 0x2091, 0x8000, 0x0016, 0x0026, 0x0036, 0x2110, + 0x0026, 0x2019, 0x0029, 0x080c, 0x8a43, 0x002e, 0x080c, 0xc2f0, + 0x003e, 0x002e, 0x001e, 0x9180, 0x1000, 0x2004, 0x9065, 0x0158, + 0x0016, 0x00c6, 0x2061, 0x1388, 0x001e, 0x6112, 0x080c, 0x2841, + 0x001e, 0x080c, 0x55d6, 0x012e, 0x00ce, 0x001e, 0x0005, 0x2001, + 0x1135, 0x2004, 0xd0cc, 0x0005, 0x7eef, 0x7de8, 0x7ce4, 0x80e2, + 0x7be1, 0x80e0, 0x80dc, 0x80da, 0x7ad9, 0x80d6, 0x80d5, 0x80d4, + 0x80d3, 0x80d2, 0x80d1, 0x79ce, 0x78cd, 0x80cc, 0x80cb, 0x80ca, + 0x80c9, 0x80c7, 0x80c6, 0x77c5, 0x76c3, 0x80bc, 0x80ba, 0x75b9, + 0x80b6, 0x74b5, 0x73b4, 0x72b3, 0x80b2, 0x80b1, 0x80ae, 0x71ad, + 0x80ac, 0x70ab, 0x6faa, 0x6ea9, 0x80a7, 0x6da6, 0x6ca5, 0x6ba3, + 0x6a9f, 0x699e, 0x689d, 0x809b, 0x8098, 0x6797, 0x6690, 0x658f, + 0x6488, 0x6384, 0x6282, 0x8081, 0x8080, 0x617c, 0x607a, 0x8079, + 0x5f76, 0x8075, 0x8074, 0x8073, 0x8072, 0x8071, 0x806e, 0x5e6d, + 0x806c, 0x5d6b, 0x5c6a, 0x5b69, 0x8067, 0x5a66, 0x5965, 0x5863, + 0x575c, 0x565a, 0x5559, 0x8056, 0x8055, 0x5454, 0x5353, 0x5252, + 0x5151, 0x504e, 0x4f4d, 0x804c, 0x804b, 0x4e4a, 0x4d49, 0x8047, + 0x4c46, 0x8045, 0x8043, 0x803c, 0x803a, 0x8039, 0x8036, 0x4b35, + 0x8034, 0x4a33, 0x4932, 0x4831, 0x802e, 0x472d, 0x462c, 0x452b, + 0x442a, 0x4329, 0x4227, 0x8026, 0x8025, 0x4123, 0x401f, 0x3f1e, + 0x3e1d, 0x3d1b, 0x3c18, 0x8017, 0x8010, 0x3b0f, 0x3a08, 0x8004, + 0x3902, 0x8001, 0x8000, 0x8000, 0x3800, 0x3700, 0x3600, 0x8000, + 0x3500, 0x8000, 0x8000, 0x8000, 0x3400, 0x8000, 0x8000, 0x8000, + 0x8000, 0x8000, 0x8000, 0x3300, 0x3200, 0x8000, 0x8000, 0x8000, + 0x8000, 0x8000, 0x8000, 0x3100, 0x3000, 0x8000, 0x8000, 0x2f00, + 0x8000, 0x2e00, 0x2d00, 0x2c00, 0x8000, 0x8000, 0x8000, 0x2b00, + 0x8000, 0x2a00, 0x2900, 0x2800, 0x8000, 0x2700, 0x2600, 0x2500, + 0x2400, 0x2300, 0x2200, 0x8000, 0x8000, 0x2100, 0x2000, 0x1f00, + 0x1e00, 0x1d00, 0x1c00, 0x8000, 0x8000, 0x1b00, 0x1a00, 0x8000, + 0x1900, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x1800, + 0x8000, 0x1700, 0x1600, 0x1500, 0x8000, 0x1400, 0x1300, 0x1200, + 0x1100, 0x1000, 0x0f00, 0x8000, 0x8000, 0x0e00, 0x0d00, 0x0c00, + 0x0b00, 0x0a00, 0x0900, 0x8000, 0x8000, 0x0800, 0x0700, 0x8000, + 0x0600, 0x8000, 0x8000, 0x8000, 0x0500, 0x0400, 0x0300, 0x8000, + 0x0200, 0x8000, 0x8000, 0x8000, 0x0100, 0x8000, 0x8000, 0x8000, + 0x8000, 0x8000, 0x8000, 0x0000, 0x8000, 0x8000, 0x8000, 0x8000, + 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, + 0x8000, 0x8000, 0x8000, 0x8000, 0x2071, 0x1193, 0x7003, 0x0002, + 0x9006, 0x7012, 0x7016, 0x7042, 0x7046, 0x703a, 0x703e, 0x7033, + 0x11aa, 0x7037, 0x11aa, 0x7007, 0x0001, 0x2061, 0x11ea, 0x6003, + 0x0002, 0x0005, 0x1004, 0x2a89, 0x0e04, 0x2a89, 0x2071, 0x1193, + 0x2b78, 0x2a60, 0x7880, 0x908e, 0x0069, 0x1904, 0x2b77, 0x0804, + 0x2b05, 0x0005, 0x2071, 0x1193, 0x7004, 0x0002, 0x2a92, 0x2a93, + 0x2a9a, 0x2aab, 0x0005, 0x1004, 0x2a99, 0x0e04, 0x2a99, 0x2b78, + 0x00e8, 0x0005, 0x2b78, 0x2061, 0x11ea, 0x6008, 0x908e, 0x0100, + 0x0128, 0x9086, 0x0200, 0x0904, 0x2b71, 0x0005, 0x7014, 0x2068, + 0x2a60, 0x7018, 0x0807, 0x7010, 0x2068, 0x6864, 0x9086, 0x0103, + 0x0108, 0x0005, 0x2a60, 0x2b78, 0x7018, 0x0807, 0x2a60, 0x7880, + 0x908a, 0x0040, 0x1210, 0x61c8, 0x0042, 0x2100, 0x908a, 0x003f, + 0x1a04, 0x2b6e, 0x61c8, 0x0804, 0x2b05, 0x2b47, 0x2b7d, 0x2b87, + 0x2b8b, 0x2b95, 0x2b9b, 0x2b9f, 0x2baf, 0x2bb2, 0x2bbc, 0x2bc1, + 0x2bc6, 0x2bd1, 0x2bdc, 0x2beb, 0x2bfa, 0x2c08, 0x2c1f, 0x2c3a, + 0x2cbe, 0x2cc3, 0x2d01, 0x2db1, 0x2dc2, 0x2de1, 0x2b6e, 0x2b6e, + 0x2b6e, 0x2e19, 0x2e38, 0x2e41, 0x2e74, 0x2e7a, 0x2b6e, 0x2ea3, + 0x2b6e, 0x2b6e, 0x2b6e, 0x2b6e, 0x2b6e, 0x2eae, 0x2eb8, 0x2ec0, + 0x2b6e, 0x2b6e, 0x2b6e, 0x2b6e, 0x2b6e, 0x2b6e, 0x2b6e, 0x2ec2, + 0x2b6e, 0x2b6e, 0x2b6e, 0x2b6e, 0x2b6e, 0x2edf, 0x2f35, 0x2b6e, + 0x2b6e, 0x2b6e, 0x2b6e, 0x2b6e, 0x2b6e, 0x0002, 0x2f5f, 0x2fb3, + 0x300e, 0x3021, 0x3052, 0x32cd, 0x2b6e, 0x4484, 0x2b6e, 0x2b6e, + 0x2b6e, 0x2b6e, 0x2b6e, 0x2b6e, 0x2b6e, 0x2b6e, 0x2bbc, 0x2bc1, + 0x3734, 0x2b6e, 0x3746, 0x4523, 0x457e, 0x462b, 0x2b6e, 0x4690, + 0x46bc, 0x46e1, 0x47f2, 0x4713, 0x476c, 0x2b6e, 0x374a, 0x3905, + 0x391b, 0x3939, 0x399e, 0x3a09, 0x3a14, 0x3a7e, 0x3a8d, 0x3a9c, + 0x3a9f, 0x3ac2, 0x3b15, 0x3b8f, 0x3b9c, 0x3c9f, 0x3dc8, 0x3df1, + 0x3fda, 0x3ffc, 0x4008, 0x4084, 0x4151, 0x2b6e, 0x2b6e, 0x2b6e, + 0x2b6e, 0x41b9, 0x41d4, 0x4386, 0x4440, 0x7144, 0x0000, 0x2021, + 0x4000, 0x080c, 0x3ea7, 0x0126, 0x2091, 0x8000, 0x0e04, 0x2b51, + 0x0010, 0x012e, 0x0cc0, 0x7c36, 0x9486, 0x4000, 0x0118, 0x7833, + 0x0011, 0x0010, 0x7833, 0x0010, 0x7c82, 0x7986, 0x7a8a, 0x7b8e, + 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, 0x190c, 0x0f7c, + 0x7007, 0x0001, 0x2091, 0x5000, 0x012e, 0x0005, 0x2021, 0x4001, + 0x08c0, 0x2021, 0x4002, 0x08a8, 0x2021, 0x4003, 0x0890, 0x2021, + 0x4005, 0x0878, 0x2021, 0x4006, 0x0860, 0x2039, 0x0001, 0x902e, + 0x2520, 0x7b88, 0x7a8c, 0x7884, 0x7990, 0x0804, 0x3eb4, 0x7883, + 0x0004, 0x7884, 0x0807, 0x2039, 0x0001, 0x902e, 0x2520, 0x7b88, + 0x7a8c, 0x7884, 0x7990, 0x0804, 0x3eb7, 0x7984, 0x7888, 0x2114, + 0x200a, 0x0804, 0x2b47, 0x7984, 0x2114, 0x0804, 0x2b47, 0x20e1, + 0x0000, 0x2099, 0x0021, 0x20e9, 0x0000, 0x20a1, 0x0021, 0x20a9, + 0x001f, 0x4003, 0x7984, 0x7a88, 0x7b8c, 0x0804, 0x2b47, 0x7884, + 0x2060, 0x04d8, 0x2009, 0x0003, 0x2011, 0x0001, 0x2019, 0x000b, + 0x789b, 0x0017, 0x0804, 0x2b47, 0x2039, 0x0001, 0x7d98, 0x7c9c, + 0x0800, 0x2039, 0x0001, 0x7d98, 0x7c9c, 0x0848, 0x79a0, 0x9182, + 0x0040, 0x0210, 0x0804, 0x2b7a, 0x2138, 0x7d98, 0x7c9c, 0x0804, + 0x2b81, 0x79a0, 0x9182, 0x0040, 0x0210, 0x0804, 0x2b7a, 0x2138, + 0x7d98, 0x7c9c, 0x0804, 0x2b8f, 0x79a0, 0x9182, 0x0040, 0x0210, + 0x0804, 0x2b7a, 0x21e8, 0x7984, 0x7888, 0x20a9, 0x0001, 0x21a0, + 0x4004, 0x0804, 0x2b47, 0x2061, 0x0800, 0xe10c, 0x9006, 0x2c15, + 0x9200, 0x8c60, 0x8109, 0x1dd8, 0x2010, 0x9005, 0x0904, 0x2b47, + 0x0804, 0x2b74, 0x79a0, 0x9182, 0x0040, 0x0210, 0x0804, 0x2b7a, + 0x21e0, 0x20a9, 0x0001, 0x7984, 0x2198, 0x4012, 0x0804, 0x2b47, + 0x2069, 0x1152, 0x7884, 0x7990, 0x911a, 0x1a04, 0x2b7a, 0x8019, + 0x0904, 0x2b7a, 0x684a, 0x6942, 0x788c, 0x6852, 0x7888, 0x6856, + 0x9006, 0x685a, 0x685e, 0x080c, 0x6591, 0x0804, 0x2b47, 0x2069, + 0x1152, 0x7884, 0x7994, 0x911a, 0x1a04, 0x2b7a, 0x8019, 0x0904, + 0x2b7a, 0x684e, 0x6946, 0x788c, 0x6862, 0x7888, 0x6866, 0x9006, + 0x686a, 0x686e, 0x0126, 0x2091, 0x8000, 0x080c, 0x594c, 0x012e, + 0x0804, 0x2b47, 0x902e, 0x2520, 0x81ff, 0x1904, 0x2b77, 0x7984, + 0x7b88, 0x7a8c, 0x20a9, 0x0005, 0x20e9, 0x0001, 0x20a1, 0x119a, + 0x4101, 0x080c, 0x3e61, 0x0904, 0x2b77, 0x2009, 0x0020, 0x2039, + 0x0001, 0x080c, 0x3eb4, 0x701b, 0x2c56, 0x0005, 0x6864, 0x2008, + 0x9084, 0x00ff, 0x9096, 0x0011, 0x0138, 0x9096, 0x0019, 0x0120, + 0x9096, 0x0015, 0x1904, 0x2b77, 0x810f, 0x918c, 0x00ff, 0x0904, + 0x2b77, 0x710e, 0x700c, 0x8001, 0x0538, 0x700e, 0x080c, 0x3e61, + 0x0904, 0x2b77, 0x2009, 0x0020, 0x2061, 0x11ea, 0x6228, 0x632c, + 0x6430, 0x6534, 0x9290, 0x0040, 0x9399, 0x0000, 0x94a1, 0x0000, + 0x95a9, 0x0000, 0x2039, 0x0001, 0x080c, 0x3eb4, 0x701b, 0x2c89, + 0x0005, 0x6864, 0x9084, 0x00ff, 0x9096, 0x0002, 0x0120, 0x9096, + 0x000a, 0x1904, 0x2b77, 0x08b0, 0x7010, 0x2068, 0x6868, 0xc0fd, + 0x686a, 0x080c, 0x54ce, 0x1128, 0x7007, 0x0003, 0x701b, 0x2ca3, + 0x0005, 0x080c, 0x5d93, 0x0126, 0x2091, 0x8000, 0x20a9, 0x0005, + 0x20e1, 0x0001, 0x2099, 0x119a, 0x400a, 0x2100, 0x9210, 0x9399, + 0x0000, 0x94a1, 0x0000, 0x95a9, 0x0000, 0x9d80, 0x0019, 0x2009, + 0x0020, 0x012e, 0x2039, 0x0001, 0x0804, 0x3eb7, 0x61b0, 0x7884, + 0x60b2, 0x0804, 0x2b47, 0x2091, 0x8000, 0x7837, 0x4000, 0x7833, + 0x0010, 0x7883, 0x4000, 0x7887, 0x4953, 0x788b, 0x5020, 0x788f, + 0x2020, 0x2009, 0x017f, 0x2104, 0x7892, 0x3f00, 0x7896, 0x2061, + 0x0100, 0x6200, 0x2061, 0x0200, 0x603c, 0x8007, 0x9205, 0x789a, + 0x2009, 0x04fd, 0x2104, 0x789e, 0x2091, 0x5000, 0x2091, 0x4080, + 0x2001, 0x0089, 0x2004, 0xd084, 0x0180, 0x2001, 0x1335, 0x2004, + 0x9005, 0x0128, 0x2001, 0x008b, 0x2004, 0xd0fc, 0x0dd8, 0x2001, + 0x008a, 0x2003, 0x0002, 0x2003, 0x1001, 0x2071, 0x0080, 0x0804, + 0x0427, 0x81ff, 0x1904, 0x2b77, 0x7984, 0x810f, 0x918c, 0x00ff, + 0x080c, 0x560e, 0x1904, 0x2b7a, 0x7e98, 0x9684, 0x3fff, 0x9082, + 0x4000, 0x0210, 0x0804, 0x2b7a, 0x7c88, 0x7d8c, 0x080c, 0x575f, + 0x080c, 0x572f, 0x0000, 0x1518, 0x2061, 0x15c0, 0x0126, 0x2091, + 0x8000, 0x6000, 0x9086, 0x0000, 0x0148, 0x6014, 0x906d, 0x0130, + 0x686c, 0x9406, 0x1118, 0x6870, 0x9506, 0x0150, 0x012e, 0x9ce0, + 0x0018, 0x2001, 0x1118, 0x2004, 0x9c02, 0x1a04, 0x2b77, 0x0c30, + 0x080c, 0xa50b, 0x012e, 0x0904, 0x2b77, 0x0804, 0x2b47, 0x900e, + 0x2001, 0x0005, 0x080c, 0x5d93, 0x0126, 0x2091, 0x8000, 0x080c, + 0xab19, 0x080c, 0x5b7a, 0x012e, 0x0804, 0x2b47, 0x00f6, 0x2d78, + 0x7998, 0x810f, 0x918c, 0x00ff, 0x080c, 0x560e, 0x1904, 0x2d9c, + 0x7ea4, 0x9684, 0x3fff, 0x9082, 0x4000, 0x0208, 0x04e8, 0x7c9c, + 0x7da0, 0x080c, 0x575f, 0x080c, 0x572f, 0x1520, 0x2061, 0x15c0, + 0x0126, 0x2091, 0x8000, 0x6000, 0x9086, 0x0000, 0x0148, 0x6014, + 0x906d, 0x0130, 0x686c, 0x9406, 0x1118, 0x6870, 0x9506, 0x0158, + 0x012e, 0x9ce0, 0x0018, 0x2001, 0x1118, 0x2004, 0x9c02, 0x2009, + 0x000d, 0x12b0, 0x0c28, 0x080c, 0xa50b, 0x012e, 0x2009, 0x0003, + 0x0178, 0x00e8, 0x900e, 0x2001, 0x0005, 0x080c, 0x5d93, 0x0126, + 0x2091, 0x8000, 0x080c, 0xab19, 0x080c, 0x5b7a, 0x012e, 0x0078, + 0x7897, 0x4005, 0x799a, 0x0010, 0x7897, 0x4006, 0x9085, 0x0001, + 0x2001, 0x0030, 0x2009, 0x0000, 0x2f68, 0x00fe, 0x0005, 0x7897, + 0x4000, 0x9006, 0x918d, 0x0001, 0x2009, 0x0000, 0x2f68, 0x00fe, + 0x0005, 0x81ff, 0x1904, 0x2b77, 0x080c, 0x3e76, 0x0904, 0x2b7a, + 0x080c, 0x56d1, 0x0904, 0x2b77, 0x080c, 0x5765, 0x0904, 0x2b77, + 0x0804, 0x2b47, 0x81ff, 0x1904, 0x2b77, 0x080c, 0x3e98, 0x0904, + 0x2b7a, 0x080c, 0x57ad, 0x0904, 0x2b77, 0x2019, 0x0005, 0x7984, + 0x080c, 0x5780, 0x0904, 0x2b77, 0x7888, 0x908a, 0x1000, 0x1a04, + 0x2b7a, 0x8003, 0x800b, 0x810b, 0x9108, 0x080c, 0x71ee, 0x0804, + 0x2b47, 0x0126, 0x2091, 0x8000, 0x81ff, 0x0118, 0x2009, 0x0001, + 0x0450, 0x2029, 0x00ff, 0x6454, 0x2400, 0x9506, 0x01f8, 0x2508, + 0x080c, 0x560e, 0x11d8, 0x080c, 0x57ad, 0x1128, 0x2009, 0x0002, + 0x62b8, 0x2518, 0x00c0, 0x2019, 0x0004, 0x900e, 0x080c, 0x5780, + 0x1118, 0x2009, 0x0006, 0x0078, 0x7884, 0x908a, 0x1000, 0x1270, + 0x8003, 0x800b, 0x810b, 0x9108, 0x080c, 0x71ee, 0x8529, 0x1ae0, + 0x012e, 0x0804, 0x2b47, 0x012e, 0x0804, 0x2b77, 0x012e, 0x0804, + 0x2b7a, 0x080c, 0x3e76, 0x0904, 0x2b7a, 0x080c, 0x56d1, 0x0904, + 0x2b77, 0x62a0, 0x2019, 0x0005, 0x00c6, 0x2061, 0x0000, 0x080c, + 0x76e4, 0x0076, 0x2039, 0x0000, 0x080c, 0x75f1, 0x2009, 0x0000, + 0x080c, 0xbdcb, 0x007e, 0x00ce, 0x080c, 0x575f, 0x0804, 0x2b47, + 0x080c, 0x3e76, 0x0904, 0x2b7a, 0x080c, 0x575f, 0x2208, 0x0804, + 0x2b47, 0x0156, 0x00d6, 0x00e6, 0x2069, 0x1240, 0x6810, 0x6914, + 0x910a, 0x1210, 0x2009, 0x0000, 0x6816, 0x2011, 0x0000, 0x2019, + 0x0000, 0x20a9, 0x007e, 0x2069, 0x1000, 0x2d04, 0x9075, 0x0118, + 0x704c, 0x0059, 0x9210, 0x8d68, 0x1f04, 0x2e55, 0x2300, 0x9218, + 0x00ee, 0x00de, 0x015e, 0x0804, 0x2b47, 0x00f6, 0x0016, 0x907d, + 0x0140, 0x2001, 0x0000, 0x8000, 0x2f0c, 0x81ff, 0x0110, 0x2178, + 0x0cd0, 0x001e, 0x00fe, 0x0005, 0x2069, 0x1240, 0x6910, 0x62b4, + 0x0804, 0x2b47, 0x81ff, 0x1904, 0x2b77, 0x6154, 0x9190, 0x2964, + 0x2215, 0x9294, 0x00ff, 0x6374, 0x83ff, 0x0108, 0x6278, 0x67d4, + 0xd79c, 0x0118, 0x2031, 0x0001, 0x0090, 0xd7ac, 0x0118, 0x2031, + 0x0003, 0x0068, 0xd7a4, 0x0118, 0x2031, 0x0002, 0x0040, 0x080c, + 0x62c5, 0x1118, 0x2031, 0x0004, 0x0010, 0x2031, 0x0000, 0x7e9a, + 0x7f9e, 0x0804, 0x2b47, 0x6144, 0x6248, 0x2019, 0x12c0, 0x231c, + 0x2001, 0x12c1, 0x2004, 0x789a, 0x0804, 0x2b47, 0x0126, 0x2091, + 0x8000, 0x6134, 0x9006, 0x2010, 0x633c, 0x012e, 0x0804, 0x2b47, + 0x080c, 0x3e98, 0x0904, 0x2b7a, 0x6244, 0x6338, 0x0804, 0x2b47, + 0x080c, 0x0d4e, 0x6144, 0x6248, 0x7884, 0x6046, 0x7b88, 0x634a, + 0x2069, 0x1152, 0x831f, 0x9305, 0x6816, 0x788c, 0x2069, 0x12c0, + 0x2d1c, 0x206a, 0x7e98, 0x9682, 0x0014, 0x1210, 0x2031, 0x07d0, + 0x2069, 0x12c1, 0x2d04, 0x266a, 0x789a, 0x0804, 0x2b47, 0x0126, + 0x2091, 0x8000, 0x7884, 0x6036, 0xd0c4, 0x01a8, 0x00d6, 0x78a8, + 0x2009, 0x12d7, 0x200a, 0x78ac, 0x2011, 0x12d8, 0x2012, 0x2069, + 0x0100, 0x6838, 0x9086, 0x0007, 0x1118, 0x2214, 0x6a5a, 0x0010, + 0x210c, 0x695a, 0x00de, 0x7884, 0xd0b4, 0x0120, 0x3b00, 0x9084, + 0xff3f, 0x20d8, 0x2011, 0x0114, 0x220c, 0x7888, 0xd08c, 0x0118, + 0x918d, 0x0080, 0x0010, 0x918c, 0xff7f, 0x2112, 0x788c, 0x603e, + 0x012e, 0x0804, 0x2b47, 0x00f6, 0x2079, 0x1100, 0x7a34, 0x6898, + 0x9084, 0xfeff, 0x9215, 0x689c, 0x9084, 0xfeff, 0x8002, 0x9214, + 0xd2b4, 0x0120, 0x3b00, 0x9084, 0xff3f, 0x20d8, 0x7834, 0xd0c4, + 0x0108, 0xc2c5, 0x7a36, 0x6897, 0x4000, 0x2001, 0x0000, 0x918d, + 0x0001, 0x2009, 0x0000, 0x00fe, 0x0005, 0x7898, 0x9005, 0x01a8, + 0x7888, 0x9025, 0x0904, 0x2b7a, 0x788c, 0x902d, 0x0904, 0x2b7a, + 0x900e, 0x080c, 0x560e, 0x1120, 0x6244, 0x6338, 0x6446, 0x653a, + 0x9186, 0x00ff, 0x0190, 0x8108, 0x0ca0, 0x080c, 0x3e98, 0x0904, + 0x2b7a, 0x7888, 0x900d, 0x0904, 0x2b7a, 0x788c, 0x9005, 0x0904, + 0x2b7a, 0x6244, 0x6146, 0x6338, 0x603a, 0x0804, 0x2b47, 0x2001, + 0x1100, 0x2004, 0x9086, 0x0003, 0x1904, 0x2b77, 0x00c6, 0x2061, + 0x0100, 0x7984, 0x810f, 0x918c, 0x00ff, 0x9196, 0x00ff, 0x1130, + 0x2001, 0x1116, 0x2004, 0x9085, 0xff00, 0x0078, 0x9182, 0x007f, + 0x16a0, 0x9188, 0x2964, 0x210d, 0x918c, 0x00ff, 0x2001, 0x1116, + 0x2004, 0x9116, 0x0550, 0x810f, 0x9105, 0x0126, 0x2091, 0x8000, + 0x0006, 0x080c, 0x8df3, 0x000e, 0x01e0, 0x6012, 0x600b, 0xbc09, + 0x6023, 0x0001, 0x080c, 0x3e61, 0x01d8, 0x6867, 0x0000, 0x7007, + 0x0003, 0x6833, 0x0000, 0x6868, 0xc0fd, 0x686a, 0x701b, 0x3007, + 0x2d00, 0x6016, 0x2009, 0x0032, 0x080c, 0x8ebf, 0x012e, 0x00ce, + 0x0005, 0x012e, 0x00ce, 0x0804, 0x2b77, 0x00ce, 0x0804, 0x2b7a, + 0x080c, 0x8e49, 0x0cb0, 0x2001, 0x1100, 0x2004, 0x9086, 0x0003, + 0x1904, 0x2b77, 0x00c6, 0x2061, 0x0100, 0x7984, 0x810f, 0x918c, + 0x00ff, 0x9196, 0x00ff, 0x1130, 0x2001, 0x1116, 0x2004, 0x9085, + 0xff00, 0x0078, 0x9182, 0x007f, 0x16a0, 0x9188, 0x2964, 0x210d, + 0x918c, 0x00ff, 0x2001, 0x1116, 0x2004, 0x9116, 0x0550, 0x810f, + 0x9105, 0x0126, 0x2091, 0x8000, 0x0006, 0x080c, 0x8df3, 0x000e, + 0x01e0, 0x6012, 0x600b, 0xbc05, 0x6023, 0x0001, 0x080c, 0x3e61, + 0x01d8, 0x6867, 0x0000, 0x7007, 0x0003, 0x6833, 0x0000, 0x6868, + 0xc0fd, 0x686a, 0x701b, 0x3007, 0x2d00, 0x6016, 0x2009, 0x0032, + 0x080c, 0x8ebf, 0x012e, 0x00ce, 0x0005, 0x012e, 0x00ce, 0x0804, + 0x2b77, 0x00ce, 0x0804, 0x2b7a, 0x080c, 0x8e49, 0x0cb0, 0x6830, + 0x9086, 0x0100, 0x0904, 0x2b77, 0x0804, 0x2b47, 0x2061, 0x1353, + 0x0126, 0x2091, 0x8000, 0x6000, 0xd084, 0x0140, 0x6104, 0x6208, + 0x2019, 0x1113, 0x231c, 0x012e, 0x0804, 0x2b47, 0x012e, 0x0804, + 0x2b7a, 0x81ff, 0x1904, 0x2b77, 0x080c, 0x62c5, 0x0904, 0x2b77, + 0x0126, 0x2091, 0x8000, 0x624c, 0x606c, 0x9202, 0x0248, 0x9085, + 0x0001, 0x080c, 0x1f38, 0x080c, 0x49d6, 0x012e, 0x0804, 0x2b47, + 0x012e, 0x0804, 0x2b7a, 0x0006, 0x0016, 0x00c6, 0x00e6, 0x2001, + 0x12e0, 0x2070, 0x2061, 0x1152, 0x6008, 0x2072, 0x2009, 0x0000, + 0x2011, 0x1400, 0x080c, 0x73d2, 0x7206, 0x00ee, 0x00ce, 0x001e, + 0x000e, 0x0005, 0x0126, 0x2091, 0x8000, 0x81ff, 0x0128, 0x012e, + 0x2021, 0x400b, 0x0804, 0x2b49, 0x7884, 0xd0fc, 0x0148, 0x2001, + 0x002a, 0x2004, 0x9082, 0x00e1, 0x02c0, 0x012e, 0x0804, 0x2b7a, + 0x2001, 0x002a, 0x2004, 0x2069, 0x1152, 0x6908, 0x9102, 0x1218, + 0x012e, 0x0804, 0x2b7a, 0x614c, 0x606c, 0x9106, 0x0118, 0x012e, + 0x0804, 0x2b77, 0x60d4, 0xd0ac, 0x0dd0, 0x7884, 0xd0fc, 0x0904, + 0x30cc, 0x00c6, 0x080c, 0x3e61, 0x00ce, 0x0d88, 0x6867, 0x0000, + 0x7884, 0x680a, 0x7898, 0x680e, 0x789c, 0x6812, 0x2001, 0x002e, + 0x2004, 0x681a, 0x2001, 0x002f, 0x2004, 0x681e, 0x2001, 0x0030, + 0x2004, 0x6822, 0x2001, 0x0031, 0x2004, 0x6826, 0x2001, 0x0034, + 0x2004, 0x682a, 0x2001, 0x0035, 0x2004, 0x682e, 0x2001, 0x002a, + 0x2004, 0x9080, 0x0003, 0x9084, 0x00fc, 0x8004, 0x6816, 0x080c, + 0x322e, 0x0928, 0x7010, 0x2068, 0x6d2c, 0x6c28, 0x6b1c, 0x6a18, + 0x6930, 0x6808, 0xd0b4, 0x1120, 0x2029, 0x0000, 0x2021, 0x0000, + 0x9d80, 0x001b, 0x2039, 0x0001, 0x080c, 0x3eb4, 0x701b, 0x318f, + 0x701f, 0x0001, 0x012e, 0x0005, 0x0046, 0x0086, 0x0096, 0x00a6, + 0x00b6, 0x00c6, 0x00d6, 0x00e6, 0x00f6, 0x080c, 0x303b, 0x2001, + 0x12d9, 0x2003, 0x0000, 0x2021, 0x000a, 0x2061, 0x0100, 0x6104, + 0x0016, 0x60bb, 0x0000, 0x60bf, 0x32e1, 0x60bf, 0x0012, 0x080c, + 0x329e, 0x080c, 0x325c, 0x00f6, 0x00e6, 0x00c6, 0x2d60, 0x2071, + 0x1349, 0x2079, 0x0090, 0x00d6, 0x2069, 0x0000, 0x6884, 0xd0b4, + 0x0140, 0x2001, 0x0035, 0x2004, 0x780e, 0x2001, 0x0034, 0x2004, + 0x780a, 0x00de, 0x2011, 0x0001, 0x080c, 0x35d6, 0x00ce, 0x00ee, + 0x00fe, 0x080c, 0x350c, 0x080c, 0x343e, 0x05b8, 0x2001, 0x020b, + 0x2004, 0x9084, 0x0140, 0x1db8, 0x080c, 0x35fe, 0x00f6, 0x2079, + 0x0300, 0x78bc, 0x00fe, 0x908c, 0x0070, 0x1560, 0x2071, 0x0200, + 0x7037, 0x0000, 0x7050, 0x9084, 0xff00, 0x9086, 0x3200, 0x1510, + 0x7037, 0x0001, 0x7050, 0x9084, 0xff00, 0x9086, 0xe100, 0x11d0, + 0x7037, 0x0000, 0x7054, 0x7037, 0x0000, 0x715c, 0x9106, 0x1190, + 0x2001, 0x111e, 0x2004, 0x9106, 0x1168, 0x00c6, 0x2061, 0x0100, + 0x6024, 0x9084, 0x1e00, 0x00ce, 0x0138, 0x080c, 0x3448, 0x080c, + 0x3257, 0x0058, 0x080c, 0x3257, 0x080c, 0x356e, 0x080c, 0x3502, + 0x2001, 0x020b, 0x2004, 0xd0e4, 0x0dd8, 0x2001, 0x032a, 0x2003, + 0x0004, 0x2061, 0x0100, 0x6027, 0x0002, 0x001e, 0x6106, 0x2011, + 0x020d, 0x2013, 0x0020, 0x60bb, 0x0000, 0x60bf, 0x0108, 0x60bf, + 0x0012, 0x2001, 0x0004, 0x200c, 0x918c, 0xfffd, 0x2102, 0x080c, + 0x107b, 0x2009, 0x0028, 0x080c, 0x1b29, 0x2001, 0x0227, 0x200c, + 0x2102, 0x00fe, 0x00ee, 0x00de, 0x00ce, 0x00be, 0x00ae, 0x009e, + 0x008e, 0x004e, 0x2001, 0x12d9, 0x2004, 0x9005, 0x1118, 0x012e, + 0x0804, 0x2b47, 0x012e, 0x2021, 0x400c, 0x0804, 0x2b49, 0x0016, + 0x0026, 0x0036, 0x0046, 0x0056, 0x0076, 0x00d6, 0x0156, 0x7010, + 0x2068, 0x701c, 0x20a8, 0x8000, 0x701e, 0x6804, 0x9005, 0x05d0, + 0x2068, 0x1f04, 0x319d, 0x2061, 0x11ea, 0x6228, 0x632c, 0x6430, + 0x6534, 0x6930, 0x6808, 0xd0b4, 0x1120, 0x2029, 0x0000, 0x2021, + 0x0000, 0x00d6, 0x7010, 0x2068, 0x6864, 0x00de, 0x9086, 0x0103, + 0x0148, 0x9d80, 0x001b, 0x2039, 0x0001, 0x080c, 0x3eb4, 0x701b, + 0x318f, 0x0078, 0x9d80, 0x001b, 0x21a8, 0x20a0, 0x2098, 0x0006, + 0x080c, 0x5034, 0x000e, 0x2039, 0x0001, 0x080c, 0x3eb7, 0x701b, + 0x318f, 0x015e, 0x00de, 0x007e, 0x005e, 0x004e, 0x003e, 0x002e, + 0x001e, 0x0005, 0x7010, 0x2068, 0x6864, 0x9086, 0x0103, 0x1118, + 0x701b, 0x322c, 0x00f8, 0x7010, 0x2068, 0x6868, 0xc0fd, 0x686a, + 0x2009, 0x007f, 0x080c, 0x560e, 0x080c, 0xacc0, 0x015e, 0x00de, + 0x007e, 0x005e, 0x004e, 0x003e, 0x002e, 0x001e, 0x0904, 0x2b77, + 0x0016, 0x0026, 0x0036, 0x0046, 0x0056, 0x0076, 0x00d6, 0x0156, + 0x701b, 0x3205, 0x7007, 0x0003, 0x0860, 0x0076, 0x6830, 0x9086, + 0x0100, 0x2021, 0x400c, 0x0904, 0x2b49, 0x6d10, 0x6c0c, 0x6b24, + 0x6a20, 0x6930, 0x6808, 0xd0b4, 0x1120, 0x2029, 0x0000, 0x2021, + 0x0000, 0x9d80, 0x001b, 0x21a8, 0x20a0, 0x2098, 0x0006, 0x080c, + 0x5034, 0x000e, 0x2039, 0x0001, 0x080c, 0x3eb7, 0x007e, 0x701b, + 0x318f, 0x701f, 0x0001, 0x0005, 0x0804, 0x2b47, 0x0156, 0x00c6, + 0x6814, 0x908a, 0x001e, 0x0218, 0x6833, 0x001e, 0x0010, 0x6832, + 0x0078, 0x81ff, 0x0168, 0x0016, 0x080c, 0x3e61, 0x001e, 0x0130, + 0x6800, 0x2060, 0x6008, 0x680a, 0x2100, 0x0c58, 0x9006, 0x0010, + 0x9085, 0x0001, 0x00ce, 0x015e, 0x0005, 0x0006, 0x00f6, 0x2079, + 0x0000, 0x7880, 0x9086, 0x0044, 0x00fe, 0x000e, 0x0005, 0x2001, + 0x12d9, 0x2003, 0x0001, 0x0005, 0x00f6, 0x00e6, 0x00c6, 0x2061, + 0x0200, 0x2001, 0x12e1, 0x2004, 0x601a, 0x2061, 0x0100, 0x2001, + 0x12e0, 0x2004, 0x60ce, 0x6104, 0xc1ac, 0x6106, 0x080c, 0x3e61, + 0x6813, 0x0019, 0x2070, 0x6817, 0x0001, 0x2d00, 0x685a, 0x2001, + 0x002e, 0x2004, 0x2072, 0x2001, 0x002f, 0x2004, 0x7006, 0x2061, + 0x0090, 0x2079, 0x0100, 0x2001, 0x12e0, 0x2004, 0x6036, 0x2009, + 0x0040, 0x080c, 0x1b29, 0x2001, 0x002a, 0x2004, 0x9084, 0xfff8, + 0x700a, 0x601a, 0x700f, 0x0000, 0x601f, 0x0000, 0x78ca, 0x9006, + 0x600a, 0x600e, 0x00ce, 0x00ee, 0x00fe, 0x0005, 0x00e6, 0x080c, + 0x3e61, 0x2d60, 0x6013, 0x0019, 0x2070, 0x6017, 0x0001, 0x2c00, + 0x605a, 0x2001, 0x0030, 0x2004, 0x2072, 0x2001, 0x0031, 0x2004, + 0x7006, 0x2001, 0x002a, 0x2004, 0x9084, 0xfff8, 0x700a, 0x700f, + 0x0000, 0x2001, 0x032a, 0x2003, 0x0004, 0x2001, 0x0300, 0x2003, + 0x0000, 0x2001, 0x020d, 0x2003, 0x0000, 0x2001, 0x0004, 0x200c, + 0x918d, 0x0002, 0x2102, 0x00ee, 0x0005, 0x0126, 0x2091, 0x8000, + 0x81ff, 0x0148, 0x080c, 0x22d8, 0x1130, 0x9006, 0x080c, 0x2234, + 0x9006, 0x080c, 0x2217, 0x7884, 0x9084, 0x0007, 0x0002, 0x32ea, + 0x32f3, 0x32fc, 0x32e7, 0x32e7, 0x32e7, 0x32e7, 0x32e7, 0x012e, + 0x0804, 0x2b7a, 0x2009, 0x0114, 0x2104, 0x9085, 0x0800, 0x200a, + 0x080c, 0x3466, 0x0080, 0x2009, 0x0114, 0x2104, 0x9085, 0x4000, + 0x200a, 0x080c, 0x3466, 0x0038, 0x81ff, 0x0128, 0x012e, 0x2021, + 0x400b, 0x0804, 0x2b49, 0x0086, 0x0096, 0x00a6, 0x00b6, 0x00c6, + 0x00d6, 0x00e6, 0x00f6, 0x080c, 0x303b, 0x2009, 0x0101, 0x210c, + 0x0016, 0x2001, 0x0032, 0x2034, 0x2001, 0x0033, 0x202c, 0x9006, + 0x2048, 0x2050, 0x2058, 0x080c, 0x36ca, 0x080c, 0x362a, 0x903e, + 0x2720, 0x00f6, 0x00e6, 0x00c6, 0x2d60, 0x2071, 0x1349, 0x2079, + 0x0090, 0x00d6, 0x2069, 0x0000, 0x6884, 0xd0b4, 0x0140, 0x2001, + 0x0035, 0x2004, 0x780e, 0x2001, 0x0034, 0x2004, 0x780a, 0x00de, + 0x2011, 0x0001, 0x080c, 0x35d6, 0x080c, 0x35d6, 0x00ce, 0x00ee, + 0x00fe, 0x080c, 0x350c, 0x00f6, 0x2079, 0x0000, 0x7884, 0x00fe, + 0xd0bc, 0x0178, 0x2001, 0x0201, 0x200c, 0x81ff, 0x0150, 0x080c, + 0x34ea, 0x2900, 0x9a05, 0x9b05, 0x0120, 0x080c, 0x3448, 0x0804, + 0x33f7, 0x080c, 0x35fe, 0x080c, 0x356e, 0x080c, 0x34cd, 0x080c, + 0x3502, 0x00f6, 0x2079, 0x0100, 0x7824, 0xd0ac, 0x0130, 0x8b58, + 0x080c, 0x3448, 0x00fe, 0x0804, 0x33f7, 0x00fe, 0x080c, 0x343e, + 0x1150, 0x8948, 0x2001, 0x0032, 0x2602, 0x2001, 0x0033, 0x2502, + 0x080c, 0x3448, 0x0080, 0x87ff, 0x0138, 0x2001, 0x0201, 0x2004, + 0x9005, 0x1908, 0x8739, 0x0038, 0x2001, 0x1346, 0x2004, 0x9086, + 0x0000, 0x1904, 0x3343, 0x2001, 0x032f, 0x2003, 0x00f6, 0x8631, + 0x1208, 0x8529, 0x2500, 0x9605, 0x0904, 0x33f7, 0x7884, 0xd0bc, + 0x0128, 0x2900, 0x9a05, 0x9b05, 0x1904, 0x33f7, 0x6013, 0x0019, + 0x2001, 0x032a, 0x2003, 0x0004, 0x7884, 0xd0ac, 0x1148, 0x2001, + 0x1346, 0x2003, 0x0003, 0x2001, 0x032a, 0x2003, 0x0009, 0x0040, + 0x6017, 0x0001, 0x2001, 0x002d, 0x2004, 0x9005, 0x0108, 0x6016, + 0x2c00, 0x605a, 0x2009, 0x0040, 0x080c, 0x1b29, 0x2d00, 0x685a, + 0x6813, 0x0019, 0x7884, 0xd0a4, 0x1180, 0x6817, 0x0000, 0x00c6, + 0x20a9, 0x0004, 0x2061, 0x0090, 0x602b, 0x0008, 0x2001, 0x0203, + 0x2004, 0x1f04, 0x33cc, 0x00ce, 0x0040, 0x6817, 0x0001, 0x2001, + 0x002c, 0x2004, 0x9005, 0x0108, 0x6816, 0x00f6, 0x00c6, 0x2079, + 0x0100, 0x2061, 0x0090, 0x7827, 0x0002, 0x2001, 0x002a, 0x2004, + 0x9084, 0xfff8, 0x601a, 0x0006, 0x2001, 0x002b, 0x2004, 0x601e, + 0x78c6, 0x000e, 0x78ca, 0x00ce, 0x00fe, 0x0804, 0x3321, 0x001e, + 0x2001, 0x032a, 0x2003, 0x0004, 0x2061, 0x0100, 0x6027, 0x0002, + 0x6106, 0x2011, 0x020d, 0x2013, 0x0020, 0x2001, 0x0004, 0x200c, + 0x918c, 0xfffd, 0x2102, 0x080c, 0x107b, 0x7884, 0x9084, 0x0003, + 0x9086, 0x0002, 0x01a0, 0x2009, 0x0028, 0x080c, 0x1b29, 0x2001, + 0x0227, 0x200c, 0x2102, 0x6050, 0x9084, 0xb7ef, 0x6052, 0x602f, + 0x0000, 0x604b, 0xf7f7, 0x6043, 0x0090, 0x6043, 0x0010, 0x2908, + 0x2a10, 0x2b18, 0x2b00, 0x9a05, 0x9905, 0x00fe, 0x00ee, 0x00de, + 0x00ce, 0x00be, 0x00ae, 0x009e, 0x008e, 0x1118, 0x012e, 0x0804, + 0x2b47, 0x012e, 0x2021, 0x400c, 0x0804, 0x2b49, 0x9085, 0x0001, + 0x1d04, 0x3447, 0x2091, 0x6000, 0x8420, 0x9486, 0x0064, 0x0005, + 0x2001, 0x0105, 0x2003, 0x0010, 0x2001, 0x032a, 0x2003, 0x0004, + 0x2001, 0x009a, 0x2003, 0x0004, 0x2001, 0x1346, 0x2003, 0x0000, + 0x2001, 0x1349, 0x2003, 0x0000, 0x2009, 0x0048, 0x080c, 0x1b29, + 0x2001, 0x0227, 0x2024, 0x2402, 0x9026, 0x0005, 0x00f6, 0x2079, + 0x0100, 0x2001, 0x1116, 0x200c, 0x7932, 0x7936, 0x080c, 0x1f18, + 0x7850, 0x9084, 0xfbff, 0x9085, 0x0030, 0x7852, 0x2019, 0x01f4, + 0x8319, 0x1df0, 0x9084, 0xffcf, 0x9085, 0x2000, 0x7852, 0x20a9, + 0x0046, 0x1d04, 0x3481, 0x2091, 0x6000, 0x1f04, 0x3481, 0x7850, + 0x9085, 0x0400, 0x9084, 0xdfff, 0x7852, 0x2001, 0x0021, 0x2004, + 0x9084, 0x0003, 0x9086, 0x0001, 0x1120, 0x7850, 0x9084, 0xdfff, + 0x7852, 0x784b, 0xf7f7, 0x7843, 0x0090, 0x7843, 0x0010, 0x20a9, + 0x0028, 0xa001, 0x1f04, 0x34a1, 0x7850, 0x9085, 0x1400, 0x7852, + 0x2019, 0x61a8, 0x7854, 0xa001, 0xa001, 0xd08c, 0x1110, 0x8319, + 0x1dc8, 0x7827, 0x0048, 0x7850, 0x9085, 0x0400, 0x7852, 0x7843, + 0x0040, 0x2019, 0x01f4, 0xa001, 0xa001, 0x8319, 0x1de0, 0x2001, + 0x0140, 0x2003, 0x0100, 0x7827, 0x0020, 0x7843, 0x0000, 0x2003, + 0x0000, 0x7827, 0x0048, 0x00fe, 0x0005, 0x7884, 0xd0ac, 0x11c8, + 0x00f6, 0x00e6, 0x2071, 0x1346, 0x2079, 0x0320, 0x2001, 0x0201, + 0x2004, 0x9005, 0x0160, 0x7000, 0x9086, 0x0000, 0x1140, 0x0051, + 0xd0bc, 0x0108, 0x8738, 0x7003, 0x0003, 0x782b, 0x0019, 0x00ee, + 0x00fe, 0x0005, 0x00f6, 0x2079, 0x0300, 0x78bc, 0x00fe, 0x908c, + 0x0070, 0x0178, 0x2009, 0x0032, 0x260a, 0x2009, 0x0033, 0x250a, + 0xd0b4, 0x0108, 0x8a50, 0xd0ac, 0x0108, 0x8948, 0xd0a4, 0x0108, + 0x8b58, 0x0005, 0x00f6, 0x2079, 0x0200, 0x781c, 0xd084, 0x0110, + 0x7837, 0x0050, 0x00fe, 0x0005, 0x00e6, 0x2071, 0x0100, 0x2001, + 0x12e1, 0x2004, 0x70e2, 0x080c, 0x324d, 0x1188, 0x2001, 0x111e, + 0x2004, 0x2009, 0x111d, 0x210c, 0x918c, 0x00ff, 0x706e, 0x716a, + 0x7066, 0x918d, 0x3200, 0x7162, 0x7073, 0xe109, 0x0080, 0x702c, + 0x9085, 0x0002, 0x702e, 0x2009, 0x1116, 0x210c, 0x716e, 0x7063, + 0x0100, 0x7166, 0x719e, 0x706b, 0x0000, 0x7073, 0x0809, 0x7077, + 0x0008, 0x7078, 0x9080, 0x0100, 0x707a, 0x7080, 0x8000, 0x7082, + 0x7087, 0xaaaa, 0x9006, 0x708a, 0x708e, 0x707e, 0x70d6, 0x70ab, + 0x0036, 0x70af, 0x95d5, 0x7014, 0x9084, 0x1984, 0x9085, 0x0012, + 0x7016, 0x080c, 0x35fe, 0x00f6, 0x2071, 0x1346, 0x2079, 0x0320, + 0x00d6, 0x2069, 0x0000, 0x6884, 0xd0b4, 0x0120, 0x689c, 0x780e, + 0x6898, 0x780a, 0x00de, 0x2011, 0x0011, 0x080c, 0x35d6, 0x2011, + 0x0001, 0x080c, 0x35d6, 0x00fe, 0x00ee, 0x0005, 0x00f6, 0x00e6, + 0x2071, 0x1346, 0x2079, 0x0320, 0x792c, 0xd1fc, 0x0904, 0x35d3, + 0x782b, 0x0002, 0x9026, 0xd19c, 0x1904, 0x35cf, 0x7000, 0x0002, + 0x35d3, 0x3584, 0x35b4, 0x35cf, 0xd1bc, 0x1170, 0xd1dc, 0x1190, + 0x8001, 0x7002, 0x2011, 0x0001, 0x080c, 0x35d6, 0x0904, 0x35d3, + 0x080c, 0x35d6, 0x0804, 0x35d3, 0x00f6, 0x2079, 0x0300, 0x78bf, + 0x0000, 0x00fe, 0x7810, 0x7914, 0x782b, 0x0004, 0x7812, 0x7916, + 0x2001, 0x0201, 0x200c, 0x81ff, 0x0de8, 0x080c, 0x34ea, 0x2009, + 0x0001, 0x00f6, 0x2079, 0x0300, 0x78b8, 0x00fe, 0xd0ec, 0x0110, + 0x2009, 0x0011, 0x792a, 0x00f8, 0x8001, 0x7002, 0x9184, 0x0880, + 0x1140, 0x782c, 0xd0fc, 0x1904, 0x3578, 0x2011, 0x0001, 0x00b1, + 0x0090, 0x6010, 0x9092, 0x0004, 0x9086, 0x0015, 0x1120, 0x6000, + 0x605a, 0x2011, 0x0031, 0x6212, 0xd1dc, 0x1960, 0x0828, 0x782b, + 0x0004, 0x7003, 0x0000, 0x00ee, 0x00fe, 0x0005, 0x6014, 0x9005, + 0x0520, 0x8001, 0x6016, 0x6058, 0x6110, 0x9140, 0x2804, 0x7802, + 0x8840, 0x2804, 0x7806, 0x8840, 0x2804, 0x7812, 0x8840, 0x2804, + 0x7816, 0x8840, 0x7a2a, 0x7000, 0x8000, 0x7002, 0x6058, 0x9802, + 0x908a, 0x0029, 0x1138, 0x6058, 0x9080, 0x0001, 0x2004, 0x605a, + 0x2001, 0x0019, 0x6012, 0x9085, 0x0001, 0x0005, 0x00f6, 0x00e6, + 0x00c6, 0x2071, 0x1349, 0x2079, 0x0090, 0x792c, 0xd1fc, 0x01f0, + 0x782b, 0x0002, 0x2d60, 0x9026, 0x7000, 0x0002, 0x3626, 0x3611, + 0x361d, 0x8001, 0x7002, 0xd19c, 0x1188, 0x2011, 0x0001, 0x080c, + 0x35d6, 0x0160, 0x080c, 0x35d6, 0x0048, 0x8001, 0x7002, 0x782c, + 0xd0fc, 0x1d30, 0x2011, 0x0001, 0x080c, 0x35d6, 0x00ce, 0x00ee, + 0x00fe, 0x0005, 0x00f6, 0x00e6, 0x00c6, 0x2061, 0x0200, 0x2001, + 0x12e1, 0x2004, 0x601a, 0x2061, 0x0100, 0x2001, 0x12e0, 0x2004, + 0x60ce, 0x6104, 0xc1ac, 0x6106, 0x2001, 0x002c, 0x2004, 0x9005, + 0x01f8, 0x2038, 0x2001, 0x002e, 0x2024, 0x2001, 0x002f, 0x201c, + 0x080c, 0x3e61, 0x6813, 0x0019, 0x6f16, 0x2d00, 0x685a, 0x978a, + 0x0007, 0x0220, 0x2138, 0x2009, 0x0007, 0x0010, 0x2708, 0x903e, + 0x6858, 0x9080, 0x0019, 0x04c1, 0x1d90, 0x2d00, 0x685a, 0x0088, + 0x080c, 0x3e61, 0x6813, 0x0019, 0x2070, 0x6817, 0x0001, 0x2d00, + 0x685a, 0x2001, 0x002e, 0x2004, 0x2072, 0x2001, 0x002f, 0x2004, + 0x7006, 0x2061, 0x0090, 0x2079, 0x0100, 0x2001, 0x12e0, 0x2004, + 0x6036, 0x2009, 0x0040, 0x080c, 0x1b29, 0x2001, 0x002a, 0x2004, + 0x9084, 0xfff8, 0x700a, 0x601a, 0x0006, 0x2001, 0x002b, 0x2004, + 0x700e, 0x601e, 0x78c6, 0x000e, 0x78ca, 0x9006, 0x600a, 0x600e, + 0x00ce, 0x00ee, 0x00fe, 0x0005, 0x00e6, 0x2071, 0x0080, 0x20e9, + 0x0001, 0x20a0, 0x20e1, 0x0000, 0x2099, 0x0088, 0x702b, 0x0026, + 0x7402, 0x7306, 0x9006, 0x700a, 0x700e, 0x810b, 0x810b, 0x21a8, + 0x810b, 0x7112, 0x702b, 0x0041, 0x702c, 0xd0fc, 0x0de8, 0x702b, + 0x0002, 0x702b, 0x0040, 0x4005, 0x7400, 0x7304, 0x87ff, 0x0180, + 0x00c6, 0x00d6, 0x2d60, 0x00c6, 0x080c, 0x3e61, 0x00ce, 0x6058, + 0x2070, 0x2d00, 0x7006, 0x605a, 0x00de, 0x00ce, 0x9085, 0x0001, + 0x00ee, 0x0005, 0x00e6, 0x2001, 0x002d, 0x2004, 0x9005, 0x0508, + 0x2038, 0x2001, 0x0030, 0x2024, 0x2001, 0x0031, 0x201c, 0x080c, + 0x3e61, 0x2d60, 0x6813, 0x0019, 0x6f16, 0x2d00, 0x685a, 0x978a, + 0x0007, 0x0220, 0x2138, 0x2009, 0x0007, 0x0010, 0x2708, 0x903e, + 0x6858, 0x9080, 0x0019, 0x080c, 0x3694, 0x1d88, 0x2d00, 0x685a, + 0x00e0, 0x080c, 0x3e61, 0x2d60, 0x6013, 0x0019, 0x2070, 0x6017, + 0x0001, 0x2c00, 0x605a, 0x2001, 0x0030, 0x2004, 0x2072, 0x2001, + 0x0031, 0x2004, 0x7006, 0x2001, 0x002a, 0x2004, 0x9084, 0xfff8, + 0x700a, 0x2001, 0x002b, 0x2004, 0x700e, 0x2001, 0x032a, 0x2003, + 0x0004, 0x7884, 0xd0ac, 0x1180, 0x2001, 0x0101, 0x200c, 0x918d, + 0x0200, 0x2102, 0x6017, 0x0000, 0x2001, 0x1346, 0x2003, 0x0003, + 0x2001, 0x032a, 0x2003, 0x0009, 0x2001, 0x0300, 0x2003, 0x0000, + 0x2001, 0x020d, 0x2003, 0x0000, 0x2001, 0x0004, 0x200c, 0x918d, + 0x0002, 0x2102, 0x00ee, 0x0005, 0x0126, 0x2091, 0x8000, 0x20a9, + 0x0012, 0x2001, 0x1140, 0x20e9, 0x0001, 0x20a0, 0x9006, 0x4004, + 0x2009, 0x013c, 0x200a, 0x012e, 0x0804, 0x2b47, 0x7d98, 0x7c9c, + 0x0804, 0x2c3c, 0x080c, 0x62c5, 0x0110, 0x080c, 0x50a1, 0x2069, + 0x1152, 0x2d00, 0x2009, 0x0030, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, + 0x2039, 0x0001, 0x080c, 0x3eb4, 0x701b, 0x375f, 0x0005, 0x2069, + 0x1152, 0x6800, 0x9005, 0x0904, 0x2b7a, 0x6804, 0xd0ac, 0x0118, + 0xd0a4, 0x0904, 0x2b7a, 0xd094, 0x00c6, 0x2061, 0x0100, 0x6104, + 0x0138, 0x6200, 0x9292, 0x0005, 0x0218, 0x918c, 0xffdf, 0x0010, + 0x918d, 0x0020, 0x6106, 0x00ce, 0xd08c, 0x00c6, 0x2061, 0x0100, + 0x6104, 0x0118, 0x918d, 0x0010, 0x0010, 0x918c, 0xffef, 0x6106, + 0x00ce, 0xd084, 0x0158, 0x6a28, 0x928a, 0x007f, 0x1a04, 0x2b7a, + 0x9288, 0x2964, 0x210d, 0x918c, 0x00ff, 0x615e, 0xd0dc, 0x0130, + 0x6828, 0x908a, 0x007f, 0x1a04, 0x2b7a, 0x6056, 0x6888, 0x9084, + 0x0030, 0x8004, 0x8004, 0x8004, 0x8004, 0x0006, 0x2009, 0x12e7, + 0x9080, 0x2013, 0x2005, 0x200a, 0x000e, 0x2009, 0x12e8, 0x9080, + 0x2017, 0x2005, 0x200a, 0x6808, 0x908a, 0x0100, 0x0a04, 0x2b7a, + 0x908a, 0x0841, 0x1a04, 0x2b7a, 0x9084, 0x0007, 0x1904, 0x2b7a, + 0x680c, 0x9005, 0x0904, 0x2b7a, 0x6810, 0x9005, 0x0904, 0x2b7a, + 0x6848, 0x6940, 0x910a, 0x1a04, 0x2b7a, 0x8001, 0x0904, 0x2b7a, + 0x684c, 0x6944, 0x910a, 0x1a04, 0x2b7a, 0x8001, 0x0904, 0x2b7a, + 0x6980, 0xd1e4, 0x0140, 0x00c6, 0x2061, 0x0100, 0x6004, 0x9085, + 0x0100, 0x6006, 0x00ce, 0x2009, 0x12bb, 0x200b, 0x0000, 0x2001, + 0x1174, 0x2004, 0xd0c4, 0x0140, 0x7884, 0x200a, 0x2009, 0x017f, + 0x200a, 0x3b00, 0xc085, 0x20d8, 0x6814, 0x908c, 0x00ff, 0x6146, + 0x8007, 0x9084, 0x00ff, 0x604a, 0x080c, 0x6591, 0x080c, 0x58fd, + 0x080c, 0x594c, 0x6808, 0x602a, 0x080c, 0x1a3a, 0x2009, 0x0170, + 0x200b, 0x0080, 0xa001, 0xa001, 0x200b, 0x0000, 0x0036, 0x6b08, + 0x080c, 0x1f73, 0x003e, 0x6000, 0x9086, 0x0000, 0x1904, 0x38f5, + 0x6818, 0x691c, 0x6a20, 0x6b24, 0x8007, 0x810f, 0x8217, 0x831f, + 0x6016, 0x611a, 0x621e, 0x6322, 0x6c04, 0xd4f4, 0x0148, 0x6830, + 0x6934, 0x6a38, 0x6b3c, 0x8007, 0x810f, 0x8217, 0x831f, 0x0010, + 0x9084, 0xf0ff, 0x6006, 0x610a, 0x620e, 0x6312, 0x8007, 0x810f, + 0x8217, 0x831f, 0x20a9, 0x0004, 0x20a1, 0x12e9, 0x20e9, 0x0001, + 0x4001, 0x080c, 0x72b0, 0x00c6, 0x2009, 0x0000, 0x20a9, 0x0001, + 0x6b70, 0xd384, 0x0510, 0x0068, 0x2009, 0x0100, 0x210c, 0x918e, + 0x0008, 0x1110, 0x839d, 0x0010, 0x83f5, 0x3e18, 0x12b0, 0x3508, + 0x8109, 0x080c, 0x6b1e, 0x6878, 0x6016, 0x6874, 0x2008, 0x9084, + 0xff00, 0x8007, 0x600a, 0x9184, 0x00ff, 0x6006, 0x8108, 0x1118, + 0x6003, 0x0003, 0x0010, 0x6003, 0x0001, 0x1f04, 0x384c, 0x00ce, + 0x00c6, 0x2061, 0x12d6, 0x6a88, 0x9284, 0xc000, 0x2010, 0x9286, + 0x0000, 0x1158, 0x2063, 0x0000, 0x2001, 0x0001, 0x080c, 0x2234, + 0x2001, 0x0001, 0x080c, 0x2217, 0x0090, 0x9286, 0x4000, 0x1148, + 0x2063, 0x0001, 0x9006, 0x080c, 0x2234, 0x9006, 0x080c, 0x2217, + 0x0030, 0x9286, 0x8000, 0x1d30, 0x2063, 0x0002, 0x0c98, 0x00ce, + 0x6888, 0xd0ec, 0x0130, 0x2011, 0x0114, 0x2204, 0x9085, 0x0100, + 0x2012, 0x6a80, 0x9284, 0x0030, 0x9086, 0x0030, 0x1128, 0x9294, + 0xffcf, 0x9295, 0x0020, 0x6a82, 0x2001, 0x12a7, 0x6a80, 0x9294, + 0x0030, 0x928e, 0x0000, 0x0170, 0x928e, 0x0010, 0x0118, 0x928e, + 0x0020, 0x0140, 0x2003, 0xaaaa, 0x080c, 0x1fee, 0x2001, 0x1298, + 0x2102, 0x0008, 0x2102, 0x00c6, 0x2061, 0x0100, 0x602f, 0x0040, + 0x602f, 0x0000, 0x00ce, 0x080c, 0x62c5, 0x0128, 0x080c, 0x41ab, + 0x0110, 0x080c, 0x1f38, 0x60cc, 0x9005, 0x01d0, 0x6003, 0x0001, + 0x2009, 0x38db, 0x00e0, 0x080c, 0x62c5, 0x1178, 0x2011, 0x618c, + 0x080c, 0x71e2, 0x2011, 0x617f, 0x080c, 0x72a4, 0x2001, 0x12a8, + 0x2003, 0x0000, 0x080c, 0x61f5, 0x0040, 0x080c, 0x4f94, 0x0028, + 0x6003, 0x0004, 0x2009, 0x38f5, 0x0010, 0x0804, 0x2b47, 0x2001, + 0x0170, 0x2004, 0x9084, 0x00ff, 0x9086, 0x004c, 0x1118, 0x2091, + 0x30bd, 0x0817, 0x2091, 0x303d, 0x0817, 0x6000, 0x9086, 0x0000, + 0x0904, 0x2b77, 0x2069, 0x1152, 0x7890, 0x6842, 0x7894, 0x6846, + 0x2d00, 0x2009, 0x0030, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, 0x2039, + 0x0001, 0x0804, 0x3eb7, 0x9006, 0x080c, 0x1f38, 0x81ff, 0x1904, + 0x2b77, 0x080c, 0x62c5, 0x1178, 0x2001, 0x12a8, 0x2003, 0x0001, + 0x2001, 0x1100, 0x2003, 0x0001, 0x9085, 0x0001, 0x080c, 0x6309, + 0x080c, 0x61f5, 0x0020, 0x080c, 0x50a1, 0x080c, 0x4f94, 0x0804, + 0x2b47, 0x81ff, 0x1904, 0x2b77, 0x080c, 0x62c5, 0x1110, 0x0804, + 0x2b77, 0x618c, 0x81ff, 0x01a8, 0x7047, 0x0000, 0x2001, 0x1580, + 0x2009, 0x0040, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, 0x0126, 0x2091, + 0x8000, 0x2039, 0x0001, 0x080c, 0x3eb7, 0x701b, 0x2b45, 0x012e, + 0x0005, 0x7047, 0x0001, 0x00d6, 0x2069, 0x1580, 0x20a9, 0x0040, + 0x20e9, 0x0001, 0x20a1, 0x1580, 0x2019, 0xffff, 0x4304, 0x6554, + 0x9588, 0x2964, 0x210d, 0x918c, 0x00ff, 0x216a, 0x900e, 0x2011, + 0x0002, 0x2100, 0x9506, 0x01a8, 0x080c, 0x560e, 0x1190, 0x6014, + 0x821c, 0x0238, 0x9398, 0x1580, 0x9085, 0xff00, 0x8007, 0x201a, + 0x0038, 0x9398, 0x1580, 0x2324, 0x94a4, 0xff00, 0x9405, 0x201a, + 0x8210, 0x8108, 0x9182, 0x0080, 0x1208, 0x0c18, 0x8201, 0x8007, + 0x2d0c, 0x9105, 0x206a, 0x00de, 0x20a9, 0x0040, 0x20a1, 0x1580, + 0x2099, 0x1580, 0x080c, 0x5034, 0x0804, 0x3946, 0x080c, 0x3e98, + 0x0904, 0x2b7a, 0x00c6, 0x080c, 0x3e61, 0x00ce, 0x1120, 0x2009, + 0x0002, 0x0804, 0x2b77, 0x2001, 0x1153, 0x2004, 0xd0b4, 0x0578, + 0x7884, 0x9084, 0xff00, 0x908e, 0x7e00, 0x0548, 0x908e, 0x7f00, + 0x0530, 0x908e, 0x8000, 0x0518, 0x2001, 0x1174, 0x2004, 0xd0bc, + 0x1148, 0x6000, 0xd08c, 0x11d8, 0x6004, 0x9084, 0x00ff, 0x9086, + 0x0006, 0x11a8, 0x6867, 0x0000, 0x6868, 0xc0fd, 0x686a, 0x080c, + 0xa9d0, 0x1120, 0x2009, 0x0003, 0x0804, 0x2b77, 0x7007, 0x0003, + 0x701b, 0x39db, 0x0005, 0x080c, 0x3e98, 0x0904, 0x2b7a, 0x20a9, + 0x002b, 0x20e1, 0x0001, 0x2c98, 0x9de8, 0x0002, 0x20e9, 0x0001, + 0x2da0, 0x4003, 0x20a9, 0x0004, 0x9d80, 0x0006, 0x20a0, 0x9c80, + 0x0006, 0x2098, 0x080c, 0x5034, 0x20a9, 0x0004, 0x9d80, 0x000a, + 0x20a0, 0x9c80, 0x000a, 0x2098, 0x080c, 0x5034, 0x2d00, 0x2039, + 0x0001, 0x2009, 0x002b, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, 0x0804, + 0x3eb7, 0x81ff, 0x1904, 0x2b77, 0x080c, 0x3e76, 0x0904, 0x2b7a, + 0x080c, 0x576e, 0x0804, 0x2b47, 0x81ff, 0x1904, 0x2b77, 0x7888, + 0x908a, 0x1000, 0x1a04, 0x2b7a, 0x080c, 0x3e98, 0x0904, 0x2b7a, + 0x080c, 0x57ad, 0x0904, 0x2b77, 0x2019, 0x0004, 0x900e, 0x080c, + 0x5780, 0x7984, 0x810f, 0x7a88, 0x04a1, 0x0804, 0x2b47, 0x00f6, + 0x2d78, 0x789c, 0x908a, 0x1000, 0x12c0, 0x080c, 0x3e96, 0x01a8, + 0x080c, 0x57ad, 0x2009, 0x0002, 0x0160, 0x2019, 0x0004, 0x080c, + 0x5780, 0x2009, 0x0003, 0x0128, 0x7998, 0x7a9c, 0x810f, 0x00c9, + 0x0078, 0x7897, 0x4005, 0x799a, 0x0010, 0x7897, 0x4006, 0x9085, + 0x0001, 0x2001, 0x0030, 0x2009, 0x0000, 0x2f68, 0x00fe, 0x0005, + 0x7897, 0x4000, 0x9085, 0x0001, 0x2009, 0x0000, 0x2f68, 0x00fe, + 0x0005, 0x9186, 0x00ff, 0x0110, 0x0071, 0x0060, 0x2029, 0x007e, + 0x2061, 0x1100, 0x6454, 0x2400, 0x9506, 0x0110, 0x2508, 0x0019, + 0x8529, 0x1ec8, 0x0005, 0x080c, 0x560e, 0x1138, 0x2200, 0x8003, + 0x800b, 0x810b, 0x9108, 0x080c, 0x71ee, 0x0005, 0x81ff, 0x1904, + 0x2b77, 0x080c, 0x3e76, 0x0904, 0x2b7a, 0x080c, 0x56d1, 0x0904, + 0x2b77, 0x080c, 0x5777, 0x0804, 0x2b47, 0x81ff, 0x1904, 0x2b77, + 0x080c, 0x3e76, 0x0904, 0x2b7a, 0x080c, 0x56d1, 0x0904, 0x2b77, + 0x080c, 0x5765, 0x0804, 0x2b47, 0x6100, 0x0804, 0x2b47, 0x080c, + 0x3e98, 0x0904, 0x2b7a, 0x2001, 0x1100, 0x2004, 0x9086, 0x0003, + 0x1904, 0x2b77, 0x00d6, 0x9ce8, 0x000a, 0x7984, 0xd184, 0x0110, + 0x9ce8, 0x0006, 0x680c, 0x8007, 0x789e, 0x6808, 0x8007, 0x789a, + 0x6b04, 0x831f, 0x6a00, 0x8217, 0x00de, 0x6100, 0x918c, 0x0200, + 0x0804, 0x2b47, 0x7884, 0x909c, 0x00ff, 0x939a, 0x0003, 0x1a04, + 0x2b77, 0x6254, 0x9294, 0x00ff, 0x9084, 0xff00, 0x8007, 0x9206, + 0x1188, 0x2031, 0x1148, 0x2009, 0x013c, 0x2136, 0x2001, 0x1140, + 0x2009, 0x000c, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, 0x2039, 0x0001, + 0x0804, 0x3eb7, 0x81ff, 0x1904, 0x2b77, 0x080c, 0x3e98, 0x0904, + 0x2b7a, 0x6004, 0x9084, 0x00ff, 0x9086, 0x0006, 0x1904, 0x2b77, + 0x00c6, 0x080c, 0x3e61, 0x00ce, 0x0904, 0x2b77, 0x6867, 0x0000, + 0x6868, 0xc0fd, 0x686a, 0x080c, 0xa977, 0x0904, 0x2b77, 0x7007, + 0x0003, 0x701b, 0x3b04, 0x0005, 0x6830, 0x9086, 0x0100, 0x0904, + 0x2b77, 0x9d80, 0x001b, 0x2009, 0x000c, 0x7a8c, 0x7b88, 0x7c9c, + 0x7d98, 0x2039, 0x0001, 0x0804, 0x3eb7, 0x9006, 0x080c, 0x1f38, + 0x7884, 0x9084, 0x00ff, 0x9086, 0x00ff, 0x0118, 0x81ff, 0x1904, + 0x2b77, 0x080c, 0x62c5, 0x0110, 0x080c, 0x50a1, 0x7888, 0x908a, + 0x1000, 0x1a04, 0x2b7a, 0x7984, 0x918c, 0xff00, 0x810f, 0x9186, + 0x00ff, 0x0138, 0x9182, 0x007f, 0x1a04, 0x2b7a, 0x2100, 0x080c, + 0x1f02, 0x0026, 0x00c6, 0x0126, 0x2091, 0x8000, 0x2061, 0x1316, + 0x601b, 0x0000, 0x601f, 0x0000, 0x080c, 0x62c5, 0x1178, 0x2001, + 0x12a8, 0x2003, 0x0001, 0x2001, 0x1100, 0x2003, 0x0001, 0x9085, + 0x0001, 0x080c, 0x6309, 0x080c, 0x61f5, 0x0440, 0x2011, 0x0003, + 0x080c, 0x885b, 0x2011, 0x0002, 0x080c, 0x8865, 0x080c, 0x8738, + 0x0036, 0x2019, 0x0000, 0x080c, 0x87ca, 0x003e, 0x2061, 0x0100, + 0x2001, 0x1116, 0x2004, 0x9084, 0x00ff, 0x810f, 0x9105, 0x604a, + 0x6043, 0x0090, 0x6043, 0x0010, 0x2009, 0x12d3, 0x200b, 0x0000, + 0x2009, 0x002d, 0x2011, 0x4fcd, 0x080c, 0x7268, 0x7984, 0x918c, + 0xff00, 0x810f, 0x080c, 0x62c5, 0x1110, 0x2009, 0x00ff, 0x7a88, + 0x080c, 0x3a61, 0x012e, 0x00ce, 0x002e, 0x0804, 0x2b47, 0x7984, + 0x918c, 0xff00, 0x810f, 0x00c6, 0x080c, 0x55b9, 0x2c08, 0x00ce, + 0x1904, 0x2b7a, 0x0804, 0x2b47, 0x81ff, 0x0120, 0x2009, 0x0001, + 0x0804, 0x2b77, 0x60d4, 0xd0ac, 0x1130, 0xd09c, 0x1120, 0x2009, + 0x0005, 0x0804, 0x2b77, 0x080c, 0x3e61, 0x1120, 0x2009, 0x0002, + 0x0804, 0x2b77, 0x7984, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, 0x2039, + 0x0001, 0x080c, 0x3eb4, 0x701b, 0x3bbe, 0x0005, 0x2009, 0x0080, + 0x080c, 0x560e, 0x1130, 0x6004, 0x9084, 0x00ff, 0x9086, 0x0006, + 0x0120, 0x2021, 0x400a, 0x0804, 0x2b49, 0x00d6, 0x9de8, 0x0019, + 0x6900, 0x6a08, 0x6b0c, 0x6c10, 0x6d14, 0x6e18, 0x6820, 0x90be, + 0x0100, 0x0904, 0x3c35, 0x90be, 0x0112, 0x0904, 0x3c35, 0x90be, + 0x0113, 0x0904, 0x3c35, 0x90be, 0x0114, 0x0904, 0x3c35, 0x90be, + 0x0117, 0x0904, 0x3c35, 0x90be, 0x011a, 0x0904, 0x3c35, 0x90be, + 0x011c, 0x0904, 0x3c35, 0x90be, 0x0121, 0x05b0, 0x90be, 0x0131, + 0x0598, 0x90be, 0x0171, 0x05c8, 0x90be, 0x0173, 0x05b0, 0x90be, + 0x01a1, 0x1120, 0x6830, 0x8007, 0x6832, 0x04a8, 0x90be, 0x0212, + 0x0540, 0x90be, 0x0213, 0x0528, 0x90be, 0x0214, 0x01b0, 0x90be, + 0x0217, 0x0168, 0x90be, 0x021a, 0x1120, 0x6838, 0x8007, 0x683a, + 0x00e0, 0x90be, 0x0300, 0x01c8, 0x00de, 0x0804, 0x2b7a, 0x9d80, + 0x0010, 0x20a9, 0x0007, 0x080c, 0x3c7b, 0x9d80, 0x000e, 0x20a9, + 0x0001, 0x080c, 0x3c7b, 0x0048, 0x9d80, 0x000c, 0x080c, 0x3c89, + 0x0050, 0x9d80, 0x000e, 0x080c, 0x3c89, 0x9d80, 0x000c, 0x20a9, + 0x0001, 0x080c, 0x3c7b, 0x00c6, 0x080c, 0x3e61, 0x0568, 0x6868, + 0xc0fd, 0x686a, 0x6867, 0x0119, 0x6883, 0x0000, 0x687f, 0x0020, + 0x688b, 0x0001, 0x810b, 0x69ae, 0x68b3, 0x0000, 0x6ab6, 0x6bba, + 0x6cbe, 0x6dc2, 0x69c6, 0x68cb, 0x0000, 0x00ce, 0x00de, 0x6867, + 0x0000, 0x6868, 0xc0fd, 0x686a, 0x6823, 0x0000, 0x6804, 0x2068, + 0x080c, 0xa993, 0x1120, 0x2009, 0x0003, 0x0804, 0x2b77, 0x7007, + 0x0003, 0x701b, 0x3c72, 0x0005, 0x00ce, 0x00de, 0x2009, 0x0002, + 0x0804, 0x2b77, 0x6820, 0x9086, 0x8001, 0x1904, 0x2b47, 0x2009, + 0x0004, 0x0804, 0x2b77, 0x0016, 0x2008, 0x2044, 0x8000, 0x204c, + 0x8000, 0x290a, 0x8108, 0x280a, 0x8108, 0x1f04, 0x3c7d, 0x001e, + 0x0005, 0x0016, 0x00a6, 0x00b6, 0x2008, 0x2044, 0x8000, 0x204c, + 0x8000, 0x2054, 0x8000, 0x205c, 0x2b0a, 0x8108, 0x2a0a, 0x8108, + 0x290a, 0x8108, 0x280a, 0x00be, 0x00ae, 0x001e, 0x0005, 0x81ff, + 0x0120, 0x2009, 0x0001, 0x0804, 0x2b77, 0x60d4, 0xd0ac, 0x1130, + 0xd09c, 0x1120, 0x2009, 0x0005, 0x0804, 0x2b77, 0x7984, 0x2140, + 0x918c, 0xff00, 0x810f, 0x60d4, 0xd0ac, 0x1120, 0x9182, 0x0080, + 0x0a04, 0x2b7a, 0x9182, 0x00ff, 0x1a04, 0x2b7a, 0x7a8c, 0x7b88, + 0x6074, 0x9306, 0x1140, 0x6078, 0x924e, 0x0904, 0x2b7a, 0x99cc, + 0xff00, 0x0904, 0x2b7a, 0x00c6, 0x080c, 0x3d68, 0x2c68, 0x00ce, + 0x0538, 0x90c6, 0x4000, 0x1180, 0x00c6, 0x0006, 0x2d60, 0x2009, + 0x0000, 0x080c, 0x57dd, 0x1108, 0xc185, 0x6000, 0xd0bc, 0x0108, + 0xc18d, 0x000e, 0x00ce, 0x0088, 0x90c6, 0x4007, 0x1110, 0x2408, + 0x0060, 0x90c6, 0x4008, 0x1118, 0x2708, 0x2610, 0x0030, 0x90c6, + 0x4009, 0x1108, 0x0010, 0x2001, 0x4006, 0x2020, 0x0804, 0x2b49, + 0x2d00, 0x7022, 0x0016, 0x00b6, 0x00c6, 0x00e6, 0x2c70, 0x080c, + 0x8e92, 0x05d8, 0x2d00, 0x6012, 0x080c, 0xac70, 0x2e58, 0x00ee, + 0x00e6, 0x00c6, 0x080c, 0x3e61, 0x00ce, 0x2b70, 0x1150, 0x080c, + 0x8e49, 0x00ee, 0x00ce, 0x00be, 0x001e, 0x2009, 0x0002, 0x0804, + 0x2b77, 0x6867, 0x0000, 0x686b, 0x0000, 0x2d00, 0x6016, 0x6833, + 0x0000, 0x6868, 0xc0fd, 0xd88c, 0x0108, 0xc0f5, 0x686a, 0x0126, + 0x2091, 0x8000, 0x080c, 0x2841, 0x012e, 0x6023, 0x0001, 0x2001, + 0x0000, 0x080c, 0x5557, 0x2001, 0x0002, 0x080c, 0x5569, 0x2009, + 0x0002, 0x080c, 0x8ebf, 0x9085, 0x0001, 0x00ee, 0x00ce, 0x00be, + 0x001e, 0x1120, 0x2009, 0x0003, 0x0804, 0x2b77, 0x7007, 0x0003, + 0x701b, 0x3d4b, 0x0005, 0x6830, 0x9086, 0x0100, 0x7020, 0x2060, + 0x1138, 0x2009, 0x0004, 0x6204, 0x9294, 0x00ff, 0x0804, 0x47c2, + 0x2009, 0x0000, 0x6868, 0xd0f4, 0x1904, 0x2b47, 0x080c, 0x57dd, + 0x1108, 0xc185, 0x6000, 0xd0bc, 0x0108, 0xc18d, 0x0804, 0x2b47, + 0x00e6, 0x00d6, 0x2029, 0x0000, 0x2001, 0x1135, 0x2004, 0xd0ac, + 0x0138, 0x2021, 0x0000, 0x20a9, 0x00ff, 0x2071, 0x1000, 0x0030, + 0x2021, 0x0080, 0x20a9, 0x007f, 0x2071, 0x1080, 0x2e04, 0x9005, + 0x1130, 0x2100, 0x9406, 0x1570, 0x2428, 0xc5fd, 0x0458, 0x2068, + 0x6f10, 0x2700, 0x9306, 0x11b0, 0x6e14, 0x2600, 0x9206, 0x1190, + 0x2400, 0x9106, 0x1160, 0x2d60, 0xd884, 0x0568, 0x6004, 0x9084, + 0x00ff, 0x9086, 0x0006, 0x1538, 0x2001, 0x4000, 0x0428, 0x2001, + 0x4007, 0x0410, 0x2400, 0x9106, 0x1168, 0x6e14, 0x87ff, 0x1138, + 0x86ff, 0x09d0, 0x2001, 0x1135, 0x2004, 0xd0ac, 0x19a8, 0x2001, + 0x4008, 0x0090, 0x8420, 0x8e70, 0x1f04, 0x3d7e, 0x85ff, 0x1130, + 0x2001, 0x4009, 0x0048, 0x2001, 0x0001, 0x0030, 0x080c, 0x55b9, + 0x1dd0, 0x6312, 0x6216, 0x9006, 0x9005, 0x00de, 0x00ee, 0x0005, + 0x81ff, 0x1904, 0x2b77, 0x080c, 0x3e61, 0x0904, 0x2b77, 0x6867, + 0x0000, 0x6868, 0xc0fd, 0x686a, 0x7884, 0x9005, 0x0904, 0x2b7a, + 0x9096, 0x00ff, 0x0120, 0x9092, 0x0004, 0x1a04, 0x2b7a, 0x2010, + 0x2d18, 0x080c, 0x27f6, 0x0904, 0x2b77, 0x7007, 0x0003, 0x701b, + 0x3dea, 0x0005, 0x6830, 0x9086, 0x0100, 0x0904, 0x2b77, 0x0804, + 0x2b47, 0x7984, 0x918c, 0xff00, 0x810f, 0x60d4, 0xd0ac, 0x1120, + 0x9182, 0x0080, 0x0a04, 0x2b7a, 0x9182, 0x00ff, 0x1a04, 0x2b7a, + 0x0126, 0x2091, 0x8000, 0x080c, 0xa883, 0x1188, 0x9190, 0x1000, + 0x2204, 0x9065, 0x0160, 0x080c, 0x50e9, 0x2001, 0x1135, 0x2004, + 0xd0ac, 0x0110, 0x6017, 0x0000, 0x012e, 0x0804, 0x2b47, 0x012e, + 0x0804, 0x2b77, 0x00f6, 0x2d78, 0x7998, 0x918c, 0xff00, 0x810f, + 0x2001, 0x1135, 0x2004, 0xd0ac, 0x1118, 0x9182, 0x0080, 0x02e8, + 0x9182, 0x00ff, 0x12d0, 0x0126, 0x2091, 0x8000, 0x080c, 0xa883, + 0x1540, 0x9190, 0x1000, 0x2204, 0x9065, 0x0538, 0x080c, 0x50e9, + 0x2001, 0x1135, 0x2004, 0xd0ac, 0x0110, 0x6017, 0x0000, 0x012e, + 0x0078, 0x7897, 0x4005, 0x799a, 0x0010, 0x7897, 0x4006, 0x9085, + 0x0001, 0x2001, 0x0030, 0x2009, 0x0000, 0x2f68, 0x00fe, 0x0005, + 0x7897, 0x4000, 0x9085, 0x0001, 0x2009, 0x0000, 0x2f68, 0x00fe, + 0x0005, 0x012e, 0x2009, 0x0003, 0x0c20, 0x012e, 0x2009, 0x000a, + 0x0c00, 0x080c, 0x0e69, 0x0188, 0x9006, 0x6802, 0x7010, 0x9005, + 0x1120, 0x2d00, 0x7012, 0x7016, 0x0030, 0x7014, 0x6802, 0x2060, + 0x2d00, 0x6006, 0x7016, 0x9d80, 0x0019, 0x0005, 0x7984, 0x810f, + 0x918c, 0x00ff, 0x080c, 0x560e, 0x1130, 0x7e88, 0x9684, 0x3fff, + 0x9082, 0x4000, 0x0208, 0x9066, 0x8cff, 0x0005, 0x7998, 0x810f, + 0x918c, 0x00ff, 0x080c, 0x560e, 0x1130, 0x7e9c, 0x9684, 0x3fff, + 0x9082, 0x4000, 0x0208, 0x9066, 0x8cff, 0x0005, 0x7e98, 0x0008, + 0x7e84, 0x860f, 0x918c, 0x00ff, 0x080c, 0x560e, 0x1128, 0x96b4, + 0x00ff, 0x9682, 0x4000, 0x0208, 0x9066, 0x8cff, 0x0005, 0x0016, + 0x7110, 0x81ff, 0x0128, 0x2168, 0x6904, 0x080c, 0x0e82, 0x0cc8, + 0x7112, 0x7116, 0x001e, 0x0005, 0x2031, 0x0001, 0x0010, 0x2031, + 0x0000, 0x2061, 0x11ea, 0x6606, 0x6116, 0x670e, 0x6012, 0x622a, + 0x632e, 0x6432, 0x6536, 0x2c10, 0x080c, 0x0ee1, 0x7007, 0x0002, + 0x701b, 0x2b47, 0x0005, 0x00f6, 0x0126, 0x2091, 0x8000, 0x2079, + 0x0000, 0x2001, 0x11a3, 0x2004, 0x9005, 0x1190, 0x0e04, 0x3ee8, + 0x7a36, 0x7833, 0x0012, 0x7a82, 0x7b86, 0x7c8a, 0x2091, 0x4080, + 0x2001, 0x0089, 0x2004, 0xd084, 0x190c, 0x0f7c, 0x0804, 0x3f45, + 0x00c6, 0x00d6, 0x00e6, 0x00f6, 0x2071, 0x1193, 0x703c, 0x9005, + 0x1540, 0x7140, 0x9182, 0x0010, 0x0288, 0x7030, 0x2060, 0x080c, + 0x0e69, 0x0904, 0x3f3e, 0x684b, 0x0000, 0x2d00, 0x703e, 0x2001, + 0x0002, 0x9080, 0x18a2, 0x2005, 0x6846, 0x0098, 0x7030, 0x90e0, + 0x0004, 0x2001, 0x11aa, 0x9c82, 0x11ea, 0x0210, 0x2061, 0x11aa, + 0x2c00, 0x7032, 0x7140, 0x81ff, 0x1108, 0x7036, 0x8108, 0x7142, + 0x0428, 0x7140, 0x8108, 0x7142, 0x703c, 0x2078, 0x7944, 0x2105, + 0x9f60, 0x8108, 0x2105, 0x9005, 0x7946, 0x11c0, 0x080c, 0x0e69, + 0x1130, 0x8109, 0x7946, 0x7140, 0x8109, 0x7142, 0x0078, 0x9006, + 0x6806, 0x684a, 0x7846, 0x2f00, 0x6802, 0x2d00, 0x7806, 0x703e, + 0x2001, 0x0002, 0x9080, 0x18a2, 0x2005, 0x6846, 0x2262, 0x6306, + 0x640a, 0x00fe, 0x00ee, 0x00de, 0x00ce, 0x012e, 0x00fe, 0x0005, + 0x00e6, 0x2071, 0x1193, 0x7040, 0x9005, 0x0904, 0x3fcc, 0x0126, + 0x2091, 0x8000, 0x0e04, 0x3fcb, 0x00f6, 0x2079, 0x0000, 0x00c6, + 0x00d6, 0x0086, 0x9006, 0x2040, 0x7038, 0x2068, 0x9005, 0x01c0, + 0x6948, 0x2105, 0x9d60, 0x8108, 0x2105, 0x9005, 0x694a, 0x1190, + 0x6804, 0x9005, 0x0904, 0x0d4e, 0x703a, 0x2d40, 0x2068, 0x6803, + 0x0000, 0x2001, 0x0002, 0x9080, 0x18a2, 0x2005, 0x684a, 0x0010, + 0x7034, 0x2060, 0x2c04, 0x7836, 0x7833, 0x0012, 0x7882, 0x6004, + 0x7886, 0x6008, 0x788a, 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, + 0xd084, 0x190c, 0x0f7c, 0x88ff, 0x0118, 0x2868, 0x080c, 0x0e82, + 0x7040, 0x8001, 0x7042, 0x9005, 0x1170, 0x7038, 0x2068, 0x9005, + 0x0128, 0x080c, 0x0e82, 0x9006, 0x703a, 0x703e, 0x7033, 0x11aa, + 0x7037, 0x11aa, 0x0420, 0x7038, 0x9005, 0x1508, 0x7230, 0x2c00, + 0x9206, 0x0148, 0x9c80, 0x0004, 0x90fa, 0x11ea, 0x0210, 0x2001, + 0x11aa, 0x7036, 0x00a0, 0x9006, 0x7036, 0x7032, 0x703c, 0x9005, + 0x0904, 0x0d4e, 0x2068, 0x6800, 0x9005, 0x1de0, 0x2d00, 0x703a, + 0x2001, 0x0002, 0x9080, 0x18a2, 0x2005, 0x684a, 0x0000, 0x008e, + 0x00de, 0x00ce, 0x00fe, 0x012e, 0x00ee, 0x0005, 0x0026, 0x2001, + 0x1153, 0x2004, 0xd0c4, 0x0120, 0x2011, 0x8014, 0x080c, 0x3ecb, + 0x002e, 0x0005, 0x81ff, 0x1904, 0x2b77, 0x0126, 0x2091, 0x8000, + 0x6030, 0xc08d, 0xc085, 0xc0ac, 0x6032, 0x080c, 0x62c5, 0x1178, + 0x2001, 0x12a8, 0x2003, 0x0001, 0x2001, 0x1100, 0x2003, 0x0001, + 0x9085, 0x0001, 0x080c, 0x6309, 0x080c, 0x61f5, 0x0010, 0x080c, + 0x4f94, 0x012e, 0x0804, 0x2b47, 0x7884, 0x2008, 0x918c, 0xfffd, + 0x1128, 0x61e0, 0x910d, 0x61e2, 0x0804, 0x2b47, 0x0804, 0x2b7a, + 0x81ff, 0x1904, 0x2b77, 0x6000, 0x9086, 0x0003, 0x1904, 0x2b77, + 0x2001, 0x1153, 0x2004, 0xd0ac, 0x1904, 0x2b77, 0x080c, 0x3e98, + 0x0904, 0x2b7a, 0x6004, 0x9084, 0x00ff, 0x9086, 0x0006, 0x1120, + 0x7888, 0x9005, 0x0904, 0x2b47, 0x00c6, 0x080c, 0x3e61, 0x00ce, + 0x0904, 0x2b77, 0x6867, 0x0000, 0x6833, 0x0000, 0x6868, 0xc0fd, + 0x686a, 0x080c, 0xaa53, 0x0904, 0x2b77, 0x7007, 0x0003, 0x701b, + 0x407d, 0x0005, 0x00f6, 0x2d78, 0x2061, 0x1100, 0x6000, 0x9086, + 0x0003, 0x2009, 0x0007, 0x11e0, 0x2001, 0x1153, 0x2004, 0xd0ac, + 0x2009, 0x0008, 0x11a8, 0x080c, 0x3e96, 0x01b0, 0x6004, 0x9084, + 0x00ff, 0x9086, 0x0006, 0x1118, 0x789c, 0x9005, 0x01c0, 0x2f68, + 0x6868, 0xc0fc, 0x686a, 0x080c, 0xaa53, 0x11d8, 0x2009, 0x0003, + 0x7897, 0x4005, 0x799a, 0x0010, 0x7897, 0x4006, 0x9085, 0x0001, + 0x2001, 0x0030, 0x2009, 0x0000, 0x2f68, 0x00fe, 0x0005, 0x7897, + 0x4000, 0x9006, 0x918d, 0x0001, 0x2009, 0x0000, 0x2f68, 0x00fe, + 0x0005, 0x9006, 0x2f68, 0x00fe, 0x0005, 0x6830, 0x9086, 0x0100, + 0x1904, 0x2b47, 0x0804, 0x47c2, 0x2001, 0x1100, 0x2004, 0x9086, + 0x0003, 0x1904, 0x2b77, 0x7f84, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, + 0x080c, 0x3e61, 0x0904, 0x2b77, 0x2009, 0x0000, 0x2031, 0x0000, + 0x7023, 0x0000, 0x702f, 0x0000, 0x9d80, 0x0005, 0x7026, 0x20a0, + 0x20e1, 0x0001, 0x20e9, 0x0001, 0x080c, 0x560e, 0x1904, 0x40fe, + 0x6004, 0x90c4, 0x00ff, 0x98c6, 0x0006, 0x0130, 0x90c4, 0xff00, + 0x98c6, 0x0600, 0x1904, 0x40fe, 0x2001, 0x1153, 0x2004, 0xd0ac, + 0x1130, 0x080c, 0x57dd, 0x1118, 0xd79c, 0x0904, 0x40fe, 0xd794, + 0x1110, 0xd784, 0x0158, 0x9c80, 0x0006, 0x2098, 0x3400, 0x20a9, + 0x0004, 0x4003, 0x080c, 0x3c89, 0xd794, 0x0148, 0x9c80, 0x000a, + 0x2098, 0x3400, 0x20a9, 0x0004, 0x4003, 0x080c, 0x3c89, 0x21a2, + 0x3400, 0x8000, 0x20a0, 0xd794, 0x01d8, 0x9c80, 0x0000, 0x2098, + 0x20a9, 0x0002, 0x4003, 0x9c80, 0x0003, 0x2098, 0x20a9, 0x0001, + 0x4005, 0x9c80, 0x0004, 0x2098, 0x3400, 0x20a9, 0x0002, 0x4003, + 0x080c, 0x3c7b, 0x9c80, 0x0026, 0x2098, 0x20a9, 0x0002, 0x4003, + 0xd794, 0x0110, 0x96b0, 0x000b, 0x96b0, 0x0005, 0x8108, 0x2001, + 0x1135, 0x2004, 0xd0ac, 0x0118, 0x9186, 0x0100, 0x0040, 0xd78c, + 0x0120, 0x9186, 0x0100, 0x0170, 0x0018, 0x9186, 0x007e, 0x0150, + 0xd794, 0x0118, 0x9686, 0x0020, 0x0010, 0x9686, 0x0028, 0x0150, + 0x0804, 0x40a0, 0x86ff, 0x1120, 0x7120, 0x810b, 0x0804, 0x2b47, + 0x702f, 0x0001, 0x711e, 0x7020, 0x9600, 0x7022, 0x772a, 0x2061, + 0x11ea, 0x6007, 0x0000, 0x6616, 0x7024, 0x600f, 0x0001, 0x6012, + 0x622a, 0x632e, 0x6432, 0x6536, 0x2c10, 0x080c, 0x0ee1, 0x7007, + 0x0002, 0x701b, 0x413c, 0x0005, 0x702c, 0x9005, 0x1170, 0x711c, + 0x7024, 0x20a0, 0x7728, 0x2031, 0x0000, 0x2061, 0x11ea, 0x6228, + 0x632c, 0x6430, 0x6534, 0x0804, 0x40a0, 0x7120, 0x810b, 0x0804, + 0x2b47, 0x2029, 0x007e, 0x7984, 0x7a88, 0x7b8c, 0x7c98, 0x9184, + 0xff00, 0x8007, 0x90e2, 0x0020, 0x0a04, 0x2b7a, 0x9502, 0x0a04, + 0x2b7a, 0x9184, 0x00ff, 0x90e2, 0x0020, 0x0a04, 0x2b7a, 0x9502, + 0x0a04, 0x2b7a, 0x9284, 0xff00, 0x8007, 0x90e2, 0x0020, 0x0a04, + 0x2b7a, 0x9502, 0x0a04, 0x2b7a, 0x9284, 0x00ff, 0x90e2, 0x0020, + 0x0a04, 0x2b7a, 0x9502, 0x0a04, 0x2b7a, 0x9384, 0xff00, 0x8007, + 0x90e2, 0x0020, 0x0a04, 0x2b7a, 0x9502, 0x0a04, 0x2b7a, 0x9384, + 0x00ff, 0x90e2, 0x0020, 0x0a04, 0x2b7a, 0x9502, 0x0a04, 0x2b7a, + 0x9484, 0xff00, 0x8007, 0x90e2, 0x0020, 0x0a04, 0x2b7a, 0x9502, + 0x0a04, 0x2b7a, 0x9484, 0x00ff, 0x90e2, 0x0020, 0x0a04, 0x2b7a, + 0x9502, 0x0a04, 0x2b7a, 0x2061, 0x12c3, 0x6102, 0x6206, 0x630a, + 0x640e, 0x0804, 0x2b47, 0x0006, 0x2001, 0x1153, 0x2004, 0xd0cc, + 0x000e, 0x0005, 0x0006, 0x2001, 0x1172, 0x2004, 0xd0bc, 0x000e, + 0x0005, 0x616c, 0x7a84, 0x6300, 0x82ff, 0x1118, 0x7986, 0x0804, + 0x2b47, 0x83ff, 0x1904, 0x2b7a, 0x2001, 0xfff0, 0x9200, 0x1a04, + 0x2b7a, 0x2019, 0xffff, 0x6070, 0x9302, 0x9200, 0x0a04, 0x2b7a, + 0x7986, 0x626e, 0x0804, 0x2b47, 0x2001, 0x1100, 0x2004, 0x9086, + 0x0003, 0x1904, 0x2b77, 0x7c88, 0x7d84, 0x7e98, 0x7f8c, 0x080c, + 0x3e61, 0x0904, 0x2b77, 0x2009, 0x0000, 0x2019, 0x0000, 0x7023, + 0x0000, 0x702f, 0x0000, 0x9d80, 0x0003, 0x7026, 0x20a0, 0x91e0, + 0x1000, 0x2c64, 0x8cff, 0x01d8, 0x6004, 0x9084, 0x00ff, 0x9086, + 0x0006, 0x0130, 0x6004, 0x9084, 0xff00, 0x9086, 0x0600, 0x1178, + 0x00d6, 0x3468, 0x6014, 0x206a, 0x8d68, 0x6010, 0x8007, 0x9105, + 0x8007, 0x206a, 0x8d68, 0x2da0, 0x00de, 0x9398, 0x0002, 0x8108, + 0x9182, 0x00ff, 0x0120, 0x9386, 0x002a, 0x0148, 0x08c0, 0x83ff, + 0x1120, 0x7120, 0x810c, 0x0804, 0x2b47, 0x702f, 0x0001, 0x711e, + 0x7020, 0x9300, 0x7022, 0x2061, 0x11ea, 0x6007, 0x0000, 0x6316, + 0x7024, 0x6012, 0x600f, 0x0001, 0x642a, 0x652e, 0x6632, 0x6736, + 0x2c10, 0x080c, 0x0ee1, 0x7007, 0x0002, 0x701b, 0x4238, 0x0005, + 0x702c, 0x9005, 0x1168, 0x711c, 0x7024, 0x20a0, 0x2019, 0x0000, + 0x2061, 0x11ea, 0x6428, 0x652c, 0x6630, 0x6734, 0x0804, 0x41ef, + 0x7120, 0x810c, 0x0804, 0x2b47, 0x00f6, 0x2d78, 0x00e6, 0x2001, + 0x1100, 0x2004, 0x9086, 0x0003, 0x2009, 0x0007, 0x1904, 0x42d8, + 0x2071, 0x1193, 0x7454, 0x84ff, 0x2009, 0x000e, 0x1904, 0x42d8, + 0x7c9c, 0x7d98, 0x7ea4, 0x7fa0, 0x080c, 0x0e50, 0x2009, 0x0002, + 0x0904, 0x42d8, 0x2d00, 0x7056, 0x2009, 0x0000, 0x2019, 0x0000, + 0x704f, 0x0000, 0x705b, 0x0000, 0x9d80, 0x0003, 0x7052, 0x20a0, + 0x91e0, 0x1000, 0x2c64, 0x8cff, 0x01d8, 0x6004, 0x9084, 0x00ff, + 0x9086, 0x0006, 0x0130, 0x6004, 0x9084, 0xff00, 0x9086, 0x0600, + 0x1178, 0x00d6, 0x3468, 0x6014, 0x206a, 0x8d68, 0x6010, 0x8007, + 0x9105, 0x8007, 0x206a, 0x8d68, 0x2da0, 0x00de, 0x9398, 0x0002, + 0x8108, 0x9182, 0x00ff, 0x0120, 0x9386, 0x002a, 0x01e0, 0x08c0, + 0x83ff, 0x11b8, 0x714c, 0x810c, 0x7897, 0x4000, 0x799a, 0x7154, + 0x81ff, 0x090c, 0x0d4e, 0x2168, 0x080c, 0x0e82, 0x7057, 0x0000, + 0x9006, 0x918d, 0x0001, 0x2009, 0x0000, 0x00ee, 0x2f68, 0x00fe, + 0x0005, 0x705b, 0x0001, 0x714a, 0x704c, 0x9300, 0x704e, 0x2061, + 0x11fb, 0x6007, 0x0000, 0x6316, 0x7050, 0x6012, 0x600f, 0x0001, + 0x642a, 0x652e, 0x6632, 0x6736, 0x603b, 0x42e5, 0x2f00, 0x603e, + 0x2c10, 0x080c, 0x0ee1, 0x9006, 0x00ee, 0x2f68, 0x00fe, 0x0005, + 0x7897, 0x4005, 0x799a, 0x9085, 0x0001, 0x2001, 0x0030, 0x2009, + 0x0000, 0x00ee, 0x2f68, 0x00fe, 0x0005, 0x00f6, 0x603c, 0x907d, + 0x090c, 0x0d4e, 0x00e6, 0x2071, 0x1193, 0x6008, 0x908e, 0x0100, + 0x0138, 0x787b, 0x0030, 0x7883, 0x0000, 0x7897, 0x4002, 0x00b0, + 0x7058, 0x9005, 0x1150, 0x7148, 0x7050, 0x20a0, 0x2019, 0x0000, + 0x6428, 0x652c, 0x6630, 0x6734, 0x0400, 0x787b, 0x0000, 0x7883, + 0x0000, 0x7897, 0x4000, 0x714c, 0x810c, 0x799a, 0x7154, 0x81ff, + 0x090c, 0x0d4e, 0x2168, 0x080c, 0x0e82, 0x7057, 0x0000, 0x2f68, + 0x0126, 0x2091, 0x8000, 0x080c, 0x5b7a, 0x012e, 0x603b, 0x0000, + 0x603f, 0x0000, 0x00ee, 0x00fe, 0x0005, 0x91e0, 0x1000, 0x2c64, + 0x8cff, 0x01d8, 0x6004, 0x9084, 0x00ff, 0x9086, 0x0006, 0x0130, + 0x6004, 0x9084, 0xff00, 0x9086, 0x0600, 0x1178, 0x00d6, 0x3468, + 0x6014, 0x206a, 0x8d68, 0x6010, 0x8007, 0x9105, 0x8007, 0x206a, + 0x8d68, 0x2da0, 0x00de, 0x9398, 0x0002, 0x8108, 0x9182, 0x00ff, + 0x0120, 0x9386, 0x002a, 0x0540, 0x08c0, 0x83ff, 0x1518, 0x714c, + 0x810c, 0x799a, 0x7897, 0x4000, 0x7154, 0x81ff, 0x090c, 0x0d4e, + 0x2168, 0x080c, 0x0e82, 0x7057, 0x0000, 0x9006, 0x918d, 0x0001, + 0x2009, 0x0000, 0x2f68, 0x0126, 0x2091, 0x8000, 0x080c, 0x5b7a, + 0x012e, 0x2061, 0x11fb, 0x603b, 0x0000, 0x603f, 0x0000, 0x00ee, + 0x00fe, 0x0005, 0x705b, 0x0001, 0x714a, 0x704c, 0x9300, 0x704e, + 0x2061, 0x11fb, 0x6316, 0x642a, 0x652e, 0x6632, 0x6736, 0x2c10, + 0x080c, 0x0ee1, 0x9006, 0x00ee, 0x00fe, 0x0005, 0x81ff, 0x1904, + 0x2b77, 0x60d4, 0xd0ac, 0x1118, 0xd09c, 0x0904, 0x2b77, 0x080c, + 0x3e61, 0x0904, 0x2b77, 0x7984, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, + 0x2039, 0x0001, 0x080c, 0x3eb4, 0x701b, 0x439f, 0x0005, 0x00d6, + 0x9de8, 0x0019, 0x6828, 0x90be, 0x7000, 0x0148, 0x90be, 0x7100, + 0x0130, 0x90be, 0x7200, 0x0118, 0x00de, 0x0804, 0x2b7a, 0x6820, + 0x6924, 0x080c, 0x1eee, 0x1510, 0x080c, 0x55b9, 0x11f8, 0x7122, + 0x6612, 0x6516, 0x6e18, 0x00c6, 0x080c, 0x3e61, 0x01b8, 0x080c, + 0x3e61, 0x01a0, 0x00ce, 0x00de, 0x6867, 0x0000, 0x6868, 0xc0fd, + 0x686a, 0x6823, 0x0000, 0x6804, 0x2068, 0x080c, 0xa9b4, 0x0904, + 0x2b77, 0x7007, 0x0003, 0x701b, 0x43d9, 0x0005, 0x00de, 0x0804, + 0x2b77, 0x7120, 0x080c, 0x2937, 0x6820, 0x9086, 0x8001, 0x0904, + 0x2b77, 0x2d00, 0x701e, 0x6804, 0x9080, 0x0002, 0x0006, 0x20a9, + 0x002a, 0x2098, 0x20a0, 0x080c, 0x5034, 0x000e, 0x9de8, 0x0019, + 0x6a08, 0x6b0c, 0x6c10, 0x6d14, 0x2061, 0x11ea, 0x6007, 0x0000, + 0x6e00, 0x6f28, 0x97c6, 0x7000, 0x1108, 0x0018, 0x97c6, 0x7100, + 0x1150, 0x96c2, 0x0004, 0x0a04, 0x2b7a, 0x2009, 0x0004, 0x2039, + 0x0001, 0x0804, 0x3eb7, 0x97c6, 0x7200, 0x1904, 0x2b7a, 0x96c2, + 0x0054, 0x0a04, 0x2b7a, 0x600f, 0x0001, 0x6012, 0x6017, 0x002a, + 0x622a, 0x632e, 0x6432, 0x6536, 0x2c10, 0x080c, 0x0ee1, 0x7007, + 0x0002, 0x701b, 0x4424, 0x0005, 0x701c, 0x2068, 0x6804, 0x9080, + 0x0001, 0x2004, 0x9080, 0x0002, 0x0006, 0x20a9, 0x002a, 0x2098, + 0x20a0, 0x080c, 0x5034, 0x000e, 0x2061, 0x11ea, 0x6228, 0x632c, + 0x6430, 0x6534, 0x2039, 0x0001, 0x2009, 0x002a, 0x0804, 0x3eb7, + 0x81ff, 0x1904, 0x2b77, 0x798c, 0x2001, 0x12a9, 0x2102, 0x080c, + 0x3e76, 0x0904, 0x2b7a, 0x080c, 0x56d1, 0x0904, 0x2b77, 0x0126, + 0x2091, 0x8000, 0x080c, 0x5789, 0x012e, 0x0804, 0x2b47, 0x00f6, + 0x69a0, 0x2001, 0x12a9, 0x2102, 0x2d78, 0x080c, 0x3e86, 0x0170, + 0x080c, 0x56d1, 0x2009, 0x0002, 0x0128, 0x080c, 0x5789, 0x1188, + 0x2009, 0x0003, 0x7897, 0x4005, 0x799a, 0x0010, 0x7897, 0x4006, + 0x9085, 0x0001, 0x2001, 0x0030, 0x2009, 0x0000, 0x2f68, 0x00fe, + 0x0005, 0x7897, 0x4000, 0x2001, 0x0000, 0x918d, 0x0001, 0x2009, + 0x0000, 0x2f68, 0x00fe, 0x0005, 0x7884, 0xd08c, 0x1118, 0xd084, + 0x0904, 0x399e, 0x080c, 0x3e98, 0x0904, 0x2b7a, 0x00c6, 0x080c, + 0x3e61, 0x00ce, 0x1120, 0x2009, 0x0002, 0x0804, 0x2b77, 0x6004, + 0x9084, 0x00ff, 0x9086, 0x0006, 0x0128, 0x908e, 0x0004, 0x0110, + 0x908e, 0x0005, 0x15b8, 0x7884, 0xd08c, 0x0120, 0x6000, 0xc08c, + 0x6002, 0x0030, 0x2001, 0x1153, 0x2004, 0xd0b4, 0x0904, 0x39df, + 0x7884, 0x9084, 0xff00, 0x908e, 0x7e00, 0x0904, 0x39df, 0x908e, + 0x7f00, 0x0904, 0x39df, 0x908e, 0x8000, 0x0904, 0x39df, 0x6000, + 0xd08c, 0x1904, 0x39df, 0x6867, 0x0000, 0x6868, 0xc0fd, 0x686a, + 0x080c, 0xa9d0, 0x1120, 0x2009, 0x0003, 0x0804, 0x2b77, 0x7007, + 0x0003, 0x701b, 0x44d4, 0x0005, 0x080c, 0x3e98, 0x0904, 0x2b7a, + 0x0804, 0x39df, 0x2001, 0x1174, 0x2004, 0xd0bc, 0x0108, 0x0005, + 0x2009, 0x1132, 0x210c, 0x81ff, 0x0120, 0x2009, 0x0001, 0x0804, + 0x2b77, 0x2001, 0x1100, 0x2004, 0x9086, 0x0003, 0x0120, 0x2009, + 0x0007, 0x0804, 0x2b77, 0x2001, 0x1153, 0x2004, 0xd0ac, 0x0120, + 0x2009, 0x0008, 0x0804, 0x2b77, 0x609c, 0xd0a4, 0x1118, 0xd0ac, + 0x1904, 0x39df, 0x6867, 0x0000, 0x6833, 0x0000, 0x6868, 0xc0fd, + 0x686a, 0x080c, 0xaa53, 0x1120, 0x2009, 0x0003, 0x0804, 0x2b77, + 0x7007, 0x0003, 0x701b, 0x4515, 0x0005, 0x6830, 0x9086, 0x0100, + 0x1120, 0x2009, 0x0004, 0x0804, 0x47c2, 0x080c, 0x3e98, 0x0904, + 0x2b7a, 0x0804, 0x44a3, 0x81ff, 0x2009, 0x0001, 0x1904, 0x2b77, + 0x6000, 0x9086, 0x0003, 0x2009, 0x0007, 0x1904, 0x2b77, 0x2001, + 0x1153, 0x2004, 0xd0ac, 0x2009, 0x0008, 0x1904, 0x2b77, 0x080c, + 0x3e98, 0x0904, 0x2b7a, 0x6004, 0x9084, 0x00ff, 0x9086, 0x0006, + 0x2009, 0x0009, 0x1904, 0x2b77, 0x00c6, 0x080c, 0x3e61, 0x00ce, + 0x2009, 0x0002, 0x0904, 0x2b77, 0x6867, 0x0000, 0x6833, 0x0000, + 0x6868, 0xc0fd, 0x686a, 0x7988, 0x9194, 0xff00, 0x918c, 0x00ff, + 0x9006, 0x82ff, 0x1128, 0xc0ed, 0x6952, 0x798c, 0x6956, 0x0048, + 0x928e, 0x0100, 0x1904, 0x2b7a, 0xc0e5, 0x6853, 0x0000, 0x6857, + 0x0000, 0x683e, 0x080c, 0xac71, 0x2009, 0x0003, 0x0904, 0x2b77, + 0x7007, 0x0003, 0x701b, 0x4575, 0x0005, 0x6830, 0x9086, 0x0100, + 0x2009, 0x0004, 0x0904, 0x2b77, 0x0804, 0x2b47, 0x81ff, 0x2009, + 0x0001, 0x1904, 0x2b77, 0x6000, 0x9086, 0x0003, 0x2009, 0x0007, + 0x1904, 0x2b77, 0x080c, 0x3e98, 0x0904, 0x2b7a, 0x6004, 0x9084, + 0x00ff, 0x9086, 0x0006, 0x2009, 0x0009, 0x1904, 0x2b77, 0x00c6, + 0x080c, 0x3e61, 0x00ce, 0x2009, 0x0002, 0x0904, 0x2b77, 0x9d80, + 0x001b, 0x2039, 0x0001, 0x2009, 0x0008, 0x7a8c, 0x7b88, 0x7c9c, + 0x7d98, 0x080c, 0x3eb4, 0x701b, 0x45ae, 0x0005, 0x00d6, 0x9de8, + 0x001b, 0x6800, 0x9086, 0x0500, 0x1140, 0x6804, 0x9005, 0x1128, + 0x6808, 0x9084, 0xff00, 0x1108, 0x0018, 0x00de, 0x1904, 0x2b7a, + 0x00de, 0x6867, 0x0000, 0x6833, 0x0000, 0x6868, 0xc0fd, 0x686a, + 0x00c6, 0x080c, 0x3e98, 0x1118, 0x00ce, 0x0804, 0x2b7a, 0x2009, + 0x0043, 0x080c, 0xacdb, 0x2009, 0x0003, 0x00ce, 0x0904, 0x2b77, + 0x7007, 0x0003, 0x701b, 0x45dd, 0x0005, 0x6830, 0x9086, 0x0100, + 0x2009, 0x0004, 0x0904, 0x2b77, 0x0804, 0x2b47, 0x00f6, 0x00c6, + 0x2d78, 0x2061, 0x1100, 0x6000, 0x9086, 0x0003, 0x2009, 0x0007, + 0x1528, 0x080c, 0x3e96, 0x0530, 0x6004, 0x9084, 0x00ff, 0x9086, + 0x0006, 0x2009, 0x0009, 0x11d0, 0x9fe8, 0x0031, 0x6800, 0x9086, + 0x0500, 0x11c0, 0x6804, 0x9005, 0x11a8, 0x6808, 0x9084, 0xff00, + 0x1188, 0x080c, 0x3e96, 0x1108, 0x0068, 0x2f68, 0x2009, 0x004b, + 0x080c, 0xacdb, 0x2009, 0x0003, 0x0108, 0x0080, 0x7897, 0x4005, + 0x799a, 0x0010, 0x7897, 0x4006, 0x9085, 0x0001, 0x2001, 0x0030, + 0x2009, 0x0000, 0x00ce, 0x2f68, 0x00fe, 0x0005, 0x9006, 0x00ce, + 0x2f68, 0x00fe, 0x0005, 0x81ff, 0x0120, 0x2009, 0x0001, 0x0804, + 0x2b77, 0x6000, 0x9086, 0x0003, 0x0120, 0x2009, 0x0007, 0x0804, + 0x2b77, 0x7e84, 0x860f, 0x918c, 0x00ff, 0x96b4, 0x00ff, 0x080c, + 0x560e, 0x1904, 0x2b7a, 0x9186, 0x007f, 0x0150, 0x6004, 0x9084, + 0x00ff, 0x9086, 0x0006, 0x0120, 0x2009, 0x0009, 0x0804, 0x2b77, + 0x00c6, 0x080c, 0x3e61, 0x00ce, 0x1120, 0x2009, 0x0002, 0x0804, + 0x2b77, 0x6867, 0x0000, 0x6868, 0xc0fd, 0x686a, 0x2001, 0x0100, + 0x8007, 0x680a, 0x080c, 0xa9eb, 0x1120, 0x2009, 0x0003, 0x0804, + 0x2b77, 0x7007, 0x0003, 0x701b, 0x466e, 0x0005, 0x6808, 0x8007, + 0x9086, 0x0100, 0x1120, 0x2009, 0x0004, 0x0804, 0x2b77, 0x68e0, + 0x6866, 0x6810, 0x8007, 0x9084, 0x00ff, 0x800c, 0x6814, 0x8007, + 0x9084, 0x00ff, 0x8004, 0x9080, 0x0002, 0x9108, 0x9d80, 0x0004, + 0x2039, 0x0001, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, 0x0804, 0x3eb7, + 0x080c, 0x3e61, 0x1120, 0x2009, 0x0002, 0x0804, 0x2b77, 0x7984, + 0x9194, 0xff00, 0x918c, 0x00ff, 0x8217, 0x82ff, 0x0110, 0x0804, + 0x2b7a, 0x2009, 0x001a, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, 0x2039, + 0x0001, 0x080c, 0x3eb4, 0x701b, 0x46ae, 0x0005, 0x9d80, 0x0019, + 0x2098, 0x20e1, 0x0001, 0x20a9, 0x001a, 0x20a1, 0x12e9, 0x20e9, + 0x0001, 0x4003, 0x0804, 0x2b47, 0x080c, 0x3e61, 0x1120, 0x2009, + 0x0002, 0x0804, 0x2b77, 0x7984, 0x9194, 0xff00, 0x918c, 0x00ff, + 0x8217, 0x82ff, 0x0110, 0x0804, 0x2b7a, 0x2099, 0x12e9, 0x20a0, + 0x20e9, 0x0001, 0x20a9, 0x001a, 0x20e1, 0x0001, 0x4003, 0x2009, + 0x001a, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, 0x2039, 0x0001, 0x0804, + 0x3eb7, 0x7884, 0x908a, 0x1000, 0x1a04, 0x2b7a, 0x0126, 0x2091, + 0x8000, 0x8003, 0x800b, 0x810b, 0x9108, 0x00c6, 0x2061, 0x1316, + 0x6142, 0x00ce, 0x012e, 0x0804, 0x2b47, 0x00c6, 0x080c, 0x62c5, + 0x1188, 0x2001, 0x12a8, 0x2003, 0x0001, 0x2001, 0x1100, 0x2003, + 0x0001, 0x9085, 0x0001, 0x080c, 0x6309, 0x080c, 0x61f5, 0x080c, + 0x0d4e, 0x0038, 0x2061, 0x1100, 0x6030, 0xc09d, 0x6032, 0x080c, + 0x4f94, 0x00ce, 0x0005, 0x00c6, 0x2001, 0x1100, 0x2004, 0x908e, + 0x0000, 0x0904, 0x2b77, 0x7884, 0x9005, 0x0188, 0x7888, 0x2061, + 0x12d6, 0x2c0c, 0x2062, 0x080c, 0x22c8, 0x01a0, 0x080c, 0x22d0, + 0x0188, 0x080c, 0x22d8, 0x0170, 0x2162, 0x0804, 0x2b7a, 0x2061, + 0x0100, 0x6038, 0x9086, 0x0007, 0x1118, 0x2009, 0x0001, 0x0010, + 0x2009, 0x0000, 0x7884, 0x9086, 0x0002, 0x1558, 0x2061, 0x0100, + 0x6028, 0xc09c, 0x602a, 0x0026, 0x2011, 0x0003, 0x080c, 0x885b, + 0x2011, 0x0002, 0x080c, 0x8865, 0x002e, 0x080c, 0x8738, 0x0036, + 0x2019, 0x0000, 0x080c, 0x87ca, 0x003e, 0x60e3, 0x0000, 0x080c, + 0xc392, 0x080c, 0xc3ad, 0x9085, 0x0001, 0x080c, 0x6309, 0x2001, + 0x0140, 0x2003, 0x0000, 0x2001, 0x1100, 0x2003, 0x0004, 0x6027, + 0x0008, 0x00ce, 0x0804, 0x2b47, 0x81ff, 0x0120, 0x2009, 0x0001, + 0x0804, 0x2b77, 0x6000, 0x9086, 0x0003, 0x0120, 0x2009, 0x0007, + 0x0804, 0x2b77, 0x7e84, 0x860f, 0x918c, 0x00ff, 0x96b4, 0x00ff, + 0x080c, 0x560e, 0x1904, 0x2b7a, 0x9186, 0x007f, 0x0150, 0x6004, + 0x9084, 0x00ff, 0x9086, 0x0006, 0x0120, 0x2009, 0x0009, 0x0804, + 0x2b77, 0x00c6, 0x080c, 0x3e61, 0x00ce, 0x1120, 0x2009, 0x0002, + 0x0804, 0x2b77, 0x6867, 0x0000, 0x6868, 0xc0fd, 0x686a, 0x080c, + 0xaa07, 0x1120, 0x2009, 0x0003, 0x0804, 0x2b77, 0x7007, 0x0003, + 0x701b, 0x47ab, 0x0005, 0x6830, 0x9086, 0x0100, 0x1120, 0x2009, + 0x0004, 0x0804, 0x2b77, 0x68e0, 0x6866, 0x6834, 0x8007, 0x800c, + 0x9d80, 0x000c, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, 0x2039, 0x0001, + 0x0804, 0x3eb7, 0x6898, 0x9086, 0x000d, 0x1904, 0x2b77, 0x2021, + 0x4005, 0x0126, 0x2091, 0x8000, 0x0e04, 0x47cf, 0x0010, 0x012e, + 0x0cc0, 0x7c36, 0x9486, 0x4000, 0x0118, 0x7833, 0x0011, 0x0010, + 0x7833, 0x0010, 0x7883, 0x4005, 0x6998, 0x7986, 0x69a4, 0x799a, + 0x69a8, 0x799e, 0x080c, 0x3ea7, 0x2091, 0x4080, 0x2001, 0x0089, + 0x2004, 0xd084, 0x190c, 0x0f7c, 0x7007, 0x0001, 0x2091, 0x5000, + 0x012e, 0x0005, 0x0126, 0x2091, 0x8000, 0x00c6, 0x2061, 0x1316, + 0x7984, 0x6152, 0x614e, 0x6057, 0x0000, 0x604b, 0x0009, 0x7898, + 0x606a, 0x789c, 0x6066, 0x7888, 0x6062, 0x788c, 0x605e, 0x2061, + 0x12aa, 0x2001, 0x132b, 0x6012, 0x600f, 0x0001, 0x6017, 0x0001, + 0x601b, 0x0002, 0x6007, 0x0000, 0x603b, 0x0000, 0x00ce, 0x012e, + 0x0804, 0x2b47, 0x0126, 0x0156, 0x0136, 0x0146, 0x01c6, 0x01d6, + 0x00c6, 0x00d6, 0x00e6, 0x00f6, 0x2061, 0x0100, 0x2069, 0x0200, + 0x2071, 0x1100, 0x6044, 0xd0a4, 0x11e8, 0xd084, 0x0118, 0x080c, + 0x49b0, 0x0068, 0xd08c, 0x0118, 0x080c, 0x48c0, 0x0040, 0xd094, + 0x0118, 0x080c, 0x4893, 0x0018, 0xd09c, 0x0108, 0x0099, 0x00fe, + 0x00ee, 0x00de, 0x00ce, 0x01de, 0x01ce, 0x014e, 0x013e, 0x015e, + 0x012e, 0x0005, 0x0016, 0x6128, 0xd19c, 0x1110, 0xc19d, 0x612a, + 0x001e, 0x0c68, 0x624c, 0x9286, 0xf0f0, 0x1150, 0x6048, 0x9086, + 0xf0f0, 0x0130, 0x624a, 0x6043, 0x0090, 0x6043, 0x0010, 0x0490, + 0x9294, 0xff00, 0x9296, 0xf700, 0x0178, 0x7134, 0xd1a4, 0x1160, + 0x6240, 0x9295, 0x0100, 0x6242, 0x9294, 0x0010, 0x0128, 0x2009, + 0x00f7, 0x080c, 0x5060, 0x00f0, 0x6040, 0x9084, 0x0010, 0x9085, + 0x0140, 0x6042, 0x6043, 0x0000, 0x707f, 0x0000, 0x709b, 0x0001, + 0x70bf, 0x0000, 0x70d7, 0x0000, 0x2009, 0x1580, 0x200b, 0x0000, + 0x708f, 0x0000, 0x7083, 0x000f, 0x2009, 0x000f, 0x2011, 0x4f3d, + 0x080c, 0x7268, 0x0005, 0x2001, 0x1174, 0x2004, 0xd08c, 0x0110, + 0x7057, 0xffff, 0x7080, 0x9005, 0x1510, 0x2011, 0x4f3d, 0x080c, + 0x71e2, 0x6040, 0x9094, 0x0010, 0x9285, 0x0020, 0x6042, 0x20a9, + 0x00c8, 0x6044, 0xd08c, 0x1168, 0x1f04, 0x48a9, 0x6242, 0x7093, + 0x0000, 0x6040, 0x9094, 0x0010, 0x9285, 0x0080, 0x6042, 0x6242, + 0x0030, 0x6242, 0x7093, 0x0000, 0x7087, 0x0000, 0x0000, 0x0005, + 0x7084, 0x908a, 0x0003, 0x1210, 0x0023, 0x0010, 0x080c, 0x0d4e, + 0x0005, 0x48cc, 0x4914, 0x49af, 0x00f6, 0x7087, 0x0001, 0x6803, + 0x00fc, 0x20a9, 0x0004, 0x6800, 0x9084, 0x00fc, 0x0120, 0x1f04, + 0x48d3, 0x080c, 0x0d4e, 0x68a0, 0x68a2, 0x689c, 0x689e, 0x6898, + 0x689a, 0xa001, 0x6803, 0x1600, 0x6837, 0x0020, 0x080c, 0x50be, + 0x2079, 0x1500, 0x7833, 0x1101, 0x7837, 0x0000, 0x20e1, 0x0001, + 0x2099, 0x1105, 0x20e9, 0x0001, 0x20a1, 0x150e, 0x20a9, 0x0004, + 0x4003, 0x080c, 0x8d3c, 0x20e1, 0x0001, 0x2099, 0x1500, 0x20e9, + 0x0000, 0x20a1, 0x0240, 0x20a9, 0x0014, 0x4003, 0x60c3, 0x000c, + 0x600f, 0x0000, 0x080c, 0x4f70, 0x00fe, 0x708b, 0x0000, 0x6043, + 0x0008, 0x6043, 0x0000, 0x0005, 0x00f6, 0x7088, 0x708b, 0x0000, + 0x9025, 0x0904, 0x498c, 0x6020, 0xd0b4, 0x1904, 0x498a, 0x7198, + 0x81ff, 0x0904, 0x4978, 0x9486, 0x000c, 0x1904, 0x4985, 0x9480, + 0x0018, 0x8004, 0x20a8, 0x080c, 0x50b6, 0x2011, 0x0260, 0x2019, + 0x1500, 0x220c, 0x2304, 0x9106, 0x11e8, 0x8210, 0x8318, 0x1f04, + 0x4931, 0x6043, 0x0004, 0x2061, 0x0140, 0x605b, 0xbc94, 0x605f, + 0xf0f0, 0x2061, 0x0100, 0x6043, 0x0006, 0x7087, 0x0002, 0x7093, + 0x0002, 0x2009, 0x07d0, 0x2011, 0x4f44, 0x080c, 0x7268, 0x080c, + 0x50be, 0x04c0, 0x080c, 0x50b6, 0x2079, 0x0260, 0x7930, 0x918e, + 0x1101, 0x1558, 0x7834, 0x9005, 0x1540, 0x7900, 0x918c, 0x00ff, + 0x1118, 0x7804, 0x9005, 0x0190, 0x080c, 0x50b6, 0x2011, 0x026e, + 0x2019, 0x1105, 0x20a9, 0x0004, 0x220c, 0x2304, 0x9102, 0x0230, + 0x11a0, 0x8210, 0x8318, 0x1f04, 0x496c, 0x0078, 0x709b, 0x0000, + 0x080c, 0x50b6, 0x20e1, 0x0000, 0x2099, 0x0260, 0x20e9, 0x0001, + 0x20a1, 0x1500, 0x20a9, 0x0014, 0x4003, 0x6043, 0x0008, 0x6043, + 0x0000, 0x0010, 0x00fe, 0x0005, 0x6040, 0x9085, 0x0100, 0x6042, + 0x6020, 0xd0b4, 0x1db8, 0x080c, 0x8d3c, 0x20e1, 0x0001, 0x2099, + 0x1500, 0x20e9, 0x0000, 0x20a1, 0x0240, 0x20a9, 0x0014, 0x4003, + 0x60c3, 0x000c, 0x2011, 0x130d, 0x2013, 0x0000, 0x708b, 0x0000, + 0x60a3, 0x0056, 0x60a7, 0x9575, 0x080c, 0x8567, 0x08d8, 0x0005, + 0x7090, 0x908a, 0x001d, 0x1210, 0x0023, 0x0010, 0x080c, 0x0d4e, + 0x0005, 0x49e3, 0x49f6, 0x4a20, 0x4a40, 0x4a66, 0x4a95, 0x4abb, + 0x4af3, 0x4b19, 0x4b47, 0x4b80, 0x4bb8, 0x4bd6, 0x4c01, 0x4c23, + 0x4c3a, 0x4c42, 0x4c77, 0x4c9d, 0x4ccc, 0x4cf2, 0x4d2a, 0x4d64, + 0x4d99, 0x4db7, 0x4e10, 0x4e32, 0x4e5c, 0x4e5d, 0x00c6, 0x2061, + 0x1100, 0x6003, 0x0007, 0x2061, 0x0100, 0x6004, 0x9084, 0xfff9, + 0x6006, 0x00ce, 0x0005, 0x2061, 0x0140, 0x605b, 0xbc94, 0x605f, + 0xf0f0, 0x2061, 0x0100, 0x6043, 0x0002, 0x7093, 0x0001, 0x2009, + 0x07d0, 0x2011, 0x4f44, 0x080c, 0x7268, 0x0005, 0x00f6, 0x7088, + 0x9086, 0x0014, 0x1518, 0x6043, 0x0000, 0x6020, 0xd0b4, 0x11f0, + 0x080c, 0x50b6, 0x2079, 0x0260, 0x7a30, 0x9296, 0x1102, 0x11a0, + 0x7834, 0x9005, 0x1188, 0x7a38, 0xd2fc, 0x0128, 0x70bc, 0x9005, + 0x1110, 0x70bf, 0x0001, 0x2011, 0x4f44, 0x080c, 0x71e2, 0x7093, + 0x0010, 0x080c, 0x4c42, 0x0010, 0x708b, 0x0000, 0x00fe, 0x0005, + 0x00f6, 0x7093, 0x0003, 0x6043, 0x0004, 0x2011, 0x4f44, 0x080c, + 0x71e2, 0x080c, 0x5042, 0x2079, 0x0240, 0x7833, 0x1102, 0x7837, + 0x0000, 0x20a9, 0x0008, 0x9f88, 0x000e, 0x200b, 0x0000, 0x8108, + 0x1f04, 0x4a35, 0x60c3, 0x0014, 0x080c, 0x4f70, 0x00fe, 0x0005, + 0x00f6, 0x7088, 0x9005, 0x0500, 0x2011, 0x4f44, 0x080c, 0x71e2, + 0x9086, 0x0014, 0x11b8, 0x080c, 0x50b6, 0x2079, 0x0260, 0x7a30, + 0x9296, 0x1102, 0x1178, 0x7834, 0x9005, 0x1160, 0x7a38, 0xd2fc, + 0x0128, 0x70bc, 0x9005, 0x1110, 0x70bf, 0x0001, 0x7093, 0x0004, + 0x0029, 0x0010, 0x080c, 0x5092, 0x00fe, 0x0005, 0x00f6, 0x7093, + 0x0005, 0x080c, 0x5042, 0x2079, 0x0240, 0x7833, 0x1103, 0x7837, + 0x0000, 0x080c, 0x50b6, 0x080c, 0x5099, 0x1170, 0x707c, 0x9005, + 0x1158, 0x7154, 0x9186, 0xffff, 0x0138, 0x2011, 0x0008, 0x080c, + 0x4ef0, 0x0168, 0x080c, 0x5077, 0x20a9, 0x0008, 0x20e1, 0x0000, + 0x2099, 0x026e, 0x20e9, 0x0000, 0x20a1, 0x024e, 0x4003, 0x60c3, + 0x0014, 0x080c, 0x4f70, 0x00fe, 0x0005, 0x00f6, 0x7088, 0x9005, + 0x0500, 0x2011, 0x4f44, 0x080c, 0x71e2, 0x9086, 0x0014, 0x11b8, + 0x080c, 0x50b6, 0x2079, 0x0260, 0x7a30, 0x9296, 0x1103, 0x1178, + 0x7834, 0x9005, 0x1160, 0x7a38, 0xd2fc, 0x0128, 0x70bc, 0x9005, + 0x1110, 0x70bf, 0x0001, 0x7093, 0x0006, 0x0029, 0x0010, 0x080c, + 0x5092, 0x00fe, 0x0005, 0x00f6, 0x7093, 0x0007, 0x080c, 0x5042, + 0x2079, 0x0240, 0x7833, 0x1104, 0x7837, 0x0000, 0x080c, 0x50b6, + 0x080c, 0x5099, 0x11b8, 0x707c, 0x9005, 0x11a0, 0x715c, 0x9186, + 0xffff, 0x0180, 0x9180, 0x2964, 0x200d, 0x918c, 0xff00, 0x810f, + 0x2011, 0x0008, 0x080c, 0x4ef0, 0x0180, 0x080c, 0x41b2, 0x0110, + 0x080c, 0x1f38, 0x20a9, 0x0008, 0x20e1, 0x0000, 0x2099, 0x026e, + 0x20e9, 0x0000, 0x20a1, 0x024e, 0x4003, 0x60c3, 0x0014, 0x080c, + 0x4f70, 0x00fe, 0x0005, 0x00f6, 0x7088, 0x9005, 0x0500, 0x2011, + 0x4f44, 0x080c, 0x71e2, 0x9086, 0x0014, 0x11b8, 0x080c, 0x50b6, + 0x2079, 0x0260, 0x7a30, 0x9296, 0x1104, 0x1178, 0x7834, 0x9005, + 0x1160, 0x7a38, 0xd2fc, 0x0128, 0x70bc, 0x9005, 0x1110, 0x70bf, + 0x0001, 0x7093, 0x0008, 0x0029, 0x0010, 0x080c, 0x5092, 0x00fe, + 0x0005, 0x00f6, 0x7093, 0x0009, 0x080c, 0x5042, 0x2079, 0x0240, + 0x7833, 0x1105, 0x7837, 0x0100, 0x080c, 0x5099, 0x1150, 0x707c, + 0x9005, 0x1138, 0x080c, 0x4e5e, 0x1188, 0x9085, 0x0001, 0x080c, + 0x1f38, 0x20a9, 0x0008, 0x080c, 0x50b6, 0x20e1, 0x0000, 0x2099, + 0x026e, 0x20e9, 0x0000, 0x20a1, 0x024e, 0x4003, 0x60c3, 0x0014, + 0x080c, 0x4f70, 0x0010, 0x080c, 0x49d6, 0x00fe, 0x0005, 0x00f6, + 0x7088, 0x9005, 0x0598, 0x2011, 0x4f44, 0x080c, 0x71e2, 0x9086, + 0x0014, 0x1550, 0x080c, 0x50b6, 0x2079, 0x0260, 0x7a30, 0x9296, + 0x1105, 0x1510, 0x7834, 0x2011, 0x0100, 0x921e, 0x1160, 0x7a38, + 0xd2fc, 0x0128, 0x70bc, 0x9005, 0x1110, 0x70bf, 0x0001, 0x7093, + 0x000a, 0x00b1, 0x0098, 0x9005, 0x1178, 0x7a38, 0xd2fc, 0x0128, + 0x70bc, 0x9005, 0x1110, 0x70bf, 0x0001, 0x708f, 0x0000, 0x7093, + 0x000e, 0x080c, 0x4c23, 0x0010, 0x080c, 0x5092, 0x00fe, 0x0005, + 0x00f6, 0x7093, 0x000b, 0x2011, 0x150e, 0x20e9, 0x0001, 0x22a0, + 0x20a9, 0x0040, 0x2019, 0xffff, 0x4304, 0x080c, 0x5042, 0x2079, + 0x0240, 0x7833, 0x1106, 0x7837, 0x0000, 0x080c, 0x5099, 0x0118, + 0x2013, 0x0000, 0x0020, 0x7058, 0x9085, 0x0100, 0x2012, 0x20a9, + 0x0040, 0x2009, 0x024e, 0x2011, 0x150e, 0x220e, 0x8210, 0x8108, + 0x9186, 0x0260, 0x1128, 0x6810, 0x8000, 0x6812, 0x2009, 0x0240, + 0x1f04, 0x4ba5, 0x60c3, 0x0084, 0x080c, 0x4f70, 0x00fe, 0x0005, + 0x00f6, 0x7088, 0x9005, 0x01c0, 0x2011, 0x4f44, 0x080c, 0x71e2, + 0x9086, 0x0084, 0x1178, 0x080c, 0x50b6, 0x2079, 0x0260, 0x7a30, + 0x9296, 0x1106, 0x1138, 0x7834, 0x9005, 0x1120, 0x7093, 0x000c, + 0x0029, 0x0010, 0x080c, 0x5092, 0x00fe, 0x0005, 0x00f6, 0x7093, + 0x000d, 0x080c, 0x5042, 0x2079, 0x0240, 0x7833, 0x1107, 0x7837, + 0x0000, 0x080c, 0x50b6, 0x20a9, 0x0040, 0x2011, 0x026e, 0x2009, + 0x024e, 0x220e, 0x8210, 0x8108, 0x9186, 0x0260, 0x1150, 0x6810, + 0x8000, 0x6812, 0x2009, 0x0240, 0x6814, 0x8000, 0x6816, 0x2011, + 0x0260, 0x1f04, 0x4be9, 0x60c3, 0x0084, 0x080c, 0x4f70, 0x00fe, + 0x0005, 0x00f6, 0x7088, 0x9005, 0x01e0, 0x2011, 0x4f44, 0x080c, + 0x71e2, 0x9086, 0x0084, 0x1198, 0x080c, 0x50b6, 0x2079, 0x0260, + 0x7a30, 0x9296, 0x1107, 0x1158, 0x7834, 0x9005, 0x1140, 0x708f, + 0x0001, 0x080c, 0x5014, 0x7093, 0x000e, 0x0029, 0x0010, 0x080c, + 0x5092, 0x00fe, 0x0005, 0x7093, 0x000f, 0x708b, 0x0000, 0x2061, + 0x0140, 0x605b, 0xbc85, 0x605f, 0xb5b5, 0x2061, 0x0100, 0x6043, + 0x0005, 0x6043, 0x0004, 0x2009, 0x07d0, 0x2011, 0x4f44, 0x080c, + 0x71d6, 0x0005, 0x7088, 0x9005, 0x0120, 0x2011, 0x4f44, 0x080c, + 0x71e2, 0x0005, 0x7093, 0x0011, 0x080c, 0x8d3c, 0x080c, 0x50b6, + 0x20e1, 0x0000, 0x2099, 0x0260, 0x20e9, 0x0000, 0x20a1, 0x0240, + 0x7488, 0x9480, 0x0018, 0x9080, 0x0007, 0x9084, 0x03f8, 0x8004, + 0x20a8, 0x4003, 0x080c, 0x5099, 0x11a8, 0x7174, 0x81ff, 0x0190, + 0x2009, 0x0000, 0x7078, 0x9084, 0x00ff, 0x0160, 0x080c, 0x1eee, + 0x9186, 0x007e, 0x0138, 0x9186, 0x0080, 0x0120, 0x2011, 0x0008, + 0x080c, 0x4ef0, 0x60c3, 0x0014, 0x080c, 0x4f70, 0x0005, 0x00f6, + 0x7088, 0x9005, 0x0500, 0x2011, 0x4f44, 0x080c, 0x71e2, 0x9086, + 0x0014, 0x11b8, 0x080c, 0x50b6, 0x2079, 0x0260, 0x7a30, 0x9296, + 0x1103, 0x1178, 0x7834, 0x9005, 0x1160, 0x7a38, 0xd2fc, 0x0128, + 0x70bc, 0x9005, 0x1110, 0x70bf, 0x0001, 0x7093, 0x0012, 0x0029, + 0x0010, 0x708b, 0x0000, 0x00fe, 0x0005, 0x00f6, 0x7093, 0x0013, + 0x080c, 0x5050, 0x2079, 0x0240, 0x7833, 0x1103, 0x7837, 0x0000, + 0x080c, 0x50b6, 0x080c, 0x5099, 0x1170, 0x707c, 0x9005, 0x1158, + 0x7154, 0x9186, 0xffff, 0x0138, 0x2011, 0x0008, 0x080c, 0x4ef0, + 0x0168, 0x080c, 0x5077, 0x20a9, 0x0008, 0x20e1, 0x0000, 0x2099, + 0x026e, 0x20e9, 0x0000, 0x20a1, 0x024e, 0x4003, 0x60c3, 0x0014, + 0x080c, 0x4f70, 0x00fe, 0x0005, 0x00f6, 0x7088, 0x9005, 0x0500, + 0x2011, 0x4f44, 0x080c, 0x71e2, 0x9086, 0x0014, 0x11b8, 0x080c, + 0x50b6, 0x2079, 0x0260, 0x7a30, 0x9296, 0x1104, 0x1178, 0x7834, + 0x9005, 0x1160, 0x7a38, 0xd2fc, 0x0128, 0x70bc, 0x9005, 0x1110, + 0x70bf, 0x0001, 0x7093, 0x0014, 0x0029, 0x0010, 0x708b, 0x0000, + 0x00fe, 0x0005, 0x00f6, 0x7093, 0x0015, 0x080c, 0x5050, 0x2079, + 0x0240, 0x7833, 0x1104, 0x7837, 0x0000, 0x080c, 0x50b6, 0x080c, + 0x5099, 0x11b8, 0x707c, 0x9005, 0x11a0, 0x715c, 0x9186, 0xffff, + 0x0180, 0x9180, 0x2964, 0x200d, 0x918c, 0xff00, 0x810f, 0x2011, + 0x0008, 0x080c, 0x4ef0, 0x0180, 0x080c, 0x41b2, 0x0110, 0x080c, + 0x1f38, 0x20a9, 0x0008, 0x20e1, 0x0000, 0x2099, 0x026e, 0x20e9, + 0x0000, 0x20a1, 0x024e, 0x4003, 0x60c3, 0x0014, 0x080c, 0x4f70, + 0x00fe, 0x0005, 0x00f6, 0x7088, 0x9005, 0x05a0, 0x2011, 0x4f44, + 0x080c, 0x71e2, 0x9086, 0x0014, 0x1558, 0x080c, 0x50b6, 0x2079, + 0x0260, 0x7a30, 0x9296, 0x1105, 0x1518, 0x7834, 0x2011, 0x0100, + 0x921e, 0x1148, 0x7a38, 0xd2fc, 0x0128, 0x70bc, 0x9005, 0x1110, + 0x70bf, 0x0001, 0x0060, 0x9005, 0x1198, 0x7a38, 0xd2fc, 0x0128, + 0x70bc, 0x9005, 0x1110, 0x70bf, 0x0001, 0x708f, 0x0000, 0x7a38, + 0xd2f4, 0x0110, 0x70d7, 0x0008, 0x7093, 0x0016, 0x0029, 0x0010, + 0x708b, 0x0000, 0x00fe, 0x0005, 0x080c, 0x8d3c, 0x080c, 0x50b6, + 0x20e1, 0x0000, 0x2099, 0x0260, 0x20e9, 0x0000, 0x20a1, 0x0240, + 0x20a9, 0x000e, 0x4003, 0x2011, 0x026e, 0x7093, 0x0017, 0x080c, + 0x5099, 0x1150, 0x707c, 0x9005, 0x1138, 0x080c, 0x4e5e, 0x1188, + 0x9085, 0x0001, 0x080c, 0x1f38, 0x20a9, 0x0008, 0x080c, 0x50b6, + 0x20e1, 0x0000, 0x2099, 0x026e, 0x20e9, 0x0000, 0x20a1, 0x024e, + 0x4003, 0x60c3, 0x0014, 0x080c, 0x4f70, 0x0010, 0x080c, 0x49d6, + 0x0005, 0x00f6, 0x7088, 0x9005, 0x01c0, 0x2011, 0x4f44, 0x080c, + 0x71e2, 0x9086, 0x0084, 0x1178, 0x080c, 0x50b6, 0x2079, 0x0260, + 0x7a30, 0x9296, 0x1106, 0x1138, 0x7834, 0x9005, 0x1120, 0x7093, + 0x0018, 0x0029, 0x0010, 0x708b, 0x0000, 0x00fe, 0x0005, 0x00f6, + 0x7093, 0x0019, 0x080c, 0x5050, 0x2079, 0x0240, 0x7833, 0x1106, + 0x7837, 0x0000, 0x080c, 0x50b6, 0x2009, 0x026e, 0x2039, 0x150e, + 0x20a9, 0x0040, 0x213e, 0x8738, 0x8108, 0x9186, 0x0280, 0x1128, + 0x6814, 0x8000, 0x6816, 0x2009, 0x0260, 0x1f04, 0x4dca, 0x2039, + 0x150e, 0x080c, 0x5099, 0x11e8, 0x2728, 0x2514, 0x8207, 0x9084, + 0x00ff, 0x8000, 0x2018, 0x9294, 0x00ff, 0x8007, 0x9205, 0x202a, + 0x7058, 0x2310, 0x8214, 0x92a0, 0x150e, 0x2414, 0x938c, 0x0001, + 0x0118, 0x9294, 0xff00, 0x0018, 0x9294, 0x00ff, 0x8007, 0x9215, + 0x2222, 0x20a9, 0x0040, 0x2009, 0x024e, 0x270e, 0x8738, 0x8108, + 0x9186, 0x0260, 0x1128, 0x6810, 0x8000, 0x6812, 0x2009, 0x0240, + 0x1f04, 0x4dfd, 0x60c3, 0x0084, 0x080c, 0x4f70, 0x00fe, 0x0005, + 0x00f6, 0x7088, 0x9005, 0x01e0, 0x2011, 0x4f44, 0x080c, 0x71e2, + 0x9086, 0x0084, 0x1198, 0x080c, 0x50b6, 0x2079, 0x0260, 0x7a30, + 0x9296, 0x1107, 0x1158, 0x7834, 0x9005, 0x1140, 0x708f, 0x0001, + 0x080c, 0x5014, 0x7093, 0x001a, 0x0029, 0x0010, 0x708b, 0x0000, + 0x00fe, 0x0005, 0x7093, 0x001b, 0x080c, 0x8d3c, 0x080c, 0x50b6, + 0x2011, 0x0260, 0x2009, 0x0240, 0x7488, 0x9480, 0x0018, 0x9080, + 0x0007, 0x9084, 0x03f8, 0x8004, 0x20a8, 0x220e, 0x8210, 0x8108, + 0x9186, 0x0260, 0x1150, 0x6810, 0x8000, 0x6812, 0x2009, 0x0240, + 0x6814, 0x8000, 0x6816, 0x2011, 0x0260, 0x1f04, 0x4e45, 0x60c3, + 0x0084, 0x080c, 0x4f70, 0x0005, 0x0005, 0x0005, 0x0086, 0x0096, + 0x2029, 0x1153, 0x252c, 0x20a9, 0x0008, 0x2041, 0x150e, 0x20e9, + 0x0001, 0x28a0, 0x080c, 0x50b6, 0x20e1, 0x0000, 0x2099, 0x026e, + 0x4003, 0x20a9, 0x0008, 0x2011, 0x0007, 0xd5d4, 0x0110, 0x2011, + 0x0000, 0x2800, 0x9200, 0x200c, 0x91a6, 0xffff, 0x1148, 0xd5d4, + 0x0110, 0x8210, 0x0008, 0x8211, 0x1f04, 0x4e79, 0x0804, 0x4ee8, + 0x82ff, 0x1160, 0xd5d4, 0x0120, 0x91a6, 0x3fff, 0x0d90, 0x0020, + 0x91a6, 0x3fff, 0x0904, 0x4ee8, 0x918d, 0xc000, 0x20a9, 0x0010, + 0x2019, 0x0001, 0xd5d4, 0x0110, 0x2019, 0x0010, 0x2120, 0xd5d4, + 0x0110, 0x8423, 0x0008, 0x8424, 0x1240, 0xd5d4, 0x0110, 0x8319, + 0x0008, 0x8318, 0x1f04, 0x4e9f, 0x04d8, 0x23a8, 0x2021, 0x0001, + 0x8426, 0x8425, 0x1f04, 0x4eb1, 0x2328, 0x8529, 0x92be, 0x0007, + 0x0158, 0x0006, 0x2039, 0x0007, 0x2200, 0x973a, 0x000e, 0x27a8, + 0x95a8, 0x0010, 0x1f04, 0x4ec0, 0x7556, 0x95c8, 0x2964, 0x292d, + 0x95ac, 0x00ff, 0x757a, 0x6532, 0x6536, 0x0016, 0x2508, 0x080c, + 0x1f18, 0x001e, 0x60e7, 0x0000, 0x65ea, 0x2018, 0x2304, 0x9405, + 0x201a, 0x707f, 0x0001, 0x20e9, 0x0000, 0x20a1, 0x024e, 0x20e1, + 0x0001, 0x2898, 0x20a9, 0x0008, 0x4003, 0x9085, 0x0001, 0x0028, + 0x9006, 0x0018, 0x9006, 0x080c, 0x0d4e, 0x009e, 0x008e, 0x0005, + 0x0156, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x22a8, 0x20e1, 0x0000, + 0x2099, 0x026e, 0x20e9, 0x0000, 0x2011, 0x024e, 0x22a0, 0x4003, + 0x014e, 0x013e, 0x01de, 0x01ce, 0x015e, 0x2118, 0x2021, 0x0000, + 0x2001, 0x0007, 0x939a, 0x0010, 0x0218, 0x8420, 0x8001, 0x0cd0, + 0x2118, 0x84ff, 0x0120, 0x939a, 0x0010, 0x8421, 0x1de0, 0x2021, + 0x0001, 0x83ff, 0x0118, 0x8423, 0x8319, 0x1de8, 0x9238, 0x2029, + 0x026e, 0x9528, 0x2504, 0x942c, 0x11b8, 0x9405, 0x203a, 0x7156, + 0x91a0, 0x2964, 0x242d, 0x95ac, 0x00ff, 0x757a, 0x6532, 0x6536, + 0x0016, 0x2508, 0x080c, 0x1f18, 0x001e, 0x60e7, 0x0000, 0x65ea, + 0x707f, 0x0001, 0x9084, 0x0000, 0x0005, 0x00e6, 0x2071, 0x1100, + 0x7083, 0x0000, 0x00ee, 0x0005, 0x00e6, 0x00f6, 0x2079, 0x0100, + 0x2071, 0x0140, 0x080c, 0x5003, 0x080c, 0x8570, 0x7004, 0x9084, + 0x4000, 0x0120, 0x7003, 0x1000, 0x7003, 0x0000, 0x0126, 0x2091, + 0x8000, 0x2071, 0x1124, 0x2073, 0x0000, 0x7840, 0x0026, 0x0016, + 0x2009, 0x00f7, 0x080c, 0x5060, 0x001e, 0x9094, 0x0010, 0x9285, + 0x0080, 0x7842, 0x7a42, 0x002e, 0x012e, 0x00fe, 0x00ee, 0x0005, + 0x0126, 0x2091, 0x8000, 0x2011, 0x130d, 0x2013, 0x0000, 0x708b, + 0x0000, 0x012e, 0x60a3, 0x0056, 0x60a7, 0x9575, 0x080c, 0x8567, + 0x6144, 0xd184, 0x0120, 0x7190, 0x918d, 0x2000, 0x0018, 0x7184, + 0x918d, 0x1000, 0x2011, 0x12d3, 0x2112, 0x2009, 0x07d0, 0x2011, + 0x4f44, 0x080c, 0x7268, 0x0005, 0x0016, 0x0026, 0x00c6, 0x0126, + 0x2091, 0x8000, 0x2011, 0x0003, 0x080c, 0x885b, 0x2011, 0x0002, + 0x080c, 0x8865, 0x080c, 0x8738, 0x0036, 0x2019, 0x0000, 0x080c, + 0x87ca, 0x003e, 0x2009, 0x00f7, 0x080c, 0x5060, 0x2061, 0x1316, + 0x601b, 0x0000, 0x601f, 0x0000, 0x2061, 0x1100, 0x6003, 0x0001, + 0x2061, 0x0100, 0x6043, 0x0090, 0x6043, 0x0010, 0x2009, 0x12d3, + 0x200b, 0x0000, 0x2009, 0x002d, 0x2011, 0x4fcd, 0x080c, 0x71d6, + 0x012e, 0x00ce, 0x002e, 0x001e, 0x0005, 0x00e6, 0x0006, 0x0126, + 0x2091, 0x8000, 0x0481, 0x2071, 0x0100, 0x080c, 0x8570, 0x2071, + 0x0140, 0x7004, 0x9084, 0x4000, 0x0120, 0x7003, 0x1000, 0x7003, + 0x0000, 0x080c, 0x62cd, 0x01a8, 0x080c, 0x62eb, 0x1190, 0x2001, + 0x12a7, 0x2003, 0xaaaa, 0x0016, 0x080c, 0x1fee, 0x2001, 0x1298, + 0x2102, 0x001e, 0x2001, 0x12a8, 0x2003, 0x0000, 0x080c, 0x61f5, + 0x0030, 0x2001, 0x0001, 0x080c, 0x1eae, 0x080c, 0x4f94, 0x012e, + 0x000e, 0x00ee, 0x0005, 0x2001, 0x110d, 0x2004, 0xd0bc, 0x0158, + 0x0026, 0x0036, 0x2011, 0x8017, 0x2001, 0x12d3, 0x201c, 0x080c, + 0x3ecb, 0x003e, 0x002e, 0x0005, 0x20a9, 0x0012, 0x20e9, 0x0001, + 0x20a1, 0x1580, 0x080c, 0x50b6, 0x20e9, 0x0000, 0x2099, 0x026e, + 0x0099, 0x20a9, 0x0020, 0x080c, 0x50b0, 0x2099, 0x0260, 0x20a1, + 0x1592, 0x0051, 0x20a9, 0x000e, 0x080c, 0x50b3, 0x2099, 0x0260, + 0x20a1, 0x15b2, 0x0009, 0x0005, 0x0016, 0x0026, 0x3410, 0x3308, + 0x2104, 0x8007, 0x2012, 0x8108, 0x8210, 0x1f04, 0x5038, 0x002e, + 0x001e, 0x0005, 0x080c, 0x8d3c, 0x20e1, 0x0001, 0x2099, 0x1500, + 0x20e9, 0x0000, 0x20a1, 0x0240, 0x20a9, 0x000c, 0x4003, 0x0005, + 0x080c, 0x8d3c, 0x080c, 0x50b6, 0x20e1, 0x0000, 0x2099, 0x0260, + 0x20e9, 0x0000, 0x20a1, 0x0240, 0x20a9, 0x000c, 0x4003, 0x0005, + 0x00c6, 0x0006, 0x2061, 0x0100, 0x810f, 0x2001, 0x1132, 0x2004, + 0x9005, 0x1138, 0x2001, 0x1116, 0x2004, 0x9084, 0x00ff, 0x9105, + 0x0010, 0x9185, 0x00f7, 0x604a, 0x000e, 0x00ce, 0x0005, 0x0016, + 0x0046, 0x2001, 0x1153, 0x2004, 0xd0a4, 0x0158, 0x9006, 0x2020, + 0x2009, 0x002a, 0x080c, 0xc04a, 0x2001, 0x110c, 0x200c, 0xc195, + 0x2102, 0x2019, 0x002a, 0x2009, 0x0000, 0x080c, 0x2816, 0x004e, + 0x001e, 0x0005, 0x080c, 0x4f94, 0x7093, 0x0000, 0x708b, 0x0000, + 0x0005, 0x0006, 0x2001, 0x110c, 0x2004, 0xd09c, 0x0100, 0x000e, + 0x0005, 0x0006, 0x0016, 0x0126, 0x2091, 0x8000, 0x2001, 0x0101, + 0x200c, 0x918d, 0x0006, 0x2102, 0x012e, 0x001e, 0x000e, 0x0005, + 0x2009, 0x0001, 0x0028, 0x2009, 0x0002, 0x0010, 0x2009, 0x0000, + 0x6814, 0x9084, 0xffc0, 0x910d, 0x6916, 0x0005, 0x00f6, 0x0156, + 0x0146, 0x01d6, 0x9006, 0x20a9, 0x0080, 0x20e9, 0x0001, 0x20a1, + 0x1500, 0x4004, 0x2079, 0x1500, 0x7803, 0x2200, 0x7807, 0x00ef, + 0x780f, 0x00ef, 0x7813, 0x0138, 0x7823, 0xffff, 0x7827, 0xffff, + 0x01de, 0x014e, 0x015e, 0x00fe, 0x0005, 0x0156, 0x20a9, 0x00ff, + 0x2009, 0x1000, 0x9006, 0x200a, 0x8108, 0x1f04, 0x50e3, 0x015e, + 0x0005, 0x00d6, 0x0036, 0x0156, 0x0136, 0x0146, 0x2069, 0x1152, + 0x9006, 0x6002, 0x6007, 0x0707, 0x600a, 0x600e, 0x6012, 0x9198, + 0x2964, 0x231d, 0x939c, 0x00ff, 0x6316, 0x20a9, 0x0004, 0x9c98, + 0x0006, 0x20e9, 0x0001, 0x23a0, 0x4004, 0x20a9, 0x0004, 0x9c98, + 0x000a, 0x23a0, 0x4004, 0x603e, 0x6042, 0x604e, 0x6052, 0x6056, + 0x605a, 0x605e, 0x6062, 0x6066, 0x606a, 0x606e, 0x6072, 0x6076, + 0x607a, 0x608a, 0x608e, 0x6092, 0x6096, 0x609a, 0x609e, 0x60ae, + 0x61a2, 0x00d6, 0x60a4, 0x906d, 0x0110, 0x080c, 0x0e82, 0x60a7, + 0x0000, 0x00de, 0x9006, 0x604a, 0x6810, 0x603a, 0x680c, 0x6046, + 0x6814, 0x9084, 0x00ff, 0x6042, 0x014e, 0x013e, 0x015e, 0x003e, + 0x00de, 0x0005, 0x0126, 0x2091, 0x8000, 0x6974, 0x6e78, 0x9684, + 0x3fff, 0x9082, 0x4000, 0x1a04, 0x51ac, 0x918c, 0xff00, 0x810f, + 0x9182, 0x00ff, 0x1a04, 0x51b1, 0x2001, 0x110c, 0x2004, 0x9084, + 0x0003, 0x1904, 0x51b8, 0x9188, 0x1000, 0x2104, 0x9065, 0x0508, + 0x6004, 0x9084, 0x00ff, 0x908e, 0x0006, 0x1500, 0x60a4, 0x900d, + 0x1904, 0x51cd, 0x6050, 0x900d, 0x1148, 0x6802, 0x2d00, 0x6052, + 0x604e, 0x080c, 0x758e, 0x9006, 0x012e, 0x0005, 0x2d00, 0x200a, + 0x6803, 0x0000, 0x6052, 0x0ca8, 0x2001, 0x0005, 0x2009, 0x0000, + 0x04e0, 0x2001, 0x0028, 0x2009, 0x0000, 0x04b8, 0x9082, 0x0006, + 0x1298, 0x2001, 0x1135, 0x2004, 0xd0ac, 0x1158, 0x60a0, 0xd0bc, + 0x1140, 0x6100, 0xd1fc, 0x0990, 0x2001, 0x0029, 0x2009, 0x1000, + 0x0420, 0x2001, 0x0028, 0x00a8, 0x2009, 0x110c, 0x210c, 0xd18c, + 0x0118, 0x2001, 0x0004, 0x0068, 0xd184, 0x0118, 0x2001, 0x0004, + 0x0040, 0x2001, 0x0029, 0x6100, 0xd1fc, 0x0118, 0x2009, 0x1000, + 0x0060, 0x2009, 0x0000, 0x0048, 0x2001, 0x0029, 0x2009, 0x0000, + 0x0020, 0x2001, 0x0029, 0x2009, 0x0000, 0x9005, 0x012e, 0x0005, + 0x2001, 0x110c, 0x2004, 0xd084, 0x19b8, 0x9188, 0x1000, 0x2104, + 0x9065, 0x0990, 0x6004, 0x9084, 0x00ff, 0x908e, 0x0006, 0x1960, + 0x6000, 0xd0c4, 0x0948, 0x0804, 0x515e, 0x080c, 0x5798, 0x0904, + 0x5174, 0x0804, 0x5162, 0x00e6, 0x0126, 0x2091, 0x8000, 0x6874, + 0x8007, 0x9084, 0x00ff, 0x2008, 0x9182, 0x00ff, 0x1a04, 0x5235, + 0x9188, 0x1000, 0x2104, 0x9065, 0x0538, 0x6004, 0x908c, 0x00ff, + 0x918e, 0x0006, 0x0128, 0x908c, 0xff00, 0x918e, 0x0600, 0x11f8, + 0x2c70, 0x687c, 0xd0fc, 0x0138, 0x6894, 0x9005, 0x0120, 0x2060, + 0x2d00, 0x6016, 0x0058, 0x080c, 0x8df3, 0x05e8, 0x2e00, 0x6012, + 0x2d00, 0x6016, 0x600b, 0xffff, 0x6023, 0x000a, 0x2009, 0x0003, + 0x080c, 0x8ebf, 0x9006, 0x0460, 0x2001, 0x0028, 0x0440, 0x9082, + 0x0006, 0x1298, 0x2001, 0x1135, 0x2004, 0xd0ac, 0x1158, 0x60a0, + 0xd0bc, 0x1140, 0x6100, 0xd1fc, 0x0998, 0x2001, 0x0029, 0x2009, + 0x1000, 0x00a8, 0x2001, 0x0028, 0x0090, 0x2009, 0x110c, 0x210c, + 0xd18c, 0x0118, 0x2001, 0x0004, 0x0050, 0xd184, 0x0118, 0x2001, + 0x0004, 0x0028, 0x2001, 0x0029, 0x0010, 0x2001, 0x0029, 0x9005, + 0x012e, 0x00ee, 0x0005, 0x2001, 0x002c, 0x0cc8, 0x00f6, 0x00e6, + 0x0126, 0x2091, 0x8000, 0x68e0, 0x9005, 0x1570, 0x68dc, 0x9082, + 0x0101, 0x1650, 0x68c8, 0x9005, 0x1538, 0x68c4, 0x9082, 0x0101, + 0x1618, 0x6974, 0x2079, 0x1100, 0x918c, 0xff00, 0x810f, 0x9182, + 0x00ff, 0x12f8, 0x7830, 0x9084, 0x0003, 0x1130, 0x6a98, 0x6b94, + 0x6878, 0x9084, 0x0007, 0x0402, 0x7930, 0xd18c, 0x0118, 0x2001, + 0x0004, 0x0038, 0xd184, 0x0118, 0x2001, 0x0004, 0x0010, 0x2001, + 0x0029, 0x2009, 0x0000, 0x0048, 0x2001, 0x002c, 0x2009, 0x0000, + 0x0020, 0x2001, 0x0029, 0x2009, 0x0000, 0x9006, 0x0008, 0x9005, + 0x012e, 0x00ee, 0x00fe, 0x0005, 0x52d5, 0x528c, 0x52a5, 0x52d5, + 0x52d5, 0x52d5, 0x52d5, 0x52d5, 0x2100, 0x9082, 0x007e, 0x1280, + 0x080c, 0x55b9, 0x2c70, 0x0148, 0x7010, 0x9306, 0x1904, 0x52df, + 0x7014, 0x9206, 0x1904, 0x52df, 0x0028, 0x7312, 0x7216, 0x0010, + 0x080c, 0x3d68, 0x2c70, 0x0158, 0x04d0, 0x080c, 0x560e, 0x15b8, + 0x2c70, 0x7010, 0x9306, 0x1598, 0x7014, 0x9206, 0x1580, 0x080c, + 0x8df3, 0x0540, 0x2e00, 0x6012, 0x080c, 0xac70, 0x2d00, 0x6016, + 0x600b, 0xffff, 0x6023, 0x000a, 0x6878, 0x9086, 0x0001, 0x1178, + 0x080c, 0x2841, 0x2001, 0x0000, 0x080c, 0x5557, 0x2001, 0x0002, + 0x080c, 0x5569, 0x2001, 0x0200, 0x706e, 0x7093, 0x0002, 0x2009, + 0x0003, 0x080c, 0x8ebf, 0x9006, 0x0080, 0x2001, 0x0001, 0x2009, + 0x0000, 0x0048, 0x2001, 0x002c, 0x2009, 0x0000, 0x0020, 0x2001, + 0x0028, 0x2009, 0x0000, 0x9005, 0x0000, 0x012e, 0x00ee, 0x00fe, + 0x0005, 0x00f6, 0x00e6, 0x0126, 0x2091, 0x8000, 0x6894, 0x90c6, + 0x0015, 0x0904, 0x54ae, 0x90c6, 0x0056, 0x0904, 0x54b2, 0x90c6, + 0x0066, 0x0904, 0x54b6, 0x90c6, 0x0071, 0x0904, 0x54ba, 0x90c6, + 0x0074, 0x0904, 0x54be, 0x90c6, 0x007c, 0x0904, 0x54c2, 0x90c6, + 0x007e, 0x0904, 0x54c6, 0x90c6, 0x0037, 0x0904, 0x54ca, 0x2011, + 0x0000, 0x2079, 0x1100, 0x6974, 0x918c, 0xff00, 0x810f, 0x9182, + 0x00ff, 0x1a04, 0x54a8, 0x080c, 0x560e, 0x11a0, 0x6004, 0x9084, + 0x00ff, 0x9082, 0x0006, 0x1270, 0x6894, 0x90c6, 0x006f, 0x0150, + 0x2001, 0x1135, 0x2004, 0xd0ac, 0x1904, 0x5491, 0x60a0, 0xd0bc, + 0x1904, 0x5491, 0x6894, 0x90c6, 0x006f, 0x0158, 0x90c6, 0x005e, + 0x0904, 0x53da, 0x90c6, 0x0064, 0x0904, 0x540e, 0x2008, 0x0804, + 0x53a3, 0x6998, 0x2140, 0x918c, 0xff00, 0x810f, 0x78d4, 0xd0ac, + 0x1120, 0x9182, 0x0080, 0x0a04, 0x53a3, 0x9182, 0x00ff, 0x1a04, + 0x53a3, 0x6aa0, 0x6b9c, 0x7874, 0x9306, 0x1170, 0x7878, 0x924e, + 0x1120, 0x2208, 0x2310, 0x0804, 0x53a3, 0x99cc, 0xff00, 0x1120, + 0x2208, 0x2310, 0x0804, 0x53a3, 0x080c, 0x3d68, 0x2c70, 0x0904, + 0x53ab, 0x2009, 0x0000, 0x2011, 0x0000, 0x90c6, 0x4000, 0x1520, + 0x0006, 0x2e60, 0x080c, 0x57dd, 0x1108, 0xc185, 0x7000, 0xd0bc, + 0x0108, 0xc18d, 0x20a9, 0x0004, 0x9d80, 0x0031, 0x20a0, 0x20e9, + 0x0001, 0x9e80, 0x0006, 0x2098, 0x080c, 0x5034, 0x20a9, 0x0004, + 0x9d80, 0x0035, 0x20a0, 0x20e9, 0x0001, 0x9e80, 0x000a, 0x2098, + 0x080c, 0x5034, 0x000e, 0x0088, 0x90c6, 0x4007, 0x1110, 0x2408, + 0x0060, 0x90c6, 0x4008, 0x1118, 0x2708, 0x2610, 0x0030, 0x90c6, + 0x4009, 0x1108, 0x0010, 0x2001, 0x4006, 0x6896, 0x699a, 0x6a9e, + 0x2001, 0x0030, 0x0450, 0x080c, 0x8df3, 0x1138, 0x2001, 0x4005, + 0x2009, 0x0003, 0x2011, 0x0000, 0x0c80, 0x2e00, 0x6012, 0x080c, + 0xac70, 0x2d00, 0x6016, 0x6023, 0x0001, 0x6868, 0xd88c, 0x0108, + 0xc0f5, 0x686a, 0x0126, 0x2091, 0x8000, 0x080c, 0x2841, 0x012e, + 0x2001, 0x0000, 0x080c, 0x5557, 0x2001, 0x0002, 0x080c, 0x5569, + 0x2009, 0x0002, 0x080c, 0x8ebf, 0x9006, 0x9005, 0x012e, 0x00ee, + 0x00fe, 0x0005, 0x7800, 0x9086, 0x0003, 0x0118, 0x2009, 0x0007, + 0x0448, 0x6e98, 0x860f, 0x918c, 0x00ff, 0x96b4, 0x00ff, 0x080c, + 0x560e, 0x0120, 0x2009, 0x000a, 0x0804, 0x53a3, 0x9186, 0x007f, + 0x0148, 0x6004, 0x9084, 0x00ff, 0x9086, 0x0006, 0x0118, 0x2009, + 0x0009, 0x0080, 0x00d6, 0x080c, 0x0e50, 0x1120, 0x00de, 0x2009, + 0x0002, 0x0040, 0x2d00, 0x00de, 0x6806, 0x080c, 0xaa07, 0x1960, + 0x2009, 0x0003, 0x2001, 0x4005, 0x0804, 0x53a5, 0x6e98, 0x860f, + 0x918c, 0x00ff, 0x96b4, 0x00ff, 0x080c, 0x560e, 0x0120, 0x2009, + 0x000a, 0x0804, 0x53a3, 0x00d6, 0x080c, 0x0e50, 0x1128, 0x00de, + 0x2009, 0x0002, 0x0804, 0x5475, 0x2d00, 0x00de, 0x6806, 0x00d6, + 0x2068, 0x20a9, 0x002b, 0x20e1, 0x0001, 0x2c98, 0x9de8, 0x0002, + 0x20e9, 0x0001, 0x2da0, 0x4003, 0x20a9, 0x0004, 0x9d80, 0x0006, + 0x20a0, 0x9c80, 0x0006, 0x2098, 0x080c, 0x5034, 0x20a9, 0x0004, + 0x9d80, 0x000a, 0x20a0, 0x9c80, 0x000a, 0x2098, 0x080c, 0x5034, + 0x00de, 0x687b, 0x0000, 0x6883, 0x0000, 0x6897, 0x4000, 0xd684, + 0x1170, 0x2001, 0x1153, 0x2004, 0xd0b4, 0x1118, 0x689b, 0x000b, + 0x0400, 0x6000, 0xd08c, 0x0118, 0x689b, 0x000c, 0x00d0, 0x6004, + 0x9084, 0x00ff, 0x9086, 0x0006, 0x0118, 0x689b, 0x0009, 0x0088, + 0x7800, 0x9086, 0x0003, 0x0118, 0x689b, 0x0007, 0x0050, 0x080c, + 0xa9d0, 0x1904, 0x53d4, 0x2009, 0x0003, 0x2001, 0x4005, 0x0804, + 0x53a5, 0x687b, 0x0030, 0x6897, 0x4005, 0x6804, 0x2009, 0x002b, + 0x6aa0, 0x6b9c, 0x6ca8, 0x6da4, 0x2031, 0x0000, 0x2039, 0x0001, + 0x2041, 0x1024, 0x080c, 0x92c9, 0x1904, 0x53d4, 0x2009, 0x0002, + 0x0c20, 0x2001, 0x0028, 0x2009, 0x0000, 0x0804, 0x53d5, 0x2009, + 0x110c, 0x210c, 0xd18c, 0x0118, 0x2001, 0x0004, 0x0038, 0xd184, + 0x0118, 0x2001, 0x0004, 0x0010, 0x2001, 0x0029, 0x2009, 0x0000, + 0x2001, 0x0029, 0x2009, 0x0000, 0x0804, 0x53d5, 0x080c, 0x2d4e, + 0x0804, 0x53d6, 0x080c, 0x45e6, 0x0804, 0x53d6, 0x080c, 0x3a2f, + 0x0804, 0x53d6, 0x080c, 0x3e1a, 0x0804, 0x53d6, 0x080c, 0x403a, + 0x0804, 0x53d6, 0x080c, 0x424c, 0x0804, 0x53d6, 0x080c, 0x4457, + 0x0804, 0x53d6, 0x080c, 0x2f13, 0x0804, 0x53d6, 0x6974, 0x6e78, + 0x9684, 0x3fff, 0x9082, 0x4000, 0x1658, 0x918c, 0xff00, 0x810f, + 0x9182, 0x00ff, 0x1280, 0x9188, 0x1000, 0x2104, 0x9065, 0x0158, + 0x6004, 0x9084, 0x00ff, 0x908e, 0x0006, 0x1150, 0x00f9, 0x080c, + 0x5728, 0x9006, 0x00c8, 0x2001, 0x0028, 0x2009, 0x0000, 0x00a0, + 0x9082, 0x0006, 0x1240, 0x6100, 0xd1fc, 0x0d80, 0x2001, 0x0029, + 0x2009, 0x1000, 0x0048, 0x2001, 0x0029, 0x2009, 0x0000, 0x0020, + 0x2001, 0x0029, 0x2009, 0x0000, 0x9005, 0x0005, 0x0126, 0x2091, + 0x8000, 0x6050, 0x900d, 0x0138, 0x2d00, 0x200a, 0x6803, 0x0000, + 0x6052, 0x012e, 0x0005, 0x2d00, 0x6052, 0x604e, 0x6803, 0x0000, + 0x0cc0, 0x0126, 0x2091, 0x8000, 0x604c, 0x9005, 0x0170, 0x00e6, + 0x2071, 0x1303, 0x7004, 0x9086, 0x0002, 0x0168, 0x00ee, 0x604c, + 0x6802, 0x2d00, 0x604e, 0x012e, 0x0005, 0x2d00, 0x6052, 0x604e, + 0x6803, 0x0000, 0x0cc0, 0x701c, 0x9c06, 0x1d80, 0x604c, 0x2070, + 0x7000, 0x6802, 0x2d00, 0x7002, 0x00ee, 0x012e, 0x0005, 0x0126, + 0x2091, 0x8000, 0x604c, 0x906d, 0x0130, 0x6800, 0x9005, 0x1108, + 0x6052, 0x604e, 0x9d05, 0x012e, 0x0005, 0x604c, 0x906d, 0x0130, + 0x6800, 0x9005, 0x1108, 0x6052, 0x604e, 0x9d05, 0x0005, 0x0126, + 0x00c6, 0x0026, 0x2091, 0x8000, 0x6210, 0x2260, 0x6200, 0x9005, + 0x0110, 0xc285, 0x0008, 0xc284, 0x6202, 0x002e, 0x00ce, 0x012e, + 0x0005, 0x0126, 0x00c6, 0x2091, 0x8000, 0x6210, 0x2260, 0x6204, + 0x0006, 0x9086, 0x0006, 0x1180, 0x609c, 0xd0ac, 0x0168, 0x2001, + 0x1153, 0x2004, 0xd0a4, 0x0140, 0x9284, 0xff00, 0x8007, 0x9086, + 0x0007, 0x1110, 0x2011, 0x0600, 0x000e, 0x9294, 0xff00, 0x9215, + 0x6206, 0x0006, 0x9086, 0x0006, 0x1128, 0x6290, 0x82ff, 0x1110, + 0x080c, 0x0d4e, 0x000e, 0x00ce, 0x012e, 0x0005, 0x0126, 0x00c6, + 0x2091, 0x8000, 0x6210, 0x2260, 0x6204, 0x0006, 0x9086, 0x0006, + 0x1178, 0x609c, 0xd0a4, 0x0160, 0x2001, 0x1153, 0x2004, 0xd0ac, + 0x1138, 0x9284, 0x00ff, 0x9086, 0x0007, 0x1110, 0x2011, 0x0006, + 0x000e, 0x9294, 0x00ff, 0x8007, 0x9215, 0x6206, 0x00ce, 0x012e, + 0x0005, 0x0026, 0x9182, 0x00ff, 0x0218, 0x9085, 0x0001, 0x00a0, + 0x9190, 0x1000, 0x2204, 0x9065, 0x1170, 0x0016, 0x00d6, 0x080c, + 0x0e50, 0x2d60, 0x00de, 0x001e, 0x0d80, 0x2c00, 0x2012, 0x60a7, + 0x0000, 0x080c, 0x50e9, 0x9006, 0x002e, 0x0005, 0x0126, 0x2091, + 0x8000, 0x0026, 0x9182, 0x00ff, 0x0218, 0x9085, 0x0001, 0x0458, + 0x00d6, 0x9190, 0x1000, 0x2204, 0x906d, 0x0518, 0x2013, 0x0000, + 0x00d6, 0x00c6, 0x2d60, 0x60a4, 0x906d, 0x0110, 0x080c, 0x0e82, + 0x00ce, 0x00de, 0x00d6, 0x00c6, 0x68ac, 0x2060, 0x8cff, 0x0168, + 0x600c, 0x0006, 0x6014, 0x2068, 0x080c, 0xa853, 0x0110, 0x080c, + 0x0e92, 0x080c, 0x8e49, 0x00ce, 0x0c88, 0x00ce, 0x00de, 0x080c, + 0x0e82, 0x00de, 0x9006, 0x002e, 0x012e, 0x0005, 0x0016, 0x9182, + 0x00ff, 0x0218, 0x9085, 0x0001, 0x0030, 0x9188, 0x1000, 0x2104, + 0x9065, 0x0dc0, 0x9006, 0x001e, 0x0005, 0x00d6, 0x0156, 0x0136, + 0x0146, 0x600b, 0x0000, 0x600f, 0x0000, 0x6000, 0xc08c, 0x6002, + 0x080c, 0x62c5, 0x1520, 0x60a0, 0x9086, 0x007e, 0x0130, 0x2001, + 0x1135, 0x2004, 0xd0ac, 0x11d8, 0x0078, 0x7040, 0xd0e4, 0x01b8, + 0x00c6, 0x2061, 0x12bc, 0x7048, 0x2062, 0x704c, 0x6006, 0x7050, + 0x600a, 0x7054, 0x600e, 0x00ce, 0x703c, 0x2069, 0x0140, 0x9005, + 0x1110, 0x2001, 0x0001, 0x6886, 0x2069, 0x1100, 0x68aa, 0x7040, + 0x605e, 0x7048, 0x6062, 0x6138, 0x910a, 0x0208, 0x603a, 0x704c, + 0x6066, 0x20e1, 0x0000, 0x2099, 0x0276, 0x9c88, 0x000a, 0x20e9, + 0x0001, 0x21a0, 0x20a9, 0x0004, 0x4003, 0x2099, 0x027a, 0x9c88, + 0x0006, 0x21a0, 0x20a9, 0x0004, 0x4003, 0x2069, 0x0200, 0x6817, + 0x0001, 0x7040, 0x606a, 0x7144, 0x616e, 0x7048, 0x6072, 0x7050, + 0x6076, 0x2069, 0x0200, 0x6817, 0x0000, 0x60a0, 0x9086, 0x007e, + 0x1110, 0x7144, 0x616e, 0x9182, 0x0211, 0x1218, 0x2009, 0x0008, + 0x0400, 0x9182, 0x0259, 0x1218, 0x2009, 0x0007, 0x00d0, 0x9182, + 0x02c1, 0x1218, 0x2009, 0x0006, 0x00a0, 0x9182, 0x0349, 0x1218, + 0x2009, 0x0005, 0x0070, 0x9182, 0x0421, 0x1218, 0x2009, 0x0004, + 0x0040, 0x9182, 0x0581, 0x1218, 0x2009, 0x0003, 0x0010, 0x2009, + 0x0002, 0x6192, 0x014e, 0x013e, 0x015e, 0x00de, 0x0005, 0x0016, + 0x0026, 0x00e6, 0x2071, 0x0260, 0x7034, 0x6896, 0x703c, 0x689a, + 0x7054, 0x689e, 0x6a00, 0x2009, 0x1172, 0x210c, 0xd0bc, 0x0120, + 0xd1ec, 0x0110, 0xc2ad, 0x0008, 0xc2ac, 0xd0c4, 0x0120, 0xd1e4, + 0x0110, 0xc2bd, 0x0008, 0xc2bc, 0x6a02, 0x00ee, 0x002e, 0x001e, + 0x0005, 0x00d6, 0x0126, 0x2091, 0x8000, 0x60a4, 0x906d, 0x01c0, + 0x6900, 0x81ff, 0x1540, 0x6a04, 0x9282, 0x0010, 0x1648, 0x9d88, + 0x0004, 0x20a9, 0x0010, 0x2104, 0x9086, 0xffff, 0x0128, 0x8108, + 0x1f04, 0x56e3, 0x080c, 0x0d4e, 0x260a, 0x8210, 0x6a06, 0x0098, + 0x080c, 0x0e69, 0x01a8, 0x2d00, 0x60a6, 0x6803, 0x0000, 0x9d88, + 0x0004, 0x20a9, 0x0010, 0x200b, 0xffff, 0x8108, 0x1f04, 0x56fb, + 0x6807, 0x0001, 0x6e12, 0x9085, 0x0001, 0x012e, 0x00de, 0x0005, + 0x9006, 0x0cd8, 0x0126, 0x2091, 0x8000, 0x00d6, 0x60a4, 0x900d, + 0x01a0, 0x2168, 0x6800, 0x9005, 0x1160, 0x080c, 0x5798, 0x1168, + 0x200b, 0xffff, 0x6804, 0x908a, 0x0002, 0x0218, 0x8001, 0x6806, + 0x0020, 0x080c, 0x0e82, 0x60a7, 0x0000, 0x00de, 0x012e, 0x0005, + 0x0126, 0x2091, 0x8000, 0x080c, 0x758e, 0x012e, 0x0005, 0x901e, + 0x0010, 0x2019, 0x0001, 0x900e, 0x0126, 0x2091, 0x8000, 0x604c, + 0x2068, 0x6000, 0xd0dc, 0x1170, 0x8dff, 0x01f8, 0x83ff, 0x0120, + 0x6878, 0x9606, 0x0158, 0x0030, 0x686c, 0x9406, 0x1118, 0x6870, + 0x9506, 0x0120, 0x2d08, 0x6800, 0x2068, 0x0c70, 0x080c, 0x88d7, + 0x6a00, 0x604c, 0x9d06, 0x1110, 0x624e, 0x0018, 0x9180, 0x0000, + 0x2202, 0x82ff, 0x1110, 0x6152, 0x8dff, 0x012e, 0x0005, 0x9016, + 0x0489, 0x1110, 0x2011, 0x0001, 0x0005, 0x080c, 0x57dd, 0x0118, + 0x080c, 0xa906, 0x0010, 0x9085, 0x0001, 0x0005, 0x080c, 0x57dd, + 0x0118, 0x080c, 0xa898, 0x0010, 0x9085, 0x0001, 0x0005, 0x080c, + 0x57dd, 0x0118, 0x080c, 0xa8e9, 0x0010, 0x9085, 0x0001, 0x0005, + 0x080c, 0x57dd, 0x0118, 0x080c, 0xa8b4, 0x0010, 0x9085, 0x0001, + 0x0005, 0x080c, 0x57dd, 0x0118, 0x080c, 0xa922, 0x0010, 0x9085, + 0x0001, 0x0005, 0x60a4, 0x900d, 0x1118, 0x9085, 0x0001, 0x0005, + 0x00e6, 0x2170, 0x7000, 0x9005, 0x1168, 0x20a9, 0x0010, 0x9e88, + 0x0004, 0x2104, 0x9606, 0x0130, 0x8108, 0x1f04, 0x57a1, 0x9085, + 0x0001, 0x0008, 0x9006, 0x00ee, 0x0005, 0x00d6, 0x0126, 0x2091, + 0x8000, 0x60a4, 0x906d, 0x1128, 0x080c, 0x0e69, 0x01a0, 0x2d00, + 0x60a6, 0x6803, 0x0001, 0x6807, 0x0000, 0x9d88, 0x0004, 0x20a9, + 0x0010, 0x200b, 0xffff, 0x8108, 0x1f04, 0x57c1, 0x9085, 0x0001, + 0x012e, 0x00de, 0x0005, 0x9006, 0x0cd8, 0x00d6, 0x0126, 0x2091, + 0x8000, 0x60a4, 0x906d, 0x0130, 0x60a7, 0x0000, 0x080c, 0x0e82, + 0x9085, 0x0001, 0x012e, 0x00de, 0x0005, 0x609c, 0xd0a4, 0x0005, + 0x00f6, 0x080c, 0x62c5, 0x01b0, 0x71bc, 0x81ff, 0x1198, 0x71d4, + 0xd19c, 0x0180, 0x2001, 0x007e, 0x9080, 0x1000, 0x2004, 0x907d, + 0x0148, 0x7804, 0x9084, 0x00ff, 0x9086, 0x0006, 0x1118, 0x7800, + 0xc0ed, 0x7802, 0x2079, 0x1152, 0x7804, 0xd0a4, 0x01e8, 0x0156, + 0x00c6, 0x20a9, 0x007f, 0x2009, 0x0000, 0x0016, 0x080c, 0x560e, + 0x1168, 0x6004, 0x9084, 0xff00, 0x8007, 0x9096, 0x0004, 0x0118, + 0x9086, 0x0006, 0x1118, 0x6000, 0xc0ed, 0x6002, 0x001e, 0x8108, + 0x1f04, 0x5805, 0x00ce, 0x015e, 0x080c, 0x589c, 0x0120, 0x2001, + 0x12bf, 0x200c, 0x0038, 0x2079, 0x1152, 0x7804, 0xd0a4, 0x0130, + 0x2009, 0x07d0, 0x2011, 0x5830, 0x080c, 0x7268, 0x00fe, 0x0005, + 0x2011, 0x5830, 0x080c, 0x71e2, 0x080c, 0x589c, 0x01f0, 0x2001, + 0x107e, 0x2004, 0x9080, 0x0000, 0x200c, 0xc1ec, 0x2102, 0x2001, + 0x1153, 0x2004, 0xd0a4, 0x0130, 0x2009, 0x07d0, 0x2011, 0x5830, + 0x080c, 0x7268, 0x00e6, 0x2071, 0x1100, 0x7077, 0x0000, 0x707b, + 0x0000, 0x080c, 0x2658, 0x00ee, 0x04b0, 0x0156, 0x00c6, 0x20a9, + 0x007f, 0x2009, 0x0000, 0x0016, 0x080c, 0x560e, 0x1530, 0x6000, + 0xd0ec, 0x0518, 0x0046, 0x62a0, 0x9294, 0x00ff, 0x8227, 0x9006, + 0x2009, 0x0029, 0x080c, 0xc04a, 0x6000, 0xc0e5, 0xc0ec, 0x6002, + 0x6004, 0x9084, 0x00ff, 0x9085, 0x0700, 0x6006, 0x2019, 0x0029, + 0x080c, 0x76e4, 0x0076, 0x2039, 0x0000, 0x080c, 0x75f1, 0x2009, + 0x0000, 0x080c, 0xbdcb, 0x007e, 0x004e, 0x001e, 0x8108, 0x1f04, + 0x585b, 0x00ce, 0x015e, 0x0005, 0x00c6, 0x6010, 0x2060, 0x6000, + 0xc0ec, 0x6002, 0x00ce, 0x0005, 0x7810, 0x2004, 0xd0ac, 0x0005, + 0x7810, 0x2004, 0xd0bc, 0x0005, 0x00f6, 0x2001, 0x107e, 0x2004, + 0x907d, 0x0110, 0x7800, 0xd0ec, 0x00fe, 0x0005, 0x0126, 0x0026, + 0x2091, 0x8000, 0x0006, 0x62a0, 0x9290, 0x1000, 0x2204, 0x9c06, + 0x190c, 0x0d4e, 0x000e, 0x6200, 0x9005, 0x0110, 0xc2fd, 0x0008, + 0xc2fc, 0x6202, 0x002e, 0x012e, 0x0005, 0x2011, 0x1135, 0x2204, + 0xd0cc, 0x0138, 0x2001, 0x12bd, 0x200c, 0x2011, 0x58ca, 0x080c, + 0x7268, 0x0005, 0x2011, 0x58ca, 0x080c, 0x71e2, 0x2011, 0x1135, + 0x2204, 0xc0cc, 0x2012, 0x0005, 0x2071, 0x1240, 0x7003, 0x0001, + 0x7007, 0x0000, 0x7013, 0x0000, 0x7017, 0x0000, 0x701b, 0x0000, + 0x701f, 0x0000, 0x700b, 0x0000, 0x7047, 0x0000, 0x2071, 0x1286, + 0x7003, 0x1240, 0x7007, 0x0000, 0x700b, 0x0000, 0x700f, 0x0001, + 0x7013, 0x1266, 0x7017, 0x0020, 0x701b, 0x0040, 0x703b, 0x0000, + 0x2001, 0x1262, 0x2003, 0x0000, 0x0005, 0x0016, 0x00e6, 0x2071, + 0x1263, 0x900e, 0x710a, 0x2001, 0x1153, 0x2004, 0xd0fc, 0x1148, + 0x2001, 0x1153, 0x2004, 0x900e, 0xd09c, 0x0108, 0x8108, 0x7102, + 0x04c0, 0x2001, 0x1172, 0x200c, 0x9184, 0x000f, 0x0002, 0x5908, + 0x5908, 0x5908, 0x5908, 0x5908, 0x5927, 0x5908, 0x5908, 0x5935, + 0x5908, 0x5908, 0x5908, 0x5908, 0x5908, 0x5908, 0x5908, 0x7003, + 0x0003, 0x2009, 0x1173, 0x210c, 0x9184, 0xff00, 0x8007, 0x9005, + 0x1110, 0x2001, 0x0002, 0x7006, 0x00a0, 0x7003, 0x0004, 0x0136, + 0x0146, 0x0156, 0x20e1, 0x0001, 0x2099, 0x1176, 0x20e9, 0x0001, + 0x20a1, 0x1290, 0x20a9, 0x0004, 0x4003, 0x015e, 0x014e, 0x013e, + 0x0000, 0x00ee, 0x001e, 0x0005, 0x00e6, 0x2071, 0x0050, 0x684c, + 0x9005, 0x1158, 0x00e6, 0x2071, 0x1240, 0x7028, 0xc085, 0x702a, + 0x00ee, 0x9085, 0x0001, 0x0804, 0x59a2, 0x6844, 0x9005, 0x01e8, + 0x2009, 0x0000, 0x0156, 0x20a9, 0x0006, 0x8003, 0x2011, 0x0100, + 0x2214, 0x9296, 0x0008, 0x1110, 0x818d, 0x0010, 0x81f5, 0x3e08, + 0x1f04, 0x5965, 0x015e, 0x6a60, 0x9200, 0x7002, 0x6864, 0x9101, + 0x7006, 0x7013, 0x0000, 0x7017, 0x0000, 0x6860, 0x7002, 0x6864, + 0x7006, 0x6868, 0x700a, 0x686c, 0x700e, 0x6844, 0x9005, 0x1120, + 0x7013, 0x0000, 0x7017, 0x0000, 0x684c, 0x701a, 0x701c, 0x9085, + 0x0040, 0x701e, 0x7037, 0x0019, 0x702b, 0x0001, 0x00e6, 0x2071, + 0x1240, 0x7028, 0xc084, 0x702a, 0x7007, 0x0001, 0x700b, 0x0000, + 0x00ee, 0x9006, 0x00ee, 0x0005, 0x6868, 0xd0fc, 0x11d0, 0x00e6, + 0x0026, 0x2001, 0x1263, 0x2004, 0x9005, 0x0904, 0x5b7f, 0x687c, + 0xd0bc, 0x1904, 0x5b7f, 0x6978, 0x6874, 0x9105, 0x1904, 0x5b7f, + 0x2001, 0x1263, 0x2004, 0x0002, 0x5b7f, 0x59e6, 0x5a20, 0x5a20, + 0x5eed, 0x0005, 0x6868, 0xd0fc, 0x1500, 0x00e6, 0x0026, 0x2009, + 0x1263, 0x210c, 0x81ff, 0x0904, 0x5b7f, 0x687c, 0xd0cc, 0x0904, + 0x5b7f, 0x6880, 0x9084, 0x00ff, 0x9086, 0x0001, 0x1904, 0x5b7f, + 0x9186, 0x0003, 0x0904, 0x5a20, 0x9186, 0x0004, 0x0904, 0x5eed, + 0x684f, 0x8021, 0x6853, 0x0017, 0x0028, 0x0005, 0x684f, 0x8020, + 0x6853, 0x0016, 0x2071, 0x1240, 0x701c, 0x9005, 0x1904, 0x5d22, + 0x0e04, 0x5d6b, 0x2071, 0x0000, 0x684c, 0x7082, 0x6850, 0x7032, + 0x686c, 0x7086, 0x7036, 0x6870, 0x708a, 0x2091, 0x4080, 0x2001, + 0x0089, 0x2004, 0xd084, 0x190c, 0x0f7c, 0x2071, 0x1100, 0x2011, + 0x0001, 0x6804, 0x900d, 0x702c, 0x1148, 0x206a, 0x2d00, 0x702e, + 0x70b8, 0x9200, 0x70ba, 0x002e, 0x00ee, 0x0005, 0x00d6, 0x2168, + 0x6904, 0x206a, 0x8210, 0x2d00, 0x81ff, 0x1dc8, 0x00de, 0x0c68, + 0x684f, 0x0000, 0x00f6, 0x2079, 0x0050, 0x2071, 0x1240, 0x206b, + 0x0000, 0x7010, 0x9005, 0x1904, 0x5b0e, 0x782c, 0x908c, 0x0780, + 0x190c, 0x5f2b, 0x8004, 0x8004, 0x8004, 0x9084, 0x0003, 0x0002, + 0x5a3e, 0x5b0e, 0x5a64, 0x5aa7, 0x080c, 0x0d4e, 0x2071, 0x1100, + 0x8d07, 0x8005, 0x8005, 0xc0d5, 0x7822, 0x6804, 0x900d, 0x1170, + 0x2071, 0x1316, 0x703c, 0x9005, 0x1328, 0x2001, 0x1264, 0x2004, + 0x8005, 0x703e, 0x00fe, 0x002e, 0x00ee, 0x0005, 0x9016, 0x702c, + 0x2168, 0x6904, 0x206a, 0x8210, 0x2d00, 0x81ff, 0x1dc8, 0x702e, + 0x70b8, 0x9200, 0x70ba, 0x0c20, 0x2071, 0x1100, 0x8d07, 0x8005, + 0x8005, 0xc0d5, 0x7822, 0x6804, 0x900d, 0x1558, 0x7824, 0x00e6, + 0x2071, 0x0040, 0x712c, 0xd19c, 0x1118, 0x7022, 0x00ee, 0x0060, + 0x00ee, 0xc0d4, 0x8006, 0x8006, 0x806f, 0x702c, 0x206a, 0x2d00, + 0x702e, 0x70b8, 0x8000, 0x70ba, 0x782c, 0x9094, 0x0780, 0x190c, + 0x5f2b, 0xd0a4, 0x1d18, 0x2071, 0x1316, 0x703c, 0x9005, 0x1328, + 0x2001, 0x1264, 0x2004, 0x8005, 0x703e, 0x00fe, 0x002e, 0x00ee, + 0x0005, 0x9016, 0x702c, 0x2168, 0x6904, 0x206a, 0x8210, 0x2d00, + 0x81ff, 0x1dc8, 0x702e, 0x70b8, 0x9200, 0x70ba, 0x0838, 0x00d6, + 0x00e6, 0x7824, 0xc0d4, 0x8006, 0x8006, 0x806f, 0x2071, 0x1100, + 0x702c, 0x206a, 0x2d00, 0x702e, 0x70b8, 0x8000, 0x70ba, 0x782c, + 0x9094, 0x0780, 0x190c, 0x5f2b, 0xd0a4, 0x1d58, 0x00ee, 0x782c, + 0x9094, 0x0780, 0x190c, 0x5f2b, 0xd09c, 0x11b8, 0x00de, 0x8d07, + 0x8005, 0x8005, 0xc0d5, 0x7822, 0x6804, 0x900d, 0x1560, 0x2071, + 0x1316, 0x703c, 0x9005, 0x1328, 0x2001, 0x1264, 0x2004, 0x8005, + 0x703e, 0x00fe, 0x002e, 0x00ee, 0x0005, 0x00de, 0x2d08, 0x7010, + 0x8000, 0x7012, 0x7018, 0x906d, 0x711a, 0x0110, 0x6902, 0x0008, + 0x711e, 0x2168, 0x6804, 0x900d, 0x1170, 0x2071, 0x1316, 0x703c, + 0x9005, 0x1328, 0x2001, 0x1264, 0x2004, 0x8005, 0x703e, 0x00fe, + 0x002e, 0x00ee, 0x0005, 0x2071, 0x1100, 0x9016, 0x702c, 0x2168, + 0x6904, 0x206a, 0x8210, 0x2d00, 0x81ff, 0x1dc8, 0x702e, 0x70b8, + 0x9200, 0x70ba, 0x00fe, 0x002e, 0x00ee, 0x0005, 0x2d08, 0x7010, + 0x8000, 0x7012, 0x7018, 0x906d, 0x711a, 0x0110, 0x6902, 0x0008, + 0x711e, 0x2168, 0x6804, 0x900d, 0x1904, 0x5b67, 0x782c, 0x9094, + 0x0780, 0x190c, 0x5f2b, 0xd09c, 0x11b0, 0x701c, 0x906d, 0x0198, + 0x7010, 0x8001, 0x7012, 0x1108, 0x701a, 0x2d04, 0x701e, 0x8d07, + 0x8005, 0x8005, 0xc0d5, 0x7822, 0x782c, 0x9094, 0x0780, 0x190c, + 0x5f2b, 0xd09c, 0x0d50, 0x782c, 0x9094, 0x0780, 0x190c, 0x5f2b, + 0xd0a4, 0x01b8, 0x00e6, 0x7824, 0xc0d4, 0x8006, 0x8006, 0x806f, + 0x2071, 0x1100, 0x702c, 0x206a, 0x2d00, 0x702e, 0x70b8, 0x8000, + 0x70ba, 0x782c, 0x9094, 0x0780, 0x190c, 0x5f2b, 0xd0a4, 0x1d58, + 0x00ee, 0x2071, 0x1316, 0x703c, 0x9005, 0x1328, 0x2001, 0x1264, + 0x2004, 0x8005, 0x703e, 0x00fe, 0x002e, 0x00ee, 0x0005, 0x00e6, + 0x2071, 0x1100, 0x9016, 0x702c, 0x2168, 0x6904, 0x206a, 0x8210, + 0x2d00, 0x81ff, 0x1dc8, 0x702e, 0x70b8, 0x9200, 0x70ba, 0x00ee, + 0x0804, 0x5b1e, 0x6868, 0xd0fc, 0x1500, 0x00e6, 0x0026, 0x684f, + 0x0000, 0x00f6, 0x2079, 0x0050, 0x2071, 0x1240, 0x206b, 0x0000, + 0x7010, 0x9005, 0x1904, 0x5c9a, 0x782c, 0x908c, 0x0780, 0x190c, + 0x5f2b, 0x8004, 0x8004, 0x8004, 0x9084, 0x0003, 0x0002, 0x5b9e, + 0x5c9a, 0x5bba, 0x5c27, 0x080c, 0x0d4e, 0x0005, 0x2071, 0x1100, + 0x8d07, 0x8005, 0x8005, 0xc0d5, 0x7822, 0x6804, 0x900d, 0x1120, + 0x00fe, 0x002e, 0x00ee, 0x0005, 0x9016, 0x702c, 0x2168, 0x6904, + 0x206a, 0x8210, 0x2d00, 0x81ff, 0x1dc8, 0x702e, 0x70b8, 0x9200, + 0x70ba, 0x0c70, 0x2071, 0x1100, 0x8d07, 0x8005, 0x8005, 0xc0d5, + 0x7822, 0x6804, 0x900d, 0x1904, 0x5c18, 0x7830, 0x8007, 0x9084, + 0x001f, 0x9082, 0x0005, 0x1220, 0x00fe, 0x002e, 0x00ee, 0x0005, + 0x7824, 0x00e6, 0x2071, 0x0040, 0x712c, 0xd19c, 0x1118, 0x7022, + 0x00ee, 0x0060, 0x00ee, 0xc0d4, 0x8006, 0x8006, 0x806f, 0x702c, + 0x206a, 0x2d00, 0x702e, 0x70b8, 0x8000, 0x70ba, 0x782c, 0x9094, + 0x0780, 0x190c, 0x5f2b, 0xd0a4, 0x1d18, 0x0e04, 0x5c0f, 0x7838, + 0x7938, 0x910e, 0x1de0, 0x00d6, 0x2069, 0x0000, 0x6836, 0x6833, + 0x0013, 0x00de, 0x2001, 0x1251, 0x200c, 0xc184, 0x2102, 0x2091, + 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, 0x190c, 0x0f7c, 0x2009, + 0x1262, 0x200b, 0x0000, 0x00fe, 0x002e, 0x00ee, 0x0005, 0x2001, + 0x1251, 0x200c, 0xc185, 0x2102, 0x00fe, 0x002e, 0x00ee, 0x0005, + 0x9016, 0x702c, 0x2168, 0x6904, 0x206a, 0x8210, 0x2d00, 0x81ff, + 0x1dc8, 0x702e, 0x70b8, 0x9200, 0x70ba, 0x0804, 0x5bd0, 0x00d6, + 0x00e6, 0x7824, 0xc0d4, 0x8006, 0x8006, 0x806f, 0x2071, 0x1100, + 0x702c, 0x206a, 0x2d00, 0x702e, 0x70b8, 0x8000, 0x70ba, 0x782c, + 0x9094, 0x0780, 0x190c, 0x5f2b, 0xd0a4, 0x1d58, 0x00ee, 0x0e04, + 0x5c6f, 0x7838, 0x7938, 0x910e, 0x1de0, 0x00d6, 0x2069, 0x0000, + 0x6836, 0x6833, 0x0013, 0x00de, 0x7044, 0xc084, 0x7046, 0x2091, + 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, 0x190c, 0x0f7c, 0x2009, + 0x1262, 0x200b, 0x0000, 0x782c, 0x9094, 0x0780, 0x190c, 0x5f2b, + 0xd09c, 0x1188, 0x00de, 0x8d07, 0x8005, 0x8005, 0xc0d5, 0x7822, + 0x6804, 0x900d, 0x11e0, 0x00fe, 0x002e, 0x00ee, 0x0005, 0x7044, + 0xc085, 0x7046, 0x0c40, 0x00de, 0x2d08, 0x7010, 0x8000, 0x7012, + 0x7018, 0x906d, 0x711a, 0x0110, 0x6902, 0x0008, 0x711e, 0x2168, + 0x6804, 0x900d, 0x1120, 0x00fe, 0x002e, 0x00ee, 0x0005, 0x2071, + 0x1100, 0x9016, 0x702c, 0x2168, 0x6904, 0x206a, 0x8210, 0x2d00, + 0x81ff, 0x1dc8, 0x702e, 0x70b8, 0x9200, 0x70ba, 0x00fe, 0x002e, + 0x00ee, 0x0005, 0x2d08, 0x7010, 0x8000, 0x7012, 0x7018, 0x906d, + 0x711a, 0x0110, 0x6902, 0x0008, 0x711e, 0x2168, 0x6804, 0x900d, + 0x1904, 0x5d0f, 0x782c, 0x9094, 0x0780, 0x190c, 0x5f2b, 0xd09c, + 0x11c8, 0x701c, 0x906d, 0x01b0, 0x684c, 0x9005, 0x1198, 0x7010, + 0x8001, 0x7012, 0x1108, 0x701a, 0x2d04, 0x701e, 0x8d07, 0x8005, + 0x8005, 0xc0d5, 0x7822, 0x782c, 0x9094, 0x0780, 0x190c, 0x5f2b, + 0xd09c, 0x0d38, 0x782c, 0x9094, 0x0780, 0x190c, 0x5f2b, 0xd0a4, + 0x05d0, 0x00e6, 0x7824, 0xc0d4, 0x8006, 0x8006, 0x806f, 0x2071, + 0x1100, 0x702c, 0x206a, 0x2d00, 0x702e, 0x70b8, 0x8000, 0x70ba, + 0x782c, 0x9094, 0x0780, 0x190c, 0x5f2b, 0xd0a4, 0x1d58, 0x00ee, + 0x0e04, 0x5d08, 0x7838, 0x7938, 0x910e, 0x1de0, 0x00d6, 0x2069, + 0x0000, 0x6836, 0x6833, 0x0013, 0x00de, 0x7044, 0xc084, 0x7046, + 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, 0x190c, 0x0f7c, + 0x2009, 0x1262, 0x200b, 0x0000, 0x00fe, 0x002e, 0x00ee, 0x0005, + 0x7044, 0xc085, 0x7046, 0x00fe, 0x002e, 0x00ee, 0x0005, 0x00e6, + 0x2071, 0x1100, 0x9016, 0x702c, 0x2168, 0x6904, 0x206a, 0x8210, + 0x2d00, 0x81ff, 0x1dc8, 0x702e, 0x70b8, 0x9200, 0x70ba, 0x00ee, + 0x0804, 0x5caa, 0x2071, 0x1240, 0x206b, 0x0000, 0x2d08, 0x7010, + 0x8000, 0x7012, 0x7018, 0x906d, 0x711a, 0x0110, 0x6902, 0x0008, + 0x711e, 0x2168, 0x6804, 0x900d, 0x1128, 0x1e04, 0x5d4b, 0x002e, + 0x00ee, 0x0005, 0x2071, 0x1100, 0x9016, 0x702c, 0x2168, 0x6904, + 0x206a, 0x8210, 0x2d00, 0x81ff, 0x1dc8, 0x702e, 0x70b8, 0x9200, + 0x70ba, 0x0e04, 0x5d37, 0x2071, 0x1240, 0x701c, 0x2068, 0x684c, + 0x900d, 0x0d28, 0x2071, 0x0000, 0x7182, 0x6850, 0x7032, 0x686c, + 0x7086, 0x7036, 0x6870, 0x708a, 0x2091, 0x4080, 0x2001, 0x0089, + 0x2004, 0xd084, 0x190c, 0x0f7c, 0x2071, 0x1240, 0x080c, 0x5f17, + 0x002e, 0x00ee, 0x0005, 0x2071, 0x1240, 0x206b, 0x0000, 0x2d08, + 0x7010, 0x8000, 0x7012, 0x7018, 0x906d, 0x711a, 0x0110, 0x6902, + 0x0008, 0x711e, 0x2168, 0x6804, 0x900d, 0x1118, 0x002e, 0x00ee, + 0x0005, 0x2071, 0x1100, 0x9016, 0x702c, 0x2168, 0x6904, 0x206a, + 0x8210, 0x2d00, 0x81ff, 0x1dc8, 0x702e, 0x70b8, 0x9200, 0x70ba, + 0x002e, 0x00ee, 0x0005, 0x0006, 0x687c, 0x0006, 0x6867, 0x0103, + 0x20a9, 0x001c, 0x9d80, 0x001d, 0x20a0, 0x9006, 0x20e9, 0x0001, + 0x4004, 0x000e, 0x9084, 0x00ff, 0x687e, 0x000e, 0x687a, 0x6982, + 0x0005, 0x2071, 0x1240, 0x7004, 0x0002, 0x5db3, 0x5db4, 0x5eeb, + 0x5ed9, 0x0d4e, 0x5eec, 0x0005, 0x2001, 0x1263, 0x2004, 0x0002, + 0x5dbd, 0x5dbd, 0x5e15, 0x5e16, 0x5e74, 0x0126, 0x2091, 0x8000, + 0x1e0c, 0x5f30, 0x701c, 0x906d, 0x01e0, 0x684c, 0x9005, 0x01d8, + 0x0e04, 0x5de1, 0x694c, 0x2071, 0x0000, 0x7182, 0x6850, 0x7032, + 0x686c, 0x7086, 0x7036, 0x6870, 0x708a, 0x2091, 0x4080, 0x2001, + 0x0089, 0x2004, 0xd084, 0x190c, 0x0f7c, 0x2071, 0x1240, 0x080c, + 0x5f17, 0x012e, 0x0488, 0x2001, 0x005b, 0x2004, 0x9094, 0x0780, + 0x190c, 0x5f2b, 0xd09c, 0x2071, 0x1240, 0x1528, 0x2071, 0x1240, + 0x700f, 0x0001, 0x6964, 0x9184, 0x00ff, 0x9086, 0x0003, 0x1130, + 0x810f, 0x918c, 0x00ff, 0x8101, 0x0108, 0x710e, 0x8d07, 0x8005, + 0x8005, 0xc0d5, 0x00d6, 0x2069, 0x0050, 0x6822, 0x00de, 0x2071, + 0x1240, 0x701c, 0x2068, 0x7010, 0x8001, 0x7012, 0x2d04, 0x701e, + 0x9005, 0x1108, 0x701a, 0x012e, 0x0005, 0x0005, 0x00d6, 0x2069, + 0x1316, 0x683c, 0x9005, 0x0708, 0x1500, 0x0126, 0x2091, 0x8000, + 0x2069, 0x0050, 0x693c, 0x6838, 0x9106, 0x0190, 0x0e04, 0x5e3c, + 0x2069, 0x0000, 0x6837, 0x8040, 0x6833, 0x0012, 0x6883, 0x8040, + 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, 0x190c, 0x0f7c, + 0x2069, 0x1316, 0x683f, 0xffff, 0x012e, 0x00de, 0x0126, 0x2091, + 0x8000, 0x1e0c, 0x5f9f, 0x701c, 0x906d, 0x0560, 0x2001, 0x005b, + 0x2004, 0x9094, 0x0780, 0x190c, 0x5f2b, 0xd09c, 0x1518, 0x2071, + 0x1240, 0x700f, 0x0001, 0x6964, 0x9184, 0x00ff, 0x9086, 0x0003, + 0x1130, 0x810f, 0x918c, 0x00ff, 0x8101, 0x0108, 0x710e, 0x8d07, + 0x8005, 0x8005, 0xc0d5, 0x00d6, 0x2069, 0x0050, 0x6822, 0x00de, + 0x701c, 0x2068, 0x7010, 0x8001, 0x7012, 0x2d04, 0x701e, 0x9005, + 0x1108, 0x701a, 0x012e, 0x0005, 0x0126, 0x2091, 0x8000, 0x1e0c, + 0x5f30, 0x701c, 0x906d, 0x0548, 0x684c, 0x9086, 0x0004, 0x1538, + 0x0136, 0x0146, 0x0156, 0x2099, 0x1176, 0x20e1, 0x0001, 0x20a1, + 0x1290, 0x20e9, 0x0001, 0x20a9, 0x0004, 0x4003, 0x015e, 0x014e, + 0x013e, 0x2071, 0x1286, 0x9d80, 0x001b, 0x700f, 0x0001, 0x7012, + 0x7017, 0x0002, 0x7007, 0x0002, 0x700b, 0x0000, 0x2e10, 0x080c, + 0x0ee1, 0x2071, 0x1240, 0x7007, 0x0003, 0x012e, 0x0005, 0x2001, + 0x005b, 0x2004, 0x9094, 0x0780, 0x190c, 0x5f2b, 0xd09c, 0x2071, + 0x1240, 0x1d98, 0x2071, 0x1240, 0x700f, 0x0001, 0x6964, 0x9184, + 0x00ff, 0x9086, 0x0003, 0x1130, 0x810f, 0x918c, 0x00ff, 0x8101, + 0x0108, 0x710e, 0x8d07, 0x8005, 0x8005, 0xc0d5, 0x00d6, 0x2069, + 0x0050, 0x6822, 0x00de, 0x2071, 0x1240, 0x701c, 0x2068, 0x7010, + 0x8001, 0x7012, 0x2d04, 0x701e, 0x9005, 0x1978, 0x701a, 0x012e, + 0x0005, 0x2001, 0x1288, 0x2004, 0x908e, 0x0100, 0x1120, 0x7007, + 0x0001, 0x04a9, 0x0005, 0x908e, 0x0000, 0x0de0, 0x908e, 0x0200, + 0x1dc8, 0x080c, 0x5f2b, 0x0005, 0x0005, 0x684f, 0x0004, 0x206b, + 0x0000, 0x2d08, 0x2071, 0x1240, 0x7010, 0x8000, 0x7012, 0x7018, + 0x906d, 0x711a, 0x0110, 0x6902, 0x0008, 0x711e, 0x2168, 0x6804, + 0x900d, 0x1118, 0x002e, 0x00ee, 0x0005, 0x2071, 0x1100, 0x9016, + 0x702c, 0x2168, 0x6904, 0x206a, 0x8210, 0x2d00, 0x81ff, 0x1dc8, + 0x702e, 0x70b8, 0x9200, 0x70ba, 0x002e, 0x00ee, 0x0005, 0x0126, + 0x2091, 0x8000, 0x701c, 0x906d, 0x0160, 0x7010, 0x8001, 0x7012, + 0x2d04, 0x701e, 0x9005, 0x1108, 0x701a, 0x012e, 0x080c, 0x0e82, + 0x0005, 0x012e, 0x0005, 0x2011, 0x8004, 0x080c, 0x3ecb, 0x0cf8, + 0x00f6, 0x2079, 0x0050, 0x7044, 0xd084, 0x01d8, 0xc084, 0x7046, + 0x7838, 0x7938, 0x910e, 0x1de0, 0x00d6, 0x2069, 0x0000, 0x6836, + 0x6833, 0x0013, 0x00de, 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, + 0xd084, 0x190c, 0x0f7c, 0x2009, 0x1262, 0x200b, 0x0000, 0x00fe, + 0x0005, 0x782c, 0x9094, 0x0780, 0x19b1, 0xd0a4, 0x0dc0, 0x2001, + 0x1263, 0x2004, 0x9086, 0x0004, 0x0140, 0x2009, 0x1262, 0x2104, + 0x8000, 0x200a, 0x9082, 0x000f, 0x0e50, 0x00e6, 0x2071, 0x1100, + 0x7824, 0x00e6, 0x2071, 0x0040, 0x712c, 0xd19c, 0x1118, 0x7022, + 0x00ee, 0x0060, 0x00ee, 0xc0d4, 0x8006, 0x8006, 0x806f, 0x702c, + 0x206a, 0x2d00, 0x702e, 0x70b8, 0x8000, 0x70ba, 0x782c, 0x9094, + 0x0780, 0x190c, 0x5f2b, 0xd0a4, 0x1d18, 0x7838, 0x7938, 0x910e, + 0x1de0, 0x00d6, 0x2069, 0x0000, 0x6836, 0x6833, 0x0013, 0x00de, + 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, 0x190c, 0x0f7c, + 0x2009, 0x1262, 0x200b, 0x0000, 0x00ee, 0x00fe, 0x0005, 0x00f6, + 0x2079, 0x0050, 0x7044, 0xd084, 0x01b8, 0xc084, 0x7046, 0x7838, + 0x7938, 0x910e, 0x1de0, 0x00d6, 0x2069, 0x0000, 0x6836, 0x6833, + 0x0013, 0x00de, 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, + 0x190c, 0x0f7c, 0x00fe, 0x0005, 0x782c, 0x9094, 0x0780, 0x190c, + 0x5f2b, 0xd0a4, 0x0db8, 0x00e6, 0x2071, 0x1100, 0x7824, 0xc0d4, + 0x8006, 0x8006, 0x806f, 0x702c, 0x206a, 0x2d00, 0x702e, 0x70b8, + 0x8000, 0x70ba, 0x782c, 0x9094, 0x0780, 0x190c, 0x5f2b, 0xd0a4, + 0x1d68, 0x00d6, 0x2069, 0x0050, 0x693c, 0x2069, 0x1263, 0x6808, + 0x690a, 0x2069, 0x1316, 0x9102, 0x1118, 0x683c, 0x9005, 0x1328, + 0x2001, 0x1264, 0x200c, 0x810d, 0x693e, 0x00de, 0x00ee, 0x00fe, + 0x0005, 0x7090, 0x908a, 0x0029, 0x1220, 0x9082, 0x001d, 0x0033, + 0x0010, 0x080c, 0x0d4e, 0x6027, 0x1e00, 0x0005, 0x60c6, 0x605c, + 0x6074, 0x6098, 0x60b7, 0x60f1, 0x6103, 0x6074, 0x60dd, 0x600b, + 0x6045, 0x600a, 0x0005, 0x00d6, 0x2069, 0x0200, 0x6804, 0x9005, + 0x1180, 0x6808, 0x9005, 0x1578, 0x7093, 0x0028, 0x2069, 0x12c9, + 0x2d04, 0x7002, 0x080c, 0x63d5, 0x6028, 0x9085, 0x0600, 0x602a, + 0x0410, 0x7093, 0x0028, 0x2069, 0x12c9, 0x2d04, 0x7002, 0x6028, + 0x9085, 0x0600, 0x602a, 0x00e6, 0x0036, 0x0046, 0x0056, 0x2071, + 0x1346, 0x080c, 0x152f, 0x005e, 0x004e, 0x003e, 0x00ee, 0x0126, + 0x2091, 0x2200, 0x080c, 0x109f, 0x78ab, 0x0004, 0x7803, 0x0000, + 0x7803, 0x0001, 0x012e, 0x00de, 0x0005, 0x00d6, 0x2069, 0x0200, + 0x6804, 0x9005, 0x1178, 0x6808, 0x9005, 0x1160, 0x7093, 0x0028, + 0x2069, 0x12c9, 0x2d04, 0x7002, 0x080c, 0x6461, 0x6028, 0x9085, + 0x0600, 0x602a, 0x00de, 0x0005, 0x6803, 0x0090, 0x6124, 0xd1e4, + 0x1190, 0x080c, 0x616e, 0xd1d4, 0x1160, 0xd1dc, 0x1138, 0xd1cc, + 0x0150, 0x7093, 0x0020, 0x080c, 0x616e, 0x0028, 0x7093, 0x001d, + 0x0010, 0x7093, 0x001f, 0x0005, 0x6803, 0x0088, 0x6124, 0xd1cc, + 0x11c8, 0xd1dc, 0x11a0, 0xd1e4, 0x1178, 0x9184, 0x1e00, 0x11b8, + 0x60e3, 0x0001, 0x600c, 0xc0b4, 0x600e, 0x080c, 0x62f5, 0x6803, + 0x0080, 0x7093, 0x0028, 0x0058, 0x7093, 0x001e, 0x0040, 0x7093, + 0x001d, 0x0028, 0x7093, 0x0020, 0x0010, 0x7093, 0x001f, 0x0005, + 0x60e3, 0x0001, 0x600c, 0xc0b4, 0x600e, 0x080c, 0x62f5, 0x6803, + 0x0080, 0x6124, 0xd1d4, 0x1180, 0xd1dc, 0x1158, 0xd1e4, 0x1130, + 0x9184, 0x1e00, 0x1158, 0x7093, 0x0028, 0x0040, 0x7093, 0x001e, + 0x0028, 0x7093, 0x001d, 0x0010, 0x7093, 0x001f, 0x0005, 0x6803, + 0x00a0, 0x6124, 0xd1dc, 0x1138, 0xd1e4, 0x0138, 0x080c, 0x1553, + 0x7093, 0x001e, 0x0010, 0x7093, 0x001d, 0x0005, 0x080c, 0x61e4, + 0x6124, 0xd1dc, 0x1188, 0x080c, 0x616e, 0x0016, 0x080c, 0x1553, + 0x001e, 0xd1d4, 0x1128, 0xd1e4, 0x0138, 0x7093, 0x001e, 0x0020, + 0x7093, 0x001f, 0x080c, 0x616e, 0x0005, 0x6803, 0x00a0, 0x6124, + 0xd1d4, 0x1160, 0xd1cc, 0x1150, 0xd1dc, 0x1128, 0xd1e4, 0x0140, + 0x7093, 0x001e, 0x0028, 0x7093, 0x001d, 0x0010, 0x7093, 0x0021, + 0x0005, 0x080c, 0x61e4, 0x6124, 0xd1d4, 0x1150, 0xd1dc, 0x1128, + 0xd1e4, 0x0140, 0x7093, 0x001e, 0x0028, 0x7093, 0x001d, 0x0010, + 0x7093, 0x001f, 0x0005, 0x6803, 0x0090, 0x6124, 0xd1d4, 0x1178, + 0xd1cc, 0x1150, 0xd1dc, 0x1128, 0xd1e4, 0x0158, 0x7093, 0x001e, + 0x0040, 0x7093, 0x001d, 0x0028, 0x7093, 0x0020, 0x0010, 0x7093, + 0x001f, 0x0005, 0x0016, 0x00c6, 0x00d6, 0x00e6, 0x0126, 0x2061, + 0x0100, 0x2069, 0x0140, 0x2071, 0x1100, 0x2091, 0x8000, 0x080c, + 0x62c5, 0x11e8, 0x2001, 0x110c, 0x200c, 0xd1b4, 0x01c0, 0xc1b4, + 0x2102, 0x6027, 0x0200, 0x080c, 0x22e0, 0x6024, 0xd0cc, 0x0158, + 0x6803, 0x00a0, 0x2001, 0x12a8, 0x2003, 0x0001, 0x2001, 0x1100, + 0x2003, 0x0001, 0x0428, 0x6028, 0xc0cd, 0x602a, 0x0408, 0x080c, + 0x62e1, 0x0150, 0x080c, 0x62d7, 0x1138, 0x2001, 0x0001, 0x080c, + 0x1eae, 0x080c, 0x629c, 0x00a0, 0x080c, 0x61e1, 0x0178, 0x2001, + 0x0001, 0x080c, 0x1eae, 0x7090, 0x9086, 0x001e, 0x0120, 0x7090, + 0x9086, 0x0022, 0x1118, 0x7093, 0x0025, 0x0010, 0x7093, 0x0021, + 0x012e, 0x00ee, 0x00de, 0x00ce, 0x001e, 0x0005, 0x0026, 0x2011, + 0x617f, 0x080c, 0x72a4, 0x002e, 0x0016, 0x0026, 0x2009, 0x0064, + 0x2011, 0x617f, 0x080c, 0x729b, 0x002e, 0x001e, 0x0005, 0x00e6, + 0x00f6, 0x0016, 0x080c, 0x8570, 0x2071, 0x1100, 0x080c, 0x611a, + 0x001e, 0x00fe, 0x00ee, 0x0005, 0x0016, 0x0026, 0x0036, 0x00c6, + 0x00d6, 0x00e6, 0x00f6, 0x0126, 0x080c, 0x8570, 0x2061, 0x0100, + 0x2069, 0x0140, 0x2071, 0x1100, 0x2091, 0x8000, 0x6028, 0xc09c, + 0x602a, 0x2011, 0x0003, 0x080c, 0x885b, 0x2011, 0x0002, 0x080c, + 0x8865, 0x080c, 0x8738, 0x080c, 0x7256, 0x0036, 0x2019, 0x0000, + 0x080c, 0x87ca, 0x003e, 0x60e3, 0x0000, 0x080c, 0xc392, 0x080c, + 0xc3ad, 0x080c, 0x2205, 0x2001, 0x1100, 0x2003, 0x0004, 0x6027, + 0x0008, 0x080c, 0x0b56, 0x2001, 0x0001, 0x080c, 0x1eae, 0x012e, + 0x00fe, 0x00ee, 0x00de, 0x00ce, 0x003e, 0x002e, 0x001e, 0x0005, + 0x0026, 0x00e6, 0x2011, 0x618c, 0x2071, 0x1316, 0x701c, 0x9206, + 0x1118, 0x7018, 0x9005, 0x0110, 0x9085, 0x0001, 0x00ee, 0x002e, + 0x0005, 0x6020, 0xd09c, 0x0005, 0x6800, 0x9086, 0x00c0, 0x0160, + 0x6803, 0x00c0, 0x0156, 0x20a9, 0x002d, 0x1d04, 0x61ed, 0x2091, + 0x6000, 0x1f04, 0x61ed, 0x015e, 0x0005, 0x00c6, 0x00d6, 0x00e6, + 0x2061, 0x0100, 0x2069, 0x0140, 0x2071, 0x1100, 0x2001, 0x12a8, + 0x200c, 0x9186, 0x0000, 0x0158, 0x9186, 0x0001, 0x0158, 0x9186, + 0x0002, 0x0158, 0x9186, 0x0003, 0x0158, 0x0804, 0x628a, 0x7093, + 0x0022, 0x0040, 0x7093, 0x0021, 0x0028, 0x7093, 0x0023, 0x0030, + 0x7093, 0x0024, 0x9085, 0x0001, 0x080c, 0x6309, 0x60e3, 0x0000, + 0x6887, 0x0001, 0x2001, 0x0001, 0x080c, 0x1f43, 0x0026, 0x2011, + 0x0003, 0x080c, 0x885b, 0x2011, 0x0002, 0x080c, 0x8865, 0x080c, + 0x8738, 0x0036, 0x2019, 0x0000, 0x080c, 0x87ca, 0x003e, 0x002e, + 0x7000, 0x908e, 0x0004, 0x0118, 0x602b, 0x0028, 0x0010, 0x602b, + 0x0020, 0x0156, 0x0126, 0x2091, 0x8000, 0x20a9, 0x0005, 0x6024, + 0xd0ac, 0x0120, 0x012e, 0x015e, 0x0804, 0x6298, 0x6800, 0x9084, + 0x00a0, 0xc0bd, 0x6802, 0x080c, 0x22e0, 0x6904, 0xd1d4, 0x1130, + 0x6803, 0x0100, 0x1f04, 0x6247, 0x080c, 0x6316, 0x012e, 0x015e, + 0x080c, 0x62d7, 0x01a8, 0x6044, 0x9005, 0x0168, 0x6050, 0x0006, + 0x9085, 0x0020, 0x6052, 0x080c, 0x6316, 0x9006, 0x8001, 0x1df0, + 0x000e, 0x6052, 0x0028, 0x6804, 0xd0d4, 0x1110, 0x080c, 0x6316, + 0x0016, 0x0026, 0x7000, 0x908e, 0x0004, 0x0130, 0x2009, 0x00c8, + 0x2011, 0x618c, 0x080c, 0x7268, 0x002e, 0x001e, 0x2001, 0x12a8, + 0x2003, 0x0004, 0x080c, 0x5ff1, 0x080c, 0x62d7, 0x0148, 0x6804, + 0xd0d4, 0x1130, 0xd0dc, 0x1100, 0x2001, 0x12a8, 0x2003, 0x0000, + 0x00ee, 0x00de, 0x00ce, 0x0005, 0x00c6, 0x00d6, 0x00e6, 0x2061, + 0x0100, 0x2069, 0x0140, 0x2071, 0x1100, 0x2001, 0x12a7, 0x2003, + 0x0000, 0x2001, 0x1298, 0x2003, 0x0000, 0x7093, 0x0000, 0x60e3, + 0x0000, 0x6887, 0x0000, 0x2001, 0x0000, 0x080c, 0x1f43, 0x6803, + 0x0000, 0x6043, 0x0090, 0x6043, 0x0010, 0x6027, 0xffff, 0x602b, + 0x182f, 0x00ee, 0x00de, 0x00ce, 0x0005, 0x0006, 0x2001, 0x12a7, + 0x2004, 0x9086, 0xaaaa, 0x000e, 0x0005, 0x0006, 0x2001, 0x1172, + 0x2004, 0x9084, 0x0030, 0x9086, 0x0000, 0x000e, 0x0005, 0x0006, + 0x2001, 0x1172, 0x2004, 0x9084, 0x0030, 0x9086, 0x0030, 0x000e, + 0x0005, 0x0006, 0x2001, 0x1172, 0x2004, 0x9084, 0x0030, 0x9086, + 0x0010, 0x000e, 0x0005, 0x0006, 0x2001, 0x1172, 0x2004, 0x9084, + 0x0030, 0x9086, 0x0020, 0x000e, 0x0005, 0x2001, 0x110c, 0x2004, + 0xd0a4, 0x0170, 0x080c, 0x1f63, 0x0036, 0x0016, 0x2009, 0x0000, + 0x2019, 0x0028, 0x080c, 0x2816, 0x001e, 0x003e, 0x9006, 0x0009, + 0x0005, 0x00e6, 0x2071, 0x110c, 0x2e04, 0x0118, 0x9085, 0x0010, + 0x0010, 0x9084, 0xffef, 0x2072, 0x00ee, 0x0005, 0x6050, 0x0006, + 0x60ec, 0x0006, 0x600c, 0x0006, 0x6004, 0x0006, 0x6028, 0x0006, + 0x0016, 0x6138, 0x6050, 0x9084, 0xfbff, 0x9085, 0x2000, 0x6052, + 0x613a, 0x20a9, 0x0012, 0x1d04, 0x632b, 0x2091, 0x6000, 0x1f04, + 0x632b, 0x602f, 0x0100, 0x602f, 0x0000, 0x6050, 0x9085, 0x0400, + 0x9084, 0xdfff, 0x6052, 0x613a, 0x001e, 0x602f, 0x0040, 0x602f, + 0x0000, 0x000e, 0x602a, 0x000e, 0x6006, 0x000e, 0x600e, 0x000e, + 0x60ee, 0x60e3, 0x0000, 0x6887, 0x0001, 0x2001, 0x0001, 0x080c, + 0x1f43, 0x6803, 0x00a0, 0x000e, 0x6052, 0x0005, 0x0156, 0x0016, + 0x0026, 0x0036, 0x00c6, 0x00d6, 0x00e6, 0x2061, 0x0100, 0x2069, + 0x0140, 0x2071, 0x1100, 0x6020, 0x9084, 0x0080, 0x0138, 0x2001, + 0x110c, 0x200c, 0xc1c5, 0x2102, 0x0804, 0x63cd, 0x2001, 0x110c, + 0x200c, 0xc1c4, 0x2102, 0x6028, 0x9084, 0xe1ff, 0x602a, 0x6027, + 0x0200, 0x6803, 0x0090, 0x20a9, 0x0366, 0x6024, 0xd0cc, 0x1508, + 0x1d04, 0x637d, 0x2091, 0x6000, 0x1f04, 0x637d, 0x2011, 0x0003, + 0x080c, 0x885b, 0x2011, 0x0002, 0x080c, 0x8865, 0x080c, 0x8738, + 0x2019, 0x0000, 0x080c, 0x87ca, 0x6803, 0x00a0, 0x2001, 0x12a8, + 0x2003, 0x0001, 0x2001, 0x1100, 0x2003, 0x0001, 0x9085, 0x0001, + 0x0460, 0x86ff, 0x1110, 0x080c, 0x1553, 0x60e3, 0x0000, 0x2001, + 0x1298, 0x2004, 0x080c, 0x1f43, 0x60e2, 0x6803, 0x0080, 0x20a9, + 0x0366, 0x6027, 0x1e00, 0x2009, 0x1e00, 0x080c, 0x22e0, 0x6024, + 0x910c, 0x0138, 0x1d04, 0x63b1, 0x2091, 0x6000, 0x1f04, 0x63b1, + 0x0828, 0x6028, 0x9085, 0x1e00, 0x602a, 0x70a8, 0x9005, 0x1118, + 0x6887, 0x0001, 0x0008, 0x6886, 0x9006, 0x00ee, 0x00de, 0x00ce, + 0x003e, 0x002e, 0x001e, 0x015e, 0x0005, 0x0156, 0x0016, 0x0026, + 0x0036, 0x00c6, 0x00d6, 0x00e6, 0x2061, 0x0100, 0x2071, 0x1100, + 0x2069, 0x0140, 0x6020, 0x9084, 0x00c0, 0x0120, 0x6884, 0x9005, + 0x1904, 0x642a, 0x6803, 0x0088, 0x60e3, 0x0000, 0x6887, 0x0000, + 0x2001, 0x0000, 0x080c, 0x1f43, 0x2069, 0x0200, 0x6804, 0x9005, + 0x1118, 0x6808, 0x9005, 0x01c0, 0x6028, 0x9084, 0xfbff, 0x602a, + 0x6027, 0x0400, 0x2069, 0x12c9, 0x7000, 0x206a, 0x7093, 0x0026, + 0x7003, 0x0001, 0x20a9, 0x0002, 0x1d04, 0x640c, 0x2091, 0x6000, + 0x1f04, 0x640c, 0x0804, 0x6459, 0x2069, 0x0140, 0x20a9, 0x0384, + 0x6027, 0x1e00, 0x2009, 0x1e00, 0x080c, 0x22e0, 0x6024, 0x910c, + 0x0520, 0x9084, 0x1a00, 0x1508, 0x1d04, 0x6418, 0x2091, 0x6000, + 0x1f04, 0x6418, 0x2011, 0x0003, 0x080c, 0x885b, 0x2011, 0x0002, + 0x080c, 0x8865, 0x080c, 0x8738, 0x2019, 0x0000, 0x080c, 0x87ca, + 0x6803, 0x00a0, 0x2001, 0x12a8, 0x2003, 0x0001, 0x2001, 0x1100, + 0x2003, 0x0001, 0x9085, 0x0001, 0x00a0, 0x6803, 0x0080, 0x2069, + 0x0140, 0x60e3, 0x0000, 0x70a8, 0x9005, 0x1118, 0x6887, 0x0001, + 0x0008, 0x6886, 0x2001, 0x1298, 0x2004, 0x080c, 0x1f43, 0x60e2, + 0x9006, 0x00ee, 0x00de, 0x00ce, 0x003e, 0x002e, 0x001e, 0x015e, + 0x0005, 0x0156, 0x0016, 0x0026, 0x0036, 0x00c6, 0x00d6, 0x00e6, + 0x2061, 0x0100, 0x2071, 0x1100, 0x6020, 0x9084, 0x00c0, 0x01e0, + 0x2011, 0x0003, 0x080c, 0x885b, 0x2011, 0x0002, 0x080c, 0x8865, + 0x080c, 0x8738, 0x2019, 0x0000, 0x080c, 0x87ca, 0x2069, 0x0140, + 0x6803, 0x00a0, 0x2001, 0x12a8, 0x2003, 0x0001, 0x2001, 0x1100, + 0x2003, 0x0001, 0x0804, 0x64f5, 0x2001, 0x110c, 0x200c, 0xd1b4, + 0x1150, 0xc1b5, 0x2102, 0x080c, 0x6174, 0x2069, 0x0140, 0x6803, + 0x0080, 0x60e3, 0x0000, 0x2069, 0x0200, 0x6804, 0x9005, 0x1118, + 0x6808, 0x9005, 0x0180, 0x6028, 0x9084, 0xfdff, 0x602a, 0x6027, + 0x0200, 0x2069, 0x12c9, 0x7000, 0x206a, 0x7093, 0x0027, 0x7003, + 0x0001, 0x0804, 0x64f5, 0x6027, 0x1e00, 0x2009, 0x1e00, 0x080c, + 0x22e0, 0x6024, 0x910c, 0x01c8, 0x9084, 0x1c00, 0x11b0, 0x1d04, + 0x64b3, 0x0006, 0x0016, 0x00c6, 0x00d6, 0x00e6, 0x080c, 0x7142, + 0x00ee, 0x00de, 0x00ce, 0x001e, 0x000e, 0x00e6, 0x2071, 0x1316, + 0x7018, 0x00ee, 0x9005, 0x19f8, 0x0500, 0x0026, 0x2011, 0x618c, + 0x080c, 0x71e2, 0x2011, 0x617f, 0x080c, 0x72a4, 0x002e, 0x2069, + 0x0140, 0x60e3, 0x0000, 0x70a8, 0x9005, 0x1118, 0x6887, 0x0001, + 0x0008, 0x6886, 0x2001, 0x1298, 0x2004, 0x080c, 0x1f43, 0x60e2, + 0x2001, 0x110c, 0x200c, 0xc1b4, 0x2102, 0x00ee, 0x00de, 0x00ce, + 0x003e, 0x002e, 0x001e, 0x015e, 0x0005, 0x0156, 0x0016, 0x0026, + 0x0036, 0x0046, 0x00c6, 0x00e6, 0x2061, 0x0100, 0x2071, 0x1100, + 0x7130, 0xd184, 0x1180, 0x2011, 0x1153, 0x2214, 0xd2ec, 0x0138, + 0xc18d, 0x7132, 0x2011, 0x1153, 0x2214, 0xd2ac, 0x1120, 0x7030, + 0xd08c, 0x0904, 0x6562, 0x7130, 0xc185, 0x7132, 0x2011, 0x1153, + 0x220c, 0xd1a4, 0x0530, 0x0016, 0x2019, 0x000e, 0x080c, 0xbfd0, + 0x0156, 0x20a9, 0x007f, 0x2009, 0x0000, 0x9186, 0x007e, 0x01a0, + 0x9186, 0x0080, 0x0188, 0x080c, 0x560e, 0x1170, 0x8127, 0x9006, + 0x0016, 0x2009, 0x000e, 0x080c, 0xc04a, 0x2009, 0x0001, 0x2011, + 0x0100, 0x080c, 0x7391, 0x001e, 0x8108, 0x1f04, 0x652d, 0x015e, + 0x001e, 0xd1ac, 0x1148, 0x0016, 0x2009, 0x0000, 0x2019, 0x0004, + 0x080c, 0x2816, 0x001e, 0x0070, 0x0156, 0x20a9, 0x007f, 0x2009, + 0x0000, 0x080c, 0x560e, 0x1110, 0x080c, 0x50e9, 0x8108, 0x1f04, + 0x6559, 0x015e, 0x080c, 0x1553, 0x2011, 0x0003, 0x080c, 0x885b, + 0x2011, 0x0002, 0x080c, 0x8865, 0x080c, 0x8738, 0x0036, 0x2019, + 0x0000, 0x080c, 0x87ca, 0x003e, 0x60e3, 0x0000, 0x2001, 0x1100, + 0x2003, 0x0001, 0x080c, 0x61f5, 0x00ee, 0x00ce, 0x004e, 0x003e, + 0x002e, 0x001e, 0x015e, 0x0005, 0x2071, 0x120c, 0x7003, 0x0000, + 0x7007, 0x0000, 0x708f, 0x0000, 0x7093, 0x0001, 0x70c7, 0x0000, + 0x0005, 0x00e6, 0x2071, 0x0040, 0x6848, 0x9005, 0x1120, 0x9085, + 0x0001, 0x0804, 0x65e5, 0x6840, 0x9005, 0x01e0, 0x900e, 0x0156, + 0x20a9, 0x0006, 0x8003, 0x2011, 0x0100, 0x2214, 0x9296, 0x0008, + 0x1110, 0x818d, 0x0010, 0x81f5, 0x3e08, 0x1f04, 0x65a2, 0x015e, + 0x6a50, 0x9200, 0x7002, 0x6854, 0x9101, 0x7006, 0x7013, 0x0000, + 0x7017, 0x0000, 0x6850, 0x7002, 0x6854, 0x7006, 0x6858, 0x700a, + 0x685c, 0x700e, 0x6840, 0x9005, 0x1120, 0x7013, 0x0000, 0x7017, + 0x0000, 0x6848, 0x701a, 0x701c, 0x9085, 0x0040, 0x701e, 0x2001, + 0x0019, 0x7036, 0x702b, 0x0001, 0x2001, 0x0004, 0x200c, 0x918c, + 0xfff7, 0x918d, 0x8000, 0x2102, 0x00d6, 0x2069, 0x120c, 0x6807, + 0x0001, 0x00de, 0x080c, 0x6b23, 0x9006, 0x00ee, 0x0005, 0x2079, + 0x0040, 0x2071, 0x120c, 0x7004, 0x0002, 0x65f7, 0x65f8, 0x6bb9, + 0x668b, 0x679e, 0x65f5, 0x65f5, 0x67c7, 0x080c, 0x0d4e, 0x0005, + 0x2079, 0x0040, 0x782c, 0x908c, 0x0780, 0x190c, 0x6bba, 0xd0a4, + 0x0510, 0x7824, 0xc0d4, 0x8006, 0x8006, 0x806f, 0x6803, 0x0000, + 0x6807, 0x0000, 0x6864, 0x9084, 0x00ff, 0x908a, 0x0040, 0x12c0, + 0x04d3, 0x2001, 0x1100, 0x200c, 0x9186, 0x0003, 0x1160, 0x7104, + 0x9186, 0x0004, 0x0140, 0x9186, 0x0007, 0x0128, 0x9186, 0x0003, + 0x19c8, 0x080c, 0x668b, 0x782c, 0xd09c, 0x090c, 0x6b23, 0x0005, + 0x9082, 0x005a, 0x1218, 0x2100, 0x0023, 0x0c18, 0x080c, 0x66c5, + 0x0c90, 0x66c5, 0x66c5, 0x66c5, 0x66c5, 0x66c5, 0x66c5, 0x66c5, + 0x66c5, 0x6701, 0x66c5, 0x66c5, 0x66c5, 0x66c5, 0x66c5, 0x66c5, + 0x66c5, 0x66c5, 0x66c5, 0x66c5, 0x66c5, 0x66c5, 0x66c5, 0x66c5, + 0x66c5, 0x66c5, 0x66c5, 0x66c5, 0x66c5, 0x66e5, 0x66c5, 0x6885, + 0x66c5, 0x66c5, 0x66c5, 0x66c5, 0x66c5, 0x66e5, 0x68c7, 0x690a, + 0x6953, 0x6967, 0x66c5, 0x66c5, 0x6701, 0x66e5, 0x66c5, 0x66c5, + 0x6777, 0x6a13, 0x6a2e, 0x66c5, 0x6701, 0x66c5, 0x66c5, 0x66c5, + 0x66c5, 0x676d, 0x6a2e, 0x66c5, 0x66c5, 0x66c5, 0x66c5, 0x66c5, + 0x66c5, 0x66c5, 0x66c5, 0x66c5, 0x6715, 0x66c5, 0x66c5, 0x66c5, + 0x66c5, 0x66c5, 0x66c5, 0x66c5, 0x66c5, 0x66c5, 0x6b5f, 0x66c5, + 0x66c5, 0x66c5, 0x66c5, 0x66c5, 0x672a, 0x66c5, 0x66c5, 0x66c5, + 0x66c5, 0x66c5, 0x66c5, 0x2079, 0x0040, 0x7004, 0x9086, 0x0003, + 0x11b8, 0x782c, 0x080c, 0x6b54, 0xd0a4, 0x0190, 0x7824, 0xc0d4, + 0x8006, 0x8006, 0x806f, 0x6803, 0x0000, 0x6807, 0x0000, 0x6864, + 0x9084, 0x00ff, 0x908a, 0x001a, 0x1210, 0x002b, 0x0c30, 0x00e9, + 0x080c, 0x6b23, 0x0005, 0x66c5, 0x66e5, 0x6871, 0x66c5, 0x66e5, + 0x66c5, 0x66e5, 0x66e5, 0x66c5, 0x66e5, 0x6871, 0x66e5, 0x66e5, + 0x66e5, 0x66e5, 0x66e5, 0x66c5, 0x66e5, 0x6871, 0x66c5, 0x66c5, + 0x66e5, 0x66c5, 0x66c5, 0x66c5, 0x66e5, 0x00e6, 0x2071, 0x120c, + 0x7007, 0x0001, 0x6868, 0x9084, 0x00ff, 0xc0d5, 0x686a, 0x0126, + 0x2091, 0x8000, 0x080c, 0x5b7a, 0x012e, 0x00ee, 0x0005, 0x7007, + 0x0001, 0x6868, 0x9084, 0x00ff, 0xc0e5, 0x686a, 0x0126, 0x2091, + 0x8000, 0x080c, 0x5b7a, 0x012e, 0x0005, 0x7007, 0x0001, 0x6868, + 0x9084, 0x00ff, 0xc0ed, 0x686a, 0x0126, 0x2091, 0x8000, 0x080c, + 0x5b7a, 0x012e, 0x0005, 0x7007, 0x0001, 0x6868, 0x9084, 0x00ff, + 0xc0dd, 0x686a, 0x0126, 0x2091, 0x8000, 0x080c, 0x5b7a, 0x012e, + 0x0005, 0x6864, 0x8007, 0x9084, 0x00ff, 0x0988, 0x8001, 0x1120, + 0x7007, 0x0001, 0x0804, 0x6830, 0x7007, 0x0003, 0x7012, 0x2d00, + 0x7016, 0x701a, 0x704b, 0x6830, 0x0005, 0x6864, 0x8007, 0x9084, + 0x00ff, 0x0904, 0x66d7, 0x8001, 0x1120, 0x7007, 0x0001, 0x0804, + 0x6849, 0x7007, 0x0003, 0x7012, 0x2d00, 0x7016, 0x701a, 0x704b, + 0x6849, 0x0005, 0x6864, 0x8007, 0x9084, 0x00ff, 0x9086, 0x0001, + 0x1904, 0x66d7, 0x7007, 0x0001, 0x2009, 0x1132, 0x210c, 0x81ff, + 0x11a8, 0x6868, 0x9084, 0x00ff, 0x686a, 0x6883, 0x0000, 0x080c, + 0x52e9, 0x1108, 0x0005, 0x0126, 0x2091, 0x8000, 0x6867, 0x0139, + 0x687a, 0x6982, 0x080c, 0x5b7a, 0x012e, 0x0ca0, 0x6994, 0x9186, + 0x0071, 0x0d38, 0x9186, 0x0064, 0x0d20, 0x9186, 0x007c, 0x0d08, + 0x9186, 0x0028, 0x09f0, 0x9186, 0x0038, 0x09d8, 0x9186, 0x0078, + 0x09c0, 0x9186, 0x005f, 0x09a8, 0x6897, 0x4005, 0x689b, 0x0001, + 0x2001, 0x0030, 0x2009, 0x0000, 0x08b0, 0x687c, 0x9084, 0x00c0, + 0x9086, 0x00c0, 0x1120, 0x7007, 0x0001, 0x0804, 0x6a45, 0x2d00, + 0x7016, 0x701a, 0x20a9, 0x0004, 0x20e1, 0x0001, 0x20e9, 0x0001, + 0x9080, 0x0030, 0x2098, 0x20a1, 0x1239, 0x4003, 0x6888, 0x7012, + 0x9082, 0x0401, 0x1a04, 0x66f3, 0x6ab4, 0x928a, 0x0002, 0x1a04, + 0x66f3, 0x82ff, 0x1138, 0x68b8, 0x69bc, 0x9105, 0x0118, 0x2001, + 0x6803, 0x0018, 0x9280, 0x67f9, 0x2005, 0x70ce, 0x7010, 0x9015, + 0x0904, 0x67e5, 0x080c, 0x0e50, 0x1118, 0x7007, 0x0004, 0x0005, + 0x2d00, 0x7022, 0x70cc, 0x2060, 0xe000, 0x6866, 0xe004, 0x9d00, + 0x709e, 0x709b, 0x0001, 0xe008, 0x920a, 0x1210, 0x900e, 0x2200, + 0x7112, 0xe20c, 0x8003, 0x800b, 0x9296, 0x0004, 0x0108, 0x9108, + 0x71a2, 0x810b, 0x71a6, 0x9e90, 0x0023, 0x080c, 0x0ee1, 0x7094, + 0x908e, 0x0100, 0x0170, 0x9086, 0x0200, 0x0118, 0x7007, 0x0007, + 0x0005, 0x7020, 0x2068, 0x080c, 0x0e82, 0x7014, 0x2068, 0x0804, + 0x66f3, 0x7020, 0x2068, 0x7018, 0x6802, 0x6807, 0x0000, 0x2d08, + 0x2068, 0x6906, 0x711a, 0x0804, 0x679e, 0x7014, 0x2068, 0x7007, + 0x0001, 0x68b4, 0x9005, 0x1128, 0x68b8, 0x69bc, 0x9105, 0x0108, + 0x00b1, 0x6864, 0x9084, 0x00ff, 0x9086, 0x001e, 0x0904, 0x6a45, + 0x04b8, 0x67fb, 0x67ff, 0x0002, 0x001d, 0x0007, 0x0004, 0x000a, + 0x001b, 0x0005, 0x0006, 0x000a, 0x001d, 0x0005, 0x0004, 0x00f6, + 0x00e6, 0x00c6, 0x0076, 0x0066, 0x6fb8, 0x6ebc, 0x6804, 0x2060, + 0x9cf0, 0x002d, 0x9cf8, 0x0033, 0x2009, 0x0005, 0x700c, 0x7816, + 0x7008, 0x7812, 0x7004, 0x7806, 0x7000, 0x7802, 0x7e0e, 0x7f0a, + 0x8109, 0x0128, 0x9ef2, 0x0004, 0x9ffa, 0x0006, 0x0c78, 0x6004, + 0x9065, 0x1d30, 0x006e, 0x007e, 0x00ce, 0x00ee, 0x00fe, 0x0005, + 0x2009, 0x1132, 0x210c, 0x81ff, 0x1178, 0x080c, 0x513a, 0x1108, + 0x0005, 0x080c, 0x5d93, 0x0126, 0x2091, 0x8000, 0x080c, 0xab13, + 0x080c, 0x5b7a, 0x012e, 0x0ca0, 0x2001, 0x0028, 0x2009, 0x0000, + 0x0c80, 0x2009, 0x1132, 0x210c, 0x81ff, 0x11d8, 0x6888, 0x9005, + 0x01e8, 0x6883, 0x0000, 0x687c, 0xd0f4, 0x0120, 0x080c, 0x523e, + 0x1138, 0x0005, 0x9006, 0x687a, 0x080c, 0x51d3, 0x1108, 0x0005, + 0x0126, 0x2091, 0x8000, 0x687a, 0x6982, 0x080c, 0x5b7a, 0x012e, + 0x0cb0, 0x2001, 0x0028, 0x2009, 0x0000, 0x0c90, 0x2001, 0x0000, + 0x0c78, 0x7018, 0x6802, 0x2d08, 0x2068, 0x6906, 0x711a, 0x7010, + 0x8001, 0x7012, 0x0118, 0x7007, 0x0003, 0x0030, 0x7014, 0x2068, + 0x7007, 0x0001, 0x7048, 0x080f, 0x0005, 0x7007, 0x0001, 0x6974, + 0x810f, 0x918c, 0x00ff, 0x6878, 0x9084, 0x00ff, 0x20a9, 0x0001, + 0x9096, 0x0001, 0x01b0, 0x2009, 0x0000, 0x20a9, 0x00ff, 0x9096, + 0x0002, 0x0178, 0x9005, 0x11f0, 0x6974, 0x810f, 0x918c, 0x00ff, + 0x080c, 0x560e, 0x11b8, 0x0066, 0x6e80, 0x080c, 0x570a, 0x006e, + 0x0088, 0x0046, 0x2011, 0x110c, 0x2224, 0xc484, 0x2412, 0x004e, + 0x00c6, 0x080c, 0x560e, 0x1110, 0x080c, 0x57cd, 0x8108, 0x1f04, + 0x68b1, 0x00ce, 0x687c, 0xd084, 0x1118, 0x080c, 0x0e82, 0x0005, + 0x0126, 0x2091, 0x8000, 0x080c, 0x5b7a, 0x012e, 0x0005, 0x0126, + 0x2091, 0x8000, 0x7007, 0x0001, 0x2001, 0x1153, 0x2004, 0xd0a4, + 0x0580, 0x2061, 0x1353, 0x6100, 0xd184, 0x0178, 0x6888, 0x9084, + 0x00ff, 0x1550, 0x6000, 0xd084, 0x0520, 0x6004, 0x9005, 0x1538, + 0x6003, 0x0000, 0x600b, 0x0000, 0x00c8, 0x2011, 0x0001, 0x6890, + 0x9005, 0x1110, 0x2001, 0x001e, 0x8000, 0x6016, 0x6888, 0x9084, + 0x00ff, 0x0178, 0x6006, 0x6888, 0x8007, 0x9084, 0x00ff, 0x0148, + 0x600a, 0x6888, 0x8000, 0x1108, 0xc28d, 0x6202, 0x012e, 0x0804, + 0x6b0d, 0x012e, 0x0804, 0x6b07, 0x012e, 0x0804, 0x6b01, 0x012e, + 0x0804, 0x6b04, 0x0126, 0x2091, 0x8000, 0x7007, 0x0001, 0x2001, + 0x1153, 0x2004, 0xd0a4, 0x05e0, 0x2061, 0x1353, 0x6000, 0xd084, + 0x05b8, 0x6204, 0x6308, 0xd08c, 0x1530, 0x6c78, 0x9484, 0x0003, + 0x0170, 0x6988, 0x918c, 0x00ff, 0x8001, 0x1120, 0x2100, 0x9210, + 0x0620, 0x0028, 0x8001, 0x1508, 0x2100, 0x9212, 0x02f0, 0x9484, + 0x000c, 0x0188, 0x6988, 0x810f, 0x918c, 0x00ff, 0x9082, 0x0004, + 0x1120, 0x2100, 0x9318, 0x0288, 0x0030, 0x9082, 0x0004, 0x1168, + 0x2100, 0x931a, 0x0250, 0x6890, 0x9005, 0x0110, 0x8000, 0x6016, + 0x6206, 0x630a, 0x012e, 0x0804, 0x6b0d, 0x012e, 0x0804, 0x6b0a, + 0x012e, 0x0804, 0x6b07, 0x0126, 0x2091, 0x8000, 0x7007, 0x0001, + 0x2061, 0x1353, 0x6300, 0xd38c, 0x1120, 0x6308, 0x8318, 0x0220, + 0x630a, 0x012e, 0x0804, 0x6b1b, 0x012e, 0x0804, 0x6b0a, 0x0126, + 0x00c6, 0x2091, 0x8000, 0x7007, 0x0001, 0x687c, 0xd0ac, 0x0148, + 0x00c6, 0x2061, 0x1353, 0x6000, 0x9084, 0xfcff, 0x6002, 0x00ce, + 0x0448, 0x6888, 0x9005, 0x05d0, 0x688c, 0x9065, 0x0598, 0x2001, + 0x1132, 0x2004, 0x9005, 0x0118, 0x080c, 0x8e79, 0x0068, 0x6017, + 0x0400, 0x605b, 0x0000, 0x697c, 0xd1a4, 0x0110, 0x6980, 0x615a, + 0x2009, 0x0041, 0x080c, 0x8ebf, 0x6988, 0x918c, 0xff00, 0x9186, + 0x2000, 0x1140, 0x0026, 0x2009, 0x0000, 0x2011, 0xfdff, 0x080c, + 0x7391, 0x002e, 0x687c, 0xd0c4, 0x0148, 0x2061, 0x1353, 0x6000, + 0xd08c, 0x1120, 0x6008, 0x8000, 0x0208, 0x600a, 0x00ce, 0x012e, + 0x0804, 0x6b0d, 0x00ce, 0x012e, 0x0804, 0x6b07, 0x6984, 0x9186, + 0x002e, 0x0d40, 0x9186, 0x002d, 0x0d28, 0x9186, 0x0045, 0x0528, + 0x9186, 0x002a, 0x1130, 0x2001, 0x110c, 0x200c, 0xc194, 0x2102, + 0x08c8, 0x9186, 0x0020, 0x0170, 0x9186, 0x0029, 0x1d18, 0x6974, + 0x918c, 0xff00, 0x810f, 0x080c, 0x560e, 0x1960, 0x6000, 0xc0e4, + 0x6002, 0x0840, 0x688c, 0x9065, 0x09a8, 0x6007, 0x0024, 0x2001, + 0x12c0, 0x2004, 0x601a, 0x0804, 0x69a2, 0x688c, 0x9065, 0x0950, + 0x00e6, 0x6890, 0x9075, 0x2001, 0x1132, 0x2004, 0x9005, 0x0150, + 0x080c, 0x8e79, 0x8eff, 0x0118, 0x2e60, 0x080c, 0x8e79, 0x00ee, + 0x0804, 0x69a2, 0x6024, 0xc0dc, 0xc0d5, 0x6026, 0x2e60, 0x6007, + 0x003a, 0x68a0, 0x9005, 0x0130, 0x6007, 0x003b, 0x68a4, 0x602e, + 0x68a8, 0x6016, 0x6003, 0x0001, 0x080c, 0x7571, 0x080c, 0x7a7b, + 0x00ee, 0x0804, 0x69a2, 0x2061, 0x1353, 0x6000, 0xd084, 0x0190, + 0xd08c, 0x1904, 0x6b1b, 0x0126, 0x2091, 0x8000, 0x6204, 0x8210, + 0x0220, 0x6206, 0x012e, 0x0804, 0x6b1b, 0x012e, 0x6883, 0x0016, + 0x0804, 0x6b14, 0x6883, 0x0007, 0x0804, 0x6b14, 0x6864, 0x8007, + 0x9084, 0x00ff, 0x0130, 0x8001, 0x1138, 0x7007, 0x0001, 0x0069, + 0x0005, 0x080c, 0x66d7, 0x0040, 0x7007, 0x0003, 0x7012, 0x2d00, + 0x7016, 0x701a, 0x704b, 0x6a45, 0x0005, 0x00e6, 0x0126, 0x2091, + 0x8000, 0x903e, 0x2061, 0x1100, 0x61c8, 0x81ff, 0x1904, 0x6ac7, + 0x6130, 0xd194, 0x1904, 0x6af1, 0x6878, 0x2070, 0x9e82, 0x15c0, + 0x0a04, 0x6abb, 0x6060, 0x9e02, 0x1a04, 0x6abb, 0x7120, 0x9186, + 0x0006, 0x1904, 0x6aaa, 0x7010, 0x9005, 0x0904, 0x6ac7, 0x2004, + 0xd0e4, 0x1904, 0x6aec, 0x2061, 0x1353, 0x6100, 0x9184, 0x0301, + 0x9086, 0x0001, 0x1590, 0x7024, 0xd0dc, 0x1904, 0x6af4, 0x6883, + 0x0000, 0x6803, 0x0000, 0x2d08, 0x7014, 0x9005, 0x1198, 0x7116, + 0x687c, 0xd0f4, 0x1904, 0x6af7, 0x2001, 0x1153, 0x2004, 0xd09c, + 0x1118, 0x687c, 0xc0cc, 0x687e, 0x2e60, 0x080c, 0x72be, 0x012e, + 0x00ee, 0x0005, 0x2068, 0x6800, 0x9005, 0x1de0, 0x6902, 0x2168, + 0x687c, 0xd0f4, 0x1904, 0x6af7, 0x012e, 0x00ee, 0x0005, 0x012e, + 0x00ee, 0x6883, 0x0006, 0x0804, 0x6b14, 0xd184, 0x0dc0, 0xd1c4, + 0x11a8, 0x00b8, 0x6974, 0x918c, 0xff00, 0x810f, 0x080c, 0x560e, + 0x15d8, 0x6000, 0xd0e4, 0x15c0, 0x7120, 0x9186, 0x0007, 0x1118, + 0x6883, 0x0002, 0x0498, 0x6883, 0x0008, 0x0480, 0x6883, 0x000e, + 0x0468, 0x6883, 0x0017, 0x0450, 0x6883, 0x0035, 0x0438, 0x2001, + 0x1172, 0x2004, 0xd0fc, 0x01e8, 0x6878, 0x2070, 0x9e82, 0x15c0, + 0x02c0, 0x6060, 0x9e02, 0x12a8, 0x7120, 0x9186, 0x0006, 0x1188, + 0x7010, 0x9005, 0x0170, 0x2004, 0xd0bc, 0x0158, 0x2039, 0x0001, + 0x7000, 0x9086, 0x0007, 0x1904, 0x6a50, 0x7003, 0x0002, 0x0804, + 0x6a50, 0x6883, 0x0028, 0x0010, 0x6883, 0x0029, 0x012e, 0x00ee, + 0x0418, 0x6883, 0x002a, 0x0cd0, 0x6883, 0x0045, 0x0cb8, 0x2e60, + 0x2019, 0x0002, 0x601b, 0x0014, 0x080c, 0xbc28, 0x012e, 0x00ee, + 0x0005, 0x2009, 0x003e, 0x0058, 0x2009, 0x0004, 0x0040, 0x2009, + 0x0006, 0x0028, 0x2009, 0x0016, 0x0010, 0x2009, 0x0001, 0x6884, + 0x9084, 0xff00, 0x9105, 0x6886, 0x0126, 0x2091, 0x8000, 0x080c, + 0x5b7a, 0x012e, 0x0005, 0x080c, 0x0e82, 0x0005, 0x00d6, 0x080c, + 0x72b5, 0x00de, 0x0005, 0x00d6, 0x00e6, 0x0126, 0x2091, 0x8000, + 0x2071, 0x0040, 0x702c, 0xd084, 0x01f0, 0x908c, 0x0780, 0x11f8, + 0xd09c, 0x11c8, 0x2071, 0x1100, 0x70b8, 0x90ea, 0x0010, 0x0298, + 0x8001, 0x70ba, 0x702c, 0x2068, 0x2d04, 0x702e, 0x206b, 0x0000, + 0x6807, 0x0000, 0x2071, 0x0040, 0x8d07, 0x8005, 0x8005, 0xc0d5, + 0x7022, 0x702c, 0x0c10, 0x012e, 0x00ee, 0x00de, 0x0005, 0x2011, + 0x8003, 0x080c, 0x3ecb, 0x0cf8, 0x0006, 0x9084, 0x0780, 0x0128, + 0x2011, 0x8003, 0x080c, 0x3ecb, 0x0cf8, 0x000e, 0x0005, 0x00d6, + 0x00c6, 0x0036, 0x0026, 0x0016, 0x7007, 0x0001, 0x6a74, 0x9282, + 0x0004, 0x1a04, 0x6baa, 0x697c, 0x9188, 0x1000, 0x2104, 0x9065, + 0x6004, 0xd284, 0x0140, 0x05e0, 0x8007, 0x9084, 0x00ff, 0x9084, + 0x0006, 0x1108, 0x04a8, 0x2c10, 0x080c, 0x8df3, 0x1118, 0x080c, + 0x8e92, 0x05a0, 0x6212, 0x6874, 0x0002, 0x6b89, 0x6b8e, 0x6b91, + 0x6b97, 0x2019, 0x0002, 0x080c, 0xbfd0, 0x0060, 0x080c, 0xbf67, + 0x0048, 0x2019, 0x0002, 0x6980, 0x080c, 0xbf82, 0x0018, 0x6980, + 0x080c, 0xbf67, 0x080c, 0x8e49, 0x6887, 0x0000, 0x0126, 0x2091, + 0x8000, 0x080c, 0x5b7a, 0x012e, 0x001e, 0x002e, 0x003e, 0x00ce, + 0x00de, 0x0005, 0x6887, 0x0006, 0x0c88, 0x6887, 0x0002, 0x0c70, + 0x6887, 0x0005, 0x0c58, 0x6887, 0x0004, 0x0c40, 0x6887, 0x0007, + 0x0c28, 0x0005, 0x2011, 0x8003, 0x080c, 0x3ecb, 0x0cf8, 0x0005, + 0x0005, 0x00f6, 0x2079, 0x0300, 0x2001, 0x0200, 0x200c, 0xc1e5, + 0xc1dc, 0x2102, 0x2009, 0x0218, 0x210c, 0xd1ec, 0x1120, 0x080c, + 0x1259, 0x00fe, 0x0005, 0x2001, 0x020d, 0x2003, 0x0020, 0x2001, + 0x0307, 0x2003, 0x0300, 0x00fe, 0x0005, 0x781c, 0xd08c, 0x05d8, + 0x7d44, 0x7c40, 0x9584, 0x00f6, 0x1508, 0x9484, 0x7000, 0x0138, + 0x908a, 0x2000, 0x1258, 0x9584, 0x0700, 0x8007, 0x0498, 0x7000, + 0x9084, 0xff00, 0x9086, 0x8100, 0x0db0, 0x00b0, 0x9484, 0x0fff, + 0x1130, 0x7000, 0x9084, 0xff00, 0x9086, 0x8100, 0x11b0, 0x080c, + 0xc342, 0x080c, 0x7084, 0x7817, 0x0140, 0x0098, 0x9584, 0x0076, + 0x1118, 0x080c, 0x70e2, 0x19c8, 0xd5a4, 0x0138, 0x0046, 0x0056, + 0x080c, 0x1a2d, 0x005e, 0x004e, 0x0020, 0x080c, 0xc342, 0x7817, + 0x0140, 0x080c, 0x6c5d, 0x2001, 0x130c, 0x2004, 0x9005, 0x090c, + 0x7a7b, 0x0005, 0x0002, 0x6c34, 0x6e96, 0x6c2b, 0x6c2b, 0x6c2b, + 0x6c2b, 0x6c2b, 0x6c2b, 0x7817, 0x0140, 0x2001, 0x130c, 0x2004, + 0x9005, 0x090c, 0x7a7b, 0x0005, 0x7000, 0x908c, 0xff00, 0x9194, + 0xf000, 0x810f, 0x9484, 0x0fff, 0x688a, 0x9286, 0x2000, 0x1148, + 0x6800, 0x9086, 0x0001, 0x1118, 0x080c, 0x481a, 0x0068, 0x0451, + 0x0058, 0x9286, 0x3000, 0x1118, 0x080c, 0x6de0, 0x0028, 0x9286, + 0x8000, 0x1110, 0x080c, 0x6fae, 0x7817, 0x0140, 0x2001, 0x130c, + 0x2004, 0x9005, 0x090c, 0x7a7b, 0x0005, 0x2001, 0x110f, 0x2004, + 0xd08c, 0x0178, 0x2001, 0x1100, 0x2004, 0x9086, 0x0003, 0x1148, + 0x0026, 0x0036, 0x2011, 0x8048, 0x2518, 0x080c, 0x3ecb, 0x003e, + 0x002e, 0x0005, 0x00c6, 0x7010, 0x9084, 0xff00, 0x8007, 0x9096, + 0x0001, 0x0120, 0x9096, 0x0023, 0x1904, 0x6dda, 0x9186, 0x0023, + 0x1550, 0x080c, 0x7047, 0x0904, 0x6dda, 0x7124, 0x610a, 0x7030, + 0x908e, 0x0200, 0x1130, 0x2009, 0x0015, 0x080c, 0x8ebf, 0x0804, + 0x6dda, 0x908e, 0x0214, 0x0118, 0x908e, 0x0210, 0x1130, 0x2009, + 0x0015, 0x080c, 0x8ebf, 0x0804, 0x6dda, 0x908e, 0x0100, 0x1904, + 0x6dda, 0x7034, 0x9005, 0x1904, 0x6dda, 0x2009, 0x0016, 0x080c, + 0x8ebf, 0x0804, 0x6dda, 0x9186, 0x0022, 0x1904, 0x6dda, 0x7030, + 0x908e, 0x0300, 0x1580, 0x68d4, 0xd0a4, 0x0528, 0xc0b5, 0x68d6, + 0x7100, 0x918c, 0x00ff, 0x6976, 0x7004, 0x687a, 0x00f6, 0x2079, + 0x0100, 0x79e6, 0x78ea, 0x0006, 0x9084, 0x00ff, 0x0016, 0x2008, + 0x080c, 0x1f18, 0x7932, 0x7936, 0x001e, 0x000e, 0x00fe, 0x080c, + 0x1eee, 0x6956, 0x703c, 0x00e6, 0x2071, 0x0140, 0x7086, 0x2071, + 0x1100, 0x70aa, 0x00ee, 0x7034, 0x9005, 0x1904, 0x6dda, 0x2009, + 0x0017, 0x0804, 0x6d99, 0x908e, 0x0400, 0x1158, 0x7034, 0x9005, + 0x1904, 0x6dda, 0x68d4, 0xc0a5, 0x68d6, 0x2009, 0x0030, 0x0804, + 0x6d99, 0x908e, 0x0500, 0x1140, 0x7034, 0x9005, 0x1904, 0x6dda, + 0x2009, 0x0018, 0x0804, 0x6d99, 0x908e, 0x2010, 0x1120, 0x2009, + 0x0019, 0x0804, 0x6d99, 0x908e, 0x2110, 0x1120, 0x2009, 0x001a, + 0x0804, 0x6d99, 0x908e, 0x5200, 0x1140, 0x7034, 0x9005, 0x1904, + 0x6dda, 0x2009, 0x001b, 0x0804, 0x6d99, 0x908e, 0x5000, 0x1140, + 0x7034, 0x9005, 0x1904, 0x6dda, 0x2009, 0x001c, 0x0804, 0x6d99, + 0x908e, 0x1300, 0x1120, 0x2009, 0x0034, 0x0804, 0x6d99, 0x908e, + 0x1200, 0x1140, 0x7034, 0x9005, 0x1904, 0x6dda, 0x2009, 0x0024, + 0x0804, 0x6d99, 0x908c, 0xff00, 0x918e, 0x2400, 0x1120, 0x2009, + 0x002d, 0x0804, 0x6d99, 0x908c, 0xff00, 0x918e, 0x5300, 0x1120, + 0x2009, 0x002a, 0x0804, 0x6d99, 0x908e, 0x0f00, 0x1120, 0x2009, + 0x0020, 0x0804, 0x6d99, 0x908e, 0x5300, 0x1108, 0x00d8, 0x908e, + 0x6104, 0x11c0, 0x2011, 0x026d, 0x8208, 0x2204, 0x9082, 0x0004, + 0x8004, 0x8004, 0x20a8, 0x2011, 0x8015, 0x211c, 0x8108, 0x0046, + 0x2124, 0x080c, 0x3ecb, 0x004e, 0x8108, 0x1f04, 0x6d5b, 0x2009, + 0x0023, 0x0478, 0x908e, 0x6000, 0x1118, 0x2009, 0x003f, 0x0448, + 0x908e, 0x7800, 0x1118, 0x2009, 0x0045, 0x0418, 0x908e, 0x1000, + 0x1118, 0x2009, 0x004e, 0x00e8, 0x908e, 0x6300, 0x1118, 0x2009, + 0x004a, 0x00b8, 0x908c, 0xff00, 0x918e, 0x5600, 0x1118, 0x2009, + 0x004f, 0x0078, 0x908c, 0xff00, 0x918e, 0x5700, 0x1118, 0x2009, + 0x0050, 0x0038, 0x2009, 0x001d, 0x6834, 0xd0d4, 0x0110, 0x2009, + 0x004c, 0x0016, 0x2011, 0x0263, 0x2204, 0x8211, 0x220c, 0x080c, + 0x1eee, 0x15d0, 0x080c, 0x55b9, 0x15b8, 0x6612, 0x6516, 0x86ff, + 0x01e8, 0x001e, 0x0016, 0x9186, 0x0017, 0x1158, 0x6874, 0x9606, + 0x11a8, 0x6878, 0x9506, 0x9084, 0xff00, 0x1180, 0x6000, 0xc0f5, + 0x6002, 0x9186, 0x0046, 0x1150, 0x6874, 0x9606, 0x1138, 0x6878, + 0x9506, 0x9084, 0xff00, 0x1110, 0x001e, 0x00a0, 0x00c6, 0x080c, + 0x8df3, 0x01a0, 0x001e, 0x6112, 0x6023, 0x0004, 0x7120, 0x610a, + 0x001e, 0x9186, 0x004c, 0x1110, 0x6023, 0x000a, 0x0016, 0x001e, + 0x080c, 0x8ebf, 0x00ce, 0x0005, 0x001e, 0x0ce0, 0x00ce, 0x0ce0, + 0x080c, 0x295f, 0x1140, 0x7010, 0x9084, 0xff00, 0x8007, 0x908e, + 0x0008, 0x1108, 0x0009, 0x0005, 0x00c6, 0x0046, 0x7000, 0x908c, + 0xff00, 0x810f, 0x9186, 0x0033, 0x11e8, 0x080c, 0x7047, 0x0904, + 0x6e3d, 0x7124, 0x610a, 0x7030, 0x908e, 0x0200, 0x1140, 0x7034, + 0x9005, 0x15d8, 0x2009, 0x0015, 0x080c, 0x8ebf, 0x04b0, 0x908e, + 0x0100, 0x1598, 0x7034, 0x9005, 0x1580, 0x2009, 0x0016, 0x080c, + 0x8ebf, 0x0458, 0x9186, 0x0032, 0x1540, 0x7030, 0x908e, 0x1400, + 0x1520, 0x2009, 0x0038, 0x0016, 0x2011, 0x0263, 0x2204, 0x8211, + 0x220c, 0x080c, 0x1eee, 0x11c0, 0x080c, 0x55b9, 0x11a8, 0x6612, + 0x6516, 0x00c6, 0x080c, 0x8df3, 0x0170, 0x001e, 0x6112, 0x080c, + 0xac70, 0x6023, 0x0004, 0x7120, 0x610a, 0x001e, 0x080c, 0x8ebf, + 0x080c, 0x7a7b, 0x0010, 0x00ce, 0x001e, 0x004e, 0x00ce, 0x0005, + 0x0046, 0x00e6, 0x00d6, 0x2028, 0x2130, 0x9696, 0x00ff, 0x11b0, + 0x9592, 0xfffc, 0x0298, 0x9596, 0xfffd, 0x1120, 0x2009, 0x007f, + 0x0804, 0x6e91, 0x9596, 0xfffe, 0x1118, 0x2009, 0x007e, 0x04c8, + 0x9596, 0xfffc, 0x1118, 0x2009, 0x0080, 0x0498, 0x2011, 0x0000, + 0x2019, 0x1135, 0x231c, 0xd3ac, 0x0138, 0x2021, 0x0000, 0x20a9, + 0x00ff, 0x2071, 0x1000, 0x0030, 0x2021, 0x0081, 0x20a9, 0x007e, + 0x2071, 0x1081, 0x2e1c, 0x93ed, 0x0000, 0x1128, 0x82ff, 0x1170, + 0x2410, 0xc2fd, 0x0058, 0x6f10, 0x2600, 0x9706, 0x6814, 0x1120, + 0x9546, 0x1110, 0x2408, 0x0068, 0x9745, 0x0d80, 0x8420, 0x8e70, + 0x1f04, 0x6e72, 0x82ff, 0x1118, 0x9085, 0x0001, 0x0018, 0xc2fc, + 0x2208, 0x9006, 0x00de, 0x00ee, 0x004e, 0x0005, 0x7000, 0x908c, + 0xff00, 0x810f, 0x9184, 0x000f, 0x004a, 0x7817, 0x0140, 0x2001, + 0x130c, 0x2004, 0x9005, 0x090c, 0x7a7b, 0x0005, 0x6eb6, 0x6eb6, + 0x6eb6, 0x7059, 0x6eb6, 0x6ebf, 0x6eec, 0x6f81, 0x6eb6, 0x6eb6, + 0x6eb6, 0x6eb6, 0x6eb6, 0x6eb6, 0x6eb6, 0x6eb6, 0x7817, 0x0140, + 0x2001, 0x130c, 0x2004, 0x9005, 0x090c, 0x7a7b, 0x0005, 0x7110, + 0xd1bc, 0x0508, 0x7120, 0x2160, 0x9c8c, 0x0007, 0x11e0, 0x9c8a, + 0x15c0, 0x02c8, 0x6860, 0x9c02, 0x12b0, 0x7008, 0x9084, 0x00ff, + 0x6110, 0x9188, 0x0004, 0x210c, 0x9106, 0x1168, 0x700c, 0x6110, + 0x9188, 0x0005, 0x210c, 0x9106, 0x1130, 0x7124, 0x610a, 0x2009, + 0x0046, 0x080c, 0x8ebf, 0x7817, 0x0140, 0x2001, 0x130c, 0x2004, + 0x9005, 0x090c, 0x7a7b, 0x0005, 0x00c6, 0x9484, 0x0fff, 0x0904, + 0x6f57, 0x7110, 0xd1bc, 0x1904, 0x6f57, 0x7108, 0x700c, 0x2028, + 0x918c, 0x00ff, 0x2130, 0x9094, 0xff00, 0x15e8, 0x81ff, 0x15d8, + 0x9080, 0x2964, 0x200d, 0x918c, 0xff00, 0x810f, 0x2001, 0x0080, + 0x9106, 0x0904, 0x6f57, 0x080c, 0x55b9, 0x1904, 0x6f57, 0x6612, + 0x6516, 0x6000, 0xd0ec, 0x1904, 0x6f57, 0x6204, 0x9294, 0xff00, + 0x8217, 0x9286, 0x0006, 0x1190, 0x00c6, 0x080c, 0x8df3, 0x001e, + 0x0904, 0x6f61, 0x6112, 0x6023, 0x0006, 0x7120, 0x610a, 0x7130, + 0x6156, 0x2009, 0x0044, 0x080c, 0x8ebf, 0x0448, 0x080c, 0x62c5, + 0x1170, 0x6204, 0x9294, 0x00ff, 0x9286, 0x0006, 0x1140, 0x9295, + 0x0600, 0x6206, 0x0c08, 0x190c, 0x6e40, 0x11c8, 0x0860, 0x00c6, + 0x080c, 0x8df3, 0x001e, 0x0198, 0x6112, 0x6023, 0x0004, 0x7120, + 0x610a, 0x9286, 0x0004, 0x1118, 0x6007, 0x0005, 0x0010, 0x6007, + 0x0001, 0x6003, 0x0001, 0x080c, 0x75c1, 0x080c, 0x7a7b, 0x7817, + 0x0140, 0x2001, 0x130c, 0x2004, 0x9005, 0x090c, 0x7a7b, 0x00ce, + 0x0005, 0x2001, 0x110d, 0x2004, 0xd0ec, 0x0120, 0x2011, 0x8049, + 0x080c, 0x3ecb, 0x00c6, 0x080c, 0x8e92, 0x001e, 0x0d40, 0x6112, + 0x6023, 0x0006, 0x7120, 0x610a, 0x7130, 0x6156, 0x6017, 0x0300, + 0x6003, 0x0001, 0x6007, 0x0041, 0x080c, 0x7571, 0x080c, 0x7a7b, + 0x08b0, 0x7110, 0xd1bc, 0x0508, 0x7020, 0x2060, 0x9c84, 0x0007, + 0x11e0, 0x9c82, 0x15c0, 0x02c8, 0x6860, 0x9c02, 0x12b0, 0x7008, + 0x9084, 0x00ff, 0x6110, 0x9188, 0x0004, 0x210c, 0x9106, 0x1168, + 0x700c, 0x6110, 0x9188, 0x0005, 0x210c, 0x9106, 0x1130, 0x7124, + 0x610a, 0x2009, 0x0045, 0x080c, 0x8ebf, 0x7817, 0x0140, 0x2001, + 0x130c, 0x2004, 0x9005, 0x090c, 0x7a7b, 0x0005, 0x080c, 0x295f, + 0x1168, 0x7010, 0x9084, 0xff00, 0x8007, 0x9086, 0x0000, 0x1130, + 0x9184, 0x000f, 0x908a, 0x0006, 0x1208, 0x000b, 0x0005, 0x6fc5, + 0x6fc6, 0x6fc5, 0x6fc5, 0x702f, 0x703b, 0x0005, 0x7110, 0xd1bc, + 0x0120, 0x702c, 0xd084, 0x0904, 0x702e, 0x700c, 0x7108, 0x080c, + 0x1eee, 0x1904, 0x702e, 0x080c, 0x55b9, 0x1904, 0x702e, 0x6612, + 0x6516, 0x6204, 0x7110, 0xd1bc, 0x01f8, 0x928c, 0x00ff, 0x9186, + 0x0004, 0x0118, 0x9186, 0x0006, 0x15c8, 0x00c6, 0x080c, 0x7047, + 0x00ce, 0x0904, 0x702e, 0x00c6, 0x080c, 0x8df3, 0x001e, 0x05f0, + 0x6112, 0x080c, 0xac70, 0x6023, 0x0002, 0x7120, 0x610a, 0x2009, + 0x0088, 0x080c, 0x8ebf, 0x0490, 0x928c, 0x00ff, 0x9186, 0x0006, + 0x0160, 0x9186, 0x0004, 0x0148, 0x9294, 0xff00, 0x8217, 0x9286, + 0x0004, 0x0118, 0x9286, 0x0006, 0x1188, 0x00c6, 0x080c, 0x8df3, + 0x001e, 0x01e0, 0x6112, 0x080c, 0xac70, 0x6023, 0x0005, 0x7120, + 0x610a, 0x2009, 0x0088, 0x080c, 0x8ebf, 0x0080, 0x00c6, 0x080c, + 0x8df3, 0x001e, 0x0158, 0x6112, 0x080c, 0xac70, 0x6023, 0x0004, + 0x7120, 0x610a, 0x2009, 0x0001, 0x080c, 0x8ebf, 0x0005, 0x7110, + 0xd1bc, 0x0140, 0x00a1, 0x0130, 0x7124, 0x610a, 0x2009, 0x0089, + 0x080c, 0x8ebf, 0x0005, 0x7110, 0xd1bc, 0x0140, 0x0041, 0x0130, + 0x7124, 0x610a, 0x2009, 0x008a, 0x080c, 0x8ebf, 0x0005, 0x7020, + 0x2060, 0x9c84, 0x0007, 0x1158, 0x9c82, 0x15c0, 0x0240, 0x2001, + 0x1118, 0x2004, 0x9c02, 0x1218, 0x9085, 0x0001, 0x0005, 0x9006, + 0x0ce8, 0x7110, 0xd1bc, 0x11f8, 0x7024, 0x2060, 0x9c84, 0x0007, + 0x11d0, 0x9c82, 0x15c0, 0x02b8, 0x6860, 0x9c02, 0x12a0, 0x7008, + 0x9084, 0x00ff, 0x6110, 0x9188, 0x0004, 0x210c, 0x9106, 0x1158, + 0x700c, 0x6110, 0x9188, 0x0005, 0x210c, 0x9106, 0x1120, 0x2009, + 0x0051, 0x080c, 0x8ebf, 0x7817, 0x0140, 0x2001, 0x130c, 0x2004, + 0x9005, 0x090c, 0x7a7b, 0x0005, 0x2031, 0x0105, 0x0069, 0x0005, + 0x2031, 0x0206, 0x0049, 0x0005, 0x2031, 0x0207, 0x0029, 0x0005, + 0x2031, 0x0213, 0x0009, 0x0005, 0x00c6, 0x00d6, 0x00f6, 0x7000, + 0x9084, 0xf000, 0x9086, 0xc000, 0x05d0, 0x080c, 0x8df3, 0x05b8, + 0x0066, 0x00c6, 0x0046, 0x2011, 0x0263, 0x2204, 0x8211, 0x220c, + 0x080c, 0x1eee, 0x15a0, 0x080c, 0x55b9, 0x1588, 0x6612, 0x6516, + 0x2c00, 0x004e, 0x00ce, 0x6012, 0x080c, 0xac70, 0x080c, 0x0e69, + 0x0510, 0x2d00, 0x605a, 0x6803, 0x0000, 0x6867, 0x0000, 0x6c6a, + 0x9df8, 0x001b, 0x20a9, 0x000e, 0x20e9, 0x0001, 0x20e1, 0x0000, + 0x2fa0, 0x2e98, 0x4003, 0x006e, 0x6616, 0x6007, 0x003e, 0x6023, + 0x0001, 0x6003, 0x0001, 0x080c, 0x75c1, 0x080c, 0x7a7b, 0x00fe, + 0x00de, 0x00ce, 0x0005, 0x080c, 0x8e49, 0x006e, 0x0cc0, 0x004e, + 0x00ce, 0x0cc8, 0x00c6, 0x7000, 0x908c, 0xff00, 0x9184, 0xf000, + 0x810f, 0x9086, 0x2000, 0x1548, 0x9186, 0x0022, 0x11d8, 0x2001, + 0x0111, 0x2004, 0x9005, 0x1518, 0x7030, 0x908e, 0x0400, 0x01f8, + 0x908e, 0x6000, 0x01e0, 0x908e, 0x5400, 0x01c8, 0x908e, 0x0300, + 0x1140, 0x2009, 0x1135, 0x210c, 0xd184, 0x0118, 0x080c, 0x62c5, + 0x0170, 0x0058, 0x9186, 0x0023, 0x1140, 0x080c, 0x7047, 0x0128, + 0x6004, 0x9086, 0x0002, 0x0118, 0x0000, 0x9006, 0x0010, 0x9085, + 0x0001, 0x00ce, 0x0005, 0x2071, 0x1316, 0x7003, 0x0003, 0x700f, + 0x0361, 0x9006, 0x701a, 0x7072, 0x7012, 0x7017, 0x15c0, 0x7007, + 0x0000, 0x7026, 0x702b, 0x8586, 0x7032, 0x7037, 0x85e6, 0x703b, + 0xffff, 0x703f, 0xffff, 0x7042, 0x7047, 0x46f5, 0x704a, 0x705b, + 0x7271, 0x2001, 0x12aa, 0x2003, 0x0003, 0x2001, 0x12ac, 0x2003, + 0x0100, 0x0005, 0x2071, 0x1316, 0x1d04, 0x71d1, 0x2091, 0x6000, + 0x700c, 0x8001, 0x700e, 0x1500, 0x2001, 0x1174, 0x2004, 0xd0c4, + 0x0158, 0x3a00, 0xd08c, 0x0140, 0x20d1, 0x0000, 0x20d1, 0x0001, + 0x20d1, 0x0000, 0x080c, 0x0d4e, 0x700f, 0x0361, 0x7007, 0x0001, + 0x0126, 0x2091, 0x8000, 0x7040, 0x900d, 0x0148, 0x8109, 0x7142, + 0x1130, 0x7044, 0x080f, 0x0018, 0x0126, 0x2091, 0x8000, 0x7024, + 0x900d, 0x0188, 0x7020, 0x8001, 0x7022, 0x1168, 0x7023, 0x0009, + 0x8109, 0x7126, 0x9186, 0x03e8, 0x1110, 0x7028, 0x080f, 0x81ff, + 0x1110, 0x7028, 0x080f, 0x7030, 0x900d, 0x0180, 0x702c, 0x8001, + 0x702e, 0x1160, 0x702f, 0x0009, 0x8109, 0x7132, 0x0128, 0x9184, + 0x007f, 0x090c, 0x862b, 0x0010, 0x7034, 0x080f, 0x7038, 0x9005, + 0x0118, 0x0310, 0x8001, 0x703a, 0x703c, 0x9005, 0x0118, 0x0310, + 0x8001, 0x703e, 0x704c, 0x900d, 0x0168, 0x7048, 0x8001, 0x704a, + 0x1148, 0x704b, 0x0009, 0x8109, 0x714e, 0x1120, 0x7150, 0x714e, + 0x7058, 0x080f, 0x7018, 0x900d, 0x01d8, 0x0016, 0x7070, 0x900d, + 0x0158, 0x706c, 0x8001, 0x706e, 0x1138, 0x706f, 0x0009, 0x8109, + 0x7172, 0x1110, 0x7074, 0x080f, 0x001e, 0x7008, 0x8001, 0x700a, + 0x1138, 0x700b, 0x0009, 0x8109, 0x711a, 0x1110, 0x701c, 0x080f, + 0x012e, 0x7004, 0x0002, 0x71f7, 0x71f8, 0x7210, 0x00e6, 0x2071, + 0x1316, 0x7018, 0x9005, 0x1120, 0x711a, 0x721e, 0x700b, 0x0009, + 0x00ee, 0x0005, 0x00e6, 0x0006, 0x2071, 0x1316, 0x701c, 0x9206, + 0x1110, 0x701a, 0x701e, 0x000e, 0x00ee, 0x0005, 0x00e6, 0x2071, + 0x1316, 0x6088, 0x9102, 0x0208, 0x618a, 0x00ee, 0x0005, 0x0005, + 0x7110, 0x080c, 0x560e, 0x1158, 0x6088, 0x8001, 0x0240, 0x608a, + 0x1130, 0x0126, 0x2091, 0x8000, 0x080c, 0x7a7b, 0x012e, 0x8108, + 0x9182, 0x00ff, 0x0218, 0x900e, 0x7007, 0x0002, 0x7112, 0x0005, + 0x7014, 0x2060, 0x0126, 0x2091, 0x8000, 0x6040, 0x9005, 0x0128, + 0x8001, 0x6042, 0x1110, 0x080c, 0xab2a, 0x6018, 0x9005, 0x0500, + 0x8001, 0x601a, 0x11e8, 0x6120, 0x9186, 0x0003, 0x0118, 0x9186, + 0x0006, 0x11a0, 0x6014, 0x2068, 0x6884, 0x908a, 0x199a, 0x0270, + 0x9082, 0x1999, 0x6886, 0x908a, 0x199a, 0x0210, 0x2001, 0x1999, + 0x8003, 0x800b, 0x810b, 0x9108, 0x611a, 0x0010, 0x080c, 0xa5ca, + 0x012e, 0x9c88, 0x0018, 0x7116, 0x2001, 0x45c0, 0x9102, 0x0220, + 0x7017, 0x15c0, 0x7007, 0x0000, 0x0005, 0x00e6, 0x2071, 0x1316, + 0x7027, 0x07d0, 0x7023, 0x0009, 0x00ee, 0x0005, 0x2001, 0x131f, + 0x2003, 0x0000, 0x0005, 0x00e6, 0x2071, 0x1316, 0x7132, 0x702f, + 0x0009, 0x00ee, 0x0005, 0x2011, 0x1322, 0x2013, 0x0000, 0x0005, + 0x00e6, 0x2071, 0x1316, 0x711a, 0x721e, 0x700b, 0x0009, 0x00ee, + 0x0005, 0x00c6, 0x0026, 0x7054, 0x8000, 0x7056, 0x2061, 0x12aa, + 0x6008, 0x9086, 0x0000, 0x0158, 0x7068, 0x6036, 0x7064, 0x6032, + 0x7060, 0x602e, 0x705c, 0x602a, 0x2c10, 0x080c, 0x0ee1, 0x002e, + 0x00ce, 0x0005, 0x0006, 0x0016, 0x00c6, 0x00d6, 0x00e6, 0x00f6, + 0x0156, 0x080c, 0x7142, 0x015e, 0x00fe, 0x00ee, 0x00de, 0x00ce, + 0x001e, 0x000e, 0x0005, 0x00e6, 0x2071, 0x1316, 0x7172, 0x7276, + 0x706f, 0x0009, 0x00ee, 0x0005, 0x00e6, 0x0006, 0x2071, 0x1316, + 0x7074, 0x9206, 0x1110, 0x7072, 0x7076, 0x000e, 0x00ee, 0x0005, + 0x00c6, 0x2061, 0x1353, 0x00ce, 0x0005, 0x9184, 0x000f, 0x8003, + 0x8003, 0x8003, 0x9080, 0x1353, 0x2060, 0x0005, 0x6884, 0x908a, + 0x199a, 0x1630, 0x9005, 0x1150, 0x00c6, 0x2061, 0x1353, 0x6014, + 0x00ce, 0x9005, 0x1130, 0x2001, 0x001e, 0x0018, 0x908e, 0xffff, + 0x01a8, 0x8003, 0x800b, 0x810b, 0x9108, 0x611a, 0x687c, 0x908c, + 0x00c0, 0x918e, 0x00c0, 0x0904, 0x733e, 0xd0b4, 0x1160, 0xd0bc, + 0x15e0, 0x2009, 0x0006, 0x080c, 0x7368, 0x0005, 0x900e, 0x0c68, + 0x2001, 0x1999, 0x08b8, 0xd0fc, 0x0160, 0x908c, 0x0003, 0x0120, + 0x918e, 0x0003, 0x1904, 0x7362, 0x908c, 0x2020, 0x918e, 0x2020, + 0x01a8, 0x6024, 0xd0d4, 0x11d0, 0x2009, 0x1174, 0x2104, 0xd084, + 0x1138, 0x87ff, 0x1120, 0x2009, 0x0043, 0x0804, 0x8ebf, 0x0005, + 0x87ff, 0x1de8, 0x2009, 0x0042, 0x0804, 0x8ebf, 0x6110, 0x210c, + 0xd1ac, 0x0d38, 0x6024, 0xc0cd, 0x6026, 0x0c18, 0xc0d4, 0x6026, + 0x6890, 0x602e, 0x688c, 0x6032, 0x08f8, 0xd0fc, 0x0158, 0x908c, + 0x0003, 0x0118, 0x918e, 0x0003, 0x15e8, 0x908c, 0x2020, 0x918e, + 0x2020, 0x0160, 0x00f6, 0x2c78, 0x080c, 0x132d, 0x00fe, 0x87ff, + 0x1120, 0x2009, 0x0042, 0x080c, 0x8ebf, 0x0005, 0x6110, 0x210c, + 0xd1ac, 0x0d80, 0x6124, 0xc1cd, 0x6126, 0x0c60, 0xd0fc, 0x0188, + 0x908c, 0x2020, 0x918e, 0x2020, 0x01a8, 0x9084, 0x0003, 0x908e, + 0x0002, 0x0148, 0x87ff, 0x1120, 0x2009, 0x0041, 0x080c, 0x8ebf, + 0x0005, 0x00a1, 0x0ce8, 0x87ff, 0x1dd8, 0x2009, 0x0043, 0x080c, + 0x8ebf, 0x0cb0, 0x6110, 0x210c, 0xd1ac, 0x0d38, 0x6124, 0xc1cd, + 0x6126, 0x0c18, 0x2009, 0x0004, 0x0019, 0x0005, 0x2009, 0x0001, + 0x00d6, 0x6014, 0x90ec, 0xf000, 0x0510, 0x2068, 0x6982, 0x6800, + 0x6016, 0x9186, 0x0001, 0x1188, 0x697c, 0x918c, 0x8100, 0x918e, + 0x8100, 0x1158, 0x00c6, 0x2061, 0x1353, 0x6200, 0xd28c, 0x1120, + 0x6204, 0x8210, 0x0208, 0x6206, 0x00ce, 0x080c, 0x59c2, 0x6014, + 0x906d, 0x0076, 0x2039, 0x0000, 0x190c, 0x72be, 0x007e, 0x00de, + 0x0005, 0x0156, 0x00c6, 0x2061, 0x1353, 0x6000, 0x81ff, 0x0110, + 0x9205, 0x0008, 0x9204, 0x6002, 0x00ce, 0x015e, 0x0005, 0x6800, + 0xd08c, 0x1138, 0x6808, 0x9005, 0x0120, 0x8001, 0x680a, 0x9085, + 0x0001, 0x0005, 0x0126, 0x2091, 0x8000, 0x0036, 0x0046, 0x20a9, + 0x0010, 0x9006, 0x8004, 0x2019, 0x0100, 0x231c, 0x93a6, 0x0008, + 0x1118, 0x8086, 0x818e, 0x0020, 0x80f6, 0x3e00, 0x81f6, 0x3e08, + 0x1208, 0x9200, 0x1f04, 0x73b3, 0x93a6, 0x0008, 0x1118, 0x8086, + 0x818e, 0x0020, 0x80f6, 0x3e00, 0x81f6, 0x3e08, 0x004e, 0x003e, + 0x012e, 0x0005, 0x0126, 0x2091, 0x8000, 0x0076, 0x0156, 0x20a9, + 0x0010, 0x9005, 0x0510, 0x911a, 0x1600, 0x8213, 0x2039, 0x0100, + 0x273c, 0x97be, 0x0008, 0x1110, 0x818d, 0x0010, 0x81f5, 0x3e08, + 0x0228, 0x911a, 0x1220, 0x1f04, 0x73dd, 0x0028, 0x911a, 0x2308, + 0x8210, 0x1f04, 0x73dd, 0x0006, 0x3200, 0x9084, 0xefff, 0x2080, + 0x000e, 0x015e, 0x007e, 0x012e, 0x0005, 0x0006, 0x3200, 0x9085, + 0x1000, 0x0ca8, 0x0126, 0x2091, 0x2800, 0x2079, 0x1303, 0x012e, + 0x00d6, 0x2069, 0x1303, 0x6803, 0x0005, 0x0156, 0x0146, 0x01d6, + 0x20e9, 0x0000, 0x2069, 0x0200, 0x080c, 0x8d3c, 0x20a9, 0x0020, + 0x20a1, 0x0240, 0x9006, 0x4004, 0x080c, 0x8d27, 0x20a9, 0x0020, + 0x20a1, 0x0240, 0x9006, 0x4004, 0x080c, 0x8d2a, 0x20a9, 0x0020, + 0x20a1, 0x0240, 0x9006, 0x4004, 0x080c, 0x8d2d, 0x20a9, 0x0020, + 0x20a1, 0x0240, 0x9006, 0x4004, 0x080c, 0x8d30, 0x20a9, 0x0020, + 0x20a1, 0x0240, 0x9006, 0x4004, 0x080c, 0x8d33, 0x20a9, 0x0020, + 0x20a1, 0x0240, 0x9006, 0x4004, 0x080c, 0x8d36, 0x20a9, 0x0020, + 0x20a1, 0x0240, 0x9006, 0x4004, 0x080c, 0x8d39, 0x20a9, 0x0020, + 0x20a1, 0x0240, 0x9006, 0x4004, 0x01de, 0x014e, 0x015e, 0x2069, + 0x0004, 0x2d04, 0x9085, 0x8001, 0x206a, 0x00de, 0x0005, 0x00c6, + 0x6027, 0x0001, 0x7804, 0x9084, 0x0007, 0x0002, 0x7470, 0x7494, + 0x74de, 0x7476, 0x7494, 0x7470, 0x746e, 0x746e, 0x080c, 0x0d4e, + 0x080c, 0x7256, 0x080c, 0x7a7b, 0x00ce, 0x0005, 0x62c0, 0x82ff, + 0x1110, 0x00ce, 0x0005, 0x2011, 0x4f44, 0x080c, 0x71e2, 0x7828, + 0x9092, 0x00c8, 0x1228, 0x8000, 0x782a, 0x080c, 0x4f7e, 0x0c88, + 0x62c0, 0x080c, 0x8d40, 0x080c, 0x4f44, 0x7807, 0x0003, 0x7827, + 0x0000, 0x782b, 0x0000, 0x0c28, 0x080c, 0x7256, 0x6220, 0xd2a4, + 0x0178, 0x62c0, 0x82ff, 0x1160, 0x782b, 0x0000, 0x7824, 0x9065, + 0x090c, 0x0d4e, 0x2009, 0x0013, 0x080c, 0x8ebf, 0x00ce, 0x0005, + 0x00c6, 0x7824, 0x9065, 0x090c, 0x0d4e, 0x7804, 0x9086, 0x0004, + 0x0904, 0x751a, 0x7828, 0x9092, 0xc350, 0x1230, 0x8000, 0x782a, + 0x00ce, 0x080c, 0x854c, 0x0c50, 0x2011, 0x0130, 0x2214, 0x080c, + 0x8d40, 0x6104, 0x9186, 0x0003, 0x1188, 0x00e6, 0x2071, 0x1100, + 0x70e0, 0x00ee, 0xd08c, 0x0150, 0x00c6, 0x00e6, 0x2061, 0x0100, + 0x2071, 0x1100, 0x080c, 0x4f94, 0x00ee, 0x00ce, 0x080c, 0xc3a7, + 0x2009, 0x0014, 0x080c, 0x8ebf, 0x00ce, 0x0840, 0x2001, 0x131f, + 0x2003, 0x0000, 0x62c0, 0x82ff, 0x1160, 0x782b, 0x0000, 0x7824, + 0x9065, 0x090c, 0x0d4e, 0x2009, 0x0013, 0x080c, 0x8f17, 0x00ce, + 0x0005, 0x00c6, 0x00d6, 0x7824, 0x9005, 0x090c, 0x0d4e, 0x781c, + 0x906d, 0x090c, 0x0d4e, 0x080c, 0x8d40, 0x6800, 0xc0dc, 0x6802, + 0x7924, 0x2160, 0x080c, 0x8e49, 0x693c, 0x81ff, 0x090c, 0x0d4e, + 0x8109, 0x693e, 0x6854, 0x9015, 0x0110, 0x7a1e, 0x0010, 0x7918, + 0x791e, 0x7807, 0x0000, 0x7827, 0x0000, 0x00de, 0x00ce, 0x080c, + 0x7a7b, 0x08a8, 0x6104, 0x9186, 0x0002, 0x0128, 0x9186, 0x0004, + 0x0110, 0x0804, 0x74b2, 0x7808, 0x9c06, 0x0904, 0x74b2, 0x080c, + 0x797f, 0x080c, 0x75c1, 0x00ce, 0x080c, 0x7a7b, 0x0804, 0x74a6, + 0x00c6, 0x6024, 0x6027, 0x0002, 0xd0f4, 0x1580, 0x62c8, 0x60c4, + 0x9205, 0x1170, 0x783c, 0x9065, 0x0130, 0x2009, 0x0049, 0x080c, + 0x8ebf, 0x00ce, 0x0005, 0x2011, 0x1322, 0x2013, 0x0000, 0x0cc8, + 0x793c, 0x81ff, 0x0dc0, 0x7944, 0x9192, 0x7530, 0x12f0, 0x8108, + 0x7946, 0x793c, 0x9188, 0x0008, 0x210c, 0x918e, 0x0006, 0x1138, + 0x6014, 0x9084, 0x1984, 0x9085, 0x0012, 0x6016, 0x0c10, 0x6014, + 0x9084, 0x1984, 0x9085, 0x0016, 0x6016, 0x08d8, 0x793c, 0x2160, + 0x2009, 0x004a, 0x080c, 0x8ebf, 0x08a0, 0x7848, 0xc085, 0x784a, + 0x0880, 0x0006, 0x0016, 0x00c6, 0x0126, 0x2091, 0x8000, 0x600f, + 0x0000, 0x2c08, 0x2061, 0x1303, 0x6020, 0x8000, 0x6022, 0x6010, + 0x9005, 0x0148, 0x9080, 0x0003, 0x2102, 0x6112, 0x012e, 0x00ce, + 0x001e, 0x000e, 0x0005, 0x6116, 0x6112, 0x0cc0, 0x00d6, 0x2069, + 0x1303, 0x6000, 0xd0d4, 0x01b8, 0x6820, 0x8000, 0x6822, 0x9086, + 0x0001, 0x1110, 0x2c00, 0x681e, 0x2001, 0x110c, 0x2004, 0xd0fc, + 0x0118, 0x00de, 0x0804, 0x7a7b, 0x6804, 0x9084, 0x0007, 0x0804, + 0x7a92, 0x00de, 0x0005, 0xc0d5, 0x6002, 0x6818, 0x9005, 0x0158, + 0x6056, 0x605b, 0x0000, 0x0006, 0x2c00, 0x681a, 0x00de, 0x685a, + 0x2069, 0x1303, 0x08c8, 0x6056, 0x605a, 0x2c00, 0x681a, 0x681e, + 0x0898, 0x0006, 0x0016, 0x00c6, 0x0126, 0x2091, 0x8000, 0x600f, + 0x0000, 0x2c08, 0x2061, 0x1303, 0x6020, 0x8000, 0x6022, 0x6008, + 0x9005, 0x0148, 0x9080, 0x0003, 0x2102, 0x610a, 0x012e, 0x00ce, + 0x001e, 0x000e, 0x0005, 0x610e, 0x610a, 0x0cc0, 0x00c6, 0x600f, + 0x0000, 0x2c08, 0x2061, 0x1303, 0x6034, 0x9005, 0x0130, 0x9080, + 0x0003, 0x2102, 0x6136, 0x00ce, 0x0005, 0x613a, 0x6136, 0x00ce, + 0x0005, 0x00f6, 0x00e6, 0x00d6, 0x00c6, 0x0076, 0x0066, 0x0056, + 0x0036, 0x0026, 0x0016, 0x0006, 0x0126, 0x902e, 0x2071, 0x1303, + 0x7638, 0x2660, 0x2678, 0x2091, 0x8000, 0x8cff, 0x0904, 0x766a, + 0x6010, 0x9080, 0x0028, 0x2004, 0x9206, 0x1904, 0x7665, 0x87ff, + 0x0120, 0x6054, 0x9106, 0x1904, 0x7665, 0x703c, 0x9c06, 0x1190, + 0x0036, 0x2019, 0x0001, 0x080c, 0x87ca, 0x7033, 0x0000, 0x703f, + 0x0000, 0x7043, 0x0000, 0x7047, 0x0000, 0x704b, 0x0000, 0x003e, + 0x2029, 0x0001, 0x7038, 0x9c36, 0x1110, 0x660c, 0x763a, 0x7034, + 0x9c36, 0x1140, 0x2c00, 0x9f36, 0x0118, 0x2f00, 0x7036, 0x0010, + 0x7037, 0x0000, 0x660c, 0x0066, 0x2c00, 0x9f06, 0x0110, 0x7e0e, + 0x0008, 0x2678, 0x600f, 0x0000, 0x080c, 0xa853, 0x01c8, 0x6014, + 0x2068, 0x6020, 0x9086, 0x0003, 0x1580, 0x6867, 0x0103, 0x6b7a, + 0x6877, 0x0000, 0x0016, 0x0036, 0x0076, 0x080c, 0xab13, 0x080c, + 0xc2e3, 0x080c, 0x5b7a, 0x007e, 0x003e, 0x001e, 0x080c, 0xaa23, + 0x080c, 0x8e79, 0x00ce, 0x0804, 0x7605, 0x2c78, 0x600c, 0x2060, + 0x0804, 0x7605, 0x85ff, 0x0120, 0x0036, 0x080c, 0x7b49, 0x003e, + 0x012e, 0x000e, 0x001e, 0x002e, 0x003e, 0x005e, 0x006e, 0x007e, + 0x00ce, 0x00de, 0x00ee, 0x00fe, 0x0005, 0x6020, 0x9086, 0x0006, + 0x1158, 0x0016, 0x0036, 0x0076, 0x080c, 0xc2e3, 0x080c, 0xc004, + 0x007e, 0x003e, 0x001e, 0x08a0, 0x6020, 0x9086, 0x000a, 0x0904, + 0x764f, 0x0804, 0x764d, 0x0006, 0x0066, 0x00c6, 0x00d6, 0x00f6, + 0x2031, 0x0000, 0x0126, 0x2091, 0x8000, 0x2079, 0x1303, 0x7838, + 0x9065, 0x0568, 0x600c, 0x0006, 0x600f, 0x0000, 0x783c, 0x9c06, + 0x1180, 0x0036, 0x2019, 0x0001, 0x080c, 0x87ca, 0x7833, 0x0000, + 0x783f, 0x0000, 0x7843, 0x0000, 0x7847, 0x0000, 0x784b, 0x0000, + 0x003e, 0x080c, 0xa853, 0x0178, 0x6014, 0x2068, 0x6020, 0x9086, + 0x0003, 0x11b0, 0x6867, 0x0103, 0x6b7a, 0x6877, 0x0000, 0x080c, + 0x5b7a, 0x080c, 0xaa23, 0x080c, 0x8e79, 0x000e, 0x0888, 0x7e3a, + 0x7e36, 0x012e, 0x00fe, 0x00de, 0x00ce, 0x006e, 0x000e, 0x0005, + 0x6020, 0x9086, 0x0006, 0x1118, 0x080c, 0xc004, 0x0c60, 0x6020, + 0x9086, 0x000a, 0x0d08, 0x08f0, 0x0016, 0x0026, 0x0086, 0x2041, + 0x0000, 0x0099, 0x080c, 0x77b2, 0x008e, 0x002e, 0x001e, 0x0005, + 0x00f6, 0x0126, 0x2079, 0x1303, 0x2091, 0x8000, 0x080c, 0x783f, + 0x080c, 0x78b1, 0x012e, 0x00fe, 0x0005, 0x00f6, 0x00e6, 0x00d6, + 0x00c6, 0x0066, 0x0016, 0x0006, 0x0126, 0x2091, 0x8000, 0x2071, + 0x1303, 0x7614, 0x2660, 0x2678, 0x8cff, 0x0904, 0x7788, 0x6010, + 0x9080, 0x0028, 0x2004, 0x9206, 0x1904, 0x7783, 0x88ff, 0x0120, + 0x6054, 0x9106, 0x1904, 0x7783, 0x7024, 0x9c06, 0x1538, 0x2069, + 0x0100, 0x68c0, 0x9005, 0x01f0, 0x080c, 0x7256, 0x080c, 0x8570, + 0x68c3, 0x0000, 0x080c, 0x89f7, 0x7027, 0x0000, 0x0036, 0x2069, + 0x0140, 0x6b04, 0x9384, 0x1000, 0x0120, 0x6803, 0x0100, 0x6803, + 0x0000, 0x2069, 0x0100, 0x6824, 0xd084, 0x0110, 0x6827, 0x0001, + 0x003e, 0x0020, 0x6003, 0x0009, 0x630a, 0x04e8, 0x7014, 0x9c36, + 0x1110, 0x660c, 0x7616, 0x7010, 0x9c36, 0x1140, 0x2c00, 0x9f36, + 0x0118, 0x2f00, 0x7012, 0x0010, 0x7013, 0x0000, 0x660c, 0x0066, + 0x2c00, 0x9f06, 0x0110, 0x7e0e, 0x0008, 0x2678, 0x600f, 0x0000, + 0x6014, 0x2068, 0x080c, 0xa853, 0x01b8, 0x6020, 0x9086, 0x0003, + 0x1540, 0x6867, 0x0103, 0x6b7a, 0x6877, 0x0000, 0x0016, 0x0036, + 0x0086, 0x080c, 0xab13, 0x080c, 0xc2e3, 0x080c, 0x5b7a, 0x008e, + 0x003e, 0x001e, 0x080c, 0xaa23, 0x080c, 0x8e79, 0x080c, 0x88d7, + 0x00ce, 0x0804, 0x770c, 0x2c78, 0x600c, 0x2060, 0x0804, 0x770c, + 0x012e, 0x000e, 0x001e, 0x006e, 0x00ce, 0x00de, 0x00ee, 0x00fe, + 0x0005, 0x6020, 0x9086, 0x0006, 0x1158, 0x0016, 0x0036, 0x0086, + 0x080c, 0xc2e3, 0x080c, 0xc004, 0x008e, 0x003e, 0x001e, 0x08e0, + 0x6020, 0x9086, 0x0002, 0x1128, 0x6004, 0x9086, 0x0085, 0x0908, + 0x0898, 0x6020, 0x9086, 0x0005, 0x1978, 0x6004, 0x9086, 0x0085, + 0x0d20, 0x0850, 0x00c6, 0x0006, 0x0126, 0x2091, 0x8000, 0x9280, + 0x1000, 0x2004, 0x9065, 0x0904, 0x783b, 0x00f6, 0x00e6, 0x00d6, + 0x0066, 0x2071, 0x1303, 0x6654, 0x7018, 0x9c06, 0x1108, 0x761a, + 0x701c, 0x9c06, 0x1130, 0x86ff, 0x1118, 0x7018, 0x701e, 0x0008, + 0x761e, 0x6058, 0x907d, 0x0108, 0x7e56, 0x96ed, 0x0000, 0x0110, + 0x2f00, 0x685a, 0x6057, 0x0000, 0x605b, 0x0000, 0x6000, 0xc0d4, + 0xc0dc, 0x6002, 0x080c, 0x554d, 0x0904, 0x7837, 0x7624, 0x86ff, + 0x05e8, 0x9680, 0x0005, 0x2004, 0x9d06, 0x15c0, 0x00d6, 0x2069, + 0x0100, 0x68c0, 0x9005, 0x0548, 0x080c, 0x7256, 0x080c, 0x8570, + 0x68c3, 0x0000, 0x080c, 0x89f7, 0x7027, 0x0000, 0x0036, 0x2069, + 0x0140, 0x6b04, 0x9384, 0x1000, 0x0120, 0x6803, 0x0100, 0x6803, + 0x0000, 0x2069, 0x0100, 0x6824, 0xd084, 0x0110, 0x6827, 0x0001, + 0x003e, 0x00de, 0x00c6, 0x603c, 0x9005, 0x0110, 0x8001, 0x603e, + 0x2660, 0x080c, 0x8e79, 0x00ce, 0x0048, 0x00de, 0x00c6, 0x2660, + 0x6003, 0x0009, 0x630a, 0x00ce, 0x0804, 0x77e2, 0x8dff, 0x0158, + 0x6867, 0x0103, 0x6b7a, 0x6877, 0x0000, 0x080c, 0xab13, 0x080c, + 0xc2e3, 0x080c, 0x5b7a, 0x080c, 0x88d7, 0x0804, 0x77e2, 0x006e, + 0x00de, 0x00ee, 0x00fe, 0x012e, 0x000e, 0x00ce, 0x0005, 0x0006, + 0x0066, 0x00c6, 0x00d6, 0x2031, 0x0000, 0x7814, 0x9065, 0x0904, + 0x7891, 0x600c, 0x0006, 0x600f, 0x0000, 0x7824, 0x9c06, 0x1540, + 0x2069, 0x0100, 0x68c0, 0x9005, 0x01f0, 0x080c, 0x7256, 0x080c, + 0x8570, 0x68c3, 0x0000, 0x080c, 0x89f7, 0x7827, 0x0000, 0x0036, + 0x2069, 0x0140, 0x6b04, 0x9384, 0x1000, 0x0120, 0x6803, 0x0100, + 0x6803, 0x0000, 0x2069, 0x0100, 0x6824, 0xd084, 0x0110, 0x6827, + 0x0001, 0x003e, 0x0028, 0x6003, 0x0009, 0x630a, 0x2c30, 0x00b0, + 0x6014, 0x2068, 0x080c, 0xa853, 0x0168, 0x6020, 0x9086, 0x0003, + 0x11b8, 0x6867, 0x0103, 0x6b7a, 0x6877, 0x0000, 0x080c, 0x5b7a, + 0x080c, 0xaa23, 0x080c, 0x8e79, 0x080c, 0x88d7, 0x000e, 0x0804, + 0x7846, 0x7e16, 0x7e12, 0x00de, 0x00ce, 0x006e, 0x000e, 0x0005, + 0x6020, 0x9086, 0x0006, 0x1118, 0x080c, 0xc004, 0x0c58, 0x6020, + 0x9086, 0x0002, 0x1128, 0x6004, 0x9086, 0x0085, 0x09d0, 0x0c10, + 0x6020, 0x9086, 0x0005, 0x19f0, 0x6004, 0x9086, 0x0085, 0x0d60, + 0x08c8, 0x0006, 0x0066, 0x00c6, 0x00d6, 0x7818, 0x9065, 0x0904, + 0x7917, 0x6054, 0x0006, 0x6057, 0x0000, 0x605b, 0x0000, 0x6000, + 0xc0d4, 0xc0dc, 0x6002, 0x080c, 0x554d, 0x0904, 0x7914, 0x7e24, + 0x86ff, 0x05e8, 0x9680, 0x0005, 0x2004, 0x9d06, 0x15c0, 0x00d6, + 0x2069, 0x0100, 0x68c0, 0x9005, 0x0548, 0x080c, 0x7256, 0x080c, + 0x8570, 0x68c3, 0x0000, 0x080c, 0x89f7, 0x7827, 0x0000, 0x0036, + 0x2069, 0x0140, 0x6b04, 0x9384, 0x1000, 0x0120, 0x6803, 0x0100, + 0x6803, 0x0000, 0x2069, 0x0100, 0x6824, 0xd084, 0x0110, 0x6827, + 0x0001, 0x003e, 0x00de, 0x00c6, 0x603c, 0x9005, 0x0110, 0x8001, + 0x603e, 0x2660, 0x080c, 0x8e79, 0x00ce, 0x0048, 0x00de, 0x00c6, + 0x2660, 0x6003, 0x0009, 0x630a, 0x00ce, 0x0804, 0x78c3, 0x8dff, + 0x0138, 0x6867, 0x0103, 0x6b7a, 0x6877, 0x0000, 0x080c, 0x5b7a, + 0x080c, 0x88d7, 0x0804, 0x78c3, 0x000e, 0x0804, 0x78b6, 0x781e, + 0x781a, 0x00de, 0x00ce, 0x006e, 0x000e, 0x0005, 0x00e6, 0x00d6, + 0x0066, 0x6000, 0xd0dc, 0x01a0, 0x604c, 0x906d, 0x0188, 0x6878, + 0x9606, 0x1170, 0x2071, 0x1303, 0x7024, 0x9035, 0x0148, 0x9080, + 0x0005, 0x2004, 0x9d06, 0x1120, 0x6000, 0xc0dc, 0x6002, 0x0021, + 0x006e, 0x00de, 0x00ee, 0x0005, 0x00f6, 0x2079, 0x0100, 0x78c0, + 0x9005, 0x1138, 0x00c6, 0x2660, 0x6003, 0x0009, 0x630a, 0x00ce, + 0x04a0, 0x080c, 0x8570, 0x78c3, 0x0000, 0x080c, 0x89f7, 0x7027, + 0x0000, 0x0036, 0x2079, 0x0140, 0x7b04, 0x9384, 0x1000, 0x0120, + 0x7803, 0x0100, 0x7803, 0x0000, 0x2079, 0x0100, 0x7824, 0xd084, + 0x0110, 0x7827, 0x0001, 0x080c, 0x89f7, 0x003e, 0x080c, 0x554d, + 0x00c6, 0x603c, 0x9005, 0x0110, 0x8001, 0x603e, 0x2660, 0x080c, + 0x8e49, 0x00ce, 0x6867, 0x0103, 0x6b7a, 0x6877, 0x0000, 0x080c, + 0xab13, 0x080c, 0x5b7a, 0x080c, 0x88d7, 0x00fe, 0x0005, 0x00e6, + 0x00c6, 0x2001, 0x110c, 0x2014, 0xc2e4, 0x2202, 0x2071, 0x1303, + 0x7004, 0x9084, 0x0007, 0x0002, 0x7996, 0x7999, 0x79af, 0x79d7, + 0x7a14, 0x7996, 0x7994, 0x7994, 0x080c, 0x0d4e, 0x00ce, 0x00ee, + 0x0005, 0x7024, 0x9065, 0x0148, 0x7020, 0x8001, 0x7022, 0x600c, + 0x9015, 0x0150, 0x7216, 0x600f, 0x0000, 0x7007, 0x0000, 0x7027, + 0x0000, 0x00ce, 0x00ee, 0x0005, 0x7216, 0x7212, 0x0cb0, 0x6010, + 0x2060, 0x080c, 0x554d, 0x6000, 0xc0dc, 0x6002, 0x7007, 0x0000, + 0x7027, 0x0000, 0x7020, 0x8001, 0x7022, 0x1140, 0x2001, 0x110c, + 0x2014, 0xd2ec, 0x1178, 0x00ce, 0x00ee, 0x0005, 0x6054, 0x9015, + 0x0120, 0x721e, 0x080c, 0x7a7b, 0x0cb0, 0x7218, 0x721e, 0x080c, + 0x7a7b, 0x0c88, 0xc2ec, 0x2202, 0x080c, 0x7b49, 0x0c60, 0x7024, + 0x9065, 0x05b8, 0x700c, 0x9c06, 0x1160, 0x080c, 0x88d7, 0x600c, + 0x9015, 0x0120, 0x720e, 0x600f, 0x0000, 0x0448, 0x720e, 0x720a, + 0x0430, 0x7014, 0x9c06, 0x1160, 0x080c, 0x88d7, 0x600c, 0x9015, + 0x0120, 0x7216, 0x600f, 0x0000, 0x00d0, 0x7216, 0x7212, 0x00b8, + 0x6020, 0x9086, 0x0003, 0x1198, 0x6010, 0x2060, 0x080c, 0x554d, + 0x6000, 0xc0dc, 0x6002, 0x080c, 0x88d7, 0x701c, 0x9065, 0x0138, + 0x6054, 0x9015, 0x0110, 0x721e, 0x0010, 0x7218, 0x721e, 0x7027, + 0x0000, 0x00ce, 0x00ee, 0x0005, 0x7024, 0x9065, 0x0140, 0x080c, + 0x88d7, 0x600c, 0x9015, 0x0150, 0x720e, 0x600f, 0x0000, 0x080c, + 0x89f7, 0x7027, 0x0000, 0x00ce, 0x00ee, 0x0005, 0x720e, 0x720a, + 0x0cb0, 0x00d6, 0x2069, 0x1303, 0x6830, 0x9084, 0x0003, 0x0002, + 0x7a36, 0x7a38, 0x7a5c, 0x7a34, 0x080c, 0x0d4e, 0x00de, 0x0005, + 0x00c6, 0x6840, 0x9086, 0x0001, 0x01b8, 0x683c, 0x9065, 0x0130, + 0x600c, 0x9015, 0x0170, 0x6a3a, 0x600f, 0x0000, 0x6833, 0x0000, + 0x683f, 0x0000, 0x2011, 0x1322, 0x2013, 0x0000, 0x00ce, 0x00de, + 0x0005, 0x683a, 0x6836, 0x0c90, 0x6843, 0x0000, 0x6838, 0x9065, + 0x0d68, 0x6003, 0x0003, 0x0c50, 0x00c6, 0x6843, 0x0000, 0x6847, + 0x0000, 0x684b, 0x0000, 0x683c, 0x9065, 0x0168, 0x600c, 0x9015, + 0x0130, 0x6a3a, 0x600f, 0x0000, 0x683f, 0x0000, 0x0020, 0x683f, + 0x0000, 0x683a, 0x6836, 0x00ce, 0x00de, 0x0005, 0xc1e5, 0x2001, + 0x110c, 0x2102, 0x0005, 0x2001, 0x110c, 0x200c, 0xd1ec, 0x0138, + 0xc1ec, 0x2102, 0x080c, 0x7b49, 0x2001, 0x110c, 0x200c, 0x9184, + 0x0600, 0x9086, 0x0600, 0x0d50, 0x00d6, 0x2069, 0x1303, 0x6804, + 0x9084, 0x0007, 0x0002, 0x7a9d, 0x7b28, 0x7b28, 0x7b28, 0x7b28, + 0x7b2a, 0x7a9b, 0x7a9b, 0x080c, 0x0d4e, 0x6820, 0x9005, 0x1110, + 0x00de, 0x0005, 0x00c6, 0x680c, 0x9065, 0x0150, 0x6807, 0x0004, + 0x6826, 0x682b, 0x0000, 0x080c, 0x7b8e, 0x00ce, 0x00de, 0x0005, + 0x6814, 0x9065, 0x0150, 0x6807, 0x0001, 0x6826, 0x682b, 0x0000, + 0x080c, 0x7b8e, 0x00ce, 0x00de, 0x0005, 0x00e6, 0x6a1c, 0x92f5, + 0x0000, 0x0904, 0x7b25, 0x704c, 0x900d, 0x0118, 0x7088, 0x9005, + 0x01a0, 0x7054, 0x9075, 0x0120, 0x920e, 0x0904, 0x7b25, 0x0028, + 0x6818, 0x920e, 0x0904, 0x7b25, 0x2070, 0x704c, 0x900d, 0x0d88, + 0x7088, 0x9005, 0x1d70, 0x2e00, 0x681e, 0x733c, 0x7038, 0x9302, + 0x1e40, 0x080c, 0x8e20, 0x0904, 0x7b25, 0x8318, 0x733e, 0x6116, + 0x2e10, 0x6212, 0x9180, 0x0020, 0x2004, 0x9084, 0x00ff, 0x605e, + 0x9180, 0x0020, 0x2003, 0x0000, 0x9180, 0x0021, 0x2004, 0x908a, + 0x199a, 0x0210, 0x2001, 0x1999, 0x8003, 0x801b, 0x831b, 0x9318, + 0x631a, 0x00f6, 0x2c78, 0x2061, 0x0100, 0x609b, 0x0000, 0x00d6, + 0x00e6, 0x2069, 0x0200, 0x2071, 0x0240, 0x080c, 0x8174, 0x00ee, + 0x00de, 0x7300, 0xc3dd, 0x7302, 0x6807, 0x0002, 0x2f18, 0x6b26, + 0x682b, 0x0000, 0x7823, 0x0003, 0x7803, 0x0001, 0x7807, 0x0040, + 0x00fe, 0x00ee, 0x00ce, 0x00de, 0x0005, 0x00ee, 0x00ce, 0x0cd8, + 0x00de, 0x0005, 0x00c6, 0x680c, 0x9065, 0x0138, 0x6807, 0x0004, + 0x6826, 0x682b, 0x0000, 0x080c, 0x7b8e, 0x00ce, 0x00de, 0x0005, + 0x2001, 0x110c, 0x2014, 0xc2ed, 0x2202, 0x00de, 0x00fe, 0x0005, + 0x2001, 0x110c, 0x2014, 0xd2e4, 0x0120, 0xc2e4, 0x2202, 0x080c, + 0x7a8c, 0x00f6, 0x00d6, 0x2069, 0x1303, 0x6830, 0x9086, 0x0000, + 0x11f0, 0x2001, 0x110c, 0x200c, 0xd1c4, 0x11e0, 0x6838, 0x907d, + 0x01b0, 0x6a04, 0x9296, 0x0000, 0x19d8, 0x6833, 0x0001, 0x683e, + 0x6847, 0x0000, 0x684b, 0x0000, 0x0126, 0x00f6, 0x2091, 0x2400, + 0x002e, 0x080c, 0x162b, 0x1178, 0x012e, 0x080c, 0x83ba, 0x00de, + 0x00fe, 0x0005, 0xc1c4, 0x2102, 0x0066, 0x2031, 0x0001, 0x080c, + 0x6356, 0x006e, 0x08d8, 0x012e, 0x6843, 0x0000, 0x7803, 0x0002, + 0x780c, 0x9015, 0x0140, 0x6a3a, 0x780f, 0x0000, 0x6833, 0x0000, + 0x683f, 0x0000, 0x0c20, 0x683a, 0x6836, 0x0cc0, 0x6020, 0x9084, + 0x000f, 0x000b, 0x0005, 0x7ba2, 0x7ba7, 0x8068, 0x8129, 0x7ba7, + 0x8068, 0x8129, 0x7ba2, 0x7ba7, 0x7ba2, 0x7ba2, 0x7ba2, 0x7ba2, + 0x7ba2, 0x7ba2, 0x080c, 0x797f, 0x080c, 0x7a7b, 0x0005, 0x0156, + 0x0136, 0x0146, 0x01c6, 0x01d6, 0x00c6, 0x00d6, 0x00e6, 0x00f6, + 0x2069, 0x0200, 0x2071, 0x0240, 0x6004, 0x908a, 0x0051, 0x1a0c, + 0x0d4e, 0x6110, 0x2178, 0x79a0, 0x2011, 0x1135, 0x2214, 0xd2ac, + 0x1110, 0xd1bc, 0x0150, 0x7900, 0xd1f4, 0x0120, 0x7914, 0x918c, + 0x00ff, 0x0040, 0x2009, 0x0000, 0x0028, 0x91f8, 0x2964, 0x2f0d, + 0x918c, 0x00ff, 0x2c78, 0x2061, 0x0100, 0x619a, 0x908a, 0x0040, + 0x1a04, 0x7c27, 0x0053, 0x00fe, 0x00ee, 0x00de, 0x00ce, 0x01de, + 0x01ce, 0x014e, 0x013e, 0x015e, 0x0005, 0x7d9a, 0x7ddb, 0x7e0a, + 0x7ebd, 0x7ee0, 0x7ee6, 0x7ef4, 0x7efd, 0x7f0a, 0x7f10, 0x7f22, + 0x7f10, 0x7f72, 0x7efd, 0x7f7f, 0x7f85, 0x7f0a, 0x7f85, 0x7f92, + 0x7c25, 0x7c25, 0x7c25, 0x7c25, 0x7c25, 0x7c25, 0x7c25, 0x7c25, + 0x7c25, 0x7c25, 0x7c25, 0x867a, 0x8691, 0x869c, 0x86bd, 0x86ec, + 0x7ef4, 0x7c25, 0x7ef4, 0x7f10, 0x7c25, 0x7e0a, 0x7ebd, 0x7c25, + 0x8adc, 0x7f10, 0x7c25, 0x8af8, 0x7f10, 0x7c25, 0x7f0a, 0x7d93, + 0x7c46, 0x7c25, 0x8b0f, 0x8b7c, 0x8c53, 0x7c25, 0x8c60, 0x7ef1, + 0x8c76, 0x7c25, 0x86f7, 0x8cb0, 0x7c25, 0x080c, 0x0d4e, 0x2100, + 0x0053, 0x00fe, 0x00ee, 0x00de, 0x00ce, 0x01de, 0x01ce, 0x014e, + 0x013e, 0x015e, 0x0005, 0x7c44, 0x7c44, 0x7c44, 0x7c6c, 0x7d10, + 0x7d20, 0x7c44, 0x7c44, 0x7c44, 0x7d65, 0x7d74, 0x7c86, 0x7c44, + 0x7ca0, 0x7cd1, 0x8d60, 0x8da5, 0x080c, 0x0d4e, 0x00d6, 0x080c, + 0x7fa6, 0x7003, 0x2414, 0x7007, 0x0018, 0x700b, 0x0800, 0x7814, + 0x2068, 0x683c, 0x700e, 0x6850, 0x7022, 0x6854, 0x7026, 0x60c3, + 0x0018, 0x080c, 0x8544, 0x00de, 0x0005, 0x00d6, 0x7810, 0x2068, + 0x68a0, 0x2069, 0x1100, 0x6ad4, 0xd2ac, 0x1110, 0xd0bc, 0x0110, + 0x9085, 0x0001, 0x00de, 0x0005, 0x00d6, 0x080c, 0x7fa6, 0x7003, + 0x0500, 0x7814, 0x90e8, 0x001b, 0x6808, 0x700a, 0x680c, 0x700e, + 0x6810, 0x7012, 0x6814, 0x7016, 0x6818, 0x701a, 0x681c, 0x701e, + 0x60c3, 0x0010, 0x080c, 0x8544, 0x00de, 0x0005, 0x00d6, 0x080c, + 0x7fa6, 0x7003, 0x0500, 0x7814, 0x90e8, 0x0031, 0x6808, 0x700a, + 0x680c, 0x700e, 0x6810, 0x7012, 0x6814, 0x7016, 0x6818, 0x701a, + 0x681c, 0x701e, 0x60c3, 0x0010, 0x080c, 0x8544, 0x00de, 0x0005, + 0x00d6, 0x0126, 0x2091, 0x8000, 0x080c, 0x7fa6, 0x20e9, 0x0000, + 0x20e1, 0x0001, 0x2001, 0x12dd, 0x2003, 0x0000, 0x7814, 0x2068, + 0x6814, 0x8003, 0x60c2, 0x6830, 0x20a8, 0x9d80, 0x001b, 0x2098, + 0x2001, 0x12dd, 0x0016, 0x200c, 0x2001, 0x0001, 0x080c, 0x1b0e, + 0x080c, 0xb444, 0x9006, 0x080c, 0x1b0e, 0x001e, 0x6804, 0x9005, + 0x0110, 0x2068, 0x0c40, 0x04b9, 0x080c, 0x8544, 0x012e, 0x00de, + 0x0005, 0x00d6, 0x0126, 0x2091, 0x8000, 0x080c, 0x801c, 0x20e9, + 0x0000, 0x20e1, 0x0001, 0x2001, 0x12dd, 0x2003, 0x0000, 0x7814, + 0x2068, 0x686f, 0x0200, 0x6873, 0x0000, 0x6814, 0x8003, 0x60c2, + 0x6830, 0x20a8, 0x9d80, 0x001b, 0x2098, 0x2001, 0x12dd, 0x0016, + 0x200c, 0x080c, 0xb444, 0x001e, 0x6804, 0x9005, 0x0110, 0x2068, + 0x0c78, 0x0049, 0x7814, 0x2068, 0x080c, 0x0e92, 0x080c, 0x8544, + 0x012e, 0x00de, 0x0005, 0x60c0, 0x8004, 0x9084, 0x0003, 0x9005, + 0x0130, 0x9082, 0x0004, 0x20a3, 0x0000, 0x8000, 0x1de0, 0x0005, + 0x080c, 0x7fa6, 0x7003, 0x7800, 0x7007, 0x0000, 0x7808, 0x8007, + 0x700a, 0x700f, 0x0000, 0x60c3, 0x0008, 0x080c, 0x8544, 0x0005, + 0x00d6, 0x00e6, 0x080c, 0x801c, 0x2073, 0x0200, 0x8e70, 0x2073, + 0x0000, 0x8e70, 0x2073, 0xdf10, 0x8e70, 0x2073, 0x0034, 0x8e70, + 0x2069, 0x1105, 0x20a9, 0x0004, 0x2d76, 0x8d68, 0x8e70, 0x1f04, + 0x7d34, 0x2069, 0x1101, 0x20a9, 0x0004, 0x2d76, 0x8d68, 0x8e70, + 0x1f04, 0x7d3d, 0x2069, 0x12e9, 0x20a9, 0x001a, 0x9e86, 0x0260, + 0x1148, 0x00c6, 0x2061, 0x0200, 0x6010, 0x8000, 0x6012, 0x00ce, + 0x2071, 0x0240, 0x2d04, 0x8007, 0x2072, 0x8d68, 0x8e70, 0x1f04, + 0x7d46, 0x2073, 0x0000, 0x8e70, 0x2073, 0x0000, 0x60c3, 0x004c, + 0x080c, 0x8544, 0x00ee, 0x00de, 0x0005, 0x080c, 0x7fa6, 0x7003, + 0x6300, 0x7007, 0x0028, 0x700b, 0x0000, 0x7808, 0x700e, 0x60c3, + 0x0008, 0x080c, 0x8544, 0x0005, 0x00d6, 0x0026, 0x0016, 0x080c, + 0x801c, 0x7003, 0x0200, 0x7814, 0x700e, 0x00e6, 0x9ef0, 0x0004, + 0x2009, 0x0001, 0x2011, 0x000c, 0x2073, 0x0800, 0x8e70, 0x2073, + 0x0000, 0x00ee, 0x7206, 0x710a, 0x62c2, 0x080c, 0x8544, 0x001e, + 0x002e, 0x00de, 0x0005, 0x2001, 0x1116, 0x2004, 0x609a, 0x080c, + 0x8544, 0x0005, 0x080c, 0x7fa6, 0x7003, 0x5200, 0x2069, 0x1152, + 0x6804, 0xd084, 0x0130, 0x6828, 0x0016, 0x080c, 0x1f02, 0x710e, + 0x001e, 0x20a9, 0x0004, 0x20e1, 0x0001, 0x2099, 0x1105, 0x20e9, + 0x0000, 0x20a1, 0x0250, 0x4003, 0x20a9, 0x0004, 0x2099, 0x1101, + 0x20a1, 0x0254, 0x4003, 0x2001, 0x1135, 0x2004, 0xd0ac, 0x1138, + 0x7810, 0x9080, 0x0028, 0x2004, 0x9082, 0x007f, 0x0248, 0x2001, + 0x111d, 0x2004, 0x7032, 0x2001, 0x111e, 0x2004, 0x7036, 0x0030, + 0x2001, 0x1116, 0x2004, 0x9084, 0x00ff, 0x7036, 0x60c3, 0x001c, + 0x080c, 0x8544, 0x0005, 0x080c, 0x7fa6, 0x7003, 0x0500, 0x2001, + 0x1135, 0x2004, 0xd0ac, 0x1138, 0x7810, 0x9080, 0x0028, 0x2004, + 0x9082, 0x007f, 0x0248, 0x2001, 0x111d, 0x2004, 0x700a, 0x2001, + 0x111e, 0x2004, 0x700e, 0x0030, 0x2001, 0x1116, 0x2004, 0x9084, + 0x00ff, 0x700e, 0x20a9, 0x0004, 0x20e1, 0x0001, 0x2099, 0x1105, + 0x20e9, 0x0000, 0x20a1, 0x0250, 0x4003, 0x60c3, 0x0010, 0x080c, + 0x8544, 0x0005, 0x080c, 0x7fa6, 0x00c6, 0x7810, 0x2060, 0x2001, + 0x0000, 0x080c, 0x58a6, 0x00ce, 0x7810, 0x9080, 0x0028, 0x2004, + 0x9086, 0x007e, 0x1130, 0x7003, 0x0400, 0x620c, 0xc2b4, 0x620e, + 0x0068, 0x7814, 0x00d6, 0x906d, 0x0130, 0x689b, 0x0000, 0x68a7, + 0x0000, 0x68ab, 0x0000, 0x00de, 0x7003, 0x0300, 0x7810, 0x9080, + 0x0028, 0x2004, 0x9086, 0x007e, 0x1904, 0x7e83, 0x00d6, 0x2069, + 0x1297, 0x2001, 0x1135, 0x2004, 0xd0a4, 0x0178, 0x6800, 0x700a, + 0x6808, 0x9084, 0x2000, 0x7012, 0x680c, 0x7016, 0x701f, 0x2710, + 0x6818, 0x7022, 0x681c, 0x7026, 0x0080, 0x6800, 0x700a, 0x6804, + 0x700e, 0x6808, 0x080c, 0x62c5, 0x1118, 0x9084, 0x37ff, 0x0010, + 0x9084, 0x3fff, 0x7012, 0x680c, 0x7016, 0x00de, 0x20a9, 0x0004, + 0x20e1, 0x0001, 0x2099, 0x1105, 0x20e9, 0x0000, 0x20a1, 0x0256, + 0x4003, 0x20a9, 0x0004, 0x2099, 0x1101, 0x20a1, 0x025a, 0x4003, + 0x00d6, 0x080c, 0x8d27, 0x2069, 0x129f, 0x2071, 0x024e, 0x6800, + 0xc0dd, 0x7002, 0x2001, 0x1172, 0x2004, 0xd0e4, 0x0110, 0x680c, + 0x700e, 0x00de, 0x04a8, 0x2001, 0x1135, 0x2004, 0xd0a4, 0x0170, + 0x0016, 0x2001, 0x1298, 0x200c, 0x60e0, 0x9106, 0x0130, 0x2100, + 0x60e3, 0x0000, 0x080c, 0x1f43, 0x61e2, 0x001e, 0x20e1, 0x0001, + 0x2099, 0x1297, 0x20e9, 0x0000, 0x20a1, 0x024e, 0x20a9, 0x0008, + 0x4003, 0x20a9, 0x0004, 0x2099, 0x1105, 0x20a1, 0x0256, 0x4003, + 0x20a9, 0x0004, 0x2099, 0x1101, 0x20a1, 0x025a, 0x4003, 0x080c, + 0x8d27, 0x20a1, 0x024e, 0x20a9, 0x0008, 0x2099, 0x129f, 0x4003, + 0x60c3, 0x0074, 0x080c, 0x8544, 0x0005, 0x080c, 0x7fa6, 0x7003, + 0x2010, 0x7007, 0x0014, 0x700b, 0x0800, 0x700f, 0x2000, 0x9006, + 0x00f6, 0x2079, 0x1152, 0x7904, 0x00fe, 0xd1ac, 0x1110, 0x9085, + 0x0020, 0xd1a4, 0x0110, 0x9085, 0x0010, 0x9085, 0x0002, 0x00d6, + 0x0804, 0x7f56, 0x7026, 0x60c3, 0x0014, 0x080c, 0x8544, 0x0005, + 0x080c, 0x7fa6, 0x7003, 0x5000, 0x0804, 0x7e2e, 0x080c, 0x7fa6, + 0x7003, 0x2110, 0x7007, 0x0014, 0x60c3, 0x0014, 0x080c, 0x8544, + 0x0005, 0x080c, 0x8013, 0x0010, 0x080c, 0x801c, 0x7003, 0x0200, + 0x60c3, 0x0004, 0x080c, 0x8544, 0x0005, 0x080c, 0x801c, 0x7003, + 0x0100, 0x700b, 0x0003, 0x700f, 0x2a00, 0x60c3, 0x0008, 0x080c, + 0x8544, 0x0005, 0x080c, 0x801c, 0x7003, 0x0200, 0x0804, 0x7e2e, + 0x080c, 0x801c, 0x7003, 0x0100, 0x782c, 0x9005, 0x0110, 0x700a, + 0x0010, 0x700b, 0x0003, 0x7814, 0x700e, 0x60c3, 0x0008, 0x080c, + 0x8544, 0x0005, 0x00d6, 0x080c, 0x801c, 0x7003, 0x0210, 0x7007, + 0x0014, 0x700b, 0x0800, 0x7810, 0x2068, 0x6894, 0x9086, 0x0014, + 0x1178, 0x6998, 0x9184, 0xc000, 0x1140, 0xd1ec, 0x0118, 0x700f, + 0x2100, 0x0040, 0x700f, 0x0100, 0x0028, 0x700f, 0x0400, 0x0010, + 0x700f, 0x0700, 0x00f6, 0x2079, 0x1152, 0x7904, 0x00fe, 0xd1ac, + 0x1110, 0x9085, 0x0020, 0xd1a4, 0x0110, 0x9085, 0x0010, 0x2009, + 0x1174, 0x210c, 0xd184, 0x1110, 0x9085, 0x0002, 0x0026, 0x2009, + 0x1172, 0x210c, 0xd1e4, 0x0130, 0xc0c5, 0x9094, 0x0030, 0x9296, + 0x0010, 0x0140, 0xd1ec, 0x0130, 0x9094, 0x0030, 0x9296, 0x0010, + 0x0108, 0xc0bd, 0x002e, 0x7026, 0x60c3, 0x0014, 0x00de, 0x080c, + 0x8544, 0x0005, 0x080c, 0x801c, 0x7003, 0x0210, 0x7007, 0x0014, + 0x700f, 0x0100, 0x60c3, 0x0014, 0x080c, 0x8544, 0x0005, 0x080c, + 0x801c, 0x7003, 0x0200, 0x0804, 0x7d9e, 0x080c, 0x801c, 0x7003, + 0x0100, 0x700b, 0x0003, 0x700f, 0x2a00, 0x60c3, 0x0008, 0x080c, + 0x8544, 0x0005, 0x080c, 0x801c, 0x7003, 0x0100, 0x700b, 0x000b, + 0x60c3, 0x0008, 0x080c, 0x8544, 0x0005, 0x0026, 0x00d6, 0x0036, + 0x0046, 0x2019, 0x3200, 0x2021, 0x0800, 0x0040, 0x0026, 0x00d6, + 0x0036, 0x0046, 0x2019, 0x2200, 0x2021, 0x0100, 0x080c, 0x8d3c, + 0x7810, 0x2068, 0x6810, 0x9305, 0x7002, 0x6814, 0x7006, 0x6aa0, + 0x2069, 0x1100, 0x6858, 0x700e, 0x9286, 0x007e, 0x1168, 0x9385, + 0x00ff, 0x7002, 0x7007, 0xfffe, 0x2001, 0x12a7, 0x2004, 0x9005, + 0x01e8, 0x6a78, 0x720e, 0x00d0, 0x9286, 0x007f, 0x1130, 0x9385, + 0x00ff, 0x7002, 0x7007, 0xfffd, 0x0068, 0x68d4, 0xd0ac, 0x1110, + 0xd2bc, 0x0160, 0x9286, 0x0080, 0x1128, 0x9385, 0x00ff, 0x7002, + 0x7007, 0xfffc, 0x6874, 0x700a, 0x6878, 0x700e, 0x9485, 0x0029, + 0x7012, 0x004e, 0x003e, 0x00de, 0x080c, 0x8533, 0x721a, 0x9f95, + 0x0000, 0x7222, 0x7027, 0xffff, 0x2071, 0x024c, 0x002e, 0x0005, + 0x0026, 0x080c, 0x8d3c, 0x7003, 0x02ff, 0x7007, 0xfffc, 0x00d6, + 0x2069, 0x1100, 0x6874, 0x700a, 0x6878, 0x700e, 0x00de, 0x7013, + 0x2029, 0x0c10, 0x7003, 0x0100, 0x7007, 0x0000, 0x700b, 0xfc02, + 0x700f, 0x0000, 0x0005, 0x0026, 0x00d6, 0x0036, 0x0046, 0x2019, + 0x3300, 0x2021, 0x0800, 0x0040, 0x0026, 0x00d6, 0x0036, 0x0046, + 0x2019, 0x2300, 0x2021, 0x0100, 0x080c, 0x8d3c, 0x7810, 0x2068, + 0x6810, 0x9305, 0x7002, 0x6814, 0x7006, 0x68a0, 0x2069, 0x1100, + 0x6a58, 0x720e, 0x6ad4, 0xd2ac, 0x1118, 0x9092, 0x007e, 0x02a0, + 0x7810, 0x00c6, 0x2060, 0x6010, 0x9005, 0x1140, 0x6014, 0x9005, + 0x1128, 0x700b, 0x00ff, 0x700f, 0xfffe, 0x0020, 0x6874, 0x700a, + 0x6878, 0x700e, 0x00ce, 0x0000, 0x9485, 0x0098, 0x7012, 0x004e, + 0x003e, 0x00de, 0x080c, 0x8533, 0x721a, 0x7a08, 0x7222, 0x2f10, + 0x7226, 0x2071, 0x024c, 0x002e, 0x0005, 0x080c, 0x8533, 0x721a, + 0x7a08, 0x7222, 0x7814, 0x7026, 0x2071, 0x024c, 0x002e, 0x0005, + 0x00c6, 0x00d6, 0x00e6, 0x00f6, 0x2069, 0x0200, 0x2071, 0x0240, + 0x6004, 0x908a, 0x0085, 0x0a0c, 0x0d4e, 0x908a, 0x0092, 0x1a0c, + 0x0d4e, 0x6110, 0x2178, 0x79a0, 0x2011, 0x1135, 0x2214, 0xd2ac, + 0x1110, 0xd1bc, 0x0150, 0x7900, 0xd1f4, 0x0120, 0x7914, 0x918c, + 0x00ff, 0x0040, 0x2009, 0x0000, 0x0028, 0x91f8, 0x2964, 0x2f0d, + 0x918c, 0x00ff, 0x2c78, 0x2061, 0x0100, 0x619a, 0x9082, 0x0085, + 0x002b, 0x00fe, 0x00ee, 0x00de, 0x00ce, 0x0005, 0x80ad, 0x80b3, + 0x80bf, 0x80ab, 0x80ab, 0x80ab, 0x80ad, 0x80ab, 0x80ab, 0x80ab, + 0x80ab, 0x80ab, 0x80ab, 0x080c, 0x0d4e, 0x00e1, 0x60c3, 0x0000, + 0x080c, 0x8544, 0x0005, 0x04a9, 0x7808, 0x700a, 0x7814, 0x700e, + 0x7017, 0xffff, 0x60c3, 0x000c, 0x080c, 0x8544, 0x0005, 0x080c, + 0x8109, 0x7003, 0x0003, 0x7007, 0x0300, 0x60c3, 0x0004, 0x080c, + 0x8544, 0x0005, 0x0026, 0x080c, 0x8d3c, 0x7810, 0x2068, 0x6810, + 0x9085, 0x8100, 0x7002, 0x6814, 0x7006, 0x68a0, 0x2069, 0x1100, + 0x6ad4, 0xd2ac, 0x1118, 0x9092, 0x007e, 0x0240, 0x6874, 0x700a, + 0x6878, 0x700e, 0x7013, 0x0009, 0x0804, 0x7fec, 0x6a58, 0x720e, + 0x0cc8, 0x0026, 0x080c, 0x8d3c, 0x7810, 0x2068, 0x6810, 0x9085, + 0x8400, 0x7002, 0x6814, 0x7006, 0x68a0, 0x2069, 0x1100, 0x6ad4, + 0xd2ac, 0x1118, 0x9092, 0x007e, 0x0248, 0x6874, 0x700a, 0x6878, + 0x700e, 0x2001, 0x0099, 0x7012, 0x0804, 0x805d, 0x6a58, 0x720e, + 0x0cc0, 0x0026, 0x080c, 0x8d3c, 0x7810, 0x2068, 0x6810, 0x9085, + 0x8500, 0x7002, 0x6814, 0x7006, 0x68a0, 0x2069, 0x1100, 0x6ad4, + 0xd2ac, 0x1118, 0x9092, 0x007e, 0x0248, 0x6874, 0x700a, 0x6878, + 0x700e, 0x2001, 0x0099, 0x7012, 0x0804, 0x805d, 0x6a58, 0x720e, + 0x0cc0, 0x00c6, 0x00d6, 0x00e6, 0x00f6, 0x2c78, 0x2069, 0x0200, + 0x2071, 0x0240, 0x7804, 0x908a, 0x0040, 0x0a0c, 0x0d4e, 0x908a, + 0x0054, 0x1a0c, 0x0d4e, 0x7910, 0x2160, 0x61a0, 0x2011, 0x1135, + 0x2214, 0xd2ac, 0x1110, 0xd1bc, 0x0150, 0x6100, 0xd1f4, 0x0120, + 0x6114, 0x918c, 0x00ff, 0x0040, 0x2009, 0x0000, 0x0028, 0x91e0, + 0x2964, 0x2c0d, 0x918c, 0x00ff, 0x2061, 0x0100, 0x619a, 0x9082, + 0x0040, 0x002b, 0x00fe, 0x00ee, 0x00de, 0x00ce, 0x0005, 0x8174, + 0x8232, 0x81f9, 0x835b, 0x8172, 0x8172, 0x8172, 0x8172, 0x8172, + 0x8172, 0x8172, 0x88b3, 0x88bb, 0x88c3, 0x88cb, 0x8172, 0x8c83, + 0x8172, 0x88ab, 0x080c, 0x0d4e, 0x780b, 0xffff, 0x080c, 0x81c7, + 0x7914, 0x2168, 0x6978, 0x7956, 0x7132, 0x697c, 0x9184, 0x000f, + 0x1118, 0x2001, 0x0005, 0x0040, 0xd184, 0x0118, 0x2001, 0x0004, + 0x0018, 0x9084, 0x0006, 0x8004, 0x2010, 0x785c, 0x9084, 0x00ff, + 0x8007, 0x9205, 0x7042, 0xd1ac, 0x0128, 0x7047, 0x0002, 0x080c, + 0x132d, 0x0050, 0xd1b4, 0x0118, 0x7047, 0x0001, 0x0028, 0x7047, + 0x0000, 0x9016, 0x2230, 0x0010, 0x6ab0, 0x6eac, 0x726a, 0x766e, + 0x20a9, 0x0008, 0x20e9, 0x0000, 0x9d88, 0x0023, 0x20e1, 0x0001, + 0x2198, 0x20a1, 0x0252, 0x2069, 0x0200, 0x6813, 0x0018, 0x4003, + 0x6813, 0x0008, 0x60c3, 0x0020, 0x6017, 0x0009, 0x2001, 0x131f, + 0x2003, 0x07d0, 0x2001, 0x131e, 0x2003, 0x0009, 0x0005, 0x00d6, + 0x6813, 0x0008, 0x7a10, 0x2268, 0x6a8c, 0x8210, 0x9294, 0x00ff, + 0x6a8e, 0x8217, 0x721a, 0x6a10, 0x9295, 0x0600, 0x7202, 0x6a14, + 0x7206, 0x68a0, 0x6900, 0x2069, 0x1100, 0x6bd4, 0xd3ac, 0x1138, + 0xd0bc, 0x0188, 0xd1f4, 0x0118, 0x9294, 0x00ff, 0x629a, 0x6a74, + 0x720a, 0x6a78, 0x720e, 0x7013, 0x0829, 0x2f10, 0x7222, 0x7027, + 0xffff, 0x00de, 0x0005, 0x9294, 0x00ff, 0x629a, 0x6a58, 0x720e, + 0x0c90, 0x00d6, 0x0081, 0x7814, 0x2068, 0x6890, 0x7002, 0x688c, + 0x7006, 0x68b0, 0x700a, 0x68ac, 0x700e, 0x60c3, 0x000c, 0x00de, + 0x080c, 0x8544, 0x0005, 0x00d6, 0x6813, 0x0008, 0x7810, 0x2068, + 0x6810, 0x9085, 0x0500, 0x7002, 0x6814, 0x7006, 0x68a0, 0x2069, + 0x1100, 0x6ad4, 0xd2ac, 0x1110, 0xd0bc, 0x0188, 0x6874, 0x700a, + 0x6878, 0x700e, 0x7013, 0x0889, 0x080c, 0x8533, 0x721a, 0x7a08, + 0x7222, 0x2f10, 0x7226, 0x2071, 0x024c, 0x00de, 0x0005, 0x6a58, + 0x720e, 0x0c80, 0x00d6, 0x080c, 0x832e, 0x7814, 0x2068, 0x9084, + 0xf000, 0x1130, 0x7814, 0x9084, 0x0700, 0x8007, 0x002b, 0x0010, + 0x9006, 0x0013, 0x00de, 0x0005, 0x824e, 0x82bb, 0x82c4, 0x82e9, + 0x82f6, 0x8308, 0x8310, 0x824c, 0x080c, 0x0d4e, 0x0016, 0x0036, + 0x697c, 0x918c, 0x0003, 0x0118, 0x9186, 0x0003, 0x11a0, 0x6ba8, + 0x7824, 0xd0cc, 0x1170, 0x7316, 0x6898, 0x701a, 0x6894, 0x701e, + 0x003e, 0x001e, 0x2001, 0x12e7, 0x2004, 0x60c2, 0x080c, 0x8544, + 0x0005, 0xc3e5, 0x0c80, 0x9186, 0x0001, 0x190c, 0x0d4e, 0x6ba8, + 0x7824, 0xd0cc, 0x1904, 0x82b8, 0x7316, 0x6898, 0x701a, 0x6894, + 0x701e, 0x68a4, 0x7026, 0x68ac, 0x702e, 0x2009, 0x0018, 0x9384, + 0x0300, 0x0580, 0xd3c4, 0x0110, 0x68ac, 0x9108, 0xd3cc, 0x0110, + 0x68a4, 0x9108, 0x2011, 0x0258, 0x0156, 0x20a9, 0x0008, 0x9d80, + 0x002c, 0x201c, 0x831f, 0x2312, 0x8000, 0x8210, 0x1f04, 0x8291, + 0x0016, 0x00d6, 0x2069, 0x0200, 0x080c, 0x8d27, 0x00de, 0x001e, + 0x2011, 0x0240, 0x20a9, 0x0005, 0x201c, 0x831f, 0x2312, 0x8000, + 0x8210, 0x1f04, 0x82a4, 0x015e, 0x9184, 0x0003, 0x0118, 0x2019, + 0x0245, 0x201a, 0x61c2, 0x003e, 0x001e, 0x080c, 0x8544, 0x0005, + 0xc3e5, 0x0804, 0x8274, 0x2011, 0x0008, 0x7824, 0xd0cc, 0x1110, + 0x7216, 0x0468, 0x0ce8, 0xc2e5, 0x2011, 0x0302, 0x0016, 0x782c, + 0x701a, 0x7930, 0x711e, 0x9105, 0x0108, 0xc2dd, 0x001e, 0x7824, + 0xd0cc, 0x0108, 0xc2e5, 0x7216, 0x7027, 0x0012, 0x702f, 0x0008, + 0x7043, 0x7000, 0x7047, 0x0500, 0x704f, 0x000a, 0x6813, 0x0001, + 0x2071, 0x0240, 0x700b, 0x2500, 0x60c3, 0x0032, 0x080c, 0x8544, + 0x0005, 0x2011, 0x0028, 0x7824, 0xd0cc, 0x1130, 0x7216, 0x60c3, + 0x0018, 0x080c, 0x8544, 0x0005, 0x0cc8, 0xc2e5, 0x2011, 0x0100, + 0x7824, 0xd0cc, 0x0108, 0xc2e5, 0x7216, 0x702f, 0x0008, 0x7858, + 0x9084, 0x00ff, 0x7036, 0x60c3, 0x0020, 0x080c, 0x8544, 0x0005, + 0x2011, 0x0008, 0x7824, 0xd0cc, 0x0108, 0xc2e5, 0x7216, 0x08f8, + 0x0036, 0x7b14, 0x9384, 0xff00, 0x7816, 0x9384, 0x00ff, 0x8001, + 0x1138, 0x7824, 0xd0cc, 0x0108, 0xc2e5, 0x7216, 0x003e, 0x0878, + 0x0046, 0x2021, 0x0800, 0x0006, 0x7824, 0xd0cc, 0x000e, 0x0108, + 0xc4e5, 0x7416, 0x004e, 0x701e, 0x003e, 0x0808, 0x00d6, 0x6813, + 0x0008, 0x7a10, 0x2268, 0x6810, 0x9085, 0x0700, 0x7002, 0x6814, + 0x7006, 0x68a0, 0x2069, 0x1100, 0x6ad4, 0xd2ac, 0x1110, 0xd0bc, + 0x01a0, 0x6874, 0x700a, 0x6878, 0x700e, 0x7824, 0xd0cc, 0x1180, + 0x7013, 0x0898, 0x080c, 0x8533, 0x721a, 0x7a08, 0x7222, 0x2f10, + 0x7226, 0x2071, 0x024c, 0x00de, 0x0005, 0x6a58, 0x720e, 0x0c68, + 0x7013, 0x0889, 0x0c78, 0x0016, 0x7814, 0x9084, 0x0700, 0x8007, + 0x0013, 0x001e, 0x0005, 0x836b, 0x836b, 0x836d, 0x836b, 0x836b, + 0x836b, 0x838a, 0x836b, 0x080c, 0x0d4e, 0x7914, 0x918c, 0xf8ff, + 0x918d, 0x0600, 0x7916, 0x2009, 0x0003, 0x00d1, 0x00d6, 0x2069, + 0x1152, 0x6804, 0xd0bc, 0x0130, 0x682c, 0x9084, 0x00ff, 0x8007, + 0x7032, 0x0010, 0x7033, 0x3f00, 0x00de, 0x60c3, 0x0001, 0x080c, + 0x8544, 0x0005, 0x2009, 0x0003, 0x0019, 0x7033, 0x7f00, 0x0ca8, + 0x00d6, 0x0016, 0x080c, 0x8d3c, 0x001e, 0x7810, 0x2068, 0x6810, + 0x9085, 0x0100, 0x7002, 0x6814, 0x7006, 0x68a0, 0x2069, 0x1100, + 0x6ad4, 0xd2ac, 0x1110, 0xd0bc, 0x0190, 0x6a74, 0x720a, 0x6a78, + 0x720e, 0x7013, 0x0888, 0x918d, 0x0008, 0x7116, 0x080c, 0x8533, + 0x721a, 0x7a08, 0x7222, 0x2f10, 0x7226, 0x00de, 0x0005, 0x6a58, + 0x720e, 0x0c78, 0x00e6, 0x00d6, 0x00c6, 0x0056, 0x0046, 0x0036, + 0x2061, 0x0100, 0x2071, 0x1100, 0x7158, 0x7810, 0x2068, 0x68a0, + 0x2028, 0x6910, 0x6a14, 0x76d4, 0xd6ac, 0x1130, 0xd0bc, 0x1120, + 0x2019, 0x0000, 0x7458, 0x0010, 0x7374, 0x7478, 0x7820, 0x90be, + 0x0006, 0x0904, 0x84a9, 0x90be, 0x000a, 0x1904, 0x8461, 0x609f, + 0x0000, 0x7814, 0x2070, 0x707c, 0xd0fc, 0x0904, 0x8428, 0x7790, + 0x9784, 0xff00, 0x9105, 0x6062, 0x873f, 0x9784, 0xff00, 0x0006, + 0x7814, 0x9080, 0x001e, 0x2004, 0x9005, 0x000e, 0x1160, 0x7794, + 0x87ff, 0x0548, 0x2039, 0x0098, 0x9705, 0x6072, 0x7808, 0x6082, + 0x2f00, 0x6086, 0x0470, 0x9185, 0x2200, 0x6062, 0x6073, 0x0129, + 0x6077, 0x0000, 0x609f, 0x0000, 0x2001, 0x1135, 0x2004, 0x9084, + 0x0020, 0x11d8, 0x2001, 0x1135, 0x2004, 0x9084, 0x0008, 0x0140, + 0x7814, 0x9080, 0x001d, 0x2004, 0x8007, 0x9082, 0x0080, 0x1268, + 0x6814, 0x609e, 0x0050, 0x2039, 0x0029, 0x9705, 0x6072, 0x0028, + 0x9185, 0x0200, 0x6062, 0x6073, 0x2029, 0x2f00, 0x6082, 0x7808, + 0x6086, 0x6266, 0x636a, 0x646e, 0x6077, 0x0000, 0x688c, 0x8000, + 0x9084, 0x00ff, 0x688e, 0x8007, 0x607a, 0x607f, 0x0000, 0x7038, + 0x608a, 0x7034, 0x608e, 0x7048, 0x60c6, 0x7044, 0x60ca, 0x686c, + 0x60ce, 0x60af, 0x95d5, 0x60d7, 0x0000, 0x080c, 0x8d21, 0x2009, + 0x07d0, 0x60c4, 0x9084, 0xfff0, 0x9005, 0x0110, 0x2009, 0x1b58, + 0x080c, 0x725b, 0x003e, 0x004e, 0x005e, 0x00ce, 0x00de, 0x00ee, + 0x0005, 0x9185, 0x0100, 0x6062, 0x6266, 0x636a, 0x646e, 0x6073, + 0x0809, 0x6077, 0x0008, 0x60af, 0x95d5, 0x60d7, 0x0000, 0x688c, + 0x8000, 0x9084, 0x00ff, 0x688e, 0x8007, 0x607a, 0x607f, 0x0000, + 0x2f00, 0x6082, 0x7808, 0x6086, 0x7814, 0x2070, 0x7038, 0x608a, + 0x7034, 0x608e, 0x7048, 0x60c6, 0x7044, 0x60ca, 0x686c, 0x60ce, + 0x9582, 0x0080, 0x0248, 0x6a00, 0xd2f4, 0x0120, 0x6a14, 0x9294, + 0x00ff, 0x0010, 0x2011, 0x0000, 0x629e, 0x080c, 0x8d21, 0x2009, + 0x07d0, 0x60c4, 0x9084, 0xfff0, 0x9005, 0x0110, 0x2009, 0x1b58, + 0x080c, 0x725b, 0x003e, 0x004e, 0x005e, 0x00ce, 0x00de, 0x00ee, + 0x0005, 0x7814, 0x2070, 0x707c, 0x9084, 0x0003, 0x9086, 0x0002, + 0x05f0, 0x9185, 0x0100, 0x6062, 0x6266, 0x636a, 0x646e, 0x6073, + 0x0880, 0x6077, 0x0008, 0x688c, 0x8000, 0x9084, 0x00ff, 0x688e, + 0x8007, 0x607a, 0x7838, 0x607e, 0x2f00, 0x6086, 0x7808, 0x6082, + 0x7090, 0x608a, 0x708c, 0x608e, 0x70b0, 0x60c6, 0x70ac, 0x60ca, + 0x70ac, 0x7930, 0x9108, 0x7932, 0x70b0, 0x792c, 0x9109, 0x792e, + 0x686c, 0x60ce, 0x60af, 0x95d5, 0x60d7, 0x0000, 0x9582, 0x0080, + 0x0248, 0x6a00, 0xd2f4, 0x0120, 0x6a14, 0x9294, 0x00ff, 0x0010, + 0x2011, 0x0000, 0x629e, 0x080c, 0x8cfc, 0x0804, 0x8497, 0x9185, + 0x0700, 0x6062, 0x6266, 0x636a, 0x646e, 0x7824, 0xd0cc, 0x7826, + 0x0118, 0x6073, 0x0889, 0x0010, 0x6073, 0x0898, 0x6077, 0x0000, + 0x688c, 0x8000, 0x9084, 0x00ff, 0x688e, 0x8007, 0x607a, 0x607f, + 0x0000, 0x2f00, 0x6086, 0x7808, 0x6082, 0x7038, 0x608a, 0x7034, + 0x608e, 0x7048, 0x60c6, 0x7044, 0x60ca, 0x686c, 0x60ce, 0x60af, + 0x95d5, 0x60d7, 0x0000, 0x9582, 0x0080, 0x0248, 0x6a00, 0xd2f4, + 0x0120, 0x6a14, 0x9294, 0x00ff, 0x0010, 0x2011, 0x0000, 0x629e, + 0x7824, 0xd0cc, 0x0120, 0x080c, 0x8d21, 0x0804, 0x8497, 0x080c, + 0x8cfc, 0x0804, 0x8497, 0x7a10, 0x9280, 0x0023, 0x2014, 0x8210, + 0x9294, 0x00ff, 0x2202, 0x8217, 0x0005, 0x00d6, 0x2069, 0x1303, + 0x6843, 0x0001, 0x00de, 0x0005, 0x60a3, 0x0056, 0x60a7, 0x9575, + 0x00f1, 0x080c, 0x724d, 0x0005, 0x0016, 0x2001, 0x110c, 0x200c, + 0x9184, 0x0600, 0x9086, 0x0600, 0x0128, 0x0089, 0x080c, 0x724d, + 0x001e, 0x0005, 0xc1e5, 0x2001, 0x110c, 0x2102, 0x2001, 0x1304, + 0x2003, 0x0000, 0x2001, 0x130c, 0x2003, 0x0000, 0x0c88, 0x0006, + 0x6014, 0x9084, 0x1804, 0x9085, 0x0009, 0x6016, 0x000e, 0x0005, + 0x0016, 0x00c6, 0x0006, 0x2061, 0x0100, 0x61a4, 0x60a7, 0x95f5, + 0x6014, 0x9084, 0x1804, 0x9085, 0x0008, 0x6016, 0x000e, 0xa001, + 0xa001, 0xa001, 0x61a6, 0x00ce, 0x001e, 0x0005, 0x00c6, 0x00d6, + 0x0016, 0x0026, 0x2061, 0x0100, 0x2069, 0x0140, 0x080c, 0x62c5, + 0x1198, 0x2001, 0x131f, 0x2004, 0x9005, 0x15b8, 0x0066, 0x2031, + 0x0001, 0x080c, 0x6356, 0x006e, 0x1118, 0x080c, 0x724d, 0x0468, + 0x00c6, 0x2061, 0x1303, 0x00d8, 0x6904, 0x9194, 0x4000, 0x0550, + 0x0839, 0x6803, 0x1000, 0x6803, 0x0000, 0x00c6, 0x2061, 0x1303, + 0x6128, 0x9192, 0x00c8, 0x1258, 0x8108, 0x612a, 0x6124, 0x00ce, + 0x81ff, 0x0198, 0x080c, 0x724d, 0x080c, 0x8567, 0x0070, 0x6124, + 0x91e5, 0x0000, 0x0140, 0x080c, 0xc3a7, 0x080c, 0x7256, 0x2009, + 0x0014, 0x080c, 0x8ebf, 0x00ce, 0x0000, 0x002e, 0x001e, 0x00de, + 0x00ce, 0x0005, 0x2001, 0x131f, 0x2004, 0x9005, 0x1db0, 0x00c6, + 0x2061, 0x1303, 0x6128, 0x9192, 0x0003, 0x1e08, 0x8108, 0x612a, + 0x00ce, 0x080c, 0x724d, 0x080c, 0x4f94, 0x0c38, 0x00c6, 0x00d6, + 0x00e6, 0x0016, 0x0026, 0x080c, 0x7263, 0x2071, 0x1303, 0x713c, + 0x81ff, 0x0590, 0x2061, 0x0100, 0x2069, 0x0140, 0x080c, 0x62c5, + 0x11a8, 0x0036, 0x2019, 0x0002, 0x080c, 0x87ca, 0x003e, 0x713c, + 0x2160, 0x080c, 0xc3a7, 0x2009, 0x004a, 0x080c, 0x8ebf, 0x0066, + 0x2031, 0x0001, 0x080c, 0x6356, 0x006e, 0x00b0, 0x6904, 0x9194, + 0x4000, 0x01c0, 0x6803, 0x1000, 0x6803, 0x0000, 0x0036, 0x2019, + 0x0001, 0x080c, 0x87ca, 0x003e, 0x713c, 0x2160, 0x080c, 0xc3a7, + 0x2009, 0x004a, 0x080c, 0x8ebf, 0x002e, 0x001e, 0x00ee, 0x00de, + 0x00ce, 0x0005, 0x0c58, 0x0026, 0x00e6, 0x2071, 0x1303, 0x7048, + 0xd084, 0x01c0, 0x713c, 0x81ff, 0x01a8, 0x2071, 0x0100, 0x9188, + 0x0008, 0x2114, 0x928e, 0x0006, 0x1138, 0x7014, 0x9084, 0x1984, + 0x9085, 0x0012, 0x7016, 0x0030, 0x7014, 0x9084, 0x1984, 0x9085, + 0x0016, 0x7016, 0x00ee, 0x002e, 0x0005, 0x00e6, 0x00d6, 0x00c6, + 0x0066, 0x0056, 0x0046, 0x0006, 0x0126, 0x2091, 0x8000, 0x6010, + 0x2068, 0x6ca0, 0x2071, 0x1303, 0x7018, 0x2068, 0x8dff, 0x0188, + 0x68a0, 0x9406, 0x0118, 0x6854, 0x2068, 0x0cc0, 0x6014, 0x2060, + 0x646c, 0x6570, 0x6678, 0x2d60, 0x080c, 0x572f, 0x0110, 0x9085, + 0x0001, 0x012e, 0x000e, 0x004e, 0x005e, 0x006e, 0x00ce, 0x00de, + 0x00ee, 0x0005, 0x080c, 0x7fa6, 0x7003, 0x1200, 0x7820, 0x9086, + 0x0004, 0x1110, 0x6098, 0x0018, 0x2001, 0x1116, 0x2004, 0x700e, + 0x7838, 0x7012, 0x783c, 0x7016, 0x60c3, 0x002c, 0x080c, 0x8544, + 0x0005, 0x080c, 0x7fa6, 0x7003, 0x0f00, 0x7808, 0x700e, 0x60c3, + 0x0008, 0x080c, 0x8544, 0x0005, 0x0156, 0x080c, 0x801c, 0x7003, + 0x0200, 0x2011, 0x1148, 0x63f0, 0x2312, 0x20a9, 0x0006, 0x2011, + 0x1140, 0x2019, 0x1141, 0x9ef0, 0x0002, 0x2376, 0x8e70, 0x2276, + 0x8e70, 0x9398, 0x0002, 0x9290, 0x0002, 0x1f04, 0x86ad, 0x60c3, + 0x001c, 0x080c, 0x8544, 0x015e, 0x0005, 0x0016, 0x0026, 0x080c, + 0x7ff8, 0x080c, 0x800a, 0x9e80, 0x0004, 0x20e9, 0x0000, 0x20a0, + 0x7814, 0x9080, 0x0000, 0x2004, 0x9080, 0x0021, 0x20e1, 0x0001, + 0x2098, 0x7808, 0x9088, 0x0002, 0x21a8, 0x9192, 0x0010, 0x1250, + 0x4003, 0x9080, 0x0004, 0x8003, 0x60c2, 0x080c, 0x8544, 0x002e, + 0x001e, 0x0005, 0x20a9, 0x0010, 0x4003, 0x080c, 0x8d27, 0x20a1, + 0x0240, 0x22a8, 0x4003, 0x0c68, 0x080c, 0x7fa6, 0x7003, 0x6200, + 0x7808, 0x700e, 0x60c3, 0x0008, 0x080c, 0x8544, 0x0005, 0x0016, + 0x0026, 0x080c, 0x7fa6, 0x20e9, 0x0000, 0x20a1, 0x024c, 0x7814, + 0x9080, 0x0000, 0x2004, 0x9080, 0x0023, 0x20e1, 0x0001, 0x2098, + 0x7808, 0x9088, 0x0002, 0x21a8, 0x4003, 0x8003, 0x60c2, 0x080c, + 0x8544, 0x002e, 0x001e, 0x0005, 0x00e6, 0x00c6, 0x0006, 0x0126, + 0x2091, 0x8000, 0x2071, 0x1303, 0x700c, 0x2060, 0x8cff, 0x0178, + 0x080c, 0xaa40, 0x1110, 0x080c, 0x9743, 0x600c, 0x0006, 0x080c, + 0xac68, 0x080c, 0x8e49, 0x080c, 0x88d7, 0x00ce, 0x0c78, 0x700f, + 0x0000, 0x700b, 0x0000, 0x012e, 0x000e, 0x00ce, 0x00ee, 0x0005, + 0x0126, 0x0156, 0x00f6, 0x00e6, 0x00d6, 0x00c6, 0x0026, 0x0016, + 0x0006, 0x2091, 0x8000, 0x2069, 0x0100, 0x2079, 0x0140, 0x2071, + 0x1303, 0x7024, 0x2060, 0x8cff, 0x05d8, 0x080c, 0x8570, 0x6ac0, + 0x68c3, 0x0000, 0x080c, 0x7256, 0x00c6, 0x2061, 0x0100, 0x080c, + 0x8d40, 0x00ce, 0x2009, 0x0013, 0x080c, 0x8ebf, 0x20a9, 0x01f4, + 0x6824, 0xd094, 0x0158, 0x6827, 0x0004, 0x7804, 0x9084, 0x4000, + 0x01a0, 0x7803, 0x1000, 0x7803, 0x0000, 0x0078, 0xd084, 0x0118, + 0x6827, 0x0001, 0x0010, 0x1f04, 0x8760, 0x7804, 0x9084, 0x1000, + 0x0120, 0x7803, 0x0100, 0x7803, 0x0000, 0x6824, 0x000e, 0x001e, + 0x002e, 0x00ce, 0x00de, 0x00ee, 0x00fe, 0x015e, 0x012e, 0x0005, + 0x2001, 0x1100, 0x2004, 0x9096, 0x0001, 0x0590, 0x9096, 0x0004, + 0x0578, 0x080c, 0x7256, 0x6814, 0x9084, 0x0001, 0x0110, 0x68a7, + 0x95f5, 0x6817, 0x0008, 0x68c3, 0x0000, 0x2011, 0x4f44, 0x080c, + 0x71e2, 0x20a9, 0x01f4, 0x6824, 0xd094, 0x0158, 0x6827, 0x0004, + 0x7804, 0x9084, 0x4000, 0x01a0, 0x7803, 0x1000, 0x7803, 0x0000, + 0x0078, 0xd084, 0x0118, 0x6827, 0x0001, 0x0010, 0x1f04, 0x87a3, + 0x7804, 0x9084, 0x1000, 0x0120, 0x7803, 0x0100, 0x7803, 0x0000, + 0x000e, 0x001e, 0x002e, 0x00ce, 0x00de, 0x00ee, 0x00fe, 0x015e, + 0x012e, 0x0005, 0x0126, 0x0156, 0x00f6, 0x00e6, 0x00d6, 0x00c6, + 0x0026, 0x0016, 0x0006, 0x2091, 0x8000, 0x2069, 0x0100, 0x2079, + 0x0140, 0x2071, 0x1303, 0x703c, 0x2060, 0x8cff, 0x0904, 0x8851, + 0x9386, 0x0002, 0x1128, 0x6814, 0x9084, 0x0002, 0x0904, 0x8851, + 0x68af, 0x95f5, 0x6817, 0x0010, 0x2009, 0x00fa, 0x8109, 0x1df0, + 0x68c7, 0x0000, 0x68cb, 0x0008, 0x080c, 0x7263, 0x080c, 0x1816, + 0x0046, 0x2009, 0x017f, 0x200b, 0x00a5, 0x2021, 0x0169, 0x2404, + 0x9084, 0x000f, 0x9086, 0x0004, 0x1500, 0x68af, 0x95f5, 0x68c7, + 0x0000, 0x68cb, 0x0008, 0x00e6, 0x00f6, 0x2079, 0x0090, 0x2071, + 0x1349, 0x6814, 0x9084, 0x1984, 0x9085, 0x0012, 0x6816, 0x782b, + 0x0008, 0x7003, 0x0000, 0x00fe, 0x00ee, 0x9386, 0x0002, 0x1128, + 0x7884, 0x9005, 0x1110, 0x7887, 0x0001, 0x2001, 0x12bb, 0x2004, + 0x200a, 0x004e, 0x939d, 0x0000, 0x1120, 0x2009, 0x0049, 0x080c, + 0x8ebf, 0x20a9, 0x03e8, 0x6824, 0xd094, 0x0158, 0x6827, 0x0004, + 0x7804, 0x9084, 0x4000, 0x01a0, 0x7803, 0x1000, 0x7803, 0x0000, + 0x0078, 0xd08c, 0x0118, 0x6827, 0x0002, 0x0010, 0x1f04, 0x8833, + 0x7804, 0x9084, 0x1000, 0x0120, 0x7803, 0x0100, 0x7803, 0x0000, + 0x6824, 0x000e, 0x001e, 0x002e, 0x00ce, 0x00de, 0x00ee, 0x00fe, + 0x015e, 0x012e, 0x0005, 0x00d6, 0x0126, 0x2091, 0x8000, 0x2069, + 0x1303, 0x6a06, 0x012e, 0x00de, 0x0005, 0x00d6, 0x0126, 0x2091, + 0x8000, 0x2069, 0x1303, 0x6a32, 0x012e, 0x00de, 0x0005, 0x00f6, + 0x00e6, 0x00c6, 0x0066, 0x0006, 0x0126, 0x2071, 0x1303, 0x7614, + 0x2660, 0x2678, 0x2091, 0x8000, 0x8cff, 0x0530, 0x6020, 0x9206, + 0x11f8, 0x7014, 0x9c36, 0x1110, 0x660c, 0x7616, 0x7010, 0x9c36, + 0x1140, 0x2c00, 0x9f36, 0x0118, 0x2f00, 0x7012, 0x0010, 0x7013, + 0x0000, 0x660c, 0x0066, 0x2c00, 0x9f06, 0x0110, 0x7e0e, 0x0008, + 0x2678, 0x600f, 0x0000, 0x080c, 0x8e79, 0x04c9, 0x00ce, 0x08e0, + 0x2c78, 0x600c, 0x2060, 0x08c0, 0x012e, 0x000e, 0x006e, 0x00ce, + 0x00ee, 0x00fe, 0x0005, 0x080c, 0x81c7, 0x7814, 0x7032, 0x7042, + 0x7047, 0x1000, 0x00f8, 0x080c, 0x81c7, 0x7814, 0x7032, 0x7042, + 0x7047, 0x4000, 0x00b8, 0x080c, 0x81c7, 0x7814, 0x7032, 0x7042, + 0x7047, 0x2000, 0x0078, 0x080c, 0x81c7, 0x7814, 0x7032, 0x7042, + 0x7047, 0x0400, 0x0038, 0x080c, 0x81c7, 0x7814, 0x7032, 0x7042, + 0x7047, 0x0200, 0x60c3, 0x0020, 0x080c, 0x8544, 0x0005, 0x00e6, + 0x2071, 0x1303, 0x7020, 0x9005, 0x0110, 0x8001, 0x7022, 0x00ee, + 0x0005, 0x00f6, 0x00e6, 0x00d6, 0x00c6, 0x0076, 0x0066, 0x0006, + 0x0126, 0x2091, 0x8000, 0x2071, 0x1303, 0x7614, 0x2660, 0x2678, + 0x2039, 0x0001, 0x87ff, 0x0904, 0x8970, 0x8cff, 0x0904, 0x8970, + 0x6020, 0x9086, 0x0006, 0x1904, 0x896b, 0x88ff, 0x0138, 0x2800, + 0x9c06, 0x1904, 0x896b, 0x2039, 0x0000, 0x0050, 0x6010, 0x9206, + 0x1904, 0x896b, 0x85ff, 0x0120, 0x6054, 0x9106, 0x1904, 0x896b, + 0x7024, 0x9c06, 0x1560, 0x2069, 0x0100, 0x68c0, 0x9005, 0x0518, + 0x080c, 0x7256, 0x6820, 0xd0b4, 0x0110, 0x68a7, 0x95f5, 0x6817, + 0x0008, 0x68c3, 0x0000, 0x080c, 0x89f7, 0x7027, 0x0000, 0x0036, + 0x2069, 0x0140, 0x6b04, 0x9384, 0x1000, 0x0120, 0x6803, 0x0100, + 0x6803, 0x0000, 0x2069, 0x0100, 0x6824, 0xd084, 0x0110, 0x6827, + 0x0001, 0x003e, 0x0020, 0x6003, 0x0009, 0x630a, 0x0460, 0x7014, + 0x9c36, 0x1110, 0x660c, 0x7616, 0x7010, 0x9c36, 0x1140, 0x2c00, + 0x9f36, 0x0118, 0x2f00, 0x7012, 0x0010, 0x7013, 0x0000, 0x660c, + 0x0066, 0x2c00, 0x9f06, 0x0110, 0x7e0e, 0x0008, 0x2678, 0x89ff, + 0x1158, 0x600f, 0x0000, 0x6014, 0x2068, 0x080c, 0xa853, 0x0110, + 0x080c, 0xc004, 0x080c, 0x8e79, 0x080c, 0x88d7, 0x88ff, 0x1190, + 0x00ce, 0x0804, 0x88f2, 0x2c78, 0x600c, 0x2060, 0x0804, 0x88f2, + 0x9006, 0x012e, 0x000e, 0x006e, 0x007e, 0x00ce, 0x00de, 0x00ee, + 0x00fe, 0x0005, 0x601b, 0x0000, 0x00ce, 0x98c5, 0x0001, 0x0c88, + 0x00f6, 0x00e6, 0x00d6, 0x00c6, 0x0066, 0x0026, 0x0006, 0x0126, + 0x2091, 0x8000, 0x2071, 0x1303, 0x7638, 0x2660, 0x2678, 0x8cff, + 0x0904, 0x89e7, 0x6020, 0x9086, 0x0006, 0x1904, 0x89e2, 0x87ff, + 0x0128, 0x2700, 0x9c06, 0x1904, 0x89e2, 0x0048, 0x6010, 0x9206, + 0x1904, 0x89e2, 0x85ff, 0x0118, 0x6054, 0x9106, 0x15d8, 0x703c, + 0x9c06, 0x1180, 0x0036, 0x2019, 0x0001, 0x080c, 0x87ca, 0x7033, + 0x0000, 0x703f, 0x0000, 0x7043, 0x0000, 0x7047, 0x0000, 0x704b, + 0x0000, 0x003e, 0x7038, 0x9c36, 0x1110, 0x660c, 0x763a, 0x7034, + 0x9c36, 0x1140, 0x2c00, 0x9f36, 0x0118, 0x2f00, 0x7036, 0x0010, + 0x7037, 0x0000, 0x660c, 0x0066, 0x2c00, 0x9f06, 0x0110, 0x7e0e, + 0x0008, 0x2678, 0x600f, 0x0000, 0x6014, 0x2068, 0x080c, 0xa853, + 0x0110, 0x080c, 0xc004, 0x080c, 0x8e79, 0x87ff, 0x1190, 0x00ce, + 0x0804, 0x898f, 0x2c78, 0x600c, 0x2060, 0x0804, 0x898f, 0x9006, + 0x012e, 0x000e, 0x002e, 0x006e, 0x00ce, 0x00de, 0x00ee, 0x00fe, + 0x0005, 0x601b, 0x0000, 0x00ce, 0x97bd, 0x0001, 0x0c88, 0x00e6, + 0x2071, 0x1303, 0x2001, 0x1100, 0x2004, 0x9086, 0x0002, 0x1118, + 0x7007, 0x0005, 0x0010, 0x7007, 0x0000, 0x00ee, 0x0005, 0x00f6, + 0x00e6, 0x00c6, 0x0066, 0x0026, 0x0006, 0x0126, 0x2091, 0x8000, + 0x2071, 0x1303, 0x2c10, 0x7638, 0x2660, 0x2678, 0x8cff, 0x0518, + 0x2200, 0x9c06, 0x11e0, 0x7038, 0x9c36, 0x1110, 0x660c, 0x763a, + 0x7034, 0x9c36, 0x1140, 0x2c00, 0x9f36, 0x0118, 0x2f00, 0x7036, + 0x0010, 0x7037, 0x0000, 0x660c, 0x2c00, 0x9f06, 0x0110, 0x7e0e, + 0x0008, 0x2678, 0x600f, 0x0000, 0x9085, 0x0001, 0x0020, 0x2c78, + 0x600c, 0x2060, 0x08d8, 0x012e, 0x000e, 0x002e, 0x006e, 0x00ce, + 0x00ee, 0x00fe, 0x0005, 0x00f6, 0x00e6, 0x00d6, 0x00c6, 0x0066, + 0x0006, 0x0126, 0x2091, 0x8000, 0x2071, 0x1303, 0x760c, 0x2660, + 0x2678, 0x8cff, 0x0904, 0x8acd, 0x6010, 0x9080, 0x0028, 0x2004, + 0x9206, 0x1904, 0x8ac8, 0x7024, 0x9c06, 0x1508, 0x2069, 0x0100, + 0x68c0, 0x9005, 0x0904, 0x8aa4, 0x080c, 0x8570, 0x68c3, 0x0000, + 0x080c, 0x89f7, 0x7027, 0x0000, 0x0036, 0x2069, 0x0140, 0x6b04, + 0x9384, 0x1000, 0x0120, 0x6803, 0x0100, 0x6803, 0x0000, 0x2069, + 0x0100, 0x6824, 0xd084, 0x0110, 0x6827, 0x0001, 0x003e, 0x700c, + 0x9c36, 0x1110, 0x660c, 0x760e, 0x7008, 0x9c36, 0x1140, 0x2c00, + 0x9f36, 0x0118, 0x2f00, 0x700a, 0x0010, 0x700b, 0x0000, 0x660c, + 0x0066, 0x2c00, 0x9f06, 0x0110, 0x7e0e, 0x0008, 0x2678, 0x600f, + 0x0000, 0x080c, 0xaa2f, 0x1158, 0x080c, 0x2865, 0x080c, 0xaa40, + 0x11f0, 0x080c, 0x9743, 0x00d8, 0x080c, 0x89f7, 0x08c0, 0x080c, + 0xaa40, 0x1118, 0x080c, 0x9743, 0x0090, 0x6014, 0x2068, 0x080c, + 0xa853, 0x0168, 0x6020, 0x9086, 0x0003, 0x11f8, 0x6867, 0x0103, + 0x6b7a, 0x6877, 0x0000, 0x080c, 0x5b7a, 0x080c, 0xaa23, 0x080c, + 0xac68, 0x080c, 0x8e79, 0x080c, 0x88d7, 0x00ce, 0x0804, 0x8a51, + 0x2c78, 0x600c, 0x2060, 0x0804, 0x8a51, 0x012e, 0x000e, 0x006e, + 0x00ce, 0x00de, 0x00ee, 0x00fe, 0x0005, 0x6020, 0x9086, 0x0006, + 0x1d30, 0x080c, 0xc004, 0x0c18, 0x00d6, 0x080c, 0x801c, 0x7003, + 0x0200, 0x7007, 0x0014, 0x60c3, 0x0014, 0x20e1, 0x0001, 0x2099, + 0x12c3, 0x20e9, 0x0000, 0x20a1, 0x0250, 0x20a9, 0x0004, 0x4003, + 0x7023, 0x0004, 0x7027, 0x7878, 0x080c, 0x8544, 0x00de, 0x0005, + 0x080c, 0x801c, 0x7003, 0x0214, 0x7007, 0x0018, 0x700b, 0x0800, + 0x7814, 0x9084, 0xff00, 0x700e, 0x7814, 0x9084, 0x00ff, 0x7022, + 0x782c, 0x7026, 0x60c3, 0x0018, 0x080c, 0x8544, 0x0005, 0x00d6, + 0x0016, 0x00d6, 0x2f68, 0x2009, 0x0035, 0x080c, 0xae51, 0x00de, + 0x1904, 0x8b75, 0x080c, 0x7fa6, 0x7003, 0x1300, 0x782c, 0x2068, + 0x6820, 0x9086, 0x0003, 0x0570, 0x7810, 0x9080, 0x0028, 0x2014, + 0x2001, 0x1135, 0x2004, 0xd0ac, 0x11d0, 0x9286, 0x007e, 0x1128, + 0x700b, 0x00ff, 0x700f, 0xfffe, 0x04a8, 0x9286, 0x007f, 0x1128, + 0x700b, 0x00ff, 0x700f, 0xfffd, 0x0468, 0xd2bc, 0x0180, 0x9286, + 0x0080, 0x1128, 0x700b, 0x00ff, 0x700f, 0xfffc, 0x0418, 0x92e8, + 0x1000, 0x2d6c, 0x6810, 0x700a, 0x6814, 0x700e, 0x00d8, 0x6098, + 0x700e, 0x00c0, 0x2001, 0x1135, 0x2004, 0xd0ac, 0x1138, 0x7810, + 0x9080, 0x0028, 0x2004, 0x9082, 0x007e, 0x0250, 0x00d6, 0x2069, + 0x111d, 0x2d04, 0x700a, 0x8d68, 0x2d04, 0x700e, 0x00de, 0x0010, + 0x6034, 0x700e, 0x7838, 0x7012, 0x783c, 0x7016, 0x60c3, 0x000c, + 0x001e, 0x00de, 0x080c, 0x8544, 0x0005, 0x781b, 0x0001, 0x7803, + 0x0006, 0x001e, 0x00de, 0x0005, 0x792c, 0x9180, 0x0008, 0x200c, + 0x9186, 0x0006, 0x01b0, 0x9186, 0x0003, 0x0904, 0x8bec, 0x9186, + 0x0005, 0x0904, 0x8bd5, 0x9186, 0x0004, 0x05c8, 0x9186, 0x0008, + 0x0904, 0x8bdd, 0x7807, 0x0037, 0x7817, 0x1700, 0x080c, 0x8c53, + 0x0005, 0x080c, 0x8c12, 0x00d6, 0x0026, 0x792c, 0x2168, 0x2009, + 0x4000, 0x6800, 0x0002, 0x8bb6, 0x8bc1, 0x8bb8, 0x8bc1, 0x8bbd, + 0x8bb6, 0x8bb6, 0x8bc1, 0x8bc1, 0x8bc1, 0x8bc1, 0x8bb6, 0x8bb6, + 0x8bb6, 0x8bb6, 0x8bb6, 0x8bc1, 0x8bb6, 0x8bc1, 0x080c, 0x0d4e, + 0x6824, 0xd0e4, 0x0110, 0xd0cc, 0x0110, 0x900e, 0x0010, 0x2009, + 0x2000, 0x682c, 0x7022, 0x6830, 0x7026, 0x0804, 0x8c0a, 0x080c, + 0x8c12, 0x00d6, 0x0026, 0x792c, 0x2168, 0x2009, 0x4000, 0x6a00, + 0x9286, 0x0002, 0x1108, 0x900e, 0x04a8, 0x04e1, 0x00d6, 0x0026, + 0x792c, 0x2168, 0x2009, 0x4000, 0x0468, 0x04a1, 0x00d6, 0x0026, + 0x792c, 0x2168, 0x2009, 0x4000, 0x9286, 0x0005, 0x0118, 0x9286, + 0x0002, 0x1108, 0x900e, 0x00f0, 0x0429, 0x00d6, 0x0026, 0x792c, + 0x2168, 0x6814, 0x2068, 0x69ac, 0x6834, 0x9112, 0x69b0, 0x6838, + 0x9103, 0x7022, 0x7226, 0x792c, 0x9180, 0x0000, 0x2004, 0x908e, + 0x0002, 0x0130, 0x908e, 0x0004, 0x0118, 0x2009, 0x4000, 0x0010, + 0x2009, 0x0000, 0x712a, 0x60c3, 0x0018, 0x002e, 0x00de, 0x080c, + 0x8544, 0x0005, 0x0036, 0x0046, 0x0056, 0x0066, 0x080c, 0x801c, + 0x9006, 0x7003, 0x0200, 0x7938, 0x710a, 0x793c, 0x710e, 0x7810, + 0x9080, 0x0028, 0x2004, 0x2011, 0x1135, 0x2214, 0xd2ac, 0x1118, + 0x9092, 0x007e, 0x0268, 0x00d6, 0x2069, 0x111d, 0x2d2c, 0x8d68, + 0x2d34, 0x90e8, 0x1000, 0x2d6c, 0x6b10, 0x6c14, 0x00de, 0x0030, + 0x2019, 0x0000, 0x6498, 0x2029, 0x0000, 0x6634, 0x782c, 0x9080, + 0x0008, 0x2004, 0x9086, 0x0003, 0x1128, 0x7512, 0x7616, 0x731a, + 0x741e, 0x0020, 0x7312, 0x7416, 0x751a, 0x761e, 0x006e, 0x005e, + 0x004e, 0x003e, 0x0005, 0x080c, 0x801c, 0x7003, 0x0100, 0x700b, + 0x0009, 0x7814, 0x700e, 0x60c3, 0x0008, 0x080c, 0x8544, 0x0005, + 0x080c, 0x7f9d, 0x7003, 0x1400, 0x7838, 0x700a, 0x783c, 0x700e, + 0x782c, 0x7012, 0x7830, 0x7016, 0x7834, 0x9084, 0x00ff, 0x8007, + 0x701a, 0x60c3, 0x0010, 0x080c, 0x8544, 0x0005, 0x080c, 0x8013, + 0x7003, 0x0100, 0x782c, 0x700a, 0x7814, 0x700e, 0x60c3, 0x0008, + 0x080c, 0x8544, 0x0005, 0x0029, 0x60c3, 0x0000, 0x080c, 0x8544, + 0x0005, 0x00d6, 0x080c, 0x8d3c, 0x7810, 0x2068, 0x6810, 0x9085, + 0x0300, 0x7002, 0x6814, 0x7006, 0x68a0, 0x2069, 0x1100, 0x6ad4, + 0xd2ac, 0x1110, 0xd0bc, 0x0188, 0x6874, 0x700a, 0x6878, 0x700e, + 0x7013, 0x0819, 0x080c, 0x8533, 0x721a, 0x2f10, 0x7222, 0x7a08, + 0x7226, 0x2071, 0x024c, 0x00de, 0x0005, 0x6234, 0x720e, 0x0c80, + 0x0059, 0x7914, 0x712a, 0x60c3, 0x0000, 0x60a7, 0x9575, 0x080c, + 0x8567, 0x080c, 0x724d, 0x0005, 0x0036, 0x00d6, 0x00e6, 0x7858, + 0x2068, 0x9df0, 0x001b, 0x7210, 0x9296, 0x00c0, 0x9294, 0xfffd, + 0x7212, 0x7214, 0x9294, 0x0300, 0x7216, 0x7100, 0x9194, 0x00ff, + 0x7308, 0x9384, 0x00ff, 0x908d, 0xc200, 0x7102, 0x9384, 0xff00, + 0x9215, 0x720a, 0x7004, 0x720c, 0x700e, 0x7206, 0x00d6, 0x2069, + 0x0200, 0x080c, 0x8d3c, 0x00de, 0x20e9, 0x0000, 0x20a1, 0x0240, + 0x20a9, 0x000a, 0x20e1, 0x0001, 0x2e98, 0x4003, 0x60a3, 0x0035, + 0x6a68, 0x9294, 0x7000, 0x9286, 0x3000, 0x0110, 0x60a3, 0x0037, + 0x00ee, 0x00de, 0x003e, 0x0005, 0x900e, 0x7814, 0x9080, 0x001f, + 0x2004, 0xd0fc, 0x01d8, 0x9084, 0x0003, 0x11c0, 0x2001, 0x110c, + 0x2004, 0xd0bc, 0x0198, 0x7824, 0xd0cc, 0x1180, 0xd0c4, 0x1170, + 0x7814, 0x9080, 0x002a, 0x2004, 0x9005, 0x1140, 0x2001, 0x110c, + 0x200c, 0xc1d5, 0x2102, 0x2009, 0x12e8, 0x210c, 0x918d, 0x0092, + 0x0010, 0x2009, 0x0096, 0x60ab, 0x0036, 0x6116, 0x0005, 0x2009, + 0x0009, 0x00a0, 0x2009, 0x000a, 0x0088, 0x2009, 0x000b, 0x0070, + 0x2009, 0x000c, 0x0058, 0x2009, 0x000d, 0x0040, 0x2009, 0x000e, + 0x0028, 0x2009, 0x000f, 0x0010, 0x2009, 0x0008, 0x6912, 0x0005, + 0x00d6, 0x9290, 0x0018, 0x8214, 0x20e9, 0x0000, 0x2069, 0x0200, + 0x6813, 0x0000, 0x22a8, 0x9284, 0x00e0, 0x0128, 0x20a9, 0x0020, + 0x9292, 0x0020, 0x0008, 0x9016, 0x20a1, 0x0240, 0x9006, 0x4004, + 0x82ff, 0x0120, 0x6810, 0x8000, 0x6812, 0x0c60, 0x00de, 0x0005, + 0x00d6, 0x0156, 0x080c, 0x801c, 0x7a14, 0x82ff, 0x0138, 0x7003, + 0x0100, 0x700b, 0x0003, 0x60c3, 0x0008, 0x0490, 0x7003, 0x0200, + 0x7007, 0x0000, 0x2069, 0x1100, 0x901e, 0x6800, 0x9086, 0x0004, + 0x1110, 0xc38d, 0x0060, 0x080c, 0x62c5, 0x1110, 0xc3ad, 0x0008, + 0xc3a5, 0x6ad4, 0xd29c, 0x1110, 0xd2ac, 0x0108, 0xc39d, 0x730e, + 0x2011, 0x1148, 0x63f0, 0x2312, 0x20a9, 0x0006, 0x2011, 0x1140, + 0x2019, 0x1141, 0x2071, 0x0250, 0x2376, 0x8e70, 0x2276, 0x8e70, + 0x9398, 0x0002, 0x9290, 0x0002, 0x1f04, 0x8d94, 0x60c3, 0x0040, + 0x080c, 0x8544, 0x015e, 0x00de, 0x0005, 0x0156, 0x080c, 0x801c, + 0x7a14, 0x82ff, 0x0168, 0x9286, 0xffff, 0x0118, 0x9282, 0x000e, + 0x1238, 0x7003, 0x0100, 0x700b, 0x0003, 0x60c3, 0x0008, 0x0470, + 0x7003, 0x0200, 0x7007, 0x001c, 0x700f, 0x0001, 0x2001, 0x1135, + 0x2004, 0xd0ac, 0x1138, 0x7810, 0x9080, 0x0028, 0x2004, 0x9082, + 0x007f, 0x0248, 0x2001, 0x111d, 0x2004, 0x7022, 0x2001, 0x111e, + 0x2004, 0x7026, 0x0030, 0x2001, 0x1116, 0x2004, 0x9084, 0x00ff, + 0x7026, 0x20a9, 0x0004, 0x20e1, 0x0001, 0x2099, 0x1105, 0x20e9, + 0x0000, 0x20a1, 0x0256, 0x4003, 0x60c3, 0x001c, 0x080c, 0x8544, + 0x015e, 0x0005, 0x2061, 0x15c0, 0x2071, 0x1100, 0x706c, 0x704e, + 0x7053, 0x15c0, 0x0005, 0x00e6, 0x0126, 0x2071, 0x1100, 0x2091, + 0x8000, 0x754c, 0x9582, 0x0010, 0x0608, 0x7050, 0x2060, 0x6000, + 0x9086, 0x0000, 0x0148, 0x9ce0, 0x0018, 0x7060, 0x9c02, 0x1208, + 0x0cb0, 0x2061, 0x15c0, 0x0c98, 0x6003, 0x0008, 0x8529, 0x754e, + 0x9ca8, 0x0018, 0x7060, 0x9502, 0x1230, 0x7552, 0x9085, 0x0001, + 0x012e, 0x00ee, 0x0005, 0x7053, 0x15c0, 0x0cc0, 0x9006, 0x0cc0, + 0x00e6, 0x2071, 0x1100, 0x754c, 0x9582, 0x0010, 0x0600, 0x7050, + 0x2060, 0x6000, 0x9086, 0x0000, 0x0148, 0x9ce0, 0x0018, 0x7060, + 0x9c02, 0x1208, 0x0cb0, 0x2061, 0x15c0, 0x0c98, 0x6003, 0x0008, + 0x8529, 0x754e, 0x9ca8, 0x0018, 0x7060, 0x9502, 0x1228, 0x7552, + 0x9085, 0x0001, 0x00ee, 0x0005, 0x7053, 0x15c0, 0x0cc8, 0x9006, + 0x0cc8, 0x9c82, 0x15c0, 0x0a0c, 0x0d4e, 0x2001, 0x1118, 0x2004, + 0x9c02, 0x1a0c, 0x0d4e, 0x9006, 0x6006, 0x600a, 0x600e, 0x6016, + 0x601a, 0x6012, 0x6023, 0x0000, 0x6003, 0x0000, 0x601e, 0x6056, + 0x605a, 0x6026, 0x602a, 0x602e, 0x6032, 0x6036, 0x603a, 0x603e, + 0x6042, 0x2061, 0x1100, 0x604c, 0x8000, 0x604e, 0x9086, 0x0001, + 0x0108, 0x0005, 0x0126, 0x2091, 0x8000, 0x080c, 0x7a7b, 0x012e, + 0x0cc0, 0x0006, 0x6000, 0x9086, 0x0000, 0x0190, 0x6017, 0x0000, + 0x6023, 0x0007, 0x2001, 0x12c0, 0x2004, 0x0006, 0x9082, 0x0051, + 0x000e, 0x0208, 0x8004, 0x601a, 0x080c, 0xc29d, 0x6043, 0x0000, + 0x000e, 0x0005, 0x00e6, 0x0126, 0x2071, 0x1100, 0x2091, 0x8000, + 0x754c, 0x9582, 0x0001, 0x0608, 0x7050, 0x2060, 0x6000, 0x9086, + 0x0000, 0x0148, 0x9ce0, 0x0018, 0x7060, 0x9c02, 0x1208, 0x0cb0, + 0x2061, 0x15c0, 0x0c98, 0x6003, 0x0008, 0x8529, 0x754e, 0x9ca8, + 0x0018, 0x7060, 0x9502, 0x1230, 0x7552, 0x9085, 0x0001, 0x012e, + 0x00ee, 0x0005, 0x7053, 0x15c0, 0x0cc0, 0x9006, 0x0cc0, 0x6020, + 0x9084, 0x000f, 0x0002, 0x8ed2, 0x8ee1, 0x8efc, 0x8f17, 0xae93, + 0xaeae, 0xaec9, 0x8ed2, 0x8ee1, 0x8ed2, 0x8f33, 0x8ed2, 0x8ed2, + 0x8ed2, 0x8ed2, 0x9186, 0x0013, 0x1128, 0x080c, 0x797f, 0x080c, + 0x7a7b, 0x0005, 0x9186, 0x0047, 0x1118, 0x9016, 0x080c, 0x132a, + 0x0005, 0x0066, 0x6000, 0x90b2, 0x0016, 0x1a0c, 0x0d4e, 0x0013, + 0x006e, 0x0005, 0x8efa, 0x95bc, 0x977d, 0x8efa, 0x980a, 0x91bd, + 0x8efa, 0x8efa, 0x9543, 0x9cc5, 0x8efa, 0x8efa, 0x8efa, 0x8efa, + 0x8efa, 0x8efa, 0x080c, 0x0d4e, 0x0066, 0x6000, 0x90b2, 0x0016, + 0x1a0c, 0x0d4e, 0x0013, 0x006e, 0x0005, 0x8f15, 0xa2e0, 0x8f15, + 0x8f15, 0x8f15, 0x8f15, 0x8f15, 0x8f15, 0xa286, 0xa45c, 0x8f15, + 0xa313, 0xa390, 0xa313, 0xa390, 0x8f15, 0x080c, 0x0d4e, 0x6000, + 0x9082, 0x0016, 0x1a0c, 0x0d4e, 0x6000, 0x0002, 0x8f31, 0x9d06, + 0x9dd3, 0x9ef7, 0xa058, 0x8f31, 0x8f31, 0x8f31, 0x9ce0, 0xa236, + 0xa239, 0x8f31, 0x8f31, 0x8f31, 0x8f31, 0xa263, 0x8f31, 0x8f31, + 0x8f31, 0x080c, 0x0d4e, 0x0066, 0x6000, 0x90b2, 0x0016, 0x1a0c, + 0x0d4e, 0x0013, 0x006e, 0x0005, 0x8f4c, 0x8f4c, 0x8f8c, 0x901b, + 0x907d, 0x8f4c, 0x8f4c, 0x8f4c, 0x8f4e, 0x8f4c, 0x8f4c, 0x8f4c, + 0x8f4c, 0x8f4c, 0x8f4c, 0x8f4c, 0x080c, 0x0d4e, 0x9186, 0x004c, + 0x0590, 0x9186, 0x0003, 0x190c, 0x0d4e, 0x00d6, 0x601c, 0xc0ed, + 0x601e, 0x6003, 0x0003, 0x6106, 0x6014, 0x2068, 0x687c, 0x9084, + 0x8000, 0xc0b5, 0x687e, 0x68ac, 0x6846, 0x68b0, 0x684a, 0x6837, + 0x0000, 0x683b, 0x0000, 0x6884, 0x9092, 0x199a, 0x0210, 0x2001, + 0x1999, 0x8003, 0x8013, 0x8213, 0x9210, 0x621a, 0x00de, 0x2c10, + 0x080c, 0x15b3, 0x080c, 0x75de, 0x0126, 0x2091, 0x8000, 0x080c, + 0x7b49, 0x012e, 0x0005, 0x6010, 0x9080, 0x0028, 0x2024, 0x8427, + 0x2c00, 0x080c, 0x909e, 0x0005, 0x00d6, 0x00f6, 0x2079, 0x1100, + 0x7a88, 0x9290, 0x0018, 0x6014, 0x2068, 0x6c78, 0x0046, 0x68e0, + 0x9005, 0x1140, 0x68dc, 0x921a, 0x0140, 0x0220, 0x687b, 0x0007, + 0x2010, 0x0028, 0x687b, 0x0015, 0x0010, 0x687b, 0x0000, 0x8214, + 0x6883, 0x0000, 0x6a02, 0x0006, 0x0016, 0x0026, 0x00c6, 0x00d6, + 0x00e6, 0x00f6, 0x2400, 0x9005, 0x1108, 0x009a, 0x2100, 0x9086, + 0x0015, 0x1118, 0x2001, 0x0001, 0x0038, 0x2100, 0x9086, 0x0016, + 0x0118, 0x2001, 0x0001, 0x002a, 0x94a4, 0x0007, 0x8423, 0x9405, + 0x0002, 0x8feb, 0x8feb, 0x8fe6, 0x8fe9, 0x8feb, 0x8fe3, 0x8fd9, + 0x8fd9, 0x8fd9, 0x8fd9, 0x8fd9, 0x8fd9, 0x8fd9, 0x8fd9, 0x8fd9, + 0x8fd9, 0x00fe, 0x00ee, 0x00de, 0x00ce, 0x002e, 0x001e, 0x000e, + 0x000e, 0x080c, 0x0d4e, 0x080c, 0x995e, 0x0028, 0x080c, 0x9a37, + 0x0010, 0x080c, 0x9b2c, 0x00fe, 0x00ee, 0x00de, 0x00ce, 0x002e, + 0x001e, 0x2c00, 0x6896, 0x000e, 0x080c, 0x9151, 0x01e8, 0x6804, + 0x680e, 0x200c, 0x9080, 0x0002, 0x6acc, 0x6bd0, 0x6cd4, 0x6dd8, + 0x2039, 0x0001, 0x2031, 0x0000, 0x2041, 0x103d, 0x080c, 0x92c9, + 0x0158, 0x000e, 0x9005, 0x0118, 0x00fe, 0x00de, 0x0005, 0x00fe, + 0x00de, 0x080c, 0x8e49, 0x0005, 0x2001, 0x002c, 0x2009, 0x0000, + 0x080c, 0x91b2, 0x0c70, 0x9182, 0x0047, 0x0002, 0x9027, 0x9027, + 0x9029, 0x9057, 0x9027, 0x9027, 0x9027, 0x9027, 0x9069, 0x080c, + 0x0d4e, 0x00d6, 0x0016, 0x080c, 0x7a29, 0x080c, 0x7b49, 0x6003, + 0x0004, 0x6114, 0x2168, 0x687c, 0xd0fc, 0x0190, 0x6878, 0x9005, + 0x1160, 0x6894, 0x9005, 0x0148, 0x2001, 0x0000, 0x2009, 0x0000, + 0x080c, 0x91b2, 0x080c, 0x8e49, 0x0078, 0x6003, 0x0002, 0x0060, + 0x687f, 0x0020, 0x688c, 0x688a, 0x68a4, 0x68ae, 0x68a8, 0x68b2, + 0x68c7, 0x0000, 0x68cb, 0x0000, 0x001e, 0x00de, 0x0005, 0x080c, + 0x7a29, 0x00d6, 0x6114, 0x2168, 0x080c, 0xa853, 0x0120, 0x687b, + 0x0006, 0x080c, 0x5b7a, 0x00de, 0x080c, 0x8e49, 0x080c, 0x7b49, + 0x0005, 0x080c, 0x7a29, 0x080c, 0x2841, 0x00d6, 0x6114, 0x2168, + 0x080c, 0xa853, 0x0120, 0x687b, 0x0029, 0x080c, 0x5b7a, 0x00de, + 0x080c, 0x8e49, 0x080c, 0x7b49, 0x0005, 0x9182, 0x0047, 0x0002, + 0x908d, 0x908f, 0x908d, 0x908d, 0x908d, 0x908d, 0x908d, 0x908d, + 0x908d, 0x908d, 0x908d, 0x908d, 0x908f, 0x080c, 0x0d4e, 0x00d6, + 0x080c, 0x12b9, 0x6114, 0x2168, 0x687b, 0x0000, 0x6883, 0x0000, + 0x080c, 0x5b7a, 0x00de, 0x080c, 0x8e49, 0x0005, 0x0026, 0x0036, + 0x0056, 0x0066, 0x00d6, 0x00f6, 0x0006, 0x080c, 0x0e69, 0x000e, + 0x090c, 0x0d4e, 0x20e9, 0x0001, 0x9d88, 0x0019, 0x21a0, 0x2009, + 0x0000, 0x20a9, 0x0020, 0x4104, 0x687a, 0x2079, 0x1100, 0x7988, + 0x9188, 0x0018, 0x918c, 0x0fff, 0x6972, 0x6c76, 0x2d78, 0x00f6, + 0x2001, 0x0205, 0x2003, 0x0000, 0x2019, 0x0000, 0x2029, 0x0001, + 0x9182, 0x0034, 0x1228, 0x9f90, 0x001f, 0x080c, 0xa4e1, 0x04c0, + 0x2130, 0x2009, 0x0034, 0x9f90, 0x001f, 0x080c, 0xa4e1, 0x96b2, + 0x0034, 0x7804, 0x906d, 0x0110, 0x080c, 0x0e92, 0x080c, 0x0e69, + 0x01d0, 0x8528, 0x6867, 0x0110, 0x686b, 0x0000, 0x2d20, 0x7c06, + 0x968a, 0x003d, 0x1230, 0x2608, 0x9d90, 0x001b, 0x080c, 0xa4e1, + 0x00b8, 0x96b2, 0x003c, 0x2009, 0x003c, 0x2d78, 0x9d90, 0x001b, + 0x080c, 0xa4e1, 0x0c18, 0x2079, 0x0200, 0x7817, 0x0000, 0x00fe, + 0x852f, 0x95ad, 0x0050, 0x7d66, 0x7870, 0xc0fd, 0x7872, 0x0048, + 0x2079, 0x0200, 0x7817, 0x0000, 0x00fe, 0x852f, 0x95ad, 0x0050, + 0x7d66, 0x2f68, 0x6804, 0x6807, 0x0000, 0x0006, 0x080c, 0x5b7a, + 0x000e, 0x2068, 0x9005, 0x1db0, 0x00fe, 0x00de, 0x006e, 0x005e, + 0x003e, 0x002e, 0x0005, 0x00d6, 0x00f6, 0x0006, 0x080c, 0x0e69, + 0x000e, 0x090c, 0x0d4e, 0x20e9, 0x0001, 0x9d88, 0x0019, 0x21a0, + 0x2009, 0x0000, 0x20a9, 0x0020, 0x4104, 0x6a66, 0x687a, 0x2079, + 0x1100, 0x7988, 0x810c, 0x9188, 0x000c, 0x9182, 0x001a, 0x0210, + 0x2009, 0x001a, 0x21a8, 0x810b, 0x6972, 0x6c76, 0x2e98, 0x9d80, + 0x001f, 0x20a0, 0x080c, 0x5034, 0x080c, 0x5b7a, 0x00fe, 0x00de, + 0x0005, 0x0016, 0x00d6, 0x00f6, 0x2079, 0x0200, 0x2e98, 0x2021, + 0x003e, 0x2019, 0x0000, 0x9282, 0x0020, 0x0218, 0x2011, 0x0020, + 0x2018, 0x9486, 0x003e, 0x1170, 0x00d6, 0x080c, 0x0e50, 0x2d00, + 0x00de, 0x0904, 0x91aa, 0x6806, 0x2068, 0x20e9, 0x0001, 0x9080, + 0x0002, 0x20a0, 0x3300, 0x908e, 0x0260, 0x0140, 0x2009, 0x0280, + 0x9102, 0x920a, 0x0218, 0x2010, 0x2100, 0x9318, 0x2200, 0x9402, + 0x1228, 0x2410, 0x2001, 0x0000, 0x9398, 0x0002, 0x2020, 0x22a8, + 0x6800, 0x9200, 0x6802, 0x0016, 0x0026, 0x3410, 0x3308, 0x2104, + 0x8007, 0x2012, 0x8108, 0x8210, 0x1f04, 0x918f, 0x22a0, 0x2198, + 0x002e, 0x001e, 0x83ff, 0x0170, 0x3300, 0x9086, 0x0280, 0x1120, + 0x7814, 0x8000, 0x7816, 0x2e98, 0x2310, 0x84ff, 0x0904, 0x9157, + 0x0804, 0x9159, 0x9085, 0x0001, 0x7817, 0x0000, 0x00fe, 0x00de, + 0x001e, 0x0005, 0x00d6, 0x0036, 0x6314, 0x2368, 0x687a, 0x6982, + 0x080c, 0x5b7a, 0x003e, 0x00de, 0x0005, 0x91b6, 0x0015, 0x1118, + 0x080c, 0x8e49, 0x0030, 0x91b6, 0x0016, 0x190c, 0x0d4e, 0x080c, + 0x8e49, 0x0005, 0x20a9, 0x000e, 0x20e1, 0x0000, 0x2e98, 0x6014, + 0x20e9, 0x0001, 0x20a0, 0x4003, 0x9080, 0x001b, 0x2020, 0x20a9, + 0x0006, 0x3310, 0x9298, 0x0001, 0x94a8, 0x0001, 0x222e, 0x2326, + 0x9290, 0x0002, 0x95a8, 0x0002, 0x9398, 0x0002, 0x94a0, 0x0002, + 0x1f04, 0x91de, 0x00e6, 0x080c, 0xa853, 0x0130, 0x6014, 0x2070, + 0x7007, 0x0000, 0x7067, 0x0103, 0x00ee, 0x080c, 0x8e49, 0x0005, + 0x00d6, 0x0036, 0x7330, 0x9386, 0x0200, 0x1130, 0x6010, 0x2068, + 0x6813, 0x00ff, 0x6817, 0xfffd, 0x6014, 0x9005, 0x0130, 0x2068, + 0x6807, 0x0000, 0x6867, 0x0103, 0x6b32, 0x080c, 0x8e49, 0x003e, + 0x00de, 0x0005, 0x0016, 0x20a9, 0x002a, 0x9e80, 0x000c, 0x20e1, + 0x0000, 0x2098, 0x6014, 0x9080, 0x0002, 0x20e9, 0x0001, 0x20a0, + 0x4003, 0x20a9, 0x002a, 0x6014, 0x9080, 0x0001, 0x2004, 0x9080, + 0x0002, 0x20a0, 0x4003, 0x00e6, 0x6014, 0x2004, 0x2070, 0x7067, + 0x0103, 0x00ee, 0x080c, 0x8e49, 0x001e, 0x0005, 0x0016, 0x2009, + 0x0000, 0x7030, 0x9086, 0x0100, 0x0140, 0x7038, 0x9084, 0x00ff, + 0x800c, 0x703c, 0x9084, 0x00ff, 0x8004, 0x9080, 0x0004, 0x9108, + 0x9192, 0x0014, 0x1218, 0x2011, 0x0000, 0x0010, 0x2009, 0x0014, + 0x21a8, 0x9e80, 0x000c, 0x2098, 0x6014, 0x9080, 0x0002, 0x20a0, + 0x080c, 0x5034, 0x82ff, 0x0170, 0x2009, 0x0205, 0x2104, 0x8000, + 0x200a, 0x2e00, 0x2098, 0x3400, 0x9080, 0x0014, 0x20a0, 0x22a8, + 0x080c, 0x5034, 0x00e6, 0x080c, 0xa853, 0x0140, 0x6014, 0x2070, + 0x7007, 0x0000, 0x7064, 0x70e2, 0x7067, 0x0103, 0x00ee, 0x080c, + 0x8e49, 0x001e, 0x0005, 0x0016, 0x00d6, 0x7030, 0x9086, 0x0100, + 0x1118, 0x2009, 0x0004, 0x0010, 0x7034, 0x800c, 0x21a8, 0x9e80, + 0x000c, 0x2098, 0x6014, 0x2068, 0x6804, 0x9005, 0x1108, 0x2d00, + 0x9080, 0x000c, 0x20a0, 0x080c, 0x5034, 0x080c, 0xa853, 0x0148, + 0x6804, 0x9005, 0x1158, 0x6807, 0x0000, 0x6864, 0x68e2, 0x6867, + 0x0103, 0x080c, 0x8e49, 0x00de, 0x001e, 0x0005, 0x00e6, 0x2070, + 0x7030, 0x8007, 0x9086, 0x0100, 0x1118, 0x080c, 0x9743, 0x00b8, + 0x7034, 0x8007, 0x800c, 0x9e80, 0x000c, 0x687b, 0x0000, 0x6883, + 0x0000, 0x6897, 0x4000, 0x6aa0, 0x6b9c, 0x6ca8, 0x6da4, 0x2031, + 0x0000, 0x2039, 0x0001, 0x2041, 0x1024, 0x0019, 0x0d30, 0x00ee, + 0x08c0, 0x00d6, 0x0006, 0x080c, 0x0e50, 0x000e, 0x0190, 0x6812, + 0x000e, 0x683e, 0x0006, 0x6e06, 0x2800, 0x683a, 0x6916, 0x6f0e, + 0x6a2a, 0x6b2e, 0x6c32, 0x6d36, 0x2d10, 0x080c, 0x0ee1, 0x9085, + 0x0001, 0x00de, 0x0005, 0x00e6, 0x00d6, 0x7008, 0x9084, 0x00ff, + 0x6110, 0x9188, 0x0004, 0x210c, 0x9106, 0x1528, 0x700c, 0x6110, + 0x9188, 0x0005, 0x210c, 0x9106, 0x11f0, 0x6043, 0x0000, 0x2c68, + 0x0016, 0x2009, 0x0035, 0x080c, 0xae51, 0x001e, 0x1168, 0x0026, + 0x622c, 0x2268, 0x002e, 0x2071, 0x026c, 0x6b20, 0x9386, 0x0003, + 0x0130, 0x9386, 0x0006, 0x0128, 0x080c, 0x8e49, 0x0020, 0x0031, + 0x0010, 0x080c, 0x93cf, 0x00de, 0x00ee, 0x0005, 0x00f6, 0x6814, + 0x2078, 0x9186, 0x0015, 0x0904, 0x93b6, 0x918e, 0x0016, 0x1904, + 0x93cd, 0x700c, 0x908c, 0xff00, 0x9186, 0x1700, 0x0120, 0x9186, + 0x0300, 0x1904, 0x9395, 0x8fff, 0x1138, 0x6800, 0x9086, 0x000f, + 0x0904, 0x9379, 0x0804, 0x93cb, 0x6808, 0x9086, 0xffff, 0x1904, + 0x93b8, 0x787c, 0x9084, 0x0060, 0x9086, 0x0020, 0x1128, 0x783c, + 0x7940, 0x9105, 0x1904, 0x93b8, 0x080c, 0xaa23, 0x685c, 0x7882, + 0x787c, 0xc0dc, 0xc0f4, 0xc0d4, 0x787e, 0x0026, 0x900e, 0x6a18, + 0x2001, 0x000a, 0x080c, 0x73d2, 0x7884, 0x920a, 0x0208, 0x8011, + 0x7a86, 0x82ff, 0x002e, 0x1138, 0x00c6, 0x2d60, 0x080c, 0xa5f2, + 0x00ce, 0x0804, 0x93cb, 0x00c6, 0x00d6, 0x2f68, 0x6868, 0xd0fc, + 0x1118, 0x080c, 0x513a, 0x0010, 0x080c, 0x54ce, 0x00de, 0x00ce, + 0x1904, 0x93b8, 0x00c6, 0x2d60, 0x080c, 0x8e49, 0x00ce, 0x0804, + 0x93cb, 0x00c6, 0x080c, 0x8e92, 0x0190, 0x6017, 0x0000, 0x6810, + 0x6012, 0x080c, 0xac70, 0x6023, 0x0003, 0x6904, 0x00c6, 0x2d60, + 0x080c, 0x8e49, 0x00ce, 0x080c, 0x8ebf, 0x00ce, 0x04e0, 0x2001, + 0x12c2, 0x2004, 0x6842, 0x00ce, 0x04b0, 0x7008, 0x9086, 0x000b, + 0x11a0, 0x6010, 0x200c, 0xc1bc, 0x2102, 0x00c6, 0x2d60, 0x7883, + 0x0003, 0x6007, 0x0085, 0x6003, 0x000b, 0x6023, 0x0002, 0x080c, + 0x7571, 0x080c, 0x7a7b, 0x00ce, 0x00f0, 0x700c, 0x9086, 0x2a00, + 0x1138, 0x2001, 0x12c2, 0x2004, 0x6842, 0x00a8, 0x0481, 0x00a8, + 0x8fff, 0x090c, 0x0d4e, 0x00c6, 0x00d6, 0x2d60, 0x2f68, 0x6867, + 0x0103, 0x687b, 0x0003, 0x080c, 0xa4d1, 0x080c, 0xaa23, 0x080c, + 0x8e79, 0x00de, 0x00ce, 0x080c, 0x8e49, 0x00fe, 0x0005, 0x9186, + 0x0015, 0x1128, 0x2001, 0x12c2, 0x2004, 0x6842, 0x0068, 0x918e, + 0x0016, 0x1160, 0x00c6, 0x2d00, 0x2060, 0x080c, 0xc29d, 0x080c, + 0x7366, 0x080c, 0x8e49, 0x00ce, 0x080c, 0x8e49, 0x0005, 0x0026, + 0x0036, 0x0046, 0x7228, 0x7cb0, 0x7bac, 0xd2f4, 0x0130, 0x2001, + 0x12c2, 0x2004, 0x6842, 0x0804, 0x944b, 0x00c6, 0x2d60, 0x080c, + 0xa4fe, 0x00ce, 0x6804, 0x9086, 0x0050, 0x1170, 0x00c6, 0x2d00, + 0x2060, 0x6003, 0x0001, 0x6007, 0x0050, 0x080c, 0x7571, 0x080c, + 0x7a7b, 0x00ce, 0x0804, 0x944b, 0x6800, 0x9086, 0x000f, 0x01c8, + 0x8fff, 0x090c, 0x0d4e, 0x6824, 0xd0dc, 0x1198, 0x6800, 0x9086, + 0x0004, 0x1198, 0x787c, 0xd0ac, 0x0180, 0x7843, 0x0fff, 0x783f, + 0x0fff, 0x7880, 0xc0f4, 0xc0fc, 0x7882, 0x2001, 0x0001, 0x6832, + 0x00e8, 0x2001, 0x0007, 0x6832, 0x00c8, 0x787c, 0xd0b4, 0x1138, + 0xd0ac, 0x0db8, 0x7838, 0x7934, 0x9105, 0x0d98, 0x0c30, 0xd2ec, + 0x1d80, 0x7024, 0x9306, 0x1118, 0x7020, 0x9406, 0x0d50, 0x7020, + 0x683e, 0x7024, 0x683a, 0x2001, 0x0005, 0x6832, 0x080c, 0xab7d, + 0x080c, 0x7a7b, 0x0010, 0x080c, 0x8e49, 0x004e, 0x003e, 0x002e, + 0x0005, 0x00e6, 0x00d6, 0x0026, 0x7008, 0x9084, 0x00ff, 0x6110, + 0x9188, 0x0004, 0x210c, 0x9106, 0x1904, 0x94c3, 0x700c, 0x6110, + 0x9188, 0x0005, 0x210c, 0x9106, 0x1904, 0x94c3, 0x6038, 0x2068, + 0x6a20, 0x9286, 0x0007, 0x0904, 0x94c1, 0x9286, 0x0002, 0x0904, + 0x94c1, 0x9286, 0x0000, 0x0904, 0x94c1, 0x6808, 0x633c, 0x9306, + 0x1904, 0x94c1, 0x2071, 0x026c, 0x9186, 0x0015, 0x05e0, 0x918e, + 0x0016, 0x1190, 0x6034, 0x9084, 0x00ff, 0x9086, 0x0001, 0x1160, + 0x700c, 0x9086, 0x2a00, 0x1140, 0x6038, 0x9080, 0x0009, 0x200c, + 0xc1dd, 0xc1f5, 0x2102, 0x0438, 0x00c6, 0x6038, 0x2060, 0x6104, + 0x9186, 0x004b, 0x01a0, 0x9186, 0x004c, 0x0188, 0x9186, 0x004d, + 0x0170, 0x9186, 0x004e, 0x0158, 0x9186, 0x0052, 0x0140, 0x6014, + 0x2068, 0x080c, 0xa853, 0x090c, 0x0d4e, 0x6883, 0x0003, 0x6007, + 0x0085, 0x6003, 0x000b, 0x6023, 0x0002, 0x080c, 0x7571, 0x080c, + 0x7a7b, 0x00ce, 0x0030, 0x6038, 0x2070, 0x2001, 0x12c2, 0x2004, + 0x7042, 0x080c, 0x8e49, 0x002e, 0x00de, 0x00ee, 0x0005, 0x00d6, + 0x00f6, 0x6014, 0x2068, 0x6010, 0x2078, 0x91b6, 0x0015, 0x0130, + 0x7a08, 0x7b0c, 0x7c00, 0xc48c, 0x7c02, 0x0448, 0x0156, 0x0036, + 0x0026, 0x9e90, 0x000c, 0x9290, 0x0004, 0x20a9, 0x0004, 0x9f98, + 0x000a, 0x080c, 0x9c86, 0x002e, 0x003e, 0x015e, 0x15f0, 0x0156, + 0x0036, 0x0026, 0x9e90, 0x000c, 0x9290, 0x0008, 0x20a9, 0x0004, + 0x9f98, 0x0006, 0x080c, 0x9c86, 0x002e, 0x003e, 0x015e, 0x1568, + 0x7238, 0x7a0a, 0x733c, 0x7b0e, 0x7c00, 0xc48d, 0x7c02, 0x6804, + 0x9005, 0x1120, 0x00fe, 0x00de, 0x0804, 0x91ea, 0x9080, 0x0002, + 0x00d6, 0x2068, 0x6a0a, 0x6b0e, 0x6c02, 0x00de, 0x2009, 0x002b, + 0x6aa0, 0x6b9c, 0x6ca8, 0x6da4, 0x2031, 0x0000, 0x2039, 0x0001, + 0x2041, 0x1024, 0x080c, 0x92c9, 0x0128, 0x00fe, 0x00de, 0x080c, + 0x8e49, 0x0005, 0x080c, 0x9743, 0x0cc0, 0x00f6, 0x080c, 0x2841, + 0x00fe, 0x00c6, 0x080c, 0x8df3, 0x2f00, 0x6012, 0x6017, 0x0000, + 0x6023, 0x0001, 0x6007, 0x0001, 0x6003, 0x0001, 0x2001, 0x0007, + 0x080c, 0x5569, 0x080c, 0x5596, 0x080c, 0x75c1, 0x080c, 0x7a7b, + 0x00ce, 0x0804, 0x94ff, 0x2100, 0x91b2, 0x0051, 0x1a0c, 0x0d4e, + 0x91b2, 0x0040, 0x1a04, 0x95a7, 0x0002, 0x959b, 0x958f, 0x959b, + 0x959b, 0x959b, 0x959b, 0x958d, 0x958d, 0x958d, 0x958d, 0x958d, + 0x958d, 0x958d, 0x958d, 0x958d, 0x958d, 0x958d, 0x958d, 0x958d, + 0x958d, 0x958d, 0x958d, 0x958d, 0x958d, 0x958d, 0x958d, 0x958d, + 0x958d, 0x958d, 0x958d, 0x958d, 0x959b, 0x958d, 0x959b, 0x959b, + 0x958d, 0x958d, 0x958d, 0x958d, 0x958d, 0x959b, 0x958d, 0x958d, + 0x958d, 0x958d, 0x958d, 0x958d, 0x958d, 0x958d, 0x958d, 0x959b, + 0x959b, 0x958d, 0x958d, 0x958d, 0x958d, 0x958d, 0x958d, 0x958d, + 0x958d, 0x958d, 0x959b, 0x958d, 0x958d, 0x080c, 0x0d4e, 0x6003, + 0x0001, 0x6106, 0x080c, 0x75c1, 0x0126, 0x2091, 0x8000, 0x080c, + 0x7a7b, 0x012e, 0x0005, 0x6003, 0x0001, 0x6106, 0x080c, 0x75c1, + 0x0126, 0x2091, 0x8000, 0x080c, 0x7a7b, 0x012e, 0x0005, 0x2600, + 0x0002, 0x95ba, 0x95ba, 0x95ba, 0x959b, 0x959b, 0x95ba, 0x95ba, + 0x95ba, 0x95ba, 0x959b, 0x95ba, 0x959b, 0x95ba, 0x959b, 0x95ba, + 0x95ba, 0x95ba, 0x080c, 0x0d4e, 0x6004, 0x90b2, 0x0051, 0x1a0c, + 0x0d4e, 0x91b6, 0x0013, 0x0904, 0x966a, 0x91b6, 0x0027, 0x1904, + 0x9630, 0x080c, 0x797f, 0x6004, 0x080c, 0xaa2f, 0x0190, 0x080c, + 0xaa40, 0x0904, 0x962a, 0x908e, 0x0021, 0x0904, 0x962d, 0x908e, + 0x0022, 0x0904, 0x962a, 0x908e, 0x003d, 0x0904, 0x962d, 0x0804, + 0x9623, 0x080c, 0x2865, 0x2001, 0x0007, 0x080c, 0x5569, 0x6010, + 0x9080, 0x0028, 0x200c, 0x080c, 0x9743, 0x9186, 0x007e, 0x1148, + 0x2001, 0x1135, 0x2014, 0xc285, 0x080c, 0x62c5, 0x1108, 0xc2ad, + 0x2202, 0x0016, 0x0026, 0x0036, 0x2110, 0x0026, 0x2019, 0x0028, + 0x080c, 0x8a43, 0x002e, 0x080c, 0xc2f0, 0x003e, 0x002e, 0x001e, + 0x0016, 0x0026, 0x0036, 0x2110, 0x2019, 0x0028, 0x080c, 0x76e4, + 0x0076, 0x2039, 0x0000, 0x080c, 0x75f1, 0x6010, 0x00c6, 0x9065, + 0x0100, 0x00ce, 0x2c08, 0x080c, 0xbdcb, 0x007e, 0x003e, 0x002e, + 0x001e, 0x080c, 0x55d6, 0x080c, 0xac68, 0x080c, 0x8e49, 0x080c, + 0x7a7b, 0x0005, 0x080c, 0x9743, 0x0cb0, 0x080c, 0x9771, 0x0c98, + 0x9186, 0x0014, 0x1db0, 0x080c, 0x797f, 0x080c, 0x2841, 0x080c, + 0xaa2f, 0x1188, 0x080c, 0x2865, 0x6010, 0x9080, 0x0028, 0x200c, + 0x080c, 0x9743, 0x9186, 0x007e, 0x1128, 0x2001, 0x1135, 0x200c, + 0xc185, 0x2102, 0x08c0, 0x080c, 0xaa40, 0x1118, 0x080c, 0x9743, + 0x0890, 0x6004, 0x908e, 0x0032, 0x1158, 0x00e6, 0x00f6, 0x2071, + 0x1193, 0x2079, 0x0000, 0x080c, 0x2b77, 0x00fe, 0x00ee, 0x0818, + 0x6004, 0x908e, 0x0021, 0x0d50, 0x908e, 0x0022, 0x090c, 0x9743, + 0x0804, 0x9623, 0x90b2, 0x0040, 0x1a04, 0x972d, 0x2008, 0x0002, + 0x96b2, 0x96b3, 0x96b6, 0x96b9, 0x96bc, 0x96bf, 0x96b0, 0x96b0, + 0x96b0, 0x96b0, 0x96b0, 0x96b0, 0x96b0, 0x96b0, 0x96b0, 0x96b0, + 0x96b0, 0x96b0, 0x96b0, 0x96b0, 0x96b0, 0x96b0, 0x96b0, 0x96b0, + 0x96b0, 0x96b0, 0x96b0, 0x96b0, 0x96b0, 0x96b0, 0x96c2, 0x96d1, + 0x96b0, 0x96d3, 0x96d1, 0x96b0, 0x96b0, 0x96b0, 0x96b0, 0x96b0, + 0x96d1, 0x96d1, 0x96b0, 0x96b0, 0x96b0, 0x96b0, 0x96b0, 0x96b0, + 0x96b0, 0x96b0, 0x970d, 0x96d1, 0x96b0, 0x96cd, 0x96b0, 0x96b0, + 0x96b0, 0x96ce, 0x96b0, 0x96b0, 0x96b0, 0x96d1, 0x9704, 0x96b0, + 0x080c, 0x0d4e, 0x00f0, 0x2001, 0x000b, 0x0460, 0x2001, 0x0003, + 0x0448, 0x2001, 0x0005, 0x0430, 0x2001, 0x0001, 0x0418, 0x2001, + 0x0009, 0x0400, 0x080c, 0x797f, 0x6003, 0x0005, 0x2001, 0x12c2, + 0x2004, 0x6042, 0x080c, 0x7a7b, 0x00a0, 0x0018, 0x0010, 0x080c, + 0x5569, 0x0804, 0x971e, 0x080c, 0x797f, 0x2001, 0x12c0, 0x2004, + 0x601a, 0x2001, 0x12c2, 0x2004, 0x6042, 0x6003, 0x0004, 0x080c, + 0x7a7b, 0x0005, 0x080c, 0x5569, 0x080c, 0x797f, 0x6003, 0x0002, + 0x2001, 0x12c2, 0x2004, 0x6042, 0x0036, 0x2019, 0x115d, 0x2304, + 0x9084, 0xff00, 0x1120, 0x2001, 0x12c0, 0x201c, 0x0040, 0x8007, + 0x909a, 0x0004, 0x0ec0, 0x8003, 0x801b, 0x831b, 0x9318, 0x631a, + 0x003e, 0x080c, 0x7a7b, 0x08e8, 0x080c, 0x797f, 0x080c, 0xac68, + 0x080c, 0x8e49, 0x080c, 0x7a7b, 0x08a0, 0x00e6, 0x00f6, 0x2071, + 0x1193, 0x2079, 0x0000, 0x080c, 0x2b77, 0x00fe, 0x00ee, 0x080c, + 0x797f, 0x080c, 0x8e49, 0x080c, 0x7a7b, 0x0818, 0x080c, 0x797f, + 0x2001, 0x12c2, 0x2004, 0x6042, 0x6003, 0x0002, 0x2001, 0x12c0, + 0x2004, 0x601a, 0x080c, 0x7a7b, 0x0005, 0x2600, 0x2008, 0x0002, + 0x9741, 0x9741, 0x9741, 0x971e, 0x971e, 0x9741, 0x9741, 0x9741, + 0x9741, 0x971e, 0x9741, 0x971e, 0x9741, 0x971e, 0x9741, 0x9741, + 0x9741, 0x080c, 0x0d4e, 0x00e6, 0x0026, 0x0016, 0x080c, 0xa853, + 0x0508, 0x6014, 0x2070, 0x7064, 0x9086, 0x0139, 0x1148, 0x2001, + 0x0030, 0x2009, 0x0000, 0x2011, 0x4005, 0x080c, 0xadc1, 0x0090, + 0x7068, 0xd0fc, 0x0178, 0x7007, 0x0000, 0x0016, 0x6004, 0x908e, + 0x0021, 0x0160, 0x908e, 0x003d, 0x0148, 0x001e, 0x7067, 0x0103, + 0x7033, 0x0100, 0x001e, 0x002e, 0x00ee, 0x0005, 0x001e, 0x0009, + 0x0cc8, 0x00e6, 0x9cf0, 0x0005, 0x2e74, 0x7000, 0x2070, 0x7067, + 0x0103, 0x7023, 0x8001, 0x00ee, 0x0005, 0x00d6, 0x6610, 0x2668, + 0x6804, 0x9084, 0x00ff, 0x00de, 0x90b2, 0x000c, 0x1a0c, 0x0d4e, + 0x6604, 0x96b6, 0x004d, 0x1120, 0x080c, 0xacf7, 0x0804, 0x97fa, + 0x6604, 0x96b6, 0x0043, 0x1120, 0x080c, 0xad3a, 0x0804, 0x97fa, + 0x6604, 0x96b6, 0x004b, 0x1120, 0x080c, 0xad67, 0x0804, 0x97fa, + 0x6604, 0x96b6, 0x0033, 0x1120, 0x080c, 0xac8b, 0x0804, 0x97fa, + 0x6604, 0x96b6, 0x0028, 0x1120, 0x080c, 0xaa70, 0x0804, 0x97fa, + 0x6604, 0x96b6, 0x0029, 0x1120, 0x080c, 0xaaac, 0x0804, 0x97fa, + 0x6604, 0x96b6, 0x001f, 0x1118, 0x080c, 0x91ca, 0x04d8, 0x6604, + 0x96b6, 0x0000, 0x1118, 0x080c, 0x94c7, 0x04a0, 0x6604, 0x96b6, + 0x0022, 0x1118, 0x080c, 0x91f8, 0x0468, 0x6604, 0x96b6, 0x0035, + 0x1118, 0x080c, 0x92e3, 0x0430, 0x6604, 0x96b6, 0x0039, 0x1118, + 0x080c, 0x9451, 0x00f8, 0x6604, 0x96b6, 0x003d, 0x1118, 0x080c, + 0x9212, 0x00c0, 0x6604, 0x96b6, 0x0044, 0x1118, 0x080c, 0x9236, + 0x0088, 0x6604, 0x96b6, 0x0049, 0x1118, 0x080c, 0x927b, 0x0050, + 0x91b6, 0x0015, 0x1110, 0x0053, 0x0028, 0x91b6, 0x0016, 0x1118, + 0x0804, 0x99e8, 0x0005, 0x080c, 0x8eda, 0x0ce0, 0x9818, 0x981b, + 0x9818, 0x985f, 0x9818, 0x995e, 0x99f6, 0x9818, 0x9818, 0x99c2, + 0x9818, 0x99d8, 0x00e6, 0x080c, 0x12b9, 0x9cf0, 0x0005, 0x2e74, + 0x7000, 0x2070, 0x7067, 0x0103, 0x00ee, 0x080c, 0x8e49, 0x0005, + 0xa001, 0xa001, 0x0005, 0x00e6, 0x2071, 0x1100, 0x7088, 0x9086, + 0x0074, 0x1540, 0x080c, 0xbda2, 0x11b0, 0x6010, 0x00d6, 0x2068, + 0x7030, 0xd08c, 0x0128, 0x6800, 0xd0bc, 0x0110, 0xc0c5, 0x6802, + 0x00e9, 0x00de, 0x2001, 0x0006, 0x080c, 0x5569, 0x080c, 0x2865, + 0x080c, 0x8e49, 0x0088, 0x2001, 0x000a, 0x080c, 0x5569, 0x080c, + 0x2865, 0x6003, 0x0001, 0x6007, 0x0001, 0x080c, 0x75c1, 0x080c, + 0x7a7b, 0x0010, 0x080c, 0x9945, 0x00ee, 0x0005, 0x6800, 0xd084, + 0x0168, 0x2001, 0x0000, 0x080c, 0x5557, 0x2069, 0x1152, 0x6804, + 0xd0a4, 0x0120, 0x2001, 0x0006, 0x080c, 0x5596, 0x0005, 0x00d6, + 0x2011, 0x1122, 0x2204, 0x9086, 0x0074, 0x1904, 0x9942, 0x6010, + 0x2068, 0x6aa0, 0x9286, 0x007e, 0x1120, 0x080c, 0x9b36, 0x0804, + 0x98dc, 0x080c, 0x9b2c, 0x6010, 0x2068, 0x6aa0, 0x9286, 0x0080, + 0x1538, 0x6813, 0x00ff, 0x6817, 0xfffc, 0x6014, 0x9005, 0x01b0, + 0x2068, 0x6864, 0x9084, 0x00ff, 0x9086, 0x0039, 0x1148, 0x2001, + 0x0000, 0x2009, 0x0000, 0x2011, 0x4000, 0x080c, 0xadc1, 0x0030, + 0x6807, 0x0000, 0x6867, 0x0103, 0x6833, 0x0200, 0x2001, 0x0006, + 0x080c, 0x5569, 0x080c, 0x2865, 0x080c, 0x8e49, 0x0804, 0x9943, + 0x00e6, 0x2071, 0x1135, 0x2e04, 0xd09c, 0x0188, 0x2071, 0x0260, + 0x7108, 0x720c, 0x918c, 0x00ff, 0x1118, 0x9284, 0xff00, 0x0138, + 0x6010, 0x2070, 0x70a0, 0xd0bc, 0x1110, 0x7112, 0x7216, 0x00ee, + 0x6014, 0x9005, 0x0198, 0x2068, 0x6868, 0xd0f4, 0x0178, 0x6864, + 0x9084, 0x00ff, 0x9086, 0x0039, 0x1958, 0x2001, 0x0000, 0x2009, + 0x0000, 0x2011, 0x4000, 0x080c, 0xadc1, 0x0840, 0x2001, 0x0004, + 0x080c, 0x5569, 0x6003, 0x0001, 0x6007, 0x0003, 0x080c, 0x75c1, + 0x080c, 0x7a7b, 0x0804, 0x9943, 0x685c, 0xd0e4, 0x01d8, 0x080c, + 0xac0a, 0x080c, 0x62c5, 0x0118, 0xd0dc, 0x1904, 0x9896, 0x2011, + 0x1135, 0x2204, 0xc0ad, 0x2012, 0x2001, 0x1298, 0x2004, 0x00f6, + 0x2079, 0x0100, 0x78e3, 0x0000, 0x080c, 0x1f43, 0x78e2, 0x00fe, + 0x0804, 0x9896, 0x080c, 0xac47, 0x2011, 0x1135, 0x2204, 0xc0a5, + 0x2012, 0x0006, 0x080c, 0xbee6, 0x000e, 0x1904, 0x9896, 0xc0b5, + 0x2012, 0x2001, 0x0006, 0x080c, 0x5569, 0x2001, 0x0000, 0x080c, + 0x5557, 0x00c6, 0x2009, 0x00ef, 0x00f6, 0x2079, 0x0100, 0x79ea, + 0x7932, 0x7936, 0x780c, 0xc0b5, 0x780e, 0x00fe, 0x080c, 0x1f18, + 0x00f6, 0x2079, 0x1100, 0x797a, 0x2100, 0x2009, 0x0000, 0x080c, + 0x1eee, 0x7956, 0x00fe, 0x8108, 0x080c, 0x55b9, 0x2c00, 0x00ce, + 0x1904, 0x9896, 0x6012, 0x2001, 0x0002, 0x080c, 0x5569, 0x6023, + 0x0001, 0x6003, 0x0001, 0x6007, 0x0002, 0x080c, 0x75c1, 0x080c, + 0x7a7b, 0x0008, 0x0011, 0x00de, 0x0005, 0x2030, 0x2001, 0x0007, + 0x080c, 0x5569, 0x2001, 0x1100, 0x2004, 0x9086, 0x0003, 0x1120, + 0x2001, 0x0007, 0x080c, 0x5596, 0x080c, 0x2865, 0x6020, 0x9086, + 0x000a, 0x1108, 0x0005, 0x080c, 0x8e49, 0x0005, 0x00e6, 0x0026, + 0x0016, 0x2071, 0x1100, 0x7088, 0x9086, 0x0014, 0x1904, 0x99ba, + 0x7000, 0x9086, 0x0003, 0x1178, 0x6014, 0x9005, 0x1160, 0x0036, + 0x0046, 0x6010, 0x9080, 0x0028, 0x201c, 0x2021, 0x0006, 0x080c, + 0x3fce, 0x004e, 0x003e, 0x00d6, 0x6010, 0x2068, 0x080c, 0x56af, + 0x080c, 0x984e, 0x00de, 0x080c, 0x9bfd, 0x15a0, 0x6010, 0x00d6, + 0x2068, 0x6890, 0x00de, 0x9005, 0x0568, 0x2001, 0x0006, 0x080c, + 0x5569, 0x00e6, 0x6014, 0x9075, 0x01d8, 0x7064, 0x9084, 0x00ff, + 0x9086, 0x0039, 0x1148, 0x2001, 0x0000, 0x2009, 0x0000, 0x2011, + 0x4000, 0x080c, 0xadc1, 0x0060, 0x7064, 0x9084, 0x00ff, 0x9086, + 0x0029, 0x0130, 0x7007, 0x0000, 0x7067, 0x0103, 0x7033, 0x0200, + 0x00ee, 0x080c, 0x2865, 0x6020, 0x9086, 0x000a, 0x0138, 0x080c, + 0x8e49, 0x0020, 0x080c, 0x9743, 0x080c, 0x9945, 0x001e, 0x002e, + 0x00ee, 0x0005, 0x2011, 0x1122, 0x2204, 0x9086, 0x0014, 0x1168, + 0x2001, 0x0002, 0x080c, 0x5569, 0x6003, 0x0001, 0x6007, 0x0001, + 0x080c, 0x75c1, 0x080c, 0x7a7b, 0x0010, 0x080c, 0x9945, 0x0005, + 0x2011, 0x1122, 0x2204, 0x9086, 0x0004, 0x1138, 0x2001, 0x0007, + 0x080c, 0x5569, 0x080c, 0x8e49, 0x0010, 0x080c, 0x9945, 0x0005, + 0x000b, 0x0005, 0x9818, 0x9a01, 0x9818, 0x9a37, 0x9818, 0x9ae2, + 0x99f6, 0x9818, 0x9818, 0x9af7, 0x9818, 0x9b09, 0x6604, 0x9686, + 0x0003, 0x0904, 0x995e, 0x96b6, 0x001e, 0x1110, 0x080c, 0x8e49, + 0x0005, 0x00d6, 0x00c6, 0x080c, 0x9b1b, 0x1188, 0x2001, 0x0000, + 0x080c, 0x5557, 0x2001, 0x0002, 0x080c, 0x5569, 0x6003, 0x0001, + 0x6007, 0x0002, 0x080c, 0x75c1, 0x080c, 0x7a7b, 0x00e8, 0x2009, + 0x026e, 0x2104, 0x9086, 0x0009, 0x1160, 0x6010, 0x2068, 0x6840, + 0x9084, 0x00ff, 0x9005, 0x0170, 0x8001, 0x6842, 0x601b, 0x000a, + 0x0058, 0x2009, 0x026f, 0x2104, 0x9084, 0xff00, 0x9086, 0x1900, + 0x1108, 0x08c0, 0x080c, 0x9945, 0x00ce, 0x00de, 0x0005, 0x0026, + 0x9016, 0x080c, 0x9b29, 0x00d6, 0x2069, 0x12a7, 0x2d04, 0x9005, + 0x0168, 0x6010, 0x2068, 0x68a0, 0x9086, 0x007e, 0x1138, 0x2069, + 0x111e, 0x2d04, 0x8000, 0x206a, 0x00de, 0x0010, 0x00de, 0x0090, + 0x2001, 0x0000, 0x080c, 0x5557, 0x2001, 0x0002, 0x080c, 0x5569, + 0x6003, 0x0001, 0x6007, 0x0002, 0x080c, 0x75c1, 0x080c, 0x7a7b, + 0x0804, 0x9ab0, 0x080c, 0xa853, 0x01b0, 0x6014, 0x9080, 0x0019, + 0x2004, 0x2010, 0x9086, 0x0139, 0x1128, 0x2001, 0x0002, 0x080c, + 0xae11, 0x00c8, 0x6014, 0x9080, 0x001a, 0x2004, 0xd0fc, 0x0118, + 0x2001, 0x0001, 0x0ca0, 0x2001, 0x110d, 0x2004, 0xd0dc, 0x0158, + 0x6010, 0x00d6, 0x2068, 0x6840, 0x00de, 0x9084, 0x00ff, 0x9005, + 0x1110, 0x9006, 0x0c20, 0x080c, 0x9743, 0x2009, 0x026e, 0x2134, + 0x96b4, 0x00ff, 0x9686, 0x0005, 0x01e8, 0x9686, 0x000b, 0x01b0, + 0x2009, 0x026f, 0x2104, 0x9084, 0xff00, 0x1118, 0x9686, 0x0009, + 0x0188, 0x9086, 0x1900, 0x1150, 0x9686, 0x0009, 0x0158, 0x2001, + 0x0004, 0x080c, 0x5569, 0x080c, 0x8e49, 0x0010, 0x080c, 0x9945, + 0x002e, 0x0005, 0x00d6, 0x9286, 0x0139, 0x0160, 0x6014, 0x2068, + 0x080c, 0xa853, 0x0148, 0x6864, 0x9086, 0x0139, 0x0118, 0x6868, + 0xd0fc, 0x0110, 0x00de, 0x0c50, 0x6010, 0x2068, 0x6840, 0x9084, + 0x00ff, 0x9005, 0x0140, 0x8001, 0x6842, 0x601b, 0x000a, 0x6007, + 0x0016, 0x00de, 0x08e8, 0x68a0, 0x9086, 0x007e, 0x1138, 0x00e6, + 0x2071, 0x1100, 0x080c, 0x5077, 0x00ee, 0x0010, 0x080c, 0x2841, + 0x00de, 0x0860, 0x080c, 0x9b29, 0x1168, 0x2001, 0x0004, 0x080c, + 0x5569, 0x6003, 0x0001, 0x6007, 0x0003, 0x080c, 0x75c1, 0x080c, + 0x7a7b, 0x0020, 0x080c, 0x9743, 0x080c, 0x9945, 0x0005, 0x0489, + 0x1168, 0x2001, 0x0008, 0x080c, 0x5569, 0x6003, 0x0001, 0x6007, + 0x0005, 0x080c, 0x75c1, 0x080c, 0x7a7b, 0x0010, 0x080c, 0x9945, + 0x0005, 0x00f9, 0x1168, 0x2001, 0x000a, 0x080c, 0x5569, 0x6003, + 0x0001, 0x6007, 0x0001, 0x080c, 0x75c1, 0x080c, 0x7a7b, 0x0010, + 0x080c, 0x9945, 0x0005, 0x2009, 0x026e, 0x2104, 0x9086, 0x0003, + 0x1138, 0x2009, 0x026f, 0x2104, 0x9084, 0xff00, 0x9086, 0x2a00, + 0x0005, 0x9085, 0x0001, 0x0005, 0x00c6, 0x0016, 0x9c88, 0x0004, + 0x2164, 0x080c, 0x561d, 0x001e, 0x00ce, 0x0005, 0x00f6, 0x00e6, + 0x00d6, 0x0036, 0x0016, 0x6010, 0x2068, 0x2009, 0x1135, 0x2104, + 0x9085, 0x0003, 0x200a, 0x080c, 0x9bd2, 0x0570, 0x2009, 0x1135, + 0x2104, 0xc0cd, 0x200a, 0x2001, 0x1153, 0x2004, 0xd0a4, 0x0158, + 0x9006, 0x2020, 0x2009, 0x002a, 0x080c, 0xc04a, 0x2001, 0x110c, + 0x200c, 0xc195, 0x2102, 0x2019, 0x002a, 0x2009, 0x0001, 0x080c, + 0x2816, 0x00e6, 0x2071, 0x1100, 0x080c, 0x2658, 0x00ee, 0x00c6, + 0x0156, 0x20a9, 0x0081, 0x2009, 0x007f, 0x080c, 0x2937, 0x8108, + 0x1f04, 0x9b6d, 0x015e, 0x00ce, 0x080c, 0x9b2c, 0x6813, 0x00ff, + 0x6817, 0xfffe, 0x2071, 0x0260, 0x2079, 0x0200, 0x7817, 0x0001, + 0x2001, 0x1135, 0x200c, 0xc1c5, 0x7018, 0xd0fc, 0x0110, 0xd0dc, + 0x0118, 0x7038, 0xd0dc, 0x1108, 0xc1c4, 0x7817, 0x0000, 0x2001, + 0x1135, 0x2102, 0x2079, 0x0100, 0x2e04, 0x9084, 0x00ff, 0x2069, + 0x111d, 0x206a, 0x78e6, 0x0006, 0x8e70, 0x2e04, 0x2069, 0x111e, + 0x206a, 0x78ea, 0x7832, 0x7836, 0x2010, 0x9084, 0xff00, 0x001e, + 0x9105, 0x2009, 0x1129, 0x200a, 0x2200, 0x9084, 0x00ff, 0x2008, + 0x080c, 0x1f18, 0x080c, 0x62c5, 0x0170, 0x2071, 0x0260, 0x2069, + 0x12bc, 0x7048, 0x206a, 0x704c, 0x6806, 0x7050, 0x680a, 0x7054, + 0x680e, 0x080c, 0xac0a, 0x0040, 0x2001, 0x0006, 0x080c, 0x5569, + 0x080c, 0x2865, 0x080c, 0x8e49, 0x001e, 0x003e, 0x00de, 0x00ee, + 0x00fe, 0x0005, 0x0026, 0x0036, 0x00e6, 0x0156, 0x2019, 0x1129, + 0x231c, 0x83ff, 0x01e8, 0x2071, 0x0260, 0x7200, 0x9294, 0x00ff, + 0x7004, 0x9084, 0xff00, 0x9205, 0x9306, 0x1190, 0x2011, 0x0276, + 0x20a9, 0x0004, 0x9d98, 0x000a, 0x080c, 0x9c86, 0x1148, 0x2011, + 0x027a, 0x20a9, 0x0004, 0x9d98, 0x0006, 0x080c, 0x9c86, 0x1100, + 0x015e, 0x00ee, 0x003e, 0x002e, 0x0005, 0x00e6, 0x2071, 0x0260, + 0x7034, 0x9086, 0x0014, 0x11a8, 0x7038, 0x9086, 0x0800, 0x1188, + 0x703c, 0xd0ec, 0x0160, 0x9084, 0x0f00, 0x9086, 0x0100, 0x1138, + 0x7054, 0xd0a4, 0x1110, 0xd0ac, 0x0110, 0x9006, 0x0010, 0x9085, + 0x0001, 0x00ee, 0x0005, 0x00e6, 0x00d6, 0x00c6, 0x0076, 0x0056, + 0x0046, 0x0026, 0x0006, 0x0126, 0x2091, 0x8000, 0x2029, 0x130c, + 0x252c, 0x2021, 0x1312, 0x2424, 0x2061, 0x15c0, 0x2071, 0x1100, + 0x724c, 0x706c, 0x9202, 0x16f0, 0x080c, 0xc072, 0x05a0, 0x6720, + 0x9786, 0x0001, 0x0580, 0x9786, 0x0007, 0x0568, 0x2500, 0x9c06, + 0x0550, 0x2400, 0x9c06, 0x0538, 0x00c6, 0x6000, 0x9086, 0x0004, + 0x1110, 0x080c, 0x14b0, 0x9786, 0x0008, 0x1148, 0x080c, 0xaa40, + 0x1130, 0x00ce, 0x080c, 0x9743, 0x080c, 0x8e79, 0x00a0, 0x6014, + 0x2068, 0x080c, 0xa853, 0x0160, 0x9786, 0x0003, 0x11e8, 0x6867, + 0x0103, 0x6b7a, 0x6877, 0x0000, 0x080c, 0x5b7a, 0x080c, 0xaa23, + 0x080c, 0x8e79, 0x00ce, 0x9ce0, 0x0018, 0x7060, 0x9c02, 0x1210, + 0x0804, 0x9c30, 0x012e, 0x000e, 0x002e, 0x004e, 0x005e, 0x007e, + 0x00ce, 0x00de, 0x00ee, 0x0005, 0x9786, 0x0006, 0x1118, 0x080c, + 0xc004, 0x0c30, 0x9786, 0x000a, 0x09e0, 0x08c8, 0x220c, 0x2304, + 0x9106, 0x1130, 0x8210, 0x8318, 0x1f04, 0x9c86, 0x9006, 0x0005, + 0x2304, 0x9102, 0x0218, 0x2001, 0x0001, 0x0010, 0x2001, 0x0000, + 0x918d, 0x0001, 0x0005, 0x0136, 0x01c6, 0x0016, 0x8906, 0x8006, + 0x8007, 0x908c, 0x003f, 0x21e0, 0x9084, 0xffc0, 0x9300, 0x2098, + 0x3518, 0x20a9, 0x0001, 0x220c, 0x4002, 0x910e, 0x1140, 0x8210, + 0x8319, 0x1dc8, 0x9006, 0x001e, 0x01ce, 0x013e, 0x0005, 0x220c, + 0x9102, 0x0218, 0x2001, 0x0001, 0x0010, 0x2001, 0x0000, 0x918d, + 0x0001, 0x001e, 0x01ce, 0x013e, 0x0005, 0x6004, 0x908a, 0x0051, + 0x1a0c, 0x0d4e, 0x080c, 0xaa2f, 0x0120, 0x080c, 0xaa40, 0x0168, + 0x0028, 0x080c, 0x2865, 0x080c, 0xaa40, 0x0138, 0x080c, 0x797f, + 0x080c, 0x8e49, 0x080c, 0x7a7b, 0x0005, 0x080c, 0x9743, 0x0cb0, + 0x9182, 0x0040, 0x0002, 0x9cf6, 0x9cf6, 0x9cf6, 0x9cf6, 0x9cf6, + 0x9cf6, 0x9cf6, 0x9cf6, 0x9cf6, 0x9cf6, 0x9cf6, 0x9cf8, 0x9cf8, + 0x9cf8, 0x9cf8, 0x9cf6, 0x9cf6, 0x9cf6, 0x9cf8, 0x080c, 0x0d4e, + 0x600b, 0xffff, 0x6003, 0x0001, 0x6106, 0x080c, 0x7571, 0x0126, + 0x2091, 0x8000, 0x080c, 0x7a7b, 0x012e, 0x0005, 0x9186, 0x0013, + 0x1128, 0x6004, 0x9082, 0x0040, 0x0804, 0x9d90, 0x9186, 0x0027, + 0x11e8, 0x080c, 0x797f, 0x080c, 0x2841, 0x00d6, 0x6114, 0x2168, + 0x080c, 0xa853, 0x0168, 0x6867, 0x0103, 0x687b, 0x0029, 0x6877, + 0x0000, 0x697c, 0xc1c5, 0x697e, 0x080c, 0x5b7a, 0x080c, 0xaa23, + 0x00de, 0x080c, 0x8e49, 0x080c, 0x7a7b, 0x0005, 0x9186, 0x0014, + 0x1120, 0x6004, 0x9082, 0x0040, 0x0418, 0x9186, 0x0046, 0x0138, + 0x9186, 0x0045, 0x0120, 0x9186, 0x0048, 0x190c, 0x0d4e, 0x2001, + 0x0109, 0x2004, 0xd084, 0x0198, 0x0126, 0x2091, 0x2800, 0x0006, + 0x0016, 0x0026, 0x080c, 0x745f, 0x002e, 0x001e, 0x000e, 0x012e, + 0xa001, 0x6000, 0x9086, 0x0002, 0x1110, 0x0804, 0x9dd3, 0x0005, + 0x0002, 0x9d6e, 0x9d6c, 0x9d6c, 0x9d6c, 0x9d6c, 0x9d6c, 0x9d6c, + 0x9d6c, 0x9d6c, 0x9d6c, 0x9d6c, 0x9d89, 0x9d89, 0x9d89, 0x9d89, + 0x9d6c, 0x9d89, 0x9d6c, 0x9d89, 0x080c, 0x0d4e, 0x080c, 0x797f, + 0x00d6, 0x6114, 0x2168, 0x080c, 0xa853, 0x0168, 0x6867, 0x0103, + 0x687b, 0x0006, 0x6877, 0x0000, 0x6880, 0xc0ec, 0x6882, 0x080c, + 0x5b7a, 0x080c, 0xaa23, 0x00de, 0x080c, 0x8e49, 0x080c, 0x7a7b, + 0x0005, 0x080c, 0x797f, 0x080c, 0x8e49, 0x080c, 0x7a7b, 0x0005, + 0x0002, 0x9da6, 0x9da4, 0x9da4, 0x9da4, 0x9da4, 0x9da4, 0x9da4, + 0x9da4, 0x9da4, 0x9da4, 0x9da4, 0x9dbd, 0x9dbd, 0x9dbd, 0x9dbd, + 0x9da4, 0x9dcc, 0x9da4, 0x9dbd, 0x080c, 0x0d4e, 0x00d6, 0x080c, + 0x797f, 0x6014, 0x2068, 0x2001, 0x12c2, 0x2004, 0x6042, 0x697c, + 0xd1ac, 0x0140, 0x6003, 0x0004, 0x687c, 0x9085, 0x0400, 0x687e, + 0x00de, 0x0005, 0x6003, 0x0002, 0x0cb8, 0x080c, 0x797f, 0x2001, + 0x12c0, 0x2004, 0x601a, 0x2001, 0x12c2, 0x2004, 0x6042, 0x6003, + 0x000f, 0x080c, 0x7a7b, 0x0005, 0x080c, 0x797f, 0x080c, 0x8e49, + 0x080c, 0x7a7b, 0x0005, 0x9182, 0x0040, 0x0002, 0x9dea, 0x9dea, + 0x9dea, 0x9dea, 0x9dea, 0x9dec, 0x9ec7, 0x9dea, 0x9dea, 0x9dea, + 0x9dea, 0x9dea, 0x9dea, 0x9dea, 0x9dea, 0x9dea, 0x9dea, 0x9dea, + 0x9dea, 0x9ef6, 0x080c, 0x0d4e, 0x00d6, 0x6114, 0x2168, 0x7644, + 0x96b4, 0x0fff, 0x86ff, 0x1518, 0x6010, 0x2004, 0xd0bc, 0x1904, + 0x9eb2, 0x687b, 0x0000, 0x6867, 0x0103, 0x6e76, 0x687c, 0xd0ac, + 0x0128, 0x6834, 0x6938, 0x9115, 0x190c, 0xa04a, 0x080c, 0x59a4, + 0x6210, 0x2268, 0x6a3c, 0x82ff, 0x0110, 0x8211, 0x6a3e, 0x7044, + 0xd0e4, 0x1904, 0x9e98, 0x080c, 0x8e49, 0x00de, 0x0005, 0x968c, + 0x0c00, 0x0148, 0x6010, 0x2004, 0xd0bc, 0x1904, 0x9e9c, 0x7348, + 0x6b92, 0x734c, 0x6b8e, 0x968c, 0x00ff, 0x9186, 0x0002, 0x0508, + 0x9186, 0x0028, 0x1118, 0x687b, 0x001c, 0x00e8, 0xd6dc, 0x01a0, + 0x687b, 0x0015, 0x687c, 0xd0ac, 0x0170, 0x6938, 0x6a34, 0x2100, + 0x9205, 0x0148, 0x7048, 0x9106, 0x1118, 0x734c, 0x9206, 0x0118, + 0x6992, 0x6a8e, 0xc6dc, 0x0038, 0xd6d4, 0x0118, 0x687b, 0x0007, + 0x0010, 0x687b, 0x0000, 0x6867, 0x0103, 0x6e76, 0x901e, 0xd6c4, + 0x01d8, 0x9686, 0x0100, 0x1130, 0x7064, 0x9005, 0x1118, 0xc6c4, + 0x0804, 0x9df2, 0x735c, 0x6b86, 0x83ff, 0x0170, 0x938a, 0x0009, + 0x0210, 0x2019, 0x0008, 0x0036, 0x2308, 0x2019, 0x0018, 0x9d90, + 0x0025, 0x080c, 0xa4e1, 0x003e, 0xd6cc, 0x0904, 0x9e06, 0x7154, + 0x698a, 0x81ff, 0x0904, 0x9e06, 0x9192, 0x0021, 0x1278, 0x8304, + 0x9098, 0x0018, 0x9d90, 0x0029, 0x080c, 0xa4e1, 0x2011, 0x0205, + 0x2013, 0x0000, 0x080c, 0xae7e, 0x0804, 0x9e06, 0x6868, 0xd0fc, + 0x0120, 0x2009, 0x0020, 0x698a, 0x0c50, 0x00f6, 0x2d78, 0x080c, + 0xa480, 0x00fe, 0x080c, 0xae7e, 0x080c, 0xa4d1, 0x0804, 0x9e08, + 0x080c, 0xab1d, 0x0804, 0x9e15, 0x687c, 0xd0ac, 0x0904, 0x9e1f, + 0x6024, 0xd0dc, 0x1904, 0x9e1f, 0x6880, 0xd0bc, 0x1904, 0x9e1f, + 0x7348, 0x6838, 0x9306, 0x11b8, 0x734c, 0x6834, 0x9306, 0x0904, + 0x9e1f, 0x0088, 0x687c, 0xd0ac, 0x0904, 0x9df9, 0x6838, 0x6934, + 0x9105, 0x0904, 0x9df9, 0x6024, 0xd0dc, 0x1904, 0x9df9, 0x6880, + 0xd0bc, 0x1904, 0x9df9, 0x080c, 0xab4e, 0x0804, 0x9e15, 0x00f6, + 0x6003, 0x0003, 0x2079, 0x026c, 0x7c04, 0x7b00, 0x7e0c, 0x7d08, + 0x6014, 0x2078, 0x787c, 0xd0ac, 0x0138, 0x6003, 0x0002, 0x00fe, + 0x0005, 0x2130, 0x2228, 0x0058, 0x2400, 0x79ac, 0x910a, 0x2300, + 0x7ab0, 0x9213, 0x2600, 0x9102, 0x2500, 0x9203, 0x0e90, 0x7c36, + 0x7b3a, 0x7e46, 0x7d4a, 0x00fe, 0x6043, 0x0000, 0x2c10, 0x080c, + 0x15b3, 0x080c, 0x75de, 0x080c, 0x7b49, 0x0005, 0x0005, 0x9182, + 0x0040, 0x0002, 0x9f0d, 0x9f0d, 0x9f0d, 0x9f0d, 0x9f0d, 0x9f0f, + 0x9fa3, 0x9f0d, 0x9f0d, 0x9fb9, 0xa021, 0x9f0d, 0x9f0d, 0x9f0d, + 0x9f0d, 0xa030, 0x9f0d, 0x9f0d, 0x9f0d, 0x080c, 0x0d4e, 0x0076, + 0x00f6, 0x00e6, 0x00d6, 0x2071, 0x0260, 0x6114, 0x2178, 0x7644, + 0x7e76, 0x96b4, 0x0fff, 0x7f7c, 0xc7e5, 0x7f7e, 0x6210, 0x2268, + 0x6a3c, 0x82ff, 0x0110, 0x8211, 0x6a3e, 0x86ff, 0x0904, 0x9f9e, + 0x9694, 0xff00, 0x9284, 0x0c00, 0x0120, 0x7048, 0x7892, 0x704c, + 0x788e, 0x9284, 0x0300, 0x0904, 0x9f9e, 0x080c, 0x0e69, 0x090c, + 0x0d4e, 0x2d00, 0x787a, 0x7f7c, 0xc7cd, 0x7f7e, 0x6867, 0x0103, + 0x7868, 0x686a, 0x786c, 0x686e, 0x7870, 0x6872, 0x6e76, 0x968c, + 0x0c00, 0x0120, 0x7348, 0x6b92, 0x734c, 0x6b8e, 0x968c, 0x00ff, + 0x9186, 0x0002, 0x0180, 0x9186, 0x0028, 0x1118, 0x687b, 0x001c, + 0x0060, 0xd6dc, 0x0118, 0x687b, 0x0015, 0x0038, 0xd6d4, 0x0118, + 0x687b, 0x0007, 0x0010, 0x687b, 0x0000, 0x6f7e, 0x7880, 0x6882, + 0x7884, 0x6886, 0x901e, 0xd6c4, 0x0190, 0x735c, 0x6b86, 0x83ff, + 0x0170, 0x938a, 0x0009, 0x0210, 0x2019, 0x0008, 0x0036, 0x2308, + 0x2019, 0x0018, 0x9d90, 0x0025, 0x080c, 0xa4e1, 0x003e, 0xd6cc, + 0x01e8, 0x7154, 0x698a, 0x81ff, 0x01c8, 0x9192, 0x0021, 0x1260, + 0x8304, 0x9098, 0x0018, 0x9d90, 0x0029, 0x080c, 0xa4e1, 0x2011, + 0x0205, 0x2013, 0x0000, 0x0050, 0x7868, 0xd0fc, 0x0120, 0x2009, + 0x0020, 0x698a, 0x0c68, 0x2d78, 0x080c, 0xa480, 0x00de, 0x00ee, + 0x00fe, 0x007e, 0x0005, 0x00f6, 0x6003, 0x0003, 0x2079, 0x026c, + 0x7c04, 0x7b00, 0x7e0c, 0x7d08, 0x6014, 0x2078, 0x7c36, 0x7b3a, + 0x7e46, 0x7d4a, 0x00fe, 0x2c10, 0x080c, 0x15b3, 0x080c, 0x853d, + 0x0005, 0x00d6, 0x2001, 0x12c2, 0x2004, 0x6042, 0x6003, 0x0002, + 0x080c, 0x7a29, 0x080c, 0x7b49, 0x6114, 0x2168, 0x697c, 0xd1e4, + 0x0904, 0xa01c, 0xd1cc, 0x0570, 0x6978, 0x6868, 0xd0fc, 0x0500, + 0x0016, 0x687c, 0x0006, 0x6880, 0x0006, 0x9d90, 0x0019, 0x9198, + 0x0019, 0x2009, 0x0020, 0x0156, 0x21a8, 0x2304, 0x2012, 0x8318, + 0x8210, 0x1f04, 0x9fdd, 0x015e, 0x000e, 0x6882, 0x000e, 0x687e, + 0x001e, 0x6874, 0x0006, 0x2168, 0x080c, 0x0e92, 0x001e, 0x0440, + 0x0016, 0x080c, 0x0e92, 0x00de, 0x6974, 0x0016, 0x080c, 0xa4d1, + 0x001e, 0x00f0, 0x6867, 0x0103, 0x6974, 0x9184, 0x00ff, 0x90b6, + 0x0002, 0x0180, 0x9086, 0x0028, 0x1118, 0x687b, 0x001c, 0x0060, + 0xd1dc, 0x0118, 0x687b, 0x0015, 0x0038, 0xd1d4, 0x0118, 0x687b, + 0x0007, 0x0010, 0x687b, 0x0000, 0x0016, 0x080c, 0x59a4, 0x001e, + 0xd1e4, 0x1120, 0x080c, 0x8e49, 0x00de, 0x0005, 0x080c, 0xab1d, + 0x0cd8, 0x2019, 0x0001, 0x080c, 0x87ca, 0x6003, 0x0002, 0x2001, + 0x12c2, 0x2004, 0x6042, 0x080c, 0x7a29, 0x080c, 0x7b49, 0x0005, + 0x080c, 0x7a29, 0x080c, 0x2841, 0x00d6, 0x6114, 0x2168, 0x080c, + 0xa853, 0x0150, 0x6867, 0x0103, 0x687b, 0x0029, 0x6877, 0x0000, + 0x080c, 0x5b7a, 0x080c, 0xaa23, 0x00de, 0x080c, 0x8e49, 0x080c, + 0x7b49, 0x0005, 0x687b, 0x0015, 0xd1fc, 0x0138, 0x687b, 0x0007, + 0x8002, 0x8000, 0x810a, 0x9189, 0x0000, 0x6992, 0x688e, 0x0005, + 0x9182, 0x0040, 0x0002, 0xa06f, 0xa06f, 0xa06f, 0xa06f, 0xa06f, + 0xa071, 0xa06f, 0xa06f, 0xa115, 0xa06f, 0xa06f, 0xa06f, 0xa06f, + 0xa06f, 0xa06f, 0xa06f, 0xa06f, 0xa06f, 0xa06f, 0xa235, 0x080c, + 0x0d4e, 0x0076, 0x00f6, 0x00e6, 0x00d6, 0x2071, 0x0260, 0x6114, + 0x2178, 0x7644, 0x7e76, 0x96b4, 0x0fff, 0x7f7c, 0xc7e5, 0x7f7e, + 0x6210, 0x2268, 0x6a3c, 0x82ff, 0x0110, 0x8211, 0x6a3e, 0x86ff, + 0x0904, 0xa10e, 0x9694, 0xff00, 0x9284, 0x0c00, 0x0120, 0x7048, + 0x7892, 0x704c, 0x788e, 0x9284, 0x0300, 0x0904, 0xa10e, 0x9686, + 0x0100, 0x1130, 0x7064, 0x9005, 0x1118, 0xc6c4, 0x7e76, 0x0c38, + 0x080c, 0x0e69, 0x090c, 0x0d4e, 0x2d00, 0x787a, 0x7f7c, 0x97bd, + 0x0200, 0x7f7e, 0x6867, 0x0103, 0x7868, 0x686a, 0x786c, 0x686e, + 0x7870, 0x6872, 0x7044, 0x9084, 0xf000, 0x9635, 0x6e76, 0x968c, + 0x0c00, 0x0120, 0x7348, 0x6b92, 0x734c, 0x6b8e, 0x968c, 0x00ff, + 0x9186, 0x0002, 0x0180, 0x9186, 0x0028, 0x1118, 0x687b, 0x001c, + 0x0060, 0xd6dc, 0x0118, 0x687b, 0x0015, 0x0038, 0xd6d4, 0x0118, + 0x687b, 0x0007, 0x0010, 0x687b, 0x0000, 0x6f7e, 0x7880, 0x6882, + 0x7884, 0x6886, 0x901e, 0xd6c4, 0x0190, 0x735c, 0x6b86, 0x83ff, + 0x0170, 0x938a, 0x0009, 0x0210, 0x2019, 0x0008, 0x0036, 0x2308, + 0x2019, 0x0018, 0x9d90, 0x0025, 0x080c, 0xa4e1, 0x003e, 0xd6cc, + 0x01e8, 0x7154, 0x698a, 0x81ff, 0x01c8, 0x9192, 0x0021, 0x1260, + 0x8304, 0x9098, 0x0018, 0x9d90, 0x0029, 0x080c, 0xa4e1, 0x2011, + 0x0205, 0x2013, 0x0000, 0x0050, 0x7868, 0xd0fc, 0x0120, 0x2009, + 0x0020, 0x698a, 0x0c68, 0x2d78, 0x080c, 0xa480, 0x080c, 0x1482, + 0x00de, 0x00ee, 0x00fe, 0x007e, 0x0005, 0x2001, 0x12c2, 0x2004, + 0x6042, 0x00d6, 0x6114, 0x2168, 0x683c, 0x6940, 0x9105, 0x1118, + 0x687c, 0xc0dc, 0x687e, 0x6003, 0x0002, 0x697c, 0xd1e4, 0x0904, + 0xa230, 0x6043, 0x0000, 0x6010, 0x2004, 0xd0bc, 0x11f8, 0xd1cc, + 0x0904, 0xa1ff, 0x6978, 0x6868, 0xd0fc, 0x0904, 0xa1c0, 0x0016, + 0x687c, 0x0006, 0x6880, 0x0006, 0x00f6, 0x2178, 0x7974, 0x9184, + 0x00ff, 0x90b6, 0x0002, 0x0904, 0xa193, 0x9086, 0x0028, 0x15b8, + 0x687b, 0x001c, 0x787b, 0x001c, 0x0804, 0xa19b, 0x6024, 0xd0f4, + 0x11d0, 0x6838, 0x6a34, 0x9205, 0x09d0, 0x6838, 0x6a90, 0x9206, + 0x1120, 0x688c, 0x6a34, 0x9206, 0x0990, 0x6024, 0xd0d4, 0x1148, + 0x69ac, 0x6834, 0x9102, 0x603a, 0x69b0, 0x6838, 0x9103, 0x603e, + 0x6024, 0xc0f5, 0x6026, 0x6010, 0x00d6, 0x2068, 0x683c, 0x8000, + 0x683e, 0x00de, 0x687c, 0xc0e4, 0x687e, 0x6877, 0x0000, 0x6893, + 0x0000, 0x688f, 0x0000, 0x080c, 0xab4e, 0x0804, 0xa230, 0xd1dc, + 0x0158, 0x687b, 0x0015, 0x787b, 0x0015, 0x080c, 0xadaa, 0x0118, + 0x7974, 0xc1dc, 0x7976, 0x0078, 0xd1d4, 0x0128, 0x687b, 0x0007, + 0x787b, 0x0007, 0x0040, 0x687c, 0xd0ac, 0x0128, 0x6834, 0x6938, + 0x9115, 0x190c, 0xa04a, 0x687c, 0x787e, 0x6890, 0x7892, 0x688c, + 0x788e, 0x9d90, 0x0019, 0x9f98, 0x0019, 0x2009, 0x0020, 0x0156, + 0x21a8, 0x2304, 0x2012, 0x8318, 0x8210, 0x1f04, 0xa1a9, 0x015e, + 0x00fe, 0x000e, 0x6882, 0x000e, 0x687e, 0x080c, 0xae7e, 0x001e, + 0x6874, 0x0006, 0x2168, 0x080c, 0x0e92, 0x001e, 0x0804, 0xa22c, + 0x0016, 0x00f6, 0x2178, 0x7974, 0x9184, 0x00ff, 0x90b6, 0x0002, + 0x01e0, 0x9086, 0x0028, 0x1128, 0x687b, 0x001c, 0x787b, 0x001c, + 0x00e0, 0xd1dc, 0x0158, 0x687b, 0x0015, 0x787b, 0x0015, 0x080c, + 0xadaa, 0x0118, 0x7974, 0xc1dc, 0x7976, 0x0078, 0xd1d4, 0x0128, + 0x687b, 0x0007, 0x787b, 0x0007, 0x0040, 0x687c, 0xd0ac, 0x0128, + 0x6834, 0x6938, 0x9115, 0x190c, 0xa04a, 0x6890, 0x7892, 0x688c, + 0x788e, 0x687c, 0x787e, 0x00fe, 0x080c, 0x0e92, 0x00de, 0x080c, + 0xae7e, 0x6974, 0x0016, 0x080c, 0xa4d1, 0x001e, 0x0468, 0x6867, + 0x0103, 0x6974, 0x9184, 0x00ff, 0x90b6, 0x0002, 0x01b0, 0x9086, + 0x0028, 0x1118, 0x687b, 0x001c, 0x00d0, 0xd1dc, 0x0148, 0x687b, + 0x0015, 0x080c, 0xadaa, 0x0118, 0x6974, 0xc1dc, 0x6976, 0x0078, + 0xd1d4, 0x0118, 0x687b, 0x0007, 0x0050, 0x687b, 0x0000, 0x687c, + 0xd0ac, 0x0128, 0x6834, 0x6938, 0x9115, 0x190c, 0xa04a, 0x6974, + 0x0016, 0x080c, 0x59a4, 0x001e, 0xd1e4, 0x1120, 0x080c, 0x8e49, + 0x00de, 0x0005, 0x080c, 0xab1d, 0x0cd8, 0x0005, 0x080c, 0x797f, + 0x0010, 0x080c, 0x7a29, 0x080c, 0xa853, 0x01c0, 0x00d6, 0x6114, + 0x2168, 0x6867, 0x0103, 0x2009, 0x110c, 0x210c, 0xd18c, 0x11c0, + 0xd184, 0x1198, 0x6108, 0x697a, 0x918e, 0x0029, 0x1110, 0x080c, + 0xc2e3, 0x6877, 0x0000, 0x080c, 0x5b7a, 0x00de, 0x080c, 0x8e49, + 0x080c, 0x7a7b, 0x080c, 0x7b49, 0x0005, 0x687b, 0x0004, 0x0c88, + 0x687b, 0x0004, 0x0c70, 0x9182, 0x0040, 0x0002, 0xa279, 0xa279, + 0xa279, 0xa279, 0xa279, 0xa27b, 0xa279, 0xa27e, 0xa279, 0xa279, + 0xa279, 0xa279, 0xa279, 0xa279, 0xa279, 0xa279, 0xa279, 0xa279, + 0xa279, 0x080c, 0x0d4e, 0x080c, 0x8e49, 0x0005, 0x0006, 0x0026, + 0x9016, 0x080c, 0x132a, 0x002e, 0x000e, 0x0005, 0x9182, 0x0085, + 0x0002, 0xa298, 0xa296, 0xa296, 0xa2a4, 0xa296, 0xa296, 0xa296, + 0xa296, 0xa296, 0xa296, 0xa296, 0xa296, 0xa296, 0x080c, 0x0d4e, + 0x6003, 0x0001, 0x6106, 0x080c, 0x7571, 0x0126, 0x2091, 0x8000, + 0x080c, 0x7a7b, 0x012e, 0x0005, 0x0026, 0x0056, 0x00d6, 0x00e6, + 0x2071, 0x0260, 0x7224, 0x6216, 0x7220, 0x080c, 0xa843, 0x01a0, + 0x2268, 0x6800, 0x9086, 0x0000, 0x0178, 0x6010, 0x6d10, 0x952e, + 0x1158, 0x00c6, 0x2d60, 0x080c, 0xa4fe, 0x00ce, 0x0128, 0x6803, + 0x0002, 0x6007, 0x0086, 0x0010, 0x6007, 0x0087, 0x6003, 0x0001, + 0x080c, 0x7571, 0x080c, 0x7a7b, 0x9280, 0x0004, 0x2004, 0xd0bc, + 0x0150, 0x6824, 0xd0ec, 0x0138, 0x00c6, 0x2260, 0x6043, 0x0000, + 0x080c, 0xab4e, 0x00ce, 0x00ee, 0x00de, 0x005e, 0x002e, 0x0005, + 0x9186, 0x0013, 0x1160, 0x6004, 0x908a, 0x0085, 0x0a0c, 0x0d4e, + 0x908a, 0x0092, 0x1a0c, 0x0d4e, 0x9082, 0x0085, 0x0072, 0x9186, + 0x0027, 0x0120, 0x9186, 0x0014, 0x190c, 0x0d4e, 0x080c, 0x797f, + 0x080c, 0x8e79, 0x080c, 0x7a7b, 0x0005, 0xa30a, 0xa30c, 0xa30c, + 0xa30a, 0xa30a, 0xa30a, 0xa30a, 0xa30a, 0xa30a, 0xa30a, 0xa30a, + 0xa30a, 0xa30a, 0x080c, 0x0d4e, 0x080c, 0x797f, 0x080c, 0x8e79, + 0x080c, 0x7a7b, 0x0005, 0x9186, 0x0013, 0x1128, 0x6004, 0x9082, + 0x0085, 0x2008, 0x04a8, 0x9186, 0x0027, 0x11e8, 0x080c, 0x797f, + 0x080c, 0x2841, 0x00d6, 0x6014, 0x2068, 0x080c, 0xa853, 0x0150, + 0x6867, 0x0103, 0x6877, 0x0000, 0x687b, 0x0029, 0x080c, 0x5b7a, + 0x080c, 0xaa23, 0x00de, 0x080c, 0x8e49, 0x080c, 0x7a7b, 0x0005, + 0x080c, 0x8eda, 0x0ce0, 0x9186, 0x0014, 0x1dd0, 0x080c, 0x797f, + 0x00d6, 0x6014, 0x2068, 0x080c, 0xa853, 0x0d60, 0x6867, 0x0103, + 0x6877, 0x0000, 0x687b, 0x0006, 0x6880, 0xc0ec, 0x6882, 0x08f0, + 0x0002, 0xa360, 0xa35e, 0xa35e, 0xa35e, 0xa35e, 0xa35e, 0xa378, + 0xa35e, 0xa35e, 0xa35e, 0xa35e, 0xa35e, 0xa35e, 0x080c, 0x0d4e, + 0x080c, 0x797f, 0x6034, 0x908c, 0xff00, 0x810f, 0x9186, 0x0039, + 0x0118, 0x9186, 0x0035, 0x1118, 0x2001, 0x12c0, 0x0010, 0x2001, + 0x12c1, 0x2004, 0x601a, 0x6003, 0x000c, 0x080c, 0x7a7b, 0x0005, + 0x080c, 0x797f, 0x6034, 0x908c, 0xff00, 0x810f, 0x9186, 0x0039, + 0x0118, 0x9186, 0x0035, 0x1118, 0x2001, 0x12c0, 0x0010, 0x2001, + 0x12c1, 0x2004, 0x601a, 0x6003, 0x000e, 0x080c, 0x7a7b, 0x0005, + 0x9182, 0x0092, 0x1220, 0x9182, 0x0085, 0x0208, 0x001a, 0x080c, + 0x8eda, 0x0005, 0xa3a7, 0xa3a7, 0xa3a7, 0xa3a7, 0xa3a9, 0xa402, + 0xa3a7, 0xa3a7, 0xa3a7, 0xa3a7, 0xa3a7, 0xa3a7, 0xa3a7, 0x080c, + 0x0d4e, 0x00d6, 0x6010, 0x2004, 0xd0bc, 0x0168, 0x6034, 0x908c, + 0xff00, 0x810f, 0x9186, 0x0039, 0x0118, 0x9186, 0x0035, 0x1118, + 0x00de, 0x0804, 0xa413, 0x080c, 0xa853, 0x1118, 0x080c, 0xaa23, + 0x00f0, 0x6014, 0x2068, 0x687c, 0xd0e4, 0x1110, 0x080c, 0xaa23, + 0x6867, 0x0103, 0x6880, 0xd0b4, 0x0128, 0x687b, 0x0006, 0xc0ec, + 0x6882, 0x0048, 0xd0bc, 0x0118, 0x687b, 0x0002, 0x0020, 0x687b, + 0x0005, 0x080c, 0xab19, 0x6877, 0x0000, 0x080c, 0x5b7a, 0x2c68, + 0x080c, 0x8df3, 0x01d0, 0x6003, 0x0001, 0x6007, 0x001e, 0x600b, + 0xffff, 0x2009, 0x026e, 0x210c, 0x613a, 0x2009, 0x026f, 0x210c, + 0x613e, 0x6910, 0x6112, 0x080c, 0xac70, 0x6954, 0x6156, 0x6023, + 0x0001, 0x080c, 0x7571, 0x080c, 0x7a7b, 0x2d60, 0x080c, 0x8e49, + 0x00de, 0x0005, 0x6010, 0x2004, 0xd0bc, 0x0598, 0x6034, 0x908c, + 0xff00, 0x810f, 0x9186, 0x0035, 0x0130, 0x9186, 0x001e, 0x0118, + 0x9186, 0x0039, 0x1530, 0x00d6, 0x2c68, 0x080c, 0xae51, 0x1904, + 0xa458, 0x080c, 0x8df3, 0x01d8, 0x6106, 0x6003, 0x0001, 0x6023, + 0x0001, 0x6910, 0x6112, 0x692c, 0x612e, 0x6930, 0x6132, 0x6934, + 0x918c, 0x00ff, 0x6136, 0x6938, 0x613a, 0x693c, 0x613e, 0x6954, + 0x6156, 0x080c, 0xac70, 0x080c, 0x7571, 0x080c, 0x7a7b, 0x2d60, + 0x00f8, 0x00d6, 0x6014, 0x2068, 0x080c, 0xa853, 0x01c8, 0x6867, + 0x0103, 0x6880, 0xd0b4, 0x0128, 0xc0ec, 0x6882, 0x687b, 0x0006, + 0x0048, 0xd0bc, 0x0118, 0x687b, 0x0002, 0x0020, 0x687b, 0x0005, + 0x080c, 0xab19, 0x6877, 0x0000, 0x080c, 0x5b7a, 0x080c, 0xaa23, + 0x00de, 0x080c, 0x8e49, 0x0005, 0x0016, 0x00d6, 0x6014, 0x2068, + 0x080c, 0xa853, 0x0140, 0x6867, 0x0103, 0x687b, 0x0028, 0x6877, + 0x0000, 0x080c, 0x5b7a, 0x00de, 0x001e, 0x9186, 0x0013, 0x0148, + 0x9186, 0x0014, 0x0130, 0x9186, 0x0027, 0x0118, 0x080c, 0x8eda, + 0x0030, 0x080c, 0x797f, 0x080c, 0x8e79, 0x080c, 0x7a7b, 0x0005, + 0x0056, 0x0066, 0x00d6, 0x00f6, 0x2029, 0x0001, 0x9182, 0x0101, + 0x1208, 0x0010, 0x2009, 0x0100, 0x2130, 0x8304, 0x9098, 0x0018, + 0x2009, 0x0020, 0x9f90, 0x0029, 0x080c, 0xa4e1, 0x96b2, 0x0020, + 0x7804, 0x906d, 0x0110, 0x080c, 0x0e92, 0x080c, 0x0e69, 0x0520, + 0x8528, 0x6867, 0x0110, 0x686b, 0x0000, 0x2d20, 0x7c06, 0x968a, + 0x003d, 0x1228, 0x2608, 0x9d90, 0x001b, 0x0499, 0x00a8, 0x96b2, + 0x003c, 0x2009, 0x003c, 0x2d78, 0x9d90, 0x001b, 0x0451, 0x0c28, + 0x2079, 0x0200, 0x7817, 0x0000, 0x00fe, 0x852f, 0x95ad, 0x0003, + 0x7d66, 0x95ac, 0x0000, 0x0048, 0x2079, 0x0200, 0x7817, 0x0000, + 0x00fe, 0x852f, 0x95ad, 0x0003, 0x7d66, 0x00de, 0x006e, 0x005e, + 0x0005, 0x00f6, 0x8dff, 0x0158, 0x6804, 0x907d, 0x0130, 0x6807, + 0x0000, 0x080c, 0x5b7a, 0x2f68, 0x0cb8, 0x080c, 0x5b7a, 0x00fe, + 0x0005, 0x00f6, 0x0156, 0x2079, 0x0200, 0x9184, 0x0001, 0x0108, + 0x8108, 0x810c, 0x21a8, 0x2300, 0x9e00, 0x2004, 0x8007, 0x2012, + 0x8318, 0x9386, 0x0020, 0x1120, 0x2018, 0x7814, 0x8000, 0x7816, + 0x8210, 0x1f04, 0xa4eb, 0x015e, 0x00fe, 0x0005, 0x0066, 0x0126, + 0x2091, 0x8000, 0x2031, 0x0001, 0x6020, 0x9084, 0x000f, 0x0083, + 0x012e, 0x006e, 0x0005, 0x0126, 0x2091, 0x8000, 0x0066, 0x2031, + 0x0000, 0x6020, 0x9084, 0x000f, 0x001b, 0x006e, 0x012e, 0x0005, + 0xa539, 0xa539, 0xa534, 0xa55b, 0xa527, 0xa534, 0xa55b, 0xa534, + 0xa527, 0xa527, 0xa534, 0xa534, 0xa534, 0xa527, 0xa527, 0x080c, + 0x0d4e, 0x0036, 0x2019, 0x0010, 0x080c, 0xbc28, 0x6023, 0x0006, + 0x6003, 0x0007, 0x003e, 0x0005, 0x9006, 0x0005, 0x9085, 0x0001, + 0x0005, 0x00d6, 0x86ff, 0x11d8, 0x6014, 0x2068, 0x080c, 0xa853, + 0x01c0, 0x6864, 0x9086, 0x0139, 0x1128, 0x687b, 0x0005, 0x6883, + 0x0000, 0x0028, 0x900e, 0x2001, 0x0005, 0x080c, 0x5d93, 0x080c, + 0xab19, 0x080c, 0x5b7a, 0x080c, 0x8e49, 0x9085, 0x0001, 0x00de, + 0x0005, 0x9006, 0x0ce0, 0x6000, 0x908a, 0x0016, 0x1a0c, 0x0d4e, + 0x000b, 0x0005, 0xa572, 0xa593, 0xa574, 0xa5b2, 0xa590, 0xa572, + 0xa534, 0xa539, 0xa539, 0xa534, 0xa534, 0xa534, 0xa534, 0xa534, + 0xa534, 0xa534, 0x080c, 0x0d4e, 0x86ff, 0x11b8, 0x6020, 0x9086, + 0x0006, 0x0198, 0x00d6, 0x6014, 0x2068, 0x080c, 0xa853, 0x0110, + 0x080c, 0xab19, 0x00de, 0x6007, 0x0085, 0x6003, 0x000b, 0x6023, + 0x0002, 0x080c, 0x7571, 0x080c, 0x7a7b, 0x9085, 0x0001, 0x0005, + 0x080c, 0x14b0, 0x0c08, 0x00e6, 0x2071, 0x1303, 0x7024, 0x9c06, + 0x1110, 0x080c, 0x8738, 0x6020, 0x9084, 0x000f, 0x9086, 0x0006, + 0x1150, 0x0086, 0x0096, 0x2049, 0x0001, 0x2c40, 0x080c, 0x88e1, + 0x009e, 0x008e, 0x0010, 0x080c, 0x864d, 0x00ee, 0x1928, 0x080c, + 0xa534, 0x0005, 0x0036, 0x00e6, 0x2071, 0x1303, 0x703c, 0x9c06, + 0x1140, 0x2019, 0x0000, 0x080c, 0x87ca, 0x00ee, 0x003e, 0x0804, + 0xa574, 0x080c, 0x8a07, 0x00ee, 0x003e, 0x1904, 0xa574, 0x080c, + 0xa534, 0x0005, 0x00c6, 0x6020, 0x9084, 0x000f, 0x0013, 0x00ce, + 0x0005, 0xa5e7, 0xa66e, 0xa7b4, 0xa5f2, 0x8e79, 0xa5e7, 0xbc1a, + 0x8e49, 0xa66e, 0xa5e0, 0xa81f, 0xa5e0, 0xa5e0, 0xa5e0, 0xa5e0, + 0x080c, 0x0d4e, 0x080c, 0xaa40, 0x1110, 0x080c, 0x9743, 0x0005, + 0x080c, 0x797f, 0x080c, 0x7a7b, 0x080c, 0x8e49, 0x0005, 0x601b, + 0x0001, 0x0005, 0x080c, 0xa853, 0x0120, 0x6014, 0x9080, 0x0025, + 0x2c02, 0x6000, 0x908a, 0x0016, 0x1a0c, 0x0d4e, 0x000b, 0x0005, + 0xa610, 0xa612, 0xa632, 0xa644, 0xa651, 0xa610, 0xa5e7, 0xa5e7, + 0xa5e7, 0xa644, 0xa644, 0xa610, 0xa610, 0xa610, 0xa610, 0xa64e, + 0x080c, 0x0d4e, 0x00e6, 0x6014, 0x2070, 0x7080, 0xc0b5, 0x7082, + 0x2071, 0x1303, 0x7024, 0x9c06, 0x0190, 0x080c, 0x864d, 0x6007, + 0x0085, 0x6003, 0x000b, 0x6023, 0x0002, 0x2001, 0x12c1, 0x2004, + 0x601a, 0x080c, 0x7571, 0x080c, 0x7a7b, 0x00ee, 0x0005, 0x601b, + 0x0001, 0x0cd8, 0x00d6, 0x6014, 0x2068, 0x6880, 0xc0b5, 0x6882, + 0x00de, 0x6007, 0x0085, 0x6003, 0x000b, 0x6023, 0x0002, 0x080c, + 0x7571, 0x080c, 0x7a7b, 0x0005, 0x00d6, 0x601b, 0x0001, 0x6014, + 0x2068, 0x6880, 0xc0b5, 0x6882, 0x00de, 0x0005, 0x080c, 0x8e49, + 0x0005, 0x6014, 0x9005, 0x01b8, 0x9088, 0x001f, 0x210c, 0xd1e4, + 0x0190, 0x9080, 0x0021, 0x2004, 0x601a, 0x2001, 0x0037, 0x2c08, + 0x080c, 0x12c2, 0x6000, 0x9086, 0x0004, 0x1120, 0x2009, 0x0048, + 0x080c, 0x8ebf, 0x0005, 0x080c, 0x14b0, 0x0820, 0x6000, 0x908a, + 0x0016, 0x1a0c, 0x0d4e, 0x000b, 0x0005, 0xa685, 0xa5ef, 0xa687, + 0xa685, 0xa687, 0xa687, 0xa5e8, 0xa685, 0xa5e2, 0xa5e2, 0xa685, + 0xa685, 0xa685, 0xa685, 0xa685, 0xa685, 0x080c, 0x0d4e, 0x6010, + 0x00d6, 0x2068, 0x6804, 0x9084, 0x00ff, 0x00de, 0x908a, 0x000c, + 0x1a0c, 0x0d4e, 0x000b, 0x0005, 0xa6a0, 0xa75a, 0xa6a2, 0xa6dc, + 0xa6a2, 0xa6dc, 0xa6a2, 0xa6ac, 0xa6a0, 0xa6dc, 0xa6a0, 0xa6c8, + 0x080c, 0x0d4e, 0x6004, 0x908e, 0x0016, 0x0588, 0x908e, 0x0004, + 0x0570, 0x908e, 0x0002, 0x0558, 0x6004, 0x080c, 0xaa40, 0x0904, + 0xa773, 0x908e, 0x0021, 0x0904, 0xa777, 0x908e, 0x0022, 0x0904, + 0xa773, 0x908e, 0x003d, 0x0904, 0xa777, 0x908e, 0x0039, 0x0904, + 0xa77b, 0x908e, 0x0035, 0x0904, 0xa77b, 0x908e, 0x001e, 0x0188, + 0x908e, 0x0001, 0x1150, 0x6010, 0x00d6, 0x2068, 0x6804, 0x9084, + 0x00ff, 0x00de, 0x9086, 0x0006, 0x0110, 0x080c, 0x2841, 0x080c, + 0x9743, 0x080c, 0x8e79, 0x0005, 0x00c6, 0x00d6, 0x6104, 0x9186, + 0x0016, 0x0904, 0xa74b, 0x9186, 0x0002, 0x15d8, 0x2001, 0x1135, + 0x2004, 0xd08c, 0x1198, 0x080c, 0x62c5, 0x1180, 0x2001, 0x12a8, + 0x2003, 0x0001, 0x2001, 0x1100, 0x2003, 0x0001, 0x9085, 0x0001, + 0x080c, 0x6309, 0x080c, 0x61f5, 0x0804, 0xa79d, 0x6010, 0x2068, + 0x2001, 0x1135, 0x2004, 0xd0ac, 0x1904, 0xa79d, 0x68a0, 0xd0bc, + 0x1904, 0xa79d, 0x6840, 0x9084, 0x00ff, 0x9005, 0x0190, 0x8001, + 0x6842, 0x6017, 0x0000, 0x6023, 0x0007, 0x601b, 0x0398, 0x6043, + 0x0000, 0x080c, 0x8df3, 0x0128, 0x2d00, 0x6012, 0x6023, 0x0001, + 0x0450, 0x00de, 0x00ce, 0x6004, 0x908e, 0x0002, 0x11a8, 0x6010, + 0x9080, 0x0028, 0x2004, 0x9086, 0x007e, 0x1170, 0x2009, 0x1135, + 0x2104, 0xc085, 0x200a, 0x00e6, 0x2071, 0x1100, 0x080c, 0x5077, + 0x00ee, 0x080c, 0x9743, 0x0020, 0x080c, 0x9743, 0x080c, 0x2841, + 0x00e6, 0x0126, 0x2091, 0x8000, 0x080c, 0x2865, 0x012e, 0x00ee, + 0x080c, 0x8e79, 0x0005, 0x2001, 0x0002, 0x080c, 0x5569, 0x6003, + 0x0001, 0x6007, 0x0002, 0x080c, 0x75c1, 0x080c, 0x7a7b, 0x00de, + 0x00ce, 0x0c80, 0x00c6, 0x00d6, 0x6104, 0x9186, 0x0016, 0x0d58, + 0x6010, 0x2068, 0x6840, 0x9084, 0x00ff, 0x9005, 0x0904, 0xa721, + 0x8001, 0x6842, 0x6003, 0x0001, 0x080c, 0x75c1, 0x080c, 0x7a7b, + 0x00de, 0x00ce, 0x08b8, 0x080c, 0x9743, 0x0804, 0xa6d9, 0x080c, + 0x9771, 0x0804, 0xa6d9, 0x00d6, 0x2c68, 0x6104, 0x080c, 0xae51, + 0x00de, 0x0118, 0x080c, 0x8e49, 0x00b8, 0x6004, 0x8007, 0x6134, + 0x918c, 0x00ff, 0x9105, 0x6036, 0x6007, 0x0085, 0x6003, 0x000b, + 0x6023, 0x0002, 0x603c, 0x600a, 0x2001, 0x12c1, 0x2004, 0x601a, + 0x080c, 0x7571, 0x080c, 0x7a7b, 0x0005, 0x00de, 0x00ce, 0x080c, + 0x9743, 0x080c, 0x2841, 0x00e6, 0x0126, 0x2091, 0x8000, 0x080c, + 0x2865, 0x6017, 0x0000, 0x6023, 0x0007, 0x601b, 0x0398, 0x6043, + 0x0000, 0x012e, 0x00ee, 0x0005, 0x6000, 0x908a, 0x0016, 0x1a0c, + 0x0d4e, 0x00d6, 0x0013, 0x00de, 0x0005, 0xa7cd, 0xa7cd, 0xa7cd, + 0xa7cd, 0xa7cd, 0xa7cd, 0xa7cd, 0xa7cd, 0xa7cd, 0xa5e7, 0xa7cd, + 0xa5ef, 0xa7cf, 0xa5ef, 0xa7dc, 0xa7cd, 0x080c, 0x0d4e, 0x6004, + 0x9086, 0x008b, 0x0148, 0x6007, 0x008b, 0x6003, 0x000d, 0x080c, + 0x7571, 0x080c, 0x7a7b, 0x0005, 0x080c, 0xaa23, 0x080c, 0xa853, + 0x0570, 0x080c, 0x2841, 0x080c, 0xa853, 0x0168, 0x6014, 0x2068, + 0x6867, 0x0103, 0x687b, 0x0006, 0x6877, 0x0000, 0x6880, 0xc0ed, + 0x6882, 0x080c, 0x5b7a, 0x2c68, 0x080c, 0x8df3, 0x0150, 0x6810, + 0x6012, 0x080c, 0xac70, 0x00c6, 0x2d60, 0x080c, 0x8e79, 0x00ce, + 0x0008, 0x2d60, 0x6017, 0x0000, 0x6023, 0x0001, 0x6007, 0x0001, + 0x6003, 0x0001, 0x080c, 0x75c1, 0x080c, 0x7a7b, 0x0078, 0x6034, + 0x908c, 0xff00, 0x810f, 0x9186, 0x0039, 0x0118, 0x9186, 0x0035, + 0x1118, 0x080c, 0x2841, 0x08b8, 0x080c, 0x8e79, 0x0005, 0x6000, + 0x908a, 0x0016, 0x1a0c, 0x0d4e, 0x000b, 0x0005, 0xa836, 0xa836, + 0xa838, 0xa838, 0xa838, 0xa836, 0xa836, 0xa836, 0xa836, 0xa836, + 0xa836, 0xa836, 0xa836, 0xa836, 0xa836, 0xa836, 0x080c, 0x0d4e, + 0x080c, 0x8a07, 0x6114, 0x2168, 0x687b, 0x0006, 0x080c, 0x5b7a, + 0x080c, 0x8e49, 0x0005, 0x9284, 0x0007, 0x1158, 0x9282, 0x15c0, + 0x0240, 0x2001, 0x1118, 0x2004, 0x9202, 0x1218, 0x9085, 0x0001, + 0x0005, 0x9006, 0x0ce8, 0x0026, 0x6214, 0x9294, 0xf000, 0x002e, + 0x0005, 0x00e6, 0x00c6, 0x0036, 0x0006, 0x0126, 0x2091, 0x8000, + 0x2061, 0x15c0, 0x2071, 0x1100, 0x734c, 0x706c, 0x9302, 0x12a8, + 0x6020, 0x9206, 0x1160, 0x080c, 0xabea, 0x0148, 0x080c, 0xaa40, + 0x1110, 0x080c, 0x9743, 0x00c6, 0x080c, 0x8e49, 0x00ce, 0x9ce0, + 0x0018, 0x7060, 0x9c02, 0x1208, 0x0c38, 0x012e, 0x000e, 0x003e, + 0x00ce, 0x00ee, 0x0005, 0x00e6, 0x00c6, 0x0016, 0x9188, 0x1000, + 0x210c, 0x81ff, 0x0128, 0x2061, 0x1388, 0x6112, 0x080c, 0x2841, + 0x9006, 0x0010, 0x9085, 0x0001, 0x001e, 0x00ce, 0x00ee, 0x0005, + 0x00c6, 0x0056, 0x0126, 0x2091, 0x8000, 0x00c6, 0x080c, 0x8df3, + 0x005e, 0x0180, 0x6616, 0x6512, 0x080c, 0xac70, 0x6023, 0x0003, + 0x2009, 0x004b, 0x080c, 0x8ebf, 0x9085, 0x0001, 0x012e, 0x005e, + 0x00ce, 0x0005, 0x9006, 0x0cd0, 0x00c6, 0x0056, 0x0126, 0x2091, + 0x8000, 0x62a0, 0x00c6, 0x080c, 0x8e92, 0x005e, 0x0540, 0x6017, + 0x0000, 0x6512, 0x080c, 0xac70, 0x6023, 0x0003, 0x0016, 0x00c6, + 0x2560, 0x00ce, 0x080c, 0x76e4, 0x0076, 0x2039, 0x0000, 0x080c, + 0x75f1, 0x2c08, 0x080c, 0xbdcb, 0x007e, 0x001e, 0xd184, 0x0128, + 0x080c, 0x8e49, 0x9085, 0x0001, 0x0030, 0x2009, 0x004c, 0x080c, + 0x8ebf, 0x9085, 0x0001, 0x012e, 0x005e, 0x00ce, 0x0005, 0x9006, + 0x0cd0, 0x00f6, 0x00c6, 0x0046, 0x00c6, 0x080c, 0x8df3, 0x2c78, + 0x00ce, 0x0180, 0x7e16, 0x2c00, 0x7812, 0x7823, 0x0003, 0x2021, + 0x0005, 0x080c, 0xa947, 0x2f60, 0x2009, 0x004d, 0x080c, 0x8ebf, + 0x9085, 0x0001, 0x004e, 0x00ce, 0x00fe, 0x0005, 0x00f6, 0x00c6, + 0x0046, 0x00c6, 0x080c, 0x8df3, 0x2c78, 0x00ce, 0x0178, 0x7e16, + 0x2c00, 0x7812, 0x7823, 0x0003, 0x2021, 0x0005, 0x0481, 0x2f60, + 0x2009, 0x004e, 0x080c, 0x8ebf, 0x9085, 0x0001, 0x004e, 0x00ce, + 0x00fe, 0x0005, 0x00f6, 0x00c6, 0x0046, 0x00c6, 0x080c, 0x8df3, + 0x2c78, 0x00ce, 0x01c0, 0x7e16, 0x2c00, 0x7812, 0x7823, 0x0003, + 0x2021, 0x0004, 0x00a1, 0x2001, 0x12a9, 0x2004, 0xd0fc, 0x0120, + 0x2f60, 0x080c, 0x8e49, 0x0028, 0x2f60, 0x2009, 0x0052, 0x080c, + 0x8ebf, 0x9085, 0x0001, 0x004e, 0x00ce, 0x00fe, 0x0005, 0x0096, + 0x0076, 0x0126, 0x2091, 0x8000, 0x080c, 0x5731, 0x0158, 0x2001, + 0xa94c, 0x0006, 0x900e, 0x2400, 0x080c, 0x5d93, 0x080c, 0x5b7a, + 0x000e, 0x0807, 0x2418, 0x080c, 0x791e, 0x62a0, 0x0086, 0x2041, + 0x0001, 0x2039, 0x0001, 0x2608, 0x080c, 0x76fd, 0x008e, 0x080c, + 0x75f1, 0x2f08, 0x2648, 0x080c, 0xbdcb, 0x613c, 0x81ff, 0x090c, + 0x77b2, 0x080c, 0x7a7b, 0x012e, 0x007e, 0x009e, 0x0005, 0x00c6, + 0x0126, 0x2091, 0x8000, 0x00c6, 0x080c, 0x8df3, 0x001e, 0x0188, + 0x660a, 0x6112, 0x080c, 0xac70, 0x6023, 0x0001, 0x2d00, 0x6016, + 0x2009, 0x001f, 0x080c, 0x8ebf, 0x9085, 0x0001, 0x012e, 0x00ce, + 0x0005, 0x9006, 0x0cd8, 0x00c6, 0x0126, 0x2091, 0x8000, 0x00c6, + 0x080c, 0x8df3, 0x001e, 0x01b0, 0x660a, 0x6112, 0x080c, 0xac70, + 0x6023, 0x0008, 0x2d00, 0x6016, 0x00f6, 0x2c78, 0x080c, 0x132d, + 0x00fe, 0x2009, 0x0021, 0x080c, 0x8ebf, 0x9085, 0x0001, 0x012e, + 0x00ce, 0x0005, 0x9006, 0x0cd8, 0x00c6, 0x0126, 0x2091, 0x8000, + 0x00c6, 0x080c, 0x8df3, 0x001e, 0x0188, 0x660a, 0x6112, 0x080c, + 0xac70, 0x6023, 0x0001, 0x2d00, 0x6016, 0x2009, 0x003d, 0x080c, + 0x8ebf, 0x9085, 0x0001, 0x012e, 0x00ce, 0x0005, 0x9006, 0x0cd8, + 0x00c6, 0x0126, 0x2091, 0x8000, 0x00c6, 0x080c, 0x8e92, 0x001e, + 0x0180, 0x6112, 0x080c, 0xac70, 0x6023, 0x0001, 0x2d00, 0x6016, + 0x2009, 0x0000, 0x080c, 0x8ebf, 0x9085, 0x0001, 0x012e, 0x00ce, + 0x0005, 0x9006, 0x0cd8, 0x00c6, 0x0126, 0x2091, 0x8000, 0x00c6, + 0x080c, 0x8df3, 0x001e, 0x0188, 0x660a, 0x6112, 0x080c, 0xac70, + 0x6023, 0x0001, 0x2d00, 0x6016, 0x2009, 0x0044, 0x080c, 0x8ebf, + 0x9085, 0x0001, 0x012e, 0x00ce, 0x0005, 0x9006, 0x0cd8, 0x00c6, + 0x0126, 0x2091, 0x8000, 0x00c6, 0x080c, 0x8df3, 0x001e, 0x0188, + 0x660a, 0x6112, 0x080c, 0xac70, 0x6023, 0x0001, 0x2d00, 0x6016, + 0x2009, 0x0049, 0x080c, 0x8ebf, 0x9085, 0x0001, 0x012e, 0x00ce, + 0x0005, 0x9006, 0x0cd8, 0x0026, 0x00d6, 0x6210, 0x2268, 0x6a3c, + 0x82ff, 0x0110, 0x8211, 0x6a3e, 0x00de, 0x002e, 0x0005, 0x0006, + 0x0016, 0x6004, 0x908e, 0x0002, 0x0140, 0x908e, 0x0003, 0x0128, + 0x908e, 0x0004, 0x0110, 0x9085, 0x0001, 0x001e, 0x000e, 0x0005, + 0x0006, 0x00d6, 0x6014, 0x906d, 0x0148, 0x6864, 0x9086, 0x0139, + 0x0138, 0x6868, 0xd0fc, 0x0110, 0x9006, 0x0010, 0x9085, 0x0001, + 0x00de, 0x000e, 0x0005, 0x00c6, 0x0126, 0x2091, 0x8000, 0x00c6, + 0x080c, 0x8df3, 0x001e, 0x0190, 0x6112, 0x080c, 0xac70, 0x6023, + 0x0001, 0x2d00, 0x6016, 0x080c, 0x2841, 0x2009, 0x0028, 0x080c, + 0x8ebf, 0x9085, 0x0001, 0x012e, 0x00ce, 0x0005, 0x9006, 0x0cd8, + 0x9186, 0x0015, 0x1188, 0x2011, 0x1122, 0x2204, 0x9086, 0x0074, + 0x1158, 0x080c, 0x9b2c, 0x6003, 0x0001, 0x6007, 0x0029, 0x080c, + 0x75c1, 0x080c, 0x7a7b, 0x0070, 0x6014, 0x9080, 0x001a, 0x2004, + 0xd0fc, 0x0148, 0x2001, 0x0001, 0x080c, 0xae11, 0x080c, 0x9743, + 0x080c, 0x8e49, 0x0005, 0x00d6, 0x6014, 0x906d, 0x090c, 0x0d4e, + 0x687b, 0x0030, 0x6883, 0x0000, 0x6897, 0x4005, 0x689b, 0x0004, + 0x6867, 0x0139, 0x0126, 0x2091, 0x8000, 0x080c, 0x5b7a, 0x012e, + 0x00de, 0x080c, 0x8e49, 0x0c30, 0x9186, 0x0016, 0x1128, 0x2001, + 0x0004, 0x080c, 0x5569, 0x00e8, 0x9186, 0x0015, 0x1518, 0x2011, + 0x1122, 0x2204, 0x9086, 0x0014, 0x11e8, 0x6010, 0x00d6, 0x2068, + 0x080c, 0x56af, 0x00de, 0x080c, 0x9bfd, 0x11a0, 0x6010, 0x00d6, + 0x2068, 0x6890, 0x00de, 0x9005, 0x0168, 0x2001, 0x0006, 0x080c, + 0x5569, 0x6014, 0x9080, 0x001a, 0x2004, 0xd0fc, 0x0170, 0x080c, + 0x91ea, 0x0050, 0x6014, 0x9080, 0x001a, 0x2004, 0xd0fc, 0x01d0, + 0x080c, 0x9743, 0x080c, 0x8e49, 0x0005, 0x6014, 0x00d6, 0x906d, + 0x090c, 0x0d4e, 0x687b, 0x0000, 0x6883, 0x0000, 0x6897, 0x4000, + 0x0126, 0x2091, 0x8000, 0x080c, 0x5b7a, 0x012e, 0x00de, 0x080c, + 0x8e49, 0x0c50, 0x6014, 0x00d6, 0x906d, 0x090c, 0x0d4e, 0x687b, + 0x0030, 0x6883, 0x0000, 0x6897, 0x4005, 0x689b, 0x0004, 0x6867, + 0x0139, 0x0126, 0x2091, 0x8000, 0x080c, 0x5b7a, 0x012e, 0x00de, + 0x080c, 0x8e49, 0x0888, 0x6878, 0x9086, 0x0005, 0x1108, 0x0009, + 0x0005, 0x6880, 0xc0ad, 0x6882, 0x0005, 0x6043, 0x0000, 0x6017, + 0x0000, 0x6003, 0x0001, 0x6007, 0x0050, 0x080c, 0x7571, 0x080c, + 0x7a7b, 0x0005, 0x00c6, 0x6010, 0x2004, 0xd0bc, 0x0120, 0x6020, + 0x9084, 0x000f, 0x0013, 0x00ce, 0x0005, 0xa5e7, 0xab46, 0xab49, + 0xab4c, 0xc089, 0xc0a4, 0xc0a7, 0xa5e7, 0xa5e7, 0xa5e7, 0xa5e7, + 0xa5e7, 0xa5e7, 0xa5e7, 0xa5e7, 0x080c, 0x0d4e, 0xa001, 0xa001, + 0x0005, 0xa001, 0xa001, 0x0005, 0x0009, 0x0005, 0x6010, 0x2004, + 0xd0bc, 0x0550, 0x00f6, 0x2c78, 0x080c, 0x8df3, 0x1128, 0x2001, + 0x12c2, 0x2004, 0x7842, 0x00f8, 0x7810, 0x6012, 0x080c, 0xac70, + 0x7820, 0x9086, 0x0003, 0x0128, 0x7808, 0x603a, 0x2f00, 0x603e, + 0x0020, 0x7808, 0x603e, 0x2f00, 0x603a, 0x602e, 0x6023, 0x0001, + 0x6007, 0x0035, 0x6003, 0x0001, 0x7954, 0x6156, 0x080c, 0x7571, + 0x080c, 0x7a7b, 0x2f60, 0x00fe, 0x0005, 0x0016, 0x00f6, 0x6830, + 0x6036, 0x908e, 0x0001, 0x0148, 0x6803, 0x0002, 0x9086, 0x0005, + 0x0168, 0x9006, 0x602e, 0x6032, 0x00c8, 0x681c, 0xc085, 0x681e, + 0x6803, 0x0004, 0x6824, 0xc0f4, 0xc0d5, 0x6826, 0x6814, 0x2078, + 0x78ac, 0x6938, 0x9102, 0x78b0, 0x693c, 0x9103, 0x1e50, 0x683c, + 0x602e, 0x6838, 0x9084, 0xfffc, 0x683a, 0x6032, 0x2d00, 0x603a, + 0x6808, 0x603e, 0x6910, 0x6112, 0x6954, 0x6156, 0x6023, 0x0001, + 0x6007, 0x0039, 0x6003, 0x0001, 0x080c, 0x7571, 0x080c, 0x7a7b, + 0x00fe, 0x001e, 0x0005, 0x6024, 0xd0d4, 0x0510, 0xd0f4, 0x11f8, + 0x6038, 0x940a, 0x603c, 0x9303, 0x0230, 0x9105, 0x0120, 0x6024, + 0xc0d4, 0xc0f5, 0x0098, 0x643a, 0x633e, 0x6c3e, 0x6b42, 0x0046, + 0x0036, 0x2400, 0x6cac, 0x9402, 0x6836, 0x2300, 0x6bb0, 0x9303, + 0x683a, 0x003e, 0x004e, 0x6024, 0xc0d4, 0x0000, 0x6026, 0x0005, + 0xd0f4, 0x1138, 0x683c, 0x603a, 0x6840, 0x603e, 0x6024, 0xc0f5, + 0x6026, 0x0005, 0x0006, 0x0016, 0x6004, 0x908e, 0x0034, 0x01b8, + 0x908e, 0x0035, 0x01a0, 0x908e, 0x0036, 0x0188, 0x908e, 0x0037, + 0x0170, 0x908e, 0x0038, 0x0158, 0x908e, 0x0039, 0x0140, 0x908e, + 0x003a, 0x0128, 0x908e, 0x003b, 0x0110, 0x9085, 0x0001, 0x001e, + 0x000e, 0x0005, 0x0006, 0x0016, 0x0026, 0x0036, 0x00e6, 0x2001, + 0x12bc, 0x200c, 0x8000, 0x2014, 0x2001, 0x0032, 0x080c, 0x73d2, + 0x2001, 0x12c0, 0x82ff, 0x1110, 0x2011, 0x0014, 0x2202, 0x2001, + 0x12be, 0x200c, 0x8000, 0x2014, 0x2071, 0x1297, 0x711a, 0x721e, + 0x2001, 0x0064, 0x080c, 0x73d2, 0x2001, 0x12c1, 0x82ff, 0x1110, + 0x2011, 0x0014, 0x2202, 0x2001, 0x12c2, 0x9288, 0x000a, 0x2102, + 0x2001, 0x136a, 0x2102, 0x2001, 0x0032, 0x080c, 0x12c2, 0x080c, + 0x58bd, 0x00ee, 0x003e, 0x002e, 0x001e, 0x000e, 0x0005, 0x0006, + 0x0016, 0x00e6, 0x2001, 0x12c0, 0x2003, 0x0028, 0x2001, 0x12c1, + 0x2003, 0x0014, 0x2071, 0x1297, 0x701b, 0x0000, 0x701f, 0x07d0, + 0x2001, 0x12c2, 0x2009, 0x001e, 0x2102, 0x2001, 0x136a, 0x2102, + 0x2001, 0x0032, 0x080c, 0x12c2, 0x00ee, 0x001e, 0x000e, 0x0005, + 0x00d6, 0x6058, 0x906d, 0x0110, 0x080c, 0x0e82, 0x00de, 0x0005, + 0x0005, 0x00c6, 0x0126, 0x2091, 0x8000, 0x00c6, 0x080c, 0x8df3, + 0x001e, 0x0178, 0x6112, 0x0ca1, 0x6023, 0x0001, 0x2d00, 0x6016, + 0x2009, 0x0033, 0x080c, 0x8ebf, 0x9085, 0x0001, 0x012e, 0x00ce, + 0x0005, 0x9006, 0x0cd8, 0x00d6, 0x00e6, 0x00f6, 0x2071, 0x1100, + 0x9186, 0x0015, 0x1500, 0x7088, 0x9086, 0x0018, 0x11e0, 0x6014, + 0x2068, 0x6a3c, 0xd2e4, 0x1160, 0x2c78, 0x080c, 0x7c5d, 0x01d8, + 0x7074, 0x6a50, 0x9206, 0x1160, 0x7078, 0x6a54, 0x9206, 0x1140, + 0x6210, 0x9290, 0x0028, 0x2214, 0x2009, 0x0000, 0x080c, 0x2884, + 0x080c, 0x91ea, 0x0020, 0x080c, 0x9743, 0x080c, 0x8e49, 0x00fe, + 0x00ee, 0x00de, 0x0005, 0x7058, 0x6a54, 0x9206, 0x0d48, 0x0c80, + 0x00c6, 0x0126, 0x2091, 0x8000, 0x00c6, 0x080c, 0x8df3, 0x001e, + 0x0180, 0x6112, 0x080c, 0xac70, 0x6023, 0x0001, 0x2d00, 0x6016, + 0x2009, 0x004d, 0x080c, 0x8ebf, 0x9085, 0x0001, 0x012e, 0x00ce, + 0x0005, 0x9006, 0x0cd8, 0x00c6, 0x0126, 0x2091, 0x8000, 0x0016, + 0x00c6, 0x080c, 0x8df3, 0x001e, 0x0178, 0x6112, 0x080c, 0xac70, + 0x6023, 0x0001, 0x2d00, 0x6016, 0x001e, 0x080c, 0x8ebf, 0x9085, + 0x0001, 0x012e, 0x00ce, 0x0005, 0x001e, 0x9006, 0x0cd0, 0x0016, + 0x0026, 0x0036, 0x0046, 0x0056, 0x0066, 0x00d6, 0x00e6, 0x00f6, + 0x2071, 0x1100, 0x9186, 0x0015, 0x1538, 0x7188, 0x6014, 0x2068, + 0x6814, 0x8003, 0x9106, 0x1500, 0x20e1, 0x0000, 0x2001, 0x12da, + 0x2003, 0x0000, 0x6014, 0x20e9, 0x0001, 0x2068, 0x6830, 0x20a8, + 0x9d80, 0x001b, 0x20a0, 0x2001, 0x12da, 0x0016, 0x200c, 0x080c, + 0xb3f8, 0x001e, 0x6804, 0x9005, 0x0110, 0x2068, 0x0c78, 0x6014, + 0x2070, 0x7067, 0x0103, 0x0010, 0x080c, 0x9743, 0x080c, 0x8e49, + 0x00fe, 0x00ee, 0x00de, 0x006e, 0x005e, 0x004e, 0x003e, 0x002e, + 0x001e, 0x0005, 0x00d6, 0x00e6, 0x00f6, 0x2071, 0x1100, 0x9186, + 0x0015, 0x11c0, 0x7088, 0x9086, 0x0004, 0x11a0, 0x6014, 0x90e8, + 0x001b, 0x2c78, 0x080c, 0x7c5d, 0x01a8, 0x7074, 0x6a08, 0x9206, + 0x1130, 0x7078, 0x6a0c, 0x9206, 0x1110, 0x080c, 0x2841, 0x080c, + 0x91ea, 0x0020, 0x080c, 0x9743, 0x080c, 0x8e49, 0x00fe, 0x00ee, + 0x00de, 0x0005, 0x7058, 0x6a0c, 0x9206, 0x0d78, 0x0c80, 0x00d6, + 0x00e6, 0x00f6, 0x2071, 0x1100, 0x9186, 0x0015, 0x11f0, 0x7088, + 0x9086, 0x0004, 0x11d0, 0x6014, 0x90e8, 0x0031, 0x2c78, 0x080c, + 0x7c5d, 0x0558, 0x7074, 0x6a08, 0x9206, 0x1130, 0x7078, 0x6a0c, + 0x9206, 0x1110, 0x080c, 0x2841, 0x6014, 0x2068, 0x687b, 0x0000, + 0x6883, 0x0000, 0x6897, 0x4000, 0x0050, 0x6014, 0x2068, 0x687b, + 0x0030, 0x6883, 0x0000, 0x6897, 0x4005, 0x689b, 0x0004, 0x0126, + 0x2091, 0x8000, 0x6867, 0x0139, 0x080c, 0x5b7a, 0x012e, 0x080c, + 0x8e49, 0x00fe, 0x00ee, 0x00de, 0x0005, 0x7058, 0x6a0c, 0x9206, + 0x09c8, 0x08d0, 0x0016, 0x0026, 0x687c, 0xd0ac, 0x0178, 0x6938, + 0x6a34, 0x2100, 0x9205, 0x0150, 0x6890, 0x9106, 0x1118, 0x688c, + 0x9206, 0x0120, 0x6992, 0x6a8e, 0x9085, 0x0001, 0x002e, 0x001e, + 0x0005, 0x00d6, 0x0036, 0x6314, 0x2368, 0x687a, 0x6982, 0x929e, + 0x4000, 0x1560, 0x6310, 0x00c6, 0x2360, 0x2009, 0x0000, 0x6868, + 0xd0f4, 0x1140, 0x080c, 0x57dd, 0x1108, 0xc185, 0x6000, 0xd0bc, + 0x0108, 0xc18d, 0x6a96, 0x699a, 0x20a9, 0x0004, 0x20e1, 0x0001, + 0x20e9, 0x0001, 0x9d80, 0x0031, 0x20a0, 0x9c80, 0x0006, 0x2098, + 0x080c, 0x5034, 0x20a9, 0x0004, 0x9d80, 0x0035, 0x20a0, 0x9c80, + 0x000a, 0x2098, 0x080c, 0x5034, 0x00ce, 0x00a0, 0x6a96, 0x3918, + 0x9398, 0x0006, 0x231c, 0x6004, 0x9086, 0x0016, 0x0110, 0x689b, + 0x0004, 0x6ba2, 0x6310, 0x00c6, 0x2360, 0x6004, 0x00ce, 0x9084, + 0x00ff, 0x689e, 0x080c, 0x5b7a, 0x6017, 0x0000, 0x003e, 0x00de, + 0x0005, 0x0026, 0x0036, 0x0046, 0x00e6, 0x00d6, 0x00f6, 0x6214, + 0x2268, 0x6210, 0x2270, 0x2079, 0x0260, 0x9096, 0x0000, 0x11a8, + 0x7014, 0x9084, 0x00ff, 0x2009, 0x0000, 0x080c, 0x1eee, 0x2118, + 0x831f, 0x939c, 0xff00, 0x7838, 0x9084, 0x00ff, 0x931d, 0x7c3c, + 0x2011, 0x8018, 0x080c, 0x3ecb, 0x00a8, 0x9096, 0x0001, 0x1148, + 0x8dff, 0x0180, 0x689b, 0x000d, 0x7838, 0x68a6, 0x783c, 0x68aa, + 0x0048, 0x9096, 0x0002, 0x1130, 0x689b, 0x000d, 0x7838, 0x68a6, + 0x783c, 0x68aa, 0x00fe, 0x00de, 0x00ee, 0x004e, 0x003e, 0x002e, + 0x0005, 0x00c6, 0x0026, 0x0016, 0x9186, 0x0035, 0x0110, 0x6a38, + 0x0008, 0x6a2c, 0x080c, 0xa843, 0x01f0, 0x2260, 0x6120, 0x9186, + 0x0003, 0x0118, 0x9186, 0x0006, 0x1190, 0x6838, 0x9206, 0x0140, + 0x683c, 0x9206, 0x1160, 0x6108, 0x6838, 0x9106, 0x1140, 0x0020, + 0x6008, 0x693c, 0x9106, 0x1118, 0x6010, 0x6910, 0x9106, 0x001e, + 0x002e, 0x00ce, 0x0005, 0x9085, 0x0001, 0x0cc8, 0x6974, 0xd1cc, + 0x0188, 0x918c, 0x00ff, 0x918e, 0x0002, 0x1160, 0x69a8, 0x918c, + 0x0f00, 0x810f, 0x918e, 0x0001, 0x1128, 0x6834, 0x6938, 0x9115, + 0x190c, 0xa04a, 0x0005, 0x0066, 0x6000, 0x90b2, 0x0016, 0x1a0c, + 0x0d4e, 0x0013, 0x006e, 0x0005, 0xaeac, 0xb4fa, 0xb664, 0xaeac, + 0xaeac, 0xaeac, 0xaeac, 0xaeac, 0xaee3, 0xb6ea, 0xaeac, 0xaeac, + 0xaeac, 0xaeac, 0xaeac, 0xaeac, 0x080c, 0x0d4e, 0x0066, 0x6000, + 0x90b2, 0x0016, 0x1a0c, 0x0d4e, 0x0013, 0x006e, 0x0005, 0xaec7, + 0xbbb3, 0xaec7, 0xaec7, 0xaec7, 0xaec7, 0xaec7, 0xaec7, 0xbb62, + 0xbc07, 0xaec7, 0xc1d1, 0xc207, 0xc1d1, 0xc207, 0xaec7, 0x080c, + 0x0d4e, 0x6000, 0x9082, 0x0016, 0x1a0c, 0x0d4e, 0x6000, 0x000a, + 0x0005, 0xaee1, 0xb83a, 0xb933, 0xb955, 0xb9fd, 0xaee1, 0xbad4, + 0xba7f, 0xb6f6, 0xbb38, 0xbb4d, 0xaee1, 0xaee1, 0xaee1, 0xaee1, + 0xaee1, 0x080c, 0x0d4e, 0x91b2, 0x0051, 0x1a0c, 0x0d4e, 0x2100, + 0x91b2, 0x0040, 0x1a04, 0xb320, 0x0002, 0xaf2d, 0xb11a, 0xaf2d, + 0xaf2d, 0xaf2d, 0xb123, 0xaf2d, 0xaf2d, 0xaf2d, 0xaf2d, 0xaf2d, + 0xaf2d, 0xaf2d, 0xaf2d, 0xaf2d, 0xaf2d, 0xaf2d, 0xaf2d, 0xaf2d, + 0xaf2d, 0xaf2d, 0xaf2d, 0xaf2d, 0xaf2f, 0xaf8b, 0xaf9a, 0xaffd, + 0xb028, 0xb0a6, 0xb105, 0xaf2d, 0xaf2d, 0xb126, 0xaf2d, 0xaf2d, + 0xb13b, 0xb148, 0xaf2d, 0xaf2d, 0xaf2d, 0xaf2d, 0xaf2d, 0xb1cf, + 0xaf2d, 0xaf2d, 0xb1de, 0xaf2d, 0xaf2d, 0xb19a, 0xaf2d, 0xaf2d, + 0xaf2d, 0xb1f6, 0xaf2d, 0xaf2d, 0xaf2d, 0xb272, 0xaf2d, 0xaf2d, + 0xaf2d, 0xaf2d, 0xaf2d, 0xaf2d, 0xb2e7, 0x080c, 0x0d4e, 0x080c, + 0x589c, 0x1150, 0x2001, 0x1135, 0x2004, 0xd0cc, 0x1128, 0x9084, + 0x0009, 0x9086, 0x0008, 0x1140, 0x6007, 0x0009, 0x602f, 0x0009, + 0x6017, 0x0000, 0x0804, 0xb113, 0x080c, 0x588c, 0x00e6, 0x00c6, + 0x0036, 0x0026, 0x0016, 0x6210, 0x2270, 0x72a0, 0x0026, 0x2019, + 0x0029, 0x080c, 0x76e4, 0x0076, 0x2039, 0x0000, 0x080c, 0x75f1, + 0x2c08, 0x080c, 0xbdcb, 0x007e, 0x001e, 0x2e60, 0x001e, 0x002e, + 0x003e, 0x00ce, 0x00ee, 0x6610, 0x00c6, 0x2660, 0x080c, 0x561d, + 0x00ce, 0x96b0, 0x0001, 0x2634, 0x9684, 0x00ff, 0x9082, 0x0006, + 0x0278, 0x080c, 0xbd0f, 0x1904, 0xaff7, 0x080c, 0xbcac, 0x1120, + 0x6007, 0x0008, 0x0804, 0xb113, 0x6007, 0x0009, 0x0804, 0xb113, + 0x080c, 0xbee6, 0x0128, 0x080c, 0xbd0f, 0x0d78, 0x0804, 0xaff7, + 0x6017, 0x1900, 0x0c88, 0x080c, 0x295f, 0x1904, 0xb31d, 0x6106, + 0x080c, 0xbc68, 0x6007, 0x0006, 0x0804, 0xb113, 0x6007, 0x0007, + 0x0804, 0xb113, 0x080c, 0xc243, 0x1904, 0xb31d, 0x080c, 0x295f, + 0x1904, 0xb31d, 0x00d6, 0x6610, 0x2668, 0x6e04, 0x9684, 0x00ff, + 0x9082, 0x0006, 0x1220, 0x2001, 0x0001, 0x080c, 0x5557, 0x96b4, + 0xff00, 0x8637, 0x9686, 0x0006, 0x0188, 0x9686, 0x0004, 0x0170, + 0x6e04, 0x96b4, 0x00ff, 0x9686, 0x0006, 0x0140, 0x9686, 0x0004, + 0x0128, 0x9686, 0x0005, 0x0110, 0x00de, 0x0488, 0x00e6, 0x2071, + 0x0260, 0x7034, 0x90b4, 0x0003, 0x1138, 0x90b2, 0x0014, 0x0220, + 0x7030, 0x9084, 0x0003, 0x0130, 0x00ee, 0x6017, 0x0000, 0x602f, + 0x0007, 0x00c0, 0x00ee, 0x080c, 0xbd6d, 0x11a0, 0x9686, 0x0006, + 0x1150, 0x0026, 0x6210, 0x9290, 0x0028, 0x2214, 0x2009, 0x0000, + 0x080c, 0x2884, 0x002e, 0x080c, 0x56af, 0x6007, 0x000a, 0x00de, + 0x0804, 0xb113, 0x6007, 0x000b, 0x00de, 0x0804, 0xb113, 0x080c, + 0x2841, 0x6007, 0x0001, 0x0804, 0xb113, 0x080c, 0xc243, 0x1904, + 0xb31d, 0x080c, 0x295f, 0x1904, 0xb31d, 0x2071, 0x0260, 0x7034, + 0x90b4, 0x0003, 0x1948, 0x90b2, 0x0014, 0x0a30, 0x7030, 0x9084, + 0x0003, 0x1910, 0x6610, 0x00d6, 0x2668, 0x6e04, 0x00de, 0x9686, + 0x0707, 0x09e8, 0x0026, 0x6210, 0x9290, 0x0028, 0x2214, 0x2009, + 0x0000, 0x080c, 0x2884, 0x002e, 0x6007, 0x000c, 0x0804, 0xb113, + 0x080c, 0x589c, 0x1140, 0x2001, 0x1135, 0x2004, 0x9084, 0x0009, + 0x9086, 0x0008, 0x1110, 0x0804, 0xaf3c, 0x080c, 0x588c, 0x6610, + 0x96b0, 0x0001, 0x2634, 0x9684, 0x00ff, 0x9082, 0x0006, 0x06e8, + 0x1138, 0x0026, 0x2001, 0x0006, 0x080c, 0x5596, 0x002e, 0x0050, + 0x96b4, 0xff00, 0x8637, 0x9686, 0x0004, 0x0120, 0x9686, 0x0006, + 0x1904, 0xaff7, 0x080c, 0xbd7a, 0x1120, 0x6007, 0x000e, 0x0804, + 0xb113, 0x0046, 0x6410, 0x94a0, 0x0028, 0x2424, 0x94a4, 0x00ff, + 0x8427, 0x0046, 0x080c, 0x2841, 0x004e, 0x0016, 0x9006, 0x2009, + 0x1153, 0x210c, 0xd1a4, 0x0158, 0x2009, 0x0029, 0x080c, 0xc04a, + 0x6010, 0x00d6, 0x2068, 0x6800, 0xc0e5, 0x6802, 0x00de, 0x001e, + 0x004e, 0x6007, 0x0001, 0x0804, 0xb113, 0x2001, 0x0001, 0x080c, + 0x5557, 0x0156, 0x0016, 0x0026, 0x0036, 0x20a9, 0x0004, 0x2019, + 0x1105, 0x2011, 0x0270, 0x080c, 0x9c86, 0x003e, 0x002e, 0x001e, + 0x015e, 0x9005, 0x0168, 0x96b4, 0xff00, 0x8637, 0x9682, 0x0004, + 0x0a04, 0xaff7, 0x9682, 0x0007, 0x0a04, 0xb052, 0x0804, 0xaff7, + 0x6017, 0x1900, 0x6007, 0x0009, 0x0804, 0xb113, 0x080c, 0x589c, + 0x1140, 0x2001, 0x1135, 0x2004, 0x9084, 0x0009, 0x9086, 0x0008, + 0x1110, 0x0804, 0xaf3c, 0x080c, 0x588c, 0x6610, 0x96b0, 0x0001, + 0x2634, 0x9684, 0x00ff, 0x9082, 0x0006, 0x06b8, 0x96b4, 0xff00, + 0x8637, 0x9686, 0x0004, 0x0120, 0x9686, 0x0006, 0x1904, 0xaff7, + 0x080c, 0xbda2, 0x1138, 0x080c, 0xbcac, 0x1120, 0x6007, 0x0010, + 0x0804, 0xb113, 0x0046, 0x6410, 0x94a0, 0x0028, 0x2424, 0x94a4, + 0x00ff, 0x8427, 0x0046, 0x080c, 0x2841, 0x004e, 0x0016, 0x9006, + 0x2009, 0x1153, 0x210c, 0xd1a4, 0x0158, 0x2009, 0x0029, 0x080c, + 0xc04a, 0x6010, 0x00d6, 0x2068, 0x6800, 0xc0e5, 0x6802, 0x00de, + 0x001e, 0x004e, 0x6007, 0x0001, 0x00f0, 0x080c, 0xbee6, 0x0140, + 0x96b4, 0xff00, 0x8637, 0x9686, 0x0006, 0x0950, 0x0804, 0xaff7, + 0x6017, 0x1900, 0x6007, 0x0009, 0x0070, 0x080c, 0x295f, 0x1904, + 0xb31d, 0x080c, 0xc243, 0x1904, 0xb31d, 0x080c, 0xb493, 0x1904, + 0xaff7, 0x6007, 0x0012, 0x6003, 0x0001, 0x080c, 0x75c1, 0x080c, + 0x7a7b, 0x0005, 0x6007, 0x0001, 0x6003, 0x0001, 0x080c, 0x75c1, + 0x080c, 0x7a7b, 0x0cb0, 0x6007, 0x0005, 0x0c68, 0x080c, 0xc243, + 0x1904, 0xb31d, 0x080c, 0x295f, 0x1904, 0xb31d, 0x080c, 0xb493, + 0x1904, 0xaff7, 0x6007, 0x0020, 0x6003, 0x0001, 0x080c, 0x75c1, + 0x080c, 0x7a7b, 0x0005, 0x080c, 0x295f, 0x1904, 0xb31d, 0x6007, + 0x0023, 0x6003, 0x0001, 0x080c, 0x75c1, 0x080c, 0x7a7b, 0x0005, + 0x080c, 0xc243, 0x1904, 0xb31d, 0x080c, 0x295f, 0x1904, 0xb31d, + 0x080c, 0xb493, 0x1904, 0xaff7, 0x0016, 0x0026, 0x00e6, 0x2071, + 0x0260, 0x7244, 0x9286, 0xffff, 0x0180, 0x2c08, 0x080c, 0xa843, + 0x01b0, 0x2260, 0x7240, 0x6008, 0x9206, 0x1188, 0x6010, 0x9190, + 0x0004, 0x2214, 0x9206, 0x01b8, 0x0050, 0x7240, 0x2c08, 0x9006, + 0x080c, 0xc01c, 0x1180, 0x7244, 0x9286, 0xffff, 0x01b0, 0x2160, + 0x6007, 0x0026, 0x6017, 0x1700, 0x7214, 0x9296, 0xffff, 0x1180, + 0x6007, 0x0025, 0x0068, 0x6020, 0x9086, 0x0007, 0x1d80, 0x6004, + 0x9086, 0x0024, 0x1110, 0x080c, 0x8e49, 0x2160, 0x6007, 0x0025, + 0x6003, 0x0001, 0x080c, 0x75c1, 0x080c, 0x7a7b, 0x00ee, 0x002e, + 0x001e, 0x0005, 0x2001, 0x0001, 0x080c, 0x5557, 0x0156, 0x0016, + 0x0026, 0x0036, 0x20a9, 0x0004, 0x2019, 0x1105, 0x2011, 0x0276, + 0x080c, 0x9c86, 0x003e, 0x002e, 0x001e, 0x015e, 0x0120, 0x6007, + 0x0031, 0x0804, 0xb113, 0x080c, 0x9945, 0x080c, 0x62c5, 0x11b0, + 0x0006, 0x0026, 0x0036, 0x080c, 0x62e1, 0x1158, 0x2001, 0x12a8, + 0x2003, 0x0001, 0x2001, 0x1100, 0x2003, 0x0001, 0x080c, 0x61f5, + 0x0010, 0x080c, 0x629c, 0x003e, 0x002e, 0x000e, 0x0005, 0x080c, + 0x295f, 0x1904, 0xb31d, 0x6106, 0x080c, 0xb4af, 0x6007, 0x002b, + 0x0804, 0xb113, 0x6007, 0x002c, 0x0804, 0xb113, 0x080c, 0xc243, + 0x1904, 0xb31d, 0x080c, 0x295f, 0x1904, 0xb31d, 0x080c, 0xb493, + 0x1904, 0xaff7, 0x6106, 0x080c, 0xb4b3, 0x1120, 0x6007, 0x002e, + 0x0804, 0xb113, 0x6007, 0x002f, 0x0804, 0xb113, 0x080c, 0x295f, + 0x1904, 0xb31d, 0x00e6, 0x00d6, 0x00c6, 0x6010, 0x9080, 0x0001, + 0x200c, 0x9184, 0x00ff, 0x9086, 0x0006, 0x0158, 0x9184, 0xff00, + 0x8007, 0x9086, 0x0006, 0x0128, 0x00ce, 0x00de, 0x00ee, 0x0804, + 0xb11a, 0x2001, 0x1172, 0x2004, 0xd0e4, 0x0904, 0xb26f, 0x2071, + 0x026c, 0x7010, 0x603a, 0x7014, 0x603e, 0x7108, 0x720c, 0x2001, + 0x1153, 0x2004, 0xd0a4, 0x0140, 0x6010, 0x2068, 0x6810, 0x9106, + 0x1118, 0x6814, 0x9206, 0x0508, 0x2001, 0x1153, 0x2004, 0xd0ac, + 0x15a0, 0x2069, 0x1100, 0x6878, 0x9206, 0x1578, 0x6874, 0x9106, + 0x1560, 0x7210, 0x080c, 0xa843, 0x0568, 0x080c, 0xc0b6, 0x0550, + 0x622e, 0x6007, 0x0036, 0x6003, 0x0001, 0x080c, 0x7571, 0x080c, + 0x7a7b, 0x00ce, 0x00de, 0x00ee, 0x0005, 0x7214, 0x9286, 0xffff, + 0x0150, 0x080c, 0xa843, 0x01b0, 0x9280, 0x0002, 0x2004, 0x7110, + 0x9106, 0x1180, 0x08f8, 0x7210, 0x2c08, 0x9085, 0x0001, 0x080c, + 0xc01c, 0x2c10, 0x2160, 0x0130, 0x08a8, 0x6007, 0x0037, 0x6017, + 0x1500, 0x08c8, 0x6007, 0x0037, 0x6017, 0x1700, 0x08a0, 0x6007, + 0x0012, 0x0888, 0x080c, 0x295f, 0x1904, 0xb31d, 0x6010, 0x9080, + 0x0001, 0x2004, 0x9084, 0xff00, 0x8007, 0x9086, 0x0006, 0x1904, + 0xb11a, 0x00e6, 0x00d6, 0x00c6, 0x2001, 0x1172, 0x2004, 0xd0e4, + 0x0904, 0xb2df, 0x2069, 0x1100, 0x2071, 0x026c, 0x7008, 0x603a, + 0x720c, 0x623e, 0x9286, 0xffff, 0x1150, 0x7208, 0x00c6, 0x2c08, + 0x9085, 0x0001, 0x080c, 0xc01c, 0x2c10, 0x00ce, 0x0598, 0x080c, + 0xa843, 0x0580, 0x00c6, 0x0026, 0x2260, 0x080c, 0xa4fe, 0x002e, + 0x00ce, 0x7118, 0x918c, 0xff00, 0x810f, 0x9186, 0x0001, 0x0158, + 0x9186, 0x0005, 0x0118, 0x9186, 0x0007, 0x1178, 0x9280, 0x0005, + 0x2004, 0x9005, 0x0150, 0x0056, 0x7510, 0x7614, 0x080c, 0xc0cf, + 0x005e, 0x00ce, 0x00de, 0x00ee, 0x0005, 0x6007, 0x003b, 0x602f, + 0x0009, 0x6017, 0x2a00, 0x6003, 0x0001, 0x080c, 0x7571, 0x080c, + 0x7a7b, 0x0c78, 0x6007, 0x003b, 0x602f, 0x0009, 0x6017, 0x1700, + 0x6003, 0x0001, 0x080c, 0x7571, 0x080c, 0x7a7b, 0x0c10, 0x6007, + 0x003b, 0x602f, 0x000b, 0x6017, 0x0000, 0x0804, 0xb243, 0x00e6, + 0x0026, 0x080c, 0x589c, 0x0558, 0x080c, 0x588c, 0x080c, 0xc2ae, + 0x1520, 0x2071, 0x1100, 0x70d4, 0xc085, 0x70d6, 0x00f6, 0x2079, + 0x0100, 0x72a4, 0x9284, 0x00ff, 0x7076, 0x78e6, 0x9284, 0xff00, + 0x7278, 0x9205, 0x707a, 0x78ea, 0x00fe, 0x70df, 0x0000, 0x2001, + 0x1153, 0x2004, 0xd0a4, 0x0120, 0x2011, 0x131c, 0x2013, 0x07d0, + 0xd0ac, 0x1128, 0x080c, 0x2658, 0x0010, 0x080c, 0xc2da, 0x002e, + 0x00ee, 0x080c, 0x8e49, 0x0804, 0xb119, 0x080c, 0x8e49, 0x0005, + 0x2600, 0x0002, 0xb333, 0xb333, 0xb333, 0xb333, 0xb333, 0xb335, + 0xb333, 0xb333, 0xb333, 0xb333, 0xb34e, 0xb333, 0xb333, 0xb333, + 0xb360, 0xb36d, 0xb39c, 0x080c, 0x0d4e, 0x080c, 0xc243, 0x1d28, + 0x080c, 0x295f, 0x1d10, 0x080c, 0xb493, 0x1138, 0x6007, 0x0045, + 0x6003, 0x0001, 0x080c, 0x75c1, 0x0005, 0x080c, 0x2841, 0x6007, + 0x0001, 0x6003, 0x0001, 0x080c, 0x75c1, 0x0005, 0x080c, 0xc243, + 0x1960, 0x080c, 0x295f, 0x1948, 0x080c, 0xb493, 0x1d70, 0x703c, + 0x6016, 0x6007, 0x004a, 0x6003, 0x0001, 0x080c, 0x75c1, 0x0005, + 0x080c, 0xb3a1, 0x0904, 0xb31d, 0x6007, 0x004e, 0x6003, 0x0001, + 0x080c, 0x75c1, 0x080c, 0x7a7b, 0x0005, 0x6007, 0x004f, 0x6017, + 0x0000, 0x7134, 0x918c, 0x00ff, 0x81ff, 0x01f8, 0x9186, 0x0001, + 0x1160, 0x7140, 0x2001, 0x12f3, 0x2004, 0x9106, 0x11a0, 0x7144, + 0x2001, 0x12f4, 0x2004, 0x9106, 0x0180, 0x9186, 0x0002, 0x1158, + 0x2011, 0x0276, 0x20a9, 0x0004, 0x6010, 0x6010, 0x9098, 0x000a, + 0x080c, 0x9c86, 0x0110, 0x6017, 0x0001, 0x6003, 0x0001, 0x080c, + 0x75c1, 0x080c, 0x7a7b, 0x0005, 0x6007, 0x0050, 0x703c, 0x6016, + 0x0ca0, 0x0016, 0x00d6, 0x00e6, 0x01c6, 0x01d6, 0x0126, 0x2091, + 0x8000, 0x2071, 0x1100, 0x7088, 0x908a, 0x00f9, 0x16c8, 0x20e1, + 0x0000, 0x20e9, 0x0001, 0x2001, 0x12da, 0x2003, 0x0000, 0x080c, + 0x0e50, 0x0570, 0x2d00, 0x6016, 0x7088, 0x8004, 0x6816, 0x908a, + 0x001e, 0x02b8, 0x6833, 0x001e, 0x20a9, 0x001e, 0x9d80, 0x001b, + 0x20a0, 0x2001, 0x12da, 0x0016, 0x200c, 0x0451, 0x001e, 0x2d70, + 0x080c, 0x0e50, 0x01a8, 0x2d00, 0x7006, 0x2100, 0x81ff, 0x0168, + 0x0c30, 0x6832, 0x20a8, 0x9d80, 0x001b, 0x20a0, 0x2001, 0x12da, + 0x0016, 0x200c, 0x00a9, 0x001e, 0x0000, 0x9085, 0x0001, 0x0048, + 0x2071, 0x1100, 0x708b, 0x0000, 0x6014, 0x2068, 0x080c, 0x0e92, + 0x9006, 0x012e, 0x01de, 0x01ce, 0x00ee, 0x00de, 0x001e, 0x0005, + 0x0006, 0x0016, 0x0026, 0x0036, 0x00c6, 0x918c, 0xffff, 0x11a8, + 0x080c, 0x1b02, 0x2099, 0x026c, 0x2001, 0x0014, 0x3518, 0x9312, + 0x1218, 0x23a8, 0x4003, 0x00f8, 0x20a8, 0x4003, 0x22a8, 0x8108, + 0x080c, 0x1b02, 0x2099, 0x0260, 0x0ca8, 0x080c, 0x1b02, 0x2061, + 0x12da, 0x6004, 0x2098, 0x6008, 0x3518, 0x9312, 0x1218, 0x23a8, + 0x4003, 0x0048, 0x20a8, 0x4003, 0x22a8, 0x8108, 0x080c, 0x1b02, + 0x2099, 0x0260, 0x0ca8, 0x2061, 0x12da, 0x2019, 0x0280, 0x3300, + 0x931e, 0x0110, 0x6006, 0x0020, 0x2001, 0x0260, 0x6006, 0x8108, + 0x2162, 0x9292, 0x0021, 0x9296, 0xffff, 0x620a, 0x00ce, 0x003e, + 0x002e, 0x001e, 0x000e, 0x0005, 0x0006, 0x0016, 0x0026, 0x0036, + 0x00c6, 0x81ff, 0x11b8, 0x080c, 0x1b1a, 0x20a1, 0x024c, 0x2001, + 0x0014, 0x3518, 0x9312, 0x1218, 0x23a8, 0x4003, 0x0418, 0x20a8, + 0x4003, 0x82ff, 0x01f8, 0x22a8, 0x8108, 0x080c, 0x1b1a, 0x20a1, + 0x0240, 0x0c98, 0x080c, 0x1b1a, 0x2061, 0x12dd, 0x6004, 0x20a0, + 0x6008, 0x3518, 0x9312, 0x1218, 0x23a8, 0x4003, 0x0058, 0x20a8, + 0x4003, 0x82ff, 0x0138, 0x22a8, 0x8108, 0x080c, 0x1b1a, 0x20a1, + 0x0240, 0x0c98, 0x2061, 0x12dd, 0x2019, 0x0260, 0x3400, 0x931e, + 0x0110, 0x6006, 0x0020, 0x2001, 0x0240, 0x6006, 0x8108, 0x2162, + 0x9292, 0x0021, 0x9296, 0xffff, 0x620a, 0x00ce, 0x003e, 0x002e, + 0x001e, 0x000e, 0x0005, 0x00d6, 0x0066, 0x6610, 0x2668, 0x6e04, + 0x96b4, 0xff00, 0x8637, 0x9686, 0x0006, 0x0170, 0x9686, 0x0004, + 0x0158, 0x6e04, 0x96b4, 0x00ff, 0x9686, 0x0006, 0x0128, 0x9686, + 0x0004, 0x0110, 0x9085, 0x0001, 0x006e, 0x00de, 0x0005, 0x00d6, + 0x0449, 0x00de, 0x0005, 0x00d6, 0x0491, 0x11f0, 0x680c, 0x908c, + 0xff00, 0x6820, 0x9084, 0x00ff, 0x9115, 0x6216, 0x6824, 0x602e, + 0xd1e4, 0x0118, 0x2009, 0x0001, 0x0060, 0xd1ec, 0x0168, 0x6920, + 0x918c, 0x00ff, 0x6824, 0x080c, 0x1eee, 0x1130, 0x2110, 0x2009, + 0x0000, 0x080c, 0x2884, 0x0018, 0x9085, 0x0001, 0x0008, 0x9006, + 0x00de, 0x0005, 0x2069, 0x026d, 0x6800, 0x9082, 0x0010, 0x1228, + 0x6017, 0x0000, 0x9085, 0x0001, 0x0008, 0x9006, 0x0005, 0x6017, + 0x0000, 0x2069, 0x026c, 0x6808, 0x9084, 0xff00, 0x9086, 0x0800, + 0x1140, 0x6800, 0x9084, 0x00ff, 0x908e, 0x0014, 0x0110, 0x908e, + 0x0010, 0x0005, 0x6004, 0x90b2, 0x0051, 0x1a0c, 0x0d4e, 0x91b6, + 0x0013, 0x1130, 0x2008, 0x91b2, 0x0040, 0x1a04, 0xb636, 0x0092, + 0x91b6, 0x0027, 0x0120, 0x91b6, 0x0014, 0x190c, 0x0d4e, 0x2001, + 0x0007, 0x080c, 0x5596, 0x080c, 0x797f, 0x080c, 0x8e79, 0x080c, + 0x7a7b, 0x0005, 0xb55a, 0xb55c, 0xb55a, 0xb55a, 0xb55a, 0xb55c, + 0xb56e, 0xb62f, 0xb5cc, 0xb62f, 0xb5e0, 0xb62f, 0xb56e, 0xb62f, + 0xb627, 0xb62f, 0xb627, 0xb62f, 0xb62f, 0xb55a, 0xb55a, 0xb55a, + 0xb55a, 0xb55a, 0xb55a, 0xb55a, 0xb55a, 0xb55a, 0xb55a, 0xb55a, + 0xb55c, 0xb55a, 0xb62f, 0xb55a, 0xb55a, 0xb62f, 0xb55a, 0xb62c, + 0xb62f, 0xb55a, 0xb55a, 0xb55a, 0xb55a, 0xb62f, 0xb62f, 0xb55a, + 0xb62f, 0xb62f, 0xb55a, 0xb568, 0xb55a, 0xb55a, 0xb55a, 0xb55a, + 0xb62b, 0xb62f, 0xb55a, 0xb55a, 0xb62f, 0xb62f, 0xb55a, 0xb55a, + 0xb55a, 0xb55a, 0x080c, 0x0d4e, 0x080c, 0x797f, 0x2001, 0x12c0, + 0x2004, 0x601a, 0x6003, 0x0002, 0x080c, 0x7a7b, 0x0804, 0xb635, + 0x2001, 0x0000, 0x080c, 0x5557, 0x0804, 0xb62f, 0x00f6, 0x2079, + 0x1152, 0x7804, 0x00fe, 0xd0ac, 0x1904, 0xb62f, 0x2001, 0x0000, + 0x080c, 0x5557, 0x6010, 0x9080, 0x0004, 0x2004, 0x9086, 0x00ff, + 0x1140, 0x00f6, 0x2079, 0x1100, 0x789c, 0x8000, 0x789e, 0x00fe, + 0x0448, 0x6010, 0x00c6, 0x2060, 0x6000, 0xd0f4, 0x1178, 0x6010, + 0x9005, 0x0160, 0x0036, 0x0046, 0x63a0, 0x2021, 0x0007, 0x080c, + 0x3fce, 0x004e, 0x003e, 0x00ce, 0x0804, 0xb62f, 0x00ce, 0x2001, + 0x1174, 0x2004, 0xd0bc, 0x1904, 0xb62f, 0x2001, 0x1100, 0x2004, + 0x9086, 0x0002, 0x1138, 0x00f6, 0x2079, 0x1100, 0x789c, 0x8000, + 0x789e, 0x00fe, 0x2001, 0x0002, 0x080c, 0x5569, 0x080c, 0x797f, + 0x6023, 0x0001, 0x6003, 0x0001, 0x6007, 0x0002, 0x080c, 0x75c1, + 0x080c, 0x7a7b, 0x6110, 0x00c6, 0x2160, 0x2009, 0x0001, 0x080c, + 0x71ee, 0x00ce, 0x0804, 0xb635, 0x6610, 0x00d6, 0x2668, 0x6e04, + 0x00de, 0x96b4, 0xff00, 0x8637, 0x9686, 0x0006, 0x0904, 0xb62f, + 0x9686, 0x0004, 0x0904, 0xb62f, 0x2001, 0x0004, 0x0804, 0xb62d, + 0x2001, 0x1100, 0x2004, 0x9086, 0x0003, 0x1160, 0x0036, 0x0046, + 0x6010, 0x9080, 0x0028, 0x201c, 0x2021, 0x0006, 0x080c, 0x3fce, + 0x004e, 0x003e, 0x2001, 0x0006, 0x080c, 0xb652, 0x6610, 0x00d6, + 0x2668, 0x6e04, 0x00de, 0x0066, 0x96b4, 0xff00, 0x8637, 0x9686, + 0x0006, 0x006e, 0x0120, 0x2001, 0x0006, 0x080c, 0x5596, 0x2001, + 0x1153, 0x2004, 0xd0ac, 0x1518, 0x2001, 0x1135, 0x2004, 0xd0a4, + 0x01f0, 0x00d6, 0x6610, 0x2668, 0x6e04, 0x00de, 0x96b4, 0x00ff, + 0x9686, 0x0006, 0x01a0, 0x00f6, 0x2079, 0x1100, 0x789c, 0x8000, + 0x789e, 0x00fe, 0x0804, 0xb5b2, 0x2001, 0x0004, 0x0030, 0x2001, + 0x0006, 0x0441, 0x0020, 0x0018, 0x0010, 0x080c, 0x5596, 0x080c, + 0x797f, 0x080c, 0x8e49, 0x080c, 0x7a7b, 0x0005, 0x2600, 0x0002, + 0xb649, 0xb649, 0xb649, 0xb649, 0xb649, 0xb64b, 0xb649, 0xb649, + 0xb649, 0xb649, 0xb64b, 0xb649, 0xb649, 0xb649, 0xb64b, 0xb64b, + 0xb64b, 0x080c, 0x0d4e, 0x080c, 0x797f, 0x080c, 0x8e49, 0x080c, + 0x7a7b, 0x0005, 0x0016, 0x00d6, 0x6110, 0x2168, 0x6900, 0xd184, + 0x0140, 0x080c, 0x5569, 0x2001, 0x0000, 0x080c, 0x5557, 0x080c, + 0x2865, 0x00de, 0x001e, 0x0005, 0x6610, 0x00d6, 0x2668, 0x6804, + 0x9084, 0xff00, 0x8007, 0x00de, 0x90b2, 0x000c, 0x1a0c, 0x0d4e, + 0x91b6, 0x0015, 0x1110, 0x003b, 0x0028, 0x91b6, 0x0016, 0x190c, + 0x0d4e, 0x006b, 0x0005, 0x9818, 0x9818, 0x9818, 0x9818, 0x9818, + 0x9818, 0xb6d4, 0xb693, 0x9818, 0x9818, 0x9818, 0x9818, 0x9818, + 0x9818, 0x9818, 0x9818, 0x9818, 0x9818, 0xb6d4, 0xb6db, 0x9818, + 0x9818, 0x9818, 0x9818, 0x00f6, 0x2079, 0x1152, 0x7804, 0xd0ac, + 0x11e0, 0x6010, 0x907d, 0x01c8, 0x7800, 0xd0f4, 0x1118, 0x7810, + 0x9005, 0x1198, 0x2001, 0x0000, 0x080c, 0x5557, 0x2001, 0x0002, + 0x080c, 0x5569, 0x6023, 0x0001, 0x6003, 0x0001, 0x6007, 0x0002, + 0x080c, 0x75c1, 0x080c, 0x7a7b, 0x00e8, 0x2011, 0x0263, 0x2204, + 0x8211, 0x220c, 0x080c, 0x1eee, 0x11a8, 0x00c6, 0x080c, 0x560e, + 0x0120, 0x00ce, 0x080c, 0x8e49, 0x0068, 0x6010, 0x0006, 0x6014, + 0x0006, 0x080c, 0x50e9, 0x000e, 0x6016, 0x000e, 0x6012, 0x00ce, + 0x080c, 0x8e49, 0x00fe, 0x0005, 0x6604, 0x96b6, 0x001e, 0x1110, + 0x080c, 0x8e49, 0x0005, 0x080c, 0x9b29, 0x1148, 0x6003, 0x0001, + 0x6007, 0x0001, 0x080c, 0x75c1, 0x080c, 0x7a7b, 0x0010, 0x080c, + 0x8e49, 0x0005, 0x6004, 0x908a, 0x0051, 0x1a0c, 0x0d4e, 0x080c, + 0x797f, 0x080c, 0x8e79, 0x080c, 0x7a7b, 0x0005, 0x9182, 0x0040, + 0x0002, 0xb70c, 0xb70c, 0xb70c, 0xb70c, 0xb70e, 0xb70c, 0xb70c, + 0xb70c, 0xb70c, 0xb70c, 0xb70c, 0xb70c, 0xb70c, 0xb70c, 0xb70c, + 0xb70c, 0xb70c, 0xb70c, 0xb70c, 0x080c, 0x0d4e, 0x00d6, 0x00e6, + 0x00f6, 0x0046, 0x0026, 0x6210, 0x9280, 0x002b, 0x2004, 0x9005, + 0x1190, 0x6106, 0x2071, 0x0260, 0x7444, 0x94a4, 0xff00, 0x0904, + 0xb773, 0x9486, 0x2000, 0x1160, 0x2009, 0x0001, 0x2011, 0x0200, + 0x080c, 0x7391, 0x0028, 0x2021, 0x0000, 0x080c, 0xc27f, 0x0c48, + 0x080c, 0x0e69, 0x090c, 0x0d4e, 0x6003, 0x0007, 0x2d00, 0x6867, + 0x010d, 0x6803, 0x0000, 0x686b, 0x0000, 0x6c8a, 0x2c00, 0x688e, + 0x6008, 0x68e2, 0x6010, 0x2078, 0x78a0, 0x8007, 0x7130, 0x697a, + 0x0016, 0x9084, 0xff00, 0x6876, 0x687f, 0x0000, 0x6883, 0x0000, + 0x6887, 0x0036, 0x080c, 0x5b7a, 0x001e, 0x9486, 0x2000, 0x1130, + 0x2019, 0x0017, 0x080c, 0xbfd0, 0x0804, 0xb7ce, 0x9486, 0x0400, + 0x1130, 0x2019, 0x0002, 0x080c, 0xbf82, 0x0804, 0xb7ce, 0x9486, + 0x0200, 0x1110, 0x080c, 0xbf67, 0x9486, 0x1000, 0x1110, 0x080c, + 0xbfb5, 0x0804, 0xb7ce, 0x2069, 0x1353, 0x6a00, 0xd284, 0x0904, + 0xb836, 0x9284, 0x0300, 0x1904, 0xb82f, 0x6804, 0x9005, 0x0904, + 0xb817, 0x2d78, 0x6003, 0x0007, 0x080c, 0x0e50, 0x0904, 0xb7d8, + 0x7800, 0xd08c, 0x1118, 0x7804, 0x8001, 0x7806, 0x6017, 0x0000, + 0x6803, 0x0000, 0x6867, 0x0116, 0x686b, 0x0000, 0x6008, 0x68e2, + 0x2c00, 0x687a, 0x6010, 0x2078, 0x78a0, 0x8007, 0x7130, 0x69b6, + 0x6876, 0x7928, 0x69ba, 0x792c, 0x69be, 0x7930, 0x69c2, 0x7934, + 0x69c6, 0x6883, 0x003d, 0x7044, 0x9084, 0x0003, 0x9080, 0xb7d4, + 0x2005, 0x687e, 0x20a9, 0x000a, 0x2001, 0x0270, 0x9d90, 0x0021, + 0x2009, 0x0205, 0x200b, 0x0080, 0x20e1, 0x0000, 0x20e9, 0x0001, + 0x2098, 0x22a0, 0x4003, 0x200b, 0x0000, 0x2001, 0x027a, 0x200c, + 0x69b2, 0x8000, 0x200c, 0x69ae, 0x080c, 0x5b7a, 0x002e, 0x004e, + 0x00fe, 0x00ee, 0x00de, 0x0005, 0x0000, 0x0080, 0x0040, 0x0000, + 0x2001, 0x110f, 0x2004, 0xd084, 0x0120, 0x080c, 0x0e69, 0x1904, + 0xb788, 0x6017, 0x0100, 0x6003, 0x0001, 0x6007, 0x0041, 0x080c, + 0x7571, 0x080c, 0x7a7b, 0x0c10, 0x2069, 0x0260, 0x6848, 0x9084, + 0xff00, 0x9086, 0x1200, 0x1198, 0x686c, 0x9084, 0x00ff, 0x0016, + 0x6114, 0x918c, 0x0700, 0x910d, 0x6116, 0x001e, 0x6003, 0x0001, + 0x6007, 0x0043, 0x080c, 0x7571, 0x080c, 0x7a7b, 0x0838, 0x6868, + 0x602e, 0x686c, 0x6032, 0x6017, 0x0200, 0x6003, 0x0001, 0x6007, + 0x0041, 0x080c, 0x7571, 0x080c, 0x7a7b, 0x0804, 0xb7ce, 0x2001, + 0x110d, 0x2004, 0xd0ec, 0x0120, 0x2011, 0x8049, 0x080c, 0x3ecb, + 0x6017, 0x0300, 0x0010, 0x6017, 0x0100, 0x6003, 0x0001, 0x6007, + 0x0041, 0x080c, 0x7571, 0x080c, 0x7a7b, 0x0804, 0xb7ce, 0x6017, + 0x0500, 0x0c98, 0x6017, 0x0600, 0x0804, 0xb7ec, 0x6017, 0x0200, + 0x0804, 0xb7ec, 0x9186, 0x0013, 0x1160, 0x6004, 0x908a, 0x0054, + 0x1a0c, 0x0d4e, 0x9082, 0x0040, 0x0a0c, 0x0d4e, 0x2008, 0x0804, + 0xb8e6, 0x9186, 0x0051, 0x0140, 0x9186, 0x0047, 0x11e8, 0x6004, + 0x9086, 0x0041, 0x0904, 0xb89a, 0x2001, 0x0109, 0x2004, 0xd084, + 0x0904, 0xb89a, 0x0126, 0x2091, 0x2800, 0x0006, 0x0016, 0x0026, + 0x080c, 0x745f, 0x002e, 0x001e, 0x000e, 0x012e, 0x6000, 0x9086, + 0x0002, 0x1580, 0x0804, 0xb933, 0x9186, 0x0027, 0x0530, 0x9186, + 0x0048, 0x0128, 0x9186, 0x0014, 0x0500, 0x190c, 0x0d4e, 0x2001, + 0x0109, 0x2004, 0xd084, 0x01f0, 0x00c6, 0x0126, 0x2091, 0x2800, + 0x00c6, 0x2061, 0x0100, 0x0006, 0x0016, 0x0026, 0x080c, 0x745f, + 0x002e, 0x001e, 0x000e, 0x00ce, 0x012e, 0x00ce, 0x6000, 0x9086, + 0x0004, 0x190c, 0x0d4e, 0x0804, 0xb9fd, 0x6004, 0x9082, 0x0040, + 0x2008, 0x001a, 0x080c, 0x8eda, 0x0005, 0xb8b0, 0xb8b2, 0xb8b2, + 0xb8d6, 0xb8b0, 0xb8b0, 0xb8b0, 0xb8b0, 0xb8b0, 0xb8b0, 0xb8b0, + 0xb8b0, 0xb8b0, 0xb8b0, 0xb8b0, 0xb8b0, 0xb8b0, 0xb8b0, 0xb8b0, + 0x080c, 0x0d4e, 0x080c, 0x797f, 0x080c, 0x7a7b, 0x0036, 0x00d6, + 0x6014, 0x906d, 0x01c0, 0x9d84, 0xf000, 0x01a8, 0x6003, 0x0002, + 0x6010, 0x2004, 0xd0bc, 0x1178, 0x2019, 0x0004, 0x080c, 0xc004, + 0x6017, 0x0000, 0x6018, 0x9005, 0x1120, 0x2001, 0x12c1, 0x2004, + 0x601a, 0x6003, 0x0007, 0x00de, 0x003e, 0x0005, 0x00d6, 0x080c, + 0x797f, 0x080c, 0x7a7b, 0x080c, 0xa853, 0x0120, 0x6014, 0x2068, + 0x080c, 0x0e82, 0x080c, 0x8e79, 0x00de, 0x0005, 0x0002, 0xb8fa, + 0xb917, 0xb903, 0xb92d, 0xb8fa, 0xb8fa, 0xb8fa, 0xb8fa, 0xb8fa, + 0xb8fa, 0xb8fa, 0xb8fa, 0xb8fa, 0xb8fa, 0xb8fa, 0xb8fa, 0xb8fa, + 0xb8fa, 0xb8fa, 0x080c, 0x0d4e, 0x6014, 0x9088, 0x001f, 0x2104, + 0x9085, 0x0400, 0x200a, 0x080c, 0x797f, 0x6014, 0x9080, 0x001f, + 0x2004, 0xd0b4, 0x0138, 0x6003, 0x0007, 0x2009, 0x0043, 0x080c, + 0x8ebf, 0x0010, 0x6003, 0x0004, 0x080c, 0x7a7b, 0x0005, 0x080c, + 0x797f, 0x6114, 0x9184, 0xf000, 0x0128, 0x9180, 0x001f, 0x200c, + 0xd1ec, 0x1138, 0x080c, 0x7366, 0x080c, 0x8e49, 0x080c, 0x7a7b, + 0x0005, 0x080c, 0xc24a, 0x0db0, 0x0cc8, 0x080c, 0x797f, 0x2009, + 0x0041, 0x0804, 0xba7f, 0x9182, 0x0040, 0x0002, 0xb949, 0xb94b, + 0xb949, 0xb949, 0xb949, 0xb949, 0xb949, 0xb949, 0xb949, 0xb949, + 0xb949, 0xb949, 0xb949, 0xb949, 0xb949, 0xb949, 0xb949, 0xb94c, + 0xb949, 0x080c, 0x0d4e, 0x0005, 0x00d6, 0x080c, 0x7366, 0x00de, + 0x080c, 0xc29d, 0x080c, 0x8e49, 0x0005, 0x9182, 0x0040, 0x0002, + 0xb96b, 0xb96b, 0xb96b, 0xb96b, 0xb96b, 0xb96b, 0xb96b, 0xb96d, + 0xb96b, 0xb970, 0xb9c8, 0xb96b, 0xb96b, 0xb96b, 0xb96b, 0xb9c8, + 0xb96b, 0xb96b, 0xb96b, 0x080c, 0x0d4e, 0x080c, 0x8eda, 0x0005, + 0x2001, 0x0105, 0x2004, 0x9084, 0x1800, 0x1904, 0xb9c8, 0x2001, + 0x1172, 0x2004, 0xd0e4, 0x1528, 0x603b, 0x0000, 0x080c, 0x7a29, + 0x6014, 0x00d6, 0x2068, 0x687c, 0xd0fc, 0x0188, 0x908c, 0x0003, + 0x918e, 0x0002, 0x0508, 0x2001, 0x110c, 0x2004, 0xd0d4, 0x11e0, + 0x080c, 0x7b40, 0x2009, 0x0041, 0x00de, 0x0804, 0xba7f, 0x080c, + 0x7b40, 0x6003, 0x0007, 0x601b, 0x0000, 0x080c, 0x7366, 0x00de, + 0x0005, 0x2001, 0x0100, 0x2004, 0x9082, 0x0005, 0x0aa8, 0x2001, + 0x011f, 0x2004, 0x603a, 0x0890, 0x2001, 0x110c, 0x200c, 0xc1d4, + 0x2102, 0xd1cc, 0x0110, 0x080c, 0x22f4, 0x080c, 0x7b40, 0x6014, + 0x9080, 0x001f, 0x200c, 0xd1ec, 0x1130, 0x080c, 0x7366, 0x080c, + 0x8e49, 0x00de, 0x0005, 0x080c, 0xc24a, 0x0db8, 0x00de, 0x0005, + 0x2001, 0x110c, 0x200c, 0xc1d4, 0x2102, 0x0036, 0x080c, 0x7a29, + 0x080c, 0x7b40, 0x6014, 0x00d6, 0x2068, 0x6010, 0x2004, 0xd0bc, + 0x0188, 0x687c, 0x9084, 0x0003, 0x9086, 0x0002, 0x0140, 0x68ac, + 0x6330, 0x931a, 0x6332, 0x68b0, 0x632c, 0x931b, 0x632e, 0x6003, + 0x0002, 0x0080, 0x2019, 0x0004, 0x080c, 0xc004, 0x6018, 0x9005, + 0x1128, 0x2001, 0x12c1, 0x2004, 0x8003, 0x601a, 0x6017, 0x0000, + 0x6003, 0x0007, 0x00de, 0x003e, 0x0005, 0x9182, 0x0040, 0x0002, + 0xba14, 0xba14, 0xba14, 0xba14, 0xba14, 0xba14, 0xba14, 0xba14, + 0xba16, 0xba14, 0xba14, 0xba14, 0xba14, 0xba14, 0xba14, 0xba14, + 0xba14, 0xba14, 0xba14, 0xba5b, 0x080c, 0x0d4e, 0x6014, 0x00d6, + 0x2068, 0x6834, 0x6a38, 0x6110, 0x210c, 0xd1bc, 0x1190, 0x920d, + 0x1518, 0x687c, 0xd0fc, 0x0128, 0x2009, 0x0041, 0x00de, 0x0804, + 0xba7f, 0x6003, 0x0007, 0x601b, 0x0000, 0x080c, 0x7366, 0x00de, + 0x0005, 0x6124, 0xd1f4, 0x1d58, 0x0006, 0x0046, 0x6cac, 0x9422, + 0x69b0, 0x2200, 0x910b, 0x6030, 0x9420, 0x6432, 0x602c, 0x9109, + 0x612e, 0x004e, 0x000e, 0x08d8, 0x6110, 0x210c, 0xd1bc, 0x1178, + 0x2009, 0x110d, 0x210c, 0xd19c, 0x0118, 0x6003, 0x0007, 0x0010, + 0x6003, 0x0006, 0x00e9, 0x080c, 0x7368, 0x00de, 0x0005, 0x6003, + 0x0002, 0x00de, 0x0005, 0x6024, 0xd0f4, 0x0128, 0x080c, 0x12b9, + 0x1904, 0xba16, 0x0005, 0x6014, 0x00d6, 0x2068, 0x6834, 0x6938, + 0x00de, 0x9105, 0x1120, 0x080c, 0x12b9, 0x1904, 0xba16, 0x0005, + 0xd2fc, 0x0140, 0x8002, 0x8000, 0x8212, 0x9291, 0x0000, 0x2009, + 0x0009, 0x0010, 0x2009, 0x0015, 0x6a9a, 0x6896, 0x0005, 0x9182, + 0x0040, 0x0208, 0x0062, 0x9186, 0x0013, 0x0120, 0x9186, 0x0014, + 0x190c, 0x0d4e, 0x6024, 0xd0dc, 0x090c, 0x0d4e, 0x0005, 0xbaa2, + 0xbaa9, 0xbab5, 0xbac1, 0xbaa2, 0xbaa2, 0xbaa2, 0xbad0, 0xbaa2, + 0xbaa4, 0xbaa4, 0xbaa2, 0xbaa2, 0xbaa2, 0xbaa2, 0xbaa4, 0xbaa2, + 0xbaa4, 0xbaa2, 0x080c, 0x0d4e, 0x6024, 0xd0dc, 0x090c, 0x0d4e, + 0x0005, 0x6003, 0x0001, 0x6106, 0x080c, 0x7571, 0x0126, 0x2091, + 0x8000, 0x080c, 0x7a7b, 0x012e, 0x0005, 0x6003, 0x0001, 0x6106, + 0x080c, 0x7571, 0x0126, 0x2091, 0x8000, 0x080c, 0x7a7b, 0x012e, + 0x0005, 0x6003, 0x0003, 0x6106, 0x2c10, 0x080c, 0x15b3, 0x0126, + 0x2091, 0x8000, 0x080c, 0x75de, 0x080c, 0x7b49, 0x012e, 0x0005, + 0x9016, 0x080c, 0x132a, 0x0005, 0x0126, 0x2091, 0x8000, 0x0036, + 0x00d6, 0x9182, 0x0040, 0x0023, 0x00de, 0x003e, 0x012e, 0x0005, + 0xbaf0, 0xbaf2, 0xbb04, 0xbb1f, 0xbaf0, 0xbaf0, 0xbaf0, 0xbb34, + 0xbaf0, 0xbaf0, 0xbaf0, 0xbaf0, 0xbaf0, 0xbaf0, 0xbaf0, 0xbaf0, + 0x080c, 0x0d4e, 0x6014, 0x2068, 0x687c, 0xd0fc, 0x01f8, 0x909c, + 0x0003, 0x939e, 0x0003, 0x01d0, 0x6003, 0x0001, 0x6106, 0x080c, + 0x7571, 0x080c, 0x7a7b, 0x0498, 0x6014, 0x2068, 0x687c, 0xd0fc, + 0x0168, 0x909c, 0x0003, 0x939e, 0x0003, 0x0140, 0x6003, 0x0001, + 0x6106, 0x080c, 0x7571, 0x080c, 0x7a7b, 0x0408, 0x6017, 0x0000, + 0x601b, 0x0000, 0x2019, 0x0004, 0x080c, 0xc004, 0x00c0, 0x6014, + 0x2068, 0x687c, 0xd0fc, 0x0d90, 0x909c, 0x0003, 0x939e, 0x0003, + 0x0d68, 0x6003, 0x0003, 0x6106, 0x2c10, 0x080c, 0x15b3, 0x080c, + 0x75de, 0x080c, 0x7b49, 0x0018, 0x9016, 0x080c, 0x132a, 0x0005, + 0x080c, 0x797f, 0x6114, 0x81ff, 0x0158, 0x00d6, 0x2168, 0x080c, + 0xc2e3, 0x0036, 0x2019, 0x0029, 0x080c, 0xc004, 0x003e, 0x00de, + 0x080c, 0x8e79, 0x080c, 0x7a7b, 0x0005, 0x080c, 0x7a29, 0x6114, + 0x81ff, 0x0158, 0x00d6, 0x2168, 0x080c, 0xc2e3, 0x0036, 0x2019, + 0x0029, 0x080c, 0xc004, 0x003e, 0x00de, 0x080c, 0x8e79, 0x080c, + 0x7b49, 0x0005, 0x9182, 0x0085, 0x0002, 0xbb74, 0xbb72, 0xbb72, + 0xbb80, 0xbb72, 0xbb72, 0xbb72, 0xbb72, 0xbb72, 0xbb72, 0xbb72, + 0xbb72, 0xbb72, 0x080c, 0x0d4e, 0x6003, 0x000b, 0x6106, 0x080c, + 0x7571, 0x0126, 0x2091, 0x8000, 0x080c, 0x7a7b, 0x012e, 0x0005, + 0x0026, 0x00e6, 0x080c, 0xc243, 0x0118, 0x080c, 0x8e49, 0x0440, + 0x2071, 0x0260, 0x7224, 0x6216, 0x2001, 0x110d, 0x2004, 0xd0e4, + 0x0150, 0x6010, 0x9080, 0x0028, 0x2024, 0x8427, 0x2c00, 0x2011, + 0x014e, 0x080c, 0x9123, 0x7220, 0x080c, 0xbe9a, 0x0118, 0x6007, + 0x0086, 0x0040, 0x6007, 0x0087, 0x7224, 0x9296, 0xffff, 0x1110, + 0x6007, 0x0086, 0x6003, 0x0001, 0x080c, 0x7571, 0x080c, 0x7a7b, + 0x00ee, 0x002e, 0x0005, 0x9186, 0x0013, 0x1160, 0x6004, 0x908a, + 0x0085, 0x0a0c, 0x0d4e, 0x908a, 0x0092, 0x1a0c, 0x0d4e, 0x9082, + 0x0085, 0x00a2, 0x9186, 0x0027, 0x0130, 0x9186, 0x0014, 0x0118, + 0x080c, 0x8eda, 0x0050, 0x2001, 0x0007, 0x080c, 0x5596, 0x080c, + 0x797f, 0x080c, 0x8e79, 0x080c, 0x7a7b, 0x0005, 0xbbe3, 0xbbe5, + 0xbbe5, 0xbbe3, 0xbbe3, 0xbbe3, 0xbbe3, 0xbbe3, 0xbbe3, 0xbbe3, + 0xbbe3, 0xbbe3, 0xbbe3, 0x080c, 0x0d4e, 0x080c, 0x797f, 0x080c, + 0x8e79, 0x080c, 0x7a7b, 0x0005, 0x9182, 0x0085, 0x0a0c, 0x0d4e, + 0x9182, 0x0092, 0x1a0c, 0x0d4e, 0x9182, 0x0085, 0x0002, 0xbc04, + 0xbc04, 0xbc04, 0xbc06, 0xbc04, 0xbc04, 0xbc04, 0xbc04, 0xbc04, + 0xbc04, 0xbc04, 0xbc04, 0xbc04, 0x080c, 0x0d4e, 0x0005, 0x9186, + 0x0013, 0x0148, 0x9186, 0x0014, 0x0130, 0x9186, 0x0027, 0x0118, + 0x080c, 0x8eda, 0x0030, 0x080c, 0x797f, 0x080c, 0x8e79, 0x080c, + 0x7a7b, 0x0005, 0x0036, 0x080c, 0xc29d, 0x6043, 0x0000, 0x2019, + 0x000b, 0x0031, 0x6023, 0x0006, 0x6003, 0x0007, 0x003e, 0x0005, + 0x0126, 0x0036, 0x2091, 0x8000, 0x0086, 0x2c40, 0x0096, 0x2049, + 0x0000, 0x080c, 0x88e1, 0x009e, 0x008e, 0x1578, 0x0076, 0x2c38, + 0x080c, 0x8980, 0x007e, 0x1548, 0x6000, 0x9086, 0x0000, 0x0528, + 0x6020, 0x9086, 0x0007, 0x0508, 0x00d6, 0x6000, 0x9086, 0x0004, + 0x1150, 0x080c, 0xc29d, 0x6023, 0x0007, 0x2001, 0x12c0, 0x2004, + 0x601a, 0x080c, 0x14b0, 0x6014, 0x2068, 0x080c, 0xa853, 0x0110, + 0x080c, 0xc004, 0x00de, 0x6017, 0x0000, 0x080c, 0xc29d, 0x6023, + 0x0007, 0x2001, 0x12c0, 0x2004, 0x601a, 0x003e, 0x012e, 0x0005, + 0x00f6, 0x00c6, 0x0036, 0x0156, 0x2079, 0x0260, 0x7938, 0x783c, + 0x080c, 0x1eee, 0x15a0, 0x0016, 0x00c6, 0x080c, 0x560e, 0x1568, + 0x001e, 0x002e, 0x0026, 0x0016, 0x2019, 0x0029, 0x080c, 0x8a43, + 0x080c, 0x76e4, 0x0076, 0x2039, 0x0000, 0x080c, 0x75f1, 0x007e, + 0x001e, 0x0076, 0x2039, 0x0000, 0x080c, 0xbdcb, 0x007e, 0x0026, + 0x6204, 0x9294, 0xff00, 0x8217, 0x9286, 0x0006, 0x0118, 0x9286, + 0x0004, 0x1118, 0x62a0, 0x080c, 0x28f5, 0x002e, 0x001e, 0x080c, + 0x50e9, 0x6612, 0x6516, 0x9006, 0x0010, 0x00ce, 0x001e, 0x015e, + 0x003e, 0x00ce, 0x00fe, 0x0005, 0x00c6, 0x00d6, 0x00e6, 0x0016, + 0x2009, 0x1122, 0x2104, 0x9086, 0x0074, 0x1904, 0xbd04, 0x2069, + 0x0260, 0x6944, 0x9182, 0x0100, 0x06d8, 0x6940, 0x9184, 0x8000, + 0x0904, 0xbd01, 0x2001, 0x12a7, 0x2004, 0x9005, 0x1160, 0x6010, + 0x2070, 0x7010, 0x9084, 0x00ff, 0x0118, 0x7000, 0xd0f4, 0x0118, + 0x9184, 0x0800, 0x0570, 0x6948, 0x918a, 0x0001, 0x0620, 0x694c, + 0x2009, 0x0205, 0x200b, 0x0001, 0x693c, 0x81ff, 0x1198, 0x6944, + 0x9182, 0x0100, 0x02a8, 0x6940, 0x81ff, 0x1178, 0x6948, 0x918a, + 0x0001, 0x0288, 0x6950, 0x918a, 0x0001, 0x0298, 0x00d0, 0x6017, + 0x0100, 0x00a0, 0x6017, 0x0300, 0x0088, 0x6017, 0x0500, 0x0070, + 0x6017, 0x0700, 0x0058, 0x6017, 0x0900, 0x0040, 0x6017, 0x0b00, + 0x0028, 0x6017, 0x0f00, 0x0010, 0x6017, 0x2d00, 0x9085, 0x0001, + 0x0008, 0x9006, 0x001e, 0x00ee, 0x00de, 0x00ce, 0x0005, 0x00c6, + 0x00d6, 0x0026, 0x0036, 0x0156, 0x6210, 0x2268, 0x6b04, 0x9394, + 0x00ff, 0x9286, 0x0006, 0x0190, 0x9286, 0x0004, 0x0178, 0x9394, + 0xff00, 0x8217, 0x9286, 0x0006, 0x0148, 0x9286, 0x0004, 0x0130, + 0x00c6, 0x2d60, 0x080c, 0x561d, 0x00ce, 0x04c0, 0x2011, 0x0276, + 0x20a9, 0x0004, 0x9d98, 0x000a, 0x080c, 0x9c86, 0x1580, 0x2011, + 0x027a, 0x20a9, 0x0004, 0x9d98, 0x0006, 0x080c, 0x9c86, 0x1538, + 0x0046, 0x0016, 0x6aa0, 0x9294, 0x00ff, 0x8227, 0x9006, 0x2009, + 0x1153, 0x210c, 0xd1a4, 0x0138, 0x2009, 0x0029, 0x080c, 0xc04a, + 0x6800, 0xc0e5, 0x6802, 0x2019, 0x0029, 0x080c, 0x76e4, 0x0076, + 0x2039, 0x0000, 0x080c, 0x75f1, 0x2c08, 0x080c, 0xbdcb, 0x007e, + 0x2001, 0x0007, 0x080c, 0x5596, 0x001e, 0x004e, 0x9006, 0x015e, + 0x003e, 0x002e, 0x00de, 0x00ce, 0x0005, 0x00d6, 0x2069, 0x026e, + 0x6800, 0x9086, 0x0800, 0x0118, 0x6017, 0x0000, 0x0008, 0x9006, + 0x00de, 0x0005, 0x00c6, 0x00f6, 0x0016, 0x0026, 0x0036, 0x0156, + 0x2079, 0x026c, 0x7930, 0x7834, 0x080c, 0x1eee, 0x11a0, 0x080c, + 0x560e, 0x1188, 0x2011, 0x0270, 0x20a9, 0x0004, 0x9c98, 0x000a, + 0x080c, 0x9c86, 0x1140, 0x2011, 0x0274, 0x20a9, 0x0004, 0x9c98, + 0x0006, 0x080c, 0x9c86, 0x015e, 0x003e, 0x002e, 0x001e, 0x00fe, + 0x00ce, 0x0005, 0x00c6, 0x0006, 0x0016, 0x0026, 0x0036, 0x0156, + 0x2011, 0x0263, 0x2204, 0x8211, 0x220c, 0x080c, 0x1eee, 0x11a0, + 0x080c, 0x560e, 0x1188, 0x2011, 0x0276, 0x20a9, 0x0004, 0x9c98, + 0x000a, 0x080c, 0x9c86, 0x1140, 0x2011, 0x027a, 0x20a9, 0x0004, + 0x9c98, 0x0006, 0x080c, 0x9c86, 0x015e, 0x003e, 0x002e, 0x001e, + 0x000e, 0x00ce, 0x0005, 0x00e6, 0x00c6, 0x0086, 0x0076, 0x0066, + 0x0056, 0x0046, 0x0026, 0x0126, 0x2091, 0x8000, 0x2740, 0x2029, + 0x130c, 0x252c, 0x2021, 0x1312, 0x2424, 0x2061, 0x15c0, 0x2071, + 0x1100, 0x764c, 0x706c, 0x81ff, 0x0150, 0x0006, 0x9186, 0x1388, + 0x000e, 0x0128, 0x8001, 0x9602, 0x1a04, 0xbe56, 0x0018, 0x9606, + 0x0904, 0xbe56, 0x2100, 0x9c06, 0x0904, 0xbe4d, 0x080c, 0xc072, + 0x0904, 0xbe4d, 0x6720, 0x9786, 0x0001, 0x1158, 0x2001, 0x1174, + 0x2004, 0xd0bc, 0x0904, 0xbe71, 0x6004, 0x9086, 0x0000, 0x1904, + 0xbe71, 0x9786, 0x0004, 0x0904, 0xbe71, 0x9786, 0x0007, 0x05e8, + 0x2500, 0x9c06, 0x05d0, 0x2400, 0x9c06, 0x05b8, 0x080c, 0xc082, + 0x15a0, 0x88ff, 0x0118, 0x6054, 0x9906, 0x1578, 0x00d6, 0x6000, + 0x9086, 0x0004, 0x1120, 0x0016, 0x080c, 0x14b0, 0x001e, 0x9786, + 0x0008, 0x1148, 0x080c, 0xaa40, 0x1130, 0x080c, 0x9743, 0x00de, + 0x080c, 0x8e79, 0x00d0, 0x6014, 0x2068, 0x080c, 0xa853, 0x0190, + 0x9786, 0x0003, 0x1528, 0x6867, 0x0103, 0x6b7a, 0x6877, 0x0000, + 0x080c, 0xc2e3, 0x0016, 0x080c, 0xab13, 0x080c, 0x5b7a, 0x001e, + 0x080c, 0xaa23, 0x00de, 0x080c, 0x8e79, 0x9ce0, 0x0018, 0x2001, + 0x1118, 0x2004, 0x9c02, 0x1210, 0x0804, 0xbddf, 0x012e, 0x002e, + 0x004e, 0x005e, 0x006e, 0x007e, 0x008e, 0x00ce, 0x00ee, 0x0005, + 0x9786, 0x0006, 0x1150, 0x9386, 0x0005, 0x0128, 0x080c, 0xc2e3, + 0x080c, 0xc004, 0x08f8, 0x00de, 0x0c00, 0x9786, 0x000a, 0x0968, + 0x0850, 0x080c, 0xc082, 0x19c8, 0x81ff, 0x09b8, 0x9180, 0x0001, + 0x2004, 0x9086, 0x0018, 0x0130, 0x9180, 0x0001, 0x2004, 0x9086, + 0x002d, 0x1958, 0x6000, 0x9086, 0x0002, 0x1938, 0x080c, 0xaa2f, + 0x0130, 0x080c, 0xaa40, 0x1908, 0x080c, 0x9743, 0x0038, 0x080c, + 0x2865, 0x080c, 0xaa40, 0x1110, 0x080c, 0x9743, 0x080c, 0x8e79, + 0x0804, 0xbe4d, 0x00c6, 0x00e6, 0x0016, 0x2c08, 0x2170, 0x9006, + 0x080c, 0xc01c, 0x001e, 0x0120, 0x6020, 0x9084, 0x000f, 0x001b, + 0x00ee, 0x00ce, 0x0005, 0xbeb9, 0xbeb9, 0xbeb9, 0xbeb9, 0xbeb9, + 0xbeb9, 0xbebb, 0xbeb9, 0xbeb9, 0xbeb9, 0xbeb9, 0x8e79, 0x8e79, + 0xbeb9, 0x9006, 0x0005, 0x0046, 0x0016, 0x7010, 0x9080, 0x0028, + 0x2024, 0x94a4, 0x00ff, 0x8427, 0x2c00, 0x2009, 0x0020, 0x080c, + 0xc04a, 0x001e, 0x004e, 0x0036, 0x2019, 0x0002, 0x080c, 0xbc28, + 0x003e, 0x9085, 0x0001, 0x0005, 0x00d6, 0x6014, 0x906d, 0x9084, + 0xf000, 0x0130, 0x080c, 0xa50b, 0x687b, 0x0005, 0x080c, 0x5b7a, + 0x00de, 0x080c, 0x8e79, 0x9085, 0x0001, 0x0005, 0x2001, 0x0001, + 0x080c, 0x5557, 0x0156, 0x0016, 0x0026, 0x0036, 0x20a9, 0x0004, + 0x2019, 0x1105, 0x2011, 0x0276, 0x080c, 0x9c86, 0x003e, 0x002e, + 0x001e, 0x015e, 0x9005, 0x0005, 0x00f6, 0x00e6, 0x00c6, 0x0086, + 0x0076, 0x0066, 0x0026, 0x0126, 0x2091, 0x8000, 0x2740, 0x2061, + 0x15c0, 0x2079, 0x0001, 0x8fff, 0x0904, 0xbf5a, 0x2071, 0x1100, + 0x764c, 0x706c, 0x8001, 0x9602, 0x1a04, 0xbf5a, 0x88ff, 0x0128, + 0x2800, 0x9c06, 0x15b0, 0x2079, 0x0000, 0x080c, 0xc072, 0x0588, + 0x2400, 0x9c06, 0x0570, 0x6720, 0x9786, 0x0006, 0x1550, 0x9786, + 0x0007, 0x0538, 0x88ff, 0x1140, 0x6010, 0x9206, 0x1510, 0x85ff, + 0x0118, 0x6054, 0x9106, 0x11e8, 0x00d6, 0x6000, 0x9086, 0x0004, + 0x1150, 0x080c, 0xc29d, 0x6023, 0x0007, 0x2001, 0x12c0, 0x2004, + 0x601a, 0x080c, 0x14b0, 0x6014, 0x2068, 0x080c, 0xa853, 0x0120, + 0x0046, 0x080c, 0xc004, 0x004e, 0x00de, 0x080c, 0x8e79, 0x88ff, + 0x1198, 0x9ce0, 0x0018, 0x2001, 0x1118, 0x2004, 0x9c02, 0x1210, + 0x0804, 0xbf0b, 0x9006, 0x012e, 0x002e, 0x006e, 0x007e, 0x008e, + 0x00ce, 0x00ee, 0x00fe, 0x0005, 0x98c5, 0x0001, 0x0ca0, 0x0076, + 0x0056, 0x0086, 0x2041, 0x0000, 0x2029, 0x0001, 0x2c20, 0x2019, + 0x0002, 0x6210, 0x0096, 0x2049, 0x0000, 0x080c, 0x88e1, 0x009e, + 0x008e, 0x2039, 0x0000, 0x080c, 0x8980, 0x080c, 0xbefc, 0x005e, + 0x007e, 0x0005, 0x0026, 0x0046, 0x0056, 0x0076, 0x00c6, 0x0156, + 0x2c20, 0x2128, 0x20a9, 0x007f, 0x2009, 0x0000, 0x0016, 0x0036, + 0x080c, 0x560e, 0x11b0, 0x2c10, 0x0056, 0x0086, 0x2041, 0x0000, + 0x2508, 0x2029, 0x0001, 0x0096, 0x2049, 0x0000, 0x080c, 0x88e1, + 0x009e, 0x008e, 0x2039, 0x0000, 0x080c, 0x8980, 0x080c, 0xbefc, + 0x005e, 0x003e, 0x001e, 0x8108, 0x1f04, 0xbf8e, 0x015e, 0x00ce, + 0x007e, 0x005e, 0x004e, 0x002e, 0x0005, 0x0076, 0x0056, 0x6210, + 0x0086, 0x2041, 0x0000, 0x2029, 0x0001, 0x2019, 0x0048, 0x0096, + 0x2049, 0x0000, 0x080c, 0x88e1, 0x009e, 0x008e, 0x2039, 0x0000, + 0x080c, 0x8980, 0x2c20, 0x080c, 0xbefc, 0x005e, 0x007e, 0x0005, + 0x0026, 0x0046, 0x0056, 0x0076, 0x00c6, 0x0156, 0x2c20, 0x20a9, + 0x007f, 0x2009, 0x0000, 0x0016, 0x0036, 0x080c, 0x560e, 0x11c0, + 0x2c10, 0x0086, 0x2041, 0x0000, 0x2828, 0x0046, 0x2021, 0x0001, + 0x080c, 0xc27f, 0x004e, 0x0096, 0x2049, 0x0000, 0x080c, 0x88e1, + 0x009e, 0x008e, 0x2039, 0x0000, 0x080c, 0x8980, 0x080c, 0xbefc, + 0x003e, 0x001e, 0x8108, 0x1f04, 0xbfdb, 0x015e, 0x00ce, 0x007e, + 0x005e, 0x004e, 0x002e, 0x0005, 0x0016, 0x00f6, 0x9d82, 0x45c0, + 0x0280, 0x9d82, 0xffff, 0x1268, 0x6800, 0x907d, 0x0138, 0x6803, + 0x0000, 0x6b82, 0x080c, 0x5b7a, 0x2f68, 0x0cb0, 0x6b82, 0x080c, + 0x5b7a, 0x00fe, 0x001e, 0x0005, 0x00e6, 0x0046, 0x0036, 0x2061, + 0x15c0, 0x9005, 0x1138, 0x2071, 0x1100, 0x744c, 0x706c, 0x8001, + 0x9402, 0x12d8, 0x2100, 0x9c06, 0x0168, 0x6000, 0x9086, 0x0000, + 0x0148, 0x6008, 0x9206, 0x1130, 0x6010, 0x91a0, 0x0004, 0x2424, + 0x9406, 0x0140, 0x9ce0, 0x0018, 0x2001, 0x1118, 0x2004, 0x9c02, + 0x1220, 0x0c40, 0x9085, 0x0001, 0x0008, 0x9006, 0x003e, 0x004e, + 0x00ee, 0x0005, 0x00d6, 0x0006, 0x080c, 0x0e69, 0x000e, 0x090c, + 0x0d4e, 0x6867, 0x010d, 0x688e, 0x0026, 0x2010, 0x080c, 0xa843, + 0x2001, 0x0000, 0x0120, 0x2200, 0x9080, 0x0015, 0x2004, 0x002e, + 0x687a, 0x6986, 0x6c76, 0x687f, 0x0000, 0x2001, 0x12c8, 0x2004, + 0x6882, 0x9006, 0x68e2, 0x6802, 0x686a, 0x688a, 0x080c, 0x5b7a, + 0x00de, 0x0005, 0x6700, 0x9786, 0x0000, 0x0158, 0x9786, 0x0001, + 0x0140, 0x9786, 0x000a, 0x0128, 0x9786, 0x0009, 0x0110, 0x9085, + 0x0001, 0x0005, 0x00e6, 0x6010, 0x2070, 0x70a0, 0x9206, 0x00ee, + 0x0005, 0x0016, 0x6004, 0x908e, 0x001e, 0x11a0, 0x8007, 0x6134, + 0x918c, 0x00ff, 0x9105, 0x6036, 0x6007, 0x0085, 0x6003, 0x000b, + 0x6023, 0x0005, 0x2001, 0x12c1, 0x2004, 0x601a, 0x080c, 0x7571, + 0x080c, 0x7a7b, 0x001e, 0x0005, 0xa001, 0xa001, 0x0005, 0x6024, + 0xd0e4, 0x0158, 0xd0cc, 0x0118, 0x080c, 0xab4e, 0x0030, 0x080c, + 0xc29d, 0x080c, 0x7366, 0x080c, 0x8e49, 0x0005, 0x9280, 0x0008, + 0x2004, 0x9084, 0x000f, 0x0002, 0xc0ca, 0xc0ca, 0xc0ca, 0xc0cc, + 0xc0ca, 0xc0cc, 0xc0cc, 0xc0ca, 0xc0cc, 0xc0ca, 0xc0ca, 0xc0ca, + 0xc0ca, 0xc0ca, 0x9006, 0x0005, 0x9085, 0x0001, 0x0005, 0x9280, + 0x0008, 0x2004, 0x9084, 0x000f, 0x0002, 0xc0e3, 0xc0e3, 0xc0e3, + 0xc0e3, 0xc0e3, 0xc0e3, 0xc0f0, 0xc0e3, 0xc0e3, 0xc0e3, 0xc0e3, + 0xc0e3, 0xc0e3, 0xc0e3, 0x6007, 0x003b, 0x602f, 0x0009, 0x6017, + 0x2a00, 0x6003, 0x0001, 0x080c, 0x7571, 0x080c, 0x7a7b, 0x0005, + 0x00c6, 0x2260, 0x080c, 0xc29d, 0x6043, 0x0000, 0x6024, 0xc0f4, + 0xc0e4, 0x6026, 0x603b, 0x0000, 0x00ce, 0x00d6, 0x2268, 0x9186, + 0x0007, 0x1904, 0xc14b, 0x6814, 0x9005, 0x0138, 0x9080, 0x001f, + 0x2004, 0xd0fc, 0x1110, 0x00de, 0x08b0, 0x6007, 0x003a, 0x6003, + 0x0001, 0x080c, 0x7571, 0x080c, 0x7a7b, 0x00c6, 0x2d60, 0x6100, + 0x9186, 0x0002, 0x1904, 0xc1ce, 0x6014, 0x9005, 0x1138, 0x6000, + 0x9086, 0x0007, 0x190c, 0x0d4e, 0x0804, 0xc1ce, 0x908c, 0xf000, + 0x1130, 0x0028, 0x2068, 0x6800, 0x9005, 0x1de0, 0x2d00, 0x9080, + 0x001f, 0x2004, 0x9084, 0x0003, 0x9086, 0x0002, 0x1180, 0x6014, + 0x2068, 0x687c, 0xc0dc, 0xc0f4, 0x687e, 0x6880, 0xc0f4, 0xc0fc, + 0x6882, 0x2009, 0x0043, 0x080c, 0xba7f, 0x0804, 0xc1ce, 0x2009, + 0x0041, 0x0804, 0xc1c8, 0x9186, 0x0005, 0x15c0, 0x6814, 0x9080, + 0x001f, 0x2004, 0xd0bc, 0x1118, 0x00de, 0x0804, 0xc0e3, 0xd0b4, + 0x0128, 0xd0fc, 0x090c, 0x0d4e, 0x0804, 0xc103, 0x6007, 0x003a, + 0x6003, 0x0001, 0x080c, 0x7571, 0x080c, 0x7a7b, 0x00c6, 0x2d60, + 0x6100, 0x9186, 0x0002, 0x0120, 0x9186, 0x0004, 0x1904, 0xc1ce, + 0x6814, 0x9080, 0x001f, 0x200c, 0xc1f4, 0xc1dc, 0x2102, 0x8000, + 0x200c, 0xc1f4, 0xc1fc, 0xc1bc, 0x2102, 0x00f6, 0x2c78, 0x080c, + 0x132d, 0x00fe, 0x2009, 0x0042, 0x0804, 0xc1c8, 0x0036, 0x00d6, + 0x00d6, 0x080c, 0x0e69, 0x003e, 0x090c, 0x0d4e, 0x6867, 0x010d, + 0x6803, 0x0000, 0x686b, 0x0000, 0x688b, 0x0000, 0x6b8e, 0x6887, + 0x0045, 0x2c00, 0x6892, 0x6038, 0x68a2, 0x2360, 0x6024, 0xc0dd, + 0x6026, 0x6010, 0x9080, 0x0028, 0x2004, 0x9084, 0x00ff, 0x8007, + 0x6354, 0x6b7a, 0x6876, 0x687f, 0x0000, 0x6883, 0x0000, 0x6d9a, + 0x6e96, 0x689f, 0x0001, 0x080c, 0x5b7a, 0x2019, 0x0045, 0x6008, + 0x2068, 0x080c, 0xbc28, 0x2d00, 0x600a, 0x6023, 0x0006, 0x6003, + 0x0007, 0x601b, 0x0000, 0x6043, 0x0000, 0x00de, 0x003e, 0x0038, + 0x6043, 0x0000, 0x6003, 0x0007, 0x080c, 0xba7f, 0x00ce, 0x00de, + 0x0005, 0x9186, 0x0013, 0x1128, 0x6004, 0x9082, 0x0085, 0x2008, + 0x00c2, 0x9186, 0x0027, 0x1178, 0x080c, 0x797f, 0x0036, 0x00d6, + 0x6014, 0x2068, 0x2019, 0x0004, 0x080c, 0xc004, 0x00de, 0x003e, + 0x080c, 0x7a7b, 0x0005, 0x9186, 0x0014, 0x0d70, 0x080c, 0x8eda, + 0x0005, 0xc200, 0xc1fe, 0xc1fe, 0xc1fe, 0xc1fe, 0xc1fe, 0xc200, + 0xc1fe, 0xc1fe, 0xc1fe, 0xc1fe, 0xc1fe, 0xc1fe, 0x080c, 0x0d4e, + 0x080c, 0x797f, 0x6003, 0x000c, 0x080c, 0x7a7b, 0x0005, 0x9182, + 0x0092, 0x1220, 0x9182, 0x0085, 0x0208, 0x001a, 0x080c, 0x8eda, + 0x0005, 0xc21e, 0xc21e, 0xc21e, 0xc21e, 0xc220, 0xc240, 0xc21e, + 0xc21e, 0xc21e, 0xc21e, 0xc21e, 0xc21e, 0xc21e, 0x080c, 0x0d4e, + 0x00d6, 0x2c68, 0x080c, 0x8df3, 0x01b0, 0x6003, 0x0001, 0x6007, + 0x001e, 0x2009, 0x026e, 0x210c, 0x613a, 0x2009, 0x026f, 0x210c, + 0x613e, 0x600b, 0xffff, 0x6910, 0x6112, 0x6023, 0x0004, 0x080c, + 0x7571, 0x080c, 0x7a7b, 0x2d60, 0x080c, 0x8e49, 0x00de, 0x0005, + 0x080c, 0x8e49, 0x0005, 0x00e6, 0x6010, 0x2070, 0x7000, 0xd0ec, + 0x00ee, 0x0005, 0x2009, 0x1172, 0x210c, 0xd1ec, 0x0578, 0x6003, + 0x0002, 0x6024, 0xc0e5, 0x6026, 0xd0cc, 0x0150, 0x2001, 0x12c2, + 0x2004, 0x6042, 0x2009, 0x1172, 0x210c, 0xd1f4, 0x11e8, 0x0080, + 0x2009, 0x1172, 0x210c, 0xd1f4, 0x0128, 0x6024, 0xc0e4, 0x6026, + 0x9006, 0x00a0, 0x2001, 0x12c2, 0x200c, 0x8103, 0x9100, 0x6042, + 0x6010, 0x9088, 0x002b, 0x2104, 0x9005, 0x0118, 0x9088, 0x0003, + 0x0cd0, 0x2c0a, 0x600f, 0x0000, 0x9085, 0x0001, 0x0005, 0x0016, + 0x00c6, 0x00e6, 0x6154, 0x92f0, 0x002b, 0x2e04, 0x2060, 0x8cff, + 0x0180, 0x84ff, 0x1118, 0x6054, 0x9106, 0x1138, 0x600c, 0x2072, + 0x080c, 0x7366, 0x080c, 0x8e49, 0x0010, 0x9cf0, 0x0003, 0x2e64, + 0x0c70, 0x00ee, 0x00ce, 0x001e, 0x0005, 0x00d6, 0x6010, 0x90e8, + 0x002b, 0x2d04, 0x9005, 0x0140, 0x9c06, 0x0120, 0x2d04, 0x90e8, + 0x0003, 0x0cb8, 0x600c, 0x206a, 0x00de, 0x0005, 0x0026, 0x0036, + 0x0156, 0x2011, 0x1129, 0x2204, 0x9084, 0x00ff, 0x2019, 0x026e, + 0x2334, 0x9636, 0x11d8, 0x8318, 0x2334, 0x2204, 0x9084, 0xff00, + 0x9636, 0x11a0, 0x2011, 0x0270, 0x20a9, 0x0004, 0x6010, 0x9098, + 0x000a, 0x080c, 0x9c86, 0x1150, 0x2011, 0x0274, 0x20a9, 0x0004, + 0x6010, 0x9098, 0x0006, 0x080c, 0x9c86, 0x1100, 0x015e, 0x003e, + 0x002e, 0x0005, 0x00e6, 0x2071, 0x1100, 0x080c, 0x5077, 0x080c, + 0x2658, 0x00ee, 0x0005, 0x00e6, 0x6010, 0x2070, 0x7000, 0xd0fc, + 0x0108, 0x0011, 0x00ee, 0x0005, 0x6880, 0xc0e5, 0x6882, 0x0005, + 0x00e6, 0x00c6, 0x0076, 0x0066, 0x0056, 0x0046, 0x0026, 0x0016, + 0x0126, 0x2091, 0x8000, 0x2029, 0x130c, 0x252c, 0x2021, 0x1312, + 0x2424, 0x2061, 0x15c0, 0x2071, 0x1100, 0x764c, 0x706c, 0x9606, + 0x0578, 0x6720, 0x9786, 0x0001, 0x0118, 0x9786, 0x0008, 0x1500, + 0x2500, 0x9c06, 0x01e8, 0x2400, 0x9c06, 0x01d0, 0x080c, 0xc072, + 0x01b8, 0x080c, 0xc082, 0x11a0, 0x6000, 0x9086, 0x0004, 0x1120, + 0x0016, 0x080c, 0x14b0, 0x001e, 0x080c, 0xaa2f, 0x1110, 0x080c, + 0x2865, 0x080c, 0xaa40, 0x1110, 0x080c, 0x9743, 0x080c, 0x8e79, + 0x9ce0, 0x0018, 0x2001, 0x1118, 0x2004, 0x9c02, 0x1208, 0x0858, + 0x012e, 0x001e, 0x002e, 0x004e, 0x005e, 0x006e, 0x007e, 0x00ce, + 0x00ee, 0x0005, 0x0126, 0x0006, 0x00e6, 0x0016, 0x2091, 0x8000, + 0x2071, 0x1140, 0xd5a4, 0x0118, 0x7034, 0x8000, 0x7036, 0xd5b4, + 0x0118, 0x7030, 0x8000, 0x7032, 0xd5ac, 0x0178, 0x2500, 0x9084, + 0x0007, 0x908e, 0x0003, 0x0148, 0x908e, 0x0004, 0x0130, 0x908e, + 0x0005, 0x0118, 0x2071, 0x114a, 0x04c9, 0x001e, 0x00ee, 0x000e, + 0x012e, 0x0005, 0x0126, 0x0006, 0x00e6, 0x0016, 0x2091, 0x8000, + 0x2071, 0x1140, 0xd5a4, 0x0118, 0x7034, 0x8000, 0x7036, 0xd5b4, + 0x0118, 0x7030, 0x8000, 0x7032, 0xd5ac, 0x0178, 0x2500, 0x9084, + 0x0007, 0x908e, 0x0003, 0x0148, 0x908e, 0x0004, 0x0130, 0x908e, + 0x0005, 0x0118, 0x2071, 0x114a, 0x0089, 0x001e, 0x00ee, 0x000e, + 0x012e, 0x0005, 0x0126, 0x0006, 0x00e6, 0x2091, 0x8000, 0x2071, + 0x1142, 0x0021, 0x00ee, 0x000e, 0x012e, 0x0005, 0x2e04, 0x8000, + 0x2072, 0x1220, 0x8e70, 0x2e04, 0x8000, 0x2072, 0x0005, 0x00e6, + 0x2071, 0x1140, 0x0c99, 0x00ee, 0x0005, 0x00e6, 0x2071, 0x1144, + 0x0c69, 0x00ee, 0x0005, 0x0126, 0x0006, 0x00e6, 0x2091, 0x8000, + 0x2071, 0x1140, 0x7044, 0x8000, 0x7046, 0x00ee, 0x000e, 0x012e, + 0x0005, 0x8064, 0x0008, 0x0010, 0x0000, 0x8066, 0x0000, 0x0101, + 0x0008, 0x4404, 0x0003, 0x8060, 0x0000, 0x0400, 0x0000, 0x580a, + 0x0003, 0x7934, 0x000b, 0x508a, 0x0003, 0x4c07, 0x000b, 0xbac0, + 0x0009, 0x0082, 0x0008, 0x0c07, 0x0003, 0x15fe, 0x0008, 0x3407, + 0x000b, 0x808c, 0x0008, 0x0001, 0x0000, 0x0000, 0x0007, 0x4047, + 0x000a, 0x808c, 0x0008, 0x0002, 0x0000, 0x0819, 0x000b, 0x4022, + 0x0000, 0x001a, 0x0003, 0x4122, 0x0008, 0x4447, 0x0002, 0x0de3, + 0x000b, 0x0bfe, 0x0008, 0x11a0, 0x0001, 0x11c5, 0x000b, 0x0ca0, + 0x0001, 0x11c5, 0x000b, 0x9180, 0x0001, 0x0004, 0x0000, 0x7f62, + 0x0008, 0x8066, 0x0000, 0x0009, 0x0008, 0x4426, 0x0003, 0x8080, + 0x0001, 0x0004, 0x0000, 0x7f62, 0x0008, 0x8066, 0x0000, 0x0411, + 0x0000, 0x442c, 0x0003, 0x808c, 0x0008, 0x0000, 0x0008, 0x0000, + 0x0007, 0xc2c0, 0x0009, 0x00ff, 0x0008, 0x02e0, 0x0001, 0x0dc2, + 0x000b, 0x03fe, 0x0000, 0x43e0, 0x0001, 0x0dc2, 0x000b, 0x9180, + 0x0001, 0x0005, 0x0008, 0x7f62, 0x0008, 0x8066, 0x0000, 0x0019, + 0x0000, 0x443c, 0x000b, 0x0240, 0x0002, 0x09bf, 0x0003, 0x00fe, + 0x0000, 0x31c2, 0x000b, 0x112a, 0x0000, 0x002e, 0x0008, 0x022c, + 0x0008, 0x3a44, 0x0002, 0x0c07, 0x0003, 0x1734, 0x0000, 0x1530, + 0x0000, 0x1632, 0x0008, 0x0d2a, 0x0008, 0x9a80, 0x0009, 0x000f, + 0x0008, 0x7f62, 0x0008, 0x8066, 0x0000, 0x0011, 0x0008, 0x444f, + 0x0003, 0x808c, 0x0008, 0x0002, 0x0000, 0x01fe, 0x0008, 0x42e0, + 0x0009, 0x0db8, 0x0003, 0x00fe, 0x0000, 0x43e0, 0x0001, 0x0db8, + 0x0003, 0x9880, 0x0001, 0x0010, 0x0000, 0x7f62, 0x0008, 0x8066, + 0x0000, 0x1e0a, 0x0008, 0x445d, 0x0003, 0x808a, 0x0008, 0x0003, + 0x0008, 0x9a80, 0x0009, 0x0002, 0x0000, 0x7f62, 0x0008, 0x5863, + 0x0003, 0x8066, 0x0000, 0x3679, 0x0000, 0x4466, 0x000b, 0x5867, + 0x000b, 0x8054, 0x0008, 0x0011, 0x0008, 0x8074, 0x0000, 0x1010, + 0x0008, 0x1efe, 0x0000, 0x3007, 0x0003, 0x0070, 0x000c, 0x0007, + 0x0003, 0x1cfe, 0x0008, 0x1b80, 0x0009, 0x7f62, 0x0008, 0x8066, + 0x0000, 0x0231, 0x0008, 0x4475, 0x0003, 0x5876, 0x000b, 0x0140, + 0x0008, 0x0242, 0x0000, 0x1f43, 0x0002, 0x0c80, 0x0003, 0x0d44, + 0x0000, 0x0d46, 0x0008, 0x0348, 0x0008, 0x044a, 0x0008, 0x0084, + 0x000b, 0x0344, 0x0008, 0x0446, 0x0008, 0x0548, 0x0008, 0x064a, + 0x0000, 0x5884, 0x0003, 0x8054, 0x0008, 0x0001, 0x0000, 0x8074, + 0x0000, 0x2020, 0x0008, 0x4000, 0x000f, 0x3a40, 0x000a, 0x0c0a, + 0x000b, 0x2b24, 0x0008, 0x2b24, 0x0008, 0x588e, 0x0003, 0x8054, + 0x0008, 0x0002, 0x0000, 0x1242, 0x0002, 0x08d8, 0x0003, 0x3a45, + 0x000a, 0x08c9, 0x0003, 0x1e10, 0x000a, 0x7f3c, 0x0000, 0x08c6, + 0x0003, 0x1d00, 0x0002, 0x7f3a, 0x0000, 0x0d60, 0x0000, 0x7f62, + 0x0008, 0x8066, 0x0000, 0x0009, 0x0008, 0x449e, 0x0003, 0x8060, + 0x0000, 0x0400, 0x0000, 0x00fe, 0x0000, 0x34c3, 0x0003, 0x1cfe, + 0x0008, 0xff80, 0x0009, 0x0001, 0x0000, 0x7f62, 0x0008, 0x8066, + 0x0000, 0x0009, 0x0008, 0x44a9, 0x000b, 0x00fe, 0x0000, 0x31a1, + 0x000b, 0x0038, 0x0000, 0x00fe, 0x0000, 0xff80, 0x0009, 0x0019, + 0x0000, 0x7f62, 0x0008, 0x8066, 0x0000, 0x0009, 0x0008, 0x44b3, + 0x0003, 0x80c0, 0x0009, 0x00ff, 0x0008, 0x7f3e, 0x0008, 0x0d60, + 0x0000, 0x0efe, 0x0008, 0x1f80, 0x0001, 0x7f62, 0x0008, 0x8066, + 0x0000, 0x0009, 0x0008, 0x44bd, 0x000b, 0x8060, 0x0000, 0x0400, + 0x0000, 0x003a, 0x0008, 0x1dfe, 0x0000, 0x009a, 0x000b, 0x0036, + 0x0008, 0x0070, 0x000c, 0x00d8, 0x000b, 0x8074, 0x0000, 0x2000, + 0x0000, 0x00d8, 0x000b, 0x3a44, 0x0002, 0x09c8, 0x0003, 0x8074, + 0x0000, 0x1000, 0x0000, 0x2d0e, 0x0000, 0x2d0e, 0x0000, 0x35a1, + 0x0003, 0x26fe, 0x0008, 0x26fe, 0x0008, 0x2700, 0x0008, 0x2700, + 0x0008, 0x00d0, 0x0009, 0x0ce6, 0x0003, 0x8074, 0x0000, 0x4040, + 0x0008, 0x58d8, 0x0003, 0x508a, 0x0003, 0x3a46, 0x000a, 0x0ce6, + 0x0003, 0x3a47, 0x0002, 0x08e3, 0x000b, 0x8054, 0x0008, 0x0004, + 0x0000, 0x8074, 0x0000, 0x8000, 0x0000, 0x0127, 0x0003, 0x92c0, + 0x0009, 0x0f88, 0x0008, 0x0807, 0x000b, 0x9a80, 0x0009, 0x0002, + 0x0000, 0x7f62, 0x0008, 0x8066, 0x0000, 0x362a, 0x0000, 0x44eb, + 0x000b, 0x2000, 0x0000, 0x2000, 0x0000, 0x2102, 0x0000, 0x2102, + 0x0000, 0x2204, 0x0000, 0x2204, 0x0000, 0x2306, 0x0000, 0x2306, + 0x0000, 0x2408, 0x0000, 0x2408, 0x0000, 0x250a, 0x0000, 0x250a, + 0x0000, 0x260c, 0x0000, 0x260c, 0x0000, 0x270e, 0x0000, 0x270e, + 0x0000, 0x2810, 0x0000, 0x2810, 0x0000, 0x2912, 0x0000, 0x2912, + 0x0000, 0x9a80, 0x0009, 0x0007, 0x0000, 0x7f62, 0x0008, 0x8066, + 0x0000, 0x0052, 0x0000, 0x4505, 0x0003, 0x92c0, 0x0009, 0x0780, + 0x0008, 0x0db2, 0x0003, 0x124b, 0x0002, 0x090e, 0x0003, 0x2e4d, + 0x0002, 0x2e4d, 0x0002, 0x09a1, 0x0003, 0x3a46, 0x000a, 0x0d1b, + 0x0003, 0x5910, 0x0003, 0x8054, 0x0008, 0x0004, 0x0000, 0x1243, + 0x000a, 0x0925, 0x0003, 0x8010, 0x0008, 0x000d, 0x0000, 0x0192, + 0x0004, 0x1810, 0x0000, 0x0192, 0x0004, 0x0125, 0x000b, 0x194d, + 0x000a, 0x091f, 0x0003, 0x1243, 0x000a, 0x09a8, 0x0003, 0x591f, + 0x0003, 0x8054, 0x0008, 0x0004, 0x0000, 0x0189, 0x0004, 0x1810, + 0x0000, 0x0192, 0x0004, 0x8074, 0x0000, 0xf000, 0x0008, 0x3a42, + 0x0002, 0x0d2d, 0x0003, 0x15fe, 0x0008, 0x3446, 0x000b, 0x0d30, + 0x0000, 0x0007, 0x0003, 0x0d30, 0x0000, 0x8074, 0x0000, 0x0501, + 0x0000, 0x8010, 0x0008, 0x000c, 0x0008, 0x0192, 0x0004, 0x0007, + 0x0003, 0xbbe0, 0x0009, 0x0030, 0x0008, 0x0d44, 0x0003, 0x18fe, + 0x0000, 0x3ce0, 0x0009, 0x0941, 0x000b, 0x15fe, 0x0008, 0x3ce0, + 0x0009, 0x0941, 0x000b, 0x0184, 0x000c, 0x8076, 0x0008, 0x0040, + 0x0000, 0x0181, 0x0003, 0x8076, 0x0008, 0x0041, 0x0008, 0x0181, + 0x0003, 0xbbe0, 0x0009, 0x0032, 0x0000, 0x0d49, 0x000b, 0x3c1e, + 0x0008, 0x0181, 0x0003, 0xbbe0, 0x0009, 0x0037, 0x0000, 0x0d66, + 0x0003, 0x18fe, 0x0000, 0x3ce0, 0x0009, 0x0d41, 0x0003, 0x1afe, + 0x0008, 0xff80, 0x0009, 0x000d, 0x0000, 0x7f62, 0x0008, 0x2604, + 0x0008, 0x2604, 0x0008, 0x2706, 0x0008, 0x2706, 0x0008, 0x2808, + 0x0000, 0x2808, 0x0000, 0x290a, 0x0000, 0x290a, 0x0000, 0x8066, + 0x0000, 0x0422, 0x0000, 0x455d, 0x000b, 0x0189, 0x0004, 0x8054, + 0x0008, 0x0004, 0x0000, 0x8074, 0x0000, 0xf000, 0x0008, 0x8072, + 0x0000, 0x8000, 0x0000, 0x0127, 0x0003, 0xbbe0, 0x0009, 0x0038, + 0x0000, 0x0d78, 0x0003, 0x18fe, 0x0000, 0x3ce0, 0x0009, 0x0975, + 0x0003, 0x15fe, 0x0008, 0x3ce0, 0x0009, 0x0d3d, 0x000b, 0x0184, + 0x000c, 0x8076, 0x0008, 0x0040, 0x0000, 0x8072, 0x0000, 0x8000, + 0x0000, 0x01bf, 0x000b, 0x8076, 0x0008, 0x0042, 0x0008, 0x0181, + 0x0003, 0xbbe0, 0x0009, 0x0016, 0x0000, 0x0d81, 0x0003, 0x3a44, + 0x0002, 0x0c09, 0x000b, 0x8072, 0x0000, 0x8000, 0x0000, 0x8000, + 0x000f, 0x0007, 0x0003, 0x8072, 0x0000, 0x8000, 0x0000, 0x0007, + 0x0003, 0x3d30, 0x000a, 0x7f00, 0x0000, 0xbc80, 0x0001, 0x0007, + 0x0000, 0x018d, 0x0003, 0x1930, 0x000a, 0x7f00, 0x0000, 0x9880, + 0x0001, 0x0007, 0x0000, 0x7f62, 0x0008, 0x8066, 0x0000, 0x000a, + 0x0008, 0x4590, 0x0003, 0x4000, 0x000f, 0x2192, 0x0003, 0x0870, + 0x0008, 0x4000, 0x000f, 0xbac0, 0x0009, 0x0090, 0x0008, 0x099b, + 0x0003, 0x8074, 0x0000, 0x0706, 0x0000, 0x019d, 0x000b, 0x8074, + 0x0000, 0x0703, 0x0000, 0x4000, 0x000f, 0x8010, 0x0008, 0x0008, + 0x0000, 0x01cd, 0x000b, 0x0189, 0x0004, 0x8010, 0x0008, 0x0007, + 0x0000, 0x0192, 0x0004, 0x1810, 0x0000, 0x0192, 0x0004, 0x01d7, + 0x0003, 0x0189, 0x0004, 0x8010, 0x0008, 0x001b, 0x0008, 0x0192, + 0x0004, 0x1810, 0x0000, 0x0192, 0x0004, 0x8074, 0x0000, 0xf080, + 0x0000, 0x0d30, 0x0000, 0x0007, 0x0003, 0x8010, 0x0008, 0x0009, + 0x0008, 0x01cd, 0x000b, 0x8010, 0x0008, 0x0005, 0x0008, 0x01cd, + 0x000b, 0x808c, 0x0008, 0x0001, 0x0000, 0x8010, 0x0008, 0x0004, + 0x0000, 0x4143, 0x000a, 0x0858, 0x000b, 0x01cd, 0x000b, 0x8010, + 0x0008, 0x0003, 0x0008, 0x01cf, 0x0003, 0x8010, 0x0008, 0x000b, + 0x0000, 0x01cf, 0x0003, 0x8010, 0x0008, 0x0002, 0x0000, 0x01cf, + 0x0003, 0x3a47, 0x0002, 0x0cd8, 0x000b, 0x8010, 0x0008, 0x0006, + 0x0008, 0x01cf, 0x0003, 0x8074, 0x0000, 0xf000, 0x0008, 0x0192, + 0x0004, 0x0195, 0x000c, 0x3a40, 0x000a, 0x0807, 0x000b, 0x8010, + 0x0008, 0x000c, 0x0008, 0x0192, 0x0004, 0x0007, 0x0003, 0x8074, + 0x0000, 0xf080, 0x0000, 0x0d30, 0x0000, 0x2e4d, 0x0002, 0x2e4d, + 0x0002, 0x09e0, 0x0003, 0x8054, 0x0008, 0x0019, 0x0000, 0x0007, + 0x0003, 0x8054, 0x0008, 0x0009, 0x0008, 0x0007, 0x0003, 0x3a44, + 0x0002, 0x0c07, 0x0003, 0x01c2, 0x000b, 0x2e93, 0xf6a5, 0x0001, + 0x0002, 0x0004, 0x0008, 0x0010, 0x0020, 0x0040, 0x0080, 0x0100, + 0x0200, 0x0400, 0x0800, 0x1000, 0x2000, 0x4000, 0x8000, 0x269f +}; +#ifdef UNIQUE_FW_NAME +unsigned short fw2300tp_length01 = 0xbfa0; +#else +unsigned short risc_code_length01 = 0xbfa0; +#endif + diff -urNp 2.4.19rc1/drivers/scsi/qla2xxx/ql2300ip_fw.h qlogic/drivers/scsi/qla2xxx/ql2300ip_fw.h --- 2.4.19rc1/drivers/scsi/qla2xxx/ql2300ip_fw.h Thu Jan 1 01:00:00 1970 +++ qlogic/drivers/scsi/qla2xxx/ql2300ip_fw.h Mon Jul 8 12:05:21 2002 @@ -0,0 +1,6863 @@ +/****************************************************************************** + * QLOGIC LINUX SOFTWARE + * + * QLogic ISP2x00 device driver for Linux 2.4.x + * Copyright (C) 2002 Qlogic Corporation + * (www.qlogic.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, 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. + * + ******************************************************************************/ + +/************************************************************************ + * * * + * --- ISP2300 Initiator/Target Firmware with support --- * + * Internet Protocol. This codeset is not released * + * and has not been tested with SCSI and IP * + * simultaneously. * + * + */ +/* + * Firmware Version 3.01.11 (14:54 Jul 02, 2002) + */ + +#ifdef UNIQUE_FW_NAME +unsigned short fw2300ip_version = 3*1024+1; +#else +unsigned short risc_code_version = 3*1024+1; +#endif + +#ifdef UNIQUE_FW_NAME +unsigned char fw2300ip_version_str[] = {3, 1,11}; +#else +unsigned char firmware_version[] = {3, 1,11}; +#endif + +#ifdef UNIQUE_FW_NAME +#define fw2300ip_VERSION_STRING "3.01.11" +#else +#define FW_VERSION_STRING "3.01.11" +#endif + +#ifdef UNIQUE_FW_NAME +unsigned short fw2300ip_addr01 = 0x0800 ; +#else +unsigned short risc_code_addr01 = 0x0800 ; +#endif + +#ifdef UNIQUE_FW_NAME +unsigned short fw2300ip_code01[] = { +#else +unsigned short risc_code01[] = { +#endif + 0x0470, 0x0000, 0x0000, 0xd45c, 0x0000, 0x0003, 0x0001, 0x000b, + 0x0037, 0x2043, 0x4f50, 0x5952, 0x4947, 0x4854, 0x2032, 0x3030, + 0x3120, 0x514c, 0x4f47, 0x4943, 0x2043, 0x4f52, 0x504f, 0x5241, + 0x5449, 0x4f4e, 0x2049, 0x5350, 0x3233, 0x3030, 0x2046, 0x6972, + 0x6d77, 0x6172, 0x6520, 0x2056, 0x6572, 0x7369, 0x6f6e, 0x2030, + 0x332e, 0x3031, 0x2e31, 0x3120, 0x2020, 0x2020, 0x2400, 0x20a9, + 0x000f, 0x2001, 0x0000, 0x400f, 0x2091, 0x2200, 0x20a9, 0x000f, + 0x2001, 0x0000, 0x400f, 0x2091, 0x2400, 0x20a9, 0x000f, 0x2001, + 0x0000, 0x400f, 0x2091, 0x2600, 0x20a9, 0x000f, 0x2001, 0x0000, + 0x400f, 0x2091, 0x2800, 0x20a9, 0x000f, 0x2001, 0x0000, 0x400f, + 0x2091, 0x2a00, 0x20a9, 0x000f, 0x2001, 0x0000, 0x400f, 0x2091, + 0x2c00, 0x20a9, 0x000f, 0x2001, 0x0000, 0x400f, 0x2091, 0x2e00, + 0x20a9, 0x000f, 0x2001, 0x0000, 0x400f, 0x2091, 0x2000, 0x2001, + 0x0000, 0x20c1, 0x0004, 0x2001, 0x017f, 0x2003, 0x0000, 0x20c9, + 0x15ff, 0x2059, 0x0000, 0x2b78, 0x7883, 0x0004, 0x2089, 0x2537, + 0x2051, 0x1100, 0x2a70, 0x20e1, 0x0001, 0x20e9, 0x0001, 0x2029, + 0x46c0, 0x2031, 0xffff, 0x2039, 0x46a9, 0x2021, 0x0200, 0x20e9, + 0x0001, 0x20a1, 0x1000, 0x900e, 0x20a9, 0x06c0, 0x4104, 0x7566, + 0x766a, 0x7762, 0x746e, 0x7472, 0x20a1, 0x16c0, 0x7168, 0x810d, + 0x810d, 0x810d, 0x810d, 0x918c, 0x000f, 0x2001, 0x0001, 0x9112, + 0x900e, 0x21a8, 0x4104, 0x8211, 0x1de0, 0x7168, 0x3400, 0x8001, + 0x9102, 0x0120, 0x0218, 0x20a8, 0x900e, 0x4104, 0x2009, 0x1100, + 0x810d, 0x810d, 0x810d, 0x810d, 0x810d, 0x918c, 0x001f, 0x2001, + 0x0001, 0x9112, 0x20e9, 0x0001, 0x20a1, 0x0800, 0x900e, 0x20a9, + 0x0800, 0x4104, 0x8211, 0x1dd8, 0x2009, 0x1100, 0x3400, 0x9102, + 0x0120, 0x0218, 0x20a8, 0x900e, 0x4104, 0x080c, 0x0ed2, 0x080c, + 0x10bc, 0x080c, 0x16bb, 0x080c, 0x0ce1, 0x080c, 0x53de, 0x080c, + 0x9e7b, 0x080c, 0x0e3c, 0x080c, 0x2c33, 0x080c, 0x69ee, 0x080c, + 0x5c91, 0x080c, 0x7906, 0x080c, 0x7671, 0x080c, 0x1cfd, 0x080c, + 0x8160, 0x080c, 0x70b0, 0x080c, 0x1abf, 0x080c, 0x1c6e, 0x080c, + 0x1cf2, 0x2091, 0x3009, 0x7883, 0x0000, 0x1004, 0x090d, 0x7880, + 0x9086, 0x0002, 0x1190, 0x7883, 0x4000, 0x7837, 0x4000, 0x7833, + 0x0010, 0x0e04, 0x0901, 0x2091, 0x5000, 0x2091, 0x4080, 0x2001, + 0x0089, 0x2004, 0xd084, 0x190c, 0x0f80, 0x2a70, 0x7003, 0x0000, + 0x2a70, 0x7000, 0x908e, 0x0003, 0x1178, 0x080c, 0x4133, 0x080c, + 0x2c59, 0x080c, 0x6a51, 0x080c, 0x61f4, 0x080c, 0x79ce, 0x080c, + 0x7698, 0x080c, 0x24da, 0x0c60, 0x000b, 0x0c78, 0x0930, 0x0931, + 0x0a88, 0x092e, 0x0b5a, 0x0cde, 0x0cdf, 0x0ce0, 0x080c, 0x0d52, + 0x0005, 0x0126, 0x00f6, 0x2091, 0x8000, 0x7000, 0x9086, 0x0001, + 0x1904, 0x0a65, 0x7034, 0xd0b4, 0x1130, 0x0026, 0x2011, 0x0080, + 0x080c, 0x0df1, 0x002e, 0x080c, 0x672f, 0x0150, 0x080c, 0x6755, + 0x1590, 0x2079, 0x0100, 0x7828, 0x9085, 0x1800, 0x782a, 0x0458, + 0x080c, 0x665f, 0x7000, 0x9086, 0x0001, 0x1904, 0x0a65, 0x7090, + 0x9086, 0x0028, 0x1904, 0x0a65, 0x2001, 0x0161, 0x2003, 0x0001, + 0x2079, 0x0100, 0x7827, 0xffff, 0x7a28, 0x9295, 0x1e2f, 0x7a2a, + 0x2011, 0x65f6, 0x080c, 0x7738, 0x2011, 0x65e9, 0x080c, 0x7800, + 0x2011, 0x5245, 0x080c, 0x7738, 0x2011, 0x8030, 0x2019, 0x0000, + 0x708f, 0x0000, 0x00d8, 0x080c, 0x4b1b, 0x2079, 0x0100, 0x7844, + 0x9005, 0x1904, 0x0a65, 0x2011, 0x5245, 0x080c, 0x7738, 0x2001, + 0x0265, 0x2001, 0x0205, 0x2003, 0x0000, 0x780f, 0x006b, 0x7840, + 0x9084, 0xfffb, 0x7842, 0x2011, 0x8010, 0x73d0, 0x080c, 0x23af, + 0x080c, 0x40b6, 0x7240, 0xc284, 0x7242, 0x2001, 0x110c, 0x200c, + 0xc1ac, 0xc1cc, 0x2102, 0x080c, 0x9652, 0x2011, 0x0004, 0x080c, + 0xb961, 0x080c, 0x5b61, 0x080c, 0x672f, 0x1120, 0x080c, 0x23f3, + 0x02c8, 0x00e8, 0x080c, 0x539a, 0x0140, 0x708f, 0x0001, 0x70cb, + 0x0000, 0x080c, 0x4cd7, 0x0804, 0x0a65, 0x2001, 0x1153, 0x2004, + 0xd094, 0x0168, 0x2011, 0x110c, 0x2204, 0xc0cd, 0x2012, 0x080c, + 0x23f3, 0x1250, 0x2011, 0x110c, 0x2204, 0xc0bc, 0x0098, 0x2011, + 0x110c, 0x2204, 0xc0bd, 0x0070, 0x2011, 0x110c, 0x2204, 0xc0bd, + 0x2012, 0x2001, 0x1153, 0x2004, 0xd0ac, 0x1128, 0xd0a4, 0x0118, + 0x2204, 0xc0fd, 0x2012, 0x080c, 0x5c59, 0x0120, 0x7a0c, 0xc2b4, + 0x7a0e, 0x0060, 0x7077, 0x0000, 0x080c, 0xbd4f, 0x70d4, 0xd09c, + 0x1128, 0x70a4, 0x9005, 0x0110, 0x080c, 0x5378, 0x70df, 0x0000, + 0x70db, 0x0000, 0x72d4, 0x080c, 0x672f, 0x1178, 0x2011, 0x0000, + 0x0016, 0x080c, 0x2198, 0x2019, 0x1311, 0x211a, 0x001e, 0x7057, + 0xffff, 0x705b, 0x00ef, 0x707b, 0x0000, 0x2079, 0x1152, 0x7804, + 0xd0ac, 0x0108, 0xc295, 0x72d6, 0x080c, 0x672f, 0x0118, 0x9296, + 0x0004, 0x0548, 0x2011, 0x0001, 0x080c, 0xb961, 0x709f, 0x0000, + 0x70a3, 0xffff, 0x7003, 0x0002, 0x2079, 0x0100, 0x7827, 0x0003, + 0x7828, 0x9085, 0x0003, 0x782a, 0x00fe, 0x080c, 0x2802, 0x2011, + 0x0005, 0x080c, 0x979d, 0x080c, 0x87fb, 0x080c, 0x672f, 0x0148, + 0x00c6, 0x2061, 0x0100, 0x0016, 0x080c, 0x2198, 0x61e2, 0x001e, + 0x00ce, 0x012e, 0x0420, 0x709f, 0x0000, 0x70a3, 0xffff, 0x7003, + 0x0002, 0x00f6, 0x2079, 0x0100, 0x7827, 0x0003, 0x7828, 0x9085, + 0x0003, 0x782a, 0x00fe, 0x2011, 0x0005, 0x080c, 0x979d, 0x080c, + 0x87fb, 0x080c, 0x672f, 0x0148, 0x00c6, 0x2061, 0x0100, 0x0016, + 0x080c, 0x2198, 0x61e2, 0x001e, 0x00ce, 0x00fe, 0x012e, 0x0005, + 0x00c6, 0x080c, 0x672f, 0x1118, 0x20a9, 0x0100, 0x0010, 0x20a9, + 0x0082, 0x080c, 0x672f, 0x1118, 0x2009, 0x0000, 0x0010, 0x2009, + 0x007e, 0x080c, 0x2b06, 0x8108, 0x1f04, 0x0a79, 0x00ce, 0x7077, + 0x0000, 0x7078, 0x9084, 0x00ff, 0x707a, 0x70a7, 0x0000, 0x0005, + 0x0126, 0x2091, 0x8000, 0x7000, 0x9086, 0x0002, 0x1904, 0x0b58, + 0x70a0, 0x9086, 0xffff, 0x0130, 0x080c, 0x2802, 0x080c, 0x87fb, + 0x0804, 0x0b58, 0x70d4, 0xd0ac, 0x1110, 0xd09c, 0x0520, 0xd084, + 0x0510, 0x0006, 0x2001, 0x0103, 0x2003, 0x002b, 0x000e, 0xd08c, + 0x01d0, 0x70d8, 0x9086, 0xffff, 0x0190, 0x080c, 0x298f, 0x080c, + 0x87fb, 0x70d4, 0xd094, 0x1904, 0x0b58, 0x2011, 0x0001, 0x2019, + 0x0000, 0x080c, 0x29c5, 0x080c, 0x87fb, 0x0804, 0x0b58, 0x70dc, + 0x9005, 0x1904, 0x0b58, 0x709c, 0x9005, 0x1904, 0x0b58, 0x70d4, + 0xd0a4, 0x0118, 0xd0b4, 0x0904, 0x0b58, 0x080c, 0x5c59, 0x1904, + 0x0b58, 0x2001, 0x1153, 0x2004, 0xd0ac, 0x01c8, 0x0156, 0x00c6, + 0x20a9, 0x007f, 0x2009, 0x0000, 0x0016, 0x080c, 0x598f, 0x1118, + 0x6000, 0xd0ec, 0x1138, 0x001e, 0x8108, 0x1f04, 0x0adc, 0x00ce, + 0x015e, 0x0028, 0x001e, 0x00ce, 0x015e, 0x0804, 0x0b58, 0x0006, + 0x2001, 0x0103, 0x2003, 0x002b, 0x000e, 0x9006, 0x2009, 0x0700, + 0x20a9, 0x0002, 0x20a1, 0x136a, 0x20e9, 0x0001, 0x4001, 0x7074, + 0x8007, 0x7178, 0x810f, 0x20a9, 0x0002, 0x4001, 0x2009, 0x0000, + 0x080c, 0x0d38, 0x2001, 0x0000, 0x810f, 0x20a9, 0x0002, 0x4001, + 0x9006, 0x2009, 0x0200, 0x20a9, 0x0002, 0x20a1, 0x137a, 0x4001, + 0x7030, 0xc08c, 0x7032, 0x7003, 0x0003, 0x70a3, 0xffff, 0x7034, + 0xd0b4, 0x1130, 0x0026, 0x2011, 0x0040, 0x080c, 0x0df1, 0x002e, + 0x9006, 0x080c, 0x2058, 0x0036, 0x0046, 0x2019, 0xffff, 0x2021, + 0x0006, 0x080c, 0x41b9, 0x004e, 0x003e, 0x00f6, 0x2079, 0x0100, + 0x080c, 0x6755, 0x0150, 0x080c, 0x672f, 0x7828, 0x0118, 0x9084, + 0xe1ff, 0x0010, 0x9084, 0xffdf, 0x782a, 0x00fe, 0x2001, 0x137d, + 0x2004, 0x9086, 0x0005, 0x1120, 0x2011, 0x0000, 0x080c, 0x979d, + 0x2011, 0x0000, 0x080c, 0x97a7, 0x080c, 0x87fb, 0x080c, 0x891e, + 0x012e, 0x0005, 0x0016, 0x0046, 0x00f6, 0x0126, 0x2091, 0x8000, + 0x2079, 0x0100, 0x7904, 0x918c, 0xfffd, 0x7906, 0x2009, 0x00f7, + 0x080c, 0x5361, 0x7940, 0x918c, 0x0010, 0x7942, 0x7924, 0xd1b4, + 0x0110, 0x7827, 0x0040, 0xd19c, 0x0110, 0x7827, 0x0008, 0x0006, + 0x0036, 0x0156, 0x7954, 0xd1ac, 0x1904, 0x0be8, 0x080c, 0x2472, + 0x1148, 0x2001, 0x0001, 0x080c, 0x23de, 0x2001, 0x0001, 0x080c, + 0x23c1, 0x00b8, 0x080c, 0x247a, 0x1138, 0x9006, 0x080c, 0x23de, + 0x9006, 0x080c, 0x23c1, 0x0068, 0x080c, 0x2482, 0x1d50, 0x2001, + 0x134b, 0x2004, 0xd0fc, 0x0108, 0x0020, 0x080c, 0x21c5, 0x0804, + 0x0cbc, 0x080c, 0x6741, 0x0158, 0x080c, 0x6755, 0x1128, 0x2001, + 0x1320, 0x2003, 0x0000, 0x0070, 0x080c, 0x6737, 0x0dc0, 0x2001, + 0x1320, 0x2003, 0xaaaa, 0x2001, 0x1321, 0x2003, 0x0001, 0x080c, + 0x665f, 0x0058, 0x080c, 0x672f, 0x0140, 0x2009, 0x00f8, 0x080c, + 0x5361, 0x7843, 0x0090, 0x7843, 0x0010, 0x20a9, 0x09c4, 0x7820, + 0xd09c, 0x1138, 0x080c, 0x672f, 0x0138, 0x7824, 0xd0ac, 0x1904, + 0x0cc1, 0x1f04, 0x0bc7, 0x0070, 0x7824, 0x080c, 0x674b, 0x0118, + 0xd0ac, 0x1904, 0x0cc1, 0x9084, 0x1800, 0x0d98, 0x7003, 0x0001, + 0x0804, 0x0cc1, 0x2001, 0x0001, 0x080c, 0x2058, 0x0804, 0x0ccf, + 0x080c, 0x2472, 0x1148, 0x2001, 0x0001, 0x080c, 0x23de, 0x2001, + 0x0001, 0x080c, 0x23c1, 0x00b8, 0x080c, 0x247a, 0x1138, 0x9006, + 0x080c, 0x23de, 0x9006, 0x080c, 0x23c1, 0x0068, 0x080c, 0x2482, + 0x1d50, 0x2001, 0x134b, 0x2004, 0xd0fc, 0x0108, 0x0020, 0x080c, + 0x21c5, 0x0804, 0x0cbc, 0x7850, 0x9085, 0x0040, 0x7852, 0x7938, + 0x7850, 0x9084, 0xfbcf, 0x7852, 0x080c, 0x248a, 0x9085, 0x2000, + 0x7852, 0x793a, 0x20a9, 0x0046, 0x1d04, 0x0c1c, 0x080c, 0x77e6, + 0x1f04, 0x0c1c, 0x7850, 0x9085, 0x0400, 0x9084, 0xdfbf, 0x7852, + 0x793a, 0x080c, 0x6741, 0x0158, 0x080c, 0x6755, 0x1128, 0x2001, + 0x1320, 0x2003, 0x0000, 0x0070, 0x080c, 0x6737, 0x0dc0, 0x2001, + 0x1320, 0x2003, 0xaaaa, 0x2001, 0x1321, 0x2003, 0x0001, 0x080c, + 0x665f, 0x0020, 0x2009, 0x00f8, 0x080c, 0x5361, 0x20a9, 0x0028, + 0xa001, 0x1f04, 0x0c48, 0x7850, 0x9085, 0x1400, 0x7852, 0x080c, + 0x672f, 0x0120, 0x7843, 0x0090, 0x7843, 0x0010, 0x2021, 0xe678, + 0x2019, 0xea60, 0x7820, 0xd09c, 0x1550, 0x080c, 0x672f, 0x0904, + 0x0ca1, 0x7824, 0xd0ac, 0x1904, 0x0cc1, 0x080c, 0x6755, 0x11f8, + 0x0046, 0x2021, 0x0320, 0x8421, 0x1df0, 0x004e, 0x7827, 0x1800, + 0x080c, 0x248a, 0x7824, 0x9084, 0x1800, 0x1110, 0x8421, 0x1178, + 0x1d04, 0x0c7c, 0x080c, 0x77e6, 0x2001, 0x1320, 0x2003, 0xaaaa, + 0x2001, 0x1321, 0x2003, 0x0001, 0x7003, 0x0001, 0x04d0, 0x8319, + 0x1988, 0x1d04, 0x0c8d, 0x080c, 0x77e6, 0x2009, 0x134e, 0x2104, + 0x8001, 0x200a, 0x1168, 0x7827, 0x0048, 0x20a9, 0x0002, 0x080c, + 0x246b, 0x7924, 0x080c, 0x248a, 0xd19c, 0x0110, 0x080c, 0x23af, + 0x00d8, 0x080c, 0x6741, 0x1140, 0x94a2, 0x03e8, 0x1128, 0x080c, + 0x6706, 0x7003, 0x0001, 0x00a8, 0x7827, 0x1800, 0x080c, 0x248a, + 0x7824, 0x080c, 0x674b, 0x0110, 0xd0ac, 0x1158, 0x9084, 0x1800, + 0x0970, 0x7003, 0x0001, 0x0028, 0x2001, 0x0001, 0x080c, 0x2058, + 0x0050, 0x7904, 0x918d, 0x0002, 0x7906, 0x7827, 0x0048, 0x7828, + 0x9085, 0x0028, 0x782a, 0x7850, 0x9085, 0x0400, 0x7852, 0x9006, + 0x78f2, 0x015e, 0x003e, 0x000e, 0x7034, 0xd0b4, 0x1110, 0x080c, + 0x0daa, 0x012e, 0x00fe, 0x004e, 0x001e, 0x0005, 0x0005, 0x0005, + 0x0005, 0x2a70, 0x2061, 0x135b, 0x2063, 0x0003, 0x6007, 0x0001, + 0x600b, 0x000b, 0x600f, 0x0037, 0x2001, 0x1320, 0x2003, 0x0000, + 0x708f, 0x0000, 0x2009, 0x0100, 0x2104, 0x9082, 0x0002, 0x0218, + 0x7057, 0xffff, 0x0010, 0x7057, 0x0000, 0x705f, 0xffff, 0x7077, + 0x0000, 0x707b, 0x0000, 0x080c, 0xbd4f, 0x2061, 0x1310, 0x6003, + 0x0909, 0x6007, 0x0000, 0x600b, 0x8800, 0x600f, 0x0200, 0x6013, + 0x00ff, 0x6017, 0x001f, 0x601b, 0x0000, 0x601f, 0x07d0, 0x2061, + 0x1318, 0x6003, 0x8000, 0x6007, 0x0000, 0x600b, 0x0000, 0x600f, + 0x0200, 0x6013, 0x00ff, 0x6017, 0x0000, 0x601b, 0x0001, 0x601f, + 0x0000, 0x2061, 0x133c, 0x6003, 0x514c, 0x6007, 0x4f47, 0x600b, + 0x4943, 0x600f, 0x2020, 0x2001, 0x1129, 0x2003, 0x0000, 0x0005, + 0x2011, 0x0000, 0x080c, 0x598f, 0x1178, 0x6004, 0x90c4, 0x00ff, + 0x98c6, 0x0006, 0x0128, 0x90c4, 0xff00, 0x98c6, 0x0600, 0x1120, + 0x9186, 0x0080, 0x0108, 0x8210, 0x8108, 0x9186, 0x0100, 0x1d50, + 0x2208, 0x0005, 0x2091, 0x8000, 0x0e04, 0x0d54, 0x0006, 0x0016, + 0x2079, 0x0000, 0x001e, 0x798e, 0x000e, 0x788a, 0x000e, 0x7886, + 0x3900, 0x789a, 0x7883, 0x8002, 0x7837, 0x8002, 0x7833, 0x0012, + 0x2091, 0x5000, 0x0156, 0x00d6, 0x0036, 0x0026, 0x2079, 0x0300, + 0x2069, 0x13f5, 0x7a18, 0x226a, 0x8d68, 0x7a1c, 0x226a, 0x7803, + 0x0000, 0x2069, 0x13d5, 0x901e, 0x20a9, 0x0020, 0x7b26, 0x7a28, + 0x226a, 0x8d68, 0x8318, 0x1f04, 0x0d7e, 0x002e, 0x003e, 0x00de, + 0x015e, 0x2079, 0x1100, 0x7803, 0x0005, 0x2091, 0x4080, 0x2001, + 0x0089, 0x2004, 0xd084, 0x0180, 0x2001, 0x13ae, 0x2004, 0x9005, + 0x0128, 0x2001, 0x008b, 0x2004, 0xd0fc, 0x0dd8, 0x2001, 0x008a, + 0x2003, 0x0002, 0x2003, 0x1001, 0x7834, 0xd0b4, 0x1108, 0x04b9, + 0x0cd8, 0x0005, 0x00f6, 0x0006, 0x2079, 0x1125, 0x2f04, 0x8000, + 0x207a, 0x080c, 0x2482, 0x1150, 0x0006, 0x2001, 0x134b, 0x2004, + 0xd0fc, 0x000e, 0x1118, 0x9082, 0x7530, 0x0010, 0x9082, 0x000f, + 0x0258, 0x9006, 0x207a, 0x2079, 0x1127, 0x2f04, 0x9084, 0x0001, + 0x9086, 0x0001, 0x207a, 0x0080, 0x2079, 0x1127, 0x2f7c, 0x8fff, + 0x1130, 0x0026, 0x2011, 0x0080, 0x00e1, 0x002e, 0x0028, 0x0026, + 0x2011, 0x0000, 0x00b1, 0x002e, 0x000e, 0x00fe, 0x0005, 0x0026, + 0x2011, 0x0080, 0x0071, 0x002e, 0x2009, 0x0fff, 0x00b9, 0x0026, + 0x2011, 0x0040, 0x0031, 0x002e, 0x2009, 0x0fff, 0x0079, 0x0c78, + 0x0005, 0x0016, 0x3b08, 0x3a00, 0x9104, 0x918d, 0x00c0, 0x21d8, + 0x9084, 0xff3f, 0x9205, 0x20d0, 0x001e, 0x0005, 0x0156, 0x0126, + 0x918c, 0x0fff, 0x21a8, 0x1d04, 0x0e03, 0x2091, 0x6000, 0x1f04, + 0x0e03, 0x012e, 0x015e, 0x0005, 0x890b, 0x810b, 0x810b, 0x810b, + 0x810b, 0x810b, 0x9994, 0xfc00, 0x8217, 0x8214, 0x8214, 0x0005, + 0x0006, 0x814c, 0x894c, 0x894c, 0x894c, 0x894c, 0x894c, 0x9284, + 0x003f, 0x8007, 0x8003, 0x8003, 0x994d, 0x000e, 0x0005, 0x0016, + 0x0026, 0x0096, 0x3348, 0x0c01, 0x2100, 0x9300, 0x2098, 0x22e0, + 0x009e, 0x002e, 0x001e, 0x3518, 0x20a9, 0x0001, 0x4002, 0x8007, + 0x4004, 0x8319, 0x1dd8, 0x0005, 0x2071, 0x1100, 0x7164, 0x712e, + 0x2021, 0x0001, 0x9190, 0x0040, 0x9298, 0x0040, 0x0240, 0x7068, + 0x9302, 0x1228, 0x220a, 0x2208, 0x2310, 0x8420, 0x0ca8, 0x200b, + 0x0000, 0x74b6, 0x74ba, 0x0005, 0x00e6, 0x0126, 0x2091, 0x8000, + 0x2071, 0x1100, 0x70b8, 0x90ea, 0x0020, 0x0268, 0x8001, 0x70ba, + 0x702c, 0x2068, 0x2d04, 0x702e, 0x206b, 0x0000, 0x6807, 0x0000, + 0x012e, 0x00ee, 0x0005, 0x906e, 0x0cd8, 0x00e6, 0x2071, 0x1100, + 0x0126, 0x2091, 0x8000, 0x70b8, 0x8001, 0x0270, 0x70ba, 0x702c, + 0x2068, 0x9085, 0x0001, 0x2d04, 0x702e, 0x206b, 0x0000, 0x6807, + 0x0000, 0x012e, 0x00ee, 0x0005, 0x906e, 0x0cd8, 0x00e6, 0x0126, + 0x2091, 0x8000, 0x2071, 0x1100, 0x702c, 0x206a, 0x2d00, 0x702e, + 0x70b8, 0x8000, 0x70ba, 0x012e, 0x00ee, 0x0005, 0x8dff, 0x0138, + 0x6804, 0x6807, 0x0000, 0x0006, 0x0c49, 0x00de, 0x0cb8, 0x0005, + 0x00e6, 0x2071, 0x1100, 0x70b8, 0x908a, 0x0020, 0x900d, 0x00ee, + 0x0005, 0x00d6, 0x0811, 0x0148, 0x0016, 0x0026, 0x2d08, 0x2011, + 0x0001, 0x080c, 0x0e18, 0x002e, 0x001e, 0x00de, 0x0005, 0x00d6, + 0x080c, 0x0e54, 0x0148, 0x0016, 0x0026, 0x2d08, 0x2011, 0x0001, + 0x080c, 0x0e18, 0x002e, 0x001e, 0x00de, 0x0005, 0x00d6, 0x0016, + 0x0026, 0x080c, 0x0e0c, 0x2168, 0x002e, 0x001e, 0x080c, 0x0e86, + 0x00de, 0x0005, 0x00e6, 0x2071, 0x13ad, 0x7007, 0x0000, 0x701f, + 0x0000, 0x7023, 0x0000, 0x7003, 0x0000, 0x2071, 0x0000, 0x7010, + 0x9085, 0x8004, 0x7012, 0x00ee, 0x0005, 0x00e6, 0x2270, 0x700b, + 0x0000, 0x2071, 0x13ad, 0x701c, 0x9088, 0x13b7, 0x220a, 0x8000, + 0x9084, 0x0007, 0x701e, 0x7004, 0x9005, 0x1128, 0x00f6, 0x2079, + 0x0080, 0x0081, 0x00fe, 0x00ee, 0x0005, 0x00e6, 0x2071, 0x13ad, + 0x7004, 0x9005, 0x1128, 0x00f6, 0x2079, 0x0080, 0x0019, 0x00fe, + 0x00ee, 0x0005, 0x7007, 0x0006, 0x7000, 0x0002, 0x0f16, 0x107a, + 0x0d52, 0x0d52, 0x106e, 0x106e, 0x106e, 0x106e, 0x701c, 0x7120, + 0x9106, 0x1118, 0x7007, 0x0000, 0x0005, 0x00d6, 0x9180, 0x13b7, + 0x2004, 0x700a, 0x2068, 0x8108, 0x918c, 0x0007, 0x7122, 0x782b, + 0x0026, 0x6828, 0x7802, 0x682c, 0x7806, 0x6830, 0x780a, 0x6834, + 0x780e, 0x6814, 0x700e, 0x680c, 0x7016, 0x6810, 0x701a, 0x6804, + 0x00de, 0xd084, 0x0120, 0x7007, 0x0001, 0x0029, 0x0005, 0x7007, + 0x0002, 0x00b1, 0x0005, 0x0016, 0x0026, 0x710c, 0x2011, 0x0040, + 0x9182, 0x0040, 0x1210, 0x2110, 0x9006, 0x700e, 0x7212, 0x8203, + 0x7812, 0x782b, 0x0020, 0x782b, 0x0041, 0x002e, 0x001e, 0x0005, + 0x0016, 0x0026, 0x0136, 0x0146, 0x0156, 0x7014, 0x20e0, 0x7018, + 0x2098, 0x20e9, 0x0000, 0x20a1, 0x0088, 0x782b, 0x0026, 0x710c, + 0x2011, 0x0040, 0x9182, 0x0040, 0x1210, 0x2110, 0x9006, 0x700e, + 0x22a8, 0x4006, 0x8203, 0x7812, 0x782b, 0x0020, 0x3300, 0x701a, + 0x782b, 0x0001, 0x015e, 0x014e, 0x013e, 0x002e, 0x001e, 0x0005, + 0x2009, 0x13ad, 0x2104, 0xc095, 0x200a, 0x080c, 0x0efd, 0x0005, + 0x0016, 0x00e6, 0x2071, 0x13ad, 0x00f6, 0x2079, 0x0080, 0x792c, + 0x782b, 0x0002, 0xd1fc, 0x0120, 0x918c, 0x0700, 0x7004, 0x0023, + 0x00fe, 0x00ee, 0x001e, 0x0005, 0x0f0a, 0x0fa2, 0x0fd4, 0x109e, + 0x0d52, 0x10b7, 0x918c, 0x0700, 0x1548, 0x0136, 0x0146, 0x0156, + 0x7014, 0x20e8, 0x7018, 0x20a0, 0x20e1, 0x0000, 0x2099, 0x0088, + 0x782b, 0x0040, 0x7010, 0x20a8, 0x4005, 0x3400, 0x701a, 0x015e, + 0x014e, 0x013e, 0x700c, 0x9005, 0x0560, 0x7800, 0x7802, 0x7804, + 0x7806, 0x080c, 0x0f43, 0x0005, 0x7008, 0x9080, 0x0002, 0x2003, + 0x0100, 0x7007, 0x0000, 0x080c, 0x0f0a, 0x0005, 0x7008, 0x9080, + 0x0002, 0x2003, 0x0200, 0x0ca8, 0x918c, 0x0700, 0x1150, 0x700c, + 0x9005, 0x0178, 0x7800, 0x7802, 0x7804, 0x7806, 0x080c, 0x0f58, + 0x0005, 0x7008, 0x9080, 0x0002, 0x2003, 0x0200, 0x7007, 0x0000, + 0x0080, 0x00d6, 0x7008, 0x2068, 0x7800, 0x682a, 0x7804, 0x682e, + 0x7808, 0x6832, 0x780c, 0x6836, 0x680b, 0x0100, 0x00de, 0x7007, + 0x0000, 0x00c6, 0x00d6, 0x7008, 0x2060, 0x9086, 0x1211, 0x1128, + 0x6038, 0x080f, 0x00de, 0x00ce, 0x0078, 0x00de, 0x00ce, 0x00c6, + 0x00d6, 0x7008, 0x2060, 0x0059, 0x0128, 0x6038, 0x080f, 0x00de, + 0x00ce, 0x0005, 0x00de, 0x00ce, 0x080c, 0x0f0a, 0x0005, 0x00e6, + 0x2071, 0x1100, 0x8cff, 0x0140, 0x7064, 0x9c02, 0x0238, 0x9c82, + 0xffff, 0x1220, 0x9085, 0x0001, 0x00ee, 0x0005, 0x9006, 0x0ce0, + 0x603c, 0x906d, 0x090c, 0x0d52, 0x6008, 0x908e, 0x0100, 0x0130, + 0x687b, 0x0030, 0x6883, 0x0000, 0x6897, 0x4002, 0x080c, 0x5fa7, + 0x603b, 0x0000, 0x603f, 0x0000, 0x2c00, 0x2068, 0x080c, 0x0e86, + 0x0005, 0x00f6, 0x603c, 0x906d, 0x090c, 0x0d52, 0x6008, 0x908e, + 0x0100, 0x0128, 0x687b, 0x0001, 0x6883, 0x0000, 0x0080, 0x680c, + 0x2078, 0x7804, 0x9005, 0x0158, 0x680e, 0x2078, 0x9080, 0x0002, + 0x6012, 0x7800, 0x6016, 0x2c10, 0x080c, 0x0ee5, 0x0068, 0x00d6, + 0x080c, 0x5fa7, 0x00de, 0x687c, 0xd0f4, 0x0130, 0x6894, 0x00c6, + 0x2060, 0x080c, 0x9eda, 0x00ce, 0x00fe, 0x0005, 0x0126, 0x2091, + 0x8000, 0x782b, 0x1001, 0x7007, 0x0005, 0x7000, 0xc094, 0x7002, + 0x012e, 0x0005, 0x0136, 0x0146, 0x0156, 0x00e6, 0x2071, 0x1278, + 0x7044, 0x7812, 0x7054, 0x7802, 0x7058, 0x7806, 0x705c, 0x780a, + 0x7060, 0x780e, 0x00ee, 0x782b, 0x0020, 0x0126, 0x2091, 0x8000, + 0x782b, 0x0041, 0x7007, 0x0003, 0x7000, 0xc084, 0x7002, 0x700b, + 0x1283, 0x012e, 0x015e, 0x014e, 0x013e, 0x0005, 0x20e1, 0x0000, + 0x2099, 0x0088, 0x782b, 0x0040, 0x2001, 0x1289, 0x2004, 0x2010, + 0x080c, 0x7c20, 0x2009, 0x1197, 0x2104, 0x9084, 0xfffc, 0x200a, + 0x080c, 0x7a57, 0x7007, 0x0000, 0x080c, 0x0f0a, 0x0005, 0x7007, + 0x0000, 0x080c, 0x0f0a, 0x0005, 0x0126, 0x2091, 0x2200, 0x2079, + 0x0300, 0x2071, 0x13bf, 0x7003, 0x0000, 0x78bf, 0x00f6, 0x00c1, + 0x7803, 0x0003, 0x780f, 0x0000, 0x20a9, 0x0339, 0x2061, 0xd5db, + 0x2c0d, 0x7912, 0xe104, 0x9ce0, 0x0002, 0x7916, 0x1f04, 0x10d0, + 0x7807, 0x0001, 0x7803, 0x0000, 0x7803, 0x0001, 0x012e, 0x0005, + 0x00c6, 0x7803, 0x0000, 0x7808, 0xd09c, 0x01f0, 0x7820, 0x9086, + 0x000d, 0x1dc8, 0x7808, 0xd09c, 0x01b8, 0x7820, 0x0026, 0x2010, + 0x080c, 0xb94b, 0x0178, 0x2260, 0x6000, 0x9086, 0x0004, 0x1150, + 0x0016, 0x6120, 0x9186, 0x0009, 0x0100, 0x2009, 0x004c, 0x080c, + 0x9f51, 0x001e, 0x002e, 0x08f8, 0x2001, 0x13c0, 0x2003, 0x0000, + 0x78ab, 0x0004, 0x78ac, 0xd0ac, 0x1de8, 0x78ab, 0x0002, 0x7807, + 0x0001, 0x7827, 0x0030, 0x782b, 0x0400, 0x7827, 0x0031, 0x782b, + 0x13d5, 0x781f, 0xff00, 0x781b, 0xff00, 0x2061, 0x13d5, 0x602f, + 0x16c0, 0x6033, 0x3000, 0x603b, 0x19d4, 0x604f, 0x12a0, 0x2001, + 0x127c, 0x2004, 0x6042, 0x783f, 0x2b33, 0x00ce, 0x0005, 0x0126, + 0x2091, 0x2200, 0x7808, 0xd09c, 0x0158, 0x7820, 0x908c, 0xf000, + 0x1578, 0x908c, 0x0fe0, 0x190c, 0x0d52, 0x0043, 0x012e, 0x0005, + 0x9084, 0x0070, 0x190c, 0x0d52, 0x012e, 0x0005, 0x1166, 0x1166, + 0x116f, 0x1173, 0x1177, 0x117c, 0x11ad, 0x11b1, 0x11be, 0x11c3, + 0x1166, 0x128a, 0x128e, 0x12eb, 0x12f2, 0x1166, 0x12f3, 0x12f4, + 0x12ff, 0x1306, 0x1166, 0x1166, 0x1166, 0x1166, 0x1166, 0x1166, + 0x1166, 0x1188, 0x1166, 0x1166, 0x1166, 0x1166, 0x080c, 0x0d52, + 0x2009, 0x0048, 0x2060, 0x080c, 0x9f51, 0x012e, 0x0005, 0x7004, + 0xc085, 0x7006, 0x0005, 0x7004, 0xc085, 0x7006, 0x0005, 0x080c, + 0x1311, 0x080c, 0x13af, 0x0005, 0x080c, 0x0d52, 0x0005, 0x2001, + 0x020d, 0x2003, 0x0050, 0x2003, 0x0020, 0x080c, 0x1316, 0x0005, + 0x080c, 0x1311, 0x2060, 0x6014, 0x9080, 0x000e, 0x2003, 0xffff, + 0x2009, 0x0048, 0x080c, 0x9f51, 0x2001, 0x015d, 0x2003, 0x0000, + 0x2009, 0x03e8, 0x8109, 0x0160, 0x2001, 0x0201, 0x2004, 0x9005, + 0x0dc8, 0x2001, 0x0218, 0x2004, 0xd0ec, 0x1110, 0x080c, 0x1316, + 0x2001, 0x0307, 0x2003, 0x8000, 0x0005, 0x7004, 0xc095, 0x7006, + 0x0005, 0x080c, 0x1311, 0x2060, 0x6014, 0x9080, 0x000e, 0x2003, + 0xffff, 0x2009, 0x0048, 0x080c, 0x9f51, 0x0005, 0x080c, 0x1311, + 0x080c, 0x0d52, 0x0005, 0x080c, 0x1311, 0x080c, 0x1275, 0x7827, + 0x0018, 0x79ac, 0xd1dc, 0x0904, 0x1223, 0x7827, 0x0015, 0x7828, + 0x782b, 0x0000, 0x9065, 0x0140, 0x2001, 0x020d, 0x2003, 0x0050, + 0x2003, 0x0020, 0x0804, 0x1229, 0x7004, 0x9005, 0x1190, 0x01c0, + 0x78ab, 0x0004, 0x7827, 0x0018, 0x782b, 0x0000, 0xd1bc, 0x090c, + 0x0d52, 0x2001, 0x020d, 0x2003, 0x0050, 0x2003, 0x0020, 0x0804, + 0x1259, 0x78ab, 0x0004, 0x7803, 0x0001, 0x080c, 0x128e, 0x0005, + 0x7827, 0x0018, 0xa001, 0x7828, 0x7827, 0x0011, 0xa001, 0x7928, + 0x9106, 0x190c, 0x0d52, 0x00e6, 0x2071, 0x0200, 0x702c, 0xd0c4, + 0x190c, 0x0d52, 0x7037, 0x0001, 0xa001, 0x7150, 0x00ee, 0x918c, + 0xff00, 0x9186, 0x0500, 0x0108, 0x0858, 0x7004, 0xc09d, 0x7006, + 0x78ab, 0x0004, 0x7803, 0x0001, 0x080c, 0x128e, 0x2001, 0x020d, + 0x2003, 0x0020, 0x0005, 0x7828, 0x782b, 0x0000, 0x9065, 0x090c, + 0x0d52, 0x6014, 0x2068, 0x78ab, 0x0004, 0x918c, 0x0700, 0x01d8, + 0x080c, 0x163e, 0x080c, 0xb95b, 0x0158, 0x69ac, 0x6936, 0x69b0, + 0x693a, 0x683f, 0xffff, 0x6843, 0xffff, 0x6880, 0xc0bd, 0x6882, + 0x7827, 0x0015, 0x782b, 0x0000, 0x781f, 0x0300, 0x7803, 0x0001, + 0x080c, 0xb613, 0x0005, 0x6020, 0x9086, 0x0009, 0x1128, 0x2009, + 0x004c, 0x080c, 0x9f51, 0x0028, 0x6010, 0x2004, 0xd0bc, 0x190c, + 0xbce8, 0x2029, 0x00c8, 0x8529, 0x0128, 0x2001, 0x0201, 0x2004, + 0x9005, 0x0dc8, 0x7dbc, 0x080c, 0xd584, 0xd5a4, 0x1118, 0x080c, + 0x1316, 0x0005, 0x080c, 0x163e, 0x7827, 0x0015, 0x782b, 0x0000, + 0x781f, 0x0300, 0x7803, 0x0001, 0x0005, 0x0016, 0x0066, 0x0076, + 0x00f6, 0x2079, 0x0300, 0x7908, 0x918c, 0x0007, 0x9186, 0x0003, + 0x0120, 0x2001, 0x0016, 0x080c, 0x137f, 0x00fe, 0x007e, 0x006e, + 0x001e, 0x0005, 0x7004, 0xc09d, 0x7006, 0x0005, 0x7104, 0x9184, + 0x0004, 0x190c, 0x0d52, 0xd184, 0x1189, 0xd19c, 0x0158, 0xc19c, + 0x7106, 0x2001, 0x020d, 0x2003, 0x0050, 0x2003, 0x0020, 0x080c, + 0x1316, 0x0005, 0x81ff, 0x190c, 0x0d52, 0x0005, 0xc184, 0x7106, + 0x0016, 0x00e6, 0x2071, 0x0200, 0x080c, 0x13a3, 0x6014, 0x9005, + 0x0590, 0x9080, 0x0019, 0x2004, 0x9084, 0x00ff, 0x908e, 0x0029, + 0x0148, 0x908e, 0x0048, 0x1538, 0x00f6, 0x2c78, 0x080c, 0x13ef, + 0x00fe, 0x00b0, 0x00f6, 0x2c78, 0x080c, 0x14d2, 0x00fe, 0x2009, + 0x01f4, 0x8109, 0x0168, 0x2001, 0x0201, 0x2004, 0x9005, 0x0dc8, + 0x2001, 0x0218, 0x2004, 0xd0ec, 0x1118, 0x080c, 0x1316, 0x0040, + 0x2001, 0x020d, 0x2003, 0x0020, 0x080c, 0x10e0, 0x7803, 0x0001, + 0x00ee, 0x001e, 0x0005, 0x2001, 0x020d, 0x2003, 0x0050, 0x2003, + 0x0020, 0x0461, 0x0ca8, 0x0429, 0x2060, 0x2009, 0x0053, 0x080c, + 0x9f51, 0x0005, 0x0005, 0x0005, 0x00e1, 0x2008, 0x00d1, 0x0006, + 0x7004, 0xc09d, 0x7006, 0x000e, 0x080c, 0x7f1b, 0x0005, 0x0089, + 0x9005, 0x0118, 0x080c, 0x7b51, 0x0cd0, 0x0005, 0x2001, 0x0036, + 0x2009, 0x111e, 0x210c, 0x2011, 0x111d, 0x2214, 0x080c, 0x137f, + 0x0005, 0x7808, 0xd09c, 0x0de8, 0x7820, 0x0005, 0x080c, 0x1275, + 0x00d6, 0x2069, 0x0200, 0x2009, 0x01f4, 0x8109, 0x0508, 0x6804, + 0x9005, 0x0dd8, 0x2001, 0x015d, 0x2003, 0x0000, 0x79bc, 0xd1a4, + 0x1520, 0x79b8, 0x918c, 0x0fff, 0x0178, 0x9182, 0x0841, 0x1260, + 0x9188, 0x0007, 0x918c, 0x0ff8, 0x810c, 0x810c, 0x810c, 0x04c9, + 0x6827, 0x0001, 0x8109, 0x1dd8, 0x04a1, 0x6827, 0x0002, 0x0489, + 0x6804, 0x9005, 0x1130, 0x682c, 0xd0e4, 0x11c8, 0x6804, 0x9005, + 0x0de8, 0x79b8, 0xd1ec, 0x1118, 0x08c8, 0x080c, 0x163e, 0x7827, + 0x0015, 0x782b, 0x0000, 0x2001, 0x020d, 0x2003, 0x0020, 0x2001, + 0x0307, 0x2003, 0x0300, 0x7803, 0x0001, 0x00de, 0x0005, 0x682c, + 0x9084, 0x5400, 0x9086, 0x5400, 0x0d50, 0x7827, 0x0015, 0x782b, + 0x0000, 0x7803, 0x0001, 0x6800, 0x9085, 0x1800, 0x6802, 0x00de, + 0x0005, 0x6824, 0x9084, 0x0003, 0x1de0, 0x0005, 0x2001, 0x0030, + 0x2c08, 0x621c, 0x0021, 0x7830, 0x9086, 0x0041, 0x0005, 0x00f6, + 0x2079, 0x0300, 0x0006, 0x7808, 0xd09c, 0x0140, 0x0016, 0x0026, + 0x00c6, 0x080c, 0x112f, 0x00ce, 0x002e, 0x001e, 0x000e, 0x7832, + 0x7936, 0x7a3a, 0x781b, 0x8080, 0x2009, 0xff00, 0x8109, 0x0128, + 0x7818, 0xd0bc, 0x1dd8, 0x00fe, 0x0005, 0x782c, 0x792c, 0x080c, + 0x0d52, 0x00fe, 0x0005, 0x7037, 0x0001, 0x7150, 0x7037, 0x0002, + 0x7050, 0x2060, 0xd1bc, 0x1110, 0x7054, 0x2060, 0x0005, 0x00e6, + 0x0016, 0x2071, 0x0200, 0x0c79, 0x7358, 0x745c, 0x6014, 0x905d, + 0x0550, 0x2b68, 0x6010, 0x2004, 0xd0bc, 0x190c, 0xbcc3, 0x6b42, + 0x6c3e, 0x2001, 0x1174, 0x2004, 0xd0b4, 0x1140, 0x6010, 0x2004, + 0xd0bc, 0x1120, 0x683b, 0x7fff, 0x6837, 0xffff, 0x080c, 0x19f4, + 0x1190, 0x080c, 0x1520, 0x2a00, 0x6816, 0x0130, 0x2c00, 0x680e, + 0x2805, 0x680a, 0x2800, 0x6812, 0x7037, 0x0020, 0x781f, 0x0300, + 0x001e, 0x00ee, 0x0005, 0x7037, 0x0050, 0x7037, 0x0020, 0x001e, + 0x00ee, 0x080c, 0x1316, 0x0005, 0x080c, 0x0d52, 0x0005, 0x2ff0, + 0x0126, 0x2091, 0x2200, 0x3e60, 0x6014, 0x2068, 0x2d60, 0x903e, + 0x2730, 0x6964, 0x691a, 0x9184, 0x000f, 0x9088, 0x19d4, 0x2145, + 0x0002, 0x1411, 0x14a3, 0x1411, 0x1411, 0x1415, 0x147c, 0x1411, + 0x143e, 0x1411, 0x1491, 0x1411, 0x1411, 0x141f, 0x1411, 0x1465, + 0x1450, 0x9085, 0x0001, 0x0804, 0x14ca, 0x687c, 0xd0ac, 0x0dc8, + 0x00d6, 0x2805, 0x9c68, 0x6d00, 0x6c04, 0x00de, 0x0058, 0x687c, + 0xd0ac, 0x0d78, 0x00d6, 0x2805, 0x9c68, 0x6d00, 0x6c04, 0x6f08, + 0x6e0c, 0x00de, 0x6898, 0x901d, 0x1108, 0x6b9c, 0x9016, 0x6ab2, + 0x3e00, 0x9080, 0x0008, 0x2004, 0x9080, 0x80f8, 0x2005, 0x9005, + 0x090c, 0x0d52, 0x2004, 0x68ae, 0x0804, 0x14b2, 0x687c, 0xd0bc, + 0x0980, 0x6890, 0x6842, 0x688c, 0x683e, 0x6888, 0x00d6, 0x2805, + 0x9c68, 0x6b08, 0x6a0c, 0x6d00, 0x6c04, 0x00de, 0x0804, 0x14b2, + 0x687c, 0xd0bc, 0x0904, 0x1411, 0x6890, 0x6842, 0x688c, 0x683e, + 0x6888, 0x00d6, 0x2805, 0x9c68, 0x6b10, 0x6a14, 0x6d00, 0x6c04, + 0x6f08, 0x6e0c, 0x00de, 0x0804, 0x14b2, 0x687c, 0xd0bc, 0x0904, + 0x1411, 0x6890, 0x6842, 0x688c, 0x683e, 0x6804, 0x2060, 0x9080, + 0x0019, 0x200c, 0x691a, 0x91cc, 0x000f, 0x9980, 0x19d4, 0x2045, + 0x6888, 0xd19c, 0x11e8, 0x0470, 0x687c, 0xd0ac, 0x0904, 0x1411, + 0x6804, 0x2060, 0x9080, 0x0019, 0x200c, 0x691a, 0x91cc, 0x000f, + 0x9980, 0x19d4, 0x2045, 0x9006, 0x6842, 0x683e, 0xd19c, 0x1140, + 0x00c8, 0x687c, 0xd0ac, 0x0904, 0x1411, 0x9006, 0x6842, 0x683e, + 0x00d6, 0x2805, 0x9c68, 0x6b10, 0x6a14, 0x6d00, 0x6c04, 0x6f08, + 0x6e0c, 0x00de, 0x0078, 0x687c, 0xd0ac, 0x0904, 0x1411, 0x9006, + 0x6842, 0x683e, 0x00d6, 0x2805, 0x9c68, 0x6b08, 0x6a0c, 0x6d00, + 0x6c04, 0x00de, 0x6b2e, 0x6a32, 0x6d1e, 0x6c22, 0x6f26, 0x6e2a, + 0x6988, 0x8840, 0x281d, 0x68ac, 0x6ab0, 0x6836, 0x6a3a, 0x8109, + 0x6916, 0x1150, 0x3e60, 0x601c, 0xc085, 0x601e, 0x687c, 0xc0dd, + 0x687e, 0x9006, 0x012e, 0x0005, 0x2c00, 0x680e, 0x6b0a, 0x2800, + 0x6812, 0x0c80, 0x2ff0, 0x0126, 0x2091, 0x2200, 0x3e60, 0x6014, + 0x2068, 0x2d60, 0x680e, 0x2041, 0x19d1, 0x680b, 0x19d1, 0x2805, + 0x6812, 0x6964, 0x691a, 0x687c, 0xd0ac, 0x090c, 0x0d52, 0x9006, + 0x6842, 0x683e, 0x00d6, 0x2805, 0x9c68, 0x6b10, 0x6a14, 0x6d00, + 0x6c04, 0x6f08, 0x6e0c, 0x00de, 0x6b2e, 0x6a32, 0x6d1e, 0x6c22, + 0x6f26, 0x6e2a, 0x68ac, 0x6ab0, 0x6836, 0x6a3a, 0x6988, 0x918a, + 0x0002, 0x6916, 0x1150, 0x3e60, 0x601c, 0xc085, 0x601e, 0x687c, + 0xc0dd, 0x687e, 0x9006, 0x012e, 0x0005, 0x6804, 0x9065, 0x090c, + 0x0d52, 0x680e, 0x6064, 0x681a, 0x9084, 0x000f, 0x9080, 0x19d4, + 0x2015, 0x82ff, 0x090c, 0x0d52, 0x6a0a, 0x2205, 0x6812, 0x0c18, + 0x903e, 0x2730, 0x6880, 0xd0fc, 0x11a8, 0x00d6, 0x2805, 0x9c68, + 0x2900, 0x0002, 0x1584, 0x1549, 0x1549, 0x1584, 0x1549, 0x157d, + 0x1584, 0x1549, 0x1584, 0x155e, 0x155e, 0x1584, 0x155e, 0x1584, + 0x1575, 0x155e, 0xc0fc, 0x6882, 0x6b2c, 0x6a30, 0x6d1c, 0x6c20, + 0x00d6, 0xd99c, 0x0904, 0x1587, 0x2805, 0x9c68, 0x6f08, 0x6e0c, + 0x04f0, 0x2d10, 0x00de, 0x00d6, 0x6898, 0x901d, 0x1108, 0x6b9c, + 0x6864, 0x2268, 0x2011, 0x0000, 0x9084, 0x00ff, 0x9086, 0x0024, + 0x0110, 0x6b08, 0x6a0c, 0x6d00, 0x6c04, 0x0448, 0x2d10, 0x00de, + 0x00d6, 0x6864, 0x6898, 0x901d, 0x1108, 0x6b9c, 0x2268, 0x2011, + 0x0000, 0x9084, 0x00ff, 0x9086, 0x002c, 0x0110, 0x6b10, 0x6a14, + 0x6d00, 0x6c04, 0x6f08, 0x6e0c, 0x0090, 0x00de, 0x00d6, 0x6864, + 0x9084, 0x00ff, 0x9086, 0x001e, 0x1138, 0x00de, 0x080c, 0x1994, + 0x1904, 0x1520, 0x900e, 0x0060, 0x00de, 0x080c, 0x0d52, 0x00de, + 0x6b2e, 0x6a32, 0x6d1e, 0x6c22, 0x6f26, 0x6e2a, 0x080c, 0x1994, + 0x0005, 0x2001, 0x020b, 0x2004, 0xd0e4, 0x0110, 0xd0d4, 0x1140, + 0x6014, 0x9080, 0x0021, 0x6118, 0x2102, 0x601b, 0x0002, 0x0005, + 0x0126, 0x00c6, 0x2091, 0x2200, 0x00ce, 0x2001, 0x0037, 0x2c08, + 0x080c, 0x137f, 0x7808, 0xd09c, 0x0140, 0x0016, 0x0026, 0x00c6, + 0x080c, 0x112f, 0x00ce, 0x002e, 0x001e, 0x6000, 0x9086, 0x0004, + 0x1120, 0x2009, 0x0048, 0x080c, 0x9f51, 0x012e, 0x0005, 0x0126, + 0x00c6, 0x2091, 0x2200, 0x00ce, 0x7908, 0x918c, 0x0007, 0x9186, + 0x0000, 0x0904, 0x1633, 0x9186, 0x0003, 0x0904, 0x1633, 0x6020, + 0x6023, 0x0000, 0x0006, 0x2031, 0x0190, 0x00c6, 0x7808, 0xd09c, + 0x190c, 0x112f, 0x00ce, 0x2001, 0x0038, 0x2c08, 0x621c, 0x080c, + 0x137f, 0x7930, 0x9186, 0x0040, 0x0904, 0x162f, 0x9186, 0x0042, + 0x190c, 0x0d52, 0x2001, 0x001e, 0x8001, 0x1df0, 0x8631, 0x1d28, + 0x080c, 0x1683, 0x0026, 0x0056, 0x2001, 0x00d2, 0x8001, 0x1df0, + 0x2031, 0x2000, 0x8631, 0x090c, 0x163e, 0x2001, 0x020b, 0x2004, + 0xd0e4, 0x0dc0, 0x78ab, 0x0004, 0x080c, 0x10e0, 0x781f, 0x8080, + 0x78ab, 0x0009, 0x601c, 0xc084, 0x601e, 0x080c, 0x672f, 0x1198, + 0x0066, 0x2031, 0x0001, 0x2001, 0x020b, 0x2004, 0x9084, 0x0028, + 0x0138, 0x2001, 0x0207, 0x2004, 0xd08c, 0x0110, 0x2031, 0x0000, + 0x080c, 0x67c0, 0x006e, 0x7803, 0x0000, 0x7803, 0x0001, 0x005e, + 0x002e, 0x2001, 0x0160, 0x2502, 0x2001, 0x0138, 0x2202, 0x000e, + 0x6022, 0x012e, 0x0005, 0x601c, 0xc084, 0x601e, 0x7827, 0x0015, + 0x7828, 0x9c06, 0x1db0, 0x782b, 0x0000, 0x0c98, 0x080c, 0x1275, + 0x080c, 0x672f, 0x11b0, 0x2001, 0x0138, 0x2003, 0x0000, 0x2001, + 0x0160, 0x2003, 0x0000, 0x2011, 0x012c, 0xa001, 0xa001, 0x8211, + 0x1de0, 0x0081, 0x0066, 0x2031, 0x0000, 0x080c, 0x67c0, 0x006e, + 0x0005, 0x0449, 0x0039, 0x2001, 0x0160, 0x2502, 0x2001, 0x0138, + 0x2202, 0x0005, 0x00e6, 0x2071, 0x0200, 0x080c, 0x2490, 0x2009, + 0x003c, 0x080c, 0x1c5b, 0x2001, 0x015d, 0x2003, 0x0000, 0x7000, + 0x9084, 0x003c, 0x1de0, 0x70a0, 0x70a2, 0x7098, 0x709a, 0x709c, + 0x709e, 0x00f6, 0x2079, 0x0300, 0x080c, 0x10e0, 0x7803, 0x0001, + 0x00fe, 0x00ee, 0x0005, 0x2001, 0x0138, 0x2014, 0x2003, 0x0000, + 0x2001, 0x0160, 0x202c, 0x2003, 0x0000, 0x080c, 0x672f, 0x1108, + 0x0005, 0x2021, 0x0260, 0x2001, 0x0141, 0x201c, 0xd3dc, 0x1168, + 0x2001, 0x0109, 0x201c, 0x939c, 0x0048, 0x1160, 0x2001, 0x0111, + 0x201c, 0x83ff, 0x1110, 0x8421, 0x1d70, 0x2001, 0x015d, 0x2003, + 0x0000, 0x0005, 0x0046, 0x2021, 0x0019, 0x2003, 0x0048, 0xa001, + 0xa001, 0x201c, 0x939c, 0x0048, 0x0120, 0x8421, 0x1db0, 0x004e, + 0x0c60, 0x004e, 0x0c40, 0x00e6, 0x2071, 0x13c3, 0x7003, 0x0000, + 0x00ee, 0x0005, 0x00d6, 0x9280, 0x0005, 0x206c, 0x697c, 0xd1dc, + 0x1904, 0x1747, 0x6964, 0x9184, 0x0007, 0x0002, 0x16d6, 0x1732, + 0x16d6, 0x16d8, 0x16d6, 0x1719, 0x16f8, 0x16e7, 0x080c, 0x0d52, + 0x2100, 0x9084, 0x00ff, 0x9086, 0x0013, 0x0904, 0x1732, 0x2100, + 0x9084, 0x00ff, 0x9086, 0x001b, 0x0904, 0x1732, 0x0c78, 0x687c, + 0xd0b4, 0x0904, 0x1843, 0x6890, 0x6842, 0x683a, 0x688c, 0x683e, + 0x6836, 0x68ac, 0x6846, 0x68b0, 0x684a, 0x6988, 0x0804, 0x173a, + 0x6864, 0x9084, 0x00ff, 0x9086, 0x001e, 0x19c0, 0x687c, 0xd0b4, + 0x0904, 0x1843, 0x6890, 0x6842, 0x683a, 0x688c, 0x683e, 0x6836, + 0x68ac, 0x6846, 0x68b0, 0x684a, 0x6804, 0x685a, 0x9080, 0x0019, + 0x2004, 0x9084, 0x000f, 0x9080, 0x19d4, 0x2005, 0x6812, 0x6988, + 0x0450, 0x918c, 0x00ff, 0x9186, 0x0015, 0x1548, 0x687c, 0xd0b4, + 0x0904, 0x1843, 0x6804, 0x685a, 0x9080, 0x0019, 0x2004, 0x9084, + 0x000f, 0x9080, 0x19d4, 0x2005, 0x6812, 0x6988, 0x9006, 0x6842, + 0x683e, 0x0088, 0x687c, 0xd0b4, 0x0904, 0x1843, 0x6988, 0x9006, + 0x6842, 0x683e, 0x2d00, 0x685a, 0x6864, 0x9084, 0x000f, 0x9080, + 0x19d4, 0x2005, 0x6812, 0x6916, 0x687c, 0xc0dd, 0x687e, 0x00de, + 0x0005, 0x00f6, 0x2079, 0x0090, 0x782c, 0xd0fc, 0x190c, 0x1886, + 0x00e6, 0x00d6, 0x2071, 0x13c3, 0x7000, 0x9005, 0x1904, 0x17a0, + 0x00c6, 0x7206, 0x9280, 0x0005, 0x205c, 0x7004, 0x2068, 0x782b, + 0x0004, 0x6810, 0x00d6, 0x2068, 0x686c, 0x7836, 0x6890, 0x00f6, + 0x2009, 0x0040, 0x080c, 0x1c5b, 0x781a, 0x2079, 0x0100, 0x8004, + 0x78d6, 0x00fe, 0x00de, 0x2b68, 0x6814, 0x2050, 0x6858, 0x2060, + 0x6810, 0x2040, 0x6064, 0x90cc, 0x000f, 0x6944, 0x791a, 0x7116, + 0x6848, 0x781e, 0x701a, 0x9006, 0x700e, 0x7012, 0x7004, 0x6940, + 0x6838, 0x9106, 0x11c8, 0x693c, 0x6834, 0x9106, 0x11a8, 0x8aff, + 0x01f0, 0x0126, 0x2091, 0x8000, 0x2079, 0x0090, 0x2009, 0x0001, + 0x00d1, 0x0118, 0x2009, 0x0001, 0x00b1, 0x012e, 0x00ce, 0x9006, + 0x00de, 0x00ee, 0x00fe, 0x0005, 0x0036, 0x0046, 0x6b38, 0x6c34, + 0x080c, 0x19f4, 0x004e, 0x003e, 0x0d10, 0x00ce, 0x0c88, 0x00ce, + 0x9085, 0x0001, 0x0c68, 0x0076, 0x0066, 0x0056, 0x0046, 0x0036, + 0x0026, 0x8aff, 0x0904, 0x183c, 0x700c, 0x7214, 0x923a, 0x7010, + 0x7218, 0x9203, 0x0a04, 0x183b, 0x9705, 0x0904, 0x183b, 0x903e, + 0x2730, 0x6880, 0xd0fc, 0x11a8, 0x00d6, 0x2805, 0x9c68, 0x2900, + 0x0002, 0x180a, 0x17ef, 0x17ef, 0x180a, 0x180a, 0x1803, 0x180a, + 0x17ef, 0x180a, 0x17f4, 0x17f4, 0x180a, 0x180a, 0x180a, 0x17fb, + 0x17f4, 0xc0fc, 0x6882, 0x6b2c, 0x6a30, 0x6d1c, 0x6c20, 0xd99c, + 0x05c8, 0x00d6, 0x2805, 0x9c68, 0x6f08, 0x6e0c, 0x0490, 0x6b08, + 0x6a0c, 0x6d00, 0x6c04, 0x0468, 0x6b10, 0x6a14, 0x6d00, 0x6c04, + 0x6f08, 0x6e0c, 0x0430, 0x00de, 0x00d6, 0x6864, 0x9084, 0x00ff, + 0x9086, 0x001e, 0x1138, 0x00de, 0x080c, 0x1994, 0x1904, 0x17b9, + 0x900e, 0x0490, 0x2d10, 0x00de, 0x00d6, 0x6864, 0x9084, 0x00ff, + 0x9086, 0x0013, 0x2268, 0x09d8, 0x2d10, 0x00de, 0x00d6, 0x6864, + 0x9084, 0x00ff, 0x9086, 0x001b, 0x2268, 0x09b0, 0x00de, 0x080c, + 0x0d52, 0x00de, 0x7b12, 0x7a16, 0x7d02, 0x7c06, 0x7f0a, 0x7e0e, + 0x792a, 0x7000, 0x8000, 0x7002, 0x683c, 0x9300, 0x683e, 0x6840, + 0x9201, 0x6842, 0x700c, 0x9300, 0x700e, 0x7010, 0x9201, 0x7012, + 0x080c, 0x1994, 0x0008, 0x9006, 0x002e, 0x003e, 0x004e, 0x005e, + 0x006e, 0x007e, 0x0005, 0x080c, 0x0d52, 0x0026, 0x2001, 0x0105, + 0x2003, 0x0010, 0x782b, 0x0004, 0x7003, 0x0000, 0x7004, 0x2060, + 0x00d6, 0x6014, 0x2068, 0x080c, 0xb95b, 0x0118, 0x6880, 0xc0bd, + 0x6882, 0x6020, 0x9086, 0x0006, 0x1180, 0x2061, 0x0100, 0x62c8, + 0x2001, 0x00fa, 0x8001, 0x1df0, 0x60c8, 0x9206, 0x1dc0, 0x60c4, + 0x689a, 0x60c8, 0x6896, 0x7004, 0x2060, 0x00de, 0x00c6, 0x080c, + 0xb613, 0x00ce, 0x2001, 0x138b, 0x2004, 0x9c06, 0x1160, 0x2009, + 0x0040, 0x080c, 0x1c5b, 0x080c, 0x9949, 0x2011, 0x0000, 0x080c, + 0x97a7, 0x080c, 0x891e, 0x002e, 0x0804, 0x1940, 0x0126, 0x2091, + 0x2400, 0x0006, 0x0016, 0x00f6, 0x00e6, 0x00d6, 0x00c6, 0x2079, + 0x0090, 0x2071, 0x13c3, 0x2b68, 0x6858, 0x2060, 0x792c, 0x782b, + 0x0002, 0x9184, 0x0700, 0x1904, 0x1845, 0x7000, 0x0002, 0x1940, + 0x18a3, 0x1913, 0x193e, 0x8001, 0x7002, 0xd19c, 0x1170, 0x8aff, + 0x05d0, 0x2009, 0x0001, 0x080c, 0x17b3, 0x0904, 0x1940, 0x2009, + 0x0001, 0x080c, 0x17b3, 0x0804, 0x1940, 0x782b, 0x0004, 0xd194, + 0x0148, 0x6880, 0xc0fc, 0x6882, 0x8aff, 0x11d8, 0x687c, 0xc0f5, + 0x687e, 0x00b8, 0x0026, 0x0036, 0x6b3c, 0x6a40, 0x7810, 0x682e, + 0x931a, 0x7814, 0x6832, 0x9213, 0x7800, 0x681e, 0x7804, 0x6822, + 0x6b3e, 0x6a42, 0x003e, 0x002e, 0x080c, 0x19ac, 0x6880, 0xc0fd, + 0x6882, 0x2a00, 0x6816, 0x2c00, 0x685a, 0x2800, 0x6812, 0x7003, + 0x0000, 0x0804, 0x1940, 0x00f6, 0x0026, 0x781c, 0x0006, 0x7818, + 0x0006, 0x2079, 0x0100, 0x7a14, 0x9284, 0x1984, 0x9085, 0x0012, + 0x7816, 0x0036, 0x2019, 0x1000, 0x8319, 0x090c, 0x0d52, 0x7820, + 0xd0bc, 0x1dd0, 0x003e, 0x79c8, 0x000e, 0x9102, 0x001e, 0x0006, + 0x0016, 0x79c4, 0x000e, 0x9103, 0x78c6, 0x000e, 0x78ca, 0x9284, + 0x1984, 0x9085, 0x0012, 0x7816, 0x002e, 0x00fe, 0x782b, 0x0008, + 0x7003, 0x0000, 0x0468, 0x8001, 0x7002, 0xd194, 0x0168, 0x782c, + 0xd0fc, 0x1904, 0x1896, 0xd19c, 0x11f8, 0x8aff, 0x0508, 0x2009, + 0x0001, 0x080c, 0x17b3, 0x00e0, 0x0026, 0x0036, 0x6b3c, 0x6a40, + 0x080c, 0x19ac, 0x00d6, 0x2805, 0x9c68, 0x6064, 0xd09c, 0x1128, + 0x6808, 0x931a, 0x680c, 0x9213, 0x0020, 0x6810, 0x931a, 0x6814, + 0x9213, 0x00de, 0x0804, 0x18c6, 0x0804, 0x18c2, 0x080c, 0x0d52, + 0x00ce, 0x00de, 0x00ee, 0x00fe, 0x001e, 0x000e, 0x012e, 0x0005, + 0x00f6, 0x00e6, 0x2071, 0x13c3, 0x7000, 0x9086, 0x0000, 0x0904, + 0x1991, 0x2079, 0x0090, 0x2009, 0x0207, 0x210c, 0xd194, 0x01b8, + 0x2009, 0x020c, 0x210c, 0x9184, 0x0003, 0x0188, 0x080c, 0xd5cd, + 0x2001, 0x0133, 0x2004, 0x9005, 0x090c, 0x0d52, 0x0016, 0x2009, + 0x0040, 0x080c, 0x1c5b, 0x001e, 0x2001, 0x020c, 0x2102, 0x2009, + 0x0206, 0x2104, 0x2009, 0x0203, 0x210c, 0x9106, 0x1120, 0x2009, + 0x0040, 0x080c, 0x1c5b, 0x782c, 0xd0fc, 0x09a8, 0x080c, 0x1886, + 0x7000, 0x9086, 0x0000, 0x1978, 0x782b, 0x0004, 0x782c, 0xd0ac, + 0x1de8, 0x2009, 0x0040, 0x080c, 0x1c5b, 0x782b, 0x0002, 0x7003, + 0x0000, 0x00ee, 0x00fe, 0x0005, 0x8840, 0x2805, 0x9005, 0x0110, + 0x8a51, 0x0005, 0x6004, 0x9005, 0x0168, 0x685a, 0x2060, 0x6064, + 0x9084, 0x000f, 0x9080, 0x19d4, 0x2045, 0x88ff, 0x090c, 0x0d52, + 0x8a51, 0x0005, 0x2050, 0x0005, 0x8a50, 0x8841, 0x2805, 0x9005, + 0x1190, 0x2c00, 0x9d06, 0x0120, 0x6000, 0x9005, 0x1108, 0x2d00, + 0x2060, 0x685a, 0x6064, 0x9084, 0x000f, 0x9080, 0x19e4, 0x2045, + 0x88ff, 0x090c, 0x0d52, 0x0005, 0x0000, 0x001d, 0x0021, 0x0025, + 0x0029, 0x002d, 0x0031, 0x0035, 0x0000, 0x001b, 0x0021, 0x0027, + 0x002d, 0x0033, 0x0000, 0x0000, 0x0000, 0x19c9, 0x19c5, 0x19c9, + 0x19c9, 0x19d3, 0x0000, 0x19c9, 0x0000, 0x19d0, 0x19cd, 0x19d0, + 0x19d0, 0x0000, 0x19d3, 0x19d0, 0x0000, 0x19cb, 0x19cb, 0x0000, + 0x19cb, 0x19d3, 0x0000, 0x19cb, 0x0000, 0x19d1, 0x19d1, 0x0000, + 0x19d1, 0x0000, 0x19d3, 0x19d1, 0x00a6, 0x0096, 0x0086, 0x6b42, + 0x6c3e, 0x6888, 0x9055, 0x0904, 0x1a85, 0x2d60, 0x6064, 0x90cc, + 0x000f, 0x99c0, 0x19d4, 0x9986, 0x0007, 0x0130, 0x9986, 0x000e, + 0x0118, 0x9986, 0x000f, 0x1120, 0x608c, 0x9422, 0x6090, 0x931a, + 0x2805, 0x9045, 0x1140, 0x0310, 0x0804, 0x1a85, 0x6004, 0x9065, + 0x0904, 0x1a85, 0x0c18, 0x2805, 0x9005, 0x01a8, 0x9c68, 0xd99c, + 0x1128, 0x6808, 0x9422, 0x680c, 0x931b, 0x0020, 0x6810, 0x9422, + 0x6814, 0x931b, 0x0620, 0x2300, 0x9405, 0x0150, 0x8a51, 0x0904, + 0x1a85, 0x8840, 0x0c40, 0x6004, 0x9065, 0x0904, 0x1a85, 0x0830, + 0x8a51, 0x0904, 0x1a85, 0x8840, 0x2805, 0x9005, 0x1158, 0x6004, + 0x9065, 0x0904, 0x1a85, 0x6064, 0x90cc, 0x000f, 0x99c0, 0x19d4, + 0x2805, 0x2040, 0x2b68, 0x6880, 0xc0fc, 0x6882, 0x0458, 0x8422, + 0x8420, 0x831a, 0x9399, 0x0000, 0x00d6, 0x2b68, 0x6c2e, 0x6b32, + 0x00de, 0xd99c, 0x1168, 0x6908, 0x2400, 0x9122, 0x690c, 0x2300, + 0x911b, 0x0a0c, 0x0d52, 0x6800, 0x9420, 0x6804, 0x9319, 0x0060, + 0x6910, 0x2400, 0x9122, 0x6914, 0x2300, 0x911b, 0x0a0c, 0x0d52, + 0x6800, 0x9420, 0x6804, 0x9319, 0x2b68, 0x6c1e, 0x6b22, 0x6880, + 0xc0fd, 0x6882, 0x2c00, 0x685a, 0x2800, 0x6812, 0x2a00, 0x6816, + 0x000e, 0x000e, 0x000e, 0x9006, 0x0028, 0x008e, 0x009e, 0x00ae, + 0x9085, 0x0001, 0x0005, 0x2008, 0x9026, 0x2410, 0x780f, 0x0000, + 0x7810, 0x9420, 0x9291, 0x0000, 0x7814, 0x9210, 0x8109, 0x1dc0, + 0x9284, 0x000f, 0x9405, 0x0005, 0x2001, 0x0005, 0x2004, 0x9084, + 0x0007, 0x0002, 0x1aaa, 0x1886, 0x1aab, 0x1aac, 0x1aaf, 0x1ab2, + 0x1ab7, 0x1aba, 0x0005, 0x0005, 0x080c, 0x1886, 0x0005, 0x080c, + 0x0f88, 0x0005, 0x080c, 0x1886, 0x080c, 0x0f88, 0x0005, 0x080c, + 0x0f88, 0x0005, 0x080c, 0x1886, 0x080c, 0x0f88, 0x0005, 0x0126, + 0x2091, 0x2600, 0x2079, 0x0200, 0x2071, 0x0260, 0x2069, 0x1100, + 0x7817, 0x0000, 0x789b, 0x0814, 0x78a3, 0x0406, 0x789f, 0x0410, + 0x2009, 0x013b, 0x200b, 0x0400, 0x781b, 0x0002, 0x783b, 0x001f, + 0x7837, 0x0020, 0x7803, 0x1600, 0x012e, 0x0005, 0x2091, 0x2600, + 0x781c, 0xd0a4, 0x190c, 0x1c58, 0x7900, 0xd1dc, 0x1118, 0x9084, + 0x0006, 0x001a, 0x9084, 0x000e, 0x0002, 0x1b0d, 0x1afd, 0x70cd, + 0x1aff, 0x1b01, 0x1b03, 0x1b05, 0x1b07, 0x70b1, 0x1afd, 0x1b09, + 0x1afd, 0x1b01, 0x1afd, 0x1b01, 0x1afd, 0x080c, 0x0d52, 0x080c, + 0x0d52, 0x0061, 0x0050, 0x0051, 0x0040, 0x0041, 0x0030, 0x0031, + 0x0020, 0x080c, 0x70b1, 0x080c, 0x70cd, 0x0005, 0x0006, 0x0016, + 0x0026, 0x080c, 0xd5cd, 0x7930, 0x9184, 0x0003, 0x01c0, 0x2001, + 0x138b, 0x2004, 0x9005, 0x0170, 0x2001, 0x0133, 0x2004, 0x9005, + 0x090c, 0x0d52, 0x00c6, 0x2001, 0x138b, 0x2064, 0x080c, 0xb613, + 0x00ce, 0x0488, 0x2009, 0x0040, 0x080c, 0x1c5b, 0x0460, 0x9184, + 0x0014, 0x01d8, 0x6a00, 0x9286, 0x0003, 0x1108, 0x00a0, 0x080c, + 0x672f, 0x1178, 0x2001, 0x1321, 0x2003, 0x0001, 0x2001, 0x1100, + 0x2003, 0x0001, 0x9085, 0x0001, 0x080c, 0x6773, 0x080c, 0x665f, + 0x0010, 0x080c, 0x5295, 0x0099, 0x0070, 0x9184, 0x1400, 0x0110, + 0x0071, 0x0048, 0x9184, 0x0140, 0x0110, 0x0049, 0x0020, 0x9184, + 0x8000, 0x0108, 0x0021, 0x002e, 0x001e, 0x000e, 0x0005, 0x00e6, + 0x0036, 0x0046, 0x0056, 0x2071, 0x13bf, 0x080c, 0x163e, 0x005e, + 0x004e, 0x003e, 0x00ee, 0x0005, 0x0016, 0x0026, 0x0036, 0x0046, + 0x00e6, 0x00f6, 0x2071, 0x1100, 0x7128, 0x2001, 0x1313, 0x2102, + 0x2001, 0x131b, 0x2102, 0x2001, 0x013b, 0x2102, 0x2079, 0x0200, + 0x9198, 0x0007, 0x831c, 0x831c, 0x831c, 0x2320, 0x9182, 0x0224, + 0x1228, 0x2011, 0x0004, 0x8423, 0x8423, 0x0088, 0x9182, 0x02d4, + 0x1228, 0x2011, 0x0003, 0x8403, 0x9420, 0x0048, 0x9182, 0x0444, + 0x1220, 0x2011, 0x0002, 0x8423, 0x0010, 0x2011, 0x0001, 0x9482, + 0x0110, 0x8002, 0x8020, 0x8301, 0x9402, 0x0110, 0x0208, 0x8321, + 0x8217, 0x8203, 0x9405, 0x2001, 0x0201, 0x789e, 0x9198, 0x0007, + 0x831c, 0x831c, 0x831c, 0x9398, 0x0003, 0x2320, 0x9182, 0x0204, + 0x1228, 0x2011, 0x0004, 0x8423, 0x8423, 0x0088, 0x9182, 0x02b4, + 0x1228, 0x2011, 0x0003, 0x8403, 0x9420, 0x0048, 0x9182, 0x041c, + 0x1220, 0x2011, 0x0002, 0x8423, 0x0010, 0x2011, 0x0001, 0x9482, + 0x010c, 0x8002, 0x8020, 0x8301, 0x9402, 0x0110, 0x0208, 0x8321, + 0x8217, 0x8203, 0x9405, 0x2001, 0x0200, 0x78a2, 0x9198, 0x0007, + 0x831c, 0x831c, 0x831c, 0x9398, 0x0005, 0x2320, 0x9182, 0x0204, + 0x1230, 0x2011, 0x0008, 0x8423, 0x8423, 0x8423, 0x0488, 0x9182, + 0x024c, 0x1240, 0x2011, 0x0007, 0x8403, 0x8003, 0x9400, 0x9400, + 0x9420, 0x0430, 0x9182, 0x02bc, 0x1238, 0x2011, 0x0006, 0x8403, + 0x8003, 0x9400, 0x9420, 0x00e0, 0x9182, 0x034c, 0x1230, 0x2011, + 0x0005, 0x8403, 0x8003, 0x9420, 0x0098, 0x9182, 0x042c, 0x1228, + 0x2011, 0x0004, 0x8423, 0x8423, 0x0058, 0x9182, 0x059c, 0x1228, + 0x2011, 0x0003, 0x8403, 0x9420, 0x0018, 0x2011, 0x0002, 0x8423, + 0x9482, 0x0228, 0x8002, 0x8020, 0x8301, 0x9402, 0x0110, 0x0208, + 0x8321, 0x8217, 0x8203, 0x9405, 0x789a, 0x00fe, 0x00ee, 0x004e, + 0x003e, 0x002e, 0x001e, 0x0005, 0x0006, 0x00d6, 0x2069, 0x0200, + 0x6814, 0x9084, 0xffc0, 0x910d, 0x6916, 0x00de, 0x000e, 0x0005, + 0x00d6, 0x2069, 0x0200, 0x9005, 0x6810, 0x0110, 0xc0a5, 0x0008, + 0xc0a4, 0x6812, 0x00de, 0x0005, 0x0006, 0x00d6, 0x2069, 0x0200, + 0x6810, 0x9084, 0xfff8, 0x910d, 0x6912, 0x00de, 0x000e, 0x0005, + 0x7938, 0x080c, 0x0d52, 0x00f6, 0x2079, 0x0200, 0x7902, 0xa001, + 0xa001, 0xa001, 0xa001, 0xa001, 0xa001, 0x7902, 0xa001, 0xa001, + 0xa001, 0xa001, 0xa001, 0xa001, 0x00fe, 0x0005, 0x0126, 0x2091, + 0x2800, 0x2061, 0x0100, 0x2071, 0x1100, 0x080c, 0x23af, 0x6054, + 0x8004, 0x8004, 0x8004, 0x8004, 0x9084, 0x000c, 0x6150, 0x918c, + 0xfff3, 0x9105, 0x6052, 0x6050, 0x9084, 0xfbff, 0x9085, 0x2000, + 0x6052, 0x2009, 0x1350, 0x2011, 0x1351, 0x6358, 0x939c, 0x38f0, + 0x2320, 0x080c, 0x23f3, 0x1238, 0x939d, 0x4003, 0x94a5, 0x8603, + 0x230a, 0x2412, 0x0030, 0x939d, 0x0203, 0x94a5, 0x8603, 0x230a, + 0x2412, 0x9006, 0x080c, 0x23de, 0x9006, 0x080c, 0x23c1, 0x20a9, + 0x0012, 0x1d04, 0x1ca9, 0x2091, 0x6000, 0x1f04, 0x1ca9, 0x602f, + 0x0100, 0x602f, 0x0000, 0x6050, 0x9085, 0x0400, 0x9084, 0xdfff, + 0x6052, 0x6024, 0x6026, 0x080c, 0x20b2, 0x2009, 0x00ef, 0x6132, + 0x6136, 0x080c, 0x20c2, 0x60e7, 0x0000, 0x61ea, 0x60e3, 0x0008, + 0x604b, 0xf7f7, 0x6043, 0x0000, 0x602f, 0x0080, 0x602f, 0x0000, + 0x6007, 0x249f, 0x60bb, 0x0000, 0x20a9, 0x0018, 0x60bf, 0x0000, + 0x1f04, 0x1cd6, 0x60bb, 0x0000, 0x60bf, 0x0108, 0x60bf, 0x0012, + 0x60bf, 0x0405, 0x60bf, 0x0014, 0x60bf, 0x0320, 0x60bf, 0x0018, + 0x601b, 0x001e, 0x601f, 0x001e, 0x600f, 0x006b, 0x602b, 0x402f, + 0x012e, 0x0005, 0x00f6, 0x2079, 0x0140, 0x78c3, 0x0080, 0x78c3, + 0x0083, 0x78c3, 0x0000, 0x00fe, 0x0005, 0x2001, 0x1133, 0x2003, + 0x0000, 0x2001, 0x1132, 0x2003, 0x0001, 0x0005, 0x0126, 0x2091, + 0x2800, 0x0006, 0x0016, 0x0026, 0x6124, 0x0066, 0x2031, 0x1135, + 0x2634, 0x96b4, 0x0028, 0x006e, 0x1138, 0x6020, 0xd1bc, 0x0120, + 0xd0bc, 0x1168, 0xd0b4, 0x1198, 0x9184, 0x5e2c, 0x1118, 0x9184, + 0x0007, 0x00aa, 0x9195, 0x0004, 0x9284, 0x0007, 0x0082, 0x0016, + 0x2001, 0x1196, 0x200c, 0xd184, 0x001e, 0x0d70, 0x0c98, 0x0016, + 0x2001, 0x1196, 0x200c, 0xd194, 0x001e, 0x0d30, 0x0c58, 0x1d59, + 0x1d3f, 0x1d42, 0x1d45, 0x1d4a, 0x1d4c, 0x1d50, 0x1d54, 0x080c, + 0x81bd, 0x00b8, 0x080c, 0x828e, 0x00a0, 0x080c, 0x828e, 0x080c, + 0x81bd, 0x0078, 0x0099, 0x0068, 0x080c, 0x81bd, 0x0079, 0x0048, + 0x080c, 0x828e, 0x0059, 0x0028, 0x080c, 0x828e, 0x080c, 0x81bd, + 0x0029, 0x002e, 0x001e, 0x000e, 0x012e, 0x0005, 0x6124, 0x6028, + 0xd09c, 0x0118, 0xd19c, 0x1904, 0x1fa2, 0xd1f4, 0x0110, 0x080c, + 0x0d52, 0x080c, 0x672f, 0x0588, 0x7000, 0x9086, 0x0003, 0x01a8, + 0x6024, 0x9084, 0x1800, 0x0188, 0x080c, 0x6755, 0x0118, 0x080c, + 0x6741, 0x1158, 0x6027, 0x0020, 0x6043, 0x0000, 0x080c, 0x6780, + 0x2001, 0x1320, 0x2003, 0xaaaa, 0x0458, 0x080c, 0x6755, 0x15d0, + 0x6024, 0x9084, 0x1800, 0x1108, 0x04a8, 0x2001, 0x1320, 0x2003, + 0xaaaa, 0x2001, 0x1321, 0x2003, 0x0001, 0x2001, 0x1100, 0x2003, + 0x0001, 0x080c, 0x665f, 0x0804, 0x1fa2, 0xd1ac, 0x1518, 0x6024, + 0xd0dc, 0x1170, 0xd0e4, 0x1188, 0xd0d4, 0x11a0, 0xd0cc, 0x0130, + 0x7090, 0x9086, 0x0028, 0x1110, 0x080c, 0x68cb, 0x0804, 0x1fa2, + 0x2001, 0x1321, 0x2003, 0x0000, 0x0048, 0x2001, 0x1321, 0x2003, + 0x0002, 0x0020, 0x080c, 0x683f, 0x0804, 0x1fa2, 0x080c, 0x6967, + 0x0804, 0x1fa2, 0x6220, 0xd1bc, 0x0138, 0xd2bc, 0x1904, 0x201d, + 0xd2b4, 0x1904, 0x2030, 0x0000, 0xd1ac, 0x0904, 0x1ec6, 0x0036, + 0x6328, 0xc3bc, 0x632a, 0x003e, 0x080c, 0x672f, 0x11d8, 0x6027, + 0x0020, 0x0006, 0x0026, 0x0036, 0x080c, 0x674b, 0x1170, 0x2001, + 0x1321, 0x2003, 0x0001, 0x2001, 0x1100, 0x2003, 0x0001, 0x080c, + 0x665f, 0x003e, 0x002e, 0x000e, 0x0005, 0x003e, 0x002e, 0x000e, + 0x080c, 0x6706, 0x0016, 0x0046, 0x00c6, 0x644c, 0x9486, 0xf0f0, + 0x1138, 0x2061, 0x0100, 0x644a, 0x6043, 0x0090, 0x6043, 0x0010, + 0x74d2, 0x948c, 0xff00, 0x7034, 0xd084, 0x0178, 0x9186, 0xf800, + 0x1160, 0x7040, 0xd084, 0x1148, 0xc085, 0x7042, 0x0036, 0x2418, + 0x2011, 0x8016, 0x080c, 0x40b6, 0x003e, 0x9196, 0xff00, 0x05b8, + 0x7058, 0x9084, 0x00ff, 0x810f, 0x9116, 0x0588, 0x7130, 0xd184, + 0x1570, 0x2011, 0x1153, 0x2214, 0xd2ec, 0x0138, 0xc18d, 0x7132, + 0x2011, 0x1153, 0x2214, 0xd2ac, 0x1510, 0x6240, 0x9294, 0x0010, + 0x0130, 0x6248, 0x9294, 0xff00, 0x9296, 0xff00, 0x01c0, 0x7030, + 0xd08c, 0x0904, 0x1e9e, 0x7034, 0xd08c, 0x1140, 0x2001, 0x110c, + 0x200c, 0xd1ac, 0x1904, 0x1e9e, 0xc1ad, 0x2102, 0x0036, 0x73d0, + 0x2011, 0x8013, 0x080c, 0x40b6, 0x003e, 0x0804, 0x1e9e, 0x7034, + 0xd08c, 0x1140, 0x2001, 0x110c, 0x200c, 0xd1ac, 0x1904, 0x1e9e, + 0xc1ad, 0x2102, 0x0036, 0x73d0, 0x2011, 0x8013, 0x080c, 0x40b6, + 0x003e, 0x7130, 0xc185, 0x7132, 0x2011, 0x1153, 0x220c, 0xd1a4, + 0x01f0, 0x0016, 0x2009, 0x0001, 0x2011, 0x0100, 0x080c, 0x78ed, + 0x2019, 0x000e, 0x00c6, 0x2061, 0x0000, 0x080c, 0xd13b, 0x00ce, + 0x9484, 0x00ff, 0x9080, 0x2b33, 0x200d, 0x918c, 0xff00, 0x810f, + 0x8127, 0x9006, 0x2009, 0x000e, 0x080c, 0xd1bd, 0x001e, 0x0016, + 0x2009, 0x0000, 0x2019, 0x0004, 0x080c, 0x29e5, 0x001e, 0x0070, + 0x0156, 0x20a9, 0x007f, 0x2009, 0x0000, 0x080c, 0x598f, 0x1110, + 0x080c, 0x53ea, 0x8108, 0x1f04, 0x1e95, 0x015e, 0x00ce, 0x004e, + 0x2011, 0x0003, 0x080c, 0x979d, 0x2011, 0x0002, 0x080c, 0x97a7, + 0x080c, 0x9676, 0x0036, 0x2019, 0x0000, 0x080c, 0x9708, 0x003e, + 0x60e3, 0x0000, 0x001e, 0x2001, 0x1100, 0x2014, 0x9296, 0x0004, + 0x1128, 0xd19c, 0x1158, 0x6228, 0xc29d, 0x622a, 0x2003, 0x0001, + 0x2001, 0x1124, 0x2003, 0x0000, 0x6027, 0x0020, 0xd194, 0x0904, + 0x1fa2, 0x0016, 0x6220, 0xd2b4, 0x0904, 0x1f44, 0x080c, 0x77b2, + 0x080c, 0x9494, 0x6027, 0x0004, 0x00f6, 0x2019, 0x1385, 0x2304, + 0x907d, 0x05f0, 0x7804, 0x9086, 0x0032, 0x15d0, 0x00d6, 0x00c6, + 0x00e6, 0x2069, 0x0140, 0x7810, 0x685e, 0x7808, 0x685a, 0x6043, + 0x0002, 0x2001, 0x0003, 0x8001, 0x1df0, 0x6043, 0x0000, 0x2001, + 0x003c, 0x8001, 0x1df0, 0x6803, 0x1000, 0x6803, 0x0000, 0x2001, + 0x001e, 0x8001, 0x0240, 0x20a9, 0x0009, 0x080c, 0x246b, 0x6904, + 0xd1dc, 0x1128, 0x0cb0, 0x6803, 0x1000, 0x6803, 0x0000, 0x080c, + 0x86ff, 0x080c, 0x87fb, 0x7814, 0x2070, 0x7067, 0x0103, 0x2f60, + 0x080c, 0x9eda, 0x00ee, 0x00ce, 0x00de, 0x00fe, 0x001e, 0x0005, + 0x00fe, 0x00d6, 0x2069, 0x0140, 0x6804, 0x9084, 0x4000, 0x0120, + 0x6803, 0x1000, 0x6803, 0x0000, 0x00de, 0x00c6, 0x2061, 0x137c, + 0x6028, 0x909a, 0x00c8, 0x1238, 0x8000, 0x602a, 0x00ce, 0x080c, + 0x9470, 0x0804, 0x1fa1, 0x2061, 0x0100, 0x62c0, 0x080c, 0x9dd1, + 0x2019, 0x1385, 0x2304, 0x9065, 0x0120, 0x2009, 0x0027, 0x080c, + 0x9f51, 0x00ce, 0x0804, 0x1fa1, 0xd2bc, 0x0904, 0x1f88, 0x080c, + 0x77bf, 0x6014, 0x9084, 0x1984, 0x9085, 0x0010, 0x6016, 0x6027, + 0x0004, 0x00d6, 0x2069, 0x0140, 0x6804, 0x9084, 0x4000, 0x0120, + 0x6803, 0x1000, 0x6803, 0x0000, 0x00de, 0x00c6, 0x2061, 0x137c, + 0x6044, 0x909a, 0x00c8, 0x1638, 0x8000, 0x6046, 0x603c, 0x00ce, + 0x9005, 0x05b8, 0x2009, 0x07d0, 0x080c, 0x77b7, 0x9080, 0x0008, + 0x2004, 0x9086, 0x0006, 0x1138, 0x6114, 0x918c, 0x1984, 0x918d, + 0x0012, 0x6116, 0x0430, 0x9080, 0x0008, 0x2004, 0x9086, 0x0009, + 0x0d98, 0x6114, 0x918c, 0x1984, 0x918d, 0x0016, 0x6116, 0x00c8, + 0x6027, 0x0004, 0x00b0, 0x0036, 0x2019, 0x0001, 0x080c, 0x9708, + 0x003e, 0x2019, 0x138b, 0x2304, 0x9065, 0x0150, 0x2009, 0x004f, + 0x6020, 0x9086, 0x0009, 0x1110, 0x2009, 0x004f, 0x080c, 0x9f51, + 0x00ce, 0x001e, 0xd19c, 0x0904, 0x2019, 0x7034, 0xd0ac, 0x1904, + 0x1fe9, 0x0016, 0x0156, 0x6027, 0x0008, 0x6050, 0x9085, 0x0040, + 0x6052, 0x6050, 0x9084, 0xfbcf, 0x6052, 0x080c, 0x248a, 0x9085, + 0x2000, 0x6052, 0x20a9, 0x0012, 0x1d04, 0x1fbc, 0x2091, 0x6000, + 0x1f04, 0x1fbc, 0x6050, 0x9085, 0x0400, 0x9084, 0xdfbf, 0x6052, + 0x20a9, 0x0028, 0xa001, 0x1f04, 0x1fca, 0x6150, 0x9185, 0x1400, + 0x6052, 0x20a9, 0x0366, 0x1d04, 0x1fd3, 0x2091, 0x6000, 0x6020, + 0xd09c, 0x1130, 0x015e, 0x6152, 0x001e, 0x6027, 0x0008, 0x04c8, + 0x080c, 0x244e, 0x1f04, 0x1fd3, 0x015e, 0x6152, 0x001e, 0x6027, + 0x0008, 0x0016, 0x6028, 0xc09c, 0x602a, 0x2011, 0x0003, 0x080c, + 0x979d, 0x2011, 0x0002, 0x080c, 0x97a7, 0x080c, 0x9676, 0x0036, + 0x2019, 0x0000, 0x080c, 0x9708, 0x003e, 0x60e3, 0x0000, 0x080c, + 0xd5ac, 0x080c, 0xd5c7, 0x2001, 0x1172, 0x2004, 0xd0fc, 0x1120, + 0x9085, 0x0001, 0x080c, 0x6773, 0x2001, 0x0140, 0x2003, 0x0000, + 0x2001, 0x1100, 0x2003, 0x0004, 0x6027, 0x0008, 0x080c, 0x0b5a, + 0x001e, 0x918c, 0xffd0, 0x6126, 0x0005, 0x0016, 0x2001, 0x1196, + 0x200c, 0xd184, 0x001e, 0x0904, 0x1dcc, 0x0016, 0x2009, 0x2029, + 0x00d0, 0x2001, 0x1196, 0x200c, 0xc184, 0x2102, 0x001e, 0x0c48, + 0x0016, 0x2001, 0x1196, 0x200c, 0xd194, 0x001e, 0x0904, 0x1dcc, + 0x0016, 0x2009, 0x203c, 0x0038, 0x2001, 0x1196, 0x200c, 0xc194, + 0x2102, 0x001e, 0x08b0, 0x6028, 0xc0bc, 0x602a, 0x2001, 0x0156, + 0x2003, 0xbc91, 0x8000, 0x2003, 0xffff, 0x6043, 0x0001, 0x080c, + 0x248a, 0x6027, 0x0080, 0x6017, 0x0000, 0x6043, 0x0000, 0x0817, + 0x0006, 0x0016, 0x0026, 0x0036, 0x00e6, 0x00f6, 0x0126, 0x2091, + 0x8000, 0x2071, 0x1100, 0x71c8, 0x70ca, 0x9116, 0x0548, 0x81ff, + 0x0180, 0x2011, 0x8011, 0x2019, 0x010e, 0x231c, 0x939e, 0x0007, + 0x1118, 0x2019, 0x0001, 0x0010, 0x2019, 0x0000, 0x080c, 0x40b6, + 0x00b8, 0x2011, 0x8012, 0x080c, 0x40b6, 0x2001, 0x1172, 0x2004, + 0xd0fc, 0x1170, 0x00c6, 0x080c, 0x210d, 0x080c, 0x9652, 0x2061, + 0x0100, 0x2019, 0x0028, 0x2009, 0x0000, 0x080c, 0x29e5, 0x00ce, + 0x012e, 0x00fe, 0x00ee, 0x003e, 0x002e, 0x001e, 0x000e, 0x0005, + 0x2028, 0x918c, 0x00ff, 0x2130, 0x9094, 0xff00, 0x1110, 0x81ff, + 0x0118, 0x080c, 0x7348, 0x0038, 0x9080, 0x2b33, 0x200d, 0x918c, + 0xff00, 0x810f, 0x9006, 0x0005, 0x9080, 0x2b33, 0x200d, 0x918c, + 0x00ff, 0x0005, 0x00d6, 0x2069, 0x0140, 0x2001, 0x1116, 0x2003, + 0x00ef, 0x20a9, 0x0010, 0x9006, 0x6852, 0x6856, 0x1f04, 0x20bd, + 0x00de, 0x0005, 0x0006, 0x00d6, 0x0026, 0x2069, 0x0140, 0x2001, + 0x1116, 0x2102, 0x8114, 0x8214, 0x8214, 0x8214, 0x20a9, 0x0010, + 0x6853, 0x0000, 0x9006, 0x82ff, 0x1128, 0x9184, 0x000f, 0x9080, + 0xdc4b, 0x2005, 0x6856, 0x8211, 0x1f04, 0x20d2, 0x002e, 0x00de, + 0x000e, 0x0005, 0x00c6, 0x2061, 0x1100, 0x6030, 0x0110, 0xc09d, + 0x0008, 0xc09c, 0x6032, 0x00ce, 0x0005, 0x0156, 0x00d6, 0x0026, + 0x0016, 0x0006, 0x2069, 0x0140, 0x6980, 0x9116, 0x0180, 0x9112, + 0x1230, 0x8212, 0x8210, 0x22a8, 0x2001, 0x0402, 0x0018, 0x22a8, + 0x2001, 0x0404, 0x680e, 0x1f04, 0x2102, 0x680f, 0x0000, 0x000e, + 0x001e, 0x002e, 0x00de, 0x015e, 0x0005, 0x2001, 0x1153, 0x2004, + 0xd0c4, 0x0150, 0xd0a4, 0x0140, 0x9006, 0x0046, 0x2020, 0x2009, + 0x002e, 0x080c, 0xd1bd, 0x004e, 0x0005, 0x00f6, 0x0016, 0x0026, + 0x2079, 0x0140, 0x78c4, 0xd0dc, 0x0904, 0x2180, 0x080c, 0x23f3, + 0x0690, 0x9084, 0x0700, 0x908e, 0x0600, 0x1128, 0x2011, 0x4000, + 0x2009, 0x0000, 0x0480, 0x908e, 0x0500, 0x1128, 0x2011, 0x8000, + 0x2009, 0x0000, 0x0440, 0x908e, 0x0400, 0x1128, 0x2011, 0x0000, + 0x2009, 0x0001, 0x0400, 0x908e, 0x0300, 0x1128, 0x2011, 0x0000, + 0x2009, 0x0002, 0x00c0, 0x908e, 0x0200, 0x1128, 0x2011, 0x0000, + 0x2009, 0x0004, 0x0080, 0x908e, 0x0100, 0x1550, 0x2011, 0x0000, + 0x2009, 0x0008, 0x0040, 0x9084, 0x0700, 0x908e, 0x0300, 0x1500, + 0x2011, 0x0030, 0x0058, 0x2300, 0x9080, 0x0020, 0x2018, 0x080c, + 0x8130, 0x928c, 0xff00, 0x0110, 0x2011, 0x00ff, 0x2200, 0x8007, + 0x9085, 0x004c, 0x78c2, 0x2009, 0x0138, 0x220a, 0x080c, 0x672f, + 0x1118, 0x2009, 0x1311, 0x220a, 0x002e, 0x001e, 0x00fe, 0x0005, + 0x78c3, 0x0000, 0x0cc8, 0x0126, 0x2091, 0x2800, 0x0006, 0x0016, + 0x0026, 0x2001, 0x0170, 0x200c, 0x8000, 0x2014, 0x9184, 0x0003, + 0x0110, 0x0804, 0x0d52, 0x002e, 0x001e, 0x000e, 0x012e, 0x0005, + 0x2001, 0x0171, 0x2004, 0xd0dc, 0x0168, 0x2001, 0x0170, 0x200c, + 0x918c, 0x00ff, 0x918e, 0x004c, 0x1128, 0x200c, 0x918c, 0xff00, + 0x810f, 0x0005, 0x2009, 0x0000, 0x2001, 0x0227, 0x2004, 0x8007, + 0x9084, 0x00ff, 0x8004, 0x9108, 0x2001, 0x0226, 0x2004, 0x8007, + 0x9084, 0x00ff, 0x8004, 0x9108, 0x0005, 0x0018, 0x000c, 0x0018, + 0x0020, 0x1000, 0x0800, 0x1000, 0x1800, 0x0156, 0x0006, 0x0016, + 0x0026, 0x00e6, 0x2001, 0x1343, 0x2004, 0x908a, 0x0007, 0x1210, + 0x004b, 0x0010, 0x080c, 0x0d52, 0x00ee, 0x002e, 0x001e, 0x000e, + 0x015e, 0x0005, 0x21e1, 0x2200, 0x2225, 0x2228, 0x2252, 0x2255, + 0x2258, 0x2001, 0x0001, 0x080c, 0x2058, 0x080c, 0x2449, 0x2001, + 0x1345, 0x2003, 0x0000, 0x7828, 0x9084, 0xe1d7, 0x782a, 0x2001, + 0x0000, 0x20a9, 0x0009, 0x080c, 0x2407, 0x2001, 0x1343, 0x2003, + 0x0006, 0x2009, 0x001e, 0x2011, 0x2259, 0x080c, 0x77c4, 0x0005, + 0x2009, 0x1348, 0x200b, 0x0000, 0x2001, 0x134d, 0x2003, 0x0036, + 0x2001, 0x134c, 0x2003, 0x002a, 0x2001, 0x1345, 0x2003, 0x0001, + 0x2001, 0x0000, 0x080c, 0x23c1, 0x2001, 0xffff, 0x20a9, 0x0009, + 0x080c, 0x2407, 0x2001, 0x1343, 0x2003, 0x0006, 0x2009, 0x001e, + 0x2011, 0x2259, 0x080c, 0x77c4, 0x0005, 0x080c, 0x0d52, 0x0005, + 0x2001, 0x134d, 0x2003, 0x0036, 0x2001, 0x1345, 0x2003, 0x0003, + 0x7a38, 0x9294, 0x0005, 0x9296, 0x0004, 0x0118, 0x2001, 0x0000, + 0x0010, 0x2001, 0x0001, 0x080c, 0x23c1, 0x2001, 0x1349, 0x2003, + 0x0000, 0x2001, 0xffff, 0x20a9, 0x0009, 0x080c, 0x2407, 0x2001, + 0x1343, 0x2003, 0x0006, 0x2009, 0x001e, 0x2011, 0x2259, 0x080c, + 0x77c4, 0x0005, 0x080c, 0x0d52, 0x0005, 0x080c, 0x0d52, 0x0005, + 0x0005, 0x0006, 0x0016, 0x0026, 0x00e6, 0x00f6, 0x0156, 0x0126, + 0x2091, 0x8000, 0x2079, 0x0100, 0x2001, 0x1345, 0x2004, 0x908a, + 0x0007, 0x1210, 0x005b, 0x0010, 0x080c, 0x0d52, 0x012e, 0x015e, + 0x00fe, 0x00ee, 0x002e, 0x001e, 0x000e, 0x0005, 0x227d, 0x229d, + 0x22de, 0x230e, 0x2332, 0x2342, 0x2345, 0x080c, 0x23fb, 0x11b0, + 0x7850, 0x9084, 0xefff, 0x7852, 0x2009, 0x134b, 0x2104, 0x7a38, + 0x9294, 0x0005, 0x9296, 0x0004, 0x0110, 0xc08d, 0x0008, 0xc085, + 0x200a, 0x2001, 0x1343, 0x2003, 0x0001, 0x0030, 0x080c, 0x236d, + 0x2001, 0xffff, 0x080c, 0x21f1, 0x0005, 0x080c, 0x2348, 0x05e8, + 0x2009, 0x134c, 0x2104, 0x8001, 0x200a, 0x080c, 0x23fb, 0x1178, + 0x7850, 0x9084, 0xefff, 0x7852, 0x7a38, 0x9294, 0x0005, 0x9296, + 0x0005, 0x0520, 0x2009, 0x134b, 0x2104, 0xc085, 0x200a, 0x2009, + 0x1348, 0x2104, 0x8000, 0x200a, 0x9086, 0x0005, 0x0118, 0x080c, + 0x2351, 0x00c8, 0x200b, 0x0000, 0x7a38, 0x9294, 0x0006, 0x9296, + 0x0004, 0x0118, 0x2001, 0x0000, 0x0010, 0x2001, 0x0001, 0x080c, + 0x23de, 0x2001, 0x1345, 0x2003, 0x0002, 0x0028, 0x2001, 0x1343, + 0x2003, 0x0003, 0x0010, 0x080c, 0x2214, 0x0005, 0x080c, 0x2348, + 0x0560, 0x2009, 0x134c, 0x2104, 0x8001, 0x200a, 0x080c, 0x23fb, + 0x1168, 0x7850, 0x9084, 0xefff, 0x7852, 0x2001, 0x1343, 0x2003, + 0x0003, 0x2001, 0x1344, 0x2003, 0x0000, 0x00b8, 0x2009, 0x134c, + 0x2104, 0x9005, 0x1118, 0x080c, 0x2392, 0x0010, 0x080c, 0x235f, + 0x080c, 0x2351, 0x2009, 0x1348, 0x200b, 0x0000, 0x2001, 0x1345, + 0x2003, 0x0001, 0x080c, 0x2214, 0x0000, 0x0005, 0x04c9, 0x0508, + 0x080c, 0x23fb, 0x11b8, 0x7850, 0x9084, 0xefff, 0x7852, 0x2009, + 0x1349, 0x2104, 0x8000, 0x200a, 0x9086, 0x0007, 0x0108, 0x0078, + 0x2001, 0x134e, 0x2003, 0x000a, 0x2009, 0x134b, 0x2104, 0xc0fd, + 0x200a, 0x0038, 0x0431, 0x2001, 0x1345, 0x2003, 0x0004, 0x080c, + 0x2241, 0x0005, 0x00a9, 0x0168, 0x080c, 0x23fb, 0x1138, 0x7850, + 0x9084, 0xefff, 0x7852, 0x080c, 0x222c, 0x0018, 0x0091, 0x080c, + 0x2241, 0x0005, 0x080c, 0x0d52, 0x0005, 0x080c, 0x0d52, 0x0005, + 0x2009, 0x134d, 0x2104, 0x8001, 0x200a, 0x1110, 0x080c, 0x23af, + 0x0005, 0x7a38, 0x9294, 0x0005, 0x9296, 0x0005, 0x0118, 0x2001, + 0x0000, 0x0010, 0x2001, 0x0001, 0x080c, 0x23de, 0x0005, 0x7a38, + 0x9294, 0x0006, 0x9296, 0x0006, 0x0118, 0x2001, 0x0000, 0x0010, + 0x2001, 0x0001, 0x080c, 0x23c1, 0x0005, 0x2009, 0x1348, 0x2104, + 0x8000, 0x200a, 0x9086, 0x0005, 0x0108, 0x0070, 0x200b, 0x0000, + 0x7a38, 0x9294, 0x0006, 0x9296, 0x0006, 0x0118, 0x2001, 0x0000, + 0x0010, 0x2001, 0x0001, 0x04e9, 0x7a38, 0x9294, 0x0005, 0x9296, + 0x0005, 0x0118, 0x2001, 0x0000, 0x0010, 0x2001, 0x0001, 0x080c, + 0x23de, 0x0005, 0x0086, 0x2001, 0x134b, 0x2004, 0x9084, 0x7fff, + 0x090c, 0x0d52, 0x2009, 0x134a, 0x2144, 0x8846, 0x280a, 0x9844, + 0x0dd8, 0xd08c, 0x1120, 0xd084, 0x1128, 0x080c, 0x0d52, 0x2001, + 0x0000, 0x0010, 0x2001, 0x0001, 0x00a1, 0x008e, 0x0005, 0x0006, + 0x0156, 0x2001, 0x1343, 0x20a9, 0x0009, 0x2003, 0x0000, 0x8000, + 0x1f04, 0x23b5, 0x2001, 0x134a, 0x2003, 0x8000, 0x015e, 0x000e, + 0x0005, 0x00f6, 0x2079, 0x0100, 0x9085, 0x0000, 0x0158, 0x7838, + 0x9084, 0xfff9, 0x9085, 0x0004, 0x783a, 0x2009, 0x1350, 0x210c, + 0x795a, 0x0050, 0x7838, 0x9084, 0xfffb, 0x9085, 0x0006, 0x783a, + 0x2009, 0x1351, 0x210c, 0x795a, 0x00fe, 0x0005, 0x00f6, 0x2079, + 0x0100, 0x9085, 0x0000, 0x0138, 0x7838, 0x9084, 0xfffa, 0x9085, + 0x0004, 0x783a, 0x0030, 0x7838, 0x9084, 0xfffb, 0x9085, 0x0005, + 0x783a, 0x00fe, 0x0005, 0x0006, 0x2001, 0x0100, 0x2004, 0x9082, + 0x0007, 0x000e, 0x0005, 0x0156, 0x20a9, 0x0064, 0x7820, 0x080c, + 0x248a, 0xd09c, 0x1110, 0x1f04, 0x23fe, 0x015e, 0x0005, 0x0126, + 0x0016, 0x0006, 0x2091, 0x8000, 0x7850, 0x9085, 0x0040, 0x7852, + 0x7850, 0x9084, 0xfbcf, 0x7852, 0x080c, 0x248a, 0x9085, 0x2000, + 0x7852, 0x000e, 0x2008, 0x9186, 0x0000, 0x1118, 0x783b, 0x0007, + 0x0090, 0x9186, 0x0001, 0x1118, 0x783b, 0x0006, 0x0060, 0x9186, + 0x0002, 0x1118, 0x783b, 0x0005, 0x0030, 0x9186, 0x0003, 0x1118, + 0x783b, 0x0004, 0x0000, 0x0006, 0x1d04, 0x2434, 0x080c, 0x77e6, + 0x1f04, 0x2434, 0x7850, 0x9085, 0x0400, 0x9084, 0xdfbf, 0x7852, + 0x080c, 0x248a, 0x9085, 0x1000, 0x7852, 0x000e, 0x001e, 0x012e, + 0x0005, 0x7850, 0x9084, 0xffcf, 0x7852, 0x0005, 0x0006, 0x0156, + 0x00f6, 0x2079, 0x0100, 0x20a9, 0x000a, 0x7854, 0xd0ac, 0x1130, + 0x7820, 0xd0e4, 0x1140, 0x1f04, 0x2458, 0x0028, 0x7854, 0xd08c, + 0x1110, 0x1f04, 0x245e, 0x00fe, 0x015e, 0x000e, 0x0005, 0x7820, + 0x0409, 0xd09c, 0x0005, 0x1d04, 0x246b, 0x080c, 0x77e6, 0x1f04, + 0x246b, 0x0005, 0x0006, 0x2001, 0x134f, 0x2004, 0x9086, 0x0000, + 0x000e, 0x0005, 0x0006, 0x2001, 0x134f, 0x2004, 0x9086, 0x0001, + 0x000e, 0x0005, 0x0006, 0x2001, 0x134f, 0x2004, 0x9086, 0x0002, + 0x000e, 0x0005, 0xa001, 0xa001, 0xa001, 0xa001, 0xa001, 0x0005, + 0x2009, 0x0171, 0x2104, 0xd0dc, 0x0140, 0x2009, 0x0170, 0x2104, + 0x200b, 0x0080, 0xa001, 0xa001, 0x200a, 0x0005, 0x0036, 0x0046, + 0x2001, 0x0141, 0x200c, 0x918c, 0xff00, 0x9186, 0x2000, 0x0118, + 0x9186, 0x0100, 0x1560, 0x2009, 0x017f, 0x200b, 0x00a2, 0x2009, + 0x0169, 0x2019, 0x0160, 0x2324, 0x2011, 0x0003, 0x2104, 0x9084, + 0x0007, 0x9086, 0x0003, 0x11b8, 0x2304, 0x9402, 0x02a0, 0x1d98, + 0x8211, 0x1da0, 0x84ff, 0x0170, 0x2001, 0x0141, 0x200c, 0x918c, + 0xff00, 0x9186, 0x0100, 0x0130, 0x2009, 0x110c, 0x2104, 0xc0dd, + 0x200a, 0x0008, 0x0419, 0x2001, 0x017f, 0x2003, 0x0000, 0x004e, + 0x003e, 0x0005, 0x2001, 0x110c, 0x2004, 0xd0dc, 0x01b0, 0x2001, + 0x0160, 0x2004, 0x9005, 0x0140, 0x2001, 0x0141, 0x2004, 0x9084, + 0xff00, 0x9086, 0x0100, 0x1148, 0x0126, 0x2091, 0x8000, 0x0016, + 0x0026, 0x0021, 0x002e, 0x001e, 0x012e, 0x0005, 0x00c6, 0x2061, + 0x0100, 0x6014, 0x0006, 0x2001, 0x0161, 0x2003, 0x0000, 0x6017, + 0x0018, 0xa001, 0xa001, 0x602f, 0x0008, 0x6104, 0x918e, 0x0010, + 0x6106, 0x918e, 0x0010, 0x6106, 0x6017, 0x0040, 0x2001, 0x0140, + 0x2003, 0x1000, 0x2003, 0x0000, 0x001e, 0x9184, 0x0003, 0x01c0, + 0x0036, 0x2019, 0x0141, 0x2304, 0x9084, 0xff00, 0x9086, 0x0800, + 0x1dd0, 0x919c, 0xffe4, 0x9184, 0x0001, 0x0118, 0x9385, 0x0009, + 0x6016, 0x9184, 0x0002, 0x0118, 0x9385, 0x0012, 0x6016, 0x003e, + 0x2001, 0x110c, 0x200c, 0xc1dc, 0x2102, 0x00ce, 0x0005, 0x2801, + 0x2801, 0x25c7, 0x25d3, 0x25df, 0x25eb, 0x25f7, 0x2605, 0x2613, + 0x261f, 0x262b, 0x2639, 0x2647, 0x2655, 0x2663, 0x2673, 0x2685, + 0x2685, 0x2691, 0x2691, 0x269f, 0x269f, 0x26bd, 0x26bd, 0x26dd, + 0x26dd, 0x26ad, 0x26ad, 0x26cd, 0x26cd, 0x26eb, 0x26eb, 0x2683, + 0x2683, 0x2683, 0x2683, 0x2683, 0x2683, 0x2683, 0x2683, 0x2683, + 0x2683, 0x2683, 0x2683, 0x2683, 0x2683, 0x2683, 0x2683, 0x2683, + 0x2683, 0x2683, 0x2683, 0x2683, 0x2683, 0x2683, 0x2683, 0x2683, + 0x2683, 0x2683, 0x2683, 0x2683, 0x2683, 0x2683, 0x2683, 0x26fd, + 0x26fd, 0x2709, 0x2709, 0x2717, 0x2717, 0x2725, 0x2725, 0x2735, + 0x2735, 0x2743, 0x2743, 0x2753, 0x2753, 0x2763, 0x2763, 0x2775, + 0x2775, 0x2783, 0x2783, 0x2793, 0x2793, 0x27b5, 0x27b5, 0x27d7, + 0x27d7, 0x27a3, 0x27a3, 0x27c6, 0x27c6, 0x27e6, 0x27e6, 0x2683, + 0x2683, 0x2683, 0x2683, 0x2683, 0x2683, 0x2683, 0x2683, 0x2683, + 0x2683, 0x2683, 0x2683, 0x2683, 0x2683, 0x2683, 0x2683, 0x2683, + 0x2683, 0x2683, 0x2683, 0x2683, 0x2683, 0x2683, 0x2683, 0x2683, + 0x2683, 0x2683, 0x2683, 0x2683, 0x2683, 0x2683, 0x2683, 0x2683, + 0x2683, 0x2683, 0x2683, 0x2683, 0x2683, 0x2683, 0x2683, 0x2683, + 0x2683, 0x2683, 0x2683, 0x2683, 0x2683, 0x2683, 0x2683, 0x0106, + 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, + 0x1d06, 0x0804, 0x27f9, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, + 0x0136, 0x0146, 0x0156, 0x080c, 0x1d06, 0x0804, 0x27f9, 0x0106, + 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, + 0x1a9c, 0x0804, 0x27f9, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, + 0x0136, 0x0146, 0x0156, 0x080c, 0x1a9c, 0x0804, 0x27f9, 0x0106, + 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, + 0x1a9c, 0x080c, 0x1d06, 0x0804, 0x27f9, 0x0106, 0x0006, 0x0126, + 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x1a9c, 0x080c, + 0x1d06, 0x0804, 0x27f9, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, + 0x0136, 0x0146, 0x0156, 0x080c, 0x1ade, 0x0804, 0x27f9, 0x0106, + 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, + 0x1ade, 0x0804, 0x27f9, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, + 0x0136, 0x0146, 0x0156, 0x080c, 0x1d06, 0x080c, 0x1ade, 0x0804, + 0x27f9, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, + 0x0156, 0x080c, 0x1d06, 0x080c, 0x1ade, 0x0804, 0x27f9, 0x0106, + 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, + 0x1a9c, 0x080c, 0x1ade, 0x0804, 0x27f9, 0x0106, 0x0006, 0x0126, + 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x1a9c, 0x080c, + 0x1ade, 0x0804, 0x27f9, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, + 0x0136, 0x0146, 0x0156, 0x080c, 0x1a9c, 0x080c, 0x1d06, 0x080c, + 0x1ade, 0x0804, 0x27f9, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, + 0x0136, 0x0146, 0x0156, 0x080c, 0x1a9c, 0x080c, 0x1d06, 0x080c, + 0x1ade, 0x0804, 0x27f9, 0xa001, 0x0cf0, 0x0106, 0x0006, 0x0126, + 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x112f, 0x0804, + 0x27f9, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, + 0x0156, 0x080c, 0x1d06, 0x080c, 0x112f, 0x0804, 0x27f9, 0x0106, + 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, + 0x1a9c, 0x080c, 0x112f, 0x0804, 0x27f9, 0x0106, 0x0006, 0x0126, + 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x1d06, 0x080c, + 0x112f, 0x080c, 0x1ade, 0x0804, 0x27f9, 0x0106, 0x0006, 0x0126, + 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x1a9c, 0x080c, + 0x1d06, 0x080c, 0x112f, 0x0804, 0x27f9, 0x0106, 0x0006, 0x0126, + 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x1a9c, 0x080c, + 0x112f, 0x080c, 0x1ade, 0x0804, 0x27f9, 0x0106, 0x0006, 0x0126, + 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x112f, 0x080c, + 0x1ade, 0x0804, 0x27f9, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, + 0x0136, 0x0146, 0x0156, 0x080c, 0x1a9c, 0x080c, 0x1d06, 0x080c, + 0x112f, 0x080c, 0x1ade, 0x0804, 0x27f9, 0x0106, 0x0006, 0x0126, + 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x2183, 0x0804, + 0x27f9, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, + 0x0156, 0x080c, 0x2183, 0x080c, 0x1d06, 0x0804, 0x27f9, 0x0106, + 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, + 0x2183, 0x080c, 0x1a9c, 0x0804, 0x27f9, 0x0106, 0x0006, 0x0126, + 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x2183, 0x080c, + 0x1a9c, 0x080c, 0x1d06, 0x0804, 0x27f9, 0x0106, 0x0006, 0x0126, + 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x2183, 0x080c, + 0x1ade, 0x0804, 0x27f9, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, + 0x0136, 0x0146, 0x0156, 0x080c, 0x2183, 0x080c, 0x1d06, 0x080c, + 0x1ade, 0x0804, 0x27f9, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, + 0x0136, 0x0146, 0x0156, 0x080c, 0x2183, 0x080c, 0x1a9c, 0x080c, + 0x1ade, 0x0804, 0x27f9, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, + 0x0136, 0x0146, 0x0156, 0x080c, 0x2183, 0x080c, 0x1a9c, 0x080c, + 0x1d06, 0x080c, 0x1ade, 0x0804, 0x27f9, 0x0106, 0x0006, 0x0126, + 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x2183, 0x080c, + 0x112f, 0x0804, 0x27f9, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, + 0x0136, 0x0146, 0x0156, 0x080c, 0x2183, 0x080c, 0x1d06, 0x080c, + 0x112f, 0x0804, 0x27f9, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, + 0x0136, 0x0146, 0x0156, 0x080c, 0x2183, 0x080c, 0x1a9c, 0x080c, + 0x112f, 0x0804, 0x27f9, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, + 0x0136, 0x0146, 0x0156, 0x080c, 0x2183, 0x080c, 0x1d06, 0x080c, + 0x112f, 0x080c, 0x1ade, 0x0804, 0x27f9, 0x0106, 0x0006, 0x0126, + 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x2183, 0x080c, + 0x1a9c, 0x080c, 0x1d06, 0x080c, 0x112f, 0x0498, 0x0106, 0x0006, + 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x2183, + 0x080c, 0x1a9c, 0x080c, 0x112f, 0x080c, 0x1ade, 0x0410, 0x0106, + 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, + 0x2183, 0x080c, 0x112f, 0x080c, 0x1ade, 0x0098, 0x0106, 0x0006, + 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x2183, + 0x080c, 0x1a9c, 0x080c, 0x1d06, 0x080c, 0x112f, 0x080c, 0x1ade, + 0x0000, 0x015e, 0x014e, 0x013e, 0x01de, 0x01ce, 0x012e, 0x000e, + 0x010e, 0x000d, 0x00c6, 0x0026, 0x0046, 0x2021, 0x0000, 0x080c, + 0x5c59, 0x1904, 0x290d, 0x72d4, 0x2001, 0x1320, 0x2004, 0x9005, + 0x1110, 0xd29c, 0x0148, 0xd284, 0x1138, 0xd2bc, 0x1904, 0x290d, + 0x080c, 0x2911, 0x0804, 0x290d, 0xd2cc, 0x1904, 0x290d, 0x080c, + 0x672f, 0x1120, 0x70a3, 0xffff, 0x0804, 0x290d, 0xd294, 0x0120, + 0x70a3, 0xffff, 0x0804, 0x290d, 0x2001, 0x1174, 0x2004, 0xd0bc, + 0x0120, 0x70a3, 0xffff, 0x0804, 0x290d, 0x2001, 0x1116, 0x203c, + 0x728c, 0xd284, 0x0904, 0x289c, 0xd28c, 0x1904, 0x289c, 0x0036, + 0x73a0, 0x938e, 0xffff, 0x1110, 0x2019, 0x0001, 0x8314, 0x92e0, + 0x1680, 0x2c04, 0x938c, 0x0001, 0x0120, 0x9084, 0xff00, 0x8007, + 0x0010, 0x9084, 0x00ff, 0x970e, 0x05e8, 0x908e, 0x0000, 0x05d0, + 0x908e, 0x00ff, 0x1150, 0x7230, 0xd284, 0x15c8, 0x728c, 0xc28d, + 0x728e, 0x70a3, 0xffff, 0x003e, 0x04b8, 0x2009, 0x0000, 0x080c, + 0x2098, 0x080c, 0x5938, 0x1548, 0x9006, 0x60b2, 0x60b6, 0x60bb, + 0x0520, 0x60ac, 0x9005, 0x0148, 0x00c6, 0x2060, 0x080c, 0x7b66, + 0x00ce, 0x090c, 0x7ed7, 0x60af, 0x0000, 0x6004, 0x9084, 0x00ff, + 0x9086, 0x0006, 0x1150, 0x7030, 0xd08c, 0x0118, 0x6000, 0xd0bc, + 0x0120, 0x080c, 0x2924, 0x0148, 0x0028, 0x080c, 0x2a4f, 0x080c, + 0x2952, 0x0118, 0x8318, 0x0804, 0x2846, 0x73a2, 0x0010, 0x70a3, + 0xffff, 0x003e, 0x0804, 0x290d, 0x9780, 0x2b33, 0x203d, 0x97bc, + 0xff00, 0x873f, 0x2041, 0x007e, 0x70a0, 0x9096, 0xffff, 0x1120, + 0x2009, 0x0000, 0x28a8, 0x0050, 0x9812, 0x0220, 0x2008, 0x9802, + 0x20a8, 0x0020, 0x70a3, 0xffff, 0x0804, 0x290d, 0x2700, 0x0156, + 0x0016, 0x9106, 0x0904, 0x2902, 0xc484, 0x080c, 0x598f, 0x0128, + 0x080c, 0x5938, 0x1904, 0x290a, 0x0008, 0xc485, 0x9006, 0x60b2, + 0x60b6, 0x60bb, 0x0520, 0x60ac, 0x9005, 0x0148, 0x00c6, 0x2060, + 0x080c, 0x7b66, 0x00ce, 0x090c, 0x7ed7, 0x60af, 0x0000, 0x6004, + 0x9084, 0x00ff, 0x9086, 0x0006, 0x1130, 0x7030, 0xd08c, 0x01e8, + 0x6000, 0xd0bc, 0x11d0, 0x728c, 0xd28c, 0x0188, 0x6004, 0x9084, + 0x00ff, 0x9082, 0x0006, 0x02b0, 0xd484, 0x1118, 0x080c, 0x5957, + 0x0028, 0x080c, 0x2ad9, 0x0170, 0x080c, 0x2b06, 0x0058, 0x080c, + 0x2a4f, 0x080c, 0x2952, 0x0170, 0x0028, 0x080c, 0x2ad9, 0x0110, + 0x0419, 0x0140, 0x001e, 0x8108, 0x015e, 0x1f04, 0x28b6, 0x70a3, + 0xffff, 0x0018, 0x001e, 0x015e, 0x71a2, 0x004e, 0x002e, 0x00ce, + 0x0005, 0x00c6, 0x0016, 0x70a3, 0x0001, 0x2009, 0x007e, 0x080c, + 0x5938, 0x1138, 0x080c, 0x2a4f, 0x04a9, 0x0118, 0x70d4, 0xc0bd, + 0x70d6, 0x001e, 0x00ce, 0x0005, 0x0016, 0x0076, 0x00d6, 0x00c6, + 0x2c68, 0x2001, 0x1157, 0x2004, 0x9084, 0x00ff, 0x6842, 0x080c, + 0x9f24, 0x01d8, 0x2d00, 0x6012, 0x080c, 0xbd78, 0x6023, 0x0001, + 0x2001, 0x0000, 0x080c, 0x58d6, 0x2001, 0x0000, 0x080c, 0x58e8, + 0x0126, 0x2091, 0x8000, 0x709c, 0x8000, 0x709e, 0x012e, 0x2009, + 0x0004, 0x080c, 0x9f51, 0x9085, 0x0001, 0x00ce, 0x00de, 0x007e, + 0x001e, 0x0005, 0x0016, 0x0076, 0x00d6, 0x00c6, 0x2c68, 0x2001, + 0x1157, 0x2004, 0x9084, 0x00ff, 0x6842, 0x080c, 0x9f24, 0x0550, + 0x2d00, 0x6012, 0x6800, 0xc0c4, 0x6802, 0x68a0, 0x9086, 0x007e, + 0x0140, 0x6804, 0x9084, 0x00ff, 0x9086, 0x0006, 0x1110, 0x080c, + 0x2a10, 0x080c, 0xbd78, 0x6023, 0x0001, 0x2001, 0x0000, 0x080c, + 0x58d6, 0x2001, 0x0002, 0x080c, 0x58e8, 0x0126, 0x2091, 0x8000, + 0x709c, 0x8000, 0x709e, 0x012e, 0x2009, 0x0002, 0x080c, 0x9f51, + 0x9085, 0x0001, 0x00ce, 0x00de, 0x007e, 0x001e, 0x0005, 0x00c6, + 0x0026, 0x2009, 0x0080, 0x080c, 0x5938, 0x1120, 0x0031, 0x0110, + 0x70db, 0xffff, 0x002e, 0x00ce, 0x0005, 0x0016, 0x0076, 0x00d6, + 0x00c6, 0x2c68, 0x080c, 0x9e84, 0x01d8, 0x2d00, 0x6012, 0x080c, + 0xbd78, 0x6023, 0x0001, 0x2001, 0x0000, 0x080c, 0x58d6, 0x2001, + 0x0002, 0x080c, 0x58e8, 0x0126, 0x2091, 0x8000, 0x70dc, 0x8000, + 0x70de, 0x012e, 0x2009, 0x0002, 0x080c, 0x9f51, 0x9085, 0x0001, + 0x00ce, 0x00de, 0x007e, 0x001e, 0x0005, 0x00c6, 0x00d6, 0x0126, + 0x2091, 0x8000, 0x2009, 0x007f, 0x080c, 0x5938, 0x1190, 0x2c68, + 0x080c, 0x9e84, 0x0170, 0x2d00, 0x6012, 0x6316, 0x6023, 0x0001, + 0x620a, 0x080c, 0xbd78, 0x2009, 0x0022, 0x080c, 0x9f51, 0x9085, + 0x0001, 0x012e, 0x00de, 0x00ce, 0x0005, 0x00e6, 0x00c6, 0x0066, + 0x0036, 0x0026, 0x080c, 0x8470, 0x080c, 0x8409, 0x080c, 0xad05, + 0x2130, 0x81ff, 0x0128, 0x20a9, 0x007e, 0x2009, 0x0000, 0x0020, + 0x20a9, 0x007f, 0x2009, 0x0000, 0x0016, 0x080c, 0x598f, 0x1110, + 0x080c, 0x53ea, 0x001e, 0x8108, 0x1f04, 0x29fc, 0x86ff, 0x1110, + 0x080c, 0x0a68, 0x002e, 0x003e, 0x006e, 0x00ce, 0x00ee, 0x0005, + 0x00e6, 0x00c6, 0x0036, 0x0026, 0x0016, 0x6210, 0x2270, 0x72a0, + 0x0026, 0x2019, 0x0029, 0x080c, 0x8464, 0x0076, 0x2039, 0x0000, + 0x080c, 0x8356, 0x2c08, 0x080c, 0xcf02, 0x007e, 0x001e, 0x2e60, + 0x6210, 0x6314, 0x080c, 0x53ea, 0x6212, 0x6316, 0x001e, 0x002e, + 0x003e, 0x00ce, 0x00ee, 0x0005, 0x00e6, 0x0006, 0x6010, 0x9080, + 0x0028, 0x2004, 0x9086, 0x0080, 0x0150, 0x2071, 0x1100, 0x709c, + 0x9005, 0x0110, 0x8001, 0x709e, 0x000e, 0x00ee, 0x0005, 0x2071, + 0x1100, 0x70dc, 0x9005, 0x0dc0, 0x8001, 0x70de, 0x0ca8, 0x6000, + 0xc08c, 0x6002, 0x0005, 0x00f6, 0x00e6, 0x00c6, 0x0036, 0x0026, + 0x0016, 0x0156, 0x2178, 0x81ff, 0x1118, 0x20a9, 0x0001, 0x0098, + 0x2001, 0x1153, 0x2004, 0xd0c4, 0x0150, 0xd0a4, 0x0140, 0x9006, + 0x0046, 0x2020, 0x2009, 0x002d, 0x080c, 0xd1bd, 0x004e, 0x20a9, + 0x00ff, 0x2011, 0x0000, 0x0026, 0x928e, 0x007e, 0x0904, 0x2ab8, + 0x928e, 0x007f, 0x05e8, 0x928e, 0x0080, 0x05d0, 0x9288, 0x1000, + 0x210c, 0x81ff, 0x05a8, 0x8fff, 0x1148, 0x2001, 0x1341, 0x0006, + 0x2003, 0x0001, 0x04c9, 0x000e, 0x2003, 0x0000, 0x00c6, 0x2160, + 0x2001, 0x0001, 0x080c, 0x5c63, 0x00ce, 0x2019, 0x0029, 0x080c, + 0x8464, 0x0076, 0x2039, 0x0000, 0x080c, 0x8356, 0x00c6, 0x0026, + 0x2160, 0x6204, 0x9294, 0x00ff, 0x9286, 0x0006, 0x1118, 0x6007, + 0x0404, 0x0028, 0x2001, 0x0004, 0x8007, 0x9215, 0x6206, 0x002e, + 0x00ce, 0x0016, 0x2c08, 0x080c, 0xcf02, 0x001e, 0x007e, 0x2160, + 0x002e, 0x8210, 0x1f04, 0x2a73, 0x015e, 0x001e, 0x002e, 0x003e, + 0x00ce, 0x00ee, 0x00fe, 0x0005, 0x0046, 0x0026, 0x0016, 0x2001, + 0x1153, 0x2004, 0xd0c4, 0x0148, 0xd0a4, 0x0138, 0x9006, 0x2220, + 0x8427, 0x2009, 0x0029, 0x080c, 0xd1bd, 0x001e, 0x002e, 0x004e, + 0x0005, 0x0016, 0x0026, 0x0036, 0x00c6, 0x728c, 0x82ff, 0x01f8, + 0x2011, 0x1153, 0x2214, 0xd2ac, 0x11d0, 0x2100, 0x080c, 0x20ac, + 0x81ff, 0x01b8, 0x2019, 0x0001, 0x8314, 0x92e0, 0x1680, 0x2c04, + 0xd384, 0x0120, 0x9084, 0xff00, 0x8007, 0x0010, 0x9084, 0x00ff, + 0x9116, 0x0138, 0x9096, 0x00ff, 0x0110, 0x8318, 0x0c68, 0x9085, + 0x0001, 0x00ce, 0x003e, 0x002e, 0x001e, 0x0005, 0x0016, 0x00c6, + 0x0126, 0x2091, 0x8000, 0x0016, 0x0026, 0x0036, 0x2110, 0x0026, + 0x2019, 0x0029, 0x080c, 0x9985, 0x002e, 0x080c, 0xd50a, 0x003e, + 0x002e, 0x001e, 0x9180, 0x1000, 0x2004, 0x9065, 0x0158, 0x0016, + 0x00c6, 0x2061, 0x1402, 0x001e, 0x6112, 0x080c, 0x2a10, 0x001e, + 0x080c, 0x5957, 0x012e, 0x00ce, 0x001e, 0x0005, 0x2001, 0x1135, + 0x2004, 0xd0cc, 0x0005, 0x7eef, 0x7de8, 0x7ce4, 0x80e2, 0x7be1, + 0x80e0, 0x80dc, 0x80da, 0x7ad9, 0x80d6, 0x80d5, 0x80d4, 0x80d3, + 0x80d2, 0x80d1, 0x79ce, 0x78cd, 0x80cc, 0x80cb, 0x80ca, 0x80c9, + 0x80c7, 0x80c6, 0x77c5, 0x76c3, 0x80bc, 0x80ba, 0x75b9, 0x80b6, + 0x74b5, 0x73b4, 0x72b3, 0x80b2, 0x80b1, 0x80ae, 0x71ad, 0x80ac, + 0x70ab, 0x6faa, 0x6ea9, 0x80a7, 0x6da6, 0x6ca5, 0x6ba3, 0x6a9f, + 0x699e, 0x689d, 0x809b, 0x8098, 0x6797, 0x6690, 0x658f, 0x6488, + 0x6384, 0x6282, 0x8081, 0x8080, 0x617c, 0x607a, 0x8079, 0x5f76, + 0x8075, 0x8074, 0x8073, 0x8072, 0x8071, 0x806e, 0x5e6d, 0x806c, + 0x5d6b, 0x5c6a, 0x5b69, 0x8067, 0x5a66, 0x5965, 0x5863, 0x575c, + 0x565a, 0x5559, 0x8056, 0x8055, 0x5454, 0x5353, 0x5252, 0x5151, + 0x504e, 0x4f4d, 0x804c, 0x804b, 0x4e4a, 0x4d49, 0x8047, 0x4c46, + 0x8045, 0x8043, 0x803c, 0x803a, 0x8039, 0x8036, 0x4b35, 0x8034, + 0x4a33, 0x4932, 0x4831, 0x802e, 0x472d, 0x462c, 0x452b, 0x442a, + 0x4329, 0x4227, 0x8026, 0x8025, 0x4123, 0x401f, 0x3f1e, 0x3e1d, + 0x3d1b, 0x3c18, 0x8017, 0x8010, 0x3b0f, 0x3a08, 0x8004, 0x3902, + 0x8001, 0x8000, 0x8000, 0x3800, 0x3700, 0x3600, 0x8000, 0x3500, + 0x8000, 0x8000, 0x8000, 0x3400, 0x8000, 0x8000, 0x8000, 0x8000, + 0x8000, 0x8000, 0x3300, 0x3200, 0x8000, 0x8000, 0x8000, 0x8000, + 0x8000, 0x8000, 0x3100, 0x3000, 0x8000, 0x8000, 0x2f00, 0x8000, + 0x2e00, 0x2d00, 0x2c00, 0x8000, 0x8000, 0x8000, 0x2b00, 0x8000, + 0x2a00, 0x2900, 0x2800, 0x8000, 0x2700, 0x2600, 0x2500, 0x2400, + 0x2300, 0x2200, 0x8000, 0x8000, 0x2100, 0x2000, 0x1f00, 0x1e00, + 0x1d00, 0x1c00, 0x8000, 0x8000, 0x1b00, 0x1a00, 0x8000, 0x1900, + 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x1800, 0x8000, + 0x1700, 0x1600, 0x1500, 0x8000, 0x1400, 0x1300, 0x1200, 0x1100, + 0x1000, 0x0f00, 0x8000, 0x8000, 0x0e00, 0x0d00, 0x0c00, 0x0b00, + 0x0a00, 0x0900, 0x8000, 0x8000, 0x0800, 0x0700, 0x8000, 0x0600, + 0x8000, 0x8000, 0x8000, 0x0500, 0x0400, 0x0300, 0x8000, 0x0200, + 0x8000, 0x8000, 0x8000, 0x0100, 0x8000, 0x8000, 0x8000, 0x8000, + 0x8000, 0x8000, 0x0000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, + 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, + 0x8000, 0x8000, 0x8000, 0x2071, 0x11a9, 0x7003, 0x0002, 0x9006, + 0x7012, 0x7016, 0x7042, 0x7046, 0x703a, 0x703e, 0x7033, 0x11c0, + 0x7037, 0x11c0, 0x7007, 0x0001, 0x2061, 0x1200, 0x6003, 0x0002, + 0x0005, 0x1004, 0x2c58, 0x0e04, 0x2c58, 0x2071, 0x11a9, 0x2b78, + 0x2a60, 0x7880, 0x908e, 0x0069, 0x1904, 0x2d46, 0x0804, 0x2cd4, + 0x0005, 0x2071, 0x11a9, 0x7004, 0x0002, 0x2c61, 0x2c62, 0x2c69, + 0x2c7a, 0x0005, 0x1004, 0x2c68, 0x0e04, 0x2c68, 0x2b78, 0x00e8, + 0x0005, 0x2b78, 0x2061, 0x1200, 0x6008, 0x908e, 0x0100, 0x0128, + 0x9086, 0x0200, 0x0904, 0x2d40, 0x0005, 0x7014, 0x2068, 0x2a60, + 0x7018, 0x0807, 0x7010, 0x2068, 0x6864, 0x9086, 0x0103, 0x0108, + 0x0005, 0x2a60, 0x2b78, 0x7018, 0x0807, 0x2a60, 0x7880, 0x908a, + 0x0040, 0x1210, 0x61c8, 0x0042, 0x2100, 0x908a, 0x003f, 0x1a04, + 0x2d3d, 0x61c8, 0x0804, 0x2cd4, 0x2d16, 0x2d4c, 0x2d56, 0x2d5a, + 0x2d64, 0x2d6a, 0x2d6e, 0x2d7e, 0x2d81, 0x2d8b, 0x2d90, 0x2d95, + 0x2da0, 0x2dab, 0x2dba, 0x2dc9, 0x2dd7, 0x2dee, 0x2e09, 0x2e8d, + 0x2e92, 0x2ed0, 0x2f80, 0x2f91, 0x2fb0, 0x2d3d, 0x2d3d, 0x2d3d, + 0x2fe8, 0x3007, 0x3010, 0x3043, 0x3049, 0x2d3d, 0x3072, 0x2d3d, + 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x307d, 0x3087, 0x308f, 0x2d3d, + 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x3091, 0x2d3d, + 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x30ae, 0x3104, 0x2d3d, 0x2d3d, + 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x0002, 0x312e, 0x3182, 0x31dd, + 0x31f0, 0x3221, 0x349c, 0x2d3d, 0x4785, 0x2d3d, 0x2d3d, 0x2d3d, + 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d8b, 0x2d90, 0x3903, + 0x2d3d, 0x3915, 0x4824, 0x487f, 0x492c, 0x2d3d, 0x4991, 0x49bd, + 0x49e2, 0x4af3, 0x4a14, 0x4a6d, 0x2d3d, 0x3919, 0x3ad6, 0x3aec, + 0x3b0a, 0x3b6f, 0x3bda, 0x3be5, 0x3c4f, 0x3c5e, 0x3c6d, 0x3c70, + 0x3c93, 0x3ce6, 0x3d60, 0x3d6d, 0x3e70, 0x3fb3, 0x3fdc, 0x41c5, + 0x41e7, 0x41f3, 0x426f, 0x4347, 0x43a1, 0x2d3d, 0x4452, 0x2d3d, + 0x44ba, 0x44d5, 0x4687, 0x4741, 0x7144, 0x0000, 0x2021, 0x4000, + 0x080c, 0x4092, 0x0126, 0x2091, 0x8000, 0x0e04, 0x2d20, 0x0010, + 0x012e, 0x0cc0, 0x7c36, 0x9486, 0x4000, 0x0118, 0x7833, 0x0011, + 0x0010, 0x7833, 0x0010, 0x7c82, 0x7986, 0x7a8a, 0x7b8e, 0x2091, + 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, 0x190c, 0x0f80, 0x7007, + 0x0001, 0x2091, 0x5000, 0x012e, 0x0005, 0x2021, 0x4001, 0x08c0, + 0x2021, 0x4002, 0x08a8, 0x2021, 0x4003, 0x0890, 0x2021, 0x4005, + 0x0878, 0x2021, 0x4006, 0x0860, 0x2039, 0x0001, 0x902e, 0x2520, + 0x7b88, 0x7a8c, 0x7884, 0x7990, 0x0804, 0x409f, 0x7883, 0x0004, + 0x7884, 0x0807, 0x2039, 0x0001, 0x902e, 0x2520, 0x7b88, 0x7a8c, + 0x7884, 0x7990, 0x0804, 0x40a2, 0x7984, 0x7888, 0x2114, 0x200a, + 0x0804, 0x2d16, 0x7984, 0x2114, 0x0804, 0x2d16, 0x20e1, 0x0000, + 0x2099, 0x0021, 0x20e9, 0x0000, 0x20a1, 0x0021, 0x20a9, 0x001f, + 0x4003, 0x7984, 0x7a88, 0x7b8c, 0x0804, 0x2d16, 0x7884, 0x2060, + 0x04d8, 0x2009, 0x0003, 0x2011, 0x0001, 0x2019, 0x000b, 0x789b, + 0x0037, 0x0804, 0x2d16, 0x2039, 0x0001, 0x7d98, 0x7c9c, 0x0800, + 0x2039, 0x0001, 0x7d98, 0x7c9c, 0x0848, 0x79a0, 0x9182, 0x0040, + 0x0210, 0x0804, 0x2d49, 0x2138, 0x7d98, 0x7c9c, 0x0804, 0x2d50, + 0x79a0, 0x9182, 0x0040, 0x0210, 0x0804, 0x2d49, 0x2138, 0x7d98, + 0x7c9c, 0x0804, 0x2d5e, 0x79a0, 0x9182, 0x0040, 0x0210, 0x0804, + 0x2d49, 0x21e8, 0x7984, 0x7888, 0x20a9, 0x0001, 0x21a0, 0x4004, + 0x0804, 0x2d16, 0x2061, 0x0800, 0xe10c, 0x9006, 0x2c15, 0x9200, + 0x8c60, 0x8109, 0x1dd8, 0x2010, 0x9005, 0x0904, 0x2d16, 0x0804, + 0x2d43, 0x79a0, 0x9182, 0x0040, 0x0210, 0x0804, 0x2d49, 0x21e0, + 0x20a9, 0x0001, 0x7984, 0x2198, 0x4012, 0x0804, 0x2d16, 0x2069, + 0x1152, 0x7884, 0x7990, 0x911a, 0x1a04, 0x2d49, 0x8019, 0x0904, + 0x2d49, 0x684a, 0x6942, 0x788c, 0x6852, 0x7888, 0x6856, 0x9006, + 0x685a, 0x685e, 0x080c, 0x69fb, 0x0804, 0x2d16, 0x2069, 0x1152, + 0x7884, 0x7994, 0x911a, 0x1a04, 0x2d49, 0x8019, 0x0904, 0x2d49, + 0x684e, 0x6946, 0x788c, 0x6862, 0x7888, 0x6866, 0x9006, 0x686a, + 0x686e, 0x0126, 0x2091, 0x8000, 0x080c, 0x5d09, 0x012e, 0x0804, + 0x2d16, 0x902e, 0x2520, 0x81ff, 0x1904, 0x2d46, 0x7984, 0x7b88, + 0x7a8c, 0x20a9, 0x0005, 0x20e9, 0x0001, 0x20a1, 0x11b0, 0x4101, + 0x080c, 0x404c, 0x0904, 0x2d46, 0x2009, 0x0020, 0x2039, 0x0001, + 0x080c, 0x409f, 0x701b, 0x2e25, 0x0005, 0x6864, 0x2008, 0x9084, + 0x00ff, 0x9096, 0x0011, 0x0138, 0x9096, 0x0019, 0x0120, 0x9096, + 0x0015, 0x1904, 0x2d46, 0x810f, 0x918c, 0x00ff, 0x0904, 0x2d46, + 0x710e, 0x700c, 0x8001, 0x0538, 0x700e, 0x080c, 0x404c, 0x0904, + 0x2d46, 0x2009, 0x0020, 0x2061, 0x1200, 0x6228, 0x632c, 0x6430, + 0x6534, 0x9290, 0x0040, 0x9399, 0x0000, 0x94a1, 0x0000, 0x95a9, + 0x0000, 0x2039, 0x0001, 0x080c, 0x409f, 0x701b, 0x2e58, 0x0005, + 0x6864, 0x9084, 0x00ff, 0x9096, 0x0002, 0x0120, 0x9096, 0x000a, + 0x1904, 0x2d46, 0x08b0, 0x7010, 0x2068, 0x6868, 0xc0fd, 0x686a, + 0x080c, 0x584d, 0x1128, 0x7007, 0x0003, 0x701b, 0x2e72, 0x0005, + 0x080c, 0x61de, 0x0126, 0x2091, 0x8000, 0x20a9, 0x0005, 0x20e1, + 0x0001, 0x2099, 0x11b0, 0x400a, 0x2100, 0x9210, 0x9399, 0x0000, + 0x94a1, 0x0000, 0x95a9, 0x0000, 0x9d80, 0x0019, 0x2009, 0x0020, + 0x012e, 0x2039, 0x0001, 0x0804, 0x40a2, 0x61b0, 0x7884, 0x60b2, + 0x0804, 0x2d16, 0x2091, 0x8000, 0x7837, 0x4000, 0x7833, 0x0010, + 0x7883, 0x4000, 0x7887, 0x4953, 0x788b, 0x5020, 0x788f, 0x2020, + 0x2009, 0x017f, 0x2104, 0x7892, 0x3f00, 0x7896, 0x2061, 0x0100, + 0x6200, 0x2061, 0x0200, 0x603c, 0x8007, 0x9205, 0x789a, 0x2009, + 0x04fd, 0x2104, 0x789e, 0x2091, 0x5000, 0x2091, 0x4080, 0x2001, + 0x0089, 0x2004, 0xd084, 0x0180, 0x2001, 0x13ae, 0x2004, 0x9005, + 0x0128, 0x2001, 0x008b, 0x2004, 0xd0fc, 0x0dd8, 0x2001, 0x008a, + 0x2003, 0x0002, 0x2003, 0x1001, 0x2071, 0x0080, 0x0804, 0x0427, + 0x81ff, 0x1904, 0x2d46, 0x7984, 0x810f, 0x918c, 0x00ff, 0x080c, + 0x598f, 0x1904, 0x2d49, 0x7e98, 0x9684, 0x3fff, 0x9082, 0x4000, + 0x0210, 0x0804, 0x2d49, 0x7c88, 0x7d8c, 0x080c, 0x5ae0, 0x080c, + 0x5ab0, 0x0000, 0x1518, 0x2061, 0x16c0, 0x0126, 0x2091, 0x8000, + 0x6000, 0x9086, 0x0000, 0x0148, 0x6014, 0x906d, 0x0130, 0x686c, + 0x9406, 0x1118, 0x6870, 0x9506, 0x0150, 0x012e, 0x9ce0, 0x0018, + 0x2001, 0x1118, 0x2004, 0x9c02, 0x1a04, 0x2d46, 0x0c30, 0x080c, + 0xb613, 0x012e, 0x0904, 0x2d46, 0x0804, 0x2d16, 0x900e, 0x2001, + 0x0005, 0x080c, 0x61de, 0x0126, 0x2091, 0x8000, 0x080c, 0xbc21, + 0x080c, 0x5fa7, 0x012e, 0x0804, 0x2d16, 0x00f6, 0x2d78, 0x7998, + 0x810f, 0x918c, 0x00ff, 0x080c, 0x598f, 0x1904, 0x2f6b, 0x7ea4, + 0x9684, 0x3fff, 0x9082, 0x4000, 0x0208, 0x04e8, 0x7c9c, 0x7da0, + 0x080c, 0x5ae0, 0x080c, 0x5ab0, 0x1520, 0x2061, 0x16c0, 0x0126, + 0x2091, 0x8000, 0x6000, 0x9086, 0x0000, 0x0148, 0x6014, 0x906d, + 0x0130, 0x686c, 0x9406, 0x1118, 0x6870, 0x9506, 0x0158, 0x012e, + 0x9ce0, 0x0018, 0x2001, 0x1118, 0x2004, 0x9c02, 0x2009, 0x000d, + 0x12b0, 0x0c28, 0x080c, 0xb613, 0x012e, 0x2009, 0x0003, 0x0178, + 0x00e8, 0x900e, 0x2001, 0x0005, 0x080c, 0x61de, 0x0126, 0x2091, + 0x8000, 0x080c, 0xbc21, 0x080c, 0x5fa7, 0x012e, 0x0078, 0x7897, + 0x4005, 0x799a, 0x0010, 0x7897, 0x4006, 0x9085, 0x0001, 0x2001, + 0x0030, 0x2009, 0x0000, 0x2f68, 0x00fe, 0x0005, 0x7897, 0x4000, + 0x9006, 0x918d, 0x0001, 0x2009, 0x0000, 0x2f68, 0x00fe, 0x0005, + 0x81ff, 0x1904, 0x2d46, 0x080c, 0x4061, 0x0904, 0x2d49, 0x080c, + 0x5a52, 0x0904, 0x2d46, 0x080c, 0x5ae6, 0x0904, 0x2d46, 0x0804, + 0x2d16, 0x81ff, 0x1904, 0x2d46, 0x080c, 0x4083, 0x0904, 0x2d49, + 0x080c, 0x5b2e, 0x0904, 0x2d46, 0x2019, 0x0005, 0x7984, 0x080c, + 0x5b01, 0x0904, 0x2d46, 0x7888, 0x908a, 0x1000, 0x1a04, 0x2d49, + 0x8003, 0x800b, 0x810b, 0x9108, 0x080c, 0x7744, 0x0804, 0x2d16, + 0x0126, 0x2091, 0x8000, 0x81ff, 0x0118, 0x2009, 0x0001, 0x0450, + 0x2029, 0x00ff, 0x6454, 0x2400, 0x9506, 0x01f8, 0x2508, 0x080c, + 0x598f, 0x11d8, 0x080c, 0x5b2e, 0x1128, 0x2009, 0x0002, 0x62b8, + 0x2518, 0x00c0, 0x2019, 0x0004, 0x900e, 0x080c, 0x5b01, 0x1118, + 0x2009, 0x0006, 0x0078, 0x7884, 0x908a, 0x1000, 0x1270, 0x8003, + 0x800b, 0x810b, 0x9108, 0x080c, 0x7744, 0x8529, 0x1ae0, 0x012e, + 0x0804, 0x2d16, 0x012e, 0x0804, 0x2d46, 0x012e, 0x0804, 0x2d49, + 0x080c, 0x4061, 0x0904, 0x2d49, 0x080c, 0x5a52, 0x0904, 0x2d46, + 0x62a0, 0x2019, 0x0005, 0x00c6, 0x2061, 0x0000, 0x080c, 0x8464, + 0x0076, 0x2039, 0x0000, 0x080c, 0x8356, 0x2009, 0x0000, 0x080c, + 0xcf02, 0x007e, 0x00ce, 0x080c, 0x5ae0, 0x0804, 0x2d16, 0x080c, + 0x4061, 0x0904, 0x2d49, 0x080c, 0x5ae0, 0x2208, 0x0804, 0x2d16, + 0x0156, 0x00d6, 0x00e6, 0x2069, 0x1256, 0x6810, 0x6914, 0x910a, + 0x1210, 0x2009, 0x0000, 0x6816, 0x2011, 0x0000, 0x2019, 0x0000, + 0x20a9, 0x007e, 0x2069, 0x1000, 0x2d04, 0x9075, 0x0118, 0x704c, + 0x0059, 0x9210, 0x8d68, 0x1f04, 0x3024, 0x2300, 0x9218, 0x00ee, + 0x00de, 0x015e, 0x0804, 0x2d16, 0x00f6, 0x0016, 0x907d, 0x0140, + 0x2001, 0x0000, 0x8000, 0x2f0c, 0x81ff, 0x0110, 0x2178, 0x0cd0, + 0x001e, 0x00fe, 0x0005, 0x2069, 0x1256, 0x6910, 0x62b4, 0x0804, + 0x2d16, 0x81ff, 0x1904, 0x2d46, 0x6154, 0x9190, 0x2b33, 0x2215, + 0x9294, 0x00ff, 0x6374, 0x83ff, 0x0108, 0x6278, 0x67d4, 0xd79c, + 0x0118, 0x2031, 0x0001, 0x0090, 0xd7ac, 0x0118, 0x2031, 0x0003, + 0x0068, 0xd7a4, 0x0118, 0x2031, 0x0002, 0x0040, 0x080c, 0x672f, + 0x1118, 0x2031, 0x0004, 0x0010, 0x2031, 0x0000, 0x7e9a, 0x7f9e, + 0x0804, 0x2d16, 0x6144, 0x6248, 0x2019, 0x1339, 0x231c, 0x2001, + 0x133a, 0x2004, 0x789a, 0x0804, 0x2d16, 0x0126, 0x2091, 0x8000, + 0x6134, 0x9006, 0x2010, 0x633c, 0x012e, 0x0804, 0x2d16, 0x080c, + 0x4083, 0x0904, 0x2d49, 0x6244, 0x6338, 0x0804, 0x2d16, 0x080c, + 0x0d52, 0x6144, 0x6248, 0x7884, 0x6046, 0x7b88, 0x634a, 0x2069, + 0x1152, 0x831f, 0x9305, 0x6816, 0x788c, 0x2069, 0x1339, 0x2d1c, + 0x206a, 0x7e98, 0x9682, 0x0014, 0x1210, 0x2031, 0x07d0, 0x2069, + 0x133a, 0x2d04, 0x266a, 0x789a, 0x0804, 0x2d16, 0x0126, 0x2091, + 0x8000, 0x7884, 0x6036, 0xd0c4, 0x01a8, 0x00d6, 0x78a8, 0x2009, + 0x1350, 0x200a, 0x78ac, 0x2011, 0x1351, 0x2012, 0x2069, 0x0100, + 0x6838, 0x9086, 0x0007, 0x1118, 0x2214, 0x6a5a, 0x0010, 0x210c, + 0x695a, 0x00de, 0x7884, 0xd0b4, 0x0120, 0x3b00, 0x9084, 0xff3f, + 0x20d8, 0x2011, 0x0114, 0x220c, 0x7888, 0xd08c, 0x0118, 0x918d, + 0x0080, 0x0010, 0x918c, 0xff7f, 0x2112, 0x788c, 0x603e, 0x012e, + 0x0804, 0x2d16, 0x00f6, 0x2079, 0x1100, 0x7a34, 0x6898, 0x9084, + 0xfeff, 0x9215, 0x689c, 0x9084, 0xfeff, 0x8002, 0x9214, 0xd2b4, + 0x0120, 0x3b00, 0x9084, 0xff3f, 0x20d8, 0x7834, 0xd0c4, 0x0108, + 0xc2c5, 0x7a36, 0x6897, 0x4000, 0x2001, 0x0000, 0x918d, 0x0001, + 0x2009, 0x0000, 0x00fe, 0x0005, 0x7898, 0x9005, 0x01a8, 0x7888, + 0x9025, 0x0904, 0x2d49, 0x788c, 0x902d, 0x0904, 0x2d49, 0x900e, + 0x080c, 0x598f, 0x1120, 0x6244, 0x6338, 0x6446, 0x653a, 0x9186, + 0x00ff, 0x0190, 0x8108, 0x0ca0, 0x080c, 0x4083, 0x0904, 0x2d49, + 0x7888, 0x900d, 0x0904, 0x2d49, 0x788c, 0x9005, 0x0904, 0x2d49, + 0x6244, 0x6146, 0x6338, 0x603a, 0x0804, 0x2d16, 0x2001, 0x1100, + 0x2004, 0x9086, 0x0003, 0x1904, 0x2d46, 0x00c6, 0x2061, 0x0100, + 0x7984, 0x810f, 0x918c, 0x00ff, 0x9196, 0x00ff, 0x1130, 0x2001, + 0x1116, 0x2004, 0x9085, 0xff00, 0x0078, 0x9182, 0x007f, 0x16a0, + 0x9188, 0x2b33, 0x210d, 0x918c, 0x00ff, 0x2001, 0x1116, 0x2004, + 0x9116, 0x0550, 0x810f, 0x9105, 0x0126, 0x2091, 0x8000, 0x0006, + 0x080c, 0x9e84, 0x000e, 0x01e0, 0x6012, 0x600b, 0xbc09, 0x6023, + 0x0001, 0x080c, 0x404c, 0x01d8, 0x6867, 0x0000, 0x7007, 0x0003, + 0x6833, 0x0000, 0x6868, 0xc0fd, 0x686a, 0x701b, 0x31d6, 0x2d00, + 0x6016, 0x2009, 0x0032, 0x080c, 0x9f51, 0x012e, 0x00ce, 0x0005, + 0x012e, 0x00ce, 0x0804, 0x2d46, 0x00ce, 0x0804, 0x2d49, 0x080c, + 0x9eda, 0x0cb0, 0x2001, 0x1100, 0x2004, 0x9086, 0x0003, 0x1904, + 0x2d46, 0x00c6, 0x2061, 0x0100, 0x7984, 0x810f, 0x918c, 0x00ff, + 0x9196, 0x00ff, 0x1130, 0x2001, 0x1116, 0x2004, 0x9085, 0xff00, + 0x0078, 0x9182, 0x007f, 0x16a0, 0x9188, 0x2b33, 0x210d, 0x918c, + 0x00ff, 0x2001, 0x1116, 0x2004, 0x9116, 0x0550, 0x810f, 0x9105, + 0x0126, 0x2091, 0x8000, 0x0006, 0x080c, 0x9e84, 0x000e, 0x01e0, + 0x6012, 0x600b, 0xbc05, 0x6023, 0x0001, 0x080c, 0x404c, 0x01d8, + 0x6867, 0x0000, 0x7007, 0x0003, 0x6833, 0x0000, 0x6868, 0xc0fd, + 0x686a, 0x701b, 0x31d6, 0x2d00, 0x6016, 0x2009, 0x0032, 0x080c, + 0x9f51, 0x012e, 0x00ce, 0x0005, 0x012e, 0x00ce, 0x0804, 0x2d46, + 0x00ce, 0x0804, 0x2d49, 0x080c, 0x9eda, 0x0cb0, 0x6830, 0x9086, + 0x0100, 0x0904, 0x2d46, 0x0804, 0x2d16, 0x2061, 0x13cd, 0x0126, + 0x2091, 0x8000, 0x6000, 0xd084, 0x0140, 0x6104, 0x6208, 0x2019, + 0x1113, 0x231c, 0x012e, 0x0804, 0x2d16, 0x012e, 0x0804, 0x2d49, + 0x81ff, 0x1904, 0x2d46, 0x080c, 0x672f, 0x0904, 0x2d46, 0x0126, + 0x2091, 0x8000, 0x624c, 0x606c, 0x9202, 0x0248, 0x9085, 0x0001, + 0x080c, 0x20e2, 0x080c, 0x4cd7, 0x012e, 0x0804, 0x2d16, 0x012e, + 0x0804, 0x2d49, 0x0006, 0x0016, 0x00c6, 0x00e6, 0x2001, 0x1359, + 0x2070, 0x2061, 0x1152, 0x6008, 0x2072, 0x2009, 0x0000, 0x2011, + 0x1400, 0x080c, 0x8130, 0x7206, 0x00ee, 0x00ce, 0x001e, 0x000e, + 0x0005, 0x0126, 0x2091, 0x8000, 0x81ff, 0x0128, 0x012e, 0x2021, + 0x400b, 0x0804, 0x2d18, 0x7884, 0xd0fc, 0x0148, 0x2001, 0x002a, + 0x2004, 0x9082, 0x00e1, 0x02c0, 0x012e, 0x0804, 0x2d49, 0x2001, + 0x002a, 0x2004, 0x2069, 0x1152, 0x6908, 0x9102, 0x1218, 0x012e, + 0x0804, 0x2d49, 0x614c, 0x606c, 0x9106, 0x0118, 0x012e, 0x0804, + 0x2d46, 0x60d4, 0xd0ac, 0x0dd0, 0x7884, 0xd0fc, 0x0904, 0x329b, + 0x00c6, 0x080c, 0x404c, 0x00ce, 0x0d88, 0x6867, 0x0000, 0x7884, + 0x680a, 0x7898, 0x680e, 0x789c, 0x6812, 0x2001, 0x002e, 0x2004, + 0x681a, 0x2001, 0x002f, 0x2004, 0x681e, 0x2001, 0x0030, 0x2004, + 0x6822, 0x2001, 0x0031, 0x2004, 0x6826, 0x2001, 0x0034, 0x2004, + 0x682a, 0x2001, 0x0035, 0x2004, 0x682e, 0x2001, 0x002a, 0x2004, + 0x9080, 0x0003, 0x9084, 0x00fc, 0x8004, 0x6816, 0x080c, 0x33fd, + 0x0928, 0x7010, 0x2068, 0x6d2c, 0x6c28, 0x6b1c, 0x6a18, 0x6930, + 0x6808, 0xd0b4, 0x1120, 0x2029, 0x0000, 0x2021, 0x0000, 0x9d80, + 0x001b, 0x2039, 0x0001, 0x080c, 0x409f, 0x701b, 0x335e, 0x701f, + 0x0001, 0x012e, 0x0005, 0x0046, 0x0086, 0x0096, 0x00a6, 0x00b6, + 0x00c6, 0x00d6, 0x00e6, 0x00f6, 0x080c, 0x320a, 0x2001, 0x1352, + 0x2003, 0x0000, 0x2021, 0x000a, 0x2061, 0x0100, 0x6104, 0x0016, + 0x60bb, 0x0000, 0x60bf, 0x32e1, 0x60bf, 0x0012, 0x080c, 0x346d, + 0x080c, 0x342b, 0x00f6, 0x00e6, 0x00c6, 0x2d60, 0x2071, 0x13c3, + 0x2079, 0x0090, 0x00d6, 0x2069, 0x0000, 0x6884, 0xd0b4, 0x0140, + 0x2001, 0x0035, 0x2004, 0x780e, 0x2001, 0x0034, 0x2004, 0x780a, + 0x00de, 0x2011, 0x0001, 0x080c, 0x37a5, 0x00ce, 0x00ee, 0x00fe, + 0x080c, 0x36db, 0x080c, 0x360d, 0x05b8, 0x2001, 0x020b, 0x2004, + 0x9084, 0x0140, 0x1db8, 0x080c, 0x37cd, 0x00f6, 0x2079, 0x0300, + 0x78bc, 0x00fe, 0x908c, 0x0070, 0x1560, 0x2071, 0x0200, 0x7037, + 0x0000, 0x7050, 0x9084, 0xff00, 0x9086, 0x3200, 0x1510, 0x7037, + 0x0001, 0x7050, 0x9084, 0xff00, 0x9086, 0xe100, 0x11d0, 0x7037, + 0x0000, 0x7054, 0x7037, 0x0000, 0x715c, 0x9106, 0x1190, 0x2001, + 0x111e, 0x2004, 0x9106, 0x1168, 0x00c6, 0x2061, 0x0100, 0x6024, + 0x9084, 0x1e00, 0x00ce, 0x0138, 0x080c, 0x3617, 0x080c, 0x3426, + 0x0058, 0x080c, 0x3426, 0x080c, 0x373d, 0x080c, 0x36d1, 0x2001, + 0x020b, 0x2004, 0xd0e4, 0x0dd8, 0x2001, 0x032a, 0x2003, 0x0004, + 0x2061, 0x0100, 0x6027, 0x0002, 0x001e, 0x6106, 0x2011, 0x020d, + 0x2013, 0x0020, 0x60bb, 0x0000, 0x60bf, 0x0108, 0x60bf, 0x0012, + 0x2001, 0x0004, 0x200c, 0x918c, 0xfffd, 0x2102, 0x080c, 0x10bc, + 0x2009, 0x0028, 0x080c, 0x1c5b, 0x2001, 0x0227, 0x200c, 0x2102, + 0x00fe, 0x00ee, 0x00de, 0x00ce, 0x00be, 0x00ae, 0x009e, 0x008e, + 0x004e, 0x2001, 0x1352, 0x2004, 0x9005, 0x1118, 0x012e, 0x0804, + 0x2d16, 0x012e, 0x2021, 0x400c, 0x0804, 0x2d18, 0x0016, 0x0026, + 0x0036, 0x0046, 0x0056, 0x0076, 0x00d6, 0x0156, 0x7010, 0x2068, + 0x701c, 0x20a8, 0x8000, 0x701e, 0x6804, 0x9005, 0x05d0, 0x2068, + 0x1f04, 0x336c, 0x2061, 0x1200, 0x6228, 0x632c, 0x6430, 0x6534, + 0x6930, 0x6808, 0xd0b4, 0x1120, 0x2029, 0x0000, 0x2021, 0x0000, + 0x00d6, 0x7010, 0x2068, 0x6864, 0x00de, 0x9086, 0x0103, 0x0148, + 0x9d80, 0x001b, 0x2039, 0x0001, 0x080c, 0x409f, 0x701b, 0x335e, + 0x0078, 0x9d80, 0x001b, 0x21a8, 0x20a0, 0x2098, 0x0006, 0x080c, + 0x5335, 0x000e, 0x2039, 0x0001, 0x080c, 0x40a2, 0x701b, 0x335e, + 0x015e, 0x00de, 0x007e, 0x005e, 0x004e, 0x003e, 0x002e, 0x001e, + 0x0005, 0x7010, 0x2068, 0x6864, 0x9086, 0x0103, 0x1118, 0x701b, + 0x33fb, 0x00f8, 0x7010, 0x2068, 0x6868, 0xc0fd, 0x686a, 0x2009, + 0x007f, 0x080c, 0x598f, 0x080c, 0xbdc8, 0x015e, 0x00de, 0x007e, + 0x005e, 0x004e, 0x003e, 0x002e, 0x001e, 0x0904, 0x2d46, 0x0016, + 0x0026, 0x0036, 0x0046, 0x0056, 0x0076, 0x00d6, 0x0156, 0x701b, + 0x33d4, 0x7007, 0x0003, 0x0860, 0x0076, 0x6830, 0x9086, 0x0100, + 0x2021, 0x400c, 0x0904, 0x2d18, 0x6d10, 0x6c0c, 0x6b24, 0x6a20, + 0x6930, 0x6808, 0xd0b4, 0x1120, 0x2029, 0x0000, 0x2021, 0x0000, + 0x9d80, 0x001b, 0x21a8, 0x20a0, 0x2098, 0x0006, 0x080c, 0x5335, + 0x000e, 0x2039, 0x0001, 0x080c, 0x40a2, 0x007e, 0x701b, 0x335e, + 0x701f, 0x0001, 0x0005, 0x0804, 0x2d16, 0x0156, 0x00c6, 0x6814, + 0x908a, 0x001e, 0x0218, 0x6833, 0x001e, 0x0010, 0x6832, 0x0078, + 0x81ff, 0x0168, 0x0016, 0x080c, 0x404c, 0x001e, 0x0130, 0x6800, + 0x2060, 0x6008, 0x680a, 0x2100, 0x0c58, 0x9006, 0x0010, 0x9085, + 0x0001, 0x00ce, 0x015e, 0x0005, 0x0006, 0x00f6, 0x2079, 0x0000, + 0x7880, 0x9086, 0x0044, 0x00fe, 0x000e, 0x0005, 0x2001, 0x1352, + 0x2003, 0x0001, 0x0005, 0x00f6, 0x00e6, 0x00c6, 0x2061, 0x0200, + 0x2001, 0x135a, 0x2004, 0x601a, 0x2061, 0x0100, 0x2001, 0x1359, + 0x2004, 0x60ce, 0x6104, 0xc1ac, 0x6106, 0x080c, 0x404c, 0x6813, + 0x0019, 0x2070, 0x6817, 0x0001, 0x2d00, 0x685a, 0x2001, 0x002e, + 0x2004, 0x2072, 0x2001, 0x002f, 0x2004, 0x7006, 0x2061, 0x0090, + 0x2079, 0x0100, 0x2001, 0x1359, 0x2004, 0x6036, 0x2009, 0x0040, + 0x080c, 0x1c5b, 0x2001, 0x002a, 0x2004, 0x9084, 0xfff8, 0x700a, + 0x601a, 0x700f, 0x0000, 0x601f, 0x0000, 0x78ca, 0x9006, 0x600a, + 0x600e, 0x00ce, 0x00ee, 0x00fe, 0x0005, 0x00e6, 0x080c, 0x404c, + 0x2d60, 0x6013, 0x0019, 0x2070, 0x6017, 0x0001, 0x2c00, 0x605a, + 0x2001, 0x0030, 0x2004, 0x2072, 0x2001, 0x0031, 0x2004, 0x7006, + 0x2001, 0x002a, 0x2004, 0x9084, 0xfff8, 0x700a, 0x700f, 0x0000, + 0x2001, 0x032a, 0x2003, 0x0004, 0x2001, 0x0300, 0x2003, 0x0000, + 0x2001, 0x020d, 0x2003, 0x0000, 0x2001, 0x0004, 0x200c, 0x918d, + 0x0002, 0x2102, 0x00ee, 0x0005, 0x0126, 0x2091, 0x8000, 0x81ff, + 0x0148, 0x080c, 0x2482, 0x1130, 0x9006, 0x080c, 0x23de, 0x9006, + 0x080c, 0x23c1, 0x7884, 0x9084, 0x0007, 0x0002, 0x34b9, 0x34c2, + 0x34cb, 0x34b6, 0x34b6, 0x34b6, 0x34b6, 0x34b6, 0x012e, 0x0804, + 0x2d49, 0x2009, 0x0114, 0x2104, 0x9085, 0x0800, 0x200a, 0x080c, + 0x3635, 0x0080, 0x2009, 0x0114, 0x2104, 0x9085, 0x4000, 0x200a, + 0x080c, 0x3635, 0x0038, 0x81ff, 0x0128, 0x012e, 0x2021, 0x400b, + 0x0804, 0x2d18, 0x0086, 0x0096, 0x00a6, 0x00b6, 0x00c6, 0x00d6, + 0x00e6, 0x00f6, 0x080c, 0x320a, 0x2009, 0x0101, 0x210c, 0x0016, + 0x2001, 0x0032, 0x2034, 0x2001, 0x0033, 0x202c, 0x9006, 0x2048, + 0x2050, 0x2058, 0x080c, 0x3899, 0x080c, 0x37f9, 0x903e, 0x2720, + 0x00f6, 0x00e6, 0x00c6, 0x2d60, 0x2071, 0x13c3, 0x2079, 0x0090, + 0x00d6, 0x2069, 0x0000, 0x6884, 0xd0b4, 0x0140, 0x2001, 0x0035, + 0x2004, 0x780e, 0x2001, 0x0034, 0x2004, 0x780a, 0x00de, 0x2011, + 0x0001, 0x080c, 0x37a5, 0x080c, 0x37a5, 0x00ce, 0x00ee, 0x00fe, + 0x080c, 0x36db, 0x00f6, 0x2079, 0x0000, 0x7884, 0x00fe, 0xd0bc, + 0x0178, 0x2001, 0x0201, 0x200c, 0x81ff, 0x0150, 0x080c, 0x36b9, + 0x2900, 0x9a05, 0x9b05, 0x0120, 0x080c, 0x3617, 0x0804, 0x35c6, + 0x080c, 0x37cd, 0x080c, 0x373d, 0x080c, 0x369c, 0x080c, 0x36d1, + 0x00f6, 0x2079, 0x0100, 0x7824, 0xd0ac, 0x0130, 0x8b58, 0x080c, + 0x3617, 0x00fe, 0x0804, 0x35c6, 0x00fe, 0x080c, 0x360d, 0x1150, + 0x8948, 0x2001, 0x0032, 0x2602, 0x2001, 0x0033, 0x2502, 0x080c, + 0x3617, 0x0080, 0x87ff, 0x0138, 0x2001, 0x0201, 0x2004, 0x9005, + 0x1908, 0x8739, 0x0038, 0x2001, 0x13bf, 0x2004, 0x9086, 0x0000, + 0x1904, 0x3512, 0x2001, 0x032f, 0x2003, 0x00f6, 0x8631, 0x1208, + 0x8529, 0x2500, 0x9605, 0x0904, 0x35c6, 0x7884, 0xd0bc, 0x0128, + 0x2900, 0x9a05, 0x9b05, 0x1904, 0x35c6, 0x6013, 0x0019, 0x2001, + 0x032a, 0x2003, 0x0004, 0x7884, 0xd0ac, 0x1148, 0x2001, 0x13bf, + 0x2003, 0x0003, 0x2001, 0x032a, 0x2003, 0x0009, 0x0040, 0x6017, + 0x0001, 0x2001, 0x002d, 0x2004, 0x9005, 0x0108, 0x6016, 0x2c00, + 0x605a, 0x2009, 0x0040, 0x080c, 0x1c5b, 0x2d00, 0x685a, 0x6813, + 0x0019, 0x7884, 0xd0a4, 0x1180, 0x6817, 0x0000, 0x00c6, 0x20a9, + 0x0004, 0x2061, 0x0090, 0x602b, 0x0008, 0x2001, 0x0203, 0x2004, + 0x1f04, 0x359b, 0x00ce, 0x0040, 0x6817, 0x0001, 0x2001, 0x002c, + 0x2004, 0x9005, 0x0108, 0x6816, 0x00f6, 0x00c6, 0x2079, 0x0100, + 0x2061, 0x0090, 0x7827, 0x0002, 0x2001, 0x002a, 0x2004, 0x9084, + 0xfff8, 0x601a, 0x0006, 0x2001, 0x002b, 0x2004, 0x601e, 0x78c6, + 0x000e, 0x78ca, 0x00ce, 0x00fe, 0x0804, 0x34f0, 0x001e, 0x2001, + 0x032a, 0x2003, 0x0004, 0x2061, 0x0100, 0x6027, 0x0002, 0x6106, + 0x2011, 0x020d, 0x2013, 0x0020, 0x2001, 0x0004, 0x200c, 0x918c, + 0xfffd, 0x2102, 0x080c, 0x10bc, 0x7884, 0x9084, 0x0003, 0x9086, + 0x0002, 0x01a0, 0x2009, 0x0028, 0x080c, 0x1c5b, 0x2001, 0x0227, + 0x200c, 0x2102, 0x6050, 0x9084, 0xb7ef, 0x6052, 0x602f, 0x0000, + 0x604b, 0xf7f7, 0x6043, 0x0090, 0x6043, 0x0010, 0x2908, 0x2a10, + 0x2b18, 0x2b00, 0x9a05, 0x9905, 0x00fe, 0x00ee, 0x00de, 0x00ce, + 0x00be, 0x00ae, 0x009e, 0x008e, 0x1118, 0x012e, 0x0804, 0x2d16, + 0x012e, 0x2021, 0x400c, 0x0804, 0x2d18, 0x9085, 0x0001, 0x1d04, + 0x3616, 0x2091, 0x6000, 0x8420, 0x9486, 0x0064, 0x0005, 0x2001, + 0x0105, 0x2003, 0x0010, 0x2001, 0x032a, 0x2003, 0x0004, 0x2001, + 0x009a, 0x2003, 0x0004, 0x2001, 0x13bf, 0x2003, 0x0000, 0x2001, + 0x13c3, 0x2003, 0x0000, 0x2009, 0x0048, 0x080c, 0x1c5b, 0x2001, + 0x0227, 0x2024, 0x2402, 0x9026, 0x0005, 0x00f6, 0x2079, 0x0100, + 0x2001, 0x1116, 0x200c, 0x7932, 0x7936, 0x080c, 0x20c2, 0x7850, + 0x9084, 0xfbff, 0x9085, 0x0030, 0x7852, 0x2019, 0x01f4, 0x8319, + 0x1df0, 0x9084, 0xffcf, 0x9085, 0x2000, 0x7852, 0x20a9, 0x0046, + 0x1d04, 0x3650, 0x2091, 0x6000, 0x1f04, 0x3650, 0x7850, 0x9085, + 0x0400, 0x9084, 0xdfff, 0x7852, 0x2001, 0x0021, 0x2004, 0x9084, + 0x0003, 0x9086, 0x0001, 0x1120, 0x7850, 0x9084, 0xdfff, 0x7852, + 0x784b, 0xf7f7, 0x7843, 0x0090, 0x7843, 0x0010, 0x20a9, 0x0028, + 0xa001, 0x1f04, 0x3670, 0x7850, 0x9085, 0x1400, 0x7852, 0x2019, + 0x61a8, 0x7854, 0xa001, 0xa001, 0xd08c, 0x1110, 0x8319, 0x1dc8, + 0x7827, 0x0048, 0x7850, 0x9085, 0x0400, 0x7852, 0x7843, 0x0040, + 0x2019, 0x01f4, 0xa001, 0xa001, 0x8319, 0x1de0, 0x2001, 0x0140, + 0x2003, 0x0100, 0x7827, 0x0020, 0x7843, 0x0000, 0x2003, 0x0000, + 0x7827, 0x0048, 0x00fe, 0x0005, 0x7884, 0xd0ac, 0x11c8, 0x00f6, + 0x00e6, 0x2071, 0x13bf, 0x2079, 0x0320, 0x2001, 0x0201, 0x2004, + 0x9005, 0x0160, 0x7000, 0x9086, 0x0000, 0x1140, 0x0051, 0xd0bc, + 0x0108, 0x8738, 0x7003, 0x0003, 0x782b, 0x0019, 0x00ee, 0x00fe, + 0x0005, 0x00f6, 0x2079, 0x0300, 0x78bc, 0x00fe, 0x908c, 0x0070, + 0x0178, 0x2009, 0x0032, 0x260a, 0x2009, 0x0033, 0x250a, 0xd0b4, + 0x0108, 0x8a50, 0xd0ac, 0x0108, 0x8948, 0xd0a4, 0x0108, 0x8b58, + 0x0005, 0x00f6, 0x2079, 0x0200, 0x781c, 0xd084, 0x0110, 0x7837, + 0x0050, 0x00fe, 0x0005, 0x00e6, 0x2071, 0x0100, 0x2001, 0x135a, + 0x2004, 0x70e2, 0x080c, 0x341c, 0x1188, 0x2001, 0x111e, 0x2004, + 0x2009, 0x111d, 0x210c, 0x918c, 0x00ff, 0x706e, 0x716a, 0x7066, + 0x918d, 0x3200, 0x7162, 0x7073, 0xe109, 0x0080, 0x702c, 0x9085, + 0x0002, 0x702e, 0x2009, 0x1116, 0x210c, 0x716e, 0x7063, 0x0100, + 0x7166, 0x719e, 0x706b, 0x0000, 0x7073, 0x0809, 0x7077, 0x0008, + 0x7078, 0x9080, 0x0100, 0x707a, 0x7080, 0x8000, 0x7082, 0x7087, + 0xaaaa, 0x9006, 0x708a, 0x708e, 0x707e, 0x70d6, 0x70ab, 0x0036, + 0x70af, 0x95d5, 0x7014, 0x9084, 0x1984, 0x9085, 0x0012, 0x7016, + 0x080c, 0x37cd, 0x00f6, 0x2071, 0x13bf, 0x2079, 0x0320, 0x00d6, + 0x2069, 0x0000, 0x6884, 0xd0b4, 0x0120, 0x689c, 0x780e, 0x6898, + 0x780a, 0x00de, 0x2011, 0x0011, 0x080c, 0x37a5, 0x2011, 0x0001, + 0x080c, 0x37a5, 0x00fe, 0x00ee, 0x0005, 0x00f6, 0x00e6, 0x2071, + 0x13bf, 0x2079, 0x0320, 0x792c, 0xd1fc, 0x0904, 0x37a2, 0x782b, + 0x0002, 0x9026, 0xd19c, 0x1904, 0x379e, 0x7000, 0x0002, 0x37a2, + 0x3753, 0x3783, 0x379e, 0xd1bc, 0x1170, 0xd1dc, 0x1190, 0x8001, + 0x7002, 0x2011, 0x0001, 0x080c, 0x37a5, 0x0904, 0x37a2, 0x080c, + 0x37a5, 0x0804, 0x37a2, 0x00f6, 0x2079, 0x0300, 0x78bf, 0x0000, + 0x00fe, 0x7810, 0x7914, 0x782b, 0x0004, 0x7812, 0x7916, 0x2001, + 0x0201, 0x200c, 0x81ff, 0x0de8, 0x080c, 0x36b9, 0x2009, 0x0001, + 0x00f6, 0x2079, 0x0300, 0x78b8, 0x00fe, 0xd0ec, 0x0110, 0x2009, + 0x0011, 0x792a, 0x00f8, 0x8001, 0x7002, 0x9184, 0x0880, 0x1140, + 0x782c, 0xd0fc, 0x1904, 0x3747, 0x2011, 0x0001, 0x00b1, 0x0090, + 0x6010, 0x9092, 0x0004, 0x9086, 0x0015, 0x1120, 0x6000, 0x605a, + 0x2011, 0x0031, 0x6212, 0xd1dc, 0x1960, 0x0828, 0x782b, 0x0004, + 0x7003, 0x0000, 0x00ee, 0x00fe, 0x0005, 0x6014, 0x9005, 0x0520, + 0x8001, 0x6016, 0x6058, 0x6110, 0x9140, 0x2804, 0x7802, 0x8840, + 0x2804, 0x7806, 0x8840, 0x2804, 0x7812, 0x8840, 0x2804, 0x7816, + 0x8840, 0x7a2a, 0x7000, 0x8000, 0x7002, 0x6058, 0x9802, 0x908a, + 0x0029, 0x1138, 0x6058, 0x9080, 0x0001, 0x2004, 0x605a, 0x2001, + 0x0019, 0x6012, 0x9085, 0x0001, 0x0005, 0x00f6, 0x00e6, 0x00c6, + 0x2071, 0x13c3, 0x2079, 0x0090, 0x792c, 0xd1fc, 0x01f0, 0x782b, + 0x0002, 0x2d60, 0x9026, 0x7000, 0x0002, 0x37f5, 0x37e0, 0x37ec, + 0x8001, 0x7002, 0xd19c, 0x1188, 0x2011, 0x0001, 0x080c, 0x37a5, + 0x0160, 0x080c, 0x37a5, 0x0048, 0x8001, 0x7002, 0x782c, 0xd0fc, + 0x1d30, 0x2011, 0x0001, 0x080c, 0x37a5, 0x00ce, 0x00ee, 0x00fe, + 0x0005, 0x00f6, 0x00e6, 0x00c6, 0x2061, 0x0200, 0x2001, 0x135a, + 0x2004, 0x601a, 0x2061, 0x0100, 0x2001, 0x1359, 0x2004, 0x60ce, + 0x6104, 0xc1ac, 0x6106, 0x2001, 0x002c, 0x2004, 0x9005, 0x01f8, + 0x2038, 0x2001, 0x002e, 0x2024, 0x2001, 0x002f, 0x201c, 0x080c, + 0x404c, 0x6813, 0x0019, 0x6f16, 0x2d00, 0x685a, 0x978a, 0x0007, + 0x0220, 0x2138, 0x2009, 0x0007, 0x0010, 0x2708, 0x903e, 0x6858, + 0x9080, 0x0019, 0x04c1, 0x1d90, 0x2d00, 0x685a, 0x0088, 0x080c, + 0x404c, 0x6813, 0x0019, 0x2070, 0x6817, 0x0001, 0x2d00, 0x685a, + 0x2001, 0x002e, 0x2004, 0x2072, 0x2001, 0x002f, 0x2004, 0x7006, + 0x2061, 0x0090, 0x2079, 0x0100, 0x2001, 0x1359, 0x2004, 0x6036, + 0x2009, 0x0040, 0x080c, 0x1c5b, 0x2001, 0x002a, 0x2004, 0x9084, + 0xfff8, 0x700a, 0x601a, 0x0006, 0x2001, 0x002b, 0x2004, 0x700e, + 0x601e, 0x78c6, 0x000e, 0x78ca, 0x9006, 0x600a, 0x600e, 0x00ce, + 0x00ee, 0x00fe, 0x0005, 0x00e6, 0x2071, 0x0080, 0x20e9, 0x0001, + 0x20a0, 0x20e1, 0x0000, 0x2099, 0x0088, 0x702b, 0x0026, 0x7402, + 0x7306, 0x9006, 0x700a, 0x700e, 0x810b, 0x810b, 0x21a8, 0x810b, + 0x7112, 0x702b, 0x0041, 0x702c, 0xd0fc, 0x0de8, 0x702b, 0x0002, + 0x702b, 0x0040, 0x4005, 0x7400, 0x7304, 0x87ff, 0x0180, 0x00c6, + 0x00d6, 0x2d60, 0x00c6, 0x080c, 0x404c, 0x00ce, 0x6058, 0x2070, + 0x2d00, 0x7006, 0x605a, 0x00de, 0x00ce, 0x9085, 0x0001, 0x00ee, + 0x0005, 0x00e6, 0x2001, 0x002d, 0x2004, 0x9005, 0x0508, 0x2038, + 0x2001, 0x0030, 0x2024, 0x2001, 0x0031, 0x201c, 0x080c, 0x404c, + 0x2d60, 0x6813, 0x0019, 0x6f16, 0x2d00, 0x685a, 0x978a, 0x0007, + 0x0220, 0x2138, 0x2009, 0x0007, 0x0010, 0x2708, 0x903e, 0x6858, + 0x9080, 0x0019, 0x080c, 0x3863, 0x1d88, 0x2d00, 0x685a, 0x00e0, + 0x080c, 0x404c, 0x2d60, 0x6013, 0x0019, 0x2070, 0x6017, 0x0001, + 0x2c00, 0x605a, 0x2001, 0x0030, 0x2004, 0x2072, 0x2001, 0x0031, + 0x2004, 0x7006, 0x2001, 0x002a, 0x2004, 0x9084, 0xfff8, 0x700a, + 0x2001, 0x002b, 0x2004, 0x700e, 0x2001, 0x032a, 0x2003, 0x0004, + 0x7884, 0xd0ac, 0x1180, 0x2001, 0x0101, 0x200c, 0x918d, 0x0200, + 0x2102, 0x6017, 0x0000, 0x2001, 0x13bf, 0x2003, 0x0003, 0x2001, + 0x032a, 0x2003, 0x0009, 0x2001, 0x0300, 0x2003, 0x0000, 0x2001, + 0x020d, 0x2003, 0x0000, 0x2001, 0x0004, 0x200c, 0x918d, 0x0002, + 0x2102, 0x00ee, 0x0005, 0x0126, 0x2091, 0x8000, 0x20a9, 0x0012, + 0x2001, 0x1140, 0x20e9, 0x0001, 0x20a0, 0x9006, 0x4004, 0x2009, + 0x013c, 0x200a, 0x012e, 0x0804, 0x2d16, 0x7d98, 0x7c9c, 0x0804, + 0x2e0b, 0x080c, 0x672f, 0x0110, 0x080c, 0x53a2, 0x2069, 0x1152, + 0x2d00, 0x2009, 0x0030, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, 0x2039, + 0x0001, 0x080c, 0x409f, 0x701b, 0x392e, 0x0005, 0x2069, 0x1152, + 0x6800, 0x9005, 0x0904, 0x2d49, 0x6804, 0xd0ac, 0x0118, 0xd0a4, + 0x0904, 0x2d49, 0xd094, 0x00c6, 0x2061, 0x0100, 0x6104, 0x0138, + 0x6200, 0x9292, 0x0005, 0x0218, 0x918c, 0xffdf, 0x0010, 0x918d, + 0x0020, 0x6106, 0x00ce, 0xd08c, 0x00c6, 0x2061, 0x0100, 0x6104, + 0x0118, 0x918d, 0x0010, 0x0010, 0x918c, 0xffef, 0x6106, 0x00ce, + 0xd084, 0x0158, 0x6a28, 0x928a, 0x007f, 0x1a04, 0x2d49, 0x9288, + 0x2b33, 0x210d, 0x918c, 0x00ff, 0x615e, 0xd0dc, 0x0130, 0x6828, + 0x908a, 0x007f, 0x1a04, 0x2d49, 0x6056, 0x6888, 0x9084, 0x0030, + 0x8004, 0x8004, 0x8004, 0x8004, 0x0006, 0x2009, 0x1360, 0x9080, + 0x21bd, 0x2005, 0x200a, 0x000e, 0x2009, 0x1361, 0x9080, 0x21c1, + 0x2005, 0x200a, 0x6808, 0x908a, 0x0100, 0x0a04, 0x2d49, 0x908a, + 0x0841, 0x1a04, 0x2d49, 0x9084, 0x0007, 0x1904, 0x2d49, 0x680c, + 0x9005, 0x0904, 0x2d49, 0x6810, 0x9005, 0x0904, 0x2d49, 0x6848, + 0x6940, 0x910a, 0x1a04, 0x2d49, 0x8001, 0x0904, 0x2d49, 0x684c, + 0x6944, 0x910a, 0x1a04, 0x2d49, 0x8001, 0x0904, 0x2d49, 0x6980, + 0xd1e4, 0x0140, 0x00c6, 0x2061, 0x0100, 0x6004, 0x9085, 0x0100, + 0x6006, 0x00ce, 0x2009, 0x1334, 0x200b, 0x0000, 0x2001, 0x1174, + 0x2004, 0xd0c4, 0x0140, 0x7884, 0x200a, 0x2009, 0x017f, 0x200a, + 0x3b00, 0xc085, 0x20d8, 0x6814, 0x908c, 0x00ff, 0x6146, 0x8007, + 0x9084, 0x00ff, 0x604a, 0x080c, 0x69fb, 0x080c, 0x5cba, 0x080c, + 0x5d09, 0x6808, 0x602a, 0x080c, 0x1b6c, 0x2009, 0x0170, 0x200b, + 0x0080, 0xa001, 0xa001, 0x200b, 0x0000, 0x0036, 0x6b08, 0x080c, + 0x211d, 0x003e, 0x6000, 0x9086, 0x0000, 0x1904, 0x3ac4, 0x6818, + 0x691c, 0x6a20, 0x6b24, 0x8007, 0x810f, 0x8217, 0x831f, 0x6016, + 0x611a, 0x621e, 0x6322, 0x6c04, 0xd4f4, 0x0148, 0x6830, 0x6934, + 0x6a38, 0x6b3c, 0x8007, 0x810f, 0x8217, 0x831f, 0x0010, 0x9084, + 0xf0ff, 0x6006, 0x610a, 0x620e, 0x6312, 0x8007, 0x810f, 0x8217, + 0x831f, 0x20a9, 0x0004, 0x20a1, 0x1362, 0x20e9, 0x0001, 0x4001, + 0x080c, 0x780c, 0x00c6, 0x2009, 0x0000, 0x20a9, 0x0001, 0x6b70, + 0xd384, 0x0510, 0x0068, 0x2009, 0x0100, 0x210c, 0x918e, 0x0008, + 0x1110, 0x839d, 0x0010, 0x83f5, 0x3e18, 0x12b0, 0x3508, 0x8109, + 0x080c, 0x6fb9, 0x6878, 0x6016, 0x6874, 0x2008, 0x9084, 0xff00, + 0x8007, 0x600a, 0x9184, 0x00ff, 0x6006, 0x8108, 0x1118, 0x6003, + 0x0003, 0x0010, 0x6003, 0x0001, 0x1f04, 0x3a1b, 0x00ce, 0x00c6, + 0x2061, 0x134f, 0x6a88, 0x9284, 0xc000, 0x2010, 0x9286, 0x0000, + 0x1158, 0x2063, 0x0000, 0x2001, 0x0001, 0x080c, 0x23de, 0x2001, + 0x0001, 0x080c, 0x23c1, 0x0090, 0x9286, 0x4000, 0x1148, 0x2063, + 0x0001, 0x9006, 0x080c, 0x23de, 0x9006, 0x080c, 0x23c1, 0x0030, + 0x9286, 0x8000, 0x1d30, 0x2063, 0x0002, 0x0c98, 0x00ce, 0x6888, + 0xd0ec, 0x0130, 0x2011, 0x0114, 0x2204, 0x9085, 0x0100, 0x2012, + 0x6a80, 0x9284, 0x0030, 0x9086, 0x0030, 0x1128, 0x9294, 0xffcf, + 0x9295, 0x0020, 0x6a82, 0x2001, 0x1320, 0x6a80, 0x9294, 0x0030, + 0x928e, 0x0000, 0x0170, 0x928e, 0x0010, 0x0118, 0x928e, 0x0020, + 0x0140, 0x2003, 0xaaaa, 0x080c, 0x2198, 0x2001, 0x1311, 0x2102, + 0x0008, 0x2102, 0x00c6, 0x2061, 0x0100, 0x602f, 0x0040, 0x602f, + 0x0000, 0x00ce, 0x080c, 0x672f, 0x0128, 0x080c, 0x44ac, 0x0110, + 0x080c, 0x20e2, 0x60cc, 0x9005, 0x01d0, 0x6003, 0x0001, 0x2009, + 0x3aaa, 0x00f0, 0x080c, 0x672f, 0x1178, 0x2011, 0x65f6, 0x080c, + 0x7738, 0x2011, 0x65e9, 0x080c, 0x7800, 0x2001, 0x1321, 0x2003, + 0x0000, 0x080c, 0x665f, 0x0040, 0x080c, 0x5295, 0x0028, 0x6003, + 0x0004, 0x2009, 0x3ac4, 0x0020, 0x080c, 0x5c15, 0x0804, 0x2d16, + 0x2001, 0x0170, 0x2004, 0x9084, 0x00ff, 0x9086, 0x004c, 0x1118, + 0x2091, 0x30bd, 0x0817, 0x2091, 0x303d, 0x0817, 0x6000, 0x9086, + 0x0000, 0x0904, 0x2d46, 0x2069, 0x1152, 0x7890, 0x6842, 0x7894, + 0x6846, 0x2d00, 0x2009, 0x0030, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, + 0x2039, 0x0001, 0x0804, 0x40a2, 0x9006, 0x080c, 0x20e2, 0x81ff, + 0x1904, 0x2d46, 0x080c, 0x672f, 0x1178, 0x2001, 0x1321, 0x2003, + 0x0001, 0x2001, 0x1100, 0x2003, 0x0001, 0x9085, 0x0001, 0x080c, + 0x6773, 0x080c, 0x665f, 0x0020, 0x080c, 0x53a2, 0x080c, 0x5295, + 0x0804, 0x2d16, 0x81ff, 0x1904, 0x2d46, 0x080c, 0x672f, 0x1110, + 0x0804, 0x2d46, 0x618c, 0x81ff, 0x01a8, 0x7047, 0x0000, 0x2001, + 0x1680, 0x2009, 0x0040, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, 0x0126, + 0x2091, 0x8000, 0x2039, 0x0001, 0x080c, 0x40a2, 0x701b, 0x2d14, + 0x012e, 0x0005, 0x7047, 0x0001, 0x00d6, 0x2069, 0x1680, 0x20a9, + 0x0040, 0x20e9, 0x0001, 0x20a1, 0x1680, 0x2019, 0xffff, 0x4304, + 0x6554, 0x9588, 0x2b33, 0x210d, 0x918c, 0x00ff, 0x216a, 0x900e, + 0x2011, 0x0002, 0x2100, 0x9506, 0x01a8, 0x080c, 0x598f, 0x1190, + 0x6014, 0x821c, 0x0238, 0x9398, 0x1680, 0x9085, 0xff00, 0x8007, + 0x201a, 0x0038, 0x9398, 0x1680, 0x2324, 0x94a4, 0xff00, 0x9405, + 0x201a, 0x8210, 0x8108, 0x9182, 0x0080, 0x1208, 0x0c18, 0x8201, + 0x8007, 0x2d0c, 0x9105, 0x206a, 0x00de, 0x20a9, 0x0040, 0x20a1, + 0x1680, 0x2099, 0x1680, 0x080c, 0x5335, 0x0804, 0x3b17, 0x080c, + 0x4083, 0x0904, 0x2d49, 0x00c6, 0x080c, 0x404c, 0x00ce, 0x1120, + 0x2009, 0x0002, 0x0804, 0x2d46, 0x2001, 0x1153, 0x2004, 0xd0b4, + 0x0578, 0x7884, 0x9084, 0xff00, 0x908e, 0x7e00, 0x0548, 0x908e, + 0x7f00, 0x0530, 0x908e, 0x8000, 0x0518, 0x2001, 0x1174, 0x2004, + 0xd0bc, 0x1148, 0x6000, 0xd08c, 0x11d8, 0x6004, 0x9084, 0x00ff, + 0x9086, 0x0006, 0x11a8, 0x6867, 0x0000, 0x6868, 0xc0fd, 0x686a, + 0x080c, 0xbad8, 0x1120, 0x2009, 0x0003, 0x0804, 0x2d46, 0x7007, + 0x0003, 0x701b, 0x3bac, 0x0005, 0x080c, 0x4083, 0x0904, 0x2d49, + 0x20a9, 0x002b, 0x20e1, 0x0001, 0x2c98, 0x9de8, 0x0002, 0x20e9, + 0x0001, 0x2da0, 0x4003, 0x20a9, 0x0004, 0x9d80, 0x0006, 0x20a0, + 0x9c80, 0x0006, 0x2098, 0x080c, 0x5335, 0x20a9, 0x0004, 0x9d80, + 0x000a, 0x20a0, 0x9c80, 0x000a, 0x2098, 0x080c, 0x5335, 0x2d00, + 0x2039, 0x0001, 0x2009, 0x002b, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, + 0x0804, 0x40a2, 0x81ff, 0x1904, 0x2d46, 0x080c, 0x4061, 0x0904, + 0x2d49, 0x080c, 0x5aef, 0x0804, 0x2d16, 0x81ff, 0x1904, 0x2d46, + 0x7888, 0x908a, 0x1000, 0x1a04, 0x2d49, 0x080c, 0x4083, 0x0904, + 0x2d49, 0x080c, 0x5b2e, 0x0904, 0x2d46, 0x2019, 0x0004, 0x900e, + 0x080c, 0x5b01, 0x7984, 0x810f, 0x7a88, 0x04a1, 0x0804, 0x2d16, + 0x00f6, 0x2d78, 0x789c, 0x908a, 0x1000, 0x12c0, 0x080c, 0x4081, + 0x01a8, 0x080c, 0x5b2e, 0x2009, 0x0002, 0x0160, 0x2019, 0x0004, + 0x080c, 0x5b01, 0x2009, 0x0003, 0x0128, 0x7998, 0x7a9c, 0x810f, + 0x00c9, 0x0078, 0x7897, 0x4005, 0x799a, 0x0010, 0x7897, 0x4006, + 0x9085, 0x0001, 0x2001, 0x0030, 0x2009, 0x0000, 0x2f68, 0x00fe, + 0x0005, 0x7897, 0x4000, 0x9085, 0x0001, 0x2009, 0x0000, 0x2f68, + 0x00fe, 0x0005, 0x9186, 0x00ff, 0x0110, 0x0071, 0x0060, 0x2029, + 0x007e, 0x2061, 0x1100, 0x6454, 0x2400, 0x9506, 0x0110, 0x2508, + 0x0019, 0x8529, 0x1ec8, 0x0005, 0x080c, 0x598f, 0x1138, 0x2200, + 0x8003, 0x800b, 0x810b, 0x9108, 0x080c, 0x7744, 0x0005, 0x81ff, + 0x1904, 0x2d46, 0x080c, 0x4061, 0x0904, 0x2d49, 0x080c, 0x5a52, + 0x0904, 0x2d46, 0x080c, 0x5af8, 0x0804, 0x2d16, 0x81ff, 0x1904, + 0x2d46, 0x080c, 0x4061, 0x0904, 0x2d49, 0x080c, 0x5a52, 0x0904, + 0x2d46, 0x080c, 0x5ae6, 0x0804, 0x2d16, 0x6100, 0x0804, 0x2d16, + 0x080c, 0x4083, 0x0904, 0x2d49, 0x2001, 0x1100, 0x2004, 0x9086, + 0x0003, 0x1904, 0x2d46, 0x00d6, 0x9ce8, 0x000a, 0x7984, 0xd184, + 0x0110, 0x9ce8, 0x0006, 0x680c, 0x8007, 0x789e, 0x6808, 0x8007, + 0x789a, 0x6b04, 0x831f, 0x6a00, 0x8217, 0x00de, 0x6100, 0x918c, + 0x0200, 0x0804, 0x2d16, 0x7884, 0x909c, 0x00ff, 0x939a, 0x0003, + 0x1a04, 0x2d46, 0x6254, 0x9294, 0x00ff, 0x9084, 0xff00, 0x8007, + 0x9206, 0x1188, 0x2031, 0x1148, 0x2009, 0x013c, 0x2136, 0x2001, + 0x1140, 0x2009, 0x000c, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, 0x2039, + 0x0001, 0x0804, 0x40a2, 0x81ff, 0x1904, 0x2d46, 0x080c, 0x4083, + 0x0904, 0x2d49, 0x6004, 0x9084, 0x00ff, 0x9086, 0x0006, 0x1904, + 0x2d46, 0x00c6, 0x080c, 0x404c, 0x00ce, 0x0904, 0x2d46, 0x6867, + 0x0000, 0x6868, 0xc0fd, 0x686a, 0x080c, 0xba7f, 0x0904, 0x2d46, + 0x7007, 0x0003, 0x701b, 0x3cd5, 0x0005, 0x6830, 0x9086, 0x0100, + 0x0904, 0x2d46, 0x9d80, 0x001b, 0x2009, 0x000c, 0x7a8c, 0x7b88, + 0x7c9c, 0x7d98, 0x2039, 0x0001, 0x0804, 0x40a2, 0x9006, 0x080c, + 0x20e2, 0x7884, 0x9084, 0x00ff, 0x9086, 0x00ff, 0x0118, 0x81ff, + 0x1904, 0x2d46, 0x080c, 0x672f, 0x0110, 0x080c, 0x53a2, 0x7888, + 0x908a, 0x1000, 0x1a04, 0x2d49, 0x7984, 0x918c, 0xff00, 0x810f, + 0x9186, 0x00ff, 0x0138, 0x9182, 0x007f, 0x1a04, 0x2d49, 0x2100, + 0x080c, 0x20ac, 0x0026, 0x00c6, 0x0126, 0x2091, 0x8000, 0x2061, + 0x138f, 0x601b, 0x0000, 0x601f, 0x0000, 0x080c, 0x672f, 0x1178, + 0x2001, 0x1321, 0x2003, 0x0001, 0x2001, 0x1100, 0x2003, 0x0001, + 0x9085, 0x0001, 0x080c, 0x6773, 0x080c, 0x665f, 0x0440, 0x2011, + 0x0003, 0x080c, 0x979d, 0x2011, 0x0002, 0x080c, 0x97a7, 0x080c, + 0x9676, 0x0036, 0x2019, 0x0000, 0x080c, 0x9708, 0x003e, 0x2061, + 0x0100, 0x2001, 0x1116, 0x2004, 0x9084, 0x00ff, 0x810f, 0x9105, + 0x604a, 0x6043, 0x0090, 0x6043, 0x0010, 0x2009, 0x134c, 0x200b, + 0x0000, 0x2009, 0x002d, 0x2011, 0x52ce, 0x080c, 0x77c4, 0x7984, + 0x918c, 0xff00, 0x810f, 0x080c, 0x672f, 0x1110, 0x2009, 0x00ff, + 0x7a88, 0x080c, 0x3c32, 0x012e, 0x00ce, 0x002e, 0x0804, 0x2d16, + 0x7984, 0x918c, 0xff00, 0x810f, 0x00c6, 0x080c, 0x5938, 0x2c08, + 0x00ce, 0x1904, 0x2d49, 0x0804, 0x2d16, 0x81ff, 0x0120, 0x2009, + 0x0001, 0x0804, 0x2d46, 0x60d4, 0xd0ac, 0x1130, 0xd09c, 0x1120, + 0x2009, 0x0005, 0x0804, 0x2d46, 0x080c, 0x404c, 0x1120, 0x2009, + 0x0002, 0x0804, 0x2d46, 0x7984, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, + 0x2039, 0x0001, 0x080c, 0x409f, 0x701b, 0x3d8f, 0x0005, 0x2009, + 0x0080, 0x080c, 0x598f, 0x1130, 0x6004, 0x9084, 0x00ff, 0x9086, + 0x0006, 0x0120, 0x2021, 0x400a, 0x0804, 0x2d18, 0x00d6, 0x9de8, + 0x0019, 0x6900, 0x6a08, 0x6b0c, 0x6c10, 0x6d14, 0x6e18, 0x6820, + 0x90be, 0x0100, 0x0904, 0x3e06, 0x90be, 0x0112, 0x0904, 0x3e06, + 0x90be, 0x0113, 0x0904, 0x3e06, 0x90be, 0x0114, 0x0904, 0x3e06, + 0x90be, 0x0117, 0x0904, 0x3e06, 0x90be, 0x011a, 0x0904, 0x3e06, + 0x90be, 0x011c, 0x0904, 0x3e06, 0x90be, 0x0121, 0x05b0, 0x90be, + 0x0131, 0x0598, 0x90be, 0x0171, 0x05c8, 0x90be, 0x0173, 0x05b0, + 0x90be, 0x01a1, 0x1120, 0x6830, 0x8007, 0x6832, 0x04a8, 0x90be, + 0x0212, 0x0540, 0x90be, 0x0213, 0x0528, 0x90be, 0x0214, 0x01b0, + 0x90be, 0x0217, 0x0168, 0x90be, 0x021a, 0x1120, 0x6838, 0x8007, + 0x683a, 0x00e0, 0x90be, 0x0300, 0x01c8, 0x00de, 0x0804, 0x2d49, + 0x9d80, 0x0010, 0x20a9, 0x0007, 0x080c, 0x3e4c, 0x9d80, 0x000e, + 0x20a9, 0x0001, 0x080c, 0x3e4c, 0x0048, 0x9d80, 0x000c, 0x080c, + 0x3e5a, 0x0050, 0x9d80, 0x000e, 0x080c, 0x3e5a, 0x9d80, 0x000c, + 0x20a9, 0x0001, 0x080c, 0x3e4c, 0x00c6, 0x080c, 0x404c, 0x0568, + 0x6868, 0xc0fd, 0x686a, 0x6867, 0x0119, 0x6883, 0x0000, 0x687f, + 0x0020, 0x688b, 0x0001, 0x810b, 0x69ae, 0x68b3, 0x0000, 0x6ab6, + 0x6bba, 0x6cbe, 0x6dc2, 0x69c6, 0x68cb, 0x0000, 0x00ce, 0x00de, + 0x6867, 0x0000, 0x6868, 0xc0fd, 0x686a, 0x6823, 0x0000, 0x6804, + 0x2068, 0x080c, 0xba9b, 0x1120, 0x2009, 0x0003, 0x0804, 0x2d46, + 0x7007, 0x0003, 0x701b, 0x3e43, 0x0005, 0x00ce, 0x00de, 0x2009, + 0x0002, 0x0804, 0x2d46, 0x6820, 0x9086, 0x8001, 0x1904, 0x2d16, + 0x2009, 0x0004, 0x0804, 0x2d46, 0x0016, 0x2008, 0x2044, 0x8000, + 0x204c, 0x8000, 0x290a, 0x8108, 0x280a, 0x8108, 0x1f04, 0x3e4e, + 0x001e, 0x0005, 0x0016, 0x00a6, 0x00b6, 0x2008, 0x2044, 0x8000, + 0x204c, 0x8000, 0x2054, 0x8000, 0x205c, 0x2b0a, 0x8108, 0x2a0a, + 0x8108, 0x290a, 0x8108, 0x280a, 0x00be, 0x00ae, 0x001e, 0x0005, + 0x81ff, 0x0120, 0x2009, 0x0001, 0x0804, 0x2d46, 0x60d4, 0xd0ac, + 0x1130, 0xd09c, 0x1120, 0x2009, 0x0005, 0x0804, 0x2d46, 0x7984, + 0x2140, 0x918c, 0xff00, 0x810f, 0x60d4, 0xd0ac, 0x1120, 0x9182, + 0x0080, 0x0a04, 0x2d49, 0x9182, 0x00ff, 0x1a04, 0x2d49, 0x7a8c, + 0x7b88, 0x6074, 0x9306, 0x1140, 0x6078, 0x924e, 0x0904, 0x2d49, + 0x99cc, 0xff00, 0x0904, 0x2d49, 0x00c6, 0x080c, 0x3f4d, 0x2c68, + 0x00ce, 0x05d8, 0x90c6, 0x4000, 0x1510, 0x00c6, 0x0006, 0x2d60, + 0x0036, 0x6018, 0x631c, 0x9305, 0x6320, 0x9305, 0x6324, 0x9305, + 0x6328, 0x9305, 0x632c, 0x9305, 0x6330, 0x9305, 0x6334, 0x9305, + 0x003e, 0x0508, 0x2009, 0x0000, 0x080c, 0x5b5e, 0x1108, 0xc185, + 0x6000, 0xd0bc, 0x0108, 0xc18d, 0x000e, 0x00ce, 0x0088, 0x90c6, + 0x4007, 0x1110, 0x2408, 0x0060, 0x90c6, 0x4008, 0x1118, 0x2708, + 0x2610, 0x0030, 0x90c6, 0x4009, 0x1108, 0x0010, 0x2001, 0x4006, + 0x2020, 0x0804, 0x2d18, 0x000e, 0x00ce, 0x2d00, 0x7022, 0x0016, + 0x00b6, 0x00c6, 0x00e6, 0x2c70, 0x080c, 0x9f24, 0x05d8, 0x2d00, + 0x6012, 0x080c, 0xbd78, 0x2e58, 0x00ee, 0x00e6, 0x00c6, 0x080c, + 0x404c, 0x00ce, 0x2b70, 0x1150, 0x080c, 0x9eda, 0x00ee, 0x00ce, + 0x00be, 0x001e, 0x2009, 0x0002, 0x0804, 0x2d46, 0x6867, 0x0000, + 0x686b, 0x0000, 0x2d00, 0x6016, 0x6833, 0x0000, 0x6868, 0xc0fd, + 0xd88c, 0x0108, 0xc0f5, 0x686a, 0x0126, 0x2091, 0x8000, 0x080c, + 0x2a10, 0x012e, 0x6023, 0x0001, 0x2001, 0x0000, 0x080c, 0x58d6, + 0x2001, 0x0002, 0x080c, 0x58e8, 0x2009, 0x0002, 0x080c, 0x9f51, + 0x9085, 0x0001, 0x00ee, 0x00ce, 0x00be, 0x001e, 0x1120, 0x2009, + 0x0003, 0x0804, 0x2d46, 0x7007, 0x0003, 0x701b, 0x3f30, 0x0005, + 0x6830, 0x9086, 0x0100, 0x7020, 0x2060, 0x1138, 0x2009, 0x0004, + 0x6204, 0x9294, 0x00ff, 0x0804, 0x4ac3, 0x2009, 0x0000, 0x6868, + 0xd0f4, 0x1904, 0x2d16, 0x080c, 0x5b5e, 0x1108, 0xc185, 0x6000, + 0xd0bc, 0x0108, 0xc18d, 0x0804, 0x2d16, 0x00e6, 0x00d6, 0x2029, + 0x0000, 0x2001, 0x1135, 0x2004, 0xd0ac, 0x0138, 0x2021, 0x0000, + 0x20a9, 0x00ff, 0x2071, 0x1000, 0x0030, 0x2021, 0x0080, 0x20a9, + 0x007f, 0x2071, 0x1080, 0x2e04, 0x9005, 0x1130, 0x2100, 0x9406, + 0x15a0, 0x2428, 0xc5fd, 0x0488, 0x2068, 0x6f10, 0x2700, 0x9306, + 0x11e0, 0x6e14, 0x2600, 0x9206, 0x11c0, 0x2400, 0x9106, 0x1190, + 0x2d60, 0xd884, 0x0598, 0x080c, 0x5c3b, 0x1580, 0x2001, 0x4000, + 0x0470, 0x6004, 0x9084, 0x00ff, 0x9086, 0x0006, 0x1538, 0x2001, + 0x4000, 0x0428, 0x2001, 0x4007, 0x0410, 0x2400, 0x9106, 0x1168, + 0x6e14, 0x87ff, 0x1138, 0x86ff, 0x09a0, 0x2001, 0x1135, 0x2004, + 0xd0ac, 0x1978, 0x2001, 0x4008, 0x0090, 0x8420, 0x8e70, 0x1f04, + 0x3f63, 0x85ff, 0x1130, 0x2001, 0x4009, 0x0048, 0x2001, 0x0001, + 0x0030, 0x080c, 0x5938, 0x1dd0, 0x6312, 0x6216, 0x9006, 0x9005, + 0x00de, 0x00ee, 0x0005, 0x81ff, 0x1904, 0x2d46, 0x080c, 0x404c, + 0x0904, 0x2d46, 0x6867, 0x0000, 0x6868, 0xc0fd, 0x686a, 0x7884, + 0x9005, 0x0904, 0x2d49, 0x9096, 0x00ff, 0x0120, 0x9092, 0x0004, + 0x1a04, 0x2d49, 0x2010, 0x2d18, 0x080c, 0x29c5, 0x0904, 0x2d46, + 0x7007, 0x0003, 0x701b, 0x3fd5, 0x0005, 0x6830, 0x9086, 0x0100, + 0x0904, 0x2d46, 0x0804, 0x2d16, 0x7984, 0x918c, 0xff00, 0x810f, + 0x60d4, 0xd0ac, 0x1120, 0x9182, 0x0080, 0x0a04, 0x2d49, 0x9182, + 0x00ff, 0x1a04, 0x2d49, 0x0126, 0x2091, 0x8000, 0x080c, 0xb98b, + 0x1188, 0x9190, 0x1000, 0x2204, 0x9065, 0x0160, 0x080c, 0x53ea, + 0x2001, 0x1135, 0x2004, 0xd0ac, 0x0110, 0x6017, 0x0000, 0x012e, + 0x0804, 0x2d16, 0x012e, 0x0804, 0x2d46, 0x00f6, 0x2d78, 0x7998, + 0x918c, 0xff00, 0x810f, 0x2001, 0x1135, 0x2004, 0xd0ac, 0x1118, + 0x9182, 0x0080, 0x02e8, 0x9182, 0x00ff, 0x12d0, 0x0126, 0x2091, + 0x8000, 0x080c, 0xb98b, 0x1540, 0x9190, 0x1000, 0x2204, 0x9065, + 0x0538, 0x080c, 0x53ea, 0x2001, 0x1135, 0x2004, 0xd0ac, 0x0110, + 0x6017, 0x0000, 0x012e, 0x0078, 0x7897, 0x4005, 0x799a, 0x0010, + 0x7897, 0x4006, 0x9085, 0x0001, 0x2001, 0x0030, 0x2009, 0x0000, + 0x2f68, 0x00fe, 0x0005, 0x7897, 0x4000, 0x9085, 0x0001, 0x2009, + 0x0000, 0x2f68, 0x00fe, 0x0005, 0x012e, 0x2009, 0x0003, 0x0c20, + 0x012e, 0x2009, 0x000a, 0x0c00, 0x080c, 0x0e6d, 0x0188, 0x9006, + 0x6802, 0x7010, 0x9005, 0x1120, 0x2d00, 0x7012, 0x7016, 0x0030, + 0x7014, 0x6802, 0x2060, 0x2d00, 0x6006, 0x7016, 0x9d80, 0x0019, + 0x0005, 0x7984, 0x810f, 0x918c, 0x00ff, 0x080c, 0x598f, 0x1130, + 0x7e88, 0x9684, 0x3fff, 0x9082, 0x4000, 0x0208, 0x9066, 0x8cff, + 0x0005, 0x7998, 0x810f, 0x918c, 0x00ff, 0x080c, 0x598f, 0x1130, + 0x7e9c, 0x9684, 0x3fff, 0x9082, 0x4000, 0x0208, 0x9066, 0x8cff, + 0x0005, 0x7e98, 0x0008, 0x7e84, 0x860f, 0x918c, 0x00ff, 0x080c, + 0x598f, 0x1128, 0x96b4, 0x00ff, 0x9682, 0x4000, 0x0208, 0x9066, + 0x8cff, 0x0005, 0x0016, 0x7110, 0x81ff, 0x0128, 0x2168, 0x6904, + 0x080c, 0x0e86, 0x0cc8, 0x7112, 0x7116, 0x001e, 0x0005, 0x2031, + 0x0001, 0x0010, 0x2031, 0x0000, 0x2061, 0x1200, 0x6606, 0x6116, + 0x670e, 0x6012, 0x622a, 0x632e, 0x6432, 0x6536, 0x2c10, 0x080c, + 0x0ee5, 0x7007, 0x0002, 0x701b, 0x2d16, 0x0005, 0x00f6, 0x0126, + 0x2091, 0x8000, 0x2079, 0x0000, 0x2001, 0x11b9, 0x2004, 0x9005, + 0x1190, 0x0e04, 0x40d3, 0x7a36, 0x7833, 0x0012, 0x7a82, 0x7b86, + 0x7c8a, 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, 0x190c, + 0x0f80, 0x0804, 0x4130, 0x00c6, 0x00d6, 0x00e6, 0x00f6, 0x2071, + 0x11a9, 0x703c, 0x9005, 0x1540, 0x7140, 0x9182, 0x0010, 0x0288, + 0x7030, 0x2060, 0x080c, 0x0e6d, 0x0904, 0x4129, 0x684b, 0x0000, + 0x2d00, 0x703e, 0x2001, 0x0002, 0x9080, 0x19d4, 0x2005, 0x6846, + 0x0098, 0x7030, 0x90e0, 0x0004, 0x2001, 0x11c0, 0x9c82, 0x1200, + 0x0210, 0x2061, 0x11c0, 0x2c00, 0x7032, 0x7140, 0x81ff, 0x1108, + 0x7036, 0x8108, 0x7142, 0x0428, 0x7140, 0x8108, 0x7142, 0x703c, + 0x2078, 0x7944, 0x2105, 0x9f60, 0x8108, 0x2105, 0x9005, 0x7946, + 0x11c0, 0x080c, 0x0e6d, 0x1130, 0x8109, 0x7946, 0x7140, 0x8109, + 0x7142, 0x0078, 0x9006, 0x6806, 0x684a, 0x7846, 0x2f00, 0x6802, + 0x2d00, 0x7806, 0x703e, 0x2001, 0x0002, 0x9080, 0x19d4, 0x2005, + 0x6846, 0x2262, 0x6306, 0x640a, 0x00fe, 0x00ee, 0x00de, 0x00ce, + 0x012e, 0x00fe, 0x0005, 0x00e6, 0x2071, 0x11a9, 0x7040, 0x9005, + 0x0904, 0x41b7, 0x0126, 0x2091, 0x8000, 0x0e04, 0x41b6, 0x00f6, + 0x2079, 0x0000, 0x00c6, 0x00d6, 0x0086, 0x9006, 0x2040, 0x7038, + 0x2068, 0x9005, 0x01c0, 0x6948, 0x2105, 0x9d60, 0x8108, 0x2105, + 0x9005, 0x694a, 0x1190, 0x6804, 0x9005, 0x0904, 0x0d52, 0x703a, + 0x2d40, 0x2068, 0x6803, 0x0000, 0x2001, 0x0002, 0x9080, 0x19d4, + 0x2005, 0x684a, 0x0010, 0x7034, 0x2060, 0x2c04, 0x7836, 0x7833, + 0x0012, 0x7882, 0x6004, 0x7886, 0x6008, 0x788a, 0x2091, 0x4080, + 0x2001, 0x0089, 0x2004, 0xd084, 0x190c, 0x0f80, 0x88ff, 0x0118, + 0x2868, 0x080c, 0x0e86, 0x7040, 0x8001, 0x7042, 0x9005, 0x1170, + 0x7038, 0x2068, 0x9005, 0x0128, 0x080c, 0x0e86, 0x9006, 0x703a, + 0x703e, 0x7033, 0x11c0, 0x7037, 0x11c0, 0x0420, 0x7038, 0x9005, + 0x1508, 0x7230, 0x2c00, 0x9206, 0x0148, 0x9c80, 0x0004, 0x90fa, + 0x1200, 0x0210, 0x2001, 0x11c0, 0x7036, 0x00a0, 0x9006, 0x7036, + 0x7032, 0x703c, 0x9005, 0x0904, 0x0d52, 0x2068, 0x6800, 0x9005, + 0x1de0, 0x2d00, 0x703a, 0x2001, 0x0002, 0x9080, 0x19d4, 0x2005, + 0x684a, 0x0000, 0x008e, 0x00de, 0x00ce, 0x00fe, 0x012e, 0x00ee, + 0x0005, 0x0026, 0x2001, 0x1153, 0x2004, 0xd0c4, 0x0120, 0x2011, + 0x8014, 0x080c, 0x40b6, 0x002e, 0x0005, 0x81ff, 0x1904, 0x2d46, + 0x0126, 0x2091, 0x8000, 0x6030, 0xc08d, 0xc085, 0xc0ac, 0x6032, + 0x080c, 0x672f, 0x1178, 0x2001, 0x1321, 0x2003, 0x0001, 0x2001, + 0x1100, 0x2003, 0x0001, 0x9085, 0x0001, 0x080c, 0x6773, 0x080c, + 0x665f, 0x0010, 0x080c, 0x5295, 0x012e, 0x0804, 0x2d16, 0x7884, + 0x2008, 0x918c, 0xfffd, 0x1128, 0x61e0, 0x910d, 0x61e2, 0x0804, + 0x2d16, 0x0804, 0x2d49, 0x81ff, 0x1904, 0x2d46, 0x6000, 0x9086, + 0x0003, 0x1904, 0x2d46, 0x2001, 0x1153, 0x2004, 0xd0ac, 0x1904, + 0x2d46, 0x080c, 0x4083, 0x0904, 0x2d49, 0x6004, 0x9084, 0x00ff, + 0x9086, 0x0006, 0x1120, 0x7888, 0x9005, 0x0904, 0x2d16, 0x00c6, + 0x080c, 0x404c, 0x00ce, 0x0904, 0x2d46, 0x6867, 0x0000, 0x6833, + 0x0000, 0x6868, 0xc0fd, 0x686a, 0x080c, 0xbb5b, 0x0904, 0x2d46, + 0x7007, 0x0003, 0x701b, 0x4268, 0x0005, 0x00f6, 0x2d78, 0x2061, + 0x1100, 0x6000, 0x9086, 0x0003, 0x2009, 0x0007, 0x11e0, 0x2001, + 0x1153, 0x2004, 0xd0ac, 0x2009, 0x0008, 0x11a8, 0x080c, 0x4081, + 0x01b0, 0x6004, 0x9084, 0x00ff, 0x9086, 0x0006, 0x1118, 0x789c, + 0x9005, 0x01c0, 0x2f68, 0x6868, 0xc0fc, 0x686a, 0x080c, 0xbb5b, + 0x11d8, 0x2009, 0x0003, 0x7897, 0x4005, 0x799a, 0x0010, 0x7897, + 0x4006, 0x9085, 0x0001, 0x2001, 0x0030, 0x2009, 0x0000, 0x2f68, + 0x00fe, 0x0005, 0x7897, 0x4000, 0x9006, 0x918d, 0x0001, 0x2009, + 0x0000, 0x2f68, 0x00fe, 0x0005, 0x9006, 0x2f68, 0x00fe, 0x0005, + 0x6830, 0x9086, 0x0100, 0x1904, 0x2d16, 0x0804, 0x4ac3, 0x2001, + 0x1100, 0x2004, 0x9086, 0x0003, 0x1904, 0x2d46, 0x7f84, 0x7a8c, + 0x7b88, 0x7c9c, 0x7d98, 0x080c, 0x404c, 0x0904, 0x2d46, 0x2009, + 0x0000, 0x2031, 0x0000, 0x7023, 0x0000, 0x702f, 0x0000, 0x9d80, + 0x0005, 0x7026, 0x20a0, 0x20e1, 0x0001, 0x20e9, 0x0001, 0x080c, + 0x598f, 0x1904, 0x42f4, 0x6004, 0x90c4, 0x00ff, 0x98c6, 0x0006, + 0x0148, 0x90c4, 0xff00, 0x98c6, 0x0600, 0x0120, 0x080c, 0x5c3b, + 0x1904, 0x42f4, 0xd794, 0x1110, 0xd784, 0x0158, 0x9c80, 0x0006, + 0x2098, 0x3400, 0x20a9, 0x0004, 0x4003, 0x080c, 0x3e5a, 0xd794, + 0x0148, 0x9c80, 0x000a, 0x2098, 0x3400, 0x20a9, 0x0004, 0x4003, + 0x080c, 0x3e5a, 0x9186, 0x007e, 0x0178, 0x9186, 0x0080, 0x0160, + 0x6004, 0x9084, 0x00ff, 0x90c2, 0x0006, 0x1210, 0xc1fd, 0x0020, + 0x080c, 0x5b5e, 0x1108, 0xc1fd, 0x21a2, 0xc1fc, 0x3400, 0x8000, + 0x20a0, 0xd794, 0x01d8, 0x9c80, 0x0000, 0x2098, 0x20a9, 0x0002, + 0x4003, 0x9c80, 0x0003, 0x2098, 0x20a9, 0x0001, 0x4005, 0x9c80, + 0x0004, 0x2098, 0x3400, 0x20a9, 0x0002, 0x4003, 0x080c, 0x3e4c, + 0x9c80, 0x0026, 0x2098, 0x20a9, 0x0002, 0x4003, 0xd794, 0x0110, + 0x96b0, 0x000b, 0x96b0, 0x0005, 0x8108, 0x2001, 0x1135, 0x2004, + 0xd0ac, 0x0118, 0x9186, 0x0100, 0x0040, 0xd78c, 0x0120, 0x9186, + 0x0100, 0x0170, 0x0018, 0x9186, 0x007e, 0x0150, 0xd794, 0x0118, + 0x9686, 0x0020, 0x0010, 0x9686, 0x0028, 0x0150, 0x0804, 0x428b, + 0x86ff, 0x1120, 0x7120, 0x810b, 0x0804, 0x2d16, 0x702f, 0x0001, + 0x711e, 0x7020, 0x9600, 0x7022, 0x772a, 0x2061, 0x1200, 0x6007, + 0x0000, 0x6616, 0x7024, 0x600f, 0x0001, 0x6012, 0x622a, 0x632e, + 0x6432, 0x6536, 0x2c10, 0x080c, 0x0ee5, 0x7007, 0x0002, 0x701b, + 0x4332, 0x0005, 0x702c, 0x9005, 0x1170, 0x711c, 0x7024, 0x20a0, + 0x7728, 0x2031, 0x0000, 0x2061, 0x1200, 0x6228, 0x632c, 0x6430, + 0x6534, 0x0804, 0x428b, 0x7120, 0x810b, 0x0804, 0x2d16, 0x2029, + 0x007e, 0x7984, 0x7a88, 0x7b8c, 0x7c98, 0x9184, 0xff00, 0x8007, + 0x90e2, 0x0020, 0x0a04, 0x2d49, 0x9502, 0x0a04, 0x2d49, 0x9184, + 0x00ff, 0x90e2, 0x0020, 0x0a04, 0x2d49, 0x9502, 0x0a04, 0x2d49, + 0x9284, 0xff00, 0x8007, 0x90e2, 0x0020, 0x0a04, 0x2d49, 0x9502, + 0x0a04, 0x2d49, 0x9284, 0x00ff, 0x90e2, 0x0020, 0x0a04, 0x2d49, + 0x9502, 0x0a04, 0x2d49, 0x9384, 0xff00, 0x8007, 0x90e2, 0x0020, + 0x0a04, 0x2d49, 0x9502, 0x0a04, 0x2d49, 0x9384, 0x00ff, 0x90e2, + 0x0020, 0x0a04, 0x2d49, 0x9502, 0x0a04, 0x2d49, 0x9484, 0xff00, + 0x8007, 0x90e2, 0x0020, 0x0a04, 0x2d49, 0x9502, 0x0a04, 0x2d49, + 0x9484, 0x00ff, 0x90e2, 0x0020, 0x0a04, 0x2d49, 0x9502, 0x0a04, + 0x2d49, 0x2061, 0x133c, 0x6102, 0x6206, 0x630a, 0x640e, 0x0804, + 0x2d16, 0x080c, 0x404c, 0x0904, 0x2d46, 0x2009, 0x0016, 0x7a8c, + 0x7b88, 0x7c9c, 0x7d98, 0x2039, 0x0001, 0x080c, 0x409f, 0x701b, + 0x43b2, 0x0005, 0x9de8, 0x0019, 0x2001, 0x0138, 0x2003, 0x0000, + 0x00e6, 0x2071, 0x0300, 0x701c, 0xd0a4, 0x1de8, 0x00ee, 0x6800, + 0x9005, 0x0904, 0x4431, 0x6804, 0x2008, 0x918c, 0xfff8, 0x1904, + 0x4431, 0x680c, 0x9005, 0x0904, 0x4431, 0x9082, 0xff01, 0x1a04, + 0x4431, 0x6810, 0x9082, 0x005c, 0x0a04, 0x4431, 0x6824, 0x2008, + 0x9082, 0x0008, 0x0a04, 0x4431, 0x9182, 0x0400, 0x1a04, 0x4431, + 0x0056, 0x2029, 0x0000, 0x080c, 0x7d53, 0x005e, 0x6944, 0x6820, + 0x9102, 0x0a04, 0x4431, 0x6820, 0x9082, 0x0019, 0x1a04, 0x4431, + 0x6828, 0x6944, 0x810c, 0x9102, 0x06e0, 0x6840, 0x9082, 0x000f, + 0x16c0, 0x20a9, 0x0016, 0x20e1, 0x0001, 0x2d98, 0x2069, 0x1182, + 0x20e9, 0x0001, 0x2da0, 0x4003, 0x00d6, 0x080c, 0x0e54, 0x2d00, + 0x00de, 0x0904, 0x444b, 0x684e, 0x00e6, 0x00b6, 0x2071, 0x1294, + 0x2059, 0x0000, 0x080c, 0x7b9f, 0x00be, 0x00ee, 0x0558, 0x080c, + 0x7919, 0x080c, 0x7952, 0x11e0, 0x6857, 0x0000, 0x00c6, 0x2061, + 0x0100, 0x6104, 0x918d, 0x2000, 0x6106, 0x6b10, 0x2061, 0x13bf, + 0x630a, 0x00ce, 0x080c, 0x2198, 0x2001, 0x0138, 0x2102, 0x0804, + 0x2d16, 0x080c, 0x2198, 0x2001, 0x0138, 0x2102, 0x0804, 0x2d49, + 0x00e6, 0x2071, 0x1294, 0x080c, 0x7de4, 0x080c, 0x7df3, 0x080c, + 0x7b8e, 0x00ee, 0x2001, 0x1195, 0x206c, 0x080c, 0x0e86, 0x2001, + 0x1195, 0x2003, 0x0000, 0x080c, 0x2198, 0x2001, 0x0138, 0x2102, + 0x0804, 0x2d46, 0x2001, 0x1279, 0x200c, 0x918e, 0x0000, 0x0904, + 0x44aa, 0x080c, 0x7b89, 0x0904, 0x44aa, 0x2001, 0x0101, 0x200c, + 0x918c, 0xdfff, 0x2102, 0x2001, 0x0138, 0x2003, 0x0000, 0x00e6, + 0x2071, 0x0300, 0x701c, 0xd0a4, 0x1de8, 0x00ee, 0x080c, 0x7b8e, + 0x2001, 0x0035, 0x080c, 0x137f, 0x00c6, 0x2061, 0x12a0, 0x6004, + 0x6100, 0x9106, 0x1de0, 0x00ce, 0x080c, 0x2198, 0x2001, 0x0138, + 0x2102, 0x00e6, 0x00f6, 0x2071, 0x1278, 0x080c, 0x7abb, 0x0120, + 0x2f00, 0x080c, 0x7b51, 0x0cc8, 0x00fe, 0x00ee, 0x0126, 0x2091, + 0x8000, 0x2001, 0x1195, 0x200c, 0x81ff, 0x0138, 0x2168, 0x080c, + 0x0e86, 0x2001, 0x1195, 0x2003, 0x0000, 0x2001, 0x113a, 0x2003, + 0x0020, 0x00e6, 0x2071, 0x1294, 0x080c, 0x7de4, 0x080c, 0x7df3, + 0x00ee, 0x012e, 0x0804, 0x2d16, 0x0006, 0x2001, 0x1153, 0x2004, + 0xd0cc, 0x000e, 0x0005, 0x0006, 0x2001, 0x1172, 0x2004, 0xd0bc, + 0x000e, 0x0005, 0x616c, 0x7a84, 0x6300, 0x82ff, 0x1118, 0x7986, + 0x0804, 0x2d16, 0x83ff, 0x1904, 0x2d49, 0x2001, 0xfff0, 0x9200, + 0x1a04, 0x2d49, 0x2019, 0xffff, 0x6070, 0x9302, 0x9200, 0x0a04, + 0x2d49, 0x7986, 0x626e, 0x0804, 0x2d16, 0x2001, 0x1100, 0x2004, + 0x9086, 0x0003, 0x1904, 0x2d46, 0x7c88, 0x7d84, 0x7e98, 0x7f8c, + 0x080c, 0x404c, 0x0904, 0x2d46, 0x2009, 0x0000, 0x2019, 0x0000, + 0x7023, 0x0000, 0x702f, 0x0000, 0x9d80, 0x0003, 0x7026, 0x20a0, + 0x91e0, 0x1000, 0x2c64, 0x8cff, 0x01d8, 0x6004, 0x9084, 0x00ff, + 0x9086, 0x0006, 0x0130, 0x6004, 0x9084, 0xff00, 0x9086, 0x0600, + 0x1178, 0x00d6, 0x3468, 0x6014, 0x206a, 0x8d68, 0x6010, 0x8007, + 0x9105, 0x8007, 0x206a, 0x8d68, 0x2da0, 0x00de, 0x9398, 0x0002, + 0x8108, 0x9182, 0x00ff, 0x0120, 0x9386, 0x002a, 0x0148, 0x08c0, + 0x83ff, 0x1120, 0x7120, 0x810c, 0x0804, 0x2d16, 0x702f, 0x0001, + 0x711e, 0x7020, 0x9300, 0x7022, 0x2061, 0x1200, 0x6007, 0x0000, + 0x6316, 0x7024, 0x6012, 0x600f, 0x0001, 0x642a, 0x652e, 0x6632, + 0x6736, 0x2c10, 0x080c, 0x0ee5, 0x7007, 0x0002, 0x701b, 0x4539, + 0x0005, 0x702c, 0x9005, 0x1168, 0x711c, 0x7024, 0x20a0, 0x2019, + 0x0000, 0x2061, 0x1200, 0x6428, 0x652c, 0x6630, 0x6734, 0x0804, + 0x44f0, 0x7120, 0x810c, 0x0804, 0x2d16, 0x00f6, 0x2d78, 0x00e6, + 0x2001, 0x1100, 0x2004, 0x9086, 0x0003, 0x2009, 0x0007, 0x1904, + 0x45d9, 0x2071, 0x11a9, 0x7454, 0x84ff, 0x2009, 0x000e, 0x1904, + 0x45d9, 0x7c9c, 0x7d98, 0x7ea4, 0x7fa0, 0x080c, 0x0e54, 0x2009, + 0x0002, 0x0904, 0x45d9, 0x2d00, 0x7056, 0x2009, 0x0000, 0x2019, + 0x0000, 0x704f, 0x0000, 0x705b, 0x0000, 0x9d80, 0x0003, 0x7052, + 0x20a0, 0x91e0, 0x1000, 0x2c64, 0x8cff, 0x01d8, 0x6004, 0x9084, + 0x00ff, 0x9086, 0x0006, 0x0130, 0x6004, 0x9084, 0xff00, 0x9086, + 0x0600, 0x1178, 0x00d6, 0x3468, 0x6014, 0x206a, 0x8d68, 0x6010, + 0x8007, 0x9105, 0x8007, 0x206a, 0x8d68, 0x2da0, 0x00de, 0x9398, + 0x0002, 0x8108, 0x9182, 0x00ff, 0x0120, 0x9386, 0x002a, 0x01e0, + 0x08c0, 0x83ff, 0x11b8, 0x714c, 0x810c, 0x7897, 0x4000, 0x799a, + 0x7154, 0x81ff, 0x090c, 0x0d52, 0x2168, 0x080c, 0x0e86, 0x7057, + 0x0000, 0x9006, 0x918d, 0x0001, 0x2009, 0x0000, 0x00ee, 0x2f68, + 0x00fe, 0x0005, 0x705b, 0x0001, 0x714a, 0x704c, 0x9300, 0x704e, + 0x2061, 0x1211, 0x6007, 0x0000, 0x6316, 0x7050, 0x6012, 0x600f, + 0x0001, 0x642a, 0x652e, 0x6632, 0x6736, 0x603b, 0x45e6, 0x2f00, + 0x603e, 0x2c10, 0x080c, 0x0ee5, 0x9006, 0x00ee, 0x2f68, 0x00fe, + 0x0005, 0x7897, 0x4005, 0x799a, 0x9085, 0x0001, 0x2001, 0x0030, + 0x2009, 0x0000, 0x00ee, 0x2f68, 0x00fe, 0x0005, 0x00f6, 0x603c, + 0x907d, 0x090c, 0x0d52, 0x00e6, 0x2071, 0x11a9, 0x6008, 0x908e, + 0x0100, 0x0138, 0x787b, 0x0030, 0x7883, 0x0000, 0x7897, 0x4002, + 0x00b0, 0x7058, 0x9005, 0x1150, 0x7148, 0x7050, 0x20a0, 0x2019, + 0x0000, 0x6428, 0x652c, 0x6630, 0x6734, 0x0400, 0x787b, 0x0000, + 0x7883, 0x0000, 0x7897, 0x4000, 0x714c, 0x810c, 0x799a, 0x7154, + 0x81ff, 0x090c, 0x0d52, 0x2168, 0x080c, 0x0e86, 0x7057, 0x0000, + 0x2f68, 0x0126, 0x2091, 0x8000, 0x080c, 0x5fa7, 0x012e, 0x603b, + 0x0000, 0x603f, 0x0000, 0x00ee, 0x00fe, 0x0005, 0x91e0, 0x1000, + 0x2c64, 0x8cff, 0x01d8, 0x6004, 0x9084, 0x00ff, 0x9086, 0x0006, + 0x0130, 0x6004, 0x9084, 0xff00, 0x9086, 0x0600, 0x1178, 0x00d6, + 0x3468, 0x6014, 0x206a, 0x8d68, 0x6010, 0x8007, 0x9105, 0x8007, + 0x206a, 0x8d68, 0x2da0, 0x00de, 0x9398, 0x0002, 0x8108, 0x9182, + 0x00ff, 0x0120, 0x9386, 0x002a, 0x0540, 0x08c0, 0x83ff, 0x1518, + 0x714c, 0x810c, 0x799a, 0x7897, 0x4000, 0x7154, 0x81ff, 0x090c, + 0x0d52, 0x2168, 0x080c, 0x0e86, 0x7057, 0x0000, 0x9006, 0x918d, + 0x0001, 0x2009, 0x0000, 0x2f68, 0x0126, 0x2091, 0x8000, 0x080c, + 0x5fa7, 0x012e, 0x2061, 0x1211, 0x603b, 0x0000, 0x603f, 0x0000, + 0x00ee, 0x00fe, 0x0005, 0x705b, 0x0001, 0x714a, 0x704c, 0x9300, + 0x704e, 0x2061, 0x1211, 0x6316, 0x642a, 0x652e, 0x6632, 0x6736, + 0x2c10, 0x080c, 0x0ee5, 0x9006, 0x00ee, 0x00fe, 0x0005, 0x81ff, + 0x1904, 0x2d46, 0x60d4, 0xd0ac, 0x1118, 0xd09c, 0x0904, 0x2d46, + 0x080c, 0x404c, 0x0904, 0x2d46, 0x7984, 0x7a8c, 0x7b88, 0x7c9c, + 0x7d98, 0x2039, 0x0001, 0x080c, 0x409f, 0x701b, 0x46a0, 0x0005, + 0x00d6, 0x9de8, 0x0019, 0x6828, 0x90be, 0x7000, 0x0148, 0x90be, + 0x7100, 0x0130, 0x90be, 0x7200, 0x0118, 0x00de, 0x0804, 0x2d49, + 0x6820, 0x6924, 0x080c, 0x2098, 0x1510, 0x080c, 0x5938, 0x11f8, + 0x7122, 0x6612, 0x6516, 0x6e18, 0x00c6, 0x080c, 0x404c, 0x01b8, + 0x080c, 0x404c, 0x01a0, 0x00ce, 0x00de, 0x6867, 0x0000, 0x6868, + 0xc0fd, 0x686a, 0x6823, 0x0000, 0x6804, 0x2068, 0x080c, 0xbabc, + 0x0904, 0x2d46, 0x7007, 0x0003, 0x701b, 0x46da, 0x0005, 0x00de, + 0x0804, 0x2d46, 0x7120, 0x080c, 0x2b06, 0x6820, 0x9086, 0x8001, + 0x0904, 0x2d46, 0x2d00, 0x701e, 0x6804, 0x9080, 0x0002, 0x0006, + 0x20a9, 0x002a, 0x2098, 0x20a0, 0x080c, 0x5335, 0x000e, 0x9de8, + 0x0019, 0x6a08, 0x6b0c, 0x6c10, 0x6d14, 0x2061, 0x1200, 0x6007, + 0x0000, 0x6e00, 0x6f28, 0x97c6, 0x7000, 0x1108, 0x0018, 0x97c6, + 0x7100, 0x1150, 0x96c2, 0x0004, 0x0a04, 0x2d49, 0x2009, 0x0004, + 0x2039, 0x0001, 0x0804, 0x40a2, 0x97c6, 0x7200, 0x1904, 0x2d49, + 0x96c2, 0x0054, 0x0a04, 0x2d49, 0x600f, 0x0001, 0x6012, 0x6017, + 0x002a, 0x622a, 0x632e, 0x6432, 0x6536, 0x2c10, 0x080c, 0x0ee5, + 0x7007, 0x0002, 0x701b, 0x4725, 0x0005, 0x701c, 0x2068, 0x6804, + 0x9080, 0x0001, 0x2004, 0x9080, 0x0002, 0x0006, 0x20a9, 0x002a, + 0x2098, 0x20a0, 0x080c, 0x5335, 0x000e, 0x2061, 0x1200, 0x6228, + 0x632c, 0x6430, 0x6534, 0x2039, 0x0001, 0x2009, 0x002a, 0x0804, + 0x40a2, 0x81ff, 0x1904, 0x2d46, 0x798c, 0x2001, 0x1322, 0x2102, + 0x080c, 0x4061, 0x0904, 0x2d49, 0x080c, 0x5a52, 0x0904, 0x2d46, + 0x0126, 0x2091, 0x8000, 0x080c, 0x5b0a, 0x012e, 0x0804, 0x2d16, + 0x00f6, 0x69a0, 0x2001, 0x1322, 0x2102, 0x2d78, 0x080c, 0x4071, + 0x0170, 0x080c, 0x5a52, 0x2009, 0x0002, 0x0128, 0x080c, 0x5b0a, + 0x1188, 0x2009, 0x0003, 0x7897, 0x4005, 0x799a, 0x0010, 0x7897, + 0x4006, 0x9085, 0x0001, 0x2001, 0x0030, 0x2009, 0x0000, 0x2f68, + 0x00fe, 0x0005, 0x7897, 0x4000, 0x2001, 0x0000, 0x918d, 0x0001, + 0x2009, 0x0000, 0x2f68, 0x00fe, 0x0005, 0x7884, 0xd08c, 0x1118, + 0xd084, 0x0904, 0x3b6f, 0x080c, 0x4083, 0x0904, 0x2d49, 0x00c6, + 0x080c, 0x404c, 0x00ce, 0x1120, 0x2009, 0x0002, 0x0804, 0x2d46, + 0x6004, 0x9084, 0x00ff, 0x9086, 0x0006, 0x0128, 0x908e, 0x0004, + 0x0110, 0x908e, 0x0005, 0x15b8, 0x7884, 0xd08c, 0x0120, 0x6000, + 0xc08c, 0x6002, 0x0030, 0x2001, 0x1153, 0x2004, 0xd0b4, 0x0904, + 0x3bb0, 0x7884, 0x9084, 0xff00, 0x908e, 0x7e00, 0x0904, 0x3bb0, + 0x908e, 0x7f00, 0x0904, 0x3bb0, 0x908e, 0x8000, 0x0904, 0x3bb0, + 0x6000, 0xd08c, 0x1904, 0x3bb0, 0x6867, 0x0000, 0x6868, 0xc0fd, + 0x686a, 0x080c, 0xbad8, 0x1120, 0x2009, 0x0003, 0x0804, 0x2d46, + 0x7007, 0x0003, 0x701b, 0x47d5, 0x0005, 0x080c, 0x4083, 0x0904, + 0x2d49, 0x0804, 0x3bb0, 0x2001, 0x1174, 0x2004, 0xd0bc, 0x0108, + 0x0005, 0x2009, 0x1132, 0x210c, 0x81ff, 0x0120, 0x2009, 0x0001, + 0x0804, 0x2d46, 0x2001, 0x1100, 0x2004, 0x9086, 0x0003, 0x0120, + 0x2009, 0x0007, 0x0804, 0x2d46, 0x2001, 0x1153, 0x2004, 0xd0ac, + 0x0120, 0x2009, 0x0008, 0x0804, 0x2d46, 0x609c, 0xd0a4, 0x1118, + 0xd0ac, 0x1904, 0x3bb0, 0x6867, 0x0000, 0x6833, 0x0000, 0x6868, + 0xc0fd, 0x686a, 0x080c, 0xbb5b, 0x1120, 0x2009, 0x0003, 0x0804, + 0x2d46, 0x7007, 0x0003, 0x701b, 0x4816, 0x0005, 0x6830, 0x9086, + 0x0100, 0x1120, 0x2009, 0x0004, 0x0804, 0x4ac3, 0x080c, 0x4083, + 0x0904, 0x2d49, 0x0804, 0x47a4, 0x81ff, 0x2009, 0x0001, 0x1904, + 0x2d46, 0x6000, 0x9086, 0x0003, 0x2009, 0x0007, 0x1904, 0x2d46, + 0x2001, 0x1153, 0x2004, 0xd0ac, 0x2009, 0x0008, 0x1904, 0x2d46, + 0x080c, 0x4083, 0x0904, 0x2d49, 0x6004, 0x9084, 0x00ff, 0x9086, + 0x0006, 0x2009, 0x0009, 0x1904, 0x2d46, 0x00c6, 0x080c, 0x404c, + 0x00ce, 0x2009, 0x0002, 0x0904, 0x2d46, 0x6867, 0x0000, 0x6833, + 0x0000, 0x6868, 0xc0fd, 0x686a, 0x7988, 0x9194, 0xff00, 0x918c, + 0x00ff, 0x9006, 0x82ff, 0x1128, 0xc0ed, 0x6952, 0x798c, 0x6956, + 0x0048, 0x928e, 0x0100, 0x1904, 0x2d49, 0xc0e5, 0x6853, 0x0000, + 0x6857, 0x0000, 0x683e, 0x080c, 0xbd79, 0x2009, 0x0003, 0x0904, + 0x2d46, 0x7007, 0x0003, 0x701b, 0x4876, 0x0005, 0x6830, 0x9086, + 0x0100, 0x2009, 0x0004, 0x0904, 0x2d46, 0x0804, 0x2d16, 0x81ff, + 0x2009, 0x0001, 0x1904, 0x2d46, 0x6000, 0x9086, 0x0003, 0x2009, + 0x0007, 0x1904, 0x2d46, 0x080c, 0x4083, 0x0904, 0x2d49, 0x6004, + 0x9084, 0x00ff, 0x9086, 0x0006, 0x2009, 0x0009, 0x1904, 0x2d46, + 0x00c6, 0x080c, 0x404c, 0x00ce, 0x2009, 0x0002, 0x0904, 0x2d46, + 0x9d80, 0x001b, 0x2039, 0x0001, 0x2009, 0x0008, 0x7a8c, 0x7b88, + 0x7c9c, 0x7d98, 0x080c, 0x409f, 0x701b, 0x48af, 0x0005, 0x00d6, + 0x9de8, 0x001b, 0x6800, 0x9086, 0x0500, 0x1140, 0x6804, 0x9005, + 0x1128, 0x6808, 0x9084, 0xff00, 0x1108, 0x0018, 0x00de, 0x1904, + 0x2d49, 0x00de, 0x6867, 0x0000, 0x6833, 0x0000, 0x6868, 0xc0fd, + 0x686a, 0x00c6, 0x080c, 0x4083, 0x1118, 0x00ce, 0x0804, 0x2d49, + 0x2009, 0x0043, 0x080c, 0xbde3, 0x2009, 0x0003, 0x00ce, 0x0904, + 0x2d46, 0x7007, 0x0003, 0x701b, 0x48de, 0x0005, 0x6830, 0x9086, + 0x0100, 0x2009, 0x0004, 0x0904, 0x2d46, 0x0804, 0x2d16, 0x00f6, + 0x00c6, 0x2d78, 0x2061, 0x1100, 0x6000, 0x9086, 0x0003, 0x2009, + 0x0007, 0x1528, 0x080c, 0x4081, 0x0530, 0x6004, 0x9084, 0x00ff, + 0x9086, 0x0006, 0x2009, 0x0009, 0x11d0, 0x9fe8, 0x0031, 0x6800, + 0x9086, 0x0500, 0x11c0, 0x6804, 0x9005, 0x11a8, 0x6808, 0x9084, + 0xff00, 0x1188, 0x080c, 0x4081, 0x1108, 0x0068, 0x2f68, 0x2009, + 0x004b, 0x080c, 0xbde3, 0x2009, 0x0003, 0x0108, 0x0080, 0x7897, + 0x4005, 0x799a, 0x0010, 0x7897, 0x4006, 0x9085, 0x0001, 0x2001, + 0x0030, 0x2009, 0x0000, 0x00ce, 0x2f68, 0x00fe, 0x0005, 0x9006, + 0x00ce, 0x2f68, 0x00fe, 0x0005, 0x81ff, 0x0120, 0x2009, 0x0001, + 0x0804, 0x2d46, 0x6000, 0x9086, 0x0003, 0x0120, 0x2009, 0x0007, + 0x0804, 0x2d46, 0x7e84, 0x860f, 0x918c, 0x00ff, 0x96b4, 0x00ff, + 0x080c, 0x598f, 0x1904, 0x2d49, 0x9186, 0x007f, 0x0150, 0x6004, + 0x9084, 0x00ff, 0x9086, 0x0006, 0x0120, 0x2009, 0x0009, 0x0804, + 0x2d46, 0x00c6, 0x080c, 0x404c, 0x00ce, 0x1120, 0x2009, 0x0002, + 0x0804, 0x2d46, 0x6867, 0x0000, 0x6868, 0xc0fd, 0x686a, 0x2001, + 0x0100, 0x8007, 0x680a, 0x080c, 0xbaf3, 0x1120, 0x2009, 0x0003, + 0x0804, 0x2d46, 0x7007, 0x0003, 0x701b, 0x496f, 0x0005, 0x6808, + 0x8007, 0x9086, 0x0100, 0x1120, 0x2009, 0x0004, 0x0804, 0x2d46, + 0x68e0, 0x6866, 0x6810, 0x8007, 0x9084, 0x00ff, 0x800c, 0x6814, + 0x8007, 0x9084, 0x00ff, 0x8004, 0x9080, 0x0002, 0x9108, 0x9d80, + 0x0004, 0x2039, 0x0001, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, 0x0804, + 0x40a2, 0x080c, 0x404c, 0x1120, 0x2009, 0x0002, 0x0804, 0x2d46, + 0x7984, 0x9194, 0xff00, 0x918c, 0x00ff, 0x8217, 0x82ff, 0x0110, + 0x0804, 0x2d49, 0x2009, 0x001a, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, + 0x2039, 0x0001, 0x080c, 0x409f, 0x701b, 0x49af, 0x0005, 0x9d80, + 0x0019, 0x2098, 0x20e1, 0x0001, 0x20a9, 0x001a, 0x20a1, 0x1362, + 0x20e9, 0x0001, 0x4003, 0x0804, 0x2d16, 0x080c, 0x404c, 0x1120, + 0x2009, 0x0002, 0x0804, 0x2d46, 0x7984, 0x9194, 0xff00, 0x918c, + 0x00ff, 0x8217, 0x82ff, 0x0110, 0x0804, 0x2d49, 0x2099, 0x1362, + 0x20a0, 0x20e9, 0x0001, 0x20a9, 0x001a, 0x20e1, 0x0001, 0x4003, + 0x2009, 0x001a, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, 0x2039, 0x0001, + 0x0804, 0x40a2, 0x7884, 0x908a, 0x1000, 0x1a04, 0x2d49, 0x0126, + 0x2091, 0x8000, 0x8003, 0x800b, 0x810b, 0x9108, 0x00c6, 0x2061, + 0x138f, 0x6142, 0x00ce, 0x012e, 0x0804, 0x2d16, 0x00c6, 0x080c, + 0x672f, 0x1188, 0x2001, 0x1321, 0x2003, 0x0001, 0x2001, 0x1100, + 0x2003, 0x0001, 0x9085, 0x0001, 0x080c, 0x6773, 0x080c, 0x665f, + 0x080c, 0x0d52, 0x0038, 0x2061, 0x1100, 0x6030, 0xc09d, 0x6032, + 0x080c, 0x5295, 0x00ce, 0x0005, 0x00c6, 0x2001, 0x1100, 0x2004, + 0x908e, 0x0000, 0x0904, 0x2d46, 0x7884, 0x9005, 0x0188, 0x7888, + 0x2061, 0x134f, 0x2c0c, 0x2062, 0x080c, 0x2472, 0x01a0, 0x080c, + 0x247a, 0x0188, 0x080c, 0x2482, 0x0170, 0x2162, 0x0804, 0x2d49, + 0x2061, 0x0100, 0x6038, 0x9086, 0x0007, 0x1118, 0x2009, 0x0001, + 0x0010, 0x2009, 0x0000, 0x7884, 0x9086, 0x0002, 0x1558, 0x2061, + 0x0100, 0x6028, 0xc09c, 0x602a, 0x0026, 0x2011, 0x0003, 0x080c, + 0x979d, 0x2011, 0x0002, 0x080c, 0x97a7, 0x002e, 0x080c, 0x9676, + 0x0036, 0x2019, 0x0000, 0x080c, 0x9708, 0x003e, 0x60e3, 0x0000, + 0x080c, 0xd5ac, 0x080c, 0xd5c7, 0x9085, 0x0001, 0x080c, 0x6773, + 0x2001, 0x0140, 0x2003, 0x0000, 0x2001, 0x1100, 0x2003, 0x0004, + 0x6027, 0x0008, 0x00ce, 0x0804, 0x2d16, 0x81ff, 0x0120, 0x2009, + 0x0001, 0x0804, 0x2d46, 0x6000, 0x9086, 0x0003, 0x0120, 0x2009, + 0x0007, 0x0804, 0x2d46, 0x7e84, 0x860f, 0x918c, 0x00ff, 0x96b4, + 0x00ff, 0x080c, 0x598f, 0x1904, 0x2d49, 0x9186, 0x007f, 0x0150, + 0x6004, 0x9084, 0x00ff, 0x9086, 0x0006, 0x0120, 0x2009, 0x0009, + 0x0804, 0x2d46, 0x00c6, 0x080c, 0x404c, 0x00ce, 0x1120, 0x2009, + 0x0002, 0x0804, 0x2d46, 0x6867, 0x0000, 0x6868, 0xc0fd, 0x686a, + 0x080c, 0xbb0f, 0x1120, 0x2009, 0x0003, 0x0804, 0x2d46, 0x7007, + 0x0003, 0x701b, 0x4aac, 0x0005, 0x6830, 0x9086, 0x0100, 0x1120, + 0x2009, 0x0004, 0x0804, 0x2d46, 0x68e0, 0x6866, 0x6834, 0x8007, + 0x800c, 0x9d80, 0x000c, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, 0x2039, + 0x0001, 0x0804, 0x40a2, 0x6898, 0x9086, 0x000d, 0x1904, 0x2d46, + 0x2021, 0x4005, 0x0126, 0x2091, 0x8000, 0x0e04, 0x4ad0, 0x0010, + 0x012e, 0x0cc0, 0x7c36, 0x9486, 0x4000, 0x0118, 0x7833, 0x0011, + 0x0010, 0x7833, 0x0010, 0x7883, 0x4005, 0x6998, 0x7986, 0x69a4, + 0x799a, 0x69a8, 0x799e, 0x080c, 0x4092, 0x2091, 0x4080, 0x2001, + 0x0089, 0x2004, 0xd084, 0x190c, 0x0f80, 0x7007, 0x0001, 0x2091, + 0x5000, 0x012e, 0x0005, 0x0126, 0x2091, 0x8000, 0x00c6, 0x2061, + 0x138f, 0x7984, 0x6152, 0x614e, 0x6057, 0x0000, 0x604b, 0x0009, + 0x7898, 0x606a, 0x789c, 0x6066, 0x7888, 0x6062, 0x788c, 0x605e, + 0x2061, 0x1323, 0x2001, 0x13a4, 0x6012, 0x600f, 0x0001, 0x6017, + 0x0001, 0x601b, 0x0002, 0x6007, 0x0000, 0x603b, 0x0000, 0x00ce, + 0x012e, 0x0804, 0x2d16, 0x0126, 0x0156, 0x0136, 0x0146, 0x01c6, + 0x01d6, 0x00c6, 0x00d6, 0x00e6, 0x00f6, 0x2061, 0x0100, 0x2069, + 0x0200, 0x2071, 0x1100, 0x6044, 0xd0a4, 0x11e8, 0xd084, 0x0118, + 0x080c, 0x4cb1, 0x0068, 0xd08c, 0x0118, 0x080c, 0x4bc1, 0x0040, + 0xd094, 0x0118, 0x080c, 0x4b94, 0x0018, 0xd09c, 0x0108, 0x0099, + 0x00fe, 0x00ee, 0x00de, 0x00ce, 0x01de, 0x01ce, 0x014e, 0x013e, + 0x015e, 0x012e, 0x0005, 0x0016, 0x6128, 0xd19c, 0x1110, 0xc19d, + 0x612a, 0x001e, 0x0c68, 0x624c, 0x9286, 0xf0f0, 0x1150, 0x6048, + 0x9086, 0xf0f0, 0x0130, 0x624a, 0x6043, 0x0090, 0x6043, 0x0010, + 0x0490, 0x9294, 0xff00, 0x9296, 0xf700, 0x0178, 0x7134, 0xd1a4, + 0x1160, 0x6240, 0x9295, 0x0100, 0x6242, 0x9294, 0x0010, 0x0128, + 0x2009, 0x00f7, 0x080c, 0x5361, 0x00f0, 0x6040, 0x9084, 0x0010, + 0x9085, 0x0140, 0x6042, 0x6043, 0x0000, 0x707f, 0x0000, 0x709b, + 0x0001, 0x70bf, 0x0000, 0x70d7, 0x0000, 0x2009, 0x1680, 0x200b, + 0x0000, 0x708f, 0x0000, 0x7083, 0x000f, 0x2009, 0x000f, 0x2011, + 0x523e, 0x080c, 0x77c4, 0x0005, 0x2001, 0x1174, 0x2004, 0xd08c, + 0x0110, 0x7057, 0xffff, 0x7080, 0x9005, 0x1510, 0x2011, 0x523e, + 0x080c, 0x7738, 0x6040, 0x9094, 0x0010, 0x9285, 0x0020, 0x6042, + 0x20a9, 0x00c8, 0x6044, 0xd08c, 0x1168, 0x1f04, 0x4baa, 0x6242, + 0x7093, 0x0000, 0x6040, 0x9094, 0x0010, 0x9285, 0x0080, 0x6042, + 0x6242, 0x0030, 0x6242, 0x7093, 0x0000, 0x7087, 0x0000, 0x0000, + 0x0005, 0x7084, 0x908a, 0x0003, 0x1210, 0x0023, 0x0010, 0x080c, + 0x0d52, 0x0005, 0x4bcd, 0x4c15, 0x4cb0, 0x00f6, 0x7087, 0x0001, + 0x6803, 0x00fc, 0x20a9, 0x0004, 0x6800, 0x9084, 0x00fc, 0x0120, + 0x1f04, 0x4bd4, 0x080c, 0x0d52, 0x68a0, 0x68a2, 0x689c, 0x689e, + 0x6898, 0x689a, 0xa001, 0x6803, 0x1600, 0x6837, 0x0020, 0x080c, + 0x53bf, 0x2079, 0x1600, 0x7833, 0x1101, 0x7837, 0x0000, 0x20e1, + 0x0001, 0x2099, 0x1105, 0x20e9, 0x0001, 0x20a1, 0x160e, 0x20a9, + 0x0004, 0x4003, 0x080c, 0x9c7e, 0x20e1, 0x0001, 0x2099, 0x1600, + 0x20e9, 0x0000, 0x20a1, 0x0240, 0x20a9, 0x0014, 0x4003, 0x60c3, + 0x000c, 0x600f, 0x0000, 0x080c, 0x5271, 0x00fe, 0x708b, 0x0000, + 0x6043, 0x0008, 0x6043, 0x0000, 0x0005, 0x00f6, 0x7088, 0x708b, + 0x0000, 0x9025, 0x0904, 0x4c8d, 0x6020, 0xd0b4, 0x1904, 0x4c8b, + 0x7198, 0x81ff, 0x0904, 0x4c79, 0x9486, 0x000c, 0x1904, 0x4c86, + 0x9480, 0x0018, 0x8004, 0x20a8, 0x080c, 0x53b7, 0x2011, 0x0260, + 0x2019, 0x1600, 0x220c, 0x2304, 0x9106, 0x11e8, 0x8210, 0x8318, + 0x1f04, 0x4c32, 0x6043, 0x0004, 0x2061, 0x0140, 0x605b, 0xbc94, + 0x605f, 0xf0f0, 0x2061, 0x0100, 0x6043, 0x0006, 0x7087, 0x0002, + 0x7093, 0x0002, 0x2009, 0x07d0, 0x2011, 0x5245, 0x080c, 0x77c4, + 0x080c, 0x53bf, 0x04c0, 0x080c, 0x53b7, 0x2079, 0x0260, 0x7930, + 0x918e, 0x1101, 0x1558, 0x7834, 0x9005, 0x1540, 0x7900, 0x918c, + 0x00ff, 0x1118, 0x7804, 0x9005, 0x0190, 0x080c, 0x53b7, 0x2011, + 0x026e, 0x2019, 0x1105, 0x20a9, 0x0004, 0x220c, 0x2304, 0x9102, + 0x0230, 0x11a0, 0x8210, 0x8318, 0x1f04, 0x4c6d, 0x0078, 0x709b, + 0x0000, 0x080c, 0x53b7, 0x20e1, 0x0000, 0x2099, 0x0260, 0x20e9, + 0x0001, 0x20a1, 0x1600, 0x20a9, 0x0014, 0x4003, 0x6043, 0x0008, + 0x6043, 0x0000, 0x0010, 0x00fe, 0x0005, 0x6040, 0x9085, 0x0100, + 0x6042, 0x6020, 0xd0b4, 0x1db8, 0x080c, 0x9c7e, 0x20e1, 0x0001, + 0x2099, 0x1600, 0x20e9, 0x0000, 0x20a1, 0x0240, 0x20a9, 0x0014, + 0x4003, 0x60c3, 0x000c, 0x2011, 0x1386, 0x2013, 0x0000, 0x708b, + 0x0000, 0x60a3, 0x0056, 0x60a7, 0x9575, 0x080c, 0x948b, 0x08d8, + 0x0005, 0x7090, 0x908a, 0x001d, 0x1210, 0x0023, 0x0010, 0x080c, + 0x0d52, 0x0005, 0x4ce4, 0x4cf7, 0x4d21, 0x4d41, 0x4d67, 0x4d96, + 0x4dbc, 0x4df4, 0x4e1a, 0x4e48, 0x4e81, 0x4eb9, 0x4ed7, 0x4f02, + 0x4f24, 0x4f3b, 0x4f43, 0x4f78, 0x4f9e, 0x4fcd, 0x4ff3, 0x502b, + 0x5065, 0x509a, 0x50b8, 0x5111, 0x5133, 0x515d, 0x515e, 0x00c6, + 0x2061, 0x1100, 0x6003, 0x0007, 0x2061, 0x0100, 0x6004, 0x9084, + 0xfff9, 0x6006, 0x00ce, 0x0005, 0x2061, 0x0140, 0x605b, 0xbc94, + 0x605f, 0xf0f0, 0x2061, 0x0100, 0x6043, 0x0002, 0x7093, 0x0001, + 0x2009, 0x07d0, 0x2011, 0x5245, 0x080c, 0x77c4, 0x0005, 0x00f6, + 0x7088, 0x9086, 0x0014, 0x1518, 0x6043, 0x0000, 0x6020, 0xd0b4, + 0x11f0, 0x080c, 0x53b7, 0x2079, 0x0260, 0x7a30, 0x9296, 0x1102, + 0x11a0, 0x7834, 0x9005, 0x1188, 0x7a38, 0xd2fc, 0x0128, 0x70bc, + 0x9005, 0x1110, 0x70bf, 0x0001, 0x2011, 0x5245, 0x080c, 0x7738, + 0x7093, 0x0010, 0x080c, 0x4f43, 0x0010, 0x708b, 0x0000, 0x00fe, + 0x0005, 0x00f6, 0x7093, 0x0003, 0x6043, 0x0004, 0x2011, 0x5245, + 0x080c, 0x7738, 0x080c, 0x5343, 0x2079, 0x0240, 0x7833, 0x1102, + 0x7837, 0x0000, 0x20a9, 0x0008, 0x9f88, 0x000e, 0x200b, 0x0000, + 0x8108, 0x1f04, 0x4d36, 0x60c3, 0x0014, 0x080c, 0x5271, 0x00fe, + 0x0005, 0x00f6, 0x7088, 0x9005, 0x0500, 0x2011, 0x5245, 0x080c, + 0x7738, 0x9086, 0x0014, 0x11b8, 0x080c, 0x53b7, 0x2079, 0x0260, + 0x7a30, 0x9296, 0x1102, 0x1178, 0x7834, 0x9005, 0x1160, 0x7a38, + 0xd2fc, 0x0128, 0x70bc, 0x9005, 0x1110, 0x70bf, 0x0001, 0x7093, + 0x0004, 0x0029, 0x0010, 0x080c, 0x5393, 0x00fe, 0x0005, 0x00f6, + 0x7093, 0x0005, 0x080c, 0x5343, 0x2079, 0x0240, 0x7833, 0x1103, + 0x7837, 0x0000, 0x080c, 0x53b7, 0x080c, 0x539a, 0x1170, 0x707c, + 0x9005, 0x1158, 0x7154, 0x9186, 0xffff, 0x0138, 0x2011, 0x0008, + 0x080c, 0x51f1, 0x0168, 0x080c, 0x5378, 0x20a9, 0x0008, 0x20e1, + 0x0000, 0x2099, 0x026e, 0x20e9, 0x0000, 0x20a1, 0x024e, 0x4003, + 0x60c3, 0x0014, 0x080c, 0x5271, 0x00fe, 0x0005, 0x00f6, 0x7088, + 0x9005, 0x0500, 0x2011, 0x5245, 0x080c, 0x7738, 0x9086, 0x0014, + 0x11b8, 0x080c, 0x53b7, 0x2079, 0x0260, 0x7a30, 0x9296, 0x1103, + 0x1178, 0x7834, 0x9005, 0x1160, 0x7a38, 0xd2fc, 0x0128, 0x70bc, + 0x9005, 0x1110, 0x70bf, 0x0001, 0x7093, 0x0006, 0x0029, 0x0010, + 0x080c, 0x5393, 0x00fe, 0x0005, 0x00f6, 0x7093, 0x0007, 0x080c, + 0x5343, 0x2079, 0x0240, 0x7833, 0x1104, 0x7837, 0x0000, 0x080c, + 0x53b7, 0x080c, 0x539a, 0x11b8, 0x707c, 0x9005, 0x11a0, 0x715c, + 0x9186, 0xffff, 0x0180, 0x9180, 0x2b33, 0x200d, 0x918c, 0xff00, + 0x810f, 0x2011, 0x0008, 0x080c, 0x51f1, 0x0180, 0x080c, 0x44b3, + 0x0110, 0x080c, 0x20e2, 0x20a9, 0x0008, 0x20e1, 0x0000, 0x2099, + 0x026e, 0x20e9, 0x0000, 0x20a1, 0x024e, 0x4003, 0x60c3, 0x0014, + 0x080c, 0x5271, 0x00fe, 0x0005, 0x00f6, 0x7088, 0x9005, 0x0500, + 0x2011, 0x5245, 0x080c, 0x7738, 0x9086, 0x0014, 0x11b8, 0x080c, + 0x53b7, 0x2079, 0x0260, 0x7a30, 0x9296, 0x1104, 0x1178, 0x7834, + 0x9005, 0x1160, 0x7a38, 0xd2fc, 0x0128, 0x70bc, 0x9005, 0x1110, + 0x70bf, 0x0001, 0x7093, 0x0008, 0x0029, 0x0010, 0x080c, 0x5393, + 0x00fe, 0x0005, 0x00f6, 0x7093, 0x0009, 0x080c, 0x5343, 0x2079, + 0x0240, 0x7833, 0x1105, 0x7837, 0x0100, 0x080c, 0x539a, 0x1150, + 0x707c, 0x9005, 0x1138, 0x080c, 0x515f, 0x1188, 0x9085, 0x0001, + 0x080c, 0x20e2, 0x20a9, 0x0008, 0x080c, 0x53b7, 0x20e1, 0x0000, + 0x2099, 0x026e, 0x20e9, 0x0000, 0x20a1, 0x024e, 0x4003, 0x60c3, + 0x0014, 0x080c, 0x5271, 0x0010, 0x080c, 0x4cd7, 0x00fe, 0x0005, + 0x00f6, 0x7088, 0x9005, 0x0598, 0x2011, 0x5245, 0x080c, 0x7738, + 0x9086, 0x0014, 0x1550, 0x080c, 0x53b7, 0x2079, 0x0260, 0x7a30, + 0x9296, 0x1105, 0x1510, 0x7834, 0x2011, 0x0100, 0x921e, 0x1160, + 0x7a38, 0xd2fc, 0x0128, 0x70bc, 0x9005, 0x1110, 0x70bf, 0x0001, + 0x7093, 0x000a, 0x00b1, 0x0098, 0x9005, 0x1178, 0x7a38, 0xd2fc, + 0x0128, 0x70bc, 0x9005, 0x1110, 0x70bf, 0x0001, 0x708f, 0x0000, + 0x7093, 0x000e, 0x080c, 0x4f24, 0x0010, 0x080c, 0x5393, 0x00fe, + 0x0005, 0x00f6, 0x7093, 0x000b, 0x2011, 0x160e, 0x20e9, 0x0001, + 0x22a0, 0x20a9, 0x0040, 0x2019, 0xffff, 0x4304, 0x080c, 0x5343, + 0x2079, 0x0240, 0x7833, 0x1106, 0x7837, 0x0000, 0x080c, 0x539a, + 0x0118, 0x2013, 0x0000, 0x0020, 0x7058, 0x9085, 0x0100, 0x2012, + 0x20a9, 0x0040, 0x2009, 0x024e, 0x2011, 0x160e, 0x220e, 0x8210, + 0x8108, 0x9186, 0x0260, 0x1128, 0x6810, 0x8000, 0x6812, 0x2009, + 0x0240, 0x1f04, 0x4ea6, 0x60c3, 0x0084, 0x080c, 0x5271, 0x00fe, + 0x0005, 0x00f6, 0x7088, 0x9005, 0x01c0, 0x2011, 0x5245, 0x080c, + 0x7738, 0x9086, 0x0084, 0x1178, 0x080c, 0x53b7, 0x2079, 0x0260, + 0x7a30, 0x9296, 0x1106, 0x1138, 0x7834, 0x9005, 0x1120, 0x7093, + 0x000c, 0x0029, 0x0010, 0x080c, 0x5393, 0x00fe, 0x0005, 0x00f6, + 0x7093, 0x000d, 0x080c, 0x5343, 0x2079, 0x0240, 0x7833, 0x1107, + 0x7837, 0x0000, 0x080c, 0x53b7, 0x20a9, 0x0040, 0x2011, 0x026e, + 0x2009, 0x024e, 0x220e, 0x8210, 0x8108, 0x9186, 0x0260, 0x1150, + 0x6810, 0x8000, 0x6812, 0x2009, 0x0240, 0x6814, 0x8000, 0x6816, + 0x2011, 0x0260, 0x1f04, 0x4eea, 0x60c3, 0x0084, 0x080c, 0x5271, + 0x00fe, 0x0005, 0x00f6, 0x7088, 0x9005, 0x01e0, 0x2011, 0x5245, + 0x080c, 0x7738, 0x9086, 0x0084, 0x1198, 0x080c, 0x53b7, 0x2079, + 0x0260, 0x7a30, 0x9296, 0x1107, 0x1158, 0x7834, 0x9005, 0x1140, + 0x708f, 0x0001, 0x080c, 0x5315, 0x7093, 0x000e, 0x0029, 0x0010, + 0x080c, 0x5393, 0x00fe, 0x0005, 0x7093, 0x000f, 0x708b, 0x0000, + 0x2061, 0x0140, 0x605b, 0xbc85, 0x605f, 0xb5b5, 0x2061, 0x0100, + 0x6043, 0x0005, 0x6043, 0x0004, 0x2009, 0x07d0, 0x2011, 0x5245, + 0x080c, 0x772c, 0x0005, 0x7088, 0x9005, 0x0120, 0x2011, 0x5245, + 0x080c, 0x7738, 0x0005, 0x7093, 0x0011, 0x080c, 0x9c7e, 0x080c, + 0x53b7, 0x20e1, 0x0000, 0x2099, 0x0260, 0x20e9, 0x0000, 0x20a1, + 0x0240, 0x7488, 0x9480, 0x0018, 0x9080, 0x0007, 0x9084, 0x03f8, + 0x8004, 0x20a8, 0x4003, 0x080c, 0x539a, 0x11a8, 0x7174, 0x81ff, + 0x0190, 0x2009, 0x0000, 0x7078, 0x9084, 0x00ff, 0x0160, 0x080c, + 0x2098, 0x9186, 0x007e, 0x0138, 0x9186, 0x0080, 0x0120, 0x2011, + 0x0008, 0x080c, 0x51f1, 0x60c3, 0x0014, 0x080c, 0x5271, 0x0005, + 0x00f6, 0x7088, 0x9005, 0x0500, 0x2011, 0x5245, 0x080c, 0x7738, + 0x9086, 0x0014, 0x11b8, 0x080c, 0x53b7, 0x2079, 0x0260, 0x7a30, + 0x9296, 0x1103, 0x1178, 0x7834, 0x9005, 0x1160, 0x7a38, 0xd2fc, + 0x0128, 0x70bc, 0x9005, 0x1110, 0x70bf, 0x0001, 0x7093, 0x0012, + 0x0029, 0x0010, 0x708b, 0x0000, 0x00fe, 0x0005, 0x00f6, 0x7093, + 0x0013, 0x080c, 0x5351, 0x2079, 0x0240, 0x7833, 0x1103, 0x7837, + 0x0000, 0x080c, 0x53b7, 0x080c, 0x539a, 0x1170, 0x707c, 0x9005, + 0x1158, 0x7154, 0x9186, 0xffff, 0x0138, 0x2011, 0x0008, 0x080c, + 0x51f1, 0x0168, 0x080c, 0x5378, 0x20a9, 0x0008, 0x20e1, 0x0000, + 0x2099, 0x026e, 0x20e9, 0x0000, 0x20a1, 0x024e, 0x4003, 0x60c3, + 0x0014, 0x080c, 0x5271, 0x00fe, 0x0005, 0x00f6, 0x7088, 0x9005, + 0x0500, 0x2011, 0x5245, 0x080c, 0x7738, 0x9086, 0x0014, 0x11b8, + 0x080c, 0x53b7, 0x2079, 0x0260, 0x7a30, 0x9296, 0x1104, 0x1178, + 0x7834, 0x9005, 0x1160, 0x7a38, 0xd2fc, 0x0128, 0x70bc, 0x9005, + 0x1110, 0x70bf, 0x0001, 0x7093, 0x0014, 0x0029, 0x0010, 0x708b, + 0x0000, 0x00fe, 0x0005, 0x00f6, 0x7093, 0x0015, 0x080c, 0x5351, + 0x2079, 0x0240, 0x7833, 0x1104, 0x7837, 0x0000, 0x080c, 0x53b7, + 0x080c, 0x539a, 0x11b8, 0x707c, 0x9005, 0x11a0, 0x715c, 0x9186, + 0xffff, 0x0180, 0x9180, 0x2b33, 0x200d, 0x918c, 0xff00, 0x810f, + 0x2011, 0x0008, 0x080c, 0x51f1, 0x0180, 0x080c, 0x44b3, 0x0110, + 0x080c, 0x20e2, 0x20a9, 0x0008, 0x20e1, 0x0000, 0x2099, 0x026e, + 0x20e9, 0x0000, 0x20a1, 0x024e, 0x4003, 0x60c3, 0x0014, 0x080c, + 0x5271, 0x00fe, 0x0005, 0x00f6, 0x7088, 0x9005, 0x05a0, 0x2011, + 0x5245, 0x080c, 0x7738, 0x9086, 0x0014, 0x1558, 0x080c, 0x53b7, + 0x2079, 0x0260, 0x7a30, 0x9296, 0x1105, 0x1518, 0x7834, 0x2011, + 0x0100, 0x921e, 0x1148, 0x7a38, 0xd2fc, 0x0128, 0x70bc, 0x9005, + 0x1110, 0x70bf, 0x0001, 0x0060, 0x9005, 0x1198, 0x7a38, 0xd2fc, + 0x0128, 0x70bc, 0x9005, 0x1110, 0x70bf, 0x0001, 0x708f, 0x0000, + 0x7a38, 0xd2f4, 0x0110, 0x70d7, 0x0008, 0x7093, 0x0016, 0x0029, + 0x0010, 0x708b, 0x0000, 0x00fe, 0x0005, 0x080c, 0x9c7e, 0x080c, + 0x53b7, 0x20e1, 0x0000, 0x2099, 0x0260, 0x20e9, 0x0000, 0x20a1, + 0x0240, 0x20a9, 0x000e, 0x4003, 0x2011, 0x026e, 0x7093, 0x0017, + 0x080c, 0x539a, 0x1150, 0x707c, 0x9005, 0x1138, 0x080c, 0x515f, + 0x1188, 0x9085, 0x0001, 0x080c, 0x20e2, 0x20a9, 0x0008, 0x080c, + 0x53b7, 0x20e1, 0x0000, 0x2099, 0x026e, 0x20e9, 0x0000, 0x20a1, + 0x024e, 0x4003, 0x60c3, 0x0014, 0x080c, 0x5271, 0x0010, 0x080c, + 0x4cd7, 0x0005, 0x00f6, 0x7088, 0x9005, 0x01c0, 0x2011, 0x5245, + 0x080c, 0x7738, 0x9086, 0x0084, 0x1178, 0x080c, 0x53b7, 0x2079, + 0x0260, 0x7a30, 0x9296, 0x1106, 0x1138, 0x7834, 0x9005, 0x1120, + 0x7093, 0x0018, 0x0029, 0x0010, 0x708b, 0x0000, 0x00fe, 0x0005, + 0x00f6, 0x7093, 0x0019, 0x080c, 0x5351, 0x2079, 0x0240, 0x7833, + 0x1106, 0x7837, 0x0000, 0x080c, 0x53b7, 0x2009, 0x026e, 0x2039, + 0x160e, 0x20a9, 0x0040, 0x213e, 0x8738, 0x8108, 0x9186, 0x0280, + 0x1128, 0x6814, 0x8000, 0x6816, 0x2009, 0x0260, 0x1f04, 0x50cb, + 0x2039, 0x160e, 0x080c, 0x539a, 0x11e8, 0x2728, 0x2514, 0x8207, + 0x9084, 0x00ff, 0x8000, 0x2018, 0x9294, 0x00ff, 0x8007, 0x9205, + 0x202a, 0x7058, 0x2310, 0x8214, 0x92a0, 0x160e, 0x2414, 0x938c, + 0x0001, 0x0118, 0x9294, 0xff00, 0x0018, 0x9294, 0x00ff, 0x8007, + 0x9215, 0x2222, 0x20a9, 0x0040, 0x2009, 0x024e, 0x270e, 0x8738, + 0x8108, 0x9186, 0x0260, 0x1128, 0x6810, 0x8000, 0x6812, 0x2009, + 0x0240, 0x1f04, 0x50fe, 0x60c3, 0x0084, 0x080c, 0x5271, 0x00fe, + 0x0005, 0x00f6, 0x7088, 0x9005, 0x01e0, 0x2011, 0x5245, 0x080c, + 0x7738, 0x9086, 0x0084, 0x1198, 0x080c, 0x53b7, 0x2079, 0x0260, + 0x7a30, 0x9296, 0x1107, 0x1158, 0x7834, 0x9005, 0x1140, 0x708f, + 0x0001, 0x080c, 0x5315, 0x7093, 0x001a, 0x0029, 0x0010, 0x708b, + 0x0000, 0x00fe, 0x0005, 0x7093, 0x001b, 0x080c, 0x9c7e, 0x080c, + 0x53b7, 0x2011, 0x0260, 0x2009, 0x0240, 0x7488, 0x9480, 0x0018, + 0x9080, 0x0007, 0x9084, 0x03f8, 0x8004, 0x20a8, 0x220e, 0x8210, + 0x8108, 0x9186, 0x0260, 0x1150, 0x6810, 0x8000, 0x6812, 0x2009, + 0x0240, 0x6814, 0x8000, 0x6816, 0x2011, 0x0260, 0x1f04, 0x5146, + 0x60c3, 0x0084, 0x080c, 0x5271, 0x0005, 0x0005, 0x0005, 0x0086, + 0x0096, 0x2029, 0x1153, 0x252c, 0x20a9, 0x0008, 0x2041, 0x160e, + 0x20e9, 0x0001, 0x28a0, 0x080c, 0x53b7, 0x20e1, 0x0000, 0x2099, + 0x026e, 0x4003, 0x20a9, 0x0008, 0x2011, 0x0007, 0xd5d4, 0x0110, + 0x2011, 0x0000, 0x2800, 0x9200, 0x200c, 0x91a6, 0xffff, 0x1148, + 0xd5d4, 0x0110, 0x8210, 0x0008, 0x8211, 0x1f04, 0x517a, 0x0804, + 0x51e9, 0x82ff, 0x1160, 0xd5d4, 0x0120, 0x91a6, 0x3fff, 0x0d90, + 0x0020, 0x91a6, 0x3fff, 0x0904, 0x51e9, 0x918d, 0xc000, 0x20a9, + 0x0010, 0x2019, 0x0001, 0xd5d4, 0x0110, 0x2019, 0x0010, 0x2120, + 0xd5d4, 0x0110, 0x8423, 0x0008, 0x8424, 0x1240, 0xd5d4, 0x0110, + 0x8319, 0x0008, 0x8318, 0x1f04, 0x51a0, 0x04d8, 0x23a8, 0x2021, + 0x0001, 0x8426, 0x8425, 0x1f04, 0x51b2, 0x2328, 0x8529, 0x92be, + 0x0007, 0x0158, 0x0006, 0x2039, 0x0007, 0x2200, 0x973a, 0x000e, + 0x27a8, 0x95a8, 0x0010, 0x1f04, 0x51c1, 0x7556, 0x95c8, 0x2b33, + 0x292d, 0x95ac, 0x00ff, 0x757a, 0x6532, 0x6536, 0x0016, 0x2508, + 0x080c, 0x20c2, 0x001e, 0x60e7, 0x0000, 0x65ea, 0x2018, 0x2304, + 0x9405, 0x201a, 0x707f, 0x0001, 0x20e9, 0x0000, 0x20a1, 0x024e, + 0x20e1, 0x0001, 0x2898, 0x20a9, 0x0008, 0x4003, 0x9085, 0x0001, + 0x0028, 0x9006, 0x0018, 0x9006, 0x080c, 0x0d52, 0x009e, 0x008e, + 0x0005, 0x0156, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x22a8, 0x20e1, + 0x0000, 0x2099, 0x026e, 0x20e9, 0x0000, 0x2011, 0x024e, 0x22a0, + 0x4003, 0x014e, 0x013e, 0x01de, 0x01ce, 0x015e, 0x2118, 0x2021, + 0x0000, 0x2001, 0x0007, 0x939a, 0x0010, 0x0218, 0x8420, 0x8001, + 0x0cd0, 0x2118, 0x84ff, 0x0120, 0x939a, 0x0010, 0x8421, 0x1de0, + 0x2021, 0x0001, 0x83ff, 0x0118, 0x8423, 0x8319, 0x1de8, 0x9238, + 0x2029, 0x026e, 0x9528, 0x2504, 0x942c, 0x11b8, 0x9405, 0x203a, + 0x7156, 0x91a0, 0x2b33, 0x242d, 0x95ac, 0x00ff, 0x757a, 0x6532, + 0x6536, 0x0016, 0x2508, 0x080c, 0x20c2, 0x001e, 0x60e7, 0x0000, + 0x65ea, 0x707f, 0x0001, 0x9084, 0x0000, 0x0005, 0x00e6, 0x2071, + 0x1100, 0x7083, 0x0000, 0x00ee, 0x0005, 0x00e6, 0x00f6, 0x2079, + 0x0100, 0x2071, 0x0140, 0x080c, 0x5304, 0x080c, 0x9494, 0x7004, + 0x9084, 0x4000, 0x0120, 0x7003, 0x1000, 0x7003, 0x0000, 0x0126, + 0x2091, 0x8000, 0x2071, 0x1124, 0x2073, 0x0000, 0x7840, 0x0026, + 0x0016, 0x2009, 0x00f7, 0x080c, 0x5361, 0x001e, 0x9094, 0x0010, + 0x9285, 0x0080, 0x7842, 0x7a42, 0x002e, 0x012e, 0x00fe, 0x00ee, + 0x0005, 0x0126, 0x2091, 0x8000, 0x2011, 0x1386, 0x2013, 0x0000, + 0x708b, 0x0000, 0x012e, 0x60a3, 0x0056, 0x60a7, 0x9575, 0x080c, + 0x948b, 0x6144, 0xd184, 0x0120, 0x7190, 0x918d, 0x2000, 0x0018, + 0x7184, 0x918d, 0x1000, 0x2011, 0x134c, 0x2112, 0x2009, 0x07d0, + 0x2011, 0x5245, 0x080c, 0x77c4, 0x0005, 0x0016, 0x0026, 0x00c6, + 0x0126, 0x2091, 0x8000, 0x2011, 0x0003, 0x080c, 0x979d, 0x2011, + 0x0002, 0x080c, 0x97a7, 0x080c, 0x9676, 0x0036, 0x2019, 0x0000, + 0x080c, 0x9708, 0x003e, 0x2009, 0x00f7, 0x080c, 0x5361, 0x2061, + 0x138f, 0x601b, 0x0000, 0x601f, 0x0000, 0x2061, 0x1100, 0x6003, + 0x0001, 0x2061, 0x0100, 0x6043, 0x0090, 0x6043, 0x0010, 0x2009, + 0x134c, 0x200b, 0x0000, 0x2009, 0x002d, 0x2011, 0x52ce, 0x080c, + 0x772c, 0x012e, 0x00ce, 0x002e, 0x001e, 0x0005, 0x00e6, 0x0006, + 0x0126, 0x2091, 0x8000, 0x0481, 0x2071, 0x0100, 0x080c, 0x9494, + 0x2071, 0x0140, 0x7004, 0x9084, 0x4000, 0x0120, 0x7003, 0x1000, + 0x7003, 0x0000, 0x080c, 0x6737, 0x01a8, 0x080c, 0x6755, 0x1190, + 0x2001, 0x1320, 0x2003, 0xaaaa, 0x0016, 0x080c, 0x2198, 0x2001, + 0x1311, 0x2102, 0x001e, 0x2001, 0x1321, 0x2003, 0x0000, 0x080c, + 0x665f, 0x0030, 0x2001, 0x0001, 0x080c, 0x2058, 0x080c, 0x5295, + 0x012e, 0x000e, 0x00ee, 0x0005, 0x2001, 0x110d, 0x2004, 0xd0bc, + 0x0158, 0x0026, 0x0036, 0x2011, 0x8017, 0x2001, 0x134c, 0x201c, + 0x080c, 0x40b6, 0x003e, 0x002e, 0x0005, 0x20a9, 0x0012, 0x20e9, + 0x0001, 0x20a1, 0x1680, 0x080c, 0x53b7, 0x20e9, 0x0000, 0x2099, + 0x026e, 0x0099, 0x20a9, 0x0020, 0x080c, 0x53b1, 0x2099, 0x0260, + 0x20a1, 0x1692, 0x0051, 0x20a9, 0x000e, 0x080c, 0x53b4, 0x2099, + 0x0260, 0x20a1, 0x16b2, 0x0009, 0x0005, 0x0016, 0x0026, 0x3410, + 0x3308, 0x2104, 0x8007, 0x2012, 0x8108, 0x8210, 0x1f04, 0x5339, + 0x002e, 0x001e, 0x0005, 0x080c, 0x9c7e, 0x20e1, 0x0001, 0x2099, + 0x1600, 0x20e9, 0x0000, 0x20a1, 0x0240, 0x20a9, 0x000c, 0x4003, + 0x0005, 0x080c, 0x9c7e, 0x080c, 0x53b7, 0x20e1, 0x0000, 0x2099, + 0x0260, 0x20e9, 0x0000, 0x20a1, 0x0240, 0x20a9, 0x000c, 0x4003, + 0x0005, 0x00c6, 0x0006, 0x2061, 0x0100, 0x810f, 0x2001, 0x1132, + 0x2004, 0x9005, 0x1138, 0x2001, 0x1116, 0x2004, 0x9084, 0x00ff, + 0x9105, 0x0010, 0x9185, 0x00f7, 0x604a, 0x000e, 0x00ce, 0x0005, + 0x0016, 0x0046, 0x2001, 0x1153, 0x2004, 0xd0a4, 0x0158, 0x9006, + 0x2020, 0x2009, 0x002a, 0x080c, 0xd1bd, 0x2001, 0x110c, 0x200c, + 0xc195, 0x2102, 0x2019, 0x002a, 0x2009, 0x0000, 0x080c, 0x29e5, + 0x004e, 0x001e, 0x0005, 0x080c, 0x5295, 0x7093, 0x0000, 0x708b, + 0x0000, 0x0005, 0x0006, 0x2001, 0x110c, 0x2004, 0xd09c, 0x0100, + 0x000e, 0x0005, 0x0006, 0x0016, 0x0126, 0x2091, 0x8000, 0x2001, + 0x0101, 0x200c, 0x918d, 0x0006, 0x2102, 0x012e, 0x001e, 0x000e, + 0x0005, 0x2009, 0x0001, 0x0028, 0x2009, 0x0002, 0x0010, 0x2009, + 0x0000, 0x6814, 0x9084, 0xffc0, 0x910d, 0x6916, 0x0005, 0x00f6, + 0x0156, 0x0146, 0x01d6, 0x9006, 0x20a9, 0x0080, 0x20e9, 0x0001, + 0x20a1, 0x1600, 0x4004, 0x2079, 0x1600, 0x7803, 0x2200, 0x7807, + 0x00ef, 0x780f, 0x00ef, 0x7813, 0x0138, 0x7823, 0xffff, 0x7827, + 0xffff, 0x01de, 0x014e, 0x015e, 0x00fe, 0x0005, 0x0156, 0x20a9, + 0x00ff, 0x2009, 0x1000, 0x9006, 0x200a, 0x8108, 0x1f04, 0x53e4, + 0x015e, 0x0005, 0x00d6, 0x0036, 0x0156, 0x0136, 0x0146, 0x2069, + 0x1152, 0x9006, 0x6002, 0x6007, 0x0707, 0x600a, 0x600e, 0x6012, + 0x9198, 0x2b33, 0x231d, 0x939c, 0x00ff, 0x6316, 0x20a9, 0x0004, + 0x9c98, 0x0006, 0x20e9, 0x0001, 0x23a0, 0x4004, 0x20a9, 0x0004, + 0x9c98, 0x000a, 0x23a0, 0x4004, 0x603e, 0x6042, 0x604e, 0x6052, + 0x6056, 0x605a, 0x605e, 0x6062, 0x6066, 0x606a, 0x606e, 0x6072, + 0x6076, 0x607a, 0x608a, 0x608e, 0x6092, 0x6096, 0x609a, 0x609e, + 0x60be, 0x61a2, 0x00d6, 0x60a4, 0x906d, 0x0110, 0x080c, 0x0e86, + 0x60a7, 0x0000, 0x00de, 0x9006, 0x604a, 0x6810, 0x603a, 0x680c, + 0x6046, 0x9006, 0x60b2, 0x60b6, 0x60bb, 0x0520, 0x60ac, 0x9005, + 0x0198, 0x00c6, 0x2060, 0x9c82, 0x16c0, 0x0a0c, 0x0d52, 0x2001, + 0x1118, 0x2004, 0x9c02, 0x1a0c, 0x0d52, 0x080c, 0x7b66, 0x00ce, + 0x090c, 0x7ed7, 0x60af, 0x0000, 0x6814, 0x9084, 0x00ff, 0x6042, + 0x014e, 0x013e, 0x015e, 0x003e, 0x00de, 0x0005, 0x0126, 0x2091, + 0x8000, 0x6974, 0x6e78, 0x9684, 0x3fff, 0x9082, 0x4000, 0x1a04, + 0x54c8, 0x918c, 0xff00, 0x810f, 0x9182, 0x00ff, 0x1a04, 0x54cd, + 0x2001, 0x110c, 0x2004, 0x9084, 0x0003, 0x1904, 0x54d4, 0x9188, + 0x1000, 0x2104, 0x9065, 0x0508, 0x6004, 0x9084, 0x00ff, 0x908e, + 0x0006, 0x1500, 0x60a4, 0x900d, 0x1904, 0x54e9, 0x6050, 0x900d, + 0x1148, 0x6802, 0x2d00, 0x6052, 0x604e, 0x080c, 0x82f3, 0x9006, + 0x012e, 0x0005, 0x2d00, 0x200a, 0x6803, 0x0000, 0x6052, 0x0ca8, + 0x2001, 0x0005, 0x2009, 0x0000, 0x04e0, 0x2001, 0x0028, 0x2009, + 0x0000, 0x04b8, 0x9082, 0x0006, 0x1298, 0x2001, 0x1135, 0x2004, + 0xd0ac, 0x1158, 0x60a0, 0xd0bc, 0x1140, 0x6100, 0xd1fc, 0x0990, + 0x2001, 0x0029, 0x2009, 0x1000, 0x0420, 0x2001, 0x0028, 0x00a8, + 0x2009, 0x110c, 0x210c, 0xd18c, 0x0118, 0x2001, 0x0004, 0x0068, + 0xd184, 0x0118, 0x2001, 0x0004, 0x0040, 0x2001, 0x0029, 0x6100, + 0xd1fc, 0x0118, 0x2009, 0x1000, 0x0060, 0x2009, 0x0000, 0x0048, + 0x2001, 0x0029, 0x2009, 0x0000, 0x0020, 0x2001, 0x0029, 0x2009, + 0x0000, 0x9005, 0x012e, 0x0005, 0x2001, 0x110c, 0x2004, 0xd084, + 0x19b8, 0x9188, 0x1000, 0x2104, 0x9065, 0x0990, 0x6004, 0x9084, + 0x00ff, 0x908e, 0x0006, 0x1960, 0x6000, 0xd0c4, 0x0948, 0x0804, + 0x547a, 0x080c, 0x5b19, 0x0904, 0x5490, 0x0804, 0x547e, 0x00e6, + 0x0126, 0x2091, 0x8000, 0x6874, 0x9084, 0xff00, 0x908e, 0xff00, + 0x1118, 0x2061, 0x12e0, 0x0080, 0x6874, 0x8007, 0x9084, 0x00ff, + 0x2008, 0x9182, 0x00ff, 0x1698, 0x9188, 0x1000, 0x2104, 0x9065, + 0x01d8, 0x080c, 0x5c3b, 0x11d8, 0x2c70, 0x080c, 0x9e84, 0x0568, + 0x2e00, 0x6012, 0x2d00, 0x6016, 0x6023, 0x0009, 0x600b, 0x0000, + 0x6874, 0x908e, 0xff00, 0x1110, 0x600b, 0x8000, 0x2009, 0x0043, + 0x080c, 0x9f51, 0x9006, 0x00b0, 0x2001, 0x0028, 0x0090, 0x2009, + 0x110c, 0x210c, 0xd18c, 0x0118, 0x2001, 0x0004, 0x0038, 0xd184, + 0x0118, 0x2001, 0x0004, 0x0010, 0x2001, 0x0029, 0x0010, 0x2001, + 0x0029, 0x9005, 0x012e, 0x00ee, 0x0005, 0x2001, 0x002c, 0x0cc8, + 0x00e6, 0x0126, 0x2091, 0x8000, 0x6874, 0x8007, 0x9084, 0x00ff, + 0x2008, 0x9182, 0x00ff, 0x1a04, 0x55a2, 0x9188, 0x1000, 0x2104, + 0x9065, 0x0538, 0x6004, 0x908c, 0x00ff, 0x918e, 0x0006, 0x0128, + 0x908c, 0xff00, 0x918e, 0x0600, 0x11f8, 0x2c70, 0x687c, 0xd0fc, + 0x0138, 0x6894, 0x9005, 0x0120, 0x2060, 0x2d00, 0x6016, 0x0058, + 0x080c, 0x9e84, 0x05e8, 0x2e00, 0x6012, 0x2d00, 0x6016, 0x600b, + 0xffff, 0x6023, 0x000a, 0x2009, 0x0003, 0x080c, 0x9f51, 0x9006, + 0x0460, 0x2001, 0x0028, 0x0440, 0x9082, 0x0006, 0x1298, 0x2001, + 0x1135, 0x2004, 0xd0ac, 0x1158, 0x60a0, 0xd0bc, 0x1140, 0x6100, + 0xd1fc, 0x0998, 0x2001, 0x0029, 0x2009, 0x1000, 0x00a8, 0x2001, + 0x0028, 0x0090, 0x2009, 0x110c, 0x210c, 0xd18c, 0x0118, 0x2001, + 0x0004, 0x0050, 0xd184, 0x0118, 0x2001, 0x0004, 0x0028, 0x2001, + 0x0029, 0x0010, 0x2001, 0x0029, 0x9005, 0x012e, 0x00ee, 0x0005, + 0x2001, 0x002c, 0x0cc8, 0x00f6, 0x00e6, 0x0126, 0x2091, 0x8000, + 0x68e0, 0x9005, 0x1570, 0x68dc, 0x9082, 0x0101, 0x1650, 0x68c8, + 0x9005, 0x1538, 0x68c4, 0x9082, 0x0101, 0x1618, 0x6974, 0x2079, + 0x1100, 0x918c, 0xff00, 0x810f, 0x9182, 0x00ff, 0x12f8, 0x7830, + 0x9084, 0x0003, 0x1130, 0x6a98, 0x6b94, 0x6878, 0x9084, 0x0007, + 0x0402, 0x7930, 0xd18c, 0x0118, 0x2001, 0x0004, 0x0038, 0xd184, + 0x0118, 0x2001, 0x0004, 0x0010, 0x2001, 0x0029, 0x2009, 0x0000, + 0x0048, 0x2001, 0x002c, 0x2009, 0x0000, 0x0020, 0x2001, 0x0029, + 0x2009, 0x0000, 0x9006, 0x0008, 0x9005, 0x012e, 0x00ee, 0x00fe, + 0x0005, 0x5642, 0x55f9, 0x5612, 0x5642, 0x5642, 0x5642, 0x5642, + 0x5642, 0x2100, 0x9082, 0x007e, 0x1280, 0x080c, 0x5938, 0x2c70, + 0x0148, 0x7010, 0x9306, 0x1904, 0x564c, 0x7014, 0x9206, 0x1904, + 0x564c, 0x0028, 0x7312, 0x7216, 0x0010, 0x080c, 0x3f4d, 0x2c70, + 0x0158, 0x04d0, 0x080c, 0x598f, 0x15b8, 0x2c70, 0x7010, 0x9306, + 0x1598, 0x7014, 0x9206, 0x1580, 0x080c, 0x9e84, 0x0540, 0x2e00, + 0x6012, 0x080c, 0xbd78, 0x2d00, 0x6016, 0x600b, 0xffff, 0x6023, + 0x000a, 0x6878, 0x9086, 0x0001, 0x1178, 0x080c, 0x2a10, 0x2001, + 0x0000, 0x080c, 0x58d6, 0x2001, 0x0002, 0x080c, 0x58e8, 0x2001, + 0x0200, 0x706e, 0x7093, 0x0002, 0x2009, 0x0003, 0x080c, 0x9f51, + 0x9006, 0x0080, 0x2001, 0x0001, 0x2009, 0x0000, 0x0048, 0x2001, + 0x002c, 0x2009, 0x0000, 0x0020, 0x2001, 0x0028, 0x2009, 0x0000, + 0x9005, 0x0000, 0x012e, 0x00ee, 0x00fe, 0x0005, 0x00f6, 0x00e6, + 0x0126, 0x2091, 0x8000, 0x6894, 0x90c6, 0x0015, 0x0904, 0x582d, + 0x90c6, 0x0056, 0x0904, 0x5831, 0x90c6, 0x0066, 0x0904, 0x5835, + 0x90c6, 0x0071, 0x0904, 0x5839, 0x90c6, 0x0074, 0x0904, 0x583d, + 0x90c6, 0x007c, 0x0904, 0x5841, 0x90c6, 0x007e, 0x0904, 0x5845, + 0x90c6, 0x0037, 0x0904, 0x5849, 0x2011, 0x0000, 0x2079, 0x1100, + 0x6974, 0x918c, 0xff00, 0x810f, 0x9182, 0x00ff, 0x1a04, 0x5827, + 0x080c, 0x598f, 0x11a0, 0x6004, 0x9084, 0x00ff, 0x9082, 0x0006, + 0x1270, 0x6894, 0x90c6, 0x006f, 0x0150, 0x2001, 0x1135, 0x2004, + 0xd0ac, 0x1904, 0x5810, 0x60a0, 0xd0bc, 0x1904, 0x5810, 0x6894, + 0x90c6, 0x006f, 0x0158, 0x90c6, 0x005e, 0x0904, 0x5759, 0x90c6, + 0x0064, 0x0904, 0x578d, 0x2008, 0x0804, 0x5721, 0x6998, 0x2140, + 0x918c, 0xff00, 0x810f, 0x78d4, 0xd0ac, 0x1120, 0x9182, 0x0080, + 0x0a04, 0x5721, 0x9182, 0x00ff, 0x1a04, 0x5721, 0x6aa0, 0x6b9c, + 0x7874, 0x9306, 0x1170, 0x7878, 0x924e, 0x1120, 0x2208, 0x2310, + 0x0804, 0x5721, 0x99cc, 0xff00, 0x1120, 0x2208, 0x2310, 0x0804, + 0x5721, 0x080c, 0x3f4d, 0x2c70, 0x0904, 0x572a, 0x2009, 0x0000, + 0x2011, 0x0000, 0x90c6, 0x4000, 0x15a8, 0x0006, 0x2e60, 0x080c, + 0x5b5e, 0x1108, 0xc185, 0x7000, 0xd0bc, 0x0108, 0xc18d, 0x20a9, + 0x0004, 0x9d80, 0x0031, 0x20a0, 0x20e9, 0x0001, 0x9e80, 0x0006, + 0x2098, 0x080c, 0x5335, 0x20a9, 0x0004, 0x9d80, 0x0035, 0x20a0, + 0x20e9, 0x0001, 0x9e80, 0x000a, 0x2098, 0x080c, 0x5335, 0x68c4, + 0x6bc8, 0x9305, 0x6bcc, 0x9305, 0x6bd0, 0x9305, 0x6bd4, 0x9305, + 0x6bd8, 0x9305, 0x6bdc, 0x9305, 0x6be0, 0x9305, 0x9005, 0x01c8, + 0x000e, 0x0088, 0x90c6, 0x4007, 0x1110, 0x2408, 0x0060, 0x90c6, + 0x4008, 0x1118, 0x2708, 0x2610, 0x0030, 0x90c6, 0x4009, 0x1108, + 0x0010, 0x2001, 0x4006, 0x6896, 0x699a, 0x6a9e, 0x2001, 0x0030, + 0x0458, 0x000e, 0x080c, 0x9e84, 0x1138, 0x2001, 0x4005, 0x2009, + 0x0003, 0x2011, 0x0000, 0x0c78, 0x2e00, 0x6012, 0x080c, 0xbd78, + 0x2d00, 0x6016, 0x6023, 0x0001, 0x6868, 0xd88c, 0x0108, 0xc0f5, + 0x686a, 0x0126, 0x2091, 0x8000, 0x080c, 0x2a10, 0x012e, 0x2001, + 0x0000, 0x080c, 0x58d6, 0x2001, 0x0002, 0x080c, 0x58e8, 0x2009, + 0x0002, 0x080c, 0x9f51, 0x9006, 0x9005, 0x012e, 0x00ee, 0x00fe, + 0x0005, 0x7800, 0x9086, 0x0003, 0x0118, 0x2009, 0x0007, 0x0448, + 0x6e98, 0x860f, 0x918c, 0x00ff, 0x96b4, 0x00ff, 0x080c, 0x598f, + 0x0120, 0x2009, 0x000a, 0x0804, 0x5721, 0x9186, 0x007f, 0x0148, + 0x6004, 0x9084, 0x00ff, 0x9086, 0x0006, 0x0118, 0x2009, 0x0009, + 0x0080, 0x00d6, 0x080c, 0x0e54, 0x1120, 0x00de, 0x2009, 0x0002, + 0x0040, 0x2d00, 0x00de, 0x6806, 0x080c, 0xbb0f, 0x1960, 0x2009, + 0x0003, 0x2001, 0x4005, 0x0804, 0x5723, 0x6e98, 0x860f, 0x918c, + 0x00ff, 0x96b4, 0x00ff, 0x080c, 0x598f, 0x0120, 0x2009, 0x000a, + 0x0804, 0x5721, 0x00d6, 0x080c, 0x0e54, 0x1128, 0x00de, 0x2009, + 0x0002, 0x0804, 0x57f4, 0x2d00, 0x00de, 0x6806, 0x00d6, 0x2068, + 0x20a9, 0x002b, 0x20e1, 0x0001, 0x2c98, 0x9de8, 0x0002, 0x20e9, + 0x0001, 0x2da0, 0x4003, 0x20a9, 0x0004, 0x9d80, 0x0006, 0x20a0, + 0x9c80, 0x0006, 0x2098, 0x080c, 0x5335, 0x20a9, 0x0004, 0x9d80, + 0x000a, 0x20a0, 0x9c80, 0x000a, 0x2098, 0x080c, 0x5335, 0x00de, + 0x687b, 0x0000, 0x6883, 0x0000, 0x6897, 0x4000, 0xd684, 0x1170, + 0x2001, 0x1153, 0x2004, 0xd0b4, 0x1118, 0x689b, 0x000b, 0x0400, + 0x6000, 0xd08c, 0x0118, 0x689b, 0x000c, 0x00d0, 0x6004, 0x9084, + 0x00ff, 0x9086, 0x0006, 0x0118, 0x689b, 0x0009, 0x0088, 0x7800, + 0x9086, 0x0003, 0x0118, 0x689b, 0x0007, 0x0050, 0x080c, 0xbad8, + 0x1904, 0x5753, 0x2009, 0x0003, 0x2001, 0x4005, 0x0804, 0x5723, + 0x687b, 0x0030, 0x6897, 0x4005, 0x6804, 0x2009, 0x002b, 0x6aa0, + 0x6b9c, 0x6ca8, 0x6da4, 0x2031, 0x0000, 0x2039, 0x0001, 0x2041, + 0x1028, 0x080c, 0xa371, 0x1904, 0x5753, 0x2009, 0x0002, 0x0c20, + 0x2001, 0x0028, 0x2009, 0x0000, 0x0804, 0x5754, 0x2009, 0x110c, + 0x210c, 0xd18c, 0x0118, 0x2001, 0x0004, 0x0038, 0xd184, 0x0118, + 0x2001, 0x0004, 0x0010, 0x2001, 0x0029, 0x2009, 0x0000, 0x2001, + 0x0029, 0x2009, 0x0000, 0x0804, 0x5754, 0x080c, 0x2f1d, 0x0804, + 0x5755, 0x080c, 0x48e7, 0x0804, 0x5755, 0x080c, 0x3c00, 0x0804, + 0x5755, 0x080c, 0x4005, 0x0804, 0x5755, 0x080c, 0x4225, 0x0804, + 0x5755, 0x080c, 0x454d, 0x0804, 0x5755, 0x080c, 0x4758, 0x0804, + 0x5755, 0x080c, 0x30e2, 0x0804, 0x5755, 0x6974, 0x6e78, 0x9684, + 0x3fff, 0x9082, 0x4000, 0x1658, 0x918c, 0xff00, 0x810f, 0x9182, + 0x00ff, 0x1280, 0x9188, 0x1000, 0x2104, 0x9065, 0x0158, 0x6004, + 0x9084, 0x00ff, 0x908e, 0x0006, 0x1150, 0x00f9, 0x080c, 0x5aa9, + 0x9006, 0x00c8, 0x2001, 0x0028, 0x2009, 0x0000, 0x00a0, 0x9082, + 0x0006, 0x1240, 0x6100, 0xd1fc, 0x0d80, 0x2001, 0x0029, 0x2009, + 0x1000, 0x0048, 0x2001, 0x0029, 0x2009, 0x0000, 0x0020, 0x2001, + 0x0029, 0x2009, 0x0000, 0x9005, 0x0005, 0x0126, 0x2091, 0x8000, + 0x6050, 0x900d, 0x0138, 0x2d00, 0x200a, 0x6803, 0x0000, 0x6052, + 0x012e, 0x0005, 0x2d00, 0x6052, 0x604e, 0x6803, 0x0000, 0x0cc0, + 0x0126, 0x2091, 0x8000, 0x604c, 0x9005, 0x0170, 0x00e6, 0x2071, + 0x137c, 0x7004, 0x9086, 0x0002, 0x0168, 0x00ee, 0x604c, 0x6802, + 0x2d00, 0x604e, 0x012e, 0x0005, 0x2d00, 0x6052, 0x604e, 0x6803, + 0x0000, 0x0cc0, 0x701c, 0x9c06, 0x1d80, 0x604c, 0x2070, 0x7000, + 0x6802, 0x2d00, 0x7002, 0x00ee, 0x012e, 0x0005, 0x0126, 0x2091, + 0x8000, 0x604c, 0x906d, 0x0130, 0x6800, 0x9005, 0x1108, 0x6052, + 0x604e, 0x9d05, 0x012e, 0x0005, 0x604c, 0x906d, 0x0130, 0x6800, + 0x9005, 0x1108, 0x6052, 0x604e, 0x9d05, 0x0005, 0x0126, 0x00c6, + 0x0026, 0x2091, 0x8000, 0x6210, 0x2260, 0x6200, 0x9005, 0x0110, + 0xc285, 0x0008, 0xc284, 0x6202, 0x002e, 0x00ce, 0x012e, 0x0005, + 0x0126, 0x00c6, 0x2091, 0x8000, 0x6210, 0x2260, 0x6204, 0x0006, + 0x9086, 0x0006, 0x1180, 0x609c, 0xd0ac, 0x0168, 0x2001, 0x1153, + 0x2004, 0xd0a4, 0x0140, 0x9284, 0xff00, 0x8007, 0x9086, 0x0007, + 0x1110, 0x2011, 0x0600, 0x000e, 0x9294, 0xff00, 0x9215, 0x6206, + 0x0006, 0x9086, 0x0006, 0x1128, 0x6290, 0x82ff, 0x1110, 0x080c, + 0x0d52, 0x000e, 0x00ce, 0x012e, 0x0005, 0x0126, 0x00c6, 0x2091, + 0x8000, 0x6210, 0x2260, 0x6204, 0x0006, 0x9086, 0x0006, 0x1178, + 0x609c, 0xd0a4, 0x0160, 0x2001, 0x1153, 0x2004, 0xd0ac, 0x1138, + 0x9284, 0x00ff, 0x9086, 0x0007, 0x1110, 0x2011, 0x0006, 0x000e, + 0x9294, 0x00ff, 0x8007, 0x9215, 0x6206, 0x00ce, 0x012e, 0x0005, + 0x0026, 0x9182, 0x00ff, 0x0218, 0x9085, 0x0001, 0x00b0, 0x9190, + 0x1000, 0x2204, 0x9065, 0x1180, 0x0016, 0x00d6, 0x080c, 0x0e54, + 0x2d60, 0x00de, 0x001e, 0x0d80, 0x2c00, 0x2012, 0x60a7, 0x0000, + 0x60af, 0x0000, 0x080c, 0x53ea, 0x9006, 0x002e, 0x0005, 0x0126, + 0x2091, 0x8000, 0x0026, 0x9182, 0x00ff, 0x0218, 0x9085, 0x0001, + 0x0458, 0x00d6, 0x9190, 0x1000, 0x2204, 0x906d, 0x0518, 0x2013, + 0x0000, 0x00d6, 0x00c6, 0x2d60, 0x60a4, 0x906d, 0x0110, 0x080c, + 0x0e86, 0x00ce, 0x00de, 0x00d6, 0x00c6, 0x68bc, 0x2060, 0x8cff, + 0x0168, 0x600c, 0x0006, 0x6014, 0x2068, 0x080c, 0xb95b, 0x0110, + 0x080c, 0x0e96, 0x080c, 0x9eda, 0x00ce, 0x0c88, 0x00ce, 0x00de, + 0x080c, 0x0e86, 0x00de, 0x9006, 0x002e, 0x012e, 0x0005, 0x0016, + 0x9182, 0x00ff, 0x0218, 0x9085, 0x0001, 0x0030, 0x9188, 0x1000, + 0x2104, 0x9065, 0x0dc0, 0x9006, 0x001e, 0x0005, 0x00d6, 0x0156, + 0x0136, 0x0146, 0x600b, 0x0000, 0x600f, 0x0000, 0x6000, 0xc08c, + 0x6002, 0x080c, 0x672f, 0x1520, 0x60a0, 0x9086, 0x007e, 0x0130, + 0x2001, 0x1135, 0x2004, 0xd0ac, 0x11d8, 0x0078, 0x7040, 0xd0e4, + 0x01b8, 0x00c6, 0x2061, 0x1335, 0x7048, 0x2062, 0x704c, 0x6006, + 0x7050, 0x600a, 0x7054, 0x600e, 0x00ce, 0x703c, 0x2069, 0x0140, + 0x9005, 0x1110, 0x2001, 0x0001, 0x6886, 0x2069, 0x1100, 0x68aa, + 0x7040, 0x605e, 0x7048, 0x6062, 0x6138, 0x910a, 0x0208, 0x603a, + 0x704c, 0x6066, 0x20e1, 0x0000, 0x2099, 0x0276, 0x9c88, 0x000a, + 0x20e9, 0x0001, 0x21a0, 0x20a9, 0x0004, 0x4003, 0x2099, 0x027a, + 0x9c88, 0x0006, 0x21a0, 0x20a9, 0x0004, 0x4003, 0x2069, 0x0200, + 0x6817, 0x0001, 0x7040, 0x606a, 0x7144, 0x616e, 0x7048, 0x6072, + 0x7050, 0x6076, 0x2069, 0x0200, 0x6817, 0x0000, 0x60a0, 0x9086, + 0x007e, 0x1110, 0x7144, 0x616e, 0x9182, 0x0211, 0x1218, 0x2009, + 0x0008, 0x0400, 0x9182, 0x0259, 0x1218, 0x2009, 0x0007, 0x00d0, + 0x9182, 0x02c1, 0x1218, 0x2009, 0x0006, 0x00a0, 0x9182, 0x0349, + 0x1218, 0x2009, 0x0005, 0x0070, 0x9182, 0x0421, 0x1218, 0x2009, + 0x0004, 0x0040, 0x9182, 0x0581, 0x1218, 0x2009, 0x0003, 0x0010, + 0x2009, 0x0002, 0x6192, 0x014e, 0x013e, 0x015e, 0x00de, 0x0005, + 0x0016, 0x0026, 0x00e6, 0x2071, 0x0260, 0x7034, 0x6896, 0x703c, + 0x689a, 0x7054, 0x689e, 0x6a00, 0x2009, 0x1172, 0x210c, 0xd0bc, + 0x0120, 0xd1ec, 0x0110, 0xc2ad, 0x0008, 0xc2ac, 0xd0c4, 0x0120, + 0xd1e4, 0x0110, 0xc2bd, 0x0008, 0xc2bc, 0x6a02, 0x00ee, 0x002e, + 0x001e, 0x0005, 0x00d6, 0x0126, 0x2091, 0x8000, 0x60a4, 0x906d, + 0x01c0, 0x6900, 0x81ff, 0x1540, 0x6a04, 0x9282, 0x0010, 0x1648, + 0x9d88, 0x0004, 0x20a9, 0x0010, 0x2104, 0x9086, 0xffff, 0x0128, + 0x8108, 0x1f04, 0x5a64, 0x080c, 0x0d52, 0x260a, 0x8210, 0x6a06, + 0x0098, 0x080c, 0x0e6d, 0x01a8, 0x2d00, 0x60a6, 0x6803, 0x0000, + 0x9d88, 0x0004, 0x20a9, 0x0010, 0x200b, 0xffff, 0x8108, 0x1f04, + 0x5a7c, 0x6807, 0x0001, 0x6e12, 0x9085, 0x0001, 0x012e, 0x00de, + 0x0005, 0x9006, 0x0cd8, 0x0126, 0x2091, 0x8000, 0x00d6, 0x60a4, + 0x900d, 0x01a0, 0x2168, 0x6800, 0x9005, 0x1160, 0x080c, 0x5b19, + 0x1168, 0x200b, 0xffff, 0x6804, 0x908a, 0x0002, 0x0218, 0x8001, + 0x6806, 0x0020, 0x080c, 0x0e86, 0x60a7, 0x0000, 0x00de, 0x012e, + 0x0005, 0x0126, 0x2091, 0x8000, 0x080c, 0x82f3, 0x012e, 0x0005, + 0x901e, 0x0010, 0x2019, 0x0001, 0x900e, 0x0126, 0x2091, 0x8000, + 0x604c, 0x2068, 0x6000, 0xd0dc, 0x1170, 0x8dff, 0x01f8, 0x83ff, + 0x0120, 0x6878, 0x9606, 0x0158, 0x0030, 0x686c, 0x9406, 0x1118, + 0x6870, 0x9506, 0x0120, 0x2d08, 0x6800, 0x2068, 0x0c70, 0x080c, + 0x9819, 0x6a00, 0x604c, 0x9d06, 0x1110, 0x624e, 0x0018, 0x9180, + 0x0000, 0x2202, 0x82ff, 0x1110, 0x6152, 0x8dff, 0x012e, 0x0005, + 0x9016, 0x0489, 0x1110, 0x2011, 0x0001, 0x0005, 0x080c, 0x5b5e, + 0x0118, 0x080c, 0xba0e, 0x0010, 0x9085, 0x0001, 0x0005, 0x080c, + 0x5b5e, 0x0118, 0x080c, 0xb9a0, 0x0010, 0x9085, 0x0001, 0x0005, + 0x080c, 0x5b5e, 0x0118, 0x080c, 0xb9f1, 0x0010, 0x9085, 0x0001, + 0x0005, 0x080c, 0x5b5e, 0x0118, 0x080c, 0xb9bc, 0x0010, 0x9085, + 0x0001, 0x0005, 0x080c, 0x5b5e, 0x0118, 0x080c, 0xba2a, 0x0010, + 0x9085, 0x0001, 0x0005, 0x60a4, 0x900d, 0x1118, 0x9085, 0x0001, + 0x0005, 0x00e6, 0x2170, 0x7000, 0x9005, 0x1168, 0x20a9, 0x0010, + 0x9e88, 0x0004, 0x2104, 0x9606, 0x0130, 0x8108, 0x1f04, 0x5b22, + 0x9085, 0x0001, 0x0008, 0x9006, 0x00ee, 0x0005, 0x00d6, 0x0126, + 0x2091, 0x8000, 0x60a4, 0x906d, 0x1128, 0x080c, 0x0e6d, 0x01a0, + 0x2d00, 0x60a6, 0x6803, 0x0001, 0x6807, 0x0000, 0x9d88, 0x0004, + 0x20a9, 0x0010, 0x200b, 0xffff, 0x8108, 0x1f04, 0x5b42, 0x9085, + 0x0001, 0x012e, 0x00de, 0x0005, 0x9006, 0x0cd8, 0x00d6, 0x0126, + 0x2091, 0x8000, 0x60a4, 0x906d, 0x0130, 0x60a7, 0x0000, 0x080c, + 0x0e86, 0x9085, 0x0001, 0x012e, 0x00de, 0x0005, 0x609c, 0xd0a4, + 0x0005, 0x00f6, 0x080c, 0x672f, 0x01b0, 0x71bc, 0x81ff, 0x1198, + 0x71d4, 0xd19c, 0x0180, 0x2001, 0x007e, 0x9080, 0x1000, 0x2004, + 0x907d, 0x0148, 0x7804, 0x9084, 0x00ff, 0x9086, 0x0006, 0x1118, + 0x7800, 0xc0ed, 0x7802, 0x2079, 0x1152, 0x7804, 0xd0a4, 0x01e8, + 0x0156, 0x00c6, 0x20a9, 0x007f, 0x2009, 0x0000, 0x0016, 0x080c, + 0x598f, 0x1168, 0x6004, 0x9084, 0xff00, 0x8007, 0x9096, 0x0004, + 0x0118, 0x9086, 0x0006, 0x1118, 0x6000, 0xc0ed, 0x6002, 0x001e, + 0x8108, 0x1f04, 0x5b86, 0x00ce, 0x015e, 0x080c, 0x5c59, 0x0120, + 0x2001, 0x1338, 0x200c, 0x0038, 0x2079, 0x1152, 0x7804, 0xd0a4, + 0x0130, 0x2009, 0x07d0, 0x2011, 0x5bb1, 0x080c, 0x77c4, 0x00fe, + 0x0005, 0x2011, 0x5bb1, 0x080c, 0x7738, 0x080c, 0x5c59, 0x01f0, + 0x2001, 0x107e, 0x2004, 0x9080, 0x0000, 0x200c, 0xc1ec, 0x2102, + 0x2001, 0x1153, 0x2004, 0xd0a4, 0x0130, 0x2009, 0x07d0, 0x2011, + 0x5bb1, 0x080c, 0x77c4, 0x00e6, 0x2071, 0x1100, 0x7077, 0x0000, + 0x707b, 0x0000, 0x080c, 0x2802, 0x00ee, 0x04b0, 0x0156, 0x00c6, + 0x20a9, 0x007f, 0x2009, 0x0000, 0x0016, 0x080c, 0x598f, 0x1530, + 0x6000, 0xd0ec, 0x0518, 0x0046, 0x62a0, 0x9294, 0x00ff, 0x8227, + 0x9006, 0x2009, 0x0029, 0x080c, 0xd1bd, 0x6000, 0xc0e5, 0xc0ec, + 0x6002, 0x6004, 0x9084, 0x00ff, 0x9085, 0x0700, 0x6006, 0x2019, + 0x0029, 0x080c, 0x8464, 0x0076, 0x2039, 0x0000, 0x080c, 0x8356, + 0x2009, 0x0000, 0x080c, 0xcf02, 0x007e, 0x004e, 0x001e, 0x8108, + 0x1f04, 0x5bdc, 0x00ce, 0x015e, 0x0005, 0x00c6, 0x6010, 0x2060, + 0x6000, 0xc0ec, 0x6002, 0x00ce, 0x0005, 0x00c6, 0x2061, 0x12e0, + 0x60af, 0x0000, 0x2009, 0x00ff, 0x080c, 0x53ea, 0x6007, 0x0006, + 0x6013, 0x00ff, 0x6017, 0xffff, 0x606f, 0x0200, 0x606c, 0x6093, + 0x0002, 0x60bb, 0x0520, 0x60a3, 0x00ff, 0x60b7, 0x0000, 0x60af, + 0x0000, 0x00ce, 0x0005, 0x7810, 0x2004, 0xd0ac, 0x0005, 0x7810, + 0x2004, 0xd0bc, 0x0005, 0x0006, 0x0016, 0x0026, 0x6004, 0x908c, + 0x00ff, 0x9196, 0x0006, 0x0188, 0x9196, 0x0004, 0x0170, 0x9196, + 0x0005, 0x0158, 0x908c, 0xff00, 0x810f, 0x9196, 0x0006, 0x0128, + 0x9196, 0x0004, 0x0110, 0x9196, 0x0005, 0x002e, 0x001e, 0x000e, + 0x0005, 0x00f6, 0x2001, 0x107e, 0x2004, 0x907d, 0x0110, 0x7800, + 0xd0ec, 0x00fe, 0x0005, 0x0126, 0x0026, 0x2091, 0x8000, 0x0006, + 0x62a0, 0x9290, 0x1000, 0x2204, 0x9c06, 0x190c, 0x0d52, 0x000e, + 0x6200, 0x9005, 0x0110, 0xc2fd, 0x0008, 0xc2fc, 0x6202, 0x002e, + 0x012e, 0x0005, 0x2011, 0x1135, 0x2204, 0xd0cc, 0x0138, 0x2001, + 0x1336, 0x200c, 0x2011, 0x5c87, 0x080c, 0x77c4, 0x0005, 0x2011, + 0x5c87, 0x080c, 0x7738, 0x2011, 0x1135, 0x2204, 0xc0cc, 0x2012, + 0x0005, 0x2071, 0x1256, 0x7003, 0x0001, 0x7007, 0x0000, 0x7013, + 0x0000, 0x7017, 0x0000, 0x701b, 0x0000, 0x701f, 0x0000, 0x700b, + 0x0000, 0x7047, 0x0000, 0x2071, 0x12cf, 0x7003, 0x1256, 0x7007, + 0x0000, 0x700b, 0x0000, 0x700f, 0x0001, 0x7013, 0x12af, 0x7017, + 0x0020, 0x701b, 0x0040, 0x703b, 0x0000, 0x2001, 0x12ab, 0x2003, + 0x0000, 0x0005, 0x0016, 0x00e6, 0x2071, 0x12ac, 0x900e, 0x710a, + 0x2001, 0x1153, 0x2004, 0xd0fc, 0x1148, 0x2001, 0x1153, 0x2004, + 0x900e, 0xd09c, 0x0108, 0x8108, 0x7102, 0x04c0, 0x2001, 0x1172, + 0x200c, 0x9184, 0x000f, 0x0002, 0x5cc5, 0x5cc5, 0x5cc5, 0x5cc5, + 0x5cc5, 0x5ce4, 0x5cc5, 0x5cc5, 0x5cf2, 0x5cc5, 0x5cc5, 0x5cc5, + 0x5cc5, 0x5cc5, 0x5cc5, 0x5cc5, 0x7003, 0x0003, 0x2009, 0x1173, + 0x210c, 0x9184, 0xff00, 0x8007, 0x9005, 0x1110, 0x2001, 0x0002, + 0x7006, 0x00a0, 0x7003, 0x0004, 0x0136, 0x0146, 0x0156, 0x20e1, + 0x0001, 0x2099, 0x1176, 0x20e9, 0x0001, 0x20a1, 0x12d9, 0x20a9, + 0x0004, 0x4003, 0x015e, 0x014e, 0x013e, 0x0000, 0x00ee, 0x001e, + 0x0005, 0x00e6, 0x2071, 0x0050, 0x684c, 0x9005, 0x1158, 0x00e6, + 0x2071, 0x1256, 0x7028, 0xc085, 0x702a, 0x00ee, 0x9085, 0x0001, + 0x0804, 0x5d5f, 0x6844, 0x9005, 0x01e8, 0x2009, 0x0000, 0x0156, + 0x20a9, 0x0006, 0x8003, 0x2011, 0x0100, 0x2214, 0x9296, 0x0008, + 0x1110, 0x818d, 0x0010, 0x81f5, 0x3e08, 0x1f04, 0x5d22, 0x015e, + 0x6a60, 0x9200, 0x7002, 0x6864, 0x9101, 0x7006, 0x7013, 0x0000, + 0x7017, 0x0000, 0x6860, 0x7002, 0x6864, 0x7006, 0x6868, 0x700a, + 0x686c, 0x700e, 0x6844, 0x9005, 0x1120, 0x7013, 0x0000, 0x7017, + 0x0000, 0x684c, 0x701a, 0x701c, 0x9085, 0x0040, 0x701e, 0x7037, + 0x0019, 0x702b, 0x0001, 0x00e6, 0x2071, 0x1256, 0x7028, 0xc084, + 0x702a, 0x7007, 0x0001, 0x700b, 0x0000, 0x00ee, 0x9006, 0x00ee, + 0x0005, 0x00e6, 0x0026, 0x2071, 0x12ac, 0x7000, 0x9005, 0x0904, + 0x5fac, 0x9086, 0x0003, 0x0904, 0x5e4d, 0x2071, 0x1182, 0x687c, + 0x9005, 0x0904, 0x5db6, 0x7140, 0x6868, 0x9102, 0x0a04, 0x5fac, + 0x6878, 0xd084, 0x15b0, 0x6853, 0x0019, 0x2001, 0x8023, 0x684e, + 0x2071, 0x1256, 0x701c, 0x9005, 0x1904, 0x614f, 0x0e04, 0x61b6, + 0x2071, 0x0000, 0x6850, 0x7032, 0x684c, 0x7082, 0x6870, 0x7086, + 0x686c, 0x708a, 0x6880, 0x708e, 0x7036, 0x0026, 0x0036, 0x6b68, + 0x2e10, 0x9290, 0x002a, 0x2d00, 0x9080, 0x0021, 0x200c, 0x2112, + 0x8000, 0x200c, 0x8210, 0x8319, 0x1dd0, 0x003e, 0x002e, 0x2091, + 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, 0x190c, 0x0f80, 0x0804, + 0x5e32, 0x6853, 0x001b, 0x2001, 0x8027, 0x0848, 0x7004, 0xd08c, + 0x1904, 0x5fac, 0x6853, 0x001a, 0x2001, 0x8024, 0x0800, 0x00e6, + 0x0026, 0x2071, 0x12ac, 0x7000, 0x9005, 0x0904, 0x5fac, 0x9086, + 0x0003, 0x0904, 0x5e4d, 0x684f, 0x8022, 0x6853, 0x0018, 0x0804, + 0x5e17, 0x6868, 0xd0fc, 0x11d0, 0x00e6, 0x0026, 0x2001, 0x12ac, + 0x2004, 0x9005, 0x0904, 0x5fac, 0x687c, 0xd0bc, 0x1904, 0x5fac, + 0x6978, 0x6874, 0x9105, 0x1904, 0x5fac, 0x2001, 0x12ac, 0x2004, + 0x0002, 0x5fac, 0x5e13, 0x5e4d, 0x5e4d, 0x6357, 0x0005, 0x6868, + 0xd0fc, 0x1500, 0x00e6, 0x0026, 0x2009, 0x12ac, 0x210c, 0x81ff, + 0x0904, 0x5fac, 0x687c, 0xd0cc, 0x0904, 0x5fac, 0x6880, 0x9084, + 0x00ff, 0x9086, 0x0001, 0x1904, 0x5fac, 0x9186, 0x0003, 0x0904, + 0x5e4d, 0x9186, 0x0004, 0x0904, 0x6357, 0x684f, 0x8021, 0x6853, + 0x0017, 0x0028, 0x0005, 0x684f, 0x8020, 0x6853, 0x0016, 0x2071, + 0x1256, 0x701c, 0x9005, 0x1904, 0x614f, 0x0e04, 0x61b6, 0x2071, + 0x0000, 0x684c, 0x7082, 0x6850, 0x7032, 0x686c, 0x7086, 0x7036, + 0x6870, 0x708a, 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, + 0x190c, 0x0f80, 0x2071, 0x1100, 0x2011, 0x0001, 0x6804, 0x900d, + 0x702c, 0x1148, 0x206a, 0x2d00, 0x702e, 0x70b8, 0x9200, 0x70ba, + 0x002e, 0x00ee, 0x0005, 0x00d6, 0x2168, 0x6904, 0x206a, 0x8210, + 0x2d00, 0x81ff, 0x1dc8, 0x00de, 0x0c68, 0x684f, 0x0000, 0x00f6, + 0x2079, 0x0050, 0x2071, 0x1256, 0x206b, 0x0000, 0x7010, 0x9005, + 0x1904, 0x5f3b, 0x782c, 0x908c, 0x0780, 0x190c, 0x6395, 0x8004, + 0x8004, 0x8004, 0x9084, 0x0003, 0x0002, 0x5e6b, 0x5f3b, 0x5e91, + 0x5ed4, 0x080c, 0x0d52, 0x2071, 0x1100, 0x8d07, 0x8005, 0x8005, + 0xc0d5, 0x7822, 0x6804, 0x900d, 0x1170, 0x2071, 0x138f, 0x703c, + 0x9005, 0x1328, 0x2001, 0x12ad, 0x2004, 0x8005, 0x703e, 0x00fe, + 0x002e, 0x00ee, 0x0005, 0x9016, 0x702c, 0x2168, 0x6904, 0x206a, + 0x8210, 0x2d00, 0x81ff, 0x1dc8, 0x702e, 0x70b8, 0x9200, 0x70ba, + 0x0c20, 0x2071, 0x1100, 0x8d07, 0x8005, 0x8005, 0xc0d5, 0x7822, + 0x6804, 0x900d, 0x1558, 0x7824, 0x00e6, 0x2071, 0x0040, 0x712c, + 0xd19c, 0x1118, 0x7022, 0x00ee, 0x0060, 0x00ee, 0xc0d4, 0x8006, + 0x8006, 0x806f, 0x702c, 0x206a, 0x2d00, 0x702e, 0x70b8, 0x8000, + 0x70ba, 0x782c, 0x9094, 0x0780, 0x190c, 0x6395, 0xd0a4, 0x1d18, + 0x2071, 0x138f, 0x703c, 0x9005, 0x1328, 0x2001, 0x12ad, 0x2004, + 0x8005, 0x703e, 0x00fe, 0x002e, 0x00ee, 0x0005, 0x9016, 0x702c, + 0x2168, 0x6904, 0x206a, 0x8210, 0x2d00, 0x81ff, 0x1dc8, 0x702e, + 0x70b8, 0x9200, 0x70ba, 0x0838, 0x00d6, 0x00e6, 0x7824, 0xc0d4, + 0x8006, 0x8006, 0x806f, 0x2071, 0x1100, 0x702c, 0x206a, 0x2d00, + 0x702e, 0x70b8, 0x8000, 0x70ba, 0x782c, 0x9094, 0x0780, 0x190c, + 0x6395, 0xd0a4, 0x1d58, 0x00ee, 0x782c, 0x9094, 0x0780, 0x190c, + 0x6395, 0xd09c, 0x11b8, 0x00de, 0x8d07, 0x8005, 0x8005, 0xc0d5, + 0x7822, 0x6804, 0x900d, 0x1560, 0x2071, 0x138f, 0x703c, 0x9005, + 0x1328, 0x2001, 0x12ad, 0x2004, 0x8005, 0x703e, 0x00fe, 0x002e, + 0x00ee, 0x0005, 0x00de, 0x2d08, 0x7010, 0x8000, 0x7012, 0x7018, + 0x906d, 0x711a, 0x0110, 0x6902, 0x0008, 0x711e, 0x2168, 0x6804, + 0x900d, 0x1170, 0x2071, 0x138f, 0x703c, 0x9005, 0x1328, 0x2001, + 0x12ad, 0x2004, 0x8005, 0x703e, 0x00fe, 0x002e, 0x00ee, 0x0005, + 0x2071, 0x1100, 0x9016, 0x702c, 0x2168, 0x6904, 0x206a, 0x8210, + 0x2d00, 0x81ff, 0x1dc8, 0x702e, 0x70b8, 0x9200, 0x70ba, 0x00fe, + 0x002e, 0x00ee, 0x0005, 0x2d08, 0x7010, 0x8000, 0x7012, 0x7018, + 0x906d, 0x711a, 0x0110, 0x6902, 0x0008, 0x711e, 0x2168, 0x6804, + 0x900d, 0x1904, 0x5f94, 0x782c, 0x9094, 0x0780, 0x190c, 0x6395, + 0xd09c, 0x11b0, 0x701c, 0x906d, 0x0198, 0x7010, 0x8001, 0x7012, + 0x1108, 0x701a, 0x2d04, 0x701e, 0x8d07, 0x8005, 0x8005, 0xc0d5, + 0x7822, 0x782c, 0x9094, 0x0780, 0x190c, 0x6395, 0xd09c, 0x0d50, + 0x782c, 0x9094, 0x0780, 0x190c, 0x6395, 0xd0a4, 0x01b8, 0x00e6, + 0x7824, 0xc0d4, 0x8006, 0x8006, 0x806f, 0x2071, 0x1100, 0x702c, + 0x206a, 0x2d00, 0x702e, 0x70b8, 0x8000, 0x70ba, 0x782c, 0x9094, + 0x0780, 0x190c, 0x6395, 0xd0a4, 0x1d58, 0x00ee, 0x2071, 0x138f, + 0x703c, 0x9005, 0x1328, 0x2001, 0x12ad, 0x2004, 0x8005, 0x703e, + 0x00fe, 0x002e, 0x00ee, 0x0005, 0x00e6, 0x2071, 0x1100, 0x9016, + 0x702c, 0x2168, 0x6904, 0x206a, 0x8210, 0x2d00, 0x81ff, 0x1dc8, + 0x702e, 0x70b8, 0x9200, 0x70ba, 0x00ee, 0x0804, 0x5f4b, 0x6868, + 0xd0fc, 0x1500, 0x00e6, 0x0026, 0x684f, 0x0000, 0x00f6, 0x2079, + 0x0050, 0x2071, 0x1256, 0x206b, 0x0000, 0x7010, 0x9005, 0x1904, + 0x60c7, 0x782c, 0x908c, 0x0780, 0x190c, 0x6395, 0x8004, 0x8004, + 0x8004, 0x9084, 0x0003, 0x0002, 0x5fcb, 0x60c7, 0x5fe7, 0x6054, + 0x080c, 0x0d52, 0x0005, 0x2071, 0x1100, 0x8d07, 0x8005, 0x8005, + 0xc0d5, 0x7822, 0x6804, 0x900d, 0x1120, 0x00fe, 0x002e, 0x00ee, + 0x0005, 0x9016, 0x702c, 0x2168, 0x6904, 0x206a, 0x8210, 0x2d00, + 0x81ff, 0x1dc8, 0x702e, 0x70b8, 0x9200, 0x70ba, 0x0c70, 0x2071, + 0x1100, 0x8d07, 0x8005, 0x8005, 0xc0d5, 0x7822, 0x6804, 0x900d, + 0x1904, 0x6045, 0x7830, 0x8007, 0x9084, 0x001f, 0x9082, 0x0005, + 0x1220, 0x00fe, 0x002e, 0x00ee, 0x0005, 0x7824, 0x00e6, 0x2071, + 0x0040, 0x712c, 0xd19c, 0x1118, 0x7022, 0x00ee, 0x0060, 0x00ee, + 0xc0d4, 0x8006, 0x8006, 0x806f, 0x702c, 0x206a, 0x2d00, 0x702e, + 0x70b8, 0x8000, 0x70ba, 0x782c, 0x9094, 0x0780, 0x190c, 0x6395, + 0xd0a4, 0x1d18, 0x0e04, 0x603c, 0x7838, 0x7938, 0x910e, 0x1de0, + 0x00d6, 0x2069, 0x0000, 0x6836, 0x6833, 0x0013, 0x00de, 0x2001, + 0x1267, 0x200c, 0xc184, 0x2102, 0x2091, 0x4080, 0x2001, 0x0089, + 0x2004, 0xd084, 0x190c, 0x0f80, 0x2009, 0x12ab, 0x200b, 0x0000, + 0x00fe, 0x002e, 0x00ee, 0x0005, 0x2001, 0x1267, 0x200c, 0xc185, + 0x2102, 0x00fe, 0x002e, 0x00ee, 0x0005, 0x9016, 0x702c, 0x2168, + 0x6904, 0x206a, 0x8210, 0x2d00, 0x81ff, 0x1dc8, 0x702e, 0x70b8, + 0x9200, 0x70ba, 0x0804, 0x5ffd, 0x00d6, 0x00e6, 0x7824, 0xc0d4, + 0x8006, 0x8006, 0x806f, 0x2071, 0x1100, 0x702c, 0x206a, 0x2d00, + 0x702e, 0x70b8, 0x8000, 0x70ba, 0x782c, 0x9094, 0x0780, 0x190c, + 0x6395, 0xd0a4, 0x1d58, 0x00ee, 0x0e04, 0x609c, 0x7838, 0x7938, + 0x910e, 0x1de0, 0x00d6, 0x2069, 0x0000, 0x6836, 0x6833, 0x0013, + 0x00de, 0x7044, 0xc084, 0x7046, 0x2091, 0x4080, 0x2001, 0x0089, + 0x2004, 0xd084, 0x190c, 0x0f80, 0x2009, 0x12ab, 0x200b, 0x0000, + 0x782c, 0x9094, 0x0780, 0x190c, 0x6395, 0xd09c, 0x1188, 0x00de, + 0x8d07, 0x8005, 0x8005, 0xc0d5, 0x7822, 0x6804, 0x900d, 0x11e0, + 0x00fe, 0x002e, 0x00ee, 0x0005, 0x7044, 0xc085, 0x7046, 0x0c40, + 0x00de, 0x2d08, 0x7010, 0x8000, 0x7012, 0x7018, 0x906d, 0x711a, + 0x0110, 0x6902, 0x0008, 0x711e, 0x2168, 0x6804, 0x900d, 0x1120, + 0x00fe, 0x002e, 0x00ee, 0x0005, 0x2071, 0x1100, 0x9016, 0x702c, + 0x2168, 0x6904, 0x206a, 0x8210, 0x2d00, 0x81ff, 0x1dc8, 0x702e, + 0x70b8, 0x9200, 0x70ba, 0x00fe, 0x002e, 0x00ee, 0x0005, 0x2d08, + 0x7010, 0x8000, 0x7012, 0x7018, 0x906d, 0x711a, 0x0110, 0x6902, + 0x0008, 0x711e, 0x2168, 0x6804, 0x900d, 0x1904, 0x613c, 0x782c, + 0x9094, 0x0780, 0x190c, 0x6395, 0xd09c, 0x11c8, 0x701c, 0x906d, + 0x01b0, 0x684c, 0x9005, 0x1198, 0x7010, 0x8001, 0x7012, 0x1108, + 0x701a, 0x2d04, 0x701e, 0x8d07, 0x8005, 0x8005, 0xc0d5, 0x7822, + 0x782c, 0x9094, 0x0780, 0x190c, 0x6395, 0xd09c, 0x0d38, 0x782c, + 0x9094, 0x0780, 0x190c, 0x6395, 0xd0a4, 0x05d0, 0x00e6, 0x7824, + 0xc0d4, 0x8006, 0x8006, 0x806f, 0x2071, 0x1100, 0x702c, 0x206a, + 0x2d00, 0x702e, 0x70b8, 0x8000, 0x70ba, 0x782c, 0x9094, 0x0780, + 0x190c, 0x6395, 0xd0a4, 0x1d58, 0x00ee, 0x0e04, 0x6135, 0x7838, + 0x7938, 0x910e, 0x1de0, 0x00d6, 0x2069, 0x0000, 0x6836, 0x6833, + 0x0013, 0x00de, 0x7044, 0xc084, 0x7046, 0x2091, 0x4080, 0x2001, + 0x0089, 0x2004, 0xd084, 0x190c, 0x0f80, 0x2009, 0x12ab, 0x200b, + 0x0000, 0x00fe, 0x002e, 0x00ee, 0x0005, 0x7044, 0xc085, 0x7046, + 0x00fe, 0x002e, 0x00ee, 0x0005, 0x00e6, 0x2071, 0x1100, 0x9016, + 0x702c, 0x2168, 0x6904, 0x206a, 0x8210, 0x2d00, 0x81ff, 0x1dc8, + 0x702e, 0x70b8, 0x9200, 0x70ba, 0x00ee, 0x0804, 0x60d7, 0x2071, + 0x1256, 0x206b, 0x0000, 0x2d08, 0x7010, 0x8000, 0x7012, 0x7018, + 0x906d, 0x711a, 0x0110, 0x6902, 0x0008, 0x711e, 0x2168, 0x6804, + 0x900d, 0x1128, 0x1e04, 0x6178, 0x002e, 0x00ee, 0x0005, 0x2071, + 0x1100, 0x9016, 0x702c, 0x2168, 0x6904, 0x206a, 0x8210, 0x2d00, + 0x81ff, 0x1dc8, 0x702e, 0x70b8, 0x9200, 0x70ba, 0x0e04, 0x6164, + 0x2071, 0x1256, 0x701c, 0x2068, 0x684c, 0x900d, 0x0d28, 0x2071, + 0x0000, 0x7182, 0x6850, 0x7032, 0x686c, 0x7086, 0x7036, 0x6870, + 0x708a, 0x6850, 0x9082, 0x0019, 0x1278, 0x2091, 0x4080, 0x2001, + 0x0089, 0x2004, 0xd084, 0x190c, 0x0f80, 0x2071, 0x1256, 0x080c, + 0x6381, 0x002e, 0x00ee, 0x0005, 0x6850, 0x9082, 0x001c, 0x1e68, + 0x6880, 0x708e, 0x7036, 0x0026, 0x0036, 0x6b68, 0x2e10, 0x9290, + 0x002a, 0x2d00, 0x9080, 0x0021, 0x200c, 0x2112, 0x8000, 0x200c, + 0x8210, 0x8319, 0x1dd0, 0x003e, 0x002e, 0x08b8, 0x2071, 0x1256, + 0x206b, 0x0000, 0x2d08, 0x7010, 0x8000, 0x7012, 0x7018, 0x906d, + 0x711a, 0x0110, 0x6902, 0x0008, 0x711e, 0x2168, 0x6804, 0x900d, + 0x1118, 0x002e, 0x00ee, 0x0005, 0x2071, 0x1100, 0x9016, 0x702c, + 0x2168, 0x6904, 0x206a, 0x8210, 0x2d00, 0x81ff, 0x1dc8, 0x702e, + 0x70b8, 0x9200, 0x70ba, 0x002e, 0x00ee, 0x0005, 0x0006, 0x687c, + 0x0006, 0x6867, 0x0103, 0x20a9, 0x001c, 0x9d80, 0x001d, 0x20a0, + 0x9006, 0x20e9, 0x0001, 0x4004, 0x000e, 0x9084, 0x00ff, 0x687e, + 0x000e, 0x687a, 0x6982, 0x0005, 0x2071, 0x1256, 0x7004, 0x0002, + 0x61fe, 0x61ff, 0x6355, 0x6343, 0x0d52, 0x6356, 0x0005, 0x2001, + 0x12ac, 0x2004, 0x0002, 0x6208, 0x6208, 0x627f, 0x6280, 0x62de, + 0x0126, 0x2091, 0x8000, 0x1e0c, 0x639a, 0x701c, 0x906d, 0x0500, + 0x684c, 0x9005, 0x05d0, 0x0e04, 0x6230, 0x694c, 0x2071, 0x0000, + 0x7182, 0x6850, 0x7032, 0x686c, 0x7086, 0x7036, 0x6870, 0x708a, + 0x6850, 0x9082, 0x0019, 0x1278, 0x2091, 0x4080, 0x2001, 0x0089, + 0x2004, 0xd084, 0x190c, 0x0f80, 0x2071, 0x1256, 0x080c, 0x6381, + 0x012e, 0x0804, 0x627e, 0x6850, 0x9082, 0x001c, 0x1e68, 0x6880, + 0x708e, 0x7036, 0x0026, 0x0036, 0x6b68, 0x2e10, 0x9290, 0x002a, + 0x2d00, 0x9080, 0x0021, 0x200c, 0x2112, 0x8000, 0x200c, 0x8210, + 0x8319, 0x1dd0, 0x003e, 0x002e, 0x08b8, 0x2001, 0x005b, 0x2004, + 0x9094, 0x0780, 0x190c, 0x6395, 0xd09c, 0x2071, 0x1256, 0x1528, + 0x2071, 0x1256, 0x700f, 0x0001, 0x6964, 0x9184, 0x00ff, 0x9086, + 0x0003, 0x1130, 0x810f, 0x918c, 0x00ff, 0x8101, 0x0108, 0x710e, + 0x8d07, 0x8005, 0x8005, 0xc0d5, 0x00d6, 0x2069, 0x0050, 0x6822, + 0x00de, 0x2071, 0x1256, 0x701c, 0x2068, 0x7010, 0x8001, 0x7012, + 0x2d04, 0x701e, 0x9005, 0x1108, 0x701a, 0x012e, 0x0005, 0x0005, + 0x00d6, 0x2069, 0x138f, 0x683c, 0x9005, 0x0708, 0x1500, 0x0126, + 0x2091, 0x8000, 0x2069, 0x0050, 0x693c, 0x6838, 0x9106, 0x0190, + 0x0e04, 0x62a6, 0x2069, 0x0000, 0x6837, 0x8040, 0x6833, 0x0012, + 0x6883, 0x8040, 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, + 0x190c, 0x0f80, 0x2069, 0x138f, 0x683f, 0xffff, 0x012e, 0x00de, + 0x0126, 0x2091, 0x8000, 0x1e0c, 0x6409, 0x701c, 0x906d, 0x0560, + 0x2001, 0x005b, 0x2004, 0x9094, 0x0780, 0x190c, 0x6395, 0xd09c, + 0x1518, 0x2071, 0x1256, 0x700f, 0x0001, 0x6964, 0x9184, 0x00ff, + 0x9086, 0x0003, 0x1130, 0x810f, 0x918c, 0x00ff, 0x8101, 0x0108, + 0x710e, 0x8d07, 0x8005, 0x8005, 0xc0d5, 0x00d6, 0x2069, 0x0050, + 0x6822, 0x00de, 0x701c, 0x2068, 0x7010, 0x8001, 0x7012, 0x2d04, + 0x701e, 0x9005, 0x1108, 0x701a, 0x012e, 0x0005, 0x0126, 0x2091, + 0x8000, 0x1e0c, 0x639a, 0x701c, 0x906d, 0x0548, 0x684c, 0x9086, + 0x0004, 0x1538, 0x0136, 0x0146, 0x0156, 0x2099, 0x1176, 0x20e1, + 0x0001, 0x20a1, 0x12d9, 0x20e9, 0x0001, 0x20a9, 0x0004, 0x4003, + 0x015e, 0x014e, 0x013e, 0x2071, 0x12cf, 0x9d80, 0x001b, 0x700f, + 0x0001, 0x7012, 0x7017, 0x0002, 0x7007, 0x0002, 0x700b, 0x0000, + 0x2e10, 0x080c, 0x0ee5, 0x2071, 0x1256, 0x7007, 0x0003, 0x012e, + 0x0005, 0x2001, 0x005b, 0x2004, 0x9094, 0x0780, 0x190c, 0x6395, + 0xd09c, 0x2071, 0x1256, 0x1d98, 0x2071, 0x1256, 0x700f, 0x0001, + 0x6964, 0x9184, 0x00ff, 0x9086, 0x0003, 0x1130, 0x810f, 0x918c, + 0x00ff, 0x8101, 0x0108, 0x710e, 0x8d07, 0x8005, 0x8005, 0xc0d5, + 0x00d6, 0x2069, 0x0050, 0x6822, 0x00de, 0x2071, 0x1256, 0x701c, + 0x2068, 0x7010, 0x8001, 0x7012, 0x2d04, 0x701e, 0x9005, 0x1978, + 0x701a, 0x012e, 0x0005, 0x2001, 0x12d1, 0x2004, 0x908e, 0x0100, + 0x1120, 0x7007, 0x0001, 0x04a9, 0x0005, 0x908e, 0x0000, 0x0de0, + 0x908e, 0x0200, 0x1dc8, 0x080c, 0x6395, 0x0005, 0x0005, 0x684f, + 0x0004, 0x206b, 0x0000, 0x2d08, 0x2071, 0x1256, 0x7010, 0x8000, + 0x7012, 0x7018, 0x906d, 0x711a, 0x0110, 0x6902, 0x0008, 0x711e, + 0x2168, 0x6804, 0x900d, 0x1118, 0x002e, 0x00ee, 0x0005, 0x2071, + 0x1100, 0x9016, 0x702c, 0x2168, 0x6904, 0x206a, 0x8210, 0x2d00, + 0x81ff, 0x1dc8, 0x702e, 0x70b8, 0x9200, 0x70ba, 0x002e, 0x00ee, + 0x0005, 0x0126, 0x2091, 0x8000, 0x701c, 0x906d, 0x0160, 0x7010, + 0x8001, 0x7012, 0x2d04, 0x701e, 0x9005, 0x1108, 0x701a, 0x012e, + 0x080c, 0x0e86, 0x0005, 0x012e, 0x0005, 0x2011, 0x8004, 0x080c, + 0x40b6, 0x0cf8, 0x00f6, 0x2079, 0x0050, 0x7044, 0xd084, 0x01d8, + 0xc084, 0x7046, 0x7838, 0x7938, 0x910e, 0x1de0, 0x00d6, 0x2069, + 0x0000, 0x6836, 0x6833, 0x0013, 0x00de, 0x2091, 0x4080, 0x2001, + 0x0089, 0x2004, 0xd084, 0x190c, 0x0f80, 0x2009, 0x12ab, 0x200b, + 0x0000, 0x00fe, 0x0005, 0x782c, 0x9094, 0x0780, 0x19b1, 0xd0a4, + 0x0dc0, 0x2001, 0x12ac, 0x2004, 0x9086, 0x0004, 0x0140, 0x2009, + 0x12ab, 0x2104, 0x8000, 0x200a, 0x9082, 0x000f, 0x0e50, 0x00e6, + 0x2071, 0x1100, 0x7824, 0x00e6, 0x2071, 0x0040, 0x712c, 0xd19c, + 0x1118, 0x7022, 0x00ee, 0x0060, 0x00ee, 0xc0d4, 0x8006, 0x8006, + 0x806f, 0x702c, 0x206a, 0x2d00, 0x702e, 0x70b8, 0x8000, 0x70ba, + 0x782c, 0x9094, 0x0780, 0x190c, 0x6395, 0xd0a4, 0x1d18, 0x7838, + 0x7938, 0x910e, 0x1de0, 0x00d6, 0x2069, 0x0000, 0x6836, 0x6833, + 0x0013, 0x00de, 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, + 0x190c, 0x0f80, 0x2009, 0x12ab, 0x200b, 0x0000, 0x00ee, 0x00fe, + 0x0005, 0x00f6, 0x2079, 0x0050, 0x7044, 0xd084, 0x01b8, 0xc084, + 0x7046, 0x7838, 0x7938, 0x910e, 0x1de0, 0x00d6, 0x2069, 0x0000, + 0x6836, 0x6833, 0x0013, 0x00de, 0x2091, 0x4080, 0x2001, 0x0089, + 0x2004, 0xd084, 0x190c, 0x0f80, 0x00fe, 0x0005, 0x782c, 0x9094, + 0x0780, 0x190c, 0x6395, 0xd0a4, 0x0db8, 0x00e6, 0x2071, 0x1100, + 0x7824, 0xc0d4, 0x8006, 0x8006, 0x806f, 0x702c, 0x206a, 0x2d00, + 0x702e, 0x70b8, 0x8000, 0x70ba, 0x782c, 0x9094, 0x0780, 0x190c, + 0x6395, 0xd0a4, 0x1d68, 0x00d6, 0x2069, 0x0050, 0x693c, 0x2069, + 0x12ac, 0x6808, 0x690a, 0x2069, 0x138f, 0x9102, 0x1118, 0x683c, + 0x9005, 0x1328, 0x2001, 0x12ad, 0x200c, 0x810d, 0x693e, 0x00de, + 0x00ee, 0x00fe, 0x0005, 0x7090, 0x908a, 0x0029, 0x1220, 0x9082, + 0x001d, 0x0033, 0x0010, 0x080c, 0x0d52, 0x6027, 0x1e00, 0x0005, + 0x6530, 0x64c6, 0x64de, 0x6502, 0x6521, 0x655b, 0x656d, 0x64de, + 0x6547, 0x6475, 0x64af, 0x6474, 0x0005, 0x00d6, 0x2069, 0x0200, + 0x6804, 0x9005, 0x1180, 0x6808, 0x9005, 0x1578, 0x7093, 0x0028, + 0x2069, 0x1342, 0x2d04, 0x7002, 0x080c, 0x683f, 0x6028, 0x9085, + 0x0600, 0x602a, 0x0410, 0x7093, 0x0028, 0x2069, 0x1342, 0x2d04, + 0x7002, 0x6028, 0x9085, 0x0600, 0x602a, 0x00e6, 0x0036, 0x0046, + 0x0056, 0x2071, 0x13bf, 0x080c, 0x163e, 0x005e, 0x004e, 0x003e, + 0x00ee, 0x0126, 0x2091, 0x2200, 0x080c, 0x10e0, 0x78ab, 0x0004, + 0x7803, 0x0000, 0x7803, 0x0001, 0x012e, 0x00de, 0x0005, 0x00d6, + 0x2069, 0x0200, 0x6804, 0x9005, 0x1178, 0x6808, 0x9005, 0x1160, + 0x7093, 0x0028, 0x2069, 0x1342, 0x2d04, 0x7002, 0x080c, 0x68cb, + 0x6028, 0x9085, 0x0600, 0x602a, 0x00de, 0x0005, 0x6803, 0x0090, + 0x6124, 0xd1e4, 0x1190, 0x080c, 0x65d8, 0xd1d4, 0x1160, 0xd1dc, + 0x1138, 0xd1cc, 0x0150, 0x7093, 0x0020, 0x080c, 0x65d8, 0x0028, + 0x7093, 0x001d, 0x0010, 0x7093, 0x001f, 0x0005, 0x6803, 0x0088, + 0x6124, 0xd1cc, 0x11c8, 0xd1dc, 0x11a0, 0xd1e4, 0x1178, 0x9184, + 0x1e00, 0x11b8, 0x60e3, 0x0001, 0x600c, 0xc0b4, 0x600e, 0x080c, + 0x675f, 0x6803, 0x0080, 0x7093, 0x0028, 0x0058, 0x7093, 0x001e, + 0x0040, 0x7093, 0x001d, 0x0028, 0x7093, 0x0020, 0x0010, 0x7093, + 0x001f, 0x0005, 0x60e3, 0x0001, 0x600c, 0xc0b4, 0x600e, 0x080c, + 0x675f, 0x6803, 0x0080, 0x6124, 0xd1d4, 0x1180, 0xd1dc, 0x1158, + 0xd1e4, 0x1130, 0x9184, 0x1e00, 0x1158, 0x7093, 0x0028, 0x0040, + 0x7093, 0x001e, 0x0028, 0x7093, 0x001d, 0x0010, 0x7093, 0x001f, + 0x0005, 0x6803, 0x00a0, 0x6124, 0xd1dc, 0x1138, 0xd1e4, 0x0138, + 0x080c, 0x1662, 0x7093, 0x001e, 0x0010, 0x7093, 0x001d, 0x0005, + 0x080c, 0x664e, 0x6124, 0xd1dc, 0x1188, 0x080c, 0x65d8, 0x0016, + 0x080c, 0x1662, 0x001e, 0xd1d4, 0x1128, 0xd1e4, 0x0138, 0x7093, + 0x001e, 0x0020, 0x7093, 0x001f, 0x080c, 0x65d8, 0x0005, 0x6803, + 0x00a0, 0x6124, 0xd1d4, 0x1160, 0xd1cc, 0x1150, 0xd1dc, 0x1128, + 0xd1e4, 0x0140, 0x7093, 0x001e, 0x0028, 0x7093, 0x001d, 0x0010, + 0x7093, 0x0021, 0x0005, 0x080c, 0x664e, 0x6124, 0xd1d4, 0x1150, + 0xd1dc, 0x1128, 0xd1e4, 0x0140, 0x7093, 0x001e, 0x0028, 0x7093, + 0x001d, 0x0010, 0x7093, 0x001f, 0x0005, 0x6803, 0x0090, 0x6124, + 0xd1d4, 0x1178, 0xd1cc, 0x1150, 0xd1dc, 0x1128, 0xd1e4, 0x0158, + 0x7093, 0x001e, 0x0040, 0x7093, 0x001d, 0x0028, 0x7093, 0x0020, + 0x0010, 0x7093, 0x001f, 0x0005, 0x0016, 0x00c6, 0x00d6, 0x00e6, + 0x0126, 0x2061, 0x0100, 0x2069, 0x0140, 0x2071, 0x1100, 0x2091, + 0x8000, 0x080c, 0x672f, 0x11e8, 0x2001, 0x110c, 0x200c, 0xd1b4, + 0x01c0, 0xc1b4, 0x2102, 0x6027, 0x0200, 0x080c, 0x248a, 0x6024, + 0xd0cc, 0x0158, 0x6803, 0x00a0, 0x2001, 0x1321, 0x2003, 0x0001, + 0x2001, 0x1100, 0x2003, 0x0001, 0x0428, 0x6028, 0xc0cd, 0x602a, + 0x0408, 0x080c, 0x674b, 0x0150, 0x080c, 0x6741, 0x1138, 0x2001, + 0x0001, 0x080c, 0x2058, 0x080c, 0x6706, 0x00a0, 0x080c, 0x664b, + 0x0178, 0x2001, 0x0001, 0x080c, 0x2058, 0x7090, 0x9086, 0x001e, + 0x0120, 0x7090, 0x9086, 0x0022, 0x1118, 0x7093, 0x0025, 0x0010, + 0x7093, 0x0021, 0x012e, 0x00ee, 0x00de, 0x00ce, 0x001e, 0x0005, + 0x0026, 0x2011, 0x65e9, 0x080c, 0x7800, 0x002e, 0x0016, 0x0026, + 0x2009, 0x0064, 0x2011, 0x65e9, 0x080c, 0x77f7, 0x002e, 0x001e, + 0x0005, 0x00e6, 0x00f6, 0x0016, 0x080c, 0x9494, 0x2071, 0x1100, + 0x080c, 0x6584, 0x001e, 0x00fe, 0x00ee, 0x0005, 0x0016, 0x0026, + 0x0036, 0x00c6, 0x00d6, 0x00e6, 0x00f6, 0x0126, 0x080c, 0x9494, + 0x2061, 0x0100, 0x2069, 0x0140, 0x2071, 0x1100, 0x2091, 0x8000, + 0x6028, 0xc09c, 0x602a, 0x2011, 0x0003, 0x080c, 0x979d, 0x2011, + 0x0002, 0x080c, 0x97a7, 0x080c, 0x9676, 0x080c, 0x77b2, 0x0036, + 0x2019, 0x0000, 0x080c, 0x9708, 0x003e, 0x60e3, 0x0000, 0x080c, + 0xd5ac, 0x080c, 0xd5c7, 0x080c, 0x23af, 0x2001, 0x1100, 0x2003, + 0x0004, 0x6027, 0x0008, 0x080c, 0x0b5a, 0x2001, 0x0001, 0x080c, + 0x2058, 0x012e, 0x00fe, 0x00ee, 0x00de, 0x00ce, 0x003e, 0x002e, + 0x001e, 0x0005, 0x0026, 0x00e6, 0x2011, 0x65f6, 0x2071, 0x138f, + 0x701c, 0x9206, 0x1118, 0x7018, 0x9005, 0x0110, 0x9085, 0x0001, + 0x00ee, 0x002e, 0x0005, 0x6020, 0xd09c, 0x0005, 0x6800, 0x9086, + 0x00c0, 0x0160, 0x6803, 0x00c0, 0x0156, 0x20a9, 0x002d, 0x1d04, + 0x6657, 0x2091, 0x6000, 0x1f04, 0x6657, 0x015e, 0x0005, 0x00c6, + 0x00d6, 0x00e6, 0x2061, 0x0100, 0x2069, 0x0140, 0x2071, 0x1100, + 0x2001, 0x1321, 0x200c, 0x9186, 0x0000, 0x0158, 0x9186, 0x0001, + 0x0158, 0x9186, 0x0002, 0x0158, 0x9186, 0x0003, 0x0158, 0x0804, + 0x66f4, 0x7093, 0x0022, 0x0040, 0x7093, 0x0021, 0x0028, 0x7093, + 0x0023, 0x0030, 0x7093, 0x0024, 0x9085, 0x0001, 0x080c, 0x6773, + 0x60e3, 0x0000, 0x6887, 0x0001, 0x2001, 0x0001, 0x080c, 0x20ed, + 0x0026, 0x2011, 0x0003, 0x080c, 0x979d, 0x2011, 0x0002, 0x080c, + 0x97a7, 0x080c, 0x9676, 0x0036, 0x2019, 0x0000, 0x080c, 0x9708, + 0x003e, 0x002e, 0x7000, 0x908e, 0x0004, 0x0118, 0x602b, 0x0028, + 0x0010, 0x602b, 0x0020, 0x0156, 0x0126, 0x2091, 0x8000, 0x20a9, + 0x0005, 0x6024, 0xd0ac, 0x0120, 0x012e, 0x015e, 0x0804, 0x6702, + 0x6800, 0x9084, 0x00a0, 0xc0bd, 0x6802, 0x080c, 0x248a, 0x6904, + 0xd1d4, 0x1130, 0x6803, 0x0100, 0x1f04, 0x66b1, 0x080c, 0x6780, + 0x012e, 0x015e, 0x080c, 0x6741, 0x01a8, 0x6044, 0x9005, 0x0168, + 0x6050, 0x0006, 0x9085, 0x0020, 0x6052, 0x080c, 0x6780, 0x9006, + 0x8001, 0x1df0, 0x000e, 0x6052, 0x0028, 0x6804, 0xd0d4, 0x1110, + 0x080c, 0x6780, 0x0016, 0x0026, 0x7000, 0x908e, 0x0004, 0x0130, + 0x2009, 0x00c8, 0x2011, 0x65f6, 0x080c, 0x77c4, 0x002e, 0x001e, + 0x2001, 0x1321, 0x2003, 0x0004, 0x080c, 0x645b, 0x080c, 0x6741, + 0x0148, 0x6804, 0xd0d4, 0x1130, 0xd0dc, 0x1100, 0x2001, 0x1321, + 0x2003, 0x0000, 0x00ee, 0x00de, 0x00ce, 0x0005, 0x00c6, 0x00d6, + 0x00e6, 0x2061, 0x0100, 0x2069, 0x0140, 0x2071, 0x1100, 0x2001, + 0x1320, 0x2003, 0x0000, 0x2001, 0x1311, 0x2003, 0x0000, 0x7093, + 0x0000, 0x60e3, 0x0000, 0x6887, 0x0000, 0x2001, 0x0000, 0x080c, + 0x20ed, 0x6803, 0x0000, 0x6043, 0x0090, 0x6043, 0x0010, 0x6027, + 0xffff, 0x602b, 0x182f, 0x00ee, 0x00de, 0x00ce, 0x0005, 0x0006, + 0x2001, 0x1320, 0x2004, 0x9086, 0xaaaa, 0x000e, 0x0005, 0x0006, + 0x2001, 0x1172, 0x2004, 0x9084, 0x0030, 0x9086, 0x0000, 0x000e, + 0x0005, 0x0006, 0x2001, 0x1172, 0x2004, 0x9084, 0x0030, 0x9086, + 0x0030, 0x000e, 0x0005, 0x0006, 0x2001, 0x1172, 0x2004, 0x9084, + 0x0030, 0x9086, 0x0010, 0x000e, 0x0005, 0x0006, 0x2001, 0x1172, + 0x2004, 0x9084, 0x0030, 0x9086, 0x0020, 0x000e, 0x0005, 0x2001, + 0x110c, 0x2004, 0xd0a4, 0x0170, 0x080c, 0x210d, 0x0036, 0x0016, + 0x2009, 0x0000, 0x2019, 0x0028, 0x080c, 0x29e5, 0x001e, 0x003e, + 0x9006, 0x0009, 0x0005, 0x00e6, 0x2071, 0x110c, 0x2e04, 0x0118, + 0x9085, 0x0010, 0x0010, 0x9084, 0xffef, 0x2072, 0x00ee, 0x0005, + 0x6050, 0x0006, 0x60ec, 0x0006, 0x600c, 0x0006, 0x6004, 0x0006, + 0x6028, 0x0006, 0x0016, 0x6138, 0x6050, 0x9084, 0xfbff, 0x9085, + 0x2000, 0x6052, 0x613a, 0x20a9, 0x0012, 0x1d04, 0x6795, 0x2091, + 0x6000, 0x1f04, 0x6795, 0x602f, 0x0100, 0x602f, 0x0000, 0x6050, + 0x9085, 0x0400, 0x9084, 0xdfff, 0x6052, 0x613a, 0x001e, 0x602f, + 0x0040, 0x602f, 0x0000, 0x000e, 0x602a, 0x000e, 0x6006, 0x000e, + 0x600e, 0x000e, 0x60ee, 0x60e3, 0x0000, 0x6887, 0x0001, 0x2001, + 0x0001, 0x080c, 0x20ed, 0x6803, 0x00a0, 0x000e, 0x6052, 0x0005, + 0x0156, 0x0016, 0x0026, 0x0036, 0x00c6, 0x00d6, 0x00e6, 0x2061, + 0x0100, 0x2069, 0x0140, 0x2071, 0x1100, 0x6020, 0x9084, 0x0080, + 0x0138, 0x2001, 0x110c, 0x200c, 0xc1c5, 0x2102, 0x0804, 0x6837, + 0x2001, 0x110c, 0x200c, 0xc1c4, 0x2102, 0x6028, 0x9084, 0xe1ff, + 0x602a, 0x6027, 0x0200, 0x6803, 0x0090, 0x20a9, 0x0366, 0x6024, + 0xd0cc, 0x1508, 0x1d04, 0x67e7, 0x2091, 0x6000, 0x1f04, 0x67e7, + 0x2011, 0x0003, 0x080c, 0x979d, 0x2011, 0x0002, 0x080c, 0x97a7, + 0x080c, 0x9676, 0x2019, 0x0000, 0x080c, 0x9708, 0x6803, 0x00a0, + 0x2001, 0x1321, 0x2003, 0x0001, 0x2001, 0x1100, 0x2003, 0x0001, + 0x9085, 0x0001, 0x0460, 0x86ff, 0x1110, 0x080c, 0x1662, 0x60e3, + 0x0000, 0x2001, 0x1311, 0x2004, 0x080c, 0x20ed, 0x60e2, 0x6803, + 0x0080, 0x20a9, 0x0366, 0x6027, 0x1e00, 0x2009, 0x1e00, 0x080c, + 0x248a, 0x6024, 0x910c, 0x0138, 0x1d04, 0x681b, 0x2091, 0x6000, + 0x1f04, 0x681b, 0x0828, 0x6028, 0x9085, 0x1e00, 0x602a, 0x70a8, + 0x9005, 0x1118, 0x6887, 0x0001, 0x0008, 0x6886, 0x9006, 0x00ee, + 0x00de, 0x00ce, 0x003e, 0x002e, 0x001e, 0x015e, 0x0005, 0x0156, + 0x0016, 0x0026, 0x0036, 0x00c6, 0x00d6, 0x00e6, 0x2061, 0x0100, + 0x2071, 0x1100, 0x2069, 0x0140, 0x6020, 0x9084, 0x00c0, 0x0120, + 0x6884, 0x9005, 0x1904, 0x6894, 0x6803, 0x0088, 0x60e3, 0x0000, + 0x6887, 0x0000, 0x2001, 0x0000, 0x080c, 0x20ed, 0x2069, 0x0200, + 0x6804, 0x9005, 0x1118, 0x6808, 0x9005, 0x01c0, 0x6028, 0x9084, + 0xfbff, 0x602a, 0x6027, 0x0400, 0x2069, 0x1342, 0x7000, 0x206a, + 0x7093, 0x0026, 0x7003, 0x0001, 0x20a9, 0x0002, 0x1d04, 0x6876, + 0x2091, 0x6000, 0x1f04, 0x6876, 0x0804, 0x68c3, 0x2069, 0x0140, + 0x20a9, 0x0384, 0x6027, 0x1e00, 0x2009, 0x1e00, 0x080c, 0x248a, + 0x6024, 0x910c, 0x0520, 0x9084, 0x1a00, 0x1508, 0x1d04, 0x6882, + 0x2091, 0x6000, 0x1f04, 0x6882, 0x2011, 0x0003, 0x080c, 0x979d, + 0x2011, 0x0002, 0x080c, 0x97a7, 0x080c, 0x9676, 0x2019, 0x0000, + 0x080c, 0x9708, 0x6803, 0x00a0, 0x2001, 0x1321, 0x2003, 0x0001, + 0x2001, 0x1100, 0x2003, 0x0001, 0x9085, 0x0001, 0x00a0, 0x6803, + 0x0080, 0x2069, 0x0140, 0x60e3, 0x0000, 0x70a8, 0x9005, 0x1118, + 0x6887, 0x0001, 0x0008, 0x6886, 0x2001, 0x1311, 0x2004, 0x080c, + 0x20ed, 0x60e2, 0x9006, 0x00ee, 0x00de, 0x00ce, 0x003e, 0x002e, + 0x001e, 0x015e, 0x0005, 0x0156, 0x0016, 0x0026, 0x0036, 0x00c6, + 0x00d6, 0x00e6, 0x2061, 0x0100, 0x2071, 0x1100, 0x6020, 0x9084, + 0x00c0, 0x01e0, 0x2011, 0x0003, 0x080c, 0x979d, 0x2011, 0x0002, + 0x080c, 0x97a7, 0x080c, 0x9676, 0x2019, 0x0000, 0x080c, 0x9708, + 0x2069, 0x0140, 0x6803, 0x00a0, 0x2001, 0x1321, 0x2003, 0x0001, + 0x2001, 0x1100, 0x2003, 0x0001, 0x0804, 0x695f, 0x2001, 0x110c, + 0x200c, 0xd1b4, 0x1150, 0xc1b5, 0x2102, 0x080c, 0x65de, 0x2069, + 0x0140, 0x6803, 0x0080, 0x60e3, 0x0000, 0x2069, 0x0200, 0x6804, + 0x9005, 0x1118, 0x6808, 0x9005, 0x0180, 0x6028, 0x9084, 0xfdff, + 0x602a, 0x6027, 0x0200, 0x2069, 0x1342, 0x7000, 0x206a, 0x7093, + 0x0027, 0x7003, 0x0001, 0x0804, 0x695f, 0x6027, 0x1e00, 0x2009, + 0x1e00, 0x080c, 0x248a, 0x6024, 0x910c, 0x01c8, 0x9084, 0x1c00, + 0x11b0, 0x1d04, 0x691d, 0x0006, 0x0016, 0x00c6, 0x00d6, 0x00e6, + 0x080c, 0x7698, 0x00ee, 0x00de, 0x00ce, 0x001e, 0x000e, 0x00e6, + 0x2071, 0x138f, 0x7018, 0x00ee, 0x9005, 0x19f8, 0x0500, 0x0026, + 0x2011, 0x65f6, 0x080c, 0x7738, 0x2011, 0x65e9, 0x080c, 0x7800, + 0x002e, 0x2069, 0x0140, 0x60e3, 0x0000, 0x70a8, 0x9005, 0x1118, + 0x6887, 0x0001, 0x0008, 0x6886, 0x2001, 0x1311, 0x2004, 0x080c, + 0x20ed, 0x60e2, 0x2001, 0x110c, 0x200c, 0xc1b4, 0x2102, 0x00ee, + 0x00de, 0x00ce, 0x003e, 0x002e, 0x001e, 0x015e, 0x0005, 0x0156, + 0x0016, 0x0026, 0x0036, 0x0046, 0x00c6, 0x00e6, 0x2061, 0x0100, + 0x2071, 0x1100, 0x7130, 0xd184, 0x1180, 0x2011, 0x1153, 0x2214, + 0xd2ec, 0x0138, 0xc18d, 0x7132, 0x2011, 0x1153, 0x2214, 0xd2ac, + 0x1120, 0x7030, 0xd08c, 0x0904, 0x69cc, 0x7130, 0xc185, 0x7132, + 0x2011, 0x1153, 0x220c, 0xd1a4, 0x0530, 0x0016, 0x2019, 0x000e, + 0x080c, 0xd13b, 0x0156, 0x20a9, 0x007f, 0x2009, 0x0000, 0x9186, + 0x007e, 0x01a0, 0x9186, 0x0080, 0x0188, 0x080c, 0x598f, 0x1170, + 0x8127, 0x9006, 0x0016, 0x2009, 0x000e, 0x080c, 0xd1bd, 0x2009, + 0x0001, 0x2011, 0x0100, 0x080c, 0x78ed, 0x001e, 0x8108, 0x1f04, + 0x6997, 0x015e, 0x001e, 0xd1ac, 0x1148, 0x0016, 0x2009, 0x0000, + 0x2019, 0x0004, 0x080c, 0x29e5, 0x001e, 0x0070, 0x0156, 0x20a9, + 0x007f, 0x2009, 0x0000, 0x080c, 0x598f, 0x1110, 0x080c, 0x53ea, + 0x8108, 0x1f04, 0x69c3, 0x015e, 0x080c, 0x1662, 0x2011, 0x0003, + 0x080c, 0x979d, 0x2011, 0x0002, 0x080c, 0x97a7, 0x080c, 0x9676, + 0x0036, 0x2019, 0x0000, 0x080c, 0x9708, 0x003e, 0x60e3, 0x0000, + 0x2001, 0x1100, 0x2003, 0x0001, 0x080c, 0x665f, 0x00ee, 0x00ce, + 0x004e, 0x003e, 0x002e, 0x001e, 0x015e, 0x0005, 0x2071, 0x1222, + 0x7003, 0x0000, 0x7007, 0x0000, 0x708f, 0x0000, 0x7093, 0x0001, + 0x70c7, 0x0000, 0x0005, 0x00e6, 0x2071, 0x0040, 0x6848, 0x9005, + 0x1120, 0x9085, 0x0001, 0x0804, 0x6a4f, 0x6840, 0x9005, 0x01e0, + 0x900e, 0x0156, 0x20a9, 0x0006, 0x8003, 0x2011, 0x0100, 0x2214, + 0x9296, 0x0008, 0x1110, 0x818d, 0x0010, 0x81f5, 0x3e08, 0x1f04, + 0x6a0c, 0x015e, 0x6a50, 0x9200, 0x7002, 0x6854, 0x9101, 0x7006, + 0x7013, 0x0000, 0x7017, 0x0000, 0x6850, 0x7002, 0x6854, 0x7006, + 0x6858, 0x700a, 0x685c, 0x700e, 0x6840, 0x9005, 0x1120, 0x7013, + 0x0000, 0x7017, 0x0000, 0x6848, 0x701a, 0x701c, 0x9085, 0x0040, + 0x701e, 0x2001, 0x0019, 0x7036, 0x702b, 0x0001, 0x2001, 0x0004, + 0x200c, 0x918c, 0xfff7, 0x918d, 0x8000, 0x2102, 0x00d6, 0x2069, + 0x1222, 0x6807, 0x0001, 0x00de, 0x080c, 0x6fbe, 0x9006, 0x00ee, + 0x0005, 0x2079, 0x0040, 0x2071, 0x1222, 0x7004, 0x0002, 0x6a61, + 0x6a62, 0x70a9, 0x6af5, 0x6c1d, 0x6a5f, 0x6a5f, 0x6c46, 0x080c, + 0x0d52, 0x0005, 0x2079, 0x0040, 0x782c, 0x908c, 0x0780, 0x190c, + 0x70aa, 0xd0a4, 0x0510, 0x7824, 0xc0d4, 0x8006, 0x8006, 0x806f, + 0x6803, 0x0000, 0x6807, 0x0000, 0x6864, 0x9084, 0x00ff, 0x908a, + 0x0040, 0x12c0, 0x04d3, 0x2001, 0x1100, 0x200c, 0x9186, 0x0003, + 0x1160, 0x7104, 0x9186, 0x0004, 0x0140, 0x9186, 0x0007, 0x0128, + 0x9186, 0x0003, 0x19c8, 0x080c, 0x6af5, 0x782c, 0xd09c, 0x090c, + 0x6fbe, 0x0005, 0x9082, 0x005a, 0x1218, 0x2100, 0x0023, 0x0c18, + 0x080c, 0x6b2f, 0x0c90, 0x6b2f, 0x6b2f, 0x6b2f, 0x6b2f, 0x6b2f, + 0x6b2f, 0x6b2f, 0x6b2f, 0x6b6b, 0x6b2f, 0x6b2f, 0x6b2f, 0x6b2f, + 0x6b2f, 0x6b2f, 0x6b2f, 0x6b2f, 0x6b2f, 0x6b2f, 0x6b2f, 0x6b2f, + 0x6b2f, 0x6b2f, 0x6b2f, 0x6b2f, 0x6b2f, 0x6b2f, 0x6b2f, 0x6b4f, + 0x6b2f, 0x6d20, 0x6b2f, 0x6b2f, 0x6b2f, 0x6b2f, 0x6b2f, 0x6b4f, + 0x6d62, 0x6da5, 0x6dee, 0x6e02, 0x6b2f, 0x6b2f, 0x6b6b, 0x6b4f, + 0x6b7f, 0x6b2f, 0x6bf6, 0x6eae, 0x6ec9, 0x6b2f, 0x6b6b, 0x6b2f, + 0x6b7f, 0x6b2f, 0x6b2f, 0x6bec, 0x6ec9, 0x6b2f, 0x6b2f, 0x6b2f, + 0x6b2f, 0x6b2f, 0x6b2f, 0x6b2f, 0x6b2f, 0x6b2f, 0x6b94, 0x6b2f, + 0x6b2f, 0x6b2f, 0x6b2f, 0x6b2f, 0x6b2f, 0x6b2f, 0x6b2f, 0x6b2f, + 0x704f, 0x6b2f, 0x6ffa, 0x6b2f, 0x6ffa, 0x6b2f, 0x6ba9, 0x6b2f, + 0x6b2f, 0x6b2f, 0x6b2f, 0x6b2f, 0x6b2f, 0x2079, 0x0040, 0x7004, + 0x9086, 0x0003, 0x11b8, 0x782c, 0x080c, 0x6fef, 0xd0a4, 0x0190, + 0x7824, 0xc0d4, 0x8006, 0x8006, 0x806f, 0x6803, 0x0000, 0x6807, + 0x0000, 0x6864, 0x9084, 0x00ff, 0x908a, 0x001a, 0x1210, 0x002b, + 0x0c30, 0x00e9, 0x080c, 0x6fbe, 0x0005, 0x6b2f, 0x6b4f, 0x6d0c, + 0x6b2f, 0x6b4f, 0x6b2f, 0x6b4f, 0x6b4f, 0x6b2f, 0x6b4f, 0x6d0c, + 0x6b4f, 0x6b4f, 0x6b4f, 0x6b4f, 0x6b4f, 0x6b2f, 0x6b4f, 0x6d0c, + 0x6b2f, 0x6b2f, 0x6b4f, 0x6b2f, 0x6b2f, 0x6b2f, 0x6b4f, 0x00e6, + 0x2071, 0x1222, 0x7007, 0x0001, 0x6868, 0x9084, 0x00ff, 0xc0d5, + 0x686a, 0x0126, 0x2091, 0x8000, 0x080c, 0x5fa7, 0x012e, 0x00ee, + 0x0005, 0x7007, 0x0001, 0x6868, 0x9084, 0x00ff, 0xc0e5, 0x686a, + 0x0126, 0x2091, 0x8000, 0x080c, 0x5fa7, 0x012e, 0x0005, 0x7007, + 0x0001, 0x6868, 0x9084, 0x00ff, 0xc0ed, 0x686a, 0x0126, 0x2091, + 0x8000, 0x080c, 0x5fa7, 0x012e, 0x0005, 0x7007, 0x0001, 0x6868, + 0x9084, 0x00ff, 0xc0dd, 0x686a, 0x0126, 0x2091, 0x8000, 0x080c, + 0x5fa7, 0x012e, 0x0005, 0x6864, 0x8007, 0x9084, 0x00ff, 0x0988, + 0x8001, 0x1120, 0x7007, 0x0001, 0x0804, 0x6caf, 0x7007, 0x0003, + 0x7012, 0x2d00, 0x7016, 0x701a, 0x704b, 0x6caf, 0x0005, 0x6864, + 0x8007, 0x9084, 0x00ff, 0x0904, 0x6b41, 0x8001, 0x1120, 0x7007, + 0x0001, 0x0804, 0x6cc8, 0x7007, 0x0003, 0x7012, 0x2d00, 0x7016, + 0x701a, 0x704b, 0x6cc8, 0x0005, 0x6864, 0x8007, 0x9084, 0x00ff, + 0x0904, 0x6b41, 0x8001, 0x1120, 0x7007, 0x0001, 0x0804, 0x6ce4, + 0x7007, 0x0003, 0x7012, 0x2d00, 0x7016, 0x701a, 0x704b, 0x6ce4, + 0x0005, 0x6864, 0x8007, 0x9084, 0x00ff, 0x9086, 0x0001, 0x1904, + 0x6b41, 0x7007, 0x0001, 0x2009, 0x1132, 0x210c, 0x81ff, 0x11a8, + 0x6868, 0x9084, 0x00ff, 0x686a, 0x6883, 0x0000, 0x080c, 0x5656, + 0x1108, 0x0005, 0x0126, 0x2091, 0x8000, 0x6867, 0x0139, 0x687a, + 0x6982, 0x080c, 0x5fa7, 0x012e, 0x0ca0, 0x6994, 0x9186, 0x0071, + 0x0d38, 0x9186, 0x0064, 0x0d20, 0x9186, 0x007c, 0x0d08, 0x9186, + 0x0028, 0x09f0, 0x9186, 0x0038, 0x09d8, 0x9186, 0x0078, 0x09c0, + 0x9186, 0x005f, 0x09a8, 0x6897, 0x4005, 0x689b, 0x0001, 0x2001, + 0x0030, 0x2009, 0x0000, 0x08b0, 0x687c, 0x9084, 0x00c0, 0x9086, + 0x00c0, 0x1120, 0x7007, 0x0001, 0x0804, 0x6ee0, 0x2d00, 0x7016, + 0x701a, 0x20a9, 0x0004, 0x20e1, 0x0001, 0x20e9, 0x0001, 0x9080, + 0x0030, 0x2098, 0x20a1, 0x124f, 0x4003, 0x6888, 0x7012, 0x9082, + 0x0401, 0x1a04, 0x6b5d, 0x6ab4, 0x928a, 0x0002, 0x1a04, 0x6b5d, + 0x82ff, 0x1138, 0x68b8, 0x69bc, 0x9105, 0x0118, 0x2001, 0x6c82, + 0x0018, 0x9280, 0x6c78, 0x2005, 0x70ce, 0x7010, 0x9015, 0x0904, + 0x6c64, 0x080c, 0x0e54, 0x1118, 0x7007, 0x0004, 0x0005, 0x2d00, + 0x7022, 0x70cc, 0x2060, 0xe000, 0x6866, 0xe004, 0x9d00, 0x709e, + 0x709b, 0x0001, 0xe008, 0x920a, 0x1210, 0x900e, 0x2200, 0x7112, + 0xe20c, 0x8003, 0x800b, 0x9296, 0x0004, 0x0108, 0x9108, 0x71a2, + 0x810b, 0x71a6, 0x9e90, 0x0023, 0x080c, 0x0ee5, 0x7094, 0x908e, + 0x0100, 0x0170, 0x9086, 0x0200, 0x0118, 0x7007, 0x0007, 0x0005, + 0x7020, 0x2068, 0x080c, 0x0e86, 0x7014, 0x2068, 0x0804, 0x6b5d, + 0x7020, 0x2068, 0x7018, 0x6802, 0x6807, 0x0000, 0x2d08, 0x2068, + 0x6906, 0x711a, 0x0804, 0x6c1d, 0x7014, 0x2068, 0x7007, 0x0001, + 0x68b4, 0x9005, 0x1128, 0x68b8, 0x69bc, 0x9105, 0x0108, 0x00b1, + 0x6864, 0x9084, 0x00ff, 0x9086, 0x001e, 0x0904, 0x6ee0, 0x04b8, + 0x6c7a, 0x6c7e, 0x0002, 0x001d, 0x0007, 0x0004, 0x000a, 0x001b, + 0x0005, 0x0006, 0x000a, 0x001d, 0x0005, 0x0004, 0x00f6, 0x00e6, + 0x00c6, 0x0076, 0x0066, 0x6fb8, 0x6ebc, 0x6804, 0x2060, 0x9cf0, + 0x002d, 0x9cf8, 0x0033, 0x2009, 0x0005, 0x700c, 0x7816, 0x7008, + 0x7812, 0x7004, 0x7806, 0x7000, 0x7802, 0x7e0e, 0x7f0a, 0x8109, + 0x0128, 0x9ef2, 0x0004, 0x9ffa, 0x0006, 0x0c78, 0x6004, 0x9065, + 0x1d30, 0x006e, 0x007e, 0x00ce, 0x00ee, 0x00fe, 0x0005, 0x2009, + 0x1132, 0x210c, 0x81ff, 0x1178, 0x080c, 0x5456, 0x1108, 0x0005, + 0x080c, 0x61de, 0x0126, 0x2091, 0x8000, 0x080c, 0xbc1b, 0x080c, + 0x5fa7, 0x012e, 0x0ca0, 0x2001, 0x0028, 0x2009, 0x0000, 0x0c80, + 0x2009, 0x1132, 0x210c, 0x81ff, 0x1188, 0x6888, 0x9005, 0x0188, + 0x6883, 0x0000, 0x080c, 0x54ef, 0x1108, 0x0005, 0x687a, 0x0126, + 0x2091, 0x8000, 0x080c, 0x5fa7, 0x012e, 0x0cb8, 0x2001, 0x0028, + 0x0ca8, 0x2001, 0x0000, 0x0c90, 0x2009, 0x1132, 0x210c, 0x81ff, + 0x11d8, 0x6888, 0x9005, 0x01e8, 0x6883, 0x0000, 0x687c, 0xd0f4, + 0x0120, 0x080c, 0x55ab, 0x1138, 0x0005, 0x9006, 0x687a, 0x080c, + 0x5540, 0x1108, 0x0005, 0x0126, 0x2091, 0x8000, 0x687a, 0x6982, + 0x080c, 0x5fa7, 0x012e, 0x0cb0, 0x2001, 0x0028, 0x2009, 0x0000, + 0x0c90, 0x2001, 0x0000, 0x0c78, 0x7018, 0x6802, 0x2d08, 0x2068, + 0x6906, 0x711a, 0x7010, 0x8001, 0x7012, 0x0118, 0x7007, 0x0003, + 0x0030, 0x7014, 0x2068, 0x7007, 0x0001, 0x7048, 0x080f, 0x0005, + 0x7007, 0x0001, 0x6974, 0x810f, 0x918c, 0x00ff, 0x6878, 0x9084, + 0x00ff, 0x20a9, 0x0001, 0x9096, 0x0001, 0x01b0, 0x2009, 0x0000, + 0x20a9, 0x00ff, 0x9096, 0x0002, 0x0178, 0x9005, 0x11f0, 0x6974, + 0x810f, 0x918c, 0x00ff, 0x080c, 0x598f, 0x11b8, 0x0066, 0x6e80, + 0x080c, 0x5a8b, 0x006e, 0x0088, 0x0046, 0x2011, 0x110c, 0x2224, + 0xc484, 0x2412, 0x004e, 0x00c6, 0x080c, 0x598f, 0x1110, 0x080c, + 0x5b4e, 0x8108, 0x1f04, 0x6d4c, 0x00ce, 0x687c, 0xd084, 0x1118, + 0x080c, 0x0e86, 0x0005, 0x0126, 0x2091, 0x8000, 0x080c, 0x5fa7, + 0x012e, 0x0005, 0x0126, 0x2091, 0x8000, 0x7007, 0x0001, 0x2001, + 0x1153, 0x2004, 0xd0a4, 0x0580, 0x2061, 0x13cd, 0x6100, 0xd184, + 0x0178, 0x6888, 0x9084, 0x00ff, 0x1550, 0x6000, 0xd084, 0x0520, + 0x6004, 0x9005, 0x1538, 0x6003, 0x0000, 0x600b, 0x0000, 0x00c8, + 0x2011, 0x0001, 0x6890, 0x9005, 0x1110, 0x2001, 0x001e, 0x8000, + 0x6016, 0x6888, 0x9084, 0x00ff, 0x0178, 0x6006, 0x6888, 0x8007, + 0x9084, 0x00ff, 0x0148, 0x600a, 0x6888, 0x8000, 0x1108, 0xc28d, + 0x6202, 0x012e, 0x0804, 0x6fa8, 0x012e, 0x0804, 0x6fa2, 0x012e, + 0x0804, 0x6f9c, 0x012e, 0x0804, 0x6f9f, 0x0126, 0x2091, 0x8000, + 0x7007, 0x0001, 0x2001, 0x1153, 0x2004, 0xd0a4, 0x05e0, 0x2061, + 0x13cd, 0x6000, 0xd084, 0x05b8, 0x6204, 0x6308, 0xd08c, 0x1530, + 0x6c78, 0x9484, 0x0003, 0x0170, 0x6988, 0x918c, 0x00ff, 0x8001, + 0x1120, 0x2100, 0x9210, 0x0620, 0x0028, 0x8001, 0x1508, 0x2100, + 0x9212, 0x02f0, 0x9484, 0x000c, 0x0188, 0x6988, 0x810f, 0x918c, + 0x00ff, 0x9082, 0x0004, 0x1120, 0x2100, 0x9318, 0x0288, 0x0030, + 0x9082, 0x0004, 0x1168, 0x2100, 0x931a, 0x0250, 0x6890, 0x9005, + 0x0110, 0x8000, 0x6016, 0x6206, 0x630a, 0x012e, 0x0804, 0x6fa8, + 0x012e, 0x0804, 0x6fa5, 0x012e, 0x0804, 0x6fa2, 0x0126, 0x2091, + 0x8000, 0x7007, 0x0001, 0x2061, 0x13cd, 0x6300, 0xd38c, 0x1120, + 0x6308, 0x8318, 0x0220, 0x630a, 0x012e, 0x0804, 0x6fb6, 0x012e, + 0x0804, 0x6fa5, 0x0126, 0x00c6, 0x2091, 0x8000, 0x7007, 0x0001, + 0x687c, 0xd0ac, 0x0148, 0x00c6, 0x2061, 0x13cd, 0x6000, 0x9084, + 0xfcff, 0x6002, 0x00ce, 0x0448, 0x6888, 0x9005, 0x05d0, 0x688c, + 0x9065, 0x0598, 0x2001, 0x1132, 0x2004, 0x9005, 0x0118, 0x080c, + 0x9f0b, 0x0068, 0x6017, 0x0400, 0x605b, 0x0000, 0x697c, 0xd1a4, + 0x0110, 0x6980, 0x615a, 0x2009, 0x0041, 0x080c, 0x9f51, 0x6988, + 0x918c, 0xff00, 0x9186, 0x2000, 0x1140, 0x0026, 0x2009, 0x0000, + 0x2011, 0xfdff, 0x080c, 0x78ed, 0x002e, 0x687c, 0xd0c4, 0x0148, + 0x2061, 0x13cd, 0x6000, 0xd08c, 0x1120, 0x6008, 0x8000, 0x0208, + 0x600a, 0x00ce, 0x012e, 0x0804, 0x6fa8, 0x00ce, 0x012e, 0x0804, + 0x6fa2, 0x6984, 0x9186, 0x002e, 0x0d40, 0x9186, 0x002d, 0x0d28, + 0x9186, 0x0045, 0x0528, 0x9186, 0x002a, 0x1130, 0x2001, 0x110c, + 0x200c, 0xc194, 0x2102, 0x08c8, 0x9186, 0x0020, 0x0170, 0x9186, + 0x0029, 0x1d18, 0x6974, 0x918c, 0xff00, 0x810f, 0x080c, 0x598f, + 0x1960, 0x6000, 0xc0e4, 0x6002, 0x0840, 0x688c, 0x9065, 0x09a8, + 0x6007, 0x0024, 0x2001, 0x1339, 0x2004, 0x601a, 0x0804, 0x6e3d, + 0x688c, 0x9065, 0x0950, 0x00e6, 0x6890, 0x9075, 0x2001, 0x1132, + 0x2004, 0x9005, 0x0150, 0x080c, 0x9f0b, 0x8eff, 0x0118, 0x2e60, + 0x080c, 0x9f0b, 0x00ee, 0x0804, 0x6e3d, 0x6024, 0xc0dc, 0xc0d5, + 0x6026, 0x2e60, 0x6007, 0x003a, 0x68a0, 0x9005, 0x0130, 0x6007, + 0x003b, 0x68a4, 0x602e, 0x68a8, 0x6016, 0x6003, 0x0001, 0x080c, + 0x82d6, 0x080c, 0x87fb, 0x00ee, 0x0804, 0x6e3d, 0x2061, 0x13cd, + 0x6000, 0xd084, 0x0190, 0xd08c, 0x1904, 0x6fb6, 0x0126, 0x2091, + 0x8000, 0x6204, 0x8210, 0x0220, 0x6206, 0x012e, 0x0804, 0x6fb6, + 0x012e, 0x6883, 0x0016, 0x0804, 0x6faf, 0x6883, 0x0007, 0x0804, + 0x6faf, 0x6864, 0x8007, 0x9084, 0x00ff, 0x0130, 0x8001, 0x1138, + 0x7007, 0x0001, 0x0069, 0x0005, 0x080c, 0x6b41, 0x0040, 0x7007, + 0x0003, 0x7012, 0x2d00, 0x7016, 0x701a, 0x704b, 0x6ee0, 0x0005, + 0x00e6, 0x0126, 0x2091, 0x8000, 0x903e, 0x2061, 0x1100, 0x61c8, + 0x81ff, 0x1904, 0x6f62, 0x6130, 0xd194, 0x1904, 0x6f8c, 0x6878, + 0x2070, 0x9e82, 0x16c0, 0x0a04, 0x6f56, 0x6060, 0x9e02, 0x1a04, + 0x6f56, 0x7120, 0x9186, 0x0006, 0x1904, 0x6f45, 0x7010, 0x9005, + 0x0904, 0x6f62, 0x2004, 0xd0e4, 0x1904, 0x6f87, 0x2061, 0x13cd, + 0x6100, 0x9184, 0x0301, 0x9086, 0x0001, 0x1590, 0x7024, 0xd0dc, + 0x1904, 0x6f8f, 0x6883, 0x0000, 0x6803, 0x0000, 0x2d08, 0x7014, + 0x9005, 0x1198, 0x7116, 0x687c, 0xd0f4, 0x1904, 0x6f92, 0x2001, + 0x1153, 0x2004, 0xd09c, 0x1118, 0x687c, 0xc0cc, 0x687e, 0x2e60, + 0x080c, 0x781a, 0x012e, 0x00ee, 0x0005, 0x2068, 0x6800, 0x9005, + 0x1de0, 0x6902, 0x2168, 0x687c, 0xd0f4, 0x1904, 0x6f92, 0x012e, + 0x00ee, 0x0005, 0x012e, 0x00ee, 0x6883, 0x0006, 0x0804, 0x6faf, + 0xd184, 0x0dc0, 0xd1c4, 0x11a8, 0x00b8, 0x6974, 0x918c, 0xff00, + 0x810f, 0x080c, 0x598f, 0x15d8, 0x6000, 0xd0e4, 0x15c0, 0x7120, + 0x9186, 0x0007, 0x1118, 0x6883, 0x0002, 0x0498, 0x6883, 0x0008, + 0x0480, 0x6883, 0x000e, 0x0468, 0x6883, 0x0017, 0x0450, 0x6883, + 0x0035, 0x0438, 0x2001, 0x1172, 0x2004, 0xd0fc, 0x01e8, 0x6878, + 0x2070, 0x9e82, 0x16c0, 0x02c0, 0x6060, 0x9e02, 0x12a8, 0x7120, + 0x9186, 0x0006, 0x1188, 0x7010, 0x9005, 0x0170, 0x2004, 0xd0bc, + 0x0158, 0x2039, 0x0001, 0x7000, 0x9086, 0x0007, 0x1904, 0x6eeb, + 0x7003, 0x0002, 0x0804, 0x6eeb, 0x6883, 0x0028, 0x0010, 0x6883, + 0x0029, 0x012e, 0x00ee, 0x0418, 0x6883, 0x002a, 0x0cd0, 0x6883, + 0x0045, 0x0cb8, 0x2e60, 0x2019, 0x0002, 0x601b, 0x0014, 0x080c, + 0xcd5f, 0x012e, 0x00ee, 0x0005, 0x2009, 0x003e, 0x0058, 0x2009, + 0x0004, 0x0040, 0x2009, 0x0006, 0x0028, 0x2009, 0x0016, 0x0010, + 0x2009, 0x0001, 0x6884, 0x9084, 0xff00, 0x9105, 0x6886, 0x0126, + 0x2091, 0x8000, 0x080c, 0x5fa7, 0x012e, 0x0005, 0x080c, 0x0e86, + 0x0005, 0x00d6, 0x080c, 0x7811, 0x00de, 0x0005, 0x00d6, 0x00e6, + 0x0126, 0x2091, 0x8000, 0x2071, 0x0040, 0x702c, 0xd084, 0x01f0, + 0x908c, 0x0780, 0x11f8, 0xd09c, 0x11c8, 0x2071, 0x1100, 0x70b8, + 0x90ea, 0x0020, 0x0298, 0x8001, 0x70ba, 0x702c, 0x2068, 0x2d04, + 0x702e, 0x206b, 0x0000, 0x6807, 0x0000, 0x2071, 0x0040, 0x8d07, + 0x8005, 0x8005, 0xc0d5, 0x7022, 0x702c, 0x0c10, 0x012e, 0x00ee, + 0x00de, 0x0005, 0x2011, 0x8003, 0x080c, 0x40b6, 0x0cf8, 0x0006, + 0x9084, 0x0780, 0x0128, 0x2011, 0x8003, 0x080c, 0x40b6, 0x0cf8, + 0x000e, 0x0005, 0x6898, 0x9084, 0x0003, 0x05a0, 0x080c, 0x9e84, + 0x05d0, 0x2d00, 0x6016, 0x6864, 0x9084, 0x00ff, 0x9086, 0x0035, + 0x1130, 0x6008, 0xc0fd, 0x600a, 0x2001, 0x12e0, 0x0098, 0x68a0, + 0x9084, 0x00ff, 0x699c, 0x918c, 0xff00, 0x9105, 0x699c, 0x918c, + 0x00ff, 0x080c, 0x2098, 0x1540, 0x00c6, 0x080c, 0x598f, 0x2c00, + 0x00ce, 0x1510, 0x6012, 0x6023, 0x0001, 0x2009, 0x0040, 0x6864, + 0x9084, 0x00ff, 0x9086, 0x0035, 0x0110, 0x2009, 0x0041, 0x080c, + 0x9f51, 0x0005, 0x687b, 0x0101, 0x0126, 0x2091, 0x8000, 0x080c, + 0x5fa7, 0x012e, 0x0005, 0x687b, 0x002c, 0x0126, 0x2091, 0x8000, + 0x080c, 0x5fa7, 0x012e, 0x0005, 0x687b, 0x0028, 0x0126, 0x2091, + 0x8000, 0x080c, 0x5fa7, 0x012e, 0x080c, 0x9eda, 0x0005, 0x00d6, + 0x00c6, 0x0036, 0x0026, 0x0016, 0x7007, 0x0001, 0x6a74, 0x9282, + 0x0004, 0x1a04, 0x709a, 0x697c, 0x9188, 0x1000, 0x2104, 0x9065, + 0x6004, 0xd284, 0x0140, 0x05e0, 0x8007, 0x9084, 0x00ff, 0x9084, + 0x0006, 0x1108, 0x04a8, 0x2c10, 0x080c, 0x9e84, 0x1118, 0x080c, + 0x9f24, 0x05a0, 0x6212, 0x6874, 0x0002, 0x7079, 0x707e, 0x7081, + 0x7087, 0x2019, 0x0002, 0x080c, 0xd13b, 0x0060, 0x080c, 0xd0d2, + 0x0048, 0x2019, 0x0002, 0x6980, 0x080c, 0xd0ed, 0x0018, 0x6980, + 0x080c, 0xd0d2, 0x080c, 0x9eda, 0x6887, 0x0000, 0x0126, 0x2091, + 0x8000, 0x080c, 0x5fa7, 0x012e, 0x001e, 0x002e, 0x003e, 0x00ce, + 0x00de, 0x0005, 0x6887, 0x0006, 0x0c88, 0x6887, 0x0002, 0x0c70, + 0x6887, 0x0005, 0x0c58, 0x6887, 0x0004, 0x0c40, 0x6887, 0x0007, + 0x0c28, 0x0005, 0x2011, 0x8003, 0x080c, 0x40b6, 0x0cf8, 0x0005, + 0x0005, 0x00f6, 0x2079, 0x0300, 0x2001, 0x0200, 0x200c, 0xc1e5, + 0xc1dc, 0x2102, 0x2009, 0x0218, 0x210c, 0xd1ec, 0x1120, 0x080c, + 0x1316, 0x00fe, 0x0005, 0x2001, 0x020d, 0x2003, 0x0020, 0x2001, + 0x0307, 0x2003, 0x0300, 0x00fe, 0x0005, 0x781c, 0xd08c, 0x05d8, + 0x7d44, 0x7c40, 0x9584, 0x00f6, 0x1508, 0x9484, 0x7000, 0x0138, + 0x908a, 0x2000, 0x1258, 0x9584, 0x0700, 0x8007, 0x0498, 0x7000, + 0x9084, 0xff00, 0x9086, 0x8100, 0x0db0, 0x00b0, 0x9484, 0x0fff, + 0x1130, 0x7000, 0x9084, 0xff00, 0x9086, 0x8100, 0x11b0, 0x080c, + 0xd55c, 0x080c, 0x758c, 0x7817, 0x0140, 0x0098, 0x9584, 0x0076, + 0x1118, 0x080c, 0x75ea, 0x19c8, 0xd5a4, 0x0138, 0x0046, 0x0056, + 0x080c, 0x1b5f, 0x005e, 0x004e, 0x0020, 0x080c, 0xd55c, 0x7817, + 0x0140, 0x080c, 0x714d, 0x2001, 0x1385, 0x2004, 0x9005, 0x090c, + 0x87fb, 0x0005, 0x0002, 0x7124, 0x739e, 0x711b, 0x711b, 0x711b, + 0x711b, 0x711b, 0x711b, 0x7817, 0x0140, 0x2001, 0x1385, 0x2004, + 0x9005, 0x090c, 0x87fb, 0x0005, 0x7000, 0x908c, 0xff00, 0x9194, + 0xf000, 0x810f, 0x9484, 0x0fff, 0x688a, 0x9286, 0x2000, 0x1148, + 0x6800, 0x9086, 0x0001, 0x1118, 0x080c, 0x4b1b, 0x0068, 0x0451, + 0x0058, 0x9286, 0x3000, 0x1118, 0x080c, 0x72e8, 0x0028, 0x9286, + 0x8000, 0x1110, 0x080c, 0x74b6, 0x7817, 0x0140, 0x2001, 0x1385, + 0x2004, 0x9005, 0x090c, 0x87fb, 0x0005, 0x2001, 0x110f, 0x2004, + 0xd08c, 0x0178, 0x2001, 0x1100, 0x2004, 0x9086, 0x0003, 0x1148, + 0x0026, 0x0036, 0x2011, 0x8048, 0x2518, 0x080c, 0x40b6, 0x003e, + 0x002e, 0x0005, 0x00c6, 0x7010, 0x9084, 0xff00, 0x8007, 0x9096, + 0x0001, 0x0120, 0x9096, 0x0023, 0x1904, 0x72e2, 0x9186, 0x0023, + 0x1550, 0x080c, 0x754f, 0x0904, 0x72e2, 0x7124, 0x610a, 0x7030, + 0x908e, 0x0200, 0x1130, 0x2009, 0x0015, 0x080c, 0x9f51, 0x0804, + 0x72e2, 0x908e, 0x0214, 0x0118, 0x908e, 0x0210, 0x1130, 0x2009, + 0x0015, 0x080c, 0x9f51, 0x0804, 0x72e2, 0x908e, 0x0100, 0x1904, + 0x72e2, 0x7034, 0x9005, 0x1904, 0x72e2, 0x2009, 0x0016, 0x080c, + 0x9f51, 0x0804, 0x72e2, 0x9186, 0x0022, 0x1904, 0x72e2, 0x7030, + 0x908e, 0x0300, 0x1580, 0x68d4, 0xd0a4, 0x0528, 0xc0b5, 0x68d6, + 0x7100, 0x918c, 0x00ff, 0x6976, 0x7004, 0x687a, 0x00f6, 0x2079, + 0x0100, 0x79e6, 0x78ea, 0x0006, 0x9084, 0x00ff, 0x0016, 0x2008, + 0x080c, 0x20c2, 0x7932, 0x7936, 0x001e, 0x000e, 0x00fe, 0x080c, + 0x2098, 0x6956, 0x703c, 0x00e6, 0x2071, 0x0140, 0x7086, 0x2071, + 0x1100, 0x70aa, 0x00ee, 0x7034, 0x9005, 0x1904, 0x72e2, 0x2009, + 0x0017, 0x0804, 0x72a1, 0x908e, 0x0400, 0x1158, 0x7034, 0x9005, + 0x1904, 0x72e2, 0x68d4, 0xc0a5, 0x68d6, 0x2009, 0x0030, 0x0804, + 0x72a1, 0x908e, 0x0500, 0x1140, 0x7034, 0x9005, 0x1904, 0x72e2, + 0x2009, 0x0018, 0x0804, 0x72a1, 0x908e, 0x2010, 0x1120, 0x2009, + 0x0019, 0x0804, 0x72a1, 0x908e, 0x2110, 0x1120, 0x2009, 0x001a, + 0x0804, 0x72a1, 0x908e, 0x5200, 0x1140, 0x7034, 0x9005, 0x1904, + 0x72e2, 0x2009, 0x001b, 0x0804, 0x72a1, 0x908e, 0x5000, 0x1140, + 0x7034, 0x9005, 0x1904, 0x72e2, 0x2009, 0x001c, 0x0804, 0x72a1, + 0x908e, 0x1300, 0x1120, 0x2009, 0x0034, 0x0804, 0x72a1, 0x908e, + 0x1200, 0x1140, 0x7034, 0x9005, 0x1904, 0x72e2, 0x2009, 0x0024, + 0x0804, 0x72a1, 0x908c, 0xff00, 0x918e, 0x2400, 0x1120, 0x2009, + 0x002d, 0x0804, 0x72a1, 0x908c, 0xff00, 0x918e, 0x5300, 0x1120, + 0x2009, 0x002a, 0x0804, 0x72a1, 0x908e, 0x0f00, 0x1120, 0x2009, + 0x0020, 0x0804, 0x72a1, 0x908e, 0x5300, 0x1108, 0x00e0, 0x908e, + 0x6104, 0x11c8, 0x2011, 0x026d, 0x8208, 0x2204, 0x9082, 0x0004, + 0x8004, 0x8004, 0x20a8, 0x2011, 0x8015, 0x211c, 0x8108, 0x0046, + 0x2124, 0x080c, 0x40b6, 0x004e, 0x8108, 0x1f04, 0x724b, 0x2009, + 0x0023, 0x0804, 0x72a1, 0x908e, 0x6000, 0x1120, 0x2009, 0x003f, + 0x0804, 0x72a1, 0x908e, 0x5400, 0x1138, 0x080c, 0x7623, 0x1904, + 0x72e2, 0x2009, 0x0046, 0x04a8, 0x908e, 0x5500, 0x1148, 0x080c, + 0x764b, 0x1118, 0x2009, 0x0041, 0x0460, 0x2009, 0x0042, 0x0448, + 0x908e, 0x7800, 0x1118, 0x2009, 0x0045, 0x0418, 0x908e, 0x1000, + 0x1118, 0x2009, 0x004e, 0x00e8, 0x908e, 0x6300, 0x1118, 0x2009, + 0x004a, 0x00b8, 0x908c, 0xff00, 0x918e, 0x5600, 0x1118, 0x2009, + 0x004f, 0x0078, 0x908c, 0xff00, 0x918e, 0x5700, 0x1118, 0x2009, + 0x0050, 0x0038, 0x2009, 0x001d, 0x6834, 0xd0d4, 0x0110, 0x2009, + 0x004c, 0x0016, 0x2011, 0x0263, 0x2204, 0x8211, 0x220c, 0x080c, + 0x2098, 0x15d0, 0x080c, 0x5938, 0x15b8, 0x6612, 0x6516, 0x86ff, + 0x01e8, 0x001e, 0x0016, 0x9186, 0x0017, 0x1158, 0x6874, 0x9606, + 0x11a8, 0x6878, 0x9506, 0x9084, 0xff00, 0x1180, 0x6000, 0xc0f5, + 0x6002, 0x9186, 0x0046, 0x1150, 0x6874, 0x9606, 0x1138, 0x6878, + 0x9506, 0x9084, 0xff00, 0x1110, 0x001e, 0x00a0, 0x00c6, 0x080c, + 0x9e84, 0x01a0, 0x001e, 0x6112, 0x6023, 0x0004, 0x7120, 0x610a, + 0x001e, 0x9186, 0x004c, 0x1110, 0x6023, 0x000a, 0x0016, 0x001e, + 0x080c, 0x9f51, 0x00ce, 0x0005, 0x001e, 0x0ce0, 0x00ce, 0x0ce0, + 0x080c, 0x2b2e, 0x1140, 0x7010, 0x9084, 0xff00, 0x8007, 0x908e, + 0x0008, 0x1108, 0x0009, 0x0005, 0x00c6, 0x0046, 0x7000, 0x908c, + 0xff00, 0x810f, 0x9186, 0x0033, 0x11e8, 0x080c, 0x754f, 0x0904, + 0x7345, 0x7124, 0x610a, 0x7030, 0x908e, 0x0200, 0x1140, 0x7034, + 0x9005, 0x15d8, 0x2009, 0x0015, 0x080c, 0x9f51, 0x04b0, 0x908e, + 0x0100, 0x1598, 0x7034, 0x9005, 0x1580, 0x2009, 0x0016, 0x080c, + 0x9f51, 0x0458, 0x9186, 0x0032, 0x1540, 0x7030, 0x908e, 0x1400, + 0x1520, 0x2009, 0x0038, 0x0016, 0x2011, 0x0263, 0x2204, 0x8211, + 0x220c, 0x080c, 0x2098, 0x11c0, 0x080c, 0x5938, 0x11a8, 0x6612, + 0x6516, 0x00c6, 0x080c, 0x9e84, 0x0170, 0x001e, 0x6112, 0x080c, + 0xbd78, 0x6023, 0x0004, 0x7120, 0x610a, 0x001e, 0x080c, 0x9f51, + 0x080c, 0x87fb, 0x0010, 0x00ce, 0x001e, 0x004e, 0x00ce, 0x0005, + 0x0046, 0x00e6, 0x00d6, 0x2028, 0x2130, 0x9696, 0x00ff, 0x11b0, + 0x9592, 0xfffc, 0x0298, 0x9596, 0xfffd, 0x1120, 0x2009, 0x007f, + 0x0804, 0x7399, 0x9596, 0xfffe, 0x1118, 0x2009, 0x007e, 0x04c8, + 0x9596, 0xfffc, 0x1118, 0x2009, 0x0080, 0x0498, 0x2011, 0x0000, + 0x2019, 0x1135, 0x231c, 0xd3ac, 0x0138, 0x2021, 0x0000, 0x20a9, + 0x00ff, 0x2071, 0x1000, 0x0030, 0x2021, 0x0081, 0x20a9, 0x007e, + 0x2071, 0x1081, 0x2e1c, 0x93ed, 0x0000, 0x1128, 0x82ff, 0x1170, + 0x2410, 0xc2fd, 0x0058, 0x6f10, 0x2600, 0x9706, 0x6814, 0x1120, + 0x9546, 0x1110, 0x2408, 0x0068, 0x9745, 0x0d80, 0x8420, 0x8e70, + 0x1f04, 0x737a, 0x82ff, 0x1118, 0x9085, 0x0001, 0x0018, 0xc2fc, + 0x2208, 0x9006, 0x00de, 0x00ee, 0x004e, 0x0005, 0x7000, 0x908c, + 0xff00, 0x810f, 0x9184, 0x000f, 0x004a, 0x7817, 0x0140, 0x2001, + 0x1385, 0x2004, 0x9005, 0x090c, 0x87fb, 0x0005, 0x73be, 0x73be, + 0x73be, 0x7561, 0x73be, 0x73c7, 0x73f4, 0x7489, 0x73be, 0x73be, + 0x73be, 0x73be, 0x73be, 0x73be, 0x73be, 0x73be, 0x7817, 0x0140, + 0x2001, 0x1385, 0x2004, 0x9005, 0x090c, 0x87fb, 0x0005, 0x7110, + 0xd1bc, 0x0508, 0x7120, 0x2160, 0x9c8c, 0x0007, 0x11e0, 0x9c8a, + 0x16c0, 0x02c8, 0x6860, 0x9c02, 0x12b0, 0x7008, 0x9084, 0x00ff, + 0x6110, 0x9188, 0x0004, 0x210c, 0x9106, 0x1168, 0x700c, 0x6110, + 0x9188, 0x0005, 0x210c, 0x9106, 0x1130, 0x7124, 0x610a, 0x2009, + 0x0046, 0x080c, 0x9f51, 0x7817, 0x0140, 0x2001, 0x1385, 0x2004, + 0x9005, 0x090c, 0x87fb, 0x0005, 0x00c6, 0x9484, 0x0fff, 0x0904, + 0x745f, 0x7110, 0xd1bc, 0x1904, 0x745f, 0x7108, 0x700c, 0x2028, + 0x918c, 0x00ff, 0x2130, 0x9094, 0xff00, 0x15e8, 0x81ff, 0x15d8, + 0x9080, 0x2b33, 0x200d, 0x918c, 0xff00, 0x810f, 0x2001, 0x0080, + 0x9106, 0x0904, 0x745f, 0x080c, 0x5938, 0x1904, 0x745f, 0x6612, + 0x6516, 0x6000, 0xd0ec, 0x1904, 0x745f, 0x6204, 0x9294, 0xff00, + 0x8217, 0x9286, 0x0006, 0x1190, 0x00c6, 0x080c, 0x9e84, 0x001e, + 0x0904, 0x7469, 0x6112, 0x6023, 0x0006, 0x7120, 0x610a, 0x7130, + 0x6156, 0x2009, 0x0044, 0x080c, 0x9f51, 0x0448, 0x080c, 0x672f, + 0x1170, 0x6204, 0x9294, 0x00ff, 0x9286, 0x0006, 0x1140, 0x9295, + 0x0600, 0x6206, 0x0c08, 0x190c, 0x7348, 0x11c8, 0x0860, 0x00c6, + 0x080c, 0x9e84, 0x001e, 0x0198, 0x6112, 0x6023, 0x0004, 0x7120, + 0x610a, 0x9286, 0x0004, 0x1118, 0x6007, 0x0005, 0x0010, 0x6007, + 0x0001, 0x6003, 0x0001, 0x080c, 0x8326, 0x080c, 0x87fb, 0x7817, + 0x0140, 0x2001, 0x1385, 0x2004, 0x9005, 0x090c, 0x87fb, 0x00ce, + 0x0005, 0x2001, 0x110d, 0x2004, 0xd0ec, 0x0120, 0x2011, 0x8049, + 0x080c, 0x40b6, 0x00c6, 0x080c, 0x9f24, 0x001e, 0x0d40, 0x6112, + 0x6023, 0x0006, 0x7120, 0x610a, 0x7130, 0x6156, 0x6017, 0x0300, + 0x6003, 0x0001, 0x6007, 0x0041, 0x080c, 0x82d6, 0x080c, 0x87fb, + 0x08b0, 0x7110, 0xd1bc, 0x0508, 0x7020, 0x2060, 0x9c84, 0x0007, + 0x11e0, 0x9c82, 0x16c0, 0x02c8, 0x6860, 0x9c02, 0x12b0, 0x7008, + 0x9084, 0x00ff, 0x6110, 0x9188, 0x0004, 0x210c, 0x9106, 0x1168, + 0x700c, 0x6110, 0x9188, 0x0005, 0x210c, 0x9106, 0x1130, 0x7124, + 0x610a, 0x2009, 0x0045, 0x080c, 0x9f51, 0x7817, 0x0140, 0x2001, + 0x1385, 0x2004, 0x9005, 0x090c, 0x87fb, 0x0005, 0x080c, 0x2b2e, + 0x1168, 0x7010, 0x9084, 0xff00, 0x8007, 0x9086, 0x0000, 0x1130, + 0x9184, 0x000f, 0x908a, 0x0006, 0x1208, 0x000b, 0x0005, 0x74cd, + 0x74ce, 0x74cd, 0x74cd, 0x7537, 0x7543, 0x0005, 0x7110, 0xd1bc, + 0x0120, 0x702c, 0xd084, 0x0904, 0x7536, 0x700c, 0x7108, 0x080c, + 0x2098, 0x1904, 0x7536, 0x080c, 0x5938, 0x1904, 0x7536, 0x6612, + 0x6516, 0x6204, 0x7110, 0xd1bc, 0x01f8, 0x928c, 0x00ff, 0x9186, + 0x0004, 0x0118, 0x9186, 0x0006, 0x15c8, 0x00c6, 0x080c, 0x754f, + 0x00ce, 0x0904, 0x7536, 0x00c6, 0x080c, 0x9e84, 0x001e, 0x05f0, + 0x6112, 0x080c, 0xbd78, 0x6023, 0x0002, 0x7120, 0x610a, 0x2009, + 0x0088, 0x080c, 0x9f51, 0x0490, 0x928c, 0x00ff, 0x9186, 0x0006, + 0x0160, 0x9186, 0x0004, 0x0148, 0x9294, 0xff00, 0x8217, 0x9286, + 0x0004, 0x0118, 0x9286, 0x0006, 0x1188, 0x00c6, 0x080c, 0x9e84, + 0x001e, 0x01e0, 0x6112, 0x080c, 0xbd78, 0x6023, 0x0005, 0x7120, + 0x610a, 0x2009, 0x0088, 0x080c, 0x9f51, 0x0080, 0x00c6, 0x080c, + 0x9e84, 0x001e, 0x0158, 0x6112, 0x080c, 0xbd78, 0x6023, 0x0004, + 0x7120, 0x610a, 0x2009, 0x0001, 0x080c, 0x9f51, 0x0005, 0x7110, + 0xd1bc, 0x0140, 0x00a1, 0x0130, 0x7124, 0x610a, 0x2009, 0x0089, + 0x080c, 0x9f51, 0x0005, 0x7110, 0xd1bc, 0x0140, 0x0041, 0x0130, + 0x7124, 0x610a, 0x2009, 0x008a, 0x080c, 0x9f51, 0x0005, 0x7020, + 0x2060, 0x9c84, 0x0007, 0x1158, 0x9c82, 0x16c0, 0x0240, 0x2001, + 0x1118, 0x2004, 0x9c02, 0x1218, 0x9085, 0x0001, 0x0005, 0x9006, + 0x0ce8, 0x7110, 0xd1bc, 0x11f8, 0x7024, 0x2060, 0x9c84, 0x0007, + 0x11d0, 0x9c82, 0x16c0, 0x02b8, 0x6860, 0x9c02, 0x12a0, 0x7008, + 0x9084, 0x00ff, 0x6110, 0x9188, 0x0004, 0x210c, 0x9106, 0x1158, + 0x700c, 0x6110, 0x9188, 0x0005, 0x210c, 0x9106, 0x1120, 0x2009, + 0x0051, 0x080c, 0x9f51, 0x7817, 0x0140, 0x2001, 0x1385, 0x2004, + 0x9005, 0x090c, 0x87fb, 0x0005, 0x2031, 0x0105, 0x0069, 0x0005, + 0x2031, 0x0206, 0x0049, 0x0005, 0x2031, 0x0207, 0x0029, 0x0005, + 0x2031, 0x0213, 0x0009, 0x0005, 0x00c6, 0x00d6, 0x00f6, 0x7000, + 0x9084, 0xf000, 0x9086, 0xc000, 0x05d0, 0x080c, 0x9e84, 0x05b8, + 0x0066, 0x00c6, 0x0046, 0x2011, 0x0263, 0x2204, 0x8211, 0x220c, + 0x080c, 0x2098, 0x15a0, 0x080c, 0x5938, 0x1588, 0x6612, 0x6516, + 0x2c00, 0x004e, 0x00ce, 0x6012, 0x080c, 0xbd78, 0x080c, 0x0e6d, + 0x0510, 0x2d00, 0x605a, 0x6803, 0x0000, 0x6867, 0x0000, 0x6c6a, + 0x9df8, 0x001b, 0x20a9, 0x000e, 0x20e9, 0x0001, 0x20e1, 0x0000, + 0x2fa0, 0x2e98, 0x4003, 0x006e, 0x6616, 0x6007, 0x003e, 0x6023, + 0x0001, 0x6003, 0x0001, 0x080c, 0x8326, 0x080c, 0x87fb, 0x00fe, + 0x00de, 0x00ce, 0x0005, 0x080c, 0x9eda, 0x006e, 0x0cc0, 0x004e, + 0x00ce, 0x0cc8, 0x00c6, 0x7000, 0x908c, 0xff00, 0x9184, 0xf000, + 0x810f, 0x9086, 0x2000, 0x1548, 0x9186, 0x0022, 0x11d8, 0x2001, + 0x0111, 0x2004, 0x9005, 0x1518, 0x7030, 0x908e, 0x0400, 0x01f8, + 0x908e, 0x6000, 0x01e0, 0x908e, 0x5400, 0x01c8, 0x908e, 0x0300, + 0x1140, 0x2009, 0x1135, 0x210c, 0xd184, 0x0118, 0x080c, 0x672f, + 0x0170, 0x0058, 0x9186, 0x0023, 0x1140, 0x080c, 0x754f, 0x0128, + 0x6004, 0x9086, 0x0002, 0x0118, 0x0000, 0x9006, 0x0010, 0x9085, + 0x0001, 0x00ce, 0x0005, 0x0156, 0x0046, 0x0016, 0x0036, 0x7038, + 0x2020, 0x8427, 0x94a4, 0x0007, 0xd484, 0x0148, 0x20a9, 0x0003, + 0x2019, 0x1106, 0x2011, 0x027b, 0x080c, 0xad80, 0x1178, 0xd48c, + 0x0148, 0x20a9, 0x0003, 0x2019, 0x1102, 0x2011, 0x027f, 0x080c, + 0xad80, 0x1120, 0xd494, 0x0110, 0x9085, 0x0001, 0x003e, 0x001e, + 0x004e, 0x015e, 0x0005, 0x0156, 0x0046, 0x0016, 0x0036, 0x7038, + 0x2020, 0x8427, 0x94a4, 0x0007, 0xd484, 0x0140, 0x20a9, 0x0003, + 0x2019, 0x1106, 0x724c, 0x080c, 0xad80, 0x1170, 0xd48c, 0x0140, + 0x20a9, 0x0003, 0x2019, 0x1102, 0x725c, 0x080c, 0xad80, 0x1120, + 0xd494, 0x0110, 0x9085, 0x0001, 0x003e, 0x001e, 0x004e, 0x015e, + 0x0005, 0x2071, 0x138f, 0x7003, 0x0003, 0x700f, 0x0361, 0x9006, + 0x701a, 0x7072, 0x7012, 0x7017, 0x16c0, 0x7007, 0x0000, 0x7026, + 0x702b, 0x94aa, 0x7032, 0x7037, 0x950a, 0x703b, 0xffff, 0x703f, + 0xffff, 0x7042, 0x7047, 0x49f6, 0x704a, 0x705b, 0x77cd, 0x2001, + 0x1323, 0x2003, 0x0003, 0x2001, 0x1325, 0x2003, 0x0100, 0x0005, + 0x2071, 0x138f, 0x1d04, 0x7727, 0x2091, 0x6000, 0x700c, 0x8001, + 0x700e, 0x1500, 0x2001, 0x1174, 0x2004, 0xd0c4, 0x0158, 0x3a00, + 0xd08c, 0x0140, 0x20d1, 0x0000, 0x20d1, 0x0001, 0x20d1, 0x0000, + 0x080c, 0x0d52, 0x700f, 0x0361, 0x7007, 0x0001, 0x0126, 0x2091, + 0x8000, 0x7040, 0x900d, 0x0148, 0x8109, 0x7142, 0x1130, 0x7044, + 0x080f, 0x0018, 0x0126, 0x2091, 0x8000, 0x7024, 0x900d, 0x0188, + 0x7020, 0x8001, 0x7022, 0x1168, 0x7023, 0x0009, 0x8109, 0x7126, + 0x9186, 0x03e8, 0x1110, 0x7028, 0x080f, 0x81ff, 0x1110, 0x7028, + 0x080f, 0x7030, 0x900d, 0x0180, 0x702c, 0x8001, 0x702e, 0x1160, + 0x702f, 0x0009, 0x8109, 0x7132, 0x0128, 0x9184, 0x007f, 0x090c, + 0x9566, 0x0010, 0x7034, 0x080f, 0x7038, 0x9005, 0x0118, 0x0310, + 0x8001, 0x703a, 0x703c, 0x9005, 0x0118, 0x0310, 0x8001, 0x703e, + 0x704c, 0x900d, 0x0168, 0x7048, 0x8001, 0x704a, 0x1148, 0x704b, + 0x0009, 0x8109, 0x714e, 0x1120, 0x7150, 0x714e, 0x7058, 0x080f, + 0x7018, 0x900d, 0x01d8, 0x0016, 0x7070, 0x900d, 0x0158, 0x706c, + 0x8001, 0x706e, 0x1138, 0x706f, 0x0009, 0x8109, 0x7172, 0x1110, + 0x7074, 0x080f, 0x001e, 0x7008, 0x8001, 0x700a, 0x1138, 0x700b, + 0x0009, 0x8109, 0x711a, 0x1110, 0x701c, 0x080f, 0x012e, 0x7004, + 0x0002, 0x774d, 0x774e, 0x7766, 0x00e6, 0x2071, 0x138f, 0x7018, + 0x9005, 0x1120, 0x711a, 0x721e, 0x700b, 0x0009, 0x00ee, 0x0005, + 0x00e6, 0x0006, 0x2071, 0x138f, 0x701c, 0x9206, 0x1110, 0x701a, + 0x701e, 0x000e, 0x00ee, 0x0005, 0x00e6, 0x2071, 0x138f, 0x6088, + 0x9102, 0x0208, 0x618a, 0x00ee, 0x0005, 0x0005, 0x7110, 0x080c, + 0x598f, 0x1158, 0x6088, 0x8001, 0x0240, 0x608a, 0x1130, 0x0126, + 0x2091, 0x8000, 0x080c, 0x87fb, 0x012e, 0x8108, 0x9182, 0x00ff, + 0x0218, 0x900e, 0x7007, 0x0002, 0x7112, 0x0005, 0x7014, 0x2060, + 0x0126, 0x2091, 0x8000, 0x6040, 0x9005, 0x0128, 0x8001, 0x6042, + 0x1110, 0x080c, 0xbc32, 0x6018, 0x9005, 0x0530, 0x8001, 0x601a, + 0x1518, 0x6120, 0x9186, 0x0003, 0x0148, 0x9186, 0x0006, 0x0130, + 0x9186, 0x0009, 0x11b8, 0x611c, 0xd1c4, 0x1100, 0x6014, 0x2068, + 0x6884, 0x908a, 0x199a, 0x0270, 0x9082, 0x1999, 0x6886, 0x908a, + 0x199a, 0x0210, 0x2001, 0x1999, 0x8003, 0x800b, 0x810b, 0x9108, + 0x611a, 0x0010, 0x080c, 0xb6d2, 0x012e, 0x9c88, 0x0018, 0x7116, + 0x2001, 0x46c0, 0x9102, 0x0220, 0x7017, 0x16c0, 0x7007, 0x0000, + 0x0005, 0x00e6, 0x2071, 0x138f, 0x7027, 0x07d0, 0x7023, 0x0009, + 0x00ee, 0x0005, 0x2001, 0x1398, 0x2003, 0x0000, 0x0005, 0x00e6, + 0x2071, 0x138f, 0x7132, 0x702f, 0x0009, 0x00ee, 0x0005, 0x2011, + 0x139b, 0x2013, 0x0000, 0x0005, 0x00e6, 0x2071, 0x138f, 0x711a, + 0x721e, 0x700b, 0x0009, 0x00ee, 0x0005, 0x00c6, 0x0026, 0x7054, + 0x8000, 0x7056, 0x2061, 0x1323, 0x6008, 0x9086, 0x0000, 0x0158, + 0x7068, 0x6036, 0x7064, 0x6032, 0x7060, 0x602e, 0x705c, 0x602a, + 0x2c10, 0x080c, 0x0ee5, 0x002e, 0x00ce, 0x0005, 0x0006, 0x0016, + 0x00c6, 0x00d6, 0x00e6, 0x00f6, 0x0156, 0x080c, 0x7698, 0x015e, + 0x00fe, 0x00ee, 0x00de, 0x00ce, 0x001e, 0x000e, 0x0005, 0x00e6, + 0x2071, 0x138f, 0x7172, 0x7276, 0x706f, 0x0009, 0x00ee, 0x0005, + 0x00e6, 0x0006, 0x2071, 0x138f, 0x7074, 0x9206, 0x1110, 0x7072, + 0x7076, 0x000e, 0x00ee, 0x0005, 0x00c6, 0x2061, 0x13cd, 0x00ce, + 0x0005, 0x9184, 0x000f, 0x8003, 0x8003, 0x8003, 0x9080, 0x13cd, + 0x2060, 0x0005, 0x6884, 0x908a, 0x199a, 0x1630, 0x9005, 0x1150, + 0x00c6, 0x2061, 0x13cd, 0x6014, 0x00ce, 0x9005, 0x1130, 0x2001, + 0x001e, 0x0018, 0x908e, 0xffff, 0x01a8, 0x8003, 0x800b, 0x810b, + 0x9108, 0x611a, 0x687c, 0x908c, 0x00c0, 0x918e, 0x00c0, 0x0904, + 0x789a, 0xd0b4, 0x1160, 0xd0bc, 0x15e0, 0x2009, 0x0006, 0x080c, + 0x78c4, 0x0005, 0x900e, 0x0c68, 0x2001, 0x1999, 0x08b8, 0xd0fc, + 0x0160, 0x908c, 0x0003, 0x0120, 0x918e, 0x0003, 0x1904, 0x78be, + 0x908c, 0x2020, 0x918e, 0x2020, 0x01a8, 0x6024, 0xd0d4, 0x11d0, + 0x2009, 0x1174, 0x2104, 0xd084, 0x1138, 0x87ff, 0x1120, 0x2009, + 0x0043, 0x0804, 0x9f51, 0x0005, 0x87ff, 0x1de8, 0x2009, 0x0042, + 0x0804, 0x9f51, 0x6110, 0x210c, 0xd1ac, 0x0d38, 0x6024, 0xc0cd, + 0x6026, 0x0c18, 0xc0d4, 0x6026, 0x6890, 0x602e, 0x688c, 0x6032, + 0x08f8, 0xd0fc, 0x0158, 0x908c, 0x0003, 0x0118, 0x918e, 0x0003, + 0x15e8, 0x908c, 0x2020, 0x918e, 0x2020, 0x0160, 0x00f6, 0x2c78, + 0x080c, 0x13ef, 0x00fe, 0x87ff, 0x1120, 0x2009, 0x0042, 0x080c, + 0x9f51, 0x0005, 0x6110, 0x210c, 0xd1ac, 0x0d80, 0x6124, 0xc1cd, + 0x6126, 0x0c60, 0xd0fc, 0x0188, 0x908c, 0x2020, 0x918e, 0x2020, + 0x01a8, 0x9084, 0x0003, 0x908e, 0x0002, 0x0148, 0x87ff, 0x1120, + 0x2009, 0x0041, 0x080c, 0x9f51, 0x0005, 0x00a1, 0x0ce8, 0x87ff, + 0x1dd8, 0x2009, 0x0043, 0x080c, 0x9f51, 0x0cb0, 0x6110, 0x210c, + 0xd1ac, 0x0d38, 0x6124, 0xc1cd, 0x6126, 0x0c18, 0x2009, 0x0004, + 0x0019, 0x0005, 0x2009, 0x0001, 0x00d6, 0x6014, 0x90ec, 0xf000, + 0x0510, 0x2068, 0x6982, 0x6800, 0x6016, 0x9186, 0x0001, 0x1188, + 0x697c, 0x918c, 0x8100, 0x918e, 0x8100, 0x1158, 0x00c6, 0x2061, + 0x13cd, 0x6200, 0xd28c, 0x1120, 0x6204, 0x8210, 0x0208, 0x6206, + 0x00ce, 0x080c, 0x5def, 0x6014, 0x906d, 0x0076, 0x2039, 0x0000, + 0x190c, 0x781a, 0x007e, 0x00de, 0x0005, 0x0156, 0x00c6, 0x2061, + 0x13cd, 0x6000, 0x81ff, 0x0110, 0x9205, 0x0008, 0x9204, 0x6002, + 0x00ce, 0x015e, 0x0005, 0x6800, 0xd08c, 0x1138, 0x6808, 0x9005, + 0x0120, 0x8001, 0x680a, 0x9085, 0x0001, 0x0005, 0x2071, 0x1278, + 0x7003, 0x0006, 0x7007, 0x0000, 0x700f, 0x0000, 0x7013, 0x0001, + 0x702f, 0x0006, 0x7033, 0x0001, 0x7067, 0x0000, 0x706f, 0x0000, + 0x0005, 0x00e6, 0x2071, 0x1278, 0x6a2c, 0x721e, 0x6b30, 0x7322, + 0x6834, 0x7026, 0x705e, 0x6838, 0x702a, 0x7062, 0x6824, 0x7016, + 0x683c, 0x701a, 0x2009, 0x0028, 0x200a, 0x9005, 0x0150, 0x2009, + 0x0000, 0x9188, 0x000c, 0x8001, 0x1de0, 0x2100, 0x9210, 0x1208, + 0x8318, 0x7256, 0x735a, 0x7010, 0xd084, 0x0128, 0xc084, 0x7007, + 0x0001, 0x700f, 0x0000, 0xc095, 0x7012, 0x2008, 0x2001, 0x003b, + 0x080c, 0x137f, 0x9006, 0x2071, 0x12a0, 0x7002, 0x7006, 0x702a, + 0x00ee, 0x0005, 0x00e6, 0x0126, 0x0156, 0x2091, 0x8000, 0x2071, + 0x1100, 0x714c, 0x2001, 0x0008, 0x910a, 0x0640, 0x2001, 0x1188, + 0x20ac, 0x2001, 0x0000, 0x9080, 0x0008, 0x1f04, 0x7963, 0x71b8, + 0x9102, 0x02e0, 0x2071, 0x1182, 0x20a9, 0x0007, 0x00c6, 0x080c, + 0x9e84, 0x6023, 0x0009, 0x6003, 0x0004, 0x601f, 0x0101, 0x0089, + 0x0126, 0x2091, 0x8000, 0x080c, 0x7ac6, 0x012e, 0x1f04, 0x796f, + 0x9006, 0x00ce, 0x015e, 0x012e, 0x00ee, 0x0005, 0x9085, 0x0001, + 0x0cc8, 0x00f6, 0x00e6, 0x00d6, 0x00c6, 0x0086, 0x0046, 0x0056, + 0x0026, 0x7118, 0x720c, 0x7620, 0x7004, 0xd084, 0x1128, 0x2021, + 0x0024, 0x2029, 0x0002, 0x0020, 0x2021, 0x002c, 0x2029, 0x000a, + 0x080c, 0x0e6d, 0x2d00, 0x6016, 0x2078, 0x6c66, 0x9006, 0x6802, + 0x6806, 0x686a, 0x687a, 0x68aa, 0x6887, 0x0005, 0x687f, 0x0020, + 0x7008, 0x689a, 0x7010, 0x689e, 0x6e8a, 0x68af, 0xffff, 0x68b3, + 0x0000, 0x8109, 0x0150, 0x080c, 0x0e6d, 0x6d66, 0x2f00, 0x6802, + 0x2d00, 0x7806, 0x2078, 0x8109, 0x1db0, 0x002e, 0x005e, 0x004e, + 0x008e, 0x00ce, 0x00de, 0x00ee, 0x00fe, 0x0005, 0x2b78, 0x2071, + 0x1278, 0x7004, 0x004b, 0x700c, 0x0002, 0x79d8, 0x79d1, 0x79d1, + 0x0005, 0x79e2, 0x7a21, 0x7a22, 0x7a23, 0x7a24, 0x7a37, 0x7a38, + 0x700c, 0x0cba, 0x78a0, 0x79a0, 0x9106, 0x0120, 0x78a0, 0x79a0, + 0x9106, 0x15b0, 0x7018, 0x910a, 0x1130, 0x706c, 0x9005, 0x0580, + 0x080c, 0x7a65, 0x0468, 0x1210, 0x7114, 0x910a, 0x9192, 0x000a, + 0x0210, 0x2009, 0x000a, 0x2001, 0x1193, 0x2014, 0x2001, 0x1299, + 0x2004, 0x9100, 0x9202, 0x0e48, 0x080c, 0x7bbd, 0x2200, 0x9102, + 0x0208, 0x2208, 0x703b, 0x0001, 0x713e, 0x080c, 0x7d36, 0x2100, + 0x7046, 0x7037, 0x0000, 0x0126, 0x2091, 0x8000, 0x2009, 0x13ad, + 0x2104, 0xc085, 0x200a, 0x700f, 0x0002, 0x012e, 0x080c, 0x0efd, + 0x0005, 0x0005, 0x0005, 0x0005, 0x700c, 0x0002, 0x7a29, 0x7a2c, + 0x7a36, 0x080c, 0x79e0, 0x0005, 0x0126, 0x8001, 0x700e, 0x713c, + 0x0041, 0x2091, 0x8000, 0x080c, 0x79e0, 0x012e, 0x0005, 0x0005, + 0x0005, 0x7018, 0x9100, 0x7214, 0x921a, 0x1130, 0x701c, 0x7056, + 0x7020, 0x705a, 0x9006, 0x0068, 0x0006, 0x080c, 0x7d36, 0x2100, + 0x7254, 0x9210, 0x7256, 0x1220, 0x7058, 0x9081, 0x0000, 0x705a, + 0x000e, 0x2f08, 0x9188, 0x0028, 0x200a, 0x701a, 0x0005, 0x00e6, + 0x2071, 0x1278, 0x700c, 0x0002, 0x7a5f, 0x7a5f, 0x7a61, 0x00ee, + 0x0005, 0x700f, 0x0001, 0x00ee, 0x0005, 0x0126, 0x2091, 0x8000, + 0x706c, 0x9005, 0x0510, 0x2078, 0x7814, 0x2068, 0x6e88, 0x00b6, + 0x2059, 0x0000, 0x080c, 0x7acf, 0x00be, 0x01b8, 0x00e6, 0x2071, + 0x12a0, 0x080c, 0x7b21, 0x00ee, 0x0180, 0x00d6, 0x080c, 0x0e54, + 0x2d00, 0x9005, 0x00de, 0x0148, 0x68aa, 0x04a9, 0x012e, 0x0039, + 0x2001, 0x12aa, 0x2003, 0x0000, 0x08c0, 0x012e, 0x0005, 0x00a6, + 0x0096, 0x0086, 0x2d60, 0x2650, 0x2600, 0x9005, 0x0180, 0x6864, + 0x9084, 0x000f, 0x2048, 0x9988, 0x19d4, 0x2145, 0x0056, 0x2029, + 0x0000, 0x080c, 0x7cc0, 0x080c, 0x1994, 0x1dd8, 0x005e, 0x2001, + 0x118a, 0x2004, 0x688a, 0x080c, 0x13ef, 0x781f, 0x0101, 0x7813, + 0x0000, 0x0126, 0x2091, 0x8000, 0x080c, 0x7b30, 0x012e, 0x008e, + 0x009e, 0x00ae, 0x0005, 0x706c, 0x9005, 0x0138, 0x2078, 0x780c, + 0x706e, 0x2001, 0x12aa, 0x2003, 0x0001, 0x0005, 0x00e6, 0x2071, + 0x1278, 0x706c, 0x600e, 0x2c00, 0x706e, 0x00ee, 0x0005, 0x00d6, + 0x00c6, 0x0016, 0x9b80, 0x7e17, 0x2005, 0x906d, 0x090c, 0x0d52, + 0x9b80, 0x7e0f, 0x2005, 0x9065, 0x090c, 0x0d52, 0x6114, 0x2600, + 0x9102, 0x0248, 0x6828, 0x9102, 0x02f0, 0x9085, 0x0001, 0x001e, + 0x00ce, 0x00de, 0x0005, 0x6804, 0xd094, 0x0158, 0x6854, 0xd084, + 0x1170, 0xc085, 0x6856, 0x0026, 0x2011, 0x8026, 0x080c, 0x40b6, + 0x002e, 0x684c, 0x9080, 0x0001, 0x200c, 0x8108, 0x2102, 0x9006, + 0x2031, 0x0000, 0x0c20, 0x6854, 0xd08c, 0x1d08, 0xc08d, 0x6856, + 0x0026, 0x2011, 0x8025, 0x080c, 0x40b6, 0x002e, 0x9d80, 0x0013, + 0x2004, 0x9080, 0x0000, 0x200c, 0x8108, 0x2102, 0x0880, 0x0026, + 0x0036, 0x2011, 0x801a, 0x2b18, 0x080c, 0x40b6, 0x003e, 0x002e, + 0x0c68, 0x7000, 0x2019, 0x0008, 0x8319, 0x7104, 0x9102, 0x1118, + 0x2300, 0x9005, 0x0020, 0x0210, 0x9302, 0x0008, 0x8002, 0x0005, + 0x00d6, 0x7814, 0x9005, 0x090c, 0x0d52, 0x781c, 0x9084, 0x0101, + 0x9086, 0x0101, 0x190c, 0x0d52, 0x2069, 0x12a0, 0x6804, 0x9080, + 0x12a2, 0x2f08, 0x2102, 0x6904, 0x8108, 0x9182, 0x0008, 0x0210, + 0x2009, 0x0000, 0x6906, 0x9180, 0x12a2, 0x2003, 0x0000, 0x00de, + 0x0005, 0x00c6, 0x00d6, 0x2060, 0x6014, 0x2068, 0x68a8, 0x00d6, + 0x2068, 0x9005, 0x190c, 0x0e86, 0x00de, 0x68ab, 0x0000, 0x080c, + 0x0e96, 0x080c, 0x9eda, 0x00de, 0x00ce, 0x0005, 0x6020, 0x9086, + 0x0009, 0x1128, 0x601c, 0xd0c4, 0x0110, 0x9006, 0x0005, 0x9085, + 0x0001, 0x0005, 0x6000, 0x9086, 0x0000, 0x0190, 0x6010, 0x9005, + 0x0168, 0x00e6, 0x2070, 0x9006, 0x70b2, 0x70b6, 0x080c, 0x7ea4, + 0x00ee, 0x6013, 0x0000, 0x601b, 0x0000, 0x0010, 0x2c00, 0x0849, + 0x0005, 0x2009, 0x127c, 0x210c, 0xd194, 0x0005, 0x00e6, 0x2071, + 0x1278, 0x7110, 0xc194, 0xd19c, 0x1118, 0xc185, 0x7007, 0x0000, + 0x7112, 0x2001, 0x003b, 0x080c, 0x137f, 0x00ee, 0x0005, 0x00d6, + 0x9006, 0x7006, 0x700e, 0x701a, 0x701e, 0x7022, 0x7016, 0x702a, + 0x7026, 0x702f, 0x0000, 0x080c, 0x7d97, 0x0168, 0x080c, 0x7dcc, + 0x0150, 0x2d00, 0x7002, 0x700a, 0x701a, 0x7013, 0x0001, 0x701f, + 0x000a, 0x00de, 0x0005, 0x900e, 0x0ce0, 0x00e6, 0x00d6, 0x00c6, + 0x2071, 0x1294, 0x721c, 0x2100, 0x9202, 0x1618, 0x080c, 0x7dcc, + 0x090c, 0x0d52, 0x7018, 0x9005, 0x1160, 0x2d00, 0x7002, 0x700a, + 0x701a, 0x9006, 0x7006, 0x700e, 0x6806, 0x6802, 0x7012, 0x701e, + 0x0038, 0x2060, 0x6806, 0x2d00, 0x6002, 0x701a, 0x6803, 0x0000, + 0x7010, 0x8000, 0x7012, 0x701c, 0x9080, 0x000a, 0x701e, 0x721c, + 0x08d0, 0x721c, 0x00ce, 0x00de, 0x00ee, 0x0005, 0x00d6, 0x00c6, + 0x721c, 0x2100, 0x9202, 0x1610, 0x080c, 0x7dcc, 0x0520, 0x7018, + 0x9005, 0x1160, 0x2d00, 0x7002, 0x700a, 0x701a, 0x9006, 0x7006, + 0x700e, 0x6806, 0x6802, 0x7012, 0x701e, 0x0038, 0x2060, 0x6806, + 0x2d00, 0x6002, 0x701a, 0x6803, 0x0000, 0x7010, 0x8000, 0x7012, + 0x701c, 0x9080, 0x000a, 0x701e, 0x721c, 0x08d8, 0x721c, 0x9006, + 0x00ce, 0x00de, 0x0005, 0x9085, 0x0001, 0x00ce, 0x00de, 0x0005, + 0x0156, 0x0136, 0x0146, 0x00e6, 0x0126, 0x2091, 0x8000, 0x2071, + 0x1294, 0x7300, 0x9398, 0x0003, 0x7104, 0x080c, 0x7d36, 0x810c, + 0x2100, 0x9318, 0x8003, 0x2228, 0x2021, 0x0078, 0x9402, 0x9532, + 0x0208, 0x2028, 0x2500, 0x8004, 0x20a8, 0x20e9, 0x0001, 0x23a0, + 0xa001, 0xa001, 0x4005, 0x2508, 0x080c, 0x7d3f, 0x2130, 0x7014, + 0x9600, 0x7016, 0x2600, 0x711c, 0x9102, 0x701e, 0x7004, 0x9600, + 0x2008, 0x9082, 0x000a, 0x1180, 0x7000, 0x2004, 0x9005, 0x1140, + 0x2009, 0x0001, 0x0026, 0x080c, 0x7bbd, 0x002e, 0x7000, 0x2004, + 0x7002, 0x7007, 0x0000, 0x0008, 0x7106, 0x2500, 0x9212, 0x1908, + 0x012e, 0x00ee, 0x014e, 0x013e, 0x015e, 0x0005, 0x0156, 0x0136, + 0x0146, 0x0126, 0x2091, 0x8000, 0x7300, 0x9398, 0x0003, 0x7104, + 0x080c, 0x7d36, 0x810c, 0x2100, 0x9318, 0x8003, 0x2228, 0x2021, + 0x0078, 0x9402, 0x9532, 0x0208, 0x2028, 0x2500, 0x8004, 0x20a8, + 0x20e9, 0x0001, 0x23a0, 0x8bff, 0x1128, 0xa001, 0xa001, 0xa001, + 0x4005, 0x0008, 0x4003, 0x2508, 0x080c, 0x7d3f, 0x2130, 0x7014, + 0x9600, 0x7016, 0x2600, 0x711c, 0x9102, 0x701e, 0x7004, 0x9600, + 0x2008, 0x9082, 0x000a, 0x1188, 0x7000, 0x2004, 0x9005, 0x1148, + 0x2009, 0x0001, 0x0026, 0x080c, 0x7bee, 0x002e, 0x1160, 0x7000, + 0x2004, 0x7002, 0x7007, 0x0000, 0x0008, 0x7106, 0x2500, 0x9212, + 0x1904, 0x7c74, 0x9006, 0x012e, 0x014e, 0x013e, 0x015e, 0x0005, + 0x0016, 0x0026, 0x00e6, 0x00d6, 0x0126, 0x2091, 0x8000, 0x9580, + 0x7e0f, 0x2005, 0x9075, 0x090c, 0x0d52, 0x04f1, 0x012e, 0x2170, + 0x2805, 0x9c68, 0x2900, 0x0002, 0x7ce4, 0x7ce4, 0x7ce6, 0x7ce4, + 0x7ce6, 0x7ce4, 0x7ce4, 0x7ce4, 0x7ce4, 0x7ce4, 0x7cf5, 0x7ce4, + 0x7cf5, 0x7ce4, 0x7ce4, 0x7ce4, 0x080c, 0x0d52, 0x9580, 0x7e0b, + 0x2005, 0x9005, 0x090c, 0x0d52, 0x2004, 0x680a, 0x7010, 0x680e, + 0x7000, 0x6802, 0x7004, 0x6806, 0x0090, 0x9580, 0x7e0b, 0x2005, + 0x9005, 0x090c, 0x0d52, 0x2004, 0x6812, 0x7010, 0x6816, 0x7000, + 0x6802, 0x7004, 0x6806, 0x7008, 0x680a, 0x700c, 0x680e, 0x00de, + 0x00ee, 0x002e, 0x001e, 0x0005, 0x0036, 0x7014, 0x8001, 0x7016, + 0x7008, 0x9080, 0x0003, 0x710c, 0x2110, 0x0401, 0x810c, 0x9118, + 0x8210, 0x9282, 0x000a, 0x11b0, 0x7008, 0x2004, 0x9005, 0x0178, + 0x00d6, 0x0006, 0x7008, 0x2068, 0x080c, 0x7ddb, 0x000e, 0x2068, + 0x6807, 0x0000, 0x700a, 0x00de, 0x7010, 0x8001, 0x7012, 0x700f, + 0x0000, 0x0008, 0x720e, 0x2308, 0x003e, 0x0005, 0x0006, 0x810b, + 0x810b, 0x2100, 0x810b, 0x9100, 0x2008, 0x000e, 0x0005, 0x0006, + 0x0026, 0x2100, 0x9005, 0x0160, 0x9092, 0x000c, 0x0248, 0x2009, + 0x0000, 0x8108, 0x9082, 0x000c, 0x1de0, 0x002e, 0x000e, 0x0005, + 0x2009, 0x0000, 0x0cd0, 0x2d00, 0x90b8, 0x0008, 0x690c, 0x6810, + 0x2019, 0x0001, 0x2031, 0x7d81, 0x9112, 0x0220, 0x0118, 0x8318, + 0x2208, 0x0cd0, 0x6808, 0x9005, 0x0108, 0x8318, 0x233a, 0x6804, + 0xd084, 0x2300, 0x2021, 0x0001, 0x1150, 0x9082, 0x0003, 0x0967, + 0x0a67, 0x8420, 0x9082, 0x0007, 0x0967, 0x0a67, 0x0cd0, 0x9082, + 0x0002, 0x0967, 0x0a67, 0x8420, 0x9082, 0x0005, 0x0967, 0x0a67, + 0x0cd0, 0x6c1a, 0x2d00, 0x90b8, 0x0007, 0x00e6, 0x2071, 0x1100, + 0x7128, 0x6810, 0x2019, 0x0001, 0x910a, 0x0118, 0x0210, 0x8318, + 0x0cd8, 0x2031, 0x7d94, 0x0870, 0x6c16, 0x00ee, 0x0005, 0x00d6, + 0x0046, 0x0126, 0x2091, 0x8000, 0x2b00, 0x9080, 0x7e13, 0x2005, + 0x9005, 0x090c, 0x0d52, 0x2004, 0x8003, 0x2020, 0x080c, 0x0e54, + 0x01d0, 0x2d00, 0x7026, 0x6803, 0x0000, 0x6807, 0x0000, 0x080c, + 0x0e54, 0x0188, 0x7024, 0x6802, 0x6807, 0x0000, 0x2d00, 0x7026, + 0x94a2, 0x000a, 0x0110, 0x0208, 0x0c90, 0x9085, 0x0001, 0x012e, + 0x004e, 0x00de, 0x0005, 0x7024, 0x9005, 0x0dc8, 0x2068, 0x2024, + 0x080c, 0x0e86, 0x2400, 0x0cc0, 0x0126, 0x2091, 0x8000, 0x7024, + 0x2068, 0x9005, 0x0130, 0x2004, 0x7026, 0x6803, 0x0000, 0x6807, + 0x0000, 0x012e, 0x0005, 0x0126, 0x2091, 0x8000, 0x7024, 0x6802, + 0x2d00, 0x7026, 0x012e, 0x0005, 0x00d6, 0x9e80, 0x0009, 0x2004, + 0x9005, 0x0138, 0x2068, 0x6800, 0x0006, 0x080c, 0x0e86, 0x000e, + 0x0cb8, 0x00de, 0x0005, 0x00d6, 0x7008, 0x9005, 0x0138, 0x2068, + 0x6800, 0x0006, 0x080c, 0x0e86, 0x000e, 0x0cb8, 0x9006, 0x7002, + 0x700a, 0x7006, 0x700e, 0x701a, 0x701e, 0x7022, 0x702a, 0x7026, + 0x702e, 0x00de, 0x0005, 0x13c1, 0x0000, 0x0000, 0x0000, 0x1294, + 0x0000, 0x0000, 0x0000, 0x1193, 0x0000, 0x0000, 0x0000, 0x1182, + 0x0000, 0x0000, 0x0000, 0x00c6, 0x00e6, 0x00f6, 0x68a8, 0x907d, + 0x090c, 0x0d52, 0x2071, 0x1182, 0x080c, 0x7e8e, 0x7867, 0x0023, + 0x6010, 0x9065, 0x05c0, 0x6014, 0x786e, 0x6110, 0x7972, 0x61a0, + 0x810f, 0x7976, 0x2001, 0x0003, 0x787e, 0x6834, 0x7882, 0x787b, + 0x0000, 0x6898, 0x9005, 0x0118, 0x7878, 0xc085, 0x787a, 0x9fb8, + 0x0021, 0x7868, 0x2020, 0x2050, 0x2d00, 0x2060, 0x6964, 0x918c, + 0x000f, 0x9188, 0x19d4, 0x2145, 0x2805, 0x9c70, 0x6864, 0x9084, + 0x00ff, 0x9086, 0x0024, 0x1110, 0x700c, 0x0008, 0x7014, 0x84ff, + 0x0130, 0x203a, 0x8738, 0x8421, 0x080c, 0x1994, 0x0c68, 0x00fe, + 0x00ee, 0x00ce, 0x0005, 0x686c, 0x786e, 0x6870, 0x7872, 0x7877, + 0xff00, 0x2001, 0x0000, 0x0840, 0x0006, 0x0016, 0x00c6, 0x6010, + 0x2060, 0x6010, 0x9005, 0x01b0, 0x2001, 0x1279, 0x2004, 0x9005, + 0x0188, 0x2001, 0x1100, 0x2004, 0x9086, 0x0003, 0x1158, 0x0036, + 0x0046, 0x63a0, 0x2021, 0x0004, 0x2011, 0x8014, 0x080c, 0x40b6, + 0x004e, 0x003e, 0x00ce, 0x001e, 0x000e, 0x0005, 0x2011, 0x0000, + 0x710c, 0x6834, 0x910a, 0x6936, 0x7008, 0x9005, 0x0120, 0x8210, + 0x910a, 0x0238, 0x0130, 0x7010, 0x8210, 0x910a, 0x0210, 0x0108, + 0x0cd8, 0x6a8a, 0x7a6a, 0x0005, 0x00f6, 0x00d6, 0x0036, 0x2079, + 0x0300, 0x781b, 0x0200, 0x7818, 0xd094, 0x1dd8, 0x781b, 0x0202, + 0xa001, 0xa001, 0x7818, 0xd094, 0x1da0, 0x70ac, 0x9005, 0x01b8, + 0x2068, 0x2079, 0x0000, 0x2c08, 0x911e, 0x1118, 0x680c, 0x70ae, + 0x0060, 0x9106, 0x0140, 0x2d00, 0x2078, 0x680c, 0x9005, 0x090c, + 0x0d52, 0x2068, 0x0cb0, 0x6b0c, 0x7b0e, 0x600f, 0x0000, 0x2079, + 0x0300, 0x781b, 0x0200, 0x003e, 0x00de, 0x00fe, 0x0005, 0x00e6, + 0x00d6, 0x00c6, 0x0036, 0x0126, 0x2091, 0x8000, 0x0156, 0x20a9, + 0x01ff, 0x2071, 0x0300, 0x701b, 0x0200, 0x7018, 0xd094, 0x0110, + 0x1f04, 0x7ee3, 0x701b, 0x0202, 0xa001, 0xa001, 0x7018, 0xd094, + 0x1d90, 0x2c70, 0x70ac, 0x9005, 0x01d8, 0x70ac, 0x2060, 0x600c, + 0x70ae, 0x6003, 0x0004, 0x601b, 0x0000, 0x6013, 0x0000, 0x601f, + 0x0101, 0x6014, 0x2068, 0x688b, 0x0000, 0x68a8, 0x68ab, 0x0000, + 0x906d, 0x090c, 0x0d52, 0x080c, 0x0e86, 0x080c, 0x7ac6, 0x0c10, + 0x2071, 0x0300, 0x701b, 0x0200, 0x015e, 0x012e, 0x003e, 0x00ce, + 0x00de, 0x00ee, 0x0005, 0x00c6, 0x00e6, 0x0016, 0x0006, 0x0156, + 0x080c, 0x2098, 0x015e, 0x11c0, 0x080c, 0x5938, 0x190c, 0x0d52, + 0x000e, 0x001e, 0x6112, 0x6016, 0x2c00, 0x2070, 0x080c, 0x9e84, + 0x0140, 0x2e00, 0x6012, 0x6023, 0x0001, 0x2009, 0x0001, 0x080c, + 0x9f51, 0x00ee, 0x00ce, 0x0005, 0x000e, 0x001e, 0x0cd0, 0x0066, + 0x6000, 0x90b2, 0x0016, 0x1a0c, 0x0d52, 0x0013, 0x006e, 0x0005, + 0x7f58, 0x7f58, 0x7f58, 0x7f5a, 0x7fb6, 0x7f58, 0x7f58, 0x7f58, + 0x801a, 0x7f58, 0x8057, 0x7f58, 0x7f58, 0x7f58, 0x7f58, 0x7f58, + 0x080c, 0x0d52, 0x9182, 0x0040, 0x0002, 0x7f6d, 0x7f6d, 0x7f6d, + 0x7f6d, 0x7f6d, 0x7f6d, 0x7f6d, 0x7f6d, 0x7f6d, 0x7f6f, 0x7f88, + 0x7f6d, 0x7f6d, 0x7f6d, 0x7f6d, 0x7fa2, 0x080c, 0x0d52, 0x00d6, + 0x080c, 0x87a9, 0x080c, 0x891e, 0x6114, 0x2168, 0x687b, 0x0000, + 0x6010, 0x00d6, 0x2068, 0x6008, 0x68b6, 0x68bb, 0x0500, 0x9006, + 0x68b2, 0x00de, 0x080c, 0x5dbf, 0x080c, 0x9eda, 0x00de, 0x0005, + 0x080c, 0x87a9, 0x00f6, 0x00d6, 0x6114, 0x2178, 0x080c, 0xb95b, + 0x0150, 0x6010, 0x00e6, 0x2070, 0x9006, 0x70b2, 0x70b6, 0x00ee, + 0x2f68, 0x080c, 0x5fa7, 0x00de, 0x00fe, 0x080c, 0x9eda, 0x080c, + 0x891e, 0x0005, 0x080c, 0x87a9, 0x080c, 0x2a10, 0x6114, 0x00d6, + 0x2168, 0x080c, 0xb95b, 0x0120, 0x687b, 0x0029, 0x080c, 0x5fa7, + 0x00de, 0x080c, 0x9eda, 0x080c, 0x891e, 0x0005, 0x601b, 0x0000, + 0x9182, 0x0040, 0x0002, 0x7fd0, 0x7fd0, 0x7fd0, 0x7fd0, 0x7fd0, + 0x7fd0, 0x7fd0, 0x7fd0, 0x7fd2, 0x7fd0, 0x7fd0, 0x7fd0, 0x8017, + 0x7fd0, 0x7fd0, 0x7fd0, 0x7fd0, 0x7fd0, 0x7fd0, 0x7fd9, 0x7fd0, + 0x080c, 0x0d52, 0x6114, 0x9188, 0x000e, 0x210c, 0x918e, 0xffff, + 0x05f0, 0x00d6, 0x00e6, 0x6114, 0x2168, 0x080c, 0x7e1b, 0x00d6, + 0x68a8, 0x2068, 0x080c, 0x5d61, 0x00de, 0x68ab, 0x0000, 0x6010, + 0x9005, 0x0130, 0x2070, 0x9006, 0x70b2, 0x70b6, 0x080c, 0x7ea4, + 0x6e88, 0x00b6, 0x2059, 0x0000, 0x080c, 0x7acf, 0x00be, 0x01e0, + 0x2071, 0x12a0, 0x080c, 0x7b21, 0x01b8, 0x9086, 0x0001, 0x1128, + 0x2001, 0x12aa, 0x2004, 0x9005, 0x1178, 0x00d6, 0x080c, 0x0e6d, + 0x2d00, 0x00de, 0x0148, 0x68aa, 0x00f6, 0x2c78, 0x080c, 0x7a8f, + 0x00fe, 0x00ee, 0x00de, 0x0005, 0x080c, 0x7ac6, 0x0cd0, 0x080c, + 0x80c9, 0x0005, 0x9182, 0x0040, 0x0002, 0x802d, 0x802d, 0x802d, + 0x802f, 0x802d, 0x802d, 0x802d, 0x8055, 0x802d, 0x802d, 0x802d, + 0x802d, 0x802d, 0x802d, 0x802d, 0x802d, 0x080c, 0x0d52, 0x00d6, + 0x6003, 0x0003, 0x6106, 0x6014, 0x2068, 0x68ac, 0x6846, 0x68b0, + 0x684a, 0x6837, 0x0000, 0x683b, 0x0000, 0x6884, 0x9092, 0x199a, + 0x0210, 0x2001, 0x1999, 0x8003, 0x8013, 0x8213, 0x9210, 0x621a, + 0x00de, 0x2c10, 0x080c, 0x16c2, 0x080c, 0x8343, 0x0126, 0x2091, + 0x8000, 0x080c, 0x891e, 0x012e, 0x0005, 0x080c, 0x0d52, 0x00d6, + 0x080c, 0x87a9, 0x080c, 0x891e, 0x6114, 0x2168, 0x687b, 0x0000, + 0x6010, 0x00d6, 0x2068, 0x6008, 0x68b6, 0x68bb, 0x0500, 0x9006, + 0x68b2, 0x00de, 0x080c, 0x5fa7, 0x080c, 0x9eda, 0x00de, 0x0005, + 0x6000, 0x908a, 0x0016, 0x1a0c, 0x0d52, 0x000b, 0x0005, 0x8087, + 0x8087, 0x8087, 0x8089, 0x809e, 0x8087, 0x8087, 0x8087, 0x8087, + 0x8087, 0x8087, 0x8087, 0x8087, 0x8087, 0x8087, 0x8087, 0x080c, + 0x0d52, 0x080c, 0x9949, 0x6114, 0x2168, 0x687b, 0x0006, 0x6010, + 0x00d6, 0x2068, 0x6008, 0x68b6, 0x68bb, 0x0500, 0x9006, 0x68b2, + 0x00de, 0x080c, 0x5fa7, 0x080c, 0x9eda, 0x0005, 0x0451, 0x0005, + 0x6000, 0x908a, 0x0016, 0x1a0c, 0x0d52, 0x000b, 0x0005, 0x80b7, + 0x80b7, 0x80b7, 0x80b9, 0x80c9, 0x80b7, 0x80b7, 0x80b7, 0x80b7, + 0x80b7, 0x80b7, 0x80b7, 0x80b7, 0x80b7, 0x80b7, 0x80b7, 0x080c, + 0x0d52, 0x0036, 0x00e6, 0x2071, 0x137c, 0x703c, 0x9c06, 0x1120, + 0x2019, 0x0000, 0x080c, 0x9708, 0x080c, 0x9949, 0x00ee, 0x003e, + 0x0005, 0x00f6, 0x00e6, 0x601b, 0x0000, 0x00d6, 0x6014, 0x2068, + 0x6010, 0x9005, 0x0130, 0x2070, 0x9006, 0x70b2, 0x70b6, 0x080c, + 0x7ea4, 0x2071, 0x12a0, 0x080c, 0x7b21, 0x0168, 0x2001, 0x118a, + 0x2004, 0x688a, 0x2031, 0x0000, 0x2c78, 0x080c, 0x7a8f, 0x00de, + 0x00ee, 0x00fe, 0x0005, 0x00d6, 0x688b, 0x0000, 0x68a8, 0x2068, + 0x080c, 0x0e86, 0x00de, 0x68ab, 0x0000, 0x080c, 0x7ac6, 0x0c78, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x1185, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0126, 0x2091, 0x8000, 0x0036, 0x0046, 0x20a9, 0x0010, 0x9006, + 0x8004, 0x2019, 0x0100, 0x231c, 0x93a6, 0x0008, 0x1118, 0x8086, + 0x818e, 0x0020, 0x80f6, 0x3e00, 0x81f6, 0x3e08, 0x1208, 0x9200, + 0x1f04, 0x8111, 0x93a6, 0x0008, 0x1118, 0x8086, 0x818e, 0x0020, + 0x80f6, 0x3e00, 0x81f6, 0x3e08, 0x004e, 0x003e, 0x012e, 0x0005, + 0x0126, 0x2091, 0x8000, 0x0076, 0x0156, 0x20a9, 0x0010, 0x9005, + 0x0510, 0x911a, 0x1600, 0x8213, 0x2039, 0x0100, 0x273c, 0x97be, + 0x0008, 0x1110, 0x818d, 0x0010, 0x81f5, 0x3e08, 0x0228, 0x911a, + 0x1220, 0x1f04, 0x813b, 0x0028, 0x911a, 0x2308, 0x8210, 0x1f04, + 0x813b, 0x0006, 0x3200, 0x9084, 0xefff, 0x2080, 0x000e, 0x015e, + 0x007e, 0x012e, 0x0005, 0x0006, 0x3200, 0x9085, 0x1000, 0x0ca8, + 0x0126, 0x2091, 0x2800, 0x2079, 0x137c, 0x012e, 0x00d6, 0x2069, + 0x137c, 0x6803, 0x0005, 0x0156, 0x0146, 0x01d6, 0x20e9, 0x0000, + 0x2069, 0x0200, 0x080c, 0x9c7e, 0x20a9, 0x0020, 0x20a1, 0x0240, + 0x9006, 0x4004, 0x080c, 0x9c69, 0x20a9, 0x0020, 0x20a1, 0x0240, + 0x9006, 0x4004, 0x080c, 0x9c6c, 0x20a9, 0x0020, 0x20a1, 0x0240, + 0x9006, 0x4004, 0x080c, 0x9c6f, 0x20a9, 0x0020, 0x20a1, 0x0240, + 0x9006, 0x4004, 0x080c, 0x9c72, 0x20a9, 0x0020, 0x20a1, 0x0240, + 0x9006, 0x4004, 0x080c, 0x9c75, 0x20a9, 0x0020, 0x20a1, 0x0240, + 0x9006, 0x4004, 0x080c, 0x9c78, 0x20a9, 0x0020, 0x20a1, 0x0240, + 0x9006, 0x4004, 0x080c, 0x9c7b, 0x20a9, 0x0020, 0x20a1, 0x0240, + 0x9006, 0x4004, 0x01de, 0x014e, 0x015e, 0x2069, 0x0004, 0x2d04, + 0x9085, 0x8001, 0x206a, 0x00de, 0x0005, 0x00c6, 0x6027, 0x0001, + 0x7804, 0x9084, 0x0007, 0x0002, 0x81ce, 0x81f2, 0x823c, 0x81d4, + 0x81f2, 0x81ce, 0x81cc, 0x81cc, 0x080c, 0x0d52, 0x080c, 0x77b2, + 0x080c, 0x87fb, 0x00ce, 0x0005, 0x62c0, 0x82ff, 0x1110, 0x00ce, + 0x0005, 0x2011, 0x5245, 0x080c, 0x7738, 0x7828, 0x9092, 0x00c8, + 0x1228, 0x8000, 0x782a, 0x080c, 0x527f, 0x0c88, 0x62c0, 0x080c, + 0x9dd1, 0x080c, 0x5245, 0x7807, 0x0003, 0x7827, 0x0000, 0x782b, + 0x0000, 0x0c28, 0x080c, 0x77b2, 0x6220, 0xd2a4, 0x0178, 0x62c0, + 0x82ff, 0x1160, 0x782b, 0x0000, 0x7824, 0x9065, 0x090c, 0x0d52, + 0x2009, 0x0013, 0x080c, 0x9f51, 0x00ce, 0x0005, 0x00c6, 0x7824, + 0x9065, 0x090c, 0x0d52, 0x7804, 0x9086, 0x0004, 0x0904, 0x8278, + 0x7828, 0x9092, 0xc350, 0x1230, 0x8000, 0x782a, 0x00ce, 0x080c, + 0x9470, 0x0c50, 0x2011, 0x0130, 0x2214, 0x080c, 0x9dd1, 0x6104, + 0x9186, 0x0003, 0x1188, 0x00e6, 0x2071, 0x1100, 0x70e0, 0x00ee, + 0xd08c, 0x0150, 0x00c6, 0x00e6, 0x2061, 0x0100, 0x2071, 0x1100, + 0x080c, 0x5295, 0x00ee, 0x00ce, 0x080c, 0xd5c1, 0x2009, 0x0014, + 0x080c, 0x9f51, 0x00ce, 0x0840, 0x2001, 0x1398, 0x2003, 0x0000, + 0x62c0, 0x82ff, 0x1160, 0x782b, 0x0000, 0x7824, 0x9065, 0x090c, + 0x0d52, 0x2009, 0x0013, 0x080c, 0x9fa9, 0x00ce, 0x0005, 0x00c6, + 0x00d6, 0x7824, 0x9005, 0x090c, 0x0d52, 0x781c, 0x906d, 0x090c, + 0x0d52, 0x080c, 0x9dd1, 0x6800, 0xc0dc, 0x6802, 0x7924, 0x2160, + 0x080c, 0x9eda, 0x693c, 0x81ff, 0x090c, 0x0d52, 0x8109, 0x693e, + 0x6854, 0x9015, 0x0110, 0x7a1e, 0x0010, 0x7918, 0x791e, 0x7807, + 0x0000, 0x7827, 0x0000, 0x00de, 0x00ce, 0x080c, 0x87fb, 0x08a8, + 0x6104, 0x9186, 0x0002, 0x0128, 0x9186, 0x0004, 0x0110, 0x0804, + 0x8210, 0x7808, 0x9c06, 0x0904, 0x8210, 0x080c, 0x86ff, 0x080c, + 0x8326, 0x00ce, 0x080c, 0x87fb, 0x0804, 0x8204, 0x00c6, 0x6024, + 0x6027, 0x0002, 0xd0f4, 0x15b8, 0x62c8, 0x60c4, 0x9205, 0x1170, + 0x783c, 0x9065, 0x0130, 0x2009, 0x0049, 0x080c, 0x9f51, 0x00ce, + 0x0005, 0x2011, 0x139b, 0x2013, 0x0000, 0x0cc8, 0x793c, 0x81ff, + 0x0dc0, 0x7944, 0x9192, 0x7530, 0x1628, 0x8108, 0x7946, 0x793c, + 0x9188, 0x0008, 0x210c, 0x918e, 0x0006, 0x1138, 0x6014, 0x9084, + 0x1984, 0x9085, 0x0012, 0x6016, 0x0c10, 0x793c, 0x9188, 0x0008, + 0x210c, 0x918e, 0x0009, 0x0d90, 0x6014, 0x9084, 0x1984, 0x9085, + 0x0016, 0x6016, 0x08a0, 0x793c, 0x2160, 0x2009, 0x004a, 0x080c, + 0x9f51, 0x0868, 0x7848, 0xc085, 0x784a, 0x0848, 0x0006, 0x0016, + 0x00c6, 0x0126, 0x2091, 0x8000, 0x600f, 0x0000, 0x2c08, 0x2061, + 0x137c, 0x6020, 0x8000, 0x6022, 0x6010, 0x9005, 0x0148, 0x9080, + 0x0003, 0x2102, 0x6112, 0x012e, 0x00ce, 0x001e, 0x000e, 0x0005, + 0x6116, 0x6112, 0x0cc0, 0x00d6, 0x2069, 0x137c, 0x6000, 0xd0d4, + 0x01b8, 0x6820, 0x8000, 0x6822, 0x9086, 0x0001, 0x1110, 0x2c00, + 0x681e, 0x2001, 0x110c, 0x2004, 0xd0fc, 0x0118, 0x00de, 0x0804, + 0x87fb, 0x6804, 0x9084, 0x0007, 0x0804, 0x8812, 0x00de, 0x0005, + 0xc0d5, 0x6002, 0x6818, 0x9005, 0x0158, 0x6056, 0x605b, 0x0000, + 0x0006, 0x2c00, 0x681a, 0x00de, 0x685a, 0x2069, 0x137c, 0x08c8, + 0x6056, 0x605a, 0x2c00, 0x681a, 0x681e, 0x0898, 0x0006, 0x0016, + 0x00c6, 0x0126, 0x2091, 0x8000, 0x600f, 0x0000, 0x2c08, 0x2061, + 0x137c, 0x6020, 0x8000, 0x6022, 0x6008, 0x9005, 0x0148, 0x9080, + 0x0003, 0x2102, 0x610a, 0x012e, 0x00ce, 0x001e, 0x000e, 0x0005, + 0x610e, 0x610a, 0x0cc0, 0x00c6, 0x600f, 0x0000, 0x2c08, 0x2061, + 0x137c, 0x6034, 0x9005, 0x0130, 0x9080, 0x0003, 0x2102, 0x6136, + 0x00ce, 0x0005, 0x613a, 0x6136, 0x00ce, 0x0005, 0x00f6, 0x00e6, + 0x00d6, 0x00c6, 0x0076, 0x0066, 0x0056, 0x0036, 0x0026, 0x0016, + 0x0006, 0x0126, 0x902e, 0x2071, 0x137c, 0x7638, 0x2660, 0x2678, + 0x2091, 0x8000, 0x8cff, 0x0904, 0x83cf, 0x6010, 0x9080, 0x0028, + 0x2004, 0x9206, 0x1904, 0x83ca, 0x87ff, 0x0120, 0x6054, 0x9106, + 0x1904, 0x83ca, 0x703c, 0x9c06, 0x1190, 0x0036, 0x2019, 0x0001, + 0x080c, 0x9708, 0x7033, 0x0000, 0x703f, 0x0000, 0x7043, 0x0000, + 0x7047, 0x0000, 0x704b, 0x0000, 0x003e, 0x2029, 0x0001, 0x7038, + 0x9c36, 0x1110, 0x660c, 0x763a, 0x7034, 0x9c36, 0x1140, 0x2c00, + 0x9f36, 0x0118, 0x2f00, 0x7036, 0x0010, 0x7037, 0x0000, 0x660c, + 0x0066, 0x2c00, 0x9f06, 0x0110, 0x7e0e, 0x0008, 0x2678, 0x600f, + 0x0000, 0x080c, 0xb95b, 0x01c8, 0x6014, 0x2068, 0x6020, 0x9086, + 0x0003, 0x1580, 0x6867, 0x0103, 0x6b7a, 0x6877, 0x0000, 0x0016, + 0x0036, 0x0076, 0x080c, 0xbc1b, 0x080c, 0xd4fd, 0x080c, 0x5fa7, + 0x007e, 0x003e, 0x001e, 0x080c, 0xbb2b, 0x080c, 0x9f0b, 0x00ce, + 0x0804, 0x836a, 0x2c78, 0x600c, 0x2060, 0x0804, 0x836a, 0x85ff, + 0x0120, 0x0036, 0x080c, 0x891e, 0x003e, 0x012e, 0x000e, 0x001e, + 0x002e, 0x003e, 0x005e, 0x006e, 0x007e, 0x00ce, 0x00de, 0x00ee, + 0x00fe, 0x0005, 0x6020, 0x9086, 0x0006, 0x1158, 0x0016, 0x0036, + 0x0076, 0x080c, 0xd4fd, 0x080c, 0xd16f, 0x007e, 0x003e, 0x001e, + 0x08a0, 0x6020, 0x9086, 0x0009, 0x1168, 0x687b, 0x0006, 0x0016, + 0x0036, 0x0076, 0x080c, 0x5fa7, 0x080c, 0x9eda, 0x007e, 0x003e, + 0x001e, 0x0828, 0x6020, 0x9086, 0x000a, 0x0904, 0x83b4, 0x0804, + 0x83b2, 0x0006, 0x0066, 0x00c6, 0x00d6, 0x00f6, 0x2031, 0x0000, + 0x0126, 0x2091, 0x8000, 0x2079, 0x137c, 0x7838, 0x9065, 0x0568, + 0x600c, 0x0006, 0x600f, 0x0000, 0x783c, 0x9c06, 0x1180, 0x0036, + 0x2019, 0x0001, 0x080c, 0x9708, 0x7833, 0x0000, 0x783f, 0x0000, + 0x7843, 0x0000, 0x7847, 0x0000, 0x784b, 0x0000, 0x003e, 0x080c, + 0xb95b, 0x0178, 0x6014, 0x2068, 0x6020, 0x9086, 0x0003, 0x11b0, + 0x6867, 0x0103, 0x6b7a, 0x6877, 0x0000, 0x080c, 0x5fa7, 0x080c, + 0xbb2b, 0x080c, 0x9f0b, 0x000e, 0x0888, 0x7e3a, 0x7e36, 0x012e, + 0x00fe, 0x00de, 0x00ce, 0x006e, 0x000e, 0x0005, 0x6020, 0x9086, + 0x0006, 0x1118, 0x080c, 0xd16f, 0x0c60, 0x6020, 0x9086, 0x0009, + 0x1130, 0x6b7a, 0x080c, 0x5fa7, 0x080c, 0x9eda, 0x0c20, 0x6020, + 0x9086, 0x000a, 0x09b8, 0x08a0, 0x0016, 0x0026, 0x0086, 0x2041, + 0x0000, 0x0099, 0x080c, 0x8532, 0x008e, 0x002e, 0x001e, 0x0005, + 0x00f6, 0x0126, 0x2079, 0x137c, 0x2091, 0x8000, 0x080c, 0x85bf, + 0x080c, 0x8631, 0x012e, 0x00fe, 0x0005, 0x00f6, 0x00e6, 0x00d6, + 0x00c6, 0x0066, 0x0016, 0x0006, 0x0126, 0x2091, 0x8000, 0x2071, + 0x137c, 0x7614, 0x2660, 0x2678, 0x8cff, 0x0904, 0x8508, 0x6010, + 0x9080, 0x0028, 0x2004, 0x9206, 0x1904, 0x8503, 0x88ff, 0x0120, + 0x6054, 0x9106, 0x1904, 0x8503, 0x7024, 0x9c06, 0x1538, 0x2069, + 0x0100, 0x68c0, 0x9005, 0x01f0, 0x080c, 0x77b2, 0x080c, 0x9494, + 0x68c3, 0x0000, 0x080c, 0x9939, 0x7027, 0x0000, 0x0036, 0x2069, + 0x0140, 0x6b04, 0x9384, 0x1000, 0x0120, 0x6803, 0x0100, 0x6803, + 0x0000, 0x2069, 0x0100, 0x6824, 0xd084, 0x0110, 0x6827, 0x0001, + 0x003e, 0x0020, 0x6003, 0x0009, 0x630a, 0x04e8, 0x7014, 0x9c36, + 0x1110, 0x660c, 0x7616, 0x7010, 0x9c36, 0x1140, 0x2c00, 0x9f36, + 0x0118, 0x2f00, 0x7012, 0x0010, 0x7013, 0x0000, 0x660c, 0x0066, + 0x2c00, 0x9f06, 0x0110, 0x7e0e, 0x0008, 0x2678, 0x600f, 0x0000, + 0x6014, 0x2068, 0x080c, 0xb95b, 0x01b8, 0x6020, 0x9086, 0x0003, + 0x1540, 0x6867, 0x0103, 0x6b7a, 0x6877, 0x0000, 0x0016, 0x0036, + 0x0086, 0x080c, 0xbc1b, 0x080c, 0xd4fd, 0x080c, 0x5fa7, 0x008e, + 0x003e, 0x001e, 0x080c, 0xbb2b, 0x080c, 0x9f0b, 0x080c, 0x9819, + 0x00ce, 0x0804, 0x848c, 0x2c78, 0x600c, 0x2060, 0x0804, 0x848c, + 0x012e, 0x000e, 0x001e, 0x006e, 0x00ce, 0x00de, 0x00ee, 0x00fe, + 0x0005, 0x6020, 0x9086, 0x0006, 0x1158, 0x0016, 0x0036, 0x0086, + 0x080c, 0xd4fd, 0x080c, 0xd16f, 0x008e, 0x003e, 0x001e, 0x08e0, + 0x6020, 0x9086, 0x0002, 0x1128, 0x6004, 0x9086, 0x0085, 0x0908, + 0x0898, 0x6020, 0x9086, 0x0005, 0x1978, 0x6004, 0x9086, 0x0085, + 0x0d20, 0x0850, 0x00c6, 0x0006, 0x0126, 0x2091, 0x8000, 0x9280, + 0x1000, 0x2004, 0x9065, 0x0904, 0x85bb, 0x00f6, 0x00e6, 0x00d6, + 0x0066, 0x2071, 0x137c, 0x6654, 0x7018, 0x9c06, 0x1108, 0x761a, + 0x701c, 0x9c06, 0x1130, 0x86ff, 0x1118, 0x7018, 0x701e, 0x0008, + 0x761e, 0x6058, 0x907d, 0x0108, 0x7e56, 0x96ed, 0x0000, 0x0110, + 0x2f00, 0x685a, 0x6057, 0x0000, 0x605b, 0x0000, 0x6000, 0xc0d4, + 0xc0dc, 0x6002, 0x080c, 0x58cc, 0x0904, 0x85b7, 0x7624, 0x86ff, + 0x05e8, 0x9680, 0x0005, 0x2004, 0x9d06, 0x15c0, 0x00d6, 0x2069, + 0x0100, 0x68c0, 0x9005, 0x0548, 0x080c, 0x77b2, 0x080c, 0x9494, + 0x68c3, 0x0000, 0x080c, 0x9939, 0x7027, 0x0000, 0x0036, 0x2069, + 0x0140, 0x6b04, 0x9384, 0x1000, 0x0120, 0x6803, 0x0100, 0x6803, + 0x0000, 0x2069, 0x0100, 0x6824, 0xd084, 0x0110, 0x6827, 0x0001, + 0x003e, 0x00de, 0x00c6, 0x603c, 0x9005, 0x0110, 0x8001, 0x603e, + 0x2660, 0x080c, 0x9f0b, 0x00ce, 0x0048, 0x00de, 0x00c6, 0x2660, + 0x6003, 0x0009, 0x630a, 0x00ce, 0x0804, 0x8562, 0x8dff, 0x0158, + 0x6867, 0x0103, 0x6b7a, 0x6877, 0x0000, 0x080c, 0xbc1b, 0x080c, + 0xd4fd, 0x080c, 0x5fa7, 0x080c, 0x9819, 0x0804, 0x8562, 0x006e, + 0x00de, 0x00ee, 0x00fe, 0x012e, 0x000e, 0x00ce, 0x0005, 0x0006, + 0x0066, 0x00c6, 0x00d6, 0x2031, 0x0000, 0x7814, 0x9065, 0x0904, + 0x8611, 0x600c, 0x0006, 0x600f, 0x0000, 0x7824, 0x9c06, 0x1540, + 0x2069, 0x0100, 0x68c0, 0x9005, 0x01f0, 0x080c, 0x77b2, 0x080c, + 0x9494, 0x68c3, 0x0000, 0x080c, 0x9939, 0x7827, 0x0000, 0x0036, + 0x2069, 0x0140, 0x6b04, 0x9384, 0x1000, 0x0120, 0x6803, 0x0100, + 0x6803, 0x0000, 0x2069, 0x0100, 0x6824, 0xd084, 0x0110, 0x6827, + 0x0001, 0x003e, 0x0028, 0x6003, 0x0009, 0x630a, 0x2c30, 0x00b0, + 0x6014, 0x2068, 0x080c, 0xb95b, 0x0168, 0x6020, 0x9086, 0x0003, + 0x11b8, 0x6867, 0x0103, 0x6b7a, 0x6877, 0x0000, 0x080c, 0x5fa7, + 0x080c, 0xbb2b, 0x080c, 0x9f0b, 0x080c, 0x9819, 0x000e, 0x0804, + 0x85c6, 0x7e16, 0x7e12, 0x00de, 0x00ce, 0x006e, 0x000e, 0x0005, + 0x6020, 0x9086, 0x0006, 0x1118, 0x080c, 0xd16f, 0x0c58, 0x6020, + 0x9086, 0x0002, 0x1128, 0x6004, 0x9086, 0x0085, 0x09d0, 0x0c10, + 0x6020, 0x9086, 0x0005, 0x19f0, 0x6004, 0x9086, 0x0085, 0x0d60, + 0x08c8, 0x0006, 0x0066, 0x00c6, 0x00d6, 0x7818, 0x9065, 0x0904, + 0x8697, 0x6054, 0x0006, 0x6057, 0x0000, 0x605b, 0x0000, 0x6000, + 0xc0d4, 0xc0dc, 0x6002, 0x080c, 0x58cc, 0x0904, 0x8694, 0x7e24, + 0x86ff, 0x05e8, 0x9680, 0x0005, 0x2004, 0x9d06, 0x15c0, 0x00d6, + 0x2069, 0x0100, 0x68c0, 0x9005, 0x0548, 0x080c, 0x77b2, 0x080c, + 0x9494, 0x68c3, 0x0000, 0x080c, 0x9939, 0x7827, 0x0000, 0x0036, + 0x2069, 0x0140, 0x6b04, 0x9384, 0x1000, 0x0120, 0x6803, 0x0100, + 0x6803, 0x0000, 0x2069, 0x0100, 0x6824, 0xd084, 0x0110, 0x6827, + 0x0001, 0x003e, 0x00de, 0x00c6, 0x603c, 0x9005, 0x0110, 0x8001, + 0x603e, 0x2660, 0x080c, 0x9f0b, 0x00ce, 0x0048, 0x00de, 0x00c6, + 0x2660, 0x6003, 0x0009, 0x630a, 0x00ce, 0x0804, 0x8643, 0x8dff, + 0x0138, 0x6867, 0x0103, 0x6b7a, 0x6877, 0x0000, 0x080c, 0x5fa7, + 0x080c, 0x9819, 0x0804, 0x8643, 0x000e, 0x0804, 0x8636, 0x781e, + 0x781a, 0x00de, 0x00ce, 0x006e, 0x000e, 0x0005, 0x00e6, 0x00d6, + 0x0066, 0x6000, 0xd0dc, 0x01a0, 0x604c, 0x906d, 0x0188, 0x6878, + 0x9606, 0x1170, 0x2071, 0x137c, 0x7024, 0x9035, 0x0148, 0x9080, + 0x0005, 0x2004, 0x9d06, 0x1120, 0x6000, 0xc0dc, 0x6002, 0x0021, + 0x006e, 0x00de, 0x00ee, 0x0005, 0x00f6, 0x2079, 0x0100, 0x78c0, + 0x9005, 0x1138, 0x00c6, 0x2660, 0x6003, 0x0009, 0x630a, 0x00ce, + 0x04a0, 0x080c, 0x9494, 0x78c3, 0x0000, 0x080c, 0x9939, 0x7027, + 0x0000, 0x0036, 0x2079, 0x0140, 0x7b04, 0x9384, 0x1000, 0x0120, + 0x7803, 0x0100, 0x7803, 0x0000, 0x2079, 0x0100, 0x7824, 0xd084, + 0x0110, 0x7827, 0x0001, 0x080c, 0x9939, 0x003e, 0x080c, 0x58cc, + 0x00c6, 0x603c, 0x9005, 0x0110, 0x8001, 0x603e, 0x2660, 0x080c, + 0x9eda, 0x00ce, 0x6867, 0x0103, 0x6b7a, 0x6877, 0x0000, 0x080c, + 0xbc1b, 0x080c, 0x5fa7, 0x080c, 0x9819, 0x00fe, 0x0005, 0x00e6, + 0x00c6, 0x2001, 0x110c, 0x2014, 0xc2e4, 0x2202, 0x2071, 0x137c, + 0x7004, 0x9084, 0x0007, 0x0002, 0x8716, 0x8719, 0x872f, 0x8757, + 0x8794, 0x8716, 0x8714, 0x8714, 0x080c, 0x0d52, 0x00ce, 0x00ee, + 0x0005, 0x7024, 0x9065, 0x0148, 0x7020, 0x8001, 0x7022, 0x600c, + 0x9015, 0x0150, 0x7216, 0x600f, 0x0000, 0x7007, 0x0000, 0x7027, + 0x0000, 0x00ce, 0x00ee, 0x0005, 0x7216, 0x7212, 0x0cb0, 0x6010, + 0x2060, 0x080c, 0x58cc, 0x6000, 0xc0dc, 0x6002, 0x7007, 0x0000, + 0x7027, 0x0000, 0x7020, 0x8001, 0x7022, 0x1140, 0x2001, 0x110c, + 0x2014, 0xd2ec, 0x1178, 0x00ce, 0x00ee, 0x0005, 0x6054, 0x9015, + 0x0120, 0x721e, 0x080c, 0x87fb, 0x0cb0, 0x7218, 0x721e, 0x080c, + 0x87fb, 0x0c88, 0xc2ec, 0x2202, 0x080c, 0x891e, 0x0c60, 0x7024, + 0x9065, 0x05b8, 0x700c, 0x9c06, 0x1160, 0x080c, 0x9819, 0x600c, + 0x9015, 0x0120, 0x720e, 0x600f, 0x0000, 0x0448, 0x720e, 0x720a, + 0x0430, 0x7014, 0x9c06, 0x1160, 0x080c, 0x9819, 0x600c, 0x9015, + 0x0120, 0x7216, 0x600f, 0x0000, 0x00d0, 0x7216, 0x7212, 0x00b8, + 0x6020, 0x9086, 0x0003, 0x1198, 0x6010, 0x2060, 0x080c, 0x58cc, + 0x6000, 0xc0dc, 0x6002, 0x080c, 0x9819, 0x701c, 0x9065, 0x0138, + 0x6054, 0x9015, 0x0110, 0x721e, 0x0010, 0x7218, 0x721e, 0x7027, + 0x0000, 0x00ce, 0x00ee, 0x0005, 0x7024, 0x9065, 0x0140, 0x080c, + 0x9819, 0x600c, 0x9015, 0x0150, 0x720e, 0x600f, 0x0000, 0x080c, + 0x9939, 0x7027, 0x0000, 0x00ce, 0x00ee, 0x0005, 0x720e, 0x720a, + 0x0cb0, 0x00d6, 0x2069, 0x137c, 0x6830, 0x9084, 0x0003, 0x0002, + 0x87b6, 0x87b8, 0x87dc, 0x87b4, 0x080c, 0x0d52, 0x00de, 0x0005, + 0x00c6, 0x6840, 0x9086, 0x0001, 0x01b8, 0x683c, 0x9065, 0x0130, + 0x600c, 0x9015, 0x0170, 0x6a3a, 0x600f, 0x0000, 0x6833, 0x0000, + 0x683f, 0x0000, 0x2011, 0x139b, 0x2013, 0x0000, 0x00ce, 0x00de, + 0x0005, 0x683a, 0x6836, 0x0c90, 0x6843, 0x0000, 0x6838, 0x9065, + 0x0d68, 0x6003, 0x0003, 0x0c50, 0x00c6, 0x6843, 0x0000, 0x6847, + 0x0000, 0x684b, 0x0000, 0x683c, 0x9065, 0x0168, 0x600c, 0x9015, + 0x0130, 0x6a3a, 0x600f, 0x0000, 0x683f, 0x0000, 0x0020, 0x683f, + 0x0000, 0x683a, 0x6836, 0x00ce, 0x00de, 0x0005, 0xc1e5, 0x2001, + 0x110c, 0x2102, 0x0005, 0x2001, 0x110c, 0x200c, 0xd1ec, 0x0138, + 0xc1ec, 0x2102, 0x080c, 0x891e, 0x2001, 0x110c, 0x200c, 0x9184, + 0x0600, 0x9086, 0x0600, 0x0d50, 0x00d6, 0x2069, 0x137c, 0x6804, + 0x9084, 0x0007, 0x0006, 0x9005, 0x11c8, 0x2001, 0x1135, 0x2004, + 0x9084, 0x0028, 0x1198, 0x2001, 0x1320, 0x2004, 0x9086, 0xaaaa, + 0x0168, 0x2001, 0x1196, 0x2004, 0xd08c, 0x1118, 0xd084, 0x1118, + 0x0028, 0x080c, 0x891e, 0x000e, 0x00de, 0x0005, 0x000e, 0x0002, + 0x883a, 0x88e1, 0x88e1, 0x88e1, 0x88e1, 0x88e3, 0x8838, 0x8838, + 0x080c, 0x0d52, 0x6820, 0x9005, 0x1110, 0x00de, 0x0005, 0x00c6, + 0x680c, 0x9065, 0x0530, 0x6114, 0x9188, 0x0019, 0x210c, 0x918c, + 0x00ff, 0x918e, 0x0035, 0x1198, 0x2009, 0x1135, 0x210c, 0x918c, + 0x0028, 0x1168, 0x2009, 0x1320, 0x210c, 0x918e, 0xaaaa, 0x0138, + 0x0006, 0x2009, 0x1196, 0x2104, 0xc095, 0x200a, 0x000e, 0x6807, + 0x0004, 0x6826, 0x682b, 0x0000, 0x080c, 0x89b3, 0x00ce, 0x00de, + 0x0005, 0x6814, 0x9065, 0x0150, 0x6807, 0x0001, 0x6826, 0x682b, + 0x0000, 0x080c, 0x89b3, 0x00ce, 0x00de, 0x0005, 0x00e6, 0x6a1c, + 0x92f5, 0x0000, 0x0904, 0x88de, 0x704c, 0x900d, 0x0118, 0x7088, + 0x9005, 0x01a0, 0x7054, 0x9075, 0x0120, 0x920e, 0x0904, 0x88de, + 0x0028, 0x6818, 0x920e, 0x0904, 0x88de, 0x2070, 0x704c, 0x900d, + 0x0d88, 0x7088, 0x9005, 0x1d70, 0x2e00, 0x681e, 0x733c, 0x7038, + 0x9302, 0x1e40, 0x080c, 0x9eb1, 0x0904, 0x88de, 0x8318, 0x733e, + 0x6116, 0x2e10, 0x6212, 0x9180, 0x0020, 0x2004, 0x9084, 0x00ff, + 0x605e, 0x9180, 0x0020, 0x2003, 0x0000, 0x9180, 0x0021, 0x2004, + 0x908a, 0x199a, 0x0210, 0x2001, 0x1999, 0x8003, 0x801b, 0x831b, + 0x9318, 0x631a, 0x00f6, 0x2c78, 0x2061, 0x0100, 0x609b, 0x0000, + 0x00d6, 0x00e6, 0x2069, 0x0200, 0x2071, 0x0240, 0x080c, 0x8fa7, + 0x00ee, 0x00de, 0x7300, 0xc3dd, 0x7302, 0x6807, 0x0002, 0x2f18, + 0x6b26, 0x682b, 0x0000, 0x7823, 0x0003, 0x7803, 0x0001, 0x7807, + 0x0040, 0x00fe, 0x00ee, 0x00ce, 0x00de, 0x0005, 0x00ee, 0x00ce, + 0x0cd8, 0x00de, 0x0005, 0x00c6, 0x680c, 0x9065, 0x0518, 0x6114, + 0x9188, 0x0019, 0x210c, 0x918c, 0x00ff, 0x918e, 0x0035, 0x1198, + 0x2009, 0x1135, 0x210c, 0x918c, 0x0028, 0x1168, 0x2009, 0x1320, + 0x210c, 0x918e, 0xaaaa, 0x0138, 0x0006, 0x2009, 0x1196, 0x2104, + 0xc095, 0x200a, 0x000e, 0x6807, 0x0004, 0x6826, 0x682b, 0x0000, + 0x080c, 0x89b3, 0x00ce, 0x00de, 0x0005, 0x2001, 0x110c, 0x2014, + 0xc2ed, 0x2202, 0x00de, 0x00fe, 0x0005, 0x2001, 0x110c, 0x2014, + 0xd2e4, 0x0120, 0xc2e4, 0x2202, 0x080c, 0x880c, 0x00f6, 0x00d6, + 0x2069, 0x137c, 0x6830, 0x9086, 0x0000, 0x1510, 0x2001, 0x110c, + 0x200c, 0xd1c4, 0x1500, 0x6838, 0x907d, 0x01d0, 0x6a04, 0x9296, + 0x0000, 0x19d8, 0x7920, 0x918e, 0x0009, 0x0588, 0x6833, 0x0001, + 0x683e, 0x6847, 0x0000, 0x684b, 0x0000, 0x0126, 0x00f6, 0x2091, + 0x2400, 0x002e, 0x080c, 0x1749, 0x1178, 0x012e, 0x080c, 0x92de, + 0x00de, 0x00fe, 0x0005, 0xc1c4, 0x2102, 0x0066, 0x2031, 0x0001, + 0x080c, 0x67c0, 0x006e, 0x08b8, 0x012e, 0x6843, 0x0000, 0x7803, + 0x0002, 0x780c, 0x9015, 0x0140, 0x6a3a, 0x780f, 0x0000, 0x6833, + 0x0000, 0x683f, 0x0000, 0x0c20, 0x683a, 0x6836, 0x0cc0, 0x7908, + 0xd1fc, 0x1198, 0x6833, 0x0001, 0x683e, 0x6847, 0x0000, 0x684b, + 0x0000, 0x0126, 0x00f6, 0x2091, 0x2400, 0x002e, 0x080c, 0x1749, + 0x19d8, 0x012e, 0x080c, 0x9260, 0x0858, 0x2001, 0x1135, 0x2004, + 0x9084, 0x0028, 0x1188, 0x2001, 0x1320, 0x2004, 0x9086, 0xaaaa, + 0x0158, 0x2001, 0x137d, 0x2004, 0x9005, 0x11f0, 0x2001, 0x1196, + 0x200c, 0xc185, 0xc18c, 0x2102, 0x2f00, 0x6833, 0x0001, 0x683e, + 0x6847, 0x0000, 0x684b, 0x0000, 0x0126, 0x00f6, 0x2091, 0x2400, + 0x002e, 0x080c, 0x1749, 0x1904, 0x8954, 0x012e, 0x6a3c, 0x2278, + 0x080c, 0x91ed, 0x0804, 0x8948, 0x2011, 0x1196, 0x2204, 0xc08d, + 0x2012, 0x0804, 0x8948, 0x6020, 0x9084, 0x000f, 0x000b, 0x0005, + 0x89c7, 0x89cc, 0x8e9b, 0x8f5c, 0x89cc, 0x8e9b, 0x8f5c, 0x89c7, + 0x89cc, 0x89c7, 0x89c7, 0x89c7, 0x89c7, 0x89c7, 0x89c7, 0x080c, + 0x86ff, 0x080c, 0x87fb, 0x0005, 0x0156, 0x0136, 0x0146, 0x01c6, + 0x01d6, 0x00c6, 0x00d6, 0x00e6, 0x00f6, 0x2069, 0x0200, 0x2071, + 0x0240, 0x6004, 0x908a, 0x0051, 0x1a0c, 0x0d52, 0x6110, 0x2178, + 0x79a0, 0x2011, 0x1135, 0x2214, 0xd2ac, 0x1110, 0xd1bc, 0x0150, + 0x7900, 0xd1f4, 0x0120, 0x7914, 0x918c, 0x00ff, 0x0040, 0x2009, + 0x0000, 0x0028, 0x91f8, 0x2b33, 0x2f0d, 0x918c, 0x00ff, 0x2c78, + 0x2061, 0x0100, 0x619a, 0x908a, 0x0040, 0x1a04, 0x8a4c, 0x0053, + 0x00fe, 0x00ee, 0x00de, 0x00ce, 0x01de, 0x01ce, 0x014e, 0x013e, + 0x015e, 0x0005, 0x8bcd, 0x8c0e, 0x8c3d, 0x8cf0, 0x8d13, 0x8d19, + 0x8d27, 0x8d30, 0x8d3d, 0x8d43, 0x8d55, 0x8d43, 0x8da5, 0x8d30, + 0x8db2, 0x8db8, 0x8d3d, 0x8db8, 0x8dc5, 0x8a4a, 0x8a4a, 0x8a4a, + 0x8a4a, 0x8a4a, 0x8a4a, 0x8a4a, 0x8a4a, 0x8a4a, 0x8a4a, 0x8a4a, + 0x95b8, 0x95cf, 0x95da, 0x95fb, 0x962a, 0x8d27, 0x8a4a, 0x8d27, + 0x8d43, 0x8a4a, 0x8c3d, 0x8cf0, 0x8a4a, 0x9a1e, 0x8d43, 0x8a4a, + 0x9a3a, 0x8d43, 0x8a4a, 0x8d3d, 0x8bc6, 0x8a6b, 0x8a4a, 0x9a51, + 0x9abe, 0x9b95, 0x8a4a, 0x9ba2, 0x8d24, 0x9bb8, 0x8a4a, 0x9635, + 0x9bf2, 0x8a4a, 0x080c, 0x0d52, 0x2100, 0x0053, 0x00fe, 0x00ee, + 0x00de, 0x00ce, 0x01de, 0x01ce, 0x014e, 0x013e, 0x015e, 0x0005, + 0x9c82, 0x9d41, 0x8a69, 0x8a91, 0x8b35, 0x8b45, 0x8a69, 0x8d27, + 0x8a69, 0x8b8a, 0x8b99, 0x8aab, 0x8a69, 0x8ac5, 0x8af6, 0x9df1, + 0x9e36, 0x080c, 0x0d52, 0x00d6, 0x080c, 0x8dd9, 0x7003, 0x2414, + 0x7007, 0x0018, 0x700b, 0x0800, 0x7814, 0x2068, 0x683c, 0x700e, + 0x6850, 0x7022, 0x6854, 0x7026, 0x60c3, 0x0018, 0x080c, 0x9468, + 0x00de, 0x0005, 0x00d6, 0x7810, 0x2068, 0x68a0, 0x2069, 0x1100, + 0x6ad4, 0xd2ac, 0x1110, 0xd0bc, 0x0110, 0x9085, 0x0001, 0x00de, + 0x0005, 0x00d6, 0x080c, 0x8dd9, 0x7003, 0x0500, 0x7814, 0x90e8, + 0x001b, 0x6808, 0x700a, 0x680c, 0x700e, 0x6810, 0x7012, 0x6814, + 0x7016, 0x6818, 0x701a, 0x681c, 0x701e, 0x60c3, 0x0010, 0x080c, + 0x9468, 0x00de, 0x0005, 0x00d6, 0x080c, 0x8dd9, 0x7003, 0x0500, + 0x7814, 0x90e8, 0x0031, 0x6808, 0x700a, 0x680c, 0x700e, 0x6810, + 0x7012, 0x6814, 0x7016, 0x6818, 0x701a, 0x681c, 0x701e, 0x60c3, + 0x0010, 0x080c, 0x9468, 0x00de, 0x0005, 0x00d6, 0x0126, 0x2091, + 0x8000, 0x080c, 0x8dd9, 0x20e9, 0x0000, 0x20e1, 0x0001, 0x2001, + 0x1356, 0x2003, 0x0000, 0x7814, 0x2068, 0x6814, 0x8003, 0x60c2, + 0x6830, 0x20a8, 0x9d80, 0x001b, 0x2098, 0x2001, 0x1356, 0x0016, + 0x200c, 0x2001, 0x0001, 0x080c, 0x1c40, 0x080c, 0xc579, 0x9006, + 0x080c, 0x1c40, 0x001e, 0x6804, 0x9005, 0x0110, 0x2068, 0x0c40, + 0x04b9, 0x080c, 0x9468, 0x012e, 0x00de, 0x0005, 0x00d6, 0x0126, + 0x2091, 0x8000, 0x080c, 0x8e4f, 0x20e9, 0x0000, 0x20e1, 0x0001, + 0x2001, 0x1356, 0x2003, 0x0000, 0x7814, 0x2068, 0x686f, 0x0200, + 0x6873, 0x0000, 0x6814, 0x8003, 0x60c2, 0x6830, 0x20a8, 0x9d80, + 0x001b, 0x2098, 0x2001, 0x1356, 0x0016, 0x200c, 0x080c, 0xc579, + 0x001e, 0x6804, 0x9005, 0x0110, 0x2068, 0x0c78, 0x0049, 0x7814, + 0x2068, 0x080c, 0x0e96, 0x080c, 0x9468, 0x012e, 0x00de, 0x0005, + 0x60c0, 0x8004, 0x9084, 0x0003, 0x9005, 0x0130, 0x9082, 0x0004, + 0x20a3, 0x0000, 0x8000, 0x1de0, 0x0005, 0x080c, 0x8dd9, 0x7003, + 0x7800, 0x7007, 0x0000, 0x7808, 0x8007, 0x700a, 0x700f, 0x0000, + 0x60c3, 0x0008, 0x080c, 0x9468, 0x0005, 0x00d6, 0x00e6, 0x080c, + 0x8e4f, 0x2073, 0x0200, 0x8e70, 0x2073, 0x0000, 0x8e70, 0x2073, + 0xdf10, 0x8e70, 0x2073, 0x0034, 0x8e70, 0x2069, 0x1105, 0x20a9, + 0x0004, 0x2d76, 0x8d68, 0x8e70, 0x1f04, 0x8b59, 0x2069, 0x1101, + 0x20a9, 0x0004, 0x2d76, 0x8d68, 0x8e70, 0x1f04, 0x8b62, 0x2069, + 0x1362, 0x20a9, 0x001a, 0x9e86, 0x0260, 0x1148, 0x00c6, 0x2061, + 0x0200, 0x6010, 0x8000, 0x6012, 0x00ce, 0x2071, 0x0240, 0x2d04, + 0x8007, 0x2072, 0x8d68, 0x8e70, 0x1f04, 0x8b6b, 0x2073, 0x0000, + 0x8e70, 0x2073, 0x0000, 0x60c3, 0x004c, 0x080c, 0x9468, 0x00ee, + 0x00de, 0x0005, 0x080c, 0x8dd9, 0x7003, 0x6300, 0x7007, 0x0028, + 0x700b, 0x0000, 0x7808, 0x700e, 0x60c3, 0x0008, 0x080c, 0x9468, + 0x0005, 0x00d6, 0x0026, 0x0016, 0x080c, 0x8e4f, 0x7003, 0x0200, + 0x7814, 0x700e, 0x00e6, 0x9ef0, 0x0004, 0x2009, 0x0001, 0x2011, + 0x000c, 0x2069, 0x1278, 0x6810, 0xd084, 0x1148, 0x2073, 0x0500, + 0x8e70, 0x2073, 0x0000, 0x8e70, 0x8108, 0x9290, 0x0004, 0x2073, + 0x0800, 0x8e70, 0x2073, 0x0000, 0x00ee, 0x7206, 0x710a, 0x62c2, + 0x080c, 0x9468, 0x001e, 0x002e, 0x00de, 0x0005, 0x2001, 0x1116, + 0x2004, 0x609a, 0x080c, 0x9468, 0x0005, 0x080c, 0x8dd9, 0x7003, + 0x5200, 0x2069, 0x1152, 0x6804, 0xd084, 0x0130, 0x6828, 0x0016, + 0x080c, 0x20ac, 0x710e, 0x001e, 0x20a9, 0x0004, 0x20e1, 0x0001, + 0x2099, 0x1105, 0x20e9, 0x0000, 0x20a1, 0x0250, 0x4003, 0x20a9, + 0x0004, 0x2099, 0x1101, 0x20a1, 0x0254, 0x4003, 0x2001, 0x1135, + 0x2004, 0xd0ac, 0x1138, 0x7810, 0x9080, 0x0028, 0x2004, 0x9082, + 0x007f, 0x0248, 0x2001, 0x111d, 0x2004, 0x7032, 0x2001, 0x111e, + 0x2004, 0x7036, 0x0030, 0x2001, 0x1116, 0x2004, 0x9084, 0x00ff, + 0x7036, 0x60c3, 0x001c, 0x080c, 0x9468, 0x0005, 0x080c, 0x8dd9, + 0x7003, 0x0500, 0x2001, 0x1135, 0x2004, 0xd0ac, 0x1138, 0x7810, + 0x9080, 0x0028, 0x2004, 0x9082, 0x007f, 0x0248, 0x2001, 0x111d, + 0x2004, 0x700a, 0x2001, 0x111e, 0x2004, 0x700e, 0x0030, 0x2001, + 0x1116, 0x2004, 0x9084, 0x00ff, 0x700e, 0x20a9, 0x0004, 0x20e1, + 0x0001, 0x2099, 0x1105, 0x20e9, 0x0000, 0x20a1, 0x0250, 0x4003, + 0x60c3, 0x0010, 0x080c, 0x9468, 0x0005, 0x080c, 0x8dd9, 0x00c6, + 0x7810, 0x2060, 0x2001, 0x0000, 0x080c, 0x5c63, 0x00ce, 0x7810, + 0x9080, 0x0028, 0x2004, 0x9086, 0x007e, 0x1130, 0x7003, 0x0400, + 0x620c, 0xc2b4, 0x620e, 0x0068, 0x7814, 0x00d6, 0x906d, 0x0130, + 0x689b, 0x0000, 0x68a7, 0x0000, 0x68ab, 0x0000, 0x00de, 0x7003, + 0x0300, 0x7810, 0x9080, 0x0028, 0x2004, 0x9086, 0x007e, 0x1904, + 0x8cb6, 0x00d6, 0x2069, 0x1310, 0x2001, 0x1135, 0x2004, 0xd0a4, + 0x0178, 0x6800, 0x700a, 0x6808, 0x9084, 0x2000, 0x7012, 0x680c, + 0x7016, 0x701f, 0x2710, 0x6818, 0x7022, 0x681c, 0x7026, 0x0080, + 0x6800, 0x700a, 0x6804, 0x700e, 0x6808, 0x080c, 0x672f, 0x1118, + 0x9084, 0x37ff, 0x0010, 0x9084, 0x3fff, 0x7012, 0x680c, 0x7016, + 0x00de, 0x20a9, 0x0004, 0x20e1, 0x0001, 0x2099, 0x1105, 0x20e9, + 0x0000, 0x20a1, 0x0256, 0x4003, 0x20a9, 0x0004, 0x2099, 0x1101, + 0x20a1, 0x025a, 0x4003, 0x00d6, 0x080c, 0x9c69, 0x2069, 0x1318, + 0x2071, 0x024e, 0x6800, 0xc0dd, 0x7002, 0x2001, 0x1172, 0x2004, + 0xd0e4, 0x0110, 0x680c, 0x700e, 0x00de, 0x04a8, 0x2001, 0x1135, + 0x2004, 0xd0a4, 0x0170, 0x0016, 0x2001, 0x1311, 0x200c, 0x60e0, + 0x9106, 0x0130, 0x2100, 0x60e3, 0x0000, 0x080c, 0x20ed, 0x61e2, + 0x001e, 0x20e1, 0x0001, 0x2099, 0x1310, 0x20e9, 0x0000, 0x20a1, + 0x024e, 0x20a9, 0x0008, 0x4003, 0x20a9, 0x0004, 0x2099, 0x1105, + 0x20a1, 0x0256, 0x4003, 0x20a9, 0x0004, 0x2099, 0x1101, 0x20a1, + 0x025a, 0x4003, 0x080c, 0x9c69, 0x20a1, 0x024e, 0x20a9, 0x0008, + 0x2099, 0x1318, 0x4003, 0x60c3, 0x0074, 0x080c, 0x9468, 0x0005, + 0x080c, 0x8dd9, 0x7003, 0x2010, 0x7007, 0x0014, 0x700b, 0x0800, + 0x700f, 0x2000, 0x9006, 0x00f6, 0x2079, 0x1152, 0x7904, 0x00fe, + 0xd1ac, 0x1110, 0x9085, 0x0020, 0xd1a4, 0x0110, 0x9085, 0x0010, + 0x9085, 0x0002, 0x00d6, 0x0804, 0x8d89, 0x7026, 0x60c3, 0x0014, + 0x080c, 0x9468, 0x0005, 0x080c, 0x8dd9, 0x7003, 0x5000, 0x0804, + 0x8c61, 0x080c, 0x8dd9, 0x7003, 0x2110, 0x7007, 0x0014, 0x60c3, + 0x0014, 0x080c, 0x9468, 0x0005, 0x080c, 0x8e46, 0x0010, 0x080c, + 0x8e4f, 0x7003, 0x0200, 0x60c3, 0x0004, 0x080c, 0x9468, 0x0005, + 0x080c, 0x8e4f, 0x7003, 0x0100, 0x700b, 0x0003, 0x700f, 0x2a00, + 0x60c3, 0x0008, 0x080c, 0x9468, 0x0005, 0x080c, 0x8e4f, 0x7003, + 0x0200, 0x0804, 0x8c61, 0x080c, 0x8e4f, 0x7003, 0x0100, 0x782c, + 0x9005, 0x0110, 0x700a, 0x0010, 0x700b, 0x0003, 0x7814, 0x700e, + 0x60c3, 0x0008, 0x080c, 0x9468, 0x0005, 0x00d6, 0x080c, 0x8e4f, + 0x7003, 0x0210, 0x7007, 0x0014, 0x700b, 0x0800, 0x7810, 0x2068, + 0x6894, 0x9086, 0x0014, 0x1178, 0x6998, 0x9184, 0xc000, 0x1140, + 0xd1ec, 0x0118, 0x700f, 0x2100, 0x0040, 0x700f, 0x0100, 0x0028, + 0x700f, 0x0400, 0x0010, 0x700f, 0x0700, 0x00f6, 0x2079, 0x1152, + 0x7904, 0x00fe, 0xd1ac, 0x1110, 0x9085, 0x0020, 0xd1a4, 0x0110, + 0x9085, 0x0010, 0x2009, 0x1174, 0x210c, 0xd184, 0x1110, 0x9085, + 0x0002, 0x0026, 0x2009, 0x1172, 0x210c, 0xd1e4, 0x0130, 0xc0c5, + 0x9094, 0x0030, 0x9296, 0x0010, 0x0140, 0xd1ec, 0x0130, 0x9094, + 0x0030, 0x9296, 0x0010, 0x0108, 0xc0bd, 0x002e, 0x7026, 0x60c3, + 0x0014, 0x00de, 0x080c, 0x9468, 0x0005, 0x080c, 0x8e4f, 0x7003, + 0x0210, 0x7007, 0x0014, 0x700f, 0x0100, 0x60c3, 0x0014, 0x080c, + 0x9468, 0x0005, 0x080c, 0x8e4f, 0x7003, 0x0200, 0x0804, 0x8bd1, + 0x080c, 0x8e4f, 0x7003, 0x0100, 0x700b, 0x0003, 0x700f, 0x2a00, + 0x60c3, 0x0008, 0x080c, 0x9468, 0x0005, 0x080c, 0x8e4f, 0x7003, + 0x0100, 0x700b, 0x000b, 0x60c3, 0x0008, 0x080c, 0x9468, 0x0005, + 0x0026, 0x00d6, 0x0036, 0x0046, 0x2019, 0x3200, 0x2021, 0x0800, + 0x0040, 0x0026, 0x00d6, 0x0036, 0x0046, 0x2019, 0x2200, 0x2021, + 0x0100, 0x080c, 0x9c7e, 0x7810, 0x2068, 0x6810, 0x9305, 0x7002, + 0x6814, 0x7006, 0x6aa0, 0x2069, 0x1100, 0x6858, 0x700e, 0x9286, + 0x007e, 0x1168, 0x9385, 0x00ff, 0x7002, 0x7007, 0xfffe, 0x2001, + 0x1320, 0x2004, 0x9005, 0x01e8, 0x6a78, 0x720e, 0x00d0, 0x9286, + 0x007f, 0x1130, 0x9385, 0x00ff, 0x7002, 0x7007, 0xfffd, 0x0068, + 0x68d4, 0xd0ac, 0x1110, 0xd2bc, 0x0160, 0x9286, 0x0080, 0x1128, + 0x9385, 0x00ff, 0x7002, 0x7007, 0xfffc, 0x6874, 0x700a, 0x6878, + 0x700e, 0x9485, 0x0029, 0x7012, 0x004e, 0x003e, 0x00de, 0x080c, + 0x9457, 0x721a, 0x9f95, 0x0000, 0x7222, 0x7027, 0xffff, 0x2071, + 0x024c, 0x002e, 0x0005, 0x0026, 0x080c, 0x9c7e, 0x7003, 0x02ff, + 0x7007, 0xfffc, 0x00d6, 0x2069, 0x1100, 0x6874, 0x700a, 0x6878, + 0x700e, 0x00de, 0x7013, 0x2029, 0x0c10, 0x7003, 0x0100, 0x7007, + 0x0000, 0x700b, 0xfc02, 0x700f, 0x0000, 0x0005, 0x0026, 0x00d6, + 0x0036, 0x0046, 0x2019, 0x3300, 0x2021, 0x0800, 0x0040, 0x0026, + 0x00d6, 0x0036, 0x0046, 0x2019, 0x2300, 0x2021, 0x0100, 0x080c, + 0x9c7e, 0x7810, 0x2068, 0x6810, 0x9305, 0x7002, 0x6814, 0x7006, + 0x68a0, 0x2069, 0x1100, 0x6a58, 0x720e, 0x6ad4, 0xd2ac, 0x1118, + 0x9092, 0x007e, 0x02a0, 0x7810, 0x00c6, 0x2060, 0x6010, 0x9005, + 0x1140, 0x6014, 0x9005, 0x1128, 0x700b, 0x00ff, 0x700f, 0xfffe, + 0x0020, 0x6874, 0x700a, 0x6878, 0x700e, 0x00ce, 0x0000, 0x9485, + 0x0098, 0x7012, 0x004e, 0x003e, 0x00de, 0x080c, 0x9457, 0x721a, + 0x7a08, 0x7222, 0x2f10, 0x7226, 0x2071, 0x024c, 0x002e, 0x0005, + 0x080c, 0x9457, 0x721a, 0x7a08, 0x7222, 0x7814, 0x7026, 0x2071, + 0x024c, 0x002e, 0x0005, 0x00c6, 0x00d6, 0x00e6, 0x00f6, 0x2069, + 0x0200, 0x2071, 0x0240, 0x6004, 0x908a, 0x0085, 0x0a0c, 0x0d52, + 0x908a, 0x0092, 0x1a0c, 0x0d52, 0x6110, 0x2178, 0x79a0, 0x2011, + 0x1135, 0x2214, 0xd2ac, 0x1110, 0xd1bc, 0x0150, 0x7900, 0xd1f4, + 0x0120, 0x7914, 0x918c, 0x00ff, 0x0040, 0x2009, 0x0000, 0x0028, + 0x91f8, 0x2b33, 0x2f0d, 0x918c, 0x00ff, 0x2c78, 0x2061, 0x0100, + 0x619a, 0x9082, 0x0085, 0x002b, 0x00fe, 0x00ee, 0x00de, 0x00ce, + 0x0005, 0x8ee0, 0x8ee6, 0x8ef2, 0x8ede, 0x8ede, 0x8ede, 0x8ee0, + 0x8ede, 0x8ede, 0x8ede, 0x8ede, 0x8ede, 0x8ede, 0x080c, 0x0d52, + 0x00e1, 0x60c3, 0x0000, 0x080c, 0x9468, 0x0005, 0x04a9, 0x7808, + 0x700a, 0x7814, 0x700e, 0x7017, 0xffff, 0x60c3, 0x000c, 0x080c, + 0x9468, 0x0005, 0x080c, 0x8f3c, 0x7003, 0x0003, 0x7007, 0x0300, + 0x60c3, 0x0004, 0x080c, 0x9468, 0x0005, 0x0026, 0x080c, 0x9c7e, + 0x7810, 0x2068, 0x6810, 0x9085, 0x8100, 0x7002, 0x6814, 0x7006, + 0x68a0, 0x2069, 0x1100, 0x6ad4, 0xd2ac, 0x1118, 0x9092, 0x007e, + 0x0240, 0x6874, 0x700a, 0x6878, 0x700e, 0x7013, 0x0009, 0x0804, + 0x8e1f, 0x6a58, 0x720e, 0x0cc8, 0x0026, 0x080c, 0x9c7e, 0x7810, + 0x2068, 0x6810, 0x9085, 0x8400, 0x7002, 0x6814, 0x7006, 0x68a0, + 0x2069, 0x1100, 0x6ad4, 0xd2ac, 0x1118, 0x9092, 0x007e, 0x0248, + 0x6874, 0x700a, 0x6878, 0x700e, 0x2001, 0x0099, 0x7012, 0x0804, + 0x8e90, 0x6a58, 0x720e, 0x0cc0, 0x0026, 0x080c, 0x9c7e, 0x7810, + 0x2068, 0x6810, 0x9085, 0x8500, 0x7002, 0x6814, 0x7006, 0x68a0, + 0x2069, 0x1100, 0x6ad4, 0xd2ac, 0x1118, 0x9092, 0x007e, 0x0248, + 0x6874, 0x700a, 0x6878, 0x700e, 0x2001, 0x0099, 0x7012, 0x0804, + 0x8e90, 0x6a58, 0x720e, 0x0cc0, 0x00c6, 0x00d6, 0x00e6, 0x00f6, + 0x2c78, 0x2069, 0x0200, 0x2071, 0x0240, 0x7804, 0x908a, 0x0040, + 0x0a0c, 0x0d52, 0x908a, 0x0054, 0x1a0c, 0x0d52, 0x7910, 0x2160, + 0x61a0, 0x2011, 0x1135, 0x2214, 0xd2ac, 0x1110, 0xd1bc, 0x0150, + 0x6100, 0xd1f4, 0x0120, 0x6114, 0x918c, 0x00ff, 0x0040, 0x2009, + 0x0000, 0x0028, 0x91e0, 0x2b33, 0x2c0d, 0x918c, 0x00ff, 0x2061, + 0x0100, 0x619a, 0x9082, 0x0040, 0x002b, 0x00fe, 0x00ee, 0x00de, + 0x00ce, 0x0005, 0x8fa7, 0x9065, 0x902c, 0x918e, 0x8fa5, 0x8fa5, + 0x8fa5, 0x8fa5, 0x8fa5, 0x8fa5, 0x8fa5, 0x97f5, 0x97fd, 0x9805, + 0x980d, 0x8fa5, 0x9bc5, 0x8fa5, 0x97ed, 0x080c, 0x0d52, 0x780b, + 0xffff, 0x080c, 0x8ffa, 0x7914, 0x2168, 0x6978, 0x7956, 0x7132, + 0x697c, 0x9184, 0x000f, 0x1118, 0x2001, 0x0005, 0x0040, 0xd184, + 0x0118, 0x2001, 0x0004, 0x0018, 0x9084, 0x0006, 0x8004, 0x2010, + 0x785c, 0x9084, 0x00ff, 0x8007, 0x9205, 0x7042, 0xd1ac, 0x0128, + 0x7047, 0x0002, 0x080c, 0x13ef, 0x0050, 0xd1b4, 0x0118, 0x7047, + 0x0001, 0x0028, 0x7047, 0x0000, 0x9016, 0x2230, 0x0010, 0x6ab0, + 0x6eac, 0x726a, 0x766e, 0x20a9, 0x0008, 0x20e9, 0x0000, 0x9d88, + 0x0023, 0x20e1, 0x0001, 0x2198, 0x20a1, 0x0252, 0x2069, 0x0200, + 0x6813, 0x0018, 0x4003, 0x6813, 0x0008, 0x60c3, 0x0020, 0x6017, + 0x0009, 0x2001, 0x1398, 0x2003, 0x07d0, 0x2001, 0x1397, 0x2003, + 0x0009, 0x0005, 0x00d6, 0x6813, 0x0008, 0x7a10, 0x2268, 0x6a8c, + 0x8210, 0x9294, 0x00ff, 0x6a8e, 0x8217, 0x721a, 0x6a10, 0x9295, + 0x0600, 0x7202, 0x6a14, 0x7206, 0x68a0, 0x6900, 0x2069, 0x1100, + 0x6bd4, 0xd3ac, 0x1138, 0xd0bc, 0x0188, 0xd1f4, 0x0118, 0x9294, + 0x00ff, 0x629a, 0x6a74, 0x720a, 0x6a78, 0x720e, 0x7013, 0x0829, + 0x2f10, 0x7222, 0x7027, 0xffff, 0x00de, 0x0005, 0x9294, 0x00ff, + 0x629a, 0x6a58, 0x720e, 0x0c90, 0x00d6, 0x0081, 0x7814, 0x2068, + 0x6890, 0x7002, 0x688c, 0x7006, 0x68b0, 0x700a, 0x68ac, 0x700e, + 0x60c3, 0x000c, 0x00de, 0x080c, 0x9468, 0x0005, 0x00d6, 0x6813, + 0x0008, 0x7810, 0x2068, 0x6810, 0x9085, 0x0500, 0x7002, 0x6814, + 0x7006, 0x68a0, 0x2069, 0x1100, 0x6ad4, 0xd2ac, 0x1110, 0xd0bc, + 0x0188, 0x6874, 0x700a, 0x6878, 0x700e, 0x7013, 0x0889, 0x080c, + 0x9457, 0x721a, 0x7a08, 0x7222, 0x2f10, 0x7226, 0x2071, 0x024c, + 0x00de, 0x0005, 0x6a58, 0x720e, 0x0c80, 0x00d6, 0x080c, 0x9161, + 0x7814, 0x2068, 0x9084, 0xf000, 0x1130, 0x7814, 0x9084, 0x0700, + 0x8007, 0x002b, 0x0010, 0x9006, 0x0013, 0x00de, 0x0005, 0x9081, + 0x90ee, 0x90f7, 0x911c, 0x9129, 0x913b, 0x9143, 0x907f, 0x080c, + 0x0d52, 0x0016, 0x0036, 0x697c, 0x918c, 0x0003, 0x0118, 0x9186, + 0x0003, 0x11a0, 0x6ba8, 0x7824, 0xd0cc, 0x1170, 0x7316, 0x6898, + 0x701a, 0x6894, 0x701e, 0x003e, 0x001e, 0x2001, 0x1360, 0x2004, + 0x60c2, 0x080c, 0x9468, 0x0005, 0xc3e5, 0x0c80, 0x9186, 0x0001, + 0x190c, 0x0d52, 0x6ba8, 0x7824, 0xd0cc, 0x1904, 0x90eb, 0x7316, + 0x6898, 0x701a, 0x6894, 0x701e, 0x68a4, 0x7026, 0x68ac, 0x702e, + 0x2009, 0x0018, 0x9384, 0x0300, 0x0580, 0xd3c4, 0x0110, 0x68ac, + 0x9108, 0xd3cc, 0x0110, 0x68a4, 0x9108, 0x2011, 0x0258, 0x0156, + 0x20a9, 0x0008, 0x9d80, 0x002c, 0x201c, 0x831f, 0x2312, 0x8000, + 0x8210, 0x1f04, 0x90c4, 0x0016, 0x00d6, 0x2069, 0x0200, 0x080c, + 0x9c69, 0x00de, 0x001e, 0x2011, 0x0240, 0x20a9, 0x0005, 0x201c, + 0x831f, 0x2312, 0x8000, 0x8210, 0x1f04, 0x90d7, 0x015e, 0x9184, + 0x0003, 0x0118, 0x2019, 0x0245, 0x201a, 0x61c2, 0x003e, 0x001e, + 0x080c, 0x9468, 0x0005, 0xc3e5, 0x0804, 0x90a7, 0x2011, 0x0008, + 0x7824, 0xd0cc, 0x1110, 0x7216, 0x0468, 0x0ce8, 0xc2e5, 0x2011, + 0x0302, 0x0016, 0x782c, 0x701a, 0x7930, 0x711e, 0x9105, 0x0108, + 0xc2dd, 0x001e, 0x7824, 0xd0cc, 0x0108, 0xc2e5, 0x7216, 0x7027, + 0x0012, 0x702f, 0x0008, 0x7043, 0x7000, 0x7047, 0x0500, 0x704f, + 0x000a, 0x6813, 0x0001, 0x2071, 0x0240, 0x700b, 0x2500, 0x60c3, + 0x0032, 0x080c, 0x9468, 0x0005, 0x2011, 0x0028, 0x7824, 0xd0cc, + 0x1130, 0x7216, 0x60c3, 0x0018, 0x080c, 0x9468, 0x0005, 0x0cc8, + 0xc2e5, 0x2011, 0x0100, 0x7824, 0xd0cc, 0x0108, 0xc2e5, 0x7216, + 0x702f, 0x0008, 0x7858, 0x9084, 0x00ff, 0x7036, 0x60c3, 0x0020, + 0x080c, 0x9468, 0x0005, 0x2011, 0x0008, 0x7824, 0xd0cc, 0x0108, + 0xc2e5, 0x7216, 0x08f8, 0x0036, 0x7b14, 0x9384, 0xff00, 0x7816, + 0x9384, 0x00ff, 0x8001, 0x1138, 0x7824, 0xd0cc, 0x0108, 0xc2e5, + 0x7216, 0x003e, 0x0878, 0x0046, 0x2021, 0x0800, 0x0006, 0x7824, + 0xd0cc, 0x000e, 0x0108, 0xc4e5, 0x7416, 0x004e, 0x701e, 0x003e, + 0x0808, 0x00d6, 0x6813, 0x0008, 0x7a10, 0x2268, 0x6810, 0x9085, + 0x0700, 0x7002, 0x6814, 0x7006, 0x68a0, 0x2069, 0x1100, 0x6ad4, + 0xd2ac, 0x1110, 0xd0bc, 0x01a0, 0x6874, 0x700a, 0x6878, 0x700e, + 0x7824, 0xd0cc, 0x1180, 0x7013, 0x0898, 0x080c, 0x9457, 0x721a, + 0x7a08, 0x7222, 0x2f10, 0x7226, 0x2071, 0x024c, 0x00de, 0x0005, + 0x6a58, 0x720e, 0x0c68, 0x7013, 0x0889, 0x0c78, 0x0016, 0x7814, + 0x9084, 0x0700, 0x8007, 0x0013, 0x001e, 0x0005, 0x919e, 0x919e, + 0x91a0, 0x919e, 0x919e, 0x919e, 0x91bd, 0x919e, 0x080c, 0x0d52, + 0x7914, 0x918c, 0xf8ff, 0x918d, 0x0600, 0x7916, 0x2009, 0x0003, + 0x00d1, 0x00d6, 0x2069, 0x1152, 0x6804, 0xd0bc, 0x0130, 0x682c, + 0x9084, 0x00ff, 0x8007, 0x7032, 0x0010, 0x7033, 0x3f00, 0x00de, + 0x60c3, 0x0001, 0x080c, 0x9468, 0x0005, 0x2009, 0x0003, 0x0019, + 0x7033, 0x7f00, 0x0ca8, 0x00d6, 0x0016, 0x080c, 0x9c7e, 0x001e, + 0x7810, 0x2068, 0x6810, 0x9085, 0x0100, 0x7002, 0x6814, 0x7006, + 0x68a0, 0x2069, 0x1100, 0x6ad4, 0xd2ac, 0x1110, 0xd0bc, 0x0190, + 0x6a74, 0x720a, 0x6a78, 0x720e, 0x7013, 0x0888, 0x918d, 0x0008, + 0x7116, 0x080c, 0x9457, 0x721a, 0x7a08, 0x7222, 0x2f10, 0x7226, + 0x00de, 0x0005, 0x6a58, 0x720e, 0x0c78, 0x00e6, 0x00d6, 0x00c6, + 0x0066, 0x0056, 0x0046, 0x0036, 0x2061, 0x0100, 0x2071, 0x1100, + 0x7158, 0x7810, 0x2068, 0x76d4, 0x96b4, 0x0028, 0x0110, 0x7374, + 0x7478, 0x2500, 0x76d4, 0x96b4, 0x0028, 0x0140, 0x2001, 0x04ff, + 0x6062, 0x6067, 0xffff, 0x636a, 0x646e, 0x0050, 0x2001, 0x00ff, + 0x9085, 0x0400, 0x6062, 0x6067, 0xffff, 0x606b, 0x0000, 0x616e, + 0x68b8, 0x6073, 0x0530, 0x6077, 0x0008, 0x688c, 0x8000, 0x9084, + 0x00ff, 0x688e, 0x8007, 0x9085, 0x0020, 0x607a, 0x68b4, 0x607f, + 0x0000, 0x2d00, 0x6082, 0x6087, 0xffff, 0x7814, 0x2070, 0x7038, + 0x608a, 0x7034, 0x608e, 0x7048, 0x60c6, 0x7044, 0x60ca, 0x686c, + 0x60ce, 0x60ab, 0x0036, 0x60af, 0x95d5, 0x60d7, 0x0000, 0x2001, + 0x1135, 0x2004, 0x9084, 0x0028, 0x0128, 0x609f, 0x0000, 0x2001, + 0x0092, 0x0048, 0x6028, 0xc0bd, 0x602a, 0x609f, 0x00ff, 0x6027, + 0xffff, 0x2001, 0x00b2, 0x6016, 0x2009, 0x07d0, 0x080c, 0x77b7, + 0x003e, 0x004e, 0x005e, 0x006e, 0x00ce, 0x00de, 0x00ee, 0x0005, + 0x00e6, 0x00d6, 0x00c6, 0x0066, 0x0056, 0x0046, 0x0036, 0x2061, + 0x0100, 0x2071, 0x1100, 0x7158, 0x7810, 0x2068, 0x68a0, 0x2028, + 0x76d4, 0xd6ac, 0x1160, 0x9582, 0x007e, 0x1248, 0x2500, 0xd0bc, + 0x1130, 0x9080, 0x2b33, 0x2015, 0x9294, 0x00ff, 0x0020, 0x6910, + 0x6a14, 0x7374, 0x7478, 0x70d4, 0xd0ac, 0x1128, 0x9582, 0x007e, + 0x1210, 0xd5bc, 0x0138, 0x9185, 0x0400, 0x6062, 0x6266, 0x636a, + 0x646e, 0x0030, 0x6063, 0x0400, 0x6266, 0x606b, 0x0000, 0x616e, + 0x68b8, 0x6072, 0x6077, 0x0000, 0x6864, 0xd0a4, 0x0110, 0x6077, + 0x0008, 0x688c, 0x8000, 0x9084, 0x00ff, 0x688e, 0x8007, 0x9085, + 0x0020, 0x607a, 0x68b4, 0x607f, 0x0000, 0x2d00, 0x6082, 0x6087, + 0xffff, 0x7814, 0x2070, 0x7038, 0x608a, 0x7034, 0x608e, 0x7048, + 0x60c6, 0x7044, 0x60ca, 0x686c, 0x60ce, 0x60ab, 0x0036, 0x60af, + 0x95d5, 0x60d7, 0x0000, 0x9582, 0x007e, 0x0210, 0x2011, 0x0000, + 0x629e, 0x00f6, 0x2079, 0x0140, 0x7803, 0x0000, 0x00fe, 0x2009, + 0x0092, 0x6116, 0x2009, 0x07d0, 0x080c, 0x77b7, 0x003e, 0x004e, + 0x005e, 0x006e, 0x00ce, 0x00de, 0x00ee, 0x0005, 0x00e6, 0x00d6, + 0x00c6, 0x0056, 0x0046, 0x0036, 0x2061, 0x0100, 0x2071, 0x1100, + 0x7158, 0x7810, 0x2068, 0x68a0, 0x2028, 0x6910, 0x6a14, 0x76d4, + 0xd6ac, 0x1130, 0xd0bc, 0x1120, 0x2019, 0x0000, 0x7458, 0x0010, + 0x7374, 0x7478, 0x7820, 0x90be, 0x0006, 0x0904, 0x93cd, 0x90be, + 0x000a, 0x1904, 0x9385, 0x609f, 0x0000, 0x7814, 0x2070, 0x707c, + 0xd0fc, 0x0904, 0x934c, 0x7790, 0x9784, 0xff00, 0x9105, 0x6062, + 0x873f, 0x9784, 0xff00, 0x0006, 0x7814, 0x9080, 0x001e, 0x2004, + 0x9005, 0x000e, 0x1160, 0x7794, 0x87ff, 0x0548, 0x2039, 0x0098, + 0x9705, 0x6072, 0x7808, 0x6082, 0x2f00, 0x6086, 0x0470, 0x9185, + 0x2200, 0x6062, 0x6073, 0x0129, 0x6077, 0x0000, 0x609f, 0x0000, + 0x2001, 0x1135, 0x2004, 0x9084, 0x0020, 0x11d8, 0x2001, 0x1135, + 0x2004, 0x9084, 0x0008, 0x0140, 0x7814, 0x9080, 0x001d, 0x2004, + 0x8007, 0x9082, 0x0080, 0x1268, 0x6814, 0x609e, 0x0050, 0x2039, + 0x0029, 0x9705, 0x6072, 0x0028, 0x9185, 0x0200, 0x6062, 0x6073, + 0x2029, 0x2f00, 0x6082, 0x7808, 0x6086, 0x6266, 0x636a, 0x646e, + 0x6077, 0x0000, 0x688c, 0x8000, 0x9084, 0x00ff, 0x688e, 0x8007, + 0x607a, 0x607f, 0x0000, 0x7038, 0x608a, 0x7034, 0x608e, 0x7048, + 0x60c6, 0x7044, 0x60ca, 0x686c, 0x60ce, 0x60af, 0x95d5, 0x60d7, + 0x0000, 0x080c, 0x9c63, 0x2009, 0x07d0, 0x60c4, 0x9084, 0xfff0, + 0x9005, 0x0110, 0x2009, 0x1b58, 0x080c, 0x77b7, 0x003e, 0x004e, + 0x005e, 0x00ce, 0x00de, 0x00ee, 0x0005, 0x9185, 0x0100, 0x6062, + 0x6266, 0x636a, 0x646e, 0x6073, 0x0809, 0x6077, 0x0008, 0x60af, + 0x95d5, 0x60d7, 0x0000, 0x688c, 0x8000, 0x9084, 0x00ff, 0x688e, + 0x8007, 0x607a, 0x607f, 0x0000, 0x2f00, 0x6082, 0x7808, 0x6086, + 0x7814, 0x2070, 0x7038, 0x608a, 0x7034, 0x608e, 0x7048, 0x60c6, + 0x7044, 0x60ca, 0x686c, 0x60ce, 0x9582, 0x0080, 0x0248, 0x6a00, + 0xd2f4, 0x0120, 0x6a14, 0x9294, 0x00ff, 0x0010, 0x2011, 0x0000, + 0x629e, 0x080c, 0x9c63, 0x2009, 0x07d0, 0x60c4, 0x9084, 0xfff0, + 0x9005, 0x0110, 0x2009, 0x1b58, 0x080c, 0x77b7, 0x003e, 0x004e, + 0x005e, 0x00ce, 0x00de, 0x00ee, 0x0005, 0x7814, 0x2070, 0x707c, + 0x9084, 0x0003, 0x9086, 0x0002, 0x05f0, 0x9185, 0x0100, 0x6062, + 0x6266, 0x636a, 0x646e, 0x6073, 0x0880, 0x6077, 0x0008, 0x688c, + 0x8000, 0x9084, 0x00ff, 0x688e, 0x8007, 0x607a, 0x7838, 0x607e, + 0x2f00, 0x6086, 0x7808, 0x6082, 0x7090, 0x608a, 0x708c, 0x608e, + 0x70b0, 0x60c6, 0x70ac, 0x60ca, 0x70ac, 0x7930, 0x9108, 0x7932, + 0x70b0, 0x792c, 0x9109, 0x792e, 0x686c, 0x60ce, 0x60af, 0x95d5, + 0x60d7, 0x0000, 0x9582, 0x0080, 0x0248, 0x6a00, 0xd2f4, 0x0120, + 0x6a14, 0x9294, 0x00ff, 0x0010, 0x2011, 0x0000, 0x629e, 0x080c, + 0x9c3e, 0x0804, 0x93bb, 0x9185, 0x0700, 0x6062, 0x6266, 0x636a, + 0x646e, 0x7824, 0xd0cc, 0x7826, 0x0118, 0x6073, 0x0889, 0x0010, + 0x6073, 0x0898, 0x6077, 0x0000, 0x688c, 0x8000, 0x9084, 0x00ff, + 0x688e, 0x8007, 0x607a, 0x607f, 0x0000, 0x2f00, 0x6086, 0x7808, + 0x6082, 0x7038, 0x608a, 0x7034, 0x608e, 0x7048, 0x60c6, 0x7044, + 0x60ca, 0x686c, 0x60ce, 0x60af, 0x95d5, 0x60d7, 0x0000, 0x9582, + 0x0080, 0x0248, 0x6a00, 0xd2f4, 0x0120, 0x6a14, 0x9294, 0x00ff, + 0x0010, 0x2011, 0x0000, 0x629e, 0x7824, 0xd0cc, 0x0120, 0x080c, + 0x9c63, 0x0804, 0x93bb, 0x080c, 0x9c3e, 0x0804, 0x93bb, 0x7a10, + 0x9280, 0x0023, 0x2014, 0x8210, 0x9294, 0x00ff, 0x2202, 0x8217, + 0x0005, 0x00d6, 0x2069, 0x137c, 0x6843, 0x0001, 0x00de, 0x0005, + 0x60a3, 0x0056, 0x60a7, 0x9575, 0x00f1, 0x080c, 0x77a9, 0x0005, + 0x0016, 0x2001, 0x110c, 0x200c, 0x9184, 0x0600, 0x9086, 0x0600, + 0x0128, 0x0089, 0x080c, 0x77a9, 0x001e, 0x0005, 0xc1e5, 0x2001, + 0x110c, 0x2102, 0x2001, 0x137d, 0x2003, 0x0000, 0x2001, 0x1385, + 0x2003, 0x0000, 0x0c88, 0x0006, 0x6014, 0x9084, 0x1804, 0x9085, + 0x0009, 0x6016, 0x000e, 0x0005, 0x0016, 0x00c6, 0x0006, 0x2061, + 0x0100, 0x61a4, 0x60a7, 0x95f5, 0x6014, 0x9084, 0x1804, 0x9085, + 0x0008, 0x6016, 0x000e, 0xa001, 0xa001, 0xa001, 0x61a6, 0x00ce, + 0x001e, 0x0005, 0x00c6, 0x00d6, 0x0016, 0x0026, 0x2061, 0x0100, + 0x2069, 0x0140, 0x080c, 0x672f, 0x1198, 0x2001, 0x1398, 0x2004, + 0x9005, 0x15b8, 0x0066, 0x2031, 0x0001, 0x080c, 0x67c0, 0x006e, + 0x1118, 0x080c, 0x77a9, 0x0468, 0x00c6, 0x2061, 0x137c, 0x00d8, + 0x6904, 0x9194, 0x4000, 0x0550, 0x0839, 0x6803, 0x1000, 0x6803, + 0x0000, 0x00c6, 0x2061, 0x137c, 0x6128, 0x9192, 0x00c8, 0x1258, + 0x8108, 0x612a, 0x6124, 0x00ce, 0x81ff, 0x0198, 0x080c, 0x77a9, + 0x080c, 0x948b, 0x0070, 0x6124, 0x91e5, 0x0000, 0x0140, 0x080c, + 0xd5c1, 0x080c, 0x77b2, 0x2009, 0x0014, 0x080c, 0x9f51, 0x00ce, + 0x0000, 0x002e, 0x001e, 0x00de, 0x00ce, 0x0005, 0x2001, 0x1398, + 0x2004, 0x9005, 0x1db0, 0x00c6, 0x2061, 0x137c, 0x6128, 0x9192, + 0x0003, 0x1e08, 0x8108, 0x612a, 0x00ce, 0x080c, 0x77a9, 0x080c, + 0x5295, 0x0c38, 0x00c6, 0x00d6, 0x00e6, 0x0016, 0x0026, 0x080c, + 0x77bf, 0x2071, 0x137c, 0x713c, 0x81ff, 0x0904, 0x955f, 0x2061, + 0x0100, 0x2069, 0x0140, 0x080c, 0x672f, 0x1500, 0x0036, 0x2019, + 0x0002, 0x080c, 0x9708, 0x003e, 0x713c, 0x2160, 0x080c, 0xd5c1, + 0x2009, 0x004a, 0x6220, 0x9296, 0x0009, 0x1138, 0x6114, 0x9188, + 0x001e, 0x200b, 0x0006, 0x2009, 0x004a, 0x080c, 0x9f51, 0x0066, + 0x2031, 0x0001, 0x080c, 0x67c0, 0x006e, 0x0408, 0x6904, 0x9194, + 0x4000, 0x0518, 0x6803, 0x1000, 0x6803, 0x0000, 0x0036, 0x2019, + 0x0001, 0x080c, 0x9708, 0x003e, 0x713c, 0x2160, 0x080c, 0xd5c1, + 0x2009, 0x004a, 0x6220, 0x9296, 0x0009, 0x1138, 0x6114, 0x9188, + 0x001e, 0x200b, 0x0006, 0x2009, 0x004a, 0x080c, 0x9f51, 0x002e, + 0x001e, 0x00ee, 0x00de, 0x00ce, 0x0005, 0x0c00, 0x0026, 0x00e6, + 0x2071, 0x137c, 0x7048, 0xd084, 0x01d8, 0x713c, 0x81ff, 0x01c0, + 0x2071, 0x0100, 0x9188, 0x0008, 0x2114, 0x928e, 0x0006, 0x1138, + 0x7014, 0x9084, 0x1984, 0x9085, 0x0012, 0x7016, 0x0048, 0x928e, + 0x0009, 0x0db0, 0x7014, 0x9084, 0x1984, 0x9085, 0x0016, 0x7016, + 0x00ee, 0x002e, 0x0005, 0x00e6, 0x00d6, 0x00c6, 0x0066, 0x0056, + 0x0046, 0x0006, 0x0126, 0x2091, 0x8000, 0x6010, 0x2068, 0x6ca0, + 0x2071, 0x137c, 0x7018, 0x2068, 0x8dff, 0x0188, 0x68a0, 0x9406, + 0x0118, 0x6854, 0x2068, 0x0cc0, 0x6014, 0x2060, 0x646c, 0x6570, + 0x6678, 0x2d60, 0x080c, 0x5ab0, 0x0110, 0x9085, 0x0001, 0x012e, + 0x000e, 0x004e, 0x005e, 0x006e, 0x00ce, 0x00de, 0x00ee, 0x0005, + 0x080c, 0x8dd9, 0x7003, 0x1200, 0x7820, 0x9086, 0x0004, 0x1110, + 0x6098, 0x0018, 0x2001, 0x1116, 0x2004, 0x700e, 0x7838, 0x7012, + 0x783c, 0x7016, 0x60c3, 0x002c, 0x080c, 0x9468, 0x0005, 0x080c, + 0x8dd9, 0x7003, 0x0f00, 0x7808, 0x700e, 0x60c3, 0x0008, 0x080c, + 0x9468, 0x0005, 0x0156, 0x080c, 0x8e4f, 0x7003, 0x0200, 0x2011, + 0x1148, 0x63f0, 0x2312, 0x20a9, 0x0006, 0x2011, 0x1140, 0x2019, + 0x1141, 0x9ef0, 0x0002, 0x2376, 0x8e70, 0x2276, 0x8e70, 0x9398, + 0x0002, 0x9290, 0x0002, 0x1f04, 0x95eb, 0x60c3, 0x001c, 0x080c, + 0x9468, 0x015e, 0x0005, 0x0016, 0x0026, 0x080c, 0x8e2b, 0x080c, + 0x8e3d, 0x9e80, 0x0004, 0x20e9, 0x0000, 0x20a0, 0x7814, 0x9080, + 0x0000, 0x2004, 0x9080, 0x0021, 0x20e1, 0x0001, 0x2098, 0x7808, + 0x9088, 0x0002, 0x21a8, 0x9192, 0x0010, 0x1250, 0x4003, 0x9080, + 0x0004, 0x8003, 0x60c2, 0x080c, 0x9468, 0x002e, 0x001e, 0x0005, + 0x20a9, 0x0010, 0x4003, 0x080c, 0x9c69, 0x20a1, 0x0240, 0x22a8, + 0x4003, 0x0c68, 0x080c, 0x8dd9, 0x7003, 0x6200, 0x7808, 0x700e, + 0x60c3, 0x0008, 0x080c, 0x9468, 0x0005, 0x0016, 0x0026, 0x080c, + 0x8dd9, 0x20e9, 0x0000, 0x20a1, 0x024c, 0x7814, 0x9080, 0x0000, + 0x2004, 0x9080, 0x0023, 0x20e1, 0x0001, 0x2098, 0x7808, 0x9088, + 0x0002, 0x21a8, 0x4003, 0x8003, 0x60c2, 0x080c, 0x9468, 0x002e, + 0x001e, 0x0005, 0x00e6, 0x00c6, 0x0006, 0x0126, 0x2091, 0x8000, + 0x2071, 0x137c, 0x700c, 0x2060, 0x8cff, 0x0178, 0x080c, 0xbb48, + 0x1110, 0x080c, 0xa7f8, 0x600c, 0x0006, 0x080c, 0xbd70, 0x080c, + 0x9eda, 0x080c, 0x9819, 0x00ce, 0x0c78, 0x700f, 0x0000, 0x700b, + 0x0000, 0x012e, 0x000e, 0x00ce, 0x00ee, 0x0005, 0x0126, 0x0156, + 0x00f6, 0x00e6, 0x00d6, 0x00c6, 0x0026, 0x0016, 0x0006, 0x2091, + 0x8000, 0x2069, 0x0100, 0x2079, 0x0140, 0x2071, 0x137c, 0x7024, + 0x2060, 0x8cff, 0x05d8, 0x080c, 0x9494, 0x6ac0, 0x68c3, 0x0000, + 0x080c, 0x77b2, 0x00c6, 0x2061, 0x0100, 0x080c, 0x9dd1, 0x00ce, + 0x2009, 0x0013, 0x080c, 0x9f51, 0x20a9, 0x01f4, 0x6824, 0xd094, + 0x0158, 0x6827, 0x0004, 0x7804, 0x9084, 0x4000, 0x01a0, 0x7803, + 0x1000, 0x7803, 0x0000, 0x0078, 0xd084, 0x0118, 0x6827, 0x0001, + 0x0010, 0x1f04, 0x969e, 0x7804, 0x9084, 0x1000, 0x0120, 0x7803, + 0x0100, 0x7803, 0x0000, 0x6824, 0x000e, 0x001e, 0x002e, 0x00ce, + 0x00de, 0x00ee, 0x00fe, 0x015e, 0x012e, 0x0005, 0x2001, 0x1100, + 0x2004, 0x9096, 0x0001, 0x0590, 0x9096, 0x0004, 0x0578, 0x080c, + 0x77b2, 0x6814, 0x9084, 0x0001, 0x0110, 0x68a7, 0x95f5, 0x6817, + 0x0008, 0x68c3, 0x0000, 0x2011, 0x5245, 0x080c, 0x7738, 0x20a9, + 0x01f4, 0x6824, 0xd094, 0x0158, 0x6827, 0x0004, 0x7804, 0x9084, + 0x4000, 0x01a0, 0x7803, 0x1000, 0x7803, 0x0000, 0x0078, 0xd084, + 0x0118, 0x6827, 0x0001, 0x0010, 0x1f04, 0x96e1, 0x7804, 0x9084, + 0x1000, 0x0120, 0x7803, 0x0100, 0x7803, 0x0000, 0x000e, 0x001e, + 0x002e, 0x00ce, 0x00de, 0x00ee, 0x00fe, 0x015e, 0x012e, 0x0005, + 0x0126, 0x0156, 0x00f6, 0x00e6, 0x00d6, 0x00c6, 0x0026, 0x0016, + 0x0006, 0x2091, 0x8000, 0x2069, 0x0100, 0x2079, 0x0140, 0x2071, + 0x137c, 0x703c, 0x2060, 0x8cff, 0x0904, 0x9793, 0x9386, 0x0002, + 0x1128, 0x6814, 0x9084, 0x0002, 0x0904, 0x9793, 0x68af, 0x95f5, + 0x6817, 0x0010, 0x2009, 0x00fa, 0x8109, 0x1df0, 0x68c7, 0x0000, + 0x68cb, 0x0008, 0x080c, 0x77bf, 0x080c, 0x1948, 0x0046, 0x2009, + 0x017f, 0x200b, 0x00a5, 0x2021, 0x0169, 0x2404, 0x9084, 0x000f, + 0x9086, 0x0004, 0x1500, 0x68af, 0x95f5, 0x68c7, 0x0000, 0x68cb, + 0x0008, 0x00e6, 0x00f6, 0x2079, 0x0090, 0x2071, 0x13c3, 0x6814, + 0x9084, 0x1984, 0x9085, 0x0012, 0x6816, 0x782b, 0x0008, 0x7003, + 0x0000, 0x00fe, 0x00ee, 0x9386, 0x0002, 0x1128, 0x7884, 0x9005, + 0x1110, 0x7887, 0x0001, 0x2001, 0x1334, 0x2004, 0x200a, 0x004e, + 0x939d, 0x0000, 0x1140, 0x2009, 0x0049, 0x6020, 0x9086, 0x0009, + 0x0110, 0x080c, 0x9f51, 0x20a9, 0x03e8, 0x6824, 0xd094, 0x0158, + 0x6827, 0x0004, 0x7804, 0x9084, 0x4000, 0x01a0, 0x7803, 0x1000, + 0x7803, 0x0000, 0x0078, 0xd08c, 0x0118, 0x6827, 0x0002, 0x0010, + 0x1f04, 0x9775, 0x7804, 0x9084, 0x1000, 0x0120, 0x7803, 0x0100, + 0x7803, 0x0000, 0x6824, 0x000e, 0x001e, 0x002e, 0x00ce, 0x00de, + 0x00ee, 0x00fe, 0x015e, 0x012e, 0x0005, 0x00d6, 0x0126, 0x2091, + 0x8000, 0x2069, 0x137c, 0x6a06, 0x012e, 0x00de, 0x0005, 0x00d6, + 0x0126, 0x2091, 0x8000, 0x2069, 0x137c, 0x6a32, 0x012e, 0x00de, + 0x0005, 0x00f6, 0x00e6, 0x00c6, 0x0066, 0x0006, 0x0126, 0x2071, + 0x137c, 0x7614, 0x2660, 0x2678, 0x2091, 0x8000, 0x8cff, 0x0530, + 0x6020, 0x9206, 0x11f8, 0x7014, 0x9c36, 0x1110, 0x660c, 0x7616, + 0x7010, 0x9c36, 0x1140, 0x2c00, 0x9f36, 0x0118, 0x2f00, 0x7012, + 0x0010, 0x7013, 0x0000, 0x660c, 0x0066, 0x2c00, 0x9f06, 0x0110, + 0x7e0e, 0x0008, 0x2678, 0x600f, 0x0000, 0x080c, 0x9f0b, 0x04c9, + 0x00ce, 0x08e0, 0x2c78, 0x600c, 0x2060, 0x08c0, 0x012e, 0x000e, + 0x006e, 0x00ce, 0x00ee, 0x00fe, 0x0005, 0x080c, 0x8ffa, 0x7814, + 0x7032, 0x7042, 0x7047, 0x1000, 0x00f8, 0x080c, 0x8ffa, 0x7814, + 0x7032, 0x7042, 0x7047, 0x4000, 0x00b8, 0x080c, 0x8ffa, 0x7814, + 0x7032, 0x7042, 0x7047, 0x2000, 0x0078, 0x080c, 0x8ffa, 0x7814, + 0x7032, 0x7042, 0x7047, 0x0400, 0x0038, 0x080c, 0x8ffa, 0x7814, + 0x7032, 0x7042, 0x7047, 0x0200, 0x60c3, 0x0020, 0x080c, 0x9468, + 0x0005, 0x00e6, 0x2071, 0x137c, 0x7020, 0x9005, 0x0110, 0x8001, + 0x7022, 0x00ee, 0x0005, 0x00f6, 0x00e6, 0x00d6, 0x00c6, 0x0076, + 0x0066, 0x0006, 0x0126, 0x2091, 0x8000, 0x2071, 0x137c, 0x7614, + 0x2660, 0x2678, 0x2039, 0x0001, 0x87ff, 0x0904, 0x98b2, 0x8cff, + 0x0904, 0x98b2, 0x6020, 0x9086, 0x0006, 0x1904, 0x98ad, 0x88ff, + 0x0138, 0x2800, 0x9c06, 0x1904, 0x98ad, 0x2039, 0x0000, 0x0050, + 0x6010, 0x9206, 0x1904, 0x98ad, 0x85ff, 0x0120, 0x6054, 0x9106, + 0x1904, 0x98ad, 0x7024, 0x9c06, 0x1560, 0x2069, 0x0100, 0x68c0, + 0x9005, 0x0518, 0x080c, 0x77b2, 0x6820, 0xd0b4, 0x0110, 0x68a7, + 0x95f5, 0x6817, 0x0008, 0x68c3, 0x0000, 0x080c, 0x9939, 0x7027, + 0x0000, 0x0036, 0x2069, 0x0140, 0x6b04, 0x9384, 0x1000, 0x0120, + 0x6803, 0x0100, 0x6803, 0x0000, 0x2069, 0x0100, 0x6824, 0xd084, + 0x0110, 0x6827, 0x0001, 0x003e, 0x0020, 0x6003, 0x0009, 0x630a, + 0x0460, 0x7014, 0x9c36, 0x1110, 0x660c, 0x7616, 0x7010, 0x9c36, + 0x1140, 0x2c00, 0x9f36, 0x0118, 0x2f00, 0x7012, 0x0010, 0x7013, + 0x0000, 0x660c, 0x0066, 0x2c00, 0x9f06, 0x0110, 0x7e0e, 0x0008, + 0x2678, 0x89ff, 0x1158, 0x600f, 0x0000, 0x6014, 0x2068, 0x080c, + 0xb95b, 0x0110, 0x080c, 0xd16f, 0x080c, 0x9f0b, 0x080c, 0x9819, + 0x88ff, 0x1190, 0x00ce, 0x0804, 0x9834, 0x2c78, 0x600c, 0x2060, + 0x0804, 0x9834, 0x9006, 0x012e, 0x000e, 0x006e, 0x007e, 0x00ce, + 0x00de, 0x00ee, 0x00fe, 0x0005, 0x601b, 0x0000, 0x00ce, 0x98c5, + 0x0001, 0x0c88, 0x00f6, 0x00e6, 0x00d6, 0x00c6, 0x0066, 0x0026, + 0x0006, 0x0126, 0x2091, 0x8000, 0x2071, 0x137c, 0x7638, 0x2660, + 0x2678, 0x8cff, 0x0904, 0x9929, 0x6020, 0x9086, 0x0006, 0x1904, + 0x9924, 0x87ff, 0x0128, 0x2700, 0x9c06, 0x1904, 0x9924, 0x0048, + 0x6010, 0x9206, 0x1904, 0x9924, 0x85ff, 0x0118, 0x6054, 0x9106, + 0x15d8, 0x703c, 0x9c06, 0x1180, 0x0036, 0x2019, 0x0001, 0x080c, + 0x9708, 0x7033, 0x0000, 0x703f, 0x0000, 0x7043, 0x0000, 0x7047, + 0x0000, 0x704b, 0x0000, 0x003e, 0x7038, 0x9c36, 0x1110, 0x660c, + 0x763a, 0x7034, 0x9c36, 0x1140, 0x2c00, 0x9f36, 0x0118, 0x2f00, + 0x7036, 0x0010, 0x7037, 0x0000, 0x660c, 0x0066, 0x2c00, 0x9f06, + 0x0110, 0x7e0e, 0x0008, 0x2678, 0x600f, 0x0000, 0x6014, 0x2068, + 0x080c, 0xb95b, 0x0110, 0x080c, 0xd16f, 0x080c, 0x9f0b, 0x87ff, + 0x1190, 0x00ce, 0x0804, 0x98d1, 0x2c78, 0x600c, 0x2060, 0x0804, + 0x98d1, 0x9006, 0x012e, 0x000e, 0x002e, 0x006e, 0x00ce, 0x00de, + 0x00ee, 0x00fe, 0x0005, 0x601b, 0x0000, 0x00ce, 0x97bd, 0x0001, + 0x0c88, 0x00e6, 0x2071, 0x137c, 0x2001, 0x1100, 0x2004, 0x9086, + 0x0002, 0x1118, 0x7007, 0x0005, 0x0010, 0x7007, 0x0000, 0x00ee, + 0x0005, 0x00f6, 0x00e6, 0x00c6, 0x0066, 0x0026, 0x0006, 0x0126, + 0x2091, 0x8000, 0x2071, 0x137c, 0x2c10, 0x7638, 0x2660, 0x2678, + 0x8cff, 0x0518, 0x2200, 0x9c06, 0x11e0, 0x7038, 0x9c36, 0x1110, + 0x660c, 0x763a, 0x7034, 0x9c36, 0x1140, 0x2c00, 0x9f36, 0x0118, + 0x2f00, 0x7036, 0x0010, 0x7037, 0x0000, 0x660c, 0x2c00, 0x9f06, + 0x0110, 0x7e0e, 0x0008, 0x2678, 0x600f, 0x0000, 0x9085, 0x0001, + 0x0020, 0x2c78, 0x600c, 0x2060, 0x08d8, 0x012e, 0x000e, 0x002e, + 0x006e, 0x00ce, 0x00ee, 0x00fe, 0x0005, 0x00f6, 0x00e6, 0x00d6, + 0x00c6, 0x0066, 0x0006, 0x0126, 0x2091, 0x8000, 0x2071, 0x137c, + 0x760c, 0x2660, 0x2678, 0x8cff, 0x0904, 0x9a0f, 0x6010, 0x9080, + 0x0028, 0x2004, 0x9206, 0x1904, 0x9a0a, 0x7024, 0x9c06, 0x1508, + 0x2069, 0x0100, 0x68c0, 0x9005, 0x0904, 0x99e6, 0x080c, 0x9494, + 0x68c3, 0x0000, 0x080c, 0x9939, 0x7027, 0x0000, 0x0036, 0x2069, + 0x0140, 0x6b04, 0x9384, 0x1000, 0x0120, 0x6803, 0x0100, 0x6803, + 0x0000, 0x2069, 0x0100, 0x6824, 0xd084, 0x0110, 0x6827, 0x0001, + 0x003e, 0x700c, 0x9c36, 0x1110, 0x660c, 0x760e, 0x7008, 0x9c36, + 0x1140, 0x2c00, 0x9f36, 0x0118, 0x2f00, 0x700a, 0x0010, 0x700b, + 0x0000, 0x660c, 0x0066, 0x2c00, 0x9f06, 0x0110, 0x7e0e, 0x0008, + 0x2678, 0x600f, 0x0000, 0x080c, 0xbb37, 0x1158, 0x080c, 0x2a34, + 0x080c, 0xbb48, 0x11f0, 0x080c, 0xa7f8, 0x00d8, 0x080c, 0x9939, + 0x08c0, 0x080c, 0xbb48, 0x1118, 0x080c, 0xa7f8, 0x0090, 0x6014, + 0x2068, 0x080c, 0xb95b, 0x0168, 0x6020, 0x9086, 0x0003, 0x11f8, + 0x6867, 0x0103, 0x6b7a, 0x6877, 0x0000, 0x080c, 0x5fa7, 0x080c, + 0xbb2b, 0x080c, 0xbd70, 0x080c, 0x9f0b, 0x080c, 0x9819, 0x00ce, + 0x0804, 0x9993, 0x2c78, 0x600c, 0x2060, 0x0804, 0x9993, 0x012e, + 0x000e, 0x006e, 0x00ce, 0x00de, 0x00ee, 0x00fe, 0x0005, 0x6020, + 0x9086, 0x0006, 0x1d30, 0x080c, 0xd16f, 0x0c18, 0x00d6, 0x080c, + 0x8e4f, 0x7003, 0x0200, 0x7007, 0x0014, 0x60c3, 0x0014, 0x20e1, + 0x0001, 0x2099, 0x133c, 0x20e9, 0x0000, 0x20a1, 0x0250, 0x20a9, + 0x0004, 0x4003, 0x7023, 0x0004, 0x7027, 0x7878, 0x080c, 0x9468, + 0x00de, 0x0005, 0x080c, 0x8e4f, 0x7003, 0x0214, 0x7007, 0x0018, + 0x700b, 0x0800, 0x7814, 0x9084, 0xff00, 0x700e, 0x7814, 0x9084, + 0x00ff, 0x7022, 0x782c, 0x7026, 0x60c3, 0x0018, 0x080c, 0x9468, + 0x0005, 0x00d6, 0x0016, 0x00d6, 0x2f68, 0x2009, 0x0035, 0x080c, + 0xbf59, 0x00de, 0x1904, 0x9ab7, 0x080c, 0x8dd9, 0x7003, 0x1300, + 0x782c, 0x2068, 0x6820, 0x9086, 0x0003, 0x0570, 0x7810, 0x9080, + 0x0028, 0x2014, 0x2001, 0x1135, 0x2004, 0xd0ac, 0x11d0, 0x9286, + 0x007e, 0x1128, 0x700b, 0x00ff, 0x700f, 0xfffe, 0x04a8, 0x9286, + 0x007f, 0x1128, 0x700b, 0x00ff, 0x700f, 0xfffd, 0x0468, 0xd2bc, + 0x0180, 0x9286, 0x0080, 0x1128, 0x700b, 0x00ff, 0x700f, 0xfffc, + 0x0418, 0x92e8, 0x1000, 0x2d6c, 0x6810, 0x700a, 0x6814, 0x700e, + 0x00d8, 0x6098, 0x700e, 0x00c0, 0x2001, 0x1135, 0x2004, 0xd0ac, + 0x1138, 0x7810, 0x9080, 0x0028, 0x2004, 0x9082, 0x007e, 0x0250, + 0x00d6, 0x2069, 0x111d, 0x2d04, 0x700a, 0x8d68, 0x2d04, 0x700e, + 0x00de, 0x0010, 0x6034, 0x700e, 0x7838, 0x7012, 0x783c, 0x7016, + 0x60c3, 0x000c, 0x001e, 0x00de, 0x080c, 0x9468, 0x0005, 0x781b, + 0x0001, 0x7803, 0x0006, 0x001e, 0x00de, 0x0005, 0x792c, 0x9180, + 0x0008, 0x200c, 0x9186, 0x0006, 0x01b0, 0x9186, 0x0003, 0x0904, + 0x9b2e, 0x9186, 0x0005, 0x0904, 0x9b17, 0x9186, 0x0004, 0x05c8, + 0x9186, 0x0008, 0x0904, 0x9b1f, 0x7807, 0x0037, 0x7817, 0x1700, + 0x080c, 0x9b95, 0x0005, 0x080c, 0x9b54, 0x00d6, 0x0026, 0x792c, + 0x2168, 0x2009, 0x4000, 0x6800, 0x0002, 0x9af8, 0x9b03, 0x9afa, + 0x9b03, 0x9aff, 0x9af8, 0x9af8, 0x9b03, 0x9b03, 0x9b03, 0x9b03, + 0x9af8, 0x9af8, 0x9af8, 0x9af8, 0x9af8, 0x9b03, 0x9af8, 0x9b03, + 0x080c, 0x0d52, 0x6824, 0xd0e4, 0x0110, 0xd0cc, 0x0110, 0x900e, + 0x0010, 0x2009, 0x2000, 0x682c, 0x7022, 0x6830, 0x7026, 0x0804, + 0x9b4c, 0x080c, 0x9b54, 0x00d6, 0x0026, 0x792c, 0x2168, 0x2009, + 0x4000, 0x6a00, 0x9286, 0x0002, 0x1108, 0x900e, 0x04a8, 0x04e1, + 0x00d6, 0x0026, 0x792c, 0x2168, 0x2009, 0x4000, 0x0468, 0x04a1, + 0x00d6, 0x0026, 0x792c, 0x2168, 0x2009, 0x4000, 0x9286, 0x0005, + 0x0118, 0x9286, 0x0002, 0x1108, 0x900e, 0x00f0, 0x0429, 0x00d6, + 0x0026, 0x792c, 0x2168, 0x6814, 0x2068, 0x69ac, 0x6834, 0x9112, + 0x69b0, 0x6838, 0x9103, 0x7022, 0x7226, 0x792c, 0x9180, 0x0000, + 0x2004, 0x908e, 0x0002, 0x0130, 0x908e, 0x0004, 0x0118, 0x2009, + 0x4000, 0x0010, 0x2009, 0x0000, 0x712a, 0x60c3, 0x0018, 0x002e, + 0x00de, 0x080c, 0x9468, 0x0005, 0x0036, 0x0046, 0x0056, 0x0066, + 0x080c, 0x8e4f, 0x9006, 0x7003, 0x0200, 0x7938, 0x710a, 0x793c, + 0x710e, 0x7810, 0x9080, 0x0028, 0x2004, 0x2011, 0x1135, 0x2214, + 0xd2ac, 0x1118, 0x9092, 0x007e, 0x0268, 0x00d6, 0x2069, 0x111d, + 0x2d2c, 0x8d68, 0x2d34, 0x90e8, 0x1000, 0x2d6c, 0x6b10, 0x6c14, + 0x00de, 0x0030, 0x2019, 0x0000, 0x6498, 0x2029, 0x0000, 0x6634, + 0x782c, 0x9080, 0x0008, 0x2004, 0x9086, 0x0003, 0x1128, 0x7512, + 0x7616, 0x731a, 0x741e, 0x0020, 0x7312, 0x7416, 0x751a, 0x761e, + 0x006e, 0x005e, 0x004e, 0x003e, 0x0005, 0x080c, 0x8e4f, 0x7003, + 0x0100, 0x700b, 0x0009, 0x7814, 0x700e, 0x60c3, 0x0008, 0x080c, + 0x9468, 0x0005, 0x080c, 0x8dd0, 0x7003, 0x1400, 0x7838, 0x700a, + 0x783c, 0x700e, 0x782c, 0x7012, 0x7830, 0x7016, 0x7834, 0x9084, + 0x00ff, 0x8007, 0x701a, 0x60c3, 0x0010, 0x080c, 0x9468, 0x0005, + 0x080c, 0x8e46, 0x7003, 0x0100, 0x782c, 0x700a, 0x7814, 0x700e, + 0x60c3, 0x0008, 0x080c, 0x9468, 0x0005, 0x0029, 0x60c3, 0x0000, + 0x080c, 0x9468, 0x0005, 0x00d6, 0x080c, 0x9c7e, 0x7810, 0x2068, + 0x6810, 0x9085, 0x0300, 0x7002, 0x6814, 0x7006, 0x68a0, 0x2069, + 0x1100, 0x6ad4, 0xd2ac, 0x1110, 0xd0bc, 0x0188, 0x6874, 0x700a, + 0x6878, 0x700e, 0x7013, 0x0819, 0x080c, 0x9457, 0x721a, 0x2f10, + 0x7222, 0x7a08, 0x7226, 0x2071, 0x024c, 0x00de, 0x0005, 0x6234, + 0x720e, 0x0c80, 0x0059, 0x7914, 0x712a, 0x60c3, 0x0000, 0x60a7, + 0x9575, 0x080c, 0x948b, 0x080c, 0x77a9, 0x0005, 0x0036, 0x00d6, + 0x00e6, 0x7858, 0x2068, 0x9df0, 0x001b, 0x7210, 0x9296, 0x00c0, + 0x9294, 0xfffd, 0x7212, 0x7214, 0x9294, 0x0300, 0x7216, 0x7100, + 0x9194, 0x00ff, 0x7308, 0x9384, 0x00ff, 0x908d, 0xc200, 0x7102, + 0x9384, 0xff00, 0x9215, 0x720a, 0x7004, 0x720c, 0x700e, 0x7206, + 0x00d6, 0x2069, 0x0200, 0x080c, 0x9c7e, 0x00de, 0x20e9, 0x0000, + 0x20a1, 0x0240, 0x20a9, 0x000a, 0x20e1, 0x0001, 0x2e98, 0x4003, + 0x60a3, 0x0035, 0x6a68, 0x9294, 0x7000, 0x9286, 0x3000, 0x0110, + 0x60a3, 0x0037, 0x00ee, 0x00de, 0x003e, 0x0005, 0x900e, 0x7814, + 0x9080, 0x001f, 0x2004, 0xd0fc, 0x01d8, 0x9084, 0x0003, 0x11c0, + 0x2001, 0x110c, 0x2004, 0xd0bc, 0x0198, 0x7824, 0xd0cc, 0x1180, + 0xd0c4, 0x1170, 0x7814, 0x9080, 0x002a, 0x2004, 0x9005, 0x1140, + 0x2001, 0x110c, 0x200c, 0xc1d5, 0x2102, 0x2009, 0x1361, 0x210c, + 0x918d, 0x0092, 0x0010, 0x2009, 0x0096, 0x60ab, 0x0036, 0x6116, + 0x0005, 0x2009, 0x0009, 0x00a0, 0x2009, 0x000a, 0x0088, 0x2009, + 0x000b, 0x0070, 0x2009, 0x000c, 0x0058, 0x2009, 0x000d, 0x0040, + 0x2009, 0x000e, 0x0028, 0x2009, 0x000f, 0x0010, 0x2009, 0x0008, + 0x6912, 0x0005, 0x080c, 0x8dd9, 0x0016, 0x0026, 0x00d6, 0x7814, + 0x2068, 0x7013, 0x0138, 0x2001, 0x1135, 0x2004, 0x9084, 0x0028, + 0x1138, 0x2001, 0x1320, 0x2004, 0x9086, 0xaaaa, 0x1904, 0x9d30, + 0x7003, 0x5400, 0x00c6, 0x2061, 0x1100, 0x6074, 0x9084, 0x00ff, + 0x6998, 0x810f, 0x918c, 0xff00, 0x9105, 0x700a, 0x6078, 0x700e, + 0x6998, 0x918c, 0xff00, 0x7112, 0x20a9, 0x0004, 0x2009, 0x1105, + 0x2e10, 0x9290, 0x0006, 0x2104, 0x2012, 0x8108, 0x8210, 0x1f04, + 0x9cb3, 0x20a9, 0x0004, 0x2009, 0x1101, 0x2104, 0x2012, 0x8108, + 0x8210, 0x1f04, 0x9cbd, 0x20a9, 0x0004, 0x2d08, 0x9188, 0x0029, + 0x2104, 0x8007, 0x2012, 0x8108, 0x8210, 0x1f04, 0x9cc8, 0x20a9, + 0x0002, 0x2d08, 0x9188, 0x002d, 0x2104, 0x8007, 0x2012, 0x8108, + 0x8210, 0x1f04, 0x9cd4, 0x00d6, 0x0016, 0x2069, 0x0200, 0x080c, + 0x9c69, 0x001e, 0x00de, 0x2071, 0x0240, 0x20a9, 0x0002, 0x2d08, + 0x9188, 0x002f, 0x2011, 0x0240, 0x2104, 0x8007, 0x2012, 0x8108, + 0x8210, 0x1f04, 0x9cec, 0x20a9, 0x0008, 0x2d08, 0x9188, 0x0031, + 0x2104, 0x8007, 0x2012, 0x8108, 0x8210, 0x1f04, 0x9cf8, 0x20a9, + 0x0008, 0x2d08, 0x9188, 0x0031, 0x2104, 0x8007, 0x2012, 0x8108, + 0x8210, 0x1f04, 0x9d04, 0x00ce, 0x60c3, 0x004c, 0x60a3, 0x0056, + 0x60a7, 0x9575, 0x2001, 0x1135, 0x2004, 0x9084, 0x0028, 0x1180, + 0x2001, 0x1320, 0x2004, 0x9086, 0xaaaa, 0x0150, 0x6028, 0xc0bd, + 0x602a, 0x6014, 0x9084, 0x1804, 0x9085, 0x0029, 0x6016, 0x0010, + 0x080c, 0x9468, 0x080c, 0x77a9, 0x00de, 0x002e, 0x001e, 0x0005, + 0x00e6, 0x2071, 0x0240, 0x2001, 0x2200, 0x9085, 0x00ff, 0x7002, + 0x7007, 0xffff, 0x2071, 0x0100, 0x709b, 0x00ff, 0x00ee, 0x0804, + 0x9c98, 0x080c, 0x8dd9, 0x0016, 0x0026, 0x00d6, 0x7814, 0x2068, + 0x7013, 0x0138, 0x7003, 0x5500, 0x00c6, 0x689c, 0x9084, 0x00ff, + 0x6998, 0x810f, 0x918c, 0xff00, 0x9105, 0x700a, 0x699c, 0x918c, + 0xff00, 0x68a0, 0x9084, 0x00ff, 0x9105, 0x700e, 0x6998, 0x918c, + 0xff00, 0x2061, 0x1100, 0x6074, 0x9084, 0x00ff, 0x910d, 0x7112, + 0x6178, 0x7116, 0x20a9, 0x0004, 0x2d08, 0x9188, 0x0029, 0x2e10, + 0x9290, 0x0006, 0x2104, 0x8007, 0x2012, 0x8108, 0x8210, 0x1f04, + 0x9d72, 0x20a9, 0x0004, 0x2d08, 0x9188, 0x002d, 0x2104, 0x8007, + 0x2012, 0x8108, 0x8210, 0x1f04, 0x9d7e, 0x20a9, 0x0004, 0x2009, + 0x1105, 0x2104, 0x2012, 0x8108, 0x8210, 0x1f04, 0x9d89, 0x20a9, + 0x0002, 0x2009, 0x1101, 0x2104, 0x2012, 0x8108, 0x8210, 0x1f04, + 0x9d93, 0x00d6, 0x0016, 0x2069, 0x0200, 0x080c, 0x9c69, 0x001e, + 0x00de, 0x2071, 0x0240, 0x20a9, 0x0002, 0x2009, 0x1103, 0x2011, + 0x0240, 0x2104, 0x2012, 0x8108, 0x8210, 0x1f04, 0x9da9, 0x20a9, + 0x0008, 0x2d08, 0x9188, 0x0031, 0x2104, 0x8007, 0x2012, 0x8108, + 0x8210, 0x1f04, 0x9db4, 0x9006, 0x20a9, 0x0008, 0x2012, 0x8210, + 0x1f04, 0x9dbe, 0x00ce, 0x60c3, 0x004c, 0x60a3, 0x0056, 0x60a7, + 0x9575, 0x080c, 0x9468, 0x080c, 0x77a9, 0x00de, 0x002e, 0x001e, + 0x0005, 0x00d6, 0x9290, 0x0018, 0x8214, 0x20e9, 0x0000, 0x2069, + 0x0200, 0x6813, 0x0000, 0x22a8, 0x9284, 0x00e0, 0x0128, 0x20a9, + 0x0020, 0x9292, 0x0020, 0x0008, 0x9016, 0x20a1, 0x0240, 0x9006, + 0x4004, 0x82ff, 0x0120, 0x6810, 0x8000, 0x6812, 0x0c60, 0x00de, + 0x0005, 0x00d6, 0x0156, 0x080c, 0x8e4f, 0x7a14, 0x82ff, 0x0138, + 0x7003, 0x0100, 0x700b, 0x0003, 0x60c3, 0x0008, 0x0490, 0x7003, + 0x0200, 0x7007, 0x0000, 0x2069, 0x1100, 0x901e, 0x6800, 0x9086, + 0x0004, 0x1110, 0xc38d, 0x0060, 0x080c, 0x672f, 0x1110, 0xc3ad, + 0x0008, 0xc3a5, 0x6ad4, 0xd29c, 0x1110, 0xd2ac, 0x0108, 0xc39d, + 0x730e, 0x2011, 0x1148, 0x63f0, 0x2312, 0x20a9, 0x0006, 0x2011, + 0x1140, 0x2019, 0x1141, 0x2071, 0x0250, 0x2376, 0x8e70, 0x2276, + 0x8e70, 0x9398, 0x0002, 0x9290, 0x0002, 0x1f04, 0x9e25, 0x60c3, + 0x0040, 0x080c, 0x9468, 0x015e, 0x00de, 0x0005, 0x0156, 0x080c, + 0x8e4f, 0x7a14, 0x82ff, 0x0168, 0x9286, 0xffff, 0x0118, 0x9282, + 0x000e, 0x1238, 0x7003, 0x0100, 0x700b, 0x0003, 0x60c3, 0x0008, + 0x0470, 0x7003, 0x0200, 0x7007, 0x001c, 0x700f, 0x0001, 0x2001, + 0x1135, 0x2004, 0xd0ac, 0x1138, 0x7810, 0x9080, 0x0028, 0x2004, + 0x9082, 0x007f, 0x0248, 0x2001, 0x111d, 0x2004, 0x7022, 0x2001, + 0x111e, 0x2004, 0x7026, 0x0030, 0x2001, 0x1116, 0x2004, 0x9084, + 0x00ff, 0x7026, 0x20a9, 0x0004, 0x20e1, 0x0001, 0x2099, 0x1105, + 0x20e9, 0x0000, 0x20a1, 0x0256, 0x4003, 0x60c3, 0x001c, 0x080c, + 0x9468, 0x015e, 0x0005, 0x2061, 0x16c0, 0x2071, 0x1100, 0x706c, + 0x704e, 0x7053, 0x16c0, 0x0005, 0x00e6, 0x0126, 0x2071, 0x1100, + 0x2091, 0x8000, 0x754c, 0x9582, 0x0010, 0x0608, 0x7050, 0x2060, + 0x6000, 0x9086, 0x0000, 0x0148, 0x9ce0, 0x0018, 0x7060, 0x9c02, + 0x1208, 0x0cb0, 0x2061, 0x16c0, 0x0c98, 0x6003, 0x0008, 0x8529, + 0x754e, 0x9ca8, 0x0018, 0x7060, 0x9502, 0x1230, 0x7552, 0x9085, + 0x0001, 0x012e, 0x00ee, 0x0005, 0x7053, 0x16c0, 0x0cc0, 0x9006, + 0x0cc0, 0x00e6, 0x2071, 0x1100, 0x754c, 0x9582, 0x0010, 0x0600, + 0x7050, 0x2060, 0x6000, 0x9086, 0x0000, 0x0148, 0x9ce0, 0x0018, + 0x7060, 0x9c02, 0x1208, 0x0cb0, 0x2061, 0x16c0, 0x0c98, 0x6003, + 0x0008, 0x8529, 0x754e, 0x9ca8, 0x0018, 0x7060, 0x9502, 0x1228, + 0x7552, 0x9085, 0x0001, 0x00ee, 0x0005, 0x7053, 0x16c0, 0x0cc8, + 0x9006, 0x0cc8, 0x9c82, 0x16c0, 0x0a0c, 0x0d52, 0x2001, 0x1118, + 0x2004, 0x9c02, 0x1a0c, 0x0d52, 0x9006, 0x6006, 0x600a, 0x600e, + 0x6016, 0x601a, 0x6012, 0x6023, 0x0000, 0x6003, 0x0000, 0x601e, + 0x6056, 0x605a, 0x6026, 0x602a, 0x602e, 0x6032, 0x6036, 0x603a, + 0x603e, 0x6042, 0x602a, 0x2061, 0x1100, 0x604c, 0x8000, 0x604e, + 0x9086, 0x0001, 0x0108, 0x0005, 0x0126, 0x2091, 0x8000, 0x080c, + 0x87fb, 0x012e, 0x0cc0, 0x0006, 0x6000, 0x9086, 0x0000, 0x0190, + 0x6017, 0x0000, 0x6023, 0x0007, 0x2001, 0x1339, 0x2004, 0x0006, + 0x9082, 0x0051, 0x000e, 0x0208, 0x8004, 0x601a, 0x080c, 0xd410, + 0x6043, 0x0000, 0x000e, 0x0005, 0x00e6, 0x0126, 0x2071, 0x1100, + 0x2091, 0x8000, 0x754c, 0x9582, 0x0001, 0x0608, 0x7050, 0x2060, + 0x6000, 0x9086, 0x0000, 0x0148, 0x9ce0, 0x0018, 0x7060, 0x9c02, + 0x1208, 0x0cb0, 0x2061, 0x16c0, 0x0c98, 0x6003, 0x0008, 0x8529, + 0x754e, 0x9ca8, 0x0018, 0x7060, 0x9502, 0x1230, 0x7552, 0x9085, + 0x0001, 0x012e, 0x00ee, 0x0005, 0x7053, 0x16c0, 0x0cc0, 0x9006, + 0x0cc0, 0x6020, 0x9084, 0x000f, 0x0002, 0x9f64, 0x9f73, 0x9f8e, + 0x9fa9, 0xbf9b, 0xbfb6, 0xbfd1, 0x9f64, 0x9f73, 0x7f3f, 0x9fc5, + 0x9f64, 0x9f64, 0x9f64, 0x9f64, 0x9186, 0x0013, 0x1128, 0x080c, + 0x86ff, 0x080c, 0x87fb, 0x0005, 0x9186, 0x0047, 0x1118, 0x9016, + 0x080c, 0x13ec, 0x0005, 0x0066, 0x6000, 0x90b2, 0x0016, 0x1a0c, + 0x0d52, 0x0013, 0x006e, 0x0005, 0x9f8c, 0xa664, 0xa832, 0x9f8c, + 0xa8c7, 0xa24f, 0x9f8c, 0x9f8c, 0xa5eb, 0xadcd, 0x9f8c, 0x9f8c, + 0x9f8c, 0x9f8c, 0x9f8c, 0x9f8c, 0x080c, 0x0d52, 0x0066, 0x6000, + 0x90b2, 0x0016, 0x1a0c, 0x0d52, 0x0013, 0x006e, 0x0005, 0x9fa7, + 0xb3e8, 0x9fa7, 0x9fa7, 0x9fa7, 0x9fa7, 0x9fa7, 0x9fa7, 0xb38e, + 0xb564, 0x9fa7, 0xb41b, 0xb498, 0xb41b, 0xb498, 0x9fa7, 0x080c, + 0x0d52, 0x6000, 0x9082, 0x0016, 0x1a0c, 0x0d52, 0x6000, 0x0002, + 0x9fc3, 0xae0e, 0xaedb, 0xafff, 0xb160, 0x9fc3, 0x9fc3, 0x9fc3, + 0xade8, 0xb33e, 0xb341, 0x9fc3, 0x9fc3, 0x9fc3, 0x9fc3, 0xb36b, + 0x9fc3, 0x9fc3, 0x9fc3, 0x080c, 0x0d52, 0x0066, 0x6000, 0x90b2, + 0x0016, 0x1a0c, 0x0d52, 0x0013, 0x006e, 0x0005, 0x9fde, 0x9fde, + 0xa01e, 0xa0ad, 0xa10f, 0x9fde, 0x9fde, 0x9fde, 0x9fe0, 0x9fde, + 0x9fde, 0x9fde, 0x9fde, 0x9fde, 0x9fde, 0x9fde, 0x080c, 0x0d52, + 0x9186, 0x004c, 0x0590, 0x9186, 0x0003, 0x190c, 0x0d52, 0x00d6, + 0x601c, 0xc0ed, 0x601e, 0x6003, 0x0003, 0x6106, 0x6014, 0x2068, + 0x687c, 0x9084, 0x8000, 0xc0b5, 0x687e, 0x68ac, 0x6846, 0x68b0, + 0x684a, 0x6837, 0x0000, 0x683b, 0x0000, 0x6884, 0x9092, 0x199a, + 0x0210, 0x2001, 0x1999, 0x8003, 0x8013, 0x8213, 0x9210, 0x621a, + 0x00de, 0x2c10, 0x080c, 0x16c2, 0x080c, 0x8343, 0x0126, 0x2091, + 0x8000, 0x080c, 0x891e, 0x012e, 0x0005, 0x6010, 0x9080, 0x0028, + 0x2024, 0x8427, 0x2c00, 0x080c, 0xa130, 0x0005, 0x00d6, 0x00f6, + 0x2079, 0x1100, 0x7a88, 0x9290, 0x0018, 0x6014, 0x2068, 0x6c78, + 0x0046, 0x68e0, 0x9005, 0x1140, 0x68dc, 0x921a, 0x0140, 0x0220, + 0x687b, 0x0007, 0x2010, 0x0028, 0x687b, 0x0015, 0x0010, 0x687b, + 0x0000, 0x8214, 0x6883, 0x0000, 0x6a02, 0x0006, 0x0016, 0x0026, + 0x00c6, 0x00d6, 0x00e6, 0x00f6, 0x2400, 0x9005, 0x1108, 0x009a, + 0x2100, 0x9086, 0x0015, 0x1118, 0x2001, 0x0001, 0x0038, 0x2100, + 0x9086, 0x0016, 0x0118, 0x2001, 0x0001, 0x002a, 0x94a4, 0x0007, + 0x8423, 0x9405, 0x0002, 0xa07d, 0xa07d, 0xa078, 0xa07b, 0xa07d, + 0xa075, 0xa06b, 0xa06b, 0xa06b, 0xa06b, 0xa06b, 0xa06b, 0xa06b, + 0xa06b, 0xa06b, 0xa06b, 0x00fe, 0x00ee, 0x00de, 0x00ce, 0x002e, + 0x001e, 0x000e, 0x000e, 0x080c, 0x0d52, 0x080c, 0xaa38, 0x0028, + 0x080c, 0xab19, 0x0010, 0x080c, 0xac16, 0x00fe, 0x00ee, 0x00de, + 0x00ce, 0x002e, 0x001e, 0x2c00, 0x6896, 0x000e, 0x080c, 0xa1e3, + 0x01e8, 0x6804, 0x680e, 0x200c, 0x9080, 0x0002, 0x6acc, 0x6bd0, + 0x6cd4, 0x6dd8, 0x2039, 0x0001, 0x2031, 0x0000, 0x2041, 0x1041, + 0x080c, 0xa371, 0x0158, 0x000e, 0x9005, 0x0118, 0x00fe, 0x00de, + 0x0005, 0x00fe, 0x00de, 0x080c, 0x9eda, 0x0005, 0x2001, 0x002c, + 0x2009, 0x0000, 0x080c, 0xa244, 0x0c70, 0x9182, 0x0047, 0x0002, + 0xa0b9, 0xa0b9, 0xa0bb, 0xa0e9, 0xa0b9, 0xa0b9, 0xa0b9, 0xa0b9, + 0xa0fb, 0x080c, 0x0d52, 0x00d6, 0x0016, 0x080c, 0x87a9, 0x080c, + 0x891e, 0x6003, 0x0004, 0x6114, 0x2168, 0x687c, 0xd0fc, 0x0190, + 0x6878, 0x9005, 0x1160, 0x6894, 0x9005, 0x0148, 0x2001, 0x0000, + 0x2009, 0x0000, 0x080c, 0xa244, 0x080c, 0x9eda, 0x0078, 0x6003, + 0x0002, 0x0060, 0x687f, 0x0020, 0x688c, 0x688a, 0x68a4, 0x68ae, + 0x68a8, 0x68b2, 0x68c7, 0x0000, 0x68cb, 0x0000, 0x001e, 0x00de, + 0x0005, 0x080c, 0x87a9, 0x00d6, 0x6114, 0x2168, 0x080c, 0xb95b, + 0x0120, 0x687b, 0x0006, 0x080c, 0x5fa7, 0x00de, 0x080c, 0x9eda, + 0x080c, 0x891e, 0x0005, 0x080c, 0x87a9, 0x080c, 0x2a10, 0x00d6, + 0x6114, 0x2168, 0x080c, 0xb95b, 0x0120, 0x687b, 0x0029, 0x080c, + 0x5fa7, 0x00de, 0x080c, 0x9eda, 0x080c, 0x891e, 0x0005, 0x9182, + 0x0047, 0x0002, 0xa11f, 0xa121, 0xa11f, 0xa11f, 0xa11f, 0xa11f, + 0xa11f, 0xa11f, 0xa11f, 0xa11f, 0xa11f, 0xa11f, 0xa121, 0x080c, + 0x0d52, 0x00d6, 0x080c, 0x1376, 0x6114, 0x2168, 0x687b, 0x0000, + 0x6883, 0x0000, 0x080c, 0x5fa7, 0x00de, 0x080c, 0x9eda, 0x0005, + 0x0026, 0x0036, 0x0056, 0x0066, 0x00d6, 0x00f6, 0x0006, 0x080c, + 0x0e6d, 0x000e, 0x090c, 0x0d52, 0x20e9, 0x0001, 0x9d88, 0x0019, + 0x21a0, 0x2009, 0x0000, 0x20a9, 0x0020, 0x4104, 0x687a, 0x2079, + 0x1100, 0x7988, 0x9188, 0x0018, 0x918c, 0x0fff, 0x6972, 0x6c76, + 0x2d78, 0x00f6, 0x2001, 0x0205, 0x2003, 0x0000, 0x2019, 0x0000, + 0x2029, 0x0001, 0x9182, 0x0034, 0x1228, 0x9f90, 0x001f, 0x080c, + 0xb5e9, 0x04c0, 0x2130, 0x2009, 0x0034, 0x9f90, 0x001f, 0x080c, + 0xb5e9, 0x96b2, 0x0034, 0x7804, 0x906d, 0x0110, 0x080c, 0x0e96, + 0x080c, 0x0e6d, 0x01d0, 0x8528, 0x6867, 0x0110, 0x686b, 0x0000, + 0x2d20, 0x7c06, 0x968a, 0x003d, 0x1230, 0x2608, 0x9d90, 0x001b, + 0x080c, 0xb5e9, 0x00b8, 0x96b2, 0x003c, 0x2009, 0x003c, 0x2d78, + 0x9d90, 0x001b, 0x080c, 0xb5e9, 0x0c18, 0x2079, 0x0200, 0x7817, + 0x0000, 0x00fe, 0x852f, 0x95ad, 0x0050, 0x7d66, 0x7870, 0xc0fd, + 0x7872, 0x0048, 0x2079, 0x0200, 0x7817, 0x0000, 0x00fe, 0x852f, + 0x95ad, 0x0050, 0x7d66, 0x2f68, 0x6804, 0x6807, 0x0000, 0x0006, + 0x080c, 0x5fa7, 0x000e, 0x2068, 0x9005, 0x1db0, 0x00fe, 0x00de, + 0x006e, 0x005e, 0x003e, 0x002e, 0x0005, 0x00d6, 0x00f6, 0x0006, + 0x080c, 0x0e6d, 0x000e, 0x090c, 0x0d52, 0x20e9, 0x0001, 0x9d88, + 0x0019, 0x21a0, 0x2009, 0x0000, 0x20a9, 0x0020, 0x4104, 0x6a66, + 0x687a, 0x2079, 0x1100, 0x7988, 0x810c, 0x9188, 0x000c, 0x9182, + 0x001a, 0x0210, 0x2009, 0x001a, 0x21a8, 0x810b, 0x6972, 0x6c76, + 0x2e98, 0x9d80, 0x001f, 0x20a0, 0x080c, 0x5335, 0x080c, 0x5fa7, + 0x00fe, 0x00de, 0x0005, 0x0016, 0x00d6, 0x00f6, 0x2079, 0x0200, + 0x2e98, 0x2021, 0x003e, 0x2019, 0x0000, 0x9282, 0x0020, 0x0218, + 0x2011, 0x0020, 0x2018, 0x9486, 0x003e, 0x1170, 0x00d6, 0x080c, + 0x0e54, 0x2d00, 0x00de, 0x0904, 0xa23c, 0x6806, 0x2068, 0x20e9, + 0x0001, 0x9080, 0x0002, 0x20a0, 0x3300, 0x908e, 0x0260, 0x0140, + 0x2009, 0x0280, 0x9102, 0x920a, 0x0218, 0x2010, 0x2100, 0x9318, + 0x2200, 0x9402, 0x1228, 0x2410, 0x2001, 0x0000, 0x9398, 0x0002, + 0x2020, 0x22a8, 0x6800, 0x9200, 0x6802, 0x0016, 0x0026, 0x3410, + 0x3308, 0x2104, 0x8007, 0x2012, 0x8108, 0x8210, 0x1f04, 0xa221, + 0x22a0, 0x2198, 0x002e, 0x001e, 0x83ff, 0x0170, 0x3300, 0x9086, + 0x0280, 0x1120, 0x7814, 0x8000, 0x7816, 0x2e98, 0x2310, 0x84ff, + 0x0904, 0xa1e9, 0x0804, 0xa1eb, 0x9085, 0x0001, 0x7817, 0x0000, + 0x00fe, 0x00de, 0x001e, 0x0005, 0x00d6, 0x0036, 0x6314, 0x2368, + 0x687a, 0x6982, 0x080c, 0x5fa7, 0x003e, 0x00de, 0x0005, 0x91b6, + 0x0015, 0x1118, 0x080c, 0x9eda, 0x0030, 0x91b6, 0x0016, 0x190c, + 0x0d52, 0x080c, 0x9eda, 0x0005, 0x20a9, 0x000e, 0x20e1, 0x0000, + 0x2e98, 0x6014, 0x20e9, 0x0001, 0x20a0, 0x4003, 0x9080, 0x001b, + 0x2020, 0x20a9, 0x0006, 0x3310, 0x9298, 0x0001, 0x94a8, 0x0001, + 0x222e, 0x2326, 0x9290, 0x0002, 0x95a8, 0x0002, 0x9398, 0x0002, + 0x94a0, 0x0002, 0x1f04, 0xa270, 0x00e6, 0x080c, 0xb95b, 0x0130, + 0x6014, 0x2070, 0x7007, 0x0000, 0x7067, 0x0103, 0x00ee, 0x080c, + 0x9eda, 0x0005, 0x00d6, 0x0036, 0x7330, 0x9386, 0x0200, 0x1130, + 0x6010, 0x2068, 0x6813, 0x00ff, 0x6817, 0xfffd, 0x6014, 0x9005, + 0x0130, 0x2068, 0x6807, 0x0000, 0x6867, 0x0103, 0x6b32, 0x080c, + 0x9eda, 0x003e, 0x00de, 0x0005, 0x0016, 0x20a9, 0x002a, 0x9e80, + 0x000c, 0x20e1, 0x0000, 0x2098, 0x6014, 0x9080, 0x0002, 0x20e9, + 0x0001, 0x20a0, 0x4003, 0x20a9, 0x002a, 0x6014, 0x9080, 0x0001, + 0x2004, 0x9080, 0x0002, 0x20a0, 0x4003, 0x00e6, 0x6014, 0x2004, + 0x2070, 0x7067, 0x0103, 0x00ee, 0x080c, 0x9eda, 0x001e, 0x0005, + 0x0016, 0x2009, 0x0000, 0x7030, 0x9086, 0x0100, 0x0140, 0x7038, + 0x9084, 0x00ff, 0x800c, 0x703c, 0x9084, 0x00ff, 0x8004, 0x9080, + 0x0004, 0x9108, 0x9192, 0x0014, 0x1218, 0x2011, 0x0000, 0x0010, + 0x2009, 0x0014, 0x21a8, 0x9e80, 0x000c, 0x2098, 0x6014, 0x9080, + 0x0002, 0x20a0, 0x080c, 0x5335, 0x82ff, 0x0170, 0x2009, 0x0205, + 0x2104, 0x8000, 0x200a, 0x2e00, 0x2098, 0x3400, 0x9080, 0x0014, + 0x20a0, 0x22a8, 0x080c, 0x5335, 0x00e6, 0x080c, 0xb95b, 0x0140, + 0x6014, 0x2070, 0x7007, 0x0000, 0x7064, 0x70e2, 0x7067, 0x0103, + 0x00ee, 0x080c, 0x9eda, 0x001e, 0x0005, 0x0016, 0x2009, 0x0000, + 0x7030, 0x9086, 0x0200, 0x0110, 0x2009, 0x0001, 0x00d6, 0x6014, + 0x906d, 0x090c, 0x0d52, 0x697a, 0x080c, 0x5fa7, 0x00de, 0x080c, + 0x9eda, 0x001e, 0x0005, 0x0016, 0x00d6, 0x7030, 0x9086, 0x0100, + 0x1118, 0x2009, 0x0004, 0x0010, 0x7034, 0x800c, 0x21a8, 0x9e80, + 0x000c, 0x2098, 0x6014, 0x2068, 0x6804, 0x9005, 0x1108, 0x2d00, + 0x9080, 0x000c, 0x20a0, 0x080c, 0x5335, 0x080c, 0xb95b, 0x0148, + 0x6804, 0x9005, 0x1158, 0x6807, 0x0000, 0x6864, 0x68e2, 0x6867, + 0x0103, 0x080c, 0x9eda, 0x00de, 0x001e, 0x0005, 0x00e6, 0x2070, + 0x7030, 0x8007, 0x9086, 0x0100, 0x1118, 0x080c, 0xa7f8, 0x00b8, + 0x7034, 0x8007, 0x800c, 0x9e80, 0x000c, 0x687b, 0x0000, 0x6883, + 0x0000, 0x6897, 0x4000, 0x6aa0, 0x6b9c, 0x6ca8, 0x6da4, 0x2031, + 0x0000, 0x2039, 0x0001, 0x2041, 0x1028, 0x0019, 0x0d30, 0x00ee, + 0x08c0, 0x00d6, 0x0006, 0x080c, 0x0e54, 0x000e, 0x0190, 0x6812, + 0x000e, 0x683e, 0x0006, 0x6e06, 0x2800, 0x683a, 0x6916, 0x6f0e, + 0x6a2a, 0x6b2e, 0x6c32, 0x6d36, 0x2d10, 0x080c, 0x0ee5, 0x9085, + 0x0001, 0x00de, 0x0005, 0x00e6, 0x00d6, 0x7008, 0x9084, 0x00ff, + 0x6110, 0x9188, 0x0004, 0x210c, 0x9106, 0x1528, 0x700c, 0x6110, + 0x9188, 0x0005, 0x210c, 0x9106, 0x11f0, 0x6043, 0x0000, 0x2c68, + 0x0016, 0x2009, 0x0035, 0x080c, 0xbf59, 0x001e, 0x1168, 0x0026, + 0x622c, 0x2268, 0x002e, 0x2071, 0x026c, 0x6b20, 0x9386, 0x0003, + 0x0130, 0x9386, 0x0006, 0x0128, 0x080c, 0x9eda, 0x0020, 0x0031, + 0x0010, 0x080c, 0xa477, 0x00de, 0x00ee, 0x0005, 0x00f6, 0x6814, + 0x2078, 0x9186, 0x0015, 0x0904, 0xa45e, 0x918e, 0x0016, 0x1904, + 0xa475, 0x700c, 0x908c, 0xff00, 0x9186, 0x1700, 0x0120, 0x9186, + 0x0300, 0x1904, 0xa43d, 0x8fff, 0x1138, 0x6800, 0x9086, 0x000f, + 0x0904, 0xa421, 0x0804, 0xa473, 0x6808, 0x9086, 0xffff, 0x1904, + 0xa460, 0x787c, 0x9084, 0x0060, 0x9086, 0x0020, 0x1128, 0x783c, + 0x7940, 0x9105, 0x1904, 0xa460, 0x080c, 0xbb2b, 0x685c, 0x7882, + 0x787c, 0xc0dc, 0xc0f4, 0xc0d4, 0x787e, 0x0026, 0x900e, 0x6a18, + 0x2001, 0x000a, 0x080c, 0x8130, 0x7884, 0x920a, 0x0208, 0x8011, + 0x7a86, 0x82ff, 0x002e, 0x1138, 0x00c6, 0x2d60, 0x080c, 0xb6fa, + 0x00ce, 0x0804, 0xa473, 0x00c6, 0x00d6, 0x2f68, 0x6868, 0xd0fc, + 0x1118, 0x080c, 0x5456, 0x0010, 0x080c, 0x584d, 0x00de, 0x00ce, + 0x1904, 0xa460, 0x00c6, 0x2d60, 0x080c, 0x9eda, 0x00ce, 0x0804, + 0xa473, 0x00c6, 0x080c, 0x9f24, 0x0190, 0x6017, 0x0000, 0x6810, + 0x6012, 0x080c, 0xbd78, 0x6023, 0x0003, 0x6904, 0x00c6, 0x2d60, + 0x080c, 0x9eda, 0x00ce, 0x080c, 0x9f51, 0x00ce, 0x04e0, 0x2001, + 0x133b, 0x2004, 0x6842, 0x00ce, 0x04b0, 0x7008, 0x9086, 0x000b, + 0x11a0, 0x6010, 0x200c, 0xc1bc, 0x2102, 0x00c6, 0x2d60, 0x7883, + 0x0003, 0x6007, 0x0085, 0x6003, 0x000b, 0x6023, 0x0002, 0x080c, + 0x82d6, 0x080c, 0x87fb, 0x00ce, 0x00f0, 0x700c, 0x9086, 0x2a00, + 0x1138, 0x2001, 0x133b, 0x2004, 0x6842, 0x00a8, 0x0481, 0x00a8, + 0x8fff, 0x090c, 0x0d52, 0x00c6, 0x00d6, 0x2d60, 0x2f68, 0x6867, + 0x0103, 0x687b, 0x0003, 0x080c, 0xb5d9, 0x080c, 0xbb2b, 0x080c, + 0x9f0b, 0x00de, 0x00ce, 0x080c, 0x9eda, 0x00fe, 0x0005, 0x9186, + 0x0015, 0x1128, 0x2001, 0x133b, 0x2004, 0x6842, 0x0068, 0x918e, + 0x0016, 0x1160, 0x00c6, 0x2d00, 0x2060, 0x080c, 0xd410, 0x080c, + 0x78c2, 0x080c, 0x9eda, 0x00ce, 0x080c, 0x9eda, 0x0005, 0x0026, + 0x0036, 0x0046, 0x7228, 0x7cb0, 0x7bac, 0xd2f4, 0x0130, 0x2001, + 0x133b, 0x2004, 0x6842, 0x0804, 0xa4f3, 0x00c6, 0x2d60, 0x080c, + 0xb606, 0x00ce, 0x6804, 0x9086, 0x0050, 0x1170, 0x00c6, 0x2d00, + 0x2060, 0x6003, 0x0001, 0x6007, 0x0050, 0x080c, 0x82d6, 0x080c, + 0x87fb, 0x00ce, 0x0804, 0xa4f3, 0x6800, 0x9086, 0x000f, 0x01c8, + 0x8fff, 0x090c, 0x0d52, 0x6824, 0xd0dc, 0x1198, 0x6800, 0x9086, + 0x0004, 0x1198, 0x787c, 0xd0ac, 0x0180, 0x7843, 0x0fff, 0x783f, + 0x0fff, 0x7880, 0xc0f4, 0xc0fc, 0x7882, 0x2001, 0x0001, 0x6832, + 0x00e8, 0x2001, 0x0007, 0x6832, 0x00c8, 0x787c, 0xd0b4, 0x1138, + 0xd0ac, 0x0db8, 0x7838, 0x7934, 0x9105, 0x0d98, 0x0c30, 0xd2ec, + 0x1d80, 0x7024, 0x9306, 0x1118, 0x7020, 0x9406, 0x0d50, 0x7020, + 0x683e, 0x7024, 0x683a, 0x2001, 0x0005, 0x6832, 0x080c, 0xbc85, + 0x080c, 0x87fb, 0x0010, 0x080c, 0x9eda, 0x004e, 0x003e, 0x002e, + 0x0005, 0x00e6, 0x00d6, 0x0026, 0x7008, 0x9084, 0x00ff, 0x6110, + 0x9188, 0x0004, 0x210c, 0x9106, 0x1904, 0xa56b, 0x700c, 0x6110, + 0x9188, 0x0005, 0x210c, 0x9106, 0x1904, 0xa56b, 0x6038, 0x2068, + 0x6a20, 0x9286, 0x0007, 0x0904, 0xa569, 0x9286, 0x0002, 0x0904, + 0xa569, 0x9286, 0x0000, 0x0904, 0xa569, 0x6808, 0x633c, 0x9306, + 0x1904, 0xa569, 0x2071, 0x026c, 0x9186, 0x0015, 0x05e0, 0x918e, + 0x0016, 0x1190, 0x6034, 0x9084, 0x00ff, 0x9086, 0x0001, 0x1160, + 0x700c, 0x9086, 0x2a00, 0x1140, 0x6038, 0x9080, 0x0009, 0x200c, + 0xc1dd, 0xc1f5, 0x2102, 0x0438, 0x00c6, 0x6038, 0x2060, 0x6104, + 0x9186, 0x004b, 0x01a0, 0x9186, 0x004c, 0x0188, 0x9186, 0x004d, + 0x0170, 0x9186, 0x004e, 0x0158, 0x9186, 0x0052, 0x0140, 0x6014, + 0x2068, 0x080c, 0xb95b, 0x090c, 0x0d52, 0x6883, 0x0003, 0x6007, + 0x0085, 0x6003, 0x000b, 0x6023, 0x0002, 0x080c, 0x82d6, 0x080c, + 0x87fb, 0x00ce, 0x0030, 0x6038, 0x2070, 0x2001, 0x133b, 0x2004, + 0x7042, 0x080c, 0x9eda, 0x002e, 0x00de, 0x00ee, 0x0005, 0x00d6, + 0x00f6, 0x6014, 0x2068, 0x6010, 0x2078, 0x91b6, 0x0015, 0x0130, + 0x7a08, 0x7b0c, 0x7c00, 0xc48c, 0x7c02, 0x0448, 0x0156, 0x0036, + 0x0026, 0x9e90, 0x000c, 0x9290, 0x0004, 0x20a9, 0x0004, 0x9f98, + 0x000a, 0x080c, 0xad80, 0x002e, 0x003e, 0x015e, 0x15f0, 0x0156, + 0x0036, 0x0026, 0x9e90, 0x000c, 0x9290, 0x0008, 0x20a9, 0x0004, + 0x9f98, 0x0006, 0x080c, 0xad80, 0x002e, 0x003e, 0x015e, 0x1568, + 0x7238, 0x7a0a, 0x733c, 0x7b0e, 0x7c00, 0xc48d, 0x7c02, 0x6804, + 0x9005, 0x1120, 0x00fe, 0x00de, 0x0804, 0xa27c, 0x9080, 0x0002, + 0x00d6, 0x2068, 0x6a0a, 0x6b0e, 0x6c02, 0x00de, 0x2009, 0x002b, + 0x6aa0, 0x6b9c, 0x6ca8, 0x6da4, 0x2031, 0x0000, 0x2039, 0x0001, + 0x2041, 0x1028, 0x080c, 0xa371, 0x0128, 0x00fe, 0x00de, 0x080c, + 0x9eda, 0x0005, 0x080c, 0xa7f8, 0x0cc0, 0x00f6, 0x080c, 0x2a10, + 0x00fe, 0x00c6, 0x080c, 0x9e84, 0x2f00, 0x6012, 0x6017, 0x0000, + 0x6023, 0x0001, 0x6007, 0x0001, 0x6003, 0x0001, 0x2001, 0x0007, + 0x080c, 0x58e8, 0x080c, 0x5915, 0x080c, 0x8326, 0x080c, 0x87fb, + 0x00ce, 0x0804, 0xa5a7, 0x2100, 0x91b2, 0x0051, 0x1a0c, 0x0d52, + 0x91b2, 0x0040, 0x1a04, 0xa64f, 0x0002, 0xa643, 0xa637, 0xa643, + 0xa643, 0xa643, 0xa643, 0xa635, 0xa635, 0xa635, 0xa635, 0xa635, + 0xa635, 0xa635, 0xa635, 0xa635, 0xa635, 0xa635, 0xa635, 0xa635, + 0xa635, 0xa635, 0xa635, 0xa635, 0xa635, 0xa635, 0xa635, 0xa635, + 0xa635, 0xa635, 0xa635, 0xa635, 0xa643, 0xa635, 0xa643, 0xa643, + 0xa635, 0xa635, 0xa635, 0xa635, 0xa635, 0xa643, 0xa635, 0xa635, + 0xa635, 0xa635, 0xa635, 0xa635, 0xa635, 0xa635, 0xa635, 0xa643, + 0xa643, 0xa635, 0xa635, 0xa635, 0xa635, 0xa635, 0xa635, 0xa635, + 0xa635, 0xa635, 0xa643, 0xa635, 0xa635, 0x080c, 0x0d52, 0x6003, + 0x0001, 0x6106, 0x080c, 0x8326, 0x0126, 0x2091, 0x8000, 0x080c, + 0x87fb, 0x012e, 0x0005, 0x6003, 0x0001, 0x6106, 0x080c, 0x8326, + 0x0126, 0x2091, 0x8000, 0x080c, 0x87fb, 0x012e, 0x0005, 0x2600, + 0x0002, 0xa643, 0xa643, 0xa662, 0xa643, 0xa643, 0xa662, 0xa662, + 0xa662, 0xa662, 0xa643, 0xa662, 0xa643, 0xa662, 0xa643, 0xa662, + 0xa662, 0xa662, 0x080c, 0x0d52, 0x6004, 0x90b2, 0x0051, 0x1a0c, + 0x0d52, 0x91b6, 0x0013, 0x0904, 0xa712, 0x91b6, 0x0027, 0x1904, + 0xa6d8, 0x080c, 0x86ff, 0x6004, 0x080c, 0xbb37, 0x0190, 0x080c, + 0xbb48, 0x0904, 0xa6d2, 0x908e, 0x0021, 0x0904, 0xa6d5, 0x908e, + 0x0022, 0x0904, 0xa6d2, 0x908e, 0x003d, 0x0904, 0xa6d5, 0x0804, + 0xa6cb, 0x080c, 0x2a34, 0x2001, 0x0007, 0x080c, 0x58e8, 0x6010, + 0x9080, 0x0028, 0x200c, 0x080c, 0xa7f8, 0x9186, 0x007e, 0x1148, + 0x2001, 0x1135, 0x2014, 0xc285, 0x080c, 0x672f, 0x1108, 0xc2ad, + 0x2202, 0x0016, 0x0026, 0x0036, 0x2110, 0x0026, 0x2019, 0x0028, + 0x080c, 0x9985, 0x002e, 0x080c, 0xd50a, 0x003e, 0x002e, 0x001e, + 0x0016, 0x0026, 0x0036, 0x2110, 0x2019, 0x0028, 0x080c, 0x8464, + 0x0076, 0x2039, 0x0000, 0x080c, 0x8356, 0x6010, 0x00c6, 0x9065, + 0x0100, 0x00ce, 0x2c08, 0x080c, 0xcf02, 0x007e, 0x003e, 0x002e, + 0x001e, 0x080c, 0x5957, 0x080c, 0xbd70, 0x080c, 0x9eda, 0x080c, + 0x87fb, 0x0005, 0x080c, 0xa7f8, 0x0cb0, 0x080c, 0xa826, 0x0c98, + 0x9186, 0x0014, 0x1db0, 0x080c, 0x86ff, 0x080c, 0x2a10, 0x080c, + 0xbb37, 0x1188, 0x080c, 0x2a34, 0x6010, 0x9080, 0x0028, 0x200c, + 0x080c, 0xa7f8, 0x9186, 0x007e, 0x1128, 0x2001, 0x1135, 0x200c, + 0xc185, 0x2102, 0x08c0, 0x080c, 0xbb48, 0x1118, 0x080c, 0xa7f8, + 0x0890, 0x6004, 0x908e, 0x0032, 0x1158, 0x00e6, 0x00f6, 0x2071, + 0x11a9, 0x2079, 0x0000, 0x080c, 0x2d46, 0x00fe, 0x00ee, 0x0818, + 0x6004, 0x908e, 0x0021, 0x0d50, 0x908e, 0x0022, 0x090c, 0xa7f8, + 0x0804, 0xa6cb, 0x90b2, 0x0040, 0x1a04, 0xa7d5, 0x2008, 0x0002, + 0xa75a, 0xa75b, 0xa75e, 0xa761, 0xa764, 0xa767, 0xa758, 0xa758, + 0xa758, 0xa758, 0xa758, 0xa758, 0xa758, 0xa758, 0xa758, 0xa758, + 0xa758, 0xa758, 0xa758, 0xa758, 0xa758, 0xa758, 0xa758, 0xa758, + 0xa758, 0xa758, 0xa758, 0xa758, 0xa758, 0xa758, 0xa76a, 0xa779, + 0xa758, 0xa77b, 0xa779, 0xa758, 0xa758, 0xa758, 0xa758, 0xa758, + 0xa779, 0xa779, 0xa758, 0xa758, 0xa758, 0xa758, 0xa758, 0xa758, + 0xa758, 0xa758, 0xa7b5, 0xa779, 0xa758, 0xa775, 0xa758, 0xa758, + 0xa758, 0xa776, 0xa758, 0xa758, 0xa758, 0xa779, 0xa7ac, 0xa758, + 0x080c, 0x0d52, 0x00f0, 0x2001, 0x000b, 0x0460, 0x2001, 0x0003, + 0x0448, 0x2001, 0x0005, 0x0430, 0x2001, 0x0001, 0x0418, 0x2001, + 0x0009, 0x0400, 0x080c, 0x86ff, 0x6003, 0x0005, 0x2001, 0x133b, + 0x2004, 0x6042, 0x080c, 0x87fb, 0x00a0, 0x0018, 0x0010, 0x080c, + 0x58e8, 0x0804, 0xa7c6, 0x080c, 0x86ff, 0x2001, 0x1339, 0x2004, + 0x601a, 0x2001, 0x133b, 0x2004, 0x6042, 0x6003, 0x0004, 0x080c, + 0x87fb, 0x0005, 0x080c, 0x58e8, 0x080c, 0x86ff, 0x6003, 0x0002, + 0x2001, 0x133b, 0x2004, 0x6042, 0x0036, 0x2019, 0x115d, 0x2304, + 0x9084, 0xff00, 0x1120, 0x2001, 0x1339, 0x201c, 0x0040, 0x8007, + 0x909a, 0x0004, 0x0ec0, 0x8003, 0x801b, 0x831b, 0x9318, 0x631a, + 0x003e, 0x080c, 0x87fb, 0x08e8, 0x080c, 0x86ff, 0x080c, 0xbd70, + 0x080c, 0x9eda, 0x080c, 0x87fb, 0x08a0, 0x00e6, 0x00f6, 0x2071, + 0x11a9, 0x2079, 0x0000, 0x080c, 0x2d46, 0x00fe, 0x00ee, 0x080c, + 0x86ff, 0x080c, 0x9eda, 0x080c, 0x87fb, 0x0818, 0x080c, 0x86ff, + 0x2001, 0x133b, 0x2004, 0x6042, 0x6003, 0x0002, 0x2001, 0x1339, + 0x2004, 0x601a, 0x080c, 0x87fb, 0x0005, 0x2600, 0x2008, 0x0002, + 0xa7eb, 0xa7c6, 0xa7e9, 0xa7c6, 0xa7c6, 0xa7e9, 0xa7e9, 0xa7e9, + 0xa7e9, 0xa7c6, 0xa7e9, 0xa7c6, 0xa7e9, 0xa7c6, 0xa7e9, 0xa7e9, + 0xa7e9, 0x080c, 0x0d52, 0x080c, 0x86ff, 0x00d6, 0x6014, 0x2068, + 0x080c, 0x5fa7, 0x00de, 0x080c, 0x9eda, 0x080c, 0x87fb, 0x0005, + 0x00e6, 0x0026, 0x0016, 0x080c, 0xb95b, 0x0508, 0x6014, 0x2070, + 0x7064, 0x9086, 0x0139, 0x1148, 0x2001, 0x0030, 0x2009, 0x0000, + 0x2011, 0x4005, 0x080c, 0xbec9, 0x0090, 0x7068, 0xd0fc, 0x0178, + 0x7007, 0x0000, 0x0016, 0x6004, 0x908e, 0x0021, 0x0160, 0x908e, + 0x003d, 0x0148, 0x001e, 0x7067, 0x0103, 0x7033, 0x0100, 0x001e, + 0x002e, 0x00ee, 0x0005, 0x001e, 0x0009, 0x0cc8, 0x00e6, 0x9cf0, + 0x0005, 0x2e74, 0x7000, 0x2070, 0x7067, 0x0103, 0x7023, 0x8001, + 0x00ee, 0x0005, 0x00d6, 0x6610, 0x2668, 0x6804, 0x9084, 0x00ff, + 0x00de, 0x90b2, 0x000c, 0x1a0c, 0x0d52, 0x6604, 0x96b6, 0x004d, + 0x1120, 0x080c, 0xbdff, 0x0804, 0xa8b7, 0x6604, 0x96b6, 0x0043, + 0x1120, 0x080c, 0xbe42, 0x0804, 0xa8b7, 0x6604, 0x96b6, 0x004b, + 0x1120, 0x080c, 0xbe6f, 0x0804, 0xa8b7, 0x6604, 0x96b6, 0x0033, + 0x1120, 0x080c, 0xbd93, 0x0804, 0xa8b7, 0x6604, 0x96b6, 0x0028, + 0x1120, 0x080c, 0xbb78, 0x0804, 0xa8b7, 0x6604, 0x96b6, 0x0029, + 0x1120, 0x080c, 0xbbb4, 0x0804, 0xa8b7, 0x6604, 0x96b6, 0x001f, + 0x1120, 0x080c, 0xa25c, 0x0804, 0xa8b7, 0x6604, 0x96b6, 0x0000, + 0x1118, 0x080c, 0xa56f, 0x04d8, 0x6604, 0x96b6, 0x0022, 0x1118, + 0x080c, 0xa28a, 0x04a0, 0x6604, 0x96b6, 0x0035, 0x1118, 0x080c, + 0xa38b, 0x0468, 0x6604, 0x96b6, 0x0039, 0x1118, 0x080c, 0xa4f9, + 0x0430, 0x6604, 0x96b6, 0x003d, 0x1118, 0x080c, 0xa2a4, 0x00f8, + 0x6604, 0x96b6, 0x0044, 0x1118, 0x080c, 0xa2c8, 0x00c0, 0x6604, + 0x96b6, 0x0049, 0x1118, 0x080c, 0xa323, 0x0088, 0x6604, 0x96b6, + 0x0041, 0x1118, 0x080c, 0xa30d, 0x0050, 0x91b6, 0x0015, 0x1110, + 0x0053, 0x0028, 0x91b6, 0x0016, 0x1118, 0x0804, 0xaac8, 0x0005, + 0x080c, 0x9f6c, 0x0ce0, 0xa8d5, 0xa8d8, 0xa8d5, 0xa91e, 0xa8d5, + 0xaa38, 0xaad6, 0xa8d5, 0xa8d5, 0xaa9e, 0xa8d5, 0xaab6, 0x00e6, + 0x080c, 0x1376, 0x9cf0, 0x0005, 0x2e74, 0x7000, 0x2070, 0x7067, + 0x0103, 0x00ee, 0x080c, 0x9eda, 0x0005, 0xa001, 0xa001, 0x0005, + 0x00e6, 0x2071, 0x1100, 0x7088, 0x9086, 0x0074, 0x1540, 0x080c, + 0xced9, 0x11b0, 0x6010, 0x00d6, 0x2068, 0x7030, 0xd08c, 0x0128, + 0x6800, 0xd0bc, 0x0110, 0xc0c5, 0x6802, 0x00f9, 0x00de, 0x2001, + 0x0006, 0x080c, 0x58e8, 0x080c, 0x2a34, 0x080c, 0x9eda, 0x0098, + 0x2001, 0x000a, 0x080c, 0x58e8, 0x080c, 0x2a34, 0x6003, 0x0001, + 0x6007, 0x0001, 0x080c, 0x8326, 0x080c, 0x87fb, 0x0020, 0x2001, + 0x0001, 0x080c, 0xaa06, 0x00ee, 0x0005, 0x6800, 0xd084, 0x0168, + 0x2001, 0x0000, 0x080c, 0x58d6, 0x2069, 0x1152, 0x6804, 0xd0a4, + 0x0120, 0x2001, 0x0006, 0x080c, 0x5915, 0x0005, 0x00d6, 0x2011, + 0x1122, 0x2204, 0x9086, 0x0074, 0x1904, 0xaa01, 0x6010, 0x2068, + 0x6aa0, 0x9286, 0x007e, 0x1120, 0x080c, 0xac20, 0x0804, 0xa99b, + 0x080c, 0xac16, 0x6010, 0x2068, 0x6aa0, 0x9286, 0x0080, 0x1538, + 0x6813, 0x00ff, 0x6817, 0xfffc, 0x6014, 0x9005, 0x01b0, 0x2068, + 0x6864, 0x9084, 0x00ff, 0x9086, 0x0039, 0x1148, 0x2001, 0x0000, + 0x2009, 0x0000, 0x2011, 0x4000, 0x080c, 0xbec9, 0x0030, 0x6807, + 0x0000, 0x6867, 0x0103, 0x6833, 0x0200, 0x2001, 0x0006, 0x080c, + 0x58e8, 0x080c, 0x2a34, 0x080c, 0x9eda, 0x0804, 0xaa04, 0x00e6, + 0x2071, 0x1135, 0x2e04, 0xd09c, 0x0188, 0x2071, 0x0260, 0x7108, + 0x720c, 0x918c, 0x00ff, 0x1118, 0x9284, 0xff00, 0x0138, 0x6010, + 0x2070, 0x70a0, 0xd0bc, 0x1110, 0x7112, 0x7216, 0x00ee, 0x6014, + 0x9005, 0x0198, 0x2068, 0x6868, 0xd0f4, 0x0178, 0x6864, 0x9084, + 0x00ff, 0x9086, 0x0039, 0x1958, 0x2001, 0x0000, 0x2009, 0x0000, + 0x2011, 0x4000, 0x080c, 0xbec9, 0x0840, 0x2001, 0x0004, 0x080c, + 0x58e8, 0x6003, 0x0001, 0x6007, 0x0003, 0x080c, 0x8326, 0x080c, + 0x87fb, 0x0804, 0xaa04, 0x685c, 0xd0e4, 0x01d8, 0x080c, 0xbd12, + 0x080c, 0x672f, 0x0118, 0xd0dc, 0x1904, 0xa955, 0x2011, 0x1135, + 0x2204, 0xc0ad, 0x2012, 0x2001, 0x1311, 0x2004, 0x00f6, 0x2079, + 0x0100, 0x78e3, 0x0000, 0x080c, 0x20ed, 0x78e2, 0x00fe, 0x0804, + 0xa955, 0x080c, 0xbd4f, 0x2011, 0x1135, 0x2204, 0xc0a5, 0x2012, + 0x0006, 0x080c, 0xd051, 0x000e, 0x1904, 0xa955, 0xc0b5, 0x2012, + 0x2001, 0x0006, 0x080c, 0x58e8, 0x2001, 0x0000, 0x080c, 0x58d6, + 0x00c6, 0x2009, 0x00ef, 0x00f6, 0x2079, 0x0100, 0x79ea, 0x7932, + 0x7936, 0x780c, 0xc0b5, 0x780e, 0x00fe, 0x080c, 0x20c2, 0x00f6, + 0x2079, 0x1100, 0x797a, 0x2100, 0x2009, 0x0000, 0x080c, 0x2098, + 0x7956, 0x00fe, 0x8108, 0x080c, 0x5938, 0x2c00, 0x00ce, 0x1904, + 0xa955, 0x6012, 0x2001, 0x0002, 0x080c, 0x58e8, 0x6023, 0x0001, + 0x6003, 0x0001, 0x6007, 0x0002, 0x080c, 0x8326, 0x080c, 0x87fb, + 0x0018, 0x2001, 0x0001, 0x0011, 0x00de, 0x0005, 0x2030, 0x9005, + 0x0170, 0x2001, 0x0007, 0x080c, 0x58e8, 0x2001, 0x1100, 0x2004, + 0x9086, 0x0003, 0x1120, 0x2001, 0x0007, 0x080c, 0x5915, 0x2600, + 0x9005, 0x11a0, 0x6014, 0x9080, 0x001a, 0x2004, 0xd0fc, 0x1170, + 0x0036, 0x0046, 0x6010, 0x9080, 0x0028, 0x201c, 0x2021, 0x0004, + 0x2011, 0x8014, 0x080c, 0x40b6, 0x004e, 0x003e, 0x080c, 0x2a34, + 0x6020, 0x9086, 0x000a, 0x1108, 0x0005, 0x080c, 0x9eda, 0x0005, + 0x00e6, 0x0026, 0x0016, 0x2071, 0x1100, 0x7088, 0x9086, 0x0014, + 0x1904, 0xaa94, 0x7000, 0x9086, 0x0003, 0x1178, 0x6014, 0x9005, + 0x1160, 0x0036, 0x0046, 0x6010, 0x9080, 0x0028, 0x201c, 0x2021, + 0x0006, 0x080c, 0x41b9, 0x004e, 0x003e, 0x00d6, 0x6010, 0x2068, + 0x080c, 0x5a30, 0x080c, 0xa90d, 0x00de, 0x080c, 0xace7, 0x15a0, + 0x6010, 0x00d6, 0x2068, 0x6890, 0x00de, 0x9005, 0x0568, 0x2001, + 0x0006, 0x080c, 0x58e8, 0x00e6, 0x6014, 0x9075, 0x01d8, 0x7064, + 0x9084, 0x00ff, 0x9086, 0x0039, 0x1148, 0x2001, 0x0000, 0x2009, + 0x0000, 0x2011, 0x4000, 0x080c, 0xbec9, 0x0060, 0x7064, 0x9084, + 0x00ff, 0x9086, 0x0029, 0x0130, 0x7007, 0x0000, 0x7067, 0x0103, + 0x7033, 0x0200, 0x00ee, 0x080c, 0x2a34, 0x6020, 0x9086, 0x000a, + 0x0148, 0x080c, 0x9eda, 0x0030, 0x080c, 0xa7f8, 0x2001, 0x0000, + 0x080c, 0xaa06, 0x001e, 0x002e, 0x00ee, 0x0005, 0x2011, 0x1122, + 0x2204, 0x9086, 0x0014, 0x1168, 0x2001, 0x0002, 0x080c, 0x58e8, + 0x6003, 0x0001, 0x6007, 0x0001, 0x080c, 0x8326, 0x080c, 0x87fb, + 0x0020, 0x2001, 0x0001, 0x080c, 0xaa06, 0x0005, 0x2011, 0x1122, + 0x2204, 0x9086, 0x0004, 0x1138, 0x2001, 0x0007, 0x080c, 0x58e8, + 0x080c, 0x9eda, 0x0020, 0x2001, 0x0001, 0x080c, 0xaa06, 0x0005, + 0x000b, 0x0005, 0xa8d5, 0xaae1, 0xa8d5, 0xab19, 0xa8d5, 0xabc6, + 0xaad6, 0xa8d5, 0xa8d5, 0xabdd, 0xa8d5, 0xabf1, 0x6604, 0x9686, + 0x0003, 0x0904, 0xaa38, 0x96b6, 0x001e, 0x1110, 0x080c, 0x9eda, + 0x0005, 0x00d6, 0x00c6, 0x080c, 0xac05, 0x1188, 0x2001, 0x0000, + 0x080c, 0x58d6, 0x2001, 0x0002, 0x080c, 0x58e8, 0x6003, 0x0001, + 0x6007, 0x0002, 0x080c, 0x8326, 0x080c, 0x87fb, 0x00f8, 0x2009, + 0x026e, 0x2104, 0x9086, 0x0009, 0x1160, 0x6010, 0x2068, 0x6840, + 0x9084, 0x00ff, 0x9005, 0x0170, 0x8001, 0x6842, 0x601b, 0x000a, + 0x0068, 0x2009, 0x026f, 0x2104, 0x9084, 0xff00, 0x9086, 0x1900, + 0x1108, 0x08c0, 0x2001, 0x0001, 0x080c, 0xaa06, 0x00ce, 0x00de, + 0x0005, 0x0026, 0x9016, 0x080c, 0xac13, 0x00d6, 0x2069, 0x1320, + 0x2d04, 0x9005, 0x0168, 0x6010, 0x2068, 0x68a0, 0x9086, 0x007e, + 0x1138, 0x2069, 0x111e, 0x2d04, 0x8000, 0x206a, 0x00de, 0x0010, + 0x00de, 0x0090, 0x2001, 0x0000, 0x080c, 0x58d6, 0x2001, 0x0002, + 0x080c, 0x58e8, 0x6003, 0x0001, 0x6007, 0x0002, 0x080c, 0x8326, + 0x080c, 0x87fb, 0x0804, 0xab94, 0x080c, 0xb95b, 0x01b0, 0x6014, + 0x9080, 0x0019, 0x2004, 0x2010, 0x9086, 0x0139, 0x1128, 0x2001, + 0x0002, 0x080c, 0xbf19, 0x00c8, 0x6014, 0x9080, 0x001a, 0x2004, + 0xd0fc, 0x0118, 0x2001, 0x0001, 0x0ca0, 0x2001, 0x110d, 0x2004, + 0xd0dc, 0x0158, 0x6010, 0x00d6, 0x2068, 0x6840, 0x00de, 0x9084, + 0x00ff, 0x9005, 0x1110, 0x9006, 0x0c20, 0x080c, 0xa7f8, 0x2009, + 0x026e, 0x2134, 0x96b4, 0x00ff, 0x9686, 0x0005, 0x01f8, 0x9686, + 0x000b, 0x01b0, 0x2009, 0x026f, 0x2104, 0x9084, 0xff00, 0x1118, + 0x9686, 0x0009, 0x0198, 0x9086, 0x1900, 0x1150, 0x9686, 0x0009, + 0x0168, 0x2001, 0x0004, 0x080c, 0x58e8, 0x080c, 0x9eda, 0x0020, + 0x2001, 0x0001, 0x080c, 0xaa06, 0x002e, 0x0005, 0x00d6, 0x9286, + 0x0139, 0x0160, 0x6014, 0x2068, 0x080c, 0xb95b, 0x0148, 0x6864, + 0x9086, 0x0139, 0x0118, 0x6868, 0xd0fc, 0x0110, 0x00de, 0x0c40, + 0x6010, 0x2068, 0x6840, 0x9084, 0x00ff, 0x9005, 0x0140, 0x8001, + 0x6842, 0x601b, 0x000a, 0x6007, 0x0016, 0x00de, 0x08e8, 0x68a0, + 0x9086, 0x007e, 0x1138, 0x00e6, 0x2071, 0x1100, 0x080c, 0x5378, + 0x00ee, 0x0010, 0x080c, 0x2a10, 0x00de, 0x0850, 0x080c, 0xac13, + 0x1168, 0x2001, 0x0004, 0x080c, 0x58e8, 0x6003, 0x0001, 0x6007, + 0x0003, 0x080c, 0x8326, 0x080c, 0x87fb, 0x0030, 0x080c, 0xa7f8, + 0x2001, 0x0000, 0x080c, 0xaa06, 0x0005, 0x04a9, 0x1168, 0x2001, + 0x0008, 0x080c, 0x58e8, 0x6003, 0x0001, 0x6007, 0x0005, 0x080c, + 0x8326, 0x080c, 0x87fb, 0x0020, 0x2001, 0x0001, 0x080c, 0xaa06, + 0x0005, 0x0409, 0x1168, 0x2001, 0x000a, 0x080c, 0x58e8, 0x6003, + 0x0001, 0x6007, 0x0001, 0x080c, 0x8326, 0x080c, 0x87fb, 0x0020, + 0x2001, 0x0001, 0x080c, 0xaa06, 0x0005, 0x2009, 0x026e, 0x2104, + 0x9086, 0x0003, 0x1138, 0x2009, 0x026f, 0x2104, 0x9084, 0xff00, + 0x9086, 0x2a00, 0x0005, 0x9085, 0x0001, 0x0005, 0x00c6, 0x0016, + 0x9c88, 0x0004, 0x2164, 0x080c, 0x599e, 0x001e, 0x00ce, 0x0005, + 0x00f6, 0x00e6, 0x00d6, 0x0036, 0x0016, 0x6010, 0x2068, 0x2009, + 0x1135, 0x2104, 0x9085, 0x0003, 0x200a, 0x080c, 0xacbc, 0x0570, + 0x2009, 0x1135, 0x2104, 0xc0cd, 0x200a, 0x2001, 0x1153, 0x2004, + 0xd0a4, 0x0158, 0x9006, 0x2020, 0x2009, 0x002a, 0x080c, 0xd1bd, + 0x2001, 0x110c, 0x200c, 0xc195, 0x2102, 0x2019, 0x002a, 0x2009, + 0x0001, 0x080c, 0x29e5, 0x00e6, 0x2071, 0x1100, 0x080c, 0x2802, + 0x00ee, 0x00c6, 0x0156, 0x20a9, 0x0081, 0x2009, 0x007f, 0x080c, + 0x2b06, 0x8108, 0x1f04, 0xac57, 0x015e, 0x00ce, 0x080c, 0xac16, + 0x6813, 0x00ff, 0x6817, 0xfffe, 0x2071, 0x0260, 0x2079, 0x0200, + 0x7817, 0x0001, 0x2001, 0x1135, 0x200c, 0xc1c5, 0x7018, 0xd0fc, + 0x0110, 0xd0dc, 0x0118, 0x7038, 0xd0dc, 0x1108, 0xc1c4, 0x7817, + 0x0000, 0x2001, 0x1135, 0x2102, 0x2079, 0x0100, 0x2e04, 0x9084, + 0x00ff, 0x2069, 0x111d, 0x206a, 0x78e6, 0x0006, 0x8e70, 0x2e04, + 0x2069, 0x111e, 0x206a, 0x78ea, 0x7832, 0x7836, 0x2010, 0x9084, + 0xff00, 0x001e, 0x9105, 0x2009, 0x1129, 0x200a, 0x2200, 0x9084, + 0x00ff, 0x2008, 0x080c, 0x20c2, 0x080c, 0x672f, 0x0170, 0x2071, + 0x0260, 0x2069, 0x1335, 0x7048, 0x206a, 0x704c, 0x6806, 0x7050, + 0x680a, 0x7054, 0x680e, 0x080c, 0xbd12, 0x0040, 0x2001, 0x0006, + 0x080c, 0x58e8, 0x080c, 0x2a34, 0x080c, 0x9eda, 0x001e, 0x003e, + 0x00de, 0x00ee, 0x00fe, 0x0005, 0x0026, 0x0036, 0x00e6, 0x0156, + 0x2019, 0x1129, 0x231c, 0x83ff, 0x01e8, 0x2071, 0x0260, 0x7200, + 0x9294, 0x00ff, 0x7004, 0x9084, 0xff00, 0x9205, 0x9306, 0x1190, + 0x2011, 0x0276, 0x20a9, 0x0004, 0x9d98, 0x000a, 0x080c, 0xad80, + 0x1148, 0x2011, 0x027a, 0x20a9, 0x0004, 0x9d98, 0x0006, 0x080c, + 0xad80, 0x1100, 0x015e, 0x00ee, 0x003e, 0x002e, 0x0005, 0x00e6, + 0x2071, 0x0260, 0x7034, 0x9086, 0x0014, 0x11a8, 0x7038, 0x9086, + 0x0800, 0x1188, 0x703c, 0xd0ec, 0x0160, 0x9084, 0x0f00, 0x9086, + 0x0100, 0x1138, 0x7054, 0xd0a4, 0x1110, 0xd0ac, 0x0110, 0x9006, + 0x0010, 0x9085, 0x0001, 0x00ee, 0x0005, 0x00e6, 0x00d6, 0x00c6, + 0x0076, 0x0056, 0x0046, 0x0026, 0x0006, 0x0126, 0x2091, 0x8000, + 0x2029, 0x1385, 0x252c, 0x2021, 0x138b, 0x2424, 0x2061, 0x16c0, + 0x2071, 0x1100, 0x724c, 0x706c, 0x9202, 0x1a04, 0xad60, 0x080c, + 0x7b66, 0x05b8, 0x080c, 0xd1e5, 0x05a0, 0x6720, 0x9786, 0x0001, + 0x0580, 0x9786, 0x0007, 0x0568, 0x2500, 0x9c06, 0x0550, 0x2400, + 0x9c06, 0x0538, 0x00c6, 0x6000, 0x9086, 0x0004, 0x1110, 0x080c, + 0x15bf, 0x9786, 0x0008, 0x1148, 0x080c, 0xbb48, 0x1130, 0x00ce, + 0x080c, 0xa7f8, 0x080c, 0x9f0b, 0x00a0, 0x6014, 0x2068, 0x080c, + 0xb95b, 0x0160, 0x9786, 0x0003, 0x11e8, 0x6867, 0x0103, 0x6b7a, + 0x6877, 0x0000, 0x080c, 0x5fa7, 0x080c, 0xbb2b, 0x080c, 0x9f0b, + 0x00ce, 0x9ce0, 0x0018, 0x7060, 0x9c02, 0x1210, 0x0804, 0xad1a, + 0x012e, 0x000e, 0x002e, 0x004e, 0x005e, 0x007e, 0x00ce, 0x00de, + 0x00ee, 0x0005, 0x9786, 0x0006, 0x1118, 0x080c, 0xd16f, 0x0c30, + 0x9786, 0x0009, 0x1148, 0x6000, 0x9086, 0x0004, 0x0d08, 0x2009, + 0x004c, 0x080c, 0x9f51, 0x08e0, 0x9786, 0x000a, 0x0980, 0x0868, + 0x220c, 0x2304, 0x9106, 0x1130, 0x8210, 0x8318, 0x1f04, 0xad80, + 0x9006, 0x0005, 0x2304, 0x9102, 0x0218, 0x2001, 0x0001, 0x0010, + 0x2001, 0x0000, 0x918d, 0x0001, 0x0005, 0x0136, 0x01c6, 0x0016, + 0x8906, 0x8006, 0x8007, 0x908c, 0x003f, 0x21e0, 0x9084, 0xffc0, + 0x9300, 0x2098, 0x3518, 0x20a9, 0x0001, 0x220c, 0x4002, 0x910e, + 0x1140, 0x8210, 0x8319, 0x1dc8, 0x9006, 0x001e, 0x01ce, 0x013e, + 0x0005, 0x220c, 0x9102, 0x0218, 0x2001, 0x0001, 0x0010, 0x2001, + 0x0000, 0x918d, 0x0001, 0x001e, 0x01ce, 0x013e, 0x0005, 0x220c, + 0x810f, 0x2304, 0x9106, 0x1130, 0x8210, 0x8318, 0x1f04, 0xadbf, + 0x9006, 0x0005, 0x918d, 0x0001, 0x0005, 0x6004, 0x908a, 0x0051, + 0x1a0c, 0x0d52, 0x080c, 0xbb37, 0x0120, 0x080c, 0xbb48, 0x0168, + 0x0028, 0x080c, 0x2a34, 0x080c, 0xbb48, 0x0138, 0x080c, 0x86ff, + 0x080c, 0x9eda, 0x080c, 0x87fb, 0x0005, 0x080c, 0xa7f8, 0x0cb0, + 0x9182, 0x0040, 0x0002, 0xadfe, 0xadfe, 0xadfe, 0xadfe, 0xadfe, + 0xadfe, 0xadfe, 0xadfe, 0xadfe, 0xadfe, 0xadfe, 0xae00, 0xae00, + 0xae00, 0xae00, 0xadfe, 0xadfe, 0xadfe, 0xae00, 0x080c, 0x0d52, + 0x600b, 0xffff, 0x6003, 0x0001, 0x6106, 0x080c, 0x82d6, 0x0126, + 0x2091, 0x8000, 0x080c, 0x87fb, 0x012e, 0x0005, 0x9186, 0x0013, + 0x1128, 0x6004, 0x9082, 0x0040, 0x0804, 0xae98, 0x9186, 0x0027, + 0x11e8, 0x080c, 0x86ff, 0x080c, 0x2a10, 0x00d6, 0x6114, 0x2168, + 0x080c, 0xb95b, 0x0168, 0x6867, 0x0103, 0x687b, 0x0029, 0x6877, + 0x0000, 0x697c, 0xc1c5, 0x697e, 0x080c, 0x5fa7, 0x080c, 0xbb2b, + 0x00de, 0x080c, 0x9eda, 0x080c, 0x87fb, 0x0005, 0x9186, 0x0014, + 0x1120, 0x6004, 0x9082, 0x0040, 0x0418, 0x9186, 0x0046, 0x0138, + 0x9186, 0x0045, 0x0120, 0x9186, 0x0048, 0x190c, 0x0d52, 0x2001, + 0x0109, 0x2004, 0xd084, 0x0198, 0x0126, 0x2091, 0x2800, 0x0006, + 0x0016, 0x0026, 0x080c, 0x81bd, 0x002e, 0x001e, 0x000e, 0x012e, + 0xa001, 0x6000, 0x9086, 0x0002, 0x1110, 0x0804, 0xaedb, 0x0005, + 0x0002, 0xae76, 0xae74, 0xae74, 0xae74, 0xae74, 0xae74, 0xae74, + 0xae74, 0xae74, 0xae74, 0xae74, 0xae91, 0xae91, 0xae91, 0xae91, + 0xae74, 0xae91, 0xae74, 0xae91, 0x080c, 0x0d52, 0x080c, 0x86ff, + 0x00d6, 0x6114, 0x2168, 0x080c, 0xb95b, 0x0168, 0x6867, 0x0103, + 0x687b, 0x0006, 0x6877, 0x0000, 0x6880, 0xc0ec, 0x6882, 0x080c, + 0x5fa7, 0x080c, 0xbb2b, 0x00de, 0x080c, 0x9eda, 0x080c, 0x87fb, + 0x0005, 0x080c, 0x86ff, 0x080c, 0x9eda, 0x080c, 0x87fb, 0x0005, + 0x0002, 0xaeae, 0xaeac, 0xaeac, 0xaeac, 0xaeac, 0xaeac, 0xaeac, + 0xaeac, 0xaeac, 0xaeac, 0xaeac, 0xaec5, 0xaec5, 0xaec5, 0xaec5, + 0xaeac, 0xaed4, 0xaeac, 0xaec5, 0x080c, 0x0d52, 0x00d6, 0x080c, + 0x86ff, 0x6014, 0x2068, 0x2001, 0x133b, 0x2004, 0x6042, 0x697c, + 0xd1ac, 0x0140, 0x6003, 0x0004, 0x687c, 0x9085, 0x0400, 0x687e, + 0x00de, 0x0005, 0x6003, 0x0002, 0x0cb8, 0x080c, 0x86ff, 0x2001, + 0x1339, 0x2004, 0x601a, 0x2001, 0x133b, 0x2004, 0x6042, 0x6003, + 0x000f, 0x080c, 0x87fb, 0x0005, 0x080c, 0x86ff, 0x080c, 0x9eda, + 0x080c, 0x87fb, 0x0005, 0x9182, 0x0040, 0x0002, 0xaef2, 0xaef2, + 0xaef2, 0xaef2, 0xaef2, 0xaef4, 0xafcf, 0xaef2, 0xaef2, 0xaef2, + 0xaef2, 0xaef2, 0xaef2, 0xaef2, 0xaef2, 0xaef2, 0xaef2, 0xaef2, + 0xaef2, 0xaffe, 0x080c, 0x0d52, 0x00d6, 0x6114, 0x2168, 0x7644, + 0x96b4, 0x0fff, 0x86ff, 0x1518, 0x6010, 0x2004, 0xd0bc, 0x1904, + 0xafba, 0x687b, 0x0000, 0x6867, 0x0103, 0x6e76, 0x687c, 0xd0ac, + 0x0128, 0x6834, 0x6938, 0x9115, 0x190c, 0xb152, 0x080c, 0x5dd1, + 0x6210, 0x2268, 0x6a3c, 0x82ff, 0x0110, 0x8211, 0x6a3e, 0x7044, + 0xd0e4, 0x1904, 0xafa0, 0x080c, 0x9eda, 0x00de, 0x0005, 0x968c, + 0x0c00, 0x0148, 0x6010, 0x2004, 0xd0bc, 0x1904, 0xafa4, 0x7348, + 0x6b92, 0x734c, 0x6b8e, 0x968c, 0x00ff, 0x9186, 0x0002, 0x0508, + 0x9186, 0x0028, 0x1118, 0x687b, 0x001c, 0x00e8, 0xd6dc, 0x01a0, + 0x687b, 0x0015, 0x687c, 0xd0ac, 0x0170, 0x6938, 0x6a34, 0x2100, + 0x9205, 0x0148, 0x7048, 0x9106, 0x1118, 0x734c, 0x9206, 0x0118, + 0x6992, 0x6a8e, 0xc6dc, 0x0038, 0xd6d4, 0x0118, 0x687b, 0x0007, + 0x0010, 0x687b, 0x0000, 0x6867, 0x0103, 0x6e76, 0x901e, 0xd6c4, + 0x01d8, 0x9686, 0x0100, 0x1130, 0x7064, 0x9005, 0x1118, 0xc6c4, + 0x0804, 0xaefa, 0x735c, 0x6b86, 0x83ff, 0x0170, 0x938a, 0x0009, + 0x0210, 0x2019, 0x0008, 0x0036, 0x2308, 0x2019, 0x0018, 0x9d90, + 0x0025, 0x080c, 0xb5e9, 0x003e, 0xd6cc, 0x0904, 0xaf0e, 0x7154, + 0x698a, 0x81ff, 0x0904, 0xaf0e, 0x9192, 0x0021, 0x1278, 0x8304, + 0x9098, 0x0018, 0x9d90, 0x0029, 0x080c, 0xb5e9, 0x2011, 0x0205, + 0x2013, 0x0000, 0x080c, 0xbf86, 0x0804, 0xaf0e, 0x6868, 0xd0fc, + 0x0120, 0x2009, 0x0020, 0x698a, 0x0c50, 0x00f6, 0x2d78, 0x080c, + 0xb588, 0x00fe, 0x080c, 0xbf86, 0x080c, 0xb5d9, 0x0804, 0xaf10, + 0x080c, 0xbc25, 0x0804, 0xaf1d, 0x687c, 0xd0ac, 0x0904, 0xaf27, + 0x6024, 0xd0dc, 0x1904, 0xaf27, 0x6880, 0xd0bc, 0x1904, 0xaf27, + 0x7348, 0x6838, 0x9306, 0x11b8, 0x734c, 0x6834, 0x9306, 0x0904, + 0xaf27, 0x0088, 0x687c, 0xd0ac, 0x0904, 0xaf01, 0x6838, 0x6934, + 0x9105, 0x0904, 0xaf01, 0x6024, 0xd0dc, 0x1904, 0xaf01, 0x6880, + 0xd0bc, 0x1904, 0xaf01, 0x080c, 0xbc56, 0x0804, 0xaf1d, 0x00f6, + 0x6003, 0x0003, 0x2079, 0x026c, 0x7c04, 0x7b00, 0x7e0c, 0x7d08, + 0x6014, 0x2078, 0x787c, 0xd0ac, 0x0138, 0x6003, 0x0002, 0x00fe, + 0x0005, 0x2130, 0x2228, 0x0058, 0x2400, 0x79ac, 0x910a, 0x2300, + 0x7ab0, 0x9213, 0x2600, 0x9102, 0x2500, 0x9203, 0x0e90, 0x7c36, + 0x7b3a, 0x7e46, 0x7d4a, 0x00fe, 0x6043, 0x0000, 0x2c10, 0x080c, + 0x16c2, 0x080c, 0x8343, 0x080c, 0x891e, 0x0005, 0x0005, 0x9182, + 0x0040, 0x0002, 0xb015, 0xb015, 0xb015, 0xb015, 0xb015, 0xb017, + 0xb0ab, 0xb015, 0xb015, 0xb0c1, 0xb129, 0xb015, 0xb015, 0xb015, + 0xb015, 0xb138, 0xb015, 0xb015, 0xb015, 0x080c, 0x0d52, 0x0076, + 0x00f6, 0x00e6, 0x00d6, 0x2071, 0x0260, 0x6114, 0x2178, 0x7644, + 0x7e76, 0x96b4, 0x0fff, 0x7f7c, 0xc7e5, 0x7f7e, 0x6210, 0x2268, + 0x6a3c, 0x82ff, 0x0110, 0x8211, 0x6a3e, 0x86ff, 0x0904, 0xb0a6, + 0x9694, 0xff00, 0x9284, 0x0c00, 0x0120, 0x7048, 0x7892, 0x704c, + 0x788e, 0x9284, 0x0300, 0x0904, 0xb0a6, 0x080c, 0x0e6d, 0x090c, + 0x0d52, 0x2d00, 0x787a, 0x7f7c, 0xc7cd, 0x7f7e, 0x6867, 0x0103, + 0x7868, 0x686a, 0x786c, 0x686e, 0x7870, 0x6872, 0x6e76, 0x968c, + 0x0c00, 0x0120, 0x7348, 0x6b92, 0x734c, 0x6b8e, 0x968c, 0x00ff, + 0x9186, 0x0002, 0x0180, 0x9186, 0x0028, 0x1118, 0x687b, 0x001c, + 0x0060, 0xd6dc, 0x0118, 0x687b, 0x0015, 0x0038, 0xd6d4, 0x0118, + 0x687b, 0x0007, 0x0010, 0x687b, 0x0000, 0x6f7e, 0x7880, 0x6882, + 0x7884, 0x6886, 0x901e, 0xd6c4, 0x0190, 0x735c, 0x6b86, 0x83ff, + 0x0170, 0x938a, 0x0009, 0x0210, 0x2019, 0x0008, 0x0036, 0x2308, + 0x2019, 0x0018, 0x9d90, 0x0025, 0x080c, 0xb5e9, 0x003e, 0xd6cc, + 0x01e8, 0x7154, 0x698a, 0x81ff, 0x01c8, 0x9192, 0x0021, 0x1260, + 0x8304, 0x9098, 0x0018, 0x9d90, 0x0029, 0x080c, 0xb5e9, 0x2011, + 0x0205, 0x2013, 0x0000, 0x0050, 0x7868, 0xd0fc, 0x0120, 0x2009, + 0x0020, 0x698a, 0x0c68, 0x2d78, 0x080c, 0xb588, 0x00de, 0x00ee, + 0x00fe, 0x007e, 0x0005, 0x00f6, 0x6003, 0x0003, 0x2079, 0x026c, + 0x7c04, 0x7b00, 0x7e0c, 0x7d08, 0x6014, 0x2078, 0x7c36, 0x7b3a, + 0x7e46, 0x7d4a, 0x00fe, 0x2c10, 0x080c, 0x16c2, 0x080c, 0x9461, + 0x0005, 0x00d6, 0x2001, 0x133b, 0x2004, 0x6042, 0x6003, 0x0002, + 0x080c, 0x87a9, 0x080c, 0x891e, 0x6114, 0x2168, 0x697c, 0xd1e4, + 0x0904, 0xb124, 0xd1cc, 0x0570, 0x6978, 0x6868, 0xd0fc, 0x0500, + 0x0016, 0x687c, 0x0006, 0x6880, 0x0006, 0x9d90, 0x0019, 0x9198, + 0x0019, 0x2009, 0x0020, 0x0156, 0x21a8, 0x2304, 0x2012, 0x8318, + 0x8210, 0x1f04, 0xb0e5, 0x015e, 0x000e, 0x6882, 0x000e, 0x687e, + 0x001e, 0x6874, 0x0006, 0x2168, 0x080c, 0x0e96, 0x001e, 0x0440, + 0x0016, 0x080c, 0x0e96, 0x00de, 0x6974, 0x0016, 0x080c, 0xb5d9, + 0x001e, 0x00f0, 0x6867, 0x0103, 0x6974, 0x9184, 0x00ff, 0x90b6, + 0x0002, 0x0180, 0x9086, 0x0028, 0x1118, 0x687b, 0x001c, 0x0060, + 0xd1dc, 0x0118, 0x687b, 0x0015, 0x0038, 0xd1d4, 0x0118, 0x687b, + 0x0007, 0x0010, 0x687b, 0x0000, 0x0016, 0x080c, 0x5dd1, 0x001e, + 0xd1e4, 0x1120, 0x080c, 0x9eda, 0x00de, 0x0005, 0x080c, 0xbc25, + 0x0cd8, 0x2019, 0x0001, 0x080c, 0x9708, 0x6003, 0x0002, 0x2001, + 0x133b, 0x2004, 0x6042, 0x080c, 0x87a9, 0x080c, 0x891e, 0x0005, + 0x080c, 0x87a9, 0x080c, 0x2a10, 0x00d6, 0x6114, 0x2168, 0x080c, + 0xb95b, 0x0150, 0x6867, 0x0103, 0x687b, 0x0029, 0x6877, 0x0000, + 0x080c, 0x5fa7, 0x080c, 0xbb2b, 0x00de, 0x080c, 0x9eda, 0x080c, + 0x891e, 0x0005, 0x687b, 0x0015, 0xd1fc, 0x0138, 0x687b, 0x0007, + 0x8002, 0x8000, 0x810a, 0x9189, 0x0000, 0x6992, 0x688e, 0x0005, + 0x9182, 0x0040, 0x0002, 0xb177, 0xb177, 0xb177, 0xb177, 0xb177, + 0xb179, 0xb177, 0xb177, 0xb21d, 0xb177, 0xb177, 0xb177, 0xb177, + 0xb177, 0xb177, 0xb177, 0xb177, 0xb177, 0xb177, 0xb33d, 0x080c, + 0x0d52, 0x0076, 0x00f6, 0x00e6, 0x00d6, 0x2071, 0x0260, 0x6114, + 0x2178, 0x7644, 0x7e76, 0x96b4, 0x0fff, 0x7f7c, 0xc7e5, 0x7f7e, + 0x6210, 0x2268, 0x6a3c, 0x82ff, 0x0110, 0x8211, 0x6a3e, 0x86ff, + 0x0904, 0xb216, 0x9694, 0xff00, 0x9284, 0x0c00, 0x0120, 0x7048, + 0x7892, 0x704c, 0x788e, 0x9284, 0x0300, 0x0904, 0xb216, 0x9686, + 0x0100, 0x1130, 0x7064, 0x9005, 0x1118, 0xc6c4, 0x7e76, 0x0c38, + 0x080c, 0x0e6d, 0x090c, 0x0d52, 0x2d00, 0x787a, 0x7f7c, 0x97bd, + 0x0200, 0x7f7e, 0x6867, 0x0103, 0x7868, 0x686a, 0x786c, 0x686e, + 0x7870, 0x6872, 0x7044, 0x9084, 0xf000, 0x9635, 0x6e76, 0x968c, + 0x0c00, 0x0120, 0x7348, 0x6b92, 0x734c, 0x6b8e, 0x968c, 0x00ff, + 0x9186, 0x0002, 0x0180, 0x9186, 0x0028, 0x1118, 0x687b, 0x001c, + 0x0060, 0xd6dc, 0x0118, 0x687b, 0x0015, 0x0038, 0xd6d4, 0x0118, + 0x687b, 0x0007, 0x0010, 0x687b, 0x0000, 0x6f7e, 0x7880, 0x6882, + 0x7884, 0x6886, 0x901e, 0xd6c4, 0x0190, 0x735c, 0x6b86, 0x83ff, + 0x0170, 0x938a, 0x0009, 0x0210, 0x2019, 0x0008, 0x0036, 0x2308, + 0x2019, 0x0018, 0x9d90, 0x0025, 0x080c, 0xb5e9, 0x003e, 0xd6cc, + 0x01e8, 0x7154, 0x698a, 0x81ff, 0x01c8, 0x9192, 0x0021, 0x1260, + 0x8304, 0x9098, 0x0018, 0x9d90, 0x0029, 0x080c, 0xb5e9, 0x2011, + 0x0205, 0x2013, 0x0000, 0x0050, 0x7868, 0xd0fc, 0x0120, 0x2009, + 0x0020, 0x698a, 0x0c68, 0x2d78, 0x080c, 0xb588, 0x080c, 0x1591, + 0x00de, 0x00ee, 0x00fe, 0x007e, 0x0005, 0x2001, 0x133b, 0x2004, + 0x6042, 0x00d6, 0x6114, 0x2168, 0x683c, 0x6940, 0x9105, 0x1118, + 0x687c, 0xc0dc, 0x687e, 0x6003, 0x0002, 0x697c, 0xd1e4, 0x0904, + 0xb338, 0x6043, 0x0000, 0x6010, 0x2004, 0xd0bc, 0x11f8, 0xd1cc, + 0x0904, 0xb307, 0x6978, 0x6868, 0xd0fc, 0x0904, 0xb2c8, 0x0016, + 0x687c, 0x0006, 0x6880, 0x0006, 0x00f6, 0x2178, 0x7974, 0x9184, + 0x00ff, 0x90b6, 0x0002, 0x0904, 0xb29b, 0x9086, 0x0028, 0x15b8, + 0x687b, 0x001c, 0x787b, 0x001c, 0x0804, 0xb2a3, 0x6024, 0xd0f4, + 0x11d0, 0x6838, 0x6a34, 0x9205, 0x09d0, 0x6838, 0x6a90, 0x9206, + 0x1120, 0x688c, 0x6a34, 0x9206, 0x0990, 0x6024, 0xd0d4, 0x1148, + 0x69ac, 0x6834, 0x9102, 0x603a, 0x69b0, 0x6838, 0x9103, 0x603e, + 0x6024, 0xc0f5, 0x6026, 0x6010, 0x00d6, 0x2068, 0x683c, 0x8000, + 0x683e, 0x00de, 0x687c, 0xc0e4, 0x687e, 0x6877, 0x0000, 0x6893, + 0x0000, 0x688f, 0x0000, 0x080c, 0xbc56, 0x0804, 0xb338, 0xd1dc, + 0x0158, 0x687b, 0x0015, 0x787b, 0x0015, 0x080c, 0xbeb2, 0x0118, + 0x7974, 0xc1dc, 0x7976, 0x0078, 0xd1d4, 0x0128, 0x687b, 0x0007, + 0x787b, 0x0007, 0x0040, 0x687c, 0xd0ac, 0x0128, 0x6834, 0x6938, + 0x9115, 0x190c, 0xb152, 0x687c, 0x787e, 0x6890, 0x7892, 0x688c, + 0x788e, 0x9d90, 0x0019, 0x9f98, 0x0019, 0x2009, 0x0020, 0x0156, + 0x21a8, 0x2304, 0x2012, 0x8318, 0x8210, 0x1f04, 0xb2b1, 0x015e, + 0x00fe, 0x000e, 0x6882, 0x000e, 0x687e, 0x080c, 0xbf86, 0x001e, + 0x6874, 0x0006, 0x2168, 0x080c, 0x0e96, 0x001e, 0x0804, 0xb334, + 0x0016, 0x00f6, 0x2178, 0x7974, 0x9184, 0x00ff, 0x90b6, 0x0002, + 0x01e0, 0x9086, 0x0028, 0x1128, 0x687b, 0x001c, 0x787b, 0x001c, + 0x00e0, 0xd1dc, 0x0158, 0x687b, 0x0015, 0x787b, 0x0015, 0x080c, + 0xbeb2, 0x0118, 0x7974, 0xc1dc, 0x7976, 0x0078, 0xd1d4, 0x0128, + 0x687b, 0x0007, 0x787b, 0x0007, 0x0040, 0x687c, 0xd0ac, 0x0128, + 0x6834, 0x6938, 0x9115, 0x190c, 0xb152, 0x6890, 0x7892, 0x688c, + 0x788e, 0x687c, 0x787e, 0x00fe, 0x080c, 0x0e96, 0x00de, 0x080c, + 0xbf86, 0x6974, 0x0016, 0x080c, 0xb5d9, 0x001e, 0x0468, 0x6867, + 0x0103, 0x6974, 0x9184, 0x00ff, 0x90b6, 0x0002, 0x01b0, 0x9086, + 0x0028, 0x1118, 0x687b, 0x001c, 0x00d0, 0xd1dc, 0x0148, 0x687b, + 0x0015, 0x080c, 0xbeb2, 0x0118, 0x6974, 0xc1dc, 0x6976, 0x0078, + 0xd1d4, 0x0118, 0x687b, 0x0007, 0x0050, 0x687b, 0x0000, 0x687c, + 0xd0ac, 0x0128, 0x6834, 0x6938, 0x9115, 0x190c, 0xb152, 0x6974, + 0x0016, 0x080c, 0x5dd1, 0x001e, 0xd1e4, 0x1120, 0x080c, 0x9eda, + 0x00de, 0x0005, 0x080c, 0xbc25, 0x0cd8, 0x0005, 0x080c, 0x86ff, + 0x0010, 0x080c, 0x87a9, 0x080c, 0xb95b, 0x01c0, 0x00d6, 0x6114, + 0x2168, 0x6867, 0x0103, 0x2009, 0x110c, 0x210c, 0xd18c, 0x11c0, + 0xd184, 0x1198, 0x6108, 0x697a, 0x918e, 0x0029, 0x1110, 0x080c, + 0xd4fd, 0x6877, 0x0000, 0x080c, 0x5fa7, 0x00de, 0x080c, 0x9eda, + 0x080c, 0x87fb, 0x080c, 0x891e, 0x0005, 0x687b, 0x0004, 0x0c88, + 0x687b, 0x0004, 0x0c70, 0x9182, 0x0040, 0x0002, 0xb381, 0xb381, + 0xb381, 0xb381, 0xb381, 0xb383, 0xb381, 0xb386, 0xb381, 0xb381, + 0xb381, 0xb381, 0xb381, 0xb381, 0xb381, 0xb381, 0xb381, 0xb381, + 0xb381, 0x080c, 0x0d52, 0x080c, 0x9eda, 0x0005, 0x0006, 0x0026, + 0x9016, 0x080c, 0x13ec, 0x002e, 0x000e, 0x0005, 0x9182, 0x0085, + 0x0002, 0xb3a0, 0xb39e, 0xb39e, 0xb3ac, 0xb39e, 0xb39e, 0xb39e, + 0xb39e, 0xb39e, 0xb39e, 0xb39e, 0xb39e, 0xb39e, 0x080c, 0x0d52, + 0x6003, 0x0001, 0x6106, 0x080c, 0x82d6, 0x0126, 0x2091, 0x8000, + 0x080c, 0x87fb, 0x012e, 0x0005, 0x0026, 0x0056, 0x00d6, 0x00e6, + 0x2071, 0x0260, 0x7224, 0x6216, 0x7220, 0x080c, 0xb94b, 0x01a0, + 0x2268, 0x6800, 0x9086, 0x0000, 0x0178, 0x6010, 0x6d10, 0x952e, + 0x1158, 0x00c6, 0x2d60, 0x080c, 0xb606, 0x00ce, 0x0128, 0x6803, + 0x0002, 0x6007, 0x0086, 0x0010, 0x6007, 0x0087, 0x6003, 0x0001, + 0x080c, 0x82d6, 0x080c, 0x87fb, 0x9280, 0x0004, 0x2004, 0xd0bc, + 0x0150, 0x6824, 0xd0ec, 0x0138, 0x00c6, 0x2260, 0x6043, 0x0000, + 0x080c, 0xbc56, 0x00ce, 0x00ee, 0x00de, 0x005e, 0x002e, 0x0005, + 0x9186, 0x0013, 0x1160, 0x6004, 0x908a, 0x0085, 0x0a0c, 0x0d52, + 0x908a, 0x0092, 0x1a0c, 0x0d52, 0x9082, 0x0085, 0x0072, 0x9186, + 0x0027, 0x0120, 0x9186, 0x0014, 0x190c, 0x0d52, 0x080c, 0x86ff, + 0x080c, 0x9f0b, 0x080c, 0x87fb, 0x0005, 0xb412, 0xb414, 0xb414, + 0xb412, 0xb412, 0xb412, 0xb412, 0xb412, 0xb412, 0xb412, 0xb412, + 0xb412, 0xb412, 0x080c, 0x0d52, 0x080c, 0x86ff, 0x080c, 0x9f0b, + 0x080c, 0x87fb, 0x0005, 0x9186, 0x0013, 0x1128, 0x6004, 0x9082, + 0x0085, 0x2008, 0x04a8, 0x9186, 0x0027, 0x11e8, 0x080c, 0x86ff, + 0x080c, 0x2a10, 0x00d6, 0x6014, 0x2068, 0x080c, 0xb95b, 0x0150, + 0x6867, 0x0103, 0x6877, 0x0000, 0x687b, 0x0029, 0x080c, 0x5fa7, + 0x080c, 0xbb2b, 0x00de, 0x080c, 0x9eda, 0x080c, 0x87fb, 0x0005, + 0x080c, 0x9f6c, 0x0ce0, 0x9186, 0x0014, 0x1dd0, 0x080c, 0x86ff, + 0x00d6, 0x6014, 0x2068, 0x080c, 0xb95b, 0x0d60, 0x6867, 0x0103, + 0x6877, 0x0000, 0x687b, 0x0006, 0x6880, 0xc0ec, 0x6882, 0x08f0, + 0x0002, 0xb468, 0xb466, 0xb466, 0xb466, 0xb466, 0xb466, 0xb480, + 0xb466, 0xb466, 0xb466, 0xb466, 0xb466, 0xb466, 0x080c, 0x0d52, + 0x080c, 0x86ff, 0x6034, 0x908c, 0xff00, 0x810f, 0x9186, 0x0039, + 0x0118, 0x9186, 0x0035, 0x1118, 0x2001, 0x1339, 0x0010, 0x2001, + 0x133a, 0x2004, 0x601a, 0x6003, 0x000c, 0x080c, 0x87fb, 0x0005, + 0x080c, 0x86ff, 0x6034, 0x908c, 0xff00, 0x810f, 0x9186, 0x0039, + 0x0118, 0x9186, 0x0035, 0x1118, 0x2001, 0x1339, 0x0010, 0x2001, + 0x133a, 0x2004, 0x601a, 0x6003, 0x000e, 0x080c, 0x87fb, 0x0005, + 0x9182, 0x0092, 0x1220, 0x9182, 0x0085, 0x0208, 0x001a, 0x080c, + 0x9f6c, 0x0005, 0xb4af, 0xb4af, 0xb4af, 0xb4af, 0xb4b1, 0xb50a, + 0xb4af, 0xb4af, 0xb4af, 0xb4af, 0xb4af, 0xb4af, 0xb4af, 0x080c, + 0x0d52, 0x00d6, 0x6010, 0x2004, 0xd0bc, 0x0168, 0x6034, 0x908c, + 0xff00, 0x810f, 0x9186, 0x0039, 0x0118, 0x9186, 0x0035, 0x1118, + 0x00de, 0x0804, 0xb51b, 0x080c, 0xb95b, 0x1118, 0x080c, 0xbb2b, + 0x00f0, 0x6014, 0x2068, 0x687c, 0xd0e4, 0x1110, 0x080c, 0xbb2b, + 0x6867, 0x0103, 0x6880, 0xd0b4, 0x0128, 0x687b, 0x0006, 0xc0ec, + 0x6882, 0x0048, 0xd0bc, 0x0118, 0x687b, 0x0002, 0x0020, 0x687b, + 0x0005, 0x080c, 0xbc21, 0x6877, 0x0000, 0x080c, 0x5fa7, 0x2c68, + 0x080c, 0x9e84, 0x01d0, 0x6003, 0x0001, 0x6007, 0x001e, 0x600b, + 0xffff, 0x2009, 0x026e, 0x210c, 0x613a, 0x2009, 0x026f, 0x210c, + 0x613e, 0x6910, 0x6112, 0x080c, 0xbd78, 0x6954, 0x6156, 0x6023, + 0x0001, 0x080c, 0x82d6, 0x080c, 0x87fb, 0x2d60, 0x080c, 0x9eda, + 0x00de, 0x0005, 0x6010, 0x2004, 0xd0bc, 0x0598, 0x6034, 0x908c, + 0xff00, 0x810f, 0x9186, 0x0035, 0x0130, 0x9186, 0x001e, 0x0118, + 0x9186, 0x0039, 0x1530, 0x00d6, 0x2c68, 0x080c, 0xbf59, 0x1904, + 0xb560, 0x080c, 0x9e84, 0x01d8, 0x6106, 0x6003, 0x0001, 0x6023, + 0x0001, 0x6910, 0x6112, 0x692c, 0x612e, 0x6930, 0x6132, 0x6934, + 0x918c, 0x00ff, 0x6136, 0x6938, 0x613a, 0x693c, 0x613e, 0x6954, + 0x6156, 0x080c, 0xbd78, 0x080c, 0x82d6, 0x080c, 0x87fb, 0x2d60, + 0x00f8, 0x00d6, 0x6014, 0x2068, 0x080c, 0xb95b, 0x01c8, 0x6867, + 0x0103, 0x6880, 0xd0b4, 0x0128, 0xc0ec, 0x6882, 0x687b, 0x0006, + 0x0048, 0xd0bc, 0x0118, 0x687b, 0x0002, 0x0020, 0x687b, 0x0005, + 0x080c, 0xbc21, 0x6877, 0x0000, 0x080c, 0x5fa7, 0x080c, 0xbb2b, + 0x00de, 0x080c, 0x9eda, 0x0005, 0x0016, 0x00d6, 0x6014, 0x2068, + 0x080c, 0xb95b, 0x0140, 0x6867, 0x0103, 0x687b, 0x0028, 0x6877, + 0x0000, 0x080c, 0x5fa7, 0x00de, 0x001e, 0x9186, 0x0013, 0x0148, + 0x9186, 0x0014, 0x0130, 0x9186, 0x0027, 0x0118, 0x080c, 0x9f6c, + 0x0030, 0x080c, 0x86ff, 0x080c, 0x9f0b, 0x080c, 0x87fb, 0x0005, + 0x0056, 0x0066, 0x00d6, 0x00f6, 0x2029, 0x0001, 0x9182, 0x0101, + 0x1208, 0x0010, 0x2009, 0x0100, 0x2130, 0x8304, 0x9098, 0x0018, + 0x2009, 0x0020, 0x9f90, 0x0029, 0x080c, 0xb5e9, 0x96b2, 0x0020, + 0x7804, 0x906d, 0x0110, 0x080c, 0x0e96, 0x080c, 0x0e6d, 0x0520, + 0x8528, 0x6867, 0x0110, 0x686b, 0x0000, 0x2d20, 0x7c06, 0x968a, + 0x003d, 0x1228, 0x2608, 0x9d90, 0x001b, 0x0499, 0x00a8, 0x96b2, + 0x003c, 0x2009, 0x003c, 0x2d78, 0x9d90, 0x001b, 0x0451, 0x0c28, + 0x2079, 0x0200, 0x7817, 0x0000, 0x00fe, 0x852f, 0x95ad, 0x0003, + 0x7d66, 0x95ac, 0x0000, 0x0048, 0x2079, 0x0200, 0x7817, 0x0000, + 0x00fe, 0x852f, 0x95ad, 0x0003, 0x7d66, 0x00de, 0x006e, 0x005e, + 0x0005, 0x00f6, 0x8dff, 0x0158, 0x6804, 0x907d, 0x0130, 0x6807, + 0x0000, 0x080c, 0x5fa7, 0x2f68, 0x0cb8, 0x080c, 0x5fa7, 0x00fe, + 0x0005, 0x00f6, 0x0156, 0x2079, 0x0200, 0x9184, 0x0001, 0x0108, + 0x8108, 0x810c, 0x21a8, 0x2300, 0x9e00, 0x2004, 0x8007, 0x2012, + 0x8318, 0x9386, 0x0020, 0x1120, 0x2018, 0x7814, 0x8000, 0x7816, + 0x8210, 0x1f04, 0xb5f3, 0x015e, 0x00fe, 0x0005, 0x0066, 0x0126, + 0x2091, 0x8000, 0x2031, 0x0001, 0x6020, 0x9084, 0x000f, 0x0083, + 0x012e, 0x006e, 0x0005, 0x0126, 0x2091, 0x8000, 0x0066, 0x2031, + 0x0000, 0x6020, 0x9084, 0x000f, 0x001b, 0x006e, 0x012e, 0x0005, + 0xb641, 0xb641, 0xb63c, 0xb663, 0xb62f, 0xb63c, 0xb663, 0xb63c, + 0xb62f, 0x80a0, 0xb63c, 0xb63c, 0xb63c, 0xb62f, 0xb62f, 0x080c, + 0x0d52, 0x0036, 0x2019, 0x0010, 0x080c, 0xcd5f, 0x6023, 0x0006, + 0x6003, 0x0007, 0x003e, 0x0005, 0x9006, 0x0005, 0x9085, 0x0001, + 0x0005, 0x00d6, 0x86ff, 0x11d8, 0x6014, 0x2068, 0x080c, 0xb95b, + 0x01c0, 0x6864, 0x9086, 0x0139, 0x1128, 0x687b, 0x0005, 0x6883, + 0x0000, 0x0028, 0x900e, 0x2001, 0x0005, 0x080c, 0x61de, 0x080c, + 0xbc21, 0x080c, 0x5fa7, 0x080c, 0x9eda, 0x9085, 0x0001, 0x00de, + 0x0005, 0x9006, 0x0ce0, 0x6000, 0x908a, 0x0016, 0x1a0c, 0x0d52, + 0x000b, 0x0005, 0xb67a, 0xb69b, 0xb67c, 0xb6ba, 0xb698, 0xb67a, + 0xb63c, 0xb641, 0xb641, 0xb63c, 0xb63c, 0xb63c, 0xb63c, 0xb63c, + 0xb63c, 0xb63c, 0x080c, 0x0d52, 0x86ff, 0x11b8, 0x6020, 0x9086, + 0x0006, 0x0198, 0x00d6, 0x6014, 0x2068, 0x080c, 0xb95b, 0x0110, + 0x080c, 0xbc21, 0x00de, 0x6007, 0x0085, 0x6003, 0x000b, 0x6023, + 0x0002, 0x080c, 0x82d6, 0x080c, 0x87fb, 0x9085, 0x0001, 0x0005, + 0x080c, 0x15bf, 0x0c08, 0x00e6, 0x2071, 0x137c, 0x7024, 0x9c06, + 0x1110, 0x080c, 0x9676, 0x6020, 0x9084, 0x000f, 0x9086, 0x0006, + 0x1150, 0x0086, 0x0096, 0x2049, 0x0001, 0x2c40, 0x080c, 0x9823, + 0x009e, 0x008e, 0x0010, 0x080c, 0x958b, 0x00ee, 0x1928, 0x080c, + 0xb63c, 0x0005, 0x0036, 0x00e6, 0x2071, 0x137c, 0x703c, 0x9c06, + 0x1140, 0x2019, 0x0000, 0x080c, 0x9708, 0x00ee, 0x003e, 0x0804, + 0xb67c, 0x080c, 0x9949, 0x00ee, 0x003e, 0x1904, 0xb67c, 0x080c, + 0xb63c, 0x0005, 0x00c6, 0x6020, 0x9084, 0x000f, 0x0013, 0x00ce, + 0x0005, 0xb6ef, 0xb776, 0xb8bc, 0xb6fa, 0x9f0b, 0xb6ef, 0xcd51, + 0x9eda, 0xb776, 0x8070, 0xb927, 0xb6e8, 0xb6e8, 0xb6e8, 0xb6e8, + 0x080c, 0x0d52, 0x080c, 0xbb48, 0x1110, 0x080c, 0xa7f8, 0x0005, + 0x080c, 0x86ff, 0x080c, 0x87fb, 0x080c, 0x9eda, 0x0005, 0x601b, + 0x0001, 0x0005, 0x080c, 0xb95b, 0x0120, 0x6014, 0x9080, 0x0025, + 0x2c02, 0x6000, 0x908a, 0x0016, 0x1a0c, 0x0d52, 0x000b, 0x0005, + 0xb718, 0xb71a, 0xb73a, 0xb74c, 0xb759, 0xb718, 0xb6ef, 0xb6ef, + 0xb6ef, 0xb74c, 0xb74c, 0xb718, 0xb718, 0xb718, 0xb718, 0xb756, + 0x080c, 0x0d52, 0x00e6, 0x6014, 0x2070, 0x7080, 0xc0b5, 0x7082, + 0x2071, 0x137c, 0x7024, 0x9c06, 0x0190, 0x080c, 0x958b, 0x6007, + 0x0085, 0x6003, 0x000b, 0x6023, 0x0002, 0x2001, 0x133a, 0x2004, + 0x601a, 0x080c, 0x82d6, 0x080c, 0x87fb, 0x00ee, 0x0005, 0x601b, + 0x0001, 0x0cd8, 0x00d6, 0x6014, 0x2068, 0x6880, 0xc0b5, 0x6882, + 0x00de, 0x6007, 0x0085, 0x6003, 0x000b, 0x6023, 0x0002, 0x080c, + 0x82d6, 0x080c, 0x87fb, 0x0005, 0x00d6, 0x601b, 0x0001, 0x6014, + 0x2068, 0x6880, 0xc0b5, 0x6882, 0x00de, 0x0005, 0x080c, 0x9eda, + 0x0005, 0x6014, 0x9005, 0x01b8, 0x9088, 0x001f, 0x210c, 0xd1e4, + 0x0190, 0x9080, 0x0021, 0x2004, 0x601a, 0x2001, 0x0037, 0x2c08, + 0x080c, 0x137f, 0x6000, 0x9086, 0x0004, 0x1120, 0x2009, 0x0048, + 0x080c, 0x9f51, 0x0005, 0x080c, 0x15bf, 0x0820, 0x6000, 0x908a, + 0x0016, 0x1a0c, 0x0d52, 0x000b, 0x0005, 0xb78d, 0xb6f7, 0xb78f, + 0xb78d, 0xb78f, 0xb78f, 0xb6f0, 0xb78d, 0xb6ea, 0xb6ea, 0xb78d, + 0xb78d, 0xb78d, 0xb78d, 0xb78d, 0xb78d, 0x080c, 0x0d52, 0x6010, + 0x00d6, 0x2068, 0x6804, 0x9084, 0x00ff, 0x00de, 0x908a, 0x000c, + 0x1a0c, 0x0d52, 0x000b, 0x0005, 0xb7a8, 0xb862, 0xb7aa, 0xb7e4, + 0xb7aa, 0xb7e4, 0xb7aa, 0xb7b4, 0xb7a8, 0xb7e4, 0xb7a8, 0xb7d0, + 0x080c, 0x0d52, 0x6004, 0x908e, 0x0016, 0x0588, 0x908e, 0x0004, + 0x0570, 0x908e, 0x0002, 0x0558, 0x6004, 0x080c, 0xbb48, 0x0904, + 0xb87b, 0x908e, 0x0021, 0x0904, 0xb87f, 0x908e, 0x0022, 0x0904, + 0xb87b, 0x908e, 0x003d, 0x0904, 0xb87f, 0x908e, 0x0039, 0x0904, + 0xb883, 0x908e, 0x0035, 0x0904, 0xb883, 0x908e, 0x001e, 0x0188, + 0x908e, 0x0001, 0x1150, 0x6010, 0x00d6, 0x2068, 0x6804, 0x9084, + 0x00ff, 0x00de, 0x9086, 0x0006, 0x0110, 0x080c, 0x2a10, 0x080c, + 0xa7f8, 0x080c, 0x9f0b, 0x0005, 0x00c6, 0x00d6, 0x6104, 0x9186, + 0x0016, 0x0904, 0xb853, 0x9186, 0x0002, 0x15d8, 0x2001, 0x1135, + 0x2004, 0xd08c, 0x1198, 0x080c, 0x672f, 0x1180, 0x2001, 0x1321, + 0x2003, 0x0001, 0x2001, 0x1100, 0x2003, 0x0001, 0x9085, 0x0001, + 0x080c, 0x6773, 0x080c, 0x665f, 0x0804, 0xb8a5, 0x6010, 0x2068, + 0x2001, 0x1135, 0x2004, 0xd0ac, 0x1904, 0xb8a5, 0x68a0, 0xd0bc, + 0x1904, 0xb8a5, 0x6840, 0x9084, 0x00ff, 0x9005, 0x0190, 0x8001, + 0x6842, 0x6017, 0x0000, 0x6023, 0x0007, 0x601b, 0x0398, 0x6043, + 0x0000, 0x080c, 0x9e84, 0x0128, 0x2d00, 0x6012, 0x6023, 0x0001, + 0x0450, 0x00de, 0x00ce, 0x6004, 0x908e, 0x0002, 0x11a8, 0x6010, + 0x9080, 0x0028, 0x2004, 0x9086, 0x007e, 0x1170, 0x2009, 0x1135, + 0x2104, 0xc085, 0x200a, 0x00e6, 0x2071, 0x1100, 0x080c, 0x5378, + 0x00ee, 0x080c, 0xa7f8, 0x0020, 0x080c, 0xa7f8, 0x080c, 0x2a10, + 0x00e6, 0x0126, 0x2091, 0x8000, 0x080c, 0x2a34, 0x012e, 0x00ee, + 0x080c, 0x9f0b, 0x0005, 0x2001, 0x0002, 0x080c, 0x58e8, 0x6003, + 0x0001, 0x6007, 0x0002, 0x080c, 0x8326, 0x080c, 0x87fb, 0x00de, + 0x00ce, 0x0c80, 0x00c6, 0x00d6, 0x6104, 0x9186, 0x0016, 0x0d58, + 0x6010, 0x2068, 0x6840, 0x9084, 0x00ff, 0x9005, 0x0904, 0xb829, + 0x8001, 0x6842, 0x6003, 0x0001, 0x080c, 0x8326, 0x080c, 0x87fb, + 0x00de, 0x00ce, 0x08b8, 0x080c, 0xa7f8, 0x0804, 0xb7e1, 0x080c, + 0xa826, 0x0804, 0xb7e1, 0x00d6, 0x2c68, 0x6104, 0x080c, 0xbf59, + 0x00de, 0x0118, 0x080c, 0x9eda, 0x00b8, 0x6004, 0x8007, 0x6134, + 0x918c, 0x00ff, 0x9105, 0x6036, 0x6007, 0x0085, 0x6003, 0x000b, + 0x6023, 0x0002, 0x603c, 0x600a, 0x2001, 0x133a, 0x2004, 0x601a, + 0x080c, 0x82d6, 0x080c, 0x87fb, 0x0005, 0x00de, 0x00ce, 0x080c, + 0xa7f8, 0x080c, 0x2a10, 0x00e6, 0x0126, 0x2091, 0x8000, 0x080c, + 0x2a34, 0x6017, 0x0000, 0x6023, 0x0007, 0x601b, 0x0398, 0x6043, + 0x0000, 0x012e, 0x00ee, 0x0005, 0x6000, 0x908a, 0x0016, 0x1a0c, + 0x0d52, 0x00d6, 0x0013, 0x00de, 0x0005, 0xb8d5, 0xb8d5, 0xb8d5, + 0xb8d5, 0xb8d5, 0xb8d5, 0xb8d5, 0xb8d5, 0xb8d5, 0xb6ef, 0xb8d5, + 0xb6f7, 0xb8d7, 0xb6f7, 0xb8e4, 0xb8d5, 0x080c, 0x0d52, 0x6004, + 0x9086, 0x008b, 0x0148, 0x6007, 0x008b, 0x6003, 0x000d, 0x080c, + 0x82d6, 0x080c, 0x87fb, 0x0005, 0x080c, 0xbb2b, 0x080c, 0xb95b, + 0x0570, 0x080c, 0x2a10, 0x080c, 0xb95b, 0x0168, 0x6014, 0x2068, + 0x6867, 0x0103, 0x687b, 0x0006, 0x6877, 0x0000, 0x6880, 0xc0ed, + 0x6882, 0x080c, 0x5fa7, 0x2c68, 0x080c, 0x9e84, 0x0150, 0x6810, + 0x6012, 0x080c, 0xbd78, 0x00c6, 0x2d60, 0x080c, 0x9f0b, 0x00ce, + 0x0008, 0x2d60, 0x6017, 0x0000, 0x6023, 0x0001, 0x6007, 0x0001, + 0x6003, 0x0001, 0x080c, 0x8326, 0x080c, 0x87fb, 0x0078, 0x6034, + 0x908c, 0xff00, 0x810f, 0x9186, 0x0039, 0x0118, 0x9186, 0x0035, + 0x1118, 0x080c, 0x2a10, 0x08b8, 0x080c, 0x9f0b, 0x0005, 0x6000, + 0x908a, 0x0016, 0x1a0c, 0x0d52, 0x000b, 0x0005, 0xb93e, 0xb93e, + 0xb940, 0xb940, 0xb940, 0xb93e, 0xb93e, 0xb93e, 0xb93e, 0xb93e, + 0xb93e, 0xb93e, 0xb93e, 0xb93e, 0xb93e, 0xb93e, 0x080c, 0x0d52, + 0x080c, 0x9949, 0x6114, 0x2168, 0x687b, 0x0006, 0x080c, 0x5fa7, + 0x080c, 0x9eda, 0x0005, 0x9284, 0x0007, 0x1158, 0x9282, 0x16c0, + 0x0240, 0x2001, 0x1118, 0x2004, 0x9202, 0x1218, 0x9085, 0x0001, + 0x0005, 0x9006, 0x0ce8, 0x0026, 0x6214, 0x9294, 0xf000, 0x002e, + 0x0005, 0x00e6, 0x00c6, 0x0036, 0x0006, 0x0126, 0x2091, 0x8000, + 0x2061, 0x16c0, 0x2071, 0x1100, 0x734c, 0x706c, 0x9302, 0x12a8, + 0x6020, 0x9206, 0x1160, 0x080c, 0xbcf2, 0x0148, 0x080c, 0xbb48, + 0x1110, 0x080c, 0xa7f8, 0x00c6, 0x080c, 0x9eda, 0x00ce, 0x9ce0, + 0x0018, 0x7060, 0x9c02, 0x1208, 0x0c38, 0x012e, 0x000e, 0x003e, + 0x00ce, 0x00ee, 0x0005, 0x00e6, 0x00c6, 0x0016, 0x9188, 0x1000, + 0x210c, 0x81ff, 0x0128, 0x2061, 0x1402, 0x6112, 0x080c, 0x2a10, + 0x9006, 0x0010, 0x9085, 0x0001, 0x001e, 0x00ce, 0x00ee, 0x0005, + 0x00c6, 0x0056, 0x0126, 0x2091, 0x8000, 0x00c6, 0x080c, 0x9e84, + 0x005e, 0x0180, 0x6616, 0x6512, 0x080c, 0xbd78, 0x6023, 0x0003, + 0x2009, 0x004b, 0x080c, 0x9f51, 0x9085, 0x0001, 0x012e, 0x005e, + 0x00ce, 0x0005, 0x9006, 0x0cd0, 0x00c6, 0x0056, 0x0126, 0x2091, + 0x8000, 0x62a0, 0x00c6, 0x080c, 0x9f24, 0x005e, 0x0540, 0x6017, + 0x0000, 0x6512, 0x080c, 0xbd78, 0x6023, 0x0003, 0x0016, 0x00c6, + 0x2560, 0x00ce, 0x080c, 0x8464, 0x0076, 0x2039, 0x0000, 0x080c, + 0x8356, 0x2c08, 0x080c, 0xcf02, 0x007e, 0x001e, 0xd184, 0x0128, + 0x080c, 0x9eda, 0x9085, 0x0001, 0x0030, 0x2009, 0x004c, 0x080c, + 0x9f51, 0x9085, 0x0001, 0x012e, 0x005e, 0x00ce, 0x0005, 0x9006, + 0x0cd0, 0x00f6, 0x00c6, 0x0046, 0x00c6, 0x080c, 0x9e84, 0x2c78, + 0x00ce, 0x0180, 0x7e16, 0x2c00, 0x7812, 0x7823, 0x0003, 0x2021, + 0x0005, 0x080c, 0xba4f, 0x2f60, 0x2009, 0x004d, 0x080c, 0x9f51, + 0x9085, 0x0001, 0x004e, 0x00ce, 0x00fe, 0x0005, 0x00f6, 0x00c6, + 0x0046, 0x00c6, 0x080c, 0x9e84, 0x2c78, 0x00ce, 0x0178, 0x7e16, + 0x2c00, 0x7812, 0x7823, 0x0003, 0x2021, 0x0005, 0x0481, 0x2f60, + 0x2009, 0x004e, 0x080c, 0x9f51, 0x9085, 0x0001, 0x004e, 0x00ce, + 0x00fe, 0x0005, 0x00f6, 0x00c6, 0x0046, 0x00c6, 0x080c, 0x9e84, + 0x2c78, 0x00ce, 0x01c0, 0x7e16, 0x2c00, 0x7812, 0x7823, 0x0003, + 0x2021, 0x0004, 0x00a1, 0x2001, 0x1322, 0x2004, 0xd0fc, 0x0120, + 0x2f60, 0x080c, 0x9eda, 0x0028, 0x2f60, 0x2009, 0x0052, 0x080c, + 0x9f51, 0x9085, 0x0001, 0x004e, 0x00ce, 0x00fe, 0x0005, 0x0096, + 0x0076, 0x0126, 0x2091, 0x8000, 0x080c, 0x5ab2, 0x0158, 0x2001, + 0xba54, 0x0006, 0x900e, 0x2400, 0x080c, 0x61de, 0x080c, 0x5fa7, + 0x000e, 0x0807, 0x2418, 0x080c, 0x869e, 0x62a0, 0x0086, 0x2041, + 0x0001, 0x2039, 0x0001, 0x2608, 0x080c, 0x847d, 0x008e, 0x080c, + 0x8356, 0x2f08, 0x2648, 0x080c, 0xcf02, 0x613c, 0x81ff, 0x090c, + 0x8532, 0x080c, 0x87fb, 0x012e, 0x007e, 0x009e, 0x0005, 0x00c6, + 0x0126, 0x2091, 0x8000, 0x00c6, 0x080c, 0x9e84, 0x001e, 0x0188, + 0x660a, 0x6112, 0x080c, 0xbd78, 0x6023, 0x0001, 0x2d00, 0x6016, + 0x2009, 0x001f, 0x080c, 0x9f51, 0x9085, 0x0001, 0x012e, 0x00ce, + 0x0005, 0x9006, 0x0cd8, 0x00c6, 0x0126, 0x2091, 0x8000, 0x00c6, + 0x080c, 0x9e84, 0x001e, 0x01b0, 0x660a, 0x6112, 0x080c, 0xbd78, + 0x6023, 0x0008, 0x2d00, 0x6016, 0x00f6, 0x2c78, 0x080c, 0x13ef, + 0x00fe, 0x2009, 0x0021, 0x080c, 0x9f51, 0x9085, 0x0001, 0x012e, + 0x00ce, 0x0005, 0x9006, 0x0cd8, 0x00c6, 0x0126, 0x2091, 0x8000, + 0x00c6, 0x080c, 0x9e84, 0x001e, 0x0188, 0x660a, 0x6112, 0x080c, + 0xbd78, 0x6023, 0x0001, 0x2d00, 0x6016, 0x2009, 0x003d, 0x080c, + 0x9f51, 0x9085, 0x0001, 0x012e, 0x00ce, 0x0005, 0x9006, 0x0cd8, + 0x00c6, 0x0126, 0x2091, 0x8000, 0x00c6, 0x080c, 0x9f24, 0x001e, + 0x0180, 0x6112, 0x080c, 0xbd78, 0x6023, 0x0001, 0x2d00, 0x6016, + 0x2009, 0x0000, 0x080c, 0x9f51, 0x9085, 0x0001, 0x012e, 0x00ce, + 0x0005, 0x9006, 0x0cd8, 0x00c6, 0x0126, 0x2091, 0x8000, 0x00c6, + 0x080c, 0x9e84, 0x001e, 0x0188, 0x660a, 0x6112, 0x080c, 0xbd78, + 0x6023, 0x0001, 0x2d00, 0x6016, 0x2009, 0x0044, 0x080c, 0x9f51, + 0x9085, 0x0001, 0x012e, 0x00ce, 0x0005, 0x9006, 0x0cd8, 0x00c6, + 0x0126, 0x2091, 0x8000, 0x00c6, 0x080c, 0x9e84, 0x001e, 0x0188, + 0x660a, 0x6112, 0x080c, 0xbd78, 0x6023, 0x0001, 0x2d00, 0x6016, + 0x2009, 0x0049, 0x080c, 0x9f51, 0x9085, 0x0001, 0x012e, 0x00ce, + 0x0005, 0x9006, 0x0cd8, 0x0026, 0x00d6, 0x6210, 0x2268, 0x6a3c, + 0x82ff, 0x0110, 0x8211, 0x6a3e, 0x00de, 0x002e, 0x0005, 0x0006, + 0x0016, 0x6004, 0x908e, 0x0002, 0x0140, 0x908e, 0x0003, 0x0128, + 0x908e, 0x0004, 0x0110, 0x9085, 0x0001, 0x001e, 0x000e, 0x0005, + 0x0006, 0x00d6, 0x6014, 0x906d, 0x0148, 0x6864, 0x9086, 0x0139, + 0x0138, 0x6868, 0xd0fc, 0x0110, 0x9006, 0x0010, 0x9085, 0x0001, + 0x00de, 0x000e, 0x0005, 0x00c6, 0x0126, 0x2091, 0x8000, 0x00c6, + 0x080c, 0x9e84, 0x001e, 0x0190, 0x6112, 0x080c, 0xbd78, 0x6023, + 0x0001, 0x2d00, 0x6016, 0x080c, 0x2a10, 0x2009, 0x0028, 0x080c, + 0x9f51, 0x9085, 0x0001, 0x012e, 0x00ce, 0x0005, 0x9006, 0x0cd8, + 0x9186, 0x0015, 0x1188, 0x2011, 0x1122, 0x2204, 0x9086, 0x0074, + 0x1158, 0x080c, 0xac16, 0x6003, 0x0001, 0x6007, 0x0029, 0x080c, + 0x8326, 0x080c, 0x87fb, 0x0070, 0x6014, 0x9080, 0x001a, 0x2004, + 0xd0fc, 0x0148, 0x2001, 0x0001, 0x080c, 0xbf19, 0x080c, 0xa7f8, + 0x080c, 0x9eda, 0x0005, 0x00d6, 0x6014, 0x906d, 0x090c, 0x0d52, + 0x687b, 0x0030, 0x6883, 0x0000, 0x6897, 0x4005, 0x689b, 0x0004, + 0x6867, 0x0139, 0x0126, 0x2091, 0x8000, 0x080c, 0x5fa7, 0x012e, + 0x00de, 0x080c, 0x9eda, 0x0c30, 0x9186, 0x0016, 0x1128, 0x2001, + 0x0004, 0x080c, 0x58e8, 0x00e8, 0x9186, 0x0015, 0x1518, 0x2011, + 0x1122, 0x2204, 0x9086, 0x0014, 0x11e8, 0x6010, 0x00d6, 0x2068, + 0x080c, 0x5a30, 0x00de, 0x080c, 0xace7, 0x11a0, 0x6010, 0x00d6, + 0x2068, 0x6890, 0x00de, 0x9005, 0x0168, 0x2001, 0x0006, 0x080c, + 0x58e8, 0x6014, 0x9080, 0x001a, 0x2004, 0xd0fc, 0x0170, 0x080c, + 0xa27c, 0x0050, 0x6014, 0x9080, 0x001a, 0x2004, 0xd0fc, 0x01d0, + 0x080c, 0xa7f8, 0x080c, 0x9eda, 0x0005, 0x6014, 0x00d6, 0x906d, + 0x090c, 0x0d52, 0x687b, 0x0000, 0x6883, 0x0000, 0x6897, 0x4000, + 0x0126, 0x2091, 0x8000, 0x080c, 0x5fa7, 0x012e, 0x00de, 0x080c, + 0x9eda, 0x0c50, 0x6014, 0x00d6, 0x906d, 0x090c, 0x0d52, 0x687b, + 0x0030, 0x6883, 0x0000, 0x6897, 0x4005, 0x689b, 0x0004, 0x6867, + 0x0139, 0x0126, 0x2091, 0x8000, 0x080c, 0x5fa7, 0x012e, 0x00de, + 0x080c, 0x9eda, 0x0888, 0x6878, 0x9086, 0x0005, 0x1108, 0x0009, + 0x0005, 0x6880, 0xc0ad, 0x6882, 0x0005, 0x6043, 0x0000, 0x6017, + 0x0000, 0x6003, 0x0001, 0x6007, 0x0050, 0x080c, 0x82d6, 0x080c, + 0x87fb, 0x0005, 0x00c6, 0x6010, 0x2004, 0xd0bc, 0x0120, 0x6020, + 0x9084, 0x000f, 0x0013, 0x00ce, 0x0005, 0xb6ef, 0xbc4e, 0xbc51, + 0xbc54, 0xd1fc, 0xd217, 0xd21a, 0xb6ef, 0xb6ef, 0xb6ef, 0xb6ef, + 0xb6ef, 0xb6ef, 0xb6ef, 0xb6ef, 0x080c, 0x0d52, 0xa001, 0xa001, + 0x0005, 0xa001, 0xa001, 0x0005, 0x0009, 0x0005, 0x6010, 0x2004, + 0xd0bc, 0x0550, 0x00f6, 0x2c78, 0x080c, 0x9e84, 0x1128, 0x2001, + 0x133b, 0x2004, 0x7842, 0x00f8, 0x7810, 0x6012, 0x080c, 0xbd78, + 0x7820, 0x9086, 0x0003, 0x0128, 0x7808, 0x603a, 0x2f00, 0x603e, + 0x0020, 0x7808, 0x603e, 0x2f00, 0x603a, 0x602e, 0x6023, 0x0001, + 0x6007, 0x0035, 0x6003, 0x0001, 0x7954, 0x6156, 0x080c, 0x82d6, + 0x080c, 0x87fb, 0x2f60, 0x00fe, 0x0005, 0x0016, 0x00f6, 0x6830, + 0x6036, 0x908e, 0x0001, 0x0148, 0x6803, 0x0002, 0x9086, 0x0005, + 0x0168, 0x9006, 0x602e, 0x6032, 0x00c8, 0x681c, 0xc085, 0x681e, + 0x6803, 0x0004, 0x6824, 0xc0f4, 0xc0d5, 0x6826, 0x6814, 0x2078, + 0x78ac, 0x6938, 0x9102, 0x78b0, 0x693c, 0x9103, 0x1e50, 0x683c, + 0x602e, 0x6838, 0x9084, 0xfffc, 0x683a, 0x6032, 0x2d00, 0x603a, + 0x6808, 0x603e, 0x6910, 0x6112, 0x6954, 0x6156, 0x6023, 0x0001, + 0x6007, 0x0039, 0x6003, 0x0001, 0x080c, 0x82d6, 0x080c, 0x87fb, + 0x00fe, 0x001e, 0x0005, 0x6024, 0xd0d4, 0x0510, 0xd0f4, 0x11f8, + 0x6038, 0x940a, 0x603c, 0x9303, 0x0230, 0x9105, 0x0120, 0x6024, + 0xc0d4, 0xc0f5, 0x0098, 0x643a, 0x633e, 0x6c3e, 0x6b42, 0x0046, + 0x0036, 0x2400, 0x6cac, 0x9402, 0x6836, 0x2300, 0x6bb0, 0x9303, + 0x683a, 0x003e, 0x004e, 0x6024, 0xc0d4, 0x0000, 0x6026, 0x0005, + 0xd0f4, 0x1138, 0x683c, 0x603a, 0x6840, 0x603e, 0x6024, 0xc0f5, + 0x6026, 0x0005, 0x0006, 0x0016, 0x6004, 0x908e, 0x0034, 0x01b8, + 0x908e, 0x0035, 0x01a0, 0x908e, 0x0036, 0x0188, 0x908e, 0x0037, + 0x0170, 0x908e, 0x0038, 0x0158, 0x908e, 0x0039, 0x0140, 0x908e, + 0x003a, 0x0128, 0x908e, 0x003b, 0x0110, 0x9085, 0x0001, 0x001e, + 0x000e, 0x0005, 0x0006, 0x0016, 0x0026, 0x0036, 0x00e6, 0x2001, + 0x1335, 0x200c, 0x8000, 0x2014, 0x2001, 0x0032, 0x080c, 0x8130, + 0x2001, 0x1339, 0x82ff, 0x1110, 0x2011, 0x0014, 0x2202, 0x2001, + 0x1337, 0x200c, 0x8000, 0x2014, 0x2071, 0x1310, 0x711a, 0x721e, + 0x2001, 0x0064, 0x080c, 0x8130, 0x2001, 0x133a, 0x82ff, 0x1110, + 0x2011, 0x0014, 0x2202, 0x2001, 0x133b, 0x9288, 0x000a, 0x2102, + 0x2001, 0x13e4, 0x2102, 0x2001, 0x0032, 0x080c, 0x137f, 0x080c, + 0x5c7a, 0x00ee, 0x003e, 0x002e, 0x001e, 0x000e, 0x0005, 0x0006, + 0x0016, 0x00e6, 0x2001, 0x1339, 0x2003, 0x0028, 0x2001, 0x133a, + 0x2003, 0x0014, 0x2071, 0x1310, 0x701b, 0x0000, 0x701f, 0x07d0, + 0x2001, 0x133b, 0x2009, 0x001e, 0x2102, 0x2001, 0x13e4, 0x2102, + 0x2001, 0x0032, 0x080c, 0x137f, 0x00ee, 0x001e, 0x000e, 0x0005, + 0x00d6, 0x6058, 0x906d, 0x0110, 0x080c, 0x0e86, 0x00de, 0x0005, + 0x0005, 0x00c6, 0x0126, 0x2091, 0x8000, 0x00c6, 0x080c, 0x9e84, + 0x001e, 0x0178, 0x6112, 0x0ca1, 0x6023, 0x0001, 0x2d00, 0x6016, + 0x2009, 0x0033, 0x080c, 0x9f51, 0x9085, 0x0001, 0x012e, 0x00ce, + 0x0005, 0x9006, 0x0cd8, 0x00d6, 0x00e6, 0x00f6, 0x2071, 0x1100, + 0x9186, 0x0015, 0x1500, 0x7088, 0x9086, 0x0018, 0x11e0, 0x6014, + 0x2068, 0x6a3c, 0xd2e4, 0x1160, 0x2c78, 0x080c, 0x8a82, 0x01d8, + 0x7074, 0x6a50, 0x9206, 0x1160, 0x7078, 0x6a54, 0x9206, 0x1140, + 0x6210, 0x9290, 0x0028, 0x2214, 0x2009, 0x0000, 0x080c, 0x2a53, + 0x080c, 0xa27c, 0x0020, 0x080c, 0xa7f8, 0x080c, 0x9eda, 0x00fe, + 0x00ee, 0x00de, 0x0005, 0x7058, 0x6a54, 0x9206, 0x0d48, 0x0c80, + 0x00c6, 0x0126, 0x2091, 0x8000, 0x00c6, 0x080c, 0x9e84, 0x001e, + 0x0180, 0x6112, 0x080c, 0xbd78, 0x6023, 0x0001, 0x2d00, 0x6016, + 0x2009, 0x004d, 0x080c, 0x9f51, 0x9085, 0x0001, 0x012e, 0x00ce, + 0x0005, 0x9006, 0x0cd8, 0x00c6, 0x0126, 0x2091, 0x8000, 0x0016, + 0x00c6, 0x080c, 0x9e84, 0x001e, 0x0178, 0x6112, 0x080c, 0xbd78, + 0x6023, 0x0001, 0x2d00, 0x6016, 0x001e, 0x080c, 0x9f51, 0x9085, + 0x0001, 0x012e, 0x00ce, 0x0005, 0x001e, 0x9006, 0x0cd0, 0x0016, + 0x0026, 0x0036, 0x0046, 0x0056, 0x0066, 0x00d6, 0x00e6, 0x00f6, + 0x2071, 0x1100, 0x9186, 0x0015, 0x1538, 0x7188, 0x6014, 0x2068, + 0x6814, 0x8003, 0x9106, 0x1500, 0x20e1, 0x0000, 0x2001, 0x1353, + 0x2003, 0x0000, 0x6014, 0x20e9, 0x0001, 0x2068, 0x6830, 0x20a8, + 0x9d80, 0x001b, 0x20a0, 0x2001, 0x1353, 0x0016, 0x200c, 0x080c, + 0xc52d, 0x001e, 0x6804, 0x9005, 0x0110, 0x2068, 0x0c78, 0x6014, + 0x2070, 0x7067, 0x0103, 0x0010, 0x080c, 0xa7f8, 0x080c, 0x9eda, + 0x00fe, 0x00ee, 0x00de, 0x006e, 0x005e, 0x004e, 0x003e, 0x002e, + 0x001e, 0x0005, 0x00d6, 0x00e6, 0x00f6, 0x2071, 0x1100, 0x9186, + 0x0015, 0x11c0, 0x7088, 0x9086, 0x0004, 0x11a0, 0x6014, 0x90e8, + 0x001b, 0x2c78, 0x080c, 0x8a82, 0x01a8, 0x7074, 0x6a08, 0x9206, + 0x1130, 0x7078, 0x6a0c, 0x9206, 0x1110, 0x080c, 0x2a10, 0x080c, + 0xa27c, 0x0020, 0x080c, 0xa7f8, 0x080c, 0x9eda, 0x00fe, 0x00ee, + 0x00de, 0x0005, 0x7058, 0x6a0c, 0x9206, 0x0d78, 0x0c80, 0x00d6, + 0x00e6, 0x00f6, 0x2071, 0x1100, 0x9186, 0x0015, 0x11f0, 0x7088, + 0x9086, 0x0004, 0x11d0, 0x6014, 0x90e8, 0x0031, 0x2c78, 0x080c, + 0x8a82, 0x0558, 0x7074, 0x6a08, 0x9206, 0x1130, 0x7078, 0x6a0c, + 0x9206, 0x1110, 0x080c, 0x2a10, 0x6014, 0x2068, 0x687b, 0x0000, + 0x6883, 0x0000, 0x6897, 0x4000, 0x0050, 0x6014, 0x2068, 0x687b, + 0x0030, 0x6883, 0x0000, 0x6897, 0x4005, 0x689b, 0x0004, 0x0126, + 0x2091, 0x8000, 0x6867, 0x0139, 0x080c, 0x5fa7, 0x012e, 0x080c, + 0x9eda, 0x00fe, 0x00ee, 0x00de, 0x0005, 0x7058, 0x6a0c, 0x9206, + 0x09c8, 0x08d0, 0x0016, 0x0026, 0x687c, 0xd0ac, 0x0178, 0x6938, + 0x6a34, 0x2100, 0x9205, 0x0150, 0x6890, 0x9106, 0x1118, 0x688c, + 0x9206, 0x0120, 0x6992, 0x6a8e, 0x9085, 0x0001, 0x002e, 0x001e, + 0x0005, 0x00d6, 0x0036, 0x6314, 0x2368, 0x687a, 0x6982, 0x929e, + 0x4000, 0x1560, 0x6310, 0x00c6, 0x2360, 0x2009, 0x0000, 0x6868, + 0xd0f4, 0x1140, 0x080c, 0x5b5e, 0x1108, 0xc185, 0x6000, 0xd0bc, + 0x0108, 0xc18d, 0x6a96, 0x699a, 0x20a9, 0x0004, 0x20e1, 0x0001, + 0x20e9, 0x0001, 0x9d80, 0x0031, 0x20a0, 0x9c80, 0x0006, 0x2098, + 0x080c, 0x5335, 0x20a9, 0x0004, 0x9d80, 0x0035, 0x20a0, 0x9c80, + 0x000a, 0x2098, 0x080c, 0x5335, 0x00ce, 0x00a0, 0x6a96, 0x3918, + 0x9398, 0x0006, 0x231c, 0x6004, 0x9086, 0x0016, 0x0110, 0x689b, + 0x0004, 0x6ba2, 0x6310, 0x00c6, 0x2360, 0x6004, 0x00ce, 0x9084, + 0x00ff, 0x689e, 0x080c, 0x5fa7, 0x6017, 0x0000, 0x003e, 0x00de, + 0x0005, 0x0026, 0x0036, 0x0046, 0x00e6, 0x00d6, 0x00f6, 0x6214, + 0x2268, 0x6210, 0x2270, 0x2079, 0x0260, 0x9096, 0x0000, 0x11a8, + 0x7014, 0x9084, 0x00ff, 0x2009, 0x0000, 0x080c, 0x2098, 0x2118, + 0x831f, 0x939c, 0xff00, 0x7838, 0x9084, 0x00ff, 0x931d, 0x7c3c, + 0x2011, 0x8018, 0x080c, 0x40b6, 0x00a8, 0x9096, 0x0001, 0x1148, + 0x8dff, 0x0180, 0x689b, 0x000d, 0x7838, 0x68a6, 0x783c, 0x68aa, + 0x0048, 0x9096, 0x0002, 0x1130, 0x689b, 0x000d, 0x7838, 0x68a6, + 0x783c, 0x68aa, 0x00fe, 0x00de, 0x00ee, 0x004e, 0x003e, 0x002e, + 0x0005, 0x00c6, 0x0026, 0x0016, 0x9186, 0x0035, 0x0110, 0x6a38, + 0x0008, 0x6a2c, 0x080c, 0xb94b, 0x01f0, 0x2260, 0x6120, 0x9186, + 0x0003, 0x0118, 0x9186, 0x0006, 0x1190, 0x6838, 0x9206, 0x0140, + 0x683c, 0x9206, 0x1160, 0x6108, 0x6838, 0x9106, 0x1140, 0x0020, + 0x6008, 0x693c, 0x9106, 0x1118, 0x6010, 0x6910, 0x9106, 0x001e, + 0x002e, 0x00ce, 0x0005, 0x9085, 0x0001, 0x0cc8, 0x6974, 0xd1cc, + 0x0188, 0x918c, 0x00ff, 0x918e, 0x0002, 0x1160, 0x69a8, 0x918c, + 0x0f00, 0x810f, 0x918e, 0x0001, 0x1128, 0x6834, 0x6938, 0x9115, + 0x190c, 0xb152, 0x0005, 0x0066, 0x6000, 0x90b2, 0x0016, 0x1a0c, + 0x0d52, 0x0013, 0x006e, 0x0005, 0xbfb4, 0xc62f, 0xc79b, 0xbfb4, + 0xbfb4, 0xbfb4, 0xbfb4, 0xbfb4, 0xbfeb, 0xc821, 0xbfb4, 0xbfb4, + 0xbfb4, 0xbfb4, 0xbfb4, 0xbfb4, 0x080c, 0x0d52, 0x0066, 0x6000, + 0x90b2, 0x0016, 0x1a0c, 0x0d52, 0x0013, 0x006e, 0x0005, 0xbfcf, + 0xccea, 0xbfcf, 0xbfcf, 0xbfcf, 0xbfcf, 0xbfcf, 0xbfcf, 0xcc99, + 0xcd3e, 0xbfcf, 0xd344, 0xd37a, 0xd344, 0xd37a, 0xbfcf, 0x080c, + 0x0d52, 0x6000, 0x9082, 0x0016, 0x1a0c, 0x0d52, 0x6000, 0x000a, + 0x0005, 0xbfe9, 0xc971, 0xca6a, 0xca8c, 0xcb34, 0xbfe9, 0xcc0b, + 0xcbb6, 0xc82d, 0xcc6f, 0xcc84, 0xbfe9, 0xbfe9, 0xbfe9, 0xbfe9, + 0xbfe9, 0x080c, 0x0d52, 0x91b2, 0x0051, 0x1a0c, 0x0d52, 0x2100, + 0x91b2, 0x0040, 0x1a04, 0xc428, 0x0002, 0xc035, 0xc222, 0xc035, + 0xc035, 0xc035, 0xc22b, 0xc035, 0xc035, 0xc035, 0xc035, 0xc035, + 0xc035, 0xc035, 0xc035, 0xc035, 0xc035, 0xc035, 0xc035, 0xc035, + 0xc035, 0xc035, 0xc035, 0xc035, 0xc037, 0xc093, 0xc0a2, 0xc105, + 0xc130, 0xc1ae, 0xc20d, 0xc035, 0xc035, 0xc22e, 0xc035, 0xc035, + 0xc243, 0xc250, 0xc035, 0xc035, 0xc035, 0xc035, 0xc035, 0xc2d7, + 0xc035, 0xc035, 0xc2e6, 0xc035, 0xc035, 0xc2a2, 0xc035, 0xc035, + 0xc035, 0xc2fe, 0xc035, 0xc035, 0xc035, 0xc37a, 0xc035, 0xc035, + 0xc035, 0xc035, 0xc035, 0xc035, 0xc3ef, 0x080c, 0x0d52, 0x080c, + 0x5c59, 0x1150, 0x2001, 0x1135, 0x2004, 0xd0cc, 0x1128, 0x9084, + 0x0009, 0x9086, 0x0008, 0x1140, 0x6007, 0x0009, 0x602f, 0x0009, + 0x6017, 0x0000, 0x0804, 0xc21b, 0x080c, 0x5c0d, 0x00e6, 0x00c6, + 0x0036, 0x0026, 0x0016, 0x6210, 0x2270, 0x72a0, 0x0026, 0x2019, + 0x0029, 0x080c, 0x8464, 0x0076, 0x2039, 0x0000, 0x080c, 0x8356, + 0x2c08, 0x080c, 0xcf02, 0x007e, 0x001e, 0x2e60, 0x001e, 0x002e, + 0x003e, 0x00ce, 0x00ee, 0x6610, 0x00c6, 0x2660, 0x080c, 0x599e, + 0x00ce, 0x96b0, 0x0001, 0x2634, 0x9684, 0x00ff, 0x9082, 0x0006, + 0x0278, 0x080c, 0xce46, 0x1904, 0xc0ff, 0x080c, 0xcde3, 0x1120, + 0x6007, 0x0008, 0x0804, 0xc21b, 0x6007, 0x0009, 0x0804, 0xc21b, + 0x080c, 0xd051, 0x0128, 0x080c, 0xce46, 0x0d78, 0x0804, 0xc0ff, + 0x6017, 0x1900, 0x0c88, 0x080c, 0x2b2e, 0x1904, 0xc425, 0x6106, + 0x080c, 0xcd9f, 0x6007, 0x0006, 0x0804, 0xc21b, 0x6007, 0x0007, + 0x0804, 0xc21b, 0x080c, 0xd3b6, 0x1904, 0xc425, 0x080c, 0x2b2e, + 0x1904, 0xc425, 0x00d6, 0x6610, 0x2668, 0x6e04, 0x9684, 0x00ff, + 0x9082, 0x0006, 0x1220, 0x2001, 0x0001, 0x080c, 0x58d6, 0x96b4, + 0xff00, 0x8637, 0x9686, 0x0006, 0x0188, 0x9686, 0x0004, 0x0170, + 0x6e04, 0x96b4, 0x00ff, 0x9686, 0x0006, 0x0140, 0x9686, 0x0004, + 0x0128, 0x9686, 0x0005, 0x0110, 0x00de, 0x0488, 0x00e6, 0x2071, + 0x0260, 0x7034, 0x90b4, 0x0003, 0x1138, 0x90b2, 0x0014, 0x0220, + 0x7030, 0x9084, 0x0003, 0x0130, 0x00ee, 0x6017, 0x0000, 0x602f, + 0x0007, 0x00c0, 0x00ee, 0x080c, 0xcea4, 0x11a0, 0x9686, 0x0006, + 0x1150, 0x0026, 0x6210, 0x9290, 0x0028, 0x2214, 0x2009, 0x0000, + 0x080c, 0x2a53, 0x002e, 0x080c, 0x5a30, 0x6007, 0x000a, 0x00de, + 0x0804, 0xc21b, 0x6007, 0x000b, 0x00de, 0x0804, 0xc21b, 0x080c, + 0x2a10, 0x6007, 0x0001, 0x0804, 0xc21b, 0x080c, 0xd3b6, 0x1904, + 0xc425, 0x080c, 0x2b2e, 0x1904, 0xc425, 0x2071, 0x0260, 0x7034, + 0x90b4, 0x0003, 0x1948, 0x90b2, 0x0014, 0x0a30, 0x7030, 0x9084, + 0x0003, 0x1910, 0x6610, 0x00d6, 0x2668, 0x6e04, 0x00de, 0x9686, + 0x0707, 0x09e8, 0x0026, 0x6210, 0x9290, 0x0028, 0x2214, 0x2009, + 0x0000, 0x080c, 0x2a53, 0x002e, 0x6007, 0x000c, 0x0804, 0xc21b, + 0x080c, 0x5c59, 0x1140, 0x2001, 0x1135, 0x2004, 0x9084, 0x0009, + 0x9086, 0x0008, 0x1110, 0x0804, 0xc044, 0x080c, 0x5c0d, 0x6610, + 0x96b0, 0x0001, 0x2634, 0x9684, 0x00ff, 0x9082, 0x0006, 0x06e8, + 0x1138, 0x0026, 0x2001, 0x0006, 0x080c, 0x5915, 0x002e, 0x0050, + 0x96b4, 0xff00, 0x8637, 0x9686, 0x0004, 0x0120, 0x9686, 0x0006, + 0x1904, 0xc0ff, 0x080c, 0xceb1, 0x1120, 0x6007, 0x000e, 0x0804, + 0xc21b, 0x0046, 0x6410, 0x94a0, 0x0028, 0x2424, 0x94a4, 0x00ff, + 0x8427, 0x0046, 0x080c, 0x2a10, 0x004e, 0x0016, 0x9006, 0x2009, + 0x1153, 0x210c, 0xd1a4, 0x0158, 0x2009, 0x0029, 0x080c, 0xd1bd, + 0x6010, 0x00d6, 0x2068, 0x6800, 0xc0e5, 0x6802, 0x00de, 0x001e, + 0x004e, 0x6007, 0x0001, 0x0804, 0xc21b, 0x2001, 0x0001, 0x080c, + 0x58d6, 0x0156, 0x0016, 0x0026, 0x0036, 0x20a9, 0x0004, 0x2019, + 0x1105, 0x2011, 0x0270, 0x080c, 0xad80, 0x003e, 0x002e, 0x001e, + 0x015e, 0x9005, 0x0168, 0x96b4, 0xff00, 0x8637, 0x9682, 0x0004, + 0x0a04, 0xc0ff, 0x9682, 0x0007, 0x0a04, 0xc15a, 0x0804, 0xc0ff, + 0x6017, 0x1900, 0x6007, 0x0009, 0x0804, 0xc21b, 0x080c, 0x5c59, + 0x1140, 0x2001, 0x1135, 0x2004, 0x9084, 0x0009, 0x9086, 0x0008, + 0x1110, 0x0804, 0xc044, 0x080c, 0x5c0d, 0x6610, 0x96b0, 0x0001, + 0x2634, 0x9684, 0x00ff, 0x9082, 0x0006, 0x06b8, 0x96b4, 0xff00, + 0x8637, 0x9686, 0x0004, 0x0120, 0x9686, 0x0006, 0x1904, 0xc0ff, + 0x080c, 0xced9, 0x1138, 0x080c, 0xcde3, 0x1120, 0x6007, 0x0010, + 0x0804, 0xc21b, 0x0046, 0x6410, 0x94a0, 0x0028, 0x2424, 0x94a4, + 0x00ff, 0x8427, 0x0046, 0x080c, 0x2a10, 0x004e, 0x0016, 0x9006, + 0x2009, 0x1153, 0x210c, 0xd1a4, 0x0158, 0x2009, 0x0029, 0x080c, + 0xd1bd, 0x6010, 0x00d6, 0x2068, 0x6800, 0xc0e5, 0x6802, 0x00de, + 0x001e, 0x004e, 0x6007, 0x0001, 0x00f0, 0x080c, 0xd051, 0x0140, + 0x96b4, 0xff00, 0x8637, 0x9686, 0x0006, 0x0950, 0x0804, 0xc0ff, + 0x6017, 0x1900, 0x6007, 0x0009, 0x0070, 0x080c, 0x2b2e, 0x1904, + 0xc425, 0x080c, 0xd3b6, 0x1904, 0xc425, 0x080c, 0xc5c8, 0x1904, + 0xc0ff, 0x6007, 0x0012, 0x6003, 0x0001, 0x080c, 0x8326, 0x080c, + 0x87fb, 0x0005, 0x6007, 0x0001, 0x6003, 0x0001, 0x080c, 0x8326, + 0x080c, 0x87fb, 0x0cb0, 0x6007, 0x0005, 0x0c68, 0x080c, 0xd3b6, + 0x1904, 0xc425, 0x080c, 0x2b2e, 0x1904, 0xc425, 0x080c, 0xc5c8, + 0x1904, 0xc0ff, 0x6007, 0x0020, 0x6003, 0x0001, 0x080c, 0x8326, + 0x080c, 0x87fb, 0x0005, 0x080c, 0x2b2e, 0x1904, 0xc425, 0x6007, + 0x0023, 0x6003, 0x0001, 0x080c, 0x8326, 0x080c, 0x87fb, 0x0005, + 0x080c, 0xd3b6, 0x1904, 0xc425, 0x080c, 0x2b2e, 0x1904, 0xc425, + 0x080c, 0xc5c8, 0x1904, 0xc0ff, 0x0016, 0x0026, 0x00e6, 0x2071, + 0x0260, 0x7244, 0x9286, 0xffff, 0x0180, 0x2c08, 0x080c, 0xb94b, + 0x01b0, 0x2260, 0x7240, 0x6008, 0x9206, 0x1188, 0x6010, 0x9190, + 0x0004, 0x2214, 0x9206, 0x01b8, 0x0050, 0x7240, 0x2c08, 0x9006, + 0x080c, 0xd187, 0x1180, 0x7244, 0x9286, 0xffff, 0x01b0, 0x2160, + 0x6007, 0x0026, 0x6017, 0x1700, 0x7214, 0x9296, 0xffff, 0x1180, + 0x6007, 0x0025, 0x0068, 0x6020, 0x9086, 0x0007, 0x1d80, 0x6004, + 0x9086, 0x0024, 0x1110, 0x080c, 0x9eda, 0x2160, 0x6007, 0x0025, + 0x6003, 0x0001, 0x080c, 0x8326, 0x080c, 0x87fb, 0x00ee, 0x002e, + 0x001e, 0x0005, 0x2001, 0x0001, 0x080c, 0x58d6, 0x0156, 0x0016, + 0x0026, 0x0036, 0x20a9, 0x0004, 0x2019, 0x1105, 0x2011, 0x0276, + 0x080c, 0xad80, 0x003e, 0x002e, 0x001e, 0x015e, 0x0120, 0x6007, + 0x0031, 0x0804, 0xc21b, 0x080c, 0xaa06, 0x080c, 0x672f, 0x11b0, + 0x0006, 0x0026, 0x0036, 0x080c, 0x674b, 0x1158, 0x2001, 0x1321, + 0x2003, 0x0001, 0x2001, 0x1100, 0x2003, 0x0001, 0x080c, 0x665f, + 0x0010, 0x080c, 0x6706, 0x003e, 0x002e, 0x000e, 0x0005, 0x080c, + 0x2b2e, 0x1904, 0xc425, 0x6106, 0x080c, 0xc5e4, 0x6007, 0x002b, + 0x0804, 0xc21b, 0x6007, 0x002c, 0x0804, 0xc21b, 0x080c, 0xd3b6, + 0x1904, 0xc425, 0x080c, 0x2b2e, 0x1904, 0xc425, 0x080c, 0xc5c8, + 0x1904, 0xc0ff, 0x6106, 0x080c, 0xc5e8, 0x1120, 0x6007, 0x002e, + 0x0804, 0xc21b, 0x6007, 0x002f, 0x0804, 0xc21b, 0x080c, 0x2b2e, + 0x1904, 0xc425, 0x00e6, 0x00d6, 0x00c6, 0x6010, 0x9080, 0x0001, + 0x200c, 0x9184, 0x00ff, 0x9086, 0x0006, 0x0158, 0x9184, 0xff00, + 0x8007, 0x9086, 0x0006, 0x0128, 0x00ce, 0x00de, 0x00ee, 0x0804, + 0xc222, 0x2001, 0x1172, 0x2004, 0xd0e4, 0x0904, 0xc377, 0x2071, + 0x026c, 0x7010, 0x603a, 0x7014, 0x603e, 0x7108, 0x720c, 0x2001, + 0x1153, 0x2004, 0xd0a4, 0x0140, 0x6010, 0x2068, 0x6810, 0x9106, + 0x1118, 0x6814, 0x9206, 0x0508, 0x2001, 0x1153, 0x2004, 0xd0ac, + 0x15a0, 0x2069, 0x1100, 0x6878, 0x9206, 0x1578, 0x6874, 0x9106, + 0x1560, 0x7210, 0x080c, 0xb94b, 0x0568, 0x080c, 0xd229, 0x0550, + 0x622e, 0x6007, 0x0036, 0x6003, 0x0001, 0x080c, 0x82d6, 0x080c, + 0x87fb, 0x00ce, 0x00de, 0x00ee, 0x0005, 0x7214, 0x9286, 0xffff, + 0x0150, 0x080c, 0xb94b, 0x01b0, 0x9280, 0x0002, 0x2004, 0x7110, + 0x9106, 0x1180, 0x08f8, 0x7210, 0x2c08, 0x9085, 0x0001, 0x080c, + 0xd187, 0x2c10, 0x2160, 0x0130, 0x08a8, 0x6007, 0x0037, 0x6017, + 0x1500, 0x08c8, 0x6007, 0x0037, 0x6017, 0x1700, 0x08a0, 0x6007, + 0x0012, 0x0888, 0x080c, 0x2b2e, 0x1904, 0xc425, 0x6010, 0x9080, + 0x0001, 0x2004, 0x9084, 0xff00, 0x8007, 0x9086, 0x0006, 0x1904, + 0xc222, 0x00e6, 0x00d6, 0x00c6, 0x2001, 0x1172, 0x2004, 0xd0e4, + 0x0904, 0xc3e7, 0x2069, 0x1100, 0x2071, 0x026c, 0x7008, 0x603a, + 0x720c, 0x623e, 0x9286, 0xffff, 0x1150, 0x7208, 0x00c6, 0x2c08, + 0x9085, 0x0001, 0x080c, 0xd187, 0x2c10, 0x00ce, 0x0598, 0x080c, + 0xb94b, 0x0580, 0x00c6, 0x0026, 0x2260, 0x080c, 0xb606, 0x002e, + 0x00ce, 0x7118, 0x918c, 0xff00, 0x810f, 0x9186, 0x0001, 0x0158, + 0x9186, 0x0005, 0x0118, 0x9186, 0x0007, 0x1178, 0x9280, 0x0005, + 0x2004, 0x9005, 0x0150, 0x0056, 0x7510, 0x7614, 0x080c, 0xd242, + 0x005e, 0x00ce, 0x00de, 0x00ee, 0x0005, 0x6007, 0x003b, 0x602f, + 0x0009, 0x6017, 0x2a00, 0x6003, 0x0001, 0x080c, 0x82d6, 0x080c, + 0x87fb, 0x0c78, 0x6007, 0x003b, 0x602f, 0x0009, 0x6017, 0x1700, + 0x6003, 0x0001, 0x080c, 0x82d6, 0x080c, 0x87fb, 0x0c10, 0x6007, + 0x003b, 0x602f, 0x000b, 0x6017, 0x0000, 0x0804, 0xc34b, 0x00e6, + 0x0026, 0x080c, 0x5c59, 0x0558, 0x080c, 0x5c0d, 0x080c, 0xd421, + 0x1520, 0x2071, 0x1100, 0x70d4, 0xc085, 0x70d6, 0x00f6, 0x2079, + 0x0100, 0x72a4, 0x9284, 0x00ff, 0x7076, 0x78e6, 0x9284, 0xff00, + 0x7278, 0x9205, 0x707a, 0x78ea, 0x00fe, 0x70df, 0x0000, 0x2001, + 0x1153, 0x2004, 0xd0a4, 0x0120, 0x2011, 0x1395, 0x2013, 0x07d0, + 0xd0ac, 0x1128, 0x080c, 0x2802, 0x0010, 0x080c, 0xd44d, 0x002e, + 0x00ee, 0x080c, 0x9eda, 0x0804, 0xc221, 0x080c, 0x9eda, 0x0005, + 0x2600, 0x0002, 0xc43b, 0xc468, 0xc479, 0xc43b, 0xc43b, 0xc43d, + 0xc48a, 0xc43b, 0xc43b, 0xc43b, 0xc456, 0xc43b, 0xc43b, 0xc43b, + 0xc495, 0xc4a2, 0xc4d1, 0x080c, 0x0d52, 0x080c, 0xd3b6, 0x1d28, + 0x080c, 0x2b2e, 0x1d10, 0x080c, 0xc5c8, 0x1138, 0x6007, 0x0045, + 0x6003, 0x0001, 0x080c, 0x8326, 0x0005, 0x080c, 0x2a10, 0x6007, + 0x0001, 0x6003, 0x0001, 0x080c, 0x8326, 0x0005, 0x080c, 0xd3b6, + 0x1960, 0x080c, 0x2b2e, 0x1948, 0x080c, 0xc5c8, 0x1d70, 0x703c, + 0x6016, 0x6007, 0x004a, 0x6003, 0x0001, 0x080c, 0x8326, 0x0005, + 0x080c, 0x2b2e, 0x1904, 0xc425, 0x2009, 0x0041, 0x080c, 0xd456, + 0x6007, 0x0047, 0x6003, 0x0001, 0x080c, 0x8326, 0x080c, 0x87fb, + 0x0005, 0x080c, 0x2b2e, 0x1904, 0xc425, 0x2009, 0x0042, 0x080c, + 0xd456, 0x6007, 0x0047, 0x6003, 0x0001, 0x080c, 0x8326, 0x080c, + 0x87fb, 0x0005, 0x080c, 0x2b2e, 0x1904, 0xc425, 0x2009, 0x0046, + 0x080c, 0xd456, 0x080c, 0x9eda, 0x0005, 0x080c, 0xc4d6, 0x0904, + 0xc425, 0x6007, 0x004e, 0x6003, 0x0001, 0x080c, 0x8326, 0x080c, + 0x87fb, 0x0005, 0x6007, 0x004f, 0x6017, 0x0000, 0x7134, 0x918c, + 0x00ff, 0x81ff, 0x01f8, 0x9186, 0x0001, 0x1160, 0x7140, 0x2001, + 0x136c, 0x2004, 0x9106, 0x11a0, 0x7144, 0x2001, 0x136d, 0x2004, + 0x9106, 0x0180, 0x9186, 0x0002, 0x1158, 0x2011, 0x0276, 0x20a9, + 0x0004, 0x6010, 0x6010, 0x9098, 0x000a, 0x080c, 0xad80, 0x0110, + 0x6017, 0x0001, 0x6003, 0x0001, 0x080c, 0x8326, 0x080c, 0x87fb, + 0x0005, 0x6007, 0x0050, 0x703c, 0x6016, 0x0ca0, 0x0016, 0x00d6, + 0x00e6, 0x01c6, 0x01d6, 0x0126, 0x2091, 0x8000, 0x2071, 0x1100, + 0x7088, 0x908a, 0x00f9, 0x16c8, 0x20e1, 0x0000, 0x20e9, 0x0001, + 0x2001, 0x1353, 0x2003, 0x0000, 0x080c, 0x0e54, 0x0570, 0x2d00, + 0x6016, 0x7088, 0x8004, 0x6816, 0x908a, 0x001e, 0x02b8, 0x6833, + 0x001e, 0x20a9, 0x001e, 0x9d80, 0x001b, 0x20a0, 0x2001, 0x1353, + 0x0016, 0x200c, 0x0451, 0x001e, 0x2d70, 0x080c, 0x0e54, 0x01a8, + 0x2d00, 0x7006, 0x2100, 0x81ff, 0x0168, 0x0c30, 0x6832, 0x20a8, + 0x9d80, 0x001b, 0x20a0, 0x2001, 0x1353, 0x0016, 0x200c, 0x00a9, + 0x001e, 0x0000, 0x9085, 0x0001, 0x0048, 0x2071, 0x1100, 0x708b, + 0x0000, 0x6014, 0x2068, 0x080c, 0x0e96, 0x9006, 0x012e, 0x01de, + 0x01ce, 0x00ee, 0x00de, 0x001e, 0x0005, 0x0006, 0x0016, 0x0026, + 0x0036, 0x00c6, 0x918c, 0xffff, 0x11a8, 0x080c, 0x1c34, 0x2099, + 0x026c, 0x2001, 0x0014, 0x3518, 0x9312, 0x1218, 0x23a8, 0x4003, + 0x00f8, 0x20a8, 0x4003, 0x22a8, 0x8108, 0x080c, 0x1c34, 0x2099, + 0x0260, 0x0ca8, 0x080c, 0x1c34, 0x2061, 0x1353, 0x6004, 0x2098, + 0x6008, 0x3518, 0x9312, 0x1218, 0x23a8, 0x4003, 0x0048, 0x20a8, + 0x4003, 0x22a8, 0x8108, 0x080c, 0x1c34, 0x2099, 0x0260, 0x0ca8, + 0x2061, 0x1353, 0x2019, 0x0280, 0x3300, 0x931e, 0x0110, 0x6006, + 0x0020, 0x2001, 0x0260, 0x6006, 0x8108, 0x2162, 0x9292, 0x0021, + 0x9296, 0xffff, 0x620a, 0x00ce, 0x003e, 0x002e, 0x001e, 0x000e, + 0x0005, 0x0006, 0x0016, 0x0026, 0x0036, 0x00c6, 0x81ff, 0x11b8, + 0x080c, 0x1c4c, 0x20a1, 0x024c, 0x2001, 0x0014, 0x3518, 0x9312, + 0x1218, 0x23a8, 0x4003, 0x0418, 0x20a8, 0x4003, 0x82ff, 0x01f8, + 0x22a8, 0x8108, 0x080c, 0x1c4c, 0x20a1, 0x0240, 0x0c98, 0x080c, + 0x1c4c, 0x2061, 0x1356, 0x6004, 0x20a0, 0x6008, 0x3518, 0x9312, + 0x1218, 0x23a8, 0x4003, 0x0058, 0x20a8, 0x4003, 0x82ff, 0x0138, + 0x22a8, 0x8108, 0x080c, 0x1c4c, 0x20a1, 0x0240, 0x0c98, 0x2061, + 0x1356, 0x2019, 0x0260, 0x3400, 0x931e, 0x0110, 0x6006, 0x0020, + 0x2001, 0x0240, 0x6006, 0x8108, 0x2162, 0x9292, 0x0021, 0x9296, + 0xffff, 0x620a, 0x00ce, 0x003e, 0x002e, 0x001e, 0x000e, 0x0005, + 0x00d6, 0x0066, 0x6610, 0x2668, 0x6e04, 0x96b4, 0xff00, 0x8637, + 0x9686, 0x0006, 0x0170, 0x9686, 0x0004, 0x0158, 0x6e04, 0x96b4, + 0x00ff, 0x9686, 0x0006, 0x0128, 0x9686, 0x0004, 0x0110, 0x9085, + 0x0001, 0x006e, 0x00de, 0x0005, 0x00d6, 0x0449, 0x00de, 0x0005, + 0x00d6, 0x0491, 0x11f0, 0x680c, 0x908c, 0xff00, 0x6820, 0x9084, + 0x00ff, 0x9115, 0x6216, 0x6824, 0x602e, 0xd1e4, 0x0118, 0x2009, + 0x0001, 0x0060, 0xd1ec, 0x0168, 0x6920, 0x918c, 0x00ff, 0x6824, + 0x080c, 0x2098, 0x1130, 0x2110, 0x2009, 0x0000, 0x080c, 0x2a53, + 0x0018, 0x9085, 0x0001, 0x0008, 0x9006, 0x00de, 0x0005, 0x2069, + 0x026d, 0x6800, 0x9082, 0x0010, 0x1228, 0x6017, 0x0000, 0x9085, + 0x0001, 0x0008, 0x9006, 0x0005, 0x6017, 0x0000, 0x2069, 0x026c, + 0x6808, 0x9084, 0xff00, 0x9086, 0x0800, 0x1140, 0x6800, 0x9084, + 0x00ff, 0x908e, 0x0014, 0x0110, 0x908e, 0x0010, 0x0005, 0x6004, + 0x90b2, 0x0051, 0x1a0c, 0x0d52, 0x91b6, 0x0013, 0x1130, 0x2008, + 0x91b2, 0x0040, 0x1a04, 0xc76d, 0x0092, 0x91b6, 0x0027, 0x0120, + 0x91b6, 0x0014, 0x190c, 0x0d52, 0x2001, 0x0007, 0x080c, 0x5915, + 0x080c, 0x86ff, 0x080c, 0x9f0b, 0x080c, 0x87fb, 0x0005, 0xc68f, + 0xc691, 0xc68f, 0xc68f, 0xc68f, 0xc691, 0xc6a3, 0xc766, 0xc701, + 0xc766, 0xc717, 0xc766, 0xc6a3, 0xc766, 0xc75e, 0xc766, 0xc75e, + 0xc766, 0xc766, 0xc68f, 0xc68f, 0xc68f, 0xc68f, 0xc68f, 0xc68f, + 0xc68f, 0xc68f, 0xc68f, 0xc68f, 0xc68f, 0xc691, 0xc68f, 0xc766, + 0xc68f, 0xc68f, 0xc766, 0xc68f, 0xc763, 0xc766, 0xc68f, 0xc68f, + 0xc68f, 0xc68f, 0xc766, 0xc766, 0xc68f, 0xc766, 0xc766, 0xc68f, + 0xc69d, 0xc68f, 0xc68f, 0xc68f, 0xc68f, 0xc762, 0xc766, 0xc68f, + 0xc68f, 0xc766, 0xc766, 0xc68f, 0xc68f, 0xc68f, 0xc68f, 0x080c, + 0x0d52, 0x080c, 0x86ff, 0x2001, 0x1339, 0x2004, 0x601a, 0x6003, + 0x0002, 0x080c, 0x87fb, 0x0804, 0xc76c, 0x2001, 0x0000, 0x080c, + 0x58d6, 0x0804, 0xc766, 0x00f6, 0x2079, 0x1152, 0x7804, 0x00fe, + 0xd0ac, 0x1904, 0xc766, 0x2001, 0x0000, 0x080c, 0x58d6, 0x6010, + 0x9080, 0x0004, 0x2004, 0x9086, 0x00ff, 0x1140, 0x00f6, 0x2079, + 0x1100, 0x789c, 0x8000, 0x789e, 0x00fe, 0x0448, 0x6010, 0x00c6, + 0x2060, 0x6000, 0xd0f4, 0x1178, 0x6010, 0x9005, 0x0160, 0x0036, + 0x0046, 0x63a0, 0x2021, 0x0007, 0x080c, 0x41b9, 0x004e, 0x003e, + 0x00ce, 0x0804, 0xc766, 0x00ce, 0x2001, 0x1174, 0x2004, 0xd0bc, + 0x1904, 0xc766, 0x2001, 0x1100, 0x2004, 0x9086, 0x0002, 0x1138, + 0x00f6, 0x2079, 0x1100, 0x789c, 0x8000, 0x789e, 0x00fe, 0x2001, + 0x0002, 0x080c, 0x58e8, 0x080c, 0x86ff, 0x6023, 0x0001, 0x6003, + 0x0001, 0x6007, 0x0002, 0x080c, 0x8326, 0x080c, 0x87fb, 0x6110, + 0x00c6, 0x2160, 0x2009, 0x0001, 0x080c, 0x7744, 0x00ce, 0x0804, + 0xc76c, 0x6610, 0x00d6, 0x2668, 0x6e04, 0x00de, 0x96b4, 0xff00, + 0x8637, 0x9686, 0x0006, 0x0904, 0xc766, 0x9686, 0x0004, 0x0904, + 0xc766, 0x080c, 0x7e6c, 0x2001, 0x0004, 0x0804, 0xc764, 0x2001, + 0x1100, 0x2004, 0x9086, 0x0003, 0x1160, 0x0036, 0x0046, 0x6010, + 0x9080, 0x0028, 0x201c, 0x2021, 0x0006, 0x080c, 0x41b9, 0x004e, + 0x003e, 0x2001, 0x0006, 0x080c, 0xc789, 0x6610, 0x00d6, 0x2668, + 0x6e04, 0x00de, 0x0066, 0x96b4, 0xff00, 0x8637, 0x9686, 0x0006, + 0x006e, 0x0120, 0x2001, 0x0006, 0x080c, 0x5915, 0x2001, 0x1153, + 0x2004, 0xd0ac, 0x1518, 0x2001, 0x1135, 0x2004, 0xd0a4, 0x01f0, + 0x00d6, 0x6610, 0x2668, 0x6e04, 0x00de, 0x96b4, 0x00ff, 0x9686, + 0x0006, 0x01a0, 0x00f6, 0x2079, 0x1100, 0x789c, 0x8000, 0x789e, + 0x00fe, 0x0804, 0xc6e7, 0x2001, 0x0004, 0x0030, 0x2001, 0x0006, + 0x0441, 0x0020, 0x0018, 0x0010, 0x080c, 0x5915, 0x080c, 0x86ff, + 0x080c, 0x9eda, 0x080c, 0x87fb, 0x0005, 0x2600, 0x0002, 0xc780, + 0xc780, 0xc780, 0xc780, 0xc780, 0xc782, 0xc780, 0xc782, 0xc780, + 0xc780, 0xc782, 0xc780, 0xc780, 0xc780, 0xc782, 0xc782, 0xc782, + 0x080c, 0x0d52, 0x080c, 0x86ff, 0x080c, 0x9eda, 0x080c, 0x87fb, + 0x0005, 0x0016, 0x00d6, 0x6110, 0x2168, 0x6900, 0xd184, 0x0140, + 0x080c, 0x58e8, 0x2001, 0x0000, 0x080c, 0x58d6, 0x080c, 0x2a34, + 0x00de, 0x001e, 0x0005, 0x6610, 0x00d6, 0x2668, 0x6804, 0x9084, + 0xff00, 0x8007, 0x00de, 0x90b2, 0x000c, 0x1a0c, 0x0d52, 0x91b6, + 0x0015, 0x1110, 0x003b, 0x0028, 0x91b6, 0x0016, 0x190c, 0x0d52, + 0x006b, 0x0005, 0xa8d5, 0xa8d5, 0xa8d5, 0xa8d5, 0xa8d5, 0xa8d5, + 0xc80b, 0xc7ca, 0xa8d5, 0xa8d5, 0xa8d5, 0xa8d5, 0xa8d5, 0xa8d5, + 0xa8d5, 0xa8d5, 0xa8d5, 0xa8d5, 0xc80b, 0xc812, 0xa8d5, 0xa8d5, + 0xa8d5, 0xa8d5, 0x00f6, 0x2079, 0x1152, 0x7804, 0xd0ac, 0x11e0, + 0x6010, 0x907d, 0x01c8, 0x7800, 0xd0f4, 0x1118, 0x7810, 0x9005, + 0x1198, 0x2001, 0x0000, 0x080c, 0x58d6, 0x2001, 0x0002, 0x080c, + 0x58e8, 0x6023, 0x0001, 0x6003, 0x0001, 0x6007, 0x0002, 0x080c, + 0x8326, 0x080c, 0x87fb, 0x00e8, 0x2011, 0x0263, 0x2204, 0x8211, + 0x220c, 0x080c, 0x2098, 0x11a8, 0x00c6, 0x080c, 0x598f, 0x0120, + 0x00ce, 0x080c, 0x9eda, 0x0068, 0x6010, 0x0006, 0x6014, 0x0006, + 0x080c, 0x53ea, 0x000e, 0x6016, 0x000e, 0x6012, 0x00ce, 0x080c, + 0x9eda, 0x00fe, 0x0005, 0x6604, 0x96b6, 0x001e, 0x1110, 0x080c, + 0x9eda, 0x0005, 0x080c, 0xac13, 0x1148, 0x6003, 0x0001, 0x6007, + 0x0001, 0x080c, 0x8326, 0x080c, 0x87fb, 0x0010, 0x080c, 0x9eda, + 0x0005, 0x6004, 0x908a, 0x0051, 0x1a0c, 0x0d52, 0x080c, 0x86ff, + 0x080c, 0x9f0b, 0x080c, 0x87fb, 0x0005, 0x9182, 0x0040, 0x0002, + 0xc843, 0xc843, 0xc843, 0xc843, 0xc845, 0xc843, 0xc843, 0xc843, + 0xc843, 0xc843, 0xc843, 0xc843, 0xc843, 0xc843, 0xc843, 0xc843, + 0xc843, 0xc843, 0xc843, 0x080c, 0x0d52, 0x00d6, 0x00e6, 0x00f6, + 0x0046, 0x0026, 0x6210, 0x9280, 0x002f, 0x2004, 0x9005, 0x1190, + 0x6106, 0x2071, 0x0260, 0x7444, 0x94a4, 0xff00, 0x0904, 0xc8aa, + 0x9486, 0x2000, 0x1160, 0x2009, 0x0001, 0x2011, 0x0200, 0x080c, + 0x78ed, 0x0028, 0x2021, 0x0000, 0x080c, 0xd3f2, 0x0c48, 0x080c, + 0x0e6d, 0x090c, 0x0d52, 0x6003, 0x0007, 0x2d00, 0x6867, 0x010d, + 0x6803, 0x0000, 0x686b, 0x0000, 0x6c8a, 0x2c00, 0x688e, 0x6008, + 0x68e2, 0x6010, 0x2078, 0x78a0, 0x8007, 0x7130, 0x697a, 0x0016, + 0x9084, 0xff00, 0x6876, 0x687f, 0x0000, 0x6883, 0x0000, 0x6887, + 0x0036, 0x080c, 0x5fa7, 0x001e, 0x9486, 0x2000, 0x1130, 0x2019, + 0x0017, 0x080c, 0xd13b, 0x0804, 0xc905, 0x9486, 0x0400, 0x1130, + 0x2019, 0x0002, 0x080c, 0xd0ed, 0x0804, 0xc905, 0x9486, 0x0200, + 0x1110, 0x080c, 0xd0d2, 0x9486, 0x1000, 0x1110, 0x080c, 0xd120, + 0x0804, 0xc905, 0x2069, 0x13cd, 0x6a00, 0xd284, 0x0904, 0xc96d, + 0x9284, 0x0300, 0x1904, 0xc966, 0x6804, 0x9005, 0x0904, 0xc94e, + 0x2d78, 0x6003, 0x0007, 0x080c, 0x0e54, 0x0904, 0xc90f, 0x7800, + 0xd08c, 0x1118, 0x7804, 0x8001, 0x7806, 0x6017, 0x0000, 0x6803, + 0x0000, 0x6867, 0x0116, 0x686b, 0x0000, 0x6008, 0x68e2, 0x2c00, + 0x687a, 0x6010, 0x2078, 0x78a0, 0x8007, 0x7130, 0x69b6, 0x6876, + 0x7928, 0x69ba, 0x792c, 0x69be, 0x7930, 0x69c2, 0x7934, 0x69c6, + 0x6883, 0x003d, 0x7044, 0x9084, 0x0003, 0x9080, 0xc90b, 0x2005, + 0x687e, 0x20a9, 0x000a, 0x2001, 0x0270, 0x9d90, 0x0021, 0x2009, + 0x0205, 0x200b, 0x0080, 0x20e1, 0x0000, 0x20e9, 0x0001, 0x2098, + 0x22a0, 0x4003, 0x200b, 0x0000, 0x2001, 0x027a, 0x200c, 0x69b2, + 0x8000, 0x200c, 0x69ae, 0x080c, 0x5fa7, 0x002e, 0x004e, 0x00fe, + 0x00ee, 0x00de, 0x0005, 0x0000, 0x0080, 0x0040, 0x0000, 0x2001, + 0x110f, 0x2004, 0xd084, 0x0120, 0x080c, 0x0e6d, 0x1904, 0xc8bf, + 0x6017, 0x0100, 0x6003, 0x0001, 0x6007, 0x0041, 0x080c, 0x82d6, + 0x080c, 0x87fb, 0x0c10, 0x2069, 0x0260, 0x6848, 0x9084, 0xff00, + 0x9086, 0x1200, 0x1198, 0x686c, 0x9084, 0x00ff, 0x0016, 0x6114, + 0x918c, 0x0700, 0x910d, 0x6116, 0x001e, 0x6003, 0x0001, 0x6007, + 0x0043, 0x080c, 0x82d6, 0x080c, 0x87fb, 0x0838, 0x6868, 0x602e, + 0x686c, 0x6032, 0x6017, 0x0200, 0x6003, 0x0001, 0x6007, 0x0041, + 0x080c, 0x82d6, 0x080c, 0x87fb, 0x0804, 0xc905, 0x2001, 0x110d, + 0x2004, 0xd0ec, 0x0120, 0x2011, 0x8049, 0x080c, 0x40b6, 0x6017, + 0x0300, 0x0010, 0x6017, 0x0100, 0x6003, 0x0001, 0x6007, 0x0041, + 0x080c, 0x82d6, 0x080c, 0x87fb, 0x0804, 0xc905, 0x6017, 0x0500, + 0x0c98, 0x6017, 0x0600, 0x0804, 0xc923, 0x6017, 0x0200, 0x0804, + 0xc923, 0x9186, 0x0013, 0x1160, 0x6004, 0x908a, 0x0054, 0x1a0c, + 0x0d52, 0x9082, 0x0040, 0x0a0c, 0x0d52, 0x2008, 0x0804, 0xca1d, + 0x9186, 0x0051, 0x0140, 0x9186, 0x0047, 0x11e8, 0x6004, 0x9086, + 0x0041, 0x0904, 0xc9d1, 0x2001, 0x0109, 0x2004, 0xd084, 0x0904, + 0xc9d1, 0x0126, 0x2091, 0x2800, 0x0006, 0x0016, 0x0026, 0x080c, + 0x81bd, 0x002e, 0x001e, 0x000e, 0x012e, 0x6000, 0x9086, 0x0002, + 0x1580, 0x0804, 0xca6a, 0x9186, 0x0027, 0x0530, 0x9186, 0x0048, + 0x0128, 0x9186, 0x0014, 0x0500, 0x190c, 0x0d52, 0x2001, 0x0109, + 0x2004, 0xd084, 0x01f0, 0x00c6, 0x0126, 0x2091, 0x2800, 0x00c6, + 0x2061, 0x0100, 0x0006, 0x0016, 0x0026, 0x080c, 0x81bd, 0x002e, + 0x001e, 0x000e, 0x00ce, 0x012e, 0x00ce, 0x6000, 0x9086, 0x0004, + 0x190c, 0x0d52, 0x0804, 0xcb34, 0x6004, 0x9082, 0x0040, 0x2008, + 0x001a, 0x080c, 0x9f6c, 0x0005, 0xc9e7, 0xc9e9, 0xc9e9, 0xca0d, + 0xc9e7, 0xc9e7, 0xc9e7, 0xc9e7, 0xc9e7, 0xc9e7, 0xc9e7, 0xc9e7, + 0xc9e7, 0xc9e7, 0xc9e7, 0xc9e7, 0xc9e7, 0xc9e7, 0xc9e7, 0x080c, + 0x0d52, 0x080c, 0x86ff, 0x080c, 0x87fb, 0x0036, 0x00d6, 0x6014, + 0x906d, 0x01c0, 0x9d84, 0xf000, 0x01a8, 0x6003, 0x0002, 0x6010, + 0x2004, 0xd0bc, 0x1178, 0x2019, 0x0004, 0x080c, 0xd16f, 0x6017, + 0x0000, 0x6018, 0x9005, 0x1120, 0x2001, 0x133a, 0x2004, 0x601a, + 0x6003, 0x0007, 0x00de, 0x003e, 0x0005, 0x00d6, 0x080c, 0x86ff, + 0x080c, 0x87fb, 0x080c, 0xb95b, 0x0120, 0x6014, 0x2068, 0x080c, + 0x0e86, 0x080c, 0x9f0b, 0x00de, 0x0005, 0x0002, 0xca31, 0xca4e, + 0xca3a, 0xca64, 0xca31, 0xca31, 0xca31, 0xca31, 0xca31, 0xca31, + 0xca31, 0xca31, 0xca31, 0xca31, 0xca31, 0xca31, 0xca31, 0xca31, + 0xca31, 0x080c, 0x0d52, 0x6014, 0x9088, 0x001f, 0x2104, 0x9085, + 0x0400, 0x200a, 0x080c, 0x86ff, 0x6014, 0x9080, 0x001f, 0x2004, + 0xd0b4, 0x0138, 0x6003, 0x0007, 0x2009, 0x0043, 0x080c, 0x9f51, + 0x0010, 0x6003, 0x0004, 0x080c, 0x87fb, 0x0005, 0x080c, 0x86ff, + 0x6114, 0x9184, 0xf000, 0x0128, 0x9180, 0x001f, 0x200c, 0xd1ec, + 0x1138, 0x080c, 0x78c2, 0x080c, 0x9eda, 0x080c, 0x87fb, 0x0005, + 0x080c, 0xd3bd, 0x0db0, 0x0cc8, 0x080c, 0x86ff, 0x2009, 0x0041, + 0x0804, 0xcbb6, 0x9182, 0x0040, 0x0002, 0xca80, 0xca82, 0xca80, + 0xca80, 0xca80, 0xca80, 0xca80, 0xca80, 0xca80, 0xca80, 0xca80, + 0xca80, 0xca80, 0xca80, 0xca80, 0xca80, 0xca80, 0xca83, 0xca80, + 0x080c, 0x0d52, 0x0005, 0x00d6, 0x080c, 0x78c2, 0x00de, 0x080c, + 0xd410, 0x080c, 0x9eda, 0x0005, 0x9182, 0x0040, 0x0002, 0xcaa2, + 0xcaa2, 0xcaa2, 0xcaa2, 0xcaa2, 0xcaa2, 0xcaa2, 0xcaa4, 0xcaa2, + 0xcaa7, 0xcaff, 0xcaa2, 0xcaa2, 0xcaa2, 0xcaa2, 0xcaff, 0xcaa2, + 0xcaa2, 0xcaa2, 0x080c, 0x0d52, 0x080c, 0x9f6c, 0x0005, 0x2001, + 0x0105, 0x2004, 0x9084, 0x1800, 0x1904, 0xcaff, 0x2001, 0x1172, + 0x2004, 0xd0e4, 0x1528, 0x603b, 0x0000, 0x080c, 0x87a9, 0x6014, + 0x00d6, 0x2068, 0x687c, 0xd0fc, 0x0188, 0x908c, 0x0003, 0x918e, + 0x0002, 0x0508, 0x2001, 0x110c, 0x2004, 0xd0d4, 0x11e0, 0x080c, + 0x8915, 0x2009, 0x0041, 0x00de, 0x0804, 0xcbb6, 0x080c, 0x8915, + 0x6003, 0x0007, 0x601b, 0x0000, 0x080c, 0x78c2, 0x00de, 0x0005, + 0x2001, 0x0100, 0x2004, 0x9082, 0x0005, 0x0aa8, 0x2001, 0x011f, + 0x2004, 0x603a, 0x0890, 0x2001, 0x110c, 0x200c, 0xc1d4, 0x2102, + 0xd1cc, 0x0110, 0x080c, 0x249e, 0x080c, 0x8915, 0x6014, 0x9080, + 0x001f, 0x200c, 0xd1ec, 0x1130, 0x080c, 0x78c2, 0x080c, 0x9eda, + 0x00de, 0x0005, 0x080c, 0xd3bd, 0x0db8, 0x00de, 0x0005, 0x2001, + 0x110c, 0x200c, 0xc1d4, 0x2102, 0x0036, 0x080c, 0x87a9, 0x080c, + 0x8915, 0x6014, 0x00d6, 0x2068, 0x6010, 0x2004, 0xd0bc, 0x0188, + 0x687c, 0x9084, 0x0003, 0x9086, 0x0002, 0x0140, 0x68ac, 0x6330, + 0x931a, 0x6332, 0x68b0, 0x632c, 0x931b, 0x632e, 0x6003, 0x0002, + 0x0080, 0x2019, 0x0004, 0x080c, 0xd16f, 0x6018, 0x9005, 0x1128, + 0x2001, 0x133a, 0x2004, 0x8003, 0x601a, 0x6017, 0x0000, 0x6003, + 0x0007, 0x00de, 0x003e, 0x0005, 0x9182, 0x0040, 0x0002, 0xcb4b, + 0xcb4b, 0xcb4b, 0xcb4b, 0xcb4b, 0xcb4b, 0xcb4b, 0xcb4b, 0xcb4d, + 0xcb4b, 0xcb4b, 0xcb4b, 0xcb4b, 0xcb4b, 0xcb4b, 0xcb4b, 0xcb4b, + 0xcb4b, 0xcb4b, 0xcb92, 0x080c, 0x0d52, 0x6014, 0x00d6, 0x2068, + 0x6834, 0x6a38, 0x6110, 0x210c, 0xd1bc, 0x1190, 0x920d, 0x1518, + 0x687c, 0xd0fc, 0x0128, 0x2009, 0x0041, 0x00de, 0x0804, 0xcbb6, + 0x6003, 0x0007, 0x601b, 0x0000, 0x080c, 0x78c2, 0x00de, 0x0005, + 0x6124, 0xd1f4, 0x1d58, 0x0006, 0x0046, 0x6cac, 0x9422, 0x69b0, + 0x2200, 0x910b, 0x6030, 0x9420, 0x6432, 0x602c, 0x9109, 0x612e, + 0x004e, 0x000e, 0x08d8, 0x6110, 0x210c, 0xd1bc, 0x1178, 0x2009, + 0x110d, 0x210c, 0xd19c, 0x0118, 0x6003, 0x0007, 0x0010, 0x6003, + 0x0006, 0x00e9, 0x080c, 0x78c4, 0x00de, 0x0005, 0x6003, 0x0002, + 0x00de, 0x0005, 0x6024, 0xd0f4, 0x0128, 0x080c, 0x1376, 0x1904, + 0xcb4d, 0x0005, 0x6014, 0x00d6, 0x2068, 0x6834, 0x6938, 0x00de, + 0x9105, 0x1120, 0x080c, 0x1376, 0x1904, 0xcb4d, 0x0005, 0xd2fc, + 0x0140, 0x8002, 0x8000, 0x8212, 0x9291, 0x0000, 0x2009, 0x0009, + 0x0010, 0x2009, 0x0015, 0x6a9a, 0x6896, 0x0005, 0x9182, 0x0040, + 0x0208, 0x0062, 0x9186, 0x0013, 0x0120, 0x9186, 0x0014, 0x190c, + 0x0d52, 0x6024, 0xd0dc, 0x090c, 0x0d52, 0x0005, 0xcbd9, 0xcbe0, + 0xcbec, 0xcbf8, 0xcbd9, 0xcbd9, 0xcbd9, 0xcc07, 0xcbd9, 0xcbdb, + 0xcbdb, 0xcbd9, 0xcbd9, 0xcbd9, 0xcbd9, 0xcbdb, 0xcbd9, 0xcbdb, + 0xcbd9, 0x080c, 0x0d52, 0x6024, 0xd0dc, 0x090c, 0x0d52, 0x0005, + 0x6003, 0x0001, 0x6106, 0x080c, 0x82d6, 0x0126, 0x2091, 0x8000, + 0x080c, 0x87fb, 0x012e, 0x0005, 0x6003, 0x0001, 0x6106, 0x080c, + 0x82d6, 0x0126, 0x2091, 0x8000, 0x080c, 0x87fb, 0x012e, 0x0005, + 0x6003, 0x0003, 0x6106, 0x2c10, 0x080c, 0x16c2, 0x0126, 0x2091, + 0x8000, 0x080c, 0x8343, 0x080c, 0x891e, 0x012e, 0x0005, 0x9016, + 0x080c, 0x13ec, 0x0005, 0x0126, 0x2091, 0x8000, 0x0036, 0x00d6, + 0x9182, 0x0040, 0x0023, 0x00de, 0x003e, 0x012e, 0x0005, 0xcc27, + 0xcc29, 0xcc3b, 0xcc56, 0xcc27, 0xcc27, 0xcc27, 0xcc6b, 0xcc27, + 0xcc27, 0xcc27, 0xcc27, 0xcc27, 0xcc27, 0xcc27, 0xcc27, 0x080c, + 0x0d52, 0x6014, 0x2068, 0x687c, 0xd0fc, 0x01f8, 0x909c, 0x0003, + 0x939e, 0x0003, 0x01d0, 0x6003, 0x0001, 0x6106, 0x080c, 0x82d6, + 0x080c, 0x87fb, 0x0498, 0x6014, 0x2068, 0x687c, 0xd0fc, 0x0168, + 0x909c, 0x0003, 0x939e, 0x0003, 0x0140, 0x6003, 0x0001, 0x6106, + 0x080c, 0x82d6, 0x080c, 0x87fb, 0x0408, 0x6017, 0x0000, 0x601b, + 0x0000, 0x2019, 0x0004, 0x080c, 0xd16f, 0x00c0, 0x6014, 0x2068, + 0x687c, 0xd0fc, 0x0d90, 0x909c, 0x0003, 0x939e, 0x0003, 0x0d68, + 0x6003, 0x0003, 0x6106, 0x2c10, 0x080c, 0x16c2, 0x080c, 0x8343, + 0x080c, 0x891e, 0x0018, 0x9016, 0x080c, 0x13ec, 0x0005, 0x080c, + 0x86ff, 0x6114, 0x81ff, 0x0158, 0x00d6, 0x2168, 0x080c, 0xd4fd, + 0x0036, 0x2019, 0x0029, 0x080c, 0xd16f, 0x003e, 0x00de, 0x080c, + 0x9f0b, 0x080c, 0x87fb, 0x0005, 0x080c, 0x87a9, 0x6114, 0x81ff, + 0x0158, 0x00d6, 0x2168, 0x080c, 0xd4fd, 0x0036, 0x2019, 0x0029, + 0x080c, 0xd16f, 0x003e, 0x00de, 0x080c, 0x9f0b, 0x080c, 0x891e, + 0x0005, 0x9182, 0x0085, 0x0002, 0xccab, 0xcca9, 0xcca9, 0xccb7, + 0xcca9, 0xcca9, 0xcca9, 0xcca9, 0xcca9, 0xcca9, 0xcca9, 0xcca9, + 0xcca9, 0x080c, 0x0d52, 0x6003, 0x000b, 0x6106, 0x080c, 0x82d6, + 0x0126, 0x2091, 0x8000, 0x080c, 0x87fb, 0x012e, 0x0005, 0x0026, + 0x00e6, 0x080c, 0xd3b6, 0x0118, 0x080c, 0x9eda, 0x0440, 0x2071, + 0x0260, 0x7224, 0x6216, 0x2001, 0x110d, 0x2004, 0xd0e4, 0x0150, + 0x6010, 0x9080, 0x0028, 0x2024, 0x8427, 0x2c00, 0x2011, 0x014e, + 0x080c, 0xa1b5, 0x7220, 0x080c, 0xd005, 0x0118, 0x6007, 0x0086, + 0x0040, 0x6007, 0x0087, 0x7224, 0x9296, 0xffff, 0x1110, 0x6007, + 0x0086, 0x6003, 0x0001, 0x080c, 0x82d6, 0x080c, 0x87fb, 0x00ee, + 0x002e, 0x0005, 0x9186, 0x0013, 0x1160, 0x6004, 0x908a, 0x0085, + 0x0a0c, 0x0d52, 0x908a, 0x0092, 0x1a0c, 0x0d52, 0x9082, 0x0085, + 0x00a2, 0x9186, 0x0027, 0x0130, 0x9186, 0x0014, 0x0118, 0x080c, + 0x9f6c, 0x0050, 0x2001, 0x0007, 0x080c, 0x5915, 0x080c, 0x86ff, + 0x080c, 0x9f0b, 0x080c, 0x87fb, 0x0005, 0xcd1a, 0xcd1c, 0xcd1c, + 0xcd1a, 0xcd1a, 0xcd1a, 0xcd1a, 0xcd1a, 0xcd1a, 0xcd1a, 0xcd1a, + 0xcd1a, 0xcd1a, 0x080c, 0x0d52, 0x080c, 0x86ff, 0x080c, 0x9f0b, + 0x080c, 0x87fb, 0x0005, 0x9182, 0x0085, 0x0a0c, 0x0d52, 0x9182, + 0x0092, 0x1a0c, 0x0d52, 0x9182, 0x0085, 0x0002, 0xcd3b, 0xcd3b, + 0xcd3b, 0xcd3d, 0xcd3b, 0xcd3b, 0xcd3b, 0xcd3b, 0xcd3b, 0xcd3b, + 0xcd3b, 0xcd3b, 0xcd3b, 0x080c, 0x0d52, 0x0005, 0x9186, 0x0013, + 0x0148, 0x9186, 0x0014, 0x0130, 0x9186, 0x0027, 0x0118, 0x080c, + 0x9f6c, 0x0030, 0x080c, 0x86ff, 0x080c, 0x9f0b, 0x080c, 0x87fb, + 0x0005, 0x0036, 0x080c, 0xd410, 0x6043, 0x0000, 0x2019, 0x000b, + 0x0031, 0x6023, 0x0006, 0x6003, 0x0007, 0x003e, 0x0005, 0x0126, + 0x0036, 0x2091, 0x8000, 0x0086, 0x2c40, 0x0096, 0x2049, 0x0000, + 0x080c, 0x9823, 0x009e, 0x008e, 0x1578, 0x0076, 0x2c38, 0x080c, + 0x98c2, 0x007e, 0x1548, 0x6000, 0x9086, 0x0000, 0x0528, 0x6020, + 0x9086, 0x0007, 0x0508, 0x00d6, 0x6000, 0x9086, 0x0004, 0x1150, + 0x080c, 0xd410, 0x6023, 0x0007, 0x2001, 0x1339, 0x2004, 0x601a, + 0x080c, 0x15bf, 0x6014, 0x2068, 0x080c, 0xb95b, 0x0110, 0x080c, + 0xd16f, 0x00de, 0x6017, 0x0000, 0x080c, 0xd410, 0x6023, 0x0007, + 0x2001, 0x1339, 0x2004, 0x601a, 0x003e, 0x012e, 0x0005, 0x00f6, + 0x00c6, 0x0036, 0x0156, 0x2079, 0x0260, 0x7938, 0x783c, 0x080c, + 0x2098, 0x15a0, 0x0016, 0x00c6, 0x080c, 0x598f, 0x1568, 0x001e, + 0x002e, 0x0026, 0x0016, 0x2019, 0x0029, 0x080c, 0x9985, 0x080c, + 0x8464, 0x0076, 0x2039, 0x0000, 0x080c, 0x8356, 0x007e, 0x001e, + 0x0076, 0x2039, 0x0000, 0x080c, 0xcf02, 0x007e, 0x0026, 0x6204, + 0x9294, 0xff00, 0x8217, 0x9286, 0x0006, 0x0118, 0x9286, 0x0004, + 0x1118, 0x62a0, 0x080c, 0x2ac4, 0x002e, 0x001e, 0x080c, 0x53ea, + 0x6612, 0x6516, 0x9006, 0x0010, 0x00ce, 0x001e, 0x015e, 0x003e, + 0x00ce, 0x00fe, 0x0005, 0x00c6, 0x00d6, 0x00e6, 0x0016, 0x2009, + 0x1122, 0x2104, 0x9086, 0x0074, 0x1904, 0xce3b, 0x2069, 0x0260, + 0x6944, 0x9182, 0x0100, 0x06d8, 0x6940, 0x9184, 0x8000, 0x0904, + 0xce38, 0x2001, 0x1320, 0x2004, 0x9005, 0x1160, 0x6010, 0x2070, + 0x7010, 0x9084, 0x00ff, 0x0118, 0x7000, 0xd0f4, 0x0118, 0x9184, + 0x0800, 0x0570, 0x6948, 0x918a, 0x0001, 0x0620, 0x694c, 0x2009, + 0x0205, 0x200b, 0x0001, 0x693c, 0x81ff, 0x1198, 0x6944, 0x9182, + 0x0100, 0x02a8, 0x6940, 0x81ff, 0x1178, 0x6948, 0x918a, 0x0001, + 0x0288, 0x6950, 0x918a, 0x0001, 0x0298, 0x00d0, 0x6017, 0x0100, + 0x00a0, 0x6017, 0x0300, 0x0088, 0x6017, 0x0500, 0x0070, 0x6017, + 0x0700, 0x0058, 0x6017, 0x0900, 0x0040, 0x6017, 0x0b00, 0x0028, + 0x6017, 0x0f00, 0x0010, 0x6017, 0x2d00, 0x9085, 0x0001, 0x0008, + 0x9006, 0x001e, 0x00ee, 0x00de, 0x00ce, 0x0005, 0x00c6, 0x00d6, + 0x0026, 0x0036, 0x0156, 0x6210, 0x2268, 0x6b04, 0x9394, 0x00ff, + 0x9286, 0x0006, 0x0190, 0x9286, 0x0004, 0x0178, 0x9394, 0xff00, + 0x8217, 0x9286, 0x0006, 0x0148, 0x9286, 0x0004, 0x0130, 0x00c6, + 0x2d60, 0x080c, 0x599e, 0x00ce, 0x04c0, 0x2011, 0x0276, 0x20a9, + 0x0004, 0x9d98, 0x000a, 0x080c, 0xad80, 0x1580, 0x2011, 0x027a, + 0x20a9, 0x0004, 0x9d98, 0x0006, 0x080c, 0xad80, 0x1538, 0x0046, + 0x0016, 0x6aa0, 0x9294, 0x00ff, 0x8227, 0x9006, 0x2009, 0x1153, + 0x210c, 0xd1a4, 0x0138, 0x2009, 0x0029, 0x080c, 0xd1bd, 0x6800, + 0xc0e5, 0x6802, 0x2019, 0x0029, 0x080c, 0x8464, 0x0076, 0x2039, + 0x0000, 0x080c, 0x8356, 0x2c08, 0x080c, 0xcf02, 0x007e, 0x2001, + 0x0007, 0x080c, 0x5915, 0x001e, 0x004e, 0x9006, 0x015e, 0x003e, + 0x002e, 0x00de, 0x00ce, 0x0005, 0x00d6, 0x2069, 0x026e, 0x6800, + 0x9086, 0x0800, 0x0118, 0x6017, 0x0000, 0x0008, 0x9006, 0x00de, + 0x0005, 0x00c6, 0x00f6, 0x0016, 0x0026, 0x0036, 0x0156, 0x2079, + 0x026c, 0x7930, 0x7834, 0x080c, 0x2098, 0x11a0, 0x080c, 0x598f, + 0x1188, 0x2011, 0x0270, 0x20a9, 0x0004, 0x9c98, 0x000a, 0x080c, + 0xad80, 0x1140, 0x2011, 0x0274, 0x20a9, 0x0004, 0x9c98, 0x0006, + 0x080c, 0xad80, 0x015e, 0x003e, 0x002e, 0x001e, 0x00fe, 0x00ce, + 0x0005, 0x00c6, 0x0006, 0x0016, 0x0026, 0x0036, 0x0156, 0x2011, + 0x0263, 0x2204, 0x8211, 0x220c, 0x080c, 0x2098, 0x11a0, 0x080c, + 0x598f, 0x1188, 0x2011, 0x0276, 0x20a9, 0x0004, 0x9c98, 0x000a, + 0x080c, 0xad80, 0x1140, 0x2011, 0x027a, 0x20a9, 0x0004, 0x9c98, + 0x0006, 0x080c, 0xad80, 0x015e, 0x003e, 0x002e, 0x001e, 0x000e, + 0x00ce, 0x0005, 0x00e6, 0x00c6, 0x0086, 0x0076, 0x0066, 0x0056, + 0x0046, 0x0026, 0x0126, 0x2091, 0x8000, 0x2740, 0x2029, 0x1385, + 0x252c, 0x2021, 0x138b, 0x2424, 0x2061, 0x16c0, 0x2071, 0x1100, + 0x764c, 0x706c, 0x81ff, 0x0150, 0x0006, 0x9186, 0x1402, 0x000e, + 0x0128, 0x8001, 0x9602, 0x1a04, 0xcf91, 0x0018, 0x9606, 0x0904, + 0xcf91, 0x080c, 0x7b66, 0x0904, 0xcf88, 0x2100, 0x9c06, 0x0904, + 0xcf88, 0x080c, 0xd1e5, 0x0904, 0xcf88, 0x6720, 0x9786, 0x0001, + 0x1158, 0x2001, 0x1174, 0x2004, 0xd0bc, 0x0904, 0xcfd7, 0x6004, + 0x9086, 0x0000, 0x1904, 0xcfd7, 0x9786, 0x0004, 0x0904, 0xcfd7, + 0x9786, 0x0007, 0x05e8, 0x2500, 0x9c06, 0x05d0, 0x2400, 0x9c06, + 0x05b8, 0x080c, 0xd1f5, 0x15a0, 0x88ff, 0x0118, 0x6054, 0x9906, + 0x1578, 0x00d6, 0x6000, 0x9086, 0x0004, 0x1120, 0x0016, 0x080c, + 0x15bf, 0x001e, 0x9786, 0x0008, 0x1148, 0x080c, 0xbb48, 0x1130, + 0x080c, 0xa7f8, 0x00de, 0x080c, 0x9f0b, 0x00d0, 0x6014, 0x2068, + 0x080c, 0xb95b, 0x0190, 0x9786, 0x0003, 0x1528, 0x6867, 0x0103, + 0x6b7a, 0x6877, 0x0000, 0x080c, 0xd4fd, 0x0016, 0x080c, 0xbc1b, + 0x080c, 0x5fa7, 0x001e, 0x080c, 0xbb2b, 0x00de, 0x080c, 0x9f0b, + 0x9ce0, 0x0018, 0x2001, 0x1118, 0x2004, 0x9c02, 0x1210, 0x0804, + 0xcf16, 0x012e, 0x002e, 0x004e, 0x005e, 0x006e, 0x007e, 0x008e, + 0x00ce, 0x00ee, 0x0005, 0x9786, 0x0006, 0x1150, 0x9386, 0x0005, + 0x0128, 0x080c, 0xd4fd, 0x080c, 0xd16f, 0x08f8, 0x00de, 0x0c00, + 0x9786, 0x0009, 0x1530, 0x6000, 0x9086, 0x0004, 0x01f8, 0x6000, + 0x9086, 0x0003, 0x11d8, 0x080c, 0x87a9, 0x00d6, 0x6114, 0x2168, + 0x080c, 0xb95b, 0x0150, 0x6010, 0x00e6, 0x2070, 0x70b3, 0x0000, + 0x70b7, 0x0000, 0x080c, 0x5fa7, 0x00ee, 0x00de, 0x00c6, 0x080c, + 0x9eda, 0x00ce, 0x0036, 0x080c, 0x891e, 0x003e, 0x00de, 0x0804, + 0xcf88, 0x9786, 0x000a, 0x0904, 0xcf78, 0x0804, 0xcf76, 0x080c, + 0xd1f5, 0x1904, 0xcf88, 0x81ff, 0x0904, 0xcf88, 0x9180, 0x0001, + 0x2004, 0x9086, 0x0018, 0x0138, 0x9180, 0x0001, 0x2004, 0x9086, + 0x002d, 0x1904, 0xcf88, 0x6000, 0x9086, 0x0002, 0x1904, 0xcf88, + 0x080c, 0xbb37, 0x0138, 0x080c, 0xbb48, 0x1904, 0xcf88, 0x080c, + 0xa7f8, 0x0038, 0x080c, 0x2a34, 0x080c, 0xbb48, 0x1110, 0x080c, + 0xa7f8, 0x080c, 0x9f0b, 0x0804, 0xcf88, 0x00c6, 0x00e6, 0x0016, + 0x2c08, 0x2170, 0x9006, 0x080c, 0xd187, 0x001e, 0x0120, 0x6020, + 0x9084, 0x000f, 0x001b, 0x00ee, 0x00ce, 0x0005, 0xd024, 0xd024, + 0xd024, 0xd024, 0xd024, 0xd024, 0xd026, 0xd024, 0xd024, 0xd024, + 0xd024, 0x9f0b, 0x9f0b, 0xd024, 0x9006, 0x0005, 0x0046, 0x0016, + 0x7010, 0x9080, 0x0028, 0x2024, 0x94a4, 0x00ff, 0x8427, 0x2c00, + 0x2009, 0x0020, 0x080c, 0xd1bd, 0x001e, 0x004e, 0x0036, 0x2019, + 0x0002, 0x080c, 0xcd5f, 0x003e, 0x9085, 0x0001, 0x0005, 0x00d6, + 0x6014, 0x906d, 0x9084, 0xf000, 0x0130, 0x080c, 0xb613, 0x687b, + 0x0005, 0x080c, 0x5fa7, 0x00de, 0x080c, 0x9f0b, 0x9085, 0x0001, + 0x0005, 0x2001, 0x0001, 0x080c, 0x58d6, 0x0156, 0x0016, 0x0026, + 0x0036, 0x20a9, 0x0004, 0x2019, 0x1105, 0x2011, 0x0276, 0x080c, + 0xad80, 0x003e, 0x002e, 0x001e, 0x015e, 0x9005, 0x0005, 0x00f6, + 0x00e6, 0x00c6, 0x0086, 0x0076, 0x0066, 0x0026, 0x0126, 0x2091, + 0x8000, 0x2740, 0x2061, 0x16c0, 0x2079, 0x0001, 0x8fff, 0x0904, + 0xd0c5, 0x2071, 0x1100, 0x764c, 0x706c, 0x8001, 0x9602, 0x1a04, + 0xd0c5, 0x88ff, 0x0128, 0x2800, 0x9c06, 0x15b0, 0x2079, 0x0000, + 0x080c, 0xd1e5, 0x0588, 0x2400, 0x9c06, 0x0570, 0x6720, 0x9786, + 0x0006, 0x1550, 0x9786, 0x0007, 0x0538, 0x88ff, 0x1140, 0x6010, + 0x9206, 0x1510, 0x85ff, 0x0118, 0x6054, 0x9106, 0x11e8, 0x00d6, + 0x6000, 0x9086, 0x0004, 0x1150, 0x080c, 0xd410, 0x6023, 0x0007, + 0x2001, 0x1339, 0x2004, 0x601a, 0x080c, 0x15bf, 0x6014, 0x2068, + 0x080c, 0xb95b, 0x0120, 0x0046, 0x080c, 0xd16f, 0x004e, 0x00de, + 0x080c, 0x9f0b, 0x88ff, 0x1198, 0x9ce0, 0x0018, 0x2001, 0x1118, + 0x2004, 0x9c02, 0x1210, 0x0804, 0xd076, 0x9006, 0x012e, 0x002e, + 0x006e, 0x007e, 0x008e, 0x00ce, 0x00ee, 0x00fe, 0x0005, 0x98c5, + 0x0001, 0x0ca0, 0x0076, 0x0056, 0x0086, 0x2041, 0x0000, 0x2029, + 0x0001, 0x2c20, 0x2019, 0x0002, 0x6210, 0x0096, 0x2049, 0x0000, + 0x080c, 0x9823, 0x009e, 0x008e, 0x2039, 0x0000, 0x080c, 0x98c2, + 0x080c, 0xd067, 0x005e, 0x007e, 0x0005, 0x0026, 0x0046, 0x0056, + 0x0076, 0x00c6, 0x0156, 0x2c20, 0x2128, 0x20a9, 0x007f, 0x2009, + 0x0000, 0x0016, 0x0036, 0x080c, 0x598f, 0x11b0, 0x2c10, 0x0056, + 0x0086, 0x2041, 0x0000, 0x2508, 0x2029, 0x0001, 0x0096, 0x2049, + 0x0000, 0x080c, 0x9823, 0x009e, 0x008e, 0x2039, 0x0000, 0x080c, + 0x98c2, 0x080c, 0xd067, 0x005e, 0x003e, 0x001e, 0x8108, 0x1f04, + 0xd0f9, 0x015e, 0x00ce, 0x007e, 0x005e, 0x004e, 0x002e, 0x0005, + 0x0076, 0x0056, 0x6210, 0x0086, 0x2041, 0x0000, 0x2029, 0x0001, + 0x2019, 0x0048, 0x0096, 0x2049, 0x0000, 0x080c, 0x9823, 0x009e, + 0x008e, 0x2039, 0x0000, 0x080c, 0x98c2, 0x2c20, 0x080c, 0xd067, + 0x005e, 0x007e, 0x0005, 0x0026, 0x0046, 0x0056, 0x0076, 0x00c6, + 0x0156, 0x2c20, 0x20a9, 0x007f, 0x2009, 0x0000, 0x0016, 0x0036, + 0x080c, 0x598f, 0x11c0, 0x2c10, 0x0086, 0x2041, 0x0000, 0x2828, + 0x0046, 0x2021, 0x0001, 0x080c, 0xd3f2, 0x004e, 0x0096, 0x2049, + 0x0000, 0x080c, 0x9823, 0x009e, 0x008e, 0x2039, 0x0000, 0x080c, + 0x98c2, 0x080c, 0xd067, 0x003e, 0x001e, 0x8108, 0x1f04, 0xd146, + 0x015e, 0x00ce, 0x007e, 0x005e, 0x004e, 0x002e, 0x0005, 0x0016, + 0x00f6, 0x9d82, 0x46c0, 0x0280, 0x9d82, 0xffff, 0x1268, 0x6800, + 0x907d, 0x0138, 0x6803, 0x0000, 0x6b82, 0x080c, 0x5fa7, 0x2f68, + 0x0cb0, 0x6b82, 0x080c, 0x5fa7, 0x00fe, 0x001e, 0x0005, 0x00e6, + 0x0046, 0x0036, 0x2061, 0x16c0, 0x9005, 0x1138, 0x2071, 0x1100, + 0x744c, 0x706c, 0x8001, 0x9402, 0x12f8, 0x2100, 0x9c06, 0x0188, + 0x6000, 0x9086, 0x0000, 0x0168, 0x6008, 0x9206, 0x1150, 0x6320, + 0x9386, 0x0009, 0x01b0, 0x6010, 0x91a0, 0x0004, 0x2424, 0x9406, + 0x0140, 0x9ce0, 0x0018, 0x2001, 0x1118, 0x2004, 0x9c02, 0x1220, + 0x0c20, 0x9085, 0x0001, 0x0008, 0x9006, 0x003e, 0x004e, 0x00ee, + 0x0005, 0x631c, 0xd3c4, 0x1d68, 0x0c30, 0x00d6, 0x0006, 0x080c, + 0x0e6d, 0x000e, 0x090c, 0x0d52, 0x6867, 0x010d, 0x688e, 0x0026, + 0x2010, 0x080c, 0xb94b, 0x2001, 0x0000, 0x0120, 0x2200, 0x9080, + 0x0015, 0x2004, 0x002e, 0x687a, 0x6986, 0x6c76, 0x687f, 0x0000, + 0x2001, 0x1341, 0x2004, 0x6882, 0x9006, 0x68e2, 0x6802, 0x686a, + 0x688a, 0x080c, 0x5fa7, 0x00de, 0x0005, 0x6700, 0x9786, 0x0000, + 0x0158, 0x9786, 0x0001, 0x0140, 0x9786, 0x000a, 0x0128, 0x9786, + 0x0009, 0x0110, 0x9085, 0x0001, 0x0005, 0x00e6, 0x6010, 0x2070, + 0x70a0, 0x9206, 0x00ee, 0x0005, 0x0016, 0x6004, 0x908e, 0x001e, + 0x11a0, 0x8007, 0x6134, 0x918c, 0x00ff, 0x9105, 0x6036, 0x6007, + 0x0085, 0x6003, 0x000b, 0x6023, 0x0005, 0x2001, 0x133a, 0x2004, + 0x601a, 0x080c, 0x82d6, 0x080c, 0x87fb, 0x001e, 0x0005, 0xa001, + 0xa001, 0x0005, 0x6024, 0xd0e4, 0x0158, 0xd0cc, 0x0118, 0x080c, + 0xbc56, 0x0030, 0x080c, 0xd410, 0x080c, 0x78c2, 0x080c, 0x9eda, + 0x0005, 0x9280, 0x0008, 0x2004, 0x9084, 0x000f, 0x0002, 0xd23d, + 0xd23d, 0xd23d, 0xd23f, 0xd23d, 0xd23f, 0xd23f, 0xd23d, 0xd23f, + 0xd23d, 0xd23d, 0xd23d, 0xd23d, 0xd23d, 0x9006, 0x0005, 0x9085, + 0x0001, 0x0005, 0x9280, 0x0008, 0x2004, 0x9084, 0x000f, 0x0002, + 0xd256, 0xd256, 0xd256, 0xd256, 0xd256, 0xd256, 0xd263, 0xd256, + 0xd256, 0xd256, 0xd256, 0xd256, 0xd256, 0xd256, 0x6007, 0x003b, + 0x602f, 0x0009, 0x6017, 0x2a00, 0x6003, 0x0001, 0x080c, 0x82d6, + 0x080c, 0x87fb, 0x0005, 0x00c6, 0x2260, 0x080c, 0xd410, 0x6043, + 0x0000, 0x6024, 0xc0f4, 0xc0e4, 0x6026, 0x603b, 0x0000, 0x00ce, + 0x00d6, 0x2268, 0x9186, 0x0007, 0x1904, 0xd2be, 0x6814, 0x9005, + 0x0138, 0x9080, 0x001f, 0x2004, 0xd0fc, 0x1110, 0x00de, 0x08b0, + 0x6007, 0x003a, 0x6003, 0x0001, 0x080c, 0x82d6, 0x080c, 0x87fb, + 0x00c6, 0x2d60, 0x6100, 0x9186, 0x0002, 0x1904, 0xd341, 0x6014, + 0x9005, 0x1138, 0x6000, 0x9086, 0x0007, 0x190c, 0x0d52, 0x0804, + 0xd341, 0x908c, 0xf000, 0x1130, 0x0028, 0x2068, 0x6800, 0x9005, + 0x1de0, 0x2d00, 0x9080, 0x001f, 0x2004, 0x9084, 0x0003, 0x9086, + 0x0002, 0x1180, 0x6014, 0x2068, 0x687c, 0xc0dc, 0xc0f4, 0x687e, + 0x6880, 0xc0f4, 0xc0fc, 0x6882, 0x2009, 0x0043, 0x080c, 0xcbb6, + 0x0804, 0xd341, 0x2009, 0x0041, 0x0804, 0xd33b, 0x9186, 0x0005, + 0x15c0, 0x6814, 0x9080, 0x001f, 0x2004, 0xd0bc, 0x1118, 0x00de, + 0x0804, 0xd256, 0xd0b4, 0x0128, 0xd0fc, 0x090c, 0x0d52, 0x0804, + 0xd276, 0x6007, 0x003a, 0x6003, 0x0001, 0x080c, 0x82d6, 0x080c, + 0x87fb, 0x00c6, 0x2d60, 0x6100, 0x9186, 0x0002, 0x0120, 0x9186, + 0x0004, 0x1904, 0xd341, 0x6814, 0x9080, 0x001f, 0x200c, 0xc1f4, + 0xc1dc, 0x2102, 0x8000, 0x200c, 0xc1f4, 0xc1fc, 0xc1bc, 0x2102, + 0x00f6, 0x2c78, 0x080c, 0x13ef, 0x00fe, 0x2009, 0x0042, 0x0804, + 0xd33b, 0x0036, 0x00d6, 0x00d6, 0x080c, 0x0e6d, 0x003e, 0x090c, + 0x0d52, 0x6867, 0x010d, 0x6803, 0x0000, 0x686b, 0x0000, 0x688b, + 0x0000, 0x6b8e, 0x6887, 0x0045, 0x2c00, 0x6892, 0x6038, 0x68a2, + 0x2360, 0x6024, 0xc0dd, 0x6026, 0x6010, 0x9080, 0x0028, 0x2004, + 0x9084, 0x00ff, 0x8007, 0x6354, 0x6b7a, 0x6876, 0x687f, 0x0000, + 0x6883, 0x0000, 0x6d9a, 0x6e96, 0x689f, 0x0001, 0x080c, 0x5fa7, + 0x2019, 0x0045, 0x6008, 0x2068, 0x080c, 0xcd5f, 0x2d00, 0x600a, + 0x6023, 0x0006, 0x6003, 0x0007, 0x601b, 0x0000, 0x6043, 0x0000, + 0x00de, 0x003e, 0x0038, 0x6043, 0x0000, 0x6003, 0x0007, 0x080c, + 0xcbb6, 0x00ce, 0x00de, 0x0005, 0x9186, 0x0013, 0x1128, 0x6004, + 0x9082, 0x0085, 0x2008, 0x00c2, 0x9186, 0x0027, 0x1178, 0x080c, + 0x86ff, 0x0036, 0x00d6, 0x6014, 0x2068, 0x2019, 0x0004, 0x080c, + 0xd16f, 0x00de, 0x003e, 0x080c, 0x87fb, 0x0005, 0x9186, 0x0014, + 0x0d70, 0x080c, 0x9f6c, 0x0005, 0xd373, 0xd371, 0xd371, 0xd371, + 0xd371, 0xd371, 0xd373, 0xd371, 0xd371, 0xd371, 0xd371, 0xd371, + 0xd371, 0x080c, 0x0d52, 0x080c, 0x86ff, 0x6003, 0x000c, 0x080c, + 0x87fb, 0x0005, 0x9182, 0x0092, 0x1220, 0x9182, 0x0085, 0x0208, + 0x001a, 0x080c, 0x9f6c, 0x0005, 0xd391, 0xd391, 0xd391, 0xd391, + 0xd393, 0xd3b3, 0xd391, 0xd391, 0xd391, 0xd391, 0xd391, 0xd391, + 0xd391, 0x080c, 0x0d52, 0x00d6, 0x2c68, 0x080c, 0x9e84, 0x01b0, + 0x6003, 0x0001, 0x6007, 0x001e, 0x2009, 0x026e, 0x210c, 0x613a, + 0x2009, 0x026f, 0x210c, 0x613e, 0x600b, 0xffff, 0x6910, 0x6112, + 0x6023, 0x0004, 0x080c, 0x82d6, 0x080c, 0x87fb, 0x2d60, 0x080c, + 0x9eda, 0x00de, 0x0005, 0x080c, 0x9eda, 0x0005, 0x00e6, 0x6010, + 0x2070, 0x7000, 0xd0ec, 0x00ee, 0x0005, 0x2009, 0x1172, 0x210c, + 0xd1ec, 0x0578, 0x6003, 0x0002, 0x6024, 0xc0e5, 0x6026, 0xd0cc, + 0x0150, 0x2001, 0x133b, 0x2004, 0x6042, 0x2009, 0x1172, 0x210c, + 0xd1f4, 0x11e8, 0x0080, 0x2009, 0x1172, 0x210c, 0xd1f4, 0x0128, + 0x6024, 0xc0e4, 0x6026, 0x9006, 0x00a0, 0x2001, 0x133b, 0x200c, + 0x8103, 0x9100, 0x6042, 0x6010, 0x9088, 0x002f, 0x2104, 0x9005, + 0x0118, 0x9088, 0x0003, 0x0cd0, 0x2c0a, 0x600f, 0x0000, 0x9085, + 0x0001, 0x0005, 0x0016, 0x00c6, 0x00e6, 0x6154, 0x92f0, 0x002f, + 0x2e04, 0x2060, 0x8cff, 0x0180, 0x84ff, 0x1118, 0x6054, 0x9106, + 0x1138, 0x600c, 0x2072, 0x080c, 0x78c2, 0x080c, 0x9eda, 0x0010, + 0x9cf0, 0x0003, 0x2e64, 0x0c70, 0x00ee, 0x00ce, 0x001e, 0x0005, + 0x00d6, 0x6010, 0x90e8, 0x002f, 0x2d04, 0x9005, 0x0140, 0x9c06, + 0x0120, 0x2d04, 0x90e8, 0x0003, 0x0cb8, 0x600c, 0x206a, 0x00de, + 0x0005, 0x0026, 0x0036, 0x0156, 0x2011, 0x1129, 0x2204, 0x9084, + 0x00ff, 0x2019, 0x026e, 0x2334, 0x9636, 0x11d8, 0x8318, 0x2334, + 0x2204, 0x9084, 0xff00, 0x9636, 0x11a0, 0x2011, 0x0270, 0x20a9, + 0x0004, 0x6010, 0x9098, 0x000a, 0x080c, 0xad80, 0x1150, 0x2011, + 0x0274, 0x20a9, 0x0004, 0x6010, 0x9098, 0x0006, 0x080c, 0xad80, + 0x1100, 0x015e, 0x003e, 0x002e, 0x0005, 0x00e6, 0x2071, 0x1100, + 0x080c, 0x5378, 0x080c, 0x2802, 0x00ee, 0x0005, 0x00d6, 0x0026, + 0x080c, 0x0e6d, 0x090c, 0x0d52, 0x9d90, 0x001a, 0x20a9, 0x000c, + 0x20e9, 0x0001, 0x22a0, 0x9016, 0x4204, 0x9186, 0x0046, 0x1118, + 0x6867, 0x0136, 0x0038, 0x6867, 0x0138, 0x9186, 0x0041, 0x0110, + 0x687b, 0x0001, 0x7038, 0x9084, 0xff00, 0x7240, 0x9294, 0xff00, + 0x8007, 0x9215, 0x6a9a, 0x9186, 0x0046, 0x1168, 0x7038, 0x9084, + 0x00ff, 0x723c, 0x9294, 0xff00, 0x9215, 0x6a9e, 0x723c, 0x9294, + 0x00ff, 0x6aa2, 0x0060, 0x7040, 0x9084, 0x00ff, 0x7244, 0x9294, + 0xff00, 0x9215, 0x6a9e, 0x7244, 0x9294, 0x00ff, 0x6aa2, 0x9186, + 0x0046, 0x1118, 0x9e90, 0x0012, 0x0010, 0x9e90, 0x001a, 0x2204, + 0x8007, 0x68a6, 0x8210, 0x2204, 0x8007, 0x68aa, 0x8210, 0x2204, + 0x8007, 0x68ae, 0x8210, 0x2204, 0x8007, 0x68b2, 0x8210, 0x9186, + 0x0046, 0x11b8, 0x9e90, 0x0016, 0x2204, 0x8007, 0x68b6, 0x8210, + 0x2204, 0x8007, 0x68ba, 0x8210, 0x2204, 0x8007, 0x68be, 0x8210, + 0x2204, 0x8007, 0x68c2, 0x8210, 0x2011, 0x0205, 0x2013, 0x0001, + 0x00b0, 0x9e90, 0x001e, 0x2204, 0x8007, 0x68b6, 0x8210, 0x2204, + 0x8007, 0x68ba, 0x2011, 0x0205, 0x2013, 0x0001, 0x2011, 0x0260, + 0x2204, 0x8007, 0x68be, 0x8210, 0x2204, 0x8007, 0x68c2, 0x9186, + 0x0046, 0x1118, 0x2011, 0x0262, 0x0010, 0x2011, 0x026a, 0x00d6, + 0x9de8, 0x0031, 0x20a9, 0x0008, 0x2204, 0x8007, 0x206a, 0x8210, + 0x8d68, 0x1f04, 0xd4ec, 0x00de, 0x2011, 0x0205, 0x2013, 0x0000, + 0x002e, 0x080c, 0x5fa7, 0x00de, 0x0005, 0x00e6, 0x6010, 0x2070, + 0x7000, 0xd0fc, 0x0108, 0x0011, 0x00ee, 0x0005, 0x6880, 0xc0e5, + 0x6882, 0x0005, 0x00e6, 0x00c6, 0x0076, 0x0066, 0x0056, 0x0046, + 0x0026, 0x0016, 0x0126, 0x2091, 0x8000, 0x2029, 0x1385, 0x252c, + 0x2021, 0x138b, 0x2424, 0x2061, 0x16c0, 0x2071, 0x1100, 0x764c, + 0x706c, 0x9606, 0x0578, 0x6720, 0x9786, 0x0001, 0x0118, 0x9786, + 0x0008, 0x1500, 0x2500, 0x9c06, 0x01e8, 0x2400, 0x9c06, 0x01d0, + 0x080c, 0xd1e5, 0x01b8, 0x080c, 0xd1f5, 0x11a0, 0x6000, 0x9086, + 0x0004, 0x1120, 0x0016, 0x080c, 0x15bf, 0x001e, 0x080c, 0xbb37, + 0x1110, 0x080c, 0x2a34, 0x080c, 0xbb48, 0x1110, 0x080c, 0xa7f8, + 0x080c, 0x9f0b, 0x9ce0, 0x0018, 0x2001, 0x1118, 0x2004, 0x9c02, + 0x1208, 0x0858, 0x012e, 0x001e, 0x002e, 0x004e, 0x005e, 0x006e, + 0x007e, 0x00ce, 0x00ee, 0x0005, 0x0126, 0x0006, 0x00e6, 0x0016, + 0x2091, 0x8000, 0x2071, 0x1140, 0xd5a4, 0x0118, 0x7034, 0x8000, + 0x7036, 0xd5b4, 0x0118, 0x7030, 0x8000, 0x7032, 0xd5ac, 0x0178, + 0x2500, 0x9084, 0x0007, 0x908e, 0x0003, 0x0148, 0x908e, 0x0004, + 0x0130, 0x908e, 0x0005, 0x0118, 0x2071, 0x114a, 0x04c9, 0x001e, + 0x00ee, 0x000e, 0x012e, 0x0005, 0x0126, 0x0006, 0x00e6, 0x0016, + 0x2091, 0x8000, 0x2071, 0x1140, 0xd5a4, 0x0118, 0x7034, 0x8000, + 0x7036, 0xd5b4, 0x0118, 0x7030, 0x8000, 0x7032, 0xd5ac, 0x0178, + 0x2500, 0x9084, 0x0007, 0x908e, 0x0003, 0x0148, 0x908e, 0x0004, + 0x0130, 0x908e, 0x0005, 0x0118, 0x2071, 0x114a, 0x0089, 0x001e, + 0x00ee, 0x000e, 0x012e, 0x0005, 0x0126, 0x0006, 0x00e6, 0x2091, + 0x8000, 0x2071, 0x1142, 0x0021, 0x00ee, 0x000e, 0x012e, 0x0005, + 0x2e04, 0x8000, 0x2072, 0x1220, 0x8e70, 0x2e04, 0x8000, 0x2072, + 0x0005, 0x00e6, 0x2071, 0x1140, 0x0c99, 0x00ee, 0x0005, 0x00e6, + 0x2071, 0x1144, 0x0c69, 0x00ee, 0x0005, 0x0126, 0x0006, 0x00e6, + 0x2091, 0x8000, 0x2071, 0x1140, 0x7044, 0x8000, 0x7046, 0x00ee, + 0x000e, 0x012e, 0x0005, 0x8064, 0x0008, 0x0010, 0x0000, 0x8066, + 0x0000, 0x0101, 0x0008, 0x4404, 0x0003, 0x8060, 0x0000, 0x0400, + 0x0000, 0x580a, 0x0003, 0x794e, 0x0003, 0x509d, 0x0003, 0x4c07, + 0x000b, 0xbac0, 0x0009, 0x0082, 0x0008, 0x0c07, 0x0003, 0x15fe, + 0x0008, 0x3407, 0x000b, 0x808c, 0x0008, 0x0001, 0x0000, 0x0000, + 0x0007, 0x4028, 0x0000, 0x4047, 0x000a, 0x808c, 0x0008, 0x0002, + 0x0000, 0x081a, 0x000b, 0x4022, 0x0000, 0x0020, 0x0003, 0x4122, + 0x0008, 0x94c0, 0x0009, 0xff00, 0x0008, 0xffe0, 0x0009, 0x0500, + 0x0008, 0x0a10, 0x0003, 0x4447, 0x0002, 0x0e0d, 0x000b, 0x0bfe, + 0x0008, 0x11a0, 0x0001, 0x11ef, 0x0003, 0x0ca0, 0x0001, 0x11ef, + 0x0003, 0x9180, 0x0001, 0x0004, 0x0000, 0x7f62, 0x0008, 0x8066, + 0x0000, 0x0009, 0x0008, 0x442c, 0x0003, 0x8080, 0x0001, 0x0004, + 0x0000, 0x7f62, 0x0008, 0x8066, 0x0000, 0x0411, 0x0000, 0x4432, + 0x0003, 0x808c, 0x0008, 0x0000, 0x0008, 0x0000, 0x0007, 0xc2c0, + 0x0009, 0x00ff, 0x0008, 0x02e0, 0x0001, 0x0dec, 0x000b, 0x03fe, + 0x0000, 0x43e0, 0x0001, 0x0dec, 0x000b, 0x9180, 0x0001, 0x0005, + 0x0008, 0x7f62, 0x0008, 0x8066, 0x0000, 0x0019, 0x0000, 0x4442, + 0x000b, 0x0240, 0x0002, 0x09e9, 0x0003, 0x00fe, 0x0000, 0x31ec, + 0x000b, 0x0248, 0x000a, 0x0851, 0x000b, 0x9180, 0x0001, 0x0006, + 0x0008, 0x7f62, 0x0008, 0x8002, 0x0008, 0x0003, 0x0008, 0x8066, + 0x0000, 0x020a, 0x0000, 0x4450, 0x000b, 0x112a, 0x0000, 0x002e, + 0x0008, 0x022c, 0x0008, 0x3a44, 0x0002, 0x0c07, 0x0003, 0x1734, + 0x0000, 0x1530, 0x0000, 0x1632, 0x0008, 0x0d2a, 0x0008, 0x9a80, + 0x0009, 0x000f, 0x0008, 0x7f62, 0x0008, 0x8066, 0x0000, 0x0011, + 0x0008, 0x445f, 0x000b, 0x808c, 0x0008, 0x0002, 0x0000, 0x01fe, + 0x0008, 0x42e0, 0x0009, 0x0de0, 0x000b, 0x00fe, 0x0000, 0x43e0, + 0x0001, 0x0de0, 0x000b, 0x9880, 0x0001, 0x0010, 0x0000, 0x7f62, + 0x0008, 0x8066, 0x0000, 0x1e0a, 0x0008, 0x446d, 0x0003, 0x808a, + 0x0008, 0x0003, 0x0008, 0x9a80, 0x0009, 0x0002, 0x0000, 0x7f62, + 0x0008, 0x5873, 0x000b, 0x8066, 0x0000, 0x3679, 0x0000, 0x4476, + 0x0003, 0x5877, 0x0003, 0x8054, 0x0008, 0x0011, 0x0008, 0x8074, + 0x0000, 0x1010, 0x0008, 0x1efe, 0x0000, 0x3007, 0x0003, 0x0080, + 0x000c, 0x0007, 0x0003, 0x1cfe, 0x0008, 0x1b80, 0x0009, 0x7f62, + 0x0008, 0x8066, 0x0000, 0x0231, 0x0008, 0x4485, 0x0003, 0x5886, + 0x000b, 0x0140, 0x0008, 0x0242, 0x0000, 0x1f43, 0x0002, 0x0c90, + 0x000b, 0x0d44, 0x0000, 0x0d46, 0x0008, 0x0348, 0x0008, 0x044a, + 0x0008, 0x0094, 0x0003, 0x0344, 0x0008, 0x0446, 0x0008, 0x0548, + 0x0008, 0x064a, 0x0000, 0x1948, 0x000a, 0x0897, 0x000b, 0x0d4a, + 0x0008, 0x5897, 0x000b, 0x8054, 0x0008, 0x0001, 0x0000, 0x8074, + 0x0000, 0x2020, 0x0008, 0x4000, 0x000f, 0x3a40, 0x000a, 0x0c0a, + 0x000b, 0x2b24, 0x0008, 0x2b24, 0x0008, 0x58a1, 0x000b, 0x8054, + 0x0008, 0x0002, 0x0000, 0x1242, 0x0002, 0x08eb, 0x0003, 0x3a45, + 0x000a, 0x08dc, 0x000b, 0x1e10, 0x000a, 0x7f3c, 0x0000, 0x08d9, + 0x000b, 0x1d00, 0x0002, 0x7f3a, 0x0000, 0x0d60, 0x0000, 0x7f62, + 0x0008, 0x8066, 0x0000, 0x0009, 0x0008, 0x44b1, 0x000b, 0x8060, + 0x0000, 0x0400, 0x0000, 0x00fe, 0x0000, 0x34d6, 0x000b, 0x1cfe, + 0x0008, 0xff80, 0x0009, 0x0001, 0x0000, 0x7f62, 0x0008, 0x8066, + 0x0000, 0x0009, 0x0008, 0x44bc, 0x0003, 0x00fe, 0x0000, 0x31c9, + 0x0003, 0x0038, 0x0000, 0x00fe, 0x0000, 0xff80, 0x0009, 0x0019, + 0x0000, 0x7f62, 0x0008, 0x8066, 0x0000, 0x0009, 0x0008, 0x44c6, + 0x000b, 0x80c0, 0x0009, 0x00ff, 0x0008, 0x7f3e, 0x0008, 0x0d60, + 0x0000, 0x0efe, 0x0008, 0x1f80, 0x0001, 0x7f62, 0x0008, 0x8066, + 0x0000, 0x0009, 0x0008, 0x44d0, 0x0003, 0x8060, 0x0000, 0x0400, + 0x0000, 0x003a, 0x0008, 0x1dfe, 0x0000, 0x00ad, 0x0003, 0x0036, + 0x0008, 0x0080, 0x000c, 0x00eb, 0x000b, 0x8074, 0x0000, 0x2000, + 0x0000, 0x00eb, 0x000b, 0x3a44, 0x0002, 0x09f2, 0x0003, 0x8074, + 0x0000, 0x1000, 0x0000, 0x2d0e, 0x0000, 0x2d0e, 0x0000, 0x35c9, + 0x000b, 0x26fe, 0x0008, 0x26fe, 0x0008, 0x2700, 0x0008, 0x2700, + 0x0008, 0x00d0, 0x0009, 0x0cf9, 0x000b, 0x8074, 0x0000, 0x4040, + 0x0008, 0x58eb, 0x0003, 0x509d, 0x0003, 0x3a46, 0x000a, 0x0cf9, + 0x000b, 0x3a47, 0x0002, 0x08f6, 0x0003, 0x8054, 0x0008, 0x0004, + 0x0000, 0x8074, 0x0000, 0x8000, 0x0000, 0x0141, 0x0003, 0x92c0, + 0x0009, 0x0f88, 0x0008, 0x0807, 0x000b, 0x9a80, 0x0009, 0x0002, + 0x0000, 0x7f62, 0x0008, 0x8066, 0x0000, 0x362a, 0x0000, 0x44fe, + 0x0003, 0x2000, 0x0000, 0x2000, 0x0000, 0x2102, 0x0000, 0x2102, + 0x0000, 0x2204, 0x0000, 0x2204, 0x0000, 0x2306, 0x0000, 0x2306, + 0x0000, 0x2408, 0x0000, 0x2408, 0x0000, 0x250a, 0x0000, 0x250a, + 0x0000, 0x260c, 0x0000, 0x260c, 0x0000, 0x270e, 0x0000, 0x270e, + 0x0000, 0x2810, 0x0000, 0x2810, 0x0000, 0x2912, 0x0000, 0x2912, + 0x0000, 0x9a80, 0x0009, 0x0007, 0x0000, 0x7f62, 0x0008, 0x8066, + 0x0000, 0x0052, 0x0000, 0x4518, 0x0003, 0x92c0, 0x0009, 0x0780, + 0x0008, 0x0dda, 0x000b, 0x124b, 0x0002, 0x0921, 0x000b, 0x2e4d, + 0x0002, 0x2e4d, 0x0002, 0x09c9, 0x000b, 0x3a46, 0x000a, 0x0d31, + 0x000b, 0x5923, 0x0003, 0x8054, 0x0008, 0x0004, 0x0000, 0x1243, + 0x000a, 0x093f, 0x000b, 0x8010, 0x0008, 0x000d, 0x0000, 0x01ba, + 0x0004, 0x1948, 0x000a, 0x092e, 0x000b, 0x01b1, 0x000c, 0x1810, + 0x0000, 0x01ba, 0x0004, 0x013f, 0x0003, 0x1948, 0x000a, 0x0935, + 0x000b, 0x1243, 0x000a, 0x09c9, 0x000b, 0x194d, 0x000a, 0x0939, + 0x000b, 0x1243, 0x000a, 0x09d0, 0x0003, 0x5939, 0x000b, 0x8054, + 0x0008, 0x0004, 0x0000, 0x01b1, 0x000c, 0x1810, 0x0000, 0x01ba, + 0x0004, 0x8074, 0x0000, 0xf000, 0x0008, 0x3a42, 0x0002, 0x0d47, + 0x0003, 0x15fe, 0x0008, 0x3456, 0x0003, 0x0d30, 0x0000, 0x0007, + 0x0003, 0x0d30, 0x0000, 0x8074, 0x0000, 0x0501, 0x0000, 0x8010, + 0x0008, 0x000c, 0x0008, 0x01ba, 0x0004, 0x0007, 0x0003, 0xbbe0, + 0x0009, 0x0030, 0x0008, 0x0d5e, 0x000b, 0x18fe, 0x0000, 0x3ce0, + 0x0009, 0x095b, 0x0003, 0x15fe, 0x0008, 0x3ce0, 0x0009, 0x095b, + 0x0003, 0x01ac, 0x000c, 0x8076, 0x0008, 0x0040, 0x0000, 0x01a9, + 0x0003, 0x8076, 0x0008, 0x0041, 0x0008, 0x01a9, 0x0003, 0xbbe0, + 0x0009, 0x0032, 0x0000, 0x0d63, 0x0003, 0x3c1e, 0x0008, 0x01a9, + 0x0003, 0xbbe0, 0x0009, 0x003b, 0x0000, 0x0d68, 0x000b, 0x3c20, + 0x0000, 0x01a9, 0x0003, 0xbbe0, 0x0009, 0x0035, 0x0008, 0x0d6e, + 0x000b, 0x8072, 0x0000, 0x8000, 0x0000, 0x02f1, 0x000b, 0xbbe0, + 0x0009, 0x0036, 0x0008, 0x0a22, 0x000b, 0xbbe0, 0x0009, 0x0037, + 0x0000, 0x0d8e, 0x0003, 0x18fe, 0x0000, 0x3ce0, 0x0009, 0x0d5b, + 0x000b, 0x1afe, 0x0008, 0xff80, 0x0009, 0x000d, 0x0000, 0x7f62, + 0x0008, 0x2604, 0x0008, 0x2604, 0x0008, 0x2706, 0x0008, 0x2706, + 0x0008, 0x2808, 0x0000, 0x2808, 0x0000, 0x290a, 0x0000, 0x290a, + 0x0000, 0x8066, 0x0000, 0x0422, 0x0000, 0x4585, 0x000b, 0x01b1, + 0x000c, 0x8054, 0x0008, 0x0004, 0x0000, 0x8074, 0x0000, 0xf000, + 0x0008, 0x8072, 0x0000, 0x8000, 0x0000, 0x0141, 0x0003, 0xbbe0, + 0x0009, 0x0038, 0x0000, 0x0da0, 0x0003, 0x18fe, 0x0000, 0x3ce0, + 0x0009, 0x099d, 0x0003, 0x15fe, 0x0008, 0x3ce0, 0x0009, 0x0d57, + 0x000b, 0x01ac, 0x000c, 0x8076, 0x0008, 0x0040, 0x0000, 0x8072, + 0x0000, 0x8000, 0x0000, 0x01e9, 0x000b, 0x8076, 0x0008, 0x0042, + 0x0008, 0x01a9, 0x0003, 0xbbe0, 0x0009, 0x0016, 0x0000, 0x0da9, + 0x0003, 0x3a44, 0x0002, 0x0c09, 0x000b, 0x8072, 0x0000, 0x8000, + 0x0000, 0x8000, 0x000f, 0x0007, 0x0003, 0x8072, 0x0000, 0x8000, + 0x0000, 0x0007, 0x0003, 0x3d30, 0x000a, 0x7f00, 0x0000, 0xbc80, + 0x0001, 0x0007, 0x0000, 0x01b5, 0x000b, 0x1930, 0x000a, 0x7f00, + 0x0000, 0x9880, 0x0001, 0x0007, 0x0000, 0x7f62, 0x0008, 0x8066, + 0x0000, 0x000a, 0x0008, 0x45b8, 0x0003, 0x4000, 0x000f, 0x21ba, + 0x0003, 0x0870, 0x0008, 0x4000, 0x000f, 0xbac0, 0x0009, 0x0090, + 0x0008, 0x09c3, 0x000b, 0x8074, 0x0000, 0x0706, 0x0000, 0x01c5, + 0x0003, 0x8074, 0x0000, 0x0703, 0x0000, 0x4000, 0x000f, 0x8010, + 0x0008, 0x0008, 0x0000, 0x01f7, 0x000b, 0x01b1, 0x000c, 0x8010, + 0x0008, 0x0007, 0x0000, 0x01ba, 0x0004, 0x1810, 0x0000, 0x01ba, + 0x0004, 0x0201, 0x000b, 0x01b1, 0x000c, 0x8010, 0x0008, 0x001b, + 0x0008, 0x01ba, 0x0004, 0x1810, 0x0000, 0x01ba, 0x0004, 0x8074, + 0x0000, 0xf080, 0x0000, 0x0d30, 0x0000, 0x0007, 0x0003, 0x8010, + 0x0008, 0x0009, 0x0008, 0x01f7, 0x000b, 0x8010, 0x0008, 0x0005, + 0x0008, 0x01f7, 0x000b, 0x1948, 0x000a, 0x0c68, 0x0003, 0x808c, + 0x0008, 0x0001, 0x0000, 0x8010, 0x0008, 0x0004, 0x0000, 0x4143, + 0x000a, 0x0868, 0x000b, 0x01f7, 0x000b, 0x8010, 0x0008, 0x0003, + 0x0008, 0x01f9, 0x0003, 0x8010, 0x0008, 0x000b, 0x0000, 0x01f9, + 0x0003, 0x8010, 0x0008, 0x0002, 0x0000, 0x01f9, 0x0003, 0x3a47, + 0x0002, 0x0ceb, 0x000b, 0x8010, 0x0008, 0x0006, 0x0008, 0x01f9, + 0x0003, 0x8074, 0x0000, 0xf000, 0x0008, 0x01ba, 0x0004, 0x01bd, + 0x000c, 0x3a40, 0x000a, 0x0807, 0x000b, 0x8010, 0x0008, 0x000c, + 0x0008, 0x01ba, 0x0004, 0x0007, 0x0003, 0x8074, 0x0000, 0xf080, + 0x0000, 0x0d30, 0x0000, 0x2e4d, 0x0002, 0x2e4d, 0x0002, 0x0a0a, + 0x000b, 0x8054, 0x0008, 0x0019, 0x0000, 0x0007, 0x0003, 0x8054, + 0x0008, 0x0009, 0x0008, 0x0007, 0x0003, 0x3a44, 0x0002, 0x0c07, + 0x0003, 0x01ec, 0x000b, 0x808c, 0x0008, 0x0000, 0x0008, 0x4447, + 0x0002, 0x0a31, 0x0003, 0xc0c0, 0x0001, 0x00ff, 0x0008, 0xffe0, + 0x0009, 0x00ff, 0x0008, 0x0e0d, 0x000b, 0xc1e0, 0x0001, 0xffff, + 0x0008, 0x0e0d, 0x000b, 0x8010, 0x0008, 0x0013, 0x0000, 0x01ba, + 0x0004, 0x8074, 0x0000, 0x0202, 0x0008, 0x0007, 0x0003, 0x8074, + 0x0000, 0x0200, 0x0000, 0x3d00, 0x0000, 0x3cfe, 0x0000, 0x8072, + 0x0000, 0x8000, 0x0000, 0x43e0, 0x0001, 0x0e2f, 0x000b, 0x42fe, + 0x0000, 0xffc0, 0x0001, 0x00ff, 0x0008, 0x00e0, 0x0009, 0x0a0d, + 0x0003, 0x0d08, 0x0008, 0x027e, 0x0003, 0x02fa, 0x000c, 0x808c, + 0x0008, 0x0001, 0x0000, 0x04fe, 0x0008, 0x32dd, 0x0003, 0x8480, + 0x0009, 0x0001, 0x0000, 0x7f62, 0x0008, 0x8066, 0x0000, 0x0009, + 0x0008, 0x463b, 0x000b, 0x0004, 0x0000, 0x80c0, 0x0009, 0x00ff, + 0x0008, 0x7f00, 0x0000, 0x80e0, 0x0001, 0x0004, 0x0000, 0x0a55, + 0x000b, 0x80e0, 0x0001, 0x0005, 0x0008, 0x0a55, 0x000b, 0x80e0, + 0x0001, 0x0006, 0x0008, 0x0a55, 0x000b, 0x82c0, 0x0001, 0xff00, + 0x0008, 0x7f04, 0x0008, 0x82e0, 0x0009, 0x0600, 0x0008, 0x0a55, + 0x000b, 0x82e0, 0x0009, 0x0500, 0x0008, 0x0a55, 0x000b, 0x82e0, + 0x0009, 0x0400, 0x0000, 0x0edd, 0x0003, 0xc4c0, 0x0009, 0x7000, + 0x0000, 0xffe0, 0x0009, 0x1000, 0x0000, 0x0a7e, 0x000b, 0x02eb, + 0x000c, 0x3941, 0x0002, 0x0a60, 0x000b, 0x8072, 0x0000, 0x0400, + 0x0000, 0x0007, 0x0003, 0x8480, 0x0009, 0x002b, 0x0008, 0x7f62, + 0x0008, 0x8066, 0x0000, 0x2209, 0x0008, 0x4665, 0x0003, 0x11fe, + 0x0000, 0x3279, 0x000b, 0x9180, 0x0001, 0x0002, 0x0000, 0x7f62, + 0x0008, 0x8066, 0x0000, 0x0609, 0x0008, 0x466d, 0x000b, 0x42fe, + 0x0000, 0xffc0, 0x0001, 0xff00, 0x0008, 0x03e0, 0x0009, 0x0e76, + 0x000b, 0x8072, 0x0000, 0x0400, 0x0000, 0x003d, 0x0003, 0x9180, + 0x0001, 0x0003, 0x0008, 0x0262, 0x000b, 0x8072, 0x0000, 0x0400, + 0x0000, 0x8010, 0x0008, 0x0010, 0x0000, 0x02d0, 0x000b, 0x02eb, + 0x000c, 0x3941, 0x0002, 0x0a84, 0x000b, 0x8072, 0x0000, 0x0400, + 0x0000, 0x0007, 0x0003, 0x02b7, 0x000c, 0x11fe, 0x0000, 0x0e8c, + 0x000b, 0x8072, 0x0000, 0x0400, 0x0000, 0x8010, 0x0008, 0x000e, + 0x0000, 0x02d0, 0x000b, 0x04fe, 0x0008, 0x0e9f, 0x0003, 0x808c, + 0x0008, 0x0000, 0x0008, 0x9180, 0x0001, 0x0005, 0x0008, 0x7f62, + 0x0008, 0x8066, 0x0000, 0x0009, 0x0008, 0x4695, 0x0003, 0x8080, + 0x0001, 0x001b, 0x0008, 0x7f62, 0x0008, 0x4304, 0x0008, 0x4206, + 0x0008, 0x8066, 0x0000, 0x0412, 0x0000, 0x469d, 0x000b, 0x02b4, + 0x0003, 0x808c, 0x0008, 0x0001, 0x0000, 0x8480, 0x0009, 0x002b, + 0x0008, 0x7f62, 0x0008, 0x8066, 0x0000, 0x0609, 0x0008, 0x46a6, + 0x0003, 0x8066, 0x0000, 0x220a, 0x0008, 0x46a9, 0x0003, 0x42fe, + 0x0000, 0xffc0, 0x0001, 0xff00, 0x0008, 0x7f04, 0x0008, 0x9180, + 0x0001, 0x0002, 0x0000, 0x7f62, 0x0008, 0x8066, 0x0000, 0x041a, + 0x0008, 0x46b3, 0x000b, 0x8072, 0x0000, 0x0400, 0x0000, 0x003d, + 0x0003, 0x1362, 0x0008, 0x8066, 0x0000, 0x0411, 0x0000, 0x46ba, + 0x000b, 0x02fe, 0x0008, 0x03e0, 0x0009, 0x0ec0, 0x0003, 0x0d22, + 0x0000, 0x4000, 0x000f, 0x8280, 0x0009, 0x0002, 0x0000, 0x1380, + 0x0001, 0x7f62, 0x0008, 0x8066, 0x0000, 0x2209, 0x0008, 0x46c6, + 0x0003, 0x0200, 0x000a, 0xffc0, 0x0001, 0x0007, 0x0000, 0x7f06, + 0x0000, 0x1362, 0x0008, 0x8066, 0x0000, 0x060a, 0x0008, 0x46ce, + 0x000b, 0x4000, 0x000f, 0x3a44, 0x0002, 0x0c07, 0x0003, 0x2f44, + 0x000a, 0x2f44, 0x000a, 0x0dec, 0x000b, 0x808a, 0x0008, 0x0003, + 0x0008, 0x8074, 0x0000, 0xf080, 0x0000, 0x5ad9, 0x0003, 0x8054, + 0x0008, 0x0019, 0x0000, 0x0007, 0x0003, 0x3a44, 0x0002, 0x0c07, + 0x0003, 0x808c, 0x0008, 0x0000, 0x0008, 0x8010, 0x0008, 0x0011, + 0x0008, 0x01ba, 0x0004, 0x42fe, 0x0000, 0xffc0, 0x0001, 0x00ff, + 0x0008, 0x7f10, 0x0008, 0x01ba, 0x0004, 0x4310, 0x0008, 0x01f9, + 0x0003, 0x3941, 0x0002, 0x0aee, 0x000b, 0x4000, 0x000f, 0x8072, + 0x0000, 0x0404, 0x0008, 0x4000, 0x000f, 0x8010, 0x0008, 0x0012, + 0x0008, 0x01ba, 0x0004, 0x02b7, 0x000c, 0x1110, 0x0000, 0x01ba, + 0x0004, 0x11fe, 0x0000, 0x0ef4, 0x000b, 0x0007, 0x0003, 0xc2c0, + 0x0009, 0x00ff, 0x0008, 0x7f00, 0x0000, 0x0f1b, 0x000b, 0xc3c0, + 0x0001, 0xff00, 0x0008, 0x0f1b, 0x000b, 0x43fe, 0x0008, 0x3e80, + 0x0001, 0x0d60, 0x0000, 0x7f62, 0x0008, 0x8066, 0x0000, 0x0809, + 0x0000, 0x4707, 0x0003, 0x8060, 0x0000, 0x0400, 0x0000, 0x84c0, + 0x0001, 0xff00, 0x0008, 0x7f60, 0x000a, 0x7f60, 0x000a, 0x7f60, + 0x000a, 0x7f60, 0x000a, 0x7f60, 0x000a, 0x7f60, 0x000a, 0x7f60, + 0x000a, 0x7f60, 0x000a, 0xff80, 0x0009, 0x1000, 0x0000, 0x7f62, + 0x0008, 0x8066, 0x0000, 0x0809, 0x0000, 0x4719, 0x0003, 0x4000, + 0x000f, 0x0d0a, 0x0000, 0x8580, 0x0001, 0x1000, 0x0000, 0x7f62, + 0x0008, 0x8066, 0x0000, 0x0809, 0x0000, 0x4721, 0x000b, 0x04fe, + 0x0008, 0x3330, 0x000b, 0x8480, 0x0009, 0x0004, 0x0000, 0x7f62, + 0x0008, 0x8066, 0x0000, 0x0211, 0x0000, 0x4729, 0x0003, 0x01fe, + 0x0008, 0x00e0, 0x0009, 0x0f30, 0x000b, 0x02fe, 0x0008, 0x43e0, + 0x0001, 0x0b36, 0x0003, 0x0500, 0x0002, 0x7f0a, 0x0000, 0xffe0, + 0x0009, 0x0100, 0x0000, 0x0f1c, 0x0003, 0x0d08, 0x0008, 0x4000, + 0x000f, 0x41f9, 0xee9b, 0x0001, 0x0002, 0x0004, 0x0008, 0x0010, + 0x0020, 0x0040, 0x0080, 0x0100, 0x0200, 0x0400, 0x0800, 0x1000, + 0x2000, 0x4000, 0x8000, 0x0979 +}; +#ifdef UNIQUE_FW_NAME +unsigned short fw2300ip_length01 = 0xd45c; +#else +unsigned short risc_code_length01 = 0xd45c; +#endif + diff -urNp 2.4.19rc1/drivers/scsi/qla2xxx/qla2200.c qlogic/drivers/scsi/qla2xxx/qla2200.c --- 2.4.19rc1/drivers/scsi/qla2xxx/qla2200.c Thu Jan 1 01:00:00 1970 +++ qlogic/drivers/scsi/qla2xxx/qla2200.c Mon Jul 8 12:05:21 2002 @@ -0,0 +1,43 @@ +/****************************************************************************** + * QLOGIC LINUX SOFTWARE + * + * QLogic ISP2x00 device driver for Linux 2.4.x + * Copyright (C) 2002 Qlogic Corporation + * (www.qlogic.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, 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. + * + ******************************************************************************/ + +/* + * This file set some defines that are required to compile the + * command source for 2200 module + */ +#define ISP2200 + +#ifndef LINUX +#define LINUX +#endif /* LINUX not defined */ +#ifndef linux +#define linux +#endif /* linux not defined */ +#ifndef INTAPI +#define INTAPI +#endif /* INTAPI not defined */ +/* + * Include common setting + */ +#include "qla_settings.h" + +/* + * Include common source + */ +#include "qla2x00.c" diff -urNp 2.4.19rc1/drivers/scsi/qla2xxx/qla2300.c qlogic/drivers/scsi/qla2xxx/qla2300.c --- 2.4.19rc1/drivers/scsi/qla2xxx/qla2300.c Thu Jan 1 01:00:00 1970 +++ qlogic/drivers/scsi/qla2xxx/qla2300.c Mon Jul 8 12:05:21 2002 @@ -0,0 +1,43 @@ +/****************************************************************************** + * QLOGIC LINUX SOFTWARE + * + * QLogic ISP2x00 device driver for Linux 2.4.x + * Copyright (C) 2002 Qlogic Corporation + * (www.qlogic.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, 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. + * + ******************************************************************************/ + +/* + * This file set some defines that are required to compile the + * command source for 2300 module + */ +#define ISP2300 + +#ifndef LINUX +#define LINUX +#endif /* LINUX not defined */ +#ifndef linux +#define linux +#endif /* linux not defined */ +#ifndef INTAPI +#define INTAPI +#endif /* INTAPI not defined */ +/* + * Include common setting + */ +#include "qla_settings.h" + +/* + * Include common source + */ +#include "qla2x00.c" diff -urNp 2.4.19rc1/drivers/scsi/qla2xxx/qla2x00.c qlogic/drivers/scsi/qla2xxx/qla2x00.c --- 2.4.19rc1/drivers/scsi/qla2xxx/qla2x00.c Thu Jan 1 01:00:00 1970 +++ qlogic/drivers/scsi/qla2xxx/qla2x00.c Mon Jul 8 12:05:21 2002 @@ -0,0 +1,15600 @@ +/****************************************************************************** + * QLOGIC LINUX SOFTWARE + * + * QLogic ISP2x00 device driver for Linux 2.4.x + * Copyright (C) 2002 Qlogic Corporation + * (www.qlogic.com) + * + * Portions (C) Arjan van de Ven for Red Hat, Inc. + * + * 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, 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. + * + ******************************************************************************/ + +/**************************************************************************** + Please see revision.notes for revision history. +*****************************************************************************/ + +/* +* String arrays +*/ +#define LINESIZE 256 +#define MAXARGS 26 + +/* +* Include files +*/ +#include +#ifdef MODULE +#include +#endif + +#ifndef LINUX_VERSION_CODE +#include +#endif /* LINUX_VERSION_CODE not defined */ + +/* Restrict compilation to 2.4.0 or greater */ +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,0) +#error "This driver does not support kernel versions earlier than 2.4.0" +#endif + +#include "qla_settings.h" + +static int num_hosts = 0; /* ioctl related */ +static int apiHBAInstance = 0; /* ioctl related keeps track of API HBA Instance */ + +#if QL_TRACE_MEMORY +static unsigned long mem_trace[1000]; +static unsigned long mem_id[1000]; +#endif + + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#ifndef KERNEL_VERSION +# define KERNEL_VERSION(x,y,z) (((x)<<16)+((y)<<8)+(z)) +#endif + +#define APIDEV 1 + +#define __KERNEL_SYSCALLS__ + +#include +#include + +#include +/* +* We must always allow SHUTDOWN_SIGS. Even if we are not a module, +* the host drivers that we are using may be loaded as modules, and +* when we unload these, we need to ensure that the error handler thread +* can be shut down. +* +* Note - when we unload a module, we send a SIGHUP. We mustn't +* enable SIGTERM, as this is how the init shuts things down when you +* go to single-user mode. For that matter, init also sends SIGKILL, +* so we mustn't enable that one either. We use SIGHUP instead. Other +* options would be SIGPWR, I suppose. +*/ +#define SHUTDOWN_SIGS (sigmask(SIGHUP)) +#include "sd.h" +#include "scsi.h" +#include "hosts.h" + +#ifdef FC_IP_SUPPORT +#include +#include "qla_ip.h" +#endif + +#ifdef FC_SCTP_SUPPORT +#endif + +#include "exioct.h" +#include "qla2x00.h" +#define UNIQUE_FW_NAME /* unique F/W array names */ +#ifdef ISP2200 +#ifdef FC_IP_SUPPORT +#include "ql2200ip_fw.h" /* ISP RISC 2200 IP code */ +#else +#include "ql2200_fw.h" /* ISP RISC 2200 TP code */ +#endif +#endif +#ifdef ISP2300 +#ifdef FC_IP_SUPPORT +#include "ql2300ip_fw.h" /* ISP RISC 2300 IP code */ +#else +#include "ql2300_fw.h" /* ISP RISC 2300 TP code */ +#endif +#endif +#include + +#include + +#include "qla_cfg.h" +#include "qla_gbl.h" +#include "qla_dbg.h" + +#define BZERO(ptr, amt) memset((void *)(ptr), 0, amt) +#define BCOPY(src, dst, amt) memcpy((void *)(dst), (void *)(src), amt) +#define KMALLOC_DMA(siz) kmalloc((siz), GFP_ATOMIC | GFP_DMA) +#define KMALLOC(siz) kmalloc((siz), GFP_ATOMIC) +#define KMFREE(ip,siz) kfree((ip)) +#if NO_LONG_DELAYS +#define SYS_DELAY(x) qla2x00_sleep(x) +#define QLA2100_DELAY(sec) qla2x00_sleep(sec * HZ) +#define NVRAM_DELAY() qla2x00_sleep(10) /* 10 microsecond delay */ +#define UDELAY(x) qla2x00_sleep(x) +#else +#define SYS_DELAY(x) udelay(x);barrier() +#define QLA2100_DELAY(sec) mdelay(sec * HZ) +#define NVRAM_DELAY() udelay(10) /* 10 microsecond delay */ +#define UDELAY(x) udelay(x) +#endif + +/* 4.10 */ +#if BITS_PER_LONG > 32 +#define pci_dma_lo32(a) (a & 0xffffffff) +#define pci_dma_hi32(a) ((((a) >> 16)>>16) & 0xffffffff) +#else +#define pci_dma_lo32(a) (a & 0xffffffff) +#define pci_dma_hi32(a) 0 +#endif + +#define VIRT_TO_BUS(a) virt_to_bus((a)) + +#if BITS_PER_LONG <= 32 +#define VIRT_TO_BUS_LOW(a) (uint32_t)virt_to_bus(((void *)a)) +#define VIRT_TO_BUS_HIGH(a) (uint32_t)(0x0) +#else +#define VIRT_TO_BUS_LOW(a) (uint32_t)(0xffffffff & virt_to_bus((void *)(a))) +#define VIRT_TO_BUS_HIGH(a) (uint32_t)(0xffffffff & (virt_to_bus((void *)(a))>>32)) +#endif + +#define CACHE_FLUSH(a) (RD_REG_WORD(a)) +#define INVALID_HANDLE (MAX_OUTSTANDING_COMMANDS+1) + +#define ABORTS_ACTIVE ((test_bit(LOOP_RESET_NEEDED, &ha->dpc_flags)) || \ + (test_bit(DEVICE_RESET_NEEDED, &ha->dpc_flags)) || \ + (test_bit(DEVICE_ABORT_NEEDED, &ha->dpc_flags)) || \ + (test_bit(ISP_ABORT_NEEDED, &ha->dpc_flags))) + +#define STATIC static + +#define OFFSET(w) (((u_long) &w) & 0xFFFF) /* 256 byte offsets */ + +/* + * LOCK MACROS + */ + +#define QLA_MBX_REG_LOCK(ha) \ + spin_lock_irqsave(&(ha)->mbx_reg_lock, mbx_flags); +#define QLA_MBX_REG_UNLOCK(ha) \ + spin_unlock_irqrestore(&(ha)->mbx_reg_lock, mbx_flags); + +#define WATCH_INTERVAL 1 /* number of seconds */ +#define START_TIMER(f, h, w) \ +{ \ +init_timer(&(h)->timer); \ +(h)->timer.expires = jiffies + w * HZ;\ +(h)->timer.data = (unsigned long) h; \ +(h)->timer.function = (void (*)(unsigned long))f; \ +add_timer(&(h)->timer); \ +(h)->timer_active = 1;\ +} + +#define RESTART_TIMER(f, h, w) \ +{ \ +mod_timer(&(h)->timer,jiffies + w * HZ); \ +} + +#if LINUX_VERSION_CODE > KERNEL_VERSION(2,4,0) +#define STOP_TIMER(f, h) \ +{ \ +del_timer_sync(&(h)->timer); \ +(h)->timer_active = 0;\ +} +#else +#define STOP_TIMER(f, h) \ +{ \ +del_timer(&(h)->timer); \ +(h)->timer_active = 0;\ +} +#endif +#define COMPILE 0 + +#ifdef ISP2200 +#define DRIVER_NAME "qla2200" +#endif +#ifdef ISP2300 +#define DRIVER_NAME "qla2300" +#endif + + +typedef unsigned long paddr32_t; + +/* +* Qlogic Driver support Function Prototypes. +*/ +STATIC uint8_t qla2x00_register_with_Linux(scsi_qla_host_t *ha, uint8_t maxchannels); +STATIC int qla2x00_done(scsi_qla_host_t *); +STATIC void qla2x00_select_queue_depth(struct Scsi_Host *, Scsi_Device *); + +STATIC void +qla2x00_timer(scsi_qla_host_t *); + +STATIC uint8_t qla2x00_mem_alloc(scsi_qla_host_t *); + +static void qla2x00_dump_regs(struct Scsi_Host *host); +#if STOP_ON_ERROR +static void qla2x00_panic(char *, struct Scsi_Host *host); +#endif +void qla2x00_print_scsi_cmd(Scsi_Cmnd *cmd); + +#if 0 +STATIC void qla2x00_abort_pending_queue(scsi_qla_host_t *ha, uint32_t stat); +#endif + +STATIC void qla2x00_mem_free(scsi_qla_host_t *ha); +void qla2x00_do_dpc(void *p); + +static inline void qla2x00_callback(scsi_qla_host_t *ha, Scsi_Cmnd *cmd); + +static inline void qla2x00_enable_intrs(scsi_qla_host_t *); +static inline void qla2x00_disable_intrs(scsi_qla_host_t *); + +static void qla2x00_extend_timeout(Scsi_Cmnd *cmd, int timeout); + +static int qla2x00_get_tokens(char *line, char **argv, int maxargs ); + +/* +* QLogic ISP2x00 Hardware Support Function Prototypes. +*/ +STATIC void +qla2x00_cfg_persistent_binding(adapter_state_t *ha); +STATIC uint8_t qla2x00_initialize_adapter(scsi_qla_host_t *), +qla2x00_isp_firmware(scsi_qla_host_t *), +qla2x00_pci_config(scsi_qla_host_t *), +qla2x00_set_cache_line(scsi_qla_host_t *), +qla2x00_chip_diag(scsi_qla_host_t *), +qla2x00_setup_chip(scsi_qla_host_t *ha), +qla2x00_init_rings(scsi_qla_host_t *ha), +qla2x00_fw_ready(scsi_qla_host_t *ha), +qla2x00_nvram_config(scsi_qla_host_t *), +qla2x00_get_link_status(scsi_qla_host_t *, uint8_t, void *, uint16_t *), + +#if USE_FLASH_DATABASE +qla2x00_get_database(scsi_qla_host_t *), +qla2x00_save_database(scsi_qla_host_t *), +qla2x00_program_flash_address(scsi_qla_host_t *, uint32_t, u_char), +qla2x00_erase_flash_sector(scsi_qla_host_t *, uint32_t), +qla2x00_poll_flash(scsi_qla_host_t *, uint32_t, u_char), +#endif + +qla2x00_loop_reset(scsi_qla_host_t *ha), + +qla2x00_abort_isp(scsi_qla_host_t *, uint8_t), +qla2x00_loop_resync(scsi_qla_host_t *); + +STATIC void qla2x00_nv_write(scsi_qla_host_t *, uint16_t), +qla2x00_nv_deselect(adapter_state_t *ha), +qla2x00_poll(scsi_qla_host_t *), +qla2x00_init_fc_db(scsi_qla_host_t *), +qla2x00_init_tgt_map(scsi_qla_host_t *), +#if USE_FLASH_DATABASE +qla2x00_flash_enable_database(scsi_qla_host_t *), +qla2x00_flash_disable_database(scsi_qla_host_t *), +qla2x00_write_flash_byte(scsi_qla_host_t *, uint32_t, u_char), +#endif +qla2x00_reset_adapter(scsi_qla_host_t *), +qla2x00_enable_lun(scsi_qla_host_t *), +qla2x00_isp_cmd(scsi_qla_host_t *), +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,7) +qla2x00_process_risc_intrs(scsi_qla_host_t *), +#endif +qla2x00_isr(scsi_qla_host_t *, uint16_t, uint8_t *), +qla2x00_rst_aen(scsi_qla_host_t *), + +qla2x00_response_pkt(scsi_qla_host_t *, uint16_t), +qla2x00_status_entry(scsi_qla_host_t *, sts_entry_t *), +qla2x00_error_entry(scsi_qla_host_t *, response_t *), +qla2x00_ms_entry(scsi_qla_host_t *, ms_iocb_entry_t *), + +qla2x00_restart_queues(scsi_qla_host_t *, uint8_t), +qla2x00_abort_queues(scsi_qla_host_t *, uint8_t); + +STATIC void qla2x00_flash_enable(adapter_state_t *); +STATIC void qla2x00_flash_disable(adapter_state_t *); +STATIC uint8_t qla2x00_read_flash_byte(adapter_state_t *, uint32_t); +STATIC uint16_t qla2x00_get_flash_version(adapter_state_t *); + +STATIC uint16_t qla2x00_get_nvram_word(scsi_qla_host_t *, uint32_t), +qla2x00_nvram_request(scsi_qla_host_t *, uint32_t), +qla2x00_debounce_register(volatile uint16_t *); + +STATIC request_t *qla2x00_req_pkt(scsi_qla_host_t *); +STATIC request_t *qla2x00_ms_req_pkt(scsi_qla_host_t *, srb_t *); +STATIC uint8_t qla2x00_configure_hba(scsi_qla_host_t *ha); +STATIC void qla2x00_reset_chip(scsi_qla_host_t *ha); +#if QL2100_TARGET_MODE_SUPPORT +qla2x00_enable_lun(scsi_qla_host_t *, uint8_t, uint32_t), +qla2x00_notify_ack(scsi_qla_host_t *, notify_entry_t *), +qla2x00_immed_notify(scsi_qla_host_t *, notify_entry_t *), +qla2x00_accept_io(scsi_qla_host_t *, ctio_ret_entry_t *), +qla2x00_64bit_continue_io(scsi_qla_host_t *, atio_entry_t *, uint32_t, + u_long *), +qla2x00_32bit_continue_io(scsi_qla_host_t *, atio_entry_t *, uint32_t, + u_long *), +qla2x00_atio_entry(scsi_qla_host_t *, atio_entry_t *), +qla2x00_notify_entry(scsi_qla_host_t *, notify_entry_t *), + +#endif /* QLA2100_TARGET_MODE_SUPPORT */ +STATIC void qla2x00_display_fc_names(scsi_qla_host_t *ha); +void qla2x00_dump_requests(scsi_qla_host_t *ha); +static void qla2x00_get_properties(scsi_qla_host_t *ha, char *string); +STATIC uint8_t qla2x00_find_propname(scsi_qla_host_t *ha, + char *propname, char *propstr, char *db, int siz); +static int qla2x00_get_prop_16chars(scsi_qla_host_t *ha, + char *propname, char *propval, char *cmdline); +static char *qla2x00_get_line(char *str, char *line); +void qla2x00_check_fabric_devices(scsi_qla_host_t *ha); + +#ifdef FC_IP_SUPPORT +/* Entry points for IP network driver */ +#if defined(ISP2200) +int qla2200_ip_inquiry(uint16_t wAdapterNumber, BD_INQUIRY_DATA *pInquiryData); +EXPORT_SYMBOL(qla2200_ip_inquiry); +#elif defined(ISP2300) +int qla2300_ip_inquiry(uint16_t wAdapterNumber, BD_INQUIRY_DATA *pInquiryData); +EXPORT_SYMBOL(qla2300_ip_inquiry); +#endif + +/* Callback routines */ +static int qla2x00_ip_enable(scsi_qla_host_t *ha, BD_ENABLE_DATA *pEnableData); +static void qla2x00_ip_disable(scsi_qla_host_t *ha); +static void qla2x00_add_buffers(scsi_qla_host_t *ha, uint16_t wBufferCount); +static int qla2x00_send_packet(scsi_qla_host_t *ha, SEND_CB *pSendCB); + +/* Routines for IP support */ +static int qla2x00_ip_initialize(scsi_qla_host_t *ha); +static int qla2x00_add_new_ip_device(scsi_qla_host_t *ha, + uint16_t wLoopId, uint8_t *pPortId, + uint8_t *pPortName, int bForceAdd, uint32_t hardware_locked); +static int qla2x00_convert_to_arp(scsi_qla_host_t *ha, SEND_CB *pSendCB); +static void qla2x00_free_ip_block(scsi_qla_host_t *ha, IP_DEVICE_BLOCK *pIpDevice); +static int qla2x00_get_ip_loopid(scsi_qla_host_t *ha, uint8_t *pNodeName, uint8_t *pLoopId); +static int qla2x00_reserve_ip_block(scsi_qla_host_t *ha, PIP_DEVICE_BLOCK *pIpDevBlk); +static int qla2x00_update_ip_device_data(scsi_qla_host_t *ha, fcdev_t *pDeviceData); +static int qla2x00_reserve_loopid(scsi_qla_host_t *ha, uint16_t *pLoopId); +static void qla2x00_free_loopid(scsi_qla_host_t *ha, uint16_t wLoopId); +static int qla2x00_ip_send_login_port_iocb(scsi_qla_host_t *ha, + IP_DEVICE_BLOCK *pIpDevice, uint32_t hardware_locked); +static int qla2x00_ip_send_logout_port_iocb(scsi_qla_host_t *ha, + IP_DEVICE_BLOCK *pIpDevice, uint32_t hardware_locked); +static void qla2x00_ip_mailbox_iocb_done(scsi_qla_host_t *ha, PMBX_IOCB pIocb); +static void qla2x00_ip_send_complete(scsi_qla_host_t *ha, uint32_t lTagVal); +static void qla2x00_ip_receive(scsi_qla_host_t *ha, response_t *pkt); +static void qla2x00_ip_receive_fastpost(scsi_qla_host_t *ha, uint16_t type); +#endif + +static void qla2x00_device_resync(scsi_qla_host_t *); +STATIC uint8_t qla2x00_update_fc_database(scsi_qla_host_t *, fcdev_t *, + uint8_t); + +STATIC uint8_t qla2x00_configure_fabric(scsi_qla_host_t *, uint8_t ); +static uint8_t qla2x00_find_all_fabric_devs(scsi_qla_host_t *, sns_cmd_rsp_t *, + dma_addr_t, struct new_dev *, uint16_t *, uint8_t *); +#if REG_FC4_ENABLED +static uint8_t qla2x00_register_fc4(scsi_qla_host_t *, sns_cmd_rsp_t *, dma_addr_t); +#endif +static uint8_t qla2x00_gan(scsi_qla_host_t *, sns_cmd_rsp_t *, dma_addr_t, + fcdev_t *); +static uint8_t qla2x00_fabric_login(scsi_qla_host_t *, fcdev_t *); + +STATIC uint8_t qla2x00_configure_loop(scsi_qla_host_t *); +static uint8_t qla2x00_configure_local_loop(scsi_qla_host_t *, uint8_t ); + +STATIC uint8_t qla2x00_32bit_start_scsi(srb_t *sp); + +STATIC uint8_t qla2x00_64bit_start_scsi(srb_t *sp); + +/* Routines for Failover */ +os_tgt_t * qla2x00_tgt_alloc(scsi_qla_host_t *ha, uint16_t t, uint8_t *name); +#if APIDEV +static int apidev_init(struct Scsi_Host*); +static int apidev_cleanup(void); +#endif +void qla2x00_tgt_free(scsi_qla_host_t *ha, uint16_t t); +os_lun_t * qla2x00_lun_alloc(scsi_qla_host_t *ha, uint16_t t, uint16_t l); + +static void qla2x00_lun_free(scsi_qla_host_t *ha, uint16_t t, uint16_t l); +void qla2x00_add_link_b(ql_list_head_t *head, ql_list_link_t *link); +void qla2x00_add_link_t(ql_list_head_t *head, ql_list_link_t *link); +void qla2x00_next(scsi_qla_host_t *vis_ha); +void qla2x00_remove_link(ql_list_head_t *head, ql_list_link_t *link); +static int qla2x00_build_fcport_list(scsi_qla_host_t *ha); +static void qla2x00_config_os(scsi_qla_host_t *ha); +static uint16_t qla2x00_fcport_bind(scsi_qla_host_t *ha, fc_port_t *fcport); +static int qla2x00_update_fcport(scsi_qla_host_t *ha, fc_port_t *fcport, int); +static int qla2x00_lun_discovery(scsi_qla_host_t *ha, fc_port_t *fcport, int); +static int qla2x00_rpt_lun_discovery(scsi_qla_host_t *ha, fc_port_t *fcport); +static void qla2x00_cfg_lun(fc_port_t *fcport, uint16_t lun); + +#if MPIO_SUPPORT +STATIC void qla2x00_process_failover(scsi_qla_host_t *ha) ; +#endif + +STATIC int qla2x00_device_reset(adapter_state_t *, uint16_t, uint16_t); + +static int qla2x00_is_wwn_zero(uint8_t *nn); +void qla2x00_get_lun_mask_from_config(scsi_qla_host_t *ha, fc_port_t *port, + uint16_t tgt, uint16_t dev_no); +void +qla2x00_print_q_info(os_lun_t *q); + +#if QLA2X_PERFORMANCE +void qla2x00_done_tasklet(long p); +#endif + + +#if MPIO_SUPPORT +STATIC void qla2x00_failover_cleanup(srb_t *); +void qla2x00_flush_failover_q(scsi_qla_host_t *, os_lun_t *); +#endif + +void qla2x00_chg_endian(uint8_t buf[], size_t size); +STATIC uint8_t qla2x00_check_sense(Scsi_Cmnd *cp, os_lun_t *); + +STATIC uint8_t +qla2x00_suspend_lun(scsi_qla_host_t *, os_lun_t *, int, int); +#if MPIO_SUPPORT +STATIC uint8_t +qla2x00_check_for_devices_online(scsi_qla_host_t *ha ) ; +#endif + + +#if DEBUG_QLA2100 +#ifndef QL_DEBUG_ROUTINES +#define QL_DEBUG_ROUTINES +#endif +#endif + +#ifdef QL_DEBUG_ROUTINES +/* +* Driver Debug Function Prototypes. +*/ +static void qla2x00_dump_buffer(uint8_t *, uint32_t); +STATIC uint8_t ql2x_debug_print = 1; +#endif + +/* ra 01/03/02 */ +#if QLA2100_LIPTEST +STATIC int mbxtimeout = 0; +#endif + +#if DEBUG_GET_FW_DUMP +STATIC void qla2300_dump_isp(scsi_qla_host_t *ha), +qla2x00_dump_word(uint8_t *, uint32_t, uint32_t); +#endif +#if NO_LONG_DELAYS +STATIC void qla2x00_sleep_done (struct semaphore * sem); +#endif + +uint8_t qla2x00_allocate_sp_pool( scsi_qla_host_t *ha); +void qla2x00_free_sp_pool(scsi_qla_host_t *ha ); +STATIC srb_t * qla2x00_get_new_sp (scsi_qla_host_t *ha); +STATIC uint8_t qla2x00_check_tgt_status(scsi_qla_host_t *ha, Scsi_Cmnd *cmd); +STATIC uint8_t qla2x00_check_port_status(scsi_qla_host_t *ha, fc_port_t *fcport); +STATIC void qla2x00_mark_device_lost( scsi_qla_host_t *ha, + fc_port_t *fcport ); +STATIC void qla2x00_mark_all_devices_lost( scsi_qla_host_t *ha ); +STATIC inline void qla2x00_delete_from_done_queue(scsi_qla_host_t *, srb_t *); + +STATIC int __qla2x00_marker(scsi_qla_host_t *, uint16_t, uint16_t, uint8_t); +static inline int +qla2x00_marker(scsi_qla_host_t *ha, + uint16_t loop_id, + uint16_t lun, + uint8_t type) +{ + int ret; + unsigned long flags = 0; + + spin_lock_irqsave(&ha->hardware_lock, flags); + ret = __qla2x00_marker(ha, loop_id, lun, type); + spin_unlock_irqrestore(&ha->hardware_lock, flags); + + return (ret); +} + +/* Debug print buffer */ +char debug_buff[LINESIZE*3]; + +/* +* insmod needs to find the variable and make it point to something +*/ +static char *ql2xdevconf = NULL; +static int ql2xretrycount = 20; +static int qla2xenbinq = 1; +static int max_srbs = MAX_SRBS; +static int ql2xlogintimeout = 20; +static int qlport_down_retry = 0; +static int ql2xmaxqdepth = 0; +static int displayConfig = 0; + +#if MPIO_SUPPORT +static int ConfigRequired = 0; +static int recoveryTime = MAX_RECOVERYTIME; +static int failbackTime = MAX_FAILBACKTIME; +#endif /* end of MPIO_SUPPORT */ +#ifdef MODULE +static char *ql2xopts = NULL; + +/* insmod qla2100 ql2xopts=verbose" */ +MODULE_PARM(ql2xopts, "s"); +MODULE_PARM_DESC(ql2xopts, + "Additional driver options."); + +MODULE_PARM(ql2xmaxqdepth, "i"); +MODULE_PARM_DESC(ql2xmaxqdepth, + "Maximum queue depth to report for target devices."); + +MODULE_PARM(ql2xlogintimeout,"i"); +MODULE_PARM_DESC(ql2xlogintimeout, + "Login timeout value in seconds."); + +MODULE_PARM(max_srbs,"i"); +MODULE_PARM_DESC(max_srbs, + "Maximum number of simultaneous commands allowed for an HBA."); + +MODULE_PARM(qlport_down_retry,"i"); +MODULE_PARM_DESC(qlport_down_retry, + "Maximum number of command retries to a port that returns" + "a PORT-DOWN status."); + +MODULE_PARM(displayConfig, "i"); +MODULE_PARM_DESC(displayConfig, + "If 1 then display the configuration used in /etc/modules.conf."); + +#if MPIO_SUPPORT +MODULE_PARM(ConfigRequired, "i"); +MODULE_PARM_DESC(ConfigRequired, + "If 1, then only configured devices passed in through the" + "ql2xopts parameter will be presented to the OS"); + +MODULE_PARM(recoveryTime, "i"); +MODULE_PARM_DESC(recoveryTime, + "Recovery time in seconds before a target device is sent I/O " + "after a failback is performed."); + +MODULE_PARM(failbackTime, "i"); +MODULE_PARM_DESC(failbackTime, + "Delay in seconds before a failback is performed."); +#endif + +MODULE_AUTHOR("QLogic Corporation"); +#ifdef MODULE_LICENSE + MODULE_LICENSE("GPL"); +#endif + +/* +* Just in case someone uses commas to separate items on the insmod +* command line, we define a dummy buffer here to avoid having insmod +* write wild stuff into our code segment +*/ +static char dummy_buffer[60] = "Please don't add commas in your insmod command!!\n"; + +#endif + +#include "listops.h" +#include "qla_fo.cfg" + + +#if QLA2100_LIPTEST +static int qla2x00_lip = 0; +#endif + +#include +#include + +/* multi-OS QLOGIC IOCTL definition file */ +#include "exioct.h" + + +#if QLA_SCSI_VENDOR_DIR +/* Include routine to set direction for vendor specific commands */ +#include "qla_vendor.c" +#endif +/*********************************************************************** +* We use the Scsi_Pointer structure that's included with each command +* SCSI_Cmnd as a scratchpad. +* +* SCp is defined as follows: +* - SCp.ptr -- > pointer to the SRB +* - SCp.this_residual -- > HBA completion status for ioctl code. +* +* Cmnd->host_scribble --> Used to hold the hba actived handle (1..255). +***********************************************************************/ +#define CMD_SP(Cmnd) ((Cmnd)->SCp.ptr) +#define CMD_COMPL_STATUS(Cmnd) ((Cmnd)->SCp.this_residual) +#define CMD_HANDLE(Cmnd) ((Cmnd)->host_scribble) +/* Additional fields used by ioctl passthru */ +#define CMD_RESID_LEN(Cmnd) ((Cmnd)->SCp.buffers_residual) +#define CMD_SCSI_STATUS(Cmnd) ((Cmnd)->SCp.Status) +#define CMD_ACTUAL_SNSLEN(Cmnd) ((Cmnd)->SCp.Message) +#define CMD_ENTRY_STATUS(Cmnd) ((Cmnd)->SCp.have_data_in) + +/* + * Other SCS__Cmnd members we only reference + */ +#define CMD_XFRLEN(Cmnd) (Cmnd)->request_bufflen +#define CMD_CDBLEN(Cmnd) (Cmnd)->cmd_len +#define CMD_CDBP(Cmnd) (Cmnd)->cmnd +#define CMD_SNSP(Cmnd) (Cmnd)->sense_buffer +#define CMD_SNSLEN(Cmnd) (sizeof (Cmnd)->sense_buffer) +#define CMD_RESULT(Cmnd) ((Cmnd)->result) +#define CMD_TIMEOUT(Cmnd) ((Cmnd)->timeout_per_command) + +#include "qla_debug.h" + +uint8_t copyright[48] = "Copyright 1999-2002, Qlogic Corporation"; + +/****************************************************************************/ +/* LINUX - Loadable Module Functions. */ +/****************************************************************************/ + +/*****************************************/ +/* ISP Boards supported by this driver */ +/*****************************************/ +#define QLA2X00_VENDOR_ID 0x1077 +#define QLA2200_DEVICE_ID 0x2200 +#define QLA2200A_DEVICE_ID 0x2200A +#define QLA2300_DEVICE_ID 0x2300 +#define QLA2312_DEVICE_ID 0x2312 +#define QLA2200A_RISC_ROM_VER 4 +#define FPM_2300 6 +#define FPM_2310 7 + +#if defined(ISP2100) || defined(ISP2200) +#define NUM_OF_ISP_DEVICES 2 +static struct pci_device_id qla2200_pci_tbl[] = +{ + {QLA2X00_VENDOR_ID, QLA2200_DEVICE_ID, PCI_ANY_ID, PCI_ANY_ID,}, + {0,}, +}; +MODULE_DEVICE_TABLE(pci, qla2200_pci_tbl); +#endif +#ifdef ISP2300 +#define NUM_OF_ISP_DEVICES 3 +static struct pci_device_id qla2300_pci_tbl[] = +{ + {QLA2X00_VENDOR_ID, QLA2300_DEVICE_ID, PCI_ANY_ID, PCI_ANY_ID,}, + {QLA2X00_VENDOR_ID, QLA2312_DEVICE_ID, PCI_ANY_ID, PCI_ANY_ID,}, + {0,}, +}; +MODULE_DEVICE_TABLE(pci, qla2300_pci_tbl); +#endif + +typedef struct _qlaboards +{ + unsigned char bdName[9]; /* Board ID String */ + unsigned long device_id; /* Device ID */ + int numPorts; /* number of loops on adapter */ + unsigned short *fwcode; /* pointer to FW array */ + unsigned long *fwlen; /* number of words in array */ + unsigned short *fwstart; /* start address for F/W */ + unsigned char *fwver; /* Ptr to F/W version array */ +} +qla_boards_t; + +/* + * NOTE: Check the Product ID of the Chip during chip diagnostics + * whenever support for new ISP is added. + */ +static struct _qlaboards QLBoardTbl_fc[NUM_OF_ISP_DEVICES] = +{ + /* Name , Board PCI Device ID, Number of ports */ +#ifdef ISP2300 + {"QLA2312 ", QLA2312_DEVICE_ID, MAX_BUSES, +#ifdef FC_IP_SUPPORT + &fw2300ip_code01[0], (unsigned long *)&fw2300ip_length01, + &fw2300ip_addr01, &fw2300ip_version_str[0] + }, +#else + &fw2300tp_code01[0], (unsigned long *)&fw2300tp_length01, + &fw2300tp_addr01, &fw2300tp_version_str[0] + }, +#endif + {"QLA2300 ", QLA2300_DEVICE_ID, MAX_BUSES, +#ifdef FC_IP_SUPPORT + &fw2300ip_code01[0], (unsigned long *)&fw2300ip_length01, + &fw2300ip_addr01, &fw2300ip_version_str[0] + }, +#else + &fw2300tp_code01[0], (unsigned long *)&fw2300tp_length01, + &fw2300tp_addr01, &fw2300tp_version_str[0] + }, +#endif +#endif +#ifdef ISP2200 + {"QLA2200 ", QLA2200_DEVICE_ID, MAX_BUSES, +#ifdef FC_IP_SUPPORT + &fw2200ip_code01[0], (unsigned long *)&fw2200ip_length01, + &fw2200ip_addr01, &fw2200ip_version_str[0] + }, +#else + &fw2200tp_code01[0], (unsigned long *)&fw2200tp_length01, + &fw2200tp_addr01, &fw2200tp_version_str[0] + }, +#endif +#endif + {" ", 0, 0} +}; + +/* +* Stat info for all adpaters +*/ +static struct _qla2100stats { + unsigned long mboxtout; /* mailbox timeouts */ + unsigned long mboxerr; /* mailbox errors */ + unsigned long ispAbort; /* ISP aborts */ + unsigned long debugNo; + unsigned long loop_resync; + unsigned long outarray_full; + unsigned long retry_q_cnt; + scsi_qla_host_t *irqhba; +} +qla2x00_stats; + +/* + * Declare our global semaphores + */ +#ifdef ISP2200 +DECLARE_MUTEX_LOCKED(qla2200_detect_sem); +#endif +#ifdef ISP2300 +DECLARE_MUTEX_LOCKED(qla2300_detect_sem); +#endif + + +/* +* Command line options +*/ +static unsigned long qla2x00_verbose = 1L; +static unsigned long qla2x00_quiet = 0L; +static unsigned long qla2x00_reinit = 0L; +static unsigned long qla2x00_req_dmp = 0L; + +#if QL_TRACE_MEMORY +extern unsigned long mem_trace[1000]; +extern unsigned long mem_id[1000]; +int mem_trace_ptr = 0; +#endif + +/* Enable for failover */ +#if MPIO_SUPPORT +static unsigned long qla2x00_failover = 1L; +#else +static unsigned long qla2x00_failover = 0L; +#endif /* end of MPIO_SUPPORT */ + +/* + * List of host adapters + */ +static scsi_qla_host_t *qla2x00_hostlist = NULL; + +#ifdef QLA2100_PROFILE +static int qla2x00_buffer_size = 0; +static char *qla2x00_buffer = NULL; +#endif +STATIC int qla2x00_retryq_dmp = 0; /* dump retry queue */ + +#include +#include +#include + +/************************************************************************* +* qla2x00_set_info +* +* Description: +* Set parameters for the driver from the /proc filesystem. +* +* Returns: +*************************************************************************/ +int +qla2x00_set_info(char *buffer, int length, struct Scsi_Host *HBAptr) +{ + return (-ENOSYS); /* Currently this is a no-op */ +} + +#undef COM_ROUTINES +#ifdef COM_ROUTINES +#include "../com.c" +#endif + + +#include "qla_mbx.c" +#include "qla2x00_ioctl.c" +#ifdef INTAPI +#include "qla_inioct.c" +#endif + + +/************************************************************************* +* qla2x00_proc_info +* +* Description: +* Return information to handle /proc support for the driver. +* +* inout : decides on the direction of the dataflow and the meaning of the +* variables +* buffer: If inout==FALSE data is being written to it else read from it +* (ptrs to a page buffer) +* *start: If inout==FALSE start of the valid data in the buffer +* offset: If inout==FALSE offset from the beginning of the imaginary file +* from which we start writing into the buffer +* length: If inout==FALSE max number of bytes to be written into the buffer +* else number of bytes in the buffer +* Returns: +*************************************************************************/ +#define PROC_BUF (&qla2x00_buffer[len]) +int +qla2x00_proc_info(char *buffer, char **start, off_t offset, + int length, int hostno, int inout) +{ +#if QLA2100_PROFILE + struct Scsi_Host *host; + int i; + int len = 0; + int size = 0; + os_lun_t *up; + qla_boards_t *bdp; + scsi_qla_host_t *ha; + uint32_t t, l; + uint32_t tmp_sn; + unsigned long *flags; + struct list_head *list, *temp; + unsigned long cpu_flags; + uint8_t *loop_state; + +#if REQ_TRACE + + Scsi_Cmnd *cp; + srb_t *sp; +#endif + + DEBUG3(printk(KERN_INFO + "Entering proc_info buff_in=%p, offset=0x%lx, " + "length=0x%x\n", buffer, offset, length);) + + host = NULL; + + /* Find the host that was specified */ + for (ha=qla2x00_hostlist; (ha != NULL) && ha->host->host_no != hostno; + ha=ha->next) { + continue; + } + + /* if host wasn't found then exit */ + if (!ha) { + size = sprintf(buffer, + "Can't find adapter for host number %d\n", + hostno); + + if (size > length) { + return (size); + } else { + return (0); + } + } + + host = ha->host; + + if (inout == TRUE) /* Has data been written to the file? */ + { + printk("qla2x00_proc: has data been written to the file. \n"); + return (qla2x00_set_info(buffer, length, host)); + } + + /* + * if our old buffer is the right size use it otherwise + * allocate a new one. + */ + size = 4096 * 5; /* get a page */ + if( qla2x00_buffer_size != size ) { + /* deallocate this buffer and get a new one */ + if( qla2x00_buffer != NULL ) { + kfree(qla2x00_buffer); + qla2x00_buffer_size = 0; + } + qla2x00_buffer = kmalloc(size, GFP_KERNEL); + } + + if( qla2x00_buffer == NULL ) { + size = sprintf(buffer, "qla2100 - kmalloc error at line %d\n", + __LINE__); + return size; + } + + /* save the size of our buffer */ + qla2x00_buffer_size = size; + + /* start building the print buffer */ + bdp = &QLBoardTbl_fc[ha->devnum]; + size = sprintf(PROC_BUF, + "QLogic PCI to Fibre Channel Host Adapter for " + "ISP22xx/ISP23xx:\n" + " Firmware version: %2d.%02d.%02d, " + "Driver version %s\n", + bdp->fwver[0], bdp->fwver[1], bdp->fwver[2], + QLA2100_VERSION); + + len += size; + size = sprintf(PROC_BUF, "Entry address = %p\n",qla2x00_set_info); + len += size; + + tmp_sn = ((ha->serial0 & 0x1f) << 16) | + (ha->serial2 << 8) | + ha->serial1; + size = sprintf(PROC_BUF, "HBA: %s, Serial# %c%05d\n", + bdp->bdName, ('A' + tmp_sn/100000), (tmp_sn%100000)); + len += size; + + size = sprintf(PROC_BUF, + "Request Queue = 0x%lx, Response Queue = 0x%lx\n", + (long unsigned int)ha->request_dma, + (long unsigned int)ha->response_dma); + len += size; + + size = sprintf(PROC_BUF, + "Request Queue count= %ld, Response Queue count= %ld\n", + (long)REQUEST_ENTRY_CNT, (long)RESPONSE_ENTRY_CNT); + len += size; + + size = sprintf(PROC_BUF, + "Total number of active commands = %ld\n", + ha->actthreads); + len += size; + + size = sprintf(PROC_BUF, + "Total number of interrupts = %ld\n", + (long)ha->total_isr_cnt); + len += size; + +#ifdef FC_IP_SUPPORT + size = sprintf(PROC_BUF, + "Total number of active IP commands = %ld\n", + ha->ipreq_cnt); + len += size; +#endif + +#ifdef IOCB_HIT_RATE + size = sprintf(PROC_BUF, + "Total number of IOCBs (used/max/#hit) " + "= (%d/%d/%d)\n", + (int)ha->iocb_cnt, + (int)ha->iocb_hiwat, + (int)ha->iocb_overflow_cnt); +#else + size = sprintf(PROC_BUF, + "Total number of IOCBs (used/max) " + "= (%d/%d)\n", + (int)ha->iocb_cnt, (int)ha->iocb_hiwat); +#endif + len += size; + + + size = sprintf(PROC_BUF, + "Total number of queued commands = %d\n", + (max_srbs - ha->srb_cnt)); + len += size; + + size = sprintf(PROC_BUF, + " Device queue depth = 0x%x\n", + (ql2xmaxqdepth == 0) ? 16 : ql2xmaxqdepth); + len += size; + + size = sprintf(PROC_BUF, + "Number of free request entries = %d\n", ha->req_q_cnt); + len += size; + + size = sprintf(PROC_BUF, + "Number of mailbox timeouts = %ld\n", + qla2x00_stats.mboxtout); + len += size; + + size = sprintf(PROC_BUF, + "Number of ISP aborts = %ld\n",qla2x00_stats.ispAbort); + len += size; + + size = sprintf(PROC_BUF, + "Number of loop resyncs = %ld\n", + qla2x00_stats.loop_resync); + len += size; + + size = sprintf(PROC_BUF, + "Number of retries for empty slots = %ld\n", + qla2x00_stats.outarray_full); + len += size; + + size = sprintf(PROC_BUF, + "Number of reqs in pending_q= %ld, retry_q= %d, " + "done_q= %ld, scsi_retry_q= %d\n", + ha->qthreads, ha->retry_q_cnt, + ha->done_q_cnt, ha->scsi_retry_q_cnt); + len += size; + +#if MPIO_SUPPORT + size = sprintf(PROC_BUF, + "Number of reqs in failover_q= %d\n", + ha->failover_cnt); + len += size; +#endif + + flags = (unsigned long *) &ha->flags; + + if (ha->loop_state == LOOP_DOWN) + loop_state = "DOWN"; + else if (ha->loop_state ==LOOP_UP) + loop_state = "UP"; + else if (ha->loop_state ==LOOP_READY) + loop_state = "READY"; + else if (ha->loop_state ==LOOP_TIMEOUT) + loop_state = "TIMEOUT"; + else if (ha->loop_state ==LOOP_UPDATE) + loop_state = "UPDATE"; + else + loop_state = "UNKNOWN"; + + size = sprintf(PROC_BUF, + "Host adapter:loop state= <%s>, flags= 0x%lx\n", + loop_state , *flags); + len += size; + + size = sprintf(PROC_BUF, "Dpc flags = 0x%lx\n",ha->dpc_flags); + len += size; + + size = sprintf(PROC_BUF, "MBX flags = 0x%x\n",ha->mbx_flags); + len += size; + + size = sprintf(PROC_BUF, "SRB Free Count = %d\n",ha->srb_cnt); + len += size; + + size = sprintf(PROC_BUF, "Port down retry = %3.3d\n", + ha->port_down_retry_count); + len += size; + +#if 0 +#ifdef FC_IP_SUPPORT + size = sprintf(PROC_BUF, "IP info: wIpBufferIn = %d\n", + ha->wIpBufferIn); + len += size; + size = sprintf(PROC_BUF, "IP info: wIpBufferOut = %d\n", + ha->wIpBufferOut); + len += size; + size = sprintf(PROC_BUF, "IP info: wRecBuffCnt = %d\n", + ha->wReceiveBufferCount); + len += size; + size = sprintf(PROC_BUF, "IP info: lCurTagIdx = %ld\n", + ha->lCurrentTagIndex); + len += size; +#endif +#endif + + size = sprintf(PROC_BUF, "\n"); + len += size; + +#if REQ_TRACE + if (qla2x00_req_dmp) { + size = sprintf(PROC_BUF, + "Outstanding Commands on controller:\n"); + len += size; + + for (i = 1; i < MAX_OUTSTANDING_COMMANDS; i++) { + if ((sp = ha->outstanding_cmds[i]) == NULL) + continue; + + if ((cp = sp->cmd) == NULL) + continue; + + size = sprintf(PROC_BUF, "(%d): Pid=%d, sp flags=0x%lx" + ", cmd=0x%p, state=%d\n", + i, + (int)sp->cmd->serial_number, + (long)sp->flags, + CMD_SP(sp->cmd), + (int)sp->state); + len += size; + + if (len >= qla2x00_buffer_size - 256) + goto profile_stop; + } + } +#endif /* REQ_TRACE */ + + if (qla2x00_retryq_dmp) { + if (!list_empty(&ha->retry_queue)) { + size = sprintf(PROC_BUF, + "qla%ld: Retry queue requests:\n", + ha->host_no); + len += size; + spin_lock_irqsave(&ha->list_lock, cpu_flags); + i = 0; + list_for_each_safe(list, temp, &ha->retry_queue) { + sp = list_entry(list, srb_t, list); + t = SCSI_TCN_32(sp->cmd); + l = SCSI_LUN_32(sp->cmd); + size = sprintf(PROC_BUF, + "%d: target=%d, lun=%d, " + "pid=%ld sp=%p, sp->flags=0x%x," + "sp->state= %d\n", + i, t, l, + sp->cmd->serial_number, sp, + sp->flags, sp->state ); + len += size; + i++; + if (len >= qla2x00_buffer_size - 256) + goto profile_stop; + } + spin_unlock_irqrestore(&ha->list_lock, cpu_flags); + } /* if (!list_empty(&ha->retry_queue))*/ + } /* if ( qla2x00_retryq_dmp ) */ + + /* 2.25 node/port display to proc */ + /* Display the node name for adapter */ + size = sprintf(PROC_BUF, "\nSCSI Device Information:\n"); + len += size; + size = sprintf(PROC_BUF, + "scsi-qla%d-adapter-node=" + "%02x%02x%02x%02x%02x%02x%02x%02x;\n", + (int)ha->instance, + ha->init_cb->node_name[0], + ha->init_cb->node_name[1], + ha->init_cb->node_name[2], + ha->init_cb->node_name[3], + ha->init_cb->node_name[4], + ha->init_cb->node_name[5], + ha->init_cb->node_name[6], + ha->init_cb->node_name[7]); + len += size; + + /* display the port name for adapter */ + size = sprintf(PROC_BUF, + "scsi-qla%d-adapter-port=" + "%02x%02x%02x%02x%02x%02x%02x%02x;\n", + (int)ha->instance, + ha->init_cb->port_name[0], + ha->init_cb->port_name[1], + ha->init_cb->port_name[2], + ha->init_cb->port_name[3], + ha->init_cb->port_name[4], + ha->init_cb->port_name[5], + ha->init_cb->port_name[6], + ha->init_cb->port_name[7]); + len += size; + + /* Print out device port names */ + for (i = 0; i < MAX_FIBRE_DEVICES; i++) { + if (ha->fc_db[i].loop_id == PORT_UNUSED) + continue; + + if (ha->flags.failover_enabled) { + size = sprintf(PROC_BUF, + "scsi-qla%d-port-%d=" + "%02x%02x%02x%02x%02x%02x%02x%02x:" + "%02x%02x%02x%02x%02x%02x%02x%02x;\n", + (int)ha->instance, i, + ha->fc_db[i].name[0], + ha->fc_db[i].name[1], + ha->fc_db[i].name[2], + ha->fc_db[i].name[3], + ha->fc_db[i].name[4], + ha->fc_db[i].name[5], + ha->fc_db[i].name[6], + ha->fc_db[i].name[7], + ha->fc_db[i].wwn[0], + ha->fc_db[i].wwn[1], + ha->fc_db[i].wwn[2], + ha->fc_db[i].wwn[3], + ha->fc_db[i].wwn[4], + ha->fc_db[i].wwn[5], + ha->fc_db[i].wwn[6], + ha->fc_db[i].wwn[7]); + } else { +#if USE_PORTNAME /* updated to use conditional compile */ + size = sprintf(PROC_BUF, + "scsi-qla%d-target-%d=" + "%02x%02x%02x%02x%02x%02x%02x%02x;\n", + (int)ha->instance, i, + ha->fc_db[i].wwn[0], + ha->fc_db[i].wwn[1], + ha->fc_db[i].wwn[2], + ha->fc_db[i].wwn[3], + ha->fc_db[i].wwn[4], + ha->fc_db[i].wwn[5], + ha->fc_db[i].wwn[6], + ha->fc_db[i].wwn[7]); +#else + + size = sprintf(PROC_BUF, + "scsi-qla%d-target-%d=" + "%02x%02x%02x%02x%02x%02x%02x%02x;\n", + (int)ha->instance, i, + ha->fc_db[i].name[0], + ha->fc_db[i].name[1], + ha->fc_db[i].name[2], + ha->fc_db[i].name[3], + ha->fc_db[i].name[4], + ha->fc_db[i].name[5], + ha->fc_db[i].name[6], + ha->fc_db[i].name[7]); +#endif /* USE_PORT_NAME */ + + } + + len += size; + } /* 2.25 node/port display to proc */ + + size = sprintf(PROC_BUF, "\nSCSI LUN Information:\n"); + len += size; + + size = sprintf(PROC_BUF, "(Id:Lun)\n"); + len += size; + + /* scan for all equipment stats */ + for (t = 0; t < MAX_FIBRE_DEVICES; t++) { + /* valid target */ + if (ha->fc_db[t].loop_id == PORT_UNUSED) + continue; + + /* scan all luns */ + for (l = 0; l < ha->max_luns; l++) { + up = (os_lun_t *) GET_LU_Q(ha, t, l); + + if (up == NULL) + continue; + + if (up->io_cnt == 0 || + up->io_cnt < 3 || + up->fclun == NULL) + continue; + + size = sprintf(PROC_BUF, + "(%2d:%2d): Total reqs %ld,", + t,l,up->io_cnt); + len += size; + + size = sprintf(PROC_BUF, + " Pending reqs %ld,", + up->out_cnt); + len += size; + + size = sprintf(PROC_BUF, + " flags 0x%x,", + (int)up->q_flag); + len += size; + + size = sprintf(PROC_BUF, + " %ld:%d:%02x,", + up->fclun->fcport->ha->instance, + up->fclun->fcport->cur_path, + up->fclun->fcport->loop_id); + len += size; + + size = sprintf(PROC_BUF, "\n"); + len += size; + + if (len >= qla2x00_buffer_size - 256) + goto profile_stop; + } + + if (len >= qla2x00_buffer_size - 256) + break; + } + +profile_stop: + if (len >= qla2x00_buffer_size) { + printk(KERN_WARNING + "qla2x00: Overflow buffer at line %d\n", __LINE__); + } + + if (offset > len - 1 ) { + kfree(qla2x00_buffer); + qla2x00_buffer = NULL; + qla2x00_buffer_size = length = 0; + *start = NULL; + } else { + *start = buffer; + if (len - offset < length) { + length = len - offset; + } + memcpy(buffer, &qla2x00_buffer[offset], length); + } + + DEBUG3(printk(KERN_INFO + "Exiting proc_info: qlabuff=%p, offset=0x%lx, " + "length=0x%x\n", qla2x00_buffer, offset, length);) + +#if QLA2100_LIPTEST + qla2x00_lip = 1; +#endif + +#else + + return (0); +#endif /* QLA2100_PROFILE */ + + return (length); +} + +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,3) +inline int +pci_set_dma_mask(struct pci_dev *dev, dma_addr_t mask) +{ + if (!pci_dma_supported(dev,mask)) + return -EIO; + + dev->dma_mask = mask; + + return 0; +} +#endif + + +/************************************************************************** +* sp_put +* +* Description: +* Decrement reference count and call the callback if we're the last +* owner of the specified sp. Will get io_request_lock before calling +* the callback. +* +* Input: +* ha - pointer to the scsi_qla_host_t where the callback is to occur. +* sp - pointer to srb_t structure to use. +* +* Returns: +* +**************************************************************************/ +static inline void +sp_put(struct scsi_qla_host * ha, srb_t *sp) +{ + unsigned long flags; + + if (atomic_read(&sp->ref_count) == 0) + BUG(); + + if (!atomic_dec_and_test(&sp->ref_count)) + { + return; + } + + spin_lock_irqsave(&io_request_lock, flags); + qla2x00_callback(ha, sp->cmd); + spin_unlock_irqrestore(&io_request_lock, flags); +} + +/************************************************************************** +* sp_get +* +* Description: +* Increment reference count of the specified sp. +* +* Input: +* sp - pointer to srb_t structure to use. +* +* Returns: +* +**************************************************************************/ +static inline void +sp_get(struct scsi_qla_host * ha, srb_t *sp) +{ + atomic_inc(&sp->ref_count); + + if (atomic_read(&sp->ref_count) > 2) + BUG(); +} + +/************************************************************************** +* __sp_put +* +* Description: +* Decrement reference count and call the callback if we're the last +* owner of the specified sp. Will NOT get io_request_lock before calling +* the callback. +* +* Input: +* ha - pointer to the scsi_qla_host_t where the callback is to occur. +* sp - pointer to srb_t structure to use. +* +* Returns: +* +**************************************************************************/ +static inline void +__sp_put(struct scsi_qla_host * ha, srb_t *sp) +{ + if (atomic_read(&sp->ref_count) == 0) + BUG(); + + if (!atomic_dec_and_test(&sp->ref_count)) + { + return; + } + + qla2x00_callback(ha, sp->cmd); +} + +/************************************************************************** +* qla2x00_cmd_timeout +* +* Description: +* Handles the command if it times out in any state. +* +* Input: +* sp - pointer to validate +* +* Returns: +* None. +* Note:Need to add the support for if( sp->state == SRB_FAILOVER_STATE). +**************************************************************************/ +void +qla2x00_cmd_timeout(srb_t *sp) +{ + int t, l; + int processed; + scsi_qla_host_t *vis_ha, *dest_ha; + Scsi_Cmnd *cmd; + ulong flags,cpu_flags; + fc_port_t *fcport; + + cmd = sp->cmd; + vis_ha = (scsi_qla_host_t *) cmd->host->hostdata; + + DEBUG3(printk("cmd_timeout: Entering sp->state = %x\n", sp->state);) + + t = SCSI_TCN_32(cmd); + l = SCSI_LUN_32(cmd); + fcport = sp->fclun->fcport; + dest_ha = sp->ha; + + /* + * If IO is found either in retry Queue + * OR in Lun Queue + * Return this IO back to host + */ + spin_lock_irqsave(&vis_ha->list_lock, flags); + processed = 0; + if (sp->state == SRB_PENDING_STATE) { + __del_from_pending_queue(vis_ha, sp); + DEBUG2(printk("qla2100%ld: Found in Pending queue " + "pid %ld, State = %x., " + "fcport state=%d jiffies=%lx\n", + vis_ha->host_no, + sp->cmd->serial_number, sp->state, + atomic_read(&fcport->state), + jiffies);) + + /* + * If FC_DEVICE is marked as dead return the cmd with + * DID_NO_CONNECT status. + * Otherwise set the host_byte to DID_BUS_BUSY + * to let the OS retry this cmd. + */ + if (atomic_read(&fcport->state) == FC_DEVICE_DEAD) { + cmd->result = DID_NO_CONNECT << 16; + } else { + cmd->result = DID_BUS_BUSY << 16; + } + __add_to_done_queue(vis_ha, sp); + processed++; + } + spin_unlock_irqrestore(&vis_ha->list_lock, flags); + if (processed) { +#if QLA2X_PERFORMANCE + tasklet_schedule(&vis_ha->run_qla_task); +#else + if (vis_ha->dpc_wait && !vis_ha->dpc_active) + up(vis_ha->dpc_wait); +#endif + return; + } + + spin_lock_irqsave(&dest_ha->list_lock, flags); + if ((sp->state == SRB_RETRY_STATE) || + (sp->state == SRB_SCSI_RETRY_STATE) || + (sp->state == SRB_FAILOVER_STATE)) { + + DEBUG2(printk("qla2100%ld: Found in (Scsi) Retry queue or " + "failover Q pid %ld, State = %x., " + "fcport state=%d jiffies=%lx retried=%d\n", + dest_ha->host_no, + sp->cmd->serial_number, sp->state, + atomic_read(&fcport->state), + jiffies, sp->cmd->retries);) + + if ((sp->state == SRB_RETRY_STATE)) { + __del_from_retry_queue(dest_ha, sp); + } else if ((sp->state == SRB_SCSI_RETRY_STATE)) { + __del_from_scsi_retry_queue(dest_ha, sp); +#if MPIO_SUPPORT + } else if ((sp->state == SRB_FAILOVER_STATE)) { + __del_from_failover_queue(dest_ha, sp); +#endif + } + + /* + * If FC_DEVICE is marked as dead return the cmd with + * DID_NO_CONNECT status. + * Otherwise set the host_byte to DID_BUS_BUSY + * to let the OS retry this cmd. + */ +#if MPIO_SUPPORT + cmd->result = DID_BUS_BUSY << 16; +#else + if (atomic_read(&fcport->state) == FC_DEVICE_DEAD) { + cmd->result = DID_NO_CONNECT << 16; + qla2x00_extend_timeout(cmd, EXTEND_CMD_TIMEOUT); + } else { + cmd->result = DID_BUS_BUSY << 16; + } +#endif + + __add_to_done_queue(dest_ha, sp); + processed++; + } + spin_unlock_irqrestore(&dest_ha->list_lock, flags); + if (processed) { +#if QLA2X_PERFORMANCE + tasklet_schedule(&dest_ha->run_qla_task); +#else + if (dest_ha->dpc_wait && !dest_ha->dpc_active) + up(dest_ha->dpc_wait); +#endif + return; + } + spin_lock_irqsave(&dest_ha->list_lock, cpu_flags); + if (sp->state == SRB_DONE_STATE) { + /* IO in done_q -- leave it */ + DEBUG(printk("qla2100%ld: Found in Done queue pid %ld sp=%p.\n", + dest_ha->host_no, sp->cmd->serial_number, sp);) + } else if (sp->state == SRB_SUSPENDED_STATE) { + DEBUG(printk("qla2100%ld: Found SP %p in suspended state " + "- pid %d:\n", + dest_ha->host_no,sp, + (int)sp->cmd->serial_number);) + DEBUG(qla2x00_dump_buffer((uint8_t *)sp, sizeof(srb_t));) + } else if (sp->state == SRB_ACTIVE_STATE) { + /* + * IO is with ISP find the + * command in our active list. + */ + spin_lock_irqsave(&dest_ha->hardware_lock, flags); + if (sp == dest_ha->outstanding_cmds + [(u_long)CMD_HANDLE(sp->cmd)]) { + + DEBUG(printk("cmd_timeout: Found in ISP \n");) + + sp->state = SRB_ACTIVE_TIMEOUT_STATE; + spin_unlock_irqrestore(&dest_ha->hardware_lock, flags); + } else { + spin_unlock_irqrestore(&dest_ha->hardware_lock, flags); + printk(KERN_INFO + "qla_cmd_timeout: State indicates it is with " + "ISP, But not in active array\n"); + } + } else if (sp->state == SRB_ACTIVE_TIMEOUT_STATE) { + DEBUG(printk("qla2100%ld: Found in Active timeout state" + "pid %ld, State = %x., \n", + dest_ha->host_no, + sp->cmd->serial_number, sp->state);) + } else { + /* EMPTY */ + DEBUG2(printk("cmd_timeout%ld: LOST command state = " + "0x%x, sp=%p\n", + vis_ha->host_no, sp->state,sp);) + + printk(KERN_INFO + "cmd_timeout: LOST command state = 0x%x\n", sp->state); + } + spin_unlock_irqrestore(&dest_ha->list_lock, cpu_flags); + + DEBUG3(printk("cmd_timeout: Leaving\n");) +} + + +/************************************************************************** +* qla2x00_add_timer_to_cmd +* +* Description: +* Creates a timer for the specified command. The timeout is usually +* the command time from kernel minus 2 secs. +* +* Input: +* sp - pointer to validate +* +* Returns: +* None. +**************************************************************************/ +void +qla2x00_add_timer_to_cmd(srb_t *sp, int timeout) +{ + init_timer(&sp->timer); + sp->timer.expires = jiffies + timeout * HZ; + sp->timer.data = (unsigned long) sp; + sp->timer.function = (void (*) (unsigned long))qla2x00_cmd_timeout; + add_timer(&sp->timer); +} + +/************************************************************************** +* qla2x00_delete_timer_from_cmd +* +* Description: +* Delete the timer for the specified command. +* +* Input: +* sp - pointer to validate +* +* Returns: +* None. +**************************************************************************/ +void +qla2x00_delete_timer_from_cmd(srb_t *sp ) +{ + if (sp->timer.function != NULL) { + del_timer(&sp->timer); + sp->timer.function = NULL; + sp->timer.data = (unsigned long) NULL; + } +} + +/************************************************************************** +* qla2x00_detect +* +* Description: +* This routine will probe for Qlogic FC SCSI host adapters. +* It returns the number of host adapters of a particular +* type that were found. It also initialize all data necessary for +* the driver. It is passed-in the host number, so that it +* knows where its first entry is in the scsi_hosts[] array. +* +* Input: +* template - pointer to SCSI template +* +* Returns: +* num - number of host adapters found. +**************************************************************************/ +int +qla2x00_detect(Scsi_Host_Template *template) +{ + device_reg_t *reg; + int i; + uint16_t subsystem_vendor, subsystem_device; + struct Scsi_Host *host; + scsi_qla_host_t *ha = NULL, *cur_ha; + struct _qlaboards *bdp; + unsigned long flags = 0; + unsigned long wait_switch = 0; + struct pci_dev *pdev = NULL; + + ENTER("qla2x00_detect"); + + spin_unlock_irq(&io_request_lock); + +#ifdef MODULE + DEBUG2(printk("DEBUG: qla2x00_set_info starts at address = %p\n", + qla2x00_set_info);) + printk(KERN_INFO + "qla2x00_set_info starts at address = %p\n", qla2x00_set_info); + + /* + * If we are called as a module, the qla2100 pointer may not be null + * and it would point to our bootup string, just like on the lilo + * command line. IF not NULL, then process this config string with + * qla2x00_setup + * + * Boot time Options + * To add options at boot time add a line to your lilo.conf file like: + * append="qla2100=verbose,tag_info:{{32,32,32,32},{32,32,32,32}}" + * which will result in the first four devices on the first two + * controllers being set to a tagged queue depth of 32. + */ + if (ql2xopts) + qla2x00_setup(ql2xopts); + if (dummy_buffer[0] != 'P') + printk(KERN_WARNING + "qla2x00: Please read the file " + "/usr/src/linux/drivers/scsi/README.qla2x00\n" + "qla2x00: to see the proper way to specify options to " + "the qla2x00 module\n" + "qla2x00: Specifically, don't use any commas when " + "passing arguments to\n" + "qla2x00: insmod or else it might trash certain memory " + "areas.\n"); +#endif + + if (!pci_present()) { + printk("scsi: PCI not present\n"); + spin_lock_irq(&io_request_lock); + return 0; + } /* end of !pci_present() */ + + bdp = &QLBoardTbl_fc[0]; + qla2x00_hostlist = NULL; + template->proc_name = DRIVER_NAME; + + /* Try and find each different type of adapter we support */ + for (i = 0; + bdp->device_id != 0 && i < NUM_OF_ISP_DEVICES; + i++, bdp++) { + + /* PCI_SUBSYSTEM_IDS supported */ + while ((pdev = pci_find_subsys(QLA2X00_VENDOR_ID, + bdp->device_id, + PCI_ANY_ID, PCI_ANY_ID, + pdev))) { + + if (pci_enable_device(pdev)) + continue; + + /* found a adapter */ + printk(KERN_INFO + "qla2x00: Found VID=%x DID=%x " + "SSVID=%x SSDID=%x\n", + pdev->vendor, + pdev->device, + pdev->subsystem_vendor, + pdev->subsystem_device); + + subsystem_vendor = pdev->subsystem_vendor; + subsystem_device = pdev->subsystem_device; + + /* If it's an XXX SubSys Vendor ID adapter, skip it. */ + /* + if (pdev->subsystem_vendor == PCI_VENDOR_ID_XXX) { + printk(KERN_WARNING + "qla2x00: Skip XXX SubSys Vendor ID " + "Controller\n"); + continue; + } + */ + spin_lock_irq(&io_request_lock); +#if defined(ISP2300) + template->name = "Qlogic Fibre Channel 2300"; +#else + template->name = "Qlogic Fibre Channel 2200"; +#endif + if ((host = + scsi_register( + template, + sizeof(scsi_qla_host_t))) == NULL) { + + printk(KERN_WARNING + "qla2x00: couldn't register " + "with scsi layer\n"); + return 0; + } + + ha = (scsi_qla_host_t *)host->hostdata; + + /* Clear our data area */ + memset(ha, 0, sizeof(scsi_qla_host_t)); + + ha->host_no = host->host_no; + ha->host = host; + + /* Sanitize the information from PCI BIOS. */ + host->irq = pdev->irq; + host->io_port = pci_resource_start(pdev, 0); + ha->subsystem_vendor = subsystem_vendor; + ha->subsystem_device = subsystem_device; + ha->pdev = pdev; + +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,4) + scsi_set_pci_device(host, pdev); +#endif + + ha->device_id = bdp->device_id; + ha->devnum = i; + if (qla2x00_verbose) { + printk(KERN_INFO + "scsi%d: Found a %s @ bus %d, " + "device 0x%x, irq %d, iobase 0x%lx\n", + host->host_no, + bdp->bdName, + ha->pdev->bus->number, + PCI_SLOT(ha->pdev->devfn), + host->irq, + (unsigned long)host->io_port); + } + + ha->iobase = (device_reg_t *) host->io_port; + spin_lock_init(&ha->hardware_lock); + + /* 4.23 Initialize /proc/scsi/qla2x00 counters */ + ha->actthreads = 0; + ha->qthreads = 0; + ha->dump_done = 0; + ha->total_isr_cnt = 0; + ha->total_isp_aborts = 0; + ha->total_lip_cnt = 0; + ha->total_dev_errs = 0; + ha->total_ios = 0; + ha->total_bytes = 0; + + if (qla2x00_mem_alloc(ha)) { + printk(KERN_WARNING + "scsi%d: [ERROR] Failed to allocate " + "memory for adapter\n",host->host_no); + qla2x00_mem_free(ha); + spin_unlock_irq(&io_request_lock); + continue; + } + + ha->prev_topology = 0; + ha->ports = bdp->numPorts; + + ha->max_targets = MAX_TARGETS_2200; + + /* load the F/W, read paramaters, and init the H/W */ + ha->instance = num_hosts; + + init_MUTEX_LOCKED(&ha->mbx_intr_sem); + + INIT_LIST_HEAD(&ha->done_queue); + INIT_LIST_HEAD(&ha->retry_queue); + INIT_LIST_HEAD(&ha->scsi_retry_queue); + INIT_LIST_HEAD(&ha->failover_queue); + + INIT_LIST_HEAD(&ha->pending_queue); + +#if MPIO_SUPPORT + if (qla2x00_failover) + ha->flags.failover_enabled = 1; +#else + + ha->flags.failover_enabled = 0; +#endif + +#if QLA2X_PERFORMANCE + tasklet_init(&ha->run_qla_task, + (void *)qla2x00_done_tasklet, + (unsigned long) ha); +#endif + + /* + * These locks are used to prevent more than one CPU + * from modifying the queue at the same time. The + * higher level "io_request_lock" will reduce most + * contention for these locks. + */ + + spin_lock_init(&ha->mbx_bits_lock); + spin_lock_init(&ha->mbx_reg_lock); + spin_lock_init(&ha->mbx_q_lock); + spin_lock_init(&ha->list_lock); + + spin_unlock_irq(&io_request_lock); + + if (qla2x00_initialize_adapter(ha) && + !(ha->device_flags & DFLG_NO_CABLE)) { + + printk(KERN_WARNING + "qla2x00: Failed to " + "initialize adapter\n"); + + DEBUG2(printk("scsi%ld: Failed to initialize " + "adapter - Adapter flags %x.\n", + ha->host_no, ha->device_flags);) + + qla2x00_mem_free(ha); + scsi_unregister(host); + + continue; + } + + /* + * Startup the kernel thread for this host adapter + */ +#ifdef ISP2200 + ha->dpc_notify = &qla2200_detect_sem; +#endif +#ifdef ISP2300 + ha->dpc_notify = &qla2300_detect_sem; +#endif + + kernel_thread((int (*)(void *))qla2x00_do_dpc, (void *) ha, 0); + + /* + * Now wait for the kernel dpc thread to initialize + * and go to sleep. + */ +#ifdef ISP2200 + down(&qla2200_detect_sem); +#endif +#ifdef ISP2300 + down(&qla2300_detect_sem); +#endif + + ha->dpc_notify = NULL; + ha->next = NULL; + /* Mark preallocated Loop IDs in use. */ + ha->fabricid[SNS_FL_PORT].in_use = TRUE; + ha->fabricid[FABRIC_CONTROLLER].in_use = TRUE; + ha->fabricid[SIMPLE_NAME_SERVER].in_use = TRUE; + + spin_lock_irq(&io_request_lock); + + /* Register our resources with Linux */ + if (qla2x00_register_with_Linux(ha, bdp->numPorts-1)) { + printk(KERN_WARNING + "scsi%ld: Failed to " + "register resources.\n", + ha->host_no); + spin_unlock_irq(&io_request_lock); + qla2x00_mem_free(ha); + spin_lock_irq(&io_request_lock); + scsi_unregister(host); + spin_unlock_irq(&io_request_lock); + continue; + } + + DEBUG2(printk("DEBUG: detect hba %ld at " + "address = %p\n", + ha->host_no,ha);) + + reg = ha->iobase; + + /* Disable ISP interrupts. */ + qla2x00_disable_intrs(ha); + + /* Ensure mailbox registers are free. */ + spin_lock_irqsave(&ha->hardware_lock, flags); + WRT_REG_WORD(®->semaphore, 0); + WRT_REG_WORD(®->host_cmd, HC_CLR_RISC_INT); + WRT_REG_WORD(®->host_cmd, HC_CLR_HOST_INT); + spin_unlock_irqrestore(&ha->hardware_lock, flags); + + spin_unlock_irq(&io_request_lock); + +#if MPIO_SUPPORT + /* if failover is enabled read + * the user configuration + */ + if (ha->flags.failover_enabled) { + if (ConfigRequired > 0) + mp_config_required = 1; + else + mp_config_required = 0; + + DEBUG(printk("qla2x00_detect: qla2x00_cfg_init " + "for hba %ld\n", + ha->instance);) + + qla2x00_cfg_init(ha); + } +#endif + + /* Enable chip interrupts. */ + qla2x00_enable_intrs(ha); + + /* Insert new entry into the list of adapters */ + ha->next = NULL; + + if( qla2x00_hostlist == NULL ) { + qla2x00_hostlist = ha; + } else { + cur_ha = qla2x00_hostlist; + + while( cur_ha->next != NULL ) + cur_ha = cur_ha->next; + + cur_ha->next = ha; + } + + /* v2.19.5b6 */ + /* + * Wait around max loop_reset_delay secs for the + * devices to come on-line. We don't want Linux + * scanning before we are ready. + */ + for (wait_switch = jiffies + + (ha->loop_reset_delay * HZ); + /* jiffies < wait_switch */ + time_before(jiffies,wait_switch) && + !(ha->device_flags & + (DFLG_NO_CABLE | DFLG_FABRIC_DEVICES)) + && (ha->device_flags & SWITCH_FOUND) ;) { + + qla2x00_check_fabric_devices(ha); + + set_current_state(TASK_INTERRUPTIBLE); + schedule_timeout(5); + } + +/* FlexServ Patch */ +#if defined(CONFIG_MD_MULTIHOST) + { + unsigned long i; + + union { + __u64 identifier; + char wwn[WWN_SIZE]; + } foo; + + for (i = 0; i < WWN_SIZE; i++) { + foo.wwn[i] = ha->init_cb->port_name[i]; + } + host->host_identifier = foo.identifier; + } +#endif /* CONFIG_MD_MULTIHOST */ + + /* List the target we have found */ + if (displayConfig && (!ha->flags.failover_enabled)) + qla2x00_display_fc_names(ha); + + ha->init_done = 1; + num_hosts++; + } + } /* end of FOR */ + + spin_lock_irq(&io_request_lock); + +#if MPIO_SUPPORT + if (displayConfig && ha->flags.failover_enabled) + qla2x00_cfg_display_devices(); +#endif + LEAVE("qla2x00_detect"); + + return num_hosts; +} + +/************************************************************************** +* qla2x00_register_with_Linux +* +* Description: +* Free the passed in Scsi_Host memory structures prior to unloading the +* module. +* +* Input: +* ha - pointer to host adapter structure +* maxchannels - MAX number of channels. +* +* Returns: +* 0 - Sucessfully reserved resources. +* 1 - Failed to reserved a resource. +**************************************************************************/ +STATIC uint8_t +qla2x00_register_with_Linux(scsi_qla_host_t *ha, uint8_t maxchannels) +{ + struct Scsi_Host *host = ha->host; + + host->can_queue = max_srbs; /* default value:-MAX_SRBS(4096) */ + host->cmd_per_lun = 1; + host->select_queue_depths = qla2x00_select_queue_depth; + host->n_io_port = 0xFF; + +#if MEMORY_MAPPED_IO + host->base = (unsigned long) ha->mmpbase; +#else + host->base = 0; +#endif + + host->max_channel = maxchannels; + /* fix: 07/31 host->max_lun = MAX_LUNS-1; */ + host->max_lun = ha->max_luns; + host->unique_id = ha->instance; + host->max_id = ha->max_targets; + + /* set our host ID (need to do something about our two IDs) */ + host->this_id = 255; + + /* Register the I/O space with Linux */ + if (check_region(host->io_port, 0xff)) { + printk(KERN_WARNING + "qla2x00: Failed to reserved i/o base region " + "0x%04lx-0x%04lx already in use\n", + host->io_port, host->io_port + 0xff); + /* 6/15/01 - free_irq(host->irq, NULL); */ + return 1; + } + request_region(host->io_port, 0xff, DRIVER_NAME); + + /* Register the IRQ with Linux (sharable) */ + if (request_irq(host->irq, qla2x00_intr_handler, + SA_INTERRUPT|SA_SHIRQ, DRIVER_NAME, ha)) { + printk(KERN_WARNING + "qla2x00 : Failed to reserve interrupt %d " + "already in use\n", + host->irq); + release_region(host->io_port, 0xff); + return 1; + } + + /* Initialized the timer */ + START_TIMER(qla2x00_timer, ha, WATCH_INTERVAL); + + return 0; +} + + +/************************************************************************** +* qla2x00_release +* +* Description: +* Free the passed in Scsi_Host memory structures prior to unloading the +* module. +* +* Input: +* ha - pointer to host adapter structure +* +* Returns: +* 0 - Always returns good status +**************************************************************************/ +int +qla2x00_release(struct Scsi_Host *host) +{ + scsi_qla_host_t *ha = (scsi_qla_host_t *) host->hostdata; +#if QL_TRACE_MEMORY + int t; +#endif + + ENTER("qla2x00_release"); + + /* turn-off interrupts on the card */ + if (ha->interrupts_on) + qla2x00_disable_intrs(ha); + + /* Detach interrupts */ + if (host->irq) + free_irq(host->irq, ha); + + /* release io space registers */ + if (host->io_port) + release_region(host->io_port, 0xff); + + /* Disable timer */ + if (ha->timer_active) + STOP_TIMER(qla2x00_timer,ha) + + /* Kill the kernel thread for this host */ + if (ha->dpc_handler != NULL ) { + +#ifdef ISP2200 + ha->dpc_notify = &qla2200_detect_sem; +#endif +#ifdef ISP2300 + ha->dpc_notify = &qla2300_detect_sem; +#endif + + send_sig(SIGHUP, ha->dpc_handler, 1); + +#ifdef ISP2200 + down(&qla2200_detect_sem); +#endif +#ifdef ISP2300 + down(&qla2300_detect_sem); +#endif + + ha->dpc_notify = NULL; + } + +#if USE_FLASH_DATABASE + /* Move driver database to flash, if enabled. */ + if (ha->flags.enable_flash_db_update && + ha->flags.updated_fc_db) { + + ha->flags.updated_fc_db = FALSE; + qla2x00_save_database(ha); + } +#endif + +#if MEMORY_MAPPED_IO + if (ha->mmpbase) { + iounmap((void *) (((unsigned long) ha->mmpbase) & PAGE_MASK)); + } +#endif + +#if APIDEV + apidev_cleanup(); +#endif + + qla2x00_mem_free(ha); + +#if MPIO_SUPPORT + if (qla2x00_failover) + qla2x00_cfg_mem_free(ha); +#endif + + if (qla2x00_buffer != NULL) { + kfree(qla2x00_buffer); + qla2x00_buffer_size = 0; + } + +#if QL_TRACE_MEMORY + for (t = 0; t < 1000; t++) { + if (mem_trace[t] == 0L) + continue; + printk("mem_trace[%d]=%lx, %lx\n", + t, mem_trace[t],mem_id[t]); + } +#endif + + ha->flags.online = FALSE; + + LEAVE("qla2x00_release"); + + return 0; +} + +/************************************************************************** +* qla2x00_info +* +* Description: +* +* Input: +* host - pointer to Scsi host adapter structure +* +* Returns: +* Return a text string describing the driver. +**************************************************************************/ +const char * +qla2x00_info(struct Scsi_Host *host) +{ + static char qla2x00_buffer[255]; + char *bp; + scsi_qla_host_t *ha; + qla_boards_t *bdp; + +#if APIDEV + /* We must create the api node here instead of qla2x00_detect + * since we want the api node to be subdirectory of /proc/scsi/qla2x00 + * which will not have been created when qla2x00_detect exits, + * but which will have been created by this point. + */ + + apidev_init(host); +#endif + + bp = &qla2x00_buffer[0]; + ha = (scsi_qla_host_t *)host->hostdata; + bdp = &QLBoardTbl_fc[ha->devnum]; + memset(bp, 0, sizeof(qla2x00_buffer)); + + sprintf(bp, + "QLogic %sPCI to Fibre Channel Host Adapter: " + "bus %d device %d irq %d\n" + " Firmware version: %2d.%02d.%02d, Driver version %s", + (char *)&bdp->bdName[0], ha->pdev->bus->number, + PCI_SLOT(ha->pdev->devfn), + host->irq, + bdp->fwver[0], bdp->fwver[1], bdp->fwver[2], QLA2100_VERSION); + + return bp; +} + +/* + * This routine will alloacte SP from the free queue + * input: + * scsi_qla_host_t * + * output: + * srb_t * or NULL + */ +STATIC srb_t * +qla2x00_get_new_sp (scsi_qla_host_t *ha) +{ + srb_t * sp = NULL; + ulong flags; + + spin_lock_irqsave(&ha->list_lock, flags); + if (!list_empty(&ha->free_queue)) { + sp = list_entry(ha->free_queue.next, srb_t, list); + __del_from_free_queue (ha, sp); + } + spin_unlock_irqrestore(&ha->list_lock, flags); + + if (sp) { + DEBUG4( + if ((int)atomic_read(&sp->ref_count) != 0) { + /* error */ + printk("qla2x00_get_new_sp: WARNING " + "ref_count not zero.\n"); + }) + + sp_get(ha,sp); + } + + return (sp); +} + +/************************************************************************** +* qla2x00_check_tgt_status +* +* Description: +* Checks to see if the target or loop is down. +* +* Input: +* cmd - pointer to Scsi cmd structure +* +* Returns: +* 1 - if target is present +* 0 - if target is not present +* +**************************************************************************/ +STATIC uint8_t +qla2x00_check_tgt_status(scsi_qla_host_t *ha, Scsi_Cmnd *cmd) +{ + os_lun_t *lq; + uint32_t b, t, l; + fc_port_t *fcport; + + /* Generate LU queue on bus, target, LUN */ + b = SCSI_BUS_32(cmd); + t = SCSI_TCN_32(cmd); + l = SCSI_LUN_32(cmd); + + if ((lq = GET_LU_Q(ha,t,l)) == NULL) { + return(QL_STATUS_ERROR); + } + + fcport = lq->fclun->fcport; + + if (TGT_Q(ha, t) == NULL || + l >= ha->max_luns || + (atomic_read(&fcport->state) == FC_DEVICE_DEAD) || + (!atomic_read(&ha->loop_down_timer) && + ha->loop_state == LOOP_DOWN)|| + (test_bit(ABORT_ISP_ACTIVE, &ha->dpc_flags)) || + ABORTS_ACTIVE || + ha->loop_state != LOOP_READY) { + + DEBUG(printk(KERN_INFO + "scsi(%2d:%2d:%2d:%2d): " + "qla2x00_check_tgt_status: " + "connection is down\n", + (int)ha->host_no,b,t,l);) + + CMD_RESULT(cmd) = DID_NO_CONNECT << 16; + return(QL_STATUS_ERROR); + } + return (QL_STATUS_SUCCESS); +} + +/************************************************************************** +* qla2x00_check_port_status +* +* Description: +* Checks to see if the port or loop is down. +* +* Input: +* fcport - pointer to fc_port_t structure. +* +* Returns: +* 1 - if port is present +* 0 - if port is not present +* +**************************************************************************/ +STATIC uint8_t +qla2x00_check_port_status(scsi_qla_host_t *ha, fc_port_t *fcport) +{ + uint32_t port_state; + + if (fcport == NULL) { + return(QL_STATUS_ERROR); + } + + port_state = (uint32_t)atomic_read(&fcport->state); + if ((port_state != FC_ONLINE) || + (port_state == FC_DEVICE_DEAD) || + (!atomic_read(&ha->loop_down_timer) && + ha->loop_state == LOOP_DOWN) || + (test_bit(ABORT_ISP_ACTIVE, &ha->dpc_flags)) || + test_bit(CFG_ACTIVE, &ha->cfg_flags) || + ABORTS_ACTIVE || + ha->loop_state != LOOP_READY) { + + DEBUG(printk(KERN_INFO + "qla2x00_check_port_status(%ld): " + "connection is down. fcport=%p.\n", + ha->host_no, fcport);) + + return(QL_STATUS_ERROR); + } + return (QL_STATUS_SUCCESS); +} + + +/************************************************************************** +* qla2x00_queuecommand +* +* Description: +* Queue a command to the controller. +* +* Input: +* cmd - pointer to Scsi cmd structure +* fn - pointer to Scsi done function +* +* Returns: +* 0 - Always +* +* Note: +* The mid-level driver tries to ensures that queuecommand never gets invoked +* concurrently with itself or the interrupt handler (although the +* interrupt handler may call this routine as part of request-completion +* handling). +**************************************************************************/ +int +qla2x00_queuecommand(Scsi_Cmnd *cmd, void (*fn)(Scsi_Cmnd *)) +{ + fc_port_t *fcport; + os_lun_t *lq; + os_tgt_t *tq; + scsi_qla_host_t *ha, *ha2; + srb_t *sp; + struct Scsi_Host *host; + + uint32_t b, t, l; +#if BITS_PER_LONG <= 32 + uint32_t handle; +#else + u_long handle; +#endif + + ENTER("qla2x00_queuecommand"); + + host = cmd->host; + ha = (scsi_qla_host_t *) host->hostdata; + + cmd->scsi_done = fn; + spin_unlock(&io_request_lock); + + /* Allocate a command packet from the "sp" pool. + * If we cant get back one then let scsi layer + * come back later. + */ + if ((sp = qla2x00_get_new_sp (ha)) == NULL) { + printk(KERN_WARNING + "queuecommand: Couldn't allocate memory " + "for sp - retried.\n"); + + spin_lock_irq(&io_request_lock); + + LEAVE("qla2x00_queuecommand"); + return(1); + } + + sp->cmd = cmd; + CMD_SP(cmd) = (void *)sp; + + sp->flags = 0; + if (CMD_RESID_LEN(cmd) & SRB_IOCTL) { + /* Need to set sp->flags */ + sp->flags |= SRB_IOCTL; + CMD_RESID_LEN(cmd) = 0; /* Clear it since no more use. */ + } + +#if MPIO_SUPPORT + sp->fo_retry_cnt = 0; +#endif + sp->iocb_cnt = 0; + + if (cmd->allowed < ql2xretrycount) { + cmd->allowed = ql2xretrycount; + } + + DEBUG5(qla2x00_print_scsi_cmd(cmd);) + DEBUG5(printk("qla2x00_queuecmd: pid=%ld, opcode=%d, timeout=%d\n", + cmd->serial_number,cmd->cmnd[0],CMD_TIMEOUT(cmd));) + + /* Generate LU queue on bus, target, LUN */ + b = SCSI_BUS_32(cmd); + t = SCSI_TCN_32(cmd); + l = SCSI_LUN_32(cmd); + + /* + * Start Command Timer. Typically it will be 2 seconds less + * than what is requested by the Host such that we can return + * the IO before aborts are called. + */ + if ((CMD_TIMEOUT(cmd)/HZ) > QLA_CMD_TIMER_DELTA) + qla2x00_add_timer_to_cmd(sp, + (CMD_TIMEOUT(cmd)/HZ) - QLA_CMD_TIMER_DELTA); + else + qla2x00_add_timer_to_cmd(sp, (CMD_TIMEOUT(cmd)/HZ)); + + DEBUG5(qla2x00_print_scsi_cmd(cmd);) + DEBUG5(printk("qla2x00_queuecmd: pid=%ld, opcode=%d, timeout= %d\n", + cmd->serial_number,cmd->cmnd[0],CMD_TIMEOUT(cmd));) + + if (l >= ha->max_luns) { + CMD_RESULT(cmd) = DID_NO_CONNECT << 16; + spin_lock_irq(&io_request_lock); + __sp_put(ha, sp); + LEAVE("qla2x00_queuecommand"); + return(0); + } + + if ((tq = (os_tgt_t *) TGT_Q(ha, t)) != NULL && + (lq = (os_lun_t *) LUN_Q(ha, t, l)) != NULL ) { + + fcport = lq->fclun->fcport; + ha2 = fcport->ha; + } else { + lq = NULL; + fcport = NULL; + ha2 = ha; + } + + /* Set an invalid handle until we issue the command to ISP */ + /* then we will set the real handle value. */ + handle = INVALID_HANDLE; + CMD_HANDLE(cmd) = (unsigned char *)handle; + + DEBUG4(printk("scsi(%2d:%2d:%2d): (queuecmd) queue sp = %p, " + "flags=0x%x fo retry=%d, pid=%ld, cmd flags= 0x%x\n", + (int)ha->host_no,t,l,sp,sp->flags,sp->fo_retry_cnt, + cmd->serial_number,cmd->flags);) + + /* Bookkeeping information */ + sp->r_start = jiffies; /* time the request was recieved */ + sp->u_start = 0; + + /* Setup device queue pointers. */ + sp->tgt_queue = tq; + sp->lun_queue = lq; + + /* + * NOTE : q is NULL + * 1. When device is added from persistent binding + * but has not been discovered yet.The state of + * loopid == PORT_AVAIL. + * 2. When device is never found on the bus.(loopid == UNUSED) + * + * IF Device Queue is not created, or device is not in + * a valid state and link down error reporting is enabled, + * reject IO. + */ + if (fcport == NULL) { + DEBUG3(printk("scsi(%2d:%2d:%2d): port unavailable\n", + (int)ha->host_no,t,l);) + + CMD_RESULT(cmd) = DID_NO_CONNECT << 16; + spin_lock_irq(&io_request_lock); + __sp_put(ha, sp); + return(0); + } + + sp->flags &= ~SRB_ISP_COMPLETED; + + sp->fclun = lq->fclun; + sp->ha = ha2; + + sp->cmd_length = CMD_CDBLEN(cmd); + + add_to_pending_queue(ha, sp); + + /* First start cmds for this lun if possible */ + qla2x00_next(ha); + + LEAVE("qla2x00_queuecommand"); + spin_lock_irq(&io_request_lock); + return (0); +} + +/* + * qla2x00_eh_wait_on_command + * Waits for the command to be returned by the Firmware for some + * max time. + * + * Input: + * ha = actual ha whose done queue will contain the command + * returned by firmware. + * cmd = Scsi Command to wait on. + * flag = Abort/Reset(Bus or Device Reset) + * + * Return: + * Not Found : 0 + * Found : 1 + */ +STATIC int +qla2x00_eh_wait_on_command(scsi_qla_host_t *ha, Scsi_Cmnd *cmd) +{ +#define ABORT_WAIT_TIME 10 /* seconds */ + + int found = 0; + srb_t *rp; + struct list_head *list, *temp; + u_long cpu_flags = 0; + u_long max_wait_time = jiffies + ABORT_WAIT_TIME*HZ; + + ENTER("qla2x00_eh_wait_on_command"); + + do { + /* Check on done queue */ + spin_lock_irqsave(&ha->list_lock, cpu_flags); + list_for_each_safe(list, temp, &ha->done_queue) { + rp = list_entry(list, srb_t, list); + + if (cmd != rp->cmd) + continue; + + /* + * Found command. + * Just exit and proceed to call done later. + */ + + found++; + DEBUG3(printk("qla2x00_eh_wait_on_command: " + "found in done queue.\n");) + break; + } + spin_unlock_irqrestore(&ha->list_lock, cpu_flags); + + if (CMD_HANDLE(cmd) == NULL) { + DEBUG3(printk("qla2x00_eh_wait_on_command: " + "already completed.\n");) + found++; + } + + if (found) + break; + + + spin_unlock_irq(&io_request_lock); + set_current_state(TASK_INTERRUPTIBLE); + schedule_timeout(2*HZ); + spin_lock_irq(&io_request_lock); + + } while (time_before_eq(jiffies, max_wait_time)); + + DEBUG2(printk("qla2x00_eh_wait_on_command: found=%d.\n", found);) + + LEAVE("qla2x00_eh_wait_on_command"); + + return(found); +} + +/************************************************************************** +* qla2xxx_eh_abort +* +* Description: +* The abort function will abort the specified command. +* +* Input: +* cmd = Linux SCSI command packet to be aborted. +* +* Returns: +* Either SUCCESS or FAILED. +* +* Note: +**************************************************************************/ +int +qla2xxx_eh_abort(Scsi_Cmnd *cmd) +{ + int i; + int return_status = FAILED; + os_lun_t *q; + scsi_qla_host_t *ha; + scsi_qla_host_t *vis_ha; + srb_t *sp; + srb_t *rp; + struct list_head *list, *temp; + struct Scsi_Host *host; + uint8_t found = 0; + uint32_t b, t, l; + unsigned long flags; + + + ENTER("qla2xxx_eh_abort"); + + /* Get the SCSI request ptr */ + sp = (srb_t *) CMD_SP(cmd); + + if ((sp == NULL)) { + /* no action - we don't have command */ + DEBUG(printk("qla2xxx_eh_abort: cmd already done sp=%p\n",sp);) + return(SUCCESS); + } + if (sp) { + DEBUG(printk("qla2xxx_eh_abort: refcount %i \n", + atomic_read(&sp->ref_count));) + } + + vis_ha = (scsi_qla_host_t *) cmd->host->hostdata; + vis_ha->eh_start=0; +#if MPIO_SUPPORT + /* Get Actual HA pointer */ + ha = (scsi_qla_host_t *)sp->ha; +#else + ha = (scsi_qla_host_t *) cmd->host->hostdata; +#endif + + host = ha->host; + +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,7) + /* Check for possible pending interrupts. */ + qla2x00_process_risc_intrs(ha); +#endif + + /* Generate LU queue on bus, target, LUN */ + b = SCSI_BUS_32(cmd); + t = SCSI_TCN_32(cmd); + l = SCSI_LUN_32(cmd); + q = GET_LU_Q(vis_ha, t, l); + + /* + * if no LUN queue then something is very wrong!!! + */ + if (q == NULL) { + printk(KERN_WARNING + "qla2x00: (%x:%x:%x) No LUN queue.\n", b, t, l); + + /* no action - we don't have command */ + return(FAILED); + } + + DEBUG2(printk("scsi(%ld): ABORTing cmd=%p sp=%p jiffies = 0x%lx, " + "timeout=%x, dpc_flags=%lx, vis_ha->dpc_flags=%lx\n", + ha->host_no, + cmd, + sp, + jiffies, + CMD_TIMEOUT(cmd)/HZ, + ha->dpc_flags, + vis_ha->dpc_flags);) + DEBUG2(qla2x00_print_scsi_cmd(cmd)); + DEBUG2(qla2x00_print_q_info(q);) + + /* Search done queue */ + spin_lock_irqsave(&ha->list_lock,flags); + list_for_each_safe(list, temp, &ha->done_queue) { + rp = list_entry(list, srb_t, list); + + if (cmd != rp->cmd) + continue; + + /* + * Found command. No need to remove command from done list. + * Just proceed to call done. + */ + return_status = SUCCESS; + found++; + qla2x00_delete_from_done_queue(ha, sp); + + break; + } /* list_for_each_safe() */ + spin_unlock_irqrestore(&ha->list_lock, flags); + + /* + * Return immediately if the aborted command was already + * in the done queue + */ + if (found) { + printk(KERN_INFO "qla2xxx_eh_abort: Returning completed " + "command=%p sp=%p\n", cmd, sp); + __sp_put(ha, sp); + return (return_status); + } + + /* + * See if this command is in the retry queue + */ + if (!found) { + DEBUG3(printk("qla2xxx_eh_abort: searching sp %p " + "in retry queue.\n", sp);) + + spin_lock_irqsave(&ha->list_lock, flags); + list_for_each_safe(list, temp, &ha->retry_queue) { + rp = list_entry(list, srb_t, list); + + if (cmd != rp->cmd) + continue; + + + DEBUG2(printk("qla2xxx_eh_abort: found " + "in retry queue. SP=%p\n", sp);) + + __del_from_retry_queue(ha, rp); + CMD_RESULT(rp->cmd) = DID_ABORT << 16; + __add_to_done_queue(ha, rp); + + return_status = SUCCESS; + found++; + + break; + + } /* list_for_each_safe() */ + spin_unlock_irqrestore(&ha->list_lock, flags); + } + +#if MPIO_SUPPORT + /* + * Search failover queue + */ + if (!found) { + DEBUG3(printk("qla2xxx_eh_abort: searching sp %p " + "in failover queue.\n", sp);) + + spin_lock_irqsave(&ha->list_lock, flags); + list_for_each_safe(list, temp, &ha->failover_queue) { + rp = list_entry(list, srb_t, list); + + if (cmd != rp->cmd) + continue; + + DEBUG2(printk(KERN_WARNING + "qla2xxx_eh_abort: found " + "in failover queue. SP=%p\n", sp);) + + /* Remove srb from failover queue. */ + __del_from_failover_queue(ha, rp); + CMD_RESULT(rp->cmd) = DID_ABORT << 16; + __add_to_done_queue(ha, rp); + + return_status = SUCCESS; + found++; + + break; + + } /* list_for_each_safe() */ + spin_unlock_irqrestore(&ha->list_lock, flags); + } /*End of if !found */ +#endif + + /* + * Our SP pointer points at the command we want to remove from the + * pending queue providing we haven't already sent it to the adapter. + */ + if (!found) { + DEBUG3(printk("qla2xxx_eh_abort: searching sp %p " + "in pending queue.\n", sp);) + + spin_lock_irqsave(&vis_ha->list_lock, flags); + list_for_each_safe(list, temp, &vis_ha->pending_queue) { + rp = list_entry(list, srb_t, list); + if (rp->cmd != cmd) + continue; + + /* Remove srb from LUN queue. */ + rp->flags |= SRB_ABORTED; + + DEBUG2(printk("qla2xxx_eh_abort: Cmd in pending queue." + " serial_number %ld.\n", + sp->cmd->serial_number);) + + __del_from_pending_queue(vis_ha, rp); + CMD_RESULT(cmd) = DID_ABORT << 16; + + __add_to_done_queue(vis_ha, rp); + + return_status = SUCCESS; + + found++; + break; + } /* list_for_each_safe() */ + spin_unlock_irqrestore(&vis_ha->list_lock, flags); + } /*End of if !found */ + + if (!found) { /* find the command in our active list */ + DEBUG3(printk("qla2xxx_eh_abort: searching sp %p " + "in outstanding queue.\n", sp);) + + spin_lock_irqsave(&ha->hardware_lock, flags); + for (i = 1; i < MAX_OUTSTANDING_COMMANDS; i++) { + sp = ha->outstanding_cmds[i]; + + if (sp == NULL) + continue; + + if (sp->cmd != cmd) + continue; + + found++; + + DEBUG(printk("qla2xxx_eh_abort(%ld): aborting sp %p " + "from RISC. pid=%d sp->state=%x\n", + ha->host_no, + sp, + (int)sp->cmd->serial_number, + sp->state);) + DEBUG(qla2x00_print_scsi_cmd(cmd);) + DEBUG(qla2x00_print_q_info(q);) + + /* Get a reference to the sp and drop the lock.*/ + sp_get(ha,sp); + + spin_unlock_irqrestore(&ha->hardware_lock, flags); + spin_unlock(&io_request_lock); + + if (qla2x00_abort_command(ha, sp)) { + DEBUG2(printk("qla2xxx_eh_abort: abort_command " + "mbx failed.\n");) + return_status = FAILED; + } else { + DEBUG3(printk("qla2xxx_eh_abort: abort_command " + " mbx success.\n");) + return_status = SUCCESS; + } + + sp_put(ha,sp); + spin_lock_irq(&io_request_lock); + spin_lock_irqsave(&ha->hardware_lock, flags); + + /* + * Regardless of mailbox command status, go check + * on done queue just in case the sp is already in + * done queue when we released io_request lock + * in the mailbox function. + */ + if (qla2x00_eh_wait_on_command(ha, cmd) != 0) { + /* Found cmd in done queue */ + return_status = SUCCESS; + } + + break; + + }/*End of for loop */ + spin_unlock_irqrestore(&ha->hardware_lock, flags); + + } /*End of if !found */ + + if (return_status != SUCCESS) { + DEBUG2(printk("qla2xxx_eh_abort: exiting. status=failed.\n");) + + return(return_status); + } + + /* + * Complete any commands in done_queue + */ + if ((!list_empty(&ha->done_queue))) { + DEBUG2(printk("qla2xxx_eh_abort: calling done for ha.\n");) + spin_unlock_irq(&io_request_lock); + qla2x00_done(ha); + spin_lock_irq(&io_request_lock); + } + + DEBUG(printk("qla2xxx_eh_abort: Exiting. return_status=0x%x.\n", + return_status)); + + LEAVE("qla2xxx_eh_abort"); + + return(return_status); +} + +/************************************************************************** +* qla2xxx_eh_device_reset +* +* Description: +* The device reset function will reset the target and abort any +* executing commands. +* +* Input: +* cmd = Linux SCSI command packet of the command that cause the +* bus device reset. +* +* Returns: +* SUCCESS/FAILURE (defined as macro in scsi.h). +* +**************************************************************************/ +int +qla2xxx_eh_device_reset(Scsi_Cmnd *cmd) +{ + int return_status = SUCCESS; + uint32_t b, t, l; + scsi_qla_host_t *ha, *vis_ha; +#if MPIO_SUPPORT + srb_t *sp; +#endif + + ENTER("qla2xxx_eh_device_reset"); + + if (cmd == NULL) { + BUG(); + } + /* Verify the device exists. */ + b = SCSI_BUS_32(cmd); + t = SCSI_TCN_32(cmd); + l = SCSI_LUN_32(cmd); + vis_ha = (scsi_qla_host_t *)cmd->host->hostdata; + vis_ha->eh_start=0; + if (TGT_Q(vis_ha, t) == NULL) { + BUG(); + } + +#if MPIO_SUPPORT + /* Find actual ha */ + sp = (srb_t *)CMD_SP(cmd); + if (sp) + ha = sp->ha; + else + ha = (scsi_qla_host_t *)cmd->host->hostdata; +#else + ha = (scsi_qla_host_t *)cmd->host->hostdata; +#endif + +#if STOP_ON_RESET + printk(debug_buff,"Resetting Device= 0x%x\n", (int)cmd); + qla2x00_print_scsi_cmd(cmd); + qla2x00_panic("qla2xxx_eh_device_reset", ha->host); +#endif + + if (qla2x00_verbose) + printk(KERN_INFO + "scsi(%ld:%d:%d:%d): DEVICE RESET ISSUED.\n", + ha->host_no, (int)b, (int)t, (int)l); + +#if MPIO_SUPPORT + DEBUG2(printk("scsi(%ld): DEVICE_RESET cmd=%p sp=%p jiffies = 0x%lx, " + "timeout=%x, dpc_flags=%lx, vis_ha->dpc_flags=%lx " + "status=%x allowed=%d cmd.state=%x\n", + ha->host_no, + cmd, + sp, + jiffies, + CMD_TIMEOUT(cmd)/HZ, + ha->dpc_flags, + vis_ha->dpc_flags, + cmd->result, + cmd->allowed, + cmd->state);) +#else + DEBUG2(printk("scsi(%ld): DEVICE_RESET cmd=%p jiffies = 0x%lx, " + "timeout=%x, dpc_flags=%lx, vis_ha->dpc_flags=%lx " + "status=%x allowed=%d cmd.state=%x\n", + ha->host_no, + cmd, + jiffies, + CMD_TIMEOUT(cmd)/HZ, + ha->dpc_flags, + vis_ha->dpc_flags, + cmd->result, + cmd->allowed, + cmd->state);) +#endif + + DEBUG2(qla2x00_print_scsi_cmd(cmd)); + + if (!((test_bit(ABORT_ISP_ACTIVE, &ha->dpc_flags)) || + (test_bit(LOOP_RESET_NEEDED, &ha->dpc_flags)) || + (test_bit(ISP_ABORT_NEEDED, &ha->dpc_flags)) || + (!atomic_read(&ha->loop_down_timer) && + ha->loop_state == LOOP_DOWN)|| + test_bit(CFG_ACTIVE, &ha->cfg_flags) || + ha->loop_state != LOOP_READY)) { + + clear_bit(DEVICE_RESET_NEEDED, &ha->dpc_flags); + spin_unlock_irq(&io_request_lock); + if (qla2x00_device_reset(vis_ha, t, l) != 0) { + return_status = FAILED; + } + spin_lock_irq(&io_request_lock); + } else { + /* + * Wait a while for the loop to come back. Return SUCCESS + * for the kernel to try again. + */ + spin_unlock_irq(&io_request_lock); + + set_current_state(TASK_INTERRUPTIBLE); + schedule_timeout(5 * HZ); + + spin_lock_irq(&io_request_lock); + + return_status = SUCCESS; + } + + if (return_status == FAILED) { + return (return_status); + } + + + /* Blocking Call. It goes to sleep waiting for cmd to get to done q */ + qla2x00_eh_wait_on_command(ha, cmd); + + /* + * Calls the done function for the command. + */ + if (!list_empty(&ha->done_queue)) { + DEBUG3(printk("qla2xxx_eh_device_reset: calling " + "done for ha.\n");) + + spin_unlock_irq(&io_request_lock); + qla2x00_done(ha); + spin_lock_irq(&io_request_lock); + } + + LEAVE("qla2xxx_eh_device_reset"); + + return (return_status); +} + +/************************************************************************** +* qla2xxx_eh_bus_reset +* +* Description: +* The bus reset function will reset the bus and abort any executing +* commands. +* +* Input: +* cmd = Linux SCSI command packet of the command that cause the +* bus reset. +* +* Returns: +* SUCCESS/FAILURE (defined as macro in scsi.h). +* +**************************************************************************/ +int +qla2xxx_eh_bus_reset(Scsi_Cmnd *cmd) +{ + int return_status = SUCCESS; + uint32_t b, t, l; + srb_t *sp; + scsi_qla_host_t *ha, *search_ha = NULL; + + ENTER("qla2xxx_eh_bus_reset"); + + if (cmd == NULL) { + BUG(); + } + + b = SCSI_BUS_32(cmd); + t = SCSI_TCN_32(cmd); + l = SCSI_LUN_32(cmd); + + ha = (scsi_qla_host_t *) cmd->host->hostdata; + ha->eh_start=0; + sp = (srb_t *) CMD_SP(cmd); + + if (ha == NULL) { + BUG(); + } + + for (search_ha = qla2x00_hostlist; + (search_ha != NULL) && search_ha != ha; + search_ha = search_ha->next) + continue; + + if (search_ha == NULL) { + BUG(); + } + +#if STOP_ON_RESET + printk("Resetting the Bus= 0x%x\n", (int)cmd); + qla2x00_print_scsi_cmd(cmd); + qla2x00_panic("qla2100_reset", ha->host); +#endif + + if (qla2x00_verbose) + printk(KERN_INFO + "scsi(%ld:%d:%d:%d): LOOP RESET ISSUED.\n", + ha->host_no, (int)b, (int)t, (int)l); + + if (!((test_bit(ABORT_ISP_ACTIVE, &ha->dpc_flags)) || + (test_bit(ISP_ABORT_NEEDED, &ha->dpc_flags)) || + (!atomic_read(&ha->loop_down_timer) && ha->loop_state == LOOP_DOWN)|| + test_bit(CFG_ACTIVE, &ha->cfg_flags) || + ha->loop_state != LOOP_READY)) { + + clear_bit(LOOP_RESET_NEEDED, &ha->dpc_flags); + spin_unlock_irq(&io_request_lock); + if (qla2x00_loop_reset(ha) != 0) { + return_status = FAILED; + } + spin_lock_irq(&io_request_lock); + } else { + /* + * Wait a while for the loop to come back. Return SUCCESS + * for the kernel to try again. + */ + spin_unlock_irq(&io_request_lock); + + set_current_state(TASK_INTERRUPTIBLE); + schedule_timeout(5 * HZ); + + spin_lock_irq(&io_request_lock); + + return_status = SUCCESS; + } + + if (return_status == FAILED) { + return(return_status); + } + + /* Blocking Call. It goes to sleep waiting for cmd to get to done q */ + qla2x00_eh_wait_on_command(ha, cmd); + + /* + * Calls the done function for the command. + */ + if (!list_empty(&ha->done_queue)) { + DEBUG3(printk("qla2xxx_eh_bus_reset: calling done for ha.\n");) + + spin_unlock_irq(&io_request_lock); + qla2x00_done(ha); + spin_lock_irq(&io_request_lock); + } + + DEBUG2_3(printk("qla2xxx_eh_bus_reset: exiting. status=0x%x.\n", + return_status)); + + LEAVE("qla2xxx_eh_bus_reset"); + + return (return_status); +} + +/************************************************************************** +* qla2xxx_eh_host_reset +* +* Description: +* The reset function will reset the Adapter. +* +* Input: +* cmd = Linux SCSI command packet of the command that cause the +* adapter reset. +* +* Returns: +* Either SUCCESS or FAILED. +* +* Note: +**************************************************************************/ +int +qla2xxx_eh_host_reset(Scsi_Cmnd *cmd) +{ + int return_status = SUCCESS; + scsi_qla_host_t *ha; /* actual ha to reset. */ + scsi_qla_host_t *search_ha; +#if MPIO_SUPPORT + srb_t *sp; +#endif + uint32_t b, t, l; + + ENTER("qla2xxx_eh_host_reset"); + + if (cmd == NULL) { + BUG(); + } + + ha = (scsi_qla_host_t *)cmd->host->hostdata; + ha->eh_start= 0; +#if MPIO_SUPPORT + /* Find actual ha */ + sp = (srb_t *)CMD_SP(cmd); + if (sp) + ha = sp->ha; + else + ha = (scsi_qla_host_t *)cmd->host->hostdata; +#else + ha = (scsi_qla_host_t *)cmd->host->hostdata; +#endif + + if (ha == NULL) { + BUG(); + } + + for (search_ha = qla2x00_hostlist; + (search_ha != NULL) && search_ha != ha; + search_ha = search_ha->next) + continue; + + if (search_ha == NULL) { + BUG(); + } + + /* Display which one we're actually resetting for debug. */ + DEBUG(printk("qla2xxx_eh_host_reset: entered for scsi%ld. " + "Resetting host_no %ld.\n", + ((scsi_qla_host_t *)cmd->host->hostdata)->host_no, + ha->host_no);) + +#if STOP_ON_RESET + printk("Host Reset... Command=\n"); + qla2x00_print_scsi_cmd(cmd); + qla2x00_panic("qla2xxx_eh_host_reset", ha->host); +#endif + + /* + * Now issue reset. + */ + b = SCSI_BUS_32(cmd); + t = SCSI_TCN_32(cmd); + l = SCSI_LUN_32(cmd); + + if (qla2x00_verbose) { + printk(KERN_INFO + "scsi(%ld:%d:%d:%d): now issue ADAPTER RESET.\n", + ((scsi_qla_host_t *)cmd->host->hostdata)->host_no, + (int)b, + (int)t, + (int)l); + } + + DEBUG2(printk(KERN_INFO + "scsi(%ld:%d:%d:%d): now issue ADAPTER RESET " + "to ha %ld.\n", + ((scsi_qla_host_t *)cmd->host->hostdata)->host_no, + (int)b, (int)t, (int)l, ha->host_no);) + + if (!(test_bit(ABORT_ISP_ACTIVE, &ha->dpc_flags))) { + set_bit(ABORT_ISP_ACTIVE, &ha->dpc_flags); + spin_unlock_irq(&io_request_lock); + + if (qla2x00_abort_isp(ha, 1)) { + /* failed. try later */ + set_bit(ISP_ABORT_NEEDED, &ha->dpc_flags); + return_status = FAILED; + + DEBUG2(printk(KERN_WARNING + "scsi(%ld:%d:%d:%d): ha %ld " + "ADAPTER RESET failed. Scheduled " + "retry later.\n", + ((scsi_qla_host_t *) + cmd->host->hostdata)->host_no, + (int)b, + (int)t, + (int)l, + ha->host_no);) + } else { + return_status = SUCCESS; + } + + spin_lock_irq(&io_request_lock); + clear_bit(ABORT_ISP_ACTIVE, &ha->dpc_flags); + } else { + /* + * Already active. Sleep a while then return SUCCESS for + * kernel to retry the IO. + */ + spin_unlock_irq(&io_request_lock); + + set_current_state(TASK_INTERRUPTIBLE); + schedule_timeout(5 * HZ); + + spin_lock_irq(&io_request_lock); + + return_status = SUCCESS; + } + + if (!list_empty(&ha->done_queue)) { + spin_unlock_irq(&io_request_lock); + qla2x00_done(ha); + spin_lock_irq(&io_request_lock); + } + + LEAVE("qla2xxx_eh_host_reset"); + +#if EH_DEBUG + my_reset_success = 1; +#endif + + return(return_status); +} + +/************************************************************************** +* qla1200_biosparam +* +* Description: +* Return the disk geometry for the given SCSI device. +**************************************************************************/ +int +qla2x00_biosparam(Disk *disk, kdev_t dev, int geom[]) +{ + int heads, sectors, cylinders; + + heads = 64; + sectors = 32; + cylinders = disk->capacity / (heads * sectors); + if( cylinders > 1024 ) { + heads = 255; + sectors = 63; + cylinders = disk->capacity / (heads * sectors); + } + + geom[0] = heads; + geom[1] = sectors; + geom[2] = cylinders; + + return (0); +} + +/************************************************************************** +* qla2x00_intr_handler +* +* Description: +* Handles the actual interrupt from the adapter. +* +* Context: Interrupt +**************************************************************************/ +void +qla2x00_intr_handler(int irq, void *dev_id, struct pt_regs *regs) +{ + unsigned long flags = 0; + unsigned long mbx_flags = 0; + scsi_qla_host_t *ha; + uint16_t data; + uint8_t got_mbx = 0; + device_reg_t *reg; + + ENTER_INTR("qla2x00_intr_handler"); + + ha = (scsi_qla_host_t *) dev_id; + if (!ha) { + printk(KERN_INFO + "qla2x00_intr_handler: NULL host ptr\n"); + + return; + } + qla2x00_stats.irqhba = ha; + + reg = ha->iobase; + + spin_lock_irqsave(&ha->hardware_lock, flags); + /* Check for pending interrupts. */ +#if defined(ISP2100) || defined(ISP2200) + while ((data = RD_REG_WORD(®->istatus)) & RISC_INT) +#else + while ((data = RD_REG_WORD(®->host_status_lo)) & HOST_STATUS_INT) +#endif + { + ha->total_isr_cnt++; + qla2x00_isr(ha, data, &got_mbx); + } + spin_unlock_irqrestore(&ha->hardware_lock, flags); + + if (test_bit(MBX_INTR_WAIT, (void *)&ha->mbx_cmd_flags) && + got_mbx && ha->flags.mbox_int) { + /* There was a mailbox completion */ + DEBUG3(printk("qla2x00_intr_handler: going to " + "get mbx reg lock.\n");) + + QLA_MBX_REG_LOCK(ha); + MBOX_TRACE(ha,BIT_5); + got_mbx = 0; + + if (ha->mcp == NULL) { + DEBUG3(printk("qla2x00_intr_handler: error mbx " + "pointer.\n");) + } else { + DEBUG3(printk("qla2x00_intr_handler: going to set mbx " + "intr flags. cmd=%x.\n", + ha->mcp->mb[0]);) + } + set_bit(MBX_INTERRUPT, (void *)&(ha->mbx_cmd_flags)); + + DEBUG3(printk("qla2x00_intr_handler(%ld): going to wake up " + "mbx function for completion.\n", + ha->host_no);) + MBOX_TRACE(ha,BIT_6); + up(&ha->mbx_intr_sem); + + DEBUG3(printk("qla2x00_intr_handler: going to unlock mbx " + "reg.\n");) + QLA_MBX_REG_UNLOCK(ha); + } + + if (!list_empty(&ha->done_queue)) +#if QLA2X_PERFORMANCE + tasklet_schedule(&ha->run_qla_task); +#else + qla2x00_done(ha); +#endif + + /* Wakeup the DPC routine */ + if ((!ha->flags.mbox_busy && + (test_bit(ISP_ABORT_NEEDED, &ha->dpc_flags) || + test_bit(RESET_MARKER_NEEDED, &ha->dpc_flags) || + test_bit(LOOP_RESYNC_NEEDED, &ha->dpc_flags) ) ) && + ha->dpc_wait && !ha->dpc_active) { /* v2.19.4 */ + + up(ha->dpc_wait); + } + +#if 0 + if (!ha->dpc_wait) { + DEBUG(printk("qla2x00 %d: DPC handler died.\n", + (int)ha->host_no)); + } +#endif + + LEAVE_INTR("qla2x00_intr_handler"); +} + + +#if QLA2X_PERFORMANCE +/* + * qla2x00_done_tasklet + * + * This is a task to process completion only similar to a + * bottom half handler. + * + * Input: + * p -- pointer to hba struct + * + */ +void +qla2x00_done_tasklet(long p) +{ + scsi_qla_host_t *ha = (scsi_qla_host_t *) p; + + DEBUG3(printk("qla2x00_done_tasklet:Entered\n");) + + if (!list_empty(&ha->done_queue)) + qla2x00_done(ha); + + DEBUG3(printk("qla2x00_done_tasklet:Leaving\n");) +} +#endif + + +/************************************************************************** +* qla2x00_do_dpc +* This kernel thread is a task that is schedule by the interrupt handler +* to perform the background processing for interrupts. +* +* Notes: +* This task always run in the context of a kernel thread. It +* is kick-off by the driver's detect code and starts up +* up one per adapter. It immediately goes to sleep and waits for +* some fibre event. When either the interrupt handler or +* the timer routine detects a event it will one of the task +* bits then wake us up. +**************************************************************************/ +void +qla2x00_do_dpc(void *p) +{ + DECLARE_MUTEX_LOCKED(sem); + fcdev_t dev; + fc_port_t *fcport; + os_lun_t *q; + scsi_qla_host_t *ha = (scsi_qla_host_t *) p; + srb_t *sp; + uint8_t status; + uint32_t t; + unsigned long flags = 0; + struct list_head *list, *templist; + int dead_cnt, online_cnt; + + ENTER("qla2100: DPC"); + +#ifdef MODULE + siginitsetinv(¤t->blocked, SHUTDOWN_SIGS); +#else + siginitsetinv(¤t->blocked, 0); +#endif + + lock_kernel(); + + /* Flush resources */ + daemonize(); + + /* + * FIXME(dg) this is still a child process of the one that did + * the insmod. This needs to be attached to task[0] instead. + */ + +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,9) + /* As mentioned in kernel/sched.c(RA)..... + * Reparent the calling kernel thread to the init task. + * + * If a kernel thread is launched as a result of a system call, + * or if it ever exists,it should generally reparent itself to init + * so that it is correctly cleaned up on exit. + * + * The various task state such as scheduling policy and priority + * may have been inherited from a user process, so we reset them + * to sane values here. + * + * NOTE that reparent_to_init() gives the caller full capabilities. + * + */ + reparent_to_init(); +#endif + + /* + * Set the name of this process. + */ + sprintf(current->comm, "%s_dpc%ld", DRIVER_NAME, ha->host_no); + ha->dpc_wait = &sem; + + ha->dpc_handler = current; + + unlock_kernel(); + + /* + * Wake up the thread that created us. + */ + DEBUG(printk("qla2x00_dpc: Wake up parent %d\n", + ha->dpc_notify->count.counter);) + + up(ha->dpc_notify); + + while (1) { + /* + * If we get a signal, it means we are supposed to go + * away and die. This typically happens if the user is + * trying to unload a module. + */ + DEBUG3(printk("qla2x00: DPC handler sleeping\n");) + + down_interruptible(&sem); + + if (signal_pending(current)) + break; /* get out */ + + if (!list_empty(&ha->done_queue)) +#if QLA2X_PERFORMANCE + tasklet_schedule(&ha->run_qla_task); +#else + qla2x00_done(ha); +#endif + + DEBUG3(printk("qla2x00: DPC handler waking up\n");) + + /* Initialization not yet finished. Don't do anything yet. */ + if (!ha->init_done || ha->dpc_active) + continue; + + DEBUG3(printk("scsi%d: DPC handler\n",(int)ha->host_no);) + + /* spin_lock_irqsave(&io_request_lock, ha->cpu_flags);*/ + ha->dpc_active = 1; + + /* Determine what action is necessary */ + + /* Process commands in retry queue */ + if (test_and_clear_bit(PORT_RESTART_NEEDED, &ha->dpc_flags)) { + DEBUG(printk("qla2x00_do_dpc%ld: DPC checking " + "retry_q. total=%d\n", + ha->host_no,ha->retry_q_cnt);) + + spin_lock_irqsave(&ha->list_lock, flags); + dead_cnt = online_cnt = 0; + list_for_each_safe(list, templist, &ha->retry_queue) { + sp = list_entry(list, srb_t, list); + q = sp->lun_queue; + DEBUG3(printk("qla2x00_retry_q: pid=%ld " + "sp=%p, spflags=0x%x, " + "q_flag= 0x%lx\n", + sp->cmd->serial_number, + sp, + sp->flags, + q->q_flag);) + + if (q == NULL) + continue; + fcport = q->fclun->fcport; + + if (atomic_read(&fcport->state) == + FC_DEVICE_DEAD) { + + __del_from_retry_queue(ha, sp); + CMD_RESULT(sp->cmd) = + DID_NO_CONNECT << 16; + CMD_HANDLE(sp->cmd) = + (unsigned char *) NULL; + __add_to_done_queue(ha, sp); + dead_cnt++; + } else if (atomic_read(&fcport->state) != + FC_DEVICE_LOST) { + + __del_from_retry_queue(ha, sp); + CMD_RESULT(sp->cmd) = + DID_BUS_BUSY << 16; + CMD_HANDLE(sp->cmd) = + (unsigned char *) NULL; + __add_to_done_queue(ha, sp); + online_cnt++; + } + } /* list_for_each_safe() */ + spin_unlock_irqrestore(&ha->list_lock, flags); + + DEBUG(printk("qla2x00_do_dpc%ld: done processing " + "retry queue - dead=%d, online=%d\n ", + ha->host_no,dead_cnt,online_cnt);) + } + /* Process commands in scsi retry queue */ + if (test_and_clear_bit(SCSI_RESTART_NEEDED, &ha->dpc_flags)) { + /* + * Any requests we want to delay for some period is put + * in the scsi retry queue with a delay added. The + * timer will schedule a "scsi_restart_needed" every + * second as long as there are requests in the scsi + * queue. + */ + DEBUG(printk("qla2x00_do_dpc%ld: DPC checking " + "scsi retry_q.total=%d\n", + ha->host_no,ha->scsi_retry_q_cnt);) + + online_cnt = 0; + spin_lock_irqsave(&ha->list_lock, flags); + list_for_each_safe(list, + templist, + &ha->scsi_retry_queue) { + + sp = list_entry(list, srb_t, list); + q = sp->lun_queue; + + DEBUG3(printk("qla2x00_scsi_retry_q: pid=%ld " + "sp=%p, spflags=0x%x, " + "q_flag= 0x%lx,q_state=%d\n", + sp->cmd->serial_number, + sp, + sp->flags, + q->q_flag, + q->q_state);) + + /* Was this lun suspended */ + if (q->q_state != LUN_STATE_WAIT) { + online_cnt++; + __del_from_scsi_retry_queue(ha, sp); + __add_to_retry_queue(ha,sp); + } + + /* Was this command suspended for N secs */ + if (sp->delay != 0) { + sp->delay--; + if (sp->delay == 0) { + online_cnt++; + __del_from_scsi_retry_queue( + ha, sp); + __add_to_retry_queue(ha,sp); + } + } + } + spin_unlock_irqrestore(&ha->list_lock, flags); + + DEBUG(if (online_cnt > 0)) + DEBUG(printk("scsi%ld: dpc() found scsi reqs " + "to restart= %d\n", + ha->host_no, online_cnt);); + } + + /* Process any pending mailbox commands */ + + if (!ha->flags.mbox_busy) { + if (test_and_clear_bit(ISP_ABORT_NEEDED, + &ha->dpc_flags)) { + + DEBUG(printk("dpc: qla2x00_abort_isp " + "ha = %p\n", ha);) + if (!(test_and_set_bit(ABORT_ISP_ACTIVE, + &ha->dpc_flags))) { + + if (qla2x00_abort_isp(ha, 0)) { + /* failed. retry later */ + set_bit(ISP_ABORT_NEEDED, + &ha->dpc_flags); + } + clear_bit(ABORT_ISP_ACTIVE, + &ha->dpc_flags); + } + } + + if (test_and_clear_bit(LOOP_RESET_NEEDED, + &ha->dpc_flags)) { + + DEBUG(printk("dpc: loop_reset_needed(%ld) " + "calling loop_reset.\n", + ha->host_no);) + + qla2x00_loop_reset(ha); + } + if (test_and_clear_bit(DEVICE_ABORT_NEEDED, + &ha->dpc_flags)) { + + DEBUG(printk("dpc: device_abort_needed(%ld) " + "calling device_abort.\n", + ha->host_no);) + + t = ha->reset_tgt_id; + if (ha->otgt[t] && ha->otgt[t]->vis_port) + qla2x00_abort_device(ha, + ha->otgt[t]->vis_port->loop_id, + ha->reset_lun); + } + + if (test_and_clear_bit(RESET_MARKER_NEEDED, + &ha->dpc_flags)) { + + if (!(test_and_set_bit(RESET_ACTIVE, + &ha->dpc_flags))) { + + DEBUG(printk("dpc(%d): " + "qla2x00_reset_marker \n", + (int)ha->host_no);) + + qla2x00_rst_aen(ha); + clear_bit(RESET_ACTIVE, &ha->dpc_flags); + } + } + + /* v2.19.8 Retry each device up to login retry count */ + if ((test_and_clear_bit(RELOGIN_NEEDED, + &ha->dpc_flags)) && + !test_bit(LOOP_RESYNC_NEEDED, &ha->dpc_flags) && + ha->loop_state != LOOP_DOWN) { /* v2.19.5 */ + + DEBUG(printk("dpc%ld: qla2x00_port_login\n", + ha->host_no);) + + for (fcport = ha->fcport; + fcport != NULL; + fcport = fcport->next) { + + /* + * If the port is not ONLINE then try + * to login to it if we haven't run + * out of retries. + */ + if (atomic_read(&fcport->state) == FC_DEVICE_LOST && + fcport->login_retry ) { + + fcport->login_retry--; + memset(&dev, 0, sizeof(dev)); + dev.loop_id = fcport->old_loop_id; + dev.d_id.b24 = fcport->d_id.b24; + + if ((status = + qla2x00_fabric_login(ha, &dev)) == 0) { + + ha->fc_db[fcport->dev_id].loop_id = dev.loop_id; + fcport->loop_id = dev.loop_id; + fcport->old_loop_id = dev.loop_id; + + DEBUG(printk("dpc%ld port login OK: logged in ID 0x%x\n", + ha->host_no,fcport->loop_id);) + + fcport->port_login_retry_count = + ha->port_down_retry_count * PORT_RETRY_TIME; + atomic_set(&fcport->state, FC_ONLINE); + atomic_set(&fcport->port_down_timer, + ha->port_down_retry_count * PORT_RETRY_TIME); + + fcport->login_retry = 0; + } else if (status == 1) { + if (dev.loop_id != fcport->old_loop_id) { + fcport->old_loop_id = dev.loop_id; + ha->fc_db[fcport->dev_id].loop_id = dev.loop_id; + } + + set_bit(RELOGIN_NEEDED, &ha->dpc_flags); + /* retry the login again */ + DEBUG(printk("dpc: Retrying %d login again loop_id 0x%x\n", + fcport->login_retry, fcport->loop_id);) + } else { + fcport->login_retry = 0; + } + } + if (test_bit(LOOP_RESYNC_NEEDED, &ha->dpc_flags)) + break; + } + DEBUG(printk("dpc%ld: qla2x00_port_login - end\n", + ha->host_no);) + } + + /* v2.19.5 */ + if ((test_bit(LOGIN_RETRY_NEEDED, &ha->dpc_flags)) && + ha->loop_state != LOOP_DOWN ) { /* v2.19.5 */ + + clear_bit(LOGIN_RETRY_NEEDED, &ha->dpc_flags); + DEBUG(printk("dpc(%d): qla2x00_login_retry\n", + (int)ha->host_no);) + + set_bit(LOOP_RESYNC_NEEDED, &ha->dpc_flags); + + DEBUG(printk("dpc: qla2x00_login_retry end.\n");) + } + + /* v2.19.5b5 */ + if (test_and_clear_bit(LOOP_RESYNC_NEEDED, + &ha->dpc_flags)) { + + DEBUG(printk("dpc(%d): qla2x00_LOOP_RESYNC\n", + (int)ha->host_no);) + + if (!(test_and_set_bit(LOOP_RESYNC_ACTIVE, + &ha->dpc_flags))) { + + qla2x00_loop_resync(ha); + + clear_bit(LOOP_RESYNC_ACTIVE, + &ha->dpc_flags); + + } + DEBUG(printk("dpc(%d): qla2x00_LOOP_RESYNC " + "done\n", + (int)ha->host_no);) + } + +#if MPIO_SUPPORT + /* If we are not processing a ioctl or one of + * the ports are still MISSING or need a resync then + * process the failover event. + */ + if (!test_bit(CFG_ACTIVE, &ha->cfg_flags)) { + + if (qla2x00_check_for_devices_online(ha)) { + if (test_and_clear_bit(FAILOVER_EVENT, + &ha->dpc_flags)) { + + DEBUG(printk("dpc(%d): " + "qla2x00_cfg_event_notify\n",ha->host_no);) + + if (ha->flags.online) { + qla2x00_cfg_event_notify(ha, ha->failover_type); + } + + DEBUG(printk("\ndpc(%d): " + "qla2x00_cfg_event_notify - done\n",ha->host_no);) + } + } + + if (test_and_clear_bit(FAILOVER_NEEDED, + &ha->dpc_flags)) { + + /* + * get any requests from + * failover queue + */ + DEBUG(printk("dpc: qla2x00_process " + "failover\n");) + + qla2x00_process_failover(ha); + + DEBUG(printk("dpc: qla2x00_process " + "failover - done\n");) + } + } +#endif + + if (test_bit(RESTART_QUEUES_NEEDED, &ha->dpc_flags)) { + DEBUG(printk("dpc: qla2x00_restart_queues\n");) + + qla2x00_restart_queues(ha,FALSE); + + DEBUG(printk("dpc: qla2x00_restart_queues " + "- done\n");) + } + + if (test_bit(ABORT_QUEUES_NEEDED, &ha->dpc_flags)) { + DEBUG(printk("dpc:(%ld) " + "qla2x00_abort_queues\n",ha->host_no);) + + qla2x00_abort_queues(ha, FALSE); + } + if (!ha->interrupts_on) + qla2x00_enable_intrs(ha); + } + + if (!list_empty(&ha->done_queue)) +#if QLA2X_PERFORMANCE + tasklet_schedule(&ha->run_qla_task); +#else + qla2x00_done(ha); +#endif + + /* spin_unlock_irqrestore(&io_request_lock, ha->cpu_flags);*/ + + ha->dpc_active = 0; + + /* The spinlock is really needed up to this point. (DB) */ + } /* End of while(1) */ + DEBUG(printk("dpc: DPC handler exiting\n");) + + /* + * Make sure that nobody tries to wake us up again. + */ + ha->dpc_wait = NULL; + ha->dpc_handler = NULL; + ha->dpc_active = 0; + + /* + * If anyone is waiting for us to exit (i.e. someone trying to unload + * a driver), then wake up that process to let them know we are on + * the way out the door. This may be overkill - I *think* that we + * could probably just unload the driver and send the signal, and when + * the error handling thread wakes up that it would just exit without + * needing to touch any memory associated with the driver itself. + */ + if (ha->dpc_notify != NULL) + up(ha->dpc_notify); +} + +/************************************************************************** +* qla2x00_device_queue_depth +* Determines the queue depth for a given device. There are two ways +* a queue depth can be obtained for a tagged queueing device. One +* way is the default queue depth which is determined by whether +* If it is defined, then it is used +* as the default queue depth. Otherwise, we use either 4 or 8 as the +* default queue depth (dependent on the number of hardware SCBs). +**************************************************************************/ +void +qla2x00_device_queue_depth(scsi_qla_host_t *p, Scsi_Device *device) +{ + int default_depth = 16; + + device->queue_depth = default_depth; + if (device->tagged_supported) { + device->tagged_queue = 1; + device->current_tag = 0; +#ifdef MODULE + if (!(ql2xmaxqdepth == 0 || ql2xmaxqdepth > 256)) + device->queue_depth = ql2xmaxqdepth; +#endif + + printk(KERN_INFO + "scsi(%d:%d:%d:%d): Enabled tagged queuing, " + "queue depth %d.\n", + (int)p->host_no, + device->channel, + device->id, + device->lun, + device->queue_depth); + } + +} + +/************************************************************************** +* qla2x00_select_queue_depth +* +* Description: +* Sets the queue depth for each SCSI device hanging off the input +* host adapter. We use a queue depth of 2 for devices that do not +* support tagged queueing. +**************************************************************************/ +STATIC void +qla2x00_select_queue_depth(struct Scsi_Host *host, Scsi_Device *scsi_devs) +{ + Scsi_Device *device; + scsi_qla_host_t *p = (scsi_qla_host_t *) host->hostdata; + + ENTER("qla2x00_select_queue_depth"); + + for (device = scsi_devs; device != NULL; device = device->next) { + if (device->host == host) + qla2x00_device_queue_depth(p, device); + } + + LEAVE("qla2x00_select_queue_depth"); +} + +/************************************************************************** +* ** Driver Support Routines ** +* +* qla2x00_enable_intrs +* qla2x00_disable_intrs +**************************************************************************/ +static inline void +qla2x00_enable_intrs(scsi_qla_host_t *ha) +{ + unsigned long flags = 0; + device_reg_t *reg; + + spin_lock_irqsave(&ha->hardware_lock, flags); + reg = ha->iobase; + ha->interrupts_on = 1; + /* enable risc and host interrupts */ + WRT_REG_WORD(®->ictrl, (ISP_EN_INT+ ISP_EN_RISC)); + CACHE_FLUSH(®->ictrl); + spin_unlock_irqrestore(&ha->hardware_lock, flags); +} + +static inline void +qla2x00_disable_intrs(scsi_qla_host_t *ha) +{ + unsigned long flags = 0; + device_reg_t *reg; + + spin_lock_irqsave(&ha->hardware_lock, flags); + reg = ha->iobase; + ha->interrupts_on = 0; + /* disable risc and host interrupts */ + WRT_REG_WORD(®->ictrl, 0); + CACHE_FLUSH(®->ictrl); + spin_unlock_irqrestore(&ha->hardware_lock, flags); +} + +/* + * Copy out of kernel space + */ +int +os_copyout(void *src,void *dst,size_t len,int mode) +{ + copy_to_user(dst,src,len); + return(0); +} + +/* + * Copy into kernel space + */ +int +os_copyin(void *src,void *dst, size_t len,int mode) +{ + copy_from_user(dst,src,len); + return(0); +} + +STATIC inline void +qla2x00_delete_from_done_queue(scsi_qla_host_t *dest_ha, srb_t *sp) +{ + /* remove command from done list */ + list_del_init(&sp->list); + dest_ha->done_q_cnt--; + sp->state = SRB_NO_QUEUE_STATE; + + if (sp->flags & SRB_DMA_VALID) { + sp->flags &= ~SRB_DMA_VALID; + + /* Release memory used for this I/O */ + if (sp->cmd->use_sg) { + pci_unmap_sg(dest_ha->pdev, + sp->cmd->request_buffer, + sp->cmd->use_sg, + scsi_to_pci_dma_dir( + sp->cmd->sc_data_direction)); + } else if (sp->cmd->request_bufflen) { + pci_unmap_single(dest_ha->pdev, + sp->saved_dma_handle, + sp->cmd->request_bufflen, + scsi_to_pci_dma_dir( + sp->cmd->sc_data_direction)); + } + } +} + +/************************************************************************** +* qla2x00_done +* Process completed commands. +* +* Input: +* old_ha = adapter block pointer. +* +* Returns: +* int +**************************************************************************/ +STATIC int +qla2x00_done(scsi_qla_host_t *old_ha) +{ + srb_t *sp; + os_lun_t *lq; + Scsi_Cmnd *cmd; + unsigned long flags = 0; + scsi_qla_host_t *ha; + scsi_qla_host_t *vis_ha; + int cnt; + int send_marker_once = 0; + srb_t *done_queue_first = NULL; + srb_t *done_queue_last = NULL; + + ENTER("qla2x00_done"); + + cnt = 0; + + /* + * Get into local queue such that we do not wind up calling + * done queue takslet for the same IOs from DPC or any other + * place. + */ + spin_lock_irqsave(&old_ha->list_lock,flags); + while (!list_empty(&old_ha->done_queue)) { + sp = list_entry(old_ha->done_queue.next, srb_t, list); + /* remove command from done list */ + list_del_init(&sp->list); + + old_ha->done_q_cnt--; + sp->s_next = NULL; + sp->state = SRB_NO_QUEUE_STATE; + /* insert in local queue */ + if (done_queue_first == NULL) { + done_queue_first = sp; + done_queue_last = sp; + } else { + done_queue_last->s_next = sp; + done_queue_last = sp; + } + } /* end of while list_empty(&ha->done_queue) */ + spin_unlock_irqrestore(&old_ha->list_lock, flags); + + /* + * All done commands are in local queue. Now do the call back + */ + while ((sp = done_queue_first) != NULL) { + done_queue_first = sp->s_next; + if (sp->s_next == NULL) + done_queue_last = NULL; + sp->s_next = NULL; + + cnt++; + + cmd = sp->cmd; + if (cmd == NULL) { + panic("qla2x00_done: SP %p already freed - %s %d.\n", + sp, __FILE__,__LINE__); + } + + vis_ha = (scsi_qla_host_t *)cmd->host->hostdata; + lq = sp->lun_queue; + ha = lq->fclun->fcport->ha; + + if (sp->flags & SRB_DMA_VALID) { + sp->flags &= ~SRB_DMA_VALID; + + /* 4.10 64 and 32 bit */ + /* Release memory used for this I/O */ + if (cmd->use_sg) { + pci_unmap_sg(ha->pdev, + cmd->request_buffer, + cmd->use_sg, + scsi_to_pci_dma_dir( + cmd->sc_data_direction)); + } else if (cmd->request_bufflen) { + pci_unmap_single(ha->pdev, + sp->saved_dma_handle, + cmd->request_bufflen, + scsi_to_pci_dma_dir( + cmd->sc_data_direction)); + } + } + +#if MPIO_SUPPORT + if (!(sp->flags & SRB_IOCTL) && + ha->flags.failover_enabled) { + /* + * This routine checks for DID_NO_CONNECT + * to decide whether to failover to another + * path or not. We only failover on that + * status. + */ + if (qla2x00_fo_check(ha,sp)) { + if ((sp->state != SRB_FAILOVER_STATE)) { + /* + * Retry the command on this + * path several times before + * selecting a new path. + */ + add_to_pending_queue_head(vis_ha, sp); + qla2x00_next(vis_ha); + } + else { + /* we failover this path */ + qla2x00_extend_timeout(sp->cmd, + EXTEND_CMD_TIMEOUT); + } + continue; + } + + } +#endif + + switch ((CMD_RESULT(cmd)>>16)) { + case DID_RESET: + /* + * set marker needed, so we don't have to + * send multiple markers + */ + + /* ra 01/10/02 */ + if (!send_marker_once) { + ha->marker_needed = 1; + send_marker_once++; + } + + break; + + case DID_ABORT: + sp->flags &= ~SRB_ABORT_PENDING; + sp->flags |= SRB_ABORTED; + + if (sp->flags & SRB_TIMEOUT) + CMD_RESULT(cmd)= DID_TIME_OUT << 16; + + break; + + default: + break; + } + + /* Call the mid-level driver interrupt handler -- via sp_put() */ + sp_put(ha, sp); + + qla2x00_next(vis_ha); + + } /* end of while */ + + LEAVE("qla2x00_done"); + + return (cnt); +} + +/* + * qla2x00_suspend_lun + * Suspend lun and start port down timer + * + * Input: + * ha = visable adapter block pointer. + * lq = lun queue + * cp = Scsi command pointer + * time = time in seconds + * count = number of times to let time expire + * + * Return: + * QL_STATUS_SUCCESS -- suspended lun + * QL_STATUS_ERROR -- Didn't suspend lun + * + * Context: + * Interrupt context. + */ +STATIC uint8_t +qla2x00_suspend_lun(scsi_qla_host_t *ha, os_lun_t *lq, int time, int count) +{ + srb_t *sp; + struct list_head *list, *temp; + unsigned long flags; + uint8_t status; + + /* if the lun_q is already suspended then don't do it again */ + if (lq->q_state == LUN_STATE_READY || + lq->q_state == LUN_STATE_RUN ) { + + DEBUG(printk(KERN_INFO + "scsi%ld: Suspend lun for %d secs, " + "count=%d, max count=%d, state=%d\n", + ha->host_no, + time, + lq->q_count, + lq->q_max, + lq->q_state);) + + spin_lock_irqsave(&lq->q_lock, flags); + if (lq->q_state == LUN_STATE_READY) { + lq->q_max = count; + lq->q_count = 0; + } + /* Set the suspend time usually 6 secs */ + atomic_set(&lq->q_timer, time); + + /* now suspend the lun */ + lq->q_state = LUN_STATE_WAIT; + spin_unlock_irqrestore(&lq->q_lock, flags); + + /* + * Remove all pending commands from request queue + * and put them in the scsi_retry queue. + */ + spin_lock_irqsave(&ha->list_lock, flags); + list_for_each_safe(list, temp, &ha->pending_queue) { + sp = list_entry(list, srb_t, list); + if (sp->lun_queue != lq) + continue; + + __del_from_pending_queue(ha, sp); + + if( sp->cmd->allowed < count) + sp->cmd->allowed = count; + __add_to_scsi_retry_queue(ha,sp); + + } /* list_for_each_safe */ + spin_unlock_irqrestore(&ha->list_lock, flags); + status = QL_STATUS_SUCCESS; + } else + status = QL_STATUS_ERROR; + return( status ); + +} + +#if MPIO_SUPPORT +/* + * qla2x00_flush_failover_queue + * Return cmds of a "specific" LUN from the failover queue with + * DID_BUS_BUSY status. + * + * Input: + * ha = adapter block pointer. + * q = lun queue. + * + * Context: + * Interrupt context. + */ +void +qla2x00_flush_failover_q(scsi_qla_host_t *ha, os_lun_t *q) +{ + srb_t *sp; + struct list_head *list, *temp; + unsigned long flags; + + spin_lock_irqsave(&ha->list_lock, flags); + list_for_each_safe(list, temp, &ha->failover_queue) { + sp = list_entry(list, srb_t, list); + /* + * if request originated from the same lun_q + * then delete it from the failover queue + */ + if( q == sp->lun_queue) { + + /* Remove srb from failover queue. */ + __del_from_failover_queue(ha,sp); + CMD_RESULT(sp->cmd) = DID_BUS_BUSY << 16; + CMD_HANDLE(sp->cmd) = (unsigned char *) NULL; + __add_to_done_queue(ha, sp); + } + } /* list_for_each_safe() */ + spin_unlock_irqrestore(&ha->list_lock, flags); +} +#endif + +/* + * qla2x00_check_sense + * + * Input: + * cp = SCSI command structure + * lq = lun queue + * + * Return: + * QL_STATUS_SUCCESS -- Lun suspended + * QL_STATUS_ERROR -- Lun not suspended + * + * Context: + * Interrupt context. + */ +STATIC uint8_t +qla2x00_check_sense(Scsi_Cmnd *cp, os_lun_t *lq) +{ + scsi_qla_host_t *ha = (scsi_qla_host_t *) cp->host->hostdata; + srb_t *sp; + fc_port_t *fcport; + + ha = ha; + if (((cp->sense_buffer[0] & 0x70) >> 4) != 7) { + return QL_STATUS_ERROR; + } + + sp = (srb_t * )CMD_SP(cp); + sp->flags |= SRB_GOT_SENSE; + + switch (cp->sense_buffer[2] & 0xf) { + case 1: /* recoverable errors */ + CMD_RESULT(cp) = DID_OK << 16; + cp->sense_buffer[0] = 0; + break; + + case 2: /* device not ready */ + /* + * if current suspend count is greater than max + * suspend count then no more suspends. + */ + fcport = lq->fclun->fcport; + /* + * Suspend the lun only for Hard disk device type. + */ + if (!(fcport->flags & FC_TAPE_DEVICE) && + lq->q_state != LUN_STATE_TIMEOUT) { + +#ifdef COMPAQ + /* COMPAQ*/ + if ((lq->q_flag & LUN_SCSI_SCAN_DONE)) { + DEBUG(printk( + "scsi%ld: check_sense: " + "lun%d, suspend count=" + "%d, max count=%d\n", + ha->host_no, + (int)SCSI_LUN_32(cp), + lq->q_count, + lq->q_max);) + + /* + * HSG80 can take + * awhile to become + * ready. + */ + if (cp->allowed != HSG80_SUSPEND_COUNT) + cp->allowed = HSG80_SUSPEND_COUNT; + qla2x00_suspend_lun(ha, + lq, 6, + HSG80_SUSPEND_COUNT); + + return (QL_STATUS_SUCCESS); + } +#else + /* non-COMPAQ*/ + /* + * if target is "in process of being + * ready then suspend lun for 6 secs and + * retry all the commands. + */ + if ((cp->sense_buffer[12] == 0x4 && + cp->sense_buffer[13] == 0x1)) { + + /* Suspend the lun for 6 secs */ + qla2x00_suspend_lun(ha, + lq, 6, + SUSPEND_COUNT); + + return (QL_STATUS_SUCCESS); + } +#endif /* COMPAQ */ + + } /* EO if (lq->q_state != LUN_STATE_TIMEOUT )*/ + + break; + } /* end of switch */ + + return (QL_STATUS_ERROR); +} + +/************************************************************************** +* qla2x00_timer +* +* Description: +* One second timer +* +* Context: Interrupt +***************************************************************************/ +STATIC void +qla2x00_timer(scsi_qla_host_t *ha) +{ + int t,l; + unsigned long cpu_flags = 0; + fc_port_t *fcport; + os_lun_t *lq; + os_tgt_t *tq; + int start_dpc = 0; + + /* + * We try and restart any request in the retry queue + * every second. + */ + if (!list_empty(&ha->retry_queue)) { + set_bit(PORT_RESTART_NEEDED, &ha->dpc_flags); + start_dpc++; + } + + /* + * We try and restart any request in the scsi_retry queue + * every second. + */ + if (!list_empty(&ha->scsi_retry_queue)) { + set_bit(SCSI_RESTART_NEEDED, &ha->dpc_flags); + start_dpc++; + } + +#if MPIO_SUPPORT + /* + * We try and failover any request in the failover queue + * every second. + */ + if (!list_empty(&ha->failover_queue)) { + set_bit(FAILOVER_NEEDED, &ha->dpc_flags); + start_dpc++; + } +#endif + + /* + * Ports - Port down timer. + * + * Whenever, a port is in the LOST state we start decrementing + * its port down timer every second until it reaches zero. Once + * it reaches zero the port it marked DEAD. + */ + for (t=0, fcport = ha->fcport; + fcport != NULL; + fcport = fcport->next, t++) { + + if (atomic_read(&fcport->state) == FC_DEVICE_LOST) { + + if (atomic_read(&fcport->port_down_timer) == 0) + continue; + + if (atomic_dec_and_test(&fcport->port_down_timer) != 0) + atomic_set(&fcport->state, FC_DEVICE_DEAD); + + DEBUG(printk("scsi%ld: fcport-%d - port retry count " + ":%d remainning\n", + ha->host_no, + t, + atomic_read(&fcport->port_down_timer));) + } + } /* End of for fcport */ + + /* + * LUNS - lun suspend timer. + * + * Whenever, a lun is suspended the timer starts decrementing + * its suspend timer every second until it reaches zero. Once + * it reaches zero the lun retry count is decremented. + */ + + /* + * FIXME(dg) - Need to convert this linear search of luns + * into a search of a list of suspended luns. + */ + for (t = 0; t < ha->max_targets; t++) { + if ((tq = ha->otgt[t]) == NULL) + continue; + + for (l = 0; l < ha->max_luns; l++) { + if ((lq = (os_lun_t *) tq->olun[l]) == NULL) + continue; + + spin_lock_irqsave(&lq->q_lock, cpu_flags); + if( lq->q_state == LUN_STATE_WAIT && + atomic_read(&lq->q_timer) != 0 ) { + + if (atomic_dec_and_test(&lq->q_timer) != 0) { + lq->q_count++; + if (lq->q_count == lq->q_max) + lq->q_state = LUN_STATE_TIMEOUT; + else + lq->q_state = LUN_STATE_RUN; + } + DEBUG3(printk("scsi%ld: lun%d - timer %d, " + "count=%d, max=%d, state=%d\n", + ha->host_no, + l, + atomic_read(&lq->q_timer), + lq->q_count, + lq->q_max, + lq->q_state);) + } + spin_unlock_irqrestore(&lq->q_lock, cpu_flags); + } /* End of for luns */ + } /* End of for targets */ + + /* Loop down handler. */ + if (atomic_read(&ha->loop_down_timer) > 0 && + !(test_bit(ABORT_ISP_ACTIVE, &ha->dpc_flags)) && + ha->flags.online) { + + if (atomic_read(&ha->loop_down_timer) == LOOP_DOWN_TIME) { + DEBUG(printk("qla%ld: Loop Down - aborting the queues " + "before time expire\n", + ha->instance);) + + set_bit(ABORT_QUEUES_NEEDED, &ha->dpc_flags); + start_dpc++; + } + + /* if the loop has been down for 4 minutes, reinit adapter */ + if (atomic_dec_and_test(&ha->loop_down_timer) != 0) { + DEBUG(printk("qla%ld: Loop down exceed 4 mins - " + "restarting queues and abort ISP.\n", + ha->instance);) + + set_bit(RESTART_QUEUES_NEEDED, &ha->dpc_flags); + start_dpc++; + if (qla2x00_reinit && !ha->flags.failover_enabled) { + set_bit(ISP_ABORT_NEEDED, &ha->dpc_flags); + } + } + DEBUG3(printk("qla%ld: Loop Down - seconds remainning %d\n", + ha->instance, + atomic_read(&ha->loop_down_timer));) + } + + /* + * Done Q Handler -- dgFIXME This handler will kick off doneq if + * we haven't process it in 2 seconds. + */ + if (!list_empty(&ha->done_queue)) { +#if QLA2X_PERFORMANCE + tasklet_schedule(&ha->run_qla_task); +#else + start_dpc++; + /* qla2x00_done(ha); */ +#endif + } + +#if QLA2100_LIPTEST + /* This block is used to periodically schedule isp abort after + * qla2x00_lip flag is set. + */ + + /* + if (qla2x00_lip && (ha->forceLip++) == (60*2)) { + printk("timer: schedule isp abort.\n"); + set_bit(ISP_ABORT_NEEDED, &ha->dpc_flags); + ha->forceLip = 0; + } + */ + + /* This block is used to periodically schedule mailbox cmd timeout + * simulation + */ + if (qla2x00_lip && (ha->forceLip++) == (60*6)) { + printk("qla2x00_timer: Going to force mbx timeout\n"); + + ha->forceLip = 0; + mbxtimeout = 1; + } +#endif + +#ifdef EH_WAKEUP_WORKAROUND + if (ha->host->in_recovery && +#ifdef EH_WAKEUP_WORKAROUND_REDHAT + (atomic_read(&(ha->host->host_busy)) == + ha->host->host_failed) && +#else + (ha->host->host_busy == ha->host->host_failed) && +#endif + !ha->host->eh_active) { + + if ((ha->eh_start++) == 60) { + if (ha->host->eh_wait) + up(ha->host->eh_wait); + ha->eh_start=0; + printk("qla%ld: !!! Waking up error handler " + "for scsi layer\n", + ha->host_no); + } + } +#endif /* EH_WAKEUP_WORKAROUND */ + +#if MPIO_SUPPORT + if (test_bit(FAILOVER_EVENT_NEEDED, &ha->dpc_flags)) { + if (ha->failback_delay) { + ha->failback_delay--; + if (ha->failback_delay == 0) { + set_bit(FAILOVER_EVENT, &ha->dpc_flags); + clear_bit(FAILOVER_EVENT_NEEDED, + &ha->dpc_flags); + } + } else { + set_bit(FAILOVER_EVENT, &ha->dpc_flags); + clear_bit(FAILOVER_EVENT_NEEDED, &ha->dpc_flags); + } + } +#endif + + /* Schedule the DPC routine if needed */ + if ((test_bit(ISP_ABORT_NEEDED, &ha->dpc_flags) || + test_bit(LOOP_RESYNC_NEEDED, &ha->dpc_flags) || + start_dpc || + test_bit(LOGIN_RETRY_NEEDED, &ha->dpc_flags) || +#if MPIO_SUPPORT + test_bit(FAILOVER_EVENT, &ha->dpc_flags) || + test_bit(FAILOVER_NEEDED, &ha->dpc_flags) || +#endif + test_bit(MAILBOX_CMD_NEEDED, &ha->dpc_flags)) && + ha->dpc_wait && !ha->dpc_active ) { /* v2.19.4 */ + + up(ha->dpc_wait); + } + + RESTART_TIMER(qla2x00_timer,ha,WATCH_INTERVAL); +} + + +#if NO_LONG_DELAYS +/* + * This would normally need to get the IO request lock, + * but as it doesn't actually touch anything that needs + * to be locked we can avoid the lock here.. + */ +STATIC void +qla2x00_sleep_done (struct semaphore * sem) +{ + if (sem != NULL) + { + up(sem); + } +} +#endif + +/* +* qla2x00_callback +* Returns the completed SCSI command to LINUX. +* +* Input: +* ha -- Host adapter structure +* cmd -- SCSI mid-level command structure. +* Returns: +* None +* Note:From failover point of view we always get the sp +* from vis_ha pool in queuecommand.So when we put it +* back to the pool it has to be the vis_ha. +* So rely on Scsi_Cmnd to get the vis_ha and not on sp. +*/ +static inline void +qla2x00_callback(scsi_qla_host_t *ha, Scsi_Cmnd *cmd) +{ + srb_t *sp = (srb_t *) CMD_SP(cmd); + scsi_qla_host_t *vis_ha; + os_lun_t *lq; + int got_sense; + unsigned long cpu_flags = 0; + + ENTER("qla2x00_callback"); + + CMD_HANDLE(cmd) = (unsigned char *) NULL; + vis_ha = (scsi_qla_host_t *) cmd->host->hostdata; + + if (sp == NULL ) { + BUG(); + } + + /* + * if command status is not DID_BUS_BUSY then go ahead + * and freed sp. + */ + /* + * Cancel command timeout + */ + qla2x00_delete_timer_from_cmd(sp); + + /* + * Put SP back in the free queue + */ + sp->cmd = NULL; + lq = sp->lun_queue; + got_sense = (sp->flags & SRB_GOT_SENSE)? 1: 0; + add_to_free_queue (vis_ha, sp); + + if ((CMD_RESULT(cmd)>>16) == DID_OK) { + /* device ok */ + ha->total_bytes += cmd->bufflen; + if (!got_sense) { + /* COMPAQ*/ +#ifdef COMPAQ + /* + * When we detect the first good Read capability + * scsi command we assume the SCSI layer finish + * the scan. + */ + if (cmd->cmnd[0] == 0x25 && + !(lq->q_flag & LUN_SCSI_SCAN_DONE)) { + /* mark lun with finish scan */ + lq->q_flag |= LUN_SCSI_SCAN_DONE; + } +#endif /* COMPAQ */ + /* + * if lun was suspended then clear retry count. + */ + spin_lock_irqsave(&lq->q_lock, cpu_flags); + if (lq->q_count < lq->q_max && + lq->q_state != LUN_STATE_READY ) { + + lq->q_state = LUN_STATE_READY; + } + spin_unlock_irqrestore(&lq->q_lock, cpu_flags); + } + } else if ((CMD_RESULT(cmd)>>16) == DID_ERROR) { + /* device error */ + ha->total_dev_errs++; + } + + if (cmd->flags & IS_RESETTING) { + CMD_RESULT(cmd) = (int)DID_RESET << 16; + } + + /* Zero out the SP pointer in the + * scsi command before calling the + * mid level interrupt handler ie scsi_done() + */ + CMD_SP(cmd) = NULL; + + /* Call the mid-level driver interrupt handler */ + (*(cmd)->scsi_done)(cmd); +} + +/* +* qla2x00_mem_alloc +* Allocates adapter memory. +* +* Returns: +* 0 = success. +* 1 = failure. +*/ +static uint8_t +qla2x00_mem_alloc(scsi_qla_host_t *ha) +{ + uint8_t status = 1; + uint8_t i; + int retry= 10; + mbx_cmdq_t *ptmp; + mbx_cmdq_t *tmp_q_head; + mbx_cmdq_t *tmp_q_tail; + + ENTER("qla2x00_mem_alloc"); + + do { + /* + * This will loop only once if everything goes well, else + * some number of retries will be performed to get around + * a kernel bug where available mem is not allocated until + * after a little delay and a retry. + */ + +#ifdef FC_IP_SUPPORT + /* not ported yet to new pci_alloc_consistent */ + ha->pIpBufferQueue = &ha->asIpBuffers[0]; + ha->ppIpBufferQueueLow = VIRT_TO_BUS_LOW(&ha->asIpBuffers[0]); + ha->ppIpBufferQueueHigh = VIRT_TO_BUS_HIGH(&ha->asIpBuffers[0]); +#endif + + ha->request_ring = pci_alloc_consistent(ha->pdev, + ((REQUEST_ENTRY_CNT + 1) * + (sizeof(request_t))), + &ha->request_dma); + if (ha->request_ring == NULL) { + /* error */ + printk(KERN_WARNING + "scsi(%d): Memory Allocation failed - " + "request_ring\n", + (int)ha->host_no); + set_current_state(TASK_INTERRUPTIBLE); + schedule_timeout(HZ/10); + continue; + } + + ha->response_ring = pci_alloc_consistent(ha->pdev, + ((RESPONSE_ENTRY_CNT + 1) * + (sizeof(response_t))), + &ha->response_dma); + if (ha->response_ring == NULL) { + /* error */ + printk(KERN_WARNING + "scsi(%d): Memory Allocation failed - " + "response_ring\n", + (int)ha->host_no); + qla2x00_mem_free(ha); + set_current_state(TASK_INTERRUPTIBLE); + schedule_timeout(HZ/10); + continue; + } + + /* get consistent memory allocated for init control block */ + ha->init_cb = pci_alloc_consistent(ha->pdev, + sizeof(init_cb_t), + &ha->init_cb_dma); + if (ha->init_cb == NULL) { + /* error */ + printk(KERN_WARNING + "scsi(%d): Memory Allocation failed - " + "init_cb\n", + (int)ha->host_no); + qla2x00_mem_free(ha); + set_current_state(TASK_INTERRUPTIBLE); + schedule_timeout(HZ/10); + continue; + } + memset(ha->init_cb, 0, sizeof(init_cb_t)); + + /* Allocate host database */ + ha->phost_db = (hostdev_t *)KMEM_ZALLOC( + sizeof(hostdev_t) * MAX_HOST_COUNT, 19); + if (ha->phost_db == NULL) { + /* error */ + printk(KERN_WARNING + "scsi(%d): Memory Allocation failed - " + "host_db\n", + (int)ha->host_no); + qla2x00_mem_free(ha); + set_current_state(TASK_INTERRUPTIBLE); + schedule_timeout(HZ/10); + continue; + } + + DEBUG(printk("Alloc Host DB success. Max Cnt=%d.\n", + MAX_HOST_COUNT);) + + /* Allocate ioctl related memory. */ + if (qla2x00_alloc_ioctl_mem(ha)) { + /* error */ + printk(KERN_WARNING + "scsi(%d): Memory Allocation failed - " + "ioctl_mem\n", + (int)ha->host_no); + qla2x00_mem_free(ha); + set_current_state(TASK_INTERRUPTIBLE); + schedule_timeout(HZ/10); + continue; + } + + if (qla2x00_allocate_sp_pool(ha)) { + /* error */ + printk(KERN_WARNING + "scsi(%d): Memory Allocation failed - " + "qla2x00_allocate_sp_pool\n", + (int)ha->host_no); + qla2x00_mem_free(ha); + set_current_state(TASK_INTERRUPTIBLE); + schedule_timeout(HZ/10); + continue; + } + + /* + * Allocate an initial list of mailbox semaphore queue + * to be used for serialization of the mailbox commands. + */ + tmp_q_head = (void *)KMEM_ZALLOC(sizeof(mbx_cmdq_t), 20); + if (tmp_q_head == NULL) { + /* error */ + printk(KERN_WARNING + "scsi(%d): Memory Allocation failed - " + "mbx_cmd_q", + (int)ha->host_no); + qla2x00_mem_free(ha); + set_current_state(TASK_INTERRUPTIBLE); + schedule_timeout(HZ/10); + continue; + } + ha->mbx_sem_pool_head = tmp_q_head; + tmp_q_tail = tmp_q_head; + /* Now try to allocate more */ + for (i = 1; i < MBQ_INIT_LEN; i++) { + ptmp = (void *)KMEM_ZALLOC(sizeof(mbx_cmdq_t), 20 + i); + if (ptmp == NULL) { + /* + * Error. Just exit. If more is needed later + * they will be allocated at that time. + */ + break; + } + tmp_q_tail->pnext = ptmp; + tmp_q_tail = ptmp; + } + ha->mbx_sem_pool_tail = tmp_q_tail; + + /* Done all allocations without any error. */ + status = 0; + + } while (retry-- && status != 0); + + if (status) { + printk(KERN_WARNING + "qla2x00_mem_alloc: **** FAILED ****\n"); + } + + DEBUG3(printk("qla2x00_mem_alloc: exiting.\n");) + + return(status); +} + +/* +* qla2x00_mem_free +* Frees all adapter allocated memory. +* +* Input: +* ha = adapter block pointer. +*/ +STATIC void +qla2x00_mem_free(scsi_qla_host_t *ha) +{ + uint32_t t; + fc_lun_t *fclun, *fclun_next; + fc_port_t *fcport, *fcport_next; + mbx_cmdq_t *ptmp; + mbx_cmdq_t *tmp_q_head; + unsigned long wtime;/* max wait time if mbx cmd is busy. */ + + ENTER("qla2x00_mem_free"); + + if (ha == NULL) { + /* error */ + DEBUG2(printk("qla2x00_mem_free: ERROR " + "invalid ha pointer.\n");) + return; + } + + /* Free the target queues */ + for (t = 0; t < MAX_TARGETS; t++) { + qla2x00_tgt_free(ha, t); + } + + /* Make sure all other threads are stopped. */ + wtime = 60 * HZ; + while ((ha->dpc_wait != NULL || + ha->mbx_q_head != NULL) && + wtime) { + + set_current_state(TASK_INTERRUPTIBLE); + wtime = schedule_timeout(wtime); + } + + /* Now free the mbx sem pool */ + tmp_q_head = ha->mbx_sem_pool_head; + while (tmp_q_head != NULL) { + ptmp = tmp_q_head->pnext; + KMEM_FREE(tmp_q_head, sizeof(mbx_cmdq_t)); + tmp_q_head = ptmp; + } + ha->mbx_sem_pool_head = NULL; + + /* free ioctl memory */ + qla2x00_free_ioctl_mem(ha); + + /* Free host database. */ + if (ha->phost_db != NULL) { + KMFREE(ha->phost_db, sizeof(hostdev_t) * MAX_HOST_COUNT); + ha->phost_db = NULL; + } + + /* free sp pool */ + qla2x00_free_sp_pool(ha); + + /* 4.10 */ + /* free memory allocated for init_cb */ + if (ha->init_cb) { + pci_free_consistent(ha->pdev, + sizeof(init_cb_t), + ha->init_cb, + ha->init_cb_dma); + } + + if (ha->request_ring) { + pci_free_consistent(ha->pdev, + ((REQUEST_ENTRY_CNT + 1) * + (sizeof(request_t))), + ha->request_ring, + ha->request_dma); + } + + if (ha->response_ring) { + pci_free_consistent(ha->pdev, + ((RESPONSE_ENTRY_CNT + 1) * + (sizeof(response_t))), + ha->response_ring, + ha->response_dma); + } + + ha->init_cb = NULL; + ha->request_ring = NULL; + ha->request_dma = 0; + ha->response_ring = NULL; + ha->response_dma = 0; + + /* fc ports */ + for (fcport = ha->fcport; + fcport != NULL; + fcport = fcport_next) { + + fcport_next = fcport->next; + + /* fc luns */ + for (fclun = fcport->fclun; + fclun != NULL; + fclun = fclun_next) { + + fclun_next = fclun->next; + KMFREE(fclun, sizeof(fc_lun_t)); + } + KMFREE(fcport, sizeof(fc_port_t)); + } + + LEAVE("qla2x00_mem_free"); +} + +#if 0 +/* +* qla2x00_abort_pending_queue +* Abort all commands on the pending queue. +* +* Input: +* ha = adapter block pointer. +*/ +STATIC void +qla2x00_abort_pending_queue(scsi_qla_host_t *ha, uint32_t stat) +{ + unsigned long flags; + struct list_head *list, *temp; + + ENTER("qla2x00_abort_pending_queue"); + + DEBUG5(printk("Abort pending queue ha(%d)\n", ha->host_no);) + + /* abort all commands on LUN queue. */ + spin_lock_irqsave(&ha->list_lock, flags); + list_for_each_safe(list, temp, &ha->pending_queue) { + srb_t *sp; + + sp = list_entry(list, srb_t, list); + __del_from_pending_queue(ha, sp); + CMD_RESULT(sp->cmd) = stat << 16; + __add_to_done_queue(ha, sp); + } /* list_for_each_safe */ + spin_unlock_irqrestore(&ha->list_lock, flags); + + LEAVE("qla2x00_abort_pending_queue"); +} +#endif + + +/****************************************************************************/ +/* QLogic ISP2x00 Hardware Support Functions. */ +/****************************************************************************/ + +/* +* qla2x00_initialize_adapter +* Initialize board. +* +* Input: +* ha = adapter block pointer. +* +* Returns: +* 0 = success +*/ +uint8_t +qla2x00_initialize_adapter(scsi_qla_host_t *ha) +{ + device_reg_t *reg; + uint8_t status; + uint8_t isp_init = 0; + uint8_t restart_risc = 0; + uint8_t retry; + unsigned long wait_device = 0; + + ENTER("qla2x00_initialize_adapter"); + + /* Clear adapter flags. */ + ha->forceLip = 0; + ha->flags.online = FALSE; + ha->flags.disable_host_adapter = FALSE; + ha->flags.reset_active = FALSE; + ha->flags.watchdog_enabled = FALSE; + atomic_set(&ha->loop_down_timer, LOOP_DOWN_TIME); + ha->loop_state = LOOP_DOWN; + ha->device_flags = 0; + ha->sns_retry_cnt = 0; + ha->device_flags = 0; + ha->dpc_flags = 0; + ha->sns_retry_cnt = 0; + ha->failback_delay = 0; + ha->iocb_cnt = 0; + ha->iocb_overflow_cnt = 0; + /* 4.11 */ + ha->flags.management_server_logged_in = 0; + /* ra 11/27/01 */ + ha->marker_needed = 0; + ha->mbx_flags = 0; + + DEBUG(printk("Configure PCI space for adapter...\n")); + + if (!(status = qla2x00_pci_config(ha))) { + reg = ha->iobase; + + qla2x00_reset_chip(ha); + + /* Initialize Fibre Channel database. */ + qla2x00_init_fc_db(ha); + + /* Initialize target map database. */ + qla2x00_init_tgt_map(ha); + + /* Get Flash Version */ + qla2x00_get_flash_version(ha); + + if (qla2x00_verbose) + printk("scsi(%d): Configure NVRAM parameters...\n", + (int)ha->host_no); + + qla2x00_nvram_config(ha); + ha->retry_count = ql2xretrycount; +#if USE_PORTNAME + ha->flags.port_name_used =1; +#else + ha->flags.port_name_used =0; +#endif + + if (qla2x00_verbose) + printk("scsi(%d): Verifying loaded RISC code...\n", + (int)ha->host_no); + + qla2x00_set_cache_line(ha); + + /* If the user specified a device configuration on + * the command line then use it as the configuration. + * Otherwise, we scan for all devices. + */ + if (ql2xdevconf) { + ha->cmdline = ql2xdevconf; + if (!ha->flags.failover_enabled) + qla2x00_get_properties(ha, ql2xdevconf); + } + + retry = 10; + /* + * Try an configure the loop. + */ + do { + restart_risc = 0; + isp_init = 0; + DEBUG(printk("qla2x00_initialize_adapter: check if " + "firmware needs to be loaded\n");) + + /* If firmware needs to be loaded */ + if (qla2x00_isp_firmware(ha)) { + if (qla2x00_verbose) + printk("scsi(%d): Verifying chip...\n", + (int)ha->host_no); + + if (!(status = qla2x00_chip_diag(ha))) + status = qla2x00_setup_chip(ha); + + if (!status) { + DEBUG(printk("scsi(%d): Chip verified " + "and RISC loaded...\n", + (int)ha->host_no)); + } + } + if (!status && !(status = qla2x00_init_rings(ha))) { + /* dg - 7/3/1999 + * + * Wait for a successful LIP up to a maximum + * of (in seconds): RISC login timeout value, + * RISC retry count value, and port down retry + * value OR a minimum of 4 seconds OR If no + * cable, only 5 seconds. + */ + DEBUG(printk("qla2x00_init_rings OK, call " + "qla2x00_fw_ready...\n");) + + if (!qla2x00_fw_ready(ha)) { + clear_bit(RESET_MARKER_NEEDED, + &ha->dpc_flags); + clear_bit(COMMAND_WAIT_NEEDED, + &ha->dpc_flags); + + /* + * Go setup flash database devices + * with proper Loop ID's. + */ + do { + clear_bit(LOOP_RESYNC_NEEDED, + &ha->dpc_flags); + status = qla2x00_configure_loop(ha); + + /* + * Temp code: delay a while for certain + * slower devices to become ready. + */ + for ((wait_device = jiffies + HZ); + !time_after_eq(jiffies,wait_device);) { + qla2x00_check_fabric_devices(ha); + + set_current_state(TASK_INTERRUPTIBLE); + schedule_timeout(5); + } + + } while (!atomic_read(&ha->loop_down_timer) && + !(test_bit(ISP_ABORT_NEEDED, &ha->dpc_flags)) && + (test_bit(LOOP_RESYNC_NEEDED, &ha->dpc_flags)) ); + } + + if (ha->flags.update_config_needed) { + ha->init_cb->additional_firmware_options. + connection_options = ha->operating_mode; + restart_risc = 1; + } + + if (ha->mem_err) { + restart_risc = 1; + } + isp_init = 1; + + } + } while (restart_risc && retry--); + + if (isp_init) { + clear_bit(RESET_MARKER_NEEDED, &ha->dpc_flags); + ha->marker_needed = 1; + qla2x00_marker(ha, 0, 0, MK_SYNC_ALL); + ha->marker_needed = 0; + + ha->flags.online = TRUE; + + /* Enable target response to SCSI bus. */ + if (ha->flags.enable_target_mode) + qla2x00_enable_lun(ha); + } + + } + +#if defined(QL_DEBUG_LEVEL_2) || defined(QL_DEBUG_LEVEL_3) + if (status) + printk("qla2100_initialize_adapter: **** FAILED ****\n"); +#endif + + LEAVE("qla2x00_initialize_adapter"); + + return (status); +} + +/* +* ISP Firmware Test +* Checks if present version of RISC firmware is older than +* driver firmware. +* +* Input: +* ha = adapter block pointer. +* +* Returns: +* 0 = firmware does not need to be loaded. +*/ +STATIC uint8_t +qla2x00_isp_firmware(scsi_qla_host_t *ha) +{ + uint8_t status = 1; /* assume loading risc code */ + + ENTER("qla2x00_isp_firmware"); + + if (ha->flags.disable_risc_code_load) { + /* Verify checksum of loaded RISC code. */ + status = qla2x00_verify_checksum(ha); + } + +#if defined(QL_DEBUG_LEVEL_2) || defined(QL_DEBUG_LEVEL_3) + if (status) + printk( "qla2x00_isp_firmware: **** Load RISC code ****\n"); +#endif + + LEAVE("qla2x00_isp_firmware"); + + return(status); +} + +/* +* (08/05/99) +* +* PCI configuration +* Setup device PCI configuration registers. +* +* Input: +* ha = adapter block pointer. +* +* Returns: +* 0 = success. +*/ +STATIC uint8_t +qla2x00_pci_config(scsi_qla_host_t *ha) +{ + uint8_t status = 1; + uint32_t command; +#if MEMORY_MAPPED_IO + uint32_t page_offset, base; + uint32_t mmapbase; +#endif + + config_reg_t *creg = 0; + uint16_t buf_wd; + + ENTER("qla2x00_pci_config"); + + /* + * Turn on PCI master; for system BIOSes that don't turn + * it on by default. + */ + pci_set_master(ha->pdev); + pci_read_config_word(ha->pdev,OFFSET(creg->revision_id), &buf_wd); + ha->revision = buf_wd; + if (!ha->iobase) { + /* Get command register. */ + if (pci_read_config_word( + ha->pdev,OFFSET(creg->command), + &buf_wd) == PCIBIOS_SUCCESSFUL) { + + command = buf_wd; + + /* + * Set Bus Master Enable (bit-2), Memory Address + * Space Enable and reset any error bits. + */ + buf_wd &= ~0x7; +#if MEMORY_MAPPED_IO + DEBUG(printk("qla2x00: I/O SPACE and MEMORY " + "MAPPED IO is enabled.\n")); + buf_wd |= BIT_2 + BIT_1 + BIT_0; +#else + + DEBUG(printk("qla2x00: I/O SPACE Enabled and " + "MEMORY MAPPED IO is disabled.\n")); + buf_wd |= BIT_2 + BIT_0; +#endif + + if (pci_write_config_word( + ha->pdev, + OFFSET(creg->command), + buf_wd)) { + + printk(KERN_WARNING + "qla2x00: Could not write " + "config word.\n"); + } + + /* Get expansion ROM address. */ + if (pci_read_config_word( + ha->pdev, + OFFSET(creg->expansion_rom), + &buf_wd) == PCIBIOS_SUCCESSFUL) { + + /* Reset expansion ROM address decode enable */ + buf_wd &= ~BIT_0; + if (pci_write_config_word( + ha->pdev, + OFFSET(creg->expansion_rom), + buf_wd) == PCIBIOS_SUCCESSFUL) { +#if MEMORY_MAPPED_IO + /* Get memory mapped I/O address. */ + pcibios_read_config_dword( + ha->pdev->bus->number, + ha->pdev->devfn, + OFFSET(creg->mem_base_addr), + &mmapbase); + mmapbase &= PCI_BASE_ADDRESS_MEM_MASK; + + /* + * Find proper memory chunk for + * memory map I/O reg. + */ + base = mmapbase & PAGE_MASK; + page_offset = mmapbase - base; + /* + * Get virtual address for I/O + * registers. + */ + ha->mmpbase = ioremap(base, + page_offset + 256); + if( ha->mmpbase ) { + ha->mmpbase += page_offset; + ha->iobase = ha->mmpbase; + status = 0; + } +#else /* MEMORY_MAPPED_IO */ + status = 0; +#endif /* MEMORY_MAPPED_IO */ + } + } + } + } else + status = 0; + + + LEAVE("qla2x00_pci_config"); + + return(status); +} + +/* +* qla2x00_set_cache_line +* Sets PCI cache line parameter. +* +* Input: +* ha = adapter block pointer. +* +* Returns: +* 0 = success. +*/ +static uint8_t +qla2x00_set_cache_line(struct scsi_qla_host * ha) +{ + int status = 0; + unsigned char cache_size; + + ENTER("qla2100_set_cache_line"); + + /* Set the cache line. */ + if (!ha->flags.set_cache_line_size_1) { + LEAVE("qla2100_set_cache_line"); + return 0; + } + + /* taken from drivers/net/acenic.c */ + pci_read_config_byte(ha->pdev, PCI_CACHE_LINE_SIZE, &cache_size); + cache_size <<= 2; + if (cache_size != SMP_CACHE_BYTES) { + printk(KERN_INFO + " PCI cache line size set incorrectly " + "(%i bytes) by BIOS/FW, ", + cache_size); + + if (cache_size > SMP_CACHE_BYTES) { + printk("expecting %i\n", SMP_CACHE_BYTES); + } else { + printk("correcting to %i\n", SMP_CACHE_BYTES); + pci_write_config_byte(ha->pdev, + PCI_CACHE_LINE_SIZE, + SMP_CACHE_BYTES >> 2); + } + } + + LEAVE("qla2100_set_cache_line"); + return status; +} + + +/* +* Chip diagnostics +* Test chip for proper operation. +* +* Input: +* ha = adapter block pointer. +* +* Returns: +* 0 = success. +*/ +STATIC uint8_t +qla2x00_chip_diag(scsi_qla_host_t *ha) +{ + device_reg_t *reg = ha->iobase; + unsigned long flags = 0; +#ifdef ISP2300 + config_reg_t *creg = 0; + uint16_t buf_wd; +#endif + + uint16_t data; + uint32_t cnt; + uint8_t status = 0; + + ENTER("qla2x00_chip_diag"); + +#ifdef QL_DEBUG_LEVEL_3 + DEBUG3(printk("qla2100_chip_diag: testing device at %lx.\n", + (u_long)®->flash_address);) +#endif + + spin_lock_irqsave(&ha->hardware_lock, flags); + /* Reset ISP chip. */ + WRT_REG_WORD(®->ctrl_status, ISP_RESET); + data = qla2x00_debounce_register(®->ctrl_status); + for (cnt = 6000000 ; cnt && (data & ISP_RESET); cnt--) { + udelay(5); + data = RD_REG_WORD(®->ctrl_status); + barrier(); + } + + if (cnt) { + DEBUG3(printk("qla2100_chip_diag: reset register cleared " + "by chip reset\n");) + +#ifdef ISP2300 + pci_read_config_word(ha->pdev,OFFSET(creg->command), &buf_wd); + buf_wd |= BIT_1 | BIT_2; + data = RD_REG_WORD(®->mailbox6); + + if ((ha->device_id == QLA2312_DEVICE_ID) || + ((data & 0xff) == FPM_2310)) + /* Enable Memory Write and Invalidate. */ + buf_wd |= BIT_4; + else + buf_wd &= ~BIT_4; + pci_write_config_word(ha->pdev,OFFSET(creg->command), buf_wd); +#endif + /* Reset RISC processor. */ + WRT_REG_WORD(®->host_cmd, HC_RESET_RISC); + WRT_REG_WORD(®->host_cmd, HC_RELEASE_RISC); + /* Workaround for Qla2312 PCI parity error */ + if (ha->device_id == QLA2312_DEVICE_ID) { + udelay(10); + } else { + data = qla2x00_debounce_register(®->mailbox0); + + for (cnt = 6000000; cnt && (data == MBS_BUSY); cnt--) { + udelay(5); + data = RD_REG_WORD(®->mailbox0); + barrier(); + } + } + + if (cnt) { + /* Check product ID of chip */ + DEBUG3(printk("{{{qla2100_chip_diag: Checking " + "product ID of chip}}}\n");) + + if (RD_REG_WORD(®->mailbox1) != PROD_ID_1 || + (RD_REG_WORD(®->mailbox2) != PROD_ID_2 && + RD_REG_WORD(®->mailbox2) != PROD_ID_2a) || + RD_REG_WORD(®->mailbox3) != PROD_ID_3 || + (qla2x00_debounce_register(®->mailbox4) != PROD_ID_4 && + qla2x00_debounce_register(®->mailbox4) != PROD_ID_4a) ) { + printk(KERN_WARNING + "qla2x00: Wrong product ID = " + "0x%x,0x%x,0x%x,0x%x\n", + RD_REG_WORD(®->mailbox1), + RD_REG_WORD(®->mailbox2), + RD_REG_WORD(®->mailbox3), + RD_REG_WORD(®->mailbox4)); + status = 1; + } else { + /* Now determine if we have a 2200A board */ + if ((ha->device_id == QLA2200_DEVICE_ID || + ha->device_id == QLA2200A_DEVICE_ID) && + RD_REG_WORD(®->mailbox7) == QLA2200A_RISC_ROM_VER) { + ha->device_id = QLA2200A_DEVICE_ID; + + DEBUG3(printk("qla2100_chip_diag: " + "Found QLA2200A chip.\n");) + + } + spin_unlock_irqrestore(&ha->hardware_lock, flags); + + DEBUG3(printk("qla2100_chip_diag: Checking " + "mailboxes.\n");) + + /* Wrap Incoming Mailboxes Test. */ + status = qla2x00_mbx_reg_test(ha); + if (status) { + printk(KERN_WARNING + "qla2x00_chip_diag: failed " + "mailbox send register test\n"); + DEBUG(printk("qla2100_chip_diag: " + "Failed mailbox send " + "register test\n");) + } + spin_lock_irqsave(&ha->hardware_lock, flags); + } + } else + status = 1; + } else + status = 1; + +#if defined(QL_DEBUG_LEVEL_2) || defined(QL_DEBUG_LEVEL_3) + if (status) + printk("qla2100_chip_diag: **** FAILED ****\n"); +#endif + + LEAVE("qla2x00_chip_diag"); + + spin_unlock_irqrestore(&ha->hardware_lock, flags); + return(status); +} + +/* +* Setup chip +* Load and start RISC firmware. +* +* Input: +* ha = adapter block pointer. +* +* Returns: +* 0 = success. +*/ +STATIC uint8_t +qla2x00_setup_chip(scsi_qla_host_t *ha) +{ + uint16_t cnt; + uint16_t risc_address; + uint16_t *risc_code_address; + long risc_code_size; + uint8_t status = 0; + int num; +#ifdef WORD_FW_LOAD + uint16_t data; + uint16_t *ql21_risc_code_addr01; + uint16_t ql21_risc_code_length01; + uint8_t dump_status; +#endif + + DEBUG3(printk("qla2x00_setup_chip(%ld): entered.\n", + ha->host_no);) + + /* Load RISC code. */ + risc_address = *QLBoardTbl_fc[ha->devnum].fwstart; + risc_code_address = QLBoardTbl_fc[ha->devnum].fwcode; + risc_code_size = (long)(*QLBoardTbl_fc[ha->devnum].fwlen & 0xffff); + + DEBUG(printk("qla2x00_setup_chip: Loading RISC " + "code size =(0x%lx)\n", + risc_code_size);) + DEBUG(printk(" req virt=%p phys=%lx\n", + ha->request_ring, + (unsigned long)ha->request_dma);) + + /* + * Save active FC4 type depending on firmware support. This + * info is needed by ioctl cmd. + */ + ha->active_fc4_types = EXT_DEF_FC4_TYPE_SCSI; +#ifdef FC_IP_SUPPORT + ha->active_fc4_types |= EXT_DEF_FC4_TYPE_IP; +#endif +#ifdef FC_SCTP_SUPPORT + if (risc_address == fw2300sctp_code01) + ha->active_fc4_types |= EXT_DEF_FC4_TYPE_SCTP; +#endif + + num = 0; + + while (risc_code_size > 0 && !status) { + /* for 2200A set transfer size to 128 bytes */ + if (ha->device_id == QLA2200A_DEVICE_ID) + cnt = 128 >> 1; + else + cnt = REQUEST_ENTRY_SIZE * REQUEST_ENTRY_CNT >> 1; + + if (cnt > risc_code_size) + cnt = risc_code_size; + + DEBUG7(printk("qla2x00_setup_chip: loading risc segment@ " + "addr %p, number of bytes 0x%x, offset 0x%x.\n", + risc_code_address,cnt,risc_address);) + + BCOPY((caddr_t)risc_code_address, (caddr_t)ha->request_ring, + (cnt <<1)); + + /* flush written firmware to the + * ha->request_ring buffer before DMA + */ + flush_cache_all(); + + status = qla2x00_load_ram(ha, + ha->request_dma, + risc_address, + cnt); + + if (status) { + qla2x00_dump_regs(ha->host); + printk(KERN_WARNING + "qla2x00: [ERROR] Failed to load segment " + "%d of FW\n", num); + DEBUG(printk("qla2x00_setup_chip: Failed to load " + "segment %d of FW\n", num);) + break; + } + + risc_address += cnt; + risc_code_size -= cnt; + risc_code_address += cnt; + num++; + } + +#ifdef WORD_FW_LOAD + { + int i; + + risc_address = *QLBoardTbl_fc[ha->devnum].fwstart; + ql21_risc_code_addr01 = QLBoardTbl_fc[ha->devnum].fwcode; + ql21_risc_code_length01 = + (long)(*QLBoardTbl_fc[ha->devnum].fwlen & 0xffff); + + for (i = 0; i < ql21_risc_code_length01 ; i++) { + dump_status = qla2x00_write_ram_word(ha, + risc_address + i, + *(ql21_risc_code_addr01 + i)); + + if (dump_status) { + printk(KERN_WARNING + "qla2x00: [ERROR] firmware " + "load failure\n"); + break; + } + + dump_status = qla2x00_read_ram_word(ha, + risc_address + i, + &data); + + if (dump_status) { + printk(KERN_WARNING + "qla2x00: [ERROR] RISC FW " + "Read Failure\n"); + break; + } + + if (data != *(ql21_risc_code_addr01 + i)) { + printk(KERN_WARNING + "qla2x00: [ERROR] RISC FW " + "Compare ERROR @ (0x%p)\n", + (void *)(ql21_risc_code_addr01+i)); + } + } + printk(KERN_INFO + "qla2x00: RISC FW download confirmed... \n"); + } +#endif /* WORD_FW_LOAD */ + + /* Verify checksum of loaded RISC code. */ + if (!status) { + DEBUG(printk("qla2x00_setup_chip: Verifying Check Sum of " + "loaded RISC code.\n");) + + status = (uint8_t)qla2x00_verify_checksum(ha); + + if (status == QL_STATUS_SUCCESS) { + /* Start firmware execution. */ + DEBUG(printk("qla2x00_setup_chip: CS Ok, Start " + "firmware running\n");) + status = qla2x00_execute_fw(ha); + } +#if defined(QL_DEBUG_LEVEL_2) + else { + printk("qla2x00_setup_chip: ISP FW " + "Failed Check Sum\n"); + } +#endif + } + + if (status) { + DEBUG2_3(printk("qla2x00_setup_chip: **** FAILED ****\n");) + } else { + DEBUG3(printk("qla2x00_setup_chip: Returning Good Status\n");) + } + + return(status); +} + +/* +* qla2x00_init_rings +* Initializes firmware. +* +* Beginning of request ring has initialization control block +* already built by nvram config routine. +* +* Input: +* ha = adapter block pointer. +* ha->request_ring = request ring virtual address +* ha->response_ring = response ring virtual address +* ha->request_dma = request ring physical address +* ha->response_dma = response ring physical address +* +* Returns: +* 0 = success. +*/ +STATIC uint8_t +qla2x00_init_rings(scsi_qla_host_t *ha) +{ + unsigned long flags = 0; + uint8_t status; + int cnt; + device_reg_t *reg = ha->iobase; + + DEBUG3(printk("qla2x00_init_rings(%ld): entered.\n", + ha->host_no);) + + spin_lock_irqsave(&ha->hardware_lock, flags); + + /* Clear outstanding commands array. */ + for (cnt = 0; cnt < MAX_OUTSTANDING_COMMANDS; cnt++) + ha->outstanding_cmds[cnt] = 0; + + ha->current_outstanding_cmd = 0; + + /* Clear RSCN queue. */ + ha->rscn_in_ptr = 0; + ha->rscn_out_ptr = 0; + + /* Initialize firmware. */ + ha->request_ring_ptr = ha->request_ring; + ha->req_ring_index = 0; + ha->req_q_cnt = REQUEST_ENTRY_CNT; + ha->response_ring_ptr = ha->response_ring; + ha->rsp_ring_index = 0; + +#ifdef ISP2300 + WRT_REG_WORD(®->req_q_in, 0); + WRT_REG_WORD(®->req_q_out, 0); + WRT_REG_WORD(®->rsp_q_in, 0); + WRT_REG_WORD(®->rsp_q_out, 0); +#else + WRT_REG_WORD(®->mailbox4, 0); + WRT_REG_WORD(®->mailbox4, 0); + WRT_REG_WORD(®->mailbox5, 0); + WRT_REG_WORD(®->mailbox5, 0); +#endif + + spin_unlock_irqrestore(&ha->hardware_lock, flags); + + DEBUG(printk("qla2x00_init_rings(%ld): issue init firmware.\n", + ha->host_no);) + status = qla2x00_init_firmware(ha, sizeof(init_cb_t)); + if (status) { + /* Empty */ + DEBUG2_3(printk("qla2x00_init_rings(%ld): **** FAILED ****.\n", + ha->host_no);) + } else { + /* Empty */ + DEBUG3(printk("qla2x00_init_rings(%ld): exiting normally.\n", + ha->host_no);) + } + + return(status); +} + +/* +* qla2x00_fw_ready +* Waits for firmware ready. +* +* Input: +* ha = adapter block pointer. +* +* Returns: +* 0 = success. +*/ +STATIC uint8_t +qla2x00_fw_ready(scsi_qla_host_t *ha) +{ + uint8_t status = 0; + uint8_t loop_forever = 1; + unsigned long wtime, mtime; + uint16_t min_wait; /* minimum wait time if loop is down */ + uint16_t wait_time;/* wait time if loop is becoming ready */ + uint16_t pause_time; + uint16_t fw_state; + + DEBUG3(printk("qla2x00_fw_ready(%ld): entered.\n", + ha->host_no);) + + min_wait = 20; /* 20 seconds for loop down. */ + ha->device_flags &= ~DFLG_NO_CABLE; + + /* Firmware should take at most one RATOV to login, plus 5 seconds + * for our own processing. + */ + if ((wait_time = (ha->retry_count*ha->login_timeout) + 5) < min_wait) { + wait_time = min_wait; + } + + pause_time = 1000; /* 1000 usec */ + + /* min wait time if loop down */ + mtime = jiffies + (min_wait * HZ); + + /* wait time before firmware ready */ + wtime = jiffies + (wait_time * HZ); + + /* Wait for ISP to finish LIP */ + if (!qla2x00_quiet) + printk(KERN_INFO + "scsi(%d): Waiting for LIP to complete...\n", + (int)ha->host->host_no); + + DEBUG3(printk("scsi(%d): Waiting for LIP to complete...\n", + (int)ha->host->host_no);) + + do { + status = qla2x00_get_firmware_state(ha, &fw_state); + + if (status == QL_STATUS_SUCCESS) { + if (fw_state == FSTATE_READY) { + qla2x00_get_retry_cnt(ha, + &ha->retry_count, + &ha->login_timeout); + status = QL_STATUS_SUCCESS; + + DEBUG(printk("qla2x00_fw_ready(%ld): F/W " + "Ready - OK \n", + ha->host_no);) + + break; + } + + status = QL_STATUS_ERROR; + + if (atomic_read(&ha->loop_down_timer) || + fw_state == FSTATE_LOSS_OF_SYNC) { + /* Loop down. Timeout on min_wait */ + if (time_after_eq(jiffies,mtime)) { + printk(KERN_INFO + "scsi(%d): Cable is " + "unplugged...\n", + (int)ha->host->host_no); + ha->device_flags |= DFLG_NO_CABLE; + break; + } + } + } else { + /* Mailbox cmd failed. Timeout on min_wait. */ + if (time_after_eq(jiffies,mtime)) + break; + } + + if (time_after_eq(jiffies,wtime)) + break; + + /* Delay for a while */ + set_current_state(TASK_INTERRUPTIBLE); + schedule_timeout(HZ / 100); + + DEBUG3(printk("qla2x00_fw_ready: fw_state=%x curr time=%lx.\n", + fw_state, jiffies);) + + } while (loop_forever); + + DEBUG(printk("qla2x00_fw_ready(%d): fw_state=%x curr time=%lx.\n", + (int)ha->host_no,fw_state, jiffies);) + + if (status) { + DEBUG2_3(printk("qla2x00_fw_ready(%ld): **** FAILED ****.\n", + ha->host_no);) + } else { + DEBUG3(printk("qla2x00_fw_ready(%ld): exiting normally.\n", + ha->host_no);) + } + + return(status); +} + +/* +* qla2x00_configure_hba +* Setup adapter context. +* +* Input: +* ha = adapter state pointer. +* +* Returns: +* 0 = success +* +* Context: +* Kernel context. +*/ +STATIC uint8_t +qla2x00_configure_hba(scsi_qla_host_t *ha) +{ + uint8_t rval; + uint8_t connect_type[22]; + uint16_t loop_id; + uint16_t topo; + uint8_t al_pa; + uint8_t area; + uint8_t domain; + + DEBUG3(printk("qla2x00_configure_hba(%ld): entered.\n", + ha->host_no);) + + /* Get host addresses. */ + rval = qla2x00_get_adapter_id(ha, &loop_id, &al_pa, &area, &domain, + &topo); + if (rval != QL_STATUS_SUCCESS) { + printk(KERN_WARNING + "qla2x00_configure_hba(%ld): ERROR Get host loop ID.\n", + ha->host_no); + return (rval); + } + + if (topo == 4) { + printk(KERN_INFO + "scsi%d: Cannot get topology - retrying.\n", + (int)ha->host_no); + return (QL_STATUS_ERROR); + } + + ha->loop_id = loop_id; + +#ifdef ISP2100 + /* Make sure 2100 only has loop, in case of any firmware bug. */ + topo = 0; +#endif + + /* initialize */ + ha->min_external_loopid = SNS_FIRST_LOOP_ID; + ha->operating_mode = LOOP; + + switch (topo) { + case 0: + DEBUG3(printk("qla2x00(%ld): HBA in NL topology.\n", + ha->host_no);) + ha->current_topology = ISP_CFG_NL; + strcpy((char *)&connect_type[0],"(Loop)"); + break; + + case 1: + DEBUG3(printk("qla2x00(%ld): HBA in FL topology.\n", + ha->host_no);) + ha->current_topology = ISP_CFG_FL; + strcpy((char *)&connect_type[0],"(FL_Port)"); + break; + + case 2: + DEBUG3(printk("qla2x00(%ld): HBA in N P2P topology.\n", + ha->host_no);) + ha->operating_mode = P2P; + ha->current_topology = ISP_CFG_N; + strcpy((char *)&connect_type[0],"(N_Port-to-N_Port)"); + break; + + case 3: + DEBUG3(printk("qla2x00(%ld): HBA in F P2P topology.\n", + ha->host_no);) + ha->operating_mode = P2P; + ha->current_topology = ISP_CFG_F; + strcpy((char *)&connect_type[0],"(F_Port)"); + break; + + default: + DEBUG3(printk("qla2x00(%ld): HBA in unknown " + "topology %x. Using NL.\n", + ha->host_no, topo);) + ha->current_topology = ISP_CFG_NL; + strcpy((char *)&connect_type[0],"(Loop)"); + break; + } + + /* Save Host port and loop ID. */ + /* byte order - Big Endian */ + ha->d_id.b.domain = domain; + ha->d_id.b.area = area; + ha->d_id.b.al_pa = al_pa; + + if (!qla2x00_quiet) + printk(KERN_INFO + "scsi%d: Topology - %s, Host Loop address 0x%x\n", + (int)ha->host_no, connect_type, ha->loop_id); + + if (rval != 0) { + /* Empty */ + DEBUG2_3(printk("qla2x00_configure_hba(%ld): FAILED.\n", + ha->host_no);) + } else { + /* Empty */ + DEBUG3(printk("qla2x00_configure_hba(%ld): exiting normally.\n", + ha->host_no);) + } + + return(rval); +} + + +/* +* NVRAM configuration for the 2200/2300/2312 +* +* Input: +* ha = adapter block pointer. +* ha->request_ring = request ring virtual address +* ha->response_ring = response ring virtual address +* ha->request_dma = request ring physical address +* ha->response_dma = response ring physical address +* +* Output: +* initialization control block in response_ring +* host adapters parameters in host adapter block +* +* Returns: +* 0 = success. +*/ +STATIC uint8_t +qla2x00_nvram_config(scsi_qla_host_t *ha) +{ +#ifdef ISP2300 + device_reg_t *reg = ha->iobase; + uint16_t data; +#endif + uint8_t status = 0; + uint8_t chksum = 0; + uint16_t cnt, base; + caddr_t dptr1, dptr2; + init_cb_t *icb = ha->init_cb; + nvram22_t *nv = (nvram22_t *)ha->request_ring; + uint16_t *wptr = (uint16_t *)ha->request_ring; + + ENTER("qla2x00_nvram_config"); + + if (!ha->flags.nvram_config_done) { +#ifdef ISP2300 + if (ha->device_id == QLA2312_DEVICE_ID) { + data = RD_REG_WORD(®->ctrl_status); + if ((data >> 14) == 1) + base = 0x80; + else + base = 0; + data = RD_REG_WORD(®->nvram); + while (data & NV_BUSY) { + UDELAY(100); + data = RD_REG_WORD(®->nvram); + } + + /* Lock resource */ + WRT_REG_WORD(®->host_semaphore, 0x1); + UDELAY(5); + data = RD_REG_WORD(®->host_semaphore); + while ((data & BIT_0) == 0) { + /* Lock failed */ + UDELAY(100); + WRT_REG_WORD(®->host_semaphore, 0x1); + UDELAY(5); + data = RD_REG_WORD(®->host_semaphore); + } + } else + base = 0; +#else + base = 0; +#endif + /* Verify valid NVRAM checksum. */ + for (cnt = 0; cnt < sizeof(nvram22_t)/2; cnt++) { + *wptr = qla2x00_get_nvram_word(ha, (cnt+base)); + chksum += (uint8_t)*wptr; + chksum += (uint8_t)(*wptr >> 8); + wptr++; + } +#ifdef ISP2300 + if (ha->device_id == QLA2312_DEVICE_ID) { + /* Unlock resource */ + WRT_REG_WORD(®->host_semaphore, 0); + } +#endif + +#if DEBUG_PRINT_NVRAM + printk("qla2x00_nvram_config: Contents of NVRAM\n"); + qla2x00_dump_buffer((uint8_t *)ha->request_ring, + sizeof(nvram22_t)); +#endif + + /* Bad NVRAM data, set defaults parameters. */ + if (chksum || + nv->id[0] != 'I' || + nv->id[1] != 'S' || + nv->id[2] != 'P' || + nv->id[3] != ' ' || + nv->nvram_version < 1) { + + /* Reset NVRAM data. */ + DEBUG(printk("Using defaults for NVRAM: \n")); + DEBUG(printk("checksum=0x%x, Id=%c, version=0x%x\n", + chksum, + nv->id[0], + nv->nvram_version)); + wptr = (uint16_t *)nv; + for( cnt = 0; cnt < sizeof(nvram21_t)/2; cnt++ ) + *wptr++ = 0; + + /* + * Set default initialization control block. + */ + nv->parameter_block_version = ICB_VERSION; + nv->firmware_options.enable_fairness = 1; + nv->firmware_options.enable_fast_posting = 1; + nv->firmware_options.enable_full_login_on_lip = 1; + nv->firmware_options.expanded_ifwcb = 1; + + nv->frame_payload_size = 1024; + nv->max_iocb_allocation = 256; + nv->execution_throttle = 16; + nv->retry_count = 8; + nv->retry_delay = 1; + nv->port_name[0] = 32; + nv->port_name[3] = 224; + nv->port_name[4] = 139; + nv->login_timeout = 4; +#ifdef ISP2200 + nv->additional_firmware_options.connection_options = P2P_LOOP; +#else + nv->additional_firmware_options.connection_options = LOOP_P2P; +#endif + /* + * Set default host adapter parameters + */ + nv->host_p.enable_lip_full_login = 1; + nv->reset_delay = 5; + nv->port_down_retry_count = 8; + nv->maximum_luns_per_target = 8; + status = 1; + } + + /* Reset NVRAM data. */ + memset(icb, 0, sizeof(init_cb_t)); + /* + * Copy over NVRAM RISC parameter block + * to initialization control block. + */ + dptr1 = (caddr_t)icb; + dptr2 = (caddr_t)&nv->parameter_block_version; + cnt = (caddr_t)&nv->additional_firmware_options - + (caddr_t)&nv->parameter_block_version; + while (cnt--) + *dptr1++ = *dptr2++; + + dptr1 += (caddr_t)&icb->additional_firmware_options - + (caddr_t)&icb->request_q_outpointer; + cnt = (caddr_t)&nv->host_p - + (caddr_t)&nv->additional_firmware_options; + while (cnt--) + *dptr1++ = *dptr2++; + + /* HBA node name 0 correction */ + for (cnt=0 ; cnt<8 ; cnt++) { + if (icb->node_name[cnt] != 0) + break; + } + if (cnt == 8) { + for (cnt= 0 ; cnt < 8 ; cnt++) + icb->node_name[cnt] = icb->port_name[cnt]; + icb->node_name[0] = icb->node_name[0] & ~BIT_0; + icb->port_name[0] = icb->port_name[0] | BIT_0; + } + + /* + * Setup driver firmware options. + */ + icb->firmware_options.enable_full_duplex = 0; +#if QL2100_TARGET_MODE_SUPPORT + icb->firmware_options.enable_target_mode = 1; +#else + icb->firmware_options.enable_target_mode = 0; +#endif + icb->firmware_options.disable_initiator_mode = 0; + icb->firmware_options.enable_port_update_event = 1; + icb->firmware_options.enable_full_login_on_lip = 1; +#ifdef ISP2300 + icb->firmware_options.enable_fast_posting = 0; +#endif +#ifndef FC_IP_SUPPORT + /* Enable FC-Tape support */ + icb->firmware_options.node_name_option = 1; + icb->firmware_options.expanded_ifwcb = 1; + icb->additional_firmware_options.enable_fc_tape = 1; + icb->additional_firmware_options.enable_fc_confirm = 1; +#endif + /* + * Set host adapter parameters + */ + ha->flags.enable_target_mode = icb->firmware_options.enable_target_mode; + ha->flags.disable_luns = nv->host_p.disable_luns; + ha->flags.disable_risc_code_load = nv->host_p.disable_risc_code_load; + ha->flags.set_cache_line_size_1 = nv->host_p.set_cache_line_size_1; + ha->flags.enable_64bit_addressing = nv->host_p.enable_64bit_addressing; + + /* + * Enable 64bit addressing for OS/System combination + * supporting it actual NVRAM bit is: + * nv->cntr_flags_1.enable_64bit_addressing + * but we will ignore it and use BITS_PER_LONG macro + * to setup for 64 or 32 bit access of host memory + * in all x86/ia-64/Alpha systems + */ + ha->flags.enable_64bit_addressing = 1; + + /* + * Update our PCI device dma_mask for full 64 bit mask; + * disable 64 bit addressing if this fails + */ + if (pci_set_dma_mask(ha->pdev, + (unsigned long)0xffffffffffffffff)) { + printk("qla2x00: failed to set 64 bit" + " PCI DMA mask, using 32 bits\n"); + ha->flags.enable_64bit_addressing = 0; + pci_set_dma_mask(ha->pdev, 0xffffffff); + } + + + + if (ha->flags.enable_64bit_addressing) + printk(KERN_INFO + "scsi(%ld): 64 Bit PCI Addressing Enabled\n", + ha->host_no); + + ha->flags.enable_lip_reset = nv->host_p.enable_lip_reset; + ha->flags.enable_lip_full_login = nv->host_p.enable_lip_full_login; + ha->flags.enable_target_reset = nv->host_p.enable_target_reset; + ha->flags.enable_flash_db_update = nv->host_p.enable_database_storage; + ha->operating_mode = icb->additional_firmware_options.connection_options; + + /* new for IOCTL support of APIs */ + ha->node_name[0] = icb->node_name[0]; + ha->node_name[1] = icb->node_name[1]; + ha->node_name[2] = icb->node_name[2]; + ha->node_name[3] = icb->node_name[3]; + ha->node_name[4] = icb->node_name[4]; + ha->node_name[5] = icb->node_name[5]; + ha->node_name[6] = icb->node_name[6]; + ha->node_name[7] = icb->node_name[7]; + ha->nvram_version = nv->nvram_version; + + + ha->hiwat = icb->iocb_allocation; + ha->execution_throttle = nv->execution_throttle; + if (nv->login_timeout < ql2xlogintimeout) + nv->login_timeout = ql2xlogintimeout; + + icb->execution_throttle = 0xffff; /* set to max */ + ha->retry_count = nv->retry_count; + /* Set minimum login_timeout to 4 seconds. */ + if (nv->login_timeout < 4) + nv->login_timeout = 4; + ha->login_timeout = nv->login_timeout; + icb->login_timeout = nv->login_timeout; + ha->port_down_retry_count = nv->port_down_retry_count; + ha->minimum_timeout = (ha->login_timeout * ha->retry_count) + + ha->port_down_retry_count; + ha->loop_reset_delay = nv->reset_delay; + /* Will get the value from nvram. */ + ha->loop_down_timeout = LOOP_DOWN_TIMEOUT; + ha->loop_down_abort_time = LOOP_DOWN_TIME - + ha->loop_down_timeout; + + /* save HBA serial number */ + ha->serial0 = nv->port_name[5]; + ha->serial1 = nv->port_name[6]; + ha->serial2 = nv->port_name[7]; + ha->flags.link_down_error_enable = 1; + /* save OEM related items for QLA2200s and QLA2300s */ + ha->oem_id = nv->oem_id; + ha->oem_spare0 = nv->oem_spare0; + for (cnt= 2 ; cnt < 8 ; cnt++) + ha->oem_string[cnt] = nv->oem_string[cnt]; + + for (cnt= 0 ; cnt < 8 ; cnt++) { + ha->oem_part[cnt] = nv->oem_part[cnt]; + ha->oem_fru[cnt] = nv->oem_fru[cnt]; + ha->oem_ec[cnt] = nv->oem_ec[cnt]; + } + +#ifdef FC_IP_SUPPORT + for (cnt = 0; cnt < 8; cnt++) + ha->acPortName[cnt] = nv->port_name[cnt]; +#endif + + ha->max_probe_luns = nv->maximum_luns_per_target; + + /* High-water mark of IOCBs */ + ha->iocb_hiwat = MAX_IOCBS_AVAILBALE; + +#if USE_BIOS_MAX_LUNS + if (!nv->maximum_luns_per_target) + ha->max_luns = MAX_LUNS; + else if (nv->maximum_luns_per_target < MAX_LUNS) + ha->max_luns = nv->maximum_luns_per_target; + else + ha->max_luns = MAX_LUNS; +#else + ha->max_luns = MAX_LUNS; +#endif + + /* + * Need enough time to try and get the port back. + */ + if (qlport_down_retry) + ha->port_down_retry_count = qlport_down_retry; +#ifdef COMPAQ + else if (ha->port_down_retry_count < HSG80_PORT_RETRY_COUNT) + ha->port_down_retry_count = HSG80_PORT_RETRY_COUNT; +#endif + + /* + * Setup ring parameters in initialization control block + */ + icb->request_q_outpointer = 0; + icb->response_q_inpointer = 0; + icb->request_q_length = REQUEST_ENTRY_CNT; + icb->response_q_length = RESPONSE_ENTRY_CNT; + icb->request_q_address[0] = LS_64BITS(ha->request_dma); + icb->request_q_address[1] = MS_64BITS(ha->request_dma); + icb->response_q_address[0] = LS_64BITS(ha->response_dma); + icb->response_q_address[1] = MS_64BITS(ha->response_dma); + + icb->lun_enables = 0; + icb->command_resource_count = 0; + icb->immediate_notify_resource_count = 0; + icb->timeout = 0; + icb->reserved_2 = 0; + + ha->flags.nvram_config_done = 1; + } + +#if defined(QL_DEBUG_LEVEL_2) || defined(QL_DEBUG_LEVEL_3) + if( status ) + printk("qla2x00_nvram_config: **** FAILED ****\n"); +#endif + + LEAVE("qla2x00_nvram_config"); + + return(status); +} + +/* +* Get NVRAM data word +* Calculates word position in NVRAM and calls request routine to +* get the word from NVRAM. +* +* Input: +* ha = adapter block pointer. +* address = NVRAM word address. +* +* Returns: +* data word. +*/ +STATIC uint16_t +qla2x00_get_nvram_word(scsi_qla_host_t *ha, uint32_t address) +{ + uint32_t nv_cmd; + uint16_t data; + +#ifdef QL_DEBUG_ROUTINES + uint8_t saved_print_status = ql2x_debug_print; +#endif + + DEBUG4(printk("qla2100_get_nvram_word: entered\n");) + + nv_cmd = address << 16; + nv_cmd |= NV_READ_OP; + +#ifdef QL_DEBUG_ROUTINES + ql2x_debug_print = FALSE; +#endif + + data = qla2x00_nvram_request(ha, nv_cmd); +#ifdef QL_DEBUG_ROUTINES + ql2x_debug_print = saved_print_status; +#endif + + DEBUG4(printk("qla2100_get_nvram_word: exiting normally " + "NVRAM data=%lx.\n", + (u_long)data);) + + return(data); +} + +/* +* NVRAM request +* Sends read command to NVRAM and gets data from NVRAM. +* +* Input: +* ha = adapter block pointer. +* nv_cmd = Bit 26 = start bit +* Bit 25, 24 = opcode +* Bit 23-16 = address +* Bit 15-0 = write data +* +* Returns: +* data word. +*/ +STATIC uint16_t +qla2x00_nvram_request(scsi_qla_host_t *ha, uint32_t nv_cmd) +{ + uint8_t cnt; + device_reg_t *reg = ha->iobase; + uint16_t data = 0; + uint16_t reg_data; + + /* Send command to NVRAM. */ + nv_cmd <<= 5; + for (cnt = 0; cnt < 11; cnt++) { + if (nv_cmd & BIT_31) + qla2x00_nv_write(ha, NV_DATA_OUT); + else + qla2x00_nv_write(ha, 0); + nv_cmd <<= 1; + } + + /* Read data from NVRAM. */ + for (cnt = 0; cnt < 16; cnt++) { + WRT_REG_WORD(®->nvram, NV_SELECT+NV_CLOCK); + /* qla2x00_nv_delay(ha); */ + NVRAM_DELAY(); + data <<= 1; + reg_data = RD_REG_WORD(®->nvram); + if (reg_data & NV_DATA_IN) + data |= BIT_0; + WRT_REG_WORD(®->nvram, NV_SELECT); + /* qla2x00_nv_delay(ha); */ + NVRAM_DELAY(); + } + + /* Deselect chip. */ + WRT_REG_WORD(®->nvram, NV_DESELECT); + /* qla2x00_nv_delay(ha); */ + NVRAM_DELAY(); + + return(data); +} + +STATIC void +qla2x00_nv_write(scsi_qla_host_t *ha, uint16_t data) +{ + device_reg_t *reg = ha->iobase; + + WRT_REG_WORD(®->nvram, data | NV_SELECT); + NVRAM_DELAY(); + /* qla2x00_nv_delay(ha); */ + WRT_REG_WORD(®->nvram, data | NV_SELECT | NV_CLOCK); + /* qla2x00_nv_delay(ha); */ + NVRAM_DELAY(); + WRT_REG_WORD(®->nvram, data | NV_SELECT); + /* qla2x00_nv_delay(ha); */ + NVRAM_DELAY(); +} + +STATIC void +qla2x00_nv_deselect(adapter_state_t *ha) +{ + device_reg_t *reg = ha->iobase; + + WRT_REG_WORD(®->nvram, NV_DESELECT); + NVRAM_DELAY(); +} + +/* +* qla2x00_poll +* Polls ISP for interrupts. +* +* Input: +* ha = adapter block pointer. +*/ +STATIC void +qla2x00_poll(scsi_qla_host_t *ha) +{ + unsigned long flags = 0; + device_reg_t *reg = ha->iobase; + uint8_t discard; + uint16_t data; + + ENTER("qla2x00_poll"); + + /* Acquire interrupt specific lock */ + spin_lock_irqsave(&ha->hardware_lock, flags); + + /* Check for pending interrupts. */ +#if defined(ISP2100) || defined(ISP2200) + data = RD_REG_WORD(®->istatus); + if( data & RISC_INT ) + qla2x00_isr(ha, data, &discard); +#else + if (ha->device_id == QLA2312_DEVICE_ID) { + data = RD_REG_WORD(®->istatus); + if (data & RISC_INT) { + data = RD_REG_WORD(®->host_status_lo); + qla2x00_isr(ha, data, &discard); + } + + } else { + data = RD_REG_WORD(®->host_status_lo); + if (data & HOST_STATUS_INT) + qla2x00_isr(ha, data, &discard); + } +#endif + spin_unlock_irqrestore(&ha->hardware_lock, flags); + + /* Release interrupt specific lock */ + + if (!list_empty(&ha->done_queue)) +#if QLA2X_PERFORMANCE + tasklet_schedule(&ha->run_qla_task); +#else + qla2x00_done(ha); +#endif + + LEAVE("qla2x00_poll"); +} + +/* +* qla2x00_restart_isp +* restarts the ISP after a reset +* +* Input: +* ha = adapter block pointer. +* +* Returns: +* 0 = success +*/ +int +qla2x00_restart_isp(scsi_qla_host_t *ha) +{ + uint8_t status = 0; + + /* If firmware needs to be loaded */ + if (qla2x00_isp_firmware(ha)) { + ha->flags.online = FALSE; + if (!(status = qla2x00_chip_diag(ha))) + status = qla2x00_setup_chip(ha); + } + if (!status && !(status = qla2x00_init_rings(ha))) { + clear_bit(RESET_MARKER_NEEDED, &ha->dpc_flags); + clear_bit(COMMAND_WAIT_NEEDED, &ha->dpc_flags); + if (!(status = qla2x00_fw_ready(ha))) { + DEBUG(printk("restart_isp: Start configure loop " + ",status = %d\n", + status);) + ha->flags.online = TRUE; + do { + clear_bit(LOOP_RESYNC_NEEDED, &ha->dpc_flags); + qla2x00_configure_loop(ha); + } while (!atomic_read(&ha->loop_down_timer) && + !(test_bit(ISP_ABORT_NEEDED, &ha->dpc_flags)) && + (test_bit(LOOP_RESYNC_NEEDED, &ha->dpc_flags))); + } + DEBUG(printk("restart_isp: Configure loop done, " + "status = 0x%x\n", + status);) + } + return (status); +} + +/* +* qla2x00_abort_isp +* Resets ISP and aborts all outstanding commands. +* +* Input: +* ha = adapter block pointer. +* +* Returns: +* 0 = success +*/ +STATIC uint8_t +qla2x00_abort_isp(scsi_qla_host_t *ha, uint8_t flag) +{ + unsigned long flags = 0; + uint16_t cnt; + srb_t *sp; + uint8_t status = 0; + + ENTER("qla2x00_abort_isp"); + + if (ha->flags.online) { + ha->flags.online = FALSE; + clear_bit(COMMAND_WAIT_NEEDED, &ha->dpc_flags); + clear_bit(COMMAND_WAIT_ACTIVE, &ha->dpc_flags); + clear_bit(ISP_ABORT_NEEDED, &ha->dpc_flags); + qla2x00_stats.ispAbort++; + ha->total_isp_aborts++; /* used by ioctl */ + ha->sns_retry_cnt = 0; + + printk(KERN_INFO + "qla2x00: Performing ISP error recovery - ha= %p.\n", + ha); + qla2x00_reset_chip(ha); + + if (ha->loop_state != LOOP_DOWN) { + ha->loop_state = LOOP_DOWN; + atomic_set(&ha->loop_down_timer, LOOP_DOWN_TIME); + qla2x00_mark_all_devices_lost(ha); + } + +#ifdef FC_IP_SUPPORT + /* Return all IP send packets */ + for (cnt = 0; cnt < MAX_SEND_PACKETS; cnt++) { + if (ha->apActiveIpQueue[cnt] != NULL) { + /* Via IP callback */ + (*ha->pSendCompletionRoutine) + (ha->apActiveIpQueue[cnt]); + + ha->apActiveIpQueue[cnt] = NULL; + } + } +#endif + + spin_lock_irqsave(&ha->hardware_lock, flags); + /* Requeue all commands in outstanding command list. */ + for (cnt = 1; cnt < MAX_OUTSTANDING_COMMANDS; cnt++) { + sp = ha->outstanding_cmds[cnt]; + if (sp) { + ha->outstanding_cmds[cnt] = 0; + if( ha->actthreads ) + ha->actthreads--; + sp->lun_queue->out_cnt--; + ha->iocb_cnt -= sp->iocb_cnt; + + sp->flags = 0; + + /* + * We need to send the command back to OS now + * if returning RESET status for kernel's + * error handling. + */ + if (flag == 0) { + CMD_RESULT(sp->cmd) = DID_BUS_BUSY << 16; + } else { + CMD_RESULT(sp->cmd) = DID_RESET << 16; + } + CMD_HANDLE(sp->cmd) = (unsigned char *) NULL; + add_to_done_queue(ha, sp); + } + } + + spin_unlock_irqrestore(&ha->hardware_lock, flags); + qla2x00_nvram_config(ha); + + if (!qla2x00_restart_isp(ha)) { + clear_bit(RESET_MARKER_NEEDED, &ha->dpc_flags); + + if (!atomic_read(&ha->loop_down_timer)) { + /* Issue marker command only when we are going to + * start the I/O . + */ + ha->marker_needed = 1; + } + + ha->flags.online = TRUE; + + /* Enable target response to SCSI bus. */ + if (ha->flags.enable_target_mode) + qla2x00_enable_lun(ha); + +#ifdef FC_IP_SUPPORT + /* Reenable IP support */ + if (ha->flags.enable_ip) { + set_bit(REGISTER_FC4_NEEDED, &ha->dpc_flags); + qla2x00_ip_initialize(ha); + } +#endif + /* Enable ISP interrupts. */ + qla2x00_enable_intrs(ha); + + /* v2.19.5b6 Return all commands */ + qla2x00_abort_queues(ha, TRUE); + + /* Restart queues that may have been stopped. */ + qla2x00_restart_queues(ha,TRUE); + } else { + printk(KERN_WARNING + "qla2100: ISP error recovery failed - " + "board disabled\n"); + qla2x00_reset_adapter(ha); + qla2x00_abort_queues(ha, FALSE); + ha->flags.online = TRUE; + } + } + + if (status) { + printk(KERN_INFO + "qla2x00_abort_isp(%ld): **** FAILED ****\n", + ha->host_no); + } else { + DEBUG(printk(KERN_INFO + "qla2x00_abort_isp(%ld): exiting.\n", + ha->host_no);) + } + + return(status); +} + +/* +* qla2x00_init_fc_db +* Initializes Fibre Channel Device Database. +* +* Input: +* ha = adapter block pointer. +* +* Output: +* ha->fc_db = initialized +*/ +STATIC void +qla2x00_init_fc_db(scsi_qla_host_t *ha) +{ + uint16_t cnt; + + ENTER("qla2x00_init_fc_db"); + + /* Initialize fc database if it is not initialized. */ + if (!ha->fc_db[0].loop_id && !ha->fc_db[1].loop_id) { + ha->flags.updated_fc_db = FALSE; + + /* Initialize target database. */ + for (cnt = 0; cnt < MAX_FIBRE_DEVICES; cnt++) { + ha->fc_db[cnt].name[0] = 0L; + ha->fc_db[cnt].name[1] = 0L; + ha->fc_db[cnt].loop_id = PORT_UNUSED; + ha->fc_db[cnt].port_login_retry_count = + ha->port_down_retry_count * PORT_RETRY_TIME; + ha->fc_db[cnt].flag = 0; /* v2.19.5b3 */ + } + +#if USE_FLASH_DATABASE + /* Move flash database to driver database. */ + qla2x00_get_database(ha); +#endif + } + + LEAVE("qla2x00_init_fc_db"); +} + + +/* +* qla2x00_init_tgt_map +* Initializes target map. +* +* Input: +* ha = adapter block pointer. +* +* Output: +* TGT_Q initialized +*/ +STATIC void +qla2x00_init_tgt_map(scsi_qla_host_t *ha) +{ + uint32_t t; + + ENTER("qla2x00_init_tgt_map"); + + for (t = 0; t < MAX_TARGETS; t++) + TGT_Q(ha, t) = (os_tgt_t *) NULL; + + LEAVE("qla2x00_init_tgt_map"); +} + +#if USE_FLASH_DATABASE +/* +* qla2x00_get_database +* Copies and converts flash database to driver database. +* (may sleep) +* +* Input: +* ha = adapter block pointer. +* +* Returns: +* 0 = success. +*/ +STATIC uint8_t +qla2x00_get_database(scsi_qla_host_t *ha) +{ + flash_database_t *fptr; + uint8_t status = 1; + uint32_t addr; + uint16_t cnt; + uint8_t *bptr; + uint8_t checksum; + uint32_t b, t; + + ENTER("qla2x00_get_database"); + + /* Default setup. */ + ha->flash_db = FLASH_DATABASE_0; + ha->flash_seq = 0; + + if ((fptr = (flash_database_t *)KMALLOC(sizeof(flash_database_t)))) { + /* Enable Flash Read/Write. */ + qla2x00_flash_enable_database(ha); + + /* + * Start with flash database with the highest + * sequence number. + */ + b = qla2x00_read_flash_byte(ha, FLASH_DATABASE_0); + b |= qla2x00_read_flash_byte(ha, FLASH_DATABASE_0 + 1) << 8; + b |= qla2x00_read_flash_byte(ha, FLASH_DATABASE_0 + 1) << 16; + b |= qla2x00_read_flash_byte(ha, FLASH_DATABASE_0 + 1) << 24; + t = qla2x00_read_flash_byte(ha, FLASH_DATABASE_1); + t |= qla2x00_read_flash_byte(ha, FLASH_DATABASE_1 + 1) << 8; + t |= qla2x00_read_flash_byte(ha, FLASH_DATABASE_1 + 1) << 16; + t |= qla2x00_read_flash_byte(ha, FLASH_DATABASE_1 + 1) << 24; + if (t > b) { + ha->flash_db = FLASH_DATABASE_1; + } + + /* Select the flash database with the good checksum. */ + for (t = 0; t < 2; t++) { + checksum = 0; + addr = ha->flash_db; + bptr = (uint8_t *)fptr; + fptr->hdr.size = sizeof(flash_database_t); + + /* Read flash database to driver. */ + for (cnt = 0; cnt < fptr->hdr.size; cnt++) { + *bptr = (uint8_t)qla2x00_read_flash_byte(ha, addr++); + checksum += *bptr++; + if (bptr == &fptr->hdr.spares[0] && + (fptr->hdr.size > sizeof(flash_database_t) || + fptr->hdr.size < sizeof(flash_hdr_t) || + !fptr->hdr.version) ) { + + checksum = 1; + break; + } + } + + if (!checksum) { + status = 0; + break; + } + /* trying other database */ + if (ha->flash_db == FLASH_DATABASE_0) { + ha->flash_db = FLASH_DATABASE_1; + } else { + ha->flash_db = FLASH_DATABASE_0; + } + } + + if (!status) { + ha->flash_seq = fptr->hdr.seq; + + /* Convert flash database to driver database format. */ + if (fptr->hdr.size -= sizeof(flash_hdr_t)) { + for (cnt = 0; cnt < MAX_FIBRE_DEVICES; cnt++) { + ha->fc_db[cnt].name[0] = fptr->node[cnt].name[0]; + ha->fc_db[cnt].name[1] = fptr->node[cnt].name[1]; + /* UNKNOWN CODE!!! + cnt, + ha->fc_db[cnt].name[1], + ha->fc_db[cnt].name[0]); + */ + + ha->fc_db[cnt].loop_id = PORT_AVAILABLE; + ha->fc_db[cnt].flag = 0; /* v2.19.05b3 */ + if(!(fptr->hdr.size -= sizeof(flash_node_t))) + break; + } + } + } + + qla2x00_flash_disable_database(ha); + + KMFREE(fptr, sizeof(flash_database_t)); + } else { + printk(KERN_WARNING "scsi(%d): Memory Allocation failed - flash mem",(int)ha->host_no); + ha->mem_err++; + } + +#if defined(QL_DEBUG_LEVEL_2) || defined(QL_DEBUG_LEVEL_3) + if( status ) + printk("qla2100_get_database: **** FAILED ****\n"); +#endif + + LEAVE("qla2x00_get_database"); + + return(status); +} + +/* +* qla2x00_save_database +* Copies and converts driver database to flash database. +* (may sleep) +* +* Input: +* ha = adapter block pointer. +* +* Returns: +* 0 = success. +*/ +STATIC uint8_t +qla2x00_save_database(scsi_qla_host_t *ha) +{ + flash_database_t *fptr; + uint8_t status = 1; + uint32_t addr; + uint16_t cnt; + uint8_t *bptr; + uint8_t checksum; + + ENTER("qla2x00_save_database"); + + if ((fptr = (flash_database_t *)KMALLOC(sizeof(flash_database_t)))) { + /* Enable Flash Read/Write. */ + qla2x00_flash_enable_database(ha); + + fptr->hdr.seq = ++ha->flash_seq; + fptr->hdr.version = FLASH_DATABASE_VERSION; + fptr->hdr.size = sizeof(flash_hdr_t); + + /* Copy and convert driver database to flash database. */ + for (cnt = 0; cnt < MAX_FIBRE_DEVICES; cnt++) { + if (ha->fc_db[cnt].loop_id == PORT_UNUSED) + break; + else { + fptr->node[cnt].name[0] = ha->fc_db[cnt].name[0]; + fptr->node[cnt].name[1] = ha->fc_db[cnt].name[1]; + fptr->hdr.size += sizeof(flash_node_t); + } + } + + /* Calculate checksum. */ + checksum = 0; + bptr = (uint8_t *)fptr; + for (cnt = 0; cnt < fptr->hdr.size; cnt++) + checksum += *bptr++; + fptr->hdr.checksum = ~checksum + 1; + + /* Setup next sector address for flash */ + if (ha->flash_db == FLASH_DATABASE_0) + addr = FLASH_DATABASE_1; + else + addr = FLASH_DATABASE_0; + ha->flash_db = addr; + + /* Erase flash sector prior to write. */ + status = qla2x00_erase_flash_sector(ha, addr); + + /* Write database to flash. */ + bptr = (uint8_t *)fptr; + for (cnt = 0; cnt < fptr->hdr.size && !status; cnt++) + status = qla2x00_program_flash_address(ha, addr++, *bptr++); + + qla2x00_flash_disable_database(ha); + + KMFREE(fptr, sizeof(flash_database_t)); + } else { + printk(KERN_WARNING + "scsi(%d): Memory Allocation failed - flash", + (int)ha->host_no); + ha->mem_err++; + } + +#if defined(QL_DEBUG_LEVEL_2) || defined(QL_DEBUG_LEVEL_3) + if (status) + printk("qla2100_save_database: **** FAILED ****\n"); +#endif + + LEAVE("qla2x00_save_database"); + + return(status); +} + +/* +* qla2x00_program_flash_address +* Program flash address. +* +* Input: +* ha = adapter block pointer. +* addr = flash byte address. +* data = data to be written to flash. +* +* Returns: +* 0 = success. +*/ +STATIC uint8_t +qla2x00_program_flash_address(scsi_qla_host_t *ha, uint32_t addr, uint8_t data) +{ + uint8_t status; + + /* Write Program Command Sequence */ + qla2x00_write_flash_byte(ha, 0x5555, 0xaa); + qla2x00_write_flash_byte(ha, 0x2aaa, 0x55); + qla2x00_write_flash_byte(ha, 0x5555, 0xa0); + qla2x00_write_flash_byte(ha, addr, data); + + /* Wait for write to complete. */ + status = qla2x00_poll_flash(ha, addr, data); + +#ifdef QL_DEBUG_LEVEL_2 + if (status) + printk("qla2100_program_flash_address: **** FAILED ****\n"); +#endif + + return(status); +} + +/* +* qla2x00_erase_flash_sector +* Erases flash sector. +* +* Input: +* ha = adapter block pointer. +* addr = sector address. +* +* Returns: +* 0 = success. +*/ +STATIC uint8_t +qla2x00_erase_flash_sector(scsi_qla_host_t *ha, uint32_t addr) +{ + uint8_t status; + + addr &= 0x1c000; + + /* Individual Sector Erase Command Sequence */ + qla2x00_write_flash_byte(ha, 0x5555, 0xaa); + qla2x00_write_flash_byte(ha, 0x2aaa, 0x55); + qla2x00_write_flash_byte(ha, 0x5555, 0x80); + qla2x00_write_flash_byte(ha, 0x5555, 0xaa); + qla2x00_write_flash_byte(ha, 0x2aaa, 0x55); + qla2x00_write_flash_byte(ha, addr, 0x30); + + udelay(150); + + /* Wait for erase to complete. */ + status = qla2x00_poll_flash(ha, addr, 0x80); + +#ifdef QL_DEBUG_LEVEL_2 + if (status) + printk("qla2100_erase_flash_sector: **** FAILED ****\n"); +#endif + + return(status); +} + +/* +* qla2x00_poll_flash +* Polls flash for completion. +* +* Input: +* ha = adapter block pointer. +* addr = flash byte address. +* data = data to be polled. +* +* Returns: +* 0 = success. +*/ +STATIC uint8_t +qla2x00_poll_flash(scsi_qla_host_t *ha, uint32_t addr, uint8_t poll_data) +{ + uint8_t status = 1; + uint8_t flash_data; + uint32_t cnt; + + poll_data &= BIT_7; + + /* Wait for 30 seconds for command to finish. */ + for (cnt = 3000000; cnt; cnt--) { + flash_data = (uint8_t)qla2x00_read_flash_byte(ha, addr); + + if ((flash_data & BIT_7) == poll_data) { + status = 0; + break; + } + if (flash_data & BIT_5 && cnt > 2) + cnt = 2; + udelay(10); + barrier(); + + } + + return(status); +} + +/* +* qla2x00_flash_enable_database +* Setup flash for reading/writing. +* +* Input: +* ha = adapter block pointer. +*/ +STATIC void +qla2x00_flash_enable_database(scsi_qla_host_t *ha) +{ + device_reg_t *reg = ha->iobase; + + /* Setup bit 16 of flash address. */ + WRT_REG_WORD(®->nvram, NV_SELECT); + + /* Enable Flash Read/Write. */ + WRT_REG_WORD(®->ctrl_status, ISP_FLASH_ENABLE); + + /* Read/Reset Command Sequence */ + qla2x00_write_flash_byte(ha, 0x5555, 0xaa); + qla2x00_write_flash_byte(ha, 0x2aaa, 0x55); + qla2x00_write_flash_byte(ha, 0x5555, 0xf0); + qla2x00_read_flash_byte(ha, FLASH_DATABASE_0); +} + +/* +* qla2x00_flash_disable_database +* Disable flash and allow RISC to run. +* +* Input: +* ha = adapter block pointer. +*/ +STATIC void +qla2x00_flash_disable_database(scsi_qla_host_t *ha) +{ + device_reg_t *reg = ha->iobase; + + /* Restore chip registers. */ + WRT_REG_WORD(®->ctrl_status, 0); + WRT_REG_WORD(®->nvram, 0); +} + +/* +* qla2x00_write_flash_byte +* Write byte to flash. +* +* Input: +* ha = adapter block pointer. +* addr = flash byte address. +* data = data to be written. +*/ +STATIC void +qla2x00_write_flash_byte(scsi_qla_host_t *ha, uint32_t addr, uint8_t data) +{ + device_reg_t *reg = ha->iobase; + + WRT_REG_WORD(®->flash_address, (uint16_t)addr); + WRT_REG_WORD(®->flash_data, (uint16_t)data); +} + +#endif + +/* + * qla2x00_flash_enable + * Setup flash for reading/writing. + * + * Input: + * ha = adapter block pointer. + */ +STATIC void +qla2x00_flash_enable(adapter_state_t *ha) +{ + device_reg_t *reg = ha->iobase; + + /* Enable Flash Read/Write. */ + WRT_REG_WORD(®->ctrl_status, ISP_FLASH_ENABLE); +} + +/* + * qla2x00_flash_disable + * Disable flash and allow RISC to run. + * + * Input: + * ha = adapter block pointer. + */ +STATIC void +qla2x00_flash_disable(adapter_state_t *ha) +{ + device_reg_t *reg = ha->iobase; + + /* Restore chip registers. */ + WRT_REG_WORD(®->ctrl_status, 0); +} + +/* + * qla2x00_read_flash_byte + * Reads byte from flash, but must read a word from chip. + * + * Input: + * ha = adapter block pointer. + * addr = flash byte address. + * + * Returns: + * byte from flash. + */ +STATIC uint8_t +qla2x00_read_flash_byte(scsi_qla_host_t *ha, uint32_t addr) +{ + device_reg_t *reg = ha->iobase; + uint16_t data; + + WRT_REG_WORD(®->flash_address, (uint16_t)addr); + data = qla2x00_debounce_register(®->flash_data); + + return ((uint8_t)data); +} + +/* + * qla2x00_get_flash_version + * Reads version info from flash. + * + * Input: + * ha = adapter struct pointer. + * + * Returns: + * byte from flash. + */ +STATIC uint16_t +qla2x00_get_flash_version(adapter_state_t *ha) +{ + uint16_t ret = QL_STATUS_SUCCESS; + uint32_t loop_cnt = 1; /* this is for error exit only */ + uint32_t pcir_adr; + + DEBUG3(printk("qla2x00_get_flash_version: entered.\n");) + + qla2x00_flash_enable(ha); + + do { /* Loop once to provide quick error exit */ + /* Match signature */ + if (!(qla2x00_read_flash_byte(ha, 0) == 0x55 && + qla2x00_read_flash_byte(ha, 1) == 0xaa)) { + /* No signature */ + DEBUG2(printk("qla2x00_get_flash_version: No matching " + "signature.\n");) + ret = QL_STATUS_ERROR; + break; + } + + pcir_adr = qla2x00_read_flash_byte(ha, 0x18) & 0xff; + + /* validate signature of PCI data structure */ + if ((qla2x00_read_flash_byte(ha, pcir_adr)) == 'P' && + (qla2x00_read_flash_byte(ha, pcir_adr + 1)) == 'C' && + (qla2x00_read_flash_byte(ha, pcir_adr + 2)) == 'I' && + (qla2x00_read_flash_byte(ha, pcir_adr + 3)) == 'R') { + + /* Read version */ + ha->optrom_minor = qla2x00_read_flash_byte(ha, + pcir_adr + 0x12); + ha->optrom_major = qla2x00_read_flash_byte(ha, + pcir_adr + 0x13); + DEBUG3(printk("qla2x00_get_flash_version: got %d.%d.\n", + ha->optrom_major, ha->optrom_minor);) + + } else { + /* error */ + DEBUG2(printk("qla2x00_get_flash_version: PCI data " + "struct not found. pcir_adr=%x.\n", + pcir_adr);) + ret = QL_STATUS_ERROR; + break; + } + + } while (--loop_cnt); + + qla2x00_flash_disable(ha); + + DEBUG3(printk("qla2x00_get_flash_version: exiting normally.\n");) + + return (ret); +} + +/* +* qla2x00_reset_adapter +* Reset adapter. +* +* Input: +* ha = adapter block pointer. +*/ +STATIC void +qla2x00_reset_adapter(scsi_qla_host_t *ha) +{ + unsigned long flags = 0; + device_reg_t *reg = ha->iobase; + + ENTER("qla2x00_reset_adapter"); + + ha->flags.online = FALSE; + qla2x00_disable_intrs(ha); + /* WRT_REG_WORD(®->ictrl, 0); */ + /* Reset RISC processor. */ + spin_lock_irqsave(&ha->hardware_lock, flags); + WRT_REG_WORD(®->host_cmd, HC_RESET_RISC); + WRT_REG_WORD(®->host_cmd, HC_RELEASE_RISC); + spin_unlock_irqrestore(&ha->hardware_lock, flags); + + LEAVE("qla2x00_reset_adapter"); +} + +/* +* qla2x00_loop_reset +* Issue loop reset. +* +* Input: +* ha = adapter block pointer. +* +* Returns: +* 0 = success +*/ +STATIC uint8_t +qla2x00_loop_reset(scsi_qla_host_t *ha) +{ + uint8_t status = QL_STATUS_SUCCESS; + uint16_t t; + os_tgt_t *tq; + + DEBUG3(printk("qla2x00_loop_reset(%ld): entered.\n", + ha->host_no);) + + if (ha->flags.enable_lip_reset) { + status = qla2x00_lip_reset(ha); + } + + if (status == QL_STATUS_SUCCESS && ha->flags.enable_target_reset) { + for (t = 0; t < MAX_FIBRE_DEVICES; t++) { + if ((tq = TGT_Q(ha, t)) == NULL) + continue; + + if (tq->vis_port == NULL) + continue; + + status = qla2x00_target_reset(ha, 0, t); + if (status != QL_STATUS_SUCCESS) { + break; + } + } + } + + if (status == QL_STATUS_SUCCESS && + ((!ha->flags.enable_target_reset && + !ha->flags.enable_lip_reset) || + ha->flags.enable_lip_full_login)) { + + status = qla2x00_full_login_lip(ha); + } + + /* Issue marker command only when we are going to + * start the I/O . + */ + ha->marker_needed = 1; + + if (status) { + /* Empty */ + DEBUG2_3(printk("qla2x00_loop_reset(%ld): **** FAILED ****\n", + ha->host_no);) + } else { + /* Empty */ + DEBUG3(printk("qla2x00_loop_reset(%ld): exiting normally.\n", + ha->host_no);) + } + + return(status); +} + +/* + * qla2x00_device_reset + * Issue bus device reset message to the target. + * + * Input: + * ha = adapter block pointer. + * t = SCSI ID. + * TARGET_QUEUE_LOCK must be released. + * ADAPTER_STATE_LOCK must be released. + * + * Context: + * Kernel context. + */ +STATIC int +qla2x00_device_reset(scsi_qla_host_t *vis_ha, uint16_t tgt, uint16_t lun) +{ +#if !USE_ABORT_TGT + uint16_t l; + fc_port_t *fcport; +#endif + os_lun_t *lq; + uint8_t status = 0; + + ENTER("qla2x00_device_reset:"); + +#if USE_ABORT_TGT + /* Abort Target command will clear Reservation */ + lq = GET_LU_Q(vis_ha, tgt, lun); + if (lq && lq->fclun) + status = qla2x00_abort_target(lq->fclun->fcport); +#else + /* Abort Device command will not clear Reservation */ + for (l = 0; l < MAX_LUNS; l++) { + lq = GET_LU_Q(vis_ha, tgt, l); + if (lq == NULL) + continue; + + fcport = lq->fclun->fcport; + if (LOOP_RDY(fcport->ha)) { + qla2x00_abort_device(fcport->ha, + fcport->loop_id, + lq->fclun->lun); + } + } +#endif + + LEAVE("qla2x00_device_reset: exiting normally"); + return( status ); +} + +/* + * Issue marker command. + * Function issues marker IOCB. + * + * Input: + * ha = adapter block pointer. + * loop_id = loop ID + * lun = LUN + * type = marker modifier + * + * Returns: + * qla2x00 local function return status code. + * + * Context: + * Kernel/Interrupt context. + */ +STATIC int +__qla2x00_marker(scsi_qla_host_t *ha, uint16_t loop_id, + uint16_t lun, uint8_t type) +{ + mrk_entry_t *pkt; + + ENTER("__qla2x00_marker: entered"); + + pkt = (mrk_entry_t *)qla2x00_req_pkt(ha); + if (pkt == NULL) { +#if defined(QL_DEBUG_LEVEL_2) || defined(QL_DEBUG_LEVEL_3) + printk("__qla2x00_marker: **** FAILED ****\n"); +#endif + return (QLA2X00_FUNCTION_FAILED); + } + + pkt->entry_type = MARKER_TYPE; + pkt->modifier = type; + + if (type != MK_SYNC_ALL) { + pkt->lun = lun; + pkt->target = (uint8_t)loop_id; + } + + /* Issue command to ISP */ + qla2x00_isp_cmd(ha); + + LEAVE("__qla2x00_marker: exiting normally"); + + return (QLA2X00_SUCCESS); +} + +/* +* qla2x00_64bit_start_scsi +* The start SCSI is responsible for building request packets on +* request ring and modifying ISP input pointer. +* +* Input: +* ha = adapter block pointer. +* sp = SB structure pointer. +* +* Returns: +* 0 = success, was able to issue command. +*/ +STATIC uint8_t +qla2x00_64bit_start_scsi(srb_t *sp) +{ + unsigned long flags = 0; + device_reg_t *reg; + uint8_t status = 0; + uint8_t found = 0; + Scsi_Cmnd *cmd = sp->cmd; + uint32_t cnt, index; + cmd_a64_entry_t *pkt; + uint16_t req_cnt; + uint16_t seg_cnt; + uint16_t cdb_len,temp; + struct scatterlist *sg = (struct scatterlist *) NULL; + uint32_t timeout; + caddr_t data_ptr; + uint32_t *dword_ptr; + uint64_t dma_handle; + scsi_qla_host_t *ha; + fc_lun_t *fclun; + + ENTER("qla2x00_64bit_start_scsi:"); + + DEBUG3(printk("64bit_start: cmd=%p sp=%p CDB=%x\n", + cmd, + sp, + cmd->cmnd[0]);) + + /* Setup device pointers. */ + fclun = sp->lun_queue->fclun; + ha = fclun->fcport->ha; + reg = ha->iobase; + /* Send marker if required */ + if (ha->marker_needed != 0) { + if(qla2x00_marker(ha, 0, 0, MK_SYNC_ALL) != QLA2X00_SUCCESS) { + return (1); + } + ha->marker_needed = 0; + } + + /* Calculate number of entries and segments required. */ + seg_cnt = 0; + req_cnt = 1; + if (cmd->use_sg) { + /* 4.10 64 bit S/G Data Transfer */ + sg = (struct scatterlist *) cmd->request_buffer; + seg_cnt = pci_map_sg(ha->pdev, + sg,cmd->use_sg, + scsi_to_pci_dma_dir(cmd->sc_data_direction)); + + if (seg_cnt > 2) { + req_cnt += (uint16_t)(seg_cnt - 2) / 5; + if ((uint16_t)(seg_cnt - 2) % 5) + req_cnt++; + } + } else if (cmd->request_bufflen) { /* no S/G Data Transfer */ + DEBUG5(printk("Single data transfer (0x%x)\n", + cmd->request_bufflen)); + seg_cnt = 1; + } + + /* Does F/W have an IOCBs for this request. */ + if ((ha->iocb_cnt + (uint32_t)req_cnt) >= ha->iocb_hiwat) { + DEBUG2(printk("qla2x00_64bit_start_scsi: Not Eought " + "IOCBS for request. " + "iocb_cnt=%lx, req_cnt=%lx, hiwat=%lx.\n", + (u_long)ha->iocb_cnt, req_cnt, ha->iocb_hiwat);) + +#ifdef IOCB_HIT_RATE + ha->iocb_overflow_cnt++; +#endif + if (cmd->use_sg) + pci_unmap_sg(ha->pdev, + sg, + cmd->use_sg, + scsi_to_pci_dma_dir( + cmd->sc_data_direction)); + + return 1; + } + + /* Acquire ring specific lock */ + spin_lock_irqsave(&ha->hardware_lock, flags); + + if ((uint16_t)(req_cnt + 2) >= ha->req_q_cnt) { + /* Calculate number of free request entries. */ +#if defined(ISP2100) || defined(ISP2200) + cnt = RD_REG_WORD(®->mailbox4); +#else + cnt = RD_REG_WORD(®->req_q_out); +#endif + + if ( ha->req_ring_index < cnt) + ha->req_q_cnt = cnt - ha->req_ring_index; + else + ha->req_q_cnt = REQUEST_ENTRY_CNT - + (ha->req_ring_index - cnt); + } + + /* If room for request in request ring. */ + if ((uint16_t)(req_cnt + 2) < ha->req_q_cnt) { + /* Check for room in outstanding command list. */ + cnt = ha->current_outstanding_cmd; + for (index = 1; index < MAX_OUTSTANDING_COMMANDS; index++) { + cnt++; + if (cnt == MAX_OUTSTANDING_COMMANDS) + cnt = 1; + if (ha->outstanding_cmds[cnt] == 0) { + found = 1; + ha->current_outstanding_cmd = cnt; + break; + } + } + if (found) { + ha->outstanding_cmds[cnt] = sp; + ha->req_q_cnt -= req_cnt; + ha->iocb_cnt += req_cnt; + sp->iocb_cnt = req_cnt; + CMD_HANDLE(sp->cmd) = (unsigned char *) (u_long) cnt; + + /* + * Build command packet. + */ + pkt = ha->request_ring_ptr; + + pkt->entry_type = COMMAND_A64_TYPE; + pkt->entry_count = (uint8_t)req_cnt; + pkt->sys_define = (uint8_t)ha->req_ring_index; + pkt->control_flags= 0; + pkt->entry_status = 0; + pkt->handle = (uint32_t)cnt; + + /* Zero out remaining portion of packet. */ + dword_ptr = (uint32_t *)pkt + 2; + for (cnt = 2; cnt < REQUEST_ENTRY_SIZE/4; cnt++) + *dword_ptr++ = 0; + + /* + * We subtract 5 sec. from the timeout value to insure + * the ISP time-out before the mid-level or the driver. + */ + timeout = (uint32_t) CMD_TIMEOUT(cmd)/HZ; + if (timeout > 7) + pkt->timeout = (uint16_t) timeout - 7; + else + pkt->timeout = (uint16_t) timeout; +#if VSA + + if ((cmd->data_cmnd[0] == 0x26) || + (cmd->data_cmnd[0] == 0xA0) || + (cmd->data_cmnd[0] == 0xCB) ) { + + pkt->lun = fclun->lun; + } else if ((fclun->fcport->flags & FC_VSA)) + pkt->lun = (fclun->lun | 0x4000); + else + pkt->lun = fclun->lun; +#else + /* Set LUN number*/ + pkt->lun = fclun->lun; +#endif + + /* Set target ID */ + pkt->target = (uint8_t)fclun->fcport->loop_id; + + /* Enable simple tag queuing if device supports it. */ + if (cmd->device->tagged_queue) { + switch (cmd->tag) { + case SIMPLE_QUEUE_TAG: + pkt->control_flags = + CF_SIMPLE_TAG; + break; + case HEAD_OF_QUEUE_TAG: + pkt->control_flags = + CF_HEAD_TAG; + break; + case ORDERED_QUEUE_TAG: + pkt->control_flags = + CF_ORDERED_TAG; + break; + default: + pkt->control_flags = + CF_SIMPLE_TAG; + } + } else + pkt->control_flags = CF_SIMPLE_TAG; + + /* Load SCSI command packet. */ + cdb_len = (uint16_t)CMD_CDBLEN(cmd); + if (cdb_len > MAX_COMMAND_SIZE) + cdb_len = MAX_COMMAND_SIZE; + data_ptr = (uint8_t *) &(CMD_CDBP(cmd)); + for (cnt = 0; cnt < cdb_len; cnt++) + pkt->scsi_cdb[cnt] = *data_ptr++; + if (sp->cmd_length > MAX_COMMAND_SIZE) + for (cnt = MAX_COMMAND_SIZE; + cnt < MAX_CMDSZ; + cnt++) { + + pkt->scsi_cdb[cnt] = + sp->more_cdb[cnt-MAX_COMMAND_SIZE]; + } + pkt->byte_count = (uint32_t)CMD_XFRLEN(cmd); + + /* + * Load data segments. + */ + if (seg_cnt) { /* If data transfer. */ + switch (cmd->data_cmnd[0]) { + case FORMAT_UNIT: + case WRITE_6: + case MODE_SELECT: + case SEND_DIAGNOSTIC: + case WRITE_10: + case WRITE_BUFFER: + case WRITE_LONG: + case WRITE_SAME: + case MODE_SELECT_10: + case WRITE_12: + case WRITE_VERIFY: + case WRITE_VERIFY_12: + case SEND_VOLUME_TAG: + pkt->control_flags |= BIT_6; + break; + default: + if (cmd->sc_data_direction == SCSI_DATA_WRITE) + pkt->control_flags |= BIT_6;/*WRITE*/ + else + pkt->control_flags |= BIT_5;/*READ*/ + break; + } + sp->dir = pkt->control_flags & (BIT_5|BIT_6); + + /* Set total data segment count. */ + pkt->dseg_count = seg_cnt; + + /* Setup packet address segment pointer. */ + dword_ptr = (uint32_t *)&pkt->dseg_0_address; + + if (cmd->use_sg) { /* If scatter gather */ + /* Load command entry data segments. */ + for (cnt = 0; + cnt < 2 && seg_cnt; + cnt++, seg_cnt--) { + + /* 4.10 64 bit */ + *dword_ptr++ = cpu_to_le32(pci_dma_lo32(sg_dma_address(sg))); + *dword_ptr++ = cpu_to_le32(pci_dma_hi32(sg_dma_address(sg))); + *dword_ptr++ = cpu_to_le32(sg_dma_len(sg)); + sg++; + /* DEBUG(sprintf(debug_buff, + "S/G Segment phys_addr=%x %x, len=0x%x\n", + cpu_to_le32(pci_dma_hi32(sg_dma_address(sg))), + cpu_to_le32(pci_dma_lo32(sg_dma_address(sg))), + cpu_to_le32(sg_dma_len(sg)));) + */ + } +#ifdef QL_DEBUG_LEVEL_5 + printk("qla2x00_64bit_start_scsi: " + "Scatter/gather command " + "packet data - b%dt%dd%d\n", + (uint32_t)SCSI_BUS_32(cmd), + (uint32_t)SCSI_TCN_32(cmd), + (uint32_t)SCSI_LUN_32(cmd)); + qla2x00_dump_buffer((caddr_t)pkt, + REQUEST_ENTRY_SIZE); +#endif + /* + * Build continuation packets. + */ + while (seg_cnt > 0) { + /* Adjust ring index. */ + ha->req_ring_index++; + if (ha->req_ring_index == REQUEST_ENTRY_CNT) { + ha->req_ring_index = 0; + ha->request_ring_ptr = + ha->request_ring; + } else + ha->request_ring_ptr++; + + pkt = (cmd_a64_entry_t *)ha->request_ring_ptr; + + /* Zero out packet. */ + dword_ptr = (uint32_t *)pkt; + for (cnt = 0; + cnt < REQUEST_ENTRY_SIZE/4; + cnt++) + *dword_ptr++ = 0; + + /* Load packet defaults. */ + ((cont_a64_entry_t *)pkt)->entry_type = + CONTINUE_A64_TYPE; + ((cont_a64_entry_t *)pkt)->entry_count = 1; + ((cont_a64_entry_t *)pkt)->sys_define = + (uint8_t)ha->req_ring_index; + + /* Setup packet address segment pointer. */ + dword_ptr = (uint32_t *) + &((cont_a64_entry_t *)pkt)->dseg_0_address; + + /* Load continuation entry data segments. */ + for (cnt = 0; cnt < 5 && seg_cnt; cnt++, seg_cnt--) { + /* 4.10 64 bit */ + *dword_ptr++ = cpu_to_le32(pci_dma_lo32(sg_dma_address(sg))); + *dword_ptr++ = cpu_to_le32(pci_dma_hi32(sg_dma_address(sg))); + *dword_ptr++ = cpu_to_le32(sg_dma_len(sg)); + sg++; + /* DEBUG(sprintf(debug_buff, + "S/G Segment Cont. phys_addr=%x %x, len=0x%x\n", + cpu_to_le32(pci_dma_hi32(sg_dma_address(sg))), + cpu_to_le32(pci_dma_lo32(sg_dma_address(sg))), + cpu_to_le32(sg_dma_len(sg)));) + */ + } +#ifdef QL_DEBUG_LEVEL_5 + printk("qla2x00_64bit_start_scsi: " + "continuation packet data - " + "b%ldt%ldd%ld\n", + (u_long)SCSI_BUS_32(cmd), + (u_long)SCSI_TCN_32(cmd), + (u_long)SCSI_LUN_32(cmd)); + qla2x00_dump_buffer((caddr_t)pkt, REQUEST_ENTRY_SIZE); +#endif + + } + } else { /* No scatter gather data transfer */ + /* 4.10 64 bit */ + dma_handle = pci_map_single(ha->pdev, + cmd->request_buffer, + cmd->request_bufflen, + scsi_to_pci_dma_dir(cmd->sc_data_direction)); + /* save dma_handle for pci_unmap_single */ + sp->saved_dma_handle = dma_handle; + + *dword_ptr++ = cpu_to_le32(pci_dma_lo32(dma_handle)); + *dword_ptr++ = cpu_to_le32(pci_dma_hi32(dma_handle)); + *dword_ptr = (uint32_t) cmd->request_bufflen; + /* + * DEBUG(printk( + * "64_bit: No S/G map_single saved_dma_handle=%lx len=%x \n", + * dma_handle, cmd->request_bufflen);) + */ +#ifdef QL_DEBUG_LEVEL_5 + printk("qla2x00_64bit_start_scsi: No scatter/gather " + "command packet data - d%dt%dd%d\n", + (uint32_t)SCSI_BUS_32(cmd), + (uint32_t)SCSI_TCN_32(cmd), + (uint32_t)SCSI_LUN_32(cmd)); + qla2x00_dump_buffer((caddr_t)pkt, REQUEST_ENTRY_SIZE); +#endif + } + } + else { /* No data transfer */ + *dword_ptr++ = (uint32_t) 0; + *dword_ptr++ = (uint32_t) 0; + *dword_ptr = (uint32_t) 0; +#ifdef QL_DEBUG_LEVEL_5 + printk("qla2x00_64bit_start_scsi: No data, " + "command packet data - " + "b%dt%dd%d\n", + (uint32_t)SCSI_BUS_32(cmd), + (uint32_t)SCSI_TCN_32(cmd), + (uint32_t)SCSI_LUN_32(cmd)); + qla2x00_dump_buffer((caddr_t)pkt, REQUEST_ENTRY_SIZE); +#endif + } + DEBUG4(printk("qla2100_64bit_start_scsi: Wakeup " + "RISC for pending command\n")); + /* Adjust ring index. */ + ha->req_ring_index++; + if (ha->req_ring_index == REQUEST_ENTRY_CNT) { + ha->req_ring_index = 0; + ha->request_ring_ptr = ha->request_ring; + } else + ha->request_ring_ptr++; + + ha->actthreads++; + ha->total_ios++; + sp->ha = ha; + sp->lun_queue->out_cnt++; + sp->flags |= SRB_DMA_VALID; + sp->state = SRB_ACTIVE_STATE; + sp->u_start = jiffies; + + /* Set chip new ring index. */ +#if WATCH_THREADS_SIZE + DEBUG3(printk("qla2x00_64bit_start_scsi: " + "actthreads=%ld.\n", + ha->actthreads);) +#endif +#if defined(ISP2100) || defined(ISP2200) + temp = CACHE_FLUSH(®->mailbox4); + WRT_REG_WORD(®->mailbox4, ha->req_ring_index); +#else + temp = CACHE_FLUSH(®->req_q_in); + WRT_REG_WORD(®->req_q_in, ha->req_ring_index); +#endif + } else { + status = 1; + DEBUG5(printk("qla2x00_64bit_start_scsi: NO ROOM " + "IN OUTSTANDING ARRAY. " + "req_q_cnt=%lx.\n", + (u_long)ha->req_q_cnt);) + + } + } else { + status = 1; +#ifdef QL_DEBUG_LEVEL_5 + + printk("qla2x00_64bit_start_scsi: in-ptr=%lx req_q_cnt=%lx " + "req_cnt=%lx.\n", + (u_long)ha->req_ring_index, + (u_long)ha->req_q_cnt, + (u_long)req_cnt); +#endif + + } + + /* Release ring specific lock */ + spin_unlock_irqrestore(&ha->hardware_lock, flags); + +#if defined(QL_DEBUG_LEVEL_3) + + if( status ) + printk("qla2x00_64bit_start_scsi: **** FAILED ****\n"); +#endif +#ifdef QL_DEBUG_LEVEL_3 + + else + printk("qla2x00_64bit_start_scsi: exiting normally\n"); +#endif + + return(status); +} + +/* +* qla2x00_32bit_start_scsi +* The start SCSI is responsible for building request packets on +* request ring and modifying ISP input pointer. +* +* The Qlogic firmware interface allows every queue slot to have a SCSI +* command and up to 4 scatter/gather (SG) entries. If we need more +* than 4 SG entries, then continuation entries are used that can +* hold another 7 entries each. The start routine determines if there +* is eought empty slots then build the combination of requests to +* fulfill the OS request. +* +* Input: +* ha = adapter block pointer. +* sp = SCSI Request Block structure pointer. +* +* Returns: +* 0 = success, was able to issue command. +*/ +STATIC uint8_t +qla2x00_32bit_start_scsi(srb_t *sp) +{ + unsigned long flags = 0; + device_reg_t *reg; + uint8_t status = 0; + uint8_t found = 0; + Scsi_Cmnd *cmd = sp->cmd; + uint16_t cdb_len, temp; + uint32_t cnt, index; + cmd_entry_t *pkt; + uint16_t req_cnt; + uint16_t seg_cnt; + struct scatterlist *sg = (struct scatterlist *) NULL; + caddr_t data_ptr; + uint32_t *dword_ptr; + uint32_t timeout; + uint64_t dma_handle; + scsi_qla_host_t *ha; + fc_lun_t *fclun; + + ENTER("qla2x00_32bit_start_scsi"); + + /* Setup device pointers. */ + fclun = sp->lun_queue->fclun; + ha = fclun->fcport->ha; + reg = ha->iobase; + + /* ra 11/27/01 + * Send marker if required. + */ + if (ha->marker_needed != 0) { + if(qla2x00_marker(ha, 0, 0, MK_SYNC_ALL) != QLA2X00_SUCCESS) { + return (1); + } + ha->marker_needed = 0; + } + + DEBUG5(printk("32bit_start: ha(%d) cmd=%p sp=%p CDB=%x\n", + (int)ha->instance,cmd,sp,cmd->cmnd[0]);) + + /* Calculate number of entries and segments required. */ + seg_cnt = 0; + req_cnt = 1; + if (cmd->use_sg) { + sg = (struct scatterlist *) cmd->request_buffer; + /* 4.10 32 bit S/G Data Transfer */ + seg_cnt = pci_map_sg(ha->pdev,sg,cmd->use_sg, + scsi_to_pci_dma_dir(cmd->sc_data_direction)); + /* + * if greater than four sg entries then we need to allocate + * continuation entries + */ + if (seg_cnt > 2) { + req_cnt += (uint16_t)(seg_cnt - 3) / 7; + if ((uint16_t)(seg_cnt - 3) % 7) + req_cnt++; + } + DEBUG5(printk("S/G for data transfer -num segs(%d), " + "req blk cnt(%d)\n", + seg_cnt, + req_cnt)); + + } else if (CMD_XFRLEN(cmd)) { /* If data transfer. */ + /* no S/G Data Transfer */ + DEBUG5(printk("Single data transfer (0x%x)\n", + cmd->request_bufflen)); + seg_cnt = 1; + } + + /* Does F/W have an IOCBs for this request. */ + if ((ha->iocb_cnt + (uint32_t)req_cnt) >= ha->iocb_hiwat) { + DEBUG2(printk("qla2x00_32bit_start_scsi: Not Eought " + "IOCBS for request. " + "iocb_cnt=%lx, req_cnt=%lx, hiwat=%lx.\n", + (u_long)ha->iocb_cnt, req_cnt, ha->iocb_hiwat);) + +#ifdef IOCB_HIT_RATE + ha->iocb_overflow_cnt++; +#endif + if (cmd->use_sg) + pci_unmap_sg(ha->pdev, + sg, + cmd->use_sg, + scsi_to_pci_dma_dir( + cmd->sc_data_direction)); + + return 1; + } + + + /* Acquire ring specific lock */ + spin_lock_irqsave(&ha->hardware_lock, flags); + + if ((uint16_t)(req_cnt + 2) >= ha->req_q_cnt) { + /* Calculate number of free request entries. */ +#if defined(ISP2100) || defined(ISP2200) + cnt = qla2x00_debounce_register(®->mailbox4); +#else + cnt = qla2x00_debounce_register(®->req_q_out); +#endif + if (ha->req_ring_index < cnt) + ha->req_q_cnt = cnt - ha->req_ring_index; + else + ha->req_q_cnt = REQUEST_ENTRY_CNT - + (ha->req_ring_index - cnt); + } + + DEBUG5(printk("Number of free entries = (%d)\n", + ha->req_q_cnt)); + /* If room for request in request ring. */ + if ((uint16_t)(req_cnt + 2) < ha->req_q_cnt) { + /* Check for room in outstanding command list. */ + cnt = ha->current_outstanding_cmd; + for (index = 1; index < MAX_OUTSTANDING_COMMANDS; index++) { + cnt++; + if (cnt == MAX_OUTSTANDING_COMMANDS) + cnt = 1; + if (ha->outstanding_cmds[cnt] == 0) { + found = 1; + ha->current_outstanding_cmd = cnt; + break; + } + } + if (found) { + ha->outstanding_cmds[cnt] = sp; + ha->req_q_cnt -= req_cnt; + ha->iocb_cnt += req_cnt; + sp->iocb_cnt = req_cnt; + /* save the handle -- it help if we have to abort it */ + CMD_HANDLE(sp->cmd) = (unsigned char *) (u_long) cnt; + + /* + * Build command packet. + */ + pkt = (cmd_entry_t *)ha->request_ring_ptr; + + pkt->entry_type = COMMAND_TYPE; + pkt->entry_count = (uint8_t)req_cnt; + pkt->sys_define = (uint8_t)ha->req_ring_index; + pkt->entry_status = 0; + pkt->control_flags= 0; + pkt->handle = (uint32_t)cnt; + + /* Zero out remaining portion of packet. */ + dword_ptr = (uint32_t *)pkt + 2; + for (cnt = 2; cnt < REQUEST_ENTRY_SIZE/4; cnt++) + *dword_ptr++ = 0; + + /* + * We subtract 7 sec. from the timeout value to insure + * the ISP time-out before the mid-level or the driver. + */ + timeout = (uint32_t) CMD_TIMEOUT(cmd)/HZ; + if (timeout > 7) + pkt->timeout = (uint16_t) timeout - 7; + else + pkt->timeout = (uint16_t) timeout; + +#if VSA + if ((cmd->data_cmnd[0] == 0x26) || + (cmd->data_cmnd[0] == 0xA0) || + (cmd->data_cmnd[0] == 0xCB) ) { + + pkt->lun = fclun->lun; + } else if ((fclun->fcport->flags & FC_VSA)) + pkt->lun = (fclun->lun | 0x4000); + else + pkt->lun = fclun->lun; +#else + /* Set LUN number*/ + pkt->lun = fclun->lun; +#endif + + /* Set target ID */ + pkt->target = (uint8_t)fclun->fcport->loop_id; + + /* Enable simple tag queuing if device supports it. */ + if (cmd->device->tagged_queue) { + switch (cmd->tag) { + case SIMPLE_QUEUE_TAG: + pkt->control_flags = + CF_SIMPLE_TAG; + break; + case HEAD_OF_QUEUE_TAG: + pkt->control_flags = + CF_HEAD_TAG; + break; + case ORDERED_QUEUE_TAG: + pkt->control_flags = + CF_ORDERED_TAG; + break; + default: + pkt->control_flags = + CF_SIMPLE_TAG; + } + } else + pkt->control_flags = CF_SIMPLE_TAG; + + /* Load SCSI command packet. */ + cdb_len = (uint16_t)CMD_CDBLEN(cmd); + if (cdb_len > MAX_COMMAND_SIZE) + cdb_len = MAX_COMMAND_SIZE; + data_ptr = (uint8_t *) &(CMD_CDBP(cmd)); + for (cnt = 0; cnt < cdb_len; cnt++) + pkt->scsi_cdb[cnt] = *data_ptr++; + if (sp->cmd_length > MAX_COMMAND_SIZE) + for (cnt = MAX_COMMAND_SIZE; + cnt < MAX_CMDSZ; + cnt++) { + pkt->scsi_cdb[cnt] = + sp->more_cdb[cnt-MAX_COMMAND_SIZE]; + } + + DEBUG5(printk("32bit_start: Hba=%02ld, lun=%02d, " + "scsi Cdb[0]=0x%x, handle=0x%x, " + "loop id =0x%x, sp=%p\n", + ha->instance, + pkt->lun, + pkt->scsi_cdb[0], + pkt->handle, + pkt->target, + sp);) + pkt->byte_count = (uint32_t) CMD_XFRLEN(cmd); + + /* + * Load data segments. + */ + if (seg_cnt) { + /* Set transfer direction (READ and WRITE) */ + /* Linux doesn't tell us */ + + switch( cmd->data_cmnd[0] ) { + case FORMAT_UNIT: + case WRITE_6: + case MODE_SELECT: + case SEND_DIAGNOSTIC: + case WRITE_10: + case WRITE_BUFFER: + case WRITE_LONG: + case WRITE_SAME: + case MODE_SELECT_10: + case WRITE_12: + case WRITE_VERIFY: + case WRITE_VERIFY_12: + case SEND_VOLUME_TAG: + pkt->control_flags |= BIT_6; + break; + default: + if (cmd->sc_data_direction == SCSI_DATA_WRITE) + pkt->control_flags |= BIT_6;/*WRITE*/ + else + pkt->control_flags |= BIT_5;/*READ*/ + break; + } + sp->dir = pkt->control_flags & (BIT_5|BIT_6); + + /* Set total data segment count. */ + pkt->dseg_count = seg_cnt; + + /* Setup packet address segment pointer. */ + dword_ptr = (uint32_t *)&pkt->dseg_0_address; + + if (cmd->use_sg) { /* If scatter gather */ + DEBUG5(printk("Building S/G data " + "segments..\n")); + DEBUG5(qla2x00_dump_buffer((caddr_t)sg, + 4*16)); + /* Load command entry data segments. */ + for (cnt = 0; + cnt < 3 && seg_cnt; + cnt++, seg_cnt-- ) { + + *dword_ptr++ = cpu_to_le32(pci_dma_lo32(sg_dma_address(sg))); + *dword_ptr++ = cpu_to_le32(sg_dma_len(sg)); + /* DEBUG(printk( + "S/G Segment phys_addr=0x%x, len=0x%x\n", + cpu_to_le32(pci_dma_lo32(sg_dma_address(sg))), + cpu_to_le32(sg_dma_len(sg)));) + */ + sg++; + } +#ifdef QL_DEBUG_LEVEL_5 + printk("qla2x00_32bit_start_scsi: " + "Scatter/gather command " + "packet data - %ld:%d:%d:%d.\n", + (u_long)ha->host_no, + SCSI_BUS_32(cmd), + SCSI_TCN_32(cmd), + SCSI_LUN_32(cmd)); + qla2x00_dump_buffer((uint8_t *)pkt, + REQUEST_ENTRY_SIZE); +#endif + /* + * Build continuation packets. + */ + while (seg_cnt > 0) { + /* Adjust ring index. */ + ha->req_ring_index++; + if (ha->req_ring_index == REQUEST_ENTRY_CNT) { + ha->req_ring_index = 0; + ha->request_ring_ptr = + ha->request_ring; + } else + ha->request_ring_ptr++; + + pkt = (cmd_entry_t *)ha->request_ring_ptr; + + /* Zero out packet. */ + dword_ptr = (uint32_t *)pkt; + for (cnt = 0; + cnt < REQUEST_ENTRY_SIZE/4; + cnt++) + *dword_ptr++ = 0; + + /* Load packet defaults. */ + ((cont_entry_t *)pkt)->entry_type = CONTINUE_TYPE; + ((cont_entry_t *)pkt)->entry_count = 1; + ((cont_entry_t *)pkt)->sys_define = (uint8_t) + ha->req_ring_index; + + /* Setup packet address segment pointer. */ + dword_ptr = (uint32_t *) + &((cont_entry_t *)pkt)->dseg_0_address; + + /* Load continuation entry data segments. */ + for (cnt = 0; + cnt < 7 && seg_cnt; + cnt++, seg_cnt--) { + + /* 4.10 32 bit */ + *dword_ptr++ = cpu_to_le32(pci_dma_lo32(sg_dma_address(sg))); + *dword_ptr++ = cpu_to_le32(sg_dma_len(sg)); + /* DEBUG(printk( + "S/G Segment Cont. phys_addr=0x%x, len=0x%x\n", + cpu_to_le32(pci_dma_lo32(sg_dma_address(sg))), + cpu_to_le32(sg_dma_len(sg)));) + */ + sg++; + } +#ifdef QL_DEBUG_LEVEL_5 + printk("qla2x00_32bit_start_scsi: " + "continuation packet " + "data - %ld:%d:%d:%d.\n", + ha->host_no, + SCSI_BUS_32(cmd), + SCSI_TCN_32(cmd), + SCSI_LUN_32(cmd)); + qla2x00_dump_buffer((uint8_t *)pkt, + REQUEST_ENTRY_SIZE); +#endif + + } + } else { /* No scatter gather data transfer */ + /* 4.10 32 bit */ + dma_handle = pci_map_single(ha->pdev, + cmd->request_buffer, + cmd->request_bufflen, + scsi_to_pci_dma_dir(cmd->sc_data_direction)); + sp->saved_dma_handle = dma_handle; + + *dword_ptr++ = cpu_to_le32(pci_dma_lo32(dma_handle)); + *dword_ptr = (uint32_t) cmd->request_bufflen; + /* DEBUG(printk("32_bit: No S/G map_single " + "dma_handle=%lx len=%x\n", + dma_handle,cmd->request_bufflen)); + */ + DEBUG5(printk("Single Segment ap=0x%p, " + "len=0x%x\n", + cmd->request_buffer, + cmd->request_bufflen)); +#ifdef QL_DEBUG_LEVEL_5 + printk("qla2x00_32bit_start_scsi: No " + "scatter/gather command packet " + "data - %ld:%d:%d:%d.\n", + ha->host_no, + SCSI_BUS_32(cmd), + SCSI_TCN_32(cmd), + SCSI_LUN_32(cmd)); + qla2x00_dump_buffer((uint8_t *)pkt, + REQUEST_ENTRY_SIZE); +#endif + } + } else { /* No data transfer */ + *dword_ptr++ = (uint32_t) 0; + *dword_ptr = (uint32_t) 0; +#ifdef QL_DEBUG_LEVEL_5 + printk("qla2x00_32bit_start_scsi: No data, " + "command packet data - " + "%ld:%d:%d:%d.\n", + ha->host_no, + SCSI_BUS_32(cmd), + SCSI_TCN_32(cmd), + SCSI_LUN_32(cmd)); + qla2x00_dump_buffer((uint8_t *)pkt, + REQUEST_ENTRY_SIZE); +#endif + } + /* Adjust ring index. */ + ha->req_ring_index++; + if (ha->req_ring_index == REQUEST_ENTRY_CNT) { + ha->req_ring_index = 0; + ha->request_ring_ptr = ha->request_ring; + } else + ha->request_ring_ptr++; + + /* Set chip new ring index. */ + DEBUG5(printk("qla2100_32bit_start_scsi: Wakeup " + "RISC for pending command\n")); + DEBUG5(qla2x00_dump_buffer((caddr_t)pkt, 64)); + + ha->actthreads++; + ha->total_ios++; + sp->ha = ha; + sp->lun_queue->out_cnt++; + sp->flags |= SRB_DMA_VALID; + sp->state = SRB_ACTIVE_STATE; + sp->u_start = jiffies; + + DEBUG5(printk("%ld ",cmd->serial_number); ) + +#if WATCH_THREADS_SIZE + DEBUG3(printk("qla2x00_32bit_start_scsi: " + "actthreads=%ld.\n", + ha->actthreads);) +#endif +#if defined(ISP2100) || defined(ISP2200) + temp = CACHE_FLUSH(®->mailbox4); + WRT_REG_WORD(®->mailbox4, ha->req_ring_index); +#else + temp = CACHE_FLUSH(®->req_q_in); + WRT_REG_WORD(®->req_q_in, ha->req_ring_index); +#endif + } else { + status = 1; + qla2x00_stats.outarray_full++; + DEBUG5(printk("qla2x00_32bit_start_scsi: NO ROOM " + "IN OUTSTANDING ARRAY\n");) + } + } else { + status = 1; + + DEBUG5(printk("qla2100_32bit_start_scsi: in-ptr=%x req_q_cnt=%x " + "req_cnt=%x.\n", + ha->req_ring_index, + ha->req_q_cnt, + req_cnt);) + } + + /* Release ring specific lock */ + spin_unlock_irqrestore(&ha->hardware_lock, flags); + +#if defined(QL_DEBUG_LEVEL_3) || defined(QL_DEBUG_LEVEL_3) + if( status ) + printk("qla2x00_32bit_start_scsi: **** FAILED ****\n"); +#endif + + LEAVE("qla2x00_32bit_start_scsi"); + + return(status); +} + +/* +* qla2x00_ms_req_pkt +* Function is responsible for locking ring and +* getting a zeroed out Managment Server request packet. +* +* Input: +* ha = adapter block pointer. +* sp = srb_t pointer to handle post function call +* Returns: +* 0 = failed to get slot. +* +* Note: Need to hold the hardware lock before calling this routine. +*/ +STATIC request_t * +qla2x00_ms_req_pkt(scsi_qla_host_t *ha, srb_t *sp) +{ + device_reg_t *reg = ha->iobase; + request_t *pkt = 0; + uint16_t cnt, i, index; + uint32_t *dword_ptr; + uint32_t timer; + uint8_t found = 0; + uint16_t req_cnt = 1; + + ENTER("qla2x00_ms_req_pkt"); + + /* Wait 1 second for slot. */ + for (timer = HZ; timer; timer--) { + /* Acquire ring specific lock */ + + if ((uint16_t)(req_cnt + 2) >= ha->req_q_cnt) { + /* Calculate number of free request entries. */ +#if defined(ISP2100) || defined(ISP2200) + cnt = qla2x00_debounce_register(®->mailbox4); +#else + cnt = qla2x00_debounce_register(®->req_q_out); +#endif + + if (ha->req_ring_index < cnt) { + ha->req_q_cnt = cnt - ha->req_ring_index; + } else { + ha->req_q_cnt = REQUEST_ENTRY_CNT - + (ha->req_ring_index - cnt); + } + } + + /* Check for room in outstanding command list. */ + cnt = ha->current_outstanding_cmd; + for (index = 1; index < MAX_OUTSTANDING_COMMANDS; index++) { + cnt++; + if (cnt == MAX_OUTSTANDING_COMMANDS) + cnt = 1; + + if (ha->outstanding_cmds[cnt] == 0) { + found = 1; + ha->current_outstanding_cmd = cnt; + break; + } + } + + /* If room for request in request ring. */ + if (found && (uint16_t)(req_cnt + 2) < ha->req_q_cnt) { + + pkt = ha->request_ring_ptr; + + /* Zero out packet. */ + dword_ptr = (uint32_t *)pkt; + for( i = 0; i < REQUEST_ENTRY_SIZE/4; i++ ) + *dword_ptr++ = 0; + + DEBUG5(printk("qla2x00_ms_req: putting sp=%p in " + "outstanding_cmds[%x]\n", + sp,cnt);) + + ha->outstanding_cmds[cnt] = sp; + + /* save the handle */ + CMD_HANDLE(sp->cmd) = (unsigned char *) (u_long) cnt; + CMD_SP(sp->cmd) = (void *)sp; + + ha->req_q_cnt--; + pkt->handle = (uint32_t)cnt; + + /* Set system defined field. */ + pkt->sys_define = (uint8_t)ha->req_ring_index; + pkt->entry_status = 0; + + break; + } + + /* Release ring specific lock */ + spin_unlock(&ha->hardware_lock); + udelay(20); + + /* Check for pending interrupts. */ + qla2x00_poll(ha); + spin_lock_irq(&ha->hardware_lock); + } + +#if defined(QL_DEBUG_LEVEL_2) || defined(QL_DEBUG_LEVEL_3) + if( !pkt ) + printk("qla2100_ms_req_pkt: **** FAILED ****\n"); +#endif + + LEAVE("qla2x00_ms_req_pkt"); + + return(pkt); +} + +/* +* qla2x00_req_pkt +* Function is responsible for locking ring and +* getting a zeroed out request packet. +* +* Input: +* ha = adapter block pointer. +* +* Returns: +* 0 = failed to get slot. +*/ +STATIC request_t * +qla2x00_req_pkt(scsi_qla_host_t *ha) +{ + device_reg_t *reg = ha->iobase; + request_t *pkt = 0; + uint16_t cnt; + uint32_t *dword_ptr; + uint32_t timer; + uint16_t req_cnt = 1; + + ENTER("qla2x00_req_pkt"); + + /* Wait 1 second for slot. */ + for (timer = HZ; timer; timer--) { + /* Acquire ring specific lock */ + + if ((uint16_t)(req_cnt + 2) >= ha->req_q_cnt) { + /* Calculate number of free request entries. */ +#if defined(ISP2100) || defined(ISP2200) + cnt = qla2x00_debounce_register(®->mailbox4); +#else + cnt = qla2x00_debounce_register(®->req_q_out); +#endif + if (ha->req_ring_index < cnt) + ha->req_q_cnt = cnt - ha->req_ring_index; + else + ha->req_q_cnt = REQUEST_ENTRY_CNT - + (ha->req_ring_index - cnt); + } + /* If room for request in request ring. */ + if ((uint16_t)(req_cnt + 2) < ha->req_q_cnt) { + ha->req_q_cnt--; + pkt = ha->request_ring_ptr; + + /* Zero out packet. */ + dword_ptr = (uint32_t *)pkt; + for (cnt = 0; cnt < REQUEST_ENTRY_SIZE/4; cnt++) + *dword_ptr++ = 0; + + /* Set system defined field. */ + pkt->sys_define = (uint8_t)ha->req_ring_index; + + /* Set entry count. */ + pkt->entry_count = 1; + + break; + } + + /* Release ring specific lock */ + spin_unlock(&ha->hardware_lock); + + udelay(2); /* 2 us */ + + /* Check for pending interrupts. */ + /* During init we issue marker directly */ + if (!ha->marker_needed) + qla2x00_poll(ha); + + spin_lock_irq(&ha->hardware_lock); + } + +#if defined(QL_DEBUG_LEVEL_2) || defined(QL_DEBUG_LEVEL_3) + if( !pkt ) + printk("qla2x00_req_pkt: **** FAILED ****\n"); +#endif + + LEAVE("qla2x00_req_pkt"); + + return(pkt); +} + +/* +* qla2x00_isp_cmd +* Function is responsible for modifying ISP input pointer. +* Releases ring lock. +* +* Input: +* ha = adapter block pointer. +*/ +STATIC void +qla2x00_isp_cmd(scsi_qla_host_t *ha) +{ + device_reg_t *reg = ha->iobase; + + ENTER("qla2x00_isp_cmd"); + +#ifdef QL_DEBUG_LEVEL_5 + printk("qla2100_isp_cmd: IOCB data:\n"); + qla2x00_dump_buffer((uint8_t *)ha->request_ring_ptr, REQUEST_ENTRY_SIZE); +#endif + + /* Adjust ring index. */ + ha->req_ring_index++; + if (ha->req_ring_index == REQUEST_ENTRY_CNT) { + ha->req_ring_index = 0; + ha->request_ring_ptr = ha->request_ring; + } else + ha->request_ring_ptr++; + + /* Set chip new ring index. */ +#if defined(ISP2100) || defined(ISP2200) + WRT_REG_WORD(®->mailbox4, ha->req_ring_index); +#else + WRT_REG_WORD(®->req_q_in, ha->req_ring_index); +#endif + + LEAVE("qla2x00_isp_cmd"); +} + +/* +* qla2x00_enable_lun +* Issue enable LUN entry IOCB. +* +* Input: +* ha = adapter block pointer. +*/ +STATIC void +qla2x00_enable_lun(scsi_qla_host_t *ha) +{ + unsigned long flags = 0; + elun_entry_t *pkt; + + ENTER("qla2x00_enable_lun"); + + spin_lock_irqsave(&ha->hardware_lock, flags); + /* Get request packet. */ + if ((pkt = (elun_entry_t *)qla2x00_req_pkt(ha)) != NULL) { + pkt->entry_type = ENABLE_LUN_TYPE; + pkt->command_count = 32; + pkt->immed_notify_count = 1; + pkt->timeout = 0xffff; + + /* Issue command to ISP */ + qla2x00_isp_cmd(ha); + } + spin_unlock_irqrestore(&ha->hardware_lock, flags); + +#if defined(QL_DEBUG_LEVEL_2) || defined(QL_DEBUG_LEVEL_3) + if (!pkt) + printk("qla2100_enable_lun: **** FAILED ****\n"); +#endif + + LEAVE("qla2x00_enable_lun"); +} + + +#if QL2100_TARGET_MODE_SUPPORT +/****************************************************************************/ +/* Target Mode Support Functions. */ +/****************************************************************************/ + + +/* +* qla2x00_notify_ack +* Issue notify acknowledge IOCB. +* If sequence ID is zero, acknowledgement of +* SCSI bus reset or bus device reset is assumed. +* +* Input: +* ha = adapter block pointer. +* inotify = immediate notify entry pointer. +*/ +STATIC void +qla2x00_notify_ack(scsi_qla_host_t *ha, notify_entry_t *inotify) +{ + nack_entry_t *pkt; + + ENTER("qla2x00_notify_ack: entered\n"); + + /* Get request packet. */ + if (pkt = (nack_entry_t *)qla2x00_req_pkt(ha)) { + pkt->entry_type = NOTIFY_ACK_TYPE; + pkt->initiator_id = inotify->initiator_id; + pkt->target_id = inotify->target_id; + + if ((pkt->status = inotify->status) == 0xe) + /* Reset LIP occurred. */ + pkt->flags = OF_RESET; + else + /* Increment Immediate Notify Resource Count. */ + pkt->flags = OF_INC_RC; + + pkt->task_flags = inotify->task_flags; + pkt->seq_id = inotify->seq_id; + + /* Issue command to ISP */ + qla2x00_isp_cmd(ha); + } + +#if defined(QL_DEBUG_LEVEL_2) || defined(QL_DEBUG_LEVEL_3) + if (!pkt) + printk("qla2100_notify_ack: **** FAILED ****\n"); +#endif + + LEAVE("qla2x00_notify_ack: exiting normally\n"); +} + +/* +* qla2x00_64bit_continue_io +* Issue continue target I/O IOCB. +* +* Input: +* ha = adapter block pointer. +* atio = atio pointer. +* len = total bytecount. +* addr = physical address pointer. +*/ +STATIC void +qla2x00_64bit_continue_io(scsi_qla_host_t *ha, atio_entry_t *atio, + uint32_t len, u_long *addr) +{ + ctio_a64_entry_t *pkt; + uint32_t *dword_ptr; + + ENTER("qla2x00_64bit_continue_io: entered\n"); + + /* Get request packet. */ + if (pkt = (ctio_a64_entry_t *)qla2x00_req_pkt(ha)) { + pkt->entry_type = CTIO_A64_TYPE; + pkt->initiator_id = atio->initiator_id; + pkt->exchange_id = atio->exchange_id; + pkt->flags = atio->flags | OF_FAST_POST; + pkt->scsi_status = atio->scsi_status; + + if (len) { + pkt->dseg_count = 1; + pkt->transfer_length = len; + pkt->dseg_0_length = len; + dword_ptr = (uint32_t *)addr; + pkt->dseg_0_address[0] = *dword_ptr++; + pkt->dseg_0_address[1] = *dword_ptr; + } + + /* Issue command to ISP */ + qla2x00_isp_cmd(ha); + } + +#if defined(QL_DEBUG_LEVEL_2) || defined(QL_DEBUG_LEVEL_3) + if (!pkt) + printk("qla2100_64bit_continue_io: **** FAILED ****\n"); +#endif + + LEAVE("qla2x00_64bit_continue_io: exiting normally\n"); +} + +/* +* qla2x00_32bit_continue_io +* Issue continue target I/O IOCB. +* +* Input: +* ha = adapter block pointer. +* atio = atio pointer. +* len = total bytecount. +* addr = physical address pointer. +*/ +STATIC void +qla2x00_32bit_continue_io(scsi_qla_host_t *ha, atio_entry_t *atio, + uint32_t len, u_long *addr) +{ + ctio_entry_t *pkt; + uint32_t *dword_ptr; + + ENTER("qla2x00_continue_io: entered\n"); + + /* Get request packet. */ + if (pkt = (ctio_entry_t *)qla2x00_req_pkt(ha)) { + pkt->entry_type = CONTINUE_TGT_IO_TYPE; + pkt->initiator_id = atio->initiator_id; + pkt->exchange_id = atio->exchange_id; + pkt->flags = atio->flags | OF_FAST_POST; + pkt->scsi_status = atio->scsi_status; + + if (len) { + pkt->dseg_count = 1; + pkt->transfer_length = len; + pkt->dseg_0_length = len; + dword_ptr = (uint32_t *)addr; + pkt->dseg_0_address = *dword_ptr; + } + + /* Issue command to ISP */ + qla2x00_isp_cmd(ha); + } + +#if defined(QL_DEBUG_LEVEL_2) || defined(QL_DEBUG_LEVEL_3) + if (!pkt) + printk("qla2100_32bit_continue_io: **** FAILED ****\n"); +#endif + + LEAVE("qla2x00_32bit_continue_io: exiting normally\n"); +} +#endif /* QL2100_TARGET_MODE_SUPPORT */ + + +/* + * qla2x00_process_completed_request + * Mark request denoted by "index" in the outstanding commands array + * as complete and handle the stuff needed for that. + * + * Input: + * ha = adapter block pointer. + * index = srb handle. + * async_event_status_code + * + * Note: To be called from the ISR only. + */ +STATIC void +qla2x00_process_completed_request(struct scsi_qla_host * ha, int index, + int async_event_status_code) +{ + srb_t *sp; + struct scsi_qla_host *vis_ha; + + ENTER("qla2x00_process_completed_request: entered\n"); + + /* Validate handle. */ + if (index < MAX_OUTSTANDING_COMMANDS) { + sp = ha->outstanding_cmds[index]; + } else { + DEBUG2(printk("qla2x00_process_completed_request(%ld): " + "invalid scsi completion handle %d.\n", + ha->host_no, + index);) + sp = 0; + } + + if (sp) { + /* Free outstanding command slot. */ + ha->outstanding_cmds[index] = 0; + ha->iocb_cnt -= sp->iocb_cnt; + vis_ha =(scsi_qla_host_t *)sp->cmd->host->hostdata; + if( ha->actthreads ) + ha->actthreads--; + sp->lun_queue->out_cnt--; + sp->flags |= SRB_ISP_COMPLETED; + CMD_COMPL_STATUS(sp->cmd) = 0L; + CMD_SCSI_STATUS(sp->cmd) = 0L; + + /* Save ISP completion status */ + CMD_RESULT(sp->cmd) = DID_OK << 16; + sp->fo_retry_cnt = 0; + add_to_done_queue(vis_ha,sp); + } else { + DEBUG2(printk("scsi(%d): qla2x00_process_completed_request: " + "ISP invalid handle\n", + (int)ha->host_no);) + printk(KERN_WARNING + "qla2x00_process_completed_request: " + "ISP invalid handle"); + + set_bit(ISP_ABORT_NEEDED, &ha->dpc_flags); + } + + LEAVE("qla2x00_process_completed_request: exiting\n"); +} + +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,7) +/* +* qla2x00_process_risc_intrs +* Check and process multiple pending interrupts. +* +* Input: +* ha = adapter block pointer. +* io_request_lock must be already obtained. +* +*/ +STATIC void +qla2x00_process_risc_intrs(scsi_qla_host_t *ha) +{ + unsigned long mbx_flags = 0 , flags = 0; + uint16_t data; + uint8_t got_mbx = 0; + device_reg_t *reg; + + reg = ha->iobase; + + DEBUG(printk("qla2x00_process_risc_intrs: check " + "and process pending intrs.\n");) + + spin_lock_irqsave(&ha->hardware_lock, flags); + /* Check and process pending interrupts. */ +#if defined(ISP2100) || defined(ISP2200) + while (!(ha->flags.in_isr) && + ((data = RD_REG_WORD(®->istatus)) & RISC_INT)) +#else + while (!(ha->flags.in_isr) && + ((data = RD_REG_WORD(®->host_status_lo)) & HOST_STATUS_INT)) +#endif + { + ha->total_isr_cnt++; + qla2x00_isr(ha, data, &got_mbx); + } + + spin_unlock_irqrestore(&ha->hardware_lock, flags); + if (test_bit(MBX_INTR_WAIT, (void *)&ha->mbx_cmd_flags) && + got_mbx && ha->flags.mbox_int) { + /* There was a mailbox completion */ + DEBUG3(printk("qla2x00_process_risc_intrs: going " + "to get mbx reg lock.\n");) + + QLA_MBX_REG_LOCK(ha); + MBOX_TRACE(ha,BIT_5); + got_mbx = 0; + + if (ha->mcp == NULL) { + DEBUG3(printk("qla2x00_process_risc_intrs: error " + "mbx pointer.\n");) + } else { + DEBUG3(printk("qla2x00_process_risc_intrs: going " + "to set mbx intr flags. cmd=%x.\n", + ha->mcp->mb[0]);) + } + set_bit(MBX_INTERRUPT, (void *)&(ha->mbx_cmd_flags)); + + DEBUG3(printk("qla2x00_process_risc_intrs(%ld): going to wake " + "up mbx function for completion.\n", + ha->host_no);) + MBOX_TRACE(ha,BIT_6); + up(&ha->mbx_intr_sem); + + DEBUG3(printk("qla2x00_process_risc_intrs: going to " + "unlock mbx reg.\n");) + QLA_MBX_REG_UNLOCK(ha); + } + + DEBUG(printk("qla2x00_process_risc_intrs: exiting.\n");) +} +#endif + +/****************************************************************************/ +/* Interrupt Service Routine. */ +/****************************************************************************/ + +/* +* qla2x00_isr +* Calls I/O done on command completion. +* +* Input: +* ha = adapter block pointer. +* INTR_LOCK must be already obtained. +*/ +STATIC void +qla2x00_isr(scsi_qla_host_t *ha, uint16_t data, uint8_t *got_mbx) +{ + device_reg_t *reg = ha->iobase; + uint32_t index; + uint16_t *iptr, *mptr; + uint16_t mailbox[MAILBOX_REGISTER_COUNT]; + uint16_t cnt, temp1; + uint16_t response_index = RESPONSE_ENTRY_CNT; +#ifdef ISP2300 + uint16_t temp2; + uint8_t mailbox_int; +#endif + uint8_t rscn_queue_index; + + ENTER("qla2x00_isr"); + + /* Check for mailbox interrupt. */ + MBOX_TRACE(ha,BIT_2); +#if defined(ISP2100) || defined(ISP2200) + response_index = qla2x00_debounce_register(®->mailbox5); + temp1 = RD_REG_WORD(®->semaphore); + if (temp1 & BIT_0) { + temp1 = RD_REG_WORD(®->mailbox0); +#else + temp2 = RD_REG_WORD(®->host_status_hi); + mailbox_int = 0; + switch (data & 0xFF) { + case ROM_MB_CMD_COMP: + case ROM_MB_CMD_ERROR: + case MB_CMD_COMP: + case MB_CMD_ERROR: + case ASYNC_EVENT: + mailbox_int = 1; + temp1 = temp2; + break; + case FAST_SCSI_COMP: + mailbox_int = 1; + temp1 = MBA_SCSI_COMPLETION; + break; + case RESPONSE_QUEUE_INT: + response_index = temp2; + goto response_queue_int; + break; + +#ifdef FC_IP_SUPPORT + case RHS_IP_SEND_COMPLETE: + /* Clear RISC interrupt and do IP send completion */ + WRT_REG_WORD(®->host_cmd, HC_CLR_RISC_INT); + qla2x00_ip_send_complete(ha, temp2); + return; + + case RHS_IP_RECV_COMPLETE: + /* Handle IP receive */ + /* + * Note: QLIsrIpReceiveFastPost will clear + * RISC interrupt + */ + qla2x00_ip_receive_fastpost(ha, + MBA_IP_RECEIVE_COMPLETE); + return; + + case RHS_IP_RECV_DA_COMPLETE: + /* Handle IP receive with data alignment */ + /* + * Note: QLIsrIpReceiveFastPost will clear + * RISC interrupt + */ + qla2x00_ip_receive_fastpost(ha, + MBA_IP_RECEIVE_COMPLETE_SPLIT); + return; +#endif /* FC_IP_SUPPORT */ + + default: + WRT_REG_WORD(®->host_cmd, HC_CLR_RISC_INT); + goto isr_end; + break; + } + if (mailbox_int) { + MBOX_TRACE(ha,BIT_3); +#endif + +#ifdef FC_IP_SUPPORT + if (temp1 == MBA_IP_TRANSMIT_COMPLETE) { + uint16_t wHandle = RD_REG_WORD(®->mailbox1); + + /* Clear interrupt and do IP send completion */ + WRT_REG_WORD(®->host_cmd, HC_CLR_RISC_INT); +#if defined(ISP2100) || defined(ISP2200) + WRT_REG_WORD(®->semaphore, 0); +#endif + qla2x00_ip_send_complete(ha, wHandle); + return; + } + + if (temp1 == MBA_IP_RECEIVE_COMPLETE || + temp1 == MBA_IP_RECEIVE_COMPLETE_SPLIT) { + /* Handle IP receive */ + /* + * Note: QLIsrIpReceiveFastPost will clear + * RISC interrupt + */ + qla2x00_ip_receive_fastpost(ha, temp1); + return; + } +#endif /* FC_IP_SUPPORT */ + + /* + if (!(test_bit(ABORT_ISP_ACTIVE, &ha->dpc_flags))) + QLA_MBX_REG_LOCK(ha); + */ + if (temp1 == MBA_SCSI_COMPLETION) { +#if defined(ISP2100) || defined(ISP2200) + mailbox[1] = RD_REG_WORD(®->mailbox1); +#else + mailbox[1] = temp2; +#endif + + mailbox[2] = RD_REG_WORD(®->mailbox2); + } else { + MBOX_TRACE(ha,BIT_4); + mailbox[0] = temp1; + DEBUG3(printk("qla2x00_isr: Saving return mbx data\n");) + + /* Get mailbox data. */ + mptr = &mailbox[1]; + iptr = (uint16_t *)®->mailbox1; + for (cnt = 1; cnt < MAILBOX_REGISTER_COUNT; cnt++) { +#ifdef ISP2200 + if (cnt == 8) + iptr = (uint16_t *)®->mailbox8; +#endif + if (cnt == 4 || cnt == 5) + *mptr = qla2x00_debounce_register(iptr); + else + *mptr = RD_REG_WORD(iptr); + mptr++; + iptr++; + } + } + + /* + if (!(test_bit(ABORT_ISP_ACTIVE, &ha->dpc_flags))) + QLA_MBX_REG_UNLOCK(ha); + */ + /* Release mailbox registers. */ + WRT_REG_WORD(®->semaphore, 0); + WRT_REG_WORD(®->host_cmd, HC_CLR_RISC_INT); + + DEBUG5(printk("qla2100_isr: mailbox interrupt " + "mailbox[0] = %x.\n", + temp1);) + + /* Handle asynchronous event */ + switch (temp1) { + case MBA_SCSI_COMPLETION: /* Response completion */ + DEBUG5(printk("qla2100_isr: mailbox " + "response completion\n");) + + if (ha->flags.online) { + /* Get outstanding command + * index. + */ + index = (uint32_t)(mailbox[2] << 16 | mailbox[1]); + qla2x00_process_completed_request(ha,index,MBA_SCSI_COMPLETION); + } + break; + + case MBA_RESET: /* Reset */ + + DEBUG2(printk("scsi(%d) qla2x00_isr:" + " asynchronous RESET\n", + (int)ha->host_no);) + + set_bit(RESET_MARKER_NEEDED, &ha->dpc_flags); + break; + + case MBA_SYSTEM_ERR: /* System Error */ + + printk(KERN_WARNING + "qla2x00: ISP" + " System Error - mbx1=%xh," + " mbx2=%xh, mbx3=%xh", + mailbox[1], mailbox[2], + mailbox[3]); + + set_bit(ISP_ABORT_NEEDED, &ha->dpc_flags); + break; + + case MBA_REQ_TRANSFER_ERR: /* Request Transfer + Error */ + + DEBUG2(printk("qla2x00_isr: ISP Request" + " Transfer Error\n");) + + printk(KERN_WARNING "qla2x00: ISP" + " Request Transfer Error\n"); + set_bit(ISP_ABORT_NEEDED, &ha->dpc_flags); + break; + + case MBA_RSP_TRANSFER_ERR: /* Response Transfer + Error */ + + DEBUG2(printk("qla2x00_isr: ISP" + " Response Transfer Error\n");) + + printk(KERN_WARNING "qla2100: ISP" + " Response Transfer Error\n"); + set_bit(ISP_ABORT_NEEDED, &ha->dpc_flags); + break; + + case MBA_WAKEUP_THRES: /* Request Queue + Wake-up */ + + DEBUG2(printk("qla2x00_isr:" + " asynchronous WAKEUP_THRES\n");) + + break; + + case MBA_LIP_OCCURRED: /* Loop Initializat + ion Procedure */ + + if(!qla2x00_quiet) + printk(KERN_INFO "scsi(%d): LIP " + "occurred.\n",(int)ha->host_no); + /* occurred. */ + + DEBUG2(printk( + "qla2x00_isr: asynchronous" + " MBA_LIP_OCCURRED\n");) + /* Save LIP sequence. */ + ha->lip_seq = mailbox[1]; + if (ha->loop_state != LOOP_DOWN) { + ha->loop_state = LOOP_DOWN; + atomic_set(&ha->loop_down_timer, + LOOP_DOWN_TIME); + qla2x00_mark_all_devices_lost(ha); + } + set_bit(COMMAND_WAIT_NEEDED, &ha->dpc_flags); +#if REG_FC4_ENABLED + + set_bit(REGISTER_FC4_NEEDED, &ha->dpc_flags); +#endif + + + ha->flags.management_server_logged_in = 0; + + if (ha->ioctl->flags & IOCTL_AEN_TRACKING_ENABLE) { + /* Update AEN queue. */ + qla2x00_enqueue_aen(ha, + MBA_LIP_OCCURRED, NULL); + } + + ha->total_lip_cnt++; + + break; + + case MBA_LOOP_UP: + printk(KERN_INFO "scsi(%d): LOOP UP" + " detected\n",(int)ha->host_no); + + DEBUG2(printk("qla2x00_isr: " + "asynchronous MBA_LOOP_UP\n");) + + ha->flags.management_server_logged_in = 0; + if (ha->ioctl->flags & IOCTL_AEN_TRACKING_ENABLE) { + /* Update AEN queue. */ + qla2x00_enqueue_aen(ha, + MBA_LOOP_UP, NULL); + } + ha->loop_state = LOOP_UP; + break; + + case MBA_LOOP_DOWN: + + printk(KERN_INFO "scsi(%d): LOOP" + " DOWN detected\n",(int)ha->host_no); + + DEBUG2(printk("scsi(%ld) qla2x00_isr: " + "asynchronous MBA_LOOP_DOWN\n", + ha->host_no);) + + if( ha->loop_state != LOOP_DOWN ) { + ha->loop_state = LOOP_DOWN; + atomic_set(&ha->loop_down_timer, + LOOP_DOWN_TIME); + qla2x00_mark_all_devices_lost(ha); + } + + ha->flags.management_server_logged_in = 0; + + /* no wait 10/19/2000 */ + if (ha->ioctl->flags & IOCTL_AEN_TRACKING_ENABLE) { + /* Update AEN queue. */ + qla2x00_enqueue_aen(ha, + MBA_LOOP_DOWN, NULL); + } + break; + + case MBA_LIP_RESET: /* LIP reset + occurred. */ + + if (!qla2x00_quiet) + printk(KERN_INFO "scsi(%d):" + " LIP reset occurred\n", + (int)ha->host_no); + + DEBUG2(printk( + "scsi(%ld) qla2x00_isr: " + "asynchronous MBA_LIP_RESET\n", + ha->host_no);) + + set_bit(COMMAND_WAIT_NEEDED, &ha->dpc_flags); + set_bit(RESET_MARKER_NEEDED, &ha->dpc_flags); + + if( ha->loop_state != LOOP_DOWN ) { + atomic_set(&ha->loop_down_timer, + LOOP_DOWN_TIME); + ha->loop_state = LOOP_DOWN; + qla2x00_mark_all_devices_lost(ha); + } + ha->operating_mode = LOOP; + ha->flags.management_server_logged_in = 0; + + if (ha->ioctl->flags & IOCTL_AEN_TRACKING_ENABLE) { + /* Update AEN queue. */ + qla2x00_enqueue_aen(ha, + MBA_LIP_RESET, NULL); + } + + ha->total_lip_cnt++; + + break; + + case MBA_LINK_MODE_UP: /* Link mode up. */ + + DEBUG(printk("scsi(%ld): Link node" + "is up\n",ha->host_no);) + + DEBUG2(printk( + "qla2x00_isr(%ld): asynchronous" + "MBA_LINK_MODE_UP\n", + ha->host_no);) + + /* Save the current speed + for use by ioctl. */ +#ifdef ISP2100 + ha->current_speed = EXT_DEF_PORTSPEED_1GBIT; +#elif defined(ISP2200) + ha->current_speed = EXT_DEF_PORTSPEED_1GBIT; +#elif defined(ISP2300) + + if (mailbox[1] == 1) + ha->current_speed = EXT_DEF_PORTSPEED_2GBIT; + else + ha->current_speed = EXT_DEF_PORTSPEED_1GBIT; +#endif + + + /* Until there's a transition from + * loop down to loop up, + * treat this as loop down only. + */ + if (!(test_bit(ABORT_ISP_ACTIVE, &ha->dpc_flags))) { + set_bit(COMMAND_WAIT_NEEDED, + &ha->dpc_flags); + set_bit(RESET_MARKER_NEEDED, + &ha->dpc_flags); + } +#if REG_FC4_ENABLED + set_bit(REGISTER_FC4_NEEDED, &ha->dpc_flags); +#endif + + if( ha->loop_state != LOOP_DOWN ) { + if (!atomic_read(&ha->loop_down_timer) ) + atomic_set(&ha->loop_down_timer, + LOOP_DOWN_TIME); + + ha->loop_state = LOOP_DOWN; + qla2x00_mark_all_devices_lost(ha); + } + break; + + case MBA_UPDATE_CONFIG: /* Update Configur + -ation. */ + printk(KERN_INFO "scsi(%ld):" + "Configuration change " + "detected: value %d.\n", + ha->host_no,mailbox[1]); + + DEBUG2(printk("scsi(%ld) qla2x00_isr:" + "asynchronous " + "MBA_UPDATE_CONFIG\n", + ha->host_no);) + + if( ha->loop_state != LOOP_DOWN ) { + ha->loop_state = LOOP_DOWN; /* dg - 03/30 */ + if (!atomic_read(&ha->loop_down_timer) ) + atomic_set(&ha->loop_down_timer, + LOOP_DOWN_TIME); + qla2x00_mark_all_devices_lost(ha); + } + set_bit(LOOP_RESYNC_NEEDED, &ha->dpc_flags); + set_bit(LOCAL_LOOP_UPDATE, &ha->dpc_flags); + break; + + case MBA_PORT_UPDATE: /* Port database + * update occurred. + */ + + DEBUG(printk("scsi(%ld): Port " + "database changed\n", + ha->host_no);) + + DEBUG2(printk("scsi%ld qla2x00_isr: " + "asynchronous " + "MBA_PORT_UPDATE\n", + ha->host_no);) + /* + * dg - 06/19/01 - Mark all devices + * as missing, + * so we will login again. + */ + ha->flags.rscn_queue_overflow = 1; + + atomic_set(&ha->loop_down_timer, 0); + qla2x00_mark_all_devices_lost(ha); + set_bit(LOOP_RESYNC_NEEDED, &ha->dpc_flags); + set_bit(LOCAL_LOOP_UPDATE, &ha->dpc_flags); + + /* 9/23 ha->flags.loop_resync_needed + = TRUE; */ + ha->loop_state = LOOP_UPDATE; + if (ha->ioctl->flags & IOCTL_AEN_TRACKING_ENABLE) { + /* Update AEN queue. */ + qla2x00_enqueue_aen(ha, + MBA_PORT_UPDATE, NULL); + } + break; + + case MBA_SCR_UPDATE: /* State Change + Registration. */ + + DEBUG2(printk("scsi%ld qla2x00_isr:" + " asynchronous " + "MBA_RSCR_UPDATE\n", + ha->host_no);) + + DEBUG(printk("scsi(%ld): RSCN database" + " changed -0x%x,0x%x\n", + ha->host_no,mailbox[1],mailbox[2]);) + + rscn_queue_index = ha->rscn_in_ptr + 1; + if (rscn_queue_index == MAX_RSCN_COUNT) + rscn_queue_index = 0; + if (rscn_queue_index != ha->rscn_out_ptr) { + ha->rscn_queue[ha->rscn_in_ptr].format = + (uint8_t)(mailbox[1]>>8); + ha->rscn_queue[ha->rscn_in_ptr].d_id.b.domain = + (uint8_t)mailbox[1]; + ha->rscn_queue[ha->rscn_in_ptr].d_id.b.area = + (uint8_t)(mailbox[2]>>8); + ha->rscn_queue[ha->rscn_in_ptr].d_id.b.al_pa = + (uint8_t)mailbox[2]; + ha->rscn_in_ptr = (uint8_t)rscn_queue_index; + } else { + ha->flags.rscn_queue_overflow = 1; + } + + set_bit(LOOP_RESYNC_NEEDED, &ha->dpc_flags); + set_bit(RSCN_UPDATE, &ha->dpc_flags); + atomic_set(&ha->loop_down_timer, 0); + ha->flags.management_server_logged_in = 0; + + ha->loop_state = LOOP_UPDATE; + if (ha->ioctl->flags & IOCTL_AEN_TRACKING_ENABLE) { + /* Update AEN queue. */ + qla2x00_enqueue_aen(ha, + MBA_RSCN_UPDATE, &mailbox[0]); + } + break; + + case MBA_CTIO_COMPLETION: + + DEBUG2(printk( + "qla2x00_isr: asynchronous" + "MBA_CTIO_COMPLETION\n");) + + break; + + default: + if (temp1 < MBA_ASYNC_EVENT) { + /* mailbox completion */ + *got_mbx = TRUE; + BCOPY(&mailbox[0], &ha->mailbox_out[0], + MAILBOX_REGISTER_COUNT); + ha->flags.mbox_int = TRUE; + if (ha->mcp) { + DEBUG3(printk( + "qla2x00_isr: got " + "mailbox completion." + " cmd=%x.\n", + ha->mcp->mb[0]);) + } else { + DEBUG2_3(printk( + "qla2x00_isr:" + "mbx pointer" + "ERROR.\n");) + } + DEBUG5(printk("qla2100_isr: " + "Returning mailbox" + "data\n");) + } + break; + } + } else +#ifdef ISP2300 + response_queue_int: +#endif + { + WRT_REG_WORD(®->host_cmd, HC_CLR_RISC_INT); + /* + * Response ring + */ + if (ha->flags.online) { + if (response_index < + RESPONSE_ENTRY_CNT) { + qla2x00_response_pkt(ha, + response_index); + } else { + /* Invalid response pointer value. */ + set_bit(ISP_ABORT_NEEDED, + &ha->dpc_flags); + DEBUG(printk("qla2x00_isr:" + "Response Pointer " + "Error. mb5=%x.\n", + response_index);) + } + } + } + +#ifdef ISP2300 +isr_end: +#endif + + LEAVE("qla2x00_isr"); +} + +/* +* qla2x00_rst_aen +* Processes asynchronous reset. +* +* Input: +* ha = adapter block pointer. +*/ +STATIC void +qla2x00_rst_aen(scsi_qla_host_t *ha) +{ +#if QL2100_TARGET_MODE_SUPPORT + notify_entry_t nentry; +#endif + + ENTER("qla2x00_rst_aen"); + + if (ha->flags.online && !ha->flags.reset_active && + !atomic_read(&ha->loop_down_timer) && + !(test_bit(ABORT_ISP_ACTIVE, &ha->dpc_flags)) ) { + /* 10/15 ha->flags.reset_active = TRUE; */ + do { + clear_bit(RESET_MARKER_NEEDED, &ha->dpc_flags); + + /* Issue marker command only when we are going to + * start the I/O . + */ + ha->marker_needed = 1; + +#if QL2100_TARGET_MODE_SUPPORT + if (!atomic_read(&ha->loop_down_timer) && + !(test_bit(RESET_MARKER_NEEDED, &ha->dpc_flags))) { + + /* Issue notify acknowledgement command. */ + memset(&nentry, 0, sizeof(notify_entry_t)); + nentry.initiator_id = ha->id; + /* dg 7/3/99 nentry.target_id = ha->id; */ + nentry.task_flags = BIT_13; + qla2x00_notify_ack(ha, &nentry); + } +#endif /* QL2100_TARGET_MODE_SUPPORT */ + + } while (!atomic_read(&ha->loop_down_timer) && + (test_bit(RESET_MARKER_NEEDED, &ha->dpc_flags)) ); + /* 10/15 ha->flags.reset_active = FALSE; */ + } + + LEAVE("qla2x00_rst_aen"); +} + +#if QLA2100_TARGET_MODE_SUPPORT +/* +* qla2x00_atio_entry +* Processes received ISP accept target I/O entry. +* +* Input: +* ha = adapter block pointer. +* pkt = entry pointer. +*/ +STATIC void +qla2x00_atio_entry(scsi_qla_host_t *ha, atio_entry_t *pkt) +{ + uint64_t *a64; + uint64_t *end_a64; + u_long phy_addr[2]; + u_long end_addr[2]; + uint32_t len; + uint32_t offset; + uint8_t t; + uint8_t *sense_ptr; + + ENTER("qla2x00_atio_entry: entered\n"); + + t = pkt->initiator_id; + sense_ptr = ha->tsense + t * TARGET_SENSE_SIZE; + a64 = (uint64_t *)&phy_addr[0]; + end_a64 = (uint64_t *)&end_addr[0]; + + switch (pkt->status & ~BIT_7) { + case 7: /* Path invalid */ +#if defined(QL_DEBUG_LEVEL_2) || defined(QL_DEBUG_LEVEL_3) + printk("qla2100_atio_entry: Path invalid\n"); +#endif + break; + case 0x16: /* Requested Capability Not Available */ +#if defined(QL_DEBUG_LEVEL_2) || defined(QL_DEBUG_LEVEL_3) + printk("qla2x00_atio_entry: Requested " + "Capability Not Available\n"); +#endif + break; + case 0x17: /* Bus Device Reset Message Received */ +#if defined(QL_DEBUG_LEVEL_2) || defined(QL_DEBUG_LEVEL_3) + printk("qla2x00_atio_entry: Bus Device " + "Reset Message Received\n"); +#endif + break; + case 0x3D: /* CDB Received */ + /* Check for invalid LUN */ + if (pkt->lun && + pkt->cdb[0] != SS_INQUIR && + pkt->cdb[0] != SS_REQSEN) + pkt->cdb[0] = SS_TEST; + + switch (pkt->cdb[0]) { + case SS_TEST: + DEBUG3(printk("qla2100_atio_entry: " + "SS_TEST\n");) + + memset(sense_ptr, 0, TARGET_SENSE_SIZE); + len = 0; + if (pkt->lun == 0) + pkt->scsi_status = S_GOOD; + else { + *sense_ptr = 0x70; + *(sense_ptr+2) = SD_ILLREQ; + *(sense_ptr+7) = + TARGET_SENSE_SIZE-8; + *(sense_ptr+12) = SC_INVLUN; + pkt->scsi_status = S_CKCON; + } + pkt->flags = (uint16_t) + (OF_SSTS | OF_INC_RC | OF_NO_DATA); + break; + case SS_REQSEN: + DEBUG3(printk("qla2100_atio_entry: " + "SS_REQSEN\n");) + + phy_addr[0] = ha->tsense_dma; + phy_addr[1] = 0; + *a64 += t * TARGET_SENSE_SIZE; + if (pkt->cdb[4] > TARGET_SENSE_SIZE) + len = TARGET_SENSE_SIZE; + else + len = pkt->cdb[4]; + pkt->scsi_status = S_GOOD; + pkt->flags = (uint16_t) + (OF_SSTS | OF_INC_RC | OF_DATA_IN); + break; + case SS_INQUIR: + DEBUG3(printk("qla2100_atio_entry: " + "SS_INQUIR\n");) + + memset(sense_ptr, 0, TARGET_SENSE_SIZE); + phy_addr[0] = ha->tbuf_dma; + phy_addr[1] = 0; + *a64 += TARGET_INQ_OFFSET; + + if (pkt->lun == 0) { + ha->tbuf->inq.id_type = ID_PROCESOR; + ha->tbuf->inq.id_pqual = ID_QOK; + } else { + ha->tbuf->inq.id_type = ID_NODEV; + ha->tbuf->inq.id_pqual = ID_QNOLU; + } + + if (pkt->cdb[4] > sizeof(struct ident)) + len = sizeof(struct ident); + else + len = pkt->cdb[4]; + + pkt->scsi_status = S_GOOD; + pkt->flags = (uint16_t) + (OF_SSTS | OF_INC_RC | OF_DATA_IN); + break; + case SM_WRDB: + memset(sense_ptr, 0, TARGET_SENSE_SIZE); + offset = pkt->cdb[5]; + offset |= pkt->cdb[4] << 8; + offset |= pkt->cdb[3] << 16; + len = pkt->cdb[8]; + len |= pkt->cdb[7] << 8; + len |= pkt->cdb[6] << 16; + end_addr[0] = phy_addr[0] = ha->tbuf_dma; + end_addr[1] = phy_addr[1] = 0; + *end_a64 += TARGET_DATA_OFFSET + TARGET_DATA_SIZE; + switch (pkt->cdb[1] & 7) { + case RW_BUF_HDATA: + DEBUG3(printk("qla2100_atio_entry: " + "SM_WRDB, RW_BUF_HDATA\n");) + + if (len > TARGET_DATA_SIZE + 4) { + DEBUG2(printk("qla2100_atio_entry: " + "SM_WRDB, length > " + "buffer size\n");) + + *sense_ptr = 0x70; + *(sense_ptr+2) = SD_ILLREQ; + *(sense_ptr+7) = TARGET_SENSE_SIZE-8; + *(sense_ptr+12) = SC_ILLCDB; + pkt->scsi_status = S_CKCON; + pkt->flags = (uint16_t) + (OF_SSTS | OF_INC_RC | OF_NO_DATA); + len = 0; + } else if (len) { + pkt->scsi_status = S_GOOD; + pkt->flags =(uint16_t) + (OF_SSTS | OF_INC_RC | OF_DATA_OUT); + } else { + DEBUG2(printk("qla2100_atio_entry: " + "SM_WRDB, zero length\n");) + + pkt->scsi_status = S_GOOD; + pkt->flags = (uint16_t) + (OF_SSTS | OF_INC_RC | OF_NO_DATA); + } + + break; + case RW_BUF_DATA: + DEBUG3(printk("qla2100_atio_entry: " + "SM_WRDB, RW_BUF_DATA\n");) + + *a64 += offset + TARGET_DATA_OFFSET; + if (pkt->cdb[2] != 0 || + *a64 >= *end_a64 || + *a64 + len > *end_a64 ) { + DEBUG2(printk("qla2100_atio_entry: " + "SM_WRDB, RW_BUF_DATA BAD\n" + "buf_id=%x, offset=%x, " + "length=%x.\n", + (u_long)pkt->cdb[2], + (u_long)offset, + (u_long)len);) + + *sense_ptr = 0x70; + *(sense_ptr+2) = SD_ILLREQ; + *(sense_ptr+7) = TARGET_SENSE_SIZE-8; + *(sense_ptr+12) = SC_ILLCDB; + len = 0; + pkt->scsi_status = S_CKCON; + pkt->flags = (uint16_t) + (OF_SSTS | OF_INC_RC | OF_NO_DATA); + } else if (len) { + pkt->scsi_status = S_GOOD; + pkt->flags =(uint16_t) + (OF_SSTS | OF_INC_RC | OF_DATA_OUT); + } else { + DEBUG2(printk("qla2100_atio_entry: " + "SM_WRDB, zero length\n");) + + pkt->scsi_status = S_GOOD; + pkt->flags = (uint16_t) + (OF_SSTS | OF_INC_RC | OF_NO_DATA); + } + break; + default: + DEBUG3(printk("qla2100_atio_entry: " + "SM_WRDB unknown mode\n");) + + *sense_ptr = 0x70; + *(sense_ptr+2) = SD_ILLREQ; + *(sense_ptr+7) = TARGET_SENSE_SIZE-8; + *(sense_ptr+12) = SC_ILLCDB; + len = 0; + pkt->scsi_status = S_CKCON; + pkt->flags = (uint16_t) + (OF_SSTS | OF_INC_RC | OF_NO_DATA); + break; + } + break; + case SM_RDDB: + memset(sense_ptr, 0, TARGET_SENSE_SIZE); + offset = pkt->cdb[5]; + offset |= pkt->cdb[4] << 8; + offset |= pkt->cdb[3] << 16; + len = pkt->cdb[8]; + len |= pkt->cdb[7] << 8; + len |= pkt->cdb[6] << 16; + end_addr[0] = phy_addr[0] = ha->tbuf_dma; + end_addr[1] = phy_addr[1] = 0; + *end_a64 += TARGET_DATA_OFFSET + TARGET_DATA_SIZE; + switch (pkt->cdb[1] & 7) { + case RW_BUF_HDATA: + DEBUG3(printk("qla2100_atio_entry: " + "SM_RDDB, RW_BUF_HDATA\n");) + + if (len) { + ha->tbuf->hdr[0] = 0; + ha->tbuf->hdr[1] = + (uint8_t)(TARGET_DATA_SIZE >> 16); + ha->tbuf->hdr[2] = + (uint8_t)(TARGET_DATA_SIZE >> 8); + ha->tbuf->hdr[3] = + (uint8_t)TARGET_DATA_SIZE; + if (len > TARGET_DATA_SIZE + 4) + len = TARGET_DATA_SIZE + 4; + pkt->scsi_status = S_GOOD; + pkt->flags = (uint16_t) + (OF_SSTS | OF_INC_RC | OF_DATA_IN); + } else { + DEBUG2(printk("qla2100_atio_entry: " + "SM_RDDB, zero length\n");) + + pkt->scsi_status = S_GOOD; + pkt->flags = (uint16_t) + (OF_SSTS | OF_INC_RC | OF_NO_DATA); + } + break; + case RW_BUF_DATA: + DEBUG3(printk("qla2100_atio_entry: " + "SM_RDDB, RW_BUF_DATA\n");) + + *a64 += offset + TARGET_DATA_OFFSET; + if (pkt->cdb[2] != 0 || + *a64 >= *end_a64) { + + DEBUG2(printk("qla2100_atio_entry: " + "SM_RDDB, RW_BUF_DATA BAD\n" + "buf_id=%x, offset=%x.\n", + (u_long)pkt->cdb[2], + (u_long)offset);) + + *sense_ptr = 0x70; + *(sense_ptr+2) = SD_ILLREQ; + *(sense_ptr+7) = TARGET_SENSE_SIZE-8; + *(sense_ptr+12) = SC_ILLCDB; + len = 0; + pkt->scsi_status = S_CKCON; + pkt->flags = (uint16_t) + (OF_SSTS | OF_INC_RC | OF_NO_DATA); + } else { + if (*a64 + len > *end_a64) + len = *end_a64 - *a64; + if (len) { + pkt->scsi_status = S_GOOD; + pkt->flags = (uint16_t) + (OF_SSTS | OF_INC_RC | OF_DATA_IN); + } else { + DEBUG2(printk("qla2100_atio_entry: " + "SM_RDDB, zero length\n");) + + pkt->scsi_status = S_GOOD; + pkt->flags = (uint16_t) + (OF_SSTS | OF_INC_RC | OF_NO_DATA); + } + } + break; + case RW_BUF_DESC: + DEBUG3(printk("qla2100_atio_entry: " + "SM_RDDB, RW_BUF_DESC\n");) + + if (len) { + if (len > 4) + len = 4; + + ha->tbuf->hdr[0] = 0; + if (pkt->cdb[2] != 0) { + ha->tbuf->hdr[1] = 0; + ha->tbuf->hdr[2] = 0; + ha->tbuf->hdr[3] = 0; + } else { + ha->tbuf->hdr[1] = + (uint8_t)(TARGET_DATA_SIZE >> 16); + ha->tbuf->hdr[2] = + (uint8_t)(TARGET_DATA_SIZE >> 8); + ha->tbuf->hdr[3] = + (uint8_t)TARGET_DATA_SIZE; + } + pkt->scsi_status = S_GOOD; + pkt->flags = (uint16_t) + (OF_SSTS | OF_INC_RC | OF_DATA_IN); + } else { + DEBUG2(printk("qla2100_atio_entry: " + "SM_RDDB, zero length\n");) + + pkt->scsi_status = S_GOOD; + pkt->flags = (uint16_t)(OF_SSTS | OF_INC_RC | + OF_NO_DATA); + } + break; + default: + DEBUG3(printk("qla2100_atio_entry: " + "SM_RDDB unknown mode\n");) + + *sense_ptr = 0x70; + *(sense_ptr+2) = SD_ILLREQ; + *(sense_ptr+7) = TARGET_SENSE_SIZE-8; + *(sense_ptr+12) = SC_ILLCDB; + len = 0; + pkt->scsi_status = S_CKCON; + pkt->flags = (uint16_t) + (OF_SSTS | OF_INC_RC | OF_NO_DATA); + break; + } + break; + default: + DEBUG2(printk("qla2100_atio_entry: " + "Unknown SCSI command\n");) + DEBUG2(qla2x00_dump_buffer((uint8_t *)&pkt->cdb[0], + MAX_CMDSZ);) + + memset(sense_ptr, 0, TARGET_SENSE_SIZE); + *sense_ptr = 0x70; + *(sense_ptr+2) = SD_ILLREQ; + *(sense_ptr+7) = TARGET_SENSE_SIZE-8; + *(sense_ptr+12) = SC_INVOPCODE; + len = 0; + pkt->scsi_status = S_CKCON; + pkt->flags = (uint16_t) + (OF_SSTS | OF_INC_RC | OF_NO_DATA); + break; + } + if (ha->flags.enable_64bit_addressing) + qla2x00_64bit_continue_io(ha, pkt, len, &phy_addr); + else + qla2x00_32bit_continue_io(ha, pkt, len, &phy_addr); + break; + default: + break; + } + + LEAVE("qla2x00_atio_entry: exiting normally\n"); +} +#endif /* QLA2100_TARGET_MODE_SUPPORT */ + +STATIC void +qla2x00_response_pkt(scsi_qla_host_t *ha, uint16_t index) +{ + device_reg_t *reg = ha->iobase; + response_t *pkt; + + ENTER("qla2x00_response_pkt: entered.\n"); + + while (ha->rsp_ring_index != index) { + pkt = ha->response_ring_ptr; + + DEBUG5(printk("qla2x00_response_pkt: ha->rsp_ring_index=%ld " + "index=%ld.\n", + (u_long)ha->rsp_ring_index, + (u_long)index);) + DEBUG5(printk("qla2x00_response_pkt: response packet data:");) + DEBUG5(qla2x00_dump_buffer((uint8_t *)pkt, + RESPONSE_ENTRY_SIZE);) + +#ifdef FC_IP_SUPPORT + /* + * This code is temporary until FW is fixed. + * FW is mistakenly setting bit 6 on Mailbox + * IOCB response + */ + pkt->entry_status &= 0x3f; +#endif + + if (pkt->entry_status != 0) { + DEBUG3(printk(KERN_INFO + "qla2x00_response_pkt: process " + "error entry.\n");) + qla2x00_error_entry(ha, pkt); + } else { + DEBUG3(printk(KERN_INFO + "qla2x00_response_pkt: process " + "response entry.\n");) + + switch (pkt->entry_type) { + case STATUS_TYPE: + qla2x00_status_entry(ha, + (sts_entry_t *)pkt); + break; + + case MS_IOCB_TYPE: + qla2x00_ms_entry(ha, + (ms_iocb_entry_t *)pkt); + break; + +#ifdef FC_IP_SUPPORT + case ET_IP_COMMAND_64: + /* Handle IP send completion */ + qla2x00_ip_send_complete(ha, + pkt->handle); + break; + + case ET_IP_RECEIVE: + /* Handle IP receive packet */ + qla2x00_ip_receive(ha, pkt); + break; + + case ET_MAILBOX_COMMAND: + if (pkt->sys_define == SOURCE_IP) { + qla2x00_ip_mailbox_iocb_done(ha, + (PMBX_IOCB)pkt); + break; + } +#endif /* FC_IP_SUPPORT */ + + default: + /* Type Not Supported. */ + DEBUG4(printk(KERN_WARNING + "qla2x00_response_pkt: " + "received unknown " + "response pkt type %x " + "entry status=%x.\n", + pkt->entry_type, + pkt->entry_status);) + break; + } + } + /* Adjust ring index. */ + ha->rsp_ring_index++; + if (ha->rsp_ring_index == RESPONSE_ENTRY_CNT) { + ha->rsp_ring_index = 0; + ha->response_ring_ptr = ha->response_ring; + } else { + ha->response_ring_ptr++; + } + +#if defined(ISP2100) || defined(ISP2200) + WRT_REG_WORD(®->mailbox5, ha->rsp_ring_index); +#else + WRT_REG_WORD(®->rsp_q_out, ha->rsp_ring_index); +#endif + } /* while (ha->rsp_ring_index != index) */ + + LEAVE("qla2x00_response_pkt"); +} + +/* + * qla2x00_status_entry + * Processes received ISP status entry. + * + * Input: + * ha = adapter block pointer. + * pkt = entry pointer. + * done_q_first = done queue first pointer. + * done_q_last = done queue last pointer. + */ +STATIC void +qla2x00_status_entry(scsi_qla_host_t *ha, sts_entry_t *pkt ) +{ +#ifdef QL_DEBUG_LEVEL_2 + uint32_t b, l; +#endif + uint32_t t; /*target*/ + uint8_t sense_sz = 0; + srb_t *sp; + os_lun_t *lq; + os_tgt_t *tq; + uint32_t resid; + Scsi_Cmnd *cp; + int scsi_status; + int comp_status; + uint8_t *strp; + fc_port_t *fcport; + scsi_qla_host_t *vis_ha; + + ENTER("qla2x00_status_entry"); + + /* Validate handle. */ + if (pkt->handle < MAX_OUTSTANDING_COMMANDS) { + sp = ha->outstanding_cmds[pkt->handle]; + /* Free outstanding command slot. */ + ha->outstanding_cmds[pkt->handle] = 0; + } else + sp = NULL; + + if (sp == NULL) { + printk(KERN_WARNING "qla2x00: Status Entry invalid handle.\n"); + DEBUG2(printk("qla2x00: Status Entry invalid handle.\n");) + set_bit(ISP_ABORT_NEEDED, &ha->dpc_flags); + up(ha->dpc_wait); + return; + } + cp = sp->cmd; + if (cp == NULL) { + printk(KERN_WARNING + "qla2x00_status_entry: cmd is NULL: " + "already returned to OS (sp=%p)\n", sp); + DEBUG2(printk("qla2x00_status_entry: cmd already returned " + "back to OS pkt->handle:%d sp=%p sp->state:%d\n", + pkt->handle, + sp, sp->state);) + return; + } + + /* + * Set the visible adapter for lun Q access. + */ + vis_ha = (scsi_qla_host_t *)cp->host->hostdata; + if (ha->actthreads) + ha->actthreads--; + sp->lun_queue->out_cnt--; + ha->iocb_cnt -= sp->iocb_cnt; + + + scsi_status = sp->scode = pkt->scsi_status;/* 16 Bit*/ + comp_status = sp->ccode = pkt->comp_status; + + CMD_COMPL_STATUS(cp) = pkt->comp_status; + CMD_ENTRY_STATUS(cp) = pkt->entry_status; + /* + * Mask of reserved bits 12-15. + * Before we examine the scsi status. + */ + CMD_SCSI_STATUS(cp) = (pkt->scsi_status & SS_MASK); + + /* dg 10/11 */ + sp->flags |= SRB_ISP_COMPLETED; + +#ifdef QL_DEBUG_LEVEL_2 + /* Generate LU queue on cntrl, target, LUN */ + b = SCSI_BUS_32(cp); + t = SCSI_TCN_32(cp); + l = SCSI_LUN_32(cp); +#endif + tq = sp->tgt_queue; + lq = sp->lun_queue; + + /* + * if Loop is in transietnt state Report DID_BUS_BUSY + */ + if (atomic_read(&ha->loop_down_timer) || + ha->loop_state != LOOP_READY) { + + DEBUG2(printk("scsi(%ld:%d:%d:%d): Loop Not Ready " + "- pid=%lx.\n", + ha->host_no, + b, t, l, + sp->cmd->serial_number);) +#if DG + + CMD_RESULT(cp) = (int) (DID_BUS_BUSY << 16); + add_to_done_queue(ha, sp); +#else + qla2x00_extend_timeout(sp->cmd, EXTEND_CMD_TIMEOUT); + add_to_retry_queue(ha, sp); +#endif + return; + } + + /* + * Based on Host and scsi status generate status code for Linux + */ + switch (comp_status) { + case CS_COMPLETE: + /* + * Host complted command OK. + * Check SCSI Status to determine the + * correct Host status. + * Mask of reserved bits 12-15. + * Before we examine the scsi status. + */ + if ((scsi_status & SS_MASK) == 0) { + CMD_RESULT(sp->cmd) = + (int)(DID_OK << 16); + /* + * Special case considertaion + * On an Inquiry command (0x12) for + * Lun 0, device responds with + * no devices (0x7F), then Linux + * will not scan further Luns. While + * reporting that some device exists + * on Lun 0 Linux will scan all + * devices on this target. + */ + if (qla2xenbinq && + cp->cmnd[0] == 0x12 && + cp->lun == 0 ) { + + strp = (uint8_t *)cp->request_buffer; + if (*strp == 0x7f) { + /* + * Make lun unassigned + * and processor type + */ + *strp = 0x23; + } + } + } else { /* Check for non zero scsi status */ + scsi_status &= STATUS_MASK; /* Lower 8 bit SCSI Status */ + if (scsi_status == SS_BUSY_CONDITION) { + CMD_RESULT(cp) = + (int)(DID_BUS_BUSY << 16) | + scsi_status; + } else { + CMD_RESULT(cp) = + (int)(DID_OK << 16) | + scsi_status; + if (scsi_status == SS_CHECK_CONDITION) { + /* + * Copy Sense Data + * into sense buffer + */ + memset(cp->sense_buffer, + 0, + sizeof(cp->sense_buffer)); + if (pkt->scsi_status & SS_SENSE_LEN_VALID) { + if (pkt->req_sense_length < CMD_SNSLEN(cp)) + sense_sz = pkt->req_sense_length; + else + sense_sz = CMD_SNSLEN(cp) - 1; + + CMD_ACTUAL_SNSLEN(cp) = sense_sz; + + BCOPY(&pkt->req_sense_data, + cp->sense_buffer, sense_sz); + if (!(sp->flags & SRB_IOCTL) && + qla2x00_check_sense(cp, lq) == QL_STATUS_SUCCESS) { + + add_to_scsi_retry_queue(ha,sp); + return; + } +#ifdef QL_DEBUG_LEVEL_5 + printk("qla2x00_status_entry: " + "Check condition " + "Sense data, " + "scsi(%ld:%d:%d:%d) cmd=%p pid=%d\n", + ha->host_no, + b, t, l, cp, cp->serial_number); + if (sense_sz) + qla2x00_dump_buffer( + cp->sense_buffer, + 32); +#endif + } + } + } + } + break; + + case CS_PORT_LOGGED_OUT: + case CS_PORT_CONFIG_CHG: + case CS_PORT_BUSY: + case CS_INCOMPLETE: + case CS_PORT_UNAVAILABLE: + /* + * If the port is in Target Down state, return + * all IOs for this Target with DID_NO_CONNECT + * ELSE Queue the IOs in the retry_queue + */ + fcport = lq->fclun->fcport; + DEBUG2(printk("scsi(%2d:%2d:%2d): " + "status_entry: Port Down " + "pid=%ld, compl status=0x%x, " + "port state=0x%x\n", + (int)ha->host_no, + t,l, + sp->cmd->serial_number, + pkt->comp_status, + atomic_read(&fcport->state));) + + if (atomic_read(&fcport->state) == + FC_DEVICE_DEAD) { + + CMD_RESULT(sp->cmd) = + DID_NO_CONNECT << 16; + add_to_done_queue(ha, sp); + } else { + qla2x00_extend_timeout(sp->cmd, + EXTEND_CMD_TIMEOUT); + add_to_retry_queue(ha, sp); + } + + if (atomic_read(&fcport->state) == FC_ONLINE) { + qla2x00_mark_device_lost(ha, fcport); + } + return; + + break; + + case CS_RESET: + DEBUG2(printk(KERN_INFO + "scsi%d RESET status detected " + "0x%x-0x%x.\n", + (int)ha->host_no, + pkt->comp_status, + pkt->scsi_status);) + qla2x00_extend_timeout(sp->cmd, + EXTEND_CMD_TIMEOUT); + add_to_retry_queue(ha, sp); + return; + + case CS_ABORTED: + /* + * hv2.19.12 - DID_ABORT does not retry the + * request if we aborted this request then + * abort otherwise it must be a reset + */ + DEBUG2(printk(KERN_INFO + "scsi%d ABORT status detected " + "0x%x-0x%x.\n", + (int)ha->host_no, + pkt->comp_status, + pkt->scsi_status);) + if ((sp->flags & SRB_ABORT_PENDING)) + CMD_RESULT(sp->cmd) = + DID_ABORT << 16; + else + CMD_RESULT(sp->cmd) = + DID_RESET << 16; + break; + + case CS_TIMEOUT: + DEBUG2(printk(KERN_INFO + "qla%d TIMEOUT status detected " + "0x%x-0x%x.\n", + (int)ha->host_no, + pkt->comp_status, + pkt->scsi_status);) + fcport = lq->fclun->fcport; + CMD_RESULT(sp->cmd) = DID_BUS_BUSY << 16; + /* + * v2.19.8 if timeout then check to + * see if logout occurred + */ + t = SCSI_TCN_32(cp); + if ((ha->fc_db[t].flag & DEV_PUBLIC) && + (pkt->status_flags & IOCBSTAT_SF_LOGO) ) { + + DEBUG2(printk("scsi: Timeout occurred " + "with Logo, status " + "flag (%x) with public " + "device loop id (%x), " + "attempt new recovery\n", + pkt->status_flags, + ha->fc_db[t].loop_id);) + ha->fc_db[t].flag |= DEV_RELOGIN; + fcport->login_retry = + ha->port_down_retry_count * + PORT_RETRY_TIME; + set_bit(RELOGIN_NEEDED, &ha->dpc_flags); + } + break; + + case CS_DATA_UNDERRUN: + DEBUG2(printk(KERN_INFO + "qla%d UNDERRUN status " + "detected 0x%x-0x%x.\n", + (int)ha->host_no, + pkt->comp_status, + pkt->scsi_status);) + resid = pkt->residual_length; + CMD_RESID_LEN(cp) = resid; + + /* + * Check to see if SCSI Status is non zero. + * If so report SCSI Status + */ + scsi_status &= STATUS_MASK; /* Lower 8 bit SCSI Status */ + if (scsi_status != 0) { /* Check for non zero scsi status */ + if (scsi_status == SS_BUSY_CONDITION) { + CMD_RESULT(cp) = + (int)(DID_BUS_BUSY << 16) | + scsi_status; + } else { + CMD_RESULT(cp) = + (int) (DID_OK << 16) | + scsi_status; + if (scsi_status == SS_CHECK_CONDITION) { + /* + * Copy Sense Data into sense buffer + */ + memset(cp->sense_buffer, + 0, + sizeof(cp->sense_buffer)); + if (pkt->scsi_status & SS_SENSE_LEN_VALID) { + if (pkt->req_sense_length < CMD_SNSLEN(cp)) + sense_sz = pkt->req_sense_length; + else + sense_sz = CMD_SNSLEN(cp) - 1; + + CMD_ACTUAL_SNSLEN(cp) = sense_sz; + + BCOPY(&pkt->req_sense_data, + cp->sense_buffer, sense_sz); + if (qla2x00_check_sense(cp, lq) == QL_STATUS_SUCCESS) { + add_to_scsi_retry_queue(ha,sp); + return; + } +#ifdef QL_DEBUG_LEVEL_2 + printk("scsi: Check condition " + "Sense data, scsi(%ld:%d:%d:%d)\n", + ha->host_no, + b, t, l); + if (sense_sz) + qla2x00_dump_buffer(cp->sense_buffer, 32); +#endif + } + } + } + } else { + /* if RISC reports underrun and target does not report it + * then we must have a lost frame, so tell upper layer + * to retry it by reporting an error. + */ + if (!(pkt->scsi_status & SS_RESIDUAL_UNDER)) { + resid = (unsigned)(CMD_XFRLEN(cp)); + CMD_RESID_LEN(cp) = resid; + } + + if ((unsigned)(CMD_XFRLEN(cp) - resid) < cp->underflow) { + /* if lost frame then retry unconditionally */ + if (!(pkt->scsi_status & SS_RESIDUAL_UNDER)) + CMD_RESULT(sp->cmd) = DID_BUS_BUSY << 16; + else { + CMD_RESULT(sp->cmd) = DID_ERROR << 16; + DEBUG2(printk(KERN_INFO + "scsi%d: Underflow detected - " + "retrying command.\n", + (int)ha->host_no);) + } + } else { + CMD_RESULT(sp->cmd) = + DID_OK << (scsi_status & STATUS_MASK); + /* + * Special case considertaion + * On an Inquiry command (0x12) for Lun 0, device responds with + * no devices (0x7F), then Linux will not scan further + * Luns. While reporting that some device exists on Lun 0 + * Linux will scan all devices on this target. + */ + if (((scsi_status & STATUS_MASK) == 0) && + (qla2xenbinq && cp->cmnd[0] == 0x12 && + cp->lun == 0 )) { + + strp = (uint8_t *)cp->request_buffer; + if (*strp == 0x7f) + /* Make lun unassigned and wrong type */ + *strp = 0x23; + } + } + } + break; + + case CS_QUEUE_FULL: + DEBUG2(printk(KERN_INFO + "scsi%d QUEUE FULL status " + "detected 0x%x-0x%x.\n", + (int)ha->host_no, + pkt->comp_status, + pkt->scsi_status);) + /* Scsi Mid Layer handles device queue + * full + */ + CMD_RESULT(sp->cmd) = + DID_OK << 16 | + (scsi_status & STATUS_MASK); + break; + + default: + printk(KERN_INFO + "scsi%d: Unknown status detected " + "0x%x-0x%x.\n", + (int)ha->host_no, + pkt->comp_status, + pkt->scsi_status); + DEBUG3(printk("scsi: Error detected " + "0x%x-0x%x.\n", + pkt->comp_status, + pkt->scsi_status);) + CMD_RESULT(sp->cmd) = DID_ERROR << 16; + break; + } /* end of switch comp_status */ + + /* Place command on done queue. */ + add_to_done_queue(ha, sp); + + DEBUG3(printk("qla2x00_status_entry: exiting.\n");) +} + +/* +* qla2x00_error_entry +* Processes error entry. +* +* Input: +* ha = adapter block pointer. +* pkt = entry pointer. +*/ +STATIC void +qla2x00_error_entry(scsi_qla_host_t *ha, response_t *pkt) +{ + srb_t *sp; + + ENTER("qla2x00_error_entry"); + +#ifdef QL_DEBUG_LEVEL_2 + if( pkt->entry_status & BIT_5 ) + printk("qla2100_error_entry: Invalid Entry Order\n"); + else if( pkt->entry_status & BIT_4 ) + printk("qla2100_error_entry: Invalid Entry Count\n"); + else if( pkt->entry_status & BIT_3 ) + printk("qla2100_error_entry: Invalid Entry Parameter\n"); + else if( pkt->entry_status & BIT_2 ) + printk("qla2100_error_entry: Invalid Entry Type\n"); + else if( pkt->entry_status & BIT_1 ) + printk("qla2100_error_entry: Busy\n"); + else + printk("qla2100_error_entry: UNKNOWN flag error\n"); +#endif + + /* Validate handle. */ + if (pkt->handle < MAX_OUTSTANDING_COMMANDS) + sp = ha->outstanding_cmds[pkt->handle]; + else + sp = 0; + + if (sp) { + /* Free outstanding command slot. */ + ha->outstanding_cmds[pkt->handle] = 0; + if( ha->actthreads ) + ha->actthreads--; + sp->lun_queue->out_cnt--; + ha->iocb_cnt -= sp->iocb_cnt; + + sp->flags |= SRB_ISP_COMPLETED; + + /* Bad payload or header */ + if (pkt->entry_status & (BIT_5 + BIT_4 + BIT_3 + BIT_2)) { + /* Bad payload or header, set error status. */ + CMD_RESULT(sp->cmd) = (int) DID_ERROR << 16; + } else if (pkt->entry_status & BIT_1) { /* FULL flag */ + CMD_RESULT(sp->cmd) = (int) DID_BUS_BUSY << 16; + } else { + /* Set error status. */ + CMD_RESULT(sp->cmd) =(int) DID_ERROR << 16; + } + /* Place command on done queue. */ + add_to_done_queue(ha, sp); + + } else if (pkt->entry_type == COMMAND_A64_TYPE || + pkt->entry_type == COMMAND_TYPE ) { + + DEBUG2(printk("qla2100_error_entry: ISP Invalid handle\n");) + printk(KERN_WARNING + "qla2x00: Error Entry invalid handle"); + set_bit(ISP_ABORT_NEEDED, &ha->dpc_flags); + up(ha->dpc_wait); + } + + LEAVE("qla2x00_error_entry"); +} + +STATIC void +qla2x00_ms_entry(scsi_qla_host_t *ha, ms_iocb_entry_t *pkt) +{ + srb_t *sp; + + DEBUG3(printk("qla2x00_ms_entry: entered. " + "pkt=%p pkthandle=%d.\n", + pkt, + pkt->handle);) + + /* Validate handle. */ + if (pkt->handle < MAX_OUTSTANDING_COMMANDS) + sp = ha->outstanding_cmds[pkt->handle]; + else + sp = NULL; + + if (sp == NULL) { + printk(KERN_WARNING + "qla2x00: MS Entry invalid handle.\n"); + + set_bit(ISP_ABORT_NEEDED, &ha->dpc_flags); + return; + } + + CMD_COMPL_STATUS(sp->cmd) = pkt->status; + CMD_ENTRY_STATUS(sp->cmd) = pkt->entry_status; + + /* Free outstanding command slot. */ + ha->outstanding_cmds[pkt->handle] = 0; + sp->flags |= SRB_ISP_COMPLETED; + + add_to_done_queue(ha, sp); + + DEBUG3(printk("qla2x00_ms_entry: exiting.\n");) +} + +/* + * qla2x00_restart_queues + * Restart device queues. + * + * Input: + * ha = adapter block pointer. + * + * Context: + * Kernel/Interrupt context. + */ +void +qla2x00_restart_queues(scsi_qla_host_t *ha, uint8_t flush) +{ + srb_t *sp; + int retry_q_cnt = 0; + int pending_q_cnt = 0; + struct list_head *list, *temp; + unsigned long flags = 0; +#if MPIO_SUPPORT + scsi_qla_host_t *vis_ha; +#endif + + ENTER("qla2x00_restart_queues"); + + clear_bit(RESTART_QUEUES_NEEDED, &ha->dpc_flags); + + /* + * start pending queue + */ + pending_q_cnt = ha->qthreads; + if (flush) { + spin_lock_irqsave(&ha->list_lock,flags); + list_for_each_safe(list, temp, &ha->pending_queue) { + sp = list_entry(list, srb_t, list); + /* + * When time expire return request + * back to OS as BUSY + */ + __del_from_pending_queue(ha, sp); + CMD_RESULT(sp->cmd) = DID_BUS_BUSY << 16; + CMD_HANDLE(sp->cmd) = (unsigned char *)NULL; + __add_to_done_queue(ha, sp); + } + spin_unlock_irqrestore(&ha->list_lock, flags); + } else { + if (!list_empty(&ha->pending_queue)) + qla2x00_next(ha); + } + + /* + * Clear out our retry queue + */ + if (flush) { + spin_lock_irqsave(&ha->list_lock, flags); + retry_q_cnt = ha->retry_q_cnt; + list_for_each_safe(list, temp, &ha->retry_queue) { + sp = list_entry(list, srb_t, list); + /* when time expire return request back to OS as BUSY */ + __del_from_retry_queue(ha, sp); + CMD_RESULT(sp->cmd) = DID_BUS_BUSY << 16; + CMD_HANDLE(sp->cmd) = (unsigned char *) NULL; + __add_to_done_queue(ha, sp); + } + spin_unlock_irqrestore(&ha->list_lock, flags); + + DEBUG2(printk("qla2x00_restart_queues(%d): " + "callback %d commands.\n", + (int)ha->host_no, + retry_q_cnt);) + } + + DEBUG2(printk("qla2x00_restart_queues(%d): " + "active=%ld, retry=%d, pending=%d, " + "done=%ld, failover=%d, scsi retry=%d commands.\n", + (int)ha->host_no, + ha->actthreads, + ha->retry_q_cnt, + pending_q_cnt, + ha->done_q_cnt, + ha->failover_cnt, + ha->scsi_retry_q_cnt);) + + +#if MPIO_SUPPORT + /* Try and start all visible adapters */ + for (vis_ha=qla2x00_hostlist; (vis_ha != NULL) ; + vis_ha=vis_ha->next) { + if (!list_empty(&vis_ha->pending_queue)) + qla2x00_next(vis_ha); + DEBUG2(printk("host(%ld):Commands active=%d busy=%d failed=%d\n" + "in_recovery=%d eh_active=%d\n ", + vis_ha->host_no,atomic_read(&vis_ha->host->host_active), + vis_ha->host->host_busy, + vis_ha->host->host_failed, vis_ha->host->in_recovery, + vis_ha->host->eh_active);) + } +#endif + if (!list_empty(&ha->done_queue)) +#if QLA2X_PERFORMANCE + tasklet_schedule(&ha->run_qla_task); +#else + qla2x00_done(ha); +#endif + + LEAVE("qla2x00_restart_queues"); +} + +/* + * qla2x00_abort_queues + * Abort all commands on queues on device + * + * Input: + * ha = adapter block pointer. + * + * Context: + * Interrupt context. + */ +STATIC void +qla2x00_abort_queues(scsi_qla_host_t *ha, uint8_t doneqflg) +{ + + srb_t *sp; + struct list_head *list, *temp; + unsigned long flags; + + ENTER("qla2x00_abort_queues"); + + clear_bit(ABORT_QUEUES_NEEDED, &ha->dpc_flags); + + /* Return all commands device queues. */ + spin_lock_irqsave(&ha->list_lock,flags); + list_for_each_safe(list, temp, &ha->pending_queue) { + sp = list_entry(list, srb_t, list); + + if (sp->flags & SRB_ABORTED) + continue; + + /* Remove srb from LUN queue. */ + __del_from_pending_queue(ha, sp); + + /* Set ending status. */ + CMD_RESULT(sp->cmd) = DID_BUS_BUSY << 16; + + __add_to_done_queue(ha, sp); + } + spin_unlock_irqrestore(&ha->list_lock, flags); + + LEAVE("qla2x00_abort_queues"); +} + + +#if MPIO_SUPPORT +/* + * qla2x00_reset_lun_fo_counts + * Reset failover retry counts + * + * Input: + * ha = adapter block pointer. + * + * Context: + * Interrupt context. + */ +void +qla2x00_reset_lun_fo_counts(scsi_qla_host_t *ha, os_lun_t *lq) +{ + srb_t *tsp; + os_lun_t *orig_lq; + struct list_head *list; + unsigned long flags ; + + spin_lock_irqsave(&ha->list_lock, flags); + /* + * the pending queue. + */ + list_for_each(list,&ha->pending_queue) { + tsp = list_entry(list, srb_t, list); + orig_lq = tsp->lun_queue; + if (orig_lq == lq) + tsp->fo_retry_cnt = 0; + } + /* + * the retry queue. + */ + list_for_each(list,&ha->retry_queue) { + tsp = list_entry(list, srb_t, list); + orig_lq = tsp->lun_queue; + if (orig_lq == lq) + tsp->fo_retry_cnt = 0; + } + + /* + * the done queue. + */ + list_for_each(list, &ha->done_queue) { + tsp = list_entry(list, srb_t, list); + orig_lq = tsp->lun_queue; + if (orig_lq == lq) + tsp->fo_retry_cnt = 0; + } + spin_unlock_irqrestore(&ha->list_lock, flags); +} + +/* + * qla2x00_failover_cleanup + * Cleanup queues after a failover. + * + * Input: + * sp = command pointer + * + * Context: + * Interrupt context. + */ +STATIC void +qla2x00_failover_cleanup(srb_t *sp) +{ + + CMD_RESULT(sp->cmd) = DID_BUS_BUSY << 16; + CMD_HANDLE(sp->cmd) = (unsigned char *) NULL; + + /* turn-off all failover flags */ + sp->flags = sp->flags & ~(SRB_RETRY|SRB_FAILOVER|SRB_FO_CANCEL); +} + + +/* + * qla2x00_process_failover + * Process any command on the failover queue. + * + * Input: + * ha = adapter block pointer. + * + * Context: + * Interrupt context. + */ +STATIC void +qla2x00_process_failover(scsi_qla_host_t *ha) +{ + + os_tgt_t *tq; + os_lun_t *lq; + srb_t *sp; + fc_port_t *fcport; + struct list_head *list, *temp; + unsigned long flags; + uint32_t t, l; + scsi_qla_host_t *vis_ha = NULL; + + DEBUG(printk("qla2x00_process_failover - Processing failover for hba %d\n", + (int)ha->host_no);) + + /* + * Process all the commands in the failover + * queue. Attempt to failover then either + * complete the command as is + * or requeue for retry. + */ + + /* Prevent or allow acceptance of new I/O requests. */ + spin_lock_irqsave(&ha->list_lock, flags); + /* Get first entry to find our visible adapter . We */ + /* could never get here if the list is empty */ + list = ha->failover_queue.next; + sp = list_entry(list, srb_t, list); + vis_ha = (scsi_qla_host_t *) sp->cmd->host->hostdata; + list_for_each_safe(list, temp, &ha->failover_queue) { + sp = list_entry(list, srb_t, list); + + tq = sp->tgt_queue; + lq = sp->lun_queue; + fcport = lq->fclun->fcport; + + /* Remove srb from failover queue. */ + __del_from_failover_queue(ha, sp); + + DEBUG2(printk("qla2x00_process_failover: pid %ld retrycnt=%d\n", + sp->cmd->serial_number, sp->cmd->retries);) + + /*** Select an alternate path ***/ + /* + * if the path has already been change + * by a previous request sp->fclun != lq->fclun + * + */ + if (sp->fclun != lq->fclun || + atomic_read(&fcport->state) != FC_DEVICE_DEAD) { + + qla2x00_failover_cleanup(sp); + } else if (qla2x00_cfg_failover(ha, lq->fclun, tq, sp) == NULL) { + /* + * We ran out of paths, so just + * post the status which is already + * set in the cmd. + */ + printk(KERN_INFO + "qla2x00_process_failover: Ran out of " + "paths - pid %ld\n", + sp->cmd->serial_number); + } else { + qla2x00_failover_cleanup(sp); + + } + __add_to_done_queue(ha, sp); + } /* list_for_each_safe */ + spin_unlock_irqrestore(&ha->list_lock,flags); + + for (t = 0; t < vis_ha->max_targets; t++) { + if ((tq = vis_ha->otgt[t]) == NULL) + continue; + for (l = 0; l < vis_ha->max_luns; l++) { + if ((lq = (os_lun_t *) tq->olun[l]) == NULL) + continue; + + if( test_and_clear_bit(LUN_MPIO_BUSY, &lq->q_flag) ) { + /* EMPTY */ + DEBUG(printk("%s: remove suspend for lun %d\n", + __FUNCTION__,lq->fclun->lun);) + } + } + } + //qla2x00_restart_queues(ha,TRUE); + qla2x00_restart_queues(ha, FALSE); + DEBUG(printk("qla2x00_process_failover - done");) +} +#endif /* end of MPIO_SUPPORT */ + +/* + * qla2x00_loop_resync + * Resync with fibre channel devices. + * + * Input: + * ha = adapter block pointer. + * + * Returns: + * 0 = success + */ +STATIC uint8_t +qla2x00_loop_resync(scsi_qla_host_t *ha) +{ + uint8_t status; + + ENTER("qla2x00_loop_resync"); + + DEBUG(printk("qla2x00_loop_resync:entered\n");) + + ha->loop_state = LOOP_UPDATE; + qla2x00_stats.loop_resync++; + if (ha->flags.online) { + if (!(status = qla2x00_fw_ready(ha))) { + do { + /* v2.19.05b6 */ + ha->loop_state = LOOP_UPDATE; + + /* Issue marker command only when we + * are going to start the I/O . + */ + ha->marker_needed = 1; + + /* Remap devices on Loop. */ + clear_bit(LOOP_RESYNC_NEEDED, &ha->dpc_flags); + + qla2x00_configure_loop(ha); + + } while (!atomic_read(&ha->loop_down_timer) && + !(test_bit(ISP_ABORT_NEEDED, &ha->dpc_flags)) && + (test_bit(LOOP_RESYNC_NEEDED, &ha->dpc_flags))); + } + qla2x00_restart_queues(ha,TRUE); + } else + status = 0; + + if (test_bit(ISP_ABORT_NEEDED, &ha->dpc_flags)) { + return (1); + } + +#if defined(QL_DEBUG_LEVEL_2) || defined(QL_DEBUG_LEVEL_3) + if (status) + printk("qla2100_loop_resync: **** FAILED ****\n"); +#endif + + LEAVE("qla2x00_loop_resync"); + + return(status); +} + +/* + * qla2x00_debounce_register + * Debounce register. + * + * Input: + * port = register address. + * + * Returns: + * register value. + */ +STATIC uint16_t +qla2x00_debounce_register(volatile uint16_t *addr) +{ + volatile uint16_t ret; + volatile uint16_t ret2; + + do { + ret = RD_REG_WORD(addr); + barrier(); + ret2 = RD_REG_WORD(addr); + } while (ret != ret2); + + return(ret); +} + + +/* + * qla2x00_reset_chip + * Reset ISP chip. + * + * Input: + * ha = adapter block pointer. + */ +STATIC void +qla2x00_reset_chip(scsi_qla_host_t *ha) +{ + unsigned long flags = 0; + device_reg_t *reg = ha->iobase; + uint32_t cnt; + unsigned long mbx_flags = 0; + + ENTER("qla2x00_reset_chip"); + + /* Disable ISP interrupts. */ + qla2x00_disable_intrs(ha); + /* WRT_REG_WORD(®->ictrl, 0); */ + + spin_lock_irqsave(&ha->hardware_lock, flags); +/* ??? -- Safely remove??? */ +#if 1 + /* Pause RISC. */ + WRT_REG_WORD(®->host_cmd, HC_PAUSE_RISC); + if (ha->device_id == QLA2312_DEVICE_ID) { + UDELAY(10); + } else { + for (cnt = 0; cnt < 30000; cnt++) { + if ((RD_REG_WORD(®->host_cmd) & HC_RISC_PAUSE) != 0) + break; + else + UDELAY(100); + } + } + + /* Select FPM registers. */ + WRT_REG_WORD(®->ctrl_status, 0x20); + + /* FPM Soft Reset. */ + WRT_REG_WORD(®->fpm_diag_config, 0x100); +#ifdef ISP2300 + WRT_REG_WORD(®->fpm_diag_config, 0x0); /* Toggle Fpm Reset */ +#endif + /* Select frame buffer registers. */ + WRT_REG_WORD(®->ctrl_status, 0x10); + + /* Reset frame buffer FIFOs. */ + WRT_REG_WORD(®->fb_cmd, 0xa000); + + /* Select RISC module registers. */ + WRT_REG_WORD(®->ctrl_status, 0); + + WRT_REG_WORD(®->semaphore, 0); + + WRT_REG_WORD(®->host_cmd, HC_CLR_RISC_INT); + WRT_REG_WORD(®->host_cmd, HC_CLR_HOST_INT); + + /* Reset ISP chip. */ + WRT_REG_WORD(®->ctrl_status, ISP_RESET); + + if (ha->device_id == QLA2312_DEVICE_ID) { + UDELAY(10); + } else { + /* Wait for RISC to recover from reset. */ + for ( cnt = 30000; cnt; cnt--) { + if (!(RD_REG_WORD(®->ctrl_status) & ISP_RESET)) + break; + UDELAY(100); + } + } + + /* Reset RISC processor. */ + WRT_REG_WORD(®->host_cmd, HC_RESET_RISC); + WRT_REG_WORD(®->host_cmd, HC_RELEASE_RISC); + + if (ha->device_id == QLA2312_DEVICE_ID) { + UDELAY(10); + } else { + for (cnt = 0; cnt < 30000; cnt++) { + /* ra 12/30/01 */ + if (!(test_bit(ABORT_ISP_ACTIVE, &ha->dpc_flags))) + QLA_MBX_REG_LOCK(ha); + + if (RD_REG_WORD(®->mailbox0) != MBS_BUSY) { + if (!(test_bit(ABORT_ISP_ACTIVE, &ha->dpc_flags))) + QLA_MBX_REG_UNLOCK(ha); + break; + } + + if (!(test_bit(ABORT_ISP_ACTIVE, &ha->dpc_flags))) + QLA_MBX_REG_UNLOCK(ha); + + UDELAY(100); + } + } + +#if defined(ISP2200) || defined(ISP2300) + /* Disable RISC pause on FPM parity error. */ + WRT_REG_WORD(®->host_cmd, HC_DISABLE_PARITY_PAUSE); +#endif + +#else + /* Insure mailbox registers are free. */ + WRT_REG_WORD(®->semaphore, 0); + WRT_REG_WORD(®->host_cmd, HC_CLR_RISC_INT); + WRT_REG_WORD(®->host_cmd, HC_CLR_HOST_INT); + + /* clear mailbox busy */ + ha->flags.mbox_busy = FALSE; + + /* Reset ISP chip. */ + WRT_REG_WORD(®->ctrl_status, ISP_RESET); + + /* + * Delay after reset, for chip to recover. + * Otherwise causes system PANIC + */ + mdelay(2); + + for (cnt = 30000; cnt; cnt--) { + if (!(RD_REG_WORD(®->ctrl_status) & ISP_RESET)) + break; + UDELAY(100); + } + + /* Reset RISC processor. */ + WRT_REG_WORD(®->host_cmd, HC_RESET_RISC); + WRT_REG_WORD(®->host_cmd, HC_RELEASE_RISC); + for (cnt = 30000; cnt; cnt--) { + if (!(test_bit(ABORT_ISP_ACTIVE, &ha->dpc_flags))) + QLA_MBX_REG_LOCK(ha); + if (RD_REG_WORD(®->mailbox0) != MBS_BUSY ) { + if (!(test_bit(ABORT_ISP_ACTIVE, &ha->dpc_flags))) + QLA_MBX_REG_UNLOCK(ha); + break; + } + if (!(test_bit(ABORT_ISP_ACTIVE, &ha->dpc_flags))) + QLA_MBX_REG_UNLOCK(ha); + UDELAY(100); + } +#endif + + spin_unlock_irqrestore(&ha->hardware_lock, flags); + + LEAVE("qla2x00_reset_chip"); +} + +/* + * This routine will wait for fabric devices for + * the reset delay. + */ +void qla2x00_check_fabric_devices(scsi_qla_host_t *ha) +{ + uint16_t fw_state; + + qla2x00_get_firmware_state(ha, &fw_state); +} + +/* + * qla2x00_extend_timeout + * This routine will extend the timeout to the specified value. + * + * Input: + * cmd = SCSI command structure + * + * Returns: + * None. + */ +static void +qla2x00_extend_timeout(Scsi_Cmnd *cmd, int timeout) +{ + srb_t *sp = (srb_t *) CMD_SP(cmd); + u_long our_jiffies = (timeout * HZ) + jiffies; + + sp->ext_history= 0; + sp->e_start = jiffies; + if (cmd->eh_timeout.function) { + mod_timer(&cmd->eh_timeout,our_jiffies); + sp->ext_history |= 1; + } + if (sp->timer.function != NULL) { + /* + * Our internal timer should timeout before the + * midlayer has a chance begin the abort process + */ + mod_timer(&sp->timer,our_jiffies - + (QLA_CMD_TIMER_DELTA * HZ)); + + sp->ext_history |= 2; + } +} + +/* +* qla2x00_display_fc_names +* This routine will the node names of the different devices found +* after port inquiry. +* +* Input: +* cmd = SCSI command structure +* +* Returns: +* None. +*/ +STATIC void +qla2x00_display_fc_names(scsi_qla_host_t *ha) +{ + uint16_t tgt; + os_tgt_t *tq; + + /* Display the node name for adapter */ + printk(KERN_INFO + "scsi-qla%d-adapter-node=%02x%02x%02x%02x%02x%02x%02x%02x;\n", + (int)ha->instance, + ha->init_cb->node_name[0], + ha->init_cb->node_name[1], + ha->init_cb->node_name[2], + ha->init_cb->node_name[3], + ha->init_cb->node_name[4], + ha->init_cb->node_name[5], + ha->init_cb->node_name[6], + ha->init_cb->node_name[7]); + + /* display the port name for adapter */ + printk(KERN_INFO + "scsi-qla%d-adapter-port=%02x%02x%02x%02x%02x%02x%02x%02x;\n", + (int)ha->instance, + ha->init_cb->port_name[0], + ha->init_cb->port_name[1], + ha->init_cb->port_name[2], + ha->init_cb->port_name[3], + ha->init_cb->port_name[4], + ha->init_cb->port_name[5], + ha->init_cb->port_name[6], + ha->init_cb->port_name[7]); + + /* Print out device port names */ + for (tgt = 0; tgt < MAX_TARGETS; tgt++) { + if ((tq = ha->otgt[tgt]) == NULL) + continue; + + if (tq->vis_port == NULL) + continue; + + printk(KERN_INFO + "scsi-qla%d-target-%d=" + "%02x%02x%02x%02x%02x%02x%02x%02x;\n", + (int)ha->instance, + tgt, + tq->fc_name[0], + tq->fc_name[1], + tq->fc_name[2], + tq->fc_name[3], + tq->fc_name[4], + tq->fc_name[5], + tq->fc_name[6], + tq->fc_name[7]); + +#if VSA + printk(KERN_INFO + "scsi-qla%d-target-%d-vsa=01;\n", + (int)ha->instance, tgt); +#endif + } +} + +/* + * qla2x00_find_propname + * Get property in database. + * + * Input: + * ha = adapter structure pointer. + * db = pointer to database + * propstr = pointer to dest array for string + * propname = name of property to search for. + * siz = size of property + * + * Returns: + * 0 = no property + * size = index of property + * + * Context: + * Kernel context. + */ +STATIC uint8_t +qla2x00_find_propname(scsi_qla_host_t *ha, + char *propname, char *propstr, + char *db, int siz) +{ + char *cp; + + /* find the specified string */ + if (db) { + /* find the property name */ + if ((cp = strstr(db,propname)) != NULL) { + while ((*cp) && *cp != '=') + cp++; + if (*cp) { + strncpy(propstr, cp, siz+1); + propstr[siz+1] = '\0'; + DEBUG(printk("qla2x00_find_propname: found " + "property = {%s}\n", + propstr);) + return (siz); /* match */ + } + } + } + + return (0); +} + + +/* + * qla2x00_get_prop_16chars + * Get an 8-byte property value for the specified property name by + * converting from the property string found in the configuration file. + * The resulting converted value is in big endian format (MSB at byte0). + * + * Input: + * ha = adapter state pointer. + * propname = property name pointer. + * propval = pointer to location for the converted property val. + * db = pointer to database + * + * Returns: + * 0 = value returned successfully. + * + * Context: + * Kernel context. + */ +static int +qla2x00_get_prop_16chars(scsi_qla_host_t *ha, + char *propname, char *propval, char *db) +{ + char *propstr; + int i, k; + int rval; + uint8_t nval; + uint8_t *pchar; + uint8_t *ret_byte; + uint8_t *tmp_byte; + uint8_t *retval = (uint8_t*)propval; + uint8_t tmpval[8] = {0, 0, 0, 0, 0, 0, 0, 0}; + uint16_t max_byte_cnt = 8; /* 16 chars = 8 bytes */ + uint16_t max_strlen = 16; + static char buf[LINESIZE]; + + rval = qla2x00_find_propname(ha, propname, buf, db, max_strlen); + + propstr = &buf[0]; + if (*propstr == '=') + propstr++; /* ignore equal sign */ + + if (rval == 0) { + return (1); + } + + /* Convert string to numbers. */ + pchar = (uint8_t *)propstr; + tmp_byte = (uint8_t *)tmpval; + + rval = 0; + for (i = 0; i < max_strlen; i++) { + /* + * Check for invalid character, two at a time, + * then convert them starting with first byte. + */ + + if ((pchar[i] >= '0') && (pchar[i] <= '9')) { + nval = pchar[i] - '0'; + } else if ((pchar[i] >= 'A') && (pchar[i] <= 'F')) { + nval = pchar[i] - 'A' + 10; + } else if ((pchar[i] >= 'a') && (pchar[i] <= 'f')) { + nval = pchar[i] - 'a' + 10; + } else { + /* invalid character */ + rval = 1; + break; + } + + if (i & BIT_0) { + *tmp_byte = *tmp_byte | nval; + tmp_byte++; + } else { + *tmp_byte = *tmp_byte | nval << 4; + } + } + + if (rval != 0) { + /* Encountered invalid character. */ + return (rval); + } + + /* Copy over the converted value. */ + ret_byte = retval; + tmp_byte = tmpval; + + i = max_byte_cnt; + k = 0; + while (i--) { + *ret_byte++ = *tmp_byte++; + } + + /* big endian retval[0]; */ + return (0); +} + +/* +* qla2x00_get_properties +* Find all properties for the specified adapeter in +* command line. +* +* Input: +* ha = adapter block pointer. +* cmdline = pointer to command line string +* +* Context: +* Kernel context. +*/ +static void +qla2x00_get_properties(scsi_qla_host_t *ha, char *cmdline) +{ + static char propbuf[LINESIZE]; + uint8_t tmp_name[8]; + + /* Adapter FC node names. */ + sprintf(propbuf, "scsi-qla%d-adapter-node", (int) ha->instance); + qla2x00_get_prop_16chars (ha, + propbuf, + (caddr_t)(&ha->init_cb->node_name), + cmdline); + + sprintf(propbuf, "scsi-qla%d-adapter-port", (int) ha->instance); + + /* DG 04/07 check portname of adapter */ + qla2x00_get_prop_16chars (ha, + propbuf, + (caddr_t)(tmp_name), + cmdline); + if (BCMP(&ha->init_cb->port_name[0], &tmp_name[0], 8) != 0) { + /* + * Adapter port name is WWN, and cannot be changed. + * Inform users of the mismatch, then just continue driver + * loading using the original adapter port name in NVRAM. + */ + printk(KERN_WARNING + "qla2x00: qla%ld found mismatch in " + "adapter port names.\n", + ha->instance); + printk(KERN_INFO + " qla%ld port name found in NVRAM " + "-> %02x%02x%02x%02x%02x%02x%02x%02x\n", + ha->instance, + ha->init_cb->port_name[0], + ha->init_cb->port_name[1], + ha->init_cb->port_name[2], + ha->init_cb->port_name[3], + ha->init_cb->port_name[4], + ha->init_cb->port_name[5], + ha->init_cb->port_name[6], + ha->init_cb->port_name[7]); + printk(KERN_INFO + " qla%ld port name found on command line " + "-> %02x%02x%02x%02x%02x%02x%02x%02x\n", + ha->instance, + tmp_name[0], + tmp_name[1], + tmp_name[2], + tmp_name[3], + tmp_name[4], + tmp_name[5], + tmp_name[6], + tmp_name[7]); + printk(KERN_INFO + " Using port name from NVRAM.\n"); + } + + qla2x00_cfg_persistent_binding(ha); +} + +/* + * qla2x00_update_fc_database + * This routine updates the device data in the database. + * + * Input: + * ha = adapter block pointer. + * device = device data pointer. + * + * Returns: + * 0 = success, if device found or added to database. + * BIT_0 = error + * BIT_1 = database was full and device was not configured. + */ +STATIC uint8_t +qla2x00_update_fc_database(scsi_qla_host_t *ha, + fcdev_t *device, uint8_t enable_slot_reuse) +{ + uint16_t cnt, i; + + DEBUG(printk("qla2x00: Found device - " + "nodename=%02x%02x%02x%02x%02x%02x%02x%02x, " + "portname=%02x%02x%02x%02x%02x%02x%02x%02x, " + "port Id=%06x, loop id=%04x\n", + device->name[0], device->name[1], + device->name[2], device->name[3], + device->name[4], device->name[5], + device->name[6], device->name[7], + device->wwn[0], device->wwn[1], + device->wwn[2], device->wwn[3], + device->wwn[4], device->wwn[5], + device->wwn[6], device->wwn[7], + device->d_id.b24, device->loop_id);) + + /* Look for device in database. */ + for (cnt = 0; cnt < MAX_FIBRE_DEVICES; cnt++) { +#if USE_PORTNAME + if (BCMP(device->wwn, ha->fc_db[cnt].wwn, 8) == 0) +#else + if (BCMP(device->name, ha->fc_db[cnt].name, 8) == 0) +#endif + { + DEBUG(printk("qla2x00: Reusing slot %d " + "for device " + "%02x%02x%02x%02x%02x%02x%02x%02x\n", + cnt, + device->wwn[0], + device->wwn[1], + device->wwn[2], + device->wwn[3], + device->wwn[4], + device->wwn[5], + device->wwn[6], + device->wwn[7]);) + if (device->flag == DEV_PUBLIC) { + ha->fc_db[cnt].flag |= DEV_PUBLIC; + } else { + if (ha->fc_db[cnt].flag & DEV_PUBLIC) { + ha->fc_db[cnt].flag &= + ~DEV_PUBLIC; + ha->fabricid[ha->fc_db[cnt].loop_id].in_use + = FALSE; + } + } + ha->fc_db[cnt].loop_id = device->loop_id; + ha->fc_db[cnt].d_id.b24 = device->d_id.b24; + return (0); + } + } + + /* Find a empty slot and add device into database. */ + for (i = 0; i < MAX_FIBRE_DEVICES; i++) { +/* FlexServ Patch */ +#if QLA2XXX_HOTSWAP_ENUMERATION + /* + * Enumerate upon the actual ID so add-single-device works + */ + if (i != device->loop_id) { + continue; + } +#endif + + if ((ha->fc_db[i].loop_id == PORT_UNUSED) || + (ha->fc_db[i].loop_id == PORT_NEED_MAP)) { + + DEBUG(printk("qla2x00: New slot %d for device " + "%02x%02x%02x%02x%02x%02x%02x%02x\n", + i, + device->wwn[0], + device->wwn[1], + device->wwn[2], + device->wwn[3], + device->wwn[4], + device->wwn[5], + device->wwn[6], + device->wwn[7]);) + BCOPY(device->name, ha->fc_db[i].name, 8); + BCOPY(device->wwn, ha->fc_db[i].wwn, 8); + ha->fc_db[i].loop_id = device->loop_id; + ha->fc_db[i].d_id.b24 = device->d_id.b24; + if (device->flag == DEV_PUBLIC) + ha->fc_db[i].flag |= DEV_PUBLIC; + ha->flags.updated_fc_db = TRUE; + return (0); + } + } + + if (enable_slot_reuse) { + for (i = 0; i < MAX_FIBRE_DEVICES; i++) + if (ha->fc_db[i].loop_id == PORT_AVAILABLE) { + DEBUG(printk("qla2x00: Assigned slot %d " + "reuse for device " + "%02x%02x%02x%02x%02x%02x%02x%02x\n", + i, + device->wwn[0], + device->wwn[1], + device->wwn[2], + device->wwn[3], + device->wwn[4], + device->wwn[5], + device->wwn[6], + device->wwn[7]);) + BCOPY(device->name, ha->fc_db[i].name, 8); + BCOPY(device->wwn, ha->fc_db[i].wwn, 8); + ha->fc_db[i].loop_id = device->loop_id; + ha->fc_db[i].d_id.b24 = device->d_id.b24; + if (device->flag == DEV_PUBLIC) + ha->fc_db[i].flag |= DEV_PUBLIC; + ha->flags.updated_fc_db = TRUE; + return (0); + } + } + return(BIT_1); +} + + +/* + * qla2x00_device_resync + * Marks devices in the database that needs resynchronization. + * + * Input: + * ha = adapter block pointer. + * + * Context: + * Kernel context. + */ +static void +qla2x00_device_resync(scsi_qla_host_t *ha) +{ + uint16_t index; + uint32_t mask; + rscn_t dev; + + ENTER("qlc2200_device_resync: entered\n"); + + while (ha->rscn_out_ptr != ha->rscn_in_ptr || + ha->flags.rscn_queue_overflow) { + + BCOPY((void *)&ha->rscn_queue[ha->rscn_out_ptr], + (void *)&dev, + sizeof(rscn_t)); + + DEBUG(printk("qla%ld: device_resync: rscn_queue[%d], " + "portID=%06x\n", + ha->instance, + ha->rscn_out_ptr, + ha->rscn_queue[ha->rscn_out_ptr].d_id.b24);) + + ha->rscn_out_ptr++; + if (ha->rscn_out_ptr == MAX_RSCN_COUNT) + ha->rscn_out_ptr = 0; + + /* Queue overflow, set switch default case. */ + if (ha->flags.rscn_queue_overflow) { + DEBUG(printk("device_resync: rscn overflow\n");) + + dev.format = 3; + ha->flags.rscn_queue_overflow = 0; + } + + switch (dev.format) { + case 0: + mask = 0xffffff; + break; + case 1: + mask = 0xffff00; + break; + case 2: + mask = 0xff0000; + break; + default: + mask = 0x0; + dev.d_id.b24 = 0; + ha->rscn_out_ptr = ha->rscn_in_ptr; + break; + } + + /* Mark target devices indicated by RSCN for later processing */ + for (index = 0; index < MAX_FIBRE_DEVICES; index++) { + + if ((ha->fc_db[index].flag & DEV_PUBLIC) && + (ha->fc_db[index].d_id.b24 & mask) == dev.d_id.b24) { + + /* fabric device */ + if (ha->fc_db[index].loop_id != PORT_UNUSED) { + ha->fc_db[index].loop_id |= PORT_LOST_ID; + + DEBUG(printk("qla%d: RSCN port @ " + "slot %d port_id=%06x\n", + (int)ha->instance, + index, + ha->fc_db[index].d_id.b24);) + } + } + } + + /* + * Invalidate initiator devices indicated by RSCN so we know + * they are no longer logged in. + */ + for (index = 0; index < ha->next_host_slot; index++) { + if ((ha->phost_db[index].d_id.b24 & mask) == + dev.d_id.b24) { + ha->fabricid[ha->phost_db[index].loop_id]. + in_use = FALSE; + ha->phost_db[index].loop_id |= PORT_LOST_ID; + ha->phost_db[index].d_id.b24 = 0; + } + } + } + + LEAVE("qlc2200_device_resync: exiting normally\n"); +} + +/* + * qla2x00_configure_fabric + * Setup SNS devices with loop ID's. + * + * Input: + * ha = adapter block pointer. + * + * Returns: + * 0 = success. + * BIT_0 = error + * BIT_1 = database was full and device was not configured. + */ +#define MAX_PUBLIC_LOOP_IDS LAST_SNS_LOOP_ID + 1 + +STATIC uint8_t +qla2x00_configure_fabric(scsi_qla_host_t *ha, uint8_t enable_slot_reuse) +{ + uint8_t rval = 0; + uint8_t rval1; + uint8_t local_flags = 0; + sns_cmd_rsp_t *sns; + uint8_t tmp_name[8]; + fcdev_t dev; + uint16_t i, index, found_cnt; + dma_addr_t phys_address = 0; + uint16_t new_dev_cnt; + uint16_t tmp_loop_id; + uint16_t tmp_topo; + static struct new_dev new_dev_list[MAX_FIBRE_DEVICES]; + + ENTER("qla2x00_configure_fabric: entered\n"); + + DEBUG2(printk("scsi%ld: Enter qla2x00_configure_fabric: hba=%p\n", + ha->host_no, ha);) + + /* If FL port exists, then SNS is present */ + rval1 = qla2x00_get_port_name(ha, SNS_FL_PORT, tmp_name, 0); + if (rval1 || + (tmp_name[0] == 0 && tmp_name[1] == 0 && + tmp_name[2] == 0 && tmp_name[3] == 0 && + tmp_name[4] == 0 && tmp_name[5] == 0 && + tmp_name[6] == 0 && tmp_name[7] == 0)) { + + DEBUG2(printk("qla2x00_configure_fabric: " + "MBC_GET_PORT_NAME Failed, No FL Port\n");) + + ha->device_flags &= ~SWITCH_FOUND; + return (0); + } + + ha->device_flags |= SWITCH_FOUND; + + /* Get adapter port ID. */ + rval = qla2x00_get_adapter_id(ha, &tmp_loop_id, &ha->d_id.b.al_pa, + &ha->d_id.b.area, &ha->d_id.b.domain, &tmp_topo); + + sns = pci_alloc_consistent(ha->pdev, + sizeof(sns_cmd_rsp_t), + &phys_address); + if (sns == NULL) { + printk(KERN_WARNING + "qla(%d): Memory Allocation failed - sns.\n", + (int)ha->host_no); + ha->mem_err++; + return BIT_0; + } + + memset(sns, 0, sizeof(sns_cmd_rsp_t)); + + /* Mark devices that need re-synchronization. */ + qla2x00_device_resync(ha); + found_cnt = 0; + do { +#if REG_FC4_ENABLED + if (test_and_clear_bit(REGISTER_FC4_NEEDED, &ha->dpc_flags)) { + if (qla2x00_register_fc4(ha, sns, phys_address)) { + /* EMPTY */ + DEBUG2(printk("qla2x00_configure_fabric(%ld): " + "register_fc4 failed.\n", + ha->host_no);) + } + } +#endif + rval = qla2x00_find_all_fabric_devs(ha, + sns, phys_address, + new_dev_list, &new_dev_cnt, + &local_flags); + if (rval != 0) + break; + + /* + * Logout all previous devices not currently in database + * and mark them available. + */ + for (index = 0; index < MAX_FIBRE_DEVICES && + !atomic_read(&ha->loop_down_timer) && + !(test_bit(LOOP_RESYNC_NEEDED, &ha->dpc_flags)); + index++) { + + if (ha->fc_db[index].loop_id & PORT_LOST_ID && + (ha->fc_db[index].flag & DEV_PUBLIC)) { + + qla2x00_fabric_logout(ha, + ha->fc_db[index].loop_id & + 0xff); + local_flags |= LOGOUT_PERFORMED; + } + } + +#if 0 + /* + * Wait for all remaining IO's to finish if there was logout. + */ + if (local_flags & LOGOUT_PERFORMED) { + local_flags &= ~LOGOUT_PERFORMED; + + if (ha->init_done) { + if (!(ha->dpc_flags & COMMAND_WAIT_ACTIVE)) { + ha->dpc_flags |= COMMAND_WAIT_ACTIVE; + + qla2x00_cmd_wait(ha); + + ha->dpc_flags &= ~COMMAND_WAIT_ACTIVE; + } + } + } +#endif + + /* + * Scan through our database and login entries already + * in our database. + */ + for (index = 0; index < MAX_FIBRE_DEVICES && + !atomic_read(&ha->loop_down_timer) && + !(test_bit(LOOP_RESYNC_NEEDED, &ha->dpc_flags)); index++) { + + if (!(ha->fc_db[index].loop_id & PORT_LOGIN_NEEDED)) + continue; + + ha->fc_db[index].loop_id &= ~PORT_LOGIN_NEEDED; + if (ha->fc_db[index].loop_id <= LAST_SNS_LOOP_ID) { + + /* loop_id reusable */ + dev.loop_id = ha->fc_db[index].loop_id & 0xff; + } else { + for (i = ha->min_external_loopid; + i < MAX_PUBLIC_LOOP_IDS; + i++) { + + if (!ha->fabricid[i].in_use) { + ha->fabricid[i].in_use = TRUE; + dev.loop_id = i; + break; + } + } + + if (i == MAX_PUBLIC_LOOP_IDS) + break; + } + + dev.d_id.b24 = ha->fc_db[index].d_id.b24; + + /* login and update database */ + if (qla2x00_fabric_login(ha, &dev) == 0) { + ha->fc_db[index].loop_id = dev.loop_id; + found_cnt++; + } + } + + /* + * Scan through new device list and login and add to our + * database. + */ + for (index = 0; index < new_dev_cnt && + !atomic_read(&ha->loop_down_timer) && + !(test_bit(LOOP_RESYNC_NEEDED, &ha->dpc_flags)); + index++) { + + BCOPY((void *)&new_dev_list[index], (void *)&dev, + sizeof(struct new_dev)); + + dev.flag = DEV_PUBLIC; + + for (i = ha->min_external_loopid; + i < MAX_PUBLIC_LOOP_IDS; + i++) { + + if (!ha->fabricid[i].in_use) { + ha->fabricid[i].in_use = TRUE; + dev.loop_id = i; + break; + } + } + + if (i == MAX_PUBLIC_LOOP_IDS) + break; + + DEBUG(printk("qla2x00_configure_fabric: calling " + "qla2100_fabric_login\n");) + + if (qla2x00_fabric_login(ha, &dev) == 0) { + found_cnt++; + if ((rval = + qla2x00_update_fc_database(ha, + &dev, + enable_slot_reuse)) ) { + + qla2x00_fabric_logout(ha, dev.loop_id); + ha->fabricid[i].in_use = FALSE; + break; + } + } + } + } while(0); + + pci_free_consistent(ha->pdev, sizeof(sns_cmd_rsp_t), sns, phys_address); + + if (rval) { + DEBUG2(printk("qla2x00_configure_fabric(%d): error exit ,rval=%d\n", + (int )ha->host_no,rval);) + } else { + /* EMPTY */ + DEBUG2( if( found_cnt ) ) + DEBUG2(printk("scsi%ld Found (%d) ports\n",ha->host_no, found_cnt);) + DEBUG2(printk("scsi%ld: qla2x00_configure_fabric: exit\n", + ha->host_no);) + } + + return(rval); +} + + +/* + * qla2x00_find_all_fabric_devs + * Go through GAN list to find all fabric devices. Will perform + * necessary logout of previously existed devices that have changed + * and save new devices in a new device list. + * + * Input: + * ha = adapter block pointer. + * dev = database device entry pointer. + * + * Returns: + * 0 = success. + * BIT_0 = error. + * + * Context: + * Kernel context. + */ +static uint8_t +qla2x00_find_all_fabric_devs(scsi_qla_host_t *ha, + sns_cmd_rsp_t *sns, dma_addr_t phys_addr, + struct new_dev *new_dev_list, uint16_t *new_dev_cnt, uint8_t *flags) +{ + fcdev_t first_dev, dev; + uint8_t rval = 0; + uint16_t i; + uint16_t index; + uint16_t new_cnt; + uint16_t public_count; + uint16_t initiator; + + DEBUG3(printk("scsi(%d): qla2x00_find_all_fabric_devs entered.\n", + (int)ha->host_no);) + + ha->max_public_loop_ids = MAX_PUBLIC_LOOP_IDS; + + /* + * Loop getting devices from switch. + * Issue GAN to find all devices out there. + * Logout the devices that were in our database but changed + * port ID. + */ + /* Calculate the max number of public ports */ + public_count = ha->max_public_loop_ids - ha->min_external_loopid + 2; + + /* Set start port ID scan at adapter ID. */ + dev.d_id.b24 = 0; + first_dev.d_id.b24 = 0; + + new_cnt = 0; /* new device count */ + + for (i = 0; + i < public_count && !atomic_read(&ha->loop_down_timer) && + !(test_bit(LOOP_RESYNC_NEEDED, &ha->dpc_flags)); + i++) { + + /* Send GAN to the switch */ + rval = 0; + if (qla2x00_gan(ha, sns, phys_addr, &dev)) { + rval = rval | BIT_0; + break; + } + + /* If wrap on switch device list, exit. */ + if (dev.d_id.b24 == first_dev.d_id.b24) + break; + + DEBUG(printk("scsi(%ld): gan found fabric(%d) - " + "port Id=%06x\n", + ha->host_no, + i, + dev.d_id.b24);) + + if (first_dev.d_id.b24 == 0) + first_dev.d_id.b24 = dev.d_id.b24; + + /* If port type not equal to N or NL port, skip it. */ + if (sns->p.gan_rsp[16] != 1 && sns->p.gan_rsp[16] != 2) { + continue; /* needed for McData switch */ + } + + /* Bypass if host adapter. */ + if (dev.d_id.b24 == ha->d_id.b24) + continue; + + /* Bypass reserved domain fields. */ + if ((dev.d_id.b.domain & 0xf0) == 0xf0) + continue; + + /* Bypass if same domain and area of adapter. */ + if ((dev.d_id.b24 & 0xffff00) == (ha->d_id.b24 & 0xffff00)) + continue; + +#ifdef FC_IP_SUPPORT + /* Check for IP device */ + if (sns->p.gan_rsp[579] & 0x20) { + /* Found IP device */ + DEBUG(printk("qla%ld: IP fabric WWN:" + "%02x%02x%02x%02x%02x%02x%02x%02x DID:%06x\n", + ha->instance, + dev.name[0], + dev.name[1], + dev.name[2], + dev.name[3], + dev.name[4], + dev.name[5], + dev.name[6], + dev.name[7], + dev.d_id.b24);) + + qla2x00_update_ip_device_data(ha, &dev); + continue; + } +#endif + + /* Bypass if initiator */ + initiator = FALSE; + for (index = 0; index < ha->next_host_slot; index++) { +#if USE_PORTNAME + if (BCMP(dev.wwn, ha->phost_db[index].wwn, 8) == 0) +#else + if (BCMP(dev.name, ha->phost_db[index].name, 8) == 0) +#endif + { + initiator = TRUE; + /* + * Update port ID so we can keep track whether + * it is still connected. + */ + ha->phost_db[index].d_id.b24 = dev.d_id.b24; + + DEBUG(printk("qla%ld: found host " + "%02x%02x%02x%02x%02x%02x%02x%02x, " + "port Id=%06x\n", + ha->instance, + dev.name[0], dev.name[1], + dev.name[2], dev.name[3], + dev.name[4], dev.name[5], + dev.name[6], dev.name[7], + dev.d_id.b24);) + + break; + } + } + + /* Bypass if initiator */ + if (initiator) + continue; + + /* Locate matching device in database. */ + for (index = 0; index < MAX_FIBRE_DEVICES; index++) { +#if USE_PORTNAME + if (BCMP(dev.wwn, ha->fc_db[index].wwn, 8) != 0) +#else + if (BCMP(dev.name, ha->fc_db[index].name, 8) != 0) +#endif + continue; + + /* Now we found a matching device name */ + DEBUG(printk("qla%ld: found fabric dev %d in tgt %d " + "db, flags= 0x%x, loop_id=" + "0x%04x, port=%06x, name=" + "%02x%02x%02x%02x%02x%02x%02x%02x\n", + ha->instance, + i, index, + ha->fc_db[index].flag, + ha->fc_db[index].loop_id, + ha->fc_db[index].d_id.b24, + dev.wwn[0], + dev.wwn[1], + dev.wwn[2], + dev.wwn[3], + dev.wwn[4], + dev.wwn[5], + dev.wwn[6], + dev.wwn[7]);) + + if (!(ha->fc_db[index].flag & DEV_PUBLIC)) { + /* + * This was in our database as a local + * device. Here we assume this device + * either has changed location so + * configure_local_loop has already + * done necessary clean up, or it's + * saved here due to persistent name + * binding. We'll just add it in + * as a fabric device. + */ + /* Copy port id and name fields. */ + ha->fc_db[index].flag |= DEV_PUBLIC; + ha->fc_db[index].d_id.b24=dev.d_id.b24; + ha->fc_db[index].loop_id |= + PORT_LOGIN_NEEDED; + + break; + } + + /* This was in our database as a fabric device. */ + if ((ha->fc_db[index].d_id.b24 == dev.d_id.b24) && + (ha->fc_db[index].loop_id <= LAST_SNS_LOOP_ID)) + /* Device didn't change */ + break; + + if (ha->fc_db[index].loop_id == PORT_AVAILABLE) { + ha->fc_db[index].flag |= DEV_PUBLIC; + ha->fc_db[index].d_id.b24 = dev.d_id.b24; + ha->fc_db[index].loop_id |= PORT_LOGIN_NEEDED; + break; + } + + /* + * Port ID changed or device was + * marked to be updated; logout and + * mark it for relogin later. + */ + qla2x00_fabric_logout(ha, + ha->fc_db[index].loop_id & 0xff); + ha->fc_db[index].flag |= DEV_PUBLIC; + ha->fc_db[index].d_id.b24 = dev.d_id.b24; + + ha->fc_db[index].loop_id |= PORT_LOGIN_NEEDED; + ha->fc_db[index].loop_id &= ~PORT_LOST_ID; + + *flags |= LOGOUT_PERFORMED; + + break; + } + + if (index == MAX_FIBRE_DEVICES) { + /* + * Did not find a match in our database. + * This is a new device. + */ + DEBUG3(printk("find_all_fabric_devs: new device " + "%02x%02x%02x%02x%02x%02x%02x%02x.\n", + dev.wwn[0], dev.wwn[1], + dev.wwn[2], dev.wwn[3], + dev.wwn[4], dev.wwn[5], + dev.wwn[6], dev.wwn[7]);) + + BCOPY((void *)&dev, (void *)&new_dev_list[new_cnt], + sizeof(struct new_dev)); + new_cnt++; + } + } + + *new_dev_cnt = new_cnt; + + if (new_cnt > 0) + ha->device_flags |= DFLG_FABRIC_DEVICES; + + DEBUG(printk("qla2x00_find_all_fabric_devs: exit. rval=%d.\n", + rval);) + DEBUG3(printk("qla2x00_find_all_fabric_devs: exit. rval=%d.\n", + rval);) + + return (rval); +} + +#if REG_FC4_ENABLED +/* + * qla2x00_register_fc4 + * Register adapter as FC4 device to the switch, so the switch won't + * need to login to us later which generates an RSCN event. + * + * Input: + * ha = adapter block pointer. + * sns = pointer to buffer for sns command. + * phys_addr = DMA buffer address. + * + * Context: + * Kernel context. + */ +static uint8_t +qla2x00_register_fc4(scsi_qla_host_t *ha, + sns_cmd_rsp_t *sns, dma_addr_t phys_addr) +{ + uint8_t rval; + uint16_t wc; + + DEBUG2(printk("qla2x00_register_fc4: entered.\n");) + + /* Get port ID for device on SNS. */ + memset(sns, 0, sizeof(sns_cmd_rsp_t)); + wc = RFT_DATA_SIZE / 2; + sns->p.cmd.buffer_length = wc; + sns->p.cmd.buffer_address[0] = LS_64BITS(phys_addr); + sns->p.cmd.buffer_address[1] = MS_64BITS(phys_addr); + sns->p.cmd.subcommand_length = 22; + sns->p.cmd.subcommand = 0x217; + wc = (RFT_DATA_SIZE - 16) / 4; + sns->p.cmd.size = wc; + sns->p.cmd.param[0] = ha->d_id.b.al_pa; + sns->p.cmd.param[1] = ha->d_id.b.area; + sns->p.cmd.param[2] = ha->d_id.b.domain; + +#ifdef FC_IP_SUPPORT + if (ha->flags.enable_ip) + sns->p.cmd.param[4] = 0x20; /* Set type 5 code for IP */ +#endif + sns->p.cmd.param[5] = 1; /* SCSI - FCP */ + + rval = BIT_0; + if (!qla2x00_send_sns(ha, phys_addr, 30, sizeof(sns_cmd_rsp_t))) { + if (sns->p.rft_rsp[8] == 0x80 && + sns->p.rft_rsp[9] == 0x2) { + + DEBUG2(printk("qla2x00_register_fc4(%ld): exiting " + "normally.\n", + ha->host_no);) + rval = 0; + } + } + + if (rval != 0) { + /* EMPTY */ + DEBUG2_3(printk("qla2x00_register_fc4(%ld): failed.\n", + ha->host_no);) + } + + return (rval); +} +#endif + +/* + * qla2x00_gan + * Issue Get All Next (GAN) Simple Name Server (SNS) command. + * + * Input: + * ha = adapter block pointer. + * sns = pointer to buffer for sns command. + * dev = FC device type pointer. + * + * Returns: + * qla2100 local function return status code. + * + * Context: + * Kernel context. + */ +static uint8_t +qla2x00_gan(scsi_qla_host_t *ha, + sns_cmd_rsp_t *sns, + dma_addr_t phys_addr, fcdev_t *dev) +{ + uint8_t rval; + uint16_t wc; + + ENTER("qla2x00_gan: entered\n"); + + /* Get port ID for device on SNS. */ + memset(sns, 0, sizeof(sns_cmd_rsp_t)); + wc = GAN_DATA_SIZE / 2; + sns->p.cmd.buffer_length = wc; + sns->p.cmd.buffer_address[0] = LS_64BITS(phys_addr); + sns->p.cmd.buffer_address[1] = MS_64BITS(phys_addr); + sns->p.cmd.subcommand_length = 6; + sns->p.cmd.subcommand = 0x100; /* GA_NXT */ + wc = (GAN_DATA_SIZE - 16) / 4; + sns->p.cmd.size = wc; + sns->p.cmd.param[0] = dev->d_id.b.al_pa; + sns->p.cmd.param[1] = dev->d_id.b.area; + sns->p.cmd.param[2] = dev->d_id.b.domain; + + rval = BIT_0; + if (!qla2x00_send_sns(ha, phys_addr, 14, sizeof(sns_cmd_rsp_t))) { + if (sns->p.gan_rsp[8] == 0x80 && + sns->p.gan_rsp[9] == 0x2) { + + dev->d_id.b.al_pa = sns->p.gan_rsp[19]; + dev->d_id.b.area = sns->p.gan_rsp[18]; + dev->d_id.b.domain = sns->p.gan_rsp[17]; + dev->flag = DEV_PUBLIC; + + /* Save FC name */ + BCOPY(&sns->p.gan_rsp[284], dev->name, 8); + + /* Extract portname */ + BCOPY(&sns->p.gan_rsp[20], dev->wwn, 8); + + DEBUG3(printk("qla2x00: gan entry - portname " + "%02x%02x%02x%02x%02x%02x%02x%02x " + "port Id=%06x\n", + sns->p.gan_rsp[20], sns->p.gan_rsp[21], + sns->p.gan_rsp[22], sns->p.gan_rsp[23], + sns->p.gan_rsp[24], sns->p.gan_rsp[25], + sns->p.gan_rsp[26], sns->p.gan_rsp[27], + dev->d_id.b24);) + rval = 0; + } + } + +#ifdef QL_DEBUG_LEVEL_2 + if (rval != 0) + printk("qla2x00_gan: exit, rval = %d\n",rval); +#endif + + return (rval); +} + + +/* + * qla2x00_fabric_login + * Issue fabric login command. + * + * Input: + * ha = adapter block pointer. + * device = pointer to FC device type structure. + * + * Returns: + * 0 - Login successfully + * 1 - Login failed + * 2 - Initiator device + * 3 - Fatal error + */ +static uint8_t +qla2x00_fabric_login(scsi_qla_host_t *ha, fcdev_t *device) +{ + uint16_t status[3]; + + for (;;) { + DEBUG(printk("scsi%d: Trying Fabric Login w/loop id 0x%04x " + "for port %06x\n", + (int)ha->host_no, + device->loop_id, + device->d_id.b24);) + + /* Login device on switch. */ + qla2x00_login_fabric(ha, + device->loop_id, device->d_id.b.domain, + device->d_id.b.area, device->d_id.b.al_pa, + &status[0], BIT_0); + + if (status[0] == 0x4007) { + ha->fabricid[device->loop_id].in_use = FALSE; + device->loop_id = status[1]; + + DEBUG(printk("Fabric Login: port in use - next " + "loop id=0x%04x, port Id=%06x\n", + device->loop_id, device->d_id.b24);) + + if (device->loop_id <= LAST_SNS_LOOP_ID) + ha->fabricid[device->loop_id].in_use = TRUE; + else + return 1; + + } else if (status[0] == 0x4000) { + if (status[1] & 0x0001) { + /* + * This is an initiator only device. Save + * some info to host_db and ignore it. + */ + if (ha->next_host_slot < 8) { + BCOPY(device->wwn, ha->phost_db + [ha->next_host_slot].wwn, 8); + BCOPY(device->name, ha->phost_db + [ha->next_host_slot].name, 8); + ha->phost_db[ha->next_host_slot]. + d_id.b24 = device->d_id.b24; + ha->phost_db[ha->next_host_slot]. + loop_id = device->loop_id; + ha->next_host_slot++; + } else { + printk(KERN_INFO + "scsi%ld: Host table full.\n", + ha->host_no); + } + return 2; + } + + /* This is target capable device */ + qla2x00_get_port_database(ha, device, 0); + + DEBUG(printk("scsi%d: Fabric Login OK. loop id=0x%04x, " + "port Id=%06x\n", + (int)ha->host_no, + device->loop_id, device->d_id.b24);) + return 0; + + } else if (status[0] == 0x4008) { + + if (device->loop_id++ <= LAST_SNS_LOOP_ID) + ha->fabricid[device->loop_id].in_use = TRUE; + else + return 1; + + } else if (status[0] == 0x4006) { + /* No more retry needed. */ + return 3; + } else { + DEBUG2(printk("qla2x00_fabric_login(%ld): failed=%x " + "port_id=%06x loop_id=%x jiffies=%lx.\n", + ha->host_no, + status[0], + device->d_id.b24, device->loop_id, + jiffies);) + return 1; + } + } +} + +/* + * qla2x00_configure_loop + * Updates Fibre Channel Device Database with what is actually on loop. + * + * Input: + * ha = adapter block pointer. + * + * Output: + * ha->fc_db = updated + * + * Returns: + * 0 = success. + * 1 = error. + * 2 = database was full and device was not configured. + */ +STATIC uint8_t +qla2x00_configure_loop(scsi_qla_host_t *ha) +{ + uint8_t rval = 0; + uint8_t rval1 = 0; + uint8_t enable_slot_reuse = FALSE; + uint16_t cnt; + static unsigned long flags, save_flags; +#ifdef FC_IP_SUPPORT + PIP_DEVICE_BLOCK pIpDevice; +#endif + + DEBUG3(printk("qla2x00_configure_loop(%ld): entered\n", + ha->host_no);) + DEBUG(printk("scsi%ld: Enter qla2x00_configure_loop:\n", + ha->host_no);) + + /* Get Initiator ID */ + if (qla2x00_configure_hba(ha)) { + DEBUG(printk("scsi%ld: qla2x00_configure_loop: " + "configure hba failed.\n", + ha->host_no);) + return(1); + } + +#ifdef FC_IP_SUPPORT + /* Disable all IP devices in linked list */ + for (pIpDevice = ha->pIpDeviceTop; + pIpDevice != NULL; + pIpDevice = pIpDevice->pNextIpDevice) { + + pIpDevice->lDeviceFlags &= ~IP_DEV_FLAG_PRESENT; + } +#endif /* FC_IP_SUPPORT */ + + save_flags = flags = ha->dpc_flags; + DEBUG(printk("qla2x00_configure_loop: dpc flags =0x%lx\n",flags);) + + /* dg 02/26/02 ha->dpc_flags &= ~(LOCAL_LOOP_UPDATE | RSCN_UPDATE); */ + + /* + * if we have both an RSCN and PORT UPDATE pending then + * handle them both at the same time. + */ + clear_bit(LOCAL_LOOP_UPDATE, &ha->dpc_flags); + clear_bit(RSCN_UPDATE, &ha->dpc_flags); + ha->mem_err = 0 ; + + /* Determine what we need to do */ + if (ha->current_topology == ISP_CFG_FL && + (test_bit(LOCAL_LOOP_UPDATE, &flags))) { + + ha->flags.rscn_queue_overflow = TRUE; + set_bit(RSCN_UPDATE, &flags); + + } else if (ha->current_topology == ISP_CFG_F && + (test_bit(LOCAL_LOOP_UPDATE, &flags))) { + + ha->flags.rscn_queue_overflow = TRUE; + set_bit(RSCN_UPDATE, &flags); + clear_bit(LOCAL_LOOP_UPDATE, &flags); + + } else if (!ha->flags.online || + (test_bit(ABORT_ISP_ACTIVE, &flags))) { + + ha->flags.rscn_queue_overflow = TRUE; + set_bit(RSCN_UPDATE, &flags); + set_bit(LOCAL_LOOP_UPDATE, &flags); + } + + do { + if (test_bit(LOCAL_LOOP_UPDATE, &flags)) { + rval = rval | + qla2x00_configure_local_loop(ha, + enable_slot_reuse); + } + + if (test_bit(RSCN_UPDATE, &flags)) { + rval1 = qla2x00_configure_fabric(ha, enable_slot_reuse); + if ((rval1 & BIT_0) && ha->sns_retry_cnt < 8) { + ha->sns_retry_cnt++; + set_bit(LOGIN_RETRY_NEEDED, &ha->dpc_flags); + } + } + + /* If devices not configured first time try reusing slots.*/ + if (enable_slot_reuse == FALSE && (rval & BIT_1)) + enable_slot_reuse = TRUE; + else + enable_slot_reuse = FALSE; + + /* Isolate error status. */ + if (rval & BIT_0) { + rval = 1; + } else { + rval = 0; + } + + } while (enable_slot_reuse == TRUE && rval == 0); + + if (!atomic_read(&ha->loop_down_timer) && + !(test_bit(LOOP_RESYNC_NEEDED, &ha->dpc_flags))) { + + /* Mark devices that are not present as DEV_ABSENCE */ + for (cnt = 0; cnt < MAX_FIBRE_DEVICES; cnt++) { + if (ha->fc_db[cnt].loop_id & PORT_LOST_ID) { + ha->fc_db[cnt].flag |= DEV_ABSENCE; + } else { + /* device returned */ + if (ha->fc_db[cnt].loop_id <= LAST_SNS_LOOP_ID && + ha->fc_db[cnt].flag & DEV_ABSENCE) { + + ha->fc_db[cnt].flag &= ~DEV_ABSENCE; + ha->fc_db[cnt].flag |= DEV_RETURN; + ha->fc_db[cnt].port_login_retry_count= + ha->port_down_retry_count * PORT_RETRY_TIME; + } + } + } + + rval1 = qla2x00_build_fcport_list(ha); + if (((rval1 & BIT_0) || + ha->mem_err != 0) && + ha->sns_retry_cnt < 8 ) { + + ha->sns_retry_cnt++; + set_bit(LOGIN_RETRY_NEEDED, &ha->dpc_flags); + } + + if(!ha->flags.failover_enabled) + qla2x00_config_os(ha); + + /* If we found all devices then go ready */ + if (!(test_bit(LOGIN_RETRY_NEEDED, &ha->dpc_flags))) { + ha->loop_state = LOOP_READY; + +#if MPIO_SUPPORT + if (qla2x00_failover) { + DEBUG(printk("qla2x00_configure_loop(%ld): " + "schedule FAILBACK EVENT\n", + ha->host_no);) + if (!(test_and_set_bit(FAILOVER_EVENT_NEEDED, &ha->dpc_flags))) { + ha->failback_delay = failbackTime; + } + set_bit(COMMAND_WAIT_NEEDED, &ha->dpc_flags); + ha->failover_type = MP_NOTIFY_LOOP_UP; + } +#endif + + DEBUG(printk("qla2x00_configure_loop(%ld): " + "LOOP READY\n", + ha->host_no);) + } else { + if (test_bit(LOCAL_LOOP_UPDATE, &save_flags)) + set_bit(LOCAL_LOOP_UPDATE, &ha->dpc_flags); + if (test_bit(RSCN_UPDATE, &save_flags)) + set_bit(RSCN_UPDATE, &ha->dpc_flags); + } + } else { + DEBUG(printk("qla2x00_configure_loop(%ld): " + "Loop down counter running= %d or Resync " + "needed- dpc flags= %ld\n", + ha->host_no, + atomic_read(&ha->loop_down_timer), + ha->dpc_flags);) + /* ???? dg 02/26/02 rval = 1; */ + } + + if (rval) { + DEBUG2_3(printk("qla2x00_configure_loop(%ld): *** FAILED ***\n", + ha->host_no);) + } else { + DEBUG3(printk("qla2x00_configure_loop: exiting normally\n");) + } + + return(rval); +} + + +/* + * qla2x00_config_os + * Setup OS target and LUN structures. + * + * Input: + * ha = adapter state pointer. + * + * Context: + * Kernel context. + */ +static void +qla2x00_config_os(scsi_qla_host_t *ha) +{ + fc_port_t *fcport; + fc_lun_t *fclun; + os_lun_t *lq; + uint16_t t, l; + + + DEBUG3(printk("qla2x00_config_os(%ld): entered.\n", + ha->host_no);) + + for (fcport = ha->fcport; fcport != NULL; fcport = fcport->next) { + /* Allocate target */ +#if 0 + if (fcport->loop_id == FC_NO_LOOP_ID) + continue; +#endif + + /* Bind fcport to target number. */ + DEBUG5(printk("qla2x00_config_os(%ld): fcport bind= %p\n", + ha->host_no,fcport);) + + if ((t = qla2x00_fcport_bind(ha, fcport)) == MAX_TARGETS) + continue; + +#if VSA + if( (ha->fc_db[t].flag & DEV_FLAG_VSA) ) + fcport->flags |= FC_VSA; +#endif + DEBUG5(printk("qla2x00_config_os(%ld): going to alloc lun for " + "tgt %d. mask=" + "%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x" + "%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x" + "%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x" + ".\n", + ha->host_no, + t, + fcport->lun_mask.mask[0], + fcport->lun_mask.mask[1], fcport->lun_mask.mask[2], + fcport->lun_mask.mask[3], fcport->lun_mask.mask[4], + fcport->lun_mask.mask[5], fcport->lun_mask.mask[6], + fcport->lun_mask.mask[7], fcport->lun_mask.mask[8], + fcport->lun_mask.mask[9], fcport->lun_mask.mask[10], + fcport->lun_mask.mask[11], fcport->lun_mask.mask[12], + fcport->lun_mask.mask[13], fcport->lun_mask.mask[14], + fcport->lun_mask.mask[15], fcport->lun_mask.mask[16], + fcport->lun_mask.mask[17], fcport->lun_mask.mask[18], + fcport->lun_mask.mask[19], fcport->lun_mask.mask[20], + fcport->lun_mask.mask[21], fcport->lun_mask.mask[22], + fcport->lun_mask.mask[23], fcport->lun_mask.mask[24], + fcport->lun_mask.mask[25], fcport->lun_mask.mask[26], + fcport->lun_mask.mask[27], fcport->lun_mask.mask[28], + fcport->lun_mask.mask[29], fcport->lun_mask.mask[30], + fcport->lun_mask.mask[31]);) + + /* Allocate LUNs */ + for (fclun = fcport->fclun; + fclun != NULL; + fclun = fclun->next) { + + l = fclun->lun; /* Must not exceed MAX_LUN */ + + /* Always alloc LUN 0 so kernel will scan + * past LUN 0. + */ + if (l != 0 && + (EXT_IS_LUN_BIT_SET(&(fcport->lun_mask), l))) { + + /* mask this LUN */ + continue; + } + + if ((lq = qla2x00_lun_alloc(ha, t, l)) == NULL) + continue; + lq->fclun = fclun; + } + } + + DEBUG3(printk("qla2x00_config_os(%ld): exiting normally.\n", + ha->host_no);) +} + +/* + * qla2x00_fcport_bind + * Locates a target number for FC port. + * + * Input: + * ha = adapter state pointer. + * fcport = FC port structure pointer. + * + * Returns: + * target number + * + * Context: + * Kernel context. + */ +static uint16_t +qla2x00_fcport_bind(scsi_qla_host_t *ha, fc_port_t *fcport) +{ + uint8_t *name; + uint16_t t; + os_tgt_t *tq; + + + ENTER("qla2x00_fcport_bind"); + name = &fcport->port_name[0]; + + /* Check for tgt already allocated for persistent binding. */ + for (t = 0; t < MAX_TARGETS; t++) { + if ((tq = TGT_Q(ha, t)) == NULL) + continue; + + if (memcmp(name, tq->fc_name, WWN_SIZE) == 0) { + tq->vis_port = fcport; + break; + } + } + + if (fcport->loop_id == FC_NO_LOOP_ID) { + DEBUG(tq = TGT_Q(ha, t);) + DEBUG(printk("scsi%ld: Missing target ID %02x @ %p to " + "loop id: %04x, port state=0x%x, " + "port down retry=%d\n", + ha->host_no, + t, + tq, + fcport->loop_id, + atomic_read(&fcport->state), + atomic_read(&fcport->port_down_timer));) + return (MAX_TARGETS); + } + + if (t != MAX_TARGETS) { + DEBUG(tq = TGT_Q(ha, t);) + DEBUG(printk("scsi%ld: Assigning target ID %02x @ %p to " + "loop id: %04x, port state=0x%x, " + "port down retry=%d\n", + ha->host_no, + t, + tq, + fcport->loop_id, + atomic_read(&fcport->state), + atomic_read(&fcport->port_down_timer));) + return (t); + } + + /* Check for persistent binding not yet configured. */ + for (t = 0; t < MAX_TARGETS; t++) { +#if USE_PORTNAME + if (memcmp(name, ha->fc_db[t].wwn, WWN_SIZE) == 0) +#else + if (memcmp(name, ha->fc_db[t].name, WWN_SIZE) == 0) +#endif + { + /* found not-yet-allocated target at t */ + break; + } + } + + if (t == MAX_TARGETS) { + /* Check if slot at loop ID is available. */ + t = fcport->loop_id; + if (TGT_Q(ha, t) != NULL) { + /* Locate first free target id in db for device. */ + for (t = 0; t < MAX_TARGETS; t++) { + if (TGT_Q(ha, t) == NULL) + break; + } + } + } + + if (t != MAX_TARGETS && qla2x00_tgt_alloc(ha, t, name) == NULL) + t = MAX_TARGETS; + + if (t == MAX_TARGETS) { + /*EMPTY*/ + printk(KERN_WARNING "qla2x00_fcport_bind: **** FAILED ****"); + DEBUG2(printk("qla2x00_fcport_bind: **** FAILED ****");) + } else { + if (!ha->flags.failover_enabled) { + /* fcport IS the visible port in non-failover mode */ + tq = TGT_Q(ha, t); + tq->vis_port = fcport; + } + + DEBUG(tq = TGT_Q(ha, t);) + DEBUG(printk("scsi%ld: Assigning target ID %02x @ %p to " + "loop id: %04x, port state=0x%x, " + "port down retry=%d\n", + ha->host_no, + t, + tq, + fcport->loop_id, + atomic_read(&fcport->state), + atomic_read(&fcport->port_down_timer));) + + LEAVE("qla2x00_fcport_bind: exiting normally"); + } + + return (t); +} + +/* + * qla2x00_build_fcport_list + * Updates device on list. + * + * Input: + * ha = adapter block pointer. + * fcport = port structure pointer. + * + * Return: + * 0 - Success + * BIT_0 - error + * + * Context: + * Kernel context. + */ +static int +qla2x00_build_fcport_list(scsi_qla_host_t *ha) +{ + fcdev_t *dev; + int found = 0; + int cnt, i; + fc_port_t *fcport; + fc_port_t *prev_fcport; + + ENTER("qla2x00_build_fcport_list"); + for (cnt = 0; cnt < MAX_FIBRE_DEVICES; cnt++) { + dev = &ha->fc_db[cnt]; + + /* Skip if zero port name */ + if ( qla2x00_is_wwn_zero( (uint8_t *) &dev->wwn[0]) ) { + continue; + } + + DEBUG3(printk("qla2x00_build_fcport_list(%ld): found tgt %d " + "in fc_db.\n", ha->host_no, cnt);) + + /* Check for matching device in port list. */ + found = 0; + prev_fcport = NULL; + for (i=0, fcport = ha->fcport; + fcport != NULL; + fcport = fcport->next, i++) { + + if (BCMP(dev->wwn, fcport->port_name, WWN_SIZE) == 0 && + BCMP(dev->name, fcport->node_name, WWN_SIZE) == 0) { + + DEBUG(printk("qla2x00_build_fcport_list: Found " + "matching port %06x, device " + "flags= 0x%x\n", + dev->d_id.b24, + dev->flag);) + + /* if device found is missing then mark it */ + if (dev->flag & DEV_ABSENCE) { + DEBUG(printk("qla2x00_buildfcportlist: " + "Port missing --- " + "(port_name) -> " + "%02x%02x%02x%02x%02x%02x%02x%02x, " + "loop id = 0x%04x\n", + fcport->port_name[0], + fcport->port_name[1], + fcport->port_name[2], + fcport->port_name[3], + fcport->port_name[4], + fcport->port_name[5], + fcport->port_name[6], + fcport->port_name[7], + fcport->loop_id);) + + fcport->loop_id = FC_NO_LOOP_ID; + /* + * if the device is dead don't + * change the state to + * DEVICE LOST. + */ + if (atomic_read(&fcport->state) != FC_DEVICE_DEAD) + qla2x00_mark_device_lost(ha, fcport); + found++; + break; + } + + /* if device was missing but returned */ + if (fcport->loop_id == FC_NO_LOOP_ID || + !(dev->flag & DEV_PUBLIC) || + atomic_read(&fcport->state) != FC_ONLINE) { + + DEBUG(printk("qla2x00_buildfcportlist: " + "Port returned +++ " + "(port_name) -> " + "%02x%02x%02x%02x%02x%02x%02x%02x, " + "loop id = 0x%04x\n", + fcport->port_name[0], + fcport->port_name[1], + fcport->port_name[2], + fcport->port_name[3], + fcport->port_name[4], + fcport->port_name[5], + fcport->port_name[6], + fcport->port_name[7], + fcport->loop_id);) + + fcport->loop_id = dev->loop_id; + fcport->old_loop_id = dev->loop_id; + fcport->d_id.b24 = dev->d_id.b24; + break; + } + + DEBUG(printk("qla2x00_buildfcportlist: " + "Match - fcport[%d] = " + "fc_db[%d] (ignored) -> " + "%02x%02x%02x%02x%02x%02x%02x%02x, " + "loop id = 0x%04x\n", + i, + cnt, + fcport->port_name[0], + fcport->port_name[1], + fcport->port_name[2], + fcport->port_name[3], + fcport->port_name[4], + fcport->port_name[5], + fcport->port_name[6], + fcport->port_name[7], + fcport->loop_id);) + found++; + break; + } + + prev_fcport = fcport; + } + if (found) + continue; + + /* Add device to port list. */ + if (fcport == NULL) { + DEBUG3(printk("qla2x00_build_fcport_list(%ld): adding " + "new device to list.\n", ha->host_no);) + + fcport = (fc_port_t *)KMALLOC(sizeof (fc_port_t)); + if (fcport == NULL) + break; + + memset(fcport, 0, sizeof(fc_port_t)); + + /* copy fields into fcport */ + BCOPY(&dev->wwn[0], &fcport->port_name[0], WWN_SIZE); + BCOPY(&dev->name[0], &fcport->node_name[0], WWN_SIZE); + + fcport->dev_id = cnt; + + if (dev->flag & DEV_ABSENCE) { + DEBUG(printk("qla2x00_buildfcportlist: " + "Port missing --- " + "(port_name) -> " + "%02x%02x%02x%02x%02x%02x%02x%02x, " + "loop id = 0x%04x\n", + fcport->port_name[0], + fcport->port_name[1], + fcport->port_name[2], + fcport->port_name[3], + fcport->port_name[4], + fcport->port_name[5], + fcport->port_name[6], + fcport->port_name[7], + fcport->loop_id);) + + fcport->loop_id = FC_NO_LOOP_ID; + /* + * if the device is dead don't change + * the state to DEVICE LOST. + */ + if (atomic_read(&fcport->state) != FC_DEVICE_DEAD) + qla2x00_mark_device_lost(ha, fcport); + } else { + fcport->loop_id = dev->loop_id; + fcport->old_loop_id = dev->loop_id; + } + + fcport->d_id = dev->d_id; + + DEBUG(printk("qla2x00_buildfcportlist: " + "New Device +++ " + "(port_name) -> " + "%02x%02x%02x%02x%02x%02x%02x%02x, " + "loop id = 0x%04x\n", + fcport->port_name[0], + fcport->port_name[1], + fcport->port_name[2], + fcport->port_name[3], + fcport->port_name[4], + fcport->port_name[5], + fcport->port_name[6], + fcport->port_name[7], + fcport->loop_id);) + + /* flags */ + if (dev->flag & DEV_PUBLIC) + fcport->flags |= FC_FABRIC_DEVICE; + + if (dev->flag & DEV_INITIATOR) + fcport->flags |= FC_INITIATOR_DEVICE; + + if (!qla2x00_failover) + qla2x00_get_lun_mask_from_config(ha, + fcport, cnt, 0); + + if (prev_fcport == NULL) { + /* nothing in fcport list yet */ + ha->fcport = fcport; + } else { + /* + * prev_fcport should be pointing to last + * port in list + */ + prev_fcport->next = fcport; + } + + } else { + DEBUG3(printk("qla2x00_build_fcport_list(%ld): " + "updating device to list.\n", + ha->host_no);) + fcport->loop_id = dev->loop_id; + fcport->old_loop_id = dev->loop_id; + } + + if (atomic_read(&fcport->state) != FC_ONLINE) { + if (qla2x00_update_fcport(ha, fcport, cnt)) { + DEBUG2(printk("qla2x00_build_fcport_list(%ld): " + "update_fcport failed.\n", + ha->host_no);) + + return BIT_0; + } + } + + } + + LEAVE("qla2x00_build_fcport_list"); + + return (0); +} + +/* + * qla2x00_mark_device_lost + * Updates fcport state when device goes offline. + * + * Input: + * ha = adapter block pointer. + * fcport = port structure pointer. + * + * Return: + * None. + * + * Context: + */ +STATIC void +qla2x00_mark_device_lost( scsi_qla_host_t *ha, fc_port_t *fcport ) +{ + /* Mark the device LOST */ + atomic_set(&fcport->state, FC_DEVICE_LOST); + +#ifdef PORT_LOGIN_4xWAY + if (PORT_LOGIN_RETRY(fcport) > 0) { + PORT_LOGIN_RETRY(fcport)--; + DEBUG(printk("scsi%ld: Port login retry: " + "%02x%02x%02x%02x%02x%02x%02x%02x, " + "id = 0x%04x retry cnt=%d\n", + ha->host_no, + fcport->port_name[0], + fcport->port_name[1], + fcport->port_name[2], + fcport->port_name[3], + fcport->port_name[4], + fcport->port_name[5], + fcport->port_name[6], + fcport->port_name[7], + fcport->loop_id, + PORT_LOGIN_RETRY(fcport));) + + set_bit(LOGIN_RETRY_NEEDED, &ha->dpc_flags); + } +#else + if (fcport->login_retry == 0) { + fcport->login_retry = + ha->port_down_retry_count * PORT_RETRY_TIME; + + DEBUG(printk("scsi%ld: Port login retry: " + "%02x%02x%02x%02x%02x%02x%02x%02x, " + "id = 0x%04x retry cnt=%d\n", + ha->host_no, + fcport->port_name[0], + fcport->port_name[1], + fcport->port_name[2], + fcport->port_name[3], + fcport->port_name[4], + fcport->port_name[5], + fcport->port_name[6], + fcport->port_name[7], + fcport->loop_id, + fcport->login_retry ); ) + set_bit(RELOGIN_NEEDED, &ha->dpc_flags); + } +#endif +} + +/* + * qla2x00_mark_all_devices_lost + * Updates fcport state when device goes offline. + * + * Input: + * ha = adapter block pointer. + * fcport = port structure pointer. + * + * Return: + * None. + * + * Context: + */ +STATIC void +qla2x00_mark_all_devices_lost(scsi_qla_host_t *ha ) +{ + fc_port_t *fcport; + + for (fcport = ha->fcport; fcport != NULL; fcport = fcport->next) { + atomic_set(&fcport->state, FC_DEVICE_LOST); + } +} + +#if MPIO_SUPPORT +/* + * qla2x00_check_for_devices_online + * + * Check fcport state of all devices to make sure online. + * + * Input: + * ha = adapter block pointer. + * + * Return: + * None. + * + * Context: + */ +STATIC uint8_t +qla2x00_check_for_devices_online(scsi_qla_host_t *ha ) +{ + fc_port_t *fcport; + int found, cnt; + + found = 0; + for (cnt = 0, fcport = ha->fcport; + fcport != NULL; fcport = fcport->next, cnt++) { + if( atomic_read(&fcport->state) == FC_ONLINE) + found++; + } + if ( cnt == found ) { + DEBUG5(printk("qla2x00_check_for_devices_online(%ld): all online\n",ha->host_no);) + return 1; + } else + return 0; +} +#endif + +/* + * qla2x00_update_fcport + * Updates device on list. + * + * Input: + * ha = adapter block pointer. + * fcport = port structure pointer. + * + * Return: + * 0 - Success + * BIT_0 - error + * + * Context: + * Kernel context. + */ +static int +qla2x00_update_fcport(scsi_qla_host_t *ha, fc_port_t *fcport, int index) +{ + ENTER("qla2x00_update_fcport"); + + DEBUG4(printk("qla2x00_update_fcport: entered, loop_id = %d ", + fcport->loop_id);) + + fcport->port_login_retry_count = + ha->port_down_retry_count * PORT_RETRY_TIME; + atomic_set(&fcport->state, FC_ONLINE); + fcport->login_retry = 0; + fcport->ha = ha; + atomic_set(&fcport->port_down_timer, + ha->port_down_retry_count * PORT_RETRY_TIME); + + /* Do LUN discovery. */ + return (qla2x00_lun_discovery(ha, fcport, index)); +} + +/* + * qla2x00_lun_discovery + * Issue SCSI inquiry command for LUN discovery. + * + * Input: + * ha = adapter block pointer. + * fcport = FC port structure pointer. + * + * Return: + * 0 - Success + * BIT_0 - error + * + * Context: + * Kernel context. + */ +static int +qla2x00_lun_discovery(scsi_qla_host_t *ha, fc_port_t *fcport, int index) +{ + inq_cmd_rsp_t *pkt; + int rval; + uint16_t lun; + fc_lun_t *fclun; + dma_addr_t phys_address = 0; + int disconnected; + int retry; + fcdev_t dev; + int rlc_succeeded; + + ENTER("qla2x00_lun_discovery"); + + /* + * Immediately issue a RLC to the fcport + */ + rlc_succeeded = 0; + if (qla2x00_rpt_lun_discovery(ha, fcport) == QLA2X00_SUCCESS) { + /* + * We always need at least LUN 0 to be present in our + * fclun list if RLC succeeds. + */ + qla2x00_cfg_lun(fcport, 0); + /* + * At least do an inquiry on LUN 0 to determine peripheral + * qualifier type. + */ + rlc_succeeded = 1; + } + + /* + * RLC failed for some reason, try basic inquiries + */ + pkt = pci_alloc_consistent(ha->pdev, + sizeof(inq_cmd_rsp_t), &phys_address); + + if (pkt == NULL) { + printk(KERN_WARNING + "scsi(%d): Memory Allocation failed - INQ\n", + (int)ha->host_no); + ha->mem_err++; + return BIT_0; + } + +#if 0 /* This needs more testing */ + for (lun = 0; lun < ha->max_probe_luns; lun++) { +#endif + for (lun = 0; lun < MAX_FIBRE_LUNS; lun++) { + retry = 2; + do { + memset(pkt, 0, sizeof (inq_cmd_rsp_t)); + pkt->p.cmd.entry_type = COMMAND_TYPE; + pkt->p.cmd.entry_count = 1; + pkt->p.cmd.lun = lun; + pkt->p.cmd.target = (uint8_t)fcport->loop_id; + pkt->p.cmd.control_flags = CF_READ | CF_SIMPLE_TAG; + pkt->p.cmd.scsi_cdb[0] = INQ_SCSI_OPCODE; + pkt->p.cmd.scsi_cdb[4] = INQ_DATA_SIZE; + pkt->p.cmd.dseg_count = 1; + pkt->p.cmd.timeout = 10; + + pkt->p.cmd.byte_count = INQ_DATA_SIZE; + LITTLE_ENDIAN_32(pkt->p.cmd.byte_count); + + pkt->p.cmd.dseg_0_address = (uint32_t) + (phys_address + sizeof (sts_entry_t)); + LITTLE_ENDIAN_32(pkt->p.cmd.dseg_0_address); + + pkt->p.cmd.dseg_0_length = INQ_DATA_SIZE; + LITTLE_ENDIAN_32(pkt->p.cmd.dseg_0_length); + + DEBUG5(printk("lun_discovery: Lun Inquiry - fcport=%p," + " lun (%d)\n", + fcport, + lun);) + + rval = qla2x00_issue_iocb(ha, pkt, + phys_address, sizeof (inq_cmd_rsp_t)); + + DEBUG5(printk("lun_discovery: lun (%d) " + "inquiry - inq[0]= 0x%x, comp status " + "0x%x, scsi status 0x%x, rval=%d\n", + lun, pkt->inq[0], + pkt->p.rsp.comp_status, + pkt->p.rsp.scsi_status, + rval);) + + /* if port not logged in then try and login */ + if (lun == 0 && + pkt->p.rsp.comp_status == CS_PORT_LOGGED_OUT ) { + + memset(&dev, 0, sizeof (dev)); + dev.d_id.b24 = ha->fc_db[index].d_id.b24; + + /* login and update database */ + if (qla2x00_fabric_login(ha, &dev) == 0) + ha->fc_db[index].loop_id = dev.loop_id; + } + } while ((rval != QLA2X00_SUCCESS || + pkt->p.rsp.comp_status != CS_COMPLETE) && + retry--); + + if (rval != QLA2X00_SUCCESS || + pkt->p.rsp.comp_status != CS_COMPLETE || + (pkt->p.rsp.scsi_status & SS_CHECK_CONDITION )) { + + DEBUG(printk("lun_discovery: Failed lun " + "inquiry - inq[0]= 0x%x, comp status " + "0x%x, scsi status 0x%x. loop_id=%d\n", + pkt->inq[0], + pkt->p.rsp.comp_status, + pkt->p.rsp.scsi_status, + fcport->loop_id);) + + break; + } + + disconnected = 0; + + /* + * We only need to issue an inquiry on LUN 0 to determine + * the port's peripheral qualifier type + */ + if (rlc_succeeded == 1) { + if (pkt->inq[0] == 0 || pkt->inq[0] == 0xc) { + fcport->flags = fcport->flags & ~FC_TAPE_DEVICE; + } else if (pkt->inq[0] == 1 || pkt->inq[0] == 8) + fcport->flags = fcport->flags | FC_TAPE_DEVICE; + + /* Stop the scan */ + break; + } + + /* inq[0] ==: + * 0x0- Hard Disk. + * 0xc- is a processor device. + * 0x1- is a Tape Device. + * 0x8- is a medium changer device + * which is basically a Tape device. + */ + if (pkt->inq[0] == 0 || pkt->inq[0] == 0xc) { + fcport->flags = fcport->flags & ~FC_TAPE_DEVICE; + } else if (pkt->inq[0] == 1 || pkt->inq[0] == 8) + fcport->flags = fcport->flags | FC_TAPE_DEVICE; + else if (pkt->inq[0] == 0x20 || pkt->inq[0] == 0x7f) + disconnected++; + else + continue; + + /* Allocate LUN if not already allocated. */ + for (fclun = fcport->fclun; + fclun != NULL; + fclun = fclun->next) { + + if (fclun->lun == lun) + break; + } + + if (fclun != NULL) { + /* Found this lun already in our list */ + continue; + } + + /* Add this lun to our list */ + fcport->lun_cnt++; + + fclun = (fc_lun_t *)kmalloc(sizeof (fc_lun_t), GFP_ATOMIC); + if (fclun != NULL) { + /* Setup LUN structure. */ + DEBUG5(printk("lun_discovery: Allocated fclun %p, " + "disconnected=%d\n", + fclun, + disconnected);) + + fclun->fcport = fcport; + fclun->lun = lun; + + if (disconnected) + fclun->flags |= FC_DISCON_LUN; + + fclun->next = fcport->fclun; + fcport->fclun = fclun; + + DEBUG2(printk("lun_discvery: Allocated fclun %p, " + "fclun.lun=%d\n", + fclun, fclun->lun);); + } else { + printk(KERN_WARNING + "scsi(%d): Memory Allocation failed - FCLUN\n", + (int)ha->host_no); + ha->mem_err++; + pci_free_consistent(ha->pdev, + sizeof(inq_cmd_rsp_t), + pkt, + phys_address); + return BIT_0; + } + + } + + DEBUG(printk("lun_discovery(%d): fcport lun count=%d," + " fcport= %p\n", + (int)ha->host_no, + fcport->lun_cnt, + fcport);) + + pci_free_consistent(ha->pdev, sizeof(inq_cmd_rsp_t), pkt, phys_address); + + LEAVE("qla2x00_lun_discovery"); + + return 0; +} + +/* + * qla2x00_rpt_lun_discovery + * Issue SCSI report LUN command for LUN discovery. + * + * Input: + * ha: adapter state pointer. + * fcport: FC port structure pointer. + * + * Returns: + * qla2x00 local function return status code. + * + * Context: + * Kernel context. + */ +static int +qla2x00_rpt_lun_discovery(scsi_qla_host_t *ha, fc_port_t *fcport) +{ + rpt_lun_cmd_rsp_t *pkt; + dma_addr_t phys_address = 0; + int rval; + uint32_t len, cnt; + uint8_t retries; + uint16_t lun; + + ENTER("qla2x00_rpt_lun_discovery:"); + + /* Assume a failed status */ + rval = QLA2X00_FAILED; + + pkt = pci_alloc_consistent(ha->pdev, + sizeof(rpt_lun_cmd_rsp_t), + &phys_address); + if (pkt == NULL) { + printk(KERN_WARNING + "scsi(%d): Memory Allocation failed - RLC", + (int)ha->host_no); + ha->mem_err++; + return BIT_0; + } + + for (retries = 4; retries; retries--) { + memset(pkt, 0, sizeof(rpt_lun_cmd_rsp_t)); + pkt->p.cmd.entry_type = COMMAND_TYPE; + pkt->p.cmd.entry_count = 1; + pkt->p.cmd.target = (uint8_t)fcport->loop_id; + pkt->p.cmd.control_flags = CF_READ | CF_HEAD_TAG; + pkt->p.cmd.timeout = 10; + pkt->p.cmd.scsi_cdb[0] = RPT_LUN_SCSI_OPCODE; + pkt->p.cmd.scsi_cdb[8] = MSB(sizeof(rpt_lun_lst_t)); + pkt->p.cmd.scsi_cdb[9] = LSB(sizeof(rpt_lun_lst_t)); + pkt->p.cmd.dseg_count = 1; + + pkt->p.cmd.byte_count = sizeof(rpt_lun_lst_t); + LITTLE_ENDIAN_32(pkt->p.cmd.byte_count); + pkt->p.cmd.dseg_0_address = (uint32_t) + (phys_address + sizeof(sts_entry_t)); + LITTLE_ENDIAN_32(pkt->p.cmd.dseg_0_address); + pkt->p.cmd.dseg_0_length = sizeof(rpt_lun_lst_t); + LITTLE_ENDIAN_32(pkt->p.cmd.dseg_0_length); + + rval = qla2x00_issue_iocb(ha, pkt, phys_address, + sizeof(rpt_lun_cmd_rsp_t)); + + if (rval != QLA2X00_SUCCESS || + pkt->p.rsp.comp_status != CS_COMPLETE || + pkt->p.rsp.scsi_status & SS_CHECK_CONDITION) { + + /* Device underrun, treat as OK. */ + if (pkt->p.rsp.comp_status == CS_DATA_UNDERRUN && + pkt->p.rsp.scsi_status & SS_RESIDUAL_UNDER) { + + rval = QLA2X00_SUCCESS; + break; + } + + DEBUG(printk("qla2x00_rpt_lun_discovery(%d): FAILED, " + "issue_iocb fcport = %p rval = %x " + "cs = %x ss = %x\n", + (int)ha->host_no, + fcport, + rval, + pkt->p.rsp.comp_status, + pkt->p.rsp.scsi_status);) + + rval = QLA2X00_FAILED; + if (pkt->p.rsp.scsi_status & SS_CHECK_CONDITION) { + /*EMPTY*/ + DEBUG2(printk("qla2x00_rpt_lun_discovery(%d): " + "SS_CHECK_CONDITION Sense Data " + "%02x %02x %02x %02x " + "%02x %02x %02x %02x ", + (int)ha->host_no, + pkt->p.rsp.req_sense_data[0], + pkt->p.rsp.req_sense_data[1], + pkt->p.rsp.req_sense_data[2], + pkt->p.rsp.req_sense_data[3], + pkt->p.rsp.req_sense_data[4], + pkt->p.rsp.req_sense_data[5], + pkt->p.rsp.req_sense_data[6], + pkt->p.rsp.req_sense_data[7]);) + } + } else { + break; + } + } + + /* Test for report LUN failure. */ + if (rval == QLA2X00_SUCCESS) { + /* Configure LUN list. */ + len = pkt->list.hdr.len; + BIG_ENDIAN_32(len); + len /= 8; + if (len == 0) { + rval = QLA2X00_FAILED; + } else { + for (cnt = 0; cnt < len; cnt++) { + lun = CHAR_TO_SHORT(pkt->list.lst[cnt].lsb, + pkt->list.lst[cnt].msb.b); + + DEBUG3(printk("qla2x00_rpt_lun_discovery(%d): " + "lun = (%d)\n", + (int)ha->host_no, lun);) + + /* We only support 0 through MAX_LUNS-1 range */ + if (lun < MAX_LUNS) { + qla2x00_cfg_lun(fcport, lun); + } + } + rval = QLA2X00_SUCCESS; + } + } else { + rval = QLA2X00_FAILED; + } + + pci_free_consistent(ha->pdev, sizeof(rpt_lun_cmd_rsp_t), + pkt, phys_address); + + + LEAVE("qla2x00_rpt_lun_discovery:"); + + return (rval); +} + +/* + * qla2x00_cfg_lun + * Configures LUN into fcport LUN list. + * + * Input: + * fcport: FC port structure pointer. + * lun: LUN number. + * + * Context: + * Kernel context. + */ +static void +qla2x00_cfg_lun(fc_port_t *fcport, uint16_t lun) +{ + fc_lun_t *fclun; + + /* Allocate LUN if not already allocated. */ + for (fclun = fcport->fclun; fclun != NULL; fclun = fclun->next) { + if (fclun->lun == lun) { + break; + } + } + if (fclun == NULL) { + fclun = (fc_lun_t *)kmalloc(sizeof(fc_lun_t), GFP_ATOMIC); + if (fclun != NULL) { + /* Setup LUN structure. */ + memset(fclun, 0, sizeof(fc_lun_t)); + fcport->lun_cnt++; + fclun->fcport = fcport; + /* How dow we assign the following */ + /* fclun->state = FCS_ONLINE; */ + fclun->lun = lun; + fclun->next = fcport->fclun; + fcport->fclun = fclun; + } else { + printk(KERN_WARNING + "qla2x00_cfg_lun(): Memory Allocation " + "failed - FCLUN\n"); + } + } +} + +/* + * qla2x00_configure_local_loop + * Updates Fibre Channel Device Database with local loop devices. + * + * Input: + * ha = adapter block pointer. + * enable_slot_reuse = allows the use of PORT_AVAILABLE slots. + * + * Returns: + * 0 = success. + * BIT_0 = error. + * BIT_1 = database was full and a device was not configured. + */ +static uint8_t +qla2x00_configure_local_loop(scsi_qla_host_t *ha, uint8_t enable_slot_reuse) +{ + uint8_t status = 0; + uint8_t rval; + uint8_t tmp_name[8]; + uint8_t update_status = 0; + uint16_t index, size; + dma_addr_t phys_address = 0; + fcdev_t device; + port_list_entry_t *gn_list, *port_entry; + uint16_t localdevices = 0; + uint8_t *cp = NULL; + + + DEBUG3(printk("qla2x00_configure_local_loop(%ld): entered\n", + ha->host_no);) + + gn_list = pci_alloc_consistent(ha->pdev, + sizeof(GN_LIST_LENGTH), &phys_address); + if (gn_list) { + memset(gn_list, 0, sizeof(GN_LIST_LENGTH)); + + if (!atomic_read(&ha->loop_down_timer) && + !(test_bit(LOOP_RESYNC_NEEDED, &ha->dpc_flags))) { + + /* Mark all local devices PORT_LOST_ID first */ + for (index = 0; index < MAX_FIBRE_DEVICES; index++) { + if (ha->fc_db[index].loop_id <= LAST_SNS_LOOP_ID && + !(ha->fc_db[index].flag & DEV_PUBLIC)) { + + DEBUG(printk("qla%ld: qla2x00_configure_local_loop: port " + "lost @ slot %d %06x\n", + ha->instance, + index, + ha->fc_db[index].d_id.b24);) + ha->fc_db[index].loop_id |= PORT_LOST_ID; + } + } + + /* Get port name list.*/ +#ifdef FC_IP_SUPPORT + if (ha->flags.enable_ip == FALSE) + rval = qla2x00_get_port_list(ha, + gn_list, phys_address, + BIT_0, &size); + else + /* + * Bit 0 - return node names, + * Bit 1 - loop IDs 0-255 + */ + rval = qla2x00_get_port_list(ha, + gn_list, phys_address, + BIT_0|BIT_1, &size); +#else + rval = qla2x00_get_port_list(ha, gn_list, + phys_address, BIT_0, &size); +#endif + if (!rval) { + + port_entry = gn_list; + + /* dg: 10/29/99 for an empty list */ + if (size / sizeof(port_list_entry_t) != 0 ) { + for ( ; size >= sizeof(port_list_entry_t); + size -= sizeof(port_list_entry_t), + port_entry++) { + +#ifdef FC_IP_SUPPORT + uint16_t list_entry_loop_id; + list_entry_loop_id = + port_entry->loop_id; + port_entry->loop_id &= + LOOP_ID_MASK; +#endif + + /* Skip the known ports. */ + if ((port_entry->loop_id == SNS_FL_PORT) || + (port_entry->loop_id == FABRIC_CONTROLLER) || + (port_entry->loop_id == SIMPLE_NAME_SERVER)) { + + continue; + } + + device.loop_id = port_entry->loop_id; + + /* Get port name */ + rval = qla2x00_get_port_name(ha, + device.loop_id, + tmp_name, + 0); + if (!rval && + (tmp_name[0] != 0 || + tmp_name[1] != 0 || + tmp_name[2] != 0 || + tmp_name[3] != 0 || + tmp_name[4] != 0 || + tmp_name[5] != 0 || + tmp_name[6] != 0 || + tmp_name[7] != 0)) { + + BCOPY(tmp_name, &device.wwn[0], 8); + +#ifdef QL_DEBUG_LEVEL_3 + cp = (uint8_t *) + &device.wwn[0]; + + printk("qla%ld configure_local: " + "found portname -> " + "%02x%02x%02x%02x%02x%02x%02x%02x\n", + ha->host_no, + cp[0], cp[1], cp[2], cp[3], + cp[4], cp[5], cp[6], cp[7]); +#endif + } else { + DEBUG2(printk("qla%ld configure_local: " + "get_port_name error.\n", + ha->host_no);) + status = BIT_0; + break; + } + + /* Now get node name */ + BCOPY(&port_entry->name[0], &device.name[0], WWN_SIZE); + + cp = (uint8_t *)&device.name[0]; + BIG_ENDIAN_64(*cp); + + DEBUG3(printk("qla%ld configure_local: " + "found nodename -> " + "%02x%02x%02x%02x%02x%02x%02x%02x\n", + ha->host_no, + cp[0], cp[1], cp[2], cp[3], + cp[4], cp[5], cp[6], cp[7]);) + + device.flag = 0; + device.d_id.b24 = 0; + +#ifdef FC_IP_SUPPORT + if (!(list_entry_loop_id & + PLE_NOT_SCSI_DEVICE)) { + /* SCSI type device */ +#endif + update_status = qla2x00_update_fc_database(ha, &device, + enable_slot_reuse); + + if( update_status ) + status |= update_status; + else + localdevices++; +#ifdef FC_IP_SUPPORT + } else if (ha->flags.enable_ip == TRUE) { + /* SCSI login failed, assume it is IP device */ + DEBUG(printk("qla%ld: IP local WWN:" + "%02x%02x%02x%02x%02x%02x%02x%02x DID:%06x\n", + ha->instance, device.name[0], device.name[1], + device.name[2], device.name[3], device.name[4], + device.name[5], device.name[6], device.name[7], + device.d_id.b24);) + + update_status = qla2x00_update_ip_device_data( + ha, &device); + + if( update_status == QL_STATUS_SUCCESS ) + localdevices++; + else if( update_status == QL_STATUS_RESOURCE_ERROR ) + status |= BIT_1; + else + status |= BIT_0; + } else { + continue; + } +#endif + } /* for each port entry */ + } + } else { + status = BIT_0; + } + } + + pci_free_consistent(ha->pdev, + sizeof(GN_LIST_LENGTH), gn_list, phys_address); + } else { + printk(KERN_WARNING + "scsi(%d): Memory Allocation failed - port_list", + (int)ha->host_no); + ha->mem_err++; + + DEBUG2(printk("qla2x00_configure_local_loop(%ld): Failed to " + "allocate memory, No local loop\n", + ha->host_no);) + status = BIT_0; + } + +#if defined(QL_DEBUG_LEVEL_2) || defined(QL_DEBUG_LEVEL_3) + if (status & BIT_0) + printk(KERN_WARNING + "qla2x00_configure_local_loop(%ld): *** FAILED ***\n", + ha->host_no); +#endif + + if (localdevices > 0 ) { + ha->device_flags |= DFLG_LOCAL_DEVICES; + ha->device_flags &= ~DFLG_RETRY_LOCAL_DEVICES; + } + + return status; +} + + +/* + * qla2x00_tgt_alloc + * Allocate and initialize target queue. + * + * Input: + * ha = adapter block pointer. + * t = SCSI target number. + * name = 8 byte node or port name. + * + * Returns: + * NULL = failure + * + * Context: + * Kernel context. + */ +os_tgt_t * +qla2x00_tgt_alloc(scsi_qla_host_t *ha, uint16_t t, uint8_t *name) +{ + os_tgt_t *tq; + + DEBUG3(printk("qla2x00_tgt_alloc(%ld): entered for tgt %d.\n", + ha->host_no, + t);) + + /* + * If SCSI addressing OK, allocate TGT queue and lock. + */ + if (t >= MAX_TARGETS) { + DEBUG2(printk("qla2x00_tgt_alloc(%ld): *** " + "FAILED exiting ***", + ha->host_no);) + + return (NULL); + } + + tq = TGT_Q(ha, t); + if (tq == NULL) { + tq = (os_tgt_t *)KMALLOC(sizeof (os_tgt_t)); + if (tq != NULL) { + memset(tq, 0, sizeof(os_tgt_t)); + + DEBUG(printk("Alloc Target %d @ %p \n", t, tq);) + + tq->flags = TGT_TAGGED_QUEUE; + tq->ha = ha; + + TGT_Q(ha, t) = tq; + } else { + printk(KERN_WARNING + "scsi(%d): Failed to allocate target\n", + (int)ha->host_no); + ha->mem_err++; + } + } + + if (tq != NULL) { + /* Save fcport name for persistent binding. */ + BCOPY((void *)name, (void *)tq->fc_name, 8); + + tq->port_down_retry_count = ha->port_down_retry_count; + + LEAVE("qla2x00_tgt_alloc: exiting normally"); + } else { + /*EMPTY*/ + DEBUG2(printk("qla2x00_tgt_alloc(%ld): *** " + "FAILED exiting ***", + ha->host_no);) + } + + return (tq); +} + +/* + * qla2x00_tgt_free + * Frees target and LUN queues. + * + * Input: + * ha = adapter block pointer. + * t = SCSI target number. + * + * Context: + * Kernel context. + */ +void +qla2x00_tgt_free(scsi_qla_host_t *ha, uint16_t t) +{ + os_tgt_t *tq; + uint16_t l; + + ENTER("qla2x00_tgt_free: entered"); + + /* + * If SCSI addressing OK, allocate TGT queue and lock. + */ + if (t >= MAX_TARGETS) { + DEBUG2(printk("qla2x00_tgt_free: **** " + "FAILED exiting ****");) + + return; + } + + tq = TGT_Q(ha, t); + if (tq != NULL) { + TGT_Q(ha, t) = NULL; + DEBUG(printk("Dealloc target @ %p -- deleted\n",tq);) + + /* Free LUN structures. */ + for (l = 0; l < MAX_LUNS; l++) + qla2x00_lun_free(ha, t, l); + + KMFREE(tq, sizeof (os_tgt_t)); + } + + LEAVE("qla2x00_tgt_free: exiting normally"); + + return; +} + +/* + * qla2x00_lun_alloc + * Allocate and initialize LUN queue. + * + * Input: + * ha = adapter block pointer. + * t = SCSI target number. + * l = LUN number. + * + * Returns: + * NULL = failure + * + * Context: + * Kernel context. + */ +os_lun_t * +qla2x00_lun_alloc(scsi_qla_host_t *ha, uint16_t t, uint16_t l) +{ + os_lun_t *lq; + + ENTER("qla2x00_lun_alloc: entered"); + + /* + * If SCSI addressing OK, allocate LUN queue. + */ + if (t >= MAX_TARGETS || + l >= MAX_LUNS || + TGT_Q(ha, t) == NULL) { + + DEBUG2(printk("qla2x00_lun_alloc: tgt=%d, tgt_q= %p, " + "lun=%d,instance=%ld **** " + "FAILED exiting ****\n", + t, + TGT_Q(ha,t), + l, + ha->instance);) + + return (NULL); + } + + lq = LUN_Q(ha, t, l); + if (lq == NULL) { + lq = (os_lun_t *)KMALLOC(sizeof (os_lun_t)); + if (lq != NULL) { + DEBUG2(printk("Alloc Lun %d @ %p \n",l,lq);) + + memset(lq, 0, sizeof (os_lun_t)); + LUN_Q(ha, t, l) = lq; + /* + * The following lun queue initialization code + * must be duplicated in alloc_ioctl_mem function + * for ioctl_lq. + */ + lq->q_state = LUN_STATE_READY; + spin_lock_init(&lq->q_lock); + } else { + /*EMPTY*/ + DEBUG2(printk("qla2x00_lun_alloc: Failed to " + "allocate lun %d ***\n",l);) + printk(KERN_WARNING + "scsi(%d): Memory Allocation + failed - FCLUN", + (int)ha->host_no); + ha->mem_err++; + } + } else { + lq->q_count = 0; + lq->q_max = 0; + } + + if (lq == NULL) { + /*EMPTY*/ + DEBUG2(printk("qla2x00_lun_alloc: **** " + "FAILED exiting ****\n");) + } else { + /*EMPTY*/ + LEAVE("qla2x00_lun_alloc: exiting normally"); + } + + return (lq); +} + +/* + * qla2x00_lun_free + * Frees LUN queue. + * + * Input: + * ha = adapter block pointer. + * t = SCSI target number. + * + * Context: + * Kernel context. + */ +static void +qla2x00_lun_free(scsi_qla_host_t *ha, uint16_t t, uint16_t l) +{ + os_lun_t *lq; + + ENTER("qla2x00_lun_free: entered"); + + /* + * If SCSI addressing OK, allocate TGT queue and lock. + */ + if (t >= MAX_TARGETS || l >= MAX_LUNS) { + DEBUG2(printk("qla2x00_lun_free: **** " + "FAILED exiting ****");) + + return; + } + + if (TGT_Q(ha, t) != NULL && + (lq = LUN_Q(ha, t, l)) != NULL) { + + LUN_Q(ha, t, l) = NULL; + KMFREE(lq, sizeof (os_lun_t)); + + DEBUG3(printk("Dealloc lun @ %p -- deleted\n",lq);) + } + + LEAVE("qla2x00_lun_free: exiting normally"); + + return; +} + +/* + * qla2x00_add_link_b + * Add link to the end of the chain. + * + * Input: + * head = Head of link list. + * link = link to be added. + * LOCK must be already obtained. + * + * Context: + * Kernel context. + */ +void +qla2x00_add_link_b(ql_list_head_t *head, ql_list_link_t *link) +{ + link->next = NULL; + + if ((link->prev = head->last) == NULL) + head->first = link; + else + head->last->next = link; + + head->last = link; +} + +/* + * qla2x00_add_link_t + * Add link to the beginning of the chain. + * + * Input: + * head = Head of link list. + * link = link to be added. + * LOCK must be already obtained. + * + * Context: + * Kernel/Interrupt context. + */ +void +qla2x00_add_link_t(ql_list_head_t *head, ql_list_link_t *link) +{ + link->prev = NULL; + + if ((link->next = head->first) == NULL) + head->last = link; + else + head->first->prev = link; + + head->first = link; +} + +/* + * qla2x00_remove_link + * Remove a link from the chain. + * + * Input: + * head = Head of link list. + * link = link to be removed. + * LOCK must be already obtained. + * + * Context: + * Kernel/Interrupt context. + */ +void +qla2x00_remove_link(ql_list_head_t *head, ql_list_link_t *link) +{ + if (link->prev != NULL) { + if ((link->prev->next = link->next) == NULL) + head->last = link->prev; + else + link->next->prev = link->prev; + } else if ((head->first = link->next) == NULL) { + head->last = NULL; + } else { + head->first->prev = NULL; + } + +} + +/* + * qla2x00_next + * Retrieve and process next job in the LUN queue. + * + * Input: + * tq = SCSI target queue pointer. + * lq = SCSI LUN queue pointer. + * TGT_LOCK must be already obtained. + * + * Output: + * Releases TGT_LOCK upon exit. + * + * Context: + * Kernel/Interrupt context. + * + * Note: This routine will always try to start I/O from visible HBA. + */ +void +qla2x00_next(scsi_qla_host_t *vis_ha) +{ + scsi_qla_host_t *dest_ha; + fc_port_t *fcport; + srb_t *sp; + int rval; + unsigned long flags; + + ENTER("qla2x00_next"); + + spin_lock_irqsave(&vis_ha->list_lock, flags); + while (!list_empty(&vis_ha->pending_queue)) { + sp = list_entry(vis_ha->pending_queue.next, srb_t, list); + + fcport = sp->fclun->fcport; + dest_ha = fcport->ha; + + /* Check if command can be started, exit if not. */ + if (LOOP_TRANSITION(dest_ha)) { + break; + } + + __del_from_pending_queue(vis_ha, sp); + + /* if device is dead then send request back to OS */ + if ( (dest_ha->flags.link_down_error_enable && + atomic_read(&fcport->state) == FC_DEVICE_DEAD)) { + + CMD_RESULT(sp->cmd) = DID_NO_CONNECT << 16; + + if ( !atomic_read(&dest_ha->loop_down_timer) && + dest_ha->loop_state == LOOP_DOWN ) { + sp->err_id = 2; + + } else { + sp->err_id = 1; + } + + DEBUG(printk("scsi(%2d): loop/port is down - " + "pid=%ld, sp=%p loopid=0x%x queued " + "to dest HBA scsi%2d.\n", + (int)dest_ha->host_no, + sp->cmd->serial_number, + sp, + fcport->loop_id, + (int)dest_ha->host_no);) + /* + * initiate a failover - done routine will initiate. + */ + __add_to_done_queue(vis_ha, sp); + + continue; + } + + /* + * SCSI Kluge + * ======== + * Whenever, we need to wait for an event such as loop down + * (i.e. loop_down_timer ) or port down (i.e. LUN request qeueue is + * suspended) then we will recycle new commands back to the SCSI layer. + * We do this because this is normally a temporary condition and we + * don't want the mid-level scsi.c driver to get upset and start + * aborting commands. + * The timeout value is extracted from the command minus 1-second + * and put on a retry queue (watchdog). Once the command timeout it + * is returned to the mid-level with a BUSY status, so the mid-level + * will retry it. This process continues until the LOOP DOWN time + * expires or the condition goes away. + */ + if (!(sp->flags & SRB_IOCTL) && + (atomic_read(&fcport->state) != FC_ONLINE || + test_bit(ABORT_ISP_ACTIVE, &dest_ha->dpc_flags) || + (dest_ha->loop_state != LOOP_READY) +#if MPIO_SUPPORT + || (sp->flags & SRB_FAILOVER) +#endif + )) { + + DEBUG(printk("scsi(%2d): port=(0x%x) retry_q(%d) loop " + "state = %d, loop counter = 0x%x" + " dpc flags = 0x%lx\n", + (int)dest_ha->host_no, + fcport->loop_id, + atomic_read(&fcport->state), + dest_ha->loop_state, + atomic_read(&dest_ha->loop_down_timer), + dest_ha->dpc_flags);) + + qla2x00_extend_timeout(sp->cmd, EXTEND_CMD_TIMEOUT); + __add_to_retry_queue(vis_ha, sp); + continue; + } + + /* + * if this request's lun is suspended then put the request on the + * scsi_retry queue. + */ + if (!(sp->flags & SRB_IOCTL) && + sp->lun_queue->q_state == LUN_STATE_WAIT) { + DEBUG(printk("qla2x00_next: lun wait state - pid=%ld, " + "opcode=%d, allowed=%d, retries=%d\n", + sp->cmd->serial_number, + sp->cmd->cmnd[0], + sp->cmd->allowed, + sp->cmd->retries);) + + __add_to_scsi_retry_queue(vis_ha, sp); + continue; + } + + sp->lun_queue->io_cnt++; + + /* Release target queue lock */ + spin_unlock_irqrestore(&vis_ha->list_lock, flags); + + if (dest_ha->flags.enable_64bit_addressing) + rval = qla2x00_64bit_start_scsi(sp); + else + rval = qla2x00_32bit_start_scsi(sp); + + spin_lock_irqsave(&vis_ha->list_lock, flags); + + if (rval != QLA2X00_SUCCESS) { + /* Place request back on top of device queue */ + /* add to the top of queue */ + __add_to_pending_queue_head(vis_ha, sp); + + sp->lun_queue->io_cnt--; + break; + } + } + spin_unlock_irqrestore(&vis_ha->list_lock, flags); + + LEAVE("qla2x00_next"); +} + +/* + * qla2x00_is_wwn_zero + * + * Input: + * ww_name = Pointer to WW name to check + * + * Returns: + * TRUE if name is 0 else FALSE + * + * Context: + * Kernel context. + */ +static int +qla2x00_is_wwn_zero(uint8_t *nn) +{ + int cnt; + + /* Check for zero node name */ + for (cnt = 0; cnt < WWN_SIZE ; cnt++, nn++) { + if (*nn != 0) + break; + } + /* if zero return TRUE */ + if (cnt == WWN_SIZE) + return(TRUE); + else + return(FALSE); +} + +/* + * qla2x00_get_lun_mask_from_config + * Get lun mask from the configuration parameters. + * Bit order is little endian. + * + * Input: + * ha -- Host adapter + * tgt -- target/device number + * port -- pointer to port + */ +void +qla2x00_get_lun_mask_from_config(scsi_qla_host_t *ha, + fc_port_t *port, uint16_t tgt, uint16_t dev_no) +{ + char propbuf[60]; /* size of search string */ + int rval, lun, l; + lun_bit_mask_t lun_mask, *mask_ptr = &lun_mask; + + /* Get "target-N-device-N-lun-mask" as a 256 bit lun_mask*/ + sprintf(propbuf, "scsi-qla%ld-tgt-%d-di-%d-lun-disabled", + ha->instance, tgt, dev_no); + + rval = qla2x00_get_prop_xstr(ha, propbuf, (uint8_t *)&lun_mask, + sizeof(lun_mask)); + if (rval != -1 && + (rval == sizeof(lun_mask))) { + + DEBUG3(printk("qla2x00_get_lun_mask_from_config(%ld): lun " + "mask for port %p from file:\n", + ha->host_no, + port);) + DEBUG3(qla2x00_dump_buffer((uint8_t *)&port->lun_mask, + sizeof(lun_bit_mask_t));) + + for (lun = 8 * sizeof(lun_mask) - 1, l = 0; + lun >= 0; + lun--, l++) { + + if (EXT_IS_LUN_BIT_SET(mask_ptr, lun)) + EXT_SET_LUN_BIT((&port->lun_mask),l); + else + EXT_CLR_LUN_BIT((&port->lun_mask),l); + } + + DEBUG3(printk("qla2x00_get_lun_mask_from_config(%ld): " + "returning lun mask for port " + "%02x%02x%02x%02x%02x%02x%02x%02x:\n", + ha->host_no, + port->port_name[0], port->port_name[1], + port->port_name[2], port->port_name[3], + port->port_name[4], port->port_name[5], + port->port_name[6], port->port_name[7]);) + DEBUG3(qla2x00_dump_buffer((uint8_t *)&port->lun_mask, + sizeof(lun_bit_mask_t));) + } +} + +/* + * qla2x00_bstr_to_hex + * Convert hex byte string to number. + * + * Input: + * s = byte string pointer. + * bp = byte pointer for number. + * size = number of bytes. + * + * Context: + * Kernel/Interrupt context. + */ +static int +qla2x00_bstr_to_hex(char *s, uint8_t *bp, int size) +{ + int cnt; + uint8_t n; + + ENTER("qla2x00_bstr_to_hex"); + + for (cnt = 0; *s != '\0' && cnt / 2 < size; cnt++) { + if (*s >= 'A' && *s <= 'F') { + n = (*s++ - 'A') + 10; + } else if (*s >= 'a' && *s <= 'f') { + n = (*s++ - 'a') + 10; + } else if (*s >= '0' && *s <= '9') { + n = *s++ - '0'; + } else { + cnt = 0; + break; + } + + if (cnt & BIT_0) + *bp++ |= n; + else + *bp = n << 4; + } + /* fixme(dg) Need to swap data little endian */ + + LEAVE("qla2x00_bstr_to_hex"); + + return (cnt / 2); +} + +/* + * qla2x00_get_prop_xstr + * Get a string property value for the specified property name and + * convert from the property string found in the configuration file, + * which are ASCII characters representing nibbles, 2 characters represent + * the hexdecimal value for a byte in the byte array. + * The byte array is initialized to zero. + * The resulting converted value is in big endian format (MSB at byte0). + * + * Input: + * ha = adapter state pointer. + * propname = property name pointer. + * propval = pointer where to store converted property val. + * size = max or expected size of 'propval' array. + * + * Returns: + * 0 = empty value string or invalid character in string + * >0 = count of characters converted + * -1 = property not found + * + * Context: + * Kernel context. + */ +int +qla2x00_get_prop_xstr(adapter_state_t *ha, + char *propname, uint8_t *propval, int size) +{ + char *propstr; + int rval = -1; + static char buf[LINESIZE]; + + ENTER("qla2x00_get_prop_xstr"); + + /* Get the requested property string */ + rval = qla2x00_find_propname(ha, propname, buf, ha->cmdline, size*2); + DEBUG3(printk("get_prop_xstr: Ret rval from find propname = %d\n", + rval);) + + propstr = &buf[0]; + if (*propstr == '=') + propstr++; /* ignore equal sign */ + + if (rval == 0) { /* not found */ + LEAVE("qla2x00_get_prop_xstr"); + return (-1); + } + + rval = qla2x00_bstr_to_hex(propstr, (uint8_t *)propval, size); + if (rval == 0) { + /* Invalid character in value string */ + printk(KERN_INFO + "qla2x00_get_prop_xstr: %s Invalid hex " + "string for property\n", + propname); + printk(KERN_INFO + " Invalid string - %s\n", + propstr); + } + + LEAVE("qla2x00_get_prop_xstr"); + + return (rval); +} + +/* + * qla2x00_chg_endian + * Change endianess of byte array. + * + * Input: + * buf = array pointer. + * size = size of array in bytes. + * + * Context: + * Kernel context. + */ +void +qla2x00_chg_endian(uint8_t buf[], size_t size) +{ + uint8_t byte; + size_t cnt1; + size_t cnt; + + cnt1 = size - 1; + for (cnt = 0; cnt < size / 2; cnt++) { + byte = buf[cnt1]; + buf[cnt1] = buf[cnt]; + buf[cnt] = byte; + cnt1--; + } +} + +/* + * qla2x00_allocate_sp_pool + * This routine is called during initialization to allocate + * memory for local srb_t. + * + * Input: + * ha = adapter block pointer. + * + * Context: + * Kernel context. + * + * Note: Sets the ref_count for non Null sp to one. + */ +uint8_t +qla2x00_allocate_sp_pool( scsi_qla_host_t *ha) +{ + srb_t *sp; + int i; + uint8_t status = QL_STATUS_SUCCESS; + + ENTER("qla2x00_allocate_sp_pool"); + + DEBUG4(printk("qla2x00_allocate_sp_pool: Entered.\n");) + + /* + * Note: Need to alloacte each SRB as Kernel 2.4 seems to have error + * when allocating large amount of memory. + */ + /* + * FIXME(dg) - Need to allocated the SRBs by pages instead + * of each SRB object. + */ + INIT_LIST_HEAD(&ha->free_queue); + ha->srb_alloc_cnt = 0; + for (i=0; i < max_srbs; i++) { + sp = (srb_t *)kmalloc(sizeof (srb_t), GFP_KERNEL); + if (sp == NULL) { + printk("qla2x00_mem_alloc(%d): failed to allocate " + "memory, count = %d\n", + (int)ha->host_no, + i); + } else { + memset(sp, 0, sizeof( srb_t)); + __add_to_free_queue (ha, sp); + sp->magic = SRB_MAGIC; + sp->ref_num = ha->srb_alloc_cnt; + sp->host_no = ha->host_no; + ha->srb_alloc_cnt++; + atomic_set(&sp->ref_count, 0); + } + } + /* + * If we fail to allocte memory return an error + */ + if (ha->srb_alloc_cnt == 0) + status = QL_STATUS_ERROR; + + printk(KERN_INFO + "scsi(%d): Allocated %d SRB(s)\n", + (int)ha->host_no, + ha->srb_alloc_cnt); + + LEAVE("qla2x00_allocate_sp_pool"); + + return( status ); +} + +/* + * This routine frees all adapter allocated memory. + * + */ +void +qla2x00_free_sp_pool( scsi_qla_host_t *ha) +{ + struct list_head *list, *temp; + srb_t *sp; + int cnt_free_srbs = 0; + + list_for_each_safe(list, temp, &ha->free_queue) { + sp = list_entry(list, srb_t, list); + /* Remove srb from LUN queue. */ + __del_from_free_queue(ha,sp); + KMFREE(sp, sizeof(srb_t)); + cnt_free_srbs++; + } + + if (cnt_free_srbs != ha->srb_alloc_cnt ) { + DEBUG(printk("qla2x00 (%d): Did not free all srbs," + " Free count = %d, Alloc Count = %d\n", + (int)ha->host_no, + cnt_free_srbs, + ha->srb_alloc_cnt);) + printk(KERN_INFO "qla2x00 (%d): Did not free all srbs," + " Free count = %d, Alloc Count = %d\n", + (int)ha->host_no, + cnt_free_srbs, + ha->srb_alloc_cnt); + } +} + +/* +* Declarations for load module +*/ +static Scsi_Host_Template driver_template = QLA2100_LINUX_TEMPLATE; +#include "scsi_module.c" + +/****************************************************************************/ +/* Driver Debug Functions. */ +/****************************************************************************/ +#if defined(QL_DEBUG_LEVEL_2) +static void +qla2x00_print(int8_t * s) +{ + printk("%s", s); +} +#endif + + +#ifdef QL_DEBUG_ROUTINES +static void +qla2x00_dump_buffer(uint8_t * b, uint32_t size) +{ + uint32_t cnt; + uint8_t c; + + printk(" 0 1 2 3 4 5 6 7 8 9 " + " Ah Bh Ch Dh Eh Fh\n"); + printk("---------------------------------------" + "------------------------\n"); + + for (cnt = 0; cnt < size;) { + c = *b++; + printk("%2x",(uint32_t) c); + cnt++; + if (!(cnt % 16)) + printk("\n"); + else if (c < 10) + printk(" "); + else + printk(" "); + } + if (cnt % 16) + printk("\n"); +} +#endif + +/************************************************************************** + * qla2x00_print_scsi_cmd + * Dumps out info about the scsi cmd and srb. + * Input + * cmd : Scsi_Cmnd + **************************************************************************/ +void +qla2x00_print_scsi_cmd(Scsi_Cmnd * cmd) +{ + struct scsi_qla_host *ha; + struct Scsi_Host *host = cmd->host; + srb_t *sp; + struct os_lun *lq; + fc_port_t *fcport; + + int i; + ha = (struct scsi_qla_host *) host->hostdata; + + sp = (srb_t *) CMD_SP(cmd); + printk("SCSI Command @= 0x%p, Handle=0x%08lx\n", + cmd, (u_long) CMD_HANDLE(cmd)); + printk(" chan=%d, target = 0x%02x, lun = 0x%02x, cmd_len = 0x%02x\n", + cmd->channel, cmd->target, cmd->lun, cmd->cmd_len); + printk(" CDB = "); + for (i = 0; i < cmd->cmd_len; i++) { + printk("0x%02x ", cmd->cmnd[i]); + } + printk("\n seg_cnt =%d, retries=%d, serial_number_at_timeout=0x%lx\n", + cmd->use_sg, + cmd->retries, cmd->serial_number_at_timeout); + printk(" request buffer=0x%p, request buffer len=0x%x\n", + cmd->request_buffer, + cmd->request_bufflen); + printk(" tag=%d, flags=0x%x, transfersize=0x%x \n", + cmd->tag, cmd->flags, cmd->transfersize); + printk(" serial_number=%d, SP=%p\n", (int) cmd->serial_number,sp); + if (sp) { + printk(" sp flags=0x%x\n", + sp->flags); + printk(" r_start=0x%lx, u_start=0x%lx, f_start=0x%lx, state=%d\n", + sp->r_start, sp->u_start, sp->f_start, + sp->state); + + lq = sp->lun_queue; + fcport = lq->fclun->fcport; + printk(" e_start= 0x%lx,ext_history= %d, fo retry=%d, loopid =%x, port path=%d\n", + sp->e_start, + sp->ext_history, + sp->fo_retry_cnt, + fcport->loop_id, + fcport->cur_path); + } +} + +/* + * qla2x00_print_q_info + * Prints queue info + * Input + * q: lun queue + */ +void +qla2x00_print_q_info(struct os_lun *q) +{ + printk("Queue info: flags=0x%lx\n", q->q_flag); +} + +#ifdef QL_DEBUG_ROUTINES +/* + * qla2x00_formatted_dump_buffer + * Prints string plus buffer. + * + * Input: + * string = Null terminated string (no newline at end). + * buffer = buffer address. + * wd_size = word size 8, 16, 32 or 64 bits + * count = number of words. + */ +void +qla2x00_formatted_dump_buffer(char *string, uint8_t * buffer, + uint8_t wd_size, uint32_t count) +{ + uint32_t cnt; + uint16_t *buf16; + uint32_t *buf32; + + if (ql2x_debug_print != TRUE) + return; + + if (strcmp(string, "") != 0) + printk("%s\n",string); + + switch (wd_size) { + case 8: + printk(" 0 1 2 3 4 5 6 7 8 9 Ah + Bh Ch Dh Eh Fh\n"); + printk("------------------------------------------------------------------------------\n"); + + for (cnt = 1; cnt <= count; cnt++, buffer++) { + printk("%2x",*buffer); + if (cnt % 16 == 0) + printk("\n"); + else if (*buffer < 10) + printk(" "); + else + printk(" "); + } + if (cnt % 16 != 0) + printk("\n"); + break; + case 16: + printk(" 0 2 4 6 8 Ah Ch Eh\n"); + printk("------------------------------------------------------\n"); + + buf16 = (uint16_t *) buffer; + for (cnt = 1; cnt <= count; cnt++, buf16++) { + printk("%4x",*buf16); + + if (cnt % 8 == 0) + printk("\n"); + else if (*buf16 < 10) + printk(" "); + else + printk(" "); + } + if (cnt % 8 != 0) + printk("\n"); + break; + case 32: + printk(" 0 4 8 Ch\n"); + printk("------------------------------------------\n"); + + buf32 = (uint32_t *) buffer; + for (cnt = 1; cnt <= count; cnt++, buf32++) { + printk("%8x", *buf32); + + if (cnt % 4 == 0) + printk("\n"); + else if (*buf32 < 10) + printk(" "); + else + printk(" "); + } + if (cnt % 4 != 0) + printk("\n"); + break; + default: + break; + } +} + +#endif +/************************************************************************** +* qla2x00_dump_regs +**************************************************************************/ +static void +qla2x00_dump_regs(struct Scsi_Host *host) +{ + printk("Mailbox registers:\n"); + printk("qla2x00 : mbox 0 0x%04x \n", inw(host->io_port + 0x10)); + printk("qla2x00 : mbox 1 0x%04x \n", inw(host->io_port + 0x12)); + printk("qla2x00 : mbox 2 0x%04x \n", inw(host->io_port + 0x14)); + printk("qla2x00 : mbox 3 0x%04x \n", inw(host->io_port + 0x16)); + printk("qla2x00 : mbox 4 0x%04x \n", inw(host->io_port + 0x18)); + printk("qla2x00 : mbox 5 0x%04x \n", inw(host->io_port + 0x1a)); +} + + +#if STOP_ON_ERROR +/************************************************************************** +* qla2x00_panic +* +**************************************************************************/ +static void +qla2x00_panic(char *cp, struct Scsi_Host *host) +{ + struct scsi_qla_host *ha; + long *fp; + + ha = (struct scsi_qla_host *) host->hostdata; + DEBUG2(ql2x_debug_print = 1;); + printk("qla2100 - PANIC: %s\n", cp); + printk("Current time=0x%lx\n", jiffies); + printk("Number of pending commands =0x%lx\n", ha->actthreads); + printk("Number of queued commands =0x%lx\n", ha->qthreads); + printk("Number of free entries = (%d)\n", ha->req_q_cnt); + printk("Request Queue @ 0x%lx, Response Queue @ 0x%lx\n", + ha->request_dma, ha->response_dma); + printk("Request In Ptr %d\n", ha->req_ring_index); + fp = (long *) &ha->flags; + printk("HA flags =0x%lx\n", *fp); + qla2x00_dump_requests(ha); + qla2x00_dump_regs(host); + cli(); + for (;;) { + udelay(2); + barrier(); + /* cpu_relax();*/ + } + sti(); +} + +#endif + +/************************************************************************** +* qla2x00_dump_requests +* +**************************************************************************/ +void +qla2x00_dump_requests(scsi_qla_host_t *ha) +{ + + Scsi_Cmnd *cp; + srb_t *sp; + int i; + + printk("Outstanding Commands on controller:\n"); + + for( i=1; i < MAX_OUTSTANDING_COMMANDS; i++ ) { + if( (sp = ha->outstanding_cmds[i]) == NULL ) + continue; + if( (cp = sp->cmd) == NULL ) + continue; + + printk("(%d): Pid=%d, sp flags=0x%lx, cmd=0x%p\n", + i, + (int)sp->cmd->serial_number, + (long)sp->flags,CMD_SP(sp->cmd)); + } +} + + +/************************************************************************** +* qla2x00_setup +* +* Handle Linux boot parameters. This routine allows for assigning a value +* to a parameter with a ';' between the parameter and the value. +* ie. qla2x00=arg0;arg1;...;argN; OR +* via the command line. +* ie. qla2x00 ql2xopts=arg0;arg1;...;argN; +**************************************************************************/ +#ifndef MODULE +static int __init +qla2x00_setup (char *s) +#else +void +qla2x00_setup(char *s) +#endif +{ + char *cp, *np; + char *slots[MAXARGS]; + char **argv = &slots[0]; + static char buf[LINESIZE]; + int argc, opts; + +#ifndef MODULE + if (s == NULL || *s == '\0') + return 0; +#endif + + + /* + * Determine if we have any properties. + */ + cp = s; + opts = 1; + while (*cp && (np = qla2x00_get_line(cp, buf)) != NULL) { + if (strncmp("scsi-qla",buf,8) == 0) { + DEBUG(printk("qla2100: devconf=%s\n",cp);) + + ql2xdevconf = cp; + (opts > 0)? opts-- : 0; + break; + } + opts++; + cp = np; + } + /* + * Parse the args before the properties + */ + if (opts) { + opts = (opts > MAXARGS-1)? MAXARGS-1: opts; + argc = qla2x00_get_tokens(s, argv, opts); + while (argc > 0) { + cp = *argv; + DEBUG(printk("scsi: found cmd arg =[%s]\n", cp);) + + if (strcmp(cp, "verbose") == 0) { + DEBUG(printk("qla2100: verbose\n");) + qla2x00_verbose++; + } else if (strcmp(cp, "quiet") == 0) { + qla2x00_quiet = 1; + } else if (strcmp(cp, "reinit_on_loopdown") == 0) { + qla2x00_reinit++; + DEBUG(printk("qla2100: reinit_on_loopdown\n");) + } + argc--, argv++; + } + } +#ifndef MODULE + if(ql2xdevconf) + return 1; + else + return 0; +#endif + +} + +#ifndef MODULE +__setup("ql2xopts=", qla2x00_setup); +#endif + +/********************** qla2x00_get_line ********************* +* qla2x00_get_line +* Copy a substring from the specified string. The substring +* consists of any number of chars seperated by white spaces (i.e. spaces) +* and ending with a newline '\n' or a semicolon ';'. +* +* Enter: +* str - orig string +* line - substring +* +* Returns: +* cp - pointer to next string +* or +* null - End of string +*************************************************************/ +static char * +qla2x00_get_line(char *str, char *line) +{ + register char *cp = str; + register char *sp = line; + + /* skip preceeding spaces */ + while (*cp && *cp == ' ') + ++cp; + while ((*cp) && *cp != '\n' && *cp != ';') /* end of line */ + *sp++ = *cp++; + + *sp = '\0'; + DEBUG5(printk("qla2x00_get_line: %s\n",line);) + + if( (*cp) ) { + cp++; + return (cp); + } + + return (NULL); +} + + +/**************************** get_tokens ********************* +* Parse command line into argv1, argv2, ... argvX +* Arguments are seperated by white spaces and colons and end +* with a NULL. +*************************************************************/ +static int +qla2x00_get_tokens(char *line, char **argv, int maxargs ) +{ + register char *cp = line; + int count = 0; + + while (*cp && count < maxargs) { + /* skip preceeding spaces */ + while ((*cp) && *cp == ' ') + ++cp; + /* symbol starts here */ + argv[count++] = cp; + /* skip symbols */ + while ((*cp) && !(*cp == ' ' || *cp == ';' || *cp == ':')) + cp++; + /* replace comma or space with a null */ + if((*cp) && (*cp ==' ' ) && argv[count-1] != cp) + *cp++ = '\0'; + } + return (count); +} + +#if VSA +/* + * qla2x00_get_vsa_opt_from_config + * Get VSA option from the configuration parameters. + * Bit order is little endian. + * + * Input: + * ha -- Host adapter + * tgt -- target/device number + */ +void +qla2x00_get_vsa_opt_from_config(scsi_qla_host_t *ha, + uint16_t tgt, uint16_t dev_no) +{ + + char propbuf[60]; /* size of search string */ + int rval; + char vsa; + + /* Get "target-N-device-N-vsa" as a 1 bit value */ + sprintf(propbuf, "scsi-qla%ld-tgt-%d-di-%d-vsa", + ha->instance, tgt, dev_no); + + rval = qla2x00_get_prop_xstr(ha, propbuf, (uint8_t *)&vsa,1); + if (rval != -1 && rval == 1) { + ha->fc_db[tgt].flag |= DEV_FLAG_VSA; + + DEBUG(printk("cfg: scsi-qla%d-target-%d-vsa=1\n", + (int) ha->instance, tgt);) + } +} +#endif + +/* + * qla2x00_cfg_persistent_binding + * Get driver configuration file target persistent binding entries. + * + * Input: + * ha = adapter block pointer. + * + * Context: + * Kernel context. + */ +STATIC void +qla2x00_cfg_persistent_binding(adapter_state_t *ha) +{ + static char propbuf[LINESIZE]; + int tmp_rval; + uint8_t name[8]; + uint16_t tgt; + uint16_t dev_no = 0; /* not used */ + char *cmdline = ha->cmdline; + uint8_t tmp_name[8]; + + DEBUG3(printk("qla2x00_cfg_persistent_binding: entered.\n");) + + /* FC name for devices */ + for (tgt = 0; tgt < MAX_FIBRE_DEVICES; tgt++) { +#if USE_PORTNAME /* updated for ioctl merge */ + sprintf(propbuf, "scsi-qla%d-tgt-%d-di-%d-port", + (int)ha->instance, tgt, dev_no); +#else + sprintf(propbuf, "scsi-qla%d-tgt-%d-di-%d-node", + (int)ha->instance, tgt, dev_no); +#endif + tmp_rval = qla2x00_get_prop_16chars (ha, propbuf, name, + cmdline); + + if (tmp_rval != 0) + continue; + + /* Got a valid name for this ID. */ +#if USE_PORTNAME /* updated for ioctl merge */ + + BCOPY(name, ha->fc_db[tgt].wwn, 8); + + /* copy node name if one is specified */ + sprintf(propbuf, "scsi-qla%d-tgt-%d-di-%d-node", + (int)ha->instance, tgt, dev_no); + tmp_rval = qla2x00_get_prop_16chars (ha, propbuf, + tmp_name, cmdline); + if (tmp_rval == 0) + BCOPY(tmp_name, ha->fc_db[tgt].name, 8); +#else + BCOPY(name, ha->fc_db[tgt].name, 8); + + /* copy port name if one is specified */ + sprintf(propbuf, "scsi-qla%d-tgt-%d-di-%d-port", + (int)ha->instance, tgt, dev_no); + tmp_rval = qla2x00_get_prop_16chars (ha, propbuf, + tmp_name, cmdline); + if (tmp_rval == 0) + BCOPY(tmp_name, ha->fc_db[tgt].wwn, 8); +#endif + + ha->fc_db[tgt].loop_id = PORT_AVAILABLE; + ha->fc_db[tgt].flag = 0; /* v2.19.05b3 */ + ha->fc_db[tgt].flag |= DEV_CONFIGURED; + + qla2x00_tgt_alloc(ha, tgt, name); + DEBUG(printk("Target %03d - configured by user: ",tgt);) + DEBUG(printk("tgt-%03d=%02x%02x%02x%02x%02x%02x%02x%02x\n", + tgt, + name[0], name[1], name[2], name[3], + name[4], name[5], name[6], name[7]);) + /* look for VSA */ +#if VSA + qla2x00_get_vsa_opt_from_config(ha, tgt, dev_no); +#endif + + } + + DEBUG3(printk("qla2x00_cfg_persistent_binding: exiting normally.\n");) +} + + +/* + * kmem_zalloc + * Allocate and zero out the block of memory + */ +inline void * +kmem_zalloc( int siz, int code, int id) +{ + uint8_t *bp; + + if ((bp = kmalloc(siz, code)) != NULL) { + memset(bp, 0, siz); + } +#if QL_TRACE_MEMORY + if (mem_trace_ptr == 1000) + mem_trace_ptr = 0; + mem_trace[mem_trace_ptr] = (u_long ) bp; + mem_id[mem_trace_ptr++] = (u_long ) id; +#endif + + return ((void *)bp); +} + +#if 0 +/* + * kmem_free + * Deallocate the block of memory + */ +inline void +kmem_free(void *ptr) +{ +#if QL_TRACE_MEMORY + int i; + + for (i =0; i < 1000; i++) + if (mem_trace[i] == (unsigned long) ptr) { + mem_trace[i] = (unsigned long) NULL; + break; + } +#endif + kfree(ptr); +} +#endif + +inline void +qla_bcopy(unsigned char *dst, unsigned char *src, int siz) +{ + int i; + + for ( i = 0 ; i < siz ; i++ ) { + *dst++ = *src++; + } +} + +#ifdef FC_IP_SUPPORT +/* Include routines for supporting IP */ +#include "qla_ip.c" +#endif /* FC_IP_SUPPORT */ + +#if MPIO_SUPPORT +/* + * Declarations for failover + */ +#include "qla_cfg.c" +#include "qla_fo.c" +#endif + +#if APIDEV +/****************************************************************************/ +/* Create character driver "HbaApiDev" w dynamically allocated major number */ +/* and create "/proc/scsi/qla2x00/HbaApiNode" as the device node associated */ +/* with the major number. */ +/****************************************************************************/ + +#define APIDEV_NODE "HbaApiNode" +#define APIDEV_NAME "HbaApiDev" + +static int apidev_major = 0; +static struct Scsi_Host *apidev_host = 0; + +static int +apidev_open(struct inode *inode, struct file *file) +{ + DEBUG9(printk(KERN_INFO + "qla2x00_apidev: open MAJOR number = %d, " + "MINOR number = %d\n", + MAJOR(inode->i_rdev), MINOR(inode->i_rdev));) + + return 0; +} + +static int +apidev_close(struct inode *inode, struct file *file) +{ + DEBUG9(printk(KERN_INFO + "qla2x00_apidev: closed\n");) + + return 0; +} + +static int +apidev_ioctl(struct inode *inode, struct file *fp, + unsigned int cmd, unsigned long arg) +{ + Scsi_Device fake_scsi_device; + fake_scsi_device.host = apidev_host; + + return (qla2x00_ioctl(&fake_scsi_device, (int)cmd, (void*)arg)); +} + +static struct file_operations apidev_fops = { + ioctl: + apidev_ioctl, + open: + apidev_open, + release: + apidev_close +}; + +static int +apidev_init(struct Scsi_Host *host) +{ + + if (apidev_host) { + return 0; + } + + if (0 > (apidev_major = register_chrdev(0, APIDEV_NAME, &apidev_fops))) { + DEBUG(printk("qla2x00_apidev: register_chrdev rc=%d\n", + apidev_major);) + + return apidev_major; + } + + apidev_host = host; + + DEBUG(printk("qla2x00: Creating (%s) %s/%s major=%d\n", + host->hostt->proc_name, + host->hostt->proc_dir->name, + APIDEV_NODE, apidev_major);) + + proc_mknod(APIDEV_NODE, 0777+S_IFCHR, host->hostt->proc_dir, + (kdev_t)MKDEV(apidev_major,0)); + + return 0; +} + +static int apidev_cleanup() +{ + if (!apidev_host) + return 0; + + unregister_chrdev(apidev_major,APIDEV_NAME); + remove_proc_entry(APIDEV_NODE,apidev_host->hostt->proc_dir); + apidev_host = 0; + + return 0; +} +#endif /* APIDEV */ + +#ifdef QL_DEBUG_ROUTINES +#if DEBUG_GET_FW_DUMP +#include "x2300dbg.c" +#endif +#endif + +EXPORT_NO_SYMBOLS; diff -urNp 2.4.19rc1/drivers/scsi/qla2xxx/qla2x00.h qlogic/drivers/scsi/qla2xxx/qla2x00.h --- 2.4.19rc1/drivers/scsi/qla2xxx/qla2x00.h Thu Jan 1 01:00:00 1970 +++ qlogic/drivers/scsi/qla2xxx/qla2x00.h Tue Jul 16 18:00:26 2002 @@ -0,0 +1,2747 @@ +/******************************************************************************** +* QLOGIC LINUX SOFTWARE +* +* QLogic ISP2x00 device driver for Linux 2.4.x +* Copyright (C) 2002 Qlogic Corporation +* (www.qlogic.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, 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. +** +******************************************************************************/ + +#ifndef _IO_HBA_QLA2100_H /* wrapper symbol for kernel use */ +#define _IO_HBA_QLA2100_H /* subject to change without notice */ + +#ifndef LINUX_VERSION_CODE +#include +#endif /* LINUX_VERSION_CODE not defined */ + +#ifndef HOSTS_C + +#if defined(__cplusplus) +extern "C" { +#endif + +/* + * Driver debug definitions. + */ +/* #define QL_DEBUG_LEVEL_1 */ /* Output register accesses to COM1 */ +/* #define QL_DEBUG_LEVEL_2 */ /* Output error msgs to COM1 */ +/* #define QL_DEBUG_LEVEL_3 */ /* Output function trace msgs to COM1 */ +/* #define QL_DEBUG_LEVEL_4 */ /* Output NVRAM trace msgs to COM1 */ +/* #define QL_DEBUG_LEVEL_5 */ /* Output ring trace msgs to COM1 */ +/* #define QL_DEBUG_LEVEL_6 */ /* Output WATCHDOG timer trace to COM1 */ +/* #define QL_DEBUG_LEVEL_7 */ /* Output RISC load trace msgs to COM1 */ +/* #define QL_DEBUG_LEVEL_8 */ /* Output ring saturation msgs to COM1 */ +/* #define QL_DEBUG_LEVEL_9 */ /* Output IOCTL trace msgs */ +/* #define QL_DEBUG_LEVEL_10 */ /* Output IOCTL error msgs */ +/* #define QL_DEBUG_LEVEL_11 */ /* Output Mbx Cmd trace msgs */ + +#define QL_DEBUG_CONSOLE /* Output to console */ + +#include +#include + +/* + * Data bit definitions. + */ +#define BIT_0 0x1 +#define BIT_1 0x2 +#define BIT_2 0x4 +#define BIT_3 0x8 +#define BIT_4 0x10 +#define BIT_5 0x20 +#define BIT_6 0x40 +#define BIT_7 0x80 +#define BIT_8 0x100 +#define BIT_9 0x200 +#define BIT_10 0x400 +#define BIT_11 0x800 +#define BIT_12 0x1000 +#define BIT_13 0x2000 +#define BIT_14 0x4000 +#define BIT_15 0x8000 +#define BIT_16 0x10000 +#define BIT_17 0x20000 +#define BIT_18 0x40000 +#define BIT_19 0x80000 +#define BIT_20 0x100000 +#define BIT_21 0x200000 +#define BIT_22 0x400000 +#define BIT_23 0x800000 +#define BIT_24 0x1000000 +#define BIT_25 0x2000000 +#define BIT_26 0x4000000 +#define BIT_27 0x8000000 +#define BIT_28 0x10000000 +#define BIT_29 0x20000000 +#define BIT_30 0x40000000 +#define BIT_31 0x80000000 + +#define LS_64BITS(x) (uint32_t)(0xffffffff & ((u64)x)) +#define MS_64BITS(x) (uint32_t)(0xffffffff & (((u64)x)>>16>>16) ) + +#define MSB(x) (uint8_t)(((uint16_t)(x) >> 8) & 0xff) +#define LSB(x) (uint8_t)(x & 0xff) +#define MSW(x) (uint16_t)(((uint32_t)(x) >> 16) & 0xffff) +#define LSW(x) (uint16_t)(x & 0xffff) +#define QL21_64BITS_3RDWD(x) ((uint16_t) (( (x) >> 16) >> 16) & 0xffff) +#define QL21_64BITS_4THWD(x) ((uint16_t) ((( (x) >>16)>>16)>>16) & 0xffff) + +/* + * Local Macro Definitions. + */ +#if defined(QL_DEBUG_LEVEL_1) || defined(QL_DEBUG_LEVEL_2) || \ + defined(QL_DEBUG_LEVEL_3) || defined(QL_DEBUG_LEVEL_4) || \ + defined(QL_DEBUG_LEVEL_5) || defined(QL_DEBUG_LEVEL_6) || \ + defined(QL_DEBUG_LEVEL_7) || defined(QL_DEBUG_LEVEL_8) || \ + defined(QL_DEBUG_LEVEL_9) || defined(QL_DEBUG_LEVEL_10) || \ + defined(QL_DEBUG_LEVEL_11) + #define QL_DEBUG_ROUTINES +#endif + +#ifndef TRUE + #define TRUE 1 +#endif + +#ifndef FALSE + #define FALSE 0 +#endif + +typedef char BOOL; + +#ifndef KERNEL_VERSION +# define KERNEL_VERSION(x,y,z) (((x)<<16)+((y)<<8)+(z)) +#endif + + +/* + * Locking + */ +# include +# define cpuid smp_processor_id() + +/* + * I/O register +*/ +/* #define MEMORY_MAPPED_IO */ /* Enable memory mapped I/O */ +#undef MEMORY_MAPPED_IO /* Disable memory mapped I/O */ + +#ifdef MEMORY_MAPPED_IO +#define RD_REG_BYTE(addr) readb(addr) +#define RD_REG_WORD(addr) readw(addr) +#define RD_REG_DWORD(addr) readl(addr) +#define WRT_REG_BYTE(addr, data) writeb(data,addr) +#define WRT_REG_WORD(addr, data) writew(data,addr) +#define WRT_REG_DWORD(addr, data) writel(data,addr) +#else /* MEMORY_MAPPED_IO */ +#define RD_REG_BYTE(addr) (inb((unsigned long)addr)) +#define RD_REG_WORD(addr) (inw((unsigned long)addr)) +#define RD_REG_DWORD(addr) (inl((unsigned long)addr)) +#define WRT_REG_BYTE(addr, data) (outb(data,(unsigned long)addr)) +#define WRT_REG_WORD(addr, data) (outw(data,(unsigned long)addr)) +#define WRT_REG_DWORD(addr, data) (outl(data,(unsigned long)addr)) +#endif /* MEMORY_MAPPED_IO */ +/* + * Fibre Channel device definitions. + */ +#define WWN_SIZE 8 /* Size of WWPN, WWN & WWNN */ +#define MAX_FIBRE_DEVICES 256 +#define MAX_FIBRE_LUNS 256 +#define MAX_RSCN_COUNT 10 +#define MAX_HOST_COUNT 16 + +/* + * Host adapter default definitions. + */ +#define MAX_BUSES 1 /* We only have one bus today */ +#define MAX_TARGETS_2100 MAX_FIBRE_DEVICES +#define MAX_TARGETS_2200 MAX_FIBRE_DEVICES +#define MAX_TARGETS MAX_FIBRE_DEVICES +#define MAX_LUNS MAX_FIBRE_LUNS +#define MAX_CMDS_PER_LUN 255 +#define MAX_SRBS 4096 + + + +/* + * Fibre Channel device definitions. + */ +#define LAST_LOCAL_LOOP_ID 0x7d +#define SNS_FL_PORT 0x7e +#define FABRIC_CONTROLLER 0x7f +#define SIMPLE_NAME_SERVER 0x80 +#define SNS_FIRST_LOOP_ID 0x81 +#define LAST_SNS_LOOP_ID 0xfe +#define MANAGEMENT_SERVER 0xfe +#define BROADCAST 0xff +#define SNS_ACCEPT 0x0280 /* 8002 swapped */ +#define SNS_REJECT 0x0180 /* 8001 swapped */ + +/* Loop ID's used as database flags, must be higher than any valid Loop ID */ +#define PORT_UNUSED 0x100 /* Port never been used. */ +#define PORT_AVAILABLE 0x101 /* Device does not exist on port. */ +#define PORT_NEED_MAP 0x102 +#define PORT_LOST_ID 0x200 +#define PORT_LOGIN_NEEDED 0x400 + +/* + * Timeout timer counts in seconds + */ +#define QLA2100_WDG_TIME_QUANTUM 5 /* In seconds */ +#define PORT_RETRY_TIME 2 +#define LOOP_DOWN_TIMEOUT 60 +#define LOOP_DOWN_TIME 60 /* 240 */ +#define LOOP_DOWN_RESET (LOOP_DOWN_TIME - 30) + +/* Maximum outstanding commands in ISP queues (1-65535) */ +#define MAX_OUTSTANDING_COMMANDS 1024 + +/* ISP request and response entry counts (37-65535) */ +#define REQUEST_ENTRY_CNT 128 /* Number of request entries. */ +#if defined(ISP2100) || defined(ISP2200) +#define RESPONSE_ENTRY_CNT 64 /* Number of response entries.*/ +#else +#define RESPONSE_ENTRY_CNT 512 /* Number of response entries.*/ +#endif + +#define SCSI_BUS_32(scp) ((scp)->channel) +#define SCSI_TCN_32(scp) ((scp)->target) +#define SCSI_LUN_32(scp) ((scp)->lun) + + + +/* + * UnixWare required definitions. + */ +#define HBA_PREFIX qla2100 + +/* Physical DMA memory requirements */ +#define QLA2100_MEMALIGN 4 +#define QLA2100_BOUNDARY 0x80000000 /* 2GB */ + +/* Number of segments 1 - 65535 */ +#define SG_SEGMENTS 32 /* Cmd entry + 6 continuations */ +/* + * Link list definitions. + */ +typedef struct ql_list_link { + struct ql_list_link *prev; + struct ql_list_link *next; + void *base_address; +} ql_list_link_t; + +typedef struct ql_list_head { + ql_list_link_t *first; + ql_list_link_t *last; +} ql_list_head_t; + + + +/* + * SCSI Request Block + */ +typedef struct srb +{ + ql_list_link_t s_cmd; /* Command list link. */ + struct list_head list; + struct srb *s_next; /* (4) Next block on LU queue */ + struct srb *s_prev; /* (4) Previous block on LU queue */ + Scsi_Cmnd *cmd; /* Linux SCSI command pkt */ + struct scsi_qla_host *ha; /* ha this SP is queued on */ + uint8_t more_cdb[4]; /* For 16 bytes CDB pass thru cmd since + linux SCSI cdb is 12 bytes. */ + uint8_t dir; /* direction of transfer */ + uint8_t unused1; + uint8_t ccode; /* risc completion code */ + uint8_t scode; /* scsi status code */ + + uint16_t flags; /* Status flags - defined below */ + uint16_t state; +#define SRB_FREE_STATE 0 /* Request returned back */ +#define SRB_PENDING_STATE 1 /* Request being queued in LUN Q */ +#define SRB_ACTIVE_STATE 2 /* Request in Active Array */ +#define SRB_DONE_STATE 3 /* Request Queued in Done Queue */ +#define SRB_RETRY_STATE 4 /* Request in Retry Queue */ +#define SRB_SUSPENDED_STATE 5 /* Request in suspended state */ +#define SRB_NO_QUEUE_STATE 6 /* Request is in between states */ +#define SRB_ACTIVE_TIMEOUT_STATE 7 /* Request in Active Array but timed out */ +#define SRB_FAILOVER_STATE 8 /* Request in Failover Queue */ +#define SRB_SCSI_RETRY_STATE 9 /* Request in Scsi Retry Queue */ + + uint8_t used; /* used by allocation code */ + uint8_t ref_num; /* reference SRB number */ + uint16_t magic; /* qlogic magic number */ +#define SRB_MAGIC 0x10CB + + u_long host_no; /* Host number of allocating host */ + struct timer_list timer; /* used to timeout command */ + dma_addr_t saved_dma_handle; /* for unmap of single transfers */ + + atomic_t ref_count; /* reference count for this structure */ + /* Target/LUN queue pointers. */ + struct os_tgt *tgt_queue; /* ptr to visible ha's target */ + struct os_lun *lun_queue; /* ptr to visible ha's lun */ + struct fc_lun *fclun; /* FC LUN context pointer. */ + /* Raw completion info for use by failover ? */ + uint8_t fo_retry_cnt; /* Retry count this request */ + uint8_t err_id; /* error id */ + uint8_t cmd_length; /* command length */ + uint8_t unused3; + + int delay; /* delay in seconds */ + int ext_history; /* */ + + u_long e_start; /* jiffies at start of extend timeout */ + u_long r_start; /* jiffies at start of request */ + u_long u_start; /* jiffies when sent to F/W */ + u_long f_start; /*ra 10/29/01*/ /*jiffies when put in failov er queue*/ + uint32_t resid; /* Residual transfer length */ + uint16_t sense_len; /* Sense data length */ + + uint32_t iocb_cnt; +}srb_t; + +/* + * SRB flag definitions + */ +#define SRB_TIMEOUT BIT_0 /* Command timed out */ +#define SRB_DMA_VALID BIT_1 /* Command sent to ISP */ +#define SRB_WATCHDOG BIT_2 /* Command on watchdog list */ +#define SRB_ABORT_PENDING BIT_3 /* Command abort sent to device */ + +#define SRB_ABORTED BIT_4 /* Command aborted command already */ +#define SRB_RETRY BIT_5 /* Command needs retrying */ +#define SRB_GOT_SENSE BIT_6 /* Command has sense data */ +#define SRB_FAILOVER BIT_7 /* Command in failover state */ + +#define SRB_BUSY BIT_8 /* Command is in busy retry state */ +#define SRB_FO_CANCEL BIT_9 /* Command don't need to do failover */ +#define SRB_IOCTL BIT_10 /* IOCTL command. */ +#define SRB_ISP_STARTED BIT_11 /* Command sent to ISP. */ + +#define SRB_ISP_COMPLETED BIT_12 /* ISP finished with command */ + + +/* + * ISP PCI Configuration Register Set + */ +typedef volatile struct +{ + uint16_t vendor_id; /* 0x0 */ + uint16_t device_id; /* 0x2 */ + uint16_t command; /* 0x4 */ + uint16_t status; /* 0x6 */ + uint8_t revision_id; /* 0x8 */ + uint8_t programming_interface; /* 0x9 */ + uint8_t sub_class; /* 0xa */ + uint8_t base_class; /* 0xb */ + uint8_t cache_line; /* 0xc */ + uint8_t latency_timer; /* 0xd */ + uint8_t header_type; /* 0xe */ + uint8_t bist; /* 0xf */ + uint32_t base_port; /* 0x10 */ + uint32_t mem_base_addr; /* 0x14 */ + uint32_t base_addr[4]; /* 0x18-0x24 */ + uint32_t reserved_1[2]; /* 0x28-0x2c */ + uint16_t expansion_rom; /* 0x30 */ + uint32_t reserved_2[2]; /* 0x34-0x38 */ + uint8_t interrupt_line; /* 0x3c */ + uint8_t interrupt_pin; /* 0x3d */ + uint8_t min_grant; /* 0x3e */ + uint8_t max_latency; /* 0x3f */ +}config_reg_t __attribute__((packed)); + + +#if defined(ISP2100) || defined(ISP2200) +/* + * ISP I/O Register Set structure definitions for ISP2200 and ISP2100. + */ +typedef volatile struct +{ + uint16_t flash_address; /* Flash BIOS address */ + uint16_t flash_data; /* Flash BIOS data */ + uint16_t unused_1[1]; /* Gap */ + uint16_t ctrl_status; /* Control/Status */ + #define ISP_FLASH_ENABLE BIT_1 /* Flash BIOS Read/Write enable */ + #define ISP_RESET BIT_0 /* ISP soft reset */ + uint16_t ictrl; /* Interrupt control */ + #define ISP_EN_INT BIT_15 /* ISP enable interrupts. */ + #define ISP_EN_RISC BIT_3 /* ISP enable RISC interrupts. */ + uint16_t istatus; /* Interrupt status */ + #define RISC_INT BIT_3 /* RISC interrupt */ + uint16_t semaphore; /* Semaphore */ + uint16_t nvram; /* NVRAM register. */ + #define NV_DESELECT 0 + #define NV_CLOCK BIT_0 + #define NV_SELECT BIT_1 + #define NV_DATA_OUT BIT_2 + #define NV_DATA_IN BIT_3 + + uint16_t mailbox0; /* Mailbox 0 */ + uint16_t mailbox1; /* Mailbox 1 */ + uint16_t mailbox2; /* Mailbox 2 */ + uint16_t mailbox3; /* Mailbox 3 */ + uint16_t mailbox4; /* Mailbox 4 */ + uint16_t mailbox5; /* Mailbox 5 */ + uint16_t mailbox6; /* Mailbox 6 */ + uint16_t mailbox7; /* Mailbox 7 */ + uint16_t unused_2[0x3b]; /* Gap */ + + uint16_t fpm_diag_config; + uint16_t unused_3[0x6]; /* Gap */ + uint16_t pcr; /* Processor Control Register.*/ + uint16_t unused_4[0x5]; /* Gap */ + uint16_t mctr; /* Memory Configuration and Timing. */ + uint16_t unused_5[0x3]; /* Gap */ + uint16_t fb_cmd; + uint16_t unused_6[0x3]; /* Gap */ + + uint16_t host_cmd; /* Host command and control */ + #define HOST_INT BIT_7 /* host interrupt bit */ + + uint16_t unused_7[5]; /* Gap */ + uint16_t gpiod; /* GPIO data register */ + uint16_t gpioe; /* GPIO enable register */ + +#if defined(ISP2200) + uint16_t unused_8[8]; /* Gap */ + uint16_t mailbox8; /* Mailbox 8 */ + uint16_t mailbox9; /* Mailbox 9 */ + uint16_t mailbox10; /* Mailbox 10 */ + uint16_t mailbox11; /* Mailbox 11 */ + uint16_t mailbox12; /* Mailbox 12 */ + uint16_t mailbox13; /* Mailbox 13 */ + uint16_t mailbox14; /* Mailbox 14 */ + uint16_t mailbox15; /* Mailbox 15 */ + uint16_t mailbox16; /* Mailbox 16 */ + uint16_t mailbox17; /* Mailbox 17 */ + uint16_t mailbox18; /* Mailbox 18 */ + uint16_t mailbox19; /* Mailbox 19 */ + uint16_t mailbox20; /* Mailbox 20 */ + uint16_t mailbox21; /* Mailbox 21 */ + uint16_t mailbox22; /* Mailbox 22 */ + uint16_t mailbox23; /* Mailbox 23 */ +#endif +} device_reg_t; + +#else +/* + * I/O Register Set structure definitions for ISP2300. + */ +typedef volatile struct +{ + uint16_t flash_address; /* Flash BIOS address */ + uint16_t flash_data; /* Flash BIOS data */ + uint16_t unused_1[1]; /* Gap */ + uint16_t ctrl_status; /* Control/Status */ + #define ISP_FLASH_ENABLE BIT_1 /* Flash BIOS Read/Wrt enable*/ + #define ISP_RESET BIT_0 /* ISP soft reset */ + uint16_t ictrl; /* Interrupt control */ + #define ISP_EN_INT BIT_15 /* ISP enable interrupts. */ + #define ISP_EN_RISC BIT_3 /* ISP enable RISC interrupts. */ + uint16_t istatus; /* Interrupt status @0xa*/ + #define RISC_INT BIT_3 /* RISC interrupt */ + uint16_t semaphore; /* Semaphore */ + uint16_t nvram; /* NVRAM register. @0xf */ + #define NV_DESELECT 0 + #define NV_CLOCK BIT_0 + #define NV_SELECT BIT_1 + #define NV_DATA_OUT BIT_2 + #define NV_DATA_IN BIT_3 + #define NV_BUSY BIT_15 + uint16_t req_q_in; /* @0x10 */ + uint16_t req_q_out; /* @0x12 */ + uint16_t rsp_q_in; /* @0x14 */ + uint16_t rsp_q_out; /* @0x16 */ + uint16_t host_status_lo; /* RISC to Host Status Low */ + #define HOST_STATUS_INT BIT_15 /* RISC int */ + #define ROM_MB_CMD_COMP 0x01 /* ROM mailbox cmd complete */ + #define ROM_MB_CMD_ERROR 0x02 /*ROM mailbox cmd unsuccessful*/ + #define MB_CMD_COMP 0x10 /* Mailbox cmd complete */ + #define MB_CMD_ERROR 0x11 /* Mailbox cmd unsuccessful */ + #define ASYNC_EVENT 0x12 /* Asynchronous event */ + #define RESPONSE_QUEUE_INT 0x13 /* Response Queue update */ + #define RIO_ONE 0x15 /* RIO one 16 bit handle */ + #define FAST_SCSI_COMP 0x16 /* Fast Post SCSI complete */ + uint16_t host_status_hi; /* RISC to Host Status High */ + uint16_t host_semaphore; /* Host to Host Semaphore */ + uint16_t unused_2[0x11]; /* Gap */ + uint16_t mailbox0; /* Mailbox 0 @0x40 */ + uint16_t mailbox1; /* Mailbox 1 */ + uint16_t mailbox2; /* Mailbox 2 */ + uint16_t mailbox3; /* Mailbox 3 */ + uint16_t mailbox4; /* Mailbox 4 */ + uint16_t mailbox5; /* Mailbox 5 */ + uint16_t mailbox6; /* Mailbox 6 */ + uint16_t mailbox7; /* Mailbox 7 @0x4E */ + uint16_t mailbox8; /* Mailbox 8 */ + uint16_t mailbox9; /* Mailbox 9 */ + uint16_t mailbox10; /* Mailbox 10 */ + uint16_t mailbox11; /* Mailbox 11 */ + uint16_t mailbox12; /* Mailbox 12 */ + uint16_t mailbox13; /* Mailbox 13 */ + uint16_t mailbox14; /* Mailbox 14 */ + uint16_t mailbox15; /* Mailbox 15 */ + uint16_t mailbox16; /* Mailbox 16 */ + uint16_t mailbox17; /* Mailbox 17 */ + uint16_t mailbox18; /* Mailbox 18 */ + uint16_t mailbox19; /* Mailbox 19 */ + uint16_t mailbox20; /* Mailbox 20 */ + uint16_t mailbox21; /* Mailbox 21 */ + uint16_t mailbox22; /* Mailbox 22 */ + uint16_t mailbox23; /* Mailbox 23 */ + uint16_t mailbox24; /* Mailbox 24 */ + uint16_t mailbox25; /* Mailbox 25 */ + uint16_t mailbox26; /* Mailbox 26 */ + uint16_t mailbox27; /* Mailbox 27 */ + uint16_t mailbox28; /* Mailbox 28 */ + uint16_t mailbox29; /* Mailbox 29 */ + uint16_t mailbox30; /* Mailbox 30 */ + uint16_t mailbox31; /* Mailbox 31 @0x7E */ + uint16_t unused4[0xb]; /* gap */ + + uint16_t fpm_diag_config; + uint16_t unused_3[0x6]; /* Gap */ + uint16_t pcr; /* Processor Control Register.*/ + uint16_t unused_4[0x5]; /* Gap */ + uint16_t mctr; /* Memory Configuration and Timing. */ + uint16_t unused_5[0x3]; /* Gap */ + uint16_t fb_cmd; + uint16_t unused_6[0x3]; /* Gap */ + uint16_t host_cmd; /* Host command and control */ + #define HOST_INT BIT_7 /* host interrupt bit */ + + uint16_t unused_7[5]; /* Gap */ + uint16_t gpiod; /* GPIO data register */ + uint16_t gpioe; /* GPIO enable register */ +}device_reg_t; +#endif + +#ifdef ISP2100 +#define MAILBOX_REGISTER_COUNT 8 +#elif defined(ISP2200) +#define MAILBOX_REGISTER_COUNT 24 +#elif defined(ISP2300) +#define MAILBOX_REGISTER_COUNT 32 +#endif + +typedef struct { + uint32_t out_mb; /* outbound from driver */ + uint32_t in_mb; /* Incoming from RISC */ + uint16_t mb[MAILBOX_REGISTER_COUNT]; + long buf_size; + void *bufp; + uint32_t tov; + uint8_t flags; +#define MBX_DMA_IN BIT_0 +#define MBX_DMA_OUT BIT_1 +#define IOCTL_CMD BIT_2 +} mbx_cmd_t; + +#define MBX_TOV_SECONDS 30 + +/* + * ISP product identification definitions in mailboxes after reset. + */ +#define PROD_ID_1 0x4953 +#define PROD_ID_2 0x0000 +#define PROD_ID_2a 0x5020 +#define PROD_ID_3 0x2020 +#define PROD_ID_4 0x1 +#define PROD_ID_4a 0x2 + +/* + * ISP host command and control register command definitions + */ +#define HC_RESET_RISC 0x1000 /* Reset RISC */ +#define HC_PAUSE_RISC 0x2000 /* Pause RISC */ +#define HC_RELEASE_RISC 0x3000 /* Release RISC from reset. */ +#define HC_SET_HOST_INT 0x5000 /* Set host interrupt */ +#define HC_CLR_HOST_INT 0x6000 /* Clear HOST interrupt */ +#define HC_CLR_RISC_INT 0x7000 /* Clear RISC interrupt */ +#define HC_RISC_PAUSE BIT_5 +#define HC_DISABLE_PARITY_PAUSE 0x4001 /* Disable parity error RISC pause. */ + +/* + * ISP mailbox Self-Test status codes + */ +#define MBS_FRM_ALIVE 0 /* Firmware Alive. */ +#define MBS_CHKSUM_ERR 1 /* Checksum Error. */ +#define MBS_BUSY 4 /* Busy. */ + +/* + * ISP mailbox command complete status codes + */ +#define MBS_CMD_CMP 0x4000 /* Command Complete. */ +#define MBS_INV_CMD 0x4001 /* Invalid Command. */ +#define MBS_HOST_INF_ERR 0x4002 /* Host Interface Error. */ +#define MBS_TEST_FAILED 0x4003 /* Test Failed. */ +#define MBS_CMD_ERR 0x4005 /* Command Error. */ +#define MBS_CMD_PARAM_ERR 0x4006 /* Command Parameter Error. */ +#define MBS_FATAL_ERROR 0xF000 /* Command Fatal Error. */ + +#define MBS_FIRMWARE_ALIVE 0x0000 +#define MBS_COMMAND_COMPLETE 0x4000 +#define MBS_INVALID_COMMAND 0x4001 + +/* QLogic subroutine status definitions */ +#define QL_STATUS_SUCCESS 0 +#define QL_STATUS_ERROR 1 +#define QL_STATUS_FATAL_ERROR 2 +#define QL_STATUS_RESOURCE_ERROR 3 +#define QL_STATUS_LOOP_ID_IN_USE 4 +#define QL_STATUS_NO_DATA 5 +#define QL_STATUS_TIMEOUT 6 +/* + * ISP mailbox asynchronous event status codes + */ +#define MBA_ASYNC_EVENT 0x8000 /* Asynchronous event. */ +#define MBA_RESET 0x8001 /* Reset Detected. */ +#define MBA_SYSTEM_ERR 0x8002 /* System Error. */ +#define MBA_REQ_TRANSFER_ERR 0x8003 /* Request Transfer Error. */ +#define MBA_RSP_TRANSFER_ERR 0x8004 /* Response Transfer Error. */ +#define MBA_WAKEUP_THRES 0x8005 /* Request Queue Wake-up. */ +#define MBA_LIP_OCCURRED 0x8010 /* Loop Initialization Procedure */ + /* occurred. */ +#define MBA_LOOP_UP 0x8011 /* FC Loop UP. */ +#define MBA_LOOP_DOWN 0x8012 /* FC Loop Down. */ +#define MBA_LIP_RESET 0x8013 /* LIP reset occurred. */ +#define MBA_PORT_UPDATE 0x8014 /* Port Database update. */ +#define MBA_SCR_UPDATE 0x8015 /* State Change Registration. */ +#define MBA_RSCN_UPDATE MBA_SCR_UPDATE +#define MBA_SCSI_COMPLETION 0x8020 /* SCSI Command Complete. */ +#define MBA_CTIO_COMPLETION 0x8021 /* CTIO Complete. */ +#ifndef ISP2100 +#define MBA_LINK_MODE_UP 0x8030 /* FC Link Mode UP. */ +#define MBA_UPDATE_CONFIG 0x8036 /* FC Update Configuration. */ +#endif + +/* + * ISP mailbox commands + */ +#define MBC_LOAD_RAM 1 /* Load RAM. */ +#define MBC_EXECUTE_FIRMWARE 2 /* Execute firmware. */ +#define MBC_WRITE_RAM_WORD 4 /* Write RAM word. */ +#define MBC_READ_RAM_WORD 5 /* Read RAM word. */ +#define MBC_MAILBOX_REGISTER_TEST 6 /* Wrap incoming mailboxes */ +#define MBC_VERIFY_CHECKSUM 7 /* Verify checksum. */ +#define MBC_ABOUT_FIRMWARE 8 /* Get firmware revision. */ +#define MBC_LOAD_RAM_A64 9 /* Load RAM by 64-bit address. */ +#define MBC_DUMP_RAM 0xA /* READ BACK FW */ +#define MBC_LOAD_RAM_EXTENDED 0xB /* Load Extended RAM */ +#define MBC_DUMP_SRAM 0xC /* Dump SRAM */ +#define MBC_IOCB_EXECUTE 0x12 /* Execute an IOCB command */ +#define MBC_ABORT_COMMAND 0x15 /* Abort IOCB command. */ +#define MBC_ABORT_DEVICE 0x16 /* Abort device (ID/LUN). */ +#define MBC_ABORT_TARGET 0x17 /* Abort target (ID). */ +#define MBC_TARGET_RESET 0x18 /* Target reset. */ +#define MBC_GET_ADAPTER_LOOP_ID 0x20 /* Get loop id of ISP2100. */ +#define MBC_GET_RETRY_COUNT 0x22 /* GET RATOV & retry count */ +#define MBC_SET_TARGET_PARAMATERS 0x38 /* Set target parameters. */ +#define MBC_GET_RESOURCE_COUNTS 0x42 /* GET Resource counts */ +#define MBC_DIAGNOSTIC_LOOP_BACK 0x45 /* Perform LoopBack diagnostic */ +#define MBC_ENHANCED_GET_PORT_DATABASE 0x47 /* Get port database. */ +#define MBC_SEND_RNID_ELS 0x57 /* Send RNID ELS request */ +#define MBC_SET_RNID_PARAMS 0x59 /* Set RNID parameters */ +#define MBC_GET_RNID_PARAMS 0x5a /* Get RNID parameters */ +#define MBC_INITIALIZE_FIRMWARE 0x60 /* Initialize firmware */ +#define MBC_INITIATE_LIP 0x62 /* Initiate Loop Initialization */ + /* Procedure */ +#define MBC_GET_PORT_DATABASE 0x64 /* Get port database. */ +#define MBC_GET_FIRMWARE_STATE 0x69 /* Get firmware state. */ +#define MBC_GET_PORT_NAME 0x6a /* Get port name. */ +#define MBC_GET_LINK_STATUS 0x6b /* Get link status. */ +#define MBC_LIP_RESET 0x6c /* LIP reset. */ +#define MBC_SEND_SNS_COMMAND 0x6e /* Send Simple Name Server command. */ +#define MBC_LOGIN_FABRIC_PORT 0x6f /* Login fabric port. */ +#define MBC_LOGOUT_FABRIC_PORT 0x71 /* Logout fabric port. */ +#define MBC_LIP_FULL_LOGIN 0x72 /* Full login LIP. */ +#define MBC_LOGIN_LOOP_PORT 0x74 /* Login Loop Port. */ +#define MBC_GET_PORT_LIST 0x75 /* Get port list. */ +#define MBC_INITIALIZE_RECEIVE_QUEUE 0x77 /* Initialize receive queue */ +#define MBC_SEND_FARP_REQ_COMMAND 0x78 /* FARP request. */ +#define MBC_SEND_FARP_REPLY_COMMAND 0x79 /* FARP reply. */ +#define MBC_PORT_LOOP_NAME_LIST 0x7C /* Get port/node name list. */ +#define MBC_SEND_LFA_COMMAND 0x7D /* Send Loop Fabric Address */ +#define MBC_LUN_RESET 0x7E /* Send LUN reset */ + + +/* Mailbox bit definitions for out_mb and in_mb */ +#define MBX_31 BIT_31 +#define MBX_30 BIT_30 +#define MBX_29 BIT_29 +#define MBX_28 BIT_28 +#define MBX_27 BIT_27 +#define MBX_26 BIT_26 +#define MBX_25 BIT_25 +#define MBX_24 BIT_24 +#define MBX_23 BIT_23 +#define MBX_22 BIT_22 +#define MBX_21 BIT_21 +#define MBX_20 BIT_20 +#define MBX_19 BIT_19 +#define MBX_18 BIT_18 +#define MBX_17 BIT_17 +#define MBX_16 BIT_16 +#define MBX_15 BIT_15 +#define MBX_14 BIT_14 +#define MBX_13 BIT_13 +#define MBX_12 BIT_12 +#define MBX_11 BIT_11 +#define MBX_10 BIT_10 +#define MBX_9 BIT_9 +#define MBX_8 BIT_8 +#define MBX_7 BIT_7 +#define MBX_6 BIT_6 +#define MBX_5 BIT_5 +#define MBX_4 BIT_4 +#define MBX_3 BIT_3 +#define MBX_2 BIT_2 +#define MBX_1 BIT_1 +#define MBX_0 BIT_0 + +/* + * Firmware state codes from get firmware state mailbox command + */ +#define FSTATE_CONFIG_WAIT 0 +#define FSTATE_WAIT_AL_PA 1 +#define FSTATE_WAIT_LOGIN 2 +#define FSTATE_READY 3 +#define FSTATE_LOSS_OF_SYNC 4 +#define FSTATE_ERROR 5 +#define FSTATE_REINIT 6 +#define FSTATE_NON_PART 7 + +#define FSTATE_CONFIG_CORRECT 0 +#define FSTATE_P2P_RCV_LIP 1 +#define FSTATE_P2P_CHOOSE_LOOP 2 +#define FSTATE_P2P_RCV_UNIDEN_LIP 3 +#define FSTATE_FATAL_ERROR 4 +#define FSTATE_LOOP_BACK_CONN 5 + +/* + * Port Database structure definition + * Little endian except where noted. + */ +#define PORT_DATABASE_SIZE 128 /* bytes */ +typedef struct { + uint8_t options; + uint8_t control; + uint8_t master_state; + uint8_t slave_state; +#define PD_STATE_DISCOVERY 0 +#define PD_STATE_WAIT_DISCOVERY_ACK 1 +#define PD_STATE_PORT_LOGIN 2 +#define PD_STATE_WAIT_PORT_LOGIN_ACK 3 +#define PD_STATE_PROCESS_LOGIN 4 +#define PD_STATE_WAIT_PROCESS_LOGIN_ACK 5 +#define PD_STATE_PORT_LOGGED_IN 6 +#define PD_STATE_PORT_UNAVAILABLE 7 +#define PD_STATE_PROCESS_LOGOUT 8 +#define PD_STATE_WAIT_PROCESS_LOGOUT_ACK 9 +#define PD_STATE_PORT_LOGOUT 10 +#define PD_STATE_WAIT_PORT_LOGOUT_ACK 11 + uint8_t reserved[2]; + uint8_t hard_address; + uint8_t reserved_1; + uint8_t port_id[4]; + uint8_t node_name[8]; /* Big endian. */ + uint8_t port_name[8]; /* Big endian. */ + uint16_t execution_throttle; + uint16_t execution_count; + uint8_t reset_count; + uint8_t reserved_2; + uint16_t resource_allocation; + uint16_t current_allocation; + uint16_t queue_head; + uint16_t queue_tail; + uint16_t transmit_execution_list_next; + uint16_t transmit_execution_list_previous; + uint16_t common_features; + uint16_t total_concurrent_sequences; + uint16_t RO_by_information_category; + uint8_t recipient; + uint8_t initiator; + uint16_t receive_data_size; + uint16_t concurrent_sequences; + uint16_t open_sequences_per_exchange; + uint16_t lun_abort_flags; + uint16_t lun_stop_flags; + uint16_t stop_queue_head; + uint16_t stop_queue_tail; + uint16_t port_retry_timer; + uint16_t next_sequence_id; + uint16_t frame_count; + uint16_t PRLI_payload_length; + uint8_t prli_svc_param_word_0[2]; /* Big endian */ + /* Bits 15-0 of word 0 */ + uint8_t prli_svc_param_word_3[2]; /* Big endian */ + /* Bits 15-0 of word 3 */ + uint16_t loop_id; + uint16_t extended_lun_info_list_pointer; + uint16_t extended_lun_stop_list_pointer; +} port_database_t; + + +/* + * ISP Initialization Control Block. + */ +typedef struct +{ + uint8_t version; + #define ICB_VERSION 1 + uint8_t reserved_1; + struct + { + uint8_t enable_hard_loop_id :1; + uint8_t enable_fairness :1; + uint8_t enable_full_duplex :1; + uint8_t enable_fast_posting :1; + uint8_t enable_target_mode :1; + uint8_t disable_initiator_mode :1; + uint8_t enable_adisc :1; + uint8_t enable_lun_response :1; + uint8_t enable_port_update_event :1; + uint8_t disable_initial_lip :1; + uint8_t enable_decending_soft_assign :1; + uint8_t previous_assigned_addressing :1; + uint8_t enable_stop_q_on_full :1; + uint8_t enable_full_login_on_lip :1; + uint8_t node_name_option :1; + uint8_t expanded_ifwcb :1; + }firmware_options; + uint16_t frame_length; + uint16_t iocb_allocation; + uint16_t execution_throttle; + uint8_t retry_count; + uint8_t retry_delay; +#ifdef ISP2100 + uint8_t node_name[WWN_SIZE]; +#else + uint8_t port_name[WWN_SIZE]; +#endif + uint16_t adapter_hard_loop_id; + uint8_t inquiry_data; + uint8_t login_timeout; +#ifdef ISP2100 + uint8_t reserved_1[8]; +#else + uint8_t node_name[WWN_SIZE]; +#endif + uint16_t request_q_outpointer; + uint16_t response_q_inpointer; + uint16_t request_q_length; + uint16_t response_q_length; + uint32_t request_q_address[2]; + uint32_t response_q_address[2]; + uint16_t lun_enables; + uint8_t command_resource_count; + uint8_t immediate_notify_resource_count; + uint16_t timeout; + uint16_t reserved_2; + struct + { + uint8_t operation_mode :4; + uint8_t connection_options :3; + #define LOOP 0 + #define P2P 1 + #define LOOP_P2P 2 + #define P2P_LOOP 3 + uint8_t nonpart_if_hard_addr_failed :1; /* Bit 7 */ + uint8_t enable_class2 :1; /* Bit 8 */ + uint8_t enable_ack0 :1; /* Bit 9 */ + uint8_t unused_10 :1; /* bit 10 */ + uint8_t unused_11 :1; /* bit 11 */ + uint8_t enable_fc_tape :1; /* bit 12 */ + uint8_t enable_fc_confirm :1; /* bit 13 */ + uint8_t enable_cmd_q_target_mode :1; /* bit 14 */ + uint8_t unused_15 :1; /* bit 15 */ + }additional_firmware_options; + uint8_t response_accum_timer; + uint8_t interrupt_delay_timer; + uint16_t reserved_3[14]; +}init_cb_t; + +/* + * ISP Get/Set Target Parameters mailbox command control flags. + */ + +/* + * Get Link Status mailbox command return buffer. + */ +typedef struct +{ + uint32_t link_fail_cnt; + uint32_t loss_sync_cnt; + uint32_t loss_sig_cnt; + uint32_t prim_seq_err_cnt; + uint32_t inval_xmit_word_cnt; + uint32_t inval_crc_cnt; +} link_stat_t; + +/* + * NVRAM Command values. + */ +#define NV_START_BIT BIT_2 +#define NV_WRITE_OP (BIT_26+BIT_24) +#define NV_READ_OP (BIT_26+BIT_25) +#define NV_ERASE_OP (BIT_26+BIT_25+BIT_24) +#define NV_MASK_OP (BIT_26+BIT_25+BIT_24) +#define NV_DELAY_COUNT 10 + +/* + * ISP2100 NVRAM structure definitions. + */ +typedef struct +{ + /* + * NVRAM header + */ + + uint8_t id[4]; + uint8_t nvram_version; + uint8_t reserved_0; + + /* + * NVRAM RISC parameter block + */ + + uint8_t parameter_block_version; + uint8_t reserved_1; + + struct + { + uint8_t enable_hard_loop_id :1; + uint8_t enable_fairness :1; + uint8_t enable_full_duplex :1; + uint8_t enable_fast_posting :1; + uint8_t enable_target_mode :1; + uint8_t disable_initiator_mode :1; + uint8_t enable_adisc :1; + uint8_t enable_lun_response :1; + uint8_t enable_port_update_event :1; + uint8_t disable_initial_lip :1; + uint8_t enable_decending_soft_assign :1; + uint8_t previous_assigned_addressing :1; + uint8_t enable_stop_q_on_full :1; + uint8_t enable_full_login_on_lip :1; + uint8_t node_name_option :1; + uint8_t expanded_ifwcb :1; + }firmware_options; + + uint16_t frame_payload_size; + uint16_t max_iocb_allocation; + uint16_t execution_throttle; + uint8_t retry_count; + uint8_t retry_delay; + uint8_t port_name[WWN_SIZE]; + uint16_t adapter_hard_loop_id; + uint8_t inquiry_data; + uint8_t login_timeout; + + uint8_t node_name[WWN_SIZE]; + + /* Expanded RISC parameter block */ + + struct + { +#if OLD + uint8_t operation_mode :4; + uint8_t connection_options :3; + uint8_t enable_fc_tape :1; + uint8_t enable_class2 :1; + uint8_t enable_fc_confirm :1; + uint8_t enable_ack0 :1; + uint8_t enable_command_reference_num :1; + uint8_t nonpart_if_hard_addr_failed :1; + uint8_t enable_read_xfr_rdy :1; + uint8_t unused_14 :1; + uint8_t unused_15 :1; +#endif + uint8_t operation_mode :4; + uint8_t connection_options :3; + uint8_t nonpart_if_hard_addr_failed :1; + uint8_t enable_class2 :1; + uint8_t enable_ack0 :1; + uint8_t unused_10 :1; + uint8_t unused_11 :1; + uint8_t enable_fc_tape :1; + uint8_t enable_fc_confirm :1; + uint8_t enable_command_reference_num :1; + }additional_firmware_options; + + uint8_t response_accum_timer; + uint8_t interrupt_delay_timer; + uint16_t reserved_2[14]; + + /* + * NVRAM host parameter block + */ + + struct + { + uint8_t unused_0 :1; + uint8_t disable_bios :1; + uint8_t disable_luns :1; + uint8_t enable_selectable_boot :1; + uint8_t disable_risc_code_load :1; + uint8_t set_cache_line_size_1 :1; + uint8_t pci_parity_disable :1; + uint8_t enable_extended_logging :1; + uint8_t enable_64bit_addressing :1; + uint8_t enable_lip_reset :1; + uint8_t enable_lip_full_login :1; + uint8_t enable_target_reset :1; + uint8_t enable_database_storage :1; + uint8_t unused_13 :1; + uint8_t unused_14 :1; + uint8_t unused_15 :1; + }host_p; + + uint8_t boot_node_name[WWN_SIZE]; + uint8_t boot_lun_number; + uint8_t reset_delay; + uint8_t port_down_retry_count; + uint8_t reserved_3; + + uint16_t maximum_luns_per_target; + + uint16_t reserved_6[7]; + + /* Offset 100 */ + uint16_t reserved_7[25]; + + /* Offset 150 */ + uint16_t reserved_8[25]; + + /* Offset 200 */ + uint8_t oem_id; + + uint8_t oem_spare0; + + uint8_t oem_string[6]; + + uint8_t oem_part[8]; + + uint8_t oem_fru[8]; + + uint8_t oem_ec[8]; + + /* Offset 232 */ + struct + { + uint8_t external_gbic :1; + uint8_t risc_ram_parity :1; + uint8_t buffer_plus_module :1; + uint8_t multi_chip_hba :1; + uint8_t unused_1 :1; + uint8_t unused_2 :1; + uint8_t unused_3 :1; + uint8_t unused_4 :1; + uint8_t unused_5 :1; + uint8_t unused_6 :1; + uint8_t unused_7 :1; + uint8_t unused_8 :1; + uint8_t unused_9 :1; + uint8_t unused_10 :1; + uint8_t unused_11 :1; + uint8_t unused_12 :1; + }hba_features; + + uint16_t reserved_9; + uint16_t reserved_10; + uint16_t reserved_11; + + uint16_t reserved_12; + uint16_t reserved_13; + + /* Subsystem ID must be at offset 244 */ + uint16_t subsystem_vendor_id; + + uint16_t reserved_14; + + /* Subsystem device ID must be at offset 248 */ + uint16_t subsystem_device_id; + + uint16_t reserved_15[2]; + uint8_t reserved_16; + uint8_t checksum; +}nvram22_t; + +typedef struct +{ + /* + * NVRAM header for 2100 board. + */ + + uint8_t id[4]; + uint8_t nvram_version; + uint8_t reserved_0; + + /* + * NVRAM RISC parameter block + */ + + uint8_t parameter_block_version; + uint8_t reserved_1; + + struct + { + uint8_t enable_hard_loop_id :1; + uint8_t enable_fairness :1; + uint8_t enable_full_duplex :1; + uint8_t enable_fast_posting :1; + uint8_t enable_target_mode :1; + uint8_t disable_initiator_mode :1; + uint8_t enable_adisc :1; + uint8_t enable_lun_response :1; + uint8_t enable_port_update_event :1; + uint8_t disable_initial_lip :1; + uint8_t enable_decending_soft_assign :1; + uint8_t previous_assigned_addressing :1; + uint8_t enable_stop_q_on_full :1; + uint8_t enable_full_login_on_lip :1; + uint8_t enable_name_change :1; + uint8_t unused_15 :1; + }firmware_options; + + uint16_t frame_payload_size; + uint16_t max_iocb_allocation; + uint16_t execution_throttle; + uint8_t retry_count; + uint8_t retry_delay; + uint8_t node_name[WWN_SIZE]; + uint16_t adapter_hard_loop_id; + uint8_t reserved_2; + uint8_t login_timeout; + uint16_t reserved_3[4]; + + /* Reserved for expanded RISC parameter block */ + uint16_t reserved_4[16]; + + /* + * NVRAM host parameter block + */ + + struct + { + uint8_t unused_0 :1; + uint8_t disable_bios :1; + uint8_t disable_luns :1; + uint8_t enable_selectable_boot :1; + uint8_t disable_risc_code_load :1; + uint8_t set_cache_line_size_1 :1; + uint8_t pci_parity_disable :1; + uint8_t enable_extended_logging :1; + uint8_t enable_64bit_addressing :1; + uint8_t enable_lip_reset :1; + uint8_t enable_lip_full_login :1; + uint8_t enable_target_reset :1; + uint8_t enable_database_storage :1; + uint8_t unused_13 :1; + uint8_t unused_14 :1; + uint8_t unused_15 :1; + }host_p; + + uint8_t boot_node_name[WWN_SIZE]; + uint8_t boot_lun_number; + uint8_t reset_delay; + uint8_t port_down_retry_count; + uint8_t reserved_5; + + uint16_t maximum_luns_per_target; + + uint16_t reserved_6[7]; + + /* Offset 100 */ + uint16_t reserved_7[25]; + + /* Offset 150 */ + uint16_t reserved_8[25]; + + /* Offset 200 */ + uint16_t reserved_9[22]; + + /* Subsystem ID must be at offset 244 */ + uint16_t subsystem_vendor_id; + + uint16_t reserved_10; + + /* Subsystem device ID must be at offset 248 */ + uint16_t subsystem_device_id; + + uint16_t reserved_11[2]; + uint8_t reserved_12; + uint8_t checksum; +}nvram21_t; + +/* + * ISP queue - command entry structure definition. + */ +#define MAX_CMDSZ 16 /* SCSI maximum CDB size. */ +typedef struct +{ + uint8_t entry_type; /* Entry type. */ + #define COMMAND_TYPE 0x11 /* Command entry */ + uint8_t entry_count; /* Entry count. */ + uint8_t sys_define; /* System defined. */ + uint8_t entry_status; /* Entry Status. */ + uint32_t handle; /* System handle. */ + uint8_t reserved; + uint8_t target; /* SCSI ID */ + uint16_t lun; /* SCSI LUN */ + uint16_t control_flags; /* Control flags. */ +#define CF_HEAD_TAG BIT_1 +#define CF_ORDERED_TAG BIT_2 +#define CF_SIMPLE_TAG BIT_3 +#define CF_READ BIT_5 +#define CF_WRITE BIT_6 + uint16_t reserved_1; + uint16_t timeout; /* Command timeout. */ + uint16_t dseg_count; /* Data segment count. */ + uint8_t scsi_cdb[MAX_CMDSZ]; /* SCSI command words. */ + uint32_t byte_count; /* Total byte count. */ + uint32_t dseg_0_address; /* Data segment 0 address. */ + uint32_t dseg_0_length; /* Data segment 0 length. */ + uint32_t dseg_1_address; /* Data segment 1 address. */ + uint32_t dseg_1_length; /* Data segment 1 length. */ + uint32_t dseg_2_address; /* Data segment 2 address. */ + uint32_t dseg_2_length; /* Data segment 2 length. */ +}cmd_entry_t; + +/* + * ISP queue - 64-Bit addressing, command entry structure definition. + */ +typedef struct +{ + uint8_t entry_type; /* Entry type. */ + #define COMMAND_A64_TYPE 0x19 /* Command A64 entry */ + uint8_t entry_count; /* Entry count. */ + uint8_t sys_define; /* System defined. */ + uint8_t entry_status; /* Entry Status. */ + uint32_t handle; /* System handle. */ + uint8_t reserved; + uint8_t target; /* SCSI ID */ + uint16_t lun; /* SCSI LUN */ + uint16_t control_flags; /* Control flags. */ + uint16_t reserved_1; + uint16_t timeout; /* Command timeout. */ + uint16_t dseg_count; /* Data segment count. */ + uint8_t scsi_cdb[MAX_CMDSZ]; /* SCSI command words. */ + uint32_t byte_count; /* Total byte count. */ + uint32_t dseg_0_address[2]; /* Data segment 0 address. */ + uint32_t dseg_0_length; /* Data segment 0 length. */ + uint32_t dseg_1_address[2]; /* Data segment 1 address. */ + uint32_t dseg_1_length; /* Data segment 1 length. */ +}cmd_a64_entry_t, request_t; + +/* + * ISP queue - continuation entry structure definition. + */ +typedef struct +{ + uint8_t entry_type; /* Entry type. */ + #define CONTINUE_TYPE 0x02 /* Continuation entry. */ + uint8_t entry_count; /* Entry count. */ + uint8_t sys_define; /* System defined. */ + uint8_t entry_status; /* Entry Status. */ + uint32_t reserved; + uint32_t dseg_0_address; /* Data segment 0 address. */ + uint32_t dseg_0_length; /* Data segment 0 length. */ + uint32_t dseg_1_address; /* Data segment 1 address. */ + uint32_t dseg_1_length; /* Data segment 1 length. */ + uint32_t dseg_2_address; /* Data segment 2 address. */ + uint32_t dseg_2_length; /* Data segment 2 length. */ + uint32_t dseg_3_address; /* Data segment 3 address. */ + uint32_t dseg_3_length; /* Data segment 3 length. */ + uint32_t dseg_4_address; /* Data segment 4 address. */ + uint32_t dseg_4_length; /* Data segment 4 length. */ + uint32_t dseg_5_address; /* Data segment 5 address. */ + uint32_t dseg_5_length; /* Data segment 5 length. */ + uint32_t dseg_6_address; /* Data segment 6 address. */ + uint32_t dseg_6_length; /* Data segment 6 length. */ +}cont_entry_t; + +/* + * ISP queue - 64-Bit addressing, continuation entry structure definition. + */ +typedef struct +{ + uint8_t entry_type; /* Entry type. */ + #define CONTINUE_A64_TYPE 0x0A /* Continuation A64 entry. */ + uint8_t entry_count; /* Entry count. */ + uint8_t sys_define; /* System defined. */ + uint8_t entry_status; /* Entry Status. */ + uint32_t dseg_0_address[2]; /* Data segment 0 address. */ + uint32_t dseg_0_length; /* Data segment 0 length. */ + uint32_t dseg_1_address[2]; /* Data segment 1 address. */ + uint32_t dseg_1_length; /* Data segment 1 length. */ + uint32_t dseg_2_address[2]; /* Data segment 2 address. */ + uint32_t dseg_2_length; /* Data segment 2 length. */ + uint32_t dseg_3_address[2]; /* Data segment 3 address. */ + uint32_t dseg_3_length; /* Data segment 3 length. */ + uint32_t dseg_4_address[2]; /* Data segment 4 address. */ + uint32_t dseg_4_length; /* Data segment 4 length. */ +}cont_a64_entry_t; + +#define STS_SENSE_BUF_LEN 32 +/* + * ISP queue - status entry structure definition. + */ +typedef struct +{ + uint8_t entry_type; /* Entry type. */ + #define STATUS_TYPE 0x03 /* Status entry. */ + uint8_t entry_count; /* Entry count. */ + uint8_t sys_define; /* System defined. */ + uint8_t entry_status; /* Entry Status. */ + #define RF_INV_E_ORDER BIT_5 /* Invalid entry order. */ + #define RF_INV_E_COUNT BIT_4 /* Invalid entry count. */ + #define RF_INV_E_PARAM BIT_3 /* Invalid entry parameter. */ + #define RF_INV_E_TYPE BIT_2 /* Invalid entry type. */ + #define RF_BUSY BIT_1 /* Busy */ + uint32_t handle; /* System handle. */ + uint16_t scsi_status; /* SCSI status. */ + uint16_t comp_status; /* Completion status. */ + uint16_t state_flags; /* State flags. */ + uint16_t status_flags; /* Status flags. */ + #define IOCBSTAT_SF_LOGO 0x2000 /* logo after 2 abts w/ no response (2 sec) */ + uint16_t rsp_info_len; /* Response Info Length. */ + uint16_t req_sense_length; /* Request sense data length. */ + uint32_t residual_length; /* Residual transfer length. */ + uint8_t rsp_info[8]; /* FCP response information. */ + uint8_t req_sense_data[STS_SENSE_BUF_LEN];/* Request sense data. */ +}sts_entry_t, response_t; + +/* + * ISP queue - marker entry structure definition. + */ +typedef struct +{ + uint8_t entry_type; /* Entry type. */ + #define MARKER_TYPE 0x04 /* Marker entry. */ + uint8_t entry_count; /* Entry count. */ + uint8_t sys_define; /* System defined. */ + uint8_t entry_status; /* Entry Status. */ + uint32_t sys_define_2; /* System defined. */ + uint8_t reserved; + uint8_t target; /* SCSI ID */ + uint8_t modifier; /* Modifier (7-0). */ + #define MK_SYNC_ID_LUN 0 /* Synchronize ID/LUN */ + #define MK_SYNC_ID 1 /* Synchronize ID */ + #define MK_SYNC_ALL 2 /* Synchronize all ID/LUN */ + #define MK_SYNC_LIP 3 /* Synchronize all ID/LUN, */ + /* clear port changed, */ + /* use sequence number. */ + uint8_t reserved_1; + uint16_t sequence_number; /* Sequence number of event */ + uint16_t lun; /* SCSI LUN */ + uint8_t reserved_2[48]; +}mrk_entry_t; + +/* + * ISP queue - enable LUN entry structure definition. + */ +typedef struct +{ + uint8_t entry_type; /* Entry type. */ + #define ENABLE_LUN_TYPE 0x0B /* Enable LUN entry. */ + uint8_t entry_count; /* Entry count. */ + uint8_t sys_define; /* System defined. */ + uint8_t entry_status; /* Entry Status. */ + uint32_t sys_define_2; /* System defined. */ + uint8_t reserved_8; + uint8_t reserved_1; + uint16_t reserved_2; + uint32_t reserved_3; + uint8_t status; + uint8_t reserved_4; + uint8_t command_count; /* Number of ATIOs allocated. */ + uint8_t immed_notify_count; /* Number of Immediate Notify */ + /* entries allocated. */ + uint16_t reserved_5; + uint16_t timeout; /* 0 = 30 seconds, 0xFFFF = disable */ + uint16_t reserved_6[20]; +}elun_entry_t; + +/* + * ISP queue - modify LUN entry structure definition. + */ +typedef struct +{ + uint8_t entry_type; /* Entry type. */ + #define MODIFY_LUN_TYPE 0x0C /* Modify LUN entry. */ + uint8_t entry_count; /* Entry count. */ + uint8_t sys_define; /* System defined. */ + uint8_t entry_status; /* Entry Status. */ + uint32_t sys_define_2; /* System defined. */ + uint8_t reserved_8; + uint8_t reserved_1; + uint8_t operators; + uint8_t reserved_2; + uint32_t reserved_3; + uint8_t status; + uint8_t reserved_4; + uint8_t command_count; /* Number of ATIOs allocated. */ + uint8_t immed_notify_count; /* Number of Immediate Notify */ + /* entries allocated. */ + uint16_t reserved_5; + uint16_t timeout; /* 0 = 30 seconds, 0xFFFF = disable */ + uint16_t reserved_7[20]; +}modify_lun_entry_t; + +/* + * ISP queue - immediate notify entry structure definition. + */ +typedef struct +{ + uint8_t entry_type; /* Entry type. */ + #define IMMED_NOTIFY_TYPE 0x0D /* Immediate notify entry. */ + uint8_t entry_count; /* Entry count. */ + uint8_t sys_define; /* System defined. */ + uint8_t entry_status; /* Entry Status. */ + uint32_t sys_define_2; /* System defined. */ + uint8_t reserved_8; + uint8_t initiator_id; + uint8_t reserved_1; + uint8_t target_id; + uint32_t reserved_2; + uint16_t status; + uint16_t task_flags; + uint16_t seq_id; + uint16_t reserved_5[11]; + uint16_t scsi_status; + uint8_t sense_data[18]; +}notify_entry_t; + +/* + * ISP queue - notify acknowledge entry structure definition. + */ +typedef struct +{ + uint8_t entry_type; /* Entry type. */ + #define NOTIFY_ACK_TYPE 0x0E /* Notify acknowledge entry. */ + uint8_t entry_count; /* Entry count. */ + uint8_t sys_define; /* System defined. */ + uint8_t entry_status; /* Entry Status. */ + uint32_t sys_define_2; /* System defined. */ + uint8_t reserved_8; + uint8_t initiator_id; + uint8_t reserved_1; + uint8_t target_id; + uint16_t flags; + uint16_t reserved_2; + uint16_t status; + uint16_t task_flags; + uint16_t seq_id; + uint16_t reserved_3[21]; +}nack_entry_t; + +/* + * ISP queue - Accept Target I/O (ATIO) entry structure definition. + */ +typedef struct +{ + uint8_t entry_type; /* Entry type. */ + #define ACCEPT_TGT_IO_TYPE 0x16 /* Accept target I/O entry. */ + uint8_t entry_count; /* Entry count. */ + uint8_t sys_define; /* System defined. */ + uint8_t entry_status; /* Entry Status. */ + uint32_t sys_define_2; /* System defined. */ + uint8_t reserved_8; + uint8_t initiator_id; + uint16_t exchange_id; + uint16_t flags; + uint16_t status; + uint8_t reserved_1; + uint8_t task_codes; + uint8_t task_flags; + uint8_t execution_codes; + uint8_t cdb[MAX_CMDSZ]; + uint32_t data_length; + uint16_t lun; + uint16_t reserved_2A; + uint16_t scsi_status; + uint8_t sense_data[18]; +}atio_entry_t; + +/* + * ISP queue - Continue Target I/O (CTIO) entry for status mode 0 + * structure definition. + */ +typedef struct +{ + uint8_t entry_type; /* Entry type. */ + #define CONTINUE_TGT_IO_TYPE 0x17 /* CTIO entry */ + uint8_t entry_count; /* Entry count. */ + uint8_t sys_define; /* System defined. */ + uint8_t entry_status; /* Entry Status. */ + uint32_t sys_define_2; /* System defined. */ + uint8_t reserved_8; + uint8_t initiator_id; + uint16_t exchange_id; + uint16_t flags; + uint16_t status; + uint16_t timeout; /* 0 = 30 seconds, 0xFFFF = disable */ + uint16_t dseg_count; /* Data segment count. */ + uint32_t relative_offset; + uint32_t residual; + uint16_t reserved_1[3]; + uint16_t scsi_status; + uint32_t transfer_length; + uint32_t dseg_0_address; /* Data segment 0 address. */ + uint32_t dseg_0_length; /* Data segment 0 length. */ + uint32_t dseg_1_address; /* Data segment 1 address. */ + uint32_t dseg_1_length; /* Data segment 1 length. */ + uint32_t dseg_2_address; /* Data segment 2 address. */ + uint32_t dseg_2_length; /* Data segment 2 length. */ +}ctio_entry_t; + +/* + * ISP queue - CTIO returned entry structure definition. + */ +typedef struct +{ + uint8_t entry_type; /* Entry type. */ + #define CTIO_RET_TYPE 0x17 /* CTIO return entry */ + uint8_t entry_count; /* Entry count. */ + uint8_t sys_define; /* System defined. */ + uint8_t entry_status; /* Entry Status. */ + uint32_t sys_define_2; /* System defined. */ + uint8_t reserved_8; + uint8_t initiator_id; + uint16_t exchange_id; + uint16_t flags; + uint16_t status; + uint16_t timeout; /* 0 = 30 seconds, 0xFFFF = disable */ + uint16_t dseg_count; /* Data segment count. */ + uint32_t relative_offset; + uint32_t residual; + uint16_t reserved_1[8]; + uint16_t scsi_status; + uint8_t sense_data[18]; +}ctio_ret_entry_t; + +/* + * ISP queue - CTIO A64 entry structure definition. + */ +typedef struct +{ + uint8_t entry_type; /* Entry type. */ + #define CTIO_A64_TYPE 0x1F /* CTIO A64 entry */ + uint8_t entry_count; /* Entry count. */ + uint8_t sys_define; /* System defined. */ + uint8_t entry_status; /* Entry Status. */ + uint32_t sys_define_2; /* System defined. */ + uint8_t reserved_8; + uint8_t initiator_id; + uint16_t exchange_id; + uint16_t flags; + uint16_t status; + uint16_t timeout; /* 0 = 30 seconds, 0xFFFF = disable */ + uint16_t dseg_count; /* Data segment count. */ + uint32_t relative_offset; + uint32_t residual; + uint16_t reserved_1[3]; + uint16_t scsi_status; + uint32_t transfer_length; + uint32_t dseg_0_address[2]; /* Data segment 0 address. */ + uint32_t dseg_0_length; /* Data segment 0 length. */ + uint32_t dseg_1_address[2]; /* Data segment 1 address. */ + uint32_t dseg_1_length; /* Data segment 1 length. */ +}ctio_a64_entry_t; + +/* + * ISP queue - CTIO returned entry structure definition. + */ +typedef struct +{ + uint8_t entry_type; /* Entry type. */ + #define CTIO_A64_RET_TYPE 0x1F /* CTIO A64 returned entry */ + uint8_t entry_count; /* Entry count. */ + uint8_t sys_define; /* System defined. */ + uint8_t entry_status; /* Entry Status. */ + uint32_t sys_define_2; /* System defined. */ + uint8_t reserved_8; + uint8_t initiator_id; + uint16_t exchange_id; + uint16_t flags; + uint16_t status; + uint16_t timeout; /* 0 = 30 seconds, 0xFFFF = disable */ + uint16_t dseg_count; /* Data segment count. */ + uint32_t relative_offset; + uint32_t residual; + uint16_t reserved_1[8]; + uint16_t scsi_status; + uint8_t sense_data[18]; +}ctio_a64_ret_entry_t; + +/* + * ISP queue - Status Contination entry structure definition. + */ +typedef struct +{ + uint8_t entry_type; /* Entry type. */ + #define STATUS_CONT_TYPE 0x10 /* Status contination entry */ + uint8_t entry_count; /* Entry count. */ + uint8_t reserved; + uint8_t entry_status; /* Entry Status. */ + uint8_t sense_data[60]; +}status_cont_entry_t; + +/* + * ISP queue - Command Set entry structure definition. + */ +typedef struct +{ + uint8_t entry_type; /* Entry type. */ + #define CMD_SET_TYPE 0x18 /* Command set entry */ + uint8_t entry_count; /* Entry count. */ + uint8_t sys_define; /* System defined. */ + uint8_t entry_status; /* Entry Status. */ + uint32_t sys_define_2; /* System defined. */ + uint16_t reserved; + uint16_t status; + uint16_t control_flags; /* Control flags. */ + uint16_t count; + uint32_t iocb_0_address; + uint32_t iocb_1_address; + uint32_t iocb_2_address; + uint32_t iocb_3_address; + uint32_t iocb_4_address; + uint32_t iocb_5_address; + uint32_t iocb_6_address; + uint32_t iocb_7_address; + uint32_t iocb_8_address; + uint32_t iocb_9_address; + uint32_t iocb_10_address; + uint32_t iocb_11_address; +}cmd_set_entry_t; + +/* + * ISP queue - Command Set A64 entry structure definition. + */ +typedef struct +{ + uint8_t entry_type; /* Entry type. */ + #define CMD_SET_TYPE 0x18 /* Command set entry */ + uint8_t entry_count; /* Entry count. */ + uint8_t sys_define; /* System defined. */ + uint8_t entry_status; /* Entry Status. */ + uint32_t sys_define_2; /* System defined. */ + uint16_t reserved; + uint16_t status; + uint16_t control_flags; /* Control flags. */ + uint16_t count; + uint32_t iocb_0_address[2]; + uint32_t iocb_1_address[2]; + uint32_t iocb_2_address[2]; + uint32_t iocb_3_address[2]; + uint32_t iocb_4_address[2]; + uint32_t iocb_5_address[2]; +}cmd_set_a64_entry_t; + +/* 4.11 + * ISP queue - Command Set entry structure definition. + */ +typedef struct +{ + uint8_t entry_type; /* Entry type. */ + #define MS_IOCB_TYPE 0x29 /* Management Server IOCB entry */ + uint8_t entry_count; /* Entry count. */ + uint8_t sys_define; /* System defined. */ + uint8_t entry_status; /* Entry Status. */ + uint32_t handle; /* System handle. */ + uint8_t reserved; + uint8_t loop_id; + uint16_t status; + uint16_t control_flags; /* Control flags. */ + uint16_t reserved2; + uint16_t timeout; + uint16_t DSDcount; + uint16_t RespDSDcount; + uint8_t reserved3[10]; + uint32_t Response_bytecount; + uint32_t Request_bytecount; + uint32_t dseg_req_address[2]; /* Data segment 0 address. */ + uint32_t dseg_req_length; /* Data segment 0 length. */ + uint32_t dseg_rsp_address[2]; /* Data segment 1 address. */ + uint32_t dseg_rsp_length; /* Data segment 1 length. */ +} ms_iocb_entry_t; + + +/* + * ISP request and response queue entry sizes + */ +#define RESPONSE_ENTRY_SIZE (sizeof(response_t)) +#define REQUEST_ENTRY_SIZE (sizeof(request_t)) + +/* + * ISP status entry - completion status definitions. + */ +#define CS_COMPLETE 0x0 /* No errors */ +#define CS_INCOMPLETE 0x1 /* Incomplete transfer of cmd. */ +#define CS_DMA 0x2 /* A DMA direction error. */ +#define CS_TRANSPORT 0x3 /* Transport error. */ +#define CS_RESET 0x4 /* SCSI bus reset occurred */ +#define CS_ABORTED 0x5 /* System aborted command. */ +#define CS_TIMEOUT 0x6 /* Timeout error. */ +#define CS_DATA_OVERRUN 0x7 /* Data overrun. */ +#define CS_DATA_UNDERRUN 0x15 /* Data Underrun. */ +#define CS_ABORT_MSG 0xE /* Target rejected abort msg. */ +#define CS_DEV_RESET_MSG 0x12 /* Target rejected dev rst msg. */ +#define CS_PORT_UNAVAILABLE 0x28 /* Port unavailable (selection timeout) */ +#define CS_PORT_LOGGED_OUT 0x29 /* Port Logged Out */ +#define CS_PORT_CONFIG_CHG 0x2A /* Port Configuration Changed */ +#define CS_PORT_BUSY 0x2B /* Port Busy */ +#define CS_BAD_PAYLOAD 0x80 /* Driver defined */ +#define CS_UNKNOWN 0x81 /* Driver defined */ +#define CS_RETRY 0x82 /* Driver defined */ +#define CS_QUEUE_FULL 0x1c /* Target queue full*/ + +/* + * ISP status entry - SCSI status byte bit definitions. + */ +#define SS_MASK 0xfff /* Mask off reserved bits BIT_12-BIT_15*/ +#define SS_RESIDUAL_UNDER BIT_11 +#define SS_RESIDUAL_OVER BIT_10 +#define SS_SENSE_LEN_VALID BIT_9 +#ifdef ISP2100 +#define SS_RESIDUAL_LEN_VALID BIT_8 +#else +#define SS_RESPONSE_INFO_LEN_VALID BIT_8 +#endif + +#define SS_RESERVE_CONFLICT (BIT_4 | BIT_3) +#define SS_BUSY_CONDITION BIT_3 +#define SS_CONDITION_MET BIT_2 +#define SS_CHECK_CONDITION BIT_1 + +/* + * ISP target entries - Flags bit definitions. + */ +#define OF_RESET BIT_5 /* Reset LIP flag */ +#define OF_DATA_IN BIT_6 /* Data in to initiator */ + /* (data from target to initiator) */ +#define OF_DATA_OUT BIT_7 /* Data out from initiator */ + /* (data from initiator to target) */ +#define OF_NO_DATA (BIT_7 | BIT_6) +#define OF_INC_RC BIT_8 /* Increment command resource count */ +#define OF_FAST_POST BIT_9 /* Enable mailbox fast posting. */ +#define OF_SSTS BIT_15 /* Send SCSI status */ + +/* + * Target Read/Write buffer structure. + */ +#define TARGET_DATA_OFFSET 4 +#define TARGET_DATA_SIZE 0x2000 /* 8K */ +#define TARGET_INQ_OFFSET (TARGET_DATA_OFFSET + TARGET_DATA_SIZE) +#define TARGET_SENSE_SIZE 18 +#define TARGET_BUF_SIZE 36 + +#if QL1280_TARGET_MODE_SUPPORT +typedef struct +{ + uint8_t hdr[4]; + uint8_t data[TARGET_DATA_SIZE]; +}tgt_buf_t; +#endif /* QL1280_TARGET_MODE_SUPPORT */ + +#define TARGET_OFFLINE BIT_0 +/* + * 24 bit port ID type definition. + */ +typedef union { + uint32_t b24 : 24; + + struct { + uint8_t d_id[3]; + uint8_t rsvd_1; + }r; + + struct { + uint8_t al_pa; + uint8_t area; + uint8_t domain; + uint8_t rsvd_1; + }b; +} port_id_t; + +typedef struct +{ + port_id_t d_id; + uint8_t name[WWN_SIZE]; + uint8_t wwn[WWN_SIZE]; /* port name */ + uint16_t loop_id; + uint16_t flag; + /* flags bits defined as follows */ +#define DEV_PUBLIC BIT_0 +#define DEV_LUNMASK_SET BIT_1 /* some LUNs masked for this device */ +#define DEV_TAPE_DEVICE BIT_2 +#define DEV_RELOGIN BIT_3 +#define DEV_PORT_DOWN BIT_4 +#define DEV_CONFIGURED BIT_5 +#define DEV_ABSENCE BIT_6 +#define DEV_RETURN BIT_7 +#define DEV_INITIATOR BIT_8 +#define DEV_FLAG_VSA BIT_9 + uint8_t port_login_retry_count; + uint8_t port_timer; +}fcdev_t; + +/* New device name list struct; used in configure_fabric. */ +struct new_dev { + port_id_t d_id; + uint8_t name[WWN_SIZE]; + uint8_t wwn[WWN_SIZE]; /* port name */ +}; +#define LOGOUT_PERFORMED 0x01 +/* + * Inquiry command structure. + */ +#define INQ_SCSI_OPCODE 0x12 +#define INQ_DATA_SIZE 4 + +typedef struct { + union { + cmd_entry_t cmd; + sts_entry_t rsp; + } p; + uint8_t inq[INQ_DATA_SIZE]; +} inq_cmd_rsp_t; + +/* + * Report LUN command structure. + */ +#define RPT_LUN_SCSI_OPCODE 0xA0 +#define CHAR_TO_SHORT(a, b) (uint16_t)((uint8_t)b << 8 | (uint8_t)a) + +typedef struct { + uint32_t len; + uint32_t rsrv; +} rpt_hdr_t; + +typedef struct { + struct { + uint8_t b : 6; + uint8_t address_method : 2; + } msb; + uint8_t lsb; + uint8_t unused[6]; +} rpt_lun_t; + +typedef struct { + rpt_hdr_t hdr; + rpt_lun_t lst[MAX_LUNS]; +} rpt_lun_lst_t; + +typedef struct { + union { + cmd_entry_t cmd; + sts_entry_t rsp; + } p; + rpt_lun_lst_t list; +} rpt_lun_cmd_rsp_t; + +/* + * SCSI Target Queue structure + */ +typedef struct os_tgt { + struct os_lun *olun[MAX_LUNS]; /* LUN context pointer. */ + uint8_t port_down_retry_count; + struct scsi_qla_host *ha; + uint32_t down_timer; + + /* Persistent binding name - big endian. */ + uint8_t fc_name[WWN_SIZE]; + struct fc_port *vis_port; + + uint8_t flags; +#define TGT_BUSY BIT_0 /* Reached hi-water mark */ +#define TGT_TAGGED_QUEUE BIT_1 /* Tagged queuing. */ +} os_tgt_t; + +/* + * SCSI LUN Queue structure + */ +typedef struct os_lun { + struct fc_lun *fclun; /* FC LUN context pointer. */ + spinlock_t q_lock; /* Lun Lock */ + + u_long io_cnt; /* total xfer count since boot */ + u_long out_cnt; /* total outstanding IO count */ + u_long w_cnt; /* total writes */ + u_long r_cnt; /* total reads */ + u_long avg_time; /* */ + + unsigned long q_flag; +#define LUN_MPIO_BUSY 2 /* Lun is changing paths */ +#define LUN_SCSI_SCAN_DONE BIT_3 /* indicates the scsi scan is done */ + + u_long q_timeout; /* total command timeouts */ + atomic_t q_timer; /* suspend timer */ + uint32_t q_count; /* current count */ + uint32_t q_max; /* maxmum count lun can be suspended */ + uint8_t q_state; /* lun State */ +#define LUN_STATE_READY 1 /* indicates the lun is ready for i/o */ +#define LUN_STATE_RUN 2 /* indicates the lun has a timer running */ +#define LUN_STATE_WAIT 3 /* indicates the lun is suspended */ +#define LUN_STATE_TIMEOUT 4 /* indicates the lun has timed out */ + +} os_lun_t; + + +/* LUN BitMask structure definition, array of 32bit words, + * 1 bit per lun. When bit == 1, the lun is masked. + * Most significant bit of mask[0] is lun 0, bit 24 is lun 7. + */ +typedef struct lun_bit_mask { + /* Must allocate at least enough bits to accomodate all LUNs */ +#if ((MAX_FIBRE_LUNS & 0x7) == 0) + UINT8 mask[MAX_FIBRE_LUNS >> 3]; +#else + uint8_t mask[(MAX_FIBRE_LUNS + 8) >> 3]; +#endif +} lun_bit_mask_t; + +/* + * Fibre channel port structure. + */ +typedef struct fc_port { + struct fc_port *next; + struct fc_lun *fclun; + struct scsi_qla_host *ha; + struct scsi_qla_host *vis_ha; /* only used when suspending lun */ + port_id_t d_id; + uint16_t loop_id; + uint16_t old_loop_id; + int16_t lun_cnt; + int16_t dev_id; /* index in fc_dev table */ +#define FC_NO_LOOP_ID 0x100 + uint8_t node_name[WWN_SIZE]; /* Big Endian. */ + uint8_t port_name[WWN_SIZE]; /* Big Endian. */ + uint8_t port_login_retry_count; + uint8_t mp_byte; /* multi-path byte (not used) */ + atomic_t state; /* port state */ +#define FC_DEVICE_DEAD 1 +#define FC_DEVICE_LOST 2 +#define FC_ONLINE 3 +#define FC_LOGIN_NEEDED 4 + + uint8_t flags; +#define FC_FABRIC_DEVICE BIT_0 +#define FC_TAPE_DEVICE BIT_1 +#define FC_INITIATOR_DEVICE BIT_2 +#define FC_CONFIG BIT_3 +#define FC_VSA BIT_4 +#define FC_HD_DEVICE BIT_5 + uint8_t cur_path; /* current path id */ + uint8_t login_retry; + atomic_t port_down_timer; + lun_bit_mask_t lun_mask; +} fc_port_t; + +/* + * Fibre channel LUN structure. + */ +typedef struct fc_lun { + struct fc_lun *next; + fc_port_t *fcport; + uint16_t lun; + uint8_t max_path_retries; + uint8_t flags; +#define FC_DISCON_LUN BIT_0 +} fc_lun_t; + +typedef struct +{ + uint8_t in_use; +}fabricid_t; +typedef struct +{ + uint8_t name[WWN_SIZE]; + uint8_t wwn[WWN_SIZE]; + port_id_t d_id; + uint16_t loop_id; +} hostdev_t; + +/* + * Registered State Change Notification structures. + */ +typedef struct { + port_id_t d_id; + uint8_t format; +} rscn_t; + +/* + * Flash Database structures. + */ +#define FLASH_DATABASE_0 0x1c000 +#define FLASH_DATABASE_1 0x18000 +#define FLASH_DATABASE_VERSION 1 + +typedef struct +{ + uint32_t seq; + uint8_t version; + uint8_t checksum; + uint16_t size; + uint8_t spares[8]; +}flash_hdr_t; + +typedef struct +{ + uint8_t name[WWN_SIZE]; + uint8_t spares[8]; +}flash_node_t; + +typedef struct +{ + flash_hdr_t hdr; + flash_node_t node[MAX_FIBRE_DEVICES]; +}flash_database_t; + +/* + * SNS structures. + */ +#define RFT_CMD_SIZE 60 +#define RFT_DATA_SIZE 16 + +#define GAN_CMD_SIZE 28 +#define GAN_DATA_SIZE (620 + 16) + +#define GID_CMD_SIZE 28 +#define GID_DATA_SIZE (MAX_FIBRE_DEVICES * 4 + 16) + +#define GPN_CMD_SIZE 28 +#define GPN_DATA_SIZE (8 + 16) + +#define GNN_CMD_SIZE 28 +#define GNN_DATA_SIZE (8 + 16) + +typedef struct { + union { + struct { + uint16_t buffer_length; + uint16_t reserved_1; + uint32_t buffer_address[2]; + uint16_t subcommand_length; + uint16_t reserved_2; + uint16_t subcommand; + uint16_t size; + uint32_t reserved_3; + uint8_t param[36]; + } cmd; + + uint8_t gan_rsp[GAN_DATA_SIZE]; + uint8_t gid_rsp[GID_DATA_SIZE]; + uint8_t gpn_rsp[GPN_DATA_SIZE]; + uint8_t gnn_rsp[GNN_DATA_SIZE]; + uint8_t rft_rsp[RFT_DATA_SIZE]; + } p; +} sns_cmd_rsp_t; + +/* + * SNS request/response structures for GP_IDNN. + */ +typedef struct +{ + uint8_t controlbyte; + uint8_t port_id[3]; + uint32_t reserved; + uint8_t nodename[WWN_SIZE]; +}port_data_t; + +#ifdef ISP2100 +#define GP_IDNN_LENGTH (126 * sizeof(port_data_t)) + 16 +#else +#define GP_IDNN_LENGTH (256 * sizeof(port_data_t)) + 16 +#endif + +typedef union +{ + struct + { + uint16_t buffer_length; + uint16_t reserved; + uint32_t buffer_address[2]; + uint16_t subcommand_length; + uint16_t reserved_1; + uint16_t subcommand; + uint16_t length; + uint32_t reserved2; + uint32_t protocol; + uint8_t param[GP_IDNN_LENGTH - 28]; + }req; + + struct + { + uint8_t revision; + uint8_t inid[3]; + uint8_t fcstype; + uint8_t subtype; + uint8_t options; + uint8_t reserved; + uint16_t response; + uint16_t residual; + uint8_t reserved1; + uint8_t reason_code; + uint8_t explanation_code; + uint8_t vendor_unique; +#ifdef ISP2100 + port_data_t port_data[126]; +#else + port_data_t port_data[256]; +#endif + }rsp; + +}gp_idnn_t; + +#ifdef ISP2100 +#define GN_LIST_LENGTH 126 * sizeof(port_list_entry_t) +#else +#define GN_LIST_LENGTH 256 * sizeof(port_list_entry_t) +#endif +/* + * Structure used in Get Port List mailbox command (0x75). + */ +typedef struct +{ + uint8_t name[WWN_SIZE]; + uint16_t loop_id; +}port_list_entry_t; + +/* + * Structure used for device info. + */ +typedef struct +{ + uint8_t name[WWN_SIZE]; + uint8_t wwn[WWN_SIZE]; + uint16_t loop_id; + uint8_t port_id[3]; +}device_data_t; + +/* Mailbox command completion status */ +#define MBS_PORT_ID_IN_USE 0x4007 +#define MBS_LOOP_ID_IN_USE 0x4008 +#define MBS_ALL_LOOP_IDS_IN_USE 0x4009 +#define MBS_NAME_SERVER_NOT_LOGGED_IN 0x400A + + +#define MAX_IOCTL_WAIT_THREADS 16 +typedef struct _wait_q_t { + uint8_t flags; +#define WQ_IN_USE 0x1 + + struct semaphore wait_q_sem; + struct _wait_q_t *pnext; +} wait_q_t; + +typedef struct hba_ioctl{ + + /* Ioctl cmd serialization */ + uint16_t access_bits; /* bits should be used atomically */ +#define IOCTL_ACTIVE 1 /* first bit */ +#define IOCTL_WANT 2 /* 2nd bit */ + + spinlock_t wait_q_lock; /* IOCTL wait_q Queue Lock */ + wait_q_t wait_q_arr[MAX_IOCTL_WAIT_THREADS]; + wait_q_t *wait_q_head; + wait_q_t *wait_q_tail; + + /* Passthru cmd/completion */ + struct semaphore cmpl_sem; + struct timer_list cmpl_timer; + uint8_t ioctl_tov; + uint8_t SCSIPT_InProgress; + uint8_t FCCT_InProgress; + + os_tgt_t *ioctl_tq; + os_lun_t *ioctl_lq; + + /* AEN queue */ + void *aen_tracking_queue;/* points to async events buffer */ + uint8_t aen_q_head; /* index to the current head of q */ + uint8_t aen_q_tail; /* index to the current tail of q */ + + /* Misc. */ + uint32_t flags; +#define IOCTL_OPEN BIT_0 +#define IOCTL_AEN_TRACKING_ENABLE BIT_1 + +} hba_ioctl_context; + +/* Mailbox command semaphore queue for command serialization */ +typedef struct _mbx_cmdq_t { + struct semaphore cmd_sem; + struct _mbx_cmdq_t *pnext; +} mbx_cmdq_t; + +/* + * Linux Host Adapter structure + */ +typedef struct scsi_qla_host +{ + /* Linux adapter configuration data */ + struct Scsi_Host *host; /* pointer to host data */ + struct scsi_qla_host *next; + device_reg_t *iobase; /* Base Memory-mapped I/O address */ + struct pci_dev *pdev; + uint8_t devnum; + volatile unsigned char *mmpbase; /* memory mapped address */ + u_long host_no; + u_long instance; + uint8_t revision; + uint8_t ports; + u_long actthreads; + u_long ipreq_cnt; + u_long qthreads; + u_long spurious_int; + uint32_t total_isr_cnt; /* Interrupt count */ + uint32_t total_isp_aborts; /* controller err cnt */ + uint32_t total_lip_cnt; /* LIP cnt */ + uint32_t total_dev_errs; /* device error cnt */ + uint32_t total_ios; /* IO cnt */ + uint64_t total_bytes; /* xfr byte cnt */ + + /* Adapter I/O statistics for failover */ + uint64_t IosRequested; + uint64_t BytesRequested; + uint64_t IosExecuted; + uint64_t BytesExecuted; + + uint32_t device_id; + uint16_t subsystem_vendor; + uint16_t subsystem_device; + + /* ISP connection configuration data */ + uint16_t max_public_loop_ids; + uint16_t min_external_loopid; /* First external loop Id */ + uint8_t current_topology; /* Current ISP configuration */ + uint8_t prev_topology; /* Previous ISP configuration */ + #define ISP_CFG_NL 1 + #define ISP_CFG_N 2 + #define ISP_CFG_FL 4 + #define ISP_CFG_F 8 + uint8_t id; /* Host adapter SCSI id */ + uint16_t loop_id; /* Host adapter loop id */ + port_id_t d_id; /* Host adapter port id */ + + uint8_t operating_mode; /* current F/W operating mode */ + /* 0 - LOOP, 1 - P2P, 2 - LOOP_P2P, + * 3 - P2P_LOOP + */ + uint8_t active_fc4_types;/* active fc4 types */ + uint8_t current_speed; /* current F/W operating speed */ + + /* NVRAM configuration data */ + uint16_t loop_reset_delay; /* Loop reset delay. */ + uint16_t hiwat; /* High water mark per device. */ + uint16_t execution_throttle; /* queue depth */ + uint16_t minimum_timeout; /* Minimum timeout. */ + uint8_t retry_count; + uint8_t login_timeout; + uint8_t port_down_retry_count; + uint8_t loop_down_timeout; + uint16_t max_probe_luns; + uint16_t max_luns; + uint16_t max_targets; + + /* Fibre Channel Device List. */ + fc_port_t *fcport; + + /* OS target queue pointers. */ + os_tgt_t *otgt[MAX_FIBRE_DEVICES]; + + /* Fibre Channel Device Database and LIP sequence. */ + fcdev_t fc_db[MAX_FIBRE_DEVICES]; /* Driver database. */ + uint32_t flash_db; /* Flash database address in use. */ + fabricid_t fabricid[MAX_FIBRE_DEVICES]; /* Fabric ids table . */ + uint32_t flash_seq; /* Flash database seq # in use. */ + volatile uint16_t lip_seq; /* LIP sequence number. */ + + /* Tracks host adapters we find */ + uint16_t next_host_slot; + hostdev_t *phost_db; /* Adapter database */ + + /* RSCN queue. */ + rscn_t rscn_queue[MAX_RSCN_COUNT]; + uint8_t rscn_in_ptr; + uint8_t rscn_out_ptr; + + + /* Doneq bottom half handler */ + struct tasklet_struct run_qla_task; + /* + * Need to hold the list_lock with irq's disabled in order to + * access the following list. + * This list_lock is of lower priority than the io_request_lock. + */ + /*********************************************************/ + spinlock_t list_lock; /* lock to guard lists which + hold srb_t's*/ + struct list_head retry_queue; /* watchdog queue */ + struct list_head done_queue; /* job on done queue */ + struct list_head failover_queue; /* failover list link. */ + struct list_head free_queue; /* SRB free queue */ + struct list_head scsi_retry_queue; /* SCSI retry queue */ + + struct list_head pending_queue; /* SCSI command pending queue */ + + /*********************************************************/ + + /* This spinlock is used to protect "io transactions", you must + * aquire it before doing any IO to the card, eg with RD_REG*() and + * WRT_REG*() for the duration of your entire commandtransaction. + * + * This spinlock is of lower priority than the io request lock. + */ + + spinlock_t hardware_lock; + + /* Linux kernel thread */ + struct task_struct *dpc_handler; /* kernel thread */ + struct semaphore *dpc_wait; /* DPC waits on this semaphore */ + struct semaphore *dpc_notify; /* requester waits for DPC on this semaphore */ + struct semaphore dpc_sem; /* DPC's semaphore */ + uint8_t dpc_active; /* DPC routine is active */ + + /* Received ISP mailbox data. */ + volatile uint16_t mailbox_out[MAILBOX_REGISTER_COUNT]; + + /* Outstandings ISP commands. */ + srb_t *outstanding_cmds[MAX_OUTSTANDING_COMMANDS]; + uint32_t current_outstanding_cmd; + + /* ISP ring lock, rings, and indexes */ + dma_addr_t request_dma; /* Physical address. */ + request_t *request_ring; /* Base virtual address */ + request_t *request_ring_ptr; /* Current address. */ + uint16_t req_ring_index; /* Current index. */ + uint16_t req_q_cnt; /* Number of available entries. */ + + dma_addr_t response_dma; /* Physical address. */ + response_t *response_ring; /* Base virtual address */ + response_t *response_ring_ptr; /* Current address. */ + uint16_t rsp_ring_index; /* Current index. */ + +#if QL2X00_TARGET_MODE_SUPPORT + /* Target buffer and sense data. */ + tgt_buf_t *tbuf; + uint8_t *tsense; +#endif + +#ifdef FC_IP_SUPPORT + /* Data for IP support */ + uint8_t acPortName[8]; + IP_BUFFER_ENTRY asIpBuffers[IP_BUFFER_QUEUE_DEPTH]; + uint32_t ppIpBufferQueueLow; + uint32_t ppIpBufferQueueHigh; + IP_BUFFER_ENTRY *pIpBufferQueue; + uint16_t wIpBufferIn; + uint16_t wIpBufferOut; + uint32_t lMaximumTransferSize; + uint32_t lReceiveBufferSize; + uint16_t wReceiveBufferCount; + uint16_t wHeaderSize; + PSEND_COMPLETION_CALLBACK pSendCompletionRoutine; + PRECEIVE_PACKETS_CALLBACK pReturnReceivePacketsRoutine; + void *pReturnReceivePacketsContext; + PNOTIFY_CALLBACK pNotifyRoutine; + void *pNotifyContext; + BUFFER_CB *pReceiveBufferCBs; + IP_DEVICE_BLOCK asIpDeviceDatabase[QLLAN_MAX_IP_DEVICES]; + IP_DEVICE_BLOCK *pIpDeviceFree; + IP_DEVICE_BLOCK *pIpDeviceTop; + IP_DEVICE_BLOCK *pIpDeviceBottom; + uint32_t lCurrentTagIndex; + void *apActiveIpQueue[MAX_SEND_PACKETS]; +#endif + + /* Firmware Initialization Control Block data */ + dma_addr_t init_cb_dma; /* Physical address. */ + init_cb_t *init_cb; + + /* Timeout timers. */ + uint8_t queue_restart_timer; + atomic_t loop_down_timer; /* loop down timer */ + uint8_t loop_down_abort_time; /* port down timer */ + uint32_t timer_active; + uint32_t forceLip; + struct timer_list timer; + + /* These are used by mailbox operations. */ + mbx_cmd_t *mcp; + uint16_t mbx_cmd_flags; +#define MBX_CMD_ACTIVE 1 /* first bit */ +#define MBX_CMD_WANT 2 /* 2nd bit */ +#define MBX_INTERRUPT 3 /* 3rd bit */ +#define MBX_INTR_WAIT 4 /* 4rd bit */ + + spinlock_t mbx_reg_lock; /* Mbx Cmd Register Lock */ + spinlock_t mbx_q_lock; /* Mbx Active Cmd Queue Lock */ + spinlock_t mbx_bits_lock; /* Mailbox access bits Lock */ + + uint32_t mbx_lock_bits; /* controlled by mbx_bits_lock */ +#define MBX_CMD_LOCK 1 /* first bit */ +#define MBX_CMD_WANT 2 /* 2nd bit */ + + struct semaphore mbx_intr_sem; /* Used for completion notification */ + + mbx_cmdq_t *mbx_sem_pool_head; /* Head Pointer to a list of + * recyclable mbx semaphore pool + * to be used during run time. + */ + mbx_cmdq_t *mbx_sem_pool_tail; /* Tail Pointer to semaphore pool*/ +#define MBQ_INIT_LEN 16 /* initial mbx sem pool q len. actual len may vary */ + + mbx_cmdq_t *mbx_q_head; /* Head Pointer to sem q for active cmds */ + mbx_cmdq_t *mbx_q_tail; /* Tail Pointer to sem q for active cmds */ + + + uint32_t retry_q_cnt; + uint32_t scsi_retry_q_cnt; + uint32_t failover_cnt; + + uint8_t *cmdline; + + volatile struct + { + uint32_t online :1; /* 0 */ + uint32_t enable_64bit_addressing :1; /* 1 */ + uint32_t mbox_int :1; /* 2 */ + uint32_t mbox_busy :1; /* 3 */ + + uint32_t port_name_used :1; /* 4 */ + uint32_t failover_enabled :1; /* 5 */ + uint32_t watchdog_enabled :1; /* 6 */ + uint32_t cfg_suspended :1; /* 7 */ + + uint32_t disable_host_adapter :1; /* 8 */ + uint32_t rscn_queue_overflow :1; /* 9 */ + uint32_t reset_active :1; /* 10 */ + uint32_t link_down_error_enable :1; /* 11 */ + + uint32_t disable_risc_code_load :1; /* 12 */ + uint32_t set_cache_line_size_1 :1; /* 13 */ + uint32_t enable_target_mode :1; /* 14 */ + uint32_t disable_luns :1; /* 15 */ + + uint32_t enable_lip_reset :1; /* 16 */ + uint32_t enable_lip_full_login :1; /* 17 */ + uint32_t enable_target_reset :1; /* 18 */ + uint32_t updated_fc_db :1; /* 19 */ + + uint32_t enable_flash_db_update :1; /* 20 */ + uint32_t in_isr :1; /* 21 */ + uint32_t dpc_sched :1; /* 23 */ + + uint32_t nvram_config_done :1; /* 24 */ + uint32_t update_config_needed :1; /* 25 */ + uint32_t management_server_logged_in :1; /* 26 */ +#ifdef FC_IP_SUPPORT + uint32_t enable_ip :1; /* 27 */ +#endif + + } flags; + + uint32_t device_flags; +#define DFLG_LOCAL_DEVICES BIT_0 +#define DFLG_RETRY_LOCAL_DEVICES BIT_1 +#define DFLG_FABRIC_DEVICES BIT_2 +#define SWITCH_FOUND BIT_3 +#define DFLG_NO_CABLE BIT_4 + + unsigned long cpu_flags; + + uint8_t marker_needed; + uint8_t missing_targets; + uint8_t sns_retry_cnt; + uint8_t cmd_wait_cnt; + uint8_t mem_err; + + unsigned long dpc_flags; +#define RESET_MARKER_NEEDED 0 /* initiate sending a marker to ISP */ +#define RESET_ACTIVE 1 +#define ISP_ABORT_NEEDED 2 /* initiate ISP Abort */ +#define ABORT_ISP_ACTIVE 3 /* isp abort in progress */ + +#define LOOP_RESYNC_NEEDED 4 /* initiate a configure fabric sequence */ +#define LOOP_RESYNC_ACTIVE 5 +#define COMMAND_WAIT_NEEDED 6 +#define COMMAND_WAIT_ACTIVE 7 + +#define LOCAL_LOOP_UPDATE 8 /* Perform a local loop update */ +#define RSCN_UPDATE 9 /* Perform a RSCN update */ +#define MAILBOX_RETRY 10 +#define ISP_RESET_NEEDED 11 /* Initiate a ISP reset ??? */ + +#define FAILOVER_EVENT_NEEDED 12 +#define FAILOVER_EVENT 13 +#define FAILOVER_NEEDED 14 +#define LOOP_RESET_NEEDED 15 + +#define DEVICE_RESET_NEEDED 16 +#define DEVICE_ABORT_NEEDED 17 +#define SCSI_RESTART_NEEDED 18 /* Processes any requests in scsi retry queue */ +#define PORT_RESTART_NEEDED 19 /* Processes any requests in retry queue */ + +#define RESTART_QUEUES_NEEDED 20 /* Restarts requeusts in the lun queue */ +#define ABORT_QUEUES_NEEDED 21 +#define RELOGIN_NEEDED 22 +#define LOGIN_RETRY_NEEDED 23 /* initiates any fabric logins that are required */ +#define REGISTER_FC4_NEEDED 24 /* set when need to register again.*/ + +/* macro for timer to start dpc for handling mailbox commands */ +#define MAILBOX_CMD_NEEDED (LOOP_RESET_NEEDED|DEVICE_RESET_NEEDED| \ + DEVICE_ABORT_NEEDED|ISP_ABORT_NEEDED) + + /* These 3 fields are used by the reset done in dpc thread */ + uint16_t reset_bus_id; + uint16_t reset_tgt_id; + uint16_t reset_lun; + + uint8_t interrupts_on; + uint8_t init_done; + + volatile uint16_t loop_state; +#define LOOP_TIMEOUT 0x01 +#define LOOP_DOWN 0x02 +#define LOOP_UP 0x04 +#define LOOP_UPDATE 0x08 +#define LOOP_READY 0x10 + + mbx_cmd_t mc; + uint32_t mbx_flags; +#define MBX_IN_PROGRESS BIT_0 +#define MBX_BUSY BIT_1 /* Got the Access */ +#define MBX_SLEEPING_ON_SEM BIT_2 +#define MBX_POLLING_FOR_COMP BIT_3 +#define MBX_COMPLETED BIT_4 +#define MBX_TIMEDOUT BIT_5 +#define MBX_ACCESS_TIMEDOUT BIT_6 + +/* following are new and needed for IOCTL support */ + hba_ioctl_context *ioctl; + uint8_t node_name[WWN_SIZE]; + + uint8_t optrom_major; + uint8_t optrom_minor; + + uint8_t nvram_version; + + void *ioctl_mem; + dma_addr_t ioctl_mem_phys; + uint32_t ioctl_mem_size; + + /* HBA serial number */ + uint8_t serial0; + uint8_t serial1; + uint8_t serial2; + + /* oem related items */ + uint8_t oem_id; + uint8_t oem_spare0; + uint8_t oem_part[6]; + uint8_t oem_fru[8]; + uint8_t oem_ec[8]; + uint8_t oem_string[8]; + + uint32_t dump_done; + unsigned long done_q_cnt; + unsigned long pending_in_q; + + uint32_t failover_type; + uint32_t failback_delay; + unsigned long cfg_flags; +#define CFG_ACTIVE 0 /* CFG during a failover, event update, or ioctl */ + /* uint8_t cfg_active; */ + int eh_start; + + uint32_t iocb_hiwat; + uint32_t iocb_cnt; + uint32_t iocb_overflow_cnt; + + int srb_cnt; + int srb_alloc_cnt; /*Number of allocated SRBs */ + + uint32_t mbox_trace; +} scsi_qla_host_t, adapter_state_t, HBA_t, *HBA_p; + +#ifdef __BIG_ENDIAN +/* Big endian machine correction defines. */ +#define LITTLE_ENDIAN_16(x) qla2x00_chg_endian((uint8_t *)&(x), 2) +#define LITTLE_ENDIAN_24(x) qla2x00_chg_endian((uint8_t *)&(x), 3) +#define LITTLE_ENDIAN_32(x) qla2x00_chg_endian((uint8_t *)&(x), 4) +#define LITTLE_ENDIAN_64(x) qla2x00_chg_endian((uint8_t *)&(x), 8) +#define BIG_ENDIAN_16(x) +#define BIG_ENDIAN_24(x) +#define BIG_ENDIAN_32(x) +#define BIG_ENDIAN_64(x) + +#else +/* Little endian machine correction defines. */ +#define LITTLE_ENDIAN_16(x) +#define LITTLE_ENDIAN_24(x) +#define LITTLE_ENDIAN_32(x) +#define LITTLE_ENDIAN_64(x) +#define BIG_ENDIAN_16(x) qla2x00_chg_endian((uint8_t *)&(x), 2) +#define BIG_ENDIAN_24(x) qla2x00_chg_endian((uint8_t *)&(x), 3) +#define BIG_ENDIAN_32(x) qla2x00_chg_endian((uint8_t *)&(x), 4) +#define BIG_ENDIAN_64(x) qla2x00_chg_endian((uint8_t *)&(x), 8) + +#endif + +/* + * Macros to help code, maintain, etc. + */ +#define LOOP_TRANSITION(ha) ( test_bit(ISP_ABORT_NEEDED, &ha->dpc_flags) || \ + test_bit(LOOP_RESYNC_NEEDED, &ha->dpc_flags) ) + +#define LOOP_NOT_READY(ha) ( (test_bit(ISP_ABORT_NEEDED, &ha->dpc_flags) || \ + test_bit(ABORT_ISP_ACTIVE, &ha->dpc_flags) || \ + test_bit(LOOP_RESYNC_NEEDED, &ha->dpc_flags) || \ + test_bit(LOOP_RESYNC_ACTIVE, &ha->dpc_flags) || \ + test_bit(COMMAND_WAIT_NEEDED, &ha->dpc_flags) || \ + test_bit(COMMAND_WAIT_ACTIVE, &ha->dpc_flags)) || \ + ha->loop_state == LOOP_DOWN) + +#define LOOP_RDY(ha) ( !LOOP_NOT_READY(ha) ) + +#define TGT_Q(ha, t) (ha->otgt[t]) +#define LUN_Q(ha, t, l) (TGT_Q(ha, t)->olun[l]) +#define GET_LU_Q(ha, t, l) ( (TGT_Q(ha,t) != NULL)? TGT_Q(ha, t)->olun[l] : NULL) +#define PORT_DOWN_TIMER(ha, t) ((ha)->fc_db[(t)].port_timer) +#define PORT(ha, t) ((ha)->fc_db[(t)]) +#define PORT_LOGIN_RETRY(fcport) ((fcport)->port_login_retry_count) + +#define MBOX_TRACE(ha,b) {(ha)->mbox_trace |= (b);} + +#define MBS_MASK 0x3fff +#define MBS_END 0x100 +#define QLA2X00_SUCCESS (MBS_COMMAND_COMPLETE & MBS_MASK) +#define QLA2X00_FAILED (MBS_END + 2) +#define QLA2X00_FUNCTION_FAILED (MBS_END + 2) + +#define KMEM_ZALLOC(siz,id) kmem_zalloc((siz), GFP_ATOMIC, (id) ) +#define KMEM_FREE(ip,siz) kfree((ip)) + +#if defined(__cplusplus) +} +#endif + +void qla2x00_device_queue_depth(scsi_qla_host_t *, Scsi_Device *); +#endif + +#if defined(__386__) +# define QLA2100_BIOSPARAM qla2x00_biosparam +#else +# define QLA2100_BIOSPARAM NULL +#endif + +/* + * Linux - SCSI Driver Interface Function Prototypes. + */ +int qla2x00_ioctl(Scsi_Device *, int , void *); +int qla2x00_proc_info ( char *, char **, off_t, int, int, int); +const char * qla2x00_info(struct Scsi_Host *host); +int qla2x00_detect(Scsi_Host_Template *); +int qla2x00_release(struct Scsi_Host *); +const char * qla2x00_info(struct Scsi_Host *); +int qla2x00_queuecommand(Scsi_Cmnd *, void (* done)(Scsi_Cmnd *)); +int qla2x00_abort(Scsi_Cmnd *); +int qla2x00_reset(Scsi_Cmnd *, unsigned int); +int qla2x00_biosparam(Disk *, kdev_t, int[]); +void qla2x00_intr_handler(int, void *, struct pt_regs *); +#ifndef MODULE +static int __init +qla2100_setup (char *s) +#else +void qla2x00_setup(char *s); +#endif + +/* Number of segments 1 - 65535 */ +#define SG_SEGMENTS 32 /* Cmd entry + 6 continuations */ + +/* + * Scsi_Host_template (see hosts.h) + * Device driver Interfaces to mid-level SCSI driver. + */ + +/* Kernel version specific template additions */ + +/* + * max_sectors + * + */ +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,8) +#define TEMPLATE_MAX_SECTORS max_sectors: 512, +#else +#define TEMPLATE_MAX_SECTORS +#endif +/* + * highmem_io + * + */ +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,7) +#define TEMPLATE_HIGHMEM_IO highmem_io: 1, +#else +#define TEMPLATE_HIGHMEM_IO +#endif +/* + * use_new_eh_code + * + */ +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0) +#define TEMPLATE_USE_NEW_EH_CODE +#else +#define TEMPLATE_USE_NEW_EH_CODE use_new_eh_code: 1, +#endif + + +#define QLA2100_LINUX_TEMPLATE { \ + next: NULL, \ + module: NULL, \ + proc_dir: NULL, \ + proc_info: qla2x00_proc_info, \ + name: "Qlogic Fibre Channel 2x00", \ + detect: qla2x00_detect, \ + release: qla2x00_release, \ + info: qla2x00_info, \ + ioctl: qla2x00_ioctl, \ + command: NULL, \ + queuecommand: qla2x00_queuecommand, \ + eh_strategy_handler: NULL, \ + eh_abort_handler: qla2xxx_eh_abort, \ + eh_device_reset_handler: qla2xxx_eh_device_reset, \ + eh_bus_reset_handler: qla2xxx_eh_bus_reset, \ + eh_host_reset_handler: qla2xxx_eh_host_reset, \ + abort: NULL, \ + reset: NULL, \ + slave_attach: NULL, \ + bios_param: QLA2100_BIOSPARAM, \ + can_queue: 255, /* max simultaneous cmds */\ + this_id: -1, /* scsi id of host adapter */\ + sg_tablesize: SG_SEGMENTS, /* max scatter-gather cmds */\ + cmd_per_lun: 3, /* cmds per lun (linked cmds) */\ + present: 0, /* number of 7xxx's present */\ + unchecked_isa_dma: 0, /* no memory DMA restrictions */\ + use_clustering: ENABLE_CLUSTERING, \ +TEMPLATE_USE_NEW_EH_CODE \ +TEMPLATE_MAX_SECTORS \ +TEMPLATE_HIGHMEM_IO \ + emulated: 0 \ +} + +#endif /* _IO_HBA_QLA2100_H */ + diff -urNp 2.4.19rc1/drivers/scsi/qla2xxx/qla2x00_ioctl.c qlogic/drivers/scsi/qla2xxx/qla2x00_ioctl.c --- 2.4.19rc1/drivers/scsi/qla2xxx/qla2x00_ioctl.c Thu Jan 1 01:00:00 1970 +++ qlogic/drivers/scsi/qla2xxx/qla2x00_ioctl.c Mon Jul 8 12:05:21 2002 @@ -0,0 +1,4395 @@ +/****************************************************************************** + * QLOGIC LINUX SOFTWARE + * + * QLogic ISP2x00 device driver for Linux 2.4.x + * Copyright (C) 2002 Qlogic Corporation + * (www.qlogic.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, 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. + * + ******************************************************************************/ + + +#define QLA_PT_CMD_TOV (30) +#define QLA_IOCTL_ACCESS_WAIT_TIME 30 /* seconds */ +#define QLA_INITIAL_IOCTLMEM_SIZE (2 * PAGE_SIZE) + +#define IOCTL_INVALID_STATUS 0xffff + +#ifdef INTAPI +#include "inioct.h" +/* from qla_inioct.c */ +extern int qla2x00_read_nvram(adapter_state_t *, EXT_IOCTL *, int); +extern int qla2x00_update_nvram(adapter_state_t *, EXT_IOCTL *, int); +extern int qla2x00_write_nvram_word(adapter_state_t *, uint8_t, uint16_t); +extern int qla2x00_send_loopback(adapter_state_t *, EXT_IOCTL *, int); +#endif + + +STATIC int qla2x00_alloc_ioctl_mem(adapter_state_t *); +STATIC int qla2x00_get_new_ioctl_dma_mem(adapter_state_t *, uint32_t); +STATIC void qla2x00_free_ioctl_mem(adapter_state_t *); + +/* + * Local prototypes + */ +STATIC int qla2x00_find_curr_ha(int, adapter_state_t **); + +STATIC int qla2x00_aen_reg(adapter_state_t *, EXT_IOCTL *, int); +STATIC int qla2x00_aen_get(adapter_state_t *, EXT_IOCTL *, int); +STATIC void qla2x00_enqueue_aen(adapter_state_t *, uint16_t, void *); + +STATIC int qla2x00_query(adapter_state_t *, EXT_IOCTL *, int); +STATIC int qla2x00_query_hba_node(adapter_state_t *, EXT_IOCTL *, int); +STATIC int qla2x00_query_hba_port(adapter_state_t *, EXT_IOCTL *, int); +STATIC int qla2x00_query_disc_port(adapter_state_t *, EXT_IOCTL *, int); +STATIC int qla2x00_query_disc_tgt(adapter_state_t *, EXT_IOCTL *, int); +STATIC int qla2x00_query_chip(adapter_state_t *, EXT_IOCTL *, int); + +STATIC int qla2x00_get_data(adapter_state_t *, EXT_IOCTL *, int); +STATIC int qla2x00_get_statistics(adapter_state_t *, EXT_IOCTL *, int); +STATIC int qla2x00_get_fc_statistics(adapter_state_t *, EXT_IOCTL *, int); +STATIC int qla2x00_get_port_summary(adapter_state_t *, EXT_IOCTL *, int); +STATIC int qla2x00_query_driver(adapter_state_t *, EXT_IOCTL *, int); +STATIC int qla2x00_query_fw(adapter_state_t *, EXT_IOCTL *, int); + +STATIC int qla2x00_send_fcct(adapter_state_t *, EXT_IOCTL *, int); +STATIC int qla2x00_start_ms_cmd(adapter_state_t *, EXT_IOCTL *, srb_t *); + +STATIC int qla2x00_wwpn_to_scsiaddr(adapter_state_t *, EXT_IOCTL *, int); +STATIC int qla2x00_scsi_passthru(adapter_state_t *, EXT_IOCTL *, int); +STATIC int qla2x00_sc_scsi_passthru(adapter_state_t *, EXT_IOCTL *, int); +STATIC int qla2x00_sc_fc_scsi_passthru(adapter_state_t *, EXT_IOCTL *, int); +STATIC int qla2x00_sc_scsi3_passthru(adapter_state_t *, EXT_IOCTL *, int); + +STATIC int qla2x00_send_els_rnid(adapter_state_t *, EXT_IOCTL *, int); +STATIC int qla2x00_get_rnid_params(adapter_state_t *, EXT_IOCTL *, int); +STATIC int qla2x00_set_host_data(adapter_state_t *, EXT_IOCTL *, int); +STATIC int qla2x00_set_rnid_params(adapter_state_t *, EXT_IOCTL *, int); + +STATIC void qla2x00_waitq_sem_timeout(unsigned long); +STATIC uint8_t qla2x00_get_ioctl_access(adapter_state_t *, uint32_t); +STATIC uint8_t qla2x00_release_ioctl_access(adapter_state_t *); + +STATIC void qla2x00_wait_q_memb_alloc(adapter_state_t *, wait_q_t **); +STATIC void qla2x00_wait_q_memb_free(adapter_state_t *, wait_q_t *); +STATIC uint8_t qla2x00_wait_q_add(adapter_state_t *, wait_q_t **); +STATIC void qla2x00_wait_q_remove(adapter_state_t *, wait_q_t **); + + +/* + * qla2x00_ioctl_sleep_done + * + * Description: + * This is the callback function to wakeup ioctl completion semaphore + * for the ioctl request that is waiting. + * + * Input: + * sem - pointer to the ioctl completion semaphore. + * + * Returns: + */ +STATIC void +qla2x00_ioctl_sleep_done (struct semaphore * sem) +{ + DEBUG9(printk("ioctl_sleep: entered.\n");) + + if (sem != NULL){ + DEBUG9(printk("ioctl_sleep: wake up sem.\n");) + up(sem); + } + + DEBUG9(printk("ioctl_sleep: exiting.\n");) +} + +/* + * qla2x00_ioctl_sem_init + * + * Description: + * Initialize the ioctl timer and semaphore used to wait for passthru + * completion. + * + * Input: + * ha - pointer to adapter_state_t structure used for initialization. + * + * Returns: + * None. + */ +STATIC void +qla2x00_ioctl_sem_init (adapter_state_t *ha) +{ + init_MUTEX_LOCKED(&ha->ioctl->cmpl_sem); + init_timer(&(ha->ioctl->cmpl_timer)); + ha->ioctl->cmpl_timer.data = (unsigned long)&ha->ioctl->cmpl_sem; + ha->ioctl->cmpl_timer.function = + (void (*)(unsigned long))qla2x00_ioctl_sleep_done; + +} + +/* + * qla2x00_scsi_pt_done + * + * Description: + * Resets ioctl progress flag and wakes up the ioctl completion semaphore. + * + * Input: + * pscsi_cmd - pointer to the passthru Scsi cmd structure which has completed. + * + * Returns: + */ +STATIC void +qla2x00_scsi_pt_done(Scsi_Cmnd *pscsi_cmd) +{ + struct Scsi_Host *host; + adapter_state_t *ha; + + host = pscsi_cmd->host; + ha = (adapter_state_t *) host->hostdata; + + DEBUG9(printk("qla2x00_scsi_pt_done post function called OK\n");) + + /* save detail status for IOCTL reporting */ + ha->ioctl->SCSIPT_InProgress = 0; + ha->ioctl->ioctl_tov = 0; + + up(&ha->ioctl->cmpl_sem); + + DEBUG9(printk("qla2x00_scsi_pt_done: exiting.\n");) + + return; +} + +/* + * qla2x00_fcct_done + * + * Description: + * Resets FCCT ioctl progress flag and wakes up the ioctl completion + * semaphore. + * + * Input: + * cmd - pointer to the passthru Scsi cmd structure which has completed. + * + * Returns: + */ +STATIC void +qla2x00_fcct_done(Scsi_Cmnd *pscsi_cmd) +{ + struct Scsi_Host *host; + adapter_state_t *ha; + + host = pscsi_cmd->host; + ha = (adapter_state_t *) host->hostdata; + + DEBUG9(printk("qla2x00_fcct_done post function called OK\n");) + + ha->ioctl->FCCT_InProgress = 0; + ha->ioctl->ioctl_tov = 0; + + up(&ha->ioctl->cmpl_sem); + + DEBUG9(printk("qla2x00_fcct_done: exiting.\n");) + + return; +} + +/************************************************************************* + * qla2x00_ioctl + * + * Description: + * Performs additional ioctl requests not satisfied by the upper levels. + * + * Returns: + * ret = 0 Success + * ret != 0 Failed; detailed status copied to EXT_IOCTL structure + * if applicable + *************************************************************************/ +int +qla2x00_ioctl(Scsi_Device *dev, int cmd, void *arg) +{ + int mode = 0; + int rval = 0; + int ret = EINVAL; + + uint8_t *temp; + uint8_t tempbuf[8]; + uint32_t i; + uint32_t status; + + EXT_IOCTL ext; + PEXT_IOCTL pext = &ext; + + adapter_state_t *ha; + struct Scsi_Host *host; + + + DEBUG9(printk("qla2x00_ioctl: entry to command (%x), arg (%p)\n", + cmd, arg);) + + host = dev->host; + ha = (adapter_state_t *) host->hostdata; /* midlayer chosen instance */ + + ret = verify_area(VERIFY_READ, (void *)arg, sizeof(EXT_IOCTL)); + if (ret) { + DEBUG9_10(printk("qla2x00_ioctl: ERROR VERIFY_READ EXT_IOCTL " + "sturct. ha=%8x.\n", (uint32_t)ha);) + return ret; + } + + /* copy in application layer EXT_IOCTL */ + os_copyin(arg, pext, sizeof(EXT_IOCTL), 0); + + /* check signature of this ioctl */ + temp = (uint8_t *) &pext->Signature; + + for (i = 0; i < 4; i++, temp++) + tempbuf[i] = *temp; + + if ((tempbuf[0] == 'Q') && (tempbuf[1] == 'L') && + (tempbuf[2] == 'O') && (tempbuf[3] == 'G')) + status = 0; + else + status = 1; + + if (status != 0) { + DEBUG9_10(printk("qla2x00_ioctl: signature did not match. " + "ha=%8x\n", (uint32_t)ha);) + pext->Status = EXT_STATUS_INVALID_PARAM; + os_copyout(pext, arg, sizeof(EXT_IOCTL), mode); + return EXT_STATUS_ERR; + } + + /* check version of this ioctl */ + if (pext->Version > EXT_VERSION) { + printk(KERN_WARNING + "qla2x00: interface version not supported = %d.\n", + pext->Version); + pext->Status = EXT_STATUS_UNSUPPORTED_VERSION; + os_copyout(pext, arg, sizeof(EXT_IOCTL), mode); + return EXT_STATUS_ERR; + } + + /* check for API setting HBA Instance for subsequent operations */ + if (cmd == (int)EXT_CC_STARTIOCTL) { + DEBUG9(printk("qla2x00_ioctl: got startioctl command.\n");) + + pext->Instance = num_hosts; + pext->Status = EXT_STATUS_OK; + os_copyout(pext, arg, sizeof(EXT_IOCTL), mode); + return EXT_STATUS_OK; + + } else if (cmd == (int)EXT_CC_SETINSTANCE) { + /* + * Since API opens devices once and uses handle for + * subsequent calls, we keep a parameter to designate + * the "active HBA" for ioctls. + */ + if (pext->Instance < num_hosts) { + apiHBAInstance = pext->Instance; + /* + * Return host number in pext->HbaSelect for + * reference by IOCTL caller. + */ + if (qla2x00_find_curr_ha(apiHBAInstance, &ha) != 0) { + DEBUG9_10(printk("qla2x00_ioctl: ERROR finding " + "ha in EXT_SETINSTANCE. Instance=%d " + "num_hosts=%d ha=%8x.\n", + + pext->Instance, num_hosts, (uint32_t)ha);) + pext->Status = EXT_STATUS_DEV_NOT_FOUND; + os_copyout(pext, arg, sizeof(EXT_IOCTL), mode); + + return EXT_STATUS_ERR; + } + + pext->HbaSelect = ha->host_no; + pext->Status = EXT_STATUS_OK; + os_copyout(pext, arg, sizeof(EXT_IOCTL), mode); + + DEBUG9(printk("qla2x00_ioctl: Setting instance to " + "%d.\n", apiHBAInstance);) + + ret = EXT_STATUS_OK; + } else { + DEBUG9_10(printk("qla2x00_ioctl: ERROR EXT_SETINSTANCE." + " Instance=%d num_hosts=%d ha=%8x.\n", + pext->Instance, num_hosts, (uint32_t)ha);) + + pext->Status = EXT_STATUS_DEV_NOT_FOUND; + os_copyout(pext, arg, sizeof(EXT_IOCTL), mode); + ret = EXT_STATUS_ERR; + } + + return ret; + } + + /* + * Check for valid apiHBAInstance (set previously by EXT_SETINSTANCE + * or default 0) and set ha context for this IOCTL. + */ + if (qla2x00_find_curr_ha(apiHBAInstance, &ha) != 0) { + + DEBUG9_10(printk("qla2x00_ioctl: ERROR matching apiHBAInstance " + "%d to an HBA Instance.\n", apiHBAInstance);) + + pext->Status = EXT_STATUS_DEV_NOT_FOUND; + os_copyout(pext, arg, sizeof(EXT_IOCTL), mode); + return EXT_STATUS_ERR; + } + + /* + * Get permission to process ioctl command. Only one will proceed + * at a time. + */ + if (qla2x00_get_ioctl_access(ha, QLA_IOCTL_ACCESS_WAIT_TIME) != 0) { + /* error timed out */ + DEBUG9_10(printk("qla2x00_ioctl: ERROR timeout getting " + "ioctl access. Inst=%d.\n", apiHBAInstance);) + + pext->Status = EXT_STATUS_BUSY; + os_copyout(pext, arg, sizeof(EXT_IOCTL), mode); + return EXT_STATUS_ERR; + } + + /* + * Set EXT_IOCTL.HbaSelect to host number for reference by IOCTL + * caller. + */ + pext->HbaSelect = ha->host_no; + + DEBUG9(printk("qla2x00_ioctl: active apiHBAInstance=%d CC=%x SC=%x.\n", + apiHBAInstance, cmd, pext->SubCode);) + + + while( test_bit(CFG_ACTIVE, &ha->cfg_flags) || ha->dpc_active ) { + if( signal_pending(current) ) + break; /* get out */ + + set_current_state(TASK_INTERRUPTIBLE); + schedule_timeout(HZ); + }; + + switch (cmd) { /* switch on EXT IOCTL COMMAND CODE */ + + case EXT_CC_QUERY: + DEBUG9(printk("qla2x00_ioctl: got query command.\n");) + + rval = qla2x00_query(ha, pext, 0); + ret = (rval == QL_STATUS_SUCCESS) ? + EXT_STATUS_OK : EXT_STATUS_ERR; + os_copyout(pext, arg, sizeof(EXT_IOCTL), mode); + + break; + + case EXT_CC_GET_DATA: + DEBUG9(printk("qla2x00_ioctl: got get_data command.\n");) + + rval = qla2x00_get_data(ha, pext, 0); + ret = (rval == QL_STATUS_SUCCESS) ? + EXT_STATUS_OK : EXT_STATUS_ERR; + os_copyout(pext, arg, sizeof(EXT_IOCTL), mode); + + break; + + case EXT_CC_SEND_FCCT_PASSTHRU: + DEBUG9(printk("qla2x00_ioctl: got CT passthru cmd.\n")); + + rval = qla2x00_send_fcct(ha, pext, 0); + ret = (rval == QL_STATUS_SUCCESS) ? + EXT_STATUS_OK : EXT_STATUS_ERR; + copy_to_user((void *)arg, (void *)pext, sizeof(EXT_IOCTL)); + + break; + + case EXT_CC_SEND_SCSI_PASSTHRU: + DEBUG9(printk("qla2x00_ioctl: got SCSI passthru cmd.\n")); + + rval = qla2x00_scsi_passthru(ha, pext, mode); + ret = (rval == QL_STATUS_SUCCESS) ? + EXT_STATUS_OK : EXT_STATUS_ERR; + os_copyout(pext, arg, sizeof(EXT_IOCTL), mode); + + break; + + case EXT_CC_REG_AEN: + rval = qla2x00_aen_reg(ha, pext, mode); + + ret = (rval == QL_STATUS_SUCCESS) ? + EXT_STATUS_OK : EXT_STATUS_ERR; + os_copyout(pext, arg, sizeof(EXT_IOCTL), mode); + + break; + + case EXT_CC_GET_AEN: + rval = qla2x00_aen_get(ha, pext, mode); + + ret = (rval == QL_STATUS_SUCCESS) ? + EXT_STATUS_OK : EXT_STATUS_ERR; + os_copyout(pext, arg, sizeof(EXT_IOCTL), mode); + + break; + + case EXT_CC_WWPN_TO_SCSIADDR: + rval = qla2x00_wwpn_to_scsiaddr(ha, pext, 0); + ret = (rval == QL_STATUS_SUCCESS) ? + EXT_STATUS_OK : EXT_STATUS_ERR; + copy_to_user(arg, pext, sizeof(EXT_IOCTL)); + break; + + case EXT_CC_SEND_ELS_RNID: + rval = qla2x00_send_els_rnid(ha, pext, mode); + ret = (rval == QL_STATUS_SUCCESS) ? + EXT_STATUS_OK : EXT_STATUS_ERR; + copy_to_user(arg, pext, sizeof(EXT_IOCTL)); + break; + + case EXT_CC_SET_DATA: + rval = qla2x00_set_host_data(ha, pext, mode); + ret = (rval == QL_STATUS_SUCCESS) ? + EXT_STATUS_OK : EXT_STATUS_ERR; + copy_to_user(arg, pext, sizeof(EXT_IOCTL)); + break; + +#ifdef INTAPI + + case INT_CC_READ_NVRAM: + rval = qla2x00_read_nvram(ha, pext, mode); + + ret = (rval == QL_STATUS_SUCCESS) ? + EXT_STATUS_OK : EXT_STATUS_ERR; + os_copyout(pext, arg, sizeof(EXT_IOCTL), mode); + + break; + + case INT_CC_UPDATE_NVRAM: + rval = qla2x00_update_nvram(ha, pext, mode); + + ret = (rval == QL_STATUS_SUCCESS) ? + EXT_STATUS_OK : EXT_STATUS_ERR; + os_copyout(pext, arg, sizeof(EXT_IOCTL), mode); + + break; + + case INT_CC_LOOPBACK: + rval = qla2x00_send_loopback(ha, pext, mode); + + ret = (rval == QL_STATUS_SUCCESS) ? + EXT_STATUS_OK : EXT_STATUS_ERR; + os_copyout(pext, arg, sizeof(EXT_IOCTL), mode); + + break; +#endif /* INTAPI */ + + /* all others go here */ + /* + case EXT_CC_ELS_RNID_SEND: + break; + case EXT_CC_ELS_RTIN_SEND: + break; + case EXT_CC_PLATFORM_REG: + break; + */ + +#if MPIO_SUPPORT + /* Failover IOCTLs */ + case FO_CC_GET_PARAMS: + case FO_CC_SET_PARAMS: + case FO_CC_GET_PATHS: + case FO_CC_SET_CURRENT_PATH: + case FO_CC_RESET_HBA_STAT: + case FO_CC_GET_HBA_STAT: + case FO_CC_GET_LUN_DATA: + case FO_CC_SET_LUN_DATA: + case FO_CC_GET_TARGET_DATA: + case FO_CC_SET_TARGET_DATA: + DEBUG9(printk("qla2x00_ioctl: failover arg (%p):\n", arg);) + qla2x00_fo_ioctl(ha,cmd, arg, mode); + os_copyout(pext, arg, sizeof(EXT_IOCTL), mode); + break; +#endif + + default: + ret = EXT_STATUS_ERR; + break; + } /* end of CC decode switch */ + + DEBUG9(printk("qla2x00_ioctl: exiting. rval(%d) ret(%d)\n", rval, ret);) + + qla2x00_release_ioctl_access(ha); + + return ret; +} + +/* + * qla2x00_alloc_ioctl_mem + * Allocates memory needed by IOCTL code. + * + * Input: + * ha = adapter state pointer. + * + * Returns: + * qla2x00 local function return status code. + * + * Context: + * Kernel context. + */ +STATIC int +qla2x00_alloc_ioctl_mem(adapter_state_t *ha) +{ + DEBUG9(printk("qla2x00_alloc_ioctl_mem entered.\n");) + + if (qla2x00_get_new_ioctl_dma_mem(ha, QLA_INITIAL_IOCTLMEM_SIZE) != + QL_STATUS_SUCCESS) { + printk(KERN_WARNING + "qla2x00: ERROR in ioctl physical memory allocation\n"); + + return QL_STATUS_RESOURCE_ERROR; + } + + /* Allocate context memory buffer */ + ha->ioctl = KMEM_ZALLOC(sizeof(hba_ioctl_context), 11); + if (ha->ioctl == NULL) { + /* error */ + printk(KERN_WARNING + "qla2x00: ERROR in ioctl context allocation.\n"); + return QL_STATUS_RESOURCE_ERROR; + } + + /* Allocate AEN tracking buffer */ + ha->ioctl->aen_tracking_queue = + KMEM_ZALLOC(EXT_DEF_MAX_AEN_QUEUE * sizeof(EXT_ASYNC_EVENT), 12); + if (ha->ioctl->aen_tracking_queue == NULL) { + printk(KERN_WARNING + "qla2x00: ERROR in ioctl aen_queue allocation.\n"); + return QL_STATUS_RESOURCE_ERROR; + } + + ha->ioctl->ioctl_tq = KMEM_ZALLOC(sizeof(os_tgt_t), 13); + if (ha->ioctl->ioctl_tq == NULL) { + printk(KERN_WARNING + "qla2x00: ERROR in ioctl tgt queue allocation.\n"); + return QL_STATUS_RESOURCE_ERROR; + } + + ha->ioctl->ioctl_lq = KMEM_ZALLOC(sizeof(os_lun_t), 14); + if (ha->ioctl->ioctl_lq == NULL) { + printk(KERN_WARNING + "qla2x00: ERROR in ioctl lun queue allocation.\n"); + return QL_STATUS_RESOURCE_ERROR; + } + /*INIT_LIST_HEAD(&(ha->ioctl->ioctl_lq->cmd));*/ + ha->ioctl->ioctl_lq->q_state = LUN_STATE_READY; + ha->ioctl->ioctl_lq->q_lock = SPIN_LOCK_UNLOCKED; + + /* Init wait_q fields */ + ha->ioctl->wait_q_lock = SPIN_LOCK_UNLOCKED; + + DEBUG9(printk("qla2x00_alloc_ioctl_mem exiting.\n");) + + return QLA2X00_SUCCESS; +} + +/* + * qla2x00_get_new_ioctl_dma_mem + * Allocates dma memory of the specified size. + * This is done to replace any previously allocated ioctl dma buffer. + * + * Input: + * ha = adapter state pointer. + * + * Returns: + * qla2x00 local function return status code. + * + * Context: + * Kernel context. + */ +STATIC int +qla2x00_get_new_ioctl_dma_mem(adapter_state_t *ha, uint32_t size) +{ + if (ha->ioctl_mem) { + DEBUG9(printk("qla2x00_get_new_ioctl_dma_mem: ioctl_mem " + "was previously allocated. Dealloc old buffer.\n");) + + /* free the memory first */ + pci_free_consistent(ha->pdev, ha->ioctl_mem_size, ha->ioctl_mem, + ha->ioctl_mem_phys); + } + + /* Get consistent memory allocated for ioctl I/O operations. */ + ha->ioctl_mem = pci_alloc_consistent(ha->pdev, + size, &ha->ioctl_mem_phys); + + if (ha->ioctl_mem == NULL) { + printk(KERN_WARNING + "qla2x00_get_new_ioctl_dma_mem: ERROR in ioctl physical " + "memory allocation. Requested length=%x.\n", size); + + ha->ioctl_mem_size = 0; + return QL_STATUS_RESOURCE_ERROR; + } + ha->ioctl_mem_size = size; + + return QL_STATUS_SUCCESS; +} + +/* + * qla2x00_free_ioctl_mem + * Frees memory used by IOCTL code for the specified ha. + * + * Input: + * ha = adapter state pointer. + * + * Context: + * Kernel context. + */ +STATIC void +qla2x00_free_ioctl_mem(adapter_state_t *ha) +{ + DEBUG9(printk("qla2x00_free_ioctl_mem entered.\n");) + + if (ha->ioctl != NULL) { + + if (ha->ioctl->ioctl_tq != NULL) { + KMEM_FREE(ha->ioctl->ioctl_tq, sizeof(os_tgt_t)); + ha->ioctl->ioctl_tq = NULL; + } + + if (ha->ioctl->ioctl_lq != NULL) { + KMEM_FREE(ha->ioctl->ioctl_lq, sizeof(os_lun_t)); + ha->ioctl->ioctl_lq = NULL; + } + + if (ha->ioctl->aen_tracking_queue != NULL) { + KMEM_FREE(ha->ioctl->aen_tracking_queue, + EXT_DEF_MAX_AEN_QUEUE * sizeof(EXT_ASYNC_EVENT)); + ha->ioctl->aen_tracking_queue = NULL; + } + + KMEM_FREE(ha->ioctl, sizeof(hba_ioctl_context)); + ha->ioctl = NULL; + } + + /* free memory allocated for ioctl operations */ + pci_free_consistent(ha->pdev, ha->ioctl_mem_size, ha->ioctl_mem, + ha->ioctl_mem_phys); + ha->ioctl_mem = NULL; + + DEBUG9(printk("qla2x00_free_ioctl_mem exiting.\n");) +} + +/* + * qla2x00_find_curr_ha + * Searches and returns the pointer to the adapter instance specified. + * + * Input: + * inst = adapter instance number to search. + * ha = adapter state pointer of the instance requested. + * + * Returns: + * qla2x00 local function return status code. + * + * Context: + * Kernel context. + */ +STATIC int +qla2x00_find_curr_ha(int inst, adapter_state_t **ret_ha) +{ + int rval = QL_STATUS_SUCCESS; + adapter_state_t *search_ha = NULL; + + /* + * Check for valid apiHBAInstance (set previously by EXT_SETINSTANCE + * or default 0) and set ha context for this IOCTL + */ + for (search_ha = qla2x00_hostlist; + (search_ha != NULL) && search_ha->instance != inst; + search_ha = search_ha->next) + continue; + + if (search_ha == NULL) { + DEBUG10(printk("qla2x00_ioctl: ERROR matching apiHBAInstance " + "%d to an HBA Instance.\n", apiHBAInstance);) + rval = QL_STATUS_ERROR; + } else { + *ret_ha = search_ha; + } + + return rval; +} + +/* + * qla2x00_aen_reg + * IOCTL management server Asynchronous Event Tracking Enable/Disable. + * + * Input: + * ha = pointer to the adapter struct of the adapter to register. + * cmd = pointer to EXT_IOCTL structure containing values from user. + * mode = flags. not used. + * + * Returns: + * 0 = success + * + * Context: + * Kernel context. + */ +STATIC int +qla2x00_aen_reg(adapter_state_t *ha, EXT_IOCTL *cmd, int mode) +{ + int rval = 0; + EXT_REG_AEN reg_struct; + + DEBUG9(printk("qla2x00_aen_reg: entered.\n");) + + rval = os_copyin((void*)(cmd->RequestAdr), ®_struct, + cmd->RequestLen, mode); + + if (rval == 0) { + cmd->Status = EXT_STATUS_OK; + if (reg_struct.Enable) { + ha->ioctl->flags |= IOCTL_AEN_TRACKING_ENABLE; + } else { + ha->ioctl->flags &= ~IOCTL_AEN_TRACKING_ENABLE; + } + } else { + cmd->Status = EXT_STATUS_COPY_ERR; + rval = EFAULT; + } + DEBUG9(printk("qla2x00_aen_reg: reg_struct. Enable(%d) " + "ha->ioctl_flag(%x) cmd->Status(%d) cmd->DetailStatus (%d).", + reg_struct.Enable, ha->ioctl->flags, cmd->Status, + cmd->DetailStatus);) + + DEBUG9(printk("qla2x00_aen_reg: exiting.\n");) + + return rval; +} + +/* + * qla2x00_aen_get + * Asynchronous Event Record Transfer to user. + * The entire queue will be emptied and transferred back. + * + * Input: + * ha = pointer to the adapter struct of the specified adapter. + * pext = pointer to EXT_IOCTL structure containing values from user. + * mode = flags. + * + * Returns: + * 0 = success + * + * Context: + * Kernel context. + * + * NOTE: Need to use hardware lock to protect the queues from updates + * via isr/enqueue_aen after we get rid of io_request_lock. + */ +STATIC int +qla2x00_aen_get(adapter_state_t *ha, EXT_IOCTL *cmd, int mode) +{ + int rval = 0; + EXT_ASYNC_EVENT *tmp_q; + static EXT_ASYNC_EVENT aen[EXT_DEF_MAX_AEN_QUEUE]; + uint8_t i; + uint8_t queue_cnt; + uint8_t request_cnt; + uint32_t stat = EXT_STATUS_OK; + uint32_t dstat = EXT_STATUS_OK; + uint32_t ret_len = 0; + unsigned long cpu_flags = 0; + + DEBUG9(printk("qla2x00_aen_get: entered.\n");) + + request_cnt = (uint8_t)(cmd->ResponseLen / sizeof(EXT_ASYNC_EVENT)); + + if (request_cnt < EXT_DEF_MAX_AEN_QUEUE) { + /* We require caller to alloc for the maximum request count */ + cmd->Status = EXT_STATUS_BUFFER_TOO_SMALL; + rval = 0; + DEBUG9_10(printk( + "qla2x00_aen_get: Buffer too small. Exiting normally.");) + return rval; + } + + /* 1st: Make a local copy of the entire queue content. */ + tmp_q = (EXT_ASYNC_EVENT *)ha->ioctl->aen_tracking_queue; + queue_cnt = 0; + + spin_lock_irqsave(&ha->hardware_lock, cpu_flags); + i = ha->ioctl->aen_q_head; + + for (; queue_cnt < EXT_DEF_MAX_AEN_QUEUE;) { + if (tmp_q[i].AsyncEventCode != 0) { + BCOPY((void *)&tmp_q[i], (void *)&aen[queue_cnt], + sizeof(EXT_ASYNC_EVENT)); + queue_cnt++; + tmp_q[i].AsyncEventCode = 0; /* empty out the slot */ + } + + if (i == ha->ioctl->aen_q_tail) { + /* done. */ + break; + } + + i++; + + if (i == EXT_DEF_MAX_AEN_QUEUE) { + i = 0; + } + } + + /* Empty the queue. */ + ha->ioctl->aen_q_head = 0; + ha->ioctl->aen_q_tail = 0; + + spin_unlock_irqrestore(&ha->hardware_lock, cpu_flags); + + /* 2nd: Now transfer the queue content to user buffer */ + /* Copy the entire queue to user's buffer. */ + ret_len = (uint32_t)(queue_cnt * sizeof(EXT_ASYNC_EVENT)); + if (queue_cnt != 0) { + rval = os_copyout((void *)&aen[0], + (void *)(cmd->ResponseAdr), ret_len, mode); + + } + cmd->ResponseLen = ret_len; + + if (rval != 0) { + stat = EXT_STATUS_COPY_ERR; + rval = EFAULT; + DEBUG10(printk("qla2x00_aen_get: FAILED. error = %d\n", stat);) + } else { + stat = EXT_STATUS_OK; + rval = 0; + DEBUG9(printk("qla2x00_aen_get: exiting normally.\n");) + } + + cmd->Status = stat; + cmd->DetailStatus = dstat; + + DEBUG9(printk("qla2x00_aen_get: exiting. rval= %d\n", rval);) + + return rval; +} + +/* + * qla2x00_enqueue_aen + * + * Input: + * ha = adapter state pointer. + * event_code = async event code of the event to add to queue. + * payload = event payload for the queue. + * + * Context: + * Interrupt context. + * NOTE: Need to hold the hardware lock to protect the queues from + * aen_get after we get rid of the io_request_lock. + */ +void +qla2x00_enqueue_aen(adapter_state_t *ha, uint16_t event_code, void *payload) +{ + uint8_t new_entry; /* index to current entry */ + uint16_t *mbx; + EXT_ASYNC_EVENT *aen_queue; + + DEBUG9(printk("qla2x00_enqueue_aen: entered.\n");) + + aen_queue = (EXT_ASYNC_EVENT *)ha->ioctl->aen_tracking_queue; + if (aen_queue[ha->ioctl->aen_q_tail].AsyncEventCode != 0) { + /* Need to change queue pointers to make room. */ + + /* Increment tail for adding new entry. */ + ha->ioctl->aen_q_tail++; + if (ha->ioctl->aen_q_tail == EXT_DEF_MAX_AEN_QUEUE) { + ha->ioctl->aen_q_tail = 0; + } + + if (ha->ioctl->aen_q_head == ha->ioctl->aen_q_tail) { + /* + * We're overwriting the oldest entry, so need to + * update the head pointer. + */ + ha->ioctl->aen_q_head++; + if (ha->ioctl->aen_q_head == EXT_DEF_MAX_AEN_QUEUE) { + ha->ioctl->aen_q_head = 0; + } + } + } + + DEBUG(printk("qla2x00_enqueue_aen: Adding code 0x%x to aen_q %p @ %d\n", + event_code, aen_queue, ha->ioctl->aen_q_tail);) + new_entry = ha->ioctl->aen_q_tail; + aen_queue[new_entry].AsyncEventCode = event_code; + + DEBUG(printk("qla2x00_enqueue_aen: Adding code 0x%8x\n", + aen_queue[new_entry].AsyncEventCode);) + + /* Update payload */ + switch (event_code) { + case MBA_LIP_OCCURRED: + case MBA_LOOP_UP: + case MBA_LOOP_DOWN: + case MBA_LIP_RESET: + case MBA_PORT_UPDATE: + /* empty */ + break; + + case MBA_SCR_UPDATE: + mbx = (uint16_t *)payload; + /* al_pa */ + aen_queue[new_entry].Payload.RSCN.RSCNInfo[0] = LSB(mbx[2]); + /* area */ + aen_queue[new_entry].Payload.RSCN.RSCNInfo[1] = MSB(mbx[2]); + /* domain */ + aen_queue[new_entry].Payload.RSCN.RSCNInfo[2] = LSB(mbx[1]); + /* save in big endian */ + BIG_ENDIAN_24(aen_queue[new_entry].Payload.RSCN.RSCNInfo[0]); + + aen_queue[new_entry].Payload.RSCN.AddrFormat = MSB(mbx[1]); + + break; + + default: + /* Not supported */ + aen_queue[new_entry].AsyncEventCode = 0; + break; + } + + DEBUG9(printk("qla2x00_enqueue_aen: exiting.\n");) +} + +STATIC int +qla2x00_query(adapter_state_t *ha, EXT_IOCTL *pext, int mode) +{ + int rval; + + DEBUG9(printk("qla2x00_query: entered.\n");) + + /* All Query type ioctls are done here */ + switch(pext->SubCode) { + + case EXT_SC_QUERY_HBA_NODE: + /* fill in HBA NODE Information */ + rval = qla2x00_query_hba_node(ha, pext, mode); + break; + + case EXT_SC_QUERY_HBA_PORT: + /* return HBA PORT related info */ + rval = qla2x00_query_hba_port(ha, pext, mode); + break; + + case EXT_SC_QUERY_DISC_PORT: + /* return discovered port information */ + rval = qla2x00_query_disc_port(ha, pext, mode); + break; + + case EXT_SC_QUERY_DISC_TGT: + /* printk("[Start SC_QUERY_DISC_TGT active ha=%x]\n",ha); */ + rval = qla2x00_query_disc_tgt(ha, pext, mode); + break; + + case EXT_SC_QUERY_CHIP: + rval = qla2x00_query_chip(ha, pext, mode); + break; + + case EXT_SC_QUERY_DISC_LUN: + pext->Status = EXT_STATUS_UNSUPPORTED_SUBCODE; + rval = pext->Status; + break; + + default: + DEBUG10(printk("qla2x00_query: unknown SubCode %d.\n", + pext->SubCode);) + pext->Status = EXT_STATUS_UNSUPPORTED_SUBCODE; + rval = pext->Status; + break; + } + + DEBUG9(printk("qla2x00_query: exiting.\n");) + return rval; +} + +STATIC int +qla2x00_query_hba_node(adapter_state_t *ha, EXT_IOCTL *pext, int mode) +{ + int ret = EXT_STATUS_OK; + uint32_t i, transfer_size; + static EXT_HBA_NODE tmp_hba_node; + qla_boards_t *bdp; + + DEBUG9(printk("qla2x00_query_hba_node: entered.\n");) + + BZERO(&tmp_hba_node, sizeof(EXT_HBA_NODE)); + + /* fill all available HBA NODE Information */ + bdp = &QLBoardTbl_fc[ha->devnum]; + for (i = 0; i < 8 ; i++) + tmp_hba_node.WWNN[i] = ha->node_name[i]; + + sprintf((char *)(tmp_hba_node.Manufacturer),"Qlogic Corp."); + sprintf((char *)(tmp_hba_node.Model),(char *)&bdp->bdName[0]); + + tmp_hba_node.SerialNum[0] = ha->serial0; + tmp_hba_node.SerialNum[1] = ha->serial1; + tmp_hba_node.SerialNum[2] = ha->serial2; + + sprintf((char *)(tmp_hba_node.DriverVersion),QLA2100_VERSION); + sprintf((char *)(tmp_hba_node.FWVersion),"%2d.%02d.%02d", + bdp->fwver[0], bdp->fwver[1], bdp->fwver[2]); + + sprintf((char *)(tmp_hba_node.OptRomVersion),"%d.%d", + ha->optrom_major, ha->optrom_minor); + + tmp_hba_node.InterfaceType = EXT_DEF_FC_INTF_TYPE; + tmp_hba_node.PortCount = 1; + +#if MPIO_SUPPORT + + tmp_hba_node.DriverAttr = (ha->flags.failover_enabled) ? + DRVR_FO_ENABLED : 0; +#endif + + ret = verify_area(VERIFY_WRITE, (void *)pext->ResponseAdr, + sizeof(EXT_HBA_NODE)); + if (ret) { + pext->Status = EXT_STATUS_COPY_ERR; + DEBUG9_10(printk("qla2x00_query_hba_node: ERROR verify write " + "rsp buffer.\n");) + return pext->Status; + } + + /* now copy up the HBA_NODE to user */ + if (pext->ResponseLen < sizeof(EXT_HBA_NODE)) + transfer_size = pext->ResponseLen; + else + transfer_size = sizeof(EXT_HBA_NODE); + + copy_to_user((uint8_t *)pext->ResponseAdr, (uint8_t *)&tmp_hba_node, + transfer_size); + + pext->Status = EXT_STATUS_OK; + pext->DetailStatus = EXT_STATUS_OK; + + DEBUG9(printk("qla2x00_query_hba_node: exiting.\n");) + return ret; +} + +STATIC int +qla2x00_query_hba_port(adapter_state_t *ha, EXT_IOCTL *pext, int mode) +{ + int ret = EXT_STATUS_OK; + uint32_t tgt_cnt, tgt, transfer_size; + uint32_t port_cnt; + fc_port_t *fcport; + EXT_HBA_PORT tmp_hba_port; + + DEBUG9(printk("qla2x00_query_hba_port: entered.\n");) + + BZERO(&tmp_hba_port, sizeof(EXT_HBA_PORT)); + + /* reflect all HBA PORT related info */ + tmp_hba_port.WWPN[7] = ha->init_cb->port_name[7]; + tmp_hba_port.WWPN[6] = ha->init_cb->port_name[6]; + tmp_hba_port.WWPN[5] = ha->init_cb->port_name[5]; + tmp_hba_port.WWPN[4] = ha->init_cb->port_name[4]; + tmp_hba_port.WWPN[3] = ha->init_cb->port_name[3]; + tmp_hba_port.WWPN[2] = ha->init_cb->port_name[2]; + tmp_hba_port.WWPN[1] = ha->init_cb->port_name[1]; + tmp_hba_port.WWPN[0] = ha->init_cb->port_name[0]; + tmp_hba_port.Id[0] = 0; + tmp_hba_port.Id[1] = ha->d_id.r.d_id[2]; + tmp_hba_port.Id[2] = ha->d_id.r.d_id[1]; + tmp_hba_port.Id[3] = ha->d_id.r.d_id[0]; + tmp_hba_port.Type = EXT_DEF_INITIATOR_DEV; + + switch (ha->current_topology) { + case ISP_CFG_NL: + case ISP_CFG_FL: + tmp_hba_port.Mode = EXT_DEF_LOOP_MODE; + break; + + case ISP_CFG_N: + case ISP_CFG_F: + tmp_hba_port.Mode = EXT_DEF_P2P_MODE; + break; + + default: + tmp_hba_port.Mode = EXT_DEF_UNKNOWN_MODE; + break; + } + + port_cnt = 0; + for (fcport = ha->fcport; (fcport); fcport = fcport->next) { + /* if removed or missing */ + if (atomic_read(&fcport->state) != FC_ONLINE) { + DEBUG9(printk("query_hba_port: port %06x not online.\n", + fcport->d_id.b24);) + continue; + } + port_cnt++; + } + + tgt_cnt = 0; + for (tgt = 0; tgt < MAX_TARGETS; tgt++) { + if (ha->otgt[tgt] == NULL) { + continue; + } + tgt_cnt++; + } + + tmp_hba_port.DiscPortCount = port_cnt; + tmp_hba_port.DiscTargetCount = tgt_cnt; + + if (ha->loop_state == LOOP_DOWN) { + + tmp_hba_port.State = EXT_DEF_HBA_LOOP_DOWN; + + } else if (ha->loop_state != LOOP_READY || + test_bit(ABORT_ISP_ACTIVE, &ha->dpc_flags) || + test_bit(CFG_ACTIVE, &ha->cfg_flags) || ABORTS_ACTIVE) { + + tmp_hba_port.State = EXT_DEF_HBA_SUSPENDED; + + } else { + + tmp_hba_port.State = EXT_DEF_HBA_OK; + + } + + tmp_hba_port.DiscPortNameType = EXT_DEF_USE_PORT_NAME; + + /* Return supported FC4 type depending on driver support. */ + tmp_hba_port.PortSupportedFC4Types = EXT_DEF_FC4_TYPE_SCSI; +#ifdef FC_IP_SUPPORT + + tmp_hba_port.PortSupportedFC4Types |= EXT_DEF_FC4_TYPE_IP; +#endif +#ifdef FC_SCTP_SUPPORT + + tmp_hba_port.PortSupportedFC4Types |= EXT_DEF_FC4_TYPE_SCTP; +#endif + + tmp_hba_port.PortActiveFC4Types = ha->active_fc4_types; + + /* Return supported speed depending on adapter type */ +#ifdef ISP2100 + + tmp_hba_port.PortSupportedSpeed = EXT_DEF_PORTSPEED_1GBIT; +#elif defined(ISP2200) + + tmp_hba_port.PortSupportedSpeed = EXT_DEF_PORTSPEED_1GBIT; +#elif defined(ISP2300) + + tmp_hba_port.PortSupportedSpeed = EXT_DEF_PORTSPEED_2GBIT; +#else + /* invalid */ + tmp_hba_port.PortSupportedSpeed = 0; +#endif + + tmp_hba_port.PortSpeed = ha->current_speed; + + ret = verify_area(VERIFY_WRITE, (void *)pext->ResponseAdr , + sizeof(EXT_HBA_PORT)); + if (ret) { + pext->Status = EXT_STATUS_COPY_ERR; + DEBUG9_10(printk("qla2x00_query_hba_port: ERROR verify write " + "rsp buffer.\n");) + return ret; + } + + /* now copy up the HBA_PORT to user */ + if (pext->ResponseLen < sizeof(EXT_HBA_PORT)) + transfer_size = pext->ResponseLen; + else + transfer_size = sizeof(EXT_HBA_PORT); + + copy_to_user((uint8_t *)pext->ResponseAdr, (uint8_t *)&tmp_hba_port, + transfer_size); + + pext->Status = EXT_STATUS_OK; + pext->DetailStatus = EXT_STATUS_OK; + + DEBUG9(printk("qla2x00_query_hba_port: exiting.\n");) + return ret; +} + +STATIC int +qla2x00_query_disc_port(adapter_state_t *ha, EXT_IOCTL *pext, int mode) +{ + int ret = EXT_STATUS_OK; + uint32_t tgt, transfer_size, inst; + fc_port_t *fcport; + os_tgt_t *tq; + EXT_DISC_PORT tmp_disc_port; + + DEBUG9(printk("qla2x00_query_disc_port: entered. Port inst=%02d.\n", + pext->Instance);) + + inst = 0; + for (fcport = ha->fcport; fcport != NULL; fcport = fcport->next) { + if (atomic_read(&fcport->state) != FC_ONLINE) { + /* port does not exist anymore */ + DEBUG9(printk("qla2x00_query_disc_port: fcport " + "marked lost. d_id=%06x loop_id=%02x not online.\n", + fcport->d_id.b24, fcport->loop_id);) + + continue; + } + + if (inst != pext->Instance) { + DEBUG9(printk("qla2x00_query_disc_port: found " + "fcport %02d. Skipping.\n", inst);) + + inst++; + continue; + } + + DEBUG9(printk("qla2x00_query_disc_port: fcport %02d " + "online. d_id=%06x loop_id=%02x online.\n", + inst, fcport->d_id.b24, fcport->loop_id);) + + /* Found the matching port still connected. */ + break; + } + + if (fcport == NULL) { + DEBUG9_10(printk("qla2x00_query_disc_port: dev not found.\n");) + pext->Status = EXT_STATUS_DEV_NOT_FOUND; + return ret; + } + if (pext->Status != EXT_STATUS_OK) { + DEBUG9_10(printk("qla2x00_query_disc_port: device down.\n");) + return QL_STATUS_SUCCESS; + } + + BZERO(&tmp_disc_port, sizeof(EXT_DISC_PORT)); + + BCOPY(&fcport->node_name[0], &tmp_disc_port.WWNN[0], 8); + BCOPY(&fcport->port_name[0], &tmp_disc_port.WWPN[0], 8); + + tmp_disc_port.Id[0] = 0; + tmp_disc_port.Id[1] = fcport->d_id.r.d_id[2]; + tmp_disc_port.Id[2] = fcport->d_id.r.d_id[1]; + tmp_disc_port.Id[3] = fcport->d_id.r.d_id[0]; + + /* Currently all devices on fcport list are target capable devices */ + /* This default value may need to be changed after we add non target + * devices also to this list. + */ + tmp_disc_port.Type = EXT_DEF_TARGET_DEV; + + if (fcport->flags & FC_FABRIC_DEVICE) { + tmp_disc_port.Type |= EXT_DEF_FABRIC_DEV; + } + if (fcport->flags & FC_TAPE_DEVICE) { + tmp_disc_port.Type |= EXT_DEF_TAPE_DEV; + } + if (fcport->flags & FC_INITIATOR_DEVICE) { + tmp_disc_port.Type |= EXT_DEF_INITIATOR_DEV; + } + + tmp_disc_port.LoopID = fcport->loop_id; + tmp_disc_port.Status = 0; + tmp_disc_port.Bus = 0; + + for (tgt = 0; tgt < MAX_TARGETS; tgt++) { + if ((tq = ha->otgt[tgt]) == NULL) { + continue; + } + + if (tq->vis_port == NULL) /* dg 08/14/01 */ + continue; + + if (BCMP(&fcport->port_name[0], &tq->vis_port->port_name[0], + EXT_DEF_WWN_NAME_SIZE) == 0) { + tmp_disc_port.TargetId = tgt; + break; + } + } + + ret = verify_area(VERIFY_WRITE, (void *)pext->ResponseAdr , + sizeof(EXT_DISC_PORT)); + if (ret) { + pext->Status = EXT_STATUS_COPY_ERR; + DEBUG9_10(printk("qla2x00_query_disc_port: ERROR verify write " + "rsp buffer.\n");) + return ret; + } + + /* now copy up the DISC_PORT to user */ + if (pext->ResponseLen < sizeof(EXT_DISC_PORT)) + transfer_size = pext->ResponseLen; + else + transfer_size = sizeof(EXT_DISC_PORT); + + copy_to_user((uint8_t *)pext->ResponseAdr, (uint8_t *)&tmp_disc_port, + transfer_size); + + pext->Status = EXT_STATUS_OK; + pext->DetailStatus = EXT_STATUS_OK; + + + DEBUG9(printk("qla2x00_query_disc_port: exiting.\n");) + return ret; +} + +STATIC int +qla2x00_query_disc_tgt(adapter_state_t *ha, EXT_IOCTL *pext, int mode) +{ + int ret = EXT_STATUS_OK; + uint32_t tgt, transfer_size, inst; + uint32_t cnt, i; + fc_port_t *tgt_fcport; + os_tgt_t *tq; + EXT_DISC_TARGET tmp_disc_target; + + DEBUG9(printk("qla2x00_query_disc_tgt: entered.\n");) + + tq = NULL; + for (tgt = 0, inst = 0; tgt < MAX_TARGETS; tgt++) { + if (ha->otgt[tgt] == NULL) { + continue; + } + /* if wrong target id then skip to next entry */ + if (inst != pext->Instance) { + inst++; + continue; + } + tq = ha->otgt[tgt]; + break; + } + + if (tq == NULL || tgt == MAX_TARGETS) { + DEBUG9_10(printk("qla2x00_query_disc_tgt: target dev not " + "found. tq=%x, tgt=%x.\n", + (unsigned int)tq, tgt);) + pext->Status = EXT_STATUS_DEV_NOT_FOUND; + return pext->Status; + } + + if (tq->vis_port == NULL) { /* dg 08/14/01 */ + DEBUG9_10(printk("qla2x00_query_disc_tgt: target dev not " + "found. tq=%x, tgt=%x.\n", + (unsigned int)tq, tgt);) + pext->Status = EXT_STATUS_BUSY; + return pext->Status; + } + + BZERO(&tmp_disc_target, sizeof(EXT_DISC_TARGET)); + + tgt_fcport = tq->vis_port; + BCOPY (&tgt_fcport->node_name[0], &tmp_disc_target.WWNN[0], 8); + BCOPY (&tgt_fcport->port_name[0], &tmp_disc_target.WWPN[0], 8); + + tmp_disc_target.Id[0] = 0; + tmp_disc_target.Id[1] = tgt_fcport->d_id.r.d_id[2]; + tmp_disc_target.Id[2] = tgt_fcport->d_id.r.d_id[1]; + tmp_disc_target.Id[3] = tgt_fcport->d_id.r.d_id[0]; + + /* All devices on ha->otgt list are target capable devices. */ + tmp_disc_target.Type = EXT_DEF_TARGET_DEV; + + if (tgt_fcport->flags & FC_FABRIC_DEVICE) { + tmp_disc_target.Type |= EXT_DEF_FABRIC_DEV; + } + if (tgt_fcport->flags & FC_TAPE_DEVICE) { + tmp_disc_target.Type |= EXT_DEF_TAPE_DEV; + } + if (tgt_fcport->flags & FC_INITIATOR_DEVICE) { + tmp_disc_target.Type |= EXT_DEF_INITIATOR_DEV; + } + + tmp_disc_target.LoopID = tgt_fcport->loop_id; + tmp_disc_target.Status = 0; + tmp_disc_target.Bus = 0; + tmp_disc_target.TargetId = tgt; + + cnt = 0; + /* enumerate available LUNs under this TGT (if any) */ + if (ha->otgt[tgt] != NULL) { + for (i = 0; i < MAX_LUNS ; i++) { + if ((ha->otgt[tgt])->olun[i] !=0) + cnt++; + } + } + + tmp_disc_target.LunCount = cnt; + + ret = verify_area(VERIFY_WRITE, (void *)pext->ResponseAdr, + sizeof(EXT_DISC_TARGET)); + if (ret) { + pext->Status = EXT_STATUS_COPY_ERR; + DEBUG9_10(printk("qla2x00_query_disc_tgt: ERROR verify write " + "rsp buffer.\n");) + return pext->Status; + } + + /* now copy up the DISC_PORT to user */ + if (pext->ResponseLen < sizeof(EXT_DISC_PORT)) + transfer_size = pext->ResponseLen; + else + transfer_size = sizeof(EXT_DISC_TARGET); + + copy_to_user((uint8_t *)pext->ResponseAdr, (uint8_t *)&tmp_disc_target, + transfer_size); + + pext->Status = EXT_STATUS_OK; + pext->DetailStatus = EXT_STATUS_OK; + + DEBUG9(printk("qla2x00_query_disc_tgt: exiting.\n");) + return ret; +} + +STATIC int +qla2x00_query_chip(adapter_state_t *ha, EXT_IOCTL *pext, int mode) +{ + int ret = EXT_STATUS_OK; + uint32_t transfer_size, i; + EXT_CHIP tmp_isp; + struct Scsi_Host *host; + + DEBUG9(printk("qla2x00_query_chip: entered.\n");) + + BZERO(&tmp_isp, sizeof(EXT_CHIP)); + + host = ha->host; + tmp_isp.VendorId = QLA2X00_VENDOR_ID; + tmp_isp.DeviceId = ha->device_id; + tmp_isp.SubVendorId = ha->subsystem_vendor; + tmp_isp.SubSystemId = ha->subsystem_device; + tmp_isp.PciBusNumber = ha->pdev->bus->number; + tmp_isp.PciDevFunc = ha->pdev->devfn; + tmp_isp.PciSlotNumber = PCI_SLOT(ha->pdev->devfn); + tmp_isp.IoAddr = host->io_port; + tmp_isp.IoAddrLen = 512; + tmp_isp.MemAddr = 0; /* ? */ + tmp_isp.MemAddrLen = 0; /* ? */ + tmp_isp.ChipType = 0; /* ? */ + tmp_isp.InterruptLevel = host->irq; + + for (i = 0; i < 8; i++) + tmp_isp.OutMbx[i] = 0; + + ret = verify_area(VERIFY_WRITE, (void *)pext->ResponseAdr , + sizeof(EXT_CHIP)); + if (ret) { + pext->Status = EXT_STATUS_COPY_ERR; + DEBUG9_10(printk("qla2x00_query_chip: ERROR verify write rsp " + "buffer.\n");) + return pext->Status; + } + + /* now copy up the ISP to user */ + if (pext->ResponseLen < sizeof(EXT_CHIP)) + transfer_size = pext->ResponseLen; + else + transfer_size = sizeof(EXT_CHIP); + + copy_to_user((uint8_t *)pext->ResponseAdr, (uint8_t *)&tmp_isp, + transfer_size); + + pext->Status = EXT_STATUS_OK; + pext->DetailStatus = EXT_STATUS_OK; + + DEBUG9(printk("qla2x00_query_chip: exiting.\n");) + return ret; +} + +STATIC int +qla2x00_get_data(adapter_state_t *ha, EXT_IOCTL *pext, int mode) +{ + int tmp_rval = 0; + + switch(pext->SubCode) { + case EXT_SC_GET_STATISTICS: + tmp_rval = qla2x00_get_statistics(ha, pext, mode); + break; + + case EXT_SC_GET_FC_STATISTICS: + tmp_rval = qla2x00_get_fc_statistics(ha, pext, mode); + break; + + case EXT_SC_GET_PORT_SUMMARY: + tmp_rval = qla2x00_get_port_summary(ha, pext, mode); + break; + + case EXT_SC_QUERY_DRIVER: + tmp_rval = qla2x00_query_driver(ha, pext, mode); + break; + + case EXT_SC_QUERY_FW: + tmp_rval = qla2x00_query_fw(ha, pext, mode); + break; + + case EXT_SC_GET_RNID: + tmp_rval = qla2x00_get_rnid_params(ha, pext, mode); + break; + + default: + DEBUG10(printk("qla2x00_get_data: unknown SubCode %d.\n", + pext->SubCode);) + pext->Status = EXT_STATUS_UNSUPPORTED_SUBCODE; + tmp_rval = pext->Status; + break; + } + + return tmp_rval; +} + +/* + * qla2x00_get_statistics + * Issues get_link_status mbx cmd and returns statistics + * relavent to the specified adapter. + * + * Input: + * ha = pointer to adapter struct of the specified adapter. + * pext = pointer to EXT_IOCTL structure containing values from user. + * mode = not used. + * + * Returns: + * 0 = success + * + * Context: + * Kernel context. + */ +STATIC int +qla2x00_get_statistics(adapter_state_t *ha, EXT_IOCTL *pext, int mode) +{ + EXT_HBA_PORT_STAT tmp_stat; + int ret; + link_stat_t stat_buf; + uint8_t rval; + uint8_t *usr_temp, *kernel_tmp; + uint16_t mb_stat[1]; + uint32_t transfer_size; + + DEBUG9(printk("entered qla2x00_get_statistics function.\n");) + + ret = verify_area(VERIFY_WRITE, (void *)pext->ResponseAdr, + sizeof(EXT_HBA_PORT_STAT)); + if (ret) { + pext->Status = EXT_STATUS_COPY_ERR; + DEBUG9_10(printk("qla2x00_get_statistics(%ld): ERROR " + "VERIFY_WRITE EXT_HBA_PORT_STAT.\n", ha->instance);) + return pext->Status; + } + + /* check on loop down */ + if (ha->loop_state != LOOP_READY || + test_bit(CFG_ACTIVE, &ha->cfg_flags) || + (test_bit(ABORT_ISP_ACTIVE, &ha->dpc_flags)) || + ABORTS_ACTIVE || ha->dpc_active) { + + pext->Status = EXT_STATUS_BUSY; + DEBUG9_10(printk( + "qla2x00_get_statistics(%ld): loop not ready.\n", + ha->host_no);) + + return pext->Status; + } + + /* Send mailbox cmd to get more. */ + if ((rval = qla2x00_get_link_status(ha, ha->loop_id, &stat_buf, + mb_stat)) != QL_STATUS_SUCCESS) { + + if (rval == BIT_0) { + pext->Status = EXT_STATUS_NO_MEMORY; + } else if (rval == BIT_1) { + pext->Status = EXT_STATUS_MAILBOX; + pext->DetailStatus = EXT_DSTATUS_NOADNL_INFO; + } else { + pext->Status = EXT_STATUS_ERR; + } + + DEBUG9_10(printk("qla2x00_get_statistics(%ld): ERROR " + "mailbox failed. mb[0]=%x.\n", ha->instance, mb_stat[0]);) + printk(KERN_WARNING + "qla2x00_get_statistics(%ld): ERROR " + "mailbox failed. mb[0]=%x.\n", ha->instance, mb_stat[0]); + + return pext->Status; + } + + tmp_stat.ControllerErrorCount = ha->total_isp_aborts; + tmp_stat.DeviceErrorCount = ha->total_dev_errs; + tmp_stat.TotalIoCount = ha->total_ios; + tmp_stat.TotalMBytes = ha->total_bytes / (1024*1024); + tmp_stat.TotalLipResets = ha->total_lip_cnt; + /* + tmp_stat.TotalInterrupts = ha->total_isr_cnt; + */ + + tmp_stat.TotalLinkFailures = stat_buf.link_fail_cnt; + tmp_stat.TotalLossOfSync = stat_buf.loss_sync_cnt; + tmp_stat.TotalLossOfSignals = stat_buf.loss_sig_cnt; + tmp_stat.PrimitiveSeqProtocolErrorCount = stat_buf.prim_seq_err_cnt; + tmp_stat.InvalidTransmissionWordCount = stat_buf.inval_xmit_word_cnt; + tmp_stat.InvalidCRCCount = stat_buf.inval_crc_cnt; + + /* now copy up the STATISTICS to user */ + if (pext->ResponseLen < sizeof(EXT_HBA_PORT_STAT)) + transfer_size = pext->ResponseLen; + else + transfer_size = sizeof(EXT_HBA_PORT_STAT); + + + usr_temp = (uint8_t *)pext->ResponseAdr; + kernel_tmp = (uint8_t *)&tmp_stat; + copy_to_user(usr_temp, kernel_tmp, transfer_size); + + pext->Status = EXT_STATUS_OK; + pext->DetailStatus = EXT_STATUS_OK; + + DEBUG9(printk("finished qla2x00_get_statistics function.\n");) + + return pext->Status; +} + +/* + * qla2x00_get_fc_statistics + * Issues get_link_status mbx cmd to the target device with + * the specified WWN and returns statistics relavent to the + * device. + * + * Input: + * ha = pointer to adapter struct of the specified device. + * pext = pointer to EXT_IOCTL structure containing values from user. + * mode = not used. + * + * Returns: + * 0 = success + * + * Context: + * Kernel context. + */ +STATIC int +qla2x00_get_fc_statistics(adapter_state_t *ha, EXT_IOCTL *pext, int mode) +{ + EXT_HBA_PORT_STAT tmp_stat; + EXT_DEST_ADDR addr_struct; + int ret; + link_stat_t stat_buf; + uint8_t rval, tgt; + uint8_t *usr_temp, *kernel_tmp; + uint8_t *req_name; + uint16_t mb_stat[1]; + uint32_t transfer_size; + + DEBUG9(printk("entered qla2x00_get_fc_statistics function.\n");) + + ret = verify_area(VERIFY_WRITE, (void *)pext->ResponseAdr, + sizeof(EXT_HBA_PORT_STAT)); + if (ret) { + pext->Status = EXT_STATUS_COPY_ERR; + DEBUG9_10(printk("qla2x00_get_fc_statistics(%ld): ERROR " + "VERIFY_WRITE.\n", ha->instance);) + return pext->Status; + } + + rval = os_copyin((void*)(pext->RequestAdr), &addr_struct, + pext->RequestLen, 0); + if (rval != 0) { + pext->Status = EXT_STATUS_COPY_ERR; + return pext->Status; + } + + /* find the device's loop_id */ + switch (addr_struct.DestType) { + case EXT_DEF_DESTTYPE_WWPN: + req_name = addr_struct.DestAddr.WWPN; + for (tgt = 0; tgt < MAX_FIBRE_DEVICES; tgt++) { + if (BCMP(ha->fc_db[tgt].wwn, req_name, + EXT_DEF_WWN_NAME_SIZE) == 0) + break; + } + break; + + case EXT_DEF_DESTTYPE_WWNN: + case EXT_DEF_DESTTYPE_PORTID: + case EXT_DEF_DESTTYPE_FABRIC: + case EXT_DEF_DESTTYPE_SCSI: + default: + pext->Status = EXT_STATUS_INVALID_PARAM; + pext->DetailStatus = EXT_DSTATUS_NOADNL_INFO; + DEBUG9_10(printk("qla2x00_get_statistics(%ld): ERROR " + "Unsupported subcode address type.\n", ha->instance);) + return pext->Status; + + break; + } + + if (tgt == MAX_FIBRE_DEVICES) { + /* not found */ + pext->Status = EXT_STATUS_DEV_NOT_FOUND; + pext->DetailStatus = EXT_DSTATUS_TARGET; + return pext->Status; + } + + /* check for suspended/lost device */ + /* + if (ha->fcport is suspended/lost) { + pext->Status = EXT_STATUS_SUSPENDED; + pext->DetailStatus = EXT_DSTATUS_TARGET; + return pext->Status; + } + */ + + /* check on loop down */ + if (ha->loop_state != LOOP_READY || + test_bit(CFG_ACTIVE, &ha->cfg_flags) || + (test_bit(ABORT_ISP_ACTIVE, &ha->dpc_flags)) || + ABORTS_ACTIVE || ha->dpc_active) { + pext->Status = EXT_STATUS_BUSY; + DEBUG9_10(printk("qla2x00_get_fc_statistics(%ld): loop not " + "ready.\n", ha->host_no);) + return pext->Status; + } + + /* Send mailbox cmd to get more. */ + if ((rval = qla2x00_get_link_status(ha, ha->fc_db[tgt].loop_id, + &stat_buf, mb_stat)) != QL_STATUS_SUCCESS) { + if (rval == BIT_0) { + pext->Status = EXT_STATUS_NO_MEMORY; + } else if (rval == BIT_1) { + pext->Status = EXT_STATUS_MAILBOX; + pext->DetailStatus = EXT_DSTATUS_NOADNL_INFO; + } else { + pext->Status = EXT_STATUS_ERR; + } + + DEBUG9_10(printk("qla2x00_get_fc_statistics(%ld): ERROR " + "mailbox failed. mb[0]=%x.\n", ha->instance, mb_stat[0]);) + return pext->Status; + } + + tmp_stat.ControllerErrorCount = ha->total_isp_aborts; + tmp_stat.DeviceErrorCount = ha->total_dev_errs; + tmp_stat.TotalIoCount = ha->total_ios; + tmp_stat.TotalMBytes = ha->total_bytes / (1024*1024); + tmp_stat.TotalLipResets = ha->total_lip_cnt; + /* + tmp_stat.TotalInterrupts = ha->total_isr_cnt; + */ + + tmp_stat.TotalLinkFailures = stat_buf.link_fail_cnt; + tmp_stat.TotalLossOfSync = stat_buf.loss_sync_cnt; + tmp_stat.TotalLossOfSignals = stat_buf.loss_sig_cnt; + tmp_stat.PrimitiveSeqProtocolErrorCount = stat_buf.prim_seq_err_cnt; + tmp_stat.InvalidTransmissionWordCount = stat_buf.inval_xmit_word_cnt; + tmp_stat.InvalidCRCCount = stat_buf.inval_crc_cnt; + + /* now copy up the STATISTICS to user */ + if (pext->ResponseLen < sizeof(EXT_HBA_PORT_STAT)) + transfer_size = pext->ResponseLen; + else + transfer_size = sizeof(EXT_HBA_PORT_STAT); + + + usr_temp = (uint8_t *)pext->ResponseAdr; + kernel_tmp = (uint8_t *)&tmp_stat; + copy_to_user(usr_temp, kernel_tmp, transfer_size); + + pext->Status = EXT_STATUS_OK; + pext->DetailStatus = EXT_STATUS_OK; + + DEBUG9(printk("finished qla2x00_get_fc_statistics function.\n");) + + return pext->Status; +} + +STATIC int +qla2x00_get_port_summary(adapter_state_t *ha, EXT_IOCTL *pext, int mode) +{ + int ret = EXT_STATUS_OK; + uint8_t *usr_temp, *kernel_tmp; + uint32_t b; + uint32_t i, port_cnt, entry; + uint32_t number_of_entries = 0; + uint32_t tgt_cnt, transfer_size; + fc_port_t *fcport; + void *start_of_entry_list, *current_offset; + + static EXT_DEVICEDATA devicedata; + static EXT_DEVICEDATAENTRY dd_entry; + + DEBUG9(printk("qla2x00_get_port_summary: entered.\n");) + + port_cnt = 0; + tgt_cnt = 0; + BZERO(&devicedata, sizeof(EXT_DEVICEDATA)); + BZERO(&dd_entry, sizeof(EXT_DEVICEDATAENTRY)); + + for (fcport = ha->fcport; fcport != NULL; fcport = fcport->next) { + port_cnt++; + } + devicedata.TotalDevices = port_cnt; + + number_of_entries = pext->ResponseLen / sizeof(EXT_DEVICEDATAENTRY); + + /* we want the lesser of port_cnt and number_of_entries */ + if (number_of_entries > port_cnt) + number_of_entries = port_cnt; + devicedata.ReturnListEntryCount = number_of_entries; + + DEBUG9(printk("qla2x00_ioctl: EXT_SC_GET_PORT_SUMMARY port_cnt=%x, " + "return entry cnt=%x.\n", port_cnt, number_of_entries);) + + transfer_size = sizeof(devicedata.ReturnListEntryCount) + + sizeof(devicedata.TotalDevices); + + /* copy top of devicedata here */ + ret = verify_area(VERIFY_WRITE, (void *)(pext->ResponseAdr), + transfer_size); + if (ret) { + pext->Status = EXT_STATUS_COPY_ERR; + DEBUG9_10(printk( + "qla2x00_ioctl: ERROR verify WRITE rsp buf.\n");) + return pext->Status; + } + + usr_temp = (uint8_t *)pext->ResponseAdr; + kernel_tmp = (uint8_t *)&devicedata; + copy_to_user(usr_temp, kernel_tmp, transfer_size); + + start_of_entry_list = (void *)(pext->ResponseAdr) + transfer_size; + + for (entry = 0, fcport = ha->fcport; (entry < number_of_entries) && + (fcport); entry++, fcport = fcport->next) { + + /* copy from fc_db of this target (port) to dd_entry */ + + BCOPY(&fcport->node_name[0], &dd_entry.NodeWWN[0], 8); + BCOPY(&fcport->port_name[0], &dd_entry.PortWWN[0], 8); + + for (b = 0; b < 3 ; b++) + dd_entry.PortID[b] = fcport->d_id.r.d_id[2-b]; + + if (fcport->flags & FC_FABRIC_DEVICE) { + dd_entry.ControlFlags = EXT_DEF_GET_FABRIC_DEVICE; + } else { + dd_entry.ControlFlags = 0; + } + + dd_entry.TargetAddress.Bus = 0; + /* Retrieve 'Target' number for port via fc_db */ + for (i = 0; i < MAX_TARGETS; i++) { + if (ha->fc_db[i].loop_id == PORT_UNUSED) + continue; + + if (BCMP(&fcport->port_name[0], &ha->fc_db[i].wwn[0], + EXT_DEF_WWN_NAME_SIZE) == 0) { + dd_entry.TargetAddress.Target = i; + break; + } + } + dd_entry.TargetAddress.Lun = 0; + dd_entry.DeviceFlags = 0; + dd_entry.LoopID = fcport->loop_id; + dd_entry.BaseLunNumber = 0; + + current_offset = (void *)(entry * sizeof(EXT_DEVICEDATAENTRY)); + + transfer_size = sizeof(EXT_DEVICEDATAENTRY); + ret = verify_area(VERIFY_WRITE, + (void *)((start_of_entry_list + (u_long)current_offset)), + transfer_size); + + if (ret) { + pext->Status = EXT_STATUS_COPY_ERR; + DEBUG10(printk("qla2x00_ioctl: ERROR verify_area WRITE " + "ha=%8x\n",(uint32_t)ha);) + return pext->Status; + } + + /* now copy up this dd_entry to user */ + usr_temp = (uint8_t *)((u_long) start_of_entry_list + + (u_long)current_offset); + kernel_tmp = (uint8_t *)&dd_entry; + copy_to_user(usr_temp, kernel_tmp, transfer_size); + + } /* for number_of_entries */ + + pext->Status = EXT_STATUS_OK; + pext->DetailStatus = EXT_STATUS_OK; + + DEBUG9(printk("qla2x00_get_port_summary: exiting.\n");) + return pext->Status; +} + +STATIC int +qla2x00_query_driver(adapter_state_t *ha, EXT_IOCTL *pext, int mode) +{ + int ret = EINVAL; + uint8_t *usr_temp, *kernel_tmp; + uint32_t transfer_size; + EXT_DRIVER driver_prop; + + DEBUG9(printk("qla2x00_query_driver: entered.\n");) + + BZERO(&driver_prop, sizeof(EXT_DRIVER)); + + sprintf(driver_prop.Version, QLA2100_VERSION); + driver_prop.NumOfBus = MAX_BUSES; + driver_prop.TargetsPerBus = MAX_FIBRE_DEVICES; + driver_prop.LunsPerTarget = MAX_LUNS; + driver_prop.MaxTransferLen = 0xffffffff; + driver_prop.MaxDataSegments = 0xffffffff; + + if (ha->flags.enable_64bit_addressing == 1) + driver_prop.DmaBitAddresses = 64; + else + driver_prop.DmaBitAddresses = 32; + + if (pext->ResponseLen < sizeof(EXT_DRIVER)) + transfer_size = pext->ResponseLen; + else + transfer_size = sizeof(EXT_DRIVER); + + ret = verify_area(VERIFY_WRITE, (void *)pext->ResponseAdr , + transfer_size); + if (ret) { + pext->Status = EXT_STATUS_COPY_ERR; + DEBUG10(printk( + "qla2x00_query_driver: ERROR verify WRITE rsp buf.\n");) + return pext->Status; + } + + /* now copy up the ISP to user */ + usr_temp = (uint8_t *)pext->ResponseAdr; + kernel_tmp = (uint8_t *)&driver_prop; + copy_to_user(usr_temp, kernel_tmp, transfer_size); + + pext->Status = EXT_STATUS_OK; + pext->DetailStatus = EXT_STATUS_OK; + + DEBUG9(printk("qla2x00_query_driver: exiting.\n");) + + return pext->Status; +} + +STATIC int +qla2x00_query_fw(adapter_state_t *ha, EXT_IOCTL *pext, int mode) +{ + int ret = EINVAL; + qla_boards_t *bdp; + uint8_t *usr_temp, *kernel_tmp; + uint32_t transfer_size; + EXT_FW fw_prop; + + DEBUG9(printk("qla2x00_query_fw: entered.\n");) + + BZERO(&fw_prop, sizeof(EXT_FW)); + + bdp = &QLBoardTbl_fc[ha->devnum]; + fw_prop.Version[0] = bdp->fwver[0]; + fw_prop.Version[1] = bdp->fwver[1]; + fw_prop.Version[2] = bdp->fwver[2]; + + transfer_size = sizeof(EXT_FW); + + ret = verify_area(VERIFY_WRITE, (void *)pext->ResponseAdr , + transfer_size); + if (ret) { + pext->Status = EXT_STATUS_COPY_ERR; + DEBUG10(printk( + "qla2x00_query_fw: ERROR verify WRITE rsp buf.\n");) + return pext->Status; + } + + usr_temp = (uint8_t *)pext->ResponseAdr; + kernel_tmp = (uint8_t *)&fw_prop; + copy_to_user(usr_temp, kernel_tmp, transfer_size); + + pext->Status = EXT_STATUS_OK; + pext->DetailStatus = EXT_STATUS_OK; + + DEBUG9(printk("qla2x00_query_fw: exiting.\n");) + + return pext->Status; +} + +STATIC int +qla2x00_send_fcct(adapter_state_t *ha, EXT_IOCTL *pext, int mode) +{ + int ret = 0; + uint16_t mb[MAILBOX_REGISTER_COUNT]; + + static fc_lun_t temp_fclun; + fc_lun_t *fclun; + static fc_port_t tmp_fcport; + os_lun_t *lq; + os_tgt_t *tq; + + static Scsi_Cmnd scsi_cmd; + Scsi_Cmnd *pscsi_cmd = &scsi_cmd; + srb_t *sp = NULL; + + DEBUG9(printk("qla2x00_send_fcct(%ld): entered.\n", ha->host_no);) + + /* check on current topology */ + if ((ha->current_topology != ISP_CFG_F) && + (ha->current_topology != ISP_CFG_FL)) { + pext->Status = EXT_STATUS_DEV_NOT_FOUND; + DEBUG9_10(printk("qla2x00_send_fcct(%ld): ERROR not in F or FL" + "mode.\n",ha->host_no);) + return ret; + } + + if (ha->ioctl_mem_size <= 0) { + if (qla2x00_get_new_ioctl_dma_mem(ha, + QLA_INITIAL_IOCTLMEM_SIZE) != QL_STATUS_SUCCESS) { + + DEBUG9_10(printk("qla2x00_send_fcct: ERROR cannot " + "alloc DMA buffer size=%lx.\n", + QLA_INITIAL_IOCTLMEM_SIZE);) + + pext->Status = EXT_STATUS_NO_MEMORY; + return pext->Status; + } + } + + if (pext->ResponseLen > ha->ioctl_mem_size) { + if (qla2x00_get_new_ioctl_dma_mem(ha, pext->ResponseLen) != + QL_STATUS_SUCCESS) { + DEBUG9_10(printk("qla2x00_send_fcct: ERROR " + "cannot alloc requested" + "DMA buffer size %x.\n", + pext->ResponseLen);) + pext->Status = EXT_STATUS_NO_MEMORY; + return pext->Status; + } + + DEBUG9(printk("qla2x00_send_fcct(%ld): rsp buf length larger " + "than existing size. Additional" + "mem alloc successful.\n", + ha->host_no);) + } + + if (pext->RequestLen > ha->ioctl_mem_size) { + pext->Status = EXT_STATUS_INVALID_PARAM; + DEBUG9_10(printk("qla2x00_send_fcct(%ld): ERROR RequestLen" + "too big=%x.\n", + ha->host_no, pext->RequestLen);) + + return pext->Status; + } + + ret = verify_area(VERIFY_READ, (void *)pext->RequestAdr, + pext->RequestLen); + if (ret) { + pext->Status = EXT_STATUS_COPY_ERR; + DEBUG9_10(printk("qla2x00_send_fcct(%ld): ERROR" + "verify read request buf.\n", + ha->host_no);) + + return ret; + } + + DEBUG9(printk("qla2x00_send_fcct(%ld): req buf verified.\n", + ha->host_no);) + + if ((sp = qla2x00_get_new_sp(ha)) == NULL) { + + DEBUG9_10(printk("qla2x00_send_fcct: ERROR " + "cannot alloc sp %p.\n", sp);) + + pext->Status = EXT_STATUS_NO_MEMORY; + return pext->Status; + } + + DEBUG9(printk("qla2x00_send_fcct(%ld): after alloc sp.\n", + ha->host_no);) + + /* clear scsi_cmd to be used */ + BZERO(&scsi_cmd, sizeof(Scsi_Cmnd)); + BZERO(ha->ioctl_mem, ha->ioctl_mem_size); + + /* copy request buffer */ + copy_from_user((uint8_t *)ha->ioctl_mem, (uint8_t *)pext->RequestAdr, + pext->RequestLen); + + DEBUG9(printk("qla2x00_send_fcct(%ld): after copy request.\n", + ha->host_no);) + + /* setup sp for this command */ + tq = ha->ioctl->ioctl_tq; + lq = ha->ioctl->ioctl_lq; + sp->cmd = pscsi_cmd; + sp->flags = SRB_IOCTL; + sp->lun_queue = lq; + sp->tgt_queue = tq; + fclun = &temp_fclun; + fclun->fcport = &tmp_fcport; + fclun->lun = 0; + fclun->flags = 0; + fclun->next = NULL; + lq->fclun = fclun; + lq->fclun->fcport->ha = ha; + + /* init scsi_cmd */ + scsi_cmd.host = ha->host; + scsi_cmd.scsi_done = qla2x00_fcct_done; + + /* check on management server login status */ + if (ha->flags.management_server_logged_in == 0) { + /* login to management server device */ + + ret = qla2x00_login_fabric(ha, MANAGEMENT_SERVER, 0xff, 0xff, + 0xfa, &mb[0], BIT_1); + + if (ret != 0 || mb[0] != 0x4000) { + pext->Status = EXT_STATUS_DEV_NOT_FOUND; + + DEBUG10(printk("qla2x00_send_fcct(%ld): ERROR" + "login to MS.\n", + ha->host_no);) + atomic_set(&sp->ref_count, 0); + add_to_free_queue (ha, sp); + + return pext->Status; + } + + ha->flags.management_server_logged_in = 1; + } + + DEBUG9(printk("qla2x00_send_fcct(%ld): success login to MS.\n", + ha->host_no);) + + /* check on loop down */ + if (ha->loop_state != LOOP_READY || + test_bit(CFG_ACTIVE, &ha->cfg_flags) || + (test_bit(ABORT_ISP_ACTIVE, &ha->dpc_flags)) || + ABORTS_ACTIVE) { + + pext->Status = EXT_STATUS_BUSY; + DEBUG10(printk("qla2x00_send_fcct(%ld): loop not ready.\n", + ha->host_no);) + atomic_set(&sp->ref_count, 0); + add_to_free_queue (ha, sp); + + return pext->Status; + } + + DEBUG9(printk("qla2x00_send_fcct(%ld): going to issue command.\n", + ha->host_no);) + + ret = qla2x00_start_ms_cmd(ha, pext, sp); + + DEBUG9(printk("qla2x00_send_fcct(%ld): after issue command.\n", + ha->host_no);) + + if (ret != 0) { + /* We waited and post function did not get called */ + DEBUG9_10(printk("qla2x00_send_fcct(%ld): command timed out.\n", + ha->host_no);) + pext->Status = EXT_STATUS_MS_NO_RESPONSE; + atomic_set(&sp->ref_count, 0); + add_to_free_queue (ha, sp); + + return pext->Status; + } + + if (CMD_COMPL_STATUS(pscsi_cmd) != 0 || + CMD_ENTRY_STATUS(pscsi_cmd) != 0) { + DEBUG9_10(printk( + "qla2x00_send_fcct(%ld): command returned error=%x.\n", + ha->host_no, CMD_COMPL_STATUS(pscsi_cmd));) + pext->Status = EXT_STATUS_ERR; + return pext->Status; + } + + /* getting device data and putting in pext->ResponseAdr */ + ret = verify_area(VERIFY_WRITE, (void *)pext->ResponseAdr , + pext->ResponseLen); + if (ret) { + pext->Status = EXT_STATUS_COPY_ERR; + DEBUG9_10(printk("qla2x00_send_fcct(%ld): ERROR verify write " + "response buffer. ha=%x.\n", + ha->host_no, (uint32_t)ha);) + return ret; + } + + /* sending back data returned from Management Server */ + copy_to_user((uint8_t *)pext->ResponseAdr, + (uint8_t *)ha->ioctl_mem, pext->ResponseLen); + + DEBUG9(printk("qla2x00_send_fcct(%ld): exiting normally.\n", + ha->host_no);) + + return 0; +} + +STATIC int +qla2x00_start_ms_cmd(adapter_state_t *ha, EXT_IOCTL *pext, srb_t *sp) +{ + ms_iocb_entry_t *pkt; + unsigned long cpu_flags = 0; + + /* get spin lock for this operation */ + spin_lock_irqsave(&ha->hardware_lock, cpu_flags); + + /* Get MS request packet. */ + pkt = (ms_iocb_entry_t *)qla2x00_ms_req_pkt(ha, sp); + if (pkt == NULL) { + /* release spin lock and return error. */ + spin_unlock_irqrestore(&ha->hardware_lock, cpu_flags); + + pext->Status = EXT_STATUS_NO_MEMORY; + DEBUG10(printk("qla2x00_ioctl: FCCT_PASSTHRU - could not get " + "Request Packet.\n");) + return pext->Status; + } + + pkt->entry_type = MS_IOCB_TYPE; + pkt->entry_count = 1; + pkt->loop_id = MANAGEMENT_SERVER; + pkt->timeout = QLA_PT_CMD_TOV; + pkt->DSDcount = 1; + pkt->RespDSDcount = 2; + pkt->Response_bytecount = pext->ResponseLen; + pkt->Request_bytecount = pext->RequestLen; + + /* loading command payload address */ + pkt->dseg_req_address[0] = LS_64BITS(ha->ioctl_mem_phys); + pkt->dseg_req_address[1] = MS_64BITS(ha->ioctl_mem_phys); + pkt->dseg_req_length = pext->RequestLen; + + /* loading command response address */ + pkt->dseg_rsp_address[0] = LS_64BITS(ha->ioctl_mem_phys); + pkt->dseg_rsp_address[1] = MS_64BITS(ha->ioctl_mem_phys); + pkt->dseg_rsp_length = pext->ResponseLen; + + /* set flag to indicate IOCTL FCCT PassThru in progress */ + ha->ioctl->FCCT_InProgress = 1; + ha->ioctl->ioctl_tov = pkt->timeout + 1; /* 1 second more */ + + /* prepare for receiving completion. */ + qla2x00_ioctl_sem_init(ha); + + /* Issue command to ISP */ + qla2x00_isp_cmd(ha); + + ha->ioctl->cmpl_timer.expires = jiffies + ha->ioctl->ioctl_tov * HZ; + add_timer(&ha->ioctl->cmpl_timer); + + DEBUG9(printk("qla2x00_start_ms_cmd: releasing hardware_lock.\n");) + spin_unlock_irqrestore(&ha->hardware_lock, cpu_flags); + + DEBUG9(printk("qla2x00_start_ms_cmd: sleep for completion.\n");) + down(&ha->ioctl->cmpl_sem); + + del_timer(&ha->ioctl->cmpl_timer); + + if (ha->ioctl->FCCT_InProgress == 1) { + DEBUG9_10(printk("qla2x00_start_ms_cmd: timed out. exiting.\n");) + return 1; + } + + DEBUG9(printk("qla2x00_start_ms_cmd: done. exiting.\n");) + return 0; +} + +STATIC int +qla2x00_wwpn_to_scsiaddr(adapter_state_t *ha, EXT_IOCTL *pext, int mode) +{ + int rval; + fc_port_t *tgt_fcport; + os_tgt_t *tq; + uint8_t tmp_wwpn[EXT_DEF_WWN_NAME_SIZE]; + uint32_t b, tgt, l; + EXT_SCSI_ADDR tmp_addr; + + + DEBUG9(printk("qla2x00_wwpn_to_scsiaddr(%ld): entered.\n", + ha->host_no);) + + if (pext->RequestLen != EXT_DEF_WWN_NAME_SIZE || + pext->ResponseLen < sizeof(EXT_SCSI_ADDR)) { + /* error */ + DEBUG9_10(printk("qla2x00_wwpn_to_scsiaddr(%ld): invalid WWN " + "buffer size %d received.\n", + ha->host_no, pext->ResponseLen);) + pext->Status = EXT_STATUS_INVALID_PARAM; + + return pext->Status; + } + + rval = verify_area(VERIFY_READ, (void *)pext->RequestAdr, + pext->RequestLen); + if (rval) { + DEBUG9_10(printk("qla2x00_wwpn_to_scsiaddr(%ld): ERROR " + "VERIFY_READ request buf.\n", ha->host_no);) + pext->Status = EXT_STATUS_COPY_ERR; + return pext->Status; + } + + copy_from_user(&tmp_wwpn[0], (uint8_t *)pext->RequestAdr, + pext->RequestLen); + + tq = NULL; + for (tgt = 0; tgt < MAX_TARGETS; tgt++) { + if (ha->otgt[tgt] == NULL) { + continue; + } + + tq = ha->otgt[tgt]; + if (tq->vis_port == NULL) { + break; + } + + tgt_fcport = tq->vis_port; + if (BCMP(tmp_wwpn, tgt_fcport->port_name, + EXT_DEF_WWN_NAME_SIZE) == 0) { + break; + } + } + + if (tq == NULL || tgt >= MAX_TARGETS) { + DEBUG9_10(printk("qla2x00_query_disc_tgt: target dev not " + "found. tq=%x, tgt=%x.\n", + (unsigned int)tq, tgt);) + pext->Status = EXT_STATUS_DEV_NOT_FOUND; + return pext->Status; + } + + if (tq->vis_port == NULL) { /* dg 08/14/01 */ + DEBUG9_10(printk("qla2x00_query_disc_tgt: target port not " + "found. tq=%x, tgt=%x.\n", + (unsigned int)tq, tgt);) + pext->Status = EXT_STATUS_BUSY; + return pext->Status; + } + + /* Currently we only have bus 0 and no translation on LUN */ + b = 0; + l = 0; + + /* + * Return SCSI address. Currently no translation is done for + * LUN. + */ + tmp_addr.Bus = b; + tmp_addr.Target = tgt; + tmp_addr.Lun = l; + if (pext->ResponseLen > sizeof(EXT_SCSI_ADDR)) + pext->ResponseLen = sizeof(EXT_SCSI_ADDR); + + rval = verify_area(VERIFY_WRITE, (void *)pext->ResponseAdr, + pext->ResponseLen); + if (rval) { + pext->Status = EXT_STATUS_COPY_ERR; + DEBUG9_10(printk("qla2x00_wwpn_to_scsiaddr(%ld): ERROR " + "VERIFY_WRITE response buf.\n", ha->host_no);) + return pext->Status; + } + + copy_to_user((uint8_t *)pext->ResponseAdr, &tmp_addr, + pext->ResponseLen); + + DEBUG9(printk(KERN_INFO + "qla2x00_wwpn_to_scsiaddr: Found t%d l%d for %02x%02x%02x%02x" + "%02x%02x%02x%02x.\n", + tmp_addr.Target, tmp_addr.Lun, + tmp_wwpn[0], tmp_wwpn[1], tmp_wwpn[2], tmp_wwpn[3], + tmp_wwpn[4], tmp_wwpn[5], tmp_wwpn[6], tmp_wwpn[7]);) + + pext->Status = EXT_STATUS_OK; + + DEBUG9(printk("qla2x00_wwpn_to_scsiaddr(%ld): exiting.\n", + ha->host_no);) + + return pext->Status; +} + +STATIC int +qla2x00_scsi_passthru(adapter_state_t *ha, EXT_IOCTL *pext, int mode) +{ + int tmp_rval = 0; + + switch(pext->SubCode) { + case EXT_SC_SEND_SCSI_PASSTHRU: + tmp_rval = qla2x00_sc_scsi_passthru(ha, pext, mode); + break; + case EXT_SC_SEND_FC_SCSI_PASSTHRU: + tmp_rval = qla2x00_sc_fc_scsi_passthru(ha, pext, mode); + break; + case EXT_SC_SCSI3_PASSTHRU: + tmp_rval = qla2x00_sc_scsi3_passthru(ha, pext, mode); + break; + default: + break; + } + + return tmp_rval; +} + +STATIC int +qla2x00_sc_scsi_passthru(adapter_state_t *ha, EXT_IOCTL *pext, int mode) +{ + int ret = 0; + uint8_t *usr_temp, *kernel_tmp; + uint8_t scsi_direction; + uint32_t i; + +#ifdef QL_DEBUG_LEVEL_9 + uint32_t b, t, l; +#endif + uint32_t transfer_len; + + static EXT_SCSI_PASSTHRU scsi_pass; + EXT_SCSI_PASSTHRU *pscsi_pass = &scsi_pass; + + static Scsi_Cmnd scsi_cmd; + Scsi_Cmnd *pscsi_cmd = &scsi_cmd; + static Scsi_Device scsi_device; + + DEBUG9(printk("qla2x00_sc_scsi_passthru: entered.\n");) + + /* clear scsi_cmd and scsi_device to be used */ + BZERO(pscsi_cmd, sizeof(Scsi_Cmnd)); + BZERO(&scsi_device, sizeof(Scsi_Device)); + BZERO(ha->ioctl_mem, ha->ioctl_mem_size); + + ret = verify_area(VERIFY_READ, (void *)pext->RequestAdr, + sizeof(EXT_SCSI_PASSTHRU)); + if (ret) { + pext->Status = EXT_STATUS_COPY_ERR; + DEBUG9_10(printk("qla2x00_sc_scsi_passthru: ERROR verify READ " + "SCSI_PASSTHRU.\n");) + return ret; + } + + if (pext->ResponseLen > ha->ioctl_mem_size) { + if (qla2x00_get_new_ioctl_dma_mem(ha, pext->ResponseLen) != + QL_STATUS_SUCCESS) { + DEBUG9_10(printk("qla2x00_sc_scsi_passthru: ERROR " + "cannot alloc requested" + "DMA buffer size %x.\n", + pext->ResponseLen);) + pext->Status = EXT_STATUS_NO_MEMORY; + return pext->Status; + } + } + + /* Copy request buffer */ + usr_temp = (uint8_t *)pext->RequestAdr; + kernel_tmp = (uint8_t *)pscsi_pass; + copy_from_user(kernel_tmp, usr_temp, sizeof(EXT_SCSI_PASSTHRU)); + + /* set target coordinates */ + scsi_cmd.target = pscsi_pass->TargetAddr.Target; + scsi_cmd.lun = pscsi_pass->TargetAddr.Lun; + + /* Verify target exists */ + if (TGT_Q(ha, scsi_cmd.target) == NULL) { + pext->Status = EXT_STATUS_DEV_NOT_FOUND; + return pext->Status; + } + + /* Copy over cdb */ + + if (pscsi_pass->CdbLength == 6) { + scsi_cmd.cmd_len = 6; + + } else if (pscsi_pass->CdbLength == 10) { + scsi_cmd.cmd_len = 0x0A; + + } else if (pscsi_pass->CdbLength == 12) { + scsi_cmd.cmd_len = 0x0C; + + } else { + printk(KERN_WARNING + "qla2x00_sc_scsi_passthru: Unsupported Cdb Length=%x.\n", + pscsi_pass->CdbLength); + pext->Status = EXT_STATUS_INVALID_PARAM; + return pext->Status; + } + + BCOPY(pscsi_pass->Cdb, scsi_cmd.data_cmnd, scsi_cmd.cmd_len); + BCOPY(pscsi_pass->Cdb, scsi_cmd.cmnd, scsi_cmd.cmd_len); + + DEBUG9(printk("Dump of cdb buffer:\n");) + DEBUG9(qla2x00_dump_buffer((uint8_t *)&scsi_cmd.data_cmnd[0], + scsi_cmd.cmd_len);) + + pscsi_cmd->host = ha->host; + + /* mark this as a special delivery and collection command */ + scsi_cmd.flags = 0; + scsi_cmd.scsi_done = qla2x00_scsi_pt_done; + + scsi_cmd.device = &scsi_device; + scsi_cmd.device->tagged_queue = 0; + scsi_cmd.use_sg = 0; /* no ScatterGather */ + scsi_cmd.request_bufflen = pext->ResponseLen; + scsi_cmd.request_buffer = ha->ioctl_mem; + scsi_cmd.timeout_per_command = QLA_PT_CMD_TOV * HZ; + CMD_RESID_LEN(pscsi_cmd) = SRB_IOCTL; /* Used to set sp->flags later */ + + if (pscsi_pass->Direction == EXT_DEF_SCSI_PASSTHRU_DATA_OUT) { + /* sending user data from pext->ResponseAdr to device */ + ret = verify_area(VERIFY_READ, (void *)pext->ResponseAdr, + pext->ResponseLen); + if (ret) { + pext->Status = EXT_STATUS_COPY_ERR; + DEBUG9_10(printk("qla2x00_sc_scsi_passthru: ERROR " + "verify READ SCSI_PASSTHRU.\n");) + return pext->Status; + } + + scsi_cmd.sc_data_direction = SCSI_DATA_WRITE; + usr_temp = (uint8_t *)pext->ResponseAdr; + kernel_tmp = (uint8_t *)ha->ioctl_mem; + copy_from_user(kernel_tmp, usr_temp, pext->ResponseLen); + } else { + scsi_cmd.sc_data_direction = SCSI_DATA_READ; + } + + DEBUG9({ + b = SCSI_BUS_32(pscsi_cmd); + t = SCSI_TCN_32(pscsi_cmd); + l = SCSI_LUN_32(pscsi_cmd); + }) + DEBUG9(printk("qla2x00_sc_scsi_passthru: CDB=%02x %02x %02x %02x; " + "b=%x t=%x l=%x.\n", + scsi_cmd.cmnd[0], scsi_cmd.cmnd[1], scsi_cmd.cmnd[2], + scsi_cmd.cmnd[3], b, t, l);) + + /* + * Check the status of the port + */ + if (qla2x00_check_tgt_status(ha, pscsi_cmd) != QL_STATUS_SUCCESS) { + pext->Status = EXT_STATUS_DEV_NOT_FOUND; + return pext->Status; + } + + /* set flag to indicate IOCTL SCSI PassThru in progress */ + ha->ioctl->SCSIPT_InProgress = 1; + ha->ioctl->ioctl_tov = (int)QLA_PT_CMD_TOV + 1; + + /* prepare for receiving completion. */ + qla2x00_ioctl_sem_init(ha); + CMD_COMPL_STATUS(pscsi_cmd) = (int) IOCTL_INVALID_STATUS; + + /* send command to adapter */ + DEBUG9(printk("qla2x00_sc_scsi_passthru(%ld): sending command.\n", + ha->host_no);) + + /* get spin lock for this operation */ + spin_lock_irqsave(&io_request_lock, ha->cpu_flags); + + qla2x00_queuecommand(pscsi_cmd, (void *) qla2x00_scsi_pt_done); + + ha->ioctl->cmpl_timer.expires = jiffies + ha->ioctl->ioctl_tov * HZ; + add_timer(&ha->ioctl->cmpl_timer); + + spin_unlock_irqrestore(&io_request_lock, ha->cpu_flags); + down(&ha->ioctl->cmpl_sem); + + del_timer(&ha->ioctl->cmpl_timer); + + if (ha->ioctl->SCSIPT_InProgress == 1) { + + printk(KERN_WARNING + "qla2x00: scsi%ld ERROR passthru command timeout.\n", + ha->host_no); + + pext->Status = EXT_STATUS_DEV_NOT_FOUND; + return EXT_STATUS_ERR; + } + + if (CMD_COMPL_STATUS(pscsi_cmd) == (int)IOCTL_INVALID_STATUS) { + + DEBUG9(printk("qla2x00_sc_scsi_passthru(%ld): ERROR - " + "command not completed.\n", + ha->host_no);) + + pext->Status = EXT_STATUS_ERR; + return EXT_STATUS_ERR; + } + + switch (CMD_COMPL_STATUS(pscsi_cmd)) { + case CS_INCOMPLETE: + case CS_ABORTED: + case CS_PORT_UNAVAILABLE: + case CS_PORT_LOGGED_OUT: + case CS_PORT_CONFIG_CHG: + case CS_PORT_BUSY: + DEBUG10(printk("qla2x00_sc_scsi_passthru: cs err = %x.\n", + CMD_COMPL_STATUS(pscsi_cmd));) + ret = EXT_STATUS_ERR; + pext->Status = EXT_STATUS_BUSY; + + return ret; + } + + if ((CMD_COMPL_STATUS(pscsi_cmd) == CS_DATA_UNDERRUN) || + (CMD_SCSI_STATUS(pscsi_cmd) != 0)) { + + /* have done the post function */ + pext->Status = EXT_STATUS_SCSI_STATUS; + pext->DetailStatus = CMD_SCSI_STATUS(pscsi_cmd); + DEBUG9_10(printk("qla2x00_sc_scsi_passthru: data underrun or " + "scsi err. host status =0x%x, scsi status = 0x%x.\n", + CMD_COMPL_STATUS(pscsi_cmd), CMD_SCSI_STATUS(pscsi_cmd));) + + } else if (CMD_COMPL_STATUS(pscsi_cmd) != 0) { + DEBUG9_10(printk("qla2x00_sc_scsi_passthru: cs err = %x. " + "copying ext stat %x\n", + CMD_COMPL_STATUS(pscsi_cmd), pext->Status);) + return pext->Status; + } + + /* copy up structure to make sense data available to user */ + pscsi_pass->SenseLength = CMD_ACTUAL_SNSLEN(pscsi_cmd); + if (CMD_ACTUAL_SNSLEN(pscsi_cmd)) { + for (i = 0; i < CMD_ACTUAL_SNSLEN(pscsi_cmd); i++) + pscsi_pass->SenseData[i] = pscsi_cmd->sense_buffer[i]; + + ret = verify_area(VERIFY_WRITE, (void *)pext->RequestAdr, + sizeof(EXT_SCSI_PASSTHRU)); + if (ret) { + pext->Status = EXT_STATUS_COPY_ERR; + DEBUG9_10(printk("qla2x00_sc_scsi_passthru: ERROR " + "verify WRITE FC_SCSI_PASSTHRU]\n");) + return ret; + } + + usr_temp = (uint8_t *)pext->RequestAdr + i; + kernel_tmp = (uint8_t *)pscsi_pass + i; + copy_to_user(usr_temp, kernel_tmp, sizeof(EXT_SCSI_PASSTHRU)); + } + + scsi_direction = pscsi_pass->Direction; + + if (scsi_direction == EXT_DEF_SCSI_PASSTHRU_DATA_IN) { + DEBUG9(printk("qla2x00_sc_scsi_passthru: copying data.\n");) + + /* getting device data and putting in pext->ResponseAdr */ + ret = verify_area(VERIFY_WRITE, (void *)pext->ResponseAdr , + pext->ResponseLen); + if (ret) { + pext->Status = EXT_STATUS_COPY_ERR; + DEBUG9_10(printk("qla2x00_sc_scsi_passthru: ERROR " + "verify write ResponseAdr.\n");) + return ret; + } + + /* now copy up the READ data to user */ + if ((CMD_COMPL_STATUS(pscsi_cmd) == CS_DATA_UNDERRUN) && + (CMD_RESID_LEN(pscsi_cmd))) { + + transfer_len = pext->ResponseLen - + CMD_RESID_LEN(pscsi_cmd); + + pext->ResponseLen = transfer_len; + } else { + transfer_len = pext->ResponseLen; + } + + usr_temp = (uint8_t *)pext->ResponseAdr; + kernel_tmp = (uint8_t *)ha->ioctl_mem; + copy_to_user(usr_temp, kernel_tmp, transfer_len); + } + + DEBUG9(printk("qla2x00_sc_scsi_passthru: exiting.\n");) + return ret; +} + +STATIC int +qla2x00_sc_fc_scsi_passthru(adapter_state_t *ha, EXT_IOCTL *pext, int mode) +{ + int ret = 0; + fc_lun_t temp_fclun; + fc_lun_t *fclun = NULL; + fc_port_t *fcport; + os_lun_t *lq; + os_tgt_t *tq; + srb_t *sp = NULL; + uint8_t *usr_temp, *kernel_tmp; + uint32_t i; + +#ifdef QL_DEBUG_LEVEL_9 + uint32_t b, t, l; +#endif + uint32_t transfer_len; + uint8_t scsi_direction; + + static EXT_FC_SCSI_PASSTHRU fc_scsi_pass; + EXT_FC_SCSI_PASSTHRU *pfc_scsi_pass = &fc_scsi_pass; + + static Scsi_Cmnd fc_scsi_cmd; + Scsi_Cmnd *pfc_scsi_cmd = &fc_scsi_cmd; + static Scsi_Device fc_scsi_device; + + DEBUG9(printk("qla2x00_fc_scsi_passthru: entered.\n");) + + if ((sp = qla2x00_get_new_sp(ha)) == NULL) { + + DEBUG9_10(printk("qla2x00_fc_scsi_passthru: ERROR " + "cannot alloc sp %p.\n", sp);) + + pext->Status = EXT_STATUS_NO_MEMORY; + return pext->Status; + } + + /* clear ioctl_sp and fc_scsi_cmd and fc_scsi_device to be used */ + BZERO(pfc_scsi_cmd, sizeof(Scsi_Cmnd)); + BZERO(&fc_scsi_device, sizeof(Scsi_Device)); + BZERO(ha->ioctl_mem, ha->ioctl_mem_size); + + ret = verify_area(VERIFY_READ, (void *)pext->RequestAdr, + sizeof(EXT_FC_SCSI_PASSTHRU)); + if (ret) { + pext->Status = EXT_STATUS_COPY_ERR; + DEBUG9_10(printk("qla2x00_fc_scsi_passthru: ERROR verify READ " + "SCSI_FC_PASSTHRU.\n");) + atomic_set(&sp->ref_count, 0); + add_to_free_queue (ha, sp); + + return ret; + } + + if (pext->ResponseLen > ha->ioctl_mem_size) { + if (qla2x00_get_new_ioctl_dma_mem(ha, pext->ResponseLen) != + QL_STATUS_SUCCESS) { + + DEBUG9_10(printk("qla2x00_fc_scsi_passthru: ERROR " + "cannot alloc requested DMA buffer size %x.\n", + pext->ResponseLen);) + + pext->Status = EXT_STATUS_NO_MEMORY; + atomic_set(&sp->ref_count, 0); + add_to_free_queue (ha, sp); + return pext->Status; + } + } + + /* Copy request buffer */ + usr_temp = (uint8_t *)pext->RequestAdr; + kernel_tmp = (uint8_t *)pfc_scsi_pass; + copy_from_user(kernel_tmp, usr_temp, sizeof(EXT_FC_SCSI_PASSTHRU)); + + if (fc_scsi_pass.FCScsiAddr.DestType != EXT_DEF_DESTTYPE_WWPN) { + pext->Status = EXT_STATUS_DEV_NOT_FOUND; + DEBUG9_10(printk("qla2x00_fc_scsi_passthru: ERROR - " + "wrong Dest type. \n");) + ret = EXT_STATUS_ERR; + atomic_set(&sp->ref_count, 0); + add_to_free_queue (ha, sp); + return ret; + } + + fclun = NULL; + for (fcport = ha->fcport; (fcport); fcport = fcport->next) { + if (memcmp(fcport->port_name, + pfc_scsi_pass->FCScsiAddr.DestAddr.WWPN, 8) != 0) { + continue; + + } + + for (fclun = fcport->fclun; fclun; fclun = fclun->next) { + if (fclun->lun == fc_scsi_pass.FCScsiAddr.Lun) { + /* Found the right LUN */ + break; + } + } + break; + } + + if (fcport == NULL) { + pext->Status = EXT_STATUS_DEV_NOT_FOUND; + DEBUG9_10(printk("qla2x00_fc_scsi_passthru: FC AddrFormat - " + "DID NOT FIND Port for WWPN.\n");) + atomic_set(&sp->ref_count, 0); + add_to_free_queue (ha, sp); + return pext->Status; + } + + /* v5.21b9 - use a temporary fclun */ + if (fclun == NULL) { + fclun = &temp_fclun; + fclun->fcport = fcport; + fclun->lun = fc_scsi_pass.FCScsiAddr.Lun; + fclun->flags = 0; + fclun->next = NULL; + } + + /* set target coordinates */ + fc_scsi_cmd.target = 0xff; /* not used. just put something there. */ + fc_scsi_cmd.lun = fc_scsi_pass.FCScsiAddr.Lun; + + DEBUG9(printk("qla2x00_fc_scsi_passthru: cmd for loopid=%04x L=%04x " + "WWPN=%02x%02x%02x%02x%02x%02x%02x%02x.\n", + fclun->fcport->loop_id, fc_scsi_cmd.lun, + pfc_scsi_pass->FCScsiAddr.DestAddr.WWPN[0], + pfc_scsi_pass->FCScsiAddr.DestAddr.WWPN[1], + pfc_scsi_pass->FCScsiAddr.DestAddr.WWPN[2], + pfc_scsi_pass->FCScsiAddr.DestAddr.WWPN[3], + pfc_scsi_pass->FCScsiAddr.DestAddr.WWPN[4], + pfc_scsi_pass->FCScsiAddr.DestAddr.WWPN[5], + pfc_scsi_pass->FCScsiAddr.DestAddr.WWPN[6], + pfc_scsi_pass->FCScsiAddr.DestAddr.WWPN[7]);) + + if (pfc_scsi_pass->CdbLength == 6) { + sp->cmd_length = 6; + fc_scsi_cmd.cmd_len = 6; + + } else if (pfc_scsi_pass->CdbLength == 0x0A) { + sp->cmd_length = 0x0A; + fc_scsi_cmd.cmd_len = 0x0A; + + } else if (pfc_scsi_pass->CdbLength == 0x0C) { + sp->cmd_length = 0x0C; + fc_scsi_cmd.cmd_len = 0x0C; + + } else if (pfc_scsi_pass->CdbLength == 0x10) { + sp->cmd_length = 0x10; + fc_scsi_cmd.cmd_len = 0x0C; + + sp->more_cdb[0] = pfc_scsi_pass->Cdb[12]; + sp->more_cdb[1] = pfc_scsi_pass->Cdb[13]; + sp->more_cdb[2] = pfc_scsi_pass->Cdb[14]; + sp->more_cdb[3] = pfc_scsi_pass->Cdb[15]; + + } else { + printk(KERN_WARNING + "qla2x00_ioctl: FC_SCSI_PASSTHRU Unknown Cdb Length=%x.\n", + pfc_scsi_pass->CdbLength); + pext->Status = EXT_STATUS_INVALID_PARAM; + atomic_set(&sp->ref_count, 0); + add_to_free_queue (ha, sp); + + return pext->Status; + } + + BCOPY(pfc_scsi_pass->Cdb, fc_scsi_cmd.data_cmnd, fc_scsi_cmd.cmd_len); + BCOPY(pfc_scsi_pass->Cdb, fc_scsi_cmd.cmnd, fc_scsi_cmd.cmd_len); + + DEBUG9(printk("Dump of cdb buffer:\n");) + DEBUG9(qla2x00_dump_buffer((uint8_t *)&fc_scsi_cmd.data_cmnd[0], 16);) + + pfc_scsi_cmd->host = ha->host; + sp->ha = ha; + sp->cmd = pfc_scsi_cmd; + sp->flags = SRB_IOCTL; + + /* set local fc_scsi_cmd's sp pointer to sp */ + CMD_SP(pfc_scsi_cmd) = (void *) sp; + + /* mark this as a special delivery and collection command */ + fc_scsi_cmd.flags = 0; + fc_scsi_cmd.scsi_done = qla2x00_scsi_pt_done; + + fc_scsi_cmd.device = &fc_scsi_device; + fc_scsi_cmd.device->tagged_queue = 0; + fc_scsi_cmd.use_sg = 0; /* no ScatterGather */ + fc_scsi_cmd.request_bufflen = pext->ResponseLen; + fc_scsi_cmd.request_buffer = ha->ioctl_mem; + fc_scsi_cmd.timeout_per_command = QLA_PT_CMD_TOV * HZ; + + if (pfc_scsi_pass->Direction == EXT_DEF_SCSI_PASSTHRU_DATA_OUT) { + /* sending user data from pext->ResponseAdr to device */ + ret = verify_area(VERIFY_READ, (void *)pext->ResponseAdr, + pext->ResponseLen); + if (ret) { + pext->Status = EXT_STATUS_COPY_ERR; + DEBUG9_10(printk("qla2x00_fc_scsi_passthru: ERROR " + "verify read ResponseAdr.\n");) + atomic_set(&sp->ref_count, 0); + add_to_free_queue (ha, sp); + + return pext->Status; + } + + fc_scsi_cmd.sc_data_direction = SCSI_DATA_WRITE; + usr_temp = (uint8_t *)pext->ResponseAdr; + kernel_tmp = (uint8_t *)ha->ioctl_mem; + copy_from_user(kernel_tmp, usr_temp, pext->ResponseLen); + } else { + fc_scsi_cmd.sc_data_direction = SCSI_DATA_READ; + } + + tq = ha->ioctl->ioctl_tq; + lq = ha->ioctl->ioctl_lq; + + if (fclun && tq && lq ) { + tq->olun[fclun->lun] = lq; + tq->ha = ha; + + lq->fclun = fclun; + fcport = fclun->fcport; + + sp->lun_queue = lq; + sp->tgt_queue = tq; + sp->fclun = fclun; + } + + DEBUG9({ + b = SCSI_BUS_32(pfc_scsi_cmd); + t = SCSI_TCN_32(pfc_scsi_cmd); + l = SCSI_LUN_32(pfc_scsi_cmd); + }) + DEBUG9(printk("qla2x00_sc_scsi_passthru: ha instance=%ld tq=%p lq=%p " + "fclun=%p.\n", + ha->instance, tq, lq, fclun);) + DEBUG9(printk("qla2x00_sc_scsi_passthru: CDB=%02x %02x %02x %02x; " + "b=%x t=%x l=%x.\n", + fc_scsi_cmd.cmnd[0], fc_scsi_cmd.cmnd[1], fc_scsi_cmd.cmnd[2], + fc_scsi_cmd.cmnd[3], b, t, l);) + + /* + * Check the status of the port + */ + if (qla2x00_check_port_status(ha, fcport) != QL_STATUS_SUCCESS) { + pext->Status = EXT_STATUS_DEV_NOT_FOUND; + atomic_set(&sp->ref_count, 0); + add_to_free_queue (ha, sp); + return pext->Status; + } + + /* set flag to indicate IOCTL SCSI PassThru in progress */ + ha->ioctl->SCSIPT_InProgress = 1; + ha->ioctl->ioctl_tov = (int)QLA_PT_CMD_TOV + 1; + + /* prepare for receiving completion. */ + qla2x00_ioctl_sem_init(ha); + CMD_COMPL_STATUS(pfc_scsi_cmd) = (int) IOCTL_INVALID_STATUS; + + /* send command to adapter */ + DEBUG9(printk("qla2x00_fc_scsi_passthru(%ld): sending command.\n", + ha->host_no);) + + add_to_pending_queue(ha, sp); + + qla2x00_next(ha); + + ha->ioctl->cmpl_timer.expires = jiffies + ha->ioctl->ioctl_tov * HZ; + add_timer(&ha->ioctl->cmpl_timer); + + down(&ha->ioctl->cmpl_sem); + + del_timer(&ha->ioctl->cmpl_timer); + + if (ha->ioctl->SCSIPT_InProgress == 1) { + + printk(KERN_WARNING + "qla2x00: scsi%ld ERROR passthru command timeout.\n", + ha->host_no); + + pext->Status = EXT_STATUS_DEV_NOT_FOUND; + atomic_set(&sp->ref_count, 0); + add_to_free_queue (ha, sp); + return EXT_STATUS_ERR; + } + + if (CMD_COMPL_STATUS(pfc_scsi_cmd) == (int)IOCTL_INVALID_STATUS) { + + DEBUG9(printk("qla2x00_fc_scsi_passthru(%ld): ERROR. " + "command not completed.\n", ha->host_no);) + + pext->Status = EXT_STATUS_ERR; + atomic_set(&sp->ref_count, 0); + add_to_free_queue (ha, sp); + return EXT_STATUS_ERR; + } + + switch (CMD_COMPL_STATUS(pfc_scsi_cmd)) { + case CS_INCOMPLETE: + case CS_ABORTED: + case CS_PORT_UNAVAILABLE: + case CS_PORT_LOGGED_OUT: + case CS_PORT_CONFIG_CHG: + case CS_PORT_BUSY: + DEBUG10(printk("qla2x00_fc_scsi_passthru: cs err = %x.\n", + CMD_COMPL_STATUS(pfc_scsi_cmd));) + ret = EXT_STATUS_ERR; + pext->Status = EXT_STATUS_BUSY; + break; + } + + if ((CMD_COMPL_STATUS(pfc_scsi_cmd) == CS_DATA_UNDERRUN) || + (CMD_SCSI_STATUS(pfc_scsi_cmd) != 0)) { + + /* have done the post function */ + pext->Status = EXT_STATUS_SCSI_STATUS; + /* The SDMAPI is only concerned with the low-order byte */ + pext->DetailStatus = CMD_SCSI_STATUS(pfc_scsi_cmd) & 0xff; + + DEBUG9_10(printk("qla2x00_fc_scsi_passthru: data underrun or " + "scsi err. host status =0x%x, scsi status = 0x%x.\n", + CMD_COMPL_STATUS(pfc_scsi_cmd), + CMD_SCSI_STATUS(pfc_scsi_cmd));) + + } else if (CMD_COMPL_STATUS(pfc_scsi_cmd) != 0) { + DEBUG9_10(printk("qla2x00_fc_scsi_passthru: cs err = %x. " + "copying ext stat %x\n", + CMD_COMPL_STATUS(pfc_scsi_cmd), pext->Status);) + + return pext->Status; + } + + /* Process completed command */ + DEBUG9(printk("qla2x00_fc_scsi_passthru: complete. host status =0x%x, " + "scsi status = 0x%x.\n", + CMD_COMPL_STATUS(pfc_scsi_cmd), CMD_SCSI_STATUS(pfc_scsi_cmd));) + + /* copy up structure to make sense data available to user */ + pfc_scsi_pass->SenseLength = CMD_ACTUAL_SNSLEN(pfc_scsi_cmd); + if (CMD_ACTUAL_SNSLEN(pfc_scsi_cmd)) { + DEBUG9_10(printk("qla2x00_fc_scsi_passthru: sense[0]=%x " + "sense[2]=%x.\n", + pfc_scsi_cmd->sense_buffer[0], + pfc_scsi_cmd->sense_buffer[2]);) + + for (i = 0; i < CMD_ACTUAL_SNSLEN(pfc_scsi_cmd); i++) { + pfc_scsi_pass->SenseData[i] = + pfc_scsi_cmd->sense_buffer[i]; + } + + ret = verify_area(VERIFY_WRITE, (void *)pext->RequestAdr, + sizeof(EXT_FC_SCSI_PASSTHRU)); + if (ret) { + pext->Status = EXT_STATUS_COPY_ERR; + DEBUG9_10(printk("qla2x00_fc_scsi_passthru: ERROR " + "verify WRITE RequestAdr.\n");) + return ret; + } + + usr_temp = (uint8_t *)pext->RequestAdr; + kernel_tmp = (uint8_t *)pfc_scsi_pass; + copy_to_user(usr_temp, kernel_tmp, sizeof(EXT_FC_SCSI_PASSTHRU)); + } + + scsi_direction = pfc_scsi_pass->Direction; + + if (scsi_direction == EXT_DEF_SCSI_PASSTHRU_DATA_IN) { + + DEBUG9(printk("qla2x00_fc_scsi_passthru: copying data.\n");) + + /* getting device data and putting in pext->ResponseAdr */ + ret = verify_area(VERIFY_WRITE, (void *)pext->ResponseAdr, + pext->ResponseLen); + if (ret) { + pext->Status = EXT_STATUS_COPY_ERR; + + DEBUG9_10(printk("qla2x00_fc_scsi_passthru: ERROR " + "verify write ResponseAdr.\n");) + + return ret; + } + + /* now copy up the READ data to user */ + if ((CMD_COMPL_STATUS(pfc_scsi_cmd) == CS_DATA_UNDERRUN) && + (CMD_RESID_LEN(pfc_scsi_cmd))) { + + transfer_len = pext->ResponseLen - + CMD_RESID_LEN(pfc_scsi_cmd); + + pext->ResponseLen = transfer_len; + } else { + transfer_len = pext->ResponseLen; + } + + usr_temp = (uint8_t *)pext->ResponseAdr; + kernel_tmp = (uint8_t *)ha->ioctl_mem; + copy_to_user(usr_temp, kernel_tmp, transfer_len); + } + + return ret; +} + +STATIC int +qla2x00_sc_scsi3_passthru(adapter_state_t *ha, EXT_IOCTL *pext, int mode) +{ +#define MAX_SCSI3_CDB_LEN 16 + + int ret = 0; + fc_lun_t temp_fclun; + fc_lun_t *fclun = NULL; + fc_port_t *fcport; + os_lun_t *lq; + os_tgt_t *tq; + srb_t *sp = NULL; + uint8_t *usr_temp, *kernel_tmp; + uint32_t transfer_len; + uint32_t i, b, t; + uint32_t scsi_direction; + + static EXT_FC_SCSI_PASSTHRU fc_scsi_pass; + EXT_FC_SCSI_PASSTHRU *pfc_scsi_pass = &fc_scsi_pass; + + static Scsi_Cmnd scsi3_cmd; + Scsi_Cmnd *pscsi3_cmd = &scsi3_cmd; + static Scsi_Device scsi3_device; + + + DEBUG9(printk("qla2x00_scsi3_passthru: entered.\n");) + + if ((sp = qla2x00_get_new_sp(ha)) == NULL) { + + DEBUG9_10(printk("qla2x00_scsi3_passthru: ERROR " + "cannot alloc sp %p.\n", sp);) + + pext->Status = EXT_STATUS_NO_MEMORY; + return pext->Status; + } + + /* clear ioctl_sp and scsi3_cmd and scsi3_device to be used */ + BZERO(pscsi3_cmd, sizeof(Scsi_Cmnd)); + BZERO(&scsi3_device, sizeof(Scsi_Device)); + BZERO(ha->ioctl_mem, ha->ioctl_mem_size); + + ret = verify_area(VERIFY_READ, (void *)pext->RequestAdr, + sizeof(EXT_FC_SCSI_PASSTHRU)); + if (ret) { + pext->Status = EXT_STATUS_COPY_ERR; + DEBUG9_10(printk("qla2x00_scsi3_passthru: ERROR verify READ " + "SCSI_FC_PASSTHRU.\n");) + atomic_set(&sp->ref_count, 0); + add_to_free_queue (ha, sp); + return ret; + } + + if (pext->ResponseLen > ha->ioctl_mem_size) { + if (qla2x00_get_new_ioctl_dma_mem(ha, pext->ResponseLen) != + QL_STATUS_SUCCESS) { + + DEBUG9_10(printk("qla2x00_scsi3_passthru: ERROR cannot " + "alloc requested DMA buffer size=%x.\n", + pext->ResponseLen);) + + pext->Status = EXT_STATUS_NO_MEMORY; + atomic_set(&sp->ref_count, 0); + add_to_free_queue (ha, sp); + return pext->Status; + } + } + + /* Copy request buffer */ + usr_temp = (uint8_t *)pext->RequestAdr; + kernel_tmp = (uint8_t *)pfc_scsi_pass; + copy_from_user(kernel_tmp, usr_temp, sizeof(EXT_FC_SCSI_PASSTHRU)); + + if (pfc_scsi_pass->FCScsiAddr.DestType != EXT_DEF_DESTTYPE_WWPN) { + pext->Status = EXT_STATUS_DEV_NOT_FOUND; + DEBUG9_10(printk("qla2x00_scsi3_passthru: ERROR - " + "wrong Dest type. \n");) + ret = EXT_STATUS_ERR; + atomic_set(&sp->ref_count, 0); + add_to_free_queue (ha, sp); + + return ret; + } + + /* + * For this ioctl command we always assume all 16 bytes are + * initialized. + */ + if (pfc_scsi_pass->CdbLength != MAX_SCSI3_CDB_LEN) { + pext->Status = EXT_STATUS_INVALID_PARAM; + DEBUG9_10(printk("qla2x00_scsi3_passthru: ERROR - " + "wrong Cdb Length %d.\n", pfc_scsi_pass->CdbLength);) + ret = EXT_STATUS_ERR; + atomic_set(&sp->ref_count, 0); + add_to_free_queue (ha, sp); + return ret; + } + + for (fcport = ha->fcport; (fcport); fcport = fcport->next) { + if (memcmp(fcport->port_name, + pfc_scsi_pass->FCScsiAddr.DestAddr.WWPN, 8) == 0) { + break; + } + } + if (fcport == NULL) { + pext->Status = EXT_STATUS_DEV_NOT_FOUND; + + DEBUG9_10(printk("qla2x00_scsi3_passthru: " + "DID NOT FIND Port for WWPN %02x%02x%02x%02x" + "%02x%02x%02x%02x.\n", + pfc_scsi_pass->FCScsiAddr.DestAddr.WWPN[0], + pfc_scsi_pass->FCScsiAddr.DestAddr.WWPN[1], + pfc_scsi_pass->FCScsiAddr.DestAddr.WWPN[2], + pfc_scsi_pass->FCScsiAddr.DestAddr.WWPN[3], + pfc_scsi_pass->FCScsiAddr.DestAddr.WWPN[4], + pfc_scsi_pass->FCScsiAddr.DestAddr.WWPN[5], + pfc_scsi_pass->FCScsiAddr.DestAddr.WWPN[6], + pfc_scsi_pass->FCScsiAddr.DestAddr.WWPN[7]);) + + atomic_set(&sp->ref_count, 0); + add_to_free_queue (ha, sp); + + return pext->Status; + } + + /* Use a temporary fclun to send out the command. */ + fclun = &temp_fclun; + fclun->fcport = fcport; + fclun->lun = pfc_scsi_pass->FCScsiAddr.Lun; + fclun->flags = 0; + fclun->next = NULL; + + /* set target coordinates */ + scsi3_cmd.target = 0xff; /* not used. just put something there. */ + scsi3_cmd.lun = pfc_scsi_pass->FCScsiAddr.Lun; + + DEBUG9(printk("qla2x00_scsi3_passthru: cmd for loopid=%04x L=%04x " + "WWPN=%02x%02x%02x%02x%02x%02x%02x%02x.\n", + fclun->fcport->loop_id, scsi3_cmd.lun, + pfc_scsi_pass->FCScsiAddr.DestAddr.WWPN[0], + pfc_scsi_pass->FCScsiAddr.DestAddr.WWPN[1], + pfc_scsi_pass->FCScsiAddr.DestAddr.WWPN[2], + pfc_scsi_pass->FCScsiAddr.DestAddr.WWPN[3], + pfc_scsi_pass->FCScsiAddr.DestAddr.WWPN[4], + pfc_scsi_pass->FCScsiAddr.DestAddr.WWPN[5], + pfc_scsi_pass->FCScsiAddr.DestAddr.WWPN[6], + pfc_scsi_pass->FCScsiAddr.DestAddr.WWPN[7]);) + + sp->cmd_length = MAX_SCSI3_CDB_LEN; + scsi3_cmd.cmd_len = 0xC; /* for now kernel only supports 12 bytes */ + + BCOPY(pfc_scsi_pass->Cdb, scsi3_cmd.data_cmnd, 0xC); + BCOPY(pfc_scsi_pass->Cdb, scsi3_cmd.cmnd, 0xC); + + sp->more_cdb[0] = pfc_scsi_pass->Cdb[12]; + sp->more_cdb[1] = pfc_scsi_pass->Cdb[13]; + sp->more_cdb[2] = pfc_scsi_pass->Cdb[14]; + sp->more_cdb[3] = pfc_scsi_pass->Cdb[15]; + + DEBUG9(printk("qla2x00_scsi3_passthru: cdb buffer dump:\n");) + DEBUG9(qla2x00_dump_buffer((uint8_t *)&scsi3_cmd.data_cmnd[0], 16);) + + pscsi3_cmd->host = ha->host; + sp->ha = ha; + sp->cmd = pscsi3_cmd; + sp->flags = SRB_IOCTL; + + /* set local scsi3_cmd's sp pointer to sp */ + CMD_SP(pscsi3_cmd) = (void *) sp; + + /* mark this as a special delivery and collection command */ + scsi3_cmd.flags = 0; + scsi3_cmd.scsi_done = qla2x00_scsi_pt_done; + + scsi3_cmd.device = &scsi3_device; + scsi3_cmd.device->tagged_queue = 0; + scsi3_cmd.use_sg = 0; /* no ScatterGather */ + scsi3_cmd.request_bufflen = pext->ResponseLen; + scsi3_cmd.request_buffer = ha->ioctl_mem; + scsi3_cmd.timeout_per_command = QLA_PT_CMD_TOV * HZ; + + if (pfc_scsi_pass->Direction == EXT_DEF_SCSI_PASSTHRU_DATA_OUT) { + /* sending user data from pext->ResponseAdr to device */ + ret = verify_area(VERIFY_READ, (void *)pext->ResponseAdr, + pext->ResponseLen); + if (ret) { + pext->Status = EXT_STATUS_COPY_ERR; + DEBUG9_10(printk("qla2x00_scsi3_passthru: ERROR " + "verify read ResponseAdr.\n");) + atomic_set(&sp->ref_count, 0); + add_to_free_queue (ha, sp); + return pext->Status; + } + + scsi3_cmd.sc_data_direction = SCSI_DATA_WRITE; + usr_temp = (uint8_t *)pext->ResponseAdr; + kernel_tmp = (uint8_t *)ha->ioctl_mem; + copy_from_user(kernel_tmp, usr_temp, pext->ResponseLen); + } else { + scsi3_cmd.sc_data_direction = SCSI_DATA_READ; + } + + /* Use temporary LU and TGT queue */ + tq = ha->ioctl->ioctl_tq; + lq = ha->ioctl->ioctl_lq; + + b = SCSI_BUS_32(pscsi3_cmd); + t = SCSI_TCN_32(pscsi3_cmd); + + DEBUG9(printk("qla2x00_scsi3_passthru: ha instance=%ld tq=%p lq=%p " + "fclun=%p.\n", + ha->instance,tq,lq,fclun); ) + DEBUG9(printk("qla2x00_scsi3_passthru: CDB=%02x %02x %02x %02x; " + "b=%x t=%x fclun=%x\n", + scsi3_cmd.cmnd[0],scsi3_cmd.cmnd[1],scsi3_cmd.cmnd[2], + scsi3_cmd.cmnd[3],b,t,SCSI_LUN_32(pscsi3_cmd));) + + if (tq && lq) { + /* + * For now just save lq using the lower LUN byte value, + * even though this may not be the actual LUN number. + * Since we're only sending out passthru cmd one at a time, + * and only passthru is using FCP LUN format now, no need + * to change rest of driver just to decode the LUN. + */ + tq->olun[fclun->lun & 0xff] = lq; + + tq->ha = ha; + lq->fclun = fclun; + fcport = fclun->fcport; + + sp->lun_queue = lq; + sp->tgt_queue = tq; + sp->fclun = fclun; + } else { + lq = NULL; + fcport = NULL; + } + + /* + * Check the status of the port + */ + if (qla2x00_check_port_status(ha, fcport) != QL_STATUS_SUCCESS) { + + DEBUG9_10(printk("qla2x00_scsi3_passthru: port missing " + "or loop down. fcport=%p timer=%d state=%d dpc=%lx.\n", + fcport, atomic_read(&ha->loop_down_timer), ha->loop_state, + ha->dpc_flags);) + + pext->Status = EXT_STATUS_DEV_NOT_FOUND; + atomic_set(&sp->ref_count, 0); + add_to_free_queue (ha, sp); + return pext->Status; + } + + /* set flag to indicate IOCTL SCSI PassThru in progress */ + ha->ioctl->SCSIPT_InProgress = 1; + ha->ioctl->ioctl_tov = (int)QLA_PT_CMD_TOV + 1; + + /* prepare for receiving completion. */ + qla2x00_ioctl_sem_init(ha); + CMD_COMPL_STATUS(pscsi3_cmd) = (int) IOCTL_INVALID_STATUS; + + /* send command to adapter */ + + /*add_to_cmd_queue(ha, lq, sp);*/ + add_to_pending_queue(ha, sp); + + /*qla2x00_next(ha, tq, lq);*/ + qla2x00_next(ha); + + ha->ioctl->cmpl_timer.expires = jiffies + ha->ioctl->ioctl_tov * HZ; + add_timer(&ha->ioctl->cmpl_timer); + + down(&ha->ioctl->cmpl_sem); + + del_timer(&ha->ioctl->cmpl_timer); + + if (ha->ioctl->SCSIPT_InProgress == 1) { + + printk(KERN_WARNING + "qla2x00: scsi%ld ERROR passthru command timeout.\n", + ha->host_no); + + pext->Status = EXT_STATUS_DEV_NOT_FOUND; + atomic_set(&sp->ref_count, 0); + add_to_free_queue (ha, sp); + return EXT_STATUS_ERR; + + } + if (CMD_COMPL_STATUS(pscsi3_cmd) == (int)IOCTL_INVALID_STATUS) { + + DEBUG9(printk("qla2x00_scsi3_passthru(%ld): ERROR - " + "command not completed.\n", ha->host_no);) + + pext->Status = EXT_STATUS_ERR; + atomic_set(&sp->ref_count, 0); + add_to_free_queue (ha, sp); + return EXT_STATUS_ERR; + } + + switch (CMD_COMPL_STATUS(pscsi3_cmd)) { + case CS_INCOMPLETE: + case CS_ABORTED: + case CS_PORT_UNAVAILABLE: + case CS_PORT_LOGGED_OUT: + case CS_PORT_CONFIG_CHG: + case CS_PORT_BUSY: + DEBUG10(printk("qla2x00_scsi3_passthru: cs err = %x.\n", + CMD_COMPL_STATUS(pscsi3_cmd));) + ret = EXT_STATUS_ERR; + pext->Status = EXT_STATUS_BUSY; + break; + } + + if ((CMD_COMPL_STATUS(pscsi3_cmd) == CS_DATA_UNDERRUN) || + (CMD_SCSI_STATUS(pscsi3_cmd) != 0)) { + + /* have done the post function */ + pext->Status = EXT_STATUS_SCSI_STATUS; + pext->DetailStatus = CMD_SCSI_STATUS(pscsi3_cmd); + + DEBUG9_10(printk("qla2x00_scsi3_passthru: data underrun or " + "scsi err. host status =0x%x, scsi status = 0x%x.\n", + CMD_COMPL_STATUS(pscsi3_cmd), CMD_SCSI_STATUS(pscsi3_cmd));) + + } else if (CMD_COMPL_STATUS(pscsi3_cmd) != 0) { + DEBUG9_10(printk("qla2x00_scsi3_passthru: cs err = %x. " + "ext stat %x\n", + CMD_COMPL_STATUS(pscsi3_cmd), pext->Status);) + return pext->Status; + } + + /* Process completed command */ + DEBUG9(printk("qla2x00_scsi3_passthru: complete. host status =0x%x, " + "scsi status = 0x%x.\n", + CMD_COMPL_STATUS(pscsi3_cmd), CMD_SCSI_STATUS(pscsi3_cmd));) + + /* copy up structure to make sense data available to user */ + pfc_scsi_pass->SenseLength = CMD_ACTUAL_SNSLEN(pscsi3_cmd); + if (CMD_ACTUAL_SNSLEN(pscsi3_cmd)) { + DEBUG9_10(printk("qla2x00_scsi3_passthru: sense[0]=%x " + "sense[2]=%x.\n", + pscsi3_cmd->sense_buffer[0], + pscsi3_cmd->sense_buffer[2]);) + + for (i = 0; i < CMD_ACTUAL_SNSLEN(pscsi3_cmd); i++) { + pfc_scsi_pass->SenseData[i] = + pscsi3_cmd->sense_buffer[i]; + } + + ret = verify_area(VERIFY_WRITE, (void *)pext->RequestAdr, + sizeof(EXT_FC_SCSI_PASSTHRU)); + if (ret) { + pext->Status = EXT_STATUS_COPY_ERR; + DEBUG9_10(printk("qla2x00_scsi3_passthru: ERROR verify " + "WRITE RequestAdr.\n");) + return ret; + } + + usr_temp = (uint8_t *)pext->RequestAdr; + kernel_tmp = (uint8_t *)pfc_scsi_pass; + copy_to_user(usr_temp, kernel_tmp, sizeof(EXT_FC_SCSI_PASSTHRU)); + } + + scsi_direction = pfc_scsi_pass->Direction; + + if (scsi_direction == EXT_DEF_SCSI_PASSTHRU_DATA_IN) { + + DEBUG9(printk("qla2x00_scsi3_passthru: copying data.\n");) + + /* getting device data and putting in pext->ResponseAdr */ + ret = verify_area(VERIFY_WRITE, (void *)pext->ResponseAdr, + pext->ResponseLen); + if (ret) { + pext->Status = EXT_STATUS_COPY_ERR; + + DEBUG9_10(printk("qla2x00_scsi3_passthru: ERROR verify " + "write ResponseAdr.\n");) + + return ret; + } + + /* now copy up the READ data to user */ + if ((CMD_COMPL_STATUS(pscsi3_cmd) == CS_DATA_UNDERRUN) && + (CMD_RESID_LEN(pscsi3_cmd))) { + + transfer_len = pext->ResponseLen - + CMD_RESID_LEN(pscsi3_cmd); + + pext->ResponseLen = transfer_len; + } else { + transfer_len = pext->ResponseLen; + } + + usr_temp = (uint8_t *)pext->ResponseAdr; + kernel_tmp = (uint8_t *)ha->ioctl_mem; + copy_to_user(usr_temp, kernel_tmp, transfer_len); + } + + return ret; +} + +/* + * qla2x00_send_els_rnid + * IOCTL to send extended link service RNID command to a target. + * + * Input: + * ha = adapter state pointer. + * pext = User space CT arguments pointer. + * mode = flags. + * + * Returns: + * 0 = success + * + * Context: + * Kernel context. + */ +STATIC int +qla2x00_send_els_rnid(adapter_state_t *ha, EXT_IOCTL *pext, int mode) +{ +#define TGT_DEV 1 +#define HOST_DEV 2 + + EXT_RNID_REQ tmp_rnid; + int rval = 0; + uint8_t dev_found = 0; + uint16_t dev_loop_id = 0; + uint16_t host = 0; /* database array indices */ + uint16_t mb[MAILBOX_REGISTER_COUNT]; + uint32_t copy_len; + fc_port_t *fcport; + + DEBUG9(printk("qla2x00_send_els_rnid(%ld): entered.\n", + ha->host_no);) + + if (ha->ioctl_mem_size < SEND_RNID_RSP_SIZE) { + if (qla2x00_get_new_ioctl_dma_mem(ha, + SEND_RNID_RSP_SIZE) != QL_STATUS_SUCCESS) { + + DEBUG9_10(printk("qla2x00_send_els_rnid(%ld): ERROR " + "cannot alloc DMA buffer. size=%x.\n", + ha->host_no, SEND_RNID_RSP_SIZE);) + + pext->Status = EXT_STATUS_NO_MEMORY; + return QL_STATUS_ERROR; + } + } + + if (pext->RequestLen != sizeof(EXT_RNID_REQ)) { + /* parameter error */ + DEBUG9_10(printk("qla2x00_send_els_rnid(%ld): invalid " + "request length %d.\n", + ha->host_no, pext->RequestLen);) + pext->Status = EXT_STATUS_INVALID_PARAM; + return QL_STATUS_ERROR; + } + + rval = verify_area(VERIFY_READ, (void *)pext->RequestAdr, + pext->RequestLen); + + if (rval != 0) { + pext->Status = EXT_STATUS_COPY_ERR; + DEBUG9_10(printk( + "qla2x00_send_els_rnid(%ld): request buf verify READ " + "FAILED.\n", + ha->host_no);) + return QL_STATUS_ERROR; + } + + DEBUG9(printk("qla2x00_send_els_rnid(%ld): request buf verified. " + " Copying request data.\n", + ha->host_no);) + + copy_from_user((uint8_t *)&tmp_rnid, (uint8_t *)pext->RequestAdr, + pext->RequestLen); + + /* Find loop ID of the device */ + switch (tmp_rnid.Addr.Type) { + case EXT_DEF_TYPE_WWNN: + + DEBUG9(printk("qla2x00_send_els_rnid(%ld): got node name.\n", + ha->host_no);) + + for (fcport = ha->fcport; (fcport); fcport = fcport->next) { + /* if removed or missing */ + if (atomic_read(&fcport->state) == FC_ONLINE && + memcmp((void *)tmp_rnid.Addr.FcAddr.WWNN, + (void *)fcport->node_name, + EXT_DEF_WWN_NAME_SIZE) == 0) { + break; + } + } + if (fcport != NULL) { + DEBUG9(printk("qla2x00_send_els_rnid(%ld): found " + " target device; loop_id=%x.\n", + ha->host_no, fcport->loop_id);) + + dev_found = TGT_DEV; + dev_loop_id = fcport->loop_id; + break; + } + + for (host = 0; host < ha->next_host_slot; host++) { + if (memcmp((void *)tmp_rnid.Addr.FcAddr.WWNN, + (void *)ha->phost_db[host].name, + EXT_DEF_WWN_NAME_SIZE) == 0 && + ha->phost_db[host].d_id.b24 != 0) { + break; + } + } + if (host != ha->next_host_slot) { + DEBUG9(printk("qla2x00_send_els_rnid(%ld): found " + " host device; loop_id=%x.\n", + ha->host_no, ha->phost_db[host].loop_id);) + + dev_found = HOST_DEV; + dev_loop_id = ha->phost_db[host].loop_id; + break; + } + + break; + + case EXT_DEF_TYPE_WWPN: + DEBUG9(printk("qla2x00_send_els_rnid(%ld): got port name.\n", + ha->host_no);) + + for (fcport = ha->fcport; (fcport); fcport = fcport->next) { + /* if removed or missing */ + if (atomic_read(&fcport->state) == FC_ONLINE && + memcmp((void *)tmp_rnid.Addr.FcAddr.WWPN, + (void *)fcport->port_name, + EXT_DEF_WWN_NAME_SIZE) == 0) { + break; + } + } + if (fcport != NULL) { + DEBUG9(printk("qla2x00_send_els_rnid(%ld): found " + " target device; loop_id=%x.\n", + ha->host_no, fcport->loop_id);) + + dev_found = TGT_DEV; /* target device */ + dev_loop_id = fcport->loop_id; + break; + } + + for (host = 0; host < ha->next_host_slot; host++) { + if (memcmp((void *)tmp_rnid.Addr.FcAddr.WWPN, + (void *)ha->phost_db[host].wwn, + EXT_DEF_WWN_NAME_SIZE) == 0 && + ha->phost_db[host].d_id.b24 != 0) { + break; + } + } + if (host != ha->next_host_slot) { + DEBUG9(printk("qla2x00_send_els_rnid(%ld): found " + " host device; loop_id=%x.\n", + ha->host_no, ha->phost_db[host].loop_id);) + + dev_found = HOST_DEV; /* host device */ + dev_loop_id = ha->phost_db[host].loop_id; + break; + } + + break; + + case EXT_DEF_TYPE_PORTID: + DEBUG9(printk("qla2x00_send_els_rnid(%ld): got port ID.\n", + ha->host_no);) + + /* PORTID bytes entered must already be big endian */ + for (fcport = ha->fcport; (fcport); fcport = fcport->next) { + /* if removed or missing */ + if (atomic_read(&fcport->state) == FC_ONLINE && + memcmp((void *)&tmp_rnid.Addr.FcAddr.Id[1], + (void *)(fcport->d_id.r.d_id), + EXT_DEF_PORTID_SIZE_ACTUAL) == 0) { + break; + } + } + if (fcport != NULL) { + DEBUG9(printk("qla2x00_send_els_rnid(%ld): found " + " target device; loop_id=%x.\n", + ha->host_no, fcport->loop_id);) + + dev_found = TGT_DEV; /* target device */ + dev_loop_id = fcport->loop_id; + break; + } + + for (host = 0; host < ha->next_host_slot; host++) { + if (memcmp((void *)&tmp_rnid.Addr.FcAddr.Id[1], + &ha->phost_db[host].d_id, + EXT_DEF_PORTID_SIZE_ACTUAL) == 0) { + break; + } + } + if (host != ha->next_host_slot) { + DEBUG9(printk("qla2x00_send_els_rnid(%ld): found " + " host device; loop_id=%x.\n", + ha->host_no, ha->phost_db[host].loop_id);) + + dev_found = HOST_DEV; /* host device */ + dev_loop_id = ha->phost_db[host].loop_id; + break; + } + + break; + default: + /* parameter error */ + pext->Status = EXT_STATUS_INVALID_PARAM; + DEBUG9_10(printk("qla2x00_send_els_rnid(%ld): invalid " + "addressing type.\n", + ha->host_no);) + return pext->Status; + } + + if (!dev_found || + (dev_found == TGT_DEV && dev_loop_id > LAST_SNS_LOOP_ID)) { + /* No matching device or the target device is not + * configured; just return error. + */ + pext->Status = EXT_STATUS_DEV_NOT_FOUND; + rval = pext->Status; + DEBUG9_10(printk( + "qla2x00_send_els_rnid(%ld): device not found. " + "dev_found=%d dev_loop_id=%x.\n", + ha->host_no, dev_found, dev_loop_id);) + return (rval); + } + + /* check on loop down */ + if (ha->loop_state != LOOP_READY || + test_bit(CFG_ACTIVE, &ha->cfg_flags) || + (test_bit(ABORT_ISP_ACTIVE, &ha->dpc_flags)) || + ABORTS_ACTIVE || ha->dpc_active) { + + pext->Status = EXT_STATUS_BUSY; + DEBUG9_10(printk( + "qla2x00_send_els_rnid(%ld): loop not ready.\n", + ha->host_no);) + + return pext->Status; + } + + /* Check whether we need to login first. */ + if (dev_found == HOST_DEV && dev_loop_id > LAST_SNS_LOOP_ID) { + /* + * Search for a usable loop ID before try to login to it. + */ + if ((dev_loop_id &= ~PORT_LOST_ID) > LAST_SNS_LOOP_ID) { + /* Just start searching from first possible ID. */ + dev_loop_id = ha->min_external_loopid; + } + for (;;) { + if (ha->fabricid[dev_loop_id].in_use == TRUE) { + dev_loop_id++; + } else { + ha->fabricid[dev_loop_id].in_use = TRUE; + break; + } + } + + DEBUG9(printk("qla2x00_send_els_rnid(%ld): try relogin to " + " host device; dev_loop_id=%x.\n", + ha->host_no, dev_loop_id);) + + for (;;) { + if (dev_loop_id > LAST_SNS_LOOP_ID) { + /* error */ + DEBUG10(printk("qla2x00_send_els_rnid(%ld): " + " no valid loop_id for login.\n", + ha->host_no);) + + break; + } + + qla2x00_login_fabric(ha, + dev_loop_id, + ha->phost_db[host].d_id.b.domain, + ha->phost_db[host].d_id.b.area, + ha->phost_db[host].d_id.b.al_pa, + &mb[0], 0); + + if (mb[0] != MBS_CMD_CMP && + mb[0] != MBS_PORT_ID_IN_USE && + mb[0] != MBS_LOOP_ID_IN_USE) { + + DEBUG10(printk("qla2x00_send_els_rnid(%ld): " + "ERROR login mb[0]=%x mb[1]=%x.\n", + ha->host_no, mb[0], mb[1]);) + break; + } + + if (mb[0] == MBS_CMD_CMP) { + DEBUG9(printk("qla2x00_send_els_rnid(%ld): " + " host login success; loop_id=%x.\n", + ha->host_no, dev_loop_id);) + + ha->phost_db[host].loop_id = dev_loop_id; + break; + } else if (mb[0] == MBS_PORT_ID_IN_USE) { + ha->fabricid[dev_loop_id].in_use = FALSE; + dev_loop_id = mb[1]; + + DEBUG9(printk("qla2x00_send_els_rnid(%ld): " + "port %06x using loop id=0x%04x.\n", + ha->host_no, ha->phost_db[host].d_id.b24, + dev_loop_id);) + + if (dev_loop_id <= LAST_SNS_LOOP_ID) + ha->fabricid[dev_loop_id].in_use = TRUE; + else + /* Error */ + break; + + } else if (mb[0] == MBS_LOOP_ID_IN_USE) { + /* Search for another usable loop_id */ + dev_loop_id++; + while (ha->fabricid[dev_loop_id].in_use) { + if (dev_loop_id++ > LAST_SNS_LOOP_ID) { + /* Error */ + break; + } + } + + if (dev_loop_id <= LAST_SNS_LOOP_ID) { + DEBUG9(printk( + "qla2x00_send_els_rnid(%ld): " + "previous loop id in use. Retry " + "with 0x%04x.\n", + ha->host_no, dev_loop_id);) + + ha->fabricid[dev_loop_id].in_use = TRUE; + } else { + /* Error */ + break; + } + } + } + + if (mb[0] != MBS_CMD_CMP) { + pext->Status = EXT_STATUS_ERR; + DEBUG9_10(printk( + "qla2x00_send_els_rnid(%ld): login failed.\n", + ha->host_no);) + + return pext->Status; + } + } + + /* Send command */ + DEBUG9(printk("qla2x00_send_els_rnid(%ld): sending rnid cmd.\n", + ha->host_no);) + + rval = qla2x00_send_rnid_mbx(ha, dev_loop_id, + (uint8_t)tmp_rnid.DataFormat, ha->ioctl_mem_phys, + SEND_RNID_RSP_SIZE, &mb[0]); + + if (rval != QLA2X00_SUCCESS) { + /* error */ + pext->Status = EXT_STATUS_ERR; + + DEBUG9_10(printk( + "qla2x00_send_els_rnid(%ld): FAILED. rval = %x.\n", + ha->host_no, mb[0]);) + return (0); + } + + DEBUG9(printk("qla2x00_send_els_rnid(%ld): rnid cmd sent ok.\n", + ha->host_no);) + + /* Copy the response */ + copy_len = (pext->ResponseLen > SEND_RNID_RSP_SIZE) ? + SEND_RNID_RSP_SIZE : pext->ResponseLen; + + rval = verify_area(VERIFY_WRITE, (void *)pext->ResponseAdr, + copy_len); + + if (rval != 0) { + pext->Status = EXT_STATUS_COPY_ERR; + DEBUG9_10(printk( + "qla2x00_send_els_rnid(%ld): response buf verify WRITE " + "failed.\n", + ha->host_no);) + rval = EFAULT; + } else { + copy_to_user((uint8_t *)pext->ResponseAdr, + (uint8_t *)ha->ioctl_mem, copy_len); + + if (SEND_RNID_RSP_SIZE > pext->ResponseLen) { + pext->Status = EXT_STATUS_DATA_OVERRUN; + DEBUG9(printk( + "qla2x00_send_els_rnid(%ld): data overrun. " + "exiting normally.\n", + ha->host_no);) + } else { + pext->Status = EXT_STATUS_OK; + DEBUG9(printk( + "qla2x00_send_els_rnid(%ld): exiting normally.\n", + ha->host_no);) + } + pext->ResponseLen = copy_len; + rval = 0; + } + + return (rval); +} + +static int +qla2x00_get_rnid_params(adapter_state_t *ha, EXT_IOCTL *pext, int mode) +{ + int rval = 0; + uint32_t copy_len; + uint16_t mb[MAILBOX_REGISTER_COUNT]; + + DEBUG9(printk("qla2x00_get_rnid_params(%ld): entered.\n", + ha->host_no);) + + /* check on loop down */ + if (ha->loop_state != LOOP_READY || + test_bit(CFG_ACTIVE, &ha->cfg_flags) || + (test_bit(ABORT_ISP_ACTIVE, &ha->dpc_flags)) || + ABORTS_ACTIVE || ha->dpc_active) { + + pext->Status = EXT_STATUS_BUSY; + DEBUG9_10(printk( + "qla2x00_get_rnid_params(%ld): loop not ready.\n", + ha->host_no);) + + return pext->Status; + } + + /* Send command */ + rval = qla2x00_get_rnid_params_mbx(ha, ha->ioctl_mem_phys, + sizeof(EXT_RNID_DATA), &mb[0]); + + if (rval != QLA2X00_SUCCESS) { + /* error */ + pext->Status = EXT_STATUS_ERR; + + DEBUG9_10(printk( + "qla2x00_get_rnid_params(%ld): cmd FAILED=%x.\n", + ha->host_no, mb[0]);) + return (0); + } + + /* Copy the response */ + copy_len = (pext->ResponseLen > sizeof(EXT_RNID_DATA)) ? + (uint32_t)sizeof(EXT_RNID_DATA) : pext->ResponseLen; + rval = verify_area(VERIFY_WRITE, (void *)pext->ResponseAdr, + copy_len); + + if (rval != 0) { + pext->Status = EXT_STATUS_COPY_ERR; + DEBUG9_10(printk( + "qla2x00_get_rnid_params(%ld): verify WRITE response buf " + "failed.\n", + ha->host_no);) + rval = EFAULT; + } else { + copy_to_user((void *)pext->ResponseAdr, (void *)ha->ioctl_mem, + copy_len); + + pext->ResponseLen = copy_len; + if (copy_len < sizeof(EXT_RNID_DATA)) { + pext->Status = EXT_STATUS_DATA_OVERRUN; + DEBUG9_10(printk( + "qla2x00_get_rnid_params(%ld): data overrun. " + "exiting normally.\n", + ha->host_no);) + } else if (pext->ResponseLen > sizeof(EXT_RNID_DATA)) { + pext->Status = EXT_STATUS_DATA_UNDERRUN; + DEBUG9_10(printk( + "qla2x00_get_rnid_params(%ld): data underrun. " + "exiting normally.\n", + ha->host_no);) + } else { + pext->Status = EXT_STATUS_OK; + DEBUG9(printk( + "qla2x00_get_rnid_params(%ld): exiting normally.\n", + ha->host_no);) + } + rval = 0; + } + + return (rval); +} + +/* + * qla2x00_set_host_data + * IOCTL command to set host/adapter related data. + * + * Input: + * ha = adapter state pointer. + * pext = User space CT arguments pointer. + * mode = flags. + * + * Returns: + * 0 = success + * + * Context: + * Kernel context. + */ +STATIC int +qla2x00_set_host_data(adapter_state_t *ha, EXT_IOCTL *pext, int mode) +{ + int rval = 0; + + DEBUG9(printk("qla2x00_set_host_data(%ld): entered.\n", + ha->host_no);) + + /* check on loop down */ + if (ha->loop_state != LOOP_READY || + test_bit(CFG_ACTIVE, &ha->cfg_flags) || + (test_bit(ABORT_ISP_ACTIVE, &ha->dpc_flags)) || + ABORTS_ACTIVE || ha->dpc_active) { + + pext->Status = EXT_STATUS_BUSY; + DEBUG9_10(printk( + "qla2x00_set_host_data(%ld): loop not ready.\n", + ha->host_no);) + + return pext->Status; + } + + /* switch on command subcode */ + switch (pext->SubCode) { + case EXT_SC_SET_RNID: + rval = qla2x00_set_rnid_params(ha, pext, mode); + break; + default: + /* function not supported. */ + pext->Status = EXT_STATUS_UNSUPPORTED_SUBCODE; + rval = ENODEV; + break; + } + + DEBUG9(printk("qla2x00_set_host_data(%ld): exiting.\n", + ha->host_no);) + + return (rval); +} + +STATIC int +qla2x00_set_rnid_params(adapter_state_t *ha, EXT_IOCTL *pext, int mode) +{ + EXT_SET_RNID_REQ tmp_set; + EXT_RNID_DATA *tmp_buf; + int rval = 0; + uint16_t mb[MAILBOX_REGISTER_COUNT]; + + DEBUG9(printk("qla2x00_set_rnid_params(%ld): entered.\n", + ha->host_no);) + + if (pext->RequestLen != sizeof(EXT_SET_RNID_REQ)) { + /* parameter error */ + pext->Status = EXT_STATUS_INVALID_PARAM; + DEBUG9_10(printk("qla2x00_set_rnid_params(%ld): invalid " + "request length.\n", + ha->host_no);) + return(0); + } + + rval = verify_area(VERIFY_READ, (void *)pext->RequestAdr, + pext->RequestLen); + + if (rval != 0) { + pext->Status = EXT_STATUS_COPY_ERR; + DEBUG9_10(printk( + "qla2x00_set_rnid_params(%ld): verify READ request buf.\n", + ha->host_no);) + return(EFAULT); + } + + copy_from_user((uint8_t *)&tmp_set, (uint8_t *)pext->RequestAdr, + pext->RequestLen); + + rval = qla2x00_get_rnid_params_mbx(ha, ha->ioctl_mem_phys, + sizeof(EXT_RNID_DATA), &mb[0]); + if (rval != QLA2X00_SUCCESS) { + /* error */ + pext->Status = EXT_STATUS_ERR; + + DEBUG9_10(printk( + "qla2x00_set_rnid_params(%ld): read cmd FAILED=%x.\n", + ha->host_no, mb[0]);) + return (0); + } + + tmp_buf = (EXT_RNID_DATA *)ha->ioctl_mem; + /* Now set the params. */ + memcpy(tmp_buf->IPVersion, tmp_set.IPVersion, 2); + memcpy(tmp_buf->UDPPortNumber, tmp_set.UDPPortNumber, 2); + memcpy(tmp_buf->IPAddress, tmp_set.IPAddress, 16); + rval = qla2x00_set_rnid_params_mbx(ha, ha->ioctl_mem_phys, + sizeof(EXT_RNID_DATA), &mb[0]); + + if (rval != QLA2X00_SUCCESS) { + /* error */ + pext->Status = EXT_STATUS_ERR; + + DEBUG9_10(printk( + "qla2x00_set_rnid_params(%ld): set cmd FAILED=%x.\n", + ha->host_no, mb[0]);) + rval = 0; + } else { + pext->Status = EXT_STATUS_OK; + DEBUG9(printk( + "qla2x00_set_rnid_params(%ld): exiting normally.\n", + ha->host_no);) + } + + return (rval); +} + +STATIC void +qla2x00_waitq_sem_timeout(unsigned long data) +{ + wait_q_t *tmp_ptr = (wait_q_t *)data; + + DEBUG9(printk("qla2x00_sem_timeout: entered.\n");) + + if (tmp_ptr != NULL) + up(&tmp_ptr->wait_q_sem); + + DEBUG9(printk("qla2x00_sem_timeout: exiting.\n");) +} + +/* + * tov = timeout value in seconds + */ +STATIC uint8_t +qla2x00_get_ioctl_access(adapter_state_t *ha, uint32_t tov) +{ + int prev_val = 1; + uint8_t ret; + unsigned long cpu_flags; + struct timer_list tmp_access_timer; + wait_q_t *ptmp_wq = NULL; + + + DEBUG9(printk("qla2x00_get_ioctl_access(%ld): entered.\n", + ha->host_no);) + + while (1) { + if (test_bit(IOCTL_WANT, (void *)&(ha->ioctl->access_bits)) == + 0) { + + DEBUG9(printk("qla2x00_get_ioctl_access(%ld): going " + " to test access_bits.\n", ha->host_no);) + + /* No one else is waiting. Go ahead and try to + * get access. + */ + if ((prev_val = test_and_set_bit(IOCTL_ACTIVE, + (void *)&ha->ioctl->access_bits)) == 0) { + break; + } + } + + /* wait for previous command to finish */ + DEBUG9(printk("qla2x00_get_ioctl_access(%ld): access_bits=%x. " + "busy. Waiting for access. curr time=0x%lx.\n", + ha->host_no, ha->ioctl->access_bits, jiffies);) + + /* + * Init timer and get semaphore from wait_q. if we got valid + * semaphore pointer the IOCTL_WANT flag would also had + * been set. + */ + qla2x00_wait_q_add(ha, &ptmp_wq); + + if (ptmp_wq == NULL) { + /* queue full? problem? can't proceed. */ + DEBUG9_10(printk("qla2x00_get_ioctl_access(%ld): ERROR " + "no more wait_q allowed. exiting.\n", ha->host_no);) + + break; + } + + init_timer(&tmp_access_timer); + + tmp_access_timer.data = (unsigned long)ptmp_wq; + tmp_access_timer.function = + (void (*)(unsigned long))qla2x00_waitq_sem_timeout; + tmp_access_timer.expires = jiffies + tov * HZ; + + DEBUG9(printk("get_ioctl_access(%ld): adding timer. " + "curr time=0x%lx timeoutval=0x%lx.\n", + ha->host_no, jiffies, tmp_access_timer.expires);) + + /* wait. */ + add_timer(&tmp_access_timer); + + DEBUG9(printk("get_ioctl_access(%ld): going to sleep. current " + "time=0x%lx.\n", ha->host_no, jiffies);) + + down_interruptible(&ptmp_wq->wait_q_sem); + + DEBUG9(printk("get_ioctl_access(%ld): woke up. current " + "time=0x%lx.\n", ha->host_no, jiffies);) + + del_timer(&tmp_access_timer); + + /* try to get lock again. we'll test later to see + * if we actually got the lock. + */ + prev_val = test_and_set_bit(IOCTL_ACTIVE, + (void *)&(ha->ioctl->access_bits)); + + /* + * After we tried to get access then we check to see + * if we need to clear the IOCTL_WANT flag. Don't clear + * this flag before trying to get access or another + * new thread might grab it before we did. + */ + spin_lock_irqsave(&ha->ioctl->wait_q_lock, cpu_flags); + if (ha->ioctl->wait_q_head == NULL) { + /* We're the last thread in queue. */ + clear_bit(IOCTL_WANT, (void *)&ha->ioctl->access_bits); + } + qla2x00_wait_q_memb_free(ha, ptmp_wq); + spin_unlock_irqrestore(&ha->ioctl->wait_q_lock, cpu_flags); + + break; + } + + if (prev_val == 0) { + /* We got the lock */ + + DEBUG9(printk("qla2x00_get_ioctl_access(%ld): got access.\n", + ha->host_no);) + + ret = QL_STATUS_SUCCESS; + } else { + /* Timeout or resource error. */ + DEBUG9_10(printk("qla2x00_get_ioctl_access(%ld): timed out " + "or wait_q error.\n", ha->host_no);) + + ret = QL_STATUS_TIMEOUT; + } + + return ret; +} + +STATIC uint8_t +qla2x00_release_ioctl_access(adapter_state_t *ha) +{ + wait_q_t *next_thread = NULL; + + DEBUG9(printk("qla2x00_release_ioctl_access:(%ld): entered.\n", + ha->host_no);) + + clear_bit(IOCTL_ACTIVE, (void *)&(ha->ioctl->access_bits)); + + /* Wake up one pending ioctl thread in wait_q */ + qla2x00_wait_q_remove(ha, &next_thread); + if (next_thread) { + DEBUG9(printk("qla2x00_release_ioctl_access: found wait_q. " + "Waking up waitq %p.\n", &next_thread);) + up(&next_thread->wait_q_sem); + } + + DEBUG9(printk("qla2x00_release_ioctl_access:(%ld): exiting.\n", + ha->host_no);) + + return QL_STATUS_SUCCESS; +} + +/* Find a free wait_q member from the array. Must already got the + * wait_q_lock spinlock. + */ +STATIC void +qla2x00_wait_q_memb_alloc(adapter_state_t *ha, wait_q_t **ret_wait_q_memb) +{ + uint8_t i; + wait_q_t *ptmp = NULL; + + DEBUG9(printk("qla2x00_wait_q_memb_alloc: entered. " + "Inst=%d.\n", apiHBAInstance);) + + for (i = 0; i < MAX_IOCTL_WAIT_THREADS; i++) { + if (!(ha->ioctl->wait_q_arr[i].flags & WQ_IN_USE)) { + ha->ioctl->wait_q_arr[i].flags |= WQ_IN_USE; + ptmp = &ha->ioctl->wait_q_arr[i]; + break; + } + } + + *ret_wait_q_memb = ptmp; + + DEBUG9(printk("qla2x00_wait_q_memb_alloc: return waitq_memb=%p. " + "Inst=%d.\n", *ret_wait_q_memb, apiHBAInstance);) +} + +/* Free the specified wait_q member. Must already got the wait_q_lock + * spinlock. + */ +STATIC void +qla2x00_wait_q_memb_free(adapter_state_t *ha, wait_q_t *pfree_wait_q_memb) +{ + DEBUG9(printk("qla2x00_wait_q_memb_free: entered. " + "Inst=%d.\n", apiHBAInstance);) + + if (pfree_wait_q_memb != NULL) + pfree_wait_q_memb->flags &= ~WQ_IN_USE; + + DEBUG9(printk("qla2x00_wait_q_memb_free: exiting. " + "Inst=%d.\n", apiHBAInstance);) +} + +/* Allocates a wait_q_t struct and add to the wait_q list. */ +STATIC uint8_t +qla2x00_wait_q_add(adapter_state_t *ha, wait_q_t **ret_wq) +{ + uint8_t ret; + unsigned long cpu_flags; + wait_q_t *ptmp = NULL; + + spin_lock_irqsave(&ha->ioctl->wait_q_lock, cpu_flags); + + DEBUG9(printk("qla2x00_wait_q_add: got wait_q spinlock. " + "Inst=%d.\n", apiHBAInstance);) + + qla2x00_wait_q_memb_alloc(ha, &ptmp); + if (ptmp == NULL) { + /* can't add any more threads */ + DEBUG9_10(printk("qla2x00_wait_q_add: ERROR no more " + "ioctl threads allowed. Inst=%d.\n", apiHBAInstance);) + + ret = QL_STATUS_RESOURCE_ERROR; + } else { + if (ha->ioctl->wait_q_tail == NULL) { + /* First thread to queue. */ + set_bit(IOCTL_WANT, (void *)&ha->ioctl->access_bits); + + ha->ioctl->wait_q_head = ptmp; + } else { + ha->ioctl->wait_q_tail->pnext = ptmp; + } + ha->ioctl->wait_q_tail = ptmp; + + *ret_wq = ptmp; + + /* Now init the semaphore */ + + init_MUTEX_LOCKED(&ptmp->wait_q_sem); + + ret = QL_STATUS_SUCCESS; + } + + DEBUG9(printk("qla2x00_wait_q_add: going to release spinlock. " + "ret_wq=%p, ret=%d. Inst=%d.\n", *ret_wq, ret, apiHBAInstance);) + + spin_unlock_irqrestore(&ha->ioctl->wait_q_lock, cpu_flags); + + return ret; +} + +/* Just remove one member from wait_q. Don't free anything. */ +STATIC void +qla2x00_wait_q_remove(adapter_state_t *ha, wait_q_t **ret_wq) +{ + unsigned long cpu_flags; + + spin_lock_irqsave(&ha->ioctl->wait_q_lock, cpu_flags); + + DEBUG9(printk("qla2x00_wait_q_remove: got wait_q spinlock. " + "Inst=%d.\n", apiHBAInstance);) + + /* Remove from head */ + *ret_wq = ha->ioctl->wait_q_head; + if (ha->ioctl->wait_q_head != NULL) { + ha->ioctl->wait_q_head = ha->ioctl->wait_q_head->pnext; + if (ha->ioctl->wait_q_head == NULL) { + /* That's the last one in queue. */ + ha->ioctl->wait_q_tail = NULL; + } + (*ret_wq)->pnext = NULL; + } + + DEBUG9(printk("qla2x00_wait_q_remove: return ret_wq=%p. Going to " + "release spinlock. Inst=%d.\n", *ret_wq, apiHBAInstance);) + + spin_unlock_irqrestore(&ha->ioctl->wait_q_lock, cpu_flags); +} + + diff -urNp 2.4.19rc1/drivers/scsi/qla2xxx/qla_cfg.c qlogic/drivers/scsi/qla2xxx/qla_cfg.c --- 2.4.19rc1/drivers/scsi/qla2xxx/qla_cfg.c Thu Jan 1 01:00:00 1970 +++ qlogic/drivers/scsi/qla2xxx/qla_cfg.c Mon Jul 8 12:05:21 2002 @@ -0,0 +1,2422 @@ +/****************************************************************************** + * QLOGIC LINUX SOFTWARE + * + * QLogic ISP2x00 device driver for Linux 2.4.x + * Copyright (C) 2002 Qlogic Corporation + * (www.qlogic.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, 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. + * + ******************************************************************************/ + +/* + * QLogic ISP2x00 Multi-path LUN Support Driver + * + */ + +#include "qla_def.h" +#include "qlfo.h" +#include "qla_cfg.h" +#include "qla_dbg.h" +#include "qla_gbl.h" + + +#ifdef LINUX +#include "qla_cfgln.c" +#endif + + +/* + * Local Function Prototypes. + */ +static mp_path_t * qla2x00_select_next_path(mp_host_t *host, mp_device_t *dp, uint8_t); + +static uint32_t qla2x00_add_portname_to_mp_dev(mp_device_t *, uint8_t *); +static mp_device_t * qla2x00_allocate_mp_dev(uint8_t *, uint8_t *); +static mp_path_t * qla2x00_allocate_path(mp_host_t *host, uint16_t path_id, + fc_port_t *port, uint16_t dev_id); +static mp_host_t * qla2x00_find_host_by_name(uint8_t *); +static mp_device_t * qla2x00_find_or_allocate_mp_dev (mp_host_t *, uint16_t, + fc_port_t *); +static mp_path_t * qla2x00_find_or_allocate_path(mp_host_t *, mp_device_t *, + uint16_t, fc_port_t *); +static uint32_t qla2x00_send_failover_notify(mp_device_t *, uint8_t lun, + mp_path_t *new_path, mp_path_t *old_path); +static BOOL qla2x00_update_mp_host( mp_host_t *); +static uint32_t qla2x00_update_mp_tree (void); +static fc_lun_t *qla2x00_find_matching_lun(uint8_t , mp_path_t *); +static mp_path_t *qla2x00_find_path_by_id(mp_device_t *, uint8_t ); +static mp_device_t *qla2x00_find_mp_dev_by_id(mp_host_t *, uint8_t ); +static mp_device_t *qla2x00_find_mp_dev_by_name(mp_host_t *, uint8_t *); +static BOOL qla2x00_is_ww_name_zero(uint8_t *); +static void qla2x00_add_path(mp_path_list_t *, mp_path_t *); +static BOOL qla2x00_is_portname_in_device(mp_device_t *, uint8_t *); +static void qla2x00_failback_luns( mp_host_t *); +static void qla2x00_failback_single_lun( mp_device_t *dp, uint8_t lun, uint8_t new); +static void qla2x00_setup_new_path( mp_device_t *, mp_path_t *); +static void qla2x00_map_os_targets(mp_host_t *); +static void qla2x00_map_os_luns(mp_host_t *, mp_device_t *, uint16_t ); +mp_host_t * qla2x00_cfg_find_host(adapter_state_t *ha); +static mp_path_list_t * qla2x00_allocate_path_list( void ); +#ifndef LINUX +static void qla2x00_cfg_suspension(HBA_t *ha, BOOL flag); +#endif +static uint32_t +qla2x00_cfg_register_failover_lun(mp_device_t *,srb_t *, fc_lun_t *); +static void +qla2x00_map_a_oslun(mp_host_t *, mp_device_t *, uint16_t , uint16_t ); +static mp_path_t *qla2x00_get_visible_path(mp_device_t *dp); + +/* + * Global data items + */ +mp_host_t *mp_hosts_base = NULL; +BOOL mp_config_required = FALSE; +static int mp_num_hosts = 0; +static BOOL mp_initialized = FALSE; + + +/* + * ENTRY ROUTINES + */ + +/* + * qla2x00_cfg_init + * Initialize configuration structures to handle an instance of + * an HBA, QLA2x000 card. + * + * Input: + * ha = adapter state pointer. + * + * Returns: + * qla2x00 local function return status code. + * + * Context: + * Kernel context. + */ +int +qla2x00_cfg_init(adapter_state_t *ha) +{ + int rval; + + ENTER("qla2x00_cfg_init"); + set_bit(CFG_ACTIVE, &ha->cfg_flags); + if (!mp_initialized) { + /* First HBA, initialize the failover global properties */ + qla2x00_fo_init_params(ha); + + /* If the user specified a device configuration then + * it is use as the configuration. Otherwise, we wait + * for path discovery. + */ + if ( mp_config_required ) + qla2x00_cfg_build_path_tree(ha); + } + rval = qla2x00_cfg_path_discovery(ha); + clear_bit(CFG_ACTIVE, &ha->cfg_flags); + LEAVE("qla2x00_cfg_init"); + return rval; +} + +/* + * qla2x00_cfg_path_discovery + * Discover the path configuration from the device configuration + * for the specified host adapter and build the path search tree. + * This function is called after the lower level driver has + * completed its port and lun discovery. + * + * Input: + * ha = adapter state pointer. + * + * Returns: + * qla2x00 local function return status code. + * + * Context: + * Kernel context. + */ +int +qla2x00_cfg_path_discovery(adapter_state_t *ha) +{ + int rval = QLA2X00_SUCCESS; + mp_host_t *host; + uint8_t *name; +#ifdef LINUX + + name = &ha->init_cb->node_name[0]; +#else + + name = &ha->init_ctrl_blk.node_name[0]; +#endif + + ENTER("qla2x00_cfg_path_discovery"); + QL_DUMP_13("cfg_path_discovery: Entered", + name, 8, WWN_SIZE); + + set_bit(CFG_ACTIVE, &ha->cfg_flags); + /* Initialize the path tree for this adapter */ + host = qla2x00_find_host_by_name(name); + if ( mp_config_required ) { + if (host == NULL ) { + QL_DUMP_12("cfg_path_discovery: host not found, node name =", + name, 8, WWN_SIZE); + rval = QLA2X00_FUNCTION_FAILED; + } else if (ha->instance != host->instance) { + QL_PRINT_12("cfg_path_discovery: host instance don't match - instance=.", + ha->instance, QDBG_HEX_NUM, QDBG_NL); + rval = QLA2X00_FUNCTION_FAILED; + } + } else if ( host == NULL ) { + /* New host adapter so allocate it */ + if ( (host = qla2x00_alloc_host(ha)) == NULL ) { + printk(KERN_INFO "qla2x00(%d): Couldn't allocate host - ha = %p.\n", (int)ha->instance,ha); + rval = QLA2X00_FUNCTION_FAILED; + } + } + + /* Fill in information about host */ + if (host != NULL ) { + host->flags |= MP_HOST_FLAG_NEEDS_UPDATE; + host->fcport = ha->fcport; + + /* Check if multipath is enabled */ + if (!qla2x00_update_mp_host(host)) { + rval = QLA2X00_FUNCTION_FAILED; + } + } + + if (rval != QLA2X00_SUCCESS) { + /* EMPTY */ + QL_PRINT_12("qla2x00_path_discovery: Exiting FAILED", 0, + QDBG_NO_NUM, QDBG_NL); + } else { + LEAVE("qla2x00_cfg_path_discovery"); + /* EMPTY */ + QL_PRINT_10("qla2x00_path_discovery: Exiting OK", 0, + QDBG_NO_NUM, QDBG_NL); + } + clear_bit(CFG_ACTIVE, &ha->cfg_flags); + + return rval; +} + +/* + * qla2x00_cfg_event_notifiy + * Callback for host driver to notify us of configuration changes. + * + * Input: + * ha = adapter state pointer. + * i_type = event type + * + * Returns: + * + * Context: + * Kernel context. + */ +int +qla2x00_cfg_event_notify(adapter_state_t *ha, uint32_t i_type) +{ + mp_host_t *host; /* host adapter pointer */ + + ENTER("qla2x00_cfg_event_notify"); + set_bit(CFG_ACTIVE, &ha->cfg_flags); + switch (i_type) { + case MP_NOTIFY_RESET_DETECTED: + DEBUG(printk("scsi%ld: MP_NOTIFY_RESET_DETECTED - no action\n",ha->host_no);) + break; + case MP_NOTIFY_PWR_LOSS: + DEBUG(printk("scsi%ld: MP_NOTIFY_PWR_LOSS - update tree\n",ha->host_no);) + /* Update our path tree in case we are losing the adapter */ + qla2x00_update_mp_tree(); + /* Free our resources for adapter */ + break; + case MP_NOTIFY_LOOP_UP: + DEBUG(printk("scsi%ld: MP_NOTIFY_LOOP_UP - update host tree\n",ha->host_no);) + /* Adapter is back up with new configuration */ + if ((host = qla2x00_cfg_find_host(ha)) != NULL) { + host->flags |= MP_HOST_FLAG_NEEDS_UPDATE; + host->fcport = ha->fcport; + qla2x00_update_mp_tree(); + } + break; + case MP_NOTIFY_LOOP_DOWN: + case MP_NOTIFY_BUS_RESET: + DEBUG(printk("scsi%ld: MP_NOTIFY_OTHERS - no action\n",ha->host_no);) + break; + default: + break; + + } + clear_bit(CFG_ACTIVE, &ha->cfg_flags); + LEAVE("qla2x00_cfg_event_notify"); + + return QLA2X00_SUCCESS; +} + +/* + * qla2x00_cfg_failover + * A problem has been detected with the current path for this + * lun. Select the next available path as the current path + * for this device. + * + * Inputs: + * ha = pointer to host adapter + * fp - pointer to failed fc_lun (failback lun) + * tgt - pointer to target + * + * Returns: + * pointer to new fc_lun_t, or NULL if failover fails. + */ +fc_lun_t * +qla2x00_cfg_failover(adapter_state_t *ha, fc_lun_t *fp, + os_tgt_t *tgt, srb_t *sp) +{ + mp_host_t *host; /* host adapter pointer */ + mp_device_t *dp; /* virtual device pointer */ + mp_path_t *new_path; /* new path pointer */ + fc_lun_t *new_fp = NULL; + + ENTER("qla2x00_cfg_failover"); + set_bit(CFG_ACTIVE, &ha->cfg_flags); + if ((host = qla2x00_cfg_find_host(ha)) != NULL) { + + if( (dp = qla2x00_find_mp_dev_by_name(host, tgt->fc_name)) != NULL ) { + DEBUG3(printk("qla2x00_cfg_failover: dp = %p\n", dp);) + /* + * Point at the next path in the path list if there is + * one, and if it hasn't already been failed over by another + * I/O. If there is only one path continuer to point at it. + */ + new_path = qla2x00_select_next_path(host, dp, fp->lun); + DEBUG3(printk("cfg_failover: new path @ %p \n",new_path);) + new_fp = qla2x00_find_matching_lun(fp->lun, new_path); + DEBUG3(printk("cfg_failover: new fp lun @ %p \n",new_fp);) + + qla2x00_cfg_register_failover_lun(dp, sp, new_fp); + } else { + printk(KERN_INFO "qla2x00(%d): Couldn't find device to failover\n",host->instance); + } + } + clear_bit(CFG_ACTIVE, &ha->cfg_flags); + LEAVE("qla2x00_cfg_failover"); + return new_fp; +} + +/* + * IOCTL support + */ +#define CFG_IOCTL +#ifdef CFG_IOCTL +/* + * qla2x00_cfg_get_paths + * Get list of paths EXT_FO_GET_PATHS. + * + * Input: + * ha = pointer to adapter + * bp = pointer to buffer + * cmd = Pointer to kernel copy of EXT_IOCTL. + * + * Return; + * 0 on success or errno. + * + * Context: + * Kernel context. + */ +uint32_t +qla2x00_cfg_get_paths(EXT_IOCTL *cmd, FO_GET_PATHS *bp, int mode) +{ + FO_PATHS_INFO *paths, *u_paths; + FO_PATH_ENTRY *entry; + EXT_DEST_ADDR *sap = &bp->HbaAddr; + mp_host_t *host; /* host adapter pointer */ + mp_device_t *dp; /* virtual device pointer */ + mp_path_t *path; /* path pointer */ + mp_path_list_t *path_list; /* path list pointer */ + int cnt; + uint32_t rval = 0; + adapter_state_t *ha; + + u_paths = (FO_PATHS_INFO *) cmd->ResponseAdr; + ha = qla2x00_get_hba((int)bp->HbaInstance); + + if ((host = qla2x00_cfg_find_host(ha)) == NULL) { + cmd->Status = EXT_STATUS_DEV_NOT_FOUND; + cmd->DetailStatus = EXT_DSTATUS_HBA_INST; + QL_PRINT_12("qla2x00_get_paths: cannot find target", + ha->instance, QDBG_DEC_NUM,QDBG_NL); + return ENODEV; + } + + if ((paths = (FO_PATHS_INFO *)kmem_zalloc(sizeof(FO_PATHS_INFO), + GFP_ATOMIC,20)) == NULL) { + + DEBUG2(printk("qla_cfg_get_paths: failed to allocate memory " + "of size (%ld)\n", sizeof(FO_PATHS_INFO));) + return 1; + } + + /* Scan for mp_dev by nodename *ONLY* */ + if (sap->DestType != EXT_DEF_DESTTYPE_WWNN) { + + cmd->Status = EXT_STATUS_INVALID_PARAM; + cmd->DetailStatus = EXT_DSTATUS_TARGET; + rval = ENODEV; + + DEBUG4(printk("qla2x00_cfg_get_paths: target ca be accessed " + "by NodeName only.");) + + } else if ((dp = qla2x00_find_mp_dev_by_name(host, + sap->DestAddr.WWNN)) != NULL) { + + path_list = dp->path_list; + + paths->HbaInstance = bp->HbaInstance; + paths->PathCount = path_list->path_cnt; + paths->VisiblePathIndex = path_list->visible; + + /* copy current paths */ + BCOPY( (uint8_t *) &path_list->current_path[0], + (uint8_t *) paths->CurrentPathIndex, + sizeof(paths->CurrentPathIndex)); + + path = path_list->last; + for (cnt = 0; cnt < path_list->path_cnt; cnt++) { + entry = &(paths->PathEntry[path->id]); + + entry->Visible = (path->id == path_list->visible); + entry->HbaInstance = path->host->instance; + BCOPY((uint8_t *) path->portname, + (uint8_t *) entry->PortName, 8); + path = path->next; + } + + /* copy data to user */ + os_copyout((void *) &paths->PathCount, + (void *) &u_paths->PathCount, 4, mode ); + os_copyout((void *) &paths->CurrentPathIndex, + (void *) &u_paths->CurrentPathIndex, + sizeof(paths->CurrentPathIndex), mode ); + os_copyout((void *) &paths->PathEntry, + (void *) &u_paths->PathEntry, + sizeof(paths->PathEntry), mode ); + + } else { + + cmd->Status = EXT_STATUS_DEV_NOT_FOUND; + cmd->DetailStatus = EXT_DSTATUS_TARGET; + + DEBUG4(printk("qla2x00_cfg_get_paths: cannot find device " + "(%02x-%02x-%02x-%02x-%02x-%02x-%02x-%02x)\n.", + sap->DestAddr.WWNN[0], + sap->DestAddr.WWNN[1], + sap->DestAddr.WWNN[2], + sap->DestAddr.WWNN[3], + sap->DestAddr.WWNN[4], + sap->DestAddr.WWNN[5], + sap->DestAddr.WWNN[6], + sap->DestAddr.WWNN[7]);) + rval = ENODEV; + } + + KMEM_FREE(paths, sizeof(paths)); + + return rval; + +} + +/* + * qla2x00_cfg_set_current_path + * Set the current failover path EXT_FO_GET_PATHS IOCTL call. + * + * Input: + * ha = pointer to adapter + * bp = pointer to buffer + * cmd = Pointer to kernel copy of EXT_IOCTL. + * + * Return; + * 0 on success or errno. + * + * Context: + * Kernel context. + */ +int +qla2x00_cfg_set_current_path(EXT_IOCTL *cmd, FO_SET_CURRENT_PATH *bp, int mode ) +{ + uint8_t orig_id, new_id; + mp_host_t *host, *new_host; + mp_device_t *dp; + mp_path_list_t *path_list; + EXT_DEST_ADDR *sap = &bp->HbaAddr; + uint32_t rval = 0; + adapter_state_t *ha; + mp_path_t *new_path, *old_path; + + /* First find the adapter with the instance number. */ + ha = qla2x00_get_hba((int)bp->HbaInstance); + if ((host = qla2x00_cfg_find_host(ha)) != NULL) { + set_bit(CFG_ACTIVE, &ha->cfg_flags); + sap = &bp->HbaAddr; + /* Scan for mp_dev by nodename *ONLY* */ + if (sap->DestType != EXT_DEF_DESTTYPE_WWNN) { + cmd->Status = EXT_STATUS_DEV_NOT_FOUND; + cmd->DetailStatus = EXT_DSTATUS_TARGET; + rval = ENODEV; + DEBUG4(printk("qla2x00_cfg_set_current_path: target ca be accessed by NodeName only.");) + } else if ((dp = qla2x00_find_mp_dev_by_name(host, sap->DestAddr.WWNN)) != NULL) { + path_list = dp->path_list; + + if (bp->NewCurrentPathIndex < MAX_PATHS_PER_DEVICE && + sap->Lun < MAX_LUNS && + bp->NewCurrentPathIndex < path_list->path_cnt) { + orig_id = path_list->current_path[sap->Lun]; + + DEBUG(printk("qla2x00_set_current_path: dev no %d, lun %d, newindex %d, oldindex %d\n", + dp->dev_id,sap->Lun, bp->NewCurrentPathIndex, orig_id);) + QL_DUMP_10("node name", (uint8_t *)host->nodename, 8, WWN_SIZE); + + if (bp->NewCurrentPathIndex != orig_id) { + /* Acquire the update spinlock. */ + + /* Set the new current path. */ + new_id = path_list->current_path[sap->Lun] = + bp->NewCurrentPathIndex; + + /* Release the update spinlock. */ + old_path =qla2x00_find_path_by_id(dp, orig_id); + new_path =qla2x00_find_path_by_id(dp, new_id); + new_host = new_path->host; + /* remap the lun */ + qla2x00_map_a_oslun(new_host, dp, + dp->dev_id, sap->Lun); + + qla2x00_send_failover_notify(dp, + sap->Lun, + old_path, + new_path); + } else { + /* EMPTY */ + QL_PRINT_10("qla2x00_set_current_path:" + " path index not changed", + 0, QDBG_NO_NUM, QDBG_NL); + } + + } else { + cmd->Status = EXT_STATUS_INVALID_PARAM; + cmd->DetailStatus = EXT_DSTATUS_PATH_INDEX; + rval = EINVAL; + QL_PRINT_10( + "qla2x00_set_current_path invalid index for device.", + 0, QDBG_NO_NUM, QDBG_NL); + } + + } else { + cmd->Status = EXT_STATUS_DEV_NOT_FOUND; + cmd->DetailStatus = EXT_DSTATUS_TARGET; + rval = ENODEV; + QL_PRINT_10("qla2x00_set_current_path cannot find device.", + 0, QDBG_NO_NUM, QDBG_NL); + } + clear_bit(CFG_ACTIVE, &ha->cfg_flags); + + } else { + cmd->Status = EXT_STATUS_DEV_NOT_FOUND; + cmd->DetailStatus = EXT_DSTATUS_HBA_INST; + rval = ENODEV; + QL_PRINT_10("qla2x00_set_current_path cannot find adapter.", + 0, QDBG_NO_NUM, QDBG_NL); + } + + return rval; +} +#endif + +/* + * MP SUPPORT ROUTINES + */ + +/* + * qla2x00_add_mp_host + * Add the specified host the host list. + * + * Input: + * node_name = pointer to node name + * + * Returns: + * + * Context: + * Kernel context. + */ +mp_host_t * +qla2x00_add_mp_host(uint8_t *node_name) +{ + mp_host_t *host, *temp; + + host = (mp_host_t *) KMEM_ZALLOC(sizeof(mp_host_t), 1); + if (host != NULL) { + qla_bcopy((uint8_t *)host->nodename, (uint8_t *)node_name, WWN_SIZE); + host->next = NULL; + /* add to list */ + if( mp_hosts_base == NULL ) { + mp_hosts_base = host; + } else { + temp = mp_hosts_base; + while( temp->next != NULL) + temp = temp->next; + temp->next = host; + } + mp_num_hosts++; + } + return host; +} + +/* + * qla2x00_alloc_host + * Allocate and initialize an mp host structure. + * + * Input: + * ha = pointer to base driver's adapter structure. + * + * Returns: + * Pointer to host structure or null on error. + * + * Context: + * Kernel context. + */ +mp_host_t * +qla2x00_alloc_host(HBA_t *ha) +{ + mp_host_t *host, *temp; + uint8_t *name, *portname; +#ifdef LINUX + + name = &ha->init_cb->node_name[0]; + portname = &ha->init_cb->port_name[0]; +#else + + name = &ha->init_ctrl_blk.node_name[0]; + portname = &ha->init_ctrl_blk.port_name[0]; +#endif + + QL_PRINT_13("qla2x00_alloc_host: Entered instance ", ha->instance, + QDBG_DEC_NUM, QDBG_NL); + QL_DUMP_13("HBA node name[8]= ", name, 0, WWN_SIZE); + + host = (mp_host_t *) KMEM_ZALLOC(sizeof(mp_host_t), 2); + + if (host != NULL) { + + host->ha = ha; + qla_bcopy((uint8_t *)host->nodename, (uint8_t *)name, WWN_SIZE); + qla_bcopy((uint8_t *)host->portname, (uint8_t *)portname, WWN_SIZE); + host->next = NULL; + host->flags = MP_HOST_FLAG_NEEDS_UPDATE; + host->instance = ha->instance; + /* host->MaxLunsPerTarget = qla_fo_params.MaxLunsPerTarget; */ + + if (qla2x00_fo_enabled(host->ha, host->instance)) { + host->flags |= MP_HOST_FLAG_FO_ENABLED; + QL_PRINT_13("qla2x00_alloc_host: Failover enabled", 0, + QDBG_NO_NUM, QDBG_NL); + } else { + /* EMPTY */ + QL_PRINT_13("qla2x00_alloc_host: Failover disabled", 0, + QDBG_NO_NUM, QDBG_NL); + } + /* add to list */ + if( mp_hosts_base == NULL ) { + mp_hosts_base = host; + } else { + temp = mp_hosts_base; + while( temp->next != NULL) + temp = temp->next; + temp->next = host; + } + mp_num_hosts++; + + DEBUG3(sprintf(debug_buff,"Alloc host @ %p \n",host);) + DEBUG3(qla2x00_print(debug_buff);) + } else { + /* EMPTY */ + QL_PRINT_2_3("qla2x00_alloc_host: Failed", 0, + QDBG_NO_NUM, QDBG_NL); + } + + return host; +} + +/* + * qla2x00_add_portname_to_mp_dev + * Add the specific port name to the list of port names for a + * multi-path device. + * + * Input: + * dp = pointer ti virtual device + * portname = Port name to add to device + * + * Returns: + * qla2x00 local function return status code. + * + * Context: + * Kernel context. + */ +static uint32_t +qla2x00_add_portname_to_mp_dev(mp_device_t *dp, uint8_t *portname) +{ + uint8_t index; + uint32_t rval = QLA2X00_SUCCESS; + + ENTER("qla2x00_add_portname_to_mp_dev"); + QL_PRINT_10("qla2x00_add_portname_to_mp_dev: device= ", dp, + QDBG_HEX_NUM, QDBG_NL); + QL_DUMP_10("port name[8]=", portname, 8, WWN_SIZE); + + /* Look for an empty slot and add the specified portname. */ + for (index = 0; index < MAX_NUMBER_PATHS; index++) { + if (qla2x00_is_ww_name_zero(&dp->portnames[index][0])) { + DEBUG3(sprintf(debug_buff,"adding portname to dp = %p at index = %d\n",dp,index);) + DEBUG3(qla2x00_print(debug_buff)); + qla_bcopy((uint8_t *)&dp->portnames[index][0], (uint8_t *)portname, WWN_SIZE); + break; + } + + } + if (index == MAX_NUMBER_PATHS) { + rval = QLA2X00_FUNCTION_FAILED; + QL_PRINT_10("qla2x00_add_portname_to_mp_dev: Fail no room", 0, + QDBG_NO_NUM, QDBG_NL); + } else { + /* EMPTY */ + QL_PRINT_10("qla2x00_add_portname_to_mp_dev: Exit OK", 0, + QDBG_NO_NUM, QDBG_NL); + } + LEAVE("qla2x00_add_portname_to_mp_dev"); + return rval; +} + + + +/* + * qla2x00_allocate_mp_dev + * Allocate an fc_mp_dev, clear the memory, and log a system + * error if the allocation fails. After fc_mp_dev is allocated + * + * Inputs: + * nodename = pointer to nodename of new device + * portname = pointer to portname of new device + * + * Returns: + * Pointer to new mp_device_t, or NULL if the allocation fails. + * + * Context: + * Kernel context. + */ +static mp_device_t * +qla2x00_allocate_mp_dev(uint8_t *nodename, uint8_t *portname) +{ + mp_device_t *dp; /* Virtual device pointer */ + + ENTER("qla2x00_allocate_mp_dev"); + + dp = (mp_device_t *)KMEM_ZALLOC(sizeof(mp_device_t), 3); + + if (dp != NULL) { + + DEBUG3(sprintf(debug_buff,"qla2x00_allocate_mp_dev: mp_device_t allocated at %p\n", dp);) + DEBUG3(qla2x00_print(debug_buff);) + + /* + * Copy node name into the mp_device_t. + */ + if( nodename ) + qla_bcopy((uint8_t *)&dp->nodename[0], (uint8_t *)nodename, WWN_SIZE); + + /* + * Since this is the first port, it goes at + * index zero. + */ + if( portname ) + qla_bcopy((uint8_t *)&dp->portnames[0][0], (uint8_t *)portname, PORT_NAME_SIZE); + + /* Allocate an PATH_LIST for the fc_mp_dev. */ + if ((dp->path_list = qla2x00_allocate_path_list()) == NULL) { + QL_PRINT_2( + "qla2x00_allocate_mp_dev: allocate path_list Failed", + 0, QDBG_NO_NUM, QDBG_NL); + KMEM_FREE(dp, sizeof(mp_device_t)); + dp = NULL; + } else { + DEBUG3(sprintf(debug_buff,"qla2x00_allocate_mp_dev: mp_path_list_t allocated at %p\n", dp->path_list);) + DEBUG3(qla2x00_print(debug_buff);) + /* EMPTY */ + QL_PRINT_2("qla2x00_allocate_mp_dev: Exit Okay", + 0, QDBG_NO_NUM,QDBG_NL); + DEBUG3(qla2x00_print("update_mp_device: mp_device_t=");) + DEBUG3(qla2x00_dump_buffer((uint8_t *)dp,sizeof(mp_device_t));) + } + + } else { + /* EMPTY */ + QL_PRINT_2("qla2x00_allocate_mp_dev: Allocate failed", + 0, QDBG_NO_NUM,QDBG_NL); + + } + + LEAVE("qla2x00_allocate_mp_dev"); + return dp; +} + +/* + * qla2x00_allocate_path + * Allocate a PATH. + * + * Inputs: + * host Host adapter for the device. + * path_id path number + * port port for device. + * dev_id device number + * + * Returns: + * Pointer to new PATH, or NULL if the allocation failed. + * + * Context: + * Kernel context. + */ +static mp_path_t * +qla2x00_allocate_path(mp_host_t *host, uint16_t path_id, + fc_port_t *port, uint16_t dev_id) +{ + mp_path_t *path; + uint16_t lun; + + QL_PRINT_13("qla2x00_allocate_path: Entered", 0, QDBG_NO_NUM, QDBG_NL); + + path = (mp_path_t *) KMEM_ZALLOC(sizeof(mp_path_t), 4); + if (path != NULL) { + DEBUG3(printk("qla2x00_allocate_path: mp_path_t allocated at %p\n", + path); ) + + /* Copy the supplied information into the MP_PATH. */ + path->host = host; + if (!(port->flags & FC_CONFIG) || + port->loop_id != FC_NO_LOOP_ID) { + path->port = port; + } + path->id = path_id; + port->cur_path = path->id; + path->mp_byte = port->mp_byte; + path->next = NULL; + qla_bcopy((uint8_t *)path->portname, (uint8_t *)port->port_name, WWN_SIZE); + for (lun = 0; lun < MAX_LUNS; lun++) { + path->lun_data.data[lun] |= LUN_DATA_ENABLED; + } + } else { + /* EMPTY */ + QL_PRINT_2("qla2x00_allocate_path: Failed", 0, + QDBG_NO_NUM, QDBG_NL); + } + + return path; +} + + +/* + * qla2x00_allocate_path_list + * Allocate a PATH_LIST + * + * Input: + * None + * + * Returns: + * Pointer to new PATH_LIST, or NULL if the allocation fails. + * + * Context: + * Kernel context. + */ +static mp_path_list_t * +qla2x00_allocate_path_list( void ) +{ + mp_path_list_t *path_list; + uint16_t i; + uint8_t l; + + path_list = (mp_path_list_t *) KMEM_ZALLOC(sizeof(mp_path_list_t), 5); + + if (path_list != NULL) { + QL_PRINT_10("qla2x00_allocate_pathlist: allocated at ", (void *)path_list, + QDBG_HEX_NUM, QDBG_NL); + + path_list->visible = PATH_INDEX_INVALID; + /* Initialized current path */ + for (i = 0; i < MAX_LUNS_PER_DEVICE; i++) { + l = (uint8_t)(i & 0xFF); + path_list->current_path[l] = PATH_INDEX_INVALID; + } + path_list->last = NULL; + + } else { + /* EMPTY */ + QL_PRINT_2("Alloc pool failed for MP_PATH_LIST.", 0, QDBG_NO_NUM, QDBG_NL); + + } + + return path_list; +} + +/* + * qla2x00_cfg_find_host + * Look through the existing multipath tree, and find + * a host adapter to match the specified ha. + * + * Input: + * ha = pointer to host adapter + * + * Return: + * Pointer to new host, or NULL if no match found. + * + * Context: + * Kernel context. + */ +mp_host_t * +qla2x00_cfg_find_host(adapter_state_t *ha) +{ + mp_host_t *host = NULL; /* Host found and null if not */ + mp_host_t *tmp_host; + + ENTER("qla2x00_cfg_find_host"); + for( tmp_host = mp_hosts_base; (tmp_host); tmp_host = tmp_host->next ) { + if (tmp_host->ha == ha) { + host = tmp_host; + DEBUG3(sprintf(debug_buff,"Found host =%p, instance %d\n",host,host->instance);) + DEBUG3(qla2x00_print(debug_buff)); + break; + } + } + + LEAVE("qla2x00_cfg_find_host"); + return host; +} + +/* + * qla2x00_find_host_by_name + * Look through the existing multipath tree, and find + * a host adapter to match the specified name. + * + * Input: + * name = node name to match. + * + * Return: + * Pointer to new host, or NULL if no match found. + * + * Context: + * Kernel context. + */ +mp_host_t * +qla2x00_find_host_by_name(uint8_t *name) +{ + mp_host_t *host; /* Host found and null if not */ + + for (host = mp_hosts_base; (host); host = host->next) { + if (BCMP(host->nodename, name, WWN_SIZE) == 0) + break; + } + return host; +} + + +/* + * qla2x00_find_or_allocate_mp_dev + * Look through the existing multipath control tree, and find + * an mp_device_t with the supplied world-wide node name. If + * one cannot be found, allocate one. + * + * Input: + * host Adapter to add device to. + * dev_id Index of device on adapter. + * port port database information. + * + * Returns: + * Pointer to new mp_device_t, or NULL if the allocation fails. + * + * Side Effects: + * If the MP HOST does not already point to the mp_device_t, + * a pointer is added at the proper port offset. + * + * Context: + * Kernel context. + */ +static mp_device_t * +qla2x00_find_or_allocate_mp_dev(mp_host_t *host, uint16_t dev_id, fc_port_t *port) +{ + mp_device_t *dp = NULL; /* pointer to multi-path device */ + BOOL node_found; /* Found matching node name. */ + BOOL port_found; /* Found matching port name. */ + BOOL names_valid; /* Node name and port name are not zero. */ + + mp_host_t *temp_host; /* pointer to temporary host */ + + uint16_t j; + mp_device_t *temp_dp; + + ENTER("qla2x00_find_or_allocate_mp_dev"); + DEBUG3(sprintf(debug_buff,"(find_or_allocate_mp_dev): host =%p, port =%p, id = %d\n",host,port,dev_id);) + DEBUG3(qla2x00_print(debug_buff)); + QL_PRINT_10("qla2x00_find_or_allocate_mp_dev: Entered", 0, QDBG_NO_NUM, QDBG_NL); + + QL_DUMP_13("qla2x00_find_or_allocate_dev: node_name=", port->node_name, 8, WWN_SIZE); + QL_DUMP_13("qla2x00_find_or_allocate_dev: port_name=", port->port_name, 8, WWN_SIZE); + temp_dp = qla2x00_find_mp_dev_by_id(host,dev_id); + + DEBUG3(sprintf(debug_buff,"temp dp =%p\n",temp_dp);) + DEBUG3(qla2x00_print(debug_buff)); + /* if Device already known at this port. */ + if (temp_dp != NULL) { + node_found = qla2x00_is_nodename_equal(temp_dp->nodename, port->node_name); + port_found = qla2x00_is_portname_in_device(temp_dp, port->port_name); + + if (node_found && port_found) { + DEBUG3(qla2x00_print("find_or_alloacte_dev: port exsits in device\n")); + QL_PRINT_10("qla2x00_find_or_allocate_mp_dev: Device found at ", + temp_dp, QDBG_HEX_NUM, QDBG_NL); + + dp = temp_dp; + + /* Copy the LUN configuration data into the mp_device_t. */ + + } + + } + + + /* Sanity check the port information */ + names_valid = (!qla2x00_is_ww_name_zero(port->node_name) && + !qla2x00_is_ww_name_zero(port->port_name)); + + /* + * If the optimized check failed, loop through each known + * device on each known adapter looking for the node name. + */ + if (dp == NULL && names_valid) { + + DEBUG3(qla2x00_print("Searching each adapter for the device...\n")); + for( temp_host = mp_hosts_base; (temp_host); temp_host = temp_host->next ) { + + /* Loop through each potential device on adapter. */ + + for (j = 0; j < MAX_MP_DEVICES; j++) { + temp_dp = temp_host->mp_devs[j]; + + if (temp_dp == NULL) + continue; + + node_found = qla2x00_is_nodename_equal(temp_dp->nodename, + port->node_name); + port_found = qla2x00_is_portname_in_device(temp_dp, + port->port_name); + if (node_found || port_found) { + DEBUG3(sprintf(debug_buff, "Matching device found at %p @ %d\n", temp_dp,j);) + DEBUG3(qla2x00_print(debug_buff)); + + /* + * If the node name matches but the port name was not + * found, add the port name to the list of port names. + */ + if (!port_found) { + qla2x00_add_portname_to_mp_dev(temp_dp, + port->port_name); + } + + /* Set the flag that we have found the device. */ + dp = temp_dp; + host->mp_devs[j] = dp; + dp->use_cnt++; + + /*Fixme(dg) Copy the LUN info into the mp_device_t */ + + break; + } + } + + /* Break outer loop if inner loop succeeded. */ + if (dp != NULL) + break; + } + + } + + /* If we couldn't find one, allocate one. */ + if (dp == NULL && + ( (port->flags & FC_CONFIG) || !mp_config_required ) ) { + dp = qla2x00_allocate_mp_dev(port->node_name, port->port_name); + host->mp_devs[dev_id] = dp; + dp->dev_id = dev_id; + dp->use_cnt++; + } + + LEAVE("qla2x00_allocate_mp_dev"); + return dp; +} + + +/* + * qla2x00_find_or_allocate_path + * Look through the path list for the supplied device, and either + * find the supplied adapter (path) for the adapter, or create + * a new one and add it to the path list. + * + * Input: + * host Adapter (path) for the device. + * dp Device and path list for the device. + * dev_id Index of device on adapter. + * port Device data from port database. + * + * Returns: + * Pointer to new PATH, or NULL if the allocation fails. + * + * Side Effects: + * 1. If the PATH_LIST does not already point to the PATH, + * a new PATH is added to the PATH_LIST. + * 2. If the new path is found to be a second visible path, it is + * marked as hidden, and the device database is updated to be + * hidden as well, to keep the miniport synchronized. + * + * Context: + * Kernel context. + */ +/* ARGSUSED */ +static mp_path_t * +qla2x00_find_or_allocate_path( mp_host_t *host, mp_device_t *dp, uint16_t dev_id, + fc_port_t *port) +{ + mp_path_list_t *path_list = dp->path_list; + mp_path_t *path; + uint8_t id; + + + ENTER("qla2x00_find_or_allocate_path"); + DEBUG3(sprintf(debug_buff,"(find_or_allocate_path): host =%p, port =%p, dp=%p, dev id = %d\n",host,port,dp, dev_id);) + DEBUG3(qla2x00_print(debug_buff)); + /* + * Loop through each known path in the path list. Look for + * a PATH that matches both the adapter and the port name. + */ + path = qla2x00_find_path_by_name( host, path_list, port->port_name ); + + + if (path != NULL ) { + DEBUG3(sprintf(debug_buff,"(find_or_allocate_path): Found an existing path - host =%p, port =%p, path id = %d\n",host,path->port,path->id);) + DEBUG3(qla2x00_print(debug_buff)); + DEBUG3(sprintf(debug_buff,"qla2x00_find_or_allocate_path: Luns for path_id %d, instance %d\n",path->id,host->instance);) + DEBUG3(qla2x00_print(debug_buff);) + DEBUG3(qla2x00_dump_buffer((char *)&path->lun_data.data[0], 64);) + /* If we found an existing path, look for any changes to it. */ + if ( path->port == NULL ) { + DEBUG3(sprintf(debug_buff,"update path %p, path id= %d, mp_byte=0x%x port=%p\n",path,path->id,path->mp_byte,path->port);) + DEBUG3(qla2x00_print(debug_buff);) + path->port = port; + port->mp_byte = path->mp_byte; + } else { + if ((path->mp_byte & MP_MASK_HIDDEN) && + !(port->mp_byte & MP_MASK_HIDDEN)) { + QL_PRINT_10("qla2x00_find_or_allocate_path: Adapter ", + host, QDBG_HEX_NUM, QDBG_NNL); + QL_PRINT_10(" Device ", dp, QDBG_HEX_NUM, QDBG_NNL); + QL_PRINT_10(" Path ", path->id, QDBG_HEX_NUM, QDBG_NL); + QL_PRINT_10(" (", path, QDBG_HEX_NUM, QDBG_NNL); + QL_PRINT_10(") has become visible.", 0, + QDBG_NO_NUM, QDBG_NL); + + path->mp_byte &= ~MP_MASK_HIDDEN; + } + + if (!(path->mp_byte & MP_MASK_HIDDEN) && + (port->mp_byte & MP_MASK_HIDDEN)) { + + QL_PRINT_10("qla2x00_find_or_allocate_path: Adapter ", + host, QDBG_HEX_NUM, QDBG_NNL); + QL_PRINT_10(" Device ", dp, QDBG_HEX_NUM, QDBG_NNL); + QL_PRINT_10(" Path ", path->id, QDBG_HEX_NUM, QDBG_NNL); + QL_PRINT_10(" (", path, QDBG_HEX_NUM, QDBG_NNL); + QL_PRINT_10(") has become hidden.", 0, QDBG_NO_NUM, + QDBG_NL); + + path->mp_byte |= MP_MASK_HIDDEN; + } + } + + + } else { + /* + * If we couldn't find an existing path, and there is still + * room to add one, allocate one and put it in the list. + */ + if (path_list->path_cnt < MAX_PATHS_PER_DEVICE && + path_list->path_cnt < qla_fo_params.MaxPathsPerDevice) { + + id = path_list->path_cnt; + + /* Update port with bitmask info */ + path = qla2x00_allocate_path(host, id, port, dev_id); + DEBUG3(sprintf(debug_buff,"new path %p, path id= %d, mp_byte=0x%x port=%p\n",path,id,path->mp_byte,path->port);) + DEBUG3(qla2x00_print(debug_buff);) + qla2x00_add_path(path_list, path); + + /* Reconcile the new path against the existing ones. */ + qla2x00_setup_new_path(dp, path); + QL_PRINT_13( "qla2x00_find_or_allocate_path: Exit Okay", + 0, QDBG_NO_NUM, QDBG_NL); + } else { + /* EMPTY */ + QL_PRINT_12("qla2x00_find_or_allocate_path: " + "Err exit, no space to add path.", + 0, QDBG_NO_NUM, QDBG_NL); + } + + } + + LEAVE("qla2x00_find_or_allocate_path"); + return path; +} + +static uint32_t +qla2x00_cfg_register_failover_lun(mp_device_t *dp, srb_t *sp, fc_lun_t *new_lp) + +{ + uint32_t status = QLA2X00_SUCCESS; + os_tgt_t *tq; + os_lun_t *lq; + fc_lun_t *old_lp; + + DEBUG2(printk("qla2x00_send_failover_notify: NEW fclun = %p, sp = %p \n", new_lp,sp); ) + /* + * Fix lun descriptors to point to new fclun + * which is a new fcport. + */ + if (new_lp == NULL) { + DEBUG2(printk("qla2x00_send_failover_notify: Failed new lun %p ", new_lp);) + return QLA2X00_FUNCTION_FAILED; + } + tq = sp->tgt_queue; + lq = sp->lun_queue; + if (tq == NULL) { + DEBUG2(printk( "qla2x00_send_failover_notify: Failed to get old tq %p ", tq);) + return QLA2X00_FUNCTION_FAILED; + } + if (lq == NULL) { + DEBUG2(printk( "qla2x00_send_failover_notify: Failed to get old lq %p ", lq);) + return QLA2X00_FUNCTION_FAILED; + } + old_lp = lq->fclun; + lq->fclun = new_lp; + + /* Log the failover to console */ + printk(KERN_INFO + "qla2x00: FAILOVER device %d from %02x%02x%02x%02x%02x%02x%02x%02x -> %02x%02x%02x%02x%02x%02x%02x%02x - LUN %02x, reason=0x%x\n", + dp->dev_id, + old_lp->fcport->port_name[0], + old_lp->fcport->port_name[1], + old_lp->fcport->port_name[2], + old_lp->fcport->port_name[3], + old_lp->fcport->port_name[4], + old_lp->fcport->port_name[5], + old_lp->fcport->port_name[6], + old_lp->fcport->port_name[7], + new_lp->fcport->port_name[0], + new_lp->fcport->port_name[1], + new_lp->fcport->port_name[2], + new_lp->fcport->port_name[3], + new_lp->fcport->port_name[4], + new_lp->fcport->port_name[5], + new_lp->fcport->port_name[6], + new_lp->fcport->port_name[7], new_lp->lun,sp->err_id); + printk(KERN_INFO + "qla2x00: FROM HBA %d to HBA %d \n",(int)old_lp->fcport->ha->instance, + (int)new_lp->fcport->ha->instance); + + DEBUG3(printk("qla2x00_send_failover_notify: NEW fclun = %p , port =%p, loop_id =0x%x, instance %ld\n", new_lp, new_lp->fcport, new_lp->fcport->loop_id,new_lp->fcport->ha->instance); ) + return status; +} + + +/* + * qla2x00_send_failover_notify + * A failover operation has just been done from an old path + * index to a new index. Call lower level driver + * to perform the failover notification. + * + * Inputs: + * device Device being failed over. + * lun LUN being failed over. + * newpath path that was failed over too. + * oldpath path that was failed over from. + * + * Return: + * Local function status code. + * + * Context: + * Kernel context. + */ +/* ARGSUSED */ +static uint32_t +qla2x00_send_failover_notify(mp_device_t *dp, uint8_t lun, mp_path_t *newpath, + mp_path_t *oldpath) +{ + + fc_lun_t *old_lp, *new_lp; + uint32_t status = QLA2X00_SUCCESS; + + QL_PRINT_13("qla2x00_send_failover_notify: Entered", 0, QDBG_NO_NUM, QDBG_NL); + + old_lp = qla2x00_find_matching_lun(lun, oldpath); + new_lp = qla2x00_find_matching_lun(lun, newpath); + + + /* + * If the target is the same target, but a new HBA has been selected, + * send a third party logout if required. + */ + if ((qla_fo_params.FailoverNotifyType & FO_NOTIFY_TYPE_LOGOUT_OR_LUN_RESET || + qla_fo_params.FailoverNotifyType & FO_NOTIFY_TYPE_LOGOUT_OR_CDB) && + qla2x00_is_portname_equal(oldpath->portname, newpath->portname)) { + + status = qla2x00_send_fo_notification(old_lp, new_lp); + if (status == QLA2X00_SUCCESS) { + /* EMPTY */ + QL_PRINT_10("qla2x00_send_failover_notify: Logout succeded", + 0, QDBG_NO_NUM, QDBG_NL); + } else { + /* EMPTY */ + QL_PRINT_2("qla2x00_send_failover_notify: Logout Failed", + 0, QDBG_NO_NUM, QDBG_NL); + } + } else if ((qla_fo_params.FailoverNotifyType & FO_NOTIFY_TYPE_LUN_RESET) || + (qla_fo_params.FailoverNotifyType & FO_NOTIFY_TYPE_LOGOUT_OR_LUN_RESET)) { + + /* If desired, send a LUN reset as the failover notification type. */ + if (newpath->lun_data.data[lun] & LUN_DATA_ENABLED) { + + status = qla2x00_send_fo_notification(old_lp, new_lp); + + if (status == QLA2X00_SUCCESS) { + /* EMPTY */ + QL_PRINT_10("QLCallFailoverNotify: LUN reset succeeded.", + 0, QDBG_NO_NUM, QDBG_NL); + } else { + /* EMPTY */ + QL_PRINT_2( "qla2x00_send_failover_notify: Failed reset LUN ", + lun, QDBG_DEC_NUM, QDBG_NL); + } + } + + } else if (qla_fo_params.FailoverNotifyType == FO_NOTIFY_TYPE_CDB || + qla_fo_params.FailoverNotifyType == FO_NOTIFY_TYPE_LOGOUT_OR_CDB) { + if (newpath->lun_data.data[lun] & LUN_DATA_ENABLED) { + + status = qla2x00_send_fo_notification(old_lp, new_lp); + + if (status == QLA2X00_SUCCESS) { + /* EMPTY */ + QL_PRINT_13("qla2x00_send_failover_notify: Send CDB succeeded", + 0, QDBG_NO_NUM, QDBG_NL); + } else { + /* EMPTY */ + QL_PRINT_12("qla2x00_send_failover_notify: Send CDB Error", + lun, QDBG_DEC_NUM, QDBG_NL); + } + } + + } else { + /* EMPTY */ + QL_PRINT_2( + "QLCallFailoverNotify: failover disabled or no notify routine defined.", + 0, QDBG_NO_NUM, QDBG_NL); + } + + return status; +} + +/* + * qla2x00_select_next_path + * A problem has been detected with the current path for this + * device. Try to select the next available path as the current + * path for this device. If there are no more paths, the same + * path will still be selected. + * + * Inputs: + * dp pointer of device structure. + * lun LUN to failover. + * + * Return Value: + * new path or same path + * + * Context: + * Kernel context. + */ +static mp_path_t * +qla2x00_select_next_path(mp_host_t *host, mp_device_t *dp, uint8_t lun) +{ + mp_path_t *path = NULL; + mp_path_list_t *path_list; + mp_path_t *orig_path; + int id; + uint32_t status; + mp_host_t *new_host; + + ENTER("qla2x00_select_next_path:"); + + path_list = dp->path_list; + if( path_list == NULL ) + return NULL; + + /* Get current path */ + id = path_list->current_path[lun]; + + /* Get path for current path id */ + if ((orig_path = qla2x00_find_path_by_id(dp, id)) != NULL) { + +#ifndef LINUX + qla2x00_cfg_suspension(host->ha, TRUE); +#endif + + /* select next path */ + path = orig_path->next; + new_host = path->host; + + /* FIXME may need to check for HBA being reset */ + DEBUG3(sprintf(debug_buff, "qla2x00_select_next_path: orig path = %p, ", orig_path); ) + DEBUG3(qla2x00_print(debug_buff)); + DEBUG3(sprintf(debug_buff, " new path = %p \n", path); ) + DEBUG3(qla2x00_print(debug_buff)); + DEBUG3(sprintf(debug_buff,"qla2x00_select_next_path: curr idx = %d, new idx = %d\n", orig_path->id, path->id);) + DEBUG3(qla2x00_print(debug_buff)); + QL_DUMP_10(" FAILOVER: device nodename:\r\n", dp->nodename, 8, + WWN_SIZE); + QL_DUMP_10(" Original - host nodename:\r\n", orig_path->host->nodename, 8, + WWN_SIZE); + QL_DUMP_10(" portname:\r\n", orig_path->port->port_name, 8, + WWN_SIZE); + QL_DUMP_10(" New - host nodename\r\n", new_host->nodename, 8, + WWN_SIZE); + QL_DUMP_10(" portname\r\n", path->port->port_name, 8, + WWN_SIZE); + + path_list->current_path[lun] = path->id; + + /* If we selected a new path, do failover notification. */ + if ( path != orig_path) { + status = qla2x00_send_failover_notify(dp, lun, path, orig_path); + + /* Currently we ignore the returned status from + * the notify. however, if failover notify fails */ + + } + } + LEAVE("qla2x00_select_next_path:"); + return path ; +} + + + +/* + * qla2x00_update_mp_host + * Update the multipath control information from the port + * database for that adapter. + * + * Input: + * host Adapter to update. Devices that are new are + * known to be attached to this adapter. + * + * Returns: + * TRUE if updated successfully; FALSE if error. + * + */ +static BOOL +qla2x00_update_mp_host( mp_host_t *host ) +{ + BOOL success = TRUE; + uint16_t dev_id; + fc_port_t *port; + adapter_state_t *ha = host->ha; + + ENTER("qla2x00_update_mp_host"); + /* + * We make sure each port is attached to some virtual device. + */ + for( dev_id = 0, port = ha->fcport; (port) ; port = port->next, dev_id++ ) { + success |= qla2x00_update_mp_device( host, port, dev_id); + } + if( success ) { + qla2x00_map_os_targets(host); + DEBUG2(printk("qla2x00_update_mp_host: Exit OK\n");) + } else { + /* EMPTY */ + DEBUG2(printk("qla2x00_update_mp_host: Exit FAILED\n");) + } + LEAVE("qla2x00_update_mp_host"); + return success; +} + +/* + * qla2x00_update_mp_device + * Update the multipath control information from the port + * database for that adapter. + * + * Inputs: + * host Host adapter structure + * port Device to add to the path tree. + * dev_id Device id + * + * Synchronization: + * The Adapter Lock should have already been acquired + * before calling this routine. + * + * Return + * TRUE if updated successfully; FALSE if error. + * + */ +BOOL +qla2x00_update_mp_device(mp_host_t *host, fc_port_t *port, uint16_t dev_id) +{ + BOOL success = TRUE; + mp_device_t *dp; + mp_path_t *path; + + ENTER("qla2x00_update_mp_device"); + DEBUG3(sprintf(debug_buff,"update_mp_device: host =%p, port =%p, id = %d\n",host,port,dev_id);) + DEBUG3(qla2x00_print(debug_buff)); + QL_DUMP_13("qla2x00_update_mp_device: node_name=", port->node_name, 8, WWN_SIZE); + QL_DUMP_13("qla2x00_update_mp_device: port_name=", port->port_name, 8, WWN_SIZE); + + if (!qla2x00_is_ww_name_zero(port->port_name)) { + + /* Search for a device with a matching node name, or create one. */ + dp = qla2x00_find_or_allocate_mp_dev(host, dev_id, port); + + /* We either have found or created a path list. Find this + * host's path in the path list or allocate a new one + * and add it to the list. + */ + if (dp == NULL) { + QL_PRINT_10("Device NOT found or created at", 0, + QDBG_NO_NUM, QDBG_NL); + return FALSE; + } + + /* Find the path in the current path list, or allocate + * a new one and put it in the list if it doesn't exist. + * Note that we do NOT set bSuccess to FALSE in the case + * of failure here. We must tolerate the situation where + * the customer has more paths to a device than he can + * get into a PATH_LIST. + */ + + path = qla2x00_find_or_allocate_path(host, dp, dev_id, port); + if (path == NULL) { + QL_PRINT_12("Path NOT found or created", 0, + QDBG_NO_NUM, QDBG_NL); + return FALSE; + } + + /* Set the PATH flag to match the device flag + * of whether this device needs a relogin. If any + * device needs relogin, set the relogin countdown. + */ + if ( (port->flags & FC_CONFIG) ) + path->config = TRUE; + + if (atomic_read(&port->state) != FC_ONLINE) { + path->relogin = TRUE; + if (host->relogin_countdown == 0) + host->relogin_countdown = 30; + } else { + path->relogin = FALSE; + } + + } else { + /* EMPTY */ + QL_PRINT_10("qla2x00_update_mp_host: Failed portname empty.", 0, QDBG_NO_NUM, QDBG_NL); + } + + LEAVE("qla2x00_update_mp_device"); + return success; +} + +/* + * qla2x00_update_mp_tree + * Get port information from each adapter, and build or rebuild + * the multipath control tree from this data. This is called + * from init and during port database notification. + * + * Input: + * None + * + * Return: + * Local function return code. + * + */ +static uint32_t +qla2x00_update_mp_tree (void) +{ + mp_host_t *host; + uint32_t rval = QLA2X00_SUCCESS; + + ENTER("qla2x00_update_mp_tree:"); + + /* Loop through each adapter and see what needs updating. */ + for (host = mp_hosts_base; (host) ; host = host->next) { + + QL_PRINT_10("qla2x00_update_mp_tree: Adapter ", + host->instance, QDBG_DEC_NUM, QDBG_NNL); + QL_PRINT_10(" host ", host->hba, QDBG_HEX_NUM,QDBG_NNL); + QL_PRINT_10(" flags ", host->flags, QDBG_HEX_NUM,QDBG_NL); + + /* Clear the countdown; it may be reset in the update. */ + host->relogin_countdown = 0; + + /* Override the NEEDS_UPDATE flag if disabled. */ + if (host->flags & MP_HOST_FLAG_DISABLE || + host->fcport == NULL) + host->flags &= ~MP_HOST_FLAG_NEEDS_UPDATE; + + if (host->flags & MP_HOST_FLAG_NEEDS_UPDATE) { + + /* + * Perform the actual updates. If this succeeds, clear + * the flag that an update is needed, and failback all + * devices that are visible on this path to use this + * path. If the update fails, leave set the flag that + * an update is needed, and it will be picked back up + * during the next timer routine. + */ + if (qla2x00_update_mp_host(host)) { + host->flags &= ~MP_HOST_FLAG_NEEDS_UPDATE; + + qla2x00_failback_luns(host); + } else + rval = QLA2X00_FUNCTION_FAILED; + + } + + } + + if (rval != QLA2X00_SUCCESS) { + /* EMPTY */ + QL_PRINT_12("qla2x00_update_mp_tree: Exit FAILED", 0,QDBG_NO_NUM, QDBG_NL); + + } else { + /* EMPTY */ + QL_PRINT_10("qla2x00_update_mp_tree: Exit OK", 0,QDBG_NO_NUM, QDBG_NL); + } + return rval; +} + + + +/* + * qla2x00_find_matching_lun + * Find the lun in the path that matches the + * specified lun number. + * + * Input: + * lun = lun number + * newpath = path to search for lun + * + * Returns: + * NULL or pointer to lun + * + * Context: + * Kernel context. + * (dg) + */ +static fc_lun_t * +qla2x00_find_matching_lun(uint8_t lun, mp_path_t *newpath) +{ + fc_lun_t *lp = NULL; /* lun ptr */ + fc_lun_t *nlp; /* Next lun ptr */ + fc_port_t *port; /* port ptr */ + + if( (port = newpath->port) != NULL ) { + for( nlp = port->fclun; (nlp) ; nlp = nlp->next ) { + if( lun == nlp->lun ) { + lp = nlp; + break; + } + } + } + return lp; +} + +/* + * qla2x00_find_path_by_name + * Find the path specified portname from the pathlist + * + * Input: + * host = host adapter pointer. + * pathlist = multi-path path list + * portname portname to search for + * + * Returns: + * pointer to the path or NULL + * + * Context: + * Kernel context. + */ +mp_path_t * +qla2x00_find_path_by_name(mp_host_t *host, mp_path_list_t *plp, uint8_t *portname) +{ + mp_path_t *path = NULL; /* match if not NULL */ + mp_path_t *tmp_path; + int cnt; + + if( (tmp_path = plp->last) != NULL ) { + for (cnt = 0; cnt < plp->path_cnt; cnt++) { + if (tmp_path->host == host && + qla2x00_is_portname_equal(tmp_path->portname, portname)) { + path = tmp_path; + break; + } + tmp_path = tmp_path->next; + } + } + return path ; +} + +/* + * qla2x00_find_mp_dev_by_name + * Find the mp_dev for the specified target name. + * + * Input: + * host = host adapter pointer. + * name = Target name + * + * Returns: + * + * Context: + * Kernel context. + */ +static mp_device_t * +qla2x00_find_mp_dev_by_name(mp_host_t *host, uint8_t *name ) +{ + int id; + mp_device_t *dp; + + ENTER("qla2x00_find_mp_dev_by_name"); + for ( id= 0; id < MAX_MP_DEVICES; id++ ) { + if( (dp = host->mp_devs[id] ) == NULL ) + continue; + + if ( qla2x00_is_nodename_equal(dp->nodename, name) ) { + DEBUG3(sprintf(debug_buff,"Found matching device @ index %d:\n",id );) + DEBUG3(qla2x00_print(debug_buff);) + DEBUG3(qla2x00_dump_buffer((uint8_t *)dp,sizeof(mp_device_t));) + return dp; + } + } + LEAVE("qla2x00_find_mp_dev_by_name"); + return NULL; +} + +/* + * qla2x00_find_path_by_id + * Find the path for the specified path id. + * + * Input: + * dp multi-path device + * id path id + * + * Returns: + * pointer to the path or NULL + * + * Context: + * Kernel context. + */ +static mp_path_t * +qla2x00_find_path_by_id(mp_device_t *dp, uint8_t id) +{ + mp_path_t *path = NULL; + mp_path_t *tmp_path; + mp_path_list_t *path_list; + int cnt; + + path_list = dp->path_list; + tmp_path = path_list->last; + for (cnt = 0; (tmp_path) && cnt < path_list->path_cnt; cnt++) { + if (tmp_path->id == id) { + path = tmp_path; + break; + } + tmp_path = tmp_path->next; + } + return path ; +} + +/* + * qla2x00_find_mp_dev_by_id + * Find the mp_dev for the specified target id. + * + * Input: + * host = host adapter pointer. + * tgt = Target id + * + * Returns: + * + * Context: + * Kernel context. + */ +static mp_device_t * +qla2x00_find_mp_dev_by_id(mp_host_t *host, uint8_t id ) +{ + if ( id < MAX_MP_DEVICES ) + return host->mp_devs[id]; + else + return NULL; +} + +/* + * qla2x00_get_visible_path + * Find the the visible path for the specified device. + * + * Input: + * dp = device pointer + * + * Returns: + * NULL or path + * + * Context: + * Kernel context. + */ +static mp_path_t * +qla2x00_get_visible_path(mp_device_t *dp) +{ + uint16_t id; + mp_path_list_t *path_list; + mp_path_t *path; + + path_list = dp->path_list; + /* if we don't have a visible path skip it */ + if ( (id = path_list->visible) == PATH_INDEX_INVALID ) { + return NULL; + } + + if( (path = qla2x00_find_path_by_id(dp,id))== NULL) + return NULL; + + return path ; +} + +/* + * qla2x00_map_os_targets + * Allocate the luns and setup the OS target. + * + * Input: + * host = host adapter pointer. + * + * Returns: + * None + * + * Context: + * Kernel context. + */ +static void +qla2x00_map_os_targets(mp_host_t *host) +{ + adapter_state_t *ha = host->ha; + mp_path_t *path; + mp_device_t *dp; + os_tgt_t *tgt; + int t; + ENTER("qla2x00_map_os_targets "); + for (t = 0; t < MAX_TARGETS; t++ ) { + dp = host->mp_devs[t]; + if (dp != NULL ) { + DEBUG3(printk("map_os_targets: (%d) found a dp = %p, host=%p, ha=%p\n",t, dp,host,ha);) + + if( (path = qla2x00_get_visible_path(dp)) == NULL ) { + printk(KERN_INFO "qla_cfg(%d): No visible path for target %d, dp = %p\n",host->instance, t, dp); + continue; + } + + /* if not the visible path skip it */ + if ( path->host == host ) { + if( TGT_Q(ha, t) == NULL ) { + tgt = qla2x00_tgt_alloc(ha, t,&dp->nodename[0]); + tgt->vis_port = path->port; + } + DEBUG3(printk("qla_cfg%ld: host=%d, device= %p has VISIBLE path=%p, path id=%d\n",ha->host_no,host->instance, dp,path,path->id);) + } else { + /* EMPTY */ + DEBUG3(printk("qla_cfg%ld: host=%d, device= %p has HIDDEN path=%p, path id=%d\n",ha->host_no,host->instance, dp,path,path->id);) + + } + qla2x00_map_os_luns(host, dp, t); + } else { + if( (tgt= TGT_Q(ha,t)) != NULL) { + qla2x00_tgt_free(ha,t); + } + } + } + LEAVE("qla2x00_map_os_targets "); +} + +/* + * qla2x00_map_os_luns + * Allocate the luns for the OS target. + * + * Input: + * dp = pointer to device + * t = OS target number. + * + * Returns: + * None + * + * Context: + * Kernel context. + */ +static void +qla2x00_map_os_luns(mp_host_t *host, mp_device_t *dp, uint16_t t) +{ + uint16_t lun; + + for (lun = 0; lun < MAX_LUNS; lun++ ) { + qla2x00_map_a_oslun(host, dp, t, lun); + } +} + + +static void +qla2x00_map_a_oslun(mp_host_t *host, mp_device_t *dp, + uint16_t t, uint16_t lun) +{ + fc_port_t *fcport; + fc_lun_t *fclun; + os_lun_t *lq; + uint16_t id; + mp_path_t *path, *vis_path; + mp_host_t *vis_host; + + if ( (id = dp->path_list->current_path[lun]) + != PATH_INDEX_INVALID ) { + path = qla2x00_find_path_by_id(dp,id); + if (path) { + fcport = path->port; + if( fcport ) { + /* dg 04/26/02 */ + fcport->cur_path = id; + fclun = qla2x00_find_matching_lun(lun,path); +#if 0 + DEBUG4(if ( fclun ) {) + DEBUG4(printk("map_os_luns: mapping host=%d tgt= %d dev_id=%d path_id=%d fclun= %p lun = %d\n",host->instance,t,dp->dev_id,path->id,fclun,lun);) + DEBUG4( }) +#endif + /* Always map all luns if they are enabled */ + if (fclun && + (path->lun_data.data[lun] & LUN_DATA_ENABLED) ) { + /* + * Mapped lun on the visible path + */ + if( (vis_path = qla2x00_get_visible_path(dp)) == NULL ) { + printk(KERN_INFO "qla2x00(%d): No visible path for target %d, dp = %p\n",host->instance, t, dp); + return; + } + vis_host = vis_path->host; + /* ra 11/30/01 */ + /* Always alloc LUN 0 so kernel will scan + * past LUN 0. + */ + if (lun != 0 && + (EXT_IS_LUN_BIT_SET(&(fcport->lun_mask), lun))) { + /* mask this LUN */ + return; + } + + if( (lq = qla2x00_lun_alloc(vis_host->ha, t, lun)) != NULL ) { + lq->fclun = fclun; + } + } + } + } + } +} + +/* + * qla2x00_is_ww_name_zero + * + * Input: + * ww_name = Pointer to WW name to check + * + * Returns: + * TRUE if name is 0 else FALSE + * + * Context: + * Kernel context. + */ +static BOOL +qla2x00_is_ww_name_zero(uint8_t *nn) +{ + int cnt; + + /* Check for zero node name */ + for (cnt = 0; cnt < WWN_SIZE ; cnt++, nn++) { + if ( *nn != 0) + break; + } + /* if zero return TRUE */ + if (cnt == WWN_SIZE) + return TRUE; + else + return FALSE; +} + +/* + * qla2x00_add_path + * Add a path to the pathlist + * + * Input: + * pathlist -- path list of paths + * path -- path to be added to list + * + * Returns: + * None + * + * Context: + * Kernel context. + */ +static void +qla2x00_add_path( mp_path_list_t *pathlist, mp_path_t *path ) +{ + mp_path_t *last = pathlist->last; + ENTER("qla2x00_add_path"); + DEBUG3(printk("add_path: pathlist =%p, path =%p, cnt = %d\n",pathlist,path,pathlist->path_cnt);) + if ( last == NULL ) { + last = path; + } else { + path->next = last->next; + } + last->next = path; + pathlist->last = path; + pathlist->path_cnt++; + LEAVE("qla2x00_add_path"); +} + + +/* + * qla2x00_is_portname_in_device + * Search for the specified "portname" in the device list. + * + * Input: + * dp = device pointer + * portname = portname to searched for in device + * + * Returns: + * qla2x00 local function return status code. + * + * Context: + * Kernel context. + */ +static BOOL +qla2x00_is_portname_in_device(mp_device_t *dp, uint8_t *portname) +{ + int idx; + + for (idx = 0; idx < MAX_PATHS_PER_DEVICE; idx++) { + if (BCMP(&dp->portnames[idx][0], portname, WWN_SIZE) == 0) + return TRUE; + } + return FALSE; +} + + +/* + * qla2x00_set_lun_data_from_bitmask + * Set or clear the LUN_DATA_ENABLED bits in the LUN_DATA from + * a LUN bitmask provided from the miniport driver. + * + * Inputs: + * lun_data = Extended LUN_DATA buffer to set. + * lun_mask = Pointer to lun bit mask union. + * + * Return Value: none. + */ +void +qla2x00_set_lun_data_from_bitmask(mp_lun_data_t *lun_data, + lun_bit_mask_t *lun_mask) +{ + int16_t lun; + + ENTER("qla2x00_set_lun_data_from_bitmask"); + for (lun = 0; lun < MAX_LUNS; lun++) { + /* our bit mask is inverted */ + if ( !(EXT_IS_LUN_BIT_SET(lun_mask,lun)) ) + lun_data->data[lun] |= LUN_DATA_ENABLED; + else + lun_data->data[lun] &= ~LUN_DATA_ENABLED; + DEBUG5(printk("set_lun_data_from_bitmask: lun data[%d] = 0x%x \n",lun,lun_data->data[lun]);) + } + + LEAVE("qla2x00_set_lun_data_from_bitmask"); + return; +} + +static void qla2x00_failback_single_lun( mp_device_t *dp, uint8_t lun, uint8_t new) +{ + mp_path_list_t *pathlist; + mp_path_t *new_path, *old_path; + uint8_t old; + mp_host_t *host; + os_lun_t *lq; + mp_path_t *vis_path; + mp_host_t *vis_host; + + /* Failback and update statistics. */ + if( (pathlist = dp->path_list) == NULL ) + return; + old = pathlist->current_path[lun]; + pathlist->current_path[lun] = new; + + if( (new_path = qla2x00_find_path_by_id(dp, new)) == NULL ) + return; + if( (old_path = qla2x00_find_path_by_id(dp, old)) == NULL) + return; + + /* An fclun should exist for the failbacked lun */ + if (qla2x00_find_matching_lun(lun, new_path) == NULL) + return; + if (qla2x00_find_matching_lun(lun, old_path) == NULL) + return; + + /* Log to console and to event log. */ + printk(KERN_INFO + "qla2x00: FAILBACK device %d -> %02x%02x%02x%02x%02x%02x%02x%02x LUN %02x\n", + dp->dev_id, + dp->nodename[0], + dp->nodename[1], + dp->nodename[2], + dp->nodename[3], + dp->nodename[4], + dp->nodename[5], + dp->nodename[6], + dp->nodename[7], lun); + DEBUG(printk( + "qla2x00: FAILBACK device %d -> %02x%02x%02x%02x%02x%02x%02x%02x LUN %02x\n", + dp->dev_id, + dp->nodename[0], + dp->nodename[1], + dp->nodename[2], + dp->nodename[3], + dp->nodename[4], + dp->nodename[5], + dp->nodename[6], + dp->nodename[7], lun);) + printk(KERN_INFO + "qla2x00: FROM HBA %d to HBA %d \n",old_path->host->instance, + new_path->host->instance); + DEBUG(printk( "qla2x00: FROM HBA %d to HBA %d \n",old_path->host->instance, + new_path->host->instance);) + + + /* Send a failover notification. */ +#if 0 + qla2x00_send_failover_notify(dp, lun, new_path, old_path); +#endif + + host = new_path->host; + + /* remap the lun */ + qla2x00_map_a_oslun(host, dp, dp->dev_id, lun); + + /* 7/16 + * Reset counts on the visible path + */ + if( (vis_path = qla2x00_get_visible_path(dp)) == NULL ) { + printk(KERN_INFO "qla2x00(%d): No visible path for target %d, dp = %p\n",host->instance, dp->dev_id, dp); + return; + } + vis_host = vis_path->host; + if( (lq = qla2x00_lun_alloc(vis_host->ha, dp->dev_id, lun)) != NULL ) { + qla2x00_suspend_lun(vis_host->ha, lq, recoveryTime, 1); + qla2x00_flush_failover_q(vis_host->ha, lq); + qla2x00_reset_lun_fo_counts(vis_host->ha, lq); + } +} + +/* +* qla2x00_failback_luns +* This routine looks through the devices on an adapter, and +* for each device that has this adapter as the visible path, +* it forces that path to be the current path. This allows us +* to keep some semblance of static load balancing even after +* an adapter goes away and comes back. +* +* Arguments: +* host Adapter that has just come back online. +* +* Return: +* None. +*/ +static void +qla2x00_failback_luns( mp_host_t *host) +{ + uint16_t dev_no; + uint8_t l; + uint16_t lun; + int i; + mp_device_t *dp; + mp_path_list_t *path_list; + mp_path_t *path; + + DEBUG3(printk("ENTER: qla2x00_failback_luns\n");) + for (dev_no = 0; dev_no < MAX_MP_DEVICES; dev_no++) { + dp = host->mp_devs[dev_no]; + + if (dp == NULL) + continue; + + path_list = dp->path_list; + for ( path = path_list->last, i= 0; + i < path_list->path_cnt; i++, path = path->next) { + /* + * Failback all the paths for this host, + * the luns could be preferred across all paths + */ + if( path->host == host ) { + DEBUG2(printk("qla2x00_failback_luns(%d): Lun Data for device %p, id=%d, path id=%d\n",host->instance,dp,dp->dev_id,path->id);) + DEBUG4(qla2x00_dump_buffer((char *)&path->lun_data.data[0], 64);) + DEBUG4(printk("qla2x00_failback_luns(%d): Perferrred Path data:\n",host->instance);) + DEBUG4(qla2x00_dump_buffer((char *)&path_list->current_path[0], 64);) + for (lun = 0; lun < MAX_LUNS_PER_DEVICE; lun++) { + l = (uint8_t)(lun & 0xFF); + /* if this is the preferred + * lun and not the current path * then + * failback lun. + */ + DEBUG4(printk("failback_luns: target= %d, , cur path id =%d, lun data[%d] = %d)\n",dp->dev_id,path->id,lun,path->lun_data.data[lun]);) + if ( (path->lun_data.data[l] & LUN_DATA_PREFERRED_PATH) && + /* !path->relogin && */ + path_list->current_path[l] != path->id ) { + qla2x00_failback_single_lun(dp, l, path->id); + } + } + } + } + + } + DEBUG3(printk("LEAVE: qla2x00_failback_luns\n");) + return; +} + +/* + * qla2x00_setup_new_path + * Checks the path against the existing paths to see if there + * are any incompatibilities. It then checks and sets up the + * current path indices. + * + * Inputs: + * dp = pointer to device + * path = new path + * + * Returns: + * None + */ +static void +qla2x00_setup_new_path( mp_device_t *dp, mp_path_t *path) +{ + mp_path_list_t *path_list = dp->path_list; + mp_path_t *tmp_path, *first_path; + mp_host_t *first_host; + mp_host_t *tmp_host; + + uint16_t lun; + uint8_t l; + int i; + + ENTER("qla2x00_setup_new_path"); + + /* If this is a visible path, and there is not already a + * visible path, save it as the visible path. If there + * is already a visible path, log an error and make this + * path invisible. + */ + if (!(path->mp_byte & (MP_MASK_HIDDEN | MP_MASK_UNCONFIGURED))) { + + /* No known visible path */ + if (path_list->visible == PATH_INDEX_INVALID) { + DEBUG3(qla2x00_print("setup_new_path: No know visible path - make this path visible\n");) + path_list->visible = path->id; + path->mp_byte &= ~MP_MASK_HIDDEN; + } else { + DEBUG3(qla2x00_print("setup_new_path: Second visible path - make this one hidden\n");) + QL_PRINT_2("qla2x00_setup_new_path: Second visible path found", + 0, QDBG_NO_NUM, QDBG_NL); + path->mp_byte |= MP_MASK_HIDDEN; + } + } + /* + * If this is not the first path added, and the setting for + * MaxLunsPerTarget does not match that of the first path + * then disable qla_cfg for all adapters. + */ + first_path = qla2x00_find_path_by_id(dp, 0); + + if ( first_path != NULL ) { + first_host = first_path->host; + if (path->id != 0 && + (first_host->MaxLunsPerTarget != path->host->MaxLunsPerTarget)) { + for (tmp_path = path_list->last, i = 0; + (tmp_path) && i <= path->id; i++) { + + tmp_host = tmp_path->host; + if (!(tmp_host->flags & MP_HOST_FLAG_DISABLE)) { + QL_PRINT_10( + "qla2x00_setup_new_path: 2nd visible path ", + tmp_host, QDBG_HEX_NUM, QDBG_NL); + QL_DUMP_10("Disabled, MaxLunsPerTarget.", + tmp_host->nodename, 8, WWN_SIZE); + tmp_host->flags |= MP_HOST_FLAG_DISABLE; + } + } + + } + } + + + /* + * For each LUN, evaluate whether the new path that is added + * is better than the existing path. If it is, make it the + * current path for the LUN. + */ + for (lun = 0; lun < MAX_LUNS_PER_DEVICE; lun++) { + l = (uint8_t)(lun & 0xFF); + + /* If this is the first path added, it is the only + * available path, so make it the current path. + */ + + DEBUG4(sprintf(debug_buff,"qla2x00_setup_new_path: lun_data 0x%x, LUN %d\n", path->lun_data.data[l], lun);) + DEBUG4(qla2x00_print(debug_buff);) + if (first_path == path) { + path_list->current_path[l] = 0; + path->lun_data.data[l] |= LUN_DATA_PREFERRED_PATH; + } else if (path->lun_data.data[l] & LUN_DATA_PREFERRED_PATH) { + + /* + * If this is not the first path added, if this is + * the preferred path, make it the current path. + */ + path_list->current_path[l] = path->id; + } + } + LEAVE("qla2x00_setup_new_path"); + return; +} + +/* + * qla2x00_cfg_mem_free + * Free all configuration structures. + * + * Input: + * ha = adapter state pointer. + * + * Context: + * Kernel context. + */ +void +qla2x00_cfg_mem_free(adapter_state_t *ha) +{ + mp_device_t *dp; + mp_path_list_t *path_list; + mp_path_t *tmp_path, *path; + mp_host_t *host, *temp; + int id, cnt; + if ((host = qla2x00_cfg_find_host(ha)) != NULL) { + if( mp_num_hosts == 0 ) + return; + + for ( id= 0; id < MAX_MP_DEVICES; id++ ) { + if( (dp = host->mp_devs[id] ) == NULL ) + continue; + if( (path_list = dp->path_list) == NULL ) + continue; + if( (tmp_path = path_list->last) == NULL ) + continue; + for (cnt = 0; cnt < path_list->path_cnt; cnt++) { + path = tmp_path; + tmp_path = tmp_path->next; + DEBUG(printk(KERN_INFO "host%d - Removing path[%d]= %p\n",host->instance,cnt,path);) + KMEM_FREE(path,sizeof(mp_path_t)); + } + KMEM_FREE(path_list, sizeof(mp_path_list_t)); + host->mp_devs[id] = NULL; + /* remove dp from other hosts */ + for( temp = mp_hosts_base; (temp) ; temp = temp->next) { + if( temp->mp_devs[id] == dp) { + DEBUG(printk(KERN_INFO "host%d - Removing host[%d]= %p\n",host->instance,temp->instance,temp);) + temp->mp_devs[id] = NULL; + } + } + KMEM_FREE(dp, sizeof(mp_device_t)); + } + /* remove this host from host list */ + temp = mp_hosts_base; + if (temp != NULL) { + /* Remove from top of queue */ + if ( temp == host) { + mp_hosts_base = host->next; + } else { + /* Remove from middle of queue or bottom of queue */ + for (temp = mp_hosts_base; temp != NULL; + temp = temp->next) { + if (temp->next == host) { + temp->next = host->next; + break; + } + } + } + } + KMEM_FREE(host, sizeof(mp_host_t)); + mp_num_hosts--; + } + + + +} + + +#ifndef LINUX +/* + * qla2x00_cfg_suspension + * Manage suspended state of configuration related flags in base driver. + * + * Input: + * ha = adapter state pointer. + * flag = TRUE set suspension. + * FALSE reset suspension. + * + * Context: + * Kernel context. + */ +static void +qla2x00_cfg_suspension(HBA_t *ha, BOOL flag) +{ + /* Prevent or allow acceptance of new I/O requests. */ + ADAPTER_STATE_LOCK(ha); + if (flag) + ha->flags |= ADAPTER_CFG_SUSPENDED; + else + ha->flags &= ~ADAPTER_CFG_SUSPENDED; + ADAPTER_STATE_UNLOCK(ha); + + /* Prevent or allow starting new I/O requests. */ + TASK_DAEMON_LOCK(ha); + if (flag) + ha->task_daemon_flags |= CONFIG_ACTIVE; + else + ha->task_daemon_flags &= ~CONFIG_ACTIVE; + TASK_DAEMON_UNLOCK(ha); +} +#endif diff -urNp 2.4.19rc1/drivers/scsi/qla2xxx/qla_cfg.h qlogic/drivers/scsi/qla2xxx/qla_cfg.h --- 2.4.19rc1/drivers/scsi/qla2xxx/qla_cfg.h Thu Jan 1 01:00:00 1970 +++ qlogic/drivers/scsi/qla2xxx/qla_cfg.h Mon Jul 8 12:05:21 2002 @@ -0,0 +1,219 @@ +/****************************************************************************** + * QLOGIC LINUX SOFTWARE + * + * QLogic ISP2x00 device driver for Linux 2.4.x + * Copyright (C) 2002 Qlogic Corporation + * (www.qlogic.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, 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. + * + ******************************************************************************/ + +/* + * QLogic ISP2x00 Multi-path LUN Support + * Multi-path include file. + */ + +#ifndef _QLA_CFG_H +#define _QLA_CFG_H + +#ifdef __cplusplus +extern "C" +{ +#endif + + /* + * Temp definitions. + */ +#include "qla_def.h" + + /* + * Failover definitions + */ +#define FAILOVER_TYPE_COUNT 4 +#define MP_NOTIFY_RESET_DETECTED 1 +#define MP_NOTIFY_PWR_LOSS 2 +#define MP_NOTIFY_LOOP_UP 3 +#define MP_NOTIFY_LOOP_DOWN 4 +#define MP_NOTIFY_BUS_RESET 5 +#define FAILOVER_TYPE_ERROR_RETRY 1 +#define MAX_NUMBER_PATHS FO_MAX_PATHS +#define PORT_NAME_SIZE WWN_SIZE +#define FAILOVER_NOTIFY_STATUS_ERROR QLA2X00_SUCCESS +#define FAILOVER_NOTIFY_STATUS_SUCCESS QLA2X00_SUCCESS +#define FAILOVER_NOTIFY_CDB_LENGTH_MAX FO_NOTIFY_CDB_LENGTH_MAX +#define MAX_TARGETS_PER_DEVICE SDM_DEF_MAX_TARGETS_PER_DEVICE + + /* + * Limits definitions. + */ +#define MAX_LUNS_PER_DEVICE MAX_LUNS /* Maximum number of luns */ +#define MAX_MP_DEVICES MAX_TARGETS /* Maximum number of virtual devices */ +#define MAX_PATHS_PER_DEVICE 8 /* Maximum number of paths */ +#ifndef MAX_LUNS +#define MAX_LUNS 256 +#endif +#define MAX_HOSTS MAX_HOST_COUNT + + /* Async notification types */ +#define NOTIFY_EVENT_LINK_DOWN 1 /* Link went down */ +#define NOTIFY_EVENT_LINK_UP 2 /* Link is back up */ +#define NOTIFY_EVENT_RESET_DETECTED 3 /* Reset detected */ + + /* + * Macros + */ +#if defined(linux) + +#define PRINTK printk +#define QL_PRINT(s) printk(KERN_INFO s); +#define QL_ERROR(s) printk(KERN_INFO s); + +#if DEBUG +#define QL_DEBUG(s) printk(s); +#else +#define QL_DEBUG(s) +#endif + + /* #define KMEM_ZALLOC(siz) kmem_zalloc((siz), GFP_ATOMIC) + #define KMEM_ZALLOC(siz,id) kmem_zalloc((siz), GFP_ATOMIC, (id) ) + #define KMEM_FREE(ip,siz) kfree((ip)) */ +#define BCMP(src, dst, amt) memcmp((void *)(dst), (void *)(src), (amt)) + + /* MACROS */ +#define qla2x00_is_portname_equal(N1,N2) \ + ((memcmp((N1),(N2),WWN_SIZE)==0?TRUE:FALSE)) +#define qla2x00_is_nodename_equal(N1,N2) \ + ((memcmp((N1),(N2),WWN_SIZE)==0?TRUE:FALSE)) +#if 0 +#define qla2x00_allocate_path_list() \ + ((mp_path_list_t *)KMEM_ZALLOC(sizeof(mp_path_list_t))) +#endif + +#else /* Must be Solaris */ + +#define KMEM_ZALLOC(siz) kmem_zalloc((siz), KM_SLEEP) +#define KMEM_FREE(ip,siz) kmem_free((ip),(siz)) +#define BZERO(ptr, amt) bzero((void *)(ptr), (amt)) + /* fixme(dg) called BCOPY(dst,src,amt) */ +#define BCOPY(src, dst, amt) bcopy((const void *)(src), (void *)(dst), (amt)) +#define BCMP(src, dst, amt) bcmp((const void *)(dst), (const void *)(src), (amt)) + +#endif + + /* + * Per-multipath driver parameters + */ + typedef struct _mp_lun_data { + uint8_t data[MAX_LUNS]; +#define LUN_DATA_ENABLED BIT_7 +#define LUN_DATA_PREFERRED_PATH BIT_6 + } + mp_lun_data_t; + + +#define PATH_INDEX_INVALID 0xff + + /* + * Per-device collection of all paths. + */ + typedef struct _mp_path_list { + struct _mp_path *last; /* ptrs to end of circular list of paths */ + uint8_t path_cnt; /* number of paths */ + uint8_t visible; /* visible path */ + uint16_t reserved1; /* Memory alignment */ + uint32_t reserved2; /* Memory alignment */ + uint8_t current_path[ MAX_LUNS_PER_DEVICE ]; /* current path for a given lun */ + uint16_t failover_cnt[ FAILOVER_TYPE_COUNT ]; + } + mp_path_list_t; + + /* + * Definitions for failover notify SRBs. These SRBs contain + * failover notify CDBs to notify a target that a failover has + * occurred. + */ + typedef struct _failover_notify_srb { + srb_t *srb; + uint16_t status; + uint16_t reserved; + } + failover_notify_srb_t; + + /* + * Per-device multipath control data. + */ + typedef struct _mp_device { + mp_path_list_t *path_list; /* Path list for device. */ + int dev_id; + int use_cnt; /* number of users */ + uint8_t nodename[WWN_SIZE]; /* World-wide node name. */ + /* World-wide port names. */ + uint8_t portnames[MAX_PATHS_PER_DEVICE][WWN_SIZE]; + } + mp_device_t; + + /* + * Per-adapter multipath Host + */ + typedef struct _mp_host { + struct _mp_host *next; /* ptr to next host adapter in list */ + adapter_state_t *ha; /* ptr to lower-level driver adapter struct */ + int instance; /* OS instance number */ + fc_port_t *fcport; /* Port chain for this adapter */ + mp_device_t *mp_devs[MAX_MP_DEVICES]; /* Multipath devices */ + + uint32_t flags; +#define MP_HOST_FLAG_NEEDS_UPDATE BIT_0 /* Need to update device data. */ +#define MP_HOST_FLAG_FO_ENABLED BIT_1 /* Failover enabled for this host */ +#define MP_HOST_FLAG_DISABLE BIT_2 /* Bypass qla_cfg. */ + + uint8_t nodename[WWN_SIZE]; + uint8_t portname[WWN_SIZE]; + uint16_t MaxLunsPerTarget; + + uint16_t relogin_countdown; + } + mp_host_t; + + /* + * Describes path a single. + */ + typedef struct _mp_path { + struct _mp_path *next; /* next path in list */ + struct _mp_host *host; /* Pointer to adapter */ + fc_port_t *port; /* FC port info */ + uint16_t id; /* Path id (index) */ + uint8_t mp_byte; /* Multipath control byte */ +#define MP_MASK_HIDDEN 0x80 +#define MP_MASK_UNCONFIGURED 0x40 +#define MP_MASK_PRIORITY 0x07 + + uint8_t relogin; /* Need to relogin to port */ + uint8_t config; /* User configured path */ + uint8_t reserved[3]; + mp_lun_data_t lun_data; /* Lun data information */ + uint8_t portname[WWN_SIZE]; /* Port name of this target. */ + } + mp_path_t; + + + + /* + * Failover notification requests from host driver. + */ + typedef struct failover_notify_entry { + struct scsi_address *os_addr; + } + failover_notify_t; + + +#endif /* _QLA_CFG_H */ diff -urNp 2.4.19rc1/drivers/scsi/qla2xxx/qla_cfgln.c qlogic/drivers/scsi/qla2xxx/qla_cfgln.c --- 2.4.19rc1/drivers/scsi/qla2xxx/qla_cfgln.c Thu Jan 1 01:00:00 1970 +++ qlogic/drivers/scsi/qla2xxx/qla_cfgln.c Mon Jul 8 12:05:21 2002 @@ -0,0 +1,660 @@ +/****************************************************************************** + * QLOGIC LINUX SOFTWARE + * + * QLogic ISP2x00 device driver for Linux 2.4.x + * Copyright (C) 2002 Qlogic Corporation + * (www.qlogic.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, 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. + * + ******************************************************************************/ + +/* + * QLogic ISP2x00 Multi-path LUN Support Driver + * Solaris specific functions + * + */ + +#include "qla_def.h" +#include "qlfo.h" +#include "qla_cfg.h" +#include "qla_dbg.h" +#include "qla_gbl.h" + + +/* + * qla2x00_set_lun_data_from_config + * Set lun_data byte from the configuration parameters. + * + * Input: + * host -- pointer to host adapter structure. + * port -- pointer to port + * tgt -- target number + * dev_no -- device number + */ +void +qla2x00_set_lun_data_from_config(mp_host_t *host, fc_port_t *port, + uint16_t tgt, uint16_t dev_no) +{ + static char propbuf[512]; /* As big as largest search string */ + int rval; + int16_t lun, l; + adapter_state_t *ha = host->ha; + mp_device_t *dp; + static lun_bit_mask_t lun_mask; + lun_bit_mask_t *mask_ptr = &lun_mask; + mp_path_list_t *pathlist; +#if 0 + + uint8_t control_byte; +#endif + + mp_path_t *path; + + BZERO(&lun_mask, sizeof(lun_bit_mask_t)); + + dp = host->mp_devs[tgt]; + if (dp == NULL) { + printk("qla2x00_set_lun_data_from_config: Target %d " + "not found for hba %d\n",tgt, host->instance); + return; + } + if ( (pathlist = dp->path_list) == NULL ) { + printk("qla2x00_set_lun_data_from_config: path list " + "not found for target %d\n", tgt); + return; + } + + if ((path = qla2x00_find_path_by_name(host, pathlist, + port->port_name)) == NULL ) { + printk("qla2x00_set_lun_data_from_config: No path found " + "for target %d\n", tgt); + return; + } + + /* clear port information */ + path->port = NULL; + +#if 0 /* 02/06/01 - move to build path tree */ + /* + * Get "target-N-device-N-control" if property is present then all + * luns are visible. + */ + sprintf(propbuf, "scsi-qla%d-tgt-%d-di-%d-control", host->instance, tgt, dev_no); + DEBUG3(printk("build_tree: %s\n",propbuf);) + rval = qla2x00_get_prop_xstr(ha, propbuf, (uint8_t *)(&control_byte), + sizeof(control_byte)); + if (rval != -1) { + if( !((control_byte & MP_MASK_HIDDEN) || + (control_byte & MP_MASK_UNCONFIGURED)) ) { + pathlist->visible = path->id; + DEBUG(printk("qla2x00_set_lun_data_from_config: found visible path id %d hba %d\n", + path->id, host->instance);) + } else { + pathlist->visible = PATH_INDEX_INVALID; /* 01/30 */ + DEBUG(printk("qla2x00_set_lun_data_from_config: found hidden path id %d hba %d\n", + path->id, host->instance);) + } + path->mp_byte = control_byte; + DEBUG(printk("qla2x00_set_lun_data_from_config: control byte 0x%x for path id %d hba %d\n", + path->mp_byte, path->id, host->instance);) + } +#endif + + /* Get "target-N-device-N-preferred" as a 256 bit lun_mask*/ + sprintf(propbuf, "scsi-qla%ld-tgt-%d-di-%d-preferred", ha->instance, tgt, dev_no); + DEBUG2(printk("build_tree: %s\n",propbuf);) + rval = qla2x00_get_prop_xstr(ha, propbuf, (uint8_t *)(&lun_mask), + sizeof(lun_mask)); + + if (rval == -1) { + /* EMPTY */ + DEBUG2(printk("qla2x00_set_lun_data_from_config: NO Preferred mask - ret %d\n", rval);) + } else { + if (rval != sizeof(lun_mask)) { + /* EMPTY */ + printk("qla2x00_set_lun_data_from_config: Preferred mask len %d is incorrect.\n", rval); + } + + DEBUG3(sprintf(debug_buff,"qla2x00_set_lun_data_from_config: Preferred mask read:\n");) + DEBUG3(qla2x00_print(debug_buff);) + DEBUG3(qla2x00_dump_buffer((char *)&lun_mask, sizeof(lun_mask));) + for( lun = MAX_LUNS-1, l =0; lun >= 0; lun--, l++ ) { + if (EXT_IS_LUN_BIT_SET(mask_ptr, lun)) { + path->lun_data.data[l] |= + LUN_DATA_PREFERRED_PATH; + pathlist->current_path[l] = path->id; + } else { + path->lun_data.data[l] &= + ~LUN_DATA_PREFERRED_PATH; + } + } + + } + + /* Get "target-N-device-N-lun-disable" as a 256 bit lun_mask*/ + sprintf(propbuf, "scsi-qla%ld-tgt-%d-di-%d-lun-disabled", ha->instance, tgt, dev_no); + DEBUG3(printk("build_tree: %s\n",propbuf);) + rval = qla2x00_get_prop_xstr(ha, propbuf, (uint8_t *)&lun_mask, + sizeof(lun_mask)); + if (rval == -1) { + /* default: all luns enabled */ + for (lun = 0; lun < MAX_LUNS; lun++) { + path->lun_data.data[lun] |= LUN_DATA_ENABLED; + } + } else { + if (rval != sizeof(lun_mask)) { + printk("qla2x00_set_lun_data_from_config: Enable " + "mask has wrong size %d != %d\n", + rval, (int)sizeof(lun_mask)); + } else { + for( lun = MAX_LUNS-1, l =0; lun >= 0; lun--, l++ ) { + /* our bit mask is inverted */ + if ( !EXT_IS_LUN_BIT_SET(mask_ptr,lun) ) + path->lun_data.data[l] |= LUN_DATA_ENABLED; + else + path->lun_data.data[l] &= ~LUN_DATA_ENABLED; + } + + } + + } + + DEBUG3(sprintf(debug_buff,"qla2x00_set_lun_data_from_config: Luns data for device %p, instance %d, path id=%d\n", + dp,host->instance,path->id);) + DEBUG3(qla2x00_print(debug_buff);) + DEBUG3(qla2x00_dump_buffer((char *)&path->lun_data.data[0], 64);) + + LEAVE("qla2x00_set_lun_data_from_config"); +} + + + +/* + * qla2x00_cfg_build_path_tree + * Find all path properties and build a path tree. The + * resulting tree has no actual port assigned to it + * until the port discovery is done by the lower level. + * + * Input: + * ha = adapter block pointer. + * + * Context: + * Kernel context. + */ +void +qla2x00_cfg_build_path_tree( adapter_state_t *ha) +{ + static char propbuf[512]; + uint8_t node_name[WWN_SIZE]; + uint8_t port_name[WWN_SIZE]; + fc_port_t *port; + uint16_t dev_no = 0, tgt_no; + int instance, rval; + mp_host_t *host = NULL; + uint8_t *name; + int done, errors; + uint8_t control_byte; + + + ENTER("qla2x00_cfg_build_path_tree"); + printk(KERN_INFO + "qla02%d: ConfigRequired is set. \n", + (int)ha->instance); + DEBUG(printk( + "qla2x00_cfg_build_path_tree: hba =%d", + (int)ha->instance);) + + /* Look for adapter nodename in properties */ + sprintf(propbuf, "scsi-qla%ld-adapter-port", ha->instance); + DEBUG(printk("build_tree: %s\n",propbuf);) + + rval = qla2x00_get_prop_xstr(ha, propbuf, port_name, WWN_SIZE); + if (rval != WWN_SIZE) { + return; + } + + /* Does nodename match the host adapter nodename? */ + name = &ha->init_cb->port_name[0]; + if ( !qla2x00_is_nodename_equal(name, port_name) ) { + printk(KERN_INFO + "scsi(%d): Adapter nodenames don't match - ha = %p.\n", + (int)ha->instance,ha); + DEBUG(printk( + "qla(%d): Adapter nodenames don't match - ha = %p.\n", + (int)host->instance,ha);) + return; + + } + + instance = ha->instance; + if ( (host = qla2x00_alloc_host(ha)) == NULL ) { + printk(KERN_INFO + "scsi(%d): Couldn't allocate host - ha = %p.\n", + (int)instance,ha); + } else { + /* create a dummy port */ + if ( (port = (fc_port_t *)KMEM_ZALLOC(sizeof (fc_port_t),9)) == NULL) { + printk(KERN_INFO + "scsi(%d): Couldn't allocate port.\n", + (int)instance); + DEBUG(printk( + "qla(%d): Couldn't allocate port.\n", + (int)host->instance);) + /* remove host */ + return; + } + + done = 0; + errors = 0; + + /* For each target on the host bus adapter */ + for (tgt_no = 0; tgt_no < MAX_MP_DEVICES && + !done; tgt_no++) { + + /* get all paths for this target */ + for (dev_no = 0; dev_no < MAX_PATHS_PER_DEVICE && + !done ; dev_no++) { + + BZERO(port,sizeof (fc_port_t)); + + /* + * Get "target-N-device-N-node" is a 16-chars + * number + */ + sprintf(propbuf, + "scsi-qla%d-tgt-%d-di-%d-node", + instance, tgt_no, dev_no); + DEBUG(printk("build_tree: %s\n",propbuf);) + + rval = qla2x00_get_prop_xstr(ha, propbuf, + node_name, WWN_SIZE); + if (rval != WWN_SIZE) { + errors++; + if( errors == MAX_PATHS_PER_DEVICE ) { + done = 1; /* no more targets */ + } + continue; + } + + errors = 0; + qla_bcopy(port->node_name, node_name, WWN_SIZE); + + /* + * Get "target-N-device-N-port" is a 16-chars + * number + */ + sprintf(propbuf, + "scsi-qla%d-tgt-%d-di-%d-port", + instance, tgt_no, dev_no); + DEBUG(printk("build_tree: %s\n",propbuf);) + + rval = qla2x00_get_prop_xstr(ha, propbuf, + port_name, WWN_SIZE); + if (rval != WWN_SIZE) + continue; + + qla_bcopy(port->node_name, node_name, WWN_SIZE); + qla_bcopy(port->port_name, port_name, WWN_SIZE); + port->flags |= FC_CONFIG; + + /* + * Get "target-N-device-N-control" if property + * is present then all luns are visible. + */ + sprintf(propbuf, + "scsi-qla%d-tgt-%d-di-%d-control", + instance, tgt_no, dev_no); + DEBUG3(printk("build_tree: %s\n",propbuf);) + + rval = qla2x00_get_prop_xstr(ha, propbuf, + (uint8_t *)(&control_byte), + sizeof(control_byte)); + if (rval == -1) { + /* error getting string. go to next. */ + continue; + } + + DEBUG(printk("build_tree: control byte 0x%x\n", + control_byte);) + + port->mp_byte = control_byte; + DEBUG(printk( + "build_tree: update_mp_device " + "host=%p, port=%p, tgt_no=%d\n", + host, port, tgt_no);) + + qla2x00_update_mp_device(host, port, + tgt_no); + qla2x00_set_lun_data_from_config(host, + port, tgt_no, dev_no); + } + } + KMEM_FREE(port, sizeof (fc_port_t)); + } + LEAVE("qla2x00_cfg_build_path_tree"); + DEBUG(printk("Leaving: qla2x00_cfg_build_path_tree\n");) +} + +/* + * qla2x00_cfg_display_devices + * This routine will the node names of the different devices found + * after port inquiry. + * + * Input: + * + * Returns: + * None. + */ +void qla2x00_cfg_display_devices(void) +{ + mp_host_t *host; + int id; + mp_device_t *dp; + mp_path_t *path; + mp_path_list_t *path_list; + int cnt, i, dev_no; + int instance; + lun_bit_mask_t lun_mask; + int mask_set; + uint8_t l; + + printk("qla2x00_cfg_display_devices\n"); + for (host = mp_hosts_base; (host); host = host->next) { + + instance = (int) host->instance; + /* Display the node name for adapter */ + printk(KERN_INFO + "scsi-qla%d-adapter-port=%02x%02x%02x%02x%02x%02x%02x%02x\\;\n", + instance, + host->portname[0], + host->portname[1], + host->portname[2], + host->portname[3], + host->portname[4], + host->portname[5], + host->portname[6], + host->portname[7]); + + for (id = 0; id < MAX_MP_DEVICES; id++) { + if( (dp = host->mp_devs[id] ) == NULL ) + continue; + + path_list = dp->path_list; + + + if( (path = path_list->last) != NULL ) { + /* Print out device port names */ + path = path->next; /* first path */ + for (dev_no = 0, cnt = 0; cnt < path_list->path_cnt; path = path->next, cnt++) { + /* skip others if not our host */ + if (host != path->host) + continue; + printk(KERN_INFO + "scsi-qla%d-tgt-%d-di-%d-node=%02x%02x%02x%02x%02x%02x%02x%02x\\;\n", + instance, id, path->id, + dp->nodename[0], + dp->nodename[1], + dp->nodename[2], + dp->nodename[3], + dp->nodename[4], + dp->nodename[5], + dp->nodename[6], + dp->nodename[7]); + + /* port_name */ + printk(KERN_INFO + "scsi-qla%d-tgt-%d-di-%d-port=%02x%02x%02x%02x%02x%02x%02x%02x\\;\n", + instance, id, path->id, + path->portname[0], + path->portname[1], + path->portname[2], + path->portname[3], + path->portname[4], + path->portname[5], + path->portname[6], + path->portname[7]); + + /* control byte */ + + printk(KERN_INFO + "scsi-qla%d-tgt-%d-di-%d-control=%02x\\;\n", + instance, id, path->id, path->mp_byte); + + /* Build preferred bit mask for this path */ + BZERO((char *)&lun_mask,sizeof(lun_mask)); + mask_set = 0; + for (i = 0; i < MAX_LUNS; i++) { + l = (uint8_t)(i & 0xFF); + if( path_list->current_path[l] == path->id ) { + EXT_SET_LUN_BIT((&lun_mask),l); + mask_set++; + } + } + if( mask_set ) { + printk(KERN_INFO + "scsi-qla%d-tgt-%d-di-%d-preferred=%08x%08x%08x%08x%08x%08x%08x%08x\\;\n", + instance, id, path->id, + *((uint32_t *) &lun_mask.mask[28]), + *((uint32_t *) &lun_mask.mask[24]), + *((uint32_t *) &lun_mask.mask[20]), + *((uint32_t *) &lun_mask.mask[16]), + *((uint32_t *) &lun_mask.mask[12]), + *((uint32_t *) &lun_mask.mask[8]), + *((uint32_t *) &lun_mask.mask[4]), + *((uint32_t *) &lun_mask.mask[0]) ); + } + /* Build disable bit mask for this path */ + mask_set = 0; + for (i = 0; i < MAX_LUNS; i++) { + l = (uint8_t)(i & 0xFF); + if( !(path->lun_data.data[l] & LUN_DATA_ENABLED) ) { + mask_set++; + } + } + if( mask_set ) { + printk(KERN_INFO + "scsi-qla%d-tgt-%d-di-%d-lun-disable=%08x%08x%08x%08x%08x%08x%08x%08x\\;\n", + instance, id, path->id, + *((uint32_t *) &lun_mask.mask[28]), + *((uint32_t *) &lun_mask.mask[24]), + *((uint32_t *) &lun_mask.mask[20]), + *((uint32_t *) &lun_mask.mask[16]), + *((uint32_t *) &lun_mask.mask[12]), + *((uint32_t *) &lun_mask.mask[8]), + *((uint32_t *) &lun_mask.mask[4]), + *((uint32_t *) &lun_mask.mask[0]) ); + } + dev_no++; + } + + } + } + } +} + +#if 0 +int qla2x00_cfg_build_range( mp_path_t *path, uint8_t *buf, int siz, uint8_t mask ) +{ + int i; + int max, min; + int colonflg = FALSE; + int len = 0; + + max = -1; + min = 0; + for (i = 0; i < MAX_LUNS; i++) { + if( (path->lun_data.data[i] & mask) ) { + max = i; + } else { + if( colonflg && max >= min ) { + len += sprintf(&buf[len],":"); + if( len > siz) + return len; + colonflg = FALSE; + } + if (max > min ) { + len += sprintf(&buf[len],"%02x-%02x",min,max); + if( len > siz) + return len; + colonflg = TRUE; + } else if ( max == min ) { + len += sprintf(&buf[len],"%02x",max); + if( len > siz) + return len; + colonflg = TRUE; + } + min = i + 1; + max = i; + } + } + DEBUG4(printk("build_range: return len =%d\n",len);) + return(len); +} +#endif + +#if 0 +/* + * qla2x00_cfg_proc_display_devices + * This routine will the node names of the different devices found + * after port inquiry. + * + * Input: + * + * Returns: + * None. + */ +int qla2x00_cfg_proc_display_devices( adapter_state_t *ha) +{ + mp_host_t *host; + int id; + mp_device_t *dp; + mp_path_t *path; + mp_path_list_t *path_list; + int cnt, i; + int instance; + lun_bit_mask_t lun_mask; + int mask_set; + uint8_t l; + fc_port_t *port; + int len = 0; + + for (host = mp_hosts_base; (host); host = host->next) { + + if( host->ha != ha ) + continue; + + instance = (int) host->instance; + + /* Display the node name for adapter */ + len += sprintf( PROC_BUF, + "scsi-qla%d-adapter-node=%02x%02x%02x%02x%02x%02x%02x%02x;\n", + instance, + host->nodename[0], + host->nodename[1], + host->nodename[2], + host->nodename[3], + host->nodename[4], + host->nodename[5], + host->nodename[6], + host->nodename[7]); + + + for (id = 0; id < MAX_MP_DEVICES; id++) { + if( (dp = host->mp_devs[id] ) == NULL ) + continue; + + path_list = dp->path_list; + + if( (path = path_list->last) != NULL ) { + /* Print out device port names */ + path = path->next; /* first path */ + for (cnt = 0; cnt < path_list->path_cnt; path = path->next, cnt++) { + /* skip others if not our host */ + if (host != path->host) + continue; + len += sprintf(PROC_BUF, + "scsi-qla%d-target-%d-path-%d-node=%02x%02x%02x%02x%02x%02x%02x%02x;\n", + instance, id, path->id, + dp->nodename[0], + dp->nodename[1], + dp->nodename[2], + dp->nodename[3], + dp->nodename[4], + dp->nodename[5], + dp->nodename[6], + dp->nodename[7]); + + /* port_name */ + len += sprintf(PROC_BUF, + "scsi-qla%d-target-%d-path-%d-port=%02x%02x%02x%02x%02x%02x%02x%02x;\n", + instance, id, path->id, + path->portname[0], + path->portname[1], + path->portname[2], + path->portname[3], + path->portname[4], + path->portname[5], + path->portname[6], + path->portname[7]); + + if( path_list->visible == path->id ) { + len += sprintf(PROC_BUF, "scsi-qla%d-target-%d-path-%d-visible=%02x;\n", + instance, id, path->id, path->id); + } + + len +=sprintf(PROC_BUF, "scsi-qla%d-target-%d-path-%d-control=%02x;\n", + instance, id, path->id, path->mp_byte); + + /* Build preferred bit mask for this path */ + BZERO((char *)&lun_mask,sizeof(lun_mask)); + mask_set = 0; + for (i = 0; i < MAX_LUNS_PER_DEVICE; i++) { + l = (uint8_t)(i & 0xFF); + if( path_list->current_path[l] == path->id ) { + EXT_SET_LUN_BIT((&lun_mask),l); + mask_set++; + } + } + if( mask_set && EXT_DEF_MAX_LUNS <= 256 ) { + len += sprintf(PROC_BUF, + "scsi-qla%d-target-%d-path-%d-preferred=%08x%08x%08x%08x%08x%08x%08x%08x;\n", + instance, id, path->id, + *((uint32_t *) &lun_mask.mask[0]), + *((uint32_t *) &lun_mask.mask[4]), + *((uint32_t *) &lun_mask.mask[8]), + *((uint32_t *) &lun_mask.mask[12]), + *((uint32_t *) &lun_mask.mask[16]), + *((uint32_t *) &lun_mask.mask[20]), + *((uint32_t *) &lun_mask.mask[24]), + *((uint32_t *) &lun_mask.mask[28]) ); + } + + len += sprintf(PROC_BUF, + "scsi-qla%d-target-%d-path-%d-lun-enable=%08x%08x%08x%08x%08x%08x%08x%08x;\n", + instance, id, path->id, + *((uint32_t *) &path->lun_data.data[0]), + *((uint32_t *) &path->lun_data.data[4]), + *((uint32_t *) &path->lun_data.data[8]), + *((uint32_t *) &path->lun_data.data[12]), + *((uint32_t *) &path->lun_data.data[16]), + *((uint32_t *) &path->lun_data.data[20]), + *((uint32_t *) &path->lun_data.data[24]), + *((uint32_t *) &path->lun_data.data[28]) ); + + } /* for */ + } + } + } + return( len ); +} +#endif + diff -urNp 2.4.19rc1/drivers/scsi/qla2xxx/qla_dbg.h qlogic/drivers/scsi/qla2xxx/qla_dbg.h --- 2.4.19rc1/drivers/scsi/qla2xxx/qla_dbg.h Thu Jan 1 01:00:00 1970 +++ qlogic/drivers/scsi/qla2xxx/qla_dbg.h Mon Jul 8 12:05:21 2002 @@ -0,0 +1,252 @@ +/****************************************************************************** + * QLOGIC LINUX SOFTWARE + * + * QLogic ISP2x00 device driver for Linux 2.4.x + * Copyright (C) 2002 Qlogic Corporation + * (www.qlogic.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, 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. + * + ******************************************************************************/ + +#ifndef _QLA_DBG_H +#define _QLA_DBG_H + +#ifdef __cplusplus +extern "C" +{ +#endif + + /* + * Driver debug definitions in makefile. + * + * QL_DEBUG_LEVEL_1=0x1 Output register accesses. + * QL_DEBUG_LEVEL_2=0x2 Output error msgs. + * QL_DEBUG_LEVEL_3=0x4 Output function trace msgs. + * QL_DEBUG_LEVEL_4=0x8 Output NVRAM trace msgs. + * QL_DEBUG_LEVEL_5=0x10 Output ring trace msgs. + * QL_DEBUG_LEVEL_6=0x20 Output WATCHDOG timer trace. + * QL_DEBUG_LEVEL_7=0x40 Output RISC load trace msgs. + * QL_DEBUG_LEVEL_8=0x80 Output ring staturation msgs. + * QL_DEBUG_LEVEL_9=0x200 Output failover trace msgs. + * QL_DEBUG_LEVEL_10=0x400 Output configuration trace msgs. + * QL_DEBUG_LEVEL_100=0x100 Temporary msgs. + */ + + /* #define QL_DEBUG_LEVEL_9 */ /* Output ring saturation msgs to COM1 */ + /* #define QL_DEBUG_LEVEL_10 */ /* Output ring saturation msgs to COM1 */ + /* #define QL_DEBUG_LEVEL_20 */ /* Output ring saturation msgs to COM1 */ + /* #define QL_DEBUG_LEVEL_40 */ /* Output ring saturation msgs to COM1 */ + /* #define QL_DEBUG_LEVEL_80 */ /* Output ring saturation msgs to COM1 */ + /* #define QL_DEBUG_LEVEL_100 */ /* Output ring saturation msgs to COM1 */ + /* #define QL_DEBUG_LEVEL_400 */ + /* #define QL_DEBUG_LEVEL_800 */ + + /* #define QL_DEBUG_ROUTINES */ + + + /* + * Macro defines. + */ +#ifdef QL_DEBUG_LEVEL_100 +#define QL_PRINT_100(a, b, c, d) \ + qla2x00_print(a) +#define QL_DUMP_100(a, b, c, d) \ + qla2x00_formatted_dump_buffer((char *)a, (uint8_t *)b, (uint8_t)c, (uint32_t)d) +#else +#define QL_PRINT_100(a, b, c, d) +#define QL_DUMP_100(a, b, c, d) +#endif + +#ifdef QL_DEBUG_LEVEL_1 +#define QL_PRINT_1(a, b, c, d) \ + qla2x00_print(a) +#define QL_DUMP_1(a, b, c, d) \ + qla2x00_formatted_dump_buffer((char *)a, (uint8_t *)b, (uint8_t)c, (uint32_t)d) +#else +#define QL_PRINT_1(a, b, c, d) +#define QL_DUMP_1(a, b, c, d) +#endif + +#ifdef QL_DEBUG_LEVEL_2 +#define QL_PRINT_2(a, b, c, d) \ + qla2x00_print(a) +#define QL_DUMP_2(a, b, c, d) \ + qla2x00_formatted_dump_buffer((char *)a, (uint8_t *)b, (uint8_t)c, (uint32_t)d) +#else +#define QL_PRINT_2(a, b, c, d) +#define QL_DUMP_2(a, b, c, d) +#endif + +#ifdef QL_DEBUG_LEVEL_4 +#define QL_PRINT_3(a, b, c, d) \ + qla2x00_print(a) +#define QL_DUMP_3(a, b, c, d) \ + qla2x00_formatted_dump_buffer((char *)a, (uint8_t *)b, (uint8_t)c, (uint32_t)d) +#else +#define QL_PRINT_3(a, b, c, d) +#define QL_DUMP_3(a, b, c, d) +#endif + +#ifdef QL_DEBUG_LEVEL_6 +#define QL_PRINT_2_3(a, b, c, d) \ + qla2x00_print(a) +#define QL_DUMP_2_3(a, b, c, d) \ + qla2x00_formatted_dump_buffer((char *)a, (uint8_t *)b, (uint8_t)c, (uint32_t)d) +#else +#define QL_PRINT_2_3(a, b, c, d) +#define QL_DUMP_2_3(a, b, c, d) +#endif + +#ifdef QL_DEBUG_LEVEL_8 +#define QL_PRINT_4(a, b, c, d) \ + qla2x00_print(a) +#define QL_DUMP_4(a, b, c, d) \ + qla2x00_formatted_dump_buffer((char *)a, (uint8_t *)b, (uint8_t)c, (uint32_t)d) +#else +#define QL_PRINT_4(a, b, c, d) +#define QL_DUMP_4(a, b, c, d) +#endif + +#ifdef QL_DEBUG_LEVEL_10 +#define QL_PRINT_5(a, b, c, d) \ + qla2x00_print(a) +#define QL_DUMP_5(a, b, c, d) \ + qla2x00_formatted_dump_buffer((char *)a, (uint8_t *)b, (uint8_t)c, (uint32_t)d) +#else +#define QL_PRINT_5(a, b, c, d) +#define QL_DUMP_5(a, b, c, d) +#endif + +#ifdef QL_DEBUG_LEVEL_20 +#define QL_PRINT_6(a, b, c, d) \ + qla2x00_print(a) +#define QL_DUMP_6(a, b, c, d) \ + qla2x00_formatted_dump_buffer((char *)a, (uint8_t *)b, (uint8_t)c, (uint32_t)d) +#else +#define QL_PRINT_6(a, b, c, d) +#define QL_DUMP_6(a, b, c, d) +#endif + +#ifdef QL_DEBUG_LEVEL_40 +#define QL_PRINT_7(a, b, c, d) \ + qla2x00_print(a) +#define QL_DUMP_7(a, b, c, d) \ + qla2x00_formatted_dump_buffer((char *)a, (uint8_t *)b, (uint8_t)c, (uint32_t)d) +#else +#define QL_PRINT_7(a, b, c, d) +#define QL_DUMP_7(a, b, c, d) +#endif + +#ifdef QL_DEBUG_LEVEL_80 +#define QL_PRINT_8(a, b, c, d) \ + qla2x00_print(a) +#define QL_DUMP_8(a, b, c, d) \ + qla2x00_formatted_dump_buffer((char *)a, (uint8_t *)b, (uint8_t)c, (uint32_t)d) +#else +#define QL_PRINT_8(a, b, c, d) +#define QL_DUMP_8(a, b, c, d) +#endif + +#ifdef QL_DEBUG_LEVEL_200 +#define QL_PRINT_9(a, b, c, d) \ + qla2x00_print(a) +#define QL_DUMP_9(a, b, c, d) \ + qla2x00_formatted_dump_buffer((char *)a, (uint8_t *)b, (uint8_t)c, (uint32_t)d) +#else +#define QL_PRINT_9(a, b, c, d) +#define QL_DUMP_9(a, b, c, d) +#endif + +#ifdef QL_DEBUG_LEVEL_400 +#define QL_PRINT_10(a, b, c, d) \ + qla2x00_print(a) +#define QL_DUMP_10(a, b, c, d) \ + qla2100_formatted_print((char *)a); \ + qla2100_formatted_dump_buffer((char *)b, (uint32_t)d) +#else +#define QL_PRINT_10(a, b, c, d) +#define QL_DUMP_10(a, b, c, d) +#endif + +#ifdef QL_DEBUG_LEVEL_800 +#define QL_PRINT_13(a, b, c, d) \ + qla2x00_print(a) +#define QL_DUMP_13(a, b, c, d) \ + qla2x00_formatted_dump_buffer((char *)a, (uint8_t *)b, (uint8_t)c, (uint32_t)d) +#define QL_PRINT_12(a, b, c, d) \ + qla2x00_print(a) +#define QL_DUMP_12(a, b, c, d) \ + qla2x00_formatted_dump_buffer((char *)a, (uint8_t *)b, (uint8_t)c, (uint32_t)d) +#else +#define QL_PRINT_13(a, b, c, d) +#define QL_DUMP_13(a, b, c, d) + +#define QL_PRINT_12(a, b, c, d) +#define QL_DUMP_12(a, b, c, d) +#endif + /* Number radix. */ +#define QDBG_NO_NUM 0 /* No number. */ +#define QDBG_DEC_NUM 10 /* Decimal number. */ +#define QDBG_HEX_NUM 16 /* Hexadecimal number. */ +#define QDBG_PSTR QDBG_NO_NUM + + /* Insert newline at end of srting. */ +#define QDBG_NL 1 /* Add newline. */ +#define QDBG_NNL 0 /* No newline. */ + + /* + * Firmware Dump structure definition + */ +#define FW_DUMP_SIZE 0x68000 /* bytes */ + + typedef struct fw_dump { + uint16_t pbiu_reg[8]; + uint16_t mailbox_reg[8]; + uint16_t dma_reg[48]; + uint16_t risc_hdw_reg[16]; + uint16_t risc_gp0_reg[16]; + uint16_t risc_gp1_reg[16]; + uint16_t risc_gp2_reg[16]; + uint16_t risc_gp3_reg[16]; + uint16_t risc_gp4_reg[16]; + uint16_t risc_gp5_reg[16]; + uint16_t risc_gp6_reg[16]; + uint16_t risc_gp7_reg[16]; + uint16_t frame_buf_hdw_reg[16]; + uint16_t fpm_b0_reg[64]; + uint16_t fpm_b1_reg[64]; + uint16_t risc_ram[0xf000]; + } + fw_dump_t; + +#ifdef QL_DEBUG_ROUTINES + +#define QL_PRINT_SAVE uint8_t saved_print_status; \ + saved_print_status = qla2x00_debug_print +#define QL_PRINT_SET(x) (qla2x00_debug_print = x) +#define QL_PRINT_RESTORE (qla2x00_debug_print = saved_print_status) + +#ifdef sparc +#define QL_DEBUG_CONSOLE_DELAY 5 /* In clock ticks. */ +#endif + +#else /* QL_DEBUG_ROUTINES not defined */ +#define QL_PRINT_SAVE +#define QL_PRINT_SET(x) +#define QL_PRINT_RESTORE +#endif /* ifdef QL_DEBUG_ROUTINES */ + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif /* _QLA2X00_DEBUG_H */ diff -urNp 2.4.19rc1/drivers/scsi/qla2xxx/qla_debug.h qlogic/drivers/scsi/qla2xxx/qla_debug.h --- 2.4.19rc1/drivers/scsi/qla2xxx/qla_debug.h Thu Jan 1 01:00:00 1970 +++ qlogic/drivers/scsi/qla2xxx/qla_debug.h Mon Jul 8 12:05:21 2002 @@ -0,0 +1,127 @@ +/****************************************************************************** + * QLOGIC LINUX SOFTWARE + * + * QLogic ISP2x00 device driver for Linux 2.4.x + * Copyright (C) 2002 Qlogic Corporation + * (www.qlogic.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, 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. + * + ******************************************************************************/ + +#undef ENTER_TRACE +/* +* Macros use for debugging the driver. +*/ +#ifdef ENTER_TRACE +#define ENTER(x) do { printk("qla2100 : Entering %s()\n", x); } while (0) +#define LEAVE(x) do { printk("qla2100 : Leaving %s()\n", x); } while (0) +#define ENTER_INTR(x) do { printk("qla2100 : Entering %s()\n", x); } while (0) +#define LEAVE_INTR(x) do { printk("qla2100 : Leaving %s()\n", x); } while (0) +#else +#define ENTER(x) do {} while (0) +#define LEAVE(x) do {} while (0) +#define ENTER_INTR(x) do {} while (0) +#define LEAVE_INTR(x) do {} while (0) +#endif +#ifdef QL_DEBUG_LEVEL_3 +#define DEBUG3(x) do {x;} while (0); +#define DEBUG2_3(x) do {x;} while (0); +#define DEBUG2_3_11(x) do {x;} while (0); +#define DEBUG3_11(x) do {x;} while (0); +#else +#define DEBUG3(x) do {} while (0); +#endif + +#if QLA2100_COMTRACE +#define COMTRACE(x) do {printk(x);} while (0); +#else +#define COMTRACE(x) do {} while (0); +#endif + +#if DEBUG_QLA2100 +#define DEBUG(x) do {x;} while (0); +#else +#define DEBUG(x) do {} while (0); +#endif + +#ifdef QL_DEBUG_LEVEL_1 +#define DEBUG1(x) do {x;} while (0); +#else +#define DEBUG1(x) do {} while (0); +#endif + +#ifdef QL_DEBUG_LEVEL_2 +#define DEBUG2(x) do {x;} while (0); +#define DEBUG2_3(x) do {x;} while (0); +#define DEBUG2_3_11(x) do {x;} while (0); +#define DEBUG2_11(x) do {x;} while (0); +#else +#define DEBUG2(x) do {} while (0); + #ifndef QL_DEBUG_LEVEL_3 + #define DEBUG2_3(x) do {} while (0); + #endif +#endif + +#ifdef QL_DEBUG_LEVEL_4 +#define DEBUG4(x) do {x;} while (0); +#else +#define DEBUG4(x) do {} while (0); +#endif + +#ifdef QL_DEBUG_LEVEL_5 +#define DEBUG5(x) do {x;} while (0); +#else +#define DEBUG5(x) do {} while (0); +#endif + +#ifdef QL_DEBUG_LEVEL_7 +#define DEBUG7(x) do {x;} while (0); +#else +#define DEBUG7(x) do {} while (0); +#endif + +#ifdef QL_DEBUG_LEVEL_9 +#define DEBUG9(x) do {x;} while (0); +#define DEBUG9_10(x) do {x;} while (0); +#else +#define DEBUG9(x) do {} while (0); +#endif + +#ifdef QL_DEBUG_LEVEL_10 +#define DEBUG10(x) do {x;} while (0); +#define DEBUG9_10(x) do {x;} while (0); +#else +#define DEBUG10(x) do {} while (0); + #ifndef QL_DEBUG_LEVEL_9 + #define DEBUG9_10(x) do {} while (0); + #endif +#endif + +#ifdef QL_DEBUG_LEVEL_11 +#define DEBUG11(x) do{x;} while(0); +#define DEBUG2_11(x) do{x;} while(0); +#define DEBUG2_3_11(x) do{x;} while(0); +#define DEBUG3_11(x) do{x;} while(0); +#else +#define DEBUG11(x) do{} while(0); + #ifndef QL_DEBUG_LEVEL_2 + #define DEBUG2_11(x) do{} while(0); + #ifndef QL_DEBUG_LEVEL_3 + #define DEBUG2_3_11(x) do{} while(0); + #endif + #endif + #ifndef QL_DEBUG_LEVEL_3 + #define DEBUG3_11(x) do{} while(0); + #endif +#endif + + diff -urNp 2.4.19rc1/drivers/scsi/qla2xxx/qla_def.h qlogic/drivers/scsi/qla2xxx/qla_def.h --- 2.4.19rc1/drivers/scsi/qla2xxx/qla_def.h Thu Jan 1 01:00:00 1970 +++ qlogic/drivers/scsi/qla2xxx/qla_def.h Mon Jul 8 12:05:21 2002 @@ -0,0 +1,22 @@ +/****************************************************************************** + * QLOGIC LINUX SOFTWARE + * + * QLogic ISP2x00 device driver for Linux 2.4.x + * Copyright (C) 2002 Qlogic Corporation + * (www.qlogic.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, 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. + * + ******************************************************************************/ +#define ADAPTER_STATE_LOCK(ap) +#define ADAPTER_STATE_UNLOCK(ap) +#define GLOBAL_STATE_LOCK() +#define GLOBAL_STATE_UNLOCK() diff -urNp 2.4.19rc1/drivers/scsi/qla2xxx/qla_fo.c qlogic/drivers/scsi/qla2xxx/qla_fo.c --- 2.4.19rc1/drivers/scsi/qla2xxx/qla_fo.c Thu Jan 1 01:00:00 1970 +++ qlogic/drivers/scsi/qla2xxx/qla_fo.c Mon Jul 8 12:05:21 2002 @@ -0,0 +1,1462 @@ +/******************************************************************************** +* QLOGIC LINUX SOFTWARE +* +* QLogic ISP2x00 device driver for Linux 2.4.x +* Copyright (C) 2002 Qlogic Corporation +* (www.qlogic.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, 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. +* +****************************************************************************** +* Failover include file +******************************************************************************/ +#include "qla2x00.h" +#include "qla_gbl.h" +#include "qla_dbg.h" + +#include "exioct.h" +#include "qlfo.h" +#include "qla_fo.h" +#include "qlfolimits.h" + +/* + * Global variables + */ +SysFoParams_t qla_fo_params; + +/* + * Local routines + */ +#if !defined(linux) +static int qla2x00_sdm_setup(EXT_IOCTL *cmd_stp, void *arg, int mode); +#endif +static uint32_t qla2x00_fo_get_params(PFO_PARAMS pp); +static uint32_t qla2x00_fo_set_params(PFO_PARAMS pp); +static BOOL qla2x00_fo_count_retries(HBA_t *ha, srb_t *sp); +static int qla2x00_fo_get_lun_data(EXT_IOCTL *pext, FO_LUN_DATA_INPUT *bp, int mode); +static int qla2x00_fo_set_lun_data(EXT_IOCTL *pext, FO_LUN_DATA_INPUT *bp, int mode); +static uint32_t qla2x00_fo_stats(FO_HBA_STAT *stat_p, BOOL reset); +static int qla2x00_fo_set_target_data(EXT_IOCTL *pext, FO_TARGET_DATA_INPUT *bp, int mode); +static int qla2x00_fo_get_target_data(EXT_IOCTL *pext, FO_TARGET_DATA_INPUT *bp, int mode); + + + +/* + * qla2x00_get_hba + * Searches the hba structure chain for the requested instance + * aquires the mutex and returns a pointer to the hba structure. + * + * Input: + * inst = adapter instance number. + * + * Returns: + * Return value is a pointer to the adapter structure or + * NULL if instance not found. + * + * Context: + * Kernel context. + */ +HBA_p +qla2x00_get_hba(int instance) +{ + HBA_p hbap; + + hbap = (HBA_p) qla2x00_hostlist; + + + while (hbap != NULL) { + if (hbap->instance == instance) { + break; + } + hbap = (HBA_p)hbap->next; + } + return hbap; +} + +/* + * qla2x00_fo_stats + * Searches the hba structure chan for the requested instance + * aquires the mutex and returns a pointer to the hba structure. + * + * Input: + * stat_p = Pointer to FO_HBA_STAT union. + * reset = Flag, TRUE = reset statistics. + * FALSE = return statistics values. + * + * Returns: + * 0 = success + * + * Context: + * Kernel context. + */ +static uint32_t +qla2x00_fo_stats(FO_HBA_STAT *stat_p, BOOL reset) +{ + int32_t inst, idx; + uint32_t rval = 0; + HBA_t *hbap; + + inst = stat_p->input.HbaInstance; + stat_p->info.HbaCount = 0; + GLOBAL_STATE_LOCK(); + + hbap = (HBA_t *) qla2x00_hostlist; + + while (hbap != NULL) { + if (inst == FO_ADAPTER_ALL) { + stat_p->info.HbaCount++; + idx = hbap->instance; + ADAPTER_STATE_LOCK(hbap); + } else if (hbap->instance == inst) { + stat_p->info.HbaCount = 1; + ADAPTER_STATE_LOCK(hbap); + idx = inst; + } + if (reset == TRUE) { + hbap->IosRequested = 0; + hbap->BytesRequested = 0; + hbap->IosExecuted = 0; + hbap->BytesExecuted = 0; + } else { +#if defined(linux) +#if 0 + stat_p->info.StatEntry[idx].IosRequested = + hbap->IosRequested; + stat_p->info.StatEntry[idx].BytesRequested = + hbap->BytesRequested; + stat_p->info.StatEntry[idx].IosExecuted = + hbap->IosExecuted; + stat_p->info.StatEntry[idx].BytesExecuted = + hbap->BytesExecuted; +#endif +#else + + stat_p->info.StatEntry[idx].IosRequested = + hbap->IosRequested; + stat_p->info.StatEntry[idx].BytesRequested = + hbap->BytesRequested; + stat_p->info.StatEntry[idx].IosExecuted = + hbap->IosExecuted; + stat_p->info.StatEntry[idx].BytesExecuted = + hbap->BytesExecuted; +#endif + + } + ADAPTER_STATE_UNLOCK(hbap); + if (inst != FO_ADAPTER_ALL) + break; + else +#if defined(linux) + + hbap = (HBA_p)hbap->next; +#else + + hbap = (HBA_p)hbap->hba.next; +#endif + + } + GLOBAL_STATE_UNLOCK(); + return rval; +} + +/* + * qla2x00_fo_get_lun_data + * Get lun data from all devices attached to a HBA (FO_GET_LUN_DATA). + * Gets lun mask if failover not enabled. + * + * Input: + * ha = pointer to adapter + * bp = pointer to buffer + * + * Return; + * 0 on success or errno. + * + * Context: + * Kernel context. + */ +static int +qla2x00_fo_get_lun_data(EXT_IOCTL *pext, FO_LUN_DATA_INPUT *bp, int mode) +{ + adapter_state_t *ha; + fc_port_t *fcport; + int ret = 0; + mp_host_t *host = NULL; + mp_device_t *dp; + mp_path_t *path; + mp_path_list_t *pathlist; + os_tgt_t *ostgt; + uint8_t path_id; + uint16_t dev_no; + uint16_t cnt; + uint16_t lun; + FO_EXTERNAL_LUN_DATA_ENTRY *u_entry, *entry; + FO_LUN_DATA_LIST *u_list, *list; + + + ha = qla2x00_get_hba((int)bp->HbaInstance); + + DEBUG3(printk("qla_fo_get_lun_data: hba %p, buff %p.\n", ha, bp);) + DEBUG4(printk( "qla_fo_get_lun_data: hba %p, buff %p (int)bp->HbaInstance(%x).\n", + ha, bp, (int)bp->HbaInstance)); + + if (ha->flags.failover_enabled) + if ((host = qla2x00_cfg_find_host(ha)) == NULL) { + DEBUG2(printk( "qla2x00_get_lun_data: no HOST for ha %p.\n", ha);) + return 1; + } + + if ((list = (FO_LUN_DATA_LIST *)kmem_zalloc(sizeof(FO_LUN_DATA_LIST), + GFP_ATOMIC, 12)) == NULL) { + printk("qla_fo_get_lun_data: failed to allocate " + "memory of size (%d)\n", (int)sizeof(FO_LUN_DATA_LIST)); + return 1; + } + + entry = &list->DataEntry[0]; + + u_list = (FO_LUN_DATA_LIST *)pext->ResponseAdr; + u_entry = &u_list->DataEntry[0]; + + /* find the correct fcport list */ + if (!ha->flags.failover_enabled) + fcport = ha->fcport; + else + fcport = host->fcport; + + /* Check thru this adapter's fcport list */ + for ( ; (fcport); fcport = fcport->next) { + + BCOPY((void *)fcport->node_name, + (void *)&entry->NodeName[0], EXT_DEF_WWN_NAME_SIZE); + BCOPY((void *)fcport->port_name, + (void *)&entry->PortName[0], EXT_DEF_WWN_NAME_SIZE); + + if (!ha->flags.failover_enabled) { + /* + * Failover disabled. Just return LUN mask info + * in lun data entry of this port. + */ + entry->TargetId = 0; + for (cnt = 0; cnt < MAX_FIBRE_DEVICES; cnt++) { + if (!(ostgt = ha->otgt[cnt])) { + continue; + } + + if (ostgt->vis_port == fcport) { + entry->TargetId = cnt; + break; + } + } + if (cnt == MAX_FIBRE_DEVICES) { + /* Not found? For now just go to next port. */ +#ifdef QL_DEBUG_LEVEL_2 + uint8_t *tmp_name; +#if USE_PORTNAME + + tmp_name = fcport->port_name; +#else + + tmp_name = fcport->node_name; +#endif + + printk("fo_get_lun_data(%ld): ERROR " + "port %02x%02x%02x%02x%02x%02x%02x%02x " + "not configured.\n", ha->host_no, + tmp_name[0], tmp_name[1], tmp_name[2], + tmp_name[3], tmp_name[4], tmp_name[5], + tmp_name[6], tmp_name[7]); +#endif /* DEBUG */ + + continue; + } + + for (lun = 0; lun < MAX_LUNS; lun++) { + /* set MSB if masked */ + if (EXT_IS_LUN_BIT_SET(&(fcport->lun_mask), + lun)) { + entry->Data[lun] = 0; + } else { + entry->Data[lun] = LUN_DATA_ENABLED; + } + } + + DEBUG3(printk("qla2x00_fo_get_lun_data: got lun_mask " + "for tgt %d\n", cnt);) + DEBUG3(qla2x00_dump_buffer((char *)&(fcport->lun_mask), + sizeof(fcport->lun_mask));) + + list->EntryCount++; + os_copyout((void *) entry, (void *) u_entry, + sizeof(FO_EXTERNAL_LUN_DATA_ENTRY), mode); + u_entry++; + + /* Go to next port */ + continue; + } + + /* + * Failover is enabled. Go through the mp_devs list and + * return lun data in configured path. + */ + for (dev_no = 0; dev_no < MAX_MP_DEVICES; dev_no++) { + dp = host->mp_devs[dev_no]; + + if (dp == NULL) + continue; + + /* Lookup entry name */ + if (!qla2x00_is_portname_in_device(dp, entry->PortName)) + continue; + + if ((pathlist = dp->path_list) == NULL) + continue; + + path = pathlist->last; + for (path_id = 0; path_id < pathlist->path_cnt; + path_id++, path = path->next) { + + if (path->host != host) + continue; + + if (!qla2x00_is_portname_equal(path->portname, + entry->PortName)) + continue; + + for (lun = 0; lun < MAX_LUNS; lun++) { + entry->Data[lun] = + path->lun_data.data[lun]; + } + + entry->TargetId = dp->dev_id; + entry->Dev_No = path->id; + list->EntryCount++; + os_copyout((void *) entry, (void *) u_entry, + sizeof(FO_EXTERNAL_LUN_DATA_ENTRY), mode); + u_entry++; + + DEBUG2(printk( "qla_fo: (output) get_lun_data - " + "u_entry(%p) - lun entry[%d] :\n", + u_entry,list->EntryCount-1);) + + DEBUG2(qla2x00_dump_buffer((void *)entry, 64);) + + /* + * We found the right path for this port. + * Continue with next port. + */ + break; + } + + /* Continue with next port. */ + break; + } + } + + DEBUG4(printk("qla_fo: get_lun_data - entry count = [%d]\n", + list->EntryCount);) + + /* copy number of entries */ + os_copyout((void *)&list->EntryCount, (void *)&u_list->EntryCount, + sizeof(list->EntryCount), mode); + pext->ResponseLen = FO_LUN_DATA_LIST_MAX_SIZE; + + KMEM_FREE(list, sizeof(FO_LUN_DATA_LIST)); + + return ret; +} + +/* + * qla2x00_fo_set_lun_data + * Set lun data for the specified device on the attached hba + * (FO_SET_LUN_DATA). + * Sets lun mask if failover not enabled. + * + * Input: + * bp = pointer to buffer + * + * Return; + * 0 on success or errno. + * + * Context: + * Kernel context. + */ +static int +qla2x00_fo_set_lun_data(EXT_IOCTL *pext, FO_LUN_DATA_INPUT *bp, int mode) +{ + adapter_state_t *ha; + fc_port_t *fcport; + int i; + int ret = 0; + mp_host_t *host = NULL; + mp_device_t *dp; + mp_path_t *path; + mp_path_list_t *pathlist; + os_tgt_t *ostgt; + uint8_t path_id; + uint16_t dev_no; + uint16_t lun; + FO_LUN_DATA_LIST *u_list, *list; + FO_EXTERNAL_LUN_DATA_ENTRY *u_entry, *entry; + + typedef struct _tagStruct { + FO_LUN_DATA_INPUT foLunDataInput; + FO_LUN_DATA_LIST foLunDataList; + } + com_struc; + com_struc *com_iter; + + + ha = qla2x00_get_hba((int)bp->HbaInstance); + + DEBUG9(printk("qla_fo_set_lun_data: hba %p, buff %p.\n", ha, bp);) + + if (ha->flags.failover_enabled) + if ((host = qla2x00_cfg_find_host(ha)) == NULL) { + DEBUG2(printk( + "qla2x00_fo_set_lun_data: no HOST for ha %p.\n", + ha);) + return 1; + } + + if ((list = (FO_LUN_DATA_LIST *)kmem_zalloc(sizeof(FO_LUN_DATA_LIST), + GFP_ATOMIC, 13)) == NULL) { + + DEBUG2_3(printk("qla_fo_set_lun_data: failed to allocate " + "memory of size (%ld)\n", + sizeof(FO_LUN_DATA_LIST));) + return 1; + } + + entry = &list->DataEntry[0]; + + /* get lun data list from user */ + com_iter = (com_struc *)pext->RequestAdr; + u_list = &(com_iter->foLunDataList); + u_entry = &u_list->DataEntry[0]; + + os_copyin((void *)(u_list), (void *)list, sizeof(FO_LUN_DATA_LIST), + mode); + + DEBUG2(printk("qla_fo_set_lun_data: pext->RequestAdr(%p) u_list (%p) " + "sizeof(FO_LUN_DATA_INPUT) =(%ld) and 64 bytes...\n", + pext->RequestAdr, u_list, sizeof(FO_LUN_DATA_INPUT));) + DEBUG2(qla2x00_dump_buffer((void *)u_list, 64);) + + for (i = 0; i < list->EntryCount; i++, u_entry++) { + + os_copyin((void *) u_entry, (void *) entry, + sizeof(FO_EXTERNAL_LUN_DATA_ENTRY), mode); + + if (!ha->flags.failover_enabled) { + /* + * Failover disabled. Just find the port and set + * LUN mask values in lun_mask field of this port. + */ + + if (entry->TargetId >= MAX_FIBRE_DEVICES) + /* ERROR */ + continue; + + if (!(ostgt = ha->otgt[entry->TargetId])) + /* ERROR */ + continue; + + if (!(fcport = ostgt->vis_port)) + /* ERROR */ + continue; + + for (lun = 0; lun < MAX_LUNS; lun++) { + /* set MSB if masked */ + if (entry->Data[lun] | LUN_DATA_ENABLED) { + EXT_CLR_LUN_BIT(&(fcport->lun_mask), + lun); + } else { + EXT_SET_LUN_BIT(&(fcport->lun_mask), + lun); + } + } + + /* Go to next entry */ + continue; + } + + /* + * Failover is enabled. Go through the mp_devs list and + * set lun data in configured path. + */ + for (dev_no = 0; dev_no < MAX_MP_DEVICES; dev_no++) { + dp = host->mp_devs[dev_no]; + + if (dp == NULL) + continue; + + /* Lookup entry name */ + if (!qla2x00_is_portname_in_device(dp, entry->PortName)) + continue; + + if ((pathlist = dp->path_list) == NULL) + continue; + + path = pathlist->last; + for (path_id = 0; path_id < pathlist->path_cnt; + path_id++, path = path->next) { + + if (path->host != host) + continue; + + if (!qla2x00_is_portname_equal(path->portname, + entry->PortName)) + continue; + + for (lun = 0; lun < MAX_LUNS; lun++) { + path->lun_data.data[lun] = + entry->Data[lun]; + DEBUG4(printk("cfg_set_lun_data: lun " + "data[%d] = 0x%x \n", lun, + path->lun_data.data[lun]);) + } + + break; + } + break; + } + } + + KMEM_FREE(list, FO_LUN_DATA_LIST); + + return ret; +} + +/* + * qla2x00_fo_get_target_data + * Get the target control byte for all devices attached to a HBA. + * + * Input: + * bp = pointer to buffer + * + * Return; + * 0 on success or errno. + * + * Context: + * Kernel context. + */ +static int +qla2x00_fo_get_target_data(EXT_IOCTL *pext, FO_TARGET_DATA_INPUT *bp, int mode) +{ + adapter_state_t *ha; + fc_port_t *fcport; + int ret = 0; + mp_host_t *host = NULL; + mp_device_t *dp; + mp_path_t *path; + mp_path_list_t *pathlist; + os_tgt_t *ostgt; + uint8_t i, cnt; + uint8_t path_id; + uint16_t dev_no; + FO_DEVICE_DATA *entry, *u_entry; + + + ha = qla2x00_get_hba((int)bp->HbaInstance); + + DEBUG3(printk("qla_fo_get_target_data: hba %p, buff %p.\n", + ha, bp);) + + if (ha->flags.failover_enabled) + if ((host = qla2x00_cfg_find_host(ha)) == NULL) { + DEBUG2(printk("qla2x00_get_target_data: no HOST for " + "ha %p.\n", ha);) + return 1; + } + + if ((entry = (FO_DEVICE_DATA *)kmem_zalloc(sizeof(FO_DEVICE_DATA), + GFP_ATOMIC,14)) == NULL) { + DEBUG2_3(printk("qla_fo_get_target_data: failed to allocate " + "memory of size (%ld)\n", + sizeof(FO_DEVICE_DATA));) + return 1; + } + + u_entry = (FO_DEVICE_DATA *) pext->ResponseAdr; + + /* find the correct fcport list */ + if (!ha->flags.failover_enabled) + fcport = ha->fcport; + else + fcport = host->fcport; + + /* Check thru this adapter's fcport list */ + for (i = 0; fcport && i < MAX_TARGETS; i++, fcport = fcport->next) { + + BCOPY((void *)fcport->node_name, + (void *)&entry->WorldWideName[0], EXT_DEF_WWN_NAME_SIZE); + BCOPY((void *)fcport->port_name, + (void *)&entry->PortName[0], EXT_DEF_WWN_NAME_SIZE); + + if (!ha->flags.failover_enabled) { + /* + * Failover disabled. Just find the port and return + * target info. + */ + for (cnt = 0; cnt < MAX_FIBRE_DEVICES; cnt++) { + if (!(ostgt = ha->otgt[cnt])) { + continue; + } + + if (ostgt->vis_port == fcport) { + entry->TargetId = cnt; + break; + } + } + if (cnt == MAX_FIBRE_DEVICES) { + /* Not found? For now just go to next port. */ +#ifdef QL_DEBUG_LEVEL_2 + uint8_t *tmp_name; +#if USE_PORTNAME + + tmp_name = fcport->port_name; +#else + + tmp_name = fcport->node_name; +#endif + + printk("fo_get_target_data(%ld): ERROR " + "port %02x%02x%02x%02x%02x%02x%02x%02x " + "not configured.\n", ha->host_no, + tmp_name[0], tmp_name[1], tmp_name[2], + tmp_name[3], tmp_name[4], tmp_name[5], + tmp_name[6], tmp_name[7]); +#endif /* DEBUG */ + + continue; + } + + entry->MultipathControl = 0; /* always configured */ + os_copyout((void *)entry, (void *)u_entry, + sizeof(FO_DEVICE_DATA), mode); + u_entry++; + + continue; + } + + /* + * Failover is enabled. Go through the mp_devs list and + * get target data in configured path. + */ + for (dev_no = 0; dev_no < MAX_MP_DEVICES; dev_no++) { + dp = host->mp_devs[dev_no]; + + if (dp == NULL) + continue; + + /* Lookup entry name */ + if (!qla2x00_is_portname_in_device(dp, entry->PortName)) + continue; + + if ((pathlist = dp->path_list) == NULL) + continue; + + path = pathlist->last; + for (path_id = 0; path_id < pathlist->path_cnt; + path_id++, path= path->next) { + + if (path->host != host) + continue; + + if (!qla2x00_is_portname_equal(path->portname, + entry->PortName)) + continue; + + entry->TargetId = dp->dev_id; + entry->Dev_No = path->id; + entry->MultipathControl = path->mp_byte; + + DEBUG3(printk("cfg_get_target_data: path->id " + "= %d, target data = 0x%x \n", path->id, + path->mp_byte);) + os_copyout((void *)entry, (void *)u_entry, + sizeof(FO_DEVICE_DATA), mode); + u_entry++; + + /* Path found. Continue with next fcport */ + break; + } + break; + } + } + pext->ResponseLen = sizeof(FO_DEVICE_DATABASE); + + KMEM_FREE(entry, sizeof(FO_DEVICE_DATA)); + return ret; +} + +/* + * qla2x00_fo_set_target_data + * Set multipath control byte for all devices on the attached hba + * + * Input: + * bp = pointer to buffer + * + * Return; + * 0 on success or errno. + * + * Context: + * Kernel context. + */ +static int +qla2x00_fo_set_target_data(EXT_IOCTL *pext, FO_TARGET_DATA_INPUT *bp, int mode) +{ + adapter_state_t *ha; + int i; + int ret = 0; + mp_host_t *host; + mp_device_t *dp; + mp_path_t *path; + mp_path_list_t *pathlist; + uint16_t dev_no; + uint8_t path_id; + FO_DEVICE_DATA *entry, *u_entry; + + ha = qla2x00_get_hba((int)bp->HbaInstance); + + DEBUG3(printk("qla_fo_set_target_data: hba %p, buff %p.\n", + ha, bp);) + + if (!ha->flags.failover_enabled) + /* non-failover mode. nothing to be done. */ + return 0; + + if ((host = qla2x00_cfg_find_host(ha)) == NULL) { + DEBUG2(printk( + "qla2x00_fo_set_target_data: no HOST for ha %p.\n", + ha);) + return 1; + } + + if ((entry = (FO_DEVICE_DATA *)kmem_zalloc(sizeof(FO_DEVICE_DATA), + GFP_ATOMIC,15)) == NULL) { + DEBUG2_3(printk("qla_fo_set_target_data: failed to allocate " + "memory of size (%ld)\n", + sizeof(FO_LUN_DATA_LIST));) + return 1; + } + + u_entry = (FO_DEVICE_DATA *)(pext->RequestAdr + + sizeof(FO_TARGET_DATA_INPUT)); + + for (i = 0; i < MAX_TARGETS; i++, u_entry++) { + + os_copyin((void *)u_entry, (void *)entry, + sizeof(FO_DEVICE_DATA), mode); + + for (dev_no = 0; dev_no < MAX_MP_DEVICES; dev_no++) { + dp = host->mp_devs[dev_no]; + + if (dp == NULL) + continue; + + /* Lookup entry name */ + if (!qla2x00_is_portname_in_device(dp, entry->PortName)) + continue; + + if ((pathlist = dp->path_list) == NULL) + continue; + + path = pathlist->last; + for (path_id = 0; path_id < pathlist->path_cnt; + path_id++, path= path->next) { + + if (path->host != host) + continue; + + if (!qla2x00_is_portname_equal(path->portname, + entry->PortName)) + continue; + + path->mp_byte = entry->MultipathControl; + + DEBUG3(printk("cfg_set_target_data: %d target " + "data = 0x%x \n", + path->id,path->mp_byte);) + + /* + * if this is the visible path, then make + * it available on next reboot. + */ + if (!((path->mp_byte & MP_MASK_HIDDEN) || + (path->mp_byte & MP_MASK_UNCONFIGURED))) { + pathlist->visible = path->id; + } + /* Found path. Go to next entry. */ + break; + } + break; + } + } + + + KMEM_FREE(entry, sizeof(FO_DEVICE_DATA)); + return ret; + +} + +/* + * qla2x00_fo_ioctl + * Provides functions for failover ioctl() calls. + * + * Input: + * ha = adapter state pointer. + * ioctl_code = ioctl function to perform + * arg = Address of application EXT_IOCTL cmd data + * mode = flags + * + * Returns: + * Return value is the ioctl rval_p return value. + * 0 = success + * + * Context: + * Kernel context. + */ +/* ARGSUSED */ +int +qla2x00_fo_ioctl(HBA_t *ha, int ioctl_code, void *arg, int mode) +{ + static EXT_IOCTL cmd_struct; + int stat, rval = 0; + /* EXT_IOCTL status values */ + size_t in_size, out_size; + static union { + FO_PARAMS params; + FO_GET_PATHS path; + FO_SET_CURRENT_PATH set_path; + /* FO_HBA_STAT_INPUT stat; */ + FO_HBA_STAT stat; + FO_LUN_DATA_INPUT lun_data; + FO_TARGET_DATA_INPUT target_data; + } buff; + QL_PRINT_3("qla2x00_fo_ioctl: entered", + 0, QDBG_NO_NUM, QDBG_NL); + //printk("qla2x00_fo_ioctl: entered\n"); +#if defined(linux) + + BCOPY(arg, (void*)&cmd_struct, sizeof(cmd_struct)); + DEBUG3(printk("qla2x00_fo_ioctl: arg (%p):\n", arg);) +#else + rval = qla2x00_sdm_setup(&cmd_struct, arg, mode); + if ( rval != 0) { + os_copyout((void *)&ret_len, + (void *)&(((EXT_IOCTL*)arg)->ResponseLen), + sizeof(cmd_struct.ResponseLen), mode); + + return rval; + } +#endif + /* + * default case for this switch not needed, + * ioctl_code validated by caller. + */ + in_size = out_size = 0; + switch (ioctl_code) { + case FO_CC_GET_PARAMS: + out_size = sizeof(FO_PARAMS); + break; + case FO_CC_SET_PARAMS: + in_size = sizeof(FO_PARAMS); + break; + case FO_CC_GET_PATHS: + in_size = sizeof(FO_GET_PATHS); + break; + case FO_CC_SET_CURRENT_PATH: + in_size = sizeof(FO_SET_CURRENT_PATH); + break; + case FO_CC_GET_HBA_STAT: + case FO_CC_RESET_HBA_STAT: + in_size = sizeof(FO_HBA_STAT_INPUT); + break; + case FO_CC_GET_LUN_DATA: + in_size = sizeof(FO_LUN_DATA_INPUT); + break; + case FO_CC_SET_LUN_DATA: + in_size = sizeof(FO_LUN_DATA_INPUT); + break; + case FO_CC_GET_TARGET_DATA: + in_size = sizeof(FO_TARGET_DATA_INPUT); + break; + case FO_CC_SET_TARGET_DATA: + in_size = sizeof(FO_TARGET_DATA_INPUT); + break; + + } + if (in_size != 0) { + if ((int)cmd_struct.RequestLen < in_size) { + cmd_struct.Status = EXT_STATUS_INVALID_PARAM; + cmd_struct.DetailStatus = EXT_DSTATUS_REQUEST_LEN; + rval = EINVAL; + } else { + + stat = os_copyin((void *)cmd_struct.RequestAdr, + (void *)&buff, in_size, mode); + DEBUG4(printk("qla2x00_fo_ioctl: printing request buffer:\n")); + if (stat != 0) { + cmd_struct.Status = EXT_STATUS_COPY_ERR; + rval = EFAULT; + } + } + } else if (out_size != 0 && (int)cmd_struct.ResponseLen < out_size) { + cmd_struct.Status = EXT_STATUS_BUFFER_TOO_SMALL; + cmd_struct.DetailStatus = out_size; + rval = EINVAL; + } + if (rval == 0) + + cmd_struct.Status = EXT_STATUS_OK; + cmd_struct.DetailStatus = EXT_STATUS_OK; + switch (ioctl_code) { + case FO_CC_GET_PARAMS: + rval = qla2x00_fo_get_params(&buff.params); + break; + case FO_CC_SET_PARAMS: + rval = qla2x00_fo_set_params(&buff.params); + break; + case FO_CC_GET_PATHS: + rval = qla2x00_cfg_get_paths(&cmd_struct, + &buff.path,mode); + if (rval != 0) + out_size = 0; + break; + case FO_CC_SET_CURRENT_PATH: + rval = qla2x00_cfg_set_current_path(&cmd_struct, + &buff.set_path,mode); + break; + case FO_CC_RESET_HBA_STAT: + rval = qla2x00_fo_stats(&buff.stat, TRUE); + break; + case FO_CC_GET_HBA_STAT: + rval = qla2x00_fo_stats(&buff.stat, FALSE); + break; + case FO_CC_GET_LUN_DATA: + + DEBUG4(printk("calling qla2x00_fo_get_lun_data\n");) + DEBUG4(printk("((EXT_IOCTL*)arg)->RequestAdr (%p):\n", (((EXT_IOCTL*)arg)->RequestAdr));) + rval = qla2x00_fo_get_lun_data(&cmd_struct, &buff.lun_data, mode); + if (rval != 0) + out_size = 0; + break; + case FO_CC_SET_LUN_DATA: + + DEBUG4(printk("calling qla2x00_fo_set_lun_data\n");) + DEBUG4(printk(" ((EXT_IOCTL*)arg)->RequestAdr (%p):\n", (((EXT_IOCTL*)arg)->RequestAdr));) + rval = qla2x00_fo_set_lun_data(&cmd_struct, &buff.lun_data, mode); + break; + case FO_CC_GET_TARGET_DATA: + DEBUG4(printk("calling qla2x00_fo_get_target_data\n");) + DEBUG4(printk(" ((EXT_IOCTL*)arg)->RequestAdr (%p):\n", (((EXT_IOCTL*)arg)->RequestAdr));) + rval = qla2x00_fo_get_target_data(&cmd_struct, &buff.target_data, mode); + if (rval != 0) { + out_size = 0; + } + break; + case FO_CC_SET_TARGET_DATA: + DEBUG4(printk("calling qla2x00_fo_set_target_data\n");) + DEBUG4(printk(" ((EXT_IOCTL*)arg)->RequestAdr (%p):\n", (((EXT_IOCTL*)arg)->RequestAdr));) + rval = qla2x00_fo_set_target_data(&cmd_struct, &buff.target_data, mode); + break; + + } + if ((cmd_struct.ResponseLen = out_size) != 0) { + os_copyout((void *)&buff, + (void *)&(((EXT_IOCTL*)arg)->ResponseAdr), out_size, mode); + } + + /* Set Status and DetailStatus fields in application EXT_IOCTL */ +#if defined(linux) + (((EXT_IOCTL*)arg)->Status) = cmd_struct.Status; + (((EXT_IOCTL*)arg)->DetailStatus) = cmd_struct.DetailStatus; + (((EXT_IOCTL*)arg)->ResponseLen) = cmd_struct.ResponseLen; +#else + + os_copyout((void *)&cmd_struct.Status, + (void *)&(((EXT_IOCTL*)arg)->Status), + sizeof(cmd_struct.Status), mode); + os_copyout((void *)&cmd_struct.DetailStatus, + (void *)&(((EXT_IOCTL*)arg)->DetailStatus), + sizeof(cmd_struct.DetailStatus), mode); + os_copyout((void *)&cmd_struct.ResponseLen, + (void *)&(((EXT_IOCTL*)arg)->ResponseLen), + sizeof(cmd_struct.ResponseLen), mode); +#endif + + if (rval != 0) { + /*EMPTY*/ + QL_PRINT_2_3("qla2x00_sdm_ioctl: **** FAILED ****", + 0, QDBG_NO_NUM, QDBG_NL); + } else { + /*EMPTY*/ + QL_PRINT_3("qla2x00_sdm_ioctl: exiting normally", + 0, QDBG_NO_NUM, QDBG_NL); + } + + return rval; +} + +#if !defined(linux) +/* + * qla2x00_sdm_setup + * Make a local copy of the EXT_IOCTL struct and validate it. + * + * Input: + * cmd_struct = Pointer to local EXT_IOCTL + * arg = Address of application EXT_IOCTL cmd data + * mode = flags + * + * Returns: + * Return value is the ioctl rval_p return value. + * 0 = success + * + * Context: + * Kernel context. + */ +static int +qla2x00_sdm_setup(EXT_IOCTL *cmd_stp, void *arg, int mode) +{ + int rval = 0; + + /* Get argument structure. */ + rval = os_copyin(arg, (void *)cmd_stp, sizeof(EXT_IOCTL), mode); + if (rval != 0) { + cmd_stp->Status = EXT_STATUS_COPY_ERR; + + return EFAULT; + } + + /* Validate contents */ + if (BCMP(&cmd_stp->Signature, "QLOGIC", 6) != 0) { + cmd_stp->Status = EXT_STATUS_INVALID_PARAM; + + DEBUG2(printk("qla2x00_sdm_setup: sig failed - %c%c%c%c%c%c\n", + *((char *)(cmd_stp->Signature)), + *((char *)(cmd_stp->Signature) + 1), + *((char *)(cmd_stp->Signature) + 2), + *((char *)(cmd_stp->Signature) + 3), + *((char *)(cmd_stp->Signature) + 4), + *((char *)(cmd_stp->Signature) + 5));) + + return ENOTTY; + } + + if (cmd_stp->Version > EXT_VERSION) { + cmd_stp->Status = EXT_STATUS_UNSUPPORTED_VERSION; + + DEBUG2(printk("qla2x00_sdm_setup: cmd_stp->Version(%d) cmd_stp->Status(%d)\n", cmd_stp->Version, cmd_stp->Status);) + return ENOTTY; + } + return 0; +} +#endif + +/* + * qla2x00_fo_count_retries + * Increment the retry counter for the command. + * Set or reset the SRB_RETRY flag. + * + * Input: + * sp = Pointer to command. + * + * Returns: + * TRUE -- retry + * FALSE -- don't retry + * + * Context: + * Kernel context. + */ +static BOOL +qla2x00_fo_count_retries(HBA_t *ha, srb_t *sp) +{ + BOOL retry = TRUE; + os_lun_t *lq; + os_tgt_t *tq; + + if (++sp->fo_retry_cnt > qla_fo_params.MaxRetriesPerIo) { + /* no more failovers for this request */ + retry = FALSE; + sp->fo_retry_cnt = 0; + printk(KERN_INFO + "qla2x00: no more failovers for request - pid= %ld\n", sp->cmd->serial_number); + } else { + + /* + * We haven't exceeded the max retries for this + * request, check max retries this path + */ + if ((sp->fo_retry_cnt % qla_fo_params.MaxRetriesPerPath) == 0) { + DEBUG(printk(" qla2x00_fo_count_retries: FAILOVER - queuing ha=%ld, sp=%p, pid =%ld, fo retry= %d \n",ha->host_no,sp,sp->cmd->serial_number,sp->fo_retry_cnt);) + /* + * Note: we don't want it to timeout, so + * it is recycling on the retry queue and + * the fialover queue. + */ + lq = sp->lun_queue; + tq = sp->tgt_queue; + set_bit(LUN_MPIO_BUSY, &lq->q_flag); + + /* ??? We can get a path error on any ha, but always + * queue failover on originating ha. This will allow + * us to syncronized the requests for a given lun. + */ + sp->f_start=jiffies;/*ra 10/29/01*/ + /* Now queue it on to be failover */ + sp->ha = ha; + add_to_failover_queue(ha,sp); + } + } + return retry ; +} + + +/* + * qla2x00_fo_check + * This function is called from the done routine to see if + * the SRB requires a failover. + * + * This function examines the available os returned status and + * if meets condition, the command(srb) is placed ont the failover + * queue for processing. + * + * Input: + * sp = Pointer to the SCSI Request Block + * + * Output: + * sp->flags SRB_RETRY bit id command is to + * be retried otherwise bit is reset. + * + * Returns: + * None. + * + * Context: + * Kernel/Interrupt context. + */ +BOOL +qla2x00_fo_check(HBA_t *ha, srb_t *sp) +{ + BOOL retry = FALSE; + int host_status; +#if DEBUG_QLA2100 + + STATIC char *reason[] = { + "DID_OK", + "DID_NO_CONNECT", + "DID_BUS_BUSY", + "DID_TIME_OUT", + "DID_BAD_TARGET", + "DID_ABORT", + "DID_PARITY", + "DID_ERROR", + "DID_RESET", + "DID_BAD_INTR" + }; +#endif + + /* we failover on selction timeouts only */ + host_status = CMD_RESULT(sp->cmd) >>16; + if( host_status == DID_NO_CONNECT) { + if( qla2x00_fo_count_retries(ha,sp) ) { + /* Force a retry on this request, it will + * cause the LINUX timer to get reset, while we + * we are processing the failover. + */ + CMD_RESULT(sp->cmd) = DID_BUS_BUSY << 16; + retry = TRUE; + } + DEBUG(printk("qla2x00_fo_check: pid= %ld sp %p retry count=%d, retry flag = %d, host status (%s)\n\r",sp->cmd->serial_number, sp, sp->fo_retry_cnt, retry, reason[host_status]);) + } + return retry; +} + +/* + * qla2x00_fo_path_change + * This function is called from configuration mgr to notify + * of a path change. + * + * Input: + * type = Failover notify type, FO_NOTIFY_LUN_RESET or FO_NOTIFY_LOGOUT + * newlunp = Pointer to the fc_lun struct for current path. + * oldlunp = Pointer to fc_lun struct for previous path. + * + * Returns: + * + * Context: + * Kernel context. + */ +uint32_t +qla2x00_fo_path_change(uint32_t type, fc_lun_t *newlunp, fc_lun_t *oldlunp) +{ + uint32_t ret = QLA2X00_SUCCESS; + + newlunp->max_path_retries = 0; + return ret; +} + +/* + * qla2x00_fo_get_params + * Process an ioctl request to get system wide failover parameters. + * + * Input: + * pp = Pointer to FO_PARAMS structure. + * + * Returns: + * EXT_STATUS code. + * + * Context: + * Kernel context. + */ +static uint32_t +qla2x00_fo_get_params(PFO_PARAMS pp) +{ + pp->MaxPathsPerDevice = qla_fo_params.MaxPathsPerDevice; + pp->MaxRetriesPerPath = qla_fo_params.MaxRetriesPerPath; + pp->MaxRetriesPerIo = qla_fo_params.MaxRetriesPerIo; + pp->Flags = qla_fo_params.Flags; + pp->FailoverNotifyType = qla_fo_params.FailoverNotifyType; + pp->FailoverNotifyCdbLength = qla_fo_params.FailoverNotifyCdbLength; + memset(&pp->FailoverNotifyCdb[0], 0, sizeof(pp->FailoverNotifyCdb)); + BCOPY(&pp->FailoverNotifyCdb[0], &qla_fo_params.FailoverNotifyCdb[0], + sizeof(pp->FailoverNotifyCdb)); + return EXT_STATUS_OK; +} + +/* + * qla2x00_fo_set_params + * Process an ioctl request to set system wide failover parameters. + * + * Input: + * pp = Pointer to FO_PARAMS structure. + * + * Returns: + * EXT_STATUS code. + * + * Context: + * Kernel context. + */ +static uint32_t +qla2x00_fo_set_params(PFO_PARAMS pp) +{ + /* Check values for defined MIN and MAX */ + if ( (pp->MaxPathsPerDevice > SDM_DEF_MAX_PATHS_PER_DEVICE) || + (pp->MaxRetriesPerPath < FO_MAX_RETRIES_PER_PATH_MIN) || + (pp->MaxRetriesPerPath > FO_MAX_RETRIES_PER_PATH_MAX) || + (pp->MaxRetriesPerIo < FO_MAX_RETRIES_PER_IO_MIN) || + (pp->MaxRetriesPerPath > FO_MAX_RETRIES_PER_IO_MAX)) + return EXT_STATUS_INVALID_PARAM; + + /* Update the global structure. */ + qla_fo_params.MaxPathsPerDevice = pp->MaxPathsPerDevice; + qla_fo_params.MaxRetriesPerPath = pp->MaxRetriesPerPath; + qla_fo_params.MaxRetriesPerIo = pp->MaxRetriesPerIo; + qla_fo_params.Flags = pp->Flags; + qla_fo_params.FailoverNotifyType = pp->FailoverNotifyType; + qla_fo_params.FailoverNotifyCdbLength = pp->FailoverNotifyCdbLength; + if (pp->FailoverNotifyType & FO_NOTIFY_TYPE_CDB) { + if (pp->FailoverNotifyCdbLength > sizeof(qla_fo_params.FailoverNotifyCdb)) + return EXT_STATUS_INVALID_PARAM; + + memset(&qla_fo_params.FailoverNotifyCdb[0], 0, + sizeof(qla_fo_params.FailoverNotifyCdb)); + BCOPY(&pp->FailoverNotifyCdb[0], + &qla_fo_params.FailoverNotifyCdb[0], + sizeof(qla_fo_params.FailoverNotifyCdb)); + } + return EXT_STATUS_OK; +} + + +/* + * qla2x00_fo_init_params + * Gets driver configuration file failover properties to initalize + * the global failover parameters structure. + * + * Input: + * ha = adapter block pointer. + * + * Context: + * Kernel context. + */ +void +qla2x00_fo_init_params(adapter_state_t *ha) +{ + /* For parameters that are not completely implemented yet, */ + + memset(&qla_fo_params, 0 , sizeof(qla_fo_params)); + + if(MaxPathsPerDevice) { + qla_fo_params.MaxPathsPerDevice = MaxPathsPerDevice; + } else + qla_fo_params.MaxPathsPerDevice =FO_MAX_PATHS_PER_DEVICE_DEF ; + if(MaxRetriesPerPath) { + qla_fo_params.MaxRetriesPerPath = MaxRetriesPerPath; + } else + qla_fo_params.MaxRetriesPerPath =FO_MAX_RETRIES_PER_PATH_DEF; + if(MaxRetriesPerIo) { + qla_fo_params.MaxRetriesPerIo =MaxRetriesPerIo; + } else + qla_fo_params.MaxRetriesPerIo =FO_MAX_RETRIES_PER_IO_DEF; + + qla_fo_params.Flags = 0; + qla_fo_params.FailoverNotifyType = FO_NOTIFY_TYPE_NONE; + +} + +/* + * qla2x00_send_fo_notification + * Sends failover notification if needed. Change the fc_lun pointer + * in the old path lun queue. + * + * Input: + * old_lp = Pointer to old fc_lun. + * new_lp = Pointer to new fc_lun. + * + * Returns: + * Local function status code. + * + * Context: + * Kernel context. + */ +uint32_t +qla2x00_send_fo_notification(fc_lun_t *old_lp, fc_lun_t *new_lp) +{ + HBA_t *old_ha = old_lp->fcport->ha; + int rval = QLA2X00_SUCCESS; + inq_cmd_rsp_t *pkt; + uint16_t loop_id, lun; + dma_addr_t phys_address; + + + QL_PRINT_13("qla2x00_fo_notification: enter", 0, QDBG_NO_NUM, QDBG_NL); + + loop_id = old_lp->fcport->loop_id; + lun = old_lp->lun; + + if (qla_fo_params.FailoverNotifyType == FO_NOTIFY_TYPE_LUN_RESET) { + rval = qla2x00_lun_reset(old_ha, loop_id, lun); + if (rval == QLA2X00_SUCCESS) { + /* EMPTY */ + QL_PRINT_10("qla2x00_fo_notification: LUN reset succeded", + 0, QDBG_NO_NUM, QDBG_NL); + } else { + /* EMPTY */ + QL_PRINT_2("qla2x00_fo_notification: LUN reset Failed", + 0, QDBG_NO_NUM, QDBG_NL); + } + + } + if ( (qla_fo_params.FailoverNotifyType == + FO_NOTIFY_TYPE_LOGOUT_OR_LUN_RESET) || + (qla_fo_params.FailoverNotifyType == + FO_NOTIFY_TYPE_LOGOUT_OR_CDB) ) { + rval = qla2x00_fabric_logout(old_ha, loop_id); + if (rval == QLA2X00_SUCCESS) { + /* EMPTY */ + QL_PRINT_10("qla2x00_fo_failover_notify: logout succeded", + 0, QDBG_NO_NUM, QDBG_NL); + } else { + /* EMPTY */ + QL_PRINT_2("qla2x00_fo_failover_notification: logout Failed", + 0, QDBG_NO_NUM, QDBG_NL); + } + + } + + if (qla_fo_params.FailoverNotifyType == FO_NOTIFY_TYPE_CDB) { + + pkt = pci_alloc_consistent(old_ha->pdev, sizeof(inq_cmd_rsp_t), + &phys_address); + + if (pkt == NULL) { + QL_PRINT_12("qla2x00_fo_notification(", old_ha->instance, + QDBG_DEC_NUM, QDBG_NNL); + QL_PRINT_12("): Memory Allocation failed", 0, + QDBG_NO_NUM, QDBG_NL); + + return(QLA2X00_FUNCTION_FAILED); + } + + memset(pkt,0, sizeof(inq_cmd_rsp_t)); + /* Fix Me-COMMAND_A64_TYPE ??? */ + + pkt->p.cmd.entry_type = COMMAND_TYPE; + pkt->p.cmd.entry_count = 1; + pkt->p.cmd.lun = lun; + pkt->p.cmd.target = (uint8_t)loop_id; + pkt->p.cmd.control_flags = CF_SIMPLE_TAG; + memcpy(qla_fo_params.FailoverNotifyCdb, pkt->p.cmd.scsi_cdb, qla_fo_params.FailoverNotifyCdbLength); + /* FIXME This setup needs to be verified with Dennis. */ + pkt->p.cmd.dseg_count = 1; + pkt->p.cmd.byte_count = 0; + LITTLE_ENDIAN_32(pkt->p.cmd.byte_count); + pkt->p.cmd.dseg_0_address = (uint32_t) + (phys_address + sizeof (sts_entry_t)); + + LITTLE_ENDIAN_32(pkt->p.cmd.dseg_0_address); + pkt->p.cmd.dseg_0_length = 0; + LITTLE_ENDIAN_32(pkt->p.cmd.dseg_0_length); + + rval = qla2x00_issue_iocb(old_ha, pkt, phys_address, + sizeof (inq_cmd_rsp_t)); + + if (rval != QLA2X00_SUCCESS || + pkt->p.rsp.comp_status != CS_COMPLETE || + pkt->p.rsp.scsi_status & SS_CHECK_CONDITION || + pkt->inq[0] == 0x7f) { + /* EMPTY */ + QL_PRINT_12("qla2x00_fo_notification: send CDB failed", + 0, QDBG_NO_NUM, QDBG_NL); + QL_PRINT_12("comp_status = ", + pkt->p.rsp.comp_status, QDBG_HEX_NUM, QDBG_NNL); + QL_PRINT_12("scsi_status = ", + pkt->p.rsp.scsi_status, QDBG_HEX_NUM, QDBG_NNL); + QL_PRINT_12("inq[0] = ", + pkt->inq[0], QDBG_HEX_NUM, QDBG_NL); + } + + pci_free_consistent(old_ha->pdev, sizeof(inq_cmd_rsp_t), pkt, phys_address); + + } + return rval; +} + + + +/* + * qla2100_fo_enabled + * Reads and validates the failover enabled property. + * + * Input: + * ha = adapter state pointer. + * instance = HBA number. + * + * Returns: + * TRUE when failover is authorized else FALSE + * + * Context: + * Kernel context. + */ +BOOL +qla2x00_fo_enabled(HBA_t *ha, int instance) +{ + BOOL enable = FALSE; + + if( ha->flags.failover_enabled) + enable = TRUE; + + return enable; +} + + + diff -urNp 2.4.19rc1/drivers/scsi/qla2xxx/qla_fo.cfg qlogic/drivers/scsi/qla2xxx/qla_fo.cfg --- 2.4.19rc1/drivers/scsi/qla2xxx/qla_fo.cfg Thu Jan 1 01:00:00 1970 +++ qlogic/drivers/scsi/qla2xxx/qla_fo.cfg Mon Jul 8 12:05:21 2002 @@ -0,0 +1,31 @@ +/****************************************************************************** + * QLOGIC LINUX SOFTWARE + * + * QLogic ISP2x00 device driver for Linux 2.4.x + * Copyright (C) 2002 Qlogic Corporation + * (www.qlogic.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, 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. + * + ******************************************************************************/ + +/* + * QLogic ISP2x00 Multi-path LUN Support Driver + */ +int MaxPathsPerDevice = 0; +int MaxRetriesPerPath =0 ; +int MaxRetriesPerIo =0; +#ifdef MODULE +/* insmod qla2100 ql2xopts= */ +MODULE_PARM(MaxPathsPerDevice, "i"); +MODULE_PARM(MaxRetriesPerPath, "i"); +MODULE_PARM(MaxRetriesPerIo, "i"); +#endif diff -urNp 2.4.19rc1/drivers/scsi/qla2xxx/qla_fo.h qlogic/drivers/scsi/qla2xxx/qla_fo.h --- 2.4.19rc1/drivers/scsi/qla2xxx/qla_fo.h Thu Jan 1 01:00:00 1970 +++ qlogic/drivers/scsi/qla2xxx/qla_fo.h Mon Jul 8 12:05:21 2002 @@ -0,0 +1,75 @@ +/****************************************************************************** + * QLOGIC LINUX SOFTWARE + * + * QLogic ISP2x00 device driver for Linux 2.4.x + * Copyright (C) 2002 Qlogic Corporation + * (www.qlogic.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, 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. + * + ******************************************************************************/ + +/* + * QLogic ISP2x00 Failover Header + * + */ +#ifndef _QLA_FO_H +#define _QLA_FO_H + +#ifdef __cplusplus +extern "C" +{ +#endif + +#include "qlfo.h" + /* + * This structure definition is for a scsi I/O request NOT subject to + * failover re-routing. It is for the use of configuration operations + * and diagnostics functions as definted in ExIoct.h + */ + typedef struct scsi_cdb_request { + struct adapter_state *ha; + uint16_t target; + uint16_t lun; + uint8_t *cdb_ptr; /* Pointer to cdb to be sent */ + uint8_t cdb_len; /* cdb length */ + uint8_t direction; /* Direction of I/O for buffer */ + uint8_t scb_len; /* Scsi completion block length */ + uint8_t *scb_ptr; /* Scsi completion block pointer */ + uint8_t *buf_ptr; /* Pointer to I/O buffer */ + uint16_t buf_len; /* Buffer size */ + } + SCSI_REQ_t, *SCSI_REQ_p; + + + /* + * Special defines + */ + typedef union _FO_HBA_STAT { + FO_HBA_STAT_INPUT input; + FO_HBA_STAT_INFO info; + } FO_HBA_STAT; + + typedef union _FO_LUN_DATA { + FO_LUN_DATA_INPUT input; + FO_LUN_DATA_LIST list; + } FO_LUN_DATA; + + typedef union _FO_TARGET_DATA { + FO_TARGET_DATA_INPUT input; + FO_DEVICE_DATABASE list; + } FO_TARGET_DATA; + +#ifdef __cplusplus +} +#endif + +#endif /* ifndef _QLA_FO_H */ diff -urNp 2.4.19rc1/drivers/scsi/qla2xxx/qla_gbl.h qlogic/drivers/scsi/qla2xxx/qla_gbl.h --- 2.4.19rc1/drivers/scsi/qla2xxx/qla_gbl.h Thu Jan 1 01:00:00 1970 +++ qlogic/drivers/scsi/qla2xxx/qla_gbl.h Mon Jul 8 12:05:21 2002 @@ -0,0 +1,104 @@ +/******************************************************************************** +* QLOGIC LINUX SOFTWARE +* +* QLogic ISP2x00 device driver for Linux 2.4.x +* Copyright (C) 2002 Qlogic Corporation +* (www.qlogic.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, 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. +* +****************************************************************************** +* Global include file. +******************************************************************************/ + + +#ifndef _QLA_GBL_H +#define _QLA_GBL_H + +#ifdef __cplusplus +extern "C" +{ +#endif + +#include "exioct.h" +#include "qla_fo.h" + + /* + * Global Data in qla_fo.c source file. + */ + extern SysFoParams_t qla_fo_params; + /* + * Global Function Prototypes in qla2x00.c source file. + */ + extern int qla2x00_get_prop_xstr(adapter_state_t *, char *, uint8_t *, int); + + extern void qla2x00_formatted_print(char *, uint64_t , uint8_t, uint8_t); + extern void qla2x00_formatted_dump_buffer(char *, uint8_t *, uint8_t , + uint32_t ); + extern uint32_t qla2x00_fo_path_change(uint32_t , + fc_lun_t *, fc_lun_t *); + extern HBA_p qla2x00_get_hba(int); + + /* + * Global Function Prototypes in qla_fo.c source file. + */ + extern uint32_t qla2x00_send_fo_notification(fc_lun_t *fclun_p, fc_lun_t *olun_p); + extern void qla2x00_fo_init_params(adapter_state_t *ha); + extern BOOL qla2x00_fo_enabled(HBA_t *ha, int instance); +#if defined(linux) + extern int os_copyout(void *src,void *dst,size_t len,int mode); + extern int os_copyin(void *src,void *dst,size_t len,int mode); +#endif + + /* + * Global Data in qla_cfg.c source file. + */ + extern mp_host_t *mp_hosts_base; + extern BOOL mp_config_required; + /* + * Global Function Prototypes in qla_cfg.c source file. + */ + extern int qla2x00_cfg_init (adapter_state_t *ha); + extern int qla2x00_cfg_path_discovery(adapter_state_t *ha); + extern int qla2x00_cfg_event_notify(adapter_state_t *ha, uint32_t i_type); + extern fc_lun_t *qla2x00_cfg_failover(adapter_state_t *ha, fc_lun_t *fp, + os_tgt_t *tgt, srb_t *sp); + extern uint32_t qla2x00_cfg_get_paths( EXT_IOCTL *, FO_GET_PATHS *, int); + extern int qla2x00_cfg_set_current_path( EXT_IOCTL *, + FO_SET_CURRENT_PATH *, int); + extern void qla2x00_fo_properties(adapter_state_t *ha); + extern mp_host_t * qla2x00_add_mp_host(uint8_t *); + extern void qla2x00_cfg_mem_free(adapter_state_t *ha); + extern mp_host_t * qla2x00_alloc_host(HBA_t *); + extern BOOL qla2x00_fo_check(HBA_t *ha, srb_t *sp); + extern mp_path_t *qla2x00_find_path_by_name(mp_host_t *, mp_path_list_t *, + uint8_t *name); + + /* + * Global Function Prototypes in qla_cfgln.c source file. + */ + extern inline void *kmem_zalloc( int siz, int code, int id); + extern inline void qla_bcopy(unsigned char *, unsigned char *, int ); + extern void qla2x00_cfg_build_path_tree( adapter_state_t *ha); + extern BOOL qla2x00_update_mp_device(mp_host_t *, + fc_port_t *, uint16_t ); + extern void qla2x00_cfg_display_devices(void); + + /* + * Global Function Prototypes in qla_ioctl.c source file. + */ + extern int qla2x00_fo_ioctl(adapter_state_t *, int, void *, int); + +#ifdef __cplusplus +} +#endif + +#endif /* _QLA_GBL_H */ diff -urNp 2.4.19rc1/drivers/scsi/qla2xxx/qla_inioct.c qlogic/drivers/scsi/qla2xxx/qla_inioct.c --- 2.4.19rc1/drivers/scsi/qla2xxx/qla_inioct.c Thu Jan 1 01:00:00 1970 +++ qlogic/drivers/scsi/qla2xxx/qla_inioct.c Mon Jul 8 12:05:21 2002 @@ -0,0 +1,377 @@ +/****************************************************************************** + * QLOGIC LINUX SOFTWARE + * + * QLogic ISP2x00 device driver for Linux 2.4.x + * Copyright (C) 2002 Qlogic Corporation + * (www.qlogic.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, 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. + * + ******************************************************************************/ + +#include "inioct.h" + +extern int qla2x00_loopback_test(adapter_state_t *ha, INT_LOOPBACK_REQ *req, + uint16_t *ret_mb); + +int qla2x00_read_nvram(adapter_state_t *, EXT_IOCTL *, int); +int qla2x00_update_nvram(adapter_state_t *, EXT_IOCTL *, int); +int qla2x00_write_nvram_word(adapter_state_t *, uint8_t, uint16_t); +int qla2x00_send_loopback(adapter_state_t *, EXT_IOCTL *, int); + +int +qla2x00_read_nvram(adapter_state_t *ha, EXT_IOCTL *pext, int mode) +{ + uint8_t *usr_temp, *kernel_tmp; + uint16_t data; + uint32_t i, cnt; + uint32_t transfer_size; + + DEBUG9(printk("qla2x00_read_nvram: entered.\n");) + + if (pext->ResponseLen < sizeof(nvram21_t)) + transfer_size = pext->ResponseLen/2; + else + transfer_size = sizeof(nvram21_t)/2; + + /* Dump NVRAM. */ + usr_temp = (uint8_t *)pext->ResponseAdr; + for (i = 0, cnt = 0; cnt < transfer_size; cnt++, i++) { + data = qla2x00_get_nvram_word(ha, cnt); + + kernel_tmp = (uint8_t *)&data; + + __put_user(*kernel_tmp, usr_temp); + + /* next byte */ + usr_temp++; + kernel_tmp++; + + __put_user(*kernel_tmp, usr_temp); + + usr_temp++; + } + + pext->Status = EXT_STATUS_OK; + pext->DetailStatus = EXT_STATUS_OK; + + DEBUG9(printk("qla2x00_read_nvram: exiting.\n");) + + return 0; +} + +/* + * qla2x00_update_nvram + * Write data to NVRAM. + * + * Input: + * ha = adapter block pointer. + * pext = pointer to driver internal IOCTL structure. + * + * Returns: + * + * Context: + * Kernel context. + */ +int +qla2x00_update_nvram(adapter_state_t *ha, EXT_IOCTL *pext, int mode) +{ + uint8_t i, cnt; + uint8_t *usr_tmp, *kernel_tmp; + static nvram21_t new_nv; + uint16_t *wptr; + uint16_t data; + uint32_t transfer_size; + uint8_t chksum = 0; + int ret = 0; + + DEBUG9(printk("qla2x00_update_nvram: entered.\n");) + + if (pext->RequestLen < sizeof(nvram21_t)) + transfer_size = pext->RequestLen; + else + transfer_size = sizeof(nvram21_t); + + /* Read from user buffer */ + kernel_tmp = (uint8_t *)&new_nv; + usr_tmp = (uint8_t *)pext->RequestAdr; + + ret = verify_area(VERIFY_READ, (void *)usr_tmp, transfer_size); + if (ret) { + DEBUG9_10(printk( + "qla2x00_update_nvram: ERROR in buffer verify READ. " + "RequestAdr=%p\n", pext->RequestAdr);) + return ret; + } + + copy_from_user(kernel_tmp, usr_tmp, transfer_size); + + kernel_tmp = (uint8_t *)&new_nv; + + /* we need to checksum the nvram */ + for (i = 0; i < sizeof(nvram21_t) - 1; i++) { + chksum += *kernel_tmp; + kernel_tmp++; + } + + chksum = ~chksum + 1; + + *kernel_tmp = chksum; + + /* Write to NVRAM */ + wptr = (uint16_t *)&new_nv; + for (cnt = 0; cnt < transfer_size / 2; cnt++) { + data = *wptr++; + qla2x00_write_nvram_word(ha, cnt, data); + } + + pext->Status = EXT_STATUS_OK; + pext->DetailStatus = EXT_STATUS_OK; + + DEBUG9(printk("qla2x00_update_nvram: exiting.\n");) + + return 0; +} + +int +qla2x00_write_nvram_word(adapter_state_t *ha, uint8_t addr, uint16_t data) +{ + int count; + uint16_t word; + uint32_t nv_cmd; + device_reg_t *reg = ha->iobase; + + qla2x00_nv_write(ha, NV_DATA_OUT); + qla2x00_nv_write(ha, 0); + qla2x00_nv_write(ha, 0); + + for (word = 0; word < 8; word++) + qla2x00_nv_write(ha, NV_DATA_OUT); + + qla2x00_nv_deselect(ha); + + /* Erase Location */ + nv_cmd = (addr << 16) | NV_ERASE_OP; + nv_cmd <<= 5; + for (count = 0; count < 11; count++) { + if (nv_cmd & BIT_31) + qla2x00_nv_write(ha, NV_DATA_OUT); + else + qla2x00_nv_write(ha, 0); + + nv_cmd <<= 1; + } + + qla2x00_nv_deselect(ha); + + /* Wait for Erase to Finish */ + WRT_REG_WORD(®->nvram, NV_SELECT); + do { + NVRAM_DELAY(); + word = RD_REG_WORD(®->nvram); + } while ((word & NV_DATA_IN) == 0); + + qla2x00_nv_deselect(ha); + + /* Write data */ + nv_cmd = (addr << 16) | NV_WRITE_OP; + nv_cmd |= data; + nv_cmd <<= 5; + for (count = 0; count < 27; count++) { + if (nv_cmd & BIT_31) + qla2x00_nv_write(ha, NV_DATA_OUT); + else + qla2x00_nv_write(ha, 0); + + nv_cmd <<= 1; + } + + qla2x00_nv_deselect(ha); + + /* Wait for NVRAM to become ready */ + WRT_REG_WORD(®->nvram, NV_SELECT); + do { + NVRAM_DELAY(); + word = RD_REG_WORD(®->nvram); + } while ((word & NV_DATA_IN) == 0); + + qla2x00_nv_deselect(ha); + + /* Disable writes */ + qla2x00_nv_write(ha, NV_DATA_OUT); + for (count = 0; count < 10; count++) + qla2x00_nv_write(ha, 0); + + qla2x00_nv_deselect(ha); + + DEBUG9(printk("qla2x00_write_nvram_word: exiting.\n");) + + return 0; +} + +int +qla2x00_send_loopback(adapter_state_t *ha, EXT_IOCTL *pext, int mode) +{ + int status; + uint16_t ret_mb[MAILBOX_REGISTER_COUNT]; + INT_LOOPBACK_REQ req; + INT_LOOPBACK_RSP rsp; + + DEBUG9(printk("qla2x00_send_loopback: entered.\n");) + + + if (pext->RequestLen != sizeof(INT_LOOPBACK_REQ)) { + pext->Status = EXT_STATUS_INVALID_PARAM; + DEBUG9_10(printk( + "qla2x00_send_loopback: invalid RequestLen =%d.\n", + pext->RequestLen);) + return pext->Status; + } + + if (pext->ResponseLen != sizeof(INT_LOOPBACK_RSP)) { + pext->Status = EXT_STATUS_INVALID_PARAM; + DEBUG9_10(printk( + "qla2x00_send_loopback: invalid ResponseLen =%d.\n", + pext->ResponseLen);) + return pext->Status; + } + + status = verify_area(VERIFY_READ, (void *)pext->RequestAdr, + pext->RequestLen); + if (status) { + pext->Status = EXT_STATUS_COPY_ERR; + DEBUG9_10(printk("qla2x00_send_loopback: ERROR verify read of " + "request buffer.\n");) + return pext->Status; + } + + copy_from_user((uint8_t *)&req, (uint8_t *)pext->RequestAdr, + pext->RequestLen); + + status = verify_area(VERIFY_READ, (void *)pext->ResponseAdr, + pext->ResponseLen); + if (status) { + pext->Status = EXT_STATUS_COPY_ERR; + DEBUG9_10(printk("qla2x00_send_loopback: ERROR verify read of " + "response buffer.\n");) + return pext->Status; + } + + copy_from_user((uint8_t *)&rsp, (uint8_t *)pext->ResponseAdr, + pext->ResponseLen); + + if (req.TransferCount > req.BufferLength || + req.TransferCount > rsp.BufferLength) { + + /* Buffer lengths not large enough. */ + pext->Status = EXT_STATUS_INVALID_PARAM; + + DEBUG9_10(printk( + "qla2x00_send_loopback: invalid TransferCount =%d. " + "req BufferLength =%d rspBufferLength =%d.\n", + req.TransferCount, req.BufferLength, rsp.BufferLength);) + + return pext->Status; + } + + status = verify_area(VERIFY_READ, (void *)req.BufferAddress, + req.TransferCount); + if (status) { + pext->Status = EXT_STATUS_COPY_ERR; + DEBUG9_10(printk("qla2x00_send_loopback: ERROR verify read of " + "user loopback data buffer.\n");) + return pext->Status; + } + + copy_from_user((uint8_t *)ha->ioctl_mem, (uint8_t *)req.BufferAddress, + req.TransferCount); + + DEBUG9(printk("qla2x00_send_loopback: req -- bufadr=%x, buflen=%x, " + "xfrcnt=%x, rsp -- bufadr=%x, buflen=%x.\n", + (uint32_t)req.BufferAddress, req.BufferLength, req.TransferCount, + (uint32_t)rsp.BufferAddress, rsp.BufferLength);) + + /* + * AV - the caller of this IOCTL expects the FW to handle + * a loopdown situation and return a good status for the + * call function and a LOOPDOWN status for the test operations + */ + /*if (ha->loop_state != LOOP_READY || */ + if ( + (test_bit(CFG_ACTIVE, &ha->cfg_flags)) || + (test_bit(ABORT_ISP_ACTIVE, &ha->dpc_flags)) || + ABORTS_ACTIVE || ha->dpc_active) { + + pext->Status = EXT_STATUS_BUSY; + DEBUG9_10(printk("qla2x00_send_loopback(%ld): " + "loop not ready.\n", ha->host_no);) + return pext->Status; + } + + status = qla2x00_loopback_test(ha, &req, ret_mb); + + if (status) { + if (status == QL_STATUS_TIMEOUT ) { + pext->Status = EXT_STATUS_BUSY; + DEBUG9_10(printk("qla2x00_send_loopback: ERROR " + "command timed out.\n");) + return pext->Status; + } else { + /* EMPTY. Just proceed to copy back mailbox reg + * values for users to interpret. + */ + DEBUG10(printk("qla2x00_send_loopback: ERROR " + "loopback command failed 0x%x.\n", ret_mb[0]);) + } + } + + status = verify_area(VERIFY_WRITE, (void *)rsp.BufferAddress, + req.TransferCount); + if (status) { + pext->Status = EXT_STATUS_COPY_ERR; + DEBUG9_10(printk("qla2x00_send_loopback: ERROR verify " + "write of return data buffer.\n");) + return pext->Status; + } + + DEBUG9(printk("qla2x00_send_loopback: loopback mbx cmd ok. " + "copying data.\n");) + + /* put loopback return data in user buffer */ + copy_to_user((uint8_t *)rsp.BufferAddress, + (uint8_t *)ha->ioctl_mem, req.TransferCount); + + rsp.CompletionStatus = ret_mb[0]; + rsp.CrcErrorCount = ret_mb[1]; + rsp.DisparityErrorCount = ret_mb[2]; + rsp.FrameLengthErrorCount = ret_mb[3]; + rsp.IterationCountLastError = (ret_mb[19] << 16) | ret_mb[18]; + + status = verify_area(VERIFY_WRITE, (void *)pext->ResponseAdr, + pext->ResponseLen); + if (status) { + pext->Status = EXT_STATUS_COPY_ERR; + DEBUG9_10(printk("qla2x00_send_loopback: ERROR verify " + "write of response buffer.\n");) + return pext->Status; + } + + copy_to_user((uint8_t *)pext->ResponseAdr, (uint8_t *)&rsp, + pext->ResponseLen); + + pext->Status = EXT_STATUS_OK; + pext->DetailStatus = EXT_STATUS_OK; + + DEBUG9(printk("qla2x00_send_loopback: exiting.\n");) + + return pext->Status; +} + diff -urNp 2.4.19rc1/drivers/scsi/qla2xxx/qla_ip.c qlogic/drivers/scsi/qla2xxx/qla_ip.c --- 2.4.19rc1/drivers/scsi/qla2xxx/qla_ip.c Thu Jan 1 01:00:00 1970 +++ qlogic/drivers/scsi/qla2xxx/qla_ip.c Mon Jul 8 12:05:21 2002 @@ -0,0 +1,1904 @@ +/****************************************************************************** + * QLOGIC LINUX SOFTWARE + * + * QLogic ISP2x00 device driver for Linux 2.4.x + * Copyright (C) 2002 Qlogic Corporation + * (www.qlogic.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, 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. + * + ******************************************************************************/ + +/**************************************************************************** + Please see revision.notes for revision history. +*****************************************************************************/ + +#ifdef NOT_USED_HERE +/* +* qla2x00_alloc_phys (64-bit addressing) +* Function used to allocate physical memory +* and zero it. +* +* Input: +* size = size in bytes. +* flag = sleep flag. +* phy_addr = physical address pointer. +* +* Returns: +* not NULL = success +*/ +STATIC void * +qla2x00_alloc_phys(int siz, u_long *phy_addr) +{ + void *mem = NULL; + + mem = KMALLOC(siz); + if (mem != NULL) { + *phy_addr = VIRT_TO_BUS(mem); + BZERO((caddr_t)mem, siz); + } + + return(mem); +} +#endif + +/************************************************************************/ +/* qla2x00_ip_inquiry */ +/* This routine is called by the IP driver to find adapters that */ +/* support IP and to get adapter parameters from the SCSI driver. */ +/* */ +/* Arguments: */ +/* wAdapterNumber - adapter number to check. */ +/* pInquiryData - pointer to BD_INQUIRY_DATA structure. */ +/* */ +/* Return Value: */ +/* Returns TRUE if specified adapter supports IP. */ +/* Returns FALSE if no IP support. */ +/************************************************************************/ +#if defined (ISP2200) +int +qla2200_ip_inquiry(uint16_t wAdapterNumber, BD_INQUIRY_DATA *pInquiryData) +#elif defined(ISP2300) +int +qla2300_ip_inquiry(uint16_t wAdapterNumber, BD_INQUIRY_DATA *pInquiryData) +#endif +{ + int i; + int status = FALSE; + scsi_qla_host_t *ha; + + /* Verify structure size and version */ + if (pInquiryData->wLength != BDI_LENGTH || + pInquiryData->wVersion != BDI_VERSION) { + + DEBUG(printk("qla2x00_ip_inquiry: incompatable structure\n");) + return(status); + } + + /* Find the specified host adapter */ + for (ha = qla2x00_hostlist; + ha != NULL && ha->instance != wAdapterNumber; + ha = ha->next); + + if (ha) { + /* Found specified adapter, check for IP support */ + if (ha->flags.online) { + DEBUG(printk("qla2x00_ip_inquiry: found adapter %d\n", + wAdapterNumber);) + + /* Return inquiry data to backdoor IP driver */ + pInquiryData->lOptions = BDI_IP_SUPPORT; + pInquiryData->pScsiDriverHa = ha; + pInquiryData->pReceiveBufferQueue = ha->pIpBufferQueue; + pInquiryData->wReceiveBufferQueueSize = + IP_BUFFER_QUEUE_DEPTH; + for (i = 0; i < 8; i++) + pInquiryData->acPortName[i] = + ha->acPortName[i]; + pInquiryData->pdev = ha->pdev; + pInquiryData->ip_enable_routine = qla2x00_ip_enable; + pInquiryData->ip_disable_routine = qla2x00_ip_disable; + pInquiryData->ip_add_buffers_routine = + qla2x00_add_buffers; + pInquiryData->ip_send_packet_routine = + qla2x00_send_packet; + + status = TRUE; + } + } + + return(status); +} + + +/************************************************************************/ +/* qla2x00_ip_enable */ +/* This routine is called by the IP driver to enable IP connection */ +/* to the scsi driver and to pass in IP driver parameters. */ +/* */ +/* Arguments: */ +/* ha - host adapter block pointer. */ +/* pEnableData - pointer to BD_ENABLE_DATA structure. */ +/* */ +/* Return Value: */ +/* Returns TRUE if IP connection successfully enabled. */ +/* Returns FALSE if IP not enabled. */ +/************************************************************************/ + +static int +qla2x00_ip_enable(scsi_qla_host_t *ha, BD_ENABLE_DATA *pEnableData) +{ + int status = FALSE; + + DEBUG(printk("qla2x00_ip_enable: enable adapter %d\n", + (int)ha->host_no);) + + /* Verify structure size and version and adapter online */ + if (!(ha->flags.online) || + pEnableData->wLength != BDE_LENGTH || + pEnableData->wVersion != BDE_VERSION) { + + DEBUG(printk("qla2x00_ip_enable: incompatable " + "structure or offline\n");) + return(status); + } + + /* Save parameters from IP driver */ + ha->wReceiveBufferCount = pEnableData->wReceiveBufferCount; + ha->wHeaderSize = pEnableData->wHeaderSize; + ha->lReceiveBufferSize = pEnableData->lReceiveBufferSize; + ha->lMaximumTransferSize = pEnableData->lMaximumTransferSize; + ha->pReturnReceivePacketsRoutine = + (PRECEIVE_PACKETS_CALLBACK) + pEnableData->pReturnReceivePacketsRoutine; + ha->pReturnReceivePacketsContext = + pEnableData->pReturnReceivePacketsContext; + ha->pReceiveBufferCBs = (PBUFFER_CB)pEnableData->pReceiveBufferCBs; + ha->pSendCompletionRoutine = + (PSEND_COMPLETION_CALLBACK)pEnableData->pSendCompletionRoutine; + + if (pEnableData->lOptions & BDE_NOTIFY_ROUTINE) { + ha->pNotifyRoutine = + (PNOTIFY_CALLBACK)pEnableData->pNotifyRoutine; + ha->pNotifyContext = pEnableData->pNotifyContext; + } + + /* Enable RISC IP support */ + status = qla2x00_ip_initialize(ha); + if (!status) { + DEBUG(printk("qla2x00_ip_enable: IP initialization failed\n");) + ha->pNotifyRoutine = NULL; + } + + return(status); +} /* qla2x00_ip_enable */ + + +/************************************************************************/ +/* qla2x00_ip_disable */ +/* This routine is called by the IP driver to disable IP connection. */ +/* */ +/* Arguments: */ +/* ha - host adapter block pointer. */ +/* */ +/* Return Value: */ +/* none */ +/************************************************************************/ + +static void +qla2x00_ip_disable(scsi_qla_host_t *ha) +{ + int rval; + static mbx_cmd_t mc; + mbx_cmd_t *mcp = &mc; + + DEBUG(printk("qla2x00_ip_disable: disable adapter %d\n", + (int)ha->host_no);) + + /* Disable IP support */ + ha->flags.enable_ip = FALSE; + + mcp->mb[0] = MBC_DISABLE_IP; + mcp->out_mb = MBX_0; + mcp->in_mb = MBX_0; + mcp->tov = 30; + mcp->flags = 0; + + rval = qla2x00_mailbox_command(ha, mcp); + if (rval == QL_STATUS_SUCCESS) { + /* IP disabled successful */ + DEBUG(printk(KERN_INFO + "qla2x00_ip_disable: successful\n");) + } + else { + DEBUG(printk(KERN_WARNING + "qla2x00_ip_disable: MBC_DISABLE_IP failed\n");) + } + + /* Reset IP parameters */ + ha->wIpBufferIn = 0; + ha->wIpBufferOut = 0; + ha->pNotifyRoutine = NULL; + +} /* qla2x00_ip_disable */ + + +/************************************************************************/ +/* qla2x00_ip_initialize */ +/* This function is called to initialize the RISC IP support. */ +/* */ +/* Arguments: */ +/* ha - adapter block pointer */ +/* */ +/* Return Value: */ +/* Returns TRUE if initialization is complete */ +/* Returns FALSE if error */ +/************************************************************************/ + +static int +qla2x00_ip_initialize(scsi_qla_host_t *ha) +{ + int status = FALSE; + int i; + IP_INIT_BLOCK *pIpInitBlock; + dma_addr_t phys_address = 0; + static mbx_cmd_t mc; + mbx_cmd_t *mcp = &mc; + device_reg_t *reg; + unsigned long flags; + + DEBUG(printk("qla2x00_ip_initialize: enter\n");) + + /* Initialize IP data in ha */ + ha->pIpDeviceTop = NULL; + ha->pIpDeviceBottom = NULL; + + ha->pIpDeviceFree = &ha->asIpDeviceDatabase[0]; + for (i = 0; i < QLLAN_MAX_IP_DEVICES; i++) { + ha->asIpDeviceDatabase[i].wDeviceIndex = i; + ha->asIpDeviceDatabase[i].pNextIpDevice = + &ha->asIpDeviceDatabase[i+1]; + } + ha->asIpDeviceDatabase[QLLAN_MAX_IP_DEVICES-1].pNextIpDevice = NULL; + + /* Reset/pack buffers owned by RISC in receive buffer ring */ + if (ha->wIpBufferIn != ha->wIpBufferOut) { + + PBUFFER_CB pBufferCB = (PBUFFER_CB)ha->pReceiveBufferCBs; + uint16_t wIpBufferOut = ha->wIpBufferOut; + PIP_BUFFER_ENTRY pIpBuffer; + + /* + * Must locate all RISC owned buffers and + * pack them in the buffer ring + */ + /* between IpBufferOut and IpBufferIN */ + for (i = 0; i < ha->wReceiveBufferCount; i++, pBufferCB++) { + if (pBufferCB->lFlags & BCB_FLAGS_RISC_OWNS_BUFFER) { + /* + * Set RISC owned buffer into receive + * buffer ring + */ + pIpBuffer = &ha->asIpBuffers[wIpBufferOut]; + pIpBuffer->wIpBufferHandle = + pBufferCB->wBufferHandle; + pIpBuffer->lIpBufferAddrLow = + pBufferCB->physicalAddressLow; + pIpBuffer->lIpBufferAddrHigh = + pBufferCB->physicalAddressHigh; + + if (wIpBufferOut < IP_BUFFER_QUEUE_DEPTH - 1) + wIpBufferOut++; + else + wIpBufferOut = 0; + } + } + + /* Verify correct number of RISC owned buffers were found */ + if (wIpBufferOut != ha->wIpBufferIn) { + /* Incorrect number of RISC owned buffers?? */ + DEBUG(printk("qla2x00_ip_initialize: incorrect number " + "of RISC owned buffers, disable IP\n");) + ha->flags.enable_ip = FALSE; + return(FALSE); + } + } + + /* Init RISC buffer pointer */ + spin_lock_irqsave(&ha->hardware_lock, flags); + reg = ha->iobase; + WRT_REG_WORD(®->mailbox8, ha->wIpBufferIn); + spin_unlock_irqrestore(&ha->hardware_lock, flags); + + /* Setup IP initialization control block */ + pIpInitBlock = pci_alloc_consistent(ha->pdev, + sizeof(IP_INIT_BLOCK), + &phys_address); + + if (pIpInitBlock != NULL) { + + memset(pIpInitBlock, 0, sizeof(IP_INIT_BLOCK)); + pIpInitBlock->cVersion = IPIB_VERSION; + pIpInitBlock->wIpFirmwareOptions = + IPIB_OPTION_NO_BROADCAST_FASTPOST | + IPIB_OPTION_64BIT_ADDRESSING; + pIpInitBlock->wIpHeaderSize = ha->wHeaderSize; + pIpInitBlock->wIpMTUSize = (uint16_t)ha->lMaximumTransferSize; + pIpInitBlock->wIpBufferSize = (uint16_t)ha->lReceiveBufferSize; + pIpInitBlock->wIpQueueSize = IP_BUFFER_QUEUE_DEPTH; + pIpInitBlock->wIpLowWaterMark = IPIB_LOW_WATER_MARK; + pIpInitBlock->wIpQueueAddr[0] = ha->ppIpBufferQueueLow & 0xffff; + pIpInitBlock->wIpQueueAddr[1] = ha->ppIpBufferQueueLow >> 16; + pIpInitBlock->wIpQueueAddr[2] = + ha->ppIpBufferQueueHigh & 0xffff; + pIpInitBlock->wIpQueueAddr[3] = ha->ppIpBufferQueueHigh >> 16; + pIpInitBlock->wIpQueueInPointer = ha->wIpBufferOut; + pIpInitBlock->wIpFastPostCount = IPIB_FAST_POST_COUNT; + pIpInitBlock->wIpBufferContainerCount = + IPIB_BUFFER_CONTAINER_COUNT; + pIpInitBlock->wIpIocbResourceAllocation = + IPIB_IOCB_RESERVE_COUNT; + + /* Issue mailbox command to initialize IP firmware */ + mcp->mb[0] = MBC_INITIALIZE_IP; + mcp->mb[2] = MSW(phys_address); + mcp->mb[3] = LSW(phys_address); + mcp->mb[6] = QL21_64BITS_4THWD(phys_address); + mcp->mb[7] = QL21_64BITS_3RDWD(phys_address); + mcp->out_mb = MBX_7|MBX_6|MBX_3|MBX_2|MBX_0; + mcp->in_mb = MBX_0; + mcp->tov = 30; + mcp->buf_size = sizeof(IP_INIT_BLOCK); + mcp->flags = MBX_DMA_OUT; + + status = qla2x00_mailbox_command(ha, mcp); + if(status == QL_STATUS_SUCCESS) { + /* IP initialization successful */ + DEBUG(printk("qla2x00_ip_initialize: successful\n");) + + ha->flags.enable_ip = TRUE; + + /* Force database update */ + set_bit(LOOP_RESYNC_NEEDED, &ha->dpc_flags); + set_bit(LOCAL_LOOP_UPDATE, &ha->dpc_flags); + set_bit(REGISTER_FC4_NEEDED, &ha->dpc_flags); + + /* qla2x00_loop_resync(ha); */ + if (ha->dpc_wait && !ha->dpc_active) { + up(ha->dpc_wait); + } + status = TRUE; + } + else { + DEBUG(printk("qla2x00_ip_initialize: " + "MBC_INITIALIZE_IP failed %x MB0 %x\n", + status, mcp->mb[0]);) + status = FALSE; + } + pci_free_consistent(ha->pdev, sizeof(IP_INIT_BLOCK), + pIpInitBlock, phys_address); + + } + else { + DEBUG(printk("qla2x00_ip_initialize: memory " + "allocation error\n");) + } + + return(status); +} /* qla2200_ip_initialize */ + + +/************************************************************************/ +/* qla2x00_add_buffers */ +/* This routine is called directly by network IP backdoor driver */ +/* to pass new buffers in the receive buffer queue to the ISP. */ +/* */ +/* NOTE: Called from non-IRQ context (!hardware_lock'ed). */ +/* NOTE: Called from the IRQ context (hardware_lock'ed). */ +/* */ +/* Arguments: */ +/* ha - adapter block pointer */ +/* wBufferCount - number of buffers added */ +/* */ +/* Return Value: */ +/* None */ +/************************************************************************/ + +static void +qla2x00_add_buffers(scsi_qla_host_t *ha, uint16_t wBufferCount) +{ + int i; + uint16_t wIpBufferIn = ha->wIpBufferIn; + device_reg_t *reg; + PIP_BUFFER_ENTRY pIpBufferQueue = ha->asIpBuffers; + PBUFFER_CB pReceiveBufferCBs = (PBUFFER_CB)ha->pReceiveBufferCBs; + uint16_t wBufferHandle; + + /* Set RISC owns buffer flags */ + for (i = 0; i < wBufferCount; i++) { + wBufferHandle = pIpBufferQueue[wIpBufferIn].wIpBufferHandle; + pReceiveBufferCBs[wBufferHandle].lFlags |= + BCB_FLAGS_RISC_OWNS_BUFFER; + + if (wIpBufferIn < IP_BUFFER_QUEUE_DEPTH - 1) + wIpBufferIn++; + else + wIpBufferIn = 0; + } + /* TODO: no harware_lock??? */ + /* Update RISC buffer pointer */ + reg = ha->iobase; + WRT_REG_WORD(®->mailbox8, wIpBufferIn); + ha->wIpBufferIn = wIpBufferIn; +} + + +/************************************************************************/ +/* qla2x00_add_new_ip_device */ +/* This routine reserves an IP block, saves IP data in block, and */ +/* does fabric login if public device. */ +/* */ +/* Arguments: */ +/* ha - adapter block pointer */ +/* wLoopID - loop ID if private loop, else PUBLIC_LOOP_DEVICE */ +/* pPortId - pointer to port ID if public device */ +/* pPortName - pointer to world wide port name */ +/* bForceAdd - if TRUE and resource error, logout other device */ +/* */ +/* Return Value: */ +/* QL_STATUS_SUCCESS if no error */ +/* QL_STATUS_RESOURCE_ERROR if out of loop IDs or IP device blocks */ +/* QL_STATUS_FATAL_ERROR if fatal error */ +/* QL_STATUS_ERROR if any other error */ +/************************************************************************/ + +static int +qla2x00_add_new_ip_device(scsi_qla_host_t *ha, + uint16_t wLoopId, + uint8_t *pPortId, + uint8_t *pPortName, + int bForceAdd, + uint32_t hardware_locked) +{ + IP_DEVICE_BLOCK *pIpDevice; + int status; + + /* Get free IP device block */ + if ((status = qla2x00_reserve_ip_block(ha, &pIpDevice)) == + QL_STATUS_RESOURCE_ERROR) { + if (bForceAdd) { + /* + * Out of IP blocks, bump public device at + * bottom of list + */ + DEBUG(printk("qla2x00_add_new_ip_device: " + "bump device from IP list\n");) + + for (pIpDevice = ha->pIpDeviceBottom; + pIpDevice != NULL; + pIpDevice = pIpDevice->pLastIpDevice) { + + if (pIpDevice->lDeviceFlags & + IP_DEV_FLAG_PUBLIC_DEVICE) { + /* Do fabric logout and free loop ID */ + qla2x00_ip_send_logout_port_iocb(ha, + pIpDevice, + hardware_locked); + qla2x00_free_loopid(ha, + pIpDevice->wLoopId); + + /* Move device to top of list */ + qla2x00_free_ip_block(ha, pIpDevice); + status = qla2x00_reserve_ip_block(ha, + &pIpDevice); + break; + } + } + } + if (status != QL_STATUS_SUCCESS) + return(status); + } + + /* Save IP world wide port name */ + memcpy(pIpDevice->acWorldWideName, pPortName, 8); + + if (wLoopId != PUBLIC_LOOP_DEVICE) { + /* Private loop device */ + pIpDevice->wLoopId = wLoopId; + pIpDevice->lDeviceFlags = IP_DEV_FLAG_PRESENT; + + DEBUG(printk("qla2x00_add_new_ip_device: " + "WWN:%02x%02x%02x%02x%02x%02x%02x%02x, " + "LoopID:%x\n", + pIpDevice->acWorldWideName[0], + pIpDevice->acWorldWideName[1], + pIpDevice->acWorldWideName[2], + pIpDevice->acWorldWideName[3], + pIpDevice->acWorldWideName[4], + pIpDevice->acWorldWideName[5], + pIpDevice->acWorldWideName[6], + pIpDevice->acWorldWideName[7], + pIpDevice->wLoopId);) + } + else { + /* Public device */ + /* Reserve public loop ID, save it in database */ + if ((status = + qla2x00_reserve_loopid(ha, &pIpDevice->wLoopId)) == + QL_STATUS_RESOURCE_ERROR) { + if (bForceAdd) { + IP_DEVICE_BLOCK *pIpDeviceBump; + + /* + * Out of loop IDs, bump public device + * at bottom of list + */ + DEBUG(printk("qla2x00_add_new_ip_device: " + "bump device from IP list\n");) + + for (pIpDeviceBump = ha->pIpDeviceBottom; + pIpDeviceBump != NULL; + pIpDeviceBump = + pIpDeviceBump->pLastIpDevice) { + + if (!(pIpDeviceBump->lDeviceFlags & + IP_DEV_FLAG_PUBLIC_DEVICE)) + continue; + + /* + * Do fabric logout, steal loop ID, + * free bumped IP block + */ + qla2x00_ip_send_logout_port_iocb(ha, + pIpDeviceBump, + hardware_locked); + pIpDevice->wLoopId = + pIpDeviceBump->wLoopId; + qla2x00_free_ip_block(ha, + pIpDeviceBump); + status = QL_STATUS_SUCCESS; + break; + } + } + + if (status != QL_STATUS_SUCCESS) { + /* Failed to get loop ID */ + DEBUG(printk("qla2x00_add_new_ip_device: " + "failed to get loop ID\n");) + qla2x00_free_ip_block(ha, pIpDevice); + return(status); + } + } + + /* Save device data */ + pIpDevice->acPortId[0] = pPortId[0]; + pIpDevice->acPortId[1] = pPortId[1]; + pIpDevice->acPortId[2] = pPortId[2]; + pIpDevice->lDeviceFlags = IP_DEV_FLAG_PUBLIC_DEVICE; + + /* Login public device */ + status = qla2x00_ip_send_login_port_iocb(ha, + pIpDevice, hardware_locked); + + if (status == QL_STATUS_SUCCESS) { + DEBUG(printk("qla2x00_add_new_ip_device: " + "WWN:%02x%02x%02x%02x%02x%02x%02x%02x, " + "LoopID:%x, PortID:%x\n", + pIpDevice->acWorldWideName[0], + pIpDevice->acWorldWideName[1], + pIpDevice->acWorldWideName[2], + pIpDevice->acWorldWideName[3], + pIpDevice->acWorldWideName[4], + pIpDevice->acWorldWideName[5], + pIpDevice->acWorldWideName[6], + pIpDevice->acWorldWideName[7], + pIpDevice->wLoopId, + pIpDevice->acPortId[2]<<16 | + pIpDevice->acPortId[1]<<8 | + pIpDevice->acPortId[0]);) + } + else { + /* Login failed, return resources */ + qla2x00_free_loopid(ha, pIpDevice->wLoopId); + qla2x00_free_ip_block(ha, pIpDevice); + } + } + + return(status); +} /* qla2x00_add_new_ip_device */ + + +/************************************************************************/ +/* qla2x00_convert_to_arp */ +/* This function is called to convert an IP send packet to an ARP. */ +/* */ +/* Arguments: */ +/* ha - adapter block pointer */ +/* pSendCB - pointer to send control block */ +/* */ +/* Return Value: */ +/* TRUE - If converted OK */ +/* FALSE - If unknown packet type */ +/************************************************************************/ + +static int +qla2x00_convert_to_arp(scsi_qla_host_t *ha, SEND_CB *pSendCB) +{ + struct sk_buff *skb = pSendCB->skb; + PACKET_HEADER *pPacket = &pSendCB->header; + ARP_HEADER *pArpHeader = (ARP_HEADER *)skb->data; + IP_HEADER *pIpHeader = (IP_HEADER *)skb->data; + int i; + uint8_t *pNodeName; + + DEBUG(printk("qla2x00_convert_to_arp: convert packet to ARP\n");) + + if (pPacket->sSnapHeader.wSnapPID == SNAP_PID_IP_TYPE) { + /* Convert IP packet to ARP packet */ + pPacket->sNetworkHeader.wDestinationNAA = NAA_IEEE_MAC_TYPE; + pPacket->sNetworkHeader.wDestinationAddrHigh = + BROADCAST_ADDRESS_WORD; + pPacket->sNetworkHeader.lDestinationAddrLow = BROADCAST_ADDRESS; + pPacket->sSnapHeader.wSnapPID = SNAP_PID_ARP_TYPE; + + /* + * Move IP addresses first in reverse, + * before they get wiped out + */ + pArpHeader->acTargetIp[3] = + pIpHeader->acDestinationIpAddress[3]; + pArpHeader->acTargetIp[2] = + pIpHeader->acDestinationIpAddress[2]; + pArpHeader->acTargetIp[1] = + pIpHeader->acDestinationIpAddress[1]; + pArpHeader->acTargetIp[0] = + pIpHeader->acDestinationIpAddress[0]; + pArpHeader->acSenderIp[3] = pIpHeader->acSourceIpAddress[3]; + pArpHeader->acSenderIp[2] = pIpHeader->acSourceIpAddress[2]; + pArpHeader->acSenderIp[1] = pIpHeader->acSourceIpAddress[1]; + pArpHeader->acSenderIp[0] = pIpHeader->acSourceIpAddress[0]; + + pArpHeader->wHardwareType = ARP_HARDWARE_TYPE; + pArpHeader->wProtocolType = ARP_PROTOCAL_TYPE; + pArpHeader->bHLen = ARP_HLEN; + pArpHeader->bPLen = ARP_PLEN; + pArpHeader->wOperation = ARP_OPERATION; + + pNodeName = (uint8_t *)&pPacket->sNetworkHeader.wSourceAddrHigh; + for (i = 0; i < 6; i++, pNodeName++) { + pArpHeader->acSenderHA[i] = *pNodeName; + pArpHeader->acTargetHA[i] = 0; + } + + skb->len = sizeof(ARP_HEADER); + + return(TRUE); + } + else { + return(FALSE); + } +} /* qla2x00_convert_to_arp */ + + +/************************************************************************/ +/* qla2x00_free_ip_block */ +/* This routine removes an IP device block from active IP list and */ +/* returns it to the free list. */ +/* */ +/* Arguments: */ +/* ha - adapter block pointer */ +/* pIpDevice - pointer to IP device block to free */ +/* */ +/* Return Value: */ +/* none */ +/************************************************************************/ + +static void +qla2x00_free_ip_block(scsi_qla_host_t *ha, IP_DEVICE_BLOCK *pIpDevice) +{ + /* Unhook IP device block from active list */ + if (pIpDevice->pLastIpDevice == NULL) + ha->pIpDeviceTop = pIpDevice->pNextIpDevice; + else + ((PIP_DEVICE_BLOCK)pIpDevice->pLastIpDevice)->pNextIpDevice = + pIpDevice->pNextIpDevice; + + if (pIpDevice->pNextIpDevice == NULL) + ha->pIpDeviceBottom = pIpDevice->pLastIpDevice; + else + ((PIP_DEVICE_BLOCK)pIpDevice->pNextIpDevice)->pLastIpDevice = + pIpDevice->pLastIpDevice; + + /* Add IP device block to free list */ + pIpDevice->pNextIpDevice = ha->pIpDeviceFree; + ha->pIpDeviceFree = pIpDevice; +} /* qla2x00_free_ip_block */ + + +/************************************************************************/ +/* qla2x00_get_ip_loopid */ +/* This function is called by QLSendLanCommandToIsp to get the loop */ +/* ID for the specified world wide name. This routine will also */ +/* update the 1st 2 bytes of the passed in WWN to match the port name*/ +/* stored in the IP database. */ +/* */ +/* Arguments: */ +/* ha - adapter block pointer */ +/* pNodeName - Pointer to World Wide Name */ +/* pLoopId - Pointer for returning loop ID */ +/* */ +/* Return Value: */ +/* TRUE - If loop ID returned */ +/* FALSE - If device not logged in and unable to login device */ +/************************************************************************/ + +static int +qla2x00_get_ip_loopid(scsi_qla_host_t *ha, + uint8_t *pNodeName, + uint8_t *pLoopId) +{ + IP_DEVICE_BLOCK *pIpDevice; + + /* Scan list of logged in IP devices for match */ + for (pIpDevice = ha->pIpDeviceTop; pIpDevice != NULL; + pIpDevice = pIpDevice->pNextIpDevice) { + + if (*(uint16_t *)(&pIpDevice->acWorldWideName[2]) == + *(uint16_t *)(pNodeName + 2) && + *(uint32_t *)(&pIpDevice->acWorldWideName[4]) == + *(uint32_t *)(pNodeName + 4)) { + + /* Found match, return loop ID */ + *pLoopId = (uint8_t)pIpDevice->wLoopId; + + /* Set first 2 bytes of port name */ + *((uint16_t *)pNodeName) = + *((uint16_t *)(&pIpDevice->acWorldWideName[0])); + + if (pIpDevice != ha->pIpDeviceTop) { + + /* Device not at top, move it to top of list */ + /* Unhook it first */ + if (pIpDevice == ha->pIpDeviceBottom) { + ha->pIpDeviceBottom = + pIpDevice->pLastIpDevice; + ((PIP_DEVICE_BLOCK)pIpDevice-> + pLastIpDevice)->pNextIpDevice = NULL; + } + else { + ((PIP_DEVICE_BLOCK)pIpDevice-> + pLastIpDevice)->pNextIpDevice = + pIpDevice->pNextIpDevice; + + ((PIP_DEVICE_BLOCK)pIpDevice-> + pNextIpDevice)->pLastIpDevice = + pIpDevice->pLastIpDevice; + } + + /* Now put it at top of list */ + pIpDevice->pNextIpDevice = ha->pIpDeviceTop; + pIpDevice->pLastIpDevice = NULL; + ha->pIpDeviceTop->pLastIpDevice = pIpDevice; + ha->pIpDeviceTop = pIpDevice; + } + return(TRUE); + } + } + + /* Check for broadcast packet */ + if (*(uint16_t *)(&(pNodeName[2])) == (uint16_t)0xFFFF && + *(uint32_t *)(&(pNodeName[4])) == (uint32_t)0xFFFFFFFF) { + + /* Broadcast packet, return broadcast loop ID */ + *pLoopId = BROADCAST; + + /* Set first 2 bytes of port name */ + *((uint16_t *)pNodeName) = NAA_IEEE_MAC_TYPE; + return(TRUE); + } + + /* Check for multicast packet */ + if (*(pNodeName+2) & 0x01) { + /* Use broadcast loop ID for multicast packets */ + *pLoopId = BROADCAST; + + /* Set first 2 bytes of port name */ + *((uint16_t *)pNodeName) = NAA_IEEE_MAC_TYPE; + return(TRUE); + } + + /* Try sending FARP IOCB to request login */ + /* TBD */ + + DEBUG(printk("qla2x00_get_ip_loopid: ID not found for " + "XX XX %02x %02x %02x %02x %02x %02x\n", + *(pNodeName+2), + *(pNodeName+3), + *(pNodeName+4), + *(pNodeName+5), + *(pNodeName+6), + *(pNodeName+7));) + + return(FALSE); +} /* qla2x00_get_ip_loopid */ + + +/************************************************************************/ +/* qla2x00_reserve_ip_block */ +/* This routine moves an unused IP device block from the free list */ +/* to the top of the active IP device list. */ +/* */ +/* Arguments: */ +/* ha - adapter block pointer */ +/* pIpDevBlk - address of pointer to IP device block */ +/* */ +/* Return Value: */ +/* QL_STATUS_SUCCESS if no error */ +/* QL_STATUS_RESOURCE_ERROR if out of IP device blocks */ +/************************************************************************/ + +static int +qla2x00_reserve_ip_block(scsi_qla_host_t *ha, PIP_DEVICE_BLOCK *pIpDevBlk) +{ + IP_DEVICE_BLOCK *pIpDevice; + + /* Get free IP device block */ + if ((pIpDevice = ha->pIpDeviceFree) != NULL) { + /* Remove IP device block from free list */ + ha->pIpDeviceFree = pIpDevice->pNextIpDevice; + + /* Add IP device block to top of IP device list */ + pIpDevice->pNextIpDevice = ha->pIpDeviceTop; + pIpDevice->pLastIpDevice = NULL; + if (ha->pIpDeviceTop == NULL) + ha->pIpDeviceBottom = pIpDevice; + else + ha->pIpDeviceTop->pLastIpDevice = pIpDevice; + ha->pIpDeviceTop = pIpDevice; + + *pIpDevBlk = pIpDevice; + return(QL_STATUS_SUCCESS); + } + else { + /* Out of IP blocks */ + DEBUG(printk("qla2x00_reserve_ip_block: out of IP blocks\n");) + + return(QL_STATUS_RESOURCE_ERROR); + } +} /* qla2x00_reserve_ip_block */ + + +/************************************************************************/ +/* qla2x00_update_ip_device_data */ +/* This routine searchs for the device node name in the current IP */ +/* database and updates database. */ +/* */ +/* If device found: */ +/* * Handle device movement between public and private loops */ +/* * Handle device movement between FL ports on switch */ +/* * Mark device present */ +/* * Log in device if necessary */ +/* If device not found and private loop device: */ +/* * Insert the new entry in database */ +/* If device not found and public IP device: */ +/* * Ignore device until packet received from device */ +/* */ +/* Arguments: */ +/* ha - adapter block pointer */ +/* pDeviceData */ +/* NOTE: If pDeviceData->loop_id = 0 - 7E, private loop device */ +/* If pDeviceData->loop_id = -1, public loop device */ +/* */ +/* Return Value: */ +/* QL_STATUS_SUCCESS if no error */ +/* QL_STATUS_RESOURCE_ERROR if out of loop IDs or IP device blocks */ +/* QL_STATUS_FATAL_ERROR if fatal error */ +/* QL_STATUS_ERROR if any other error */ +/************************************************************************/ + +static int +qla2x00_update_ip_device_data(scsi_qla_host_t *ha, fcdev_t *pDeviceData) +{ + IP_DEVICE_BLOCK *pIpDevice; + int status = 0; + + if (!ha->flags.enable_ip) { + + /* IP not enabled, just return */ + return(QL_STATUS_SUCCESS); + } + + /* Scan list of IP devices for match */ + for (pIpDevice = ha->pIpDeviceTop; pIpDevice != NULL; + pIpDevice = pIpDevice->pNextIpDevice) { + if (*(uint32_t *)(&(pDeviceData->wwn[0])) == + *(uint32_t *)(&(pIpDevice->acWorldWideName[0])) && + *(uint32_t *)(&(pDeviceData->wwn[4])) == + *(uint32_t *)(&(pIpDevice->acWorldWideName[4]))) { + + /* Found device in IP device list */ + DEBUG(printk("qla2x00_update_ip_device_data: " + "already in IP list, port ID: %x\n", + pIpDevice->acPortId[2] << 16 | + pIpDevice->acPortId[1] << 8 | + pIpDevice->acPortId[0]);) + + if (pDeviceData->flag != DEV_PUBLIC && + !(pIpDevice->lDeviceFlags & + IP_DEV_FLAG_PUBLIC_DEVICE)) { + + /* + * Device on private loop now, was on + * private loop before + */ + DEBUG(printk("qla2x00_update_ip_device_data: " + "was private loop, now " + "private loop\n");) + /* Update private loop ID in database */ + pIpDevice->wLoopId = pDeviceData->loop_id; + pIpDevice->lDeviceFlags |= IP_DEV_FLAG_PRESENT; + } + else if (pDeviceData->flag != DEV_PUBLIC && + (pIpDevice->lDeviceFlags & + IP_DEV_FLAG_PUBLIC_DEVICE)) { + /* + * Device on private loop now, was + * public device before + */ + DEBUG(printk("qla2x00_update_ip_device_data: " + "was public, now private loop\n");) + /* + * If loop ID changed, logout device + * and free loop ID + */ + if (pDeviceData->loop_id != + pIpDevice->wLoopId) { + + qla2x00_ip_send_logout_port_iocb(ha, + pIpDevice, 0); + qla2x00_free_loopid(ha, + pIpDevice->wLoopId); + + /* + * Clear public device flag and + * save private loop ID in database + */ + pIpDevice->lDeviceFlags &= + ~IP_DEV_FLAG_PUBLIC_DEVICE; + pIpDevice->wLoopId = + pDeviceData->loop_id; + } + pIpDevice->lDeviceFlags |= IP_DEV_FLAG_PRESENT; + } + else if (pDeviceData->flag == DEV_PUBLIC && + !(pIpDevice->lDeviceFlags & + IP_DEV_FLAG_PUBLIC_DEVICE)) { + + /* + * Device public now, was on private + * loop before + */ + DEBUG(printk("qla2x00_update_ip_device_data: " + "was private loop, now public\n");) + + /* + * Reserve public loop ID, save it + * in database + */ + if ((status = + qla2x00_reserve_loopid(ha, + &pIpDevice->wLoopId)) == + QL_STATUS_SUCCESS) { + + /* + * Save port ID and set public + * device flag + */ + pIpDevice->acPortId[0] = + pDeviceData->d_id.r.d_id[0]; + pIpDevice->acPortId[1] = + pDeviceData->d_id.r.d_id[1]; + pIpDevice->acPortId[2] = + pDeviceData->d_id.r.d_id[2]; + pIpDevice->lDeviceFlags |= + IP_DEV_FLAG_PUBLIC_DEVICE; + + /* Login public device */ + status = qla2x00_ip_send_login_port_iocb(ha, pIpDevice, 0); + } + if (status == QL_STATUS_RESOURCE_ERROR) { + /* Out of loop IDs */ + pIpDevice->lDeviceFlags &= + ~IP_DEV_FLAG_PUBLIC_DEVICE; + } + } + else { + /* Device public now, was public device before */ + DEBUG(printk("qla2x00_update_ip_device_data: " + "was public, now public\n");) + + /* Check if port ID changed */ + if (pIpDevice->acPortId[0] != + pDeviceData->d_id.r.d_id[0] || + pIpDevice->acPortId[1] != + pDeviceData->d_id.r.d_id[1] || + pIpDevice->acPortId[2] != + pDeviceData->d_id.r.d_id[2]) { + + /* Save new port ID */ + pIpDevice->acPortId[0] = + pDeviceData->d_id.r.d_id[0]; + pIpDevice->acPortId[1] = + pDeviceData->d_id.r.d_id[1]; + pIpDevice->acPortId[2] = + pDeviceData->d_id.r.d_id[2]; + + DEBUG(printk("qla2x00_update_ip_device_data: Port ID changed\n");) + + /* Logout public device */ + qla2x00_ip_send_logout_port_iocb(ha, + pIpDevice, 0); + } + + /* Login public device */ + status = qla2x00_ip_send_login_port_iocb(ha, + pIpDevice, 0); + + if (status == QL_STATUS_RESOURCE_ERROR) { + /* Out of loop IDs */ + pIpDevice->lDeviceFlags &= + ~IP_DEV_FLAG_PUBLIC_DEVICE; + } + } + return(status); + } + } + + /* Device not found in database */ + DEBUG(printk("qla2x00_update_ip_device_data: device NOT in IP list\n");) + + /* If private loop device, add device to IP list */ + /* Public devices will be added as needed when packet received */ + if (pDeviceData->flag != DEV_PUBLIC) { + /* Add (force) new private loop device to IP list */ + status = qla2x00_add_new_ip_device(ha, + pDeviceData->loop_id, + NULL, + (uint8_t *)&pDeviceData->wwn[0], + TRUE, + 0); + } + + /* The following code is temporary, until FARP supported */ + /* Login all IP public devices for now */ + if (pDeviceData->flag == DEV_PUBLIC) { + /* Add (don't force) new public device to IP list */ + status = qla2x00_add_new_ip_device(ha, + PUBLIC_LOOP_DEVICE, + (uint8_t *)&pDeviceData->d_id, + (uint8_t *)&pDeviceData->wwn[0], + FALSE, + 0); + } + return(status); +} /* qla2x00_update_ip_device_data */ + + +/************************************************************************/ +/* qla2x00_reserve_loopid */ +/* This routine reserves an unused public loop ID. */ +/* */ +/* Arguments: */ +/* ha - adapter block pointer */ +/* pLoopID - pointer to word for returning loop ID */ +/* */ +/* Return Value: */ +/* QL_STATUS_SUCCESS if no error */ +/* QL_STATUS_RESOURCE_ERROR if out of loop IDs */ +/************************************************************************/ + +static int +qla2x00_reserve_loopid(scsi_qla_host_t *ha, uint16_t *pLoopId) +{ + int i; + + /* Look for unused loop ID */ + for (i = ha->min_external_loopid; i < ha->max_public_loop_ids; i++) { + if (ha->fabricid[i].in_use) + continue; + + /* Found free loop ID */ + ha->fabricid[i].in_use = TRUE; + *pLoopId = i; + + DEBUG(printk("qla2x00_reserve_loopid: assigned loop ID %x\n", + *pLoopId);) + + return (QL_STATUS_SUCCESS); + } + + /* Out of loop IDs */ + *pLoopId = ha->max_public_loop_ids + 1; /* Set out of range */ + DEBUG(printk("qla2x00_reserve_loopid: out of loop IDs\n");) + + return QL_STATUS_RESOURCE_ERROR; +} /* qla2x00_reserve_loopid */ + + +/************************************************************************/ +/* qla2x00_free_loopid */ +/* This routine frees a public loop ID. */ +/* */ +/* Arguments: */ +/* ha - adapter block pointer */ +/* wLoopID - loop ID to free */ +/* */ +/* Return Value: */ +/* none */ +/************************************************************************/ + +static void +qla2x00_free_loopid(scsi_qla_host_t *ha, uint16_t wLoopId) +{ + if (wLoopId < ha->max_public_loop_ids) { + ha->fabricid[wLoopId].in_use = FALSE; + DEBUG(printk("qla2x00_free_loopid: free loop ID %x\n", + wLoopId);) + } + else { + DEBUG(printk("qla2x00_free_loopid: loop ID %x out of range\n", + wLoopId);) + } +} /* qla2x00_free_loopid */ + + +/************************************************************************/ +/* qla2x00_ip_send_login_port_iocb */ +/* This routine is call to build and send a mailbox IOCB for logging */ +/* in a fabric port. */ +/* */ +/* Arguments: */ +/* ha - adapter block pointer */ +/* pIpDevice - pointer to IP device block. */ +/* */ +/* Return Value: */ +/* QL_STATUS_SUCCESS if no error */ +/* QL_STATUS_ERROR if any other error */ +/************************************************************************/ + +static int +qla2x00_ip_send_login_port_iocb(scsi_qla_host_t *ha, + IP_DEVICE_BLOCK *pIpDevice, + uint32_t hardware_locked) +{ + unsigned long flags = 0; + PMBX_IOCB pIocb; + + DEBUG(printk("qla2x00_ip_send_login_port_iocb: port ID: %x\n", + pIpDevice->acPortId[2]<<16 | + pIpDevice->acPortId[1]<<8 | + pIpDevice->acPortId[0]);) + + /* Send marker if required */ + if (ha->marker_needed != 0) { + if (hardware_locked) { + if(__qla2x00_marker(ha, + 0, 0, MK_SYNC_ALL) != QLA2X00_SUCCESS) + return QL_STATUS_ERROR; + } + else { + if(qla2x00_marker(ha, + 0, 0, MK_SYNC_ALL) != QLA2X00_SUCCESS) + return QL_STATUS_ERROR; + } + ha->marker_needed = 0; + } + + if (!hardware_locked) + spin_lock_irqsave(&ha->hardware_lock, flags); + + pIocb = (PMBX_IOCB)qla2x00_req_pkt(ha); + if (pIocb == NULL) { + DEBUG(printk("qla2x00_ip_send_login_port_iocb: failed\n");) + + if (!hardware_locked) + spin_unlock_irqrestore(&ha->hardware_lock, flags); + + return QL_STATUS_ERROR; + } + + /* Build fabric login MBX IOCB */ + pIocb->Header = ET_MAILBOX_COMMAND | (1 << 8) | (SOURCE_IP << 16); + pIocb->Handle = pIpDevice->wDeviceIndex | + (MBC_LOGIN_FABRIC_PORT << 16); + + pIocb->LoopId = pIpDevice->wLoopId; + pIocb->Mailbox0 = MBC_LOGIN_FABRIC_PORT; + pIocb->Mailbox1 = (pIpDevice->wLoopId << 8) | + (MBC_NO_PROCESS_LOGIN | + MBC_NO_PLOGI_IF_LOGGED_IN); + + pIocb->Mailbox2 = pIpDevice->acPortId[2]; + pIocb->Mailbox3 = (pIpDevice->acPortId[1] << 8) | + pIpDevice->acPortId[0]; + + pIocb->Mailbox6 = 0; + pIocb->Mailbox7 = 0; + + /* Issue command to ISP */ + qla2x00_isp_cmd(ha); + + if (!hardware_locked) + spin_unlock_irqrestore(&ha->hardware_lock, flags); + + return QL_STATUS_SUCCESS; +} /* qla2x00_ip_send_login_port_iocb */ + + +/************************************************************************/ +/* qla2x00_ip_send_logout_port_iocb */ +/* This routine is call to build and send a mailbox IOCB for logging */ +/* out a fabric port. */ +/* */ +/* Arguments: */ +/* ha - adapter block pointer */ +/* pIpDevice - pointer to IP device block. */ +/* */ +/* Return Value: */ +/* QL_STATUS_SUCCESS if no error */ +/* QL_STATUS_ERROR if any other error */ +/************************************************************************/ + +static int +qla2x00_ip_send_logout_port_iocb(scsi_qla_host_t *ha, + IP_DEVICE_BLOCK *pIpDevice, + uint32_t hardware_locked) +{ + unsigned long flags = 0; + PMBX_IOCB pIocb; + + DEBUG(printk("qla2x00_ip_send_logout_port_iocb: port ID: %x\n", + pIpDevice->acPortId[2]<<16 | + pIpDevice->acPortId[1]<<8 | + pIpDevice->acPortId[0]);) + + /* Send marker if required */ + if (ha->marker_needed != 0) { + if (hardware_locked) { + if(__qla2x00_marker(ha, + 0, 0, MK_SYNC_ALL) != QLA2X00_SUCCESS) + return QL_STATUS_ERROR; + } + else { + if(qla2x00_marker(ha, + 0, 0, MK_SYNC_ALL) != QLA2X00_SUCCESS) + return QL_STATUS_ERROR; + } + ha->marker_needed = 0; + } + + if (!hardware_locked) + spin_lock_irqsave(&ha->hardware_lock, flags); + + pIocb = (PMBX_IOCB)qla2x00_req_pkt(ha); + if (pIocb == NULL) { + DEBUG(printk("qla2x00_ip_send_logout_port_iocb: failed\n");) + + if (!hardware_locked) + spin_unlock_irqrestore(&ha->hardware_lock, flags); + + return QL_STATUS_ERROR; + } + + /* Build fabric logout MBX IOCB */ + pIocb->Header = ET_MAILBOX_COMMAND | (1 << 8) | (SOURCE_IP << 16); + pIocb->Handle = pIpDevice->wDeviceIndex | + (MBC_LOGOUT_FABRIC_PORT << 16); + pIocb->LoopId = pIpDevice->wLoopId; + pIocb->Mailbox0 = MBC_LOGOUT_FABRIC_PORT; + pIocb->Mailbox1 = pIpDevice->wLoopId << 8; + pIocb->Mailbox2 = 0; + pIocb->Mailbox3 = 0; + pIocb->Mailbox6 = 0; + pIocb->Mailbox7 = 0; + + /* Issue command to ISP */ + qla2x00_isp_cmd(ha); + + if (!hardware_locked) + spin_unlock_irqrestore(&ha->hardware_lock, flags); + + return QL_STATUS_SUCCESS; +} /* qla2x00_ip_send_logout_port_iocb */ + + +/************************************************************************/ +/* qla2x00_ip_mailbox_iocb_done */ +/* This routine is call to process a MBX IOCB completion. */ +/* Note: this is only used for fabric login and logout for now. */ +/* */ +/* Arguments: */ +/* ha - adapter block pointer */ +/* pIocb - pointer completed MBX IOCB. */ +/* */ +/* Return Value: */ +/* none */ +/************************************************************************/ + +static void +qla2x00_ip_mailbox_iocb_done(scsi_qla_host_t *ha, PMBX_IOCB pIocb) +{ + PIP_DEVICE_BLOCK pIpDevice; + int index; + + DEBUG(printk("qla2x00_ip_mailbox_iocb_done: cmd %x, " + "status %x, MB0 %x, MB1 %x, MB2 %x\n", + pIocb->Handle >> 16, pIocb->Status, + pIocb->Mailbox0, + pIocb->Mailbox1, + pIocb->Mailbox2);) + + /* Get device block pointer */ + index = pIocb->Handle & 0xffff; + if (index >= QLLAN_MAX_IP_DEVICES) { + /* Bad handle from ISP */ + DEBUG(printk("qla2x00_ip_mailbox_iocb_done: bad " + "handle from isp\n");) + /* TBD */ + return; + } + pIpDevice = &ha->asIpDeviceDatabase[index]; + + if ((pIocb->Handle >> 16) == MBC_LOGOUT_FABRIC_PORT) { + /* Check fabric logout completion status */ + if (/*pIocb->Status == CS_COMPLETE && */ + pIocb->Mailbox0 == MBS_COMMAND_COMPLETE) { + + /* Logout successful */ + } + else { + DEBUG(printk("qla2x00_ip_mailbox_iocb_done: " + "fabric logout failed\n");) + } + } + else { + /* Check fabric login completion status */ + /* Note: sometimes ISP returns Status=0x30 and MB0=0x4000 */ + /* Therefore, only check MB0 for now */ + if ( /* pIocb->Status == CS_COMPLETE && */ + pIocb->Mailbox0 == MBS_COMMAND_COMPLETE) { + + /* Login successful */ + pIpDevice->lDeviceFlags |= IP_DEV_FLAG_PRESENT; + } + else if (pIocb->Mailbox0 == MBS_PORT_ID_IN_USE) { + + /* Different loop ID already assigned to port ID */ + /* Use the one that is already assigned */ + qla2x00_free_loopid(ha, pIpDevice->wLoopId); + pIpDevice->wLoopId = pIocb->Mailbox1; + + /* Do logout first and then relogin */ + qla2x00_ip_send_logout_port_iocb(ha, pIpDevice, 1); + qla2x00_ip_send_login_port_iocb(ha, pIpDevice, 1); + } + else if (pIocb->Mailbox0 == MBS_LOOP_ID_IN_USE) { + + /* Loop ID already used for different port ID */ + /* Get a new loop ID and reissue login request */ + if (qla2x00_reserve_loopid(ha, + &pIpDevice->wLoopId) == QL_STATUS_SUCCESS) { + + qla2x00_ip_send_login_port_iocb(ha, + pIpDevice, 1); + } + else { + DEBUG(printk("qla2x00_ip_mailbox_iocb_done: " + "out of loop IDs\n");) + + qla2x00_free_ip_block(ha, pIpDevice); + } + } + else { + /* Login failed, return resources */ + DEBUG(printk("qla2x00_ip_mailbox_iocb_done: " + "fabric login failed\n");) + + qla2x00_free_loopid(ha, pIpDevice->wLoopId); + qla2x00_free_ip_block(ha, pIpDevice); + } + } +} /* qla2x00_ip_mailbox_iocb_done */ + + +/************************************************************************/ +/* qla2x00_send_packet */ +/* This routine is called from the IP network driver to pass IP */ +/* packet to the ISP for transmission. */ +/* */ +/* Arguments: */ +/* ha - adapter block pointer */ +/* pSendCB - pointer to send control block. */ +/* */ +/* Return Value: */ +/* QL_STATUS_SUCCESS if packet sent */ +/* QL_STATUS_RESOURCE_ERROR if too busy to send now */ +/* QL_STATUS_ERROR if any other error */ +/************************************************************************/ + +static int +qla2x00_send_packet(scsi_qla_host_t *ha, SEND_CB *pSendCB) +{ + unsigned long flags = 0; + struct sk_buff *skb = pSendCB->skb; + device_reg_t *reg = ha->iobase; + uint16_t cnt; + uint32_t lTagVal; + int i; + PIP_COMMAND_ENTRY pCmdEntry; + u_long phys_address; + uint16_t temp; + + DEBUG3(printk("qla2x00_send_packet: enter\n");) + + /* Check adapter state */ + if (!ha->flags.online) { + return QL_STATUS_ERROR; + } + + /* Send marker if required */ + if (ha->marker_needed != 0) { + if(qla2x00_marker(ha, 0, 0, MK_SYNC_ALL) != QLA2X00_SUCCESS) { + return QL_STATUS_ERROR; + } + ha->marker_needed = 0; + } + + /* Acquire ring specific lock */ + spin_lock_irqsave(&ha->hardware_lock, flags); + + if (ha->req_q_cnt < 4) { + /* Update number of free request entries */ +#if defined(ISP2100) || defined(ISP2200) + cnt = qla2x00_debounce_register(®->mailbox4); +#else + cnt = qla2x00_debounce_register(®->req_q_out); +#endif + + if (ha->req_ring_index < cnt) + ha->req_q_cnt = cnt - ha->req_ring_index; + else + ha->req_q_cnt = REQUEST_ENTRY_CNT - + (ha->req_ring_index - cnt); + } + + if (ha->req_q_cnt >= 4) { + /* Get tag handle for command */ + lTagVal = ha->lCurrentTagIndex; + for (i = 0; i < MAX_SEND_PACKETS; i++) { + lTagVal++; + if (lTagVal == MAX_SEND_PACKETS) { + + lTagVal = 0; + } + if (ha->apActiveIpQueue[lTagVal] == NULL) { + + ha->lCurrentTagIndex = lTagVal; + goto FoundTagHandle; + } + } + } + + /* Low on resources, try again later */ + spin_unlock_irqrestore(&ha->hardware_lock, flags); + printk(KERN_WARNING + "qla2x00_send_packet: Low on resources, try again later \n"); + + return QL_STATUS_RESOURCE_ERROR; + +FoundTagHandle: + + /* Build ISP command packet */ + pCmdEntry = (PIP_COMMAND_ENTRY)ha->request_ring_ptr; + pCmdEntry->lHeader = ET_IP_COMMAND_64 | 1 << 8; + pCmdEntry->lHandle = lTagVal; + pCmdEntry->cReserved1 = 0; + + /* Get destination loop ID for packet */ + if (!qla2x00_get_ip_loopid(ha, + (uint8_t *)&pSendCB->header, &pCmdEntry->cLoopId)) { + + /* Failed to get loop ID, convert packet to ARP */ + if (qla2x00_convert_to_arp(ha, pSendCB)) { + /* Broadcast ARP */ + pCmdEntry->cLoopId = BROADCAST; + } + else { + /* Return packet */ + spin_unlock_irqrestore(&ha->hardware_lock, flags); + return QL_STATUS_ERROR; + } + } + + ha->ipreq_cnt++; + /* Set command timeout value */ + pCmdEntry->wTimeout = 5; + + /* Set data direction control flags */ + pCmdEntry->wControlFlags = CF_WRITE; + + pCmdEntry->wReserved2 = 0; + pCmdEntry->wServiceClass = 0; + + pCmdEntry->wSegmentCount = 2; + + pCmdEntry->ds.asDataSeg64[0].lBase[0] = pSendCB->physicalAddressLow; + pCmdEntry->ds.asDataSeg64[0].lBase[1] = pSendCB->physicalAddressHigh; + pCmdEntry->ds.asDataSeg64[0].lCount = sizeof(PACKET_HEADER); + + phys_address = virt_to_bus(skb->data); + pCmdEntry->ds.asDataSeg64[1].lBase[0] = LS_64BITS(phys_address); + pCmdEntry->ds.asDataSeg64[1].lBase[1] = MS_64BITS(phys_address); + pCmdEntry->ds.asDataSeg64[1].lCount = skb->len; + + pCmdEntry->lTotalByteCount = skb->len + sizeof(PACKET_HEADER); + + /* Adjust ring index. */ + ha->req_ring_index++; + if (ha->req_ring_index == REQUEST_ENTRY_CNT) { + ha->req_ring_index = 0; + ha->request_ring_ptr = ha->request_ring; + } else + ha->request_ring_ptr++; + + ha->req_q_cnt--; + ha->apActiveIpQueue[lTagVal] = pSendCB; + + /* Set chip new ring index. */ +#if defined (ISP2100) || defined(ISP2200) + /* Added from 64bit start */ + temp = CACHE_FLUSH(®->mailbox4); + WRT_REG_WORD(®->mailbox4, ha->req_ring_index); +#else + /* Added from 64bit start */ + temp = CACHE_FLUSH(®->req_q_in); + WRT_REG_WORD(®->req_q_in, ha->req_ring_index); +#endif + + spin_unlock_irqrestore(&ha->hardware_lock, flags); + + return QL_STATUS_SUCCESS; +} /* qla2x00_send_packet */ + + +/************************************************************************/ +/* qla2x00_ip_send_complete */ +/* This routine handles IP send completion. */ +/* */ +/* Arguments: */ +/* ha - adapter block pointer */ +/* lTagVal - index into active IP queue */ +/* */ +/* Return Value: */ +/* none */ +/************************************************************************/ + +static void +qla2x00_ip_send_complete(scsi_qla_host_t *ha, uint32_t lTagVal) +{ + SEND_CB *pSendCB; + + DEBUG3(printk("qla2x00_ip_send_complete: enter\n");) + + /* Set packet pointer from queue entry handle */ + if (lTagVal < MAX_SEND_PACKETS) { + if ((pSendCB = + (SEND_CB *)ha->apActiveIpQueue[lTagVal]) != NULL) { + + ha->ipreq_cnt--; + ha->apActiveIpQueue[lTagVal] = NULL; + + /* Return send packet to IP driver */ + (*ha->pSendCompletionRoutine)(pSendCB); + return; + } + } + + /* Invalid handle from RISC, reset RISC firmware */ + printk(KERN_WARNING + "qla2x00: bad IP send handle %x\n", lTagVal); + + set_bit(ISP_ABORT_NEEDED, &ha->dpc_flags); +} /* qla2x00_ip_send_complete */ + + +/************************************************************************/ +/* qla2x00_ip_receive */ +/* This routine handles an incoming IP receive IOCB. */ +/* */ +/* Arguments: */ +/* ha - adapter block pointer */ +/* pkt - pointer to IP receive IOCB */ +/* */ +/* Return Value: */ +/* none */ +/************************************************************************/ + +static void +qla2x00_ip_receive(scsi_qla_host_t *ha, response_t *pkt) +{ + PIP_RECEIVE_ENTRY pIpReceiveEntry = (PIP_RECEIVE_ENTRY) pkt; + PBUFFER_CB pBufferCB, pNextBufferCB; + uint32_t lTagVal; + uint32_t lPacketSize; + uint16_t wBufferCount; + uint32_t lReceiveBufferSize; + + DEBUG3(printk("qla2x00_ip_receive: enter\n");) + + /* If split buffer, set header size for 1st buffer */ + if (pIpReceiveEntry->wCompletionStatus & IP_REC_STATUS_SPLIT_BUFFER) + lReceiveBufferSize = ha->wHeaderSize; + else + lReceiveBufferSize = ha->lReceiveBufferSize; + + if ((lTagVal = pIpReceiveEntry->waBufferHandle[0]) >= + ha->wReceiveBufferCount) { + /* Invalid handle from RISC, reset RISC firmware */ + printk(KERN_WARNING + "qla2x00: bad IP buffer handle %x...Post ISP Abort\n", + lTagVal); + set_bit(ISP_ABORT_NEEDED, &ha->dpc_flags); + return; + } + pBufferCB = &ha->pReceiveBufferCBs[lTagVal]; + + if (!(pBufferCB->lFlags & BCB_FLAGS_RISC_OWNS_BUFFER)) { + /* Invalid handle from RISC, reset RISC firmware */ + printk(KERN_WARNING + "qla2x00: bad IP buffer handle %x...Post ISP Abort\n", + lTagVal); + set_bit(ISP_ABORT_NEEDED, &ha->dpc_flags); + return; + } + + /* Set buffer belongs to driver now */ + pBufferCB->lFlags &= ~BCB_FLAGS_RISC_OWNS_BUFFER; + + lPacketSize = pIpReceiveEntry->wSequenseLength; + pBufferCB->lPacketSize = lPacketSize; + pNextBufferCB = pBufferCB; + + for (wBufferCount = 1;; wBufferCount++) { + if (lPacketSize > lReceiveBufferSize) { + pNextBufferCB->lBufferSize = lReceiveBufferSize; + lPacketSize -= lReceiveBufferSize; + /* + * If split buffer, only use header size on + * 1st buffer + */ + lReceiveBufferSize = ha->lReceiveBufferSize; + + if ((lTagVal = pIpReceiveEntry-> + waBufferHandle[wBufferCount]) >= + ha->wReceiveBufferCount) { + + /* + * Invalid handle from RISC, + * reset RISC firmware + */ + printk(KERN_WARNING + "qla2x00: bad IP buffer handle %x" + "...Post ISP Abort\n", + lTagVal); + set_bit(ISP_ABORT_NEEDED, &ha->dpc_flags); + return; + } + pNextBufferCB->pNextBufferCB = + &ha->pReceiveBufferCBs[lTagVal]; + pNextBufferCB = pNextBufferCB->pNextBufferCB; + + if (!(pNextBufferCB->lFlags & + BCB_FLAGS_RISC_OWNS_BUFFER)) { + /* + * Invalid handle from RISC, + * reset RISC firmware + */ + printk(KERN_WARNING + "qla2x00: bad IP buffer handle %x" + "...Post ISP Abort\n", + lTagVal); + set_bit(ISP_ABORT_NEEDED, &ha->dpc_flags); + return; + } + + /* Set buffer belongs to driver now */ + pNextBufferCB->lFlags &= ~BCB_FLAGS_RISC_OWNS_BUFFER; + } + else { + pNextBufferCB->lBufferSize = lPacketSize; + pNextBufferCB->pNextBufferCB = NULL; + break; + } + } + + /* Check for incoming ARP packet with matching IP address */ + if (pIpReceiveEntry->wServiceClass == 0) { + PPACKET_HEADER pPacket = (PPACKET_HEADER) pBufferCB->pBuffer; + PIP_DEVICE_BLOCK pIpDevice; + uint8_t acPortId[3]; + + /* Scan list of IP devices to see if login needed */ + for (pIpDevice = ha->pIpDeviceTop; pIpDevice != NULL; + pIpDevice = pIpDevice->pNextIpDevice) { + + if (*(uint16_t *)(&pIpDevice->acWorldWideName[2]) == + pPacket->sNetworkHeader.wSourceAddrHigh && + *(uint32_t *)(&pIpDevice->acWorldWideName[4]) == + pPacket->sNetworkHeader.lSourceAddrLow) { + + /* Device already in IP list, skip login */ + goto SkipDeviceLogin; + } + } + + /* Device not in list, need to do login */ + acPortId[2] = pIpReceiveEntry->cS_IDHigh; + acPortId[1] = (uint8_t) (pIpReceiveEntry->wS_IDLow >> 8); + acPortId[0] = (uint8_t) pIpReceiveEntry->wS_IDLow; + + /* Make sure its not a local device */ + if (acPortId[2] == ha->d_id.b.domain && + acPortId[1] == ha->d_id.b.area) { + goto SkipDeviceLogin; + } + + if (qla2x00_add_new_ip_device(ha, PUBLIC_LOOP_DEVICE, + acPortId, + (uint8_t*)&pPacket->sNetworkHeader.wSourceNAA, + TRUE, + 1) == QL_STATUS_FATAL_ERROR) { + + /* Fatal error, reinitialize */ + set_bit(ISP_ABORT_NEEDED, &ha->dpc_flags); + } + + } + +SkipDeviceLogin: + + /* Pass received packet to IP driver */ + pBufferCB->wBufferCount = wBufferCount; + (*ha->pReturnReceivePacketsRoutine) + (ha->pReturnReceivePacketsContext, pBufferCB); + + /* Keep track of RISC buffer pointer (for IP reinit) */ + ha->wIpBufferOut += wBufferCount; + if (ha->wIpBufferOut >= IP_BUFFER_QUEUE_DEPTH) + ha->wIpBufferOut -= IP_BUFFER_QUEUE_DEPTH; +} /* qla2x00_ip_receive */ + + +/************************************************************************/ +/* qla2x00_ip_receive_fastpost */ +/* This routine handles an incoming IP receive fast post. */ +/* */ +/* Arguments: */ +/* ha - adapter block pointer */ +/* type - type of fast post */ +/* */ +/* Return Value: */ +/* none */ +/************************************************************************/ + +static void +qla2x00_ip_receive_fastpost(scsi_qla_host_t *ha, uint16_t type) +{ + device_reg_t *reg = ha->iobase; + volatile uint16_t *pNextMailbox; + PBUFFER_CB pBufferCB, pNextBufferCB; + uint32_t lTagVal; + uint32_t lPacketSize; + uint16_t wBufferCount; + uint32_t lReceiveBufferSize; + + DEBUG3(printk("qla2x00_ip_receive_fastpost: enter\n");) + + pNextMailbox = ®->mailbox10; + + /* If split buffer, set header size for 1st buffer */ + if (type == MBA_IP_RECEIVE_COMPLETE_SPLIT) + lReceiveBufferSize = ha->wHeaderSize; + else + lReceiveBufferSize = ha->lReceiveBufferSize; + + if ((lTagVal = RD_REG_WORD(pNextMailbox)) >= ha->wReceiveBufferCount) { + goto InvalidIpBufferHandle; + } + + pBufferCB = &ha->pReceiveBufferCBs[lTagVal]; + + if (!(pBufferCB->lFlags & BCB_FLAGS_RISC_OWNS_BUFFER)) { + goto InvalidIpBufferHandle; + } + + /* Set buffer belongs to driver now */ + pBufferCB->lFlags &= ~BCB_FLAGS_RISC_OWNS_BUFFER; + + lPacketSize = RD_REG_WORD(®->mailbox3); + pBufferCB->lPacketSize = lPacketSize; + pNextBufferCB = pBufferCB; + + for (wBufferCount = 1; ; wBufferCount++) { + if (lPacketSize > lReceiveBufferSize) { + pNextBufferCB->lBufferSize = lReceiveBufferSize; + lPacketSize -= lReceiveBufferSize; + + /* + * If split buffer, only use header size + * on 1st buffer + */ + lReceiveBufferSize = ha->lReceiveBufferSize; + + pNextMailbox++; + if ((lTagVal = RD_REG_WORD(pNextMailbox)) >= + ha->wReceiveBufferCount) { +InvalidIpBufferHandle: + printk(KERN_WARNING + "qla2x00: bad IP receive fast " + "post handle %x\n", + lTagVal); + set_bit(ISP_ABORT_NEEDED, &ha->dpc_flags); + + /* Clear interrupt - before leaving */ + WRT_REG_WORD(®->host_cmd, HC_CLR_RISC_INT); +#if defined (ISP2100) || defined(ISP2200) + WRT_REG_WORD(®->semaphore, 0); +#endif + return; + } + + pNextBufferCB->pNextBufferCB = + &ha->pReceiveBufferCBs[lTagVal]; + pNextBufferCB = pNextBufferCB->pNextBufferCB; + + if (!(pNextBufferCB->lFlags & + BCB_FLAGS_RISC_OWNS_BUFFER)) { + goto InvalidIpBufferHandle; + } + + /* Set buffer belongs to driver now */ + pNextBufferCB->lFlags &= ~BCB_FLAGS_RISC_OWNS_BUFFER; + } + else { + pNextBufferCB->lBufferSize = lPacketSize; + pNextBufferCB->pNextBufferCB = NULL; + break; + } + } + + /* Clear interrupt */ + WRT_REG_WORD(®->host_cmd, HC_CLR_RISC_INT); +#if defined (ISP2100) || defined(ISP2200) + WRT_REG_WORD(®->semaphore, 0); +#endif + + /* Pass received packet to IP driver */ + pBufferCB->wBufferCount = wBufferCount; + + (*ha->pReturnReceivePacketsRoutine) + (ha->pReturnReceivePacketsContext, pBufferCB); + + /* Keep track of RISC buffer pointer (for IP reinit) */ + ha->wIpBufferOut += wBufferCount; + if (ha->wIpBufferOut >= IP_BUFFER_QUEUE_DEPTH) + ha->wIpBufferOut -= IP_BUFFER_QUEUE_DEPTH; +} /* qla2x00_ip_receive_fastpost */ diff -urNp 2.4.19rc1/drivers/scsi/qla2xxx/qla_ip.h qlogic/drivers/scsi/qla2xxx/qla_ip.h --- 2.4.19rc1/drivers/scsi/qla2xxx/qla_ip.h Thu Jan 1 01:00:00 1970 +++ qlogic/drivers/scsi/qla2xxx/qla_ip.h Mon Jul 8 12:05:21 2002 @@ -0,0 +1,432 @@ +/****************************************************************************** + * QLOGIC LINUX SOFTWARE + * + * QLogic ISP2x00 IP network driver for Linux 2.4.x + * Copyright (C) 2002 Qlogic Corporation + * (www.qlogic.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, 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. + * + ******************************************************************************/ + +/**************************************************************************** + Please see revision.notes for revision history. +*****************************************************************************/ + +#ifndef _QLA_IP_H_ +#define _QLA_IP_H_ + +#define MAX_SEND_PACKETS 32 /* Maximum number of send packets */ +#define MAX_RECEIVE_BUFFERS 64 /* Maximum number of receive buffers */ +#define MIN_RECEIVE_BUFFERS 8 /* Minimum number of receive buffers */ +#define IP_BUFFER_QUEUE_DEPTH (MAX_RECEIVE_BUFFERS+1) + +/* Async notification types */ +#define NOTIFY_EVENT_LINK_DOWN 1 /* Link went down */ +#define NOTIFY_EVENT_LINK_UP 2 /* Link is back up */ +#define NOTIFY_EVENT_RESET_DETECTED 3 /* Reset detected */ + +/* QLogic subroutine status definitions */ +#define QL_STATUS_SUCCESS 0 +#define QL_STATUS_ERROR 1 +#define QL_STATUS_FATAL_ERROR 2 +#define QL_STATUS_RESOURCE_ERROR 3 +#define QL_STATUS_LOOP_ID_IN_USE 4 +#define QL_STATUS_NO_DATA 5 + +/************************************************************************/ +/* Fibre IP header definitions. */ +/************************************************************************/ + +/* Network header definitions */ + +typedef struct _NETWORK_HEADER +{ + uint16_t wDestinationNAA; /* Destination NAA (0x0010) */ + uint16_t wDestinationAddrHigh; /* Destination address (high) */ + uint32_t lDestinationAddrLow; /* Destination address (low) */ + uint16_t wSourceNAA; /* Source NAA (0x0010) */ + uint16_t wSourceAddrHigh; /* Source address (high) */ + uint32_t lSourceAddrLow; /* Source address (low) */ +} NETWORK_HEADER, *PNETWORK_HEADER; + +#define NAA_IEEE_MAC_TYPE 0x0010 /* NAA code for IEEE MAC address */ +#define BROADCAST_ADDRESS 0xFFFFFFFF +#define BROADCAST_ADDRESS_WORD 0xFFFF + +/* SNAP header definitions */ + +typedef struct _SNAP_HEADER +{ + uint8_t cDestinationSAP; /* LLC destination service access point */ + uint8_t cSourceSAP; /* LLC source service access point */ + uint8_t cControl; /* LLC control */ + uint8_t caSnapOUI[3]; /* SNAP OUI */ + uint16_t wSnapPID; /* SNAP PID */ +} SNAP_HEADER, *PSNAP_HEADER; + +#define LLC_SAP_IEEE_802DOT2 0xAA /* LLC SAP code for IEEE 802.2 */ +#define LLC_CONTROL 0x03 /* LLC control code */ +#define SNAP_OUI 0x00 /* SNAP OUI code */ +#define SNAP_PID_IP_TYPE 0x0008 /* IP header type */ +#define SNAP_PID_ARP_TYPE 0x0608 /* ARP header type */ + +/* Packet header definitions */ + +typedef struct _PACKET_HEADER +{ + NETWORK_HEADER sNetworkHeader; + SNAP_HEADER sSnapHeader; +} PACKET_HEADER, *PPACKET_HEADER; + +/* ARP header definitions */ + +typedef struct _ARP_HEADER +{ + uint16_t wHardwareType; + uint16_t wProtocolType; + uint8_t bHLen; + uint8_t bPLen; + uint16_t wOperation; + uint8_t acSenderHA[6]; + uint8_t acSenderIp[4]; + uint8_t acTargetHA[6]; + uint8_t acTargetIp[4]; +} ARP_HEADER, *PARP_HEADER; + +#define ARP_HARDWARE_TYPE 0x0600 +#define ARP_PROTOCAL_TYPE 0x0008 +#define ARP_HLEN 0x06 +#define ARP_PLEN 0x04 +#define ARP_OPERATION 0x0100 + +/* ARP packet header definitions */ + +typedef struct _ARP_PACKET_HEADER +{ + NETWORK_HEADER sNetworkHeader; + SNAP_HEADER sSnapHeader; + ARP_HEADER sArpHeader; +} ARP_PACKET_HEADER, *PARP_PACKET_HEADER; + +/* IP header definitions */ + +typedef struct _IP_HEADER +{ + uint8_t bVersionHLength; + uint8_t bServiceType; + uint16_t wTotalLength; + uint16_t wIdentification; + uint16_t wFlagsOffset; + uint8_t bTimeToLive; + uint8_t bProtocol; + uint16_t wHChecksum; + uint8_t acSourceIpAddress[4]; + uint8_t acDestinationIpAddress[4]; + uint32_t lIpOptions; +} IP_HEADER, *PIP_HEADER; + +/* IP packet header definitions */ + +typedef struct _IP_PACKET_HEADER +{ + NETWORK_HEADER sNetworkHeader; + SNAP_HEADER sSnapHeader; + IP_HEADER sIpHeader; +} IP_PACKET_HEADER, *PIP_PACKET_HEADER; + +/* RISC IP receive buffer queue entry structure */ + +typedef struct _IpBufferEntry +{ + uint32_t lIpBufferAddrLow; + uint32_t lIpBufferAddrHigh; + uint16_t wIpBufferHandle; + uint16_t wReserved; +} IP_BUFFER_ENTRY, *PIP_BUFFER_ENTRY; + +/* Receive buffer control block definitions */ + +typedef struct _BufferCb +{ + struct _BufferCb *pNextBufferCB; /* Pointer to next buffer control block */ + struct sk_buff *skb; /* Pointer to IP packet */ + uint8_t *pBuffer; /* Pointer to data buffer */ + uint32_t physicalAddressLow; /* Buffer physical address */ + uint32_t physicalAddressHigh; /* Buffer physical address */ + uint16_t wBufferHandle; /* ISP buffer handle */ + uint16_t wBufferCount; /* Number of linked buffers for packet */ + uint32_t lBufferSize; /* Size of received data in buffer */ + uint32_t lPacketSize; /* Size of entire packet received */ + uint32_t lFlags; /* Buffer control block flags */ +} BUFFER_CB,*PBUFFER_CB; + +#define BCB_FLAGS_RISC_OWNS_BUFFER 0x00000001 + +/* Send control block definitions */ + +typedef struct _SendCb +{ + void *qdev; /* Pointer to device private structure */ + struct sk_buff *skb; /* Pointer to IP packet to send */ + uint32_t physicalAddressLow; /* Header physical address */ + uint32_t physicalAddressHigh; /* Header physical address */ + PACKET_HEADER header; /* Network and SNAP headers */ +} SEND_CB,*PSEND_CB; + +/************************************************************************/ +/* Definitions for Backdoor Inquiry. */ +/************************************************************************/ + +typedef struct _BdInquiryData +{ + uint16_t wLength; /* Length of structure */ + uint16_t wVersion; /* Version number of structure */ + uint32_t lOptions; /* Export miniport supported options */ + void *pScsiDriverHa; /* Export driver ha pointer */ + void *pReceiveBufferQueue; /* Export receive buffer queue pointer */ + uint16_t wReceiveBufferQueueSize;/* Export receive buffer queue size */ + uint16_t wUnused1; + uint8_t acPortName[8]; /* Export adapter port name */ + uint32_t alUnused[9]; + + struct pci_dev *pdev; + void *ip_enable_routine; /* Import ip enable routine */ + void *ip_disable_routine; /* Import ip disable routine */ + void *ip_add_buffers_routine; /* Import ip add bufs routine */ + void *ip_send_packet_routine; /* Import ip send paq routine */ +} BD_INQUIRY_DATA, *PBD_INQUIRY_DATA; + +#define BDI_LENGTH sizeof(BD_INQUIRY_DATA) /* Length of BD_INQUIRY_DATA */ +#define BDI_VERSION 1 /* Version of BD_INQUIRY_DATA */ + +/* BD_INQUIRY options */ + +#define BDI_IP_SUPPORT 0x00000001 /* IP driver supported */ + +/************************************************************************/ +/* Definitions for Backdoor Enable. */ +/************************************************************************/ + +typedef struct _BdEnableData +{ + uint16_t wLength; /* Length of structure */ + uint16_t wVersion; /* Version number of structure */ + uint32_t lOptions; /* Import driver supported options */ + void *pNotifyRoutine; /* Import notification routine */ + void *pNotifyContext; /* Import notification parameter */ + uint16_t wReceiveBufferCount; /* Import buffer count */ + uint16_t wHeaderSize; /* Import split header size */ + uint32_t lReceiveBufferSize; /* Import buffer size */ + uint32_t lMaximumTransferSize; /* Import maximum transfer size */ + void *pReturnReceivePacketsRoutine; /* Import return packets routine */ + void *pReturnReceivePacketsContext; /* Import return packets parameter */ + void *pReceiveBufferCBs; /* Import receive buffer control blocks */ + void *pSendCompletionRoutine; /* Import send completion routine */ + uint32_t alUnused[5]; +} BD_ENABLE_DATA, *PBD_ENABLE_DATA; + +#define BDE_LENGTH sizeof(BD_ENABLE_DATA) /* Length of BD_ENABLE_DATA */ +#define BDE_VERSION 1 /* Version of BD_ENABLE_DATA */ + +/* BD_ENABLE options */ + +#define BDE_NOTIFY_ROUTINE 0x00000001 /* Notify routine imported */ + +/* Callback routines from SCSI driver to IP driver */ +typedef void (*PNOTIFY_CALLBACK) (void *context, uint32_t type); +typedef void (*PRECEIVE_PACKETS_CALLBACK) (void *context, BUFFER_CB *pBufferCB); +typedef void (*PSEND_COMPLETION_CALLBACK) (void *pSendCB); + + + +/* + * Definitions for IP support + */ +#define QLA2100_DEVICE_ID 0x2100 +#define LOOP_ID_MASK 0x00FF +#define PLE_NOT_SCSI_DEVICE 0x8000 /* Upper bit of loop ID set if not SCSI */ + +/* Firmware IP initialization control block definitions */ +typedef struct _IPInitBlock +{ + uint8_t cVersion; + uint8_t cReserved1; + uint16_t wIpFirmwareOptions; + uint16_t wIpHeaderSize; + uint16_t wIpMTUSize; + uint16_t wIpBufferSize; + uint16_t wReserved2; + uint16_t wReserved3; + uint16_t wReserved4; + uint16_t wReserved5; + uint16_t wIpQueueSize; + uint16_t wIpLowWaterMark; + uint16_t wIpQueueAddr[4]; + uint16_t wIpQueueInPointer; + uint16_t wIpFastPostCount; + uint16_t wIpBufferContainerCount; + uint16_t wIpIocbResourceAllocation; +} IP_INIT_BLOCK, *PIP_INIT_BLOCK; + +#define IPIB_VERSION 0x01 +#define IPIB_LOW_WATER_MARK 0 +#define IPIB_FAST_POST_COUNT 4 +#define IPIB_BUFFER_CONTAINER_COUNT 64 +#define IPIB_IOCB_RESERVE_COUNT 250 + +/* IP firmware options */ +#define IPIB_OPTION_64BIT_ADDRESSING 0x0001 +#define IPIB_OPTION_NO_BROADCAST_FASTPOST 0x0002 +#define IPIB_OPTION_OUT_OF_BUFFERS_EVENT 0x0004 + +/* IP device data structure */ +typedef struct _IpDeviceBlock +{ + uint32_t lDeviceFlags; + uint16_t wLoopId; + uint16_t wDeviceIndex; + uint8_t acWorldWideName[8]; + uint8_t acPortId[3]; + uint8_t cUnused2; + struct _IpDeviceBlock *pNextIpDevice; + struct _IpDeviceBlock *pLastIpDevice; + uint32_t lUnused3; +} IP_DEVICE_BLOCK, *PIP_DEVICE_BLOCK; + +#define IP_DEV_FLAG_PRESENT 0x00000001 +#define IP_DEV_FLAG_PUBLIC_DEVICE 0x00000002 + +#define PUBLIC_LOOP_DEVICE ((uint16_t)-1) + +/* Maximum number of IP connections */ +#define QLLAN_MAX_IP_DEVICES 64 + +/* IP IOCB types */ +#define ET_IP_COMMAND_32 0x13 +#define ET_IP_COMMAND_64 0x1B +#define ET_IP_RECEIVE 0x23 +#define ET_IP_RECEIVE_CONTINUATION 0x2B +#define ET_MAILBOX_COMMAND 0x39 + +/* Data segment descriptor structures */ +typedef struct +{ + uint32_t lBase; + uint32_t lCount; +} DATA_SEG; + +typedef struct +{ + uint32_t lBase[2]; + uint32_t lCount; +} DATA_SEG_A64; + +/* IP Command IOCB structure */ +typedef struct _IpCommandEntry +{ + uint32_t lHeader; + uint32_t lHandle; + uint8_t cReserved1; + uint8_t cLoopId; + uint16_t wCompletionStatus; + uint16_t wControlFlags; + uint16_t wReserved2; + uint16_t wTimeout; + uint16_t wSegmentCount; + uint16_t wServiceClass; + uint16_t wReserved3[7]; + uint32_t lTotalByteCount; + union + { + DATA_SEG asDataSeg[3]; + DATA_SEG_A64 asDataSeg64[2]; + } ds; +} IP_COMMAND_ENTRY, *PIP_COMMAND_ENTRY; + +/* IP Receive IOCB structure */ +#define IP_RECEIVE_ENTRY_MAX_HANDLES 24 +typedef struct _IpReceiveEntry +{ + uint8_t cEntryType; + uint8_t cEntryCount; + uint8_t cSegmentCount; + uint8_t cEntryStatus; + uint16_t wS_IDLow; + uint8_t cS_IDHigh; + uint8_t cReserved1; + uint8_t cReserved2; + uint8_t cLoopId; + uint16_t wCompletionStatus; + uint16_t wServiceClass; + uint16_t wSequenseLength; + uint16_t waBufferHandle[IP_RECEIVE_ENTRY_MAX_HANDLES]; +} IP_RECEIVE_ENTRY, *PIP_RECEIVE_ENTRY; + +/* IP Receive IOCB completion status bits */ +#define IP_REC_STATUS_SPLIT_BUFFER 0x0001 + +/* Mailbox command IOCB structure */ +typedef struct _MbxIocb +{ + uint32_t Header; + uint32_t Handle; + uint8_t cReserved1; + uint8_t LoopId; + uint16_t Status; + uint16_t StateFlags; + uint16_t StatusFlags; + uint16_t SysDef2[4]; + uint16_t Mailbox0; + uint16_t Mailbox1; + uint16_t Mailbox2; + uint16_t Mailbox3; + uint16_t Mailbox6; + uint16_t Mailbox7; + uint32_t Reserved[7]; +} MBX_IOCB, *PMBX_IOCB; + +/* Use SystemDefined1 in IOCB header for source type */ +#define SOURCE_SCSI 0x00 +#define SOURCE_IP 0x01 +#define SOURCE_VI 0x02 +#define SOURCE_SCTP 0x03 +#define SOURCE_MP 0x04 +#define SOURCE_MPIOCTL 0x05 + +/* IP mailbox commands */ +#define MBC_INITIALIZE_IP 0x0077 +#define MBC_DISABLE_IP 0x0079 + +/* Fabric login mailbox command option bits */ +#define MBC_NO_PLOGI_IF_LOGGED_IN 0x01 +#define MBC_NO_PROCESS_LOGIN 0x02 + +/* Mailbox command completion status */ +#define MBS_PORT_ID_IN_USE 0x4007 +#define MBS_LOOP_ID_IN_USE 0x4008 +#define MBS_ALL_LOOP_IDS_IN_USE 0x4009 +#define MBS_NAME_SERVER_NOT_LOGGED_IN 0x400A + +/* IP async events */ +#define MBA_IP_TRANSMIT_COMPLETE 0x8022 +#define MBA_IP_RECEIVE_COMPLETE 0x8023 +#define MBA_IP_BROADCAST_RECEIVED 0x8024 +#define MBA_IP_RECEIVE_BUFFERS_LOW 0x8025 +#define MBA_IP_OUT_OF_BUFFERS 0x8026 +#define MBA_IP_RECEIVE_COMPLETE_SPLIT 0x8027 + +/* IP fast post completions for 2300 */ +#define RHS_IP_SEND_COMPLETE 0x18 +#define RHS_IP_RECV_COMPLETE 0x19 +#define RHS_IP_RECV_DA_COMPLETE 0x1B + +#endif /* _QLA_IP_H_ */ diff -urNp 2.4.19rc1/drivers/scsi/qla2xxx/qla_mbx.c qlogic/drivers/scsi/qla2xxx/qla_mbx.c --- 2.4.19rc1/drivers/scsi/qla2xxx/qla_mbx.c Thu Jan 1 01:00:00 1970 +++ qlogic/drivers/scsi/qla2xxx/qla_mbx.c Mon Jul 8 12:05:21 2002 @@ -0,0 +1,2535 @@ +/* + * QLOGIC LINUX SOFTWARE + * + * QLogic ISP2x00 device driver for Linux 2.4.x + * Copyright (C) 2002 Qlogic Corporation + * (www.qlogic.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, 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. + * + */ + +#include "qla_mbx.h" + + +/* + * Local Function Prototypes. + */ + +STATIC uint8_t +qla2x00_mailbox_command(scsi_qla_host_t *, mbx_cmd_t *); + +STATIC void +qla2x00_mbx_sem_timeout(unsigned long); + +STATIC uint8_t +qla2x00_get_mbx_access(adapter_state_t *, uint32_t); + +STATIC uint8_t +qla2x00_release_mbx_access(adapter_state_t *, uint32_t); + +STATIC uint8_t +qla2x00_mbx_q_add(adapter_state_t *, mbx_cmdq_t **); + +STATIC void +qla2x00_mbx_q_get(adapter_state_t *, mbx_cmdq_t **); + +STATIC void +qla2x00_mbx_q_memb_alloc(adapter_state_t *, mbx_cmdq_t **); + +STATIC void +qla2x00_mbx_q_memb_free(adapter_state_t *, mbx_cmdq_t *); + +STATIC int +qla2x00_load_ram(adapter_state_t *, uint32_t, uint32_t, uint16_t); + +STATIC int +qla2x00_execute_fw(adapter_state_t *); + +#ifdef WORD_FW_LOAD +STATIC int +qla2x00_write_ram_word(adapter_state_t *, uint16_t, uint16_t); + +STATIC int +qla2x00_read_ram_word(adapter_state_t *, uint16_t, uint16_t *); +#endif + +STATIC int +qla2x00_mbx_reg_test(adapter_state_t *); + +STATIC int +qla2x00_verify_checksum(adapter_state_t *); + +STATIC int +qla2x00_issue_iocb(adapter_state_t *, void *, dma_addr_t, size_t); + +STATIC int +qla2x00_abort_command(adapter_state_t *, srb_t *); + +STATIC int +qla2x00_abort_device(adapter_state_t *, uint16_t, uint16_t); + +#if USE_ABORT_TGT +STATIC int +qla2x00_abort_target(fc_port_t *fcport); +#endif + +STATIC int +qla2x00_target_reset(adapter_state_t *, uint16_t, uint16_t); + +STATIC int +qla2x00_get_adapter_id(adapter_state_t *, uint16_t *, uint8_t *, uint8_t *, + uint8_t *, uint16_t *); + +STATIC int +qla2x00_get_retry_cnt(adapter_state_t *, uint8_t *, uint8_t *); + +#ifdef INTAPI +int +qla2x00_loopback_test(adapter_state_t *, INT_LOOPBACK_REQ *, uint16_t *); +#endif + +STATIC int +qla2x00_init_firmware(adapter_state_t *, uint16_t); + +STATIC int +qla2x00_get_port_database(adapter_state_t *, fcdev_t *, uint8_t); + +STATIC int +qla2x00_get_firmware_state(adapter_state_t *, uint16_t *); + +STATIC int +qla2x00_get_port_name(adapter_state_t *, uint16_t, uint8_t *, uint8_t); + +STATIC uint8_t +qla2x00_get_link_status(scsi_qla_host_t *, uint8_t, void *, uint16_t *); + +STATIC int +qla2x00_lip_reset(adapter_state_t *); + +STATIC int +qla2x00_send_sns(adapter_state_t *, dma_addr_t, uint16_t, size_t); + +STATIC int +qla2x00_login_fabric(adapter_state_t *, uint16_t, uint8_t, uint8_t, uint8_t, + uint16_t *, uint8_t); + +STATIC int +qla2x00_fabric_logout(adapter_state_t *ha, uint16_t loop_id); + +STATIC int +qla2x00_full_login_lip(adapter_state_t *ha); + +STATIC int +qla2x00_get_port_list(adapter_state_t *, port_list_entry_t *, dma_addr_t, + uint16_t, uint16_t *); + +#if 0 /* not yet needed */ +STATIC int +qla2x00_dump_ram(adapter_state_t *, uint32_t, dma_addr_t, uint32_t); +#endif + +#if MPIO_SUPPORT +STATIC int +qla2x00_lun_reset(adapter_state_t *, uint16_t, uint16_t); +#endif + +STATIC int +qla2x00_send_rnid_mbx(adapter_state_t *, uint16_t, uint8_t, dma_addr_t, + size_t, uint16_t *); + +STATIC int +qla2x00_set_rnid_params_mbx(adapter_state_t *, dma_addr_t, size_t, uint16_t *); + +STATIC int +qla2x00_get_rnid_params_mbx(adapter_state_t *, dma_addr_t, size_t, uint16_t *); + + +/***************************/ +/* Function implementation */ +/***************************/ + +STATIC void +qla2x00_mbx_sem_timeout(unsigned long data) +{ + struct semaphore *sem_ptr = (struct semaphore *)data; + + DEBUG11(printk("qla2x00_sem_timeout: entered.\n");) + + if (sem_ptr != NULL) { + up(sem_ptr); + } + + DEBUG11(printk("qla2x00_mbx_sem_timeout: exiting.\n");) +} + +/* + * tov = timeout value in seconds + */ +STATIC uint8_t +qla2x00_get_mbx_access(adapter_state_t *ha, uint32_t tov) +{ + uint8_t ret; + int prev_val = 1; /* assume no access yet */ + mbx_cmdq_t *ptmp_mbq; + struct timer_list tmp_cmd_timer; + unsigned long cpu_flags; + + + DEBUG11(printk("qla2x00_get_mbx_access(%ld): entered.\n", + ha->host_no);) + + while (1) { + if (test_bit(MBX_CMD_WANT, (void *)&(ha->mbx_cmd_flags)) == 0) { + + DEBUG11(printk("qla2x00_get_mbx_access(%ld): going " + " to test access flags.\n", ha->host_no);) + + /* No one else is waiting. Go ahead and try to + * get access. + */ + if ((prev_val = test_and_set_bit(MBX_CMD_ACTIVE, + (void *)&ha->mbx_cmd_flags)) == 0) { + break; + } + } + + /* wait for previous command to finish */ + DEBUG(printk("qla2x00_get_mbx_access(%ld): access " + "flags=%x. busy. Waiting for access. curr time=0x%lx.\n", + ha->host_no, ha->mbx_cmd_flags, jiffies);) + + DEBUG11(printk("qla2x00_get_mbx_access(%ld): access " + "flags=%x. busy. Waiting for access. curr time=0x%lx.\n", + ha->host_no, ha->mbx_cmd_flags, jiffies);) + + /* + * Init timer and get semaphore from mbx q. After we got valid + * semaphore pointer the MBX_CMD_WANT flag would also had + * been set. + */ + qla2x00_mbx_q_add(ha, &ptmp_mbq); + + if (ptmp_mbq == NULL) { + /* queue full? problem? can't proceed. */ + DEBUG2_3_11(printk("qla2x00_get_mbx_access(%ld): ERROR " + "no more mbx_q allowed. exiting.\n", ha->host_no);) + + break; + } + + /* init timer and semaphore */ + init_timer(&tmp_cmd_timer); + tmp_cmd_timer.data = (unsigned long)&ptmp_mbq->cmd_sem; + tmp_cmd_timer.function = + (void (*)(unsigned long))qla2x00_mbx_sem_timeout; + tmp_cmd_timer.expires = jiffies + tov * HZ; + + DEBUG11(printk("get_mbx_access(%ld): adding timer. " + "curr time=0x%lx timeoutval=0x%lx.\n", + ha->host_no, jiffies, tmp_cmd_timer.expires);) + + /* wait. */ +/* add_timer(&tmp_cmd_timer);*/ + DEBUG11(printk("get_mbx_access(%ld): going to sleep. " + "current time=0x%lx.\n", ha->host_no, jiffies);) + + down_interruptible(&ptmp_mbq->cmd_sem); + + DEBUG11(printk("get_mbx_access(%ld): woke up. current " + "time=0x%lx.\n", + ha->host_no, jiffies);) + +/* del_timer(&tmp_cmd_timer);*/ + + /* try to get lock again. we'll test later to see + * if we actually got the lock. + */ + prev_val = test_and_set_bit(MBX_CMD_ACTIVE, + (void *)&(ha->mbx_cmd_flags)); + + /* + * After we tried to get access then we check to see + * if we need to clear the MBX_CMD_WANT flag. Don't clear + * this flag before trying to get access or else another + * new thread might grab it before we did. + */ + spin_lock_irqsave(&ha->mbx_q_lock, cpu_flags); + if (ha->mbx_q_head == NULL) { + /* We're the last thread in queue. */ + clear_bit(MBX_CMD_WANT, (void *)&ha->mbx_cmd_flags); + } + qla2x00_mbx_q_memb_free(ha, ptmp_mbq); + spin_unlock_irqrestore(&ha->mbx_q_lock, cpu_flags); + + break; + } + + if (prev_val == 0) { + /* We got the lock */ + DEBUG11(printk("qla2x00_get_mbx_access(%ld): success.\n", + ha->host_no);) + + ret = QL_STATUS_SUCCESS; + } else { + /* Timeout or resource error. */ + DEBUG2_3_11(printk("qla2x00_get_mbx_access(%ld): timed out.\n", + ha->host_no);) + + ret = QL_STATUS_TIMEOUT; + } + + return ret; +} + +STATIC uint8_t +qla2x00_release_mbx_access(adapter_state_t *ha, uint32_t tov) +{ + mbx_cmdq_t *next_thread; + + DEBUG11(printk("qla2x00_release_mbx_access:(%ld): entered.\n", + ha->host_no);) + + clear_bit(MBX_CMD_ACTIVE, (void *)&(ha->mbx_cmd_flags)); + + /* Wake up one pending mailbox cmd thread in queue. */ + qla2x00_mbx_q_get(ha, &next_thread); + if (next_thread) { + DEBUG11(printk("qla2x00_release_mbx_access: found pending " + "mbx cmd. Waking up sem in %p.\n", &next_thread);) + up(&next_thread->cmd_sem); + } + + DEBUG11(printk("qla2x00_release_mbx_access:(%ld): exiting.\n", + ha->host_no);) + + return QL_STATUS_SUCCESS; +} + +/* Allocates a mbx_cmdq_t struct and add to the mbx_q list. */ +STATIC uint8_t +qla2x00_mbx_q_add(adapter_state_t *ha, mbx_cmdq_t **ret_mbq) +{ + uint8_t ret; + unsigned long cpu_flags; + mbx_cmdq_t *ptmp = NULL; + + spin_lock_irqsave(&ha->mbx_q_lock, cpu_flags); + + DEBUG11(printk("qla2x00_mbx_q_add: got mbx_q spinlock. " + "Inst=%d.\n", apiHBAInstance);) + + qla2x00_mbx_q_memb_alloc(ha, &ptmp); + if (ptmp == NULL) { + /* can't add any more threads */ + DEBUG2_3_11(printk("qla2x00_mbx_q_add: ERROR no more " + "ioctl threads allowed. Inst=%d.\n", apiHBAInstance);) + + ret = QL_STATUS_RESOURCE_ERROR; + } else { + if (ha->mbx_q_tail == NULL) { + /* First thread to queue. */ + set_bit(IOCTL_WANT, (void *)&ha->mbx_cmd_flags); + + ha->mbx_q_head = ptmp; + } else { + ha->mbx_q_tail->pnext = ptmp; + } + ha->mbx_q_tail = ptmp; + + *ret_mbq = ptmp; + + /* Now init the semaphore */ + init_MUTEX_LOCKED(&ptmp->cmd_sem); + ret = QL_STATUS_SUCCESS; + } + + DEBUG11(printk("qla2x00_mbx_q_add: going to release spinlock. " + "ret_mbq=%p, ret=%d. Inst=%d.\n", *ret_mbq, ret, apiHBAInstance);) + + spin_unlock_irqrestore(&ha->mbx_q_lock, cpu_flags); + + return ret; +} + +/* Just remove and return first member from mbx_cmdq. Don't free anything. */ +STATIC void +qla2x00_mbx_q_get(adapter_state_t *ha, mbx_cmdq_t **ret_mbq) +{ + unsigned long cpu_flags; + + spin_lock_irqsave(&ha->mbx_q_lock, cpu_flags); + + DEBUG11(printk("qla2x00_mbx_q_get: got mbx_q spinlock. " + "Inst=%d.\n", apiHBAInstance);) + + /* Remove from head */ + *ret_mbq = ha->mbx_q_head; + if (ha->mbx_q_head != NULL) { + ha->mbx_q_head = ha->mbx_q_head->pnext; + if (ha->mbx_q_head == NULL) { + /* That's the last one in queue. */ + ha->mbx_q_tail = NULL; + } + (*ret_mbq)->pnext = NULL; + } + + DEBUG11(printk("qla2x00_mbx_q_remove: return ret_mbq=%p. Going to " + "release spinlock. Inst=%d.\n", *ret_mbq, apiHBAInstance);) + + spin_unlock_irqrestore(&ha->mbx_q_lock, cpu_flags); +} + +/* Find a free mbx_q member from the array. Must already got the + * mbx_q_lock spinlock. + */ +STATIC void +qla2x00_mbx_q_memb_alloc(adapter_state_t *ha, mbx_cmdq_t **ret_mbx_q_memb) +{ + mbx_cmdq_t *ptmp = NULL; + + DEBUG11(printk("qla2x00_mbx_q_memb_alloc: entered. " + "Inst=%d.\n", apiHBAInstance);) + + ptmp = ha->mbx_sem_pool_head; + if (ptmp != NULL) { + ha->mbx_sem_pool_head = ptmp->pnext; + ptmp->pnext = NULL; + if (ha->mbx_sem_pool_head == NULL) { + ha->mbx_sem_pool_tail = NULL; + } + } else { + /* We ran out of pre-allocated semaphores. Try to allocate + * a new one. + */ + ptmp = (void *)KMEM_ZALLOC(sizeof(mbx_cmdq_t), 40); + } + + *ret_mbx_q_memb = ptmp; + + DEBUG11(printk("qla2x00_mbx_q_memb_alloc: return waitq_memb=%p. " + "Inst=%d.\n", *ret_mbx_q_memb, apiHBAInstance);) +} + +/* Add the specified mbx_q member back to the free semaphore pool. Must + * already got the mbx_q_lock spinlock. + */ +STATIC void +qla2x00_mbx_q_memb_free(adapter_state_t *ha, mbx_cmdq_t *pfree_mbx_q_memb) +{ + DEBUG11(printk("qla2x00_mbx_q_memb_free: entered. Inst=%d.\n", + apiHBAInstance);) + + if (pfree_mbx_q_memb != NULL) { + if (ha->mbx_sem_pool_tail != NULL) { + /* Add to tail */ + ha->mbx_sem_pool_tail->pnext = pfree_mbx_q_memb; + } else { + ha->mbx_sem_pool_head = pfree_mbx_q_memb; + } + ha->mbx_sem_pool_tail = pfree_mbx_q_memb; + } + + /* put it back to the free pool. */ + + DEBUG11(printk("qla2x00_mbx_q_memb_free: exiting. " + "Inst=%d.\n", apiHBAInstance);) +} + +/* + * qla2x00_mailbox_command + * Issue mailbox command and waits for completion. + * + * Input: + * ha = adapter block pointer. + * mcp = driver internal mbx struct pointer. + * + * Output: + * mb[MAX_MAILBOX_REGISTER_COUNT] = returned mailbox data. + * + * Returns: + * 0 : QL_STATUS_SUCCESS = cmd performed success + * 1 : QL_STATUS_ERROR (error encountered) + * 6 : QL_STATUS_TIMEOUT (timeout condition encountered) + * + * Context: + * Kernel context. + */ +STATIC uint8_t +qla2x00_mailbox_command(scsi_qla_host_t *ha, mbx_cmd_t *mcp) +{ + unsigned long flags = 0; + device_reg_t *reg = ha->iobase; + struct timer_list tmp_intr_timer; + uint8_t abort_active = test_bit(ABORT_ISP_ACTIVE, &ha->dpc_flags); + uint8_t discard; + uint8_t io_lock_on = ha->init_done; + uint8_t mbx_count; + uint8_t status = 0; + uint8_t tmp_stat = 0; + uint16_t command; + uint16_t *iptr, *optr; + uint16_t data; + uint32_t cnt; + uint32_t mboxes; + unsigned long mbx_flags = 0; + + DEBUG11(printk("qla2x00_mailbox_command(%ld): entered.\n", + ha->host_no);) + /* + * Wait for active mailbox commands to finish by waiting at most + * tov seconds. This is to serialize actual issuing of mailbox cmds + * during non ISP abort time. + */ + if (!abort_active) { + tmp_stat = qla2x00_get_mbx_access(ha, mcp->tov); + if (tmp_stat != QL_STATUS_SUCCESS) { + /* Timeout occurred. Return error. */ + DEBUG2_3_11(printk("qla2x00_mailbox_command(%ld): cmd " + "access timeout. Exiting.\n", ha->host_no);) + return QL_STATUS_TIMEOUT; + } + } + + ha->flags.mbox_busy = TRUE; + /* Save mailbox command for debug */ + ha->mcp = mcp; + + /* Try to get mailbox register access */ + if (!abort_active) + QLA_MBX_REG_LOCK(ha); + + DEBUG11(printk("scsi%d: prepare to issue mbox cmd=0x%x.\n", + (int)ha->host_no, mcp->mb[0]);) + + ha->mbox_trace = 0; + + spin_lock_irqsave(&ha->hardware_lock, flags); + + /* Load mailbox registers. */ + optr = (uint16_t *)®->mailbox0; + mbx_count = MAILBOX_REGISTER_COUNT; + + iptr = mcp->mb; + command = mcp->mb[0]; + mboxes = mcp->out_mb; + + for (cnt = 0; cnt < mbx_count; cnt++) { +#ifdef ISP2200 + if (cnt == 8) { + optr = (uint16_t *)®->mailbox8; + } +#endif + if (mboxes & BIT_0) { + WRT_REG_WORD(optr, *iptr); + } + + mboxes >>= 1; + optr++; + iptr++; + } + +#ifdef QL_DEBUG_LEVEL_1 + printk("qla2x00_mailbox_command: Loaded MBX registers " + "(displayed in bytes) = \n"); + qla2x00_dump_buffer((uint8_t *)mcp->mb, 16); + printk("\n"); + qla2x00_dump_buffer(((uint8_t *)mcp->mb + 0x10), 16); + printk("\n"); + qla2x00_dump_buffer(((uint8_t *)mcp->mb + 0x20), 8); + printk("\n"); + printk("qla2x00_mailbox_command: I/O address = %lx.\n", + (u_long)optr); + qla2x00_dump_regs(ha->host); +#endif + + /* Issue set host interrupt command to send cmd out. */ + ha->flags.mbox_int = FALSE; + clear_bit(MBX_INTERRUPT, (void *)&(ha->mbx_cmd_flags)); + + /* Unlock mbx registers and wait for interrupt */ + + DEBUG11(printk("qla2x00_mailbox_command: going to unlock irq & " + "waiting for interrupt. jiffies=%lx.\n", jiffies);) + + /* Wait for mbx cmd completion until timeout */ + + if (!abort_active && io_lock_on) { + /* sleep on completion semaphore */ + + if (!test_bit(MBX_INTERRUPT, (void *)&ha->mbx_cmd_flags) && + !(test_bit(ISP_RESET_NEEDED, &ha->dpc_flags))) { + + DEBUG11(printk("qla2x00_mailbox_command(%ld): " + "INTERRUPT MODE. Initializing timer.\n", + ha->host_no);) + + init_timer(&tmp_intr_timer); + tmp_intr_timer.data = (unsigned long)&ha->mbx_intr_sem; + tmp_intr_timer.expires = jiffies + mcp->tov * HZ; + tmp_intr_timer.function = + (void (*)(unsigned long))qla2x00_mbx_sem_timeout; + + DEBUG11(printk("qla2x00_mailbox_command(%ld): " + "Adding timer.\n", ha->host_no);) + add_timer(&tmp_intr_timer); + + DEBUG11(printk("qla2x00_mailbox_command: going to " + "unlock & sleep. time=0x%lx.\n", jiffies);) + + MBOX_TRACE(ha,BIT_0); + set_bit(MBX_INTR_WAIT, (void *)&(ha->mbx_cmd_flags)); + + WRT_REG_WORD(®->host_cmd, HC_SET_HOST_INT); + spin_unlock_irqrestore(&ha->hardware_lock, flags); + + if (!abort_active) + QLA_MBX_REG_UNLOCK(ha); + + MBOX_TRACE(ha,BIT_1); + + /* Wait for either the timer to expire + * or the mbox completion interrupt + */ + down_interruptible(&ha->mbx_intr_sem); + + DEBUG11(printk("qla2x00_mailbox_command:" + "waking up." + "time=0x%lx\n", jiffies);) + clear_bit(MBX_INTR_WAIT, (void *)&(ha->mbx_cmd_flags)); + + /* delete the timer */ + del_timer(&tmp_intr_timer); + } +#if QLA2100_LIPTEST + if( mbxtimeout ) { + DEBUG(printk("qla2x00_mailbox_command(%ld): " + "INTERRUPT MODE - testing timeout handling.\n", + ha->host_no);) + ha->flags.mbox_int= FALSE; + } + mbxtimeout= 0; +#endif + + } else { + + DEBUG3_11(printk("qla2x00_mailbox_command(%ld): cmd=%x " + "POLLING MODE.\n", ha->host_no, command);) + + WRT_REG_WORD(®->host_cmd, HC_SET_HOST_INT); + spin_unlock_irqrestore(&ha->hardware_lock, flags); + if (!abort_active) + QLA_MBX_REG_UNLOCK(ha); + + + cnt = jiffies + mcp->tov * HZ; /* wait at most tov secs */ + + while (!ha->flags.mbox_int) { + + if (cnt <= jiffies) + break; + + spin_lock_irqsave(&ha->hardware_lock, flags); + /* Check for pending interrupts. */ +#ifdef ISP2300 + + if (ha->device_id == QLA2312_DEVICE_ID) { + + while ((data =RD_REG_WORD( + ®->istatus)) & RISC_INT) { + + data =RD_REG_WORD(®->host_status_lo); + qla2x00_isr(ha, data, &discard); + } + + } else { + + while((data = RD_REG_WORD(®->host_status_lo)) + & HOST_STATUS_INT) { + qla2x00_isr(ha, data, &discard); + } + } +#else + /* QLA2100 or QLA2200 */ + while((data = RD_REG_WORD(®->istatus)) + & RISC_INT) { + qla2x00_isr(ha, data, &discard); + } +#endif + spin_unlock_irqrestore(&ha->hardware_lock, flags); + + udelay(10); /* v4.27 */ + } /* while */ + } + + if (!abort_active) + QLA_MBX_REG_LOCK(ha); + + /* Check whether we timed out */ + if (ha->flags.mbox_int) { + + DEBUG3_11(printk("qla2x00_mailbox_cmd: cmd %x completed.\n", + command);) + + /* Got interrupt. Clear the flag. */ + ha->flags.mbox_int = FALSE; + clear_bit(MBX_INTERRUPT, (void *)&(ha->mbx_cmd_flags)); + + if( ha->mailbox_out[0] != MBS_CMD_CMP ) { + qla2x00_stats.mboxerr++; + status = QL_STATUS_ERROR; + } + + /* Load return mailbox registers. */ + optr = mcp->mb; + iptr = (uint16_t *)&ha->mailbox_out[0]; + mboxes = mcp->in_mb; + for (cnt = 0; cnt < mbx_count; cnt++) { + + if (mboxes & BIT_0) + *optr = *iptr; + + mboxes >>= 1; + optr++; + iptr++; + } + } else { + +#if defined(QL_DEBUG_LEVEL_2) || defined(QL_DEBUG_LEVEL_3) || \ + defined(QL_DEBUG_LEVEL_11) + printk("qla2x00_mailbox_command(%ld): **** MB Command Timeout " + "for cmd %x ****\n", ha->host_no, command); + printk("qla2x00_mailbox_command: icontrol=%x jiffies=%lx\n", + RD_REG_WORD(®->ictrl), jiffies); + printk("qla2x00_mailbox_command: *** mailbox[0] = 0x%x ***\n", + RD_REG_WORD(optr)); + qla2x00_dump_regs(ha->host); +#endif + + qla2x00_stats.mboxtout++; + status = QL_STATUS_TIMEOUT; + } + + if (!abort_active) + QLA_MBX_REG_UNLOCK(ha); + + ha->flags.mbox_busy = FALSE; + + /* Clean up */ + ha->mcp = NULL; + + if (!abort_active) { + DEBUG11(printk("qla2x00_mailbox_cmd: checking for additional " + "resp interrupt.\n");) + + /* polling mode for non isp_abort commands. */ + /* Go check for any more response interrupts pending. */ + spin_lock_irqsave(&ha->hardware_lock, flags); +#ifdef ISP2300 + + while (!(ha->flags.in_isr) && + ((data = qla2x00_debounce_register(®->host_status_lo)) & + HOST_STATUS_INT)) + qla2x00_isr(ha, data, &discard); +#else + + while (!(ha->flags.in_isr) && + ((data = qla2x00_debounce_register(®->istatus)) & + RISC_INT)) + qla2x00_isr(ha, data,&discard); +#endif + + spin_unlock_irqrestore(&ha->hardware_lock, flags); + } + + if (status == QL_STATUS_TIMEOUT ) { + + if (!io_lock_on || (mcp->flags & IOCTL_CMD)) { + /* not in dpc. schedule it for dpc to take over. */ + DEBUG(printk("qla2x00_mailbox_command(%ld): timeout " + "schedule isp_abort_needed.\n", + ha->host_no);) + DEBUG2_3_11(printk("qla2x00_mailbox_command(%ld): " + "timeout schedule isp_abort_needed.\n", + ha->host_no);) + set_bit(ISP_ABORT_NEEDED, &ha->dpc_flags); + up(ha->dpc_wait); + + } else if (!abort_active) { + + /* call abort directly since we are in the DPC thread */ + DEBUG(printk("qla2x00_mailbox_command(%ld): timeout " + "calling abort_isp\n", ha->host_no);) + DEBUG2_3_11(printk("qla2x00_mailbox_command(%ld): " + "timeout calling abort_isp\n", ha->host_no);) + + set_bit(ABORT_ISP_ACTIVE, &ha->dpc_flags); + clear_bit(ISP_ABORT_NEEDED, &ha->dpc_flags); + if (qla2x00_abort_isp(ha, 0)) { + /* failed. retry later. */ + set_bit(ISP_ABORT_NEEDED, &ha->dpc_flags); + } + clear_bit(ABORT_ISP_ACTIVE, &ha->dpc_flags); + + DEBUG(printk("qla2x00_mailbox_command: finished " + "abort_isp\n");) + DEBUG2_3_11(printk("qla2x00_mailbox_command: finished " + "abort_isp\n");) + } + } + + /* Allow next mbx cmd to come in. */ + if (!abort_active) { + tmp_stat = qla2x00_release_mbx_access(ha, mcp->tov); + + if (status == 0) + status = tmp_stat; + } + + if (status) { + DEBUG2_3_11(printk("qla2x00_mailbox_command(%ld): **** FAILED. " + "mbx0=%x, mbx1=%x, mbx2=%x, cmd=%x ****\n", + ha->host_no, mcp->mb[0], mcp->mb[1], mcp->mb[2], command);) + } else { + DEBUG11(printk("qla2x00_mailbox_command(%ld): done.\n", + ha->host_no);) + } + + DEBUG11(printk("qla2x00_mailbox_command(%ld): exiting.\n", + ha->host_no);) + + return status; +} +/* + * qla2x00_load_ram + * Load adapter RAM using DMA. + * + * Input: + * ha = adapter block pointer. + * dptr = DMA memory physical address. + * TARGET_QUEUE_LOCK must be released. + * ADAPTER_STATE_LOCK must be released. + * + * Returns: + * qla2x00 local function return status code. + * + * Context: + * Kernel context. + */ +STATIC int +qla2x00_load_ram(adapter_state_t *ha, uint32_t dptr, uint32_t addr, + uint16_t size) +{ + int rval; + mbx_cmd_t mc; + mbx_cmd_t *mcp = &mc; + + DEBUG11(printk("qla2x00_load_ram(%ld): entered.\n", + ha->host_no);) + +#if BITS_PER_LONG > 32 +#ifdef ISP2300 + mcp->mb[0] = MBC_LOAD_RAM_EXTENDED; + mcp->mb[6] = 0; + mcp->mb[7] = 0; + mcp->mb[8] = MSW(addr); + mcp->out_mb = MBX_8|MBX_7|MBX_6|MBX_4|MBX_3|MBX_2|MBX_1|MBX_0; +#else + + mcp->mb[0] = MBC_LOAD_RAM; + mcp->out_mb = MBX_4|MBX_3|MBX_2|MBX_1|MBX_0; +#endif +#else + + mcp->mb[0] = MBC_LOAD_RAM; + mcp->out_mb = MBX_4|MBX_3|MBX_2|MBX_1|MBX_0; +#endif + + mcp->mb[1] = LSW(addr); + mcp->mb[2] = MSW(dptr); + mcp->mb[3] = LSW(dptr); + mcp->mb[4] = size; + mcp->in_mb = MBX_0; + mcp->tov = 30; + mcp->flags = 0; + rval = (int)qla2x00_mailbox_command(ha, mcp); + + if (rval == QL_STATUS_SUCCESS) { + /* Empty */ + DEBUG11(printk("qla2x00_load_ram(%ld): done.\n", + ha->host_no);) + } else { + /* Empty */ + DEBUG2_3_11(printk("qla2x00_load_ram(%ld): failed. rval=%x " + "mb[0]=%x.\n", + ha->host_no, rval, mcp->mb[0]);) + } + + return rval; +} + +/* + * qla2x00_execute_fw + * Start adapter firmware. + * + * Input: + * ha = adapter block pointer. + * TARGET_QUEUE_LOCK must be released. + * ADAPTER_STATE_LOCK must be released. + * + * Returns: + * qla2x00 local function return status code. + * + * Context: + * Kernel context. + */ +STATIC int +qla2x00_execute_fw(adapter_state_t *ha) +{ + int rval; + mbx_cmd_t mc; + mbx_cmd_t *mcp = &mc; + + DEBUG11(printk("qla2x00_execute_fw(%ld): entered.\n", + ha->host_no);) + + mcp->mb[0] = MBC_EXECUTE_FIRMWARE; + mcp->mb[1] = *QLBoardTbl_fc[ha->devnum].fwstart; + mcp->out_mb = MBX_1|MBX_0; + mcp->in_mb = MBX_0; + mcp->tov = 30; + mcp->flags = 0; + rval = qla2x00_mailbox_command(ha, mcp); + + DEBUG11(printk("qla2x00_execute_fw(%ld): done.\n", + ha->host_no);) + + return rval; +} + + +#ifdef WORD_FW_LOAD +/* + * qla2x00_write_ram_word + * + * Input: + * ha = adapter block pointer. + * + * Returns: + * qla2x00 local function return status code. + * + * Context: + * Kernel context. + */ +STATIC int +qla2x00_write_ram_word(adapter_state_t *ha, uint16_t addr, uint16_t data) +{ + int rval; + mbx_cmd_t mc; + mbx_cmd_t *mcp = &mc; + + DEBUG11(printk("qla2x00_write_ram_word(%ld): entered.\n", + ha->host_no);) + + mcp->mb[0] = MBC_WRITE_RAM_WORD; + mcp->mb[1] = addr; + mcp->mb[2] = data; + mcp->out_mb = MBX_2|MBX_1|MBX_0; + mcp->in_mb = MBX_0; + mcp->tov = 30; + mcp->flags = 0; + + rval = (int)qla2x00_mailbox_command(ha, mcp); + + if (rval != QL_STATUS_SUCCESS) { + /*EMPTY*/ + DEBUG2_3_11(printk("qla2x00_write_ram_word(%ld): failed=%x.\n", + ha->host_no, rval);) + } else { + /*EMPTY*/ + DEBUG11(printk("qla2x00_write_ram_word(%ld): done.\n", + ha->host_no);) + } + + return rval; +} + +/* + * qla2x00_read_ram_word + * + * Input: + * ha = adapter block pointer. + * + * Returns: + * qla2x00 local function return status code. + * + * Context: + * Kernel context. + */ +STATIC int +qla2x00_read_ram_word(adapter_state_t *ha, uint16_t addr, uint16_t *data) +{ + int rval; + mbx_cmd_t mc; + mbx_cmd_t *mcp = &mc; + + DEBUG11(printk("qla2x00_read_ram_word(%ld): entered.\n", + ha->host_no);) + + mcp->mb[0] = MBC_READ_RAM_WORD; + mcp->mb[1] = addr; + + mcp->out_mb = MBX_1|MBX_0; + mcp->in_mb = MBX_0|MBX_2; + mcp->tov = 30; + mcp->flags = 0; + + rval = (int)qla2x00_mailbox_command(ha, mcp); + + if (rval != QL_STATUS_SUCCESS) { + /*EMPTY*/ + DEBUG2_3_11(printk("qla2x00_read_ram_word(%ld): failed=%x.\n", + ha->host_no, rval);) + } else { + *data = mcp->mb[2]; + DEBUG11(printk("qla2x00_read_ram_word(%ld): done.\n", + ha->host_no);) + } + + return rval; +} +#endif + +/* + * qla2x00_mbx_reg_test + * Mailbox register wrap test. + * + * Input: + * ha = adapter block pointer. + * TARGET_QUEUE_LOCK must be released. + * ADAPTER_STATE_LOCK must be released. + * + * Returns: + * qla2x00 local function return status code. + * + * Context: + * Kernel context. + */ +STATIC int +qla2x00_mbx_reg_test(adapter_state_t *ha) +{ + int rval; + mbx_cmd_t mc; + mbx_cmd_t *mcp = &mc; + + DEBUG11(printk("qla2x00_mbx_reg_test(%ld): entered.\n", + ha->host_no);) + + mcp->mb[0] = MBC_MAILBOX_REGISTER_TEST; + mcp->mb[1] = 0xAAAA; + mcp->mb[2] = 0x5555; + mcp->mb[3] = 0xAA55; + mcp->mb[4] = 0x55AA; + mcp->mb[5] = 0xA5A5; + mcp->mb[6] = 0x5A5A; + mcp->mb[7] = 0x2525; + mcp->out_mb = MBX_7|MBX_6|MBX_5|MBX_4|MBX_3|MBX_2|MBX_1|MBX_0; + mcp->in_mb = MBX_7|MBX_6|MBX_5|MBX_4|MBX_3|MBX_2|MBX_1|MBX_0; + mcp->tov = 30; + mcp->flags = 0; + rval = (int)qla2x00_mailbox_command(ha, mcp); + + if (rval == QL_STATUS_SUCCESS) { + if (mcp->mb[1] != 0xAAAA || mcp->mb[2] != 0x5555 || + mcp->mb[3] != 0xAA55 || mcp->mb[4] != 0x55AA) + rval = QL_STATUS_ERROR; + if (mcp->mb[5] != 0xA5A5 || mcp->mb[6] != 0x5A5A || + mcp->mb[7] != 0x2525) + rval = QL_STATUS_ERROR; + } + + if (rval != QL_STATUS_SUCCESS) { + /*EMPTY*/ + DEBUG2_3_11(printk("qla2x00_mbx_reg_test(%ld): failed=%x.\n", + ha->host_no, rval);) + } else { + /*EMPTY*/ + DEBUG11(printk("qla2x00_mbx_reg_test(%ld): done.\n", + ha->host_no);) + } + + return rval; +} + +/* + * qla2x00_verify_checksum + * Verify firmware checksum. + * + * Input: + * ha = adapter block pointer. + * TARGET_QUEUE_LOCK must be released. + * ADAPTER_STATE_LOCK must be released. + * + * Returns: + * qla2x00 local function return status code. + * + * Context: + * Kernel context. + */ +STATIC int +qla2x00_verify_checksum(adapter_state_t *ha) +{ + int rval; + mbx_cmd_t mc; + mbx_cmd_t *mcp = &mc; + + DEBUG11(printk("qla2x00_verify_checksum(%ld): entered.\n", + ha->host_no);) + + mcp->mb[0] = MBC_VERIFY_CHECKSUM; + mcp->mb[1] = *QLBoardTbl_fc[ha->devnum].fwstart; + mcp->out_mb = MBX_1|MBX_0; + mcp->in_mb = MBX_2|MBX_0; + mcp->tov = 30; + mcp->flags = 0; + rval = (int)qla2x00_mailbox_command(ha, mcp); + + if (rval != QL_STATUS_SUCCESS) { + /*EMPTY*/ + DEBUG2_3_11(printk("qla2x00_verify_checksum(%ld): failed=%x.\n", + ha->host_no, rval);) + } else { + /*EMPTY*/ + DEBUG11(printk("qla2x00_verify_checksum(%ld): done.\n", + ha->host_no);) + } + + return rval; +} + +/* + * qla2x00_issue_iocb + * Issue IOCB using mailbox command + * + * Input: + * ha = adapter state pointer. + * buffer = buffer pointer. + * phys_addr = physical address of buffer. + * size = size of buffer. + * TARGET_QUEUE_LOCK must be released. + * ADAPTER_STATE_LOCK must be released. + * + * Returns: + * qla2x00 local function return status code. + * + * Context: + * Kernel context. + */ +STATIC int +qla2x00_issue_iocb(adapter_state_t *ha, void* buffer, dma_addr_t phys_addr, + size_t size) +{ + int rval; + mbx_cmd_t mc; + mbx_cmd_t *mcp = &mc; + + ENTER("qla2x00_issue_iocb: started"); + + mcp->mb[0] = MBC_IOCB_EXECUTE; + mcp->mb[1] = 0; + mcp->mb[2] = MSW(phys_addr); + mcp->mb[3] = LSW(phys_addr); + mcp->out_mb = MBX_3|MBX_2|MBX_1|MBX_0; + mcp->in_mb = MBX_2|MBX_0; + mcp->tov = 30; + mcp->flags = 0; + rval = (int)qla2x00_mailbox_command(ha, mcp); + + if (rval != QLA2X00_SUCCESS) { + /*EMPTY*/ + DEBUG(printk("qla2x00_issue_iocb(%ld): failed rval 0x%x", + ha->host_no,rval);) + DEBUG2(printk("qla2x00_issue_iocb(%ld): failed rval 0x%x", + ha->host_no,rval);) + } else { + /*EMPTY*/ + LEAVE("qla2x00_issue_iocb: exiting normally"); + } + + return rval; +} + +/* + * qla2x00_abort_command + * Abort command aborts a specified IOCB. + * + * Input: + * ha = adapter block pointer. + * sp = SB structure pointer. + * + * Returns: + * qla2x00 local function return status code. + * + * Context: + * Kernel context. + */ +STATIC int +qla2x00_abort_command(adapter_state_t *ha, srb_t *sp) +{ + unsigned long flags = 0; + adapter_state_t *curr_ha; + fc_port_t *fcport; + int rval; + uint32_t handle; + uint16_t t; + mbx_cmd_t mc; + mbx_cmd_t *mcp = &mc; + os_lun_t *lq = sp->lun_queue; + + DEBUG11(printk("qla2x00_abort_command(%ld): entered.\n", + ha->host_no);) + + curr_ha = lq->fclun->fcport->ha; + t = SCSI_TCN_32(sp->cmd); + fcport = lq->fclun->fcport; + if (curr_ha->loop_state == LOOP_DOWN || + atomic_read(&fcport->state) == FC_DEVICE_LOST) { + /* v2.19.8 Ignore abort request if port is down */ + return 1; + } + + spin_lock_irqsave(&ha->hardware_lock, flags); + for (handle = 1; handle < MAX_OUTSTANDING_COMMANDS; handle++) { + if( ha->outstanding_cmds[handle] == sp ) + break; + } + spin_unlock_irqrestore(&ha->hardware_lock, flags); + + if (handle == MAX_OUTSTANDING_COMMANDS) { + /* command not found */ + return QL_STATUS_ERROR; + } + + mcp->mb[0] = MBC_ABORT_COMMAND; + mcp->mb[1] = fcport->loop_id << 8; + mcp->mb[2] = (uint16_t)handle; + mcp->mb[3] = (uint16_t)(handle >> 16); + mcp->mb[6] = (uint16_t)lq->fclun->lun; + mcp->out_mb = MBX_6|MBX_3|MBX_2|MBX_1|MBX_0; + mcp->in_mb = MBX_0; + mcp->tov = 30; + mcp->flags = 0; + + rval = (int)qla2x00_mailbox_command(ha, mcp); + + if (rval != QL_STATUS_SUCCESS) { + set_bit(ISP_ABORT_NEEDED, &ha->dpc_flags); + up(ha->dpc_wait); + DEBUG2_3_11(printk("qla2x00_abort_command(%ld): failed=%x.\n", + ha->host_no, rval);) + } else { + sp->flags |= SRB_ABORT_PENDING; + DEBUG11(printk("qla2x00_abort_command(%ld): done.\n", + ha->host_no);) + } + + return rval; +} + +/* + * qla2x00_abort_device + * + * Input: + * ha = adapter block pointer. + * loop_id = FC loop ID + * lun = SCSI LUN. + * + * Returns: + * qla2x00 local function return status code. + * + * Context: + * Kernel context. + */ +STATIC int +qla2x00_abort_device(adapter_state_t *ha, uint16_t loop_id, uint16_t lun) +{ + int rval; + mbx_cmd_t mc; + mbx_cmd_t *mcp = &mc; + + DEBUG11(printk("qla2x00_abort_device(%ld): entered.\n", + ha->host_no);) + + mcp->mb[0] = MBC_ABORT_DEVICE; + mcp->mb[1] = loop_id << 8; + mcp->mb[2] = lun; + mcp->out_mb = MBX_2|MBX_1|MBX_0; + mcp->in_mb = MBX_0; + mcp->tov = 30; + mcp->flags = 0; + rval = (int)qla2x00_mailbox_command(ha, mcp); + + /* Issue marker command. */ + qla2x00_marker(ha, loop_id, lun, MK_SYNC_ID_LUN); + + if (rval != QL_STATUS_SUCCESS) { + set_bit(ISP_ABORT_NEEDED, &ha->dpc_flags); + up(ha->dpc_wait); + DEBUG2_3_11(printk("qla2x00_abort_device(%ld): failed=%x.\n", + ha->host_no, rval);) + } else { + /*EMPTY*/ + DEBUG11(printk("qla2x00_abort_device(%ld): done.\n", + ha->host_no);) + } + + return rval; +} + +#if USE_ABORT_TGT +/* + * qla2x00_abort_target + * Issue abort target mailbox command. + * + * Input: + * ha = adapter block pointer. + * b = Always 0. + * t = SCSI ID. + * TARGET_QUEUE_LOCK must be released. + * ADAPTER_STATE_LOCK must be released. + * + * Returns: + * qla2x00 local function return status code. + * + * Context: + * Kernel context. + */ +STATIC int +qla2x00_abort_target(fc_port_t *fcport) +{ + int rval; + uint16_t loop_id; + mbx_cmd_t mc; + mbx_cmd_t *mcp = &mc; + + DEBUG11(printk("qla2x00_abort_target(%ld): entered.\n", + fcport->ha->host_no);) + + if (fcport == NULL) { + /* no target to abort */ + return 0; + } + + loop_id = fcport->loop_id; + + mcp->mb[0] = MBC_ABORT_TARGET; + mcp->mb[1] = loop_id << 8; + mcp->mb[2] = fcport->ha->loop_reset_delay; + mcp->out_mb = MBX_2|MBX_1|MBX_0; + mcp->in_mb = MBX_0; + mcp->tov = 30; + mcp->flags = 0; + rval = (int)qla2x00_mailbox_command(fcport->ha, mcp); + + /* Issue marker command. */ +/* qla2x00_marker(fcport->ha, loop_id, 0, MK_SYNC_ID);*/ + fcport->ha->marker_needed = 1; + + if (rval != QL_STATUS_SUCCESS) { +/* set_bit(ISP_ABORT_NEEDED, &ha->dpc_flags); + up(ha->dpc_wait); */ + DEBUG2_3_11(printk("qla2x00_abort_target(%ld): failed=%x.\n", + fcport->ha->host_no, rval);) + } else { + /*EMPTY*/ + DEBUG11(printk("qla2x00_abort_target(%ld): done.\n", + fcport->ha->host_no);) + } + + return rval; +} +#endif + +/* + * qla2x00_target_reset + * Issue target reset mailbox command. + * + * Input: + * ha = adapter block pointer. + * TARGET_QUEUE_LOCK must be released. + * ADAPTER_STATE_LOCK must be released. + * + * Returns: + * qla2x00 local function return status code. + * + * Context: + * Kernel context. + */ +STATIC int +qla2x00_target_reset(adapter_state_t *ha, uint16_t b, uint16_t t) +{ + int rval; + mbx_cmd_t mc; + mbx_cmd_t *mcp = &mc; + os_tgt_t *tgt; + + DEBUG11(printk("qla2x00_target_reset(%ld): entered.\n", ha->host_no);) + + tgt = TGT_Q(ha, t); + if (tgt->vis_port == NULL) { + /* no target to abort */ + return 0; + } + if (atomic_read(&tgt->vis_port->state) != FC_ONLINE) { + /* target not online */ + return 0; + } +printk("qla2x00_target_reset(%ld): target loop_id=(%x).\n", ha->host_no, tgt->vis_port->loop_id); + + mcp->mb[0] = MBC_TARGET_RESET; + mcp->mb[1] = tgt->vis_port->loop_id << 8; + mcp->mb[2] = ha->loop_reset_delay; + mcp->out_mb = MBX_2|MBX_1|MBX_0; + mcp->in_mb = MBX_0; + mcp->tov = 30; + mcp->flags = 0; + rval = (int)qla2x00_mailbox_command(ha, mcp); + + if (rval != QL_STATUS_SUCCESS) { + /*EMPTY*/ + DEBUG2_3_11(printk("qla2x00_target_reset(%ld): failed=%x.\n", + ha->host_no, rval);) + } else { + /*EMPTY*/ + DEBUG11(printk("qla2x00_target_reset(%ld): done.\n", + ha->host_no);) + } + + return rval; +} + +/* + * qla2x00_get_adapter_id + * Get adapter ID and topology. + * + * Input: + * ha = adapter block pointer. + * id = pointer for loop ID. + * al_pa = pointer for AL_PA. + * area = pointer for area. + * domain = pointer for domain. + * top = pointer for topology. + * TARGET_QUEUE_LOCK must be released. + * ADAPTER_STATE_LOCK must be released. + * + * Returns: + * qla2x00 local function return status code. + * + * Context: + * Kernel context. + */ +STATIC int +qla2x00_get_adapter_id(adapter_state_t *ha, uint16_t *id, uint8_t *al_pa, + uint8_t *area, uint8_t *domain, uint16_t *top) +{ + int rval; + mbx_cmd_t mc; + mbx_cmd_t *mcp = &mc; + + DEBUG11(printk("qla2x00_get_adapter_id(%ld): entered.\n", + ha->host_no);) + + mcp->mb[0] = MBC_GET_ADAPTER_LOOP_ID; + mcp->out_mb = MBX_0; + mcp->in_mb = MBX_7|MBX_6|MBX_3|MBX_2|MBX_1|MBX_0; + mcp->tov = 30; + mcp->flags = 0; + rval = (int)qla2x00_mailbox_command(ha, mcp); + + /* Return data. */ + *id = mcp->mb[1]; + *al_pa = LSB(mcp->mb[2]); + *area = MSB(mcp->mb[2]); + *domain = LSB(mcp->mb[3]); + *top = mcp->mb[6]; + + if (rval != QL_STATUS_SUCCESS) { + /*EMPTY*/ + DEBUG2_3_11(printk("qla2x00_get_adapter_id(%ld): failed=%x.\n", + ha->host_no, rval);) + } else { + /*EMPTY*/ + DEBUG11(printk("qla2x00_get_adapter_id(%ld): done.\n", + ha->host_no);) + } + + return rval; +} + +/* + * qla2x00_get_retry_cnt + * Get current firmware login retry count and delay. + * + * Input: + * ha = adapter block pointer. + * retry_cnt = pointer to login retry count. + * tov = pointer to login timeout value. + * + * Returns: + * qla2x00 local function return status code. + * + * Context: + * Kernel context. + */ +STATIC int +qla2x00_get_retry_cnt(adapter_state_t *ha, uint8_t *retry_cnt, uint8_t *tov) +{ + int rval; + uint16_t ratov; + mbx_cmd_t mc; + mbx_cmd_t *mcp = &mc; + + DEBUG11(printk("qla2x00_get_retry_cnt(%ld): entered.\n", + ha->host_no);) + + mcp->mb[0] = MBC_GET_RETRY_COUNT; + mcp->out_mb = MBX_0; + mcp->in_mb = MBX_2|MBX_1|MBX_0; + mcp->tov = 30; + mcp->flags = 0; + rval = (int)qla2x00_mailbox_command(ha, mcp); + + if (rval != QL_STATUS_SUCCESS) { + /*EMPTY*/ + DEBUG2_3_11(printk("qla2x00_get_retry_cnt(%ld): failed = %x.\n", + ha->host_no, mcp->mb[0]);) + } else { + /* Convert returned data and check our values. */ + ratov = (mcp->mb[3]/2) / 10; /* mb[3] value is in 100ms */ + if (mcp->mb[1] * ratov > (*retry_cnt) * (*tov)) { + /* Update to the larger values */ + *retry_cnt = (uint8_t)mcp->mb[1]; + *tov = ratov; + } + + DEBUG11(printk("qla2x00_get_retry_cnt(%ld): done. mb3=%d " + "ratov=%d.\n", ha->host_no, mcp->mb[3], ratov);) + } + + return rval; +} + +#ifdef INTAPI +/* + * qla2x00_loopback_test + * Send out a LOOPBACK mailbox command. + * + * Input: + * ha = adapter block pointer. + * retry_cnt = pointer to login retry count. + * tov = pointer to login timeout value. + * + * Returns: + * qla2x00 local function return status code. + * + * Context: + * Kernel context. + */ +int +qla2x00_loopback_test(adapter_state_t *ha, INT_LOOPBACK_REQ *req, + uint16_t *ret_mb) +{ + int rval; + mbx_cmd_t mc; + mbx_cmd_t *mcp = &mc; + + memset(mcp->mb, 0 , sizeof(mcp->mb)); + + mcp->mb[0] = MBC_DIAGNOSTIC_LOOP_BACK; + mcp->mb[1] = req->Options; + mcp->mb[10] = LSW(req->TransferCount); + mcp->mb[11] = MSW(req->TransferCount); + + mcp->mb[14] = LSW(ha->ioctl_mem_phys); /* send data address */ + mcp->mb[15] = MSW(ha->ioctl_mem_phys); + mcp->mb[20] = QL21_64BITS_3RDWD(ha->ioctl_mem_phys); + mcp->mb[21] = QL21_64BITS_4THWD(ha->ioctl_mem_phys); + + mcp->mb[16] = LSW(ha->ioctl_mem_phys); /* rcv data address */ + mcp->mb[17] = MSW(ha->ioctl_mem_phys); + mcp->mb[6] = QL21_64BITS_3RDWD(ha->ioctl_mem_phys); + mcp->mb[7] = QL21_64BITS_4THWD(ha->ioctl_mem_phys); + + mcp->mb[18] = LSW(req->IterationCount); /* iteration count lsb */ + mcp->mb[19] = MSW(req->IterationCount); /* iteration count msb */ + + mcp->out_mb = MBX_21|MBX_20|MBX_19|MBX_18|MBX_17|MBX_16|MBX_15| + MBX_14|MBX_13|MBX_12|MBX_11|MBX_10|MBX_7|MBX_6|MBX_1|MBX_0; + mcp->in_mb = MBX_5|MBX_4|MBX_0; + mcp->buf_size = req->TransferCount; + mcp->flags = MBX_DMA_OUT|MBX_DMA_IN|IOCTL_CMD; + mcp->tov = 30; + + DEBUG11(printk("qla2x00_send_loopback: req.Options=%x iterations=%x " + "MAILBOX_CNT=%d.\n", req->Options, req->IterationCount, + MAILBOX_REGISTER_COUNT);) + + rval = qla2x00_mailbox_command(ha, mcp); + + /* Always copy back return mailbox values. */ + memcpy((void *)ret_mb, (void *)mcp->mb, sizeof(mcp->mb)); + + if (rval != QL_STATUS_SUCCESS) { + /* Empty. */ + DEBUG2_3_11(printk( + "qla2x00_loopback_test(%ld): mailbox command FAILED=%x.\n", + ha->host_no, mcp->mb[0]);) + } else { + /* Empty. */ + DEBUG11(printk( + "qla2x00_loopback_test(%ld): done.\n", ha->host_no);) + } + + return rval; +} +#endif /* INTAPI */ + +/* + * qla2x00_init_firmware + * Initialize adapter firmware. + * + * Input: + * ha = adapter block pointer. + * dptr = Initialization control block pointer. + * size = size of initialization control block. + * TARGET_QUEUE_LOCK must be released. + * ADAPTER_STATE_LOCK must be released. + * + * Returns: + * qla2x00 local function return status code. + * + * Context: + * Kernel context. + */ +STATIC int +qla2x00_init_firmware(adapter_state_t *ha, uint16_t size) +{ + int rval; + mbx_cmd_t mc; + mbx_cmd_t *mcp = &mc; + + DEBUG11(printk("qla2x00_init_firmware(%ld): entered.\n", + ha->host_no);) + + mcp->mb[0] = MBC_INITIALIZE_FIRMWARE; + mcp->mb[2] = MSW(ha->init_cb_dma); + mcp->mb[3] = LSW(ha->init_cb_dma); + mcp->mb[4] = 0; + mcp->mb[5] = 0; + mcp->mb[6] = QL21_64BITS_4THWD(ha->init_cb_dma); + mcp->mb[7] = QL21_64BITS_3RDWD(ha->init_cb_dma); + mcp->out_mb = MBX_7|MBX_6|MBX_3|MBX_2|MBX_0; + mcp->in_mb = MBX_5|MBX_4|MBX_0; + mcp->buf_size = size; + mcp->flags = MBX_DMA_OUT; + mcp->tov = 30; + rval = (int)qla2x00_mailbox_command(ha, mcp); + + if (rval != QL_STATUS_SUCCESS) { + /*EMPTY*/ + DEBUG2_3_11(printk("qla2x00_init_firmware(%ld): failed=%x " + "mb0=%x.\n", + ha->host_no, rval, mcp->mb[0]);) + } else { + /*EMPTY*/ + DEBUG11(printk("qla2x00_init_firmware(%ld): done.\n", + ha->host_no);) + } + + return rval; +} + +/* + * qla2x00_get_port_database + * Issue normal/enhanced get port database mailbox command + * and copy device name as necessary. + * + * Input: + * ha = adapter state pointer. + * dev = structure pointer. + * opt = enhanced cmd option byte. + * + * Returns: + * qla2x00 local function return status code. + * + * Context: + * Kernel context. + */ +STATIC int +qla2x00_get_port_database(adapter_state_t *ha, fcdev_t *dev, uint8_t opt) +{ + int rval; + mbx_cmd_t mc; + mbx_cmd_t *mcp = &mc; + port_database_t *pd; + dma_addr_t phys_address = 0; + + DEBUG11(printk("qla2x00_get_port_database(%ld): entered.\n", + ha->host_no);) + + pd = pci_alloc_consistent(ha->pdev, PORT_DATABASE_SIZE, &phys_address); + if (pd == NULL) { + DEBUG2_3_11(printk("qla2x00_get_port_database(%ld): **** " + "Mem Alloc Failed ****", + ha->host_no);) + return QL_STATUS_RESOURCE_ERROR; + } + + memset(pd, 0, PORT_DATABASE_SIZE); + + if (opt != 0) + mcp->mb[0] = MBC_ENHANCED_GET_PORT_DATABASE; + else + mcp->mb[0] = MBC_GET_PORT_DATABASE; + + mcp->mb[1] = dev->loop_id << 8 | opt; + mcp->mb[2] = MSW(phys_address); + mcp->mb[3] = LSW(phys_address); + mcp->mb[6] = QL21_64BITS_4THWD(phys_address); + mcp->mb[7] = QL21_64BITS_3RDWD(phys_address); + mcp->out_mb = MBX_7|MBX_6|MBX_3|MBX_2|MBX_1|MBX_0; + mcp->in_mb = MBX_0; + mcp->buf_size = PORT_DATABASE_SIZE; + mcp->flags = MBX_DMA_IN; + /*mcp->tov = ha->retry_count * ha->login_timeout * 2;*/ + mcp->tov = ha->login_timeout * 2; + rval = (int)qla2x00_mailbox_command(ha, mcp); + + if (rval == QL_STATUS_SUCCESS) { + /* Save some data */ + /* Names are big endian. */ + memcpy((void *)&dev->name[0],(void *)&pd->node_name[0], 8); + memcpy((void *)&dev->wwn[0], (void *)&pd->port_name[0], 8); + + /* Get port_id of device. */ + dev->d_id.b.al_pa = pd->port_id[2]; + dev->d_id.b.area = pd->port_id[3]; + dev->d_id.b.domain = pd->port_id[0]; + dev->d_id.b.rsvd_1 = 0; + + /* Get initiator status of device. */ + pd->prli_svc_param_word_3[0] & BIT_5 ? + (dev->flag = dev->flag | DEV_INITIATOR) : + (dev->flag = dev->flag & ~DEV_INITIATOR); + + /* Check for logged in and whether target device. */ + if (pd->master_state != PD_STATE_PORT_LOGGED_IN && + pd->slave_state != PD_STATE_PORT_LOGGED_IN) { + rval = QL_STATUS_ERROR; + } else if (pd->master_state == PD_STATE_PORT_UNAVAILABLE) { + rval = QL_STATUS_ERROR; + } + } + + pci_free_consistent(ha->pdev, PORT_DATABASE_SIZE, pd, phys_address); + + if (rval != QL_STATUS_SUCCESS) { + /*EMPTY*/ + DEBUG2_3_11(printk("qla2x00_get_port_database(%ld): " + "failed=%x.\n", ha->host_no, rval);) + } else { + /*EMPTY*/ + DEBUG11(printk("qla2x00_get_port_database(%ld): done.\n", + ha->host_no);) + } + + return rval; +} + +/* + * qla2x00_get_firmware_state + * Get adapter firmware state. + * + * Input: + * ha = adapter block pointer. + * dptr = pointer for firmware state. + * TARGET_QUEUE_LOCK must be released. + * ADAPTER_STATE_LOCK must be released. + * + * Returns: + * qla2x00 local function return status code. + * + * Context: + * Kernel context. + */ +STATIC int +qla2x00_get_firmware_state(adapter_state_t *ha, uint16_t *dptr) +{ + int rval; + mbx_cmd_t mc; + mbx_cmd_t *mcp = &mc; + + DEBUG11(printk("qla2x00_get_firmware_state(%ld): entered.\n", + ha->host_no);) + + mcp->mb[0] = MBC_GET_FIRMWARE_STATE; + mcp->out_mb = MBX_0; + mcp->in_mb = MBX_2|MBX_1|MBX_0; + mcp->tov = 30; + mcp->flags = 0; + rval = (int)qla2x00_mailbox_command(ha, mcp); + + /* Return firmware state. */ + *dptr = mcp->mb[1]; + + if (rval != QL_STATUS_SUCCESS) { + /*EMPTY*/ + DEBUG2_3_11(printk("qla2x00_get_firmware_state(%ld): " + "failed=%x.\n", ha->host_no, rval);) + } else { + /*EMPTY*/ + DEBUG11(printk("qla2x00_get_firmware_state(%ld): done.\n", + ha->host_no);) + } + + return rval; +} + +/* + * qla2x00_get_port_name + * Issue get port name mailbox command. + * Returned name is in big endian format. + * + * Input: + * ha = adapter block pointer. + * loop_id = loop ID of device. + * name = pointer for name. + * TARGET_QUEUE_LOCK must be released. + * ADAPTER_STATE_LOCK must be released. + * + * Returns: + * qla2x00 local function return status code. + * + * Context: + * Kernel context. + */ +STATIC int +qla2x00_get_port_name(adapter_state_t *ha, uint16_t loop_id, uint8_t *name, + uint8_t opt) +{ + int rval; + mbx_cmd_t mc; + mbx_cmd_t *mcp = &mc; + + DEBUG11(printk("qla2x00_get_port_name(%ld): entered.\n", + ha->host_no);) + + mcp->mb[0] = MBC_GET_PORT_NAME; + mcp->mb[1] = loop_id << 8 | opt; + mcp->out_mb = MBX_1|MBX_0; + mcp->in_mb = MBX_7|MBX_6|MBX_3|MBX_2|MBX_1|MBX_0; + mcp->tov = 30; + mcp->flags = 0; + rval = (int)qla2x00_mailbox_command(ha, mcp); + + if (rval != QL_STATUS_SUCCESS) { + /*EMPTY*/ + DEBUG2_3_11(printk("qla2x00_get_port_name(%ld): failed=%x.\n", + ha->host_no, rval);) + } else { + if (name != NULL) { + /* This function returns name in big endian. */ + name[0] = LSB(mcp->mb[2]); + name[1] = MSB(mcp->mb[2]); + name[2] = LSB(mcp->mb[3]); + name[3] = MSB(mcp->mb[3]); + name[4] = LSB(mcp->mb[6]); + name[5] = MSB(mcp->mb[6]); + name[6] = LSB(mcp->mb[7]); + name[7] = MSB(mcp->mb[7]); + } + + DEBUG11(printk("qla2x00_get_port_name(%ld): done.\n", + ha->host_no);) + } + + return rval; +} + +/* + * qla2x00_get_link_status + * + * Input: + * ha = adapter block pointer. + * loop_id = device loop ID. + * ret_buf = pointer to link status return buffer. + * + * Returns: + * 0 = success. + * BIT_0 = mem alloc error. + * BIT_1 = mailbox error. + */ +STATIC uint8_t +qla2x00_get_link_status(scsi_qla_host_t *ha, uint8_t loop_id, void *ret_buf, + uint16_t *status) +{ + int rval; + mbx_cmd_t mc; + mbx_cmd_t *mcp = &mc; + link_stat_t *stat_buf; + dma_addr_t phys_address = 0; + + + DEBUG11(printk("qla2x00_get_link_status(%ld): entered.\n", + ha->host_no);) + + stat_buf = pci_alloc_consistent(ha->pdev, sizeof(link_stat_t), + &phys_address); + if (stat_buf == NULL) { + DEBUG2_3_11(printk("qla2x00_get_link_status(%ld): Failed to " + "allocate memory.\n", ha->host_no)); + return BIT_0; + } + + memset(stat_buf, 0, sizeof(link_stat_t)); + + mcp->mb[0] = MBC_GET_LINK_STATUS; + mcp->mb[1] = loop_id << 8; + mcp->mb[2] = MSW(phys_address); + mcp->mb[3] = LSW(phys_address); + mcp->mb[6] = QL21_64BITS_4THWD(phys_address); + mcp->mb[7] = QL21_64BITS_3RDWD(phys_address); + mcp->out_mb = MBX_7|MBX_6|MBX_3|MBX_2|MBX_1|MBX_0; + mcp->in_mb = MBX_0; + mcp->tov = 30; + mcp->flags = IOCTL_CMD; + rval = (int)qla2x00_mailbox_command(ha, mcp); + + if (rval == QL_STATUS_SUCCESS) { + + if (mcp->mb[0] != MBS_COMMAND_COMPLETE) { + DEBUG2_3_11(printk("qla2x00_get_link_status(%ld): cmd " + "failed. mbx0=%x.\n", ha->host_no, mcp->mb[0]);) + status[0] = mcp->mb[0]; + rval = BIT_1; + } else { + /* copy over data */ + memcpy(ret_buf, stat_buf,sizeof(link_stat_t)); + DEBUG(printk("qla2x00_get_link_status(%ld): stat dump: " + "fail_cnt=%d loss_sync=%d loss_sig=%d seq_err=%d " + "inval_xmt_word=%d inval_crc=%d.\n", + ha->host_no, + stat_buf->link_fail_cnt, stat_buf->loss_sync_cnt, + stat_buf->loss_sig_cnt, stat_buf->prim_seq_err_cnt, + stat_buf->inval_xmit_word_cnt, + stat_buf->inval_crc_cnt);) + DEBUG11(printk("qla2x00_get_link_status(%ld): stat " + "dump: fail_cnt=%d loss_sync=%d loss_sig=%d " + "seq_err=%d inval_xmt_word=%d inval_crc=%d.\n", + ha->host_no, + stat_buf->link_fail_cnt, stat_buf->loss_sync_cnt, + stat_buf->loss_sig_cnt, stat_buf->prim_seq_err_cnt, + stat_buf->inval_xmit_word_cnt, + stat_buf->inval_crc_cnt);) + } + } else { + /* Failed. */ + DEBUG2_3_11(printk("qla2x00_get_link_status(%ld): failed=%x.\n", + ha->host_no, rval);) + rval = BIT_1; + } + + pci_free_consistent(ha->pdev, sizeof(link_stat_t), + stat_buf, phys_address); + + return rval; +} + +/* + * qla2x00_lip_reset + * Issue LIP reset mailbox command. + * + * Input: + * ha = adapter block pointer. + * TARGET_QUEUE_LOCK must be released. + * ADAPTER_STATE_LOCK must be released. + * + * Returns: + * qla2x00 local function return status code. + * + * Context: + * Kernel context. + */ +STATIC int +qla2x00_lip_reset(adapter_state_t *ha) +{ + int rval; + mbx_cmd_t mc; + mbx_cmd_t *mcp = &mc; + + DEBUG11(printk("qla2x00_lip_reset(%ld): entered.\n", + ha->host_no);) + + mcp->mb[0] = MBC_LIP_RESET; + mcp->mb[1] = 0xff00; + mcp->mb[2] = ha->loop_reset_delay; + mcp->mb[3] = 0; + mcp->out_mb = MBX_3|MBX_2|MBX_1|MBX_0; + mcp->in_mb = MBX_0; + mcp->tov = 30; + mcp->flags = 0; + rval = (int)qla2x00_mailbox_command(ha, mcp); + + if (rval != QL_STATUS_SUCCESS) { + /*EMPTY*/ + DEBUG2_3_11(printk("qla2x00_lip_reset(%ld): failed=%x.\n", + ha->host_no, rval);) + } else { + /*EMPTY*/ + DEBUG11(printk("qla2x00_lip_reset(%ld): done.\n", + ha->host_no);) + } + + return rval; +} + +/* + * qla2x00_send_sns + * Send SNS command. + * + * Input: + * ha = adapter block pointer. + * sns = pointer for command. + * cmd_size = command size. + * buf_size = response/command size. + * TARGET_QUEUE_LOCK must be released. + * ADAPTER_STATE_LOCK must be released. + * + * Returns: + * qla2x00 local function return status code. + * + * Context: + * Kernel context. + */ +STATIC int +qla2x00_send_sns(adapter_state_t *ha, dma_addr_t sns_phys_address, + uint16_t cmd_size, size_t buf_size) +{ + int rval; + mbx_cmd_t mc; + mbx_cmd_t *mcp = &mc; + + DEBUG11(printk("qla2x00_send_sns(%ld): entered.\n", + ha->host_no);) + + mcp->mb[0] = MBC_SEND_SNS_COMMAND; + mcp->mb[1] = cmd_size; + mcp->mb[2] = MSW(sns_phys_address); + mcp->mb[3] = LSW(sns_phys_address); + mcp->mb[6] = QL21_64BITS_4THWD(sns_phys_address); + mcp->mb[7] = QL21_64BITS_3RDWD(sns_phys_address); + mcp->out_mb = MBX_7|MBX_6|MBX_3|MBX_2|MBX_1|MBX_0; + mcp->in_mb = MBX_0|MBX_1; + mcp->buf_size = buf_size; + mcp->flags = MBX_DMA_OUT|MBX_DMA_IN; + /*mcp->tov = ha->retry_count * ha->login_timeout * 2;*/ + mcp->tov = ha->login_timeout * 2; + + DEBUG11(printk("qla2x00_send_sns: retry cnt=%d ratov=%d total " + "tov=%d.\n", ha->retry_count, ha->login_timeout, mcp->tov);) + + rval = (int)qla2x00_mailbox_command(ha, mcp); + + if (rval != QL_STATUS_SUCCESS) { + /*EMPTY*/ + DEBUG(printk("qla2x00_send_sns(%ld): failed=%x mb[0]=%x " + "mb[1]=%x.\n", + ha->host_no, rval, mcp->mb[0], mcp->mb[1]);) + DEBUG2_3_11(printk("qla2x00_send_sns(%ld): failed=%x mb[0]=%x " + "mb[1]=%x.\n", + ha->host_no, rval, mcp->mb[0], mcp->mb[1]);) + } else { + /*EMPTY*/ + DEBUG11(printk("qla2x00_send_sns(%ld): done.\n", + ha->host_no);) + } + + return rval; +} + +/* + * qla2x00_login_fabric + * Issue login fabric port mailbox command. + * + * Input: + * ha = adapter block pointer. + * loop_id = device loop ID. + * domain = device domain. + * area = device area. + * al_pa = device AL_PA. + * status = pointer for return status. + * opt = command options. + * TARGET_QUEUE_LOCK must be released. + * ADAPTER_STATE_LOCK must be released. + * + * Returns: + * qla2x00 local function return status code. + * + * Context: + * Kernel context. + */ +STATIC int +qla2x00_login_fabric(adapter_state_t *ha, uint16_t loop_id, uint8_t domain, + uint8_t area, uint8_t al_pa, uint16_t *status, uint8_t opt) +{ + int rval; + mbx_cmd_t mc; + mbx_cmd_t *mcp = &mc; + + DEBUG11(printk("qla2x00_login_fabric(%ld): entered.\n", + ha->host_no);) + + mcp->mb[0] = MBC_LOGIN_FABRIC_PORT; + mcp->mb[1] = (loop_id << 8) | opt; + mcp->mb[2] = domain; + mcp->mb[3] = area << 8 | al_pa; + mcp->out_mb = MBX_3|MBX_2|MBX_1|MBX_0; + mcp->in_mb = MBX_2|MBX_1|MBX_0; + /*mcp->tov = ha->retry_count * ha->login_timeout * 2;*/ + mcp->tov = ha->login_timeout * 2; + mcp->flags = 0; + rval = (int)qla2x00_mailbox_command(ha, mcp); + + /* Return mailbox statuses. */ + if (status != NULL) { + *status++ = mcp->mb[0]; + *status++ = mcp->mb[1]; + *status = mcp->mb[2]; + } + + if (rval != QL_STATUS_SUCCESS) { + /* RLU tmp code: need to change main mailbox_command function to + * return ok even when the mailbox completion value is not + * SUCCESS. The caller needs to be responsible to interpret + * the return values of this mailbox command if we're not + * to change too much of the existing code. + */ + if (mcp->mb[0] == 0x4001 || mcp->mb[0] == 0x4002 || + mcp->mb[0] == 0x4003 || mcp->mb[0] == 0x4005 || + mcp->mb[0] == 0x4006) + rval = QL_STATUS_SUCCESS; + + /*EMPTY*/ + DEBUG2_3_11(printk("qla2x00_login_fabric(%ld): failed=%x " + "mb[1]=%x mb[2]=%x.\n", + ha->host_no, rval, mcp->mb[1], mcp->mb[2]);) + } else { + /*EMPTY*/ + DEBUG11(printk("qla2x00_login_fabric(%ld): done.\n", + ha->host_no);) + } + + return rval; +} + +/* + * qla2x00_fabric_logout + * Issue logout fabric port mailbox command. + * + * Input: + * ha = adapter block pointer. + * loop_id = device loop ID. + * TARGET_QUEUE_LOCK must be released. + * ADAPTER_STATE_LOCK must be released. + * + * Returns: + * qla2x00 local function return status code. + * + * Context: + * Kernel context. + */ +STATIC int +qla2x00_fabric_logout(adapter_state_t *ha, uint16_t loop_id) +{ + int rval; + mbx_cmd_t mc; + mbx_cmd_t *mcp = &mc; + + DEBUG11(printk("qla2x00_fabric_logout(%ld): entered.\n", + ha->host_no);) + + mcp->mb[0] = MBC_LOGOUT_FABRIC_PORT; + mcp->mb[1] = loop_id << 8; + mcp->out_mb = MBX_1|MBX_0; + mcp->in_mb = MBX_1|MBX_0; + mcp->tov = 30; + mcp->flags = 0; + rval = (int)qla2x00_mailbox_command(ha, mcp); + + if (rval != QL_STATUS_SUCCESS) { + /*EMPTY*/ + DEBUG2_3_11(printk("qla2x00_fabric_logout(%ld): failed=%x " + "mbx1=%x.\n", + ha->host_no, rval, mcp->mb[1]);) + } else { + /*EMPTY*/ + DEBUG11(printk("qla2x00_fabric_logout(%ld): done.\n", + ha->host_no);) + } + + return rval; +} + +/* + * qla2x00_full_login_lip + * Issue full login LIP mailbox command. + * + * Input: + * ha = adapter block pointer. + * TARGET_QUEUE_LOCK must be released. + * ADAPTER_STATE_LOCK must be released. + * + * Returns: + * qla2x00 local function return status code. + * + * Context: + * Kernel context. + */ +STATIC int +qla2x00_full_login_lip(adapter_state_t *ha) +{ + int rval; + mbx_cmd_t mc; + mbx_cmd_t *mcp = &mc; + + DEBUG11(printk("qla2x00_full_login_lip(%ld): entered.\n", + ha->host_no);) + + mcp->mb[0] = MBC_LIP_FULL_LOGIN; + mcp->mb[1] = 0; + mcp->mb[2] = 0; + mcp->mb[3] = 0; + mcp->out_mb = MBX_3|MBX_2|MBX_1|MBX_0; + mcp->in_mb = MBX_0; + mcp->tov = 30; + mcp->flags = 0; + rval = (int)qla2x00_mailbox_command(ha, mcp); + + if (rval != QL_STATUS_SUCCESS) { + /*EMPTY*/ + DEBUG2_3_11(printk("qla2x00_full_login_lip(%ld): failed=%x.\n", + ha->instance, rval);) + } else { + /*EMPTY*/ + DEBUG11(printk("qla2x00_full_login_lip(%ld): done.\n", + ha->host_no);) + } + + return rval; +} + +/* + * qla2x00_get_port_list + * + * Input: + * ha = adapter block pointer. + * TARGET_QUEUE_LOCK must be released. + * ADAPTER_STATE_LOCK must be released. + * + * Returns: + * qla2x00 local function return status code. + * + * Context: + * Kernel context. + */ +STATIC int +qla2x00_get_port_list(adapter_state_t *ha, port_list_entry_t *gp_list, + dma_addr_t gpl_phys_address, uint16_t opt, uint16_t *size) +{ + int rval; + mbx_cmd_t mc; + mbx_cmd_t *mcp = &mc; + + DEBUG11(printk("qla2x00_get_port_list(%ld): entered.\n", + ha->host_no);) + + if( gp_list == NULL ) { + return QL_STATUS_ERROR; + } + + mcp->mb[0] = MBC_GET_PORT_LIST; + mcp->mb[1] = opt; + mcp->mb[3] = LSW(gpl_phys_address); + mcp->mb[2] = MSW(gpl_phys_address); + mcp->mb[6] = QL21_64BITS_4THWD(gpl_phys_address); + mcp->mb[7] = QL21_64BITS_3RDWD(gpl_phys_address); + + mcp->out_mb = MBX_7|MBX_6|MBX_3|MBX_2|MBX_1|MBX_0; + mcp->in_mb = MBX_1|MBX_0; + mcp->tov = 30; + mcp->flags = 0; + rval = (int)qla2x00_mailbox_command(ha, mcp); + + if (rval != QL_STATUS_SUCCESS) { + /*EMPTY*/ + DEBUG2_3_11(printk("qla2x00_get_port_list(%ld): failed=%x.\n", + ha->host_no, rval);) + } else { + *size = mcp->mb[1]; + DEBUG11(printk("qla2x00_get_port_list(%ld): done.\n", + ha->host_no);) + } + + return rval; +} + +#if 0 /* not yet needed */ +STATIC int +qla2x00_dump_ram(adapter_state_t *ha, uint32_t risc_address, + dma_addr_t ispdump_dma, uint32_t size) +{ + int rval; + mbx_cmd_t mc; + mbx_cmd_t *mcp = &mc; + + mcp->mb[0] = MBC_DUMP_RAM; + mcp->mb[1] = risc_address & 0xffff; + mcp->mb[3] = LSW(ispdump_dma); + mcp->mb[2] = MSW(ispdump_dma); + mcp->mb[4] = QL21_64BITS_4THWD(ispdump_dma); + mcp->mb[6] = QL21_64BITS_3RDWD(ispdump_dma); + mcp->mb[7] = 0; + mcp->out_mb = MBX_7|MBX_6|MBX_4|MBX_3|MBX_2|MBX_1|MBX_0; + mcp->in_mb = MBX_0; + mcp->tov = 30; + mcp->flags = 0; + rval = qla2x00_mailbox_command(ha, mcp); + + return rval; +} +#endif + +#if MPIO_SUPPORT +/* + * qla2x00_lun_reset + * Issue lun reset mailbox command. + * + * Input: + * ha = adapter block pointer. + * loop_id = device loop ID. + * lun = lun to be reset. + * TARGET_QUEUE_LOCK must be released. + * ADAPTER_STATE_LOCK must be released. + * + * Returns: + * qla2x00 local function return status code. + * + * Context: + * Kernel context. + */ +static int +qla2x00_lun_reset(scsi_qla_host_t *ha, uint16_t loop_id, uint16_t lun) +{ + int rval; + mbx_cmd_t mc; + mbx_cmd_t *mcp = &mc; + + ENTER("qla2x00_lun_reset"); + + mcp->mb[0] = MBC_LUN_RESET; + mcp->mb[1] = loop_id << 8; + mcp->mb[2] = lun; + mcp->out_mb = MBX_2|MBX_1|MBX_0; + mcp->in_mb = MBX_0; + mcp->tov = 30; + mcp->flags = 0; + rval = qla2x00_mailbox_command(ha, mcp); + + if (rval != QLA2X00_SUCCESS) { + /*EMPTY*/ + printk(KERN_WARNING "qla2x00_lun_reset(%d): failed = %d", + (int)ha->instance, rval); + } else { + /*EMPTY*/ + LEAVE("qla2x00_lun_reset: exiting normally"); + } + + return rval; +} +#endif + +/* + * qla2x00_send_rnid_mbx + * Issue RNID ELS using mailbox command + * + * Input: + * ha = adapter state pointer. + * loop_id = loop ID of the target device. + * data_fmt = currently supports only 0xDF. + * buffer = buffer pointer. + * buf_size = size of buffer. + * mb_reg = pointer to return mailbox registers. + * + * Returns: + * qla2x00 local function return status code. + * + * Context: + * Kernel context. + */ +STATIC int +qla2x00_send_rnid_mbx(adapter_state_t *ha, uint16_t loop_id, uint8_t data_fmt, + dma_addr_t buf_phys_addr, size_t buf_size, uint16_t *mb_reg) +{ + int rval; + mbx_cmd_t mc; + mbx_cmd_t *mcp = &mc; + + DEBUG11(printk("qla2x00_send_rnid_mbx(%ld): entered.\n", + ha->host_no);) + + mcp->mb[0] = MBC_SEND_RNID_ELS; + mcp->mb[1] = (loop_id << 8 ) | data_fmt; + mcp->mb[2] = MSW(buf_phys_addr); + mcp->mb[3] = LSW(buf_phys_addr); + mcp->mb[6] = QL21_64BITS_4THWD(buf_phys_addr); + mcp->mb[7] = QL21_64BITS_3RDWD(buf_phys_addr); + mcp->out_mb = MBX_7|MBX_6|MBX_3|MBX_2|MBX_1|MBX_0; + mcp->in_mb = MBX_1|MBX_0; + mcp->buf_size = buf_size; + mcp->flags = MBX_DMA_IN; + mcp->tov = 30; + rval = (int)qla2x00_mailbox_command(ha, mcp); + + if (rval != QL_STATUS_SUCCESS) { + memcpy(mb_reg, mcp->mb, 2 * 2); /* 2 status regs */ + + DEBUG2_3_11(printk("qla2x00_send_rnid_mbx(%ld): failed=%x " + "mb[1]=%x.\n", + ha->host_no, mcp->mb[0], mcp->mb[1]);) + } else { + /*EMPTY*/ + DEBUG11(printk("qla2x00_send_rnid_mbx(%ld): done.\n", + ha->host_no);) + } + + return (rval); +} + +/* + * qla2x00_set_rnid_params_mbx + * Set RNID parameters using mailbox command + * + * Input: + * ha = adapter state pointer. + * buffer = buffer pointer. + * buf_size = size of buffer. + * mb_reg = pointer to return mailbox registers. + * + * Returns: + * qla2x00 local function return status code. + * + * Context: + * Kernel context. + */ +STATIC int +qla2x00_set_rnid_params_mbx(adapter_state_t *ha, dma_addr_t buf_phys_addr, + size_t buf_size, uint16_t *mb_reg) +{ + int rval; + mbx_cmd_t mc; + mbx_cmd_t *mcp = &mc; + + DEBUG11(printk("qla2x00_set_rnid_params_mbx(%ld): entered.\n", + ha->host_no);) + + mcp->mb[0] = MBC_SET_RNID_PARAMS; + mcp->mb[1] = 0; + mcp->mb[2] = MSW(buf_phys_addr); + mcp->mb[3] = LSW(buf_phys_addr); + mcp->mb[6] = QL21_64BITS_4THWD(buf_phys_addr); + mcp->mb[7] = QL21_64BITS_3RDWD(buf_phys_addr); + mcp->out_mb = MBX_7|MBX_6|MBX_3|MBX_2|MBX_1|MBX_0; + mcp->in_mb = MBX_1|MBX_0; + mcp->buf_size = buf_size; + mcp->flags = MBX_DMA_OUT; + mcp->tov = 30; + rval = (int)qla2x00_mailbox_command(ha, mcp); + + if (rval != QLA2X00_SUCCESS) { + memcpy(mb_reg, mcp->mb, 2 * 2); /* 2 status regs */ + + DEBUG2_3_11(printk("qla2x00_set_rnid_params_mbx(%ld): " + "failed=%x mb[1]=%x.\n", + ha->host_no, mcp->mb[0], mcp->mb[1]);) + } else { + /*EMPTY*/ + DEBUG11(printk("qla2x00_set_rnid_params_mbx(%ld): done.\n", + ha->host_no);) + } + + return (rval); +} + +/* + * qla2x00_get_rnid_params_mbx + * Get RNID parameters using mailbox command + * + * Input: + * ha = adapter state pointer. + * buffer = buffer pointer. + * buf_size = size of buffer. + * mb_reg = pointer to return mailbox registers. + * + * Returns: + * qla2x00 local function return status code. + * + * Context: + * Kernel context. + */ +STATIC int +qla2x00_get_rnid_params_mbx(adapter_state_t *ha, dma_addr_t buf_phys_addr, + size_t buf_size, uint16_t *mb_reg) +{ + int rval; + mbx_cmd_t mc; + mbx_cmd_t *mcp = &mc; + + DEBUG11(printk("qla2x00_get_rnid_params_mbx(%ld): entered.\n", + ha->host_no);) + + mcp->mb[0] = MBC_GET_RNID_PARAMS; + mcp->mb[1] = 0; + mcp->mb[2] = MSW(buf_phys_addr); + mcp->mb[3] = LSW(buf_phys_addr); + mcp->mb[6] = QL21_64BITS_4THWD(buf_phys_addr); + mcp->mb[7] = QL21_64BITS_3RDWD(buf_phys_addr); + mcp->out_mb = MBX_7|MBX_6|MBX_3|MBX_2|MBX_1|MBX_0; + mcp->in_mb = MBX_1|MBX_0; + mcp->buf_size = buf_size; + mcp->flags = MBX_DMA_IN; + mcp->tov = 30; + rval = (int)qla2x00_mailbox_command(ha, mcp); + + if (rval != QLA2X00_SUCCESS) { + memcpy(mb_reg, mcp->mb, 2 * 2); /* 2 status regs */ + + DEBUG2_3_11(printk("qla2x00_get_rnid_params_mbx(%ld): " + "failed=%x mb[1]=%x.\n", + ha->host_no, mcp->mb[0], mcp->mb[1]);) + } else { + /*EMPTY*/ + DEBUG11(printk("qla2x00_get_rnid_params_mbx(%ld): done.\n", + ha->host_no);) + } + + return (rval); +} + diff -urNp 2.4.19rc1/drivers/scsi/qla2xxx/qla_mbx.h qlogic/drivers/scsi/qla2xxx/qla_mbx.h --- 2.4.19rc1/drivers/scsi/qla2xxx/qla_mbx.h Thu Jan 1 01:00:00 1970 +++ qlogic/drivers/scsi/qla2xxx/qla_mbx.h Tue Jul 16 18:00:26 2002 @@ -0,0 +1,25 @@ +/* + * QLOGIC LINUX SOFTWARE + * + * QLogic ISP2x00 device driver for Linux 2.4.x + * Copyright (C) 2002 Qlogic Corporation + * (www.qlogic.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, 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. + * + */ +#include +#include + +#ifdef INTAPI +#include "inioct.h" +#endif + diff -urNp 2.4.19rc1/drivers/scsi/qla2xxx/qla_settings.h qlogic/drivers/scsi/qla2xxx/qla_settings.h --- 2.4.19rc1/drivers/scsi/qla2xxx/qla_settings.h Thu Jan 1 01:00:00 1970 +++ qlogic/drivers/scsi/qla2xxx/qla_settings.h Mon Jul 8 12:54:54 2002 @@ -0,0 +1,136 @@ +/****************************************************************************** + * QLOGIC LINUX SOFTWARE + * + * QLogic ISP2x00 device driver for Linux 2.4.x + * Copyright (C) 2002 Qlogic Corporation + * (www.qlogic.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, 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. + * + ******************************************************************************/ +/* + * Compile time Options: + * 0 - Disable and 1 - Enable + */ +#define LOOP_ID_FROM_ONE 0 /* loop ID start from 1 when P2P */ +#define QL2100_TARGET_MODE_SUPPORT 0 /* Target mode support */ +#define MEMORY_MAPPED_IO 0 +#define DEBUG_QLA2100_INTR 0 +#define USE_NVRAM_DEFAULTS 0 +#define DEBUG_PRINT_NVRAM 0 +#define LOADING_RISC_ACTIVITY 0 +#define AUTO_ESCALATE_RESET 0 /* Automatically escalate resets */ +#define AUTO_ESCALATE_ABORT 0 /* Automatically escalate aborts */ +#define STOP_ON_ERROR 0 /* Stop on aborts and resets */ +#define STOP_ON_RESET 0 +#define STOP_ON_ABORT 0 +#define QLA2100_COMTRACE 0 /* One char tracing */ +#define WATCH_THREADS_SIZ 0 /* watch size of pending queue */ +#define USE_PORTNAME 1 /* option to use port names for targets */ +#define LUN_MASKING 0 +#define USE_FLASH_DATABASE 0 /* Save persistent data to flash */ +#define QLA2100_PROFILE 1 +#define QLA_SCSI_VENDOR_DIR 0 /* Decode vendor specific opcodes for direction */ +#define QLA2100_LIPTEST 0 +#define REQ_TRACE 1 +#define USE_ABORT_TGT 1 /* Use Abort Target mbx cmd */ + +#ifdef FC_IP_SUPPORT +#define REG_FC4_ENABLED 1 /* Enable register_fc4 call */ +#else +#define REG_FC4_ENABLED 0 /* Enable register_fc4 call */ +#endif + +#undef TRACECODE /* include tracing code in watchdog routines */ +#define CHECK_BINDING +#define DUMP_INQ_DATA 0 /* DEBUG_QLA2100 */ + +#define DEBUG_QLA2100 0 /* For Debug of qla2x00 */ +#define DEBUG_GET_FW_DUMP 0 /* also set DEBUG_QLA2100 and +use COM1 and capture it */ +#define NO_LONG_DELAYS 0 +#define QL_TRACE_MEMORY 0 + +/* + * This enables some performance code which is not enabled + * normally: + * + * - a tasklet to process the done queue and send requests back to + * the OS. + */ +#define QLA2X_PERFORMANCE 1 + +/* The following WORD_FW_LOAD is defined in Makefile for ia-64 builds + and can also be decommented here for Word by Word confirmation of + RISC code download operation */ +/* #define WORD_FW_LOAD 0 */ + +#define MPIO_SUPPORT 0 +#define VSA 0 /* Volume Set Addressing */ + +#define PERF_CODE 0 /* enable performance code */ +#define EH_DEBUG 0 /* enable new error handling debug */ +/* + * When a lun is suspended for the "Not Ready" condition + * then it will suspend the lun for increments of 6 sec delays. + * SUSPEND_COUNT is that count. + */ +#define SUSPEND_COUNT 10 /* 6 secs * 10 retries = 60 secs */ +#define HSG80_SUSPEND_COUNT 300 /* 6 secs * 300 retries = 30 mins */ +#define HSG80_PORT_RETRY_COUNT 64 /* for COMPAQ-HSG80 */ + +/* Failover options */ +#if MPIO_SUPPORT +#define MAX_RECOVERYTIME 10 /* Max suspend time for a lun recovery time */ +#define MAX_FAILBACKTIME 5 /* (60) Max suspend time before failing back */ +#endif /* end of MPIO_SUPPORT */ + +#if MPIO_SUPPORT +#define QLA_CMD_TIMER_DELTA 3 +#else +#define QLA_CMD_TIMER_DELTA 2 +#endif + +/* + * Under heavy I/O on SMP systems (8-way and IA64) with many command + * timeouts, the scsi mid-layer will sometimes not wake-up the + * error-handling thread when an error-condition occurs. + * + * This workaround if enabled will wakeup the error-handler if it is + * stuck in this condition for sixty seconds. + * + */ +#undef EH_WAKEUP_WORKAROUND +#undef EH_WAKEUP_WORKAROUND_REDHAT + +/* + * Defines the time in seconds that + * the driver extends the command timeout + * to get around the problem where the + * mid-layer only allows 5 retries for commands + * that return BUS_BUSY + */ +#define EXTEND_CMD_TIMEOUT 60 + +/* + * We need to hardcode this value since the firmware + * does not allow us to retrieve the maximum number of + * IOCBs available during initializtion. + * + * Factors that affect this value include the amount of + * memory on-board (HBA) and firmware IP support. + * + */ +#define MAX_IOCBS_AVAILBALE 600 + +#include "qla_version.h" + + diff -urNp 2.4.19rc1/drivers/scsi/qla2xxx/qla_vendor.c qlogic/drivers/scsi/qla2xxx/qla_vendor.c --- 2.4.19rc1/drivers/scsi/qla2xxx/qla_vendor.c Thu Jan 1 01:00:00 1970 +++ qlogic/drivers/scsi/qla2xxx/qla_vendor.c Mon Jul 8 12:05:21 2002 @@ -0,0 +1,190 @@ +/****************************************************************************** + * QLOGIC LINUX SOFTWARE + * + * QLogic ISP2x00 device driver for Linux 2.4.x + * Copyright (C) 2002 Qlogic Corporation + * (www.qlogic.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, 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. + * + ******************************************************************************/ + +/* + * vendor specific op codes. +*/ +#define UCSCSI_DCMD 0x20 /* vendor specific command */ +#define DAC_CDB_LEN 12 +#define DAC_SENSE_LEN 64 + +#define DACMD_WRITE_CONF_ONDISK 0x4B +#define DACMD_WRITE_CONFIG 0x06 +#define DACMD_WRITE_CONF2 0x3C +#define DACMD_WRITE_CONFLABEL 0x49 /* Write configuration label */ +#define DACMD_WRITE_CONFIG_V3x 0x4F +#define DACMD_ADD_CONFIG_V2x 0x18 +#define DACMD_ADD_CONFIG_V3x 0x4C +#define DACMD_STORE_IMAGE 0x21 +#define DACMD_ADD_CAPACITY 0x2A /* add physical drives to existing array */ +#define DACMD_WRITE_IOPORT 0x3A /* write port B */ +#define DACMD_S2S_WRITEFULLCONF 0x60 /* write full configuration */ +#define DACMD_S2S_ADDFULLCONF 0x62 /* add full configuration */ +#define DACMD_S2S_WRITELUNMAP_OLD 0x58 /* write LUN map information */ +#define DACMD_S2S_WRITELUNMAP 0xD2 /* Write LUN MAP Information */ +#define DACMD_S2S_WRITE_IOPORT 0x66 /* write expanded IO port */ +#define DACMD_WRITE_V3x 0x34 /* write data from plain memory */ +#define DACMD_S2S_WRITESIG 0x4D /* write signature information */ + +#ifndef s08bits +#define s08bits char +#define s16bits short +#define s32bits int +#define u08bits unsigned s08bits +#define u16bits unsigned s16bits +#define u32bits unsigned s32bits +#endif + +typedef struct dac_command +{ + u08bits mb_Command; /* Mail Box register 0 */ + u08bits mb_CmdID; /* Mail Box register 1 */ + u08bits mb_ChannelNo; /* Mail Box register 2 */ + u08bits mb_TargetID; /* Mail Box register 3 */ + u08bits mb_DevState; /* Mail Box register 4 */ + u08bits mb_MailBox5; /* Mail Box register 5 */ + u08bits mb_MailBox6; /* Mail Box register 6 */ + u08bits mb_SysDevNo; /* Mail Box register 7 */ + u32bits mb_Datap; /* Mail Box register 8-B */ + u08bits mb_MailBoxC; /* Mail Box register C */ + u08bits mb_StatusID; /* Mail box register D */ + u16bits mb_Status; /* Mail Box Register E,F */ +} +dac_command_t; + +typedef struct dac_scdb +{ + u08bits db_ChannelTarget; /* ChannelNo 7..4 & Target 3..0 */ + u08bits db_DATRET; /* different bits, see below */ + u16bits db_TransferSize; /* Request/done size in bytes */ + u32bits db_PhysDatap; /* Physical addr in host memory */ + u08bits db_CdbLen; /* 6, 10 or 12 */ + u08bits db_SenseLen; /* If returned from DAC (<= 64) */ + u08bits db_Cdb[DAC_CDB_LEN]; /* The CDB itself */ + u08bits db_SenseData[DAC_SENSE_LEN];/* Result of request sense */ + u08bits db_StatusIn; /* SCSI status returned */ + u08bits db_Reserved1; +} +dac_scdb_t; + +typedef struct dga_scdb +{ + u08bits dsc_osreq[1024]; /* OS related buffer:sizeof(mdac_req_t) */ + + u08bits dsc_familyctlno; /* Controller number within family */ + u08bits dsc_ctlno; /* Controller number */ + u08bits dsc_chno; /* Channel number */ + u08bits dsc_tgt; /* target ID */ + + u08bits dsc_lun; /* Lun ID */ + u08bits dsc_rebuildflag; /* current rebuild flag */ + u16bits dsc_status; /* completion status */ + + u08bits dsc_scsiversion; /* SCSI protocol version */ + u08bits dsc_hostctlno; /* host system controller number */ + u16bits dsc_reqsenseseqno; /* request sense sequence number */ + + u32bits dsc_events; /* # events at start */ + + u32bits dsc_pollwaitchan; /* sleep/wakeup channel */ + u32bits dsc_poll; /* polling value, if =0 op complete */ + + struct dga_ctldev *dsc_ctp; /* pointer back to controller */ + void *dsc_pdp; /* pointer back to physical device */ + void *dsc_ldp; /* pointer back to logical device */ + void (*dsc_intr)(void); /* completion call back function */ + + /* all save functions are used in S2S */ + u08bits dsc_savedcdb[DAC_CDB_LEN];/* 12 bytes saved CDB from SCSI CDB */ + u32bits (*dsc_statsintr)(struct dga_scdb *); /* statistics completion function */ + + void (*dsc_savedintr)(void); /* completion call back function */ + void *dsc_savedctp; /* pointer back to controller */ + u08bits dsc_savedfamilyctlno; /* Controller number within family */ + u08bits dsc_savedctlno; /* Controller number */ + u08bits dsc_savedchno; /* Channel number */ + u08bits dsc_savedtgt; /* target ID */ + + u08bits dsc_savedlun; /* Lun ID */ + u08bits dsc_savedcdblen; /* saved CDB len for SCDB */ + u08bits dsc_scanmode; + u08bits dsc_pageno; /* pageno for data > 4K */ + u32bits dsc_residue; + u32bits dsc_Reserved4; + + dac_command_t dsc_dcmd; /* DCMD space, 16 bytes */ + dac_scdb_t dsc_scdb; /* SCDB space */ + u32bits dsc_EventSeqNo; + u32bits dsc_ReqSenseNo; + + u32bits dsc_Reserved64[16]; /* leave this for OLD SCO driver bug */ + + u08bits dsc_data[256]; /* Rest is data */ +} +dga_scdb_t; + +/* +* qla2100_set_scsi_direction +* This routine will set the proper direction for vendor specific +* commands. +* +* Note: Vendors should modify this routine to set the proper +* direction of the transfer if they used vendor specific commands. +* +* Input: +* ha = adapter block pointer. +* sp = SCSI Request Block structure pointer. +* +* Returns: +* 0 = success, was able to issue command. +*/ +static void +qla2100_set_vend_direction(scsi_qla_host_t *ha, + Scsi_Cmnd *cmd, cmd_entry_t *pkt) +{ + dga_scdb_t *dsp = (dga_scdb_t *) cmd; + + if( cmd->data_cmnd[0] == UCSCSI_DCMD ) { + switch( dsp->dsc_dcmd.mb_Command ) { + case DACMD_WRITE_CONF_ONDISK: + case DACMD_WRITE_CONFIG: + case DACMD_WRITE_CONF2: + case DACMD_WRITE_CONFLABEL: + case DACMD_WRITE_CONFIG_V3x: + case DACMD_ADD_CONFIG_V2x: + case DACMD_ADD_CONFIG_V3x: + case DACMD_STORE_IMAGE: + case DACMD_ADD_CAPACITY: + case DACMD_WRITE_IOPORT: + case DACMD_S2S_WRITEFULLCONF: + case DACMD_S2S_ADDFULLCONF: + case DACMD_S2S_WRITELUNMAP_OLD: + case DACMD_S2S_WRITELUNMAP: + case DACMD_S2S_WRITE_IOPORT: + case DACMD_WRITE_V3x: + case DACMD_S2S_WRITESIG: + pkt->control_flags |= BIT_6; + break; + default: + pkt->control_flags |= BIT_5; + } + } else + pkt->control_flags |= BIT_5; +} + diff -urNp 2.4.19rc1/drivers/scsi/qla2xxx/qla_version.h qlogic/drivers/scsi/qla2xxx/qla_version.h --- 2.4.19rc1/drivers/scsi/qla2xxx/qla_version.h Thu Jan 1 01:00:00 1970 +++ qlogic/drivers/scsi/qla2xxx/qla_version.h Mon Jul 8 12:05:21 2002 @@ -0,0 +1,35 @@ + +/****************************************************************************** + * QLOGIC LINUX SOFTWARE + * + * QLogic ISP2x00 device driver for Linux 2.4.x + * Copyright (C) 2002 Qlogic Corporation + * (www.qlogic.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, 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. + * + ******************************************************************************/ +/* + * Driver version + */ +#if DEBUG_QLA2100 +#if MPIO_SUPPORT +#define QLA2100_VERSION "6.1b2-fo-debug" +#else +#define QLA2100_VERSION "6.1b2-debug" +#endif +#else +#if MPIO_SUPPORT +#define QLA2100_VERSION "6.1b2-fo" +#else +#define QLA2100_VERSION "6.1b2" +#endif +#endif diff -urNp 2.4.19rc1/drivers/scsi/qla2xxx/qlfo.h qlogic/drivers/scsi/qla2xxx/qlfo.h --- 2.4.19rc1/drivers/scsi/qla2xxx/qlfo.h Thu Jan 1 01:00:00 1970 +++ qlogic/drivers/scsi/qla2xxx/qlfo.h Mon Jul 8 12:05:21 2002 @@ -0,0 +1,413 @@ +/****************************************************************************** + * QLOGIC LINUX SOFTWARE + * + * QLogic ISP2x00 device driver for Linux 2.4.x + * Copyright (C) 2002 Qlogic Corporation + * (www.qlogic.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, 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. + * + ******************************************************************************/ + +/* + * San/Device Management Failover Ioctl Header + * File is created to adhere to Solaris requirement using 8-space tabs. + * + * !!!!! PLEASE DO NOT REMOVE THE TABS !!!!! + * !!!!! PLEASE NO SINGLE LINE COMMENTS: // !!!!! + * !!!!! PLEASE NO MORE THAN 80 CHARS PER LINE !!!!! + * + * Revision History: + * + * Rev. 0.00 August 8, 2000 + * WTR - Created. + * + * Rev. 0.01 August 8, 2000 + * WTR - Made size of HbaInstance fields consistant as UINT8. + * Made command codes as 300 upward to be consistant with definitions + * in ExIoct.h. + * Rev. 0.01 October 3, 2000 + * TLE - Exclusion of ExIoct.h + * + * Rev. 0.01 October 6, 2000 + * TLE - Made size of HbaInstance fields UINT8 + * + * Rev. 0.01 October 10, 2000 + * TLE - Add _FO_DRIVER_VERSION data structure + */ + + + +#ifndef _FO_H +#define _FO_H + +/* + * *********************************************************************** + * X OS type definitions + * *********************************************************************** + */ +#ifdef _MSC_VER /* NT */ + +#pragma pack(1) +#include "qlfont.h" + +#elif defined(linux) /* Linux */ + +#include "qlfoln.h" + +#elif defined(sun) || defined(__sun) /* Solaris */ + +#include "qlfoso.h" + +#endif + +#define SDM_DEF_MAX_DEVICES 16 +#define SDM_DEF_MAX_PATHS_PER_TARGET 4 +#define SDM_DEF_MAX_TARGETS_PER_DEVICE 4 +#define SDM_DEF_MAX_PATHS_PER_DEVICE (SDM_DEF_MAX_PATHS_PER_TARGET * SDM_DEF_MAX_TARGETS_PER_DEVICE) + +#define FO_MAX_LUNS_PER_DEVICE MAX_LUNS_OS +#define FO_MAX_PATHS (SDM_DEF_MAX_PATHS_PER_DEVICE * SDM_DEF_MAX_DEVICES) +#define FO_MAX_ADAPTERS 32 +#define FO_ADAPTER_ALL 0xFF +#define FO_DEF_WWN_SIZE 8 +#define FO_MAX_GEN_INFO_STRING_LEN 32 + + +#define FO_NOTIFY_TYPE_NONE 0 +#define FO_NOTIFY_TYPE_LUN_RESET 1 +#define FO_NOTIFY_TYPE_CDB 2 +#define FO_NOTIFY_TYPE_LOGOUT_OR_LUN_RESET 3 +#define FO_NOTIFY_TYPE_LOGOUT_OR_CDB 4 + +#define FO_NOTIFY_TYPE_MIN FO_NOTIFY_TYPE_NONE +#define FO_NOTIFY_TYPE_MAX FO_NOTIFY_TYPE_LOGOUT_OR_CDB +#define FO_NOTIFY_TYPE_DEF FO_NOTIFY_TYPE_NONE + +#define FO_NOTIFY_CDB_LENGTH_MIN 6 +#define FO_NOTIFY_CDB_LENGTH_MAX 16 + +/* + * IOCTL Commands + */ + +#define FO_CC_GET_PARAMS FO_CC_GET_PARAMS_OS +#define FO_CC_SET_PARAMS FO_CC_SET_PARAMS_OS +#define FO_CC_GET_PATHS FO_CC_GET_PATHS_OS +#define FO_CC_SET_CURRENT_PATH FO_CC_SET_CURRENT_PATH_OS +#define FO_CC_GET_HBA_STAT FO_CC_GET_HBA_STAT_OS +#define FO_CC_RESET_HBA_STAT FO_CC_RESET_HBA_STAT_OS +#define FO_CC_GET_LUN_DATA FO_CC_GET_LUN_DATA_OS +#define FO_CC_SET_LUN_DATA FO_CC_SET_LUN_DATA_OS +#define FO_CC_GET_TARGET_DATA FO_CC_GET_TARGET_DATA_OS +#define FO_CC_SET_TARGET_DATA FO_CC_SET_TARGET_DATA_OS +#define FO_CC_GET_FO_DRIVER_VERSION FO_CC_GET_FO_DRIVER_VERSION_OS + + +/* Systemwide failover parameters. */ + +typedef struct _FO_PARAMS +{ + UINT32 InspectionInterval; /* Timer interval to check for failover.*/ + UINT8 MaxPathsPerDevice; /* Max paths to any single device. */ + UINT8 MaxRetriesPerPath; /* Max retries on a path before */ + + /* Failover. */ + UINT8 MaxRetriesPerIo; /* Max retries per i/o request. */ + UINT8 Reserved1; + UINT32 Flags; /* Control flags. */ + UINT8 DeviceErrorThreshold; /* Max device errors. */ + UINT8 DeviceTimeoutThreshold; /* Max device timeouts.*/ + UINT8 FrameErrorThreshold; /* Max frame errors.*/ + UINT8 LinkErrorThreshold; /* Max link errors.*/ + UINT32 Reserved2[4]; /* Spares.*/ + + /* Load balancing parameters.*/ + + UINT8 RollingAverageIntervals;/* Intervals to sum for rolling average.*/ + UINT8 MaxDevicesToMigrate; /* Max devices to migrate in any interval.*/ + UINT8 BalanceMethod; /* Method to use for load balancing.*/ + UINT8 Reserved3; /* Memory alignment.*/ + + UINT16 LoadShareMinPercentage; /* Load balancing parameter.*/ + UINT16 LoadShareMaxPercentage; /* Load balancing parameter.*/ + + /* Failover notify parameters. */ + + UINT8 FailoverNotifyType; /* Type of notification. */ + UINT8 FailoverNotifyCdbLength;/* Length of notification CDB. */ + UINT16 Reserved4; + UINT8 FailoverNotifyCdb[16]; /* CDB if notification by CDB. */ + UINT32 Reserved5; + +} +FO_PARAMS, *PFO_PARAMS, SysFoParams_t, *SysFoParams_p; + +extern SysFoParams_t qla_fo_params; + +typedef struct _FO_GET_PATHS +{ + UINT8 HbaInstance; + EXT_DEST_ADDR HbaAddr; /* Lun field is ignored */ + UINT32 Reserved[5]; + +} +FO_GET_PATHS, *PFO_GET_PATHS; + + +typedef struct _FO_PATH_ENTRY +{ + UINT8 Reserved1; + UINT8 Visible; /* Path is visible path. */ + UINT8 Priority; + UINT8 Reserved2; + UINT8 HbaInstance; + UINT8 PortName[EXT_DEF_WWN_NAME_SIZE]; + UINT16 Reserved3; + UINT32 Reserved[3]; + +} +FO_PATH_ENTRY, *PFO_PATH_ENTRY; + + +typedef struct _FO_PATHS_INFO +{ + /* These first fields in the output buffer are specifically the + * same as the fields in the input buffer. This is because the + * same system buffer holds both, and this allows us to reference + * the input buffer parameters while filling the output buffer. */ + + UINT8 HbaInstance; + EXT_DEST_ADDR HbaAddr; + UINT32 Reserved[5]; + UINT8 PathCount; /* Number of Paths in PathEntry array */ + UINT8 Reserved3; + UINT8 VisiblePathIndex; /* Which index has BOOLEAN "visible" flag set */ + UINT8 Reserved4; + + UINT8 CurrentPathIndex[FO_MAX_LUNS_PER_DEVICE]; /* Current Path Index for each Lun */ + + FO_PATH_ENTRY PathEntry[FO_MAX_PATHS]; + + UINT32 Reserved5[4]; + +} +FO_PATHS_INFO, *PFO_PATHS_INFO; + +typedef struct _FO_SET_CURRENT_PATH +{ + UINT8 HbaInstance; + EXT_DEST_ADDR HbaAddr; + UINT8 NewCurrentPathIndex; /* Path index to make current path. */ + UINT8 FailoverType; /* Reason for failover. */ + UINT32 Reserved[3]; + +} +FO_SET_CURRENT_PATH, *PFO_SET_CURRENT_PATH; + +typedef union _FO_PATHS { + FO_GET_PATHS input; + FO_SET_CURRENT_PATH set + ; + FO_PATHS_INFO info; +} FO_PATHS; + + +typedef struct _FO_HBA_STAT_INPUT +{ + /* The first field in the input buffer is specifically the + * same as the field in the output buffer. This is because the + * same system buffer holds both, and this allows us to reference + * the input buffer parameters while filling the output buffer. */ + + UINT8 HbaInstance; /* Port number or ADAPTER_ALL. */ + UINT8 Reserved1[3]; + UINT32 Reserved2[7]; + +} +FO_HBA_STAT_INPUT, *PFO_HBA_STAT_INPUT; + + +typedef struct _FO_HBA_STAT_ENTRY +{ + UINT8 HbaInstance; + UINT8 Reserved1[3]; + UINT32 Reserved2; + UINT64 IosRequested; /* IOs requested on this adapter. */ + UINT64 BytesRequested; /* Bytes requested on this adapter. */ + UINT64 IosExecuted; /* IOs executed on this adapter. */ + UINT64 BytesExecuted; /* Bytes executed on this adapter. */ + UINT32 Reserved3[22]; + +} +FO_HBA_STAT_ENTRY, *PFO_HBA_STAT_ENTRY; + + +typedef struct _FO_HBA_STAT_INFO +{ + /* The first fields in the output buffer is specifically the + * same as the field in the input buffer. This is because the + * same system buffer holds both, and this allows us to reference + * the input buffer parameters while filling the output buffer. */ + + UINT8 HbaInstance; /* Port number or ADAPTER_ALL. */ + UINT8 HbaCount; /* Count of adapters returned. */ + UINT8 Reserved1[2]; + UINT32 Reserved2[7]; + + FO_HBA_STAT_ENTRY StatEntry[FO_MAX_ADAPTERS]; + +} +FO_HBA_STAT_INFO, *PFO_HBA_STAT_INFO; + + + +/* The "external" LUN data refers to the LUNs as represented in our + configuration utility, where one physical target can support up to + 2048 LUNs, which are mapped around internally. This is in comparison + to an "internal" LUN data, which is 256 LUNs, after being mapped + inside the driver to multiple target slots. */ + +#define EXTERNAL_LUN_COUNT 2048 + +/* Structure as used in the IOCTL.*/ + +typedef struct _FO_EXTERNAL_LUN_DATA_ENTRY +{ + UINT8 NodeName[EXT_DEF_WWN_NAME_SIZE]; + UINT8 PortName[EXT_DEF_WWP_NAME_SIZE]; //sri + + UINT16 LunCount; /* Entries in Lun Data array. */ + UINT8 TargetId; + UINT8 Dev_No; + UINT32 Reserved3; + UINT32 Reserved4; + UINT32 Reserved5; /* Pad to 32-byte header.*/ + + UINT8 Data[EXTERNAL_LUN_COUNT]; +} +FO_EXTERNAL_LUN_DATA_ENTRY, *PFO_EXTERNAL_LUN_DATA_ENTRY; + +// Structure as it is stored in the NT registry. + +typedef struct _FO_LUN_DATA_LIST +{ + UINT16 Version; /* Should be LUN_DATA_REGISTRY_VERSION.*/ + UINT16 EntryCount; /* Count of variable entries following.*/ + UINT32 Reserved1; + UINT32 Reserved2; + UINT32 Reserved3; + UINT32 Reserved4; + UINT32 Reserved5; + UINT32 Reserved6; + UINT32 Reserved7; /* Pad to 32-byte header.*/ + + FO_EXTERNAL_LUN_DATA_ENTRY DataEntry[1]; /* Variable-length data.*/ + +} +FO_LUN_DATA_LIST, *PFO_LUN_DATA_LIST; + +typedef struct _FO_LUN_DATA_INPUT +{ + /* The first field in the input buffer is specifically the + * same as the field in the output buffer. This is because the + * same system buffer holds both, and this allows us to reference + * the input buffer parameters while filling the output buffer. */ + + UINT8 HbaInstance; /* Port number */ + UINT8 Reserved1[3]; + UINT32 Reserved2[7]; + +} +FO_LUN_DATA_INPUT, *PFO_LUN_DATA_INPUT; + +typedef struct _FO_REQUEST_ADDR +{ + UINT8 HbaInstance; + EXT_DEST_ADDR TargetAddr; + UINT32 Reserved[5]; + +} +FO_REQUEST_ADDR, *PFO_REQUEST_ADDR; + +typedef struct _FO_TARGET_DATA_INPUT +{ + UINT8 HbaInstance; /* Port number */ + UINT8 Reserved1[3]; + UINT32 Reserved2[7]; + +} +FO_TARGET_DATA_INPUT, *PFO_TARGET_DATA_INPUT; + +#define FO_INTERNAL_LUN_COUNT 256 +#define FO_INTERNAL_LUN_BITMASK_BYTES (FO_INTERNAL_LUN_COUNT / 8) + +typedef struct _FO_INTERNAL_LUN_BITMASK +{ + UINT8 Bitmask[FO_INTERNAL_LUN_BITMASK_BYTES]; +} +FO_INTERNAL_LUN_BITMASK, *PFO_INTERNAL_LUN_BITMASK; + +typedef struct _FO_DEVICE_DATA +{ + UINT32 DeviceFlags; /* Device flags */ + UINT16 LoopId; /* Current loop ID */ + UINT16 BaseLunNumber; /* Base LUN number */ + UINT8 WorldWideName[8]; /* World Wide Name for device */ + UINT8 PortId[3]; /* Port ID */ + UINT8 MultipathControl; /* Multipath control byte. */ + UINT16 DeviceState; /* Device state */ + UINT16 LoginRetryCount; /* Number of login retries */ + UINT8 PortName[8]; /* Port name for device */ + UINT16 TimeoutCount; /* Command timeout count */ + UINT8 TargetId; + UINT8 Dev_No; + FO_INTERNAL_LUN_BITMASK LunBitmask; /* LUN bitmask */ +} +FO_DEVICE_DATA, *PFO_DEVICE_DATA; + +typedef struct _FO_DEVICE_DATABASE +{ + FO_DEVICE_DATA DeviceData[256]; +} +FO_DEVICE_DATABASE, *PFO_DEVICE_DATABASE; + +typedef struct _FO_DRIVER_VERSION +{ + // Numeric version. + UINT8 Version; // Major version number. + UINT8 Revision; // Minor version number. + UINT8 Subrevision; // Subminor version number. + UINT8 Reserved1; // Memory alignment. + + // String version. + UINT8 VersionStr[FO_MAX_GEN_INFO_STRING_LEN]; + + // Reserved fields. + UINT32 Reserved2[16]; + +} +FO_DRIVER_VERSION, *PFO_DRIVER_VERSION; + + +#define FO_LUN_DATA_LIST_MIN_ENTRIES 1 +#define FO_LUN_DATA_LIST_MAX_ENTRIES 256 +#ifdef _WIN64 +#define FO_LUN_DATA_LIST_HEADER_SIZE 32 +#else +#define FO_LUN_DATA_LIST_HEADER_SIZE offsetof(FO_LUN_DATA_LIST, DataEntry) +#endif + +#define FO_LUN_DATA_LIST_MIN_SIZE (FO_LUN_DATA_LIST_HEADER_SIZE + (sizeof(FO_EXTERNAL_LUN_DATA_ENTRY) * FO_LUN_DATA_LIST_MIN_ENTRIES)) +#define FO_LUN_DATA_LIST_MAX_SIZE (FO_LUN_DATA_LIST_HEADER_SIZE + (sizeof(FO_EXTERNAL_LUN_DATA_ENTRY) * FO_LUN_DATA_LIST_MAX_ENTRIES)) + + +#endif /* ifndef _FO_H */ diff -urNp 2.4.19rc1/drivers/scsi/qla2xxx/qlfolimits.h qlogic/drivers/scsi/qla2xxx/qlfolimits.h --- 2.4.19rc1/drivers/scsi/qla2xxx/qlfolimits.h Thu Jan 1 01:00:00 1970 +++ qlogic/drivers/scsi/qla2xxx/qlfolimits.h Mon Jul 8 12:05:21 2002 @@ -0,0 +1,92 @@ +/****************************************************************************** + * QLOGIC LINUX SOFTWARE + * + * QLogic ISP2x00 device driver for Linux 2.4.x + * Copyright (C) 2002 Qlogic Corporation + * (www.qlogic.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, 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. + * + ******************************************************************************/ + +/* + * Minimums, maximums, defaults, and other definitions for MC_PARAMS. + */ + +#define FO_INSPECTION_INTERVAL_MIN 0 +#define FO_INSPECTION_INTERVAL_MAX 1000000 +#define FO_INSPECTION_INTERVAL_DEF 600 + +#define FO_MAX_PATHS_PER_DEVICE_MIN 1 +#define FO_MAX_PATHS_PER_DEVICE_MAX 4 +#define FO_MAX_PATHS_PER_DEVICE_DEF 4 + +#define FO_MAX_RETRIES_PER_PATH_MIN 1 +#define FO_MAX_RETRIES_PER_PATH_MAX 8 +#define FO_MAX_RETRIES_PER_PATH_DEF 3 + +#define FO_MAX_RETRIES_PER_IO_MIN ((FO_MAX_PATHS_PER_DEVICE_MIN * FO_MAX_RETRIES_PER_PATH_MIN) + 1) +#define FO_MAX_RETRIES_PER_IO_MAX ((FO_MAX_PATHS_PER_DEVICE_MAX * FO_MAX_RETRIES_PER_PATH_MAX) + 1) +#define FO_MAX_RETRIES_PER_IO_DEF ((FO_MAX_PATHS_PER_DEVICE_DEF * FO_MAX_RETRIES_PER_PATH_DEF) + 1) + +#define FO_DEVICE_ERROR_THRESHOLD_MIN 1 +#define FO_DEVICE_ERROR_THRESHOLD_MAX 255 +#define FO_DEVICE_ERROR_THRESHOLD_DEF 4 + +#define FO_DEVICE_TIMEOUT_THRESHOLD_MIN 1 +#define FO_DEVICE_TIMEOUT_THRESHOLD_MAX 255 +#define FO_DEVICE_TIMEOUT_THRESHOLD_DEF 4 + +#define FO_FRAME_ERROR_THRESHOLD_MIN 1 +#define FO_FRAME_ERROR_THRESHOLD_MAX 255 +#define FO_FRAME_ERROR_THRESHOLD_DEF 4 + +#define FO_LINK_ERROR_THRESHOLD_MIN 1 +#define FO_LINK_ERROR_THRESHOLD_MAX 255 +#define FO_LINK_ERROR_THRESHOLD_DEF 4 + +#define FO_ROLLING_AVERAGE_INTERVALS_MIN 1 +#define FO_ROLLING_AVERAGE_INTERVALS_MAX 10 +#define FO_ROLLING_AVERAGE_INTERVALS_DEF 1 + +#define FO_MAX_DEVICES_TO_MIGRATE_MIN 0 +#define FO_MAX_DEVICES_TO_MIGRATE_MAX 255 +#define FO_MAX_DEVICES_TO_MIGRATE_DEF 4 + +#define FO_BALANCE_METHOD_NONE 0 +#define FO_BALANCE_METHOD_IOS 1 +#define FO_BALANCE_METHOD_MBS 2 + +#define FO_BALANCE_METHOD_MIN FO_BALANCE_METHOD_NONE +#define FO_BALANCE_METHOD_MAX FO_BALANCE_METHOD_MBS +#define FO_BALANCE_METHOD_DEF FO_BALANCE_METHOD_IOS + +#define FO_LOAD_SHARE_MIN_PERCENTAGE_MIN 25 +#define FO_LOAD_SHARE_MIN_PERCENTAGE_MAX 99 +#define FO_LOAD_SHARE_MIN_PERCENTAGE_DEF 75 + +#define FO_LOAD_SHARE_MAX_PERCENTAGE_MIN 101 +#define FO_LOAD_SHARE_MAX_PERCENTAGE_MAX 500 +#define FO_LOAD_SHARE_MAX_PERCENTAGE_DEF 150 + +#define FO_NOTIFY_TYPE_NONE 0 +#define FO_NOTIFY_TYPE_LUN_RESET 1 +#define FO_NOTIFY_TYPE_CDB 2 +#define FO_NOTIFY_TYPE_LOGOUT_OR_LUN_RESET 3 +#define FO_NOTIFY_TYPE_LOGOUT_OR_CDB 4 + +#define FO_NOTIFY_TYPE_MIN FO_NOTIFY_TYPE_NONE +#define FO_NOTIFY_TYPE_MAX FO_NOTIFY_TYPE_LOGOUT_OR_CDB +#define FO_NOTIFY_TYPE_DEF FO_NOTIFY_TYPE_NONE + +#define FO_NOTIFY_CDB_LENGTH_MIN 6 +#define FO_NOTIFY_CDB_LENGTH_MAX 16 + diff -urNp 2.4.19rc1/drivers/scsi/qla2xxx/qlfoln.h qlogic/drivers/scsi/qla2xxx/qlfoln.h --- 2.4.19rc1/drivers/scsi/qla2xxx/qlfoln.h Thu Jan 1 01:00:00 1970 +++ qlogic/drivers/scsi/qla2xxx/qlfoln.h Mon Jul 8 12:05:21 2002 @@ -0,0 +1,76 @@ +/****************************************************************************** + * QLOGIC LINUX SOFTWARE + * + * QLogic ISP2x00 device driver for Linux 2.4.x + * Copyright (C) 2002 Qlogic Corporation + * (www.qlogic.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, 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. + * + ******************************************************************************/ + + +#define QLMULTIPATH_MAGIC 'y' +/********************************************************/ +/* Failover ioctl command codes range from 0xc0 to 0xdf */ +/********************************************************/ + + +#define FO_CC_GET_PARAMS_OS \ + _IOWR(QLMULTIPATH_MAGIC, 200, sizeof(EXT_IOCTL)) /* 0xc8 */ +#define FO_CC_SET_PARAMS_OS \ + _IOWR(QLMULTIPATH_MAGIC, 201, sizeof(EXT_IOCTL)) /* 0xc9 */ +#define FO_CC_GET_PATHS_OS \ + _IOWR(QLMULTIPATH_MAGIC, 202, sizeof(EXT_IOCTL)) /* 0xca */ +#define FO_CC_SET_CURRENT_PATH_OS \ + _IOWR(QLMULTIPATH_MAGIC, 203, sizeof(EXT_IOCTL)) /* 0xcb */ +#define FO_CC_GET_HBA_STAT_OS \ + _IOWR(QLMULTIPATH_MAGIC, 204, sizeof(EXT_IOCTL)) /* 0xcc */ +#define FO_CC_RESET_HBA_STAT_OS \ + _IOWR(QLMULTIPATH_MAGIC, 205, sizeof(EXT_IOCTL)) /* 0xcd */ +#define FO_CC_GET_LUN_DATA_OS \ + _IOWR(QLMULTIPATH_MAGIC, 206, sizeof(EXT_IOCTL)) /* 0xce */ +#define FO_CC_SET_LUN_DATA_OS \ + _IOWR(QLMULTIPATH_MAGIC, 207, sizeof(EXT_IOCTL)) /* 0xcf */ +#define FO_CC_GET_TARGET_DATA_OS \ + _IOWR(QLMULTIPATH_MAGIC, 208, sizeof(EXT_IOCTL)) /* 0xd0 */ +#define FO_CC_SET_TARGET_DATA_OS \ + _IOWR(QLMULTIPATH_MAGIC, 209, sizeof(EXT_IOCTL)) /* 0xd1 */ +#define FO_CC_GET_FO_DRIVER_VERSION_OS \ + _IOWR(QLMULTIPATH_MAGIC, 210, sizeof(EXT_IOCTL)) /* 0xd2 */ + + +#define BOOLEAN uint8_t +#define MAX_LUNS_OS 256 + +/* Driver attributes bits */ +#define DRVR_FO_ENABLED 0x1 /* bit 0 */ + + +/* + * Overrides for Emacs so that we almost follow Linus's tabbing style. + * Emacs will notice this stuff at the end of the file and automatically + * adjust the settings for this buffer only. This must remain at the end + * of the file. + * --------------------------------------------------------------------------- + * Local variables: + * c-indent-level: 2 + * c-brace-imaginary-offset: 0 + * c-brace-offset: -2 + * c-argdecl-indent: 2 + * c-label-offset: -2 + * c-continued-statement-offset: 2 + * c-continued-brace-offset: 0 + * indent-tabs-mode: nil + * tab-width: 8 + * End: + */ + diff -urNp 2.4.19rc1/drivers/scsi/qla2xxx/release.txt qlogic/drivers/scsi/qla2xxx/release.txt --- 2.4.19rc1/drivers/scsi/qla2xxx/release.txt Thu Jan 1 01:00:00 1970 +++ qlogic/drivers/scsi/qla2xxx/release.txt Mon Jul 8 12:05:21 2002 @@ -0,0 +1,44 @@ + + QLogic QLA2200 and QLA2300 Linux Driver + + Release Notes + ============= + +Version 6.1b1 June 17, 2002 + ++**********************************************+ +* Features supported by this version of driver * ++**********************************************+ +o FCAL - direct attach +o Point-to-point +o Fabric support +o Initiator mode only +o Fault recovery on down loops +o Persistent binding - HBA node name valid +o Linux 2.4.x Kernel Support +o IPFC support + ++********************************+ +* Changes From Previous Releases * ++********************************+ +o Integrate IP backdoor updates. +o Add CACHE_LINE flush before updating request-ring + indexes to address spurious hardware hangs. +o Add hardware_lock'ed qla2x00_marker() function for +o IP integration layer. +o Remove busy-wait during qla2x00_fw_ready(). +o Remove extraneous display of adapter node/port + information. +o Fix issue with the register_fc4 function not sending + the appropriate amount of data to the firmware. +o Ip_inquiry should query off the ha's instance number, + not host_no during IP capable scan of HBAs. +o Add 'hardware locked' logic to IP integration functions: + qla2x00_add_buffers(), qla2x00_ip_send_login_port_iocb(), + and qla2x00_ip_send_logout_port_iocb() functions. +o Add IP /proc file information text. +o Indentation and debug-level cleanup. + ++**************+ +* Known Issues * ++**************+ diff -urNp 2.4.19rc1/drivers/scsi/qla2xxx/revision.notes qlogic/drivers/scsi/qla2xxx/revision.notes --- 2.4.19rc1/drivers/scsi/qla2xxx/revision.notes Thu Jan 1 01:00:00 1970 +++ qlogic/drivers/scsi/qla2xxx/revision.notes Mon Jul 8 12:05:21 2002 @@ -0,0 +1,466 @@ +/* + * QLogic ISP2200 and ISP2300 Linux Driver Revision List File. + * + ******************************************************************** + * + * Revision History: + * + * Rev 6.1b2 June 08, 2002 AV/DG + * - Fix issue where the report-luns logic would interpret + * data on an incorrect status from the device. + * - Fix issue where a loopback request was not being issued + * if the HBA loop status was not ready -- Callers of the + * IOCTL expect the FW to handle this condition and return + * the proper status. + * - Clean-up IP support callback mechanism -- explicit + * export of a single *_ip_inquiry() call that returns + * specific interface function pointers. Each ISP driver + * now has its own *_ip_inquiry() function + * (qla2200_ip_inquiry() and qla2300_ip_inquiry()). + * - Remove inter-dependencies between 2200/2300 compiled + * drivers. + * - Fix issue where del_timer()/add_timer() combination in + * RESTART_TIMER macro would cause a race condition during + * module unloading -- use mod_timer(). + * - Cleanup spinlock initialisation -- spin_lock_init() + * macro (FalconStor). + * - Add CONFIG_MD_MULTIHOST support (FalconStor). + * - Add SCSI add-single-device support (FalconStor). + * - Added new 2300 IP/TP firmware (3.01.11). + * - Added new 2200 IP/TP firmware (2.02.03). + * + * Rev 6.1b1 June 14, 2002 AV/DG + * - Integrate IP backdoor updates. + * - Add CACHE_LINE flush before updating request-ring + * indexes to address spurious hardware hangs. + * - Add hardware_lock'ed qla2x00_marker() function for + * IP integration layer. + * - Remove busy-wait during qla2x00_fw_ready(). + * - Remove extraneous display of adapter node/port + * information. + * - Fix issue with the register_fc4 function not sending + * the appropriate amount of data to the firmware. + * - Ip_inquiry should query off the ha's instance number, + * not host_no during IP capable scan of HBAs. + * - Add 'hardware locked' logic to IP integration functions: + * qla2x00_add_buffers(), qla2x00_ip_send_login_port_iocb(), + * and qla2x00_ip_send_logout_port_iocb() functions. + * - Add IP /proc file information text. + * - Indentation and debug-level cleanup. + * + * Rev 6.0 June 13, 2002 DG + * - Released + * + * Rev 6.0b26-PLUS/b27 May 23, 2002 ??/??/?? + * - Correct IOCTL return code when an invalid signature is + * passed in the EXT_IOCTL request. + * - Remove unused defines KERNEL_SEM_BUG and NEW_EH_CODE. + * - Added new 2300 IP/TP firmware (3.01.09). + * + * Rev 6.0b26 May 23, 2002 RA/DG/AV + * - Fixed issue with device_reset so it uses the + * correct adapter in failover mode. + * - Add logic to track usage of the iocb and prevent + * the firmware from running short. + * - Increase suspend time for LUN "Not Ready" conditions + * from 18 secs to a max of 30 secs. + * - Added option to display the configuraation info in + * failover mode. + * - Fix FC passthru IOCTL interface to only return the + * low-order byte of the scsi status. + * + * Rev 6.0b25 May 20, 2002 RA/DG/AV/RL + * - Issue RLC command immediately to determine lun list. + * - Remove extraneous logic that removes commands from the + * pending queue when the loop is down or a destination device + * is found to be off-line. + * - In failover mode, add an extra second to the command timeout + * for additional internal processing. + * - Add descriptions for module options. + * - Simplify locking in qla2x00_cmd_timeout(). + * - Fix memory-mapped I/O usage. + * - Fix the potential panic during error recovery when a command + * is not returned during an abort resulting in dual instances + * of a command's SRB. + * - Clean-up processing of interrupts during error-recovery + * mode. + * - Changed back get_disc_port IOCTL behaviour so now it returns + * next available device instance info when a port/target + * device is disconnected. The change was added and now + * removed by customer request. This is now pre-b13 behaviour. + * - Added new 2300 IP/TP firmware (3.01.08). + * + * Rev 6.0b24-test1 May 07, 2002 TWT + * - Added IPFC support. + * + * Rev 6.0b24 May 06, 2002 DG + * - Fix potential panic when configuration data exists for a device + * that is off-line. + * + * Rev 6.0b23 May 06, 2002 RA/RLU + * - Added the new setup() routine for lk>=2.4 and above to handle the + * kernel command line parameter. + * - Set BIT_1 when issuing login_fabric() from the ioctl to take + * care of McData issue. + * + * Rev 6.0b22-test2 April 30, 2002 DG + * - Made tasklet a compile time option. + * - Fixed mailbox timeouts on first mailbox command after polling. + * - Fixed MPIO issue of requests setting in pending queue after + * resync of second adapter. + * + * Rev 6.0b22-test1 April 29, 2002 RA/AV + * - Updated makefile to add the support for all the arch-i386/i486/i586 + * /i686 -especially to address the skipjack issue. + * - Set the right host status when device returns queue full. + * + * Rev 6.0b22 April 26, 2002 RL/AV + * - Corrected usage of pci info by directly getting it from ha->pdev. + * This fixes problem with referencing the now uninitialized + * fields of ha->pci_bus and ha->pci_device_fn from various + * places including ioctl calls. + * - Corrected HBA port state value returned in ioctl call. + * - Corrected saving of failover path ID. + * - Added passing of SRB_IOCTL flag via the CMD_RESID_LEN(cmd) field + * from scsi passthru ioctl so the passthru IO won't get retried. + * - Added checking of SRB_IOCTL in regular IO path so we do not + * retry these IOs. + * - Enabled ABORT_TARGET mailbox command to clear reservation. + * - Replaced set_cache_line function with RedHat implementation. + * - Cleaned up variable names in cmd_timeout. + * + * Rev 6.0b21-test2 April 24, 2002 DG + * - Fixed Oops in qla2x00_next() when starting new command + * after a resync. + * - Fixed issues in failover code. + * - Added back suspend lun support. + * + * Rev 6.0b21-test1 April 18, 2002 AV + * - Remove per-lun pending queues in favor of a simplified + * single adapter pending queue for all queued commands + * issued to the adapter. + * - Cleanup global detect semaphore name usage. + * - Simplify the queue command process by postponing expensive + * backend checks to the qla2x00_next() function. + * - Remove all NOP *_LOCK/UNLOCK macros. These macros are no + * longer needed with the 6.x series drivers. + * - Removed all OLD error-handling code. + * - Simplify the SCSI host template -- remove references to + * OLD error-handling routines. + * + * Rev 6.0b21 April 17, 2002 RL + * - Added more error handling code for send_fcct ioctl command, + * and fixed a panic problem by using dummy tgt/lun q structures. + * - Added get/set RNID related mailbox commands and ioctl support. + * - Fixed compile warning by defining pci_set_dma_mask function + * for kernel version < 2.4.3. + * - Moved sp_get and sp_put back to qla2x00.c. + * - Some indentation clean up and ioctl debug level clean up. + * + * Rev 6.0b20 April 15, 2002 RA + * - Added HSG80 flag in makefile to define COMPAQ(-DCOMPAQ) compilation + * flag. + * - Added HSG80_PORT_RETRY_COUNT macro for COMPAQ-HSG80. + * + * Rev 6.0b19 April 10, 2002 RA + * - Use pci_set_dma_mask() to set up 64bit/32bit instead of + * CONFIG_HIGHMEM. + * - Renamed RETRY_FOR_NOT_READY back to COMPAQ-By default disabled. + * + * Rev 6.0b18 April 10, 2002 AV/RA + * - With Indent-8 tabs formatted all of the driver files. + * - Removed the left over serial console support. + * - Changed the debug routines to linux style. + * - Change places where we use SYS_DELAY to udelay/barrier() + * - Fix bugs wwrt to >> 32 of 32 bit variables. + * - Cleaned up the support for lk < 2.4 kernel. + * - Fixed missing wakeups of the dpc thread + * - Added barrier() between subsequent reads in + * qla2x00_debounce_register(); + * + * Rev 6.0b17 April 09, 2002 AV/RLU/RA + * - Deleted all direct references to qla2x00_callback outside + * of sp_put and __sp_put functions, so the sp->ref_count + * is decremented correctly before going back to free pool. + * This fixed IO timeout/hang after some direct qla2x00_callback + * calls are invoked. + * - Fixed panic from ioctl passthru command which makes separate call + * to allocate new sp by deleting the zeroing out of sp content after + * calling get_new_sp. We should not overwrite sp content + * because get_new_sp initializes some fields to non-zero. + * - Moved the call to rpt_lun_discovery to later so that LUN 0 will + * always be allocated regardless of the actual LUN list + * returned. This allows kernel to continue scanning past + * a non-existent LUN 0. + * - Added output of the following to proc_info per customer + * request: + * 'Number of reqs in scsi_retry_q', 'Number of reqs in failover_q', + * 'Device queue depth'. + * - Added qlport_down_retry as a new driver parameter per customer + * request. + * - Changed ioctl busy polling interval to 1 second instead of + * 1 tick. 1 tick is unrealistic. + * - Added more ioctl function description headers. + * + * Rev 6.0b16 April 08, 2002 RA/AV/RLU + * - Added the support to recognise medium changer type + * as Tape devive(inq[0] == 8). + * - For Not Ready case suspend the lun only for Hard Disk Device + * type. + * - Nuked the support for FC_VI. + * - Before examining the scsi status Mask of the reserved bits 12-15. + * - Added the CONFIG_HIGHMEM support for 64bit dma addresing on 32bit + * platform. + * - Renamed file- settings.h as qla_settings.h + * - Debug macros moved from qla2x00.c to qla_debug.h and made + * statement like. + * - Removed serial console code. + * - Added the missing hardware lock in eh_abort when searching the "sp" + * in the active array. + * - Added loop state and number of free srb's in the /proc + * - Changed to use kernel interface or routines(ex-readb()) + * for Memory Mapped I/O. + * - Cleaned up qla2x00_pci_config() routine. + * - Renamed COMPAQ flag to G80. + * - Set the port_down_retry_count to 30 if in the nvram its configured + * less than 30.Need enough time to try and get the port back + * - Get rid of the lun_list field in the inq_cmd_rsp structure. + * - Check for abort_active/reconfiguration/recovery active state + * before issuing get_link_status mbx cmd. + * - Renamed qla2200_nvram_config() to qla2x00_nvram_config() + * - Need to get rid of caddr_t as its illegal in the kernel-???? + * - Add ref_count to the "sp" structure, needed to keep locking sane + * over functions that sleep.Added sp_get() and sp_put() . + * - Use Report Luns (RLC) for lun discovery process. + * - Use a consistent set of command structures during SNS queries -- + * add sns_cmd_rsp_t structure. + * - Fix issue where SNS query would return too much data for + * the firmware to handle -- explicitely define the maximum amount + * of double-words in the SNS request. + * - Changed VIRT_TO_BUS/KMALLOC to pci_alloc_consistent() in qla_fo.c + * - Updated README.qla2x00 + * + * Rev 6.0b15 April 05, 2002 DG/RA/RL + * - Corrected more local dpc flag checking in configure_loop. + * This fixed problem not calling correct functions based + * on correct flags. + * - Deleted hardcoded port_down_retry_count. + * - Corrected macros used to split up dma physical address + * for use by registers. Now the macros work on both 32bit + * and 64 bit platforms. + * - More dma_addr_t function parameter type correction. + * - Added update of port_id in build_fcport_list function + * when updating a pre-existed port. This fixed problem + * of not able to login after the port location has been + * changed. + * - Return a different status for 4006 error from login fabric + * mbx cmd so we don't retry anymore. + * + * Rev 6.0b14 April 04, 2002 DG/RA/RLU/AV + * - Fixed query_disc_port ioctl not returning correct port + * state. + * - Changed port_down_retry_count to 32. + * - Corrected local dpc flag variable checking in configure_loop + * to use bit manipulation functions instead of C style bit + * checking. This results in correctly log out lost + * fabric ports. + * - Corrected qla2x00_send_sns function parameter type for + * physical address to use dma_addr_t. + * - Added PCI module device table. + * - Updated README file with Suse ramdisk info. + * + * Rev 6.0b13 April 03, 2002 DG/RA/RLU/AV + * - Fixed the makefile issue: corrected documentation, + * and makefile syntax problem (making both drivers when + * only one is asked for). + * - Reduced stack size in functions using over 0x200 bytes + * stack space: qla2x00_set_lun_data_from_config, + * qla2x00_cfg_build_path_tree, qla2x00_aen_get, + * qla2x00_query_hba_node, qla2x00_get_port_summary, + * qla2x00_send_fcct. + * - Changed get_disc_port ioctl behavior which returns next + * available device instance info when a port/target is + * disconnected. Now return error when query for lost port. + * - Moved the allocation of host database to outside of the adapter + * structure allocation to avoid the allocation size limitation in + * the scsi_register function. + * - Changed qla2100_ function names to qla2x00_ prefix. + * - Changed previous qla2100_print calls to use printk. + * - Cleaned up compile warnings. + * - Added the support in README.qla2x00 to build the driver as part of the + * kernel. + + * + * Rev 6.0b12 April 01, 2002 DG/RA QLogic + * - Fixed the port login stuff-not trying to login even the port was + * marked as lost unless RSCN happens and we do a loop resync. + * - Copy the done queue into local queue in qla2x00_done() such that we + * do not wind up calling done queue takslet for the same IOs from DPC + * or any other place. + * + * Rev 6.0b11 April 01, 2002 RL/RA QLogic + * - Added initialization of the new lun q lock for ioctl_lq. + * This fixes passthru ioctl hanging problem. + * - Added the missing hardware lock in qla2x00_process_risc_intrs() + * when we call qla2100_isr(). + * + * Rev 6.0b10 March 29, 2002 DG QLogic + * - Added new support for suspending the lun on "not ready" + * conditions. + * - Deleted extra usage of io_request lock in fc_scsi and + * scsi3 passthru ioctl functions. + * - Updated README file. + * + * Rev 6.0b9 March 28, 2002 RA/DG/RLU/JJ QLogic + * - Added use of additional fields in Scsi_Cmnd to save IO + * status related values for ioctl SCSI/FCCT passthru cmd + * processing. + * - Added scsi3_passthru function to process 16 byte CDBs + * whose fclun value can be in either VSA or PDA format. + * - Added device and bus reset new error handling functions. + * - Added option and code to handle register_fc4. + * + * Rev 6.0b8 March 27,2002 RA/DG/RLU QLogic + * - Set the host_byte status correctly in process_completed_request(). + * - Fixed the stack overflow in configure_fabric() qla2x00_ioctl() + * and qla2x00_fo_ioctl() routine. + * - Cover the case in eh_host_reset() where abort_isp is already active. + * - Release the hardware lock before we return in reset_chip() routine. + * - Added the support to grab the io_request_lock back in the queuecommand + * after adding the request to scsi_retry_queue. + * - Fixed the issue in the detect routine where we dont hang around for + * the devices to come online. + * -Implemented scsi_retry_queue stuff. + * -Added the function headers for qla2x00_process_risc_intrs + * and qla2x00_process_completed_requests + * -Got rid of abort_q_put() ,abort_q_get() cmd_wait(), + * qla2100_return_status() routines and ABORT lock. + * -Added the support for 2.5.7>lk>=2.4.8 in Scsi Host TEMPLATE. + + * Rev 6.0b7 March 20, 2002 JJ QLogic + * - Change not to use the first slot (0) of the outstanding_cmd + * array, since we will put NULL handle for a completed cmd. + * - Implement new hardware lock in place of io_request_lock + * in order to improve performance. + * - Save ha in srb_t when being inserted into the failover + * queue so we know which ha to look for when that cmd is + * timed out. + * - Add aborting isp if abort command failed. + * - Fix cmd_timeout routine to get the valid ha for the + * fail-over driver. + * + * Rev 6.0b6 March 20, 2002 RL QLogic + * - New PCI device registration and API support for 2.4.0 and + * above only. + * - Template change (previously done). + * - Remove explicit virt_to_* calls in foavor of + * *_alloc_consistent. + * - Only allow compilation on 2.4.0 machines and above. + * - Corrected ioctl hang due to SETINSTANCE command. + * - Added io_request lock in FCCT passthru function when issuing + * login_fabric mbx cmd. + * - Corrected issue_iocb parameter as referenced in qla_fo.c. + * + * Rev 6.0b5 March 14, 2002 RL QLogic + * - Added qla2200.c and qla2300.c files to enable separate + * driver make in RedHat kernel source directory. + * - Added/enabled two new error handling functions: eh_abort and + * eh_host_reset. + * - Changed issue_iocb prototype to pass in the buffer physical address + * value. + * - Changed request_region function (in register_with_Linux) to use + * correct driver name string. + * - Added release_region if request_irq function failed (in + * register_with_Linux). + * - Moved the enabling of host interrupt (in mbx cmd issuing) to just + * before going to sleep waiting for completion. + * + * Rev 6.0b4 March 11, 2002 RA QLogic + * - Fixed the panic in the loop reset routine where we trying to + * derefernce tgt queue even if its NULL. + * - Changed the MAX_SRBS count to 4096. + * - Changed to dma_addr_t instead of depending on BITS_PER_LONG + * macro in get_port_database. + * - Changed README.qla2x00-Support for 2.4.x only. + * + * Rev 6.0b3 March 08,2002 RA QLogic + * - Fixed the panic in abort routine- where we try to dereference + * "sp" even its NULL causing to panic. + * - Partially cleaned up compiler warning. + * + * Rev 6.0b2 March 07,2002 RA QLogic + * - Update 2200(v2.02.01) and 2300(v3.1.02) firmware. + * - Instead of depending on BITS_PER_LONG macro to + * figure out whether address will be 64 bit or 32 bit + * ,changed it to dma_addr_t data type .Even on 32bit system + * if there is high memory support it will be 64bit instead of 32bit. + * - Earlier we used to call qla2100_callback directly in qla2x00_ms_entry + * routine.But now its dangerous to do so.As we zero out the + * sp pointer in the cmd just before calling scsi_done().So we just + * the "sp" in done_queue and let the tasklet process it later. + * Rev 6.0b1 March 06,2002 RA,DG QLogic + * - Started with Driver Version-5.38b16 as the base. + * - Initial release of the 6 series driver, with all the + * changes ported from the 4.x series driver(mentioned below). + * - Now we keep track of the loop_id, so that we can log + * into that port successfully when it comes back. + * - All the options setting has been moved from qla2x00.c to settings.h + * file. + * -Added the support from NEW Error Handling Code perspective. + * Right now the macro(NEW_EH_CODE) is turned off till we + * completely fix all the issue related to NEW_EH_CODE in the driver. + +/**************************************************************************** + * Changes Ported from 4.x Driver: + + -Changed malloc.h to use slab.h to get rid of the compiler warning + message. + -Use del_timer_sync to delete qla2100_timer for lk > 2.4.0 + -Send marker only at one place ie when we are about to send out + the commands to the ISP except during initialize_adapter(). + -Added the marker support for 64bit_start_scsi. + -Initialized the different queues. + PENDING QUEUE:-Initialized in lun_alloc() + RETRY QUEUE:- "" in detect() + DONE QUEUE :- "" in detect() + ACTIVE QUEUE : + FAILOVER QUEUE : "" in detect() + FREE QUEUE:- Initialised in allocate_sp_pool() + -Got rid of udelay in mem_alloc() routine. + -Got rid of support for lk<2.4 in mem_alloc() and mem_free() routines. + -Allocating sp during initialisation instead of on the fly. + -Added the timer for each command. + + -Modified the different queues to use kernel list macro for + queue management.Using one lock ie "list_lock" to protect + different queues. + -Added qla2x00_free_sp_pool() routine to release the sp_pool memory + when we unload the driver. + - Modified the qla2x00_next() prototype to pass vis_ha except in done. + -Introduced Port state:DEAD,LOST and ONLINE . + -Fixed the QLA2X00_FAILURE macro. + -Fixed the abort routine-retry queue or failoever queue will be on the + real HBA. + -Added the ql2xlogintimeout stuff-Instead of 4sec,firmware will be using + 20 secs initially(2*ratov value) to login into the switch for ED1032. + -Added the retry logic to login into the switch. + -Added the code to kick off port_down_retry timer when we get 28-29 + compl status but the firmware is not quick enough to report + that the device is missing. + -Now using macros to fix the wraparound situation for jiffies. + -Fixed the qla2x00_abort_queue().Instead of calling callback directly, + all the requests after being deleted from the lun_queue will be put + in the done_queue(). + -Fixed port logic in dpc to restore loop id in the fcport structure. + -Changed fcport->state to atomic. + -Changed the status_entry rotuine to check for completion first and then + scsi status. + - Change state of "sp" to ACTIVE STATE when we issue it to RISC. + +******************************************************************************/ + + + + + + diff -urNp 2.4.19rc1/drivers/scsi/qla2xxx/sdm_fo.h qlogic/drivers/scsi/qla2xxx/sdm_fo.h --- 2.4.19rc1/drivers/scsi/qla2xxx/sdm_fo.h Thu Jan 1 01:00:00 1970 +++ qlogic/drivers/scsi/qla2xxx/sdm_fo.h Mon Jul 8 12:05:21 2002 @@ -0,0 +1,219 @@ +/****************************************************************************** + * QLOGIC LINUX SOFTWARE + * + * QLogic ISP2x00 device driver for Linux 2.4.x + * Copyright (C) 2002 Qlogic Corporation + * (www.qlogic.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, 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. + * + ******************************************************************************/ + +/* + * San/Device Management Failover Ioctl Header + * File is created to adhere to Solaris requirement using 8-space tabs. + * + * !!!!! PLEASE DO NOT REMOVE THE TABS !!!!! + * !!!!! PLEASE NO SINGLE LINE COMMENTS: // !!!!! + * !!!!! PLEASE NO MORE THAN 80 CHARS PER LINE !!!!! + * + * Revision History: + * + * Rev. 0.00 August 8, 2000 + * WTR - Created. + * + * Rev. 0.01 August 8, 2000 + * WTR - Made size of HbaInstance fields consistant as UINT8. + * Made command codes as 300 upward to be consistant with definitions + * in ExIoct.h. + */ + +#ifndef _SDM_FO_H +#define _SDM_FO_H + +#include "ExIoct.h" + + +#define SDM_DEF_MAX_DEVICES 16 +#define SDM_DEF_MAX_PATHS_PER_TARGET 4 +#define SDM_DEF_MAX_TARGETS_PER_DEVICE 4 +#define SDM_DEF_MAX_PATHS_PER_DEVICE \ + (SDM_DEF_MAX_PATHS_PER_TARGET * SDM_DEF_MAX_TARGETS_PER_DEVICE) +#define SDM_FO_MAX_LUNS_PER_DEVICE MAX_LUNS_OS + +#define SDM_FO_MAX_PATHS \ + (SDM_DEF_MAX_PATHS_PER_DEVICE * SDM_DEF_MAX_DEVICES) +#define SDM_FO_MAX_ADAPTERS 8 +#define SDM_FO_ADAPTER_ALL 0xFF + +#define SDM_CC_FO_GET_PARAMS 300 +#define SDM_CC_FO_SET_PARAMS 301 +#define SDM_CC_FO_GET_PATHS 302 +#define SDM_CC_FO_SET_CURRENT_PATH 303 +#define SDM_CC_FO_GET_HBA_STAT 304 +#define SDM_CC_FO_RESET_HBA_STAT 305 + + +/* Systemwide failover parameters. */ + +typedef struct _SDM_FO_PARAMS +{ + UINT8 MaxTargetsPerDevice; + UINT8 MaxPathsPerTarget; + UINT8 MaxPathsPerDevice; /* Max paths to any single device. */ + UINT8 MaxRetriesPerPath; /* Max retries on a path before */ + /* failover. */ + UINT8 MaxRetriesPerIo; /* Max retries per i/o request. */ + UINT8 Reserved1; + UINT32 Flags; /* Control flags. */ + UINT32 Reserved2[4]; + + /* Failover notify parameters. */ + + UINT8 FailoverNotifyType; /* Type of notification. */ + UINT8 FailoverNotifyCdbLength;/* Length of notification CDB. */ + UINT8 FailoverNotifyCdb[16]; /* CDB if notification by CDB. */ + UINT32 Reserved3; + +} +SDM_FO_PARAMS, *PSDM_FO_PARAMS, SysFoParams_t, *SysFoParams_p; + +extern SysFoParams_t qla_fo_params; + +typedef struct _SDM_FO_GET_PATHS +{ + UINT8 HbaInstance; + SDM_SCSI_ADDR HbaAddr; /* Lun field is ignored */ + UINT32 Reserved[5]; + +} +SDM_FO_GET_PATHS, *PSDM_FO_GET_PATHS; + + +typedef struct _SDM_FO_PATH_ENTRY +{ + BOOLEAN Reserved1; + BOOLEAN Visible; /* Path is visible path. */ + UINT16 Reserved2; + UINT8 HbaInstance; + UINT8 PortName[SDM_DEF_WWN_NAME_SIZE]; + + UINT16 Reserved3; + UINT32 Reserved[3]; + +} +SDM_FO_PATH_ENTRY, *PSDM_FO_PATH_ENTRY; + + +typedef struct _SDM_FO_PATHS_INFO +{ + /* These first fields in the output buffer are specifically the + * same as the fields in the input buffer. This is because the + * same system buffer holds both, and this allows us to reference + * the input buffer parameters while filling the output buffer. */ + + UINT8 HbaInstance; + SDM_SCSI_ADDR HbaAddr; + UINT32 Reserved[5]; + + UINT8 PathCount; /* Number of Paths in PathEntry array */ + UINT8 Reserved3; + UINT8 VisiblePathIndex; /* Which index has BOOLEAN "visible" flag set */ + UINT8 Reserved4; + + /* Current Path Index for each Lun */ + UINT8 CurrentPathIndex[SDM_FO_MAX_LUNS_PER_DEVICE]; + + SDM_FO_PATH_ENTRY PathEntry[SDM_FO_MAX_PATHS]; + + UINT32 Reserved5[4]; + +} +SDM_FO_PATHS_INFO, *PSDM_FO_PATHS_INFO; + +typedef struct _SDM_FO_SET_CURRENT_PATH +{ + UINT8 HbaInstance; + + SDM_SCSI_ADDR HbaAddr; + + UINT8 NewCurrentPathIndex; /* Path index to make current path. */ + UINT8 FailoverType; /* Reason for failover. */ + + UINT32 Reserved[3]; + +} +SDM_FO_SET_CURRENT_PATH, *PSDM_FO_SET_CURRENT_PATH; + +typedef union _SDM_FO_PATHS { + SDM_FO_GET_PATHS input; + SDM_FO_SET_CURRENT_PATH set + ; + SDM_FO_PATHS_INFO info; +} SDM_FO_PATHS; + + +typedef struct _SDM_FO_HBA_STAT_INPUT +{ + /* The first field in the input buffer is specifically the + * same as the field in the output buffer. This is because the + * same system buffer holds both, and this allows us to reference + * the input buffer parameters while filling the output buffer. */ + + UINT8 HbaInstance; /* Port number or ADAPTER_ALL. */ + UINT8 Reserved1[3]; + UINT32 Reserved2[7]; + +} +SDM_FO_HBA_STAT_INPUT, *PSDM_FO_HBA_STAT_INPUT; + + +typedef struct _SDM_FO_HBA_STAT_ENTRY +{ + UINT8 HbaInstance; + UINT8 Reserved1[3]; + UINT32 Reserved2; + + UINT64 IosRequested; /* IOs requested on this adapter. */ + UINT64 BytesRequested; /* Bytes requested on this adapter. */ + UINT64 IosExecuted; /* IOs executed on this adapter. */ + UINT64 BytesExecuted; /* Bytes executed on this adapter. */ + + UINT32 Reserved3[22]; + +} +SDM_FO_HBA_STAT_ENTRY, *PSDM_FO_HBA_STAT_ENTRY; + + +typedef struct _SDM_FO_HBA_STAT_INFO +{ + /* The first fields in the output buffer is specifically the + * same as the field in the input buffer. This is because the + * same system buffer holds both, and this allows us to reference + * the input buffer parameters while filling the output buffer. */ + + UINT8 HbaInstance; /* Port number or ADAPTER_ALL. */ + UINT8 HbaCount; /* Count of adapters returned. */ + UINT8 Reserved1[2]; + UINT32 Reserved2[7]; + + SDM_FO_HBA_STAT_ENTRY StatEntry[SDM_FO_MAX_ADAPTERS]; + +} +SDM_FO_HBA_STAT_INFO, *PSDM_FO_HBA_STAT_INFO; + +typedef union _SDM_FO_HAB_STAT { + SDM_FO_HBA_STAT_INPUT input; + SDM_FO_HBA_STAT_INFO info; + +} SDM_FO_HBA_STAT; + +#endif /* ifndef _SDM_FO_H */