phonepad:touch screen: add ct360 driver
authorhhb <hhb@rock-chips.com>
Thu, 20 Sep 2012 02:39:15 +0000 (10:39 +0800)
committerhhb <hhb@rock-chips.com>
Thu, 20 Sep 2012 02:39:15 +0000 (10:39 +0800)
drivers/input/touchscreen/Kconfig [changed mode: 0755->0644]
drivers/input/touchscreen/Makefile
drivers/input/touchscreen/ct360_calib.h [new file with mode: 0644]
drivers/input/touchscreen/ct360_ch.h [new file with mode: 0644]
drivers/input/touchscreen/ct360_ts.c [new file with mode: 0644]

old mode 100755 (executable)
new mode 100644 (file)
index 12ae08e..d2ab259
@@ -999,6 +999,10 @@ config TOUCHSCREEN_GT819
        tristate "GT819 based touchscreens"
        depends on I2C2_RK29
 
+config TOUCHSCREEN_CT360_IIC
+       tristate "CT360 based touchscreens"
+       depends on I2C_RK29 || I2C_RK30
+
 config TOUCHSCREEN_FT5306
        tristate "FT5306 based touchscreens: FT5306 Interface"
        depends on I2C2_RK29 || I2C2_RK30
index 16e5cdef5135773d9099db01673b7232db962517..4959df0a7342df898ffd726258ceb90c9ae00b94 100644 (file)
@@ -77,6 +77,7 @@ obj-$(CONFIG_ATMEL_MXT1386)           += atmel_mxt1386.o
 obj-$(CONFIG_TOUCHSCREEN_GT801_IIC)    += gt801_ts.o
 obj-$(CONFIG_TOUCHSCREEN_GT82X_IIC)    += goodix_touch_82x.o
 obj-$(CONFIG_TOUCHSCREEN_GT818_IIC)    += gt818_ts.o
+obj-$(CONFIG_TOUCHSCREEN_CT360_IIC)    += ct360_ts.o
 obj-$(CONFIG_TOUCHSCREEN_ILI2102_IIC)  += ili2102_ts.o
 obj-$(CONFIG_D70_L3188A)               += goodix_touch.o
 obj-$(CONFIG_TOUCHSCREEN_GT8XX)                += rk29_i2c_goodix.o
