aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/dev/isp/asm_pci.h1901
-rw-r--r--sys/dev/isp/asm_sbus.h4
-rw-r--r--sys/dev/isp/isp.c716
-rw-r--r--sys/dev/isp/isp_freebsd.c251
-rw-r--r--sys/dev/isp/isp_freebsd.h139
-rw-r--r--sys/dev/isp/isp_freebsd_cam.h34
-rw-r--r--sys/dev/isp/ispmbox.h100
-rw-r--r--sys/dev/isp/ispreg.h90
-rw-r--r--sys/dev/isp/ispvar.h33
9 files changed, 2918 insertions, 350 deletions
diff --git a/sys/dev/isp/asm_pci.h b/sys/dev/isp/asm_pci.h
index 4bd3425c9f03..30fa695060e0 100644
--- a/sys/dev/isp/asm_pci.h
+++ b/sys/dev/isp/asm_pci.h
@@ -1,10 +1,12 @@
-/* $Id: asm_pci.h,v 1.5 1999/01/30 07:20:50 mjacob Exp $ */
-/* release_02_05_99 */
+/* $Id: asm_pci.h,v 1.6 1999/02/09 01:05:37 mjacob Exp $ */
+/* release_03_16_99 */
/*
* Copyright (c) 1995, 1996, 1997, 1998 by Qlogic Corporation
*/
+#ifndef ISP_DISABLE_1020_SUPPORT
/*
+ * Firmware for ISP1020-1040.
* Firmware Version 7.55.00 (16:16 Mar 20, 1998)
*/
#define ISP_CODE_ORG 0x1000
@@ -1959,7 +1961,1901 @@ static const u_int16_t ISP_RISC_CODE[] = {
0x0000, 0xad4c
};
#define ISP_CODE_LENGTH 0x3cd2
+#endif /* ISP_DISABLE_1020_SUPPORT */
+/************************************************************************
+ * *
+ * --- ISP1240/1080/1280 Initiator Firmware --- *
+ * 32 LUN Support *
+ * *
+ ************************************************************************
+ * *
+ * NOTICE *
+ * *
+ * COPYRIGHT 1999 QLOGIC CORPORATION *
+ * ALL RIGHTS RESERVED *
+ * *
+ * This computer program is CONFIDENTIAL and contains TRADE SECRETS of *
+ * QLOGIC CORPORATION. The receipt or possession of this program does *
+ * not convey any rights to reproduce or disclose its contents, or to *
+ * manufacture, use, or sell anything that it may describe, in whole or *
+ * in part, without the specific written consent of QLOGIC CORPORATION. *
+ * Any reproduction of this program without the express written consent *
+ * of QLOGIC CORPORATION is a violation of the copyright laws and may *
+ * subject you to civil liability and criminal prosecution. *
+ * *
+ ************************************************************************
+ */
+
+
+/*
+ * Firmware Version 8.07.00 (17:49 Mar 03, 1999)
+ */
+
+#ifndef ISP_DISABLE_1080_SUPPORT
+#define ISP1080_CODE_ORG 0x1000
+#define ISP1080_CODE_VERSION 8*1024+7
+static const u_int16_t ISP1080_RISC_CODE[] = {
+ 0x0078, 0x1041, 0x0000, 0x39f2, 0x0000, 0x2043, 0x4f50, 0x5952,
+ 0x4947, 0x4854, 0x2031, 0x3939, 0x312c, 0x3139, 0x3932, 0x2c31,
+ 0x3939, 0x332c, 0x3139, 0x3934, 0x2051, 0x4c4f, 0x4749, 0x4320,
+ 0x434f, 0x5250, 0x4f52, 0x4154, 0x494f, 0x4e00, 0x2049, 0x5350,
+ 0x3132, 0x3430, 0x2046, 0x6972, 0x6d77, 0x6172, 0x6520, 0x2056,
+ 0x6572, 0x7369, 0x6f6e, 0x2030, 0x382e, 0x3037, 0x2020, 0x2043,
+ 0x7573, 0x746f, 0x6d65, 0x7220, 0x4e6f, 0x2e20, 0x3030, 0x2050,
+ 0x726f, 0x6475, 0x6374, 0x204e, 0x6f2e, 0x2020, 0x3030, 0x2020,
+ 0x2400, 0x20c9, 0x93ff, 0x2001, 0x04fc, 0x2004, 0xa086, 0x1080,
+ 0x00c0, 0x1054, 0x2071, 0x0100, 0x70a0, 0x70a2, 0x20c1, 0x0010,
+ 0x2089, 0x1363, 0x0078, 0x106d, 0x2001, 0x04fc, 0x2004, 0xa086,
+ 0x1280, 0x00c0, 0x1069, 0x2071, 0x0200, 0x70a0, 0x70a2, 0x2071,
+ 0x0100, 0x70a0, 0x70a2, 0x20c1, 0x0010, 0x2089, 0x13e3, 0x0078,
+ 0x106d, 0x20c1, 0x0020, 0x2089, 0x130b, 0x2071, 0x0010, 0x70c3,
+ 0x0004, 0x70c7, 0x4953, 0x70cb, 0x5020, 0x70cf, 0x2020, 0x70d3,
+ 0x0008, 0x2001, 0x04fe, 0x70d6, 0x20c1, 0x0001, 0x2019, 0x0000,
+ 0x2009, 0xfeff, 0x2100, 0x200b, 0xa5a5, 0xa1ec, 0x7fff, 0x2d64,
+ 0x206b, 0x0a0a, 0xaddc, 0x3fff, 0x2b54, 0x205b, 0x5050, 0x2114,
+ 0xa286, 0xa5a5, 0x0040, 0x10a4, 0xa386, 0x000f, 0x0040, 0x10a0,
+ 0x2c6a, 0x2a5a, 0x20c1, 0x0000, 0x2019, 0x000f, 0x0078, 0x1080,
+ 0x2c6a, 0x2a5a, 0x0078, 0x10a2, 0x2c6a, 0x2a5a, 0x2130, 0x2128,
+ 0xa1a2, 0x4a00, 0x8424, 0x8424, 0x8424, 0x8424, 0x8424, 0x8424,
+ 0xa192, 0x9400, 0x2009, 0x0000, 0x2001, 0x0032, 0x1078, 0x2056,
+ 0x2218, 0x2079, 0x4a00, 0x2fa0, 0x2408, 0x2011, 0x0000, 0x20a9,
+ 0x0040, 0x42a4, 0x8109, 0x00c0, 0x10bf, 0x2001, 0x04fc, 0x2004,
+ 0xa086, 0x1080, 0x00c0, 0x10d7, 0x2071, 0x0100, 0x1078, 0x49bd,
+ 0x7810, 0xc0ed, 0x7812, 0x781b, 0x0064, 0x0078, 0x10fc, 0x2001,
+ 0x04fc, 0x2004, 0xa086, 0x1280, 0x00c0, 0x10f7, 0x7814, 0xc0ed,
+ 0xc0d5, 0x7816, 0x781b, 0x0064, 0x2071, 0x0200, 0x0d7e, 0x2069,
+ 0x4a40, 0x1078, 0x49bd, 0x2069, 0x4a80, 0x2071, 0x0100, 0x1078,
+ 0x49bd, 0x7814, 0xc0d4, 0x7816, 0x0d7f, 0x0078, 0x10fc, 0x7814,
+ 0xc0e5, 0x7816, 0x781b, 0x003c, 0x7eca, 0x7cc2, 0x7bc6, 0x7867,
+ 0x0000, 0x2031, 0x0030, 0x78af, 0x0101, 0x7823, 0x0002, 0x7827,
+ 0x0002, 0x2009, 0x0002, 0x2069, 0x4a40, 0x681b, 0x0003, 0x6823,
+ 0x0007, 0x6827, 0x00fa, 0x682b, 0x0008, 0x682f, 0x0028, 0x6837,
+ 0x0000, 0x683b, 0x0006, 0x6833, 0x0008, 0x683f, 0x0000, 0x8109,
+ 0x0040, 0x114d, 0x68d3, 0x000a, 0x68c3, 0x4ac0, 0x2079, 0x4a00,
+ 0x7814, 0xd0e4, 0x00c0, 0x1133, 0xd0ec, 0x00c0, 0x1137, 0x68d7,
+ 0x7329, 0x0078, 0x1139, 0x68d7, 0x730d, 0x0078, 0x1139, 0x68d7,
+ 0x7329, 0x68c7, 0x4fc0, 0x68cb, 0x4ec0, 0x68cf, 0x8fc0, 0x68ab,
+ 0x9244, 0x68af, 0x9249, 0x68b3, 0x9244, 0x68b7, 0x9244, 0x68a7,
+ 0x0001, 0x2069, 0x4a80, 0x0078, 0x110d, 0x68d3, 0x000a, 0x68c3,
+ 0x4cc0, 0x7814, 0xd0e4, 0x00c0, 0x1159, 0x68d7, 0x7439, 0x0078,
+ 0x115b, 0x68d7, 0x7419, 0x68c7, 0x6fc0, 0x68cb, 0x4f40, 0x68cf,
+ 0x90d0, 0x68ab, 0x9249, 0x68af, 0x924e, 0x68b3, 0x9249, 0x68b7,
+ 0x9249, 0x68a7, 0x0001, 0x7810, 0xd0ec, 0x00c0, 0x11b1, 0x7814,
+ 0xd0e4, 0x00c0, 0x11a3, 0x0e7e, 0x2069, 0x4ec0, 0x2071, 0x0200,
+ 0x70ec, 0xd0e4, 0x00c0, 0x1184, 0x2019, 0x0c0c, 0x2021, 0x000c,
+ 0x1078, 0x1fe5, 0x0078, 0x118a, 0x2019, 0x0c0a, 0x2021, 0x000a,
+ 0x1078, 0x1fe5, 0x2069, 0x4f40, 0x2071, 0x0100, 0x70ec, 0xd0e4,
+ 0x00c0, 0x119a, 0x2019, 0x0c0c, 0x2021, 0x000c, 0x1078, 0x1fe5,
+ 0x0078, 0x11a0, 0x2019, 0x0c0a, 0x2021, 0x000a, 0x1078, 0x1fe5,
+ 0x0e7f, 0x0078, 0x11ca, 0x2019, 0x0c0c, 0x2021, 0x000c, 0x2069,
+ 0x4ec0, 0x1078, 0x1fe5, 0x2069, 0x4f40, 0x1078, 0x1fe5, 0x0078,
+ 0x11ca, 0x2069, 0x4ec0, 0x0e7e, 0x2071, 0x0100, 0x70ec, 0xd0e4,
+ 0x00c0, 0x11c3, 0x2019, 0x0c0c, 0x2021, 0x000c, 0x1078, 0x1fe5,
+ 0x0e7f, 0x0078, 0x11ca, 0x2019, 0x0c0a, 0x2021, 0x000a, 0x1078,
+ 0x1fe5, 0x0e7f, 0x2011, 0x0002, 0x2069, 0x4fc0, 0x2009, 0x0002,
+ 0x20a9, 0x0100, 0x683f, 0x0000, 0x680b, 0x0040, 0x7bc8, 0xa386,
+ 0xfeff, 0x00c0, 0x11e1, 0x6817, 0x0100, 0x681f, 0x0064, 0x0078,
+ 0x11e5, 0x6817, 0x0064, 0x681f, 0x0002, 0xade8, 0x0010, 0x00f0,
+ 0x11d2, 0x8109, 0x00c0, 0x11d0, 0x8211, 0x0040, 0x11f3, 0x2069,
+ 0x6fc0, 0x0078, 0x11ce, 0x1078, 0x25ef, 0x1078, 0x43df, 0x1078,
+ 0x1dd0, 0x1078, 0x4913, 0x2091, 0x2100, 0x2079, 0x4a00, 0x7810,
+ 0xd0ec, 0x0040, 0x1207, 0x2071, 0x0020, 0x0078, 0x1209, 0x2071,
+ 0x0050, 0x2091, 0x2200, 0x2079, 0x4a00, 0x2071, 0x0020, 0x2091,
+ 0x2300, 0x2079, 0x4a00, 0x7810, 0xd0ec, 0x0040, 0x121b, 0x2079,
+ 0x0100, 0x0078, 0x121d, 0x2079, 0x0200, 0x2071, 0x4a40, 0x2091,
+ 0x2400, 0x2079, 0x0100, 0x2071, 0x4a80, 0x2091, 0x2000, 0x2079,
+ 0x4a00, 0x2071, 0x0010, 0x3200, 0xa085, 0x303d, 0x2090, 0x2071,
+ 0x0010, 0x70c3, 0x0000, 0x0090, 0x123c, 0x70c0, 0xa086, 0x0002,
+ 0x00c0, 0x123c, 0x1078, 0x15a6, 0x2039, 0x0000, 0x7810, 0xd0ec,
+ 0x00c0, 0x12be, 0x1078, 0x147b, 0x78ac, 0xa005, 0x00c0, 0x125a,
+ 0x0068, 0x1250, 0x786c, 0xa065, 0x0040, 0x1250, 0x1078, 0x2346,
+ 0x1078, 0x207d, 0x0068, 0x1267, 0x786c, 0xa065, 0x0040, 0x125a,
+ 0x1078, 0x2346, 0x0068, 0x1267, 0x2009, 0x4a47, 0x2011, 0x4a87,
+ 0x2104, 0x220c, 0xa105, 0x0040, 0x1267, 0x1078, 0x1efc, 0x2071,
+ 0x4a40, 0x70a4, 0xa005, 0x0040, 0x128c, 0x7450, 0xa485, 0x0000,
+ 0x0040, 0x128c, 0x2079, 0x0200, 0x2091, 0x8000, 0x72d4, 0xa28c,
+ 0x303d, 0x2190, 0x1078, 0x2a7a, 0x2091, 0x8000, 0x2091, 0x303d,
+ 0x0068, 0x128c, 0x2079, 0x4a00, 0x786c, 0xa065, 0x0040, 0x128c,
+ 0x2071, 0x0010, 0x1078, 0x2346, 0x00e0, 0x1294, 0x2079, 0x4a00,
+ 0x2071, 0x0010, 0x1078, 0x4725, 0x2071, 0x4a80, 0x70a4, 0xa005,
+ 0x0040, 0x12ac, 0x7050, 0xa025, 0x0040, 0x12ac, 0x2079, 0x0100,
+ 0x2091, 0x8000, 0x72d4, 0xa28c, 0x303d, 0x2190, 0x1078, 0x2a7a,
+ 0x2091, 0x8000, 0x2091, 0x303d, 0x2079, 0x4a00, 0x2071, 0x0010,
+ 0x0068, 0x12b8, 0x786c, 0xa065, 0x0040, 0x12b8, 0x1078, 0x2346,
+ 0x00e0, 0x1242, 0x1078, 0x4725, 0x0078, 0x1242, 0x1078, 0x147b,
+ 0x78ac, 0xa005, 0x00c0, 0x12d6, 0x0068, 0x12cc, 0x786c, 0xa065,
+ 0x0040, 0x12cc, 0x1078, 0x2346, 0x1078, 0x207d, 0x0068, 0x12e0,
+ 0x786c, 0xa065, 0x0040, 0x12d6, 0x1078, 0x2346, 0x0068, 0x12e0,
+ 0x2009, 0x4a47, 0x2104, 0xa005, 0x0040, 0x12e0, 0x1078, 0x1efc,
+ 0x2071, 0x4a40, 0x70a4, 0xa005, 0x0040, 0x12fb, 0x7450, 0xa485,
+ 0x0000, 0x0040, 0x12fb, 0x2079, 0x0100, 0x2091, 0x8000, 0x72d4,
+ 0xa28c, 0x303d, 0x2190, 0x1078, 0x2a7a, 0x2091, 0x8000, 0x2091,
+ 0x303d, 0x2079, 0x4a00, 0x2071, 0x0010, 0x0068, 0x1305, 0x786c,
+ 0xa065, 0x0040, 0x1305, 0x1078, 0x2346, 0x00e0, 0x12be, 0x1078,
+ 0x4725, 0x0078, 0x12be, 0x132b, 0x132b, 0x132d, 0x132d, 0x133a,
+ 0x133a, 0x133a, 0x133a, 0x1345, 0x1345, 0x1352, 0x1352, 0x133a,
+ 0x133a, 0x133a, 0x133a, 0x132b, 0x132b, 0x132d, 0x132d, 0x133a,
+ 0x133a, 0x133a, 0x133a, 0x1345, 0x1345, 0x1352, 0x1352, 0x133a,
+ 0x133a, 0x133a, 0x133a, 0x0078, 0x132b, 0x007e, 0x107e, 0x127e,
+ 0x2091, 0x2400, 0x1078, 0x28e9, 0x127f, 0x107f, 0x007f, 0x2091,
+ 0x8001, 0x007c, 0x007e, 0x107e, 0x127e, 0x1078, 0x13b3, 0x127f,
+ 0x107f, 0x007f, 0x2091, 0x8001, 0x007c, 0x007e, 0x107e, 0x127e,
+ 0x2091, 0x2300, 0x1078, 0x28e9, 0x127f, 0x107f, 0x007f, 0x2091,
+ 0x8001, 0x007c, 0x007e, 0x107e, 0x127e, 0x2091, 0x2300, 0x1078,
+ 0x28e9, 0x2091, 0x2400, 0x1078, 0x28e9, 0x127f, 0x107f, 0x007f,
+ 0x2091, 0x8001, 0x007c, 0x1383, 0x1383, 0x1385, 0x1385, 0x1392,
+ 0x1392, 0x1392, 0x1392, 0x139d, 0x139d, 0x1385, 0x1385, 0x1392,
+ 0x1392, 0x1392, 0x1392, 0x139e, 0x139e, 0x139e, 0x139e, 0x139e,
+ 0x139e, 0x139e, 0x139e, 0x139e, 0x139e, 0x139e, 0x139e, 0x139e,
+ 0x139e, 0x139e, 0x139e, 0x0078, 0x1383, 0x007e, 0x107e, 0x127e,
+ 0x2091, 0x2300, 0x1078, 0x28e9, 0x127f, 0x107f, 0x007f, 0x2091,
+ 0x8001, 0x007c, 0x007e, 0x107e, 0x127e, 0x1078, 0x13c0, 0x127f,
+ 0x107f, 0x007f, 0x2091, 0x8001, 0x007c, 0x007c, 0x0e7e, 0x007e,
+ 0x2071, 0x4a00, 0x70e0, 0xa005, 0x00c0, 0x13b0, 0x0f7e, 0x2079,
+ 0x0100, 0x70e3, 0x0020, 0x78ec, 0xa084, 0x1c00, 0x70e6, 0x0f7f,
+ 0x007f, 0x0e7f, 0x007c, 0x3c00, 0xa084, 0x0007, 0x0079, 0x13b8,
+ 0x13c9, 0x13c9, 0x13cb, 0x13cb, 0x13d0, 0x13d0, 0x13d5, 0x13d5,
+ 0x3c00, 0xa084, 0x0003, 0x0079, 0x13c5, 0x13c9, 0x13c9, 0x13de,
+ 0x13de, 0x1078, 0x28ca, 0x2091, 0x2200, 0x1078, 0x4479, 0x007c,
+ 0x2091, 0x2100, 0x1078, 0x4479, 0x007c, 0x2091, 0x2100, 0x1078,
+ 0x4479, 0x2091, 0x2200, 0x1078, 0x4479, 0x007c, 0x2091, 0x2100,
+ 0x1078, 0x4479, 0x007c, 0x1403, 0x1403, 0x1405, 0x1405, 0x1412,
+ 0x1412, 0x1412, 0x1412, 0x141d, 0x141d, 0x142a, 0x142a, 0x1412,
+ 0x1412, 0x1412, 0x1412, 0x143b, 0x143b, 0x143b, 0x143b, 0x143b,
+ 0x143b, 0x143b, 0x143b, 0x143b, 0x143b, 0x143b, 0x143b, 0x143b,
+ 0x143b, 0x143b, 0x143b, 0x0078, 0x1403, 0x007e, 0x107e, 0x127e,
+ 0x2091, 0x2400, 0x1078, 0x28e9, 0x127f, 0x107f, 0x007f, 0x2091,
+ 0x8001, 0x007c, 0x007e, 0x107e, 0x127e, 0x1078, 0x13b3, 0x127f,
+ 0x107f, 0x007f, 0x2091, 0x8001, 0x007c, 0x007e, 0x107e, 0x127e,
+ 0x2091, 0x2300, 0x1078, 0x28e9, 0x127f, 0x107f, 0x007f, 0x2091,
+ 0x8001, 0x007c, 0x007e, 0x107e, 0x127e, 0x2091, 0x2300, 0x1078,
+ 0x28e9, 0x2091, 0x2400, 0x1078, 0x28e9, 0x127f, 0x107f, 0x007f,
+ 0x2091, 0x8001, 0x007c, 0x007e, 0x107e, 0x127e, 0x0e7e, 0x0f7e,
+ 0x2079, 0x4a00, 0x3e00, 0xd084, 0x0040, 0x1452, 0x2071, 0x0200,
+ 0x78e0, 0xa005, 0x00c0, 0x1452, 0x78e3, 0x0020, 0x70ec, 0xa084,
+ 0x1c00, 0x78e6, 0x3e00, 0xd08c, 0x0040, 0x1462, 0x2071, 0x0100,
+ 0x78e8, 0xa005, 0x00c0, 0x1462, 0x78eb, 0x0020, 0x70ec, 0xa084,
+ 0x1c00, 0x78ee, 0x0f7f, 0x0e7f, 0x127f, 0x107f, 0x007f, 0x007c,
+ 0x7008, 0x800b, 0x00c8, 0x1476, 0x7007, 0x0002, 0xa08c, 0x01e0,
+ 0x00c0, 0x1477, 0xd09c, 0x0040, 0x1476, 0x087a, 0x097a, 0x70c3,
+ 0x4002, 0x0078, 0x15a9, 0x0068, 0x1500, 0x2061, 0x0000, 0x6018,
+ 0xd084, 0x00c0, 0x1500, 0x7828, 0xa005, 0x00c0, 0x148b, 0x0010,
+ 0x1501, 0x0078, 0x1500, 0x7910, 0xd1f4, 0x0040, 0x1493, 0x2001,
+ 0x4007, 0x0078, 0x15a8, 0x7914, 0xd1ec, 0x0040, 0x14ae, 0xd0fc,
+ 0x0040, 0x14a4, 0x007e, 0x1078, 0x1d6d, 0x007f, 0x0040, 0x14ae,
+ 0x2001, 0x4007, 0x0078, 0x15a8, 0x007e, 0x1078, 0x1d5d, 0x007f,
+ 0x0040, 0x14ae, 0x2001, 0x4007, 0x0078, 0x15a8, 0x7910, 0xd0fc,
+ 0x00c0, 0x14b8, 0x2061, 0x4a40, 0xc19c, 0xc7fc, 0x0078, 0x14bc,
+ 0x2061, 0x4a80, 0xc19d, 0xc7fd, 0x6064, 0xa005, 0x00c0, 0x1500,
+ 0x7912, 0x6083, 0x0000, 0x7828, 0xc0fc, 0xa086, 0x0018, 0x00c0,
+ 0x14cd, 0x0c7e, 0x1078, 0x1b1c, 0x0c7f, 0x782b, 0x0000, 0x607c,
+ 0xa065, 0x0040, 0x14e6, 0x0c7e, 0x609c, 0x1078, 0x1e3b, 0x0c7f,
+ 0x609f, 0x0000, 0x1078, 0x1c48, 0x2009, 0x0018, 0x6087, 0x0103,
+ 0x1078, 0x1d7d, 0x00c0, 0x14fa, 0x1078, 0x1dc2, 0x7810, 0xd09c,
+ 0x00c0, 0x14ee, 0x2061, 0x4a40, 0x0078, 0x14f2, 0x2061, 0x4a80,
+ 0xc09c, 0x7812, 0x607f, 0x0000, 0x60d4, 0xd0dc, 0x0040, 0x14fe,
+ 0xc0dc, 0x60d6, 0x2001, 0x4005, 0x0078, 0x15a8, 0x0078, 0x15a6,
+ 0x007c, 0x7810, 0xd0f4, 0x0040, 0x1509, 0x2001, 0x4007, 0x0078,
+ 0x15a8, 0xa006, 0x70c2, 0x70c6, 0x70ca, 0x70ce, 0x70da, 0x70c0,
+ 0xa08a, 0x0040, 0x00c8, 0x1516, 0x0079, 0x151d, 0x2100, 0xa08a,
+ 0x0040, 0x00c8, 0x15b4, 0x0079, 0x155d, 0x15a6, 0x15fc, 0x15c5,
+ 0x1634, 0x166c, 0x166c, 0x15bc, 0x1c60, 0x1677, 0x15b4, 0x15c9,
+ 0x15cb, 0x15cd, 0x15cf, 0x1c65, 0x15b4, 0x1685, 0x16dd, 0x1b3e,
+ 0x1c5a, 0x15d1, 0x19b0, 0x19f2, 0x1a28, 0x1a74, 0x196b, 0x1978,
+ 0x198c, 0x199f, 0x17ad, 0x1ce5, 0x170f, 0x171c, 0x1728, 0x1734,
+ 0x174a, 0x1756, 0x1759, 0x1765, 0x1771, 0x1779, 0x1795, 0x17a1,
+ 0x15b4, 0x15b4, 0x15b4, 0x15b4, 0x17ba, 0x17cc, 0x17e8, 0x181e,
+ 0x1846, 0x1856, 0x1859, 0x188a, 0x18bb, 0x18cd, 0x193a, 0x194a,
+ 0x1d3b, 0x15b4, 0x15b4, 0x15b4, 0x195a, 0x15b4, 0x15b4, 0x15b4,
+ 0x15b4, 0x15b4, 0x1c8a, 0x1c90, 0x15b4, 0x15b4, 0x15b4, 0x1c94,
+ 0x1ce1, 0x15b4, 0x15b4, 0x1cf1, 0x1d00, 0x15f6, 0x1666, 0x167f,
+ 0x16d7, 0x1b38, 0x15b4, 0x15b4, 0x15b4, 0x15b4, 0x15b4, 0x1c7c,
+ 0x1c86, 0x15b4, 0x15b4, 0x1d0b, 0x1d24, 0x15b4, 0x15b4, 0x15b4,
+ 0x15b4, 0x15b4, 0x15b4, 0x15b4, 0x15b4, 0x15b4, 0x15b4, 0x15b4,
+ 0x15b4, 0x15b4, 0x15b4, 0x15b4, 0x15b4, 0x15b4, 0x15b4, 0x15b4,
+ 0x15b4, 0x15b4, 0x15b4, 0x15b4, 0x15b4, 0x15b4, 0x15b4, 0x15b4,
+ 0x15b4, 0x15b4, 0x15b4, 0x15b4, 0x15b4, 0x72ca, 0x71c6, 0x2001,
+ 0x4006, 0x0078, 0x15a8, 0x73ce, 0x72ca, 0x71c6, 0x2001, 0x4000,
+ 0x70c2, 0x0068, 0x15a9, 0x2061, 0x0000, 0x601b, 0x0001, 0x2091,
+ 0x5000, 0x2091, 0x4080, 0x007c, 0x70c3, 0x4001, 0x0078, 0x15a9,
+ 0x70c3, 0x4006, 0x0078, 0x15a9, 0x2099, 0x0041, 0x20a1, 0x0041,
+ 0x20a9, 0x0005, 0x53a3, 0x0078, 0x15a6, 0x70c4, 0x70c3, 0x0004,
+ 0x007a, 0x0078, 0x15a6, 0x0078, 0x15a6, 0x0078, 0x15a6, 0x0078,
+ 0x15a6, 0x2091, 0x8000, 0x70c3, 0x0004, 0x70c7, 0x4953, 0x70cb,
+ 0x5020, 0x70cf, 0x2020, 0x70d3, 0x0008, 0x2001, 0x0007, 0x70d6,
+ 0x2079, 0x0000, 0x781b, 0x0001, 0x2031, 0x0030, 0x2059, 0x1000,
+ 0x2029, 0x041a, 0x2051, 0x0445, 0x2061, 0x0447, 0x20c1, 0x0000,
+ 0x2091, 0x5000, 0x2091, 0x4080, 0x0078, 0x0418, 0x75d8, 0x74dc,
+ 0x75da, 0x74de, 0x0078, 0x15ff, 0x2029, 0x0000, 0x2520, 0x71d0,
+ 0x72c8, 0x73cc, 0x70c4, 0x20a0, 0x2099, 0x0030, 0x7003, 0x0001,
+ 0x7007, 0x0006, 0x731a, 0x721e, 0x7422, 0x7526, 0x2021, 0x0040,
+ 0x81ff, 0x0040, 0x15a6, 0xa182, 0x0040, 0x00c8, 0x1619, 0x2120,
+ 0xa006, 0x2008, 0x8403, 0x7012, 0x7007, 0x0004, 0x7007, 0x0001,
+ 0x7008, 0xd0fc, 0x0040, 0x1620, 0x7007, 0x0002, 0xa084, 0x01e0,
+ 0x0040, 0x162e, 0x70c3, 0x4002, 0x0078, 0x15a9, 0x24a8, 0x53a5,
+ 0x0078, 0x1610, 0x0078, 0x15a6, 0x2029, 0x0000, 0x2520, 0x71d0,
+ 0x72c8, 0x73cc, 0x70c4, 0x2098, 0x20a1, 0x0030, 0x7003, 0x0000,
+ 0x7007, 0x0006, 0x731a, 0x721e, 0x7422, 0x7526, 0x2021, 0x0040,
+ 0x7007, 0x0006, 0x81ff, 0x0040, 0x15a6, 0xa182, 0x0040, 0x00c8,
+ 0x1653, 0x2120, 0xa006, 0x2008, 0x8403, 0x7012, 0x24a8, 0x53a6,
+ 0x7007, 0x0001, 0x7008, 0xd0fc, 0x0040, 0x165a, 0xa084, 0x01e0,
+ 0x0040, 0x1648, 0x70c3, 0x4002, 0x0078, 0x15a9, 0x75d8, 0x74dc,
+ 0x75da, 0x74de, 0x0078, 0x1637, 0x71c4, 0x70c8, 0x2114, 0xa79e,
+ 0x0004, 0x00c0, 0x1674, 0x200a, 0x72ca, 0x0078, 0x15a5, 0x70c7,
+ 0x0008, 0x70cb, 0x0007, 0x70cf, 0x0000, 0x0078, 0x15a6, 0x75d8,
+ 0x76dc, 0x75da, 0x76de, 0x0078, 0x1688, 0x2029, 0x0000, 0x2530,
+ 0x70c4, 0x72c8, 0x73cc, 0x74d0, 0x70c6, 0x72ca, 0x73ce, 0x74d2,
+ 0xa005, 0x0040, 0x16d2, 0x8001, 0x7872, 0xa084, 0xfc00, 0x0040,
+ 0x16a0, 0x78ac, 0xc085, 0x78ae, 0x2001, 0x4005, 0x0078, 0x15a8,
+ 0x7b7e, 0x7a7a, 0x7e86, 0x7d82, 0x7c76, 0xa48c, 0xff00, 0x0040,
+ 0x16b8, 0x8407, 0x8004, 0x8004, 0x810c, 0x810c, 0x810f, 0xa118,
+ 0xa291, 0x0000, 0xa6b1, 0x0000, 0xa581, 0x0000, 0x0078, 0x16c2,
+ 0x8407, 0x8004, 0x8004, 0xa318, 0xa291, 0x0000, 0xa6b1, 0x0000,
+ 0xa581, 0x0000, 0x731a, 0x721e, 0x7622, 0x7026, 0xa605, 0x0040,
+ 0x16cc, 0x7a10, 0xc2c5, 0x7a12, 0x78ac, 0xa084, 0xfffc, 0x78ae,
+ 0x0078, 0x16d5, 0x78ac, 0xc085, 0x78ae, 0x0078, 0x15a6, 0x75d8,
+ 0x76dc, 0x75da, 0x76de, 0x0078, 0x16e0, 0x2029, 0x0000, 0x2530,
+ 0x70c4, 0x72c8, 0x73cc, 0x74d4, 0x70c6, 0x72ca, 0x73ce, 0x74d6,
+ 0xa005, 0x0040, 0x170a, 0x8001, 0x7892, 0xa084, 0xfc00, 0x0040,
+ 0x16f8, 0x78ac, 0xc0c5, 0x78ae, 0x2001, 0x4005, 0x0078, 0x15a8,
+ 0x7a9a, 0x7b9e, 0x7da2, 0x7ea6, 0x2600, 0xa505, 0x0040, 0x1703,
+ 0x7a10, 0xc2c5, 0x7a12, 0x7c96, 0x78ac, 0xa084, 0xfcff, 0x78ae,
+ 0x0078, 0x170d, 0x78ac, 0xc0c5, 0x78ae, 0x0078, 0x15a6, 0x2009,
+ 0x0000, 0x786c, 0xa065, 0x0040, 0x1719, 0x8108, 0x6000, 0x0078,
+ 0x1712, 0x7ac4, 0x0078, 0x15a4, 0x2009, 0x4a48, 0x210c, 0x7810,
+ 0xd0ec, 0x00c0, 0x15a5, 0x2011, 0x4a88, 0x2214, 0x0078, 0x15a4,
+ 0x2009, 0x4a49, 0x210c, 0x7810, 0xd0ec, 0x00c0, 0x15a5, 0x2011,
+ 0x4a89, 0x2214, 0x0078, 0x15a4, 0x2061, 0x4a40, 0x6128, 0x622c,
+ 0x8214, 0x8214, 0x8214, 0x7810, 0xd0ec, 0x00c0, 0x1748, 0x2061,
+ 0x4a80, 0x6328, 0x73da, 0x632c, 0x831c, 0x831c, 0x831c, 0x73de,
+ 0x0078, 0x15a4, 0x2009, 0x4a4c, 0x210c, 0x7810, 0xd0ec, 0x00c0,
+ 0x15a5, 0x2011, 0x4a8c, 0x2214, 0x0078, 0x15a4, 0x7918, 0x0078,
+ 0x15a5, 0x2009, 0x4a4d, 0x210c, 0x7810, 0xd0ec, 0x00c0, 0x15a5,
+ 0x2011, 0x4a8d, 0x2214, 0x0078, 0x15a4, 0x2009, 0x4a4e, 0x210c,
+ 0x7810, 0xd0ec, 0x00c0, 0x15a5, 0x2011, 0x4a8e, 0x2214, 0x0078,
+ 0x15a4, 0x7920, 0x7810, 0xd0ec, 0x00c0, 0x15a5, 0x7a24, 0x0078,
+ 0x15a4, 0x71c4, 0xd1fc, 0x00c0, 0x1781, 0x2011, 0x4ec0, 0x0078,
+ 0x1783, 0x2011, 0x4f40, 0x8107, 0xa084, 0x000f, 0x8003, 0x8003,
+ 0x8003, 0xa268, 0x6a00, 0x6804, 0xd09c, 0x0040, 0x1792, 0x6b08,
+ 0x0078, 0x1793, 0x6b0c, 0x0078, 0x15a3, 0x77c4, 0x1078, 0x1de0,
+ 0x2091, 0x8000, 0x6b1c, 0x6a14, 0x2091, 0x8001, 0x2708, 0x0078,
+ 0x15a3, 0x2061, 0x4a40, 0x6118, 0x7810, 0xd0ec, 0x00c0, 0x15a5,
+ 0x2061, 0x4a80, 0x6218, 0x0078, 0x15a4, 0x77c4, 0x1078, 0x1de0,
+ 0x2091, 0x8000, 0x6908, 0x6a18, 0x6b10, 0x77da, 0x2091, 0x8001,
+ 0x0078, 0x15a3, 0x71c4, 0x2110, 0xa294, 0x000f, 0xa282, 0x0010,
+ 0x00c8, 0x159e, 0x1078, 0x2707, 0xa384, 0x4000, 0x0040, 0x17ca,
+ 0xa295, 0x0020, 0x0078, 0x15a3, 0x71c4, 0x2100, 0xc0bc, 0xa082,
+ 0x0010, 0x00c8, 0x159e, 0xd1bc, 0x00c0, 0x17db, 0x2011, 0x4a48,
+ 0x2204, 0x0078, 0x17df, 0x2011, 0x4a88, 0x2204, 0xc0bd, 0x007e,
+ 0x2100, 0xc0bc, 0x2012, 0x1078, 0x2664, 0x017f, 0x0078, 0x15a5,
+ 0x71c4, 0x2021, 0x4a49, 0x2404, 0x70c6, 0x2019, 0x0000, 0x0078,
+ 0x17f7, 0x71c8, 0x2021, 0x4a89, 0x2404, 0x70ca, 0xc3fd, 0x2011,
+ 0x1816, 0x20a9, 0x0008, 0x2204, 0xa106, 0x0040, 0x1806, 0x8210,
+ 0x00f0, 0x17fb, 0x71c4, 0x72c8, 0x0078, 0x159d, 0xa292, 0x1816,
+ 0x027e, 0x2122, 0x017f, 0x1078, 0x2685, 0x7810, 0xd0ec, 0x00c0,
+ 0x1814, 0xd3fc, 0x0040, 0x17f1, 0x0078, 0x15a6, 0x03e8, 0x00fa,
+ 0x01f4, 0x02ee, 0x0064, 0x0019, 0x0032, 0x004b, 0x2061, 0x4a40,
+ 0x6128, 0x622c, 0x8214, 0x8214, 0x8214, 0x70c4, 0x602a, 0x70c8,
+ 0x8003, 0x8003, 0x8003, 0x602e, 0x7810, 0xd0ec, 0x00c0, 0x1844,
+ 0x027e, 0x017e, 0x2061, 0x4a80, 0x6128, 0x622c, 0x8214, 0x8214,
+ 0x8214, 0x70d8, 0x602a, 0x70dc, 0x8003, 0x8003, 0x8003, 0x602e,
+ 0x71da, 0x72de, 0x017f, 0x027f, 0x0078, 0x15a4, 0x2061, 0x4a40,
+ 0x6130, 0x70c4, 0x6032, 0x7810, 0xd0ec, 0x00c0, 0x15a5, 0x2061,
+ 0x4a80, 0x6230, 0x70c8, 0x6032, 0x0078, 0x15a4, 0x7918, 0x0078,
+ 0x15a5, 0x71c4, 0xa184, 0xffcf, 0x0040, 0x1865, 0x7810, 0xd0ec,
+ 0x00c0, 0x159e, 0x72c8, 0x0078, 0x159d, 0x2011, 0x4a4d, 0x2204,
+ 0x2112, 0x007e, 0x2019, 0x0000, 0x1078, 0x26ec, 0x7810, 0xd0ec,
+ 0x0040, 0x1875, 0x017f, 0x0078, 0x15a5, 0x71c8, 0xa184, 0xffcf,
+ 0x0040, 0x187e, 0x2110, 0x71c4, 0x0078, 0x159d, 0x2011, 0x4a8d,
+ 0x2204, 0x2112, 0x007e, 0xc3fd, 0x1078, 0x26ec, 0x027f, 0x017f,
+ 0x0078, 0x15a4, 0x71c4, 0xa182, 0x0010, 0x0048, 0x1896, 0x7810,
+ 0xd0ec, 0x00c0, 0x159e, 0x72c8, 0x0078, 0x159d, 0x2011, 0x4a4e,
+ 0x2204, 0x007e, 0x2112, 0x2019, 0x0000, 0x1078, 0x26ca, 0x7810,
+ 0xd0ec, 0x0040, 0x18a6, 0x017f, 0x0078, 0x15a5, 0x71c8, 0xa182,
+ 0x0010, 0x0048, 0x18af, 0x2110, 0x71c4, 0x0078, 0x159d, 0x2011,
+ 0x4a8e, 0x2204, 0x007e, 0x2112, 0xc3fd, 0x1078, 0x26ca, 0x027f,
+ 0x017f, 0x0078, 0x15a4, 0x71c4, 0x72c8, 0xa184, 0xfffd, 0x00c0,
+ 0x159d, 0xa284, 0xfffd, 0x00c0, 0x159d, 0x2100, 0x7920, 0x7822,
+ 0x2200, 0x7a24, 0x7826, 0x0078, 0x15a4, 0x71c4, 0xd1fc, 0x00c0,
+ 0x18d5, 0x2011, 0x4ec0, 0x0078, 0x18d7, 0x2011, 0x4f40, 0x8107,
+ 0xa084, 0x000f, 0x8003, 0x8003, 0x8003, 0xa268, 0x2019, 0x0000,
+ 0x72c8, 0xa284, 0x0080, 0x0040, 0x18eb, 0x6c14, 0x84ff, 0x00c0,
+ 0x18eb, 0x6817, 0x0040, 0xa284, 0x0040, 0x0040, 0x18f5, 0x6c10,
+ 0x84ff, 0x00c0, 0x18f5, 0x6813, 0x0001, 0x6800, 0x007e, 0xa226,
+ 0x0040, 0x1912, 0x6a02, 0xd4ec, 0x0040, 0x18ff, 0xc3a5, 0xd4e4,
+ 0x0040, 0x1903, 0xc39d, 0xd4f4, 0x0040, 0x1912, 0x810f, 0xd2f4,
+ 0x0040, 0x190e, 0x1078, 0x2749, 0x0078, 0x1912, 0x1078, 0x2727,
+ 0x0078, 0x1912, 0x72cc, 0x6808, 0xa206, 0x0040, 0x1932, 0xa2a4,
+ 0x00ff, 0x7814, 0xd0e4, 0x00c0, 0x1925, 0xa482, 0x0028, 0x0048,
+ 0x192f, 0x0040, 0x192f, 0x0078, 0x1929, 0xa482, 0x0043, 0x0048,
+ 0x192f, 0x71c4, 0x71c6, 0x027f, 0x72ca, 0x0078, 0x159f, 0x6a0a,
+ 0xa39d, 0x000a, 0x6804, 0xa305, 0x6806, 0x027f, 0x6b0c, 0x71c4,
+ 0x0078, 0x15a3, 0x77c4, 0x1078, 0x1de0, 0x2091, 0x8000, 0x6a14,
+ 0x6b1c, 0x2091, 0x8001, 0x70c8, 0x6816, 0x70cc, 0x681e, 0x2708,
+ 0x0078, 0x15a3, 0x70c4, 0x2061, 0x4a40, 0x6118, 0x601a, 0x7810,
+ 0xd0ec, 0x00c0, 0x15a5, 0x70c8, 0x2061, 0x4a80, 0x6218, 0x601a,
+ 0x0078, 0x15a4, 0x71c4, 0x72c8, 0x73cc, 0xa182, 0x0010, 0x00c8,
+ 0x159e, 0x1078, 0x276b, 0xa384, 0x4000, 0x0040, 0x1969, 0xa295,
+ 0x0020, 0x0078, 0x15a3, 0x77c4, 0x1078, 0x1de0, 0x2091, 0x8000,
+ 0x6a08, 0xc28d, 0x6a0a, 0x2091, 0x8001, 0x2708, 0x0078, 0x15a4,
+ 0x77c4, 0x1078, 0x1de0, 0x2091, 0x8000, 0x6a08, 0xa294, 0xfff9,
+ 0x6a0a, 0x6804, 0xa005, 0x0040, 0x1987, 0x1078, 0x25bc, 0x2091,
+ 0x8001, 0x2708, 0x0078, 0x15a4, 0x77c4, 0x1078, 0x1de0, 0x2091,
+ 0x8000, 0x6a08, 0xc295, 0x6a0a, 0x6804, 0xa005, 0x0040, 0x199a,
+ 0x1078, 0x25bc, 0x2091, 0x8001, 0x2708, 0x0078, 0x15a4, 0x77c4,
+ 0x2041, 0x0001, 0x2049, 0x0005, 0x2051, 0x0020, 0x2091, 0x8000,
+ 0x1078, 0x1dfb, 0x2091, 0x8001, 0x2708, 0x6a08, 0x0078, 0x15a4,
+ 0x77c4, 0x7814, 0xd0e4, 0x00c0, 0x19c4, 0xd7fc, 0x0040, 0x19be,
+ 0x1078, 0x1d6d, 0x0040, 0x19c4, 0x0078, 0x15a8, 0x1078, 0x1d5d,
+ 0x0040, 0x19c4, 0x0078, 0x15a8, 0x73c8, 0x72cc, 0x77c6, 0x73ca,
+ 0x72ce, 0x1078, 0x1e78, 0x00c0, 0x19ee, 0x6818, 0xa005, 0x0040,
+ 0x19e8, 0x2708, 0x077e, 0x1078, 0x279b, 0x077f, 0x00c0, 0x19e8,
+ 0x2001, 0x0015, 0xd7fc, 0x00c0, 0x19e1, 0x2061, 0x4a40, 0x0078,
+ 0x19e4, 0xc0fd, 0x2061, 0x4a80, 0x782a, 0x2091, 0x8001, 0x007c,
+ 0x2091, 0x8001, 0x2001, 0x4005, 0x0078, 0x15a8, 0x2091, 0x8001,
+ 0x0078, 0x15a6, 0x77c4, 0x7814, 0xd0e4, 0x00c0, 0x1a06, 0xd7fc,
+ 0x0040, 0x1a00, 0x1078, 0x1d6d, 0x0040, 0x1a06, 0x0078, 0x15a8,
+ 0x1078, 0x1d5d, 0x0040, 0x1a06, 0x0078, 0x15a8, 0x77c6, 0x2041,
+ 0x0021, 0x2049, 0x0005, 0x2051, 0x0020, 0x2091, 0x8000, 0x1078,
+ 0x1dfb, 0x2009, 0x0016, 0xd7fc, 0x00c0, 0x1a1a, 0x2061, 0x4a40,
+ 0x0078, 0x1a1d, 0x2061, 0x4a80, 0xc1fd, 0x6067, 0x0003, 0x6776,
+ 0x6083, 0x000f, 0x792a, 0x1078, 0x25bc, 0x2091, 0x8001, 0x007c,
+ 0x77c8, 0x77ca, 0x77c4, 0x77c6, 0x7814, 0xd0e4, 0x00c0, 0x1a3f,
+ 0xd7fc, 0x0040, 0x1a39, 0x1078, 0x1d6d, 0x0040, 0x1a3f, 0x0078,
+ 0x15a8, 0x1078, 0x1d5d, 0x0040, 0x1a3f, 0x0078, 0x15a8, 0xa7bc,
+ 0xff00, 0x2091, 0x8000, 0x2009, 0x0017, 0xd7fc, 0x00c0, 0x1a4c,
+ 0x2061, 0x4a40, 0x0078, 0x1a4f, 0x2061, 0x4a80, 0xc1fd, 0x6067,
+ 0x0002, 0x6776, 0x6083, 0x000f, 0x792a, 0x1078, 0x25bc, 0x2091,
+ 0x8001, 0x2041, 0x0021, 0x2049, 0x0005, 0x2051, 0x0010, 0x2091,
+ 0x8000, 0x70c8, 0xa005, 0x0040, 0x1a68, 0x60d4, 0xc0fd, 0x60d6,
+ 0x1078, 0x1dfb, 0x70c8, 0x683e, 0x8738, 0xa784, 0x001f, 0x00c0,
+ 0x1a68, 0x2091, 0x8001, 0x007c, 0x7814, 0xd0e4, 0x00c0, 0x1a88,
+ 0x72c8, 0xd284, 0x0040, 0x1a82, 0x1078, 0x1d6d, 0x0040, 0x1a88,
+ 0x0078, 0x15a8, 0x1078, 0x1d5d, 0x0040, 0x1a88, 0x0078, 0x15a8,
+ 0x72c8, 0x72ca, 0x78ac, 0xa084, 0x0003, 0x00c0, 0x1ab3, 0x2039,
+ 0x0000, 0xd284, 0x0040, 0x1a95, 0xc7fd, 0x2041, 0x0021, 0x2049,
+ 0x0004, 0x2051, 0x0008, 0x1078, 0x1de0, 0x2091, 0x8000, 0x6808,
+ 0xc0d4, 0xa80d, 0x690a, 0x2091, 0x8001, 0x8738, 0xa784, 0x001f,
+ 0x00c0, 0x1a9b, 0xa7bc, 0xff00, 0x873f, 0x8738, 0x873f, 0xa784,
+ 0x0f00, 0x00c0, 0x1a9b, 0x2091, 0x8000, 0x72c8, 0xd284, 0x00c0,
+ 0x1ac5, 0x7810, 0xd0ec, 0x0040, 0x1ac1, 0x2069, 0x0100, 0x0078,
+ 0x1ac7, 0x2069, 0x0200, 0x0078, 0x1ac7, 0x2069, 0x0100, 0x6830,
+ 0xd0b4, 0x0040, 0x1ae3, 0x684b, 0x0004, 0x20a9, 0x0014, 0x6848,
+ 0xd094, 0x0040, 0x1ad5, 0x00f0, 0x1acf, 0x684b, 0x0009, 0x20a9,
+ 0x0014, 0x6848, 0xd084, 0x0040, 0x1adf, 0x00f0, 0x1ad9, 0x20a9,
+ 0x00fa, 0x00f0, 0x1ae1, 0x2079, 0x4a00, 0x2009, 0x0018, 0x72c8,
+ 0xd284, 0x00c0, 0x1aef, 0x2061, 0x4a40, 0x0078, 0x1af2, 0x2061,
+ 0x4a80, 0xc1fd, 0x792a, 0x6067, 0x0001, 0x6083, 0x000f, 0x60a7,
+ 0x0000, 0x60a8, 0x60b2, 0x60b6, 0x60d4, 0xd0b4, 0x0040, 0x1b0c,
+ 0xc0b4, 0x60d6, 0x0c7e, 0x60b8, 0xa065, 0x6008, 0xc0d4, 0x600a,
+ 0x6018, 0x8001, 0x601a, 0x0c7f, 0x60d4, 0xa084, 0x77ff, 0x60d6,
+ 0x78ac, 0xc08d, 0x78ae, 0x6808, 0xa084, 0xfffd, 0x680a, 0x681b,
+ 0x0047, 0x2091, 0x8001, 0x007c, 0xd7fc, 0x00c0, 0x1b23, 0x2069,
+ 0x4a40, 0x0078, 0x1b25, 0x2069, 0x4a80, 0x78ac, 0xc08c, 0x78ae,
+ 0xd084, 0x00c0, 0x1b2f, 0x0d7e, 0x1078, 0x1ed8, 0x0d7f, 0x71c4,
+ 0x71c6, 0x6916, 0x81ff, 0x00c0, 0x1b37, 0x68a7, 0x0001, 0x007c,
+ 0x75d8, 0x74dc, 0x75da, 0x74de, 0x0078, 0x1b41, 0x2029, 0x0000,
+ 0x2520, 0x71c4, 0x73c8, 0x72cc, 0x71c6, 0x73ca, 0x72ce, 0x2079,
+ 0x4a00, 0x7dde, 0x7cda, 0x7bd6, 0x7ad2, 0x1078, 0x1db9, 0x0040,
+ 0x1c44, 0x20a9, 0x0005, 0x20a1, 0x4a14, 0x2091, 0x8000, 0x41a1,
+ 0x2091, 0x8001, 0x2009, 0x0040, 0x1078, 0x1fad, 0x0040, 0x1b64,
+ 0x1078, 0x1dc2, 0x0078, 0x1c44, 0x6004, 0xa08c, 0x00ff, 0xa18e,
+ 0x0009, 0x00c0, 0x1b6f, 0x007e, 0x1078, 0x2329, 0x007f, 0xa084,
+ 0xff00, 0x8007, 0x8009, 0x0040, 0x1be3, 0x0c7e, 0x2c68, 0x1078,
+ 0x1db9, 0x0040, 0x1bb5, 0x2c00, 0x689e, 0x8109, 0x00c0, 0x1b76,
+ 0x609f, 0x0000, 0x0c7f, 0x0c7e, 0x7ddc, 0x7cd8, 0x7bd4, 0x7ad0,
+ 0xa290, 0x0040, 0xa399, 0x0000, 0xa4a1, 0x0000, 0xa5a9, 0x0000,
+ 0x7dde, 0x7cda, 0x7bd6, 0x7ad2, 0x2c68, 0x689c, 0xa065, 0x0040,
+ 0x1be2, 0x2009, 0x0040, 0x1078, 0x1fad, 0x00c0, 0x1bcc, 0x6004,
+ 0xa084, 0x00ff, 0xa086, 0x0002, 0x00c0, 0x1bb5, 0x6004, 0xa084,
+ 0x00ff, 0xa086, 0x000a, 0x00c0, 0x1bb1, 0x017e, 0x1078, 0x2325,
+ 0x017f, 0x2d00, 0x6002, 0x0078, 0x1b84, 0x0c7f, 0x0c7e, 0x609c,
+ 0x1078, 0x1e3b, 0x0c7f, 0x609f, 0x0000, 0x1078, 0x1c48, 0x2009,
+ 0x0018, 0x6008, 0xc0cd, 0x600a, 0x6004, 0x6086, 0x1078, 0x1d7d,
+ 0x1078, 0x1dc2, 0x0078, 0x1c44, 0x0c7f, 0x0c7e, 0x609c, 0x1078,
+ 0x1e3b, 0x0c7f, 0x609f, 0x0000, 0x1078, 0x1c48, 0x2009, 0x0018,
+ 0x6087, 0x0103, 0x601b, 0x0003, 0x1078, 0x1d7d, 0x1078, 0x1dc2,
+ 0x0078, 0x1c44, 0x0c7f, 0x7814, 0xd0e4, 0x00c0, 0x1c08, 0x6114,
+ 0xd1fc, 0x0040, 0x1bf1, 0x1078, 0x1d6d, 0x0040, 0x1c08, 0x0078,
+ 0x1bf5, 0x1078, 0x1d5d, 0x0040, 0x1c08, 0x2029, 0x0000, 0x2520,
+ 0x2009, 0x0018, 0x73c8, 0x72cc, 0x6087, 0x0103, 0x601b, 0x0021,
+ 0x1078, 0x1d7d, 0x1078, 0x1dc2, 0x2001, 0x4007, 0x0078, 0x15a8,
+ 0x74c4, 0x73c8, 0x72cc, 0x6014, 0x2091, 0x8000, 0x0e7e, 0x2009,
+ 0x0012, 0xd0fc, 0x00c0, 0x1c18, 0x2071, 0x4a40, 0x0078, 0x1c1b,
+ 0x2071, 0x4a80, 0xc1fd, 0x792a, 0x7067, 0x0005, 0x71d4, 0xa18c,
+ 0xf77f, 0x71d6, 0x736a, 0x726e, 0x7472, 0x7076, 0x707b, 0x0000,
+ 0x2c00, 0x707e, 0xa02e, 0x2530, 0x611c, 0xa184, 0x0060, 0x0040,
+ 0x1c33, 0x1078, 0x4383, 0x0e7f, 0x6596, 0x65a6, 0x669a, 0x66aa,
+ 0x60af, 0x0000, 0x60b3, 0x0000, 0x6714, 0x6023, 0x0000, 0x1078,
+ 0x25bc, 0x2091, 0x8001, 0x007c, 0x70c3, 0x4005, 0x0078, 0x15a9,
+ 0x20a9, 0x0005, 0x2099, 0x4a14, 0x2091, 0x8000, 0x530a, 0x2091,
+ 0x8001, 0x2100, 0xa210, 0xa399, 0x0000, 0xa4a1, 0x0000, 0xa5a9,
+ 0x0000, 0x007c, 0x71c4, 0x70c7, 0x0000, 0x791e, 0x0078, 0x15a6,
+ 0x71c4, 0x71c6, 0x2168, 0x0078, 0x1c67, 0x2069, 0x1000, 0x690c,
+ 0xa016, 0x2d04, 0xa210, 0x8d68, 0x8109, 0x00c0, 0x1c69, 0xa285,
+ 0x0000, 0x00c0, 0x1c77, 0x70c3, 0x4000, 0x0078, 0x1c79, 0x70c3,
+ 0x4003, 0x70ca, 0x0078, 0x15a9, 0x7964, 0x71c6, 0x71c4, 0xa182,
+ 0x0003, 0x00c8, 0x159e, 0x7966, 0x0078, 0x15a6, 0x7964, 0x71c6,
+ 0x0078, 0x15a6, 0x7900, 0x71c6, 0x71c4, 0x7902, 0x0078, 0x15a6,
+ 0x7900, 0x71c6, 0x0078, 0x15a6, 0x70c4, 0xd08c, 0x0040, 0x1c9d,
+ 0x7a10, 0xd2ec, 0x00c0, 0x1c9d, 0xc08c, 0x2011, 0x0000, 0xa08c,
+ 0x000d, 0x0040, 0x1cb1, 0x810c, 0x0048, 0x1cad, 0x8210, 0x810c,
+ 0x810c, 0x0048, 0x1cad, 0x8210, 0x810c, 0x81ff, 0x00c0, 0x159f,
+ 0x8210, 0x7a0e, 0xd28c, 0x0040, 0x1cdd, 0x7910, 0xc1cd, 0x7912,
+ 0x2009, 0x0021, 0x2019, 0x0003, 0xd284, 0x0040, 0x1cd7, 0x8108,
+ 0x2019, 0x0041, 0x2011, 0x924e, 0x2312, 0x2019, 0x0042, 0x8210,
+ 0x2312, 0x2019, 0x0043, 0x8210, 0x2312, 0x2019, 0x0046, 0x8210,
+ 0x2312, 0x2019, 0x0047, 0x8210, 0x2312, 0x2019, 0x0006, 0x2011,
+ 0x9253, 0x2112, 0x2011, 0x9273, 0x2312, 0x7904, 0x7806, 0x0078,
+ 0x15a5, 0x7804, 0x70c6, 0x0078, 0x15a6, 0x2091, 0x8000, 0x2019,
+ 0x0000, 0x2011, 0x0000, 0x2009, 0x0000, 0x2091, 0x8001, 0x0078,
+ 0x15a3, 0x77c4, 0x1078, 0x1de0, 0x2091, 0x8000, 0x6830, 0xa084,
+ 0xff00, 0x8007, 0x2010, 0x2091, 0x8001, 0x2708, 0x0078, 0x15a4,
+ 0x77c4, 0x1078, 0x1de0, 0x2091, 0x8000, 0x6a34, 0x2091, 0x8001,
+ 0x2708, 0x0078, 0x15a4, 0x77c4, 0x077e, 0xa7bc, 0xff00, 0x20a9,
+ 0x0008, 0x72c8, 0x8217, 0x1078, 0x1de0, 0x2091, 0x8000, 0x6c30,
+ 0x6a32, 0x2091, 0x8001, 0x8738, 0x00f0, 0x1d13, 0x077f, 0x2708,
+ 0x8427, 0x2410, 0x0078, 0x15a4, 0x77c4, 0x077e, 0xa7bc, 0xff00,
+ 0x20a9, 0x0008, 0x72c8, 0x1078, 0x1de0, 0x2091, 0x8000, 0x6c34,
+ 0x6a36, 0x2091, 0x8001, 0x8738, 0x00f0, 0x1d2b, 0x077f, 0x2708,
+ 0x2410, 0x0078, 0x15a4, 0x2011, 0x4a3c, 0x220c, 0x70c4, 0x2012,
+ 0x0078, 0x15a5, 0x017e, 0x7814, 0xd0f4, 0x0040, 0x1d4f, 0x2001,
+ 0x4007, 0x70db, 0x0000, 0xa18d, 0x0001, 0x0078, 0x1d5b, 0xd0fc,
+ 0x0040, 0x1d5a, 0x2001, 0x4007, 0x70db, 0x0001, 0xa18d, 0x0001,
+ 0x0078, 0x1d5b, 0xa006, 0x017f, 0x007c, 0x017e, 0x7814, 0xd0f4,
+ 0x0040, 0x1d6a, 0x2001, 0x4007, 0x70db, 0x0000, 0xa18d, 0x0001,
+ 0x0078, 0x1d6b, 0xa006, 0x017f, 0x007c, 0x017e, 0x7814, 0xd0fc,
+ 0x0040, 0x1d7a, 0x2001, 0x4007, 0x70db, 0x0001, 0xa18d, 0x0001,
+ 0x0078, 0x1d7b, 0xa006, 0x017f, 0x007c, 0x7112, 0x721a, 0x731e,
+ 0x7810, 0xd0c4, 0x0040, 0x1d86, 0x7422, 0x7526, 0xac80, 0x0001,
+ 0x8108, 0x810c, 0x81a9, 0x8098, 0x20a1, 0x0030, 0x7003, 0x0000,
+ 0x6084, 0x20a2, 0x53a6, 0x7007, 0x0001, 0x7974, 0x8107, 0x8004,
+ 0x8004, 0x797c, 0xa108, 0x7a78, 0xa006, 0xa211, 0x7d10, 0xd5c4,
+ 0x0040, 0x1da6, 0x7b84, 0xa319, 0x7c80, 0xa421, 0x7008, 0xd0fc,
+ 0x0040, 0x1da6, 0x7003, 0x0001, 0x7007, 0x0006, 0x711a, 0x721e,
+ 0x7d10, 0xd5c4, 0x0040, 0x1db6, 0x7322, 0x7426, 0xa084, 0x01e0,
+ 0x007c, 0x7848, 0xa065, 0x0040, 0x1dc1, 0x2c04, 0x784a, 0x2063,
+ 0x0000, 0x007c, 0x0f7e, 0x2079, 0x4a00, 0x7848, 0x2062, 0x2c00,
+ 0xa005, 0x00c0, 0x1dcd, 0x1078, 0x28ca, 0x784a, 0x0f7f, 0x007c,
+ 0x2011, 0x9400, 0x7a4a, 0x7bc4, 0x8319, 0x0040, 0x1ddd, 0xa280,
+ 0x0032, 0x2012, 0x2010, 0x0078, 0x1dd4, 0x2013, 0x0000, 0x007c,
+ 0x017e, 0x027e, 0xd7fc, 0x00c0, 0x1de9, 0x2011, 0x4fc0, 0x0078,
+ 0x1deb, 0x2011, 0x6fc0, 0xa784, 0x0f00, 0x800b, 0xa784, 0x001f,
+ 0x0040, 0x1df6, 0x8003, 0x8003, 0x8003, 0x8003, 0xa105, 0xa268,
+ 0x027f, 0x017f, 0x007c, 0x1078, 0x1de0, 0x2900, 0x682a, 0x2a00,
+ 0x682e, 0x6808, 0xa084, 0xf9ef, 0xa80d, 0x690a, 0xd7fc, 0x00c0,
+ 0x1e0d, 0x2009, 0x4a53, 0x0078, 0x1e0f, 0x2009, 0x4a93, 0x210c,
+ 0x6804, 0xa005, 0x0040, 0x1e1f, 0xa116, 0x00c0, 0x1e1f, 0x2060,
+ 0x6000, 0x6806, 0x017e, 0x200b, 0x0000, 0x0078, 0x1e22, 0x2009,
+ 0x0000, 0x017e, 0x6804, 0xa065, 0x0040, 0x1e37, 0x6000, 0x6806,
+ 0x1078, 0x1e4d, 0x1078, 0x1ff9, 0x6810, 0x7908, 0x8109, 0x790a,
+ 0x8001, 0x6812, 0x00c0, 0x1e22, 0x7910, 0xc1a5, 0x7912, 0x017f,
+ 0x6902, 0x6906, 0x007c, 0xa065, 0x0040, 0x1e4c, 0x2008, 0x609c,
+ 0xa005, 0x0040, 0x1e49, 0x2062, 0x609f, 0x0000, 0xa065, 0x0078,
+ 0x1e3f, 0x7848, 0x794a, 0x2062, 0x007c, 0x6007, 0x0103, 0x608f,
+ 0x0000, 0x20a9, 0x001c, 0xac80, 0x0005, 0x20a0, 0x2001, 0x0000,
+ 0x40a4, 0x6828, 0x601a, 0x682c, 0x6022, 0x007c, 0x0e7e, 0xd7fc,
+ 0x00c0, 0x1e68, 0x2071, 0x4a40, 0x2031, 0x4ac0, 0x0078, 0x1e6c,
+ 0x2071, 0x4a80, 0x2031, 0x4cc0, 0x7050, 0xa08c, 0x0200, 0x00c0,
+ 0x1e76, 0xa608, 0x2d0a, 0x8000, 0x7052, 0xa006, 0x0e7f, 0x007c,
+ 0x0f7e, 0xd7fc, 0x00c0, 0x1e80, 0x2079, 0x4a40, 0x0078, 0x1e82,
+ 0x2079, 0x4a80, 0x1078, 0x1de0, 0x2091, 0x8000, 0x6804, 0x780a,
+ 0xa065, 0x0040, 0x1ed6, 0x0078, 0x1e94, 0x2c00, 0x780a, 0x2060,
+ 0x6000, 0xa065, 0x0040, 0x1ed6, 0x6010, 0xa306, 0x00c0, 0x1e8d,
+ 0x600c, 0xa206, 0x00c0, 0x1e8d, 0x2c28, 0x784c, 0xac06, 0x00c0,
+ 0x1ea3, 0x0078, 0x1ed3, 0x6804, 0xac06, 0x00c0, 0x1eb1, 0x6000,
+ 0x2060, 0x6806, 0xa005, 0x00c0, 0x1eb1, 0x6803, 0x0000, 0x0078,
+ 0x1ebb, 0x6400, 0x7808, 0x2060, 0x6402, 0xa486, 0x0000, 0x00c0,
+ 0x1ebb, 0x2c00, 0x6802, 0x2560, 0x0f7f, 0x1078, 0x1e4d, 0x0f7e,
+ 0x601b, 0x0005, 0x6023, 0x0020, 0x0f7f, 0x1078, 0x1ff9, 0x0f7e,
+ 0x7908, 0x8109, 0x790a, 0x6810, 0x8001, 0x6812, 0x00c0, 0x1ed3,
+ 0x7810, 0xc0a5, 0x7812, 0x2001, 0xffff, 0xa005, 0x0f7f, 0x007c,
+ 0x077e, 0x2700, 0x2039, 0x0000, 0xd0fc, 0x0040, 0x1ee0, 0xc7fd,
+ 0x2041, 0x0021, 0x2049, 0x0004, 0x2051, 0x0008, 0x2091, 0x8000,
+ 0x1078, 0x1dfb, 0x8738, 0xa784, 0x001f, 0x00c0, 0x1ee8, 0xa7bc,
+ 0xff00, 0x873f, 0x8738, 0x873f, 0xa784, 0x0f00, 0x00c0, 0x1ee8,
+ 0x2091, 0x8001, 0x077f, 0x007c, 0x2061, 0x0000, 0x6018, 0xd084,
+ 0x00c0, 0x1f1c, 0x7810, 0xd08c, 0x0040, 0x1f0d, 0xc08c, 0x7812,
+ 0xc7fc, 0x2069, 0x4a40, 0x0078, 0x1f12, 0xc08d, 0x7812, 0x2069,
+ 0x4a80, 0xc7fd, 0x2091, 0x8000, 0x681c, 0x681f, 0x0000, 0x2091,
+ 0x8001, 0xa005, 0x00c0, 0x1f1d, 0x007c, 0xa08c, 0xfff0, 0x0040,
+ 0x1f23, 0x1078, 0x28ca, 0x0079, 0x1f25, 0x1f35, 0x1f38, 0x1f3e,
+ 0x1f42, 0x1f36, 0x1f46, 0x1f36, 0x1f36, 0x1f36, 0x1f4c, 0x1f7d,
+ 0x1f81, 0x1f87, 0x1f36, 0x1f36, 0x1f36, 0x007c, 0x1078, 0x28ca,
+ 0x1078, 0x1ed8, 0x2001, 0x8001, 0x0078, 0x1f9c, 0x2001, 0x8003,
+ 0x0078, 0x1f9c, 0x2001, 0x8004, 0x0078, 0x1f9c, 0x1078, 0x1ed8,
+ 0x2001, 0x8006, 0x0078, 0x1f9c, 0x2091, 0x8000, 0x077e, 0xd7fc,
+ 0x00c0, 0x1f58, 0x2069, 0x4a40, 0x2039, 0x0009, 0x0078, 0x1f5c,
+ 0x2069, 0x4a80, 0x2039, 0x0009, 0x6800, 0xa086, 0x0000, 0x0040,
+ 0x1f66, 0x007f, 0x6f1e, 0x2091, 0x8001, 0x007c, 0x6874, 0x077f,
+ 0xa0bc, 0xff00, 0x2041, 0x0021, 0x2049, 0x0004, 0x2051, 0x0010,
+ 0x1078, 0x1dfb, 0x8738, 0xa784, 0x001f, 0x00c0, 0x1f70, 0x2091,
+ 0x8001, 0x2001, 0x800a, 0x0078, 0x1f9c, 0x2001, 0x800c, 0x0078,
+ 0x1f9c, 0x1078, 0x1ed8, 0x2001, 0x800d, 0x0078, 0x1f9c, 0x7814,
+ 0xd0e4, 0x00c0, 0x1f9a, 0xd0ec, 0x0040, 0x1f94, 0xd7fc, 0x0040,
+ 0x1f94, 0x78ec, 0x0078, 0x1f95, 0x78e4, 0x70c6, 0x2001, 0x800e,
+ 0x0078, 0x1f9c, 0x0078, 0x1f36, 0x70c2, 0xd7fc, 0x00c0, 0x1fa4,
+ 0x70db, 0x0000, 0x0078, 0x1fa6, 0x70db, 0x0001, 0x2061, 0x0000,
+ 0x601b, 0x0001, 0x2091, 0x4080, 0x007c, 0xac80, 0x0001, 0x81ff,
+ 0x0040, 0x1fd8, 0x2099, 0x0030, 0x20a0, 0x700c, 0xa084, 0x03ff,
+ 0x0040, 0x1fba, 0x7018, 0x007e, 0x701c, 0x007e, 0x7020, 0x007e,
+ 0x7024, 0x007e, 0x7112, 0x81ac, 0x721a, 0x731e, 0x7422, 0x7526,
+ 0x7003, 0x0001, 0x7007, 0x0001, 0x7008, 0x800b, 0x00c8, 0x1fcc,
+ 0x7007, 0x0002, 0xa08c, 0x01e0, 0x00c0, 0x1fd8, 0x53a5, 0xa006,
+ 0x7003, 0x0000, 0x7007, 0x0004, 0x007f, 0x7026, 0x007f, 0x7022,
+ 0x007f, 0x701e, 0x007f, 0x701a, 0x007c, 0x2011, 0x0020, 0x2009,
+ 0x0010, 0x6b0a, 0x6c0e, 0x6803, 0xfd00, 0x6807, 0x0018, 0x6a1a,
+ 0x2d00, 0xa0e8, 0x0008, 0xa290, 0x0004, 0x8109, 0x00c0, 0x1fe9,
+ 0x007c, 0x6004, 0x6086, 0x2c08, 0x2063, 0x0000, 0x7868, 0xa005,
+ 0x796a, 0x0040, 0x2006, 0x2c02, 0x0078, 0x2007, 0x796e, 0x007c,
+ 0x0c7e, 0x2061, 0x4a00, 0x6887, 0x0103, 0x2d08, 0x206b, 0x0000,
+ 0x6068, 0xa005, 0x616a, 0x0040, 0x2018, 0x2d02, 0x0078, 0x2019,
+ 0x616e, 0x0c7f, 0x007c, 0x2091, 0x8000, 0x2c04, 0x786e, 0xa005,
+ 0x00c0, 0x2023, 0x786a, 0x2091, 0x8001, 0x609c, 0xa005, 0x0040,
+ 0x203c, 0x0c7e, 0x2060, 0x2008, 0x609c, 0xa005, 0x0040, 0x2038,
+ 0x2062, 0x609f, 0x0000, 0xa065, 0x609c, 0xa005, 0x00c0, 0x2030,
+ 0x7848, 0x794a, 0x2062, 0x0c7f, 0x7848, 0x2062, 0x609f, 0x0000,
+ 0xac85, 0x0000, 0x00c0, 0x2046, 0x1078, 0x28ca, 0x784a, 0x007c,
+ 0x20a9, 0x0010, 0xa006, 0x8004, 0x8086, 0x818e, 0x00c8, 0x2051,
+ 0xa200, 0x00f0, 0x204c, 0x8086, 0x818e, 0x007c, 0x157e, 0x20a9,
+ 0x0010, 0xa005, 0x0040, 0x2077, 0xa11a, 0x00c8, 0x2077, 0x8213,
+ 0x818d, 0x0048, 0x206a, 0xa11a, 0x00c8, 0x206b, 0x00f0, 0x205f,
+ 0x0078, 0x206f, 0xa11a, 0x2308, 0x8210, 0x00f0, 0x205f, 0x007e,
+ 0x3200, 0xa084, 0xf7ff, 0x2080, 0x007f, 0x157f, 0x007c, 0x007e,
+ 0x3200, 0xa085, 0x0800, 0x0078, 0x2073, 0x7d74, 0x70d0, 0xa506,
+ 0x0040, 0x2163, 0x7810, 0x2050, 0x7800, 0xd08c, 0x0040, 0x209f,
+ 0xdaec, 0x0040, 0x209f, 0x0e7e, 0x2091, 0x8000, 0x2071, 0x0020,
+ 0x7004, 0xa005, 0x00c0, 0x209c, 0x7008, 0x0e7f, 0xa086, 0x0008,
+ 0x0040, 0x209f, 0x0078, 0x2163, 0x0e7f, 0x0078, 0x2163, 0x1078,
+ 0x1db9, 0x0040, 0x2163, 0xa046, 0x7970, 0x2500, 0x8000, 0xa112,
+ 0x2009, 0x0040, 0x00c8, 0x20ae, 0x0078, 0x20b5, 0x72d0, 0xa206,
+ 0x0040, 0x20b5, 0x8840, 0x2009, 0x0080, 0x0c7e, 0x7112, 0x7007,
+ 0x0001, 0x2099, 0x0030, 0x20a9, 0x0020, 0xac80, 0x0001, 0x20a0,
+ 0x2061, 0x0000, 0x88ff, 0x0040, 0x20c7, 0x1078, 0x1db9, 0x7008,
+ 0xd0fc, 0x0040, 0x20c7, 0x7007, 0x0002, 0x2091, 0x8001, 0xa08c,
+ 0x01e0, 0x00c0, 0x20fe, 0x53a5, 0x8cff, 0x00c0, 0x20dc, 0x88ff,
+ 0x0040, 0x214d, 0x0078, 0x20e6, 0x2c00, 0x788e, 0x20a9, 0x0020,
+ 0xac80, 0x0001, 0x20a0, 0x53a5, 0x0078, 0x214d, 0xa046, 0x7218,
+ 0x731c, 0xdac4, 0x0040, 0x20ee, 0x7420, 0x7524, 0xa292, 0x0040,
+ 0xa39b, 0x0000, 0xa4a3, 0x0000, 0xa5ab, 0x0000, 0x721a, 0x731e,
+ 0xdac4, 0x0040, 0x20fe, 0x7422, 0x7526, 0xa006, 0x7007, 0x0004,
+ 0x0040, 0x214d, 0x8cff, 0x0040, 0x2107, 0x1078, 0x1dc2, 0x0c7f,
+ 0x1078, 0x1dc2, 0xa046, 0x7888, 0x8000, 0x788a, 0xa086, 0x0002,
+ 0x0040, 0x212d, 0x7a7c, 0x7b78, 0xdac4, 0x0040, 0x2119, 0x7c84,
+ 0x7d80, 0x7974, 0x8107, 0x8004, 0x8004, 0xa210, 0xa399, 0x0000,
+ 0xa4a1, 0x0000, 0xa5a9, 0x0000, 0x721a, 0x731e, 0xdac4, 0x0040,
+ 0x2163, 0x7422, 0x7526, 0x0078, 0x2163, 0x6014, 0xd0fc, 0x00c0,
+ 0x2135, 0x2069, 0x4a40, 0x0078, 0x2137, 0x2069, 0x4a80, 0x2091,
+ 0x8000, 0x681f, 0x0002, 0x88ff, 0x0040, 0x2143, 0xa046, 0x788c,
+ 0x2060, 0x0078, 0x212d, 0x788b, 0x0000, 0x78ac, 0xa085, 0x0003,
+ 0x78ae, 0x2091, 0x8001, 0x0078, 0x2163, 0x0c7f, 0x788b, 0x0000,
+ 0x1078, 0x22f7, 0x6004, 0xa084, 0x000f, 0x1078, 0x2164, 0x88ff,
+ 0x0040, 0x2161, 0x788c, 0x2060, 0x6004, 0xa084, 0x000f, 0x1078,
+ 0x2164, 0x0078, 0x207d, 0x007c, 0x0079, 0x2166, 0x2176, 0x2194,
+ 0x21b2, 0x2176, 0x21c3, 0x2187, 0x2176, 0x2176, 0x2176, 0x2192,
+ 0x21b0, 0x2176, 0x2176, 0x2176, 0x2176, 0x2176, 0x2039, 0x0400,
+ 0x78bc, 0xa705, 0x78be, 0x6008, 0xa705, 0x600a, 0x1078, 0x2206,
+ 0x609c, 0x78ba, 0x609f, 0x0000, 0x1078, 0x22e1, 0x007c, 0x78bc,
+ 0xd0c4, 0x0040, 0x218d, 0x0078, 0x2176, 0x601c, 0xc0bd, 0x601e,
+ 0x0078, 0x219a, 0x1078, 0x2329, 0x78bc, 0xd0c4, 0x0040, 0x219a,
+ 0x0078, 0x2176, 0x78bf, 0x0000, 0x6004, 0x8007, 0xa084, 0x00ff,
+ 0x78b2, 0x8001, 0x0040, 0x21ad, 0x1078, 0x2206, 0x0040, 0x21ad,
+ 0x78bc, 0xc0c5, 0x78be, 0x0078, 0x21af, 0x0078, 0x2225, 0x007c,
+ 0x1078, 0x2325, 0x78bc, 0xa08c, 0x0e00, 0x00c0, 0x21ba, 0xd0c4,
+ 0x00c0, 0x21bc, 0x0078, 0x2176, 0x1078, 0x2206, 0x00c0, 0x21c2,
+ 0x0078, 0x2225, 0x007c, 0x78bc, 0xd0c4, 0x0040, 0x21c9, 0x0078,
+ 0x2176, 0x78bf, 0x0000, 0x6714, 0x2011, 0x0001, 0x22a8, 0x6018,
+ 0xa084, 0x00ff, 0xa005, 0x0040, 0x21e9, 0xa7bc, 0xff00, 0x20a9,
+ 0x0020, 0xa08e, 0x0001, 0x0040, 0x21e9, 0xa7bc, 0x8000, 0x2011,
+ 0x0002, 0x20a9, 0x0100, 0xa08e, 0x0002, 0x0040, 0x21e9, 0x0078,
+ 0x2203, 0x1078, 0x1de0, 0x2d00, 0x2091, 0x8000, 0x682b, 0x0000,
+ 0x682f, 0x0000, 0x6808, 0xa084, 0xffde, 0x680a, 0xade8, 0x0010,
+ 0x2091, 0x8001, 0x00f0, 0x21ec, 0x8211, 0x0040, 0x2203, 0x20a9,
+ 0x0100, 0x0078, 0x21ec, 0x1078, 0x1dc2, 0x007c, 0x609f, 0x0000,
+ 0x78b4, 0xa06d, 0x2c00, 0x78b6, 0x00c0, 0x2211, 0x78ba, 0x0078,
+ 0x2219, 0x689e, 0x2d00, 0x6002, 0x78b8, 0xad06, 0x00c0, 0x2219,
+ 0x6002, 0x78b0, 0x8001, 0x78b2, 0x00c0, 0x2224, 0x78bc, 0xc0c4,
+ 0x78be, 0x78b8, 0x2060, 0xa006, 0x007c, 0x0e7e, 0xa02e, 0x2530,
+ 0x7dba, 0x7db6, 0x65ae, 0x65b2, 0x601c, 0x60a2, 0x2048, 0xa984,
+ 0xe1ff, 0x601e, 0xa984, 0x0060, 0x0040, 0x2238, 0x1078, 0x4383,
+ 0x6596, 0x65a6, 0x669a, 0x66aa, 0x6714, 0x2071, 0x4a80, 0xd7fc,
+ 0x00c0, 0x2244, 0x2071, 0x4a40, 0xa784, 0x0f00, 0x800b, 0xa784,
+ 0x001f, 0x0040, 0x224f, 0x8003, 0x8003, 0x8003, 0x8003, 0xa105,
+ 0x71c4, 0xa168, 0x2700, 0x8007, 0xa084, 0x000f, 0x8003, 0x8003,
+ 0x8003, 0x71c8, 0xa100, 0x60c2, 0x2091, 0x8000, 0x7810, 0xd0f4,
+ 0x00c0, 0x2269, 0x6e08, 0xd684, 0x0040, 0x227f, 0xd9fc, 0x00c0,
+ 0x227f, 0x2091, 0x8001, 0x1078, 0x1e4d, 0x2091, 0x8000, 0x1078,
+ 0x1ff9, 0x2091, 0x8001, 0x7814, 0xd0e4, 0x00c0, 0x22df, 0x7810,
+ 0xd0f4, 0x0040, 0x22df, 0x601b, 0x0021, 0x0078, 0x22df, 0x6024,
+ 0xa096, 0x0001, 0x00c0, 0x2286, 0x8000, 0x6026, 0x6a10, 0x6814,
+ 0xa202, 0x0048, 0x2299, 0x0040, 0x2299, 0x2091, 0x8001, 0x2039,
+ 0x0200, 0x609c, 0x78ba, 0x609f, 0x0000, 0x1078, 0x22e1, 0x0078,
+ 0x22df, 0x2c08, 0xd9fc, 0x0040, 0x22bc, 0x6800, 0xa065, 0x0040,
+ 0x22bc, 0x6a04, 0x7000, 0xa084, 0x0002, 0x0040, 0x22b7, 0x704c,
+ 0xa206, 0x00c0, 0x22b7, 0x6b04, 0x2160, 0x2304, 0x6002, 0xa005,
+ 0x00c0, 0x22b3, 0x6902, 0x2260, 0x6102, 0x0078, 0x22c8, 0x2160,
+ 0x6202, 0x6906, 0x0078, 0x22c8, 0x6800, 0x6902, 0xa065, 0x0040,
+ 0x22c4, 0x6102, 0x0078, 0x22c5, 0x6906, 0x2160, 0x6003, 0x0000,
+ 0x2160, 0xd9fc, 0x0040, 0x22cf, 0xa6b4, 0xfffc, 0x6e0a, 0x6810,
+ 0x7d08, 0x8528, 0x7d0a, 0x8000, 0x6812, 0x2091, 0x8001, 0xd6b4,
+ 0x0040, 0x22df, 0xa6b6, 0x0040, 0x6e0a, 0x1078, 0x1e5e, 0x0e7f,
+ 0x007c, 0x6008, 0xa705, 0x600a, 0x2091, 0x8000, 0x1078, 0x1ff9,
+ 0x2091, 0x8001, 0x78b8, 0xa065, 0x0040, 0x22f4, 0x609c, 0x78ba,
+ 0x609f, 0x0000, 0x0078, 0x22e1, 0x78b6, 0x78ba, 0x007c, 0x7970,
+ 0x7874, 0x2818, 0xd384, 0x0040, 0x2301, 0x8000, 0xa112, 0x0048,
+ 0x2306, 0x8000, 0xa112, 0x00c8, 0x2316, 0xc384, 0x7a7c, 0x721a,
+ 0x7a78, 0x721e, 0xdac4, 0x0040, 0x2311, 0x7a84, 0x7222, 0x7a80,
+ 0x7226, 0xa006, 0xd384, 0x0040, 0x2316, 0x8000, 0x7876, 0x70d2,
+ 0x781c, 0xa005, 0x0040, 0x2324, 0x8001, 0x781e, 0x00c0, 0x2324,
+ 0x0068, 0x2324, 0x2091, 0x4080, 0x007c, 0x2039, 0x233d, 0x0078,
+ 0x232b, 0x2039, 0x2343, 0x2704, 0xa005, 0x0040, 0x233c, 0xac00,
+ 0x2068, 0x6908, 0x6810, 0x6912, 0x680a, 0x690c, 0x6814, 0x6916,
+ 0x680e, 0x8738, 0x0078, 0x232b, 0x007c, 0x0003, 0x0009, 0x000f,
+ 0x0015, 0x001b, 0x0000, 0x0015, 0x001b, 0x0000, 0x2041, 0x0000,
+ 0x780c, 0x0079, 0x234b, 0x2513, 0x24e6, 0x234f, 0x23c3, 0x2039,
+ 0x9274, 0x2734, 0x7d10, 0x0078, 0x236a, 0x6084, 0xa086, 0x0103,
+ 0x00c0, 0x23ac, 0x6114, 0x6018, 0xa105, 0x00c0, 0x23ac, 0x8603,
+ 0xa080, 0x9255, 0x620c, 0x2202, 0x8000, 0x6210, 0x2202, 0x1078,
+ 0x201b, 0x8630, 0xa68e, 0x000f, 0x0040, 0x2432, 0x786c, 0xa065,
+ 0x00c0, 0x2355, 0x7808, 0xa602, 0x00c8, 0x237b, 0xd5ac, 0x00c0,
+ 0x237b, 0x263a, 0x007c, 0xa682, 0x0003, 0x00c8, 0x2432, 0x2091,
+ 0x8000, 0x2069, 0x0000, 0x6818, 0xd084, 0x00c0, 0x23a7, 0x2011,
+ 0x9255, 0x2204, 0x70c6, 0x8210, 0x2204, 0x70ca, 0xd684, 0x00c0,
+ 0x2397, 0x8210, 0x2204, 0x70da, 0x8210, 0x2204, 0x70de, 0xa685,
+ 0x8020, 0x70c2, 0x681b, 0x0001, 0x2091, 0x4080, 0x7810, 0xa084,
+ 0xffcf, 0x7812, 0x2091, 0x8001, 0x203b, 0x0000, 0x007c, 0x7810,
+ 0xc0ad, 0x7812, 0x0078, 0x2432, 0x263a, 0x1078, 0x251d, 0x00c0,
+ 0x252c, 0x786c, 0xa065, 0x00c0, 0x2355, 0x2091, 0x8000, 0x7810,
+ 0xa084, 0xffcf, 0x86ff, 0x0040, 0x23be, 0xc0ad, 0x7812, 0x2091,
+ 0x8001, 0x0078, 0x252c, 0x2039, 0x9274, 0x2734, 0x7d10, 0x0078,
+ 0x23da, 0x6084, 0xa086, 0x0103, 0x00c0, 0x241b, 0x6114, 0x6018,
+ 0xa105, 0x00c0, 0x241b, 0xa680, 0x9255, 0x620c, 0x2202, 0x1078,
+ 0x201b, 0x8630, 0xa68e, 0x001e, 0x0040, 0x2432, 0x786c, 0xa065,
+ 0x00c0, 0x23c9, 0x7808, 0xa602, 0x00c8, 0x23eb, 0xd5ac, 0x00c0,
+ 0x23eb, 0x263a, 0x007c, 0xa682, 0x0006, 0x00c8, 0x2432, 0x2091,
+ 0x8000, 0x2069, 0x0000, 0x6818, 0xd084, 0x00c0, 0x2416, 0x2011,
+ 0x9255, 0x2009, 0x924e, 0x26a8, 0x211c, 0x2204, 0x201a, 0x8108,
+ 0x8210, 0x00f0, 0x23fc, 0xa685, 0x8030, 0x70c2, 0x681b, 0x0001,
+ 0x2091, 0x4080, 0x7810, 0xa084, 0xffcf, 0x7812, 0x2091, 0x8001,
+ 0xa006, 0x2009, 0x9275, 0x200a, 0x203a, 0x007c, 0x7810, 0xc0ad,
+ 0x7812, 0x0078, 0x2432, 0x263a, 0x1078, 0x251d, 0x00c0, 0x252c,
+ 0x786c, 0xa065, 0x00c0, 0x23c9, 0x2091, 0x8000, 0x7810, 0xa084,
+ 0xffcf, 0x86ff, 0x0040, 0x242d, 0xc0ad, 0x7812, 0x2091, 0x8001,
+ 0x0078, 0x252c, 0x2091, 0x8000, 0x7007, 0x0004, 0x7994, 0x70d4,
+ 0xa102, 0x0048, 0x2443, 0x0040, 0x244d, 0x7b90, 0xa302, 0x00c0,
+ 0x244d, 0x0078, 0x2446, 0x8002, 0x00c0, 0x244d, 0x263a, 0x7810,
+ 0xc0ad, 0x7812, 0x2091, 0x8001, 0x007c, 0xa184, 0xff00, 0x0040,
+ 0x245a, 0x810f, 0x810c, 0x810c, 0x8004, 0x8004, 0x8007, 0xa100,
+ 0x0078, 0x245d, 0x8107, 0x8004, 0x8004, 0x7a9c, 0xa210, 0x721a,
+ 0x7a98, 0xa006, 0xa211, 0x721e, 0xd4c4, 0x0040, 0x246d, 0x7aa4,
+ 0xa211, 0x7222, 0x7aa0, 0xa211, 0x7226, 0x20a1, 0x0030, 0x7003,
+ 0x0000, 0x2009, 0x9254, 0x260a, 0x8109, 0x2198, 0x2104, 0xd084,
+ 0x0040, 0x247b, 0x8633, 0xa6b0, 0x0002, 0x26a8, 0x53a6, 0x8603,
+ 0x7012, 0x7007, 0x0001, 0x7990, 0x7894, 0x8000, 0xa10a, 0x00c8,
+ 0x248a, 0xa006, 0x2028, 0x7974, 0xa184, 0xff00, 0x0040, 0x2499,
+ 0x810f, 0x810c, 0x810c, 0x8004, 0x8004, 0x8007, 0xa100, 0x0078,
+ 0x249c, 0x8107, 0x8004, 0x8004, 0x797c, 0xa108, 0x7a78, 0xa006,
+ 0xa211, 0xd4c4, 0x0040, 0x24a8, 0x7b84, 0xa319, 0x7c80, 0xa421,
+ 0x7008, 0xd0fc, 0x0040, 0x24a8, 0xa084, 0x01e0, 0x0040, 0x24cd,
+ 0x7d10, 0x2031, 0x9254, 0x2634, 0x78a8, 0x8000, 0x78aa, 0xd08c,
+ 0x00c0, 0x24c2, 0x7007, 0x0006, 0x7004, 0xd094, 0x00c0, 0x24bc,
+ 0x0078, 0x2434, 0x2069, 0x4a47, 0x206b, 0x0003, 0x78ac, 0xa085,
+ 0x0300, 0x78ae, 0xa006, 0x0078, 0x24d6, 0x2030, 0x75d6, 0x2091,
+ 0x4080, 0x7d96, 0x7d10, 0xa5ac, 0xffcf, 0x7d12, 0x2091, 0x8001,
+ 0x78aa, 0x7007, 0x0006, 0x263a, 0x7003, 0x0001, 0x711a, 0x721e,
+ 0xd5c4, 0x0040, 0x24e5, 0x7322, 0x7426, 0x007c, 0x6084, 0xa086,
+ 0x0103, 0x00c0, 0x2509, 0x6114, 0x6018, 0xa105, 0x00c0, 0x2509,
+ 0x2069, 0x0000, 0x6818, 0xd084, 0x00c0, 0x2509, 0x600c, 0x70c6,
+ 0x6010, 0x70ca, 0x70c3, 0x8020, 0x681b, 0x0001, 0x2091, 0x4080,
+ 0x1078, 0x201b, 0x0068, 0x2508, 0x786c, 0xa065, 0x00c0, 0x24e6,
+ 0x007c, 0x1078, 0x251d, 0x00c0, 0x252c, 0x786c, 0xa065, 0x00c0,
+ 0x24e6, 0x0078, 0x252c, 0x1078, 0x251d, 0x00c0, 0x252c, 0x786c,
+ 0xa065, 0x00c0, 0x2513, 0x0078, 0x252c, 0x1078, 0x2532, 0x00c0,
+ 0x2524, 0xa085, 0x0001, 0x007c, 0x1078, 0x2541, 0x00c0, 0x252a,
+ 0x2041, 0x0001, 0x7d10, 0x007c, 0x88ff, 0x0040, 0x2531, 0x2091,
+ 0x4080, 0x007c, 0x7b90, 0x7994, 0x70d4, 0xa102, 0x00c0, 0x253b,
+ 0xa385, 0x0000, 0x007c, 0x0048, 0x253f, 0xa302, 0x007c, 0x8002,
+ 0x007c, 0x7810, 0xd0ec, 0x0040, 0x2559, 0x0e7e, 0x2091, 0x8000,
+ 0x2071, 0x0020, 0x7004, 0xa005, 0x00c0, 0x2556, 0x7008, 0x0e7f,
+ 0xa086, 0x0008, 0x0040, 0x2559, 0x0078, 0x25aa, 0x0e7f, 0x0078,
+ 0x25aa, 0xa184, 0xff00, 0x0040, 0x2566, 0x810f, 0x810c, 0x810c,
+ 0x8004, 0x8004, 0x8007, 0xa100, 0x0078, 0x2569, 0x8107, 0x8004,
+ 0x8004, 0x7a9c, 0x7b98, 0x7ca4, 0x7da0, 0xa210, 0xa006, 0xa319,
+ 0xa421, 0xa529, 0x2009, 0x0018, 0x6028, 0xa005, 0x0040, 0x257a,
+ 0x2009, 0x0040, 0x1078, 0x1d7d, 0x0040, 0x259c, 0x78a8, 0x8000,
+ 0x78aa, 0xd08c, 0x00c0, 0x25aa, 0x6014, 0xd0fc, 0x00c0, 0x258c,
+ 0x2069, 0x4a40, 0x0078, 0x258e, 0x2069, 0x4a80, 0x2091, 0x8000,
+ 0x681f, 0x0003, 0x78ab, 0x0000, 0x78ac, 0xa085, 0x0300, 0x78ae,
+ 0x2091, 0x8001, 0x0078, 0x25aa, 0x78ab, 0x0000, 0x1078, 0x201b,
+ 0x7990, 0x7894, 0x8000, 0xa10a, 0x00c8, 0x25a7, 0xa006, 0x7896,
+ 0x70d6, 0xa006, 0x2071, 0x0010, 0x2091, 0x8001, 0x007c, 0x2138,
+ 0xd7fc, 0x00c0, 0x25b7, 0x2009, 0x4a59, 0x0078, 0x25b9, 0x2009,
+ 0x4a99, 0x2091, 0x8000, 0x200a, 0x0f7e, 0xd7fc, 0x00c0, 0x25d0,
+ 0x2009, 0x4a40, 0x2001, 0x4a04, 0x2004, 0xd0ec, 0x0040, 0x25cc,
+ 0x2079, 0x0100, 0x0078, 0x25d4, 0x2079, 0x0200, 0x0078, 0x25d4,
+ 0x2009, 0x4a80, 0x2079, 0x0100, 0x2104, 0xa086, 0x0000, 0x00c0,
+ 0x25ed, 0xd7fc, 0x00c0, 0x25e0, 0x2009, 0x4a45, 0x0078, 0x25e2,
+ 0x2009, 0x4a85, 0x2104, 0xa005, 0x00c0, 0x25ed, 0x7830, 0xa084,
+ 0x00c0, 0x00c0, 0x25ed, 0x781b, 0x0045, 0x0f7f, 0x007c, 0x2009,
+ 0x0002, 0x2069, 0x4a00, 0x6810, 0xd0ec, 0x00c0, 0x2650, 0x2071,
+ 0x4a80, 0x2079, 0x0100, 0x2021, 0x4cbf, 0x784b, 0x000f, 0x2019,
+ 0x41c7, 0xd184, 0x0040, 0x2610, 0x6810, 0xd0ec, 0x0040, 0x260c,
+ 0x20a1, 0x012b, 0x0078, 0x2612, 0x20a1, 0x022b, 0x0078, 0x2612,
+ 0x20a1, 0x012b, 0x2304, 0xa005, 0x0040, 0x261f, 0x789a, 0x8318,
+ 0x23ac, 0x8318, 0x2398, 0x53a6, 0x3318, 0x0078, 0x2612, 0x789b,
+ 0x0020, 0x20a9, 0x0010, 0x78af, 0x0000, 0x78af, 0x8020, 0x00f0,
+ 0x2623, 0x7003, 0x0000, 0x017e, 0xd18c, 0x2009, 0x0000, 0x0040,
+ 0x2632, 0xc1bd, 0x1078, 0x281b, 0x017f, 0x7020, 0xa084, 0x000f,
+ 0x007e, 0x6814, 0xd0e4, 0x007f, 0x00c0, 0x2642, 0xa085, 0x6340,
+ 0x0078, 0x2644, 0xa085, 0x62c0, 0x7806, 0x780f, 0x9200, 0x7843,
+ 0x00d8, 0x7853, 0x0080, 0x780b, 0x0008, 0x7456, 0x7053, 0x0000,
+ 0x8109, 0x0040, 0x2663, 0x2071, 0x4a40, 0x6810, 0xd0ec, 0x0040,
+ 0x265d, 0x2079, 0x0100, 0x0078, 0x265f, 0x2079, 0x0200, 0x2021,
+ 0x4abf, 0x0078, 0x25fd, 0x007c, 0x017e, 0xd1bc, 0x00c0, 0x2678,
+ 0x007e, 0x2001, 0x4a04, 0x2004, 0xd0ec, 0x007f, 0x0040, 0x2674,
+ 0x2011, 0x0101, 0x0078, 0x267a, 0x2011, 0x0201, 0x0078, 0x267a,
+ 0x2011, 0x0101, 0xa18c, 0x000f, 0x2204, 0xa084, 0xfff0, 0xa105,
+ 0x2012, 0x017f, 0x1078, 0x281b, 0x007c, 0xd3fc, 0x00c0, 0x2698,
+ 0x007e, 0x2001, 0x4a04, 0x2004, 0xd0ec, 0x007f, 0x0040, 0x2694,
+ 0x2011, 0x0101, 0x0078, 0x269a, 0x2011, 0x0201, 0x0078, 0x269a,
+ 0x2011, 0x0101, 0x20a9, 0x0009, 0x810b, 0x00f0, 0x269c, 0xa18c,
+ 0x0e00, 0x2204, 0xa084, 0xf1ff, 0xa105, 0x2012, 0x007c, 0x2019,
+ 0x0002, 0x2001, 0x4a04, 0x2004, 0xd0ec, 0x0040, 0x26b4, 0x8319,
+ 0x2009, 0x0101, 0x0078, 0x26b6, 0x2009, 0x0101, 0x20a9, 0x0005,
+ 0x8213, 0x00f0, 0x26b8, 0xa294, 0x00e0, 0x2104, 0xa084, 0xff1f,
+ 0xa205, 0x200a, 0x8319, 0x0040, 0x26c9, 0x2009, 0x0201, 0x0078,
+ 0x26b6, 0x007c, 0xd3fc, 0x00c0, 0x26dd, 0x007e, 0x2001, 0x4a04,
+ 0x2004, 0xd0ec, 0x007f, 0x0040, 0x26d9, 0x2011, 0x0101, 0x0078,
+ 0x26df, 0x2011, 0x0201, 0x0078, 0x26df, 0x2011, 0x0101, 0x20a9,
+ 0x000c, 0x810b, 0x00f0, 0x26e1, 0xa18c, 0xf000, 0x2204, 0xa084,
+ 0x0fff, 0xa105, 0x2012, 0x007c, 0xd3fc, 0x00c0, 0x26ff, 0x007e,
+ 0x2001, 0x4a04, 0x2004, 0xd0ec, 0x007f, 0x0040, 0x26fb, 0x2011,
+ 0x0102, 0x0078, 0x2701, 0x2011, 0x0202, 0x0078, 0x2701, 0x2011,
+ 0x0102, 0x2204, 0xa084, 0xffcf, 0xa105, 0x2012, 0x007c, 0x0c7e,
+ 0xd1bc, 0x00c0, 0x271b, 0x007e, 0x2001, 0x4a04, 0x2004, 0xd0ec,
+ 0x007f, 0x0040, 0x2717, 0x2061, 0x0100, 0x0078, 0x271d, 0x2061,
+ 0x0200, 0x0078, 0x271d, 0x2061, 0x0100, 0xc1bc, 0x8103, 0x8003,
+ 0xa080, 0x0020, 0x609a, 0x62ac, 0x63ac, 0x0c7f, 0x007c, 0x0c7e,
+ 0xd1bc, 0x00c0, 0x273b, 0x007e, 0x2001, 0x4a04, 0x2004, 0xd0ec,
+ 0x007f, 0x0040, 0x2737, 0x2061, 0x0100, 0x0078, 0x273d, 0x2061,
+ 0x0200, 0x0078, 0x273d, 0x2061, 0x0100, 0xc1bc, 0x8103, 0x8003,
+ 0xa080, 0x0022, 0x609a, 0x60a4, 0xa084, 0xffdf, 0x60ae, 0x0c7f,
+ 0x007c, 0x0c7e, 0xd1bc, 0x00c0, 0x275d, 0x007e, 0x2001, 0x4a04,
+ 0x2004, 0xd0ec, 0x007f, 0x0040, 0x2759, 0x2061, 0x0100, 0x0078,
+ 0x275f, 0x2061, 0x0200, 0x0078, 0x275f, 0x2061, 0x0100, 0xc1bc,
+ 0x8103, 0x8003, 0xa080, 0x0022, 0x609a, 0x60a4, 0xa085, 0x0020,
+ 0x60ae, 0x0c7f, 0x007c, 0x0c7e, 0xd1bc, 0x00c0, 0x277f, 0x007e,
+ 0x2001, 0x4a04, 0x2004, 0xd0ec, 0x007f, 0x0040, 0x277b, 0x2061,
+ 0x0100, 0x0078, 0x2781, 0x2061, 0x0200, 0x0078, 0x2781, 0x2061,
+ 0x0100, 0xc1bc, 0x8103, 0x8003, 0xa080, 0x0020, 0x609a, 0x60a4,
+ 0xa28c, 0x0020, 0x0040, 0x278f, 0xc2ac, 0xa39d, 0x4000, 0xc3fc,
+ 0xd3b4, 0x00c0, 0x2794, 0xc3fd, 0x62ae, 0x2010, 0x60a4, 0x63ae,
+ 0x2018, 0x0c7f, 0x007c, 0x2091, 0x8000, 0x0c7e, 0x0e7e, 0x6818,
+ 0xa005, 0x0040, 0x27f9, 0xd1fc, 0x0040, 0x27aa, 0x2061, 0x91d0,
+ 0x0078, 0x27ac, 0x2061, 0x90c0, 0x1078, 0x2801, 0x0040, 0x27df,
+ 0x20a9, 0x0101, 0xd1fc, 0x0040, 0x27b9, 0x2061, 0x90d0, 0x0078,
+ 0x27bb, 0x2061, 0x8fc0, 0x0c7e, 0x1078, 0x2801, 0x0040, 0x27c6,
+ 0x0c7f, 0x8c60, 0x00f0, 0x27bb, 0x0078, 0x27f9, 0x007f, 0xd1fc,
+ 0x0040, 0x27d0, 0xa082, 0x90d0, 0x2071, 0x4a80, 0x0078, 0x27d4,
+ 0xa082, 0x8fc0, 0x2071, 0x4a40, 0x707a, 0x7176, 0x2001, 0x0004,
+ 0x7066, 0x7083, 0x000f, 0x1078, 0x25af, 0x0078, 0x27f5, 0xd1fc,
+ 0x00c0, 0x27e6, 0x2071, 0x4a40, 0x0078, 0x27e8, 0x2071, 0x4a80,
+ 0x6020, 0xc0dd, 0x6022, 0x7176, 0x2c00, 0x707e, 0x2001, 0x0006,
+ 0x7066, 0x7083, 0x000f, 0x1078, 0x25af, 0x2001, 0x0000, 0x0078,
+ 0x27fb, 0x2001, 0x0001, 0x2091, 0x8001, 0xa005, 0x0e7f, 0x0c7f,
+ 0x007c, 0x2c04, 0xa005, 0x0040, 0x2818, 0x2060, 0x6010, 0xa306,
+ 0x00c0, 0x2815, 0x600c, 0xa206, 0x00c0, 0x2815, 0x6014, 0xa106,
+ 0x00c0, 0x2815, 0xa006, 0x0078, 0x281a, 0x6000, 0x0078, 0x2802,
+ 0xa085, 0x0001, 0x007c, 0x0f7e, 0x0e7e, 0x017e, 0xd1bc, 0x00c0,
+ 0x2833, 0x2079, 0x4a40, 0x007e, 0x2001, 0x4a04, 0x2004, 0xd0ec,
+ 0x007f, 0x0040, 0x282f, 0x2071, 0x0100, 0x0078, 0x2837, 0x2071,
+ 0x0200, 0x0078, 0x2837, 0x2079, 0x4a80, 0x2071, 0x0100, 0x7920,
+ 0xa18c, 0x000f, 0x70ec, 0xd0c4, 0x00c0, 0x2841, 0x017f, 0x0078,
+ 0x285c, 0x810b, 0x810b, 0x810b, 0x810b, 0x007f, 0xd0bc, 0x00c0,
+ 0x2859, 0x007e, 0x2001, 0x4a04, 0x2004, 0xd0ec, 0x007f, 0x0040,
+ 0x2855, 0xa18d, 0x0f00, 0x0078, 0x285b, 0xa18d, 0x0f00, 0x0078,
+ 0x285b, 0xa18d, 0x0800, 0x2104, 0x0e7f, 0x0f7f, 0x007c, 0x0e7e,
+ 0x2001, 0x4a01, 0x2004, 0xd0ac, 0x00c0, 0x28c8, 0x68e4, 0xd0ac,
+ 0x0040, 0x28c8, 0xa084, 0x0006, 0x00c0, 0x28c8, 0x6014, 0xd0fc,
+ 0x00c0, 0x2876, 0x2071, 0x4ec0, 0x0078, 0x2878, 0x2071, 0x4f40,
+ 0x8007, 0xa084, 0x000f, 0x8003, 0x8003, 0x8003, 0xae70, 0x7004,
+ 0xa084, 0x000a, 0x00c0, 0x28c8, 0x7108, 0xa194, 0xff00, 0x0040,
+ 0x28c8, 0xa18c, 0x00ff, 0x2001, 0x000a, 0xa106, 0x0040, 0x28ab,
+ 0x2001, 0x000c, 0xa106, 0x0040, 0x28af, 0x2001, 0x0012, 0xa106,
+ 0x0040, 0x28b3, 0x2001, 0x0014, 0xa106, 0x0040, 0x28b7, 0x2001,
+ 0x0019, 0xa106, 0x0040, 0x28bb, 0x2001, 0x0032, 0xa106, 0x0040,
+ 0x28bf, 0x0078, 0x28c3, 0x2009, 0x000c, 0x0078, 0x28c5, 0x2009,
+ 0x0012, 0x0078, 0x28c5, 0x2009, 0x0014, 0x0078, 0x28c5, 0x2009,
+ 0x0019, 0x0078, 0x28c5, 0x2009, 0x0020, 0x0078, 0x28c5, 0x2009,
+ 0x003f, 0x0078, 0x28c5, 0x2011, 0x0000, 0x2100, 0xa205, 0x700a,
+ 0x0e7f, 0x007c, 0x0068, 0x28ca, 0x2091, 0x8000, 0x2071, 0x0000,
+ 0x007e, 0x7018, 0xd084, 0x00c0, 0x28d1, 0x007f, 0x2071, 0x0010,
+ 0x70ca, 0x007f, 0x70c6, 0x70c3, 0x8002, 0x70db, 0x0807, 0x70df,
+ 0x0000, 0x2071, 0x0000, 0x701b, 0x0001, 0x2091, 0x4080, 0x0078,
+ 0x28e7, 0x7f3c, 0x7e58, 0x7c30, 0x7d38, 0x78a0, 0x708e, 0x7592,
+ 0x7496, 0x769a, 0x779e, 0xa594, 0x003f, 0xd4f4, 0x0040, 0x28fe,
+ 0xa784, 0x007d, 0x00c0, 0x413d, 0x1078, 0x28ca, 0xa49c, 0x000f,
+ 0xa382, 0x0004, 0x0050, 0x2909, 0xa3a6, 0x0007, 0x00c0, 0x28ca,
+ 0x2418, 0x8507, 0xa084, 0x000f, 0x0079, 0x290e, 0x2f23, 0x3013,
+ 0x303a, 0x329b, 0x360d, 0x3673, 0x370e, 0x378a, 0x3865, 0x394c,
+ 0x2921, 0x291e, 0x2d08, 0x2e21, 0x35e0, 0x291e, 0x1078, 0x28ca,
+ 0x007c, 0xa006, 0x0078, 0x292b, 0x7808, 0xc08d, 0x780a, 0xa006,
+ 0x7002, 0x704e, 0x7046, 0x70d2, 0x7060, 0xa005, 0x00c0, 0x2a42,
+ 0x7064, 0xa084, 0x0007, 0x0079, 0x2935, 0x293d, 0x29ad, 0x29b6,
+ 0x29c1, 0x29cc, 0x2a28, 0x29d7, 0x29ad, 0x7830, 0xd0bc, 0x00c0,
+ 0x2920, 0x71d4, 0xd1b4, 0x00c0, 0x298a, 0x70a4, 0xa086, 0x0001,
+ 0x0040, 0x2920, 0x70b4, 0xa06d, 0x6800, 0xa065, 0xa055, 0x789b,
+ 0x0010, 0x6b0c, 0x7baa, 0x6808, 0xa045, 0x6d10, 0x6804, 0xa06d,
+ 0xa05d, 0xa886, 0x0001, 0x0040, 0x2960, 0x69bc, 0x7daa, 0x79aa,
+ 0x68c0, 0xa04d, 0x6e1c, 0x2001, 0x0010, 0x0078, 0x2b9b, 0x7060,
+ 0xa005, 0x00c0, 0x2920, 0x0c7e, 0x0d7e, 0x70b4, 0xa06d, 0x6800,
+ 0xa065, 0xa055, 0x789b, 0x0010, 0x6b0c, 0x7baa, 0x6808, 0xa045,
+ 0x6d10, 0x6804, 0xa06d, 0xa05d, 0xa886, 0x0001, 0x0040, 0x2983,
+ 0x69bc, 0x7daa, 0x79aa, 0x68c0, 0xa04d, 0x6e1c, 0x2001, 0x0020,
+ 0x0078, 0x2b9b, 0x1078, 0x40de, 0x00c0, 0x2920, 0x781b, 0x005b,
+ 0x70bc, 0xa06d, 0x68b4, 0x785a, 0x6894, 0x78d6, 0x78de, 0x6898,
+ 0x78d2, 0x78da, 0x7808, 0xc08d, 0x780a, 0x68bc, 0x7042, 0xc1b4,
+ 0x71d6, 0x70b8, 0xa065, 0x68c0, 0x705a, 0x7003, 0x0002, 0x2d00,
+ 0x704e, 0xad80, 0x0009, 0x7046, 0x007c, 0x1078, 0x40de, 0x00c0,
+ 0x29b5, 0x781b, 0x0047, 0x7003, 0x0004, 0x007c, 0x1078, 0x40de,
+ 0x00c0, 0x29c0, 0x2011, 0x000c, 0x1078, 0x29e7, 0x7003, 0x0004,
+ 0x007c, 0x1078, 0x40de, 0x00c0, 0x29cb, 0x2011, 0x0006, 0x1078,
+ 0x29e7, 0x7003, 0x0004, 0x007c, 0x1078, 0x40de, 0x00c0, 0x29d6,
+ 0x2011, 0x000d, 0x1078, 0x29e7, 0x7003, 0x0004, 0x007c, 0x1078,
+ 0x40de, 0x00c0, 0x29e6, 0x2011, 0x0006, 0x1078, 0x29e7, 0x707c,
+ 0x707f, 0x0000, 0x2068, 0x704e, 0x7003, 0x0001, 0x007c, 0x7174,
+ 0xc1fc, 0x8107, 0x7882, 0x789b, 0x0010, 0xa286, 0x000c, 0x00c0,
+ 0x29f6, 0x7aaa, 0x2001, 0x0001, 0x0078, 0x2a0b, 0xa18c, 0x001f,
+ 0xa18d, 0x00c0, 0x79aa, 0xa286, 0x000d, 0x0040, 0x2a04, 0x7aaa,
+ 0x2001, 0x0002, 0x0078, 0x2a0b, 0x78ab, 0x0020, 0x7178, 0x79aa,
+ 0x7aaa, 0x2001, 0x0004, 0x789b, 0x0060, 0x78aa, 0x785b, 0x0004,
+ 0x781b, 0x0107, 0x1078, 0x40f3, 0x7083, 0x000f, 0x70d4, 0xd0b4,
+ 0x0040, 0x2a27, 0xc0b4, 0x70d6, 0x0c7e, 0x70b8, 0xa065, 0x6008,
+ 0xa084, 0xfbef, 0x600a, 0x6018, 0x8001, 0x601a, 0x0c7f, 0x007c,
+ 0x1078, 0x40de, 0x00c0, 0x2920, 0x707c, 0x2068, 0x7774, 0x1078,
+ 0x3fa3, 0x2c50, 0x1078, 0x41b2, 0x789b, 0x0010, 0x6814, 0xa084,
+ 0x001f, 0xc0bd, 0x78aa, 0x6e1c, 0x2041, 0x0001, 0x2001, 0x0004,
+ 0x0078, 0x2ba1, 0x1078, 0x40de, 0x00c0, 0x2920, 0x789b, 0x0010,
+ 0x7060, 0x2068, 0x6f14, 0x70d4, 0xd0b4, 0x0040, 0x2a5c, 0xc0b4,
+ 0x70d6, 0x0c7e, 0x70b8, 0xa065, 0x6008, 0xa084, 0xfbef, 0x600a,
+ 0x6018, 0x8001, 0x601a, 0x0c7f, 0x1078, 0x3fa3, 0x2c50, 0x1078,
+ 0x41b2, 0x6824, 0xa005, 0x0040, 0x2a6d, 0xa082, 0x0006, 0x0048,
+ 0x2a6b, 0x0078, 0x2a6d, 0x6827, 0x0005, 0x6814, 0xa084, 0x001f,
+ 0xc0bd, 0x78aa, 0x2031, 0x0020, 0x2041, 0x0001, 0x2001, 0x0003,
+ 0x0078, 0x2ba1, 0xc28d, 0x72d6, 0x72c0, 0xa200, 0xa015, 0x7154,
+ 0x8108, 0xa12a, 0x0048, 0x2a85, 0x71c0, 0x2164, 0x6504, 0x85ff,
+ 0x00c0, 0x2a9c, 0x7156, 0x8421, 0x00c0, 0x2a80, 0x70d4, 0xd08c,
+ 0x0040, 0x2a98, 0x70d0, 0xa005, 0x00c0, 0x2a98, 0x70d3, 0x000a,
+ 0x007c, 0x2200, 0x0078, 0x2a8a, 0x70d4, 0xc08c, 0x70d6, 0x70d3,
+ 0x0000, 0x603c, 0xa005, 0x00c0, 0x2a99, 0x6708, 0xa784, 0x073f,
+ 0x0040, 0x2acb, 0xd7d4, 0x00c0, 0x2a99, 0xa784, 0x0021, 0x00c0,
+ 0x2a99, 0xa784, 0x0002, 0x0040, 0x2abc, 0xa784, 0x0004, 0x0040,
+ 0x2a99, 0xa7bc, 0xfffb, 0x670a, 0xa784, 0x0218, 0x00c0, 0x2a99,
+ 0xa784, 0x0100, 0x0040, 0x2acb, 0x6018, 0xa005, 0x00c0, 0x2a99,
+ 0xa7bc, 0xfeff, 0x670a, 0x2568, 0x6823, 0x0000, 0x6e1c, 0xa684,
+ 0x000e, 0x6318, 0x0040, 0x2adc, 0x601c, 0xa302, 0x0048, 0x2adf,
+ 0x0040, 0x2adf, 0x0078, 0x2a99, 0x83ff, 0x00c0, 0x2a99, 0x2d58,
+ 0x2c50, 0x7156, 0xd7bc, 0x00c0, 0x2ae7, 0x7028, 0x6022, 0xc7bc,
+ 0x670a, 0x68c0, 0xa065, 0xa04d, 0x6100, 0x2a60, 0x2041, 0x0001,
+ 0x6b14, 0xa39c, 0x001f, 0xa39d, 0x00c0, 0xd1fc, 0x0040, 0x2afb,
+ 0xd684, 0x0040, 0x2afd, 0xa39c, 0xffbf, 0xd6a4, 0x0040, 0x2b02,
+ 0xa39d, 0x0020, 0xa684, 0x000e, 0x00c0, 0x2b4d, 0xc7a5, 0x670a,
+ 0x2c00, 0x68c6, 0x77a4, 0xa786, 0x0001, 0x00c0, 0x2b21, 0x70d4,
+ 0xd0b4, 0x00c0, 0x2b21, 0x7000, 0xa082, 0x0002, 0x00c8, 0x2b21,
+ 0x7830, 0xd0bc, 0x00c0, 0x2b21, 0x789b, 0x0010, 0x7baa, 0x0078,
+ 0x2b99, 0x8739, 0x77a6, 0x2750, 0x77b0, 0xa7b0, 0x0005, 0x70ac,
+ 0xa606, 0x00c0, 0x2b2c, 0x76a8, 0x76b2, 0x2c3a, 0x8738, 0x2d3a,
+ 0x8738, 0x283a, 0x8738, 0x233a, 0x8738, 0x253a, 0x7830, 0xd0bc,
+ 0x0040, 0x2b44, 0x2091, 0x8000, 0x2091, 0x303d, 0x70d4, 0xa084,
+ 0x303d, 0x2091, 0x8000, 0x2090, 0xaad5, 0x0000, 0x0040, 0x2b4c,
+ 0x8421, 0x2200, 0x00c0, 0x2a7f, 0x007c, 0xd1dc, 0x0040, 0x3ba7,
+ 0x2029, 0x0020, 0xd69c, 0x00c0, 0x2b5a, 0x8528, 0xd68c, 0x00c0,
+ 0x2b5a, 0x8528, 0x8840, 0x6f14, 0x610c, 0x8108, 0xa18c, 0x00ff,
+ 0x70cc, 0xa160, 0x2c64, 0x8cff, 0x0040, 0x2b79, 0x6014, 0xa706,
+ 0x00c0, 0x2b62, 0x60b8, 0x8001, 0x60ba, 0x00c0, 0x2b5d, 0x2a60,
+ 0x6008, 0xa085, 0x0100, 0x600a, 0x2200, 0x8421, 0x00c0, 0x2a7f,
+ 0x007c, 0x2a60, 0x610e, 0x69be, 0x2c00, 0x68c6, 0x8840, 0x6008,
+ 0xc0d5, 0x600a, 0x77a4, 0xa786, 0x0001, 0x00c0, 0x2b21, 0x70d4,
+ 0xd0b4, 0x00c0, 0x2b21, 0x7000, 0xa082, 0x0002, 0x00c8, 0x2b21,
+ 0x7830, 0xd0bc, 0x00c0, 0x2b21, 0x789b, 0x0010, 0x7baa, 0x7daa,
+ 0x79aa, 0x2001, 0x0002, 0x007e, 0x6018, 0x8000, 0x601a, 0x0078,
+ 0x2ba2, 0x007e, 0x2960, 0x6104, 0x2a60, 0xa184, 0x0018, 0x0040,
+ 0x2bbe, 0xa184, 0x0010, 0x0040, 0x2bb1, 0x1078, 0x3db8, 0x00c0,
+ 0x2be3, 0xa184, 0x0008, 0x0040, 0x2bbe, 0x69a0, 0xa184, 0x0600,
+ 0x00c0, 0x2bbe, 0x1078, 0x3c9c, 0x0078, 0x2be3, 0x69a0, 0xa184,
+ 0x1e00, 0x0040, 0x2bee, 0xa184, 0x0800, 0x0040, 0x2bd7, 0x0c7e,
+ 0x2960, 0x6000, 0xa085, 0x2000, 0x6002, 0x6104, 0xa18d, 0x0010,
+ 0x6106, 0x0c7f, 0x1078, 0x3db8, 0x00c0, 0x2be3, 0x69a0, 0xa184,
+ 0x0200, 0x0040, 0x2bdf, 0x1078, 0x3cfc, 0x0078, 0x2be3, 0xa184,
+ 0x0400, 0x00c0, 0x2bba, 0x69a0, 0xa184, 0x1000, 0x0040, 0x2bee,
+ 0x6914, 0xa18c, 0xff00, 0x810f, 0x1078, 0x2727, 0x027f, 0xa68c,
+ 0x00e0, 0xa684, 0x0060, 0x0040, 0x2bfb, 0xa086, 0x0060, 0x00c0,
+ 0x2bfb, 0xa18d, 0x4000, 0xa18d, 0x0104, 0x69b6, 0x789b, 0x0060,
+ 0x2800, 0x78aa, 0x6818, 0xc0fd, 0x681a, 0xd6bc, 0x0040, 0x2c16,
+ 0xc0fc, 0x7087, 0x0000, 0xa08a, 0x000d, 0x0050, 0x2c14, 0xa08a,
+ 0x000c, 0x7186, 0x2001, 0x000c, 0x800c, 0x718a, 0x78aa, 0x3518,
+ 0x3340, 0x3428, 0x8000, 0x80ac, 0xaf80, 0x002b, 0x20a0, 0x789b,
+ 0x0000, 0xad80, 0x000b, 0x2098, 0x53a6, 0x23a8, 0x2898, 0x25a0,
+ 0xa286, 0x0020, 0x00c0, 0x2c4e, 0x70d4, 0xc0b5, 0x70d6, 0x2c00,
+ 0x70ba, 0x2d00, 0x70be, 0x6814, 0xc0fc, 0x8007, 0x7882, 0xa286,
+ 0x0002, 0x0040, 0x2c84, 0x70a4, 0x8000, 0x70a6, 0x74b4, 0xa498,
+ 0x0005, 0x70ac, 0xa306, 0x00c0, 0x2c46, 0x73a8, 0x73b6, 0xa286,
+ 0x0010, 0x0040, 0x2920, 0x0d7f, 0x0c7f, 0x007c, 0x7000, 0xa005,
+ 0x00c0, 0x2c2c, 0xa286, 0x0002, 0x00c0, 0x2c9e, 0x1078, 0x40de,
+ 0x00c0, 0x2c2c, 0x6814, 0xc0fc, 0x8007, 0x7882, 0x2091, 0x8000,
+ 0x781b, 0x005b, 0x68b4, 0x785a, 0x6894, 0x78d6, 0x78de, 0x6898,
+ 0x78d2, 0x78da, 0x2091, 0x8001, 0x7808, 0xc08d, 0x780a, 0x127e,
+ 0x0d7e, 0x0c7e, 0x70d4, 0xa084, 0x2700, 0x2090, 0x0c7f, 0x0d7f,
+ 0x127f, 0x2900, 0x705a, 0x68bc, 0x7042, 0x7003, 0x0002, 0x2d00,
+ 0x704e, 0xad80, 0x0009, 0x7046, 0x7830, 0xd0bc, 0x0040, 0x2c90,
+ 0x2091, 0x303d, 0x70d4, 0xa084, 0x303d, 0x2091, 0x8000, 0x2090,
+ 0x70a4, 0xa005, 0x00c0, 0x2c95, 0x007c, 0x8421, 0x0040, 0x2c94,
+ 0x7250, 0x70c0, 0xa200, 0xa015, 0x0078, 0x2a7f, 0xa286, 0x0010,
+ 0x00c0, 0x2ccf, 0x1078, 0x40de, 0x00c0, 0x2c2c, 0x6814, 0xc0fc,
+ 0x8007, 0x7882, 0x781b, 0x005b, 0x68b4, 0x785a, 0x6894, 0x78d6,
+ 0x78de, 0x6898, 0x78d2, 0x78da, 0x7808, 0xc08d, 0x780a, 0x70a4,
+ 0x8000, 0x70a6, 0x74b4, 0xa490, 0x0005, 0x70ac, 0xa206, 0x00c0,
+ 0x2cc2, 0x72a8, 0x72b6, 0x2900, 0x705a, 0x68bc, 0x7042, 0x7003,
+ 0x0002, 0x2d00, 0x704e, 0xad80, 0x0009, 0x7046, 0x007c, 0x6bb4,
+ 0xa39d, 0x2000, 0x7b5a, 0x6814, 0xc0fc, 0x8007, 0x7882, 0x6b94,
+ 0x7bd6, 0x7bde, 0x6e98, 0x7ed2, 0x7eda, 0x781b, 0x005b, 0x2900,
+ 0x705a, 0x7202, 0x7808, 0xc08d, 0x780a, 0x2300, 0xa605, 0x0040,
+ 0x2cfa, 0x70d4, 0xa084, 0x2700, 0xa086, 0x2300, 0x00c0, 0x2cf4,
+ 0x2009, 0x0000, 0x0078, 0x2cf6, 0x2009, 0x0001, 0xa284, 0x000f,
+ 0x1079, 0x2cfe, 0xad80, 0x0009, 0x7046, 0x007c, 0x2d06, 0x45b9,
+ 0x45b9, 0x45a6, 0x45b9, 0x2d06, 0x2d06, 0x2d06, 0x1078, 0x28ca,
+ 0x7808, 0xa084, 0xfffd, 0x780a, 0x0f7e, 0x2079, 0x4a00, 0x78ac,
+ 0x0f7f, 0xd084, 0x0040, 0x2d2c, 0x7064, 0xa086, 0x0001, 0x00c0,
+ 0x2d1c, 0x7066, 0x0078, 0x2e05, 0x7064, 0xa086, 0x0005, 0x00c0,
+ 0x2d2a, 0x707c, 0x2068, 0x681b, 0x0004, 0x6817, 0x0000, 0x6820,
+ 0xc09d, 0x6822, 0x7067, 0x0000, 0x70a7, 0x0000, 0x70a8, 0x70b2,
+ 0x70b6, 0x70d4, 0xd0b4, 0x0040, 0x2d42, 0xc0b4, 0x70d6, 0x0c7e,
+ 0x70b8, 0xa065, 0x6008, 0xa084, 0xfbef, 0x600a, 0x6018, 0x8001,
+ 0x601a, 0x0c7f, 0x157e, 0x2011, 0x0004, 0x7164, 0xa186, 0x0001,
+ 0x0040, 0x2d5b, 0xa186, 0x0007, 0x00c0, 0x2d52, 0x701f, 0x0005,
+ 0x0078, 0x2d5b, 0x701f, 0x0001, 0x7067, 0x0000, 0x70d4, 0xc0dd,
+ 0x70d6, 0x0078, 0x2d5d, 0x7067, 0x0000, 0x2001, 0x4a0a, 0x2004,
+ 0xa084, 0x00ff, 0xa086, 0x0018, 0x0040, 0x2d6d, 0x7018, 0x7016,
+ 0xa005, 0x00c0, 0x2d6d, 0x70a7, 0x0001, 0x1078, 0x42e7, 0x20a9,
+ 0x0010, 0x2039, 0x0000, 0x1078, 0x3e9d, 0xa7b8, 0x0100, 0x00f0,
+ 0x2d73, 0x7000, 0x0079, 0x2d7c, 0x2dab, 0x2d91, 0x2d91, 0x2d86,
+ 0x2dab, 0x2dab, 0x2dab, 0x2d84, 0x1078, 0x28ca, 0x7060, 0xa005,
+ 0x0040, 0x2dab, 0xad06, 0x00c0, 0x2d91, 0x6800, 0x7062, 0x0078,
+ 0x2da3, 0x6820, 0xd084, 0x00c0, 0x2d9f, 0x6f14, 0x1078, 0x3fa3,
+ 0x6008, 0xc0d4, 0x600a, 0x1078, 0x3b77, 0x0078, 0x2da3, 0x705c,
+ 0x2060, 0x6800, 0x6002, 0x6a1a, 0x6817, 0x0000, 0x6820, 0xc09d,
+ 0x6822, 0x1078, 0x2008, 0xb284, 0x0400, 0x0040, 0x2db3, 0x2021,
+ 0x91d0, 0x0078, 0x2db5, 0x2021, 0x90c0, 0x1078, 0x2e0a, 0xb284,
+ 0x0400, 0x0040, 0x2dbf, 0x2021, 0x4a98, 0x0078, 0x2dc1, 0x2021,
+ 0x4a58, 0x1078, 0x2e0a, 0x20a9, 0x0101, 0xb284, 0x0400, 0x0040,
+ 0x2dcd, 0x2021, 0x90d0, 0x0078, 0x2dcf, 0x2021, 0x8fc0, 0x1078,
+ 0x2e0a, 0x8420, 0x00f0, 0x2dcf, 0xb284, 0x0300, 0x0040, 0x2ddc,
+ 0x2061, 0x4fc0, 0x0078, 0x2dde, 0x2061, 0x6fc0, 0x2021, 0x0002,
+ 0x20a9, 0x0100, 0x6110, 0x81ff, 0x0040, 0x2dfb, 0x6018, 0x017e,
+ 0x007e, 0x2011, 0x4a02, 0x220c, 0xa102, 0x2012, 0x007f, 0x017f,
+ 0xa102, 0x0050, 0x2dfb, 0x6012, 0x00c0, 0x2dfb, 0x2011, 0x4a04,
+ 0x2204, 0xc0a5, 0x2012, 0x601b, 0x0000, 0xace0, 0x0010, 0x00f0,
+ 0x2de2, 0x8421, 0x00c0, 0x2de0, 0x157f, 0x7003, 0x0000, 0x704f,
+ 0x0000, 0x007c, 0x047e, 0x2404, 0xa005, 0x0040, 0x2e1d, 0x2068,
+ 0x6800, 0x007e, 0x6a1a, 0x6817, 0x0000, 0x6820, 0xc09d, 0x6822,
+ 0x1078, 0x2008, 0x007f, 0x0078, 0x2e0c, 0x047f, 0x2023, 0x0000,
+ 0x007c, 0xa282, 0x0003, 0x0050, 0x2e27, 0x1078, 0x28ca, 0x2300,
+ 0x0079, 0x2e2a, 0x2e2d, 0x2eb8, 0x2ed5, 0xa282, 0x0002, 0x0040,
+ 0x2e33, 0x1078, 0x28ca, 0x7064, 0x7067, 0x0000, 0x7083, 0x0000,
+ 0x0079, 0x2e3a, 0x2e42, 0x2e42, 0x2e44, 0x2e84, 0x3bb3, 0x2e42,
+ 0x2e84, 0x2e42, 0x1078, 0x28ca, 0x7774, 0x1078, 0x3e9d, 0x7774,
+ 0xa7bc, 0x8f00, 0x1078, 0x3fa3, 0x6018, 0xa005, 0x0040, 0x2e7b,
+ 0xd7fc, 0x00c0, 0x2e57, 0x2021, 0x90c0, 0x0078, 0x2e59, 0x2021,
+ 0x91d0, 0x2009, 0x0005, 0x2011, 0x0010, 0x1078, 0x2ef0, 0x0040,
+ 0x2e7b, 0x157e, 0x20a9, 0x0101, 0xd7fc, 0x00c0, 0x2e6b, 0x2021,
+ 0x8fc0, 0x0078, 0x2e6d, 0x2021, 0x90d0, 0x047e, 0x2009, 0x0005,
+ 0x2011, 0x0010, 0x1078, 0x2ef0, 0x047f, 0x0040, 0x2e7a, 0x8420,
+ 0x00f0, 0x2e6d, 0x157f, 0x8738, 0xa784, 0x001f, 0x00c0, 0x2e4a,
+ 0x0078, 0x2924, 0x0078, 0x2924, 0x7774, 0x1078, 0x3fa3, 0x6018,
+ 0xa005, 0x0040, 0x2eb6, 0xd7fc, 0x00c0, 0x2e92, 0x2021, 0x90c0,
+ 0x0078, 0x2e94, 0x2021, 0x91d0, 0x2009, 0x0005, 0x2011, 0x0020,
+ 0x1078, 0x2ef0, 0x0040, 0x2eb6, 0x157e, 0x20a9, 0x0101, 0xd7fc,
+ 0x00c0, 0x2ea6, 0x2021, 0x8fc0, 0x0078, 0x2ea8, 0x2021, 0x90d0,
+ 0x047e, 0x2009, 0x0005, 0x2011, 0x0020, 0x1078, 0x2ef0, 0x047f,
+ 0x0040, 0x2eb5, 0x8420, 0x00f0, 0x2ea8, 0x157f, 0x0078, 0x2924,
+ 0x2200, 0x0079, 0x2ebb, 0x2ebe, 0x2ec0, 0x2ec0, 0x1078, 0x28ca,
+ 0x2009, 0x0012, 0x7064, 0xa086, 0x0002, 0x0040, 0x2ec9, 0x2009,
+ 0x000e, 0x6818, 0xd0fc, 0x0040, 0x2ece, 0x691a, 0x7067, 0x0000,
+ 0x70d4, 0xc0dd, 0x70d6, 0x0078, 0x408b, 0x2200, 0x0079, 0x2ed8,
+ 0x2edd, 0x2ec0, 0x2edb, 0x1078, 0x28ca, 0x1078, 0x42e7, 0x7000,
+ 0xa086, 0x0002, 0x00c0, 0x3b3c, 0x1078, 0x3b94, 0x6008, 0xa084,
+ 0xfbef, 0x600a, 0x1078, 0x3b2d, 0x0040, 0x3b3c, 0x0078, 0x2924,
+ 0x2404, 0xa005, 0x0040, 0x2f1f, 0x2068, 0x2d04, 0x007e, 0x6814,
+ 0xa706, 0x0040, 0x2eff, 0x2d20, 0x007f, 0x0078, 0x2ef1, 0x007f,
+ 0x2022, 0x691a, 0x6817, 0x0000, 0x6820, 0xa205, 0x6822, 0x1078,
+ 0x2008, 0x2021, 0x4a02, 0x241c, 0x8319, 0x2322, 0x6010, 0x8001,
+ 0x6012, 0x00c0, 0x2f18, 0x2021, 0x4a04, 0x2404, 0xc0a5, 0x2022,
+ 0x6008, 0xa084, 0xf9ef, 0x600a, 0x1078, 0x3b94, 0x007c, 0xa085,
+ 0x0001, 0x0078, 0x2f1e, 0x2300, 0x0079, 0x2f26, 0x2f2b, 0x2f29,
+ 0x2fac, 0x1078, 0x28ca, 0x78e4, 0xa005, 0x00d0, 0x2f62, 0x3208,
+ 0x007e, 0x2001, 0x4a04, 0x2004, 0xd0ec, 0x007f, 0x0040, 0x2f3c,
+ 0xa18c, 0x0300, 0x0078, 0x2f3e, 0xa18c, 0x0400, 0x0040, 0x2f44,
+ 0x0018, 0x2920, 0x0078, 0x2f46, 0x0028, 0x2920, 0x2008, 0xa084,
+ 0x0030, 0x00c0, 0x2f4e, 0x781b, 0x005b, 0x007c, 0x78ec, 0xa084,
+ 0x0003, 0x0040, 0x2f4b, 0x2100, 0xa084, 0x0007, 0x0079, 0x2f58,
+ 0x2f8c, 0x2f96, 0x2f81, 0x2f60, 0x40d3, 0x40d3, 0x2f60, 0x2fa1,
+ 0x1078, 0x28ca, 0x7000, 0xa086, 0x0004, 0x00c0, 0x2f7c, 0x7064,
+ 0xa086, 0x0002, 0x00c0, 0x2f72, 0x2011, 0x0002, 0x2019, 0x0000,
+ 0x0078, 0x2e21, 0x7064, 0xa086, 0x0006, 0x0040, 0x2f6c, 0x7064,
+ 0xa086, 0x0004, 0x0040, 0x2f6c, 0x79e4, 0x2001, 0x0003, 0x0078,
+ 0x32dc, 0x6818, 0xd0fc, 0x0040, 0x2f87, 0x681b, 0x001d, 0x1078,
+ 0x3e70, 0x781b, 0x0061, 0x007c, 0x6818, 0xd0fc, 0x0040, 0x2f92,
+ 0x681b, 0x001d, 0x1078, 0x3e70, 0x0078, 0x40af, 0x6818, 0xd0fc,
+ 0x0040, 0x2f9c, 0x681b, 0x001d, 0x1078, 0x3e70, 0x781b, 0x00ee,
+ 0x007c, 0x6818, 0xd0fc, 0x0040, 0x2fa7, 0x681b, 0x001d, 0x1078,
+ 0x3e70, 0x781b, 0x00bf, 0x007c, 0xa584, 0x000f, 0x00c0, 0x2fc9,
+ 0x7000, 0x0079, 0x2fb3, 0x2924, 0x2fbb, 0x2fbd, 0x3b3c, 0x3b3c,
+ 0x3b3c, 0x2fbb, 0x2fbb, 0x1078, 0x28ca, 0x1078, 0x3b94, 0x6008,
+ 0xa084, 0xfbef, 0x600a, 0x1078, 0x3b2d, 0x0040, 0x3b3c, 0x0078,
+ 0x2924, 0x78e4, 0xa005, 0x00d0, 0x2f62, 0x3208, 0x007e, 0x2001,
+ 0x4a04, 0x2004, 0xd0ec, 0x007f, 0x0040, 0x2fda, 0xa18c, 0x0300,
+ 0x0078, 0x2fdc, 0xa18c, 0x0400, 0x0040, 0x2fe2, 0x0018, 0x2f62,
+ 0x0078, 0x2fe4, 0x0028, 0x2f62, 0x2008, 0xa084, 0x0030, 0x00c0,
+ 0x2fec, 0x781b, 0x005b, 0x007c, 0x78ec, 0xa084, 0x0003, 0x0040,
+ 0x2fe9, 0x2100, 0xa184, 0x0007, 0x0079, 0x2ff6, 0x3005, 0x3009,
+ 0x3000, 0x2ffe, 0x40d3, 0x40d3, 0x2ffe, 0x40cd, 0x1078, 0x28ca,
+ 0x1078, 0x3e78, 0x781b, 0x0061, 0x007c, 0x1078, 0x3e78, 0x0078,
+ 0x40af, 0x1078, 0x3e78, 0x781b, 0x00ee, 0x007c, 0x1078, 0x3e78,
+ 0x781b, 0x00bf, 0x007c, 0x2300, 0x0079, 0x3016, 0x301b, 0x3019,
+ 0x301d, 0x1078, 0x28ca, 0x0078, 0x378a, 0x681b, 0x0008, 0x78a3,
+ 0x0000, 0x79e4, 0xa184, 0x0030, 0x0040, 0x378a, 0x78ec, 0xa084,
+ 0x0003, 0x0040, 0x378a, 0xa184, 0x0007, 0x0079, 0x302f, 0x3037,
+ 0x3009, 0x2f81, 0x408b, 0x40d3, 0x40d3, 0x3037, 0x40cd, 0x1078,
+ 0x4097, 0x007c, 0xa282, 0x0005, 0x0050, 0x3040, 0x1078, 0x28ca,
+ 0x2300, 0x0079, 0x3043, 0x3046, 0x3265, 0x3270, 0x2200, 0x0079,
+ 0x3049, 0x3063, 0x3050, 0x3063, 0x304e, 0x3248, 0x1078, 0x28ca,
+ 0x789b, 0x0018, 0x78a8, 0xa084, 0x00ff, 0xa082, 0x0020, 0x0048,
+ 0x3e5f, 0xa08a, 0x0004, 0x00c8, 0x3e5f, 0x0079, 0x305f, 0x3e5f,
+ 0x3e5f, 0x3e5f, 0x3e09, 0x789b, 0x0018, 0x79a8, 0xa184, 0x0080,
+ 0x0040, 0x3074, 0x0078, 0x3e5f, 0x7000, 0xa005, 0x00c0, 0x306a,
+ 0x2011, 0x0004, 0x0078, 0x395a, 0xa184, 0x00ff, 0xa08a, 0x0010,
+ 0x00c8, 0x3e5f, 0x0079, 0x307c, 0x308e, 0x308c, 0x30a3, 0x30a7,
+ 0x3169, 0x3e5f, 0x3e5f, 0x316b, 0x3e5f, 0x3e5f, 0x3244, 0x3244,
+ 0x3e5f, 0x3e5f, 0x3e5f, 0x3246, 0x1078, 0x28ca, 0xd6e4, 0x0040,
+ 0x3099, 0x2001, 0x0300, 0x8000, 0x8000, 0x783a, 0x781b, 0x00ba,
+ 0x007c, 0x6818, 0xd0fc, 0x0040, 0x30a1, 0x681b, 0x001d, 0x0078,
+ 0x3091, 0x0078, 0x408b, 0x681b, 0x001d, 0x0078, 0x3e69, 0x6920,
+ 0x6922, 0xa684, 0x1800, 0x00c0, 0x30fb, 0x6820, 0xd084, 0x00c0,
+ 0x3101, 0x6818, 0xa086, 0x0008, 0x00c0, 0x30b8, 0x681b, 0x0000,
+ 0xd6d4, 0x0040, 0x3166, 0xd6bc, 0x0040, 0x30f8, 0x7087, 0x0000,
+ 0x6818, 0xa084, 0x003f, 0xa08a, 0x000d, 0x0050, 0x30f8, 0xa08a,
+ 0x000c, 0x7186, 0x2001, 0x000c, 0x800c, 0x718a, 0x789b, 0x0061,
+ 0x78aa, 0x157e, 0x137e, 0x147e, 0x017e, 0x3208, 0xa18c, 0x0300,
+ 0x0040, 0x30ea, 0x007e, 0x2001, 0x4a04, 0x2004, 0xd0ec, 0x007f,
+ 0x0040, 0x30e6, 0x20a1, 0x012b, 0x0078, 0x30ec, 0x20a1, 0x022b,
+ 0x0078, 0x30ec, 0x20a1, 0x012b, 0x017f, 0x789b, 0x0000, 0x8000,
+ 0x80ac, 0xad80, 0x000b, 0x2098, 0x53a6, 0x147f, 0x137f, 0x157f,
+ 0x781b, 0x0064, 0x007c, 0xd6e4, 0x0040, 0x3101, 0x781b, 0x0076,
+ 0x007c, 0xa684, 0x0060, 0x0040, 0x3163, 0xd6dc, 0x0040, 0x3163,
+ 0xd6fc, 0x00c0, 0x310d, 0x0078, 0x3124, 0xc6fc, 0x7e5a, 0x6eb6,
+ 0x7adc, 0x79d8, 0x78d0, 0x801b, 0x00c8, 0x3117, 0x8000, 0xa084,
+ 0x003f, 0xa108, 0xa291, 0x0000, 0x6b98, 0x2100, 0xa302, 0x68b2,
+ 0x6b94, 0x2200, 0xa303, 0x68ae, 0xd6f4, 0x0040, 0x312a, 0xc6f4,
+ 0x7e5a, 0x6eb6, 0x7000, 0xa086, 0x0003, 0x00c0, 0x3138, 0x007e,
+ 0x1078, 0x42e7, 0x1078, 0x45b9, 0x007f, 0x781b, 0x0073, 0x007c,
+ 0xa006, 0x1078, 0x46a5, 0x6ab0, 0x69ac, 0x6c98, 0x6b94, 0x2200,
+ 0xa105, 0x0040, 0x3147, 0x2200, 0xa422, 0x2100, 0xa31b, 0x6caa,
+ 0x7cd2, 0x7cda, 0x6ba6, 0x7bd6, 0x7bde, 0x2300, 0xa405, 0x00c0,
+ 0x3157, 0xc6f5, 0x7e5a, 0x6eb6, 0x781b, 0x0073, 0x007c, 0x781b,
+ 0x0073, 0x2200, 0xa115, 0x00c0, 0x3160, 0x1078, 0x45b9, 0x007c,
+ 0x1078, 0x45ee, 0x007c, 0x781b, 0x0076, 0x007c, 0x781b, 0x0064,
+ 0x007c, 0x1078, 0x28ca, 0x0078, 0x31b7, 0x6920, 0xd1c4, 0x0040,
+ 0x3180, 0xc1c4, 0x6922, 0x0c7e, 0x7058, 0x2060, 0x6000, 0xc0e4,
+ 0x6002, 0x6004, 0xa084, 0xfff5, 0x6006, 0x0c7f, 0x0078, 0x31ab,
+ 0xd1cc, 0x0040, 0x31ab, 0xc1cc, 0x6922, 0x0c7e, 0x7058, 0x2060,
+ 0x6000, 0xc0ec, 0x6002, 0x6004, 0xc0a4, 0x6006, 0x2008, 0x2c48,
+ 0x0c7f, 0xd19c, 0x0040, 0x31ab, 0x1078, 0x3f9f, 0x1078, 0x3c9c,
+ 0x88ff, 0x0040, 0x31ab, 0x789b, 0x0060, 0x2800, 0x78aa, 0x7e58,
+ 0xc695, 0x7e5a, 0xd6d4, 0x00c0, 0x31a8, 0x781b, 0x0061, 0x007c,
+ 0x781b, 0x0075, 0x007c, 0x7e58, 0xd6d4, 0x00c0, 0x31b2, 0x781b,
+ 0x0064, 0x007c, 0x781b, 0x0076, 0x007c, 0x0078, 0x3e64, 0x2019,
+ 0x0000, 0x7990, 0xa18c, 0x0007, 0x00c0, 0x31c5, 0x6820, 0xa084,
+ 0x0100, 0x0040, 0x31b5, 0x2009, 0x0008, 0x789b, 0x0010, 0x78a8,
+ 0xa094, 0x00ff, 0xa286, 0x0001, 0x00c0, 0x31e1, 0x2300, 0x7ca8,
+ 0xa400, 0x2018, 0xa102, 0x0040, 0x31d9, 0x0048, 0x31d9, 0x0078,
+ 0x31db, 0x0078, 0x316d, 0x24a8, 0x7aa8, 0x00f0, 0x31db, 0x0078,
+ 0x31c7, 0xa284, 0x00f0, 0xa086, 0x0020, 0x00c0, 0x3235, 0x8318,
+ 0x8318, 0x2300, 0xa102, 0x0040, 0x31f1, 0x0048, 0x31f1, 0x0078,
+ 0x3232, 0xa286, 0x0023, 0x0040, 0x31b5, 0x681c, 0xa084, 0xfff1,
+ 0x681e, 0x7e58, 0xa684, 0xfff1, 0xc0a5, 0x2030, 0x7e5a, 0x6008,
+ 0xc0a5, 0x600a, 0x0c7e, 0x7058, 0x2060, 0x6004, 0x2008, 0x2c48,
+ 0x0c7f, 0xd1a4, 0x0040, 0x3212, 0x1078, 0x3f9f, 0x1078, 0x3db8,
+ 0x0078, 0x3220, 0x0c7e, 0x7058, 0x2060, 0x6004, 0x2008, 0x2c48,
+ 0x0c7f, 0xd19c, 0x0040, 0x31ab, 0x1078, 0x3f9f, 0x1078, 0x3c9c,
+ 0x88ff, 0x0040, 0x31ab, 0x789b, 0x0060, 0x2800, 0x78aa, 0xc695,
+ 0x7e5a, 0xd6d4, 0x00c0, 0x322f, 0x781b, 0x0061, 0x007c, 0x781b,
+ 0x0075, 0x007c, 0x7aa8, 0x0078, 0x31c7, 0x8318, 0x2300, 0xa102,
+ 0x0040, 0x323e, 0x0048, 0x323e, 0x0078, 0x31c7, 0xa284, 0x0080,
+ 0x00c0, 0x3e69, 0x0078, 0x3e64, 0x0078, 0x3e69, 0x0078, 0x3e5f,
+ 0x7058, 0xa04d, 0x789b, 0x0018, 0x78a8, 0xa084, 0x00ff, 0xa08e,
+ 0x0001, 0x0040, 0x3255, 0x1078, 0x28ca, 0x7aa8, 0xa294, 0x00ff,
+ 0x78a8, 0xa084, 0x00ff, 0xa08a, 0x0004, 0x00c8, 0x3e5f, 0x0079,
+ 0x3261, 0x3e5f, 0x3bee, 0x3e5f, 0x3d60, 0xa282, 0x0000, 0x00c0,
+ 0x326b, 0x1078, 0x28ca, 0x1078, 0x3e70, 0x781b, 0x0075, 0x007c,
+ 0xa282, 0x0003, 0x00c0, 0x3276, 0x1078, 0x28ca, 0xd4fc, 0x00c0,
+ 0x3296, 0x7064, 0xa005, 0x0040, 0x327f, 0x1078, 0x28ca, 0x6f14,
+ 0x7776, 0xa7bc, 0x8f00, 0x1078, 0x3fa3, 0x6008, 0xa085, 0x0021,
+ 0x600a, 0x8738, 0xa784, 0x001f, 0x00c0, 0x3283, 0x1078, 0x3e74,
+ 0x7067, 0x0002, 0x701f, 0x0009, 0x0078, 0x3298, 0x1078, 0x3e80,
+ 0x781b, 0x0075, 0x007c, 0xa282, 0x0004, 0x0050, 0x32a1, 0x1078,
+ 0x28ca, 0x2300, 0x0079, 0x32a4, 0x32a7, 0x3443, 0x3486, 0xa286,
+ 0x0003, 0x0040, 0x32dc, 0x7200, 0x7cd8, 0x7ddc, 0x7fd0, 0x71d4,
+ 0xd1b4, 0x0040, 0x32d4, 0x7868, 0xa084, 0x00ff, 0x00c0, 0x32d4,
+ 0xa282, 0x0002, 0x00c8, 0x32d4, 0x0d7e, 0x783b, 0x8300, 0x781b,
+ 0x004c, 0x70bc, 0xa06d, 0x68b4, 0x785a, 0x6894, 0x78d6, 0x78de,
+ 0x6898, 0x78d2, 0x78da, 0xc1b4, 0x71d6, 0x7003, 0x0030, 0x0d7f,
+ 0x2001, 0x0000, 0x0078, 0x32e0, 0x783b, 0x1300, 0x781b, 0x004a,
+ 0x2001, 0x0000, 0x0078, 0x32e0, 0x7200, 0x7cd8, 0x7ddc, 0x7fd0,
+ 0x704a, 0x68a0, 0xd0ec, 0x0040, 0x32e8, 0x6008, 0xc08d, 0x600a,
+ 0xa284, 0x000f, 0x0079, 0x32ec, 0x3423, 0x32f9, 0x32f6, 0x3580,
+ 0x35c4, 0x2924, 0x32f4, 0x32f4, 0x1078, 0x28ca, 0x6008, 0xc0d4,
+ 0x600a, 0xd6e4, 0x00c0, 0x3300, 0x1078, 0x42e7, 0x0040, 0x33dc,
+ 0x7868, 0xa08c, 0x00ff, 0x0040, 0x3341, 0xa186, 0x0008, 0x00c0,
+ 0x3316, 0x1078, 0x3b94, 0x6008, 0xc0a4, 0x600a, 0x1078, 0x3b2d,
+ 0x0040, 0x3341, 0x1078, 0x42e7, 0x0078, 0x332b, 0xa186, 0x0028,
+ 0x00c0, 0x3341, 0x1078, 0x42e7, 0x6008, 0xc0a4, 0x600a, 0x6018,
+ 0xa005, 0x0040, 0x332b, 0x8001, 0x601a, 0x0040, 0x332b, 0x8001,
+ 0x0040, 0x332b, 0x601e, 0x6820, 0xd084, 0x0040, 0x2924, 0xc084,
+ 0x6822, 0x705c, 0x0c7e, 0x2060, 0x6800, 0x6002, 0x0c7f, 0x6004,
+ 0x6802, 0xa005, 0x2d00, 0x00c0, 0x333e, 0x6002, 0x6006, 0x0078,
+ 0x2924, 0x017e, 0x81ff, 0x00c0, 0x3388, 0x7000, 0xa086, 0x0030,
+ 0x0040, 0x3388, 0x71d4, 0xd1b4, 0x00c0, 0x336f, 0x7060, 0xa005,
+ 0x00c0, 0x3388, 0x70a4, 0xa086, 0x0001, 0x0040, 0x3388, 0x7003,
+ 0x0000, 0x047e, 0x057e, 0x077e, 0x067e, 0x0c7e, 0x0d7e, 0x1078,
+ 0x294a, 0x0d7f, 0x0c7f, 0x067f, 0x077f, 0x057f, 0x047f, 0x71d4,
+ 0xd1b4, 0x00c0, 0x3388, 0x7003, 0x0040, 0x0078, 0x3388, 0x1078,
+ 0x40de, 0x00c0, 0x3388, 0x781b, 0x005b, 0x0d7e, 0x70bc, 0xa06d,
+ 0x68b4, 0x785a, 0x6894, 0x78d6, 0x78de, 0x6898, 0x78d2, 0x78da,
+ 0xc1b4, 0x71d6, 0x7003, 0x0030, 0x7808, 0xc08d, 0x780a, 0x0d7f,
+ 0x1078, 0x34c0, 0x017f, 0x81ff, 0x0040, 0x33db, 0xa684, 0xdf00,
+ 0x681e, 0x682b, 0x0000, 0x6f14, 0xa186, 0x0002, 0x00c0, 0x33dc,
+ 0x70d4, 0xd0b4, 0x0040, 0x33a9, 0xc0b4, 0x70d6, 0x0c7e, 0x70b8,
+ 0xa065, 0x6008, 0xa084, 0xfbef, 0x600a, 0x6018, 0x8001, 0x601a,
+ 0x0c7f, 0x6820, 0xd0dc, 0x00c0, 0x33dc, 0x8717, 0xa294, 0x000f,
+ 0x8213, 0x8213, 0x8213, 0xb284, 0x0300, 0x0040, 0x33bb, 0xa290,
+ 0x4ec0, 0x0078, 0x33bd, 0xa290, 0x4f40, 0xa290, 0x0000, 0x221c,
+ 0xd3c4, 0x00c0, 0x33c5, 0x0078, 0x33cb, 0x8210, 0x2204, 0xa085,
+ 0x0018, 0x2012, 0x8211, 0xd3d4, 0x0040, 0x33d6, 0x68a0, 0xd0c4,
+ 0x00c0, 0x33d6, 0x1078, 0x3534, 0x0078, 0x2924, 0x6008, 0xc08d,
+ 0x600a, 0x0078, 0x33dc, 0x692a, 0x6916, 0x6818, 0xd0fc, 0x0040,
+ 0x33e3, 0x7048, 0x681a, 0xa68c, 0xdf00, 0x691e, 0x6410, 0x84ff,
+ 0x0040, 0x33f8, 0x2009, 0x4a02, 0x2104, 0x8001, 0x200a, 0x8421,
+ 0x6412, 0x00c0, 0x33f8, 0x2021, 0x4a04, 0x2404, 0xc0a5, 0x2022,
+ 0x6018, 0xa005, 0x0040, 0x3400, 0x8001, 0x601a, 0x00c0, 0x3403,
+ 0x6008, 0xc0a4, 0x600a, 0x6820, 0xd084, 0x00c0, 0x340f, 0x6800,
+ 0xa005, 0x00c0, 0x340c, 0x6002, 0x6006, 0x0078, 0x3413, 0x705c,
+ 0x2060, 0x6800, 0x6002, 0x2061, 0x4a00, 0x6887, 0x0103, 0x2d08,
+ 0x206b, 0x0000, 0x6068, 0xa005, 0x616a, 0x0040, 0x3422, 0x2d02,
+ 0x0078, 0x3423, 0x616e, 0x7200, 0xa286, 0x0030, 0x0040, 0x3433,
+ 0xa286, 0x0040, 0x00c0, 0x2924, 0x7003, 0x0002, 0x704c, 0x2068,
+ 0x68c4, 0x2060, 0x007c, 0x7003, 0x0002, 0x70bc, 0xa06d, 0x68bc,
+ 0x7042, 0x70b8, 0xa065, 0x68c0, 0x705a, 0x2d00, 0x704e, 0xad80,
+ 0x0009, 0x7046, 0x007c, 0xa282, 0x0004, 0x0048, 0x3449, 0x1078,
+ 0x28ca, 0x2200, 0x0079, 0x344c, 0x3450, 0x3461, 0x346e, 0x3461,
+ 0xa586, 0x1300, 0x0040, 0x3461, 0xa586, 0x8300, 0x00c0, 0x3447,
+ 0x7003, 0x0000, 0x6018, 0x8001, 0x601a, 0x6008, 0xa084, 0xfbef,
+ 0x600a, 0x7000, 0xa086, 0x0005, 0x0040, 0x346b, 0x1078, 0x3e70,
+ 0x781b, 0x0075, 0x007c, 0x781b, 0x0076, 0x007c, 0x7890, 0x8007,
+ 0x8001, 0xa084, 0x0007, 0xa080, 0x0018, 0x789a, 0x79a8, 0xa18c,
+ 0x00ff, 0xa186, 0x0003, 0x0040, 0x3483, 0xa186, 0x0000, 0x0040,
+ 0x3483, 0x0078, 0x3e5f, 0x781b, 0x0076, 0x007c, 0x6820, 0xc095,
+ 0x6822, 0x82ff, 0x00c0, 0x3490, 0x1078, 0x3e70, 0x0078, 0x3497,
+ 0x8211, 0x0040, 0x3495, 0x1078, 0x28ca, 0x1078, 0x3e80, 0x781b,
+ 0x0075, 0x007c, 0x1078, 0x40f3, 0x7830, 0xa084, 0x00c0, 0x00c0,
+ 0x34bd, 0x017e, 0x3208, 0x007e, 0x2001, 0x4a04, 0x2004, 0xd0ec,
+ 0x007f, 0x0040, 0x34af, 0xa18c, 0x0300, 0x0078, 0x34b1, 0xa18c,
+ 0x0400, 0x017f, 0x0040, 0x34b8, 0x0018, 0x34bd, 0x0078, 0x34ba,
+ 0x0028, 0x34bd, 0x791a, 0xa006, 0x007c, 0xa085, 0x0001, 0x007c,
+ 0xa684, 0x0060, 0x00c0, 0x34ca, 0x682f, 0x0000, 0x6833, 0x0000,
+ 0x0078, 0x3533, 0xd6dc, 0x00c0, 0x34e5, 0x68b4, 0xa084, 0x4800,
+ 0xa635, 0xd6dc, 0x00c0, 0x34e5, 0x6998, 0x6a94, 0x692e, 0x6a32,
+ 0x7048, 0xa005, 0x00c0, 0x34e2, 0x2200, 0xa105, 0x0040, 0x34e4,
+ 0x704b, 0x0015, 0x0078, 0x42e7, 0x007c, 0xd6ac, 0x0040, 0x3502,
+ 0xd6f4, 0x0040, 0x34f1, 0x682f, 0x0000, 0x6833, 0x0000, 0x0078,
+ 0x42e7, 0x68b4, 0xa084, 0x4800, 0xa635, 0xd6f4, 0x00c0, 0x34eb,
+ 0x7048, 0xa005, 0x00c0, 0x34fe, 0x704b, 0x0015, 0x6c2e, 0x6d32,
+ 0x0078, 0x42e7, 0xd6f4, 0x0040, 0x350b, 0x682f, 0x0000, 0x6833,
+ 0x0000, 0x0078, 0x42e7, 0x68b4, 0xa084, 0x4800, 0xa635, 0xd6f4,
+ 0x00c0, 0x3505, 0x7048, 0xa005, 0x00c0, 0x3518, 0x704b, 0x0015,
+ 0x2408, 0x2510, 0x2700, 0x80fb, 0x00c8, 0x351f, 0x8000, 0xa084,
+ 0x003f, 0xa108, 0xa291, 0x0000, 0x692e, 0x6a32, 0x2100, 0xa205,
+ 0x00c0, 0x352c, 0x0078, 0x42e7, 0x7000, 0xa086, 0x0006, 0x0040,
+ 0x3533, 0x0078, 0x42e7, 0x007c, 0x6008, 0xc0cd, 0xd3cc, 0x0040,
+ 0x353a, 0xc08d, 0x600a, 0x681b, 0x0006, 0x688f, 0x0000, 0x6893,
+ 0x0000, 0x6a30, 0x692c, 0x6a3e, 0x6942, 0x682f, 0x0003, 0x6833,
+ 0x0000, 0x6837, 0x0020, 0x6897, 0x0000, 0x689b, 0x0020, 0x7000,
+ 0x0079, 0x3552, 0x2924, 0x3564, 0x355c, 0x355a, 0x355a, 0x355a,
+ 0x355a, 0x355a, 0x1078, 0x28ca, 0x6820, 0xd084, 0x00c0, 0x3564,
+ 0x1078, 0x3b77, 0x0078, 0x356a, 0x705c, 0x2c50, 0x2060, 0x6800,
+ 0x6002, 0x2a60, 0x3208, 0xa18c, 0x0300, 0x0040, 0x3573, 0x2021,
+ 0x4a58, 0x0078, 0x3575, 0x2021, 0x4a98, 0x2404, 0xa005, 0x0040,
+ 0x357c, 0x2020, 0x0078, 0x3575, 0x2d22, 0x206b, 0x0000, 0x007c,
+ 0x1078, 0x3b7e, 0x1078, 0x3b94, 0x6008, 0xc0cc, 0x600a, 0x682b,
+ 0x0000, 0x789b, 0x000e, 0x6f14, 0x6817, 0x0002, 0x3208, 0xa18c,
+ 0x0300, 0x0040, 0x3597, 0x2009, 0x0000, 0x0078, 0x3599, 0x2009,
+ 0x0001, 0x1078, 0x46da, 0xd6dc, 0x0040, 0x35a1, 0x691c, 0xc1ed,
+ 0x691e, 0x6818, 0xd0fc, 0x0040, 0x35b0, 0x7868, 0xa08c, 0x00ff,
+ 0x0040, 0x35ae, 0x681b, 0x001e, 0x0078, 0x35b0, 0x681b, 0x0000,
+ 0xb284, 0x0300, 0x00c0, 0x35b8, 0x2021, 0x4a98, 0x0078, 0x35ba,
+ 0x2021, 0x4a58, 0x6800, 0x2022, 0x6a3c, 0x6940, 0x6a32, 0x692e,
+ 0x1078, 0x2008, 0x0078, 0x2924, 0x7cd8, 0x7ddc, 0x7fd0, 0x1078,
+ 0x34c0, 0x682b, 0x0000, 0x789b, 0x000e, 0x6f14, 0x1078, 0x40f7,
+ 0xa08c, 0x00ff, 0x6916, 0x6818, 0xd0fc, 0x0040, 0x35d9, 0x7048,
+ 0x681a, 0xa68c, 0xdf00, 0x691e, 0x7067, 0x0000, 0x0078, 0x2924,
+ 0x7000, 0xa005, 0x00c0, 0x35e6, 0x0078, 0x2924, 0xa006, 0x1078,
+ 0x42e7, 0x6817, 0x0000, 0x681b, 0x0014, 0xa68c, 0xdf00, 0x691e,
+ 0x682b, 0x0000, 0x6820, 0xa084, 0x00ff, 0x6822, 0x7000, 0x0079,
+ 0x35f9, 0x2924, 0x3606, 0x3603, 0x3608, 0x3608, 0x3608, 0x3601,
+ 0x3601, 0x1078, 0x28ca, 0x6008, 0xc0d4, 0x600a, 0x1078, 0x3b94,
+ 0x6008, 0xc0a4, 0x600a, 0x0078, 0x3b47, 0x2300, 0x0079, 0x3610,
+ 0x3613, 0x3615, 0x3671, 0x1078, 0x28ca, 0xd6fc, 0x00c0, 0x3658,
+ 0x7000, 0xa00d, 0x0079, 0x361c, 0x2924, 0x3626, 0x3626, 0x364a,
+ 0x3626, 0x3655, 0x3624, 0x3624, 0x1078, 0x28ca, 0xa684, 0x0060,
+ 0xa086, 0x0060, 0x00c0, 0x3647, 0xc6ac, 0xc6f4, 0xc6ed, 0x7e5a,
+ 0x681c, 0xc0ac, 0x681e, 0xa186, 0x0002, 0x0040, 0x3639, 0x1078,
+ 0x42e7, 0x1078, 0x45b9, 0x781b, 0x0076, 0x71d4, 0xd1b4, 0x00c0,
+ 0x2920, 0x70a4, 0xa086, 0x0001, 0x00c0, 0x2967, 0x007c, 0xd6ec,
+ 0x0040, 0x362e, 0x6818, 0xd0fc, 0x0040, 0x3655, 0x681b, 0x0015,
+ 0xd6f4, 0x0040, 0x3655, 0x681b, 0x0007, 0x1078, 0x4097, 0x007c,
+ 0xc6fc, 0x7e5a, 0x7adc, 0x79d8, 0x78d0, 0x801b, 0x00c8, 0x3661,
+ 0x8000, 0xa084, 0x003f, 0xa108, 0xa291, 0x0000, 0x6b98, 0x2100,
+ 0xa302, 0x68b2, 0x6b94, 0x2200, 0xa303, 0x68ae, 0x781b, 0x0076,
+ 0x007c, 0x1078, 0x28ca, 0x2300, 0x0079, 0x3676, 0x367b, 0x3693,
+ 0x36e6, 0x1078, 0x28ca, 0x7000, 0x0079, 0x367e, 0x3686, 0x3686,
+ 0x3688, 0x3686, 0x3686, 0x3686, 0x3686, 0x3686, 0x1078, 0x28ca,
+ 0x1078, 0x45b9, 0x681c, 0xc0b4, 0x681e, 0x70a4, 0xa086, 0x0001,
+ 0x00c0, 0x2967, 0x007c, 0xd6fc, 0x00c0, 0x36d7, 0x7000, 0xa00d,
+ 0x0079, 0x369a, 0x2924, 0x36aa, 0x36a4, 0x36ce, 0x36aa, 0x36d4,
+ 0x36a2, 0x36a2, 0x1078, 0x28ca, 0x6894, 0x78d6, 0x78de, 0x6898,
+ 0x78d2, 0x78da, 0xa684, 0x0060, 0xa086, 0x0060, 0x00c0, 0x36cb,
+ 0xa6b4, 0xbfbf, 0xc6ed, 0x7e5a, 0xa186, 0x0002, 0x0040, 0x36ba,
+ 0x1078, 0x42e7, 0x1078, 0x45b9, 0x781b, 0x0076, 0x681c, 0xc0b4,
+ 0x681e, 0x71d4, 0xd1b4, 0x00c0, 0x2920, 0x70a4, 0xa086, 0x0001,
+ 0x00c0, 0x2967, 0x007c, 0xd6ec, 0x0040, 0x36b2, 0x6818, 0xd0fc,
+ 0x0040, 0x36d4, 0x681b, 0x0007, 0x781b, 0x00ef, 0x007c, 0xc6fc,
+ 0x7e5a, 0x7adc, 0x79d8, 0x6b98, 0x2100, 0xa302, 0x68b2, 0x6b94,
+ 0x2200, 0xa303, 0x68ae, 0x781b, 0x0076, 0x007c, 0xd6dc, 0x0040,
+ 0x36ef, 0x782b, 0x3009, 0x781b, 0x0076, 0x0078, 0x2920, 0x7884,
+ 0xc0ac, 0x7886, 0x78e4, 0xa084, 0x0008, 0x00c0, 0x3702, 0xa484,
+ 0x0200, 0x0040, 0x36fc, 0xc6f5, 0xc6dd, 0x7e5a, 0x781b, 0x0076,
+ 0x0078, 0x2920, 0x6820, 0xc095, 0x6822, 0x1078, 0x4024, 0xc6dd,
+ 0x1078, 0x3e70, 0x781b, 0x0075, 0x0078, 0x2920, 0x2300, 0x0079,
+ 0x3711, 0x3714, 0x3716, 0x3718, 0x1078, 0x28ca, 0x0078, 0x3e69,
+ 0xd6d4, 0x00c0, 0x373e, 0x79e4, 0xd1ac, 0x0040, 0x3726, 0x78ec,
+ 0xa084, 0x0003, 0x0040, 0x3726, 0x782b, 0x3009, 0x789b, 0x0060,
+ 0x78ab, 0x0000, 0xa684, 0xfffb, 0x785a, 0x79e4, 0xd1ac, 0x0040,
+ 0x3736, 0x78ec, 0xa084, 0x0003, 0x00c0, 0x373a, 0x2001, 0x0014,
+ 0x0078, 0x32dc, 0xa184, 0x0007, 0x0079, 0x3774, 0x7a90, 0xa294,
+ 0x0007, 0x789b, 0x0060, 0x79a8, 0x81ff, 0x0040, 0x3772, 0x789b,
+ 0x0010, 0x7ba8, 0xa384, 0x0001, 0x00c0, 0x3765, 0x7ba8, 0x7ba8,
+ 0xa386, 0x0001, 0x00c0, 0x3758, 0x2009, 0xfff7, 0x0078, 0x375e,
+ 0xa386, 0x0003, 0x00c0, 0x3765, 0x2009, 0xffef, 0x0c7e, 0x7058,
+ 0x2060, 0x6004, 0xa104, 0x6006, 0x0c7f, 0x789b, 0x0060, 0x78ab,
+ 0x0000, 0xa684, 0xfffb, 0x785a, 0x782b, 0x3009, 0x6920, 0xa18c,
+ 0xfcff, 0x6922, 0x0078, 0x408b, 0x2f8c, 0x2f96, 0x377e, 0x3784,
+ 0x377c, 0x377c, 0x408b, 0x408b, 0x1078, 0x28ca, 0x6920, 0xa18c,
+ 0xfcff, 0x6922, 0x0078, 0x4091, 0x6920, 0xa18c, 0xfcff, 0x6922,
+ 0x0078, 0x408b, 0x79e4, 0xa184, 0x0030, 0x0040, 0x3794, 0x78ec,
+ 0xa084, 0x0003, 0x00c0, 0x37ba, 0x7000, 0xa086, 0x0004, 0x00c0,
+ 0x37ae, 0x7064, 0xa086, 0x0002, 0x00c0, 0x37a4, 0x2011, 0x0002,
+ 0x2019, 0x0000, 0x0078, 0x2e21, 0x7064, 0xa086, 0x0006, 0x0040,
+ 0x379e, 0x7064, 0xa086, 0x0004, 0x0040, 0x379e, 0x7000, 0xa086,
+ 0x0000, 0x0040, 0x2920, 0x6818, 0xc0fd, 0x681a, 0x2001, 0x0014,
+ 0x0078, 0x32dc, 0xa184, 0x0007, 0x0079, 0x37be, 0x408b, 0x408b,
+ 0x37c6, 0x408b, 0x40d3, 0x40d3, 0x408b, 0x408b, 0xd6bc, 0x0040,
+ 0x3808, 0x7184, 0x81ff, 0x0040, 0x3808, 0xa182, 0x000d, 0x00d0,
+ 0x37d5, 0x7087, 0x0000, 0x0078, 0x37da, 0xa182, 0x000c, 0x7086,
+ 0x2009, 0x000c, 0x789b, 0x0061, 0x79aa, 0x157e, 0x137e, 0x147e,
+ 0x7088, 0x8114, 0xa210, 0x728a, 0xa080, 0x000b, 0xad00, 0x2098,
+ 0xb284, 0x0300, 0x0040, 0x37fc, 0x007e, 0x2001, 0x4a04, 0x2004,
+ 0xd0ec, 0x007f, 0x0040, 0x37f8, 0x20a1, 0x012b, 0x0078, 0x37fe,
+ 0x20a1, 0x022b, 0x0078, 0x37fe, 0x20a1, 0x012b, 0x789b, 0x0000,
+ 0x8108, 0x81ac, 0x53a6, 0x147f, 0x137f, 0x157f, 0x0078, 0x4091,
+ 0xd6d4, 0x00c0, 0x385c, 0x6820, 0xd084, 0x0040, 0x4091, 0xa68c,
+ 0x0060, 0xa684, 0x0060, 0x0040, 0x381a, 0xa086, 0x0060, 0x00c0,
+ 0x381a, 0xc1f5, 0xc194, 0x795a, 0x69b6, 0x789b, 0x0060, 0x78ab,
+ 0x0000, 0x789b, 0x0061, 0x6818, 0xc0fd, 0x681a, 0x78aa, 0x8008,
+ 0x810c, 0x0040, 0x3bad, 0xa18c, 0x00f8, 0x00c0, 0x3bad, 0x157e,
+ 0x137e, 0x147e, 0x017e, 0x3208, 0xa18c, 0x0300, 0x0040, 0x3848,
+ 0x007e, 0x2001, 0x4a04, 0x2004, 0xd0ec, 0x007f, 0x0040, 0x3844,
+ 0x20a1, 0x012b, 0x0078, 0x384a, 0x20a1, 0x022b, 0x0078, 0x384a,
+ 0x20a1, 0x012b, 0x017f, 0x789b, 0x0000, 0x8000, 0x80ac, 0xad80,
+ 0x000b, 0x2098, 0x53a6, 0x147f, 0x137f, 0x157f, 0x6814, 0xc0fc,
+ 0x8007, 0x7882, 0x0078, 0x4091, 0x6818, 0xd0fc, 0x0040, 0x3862,
+ 0x681b, 0x0008, 0x781b, 0x00e1, 0x007c, 0x2300, 0x0079, 0x3868,
+ 0x386d, 0x393d, 0x386b, 0x1078, 0x28ca, 0x7cd8, 0x7ddc, 0x7fd0,
+ 0x82ff, 0x00c0, 0x3893, 0x7200, 0xa286, 0x0003, 0x0040, 0x32ac,
+ 0x71d4, 0xd1b4, 0x0040, 0x3896, 0x0d7e, 0x783b, 0x8800, 0x781b,
+ 0x004c, 0x70bc, 0xa06d, 0x68b4, 0xc0a5, 0x785a, 0x6894, 0x78d6,
+ 0x78de, 0x6898, 0x78d2, 0x78da, 0xc1b4, 0x71d6, 0x7003, 0x0030,
+ 0x0d7f, 0x0078, 0x389a, 0x7200, 0x0078, 0x389a, 0x783b, 0x1800,
+ 0x781b, 0x004a, 0xa284, 0x000f, 0x0079, 0x389e, 0x3928, 0x38dc,
+ 0x38a8, 0x32d8, 0x38a6, 0x3928, 0x38a6, 0x38a6, 0x1078, 0x28ca,
+ 0x681c, 0xd0ec, 0x0040, 0x38af, 0x6008, 0xc08d, 0x600a, 0x6920,
+ 0xc185, 0x6922, 0x6800, 0x6006, 0xa005, 0x00c0, 0x38b8, 0x6002,
+ 0x6008, 0xc0d4, 0x600a, 0x681c, 0xa084, 0x000e, 0x00c0, 0x38cc,
+ 0xb284, 0x0300, 0x0040, 0x38c8, 0x2009, 0x90c0, 0x0078, 0x38d1,
+ 0x2009, 0x91d0, 0x0078, 0x38d1, 0x7030, 0x68ba, 0x7140, 0x70cc,
+ 0xa108, 0x2104, 0x6802, 0x2d0a, 0x715e, 0xd6dc, 0x00c0, 0x38dc,
+ 0xc6fc, 0x6eb6, 0x0078, 0x3928, 0x6eb6, 0xa684, 0x0060, 0x0040,
+ 0x3928, 0xd6dc, 0x00c0, 0x38ef, 0xa684, 0x7fff, 0x68b6, 0x6894,
+ 0x68a6, 0x6898, 0x68aa, 0x1078, 0x42e7, 0x0078, 0x3928, 0xd6ac,
+ 0x0040, 0x38fb, 0xa006, 0x1078, 0x42e7, 0x2408, 0x2510, 0x69aa,
+ 0x6aa6, 0x0078, 0x390b, 0x2408, 0x2510, 0x2700, 0x801b, 0x00c8,
+ 0x3902, 0x8000, 0xa084, 0x003f, 0xa108, 0xa291, 0x0000, 0x69aa,
+ 0x6aa6, 0x1078, 0x42e7, 0xd6fc, 0x0040, 0x3928, 0xa684, 0x7fff,
+ 0x68b6, 0x2510, 0x2408, 0xd6ac, 0x00c0, 0x3920, 0x2700, 0x801b,
+ 0x00c8, 0x391b, 0x8000, 0xa084, 0x003f, 0xa108, 0xa291, 0x0000,
+ 0x6b98, 0x2100, 0xa302, 0x68b2, 0x6b94, 0x2200, 0xa303, 0x68ae,
+ 0x7000, 0xa086, 0x0030, 0x00c0, 0x2924, 0x7003, 0x0002, 0x70bc,
+ 0xa06d, 0x68bc, 0x7042, 0x70b8, 0xa065, 0x68c0, 0x705a, 0x2d00,
+ 0x704e, 0xad80, 0x0009, 0x7046, 0x007c, 0xa586, 0x8800, 0x00c0,
+ 0x394a, 0x7003, 0x0000, 0x6018, 0x8001, 0x601a, 0x6008, 0xa084,
+ 0xfbef, 0x600a, 0x0078, 0x3e69, 0x7047, 0x0000, 0xa282, 0x0006,
+ 0x0050, 0x3954, 0x1078, 0x28ca, 0x2300, 0x0079, 0x3957, 0x395a,
+ 0x3991, 0x39c3, 0x2200, 0x0079, 0x395d, 0x3963, 0x3e69, 0x3965,
+ 0x3963, 0x39fa, 0x3a5d, 0x1078, 0x28ca, 0x7003, 0x0005, 0xb284,
+ 0x0300, 0x0040, 0x396f, 0x2001, 0x91e0, 0x0078, 0x3971, 0x2001,
+ 0x9212, 0x2068, 0x704e, 0x157e, 0x20a9, 0x0032, 0x2003, 0x0000,
+ 0x8000, 0x00f0, 0x3976, 0x157f, 0xb284, 0x0300, 0x0040, 0x3984,
+ 0x6817, 0x0000, 0x0078, 0x3986, 0x6817, 0x8000, 0xad80, 0x0009,
+ 0x7046, 0x68b7, 0x0700, 0x6823, 0x0800, 0x6827, 0x0003, 0x0078,
+ 0x3e5f, 0x7000, 0xa086, 0x0002, 0x00c0, 0x39a2, 0x1078, 0x3b94,
+ 0x0078, 0x399c, 0x1078, 0x42e7, 0x6008, 0xa084, 0xfbef, 0x600a,
+ 0x0078, 0x39a7, 0x7000, 0xa086, 0x0003, 0x0040, 0x399a, 0x7003,
+ 0x0005, 0xb284, 0x0300, 0x0040, 0x39b1, 0x2001, 0x91e0, 0x0078,
+ 0x39b3, 0x2001, 0x9212, 0x2068, 0x704e, 0xad80, 0x0009, 0x7046,
+ 0x2200, 0x0079, 0x39bb, 0x3e69, 0x39c1, 0x39c1, 0x39fa, 0x39c1,
+ 0x3e69, 0x1078, 0x28ca, 0x7000, 0xa086, 0x0002, 0x00c0, 0x39d4,
+ 0x1078, 0x3b94, 0x0078, 0x39ce, 0x1078, 0x42e7, 0x6008, 0xa084,
+ 0xfbef, 0x600a, 0x0078, 0x39d9, 0x7000, 0xa086, 0x0003, 0x0040,
+ 0x39cc, 0x7003, 0x0005, 0xb284, 0x0300, 0x0040, 0x39e3, 0x2001,
+ 0x91e0, 0x0078, 0x39e5, 0x2001, 0x9212, 0x2068, 0x704e, 0xad80,
+ 0x0009, 0x7046, 0x2200, 0x0079, 0x39ed, 0x39f5, 0x39f3, 0x39f3,
+ 0x39f5, 0x39f3, 0x39f5, 0x1078, 0x28ca, 0x1078, 0x3e80, 0x781b,
+ 0x0075, 0x007c, 0x7000, 0xa086, 0x0002, 0x00c0, 0x3a0c, 0x70d4,
+ 0xc0b5, 0x70d6, 0x2c00, 0x70ba, 0x2d00, 0x70be, 0x0078, 0x3a11,
+ 0x1078, 0x42e7, 0x0078, 0x3a11, 0x7000, 0xa086, 0x0003, 0x0040,
+ 0x3a08, 0x7003, 0x0001, 0x7a80, 0xa294, 0x0f00, 0x789b, 0x0018,
+ 0x7ca8, 0xa484, 0x001f, 0xa215, 0x2069, 0x90c0, 0xb284, 0x0300,
+ 0x00c0, 0x3a25, 0xc2fd, 0x2069, 0x91d0, 0x2d04, 0x2d08, 0x715e,
+ 0xa06d, 0x0040, 0x3a32, 0x6814, 0xa206, 0x0040, 0x3a52, 0x6800,
+ 0x0078, 0x3a26, 0x7003, 0x0005, 0xd2fc, 0x00c0, 0x3a3b, 0x2001,
+ 0x91e0, 0x0078, 0x3a3d, 0x2001, 0x9212, 0x2068, 0x704e, 0x157e,
+ 0x20a9, 0x0032, 0x2003, 0x0000, 0x8000, 0x00f0, 0x3a42, 0x157f,
+ 0xad80, 0x0009, 0x7046, 0x6a16, 0x68b7, 0x0700, 0x6823, 0x0800,
+ 0x6827, 0x0003, 0x6eb4, 0x7e5a, 0x6820, 0xa084, 0x0c00, 0x0040,
+ 0x3ad2, 0x1078, 0x3e78, 0x0078, 0x3ad2, 0x7200, 0xa286, 0x0002,
+ 0x00c0, 0x3a6f, 0x70d4, 0xc0b5, 0x70d6, 0x2c00, 0x70ba, 0x2d00,
+ 0x70be, 0x0078, 0x3a73, 0x1078, 0x42e7, 0x0078, 0x3a73, 0xa286,
+ 0x0003, 0x0040, 0x3a6b, 0x7003, 0x0001, 0x7a80, 0xa294, 0x0f00,
+ 0x789b, 0x0018, 0x7ca8, 0xa484, 0x001f, 0xa215, 0xb284, 0x0300,
+ 0x00c0, 0x3a83, 0xc2fd, 0x79a8, 0x79a8, 0xa18c, 0x00ff, 0x70cc,
+ 0xa168, 0x2d04, 0x2d08, 0x715e, 0xa06d, 0x0040, 0x3a96, 0x6814,
+ 0xa206, 0x0040, 0x3abf, 0x6800, 0x0078, 0x3a8a, 0x7003, 0x0005,
+ 0xb284, 0x0300, 0x0040, 0x3aa0, 0x2001, 0x91e0, 0x0078, 0x3aa2,
+ 0x2001, 0x9212, 0x2068, 0x704e, 0x157e, 0x20a9, 0x0032, 0x2003,
+ 0x0000, 0x8000, 0x00f0, 0x3aa7, 0x157f, 0xb284, 0x0300, 0x0040,
+ 0x3ab4, 0xc2fc, 0x0078, 0x3ab5, 0xc2fd, 0x6a16, 0xad80, 0x0009,
+ 0x7046, 0x68b7, 0x0700, 0x6823, 0x0800, 0x6827, 0x0003, 0x6eb4,
+ 0x6820, 0xa084, 0x0c00, 0x0040, 0x3ad2, 0xd0dc, 0x0040, 0x3acc,
+ 0x1078, 0x3e7c, 0x0078, 0x3ad2, 0x1078, 0x3e78, 0x707f, 0x0000,
+ 0x0078, 0x3ad2, 0xa6ac, 0x0060, 0x0040, 0x3b10, 0x6b98, 0x6c94,
+ 0x69ac, 0x68b0, 0xa105, 0x00c0, 0x3af5, 0x7bd2, 0x7bda, 0x7cd6,
+ 0x7cde, 0xa6b4, 0xb7ff, 0xa586, 0x0060, 0x0040, 0x3b10, 0xc6ed,
+ 0x7e5a, 0x2009, 0x0076, 0xd69c, 0x0040, 0x3af0, 0x2009, 0x0075,
+ 0x791a, 0x1078, 0x45b9, 0x0078, 0x3b19, 0x68b0, 0xa31a, 0x2100,
+ 0xa423, 0x2400, 0xa305, 0x0040, 0x3b10, 0x7bd2, 0x7bda, 0x7cd6,
+ 0x7cde, 0x68b0, 0xc6f4, 0x7e5a, 0x2011, 0x0076, 0xd69c, 0x0040,
+ 0x3b0b, 0x2011, 0x0075, 0x7a1a, 0x1078, 0x45ee, 0x0078, 0x3b19,
+ 0x7e5a, 0x2009, 0x0076, 0xd69c, 0x0040, 0x3b18, 0x2009, 0x0075,
+ 0x791a, 0x68c0, 0x705a, 0x2d00, 0x704e, 0x68c4, 0x2060, 0x71d4,
+ 0xd1b4, 0x00c0, 0x2920, 0x2300, 0xa405, 0x0040, 0x2920, 0x70a4,
+ 0xa086, 0x0001, 0x00c0, 0x2967, 0x007c, 0x6020, 0xa005, 0x0040,
+ 0x3b3b, 0x8001, 0x6022, 0x6008, 0xa085, 0x0008, 0x600a, 0x700f,
+ 0x0100, 0x702c, 0x6026, 0x007c, 0xa006, 0x1078, 0x42e7, 0x6817,
+ 0x0000, 0x681b, 0x0001, 0x6823, 0x0040, 0x681f, 0x0100, 0x7000,
+ 0xa084, 0x000f, 0x0079, 0x3b4c, 0x2924, 0x3b56, 0x3b56, 0x3b73,
+ 0x3b5e, 0x2924, 0x3b54, 0x3b54, 0x1078, 0x28ca, 0x1078, 0x3b7e,
+ 0x1078, 0x3b77, 0x1078, 0x2008, 0x0078, 0x2924, 0x7064, 0x7067,
+ 0x0000, 0x7083, 0x0000, 0x0079, 0x3b65, 0x3b6f, 0x3b6f, 0x3b6d,
+ 0x3b6d, 0x3b6d, 0x3b6f, 0x3b6d, 0x3b6f, 0x0079, 0x2e3a, 0x7067,
+ 0x0000, 0x0078, 0x2924, 0x681b, 0x0000, 0x0078, 0x3580, 0x6800,
+ 0xa005, 0x00c0, 0x3b7c, 0x6002, 0x6006, 0x007c, 0x6410, 0x84ff,
+ 0x0040, 0x3b90, 0x2009, 0x4a02, 0x2104, 0x8001, 0x200a, 0x8421,
+ 0x6412, 0x00c0, 0x3b90, 0x2021, 0x4a04, 0x2404, 0xc0a5, 0x2022,
+ 0x6008, 0xc0a4, 0x600a, 0x007c, 0x6018, 0xa005, 0x0040, 0x3b9a,
+ 0x8001, 0x601a, 0x007c, 0x1078, 0x40f3, 0x681b, 0x0018, 0x0078,
+ 0x3bdc, 0x1078, 0x40f3, 0x681b, 0x0019, 0x0078, 0x3bdc, 0x1078,
+ 0x40f3, 0x681b, 0x001a, 0x0078, 0x3bdc, 0x1078, 0x40f3, 0x681b,
+ 0x0003, 0x0078, 0x3bdc, 0x7774, 0x1078, 0x3fa3, 0x7178, 0xa18c,
+ 0x00ff, 0x3210, 0xa294, 0x0300, 0x0040, 0x3bc2, 0xa1e8, 0x8fc0,
+ 0x0078, 0x3bc4, 0xa1e8, 0x90d0, 0x2d04, 0x2d08, 0x2068, 0xa005,
+ 0x00c0, 0x3bcc, 0x0078, 0x2924, 0x6814, 0xc0fc, 0x7274, 0xc2fc,
+ 0xa206, 0x0040, 0x3bd6, 0x6800, 0x0078, 0x3bc5, 0x6800, 0x200a,
+ 0x681b, 0x0005, 0x707f, 0x0000, 0x1078, 0x3b7e, 0x6820, 0xd084,
+ 0x00c0, 0x3be4, 0x1078, 0x3b77, 0x1078, 0x3b94, 0x681f, 0x0000,
+ 0x6823, 0x0020, 0x1078, 0x2008, 0x0078, 0x2924, 0xa282, 0x0003,
+ 0x00c0, 0x3e5f, 0x7da8, 0xa5ac, 0x00ff, 0x7ea8, 0xa6b4, 0x00ff,
+ 0x6920, 0xc1bd, 0x6922, 0xd1c4, 0x0040, 0x3c48, 0xc1c4, 0x6922,
+ 0xa6b4, 0x00ff, 0x0040, 0x3c35, 0xa682, 0x000c, 0x0048, 0x3c0c,
+ 0x0040, 0x3c0c, 0x2031, 0x000c, 0x2500, 0xa086, 0x000a, 0x0040,
+ 0x3c13, 0x852b, 0x852b, 0x1078, 0x3f35, 0x0040, 0x3c1b, 0x1078,
+ 0x3d17, 0x0078, 0x3c3e, 0x1078, 0x3ef0, 0x0c7e, 0x2960, 0x6004,
+ 0xa084, 0xfff5, 0x6006, 0x1078, 0x3d4c, 0x0c7f, 0x6920, 0xc1c5,
+ 0x6922, 0x7e58, 0xc695, 0x7e5a, 0xd6d4, 0x00c0, 0x3c32, 0x781b,
+ 0x0061, 0x007c, 0x781b, 0x0075, 0x007c, 0x0c7e, 0x2960, 0x6004,
+ 0xa084, 0xfff5, 0x6006, 0x1078, 0x3d4c, 0x0c7f, 0x7e58, 0xd6d4,
+ 0x00c0, 0x3c45, 0x781b, 0x0064, 0x007c, 0x781b, 0x0076, 0x007c,
+ 0x0c7e, 0x7058, 0x2060, 0x6100, 0xd1e4, 0x0040, 0x3c91, 0x6208,
+ 0x8217, 0xa294, 0x00ff, 0xa282, 0x000c, 0x0048, 0x3c5b, 0x0040,
+ 0x3c5b, 0x2011, 0x000c, 0x2600, 0xa202, 0x00c8, 0x3c60, 0x2230,
+ 0x6208, 0xa294, 0x00ff, 0x2001, 0x4a05, 0x2004, 0xd0e4, 0x00c0,
+ 0x3c75, 0x78ec, 0xd0e4, 0x0040, 0x3c75, 0xa282, 0x000a, 0x00c8,
+ 0x3c7b, 0x2011, 0x000a, 0x0078, 0x3c7b, 0xa282, 0x000c, 0x00c8,
+ 0x3c7b, 0x2011, 0x000c, 0x2200, 0xa502, 0x00c8, 0x3c80, 0x2228,
+ 0x1078, 0x3ef4, 0x2500, 0xa086, 0x000a, 0x0040, 0x3c89, 0x852b,
+ 0x852b, 0x1078, 0x3f35, 0x0040, 0x3c91, 0x1078, 0x3d17, 0x0078,
+ 0x3c95, 0x1078, 0x3ef0, 0x1078, 0x3d4c, 0x7858, 0xc095, 0x785a,
+ 0x0c7f, 0x781b, 0x0075, 0x007c, 0x0c7e, 0x2960, 0x6000, 0xd0e4,
+ 0x00c0, 0x3cb3, 0x6010, 0xa084, 0x000f, 0x00c0, 0x3cad, 0x6104,
+ 0xa18c, 0xfff5, 0x6106, 0x0c7f, 0x007c, 0x2011, 0x0032, 0x2019,
+ 0x0000, 0x0078, 0x3cde, 0x68a0, 0xd0cc, 0x00c0, 0x3cad, 0x6208,
+ 0xa294, 0x00ff, 0x2001, 0x4a05, 0x2004, 0xd0e4, 0x00c0, 0x3ccc,
+ 0x78ec, 0xd0e4, 0x0040, 0x3ccc, 0xa282, 0x000a, 0x00c0, 0x3ccc,
+ 0x2011, 0x000a, 0x0078, 0x3cd2, 0xa282, 0x000c, 0x00c8, 0x3cd2,
+ 0x2011, 0x000c, 0x6308, 0x831f, 0xa39c, 0x00ff, 0xa382, 0x000c,
+ 0x0048, 0x3cde, 0x0040, 0x3cde, 0x2019, 0x000c, 0x78ab, 0x0001,
+ 0x78ab, 0x0003, 0x78ab, 0x0001, 0x7aaa, 0x7baa, 0xa8c0, 0x0005,
+ 0x6820, 0xc0c5, 0x6822, 0x70d4, 0xd0b4, 0x0040, 0x3cfa, 0xc0b4,
+ 0x70d6, 0x70b8, 0xa065, 0x6008, 0xa084, 0xfbef, 0x600a, 0x6018,
+ 0x8001, 0x601a, 0x0c7f, 0x007c, 0x0c7e, 0x2960, 0x6104, 0xa18c,
+ 0xfff5, 0x6106, 0x2011, 0x0032, 0x2019, 0x0000, 0x0078, 0x3d08,
+ 0x78ab, 0x0001, 0x78ab, 0x0003, 0x78ab, 0x0001, 0x7aaa, 0x7baa,
+ 0xa8c0, 0x0005, 0x6820, 0xc0c5, 0x6822, 0x0c7f, 0x007c, 0x0c7e,
+ 0x7158, 0x2160, 0x2018, 0xa08c, 0x0020, 0x0040, 0x3d20, 0xc0ac,
+ 0x2008, 0xa084, 0xfff0, 0xa635, 0x7e86, 0x6018, 0x789a, 0x7eae,
+ 0x6612, 0x78a4, 0xa084, 0xfff0, 0xa18c, 0x000f, 0xa105, 0xa39c,
+ 0x0020, 0x0040, 0x3d35, 0xa085, 0x4000, 0xc0fc, 0xd0b4, 0x00c0,
+ 0x3d3a, 0xc0fd, 0x78a6, 0x6016, 0x788a, 0xa6b4, 0x000f, 0x8637,
+ 0x8204, 0x8004, 0xa084, 0x00ff, 0xa605, 0x600e, 0x6004, 0xa084,
+ 0xfff5, 0x6006, 0x0c7f, 0x007c, 0x0c7e, 0x7058, 0x2060, 0x6018,
+ 0x789a, 0x78a4, 0xa084, 0xfff0, 0x78a6, 0x6012, 0x7884, 0xa084,
+ 0xfff0, 0x7886, 0x600c, 0xa084, 0x00ff, 0x600e, 0x0c7f, 0x007c,
+ 0xa282, 0x0002, 0x00c0, 0x3e5f, 0x7aa8, 0x6920, 0xc1bd, 0x6922,
+ 0xd1cc, 0x0040, 0x3d9b, 0xc1cc, 0x6922, 0xa294, 0x00ff, 0xa282,
+ 0x0002, 0x00c8, 0x3e5f, 0x1078, 0x3dec, 0x1078, 0x3d4c, 0xa980,
+ 0x0001, 0x200c, 0x1078, 0x3f9f, 0x1078, 0x3c9c, 0x88ff, 0x0040,
+ 0x3d91, 0x789b, 0x0060, 0x2800, 0x78aa, 0x7e58, 0xc695, 0x7e5a,
+ 0xd6d4, 0x00c0, 0x3d8e, 0x781b, 0x0061, 0x007c, 0x781b, 0x0075,
+ 0x007c, 0x7e58, 0xd6d4, 0x00c0, 0x3d98, 0x781b, 0x0064, 0x007c,
+ 0x781b, 0x0076, 0x007c, 0xa282, 0x0002, 0x00c8, 0x3da3, 0xa284,
+ 0x0001, 0x0040, 0x3dac, 0x7158, 0xa188, 0x0000, 0x210c, 0xd1ec,
+ 0x00c0, 0x3dac, 0x2011, 0x0000, 0x1078, 0x3ed1, 0x1078, 0x3dec,
+ 0x1078, 0x3d4c, 0x7858, 0xc095, 0x785a, 0x781b, 0x0075, 0x007c,
+ 0x0c7e, 0x027e, 0x2960, 0x6000, 0x2011, 0x0001, 0xd0ec, 0x00c0,
+ 0x3dcd, 0x6014, 0xa084, 0x0040, 0x00c0, 0x3dcb, 0xc1a4, 0x6106,
+ 0xa006, 0x0078, 0x3de9, 0x2011, 0x0000, 0x78ab, 0x0001, 0x78ab,
+ 0x0002, 0x78ab, 0x0003, 0x7aaa, 0xa8c0, 0x0004, 0x70d4, 0xd0b4,
+ 0x0040, 0x3de5, 0xc0b4, 0x70d6, 0x70b8, 0xa065, 0x6008, 0xa084,
+ 0xfbef, 0x600a, 0x6018, 0x8001, 0x601a, 0x6820, 0xa085, 0x0200,
+ 0x6822, 0x027f, 0x0c7f, 0x007c, 0x0c7e, 0x7058, 0x2060, 0x82ff,
+ 0x0040, 0x3df4, 0x2011, 0x0040, 0x6018, 0xa080, 0x0002, 0x789a,
+ 0x78a4, 0xa084, 0xffbf, 0xa205, 0xc0fc, 0xd0b4, 0x00c0, 0x3e01,
+ 0xc0fd, 0x78a6, 0x6016, 0x788a, 0x6004, 0xc0a4, 0x6006, 0x0c7f,
+ 0x007c, 0x007e, 0x7000, 0xa086, 0x0003, 0x0040, 0x3e12, 0x007f,
+ 0x0078, 0x3e15, 0x007f, 0x0078, 0x3e5c, 0xd6ac, 0x0040, 0x3e5c,
+ 0x7888, 0xa084, 0x0040, 0x0040, 0x3e5c, 0x7bb8, 0xa384, 0x003f,
+ 0x831b, 0x00c8, 0x3e24, 0x8000, 0xa005, 0x0040, 0x3e39, 0x831b,
+ 0x00c8, 0x3e2d, 0x8001, 0x0040, 0x3e59, 0xd6f4, 0x0040, 0x3e39,
+ 0x78b8, 0x801b, 0x00c8, 0x3e35, 0x8000, 0xa084, 0x003f, 0x00c0,
+ 0x3e59, 0xc6f4, 0x7e5a, 0x79d8, 0x7adc, 0x2001, 0x0001, 0xa108,
+ 0x00c8, 0x3e44, 0xa291, 0x0000, 0x79d2, 0x79da, 0x7ad6, 0x7ade,
+ 0x1078, 0x46a5, 0x781b, 0x0073, 0xb284, 0x0300, 0x0040, 0x3e54,
+ 0x2001, 0x0000, 0x0078, 0x3e56, 0x2001, 0x0001, 0x1078, 0x4547,
+ 0x007c, 0x781b, 0x0073, 0x007c, 0x781b, 0x0076, 0x007c, 0x1078,
+ 0x3e84, 0x781b, 0x0075, 0x007c, 0x1078, 0x3e70, 0x781b, 0x0075,
+ 0x007c, 0x6827, 0x0002, 0x1078, 0x3e78, 0x781b, 0x0075, 0x007c,
+ 0x2001, 0x0005, 0x0078, 0x3e86, 0x2001, 0x000c, 0x0078, 0x3e86,
+ 0x2001, 0x0006, 0x0078, 0x3e86, 0x2001, 0x000d, 0x0078, 0x3e86,
+ 0x2001, 0x0009, 0x0078, 0x3e86, 0x2001, 0x0007, 0x789b, 0x007e,
+ 0x78aa, 0xc69d, 0x7e5a, 0x70d4, 0xd0b4, 0x0040, 0x3e9c, 0xc0b4,
+ 0x70d6, 0x0c7e, 0x70b8, 0xa065, 0x6008, 0xa084, 0xfbef, 0x600a,
+ 0x6018, 0x8001, 0x601a, 0x0c7f, 0x007c, 0x077e, 0x873f, 0xa7bc,
+ 0x000f, 0x873b, 0x873b, 0x8703, 0x017e, 0xb28c, 0x0300, 0x0040,
+ 0x3ead, 0xa0e0, 0x4ec0, 0x0078, 0x3eaf, 0xa0e0, 0x4f40, 0x017f,
+ 0xa7b8, 0x0020, 0x7f9a, 0x79a4, 0xa184, 0x000f, 0x0040, 0x3ebf,
+ 0xa184, 0xfff0, 0x78a6, 0x6012, 0x6004, 0xc09d, 0x6006, 0x8738,
+ 0x8738, 0x7f9a, 0x79a4, 0xa184, 0x0040, 0x0040, 0x3ecf, 0xa184,
+ 0xffbf, 0xc0fd, 0x78a6, 0x6016, 0x6004, 0xc0a5, 0x6006, 0x077f,
+ 0x007c, 0x789b, 0x0010, 0x78ab, 0x0001, 0x78ab, 0x0002, 0x78ab,
+ 0x0003, 0x7aaa, 0x789b, 0x0060, 0x78ab, 0x0004, 0x70d4, 0xd0b4,
+ 0x0040, 0x3eef, 0xc0b4, 0x70d6, 0x0c7e, 0x70b8, 0xa065, 0x6008,
+ 0xa084, 0xfbef, 0x600a, 0x6018, 0x8001, 0x601a, 0x0c7f, 0x007c,
+ 0x2031, 0x0000, 0x2029, 0x0032, 0x789b, 0x0010, 0x78ab, 0x0001,
+ 0x78ab, 0x0003, 0x78ab, 0x0001, 0x7daa, 0x7eaa, 0x789b, 0x0060,
+ 0x78ab, 0x0005, 0x70d4, 0xd0b4, 0x0040, 0x3f13, 0xc0b4, 0x70d6,
+ 0x0c7e, 0x70b8, 0xa065, 0x6008, 0xa084, 0xfbef, 0x600a, 0x6018,
+ 0x8001, 0x601a, 0x0c7f, 0x007c, 0x157e, 0x8007, 0xa084, 0x00ff,
+ 0x8003, 0x8003, 0xa080, 0x0020, 0x789a, 0x79a4, 0xa18c, 0xfff0,
+ 0x2021, 0x3f88, 0x2019, 0x0011, 0x20a9, 0x000e, 0x2011, 0x0032,
+ 0x2404, 0xa084, 0xfff0, 0xa106, 0x0040, 0x3f33, 0x8420, 0x2300,
+ 0xa210, 0x00f0, 0x3f28, 0x157f, 0x007c, 0x157e, 0x2001, 0x4a05,
+ 0x2004, 0xd0e4, 0x00c0, 0x3f66, 0x2021, 0x3f96, 0x20a9, 0x0009,
+ 0x2011, 0x0028, 0xa582, 0x0019, 0x0040, 0x3f7c, 0x0048, 0x3f7c,
+ 0x8420, 0x95a9, 0x2011, 0x0032, 0xa582, 0x0032, 0x0040, 0x3f7c,
+ 0x0048, 0x3f7c, 0x8420, 0x95a9, 0x2019, 0x000a, 0x2011, 0x0064,
+ 0x2200, 0xa502, 0x0040, 0x3f7c, 0x0048, 0x3f7c, 0x8420, 0x2300,
+ 0xa210, 0x00f0, 0x3f58, 0x157f, 0x0078, 0x3f7a, 0x2021, 0x3f88,
+ 0x2019, 0x0011, 0x20a9, 0x000e, 0x2011, 0x0032, 0x2200, 0xa502,
+ 0x0040, 0x3f7c, 0x0048, 0x3f7c, 0x8420, 0x2300, 0xa210, 0x00f0,
+ 0x3f6e, 0x157f, 0xa006, 0x007c, 0x157f, 0xa582, 0x0064, 0x00c8,
+ 0x3f85, 0x7808, 0xa085, 0x0070, 0x780a, 0x2404, 0xa005, 0x007c,
+ 0x1209, 0x3002, 0x3202, 0x4203, 0x4403, 0x5404, 0x5604, 0x6605,
+ 0x6805, 0x7806, 0x7a06, 0x0c07, 0x0c07, 0x0e07, 0x10e1, 0x330a,
+ 0x5805, 0x5a05, 0x6a06, 0x6c06, 0x7c07, 0x7e07, 0x0e00, 0x789b,
+ 0x0010, 0xa046, 0x007c, 0xa784, 0x0f00, 0x800b, 0xa784, 0x001f,
+ 0x8003, 0x8003, 0x8003, 0x8003, 0xa105, 0xd7fc, 0x0040, 0x3fb4,
+ 0xa0e0, 0x6fc0, 0x0078, 0x3fb6, 0xa0e0, 0x4fc0, 0x007c, 0x0e7e,
+ 0x0f7e, 0xd084, 0x0040, 0x3fc4, 0x2079, 0x0100, 0x2009, 0x4a80,
+ 0x2071, 0x4a80, 0x0078, 0x3fd6, 0x2009, 0x4a40, 0x007e, 0x2001,
+ 0x4a04, 0x2004, 0xd0ec, 0x007f, 0x0040, 0x3fd2, 0x2079, 0x0100,
+ 0x0078, 0x3fd6, 0x2079, 0x0200, 0x2071, 0x4a40, 0x2091, 0x8000,
+ 0x2104, 0xa084, 0x000f, 0x0079, 0x3fdd, 0x401f, 0x3fe7, 0x3fe7,
+ 0x3fe7, 0x3fe7, 0x3fe7, 0x3fe5, 0x3fe5, 0x1078, 0x28ca, 0x784b,
+ 0x0004, 0x7848, 0xa084, 0x0004, 0x00c0, 0x3fe9, 0x784b, 0x0008,
+ 0x7848, 0xa084, 0x0008, 0x00c0, 0x3ff0, 0x68b4, 0xc0f5, 0x68b6,
+ 0x7858, 0xc0f5, 0x785a, 0x7830, 0xd0bc, 0x00c0, 0x401f, 0x007e,
+ 0x2001, 0x4a04, 0x2004, 0xd0ec, 0x007f, 0x0040, 0x400b, 0xb284,
+ 0x0300, 0x0078, 0x400d, 0xb284, 0x0400, 0x0040, 0x4013, 0x0018,
+ 0x401f, 0x0078, 0x4015, 0x0028, 0x401f, 0x681c, 0xd0ac, 0x00c0,
+ 0x401d, 0x1078, 0x4097, 0x0078, 0x401f, 0x781b, 0x00ef, 0x2091,
+ 0x8001, 0x0f7f, 0x0e7f, 0x007c, 0x0c7e, 0x2001, 0x4a01, 0x2004,
+ 0xd0ac, 0x00c0, 0x4089, 0x6814, 0x8007, 0xa084, 0x000f, 0x8003,
+ 0x8003, 0x8003, 0xb28c, 0x0300, 0x0040, 0x403a, 0xa0e0, 0x4ec0,
+ 0x0078, 0x403c, 0xa0e0, 0x4f40, 0x6004, 0xa084, 0x000a, 0x00c0,
+ 0x4089, 0x6108, 0xa194, 0xff00, 0x0040, 0x4089, 0xa18c, 0x00ff,
+ 0x2001, 0x000a, 0xa106, 0x0040, 0x4068, 0x2001, 0x000c, 0xa106,
+ 0x0040, 0x406c, 0x2001, 0x0012, 0xa106, 0x0040, 0x4070, 0x2001,
+ 0x0014, 0xa106, 0x0040, 0x4074, 0x2001, 0x0019, 0xa106, 0x0040,
+ 0x4078, 0x2001, 0x0032, 0xa106, 0x0040, 0x407c, 0x0078, 0x4080,
+ 0x2009, 0x000c, 0x0078, 0x4082, 0x2009, 0x0012, 0x0078, 0x4082,
+ 0x2009, 0x0014, 0x0078, 0x4082, 0x2009, 0x0019, 0x0078, 0x4082,
+ 0x2009, 0x0020, 0x0078, 0x4082, 0x2009, 0x003f, 0x0078, 0x4082,
+ 0x2011, 0x0000, 0x2100, 0xa205, 0x600a, 0x6004, 0xa085, 0x0002,
+ 0x6006, 0x0c7f, 0x007c, 0x781b, 0x0076, 0x007c, 0x781b, 0x0075,
+ 0x007c, 0x781b, 0x0064, 0x007c, 0x781b, 0x0061, 0x007c, 0x2009,
+ 0x4a19, 0x210c, 0xa186, 0x0000, 0x0040, 0x40a9, 0xa186, 0x0001,
+ 0x0040, 0x40ac, 0x701f, 0x000b, 0x7067, 0x0001, 0x781b, 0x0047,
+ 0x007c, 0x781b, 0x00e6, 0x007c, 0x701f, 0x000a, 0x007c, 0x2009,
+ 0x4a19, 0x210c, 0xa186, 0x0000, 0x0040, 0x40c4, 0xa186, 0x0001,
+ 0x0040, 0x40c1, 0x701f, 0x000b, 0x7067, 0x0001, 0x781b, 0x0047,
+ 0x007c, 0x701f, 0x000a, 0x007c, 0x781b, 0x00e5, 0x007c, 0x781b,
+ 0x00ef, 0x007c, 0x781b, 0x00ee, 0x007c, 0x781b, 0x00c0, 0x007c,
+ 0x781b, 0x00bf, 0x007c, 0x6818, 0xd0fc, 0x0040, 0x40d9, 0x681b,
+ 0x001d, 0x7067, 0x0001, 0x781b, 0x0047, 0x007c, 0x7830, 0xa084,
+ 0x00c0, 0x00c0, 0x40f2, 0x7808, 0xc08c, 0x780a, 0x0005, 0x0005,
+ 0x0005, 0x0005, 0x78ec, 0xa084, 0x0021, 0x0040, 0x40f2, 0x7808,
+ 0xc08d, 0x780a, 0x007c, 0x7808, 0xc08d, 0x780a, 0x007c, 0x7830,
+ 0xa084, 0x0040, 0x00c0, 0x40f7, 0x2001, 0x4a04, 0x2004, 0xd0ec,
+ 0x0040, 0x4106, 0xb284, 0x0300, 0x0078, 0x4108, 0xb284, 0x0400,
+ 0x0040, 0x410e, 0x0098, 0x4112, 0x0078, 0x4110, 0x00a8, 0x4112,
+ 0x78ac, 0x007c, 0x7808, 0xa084, 0xfffd, 0x780a, 0x0005, 0x0005,
+ 0x0005, 0x0005, 0x78ec, 0xa084, 0x0021, 0x0040, 0x4135, 0x007e,
+ 0x2001, 0x4a04, 0x2004, 0xd0ec, 0x007f, 0x0040, 0x412b, 0xb284,
+ 0x0300, 0x0078, 0x412d, 0xb284, 0x0400, 0x0040, 0x4133, 0x0098,
+ 0x412f, 0x0078, 0x4135, 0x00a8, 0x4133, 0x78ac, 0x007e, 0x7808,
+ 0xa085, 0x0002, 0x780a, 0x007f, 0x007c, 0xa784, 0x0001, 0x00c0,
+ 0x35e0, 0xa784, 0x0070, 0x0040, 0x414d, 0x0c7e, 0x2d60, 0x2f68,
+ 0x1078, 0x285f, 0x2d78, 0x2c68, 0x0c7f, 0xa784, 0x0008, 0x0040,
+ 0x415a, 0x784b, 0x0008, 0x78ec, 0xa084, 0x0003, 0x0040, 0x2924,
+ 0x0078, 0x408b, 0xa784, 0x0004, 0x0040, 0x4189, 0x78b8, 0xa084,
+ 0x4001, 0x0040, 0x4189, 0x784b, 0x0008, 0x78ec, 0xa084, 0x0003,
+ 0x0040, 0x2924, 0x78e4, 0xa084, 0x0007, 0xa086, 0x0001, 0x00c0,
+ 0x4189, 0x78c0, 0xa685, 0x4800, 0x2030, 0x7e5a, 0x781b, 0x00ef,
+ 0x007c, 0x784b, 0x0008, 0x6818, 0xd0fc, 0x0040, 0x4186, 0x681b,
+ 0x0015, 0xd6f4, 0x0040, 0x4186, 0x681b, 0x0007, 0x1078, 0x4097,
+ 0x007c, 0x681b, 0x0003, 0x7858, 0xa084, 0x3f00, 0x681e, 0x682f,
+ 0x0000, 0x6833, 0x0000, 0x784b, 0x0008, 0x78ec, 0xa084, 0x0003,
+ 0x0040, 0x2f62, 0x007e, 0x2001, 0x4a04, 0x2004, 0xd0ec, 0x007f,
+ 0x0040, 0x41a6, 0xb284, 0x0300, 0x0078, 0x41a8, 0xb284, 0x0400,
+ 0x0040, 0x41ae, 0x0018, 0x2920, 0x0078, 0x41b0, 0x0028, 0x2920,
+ 0x0078, 0x3e64, 0x6b14, 0x8307, 0xa084, 0x000f, 0x8003, 0x8003,
+ 0x8003, 0xd3fc, 0x0040, 0x41c0, 0xa080, 0x4f40, 0x0078, 0x41c2,
+ 0xa080, 0x4ec0, 0x2060, 0x2048, 0x705a, 0x2a60, 0x007c, 0x0020,
+ 0x0020, 0x0000, 0x0020, 0x0000, 0x0020, 0x0000, 0x0020, 0x0000,
+ 0x0020, 0x0000, 0x0020, 0x0000, 0x0020, 0x0000, 0x0020, 0x0000,
+ 0x0020, 0x0000, 0x0020, 0x0000, 0x0020, 0x0000, 0x0020, 0x0000,
+ 0x0020, 0x0000, 0x0020, 0x0000, 0x0020, 0x0000, 0x0020, 0x0000,
+ 0x0020, 0x0062, 0x0009, 0x0014, 0x0014, 0x9848, 0x0014, 0x0014,
+ 0x9905, 0x98f3, 0x0014, 0x0014, 0x0080, 0x00f0, 0x0100, 0x0402,
+ 0x2008, 0xf880, 0x0018, 0xa20a, 0x0014, 0x300b, 0xa20c, 0x0014,
+ 0x2500, 0x0013, 0x2500, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
+ 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
+ 0x0010, 0xa200, 0x3806, 0x8839, 0x20c4, 0x0864, 0xa850, 0x3008,
+ 0x28c1, 0x9d0c, 0xa201, 0x300c, 0x2847, 0x8161, 0x846a, 0x8000,
+ 0x84a4, 0x1856, 0x883a, 0xa808, 0x28e2, 0x9cc2, 0xa8f3, 0x0864,
+ 0xa83e, 0x300c, 0xa801, 0x3008, 0x28e1, 0x9cc2, 0x2021, 0xa81b,
+ 0xa205, 0x870c, 0xd8de, 0x64a0, 0x6de0, 0x6fc0, 0x63a4, 0x6c80,
+ 0x0212, 0xa205, 0x883d, 0x9d24, 0x882b, 0x1814, 0x883b, 0x9d2a,
+ 0x883b, 0x7027, 0x85f2, 0xa737, 0xa532, 0xf003, 0x8576, 0x8677,
+ 0xa812, 0x883e, 0xa810, 0x280c, 0xa204, 0x64c0, 0x6de0, 0x67a0,
+ 0x6fc0, 0x9d24, 0x1814, 0x9d2a, 0x883b, 0x7023, 0x8576, 0x8677,
+ 0xa802, 0x7861, 0x883e, 0x206b, 0x28c1, 0x9d0c, 0x2044, 0x2103,
+ 0x20a2, 0x2081, 0xa8c9, 0xa207, 0x2901, 0xa80a, 0x0014, 0xa203,
+ 0x8000, 0x85a4, 0x1872, 0x879a, 0x883c, 0x1fe2, 0xf601, 0xa208,
+ 0x856e, 0x866f, 0x7161, 0x0014, 0x0704, 0x3008, 0x9cc2, 0x0014,
+ 0xa202, 0x8000, 0x85a4, 0x3009, 0x84a8, 0x19e2, 0xf844, 0x856e,
+ 0x883f, 0x08e6, 0xa8f5, 0xf861, 0xa8ea, 0xf801, 0x0014, 0xf881,
+ 0x0016, 0x85b2, 0x80f0, 0x9532, 0xfaa2, 0x1de2, 0x0014, 0x8532,
+ 0xf221, 0x0014, 0x1de2, 0x84a8, 0xd6e0, 0x1fe6, 0x0014, 0x8000,
+ 0x284a, 0x1011, 0xa8fc, 0x3008, 0x9d24, 0x8000, 0xa000, 0x2802,
+ 0x1011, 0xa8fd, 0x9d2a, 0xa888, 0x3008, 0x9d24, 0x283b, 0x1011,
+ 0xa8fd, 0xa209, 0x0017, 0x300c, 0x8000, 0x85a4, 0x1de2, 0xdac1,
+ 0x0014, 0x0210, 0xa801, 0x0014, 0x26e0, 0x873a, 0xfaa3, 0x19f2,
+ 0x26e0, 0x18f2, 0x0014, 0xa20b, 0x0014, 0xa20d, 0x3806, 0x0210,
+ 0x9d16, 0x0704, 0xa206, 0x6865, 0x817e, 0x842a, 0x1dc1, 0x8823,
+ 0x0016, 0x6042, 0x8008, 0xa8fa, 0x8000, 0x84a4, 0x8160, 0x842a,
+ 0xf021, 0x3008, 0x84a8, 0x11d6, 0x7042, 0x20dd, 0x0011, 0x20d4,
+ 0x8822, 0x0016, 0x7944, 0x8421, 0xa020, 0xa532, 0x84a1, 0x0016,
+ 0x7944, 0x8421, 0xa0df, 0x9532, 0x84a1, 0x0016, 0x0000, 0x127e,
+ 0x70d4, 0xa084, 0x4600, 0x8004, 0x2090, 0x7204, 0x7008, 0xc09c,
+ 0xa205, 0x00c0, 0x4303, 0x720c, 0x82ff, 0x0040, 0x42fe, 0x8aff,
+ 0x00c0, 0x4303, 0x7200, 0xd284, 0x00c0, 0x4303, 0x7003, 0x0008,
+ 0x127f, 0x2000, 0x007c, 0x7000, 0xa084, 0x0003, 0x7002, 0xc69c,
+ 0xd084, 0x0040, 0x4336, 0x2001, 0x4a05, 0xd0ec, 0x00c0, 0x4367,
+ 0x2001, 0x4a04, 0xd0ec, 0x0040, 0x431c, 0x2001, 0x04fd, 0x2004,
+ 0xa086, 0x0003, 0x0040, 0x4367, 0x0e7e, 0x2071, 0x0010, 0x2009,
+ 0x0007, 0x7008, 0xa084, 0x3000, 0x00c0, 0x431f, 0x8109, 0x00c0,
+ 0x4321, 0x0e7f, 0x2009, 0x0007, 0x7008, 0xa084, 0x3000, 0x00c0,
+ 0x431c, 0x8109, 0x00c0, 0x432c, 0x0078, 0x4367, 0x7108, 0xd1fc,
+ 0x0040, 0x4341, 0x1078, 0x447c, 0x8aff, 0x0040, 0x42ed, 0x0078,
+ 0x4336, 0x700c, 0xa08c, 0x03ff, 0x0040, 0x436c, 0x7004, 0xd084,
+ 0x0040, 0x435e, 0x7014, 0xa005, 0x00c0, 0x435a, 0x7010, 0x7310,
+ 0xa306, 0x00c0, 0x434e, 0x2300, 0xa005, 0x0040, 0x435e, 0xa102,
+ 0x00c8, 0x4336, 0x7007, 0x0010, 0x0078, 0x4367, 0x8aff, 0x0040,
+ 0x436c, 0x1078, 0x4663, 0x00c0, 0x4361, 0x0040, 0x4336, 0x1078,
+ 0x4405, 0x127f, 0x2000, 0x007c, 0x7204, 0x7108, 0xc19c, 0x8103,
+ 0x00c8, 0x437b, 0x1078, 0x447c, 0x0078, 0x436c, 0x7003, 0x0008,
+ 0x127f, 0x2000, 0x007c, 0xa205, 0x00c0, 0x4367, 0x7003, 0x0008,
+ 0x127f, 0x2000, 0x007c, 0x6428, 0x84ff, 0x0040, 0x43af, 0x2c70,
+ 0x7004, 0xa0bc, 0x000f, 0xa7b8, 0x43bf, 0x273c, 0x87fb, 0x00c0,
+ 0x439d, 0x0048, 0x4395, 0x1078, 0x28ca, 0x609c, 0xa075, 0x0040,
+ 0x43af, 0x0078, 0x4388, 0x2039, 0x43b4, 0x2704, 0xae68, 0x6808,
+ 0xa630, 0x680c, 0xa529, 0x8421, 0x0040, 0x43af, 0x8738, 0x2704,
+ 0xa005, 0x00c0, 0x439e, 0x709c, 0xa075, 0x00c0, 0x4388, 0x007c,
+ 0x0000, 0x0005, 0x0009, 0x000d, 0x0011, 0x0015, 0x0019, 0x001d,
+ 0x0000, 0x0003, 0x0009, 0x000f, 0x0015, 0x001b, 0x0000, 0x0000,
+ 0x43b4, 0x43b1, 0x0000, 0x0000, 0x8000, 0x0000, 0x43b4, 0x0000,
+ 0x43bc, 0x43b9, 0x0000, 0x0000, 0x0000, 0x0000, 0x43bc, 0x0000,
+ 0x43b7, 0x43b7, 0x0000, 0x0000, 0x8000, 0x0000, 0x43b7, 0x0000,
+ 0x43bd, 0x43bd, 0x0000, 0x0000, 0x0000, 0x0000, 0x43bd, 0x2079,
+ 0x4a00, 0x2071, 0x0010, 0x7007, 0x000a, 0x7007, 0x0002, 0x7003,
+ 0x0001, 0x7810, 0xd0ec, 0x0040, 0x43f3, 0x2009, 0x0001, 0x2071,
+ 0x0020, 0x0078, 0x43f7, 0x2009, 0x0002, 0x2071, 0x0050, 0x7007,
+ 0x000a, 0x7007, 0x0002, 0x7003, 0x0000, 0x8109, 0x0040, 0x4404,
+ 0x2071, 0x0020, 0x0078, 0x43f7, 0x007c, 0x7004, 0x8004, 0x00c8,
+ 0x4468, 0x7007, 0x0012, 0x2019, 0x0000, 0x7108, 0x7008, 0xa106,
+ 0x00c0, 0x440d, 0xa184, 0x01e0, 0x0040, 0x4418, 0x1078, 0x28ca,
+ 0x7810, 0xd0ec, 0x0040, 0x4432, 0x2001, 0x04fd, 0x2004, 0xa086,
+ 0x0003, 0x00c0, 0x4436, 0xa184, 0x4000, 0x0040, 0x443a, 0xa382,
+ 0x0003, 0x00c8, 0x443a, 0xa184, 0x0004, 0x0040, 0x440d, 0x8318,
+ 0x0078, 0x440d, 0x7814, 0xd0ec, 0x00c0, 0x443a, 0xa184, 0x4000,
+ 0x00c0, 0x440d, 0xa19c, 0x300c, 0xa386, 0x2004, 0x0040, 0x4448,
+ 0xa386, 0x0008, 0x0040, 0x4453, 0xa386, 0x200c, 0x00c0, 0x440d,
+ 0x7200, 0x8204, 0x0048, 0x4453, 0x730c, 0xa384, 0x03ff, 0x0040,
+ 0x4453, 0x1078, 0x28ca, 0x7007, 0x0012, 0x7000, 0xd084, 0x00c0,
+ 0x4468, 0x7008, 0xa084, 0x01e0, 0x00c0, 0x4468, 0x7310, 0x7014,
+ 0xa305, 0x0040, 0x4468, 0x710c, 0xa184, 0x03ff, 0x00c0, 0x4405,
+ 0x7007, 0x0012, 0x7007, 0x0008, 0x7004, 0xd09c, 0x00c0, 0x446c,
+ 0x7007, 0x0012, 0x7108, 0x8103, 0x0048, 0x4470, 0x7003, 0x0008,
+ 0x007c, 0x7108, 0x0078, 0x447c, 0xa184, 0x01e0, 0x00c0, 0x44b0,
+ 0x7108, 0xa184, 0x01e0, 0x00c0, 0x44b0, 0xa184, 0x0007, 0x0079,
+ 0x4489, 0x4493, 0x44a3, 0x4491, 0x44a3, 0x4491, 0x44f5, 0x4491,
+ 0x44f3, 0x1078, 0x28ca, 0x7004, 0xa084, 0x0010, 0xc08d, 0x7006,
+ 0x8aff, 0x00c0, 0x449e, 0x2049, 0x0000, 0x007c, 0x1078, 0x4663,
+ 0x00c0, 0x449e, 0x007c, 0x7004, 0xa084, 0x0010, 0xc08d, 0x7006,
+ 0x8aff, 0x0040, 0x44af, 0x1078, 0x4663, 0x00c0, 0x44ab, 0x007c,
+ 0x7007, 0x0012, 0x7108, 0x00e0, 0x44b3, 0x2091, 0x6000, 0x00e0,
+ 0x44b7, 0x2091, 0x6000, 0x7007, 0x0012, 0x7007, 0x0008, 0x7004,
+ 0xd09c, 0x00c0, 0x44bf, 0x7007, 0x0012, 0x7108, 0xd1fc, 0x00c0,
+ 0x44c3, 0x7003, 0x0000, 0x7000, 0xa005, 0x00c0, 0x44d7, 0x7004,
+ 0xa005, 0x00c0, 0x44d7, 0x700c, 0xa005, 0x0040, 0x44d9, 0x0078,
+ 0x44bb, 0x2049, 0x0000, 0xb284, 0x0100, 0x0040, 0x44e3, 0x2001,
+ 0x0000, 0x0078, 0x44e5, 0x2001, 0x0001, 0x1078, 0x3fb7, 0x6818,
+ 0xa084, 0x8000, 0x0040, 0x44ee, 0x681b, 0x0002, 0x007c, 0x1078,
+ 0x28ca, 0x1078, 0x28ca, 0x1078, 0x4532, 0x7210, 0x7114, 0x700c,
+ 0xa09c, 0x03ff, 0x2800, 0xa300, 0xa211, 0xa189, 0x0000, 0x1078,
+ 0x4532, 0x2704, 0x2c58, 0xac60, 0x6308, 0x2200, 0xa322, 0x630c,
+ 0x2100, 0xa31b, 0x2400, 0xa305, 0x0040, 0x4518, 0x00c8, 0x4518,
+ 0x8412, 0x8210, 0x830a, 0xa189, 0x0000, 0x2b60, 0x0078, 0x44ff,
+ 0x2b60, 0x8a07, 0x007e, 0x6004, 0xa084, 0x0008, 0x0040, 0x4524,
+ 0xa7ba, 0x43b9, 0x0078, 0x4526, 0xa7ba, 0x43b1, 0x007f, 0xa73d,
+ 0x2c00, 0x6886, 0x6f8a, 0x6c92, 0x6b8e, 0x7007, 0x0012, 0x1078,
+ 0x4405, 0x007c, 0x8a50, 0x8739, 0x2704, 0xa004, 0x00c0, 0x4546,
+ 0x6000, 0xa064, 0x00c0, 0x453d, 0x2d60, 0x6004, 0xa084, 0x000f,
+ 0xa080, 0x43cf, 0x203c, 0x87fb, 0x1040, 0x28ca, 0x007c, 0x127e,
+ 0x0d7e, 0x70d4, 0xa084, 0x4600, 0x8004, 0x2090, 0x0d7f, 0x6884,
+ 0x2060, 0x6888, 0x6b8c, 0x6c90, 0x8057, 0xaad4, 0x00ff, 0xa084,
+ 0x00ff, 0x007e, 0x6804, 0xa084, 0x0008, 0x007f, 0x0040, 0x4564,
+ 0xa0b8, 0x43b9, 0x0078, 0x4566, 0xa0b8, 0x43b1, 0xb284, 0x0100,
+ 0x0040, 0x456d, 0x7e20, 0x0078, 0x456e, 0x7e24, 0xa6b5, 0x000c,
+ 0x681c, 0xd0b4, 0x0040, 0x4575, 0xc685, 0x2400, 0xa305, 0x0040,
+ 0x459f, 0x2c58, 0x2704, 0x6104, 0xac60, 0x6000, 0xa400, 0x701a,
+ 0x6004, 0xa301, 0x701e, 0xa184, 0x0008, 0x0040, 0x458f, 0x6010,
+ 0xa081, 0x0000, 0x7022, 0x6014, 0xa081, 0x0000, 0x7026, 0x6208,
+ 0x2400, 0xa202, 0x7012, 0x620c, 0x2300, 0xa203, 0x7016, 0x7602,
+ 0x7007, 0x0001, 0x2b60, 0x1078, 0x4686, 0x0078, 0x45a1, 0x1078,
+ 0x4663, 0x00c0, 0x459f, 0x127f, 0x2000, 0x007c, 0x127e, 0x0d7e,
+ 0x70d4, 0xa084, 0x4600, 0x8004, 0x2090, 0x0d7f, 0x7007, 0x0004,
+ 0x7004, 0xd094, 0x00c0, 0x45b0, 0x7003, 0x0008, 0x127f, 0x2000,
+ 0x007c, 0x127e, 0x0d7e, 0x70d4, 0xa084, 0x4600, 0x8004, 0x2090,
+ 0x0d7f, 0x7e20, 0xd0c4, 0x00c0, 0x45c6, 0x7e24, 0xa6b5, 0x000c,
+ 0x681c, 0xd0ac, 0x00c0, 0x45d1, 0xc685, 0x7003, 0x0000, 0x7007,
+ 0x0004, 0x6828, 0x2050, 0x2d60, 0x6004, 0xa0bc, 0x000f, 0xa7b8,
+ 0x43bf, 0x273c, 0x87fb, 0x00c0, 0x45e7, 0x0048, 0x45e1, 0x1078,
+ 0x28ca, 0x689c, 0xa065, 0x0040, 0x45eb, 0x0078, 0x45d4, 0x1078,
+ 0x4663, 0x00c0, 0x45e7, 0x127f, 0x2000, 0x007c, 0x127e, 0x007e,
+ 0x017e, 0x0d7e, 0x70d4, 0xa084, 0x4600, 0x8004, 0x2090, 0x7e20,
+ 0xd0c4, 0x00c0, 0x45fc, 0x7e24, 0x0d7f, 0x037f, 0x047f, 0xa6b5,
+ 0x000c, 0x681c, 0xd0b4, 0x0040, 0x460a, 0xc685, 0x7003, 0x0000,
+ 0x7007, 0x0004, 0x2049, 0x45ee, 0x6828, 0xa055, 0x0040, 0x4660,
+ 0x2d70, 0x2e60, 0x7004, 0xa0bc, 0x000f, 0xa7b8, 0x43bf, 0x273c,
+ 0x87fb, 0x00c0, 0x4626, 0x0048, 0x461f, 0x1078, 0x28ca, 0x709c,
+ 0xa075, 0x2060, 0x0040, 0x4660, 0x0078, 0x4612, 0x2704, 0xae68,
+ 0x6808, 0xa422, 0x680c, 0xa31b, 0x0048, 0x463f, 0x8a51, 0x00c0,
+ 0x4633, 0x1078, 0x28ca, 0x8738, 0x2704, 0xa005, 0x00c0, 0x4627,
+ 0x709c, 0xa075, 0x2060, 0x0040, 0x4660, 0x0078, 0x4612, 0x8422,
+ 0x8420, 0x831a, 0xa399, 0x0000, 0x6908, 0x2400, 0xa122, 0x690c,
+ 0x2300, 0xa11b, 0x00c8, 0x464e, 0x1078, 0x28ca, 0xb284, 0x0100,
+ 0x0040, 0x465c, 0x2001, 0x4a04, 0x2004, 0xd0ec, 0x00c0, 0x465c,
+ 0x2071, 0x0050, 0x0078, 0x465e, 0x2071, 0x0020, 0x0078, 0x4575,
+ 0x127f, 0x2000, 0x007c, 0x7008, 0xa084, 0x0003, 0xa086, 0x0003,
+ 0x00c0, 0x466b, 0x007c, 0x2704, 0xac78, 0x7800, 0x701a, 0x7804,
+ 0x701e, 0x7808, 0x7012, 0x780c, 0x7016, 0x6004, 0xa084, 0x0008,
+ 0x0040, 0x467e, 0x7810, 0x7022, 0x7814, 0x7026, 0x7602, 0x7004,
+ 0xa084, 0x0010, 0xc085, 0x7006, 0x2079, 0x4a00, 0x8a51, 0x0040,
+ 0x46a1, 0x8738, 0x2704, 0xa005, 0x00c0, 0x469c, 0x609c, 0xa005,
+ 0x0040, 0x46a2, 0x2060, 0x6004, 0xa084, 0x000f, 0xa080, 0x43bf,
+ 0x203c, 0x87fb, 0x1040, 0x28ca, 0x7008, 0xa084, 0x0003, 0xa086,
+ 0x0003, 0x007c, 0x2051, 0x0000, 0x007c, 0x127e, 0x007e, 0x0d7e,
+ 0x70d4, 0xa084, 0x4600, 0x8004, 0x2090, 0x0d7f, 0x087f, 0x7108,
+ 0xa184, 0x0003, 0x00c0, 0x46ba, 0x6828, 0xa005, 0x0040, 0x46ca,
+ 0x0078, 0x4303, 0x7108, 0xd1fc, 0x0040, 0x46c2, 0x1078, 0x447c,
+ 0x0078, 0x46af, 0x7007, 0x0010, 0x7108, 0xd1fc, 0x0040, 0x46c4,
+ 0x1078, 0x447c, 0x7008, 0xa086, 0x0008, 0x00c0, 0x46af, 0x7000,
+ 0xa005, 0x00c0, 0x46af, 0x7003, 0x0000, 0x2049, 0x0000, 0x127f,
+ 0x2000, 0x007c, 0x127e, 0x147e, 0x137e, 0x157e, 0x0c7e, 0x0d7e,
+ 0x70d4, 0xa084, 0x4600, 0x8004, 0x2090, 0x0d7f, 0x2049, 0x46da,
+ 0xad80, 0x0011, 0x20a0, 0xb284, 0x0100, 0x0040, 0x46fd, 0x2001,
+ 0x4a04, 0x2004, 0xd0ec, 0x0040, 0x46f9, 0x2099, 0x0031, 0x0078,
+ 0x46ff, 0x2099, 0x0032, 0x0078, 0x46ff, 0x2099, 0x0031, 0x700c,
+ 0xa084, 0x03ff, 0x682a, 0x7007, 0x0008, 0x7007, 0x0002, 0x7003,
+ 0x0001, 0x0040, 0x470e, 0x8000, 0x80ac, 0x53a5, 0x700c, 0xa084,
+ 0x03ff, 0x0040, 0x471a, 0x7007, 0x0004, 0x7004, 0xa084, 0x0004,
+ 0x00c0, 0x4715, 0x0c7f, 0x2049, 0x0000, 0x7003, 0x0000, 0x157f,
+ 0x137f, 0x147f, 0x127f, 0x2000, 0x007c, 0x2091, 0x8000, 0x2091,
+ 0x6000, 0x78ac, 0xa005, 0x00c0, 0x473c, 0x7974, 0x70d0, 0xa106,
+ 0x00c0, 0x473c, 0x781c, 0xa005, 0x0040, 0x473c, 0x781f, 0x0000,
+ 0x0068, 0x473c, 0x2091, 0x4080, 0x7830, 0x8001, 0x7832, 0x00c0,
+ 0x47be, 0x7834, 0x7832, 0x7810, 0xd0ec, 0x00c0, 0x47b7, 0x2061,
+ 0x6fc0, 0x2069, 0x4a80, 0xc7fd, 0x68d0, 0xa005, 0x0040, 0x4756,
+ 0x8001, 0x68d2, 0x00c0, 0x4756, 0x1078, 0x4954, 0x6800, 0xa084,
+ 0x000f, 0x0040, 0x476b, 0xa086, 0x0001, 0x0040, 0x476b, 0x6844,
+ 0xa00d, 0x0040, 0x476b, 0x2104, 0xa005, 0x0040, 0x476b, 0x8001,
+ 0x200a, 0x0040, 0x48c5, 0x6814, 0xa005, 0x0040, 0x478a, 0x8001,
+ 0x6816, 0x00c0, 0x478a, 0x68a7, 0x0001, 0x0f7e, 0xd7fc, 0x00c0,
+ 0x4785, 0x7810, 0xd0ec, 0x0040, 0x4781, 0x2079, 0x0100, 0x0078,
+ 0x4787, 0x2079, 0x0200, 0x0078, 0x4787, 0x2079, 0x0100, 0x1078,
+ 0x40f3, 0x0f7f, 0x6880, 0xa005, 0x0040, 0x4797, 0x8001, 0x6882,
+ 0x00c0, 0x4797, 0x6867, 0x0000, 0x68d4, 0xc0dd, 0x68d6, 0x68d4,
+ 0xd0fc, 0x0040, 0x47b4, 0xc0fc, 0x68d6, 0x20a9, 0x0200, 0x603c,
+ 0xa005, 0x0040, 0x47b0, 0x8001, 0x603e, 0x68d4, 0xc0fd, 0x68d6,
+ 0x00c0, 0x47b0, 0x6010, 0xa005, 0x0040, 0x47b0, 0x1078, 0x25bc,
+ 0xace0, 0x0010, 0x00f0, 0x479f, 0xd7fc, 0x0040, 0x47be, 0x2061,
+ 0x4fc0, 0x2069, 0x4a40, 0xc7fc, 0x0078, 0x474c, 0x1078, 0x47fc,
+ 0x7838, 0x8001, 0x783a, 0x00c0, 0x47e0, 0x783c, 0x783a, 0x2061,
+ 0x4fc0, 0x2069, 0x4a40, 0xc7fc, 0x680c, 0xa005, 0x0040, 0x47d2,
+ 0x1078, 0x483b, 0xd7fc, 0x00c0, 0x47e0, 0x7810, 0xd0ec, 0x00c0,
+ 0x47e0, 0x2061, 0x6fc0, 0x2069, 0x4a80, 0xc7fd, 0x0078, 0x47cc,
+ 0x7814, 0xd0e4, 0x00c0, 0x47e6, 0x1078, 0x496a, 0x7810, 0xd0cc,
+ 0x0040, 0x47f9, 0xd0ac, 0x00c0, 0x47f2, 0xd0a4, 0x0040, 0x47f9,
+ 0xc0ad, 0x7812, 0x2091, 0x8001, 0x0068, 0x47f8, 0x1078, 0x2346,
+ 0x007c, 0x2091, 0x8001, 0x007c, 0x7840, 0x8001, 0x7842, 0x00c0,
+ 0x483a, 0x7844, 0x7842, 0x2091, 0x8000, 0x2061, 0x4fc0, 0x2069,
+ 0x4a40, 0xc7fc, 0x6810, 0xa005, 0x00c0, 0x4810, 0x2001, 0x0101,
+ 0x8001, 0x6812, 0xd7fc, 0x0040, 0x4819, 0xa080, 0x90d0, 0x0078,
+ 0x481b, 0xa080, 0x8fc0, 0x2040, 0x2004, 0xa065, 0x0040, 0x482c,
+ 0x6024, 0xa005, 0x0040, 0x4828, 0x8001, 0x6026, 0x0040, 0x4869,
+ 0x6000, 0x2c40, 0x0078, 0x481d, 0xd7fc, 0x00c0, 0x483a, 0x7810,
+ 0xd0ec, 0x00c0, 0x483a, 0x2061, 0x6fc0, 0x2069, 0x4a80, 0xc7fd,
+ 0x0078, 0x480a, 0x007c, 0x2009, 0x0000, 0x20a9, 0x0200, 0x6008,
+ 0xd09c, 0x0040, 0x4855, 0x6024, 0xa005, 0x0040, 0x484b, 0x8001,
+ 0x6026, 0x0078, 0x4853, 0x6008, 0xc09c, 0xc0bd, 0x600a, 0xa18d,
+ 0x0001, 0x0078, 0x4855, 0xa18d, 0x0100, 0xace0, 0x0010, 0x00f0,
+ 0x483f, 0xa184, 0x0001, 0x0040, 0x4864, 0xa18c, 0xfffe, 0x690e,
+ 0x1078, 0x25bc, 0x0078, 0x4865, 0x690e, 0x007c, 0x00c0, 0x4865,
+ 0x786c, 0x6800, 0xa005, 0x0040, 0x4871, 0x684c, 0xac06, 0x0040,
+ 0x48c5, 0x6864, 0xa005, 0x0040, 0x4879, 0x6027, 0x0001, 0x0078,
+ 0x48c2, 0x2c00, 0x687e, 0x601b, 0x0006, 0x60b4, 0xa084, 0x3f00,
+ 0x601e, 0x6020, 0xa084, 0x00ff, 0xa085, 0x0060, 0x6022, 0x6000,
+ 0x2042, 0x6714, 0x6f76, 0x1078, 0x1de0, 0x6818, 0xa005, 0x0040,
+ 0x4893, 0x8001, 0x681a, 0x6808, 0xc0a4, 0x680a, 0x6810, 0x7908,
+ 0x8109, 0x790a, 0x8001, 0x00d0, 0x489f, 0x1078, 0x28ca, 0x6812,
+ 0x00c0, 0x48a5, 0x7910, 0xc1a5, 0x7912, 0x602f, 0x0000, 0x6033,
+ 0x0000, 0x2c68, 0x1078, 0x2008, 0xd7fc, 0x00c0, 0x48b3, 0x2069,
+ 0x4a40, 0x0078, 0x48b5, 0x2069, 0x4a80, 0x6910, 0xa184, 0x0100,
+ 0x2001, 0x0006, 0x00c0, 0x48bf, 0x697a, 0x2001, 0x0004, 0x2708,
+ 0x1078, 0x25af, 0x2091, 0x8001, 0x007c, 0x0d7e, 0x694c, 0x2160,
+ 0xd7fc, 0x00c0, 0x48d7, 0x7810, 0xd0ec, 0x0040, 0x48d3, 0x2069,
+ 0x0100, 0x0078, 0x48d9, 0x2069, 0x0200, 0x0078, 0x48d9, 0x2069,
+ 0x0100, 0x1078, 0x285f, 0x601b, 0x0006, 0x6858, 0xa084, 0x3f00,
+ 0x601e, 0x6020, 0xa084, 0x00ff, 0xa085, 0x0048, 0x6022, 0x602f,
+ 0x0000, 0x6033, 0x0000, 0x6830, 0xd0b4, 0x0040, 0x4907, 0x684b,
+ 0x0004, 0x20a9, 0x0014, 0x6848, 0xd094, 0x0040, 0x48f9, 0x00f0,
+ 0x48f3, 0x684b, 0x0009, 0x20a9, 0x0014, 0x6848, 0xd084, 0x0040,
+ 0x4903, 0x00f0, 0x48fd, 0x20a9, 0x00fa, 0x00f0, 0x4905, 0x6808,
+ 0xa084, 0xfffd, 0x680a, 0x681b, 0x0047, 0x0d7f, 0x6867, 0x0007,
+ 0x2091, 0x8001, 0x007c, 0x2079, 0x4a00, 0x1078, 0x4947, 0x1078,
+ 0x492d, 0x1078, 0x493a, 0x2009, 0x0002, 0x2069, 0x4a80, 0x680f,
+ 0x0000, 0x6813, 0x0000, 0x6817, 0x0000, 0x8109, 0x0040, 0x492c,
+ 0x2069, 0x4a40, 0x0078, 0x491f, 0x007c, 0x7810, 0xd0ec, 0x0040,
+ 0x4935, 0x2019, 0x00cc, 0x0078, 0x4937, 0x2019, 0x007b, 0x7b3a,
+ 0x7b3e, 0x007c, 0x7814, 0xd0e4, 0x00c0, 0x4942, 0x2019, 0x0040,
+ 0x0078, 0x4944, 0x2019, 0x0026, 0x7b42, 0x7b46, 0x007c, 0x7814,
+ 0xd0e4, 0x00c0, 0x494f, 0x2019, 0x3f94, 0x0078, 0x4951, 0x2019,
+ 0x2624, 0x7b32, 0x7b36, 0x007c, 0x6950, 0xa185, 0x0000, 0x0040,
+ 0x4969, 0x0c7e, 0x6ac0, 0x2264, 0x602b, 0x0000, 0x602f, 0x0000,
+ 0x6008, 0xc0b5, 0x600a, 0x8210, 0x8109, 0x00c0, 0x495b, 0x6952,
+ 0x0c7f, 0x007c, 0x0d7e, 0x0e7e, 0xd0ec, 0x0040, 0x49a1, 0x78e0,
+ 0xa005, 0x0040, 0x4987, 0x2010, 0x2071, 0x0200, 0x70ec, 0xa084,
+ 0x1c00, 0x79e4, 0xa106, 0x00c0, 0x4984, 0x8211, 0x00c0, 0x4986,
+ 0x2069, 0x4a40, 0x1078, 0x49bd, 0x2011, 0x0000, 0x6ae2, 0x78e8,
+ 0xa005, 0x0040, 0x49ba, 0x2010, 0x2071, 0x0100, 0x70ec, 0xa084,
+ 0x1c00, 0x79ec, 0xa106, 0x00c0, 0x499c, 0x8211, 0x00c0, 0x499e,
+ 0x2069, 0x4a80, 0x1078, 0x49bd, 0x2011, 0x0000, 0x6aea, 0x0078,
+ 0x49ba, 0x2069, 0x4a00, 0x2071, 0x0100, 0x68e0, 0xa015, 0x0040,
+ 0x49ba, 0x70ec, 0xa084, 0x1c00, 0x69e4, 0xa106, 0x00c0, 0x49b7,
+ 0x8211, 0x00c0, 0x49b9, 0x2069, 0x4a40, 0x1078, 0x49bd, 0x2011,
+ 0x0000, 0x6ae2, 0x0e7f, 0x0d7f, 0x007c, 0x70ec, 0xd0dc, 0x00c0,
+ 0x49c6, 0xd0d4, 0x0040, 0x49e5, 0x0078, 0x49e8, 0x7810, 0xd0ec,
+ 0x0040, 0x49d1, 0xc0f5, 0x7812, 0xd0ec, 0x0040, 0x49ee, 0x0078,
+ 0x49ea, 0xae8e, 0x0100, 0x0040, 0x49dd, 0x7814, 0xc0f5, 0x7816,
+ 0xd0d4, 0x00c0, 0x49ee, 0x0078, 0x49ea, 0x7814, 0xc0fd, 0x7816,
+ 0xd0d4, 0x00c0, 0x49ee, 0x0078, 0x49ea, 0xd0e4, 0x0040, 0x49f0,
+ 0x70a0, 0x70a2, 0x7804, 0xd08c, 0x0040, 0x49f0, 0x681f, 0x000c,
+ 0x007c, 0x5a88
+};
+#define ISP1080_CODE_LENGTH 0x39f2
+#endif /* ISP_DISABLE_1080_SUPPORT */
+
+#ifndef ISP_DISABLE_2100_SUPPORT
/*
* We now only support 1.15.07 version F/W with some various flavors
*
@@ -14717,3 +16613,4 @@ static const u_int16_t ISP2100_RISC_CODE[] = {
};
#define ISP2100_CODE_LENGTH 0x669c
#endif
+#endif /* ISP_DISABLE_2100_SUPPORT */
diff --git a/sys/dev/isp/asm_sbus.h b/sys/dev/isp/asm_sbus.h
index ab5f85bf30bf..25f36835915c 100644
--- a/sys/dev/isp/asm_sbus.h
+++ b/sys/dev/isp/asm_sbus.h
@@ -1,5 +1,5 @@
-/* $Id: asm_sbus.h,v 1.4 1999/01/30 07:22:29 mjacob Exp $ */
-/* release_02_05_99 */
+/* $Id: asm_sbus.h,v 1.5 1999/02/09 01:05:41 mjacob Exp $ */
+/* release_03_16_99 */
/*
* SBus Qlogic Host Adapter Firmware Tables
* Copyright (c) 1996, 1997, 1998 by Qlogic Corporation
diff --git a/sys/dev/isp/isp.c b/sys/dev/isp/isp.c
index 555d11e7c995..769d296e872e 100644
--- a/sys/dev/isp/isp.c
+++ b/sys/dev/isp/isp.c
@@ -1,5 +1,5 @@
-/* $Id: isp.c,v 1.12 1999/01/30 07:28:59 mjacob Exp $ */
-/* release_02_05_99 */
+/* $Id: isp.c,v 1.13 1999/02/09 01:07:06 mjacob Exp $ */
+/* release_03_16_99 */
/*
* Machine and OS Independent (well, as best as possible)
* code for the Qlogic ISP SCSI adapters.
@@ -51,6 +51,9 @@
#ifdef __FreeBSD__
#include <dev/isp/isp_freebsd.h>
#endif
+#ifdef __OpenBSD__
+#include <dev/ic/isp_openbsd.h>
+#endif
#ifdef __linux__
#include "isp_linux.h"
#endif
@@ -74,9 +77,13 @@ static const char tgtiqd[36] = {
# ifdef __FreeBSD__
0x46, 0x52, 0x45, 0x45, 0x42, 0x52, 0x44, 0x20,
# else
-# ifdef linux
- 0x4C, 0x49, 0x4E, 0x55, 0x58, 0x20, 0x20, 0x20,
+# ifdef __OpenBSD__
+ 0x4F, 0x50, 0x45, 0x4E, 0x42, 0x52, 0x44, 0x20,
# else
+# ifdef linux
+ 0x4C, 0x49, 0x4E, 0x55, 0x58, 0x20, 0x20, 0x20,
+# else
+# endif
# endif
# endif
#endif
@@ -102,12 +109,14 @@ static void isp_handle_ctio2 __P((struct ispsoftc *, void *));
#endif
static void isp_parse_status
__P((struct ispsoftc *, ispstatusreq_t *, ISP_SCSI_XFER_T *));
+static void isp_fastpost_complete __P((struct ispsoftc *, int));
static void isp_fibre_init __P((struct ispsoftc *));
+static void isp_mark_getpdb_all __P((struct ispsoftc *));
+static int isp_getpdb __P((struct ispsoftc *, int, isp_pdb_t *));
+static int isp_fclink_test __P((struct ispsoftc *));
static void isp_fw_state __P((struct ispsoftc *));
static void isp_dumpregs __P((struct ispsoftc *, const char *));
static void isp_dumpxflist __P((struct ispsoftc *));
-static void isp_prtstst __P((ispstatusreq_t *));
-static char *isp2100_fw_statename __P((int));
static void isp_mboxcmd __P((struct ispsoftc *, mbreg_t *));
static void isp_update __P((struct ispsoftc *));
@@ -126,7 +135,6 @@ void
isp_reset(isp)
struct ispsoftc *isp;
{
- static char once = 1;
mbreg_t mbs;
int loops, i, dodnld = 1;
char *revname;
@@ -153,12 +161,11 @@ isp_reset(isp)
* case, we don't really use this yet, but we may in
* the future.
*/
- if (once == 1) {
+ if (isp->isp_used == 0) {
/*
* Just in case it was paused...
*/
ISP_WRITE(isp, HCCR, HCCR_CMD_RELEASE);
- once = 0;
mbs.param[0] = MBOX_ABOUT_FIRMWARE;
isp_mboxcmd(isp, &mbs);
if (mbs.param[0] != MBOX_COMMAND_COMPLETE) {
@@ -171,6 +178,7 @@ isp_reset(isp)
isp->isp_romfw_rev =
(((u_int16_t) mbs.param[1]) << 10) + mbs.param[2];
}
+ isp->isp_used = 1;
}
/*
@@ -178,8 +186,14 @@ isp_reset(isp)
*/
ISP_WRITE(isp, HCCR, HCCR_CMD_PAUSE);
- if (isp->isp_type & ISP_HA_FC) {
+ if (IS_FC(isp)) {
revname = "2100";
+ } else if (IS_1080(isp)) {
+ sdparam *sdp = isp->isp_param;
+ revname = "1080";
+ sdp->isp_clock = 0; /* don't set clock */
+ sdp->isp_diffmode = 1;
+ sdp->isp_ultramode = 1;
} else {
sdparam *sdp = isp->isp_param;
i = ISP_READ(isp, BIU_CONF0) & BIU_CONF0_HW_MASK;
@@ -223,9 +237,6 @@ isp_reset(isp)
* Now, while we're at it, gather info about ultra
* and/or differential mode.
*/
- if (isp->isp_bustype != ISP_BT_SBUS) {
- ISP_SETBITS(isp, BIU_CONF1, BIU_PCI_CONF1_SXP);
- }
if (ISP_READ(isp, SXP_PINS_DIFF) & SXP_PINS_DIFF_MODE) {
PRINTF("%s: Differential Mode\n", isp->isp_name);
sdp->isp_diffmode = 1;
@@ -238,16 +249,19 @@ isp_reset(isp)
} else {
i &= RISC_PSR_PCI_ULTRA;
}
- if (isp->isp_bustype != ISP_BT_SBUS) {
- ISP_CLRBITS(isp, BIU_CONF1, BIU_PCI_CONF1_SXP);
- }
if (i != 0) {
PRINTF("%s: Ultra Mode Capable\n", isp->isp_name);
sdp->isp_ultramode = 1;
+ /*
+ * If we're in Ultra Mode, we have to be 60Mhz clock-
+ * even for the SBus version.
+ */
sdp->isp_clock = 60;
} else {
sdp->isp_ultramode = 0;
- sdp->isp_clock = 40;
+ /*
+ * Clock is known. Gronk.
+ */
}
/*
@@ -274,13 +288,21 @@ again:
* and give the ISP a chance to recover.
*/
- if (isp->isp_type & ISP_HA_SCSI) {
+ if (IS_SCSI(isp)) {
ISP_WRITE(isp, BIU_ICR, BIU_ICR_SOFT_RESET);
/*
* A slight delay...
*/
SYS_DELAY(100);
+#if 0
+ PRINTF("%s: mbox0-5: 0x%x 0x%x 0x%x 0x%x 0x%x 0x%x\n",
+ isp->isp_name, ISP_READ(isp, OUTMAILBOX0),
+ ISP_READ(isp, OUTMAILBOX1), ISP_READ(isp, OUTMAILBOX2),
+ ISP_READ(isp, OUTMAILBOX3), ISP_READ(isp, OUTMAILBOX4),
+ ISP_READ(isp, OUTMAILBOX5));
+#endif
+
/*
* Clear data && control DMA engines.
*/
@@ -288,6 +310,8 @@ again:
DMA_CNTRL_CLEAR_CHAN | DMA_CNTRL_RESET_INT);
ISP_WRITE(isp, DDMA_CONTROL,
DMA_CNTRL_CLEAR_CHAN | DMA_CNTRL_RESET_INT);
+
+
} else {
ISP_WRITE(isp, BIU2100_CSR, BIU2100_SOFT_RESET);
/*
@@ -330,7 +354,7 @@ again:
* for SCSI adapters and other settings for the 2100.
*/
- if (isp->isp_type & ISP_HA_SCSI) {
+ if (IS_SCSI(isp)) {
ISP_WRITE(isp, BIU_CONF1, 0);
} else {
ISP_WRITE(isp, BIU2100_CSR, 0);
@@ -347,7 +371,7 @@ again:
* (only for the 1XX0 boards). This really should
* be done later after fetching from NVRAM.
*/
- if (isp->isp_type & ISP_HA_SCSI) {
+ if (IS_SCSI(isp)) {
u_int16_t tmp = isp->isp_mdvec->dv_conf1;
/*
* Busted FIFO. Turn off all but burst enables.
@@ -560,11 +584,18 @@ isp_init(isp)
isp_setdfltparm(isp);
/*
+ * Set up DMA for the request and result mailboxes.
+ */
+ if (ISP_MBOXDMASETUP(isp) != 0) {
+ PRINTF("%s: can't setup dma mailboxes\n", isp->isp_name);
+ return;
+ }
+
+ /*
* If we're fibre, we have a completely different
* initialization method.
*/
-
- if (isp->isp_type & ISP_HA_FC) {
+ if (IS_FC(isp)) {
isp_fibre_init(isp);
return;
}
@@ -712,14 +743,6 @@ isp_init(isp)
sdp->isp_devparam[tgt].dev_announced = 0;
}
- /*
- * Set up DMA for the request and result mailboxes.
- */
- if (ISP_MBOXDMASETUP(isp) != 0) {
- PRINTF("%s: can't setup dma mailboxes\n", isp->isp_name);
- return;
- }
-
mbs.param[0] = MBOX_INIT_RES_QUEUE;
mbs.param[1] = RESULT_QUEUE_LEN;
mbs.param[2] = (u_int16_t) (isp->isp_result_dma >> 16);
@@ -797,14 +820,9 @@ isp_fibre_init(isp)
isp_icb_t *icbp;
mbreg_t mbs;
int count, loopid;
- u_int8_t lwfs;
fcp = isp->isp_param;
- if (ISP_MBOXDMASETUP(isp) != 0) {
- PRINTF("%s: can't setup DMA for mailboxes\n", isp->isp_name);
- return;
- }
/*
* For systems that don't have BIOS methods for which
* we can easily change the NVRAM based loopid, we'll
@@ -847,10 +865,7 @@ isp_fibre_init(isp)
#ifdef CHECKME
fcp->isp_fwoptions |= ICBOPT_USE_PORTNAME;
#endif
-#ifdef THIS_WORKED
- /*
- * This has unhappiness in target mode
- */
+#ifdef ISP2100_FABRIC
fcp->isp_fwoptions |= ICBOPT_FULL_LOGIN;
#endif
@@ -882,6 +897,7 @@ isp_fibre_init(isp)
(u_int16_t) (isp->isp_result_dma & 0xffff);
icbp->icb_respaddr[RQRSP_ADDR1631] =
(u_int16_t) (isp->isp_result_dma >> 16);
+ MemoryBarrier();
for (count = 0; count < 10; count++) {
mbs.param[0] = MBOX_INIT_FIRMWARE;
@@ -899,11 +915,13 @@ isp_fibre_init(isp)
case MBOX_COMMAND_COMPLETE:
count = 10;
break;
+ case ASYNC_PDB_CHANGED:
+ isp_mark_getpdb_all(isp);
+ /* FALL THROUGH */
case ASYNC_LIP_OCCURRED:
case ASYNC_LOOP_UP:
case ASYNC_LOOP_DOWN:
case ASYNC_LOOP_RESET:
- case ASYNC_PDB_CHANGED:
case ASYNC_CHANGE_NOTIFY:
if (count > 9) {
PRINTF("%s: too many retries to get going- "
@@ -918,12 +936,118 @@ isp_fibre_init(isp)
}
isp->isp_reqidx = isp->isp_reqodx = 0;
isp->isp_residx = 0;
+ isp->isp_sendmarker = 1;
+
+ /*
+ * Whatever happens, we're now committed to being here.
+ */
+ isp->isp_state = ISP_INITSTATE;
+ fcp->isp_fwstate = FW_CONFIG_WAIT;
+
+#ifdef ISP_TARGET_MODE
+ if (isp_modify_lun(isp, 0, 1, 1)) {
+ PRINTF("%s: failed to enable target mode\n", isp->isp_name);
+ }
+#endif
+}
+
+/*
+ * Fibre Channel Support- get the port database for the id.
+ *
+ * Locks are held before coming here. Return 0 if success,
+ * else failure.
+ */
+
+static void
+isp_mark_getpdb_all(isp)
+ struct ispsoftc *isp;
+{
+ isp_pdb_t *p;
+ fcparam *fcp = (fcparam *) isp->isp_param;
+ for (p = &fcp->isp_pdb[0]; p < &fcp->isp_pdb[MAX_FC_TARG]; p++) {
+ p->pdb_options = INVALID_PDB_OPTIONS;
+ }
+}
+
+static int
+isp_getpdb(isp, id, pdbp)
+ struct ispsoftc *isp;
+ int id;
+ isp_pdb_t *pdbp;
+{
+#ifdef GETPDB_WORKING_YET
+ fcparam *fcp = (fcparam *) isp->isp_param;
+ mbreg_t mbs;
+
+ /*
+ * Get Port Queue Parameters first- this is
+ * a Q&D way to see whether we're logged into
+ * this port.
+ */
+ mbs.param[0] = MBOX_GET_DEV_QUEUE_PARAMS;
+ mbs.param[1] = id << 8;
+ mbs.param[2] = 0;
+#ifdef ISP2100_SCCLUN
+ mbs.param[3] = 0;
+#endif
+ isp_mboxcmd(isp, &mbs);
+ if (mbs.param[0] != MBOX_COMMAND_COMPLETE)
+ return (-1);
+
+ mbs.param[0] = MBOX_GET_PORT_DB;
+ mbs.param[1] = id << 8;
+ mbs.param[2] = (u_int16_t) (fcp->isp_scdma >> 16);
+ mbs.param[3] = (u_int16_t) (fcp->isp_scdma & 0xffff);
+ mbs.param[4] = 0;
+ mbs.param[5] = 0;
+ mbs.param[6] = 0;
+ mbs.param[7] = 0;
+ isp_mboxcmd(isp, &mbs);
+ switch (mbs.param[0]) {
+ case MBOX_COMMAND_COMPLETE:
+ MemoryBarrier();
+ MEMCPY(pdbp, fcp->isp_scratch, sizeof (isp_pdb_t));
+ break;
+ case MBOX_HOST_INTERFACE_ERROR:
+ PRINTF("%s: DMA error getting port database\n", isp->isp_name);
+ return (-1);
+ case MBOX_COMMAND_PARAM_ERROR:
+ /* Not Logged In */
+ IDPRINTF(3, ("%s: Comand Param Error on Get Port Database\n",
+ isp->isp_name));
+ return (-1);
+ default:
+ PRINTF("%s: error 0x%x getting port database for ID %d\n",
+ isp->isp_name, mbs.param[0], id);
+ return (-1);
+ }
+#else
+ pdbp->pdb_options = 1;
+#endif
+ return (0);
+}
+
+/*
+ * Make sure we have good FC link and know our Loop ID.
+ */
+
+static int
+isp_fclink_test(isp)
+ struct ispsoftc *isp;
+{
+ mbreg_t mbs;
+ int count;
+ u_int8_t lwfs;
+ fcparam *fcp;
+
+ fcp = isp->isp_param;
/*
- * Wait up to 5 seconds for FW to go to READY state.
+ * Wait up to N microseconds for F/W to go to a ready state.
+ * This is a platform specific
*/
lwfs = FW_CONFIG_WAIT;
- for (count = 0; count < 12000; count++) {
+ for (count = 0; count < FC_FW_READY_DELAY; count += 100) {
isp_fw_state(isp);
if (lwfs != fcp->isp_fwstate) {
PRINTF("%s: Firmware State %s -> %s\n",
@@ -934,38 +1058,30 @@ isp_fibre_init(isp)
if (fcp->isp_fwstate == FW_READY) {
break;
}
- SYS_DELAY(1000); /* wait one millisecond */
+ SYS_DELAY(100); /* wait 100 microseconds */
}
- isp->isp_sendmarker = 1;
/*
- * Get our Loop ID
- * (if possible)
+ * If we haven't gone to 'ready' state, return.
*/
- if (fcp->isp_fwstate == FW_READY) {
- mbs.param[0] = MBOX_GET_LOOP_ID;
- isp_mboxcmd(isp, &mbs);
- if (mbs.param[0] != MBOX_COMMAND_COMPLETE) {
- isp_dumpregs(isp, "GET LOOP ID failed");
- return;
- }
- fcp->isp_loopid = mbs.param[1];
- fcp->isp_alpa = mbs.param[2];
- PRINTF("%s: Loop ID %d, ALPA 0x%x\n", isp->isp_name,
- fcp->isp_loopid, fcp->isp_alpa);
- isp->isp_state = ISP_INITSTATE;
-#ifdef ISP_TARGET_MODE
- DISABLE_INTS(isp);
- if (isp_modify_lun(isp, 0, 1, 1)) {
- PRINTF("%s: failed to enable target mode\n",
- isp->isp_name);
- }
- ENABLE_INTS(isp);
-#endif
- } else {
- PRINTF("%s: failed to go to FW READY state- will not attach\n",
- isp->isp_name);
+ if (fcp->isp_fwstate != FW_READY) {
+ return (-1);
}
+ /*
+ * Get our Loop ID (if possible). We really need to have it.
+ */
+ mbs.param[0] = MBOX_GET_LOOP_ID;
+ isp_mboxcmd(isp, &mbs);
+ if (mbs.param[0] != MBOX_COMMAND_COMPLETE) {
+ PRINTF("%s: GET LOOP ID failed\n", isp->isp_name);
+ return (-1);
+ }
+ fcp->isp_loopid = mbs.param[1];
+ fcp->isp_alpa = mbs.param[2];
+ PRINTF("%s: Loop ID %d, ALPA 0x%x\n", isp->isp_name,
+ fcp->isp_loopid, fcp->isp_alpa);
+ return (0);
+
}
/*
@@ -985,7 +1101,7 @@ ispscsicmd(xs)
#define reqp _u._reqp
#define t2reqp _u._t2reqp
#define UZSIZE max(sizeof (ispreq_t), sizeof (ispreqt2_t))
- int i;
+ int i, rqidx;
XS_INITERR(xs);
isp = XS_ISP(xs);
@@ -997,9 +1113,10 @@ ispscsicmd(xs)
}
/*
- * We *could* do the different sequence type that has clos
- * to the whole Queue Entry for the command,.
+ * We *could* do the different sequence type that has close
+ * to the whole Queue Entry for the command,...
*/
+
if (XS_CDBLEN(xs) > ((isp->isp_type & ISP_HA_FC)? 16 : 12)) {
PRINTF("%s: unsupported cdb length (%d)\n",
isp->isp_name, XS_CDBLEN(xs));
@@ -1008,7 +1125,48 @@ ispscsicmd(xs)
}
/*
- * First check to see if any HBA or Device
+ * Check to see whether we have good firmware state still or
+ * need to refresh our port database for this target.
+ */
+ if (IS_FC(isp)) {
+ fcparam *fcp = isp->isp_param;
+ isp_pdb_t *pdbp = &fcp->isp_pdb[XS_TGT(xs)];
+
+ /*
+ * Check for f/w being in ready state. Well, okay,
+ * our cached copy of it...
+ */
+ if (fcp->isp_fwstate != FW_READY) {
+ if (isp_fclink_test(isp)) {
+ XS_SETERR(xs, HBA_SELTIMEOUT);
+ return (CMD_COMPLETE);
+ }
+ }
+ /*
+ * Here's the spot we would need to find out whether
+ * the port names have changed, whether it's still
+ * a target role, etc..
+ */
+ if (pdbp->pdb_options == INVALID_PDB_OPTIONS) {
+ /*
+ * If we don't know what it is- don't talk to it.
+ * This also handles cases where it's not logged
+ * into this port/target.
+ */
+ if (isp_getpdb(isp, XS_TGT(xs), pdbp)) {
+ XS_SETERR(xs, HBA_SELTIMEOUT);
+ return (CMD_COMPLETE);
+#ifdef GETPDB_WORKING_YET
+ } else {
+ isp_async(isp, ISPASYNC_PDB_CHANGE_COMPLETE,
+ (void *) (long) XS_TGT(xs));
+#endif
+ }
+ }
+ }
+
+ /*
+ * Next check to see if any HBA or Device
* parameters need to be updated.
*/
if (isp->isp_update) {
@@ -1025,9 +1183,6 @@ ispscsicmd(xs)
XS_SETERR(xs, HBA_BOTCH);
return (CMD_EAGAIN);
}
- if (isp->isp_type & ISP_HA_FC) {
- DISABLE_INTS(isp);
- }
if (isp->isp_sendmarker) {
u_int8_t niptr;
@@ -1038,8 +1193,6 @@ ispscsicmd(xs)
marker->req_header.rqs_entry_type = RQSTYPE_MARKER;
marker->req_modifier = SYNC_ALL;
- isp->isp_sendmarker = 0;
-
/*
* Unconditionally update the input pointer anyway.
*/
@@ -1048,9 +1201,6 @@ ispscsicmd(xs)
niptr = ISP_NXT_QENTRY(iptr, RQUEST_QUEUE_LEN);
if (niptr == optr) {
- if (isp->isp_type & ISP_HA_FC) {
- ENABLE_INTS(isp);
- }
IDPRINTF(2, ("%s: Request Queue Overflow+\n",
isp->isp_name));
XS_SETERR(xs, HBA_BOTCH);
@@ -1070,13 +1220,11 @@ ispscsicmd(xs)
reqp->req_header.rqs_flags = 0;
reqp->req_header.rqs_seqno = isp->isp_seqno++;
- for (i = 0; i < RQUEST_QUEUE_LEN; i++) {
- if (isp->isp_xflist[i] == NULL)
+ for (rqidx = 0; rqidx < RQUEST_QUEUE_LEN; rqidx++) {
+ if (isp->isp_xflist[rqidx] == NULL)
break;
}
- if (i == RQUEST_QUEUE_LEN) {
- if (isp->isp_type & ISP_HA_FC)
- ENABLE_INTS(isp);
+ if (rqidx == RQUEST_QUEUE_LEN) {
IDPRINTF(2, ("%s: out of xflist pointers\n", isp->isp_name));
XS_SETERR(xs, HBA_BOTCH);
return (CMD_EAGAIN);
@@ -1085,8 +1233,8 @@ ispscsicmd(xs)
* Never have a handle that is zero, so
* set req_handle off by one.
*/
- isp->isp_xflist[i] = xs;
- reqp->req_handle = i+1;
+ isp->isp_xflist[rqidx] = xs;
+ reqp->req_handle = rqidx+1;
}
if (isp->isp_type & ISP_HA_FC) {
@@ -1120,7 +1268,7 @@ ispscsicmd(xs)
reqp->req_lun_trn = XS_LUN(xs);
reqp->req_cdblen = XS_CDBLEN(xs);
} else {
-#ifdef SCCLUN
+#ifdef ISP2100_SCCLUN
reqp->req_scclun = XS_LUN(xs);
#else
reqp->req_lun_trn = XS_LUN(xs);
@@ -1136,10 +1284,19 @@ ispscsicmd(xs)
reqp->req_time = XS_TIME(xs) / 1000;
if (reqp->req_time == 0 && XS_TIME(xs))
reqp->req_time = 1;
+
+ /*
+ * Always give a bit more leeway to commands after a bus reset.
+ */
+ if (isp->isp_sendmarker && reqp->req_time < 5)
+ reqp->req_time = 5;
+
i = ISP_DMASETUP(isp, xs, reqp, &iptr, optr);
if (i != CMD_QUEUED) {
- if (isp->isp_type & ISP_HA_FC)
- ENABLE_INTS(isp);
+ /*
+ * Take memory of it away...
+ */
+ isp->isp_xflist[rqidx] = NULL;
/*
* dmasetup sets actual error in packet, and
* return what we were given to return.
@@ -1147,12 +1304,12 @@ ispscsicmd(xs)
return (i);
}
XS_SETERR(xs, HBA_NOERROR);
+ MemoryBarrier();
ISP_WRITE(isp, INMAILBOX4, iptr);
isp->isp_reqidx = iptr;
- if (isp->isp_type & ISP_HA_FC) {
- ENABLE_INTS(isp);
- }
isp->isp_nactive++;
+ if (isp->isp_sendmarker)
+ isp->isp_sendmarker = 0;
return (CMD_QUEUED);
#undef reqp
#undef t2reqp
@@ -1180,10 +1337,20 @@ isp_control(isp, ctl, arg)
break;
case ISPCTL_RESET_BUS:
+ /*
+ * This is really important to have set after a bus reset.
+ */
+ isp->isp_sendmarker = 1;
+
+ /*
+ * Issue a bus reset.
+ */
mbs.param[0] = MBOX_BUS_RESET;
if (isp->isp_type & ISP_HA_SCSI) {
mbs.param[1] =
((sdparam *) isp->isp_param)->isp_bus_reset_delay;
+ if (mbs.param[1] < 2)
+ mbs.param[1] = 2;
} else {
/*
* Unparameterized.
@@ -1195,10 +1362,6 @@ isp_control(isp, ctl, arg)
isp_dumpregs(isp, "isp_control SCSI bus reset failed");
break;
}
- /*
- * This is really important to have set after a bus reset.
- */
- isp->isp_sendmarker = 1;
PRINTF("%s: driver initiated bus reset\n", isp->isp_name);
return (0);
@@ -1229,7 +1392,7 @@ isp_control(isp, ctl, arg)
break;
}
mbs.param[0] = MBOX_ABORT;
-#ifdef SCCLUN
+#ifdef ISP2100_SCCLUN
if (isp->isp_type & ISP_HA_FC) {
mbs.param[1] = XS_TGT(xs) << 8;
mbs.param[4] = 0;
@@ -1256,6 +1419,9 @@ isp_control(isp, ctl, arg)
case ISPCTL_UPDATE_PARAMS:
isp_update(isp);
return(0);
+
+ case ISPCTL_FCLINK_TEST:
+ return (isp_fclink_test(isp));
}
return (-1);
}
@@ -1298,30 +1464,37 @@ isp_intr(arg)
if (ISP_READ(isp, BIU_SEMA) & 1) {
u_int16_t mbox = ISP_READ(isp, OUTMAILBOX0);
- u_int32_t fast_post_handle = isp_parse_async(isp, (int) mbox);
- ISP_WRITE(isp, BIU_SEMA, 0);
- if (fast_post_handle < 0) {
- return (1);
- } else if (fast_post_handle > 0) {
- xs = (ISP_SCSI_XFER_T *)
- isp->isp_xflist[fast_post_handle - 1];
- isp->isp_xflist[fast_post_handle - 1] = NULL;
- /*
- * Since we don't have a result queue entry item,
- * we must believe that SCSI status is zero and
- * that all data transferred.
- */
- XS_RESID(xs) = 0;
- XS_STS(xs) = 0;
- if (XS_XFRLEN(xs)) {
- ISP_DMAFREE(isp, xs, fast_post_handle - 1);
+ if (mbox & 0x4000) {
+ if (mbox != MBOX_COMMAND_COMPLETE) {
+ PRINTF("%s: isp_intr sees 0x%x\n",
+ isp->isp_name,mbox);
+ }
+ ISP_WRITE(isp, BIU_SEMA, 0);
+ } else {
+ u_int32_t fhandle = isp_parse_async(isp, (int) mbox);
+ ISP_WRITE(isp, BIU_SEMA, 0);
+ if (fhandle < 0) {
+ return (1);
+ } else if (fhandle > 0) {
+ xs = (ISP_SCSI_XFER_T *)
+ isp->isp_xflist[fhandle - 1];
+ isp->isp_xflist[fhandle - 1] = NULL;
+ /*
+ * Since we don't have a result queue entry
+ * item, we must believe that SCSI status is
+ * zero and that all data transferred.
+ */
+ XS_RESID(xs) = 0;
+ XS_STS(xs) = 0;
+ if (XS_XFRLEN(xs)) {
+ ISP_DMAFREE(isp, xs, fhandle - 1);
+ }
+ if (isp->isp_nactive > 0)
+ isp->isp_nactive--;
+ complist[ndone++] = xs;
}
- if (isp->isp_nactive > 0)
- isp->isp_nactive--;
- complist[ndone++] = xs;
}
}
-
ISP_WRITE(isp, HCCR, HCCR_CMD_CLEAR_RISC_INT);
optr = isp->isp_residx;
@@ -1342,7 +1515,7 @@ isp_intr(arg)
oop = optr;
optr = ISP_NXT_QENTRY(optr, RESULT_QUEUE_LEN);
nlooked++;
-
+ MemoryBarrier();
if (sp->req_header.rqs_entry_type != RQSTYPE_RESPONSE) {
if (isp_handle_other_response(isp, sp, &optr) == 0) {
ISP_WRITE(isp, INMAILBOX5, optr);
@@ -1499,7 +1672,7 @@ isp_intr(arg)
* what the outpointer is. It also is a trigger to update the
* ISP's notion of what we've seen so far.
*/
- if (ndone) {
+ if (nlooked) {
ISP_WRITE(isp, INMAILBOX5, optr);
isp->isp_reqodx = ISP_READ(isp, OUTMAILBOX4);
}
@@ -1525,8 +1698,10 @@ isp_parse_async(isp, mbox)
u_int32_t fast_post_handle = 0;
switch (mbox) {
+ case MBOX_COMMAND_COMPLETE: /* sometimes these show up */
+ break;
case ASYNC_BUS_RESET:
- PRINTF("%s: SCSI bus reset detected\n", isp->isp_name);
+ isp_async(isp, ISPASYNC_BUS_RESET, NULL);
isp->isp_sendmarker = 1;
#ifdef ISP_TARGET_MODE
isp_notify_ack(isp, NULL);
@@ -1563,6 +1738,7 @@ isp_parse_async(isp, mbox)
break;
case ASYNC_DEVICE_RESET:
+ isp->isp_sendmarker = 1;
PRINTF("%s: device reset\n", isp->isp_name);
#ifdef ISP_TARGET_MODE
isp_notify_ack(isp, NULL);
@@ -1606,20 +1782,21 @@ isp_parse_async(isp, mbox)
break;
case ASYNC_LIP_OCCURRED:
+ isp->isp_sendmarker = 1;
PRINTF("%s: LIP occurred\n", isp->isp_name);
break;
case ASYNC_LOOP_UP:
- PRINTF("%s: Loop UP\n", isp->isp_name);
+ isp->isp_sendmarker = 1;
isp_async(isp, ISPASYNC_LOOP_UP, NULL);
break;
case ASYNC_LOOP_DOWN:
- PRINTF("%s: Loop DOWN\n", isp->isp_name);
isp_async(isp, ISPASYNC_LOOP_DOWN, NULL);
break;
case ASYNC_LOOP_RESET:
+ isp->isp_sendmarker = 1;
PRINTF("%s: Loop RESET\n", isp->isp_name);
#ifdef ISP_TARGET_MODE
isp_notify_ack(isp, NULL);
@@ -1627,15 +1804,16 @@ isp_parse_async(isp, mbox)
break;
case ASYNC_PDB_CHANGED:
+ isp->isp_sendmarker = 1;
+ isp_mark_getpdb_all(isp);
PRINTF("%s: Port Database Changed\n", isp->isp_name);
break;
case ASYNC_CHANGE_NOTIFY:
- PRINTF("%s: Name Server Database Changed\n", isp->isp_name);
break;
default:
- PRINTF("%s: async %x\n", isp->isp_name, mbox);
+ PRINTF("%s: unknown async code 0x%x\n", isp->isp_name, mbox);
break;
}
return (fast_post_handle);
@@ -1756,7 +1934,7 @@ isp_handle_other_response(isp, sp, optrp)
ispatiot2_t *at2 = (ispatiot2_t *) sp;
int s, lun;
-#ifdef SCCLUN
+#ifdef ISP2100_SCCLUN
lun = at2->req_scclun;
#else
lun = at2->req_lun;
@@ -1804,7 +1982,7 @@ isp_handle_other_response(isp, sp, optrp)
ct2->req_header.rqs_flags = 0;
ct2->req_header.rqs_seqno = isp->isp_seqno++;
ct2->req_handle = (at2->req_initiator << 16) | lun;
-#ifndef SCCLUN
+#ifndef ISP2100_SCCLUN
ct2->req_lun = lun;
#endif
ct2->req_initiator = at2->req_initiator;
@@ -2519,6 +2697,35 @@ isp_parse_status(isp, sp, xs)
XS_SETERR(xs, HBA_BOTCH);
}
+static void
+isp_fastpost_complete(isp, fph)
+ struct ispsoftc *isp;
+ int fph;
+{
+ ISP_SCSI_XFER_T *xs;
+
+ if (fph < 1)
+ return;
+ xs = (ISP_SCSI_XFER_T *) isp->isp_xflist[fph - 1];
+ isp->isp_xflist[fph - 1] = NULL;
+ if (xs == NULL) {
+ PRINTF("%s: fast posting handle 0x%x not found\n",
+ isp->isp_name, fph - 1);
+ return;
+ }
+ /*
+ * Since we don't have a result queue entry item,
+ * we must believe that SCSI status is zero and
+ * that all data transferred.
+ */
+ XS_RESID(xs) = 0;
+ XS_STS(xs) = 0;
+ if (XS_XFRLEN(xs)) {
+ ISP_DMAFREE(isp, xs, fph - 1);
+ }
+ XS_CMD_DONE(xs);
+}
+
#define HINIB(x) ((x) >> 0x4)
#define LONIB(x) ((x) & 0xf)
#define MAKNIB(a, b) (((a) << 4) | (b))
@@ -2627,8 +2834,17 @@ static u_int8_t mbpcnt[] = {
MAKNIB(3, 1), /* 0x65: MBOX_CLEAR_ACA */
MAKNIB(3, 1), /* 0x66: MBOX_TARGET_RESET */
MAKNIB(3, 1), /* 0x67: MBOX_CLEAR_TASK_SET */
- MAKNIB(3, 1), /* 0x69: MBOX_ABORT_TASK_SET */
- MAKNIB(1, 2) /* 0x69: MBOX_GET_FW_STATE */
+ MAKNIB(3, 1), /* 0x68: MBOX_ABORT_TASK_SET */
+ MAKNIB(1, 2), /* 0x69: MBOX_GET_FW_STATE */
+ MAKNIB(2, 8), /* 0x6a: MBOX_GET_PORT_NAME */
+ MAKNIB(8, 1), /* 0x6b: MBOX_GET_LINK_STATUS */
+ MAKNIB(4, 4), /* 0x6c: MBOX_INIT_LIP_RESET */
+ MAKNIB(0, 0), /* 0x6d: */
+ MAKNIB(0, 0), /* 0x6e: */
+ MAKNIB(0, 0), /* 0x6f: */
+ MAKNIB(0, 0), /* 0x70: */
+ MAKNIB(0, 0), /* 0x71: */
+ MAKNIB(4, 1) /* 0x72: MBOX_INIT_LIP_LOGIN */
};
#define NMBCOM (sizeof (mbpcnt) / sizeof (mbpcnt[0]))
@@ -2665,7 +2881,7 @@ isp_mboxcmd(isp, mbp)
/*
* Check for variants
*/
-#ifdef SCCLUN
+#ifdef ISP2100_SCCLUN
if (isp->isp_type & ISP_HA_FC) {
switch (mbp->param[0]) {
case MBOX_ABORT:
@@ -2687,33 +2903,68 @@ isp_mboxcmd(isp, mbp)
command_known:
+#define NEW_MB_WAY 1
+#ifdef NEW_MB_WAY
/*
- * Make sure we can send some words..
+ * Set semaphore on mailbox registers to win any races to acquire them.
+ */
+ ISP_WRITE(isp, BIU_SEMA, 1);
+#endif
+
+
+ /*
+ * Make sure we can send some words. Check to see id there's
+ * an async mbox event pending.
*/
loops = MBOX_DELAY_COUNT;
while ((ISP_READ(isp, HCCR) & HCCR_HOST_INT) != 0) {
SYS_DELAY(100);
- if (--loops < 0) {
- PRINTF("%s: isp_mboxcmd timeout #1\n", isp->isp_name);
- if (dld++) {
- return;
- }
- PRINTF("%s: but we'll try again, isr=%x\n",
- isp->isp_name, ISP_READ(isp, BIU_ISR));
- if (ISP_READ(isp, BIU_SEMA) & 1) {
- u_int16_t mbox = ISP_READ(isp, OUTMAILBOX0);
- if (isp_parse_async(isp, (int) mbox))
+ if (ISP_READ(isp, BIU_SEMA) & 1) {
+ int fph;
+ u_int16_t mbox = ISP_READ(isp, OUTMAILBOX0);
+ /*
+ * We have a pending MBOX async event.
+ */
+ if (mbox & 0x8000) {
+ fph = isp_parse_async(isp, (int) mbox);
+ ISP_WRITE(isp, BIU_SEMA, 0);
+ ISP_WRITE(isp, HCCR, HCCR_CMD_CLEAR_RISC_INT);
+ if (fph < 0) {
return;
+ } else if (fph > 0) {
+ isp_fastpost_complete(isp, fph);
+ }
+ SYS_DELAY(100);
+ goto command_known;
+ }
+ /*
+ * We have a pending MBOX completion? Might be
+ * from a previous command. We can't (sometimes)
+ * just clear HOST INTERRUPT, so we'll just silently
+ * eat this here.
+ */
+ if (mbox == MBOX_COMMAND_COMPLETE) {
ISP_WRITE(isp, BIU_SEMA, 0);
+ ISP_WRITE(isp, HCCR, HCCR_CMD_CLEAR_RISC_INT);
+ SYS_DELAY(100);
+ goto command_known;
}
+ }
+ if (--loops < 0) {
+ if (dld++ > 10) {
+ PRINTF("%s: isp_mboxcmd could not get command "
+ "started\n", isp->isp_name);
+ return;
+ }
+ ISP_WRITE(isp, BIU_SEMA, 0);
ISP_WRITE(isp, HCCR, HCCR_CMD_CLEAR_RISC_INT);
goto command_known;
}
}
/*
- * Write input parameters
+ * Write input parameters.
*/
switch (inparam) {
case 8: ISP_WRITE(isp, INMAILBOX7, mbp->param[7]); mbp->param[7] = 0;
@@ -2727,20 +2978,23 @@ command_known:
}
/*
- * Clear semaphore on mailbox registers
+ * Clear RISC int condition.
*/
- ISP_WRITE(isp, BIU_SEMA, 0);
+ ISP_WRITE(isp, HCCR, HCCR_CMD_CLEAR_RISC_INT);
/*
- * Clear RISC int condition.
+ * Clear semaphore on mailbox registers so that the Qlogic
+ * may update outgoing registers.
*/
- ISP_WRITE(isp, HCCR, HCCR_CMD_CLEAR_RISC_INT);
+ ISP_WRITE(isp, BIU_SEMA, 0);
+ ENABLE_INTS(isp);
/*
* Set Host Interrupt condition so that RISC will pick up mailbox regs.
*/
ISP_WRITE(isp, HCCR, HCCR_CMD_SET_HOST_INT);
+#ifndef NEW_MB_WAY
/*
* Wait until RISC int is set, except 2100
*/
@@ -2762,24 +3016,83 @@ command_known:
loops = MBOX_DELAY_COUNT;
while ((ISP_READ(isp, BIU_SEMA) & 1) == 0) {
SYS_DELAY(100);
+ /*
+ * Wierd- I've seen the case where the semaphore register
+ * isn't getting set- sort of a violation of the protocol..
+ */
+ if (ISP_READ(isp, OUTMAILBOX0) & 0x4000)
+ break;
if (--loops < 0) {
PRINTF("%s: isp_mboxcmd timeout #3\n", isp->isp_name);
return;
}
}
+#else
+ /*
+ * Wait until HOST INT has gone away (meaning that the Qlogic
+ * has picked up the mailbox command. Wait a long time.
+ */
+ loops = MBOX_DELAY_COUNT * 5;
+ while ((ISP_READ(isp, HCCR) & HCCR_CMD_CLEAR_RISC_INT) != 0) {
+ SYS_DELAY(100);
+ if (--loops < 0) {
+ PRINTF("%s: isp_mboxcmd timeout #2\n", isp->isp_name);
+ return;
+ }
+ }
/*
- * Make sure that the MBOX_BUSY has gone away
+ * While the Semaphore registers isn't set, wait for the Qlogic
+ * to process the mailbox command. Again- wait a long time.
*/
- loops = MBOX_DELAY_COUNT;
- while (ISP_READ(isp, OUTMAILBOX0) == MBOX_BUSY) {
+ loops = MBOX_DELAY_COUNT * 5;
+ while ((ISP_READ(isp, BIU_SEMA) & 1) == 0) {
SYS_DELAY(100);
+ /*
+ * Wierd- I've seen the case where the semaphore register
+ * isn't getting set- sort of a violation of the protocol..
+ */
+ if (ISP_READ(isp, OUTMAILBOX0) & 0x4000)
+ break;
if (--loops < 0) {
- PRINTF("%s: isp_mboxcmd timeout #4\n", isp->isp_name);
+ PRINTF("%s: isp_mboxcmd timeout #3\n", isp->isp_name);
return;
}
}
+#endif
+ /*
+ * Make sure that the MBOX_BUSY has gone away
+ */
+ loops = MBOX_DELAY_COUNT;
+ for (;;) {
+ u_int16_t mbox = ISP_READ(isp, OUTMAILBOX0);
+ if (mbox == MBOX_BUSY) {
+ if (--loops < 0) {
+ PRINTF("%s: isp_mboxcmd timeout #4\n",
+ isp->isp_name);
+ return;
+ }
+ SYS_DELAY(100);
+ continue;
+ }
+ /*
+ * We have a pending MBOX async event.
+ */
+ if (mbox & 0x8000) {
+ int fph = isp_parse_async(isp, (int) mbox);
+ ISP_WRITE(isp, BIU_SEMA, 0);
+ ISP_WRITE(isp, HCCR, HCCR_CMD_CLEAR_RISC_INT);
+ if (fph < 0) {
+ return;
+ } else if (fph > 0) {
+ isp_fastpost_complete(isp, fph);
+ }
+ SYS_DELAY(100);
+ continue;
+ }
+ break;
+ }
/*
* Pick up output parameters.
@@ -2828,17 +3141,29 @@ command_known:
isp->isp_name, opcode);
break;
case MBOX_COMMAND_PARAM_ERROR:
- PRINTF("%s: mbox cmd %x failed with COMMAND_PARAM_ERROR\n",
- isp->isp_name, opcode);
+ switch (opcode) {
+ case MBOX_GET_PORT_DB:
+ case MBOX_GET_PORT_NAME:
+ case MBOX_GET_DEV_QUEUE_PARAMS:
+ break;
+ default:
+ PRINTF("%s: mbox cmd %x failed with "
+ "COMMAND_PARAM_ERROR\n", isp->isp_name, opcode);
+ }
break;
/*
* Be silent about these...
*/
- case ASYNC_LOOP_UP:
case ASYNC_LIP_OCCURRED:
+ case ASYNC_LOOP_UP:
+ case ASYNC_LOOP_DOWN:
+ case ASYNC_LOOP_RESET:
+ case ASYNC_CHANGE_NOTIFY:
+ break;
case ASYNC_PDB_CHANGED:
+ isp_mark_getpdb_all(isp);
break;
default:
@@ -2960,12 +3285,19 @@ again:
mbs.param[0] = MBOX_GET_FW_STATE;
isp_mboxcmd(isp, &mbs);
if (mbs.param[0] != MBOX_COMMAND_COMPLETE) {
- if (mbs.param[0] == ASYNC_LIP_OCCURRED ||
- mbs.param[0] == ASYNC_PDB_CHANGED ||
- mbs.param[0] == ASYNC_LOOP_UP) {
+ switch (mbs.param[0]) {
+ case ASYNC_PDB_CHANGED:
+ isp_mark_getpdb_all(isp);
+ /* FALL THROUGH */
+ case ASYNC_LIP_OCCURRED:
+ case ASYNC_LOOP_UP:
+ case ASYNC_LOOP_DOWN:
+ case ASYNC_LOOP_RESET:
+ case ASYNC_CHANGE_NOTIFY:
if (once++ < 2) {
goto again;
}
+ break;
}
isp_dumpregs(isp, "GET FIRMWARE STATE failed");
return;
@@ -3024,6 +3356,10 @@ isp_update(isp)
}
if (get == 0) {
+ /*
+ * XXX: Need a SYNC_TARGET for efficiency...
+ */
+ isp->isp_sendmarker = 1;
sdp->isp_devparam[tgt].cur_dflags =
sdp->isp_devparam[tgt].dev_flags;
continue;
@@ -3076,7 +3412,7 @@ isp_setdfltparm(isp)
(isp_read_nvram(isp) == 0)) {
return;
}
- if (isp->isp_type & ISP_HA_FC) {
+ if (IS_FC(isp)) {
fcparam *fcp = (fcparam *) isp->isp_param;
fcp->isp_maxfrmlen = ICB_DFLT_FRMLEN;
fcp->isp_maxalloc = 256;
@@ -3232,66 +3568,6 @@ isp_restart(isp)
}
/*
- * Miscellaneous debug statements.
- */
-static void
-isp_prtstst(sp)
- ispstatusreq_t *sp;
-{
- PRINTF("states->");
- if (sp->req_state_flags & RQSF_GOT_BUS)
- PRINTF("GOT_BUS ");
- if (sp->req_state_flags & RQSF_GOT_TARGET)
- PRINTF("GOT_TGT ");
- if (sp->req_state_flags & RQSF_SENT_CDB)
- PRINTF("SENT_CDB ");
- if (sp->req_state_flags & RQSF_XFRD_DATA)
- PRINTF("XFRD_DATA ");
- if (sp->req_state_flags & RQSF_GOT_STATUS)
- PRINTF("GOT_STS ");
- if (sp->req_state_flags & RQSF_GOT_SENSE)
- PRINTF("GOT_SNS ");
- if (sp->req_state_flags & RQSF_XFER_COMPLETE)
- PRINTF("XFR_CMPLT ");
- PRINTF("\n");
- PRINTF("status->");
- if (sp->req_status_flags & RQSTF_DISCONNECT)
- PRINTF("Disconnect ");
- if (sp->req_status_flags & RQSTF_SYNCHRONOUS)
- PRINTF("Sync_xfr ");
- if (sp->req_status_flags & RQSTF_PARITY_ERROR)
- PRINTF("Parity ");
- if (sp->req_status_flags & RQSTF_BUS_RESET)
- PRINTF("Bus_Reset ");
- if (sp->req_status_flags & RQSTF_DEVICE_RESET)
- PRINTF("Device_Reset ");
- if (sp->req_status_flags & RQSTF_ABORTED)
- PRINTF("Aborted ");
- if (sp->req_status_flags & RQSTF_TIMEOUT)
- PRINTF("Timeout ");
- if (sp->req_status_flags & RQSTF_NEGOTIATION)
- PRINTF("Negotiation ");
- PRINTF("\n");
-}
-
-static char *
-isp2100_fw_statename(state)
- int state;
-{
- switch(state) {
- case FW_CONFIG_WAIT: return "Config Wait";
- case FW_WAIT_AL_PA: return "Waiting for AL/PA";
- case FW_WAIT_LOGIN: return "Wait Login";
- case FW_READY: return "Ready";
- case FW_LOSS_OF_SYNC: return "Loss Of Sync";
- case FW_ERROR: return "Error";
- case FW_REINIT: return "Re-Init";
- case FW_NON_PART: return "Nonparticipating";
- default: return "eh?";
- }
-}
-
-/*
* NVRAM Routines
*/
@@ -3308,7 +3584,7 @@ isp_read_nvram(isp)
#define nvram_data _n._x
#define nvram_words _n._s
- if (isp->isp_type & ISP_HA_FC) {
+ if (IS_FC(isp)) {
amt = ISP2100_NVRAM_SIZE;
minversion = 1;
} else {
diff --git a/sys/dev/isp/isp_freebsd.c b/sys/dev/isp/isp_freebsd.c
index ee56cf6298fb..dcbf7528fd7a 100644
--- a/sys/dev/isp/isp_freebsd.c
+++ b/sys/dev/isp/isp_freebsd.c
@@ -1,5 +1,5 @@
-/* $Id: isp_freebsd.c,v 1.11 1999/01/30 07:29:00 mjacob Exp $ */
-/* release_02_05_99 */
+/* $Id: isp_freebsd.c,v 1.12 1999/02/09 01:08:38 mjacob Exp $ */
+/* release_03_16_99 */
/*
* Platform (FreeBSD) dependent common attachment code for Qlogic adapters.
*
@@ -92,7 +92,8 @@ isp_attach(struct ispsoftc *isp)
if (isp->isp_type & ISP_HA_FC) {
isp->isp_sim->base_transfer_speed = 100000;
}
- isp->isp_state = ISP_RUNSTATE;
+ if (isp->isp_state == ISP_INITSTATE)
+ isp->isp_state = ISP_RUNSTATE;
}
static void
@@ -148,6 +149,30 @@ isp_action(struct cam_sim *sim, union ccb *ccb)
isp = (struct ispsoftc *)cam_sim_softc(sim);
ccb->ccb_h.sim_priv.entries[0].field = 0;
ccb->ccb_h.sim_priv.entries[1].ptr = isp;
+ /*
+ * This should only happen for Fibre Channel adapters.
+ * We want to pass through all but XPT_SCSI_IO (e.g.,
+ * path inquiry) but fail if we can't get good Fibre
+ * Channel link status.
+ */
+ if (ccb->ccb_h.func_code == XPT_SCSI_IO &&
+ isp->isp_state != ISP_RUNSTATE) {
+ s = splcam();
+ DISABLE_INTS(isp);
+ isp_init(isp);
+ if (isp->isp_state != ISP_INITSTATE) {
+ (void) splx(s);
+ /*
+ * Lie. Say it was a selection timeout.
+ */
+ ccb->ccb_h.status = CAM_SEL_TIMEOUT;
+ xpt_done(ccb);
+ return;
+ }
+ isp->isp_state = ISP_RUNSTATE;
+ ENABLE_INTS(isp);
+ (void) splx(s);
+ }
IDPRINTF(4, ("%s: isp_action code %x\n", isp->isp_name,
ccb->ccb_h.func_code));
@@ -218,9 +243,9 @@ isp_action(struct cam_sim *sim, union ccb *ccb)
ccb->ccb_h.status |= CAM_SIM_QUEUED;
break;
case CMD_EAGAIN:
- if (isp->isp_osinfo.simqfrozen == 0) {
+ if (!(isp->isp_osinfo.simqfrozen & SIMQFRZ_RESOURCE)) {
xpt_freeze_simq(sim, 1);
- isp->isp_osinfo.simqfrozen = 1;
+ isp->isp_osinfo.simqfrozen |= SIMQFRZ_RESOURCE;
}
ccb->ccb_h.status &= ~CAM_STATUS_MASK;
ccb->ccb_h.status |= CAM_REQUEUE_REQ;
@@ -547,13 +572,10 @@ isp_done(struct ccb_scsiio *sccb)
sccb->ccb_h.status |= CAM_DEV_QFRZN;
}
}
- if (isp->isp_osinfo.simqfrozen) {
-
- xpt_print_path(sccb->ccb_h.path);
- printf("isp_done releasing SIMQ\n");
-
+ if (isp->isp_osinfo.simqfrozen & SIMQFRZ_RESOURCE) {
+ isp->isp_osinfo.simqfrozen &= ~SIMQFRZ_RESOURCE;
sccb->ccb_h.status |= CAM_RELEASE_SIMQ;
- isp->isp_osinfo.simqfrozen = 0;
+ xpt_release_simq(isp->isp_sim, 1);
}
sccb->ccb_h.status &= ~CAM_SIM_QUEUED;
if (CAM_DEBUGGED(sccb->ccb_h.path, ISPDDB) &&
@@ -572,29 +594,6 @@ isp_async(isp, cmd, arg)
{
int rv = 0;
switch (cmd) {
- case ISPASYNC_LOOP_DOWN:
- if (isp->isp_path) {
- /*
- * We can get multiple LOOP downs, so only count one.
- */
- if (isp->isp_osinfo.simqfrozen == 0) {
- xpt_freeze_simq(isp->isp_sim, 1);
- isp->isp_osinfo.simqfrozen = 1;
- xpt_print_path(isp->isp_path);
- printf("freezing SIMQ until loop comes up\n");
- }
- }
- break;
- case ISPASYNC_LOOP_UP:
- if (isp->isp_path) {
- xpt_print_path(isp->isp_path);
- if (isp->isp_osinfo.simqfrozen) {
- isp->isp_osinfo.simqfrozen = 0;
- printf("releasing frozen SIMQ\n");
- xpt_release_simq(isp->isp_sim, 1);
- }
- }
- break;
case ISPASYNC_NEW_TGT_PARAMS:
if (isp->isp_type & ISP_HA_SCSI) {
int flags, tgt;
@@ -638,6 +637,100 @@ isp_async(isp, cmd, arg)
xpt_free_path(tmppath);
}
break;
+ case ISPASYNC_BUS_RESET:
+ printf("%s: SCSI bus reset detected\n", isp->isp_name);
+ if (isp->isp_path) {
+ xpt_async(AC_BUS_RESET, isp->isp_path, NULL);
+ }
+ break;
+ case ISPASYNC_LOOP_DOWN:
+ if (isp->isp_path) {
+ /*
+ * We can get multiple LOOP downs, so only count one.
+ */
+ if (!(isp->isp_osinfo.simqfrozen & SIMQFRZ_LOOPDOWN)) {
+ xpt_freeze_simq(isp->isp_sim, 1);
+ isp->isp_osinfo.simqfrozen |= SIMQFRZ_LOOPDOWN;
+ printf("%s: Loop DOWN- freezing SIMQ until Loop"
+ " comes up\n", isp->isp_name);
+ }
+ } else {
+ printf("%s: Loop DOWN\n", isp->isp_name);
+ }
+ break;
+ case ISPASYNC_LOOP_UP:
+ if (isp->isp_path) {
+ if (isp->isp_osinfo.simqfrozen & SIMQFRZ_LOOPDOWN) {
+ xpt_release_simq(isp->isp_sim, 1);
+ isp->isp_osinfo.simqfrozen &= ~SIMQFRZ_LOOPDOWN;
+ if (isp->isp_osinfo.simqfrozen) {
+ printf("%s: Loop UP- SIMQ still "
+ "frozen\n", isp->isp_name);
+ } else {
+ printf("%s: Loop UP-releasing frozen "
+ "SIMQ\n", isp->isp_name);
+ }
+ }
+ } else {
+ printf("%s: Loop UP\n", isp->isp_name);
+ }
+ break;
+ case ISPASYNC_PDB_CHANGE_COMPLETE:
+ if (isp->isp_type & ISP_HA_FC) {
+ int i;
+ static char *roles[4] = {
+ "No", "Target", "Initiator", "Target/Initiator"
+ };
+ for (i = 0; i < MAX_FC_TARG; i++) {
+ isp_pdb_t *pdbp =
+ &((fcparam *)isp->isp_param)->isp_pdb[i];
+ if (pdbp->pdb_options == INVALID_PDB_OPTIONS)
+ continue;
+ printf("%s: Loop ID %d, %s role\n",
+ isp->isp_name, pdbp->pdb_loopid,
+ roles[(pdbp->pdb_prli_svc3 >> 4) & 0x3]);
+ printf(" Node Address 0x%x WWN 0x"
+ "%02x%02x%02x%02x%02x%02x%02x%02x\n",
+ BITS2WORD(pdbp->pdb_portid_bits),
+ pdbp->pdb_portname[0], pdbp->pdb_portname[1],
+ pdbp->pdb_portname[2], pdbp->pdb_portname[3],
+ pdbp->pdb_portname[4], pdbp->pdb_portname[5],
+ pdbp->pdb_portname[6], pdbp->pdb_portname[7]);
+ if (pdbp->pdb_options & PDB_OPTIONS_ADISC)
+ printf(" Hard Address 0x%x WWN 0x"
+ "%02x%02x%02x%02x%02x%02x%02x%02x\n",
+ BITS2WORD(pdbp->pdb_hardaddr_bits),
+ pdbp->pdb_nodename[0],
+ pdbp->pdb_nodename[1],
+ pdbp->pdb_nodename[2],
+ pdbp->pdb_nodename[3],
+ pdbp->pdb_nodename[4],
+ pdbp->pdb_nodename[5],
+ pdbp->pdb_nodename[6],
+ pdbp->pdb_nodename[7]);
+ switch (pdbp->pdb_prli_svc3 & SVC3_ROLE_MASK) {
+ case SVC3_TGT_ROLE|SVC3_INI_ROLE:
+ printf(" Master State=%s, Slave State=%s\n",
+ isp2100_pdb_statename(pdbp->pdb_mstate),
+ isp2100_pdb_statename(pdbp->pdb_sstate));
+ break;
+ case SVC3_TGT_ROLE:
+ printf(" Master State=%s\n",
+ isp2100_pdb_statename(pdbp->pdb_mstate));
+ break;
+ case SVC3_INI_ROLE:
+ printf(" Slave State=%s\n",
+ isp2100_pdb_statename(pdbp->pdb_sstate));
+ break;
+ default:
+ break;
+ }
+ }
+ break;
+ }
+ case ISPASYNC_CHANGE_NOTIFY:
+ printf("%s: Name Server Database Changed\n", isp->isp_name);
+ break;
default:
break;
}
@@ -672,7 +765,9 @@ isp_attach(struct ispsoftc *isp)
if(!scbus) {
return;
}
- isp->isp_state = ISP_RUNSTATE;
+ if (isp->isp_state == ISP_INITSTATE)
+ isp->isp_state = ISP_RUNSTATE;
+
START_WATCHDOG(isp);
isp->isp_osinfo._link.adapter_unit = isp->isp_osinfo.unit;
@@ -736,14 +831,25 @@ static int
ispcmd(ISP_SCSI_XFER_T *xs)
{
struct ispsoftc *isp;
- int r;
- ISP_LOCKVAL_DECL;
+ int r, s;
isp = XS_ISP(xs);
- ISP_LOCK;
+ s = splbio();
+ DISABLE_INTS(isp);
+ if (isp->isp_state != ISP_RUNSTATE) {
+ isp_init(isp);
+ if (isp->isp_state != ISP_INITSTATE) {
+ ENABLE_INTS(isp);
+ (void) splx(s);
+ XS_SETERR(xs, HBA_BOTCH);
+ return (CMD_COMPLETE);
+ }
+ isp_state = ISP_RUNSTATE;
+ }
r = ispscsicmd(xs);
+ ENABLE_INTS(isp);
if (r != CMD_QUEUED || (xs->flags & SCSI_NOMASK) == 0) {
- ISP_UNLOCK;
+ (void) splx(s);
return (r);
}
@@ -765,7 +871,7 @@ ispcmd(ISP_SCSI_XFER_T *xs)
}
}
}
- ISP_UNLOCK;
+ (void) splx(s);
return (CMD_COMPLETE);
}
@@ -873,6 +979,71 @@ isp_async(isp, cmd, arg)
}
}
break;
+ case ISPASYNC_BUS_RESET:
+ printf("%s: SCSI bus reset detected\n", isp->isp_name);
+ break;
+ case ISPASYNC_LOOP_DOWN:
+ printf("%s: Loop DOWN\n", isp->isp_name);
+ break;
+ case ISPASYNC_LOOP_UP:
+ printf("%s: Loop UP\n", isp->isp_name);
+ break;
+ case ISPASYNC_PDB_CHANGE_COMPLETE:
+ if (isp->isp_type & ISP_HA_FC) {
+ int i;
+ static char *roles[4] = {
+ "No", "Target", "Initiator", "Target/Initiator"
+ };
+ for (i = 0 i < MAX_FC_TARG; i++) {
+ isp_pdb_t *pdbp =
+ &((fcparam *)isp->isp_param)->isp_pdb[i];
+ if (pdbp->pdb_options == INVALID_PDB_OPTIONS)
+ continue;
+ printf("%s: Loop ID %d, %s role\n",
+ isp->isp_name, pdbp->pdb_loopid,
+ roles[(pdbp->pdb_prli_svc3 >> 4) & 0x3]);
+ printf(" Node Address 0x%x WWN 0x"
+ "%02x%02x%02x%02x%02x%02x%02x%02x\n",
+ BITS2WORD(pdbp->pdb_portid_bits),
+ pdbp->pdb_portname[0], pdbp->pdb_portname[1],
+ pdbp->pdb_portname[2], pdbp->pdb_portname[3],
+ pdbp->pdb_portname[4], pdbp->pdb_portname[5],
+ pdbp->pdb_portname[6], pdbp->pdb_portname[7]);
+ if (pdbp->pdb_options & PDB_OPTIONS_ADISC)
+ printf(" Hard Address 0x%x WWN 0x"
+ "%02x%02x%02x%02x%02x%02x%02x%02x\n",
+ BITS2WORD(pdbp->pdb_hardaddr_bits),
+ pdbp->pdb_nodename[0],
+ pdbp->pdb_nodename[1],
+ pdbp->pdb_nodename[2],
+ pdbp->pdb_nodename[3],
+ pdbp->pdb_nodename[4],
+ pdbp->pdb_nodename[5],
+ pdbp->pdb_nodename[6],
+ pdbp->pdb_nodename[7]);
+ switch (pdbp->pdb_prli_svc3 & SVC3_ROLE_MASK) {
+ case SVC3_TGT_ROLE|SVC3_INI_ROLE:
+ printf(" Master State=%s, Slave State=%s\n",
+ isp2100_pdb_statename(pdbp->pdb_mstate),
+ isp2100_pdb_statename(pdbp->pdb_sstate));
+ break;
+ case SVC3_TGT_ROLE:
+ printf(" Master State=%s\n",
+ isp2100_pdb_statename(pdbp->pdb_mstate));
+ break;
+ case SVC3_INI_ROLE:
+ printf(" Slave State=%s\n",
+ isp2100_pdb_statename(pdbp->pdb_sstate));
+ break;
+ default:
+ break;
+ }
+ }
+ break;
+ }
+ case ISPASYNC_CHANGE_NOTIFY:
+ printf("%s: Name Server Database Changed\n", isp->isp_name);
+ break;
default:
break;
}
diff --git a/sys/dev/isp/isp_freebsd.h b/sys/dev/isp/isp_freebsd.h
index 6795448a21db..e9e50230ffa6 100644
--- a/sys/dev/isp/isp_freebsd.h
+++ b/sys/dev/isp/isp_freebsd.h
@@ -1,5 +1,5 @@
-/* $Id: isp_freebsd.h,v 1.10 1999/01/30 07:29:00 mjacob Exp $ */
-/* release_02_05_99 */
+/* $Id: isp_freebsd.h,v 1.11 1999/02/09 01:05:42 mjacob Exp $ */
+/* release_03_16_99 */
/*
* Qlogic ISP SCSI Host Adapter FreeBSD Wrapper Definitions (non CAM version)
*---------------------------------------
@@ -45,8 +45,10 @@
#endif
#if __FreeBSD_version >= 300004
+#define MAXISPREQUEST 256
#include <dev/isp/isp_freebsd_cam.h>
#else
+#define MAXISPREQUEST 64
#include <sys/systm.h>
#include <sys/malloc.h>
@@ -60,6 +62,11 @@
#include <vm/pmap.h>
#include <sys/kernel.h>
+
+#include <dev/isp/ispreg.h>
+#include <dev/isp/ispvar.h>
+#include <dev/isp/ispmbox.h>
+
#define ISP_SCSI_XFER_T struct scsi_xfer
struct isposinfo {
char name[8];
@@ -70,19 +77,8 @@ struct isposinfo {
#endif
};
-#define MAXISPREQUEST 64
-
-#include <dev/isp/ispreg.h>
-#include <dev/isp/ispvar.h>
-#include <dev/isp/ispmbox.h>
-
-#define PRINTF printf
-#define IDPRINTF(lev, x) if (isp->isp_dblev >= lev) printf x
+#define PVS "Qlogic ISP Driver, FreeBSD Non-Cam"
#define DFLT_DBLEVEL 1
-
-#define MEMZERO BZERO
-#define MEMCPY(dst, src, amt) bcopy((src), (dst), (amt))
-
#define ISP_LOCKVAL_DECL int isp_spl_save
#define ISP_ILOCKVAL_DECL ISP_LOCKVAL_DECL
#define ISP_UNLOCK(isp) (void) splx(isp_spl_save)
@@ -144,7 +140,6 @@ struct isposinfo {
#define isp_name isp_osinfo.name
-#define SYS_DELAY(x) DELAY(x)
#define WATCH_INTERVAL 30
#if __FreeBSD_version >= 300001
@@ -160,10 +155,118 @@ struct isposinfo {
#endif
#define RESTART_WATCHDOG(f, s) START_WATCHDOG(f, s)
-extern void isp_attach __P((struct ispsoftc *));
-extern void isp_uninit __P((struct ispsoftc *));
-#define PVS "Qlogic ISP Driver, FreeBSD Non-Cam"
#endif /* __FreeBSD_version >= 300004 */
+
+extern void isp_attach(struct ispsoftc *);
+extern void isp_uninit(struct ispsoftc *);
+
+#define MEMZERO bzero
+#define MEMCPY(dst, src, amt) bcopy((src), (dst), (amt))
+#ifdef __alpha__
+#define MemoryBarrier alpha_mb
+#else
+#define MemoryBarrier()
+#endif
+
+
+#define IDPRINTF(lev, x) if (isp->isp_dblev >= lev) printf x
+#define PRINTF printf
+
+#define SYS_DELAY(x) DELAY(x)
+
+#define FC_FW_READY_DELAY (5 * 1000000)
+
+static __inline void isp_prtstst(ispstatusreq_t *sp);
+static __inline const char *isp2100_fw_statename(int state);
+static __inline const char *isp2100_pdb_statename(int pdb_state);
+
+static __inline void isp_prtstst(ispstatusreq_t *sp)
+{
+ char buf[128];
+ sprintf(buf, "states->");
+ if (sp->req_state_flags & RQSF_GOT_BUS)
+ sprintf(buf, "%s%s", buf, "GOT_BUS ");
+ if (sp->req_state_flags & RQSF_GOT_TARGET)
+ sprintf(buf, "%s%s", buf, "GOT_TGT ");
+ if (sp->req_state_flags & RQSF_SENT_CDB)
+ sprintf(buf, "%s%s", buf, "SENT_CDB ");
+ if (sp->req_state_flags & RQSF_XFRD_DATA)
+ sprintf(buf, "%s%s", buf, "XFRD_DATA ");
+ if (sp->req_state_flags & RQSF_GOT_STATUS)
+ sprintf(buf, "%s%s", buf, "GOT_STS ");
+ if (sp->req_state_flags & RQSF_GOT_SENSE)
+ sprintf(buf, "%s%s", buf, "GOT_SNS ");
+ if (sp->req_state_flags & RQSF_XFER_COMPLETE)
+ sprintf(buf, "%s%s", buf, "XFR_CMPLT ");
+ sprintf(buf, "%s%s", buf, "\n");
+ sprintf(buf, "%s%s", buf, "status->");
+ if (sp->req_status_flags & RQSTF_DISCONNECT)
+ sprintf(buf, "%s%s", buf, "Disconnect ");
+ if (sp->req_status_flags & RQSTF_SYNCHRONOUS)
+ sprintf(buf, "%s%s", buf, "Sync_xfr ");
+ if (sp->req_status_flags & RQSTF_PARITY_ERROR)
+ sprintf(buf, "%s%s", buf, "Parity ");
+ if (sp->req_status_flags & RQSTF_BUS_RESET)
+ sprintf(buf, "%s%s", buf, "Bus_Reset ");
+ if (sp->req_status_flags & RQSTF_DEVICE_RESET)
+ sprintf(buf, "%s%s", buf, "Device_Reset ");
+ if (sp->req_status_flags & RQSTF_ABORTED)
+ sprintf(buf, "%s%s", buf, "Aborted ");
+ if (sp->req_status_flags & RQSTF_TIMEOUT)
+ sprintf(buf, "%s%s", buf, "Timeout ");
+ if (sp->req_status_flags & RQSTF_NEGOTIATION)
+ sprintf(buf, "%s%s", buf, "Negotiation ");
+ sprintf(buf, "%s%s", buf, "\n");
+}
+
+static __inline const char *isp2100_fw_statename(int state)
+{
+ static char buf[16];
+ switch(state) {
+ case FW_CONFIG_WAIT: return "Config Wait";
+ case FW_WAIT_AL_PA: return "Waiting for AL_PA";
+ case FW_WAIT_LOGIN: return "Wait Login";
+ case FW_READY: return "Ready";
+ case FW_LOSS_OF_SYNC: return "Loss Of Sync";
+ case FW_ERROR: return "Error";
+ case FW_REINIT: return "Re-Init";
+ case FW_NON_PART: return "Nonparticipating";
+ default:
+ sprintf(buf, "?0x%x?", state);
+ return buf;
+ }
+}
+
+static __inline const char *isp2100_pdb_statename(int pdb_state)
+{
+ static char buf[16];
+ switch(pdb_state) {
+ case PDB_STATE_DISCOVERY: return "Port Discovery";
+ case PDB_STATE_WDISC_ACK: return "Waiting Port Discovery ACK";
+ case PDB_STATE_PLOGI: return "Port Login";
+ case PDB_STATE_PLOGI_ACK: return "Wait Port Login ACK";
+ case PDB_STATE_PRLI: return "Process Login";
+ case PDB_STATE_PRLI_ACK: return "Wait Process Login ACK";
+ case PDB_STATE_LOGGED_IN: return "Logged In";
+ case PDB_STATE_PORT_UNAVAIL: return "Port Unavailable";
+ case PDB_STATE_PRLO: return "Process Logout";
+ case PDB_STATE_PRLO_ACK: return "Wait Process Logout ACK";
+ case PDB_STATE_PLOGO: return "Port Logout";
+ case PDB_STATE_PLOG_ACK: return "Wait Port Logout ACK";
+ default:
+ sprintf(buf, "?0x%x?", pdb_state);
+ return buf;
+ }
+}
+
+/*
+ * Disable these for now
+ */
+
+#define ISP_NO_FASTPOST_SCSI 1
+#define ISP_NO_FASTPOST_FC 1
+#define ISP_DISABLE_1080_SUPPORT 1
+
#endif /* _ISP_FREEBSD_H */
diff --git a/sys/dev/isp/isp_freebsd_cam.h b/sys/dev/isp/isp_freebsd_cam.h
index abe75302d316..7a7665761aef 100644
--- a/sys/dev/isp/isp_freebsd_cam.h
+++ b/sys/dev/isp/isp_freebsd_cam.h
@@ -1,5 +1,5 @@
-/* $Id: isp_freebsd_cam.h,v 1.13 1999/01/30 07:29:00 mjacob Exp $ */
-/* release_02_05_99 */
+/* $Id: isp_freebsd_cam.h,v 1.14 1999/02/09 01:09:03 mjacob Exp $ */
+/* release_03_16_99 */
/*
* Qlogic ISP SCSI Host Adapter FreeBSD Wrapper Definitions (CAM version)
*---------------------------------------
@@ -55,6 +55,13 @@
#include <cam/scsi/scsi_all.h>
#include <cam/scsi/scsi_message.h>
+#include "opt_isp.h"
+#ifdef SCSI_ISP_FABRIC
+#define ISP2100_FABRIC 1
+#endif
+#ifdef SCSI_ISP_SCCLUN
+#define ISP2100_SCCLUN 1
+#endif
#ifndef SCSI_CHECK
#define SCSI_CHECK SCSI_STATUS_CHECK_COND
@@ -71,6 +78,8 @@ struct isposinfo {
struct cam_path *path;
volatile char simqfrozen;
};
+#define SIMQFRZ_RESOURCE 0x1
+#define SIMQFRZ_LOOPDOWN 0x2
#define isp_sim isp_osinfo.sim
#define isp_path isp_osinfo.path
@@ -78,26 +87,16 @@ struct isposinfo {
#define isp_name isp_osinfo.name
-#define MAXISPREQUEST 64
-
-#define PVS "Qlogic ISP Driver, FreeBSD CAM"
-
#include <dev/isp/ispreg.h>
#include <dev/isp/ispvar.h>
#include <dev/isp/ispmbox.h>
-#define PRINTF printf
-#define IDPRINTF(lev, x) if (isp->isp_dblev >= lev) printf x
-
-#define MEMZERO bzero
-#define MEMCPY(dst, src, amt) bcopy((src), (dst), (amt))
-
+#define PVS "Qlogic ISP Driver, FreeBSD CAM"
#ifdef CAMDEBUG
#define DFLT_DBLEVEL 2
#else
#define DFLT_DBLEVEL 1
#endif
-
#define ISP_LOCKVAL_DECL int isp_spl_save
#define ISP_ILOCKVAL_DECL ISP_LOCKVAL_DECL
#define ISP_UNLOCK(isp) (void) splx(isp_spl_save)
@@ -157,7 +156,6 @@ extern void isp_done(struct ccb_scsiio *);
/*
* Can we tag?
*/
-
#define XS_CANTAG(ccb) (((ccb)->ccb_h.flags & CAM_TAG_ACTION_VALID) \
&& (ccb)->tag_action != CAM_TAG_ACTION_NONE)
/*
@@ -172,14 +170,6 @@ extern void isp_done(struct ccb_scsiio *);
#define CMD_COMPLETE 0
#define CMD_EAGAIN 1
#define CMD_QUEUED 2
-
-#define SYS_DELAY(x) DELAY(x)
#define STOP_WATCHDOG(f, s)
-#define ISP_NO_FASTPOST_SCSI 1
-#define ISP_NO_FASTPOST_FC 1
-
-extern void isp_attach __P((struct ispsoftc *));
-extern void isp_uninit __P((struct ispsoftc *));
-
#endif /* _ISP_FREEBSD_CAM_H */
diff --git a/sys/dev/isp/ispmbox.h b/sys/dev/isp/ispmbox.h
index 0e879bc396da..846e647e1fd3 100644
--- a/sys/dev/isp/ispmbox.h
+++ b/sys/dev/isp/ispmbox.h
@@ -1,5 +1,5 @@
-/* $Id: ispmbox.h,v 1.5 1999/01/30 07:29:00 mjacob Exp $ */
-/* release_02_05_99 */
+/* $Id: ispmbox.h,v 1.6 1999/02/09 01:05:42 mjacob Exp $ */
+/* release_03_16_99 */
/*
* Mailbox and Queue Entry Definitions for for Qlogic ISP SCSI adapters.
*
@@ -127,7 +127,8 @@
#define MBOX_CLEAR_TASK_SET 0x67
#define MBOX_ABORT_TASK_SET 0x68
#define MBOX_GET_FW_STATE 0x69
-#define MBOX_GET_LINK_STATUS 0x6a
+#define MBOX_GET_PORT_NAME 0x6a
+#define MBOX_GET_LINK_STATUS 0x6b
#define MBOX_INIT_LIP_RESET 0x6c
#define MBOX_INIT_LIP_LOGIN 0x72
@@ -429,7 +430,7 @@ typedef struct {
#define RQSTF_NEGOTIATION 0x0080
/*
- * FC (ISP2100) specific initialization data structures
+ * FC (ISP2100) specific data structures
*/
/*
@@ -522,6 +523,97 @@ typedef struct {
array[ICB_NNM7] = (u_int8_t) ((wwn >> 56) & 0xff)
/*
+ * Port Data Base Element
+ */
+
+typedef struct {
+ u_int16_t pdb_options;
+#if BYTE_ORDER == BIG_ENDIAN
+ u_int8_t pdb_sstate;
+ u_int8_t pdb_mstate;
+#else
+ u_int8_t pdb_mstate;
+ u_int8_t pdb_sstate;
+#endif
+#if BYTE_ORDER == BIG_ENDIAN
+#define BITS2WORD(x) \
+ (x)[1] << 16 | (x)[2] << 8 | (x)[3]
+#else
+#define BITS2WORD(x) \
+ (x)[0] << 16 | (x)[3] << 8 | (x)[2]
+#endif
+ u_int8_t pdb_hardaddr_bits[4];
+ u_int8_t pdb_portid_bits[4];
+ u_int8_t pdb_nodename[8];
+ u_int8_t pdb_portname[8];
+ u_int16_t pdb_execthrottle;
+ u_int16_t pdb_exec_count;
+#if BYTE_ORDER == BIG_ENDIAN
+ u_int8_t pdb_retry_delay;
+ u_int8_t pdb_retry_count;
+#else
+ u_int8_t pdb_retry_count;
+ u_int8_t pdb_retry_delay;
+#endif
+ u_int16_t pdb_resalloc;
+ u_int16_t pdb_curalloc;
+ u_int16_t pdb_qhead;
+ u_int16_t pdb_qtail;
+ u_int16_t pdb_tl_next;
+ u_int16_t pdb_tl_last;
+ u_int16_t pdb_features; /* PLOGI, Common Service */
+ u_int16_t pdb_pconcurrnt; /* PLOGI, Common Service */
+ u_int16_t pdb_roi; /* PLOGI, Common Service */
+#if BYTE_ORDER == BIG_ENDIAN
+ u_int8_t pdb_initiator; /* PLOGI, Class 3 Control Flags */
+ u_int8_t pdb_target;
+#else
+ u_int8_t pdb_target;
+ u_int8_t pdb_initiator; /* PLOGI, Class 3 Control Flags */
+#endif
+ u_int16_t pdb_rdsiz; /* PLOGI, Class 3 */
+ u_int16_t pdb_ncseq; /* PLOGI, Class 3 */
+ u_int16_t pdb_noseq; /* PLOGI, Class 3 */
+ u_int16_t pdb_labrtflg;
+ u_int16_t pdb_lstopflg;
+ u_int16_t pdb_sqhead;
+ u_int16_t pdb_sqtail;
+ u_int16_t pdb_ptimer;
+ u_int16_t pdb_nxt_seqid;
+ u_int16_t pdb_fcount;
+ u_int16_t pdb_prli_len;
+ u_int16_t pdb_prli_svc0;
+ u_int16_t pdb_prli_svc3;
+ u_int16_t pdb_loopid;
+ u_int16_t pdb_il_ptr;
+ u_int16_t pdb_sl_ptr;
+} isp_pdb_t;
+
+#define INVALID_PDB_OPTIONS 0xDEAD
+
+#define PDB_OPTIONS_XMITTING (1<<11)
+#define PDB_OPTIONS_LNKXMIT (1<<10)
+#define PDB_OPTIONS_ABORTED (1<<9)
+#define PDB_OPTIONS_ADISC (1<<1)
+
+#define PDB_STATE_DISCOVERY 0
+#define PDB_STATE_WDISC_ACK 1
+#define PDB_STATE_PLOGI 2
+#define PDB_STATE_PLOGI_ACK 3
+#define PDB_STATE_PRLI 4
+#define PDB_STATE_PRLI_ACK 5
+#define PDB_STATE_LOGGED_IN 6
+#define PDB_STATE_PORT_UNAVAIL 7
+#define PDB_STATE_PRLO 8
+#define PDB_STATE_PRLO_ACK 9
+#define PDB_STATE_PLOGO 10
+#define PDB_STATE_PLOG_ACK 11
+
+#define SVC3_TGT_ROLE 0x10
+#define SVC3_INI_ROLE 0x20
+#define SVC3_ROLE_MASK 0x30
+
+/*
* Target Mode Structures
*/
#define TGTSVALID 0x80 /* scsi status & sense data valid */
diff --git a/sys/dev/isp/ispreg.h b/sys/dev/isp/ispreg.h
index 5bf50012d017..940aa50a136d 100644
--- a/sys/dev/isp/ispreg.h
+++ b/sys/dev/isp/ispreg.h
@@ -1,5 +1,5 @@
-/* $Id: ispreg.h,v 1.5 1999/01/30 07:29:00 mjacob Exp $ */
-/* release_02_05_99 */
+/* $Id: ispreg.h,v 1.6 1999/02/09 01:09:35 mjacob Exp $ */
+/* release_03_16_99 */
/*
* Machine Independent (well, as best as possible) register
* definitions for Qlogic ISP SCSI adapters.
@@ -57,28 +57,40 @@
* Sad but true, different architectures have different offsets.
*/
-#define BIU_REGS_OFF 0x00
+#define BIU_REGS_OFF 0x00
-#define PCI_MBOX_REGS_OFF 0x70
-#define PCI_MBOX_REGS2100_OFF 0x10
+#define PCI_MBOX_REGS_OFF 0x70
+#define PCI_MBOX_REGS2100_OFF 0x10
#define SBUS_MBOX_REGS_OFF 0x80
-#define PCI_SXP_REGS_OFF 0x80
+#define PCI_SXP_REGS_OFF 0x80
#define SBUS_SXP_REGS_OFF 0x200
-#define PCI_RISC_REGS_OFF 0x80
+#define PCI_RISC_REGS_OFF 0x80
#define SBUS_RISC_REGS_OFF 0x400
+/* Bless me! Chip designers have putzed it again! */
+#define ISP1080_DMA_REGS_OFF 0x60
+#define DMA_REGS_OFF 0x00 /* same as BIU block */
+
/*
* NB: The *_BLOCK definitions have no specific hardware meaning.
* They serve simply to note to the MD layer which block of
* registers offsets are being accessed.
*/
+#define _NREG_BLKS 5
+#define _BLK_REG_SHFT 13
+#define _BLK_REG_MASK (7 << _BLK_REG_SHFT)
+#define BIU_BLOCK (0 << _BLK_REG_SHFT)
+#define MBOX_BLOCK (1 << _BLK_REG_SHFT)
+#define SXP_BLOCK (2 << _BLK_REG_SHFT)
+#define RISC_BLOCK (3 << _BLK_REG_SHFT)
+#define DMA_BLOCK (4 << _BLK_REG_SHFT)
/*
* Bus Interface Block Register Offsets
*/
-#define BIU_BLOCK 0x0100
+
#define BIU_ID_LO BIU_BLOCK+0x0 /* R : Bus ID, Low */
#define BIU2100_FLASH_ADDR BIU_BLOCK+0x0
#define BIU_ID_HI BIU_BLOCK+0x2 /* R : Bus ID, High */
@@ -90,34 +102,37 @@
#define BIU_ISR BIU_BLOCK+0xA /* R : Bus Interface Status */
#define BIU_SEMA BIU_BLOCK+0xC /* RW : Bus Semaphore */
#define BIU_NVRAM BIU_BLOCK+0xE /* RW : Bus NVRAM */
-#define CDMA_CONF BIU_BLOCK+0x20 /* RW*: DMA Configuration */
-#define CDMA2100_CONTROL CDMA_CONF
-#define CDMA_CONTROL BIU_BLOCK+0x22 /* RW*: DMA Control */
-#define CDMA_STATUS BIU_BLOCK+0x24 /* R : DMA Status */
-#define CDMA_FIFO_STS BIU_BLOCK+0x26 /* R : DMA FIFO Status */
-#define CDMA_COUNT BIU_BLOCK+0x28 /* RW*: DMA Transfer Count */
-#define CDMA_ADDR0 BIU_BLOCK+0x2C /* RW*: DMA Address, Word 0 */
-#define CDMA_ADDR1 BIU_BLOCK+0x2E /* RW*: DMA Address, Word 1 */
-/* these are for the 1040A cards */
-#define CDMA_ADDR2 BIU_BLOCK+0x30 /* RW*: DMA Address, Word 2 */
-#define CDMA_ADDR3 BIU_BLOCK+0x32 /* RW*: DMA Address, Word 3 */
+#define DFIFO_COMMAND BIU_BLOCK+0x60 /* RW : Command FIFO Port */
+#define RDMA2100_CONTROL DFIFO_COMMAND
+#define DFIFO_DATA BIU_BLOCK+0x62 /* RW : Data FIFO Port */
-#define DDMA_CONF BIU_BLOCK+0x40 /* RW*: DMA Configuration */
+/*
+ * Putzed DMA register layouts.
+ */
+#define CDMA_CONF DMA_BLOCK+0x20 /* RW*: DMA Configuration */
+#define CDMA2100_CONTROL CDMA_CONF
+#define CDMA_CONTROL DMA_BLOCK+0x22 /* RW*: DMA Control */
+#define CDMA_STATUS DMA_BLOCK+0x24 /* R : DMA Status */
+#define CDMA_FIFO_STS DMA_BLOCK+0x26 /* R : DMA FIFO Status */
+#define CDMA_COUNT DMA_BLOCK+0x28 /* RW*: DMA Transfer Count */
+#define CDMA_ADDR0 DMA_BLOCK+0x2C /* RW*: DMA Address, Word 0 */
+#define CDMA_ADDR1 DMA_BLOCK+0x2E /* RW*: DMA Address, Word 1 */
+#define CDMA_ADDR2 DMA_BLOCK+0x30 /* RW*: DMA Address, Word 2 */
+#define CDMA_ADDR3 DMA_BLOCK+0x32 /* RW*: DMA Address, Word 3 */
+
+#define DDMA_CONF DMA_BLOCK+0x40 /* RW*: DMA Configuration */
#define TDMA2100_CONTROL DDMA_CONF
-#define DDMA_CONTROL BIU_BLOCK+0x42 /* RW*: DMA Control */
-#define DDMA_STATUS BIU_BLOCK+0x44 /* R : DMA Status */
-#define DDMA_FIFO_STS BIU_BLOCK+0x46 /* R : DMA FIFO Status */
-#define DDMA_COUNT_LO BIU_BLOCK+0x48 /* RW*: DMA Xfer Count, Low */
-#define DDMA_COUNT_HI BIU_BLOCK+0x4A /* RW*: DMA Xfer Count, High */
-#define DDMA_ADDR0 BIU_BLOCK+0x4C /* RW*: DMA Address, Word 0 */
-#define DDMA_ADDR1 BIU_BLOCK+0x4E /* RW*: DMA Address, Word 1 */
+#define DDMA_CONTROL DMA_BLOCK+0x42 /* RW*: DMA Control */
+#define DDMA_STATUS DMA_BLOCK+0x44 /* R : DMA Status */
+#define DDMA_FIFO_STS DMA_BLOCK+0x46 /* R : DMA FIFO Status */
+#define DDMA_COUNT_LO DMA_BLOCK+0x48 /* RW*: DMA Xfer Count, Low */
+#define DDMA_COUNT_HI DMA_BLOCK+0x4A /* RW*: DMA Xfer Count, High */
+#define DDMA_ADDR0 DMA_BLOCK+0x4C /* RW*: DMA Address, Word 0 */
+#define DDMA_ADDR1 DMA_BLOCK+0x4E /* RW*: DMA Address, Word 1 */
/* these are for the 1040A cards */
-#define DDMA_ADDR2 BIU_BLOCK+0x50 /* RW*: DMA Address, Word 2 */
-#define DDMA_ADDR3 BIU_BLOCK+0x52 /* RW*: DMA Address, Word 3 */
+#define DDMA_ADDR2 DMA_BLOCK+0x50 /* RW*: DMA Address, Word 2 */
+#define DDMA_ADDR3 DMA_BLOCK+0x52 /* RW*: DMA Address, Word 3 */
-#define DFIFO_COMMAND BIU_BLOCK+0x60 /* RW : Command FIFO Port */
-#define RDMA2100_CONTROL DFIFO_COMMAND
-#define DFIFO_DATA BIU_BLOCK+0x62 /* RW : Data FIFO Port */
/*
* Bus Interface Block Register Definitions
@@ -141,6 +156,9 @@
#define BIU_SBUS_CONF1_BURST8 0x0008 /* Enable 8-byte bursts */
#define BIU_PCI_CONF1_SXP 0x0008 /* SXP register select */
+#define BIU_PCI1080_CONF1_SXP 0x0100 /* SXP bank select */
+#define BIU_PCI1080_CONF1_DMA 0x0300 /* DMA bank select */
+
/* ISP2100 Bus Control/Status Register */
#define BIU2100_ICSR_REGBSEL 0x30 /* RW: register bank select */
@@ -175,6 +193,11 @@
ISP_WRITE(isp, BIU_ICR, BIU_ICR_ENABLE_RISC_INT | BIU_ICR_ENABLE_ALL_INTS) : \
ISP_WRITE(isp, BIU_ICR, BIU2100_ICR_ENA_RISC_INT | BIU2100_ICR_ENABLE_ALL_INTS)
+#define INTS_ENABLED(isp) ((isp->isp_type & ISP_HA_SCSI)? \
+ (ISP_READ(isp, BIU_ICR) & (BIU_ICR_ENABLE_RISC_INT|BIU_ICR_ENABLE_ALL_INTS)) :\
+ (ISP_READ(isp, BIU_ICR) & \
+ (BIU2100_ICR_ENA_RISC_INT|BIU2100_ICR_ENABLE_ALL_INTS)))
+
#define DISABLE_INTS(isp) ISP_WRITE(isp, BIU_ICR, 0)
/* BUS STATUS REGISTER */
@@ -287,7 +310,6 @@
* Mailbox Block Register Offsets
*/
-#define MBOX_BLOCK 0x0200
#define INMAILBOX0 MBOX_BLOCK+0x0
#define INMAILBOX1 MBOX_BLOCK+0x2
#define INMAILBOX2 MBOX_BLOCK+0x4
@@ -314,7 +336,6 @@
/*
* SXP Block Register Offsets
*/
-#define SXP_BLOCK 0x0400
#define SXP_PART_ID SXP_BLOCK+0x0 /* R : Part ID Code */
#define SXP_CONFIG1 SXP_BLOCK+0x2 /* RW*: Configuration Reg #1 */
#define SXP_CONFIG2 SXP_BLOCK+0x4 /* RW*: Configuration Reg #2 */
@@ -485,7 +506,6 @@
/*
* RISC and Host Command and Control Block Register Offsets
*/
-#define RISC_BLOCK 0x0800
#define RISC_ACC RISC_BLOCK+0x0 /* RW*: Accumulator */
#define RISC_R1 RISC_BLOCK+0x2 /* RW*: GP Reg R1 */
diff --git a/sys/dev/isp/ispvar.h b/sys/dev/isp/ispvar.h
index 79ecf9312900..139a0d72e8d0 100644
--- a/sys/dev/isp/ispvar.h
+++ b/sys/dev/isp/ispvar.h
@@ -1,5 +1,5 @@
-/* $Id: ispvar.h,v 1.9 1999/01/30 07:29:00 mjacob Exp $ */
-/* release_02_05_99 */
+/* $Id: ispvar.h,v 1.10 1999/02/09 01:11:35 mjacob Exp $ */
+/* release_03_16_99 */
/*
* Soft Definitions for for Qlogic ISP SCSI adapters.
*
@@ -37,7 +37,7 @@
#ifndef _ISPVAR_H
#define _ISPVAR_H
-#ifdef __NetBSD__
+#if defined(__NetBSD__) || defined(__OpenBSD__)
#include <dev/ic/ispmbox.h>
#endif
#ifdef __FreeBSD__
@@ -77,13 +77,17 @@ struct ispmdvec {
};
#define MAX_TARGETS 16
+#ifdef ISP2100_FABRIC
+#define MAX_FC_TARG 256
+#else
#define MAX_FC_TARG 126
+#endif
#define DEFAULT_LOOPID 113
/* queue length must be a power of two */
#define QENTRY_LEN 64
#define RQUEST_QUEUE_LEN MAXISPREQUEST
-#define RESULT_QUEUE_LEN (MAXISPREQUEST/4)
+#define RESULT_QUEUE_LEN (MAXISPREQUEST/2)
#define ISP_QUEUE_ENTRY(q, idx) ((q) + ((idx) * QENTRY_LEN))
#define ISP_QUEUE_SIZE(n) ((n) * QENTRY_LEN)
#define ISP_NXT_QENTRY(idx, qlen) (((idx) + 1) & ((qlen)-1))
@@ -164,6 +168,11 @@ typedef struct {
u_int16_t isp_maxfrmlen;
u_int16_t isp_fwoptions;
/*
+ * Port Data Base
+ */
+ isp_pdb_t isp_pdb[MAX_FC_TARG];
+
+ /*
* Scratch DMA mapped in area to fetch Port Database stuff, etc.
*/
volatile caddr_t isp_scratch;
@@ -237,7 +246,8 @@ struct ispsoftc {
u_int : 8,
isp_confopts : 8,
- : 2,
+ : 1,
+ isp_used : 1,
isp_dblev : 3,
isp_gotdparms : 1,
isp_dogactive : 1,
@@ -256,7 +266,7 @@ struct ispsoftc {
: 19,
isp_state : 3,
isp_sendmarker : 1, /* send a marker entry */
- isp_update : 1, /* update paramters */
+ isp_update : 1, /* update parameters */
isp_nactive : 9; /* how many commands active */
/*
@@ -341,9 +351,14 @@ struct ispsoftc {
#define ISP_HA_SCSI_1040 0x4
#define ISP_HA_SCSI_1040A 0x5
#define ISP_HA_SCSI_1040B 0x6
+#define ISP_HA_SCSI_1080 0xe
#define ISP_HA_FC 0xf0
#define ISP_HA_FC_2100 0x10
+#define IS_SCSI(isp) (isp->isp_type & ISP_HA_SCSI)
+#define IS_1080(isp) (isp->isp_type == ISP_HA_SCSI_1080)
+#define IS_FC(isp) (isp->isp_type & ISP_HA_FC)
+
/*
* Macros to read, write ISP registers through bus specific code.
*/
@@ -424,6 +439,7 @@ typedef enum {
ISPCTL_RESET_DEV,
ISPCTL_ABORT_CMD,
ISPCTL_UPDATE_PARAMS,
+ ISPCTL_FCLINK_TEST
} ispctl_t;
int isp_control __P((struct ispsoftc *, ispctl_t, void *));
@@ -439,8 +455,11 @@ int isp_control __P((struct ispsoftc *, ispctl_t, void *));
typedef enum {
ISPASYNC_NEW_TGT_PARAMS,
+ ISPASYNC_BUS_RESET, /* Bus Reset */
ISPASYNC_LOOP_DOWN, /* Obvious FC only */
- ISPASYNC_LOOP_UP /* Obvious FC only */
+ ISPASYNC_LOOP_UP, /* "" */
+ ISPASYNC_PDB_CHANGE_COMPLETE, /* "" */
+ ISPASYNC_CHANGE_NOTIFY /* "" */
} ispasync_t;
int isp_async __P((struct ispsoftc *, ispasync_t, void *));