diff --git a/drivers/input/touchscreen/ct360_calib.h b/drivers/input/touchscreen/ct360_calib.h
new file mode 100644 (file)
index 0000000..7e3890a
--- /dev/null
@@ -0,0 +1,12 @@
+
+struct ct360_ts_data {
+       u16             x_max;  
+       u16             y_max;
+       bool    swap_xy;           //define?
+       int     irq;
+       struct  i2c_client *client;
+    struct     input_dev *input_dev;
+       struct workqueue_struct *ct360_wq;
+    struct     work_struct  work;
+    struct     early_suspend early_suspend;
+};
diff --git a/drivers/input/touchscreen/ct360_ch.h b/drivers/input/touchscreen/ct360_ch.h
new file mode 100644 (file)
index 0000000..cbed5b4
--- /dev/null
@@ -0,0 +1,1027 @@
+char  Binary_Data [16384]  =\r
+{\r
+0x00,0x02,0x1B,0xC0,0xD2,0x08,0x32,0x32,0x32,0x32,0x00,0x02,0x00,0x04,0x00,0x00,\r
+0x00,0x00,0x00,0x02,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x08,0x00,0x00,\r
+0x00,0x00,0x00,0x02,0x19,0xCF,0x00,0x00,0x00,0x00,0x00,0x02,0x1C,0x57,0x00,0x00,\r
+0x00,0x00,0x00,0x02,0x00,0x09,0x00,0x00,0x00,0x00,0x00,0x20,0xFA,0x10,0x90,0xF0,\r
+0x36,0xE0,0x20,0xE0,0x09,0xE0,0x30,0xE2,0x05,0x75,0x9E,0x55,0x80,0xED,0x90,0xF0,\r
+0x36,0x74,0x46,0xF0,0x30,0xF9,0x10,0x90,0xF0,0x34,0x74,0x05,0xF0,0x90,0xF0,0x36,\r
+0xE0,0x44,0x01,0xF0,0xC2,0x10,0x22,0x30,0xF8,0x03,0xD2,0x0E,0x22,0x90,0xF0,0x51,\r
+0xE0,0xD3,0x94,0x00,0x40,0x07,0x90,0xF0,0x36,0xE0,0x44,0x10,0xF0,0x90,0xF0,0x50,\r
+0xE0,0xD3,0x94,0x00,0x40,0x07,0x90,0xF0,0x36,0xE0,0x44,0x08,0xF0,0x22,0xEF,0x1F,\r
+0x70,0x01,0x1E,0x75,0x9E,0x55,0xD3,0xEF,0x94,0x00,0xEE,0x94,0x00,0x50,0xEF,0x22,\r
+0x90,0x0C,0xE6,0x74,0x56,0xF0,0xA3,0x74,0x54,0xF0,0xA3,0x74,0x4C,0xF0,0x22,0xE4,\r
+0xF5,0x0B,0x75,0x0D,0x75,0x75,0x0E,0x30,0xF5,0x13,0x90,0x09,0x00,0xE0,0xF5,0x14,\r
+0xF5,0x0C,0xC2,0x0C,0xC2,0x0D,0x75,0x9E,0x55,0xE4,0xF5,0x09,0x74,0x45,0x25,0x09,\r
+0xF8,0xE6,0xFF,0x70,0x03,0x02,0x02,0x29,0x64,0x03,0x70,0x03,0x02,0x02,0x29,0x05,\r
+0x0B,0x76,0x04,0xE4,0xF5,0x0A,0xE5,0x0A,0xC3,0x95,0x14,0x40,0x03,0x02,0x02,0x30,\r
+0xE5,0x09,0x25,0xE0,0x24,0x28,0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,0xE0,0xFE,0xA3,\r
+0xE0,0xFF,0xE5,0x0A,0x25,0xE0,0x24,0x00,0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,0xE0,\r
+0xFC,0xA3,0xE0,0xC3,0x9F,0xEE,0x64,0x80,0xF8,0xEC,0x64,0x80,0x98,0x40,0x2D,0xE5,\r
+0x09,0x25,0xE0,0x24,0x28,0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,0xE0,0xFE,0xA3,0xE0,\r
+0xFF,0xE5,0x0A,0x25,0xE0,0x24,0x00,0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,0xE0,0xFC,\r
+0xA3,0xE0,0xC3,0x9F,0xF5,0x16,0xEC,0x9E,0xF5,0x15,0x80,0x2B,0xE5,0x0A,0x25,0xE0,\r
+0x24,0x00,0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,0xE0,0xFE,0xA3,0xE0,0xFF,0xE5,0x09,\r
+0x25,0xE0,0x24,0x28,0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,0xE0,0xFC,0xA3,0xE0,0xC3,\r
+0x9F,0xF5,0x16,0xEC,0x9E,0xF5,0x15,0xE5,0x09,0x25,0xE0,0x24,0x3C,0xF5,0x82,0xE4,\r
+0x34,0x0E,0xF5,0x83,0xE0,0xFE,0xA3,0xE0,0xFF,0xE5,0x0A,0x25,0xE0,0x24,0x14,0xF5,\r
+0x82,0xE4,0x34,0x0E,0xF5,0x83,0xE0,0xFC,0xA3,0xE0,0xC3,0x9F,0xEE,0x64,0x80,0xF8,\r
+0xEC,0x64,0x80,0x98,0x40,0x2D,0xE5,0x09,0x25,0xE0,0x24,0x3C,0xF5,0x82,0xE4,0x34,\r
+0x0E,0xF5,0x83,0xE0,0xFE,0xA3,0xE0,0xFF,0xE5,0x0A,0x25,0xE0,0x24,0x14,0xF5,0x82,\r
+0xE4,0x34,0x0E,0xF5,0x83,0xE0,0xFC,0xA3,0xE0,0xC3,0x9F,0xF5,0x18,0xEC,0x9E,0xF5,\r
+0x17,0x80,0x2B,0xE5,0x0A,0x25,0xE0,0x24,0x14,0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,\r
+0xE0,0xFE,0xA3,0xE0,0xFF,0xE5,0x09,0x25,0xE0,0x24,0x3C,0xF5,0x82,0xE4,0x34,0x0E,\r
+0xF5,0x83,0xE0,0xFC,0xA3,0xE0,0xC3,0x9F,0xF5,0x18,0xEC,0x9E,0xF5,0x17,0xE5,0x16,\r
+0x25,0x18,0xFF,0xE5,0x15,0x35,0x17,0xFE,0xE5,0x09,0x75,0xF0,0x14,0xA4,0x24,0x00,\r
+0xF5,0x82,0xE4,0x34,0x0D,0xF5,0x83,0x75,0xF0,0x02,0xE5,0x0A,0x12,0x17,0x9D,0xEE,\r
+0xF0,0xA3,0xEF,0xF0,0x05,0x0A,0x02,0x00,0xE6,0x74,0x45,0x25,0x09,0xF8,0xE4,0xF6,\r
+0x05,0x09,0xE5,0x09,0x64,0x05,0x60,0x03,0x02,0x00,0xCC,0xE4,0xF5,0x0A,0xE5,0x0A,\r
+0xC3,0x95,0x14,0x50,0x0B,0x74,0x36,0x25,0x0A,0xF8,0x76,0x01,0x05,0x0A,0x80,0xEE,\r
+0x75,0x9E,0x55,0xE5,0x0B,0xD3,0x94,0x00,0x50,0x03,0x02,0x04,0xDC,0xE5,0x0C,0xD3,\r
+0x94,0x00,0x50,0x03,0x02,0x04,0xDC,0xE4,0xF5,0x0A,0xE5,0x0A,0xC3,0x95,0x14,0x50,\r
+0x6E,0x74,0x36,0x25,0x0A,0xF8,0xE6,0x64,0x01,0x70,0x60,0xF5,0x09,0x74,0x45,0x25,\r
+0x09,0xF8,0xE6,0x64,0x04,0x70,0x4D,0xE5,0x09,0x75,0xF0,0x14,0xA4,0x24,0x00,0xF5,\r
+0x82,0xE4,0x34,0x0D,0xF5,0x83,0x75,0xF0,0x02,0xE5,0x0A,0x12,0x17,0x9D,0xE0,0xFE,\r
+0xA3,0xE0,0xC3,0x95,0x0E,0xE5,0x0D,0x64,0x80,0xF8,0xEE,0x64,0x80,0x98,0x50,0x24,\r
+0xE5,0x09,0x75,0xF0,0x14,0xA4,0x24,0x00,0xF5,0x82,0xE4,0x34,0x0D,0xF5,0x83,0x75,\r
+0xF0,0x02,0xE5,0x0A,0x12,0x17,0x9D,0xE0,0xF5,0x0D,0xA3,0xE0,0xF5,0x0E,0x85,0x0A,\r
+0x0F,0x85,0x09,0x10,0x05,0x09,0xE5,0x09,0xB4,0x05,0xA2,0x05,0x0A,0x80,0x8B,0xC3,\r
+0xE5,0x0E,0x94,0xF4,0xE5,0x0D,0x64,0x80,0x94,0x81,0x40,0x03,0x02,0x04,0xDC,0xE5,\r
+0x0F,0x25,0xE0,0x24,0x00,0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,0xE0,0xFE,0xA3,0xE0,\r
+0xFF,0xE5,0x10,0x25,0xE0,0x24,0x50,0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,0xE0,0xFC,\r
+0xA3,0xE0,0xC3,0x9F,0xFF,0xEC,0x9E,0xFE,0x12,0x1C,0x6D,0x8E,0x1D,0x8F,0x1E,0xE5,\r
+0x0F,0x25,0xE0,0x24,0x14,0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,0xE0,0xFE,0xA3,0xE0,\r
+0xFF,0xE5,0x10,0x25,0xE0,0x24,0x64,0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,0xE0,0xFC,\r
+0xA3,0xE0,0xC3,0x9F,0xFF,0xEC,0x9E,0xFE,0x12,0x1C,0x6D,0xAD,0x07,0xAC,0x06,0x12,\r
+0x17,0x3F,0xAA,0x06,0xAB,0x07,0xAC,0x1D,0xAD,0x1E,0xAE,0x1D,0xAF,0x1E,0x12,0x17,\r
+0x3F,0xEF,0x2B,0xFF,0xEE,0x3A,0xFE,0xD3,0xEF,0x94,0x64,0xEE,0x64,0x80,0x94,0x80,\r
+0x50,0x14,0xEF,0x94,0x08,0xEE,0x64,0x80,0x94,0x80,0x40,0x10,0xEF,0x94,0x1A,0xEE,\r
+0x64,0x80,0x94,0x80,0x50,0x06,0xD2,0x0C,0xD2,0x0D,0x80,0x04,0xC2,0x0C,0xC2,0x0D,\r
+0xA2,0x0D,0x82,0x0C,0x40,0x03,0x02,0x04,0xB5,0xE5,0x10,0x25,0xE0,0x24,0x28,0xF5,\r
+0x82,0xE4,0x34,0x0E,0xF5,0x83,0xE0,0xFE,0xA3,0xE0,0x78,0x02,0xCE,0xA2,0xE7,0x13,\r
+0xCE,0x13,0xD8,0xF8,0xFD,0xAC,0x06,0xE5,0x0F,0x25,0xE0,0x24,0x00,0xF5,0x82,0xE4,\r
+0x34,0x0E,0xF5,0x83,0xE0,0xFE,0xA3,0xE0,0x78,0x02,0xCE,0xA2,0xE7,0x13,0xCE,0x13,\r
+0xD8,0xF8,0x2D,0xFD,0xEE,0x3C,0xFC,0xE5,0x10,0x25,0xE0,0x24,0x28,0xF5,0x82,0xE4,\r
+0x34,0x0E,0xF5,0x83,0xE0,0xA2,0xE7,0x13,0xFE,0xA3,0xE0,0x13,0x2D,0xFF,0xEC,0x3E,\r
+0xFE,0xE5,0x10,0x25,0xE0,0x24,0x28,0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,0xEE,0xF0,\r
+0xA3,0xEF,0xF0,0xE5,0x10,0x25,0xE0,0x24,0x3C,0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,\r
+0xE0,0xFE,0xA3,0xE0,0x78,0x02,0xCE,0xA2,0xE7,0x13,0xCE,0x13,0xD8,0xF8,0xFD,0xAC,\r
+0x06,0xE5,0x0F,0x25,0xE0,0x24,0x14,0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,0xE0,0xFE,\r
+0xA3,0xE0,0x78,0x02,0xCE,0xA2,0xE7,0x13,0xCE,0x13,0xD8,0xF8,0x2D,0xFD,0xEE,0x3C,\r
+0xFC,0xE5,0x10,0x25,0xE0,0x24,0x3C,0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,0xE0,0xA2,\r
+0xE7,0x13,0xFE,0xA3,0xE0,0x13,0x2D,0xFF,0xEC,0x3E,0xFE,0xE5,0x10,0x25,0xE0,0x24,\r
+0x3C,0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,0xEE,0xF0,0xA3,0xEF,0xF0,0xE5,0x0F,0x25,\r
+0xE0,0x24,0x00,0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,0xE0,0xFE,0xA3,0xE0,0xFF,0xE5,\r
+0x10,0x25,0xE0,0x24,0x50,0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,0xEE,0xF0,0xA3,0xEF,\r
+0xF0,0xE5,0x0F,0x25,0xE0,0x24,0x14,0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,0xE0,0xFE,\r
+0xA3,0xE0,0xFF,0xE5,0x10,0x25,0xE0,0x24,0x64,0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,\r
+0xEE,0xF0,0xA3,0xEF,0xF0,0x74,0x2C,0x25,0x10,0xF8,0x76,0x03,0x74,0x45,0x25,0x10,\r
+0xF8,0x76,0x02,0x74,0x36,0x25,0x0F,0xF8,0xE4,0xF6,0x75,0x0D,0x75,0x75,0x0E,0x30,\r
+0x15,0x0B,0x15,0x0C,0x05,0x13,0x75,0x9E,0x55,0x02,0x02,0x53,0xE5,0x13,0xC3,0x94,\r
+0x0A,0x40,0x03,0x02,0x08,0x1D,0xE5,0x0B,0x94,0x00,0x50,0x03,0x02,0x08,0x1D,0xE4,\r
+0xF5,0x09,0x74,0x45,0x25,0x09,0xF8,0xE6,0x64,0x04,0x60,0x03,0x02,0x08,0x12,0xE5,\r
+0x13,0xC3,0x94,0x0A,0x40,0x03,0x02,0x08,0x12,0x30,0x0F,0x5C,0xE5,0x09,0x25,0xE0,\r
+0x24,0x50,0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,0xE0,0xFE,0xA3,0xE0,0xFF,0xE5,0x09,\r
+0x25,0xE0,0x24,0x28,0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,0xEE,0xF0,0xA3,0xEF,0xF0,\r
+0xE5,0x09,0x25,0xE0,0x24,0x64,0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,0xE0,0xFE,0xA3,\r
+0xE0,0xFF,0xE5,0x09,0x25,0xE0,0x24,0x3C,0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,0xEE,\r
+0xF0,0xA3,0xEF,0xF0,0x76,0x03,0xD2,0x0C,0xD2,0x0D,0x15,0x0B,0x05,0x13,0x74,0x2C,\r
+0x25,0x09,0xF8,0xE4,0xF6,0x02,0x08,0x12,0x74,0x2C,0x25,0x09,0xF8,0xE6,0xFD,0x60,\r
+0x03,0x02,0x06,0x60,0xD2,0x0C,0xD2,0x0D,0xE5,0x09,0x25,0xE0,0x24,0x28,0xF5,0x82,\r
+0xE4,0x34,0x0E,0xF5,0x83,0xE0,0xFE,0xA3,0xE0,0x78,0x02,0xCE,0xA2,0xE7,0x13,0xCE,\r
+0x13,0xD8,0xF8,0xFB,0xAA,0x06,0xE5,0x09,0x25,0xE0,0x24,0x50,0xF5,0x82,0xE4,0x34,\r
+0x0E,0xF5,0x83,0xE0,0xFE,0xA3,0xE0,0x78,0x02,0xCE,0xA2,0xE7,0x13,0xCE,0x13,0xD8,\r
+0xF8,0x2B,0xFB,0xEE,0x3A,0xFA,0xE5,0x09,0x25,0xE0,0x24,0x28,0xF5,0x82,0xE4,0x34,\r
+0x0E,0xF5,0x83,0xE0,0xA2,0xE7,0x13,0xFE,0xA3,0xE0,0x13,0x2B,0xFF,0xEA,0x3E,0xFE,\r
+0xE5,0x09,0x25,0xE0,0x24,0x28,0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,0xEE,0xF0,0xA3,\r
+0xEF,0xF0,0xE5,0x09,0x25,0xE0,0x24,0x3C,0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,0xE0,\r
+0xFE,0xA3,0xE0,0x78,0x02,0xCE,0xA2,0xE7,0x13,0xCE,0x13,0xD8,0xF8,0xFB,0xAA,0x06,\r
+0xE5,0x09,0x25,0xE0,0x24,0x64,0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,0xE0,0xFE,0xA3,\r
+0xE0,0x78,0x02,0xCE,0xA2,0xE7,0x13,0xCE,0x13,0xD8,0xF8,0x2B,0xFB,0xEE,0x3A,0xFA,\r
+0xE5,0x09,0x25,0xE0,0x24,0x3C,0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,0xE0,0xA2,0xE7,\r
+0x13,0xFE,0xA3,0xE0,0x13,0x2B,0xFF,0xEA,0x3E,0xFE,0xE5,0x09,0x25,0xE0,0x24,0x3C,\r
+0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,0xEE,0xF0,0xA3,0xEF,0xF0,0x74,0x45,0x25,0x09,\r
+0xF8,0x76,0x02,0x15,0x0B,0x05,0x13,0x74,0x2C,0x25,0x09,0xF8,0x06,0x02,0x08,0x12,\r
+0xED,0x64,0x01,0x60,0x03,0x02,0x07,0x04,0xD2,0x0C,0xD2,0x0D,0xE5,0x09,0x25,0xE0,\r
+0x24,0x50,0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,0xE0,0xA2,0xE7,0x13,0xFC,0xA3,0xE0,\r
+0x13,0xFD,0xE5,0x09,0x25,0xE0,0x24,0x28,0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,0xE0,\r
+0xA2,0xE7,0x13,0xFE,0xA3,0xE0,0x13,0x2D,0xFF,0xEE,0x3C,0xFE,0xE5,0x09,0x25,0xE0,\r
+0x24,0x28,0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,0xEE,0xF0,0xA3,0xEF,0xF0,0xE5,0x09,\r
+0x25,0xE0,0x24,0x64,0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,0xE0,0xA2,0xE7,0x13,0xFC,\r
+0xA3,0xE0,0x13,0xFD,0xE5,0x09,0x25,0xE0,0x24,0x3C,0xF5,0x82,0xE4,0x34,0x0E,0xF5,\r
+0x83,0xE0,0xA2,0xE7,0x13,0xFE,0xA3,0xE0,0x13,0x2D,0xFF,0xEE,0x3C,0xFE,0xE5,0x09,\r
+0x25,0xE0,0x24,0x3C,0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,0xEE,0xF0,0xA3,0xEF,0xF0,\r
+0x74,0x45,0x25,0x09,0xF8,0x76,0x02,0x15,0x0B,0x05,0x13,0x74,0x2C,0x25,0x09,0xF8,\r
+0x06,0x02,0x08,0x12,0x74,0x2C,0x25,0x09,0xF8,0xE6,0x64,0x02,0x60,0x03,0x02,0x07,\r
+0xFC,0xD2,0x0C,0xD2,0x0D,0xE5,0x09,0x25,0xE0,0x24,0x28,0xF5,0x82,0xE4,0x34,0x0E,\r
+0xF5,0x83,0xE0,0xFE,0xA3,0xE0,0x78,0x02,0xCE,0xA2,0xE7,0x13,0xCE,0x13,0xD8,0xF8,\r
+0xFD,0xAC,0x06,0xE5,0x09,0x25,0xE0,0x24,0x50,0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,\r
+0xE0,0xFE,0xA3,0xE0,0x78,0x02,0xCE,0xA2,0xE7,0x13,0xCE,0x13,0xD8,0xF8,0x2D,0xFD,\r
+0xEE,0x3C,0xFC,0xE5,0x09,0x25,0xE0,0x24,0x50,0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,\r
+0xE0,0xA2,0xE7,0x13,0xFE,0xA3,0xE0,0x13,0x2D,0xFF,0xEC,0x3E,0xFE,0xE5,0x09,0x25,\r
+0xE0,0x24,0x28,0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,0xEE,0xF0,0xA3,0xEF,0xF0,0xE5,\r
+0x09,0x25,0xE0,0x24,0x3C,0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,0xE0,0xFE,0xA3,0xE0,\r
+0x78,0x02,0xCE,0xA2,0xE7,0x13,0xCE,0x13,0xD8,0xF8,0xFD,0xAC,0x06,0xE5,0x09,0x25,\r
+0xE0,0x24,0x64,0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,0xE0,0xFE,0xA3,0xE0,0x78,0x02,\r
+0xCE,0xA2,0xE7,0x13,0xCE,0x13,0xD8,0xF8,0x2D,0xFD,0xEE,0x3C,0xFC,0xE5,0x09,0x25,\r
+0xE0,0x24,0x64,0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,0xE0,0xA2,0xE7,0x13,0xFE,0xA3,\r
+0xE0,0x13,0x2D,0xFF,0xEC,0x3E,0xFE,0xE5,0x09,0x25,0xE0,0x24,0x3C,0xF5,0x82,0xE4,\r
+0x34,0x0E,0xF5,0x83,0xEE,0xF0,0xA3,0xEF,0xF0,0x74,0x45,0x25,0x09,0xF8,0x76,0x02,\r
+0x15,0x0B,0x05,0x13,0x74,0x2C,0x25,0x09,0xF8,0x06,0x80,0x16,0x74,0x45,0x25,0x09,\r
+0xF8,0x76,0x03,0xD2,0x0C,0xD2,0x0D,0x15,0x0B,0x05,0x13,0x74,0x2C,0x25,0x09,0xF8,\r
+0xE4,0xF6,0x05,0x09,0xE5,0x09,0x64,0x05,0x60,0x03,0x02,0x04,0xF2,0xE5,0x13,0xC3,\r
+0x94,0x0A,0x40,0x03,0x02,0x09,0x19,0xE5,0x0C,0x94,0x00,0x50,0x03,0x02,0x09,0x19,\r
+0xE4,0xF5,0x0A,0xE5,0x0A,0xC3,0x95,0x14,0x40,0x03,0x02,0x09,0x19,0x74,0x36,0x25,\r
+0x0A,0xF8,0xE6,0x64,0x01,0x60,0x03,0x02,0x09,0x14,0xF5,0x09,0xD2,0x0C,0xD2,0x0D,\r
+0x74,0x45,0x25,0x09,0xF8,0xE6,0x60,0x03,0x02,0x09,0x09,0xE5,0x13,0xC3,0x94,0x0A,\r
+0x40,0x03,0x02,0x09,0x09,0xE5,0x0A,0x25,0xE0,0x24,0x00,0xF5,0x82,0xE4,0x34,0x0E,\r
+0xF5,0x83,0xE0,0xFE,0xA3,0xE0,0xFF,0xE5,0x09,0x25,0xE0,0x24,0x28,0xF5,0x82,0xE4,\r
+0x34,0x0E,0xF5,0x83,0xEE,0xF0,0xA3,0xEF,0xF0,0xE5,0x0A,0x25,0xE0,0x24,0x14,0xF5,\r
+0x82,0xE4,0x34,0x0E,0xF5,0x83,0xE0,0xFE,0xA3,0xE0,0xFF,0xE5,0x09,0x25,0xE0,0x24,\r
+0x3C,0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,0xEE,0xF0,0xA3,0xEF,0xF0,0xE5,0x0A,0x25,\r
+0xE0,0x24,0x00,0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,0xE0,0xFE,0xA3,0xE0,0xFF,0xE5,\r
+0x09,0x25,0xE0,0x24,0x50,0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,0xEE,0xF0,0xA3,0xEF,\r
+0xF0,0xE5,0x0A,0x25,0xE0,0x24,0x14,0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,0xE0,0xFE,\r
+0xA3,0xE0,0xFF,0xE5,0x09,0x25,0xE0,0x24,0x64,0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,\r
+0xEE,0xF0,0xA3,0xEF,0xF0,0x76,0x01,0x74,0x36,0x25,0x0A,0xF8,0xE4,0xF6,0x05,0x13,\r
+0x74,0x2C,0x25,0x09,0xF8,0xE4,0xF6,0x80,0x0B,0x05,0x09,0xE5,0x09,0x64,0x05,0x60,\r
+0x03,0x02,0x08,0x4C,0x05,0x0A,0x02,0x08,0x33,0x75,0x9E,0x55,0x22,0x75,0x09,0x00,\r
+0x75,0x0A,0x50,0x75,0x0D,0x00,0x75,0x0E,0x06,0xE4,0xFB,0x74,0x45,0x2B,0xF8,0xE6,\r
+0x70,0x03,0x02,0x0D,0x05,0xEB,0x25,0xE0,0x24,0x28,0xF5,0x82,0xE4,0x34,0x0E,0xF5,\r
+0x83,0xE0,0xFE,0xA3,0xE0,0xC3,0x95,0x0A,0xE5,0x09,0x64,0x80,0xF8,0xEE,0x64,0x80,\r
+0x98,0x40,0x03,0x02,0x09,0xE2,0xEB,0x25,0xE0,0x24,0x28,0xF5,0x82,0xE4,0x34,0x0E,\r
+0xF5,0x83,0xE0,0xFE,0xA3,0xE0,0x24,0xF6,0xFF,0xEE,0x34,0xFF,0xFE,0xEB,0x25,0xE0,\r
+0x24,0x78,0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,0xEE,0xF0,0xA3,0xEF,0xF0,0xEB,0x25,\r
+0xE0,0x24,0x78,0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,0xE0,0xFE,0xA3,0xE0,0xFF,0xAC,\r
+0x09,0xAD,0x0A,0x12,0x17,0x3F,0xE5,0x0A,0x24,0xF6,0xFD,0xE5,0x09,0x34,0xFF,0xFC,\r
+0x12,0x17,0x51,0xEB,0x25,0xE0,0x24,0x78,0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,0xEE,\r
+0xF0,0xA3,0xEF,0xF0,0xEB,0x25,0xE0,0x24,0x78,0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,\r
+0xE0,0xFE,0xA3,0xE0,0xC3,0xEE,0x64,0x80,0x94,0x80,0x40,0x03,0x02,0x0B,0x1D,0xEB,\r
+0x25,0xE0,0x24,0x78,0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,0xE4,0xF0,0xA3,0xF0,0x02,\r
+0x0B,0x1D,0x90,0xF0,0x37,0xE0,0x75,0xF0,0x20,0xA4,0xFF,0x24,0xF6,0xFF,0xE5,0xF0,\r
+0x34,0xFF,0xCF,0xC3,0x95,0x0A,0xCF,0x95,0x09,0xFE,0xEB,0x25,0xE0,0x24,0x28,0xF5,\r
+0x82,0xE4,0x34,0x0E,0xF5,0x83,0xE0,0xFC,0xA3,0xE0,0xD3,0x9F,0xEE,0x64,0x80,0xF8,\r
+0xEC,0x64,0x80,0x98,0x50,0x03,0x02,0x0A,0xFB,0x90,0xF0,0x37,0xE0,0x75,0xF0,0x20,\r
+0xA4,0xFF,0x24,0xF6,0xFF,0xE5,0xF0,0x34,0xFF,0xCF,0xC3,0x95,0x0A,0xCF,0x95,0x09,\r
+0xFE,0xEB,0x25,0xE0,0x24,0x28,0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,0xE0,0xFC,0xA3,\r
+0xE0,0xC3,0x9F,0xFF,0xEC,0x9E,0xFE,0xEB,0x25,0xE0,0x24,0x78,0xF5,0x82,0xE4,0x34,\r
+0x0E,0xF5,0x83,0xEE,0xF0,0xA3,0xEF,0xF0,0xEB,0x25,0xE0,0x24,0x78,0xF5,0x82,0xE4,\r
+0x34,0x0E,0xF5,0x83,0xE0,0xFE,0xA3,0xE0,0xFF,0xAC,0x09,0xAD,0x0A,0x12,0x17,0x3F,\r
+0xE5,0x0A,0x24,0xF6,0xFD,0xE5,0x09,0x34,0xFF,0xFC,0x12,0x17,0x51,0xEB,0x25,0xE0,\r
+0x24,0x78,0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,0xEE,0xF0,0xA3,0xEF,0xF0,0x90,0xF0,\r
+0x37,0xE0,0x75,0xF0,0x20,0xA4,0xFF,0x24,0xF6,0xFF,0xE5,0xF0,0x34,0xFF,0xCF,0xC3,\r
+0x95,0x0A,0xCF,0x95,0x09,0xFE,0xEB,0x25,0xE0,0x24,0x78,0xF5,0x82,0xE4,0x34,0x0E,\r
+0xF5,0x83,0xEE,0x8F,0xF0,0x12,0x17,0x87,0x90,0xF0,0x37,0xE0,0x75,0xF0,0x20,0xA4,\r
+0xFF,0xEB,0x25,0xE0,0x24,0x78,0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,0xE0,0xFC,0xA3,\r
+0xE0,0xD3,0x9F,0xE5,0xF0,0x64,0x80,0xF8,0xEC,0x64,0x80,0x98,0x40,0x3F,0x90,0xF0,\r
+0x37,0xE0,0x75,0xF0,0x20,0xA4,0xFF,0xEB,0x25,0xE0,0x24,0x78,0xF5,0x82,0xE4,0x34,\r
+0x0E,0xF5,0x83,0xE5,0xF0,0xF0,0xA3,0xEF,0xF0,0x80,0x22,0xEB,0x25,0xE0,0x24,0x28,\r
+0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,0xE0,0xFE,0xA3,0xE0,0xFF,0xEB,0x25,0xE0,0x24,\r
+0x78,0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,0xEE,0xF0,0xA3,0xEF,0xF0,0xEB,0x25,0xE0,\r
+0x24,0x3C,0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,0xE0,0xFE,0xA3,0xE0,0xC3,0x95,0x0A,\r
+0xE5,0x09,0x64,0x80,0xF8,0xEE,0x64,0x80,0x98,0x40,0x03,0x02,0x0B,0xCA,0xEB,0x25,\r
+0xE0,0x24,0x3C,0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,0xE0,0xFE,0xA3,0xE0,0x24,0xF6,\r
+0xFF,0xEE,0x34,0xFF,0xFE,0xEB,0x25,0xE0,0x24,0x8C,0xF5,0x82,0xE4,0x34,0x0E,0xF5,\r
+0x83,0xEE,0xF0,0xA3,0xEF,0xF0,0xEB,0x25,0xE0,0x24,0x8C,0xF5,0x82,0xE4,0x34,0x0E,\r
+0xF5,0x83,0xE0,0xFE,0xA3,0xE0,0xFF,0xAC,0x09,0xAD,0x0A,0x12,0x17,0x3F,0xE5,0x0A,\r
+0x24,0xF6,0xFD,0xE5,0x09,0x34,0xFF,0xFC,0x12,0x17,0x51,0xEB,0x25,0xE0,0x24,0x8C,\r
+0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,0xEE,0xF0,0xA3,0xEF,0xF0,0xEB,0x25,0xE0,0x24,\r
+0x8C,0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,0xE0,0xFE,0xA3,0xE0,0xC3,0xEE,0x64,0x80,\r
+0x94,0x80,0x40,0x03,0x02,0x0D,0x05,0xEB,0x25,0xE0,0x24,0x8C,0xF5,0x82,0xE4,0x34,\r
+0x0E,0xF5,0x83,0xE4,0xF0,0xA3,0xF0,0x02,0x0D,0x05,0x90,0xF0,0x38,0xE0,0x75,0xF0,\r
+0x20,0xA4,0xFF,0x24,0xF6,0xFF,0xE5,0xF0,0x34,0xFF,0xCF,0xC3,0x95,0x0A,0xCF,0x95,\r
+0x09,0xFE,0xEB,0x25,0xE0,0x24,0x3C,0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,0xE0,0xFC,\r
+0xA3,0xE0,0xD3,0x9F,0xEE,0x64,0x80,0xF8,0xEC,0x64,0x80,0x98,0x50,0x03,0x02,0x0C,\r
+0xE3,0x90,0xF0,0x38,0xE0,0x75,0xF0,0x20,0xA4,0xFF,0x24,0xF6,0xFF,0xE5,0xF0,0x34,\r
+0xFF,0xCF,0xC3,0x95,0x0A,0xCF,0x95,0x09,0xFE,0xEB,0x25,0xE0,0x24,0x3C,0xF5,0x82,\r
+0xE4,0x34,0x0E,0xF5,0x83,0xE0,0xFC,0xA3,0xE0,0xC3,0x9F,0xFF,0xEC,0x9E,0xFE,0xEB,\r
+0x25,0xE0,0x24,0x8C,0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,0xEE,0xF0,0xA3,0xEF,0xF0,\r
+0xEB,0x25,0xE0,0x24,0x8C,0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,0xE0,0xFE,0xA3,0xE0,\r
+0xFF,0xAC,0x09,0xAD,0x0A,0x12,0x17,0x3F,0xE5,0x0A,0x24,0xF6,0xFD,0xE5,0x09,0x34,\r
+0xFF,0xFC,0x12,0x17,0x51,0xEB,0x25,0xE0,0x24,0x8C,0xF5,0x82,0xE4,0x34,0x0E,0xF5,\r
+0x83,0xEE,0xF0,0xA3,0xEF,0xF0,0x90,0xF0,0x38,0xE0,0x75,0xF0,0x20,0xA4,0xFF,0x24,\r
+0xF6,0xFF,0xE5,0xF0,0x34,0xFF,0xCF,0xC3,0x95,0x0A,0xCF,0x95,0x09,0xFE,0xEB,0x25,\r
+0xE0,0x24,0x8C,0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,0xEE,0x8F,0xF0,0x12,0x17,0x87,\r
+0x90,0xF0,0x38,0xE0,0x75,0xF0,0x20,0xA4,0xFF,0xEB,0x25,0xE0,0x24,0x8C,0xF5,0x82,\r
+0xE4,0x34,0x0E,0xF5,0x83,0xE0,0xFC,0xA3,0xE0,0xD3,0x9F,0xE5,0xF0,0x64,0x80,0xF8,\r
+0xEC,0x64,0x80,0x98,0x40,0x3F,0x90,0xF0,0x38,0xE0,0x75,0xF0,0x20,0xA4,0xFF,0xEB,\r
+0x25,0xE0,0x24,0x8C,0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,0xE5,0xF0,0xF0,0xA3,0xEF,\r
+0xF0,0x80,0x22,0xEB,0x25,0xE0,0x24,0x3C,0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,0xE0,\r
+0xFE,0xA3,0xE0,0xFF,0xEB,0x25,0xE0,0x24,0x8C,0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,\r
+0xEE,0xF0,0xA3,0xEF,0xF0,0x0B,0xEB,0x64,0x0A,0x60,0x03,0x02,0x09,0x2B,0xE4,0xFB,\r
+0xEB,0x25,0xE0,0x24,0x8C,0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,0xE0,0xF5,0x0B,0xA3,\r
+0xE0,0xF5,0x0C,0xEB,0x25,0xE0,0x24,0x78,0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,0xE0,\r
+0xFE,0xA3,0xE0,0xFF,0xEB,0x25,0xE0,0x24,0x8C,0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,\r
+0xEE,0xF0,0xA3,0xEF,0xF0,0xEB,0x25,0xE0,0x24,0x78,0xF5,0x82,0xE4,0x34,0x0E,0xF5,\r
+0x83,0xE5,0x0B,0xF0,0xA3,0xE5,0x0C,0xF0,0x0B,0xBB,0x0A,0xB4,0x22,0xE4,0xF5,0x0A,\r
+0x30,0x0F,0x03,0x02,0x0E,0x96,0xF5,0x09,0x90,0x09,0x00,0xE0,0x75,0xF0,0x02,0xA4,\r
+0xFF,0xC3,0xE5,0x09,0x9F,0xE5,0xF0,0x64,0x80,0xF8,0x74,0x80,0x98,0x40,0x03,0x02,\r
+0x10,0x7E,0x30,0xD9,0x1E,0x74,0xE4,0x25,0x09,0xF5,0x82,0xE4,0x34,0x07,0xF5,0x83,\r
+0xE0,0xF5,0xCB,0x74,0xE5,0x25,0x09,0xF5,0x82,0xE4,0x34,0x07,0xF5,0x83,0xE0,0xF5,\r
+0xCC,0x80,0x1C,0x74,0x08,0x25,0x09,0xF5,0x82,0xE4,0x34,0x07,0xF5,0x83,0xE0,0xF5,\r
+0xCB,0x74,0x09,0x25,0x09,0xF5,0x82,0xE4,0x34,0x07,0xF5,0x83,0xE0,0xF5,0xCC,0xD2,\r
+0xDA,0x30,0xDA,0x05,0x75,0x9E,0x55,0x80,0xF8,0xAF,0xBD,0xAD,0xB7,0xED,0x2F,0xFF,\r
+0xE4,0x33,0xFE,0xAD,0xC2,0x7C,0x00,0xEF,0x2D,0xF5,0x0C,0xEC,0x3E,0xF5,0x0B,0xAF,\r
+0xCA,0xAD,0xB9,0xED,0x2F,0xFF,0xEC,0x33,0xFE,0xAD,0xC3,0xEF,0x2D,0xF5,0x0E,0xEC,\r
+0x3E,0xF5,0x0D,0xAF,0xBE,0xAD,0xBA,0xED,0x2F,0xFF,0xEC,0x33,0xFE,0xAD,0xC4,0xEF,\r
+0x2D,0xF5,0x10,0xEC,0x3E,0xF5,0x0F,0xF5,0x16,0x85,0x10,0x17,0xAB,0x0E,0xAA,0x0D,\r
+0xAD,0x0C,0xAC,0x0B,0xAF,0xCB,0x12,0x17,0xFE,0xE5,0x0A,0x25,0xE0,0x24,0x00,0xF5,\r
+0x82,0xE4,0x34,0x0E,0xF5,0x83,0xEE,0xF0,0xA3,0xEF,0xF0,0xAF,0xB9,0xAD,0xB7,0xED,\r
+0x2F,0xFF,0xE4,0x33,0xFE,0xAD,0xBA,0x7C,0x00,0xEF,0x2D,0xF5,0x0C,0xEC,0x3E,0xF5,\r
+0x0B,0xAF,0xCA,0xAD,0xBD,0xED,0x2F,0xFF,0xEC,0x33,0xFE,0xAD,0xBE,0xEF,0x2D,0xF5,\r
+0x0E,0xEC,0x3E,0xF5,0x0D,0xAF,0xC3,0xAD,0xC2,0xED,0x2F,0xFF,0xEC,0x33,0xFE,0xAD,\r
+0xC4,0xEF,0x2D,0xF5,0x10,0xEC,0x3E,0xF5,0x0F,0xF5,0x16,0x85,0x10,0x17,0xAB,0x0E,\r
+0xAA,0x0D,0xAD,0x0C,0xAC,0x0B,0xAF,0xCC,0x12,0x17,0xFE,0xE5,0x0A,0x25,0xE0,0x24,\r
+0x14,0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,0xEE,0xF0,0xA3,0xEF,0xF0,0x05,0x0A,0x05,\r
+0x09,0x05,0x09,0x02,0x0D,0x68,0x90,0x09,0x00,0x74,0x01,0xF0,0x90,0x0B,0x20,0xE0,\r
+0xF5,0xCB,0x90,0x0B,0x21,0xE0,0xF5,0xCC,0xD2,0xDA,0x30,0xDA,0x05,0x75,0x9E,0x55,\r
+0x80,0xF8,0xAF,0xBD,0xAD,0xB7,0xED,0x2F,0xFF,0xE4,0x33,0xFE,0xAD,0xC2,0x7C,0x00,\r
+0xEF,0x2D,0xF5,0x0C,0xEC,0x3E,0xF5,0x0B,0xAF,0xCA,0xAD,0xB9,0xED,0x2F,0xFF,0xEC,\r
+0x33,0xFE,0xAD,0xC3,0xEF,0x2D,0xF5,0x0E,0xEC,0x3E,0xF5,0x0D,0xAF,0xBE,0xAD,0xBA,\r
+0xED,0x2F,0xFF,0xEC,0x33,0xFE,0xAD,0xC4,0xEF,0x2D,0xF5,0x10,0xEC,0x3E,0xF5,0x0F,\r
+0xF5,0x16,0x85,0x10,0x17,0xAB,0x0E,0xAA,0x0D,0xAD,0x0C,0xAC,0x0B,0xAF,0xCB,0x12,\r
+0x17,0xFE,0x90,0x0E,0x00,0xEE,0xF0,0xA3,0xEF,0xF0,0x20,0x03,0x11,0x90,0x0E,0x00,\r
+0xE0,0xFF,0xA3,0xE0,0x90,0x0B,0x22,0xCF,0xF0,0xA3,0xEF,0xF0,0x80,0x7A,0x90,0x0B,\r
+0x22,0xE0,0xFE,0xA3,0xE0,0xFF,0xC3,0x90,0x0E,0x01,0xE0,0x9F,0xEE,0x64,0x80,0xF8,\r
+0x90,0x0E,0x00,0xE0,0x64,0x80,0x98,0x40,0x32,0x90,0x0B,0x23,0xE0,0x24,0x32,0xFF,\r
+0x90,0x0B,0x22,0xE0,0x34,0x00,0xFE,0xC3,0x90,0x0E,0x01,0xE0,0x9F,0xEE,0x64,0x80,\r
+0xF8,0x90,0x0E,0x00,0xE0,0x64,0x80,0x98,0x50,0x3E,0x90,0x0B,0x22,0xE0,0xFF,0xA3,\r
+0xE0,0x90,0x0E,0x00,0xCF,0xF0,0xA3,0xEF,0xF0,0x80,0x2D,0x90,0x0E,0x01,0xE0,0x24,\r
+0x32,0xFF,0x90,0x0E,0x00,0xE0,0x34,0x00,0xFE,0xC3,0x90,0x0B,0x23,0xE0,0x9F,0xEE,\r
+0x64,0x80,0xF8,0x90,0x0B,0x22,0xE0,0x64,0x80,0x98,0x50,0x0C,0xE0,0xFF,0xA3,0xE0,\r
+0x90,0x0E,0x00,0xCF,0xF0,0xA3,0xEF,0xF0,0xAF,0xB9,0xAD,0xB7,0xED,0x2F,0xFF,0xE4,\r
+0x33,0xFE,0xAD,0xBA,0x7C,0x00,0xEF,0x2D,0xF5,0x0C,0xEC,0x3E,0xF5,0x0B,0xAF,0xCA,\r
+0xAD,0xBD,0xED,0x2F,0xFF,0xEC,0x33,0xFE,0xAD,0xBE,0xEF,0x2D,0xF5,0x0E,0xEC,0x3E,\r
+0xF5,0x0D,0xAF,0xC3,0xAD,0xC2,0xED,0x2F,0xFF,0xEC,0x33,0xFE,0xAD,0xC4,0xEF,0x2D,\r
+0xF5,0x10,0xEC,0x3E,0xF5,0x0F,0xF5,0x16,0x85,0x10,0x17,0xAB,0x0E,0xAA,0x0D,0xAD,\r
+0x0C,0xAC,0x0B,0xAF,0xCC,0x12,0x17,0xFE,0x90,0x0E,0x14,0xEE,0xF0,0xA3,0xEF,0xF0,\r
+0x20,0x03,0x12,0x90,0x0E,0x14,0xE0,0xFF,0xA3,0xE0,0x90,0x0B,0x24,0xCF,0xF0,0xA3,\r
+0xEF,0xF0,0xD2,0x03,0x22,0x90,0x0B,0x24,0xE0,0xFE,0xA3,0xE0,0xFF,0xC3,0x90,0x0E,\r
+0x15,0xE0,0x9F,0xEE,0x64,0x80,0xF8,0x90,0x0E,0x14,0xE0,0x64,0x80,0x98,0x40,0x31,\r
+0x90,0x0B,0x25,0xE0,0x24,0x32,0xFF,0x90,0x0B,0x24,0xE0,0x34,0x00,0xFE,0xC3,0x90,\r
+0x0E,0x15,0xE0,0x9F,0xEE,0x64,0x80,0xF8,0x90,0x0E,0x14,0xE0,0x64,0x80,0x98,0x50,\r
+0x3D,0x90,0x0B,0x24,0xE0,0xFF,0xA3,0xE0,0x90,0x0E,0x14,0xCF,0xF0,0xA3,0xEF,0xF0,\r
+0x22,0x90,0x0E,0x15,0xE0,0x24,0x32,0xFF,0x90,0x0E,0x14,0xE0,0x34,0x00,0xFE,0xC3,\r
+0x90,0x0B,0x25,0xE0,0x9F,0xEE,0x64,0x80,0xF8,0x90,0x0B,0x24,0xE0,0x64,0x80,0x98,\r
+0x50,0x0C,0xE0,0xFF,0xA3,0xE0,0x90,0x0E,0x14,0xCF,0xF0,0xA3,0xEF,0xF0,0x22,0x90,\r
+0xF0,0x48,0x74,0x16,0xF0,0xA3,0x74,0x05,0xF0,0xA3,0x74,0x10,0xF0,0xA3,0xF0,0xA3,\r
+0x74,0x01,0xF0,0xE4,0xA3,0xF0,0xA3,0xF0,0xA3,0xF0,0xE0,0x24,0x01,0xFF,0xE4,0x33,\r
+0xFE,0x90,0xF0,0x4A,0xE0,0xFD,0x24,0x01,0xFD,0xE4,0x33,0xCD,0x2F,0xFF,0xED,0x3E,\r
+0xFE,0xA3,0xE0,0xFD,0x24,0x01,0xFD,0xE4,0x33,0xCD,0x2F,0xFF,0xED,0x3E,0xFE,0x90,\r
+0xF0,0x4F,0xE0,0xFD,0x24,0x01,0xFD,0xE4,0x33,0xCD,0x2F,0xCD,0x3E,0xFC,0x90,0xF0,\r
+0x48,0xE0,0x24,0x01,0xFF,0xE4,0x33,0xFE,0x12,0x17,0x3F,0x90,0xF0,0x4F,0xE0,0xFD,\r
+0x90,0xF0,0x49,0xE0,0x2D,0xFD,0xE4,0x33,0xCD,0x2F,0xFB,0xED,0x3E,0xFA,0x90,0xF0,\r
+0x4D,0xE0,0xFF,0x7E,0x00,0x7C,0x00,0x7D,0x0A,0x12,0x17,0x3F,0xEF,0x2B,0xFF,0xEE,\r
+0x3A,0xCF,0x24,0x20,0xCF,0x34,0x00,0xAD,0x07,0xFC,0x13,0x13,0x54,0x3F,0xFB,0x90,\r
+0xF0,0x66,0xF0,0x7E,0x00,0xEF,0x78,0x02,0xCE,0xC3,0x13,0xCE,0x13,0xD8,0xF9,0x14,\r
+0xFF,0x90,0xF0,0x67,0xF0,0xA3,0xEB,0xF0,0xA3,0xEF,0xF0,0x90,0xF0,0x60,0x74,0xD1,\r
+0xF0,0xE4,0xF5,0x80,0xF5,0x90,0xF5,0xA0,0xF5,0xB0,0x90,0xF0,0x01,0x74,0x20,0xF0,\r
+0xA3,0x04,0xF0,0xA3,0x74,0x40,0xF0,0xA3,0x04,0xF0,0xA3,0x74,0x60,0xF0,0xA3,0x04,\r
+0xF0,0xA3,0x74,0x80,0xF0,0xA3,0x04,0xF0,0xA3,0x74,0xA0,0xF0,0xA3,0x04,0xF0,0xA3,\r
+0x74,0xC0,0xF0,0xA3,0x74,0xE0,0xF0,0xA3,0x04,0xF0,0xA3,0x04,0xF0,0xA3,0x04,0xF0,\r
+0xA3,0x04,0xF0,0xA3,0x04,0xF0,0xA3,0x04,0xF0,0xA3,0x04,0xF0,0xA3,0x04,0xF0,0xA3,\r
+0x04,0xF0,0xA3,0x04,0xF0,0xA3,0x04,0xF0,0xA3,0x04,0xF0,0xA3,0x04,0xF0,0xA3,0x04,\r
+0xF0,0xA3,0x04,0xF0,0xA3,0x04,0xF0,0xA3,0x04,0xF0,0xA3,0x04,0xF0,0x90,0xF0,0x20,\r
+0x74,0x90,0xF0,0xA3,0x74,0x02,0xF0,0xA3,0x74,0x0C,0xF0,0x90,0xF0,0x30,0x74,0x12,\r
+0xF0,0xA3,0xF0,0xA3,0x74,0x14,0xF0,0x90,0xF0,0x34,0x74,0x40,0xF0,0xA3,0x74,0x0A,\r
+0xF0,0xA3,0x74,0x01,0xF0,0xA3,0x74,0x0B,0xF0,0xA3,0x74,0x13,0xF0,0x90,0xF0,0x3A,\r
+0x74,0xFF,0xF0,0xE4,0xA3,0xF0,0xA3,0xF0,0xA3,0x04,0xF0,0xA3,0x74,0x14,0xF0,0xA3,\r
+0x74,0x02,0xF0,0xA3,0x74,0x20,0xF0,0xA3,0x74,0x03,0xF0,0xA3,0x14,0xF0,0xA3,0xF0,\r
+0xA3,0xF0,0xA3,0xF0,0xA3,0xF0,0xA3,0x14,0xF0,0x90,0xF0,0x54,0x74,0x19,0xF0,0xA3,\r
+0x74,0x7F,0xF0,0xD2,0xAD,0x90,0xF0,0x1F,0x74,0x01,0xF0,0x22,0xE4,0xF5,0x2B,0xFB,\r
+0x74,0x45,0x2B,0xF8,0xE6,0x70,0x03,0x02,0x13,0x3A,0xEB,0x25,0xE0,0x24,0x78,0xF5,\r
+0x82,0xE4,0x34,0x0E,0xF5,0x83,0xE0,0xFE,0xA3,0xE0,0xFF,0x7C,0x00,0x7D,0x19,0x12,\r
+0x17,0x3F,0x7D,0x13,0x12,0x17,0x51,0xEB,0x25,0xE0,0x24,0x78,0xF5,0x82,0xE4,0x34,\r
+0x0E,0xF5,0x83,0xEE,0xF0,0xA3,0xEF,0xF0,0xEB,0x25,0xE0,0x24,0x8C,0xF5,0x82,0xE4,\r
+0x34,0x0E,0xF5,0x83,0xE0,0xFE,0xA3,0xE0,0xFF,0x7C,0x00,0x7D,0x0F,0x12,0x17,0x3F,\r
+0x7D,0x0B,0x12,0x17,0x51,0xEB,0x25,0xE0,0x24,0x8C,0xF5,0x82,0xE4,0x34,0x0E,0xF5,\r
+0x83,0xEE,0xF0,0xA3,0xEF,0xF0,0xEB,0x04,0xFF,0xC4,0x54,0xF0,0xFF,0x74,0x45,0x2B,\r
+0xF8,0xE6,0x4F,0xFF,0xE5,0x2B,0x25,0xE0,0x25,0xE0,0x24,0x00,0xF5,0x82,0xE4,0x34,\r
+0x0F,0xF5,0x83,0xEF,0xF0,0xEB,0x25,0xE0,0x24,0x78,0xF5,0x82,0xE4,0x34,0x0E,0xF5,\r
+0x83,0xE0,0xFE,0xA3,0xE0,0x78,0x04,0xCE,0xA2,0xE7,0x13,0xCE,0x13,0xD8,0xF8,0xFF,\r
+0xE5,0x2B,0x25,0xE0,0x25,0xE0,0x24,0x01,0xF5,0x82,0xE4,0x34,0x0F,0xF5,0x83,0xEF,\r
+0xF0,0xEB,0x25,0xE0,0x24,0x8C,0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,0xE0,0xFE,0xA3,\r
+0xE0,0x78,0x04,0xCE,0xA2,0xE7,0x13,0xCE,0x13,0xD8,0xF8,0xFF,0xE5,0x2B,0x25,0xE0,\r
+0x25,0xE0,0x24,0x02,0xF5,0x82,0xE4,0x34,0x0F,0xF5,0x83,0xEF,0xF0,0xEB,0x25,0xE0,\r
+0x24,0x78,0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,0xA3,0xE0,0xC4,0xF8,0x54,0x0F,0xC8,\r
+0x68,0xFF,0x05,0x82,0xD5,0x82,0x02,0x15,0x83,0x15,0x82,0xE0,0xC4,0x54,0xF0,0x48,\r
+0xEF,0x54,0xF0,0xFF,0xEB,0x25,0xE0,0x24,0x8C,0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,\r
+0xE0,0xA3,0xE0,0x54,0x0F,0x4F,0xFF,0xE5,0x2B,0x25,0xE0,0x25,0xE0,0x24,0x03,0xF5,\r
+0x82,0xE4,0x34,0x0F,0xF5,0x83,0xEF,0xF0,0x05,0x2B,0x0B,0xEB,0x64,0x0A,0x60,0x03,\r
+0x02,0x12,0x10,0xAB,0x2B,0xEB,0xC3,0x94,0x0A,0x50,0x47,0xEB,0x25,0xE0,0x25,0xE0,\r
+0x24,0x00,0xF5,0x82,0xE4,0x34,0x0F,0xF5,0x83,0x74,0xFF,0xF0,0xEB,0x25,0xE0,0x25,\r
+0xE0,0x24,0x01,0xF5,0x82,0xE4,0x34,0x0F,0xF5,0x83,0x74,0xFF,0xF0,0xEB,0x25,0xE0,\r
+0x25,0xE0,0x24,0x02,0xF5,0x82,0xE4,0x34,0x0F,0xF5,0x83,0x74,0xFF,0xF0,0xEB,0x25,\r
+0xE0,0x25,0xE0,0x24,0x03,0xF5,0x82,0xE4,0x34,0x0F,0xF5,0x83,0x74,0xFF,0xF0,0x0B,\r
+0x80,0xB3,0x22,0xC2,0x13,0xE4,0xFF,0x74,0x45,0x2F,0xF8,0xE6,0x60,0x53,0x20,0x13,\r
+0x2A,0xEF,0x25,0xE0,0x24,0x28,0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,0xE0,0xF5,0x4F,\r
+0xA3,0xE0,0xF5,0x50,0xEF,0x25,0xE0,0x24,0x3C,0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,\r
+0xE0,0xF5,0x51,0xA3,0xE0,0xF5,0x52,0xD2,0x13,0x80,0x26,0xEF,0x25,0xE0,0x24,0x28,\r
+0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,0xE0,0xF5,0x53,0xA3,0xE0,0xF5,0x54,0xEF,0x25,\r
+0xE0,0x24,0x3C,0xF5,0x82,0xE4,0x34,0x0E,0xF5,0x83,0xE0,0xFC,0xA3,0xE0,0xFD,0x80,\r
+0x04,0x0F,0xBF,0x05,0xA2,0xC3,0xE5,0x50,0x95,0x54,0xE5,0x53,0x64,0x80,0xF8,0xE5,\r
+0x4F,0x64,0x80,0x98,0x40,0x0E,0xE5,0x50,0x95,0x54,0xF5,0x56,0xE5,0x4F,0x95,0x53,\r
+0xF5,0x55,0x80,0x0D,0xC3,0xE5,0x54,0x95,0x50,0xF5,0x56,0xE5,0x53,0x95,0x4F,0xF5,\r
+0x55,0xC3,0xE5,0x52,0x9D,0xEC,0x64,0x80,0xF8,0xE5,0x51,0x64,0x80,0x98,0x40,0x0C,\r
+0xE5,0x52,0x9D,0xF5,0x58,0xE5,0x51,0x9C,0xF5,0x57,0x80,0x0B,0xC3,0xED,0x95,0x52,\r
+0xF5,0x58,0xEC,0x95,0x51,0xF5,0x57,0xE5,0x56,0x25,0x58,0xFF,0xE5,0x55,0x35,0x57,\r
+0xFE,0x20,0x07,0x05,0xD2,0x07,0xE4,0xF5,0x40,0xE5,0x40,0x14,0x60,0x1A,0x14,0x60,\r
+0x58,0x14,0x60,0x75,0x24,0x03,0x60,0x03,0x02,0x14,0xF9,0x8E,0x29,0x8F,0x2A,0x75,\r
+0x40,0x01,0xE4,0xF5,0x41,0x02,0x14,0xFE,0xEF,0x24,0x0A,0xFB,0xE4,0x3E,0xFA,0xD3,\r
+0xE5,0x2A,0x9B,0xEA,0x64,0x80,0xF8,0xE5,0x29,0x64,0x80,0x98,0x40,0x09,0x8E,0x29,\r
+0x8F,0x2A,0x75,0x40,0x02,0x80,0x1D,0xE5,0x2A,0x24,0x0A,0xFB,0xE4,0x35,0x29,0xFA,\r
+0xC3,0xEB,0x9F,0xEE,0x64,0x80,0xF8,0xEA,0x64,0x80,0x98,0x50,0x07,0x8E,0x29,0x8F,\r
+0x2A,0x75,0x40,0x03,0xE4,0xF5,0x41,0x80,0x45,0xD3,0xE5,0x2A,0x9F,0xEE,0x64,0x80,\r
+0xF8,0xE5,0x29,0x64,0x80,0x98,0x40,0x05,0x75,0x41,0x01,0x80,0x03,0xE4,0xF5,0x41,\r
+0x8E,0x29,0x8F,0x2A,0xE4,0xF5,0x40,0x80,0x25,0xC3,0xE5,0x2A,0x9F,0xEE,0x64,0x80,\r
+0xF8,0xE5,0x29,0x64,0x80,0x98,0x50,0x05,0x75,0x41,0x02,0x80,0x03,0xE4,0xF5,0x41,\r
+0x8E,0x29,0x8F,0x2A,0xE4,0xF5,0x40,0x80,0x05,0xE4,0xF5,0x41,0xF5,0x40,0xAF,0x41,\r
+0x22,0xC2,0x11,0xC2,0x12,0xE4,0xFB,0x7B,0x0B,0x90,0x0C,0xC8,0xE4,0xF0,0xA3,0xDB,\r
+0xFC,0xE4,0xFB,0x7B,0x13,0x90,0x0C,0xD3,0xE4,0xF0,0xA3,0xDB,0xFC,0xE4,0x90,0x0B,\r
+0x20,0xF0,0x90,0x0B,0x21,0xF0,0xFE,0xFB,0xE4,0xFD,0x30,0xD9,0x36,0x90,0xF0,0x37,\r
+0xE0,0xFC,0xED,0x8C,0xF0,0xA4,0x2B,0x24,0xA3,0xF5,0x82,0xE4,0x34,0x02,0xF5,0x83,\r
+0xE0,0xD3,0x94,0x32,0x40,0x51,0x0E,0x74,0xC8,0x2B,0xF5,0x82,0xE4,0x34,0x0C,0xF5,\r
+0x83,0xE0,0x04,0xF0,0x74,0xD3,0x2D,0xF5,0x82,0xE4,0x34,0x0C,0xF5,0x83,0xE0,0x04,\r
+0xF0,0x80,0x34,0x90,0xF0,0x37,0xE0,0xFC,0xED,0x8C,0xF0,0xA4,0x2B,0x24,0xC2,0xF5,\r
+0x82,0xE4,0x34,0x01,0xF5,0x83,0xE0,0xD3,0x94,0x32,0x40,0x1B,0x0E,0x74,0xC8,0x2B,\r
+0xF5,0x82,0xE4,0x34,0x0C,0xF5,0x83,0xE0,0x04,0xF0,0x74,0xD3,0x2D,0xF5,0x82,0xE4,\r
+0x34,0x0C,0xF5,0x83,0xE0,0x04,0xF0,0x0D,0xED,0x64,0x13,0x70,0x8D,0x0B,0xEB,0x64,\r
+0x0B,0x70,0x85,0x75,0x9E,0x55,0xE4,0xFB,0xEB,0xD3,0x94,0x09,0x50,0x2B,0x74,0xC8,\r
+0x2B,0xF5,0x82,0xE4,0x34,0x0C,0xF5,0x83,0xE0,0xD3,0x94,0x01,0x40,0x1B,0x74,0xC9,\r
+0x2B,0xF5,0x82,0xE4,0x34,0x0C,0xF5,0x83,0xE0,0xD3,0x94,0x01,0x40,0x0B,0x20,0x11,\r
+0x08,0xD2,0x11,0xEB,0x04,0x90,0x0B,0x20,0xF0,0x0B,0xBB,0x0B,0xCB,0x75,0x9E,0x55,\r
+0xE4,0xFB,0xEB,0xD3,0x94,0x11,0x50,0x2B,0x74,0xD3,0x2B,0xF5,0x82,0xE4,0x34,0x0C,\r
+0xF5,0x83,0xE0,0xD3,0x94,0x01,0x40,0x1B,0x74,0xD4,0x2B,0xF5,0x82,0xE4,0x34,0x0C,\r
+0xF5,0x83,0xE0,0xD3,0x94,0x01,0x40,0x0B,0x20,0x12,0x08,0xD2,0x12,0xEB,0x04,0x90,\r
+0x0B,0x21,0xF0,0x0B,0xBB,0x13,0xCB,0x30,0x11,0x05,0x30,0x12,0x02,0xD3,0x22,0xC3,\r
+0x22,0x75,0x81,0x6C,0x12,0x00,0xA0,0x12,0x3F,0xF0,0x12,0x1C,0x35,0xD2,0xAF,0x90,\r
+0x0F,0x2B,0xE0,0x64,0x01,0x60,0x23,0x74,0x01,0xF0,0xE4,0x90,0xF0,0x63,0xF0,0x90,\r
+0xF0,0x60,0x74,0xD0,0xF0,0x7F,0xFA,0x7E,0x00,0x12,0x00,0x8E,0x75,0x9E,0x55,0x75,\r
+0xC8,0xE0,0x75,0x87,0x02,0x75,0x97,0x55,0x00,0x00,0x75,0x9E,0x55,0x30,0x08,0x0C,\r
+0x7F,0x01,0x7E,0x00,0x12,0x00,0x8E,0xC2,0x08,0x02,0x17,0x00,0x20,0x00,0x03,0x02,\r
+0x17,0x00,0xC2,0x00,0x12,0x00,0x3B,0x30,0x04,0x06,0x12,0x1C,0x0F,0x02,0x17,0x00,\r
+0x30,0x0B,0x05,0x12,0x18,0xA8,0x80,0x78,0x12,0x1B,0x7F,0x30,0x0E,0x09,0xC2,0x0E,\r
+0xC2,0x0F,0x12,0x0D,0x5D,0x80,0x11,0xC2,0x0F,0xC2,0x03,0xE4,0x90,0x0B,0x22,0xF0,\r
+0xA3,0xF0,0x90,0x0B,0x24,0xF0,0xA3,0xF0,0x12,0x00,0xAF,0x12,0x09,0x1D,0x12,0x12,\r
+0x0C,0xE5,0x2B,0xD3,0x94,0x00,0x40,0x48,0xA2,0x0D,0x82,0x0C,0x50,0x42,0xD2,0x0A,\r
+0x75,0x8A,0x0F,0xE4,0xF5,0x8B,0xC2,0xC4,0x7F,0x19,0x7E,0x00,0x12,0x00,0x8E,0xD2,\r
+0xC4,0x75,0x27,0x01,0x75,0x28,0xF4,0x7F,0x19,0x7E,0x00,0x12,0x00,0x8E,0xE5,0x28,\r
+0x15,0x28,0x70,0x02,0x15,0x27,0x75,0x9E,0x55,0xE5,0x2B,0xD3,0x94,0x00,0x40,0x0D,\r
+0xD3,0xE5,0x28,0x94,0x00,0xE5,0x27,0x64,0x80,0x94,0x80,0x50,0xDA,0x20,0x0A,0xC6,\r
+0x30,0x9F,0x03,0x02,0x16,0x2F,0x30,0x05,0x2A,0xC2,0x05,0xC2,0x04,0x90,0x0F,0xFF,\r
+0xE0,0xB4,0xBF,0x07,0xD2,0x04,0xC2,0x0B,0x02,0x16,0x2F,0x90,0x0F,0xFF,0xE0,0x64,\r
+0xAF,0x60,0x03,0x02,0x16,0x2F,0x90,0x0F,0xFE,0xE0,0xF5,0x44,0xD2,0x0B,0xC2,0x04,\r
+0x02,0x16,0x2F,0x20,0x06,0x03,0x02,0x16,0x2F,0xC2,0x06,0x02,0x16,0x2F,0x22,0xEF,\r
+0x8D,0xF0,0xA4,0xA8,0xF0,0xCF,0x8C,0xF0,0xA4,0x28,0xCE,0x8D,0xF0,0xA4,0x2E,0xFE,\r
+0x22,0xC2,0xD5,0xEC,0x30,0xE7,0x09,0xB2,0xD5,0xE4,0xC3,0x9D,0xFD,0xE4,0x9C,0xFC,\r
+0xEE,0x30,0xE7,0x15,0xB2,0xD5,0xE4,0xC3,0x9F,0xFF,0xE4,0x9E,0xFE,0x12,0x17,0xA9,\r
+0xC3,0xE4,0x9D,0xFD,0xE4,0x9C,0xFC,0x80,0x03,0x12,0x17,0xA9,0x30,0xD5,0x07,0xC3,\r
+0xE4,0x9F,0xFF,0xE4,0x9E,0xFE,0x22,0xC5,0xF0,0xF8,0xA3,0xE0,0x28,0xF0,0xC5,0xF0,\r
+0xF8,0xE5,0x82,0x15,0x82,0x70,0x02,0x15,0x83,0xE0,0x38,0xF0,0x22,0xA4,0x25,0x82,\r
+0xF5,0x82,0xE5,0xF0,0x35,0x83,0xF5,0x83,0x22,0xBC,0x00,0x0B,0xBE,0x00,0x29,0xEF,\r
+0x8D,0xF0,0x84,0xFF,0xAD,0xF0,0x22,0xE4,0xCC,0xF8,0x75,0xF0,0x08,0xEF,0x2F,0xFF,\r
+0xEE,0x33,0xFE,0xEC,0x33,0xFC,0xEE,0x9D,0xEC,0x98,0x40,0x05,0xFC,0xEE,0x9D,0xFE,\r
+0x0F,0xD5,0xF0,0xE9,0xE4,0xCE,0xFD,0x22,0xED,0xF8,0xF5,0xF0,0xEE,0x84,0x20,0xD2,\r
+0x1C,0xFE,0xAD,0xF0,0x75,0xF0,0x08,0xEF,0x2F,0xFF,0xED,0x33,0xFD,0x40,0x07,0x98,\r
+0x50,0x06,0xD5,0xF0,0xF2,0x22,0xC3,0x98,0xFD,0x0F,0xD5,0xF0,0xEA,0x22,0xA9,0x07,\r
+0x74,0x06,0x2D,0xFD,0xE4,0x3C,0xFC,0xD3,0xEB,0x94,0x0C,0xEA,0x64,0x80,0x94,0x80,\r
+0x40,0x08,0x74,0xF4,0x2B,0xFB,0x74,0xFF,0x3A,0xFA,0x74,0x06,0x25,0x17,0xF5,0x17,\r
+0xE4,0x35,0x16,0xF5,0x16,0xE4,0xF5,0xAE,0x75,0xAF,0x10,0xED,0xF5,0xAB,0xEC,0xFF,\r
+0x33,0x95,0xE0,0x8F,0xAA,0xEB,0xFD,0xF5,0xAD,0xEA,0xFF,0x33,0x95,0xE0,0xAC,0x07,\r
+0x8C,0xAC,0x75,0xA9,0x01,0xE5,0x17,0xF5,0xAB,0xE5,0x16,0xFF,0x33,0x95,0xE0,0x8F,\r
+0xAA,0x8D,0xAD,0x8C,0xAC,0xE5,0xA9,0xB4,0x01,0x05,0x75,0x9E,0x55,0x80,0xF6,0x7D,\r
+0x10,0x7C,0x00,0xAF,0xA6,0xEF,0xFE,0xAB,0xA7,0x7A,0x00,0xE4,0x2B,0xFB,0xEA,0x3E,\r
+0xFA,0xE9,0x75,0xF0,0x20,0xA4,0xC3,0x9B,0xFF,0xE5,0xF0,0x9A,0xFE,0xEF,0x2D,0xFD,\r
+0xEC,0x3E,0xFC,0x75,0xA9,0x01,0xE5,0xA9,0xB4,0x01,0x05,0x75,0x9E,0x55,0x80,0xF6,\r
+0xAF,0xA6,0xEF,0xFE,0xAB,0xA7,0x7A,0x00,0xE4,0x2B,0xFF,0xEA,0x3E,0xFE,0xEF,0x2D,\r
+0xFD,0xEE,0x3C,0xFC,0xFE,0xAF,0x05,0x22,0x20,0x01,0x03,0x02,0x19,0x4A,0x75,0x8A,\r
+0x0A,0xE4,0xF5,0x8B,0x90,0x0A,0x00,0x74,0xF5,0xF0,0x75,0xF0,0x02,0xE5,0x44,0xA4,\r
+0x24,0x00,0xF5,0x82,0xE5,0xF0,0x34,0x00,0xF5,0x83,0xE0,0x90,0x0A,0x01,0xF0,0x75,\r
+0xF0,0x02,0xE5,0x44,0xA4,0x24,0x01,0xF5,0x82,0xE5,0xF0,0x34,0x00,0xF5,0x83,0xE0,\r
+0x90,0x0A,0x02,0xF0,0x75,0xF0,0x02,0xE5,0x44,0xA4,0x24,0x84,0xF5,0x82,0xE5,0xF0,\r
+0x34,0x03,0xF5,0x83,0xE0,0x90,0x0A,0x03,0xF0,0x75,0xF0,0x02,0xE5,0x44,0xA4,0x24,\r
+0x85,0xF5,0x82,0xE5,0xF0,0x34,0x03,0xF5,0x83,0xE0,0x90,0x0A,0x04,0xF0,0xD2,0xD8,\r
+0x30,0xD9,0x12,0x74,0xA3,0x25,0x44,0xF5,0x82,0xE4,0x34,0x02,0xF5,0x83,0xE0,0x90,\r
+0x0A,0x05,0xF0,0x80,0x10,0x74,0xC2,0x25,0x44,0xF5,0x82,0xE4,0x34,0x01,0xF5,0x83,\r
+0xE0,0x90,0x0A,0x05,0xF0,0xC2,0x01,0xC2,0xC4,0x7F,0x64,0x7E,0x00,0x12,0x00,0x8E,\r
+0xD2,0xC4,0x90,0xF0,0x1F,0x74,0x01,0xF0,0xD2,0x02,0x22,0xE4,0xFD,0xFC,0xED,0x75,\r
+0xF0,0x02,0xA4,0x85,0xF0,0x5B,0xF5,0x5C,0x24,0x00,0xF5,0x82,0x74,0x00,0x35,0x5B,\r
+0xF5,0x83,0xE0,0xFE,0x74,0x01,0x25,0x5C,0xF5,0x82,0x74,0x00,0x35,0x5B,0xF5,0x83,\r
+0xE0,0x7A,0x00,0x24,0x00,0xF5,0x5A,0xEA,0x3E,0xF5,0x59,0x74,0x84,0x25,0x5C,0xF5,\r
+0x82,0x74,0x03,0x35,0x5B,0xF5,0x83,0xE0,0xFE,0x74,0x85,0x25,0x5C,0xF5,0x82,0x74,\r
+0x03,0x35,0x5B,0xF5,0x83,0xE0,0x24,0x00,0xFF,0xEA,0x3E,0xFE,0xEF,0x24,0xF7,0xFB,\r
+0xEE,0x34,0xFF,0xFA,0xC3,0xE5,0x5A,0x9B,0xE5,0x59,0x9A,0x50,0x12,0xEF,0x24,0xEC,\r
+0xFF,0xEE,0x34,0xFF,0xFE,0xD3,0xE5,0x5A,0x9F,0xE5,0x59,0x9E,0x40,0x01,0x0C,0x0D,\r
+0xED,0x64,0xD1,0x70,0x89,0xEC,0xD3,0x94,0x1E,0x40,0x02,0xD3,0x22,0xC3,0x22,0xC0,\r
+0xE0,0xC0,0xF0,0xC0,0x83,0xC0,0x82,0xC0,0xD0,0x75,0xD0,0x00,0xC0,0x00,0xC0,0x01,\r
+0xC0,0x02,0xC0,0x03,0xC0,0x04,0xC0,0x05,0xC0,0x06,0xC0,0x07,0x30,0x98,0x04,0xD2,\r
+0x05,0xC2,0x98,0x30,0x99,0x3D,0xD2,0xC4,0xD2,0x06,0xC2,0x99,0xD2,0x01,0xC2,0x0A,\r
+0x75,0x2B,0x00,0xE5,0x2B,0xD3,0x94,0x00,0x40,0x29,0xD2,0x0A,0x75,0x27,0x01,0x75,\r
+0x28,0xF4,0x7F,0x28,0x7E,0x00,0x12,0x00,0x8E,0x75,0x8A,0x0F,0x74,0x04,0x25,0x8B,\r
+0xF5,0x8B,0x90,0x0A,0x0A,0xE5,0x8B,0xF0,0xC2,0xC4,0x7F,0x19,0x7E,0x00,0x12,0x00,\r
+0x8E,0xD2,0xC4,0xD0,0x07,0xD0,0x06,0xD0,0x05,0xD0,0x04,0xD0,0x03,0xD0,0x02,0xD0,\r
+0x01,0xD0,0x00,0xD0,0xD0,0xD0,0x82,0xD0,0x83,0xD0,0xF0,0xD0,0xE0,0x32,0xE4,0xF5,\r
+0x60,0x75,0x9E,0x55,0x30,0x09,0x73,0xC2,0x09,0xF5,0x5F,0xE5,0x5F,0x75,0xF0,0x02,\r
+0xA4,0xFD,0xAC,0xF0,0x24,0x84,0xF5,0x82,0x74,0x03,0x3C,0xF5,0x83,0xE0,0xFE,0x74,\r
+0x85,0x2D,0xF5,0x82,0x74,0x03,0x3C,0xF5,0x83,0xE0,0x7C,0x00,0x24,0x00,0xFF,0xEC,\r
+0x3E,0xFE,0x75,0xF0,0x02,0xE5,0x5F,0xA4,0x24,0x26,0xF5,0x82,0xE5,0xF0,0x34,0x0B,\r
+0xF5,0x83,0xE0,0xFC,0xA3,0xE0,0xC3,0x9F,0xFF,0xEC,0x9E,0xFE,0x12,0x1C,0x6D,0xD3,\r
+0xEF,0x94,0x05,0xEE,0x64,0x80,0x94,0x80,0x40,0x02,0x05,0x60,0xE5,0x60,0xD3,0x94,\r
+0x00,0x40,0x0E,0x90,0xF0,0x34,0x74,0x03,0xF0,0x90,0xF0,0x36,0xE0,0x44,0x01,0xF0,\r
+0x22,0x05,0x5F,0xE5,0x5F,0xC3,0x94,0xD1,0x40,0x91,0x22,0xC2,0x00,0xC2,0x08,0xC2,\r
+0x0E,0xC2,0x10,0xC2,0x05,0xC2,0x06,0xC2,0x04,0xC2,0x0B,0xD2,0x01,0xC2,0x02,0xE4,\r
+0xF5,0x2B,0x90,0x09,0x00,0xF0,0xF5,0x45,0xF5,0x46,0xF5,0x47,0xF5,0x48,0xF5,0x49,\r
+0xF5,0x4A,0xF5,0x4B,0xF5,0x4C,0xF5,0x4D,0xF5,0x4E,0xC2,0x07,0xF5,0x40,0xF5,0x41,\r
+0x90,0x0F,0xFC,0x74,0x20,0xF0,0xC2,0x0F,0xC2,0x03,0xE4,0x90,0x0B,0x22,0xF0,0xA3,\r
+0xF0,0x90,0x0B,0x24,0xF0,0xA3,0xF0,0x75,0x24,0x07,0x75,0x25,0xD0,0xF5,0x42,0xF5,\r
+0x43,0x75,0x23,0xFF,0x90,0x0F,0x2B,0x04,0xF0,0xE4,0x90,0xF0,0x61,0xF0,0x75,0x8A,\r
+0x0F,0xF5,0x8B,0x22,0x75,0x9E,0x55,0xE4,0xFD,0xED,0x75,0xF0,0x02,0xA4,0x85,0xF0,\r
+0x5D,0xF5,0x5E,0x24,0x84,0xF5,0x82,0x74,0x03,0x35,0x5D,0xF5,0x83,0xE0,0xFE,0x74,\r
+0x85,0x25,0x5E,0xF5,0x82,0x74,0x03,0x35,0x5D,0xF5,0x83,0xE0,0x7A,0x00,0x24,0x00,\r
+0xFF,0xEA,0x3E,0xFE,0x75,0xF0,0x02,0xED,0xA4,0x24,0x26,0xF5,0x82,0xE5,0xF0,0x34,\r
+0x0B,0xF5,0x83,0xEE,0xF0,0xA3,0xEF,0xF0,0x0D,0xBD,0xD1,0xBD,0xD2,0x09,0x22,0x90,\r
+0xF0,0x33,0xE0,0x90,0x09,0x00,0xF0,0xE0,0xD3,0x94,0x0A,0x40,0x03,0x74,0x0A,0xF0,\r
+0x20,0xF8,0x1F,0xE5,0x25,0x45,0x24,0x70,0x19,0xC3,0xE5,0x43,0x94,0x9F,0xE5,0x42,\r
+0x64,0x80,0x94,0x81,0x50,0x11,0x05,0x43,0xE5,0x43,0x70,0x02,0x05,0x42,0xB2,0xC5,\r
+0x80,0x05,0xE4,0xF5,0x42,0xF5,0x43,0xD2,0xD8,0x90,0xF0,0x1F,0x74,0x01,0xF0,0x22,\r
+0xE5,0xC9,0x54,0x02,0x60,0x06,0x78,0x7F,0xE4,0xF6,0xD8,0xFD,0xE5,0xC9,0x54,0x02,\r
+0x60,0x11,0x90,0x00,0x00,0x7F,0x00,0x7E,0x10,0xE4,0xF0,0xA3,0x75,0x9E,0x55,0xDF,\r
+0xF9,0xDE,0xF7,0x02,0x16,0x21,0x00,0x00,0xE4,0xF5,0x41,0x90,0x09,0x00,0xE0,0xB4,\r
+0x01,0x08,0xC2,0x07,0xE4,0xF5,0x40,0xF5,0x41,0x22,0x90,0x09,0x00,0xE0,0xB4,0x02,\r
+0x06,0x12,0x13,0x93,0x8F,0x41,0x22,0xC2,0x07,0xE4,0xF5,0x40,0xF5,0x41,0x22,0x90,\r
+0x0F,0xFD,0x74,0xBB,0xF0,0x90,0x0A,0x01,0xE0,0x64,0xAA,0x60,0x05,0x75,0x9E,0x55,\r
+0x80,0xF3,0xE4,0x90,0x0A,0x01,0xF0,0x90,0x0F,0xFD,0xF0,0xD2,0xD8,0x90,0xF0,0x1F,\r
+0x04,0xF0,0xD2,0x02,0x22,0xE5,0xC9,0x20,0xE3,0x19,0xE5,0xC9,0x30,0xE0,0x08,0x90,\r
+0xF0,0x60,0x74,0xD1,0xF0,0x80,0x0C,0x12,0x1A,0xCB,0x12,0x1C,0x82,0x12,0x10,0x7F,\r
+0x12,0x1C,0x79,0xE4,0xF5,0xC9,0x22,0xC0,0xE0,0xC0,0x83,0xC0,0x82,0xD2,0x00,0x90,\r
+0xF0,0x1F,0xE4,0xF0,0xC2,0xD8,0xD0,0x82,0xD0,0x83,0xD0,0xE0,0x32,0xEE,0x30,0xE7,\r
+0x07,0xC3,0xE4,0x9F,0xFF,0xE4,0x9E,0xFE,0x22,0x75,0x91,0x01,0x75,0x89,0x01,0xD2,\r
+0xAC,0x22,0x75,0x86,0x08,0x75,0x84,0x9C,0xC2,0xA9,0x22,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x90,0x0F,0x2A,0x74,0x01,0xF0,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF9,0x40\r
+};\r
diff --git a/drivers/input/touchscreen/ct360_ts.c b/drivers/input/touchscreen/ct360_ts.c
new file mode 100644 (file)
index 0000000..f427ace
--- /dev/null
@@ -0,0 +1,719 @@
+/*
+ * drivers/input/touchscreen/gt801_ts.c
+ *
+ * Copyright (C) 2010 ROCKCHIP, Inc.
+ *
+ * This software is licensed under the terms of the GNU General Public
+ * License version 2, as published by the Free Software Foundation, and
+ * may be copied, distributed, and modified under those terms.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+#include <linux/module.h>
+#include <linux/delay.h>
+#include <linux/earlysuspend.h>
+#include <linux/hrtimer.h>
+#include <linux/i2c.h>
+#include <linux/input.h>
+#include <linux/interrupt.h>
+#include <linux/io.h>
+#include <linux/gpio.h>
+#include <mach/iomux.h>
+#include <mach/board.h>
+#include <linux/platform_device.h>
+#include <linux/async.h>
+#include <linux/workqueue.h>
+#include <linux/slab.h>
+#include <linux/input/mt.h>
+#include <asm/mach/time.h>
+#include "ct360_calib.h"
+#include "ct360_ch.h"
+
+#define CT360_DEBUG                    0
+#define MYCT360_DEBUG                 0
+
+#if CT360_DEBUG
+       #define ct360printk(msg...)     printk(msg);
+#else
+       #define ct360printk(msg...)
+#endif
+
+#if 0
+       #define  yj_printk(msg...)  printk(msg);
+#else
+       #define  yj_printk(msg...)
+#endif
+
+#if 0
+       #define  boot_printk(msg...)  printk(msg);
+#else
+       #define  boot_printk(msg...)
+#endif
+
+
+#if MYCT360_DEBUG
+       #define myct360printk(msg...)   printk(msg);
+#else
+       #define myct360printk(msg...)
+#endif
+
+static int touch_flag_up=0;
+static int touch_flag_down = 0;
+static int flag=0;
+static int last_num_point=1;
+
+static int last_x[2]={0,0};
+static int last_y[2]={0,0};
+
+#define ct360_TS_NAME "ct360_ts"
+#define TOUCH_NUMBER 5
+#define TOUCH_REG_NUM 4 
+#define IOMUX_NAME_SIZE 48
+
+enum regadd {
+       ptxh = 0, ptxl = 1, ptyh = 2, ptyl = 3, ptpressure = 4,
+};
+enum touchstate {
+       TOUCH_UP = 0, TOUCH_DOWN = 1,
+};
+
+
+
+const unsigned char GT801_RegData[]={  
+       0x0F,0x02,0x04,0x28,0x02,0x14,0x14,0x10,0x28,0xFA,0x03,0x20,0x05,0x00,0x01,
+       0x23,0x45,0x67,0x89,0xAB,0xCD,0xE1,0x00,0x00,0x35,0x2E,0x4D,0xC1,0x20,0x05,
+       0x00,0x80,0x50,0x3C,0x1E,0xB4,0x00,0x33,0x2C,0x01,0xEC,0x00,0x32,0x00,0x00,
+       0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01
+};
+
+/*tochscreen private data*/
+static int touch_state[TOUCH_NUMBER] = {TOUCH_UP,TOUCH_UP};
+struct ct360_ts_data  *ct360;
+#ifdef CONFIG_HAS_EARLYSUSPEND
+static void ct360_ts_early_suspend(struct early_suspend *h);
+static void ct360_ts_late_resume(struct early_suspend *h);
+#endif
+
+
+static int ct360_read_regs(struct i2c_client *client, u8 buf[], unsigned len)
+{
+       int ret;
+       ret = i2c_master_normal_recv(client, buf, len, 400*1000);
+       if(ret < 0)
+               printk("ct360_ts_work_func:i2c_transfer fail =%d\n",ret);
+       return ret;
+}
+/* set the ct360 registe,used i2c bus*/
+static int ct360_write_regs(struct i2c_client *client, u8 const buf[], unsigned short len)
+{
+       int ret;
+       ret = i2c_master_normal_send(client, buf, len, 100*1000);
+       if (ret < 0) {
+         printk("ct360_ts_work_func:i2c_transfer fail =%d\n",ret);
+    }
+       return ret;
+}
+
+extern char Binary_Data[16384]; 
+
+char CT360_CTP_BootLoader(struct ct360_ts_data *ts)
+{
+       char value = 0;
+       char I2C_Buf[16] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
+       char i = 0;
+       unsigned int Flash_Address = 0;
+       char CheckSum;
+
+       //Step 00 : initBootLoader
+       ts->client->addr = 0x7F;
+       I2C_Buf[0] = 0x00;
+       I2C_Buf[1] = 0xA5;
+       ct360_write_regs(ts->client,I2C_Buf,2); // Write a ¡°A5H¡± to CT360
+       mdelay(15);
+
+       // Read CT360 status
+       i2c_master_normal_send(ts->client,I2C_Buf,1,100*1000);  
+       mdelay(1);
+       i2c_master_normal_recv(ts->client,&value,1,100*1000);
+
+       boot_printk("%s......0...\n",__FUNCTION__);
+       // if return ¡°AAH¡± then going next step
+       if (value != 0xAA)
+               return 0;
+       boot_printk("%s......1...\n",__FUNCTION__);
+       //Step 0 : force CT360 generate check sum for host to compare data.
+       //VTL_Address = 0x00A4
+       //Prepare get check sum from CT360
+       I2C_Buf[0] = 0x00;
+       I2C_Buf[1] = 0x99; //Generate check sum command
+       I2C_Buf[2] = (char)(0x00A4 >> 8); //define a flash address for CT360 to generate check sum
+       I2C_Buf[3] = (char)(0x00A4 & 0xFF); //
+       I2C_Buf[4] = 0x08; //Define a data length for CT360 to generate check sum
+       ct360_write_regs(ts->client,I2C_Buf, 5); //Write Genertate check sum command to CT360
+       mdelay(2); //Delay 1mS
+       
+       I2C_Buf[0] = 0x00;
+       ct360_write_regs(ts->client,I2C_Buf,1); 
+       mdelay(1);
+       i2c_master_normal_recv(ts->client,I2C_Buf, 13,100*1000); // Read check sum and flash data from CT360
+
+       //Compare host check sum with CT360 check sum(I2C_Buf[5]  I2C_Buf[9] )
+       if ((I2C_Buf[5] != 'V') || (I2C_Buf[9] != 'T'))
+               return 0;       
+       boot_printk("%s......2..\n",__FUNCTION__);
+       //Step 1 : initBootLoader
+       I2C_Buf[0] = 0x00;
+       I2C_Buf[1] = 0xA5;
+       ct360_write_regs(ts->client,I2C_Buf,2); // Write a ¡°A5H¡± to CT360
+       mdelay(15);
+
+       I2C_Buf[0] = 0x00;
+       ct360_write_regs(ts->client,I2C_Buf,1); // Write a ¡°A5H¡± to CT360
+       mdelay(1);
+       i2c_master_normal_recv(ts->client,&value, 1,100*1000);
+
+
+       // if return ¡°AAH¡± then going next step
+       if (value != 0xAA)
+       return 0;
+
+       boot_printk("%s......3...\n",__FUNCTION__);
+       //Step 2 : erase flash section 0~7
+       for(i = 0; i<8; i++)
+       {
+               I2C_Buf[0] = 0x00;
+               I2C_Buf [1] = 0x33; //Erase command
+               I2C_Buf [2] = 0x00 + (i * 8); //Flash section address
+               ct360_write_regs(ts->client,I2C_Buf, 3); //Write ¡°33H¡± and ¡°Flash section¡± to CT360
+               mdelay(80); //Delay 75mS
+
+               I2C_Buf[0] = 0x00;
+               ct360_write_regs(ts->client,I2C_Buf,1); // Write a ¡°A5H¡± to CT360
+               mdelay(1);
+               i2c_master_normal_recv(ts->client,&value, 1,100*1000);
+
+               // if CT360 return ¡°AAH¡± then going next step
+               if (value != 0xAA)
+                       return 0; //CT360 out of controlled
+       }
+       boot_printk("%s......4...\n",__FUNCTION__);
+       
+       for (Flash_Address=0; Flash_Address < 0x3fff; Flash_Address+=8)
+       {
+               //Step 3 : write binary data to CT360
+               I2C_Buf[0] = 0x00;
+               I2C_Buf[1] = 0x55; //Flash write command
+               I2C_Buf[2] = (char)(Flash_Address >> 8); //Flash address [15:8]
+               I2C_Buf[3] = (char)(Flash_Address & 0xFF); //Flash address [7:0]
+               I2C_Buf[4] = 0x08; //How many prepare to write to CT360
+               I2C_Buf[6] = Binary_Data[Flash_Address + 0]; //Binary data 1
+               I2C_Buf[7] = Binary_Data[Flash_Address + 1]; //Binary data 2
+               I2C_Buf[8] = Binary_Data[Flash_Address + 2]; //Binary data 3
+               I2C_Buf[9] = Binary_Data[Flash_Address + 3]; //Binary data 4
+               I2C_Buf[10] = Binary_Data[Flash_Address + 4]; //Binary data 5
+               I2C_Buf[11] = Binary_Data[Flash_Address + 5]; //Binary data 6
+               I2C_Buf[12] = Binary_Data[Flash_Address + 6]; //Binary data 7
+               I2C_Buf[13] = Binary_Data[Flash_Address + 7]; //Binary data 8
+               // Calculate a check sum by Host controller.
+               // Checksum = / (FLASH_ADRH+FLASH_ADRL+LENGTH+
+               // Binary_Data1+Binary_Data2+Binary_Data3+Binary_Data4+
+               // Binary_Data5+Binary_Data6+Binary_Data7+Binary_Data8) + 1
+               CheckSum = ~(I2C_Buf[2] + I2C_Buf[3] + I2C_Buf[4] + I2C_Buf[6] + I2C_Buf[7] +
+               I2C_Buf[8] + I2C_Buf[9] + I2C_Buf[10] + I2C_Buf[11] + I2C_Buf[12] +
+               I2C_Buf[13]) + 1;
+               I2C_Buf[5] = CheckSum; //Load check sum
+               ct360_write_regs(ts->client,I2C_Buf, 14); //Host write I2C_Buf[0¡­12] to CT360.
+               mdelay(2); //Delay 2mS
+
+               I2C_Buf[0] = 0x00;
+               ct360_write_regs(ts->client,I2C_Buf,1); // Write a ¡°A5H¡± to CT360
+               mdelay(2);
+               i2c_master_normal_recv(ts->client,&value, 1,100*1000);
+
+// if return ¡°AAH¡± then going next step
+               if (value != 0xAA)
+                               return 0;       
+       
+       
+               //Step 4 : force CT360 generate check sum for host to compare data.
+               //Prepare get check sum from CT360
+               I2C_Buf[0] = 0x00;
+               I2C_Buf[1] = 0x99; //Generate check sum command
+               I2C_Buf[2] = (char)(Flash_Address >> 8); //define a flash address for CT360 to generate check sum
+               I2C_Buf[3] = (char)(Flash_Address & 0xFF); //
+               I2C_Buf[4] = 0x08; //Define a data length for CT360 to generate check sum
+               ct360_write_regs(ts->client,I2C_Buf, 5); //Write Genertate check sum command to CT360
+               mdelay(5); //Delay 1mS
+               I2C_Buf[0] = 0x00;
+               ct360_write_regs(ts->client,I2C_Buf,1); 
+               mdelay(1);
+               i2c_master_normal_recv(ts->client,I2C_Buf, 13,100*1000); // Read check sum and flash dat        //Compare host check sum with CT360 check sum(I2C_Buf[4])
+
+               if (I2C_Buf[4] != CheckSum)
+                       return 0;
+                                       
+       }
+       
+       boot_printk("%s.....7..Flash_Address=%4x.\n",__FUNCTION__,Flash_Address);
+       ts->client->addr = 0x01;
+       boot_printk("%s.....7...%d\n",__FUNCTION__,ts->client->addr);
+                               return 1; // Boot loader function is completed.
+               
+       } 
+
+/*read the ct360 register ,used i2c bus*/
+
+static int ct360_init_panel(struct ct360_ts_data *ts)
+{
+    return 0;
+}
+
+static void report_value(int x,int y,struct ct360_ts_data *ts)
+{
+       myct360printk("%s(%d,%d)\n", __FUNCTION__,x, y);
+       //if((x>ts->x_max)||(y>ts->y_max))
+       //      return;
+       myct360printk("x=%d,y=%d,swap=%d\n",x,y,ts->swap_xy);
+       if (ts->swap_xy){
+               swap(x, y);
+       }
+       if((x==0)||(y==0))
+               return;
+       input_report_abs(ts->input_dev, ABS_MT_TOUCH_MAJOR, 1); //Finger Size
+       input_report_abs(ts->input_dev, ABS_MT_POSITION_X, x);
+       input_report_abs(ts->input_dev, ABS_MT_POSITION_Y, y);
+       input_report_abs(ts->input_dev, ABS_MT_WIDTH_MAJOR, 1); //Touch Size
+       input_mt_sync(ts->input_dev);
+       
+}
+
+static void ct360_ts_work_func(struct work_struct *work)
+{
+       //struct timespec now;
+    //now = current_kernel_time();//(&now);
+       //printk("now %lu:%lu\n",now.tv_sec,now.tv_nsec);
+       
+       unsigned short x = 0;
+       unsigned short y = 0;
+       int i,ret,syn_flag = 0;
+       char toatl_num = 0;
+       int bufLen = 0;
+       unsigned char buf[TOUCH_REG_NUM*TOUCH_NUMBER+1] = {0};
+       int point_status;
+       int point_id;
+       int touch_state_index=0;
+       int pendown = 0;
+       struct ct360_ts_data *ts = container_of(work, struct ct360_ts_data, work);
+       //printk("before read the gpio_get_value(ts->client->irq) is %d\n",gpio_get_value(ts->client->irq));
+       
+       ret= ct360_read_regs(ts->client, buf, 20);//only one data  represent the current touch num
+       if (ret < 0) {
+               printk("%s:i2c_transfer fail =%d\n", __FUNCTION__, toatl_num);
+               //enable_irq(ts->irq);
+               return;
+       }
+
+    for (i = 0; i < 20; i += TOUCH_REG_NUM)
+    {
+               point_status = buf[i + 3] & 0x0F;
+               //if (point_status != 0)
+               {
+                       point_id = buf[i+3] >> 4;
+                       if((point_status == 1) || (point_status == 2)) {
+                               x = (((s16)buf[i] << 4)|((s16)buf[i+2] >> 4));
+                               y = (((s16)buf[i+1] << 4)|((s16)buf[i+2] & 0x0f));
+                               printk("x=%d,y=%d\n",x,y);
+                               printk("buf: 0x%02x, 0x%02x, 0x%02x, 0x%02x\n", buf[i], buf[i+1], buf[i+2], buf[i+3]);
+                               input_mt_slot(ts->input_dev, point_id);
+                               input_mt_report_slot_state(ts->input_dev, MT_TOOL_FINGER, true);
+                               input_report_abs(ts->input_dev, ABS_MT_TRACKING_ID, point_id);
+                               input_report_abs(ts->input_dev, ABS_MT_TOUCH_MAJOR, 100); //Finger Size
+                               input_report_abs(ts->input_dev, ABS_MT_POSITION_X, x);
+                               input_report_abs(ts->input_dev, ABS_MT_POSITION_Y, y);
+                               input_report_abs(ts->input_dev, ABS_MT_WIDTH_MAJOR, 100); //Touch Size
+                       
+                               syn_flag = 1;
+                       //      touch_state[touch_state_index] = TOUCH_DOWN;
+                               //printk("TOUCH_DOWN\n");
+                       //      last_x[touch_state_index]=x;
+                       //      last_y[touch_state_index]=y;
+                       //   pendown = 1;
+                       
+                       } else if(point_status == 3 || point_status == 0) {
+                               //if(touch_state[touch_state_index] == TOUCH_DOWN){
+                                       //ct360printk("%s:%d touch up\n",__FUNCTION__,i);
+                                       input_mt_slot(ts->input_dev, point_id);
+                                       input_mt_report_slot_state(ts->input_dev, MT_TOOL_FINGER, false);
+                                       input_report_abs(ts->input_dev, ABS_MT_TRACKING_ID, -1);
+                                       syn_flag = 1;
+                                       touch_state[touch_state_index] = TOUCH_UP;
+                                       //printk("TOUCH_UP:%d\n", point_id);
+               //              }
+                       }
+               }
+       }
+       if(syn_flag)
+               input_sync(ts->input_dev);
+    
+out:
+       //printk("the gpio_get_value(ts->client->irq) is %d\n",gpio_get_value(ts->client->irq));
+       //if(pendown==1)
+       //{
+       //      queue_delayed_work(ts->ct360_wq, &ts->work, msecs_to_jiffies(15));
+               //pendown = 0;
+       //}
+       //else
+//             enable_irq(ts->irq);
+       
+       return;
+}
+
+static irqreturn_t ct360_ts_irq_handler(int irq, void *dev_id)
+{
+    struct ct360_ts_data *ts = dev_id;
+       //printk("the ts->irq is %d   ts->client->addr=%d\n",gpio_get_value(ts->irq),ts->client->addr);
+//    disable_irq_nosync(ts->irq);
+       
+    queue_work(ts->ct360_wq, &ts->work);
+
+    return IRQ_HANDLED;
+}
+
+static int ct360_chip_Init(struct i2c_client *client)
+{
+       int ret=0;
+       u8 start_reg=0x00;
+       unsigned char status;
+       printk("enter ct360_chip_Init!!!!\n");
+       u8 buf0[2];
+       buf0[0] = 0xA5;
+       client->addr = 0x01;
+       ret = i2c_master_reg8_send(client, start_reg, buf0, 1, 200*1000);
+       msleep(10);
+       u8 buf1[2];
+       buf1[0] = 0x00;
+       ret = i2c_master_reg8_send(client, start_reg, buf1, 1, 200*1000);
+       msleep(2);
+       if(ret<0){
+               printk("\n--%s--Set Register values error !!!\n",__FUNCTION__);
+       }
+       i2c_master_reg8_recv(client,start_reg,&status,1,200*1000);
+       printk("the status is %x",status);
+       if(status != 0xAA)
+       {
+          printk("the status11 is %x",status);
+       }
+       
+       return ret;
+}
+
+static int ct360_ts_probe(struct i2c_client *client, const struct i2c_device_id *id)
+{
+    struct ct360_ts_data *ts;
+       struct ct360_platform_data      *pdata = client->dev.platform_data;
+    int ret = 0;
+       char loader_buf[3] = {0xfF,0x0f,0x2A};
+       char boot_buf = 0;
+       char boot_loader[2] = {0};
+
+    ct360printk("%s \n",__FUNCTION__);
+       
+    if (!pdata) {
+               dev_err(&client->dev, "empty platform_data\n");
+               goto err_check_functionality_failed;
+    }
+    if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
+        printk(KERN_ERR "ct360_ts_probe: need I2C_FUNC_I2C\n");
+        ret = -ENODEV;
+        goto err_check_functionality_failed;
+    }
+       
+    ts = kzalloc(sizeof(*ts), GFP_KERNEL);
+    if (ts == NULL) {
+        ret = -ENOMEM;
+        goto err_alloc_data_failed;
+    }
+
+    ts->ct360_wq = create_singlethread_workqueue("ct360_wq");
+    if (!ts->ct360_wq){
+               printk(KERN_ERR"%s: create workqueue failed\n", __func__);
+               ret = -ENOMEM;
+               goto err_input_dev_alloc_failed;
+       }
+
+    INIT_WORK(&ts->work, ct360_ts_work_func);
+    ts->client = client;
+    i2c_set_clientdata(client, ts);
+       
+       if(pdata->hw_init)
+               pdata->hw_init();
+
+       if(pdata->shutdown){
+               pdata->shutdown(1);
+               mdelay(5);
+               pdata->shutdown(0);
+               mdelay(20);
+               pdata->shutdown(1);
+               mdelay(20);
+       }
+       
+#if 0
+
+       //¼Ó40msÑÓʱ£¬·ñÔò¶ÁÈ¡³ö´í¡£¡£
+       mdelay(20);
+       mdelay(20);
+       ret=ct360_write_regs(client,loader_buf, 3);     
+       if(ret<0){
+               printk("\n--%s--Set Register values error !!!\n",__FUNCTION__);
+       }
+
+       mdelay(1);
+       printk("%s...........%d\n",__FUNCTION__,boot_buf);
+       ret = i2c_master_normal_send(client,boot_loader,1,100*1000);
+       if(ret < 0)
+               printk("ct360_ts_probe:sdf  i2c_transfer fail =%d\n",ret);
+       else
+               printk("%s.............ok\n",__FUNCTION__);     
+
+       mdelay(2);
+       ret = ct360_read_regs(client,&boot_buf,1);
+       printk("%s....3......%x\n",__FUNCTION__,boot_buf);
+       
+       if(ret < 0)
+               printk("ct360_ts_probe:i2c_transfer fail =%d\n",ret);
+       else
+               printk("%s.............boot_buf=%d\n",__FUNCTION__,boot_buf);
+
+       if ((abs(Binary_Data[16372]-boot_buf) >= 1) && (abs(Binary_Data[16372]-boot_buf) <= 2))
+       {
+               printk("start Bootloader ...........boot_Buf=%x.....%d......%x..........TP \n\n",boot_buf,(Binary_Data[16372]-boot_buf),Binary_Data[16372]);
+               ret = CT360_CTP_BootLoader(ts);
+               if (ret == 1)
+                       printk("TP Bootloader success\n");
+               else
+                       printk("TP Bootloader failed  ret=%d\n",ret);
+               printk("stop Bootloader.................................TP \n\n");
+       }
+       else
+       {
+               printk("Don't need bootloader.skip it %x \n",Binary_Data[16372]);
+       }
+#endif
+       ts->client->addr = 0x01;
+       if(pdata->shutdown){
+               pdata->shutdown(1);
+               mdelay(5);
+               pdata->shutdown(0);
+               mdelay(20);
+               pdata->shutdown(1);
+               mdelay(30);
+       }
+
+       ts->client->addr = 0x01;
+       //ret=ct360_chip_Init(ts->client);
+       //if(ret<0)
+       //{
+       //      printk("%s:chips init failed\n",__FUNCTION__);
+       //      goto err_input_dev_alloc_failed;
+       //}
+
+
+       
+    /* allocate input device */
+    ts->input_dev = input_allocate_device();
+    if (ts->input_dev == NULL) {
+        ret = -ENOMEM;
+        printk(KERN_ERR "%s: Failed to allocate input device\n",__FUNCTION__);
+        goto err_input_dev_alloc_failed;
+    }
+       
+       ts->x_max = pdata->x_max;
+       ts->y_max = pdata->y_max;
+       ts->swap_xy = 1;
+       ts->input_dev->name = ct360_TS_NAME;
+       ts->input_dev->dev.parent = &client->dev;
+
+    __set_bit(EV_ABS, ts->input_dev->evbit);
+    __set_bit(EV_KEY, ts->input_dev->evbit);
+    __set_bit(EV_REP,  ts->input_dev->evbit);
+    __set_bit(INPUT_PROP_DIRECT, ts->input_dev->propbit);
+    set_bit(ABS_MT_POSITION_X, ts->input_dev->absbit);
+    set_bit(ABS_MT_POSITION_Y, ts->input_dev->absbit);
+    set_bit(ABS_MT_TOUCH_MAJOR, ts->input_dev->absbit);
+    set_bit(ABS_MT_WIDTH_MAJOR, ts->input_dev->absbit);
+    
+    input_mt_init_slots(ts->input_dev, 5);    
+    input_set_abs_params(ts->input_dev,ABS_MT_POSITION_X, 0, ts->x_max, 0, 0);
+    input_set_abs_params(ts->input_dev,ABS_MT_POSITION_Y, 0, ts->y_max, 0, 0);
+    input_set_abs_params(ts->input_dev,ABS_MT_TOUCH_MAJOR, 0, 255, 0, 0);
+    input_set_abs_params(ts->input_dev,ABS_MT_WIDTH_MAJOR, 0, 200, 0, 0);
+
+    ret = input_register_device(ts->input_dev);
+    if (ret) {
+        printk(KERN_ERR "%s: Unable to register %s input device\n", __FUNCTION__,ts->input_dev->name);
+        goto err_input_register_device_failed;
+    }
+
+       ts->irq = gpio_to_irq(client->irq);
+       ret = request_irq(ts->irq, ct360_ts_irq_handler, IRQF_TRIGGER_FALLING, client->name, ts);
+       if (ret){
+               printk("!!! ct360 request_irq failed\n");
+               goto err_input_register_device_failed;
+       }
+       
+#ifdef CONFIG_HAS_EARLYSUSPEND
+    ts->early_suspend.level = EARLY_SUSPEND_LEVEL_BLANK_SCREEN + 1;
+    ts->early_suspend.suspend = ct360_ts_early_suspend;
+    ts->early_suspend.resume = ct360_ts_late_resume;
+    register_early_suspend(&ts->early_suspend);
+#endif
+    printk(KERN_INFO "%s: probe ok  ts->client->addr=%d!!\n", __FUNCTION__,ts->client->addr);
+
+    return 0;
+
+err_input_register_device_failed:
+    input_free_device(ts->input_dev);
+err_input_dev_alloc_failed:
+       kfree(ts);
+err_alloc_data_failed:
+err_check_functionality_failed:
+       
+    return ret;
+}
+
+static int ct360_ts_remove(struct i2c_client *client)
+{
+    struct ct360_ts_data *ts = i2c_get_clientdata(client);
+    unregister_early_suspend(&ts->early_suspend);
+       free_irq(ts->irq, ts);
+    input_unregister_device(ts->input_dev);
+    if (ts->ct360_wq)
+        destroy_workqueue(ts->ct360_wq);
+
+    kfree(ts);
+    return 0;
+}
+
+static int ct360_ts_suspend(struct i2c_client *client, pm_message_t mesg)
+{
+    struct ct360_ts_data *ts = i2c_get_clientdata(client);
+    struct ct360_platform_data *pdata = client->dev.platform_data;
+       int ret,i;
+    printk("ct360 TS Suspend\n");
+       //if(pdata->shutdown)
+       //      pdata->shutdown(1);
+       
+    disable_irq(ts->irq);
+    cancel_work_sync(&ts->work);
+       
+       char buf[3] = {0xff,0x0f,0x2b};
+       char buf1[2]={0x00,0x00};
+       //for(i=0;i<3;i++)
+       //{
+               ret = i2c_master_normal_send(client,buf,3,100*1000);
+               if(ret<0)
+               {
+                       printk("ct360_ts supend fail!\n");
+               }
+       //}
+       mdelay(1);
+       ret = i2c_master_normal_send(client,buf1,2,100*1000);
+       if(ret<0)
+       {
+               printk("ct360_ts supend fail!!!\n");
+       }
+
+       //printk("the buf1 is %x\n",buf[0]);
+       //gpio_set_value(ts->gpio_reset, ts->gpio_reset_active_low? GPIO_LOW:GPIO_HIGH);
+       
+    return 0;
+}
+
+static int ct360_ts_resume(struct i2c_client *client)
+{
+    struct ct360_ts_data *ts = i2c_get_clientdata(client);
+    struct ct360_platform_data *pdata = client->dev.platform_data;
+   // if(pdata->shutdown)
+       //      pdata->shutdown(0);
+       
+    //ct360_init_panel(ts);
+    
+    printk("ct360 TS Resume\n");
+       if(pdata->shutdown){
+               pdata->shutdown(1);
+               mdelay(5);
+               pdata->shutdown(0);
+               mdelay(20);
+               pdata->shutdown(1);
+               mdelay(5);
+       }
+//     gpio_set_value(ts->gpio_reset, ts->gpio_reset_active_low? GPIO_HIGH:GPIO_LOW);
+//     msleep(50);
+
+       //printk("enabling IRQ %d\n", ts->irq);
+       enable_irq(ts->irq);
+       msleep(50);
+    return 0;
+}
+
+#ifdef CONFIG_HAS_EARLYSUSPEND
+static void ct360_ts_early_suspend(struct early_suspend *h)
+{
+       //#if 1
+    struct ct360_ts_data *ts;
+   //printk("======%s======\n",__FUNCTION__);
+    ts = container_of(h, struct ct360_ts_data, early_suspend);
+    ct360_ts_suspend(ts->client, PMSG_SUSPEND);
+       //#endif
+}
+
+static void ct360_ts_late_resume(struct early_suspend *h)
+{
+       #if 1
+    struct ct360_ts_data *ts;
+    ts = container_of(h, struct ct360_ts_data, early_suspend);
+    ct360_ts_resume(ts->client);
+       #endif
+}
+#endif
+
+static const struct i2c_device_id ct360_ts_id[] = {
+    { ct360_TS_NAME, 0 },
+    { }
+};
+
+static struct i2c_driver ct360_ts_driver = {
+    .probe      = ct360_ts_probe,
+    .remove     = ct360_ts_remove,
+#ifndef CONFIG_HAS_EARLYSUSPEND
+    .suspend    = ct360_ts_suspend,
+    .resume     = ct360_ts_resume,
+#endif
+    .id_table   = ct360_ts_id,
+    .driver = {
+        .name   = ct360_TS_NAME,
+    },
+};
+
+static int __devinit ct360_ts_init(void)
+{
+    printk("%s\n",__FUNCTION__);
+
+    return i2c_add_driver(&ct360_ts_driver);
+}
+
+static void __exit ct360_ts_exit(void)
+{
+    printk("%s\n",__FUNCTION__);
+    i2c_del_driver(&ct360_ts_driver);
+}
+
+late_initcall_sync(ct360_ts_init);
+module_exit(ct360_ts_exit);
+
+MODULE_DESCRIPTION("ct360 Touchscreen Driver");
+MODULE_LICENSE("GPL");